Add a Kconfig to control whether pinctrl is represented as a single ACPI
device or as multiple devices. In the latter case (the default) we should
return the pin number relative to the pinctrl device.

Signed-off-by: Simon Glass <s...@chromium.org>
---

 drivers/pinctrl/intel/Kconfig   | 4 ++++
 drivers/pinctrl/intel/pinctrl.c | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/drivers/pinctrl/intel/Kconfig b/drivers/pinctrl/intel/Kconfig
index e62a2e0349..05a314af88 100644
--- a/drivers/pinctrl/intel/Kconfig
+++ b/drivers/pinctrl/intel/Kconfig
@@ -15,6 +15,10 @@ config INTEL_PINCTRL_IOSTANDBY
        bool
        default y
 
+config INTEL_PINCTRL_MULTI_ACPI_DEVICES
+       bool
+       default y
+
 config PINCTRL_INTEL_APL
        bool "Support Intel Apollo Lake (APL)"
        help
diff --git a/drivers/pinctrl/intel/pinctrl.c b/drivers/pinctrl/intel/pinctrl.c
index 68955f66ed..8204add295 100644
--- a/drivers/pinctrl/intel/pinctrl.c
+++ b/drivers/pinctrl/intel/pinctrl.c
@@ -424,6 +424,8 @@ int intel_pinctrl_get_acpi_pin(struct udevice *dev, uint 
offset)
        const struct pad_community *comm = priv->comm;
        int group;
 
+       if (IS_ENABLED(CONFIG_INTEL_PINCTRL_MULTI_ACPI_DEVICES))
+               return offset;
        group = pinctrl_group_index(comm, offset);
 
        /* If pad base is not set then use GPIO number as ACPI pin number */
-- 
2.25.0.341.g760bfbb309-goog

Reply via email to