From c11345ad4b9beabdc0510358fc22c6da9784d973 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sat, 30 Sep 2017 11:51:37 -0600 Subject: [PATCH] Squashed commit of the following: STM32, STM32 F7: LTDC and DMA2D drivers are not permitted to set the errno. SIM LPC31xx: Serial and console drivers are not permitted to set the errno. SAMv7, STM32, STM32 L4: DAC and ADC drivers are not permitted to set the errno. --- arch/arm/src/lpc31xx/lpc31_serial.c | 3 +-- arch/arm/src/samv7/sam_dac.c | 3 --- arch/arm/src/stm32/stm32_adc.c | 2 -- arch/arm/src/stm32/stm32_dac.c | 3 --- arch/arm/src/stm32/stm32_dma2d.c | 26 ++++++++------------------ arch/arm/src/stm32/stm32_ltdc.c | 3 +-- arch/arm/src/stm32f7/stm32_dma2d.c | 21 ++++++--------------- arch/arm/src/stm32f7/stm32_ltdc.c | 3 +-- arch/arm/src/stm32l4/stm32l4_dac.c | 2 -- arch/sim/src/up_devconsole.c | 3 +-- 10 files changed, 18 insertions(+), 51 deletions(-) diff --git a/arch/arm/src/lpc31xx/lpc31_serial.c b/arch/arm/src/lpc31xx/lpc31_serial.c index 7f79a0f41b..29c153d972 100644 --- a/arch/arm/src/lpc31xx/lpc31_serial.c +++ b/arch/arm/src/lpc31xx/lpc31_serial.c @@ -621,8 +621,7 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg) break; default: - errno = ENOTTY; - ret = ERROR; + ret = -ENOTTY; break; } diff --git a/arch/arm/src/samv7/sam_dac.c b/arch/arm/src/samv7/sam_dac.c index b1293aa5b2..815a5e22d8 100644 --- a/arch/arm/src/samv7/sam_dac.c +++ b/arch/arm/src/samv7/sam_dac.c @@ -627,7 +627,6 @@ FAR struct dac_dev_s *sam_dac_initialize(int intf) #endif { aerr("ERROR: No such DAC interface: %d\n", intf); - errno = ENODEV; return NULL; } @@ -637,7 +636,6 @@ FAR struct dac_dev_s *sam_dac_initialize(int intf) if (ret < 0) { aerr("ERROR: Failed to initialize the DAC peripheral module: %d\n", ret); - errno = -ret; return NULL; } @@ -648,7 +646,6 @@ FAR struct dac_dev_s *sam_dac_initialize(int intf) if (ret < 0) { aerr("ERROR: Failed to initialize DAC channel %d: %d\n", intf, ret); - errno = -ret; return NULL; } diff --git a/arch/arm/src/stm32/stm32_adc.c b/arch/arm/src/stm32/stm32_adc.c index d3ec74fb3c..bc8cb28e72 100644 --- a/arch/arm/src/stm32/stm32_adc.c +++ b/arch/arm/src/stm32/stm32_adc.c @@ -2705,14 +2705,12 @@ static int adc_ioctl(FAR struct adc_dev_s *dev, int cmd, unsigned long arg) ret = adc_ioc_wait_rcnr_zeroed(priv); if (ret < 0) { - set_errno(-ret); return ret; } ret = adc_set_ch(dev, ch); if (ret < 0) { - set_errno(-ret); return ret; } diff --git a/arch/arm/src/stm32/stm32_dac.c b/arch/arm/src/stm32/stm32_dac.c index 26e7443bcd..f0027cf09f 100644 --- a/arch/arm/src/stm32/stm32_dac.c +++ b/arch/arm/src/stm32/stm32_dac.c @@ -1587,7 +1587,6 @@ FAR struct dac_dev_s *stm32_dacinitialize(int intf) #endif /* CONFIG_STM32_DAC2CH1 */ { aerr("ERROR: No such DAC interface: %d\n", intf); - errno = ENODEV; return NULL; } @@ -1597,7 +1596,6 @@ FAR struct dac_dev_s *stm32_dacinitialize(int intf) if (ret < 0) { aerr("ERROR: Failed to initialize the DAC block: %d\n", ret); - errno = -ret; return NULL; } @@ -1608,7 +1606,6 @@ FAR struct dac_dev_s *stm32_dacinitialize(int intf) if (ret < 0) { aerr("ERROR: Failed to initialize DAC channel %d: %d\n", intf, ret); - errno = -ret; return NULL; } diff --git a/arch/arm/src/stm32/stm32_dma2d.c b/arch/arm/src/stm32/stm32_dma2d.c index 98848b44a7..a6508f8245 100644 --- a/arch/arm/src/stm32/stm32_dma2d.c +++ b/arch/arm/src/stm32/stm32_dma2d.c @@ -1945,7 +1945,7 @@ static int stm32_dma2dfillarea(FAR struct dma2d_layer_s *layer, * ****************************************************************************/ -FAR struct dma2d_layer_s * up_dma2dgetlayer(int lid) +FAR struct dma2d_layer_s *up_dma2dgetlayer(int lid) { if (lid < DMA2D_LAYER_NSIZE) { @@ -1957,8 +1957,7 @@ FAR struct dma2d_layer_s * up_dma2dgetlayer(int lid) return &priv->dma2d; } - lcderr("ERROR: EINVAL, Unknown layer identifier\n"); - errno = EINVAL; + lcderr("ERROR: lid invalid: %d\n", lid); return NULL; } @@ -1975,10 +1974,7 @@ FAR struct dma2d_layer_s * up_dma2dgetlayer(int lid) * * Return: * On success - A valid dma2d layer reference - * On error - NULL and errno is set to - * -EINVAL if one of the parameter is invalid - * -ENOMEM if no memory available or exceeds - * CONFIG_STM32_DMA2D_NLAYERS + * On error - NULL * ****************************************************************************/ @@ -1986,11 +1982,11 @@ FAR struct dma2d_layer_s *up_dma2dcreatelayer(fb_coord_t width, fb_coord_t height, uint8_t fmt) { + FAR struct stm32_dma2d_s *layer = NULL; int ret; int lid; uint8_t fmtmap; uint8_t bpp = 0; - FAR struct stm32_dma2d_s *layer = NULL; lcdinfo("width=%d, height=%d, fmt=%02x \n", width, height, fmt); @@ -2000,7 +1996,6 @@ FAR struct dma2d_layer_s *up_dma2dcreatelayer(fb_coord_t width, if (ret != OK) { - errno = -ret; return NULL; } @@ -2069,24 +2064,21 @@ FAR struct dma2d_layer_s *up_dma2dcreatelayer(fb_coord_t width, } else { - /* free the layer struture */ + /* Free the layer struture */ + lcderr("ERROR: ENOMEM, Unable to allocate layer buffer\n"); kmm_free(layer); layer = NULL; - lcderr("ERROR: ENOMEM, Unable to allocate layer buffer\n"); - errno = ENOMEM; } } else { lcderr("ERROR: ENOMEM, unable to allocate layer structure\n"); - errno = ENOMEM; } } else { lcderr("ERROR: EINVAL, no free layer available\n"); - errno = EINVAL; } sem_post(&g_lock); @@ -2262,12 +2254,11 @@ void up_dma2duninitialize(void) * * Return: * On success - A valid dma2d layer reference - * On error - NULL and errno is set to - * -EINVAL if one of the parameter is invalid + * On error - NULL * ****************************************************************************/ -FAR struct dma2d_layer_s * stm32_dma2dinitltdc(FAR struct stm32_ltdc_s *layer) +FAR struct dma2d_layer_s *stm32_dma2dinitltdc(FAR struct stm32_ltdc_s *layer) { int ret; uint8_t fmt = 0; @@ -2282,7 +2273,6 @@ FAR struct dma2d_layer_s * stm32_dma2dinitltdc(FAR struct stm32_ltdc_s *layer) { lcderr("ERROR: Returning -EINVAL, unsupported pixel format: %d\n", layer->vinfo.fmt); - errno = -EINVAL; return NULL; } diff --git a/arch/arm/src/stm32/stm32_ltdc.c b/arch/arm/src/stm32/stm32_ltdc.c index 22b650c598..283bc92ef4 100644 --- a/arch/arm/src/stm32/stm32_ltdc.c +++ b/arch/arm/src/stm32/stm32_ltdc.c @@ -3432,8 +3432,7 @@ FAR struct ltdc_layer_s *stm32_ltdcgetlayer(int lid) return (FAR struct ltdc_layer_s *) &LAYER(lid); } - lcderr("ERROR: Returning EINVAL\n"); - errno = EINVAL; + lcderr("ERROR: lid invalid: %d\n", lid); return NULL; } #endif /* CONFIG_STM32_LTDC_INTERFACE */ diff --git a/arch/arm/src/stm32f7/stm32_dma2d.c b/arch/arm/src/stm32f7/stm32_dma2d.c index 17b6245ca0..dcd5f7b8a2 100644 --- a/arch/arm/src/stm32f7/stm32_dma2d.c +++ b/arch/arm/src/stm32f7/stm32_dma2d.c @@ -1939,7 +1939,7 @@ static int stm32_dma2dfillarea(FAR struct dma2d_layer_s *layer, * ****************************************************************************/ -FAR struct dma2d_layer_s * up_dma2dgetlayer(int lid) +FAR struct dma2d_layer_s *up_dma2dgetlayer(int lid) { if (lid < DMA2D_LAYER_NSIZE) { @@ -1951,8 +1951,7 @@ FAR struct dma2d_layer_s * up_dma2dgetlayer(int lid) return &priv->dma2d; } - lcderr("ERROR: EINVAL, Unknown layer identifier\n"); - errno = EINVAL; + lcderr("ERROR: lid invalid: %d\n", lid); return NULL; } @@ -1969,10 +1968,7 @@ FAR struct dma2d_layer_s * up_dma2dgetlayer(int lid) * * Return: * On success - A valid dma2d layer reference - * On error - NULL and errno is set to - * -EINVAL if one of the parameter is invalid - * -ENOMEM if no memory available or exceeds - * CONFIG_STM32F7_DMA2D_NLAYERS + * On error - NULL * ****************************************************************************/ @@ -1980,11 +1976,11 @@ FAR struct dma2d_layer_s *up_dma2dcreatelayer(fb_coord_t width, fb_coord_t height, uint8_t fmt) { + FAR struct stm32_dma2d_s *layer = NULL; int ret; int lid; uint8_t fmtmap; uint8_t bpp = 0; - FAR struct stm32_dma2d_s *layer = NULL; lcdinfo("width=%d, height=%d, fmt=%02x \n", width, height, fmt); @@ -1994,7 +1990,6 @@ FAR struct dma2d_layer_s *up_dma2dcreatelayer(fb_coord_t width, if (ret != OK) { - errno = -ret; return NULL; } @@ -2066,19 +2061,16 @@ FAR struct dma2d_layer_s *up_dma2dcreatelayer(fb_coord_t width, kmm_free(layer); layer = NULL; lcderr("ERROR: ENOMEM, Unable to allocate layer buffer\n"); - errno = ENOMEM; } } else { lcderr("ERROR: ENOMEM, unable to allocate layer structure\n"); - errno = ENOMEM; } } else { lcderr("ERROR: EINVAL, no free layer available\n"); - errno = EINVAL; } sem_post(&g_lock); @@ -2254,12 +2246,11 @@ void up_dma2duninitialize(void) * * Return: * On success - A valid dma2d layer reference - * On error - NULL and errno is set to - * -EINVAL if one of the parameter is invalid + * On error - NULL * ****************************************************************************/ -FAR struct dma2d_layer_s * stm32_dma2dinitltdc(FAR struct stm32_ltdc_s *layer) +FAR struct dma2d_layer_s *stm32_dma2dinitltdc(FAR struct stm32_ltdc_s *layer) { int ret; uint8_t fmt = 0; diff --git a/arch/arm/src/stm32f7/stm32_ltdc.c b/arch/arm/src/stm32f7/stm32_ltdc.c index e19b04ff61..218546a883 100644 --- a/arch/arm/src/stm32f7/stm32_ltdc.c +++ b/arch/arm/src/stm32f7/stm32_ltdc.c @@ -3431,8 +3431,7 @@ FAR struct ltdc_layer_s *stm32_ltdcgetlayer(int lid) return (FAR struct ltdc_layer_s *) &LAYER(lid); } - lcderr("ERROR: Returning EINVAL\n"); - errno = EINVAL; + lcderr("ERROR: lid invalid: %d\n", lid); return NULL; } #endif /* CONFIG_STM32F7_LTDC_INTERFACE */ diff --git a/arch/arm/src/stm32l4/stm32l4_dac.c b/arch/arm/src/stm32l4/stm32l4_dac.c index de4ab69ffb..6918578976 100644 --- a/arch/arm/src/stm32l4/stm32l4_dac.c +++ b/arch/arm/src/stm32l4/stm32l4_dac.c @@ -1181,7 +1181,6 @@ FAR struct dac_dev_s *stm32l4_dacinitialize(int intf) #endif default: aerr("ERROR: No such DAC interface: %d\n", intf); - errno = ENODEV; return NULL; } @@ -1196,7 +1195,6 @@ FAR struct dac_dev_s *stm32l4_dacinitialize(int intf) if (ret < 0) { aerr("ERROR: Failed to initialize DAC channel %d: %d\n", intf, ret); - errno = -ret; return NULL; } diff --git a/arch/sim/src/up_devconsole.c b/arch/sim/src/up_devconsole.c index 33a15c65d4..ffe24f0d55 100644 --- a/arch/sim/src/up_devconsole.c +++ b/arch/sim/src/up_devconsole.c @@ -141,8 +141,7 @@ static ssize_t devconsole_write(struct file *filep, const char *buffer, size_t l if (ret < 0) { - set_errno(EIO); - return ERROR; + return -ret; } return len;