From c45f48d4edc09431f4291c2ccec5cdb415b06359 Mon Sep 17 00:00:00 2001 From: yangjie Date: Mon, 31 Aug 2020 13:53:00 +0800 Subject: [PATCH 1/7] [components][pin.c]add rt_pin_get --- components/drivers/include/drivers/pin.h | 4 ++++ components/drivers/misc/pin.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/components/drivers/include/drivers/pin.h b/components/drivers/include/drivers/pin.h index ca354079329..6c308f36da2 100644 --- a/components/drivers/include/drivers/pin.h +++ b/components/drivers/include/drivers/pin.h @@ -74,10 +74,14 @@ struct rt_pin_ops rt_uint32_t mode, void (*hdr)(void *args), void *args); rt_err_t (*pin_detach_irq)(struct rt_device *device, rt_int32_t pin); rt_err_t (*pin_irq_enable)(struct rt_device *device, rt_base_t pin, rt_uint32_t enabled); + + rt_base_t (*pin_get)(char *name); }; int rt_device_pin_register(const char *name, const struct rt_pin_ops *ops, void *user_data); +/* Get pin number by name,such as PA.0,P0.12 */ +rt_base_t rt_pin_get(char *name); void rt_pin_mode(rt_base_t pin, rt_base_t mode); void rt_pin_write(rt_base_t pin, rt_base_t value); int rt_pin_read(rt_base_t pin); diff --git a/components/drivers/misc/pin.c b/components/drivers/misc/pin.c index aca58ee21ba..6302040c09c 100644 --- a/components/drivers/misc/pin.c +++ b/components/drivers/misc/pin.c @@ -151,3 +151,13 @@ int rt_pin_read(rt_base_t pin) return _hw_pin.ops->pin_read(&_hw_pin.parent, pin); } FINSH_FUNCTION_EXPORT_ALIAS(rt_pin_read, pinRead, read status from hardware pin); + +rt_base_t rt_pin_get(char *name) +{ + RT_ASSERT(_hw_pin.ops != RT_NULL); + RT_ASSERT(name[0] == 'P'); + + return _hw_pin.ops->pin_get(name); +} +FINSH_FUNCTION_EXPORT_ALIAS(rt_pin_get, pinGet, get pin number from hardware pin); + From 6c06afe2064097fecfa4a81d59424a8775cd3469 Mon Sep 17 00:00:00 2001 From: yangjie Date: Mon, 31 Aug 2020 14:14:11 +0800 Subject: [PATCH 2/7] [bsp][stm32][drv_gpio.c]achieve ops pin_get --- bsp/stm32/libraries/HAL_Drivers/drv_gpio.c | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c b/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c index fc4eb837436..1486153dfe9 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c +++ b/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c @@ -313,6 +313,51 @@ static const struct pin_index *get_pin(uint8_t pin) return index; }; +static rt_base_t stm32_pin_get(char *name) +{ + rt_base_t pin = 0; + int hw_port_num, hw_pin_num = 0; + int i, name_len = 1; + int mul = 1; + + name_len = rt_strlen(name); + + if ((name_len < 4) || (name_len >= 6)) + { + return -RT_EINVAL; + } + if ((name[0] != 'P') || (name[2] != '.')) + { + return -RT_EINVAL; + } + + if ((name[1] >= 'A') && (name[1] <= 'Z')) + { + hw_port_num = (int)(name[1] - 'A'); + } + else + { + return -RT_EINVAL; + } + + for (i = name_len - 1; i > 2; i--) + { + hw_pin_num += ((int)(name[i] - '0') * mul); + mul = mul * 10; + } + + pin = 16 * hw_port_num + hw_pin_num; + + if (pin < ITEM_NUM(pins)) + { + return pin; + } + else + { + return -RT_EINVAL; + } +} + static void stm32_pin_write(rt_device_t dev, rt_base_t pin, rt_base_t value) { const struct pin_index *index; @@ -627,6 +672,7 @@ const static struct rt_pin_ops _stm32_pin_ops = stm32_pin_attach_irq, stm32_pin_dettach_irq, stm32_pin_irq_enable, + stm32_pin_get, }; rt_inline void pin_irq_hdr(int irqno) From 965f352b5a97163bfba16bd220c2e25800926b3e Mon Sep 17 00:00:00 2001 From: yangjie Date: Mon, 31 Aug 2020 14:14:45 +0800 Subject: [PATCH 3/7] [bsp][lpc54114][drv_gpio.c]achieve ops pin_get --- bsp/lpc54114-lite/drivers/drv_gpio.c | 45 +++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/bsp/lpc54114-lite/drivers/drv_gpio.c b/bsp/lpc54114-lite/drivers/drv_gpio.c index 2e1b4de609f..cccadf4a9bc 100644 --- a/bsp/lpc54114-lite/drivers/drv_gpio.c +++ b/bsp/lpc54114-lite/drivers/drv_gpio.c @@ -38,6 +38,48 @@ struct rt_pin_irq_hdr pin_irq_hdr_tab[] = {-1, 0, RT_NULL, RT_NULL}, }; +static rt_base_t lpc_pin_get(char *name) +{ + rt_base_t pin = 0; + int hw_port_num, hw_pin_num = 0; + int i, name_len = 1; + int mul = 1; + + name_len = rt_strlen(name); + + if ((name_len < 4) || (name_len >= 6)) + { + return -RT_EINVAL; + } + if ((name[0] != 'P') || (name[2] != '.')) + { + return -RT_EINVAL; + } + + if ((name[1] >= '0') && (name[1] <= '9')) + { + hw_port_num = (int)(name[1] - '0'); + } + else + { + return -RT_EINVAL; + } + + for (i = name_len - 1; i > 2; i--) + { + hw_pin_num += ((int)(name[i] - '0') * mul); + mul = mul * 10; + } + + pin = 32 * hw_port_num + hw_pin_num; + + if ((pin > PIN_MAX_VAL) || (pin < 0)) + { + return -RT_EINVAL; + } + return pin; +} + /* Configure pin mode. pin 0~63 means PIO0_0 ~ PIO1_31 */ static void lpc_pin_mode(rt_device_t dev, rt_base_t pin, rt_base_t mode) { @@ -288,7 +330,8 @@ const static struct rt_pin_ops _lpc_pin_ops = lpc_pin_read, lpc_pin_attach_irq, lpc_pin_detach_irq, - lpc_pin_irq_enable, + lpc_pin_irq_enable, + lpc_pin_get, }; int rt_hw_pin_init(void) From b9e202055a89a3c096b2d24af6dfdb296023f2e3 Mon Sep 17 00:00:00 2001 From: yangjie Date: Mon, 31 Aug 2020 16:16:33 +0800 Subject: [PATCH 4/7] [components][pin]change the input parameter 'name' to const type. --- bsp/lpc54114-lite/drivers/drv_gpio.c | 2 +- bsp/stm32/libraries/HAL_Drivers/drv_gpio.c | 2 +- components/drivers/include/drivers/pin.h | 4 ++-- components/drivers/misc/pin.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bsp/lpc54114-lite/drivers/drv_gpio.c b/bsp/lpc54114-lite/drivers/drv_gpio.c index cccadf4a9bc..978fa2898e6 100644 --- a/bsp/lpc54114-lite/drivers/drv_gpio.c +++ b/bsp/lpc54114-lite/drivers/drv_gpio.c @@ -38,7 +38,7 @@ struct rt_pin_irq_hdr pin_irq_hdr_tab[] = {-1, 0, RT_NULL, RT_NULL}, }; -static rt_base_t lpc_pin_get(char *name) +static rt_base_t lpc_pin_get(const char *name) { rt_base_t pin = 0; int hw_port_num, hw_pin_num = 0; diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c b/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c index 1486153dfe9..e13d838803b 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c +++ b/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c @@ -313,7 +313,7 @@ static const struct pin_index *get_pin(uint8_t pin) return index; }; -static rt_base_t stm32_pin_get(char *name) +static rt_base_t stm32_pin_get(const char *name) { rt_base_t pin = 0; int hw_port_num, hw_pin_num = 0; diff --git a/components/drivers/include/drivers/pin.h b/components/drivers/include/drivers/pin.h index 6c308f36da2..21e4cd55c9d 100644 --- a/components/drivers/include/drivers/pin.h +++ b/components/drivers/include/drivers/pin.h @@ -75,13 +75,13 @@ struct rt_pin_ops rt_err_t (*pin_detach_irq)(struct rt_device *device, rt_int32_t pin); rt_err_t (*pin_irq_enable)(struct rt_device *device, rt_base_t pin, rt_uint32_t enabled); - rt_base_t (*pin_get)(char *name); + rt_base_t (*pin_get)(const char *name); }; int rt_device_pin_register(const char *name, const struct rt_pin_ops *ops, void *user_data); /* Get pin number by name,such as PA.0,P0.12 */ -rt_base_t rt_pin_get(char *name); +rt_base_t rt_pin_get(const char *name); void rt_pin_mode(rt_base_t pin, rt_base_t mode); void rt_pin_write(rt_base_t pin, rt_base_t value); int rt_pin_read(rt_base_t pin); diff --git a/components/drivers/misc/pin.c b/components/drivers/misc/pin.c index 6302040c09c..a16882e35bd 100644 --- a/components/drivers/misc/pin.c +++ b/components/drivers/misc/pin.c @@ -152,7 +152,7 @@ int rt_pin_read(rt_base_t pin) } FINSH_FUNCTION_EXPORT_ALIAS(rt_pin_read, pinRead, read status from hardware pin); -rt_base_t rt_pin_get(char *name) +rt_base_t rt_pin_get(const char *name) { RT_ASSERT(_hw_pin.ops != RT_NULL); RT_ASSERT(name[0] == 'P'); From 92ec6afa0b2bc8444443d432c5e07a1f0bed7543 Mon Sep 17 00:00:00 2001 From: yangjie Date: Mon, 7 Sep 2020 15:40:12 +0800 Subject: [PATCH 5/7] =?UTF-8?q?[bsp][w60x]=E5=AE=8C=E5=96=84pin=E9=A9=B1?= =?UTF-8?q?=E5=8A=A8=E4=B8=ADrt=5Fpin=5Fops=E6=88=90=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/w60x/drivers/drv_pin.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bsp/w60x/drivers/drv_pin.c b/bsp/w60x/drivers/drv_pin.c index e55087c44f8..7dae2e26dd4 100644 --- a/bsp/w60x/drivers/drv_pin.c +++ b/bsp/w60x/drivers/drv_pin.c @@ -153,7 +153,8 @@ struct rt_pin_ops _wm_pin_ops = wm_pin_read, wm_pin_attach_irq, wm_pin_detach_irq, - wm_pin_irq_enable + wm_pin_irq_enable, + RT_NULL, }; int wm_hw_pin_init(void) From 64718219afff91bd7532bb675dac75ed91d85368 Mon Sep 17 00:00:00 2001 From: yangjie Date: Mon, 7 Sep 2020 15:41:43 +0800 Subject: [PATCH 6/7] =?UTF-8?q?[components][pin.c]=E5=AF=B9pin=5Fget=20ops?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=98=AF=E5=90=A6null=E7=9A=84=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/drivers/misc/pin.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/components/drivers/misc/pin.c b/components/drivers/misc/pin.c index a16882e35bd..2750f5105a6 100644 --- a/components/drivers/misc/pin.c +++ b/components/drivers/misc/pin.c @@ -156,6 +156,11 @@ rt_base_t rt_pin_get(const char *name) { RT_ASSERT(_hw_pin.ops != RT_NULL); RT_ASSERT(name[0] == 'P'); + + if(_hw_pin.ops->pin_get == RT_NULL) + { + return -RT_ENOSYS; + } return _hw_pin.ops->pin_get(name); } From e1b8f969d9cc11eccf91fe5a37ed899285e646cd Mon Sep 17 00:00:00 2001 From: yangjie Date: Fri, 11 Sep 2020 10:48:20 +0800 Subject: [PATCH 7/7] =?UTF-8?q?[driver][pin]=E6=89=80=E6=9C=89=E7=9A=84rt?= =?UTF-8?q?=5Fpin=5Fops=E5=88=9D=E5=A7=8B=E5=8C=96=5Fpin=5Fget?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/allwinner_tina/drivers/drv_gpio.c | 1 + bsp/apollo2/board/gpio.c | 1 + bsp/at32/Libraries/rt_drivers/drv_gpio.c | 1 + bsp/beaglebone/drivers/gpio.c | 4 ++++ bsp/essemi/es32f0271/drivers/drv_gpio.c | 1 + bsp/essemi/es32f0334/drivers/drv_gpio.c | 1 + bsp/essemi/es32f0654/drivers/drv_gpio.c | 1 + bsp/essemi/es32f369x/drivers/drv_gpio.c | 1 + bsp/essemi/es8p508x/drivers/drv_gpio.c | 1 + bsp/gd32303e-eval/drivers/drv_gpio.c | 1 + bsp/gd32e230k-start/drivers/drv_gpio.c | 1 + bsp/gd32vf103v-eval/drivers/drv_gpio.c | 1 + bsp/imxrt/libraries/drivers/drv_gpio.c | 3 ++- bsp/k210/driver/drv_gpio.c | 3 ++- bsp/lpc55sxx/Libraries/drivers/drv_pin.c | 1 + bsp/ls1cdev/drivers/drv_gpio.c | 3 ++- bsp/ls2kdev/drivers/drv_gpio.c | 1 + bsp/mm32l3xx/drivers/drv_gpio.c | 1 + bsp/nrf5x/libraries/drivers/drv_gpio.c | 1 + bsp/nuclei/libraries/gd32vf103/HAL_Drivers/drv_gpio.c | 1 + bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.c | 3 ++- bsp/raspberry-pi/raspi3-32/driver/drv_gpio.c | 1 + bsp/raspberry-pi/raspi3-64/driver/drv_gpio.c | 1 + bsp/raspberry-pi/raspi4-32/driver/drv_gpio.c | 1 + bsp/raspberry-pi/raspi4-64/driver/drv_gpio.c | 1 + bsp/rv32m1_vega/ri5cy/driver/drv_gpio.c | 3 ++- bsp/swm320-lq100/drivers/drv_gpio.c | 3 ++- bsp/tm4c123bsp/libraries/Drivers/drv_gpio.c | 1 + 28 files changed, 37 insertions(+), 6 deletions(-) diff --git a/bsp/allwinner_tina/drivers/drv_gpio.c b/bsp/allwinner_tina/drivers/drv_gpio.c index b121842b303..999ab473a0a 100644 --- a/bsp/allwinner_tina/drivers/drv_gpio.c +++ b/bsp/allwinner_tina/drivers/drv_gpio.c @@ -538,6 +538,7 @@ static const struct rt_pin_ops ops = pin_attach_irq, pin_detach_irq, pin_irq_enable, + RT_NULL, }; #endif diff --git a/bsp/apollo2/board/gpio.c b/bsp/apollo2/board/gpio.c index c2eb1be5810..c985e0f2a7b 100644 --- a/bsp/apollo2/board/gpio.c +++ b/bsp/apollo2/board/gpio.c @@ -212,6 +212,7 @@ const static struct rt_pin_ops am_pin_ops = am_pin_attach_irq, am_pin_dettach_irq, am_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/at32/Libraries/rt_drivers/drv_gpio.c b/bsp/at32/Libraries/rt_drivers/drv_gpio.c index 8ea3f83f43c..d6fd0594dcd 100644 --- a/bsp/at32/Libraries/rt_drivers/drv_gpio.c +++ b/bsp/at32/Libraries/rt_drivers/drv_gpio.c @@ -496,6 +496,7 @@ const static struct rt_pin_ops _at32_pin_ops = at32_pin_attach_irq, at32_pin_dettach_irq, at32_pin_irq_enable, + RT_NULL, }; rt_inline void pin_irq_hdr(int irqno) diff --git a/bsp/beaglebone/drivers/gpio.c b/bsp/beaglebone/drivers/gpio.c index 7eb9737573a..425fbb4f4e2 100644 --- a/bsp/beaglebone/drivers/gpio.c +++ b/bsp/beaglebone/drivers/gpio.c @@ -84,6 +84,10 @@ static struct rt_pin_ops am33xx_pin_ops = am33xx_pin_mode, am33xx_pin_write, am33xx_pin_read, + RT_NULL, + RT_NULL, + RT_NULL, + RT_NULL, }; int rt_hw_gpio_init(void) diff --git a/bsp/essemi/es32f0271/drivers/drv_gpio.c b/bsp/essemi/es32f0271/drivers/drv_gpio.c index 293febc728c..74a703a91ab 100644 --- a/bsp/essemi/es32f0271/drivers/drv_gpio.c +++ b/bsp/essemi/es32f0271/drivers/drv_gpio.c @@ -450,6 +450,7 @@ const static struct rt_pin_ops _es32f0_pin_ops = es32f0_pin_attach_irq, es32f0_pin_detach_irq, es32f0_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/essemi/es32f0334/drivers/drv_gpio.c b/bsp/essemi/es32f0334/drivers/drv_gpio.c index af057f8916c..d816af5fd3f 100644 --- a/bsp/essemi/es32f0334/drivers/drv_gpio.c +++ b/bsp/essemi/es32f0334/drivers/drv_gpio.c @@ -408,6 +408,7 @@ const static struct rt_pin_ops _es32f0_pin_ops = es32f0_pin_attach_irq, es32f0_pin_detach_irq, es32f0_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/essemi/es32f0654/drivers/drv_gpio.c b/bsp/essemi/es32f0654/drivers/drv_gpio.c index 680860757f7..142fcce7fc1 100644 --- a/bsp/essemi/es32f0654/drivers/drv_gpio.c +++ b/bsp/essemi/es32f0654/drivers/drv_gpio.c @@ -408,6 +408,7 @@ const static struct rt_pin_ops _es32f0_pin_ops = es32f0_pin_attach_irq, es32f0_pin_detach_irq, es32f0_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/essemi/es32f369x/drivers/drv_gpio.c b/bsp/essemi/es32f369x/drivers/drv_gpio.c index c9bf1c946a1..37a24d956c3 100644 --- a/bsp/essemi/es32f369x/drivers/drv_gpio.c +++ b/bsp/essemi/es32f369x/drivers/drv_gpio.c @@ -408,6 +408,7 @@ const static struct rt_pin_ops _es32f3_pin_ops = es32f3_pin_attach_irq, es32f3_pin_detach_irq, es32f3_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/essemi/es8p508x/drivers/drv_gpio.c b/bsp/essemi/es8p508x/drivers/drv_gpio.c index b91532a7067..9dfc09ef8e6 100644 --- a/bsp/essemi/es8p508x/drivers/drv_gpio.c +++ b/bsp/essemi/es8p508x/drivers/drv_gpio.c @@ -382,6 +382,7 @@ const static struct rt_pin_ops _es8p_pin_ops = es8p_pin_attach_irq, es8p_pin_detach_irq, es8p_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/gd32303e-eval/drivers/drv_gpio.c b/bsp/gd32303e-eval/drivers/drv_gpio.c index 8c2bde3e3ab..b7285513d37 100644 --- a/bsp/gd32303e-eval/drivers/drv_gpio.c +++ b/bsp/gd32303e-eval/drivers/drv_gpio.c @@ -497,6 +497,7 @@ const static struct rt_pin_ops _gd32_pin_ops = gd32_pin_attach_irq, gd32_pin_detach_irq, gd32_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/gd32e230k-start/drivers/drv_gpio.c b/bsp/gd32e230k-start/drivers/drv_gpio.c index 521db3823ba..4176798cfd1 100644 --- a/bsp/gd32e230k-start/drivers/drv_gpio.c +++ b/bsp/gd32e230k-start/drivers/drv_gpio.c @@ -388,6 +388,7 @@ const static struct rt_pin_ops _gd32_pin_ops = gd32_pin_attach_irq, gd32_pin_detach_irq, gd32_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/gd32vf103v-eval/drivers/drv_gpio.c b/bsp/gd32vf103v-eval/drivers/drv_gpio.c index 03b27aef9cd..95393cd4f26 100644 --- a/bsp/gd32vf103v-eval/drivers/drv_gpio.c +++ b/bsp/gd32vf103v-eval/drivers/drv_gpio.c @@ -427,6 +427,7 @@ const static struct rt_pin_ops _gd32vf_pin_ops = gd32vf_pin_attach_irq, gd32vf_pin_dettach_irq, gd32vf_pin_irq_enable, + RT_NULL, }; rt_inline void pin_irq_hdr(int irqno) diff --git a/bsp/imxrt/libraries/drivers/drv_gpio.c b/bsp/imxrt/libraries/drivers/drv_gpio.c index ee1d2eb96b6..a2e9dda3d74 100644 --- a/bsp/imxrt/libraries/drivers/drv_gpio.c +++ b/bsp/imxrt/libraries/drivers/drv_gpio.c @@ -587,7 +587,8 @@ const static struct rt_pin_ops imxrt_pin_ops = imxrt_pin_read, imxrt_pin_attach_irq, imxrt_pin_detach_irq, - imxrt_pin_irq_enable + imxrt_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/k210/driver/drv_gpio.c b/bsp/k210/driver/drv_gpio.c index 4efce0e827a..578e71558a3 100644 --- a/bsp/k210/driver/drv_gpio.c +++ b/bsp/k210/driver/drv_gpio.c @@ -251,7 +251,8 @@ const static struct rt_pin_ops drv_pin_ops = drv_pin_attach_irq, drv_pin_detach_irq, - drv_pin_irq_enable + drv_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/lpc55sxx/Libraries/drivers/drv_pin.c b/bsp/lpc55sxx/Libraries/drivers/drv_pin.c index cc8d027c7cf..48d26a58252 100644 --- a/bsp/lpc55sxx/Libraries/drivers/drv_pin.c +++ b/bsp/lpc55sxx/Libraries/drivers/drv_pin.c @@ -419,6 +419,7 @@ int rt_hw_pin_init(void) lpc_pin_ops.pin_attach_irq = lpc_pin_attach_irq; lpc_pin_ops.pin_detach_irq = lpc_pin_detach_irq; lpc_pin_ops.pin_irq_enable = lpc_pin_irq_enable; + lpc_pin_ops.pin_get = RT_NULL, ret = rt_device_pin_register("pin", &lpc_pin_ops, RT_NULL); diff --git a/bsp/ls1cdev/drivers/drv_gpio.c b/bsp/ls1cdev/drivers/drv_gpio.c index 2203db77754..14b44c9b6fe 100644 --- a/bsp/ls1cdev/drivers/drv_gpio.c +++ b/bsp/ls1cdev/drivers/drv_gpio.c @@ -122,7 +122,8 @@ const static struct rt_pin_ops _ls1c_pin_ops = ls1c_pin_attach_irq, ls1c_pin_detach_irq, - ls1c_pin_irq_enable + ls1c_pin_irq_enable, + RT_NULL, }; diff --git a/bsp/ls2kdev/drivers/drv_gpio.c b/bsp/ls2kdev/drivers/drv_gpio.c index e1c5d61331d..b49e471cc47 100644 --- a/bsp/ls2kdev/drivers/drv_gpio.c +++ b/bsp/ls2kdev/drivers/drv_gpio.c @@ -221,6 +221,7 @@ static struct rt_pin_ops loongson_pin_ops = { .pin_attach_irq = loongson_pin_attach_irq, .pin_detach_irq = loongson_pin_detach_irq, .pin_irq_enable = loongson_pin_irq_enable, + .pin_get = RT_NULL, }; diff --git a/bsp/mm32l3xx/drivers/drv_gpio.c b/bsp/mm32l3xx/drivers/drv_gpio.c index 141040bbce8..a6c3849c858 100644 --- a/bsp/mm32l3xx/drivers/drv_gpio.c +++ b/bsp/mm32l3xx/drivers/drv_gpio.c @@ -409,6 +409,7 @@ const static struct rt_pin_ops _mm32_pin_ops = mm32_pin_attach_irq, mm32_pin_detach_irq, mm32_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/nrf5x/libraries/drivers/drv_gpio.c b/bsp/nrf5x/libraries/drivers/drv_gpio.c index 001839b2b4f..4251edfdc23 100644 --- a/bsp/nrf5x/libraries/drivers/drv_gpio.c +++ b/bsp/nrf5x/libraries/drivers/drv_gpio.c @@ -351,6 +351,7 @@ const static struct rt_pin_ops _nrf5x_pin_ops = nrf5x_pin_attach_irq, nrf5x_pin_dettach_irq, nrf5x_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/nuclei/libraries/gd32vf103/HAL_Drivers/drv_gpio.c b/bsp/nuclei/libraries/gd32vf103/HAL_Drivers/drv_gpio.c index f7572a57dbd..779f4a7bb83 100644 --- a/bsp/nuclei/libraries/gd32vf103/HAL_Drivers/drv_gpio.c +++ b/bsp/nuclei/libraries/gd32vf103/HAL_Drivers/drv_gpio.c @@ -443,6 +443,7 @@ const static struct rt_pin_ops _gd32_pin_ops = gd32_pin_attach_irq, gd32_pin_dettach_irq, gd32_pin_irq_enable, + RT_NULL, }; rt_inline void pin_irq_hdr(int irqno) diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.c index 4790d650014..c4d6c336290 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.c @@ -44,7 +44,8 @@ static struct rt_pin_ops nu_gpio_ops = nu_gpio_read, nu_gpio_attach_irq, nu_gpio_detach_irq, - nu_gpio_irq_enable + nu_gpio_irq_enable, + RT_NULL, }; static IRQn_Type au32GPIRQ[NU_PORT_CNT] = {GPA_IRQn, GPB_IRQn, GPC_IRQn, GPD_IRQn, GPE_IRQn, GPF_IRQn, GPG_IRQn, GPH_IRQn}; diff --git a/bsp/raspberry-pi/raspi3-32/driver/drv_gpio.c b/bsp/raspberry-pi/raspi3-32/driver/drv_gpio.c index c239c56cf28..205d7f10aa3 100644 --- a/bsp/raspberry-pi/raspi3-32/driver/drv_gpio.c +++ b/bsp/raspberry-pi/raspi3-32/driver/drv_gpio.c @@ -294,6 +294,7 @@ static const struct rt_pin_ops ops = raspi_pin_attach_irq, raspi_pin_detach_irq, raspi_pin_irq_enable, + RT_NULL, }; #endif diff --git a/bsp/raspberry-pi/raspi3-64/driver/drv_gpio.c b/bsp/raspberry-pi/raspi3-64/driver/drv_gpio.c index 56ef4127251..0cd6abb84e1 100644 --- a/bsp/raspberry-pi/raspi3-64/driver/drv_gpio.c +++ b/bsp/raspberry-pi/raspi3-64/driver/drv_gpio.c @@ -295,6 +295,7 @@ static const struct rt_pin_ops ops = raspi_pin_attach_irq, raspi_pin_detach_irq, raspi_pin_irq_enable, + RT_NULL, }; #endif diff --git a/bsp/raspberry-pi/raspi4-32/driver/drv_gpio.c b/bsp/raspberry-pi/raspi4-32/driver/drv_gpio.c index b45fb8574f5..b2d2ed79c49 100644 --- a/bsp/raspberry-pi/raspi4-32/driver/drv_gpio.c +++ b/bsp/raspberry-pi/raspi4-32/driver/drv_gpio.c @@ -344,6 +344,7 @@ static const struct rt_pin_ops ops = raspi_pin_attach_irq, raspi_pin_detach_irq, raspi_pin_irq_enable, + RT_NULL, }; static void gpio_irq_handler(int irq, void *param) diff --git a/bsp/raspberry-pi/raspi4-64/driver/drv_gpio.c b/bsp/raspberry-pi/raspi4-64/driver/drv_gpio.c index 4317a358e0f..bba20a86a43 100644 --- a/bsp/raspberry-pi/raspi4-64/driver/drv_gpio.c +++ b/bsp/raspberry-pi/raspi4-64/driver/drv_gpio.c @@ -103,6 +103,7 @@ static const struct rt_pin_ops ops = raspi_pin_attach_irq, raspi_pin_detach_irq, raspi_pin_irq_enable, + RT_NULL, }; #endif diff --git a/bsp/rv32m1_vega/ri5cy/driver/drv_gpio.c b/bsp/rv32m1_vega/ri5cy/driver/drv_gpio.c index f5acd7e02b3..afc152a96bc 100644 --- a/bsp/rv32m1_vega/ri5cy/driver/drv_gpio.c +++ b/bsp/rv32m1_vega/ri5cy/driver/drv_gpio.c @@ -496,7 +496,8 @@ static const struct rt_pin_ops vega_pin_ops = vega_pin_attach_irq, vega_pin_detach_irq, - vega_pin_irq_enable + vega_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/swm320-lq100/drivers/drv_gpio.c b/bsp/swm320-lq100/drivers/drv_gpio.c index b9d3d425834..439f36f3791 100644 --- a/bsp/swm320-lq100/drivers/drv_gpio.c +++ b/bsp/swm320-lq100/drivers/drv_gpio.c @@ -334,7 +334,8 @@ const static struct rt_pin_ops swm320_pin_ops = swm320_pin_read, swm320_pin_attach_irq, swm320_pin_detach_irq, - swm320_pin_irq_enable + swm320_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void) diff --git a/bsp/tm4c123bsp/libraries/Drivers/drv_gpio.c b/bsp/tm4c123bsp/libraries/Drivers/drv_gpio.c index 7cdfaf91f98..410a4568492 100644 --- a/bsp/tm4c123bsp/libraries/Drivers/drv_gpio.c +++ b/bsp/tm4c123bsp/libraries/Drivers/drv_gpio.c @@ -153,6 +153,7 @@ const static struct rt_pin_ops _tm4c123_pin_ops = tm4c123_pin_attach_irq, tm4c123_pin_dettach_irq, tm4c123_pin_irq_enable, + RT_NULL, }; int rt_hw_pin_init(void)