Am Mon, 8 Mar 2021 14:20:13 +0200 schrieb Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>: > There are a few users and even at least one more is coming > that would like to utilize p2sb mechanisms like hide/unhide > a device from PCI configuration space. > > Here is the series to deduplicate existing users and provide > a generic way for new comers. > > It also includes a patch to enable GPIO controllers on Apollo Lake > when it's used with ABL bootloader w/o ACPI support. That bit is especially interesting. Making pinctl*lake initialize when ACPI IDs are missing and p2sb is hidden. However i have seen pinctl-broxton get confused because it was trying to come up twice on a system that has the ACPI entries. Once as "INT3452" and second as "apollolake-pinctrl". They should probably mutually exclude each other. And the two different names for "the same"? thing make it impossible to write a driver using those GPIOs. Unless it would try and look up both variants or not looking up with gpiochip.label. I would also need that "enable GPIO w/o ACPI" for skylake. I think it would be generally useful if the GPIO controllers would be enabled not depending on ACPI, and coming up with only one "label" to build on top. regards, Henning > Please, comment on the approach and individual patches. > > (Since it's cross subsystem, the PCI seems like a main one and > I think it makes sense to route it thru it with immutable tag > or branch provided for the others). > > Andy Shevchenko (5): > PCI: Introduce pci_bus_*() printing macros when device is not > available > PCI: Convert __pci_read_base() to __pci_bus_read_base() > mfd: lpc_ich: Factor out lpc_ich_enable_spi_write() > mfd: lpc_ich: Switch to generic pci_p2sb_bar() > i2c: i801: convert to use common P2SB accessor > > Jonathan Yong (1): > PCI: New Primary to Sideband (P2SB) bridge support library > > Tan Jui Nee (1): > mfd: lpc_ich: Add support for pinctrl in non-ACPI system > > drivers/i2c/busses/Kconfig | 1 + > drivers/i2c/busses/i2c-i801.c | 40 +++------- > drivers/mfd/Kconfig | 1 + > drivers/mfd/lpc_ich.c | 135 > +++++++++++++++++++++++++++++----- drivers/pci/Kconfig | > 8 ++ drivers/pci/Makefile | 1 + > drivers/pci/pci-p2sb.c | 89 ++++++++++++++++++++++ > drivers/pci/pci.h | 13 +++- > drivers/pci/probe.c | 81 ++++++++++---------- > include/linux/pci-p2sb.h | 28 +++++++ > include/linux/pci.h | 9 +++ > 11 files changed, 313 insertions(+), 93 deletions(-) > create mode 100644 drivers/pci/pci-p2sb.c > create mode 100644 include/linux/pci-p2sb.h >