Browse Source

[bsp][drv_gpio] fix the error code return when pin number is illegal

Meco Man 1 năm trước cách đây
mục cha
commit
6a9c42a19d
51 tập tin đã thay đổi với 161 bổ sung92 xóa
  1. 1 1
      bsp/Infineon/libraries/HAL_Drivers/drv_gpio.c
  2. 4 0
      bsp/Vango/v85xx/drivers/drv_gpio.c
  3. 1 1
      bsp/acm32/acm32f0x0-nucleo/drivers/drv_gpio.c
  4. 1 1
      bsp/acm32/acm32f4xx-nucleo/drivers/drv_gpio.c
  5. 1 1
      bsp/airm2m/air105/libraries/rt_drivers/drv_gpio.c
  6. 4 0
      bsp/airm2m/air32f103/libraries/rt_drivers/drv_gpio.c
  7. 1 1
      bsp/allwinner_tina/drivers/drv_gpio.c
  8. 4 0
      bsp/apm32/libraries/Drivers/drv_gpio.c
  9. 5 0
      bsp/at32/libraries/rt_drivers/drv_gpio.c
  10. 1 1
      bsp/essemi/es32f0654/drivers/drv_gpio.c
  11. 1 1
      bsp/essemi/es32f369x/drivers/drv_gpio.c
  12. 11 11
      bsp/essemi/es32vf2264/drivers/drv_gpio.c
  13. 5 1
      bsp/fm33lc026/libraries/HAL_Drivers/drv_gpio.c
  14. 4 0
      bsp/ft32/libraries/Drivers/drv_gpio.c
  15. 1 1
      bsp/gd32/arm/libraries/gd32_drivers/drv_gpio.c
  16. 1 1
      bsp/gd32/risc-v/libraries/gd32_drivers/drv_gpio.c
  17. 4 0
      bsp/hc32/libraries/hc32_drivers/drv_gpio.c
  18. 4 0
      bsp/hc32l136/drivers/drv_gpio.c
  19. 1 1
      bsp/hc32l196/drivers/drv_gpio.c
  20. 5 0
      bsp/hk32/libraries/rt_drivers/drv_gpio.c
  21. 9 7
      bsp/hpmicro/libraries/drivers/drv_gpio.c
  22. 1 2
      bsp/k210/drivers/drv_gpio.c
  23. 0 1
      bsp/loongson/ls1cdev/drivers/drv_gpio.c
  24. 4 0
      bsp/mm32/libraries/HAL_Drivers/drv_gpio.c
  25. 1 1
      bsp/mm32f103x/drivers/drv_gpio.c
  26. 1 1
      bsp/mm32f327x/drivers/drv_gpio.c
  27. 1 1
      bsp/mm32l3xx/drivers/drv_gpio.c
  28. 4 0
      bsp/msp432e401y-LaunchPad/libraries/Drivers/drv_gpio.c
  29. 1 1
      bsp/n32/libraries/n32_drivers/drv_gpio.c
  30. 1 1
      bsp/n32g452xx/Libraries/rt_drivers/drv_gpio.c
  31. 1 1
      bsp/nrf5x/libraries/drivers/drv_gpio.c
  32. 1 1
      bsp/nuclei/libraries/gd32vf103/HAL_Drivers/drv_gpio.c
  33. 3 1
      bsp/nuvoton/libraries/m031/rtt_port/drv_gpio.c
  34. 3 1
      bsp/nuvoton/libraries/m2354/rtt_port/drv_gpio.c
  35. 3 1
      bsp/nuvoton/libraries/m460/rtt_port/drv_gpio.c
  36. 3 1
      bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.c
  37. 3 1
      bsp/nuvoton/libraries/ma35/rtt_port/drv_gpio.c
  38. 3 1
      bsp/nuvoton/libraries/n9h30/rtt_port/drv_gpio.c
  39. 3 1
      bsp/nuvoton/libraries/nuc980/rtt_port/drv_gpio.c
  40. 1 1
      bsp/nxp/imx/imxrt/libraries/drivers/drv_gpio.c
  41. 3 1
      bsp/nxp/lpc/lpc54114-lite/drivers/drv_gpio.c
  42. 1 5
      bsp/phytium/libraries/drivers/drv_gpio.c
  43. 1 2
      bsp/renesas/libraries/HAL_Drivers/drv_gpio.c
  44. 11 7
      bsp/stm32/libraries/HAL_Drivers/drivers/drv_gpio.c
  45. 10 9
      bsp/synwit/libraries/SWM320_drivers/drv_gpio.c
  46. 10 9
      bsp/synwit/libraries/SWM341_drivers/drv_gpio.c
  47. 1 1
      bsp/tae32f5300/drivers/drv_gpio.c
  48. 1 1
      bsp/tkm32F499/drivers/drv_gpio.c
  49. 1 1
      bsp/tm4c123bsp/libraries/Drivers/drv_gpio.c
  50. 4 0
      bsp/wch/risc-v/Libraries/ch32_drivers/drv_gpio.c
  51. 11 9
      bsp/zynqmp-r5-axu4ev/drivers/drv_gpio.c

