pinctrl: cherryview: Switch to use intel_pinctrl_get_soc_data()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 29 Jul 2020 11:57:08 +0000 (14:57 +0300)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 20 Aug 2020 09:37:07 +0000 (12:37 +0300)
Since we have common helper to retrieve SoC data from driver data
we may switch to use it.

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

index c7f0d5d9d9d367f2f1fe15373819a7f40526ac5c..28e5f824ba45e142a4946d9f3636ae3c1d605b84 100644 (file)
@@ -18,11 +18,7 @@ config PINCTRL_BAYTRAIL
 config PINCTRL_CHERRYVIEW
        tristate "Intel Cherryview/Braswell pinctrl and GPIO driver"
        depends on ACPI
-       select PINMUX
-       select PINCONF
-       select GENERIC_PINCONF
-       select GPIOLIB
-       select GPIOLIB_IRQCHIP
+       select PINCTRL_INTEL
        help
          Cherryview/Braswell pinctrl driver provides an interface that
          allows configuring of SoC pins and using them as GPIOs.
index 86e954df82d64201d22a2e8c3721058aefd16239..e48d4445e932fe6b07e3a2b2675fa344f355aec5 100644 (file)
@@ -1605,28 +1605,17 @@ static acpi_status chv_pinctrl_mmio_access_handler(u32 function,
 
 static int chv_pinctrl_probe(struct platform_device *pdev)
 {
-       const struct intel_pinctrl_soc_data *soc_data = NULL;
-       const struct intel_pinctrl_soc_data **soc_table;
+       const struct intel_pinctrl_soc_data *soc_data;
        struct intel_community *community;
        struct device *dev = &pdev->dev;
+       struct acpi_device *adev = ACPI_COMPANION(dev);
        struct intel_pinctrl *pctrl;
-       struct acpi_device *adev;
        acpi_status status;
-       int ret, irq, i;
+       int ret, irq;
 
-       adev = ACPI_COMPANION(&pdev->dev);
-       if (!adev)
-               return -ENODEV;
-
-       soc_table = (const struct intel_pinctrl_soc_data **)device_get_match_data(dev);
-       for (i = 0; soc_table[i]; i++) {
-               if (!strcmp(adev->pnp.unique_id, soc_table[i]->uid)) {
-                       soc_data = soc_table[i];
-                       break;
-               }
-       }
-       if (!soc_data)
-               return -ENODEV;
+       soc_data = intel_pinctrl_get_soc_data(pdev);
+       if (IS_ERR(soc_data))
+               return PTR_ERR(soc_data);
 
        pctrl = devm_kzalloc(dev, sizeof(*pctrl), GFP_KERNEL);
        if (!pctrl)