01 Nov, 2011

1 commit


24 Jul, 2011

1 commit


08 Jun, 2011

1 commit

  • powerpc has two different ways of matching PCI devices to their
    corresponding OF node (if any) for historical reasons. The ppc64 one
    does a scan looking for matching bus/dev/fn, while the ppc32 one does a
    scan looking only for matching dev/fn on each level in order to be
    agnostic to busses being renumbered (which Linux does on some
    platforms).

    This removes both and instead moves the matching code to the PCI core
    itself. It's the most logical place to do it: when a pci_dev is created,
    we know the parent and thus can do a single level scan for the matching
    device_node (if any).

    The benefit is that all archs now get the matching for free. There's one
    hook the arch might want to provide to match a PHB bus to its device
    node. A default weak implementation is provided that looks for the
    parent device device node, but it's not entirely reliable on powerpc for
    various reasons so powerpc provides its own.

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Michal Simek
    Acked-by: Jesse Barnes

    Benjamin Herrenschmidt
     

24 Feb, 2011

1 commit

  • x86_of_pci_init() does two things:

    - it provides a generic irq enable and disable function. enable queries
    the device tree for the interrupt information, calls ->xlate on the
    irq host and updates the pci->irq information for the device.

    - it walks through PCI bus(es) in the device tree and adds its children
    (device) nodes to appropriate pci_dev nodes in kernel. So the dtb
    node information is available at probe time of the PCI device.

    Adding a PCI bus based on the information in the device tree is
    currently not supported. Right now direct access via ioports is used.

    Signed-off-by: Sebastian Andrzej Siewior
    Tested-by: Dirk Brandewie
    Acked-by: Grant Likely
    Cc: sodaville@linutronix.de
    Cc: devicetree-discuss@lists.ozlabs.org
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    Sebastian Andrzej Siewior
     

05 Feb, 2011

1 commit