Re: [PATCH] rtc: use simple i2c probe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/06/2022 21:23:47+0200, Stephen Kitt wrote:
> Hi Alexandre,
> 
> Le 11/06/2022 16:48, Alexandre Belloni a écrit :
> > On 10/06/2022 18:23:43+0200, Stephen Kitt wrote:
> > > All these drivers have an i2c probe function which doesn't use the
> > > "struct i2c_device_id *id" parameter, so they can trivially be
> > > converted to the "probe_new" style of probe with a single argument.
> > > 
> > 
> > I think you should explain why you want to do that as the trend is to do
> > the exact opposite to allow support for those RTCS on x86 systems.
> 
> Indeed, I should have given more context. The idea is to continue the
> transition started with https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b8a1a4cd5a98a2adf8dfd6902cd98e57d910ee12
> (in 2016...). I²C drivers using probe() involve a call to i2c_match_id: in
> drivers/i2c/i2c-core-base.c,
> 
>         /*
>          * When there are no more users of probe(),
>          * rename probe_new to probe.
>          */
>         if (driver->probe_new)
>                 status = driver->probe_new(client);
>         else if (driver->probe)
>                 status = driver->probe(client,
>                                        i2c_match_id(driver->id_table,
> client));
>         else
>                 status = -EINVAL;
> 
> Many drivers don't actually need the second parameter, so instead of having
> probe() with both parameters, the goal is to switch to a probe function with
> only "struct i2c_client *". Probe functions that *do* need the "struct
> i2c_device_id" can call i2c_match_id themselves (as is done currently with
> of_match_id).
> 
> I discussed this briefly with Wolfram beginning of June at Kernel Recipes,
> and as I understood it the plan was still to continue with this transition
> (in fact, the plan was for *me* to continue with this transition).
> 
> Do you have an example of a change requiring id to support RTCs on x86
> systems?

I checked and your patch is actually fine, the issue I referred to is:

1c1b3098ae1e ("rtc: pcf85063: add i2c_device_id name matching support")


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



[Index of Archives]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux