Skip to content

Commit dd1dbf9

Browse files
andy-shevrafaeljw
authored andcommitted
gpio: merrifield: Add support of ACPI enabled platforms
The driver needs the pin control device name for ACPI. We are looking through ACPI namespace and return first found device based on ACPI HID for Intel Merrifield FLIS (pin control device). Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 67dcf8a commit dd1dbf9

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

drivers/gpio/gpio-merrifield.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
* published by the Free Software Foundation.
1010
*/
1111

12+
#include <linux/acpi.h>
1213
#include <linux/bitops.h>
1314
#include <linux/gpio/driver.h>
1415
#include <linux/init.h>
@@ -380,9 +381,16 @@ static void mrfld_irq_init_hw(struct mrfld_gpio *priv)
380381
}
381382
}
382383

384+
static const char *mrfld_gpio_get_pinctrl_dev_name(void)
385+
{
386+
const char *dev_name = acpi_dev_get_first_match_name("INTC1002", NULL, -1);
387+
return dev_name ? dev_name : "pinctrl-merrifield";
388+
}
389+
383390
static int mrfld_gpio_probe(struct pci_dev *pdev, const struct pci_device_id *id)
384391
{
385392
const struct mrfld_gpio_pinrange *range;
393+
const char *pinctrl_dev_name;
386394
struct mrfld_gpio *priv;
387395
u32 gpio_base, irq_base;
388396
void __iomem *base;
@@ -439,10 +447,11 @@ static int mrfld_gpio_probe(struct pci_dev *pdev, const struct pci_device_id *id
439447
return retval;
440448
}
441449

450+
pinctrl_dev_name = mrfld_gpio_get_pinctrl_dev_name();
442451
for (i = 0; i < ARRAY_SIZE(mrfld_gpio_ranges); i++) {
443452
range = &mrfld_gpio_ranges[i];
444453
retval = gpiochip_add_pin_range(&priv->chip,
445-
"pinctrl-merrifield",
454+
pinctrl_dev_name,
446455
range->gpio_base,
447456
range->pin_base,
448457
range->npins);

0 commit comments

Comments
 (0)