[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200826102411.GC8849@jagdpanzerIV.localdomain>
Date: Wed, 26 Aug 2020 19:24:11 +0900
From: Sergey Senozhatsky <sergey.senozhatsky@...il.com>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Wolfram Sang <wsa@...nel.org>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
linux-i2c@...r.kernel.org, linux-acpi@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] i2c: consider devices with of_match_table during i2c
device probing
On (20/08/26 12:56), Andy Shevchenko wrote:
> > You probably meant simply:
> >
> > if (!i2c_device_match(dev, dev->driver)) {
> >
> > > status = -ENODEV;
> > > goto put_sync_adapter;
> > > }
> >
> > On the first glance it will work the same way but slightly longer in case of ID
> > table matching.
> >
> > Send a patch!
>
> 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.
There is also one more .id_table traversal done right before ->probe()
call:
driver->probe(client, i2c_match_id(driver->id_table, client))
So in the worst case we can end up doing 3 .id_table lookups.
-ss
Powered by blists - more mailing lists