Re: [PATCH v6 00/12] platform/x86: introduce p2sb_bar() helper

From: Hans de Goede
Date: Tue Jun 07 2022 - 13:16:30 EST


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