diff --git a/components/drivers/phy/phy.c b/components/drivers/phy/phy.c index 87152a306e..8e91aea99f 100644 --- a/components/drivers/phy/phy.c +++ b/components/drivers/phy/phy.c @@ -60,7 +60,7 @@ rt_err_t rt_hw_phy_register(struct rt_phy_device *phy, const char *name) device->tx_complete = RT_NULL; #ifdef RT_USING_DEVICE_OPS - device->ops = phy_ops; + device->ops = &phy_ops; #else device->init = NULL; device->open = NULL; diff --git a/components/drivers/usb/usbdevice/class/cdc_vcom.c b/components/drivers/usb/usbdevice/class/cdc_vcom.c index 3564330578..1a24b79f2e 100644 --- a/components/drivers/usb/usbdevice/class/cdc_vcom.c +++ b/components/drivers/usb/usbdevice/class/cdc_vcom.c @@ -10,11 +10,11 @@ * 2013-06-25 heyuanjie87 remove SOF mechinism * 2013-07-20 Yi Qiu do more test * 2016-02-01 Urey Fix some error + * 2021-10-14 mazhiyuan Fix some error */ #include #include -#include #include "drivers/usb_device.h" #include "cdc.h" @@ -738,7 +738,7 @@ static rt_size_t _vcom_rb_block_put(struct vcom *data, const rt_uint8_t *buf, rt return size; } -static rt_size_t _vcom_tx(struct rt_serial_device *serial, rt_uint8_t *buf, rt_size_t size,int direction) +static rt_size_t _vcom_tx(struct rt_serial_device *serial, rt_uint8_t *buf, rt_size_t size,rt_uint32_t direction) { struct ufunction *func; struct vcom *data; @@ -939,8 +939,12 @@ static void rt_usb_vcom_init(struct ufunction *func) config.parity = PARITY_NONE; config.bit_order = BIT_ORDER_LSB; config.invert = NRZ_NORMAL; +#if defined(RT_USING_SERIAL_V1) config.bufsz = CDC_RX_BUFSIZE; - +#elif defined(RT_USING_SERIAL_V2) + config.rx_bufsz = CDC_RX_BUFSIZE; + config.tx_bufsz = CDC_TX_BUFSIZE; +#endif data->serial.ops = &usb_vcom_ops; data->serial.serial_rx = RT_NULL; data->serial.config = config; 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;