1#ifndef ASMARM_PCI_H 2#define ASMARM_PCI_H 3 4#ifdef __KERNEL__ 5#include <asm-generic/pci-dma-compat.h> 6 7#include <asm/hardware.h> /* for PCIBIOS_MIN_* */ 8 9#define pcibios_scan_all_fns(a, b) 0 10 11static inline void pcibios_set_master(struct pci_dev *dev) 12{ 13 /* No special bus mastering setup handling */ 14} 15 16static inline void pcibios_penalize_isa_irq(int irq, int active) 17{ 18 /* We don't do dynamic PCI IRQ allocation */ 19} 20 21/* 22 * The PCI address space does equal the physical memory address space. 23 * The networking and block device layers use this boolean for bounce 24 * buffer decisions. 25 */ 26#define PCI_DMA_BUS_IS_PHYS (0) 27 28/* 29 * We don't support DAC DMA cycles. 30 */ 31#define pci_dac_dma_supported(pci_dev, mask) (0) 32 33/* 34 * Whether pci_unmap_{single,page} is a nop depends upon the 35 * configuration. 36 */ 37#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) dma_addr_t ADDR_NAME; 38#define DECLARE_PCI_UNMAP_LEN(LEN_NAME) __u32 LEN_NAME; 39#define pci_unmap_addr(PTR, ADDR_NAME) ((PTR)->ADDR_NAME) 40#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) (((PTR)->ADDR_NAME) = (VAL)) 41#define pci_unmap_len(PTR, LEN_NAME) ((PTR)->LEN_NAME) 42#define pci_unmap_len_set(PTR, LEN_NAME, VAL) (((PTR)->LEN_NAME) = (VAL)) 43 44#ifdef CONFIG_PCI 45static inline void pci_dma_burst_advice(struct pci_dev *pdev, 46 enum pci_dma_burst_strategy *strat, 47 unsigned long *strategy_parameter) 48{ 49 *strat = PCI_DMA_BURST_INFINITY; 50 *strategy_parameter = ~0UL; 51} 52#endif 53 54#define HAVE_PCI_MMAP 55extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 56 enum pci_mmap_state mmap_state, int write_combine); 57 58extern void 59pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, 60 struct resource *res); 61 62extern void 63pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, 64 struct pci_bus_region *region); 65 66static inline struct resource * 67pcibios_select_root(struct pci_dev *pdev, struct resource *res) 68{ 69 struct resource *root = NULL; 70 71 if (res->flags & IORESOURCE_IO) 72 root = &ioport_resource; 73 if (res->flags & IORESOURCE_MEM) 74 root = &iomem_resource; 75 76 return root; 77} 78 79static inline void pcibios_add_platform_entries(struct pci_dev *dev) 80{ 81} 82 83#endif /* __KERNEL__ */ 84 85#endif 86