Message ID | 20200814141355.3816-1-h.assmann@pengutronix.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | i2c: stm32: remove unnecessary DMA kernel error log | expand |
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@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 >
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; }
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@pengutronix.de> --- drivers/i2c/busses/i2c-stm32.c | 5 ----- 1 file changed, 5 deletions(-)