Re: [PATCH v2 03/15] MIPS: PCI: Compatibility with ARM-like PCI host drivers

From: Paul Burton
Date: Mon Apr 04 2016 - 06:09:52 EST


On Tue, Mar 29, 2016 at 04:19:44PM -0700, Florian Fainelli wrote:
> Le 03/02/2016 03:30, Paul Burton a Ãcrit :
> > Introduce support for struct hw_pci & the associated pci_common_init_dev
> > function as used by the PCI drivers written for ARM platforms under
> > drivers/pci. This is in preparation for reusing the xilinx-pcie driver
> > on the MIPS Boston board.
> >
> > Platforms that make use of this more generic code will need to select
> > CONFIG_MIPS_GENERIC_PCI. Platforms which don't will continue to work as
> > they have, with the intent that PCI drivers be migrated towards struct
> > hw_pci & drivers/pci/ over time.
> >
> > Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
> > ---
>
> [snip]
>
> > + if (hw->preinit)
> > + hw->preinit();
> > +
> > + ret = hw->setup(i, &ctl->sysdata);
> > + if (ret < 0) {
>
> This needs to be ret <= 0 to be compliant with what ARM PCI host
> controllers do, which is return 1 in case they could get hw->setup to
> finish with success, and 0 or negative if they could not, see
> arch/arm/kernel/bios32.c.
> --
> Florian

Hi Florian,

Just an FYI, the pcie-xilinx driver I wrote this for has since been
converted away from the ARM-like pci_common_init_dev & struct hw_pci to
use only functions provided by the core PCI subsystem[1]. As a result
I've stopped using this patch & don't plan to continue work on it.
Perhaps it would be cleanest to do a similar conversion for the driver
you're using?

[1] https://patchwork.ozlabs.org/patch/581967/ & the rest of the series

Thanks,
Paul