+ 1 - 1
bsp/Infineon/libraries/HAL_Drivers/drv_gpio.c

@@ -160,7 +160,7 @@ static rt_ssize_t ifx_pin_read(struct rt_device *device, rt_base_t pin)
     }
     else
     {
-        return -RT_ERROR;
+        return -RT_EINVAL;
     }
 
     return cyhal_gpio_read(gpio_pin);

+ 4 - 0
bsp/Vango/v85xx/drivers/drv_gpio.c

@@ -157,6 +157,10 @@ static rt_ssize_t v85xx_pin_read(rt_device_t dev, rt_base_t pin)
         gpio_pin = PIN_V85XXPIN(pin);
         value = GPIOBToF_ReadInputDataBit(gpio_port, gpio_pin);
     }
+    else
+    {
+        return -RT_EINVAL;
+    }
 
     return value;
 }

+ 1 - 1
bsp/acm32/acm32f0x0-nucleo/drivers/drv_gpio.c

@@ -198,7 +198,7 @@ static rt_ssize_t acm32_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return value;
+        return -RT_EINVAL;
     }
 
     value = HAL_GPIO_ReadPin(index->gpio, index->pin);

+ 1 - 1
bsp/acm32/acm32f4xx-nucleo/drivers/drv_gpio.c

@@ -216,7 +216,7 @@ static rt_ssize_t _pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return value;
+        return -RT_EINVAL;
     }
 
     value = HAL_GPIO_ReadPin(index->gpio, index->pin);

+ 1 - 1
bsp/airm2m/air105/libraries/rt_drivers/drv_gpio.c

@@ -68,7 +68,7 @@ static rt_ssize_t air105_pin_read(rt_device_t dev, rt_base_t pin)
     }
     else
     {
-        return -1;
+        return -RT_EINVAL;
     }
 }
 

+ 4 - 0
bsp/airm2m/air32f103/libraries/rt_drivers/drv_gpio.c

@@ -169,6 +169,10 @@ static rt_ssize_t air32_pin_read(rt_device_t dev, rt_base_t pin)
         gpio_pin = PIN_AIRPIN(pin);
         value = GPIO_ReadInputDataBit(gpio_port, gpio_pin);
     }
+    else
+    {
+        return -RT_EINVAL;
+    }
 
     return value;
 }

+ 1 - 1
bsp/allwinner_tina/drivers/drv_gpio.c

@@ -458,7 +458,7 @@ static rt_ssize_t pin_read(struct rt_device *device, rt_base_t pin)
     if ((pin > PIN_NUM(pin_index)) || (pin_index[pin].magic != PIN_MAGIC))
     {
         LOG_E("pin:%d value wrongful", pin);
-        return 0;
+        return -RT_EINVAL;
     }
 
     return gpio_get_value(pin_index[pin].pin_port, pin_index[pin].pin);

+ 4 - 0
bsp/apm32/libraries/Drivers/drv_gpio.c

@@ -185,6 +185,10 @@ static rt_ssize_t apm32_pin_read(rt_device_t dev, rt_base_t pin)
         gpio_pin = PIN_APMPIN(pin);
         value = GPIO_ReadInputBit(gpio_port, gpio_pin);
     }
+    else
+    {
+        return -RT_EINVAL;
+    }
 
     return value;
 }

+ 5 - 0
bsp/at32/libraries/rt_drivers/drv_gpio.c

@@ -198,6 +198,11 @@ static rt_ssize_t at32_pin_read(rt_device_t dev, rt_base_t pin)
         gpio_pin     =  PIN_ATPIN(pin);
         value = gpio_input_data_bit_read(gpio_port, gpio_pin);
     }
+    else
+    {
+        return -RT_EINVAL;
+    }
+
     return value;
 }
 

