Message ID | 20240329075630.2069474-9-tzungbi@kernel.org (mailing list archive) |
---|---|
State | New, archived |
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> > --- > drivers/platform/chrome/cros_ec_chardev.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Best regards, Krzysztof
On Fri, Mar 29, 2024 at 03:56:20PM +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_chardev.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/drivers/platform/chrome/cros_ec_chardev.c b/drivers/platform/chrome/cros_ec_chardev.c > index 81950bb2c6da..7f034ead7ae4 100644 > --- a/drivers/platform/chrome/cros_ec_chardev.c > +++ b/drivers/platform/chrome/cros_ec_chardev.c > @@ -14,6 +14,7 @@ > #include <linux/device.h> > #include <linux/fs.h> > #include <linux/miscdevice.h> > +#include <linux/mod_devicetable.h> > #include <linux/module.h> > #include <linux/notifier.h> > #include <linux/platform_data/cros_ec_chardev.h> > @@ -403,17 +404,23 @@ static void cros_ec_chardev_remove(struct platform_device *pdev) > misc_deregister(&data->misc); > } > > +static const struct platform_device_id cros_ec_chardev_id[] = { > + { DRV_NAME, 0 }, > + {} > +}; > +MODULE_DEVICE_TABLE(platform, cros_ec_chardev_id); > + > static struct platform_driver cros_ec_chardev_driver = { > .driver = { > .name = DRV_NAME, > }, > .probe = cros_ec_chardev_probe, > .remove_new = cros_ec_chardev_remove, > + .id_table = cros_ec_chardev_id, > }; > > module_platform_driver(cros_ec_chardev_driver); > > -MODULE_ALIAS("platform:" DRV_NAME); > MODULE_AUTHOR("Enric Balletbo i Serra <enric.balletbo@collabora.com>"); > MODULE_DESCRIPTION("ChromeOS EC Miscellaneous Character Driver"); > MODULE_LICENSE("GPL"); > -- > 2.44.0.478.gd926399ef9-goog > >
diff --git a/drivers/platform/chrome/cros_ec_chardev.c b/drivers/platform/chrome/cros_ec_chardev.c index 81950bb2c6da..7f034ead7ae4 100644 --- a/drivers/platform/chrome/cros_ec_chardev.c +++ b/drivers/platform/chrome/cros_ec_chardev.c @@ -14,6 +14,7 @@ #include <linux/device.h> #include <linux/fs.h> #include <linux/miscdevice.h> +#include <linux/mod_devicetable.h> #include <linux/module.h> #include <linux/notifier.h> #include <linux/platform_data/cros_ec_chardev.h> @@ -403,17 +404,23 @@ static void cros_ec_chardev_remove(struct platform_device *pdev) misc_deregister(&data->misc); } +static const struct platform_device_id cros_ec_chardev_id[] = { + { DRV_NAME, 0 }, + {} +}; +MODULE_DEVICE_TABLE(platform, cros_ec_chardev_id); + static struct platform_driver cros_ec_chardev_driver = { .driver = { .name = DRV_NAME, }, .probe = cros_ec_chardev_probe, .remove_new = cros_ec_chardev_remove, + .id_table = cros_ec_chardev_id, }; module_platform_driver(cros_ec_chardev_driver); -MODULE_ALIAS("platform:" DRV_NAME); MODULE_AUTHOR("Enric Balletbo i Serra <enric.balletbo@collabora.com>"); MODULE_DESCRIPTION("ChromeOS EC Miscellaneous Character Driver"); MODULE_LICENSE("GPL");
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_chardev.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)