Hi, On 6/6/22 18:41, Andy Shevchenko wrote: > There are a few users that would like to utilize P2SB mechanism of hiding > and unhiding a device from the PCI configuration space. > > Here is the series to consolidate p2sb handling code for existing users > and to provide a generic way for new comer(s). > > It also includes a patch to enable GPIO controllers on Apollo Lake > when it's used with ABL bootloader w/o ACPI support. > > The patch that brings the helper ("platform/x86/intel: Add Primary to > Sideband (P2SB) bridge support") has a commit message that sheds a light > on what the P2SB is and why this is needed. > > I have tested this on Apollo Lake platform (I'm able to see SPI NOR and > since we have an ACPI device for GPIO I do not see any attempts to recreate > one). > > The series is ready to be merged via MFD tree, but see below. > > The series also includes updates for Simatic IPC drivers that partially > tagged by respective maintainers (the main question is if Pavel is okay > with the last three patches, since I believe Hans is okay with removing > some code under PDx86). Hence the first 8 patches can be merged right > away and the rest when Pavel does his review. > > Changes in v6: > - added tag to patch 5 (Lee) > - incorporated Henning's series on top of v5 I've taken a quick look at the new patches and they look ok to me: Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> for the entire series. Regards, Hans > > Changes in v5: > - rewritten patch 1 to use pci_scan_single_device() (Lukas, Bjorn) > - rebased patch 2 on top of the new Intel SPI NOR codebase > - fixed a potential bug and rewritten resource filling in patch 5 (Lee) > - added many different tags in a few patches (Jean, Wolfram, Henning) > > Changes in v4: > - added tag to the entire series (Hans) > - added tag to pin control patch (Mika) > - dropped PCI core changes (PCI core doesn't want modifications to be made) > - as a consequence of the above merged necessary bits into p2sb.c > - added a check that p2sb is really hidden (Hans) > - added EDAC patches (reviewed by maintainer internally) > > Changes in v3: > - resent with cover letter > > Changes in v2: > - added parentheses around bus in macros (Joe) > - added tag (Jean) > - fixed indentation and wrapping in the header (Christoph) > - moved out of PCI realm to PDx86 as the best common denominator (Bjorn) > - added a verbose commit message to explain P2SB thingy (Bjorn) > - converted first parameter from pci_dev to pci_bus > - made first two parameters (bus and devfn) optional (Henning, Lee) > - added Intel pin control patch to the series (Henning, Mika) > - fixed English style in the commit message of one of MFD patch (Lee) > - added tags to my MFD LPC ICH patches (Lee) > - used consistently (c) (Lee) > - made indexing for MFD cell and resource arrays (Lee) > - fixed the resource size in i801 (Jean) > > Andy Shevchenko (6): > pinctrl: intel: Check against matching data instead of ACPI companion > mfd: lpc_ich: Factor out lpc_ich_enable_spi_write() > mfd: lpc_ich: Switch to generic p2sb_bar() > i2c: i801: convert to use common P2SB accessor > EDAC, pnd2: Use proper I/O accessors and address space annotation > EDAC, pnd2: convert to use common P2SB accessor > > Henning Schild (4): > watchdog: simatic-ipc-wdt: convert to use P2SB accessor > leds: simatic-ipc-leds: convert to use P2SB accessor > platform/x86: simatic-ipc: drop custom P2SB bar code > leds: simatic-ipc-leds-gpio: add GPIO version of Siemens driver > > Jonathan Yong (1): > platform/x86/intel: Add Primary to Sideband (P2SB) bridge support > > Tan Jui Nee (1): > mfd: lpc_ich: Add support for pinctrl in non-ACPI system > > drivers/edac/Kconfig | 1 + > drivers/edac/pnd2_edac.c | 62 +++---- > drivers/i2c/busses/Kconfig | 1 + > drivers/i2c/busses/i2c-i801.c | 39 +---- > drivers/leds/simple/Kconfig | 6 +- > drivers/leds/simple/Makefile | 1 + > drivers/leds/simple/simatic-ipc-leds-gpio.c | 105 ++++++++++++ > drivers/leds/simple/simatic-ipc-leds.c | 80 +-------- > drivers/mfd/Kconfig | 1 + > drivers/mfd/lpc_ich.c | 161 ++++++++++++++---- > drivers/pinctrl/intel/pinctrl-intel.c | 14 +- > drivers/platform/x86/intel/Kconfig | 12 ++ > drivers/platform/x86/intel/Makefile | 2 + > drivers/platform/x86/intel/p2sb.c | 133 +++++++++++++++ > drivers/platform/x86/simatic-ipc.c | 43 +---- > drivers/watchdog/Kconfig | 1 + > drivers/watchdog/simatic-ipc-wdt.c | 15 +- > include/linux/platform_data/x86/p2sb.h | 28 +++ > .../platform_data/x86/simatic-ipc-base.h | 2 - > 19 files changed, 464 insertions(+), 243 deletions(-) > create mode 100644 drivers/leds/simple/simatic-ipc-leds-gpio.c > create mode 100644 drivers/platform/x86/intel/p2sb.c > create mode 100644 include/linux/platform_data/x86/p2sb.h > > > base-commit: 40b58e42584bf5bd9230481dc8946f714fb387de