pinctrl: denverton: Enable platform device in the absence of ACPI enumeration
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 26 Sep 2023 19:08:18 +0000 (22:08 +0300)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 27 Sep 2023 12:18:22 +0000 (15:18 +0300)
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.

Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/pinctrl/intel/pinctrl-denverton.c

index 0c4694cfa5941b2de2a20e7b10ee3baa798c1b67..a1a7242e045127e6c21a9c21987be242edf81a06 100644 (file)
@@ -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@linux.intel.com>");
 MODULE_DESCRIPTION("Intel Denverton SoC pinctrl/GPIO driver");
 MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:denverton-pinctrl");
 MODULE_IMPORT_NS(PINCTRL_INTEL);