Re: [PATCH 1/2] i2c: consider devices with of_match_table during i2c device probing

Wolfram Sang
2020-08-26T11:24:02Z

[-- Attachment #1: Type: text/plain, Size: 1805 bytes --]

On Wed, Aug 26, 2020 at 01:54:26PM +0300, Andy Shevchenko wrote:
> On Wed, Aug 26, 2020 at 07:38:07PM +0900, Sergey Senozhatsky wrote:
> > On (20/08/26 19:24), Sergey Senozhatsky wrote:
> > > > But then the question is why we have this code in the ->probe() at all?
> > > > ->match() is run before probe by bus core, no?
> > >
> > > That's a good question.
> >
> > Everything seem to be working OK on my test board with this patch:
>
> I'm okay with it, but I want to hear Wolfram about this.
> If it gets a green light to go, feel free to add
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Sergey,

Can you send a proper patch (with patch description) and me and Jean
Delvare <jdelvare@suse.de> in the To: field?

The origins of this matching code are pretty old and Jean is more
experienced there than I am. Nonetheless, I will check it, too, of
course.

Thanks for the work!

>
> > ---
> >
> > diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
> > index 5ec082e2039d..77eea5c0bc71 100644
> > --- a/drivers/i2c/i2c-core-base.c
> > +++ b/drivers/i2c/i2c-core-base.c
> > @@ -475,17 +475,6 @@ static int i2c_device_probe(struct device *dev)
> >
> > driver = to_i2c_driver(dev->driver);
> >
> > - /*
> > - * An I2C ID table is not mandatory, if and only if, a suitable OF
> > - * or ACPI ID table is supplied for the probing device.
> > - */
> > - if (!driver->id_table &&
> > - !acpi_driver_match_device(dev, dev->driver) &&
> > - !i2c_of_match_device(dev->driver->of_match_table, client)) {
> > - status = -ENODEV;
> > - goto put_sync_adapter;
> > - }
> > -
> > if (client->flags & I2C_CLIENT_WAKE) {
> > int wakeirq;
> >
>
> --
> With Best Regards,
> Andy Shevchenko
>
>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]