On Thu, Mar 28, 2024 at 01:16:36PM +0100, Krzysztof Kozlowski wrote: > On 28/03/2024 10:57, Tzung-Bi Shih wrote: > > By looking other use cases of mfd_add_hotplug_devices(): > > $ grep -R --files-with-matches mfd_add_hotplug_devices drivers/mfd/ > > drivers/mfd/dln2.c > > drivers/mfd/cros_ec_dev.c > > drivers/mfd/viperboard.c > > > > They also have no ID tables and need MODULE_ALIAS(). > > - drivers/gpio/gpio-dln2.c > > - drivers/i2c/busses/i2c-dln2.c > > - drivers/spi/spi-dln2.c > > - drivers/iio/adc/dln2-adc.c > > - drivers/gpio/gpio-viperboard.c > > - drivers/i2c/busses/i2c-viperboard.c > > - drivers/iio/adc/viperboard_adc.c > > So if there is a bug in some driver, you are allowed to add it? :) There > is plenty of poor examples, so what I was suggesting to look for good > examples. I agree that itself might be a tricky task. > > > I'm not sure whether using the path results in: > > - Lack of device ID table. > > - Need MODULE_ALIAS(). > > in the platform device drivers. And perhaps it relies on the fallback match? > > Guys, think for a sec. If you are adding module alias being equivalent > to platform ID table entry, then why you are not using the platform ID > table entry in the first? That's the entire point. > > So to repeat myself: > If you need it, usually it means your device ID table is wrong (e.g. > misses either entries or MODULE_DEVICE_TABLE()). > > MODULE_ALIAS() is not a substitute for incomplete ID table. Thanks. I see. Yet another example in: drivers/mfd/max8997.c and drivers/rtc/rtc-max8997.c. We should be able to use a platform_device_id, MODULE_DEVICE_TABLE(), and `.id_table` for matching. If that works, I think we need to turn most MODULE_ALIAS() use cases in drivers/platform/chrome/ to this way afterward.