Thread (92 messages) 92 messages, 9 authors, 2014-07-25

[PATCH v8 6/9] pci: Introduce a domain number for pci_host_bridge.

From: Liviu.Dudau@arm.com (Liviu Dudau)
Date: 2014-07-08 22:48:55
Also in: linux-devicetree, linux-pci, lkml

On Tue, Jul 08, 2014 at 07:41:50PM +0100, Bjorn Helgaas wrote:
On Tue, Jul 8, 2014 at 4:46 AM, Liviu Dudau [off-list ref] wrote:
quoted
On Tue, Jul 08, 2014 at 01:59:54AM +0100, Bjorn Helgaas wrote:
quoted
quoted
I wonder if it would help to make a weak pci_domain_nr() function that
returns "bridge->domain_nr".  Then each arch could individually drop its
pci_domain_nr() definition as it was converted, e.g., something like this:

  - Convert every arch pci_domain_nr() from a #define to a non-inline
    function
  - Add bridge.domain_nr, initialized from pci_domain_nr()
  - Add a weak generic pci_domain_nr() that returns bridge.domain_nr
  - Add a way to create a host bridge in a specified domain, so we can
    initialize bridge.domain_nr without using pci_domain_nr()
  - Convert each arch to use the new creation mechanism and drop its
    pci_domain_nr() implementation
I will try to propose a patch implementing this.
I think this is more of an extra credit, cleanup sort of thing.  I
don't think it advances your primary goal of (I think) getting arm64
PCI support in.  So my advice is to not worry about unifying domain
handling until later.
Getting arm64 supported *is* my main goal. But like you have stated in your
review of v7, you wanted to see another architecture converted as a guarantee
of "genericity" (for lack of a better word) for my patches. The one architecture
I've set my eyes on is microblaze, and that one uses pci_scan_root_bus()
rather than pci_create_root_bus() so I don't have any opportunity to pass the
domain number or any additional info (like the sysdata pointer that we were
talking about) to the pci_host_bridge structure unless I do this cleanup.

Best regards,
Liviu

Bjorn
-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ?\_(?)_/?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help