+ 1 - 1
bsp/essemi/es32f0654/drivers/drv_gpio.c

@@ -254,7 +254,7 @@ rt_ssize_t es32f0_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return value;
+        return -RT_EINVAL;
     }
     value = ald_gpio_read_pin(index->gpio, index->pin);
     return value;

+ 1 - 1
bsp/essemi/es32f369x/drivers/drv_gpio.c

@@ -255,7 +255,7 @@ rt_ssize_t es32f3_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return value;
+        return -RT_EINVAL;
     }
     value = ald_gpio_read_pin(index->gpio, index->pin);
     return value;

+ 11 - 11
bsp/essemi/es32vf2264/drivers/drv_gpio.c

@@ -254,7 +254,7 @@ rt_ssize_t es32f3_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return value;
+        return -RT_EINVAL;
     }
     value = ald_gpio_read_pin(index->gpio, index->pin);
     return value;
@@ -337,7 +337,7 @@ rt_err_t es32f3_pin_attach_irq(struct rt_device *device, rt_base_t pin,
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return RT_ENOSYS;
+        return -RT_ENOSYS;
     }
     /* pin no. convert to dec no. */
     for (irqindex = 0; irqindex < 16; irqindex++)
@@ -349,7 +349,7 @@ rt_err_t es32f3_pin_attach_irq(struct rt_device *device, rt_base_t pin,
     }
     if (irqindex < 0 || irqindex >= ITEM_NUM(pin_irq_map))
     {
-        return RT_ENOSYS;
+        return -RT_ENOSYS;
     }
     level = rt_hw_interrupt_disable();
     if (pin_irq_hdr_tab[irqindex].pin == pin &&
@@ -363,7 +363,7 @@ rt_err_t es32f3_pin_attach_irq(struct rt_device *device, rt_base_t pin,
     if (pin_irq_hdr_tab[irqindex].pin != -1)
     {
         rt_hw_interrupt_enable(level);
-        return RT_EBUSY;
+        return -RT_EBUSY;
     }
     pin_irq_hdr_tab[irqindex].pin = pin;
     pin_irq_hdr_tab[irqindex].hdr = hdr;
@@ -381,7 +381,7 @@ rt_err_t es32f3_pin_detach_irq(struct rt_device *device, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return RT_ENOSYS;
+        return -RT_ENOSYS;
     }
 
     for (irqindex = 0; irqindex < 16; irqindex++)
@@ -393,7 +393,7 @@ rt_err_t es32f3_pin_detach_irq(struct rt_device *device, rt_base_t pin)
     }
     if (irqindex < 0 || irqindex >= ITEM_NUM(pin_irq_map))
     {
-        return RT_ENOSYS;
+        return -RT_ENOSYS;
     }
     level = rt_hw_interrupt_disable();
     if (pin_irq_hdr_tab[irqindex].pin == -1)
@@ -425,7 +425,7 @@ rt_err_t es32f3_pin_irq_enable(struct rt_device *device, rt_base_t pin,
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return RT_ENOSYS;
+        return -RT_ENOSYS;
     }
     if (enabled == PIN_IRQ_ENABLE)
     {
@@ -439,13 +439,13 @@ rt_err_t es32f3_pin_irq_enable(struct rt_device *device, rt_base_t pin,
         }
         if (irqindex < 0 || irqindex >= ITEM_NUM(pin_irq_map))
         {
-            return RT_ENOSYS;
+            return -RT_ENOSYS;
         }
         level = rt_hw_interrupt_disable();
         if (pin_irq_hdr_tab[irqindex].pin == -1)
         {
             rt_hw_interrupt_enable(level);
-            return RT_ENOSYS;
+            return -RT_ENOSYS;
         }
         irqmap = &pin_irq_map[irqindex];
         ald_gpio_exti_init(index->gpio, index->pin, &exti_initstruct);
@@ -479,14 +479,14 @@ rt_err_t es32f3_pin_irq_enable(struct rt_device *device, rt_base_t pin,
         irqmap = get_pin_irq_map(index->pin);
         if (irqmap == RT_NULL)
         {
-            return RT_ENOSYS;
+            return -RT_ENOSYS;
         }
 
         /*csi_vic_disable_sirq(irqmap->irqno);*/
     }
     else
     {
-        return RT_ENOSYS;
+        return -RT_ENOSYS;
     }
     return RT_EOK;
 }

+ 5 - 1
bsp/fm33lc026/libraries/HAL_Drivers/drv_gpio.c

@@ -160,6 +160,10 @@ static rt_ssize_t fm33_pin_read(rt_device_t dev, rt_base_t pin)
         gpio_pin = PIN_STPIN(pin);
         value = FL_GPIO_GetInputPin(gpio_port, gpio_pin);
     }
