Re: [PATCH v8 0/9] Support for creating generic PCI host bridges from DT
From: Jingoo Han <hidden>
Date: 2014-07-11 07:33:29
Also in:
linux-arm-kernel, linux-pci, lkml
On Friday, July 11, 2014 9:44 AM, Tanmay Inamdar wrote:
quoted hunk ↗ jump to hunk
On Tue, Jul 8, 2014 at 10:18 AM, Liviu Dudau [off-list ref] wrote:quoted
On Sun, Jul 06, 2014 at 04:23:43PM +0100, Rob Herring wrote:quoted
On Tue, Jul 1, 2014 at 1:43 PM, Liviu Dudau [off-list ref] wrote:quoted
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/279Can you publish a branch for this series please. RobHi 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_v8I 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)quoted
Best regards, Liviu -- ==================== | I would like to | | fix the world, | | but they're not | | giving me the | \ source code! / --------------- ¯\_(ツ)_/¯