From: Arnd Bergmann <arnd@arndb.de>
To: linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-kernel@vger.kernel.org,
Christoph Hellwig <hch@infradead.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
linuxppc-dev@lists.ozlabs.org, linux-acpi@vger.kernel.org,
Arnd Bergmann <arnd@arndb.de>
Subject: [RFC 00/15] PCI: turn some __weak functions into callbacks
Date: Fri, 17 Aug 2018 12:26:30 +0200 [thread overview]
Message-ID: <20180817102645.3839621-1-arnd@arndb.de> (raw)
Hi Bjorn and others,
Triggered by Christoph's patches, I had another go at converting
all of the remaining pci host bridge implementations to be based
on pci_alloc_host_bridge and a separate registration function.
This is made possible through work from Lorenzo and others to
convert many of the existing drivers, as well as the removal
of some of the older architectures that nobody used.
I'm adding a bit of duplication into the less maintained code
here, but it makes everything more consistent, and gives an
easy place to hook up callback functions etc.
The three parts of this series are:
a) push up the registration into the callers (this is where
code gets added)
b) clean up some of the more common host bridge
implementations again to integrate that code better.
This could be done for the rest as well, or we could just
leave them alone.
c) start moving the __weak functions into callbacks in
pci_host_bridge. This is intentionally incomplete, since
it is a lot of work to do it for all those functions,
and I want to get consensus on the approach first, as well
as maybe get other developers to help out with the rest.
Please have a look.
Arnd
[1] https://lore.kernel.org/lkml/4288331.jNpl6KXlNO@wuerfel/
[2] https://patchwork.kernel.org/patch/10555657/
Arnd Bergmann (15):
PCI: clean up legacy host bridge scan functions
PCI: move pci_scan_bus into callers
PCI: move pci_scan_root_bus into callers
PCI: export pci_register_host_bridge
PCI: move pci_create_root_bus into callers
powerpc/pci: fold pci_create_root_bus into pcibios_scan_phb
PCI/ACPI: clean up acpi_pci_root_create()
x86: PCI: clean up pcibios_scan_root()
PCI: xenfront: clean up pcifront_scan_root()
sparc/PCI: simplify pci_scan_one_pbm
PCI: hyperv: convert to pci_scan_root_bus_bridge
PCI: make pcibios_bus_add_device() a callback function
PCI: turn pcibios_alloc_irq into a callback
PCI: make pcibios_root_bridge_prepare a callback
PCI: make pcibios_add_bus/remove_bus callbacks
arch/arm64/kernel/pci.c | 40 ++-----
arch/ia64/pci/pci.c | 25 +----
arch/ia64/sn/kernel/io_init.c | 27 +++++
arch/microblaze/pci/pci-common.c | 27 +++++
arch/powerpc/include/asm/pci-bridge.h | 3 +
arch/powerpc/kernel/pci-common.c | 60 +++++------
arch/s390/pci/pci.c | 30 +++++-
arch/sh/drivers/pci/pci.c | 1 +
arch/sh/drivers/pci/pcie-sh7786.c | 3 +-
arch/sh/include/asm/pci.h | 2 +
arch/sparc/kernel/pci.c | 40 ++++---
arch/sparc/kernel/pcic.c | 35 ++++++
arch/x86/pci/acpi.c | 15 +--
arch/x86/pci/common.c | 42 ++++----
arch/xtensa/kernel/pci.c | 27 +++++
drivers/acpi/pci_root.c | 43 +++++---
drivers/parisc/dino.c | 28 +++++
drivers/parisc/lba_pci.c | 28 +++++
drivers/pci/bus.c | 8 +-
drivers/pci/controller/pci-hyperv.c | 47 ++++----
drivers/pci/controller/vmd.c | 30 +++++-
drivers/pci/hotplug/ibmphp_core.c | 35 ++++++
drivers/pci/pci-driver.c | 13 ++-
drivers/pci/probe.c | 150 +++++++++-----------------
drivers/pci/xen-pcifront.c | 40 +++----
include/linux/acpi.h | 2 +
include/linux/pci.h | 17 ++-
27 files changed, 514 insertions(+), 304 deletions(-)
--
2.18.0
next reply other threads:[~2018-08-17 10:32 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-17 10:26 Arnd Bergmann [this message]
2018-08-17 10:26 ` [RFC 01/15] PCI: clean up legacy host bridge scan functions Arnd Bergmann
2018-08-17 10:26 ` [RFC 02/15] PCI: move pci_scan_bus into callers Arnd Bergmann
2018-08-17 10:26 ` [RFC 03/15] PCI: move pci_scan_root_bus " Arnd Bergmann
2018-08-17 10:26 ` [RFC 04/15] PCI: export pci_register_host_bridge Arnd Bergmann
2018-08-17 10:26 ` [RFC 05/15] PCI: move pci_create_root_bus into callers Arnd Bergmann
2018-08-17 10:26 ` [RFC 06/15] powerpc/pci: fold pci_create_root_bus into pcibios_scan_phb Arnd Bergmann
2018-08-17 10:26 ` [RFC 07/15] PCI/ACPI: clean up acpi_pci_root_create() Arnd Bergmann
2018-08-20 8:23 ` Rafael J. Wysocki
2018-08-20 11:19 ` Arnd Bergmann
2018-08-20 11:24 ` Rafael J. Wysocki
2018-08-20 11:36 ` Arnd Bergmann
2018-08-17 10:26 ` [RFC 08/15] x86: PCI: clean up pcibios_scan_root() Arnd Bergmann
2018-08-20 8:31 ` Rafael J. Wysocki
2018-08-20 11:16 ` Arnd Bergmann
2018-08-20 11:26 ` Rafael J. Wysocki
2018-08-17 10:26 ` [RFC 09/15] PCI: xenfront: clean up pcifront_scan_root() Arnd Bergmann
2018-08-17 10:26 ` [RFC 10/15] sparc/PCI: simplify pci_scan_one_pbm Arnd Bergmann
2018-08-17 10:26 ` [RFC 11/15] PCI: hyperv: convert to pci_scan_root_bus_bridge Arnd Bergmann
2018-08-17 10:26 ` [RFC 12/15] PCI: make pcibios_bus_add_device() a callback function Arnd Bergmann
2018-08-17 10:26 ` [RFC 13/15] PCI: turn pcibios_alloc_irq into a callback Arnd Bergmann
2018-08-17 10:26 ` [RFC 14/15] PCI: make pcibios_root_bridge_prepare " Arnd Bergmann
2018-08-17 10:26 ` [RFC 15/15] PCI: make pcibios_add_bus/remove_bus callbacks Arnd Bergmann
2018-08-21 6:14 ` [RFC 00/15] PCI: turn some __weak functions into callbacks Christoph Hellwig
2018-08-21 10:07 ` Arnd Bergmann
2018-08-21 11:30 ` David Woodhouse
2018-08-21 13:14 ` Christoph Hellwig
2018-10-02 20:59 ` Bjorn Helgaas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180817102645.3839621-1-arnd@arndb.de \
--to=arnd@arndb.de \
--cc=benh@kernel.crashing.org \
--cc=bhelgaas@google.com \
--cc=hch@infradead.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lorenzo.pieralisi@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).