[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2bd6ab78f649ba282c5369d0e969fea2@sk2.org>
Date: Sun, 12 Jun 2022 21:23:47 +0200
From: Stephen Kitt <steve@....org>
To: Alexandre Belloni <alexandre.belloni@...tlin.com>
Cc: Alessandro Zummo <a.zummo@...ertech.it>,
Dianlong Li <long17.cool@....com>,
Wolfram Sang <wsa@...nel.org>, linux-rtc@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] rtc: use simple i2c probe
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?
Regards,
Stephen
Powered by blists - more mailing lists