Messages in this thread | | | Date | Sun, 12 Jun 2022 21:23:47 +0200 | From | Stephen Kitt <> | 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
| |