]> www.infradead.org Git - users/jedix/linux-maple.git/commit
s390/pci: Stop usurping pdev->dev.groups
authorLukas Wunner <lukas@wunner.de>
Mon, 5 Aug 2024 15:24:05 +0000 (17:24 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 9 Aug 2024 19:58:27 +0000 (14:58 -0500)
commit265baca69a0735b64227a43d4be865a95ba514bb
treef0864365fd9e7f55ae1b544569dfe65535c1ccdc
parent8400291e289ee6b2bf9779ff1c83a291501f017b
s390/pci: Stop usurping pdev->dev.groups

Bjorn suggests using pdev->dev.groups for attribute_groups constructed on
PCI device enumeration:

  "Is it feasible to build an attribute group in pci_doe_init() and
   add it to dev->groups so device_add() will automatically add them?"
   https://lore.kernel.org/r/20231019165829.GA1381099@bhelgaas

Unfortunately on s390, pcibios_device_add() usurps pdev->dev.groups for
arch-specific attribute_groups, preventing its use for anything else.

Introduce an ARCH_PCI_DEV_GROUPS macro which arches can define in
<asm/pci.h>.  The macro is visible in drivers/pci/pci-sysfs.c through the
inclusion of <linux/pci.h>, which in turn includes <asm/pci.h>.

On s390, define the macro to the three attribute_groups previously assigned
to pdev->dev.groups.  Thereby pdev->dev.groups is made available for use by
the PCI core.

As a side effect, arch/s390/pci/pci_sysfs.c no longer needs to be compiled
into the kernel if CONFIG_SYSFS=n.

Link: https://lore.kernel.org/r/7b970f7923e373d1b23784721208f93418720485.1722870934.git.lukas@wunner.de
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Niklas Schnelle <schnelle@linux.ibm.com>
arch/s390/include/asm/pci.h
arch/s390/pci/Makefile
arch/s390/pci/pci.c
arch/s390/pci/pci_sysfs.c
drivers/pci/pci-sysfs.c