summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--components/drivers/usb/usbdevice/class/ecm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/components/drivers/usb/usbdevice/class/ecm.c b/components/drivers/usb/usbdevice/class/ecm.c
index d6d98478f8..575da357e5 100644
--- a/components/drivers/usb/usbdevice/class/ecm.c
+++ b/components/drivers/usb/usbdevice/class/ecm.c
@@ -644,12 +644,16 @@ ufunction_t rt_usbd_function_ecm_create(udevice_t device)
_ecm_eth->host_addr[4] = 0xEC;//*(const rt_uint8_t *)(0x1fff7a14);
_ecm_eth->host_addr[5] = 0xAB;//*(const rt_uint8_t *)(0x1fff7a18);
+#ifdef RT_USING_DEVICE_OPS
+ _ecm_eth->parent.parent.ops = &ecm_device_ops;
+#else
_ecm_eth->parent.parent.init = rt_ecm_eth_init;
_ecm_eth->parent.parent.open = rt_ecm_eth_open;
_ecm_eth->parent.parent.close = rt_ecm_eth_close;
_ecm_eth->parent.parent.read = rt_ecm_eth_read;
_ecm_eth->parent.parent.write = rt_ecm_eth_write;
_ecm_eth->parent.parent.control = rt_ecm_eth_control;
+#endif
_ecm_eth->parent.parent.user_data = device;
_ecm_eth->parent.eth_rx = rt_ecm_eth_rx;