Hi,
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%3Ba=shortlog%3Bh=refs/heads/for-...
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>
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! /
¯\_(ツ)_/¯