+    else
+    {
+        value = -RT_EINVAL;
+    }
 
     return value;
 }
@@ -404,7 +408,7 @@ static rt_err_t fm33_pin_irq_enable(struct rt_device *device, rt_base_t pin,
     return RT_EOK;
 }
 const static struct rt_pin_ops _fm33_pin_ops =
-    {
+{
         fm33_pin_mode,
         fm33_pin_write,
         fm33_pin_read,

+ 4 - 0
bsp/ft32/libraries/Drivers/drv_gpio.c

@@ -147,6 +147,10 @@ static rt_ssize_t ft32_pin_read(rt_device_t dev, rt_base_t pin)
         gpio_pin = PIN_FTPIN(pin);
         value = GPIO_ReadInputDataBit(gpio_port, gpio_pin);
     }
+    else
+    {
+        return -RT_EINVAL;
+    }
 
     return value;
 }

+ 1 - 1
bsp/gd32/arm/libraries/gd32_drivers/drv_gpio.c

@@ -370,7 +370,7 @@ static rt_ssize_t gd32_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return value;
+        return -RT_EINVAL;
     }
 
     value = gpio_input_bit_get(index->gpio_periph, index->pin);

+ 1 - 1
bsp/gd32/risc-v/libraries/gd32_drivers/drv_gpio.c

@@ -256,7 +256,7 @@ static rt_ssize_t gd32_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return value;
+        return -RT_EINVAL;
     }
 
     value = gpio_input_bit_get(index->gpio_periph, index->pin);

+ 4 - 0
bsp/hc32/libraries/hc32_drivers/drv_gpio.c

@@ -302,6 +302,10 @@ static rt_ssize_t hc32_pin_read(struct rt_device *device, rt_base_t pin)
             value = PIN_HIGH;
         }
     }
+    else
+    {
+        return -RT_EINVAL;
+    }
 
     return value;
 }

+ 4 - 0
bsp/hc32l136/drivers/drv_gpio.c

@@ -164,6 +164,10 @@ static rt_ssize_t _pin_read(rt_device_t dev, rt_base_t pin)
             value = PIN_HIGH;
         }
     }
+    else
+    {
+        value = -RT_EINVAL;
+    }
 
     return value;
 }

+ 1 - 1
bsp/hc32l196/drivers/drv_gpio.c

@@ -110,7 +110,7 @@ static rt_ssize_t _pin_read(rt_device_t dev, rt_base_t pin)
 
     if (pin >= PIN_MAX_NUM)
     {
-        return PIN_LOW;
+        return -RT_EINVAL;
     }
 
     gpio_port = GPIO_PORT(pin);

+ 5 - 0
bsp/hk32/libraries/rt_drivers/drv_gpio.c

@@ -120,6 +120,11 @@ static rt_int8_t hk32_pin_read(rt_device_t dev, rt_base_t pin)
         gpio_pin     =  PIN_HKPIN(pin);
         value = GPIO_ReadInputDataBit(gpio_port, gpio_pin);
     }
+    else
+    {
+        return -RT_ENOSYS;
+    }
+
     return value;
 }
 

+ 9 - 7
bsp/hpmicro/libraries/drivers/drv_gpio.c

@@ -310,13 +310,15 @@ static rt_err_t hpm_pin_irq_enable(struct rt_device *device, rt_base_t pin, rt_u
     return RT_EOK;
 }
 
-const static struct rt_pin_ops hpm_pin_ops = {
-        .pin_mode = hpm_pin_mode,
-        .pin_write = hpm_pin_write,
-        .pin_read = hpm_pin_read,
-        .pin_attach_irq = hpm_pin_attach_irq,
-        .pin_detach_irq = hpm_pin_detach_irq,
-        .pin_irq_enable = hpm_pin_irq_enable};
+const static struct rt_pin_ops hpm_pin_ops =
+{
+    .pin_mode = hpm_pin_mode,
+    .pin_write = hpm_pin_write,
+    .pin_read = hpm_pin_read,
+    .pin_attach_irq = hpm_pin_attach_irq,
+    .pin_detach_irq = hpm_pin_detach_irq,
+    .pin_irq_enable = hpm_pin_irq_enable
+};
 
 int rt_hw_pin_init(void)
 {

+ 1 - 2
bsp/k210/drivers/drv_gpio.c

@@ -117,7 +117,7 @@ static rt_ssize_t drv_pin_read(struct rt_device *device, rt_base_t pin)
     if(pin_channel == -1)
     {
         LOG_E("pin %d not set mode", pin);
-        return -1;
+        return -RT_EINVAL;
     }
     return gpiohs_get_pin(pin_channel) == GPIO_PV_HIGH ? PIN_HIGH : PIN_LOW;
 }
