On Thu, 2018-01-04 at 14:38 +0200, Andy Shevchenko wrote: > On Thu, 2018-01-04 at 11:36 +0200, Mika Westerberg wrote: > > On Wed, Jan 03, 2018 at 07:32:40PM +0200, Andy Shevchenko wrote: > > > 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. > > > +static const struct acpi_device_id mrfld_pinctrl_acpi_ids[] = { > > > + {"INTC1002"}, > > > + {} > > > +}; > > ... > > > > +static const char *mrfld_acpi_get_pinctrl_dev_name(const char > > > *fallback) > > > +{ > > > + const char *pinctrl_dev_name = fallback; > > > + > > > + acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, > > > + ACPI_UINT32_MAX, > > > mrfld_acpi_find_pinctrl, NULL, > > > + &pinctrl_dev_name, NULL); > > > + return pinctrl_dev_name; > > > +} > > > > I wonder if there is a better way to "connect" these things without > > need > > to walk ACPI namespace in GPIO drivers? > > I would lovely use that if there is any. It appears there is another user of this, i.e. ASoC Intel, which needs same. Moreover, we can avoid scan entire ACPI namespace and narrow to scan only registered ACPI devices on ACPI bus in Linux (see acpi_dev_present() for example). I'm about to send patch (series) v2 utilizing that. -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Intel Finland Oy -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html