Re: [PATCH v5] pcie: Add Xilinx PCIe Host Bridge IP driver

From: Bjorn Helgaas
Date: Mon Aug 18 2014 - 14:49:49 EST


On Mon, Aug 18, 2014 at 02:47:23PM +0530, Srikanth Thokala wrote:
> Hi Michal,
>
> On Tue, Aug 12, 2014 at 3:07 PM, Michal Simek <monstr@xxxxxxxxx> wrote:
> > Hi Bjorn,
> >
> > On 07/30/2014 01:24 PM, Srikanth Thokala wrote:
> >> Hi Arnd,
> >>
> >> On Mon, Jul 28, 2014 at 6:32 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> >>> On Monday 28 July 2014 18:04:34 Srikanth Thokala wrote:
> >>>> Hi Arnd and Rob,
> >>>>
> >>>> I discussed with Bjorn and we believe this patch is in good shape to
> >>>> apply. And Bjorn requires ACKs to apply this patch. So, could you
> >>>> guys please review this patch and provided your ACKs to this patch.
> >>>
> >>> Looks great for the most part. I've looked through the whole driver
> >>> again, and I have two small issues remaining:
> >>>
> >>> a) Please clarify in the changeset description why there is no support
> >>> for PCI I/O space.
> >>
> >> Sure, I will add to my changeset.
> >>
> >>>
> >>> b) I think you should use the 'msi-parent' property, and the
> >>> of_pci_find_msi_chip_by_node() to find the msi_chip for the
> >>> PCI controller. This will make it possible to forward MSIs
> >>> to the main interrupt controller in the system, which is more
> >>> efficient. See the pcie-mvebu driver for an example of this.
> >>
> >> Ok, I need to look into this and I will plan to implement on top of this patch.
> >>
> >>>
> >>> Other than these:
> >>>
> >>> Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
> >>
> >> Thanks Arnd for the Ack.
> >
> > What's the status on this one?
>
> It looks like Bjorn is on vacation. I have sent v6 patch by adding
> Ack from Arnd, which
> I feel is in good shape to be applied.

I actually started applying this last night (see [1]), but got some
errors from the build-bot (attached). I haven't looked into them,
but my guess is that you're missing a Kconfig dependency or something
equally minor.

Bjorn

[1] http://git.kernel.org/cgit/linux/kernel/git/helgaas/pci.git/commit/?h=pci/host-xilinx&id=a58f3d0c3b1c4a71a2418c3306fba86c26a49781
--- Begin Message --- git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/host-xilinx
a58f3d0c3b1c4a71a2418c3306fba86c26a49781 PCI: xilinx: Add Xilinx PCIe Host Bridge IP driver

drivers/pci/host/pci-xilinx.c:470:21: error: 'IRQF_VALID' undeclared (first use in this function)
drivers/pci/host/pci-xilinx.c:742:14: error: dereferencing pointer to incomplete type
drivers/pci/host/pci-xilinx.c:939:2: error: implicit declaration of function 'pci_common_init_dev' [-Werror=implicit-function-declaration]
drivers/pci/host/pci-xilinx.c:417:2: error: implicit declaration of function 'set_irq_flags' [-Werror=implicit-function-declaration]
drivers/pci/host/pci-xilinx.c:938:2: error: invalid use of undefined type 'struct hw_pci'
drivers/pci/host/pci-xilinx.c:888:16: error: storage size of 'hw' isn't known
drivers/pci/host/pci-xilinx.c:935:3: error: unknown field 'add_bus' specified in initializer
drivers/pci/host/pci-xilinx.c:934:3: error: unknown field 'map_irq' specified in initializer
drivers/pci/host/pci-xilinx.c:931:3: error: unknown field 'nr_controllers' specified in initializer
drivers/pci/host/pci-xilinx.c:937:3: error: unknown field 'ops' specified in initializer
drivers/pci/host/pci-xilinx.c:932:3: error: unknown field 'private_data' specified in initializer
drivers/pci/host/pci-xilinx.c:936:3: error: unknown field 'scan' specified in initializer
drivers/pci/host/pci-xilinx.c:933:3: error: unknown field 'setup' specified in initializer
drivers/pci/host/pci-xilinx.c:937:3: warning: (near initialization for '(anonymous)')
drivers/pci/host/pci-xilinx.c:937:3: warning: excess elements in struct initializer
drivers/pci/host/pci-xilinx.c:124:59: warning: its scope is only this definition or declaration, which is probably not what you want
drivers/pci/host/pci-xilinx.c:737:34: warning: passing argument 1 of 'sys_to_pcie' from incompatible pointer type
drivers/pci/host/pci-xilinx.c:735:17: warning: 'struct pci_sys_data' declared inside parameter list

