mbox series

[00/18] platform/chrome: provide ID table for avoiding fallback match

Message ID 20240329075630.2069474-1-tzungbi@kernel.org
Headers show
Series platform/chrome: provide ID table for avoiding fallback match | expand

Message

Tzung-Bi Shih March 29, 2024, 7:56 a.m. UTC
Inspired by [1].  Turn all MODULE_ALIAS() in ChromeOS EC platform drivers into
proper platform_device_id table and MODULE_DEVICE_TABLE().

The series is basically looking for drivers from:
- `struct mfd_cell` in drivers/mfd/cros_ec_dev.c.
- grep -R MODULE_ALIAS drivers/platform/chrome/.

[1]: https://lore.kernel.org/chrome-platform/20240325-public-ucsi-h-v2-0-a6d716968bb1@chromium.org/T/#m2cc7d6f770cf0a48fb537bbaed655169c974f067

Tzung-Bi Shih (18):
  media: platform: cros-ec: provide ID table for avoiding fallback match
  gpio: cros-ec: provide ID table for avoiding fallback match
  rtc: cros-ec: provide ID table for avoiding fallback match
  platform/chrome: cros_ec_sensorhub: provide ID table for avoiding
    fallback match
  power: supply: cros_usbpd: provide ID table for avoiding fallback
    match
  platform/chrome: cros_usbpd_logger: provide ID table for avoiding
    fallback match
  platform/chrome: cros_usbpd_notify: provide ID table for avoiding
    fallback match
  platform/chrome: cros_ec_chardev: provide ID table for avoiding
    fallback match
  platform/chrome: cros_ec_debugfs: provide ID table for avoiding
    fallback match
  platform/chrome: cros_ec_sysfs: provide ID table for avoiding fallback
    match
  power: supply: cros_pchg: provide ID table for avoiding fallback match
  platform/chrome: cros_ec_lightbar: provide ID table for avoiding
    fallback match
  platform/chrome: cros_ec_vbc: provide ID table for avoiding fallback
    match
  platform/chrome: cros_kbd_led_backlight: provide ID table for avoiding
    fallback match
  platform/chrome: wilco_ec: telemetry: provide ID table for avoiding
    fallback match
  platform/chrome: wilco_ec: debugfs: provide ID table for avoiding
    fallback match
  platform/chrome: wilco_ec: event: remove redundant MODULE_ALIAS
  platform/chrome/wilco_ec: core: provide ID table for avoiding fallback
    match

 drivers/gpio/gpio-cros-ec.c                      |  8 ++++++++
 drivers/media/cec/platform/cros-ec/cros-ec-cec.c |  9 ++++++++-
 drivers/platform/chrome/cros_ec_chardev.c        |  9 ++++++++-
 drivers/platform/chrome/cros_ec_debugfs.c        |  9 ++++++++-
 drivers/platform/chrome/cros_ec_lightbar.c       |  9 ++++++++-
 drivers/platform/chrome/cros_ec_sensorhub.c      |  9 ++++++++-
 drivers/platform/chrome/cros_ec_sysfs.c          |  9 ++++++++-
 drivers/platform/chrome/cros_ec_vbc.c            |  9 ++++++++-
 drivers/platform/chrome/cros_kbd_led_backlight.c | 11 +++++++++--
 drivers/platform/chrome/cros_usbpd_logger.c      |  9 ++++++++-
 drivers/platform/chrome/cros_usbpd_notify.c      |  9 ++++++++-
 drivers/platform/chrome/wilco_ec/core.c          |  9 ++++++++-
 drivers/platform/chrome/wilco_ec/debugfs.c       |  9 ++++++++-
 drivers/platform/chrome/wilco_ec/event.c         |  1 -
 drivers/platform/chrome/wilco_ec/telemetry.c     |  9 ++++++++-
 drivers/power/supply/cros_peripheral_charger.c   | 11 +++++++++--
 drivers/power/supply/cros_usbpd-charger.c        | 11 +++++++++--
 drivers/rtc/rtc-cros-ec.c                        |  9 ++++++++-
 18 files changed, 139 insertions(+), 20 deletions(-)

Comments

