[PATCH] i2c: stm32: remove unnecessary DMA kernel error log

Alain Volmat alain.volmat at st.com
Thu Sep 10 05:30:19 EDT 2020


Hi Holger,

Thanks for your patch.
there is an ongoing tree wide action to update all those common pattern
of checking for the -EPROBE_DEFER.

I thus propose, to first integrate the patch [i2c: stm32: Simplify with dev_err_probe()] that has been proposed few days ago, and on top of that add an
additional patch to check for the -ENODEV error case due to DMA being
optional.

I've prepared a patch for that and will post it now, could you consider it ?

Alain

On Fri, Aug 14, 2020 at 02:13:55PM +0000, Holger Assmann wrote:
> We currently print errors twice when there is an actual error
> when requesting a DMA channel, once in stm32f7_i2c_probe()
> when stm32_i2c_dma_request() fails and once more in
> stm32_i2c_dma_request() itself. stm32_i2c_dma_request() is only
> called from stm32f7_i2c_probe(), so we could drop the duplicate
> error message.
> 
> This has the effect that we no longer warn about absence of a
> DMA channel. This is intended as it is not mandatory for the
> i2c-stm32 devices to have DMA enabled.  Also, the overall number
> of DMA channels on the STM32 is limited and has to be shared
> with other peripherals. This may lead to DMA being intentionally
> off for specific devices.
> 
> This patch removes the unnecessary error message.
> 
> Fixes: e07a89775c71 ("i2c: stm32: don't print an error on probe deferral")
> Signed-off-by: Holger Assmann <h.assmann at pengutronix.de>
> ---
>  drivers/i2c/busses/i2c-stm32.c | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-stm32.c b/drivers/i2c/busses/i2c-stm32.c
> index 3f69a3bb6119..cc05a4202559 100644
> --- a/drivers/i2c/busses/i2c-stm32.c
> +++ b/drivers/i2c/busses/i2c-stm32.c
> @@ -26,8 +26,6 @@ struct stm32_i2c_dma *stm32_i2c_dma_request(struct device *dev,
>  	dma->chan_tx = dma_request_chan(dev, "tx");
>  	if (IS_ERR(dma->chan_tx)) {
>  		ret = PTR_ERR(dma->chan_tx);
> -		if (ret != -EPROBE_DEFER)
> -			dev_err(dev, "can't request DMA tx channel\n");
>  		goto fail_al;
>  	}
>  
> @@ -46,9 +44,6 @@ struct stm32_i2c_dma *stm32_i2c_dma_request(struct device *dev,
>  	dma->chan_rx = dma_request_chan(dev, "rx");
>  	if (IS_ERR(dma->chan_rx)) {
>  		ret = PTR_ERR(dma->chan_rx);
> -		if (ret != -EPROBE_DEFER)
> -			dev_err(dev, "can't request DMA rx channel\n");
> -
>  		goto fail_tx;
>  	}
>  
> -- 
> 2.20.1
> 



More information about the linux-arm-kernel mailing list