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;