platform/chrome: wilco_ec: telemetry: provide ID table for avoiding fallback match
authorTzung-Bi Shih <tzungbi@kernel.org>
Fri, 29 Mar 2024 07:56:27 +0000 (15:56 +0800)
committerTzung-Bi Shih <tzungbi@kernel.org>
Wed, 24 Apr 2024 08:45:58 +0000 (16:45 +0800)
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

Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20240329075630.2069474-16-tzungbi@kernel.org
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
drivers/platform/chrome/wilco_ec/telemetry.c

index b7c616f3d179bf669e4248944886cea6419efc1c..21d4cbbb009a5570c984b0e6617c93b703623267 100644 (file)
@@ -30,6 +30,7 @@
 #include <linux/cdev.h>
 #include <linux/device.h>
 #include <linux/fs.h>
+#include <linux/mod_devicetable.h>
 #include <linux/module.h>
 #include <linux/platform_data/wilco-ec.h>
 #include <linux/platform_device.h>
@@ -409,12 +410,19 @@ static void telem_device_remove(struct platform_device *pdev)
        put_device(&dev_data->dev);
 }
 
+static const struct platform_device_id telem_id[] = {
+       { DRV_NAME, 0 },
+       {}
+};
+MODULE_DEVICE_TABLE(platform, telem_id);
+
 static struct platform_driver telem_driver = {
        .probe = telem_device_probe,
        .remove_new = telem_device_remove,
        .driver = {
                .name = DRV_NAME,
        },
+       .id_table = telem_id,
 };
 
 static int __init telem_module_init(void)
@@ -466,4 +474,3 @@ module_exit(telem_module_exit);
 MODULE_AUTHOR("Nick Crews <ncrews@chromium.org>");
 MODULE_DESCRIPTION("Wilco EC telemetry driver");
 MODULE_LICENSE("GPL");
-MODULE_ALIAS("platform:" DRV_NAME);