diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-03 10:39:02 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-03 10:39:02 -0700 |
commit | 7e31aa11fc672bbe0dd0da59513c9efe3809ced7 (patch) | |
tree | 0aafe6a0045230950ce6b26579a053da12614a49 /arch/arm/include/asm/pci.h | |
parent | 071f4924844c435a3ae0cdbab7d7df2f1da85713 (diff) | |
parent | 9cb7117fa4858468014f76bd996076985111e955 (diff) | |
download | op-kernel-dev-7e31aa11fc672bbe0dd0da59513c9efe3809ced7.zip op-kernel-dev-7e31aa11fc672bbe0dd0da59513c9efe3809ced7.tar.gz |
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 5182/1: pxa: Fix pcm990 compilation
[ARM] Fix explicit asm(-arm)?/arch-foo references
[ARM] move include/asm-arm to arch/arm/include/asm
[ARM] Remove explicit dependency for misc.o from compressed/Makefile
[ARM] initrd: claim initrd memory exclusively
[ARM] pxa: add support for L2 outer cache on XScale3 (attempt 2)
[ARM] 5180/1: at91: Fix at91_nand -> atmel_nand rename fallout
[ARM] add Sascha Hauer as Freescale i.MX Maintainer
[ARM] i.MX: add missing clock functions exports
[ARM] i.MX: remove set_imx_fb_info() export
[ARM] mx1ads: make mmc platform data available for modules
[ARM] mx2: add missing Kconfig dependency
Diffstat (limited to 'arch/arm/include/asm/pci.h')
-rw-r--r-- | arch/arm/include/asm/pci.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/arch/arm/include/asm/pci.h b/arch/arm/include/asm/pci.h new file mode 100644 index 0000000..2d84792 --- /dev/null +++ b/arch/arm/include/asm/pci.h @@ -0,0 +1,91 @@ +#ifndef ASMARM_PCI_H +#define ASMARM_PCI_H + +#ifdef __KERNEL__ +#include <asm-generic/pci-dma-compat.h> + +#include <asm/hardware.h> /* for PCIBIOS_MIN_* */ + +#define pcibios_scan_all_fns(a, b) 0 + +#ifdef CONFIG_PCI_HOST_ITE8152 +/* ITE bridge requires setting latency timer to avoid early bus access + termination by PIC bus mater devices +*/ +extern void pcibios_set_master(struct pci_dev *dev); +#else +static inline void pcibios_set_master(struct pci_dev *dev) +{ + /* No special bus mastering setup handling */ +} +#endif + +static inline void pcibios_penalize_isa_irq(int irq, int active) +{ + /* We don't do dynamic PCI IRQ allocation */ +} + +/* + * The PCI address space does equal the physical memory address space. + * The networking and block device layers use this boolean for bounce + * buffer decisions. + */ +#define PCI_DMA_BUS_IS_PHYS (0) + +/* + * Whether pci_unmap_{single,page} is a nop depends upon the + * configuration. + */ +#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) dma_addr_t ADDR_NAME; +#define DECLARE_PCI_UNMAP_LEN(LEN_NAME) __u32 LEN_NAME; +#define pci_unmap_addr(PTR, ADDR_NAME) ((PTR)->ADDR_NAME) +#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) (((PTR)->ADDR_NAME) = (VAL)) +#define pci_unmap_len(PTR, LEN_NAME) ((PTR)->LEN_NAME) +#define pci_unmap_len_set(PTR, LEN_NAME, VAL) (((PTR)->LEN_NAME) = (VAL)) + +#ifdef CONFIG_PCI +static inline void pci_dma_burst_advice(struct pci_dev *pdev, + enum pci_dma_burst_strategy *strat, + unsigned long *strategy_parameter) +{ + *strat = PCI_DMA_BURST_INFINITY; + *strategy_parameter = ~0UL; +} +#endif + +#define HAVE_PCI_MMAP +extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, + enum pci_mmap_state mmap_state, int write_combine); + +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; + + return root; +} + +/* + * Dummy implementation; always return 0. + */ +static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) +{ + return 0; +} + +#endif /* __KERNEL__ */ + +#endif |