@@ -248,7 +248,6 @@ const static struct rt_pin_ops drv_pin_ops =
     drv_pin_mode,
     drv_pin_write,
     drv_pin_read,
-
     drv_pin_attach_irq,
     drv_pin_detach_irq,
     drv_pin_irq_enable

+ 0 - 1
bsp/loongson/ls1cdev/drivers/drv_gpio.c

@@ -119,7 +119,6 @@ const static struct rt_pin_ops _ls1c_pin_ops =
     ls1c_pin_mode,
     ls1c_pin_write,
     ls1c_pin_read,
-
     ls1c_pin_attach_irq,
     ls1c_pin_detach_irq,
     ls1c_pin_irq_enable,

+ 4 - 0
bsp/mm32/libraries/HAL_Drivers/drv_gpio.c

@@ -146,6 +146,10 @@ static rt_ssize_t mm32_pin_read(rt_device_t dev, rt_base_t pin)
         gpio_pin = PIN_STPIN(pin);
         value = GPIO_ReadInDataBit(gpio_port, gpio_pin);
     }
+    else
+    {
+        return -RT_EINVAL;
+    }
 
     return value;
 }

+ 1 - 1
bsp/mm32f103x/drivers/drv_gpio.c

@@ -184,7 +184,7 @@ rt_ssize_t mm32_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return PIN_LOW;
+        return -RT_EINVAL;
     }
     if (GPIO_ReadInputDataBit(index->gpio, index->pin) == Bit_RESET)
     {

+ 1 - 1
bsp/mm32f327x/drivers/drv_gpio.c

@@ -180,7 +180,7 @@ rt_ssize_t mm32_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return PIN_LOW;
+        return -RT_EINVAL;
     }
     if (GPIO_ReadInputDataBit(index->gpio, index->pin) == Bit_RESET)
     {

+ 1 - 1
bsp/mm32l3xx/drivers/drv_gpio.c

@@ -169,7 +169,7 @@ rt_ssize_t mm32_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return PIN_LOW;
+        return -RT_EINVAL;
     }
     if (GPIO_ReadInputDataBit(index->gpio, index->pin) == Bit_RESET)
     {

+ 4 - 0
bsp/msp432e401y-LaunchPad/libraries/Drivers/drv_gpio.c

@@ -274,6 +274,10 @@ static rt_ssize_t msp432_pin_read(struct rt_device *device, rt_base_t pin)
     {
         value = (rt_ssize_t)GPIOPinRead(index->gpioBaseAddress, index->pin);
     }
+    else
+    {
+        value = -RT_EINVAL;
+    }
 
     return value;
 }

+ 1 - 1
bsp/n32/libraries/n32_drivers/drv_gpio.c

@@ -228,7 +228,7 @@ static rt_ssize_t n32_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return value;
+        return -RT_EINVAL;
     }
 
     value = GPIO_ReadInputDataBit(index->gpio, index->pin);

+ 1 - 1
bsp/n32g452xx/Libraries/rt_drivers/drv_gpio.c

@@ -588,7 +588,7 @@ rt_ssize_t n32_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return value;
+        return -RT_EINVAL;
     }
 
     if (GPIO_ReadInputDataBit(index->gpio, index->pin) == Bit_RESET)

+ 1 - 1
bsp/nrf5x/libraries/drivers/drv_gpio.c

@@ -124,7 +124,7 @@ static rt_ssize_t nrf5x_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return value;
+        return -RT_EINVAL;
     }
 
     value = nrf_gpio_pin_read(pin);

+ 1 - 1
bsp/nuclei/libraries/gd32vf103/HAL_Drivers/drv_gpio.c

@@ -184,7 +184,7 @@ static rt_ssize_t gd32_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return value;
+        return -RT_EINVAL;
     }
 
     value = gpio_input_bit_get(index->gpio, index->pin);

