On Fri, Nov 30, 2018 at 10:44:18AM +0100, Oleksij Rempel wrote: > From: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > > Current implementation will print error if system is not configured > with DMA for I2C core. At least on i.MX5x variants is DMA event for I2C > muxed with SDHC. So it is project specific configuration and not an error. > > This patch will also affect probe, since it will forward all error except > of missing DMA. > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > [ore: make it actually compile, fix a corner case] > Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> > --- > changes: > 20181130 v3: > - reword commit message > 20181112 v2: > - drop "[PATCH v1 2/3] i2c: imx: probe dma only only on i.MX50 and > later" and rebase without this patch. > - Set proper initial author > > drivers/i2c/busses/i2c-imx.c | 36 +++++++++++++++++++++--------------- > 1 file changed, 21 insertions(+), 15 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c > index c406700789e1..3c12b174bbb1 100644 > --- a/drivers/i2c/busses/i2c-imx.c > +++ b/drivers/i2c/busses/i2c-imx.c > @@ -273,7 +273,7 @@ static inline unsigned char imx_i2c_read_reg(struct imx_i2c_struct *i2c_imx, > } > > /* Functions for DMA support */ > -static void i2c_imx_dma_request(struct imx_i2c_struct *i2c_imx, > +static int i2c_imx_dma_request(struct imx_i2c_struct *i2c_imx, > dma_addr_t phy_addr) If you touch the line above, maybe also realign the followup line to start at the opening parenthesis. > { > struct imx_i2c_dma *dma; > @@ -283,11 +283,13 @@ static void i2c_imx_dma_request(struct imx_i2c_struct *i2c_imx, > > dma = devm_kzalloc(dev, sizeof(*dma), GFP_KERNEL); > if (!dma) > - return; > + return -ENOMEM; > > - dma->chan_tx = dma_request_slave_channel(dev, "tx"); > + dma->chan_tx = dma_request_chan(dev, "tx"); Maybe this is worth a separate change? Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ |