[PATCH v2] clk: samsung: exynos-clkout: Remove misleading of_match_table/MODULE_DEVICE_TABLE
William McVicker
willmcvicker at google.com
Wed May 1 09:49:50 PDT 2024
On 04/26/2024, Marek Szyprowski wrote:
> Since commit 9484f2cb8332 ("clk: samsung: exynos-clkout: convert to
> module driver") this driver is instantiated as MFD-cell (matched by
> platform device name) not as a real platform device created by OF code.
> Remove of_match_table and change related MODULE_DEVICE_TABLE to simple
> MODULE_ALIAS to avoid further confusion.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
> ---
> drivers/clk/samsung/clk-exynos-clkout.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/clk/samsung/clk-exynos-clkout.c b/drivers/clk/samsung/clk-exynos-clkout.c
> index 503c6f5b20d5..e2968784d307 100644
> --- a/drivers/clk/samsung/clk-exynos-clkout.c
> +++ b/drivers/clk/samsung/clk-exynos-clkout.c
> @@ -75,7 +75,6 @@ static const struct of_device_id exynos_clkout_ids[] = {
> .data = &exynos_clkout_exynos5,
> }, { }
> };
> -MODULE_DEVICE_TABLE(of, exynos_clkout_ids);
>
> /*
> * Device will be instantiated as child of PMU device without its own
> @@ -237,7 +236,6 @@ static SIMPLE_DEV_PM_OPS(exynos_clkout_pm_ops, exynos_clkout_suspend,
> static struct platform_driver exynos_clkout_driver = {
> .driver = {
> .name = "exynos-clkout",
> - .of_match_table = exynos_clkout_ids,
> .pm = &exynos_clkout_pm_ops,
> },
> .probe = exynos_clkout_probe,
> @@ -248,4 +246,5 @@ module_platform_driver(exynos_clkout_driver);
> MODULE_AUTHOR("Krzysztof Kozlowski <krzk at kernel.org>");
> MODULE_AUTHOR("Tomasz Figa <tomasz.figa at gmail.com>");
> MODULE_DESCRIPTION("Samsung Exynos clock output driver");
> +MODULE_ALIAS("platform:exynos-clkout");
As mentioned by Krzysztof in v1, please create a `platform_device_id` table so
that this is scalable in case we need to add other aliases in the future. For
example, something like this:
static const struct platform_device_id exynos_clkout_platform_ids[] = {
{ "exynos-clkout" },
{}
};
MODULE_DEVICE_TABLE(platform, exynos_clkout_platform_ids);
static struct platform_driver exynos_clkout_driver = {
.driver = {
.name = "exynos-clkout",
.pm = &exynos_clkout_pm_ops,
},
.probe = exynos_clkout_probe,
.id_table = exynos_clkout_platform_ids,
...
Thanks,
Will
More information about the linux-arm-kernel
mailing list