+ 3 - 1
bsp/nuvoton/libraries/m031/rtt_port/drv_gpio.c

@@ -176,7 +176,9 @@ static void nu_gpio_write(struct rt_device *device, rt_base_t pin, rt_uint8_t va
 static rt_ssize_t nu_gpio_read(struct rt_device *device, rt_base_t pin)
 {
     if (nu_port_check(pin))
-        return PIN_LOW;
+    {
+        return -RT_EINVAL;
+    }
 
     return GPIO_PIN_DATA(NU_GET_PORT(pin), NU_GET_PINS(pin));
 }

+ 3 - 1
bsp/nuvoton/libraries/m2354/rtt_port/drv_gpio.c

@@ -175,7 +175,9 @@ static void nu_gpio_write(struct rt_device *device, rt_base_t pin, rt_uint8_t va
 static rt_ssize_t nu_gpio_read(struct rt_device *device, rt_base_t pin)
 {
     if (nu_port_check(pin))
-        return PIN_LOW;
+    {
+        return -RT_EINVAL;
+    }
 
     return GPIO_PIN_DATA_S(NU_GET_PORT(pin), NU_GET_PINS(pin));
 }

+ 3 - 1
bsp/nuvoton/libraries/m460/rtt_port/drv_gpio.c

@@ -175,7 +175,9 @@ static void nu_gpio_write(struct rt_device *device, rt_base_t pin, rt_uint8_t va
 static rt_ssize_t nu_gpio_read(struct rt_device *device, rt_base_t pin)
 {
     if (nu_port_check(pin))
-        return PIN_LOW;
+    {
+        return -RT_EINVAL;
+    }
 
     return GPIO_PIN_DATA(NU_GET_PORT(pin), NU_GET_PINS(pin));
 }

+ 3 - 1
bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.c

@@ -175,7 +175,9 @@ static void nu_gpio_write(struct rt_device *device, rt_base_t pin, rt_uint8_t va
 static rt_ssize_t nu_gpio_read(struct rt_device *device, rt_base_t pin)
 {
     if (nu_port_check(pin))
-        return PIN_LOW;
+    {
+        return -RT_EINVAL;
+    }
 
     return GPIO_PIN_DATA(NU_GET_PORT(pin), NU_GET_PINS(pin));
 }

+ 3 - 1
bsp/nuvoton/libraries/ma35/rtt_port/drv_gpio.c

@@ -172,7 +172,9 @@ static void nu_gpio_write(struct rt_device *device, rt_base_t pin, rt_uint8_t va
 static rt_ssize_t nu_gpio_read(struct rt_device *device, rt_base_t pin)
 {
     if (nu_port_check(pin))
-        return PIN_LOW;
+    {
+        return -RT_EINVAL;
+    }
 
     return GPIO_PIN_DATA(NU_GET_PORT(pin), NU_GET_PINS(pin));
 }

+ 3 - 1
bsp/nuvoton/libraries/n9h30/rtt_port/drv_gpio.c

@@ -198,7 +198,9 @@ static rt_ssize_t nu_gpio_read(struct rt_device *device, rt_base_t pin)
     GPIO_PORT PORT;
 
     if (nu_port_check(pin))
-        return PIN_LOW;
+    {
+        return -RT_EINVAL;
+    }
 
     PORT = (GPIO_PORT)(GPIOA + (NU_GET_PORT(pin) * PORT_OFFSET));
 

+ 3 - 1
bsp/nuvoton/libraries/nuc980/rtt_port/drv_gpio.c

@@ -173,7 +173,9 @@ static void nu_gpio_write(struct rt_device *device, rt_base_t pin, rt_uint8_t va
 static rt_ssize_t nu_gpio_read(struct rt_device *device, rt_base_t pin)
 {
     if (nu_port_check(pin))
-        return PIN_LOW;
+    {
+        return -RT_EINVAL;
+    }
 
     return GPIO_PIN_DATA(NU_GET_PORT(pin), NU_GET_PINS(pin));
 }

+ 1 - 1
bsp/nxp/imx/imxrt/libraries/drivers/drv_gpio.c

@@ -634,7 +634,7 @@ static rt_ssize_t imxrt_pin_read(rt_device_t dev, rt_base_t pin)
     if (PIN_INVALID_CHECK(port, pin_num))
     {
         LOG_D("invalid pin,rtt pin: %d,port: %d,pin: %d \n", pin,port + 1,pin_num);
-        return value;
+        return -RT_EINVAL;
     }
 
     return GPIO_PinReadPadStatus(mask_tab[port].gpio, pin_num);

+ 3 - 1
bsp/nxp/lpc/lpc54114-lite/drivers/drv_gpio.c

@@ -147,7 +147,9 @@ static rt_ssize_t lpc_pin_read(rt_device_t dev, rt_base_t pin)
     rt_ssize_t value;
 
     if(pin > PIN_MAX_VAL)
-        return -RT_ERROR;
+    {
+        return -RT_EINVAL;
+    }
 
     portx = get_port(pin);
     piny  = get_pin(pin);

+ 1 - 5
bsp/phytium/libraries/drivers/drv_gpio.c

@@ -195,11 +195,7 @@ rt_ssize_t drv_pin_read(struct rt_device *device, rt_base_t pin)
 
     if (pin_instance == RT_NULL)
     {
-        rt_kprintf("Pin %d-%c-%d not set mode\n",
-                   ctrl_id,
-                   port_id == 0 ? 'a' : 'b',
-                   pin_id);
-        return -RT_ERROR;
+        return -RT_EINVAL;
     }
     return FGpioGetInputValue(pin_instance) == FGPIO_PIN_HIGH ? PIN_HIGH : PIN_LOW;
 }

+ 1 - 2
bsp/renesas/libraries/HAL_Drivers/drv_gpio.c

@@ -172,8 +172,7 @@ static rt_ssize_t ra_pin_read(rt_device_t dev, rt_base_t pin)
 {
     if ((pin > RA_MAX_PIN_VALUE) || (pin < RA_MIN_PIN_VALUE))
     {
-        LOG_E("GPIO pin value is illegal");
-        return -1;
+        return -RT_EINVAL;
     }
     return R_BSP_PinRead(pin);
 }

+ 11 - 7
bsp/stm32/libraries/HAL_Drivers/drivers/drv_gpio.c

@@ -229,6 +229,10 @@ static rt_ssize_t stm32_pin_read(rt_device_t dev, rt_base_t pin)
         gpio_pin = PIN_STPIN(pin);
         state = HAL_GPIO_ReadPin(gpio_port, gpio_pin);
     }
+    else
+    {
+        return -RT_EINVAL;
+    }
 
     return (state == GPIO_PIN_RESET) ? PIN_LOW : PIN_HIGH;
 }
@@ -503,13 +507,13 @@ static rt_err_t stm32_pin_irq_enable(struct rt_device *device, rt_base_t pin,
 }
 static const struct rt_pin_ops _stm32_pin_ops =
 {
-        stm32_pin_mode,
-        stm32_pin_write,
-        stm32_pin_read,
-        stm32_pin_attach_irq,
-        stm32_pin_dettach_irq,
-        stm32_pin_irq_enable,
-        stm32_pin_get,
+    stm32_pin_mode,
+    stm32_pin_write,
+    stm32_pin_read,
+    stm32_pin_attach_irq,
+    stm32_pin_dettach_irq,
+    stm32_pin_irq_enable,
+    stm32_pin_get,
 };
 
 rt_inline void pin_irq_hdr(int irqno)

+ 10 - 9
bsp/synwit/libraries/SWM320_drivers/drv_gpio.c

@@ -332,7 +332,7 @@ static rt_ssize_t swm_pin_read(rt_device_t dev, rt_base_t pin)
     gpio_obj = _pin2struct(pin);
     if (gpio_obj == RT_NULL)
     {
-        return PIN_LOW;
+        return -RT_EINVAL;
     }
     return (rt_ssize_t)GPIO_GetBit(gpio_obj->gpio, gpio_obj->pin);
 }
@@ -496,14 +496,15 @@ out:
 }
 
 const static struct rt_pin_ops swm_pin_ops =
-    {
-        .pin_mode = swm_pin_mode,
-        .pin_write = swm_pin_write,
-        .pin_read = swm_pin_read,
-        .pin_attach_irq = swm_pin_attach_irq,
-        .pin_detach_irq = swm_pin_detach_irq,
-        .pin_irq_enable = swm_pin_irq_enable,
-        .pin_get = swm_pin_get};
+{
+    .pin_mode = swm_pin_mode,
+    .pin_write = swm_pin_write,
+    .pin_read = swm_pin_read,
+    .pin_attach_irq = swm_pin_attach_irq,
+    .pin_detach_irq = swm_pin_detach_irq,
+    .pin_irq_enable = swm_pin_irq_enable,
+    .pin_get = swm_pin_get
+};
 
 static void swm_pin_isr(GPIO_TypeDef *GPIOx)
 {

+ 10 - 9
bsp/synwit/libraries/SWM341_drivers/drv_gpio.c

@@ -354,7 +354,7 @@ static rt_ssize_t swm_pin_read(rt_device_t dev, rt_base_t pin)
     gpio_obj = _pin2struct(pin);
     if (gpio_obj == RT_NULL)
     {
-        return PIN_LOW;
+        return -RT_EINVAL;
     }
     return (rt_ssize_t)GPIO_GetBit(gpio_obj->gpio, gpio_obj->pin);
 }
@@ -521,14 +521,15 @@ out:
 }
 
 static const struct rt_pin_ops swm_pin_ops =