Krzysztof Kozlowski March 29, 2024, 12:15 p.m. UTC | #1
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 <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
Krzysztof Kozlowski March 29, 2024, 12:15 p.m. UTC | #2
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 <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
Krzysztof Kozlowski March 29, 2024, 12:18 p.m. UTC | #3
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>

You could add everywhere:
Suggested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
but I also don't mind if that's skipped. Up to you folks.

Thanks for the changes.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
Krzysztof Kozlowski March 29, 2024, 3:50 p.m. UTC | #4
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
Krzysztof Kozlowski March 29, 2024, 3:50 p.m. UTC | #5
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
Krzysztof Kozlowski March 29, 2024, 3:51 p.m. UTC | #6
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
Krzysztof Kozlowski March 29, 2024, 3:52 p.m. UTC | #7
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
Krzysztof Kozlowski March 29, 2024, 3:55 p.m. UTC | #8
On 29/03/2024 08:56, Tzung-Bi Shih wrote:
> There is no platform driver in the file.  Remove the redundant
> MODULE_ALIAS().
> 
> Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
> ---
>  drivers/platform/chrome/wilco_ec/event.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/platform/chrome/wilco_ec/event.c b/drivers/platform/chrome/wilco_ec/event.c
> index 13291fb4214e..49043c644572 100644
> --- a/drivers/platform/chrome/wilco_ec/event.c
> +++ b/drivers/platform/chrome/wilco_ec/event.c
> @@ -575,4 +575,3 @@ module_exit(event_module_exit);
>  MODULE_AUTHOR("Nick Crews <ncrews@chromium.org>");
>  MODULE_DESCRIPTION("Wilco EC ACPI event driver");
>  MODULE_LICENSE("GPL");
> -MODULE_ALIAS("platform:" DRV_NAME);

