[PATCH v8 0/9] Support for creating generic PCI host bridges from DT

Jingoo Han
2014-07-11T07:33:23Z

On Friday, July 11, 2014 9:44 AM, Tanmay Inamdar wrote:
> On Tue, Jul 8, 2014 at 10:18 AM, Liviu Dudau <Liviu.Dudau@arm.com> wrote:
> > On Sun, Jul 06, 2014 at 04:23:43PM +0100, Rob Herring wrote:
> >> On Tue, Jul 1, 2014 at 1:43 PM, Liviu Dudau <Liviu.Dudau@arm.com> wrote:
> >> > This is my resurected attempt at adding support for generic PCI host
> >> > bridge controllers that make use of device tree information to
> >> > configure themselves. I've tagged it as v8 although the patches
> >> > have now been reshuffled in order to ease adoption so referring to
> >> > the older versions might be a bit of a hoop jumping exercise.
> >> >
> >> > Changes from v7:
> >> > - Reordered the patches so that fixes and non-controversial patches
> >> > from v7 can be accepted more easily. If agreed I can split the
> >> > series again into patches that can be upstreamed easily and ones
> >> > that still need discussion.
> >> > - Moved the of_create_host_bridge() function to drivers/of/of_pci.c
> >> > to better reflect its target use.
> >> > - Added the function to remap the bus I/O resources that used to be
> >> > provided in my arm64 patch series and (re)named it pci_remap_iospace()
> >> > - Removed error code checking from parsing and mapping of IRQ from DT
> >> > in recognition that some PCI devices will not have legacy IRQ mappings.
> >> >
> >> > v7 thread here with all the historic information: https://lkml.org/lkml/2014/3/14/279
> >>
> >> Can you publish a branch for this series please.
> >>
> >> Rob
> >>
> >
> > Hi Rob,
> >
> > I have pushed a brach that matches my v8 patchset +1 obvious missing header include
> > here: http://www.linux-arm.org/git?p=linux-ld.git;a=shortlog;h=refs/heads/for-upstream/pci_v8
> >
>
> I was still getting following compilation error after applying arm64
> pci headers. Please let me know if I am missing something.
>
> linux-git/drivers/of/of_pci.c: In function ?pci_host_bridge_of_get_ranges?:
> linux-git/drivers/of/of_pci.c:114:22: error: storage size of ?range? isn?t known
> struct of_pci_range range;
> ^
> linux-git/drivers/of/of_pci.c:115:29: error: storage size of ?parser?
> isn?t known
> struct of_pci_range_parser parser;
> ^
> linux-git/drivers/of/of_pci.c:121:2: error: implicit declaration of
> function ?of_pci_range_parser_init?
> [-Werror=implicit-function-declaration]
> err = of_pci_range_parser_init(&parser, dev);
>
>
> Below patch fixes the errors.
>
> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
> index 55d8320..da88dac 100644
> --- a/drivers/of/of_pci.c
> +++ b/drivers/of/of_pci.c
> @@ -2,6 +2,7 @@
> #include <linux/export.h>
> #include <linux/of.h>
> #include <linux/of_pci.h>
> +#include <linux/of_address.h>

Yes, right. I also found the build errors as above mentioned.
"of_address.h" should be included, in order to fix the build errors.
However, for readability, the following would be better.

#include <linux/of.h>
+#include <linux/of_address.h>
#include <linux/of_pci.h>

Best regards,
Jingoo Han

>
> static inline int __of_pci_pci_compare(struct device_node *node,
> unsigned int data)
>
>
> > Best regards,
> > Liviu
> >
> >
> > --
> > ====================
> > | I would like to |
> > | fix the world, |
> > | but they're not |
> > | giving me the |
> > \ source code! /
> > ---------------
> > ?\_(?)_/?
> >