• Benjamin Herrenschmidt's avatar
    PCI/cardbus: Add a fixup hook and fix powerpc · 2d1c8618
    Benjamin Herrenschmidt authored
    The cardbus code creates PCI devices without ever going through the
    necessary fixup bits and pieces that normal PCI devices go through.
    
    There's in fact a commented out call to pcibios_fixup_bus() in there,
    it's commented because ... it doesn't work.
    
    I could make pcibios_fixup_bus() do the right thing on powerpc easily
    but I felt it cleaner instead to provide a specific hook pci_fixup_cardbus
    for which a weak empty implementation is provided by the PCI core.
    
    This fixes cardbus on powerbooks and probably all other PowerPC
    platforms which was broken completely for ever on some platforms and
    since 2.6.31 on others such as PowerBooks when we made the DMA ops
    mandatory (since those are setup by the fixups).
    Acked-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    2d1c8618
pci-common.c 49.4 KB