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

From: Andy Shevchenko
Date: Wed Aug 26 2020 - 06:54:39 EST


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@xxxxxxxxxxxxxxx>

> ---
>
> 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