-    {
-        .pin_mode = swm_pin_mode,
-        .pin_write = swm_pin_write,
-        .pin_read = swm_pin_read,
-        .pin_attach_irq = swm_pin_attach_irq,
-        .pin_detach_irq = swm_pin_detach_irq,
-        .pin_irq_enable = swm_pin_irq_enable,
-        .pin_get = swm_pin_get};
+{
+    .pin_mode = swm_pin_mode,
+    .pin_write = swm_pin_write,
+    .pin_read = swm_pin_read,
+    .pin_attach_irq = swm_pin_attach_irq,
+    .pin_detach_irq = swm_pin_detach_irq,
+    .pin_irq_enable = swm_pin_irq_enable,
+    .pin_get = swm_pin_get
+};
 
 static void swm_pin_isr(GPIO_TypeDef *GPIOx)
 {

+ 1 - 1
bsp/tae32f5300/drivers/drv_gpio.c

@@ -132,7 +132,7 @@ rt_ssize_t _pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return PIN_LOW;
+        return -RT_EINVAL;
     }
     if (LL_GPIO_ReadPin(index->gpio, index->pin) == GPIO_PIN_RESET)
     {

+ 1 - 1
bsp/tkm32F499/drivers/drv_gpio.c

@@ -212,7 +212,7 @@ rt_ssize_t tkm32_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return PIN_LOW;
+        return -RT_EINVAL;
     }
     if (GPIO_ReadInputDataBit(index->gpio, index->pin) == Bit_RESET)
     {

+ 1 - 1
bsp/tm4c123bsp/libraries/Drivers/drv_gpio.c

@@ -118,7 +118,7 @@ static rt_ssize_t tm4c123_pin_read(rt_device_t dev, rt_base_t pin)
     index = get_pin(pin);
     if (index == RT_NULL)
     {
-        return value;
+        return -RT_EINVAL;
     }
     value = GPIOPinRead(index ->gpioBaseAddress, index ->pin);
 

+ 4 - 0
bsp/wch/risc-v/Libraries/ch32_drivers/drv_gpio.c

@@ -155,6 +155,10 @@ static rt_ssize_t ch32_pin_read(rt_device_t dev, rt_base_t pin)
         gpio_pin = PIN_STPIN(pin);
         value = GPIO_ReadInputDataBit(gpio_port, gpio_pin);
     }
+    else
+    {
+        return -RT_EINVAL;
+    }
 
     return value;
 }

+ 11 - 9
bsp/zynqmp-r5-axu4ev/drivers/drv_gpio.c

@@ -50,21 +50,23 @@ void xgpiops_pin_write(rt_device_t dev, rt_base_t pin, rt_uint8_t value)
 rt_ssize_t xgpiops_pin_read(rt_device_t dev, rt_base_t pin)
 {
     if (pin >= Gpio.MaxPinNum)
-        return 0;
+    {
+        return -RT_EINVAL;
+    }
 
     int DataRead = XGpioPs_ReadPin(&Gpio, pin);
     return DataRead?PIN_HIGH:PIN_LOW;
 }
 
 const static struct rt_pin_ops _xgpiops_pin_ops =
-    {
-        xgpiops_pin_mode,
-        xgpiops_pin_write,
-        xgpiops_pin_read,
-        RT_NULL,
-        RT_NULL,
-        RT_NULL,
-        RT_NULL,
+{
+    xgpiops_pin_mode,
+    xgpiops_pin_write,
+    xgpiops_pin_read,
+    RT_NULL,
+    RT_NULL,
+    RT_NULL,
+    RT_NULL,
 };
 
 int rt_hw_pin_init(void)