From 26ab85d50ca7c5a2ec19fa2290015ad980233dea Mon Sep 17 00:00:00 2001 From: mazhiyuan Date: Thu, 14 Oct 2021 10:28:19 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dphy=E4=B8=ADdevice->ops?= =?UTF-8?q?=E7=9A=84=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/drivers/phy/phy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; From 0a7280f161bb68fa23ea678fee4eda85646fe6f5 Mon Sep 17 00:00:00 2001 From: mazhiyuan Date: Thu, 14 Oct 2021 10:36:38 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BC=80=E5=90=AFRT=5FUS?= =?UTF-8?q?ING=5FDEVICE=5FOPS=E6=97=B6ecm.c=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/drivers/usb/usbdevice/class/ecm.c | 4 ++++ 1 file changed, 4 insertions(+) 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; From bc5744b1ba0dc5af6fc392fdd3ad5d2a00aca0c5 Mon Sep 17 00:00:00 2001 From: mazhiyuan Date: Thu, 14 Oct 2021 10:58:14 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dcdc=5Fvcom.c=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E4=B8=80=E4=BA=9B=E7=BC=96=E8=AF=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/drivers/usb/usbdevice/class/cdc_vcom.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/components/drivers/usb/usbdevice/class/cdc_vcom.c b/components/drivers/usb/usbdevice/class/cdc_vcom.c index 3564330578..a8440bf15f 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,7 +939,8 @@ static void rt_usb_vcom_init(struct ufunction *func) config.parity = PARITY_NONE; config.bit_order = BIT_ORDER_LSB; config.invert = NRZ_NORMAL; - config.bufsz = CDC_RX_BUFSIZE; + config.rx_bufsz = CDC_RX_BUFSIZE; + config.tx_bufsz = CDC_TX_BUFSIZE; data->serial.ops = &usb_vcom_ops; data->serial.serial_rx = RT_NULL; From f04941c95109257aa3ce8426bf4cd239f4d790da Mon Sep 17 00:00:00 2001 From: mazhiyuan Date: Thu, 14 Oct 2021 11:42:05 +0800 Subject: [PATCH 4/4] [cdc_vcom.c]adapt to both v1 and v2 of serial --- components/drivers/usb/usbdevice/class/cdc_vcom.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/drivers/usb/usbdevice/class/cdc_vcom.c b/components/drivers/usb/usbdevice/class/cdc_vcom.c index a8440bf15f..1a24b79f2e 100644 --- a/components/drivers/usb/usbdevice/class/cdc_vcom.c +++ b/components/drivers/usb/usbdevice/class/cdc_vcom.c @@ -939,9 +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;