In this case some sort of alias, maybe not necessarily platform, could
have sense. I see there ACPI ID table, so it is fine for me.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
Benson Leung March 29, 2024, 8:05 p.m. UTC | #9
On Fri, Mar 29, 2024 at 03:56:13PM +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/media/cec/platform/cros-ec/cros-ec-cec.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
> index 48ed2993d2f0..8fbbb4091455 100644
> --- a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
> +++ b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
> @@ -8,6 +8,7 @@
>  
>  #include <linux/kernel.h>
>  #include <linux/module.h>
> +#include <linux/mod_devicetable.h>
>  #include <linux/platform_device.h>
>  #include <linux/dmi.h>
>  #include <linux/pci.h>
> @@ -573,6 +574,12 @@ static void cros_ec_cec_remove(struct platform_device *pdev)
>  	}
>  }
>  
> +static const struct platform_device_id cros_ec_cec_id[] = {
> +	{ DRV_NAME, 0 },
> +	{}
> +};
> +MODULE_DEVICE_TABLE(platform, cros_ec_cec_id);
> +
>  static struct platform_driver cros_ec_cec_driver = {
>  	.probe = cros_ec_cec_probe,
>  	.remove_new = cros_ec_cec_remove,
> @@ -580,6 +587,7 @@ static struct platform_driver cros_ec_cec_driver = {
>  		.name = DRV_NAME,
>  		.pm = &cros_ec_cec_pm_ops,
>  	},
> +	.id_table = cros_ec_cec_id,
>  };
>  
>  module_platform_driver(cros_ec_cec_driver);
> @@ -587,4 +595,3 @@ module_platform_driver(cros_ec_cec_driver);
>  MODULE_DESCRIPTION("CEC driver for ChromeOS ECs");
>  MODULE_AUTHOR("Neil Armstrong <narmstrong@baylibre.com>");
>  MODULE_LICENSE("GPL");
> -MODULE_ALIAS("platform:" DRV_NAME);
> -- 
> 2.44.0.478.gd926399ef9-goog
> 
>
Benson Leung March 29, 2024, 8:07 p.m. UTC | #10
On Fri, Mar 29, 2024 at 03:56:15PM +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/rtc/rtc-cros-ec.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/rtc/rtc-cros-ec.c b/drivers/rtc/rtc-cros-ec.c
> index 0cd397c04ff0..f57462c7b2c6 100644
> --- a/drivers/rtc/rtc-cros-ec.c
> +++ b/drivers/rtc/rtc-cros-ec.c
> @@ -5,6 +5,7 @@
>  // Author: Stephen Barber <smbarber@chromium.org>
>  
>  #include <linux/kernel.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>
> @@ -392,6 +393,12 @@ static void cros_ec_rtc_remove(struct platform_device *pdev)
>  		dev_err(dev, "failed to unregister notifier\n");
>  }
>  
> +static const struct platform_device_id cros_ec_rtc_id[] = {
> +	{ DRV_NAME, 0 },
> +	{}
> +};
> +MODULE_DEVICE_TABLE(platform, cros_ec_rtc_id);
> +
>  static struct platform_driver cros_ec_rtc_driver = {
>  	.probe = cros_ec_rtc_probe,
>  	.remove_new = cros_ec_rtc_remove,
> @@ -399,6 +406,7 @@ static struct platform_driver cros_ec_rtc_driver = {
>  		.name = DRV_NAME,
>  		.pm = &cros_ec_rtc_pm_ops,
>  	},
> +	.id_table = cros_ec_rtc_id,
>  };
>  
>  module_platform_driver(cros_ec_rtc_driver);
> @@ -406,4 +414,3 @@ module_platform_driver(cros_ec_rtc_driver);
>  MODULE_DESCRIPTION("RTC driver for Chrome OS ECs");
>  MODULE_AUTHOR("Stephen Barber <smbarber@chromium.org>");
>  MODULE_LICENSE("GPL v2");
> -MODULE_ALIAS("platform:" DRV_NAME);
> -- 
> 2.44.0.478.gd926399ef9-goog
> 
>
Benson Leung March 29, 2024, 8:09 p.m. UTC | #11
On Fri, Mar 29, 2024 at 03:56:17PM +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/power/supply/cros_usbpd-charger.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/power/supply/cros_usbpd-charger.c b/drivers/power/supply/cros_usbpd-charger.c
> index b6c96376776a..8008e31c0c09 100644
> --- a/drivers/power/supply/cros_usbpd-charger.c
> +++ b/drivers/power/supply/cros_usbpd-charger.c
> @@ -5,6 +5,7 @@
>   * Copyright (c) 2014 - 2018 Google, Inc
>   */
>  
> +#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>
> @@ -711,16 +712,22 @@ static int cros_usbpd_charger_resume(struct device *dev)
>  static SIMPLE_DEV_PM_OPS(cros_usbpd_charger_pm_ops, NULL,
>  			 cros_usbpd_charger_resume);
>  
> +static const struct platform_device_id cros_usbpd_charger_id[] = {
> +	{ DRV_NAME, 0 },
> +	{}
> +};
> +MODULE_DEVICE_TABLE(platform, cros_usbpd_charger_id);
> +
>  static struct platform_driver cros_usbpd_charger_driver = {
>  	.driver = {
>  		.name = DRV_NAME,
>  		.pm = &cros_usbpd_charger_pm_ops,
>  	},
> -	.probe = cros_usbpd_charger_probe
> +	.probe = cros_usbpd_charger_probe,
> +	.id_table = cros_usbpd_charger_id,
>  };
>  
>  module_platform_driver(cros_usbpd_charger_driver);
>  
>  MODULE_LICENSE("GPL");
>  MODULE_DESCRIPTION("ChromeOS EC USBPD charger");
> -MODULE_ALIAS("platform:" DRV_NAME);
> -- 
> 2.44.0.478.gd926399ef9-goog
>
Benson Leung March 29, 2024, 8:13 p.m. UTC | #12
On Fri, Mar 29, 2024 at 03:56:19PM +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_usbpd_notify.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/chrome/cros_usbpd_notify.c b/drivers/platform/chrome/cros_usbpd_notify.c
> index aacad022f21d..c83f81d86483 100644
> --- a/drivers/platform/chrome/cros_usbpd_notify.c
> +++ b/drivers/platform/chrome/cros_usbpd_notify.c
> @@ -6,6 +6,7 @@
>   */
>  
>  #include <linux/acpi.h>
> +#include <linux/mod_devicetable.h>
>  #include <linux/module.h>
>  #include <linux/platform_data/cros_ec_proto.h>
>  #include <linux/platform_data/cros_usbpd_notify.h>
> @@ -218,12 +219,19 @@ static void cros_usbpd_notify_remove_plat(struct platform_device *pdev)
>  					   &pdnotify->nb);
>  }
>  
> +static const struct platform_device_id cros_usbpd_notify_id[] = {
> +	{ DRV_NAME, 0 },
> +	{}
> +};
> +MODULE_DEVICE_TABLE(platform, cros_usbpd_notify_id);
> +
>  static struct platform_driver cros_usbpd_notify_plat_driver = {
>  	.driver = {
>  		.name = DRV_NAME,
>  	},
>  	.probe = cros_usbpd_notify_probe_plat,
>  	.remove_new = cros_usbpd_notify_remove_plat,
> +	.id_table = cros_usbpd_notify_id,
>  };
>  
>  static int __init cros_usbpd_notify_init(void)
> @@ -258,4 +266,3 @@ module_exit(cros_usbpd_notify_exit);
>  MODULE_LICENSE("GPL");
>  MODULE_DESCRIPTION("ChromeOS power delivery notifier device");
>  MODULE_AUTHOR("Jon Flatley <jflat@chromium.org>");
> -MODULE_ALIAS("platform:" DRV_NAME);
> -- 
> 2.44.0.478.gd926399ef9-goog
> 
>
Benson Leung March 29, 2024, 8:14 p.m. UTC | #13
On Fri, Mar 29, 2024 at 03:56:21PM +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_debugfs.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/chrome/cros_ec_debugfs.c b/drivers/platform/chrome/cros_ec_debugfs.c
> index 6bf6f0e7b597..e1d313246beb 100644
> --- a/drivers/platform/chrome/cros_ec_debugfs.c
> +++ b/drivers/platform/chrome/cros_ec_debugfs.c
> @@ -7,6 +7,7 @@
>  #include <linux/debugfs.h>
>  #include <linux/delay.h>
>  #include <linux/fs.h>
> +#include <linux/mod_devicetable.h>
>  #include <linux/module.h>
>  #include <linux/mutex.h>
>  #include <linux/platform_data/cros_ec_commands.h>
> @@ -564,6 +565,12 @@ static int __maybe_unused cros_ec_debugfs_resume(struct device *dev)
>  static SIMPLE_DEV_PM_OPS(cros_ec_debugfs_pm_ops,
>  			 cros_ec_debugfs_suspend, cros_ec_debugfs_resume);
>  
> +static const struct platform_device_id cros_ec_debugfs_id[] = {
> +	{ DRV_NAME, 0 },
> +	{}
> +};
> +MODULE_DEVICE_TABLE(platform, cros_ec_debugfs_id);
> +
>  static struct platform_driver cros_ec_debugfs_driver = {
>  	.driver = {
>  		.name = DRV_NAME,
> @@ -572,10 +579,10 @@ static struct platform_driver cros_ec_debugfs_driver = {
>  	},
>  	.probe = cros_ec_debugfs_probe,
>  	.remove_new = cros_ec_debugfs_remove,
> +	.id_table = cros_ec_debugfs_id,
>  };
>  
>  module_platform_driver(cros_ec_debugfs_driver);
>  
>  MODULE_LICENSE("GPL");
>  MODULE_DESCRIPTION("Debug logs for ChromeOS EC");
> -MODULE_ALIAS("platform:" DRV_NAME);
> -- 
> 2.44.0.478.gd926399ef9-goog
> 
>
Benson Leung March 29, 2024, 8:16 p.m. UTC | #14
On Fri, Mar 29, 2024 at 03:56:23PM +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/power/supply/cros_peripheral_charger.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/power/supply/cros_peripheral_charger.c b/drivers/power/supply/cros_peripheral_charger.c
> index a204f2355be4..d406f2a78449 100644
> --- a/drivers/power/supply/cros_peripheral_charger.c
> +++ b/drivers/power/supply/cros_peripheral_charger.c
> @@ -5,6 +5,7 @@
>   * Copyright 2020 Google LLC.
>   */
>  
> +#include <linux/mod_devicetable.h>
>  #include <linux/module.h>
>  #include <linux/notifier.h>
>  #include <linux/platform_data/cros_ec_commands.h>
> @@ -367,16 +368,22 @@ static int __maybe_unused cros_pchg_resume(struct device *dev)
>  
>  static SIMPLE_DEV_PM_OPS(cros_pchg_pm_ops, NULL, cros_pchg_resume);
>  
> +static const struct platform_device_id cros_pchg_id[] = {
> +	{ DRV_NAME, 0 },
> +	{}
> +};
> +MODULE_DEVICE_TABLE(platform, cros_pchg_id);
> +
>  static struct platform_driver cros_pchg_driver = {
>  	.driver = {
>  		.name = DRV_NAME,
>  		.pm = &cros_pchg_pm_ops,
>  	},
> -	.probe = cros_pchg_probe
> +	.probe = cros_pchg_probe,
> +	.id_table = cros_pchg_id,
>  };
>  
>  module_platform_driver(cros_pchg_driver);
>  
>  MODULE_LICENSE("GPL");
>  MODULE_DESCRIPTION("ChromeOS EC peripheral device charger");
> -MODULE_ALIAS("platform:" DRV_NAME);
> -- 
> 2.44.0.478.gd926399ef9-goog
>
Benson Leung March 29, 2024, 8:19 p.m. UTC | #15
On Fri, Mar 29, 2024 at 03:56:25PM +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_vbc.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/chrome/cros_ec_vbc.c b/drivers/platform/chrome/cros_ec_vbc.c
> index 274ea0c64b33..787a19db4911 100644
> --- a/drivers/platform/chrome/cros_ec_vbc.c
> +++ b/drivers/platform/chrome/cros_ec_vbc.c
> @@ -6,6 +6,7 @@
>  
>  #include <linux/of.h>
>  #include <linux/platform_device.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>
> @@ -133,16 +134,22 @@ static void cros_ec_vbc_remove(struct platform_device *pd)
>  			   &cros_ec_vbc_attr_group);
>  }
>  
> +static const struct platform_device_id cros_ec_vbc_id[] = {
> +	{ DRV_NAME, 0 },
> +	{}
> +};
> +MODULE_DEVICE_TABLE(platform, cros_ec_vbc_id);
> +
>  static struct platform_driver cros_ec_vbc_driver = {
>  	.driver = {
>  		.name = DRV_NAME,
>  	},
>  	.probe = cros_ec_vbc_probe,
>  	.remove_new = cros_ec_vbc_remove,
> +	.id_table = cros_ec_vbc_id,
>  };
>  
>  module_platform_driver(cros_ec_vbc_driver);
>  
>  MODULE_LICENSE("GPL");
>  MODULE_DESCRIPTION("Expose the vboot context nvram to userspace");
> -MODULE_ALIAS("platform:" DRV_NAME);
> -- 
> 2.44.0.478.gd926399ef9-goog
> 
>
Benson Leung March 29, 2024, 8:21 p.m. UTC | #16
On Fri, Mar 29, 2024 at 03:56:27PM +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/wilco_ec/telemetry.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/chrome/wilco_ec/telemetry.c b/drivers/platform/chrome/wilco_ec/telemetry.c
> index b7c616f3d179..21d4cbbb009a 100644
> --- a/drivers/platform/chrome/wilco_ec/telemetry.c
> +++ b/drivers/platform/chrome/wilco_ec/telemetry.c
> @@ -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);
> -- 
> 2.44.0.478.gd926399ef9-goog
> 
>
Benson Leung March 29, 2024, 8:22 p.m. UTC | #17
On Fri, Mar 29, 2024 at 03:56:29PM +0800, Tzung-Bi Shih wrote:
> There is no platform driver in the file.  Remove the redundant
> MODULE_ALIAS().
> 
> Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>

