aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/include/asm/pci.h6
-rw-r--r--arch/arm/mach-bcmring/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-cns3xxx/include/mach/hardware.h1
-rw-r--r--arch/arm/mach-dove/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-ep93xx/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-footbridge/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-integrator/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-iop13xx/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-iop32x/include/mach/hardware.h1
-rw-r--r--arch/arm/mach-iop33x/include/mach/hardware.h1
-rw-r--r--arch/arm/mach-ixp2000/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-ixp2000/pci.c2
-rw-r--r--arch/arm/mach-ixp23xx/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-ixp23xx/pci.c2
-rw-r--r--arch/arm/mach-ixp4xx/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-kirkwood/include/mach/hardware.h3
-rw-r--r--arch/arm/mach-ks8695/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-mv78xx0/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-orion5x/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/hardware.h1
-rw-r--r--arch/arm/mach-sa1100/include/mach/hardware.h1
-rw-r--r--arch/arm/mach-shark/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-tegra/include/mach/hardware.h1
-rw-r--r--arch/arm/mach-versatile/include/mach/hardware.h2
-rw-r--r--arch/arm/mm/iomap.c4
25 files changed, 14 insertions, 37 deletions
diff --git a/arch/arm/include/asm/pci.h b/arch/arm/include/asm/pci.h
index 92e2a833693d..cb77e66c969f 100644
--- a/arch/arm/include/asm/pci.h
+++ b/arch/arm/include/asm/pci.h
@@ -3,10 +3,16 @@
3 3
4#ifdef __KERNEL__ 4#ifdef __KERNEL__
5#include <asm-generic/pci-dma-compat.h> 5#include <asm-generic/pci-dma-compat.h>
6#include <asm-generic/pci-bridge.h>
6 7
7#include <asm/mach/pci.h> /* for pci_sys_data */ 8#include <asm/mach/pci.h> /* for pci_sys_data */
8#include <mach/hardware.h> /* for PCIBIOS_MIN_* */ 9#include <mach/hardware.h> /* for PCIBIOS_MIN_* */
9 10
11static inline int pcibios_assign_all_busses(void)
12{
13 return pci_has_flag(PCI_REASSIGN_ALL_RSRC);
14}
15
10#ifdef CONFIG_PCI_DOMAINS 16#ifdef CONFIG_PCI_DOMAINS
11static inline int pci_domain_nr(struct pci_bus *bus) 17static inline int pci_domain_nr(struct pci_bus *bus)
12{ 18{
diff --git a/arch/arm/mach-bcmring/include/mach/hardware.h b/arch/arm/mach-bcmring/include/mach/hardware.h
index 8bf3564fba50..ed78aabb8e9f 100644
--- a/arch/arm/mach-bcmring/include/mach/hardware.h
+++ b/arch/arm/mach-bcmring/include/mach/hardware.h
@@ -36,8 +36,6 @@
36#define RAM_SIZE (CFG_GLOBAL_RAM_SIZE-CFG_GLOBAL_RAM_SIZE_RESERVED) 36#define RAM_SIZE (CFG_GLOBAL_RAM_SIZE-CFG_GLOBAL_RAM_SIZE_RESERVED)
37#define RAM_BASE PAGE_OFFSET 37#define RAM_BASE PAGE_OFFSET
38 38
39#define pcibios_assign_all_busses() 1
40
41/* Macros to make managing spinlocks a bit more controlled in terms of naming. */ 39/* Macros to make managing spinlocks a bit more controlled in terms of naming. */
42/* See reg_gpio.h, reg_irq.h, arch.c, gpio.c for example usage. */ 40/* See reg_gpio.h, reg_irq.h, arch.c, gpio.c for example usage. */
43#if defined(__KERNEL__) 41#if defined(__KERNEL__)
diff --git a/arch/arm/mach-cns3xxx/include/mach/hardware.h b/arch/arm/mach-cns3xxx/include/mach/hardware.h
index 57e09836f9d7..82a0d4e6bcc9 100644
--- a/arch/arm/mach-cns3xxx/include/mach/hardware.h
+++ b/arch/arm/mach-cns3xxx/include/mach/hardware.h
@@ -17,6 +17,5 @@
17/* macro to get at IO space when running virtually */ 17/* macro to get at IO space when running virtually */
18#define PCIBIOS_MIN_IO 0x00000000 18#define PCIBIOS_MIN_IO 0x00000000
19#define PCIBIOS_MIN_MEM 0x00000000 19#define PCIBIOS_MIN_MEM 0x00000000
20#define pcibios_assign_all_busses() 1
21 20
22#endif 21#endif
diff --git a/arch/arm/mach-dove/include/mach/hardware.h b/arch/arm/mach-dove/include/mach/hardware.h
index 32b0826e7873..f619fb92eae6 100644
--- a/arch/arm/mach-dove/include/mach/hardware.h
+++ b/arch/arm/mach-dove/include/mach/hardware.h
@@ -11,8 +11,6 @@
11 11
12#include "dove.h" 12#include "dove.h"
13 13
14#define pcibios_assign_all_busses() 1
15
16#define PCIBIOS_MIN_IO 0x1000 14#define PCIBIOS_MIN_IO 0x1000
17#define PCIBIOS_MIN_MEM 0x01000000 15#define PCIBIOS_MIN_MEM 0x01000000
18#define PCIMEM_BASE DOVE_PCIE0_MEM_PHYS_BASE 16#define PCIMEM_BASE DOVE_PCIE0_MEM_PHYS_BASE
diff --git a/arch/arm/mach-ep93xx/include/mach/hardware.h b/arch/arm/mach-ep93xx/include/mach/hardware.h
index 5a3ce024b593..4df842897eae 100644
--- a/arch/arm/mach-ep93xx/include/mach/hardware.h
+++ b/arch/arm/mach-ep93xx/include/mach/hardware.h
@@ -8,8 +8,6 @@
8#include <mach/ep93xx-regs.h> 8#include <mach/ep93xx-regs.h>
9#include <mach/platform.h> 9#include <mach/platform.h>
10 10
11#define pcibios_assign_all_busses() 0
12
13/* 11/*
14 * The EP93xx has two external crystal oscillators. To generate the 12 * The EP93xx has two external crystal oscillators. To generate the
15 * required high-frequency clocks, the processor uses two phase-locked- 13 * required high-frequency clocks, the processor uses two phase-locked-
diff --git a/arch/arm/mach-footbridge/include/mach/hardware.h b/arch/arm/mach-footbridge/include/mach/hardware.h
index b6fdf23ecf6c..082e6ce23579 100644
--- a/arch/arm/mach-footbridge/include/mach/hardware.h
+++ b/arch/arm/mach-footbridge/include/mach/hardware.h
@@ -100,8 +100,6 @@ extern unsigned int nw_gpio_read(void);
100extern void nw_cpld_modify(unsigned int mask, unsigned int set); 100extern void nw_cpld_modify(unsigned int mask, unsigned int set);
101#endif 101#endif
102 102
103#define pcibios_assign_all_busses() 1
104
105#define PCIBIOS_MIN_IO 0x1000 103#define PCIBIOS_MIN_IO 0x1000
106#define PCIBIOS_MIN_MEM 0x81000000 104#define PCIBIOS_MIN_MEM 0x81000000
107 105
diff --git a/arch/arm/mach-integrator/include/mach/hardware.h b/arch/arm/mach-integrator/include/mach/hardware.h
index 57f51ba11251..37323eabc1d3 100644
--- a/arch/arm/mach-integrator/include/mach/hardware.h
+++ b/arch/arm/mach-integrator/include/mach/hardware.h
@@ -34,8 +34,6 @@
34 34
35#define PCIMEM_BASE PCI_MEMORY_VADDR 35#define PCIMEM_BASE PCI_MEMORY_VADDR
36 36
37#define pcibios_assign_all_busses() 1
38
39#define PCIBIOS_MIN_IO 0x6000 37#define PCIBIOS_MIN_IO 0x6000
40#define PCIBIOS_MIN_MEM 0x00100000 38#define PCIBIOS_MIN_MEM 0x00100000
41 39
diff --git a/arch/arm/mach-iop13xx/include/mach/hardware.h b/arch/arm/mach-iop13xx/include/mach/hardware.h
index 8e1d56289846..ba81e504d714 100644
--- a/arch/arm/mach-iop13xx/include/mach/hardware.h
+++ b/arch/arm/mach-iop13xx/include/mach/hardware.h
@@ -2,8 +2,6 @@
2#define __ASM_ARCH_HARDWARE_H 2#define __ASM_ARCH_HARDWARE_H
3#include <asm/types.h> 3#include <asm/types.h>
4 4
5#define pcibios_assign_all_busses() 1
6
7#ifndef __ASSEMBLY__ 5#ifndef __ASSEMBLY__
8extern unsigned long iop13xx_pcibios_min_io; 6extern unsigned long iop13xx_pcibios_min_io;
9extern unsigned long iop13xx_pcibios_min_mem; 7extern unsigned long iop13xx_pcibios_min_mem;
diff --git a/arch/arm/mach-iop32x/include/mach/hardware.h b/arch/arm/mach-iop32x/include/mach/hardware.h
index d559c4e6095a..e68bf9779c8e 100644
--- a/arch/arm/mach-iop32x/include/mach/hardware.h
+++ b/arch/arm/mach-iop32x/include/mach/hardware.h
@@ -18,7 +18,6 @@
18 * but when we read them, we convert them to virtual addresses. See 18 * but when we read them, we convert them to virtual addresses. See
19 * arch/arm/plat-iop/pci.c. 19 * arch/arm/plat-iop/pci.c.
20 */ 20 */
21#define pcibios_assign_all_busses() 1
22#define PCIBIOS_MIN_IO 0x00000000 21#define PCIBIOS_MIN_IO 0x00000000
23#define PCIBIOS_MIN_MEM 0x00000000 22#define PCIBIOS_MIN_MEM 0x00000000
24 23
diff --git a/arch/arm/mach-iop33x/include/mach/hardware.h b/arch/arm/mach-iop33x/include/mach/hardware.h
index 8c10e430655e..215065b11017 100644
--- a/arch/arm/mach-iop33x/include/mach/hardware.h
+++ b/arch/arm/mach-iop33x/include/mach/hardware.h
@@ -18,7 +18,6 @@
18 * but when we read them, we convert them to virtual addresses. See 18 * but when we read them, we convert them to virtual addresses. See
19 * arch/arm/mach-iop3xx/iop3xx-pci.c 19 * arch/arm/mach-iop3xx/iop3xx-pci.c
20 */ 20 */
21#define pcibios_assign_all_busses() 1
22#define PCIBIOS_MIN_IO 0x00000000 21#define PCIBIOS_MIN_IO 0x00000000
23#define PCIBIOS_MIN_MEM 0x00000000 22#define PCIBIOS_MIN_MEM 0x00000000
24 23
diff --git a/arch/arm/mach-ixp2000/include/mach/hardware.h b/arch/arm/mach-ixp2000/include/mach/hardware.h
index f033de4e7493..6c92008aff45 100644
--- a/arch/arm/mach-ixp2000/include/mach/hardware.h
+++ b/arch/arm/mach-ixp2000/include/mach/hardware.h
@@ -27,8 +27,6 @@
27 27
28#include "ixp2000-regs.h" /* Chipset Registers */ 28#include "ixp2000-regs.h" /* Chipset Registers */
29 29
30#define pcibios_assign_all_busses() 0
31
32/* 30/*
33 * Platform helper functions 31 * Platform helper functions
34 */ 32 */
diff --git a/arch/arm/mach-ixp2000/pci.c b/arch/arm/mach-ixp2000/pci.c
index f797c5f538b0..8888ed9429f8 100644
--- a/arch/arm/mach-ixp2000/pci.c
+++ b/arch/arm/mach-ixp2000/pci.c
@@ -196,6 +196,8 @@ clear_master_aborts(void)
196void __init 196void __init
197ixp2000_pci_preinit(void) 197ixp2000_pci_preinit(void)
198{ 198{
199 pci_set_flags(0);
200
199#ifndef CONFIG_IXP2000_SUPPORT_BROKEN_PCI_IO 201#ifndef CONFIG_IXP2000_SUPPORT_BROKEN_PCI_IO
200 /* 202 /*
201 * Configure the PCI unit to properly byteswap I/O transactions, 203 * Configure the PCI unit to properly byteswap I/O transactions,
diff --git a/arch/arm/mach-ixp23xx/include/mach/hardware.h b/arch/arm/mach-ixp23xx/include/mach/hardware.h
index 57b508bfe280..b8bb781e54f0 100644
--- a/arch/arm/mach-ixp23xx/include/mach/hardware.h
+++ b/arch/arm/mach-ixp23xx/include/mach/hardware.h
@@ -20,8 +20,6 @@
20 20
21#include "ixp23xx.h" 21#include "ixp23xx.h"
22 22
23#define pcibios_assign_all_busses() 0
24
25/* 23/*
26 * Platform helper functions 24 * Platform helper functions
27 */ 25 */
diff --git a/arch/arm/mach-ixp23xx/pci.c b/arch/arm/mach-ixp23xx/pci.c
index 563819a83292..72d145a2019a 100644
--- a/arch/arm/mach-ixp23xx/pci.c
+++ b/arch/arm/mach-ixp23xx/pci.c
@@ -227,6 +227,8 @@ static void __init ixp23xx_pci_common_init(void)
227 227
228void __init ixp23xx_pci_preinit(void) 228void __init ixp23xx_pci_preinit(void)
229{ 229{
230 pci_set_flags(0);
231
230 ixp23xx_pci_common_init(); 232 ixp23xx_pci_common_init();
231 233
232 hook_fault_code(16+6, ixp23xx_pci_abort_handler, SIGBUS, 0, 234 hook_fault_code(16+6, ixp23xx_pci_abort_handler, SIGBUS, 0,
diff --git a/arch/arm/mach-ixp4xx/include/mach/hardware.h b/arch/arm/mach-ixp4xx/include/mach/hardware.h
index 8138371c406e..163e506764de 100644
--- a/arch/arm/mach-ixp4xx/include/mach/hardware.h
+++ b/arch/arm/mach-ixp4xx/include/mach/hardware.h
@@ -28,8 +28,6 @@
28 28
29#define ARCH_HAS_DMA_SET_COHERENT_MASK 29#define ARCH_HAS_DMA_SET_COHERENT_MASK
30 30
31#define pcibios_assign_all_busses() 1
32
33/* Register locations and bits */ 31/* Register locations and bits */
34#include "ixp4xx-regs.h" 32#include "ixp4xx-regs.h"
35 33
diff --git a/arch/arm/mach-kirkwood/include/mach/hardware.h b/arch/arm/mach-kirkwood/include/mach/hardware.h
index cde85283f7d3..31b81fefad59 100644
--- a/arch/arm/mach-kirkwood/include/mach/hardware.h
+++ b/arch/arm/mach-kirkwood/include/mach/hardware.h
@@ -11,9 +11,6 @@
11 11
12#include "kirkwood.h" 12#include "kirkwood.h"
13 13
14#define pcibios_assign_all_busses() 1
15
16#define PCIBIOS_MIN_IO 0x00001000
17#define PCIBIOS_MIN_MEM 0x01000000 14#define PCIBIOS_MIN_MEM 0x01000000
18#define PCIMEM_BASE KIRKWOOD_PCIE_MEM_PHYS_BASE /* mem base for VGA */ 15#define PCIMEM_BASE KIRKWOOD_PCIE_MEM_PHYS_BASE /* mem base for VGA */
19 16
diff --git a/arch/arm/mach-ks8695/include/mach/hardware.h b/arch/arm/mach-ks8695/include/mach/hardware.h
index e0f911d9e021..a46be88d8965 100644
--- a/arch/arm/mach-ks8695/include/mach/hardware.h
+++ b/arch/arm/mach-ks8695/include/mach/hardware.h
@@ -46,8 +46,6 @@
46/* 46/*
47 * PCI support 47 * PCI support
48 */ 48 */
49#define pcibios_assign_all_busses() 1
50
51#define PCIBIOS_MIN_IO 0 49#define PCIBIOS_MIN_IO 0
52#define PCIBIOS_MIN_MEM 0 50#define PCIBIOS_MIN_MEM 0
53 51
diff --git a/arch/arm/mach-mv78xx0/include/mach/hardware.h b/arch/arm/mach-mv78xx0/include/mach/hardware.h
index 5d887557e123..c76b93f1c164 100644
--- a/arch/arm/mach-mv78xx0/include/mach/hardware.h
+++ b/arch/arm/mach-mv78xx0/include/mach/hardware.h
@@ -11,8 +11,6 @@
11 11
12#include "mv78xx0.h" 12#include "mv78xx0.h"
13 13
14#define pcibios_assign_all_busses() 1
15
16#define PCIBIOS_MIN_IO 0x00001000 14#define PCIBIOS_MIN_IO 0x00001000
17#define PCIBIOS_MIN_MEM 0x01000000 15#define PCIBIOS_MIN_MEM 0x01000000
18#define PCIMEM_BASE MV78XX0_PCIE_MEM_PHYS_BASE /* mem base for VGA */ 16#define PCIMEM_BASE MV78XX0_PCIE_MEM_PHYS_BASE /* mem base for VGA */
diff --git a/arch/arm/mach-orion5x/include/mach/hardware.h b/arch/arm/mach-orion5x/include/mach/hardware.h
index e51aaf4bf2b5..a42b74389a44 100644
--- a/arch/arm/mach-orion5x/include/mach/hardware.h
+++ b/arch/arm/mach-orion5x/include/mach/hardware.h
@@ -11,8 +11,6 @@
11 11
12#include "orion5x.h" 12#include "orion5x.h"
13 13
14#define pcibios_assign_all_busses() 1
15
16#define PCIBIOS_MIN_IO 0x00001000 14#define PCIBIOS_MIN_IO 0x00001000
17#define PCIBIOS_MIN_MEM 0x01000000 15#define PCIBIOS_MIN_MEM 0x01000000
18#define PCIMEM_BASE ORION5X_PCIE_MEM_PHYS_BASE 16#define PCIMEM_BASE ORION5X_PCIE_MEM_PHYS_BASE
diff --git a/arch/arm/mach-pxa/include/mach/hardware.h b/arch/arm/mach-pxa/include/mach/hardware.h
index 6957ba56025b..b4ea3926a3f2 100644
--- a/arch/arm/mach-pxa/include/mach/hardware.h
+++ b/arch/arm/mach-pxa/include/mach/hardware.h
@@ -339,7 +339,6 @@ extern unsigned long get_clock_tick_rate(void);
339#if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI) 339#if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI)
340#define PCIBIOS_MIN_IO 0 340#define PCIBIOS_MIN_IO 0
341#define PCIBIOS_MIN_MEM 0 341#define PCIBIOS_MIN_MEM 0
342#define pcibios_assign_all_busses() 1
343#define ARCH_HAS_DMA_SET_COHERENT_MASK 342#define ARCH_HAS_DMA_SET_COHERENT_MASK
344#endif 343#endif
345 344
diff --git a/arch/arm/mach-sa1100/include/mach/hardware.h b/arch/arm/mach-sa1100/include/mach/hardware.h
index 967ae7684390..5946af276dc7 100644
--- a/arch/arm/mach-sa1100/include/mach/hardware.h
+++ b/arch/arm/mach-sa1100/include/mach/hardware.h
@@ -79,7 +79,6 @@ static inline unsigned long get_clock_tick_rate(void)
79#if defined(CONFIG_ARCH_SA1100) && defined(CONFIG_PCI) 79#if defined(CONFIG_ARCH_SA1100) && defined(CONFIG_PCI)
80#define PCIBIOS_MIN_IO 0 80#define PCIBIOS_MIN_IO 0
81#define PCIBIOS_MIN_MEM 0 81#define PCIBIOS_MIN_MEM 0
82#define pcibios_assign_all_busses() 1
83#define HAVE_ARCH_PCI_SET_DMA_MASK 1 82#define HAVE_ARCH_PCI_SET_DMA_MASK 1
84#endif 83#endif
85 84
diff --git a/arch/arm/mach-shark/include/mach/hardware.h b/arch/arm/mach-shark/include/mach/hardware.h
index 94d84b27a0cb..24639ce5d308 100644
--- a/arch/arm/mach-shark/include/mach/hardware.h
+++ b/arch/arm/mach-shark/include/mach/hardware.h
@@ -12,8 +12,6 @@
12 12
13#define UNCACHEABLE_ADDR 0xdf010000 13#define UNCACHEABLE_ADDR 0xdf010000
14 14
15#define pcibios_assign_all_busses() 1
16
17#define PCIBIOS_MIN_IO 0x6000 15#define PCIBIOS_MIN_IO 0x6000
18#define PCIBIOS_MIN_MEM 0x50000000 16#define PCIBIOS_MIN_MEM 0x50000000
19#define PCIMEM_BASE 0xe8000000 17#define PCIMEM_BASE 0xe8000000
diff --git a/arch/arm/mach-tegra/include/mach/hardware.h b/arch/arm/mach-tegra/include/mach/hardware.h
index 56e43b3a5b97..84c2658427d4 100644
--- a/arch/arm/mach-tegra/include/mach/hardware.h
+++ b/arch/arm/mach-tegra/include/mach/hardware.h
@@ -23,6 +23,5 @@
23 23
24#define PCIBIOS_MIN_IO 0x1000 24#define PCIBIOS_MIN_IO 0x1000
25#define PCIBIOS_MIN_MEM 0 25#define PCIBIOS_MIN_MEM 0
26#define pcibios_assign_all_busses() 1
27 26
28#endif 27#endif
diff --git a/arch/arm/mach-versatile/include/mach/hardware.h b/arch/arm/mach-versatile/include/mach/hardware.h
index 6911e1f5f156..8f60e9481fbb 100644
--- a/arch/arm/mach-versatile/include/mach/hardware.h
+++ b/arch/arm/mach-versatile/include/mach/hardware.h
@@ -34,8 +34,6 @@
34#define PCIBIOS_MIN_IO 0x44000000 34#define PCIBIOS_MIN_IO 0x44000000
35#define PCIBIOS_MIN_MEM 0x50000000 35#define PCIBIOS_MIN_MEM 0x50000000
36 36
37#define pcibios_assign_all_busses() 1
38
39/* macro to get at IO space when running virtually */ 37/* macro to get at IO space when running virtually */
40#define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000) 38#define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000)
41 39
diff --git a/arch/arm/mm/iomap.c b/arch/arm/mm/iomap.c
index ffad039cbb73..ad41414c0280 100644
--- a/arch/arm/mm/iomap.c
+++ b/arch/arm/mm/iomap.c
@@ -8,6 +8,7 @@
8#include <linux/pci.h> 8#include <linux/pci.h>
9#include <linux/ioport.h> 9#include <linux/ioport.h>
10#include <linux/io.h> 10#include <linux/io.h>
11#include <asm/pci.h>
11 12
12#ifdef __io 13#ifdef __io
13void __iomem *ioport_map(unsigned long port, unsigned int nr) 14void __iomem *ioport_map(unsigned long port, unsigned int nr)
@@ -23,6 +24,9 @@ EXPORT_SYMBOL(ioport_unmap);
23#endif 24#endif
24 25
25#ifdef CONFIG_PCI 26#ifdef CONFIG_PCI
27unsigned int pci_flags = PCI_REASSIGN_ALL_RSRC;
28EXPORT_SYMBOL(pci_flags);
29
26void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) 30void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
27{ 31{
28 resource_size_t start = pci_resource_start(dev, bar); 32 resource_size_t start = pci_resource_start(dev, bar);