Message ID | 20240329075630.2069474-11-tzungbi@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 6e92e7f792eb1a5cb4dec6b888428ce32135a296 |
Headers | show |
Series | platform/chrome: provide ID table for avoiding fallback match | expand |
On 29/03/2024 08:56, Tzung-Bi Shih wrote: > Instead of using fallback driver name match, provide ID table[1] for the > primary match. > > [1]: https://elixir.bootlin.com/linux/v6.8/source/drivers/base/platform.c#L1353 > > Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Best regards, Krzysztof
On Fri, Mar 29, 2024 at 03:56:22PM +0800, Tzung-Bi Shih wrote: > Instead of using fallback driver name match, provide ID table[1] for the > primary match. > > [1]: https://elixir.bootlin.com/linux/v6.8/source/drivers/base/platform.c#L1353 > > Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org> Reviewed-by: Benson Leung <bleung@chromium.org> > --- > drivers/platform/chrome/cros_ec_sysfs.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/drivers/platform/chrome/cros_ec_sysfs.c b/drivers/platform/chrome/cros_ec_sysfs.c > index 93e67ab4af06..9c944146ee50 100644 > --- a/drivers/platform/chrome/cros_ec_sysfs.c > +++ b/drivers/platform/chrome/cros_ec_sysfs.c > @@ -8,6 +8,7 @@ > #include <linux/device.h> > #include <linux/fs.h> > #include <linux/kobject.h> > +#include <linux/mod_devicetable.h> > #include <linux/module.h> > #include <linux/platform_data/cros_ec_commands.h> > #include <linux/platform_data/cros_ec_proto.h> > @@ -347,16 +348,22 @@ static void cros_ec_sysfs_remove(struct platform_device *pd) > sysfs_remove_group(&ec_dev->class_dev.kobj, &cros_ec_attr_group); > } > > +static const struct platform_device_id cros_ec_sysfs_id[] = { > + { DRV_NAME, 0 }, > + {} > +}; > +MODULE_DEVICE_TABLE(platform, cros_ec_sysfs_id); > + > static struct platform_driver cros_ec_sysfs_driver = { > .driver = { > .name = DRV_NAME, > }, > .probe = cros_ec_sysfs_probe, > .remove_new = cros_ec_sysfs_remove, > + .id_table = cros_ec_sysfs_id, > }; > > module_platform_driver(cros_ec_sysfs_driver); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Expose the ChromeOS EC through sysfs"); > -MODULE_ALIAS("platform:" DRV_NAME); > -- > 2.44.0.478.gd926399ef9-goog > >
diff --git a/drivers/platform/chrome/cros_ec_sysfs.c b/drivers/platform/chrome/cros_ec_sysfs.c index 93e67ab4af06..9c944146ee50 100644 --- a/drivers/platform/chrome/cros_ec_sysfs.c +++ b/drivers/platform/chrome/cros_ec_sysfs.c @@ -8,6 +8,7 @@ #include <linux/device.h> #include <linux/fs.h> #include <linux/kobject.h> +#include <linux/mod_devicetable.h> #include <linux/module.h> #include <linux/platform_data/cros_ec_commands.h> #include <linux/platform_data/cros_ec_proto.h> @@ -347,16 +348,22 @@ static void cros_ec_sysfs_remove(struct platform_device *pd) sysfs_remove_group(&ec_dev->class_dev.kobj, &cros_ec_attr_group); } +static const struct platform_device_id cros_ec_sysfs_id[] = { + { DRV_NAME, 0 }, + {} +}; +MODULE_DEVICE_TABLE(platform, cros_ec_sysfs_id); + static struct platform_driver cros_ec_sysfs_driver = { .driver = { .name = DRV_NAME, }, .probe = cros_ec_sysfs_probe, .remove_new = cros_ec_sysfs_remove, + .id_table = cros_ec_sysfs_id, }; module_platform_driver(cros_ec_sysfs_driver); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Expose the ChromeOS EC through sysfs"); -MODULE_ALIAS("platform:" DRV_NAME);
Instead of using fallback driver name match, provide ID table[1] for the primary match. [1]: https://elixir.bootlin.com/linux/v6.8/source/drivers/base/platform.c#L1353 Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org> --- drivers/platform/chrome/cros_ec_sysfs.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)