On Wed, Jul 4, 2018 at 12:09 PM, Nikolaus Voss <nikolaus.voss@xxxxxxxxxxxxxxxxxxxxx> wrote: > On Wed, 4 Jul 2018, Andy Shevchenko wrote: >> >> On Wed, Jul 4, 2018 at 9:37 AM, Nikolaus Voss >> <nikolaus.voss@xxxxxxxxxxxxxxxxxxxxx> wrote: >>> >>> On Wed, 4 Jul 2018, Andy Shevchenko wrote: >>>> >>>> >>>> On Tue, Jul 3, 2018 at 9:06 AM, Nikolaus Voss >>>> <nikolaus.voss@xxxxxxxxxxxxxxxxxxxxx> wrote: >>>>> >>>>> >>>>> struct i2c_device_id argument of probe() is not used, so use >>>>> probe_new() >>>>> instead. >>>>> >>>> >>>> This makes... >>>> >>>>> MODULE_DEVICE_TABLE(i2c, st_accel_id_table); >>>> >>>> >>>> >>>> ...this table obsolete IIUC. At least that's what I did when switched >>>> to ->probe_new() in some drivers. >>>> >>>> If I'm mistaken (again? :-) ) I would hear from someone to point me >>>> how it can be used after a switch. >>> >>> >>> >>> It is still used by the i2c-core in i2c_device_match() if DT and ACPI >>> matching fails. >> >> >>> And it is used to create the corresponding modaliases for >>> driver loading. >> >> >> My question is "How?!" >> I don't really see any points to match against it after switching to >> ->probe_new(). >> >> Could you point me to the code path in i2c (or OF?) core for that? > > > As written above in i2c-core-base.c: i2c_device_match() -> > i2c_match_id(driver->id_table,... > > This is used for driver matching before probe() or probe_new() of the device > driver can be called. probe_new() actually is a function signature change > only. Okay, IIUC we got a match. What should we do with it? The table is not used in ->probe_new() (in i2c core), so, you can't say which line matched there. -- With Best Regards, Andy Shevchenko -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html