Message ID | 20170706180140.49391-1-andriy.shevchenko@linux.intel.com |
---|---|
State | Accepted |
Headers | show |
Hi, Thank you for doing this. On 06-07-17 20:01, Andy Shevchenko wrote: > For now empty ID table is not allowed with ACPI and prevents driver to be > probed. > > Add a check to allow empty ID table. > > Fixes: da10c06a044b ("i2c: Make I2C ID tables non-mandatory for DT'ed devices") > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Looks good to me: Reviewed-by: Hans de Goede <hdegoede@redhat.com> Regards, Hans > --- > drivers/i2c/i2c-core-base.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c > index c89dac7fd2e7..45231d2257ad 100644 > --- a/drivers/i2c/i2c-core-base.c > +++ b/drivers/i2c/i2c-core-base.c > @@ -354,9 +354,10 @@ static int i2c_device_probe(struct device *dev) > > /* > * An I2C ID table is not mandatory, if and only if, a suitable Device > - * Tree match table entry is supplied for the probing device. > + * Tree or ACPI match table entry is supplied for the probing device. > */ > if (!driver->id_table && > + !acpi_match_device(dev->driver->acpi_match_table, &client->dev) && > !i2c_of_match_device(dev->driver->of_match_table, client)) > return -ENODEV; > >
On Thu, Jul 06, 2017 at 09:01:40PM +0300, Andy Shevchenko wrote: > For now empty ID table is not allowed with ACPI and prevents driver to be > probed. > > Add a check to allow empty ID table. > > Fixes: da10c06a044b ("i2c: Make I2C ID tables non-mandatory for DT'ed devices") > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Do we need this for 4.13 already?
On Sat, 2017-07-08 at 21:57 +0200, Wolfram Sang wrote: > On Thu, Jul 06, 2017 at 09:01:40PM +0300, Andy Shevchenko wrote: > > For now empty ID table is not allowed with ACPI and prevents driver > > to be > > probed. > > > > Add a check to allow empty ID table. > > > > Fixes: da10c06a044b ("i2c: Make I2C ID tables non-mandatory for > > DT'ed devices") > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > Do we need this for 4.13 already? > Yes (we have NFC chip which relies on it), even better down to stable kernels which have mentioned commit.
On Thu, Jul 06, 2017 at 09:01:40PM +0300, Andy Shevchenko wrote: > For now empty ID table is not allowed with ACPI and prevents driver to be > probed. > > Add a check to allow empty ID table. > > Fixes: da10c06a044b ("i2c: Make I2C ID tables non-mandatory for DT'ed devices") > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Applied to for-4.13, thanks!
diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c index c89dac7fd2e7..45231d2257ad 100644 --- a/drivers/i2c/i2c-core-base.c +++ b/drivers/i2c/i2c-core-base.c @@ -354,9 +354,10 @@ static int i2c_device_probe(struct device *dev) /* * An I2C ID table is not mandatory, if and only if, a suitable Device - * Tree match table entry is supplied for the probing device. + * Tree or ACPI match table entry is supplied for the probing device. */ if (!driver->id_table && + !acpi_match_device(dev->driver->acpi_match_table, &client->dev) && !i2c_of_match_device(dev->driver->of_match_table, client)) return -ENODEV;
For now empty ID table is not allowed with ACPI and prevents driver to be probed. Add a check to allow empty ID table. Fixes: da10c06a044b ("i2c: Make I2C ID tables non-mandatory for DT'ed devices") Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/i2c/i2c-core-base.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)