Reviewed-by: Benson Leung <bleung@chromium.org>

> ---
>  drivers/platform/chrome/wilco_ec/event.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/platform/chrome/wilco_ec/event.c b/drivers/platform/chrome/wilco_ec/event.c
> index 13291fb4214e..49043c644572 100644
> --- a/drivers/platform/chrome/wilco_ec/event.c
> +++ b/drivers/platform/chrome/wilco_ec/event.c
> @@ -575,4 +575,3 @@ module_exit(event_module_exit);
>  MODULE_AUTHOR("Nick Crews <ncrews@chromium.org>");
>  MODULE_DESCRIPTION("Wilco EC ACPI event driver");
>  MODULE_LICENSE("GPL");
> -MODULE_ALIAS("platform:" DRV_NAME);
> -- 
> 2.44.0.478.gd926399ef9-goog
> 
>
Prashant Malani March 29, 2024, 10:06 p.m. UTC | #18
On Fri, Mar 29, 2024 at 12:57 AM Tzung-Bi Shih <tzungbi@kernel.org> 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>
Acked-by: Prashant Malani <pmalani@chromium.org>
patchwork-bot+chrome-platform@kernel.org April 1, 2024, 2:30 a.m. UTC | #19
Hello:

This series was applied to chrome-platform/linux.git (for-kernelci)
by Tzung-Bi Shih <tzungbi@kernel.org>:

