1 /* 2 * linux/include/asm-generic/pci.h 3 * 4 * Copyright (C) 2003 Russell King 5 */ 6 #ifndef _ASM_GENERIC_PCI_H 7 #define _ASM_GENERIC_PCI_H 8 9 /** 10 * pcibios_resource_to_bus - convert resource to PCI bus address 11 * @dev: device which owns this resource 12 * @region: converted bus-centric region (start,end) 13 * @res: resource to convert 14 * 15 * Convert a resource to a PCI device bus address or bus window. 16 */ 17 static inline void 18 pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, 19 struct resource *res) 20 { 21 region->start = res->start; 22 region->end = res->end; 23 } 24 25 static inline void 26 pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, 27 struct pci_bus_region *region) 28 { 29 res->start = region->start; 30 res->end = region->end; 31 } 32 33 static inline struct resource * 34 pcibios_select_root(struct pci_dev *pdev, struct resource *res) 35 { 36 struct resource *root = NULL; 37 38 if (res->flags & IORESOURCE_IO) 39 root = &ioport_resource; 40 if (res->flags & IORESOURCE_MEM) 41 root = &iomem_resource; 42 43 return root; 44 } 45 46 #ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ 47 static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) 48 { 49 return channel ? 15 : 14; 50 } 51 #endif /* HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ */ 52 53 /* 54 * By default, assume that no iommu is in use and that the PCI 55 * space is mapped to address physical 0. 56 */ 57 #ifndef PCI_DMA_BUS_IS_PHYS 58 #define PCI_DMA_BUS_IS_PHYS (1) 59 #endif 60 61 #endif /* _ASM_GENERIC_PCI_H */ 62