[PATCH 4/4] i2c: gpio: add sda/scl-gpios property support

Marco Felsch m.felsch at pengutronix.de
Tue Jun 18 05:39:52 PDT 2019


Hi Antony,

On 19-06-18 13:50, Antony Pavlov wrote:
> On Mon, 17 Jun 2019 12:00:56 +0200
> Marco Felsch <m.felsch at pengutronix.de> wrote:
> 
> > The gpios property is marked as deprecated since kernel 4.15 so we
> > should support the "new" mechanism too. The new mechanism has a higher
> > priority than the deprecated one.
> > 
> > Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>
> > ---
> >  drivers/i2c/busses/i2c-gpio.c | 27 +++++++++++++++++----------
> >  1 file changed, 17 insertions(+), 10 deletions(-)
> > 
> > diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c
> > index 708193344a..9508adab06 100644
> > --- a/drivers/i2c/busses/i2c-gpio.c
> > +++ b/drivers/i2c/busses/i2c-gpio.c
> > @@ -94,18 +94,25 @@ static int of_i2c_gpio_probe(struct device_node *np,
> >  	if (!IS_ENABLED(CONFIG_OFDEVICE))
> >  		return -ENODEV;
> >  
> > -	if (of_gpio_count(np) < 2)
> > -		return -ENODEV;
> > +	pdata->sda_pin = of_get_named_gpio_flags(np, "sda-gpios", 0, NULL);
> > +	pdata->scl_pin = of_get_named_gpio_flags(np, "scl-gpios", 0, NULL);
> > +
> > +	if ((!gpio_is_valid(pdata->sda_pin) || !gpio_is_valid(pdata->sda_pin))
> 
> Double check of sda_pin here.
> 
> Can we change this line to
> 
>  +	if ((!gpio_is_valid(pdata->sda_pin) || !gpio_is_valid(pdata->scl_pin))

Thanks for covering that damn copy'n'paste failure.
@Sascha
Is it okay to prepare a follow up patch which you can squash?

Regards,
  Marco

> > +	    && (of_gpio_count(np) >= 2)) {
> > +		/* Note: The gpios property is marked as deprecated */
> > +		ret = of_get_gpio(np, 0);
> > +		if (ret < 0)
> > +			return ret;
> > +		pdata->sda_pin = ret;
> >  
> > -	ret = of_get_gpio(np, 0);
> > -	if (ret < 0)
> > -		return ret;
> > -	pdata->sda_pin = ret;
> > +		ret = of_get_gpio(np, 1);
> > +		if (ret < 0)
> > +			return ret;
> > +		pdata->scl_pin = ret;
> > +	}
> >  
> > -	ret = of_get_gpio(np, 1);
> > -	if (ret < 0)
> > -		return ret;
> > -	pdata->scl_pin = ret;
> > +	if (!gpio_is_valid(pdata->sda_pin) || !gpio_is_valid(pdata->sda_pin))
> 
> 
> Same here.
> 
>  +	if (!gpio_is_valid(pdata->sda_pin) || !gpio_is_valid(pdata->scl_pin))
> 
> 
> 
> > +		return -ENODEV;
> >  
> >  	of_property_read_u32(np, "i2c-gpio,delay-us", &pdata->udelay);
> >  
> 
> -- 
> Best regards,
>   Antony Pavlov
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list