On Fri, 29 Mar 2024 15:56:12 +0800 you wrote:
> Inspired by [1].  Turn all MODULE_ALIAS() in ChromeOS EC platform drivers into
> proper platform_device_id table and MODULE_DEVICE_TABLE().
> 
> The series is basically looking for drivers from:
> - `struct mfd_cell` in drivers/mfd/cros_ec_dev.c.
> - grep -R MODULE_ALIAS drivers/platform/chrome/.
> 
> [...]

Here is the summary with links:
  - [01/18] media: platform: cros-ec: provide ID table for avoiding fallback match
    (no matching commit)
  - [02/18] gpio: cros-ec: provide ID table for avoiding fallback match
    (no matching commit)
  - [03/18] rtc: cros-ec: provide ID table for avoiding fallback match
    (no matching commit)
  - [04/18] platform/chrome: cros_ec_sensorhub: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/12e981d4d643
  - [05/18] power: supply: cros_usbpd: provide ID table for avoiding fallback match
    (no matching commit)
  - [06/18] platform/chrome: cros_usbpd_logger: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/2b895835bd56
  - [07/18] platform/chrome: cros_usbpd_notify: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/522b9910fa25
  - [08/18] platform/chrome: cros_ec_chardev: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/e4d063f262df
  - [09/18] platform/chrome: cros_ec_debugfs: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/e26205b5728f
  - [10/18] platform/chrome: cros_ec_sysfs: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/6e92e7f792eb
  - [11/18] power: supply: cros_pchg: provide ID table for avoiding fallback match
    (no matching commit)
  - [12/18] platform/chrome: cros_ec_lightbar: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/4f6b823b5caa
  - [13/18] platform/chrome: cros_ec_vbc: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/883030dae2d2
  - [14/18] platform/chrome: cros_kbd_led_backlight: provide ID table for avoiding fallback match
    (no matching commit)
  - [15/18] platform/chrome: wilco_ec: telemetry: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/b17dd111645b
  - [16/18] platform/chrome: wilco_ec: debugfs: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/c0649ca22fe8
  - [17/18] platform/chrome: wilco_ec: event: remove redundant MODULE_ALIAS
    https://git.kernel.org/chrome-platform/c/fc87ba8e4525
  - [18/18] platform/chrome/wilco_ec: core: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/d8db2c6d7b0e

