diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-04-20 10:38:25 +0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-04-20 10:38:25 +0400 |
commit | 9ade1217c9ba39ad2f004a898ddfbb815fd5fe74 (patch) | |
tree | 5983659bb85a596df5a9f17042c2d6af6f3511b9 /arch/sh/include/asm/pci.h | |
parent | 62c7ae87cb5962d3dfaa6d916a15e4faa9e07363 (diff) | |
download | linux-9ade1217c9ba39ad2f004a898ddfbb815fd5fe74.tar.xz |
sh: pci: Drop asm-generic/pci.h, so we can use our own fixups.
The new PCI code wants its own bus<->resource mappings instead of the
generic equivalents, so drop the asm-generic include in preparation.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/pci.h')
-rw-r--r-- | arch/sh/include/asm/pci.h | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/arch/sh/include/asm/pci.h b/arch/sh/include/asm/pci.h index bb2c2fcddc9e..69cb615c3916 100644 --- a/arch/sh/include/asm/pci.h +++ b/arch/sh/include/asm/pci.h @@ -146,13 +146,34 @@ int pcibios_map_platform_irq(struct pci_dev *dev, u8 slot, u8 pin); int pciauto_assign_resources(int busno, struct pci_channel *hose); #endif -#endif /* __KERNEL__ */ +extern void pcibios_resource_to_bus(struct pci_dev *dev, + struct pci_bus_region *region, struct resource *res); + +extern void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, + struct pci_bus_region *region); + +static inline struct resource * +pcibios_select_root(struct pci_dev *pdev, struct resource *res) +{ + struct resource *root = NULL; + + if (res->flags & IORESOURCE_IO) + root = &ioport_resource; + if (res->flags & IORESOURCE_MEM) + root = &iomem_resource; -/* generic pci stuff */ -#include <asm-generic/pci.h> + return root; +} + +/* Chances are this interrupt is wired PC-style ... */ +static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) +{ + return channel ? 15 : 14; +} /* generic DMA-mapping stuff */ #include <asm-generic/pci-dma-compat.h> +#endif /* __KERNEL__ */ #endif /* __ASM_SH_PCI_H */ |