Re: [PATCH v8 0/9] Support for creating generic PCI host bridges from DT
From: Tanmay Inamdar <hidden>
Date: 2014-07-11 00:44:11
Also in:
linux-arm-kernel, linux-pci, lkml
Subsystem:
open firmware and flattened device tree, the rest · Maintainers:
Rob Herring, Saravana Kannan, Linus Torvalds
Hi, On Tue, Jul 8, 2014 at 10:18 AM, Liviu Dudau [off-list ref] wrote:
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_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> 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! /
---------------
¯\_(ツ)_/¯