You are awesome, thank you!
patchwork-bot+chrome-platform@kernel.org April 1, 2024, 2:30 a.m. UTC | #20
Hello:

This series was applied to chrome-platform/linux.git (for-next)
by Tzung-Bi Shih <tzungbi@kernel.org>:

On Fri, 29 Mar 2024 15:56:12 +0800 you wrote:
> Inspired by [1].  Turn all MODULE_ALIAS() in ChromeOS EC platform drivers into
> proper platform_device_id table and MODULE_DEVICE_TABLE().
> 
> The series is basically looking for drivers from:
> - `struct mfd_cell` in drivers/mfd/cros_ec_dev.c.
> - grep -R MODULE_ALIAS drivers/platform/chrome/.
> 
> [...]

Here is the summary with links:
  - [01/18] media: platform: cros-ec: provide ID table for avoiding fallback match
    (no matching commit)
  - [02/18] gpio: cros-ec: provide ID table for avoiding fallback match
    (no matching commit)
  - [03/18] rtc: cros-ec: provide ID table for avoiding fallback match
    (no matching commit)
  - [04/18] platform/chrome: cros_ec_sensorhub: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/12e981d4d643
  - [05/18] power: supply: cros_usbpd: provide ID table for avoiding fallback match
    (no matching commit)
  - [06/18] platform/chrome: cros_usbpd_logger: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/2b895835bd56
  - [07/18] platform/chrome: cros_usbpd_notify: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/522b9910fa25
  - [08/18] platform/chrome: cros_ec_chardev: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/e4d063f262df
  - [09/18] platform/chrome: cros_ec_debugfs: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/e26205b5728f
  - [10/18] platform/chrome: cros_ec_sysfs: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/6e92e7f792eb
  - [11/18] power: supply: cros_pchg: provide ID table for avoiding fallback match
    (no matching commit)
  - [12/18] platform/chrome: cros_ec_lightbar: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/4f6b823b5caa
  - [13/18] platform/chrome: cros_ec_vbc: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/883030dae2d2
  - [14/18] platform/chrome: cros_kbd_led_backlight: provide ID table for avoiding fallback match
    (no matching commit)
  - [15/18] platform/chrome: wilco_ec: telemetry: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/b17dd111645b
  - [16/18] platform/chrome: wilco_ec: debugfs: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/c0649ca22fe8
  - [17/18] platform/chrome: wilco_ec: event: remove redundant MODULE_ALIAS
    https://git.kernel.org/chrome-platform/c/fc87ba8e4525
  - [18/18] platform/chrome/wilco_ec: core: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/d8db2c6d7b0e

