Subject: [PATCH 3/3] arm/arm64: pci: remove arch specific pcibios_enable_device()

From: [email-masked] (Lorenzo Pieralisi)
Date: Wed, 20 Jan 2016 16:22:15 +0000

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 <[email-masked]>
> > Cc: Arnd Bergmann <[email-masked]>
> > Cc: Will Deacon <[email-masked]>
> > Cc: Bjorn Helgaas <[email-masked]>
> > Cc: Russell King <[email-masked]>
> > Cc: Catalin Marinas <[email-masked]>
> > ---
> >  arch/arm/kernel/bios32.c | 12 ------------
> >  arch/arm64/kernel/pci.c  | 13 -------------
> >  2 files changed, 25 deletions(-)
> 
> Acked-by: Will Deacon <[email-masked]>

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