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 */ 17static inline void 18pcibios_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 25static inline void 26pcibios_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 33static inline struct resource * 34pcibios_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 47static 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