You are awesome, thank you!
patchwork-bot+chrome-platform@kernel.org April 3, 2024, 7:20 a.m. UTC | #21
Hello:

This series was applied to chrome-platform/linux.git (for-next)
by Tzung-Bi Shih <tzungbi@kernel.org>:

On Fri, 29 Mar 2024 15:56:12 +0800 you wrote:
> Inspired by [1].  Turn all MODULE_ALIAS() in ChromeOS EC platform drivers into
> proper platform_device_id table and MODULE_DEVICE_TABLE().
> 
> The series is basically looking for drivers from:
> - `struct mfd_cell` in drivers/mfd/cros_ec_dev.c.
> - grep -R MODULE_ALIAS drivers/platform/chrome/.
> 
> [...]

Here is the summary with links:
  - [01/18] media: platform: cros-ec: provide ID table for avoiding fallback match
    (no matching commit)
  - [02/18] gpio: cros-ec: provide ID table for avoiding fallback match
    (no matching commit)
  - [03/18] rtc: cros-ec: provide ID table for avoiding fallback match
    (no matching commit)
  - [04/18] platform/chrome: cros_ec_sensorhub: provide ID table for avoiding fallback match
    (no matching commit)
  - [05/18] power: supply: cros_usbpd: provide ID table for avoiding fallback match
    (no matching commit)
  - [06/18] platform/chrome: cros_usbpd_logger: provide ID table for avoiding fallback match
    (no matching commit)
  - [07/18] platform/chrome: cros_usbpd_notify: provide ID table for avoiding fallback match
    (no matching commit)
  - [08/18] platform/chrome: cros_ec_chardev: provide ID table for avoiding fallback match
    (no matching commit)
  - [09/18] platform/chrome: cros_ec_debugfs: provide ID table for avoiding fallback match
    (no matching commit)
  - [10/18] platform/chrome: cros_ec_sysfs: provide ID table for avoiding fallback match
    (no matching commit)
  - [11/18] power: supply: cros_pchg: provide ID table for avoiding fallback match
    (no matching commit)
  - [12/18] platform/chrome: cros_ec_lightbar: provide ID table for avoiding fallback match
    (no matching commit)
  - [13/18] platform/chrome: cros_ec_vbc: provide ID table for avoiding fallback match
    (no matching commit)
  - [14/18] platform/chrome: cros_kbd_led_backlight: provide ID table for avoiding fallback match
    https://git.kernel.org/chrome-platform/c/d91ca83599cd
  - [15/18] platform/chrome: wilco_ec: telemetry: provide ID table for avoiding fallback match
    (no matching commit)
  - [16/18] platform/chrome: wilco_ec: debugfs: provide ID table for avoiding fallback match
    (no matching commit)
  - [17/18] platform/chrome: wilco_ec: event: remove redundant MODULE_ALIAS
    (no matching commit)
  - [18/18] platform/chrome/wilco_ec: core: provide ID table for avoiding fallback match
    (no matching commit)

You are awesome, thank you!