On Mon, 17 Jun 2019 12:00:56 +0200 Marco Felsch <m.felsch@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx> > --- > 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)) > + && (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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox