Hi Javier, On Tue, Aug 6, 2019 at 12:25 AM Javier Martinez Canillas <javierm@xxxxxxxxxx> wrote: > On 7/31/19 9:44 PM, Wolfram Sang wrote: > > Hi Javier, > >> The other option is to remove i2c_of_match_device() and don't make OF match > >> to fallback to i2c_of_match_device_sysfs(). This is what happens in the ACPI > >> case, since i2c_device_match() just calls acpi_driver_match_device() directly > >> and doesn't have a wrapper function that fallbacks to sysfs matching. > >> > >> In this case an I2C device ID table would be required if the devices have to > >> be instantiated through sysfs. That way the I2C table would be used both for > >> auto-loading and also to match the device when it doesn't have an of_node. > > > > That would probably mean that only a minority of drivers will not add an I2C > > device ID table because it is easy to add an you get the sysfs feature? > > > > I believe so yes. > As Masahiro-san mentioned, this approach will still require to add a new macro > MODULE_DEVICE_TABLE(i2c_of, bar_of_match) so the OF device table is used twice. > > One to expose the "of:N*T*Cfoo,bar" and another one to expose it as "i2c:bar". > > I expect that many developers would miss adding this macro for new drivers that > are DT-only and so sysfs instantiation would not work there. So whatever is the > approach taken we should clearly document all this so drivers authors are aware. You could add a new I2C_MODULE_DEVICE_TABLE() that adds both, right? Makes it a little bit easier to check/enforce this. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds