Grant Likely wrote:
On Wed, Aug 13, 2008 at 10:06 AM, John Rigby <[EMAIL PROTECTED]> wrote:
On Thu, Aug 07, 2008 at 11:36:25AM -0600, John Rigby wrote:
Can you use something like 'fsl,primary-pci-bridge' instead?  'primary'
is a little too generic for my taste.  Also, the purpose of identifying
one of the PCI bridges as primary should be documented (This is me
pushing against encoding Linux internal implementation details into the
device tree, I suspect that 'primary' doesn't belong in the device tree
at all).

Ok, I got the primary idea from sam440ep.dts, I'm willing to do something
different.

I have thought about adding an is_primary argument to mpc83xx_add_bridge
like fsl_add_bridge has and make the callers figure out which is primary.

The simple case is the platform that have only one bus:
  for_each_compatible_node(np, "pci", "fsl,mpc8540-pci")
      fsl_add_bridge(np, 1);

Callers with multiple bridges do something like this:
  for_each_compatible_node(np, "pci", "fsl,mpc8641-pcie") {
      struct resource rsrc;
      of_address_to_resource(np, 0, &rsrc);
      if ((rsrc.start & 0xfffff) == 0x8000)
          fsl_add_bridge(np, 1);
      else
          fsl_add_bridge(np, 0);
  }

So now we are using hardcoded offsets again.

Go with the hardcoded offset.  Linux is broken, so the workaround
should be in Linux code until Linux PCI code is fixed.

g.

Ok, I'll leave the offset checking in mpc83xx_add_bridge rather than having it duplicated in the eight different callers.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to