Re: [PATCH v1 1/1] pinctrl: denverton: Enable platform device in the absence of ACPI enumeration

From: Krzysztof Kozlowski
Date: Wed Oct 04 2023 - 04:18:10 EST


On 26/09/2023 21:08, Andy Shevchenko wrote:
> This is to cater the need for non-ACPI system whereby
> a platform device has to be created in order to bind
> with the Denverton pinctrl platform driver.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> ---
> drivers/pinctrl/intel/pinctrl-denverton.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/pinctrl/intel/pinctrl-denverton.c b/drivers/pinctrl/intel/pinctrl-denverton.c
> index 0c4694cfa594..a1a7242e0451 100644
> --- a/drivers/pinctrl/intel/pinctrl-denverton.c
> +++ b/drivers/pinctrl/intel/pinctrl-denverton.c
> @@ -257,6 +257,11 @@ static const struct acpi_device_id dnv_pinctrl_acpi_match[] = {
> };
> MODULE_DEVICE_TABLE(acpi, dnv_pinctrl_acpi_match);
>
> +static const struct platform_device_id dnv_pinctrl_platform_ids[] = {
> + { "denverton-pinctrl", (kernel_ulong_t)&dnv_soc_data },
> + { }
> +};
> +
> static struct platform_driver dnv_pinctrl_driver = {
> .probe = intel_pinctrl_probe_by_hid,
> .driver = {
> @@ -264,6 +269,7 @@ static struct platform_driver dnv_pinctrl_driver = {
> .acpi_match_table = dnv_pinctrl_acpi_match,
> .pm = &dnv_pinctrl_pm_ops,
> },
> + .id_table = dnv_pinctrl_platform_ids,
> };
>
> static int __init dnv_pinctrl_init(void)
> @@ -281,4 +287,5 @@ module_exit(dnv_pinctrl_exit);
> MODULE_AUTHOR("Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>");
> MODULE_DESCRIPTION("Intel Denverton SoC pinctrl/GPIO driver");
> MODULE_LICENSE("GPL v2");
> +MODULE_ALIAS("platform:denverton-pinctrl");

Why do you need the alias? It's the same as ID table. You most likely
miss MODULE_DEVICE_TABLE() or your table is just wrong.

Best regards,
Krzysztof