elapsed time: 25m

configs tested: 112

parisc c3000_defconfig
parisc b180_defconfig
parisc defconfig
alpha defconfig
parisc allnoconfig
i386 allnoconfig
i386 defconfig
i386 allmodconfig
i386 alldefconfig
sh titan_defconfig
sh rsk7269_defconfig
sh sh7785lcr_32bit_defconfig
sh allnoconfig
x86_64 randconfig-c3-0818
x86_64 randconfig-c1-0818
x86_64 randconfig-c0-0818
x86_64 randconfig-c2-0818
ia64 allmodconfig
ia64 allnoconfig
ia64 defconfig
ia64 alldefconfig
x86_64 lkp
x86_64 rhel
powerpc chroma_defconfig
powerpc linkstation_defconfig
powerpc powerpc
powerpc wii_defconfig
powerpc gamecube_defconfig
powerpc corenet64_smp_defconfig
powerpc mpc512x
powerpc ppc44x
x86_64 randconfig-j0-0818
x86_64 randconfig-j1-0818
i386 randconfig-ha2-0818
i386 randconfig-ha5-0818
i386 randconfig-ha4-0818
i386 randconfig-ha3-0818
i386 randconfig-ha0-0818
i386 randconfig-ha1-0818
sparc defconfig
sparc64 allnoconfig
sparc64 defconfig
x86_64 allmodconfig
xtensa common_defconfig
m32r m32104ut_defconfig
xtensa iss_defconfig
m32r opsput_defconfig
m32r usrv_defconfig
m32r mappi3.smp_defconfig
i386 randconfig-i002
i386 randconfig-i003
i386 randconfig-i000
i386 randconfig-i001
i386 randconfig-i006
i386 randconfig-i007
i386 randconfig-i004
i386 randconfig-i005
i386 randconfig-i008
i386 randconfig-i009
x86_64 randconfig-i009
x86_64 randconfig-i008
x86_64 randconfig-i003
x86_64 randconfig-i002
x86_64 randconfig-i001
x86_64 randconfig-i000
x86_64 randconfig-i007
x86_64 randconfig-i006
x86_64 randconfig-i005
x86_64 randconfig-i004
microblaze mmu_defconfig
microblaze nommu_defconfig
i386 allyesconfig
cris etrax-100lx_v2_defconfig
blackfin TCM-BF537_defconfig
blackfin BF561-EZKIT-SMP_defconfig
blackfin BF533-EZKIT_defconfig
blackfin BF526-EZBRD_defconfig
i386 randconfig-r2-0818
i386 randconfig-r1-0818
i386 randconfig-r0-0818
i386 randconfig-r3-0818
mn10300 asb2364_defconfig
openrisc or1ksim_defconfig
um x86_64_defconfig
um i386_defconfig
avr32 atngw100_defconfig
frv defconfig
avr32 atstk1006_defconfig
tile tilegx_defconfig
x86_64 randconfig-x004-0817
i386 randconfig-x000-0817
x86_64 randconfig-x007-0817
i386 randconfig-x001-0817
i386 randconfig-x002-0817
i386 randconfig-x005-0817
i386 randconfig-x007-0817
x86_64 randconfig-x003-0817
i386 randconfig-x003-0817
x86_64 randconfig-x008-0817
i386 randconfig-x006-0817
x86_64 randconfig-x000-0817
i386 randconfig-x004-0817
x86_64 randconfig-x002-0817
i386 randconfig-x008-0817
i386 randconfig-x009-0817
x86_64 randconfig-x006-0817
x86_64 randconfig-x009-0817
x86_64 randconfig-x005-0817
x86_64 randconfig-x001-0817
x86_64 acpi-redef
x86_64 allyesdebian
x86_64 nfsroot

Thanks,
Fengguang

--- End Message ---
--- Begin Message --- tree: git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/host-xilinx
head: a58f3d0c3b1c4a71a2418c3306fba86c26a49781
commit: a58f3d0c3b1c4a71a2418c3306fba86c26a49781 [1/1] PCI: xilinx: Add Xilinx PCIe Host Bridge IP driver
config: make ARCH=arm allmodconfig

All warnings:

>> WARNING: drivers/built-in.o(.text+0x64acc): Section mismatch in reference from the function xilinx_pcie_probe() to the function .init.text:xilinx_pcie_scan_bus()
The function xilinx_pcie_probe() references
the function __init xilinx_pcie_scan_bus().
This is often because xilinx_pcie_probe lacks a __init
annotation or the annotation of xilinx_pcie_scan_bus is wrong.

---
0-DAY kernel build testing backend Open Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild Intel Corporation

--- End Message ---