[PATCH 3/3] arm/arm64: pci: remove arch specific pcibios_enable_device()
Lorenzo Pieralisi
lorenzo.pieralisi at arm.com
Wed Jan 20 08:22:15 PST 2016
On Mon, Nov 23, 2015 at 01:49:21PM +0000, Will Deacon wrote:
> On Tue, Nov 17, 2015 at 05:03:58PM +0000, Lorenzo Pieralisi wrote:
> > The arm/arm64 pcibios_enable_device() implementations exist solely
> > to prevent enabling PCI resources on PROBE_ONLY systems, since
> > on those systems the PCI resources are currently not claimed (ie
> > validated and inserted in the PCI resource tree) therefore they can
> > not be enabled since this would trigger PCI set-ups failures.
> >
> > By introducing resources claiming in the PCI host controllers set-ups
> > that have PROBE_ONLY as a probe option, there is no need for arch specific
> > pcibios_enable_device() implementations anymore in that the kernel can
> > rely on the generic pcibios_enable_device() implementation without
> > resorting to arch specific code to work around the missing resources
> > claiming enumeration step.
> >
> > This patch removes the pcibios_enable_device() implementations from
> > the arm/arm64 arch back-ends.
> >
> > Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
> > Cc: Arnd Bergmann <arnd at arndb.de>
> > Cc: Will Deacon <will.deacon at arm.com>
> > Cc: Bjorn Helgaas <bhelgaas at google.com>
> > Cc: Russell King <linux at arm.linux.org.uk>
> > Cc: Catalin Marinas <catalin.marinas at arm.com>
> > ---
> > arch/arm/kernel/bios32.c | 12 ------------
> > arch/arm64/kernel/pci.c | 13 -------------
> > 2 files changed, 25 deletions(-)
>
> Acked-by: Will Deacon <will.deacon at arm.com>
Thanks, unfortunately I spotted that ARM platforms can set
PCI_PROBE_ONLY also via command line (pcibios_setup()), which means
that I have to add resource claiming to all ARM PCI controllers that
check PCI_PROBE_ONLY (inclusive of ARM bios32) to really make sure we
can apply this patch or alternatevely we add the resource claiming
to the pcibios_fixup_bus() callback (but we can claim resources only if
PCI_PROBE_ONLY is set lest we trigger regressions) which would be the
simpler solution.
Lorenzo
More information about the linux-arm-kernel
mailing list