aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/Kconfig6
-rw-r--r--arch/arm/include/asm/clkdev.h5
-rw-r--r--arch/arm/include/asm/pci.h12
-rw-r--r--arch/arm/include/asm/vga.h5
-rw-r--r--arch/arm/lib/ecard.S1
-rw-r--r--arch/arm/lib/io-readsw-armv3.S1
-rw-r--r--arch/arm/lib/io-writesw-armv3.S1
-rw-r--r--arch/arm/mach-at91/include/mach/clkdev.h7
-rw-r--r--arch/arm/mach-bcmring/include/mach/clkdev.h7
-rw-r--r--arch/arm/mach-bcmring/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-cns3xxx/cns3420vb.c1
-rw-r--r--arch/arm/mach-cns3xxx/include/mach/hardware.h22
-rw-r--r--arch/arm/mach-cns3xxx/pcie.c3
-rw-r--r--arch/arm/mach-davinci/include/mach/clkdev.h15
-rw-r--r--arch/arm/mach-dove/include/mach/hardware.h7
-rw-r--r--arch/arm/mach-dove/pcie.c3
-rw-r--r--arch/arm/mach-ep93xx/include/mach/clkdev.h11
-rw-r--r--arch/arm/mach-ep93xx/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-footbridge/dc21285.c3
-rw-r--r--arch/arm/mach-footbridge/include/mach/hardware.h5
-rw-r--r--arch/arm/mach-integrator/include/mach/hardware.h7
-rw-r--r--arch/arm/mach-integrator/pci_v3.c5
-rw-r--r--arch/arm/mach-iop13xx/include/mach/hardware.h7
-rw-r--r--arch/arm/mach-iop13xx/pci.c5
-rw-r--r--arch/arm/mach-iop32x/include/mach/hardware.h3
-rw-r--r--arch/arm/mach-iop33x/include/mach/hardware.h3
-rw-r--r--arch/arm/mach-ixp2000/include/mach/hardware.h8
-rw-r--r--arch/arm/mach-ixp2000/pci.c5
-rw-r--r--arch/arm/mach-ixp23xx/include/mach/hardware.h4
-rw-r--r--arch/arm/mach-ixp23xx/pci.c5
-rw-r--r--arch/arm/mach-ixp4xx/common-pci.c5
-rw-r--r--arch/arm/mach-ixp4xx/include/mach/hardware.h5
-rw-r--r--arch/arm/mach-kirkwood/include/mach/hardware.h7
-rw-r--r--arch/arm/mach-kirkwood/pcie.c3
-rw-r--r--arch/arm/mach-ks8695/include/mach/hardware.h9
-rw-r--r--arch/arm/mach-ks8695/pci.c3
-rw-r--r--arch/arm/mach-lpc32xx/include/mach/clkdev.h25
-rw-r--r--arch/arm/mach-mmp/include/mach/clkdev.h7
-rw-r--r--arch/arm/mach-msm/include/mach/clkdev.h19
-rw-r--r--arch/arm/mach-mv78xx0/include/mach/hardware.h7
-rw-r--r--arch/arm/mach-mv78xx0/pcie.c3
-rw-r--r--arch/arm/mach-mxs/include/mach/clkdev.h7
-rw-r--r--arch/arm/mach-nomadik/include/mach/clkdev.h7
-rw-r--r--arch/arm/mach-nuc93x/include/mach/clkdev.h7
-rw-r--r--arch/arm/mach-omap1/include/mach/clkdev.h5
-rw-r--r--arch/arm/mach-omap2/include/mach/clkdev.h5
-rw-r--r--arch/arm/mach-orion5x/include/mach/hardware.h7
-rw-r--r--arch/arm/mach-orion5x/pci.c2
-rw-r--r--arch/arm/mach-pnx4008/include/mach/clkdev.h7
-rw-r--r--arch/arm/mach-pxa/cm-x2xx-pci.c3
-rw-r--r--arch/arm/mach-pxa/include/mach/clkdev.h7
-rw-r--r--arch/arm/mach-pxa/include/mach/hardware.h3
-rw-r--r--arch/arm/mach-sa1100/include/mach/hardware.h8
-rw-r--r--arch/arm/mach-sa1100/pci-nanoengine.c3
-rw-r--r--arch/arm/mach-shark/include/mach/hardware.h6
-rw-r--r--arch/arm/mach-shark/pci.c12
-rw-r--r--arch/arm/mach-spear3xx/include/mach/clkdev.h19
-rw-r--r--arch/arm/mach-spear6xx/include/mach/clkdev.h19
-rw-r--r--arch/arm/mach-tegra/include/mach/clkdev.h34
-rw-r--r--arch/arm/mach-tegra/include/mach/hardware.h28
-rw-r--r--arch/arm/mach-tegra/include/mach/system.h1
-rw-r--r--arch/arm/mach-tegra/io.c1
-rw-r--r--arch/arm/mach-tegra/pcie.c2
-rw-r--r--arch/arm/mach-tegra/platsmp.c1
-rw-r--r--arch/arm/mach-ux500/include/mach/clkdev.h7
-rw-r--r--arch/arm/mach-versatile/include/mach/hardware.h6
-rw-r--r--arch/arm/mach-versatile/pci.c3
-rw-r--r--arch/arm/mach-w90x900/include/mach/clkdev.h7
-rw-r--r--arch/arm/mm/iomap.c12
-rw-r--r--arch/arm/mm/proc-xsc3.S1
-rw-r--r--arch/arm/plat-iop/pci.c3
-rw-r--r--arch/arm/plat-mxc/include/mach/clkdev.h7
-rw-r--r--arch/arm/plat-omap/include/plat/clkdev.h13
-rw-r--r--arch/arm/plat-spear/include/plat/clkdev.h20
-rw-r--r--arch/arm/plat-tcc/include/mach/clkdev.h7
-rw-r--r--arch/microblaze/include/asm/pci-bridge.h64
-rw-r--r--arch/powerpc/include/asm/pci-bridge.h50
-rw-r--r--arch/powerpc/include/asm/pci.h2
-rw-r--r--arch/powerpc/kernel/pci-common.c22
-rw-r--r--arch/powerpc/kernel/pci_32.c2
-rw-r--r--arch/powerpc/kernel/pci_64.c4
-rw-r--r--arch/powerpc/kernel/rtas_pci.c2
-rw-r--r--arch/powerpc/platforms/40x/ep405.c2
-rw-r--r--arch/powerpc/platforms/40x/ppc40x_simple.c2
-rw-r--r--arch/powerpc/platforms/40x/walnut.c2
-rw-r--r--arch/powerpc/platforms/44x/canyonlands.c2
-rw-r--r--arch/powerpc/platforms/44x/ebony.c2
-rw-r--r--arch/powerpc/platforms/44x/ppc44x_simple.c2
-rw-r--r--arch/powerpc/platforms/44x/sam440ep.c2
-rw-r--r--arch/powerpc/platforms/52xx/mpc52xx_pci.c2
-rw-r--r--arch/powerpc/platforms/82xx/pq2.c2
-rw-r--r--arch/powerpc/platforms/chrp/pci.c2
-rw-r--r--arch/powerpc/platforms/powermac/pci.c6
-rw-r--r--arch/powerpc/sysdev/fsl_pci.c4
-rw-r--r--arch/powerpc/sysdev/grackle.c2
-rw-r--r--arch/powerpc/sysdev/ppc4xx_pci.c2
-rw-r--r--drivers/clk/Kconfig3
-rw-r--r--include/asm-generic/pci-bridge.h62
98 files changed, 212 insertions, 577 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 1f6921172b1..5cdee4bc181 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -242,6 +242,7 @@ config ARCH_INTEGRATOR
242 select ARM_AMBA 242 select ARM_AMBA
243 select ARCH_HAS_CPUFREQ 243 select ARCH_HAS_CPUFREQ
244 select CLKDEV_LOOKUP 244 select CLKDEV_LOOKUP
245 select HAVE_MACH_CLKDEV
245 select ICST 246 select ICST
246 select GENERIC_CLOCKEVENTS 247 select GENERIC_CLOCKEVENTS
247 select PLAT_VERSATILE 248 select PLAT_VERSATILE
@@ -253,6 +254,7 @@ config ARCH_REALVIEW
253 bool "ARM Ltd. RealView family" 254 bool "ARM Ltd. RealView family"
254 select ARM_AMBA 255 select ARM_AMBA
255 select CLKDEV_LOOKUP 256 select CLKDEV_LOOKUP
257 select HAVE_MACH_CLKDEV
256 select ICST 258 select ICST
257 select GENERIC_CLOCKEVENTS 259 select GENERIC_CLOCKEVENTS
258 select ARCH_WANT_OPTIONAL_GPIOLIB 260 select ARCH_WANT_OPTIONAL_GPIOLIB
@@ -268,6 +270,7 @@ config ARCH_VERSATILE
268 select ARM_AMBA 270 select ARM_AMBA
269 select ARM_VIC 271 select ARM_VIC
270 select CLKDEV_LOOKUP 272 select CLKDEV_LOOKUP
273 select HAVE_MACH_CLKDEV
271 select ICST 274 select ICST
272 select GENERIC_CLOCKEVENTS 275 select GENERIC_CLOCKEVENTS
273 select ARCH_WANT_OPTIONAL_GPIOLIB 276 select ARCH_WANT_OPTIONAL_GPIOLIB
@@ -284,6 +287,7 @@ config ARCH_VEXPRESS
284 select ARM_AMBA 287 select ARM_AMBA
285 select ARM_TIMER_SP804 288 select ARM_TIMER_SP804
286 select CLKDEV_LOOKUP 289 select CLKDEV_LOOKUP
290 select HAVE_MACH_CLKDEV
287 select GENERIC_CLOCKEVENTS 291 select GENERIC_CLOCKEVENTS
288 select HAVE_CLK 292 select HAVE_CLK
289 select HAVE_PATA_PLATFORM 293 select HAVE_PATA_PLATFORM
@@ -646,6 +650,7 @@ config ARCH_SHMOBILE
646 bool "Renesas SH-Mobile / R-Mobile" 650 bool "Renesas SH-Mobile / R-Mobile"
647 select HAVE_CLK 651 select HAVE_CLK
648 select CLKDEV_LOOKUP 652 select CLKDEV_LOOKUP
653 select HAVE_MACH_CLKDEV
649 select GENERIC_CLOCKEVENTS 654 select GENERIC_CLOCKEVENTS
650 select NO_IOPORT 655 select NO_IOPORT
651 select SPARSE_IRQ 656 select SPARSE_IRQ
@@ -825,6 +830,7 @@ config ARCH_U300
825 select ARM_VIC 830 select ARM_VIC
826 select GENERIC_CLOCKEVENTS 831 select GENERIC_CLOCKEVENTS
827 select CLKDEV_LOOKUP 832 select CLKDEV_LOOKUP
833 select HAVE_MACH_CLKDEV
828 select GENERIC_GPIO 834 select GENERIC_GPIO
829 help 835 help
830 Support for ST-Ericsson U300 series mobile platforms. 836 Support for ST-Ericsson U300 series mobile platforms.
diff --git a/arch/arm/include/asm/clkdev.h b/arch/arm/include/asm/clkdev.h
index 765d3322236..80751c15c30 100644
--- a/arch/arm/include/asm/clkdev.h
+++ b/arch/arm/include/asm/clkdev.h
@@ -14,7 +14,12 @@
14 14
15#include <linux/slab.h> 15#include <linux/slab.h>
16 16
17#ifdef CONFIG_HAVE_MACH_CLKDEV
17#include <mach/clkdev.h> 18#include <mach/clkdev.h>
19#else
20#define __clk_get(clk) ({ 1; })
21#define __clk_put(clk) do { } while (0)
22#endif
18 23
19static inline struct clk_lookup_alloc *__clkdev_alloc(size_t size) 24static inline struct clk_lookup_alloc *__clkdev_alloc(size_t size)
20{ 25{
diff --git a/arch/arm/include/asm/pci.h b/arch/arm/include/asm/pci.h
index 92e2a833693..2b1f245db0c 100644
--- a/arch/arm/include/asm/pci.h
+++ b/arch/arm/include/asm/pci.h
@@ -3,9 +3,19 @@
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
10extern unsigned long pcibios_min_io;
11#define PCIBIOS_MIN_IO pcibios_min_io
12extern unsigned long pcibios_min_mem;
13#define PCIBIOS_MIN_MEM pcibios_min_mem
14
15static inline int pcibios_assign_all_busses(void)
16{
17 return pci_has_flag(PCI_REASSIGN_ALL_RSRC);
18}
9 19
10#ifdef CONFIG_PCI_DOMAINS 20#ifdef CONFIG_PCI_DOMAINS
11static inline int pci_domain_nr(struct pci_bus *bus) 21static inline int pci_domain_nr(struct pci_bus *bus)
diff --git a/arch/arm/include/asm/vga.h b/arch/arm/include/asm/vga.h
index 250a4dd0063..91f40217bfa 100644
--- a/arch/arm/include/asm/vga.h
+++ b/arch/arm/include/asm/vga.h
@@ -2,9 +2,10 @@
2#define ASMARM_VGA_H 2#define ASMARM_VGA_H
3 3
4#include <linux/io.h> 4#include <linux/io.h>
5#include <mach/hardware.h>
6 5
7#define VGA_MAP_MEM(x,s) (PCIMEM_BASE + (x)) 6extern unsigned long vga_base;
7
8#define VGA_MAP_MEM(x,s) (vga_base + (x))
8 9
9#define vga_readb(x) (*((volatile unsigned char *)x)) 10#define vga_readb(x) (*((volatile unsigned char *)x))
10#define vga_writeb(x,y) (*((volatile unsigned char *)y) = (x)) 11#define vga_writeb(x,y) (*((volatile unsigned char *)y) = (x))
diff --git a/arch/arm/lib/ecard.S b/arch/arm/lib/ecard.S
index 8678eb2b7a6..e6057fa851b 100644
--- a/arch/arm/lib/ecard.S
+++ b/arch/arm/lib/ecard.S
@@ -12,7 +12,6 @@
12 */ 12 */
13#include <linux/linkage.h> 13#include <linux/linkage.h>
14#include <asm/assembler.h> 14#include <asm/assembler.h>
15#include <mach/hardware.h>
16 15
17#define CPSR2SPSR(rt) \ 16#define CPSR2SPSR(rt) \
18 mrs rt, cpsr; \ 17 mrs rt, cpsr; \
diff --git a/arch/arm/lib/io-readsw-armv3.S b/arch/arm/lib/io-readsw-armv3.S
index 9aaf7c72065..88487c8c4f2 100644
--- a/arch/arm/lib/io-readsw-armv3.S
+++ b/arch/arm/lib/io-readsw-armv3.S
@@ -9,7 +9,6 @@
9 */ 9 */
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <mach/hardware.h>
13 12
14.Linsw_bad_alignment: 13.Linsw_bad_alignment:
15 adr r0, .Linsw_bad_align_msg 14 adr r0, .Linsw_bad_align_msg
diff --git a/arch/arm/lib/io-writesw-armv3.S b/arch/arm/lib/io-writesw-armv3.S
index cd34503e424..49b800419e3 100644
--- a/arch/arm/lib/io-writesw-armv3.S
+++ b/arch/arm/lib/io-writesw-armv3.S
@@ -9,7 +9,6 @@
9 */ 9 */
10#include <linux/linkage.h> 10#include <linux/linkage.h>
11#include <asm/assembler.h> 11#include <asm/assembler.h>
12#include <mach/hardware.h>
13 12
14.Loutsw_bad_alignment: 13.Loutsw_bad_alignment:
15 adr r0, .Loutsw_bad_align_msg 14 adr r0, .Loutsw_bad_align_msg
diff --git a/arch/arm/mach-at91/include/mach/clkdev.h b/arch/arm/mach-at91/include/mach/clkdev.h
deleted file mode 100644
index 04b37a89801..00000000000
--- a/arch/arm/mach-at91/include/mach/clkdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __ASM_MACH_CLKDEV_H
2#define __ASM_MACH_CLKDEV_H
3
4#define __clk_get(clk) ({ 1; })
5#define __clk_put(clk) do { } while (0)
6
7#endif
diff --git a/arch/arm/mach-bcmring/include/mach/clkdev.h b/arch/arm/mach-bcmring/include/mach/clkdev.h
deleted file mode 100644
index 04b37a89801..00000000000
--- a/arch/arm/mach-bcmring/include/mach/clkdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __ASM_MACH_CLKDEV_H
2#define __ASM_MACH_CLKDEV_H
3
4#define __clk_get(clk) ({ 1; })
5#define __clk_put(clk) do { } while (0)
6
7#endif
diff --git a/arch/arm/mach-bcmring/include/mach/hardware.h b/arch/arm/mach-bcmring/include/mach/hardware.h
index 8bf3564fba5..ed78aabb8e9 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/cns3420vb.c b/arch/arm/mach-cns3xxx/cns3420vb.c
index 08e5c875950..85e6390795a 100644
--- a/arch/arm/mach-cns3xxx/cns3420vb.c
+++ b/arch/arm/mach-cns3xxx/cns3420vb.c
@@ -29,7 +29,6 @@
29#include <asm/mach/arch.h> 29#include <asm/mach/arch.h>
30#include <asm/mach/map.h> 30#include <asm/mach/map.h>
31#include <asm/mach/time.h> 31#include <asm/mach/time.h>
32#include <mach/hardware.h>
33#include <mach/cns3xxx.h> 32#include <mach/cns3xxx.h>
34#include <mach/irqs.h> 33#include <mach/irqs.h>
35#include "core.h" 34#include "core.h"
diff --git a/arch/arm/mach-cns3xxx/include/mach/hardware.h b/arch/arm/mach-cns3xxx/include/mach/hardware.h
deleted file mode 100644
index 57e09836f9d..00000000000
--- a/arch/arm/mach-cns3xxx/include/mach/hardware.h
+++ /dev/null
@@ -1,22 +0,0 @@
1/*
2 * This file contains the hardware definitions of the Cavium Networks boards.
3 *
4 * Copyright 2003 ARM Limited.
5 * Copyright 2008 Cavium Networks
6 *
7 * This file is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License, Version 2, as
9 * published by the Free Software Foundation.
10 */
11
12#ifndef __MACH_HARDWARE_H
13#define __MACH_HARDWARE_H
14
15#include <asm/sizes.h>
16
17/* macro to get at IO space when running virtually */
18#define PCIBIOS_MIN_IO 0x00000000
19#define PCIBIOS_MIN_MEM 0x00000000
20#define pcibios_assign_all_busses() 1
21
22#endif
diff --git a/arch/arm/mach-cns3xxx/pcie.c b/arch/arm/mach-cns3xxx/pcie.c
index 78defd71a82..a4ec080908b 100644
--- a/arch/arm/mach-cns3xxx/pcie.c
+++ b/arch/arm/mach-cns3xxx/pcie.c
@@ -369,6 +369,9 @@ static int __init cns3xxx_pcie_init(void)
369{ 369{
370 int i; 370 int i;
371 371
372 pcibios_min_io = 0;
373 pcibios_min_mem = 0;
374
372 hook_fault_code(16 + 6, cns3xxx_pcie_abort_handler, SIGBUS, 0, 375 hook_fault_code(16 + 6, cns3xxx_pcie_abort_handler, SIGBUS, 0,
373 "imprecise external abort"); 376 "imprecise external abort");
374 377
diff --git a/arch/arm/mach-davinci/include/mach/clkdev.h b/arch/arm/mach-davinci/include/mach/clkdev.h
deleted file mode 100644
index 14a50488718..00000000000
--- a/arch/arm/mach-davinci/include/mach/clkdev.h
+++ /dev/null
@@ -1,15 +0,0 @@
1#ifndef __MACH_CLKDEV_H
2#define __MACH_CLKDEV_H
3
4struct clk;
5
6static inline int __clk_get(struct clk *clk)
7{
8 return 1;
9}
10
11static inline void __clk_put(struct clk *clk)
12{
13}
14
15#endif
diff --git a/arch/arm/mach-dove/include/mach/hardware.h b/arch/arm/mach-dove/include/mach/hardware.h
index 32b0826e787..f1368b9a8ec 100644
--- a/arch/arm/mach-dove/include/mach/hardware.h
+++ b/arch/arm/mach-dove/include/mach/hardware.h
@@ -11,13 +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
17#define PCIBIOS_MIN_MEM 0x01000000
18#define PCIMEM_BASE DOVE_PCIE0_MEM_PHYS_BASE
19
20
21/* Macros below are required for compatibility with PXA AC'97 driver. */ 14/* Macros below are required for compatibility with PXA AC'97 driver. */
22#define __REG(x) (*((volatile u32 *)((x) - DOVE_SB_REGS_PHYS_BASE + \ 15#define __REG(x) (*((volatile u32 *)((x) - DOVE_SB_REGS_PHYS_BASE + \
23 DOVE_SB_REGS_VIRT_BASE))) 16 DOVE_SB_REGS_VIRT_BASE)))
diff --git a/arch/arm/mach-dove/pcie.c b/arch/arm/mach-dove/pcie.c
index 502d1ca2f4b..c2f1c4767f2 100644
--- a/arch/arm/mach-dove/pcie.c
+++ b/arch/arm/mach-dove/pcie.c
@@ -11,6 +11,7 @@
11#include <linux/kernel.h> 11#include <linux/kernel.h>
12#include <linux/pci.h> 12#include <linux/pci.h>
13#include <linux/mbus.h> 13#include <linux/mbus.h>
14#include <video/vga.h>
14#include <asm/mach/pci.h> 15#include <asm/mach/pci.h>
15#include <asm/mach/arch.h> 16#include <asm/mach/arch.h>
16#include <asm/setup.h> 17#include <asm/setup.h>
@@ -228,6 +229,8 @@ static void __init add_pcie_port(int index, unsigned long base)
228 229
229void __init dove_pcie_init(int init_port0, int init_port1) 230void __init dove_pcie_init(int init_port0, int init_port1)
230{ 231{
232 vga_base = DOVE_PCIE0_MEM_PHYS_BASE;
233
231 if (init_port0) 234 if (init_port0)
232 add_pcie_port(0, DOVE_PCIE0_VIRT_BASE); 235 add_pcie_port(0, DOVE_PCIE0_VIRT_BASE);
233 236
diff --git a/arch/arm/mach-ep93xx/include/mach/clkdev.h b/arch/arm/mach-ep93xx/include/mach/clkdev.h
deleted file mode 100644
index 50cb991eade..00000000000
--- a/arch/arm/mach-ep93xx/include/mach/clkdev.h
+++ /dev/null
@@ -1,11 +0,0 @@
1/*
2 * arch/arm/mach-ep93xx/include/mach/clkdev.h
3 */
4
5#ifndef __ASM_MACH_CLKDEV_H
6#define __ASM_MACH_CLKDEV_H
7
8#define __clk_get(clk) ({ 1; })
9#define __clk_put(clk) do { } while (0)
10
11#endif
diff --git a/arch/arm/mach-ep93xx/include/mach/hardware.h b/arch/arm/mach-ep93xx/include/mach/hardware.h
index 5a3ce024b59..4df842897ea 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/dc21285.c b/arch/arm/mach-footbridge/dc21285.c
index 3ffa54841ec..1331fff51ae 100644
--- a/arch/arm/mach-footbridge/dc21285.c
+++ b/arch/arm/mach-footbridge/dc21285.c
@@ -295,6 +295,9 @@ void __init dc21285_preinit(void)
295 unsigned int mem_size, mem_mask; 295 unsigned int mem_size, mem_mask;
296 int cfn_mode; 296 int cfn_mode;
297 297
298 pcibios_min_mem = 0x81000000;
299 vga_base = PCIMEM_BASE;
300
298 mem_size = (unsigned int)high_memory - PAGE_OFFSET; 301 mem_size = (unsigned int)high_memory - PAGE_OFFSET;
299 for (mem_mask = 0x00100000; mem_mask < 0x10000000; mem_mask <<= 1) 302 for (mem_mask = 0x00100000; mem_mask < 0x10000000; mem_mask <<= 1)
300 if (mem_mask >= mem_size) 303 if (mem_mask >= mem_size)
diff --git a/arch/arm/mach-footbridge/include/mach/hardware.h b/arch/arm/mach-footbridge/include/mach/hardware.h
index b6fdf23ecf6..15d54981674 100644
--- a/arch/arm/mach-footbridge/include/mach/hardware.h
+++ b/arch/arm/mach-footbridge/include/mach/hardware.h
@@ -100,9 +100,4 @@ 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
106#define PCIBIOS_MIN_MEM 0x81000000
107
108#endif 103#endif
diff --git a/arch/arm/mach-integrator/include/mach/hardware.h b/arch/arm/mach-integrator/include/mach/hardware.h
index 57f51ba1125..65fed7c0eb8 100644
--- a/arch/arm/mach-integrator/include/mach/hardware.h
+++ b/arch/arm/mach-integrator/include/mach/hardware.h
@@ -32,13 +32,6 @@
32#define IO_SIZE 0x0B000000 // How much? 32#define IO_SIZE 0x0B000000 // How much?
33#define IO_START INTEGRATOR_HDR_BASE // PA of IO 33#define IO_START INTEGRATOR_HDR_BASE // PA of IO
34 34
35#define PCIMEM_BASE PCI_MEMORY_VADDR
36
37#define pcibios_assign_all_busses() 1
38
39#define PCIBIOS_MIN_IO 0x6000
40#define PCIBIOS_MIN_MEM 0x00100000
41
42/* macro to get at IO space when running virtually */ 35/* macro to get at IO space when running virtually */
43#ifdef CONFIG_MMU 36#ifdef CONFIG_MMU
44#define IO_ADDRESS(x) (((x) & 0x000fffff) | (((x) >> 4) & 0x0ff00000) | IO_BASE) 37#define IO_ADDRESS(x) (((x) & 0x000fffff) | (((x) >> 4) & 0x0ff00000) | IO_BASE)
diff --git a/arch/arm/mach-integrator/pci_v3.c b/arch/arm/mach-integrator/pci_v3.c
index 6467d99fa2e..dd56bfb351e 100644
--- a/arch/arm/mach-integrator/pci_v3.c
+++ b/arch/arm/mach-integrator/pci_v3.c
@@ -27,6 +27,7 @@
27#include <linux/spinlock.h> 27#include <linux/spinlock.h>
28#include <linux/init.h> 28#include <linux/init.h>
29#include <linux/io.h> 29#include <linux/io.h>
30#include <video/vga.h>
30 31
31#include <mach/hardware.h> 32#include <mach/hardware.h>
32#include <mach/platform.h> 33#include <mach/platform.h>
@@ -502,6 +503,10 @@ void __init pci_v3_preinit(void)
502 unsigned int temp; 503 unsigned int temp;
503 int ret; 504 int ret;
504 505
506 pcibios_min_io = 0x6000;
507 pcibios_min_mem = 0x00100000;
508 vga_base = PCI_MEMORY_VADDR;
509
505 /* 510 /*
506 * Hook in our fault handler for PCI errors 511 * Hook in our fault handler for PCI errors
507 */ 512 */
diff --git a/arch/arm/mach-iop13xx/include/mach/hardware.h b/arch/arm/mach-iop13xx/include/mach/hardware.h
index 8e1d5628984..786fa266fab 100644
--- a/arch/arm/mach-iop13xx/include/mach/hardware.h
+++ b/arch/arm/mach-iop13xx/include/mach/hardware.h
@@ -2,18 +2,11 @@
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;
9extern unsigned long iop13xx_pcibios_min_mem;
10extern u16 iop13xx_dev_id(void); 6extern u16 iop13xx_dev_id(void);
11extern void iop13xx_set_atu_mmr_bases(void); 7extern void iop13xx_set_atu_mmr_bases(void);
12#endif 8#endif
13 9
14#define PCIBIOS_MIN_IO (iop13xx_pcibios_min_io)
15#define PCIBIOS_MIN_MEM (iop13xx_pcibios_min_mem)
16
17/* 10/*
18 * Generic chipset bits 11 * Generic chipset bits
19 * 12 *
diff --git a/arch/arm/mach-iop13xx/pci.c b/arch/arm/mach-iop13xx/pci.c
index ba3dae352a2..0690b1d7fd3 100644
--- a/arch/arm/mach-iop13xx/pci.c
+++ b/arch/arm/mach-iop13xx/pci.c
@@ -39,8 +39,6 @@ u32 iop13xx_atue_mem_base;
39u32 iop13xx_atux_mem_base; 39u32 iop13xx_atux_mem_base;
40size_t iop13xx_atue_mem_size; 40size_t iop13xx_atue_mem_size;
41size_t iop13xx_atux_mem_size; 41size_t iop13xx_atux_mem_size;
42unsigned long iop13xx_pcibios_min_io = 0;
43unsigned long iop13xx_pcibios_min_mem = 0;
44 42
45EXPORT_SYMBOL(iop13xx_atue_mem_base); 43EXPORT_SYMBOL(iop13xx_atue_mem_base);
46EXPORT_SYMBOL(iop13xx_atux_mem_base); 44EXPORT_SYMBOL(iop13xx_atux_mem_base);
@@ -971,7 +969,8 @@ void __init iop13xx_pci_init(void)
971 __raw_writel(__raw_readl(IOP13XX_XBG_BECSR) & 3, IOP13XX_XBG_BECSR); 969 __raw_writel(__raw_readl(IOP13XX_XBG_BECSR) & 3, IOP13XX_XBG_BECSR);
972 970
973 /* Setup the Min Address for PCI memory... */ 971 /* Setup the Min Address for PCI memory... */
974 iop13xx_pcibios_min_mem = IOP13XX_PCIX_LOWER_MEM_BA; 972 pcibios_min_io = 0;
973 pcibios_min_mem = IOP13XX_PCIX_LOWER_MEM_BA;
975 974
976 /* if Linux is given control of an ATU 975 /* if Linux is given control of an ATU
977 * clear out its prior configuration, 976 * clear out its prior configuration,
diff --git a/arch/arm/mach-iop32x/include/mach/hardware.h b/arch/arm/mach-iop32x/include/mach/hardware.h
index d559c4e6095..48cb1b20ba9 100644
--- a/arch/arm/mach-iop32x/include/mach/hardware.h
+++ b/arch/arm/mach-iop32x/include/mach/hardware.h
@@ -18,9 +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
23#define PCIBIOS_MIN_MEM 0x00000000
24 21
25#ifndef __ASSEMBLY__ 22#ifndef __ASSEMBLY__
26void iop32x_init_irq(void); 23void iop32x_init_irq(void);
diff --git a/arch/arm/mach-iop33x/include/mach/hardware.h b/arch/arm/mach-iop33x/include/mach/hardware.h
index 8c10e430655..839285315e4 100644
--- a/arch/arm/mach-iop33x/include/mach/hardware.h
+++ b/arch/arm/mach-iop33x/include/mach/hardware.h
@@ -18,9 +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
23#define PCIBIOS_MIN_MEM 0x00000000
24 21
25#ifndef __ASSEMBLY__ 22#ifndef __ASSEMBLY__
26void iop33x_init_irq(void); 23void iop33x_init_irq(void);
diff --git a/arch/arm/mach-ixp2000/include/mach/hardware.h b/arch/arm/mach-ixp2000/include/mach/hardware.h
index f033de4e749..cdaf1db8400 100644
--- a/arch/arm/mach-ixp2000/include/mach/hardware.h
+++ b/arch/arm/mach-ixp2000/include/mach/hardware.h
@@ -19,16 +19,8 @@
19#ifndef __ASM_ARCH_HARDWARE_H__ 19#ifndef __ASM_ARCH_HARDWARE_H__
20#define __ASM_ARCH_HARDWARE_H__ 20#define __ASM_ARCH_HARDWARE_H__
21 21
22/*
23 * This needs to be platform-specific?
24 */
25#define PCIBIOS_MIN_IO 0x00000000
26#define PCIBIOS_MIN_MEM 0x00000000
27
28#include "ixp2000-regs.h" /* Chipset Registers */ 22#include "ixp2000-regs.h" /* Chipset Registers */
29 23
30#define pcibios_assign_all_busses() 0
31
32/* 24/*
33 * Platform helper functions 25 * Platform helper functions
34 */ 26 */
diff --git a/arch/arm/mach-ixp2000/pci.c b/arch/arm/mach-ixp2000/pci.c
index f797c5f538b..f5098b306fd 100644
--- a/arch/arm/mach-ixp2000/pci.c
+++ b/arch/arm/mach-ixp2000/pci.c
@@ -196,6 +196,11 @@ clear_master_aborts(void)
196void __init 196void __init
197ixp2000_pci_preinit(void) 197ixp2000_pci_preinit(void)
198{ 198{
199 pci_set_flags(0);
200
201 pcibios_min_io = 0;
202 pcibios_min_mem = 0;
203
199#ifndef CONFIG_IXP2000_SUPPORT_BROKEN_PCI_IO 204#ifndef CONFIG_IXP2000_SUPPORT_BROKEN_PCI_IO
200 /* 205 /*
201 * Configure the PCI unit to properly byteswap I/O transactions, 206 * 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 57b508bfe28..60e55fa1023 100644
--- a/arch/arm/mach-ixp23xx/include/mach/hardware.h
+++ b/arch/arm/mach-ixp23xx/include/mach/hardware.h
@@ -15,13 +15,9 @@
15#define __ASM_ARCH_HARDWARE_H 15#define __ASM_ARCH_HARDWARE_H
16 16
17/* PCI IO info */ 17/* PCI IO info */
18#define PCIBIOS_MIN_IO 0x00000000
19#define PCIBIOS_MIN_MEM 0xe0000000
20 18
21#include "ixp23xx.h" 19#include "ixp23xx.h"
22 20
23#define pcibios_assign_all_busses() 0
24
25/* 21/*
26 * Platform helper functions 22 * Platform helper functions
27 */ 23 */
diff --git a/arch/arm/mach-ixp23xx/pci.c b/arch/arm/mach-ixp23xx/pci.c
index 563819a8329..e6be5711c70 100644
--- a/arch/arm/mach-ixp23xx/pci.c
+++ b/arch/arm/mach-ixp23xx/pci.c
@@ -227,6 +227,11 @@ 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 pcibios_min_io = 0;
231 pcibios_min_mem = 0xe0000000;
232
233 pci_set_flags(0);
234
230 ixp23xx_pci_common_init(); 235 ixp23xx_pci_common_init();
231 236
232 hook_fault_code(16+6, ixp23xx_pci_abort_handler, SIGBUS, 0, 237 hook_fault_code(16+6, ixp23xx_pci_abort_handler, SIGBUS, 0,
diff --git a/arch/arm/mach-ixp4xx/common-pci.c b/arch/arm/mach-ixp4xx/common-pci.c
index e2e98bbb641..2131832ee6b 100644
--- a/arch/arm/mach-ixp4xx/common-pci.c
+++ b/arch/arm/mach-ixp4xx/common-pci.c
@@ -346,6 +346,11 @@ void __init ixp4xx_pci_preinit(void)
346{ 346{
347 unsigned long cpuid = read_cpuid_id(); 347 unsigned long cpuid = read_cpuid_id();
348 348
349#ifdef CONFIG_IXP4XX_INDIRECT_PCI
350 pcibios_min_mem = 0x10000000; /* 1 GB of indirect PCI MMIO space */
351#else
352 pcibios_min_mem = 0x48000000; /* 64 MB of PCI MMIO space */
353#endif
349 /* 354 /*
350 * Determine which PCI read method to use. 355 * Determine which PCI read method to use.
351 * Rev 0 IXP425 requires workaround. 356 * Rev 0 IXP425 requires workaround.
diff --git a/arch/arm/mach-ixp4xx/include/mach/hardware.h b/arch/arm/mach-ixp4xx/include/mach/hardware.h
index 8138371c406..c30e7e923a7 100644
--- a/arch/arm/mach-ixp4xx/include/mach/hardware.h
+++ b/arch/arm/mach-ixp4xx/include/mach/hardware.h
@@ -17,19 +17,14 @@
17#ifndef __ASM_ARCH_HARDWARE_H__ 17#ifndef __ASM_ARCH_HARDWARE_H__
18#define __ASM_ARCH_HARDWARE_H__ 18#define __ASM_ARCH_HARDWARE_H__
19 19
20#define PCIBIOS_MIN_IO 0x00001000
21#ifdef CONFIG_IXP4XX_INDIRECT_PCI 20#ifdef CONFIG_IXP4XX_INDIRECT_PCI
22#define PCIBIOS_MIN_MEM 0x10000000 /* 1 GB of indirect PCI MMIO space */
23#define PCIBIOS_MAX_MEM 0x4FFFFFFF 21#define PCIBIOS_MAX_MEM 0x4FFFFFFF
24#else 22#else
25#define PCIBIOS_MIN_MEM 0x48000000 /* 64 MB of PCI MMIO space */
26#define PCIBIOS_MAX_MEM 0x4BFFFFFF 23#define PCIBIOS_MAX_MEM 0x4BFFFFFF
27#endif 24#endif
28 25
29#define ARCH_HAS_DMA_SET_COHERENT_MASK 26#define ARCH_HAS_DMA_SET_COHERENT_MASK
30 27
31#define pcibios_assign_all_busses() 1
32
33/* Register locations and bits */ 28/* Register locations and bits */
34#include "ixp4xx-regs.h" 29#include "ixp4xx-regs.h"
35 30
diff --git a/arch/arm/mach-kirkwood/include/mach/hardware.h b/arch/arm/mach-kirkwood/include/mach/hardware.h
index cde85283f7d..742b74f43e4 100644
--- a/arch/arm/mach-kirkwood/include/mach/hardware.h
+++ b/arch/arm/mach-kirkwood/include/mach/hardware.h
@@ -11,11 +11,4 @@
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
18#define PCIMEM_BASE KIRKWOOD_PCIE_MEM_PHYS_BASE /* mem base for VGA */
19
20
21#endif 14#endif
diff --git a/arch/arm/mach-kirkwood/pcie.c b/arch/arm/mach-kirkwood/pcie.c
index ca294ff6d5b..bfeb9c900ce 100644
--- a/arch/arm/mach-kirkwood/pcie.c
+++ b/arch/arm/mach-kirkwood/pcie.c
@@ -12,6 +12,7 @@
12#include <linux/pci.h> 12#include <linux/pci.h>
13#include <linux/slab.h> 13#include <linux/slab.h>
14#include <linux/mbus.h> 14#include <linux/mbus.h>
15#include <video/vga.h>
15#include <asm/irq.h> 16#include <asm/irq.h>
16#include <asm/mach/pci.h> 17#include <asm/mach/pci.h>
17#include <plat/pcie.h> 18#include <plat/pcie.h>
@@ -271,6 +272,8 @@ static void __init add_pcie_port(int index, unsigned long base)
271 272
272void __init kirkwood_pcie_init(unsigned int portmask) 273void __init kirkwood_pcie_init(unsigned int portmask)
273{ 274{
275 vga_base = KIRKWOOD_PCIE_MEM_PHYS_BASE;
276
274 if (portmask & KW_PCIE0) 277 if (portmask & KW_PCIE0)
275 add_pcie_port(0, PCIE_VIRT_BASE); 278 add_pcie_port(0, PCIE_VIRT_BASE);
276 279
diff --git a/arch/arm/mach-ks8695/include/mach/hardware.h b/arch/arm/mach-ks8695/include/mach/hardware.h
index e0f911d9e02..5e0c388143d 100644
--- a/arch/arm/mach-ks8695/include/mach/hardware.h
+++ b/arch/arm/mach-ks8695/include/mach/hardware.h
@@ -42,13 +42,4 @@
42#define KS8695_PCIIO_PA 0x80000000 42#define KS8695_PCIIO_PA 0x80000000
43#define KS8695_PCIIO_SIZE SZ_64K 43#define KS8695_PCIIO_SIZE SZ_64K
44 44
45
46/*
47 * PCI support
48 */
49#define pcibios_assign_all_busses() 1
50
51#define PCIBIOS_MIN_IO 0
52#define PCIBIOS_MIN_MEM 0
53
54#endif 45#endif
diff --git a/arch/arm/mach-ks8695/pci.c b/arch/arm/mach-ks8695/pci.c
index 5fcd082a17f..c7c9a188d10 100644
--- a/arch/arm/mach-ks8695/pci.c
+++ b/arch/arm/mach-ks8695/pci.c
@@ -317,6 +317,9 @@ void __init ks8695_init_pci(struct ks8695_pci_cfg *cfg)
317 return; 317 return;
318 } 318 }
319 319
320 pcibios_min_io = 0;
321 pcibios_min_mem = 0;
322
320 printk(KERN_INFO "PCI: Initialising\n"); 323 printk(KERN_INFO "PCI: Initialising\n");
321 ks8695_show_pciregs(); 324 ks8695_show_pciregs();
322 325
diff --git a/arch/arm/mach-lpc32xx/include/mach/clkdev.h b/arch/arm/mach-lpc32xx/include/mach/clkdev.h
deleted file mode 100644
index 9bf0637e29c..00000000000
--- a/arch/arm/mach-lpc32xx/include/mach/clkdev.h
+++ /dev/null
@@ -1,25 +0,0 @@
1/*
2 * arch/arm/mach-lpc32xx/include/mach/clkdev.h
3 *
4 * Author: Kevin Wells <kevin.wells@nxp.com>
5 *
6 * Copyright (C) 2010 NXP Semiconductors
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 */
18
19#ifndef __ASM_ARCH_CLKDEV_H
20#define __ASM_ARCH_CLKDEV_H
21
22#define __clk_get(clk) ({ 1; })
23#define __clk_put(clk) do { } while (0)
24
25#endif
diff --git a/arch/arm/mach-mmp/include/mach/clkdev.h b/arch/arm/mach-mmp/include/mach/clkdev.h
deleted file mode 100644
index 2fb354e54e0..00000000000
--- a/arch/arm/mach-mmp/include/mach/clkdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __ASM_MACH_CLKDEV_H
2#define __ASM_MACH_CLKDEV_H
3
4#define __clk_get(clk) ({ 1; })
5#define __clk_put(clk) do { } while (0)
6
7#endif /* __ASM_MACH_CLKDEV_H */
diff --git a/arch/arm/mach-msm/include/mach/clkdev.h b/arch/arm/mach-msm/include/mach/clkdev.h
deleted file mode 100644
index f87a57b5953..00000000000
--- a/arch/arm/mach-msm/include/mach/clkdev.h
+++ /dev/null
@@ -1,19 +0,0 @@
1/* Copyright (c) 2011, Code Aurora Forum. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12#ifndef __ASM_ARCH_MSM_CLKDEV_H
13#define __ASM_ARCH_MSM_CLKDEV_H
14
15struct clk;
16
17static inline int __clk_get(struct clk *clk) { return 1; }
18static inline void __clk_put(struct clk *clk) { }
19#endif
diff --git a/arch/arm/mach-mv78xx0/include/mach/hardware.h b/arch/arm/mach-mv78xx0/include/mach/hardware.h
index 5d887557e12..67cab0a08e0 100644
--- a/arch/arm/mach-mv78xx0/include/mach/hardware.h
+++ b/arch/arm/mach-mv78xx0/include/mach/hardware.h
@@ -11,11 +11,4 @@
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
17#define PCIBIOS_MIN_MEM 0x01000000
18#define PCIMEM_BASE MV78XX0_PCIE_MEM_PHYS_BASE /* mem base for VGA */
19
20
21#endif 14#endif
diff --git a/arch/arm/mach-mv78xx0/pcie.c b/arch/arm/mach-mv78xx0/pcie.c
index f27c7d2fa9f..d6336afe994 100644
--- a/arch/arm/mach-mv78xx0/pcie.c
+++ b/arch/arm/mach-mv78xx0/pcie.c
@@ -11,6 +11,7 @@
11#include <linux/kernel.h> 11#include <linux/kernel.h>
12#include <linux/pci.h> 12#include <linux/pci.h>
13#include <linux/mbus.h> 13#include <linux/mbus.h>
14#include <video/vga.h>
14#include <asm/irq.h> 15#include <asm/irq.h>
15#include <asm/mach/pci.h> 16#include <asm/mach/pci.h>
16#include <plat/pcie.h> 17#include <plat/pcie.h>
@@ -297,6 +298,8 @@ static void __init add_pcie_port(int maj, int min, unsigned long base)
297 298
298void __init mv78xx0_pcie_init(int init_port0, int init_port1) 299void __init mv78xx0_pcie_init(int init_port0, int init_port1)
299{ 300{
301 vga_base = MV78XX0_PCIE_MEM_PHYS_BASE;
302
300 if (init_port0) { 303 if (init_port0) {
301 add_pcie_port(0, 0, PCIE00_VIRT_BASE); 304 add_pcie_port(0, 0, PCIE00_VIRT_BASE);
302 if (!orion_pcie_x4_mode((void __iomem *)PCIE00_VIRT_BASE)) { 305 if (!orion_pcie_x4_mode((void __iomem *)PCIE00_VIRT_BASE)) {
diff --git a/arch/arm/mach-mxs/include/mach/clkdev.h b/arch/arm/mach-mxs/include/mach/clkdev.h
deleted file mode 100644
index 3a8f2e3a630..00000000000
--- a/arch/arm/mach-mxs/include/mach/clkdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __MACH_MXS_CLKDEV_H__
2#define __MACH_MXS_CLKDEV_H__
3
4#define __clk_get(clk) ({ 1; })
5#define __clk_put(clk) do { } while (0)
6
7#endif
diff --git a/arch/arm/mach-nomadik/include/mach/clkdev.h b/arch/arm/mach-nomadik/include/mach/clkdev.h
deleted file mode 100644
index 04b37a89801..00000000000
--- a/arch/arm/mach-nomadik/include/mach/clkdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __ASM_MACH_CLKDEV_H
2#define __ASM_MACH_CLKDEV_H
3
4#define __clk_get(clk) ({ 1; })
5#define __clk_put(clk) do { } while (0)
6
7#endif
diff --git a/arch/arm/mach-nuc93x/include/mach/clkdev.h b/arch/arm/mach-nuc93x/include/mach/clkdev.h
deleted file mode 100644
index 04b37a89801..00000000000
--- a/arch/arm/mach-nuc93x/include/mach/clkdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __ASM_MACH_CLKDEV_H
2#define __ASM_MACH_CLKDEV_H
3
4#define __clk_get(clk) ({ 1; })
5#define __clk_put(clk) do { } while (0)
6
7#endif
diff --git a/arch/arm/mach-omap1/include/mach/clkdev.h b/arch/arm/mach-omap1/include/mach/clkdev.h
deleted file mode 100644
index ea8640e4603..00000000000
--- a/arch/arm/mach-omap1/include/mach/clkdev.h
+++ /dev/null
@@ -1,5 +0,0 @@
1/*
2 * arch/arm/mach-omap1/include/mach/clkdev.h
3 */
4
5#include <plat/clkdev.h>
diff --git a/arch/arm/mach-omap2/include/mach/clkdev.h b/arch/arm/mach-omap2/include/mach/clkdev.h
deleted file mode 100644
index 53b027441c5..00000000000
--- a/arch/arm/mach-omap2/include/mach/clkdev.h
+++ /dev/null
@@ -1,5 +0,0 @@
1/*
2 * arch/arm/mach-omap2/include/mach/clkdev.h
3 */
4
5#include <plat/clkdev.h>
diff --git a/arch/arm/mach-orion5x/include/mach/hardware.h b/arch/arm/mach-orion5x/include/mach/hardware.h
index e51aaf4bf2b..39573548247 100644
--- a/arch/arm/mach-orion5x/include/mach/hardware.h
+++ b/arch/arm/mach-orion5x/include/mach/hardware.h
@@ -11,11 +11,4 @@
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
17#define PCIBIOS_MIN_MEM 0x01000000
18#define PCIMEM_BASE ORION5X_PCIE_MEM_PHYS_BASE
19
20
21#endif 14#endif
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c
index e8706f15a67..f64965d4f8e 100644
--- a/arch/arm/mach-orion5x/pci.c
+++ b/arch/arm/mach-orion5x/pci.c
@@ -560,6 +560,8 @@ int __init orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys)
560{ 560{
561 int ret = 0; 561 int ret = 0;
562 562
563 vga_base = ORION5X_PCIE_MEM_PHYS_BASE;
564
563 if (nr == 0) { 565 if (nr == 0) {
564 orion_pcie_set_local_bus_nr(PCIE_BASE, sys->busnr); 566 orion_pcie_set_local_bus_nr(PCIE_BASE, sys->busnr);
565 ret = pcie_setup(sys); 567 ret = pcie_setup(sys);
diff --git a/arch/arm/mach-pnx4008/include/mach/clkdev.h b/arch/arm/mach-pnx4008/include/mach/clkdev.h
deleted file mode 100644
index 04b37a89801..00000000000
--- a/arch/arm/mach-pnx4008/include/mach/clkdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __ASM_MACH_CLKDEV_H
2#define __ASM_MACH_CLKDEV_H
3
4#define __clk_get(clk) ({ 1; })
5#define __clk_put(clk) do { } while (0)
6
7#endif
diff --git a/arch/arm/mach-pxa/cm-x2xx-pci.c b/arch/arm/mach-pxa/cm-x2xx-pci.c
index 1afc0fb7d6d..4eb7660a279 100644
--- a/arch/arm/mach-pxa/cm-x2xx-pci.c
+++ b/arch/arm/mach-pxa/cm-x2xx-pci.c
@@ -125,6 +125,9 @@ static void cmx2xx_pci_preinit(void)
125{ 125{
126 pr_info("Initializing CM-X2XX PCI subsystem\n"); 126 pr_info("Initializing CM-X2XX PCI subsystem\n");
127 127
128 pcibios_min_io = 0;
129 pcibios_min_mem = 0;
130
128 __raw_writel(0x800, IT8152_PCI_CFG_ADDR); 131 __raw_writel(0x800, IT8152_PCI_CFG_ADDR);
129 if (__raw_readl(IT8152_PCI_CFG_DATA) == 0x81521283) { 132 if (__raw_readl(IT8152_PCI_CFG_DATA) == 0x81521283) {
130 pr_info("PCI Bridge found.\n"); 133 pr_info("PCI Bridge found.\n");
diff --git a/arch/arm/mach-pxa/include/mach/clkdev.h b/arch/arm/mach-pxa/include/mach/clkdev.h
deleted file mode 100644
index 04b37a89801..00000000000
--- a/arch/arm/mach-pxa/include/mach/clkdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __ASM_MACH_CLKDEV_H
2#define __ASM_MACH_CLKDEV_H
3
4#define __clk_get(clk) ({ 1; })
5#define __clk_put(clk) do { } while (0)
6
7#endif
diff --git a/arch/arm/mach-pxa/include/mach/hardware.h b/arch/arm/mach-pxa/include/mach/hardware.h
index 6957ba56025..de63ca3016b 100644
--- a/arch/arm/mach-pxa/include/mach/hardware.h
+++ b/arch/arm/mach-pxa/include/mach/hardware.h
@@ -337,9 +337,6 @@ extern unsigned long get_clock_tick_rate(void);
337#endif 337#endif
338 338
339#if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI) 339#if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI)
340#define PCIBIOS_MIN_IO 0
341#define PCIBIOS_MIN_MEM 0
342#define pcibios_assign_all_busses() 1
343#define ARCH_HAS_DMA_SET_COHERENT_MASK 340#define ARCH_HAS_DMA_SET_COHERENT_MASK
344#endif 341#endif
345 342
diff --git a/arch/arm/mach-sa1100/include/mach/hardware.h b/arch/arm/mach-sa1100/include/mach/hardware.h
index 967ae768439..99f5856d8de 100644
--- a/arch/arm/mach-sa1100/include/mach/hardware.h
+++ b/arch/arm/mach-sa1100/include/mach/hardware.h
@@ -76,12 +76,4 @@ static inline unsigned long get_clock_tick_rate(void)
76#include "SA-1101.h" 76#include "SA-1101.h"
77#endif 77#endif
78 78
79#if defined(CONFIG_ARCH_SA1100) && defined(CONFIG_PCI)
80#define PCIBIOS_MIN_IO 0
81#define PCIBIOS_MIN_MEM 0
82#define pcibios_assign_all_busses() 1
83#define HAVE_ARCH_PCI_SET_DMA_MASK 1
84#endif
85
86
87#endif /* _ASM_ARCH_HARDWARE_H */ 79#endif /* _ASM_ARCH_HARDWARE_H */
diff --git a/arch/arm/mach-sa1100/pci-nanoengine.c b/arch/arm/mach-sa1100/pci-nanoengine.c
index fba7a913f12..5fc074fe3ee 100644
--- a/arch/arm/mach-sa1100/pci-nanoengine.c
+++ b/arch/arm/mach-sa1100/pci-nanoengine.c
@@ -252,6 +252,9 @@ int __init pci_nanoengine_setup(int nr, struct pci_sys_data *sys)
252{ 252{
253 int ret = 0; 253 int ret = 0;
254 254
255 pcibios_min_io = 0;
256 pcibios_min_mem = 0;
257
255 if (nr == 0) { 258 if (nr == 0) {
256 sys->mem_offset = NANO_PCI_MEM_RW_PHYS; 259 sys->mem_offset = NANO_PCI_MEM_RW_PHYS;
257 sys->io_offset = 0x400; 260 sys->io_offset = 0x400;
diff --git a/arch/arm/mach-shark/include/mach/hardware.h b/arch/arm/mach-shark/include/mach/hardware.h
index 94d84b27a0c..663f952a8ab 100644
--- a/arch/arm/mach-shark/include/mach/hardware.h
+++ b/arch/arm/mach-shark/include/mach/hardware.h
@@ -12,11 +12,5 @@
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
18#define PCIBIOS_MIN_MEM 0x50000000
19#define PCIMEM_BASE 0xe8000000
20
21#endif 15#endif
22 16
diff --git a/arch/arm/mach-shark/pci.c b/arch/arm/mach-shark/pci.c
index 89d175ce74d..92d7227de0a 100644
--- a/arch/arm/mach-shark/pci.c
+++ b/arch/arm/mach-shark/pci.c
@@ -8,6 +8,7 @@
8#include <linux/kernel.h> 8#include <linux/kernel.h>
9#include <linux/pci.h> 9#include <linux/pci.h>
10#include <linux/init.h> 10#include <linux/init.h>
11#include <video/vga.h>
11 12
12#include <asm/irq.h> 13#include <asm/irq.h>
13#include <asm/mach/pci.h> 14#include <asm/mach/pci.h>
@@ -37,8 +38,15 @@ static struct hw_pci shark_pci __initdata = {
37 38
38static int __init shark_pci_init(void) 39static int __init shark_pci_init(void)
39{ 40{
40 if (machine_is_shark()) 41 if (!machine_is_shark())
41 pci_common_init(&shark_pci); 42 return;
43
44 pcibios_min_io = 0x6000;
45 pcibios_min_mem = 0x50000000;
46 vga_base = 0xe8000000;
47
48 pci_common_init(&shark_pci);
49
42 return 0; 50 return 0;
43} 51}
44 52
diff --git a/arch/arm/mach-spear3xx/include/mach/clkdev.h b/arch/arm/mach-spear3xx/include/mach/clkdev.h
deleted file mode 100644
index a3d07339d9f..00000000000
--- a/arch/arm/mach-spear3xx/include/mach/clkdev.h
+++ /dev/null
@@ -1,19 +0,0 @@
1/*
2 * arch/arm/mach-spear3xx/include/mach/clkdev.h
3 *
4 * Clock Dev framework definitions for SPEAr3xx machine family
5 *
6 * Copyright (C) 2009 ST Microelectronics
7 * Viresh Kumar<viresh.kumar@st.com>
8 *
9 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without any
11 * warranty of any kind, whether express or implied.
12 */
13
14#ifndef __MACH_CLKDEV_H
15#define __MACH_CLKDEV_H
16
17#include <plat/clkdev.h>
18
19#endif /* __MACH_CLKDEV_H */
diff --git a/arch/arm/mach-spear6xx/include/mach/clkdev.h b/arch/arm/mach-spear6xx/include/mach/clkdev.h
deleted file mode 100644
index 05676bf440d..00000000000
--- a/arch/arm/mach-spear6xx/include/mach/clkdev.h
+++ /dev/null
@@ -1,19 +0,0 @@
1/*
2 * arch/arm/mach-spear6xx/include/mach/clkdev.h
3 *
4 * Clock Dev framework definitions for SPEAr6xx machine family
5 *
6 * Copyright (C) 2009 ST Microelectronics
7 * Viresh Kumar<viresh.kumar@st.com>
8 *
9 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without any
11 * warranty of any kind, whether express or implied.
12 */
13
14#ifndef __MACH_CLKDEV_H
15#define __MACH_CLKDEV_H
16
17#include <plat/clkdev.h>
18
19#endif /* __MACH_CLKDEV_H */
diff --git a/arch/arm/mach-tegra/include/mach/clkdev.h b/arch/arm/mach-tegra/include/mach/clkdev.h
deleted file mode 100644
index 66cd3f4fc89..00000000000
--- a/arch/arm/mach-tegra/include/mach/clkdev.h
+++ /dev/null
@@ -1,34 +0,0 @@
1/*
2 * arch/arm/mach-tegra/include/mach/clkdev.h
3 *
4 * Copyright (C) 2010 Google, Inc.
5 *
6 * Author:
7 * Colin Cross <ccross@google.com>
8 *
9 * This software is licensed under the terms of the GNU General Public
10 * License version 2, as published by the Free Software Foundation, and
11 * may be copied, distributed, and modified under those terms.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 */
19
20#ifndef __MACH_CLKDEV_H
21#define __MACH_CLKDEV_H
22
23struct clk;
24
25static inline int __clk_get(struct clk *clk)
26{
27 return 1;
28}
29
30static inline void __clk_put(struct clk *clk)
31{
32}
33
34#endif
diff --git a/arch/arm/mach-tegra/include/mach/hardware.h b/arch/arm/mach-tegra/include/mach/hardware.h
deleted file mode 100644
index 56e43b3a5b9..00000000000
--- a/arch/arm/mach-tegra/include/mach/hardware.h
+++ /dev/null
@@ -1,28 +0,0 @@
1/*
2 * arch/arm/mach-tegra/include/mach/hardware.h
3 *
4 * Copyright (C) 2010 Google, Inc.
5 *
6 * Author:
7 * Colin Cross <ccross@google.com>
8 * Erik Gilling <konkers@google.com>
9 *
10 * This software is licensed under the terms of the GNU General Public
11 * License version 2, as published by the Free Software Foundation, and
12 * may be copied, distributed, and modified under those terms.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 */
20
21#ifndef __MACH_TEGRA_HARDWARE_H
22#define __MACH_TEGRA_HARDWARE_H
23
24#define PCIBIOS_MIN_IO 0x1000
25#define PCIBIOS_MIN_MEM 0
26#define pcibios_assign_all_busses() 1
27
28#endif
diff --git a/arch/arm/mach-tegra/include/mach/system.h b/arch/arm/mach-tegra/include/mach/system.h
index d0183d876c3..027c4215d31 100644
--- a/arch/arm/mach-tegra/include/mach/system.h
+++ b/arch/arm/mach-tegra/include/mach/system.h
@@ -21,7 +21,6 @@
21#ifndef __MACH_TEGRA_SYSTEM_H 21#ifndef __MACH_TEGRA_SYSTEM_H
22#define __MACH_TEGRA_SYSTEM_H 22#define __MACH_TEGRA_SYSTEM_H
23 23
24#include <mach/hardware.h>
25#include <mach/iomap.h> 24#include <mach/iomap.h>
26 25
27extern void (*arch_reset)(char mode, const char *cmd); 26extern void (*arch_reset)(char mode, const char *cmd);
diff --git a/arch/arm/mach-tegra/io.c b/arch/arm/mach-tegra/io.c
index 31848a9592f..ea50fe28cf6 100644
--- a/arch/arm/mach-tegra/io.c
+++ b/arch/arm/mach-tegra/io.c
@@ -24,7 +24,6 @@
24#include <linux/mm.h> 24#include <linux/mm.h>
25#include <linux/io.h> 25#include <linux/io.h>
26 26
27#include <mach/hardware.h>
28#include <asm/page.h> 27#include <asm/page.h>
29#include <asm/mach/map.h> 28#include <asm/mach/map.h>
30 29
diff --git a/arch/arm/mach-tegra/pcie.c b/arch/arm/mach-tegra/pcie.c
index 2941212b853..031cd0a7d71 100644
--- a/arch/arm/mach-tegra/pcie.c
+++ b/arch/arm/mach-tegra/pcie.c
@@ -912,6 +912,8 @@ int __init tegra_pcie_init(bool init_port0, bool init_port1)
912 if (!(init_port0 || init_port1)) 912 if (!(init_port0 || init_port1))
913 return -ENODEV; 913 return -ENODEV;
914 914
915 pcibios_min_mem = 0;
916
915 err = tegra_pcie_get_resources(); 917 err = tegra_pcie_get_resources();
916 if (err) 918 if (err)
917 return err; 919 return err;
diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c
index 1a594dce8fb..32ca6267b9f 100644
--- a/arch/arm/mach-tegra/platsmp.c
+++ b/arch/arm/mach-tegra/platsmp.c
@@ -21,7 +21,6 @@
21 21
22#include <asm/cacheflush.h> 22#include <asm/cacheflush.h>
23#include <asm/hardware/gic.h> 23#include <asm/hardware/gic.h>
24#include <mach/hardware.h>
25#include <asm/mach-types.h> 24#include <asm/mach-types.h>
26#include <asm/smp_scu.h> 25#include <asm/smp_scu.h>
27 26
diff --git a/arch/arm/mach-ux500/include/mach/clkdev.h b/arch/arm/mach-ux500/include/mach/clkdev.h
deleted file mode 100644
index 04b37a89801..00000000000
--- a/arch/arm/mach-ux500/include/mach/clkdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __ASM_MACH_CLKDEV_H
2#define __ASM_MACH_CLKDEV_H
3
4#define __clk_get(clk) ({ 1; })
5#define __clk_put(clk) do { } while (0)
6
7#endif
diff --git a/arch/arm/mach-versatile/include/mach/hardware.h b/arch/arm/mach-versatile/include/mach/hardware.h
index 6911e1f5f15..4d4973dd8fb 100644
--- a/arch/arm/mach-versatile/include/mach/hardware.h
+++ b/arch/arm/mach-versatile/include/mach/hardware.h
@@ -30,12 +30,6 @@
30#define VERSATILE_PCI_VIRT_BASE (void __iomem *)0xe8000000ul 30#define VERSATILE_PCI_VIRT_BASE (void __iomem *)0xe8000000ul
31#define VERSATILE_PCI_CFG_VIRT_BASE (void __iomem *)0xe9000000ul 31#define VERSATILE_PCI_CFG_VIRT_BASE (void __iomem *)0xe9000000ul
32 32
33/* CIK guesswork */
34#define PCIBIOS_MIN_IO 0x44000000
35#define PCIBIOS_MIN_MEM 0x50000000
36
37#define pcibios_assign_all_busses() 1
38
39/* macro to get at IO space when running virtually */ 33/* macro to get at IO space when running virtually */
40#define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000) 34#define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000)
41 35
diff --git a/arch/arm/mach-versatile/pci.c b/arch/arm/mach-versatile/pci.c
index 13c7e5f90a8..7848a177b1f 100644
--- a/arch/arm/mach-versatile/pci.c
+++ b/arch/arm/mach-versatile/pci.c
@@ -311,6 +311,9 @@ struct pci_bus * __init pci_versatile_scan_bus(int nr, struct pci_sys_data *sys)
311 311
312void __init pci_versatile_preinit(void) 312void __init pci_versatile_preinit(void)
313{ 313{
314 pcibios_min_io = 0x44000000;
315 pcibios_min_mem = 0x50000000;
316
314 __raw_writel(VERSATILE_PCI_MEM_BASE0 >> 28, PCI_IMAP0); 317 __raw_writel(VERSATILE_PCI_MEM_BASE0 >> 28, PCI_IMAP0);
315 __raw_writel(VERSATILE_PCI_MEM_BASE1 >> 28, PCI_IMAP1); 318 __raw_writel(VERSATILE_PCI_MEM_BASE1 >> 28, PCI_IMAP1);
316 __raw_writel(VERSATILE_PCI_MEM_BASE2 >> 28, PCI_IMAP2); 319 __raw_writel(VERSATILE_PCI_MEM_BASE2 >> 28, PCI_IMAP2);
diff --git a/arch/arm/mach-w90x900/include/mach/clkdev.h b/arch/arm/mach-w90x900/include/mach/clkdev.h
deleted file mode 100644
index 04b37a89801..00000000000
--- a/arch/arm/mach-w90x900/include/mach/clkdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __ASM_MACH_CLKDEV_H
2#define __ASM_MACH_CLKDEV_H
3
4#define __clk_get(clk) ({ 1; })
5#define __clk_put(clk) do { } while (0)
6
7#endif
diff --git a/arch/arm/mm/iomap.c b/arch/arm/mm/iomap.c
index ffad039cbb7..430df1a5978 100644
--- a/arch/arm/mm/iomap.c
+++ b/arch/arm/mm/iomap.c
@@ -9,6 +9,9 @@
9#include <linux/ioport.h> 9#include <linux/ioport.h>
10#include <linux/io.h> 10#include <linux/io.h>
11 11
12unsigned long vga_base;
13EXPORT_SYMBOL(vga_base);
14
12#ifdef __io 15#ifdef __io
13void __iomem *ioport_map(unsigned long port, unsigned int nr) 16void __iomem *ioport_map(unsigned long port, unsigned int nr)
14{ 17{
@@ -23,6 +26,15 @@ EXPORT_SYMBOL(ioport_unmap);
23#endif 26#endif
24 27
25#ifdef CONFIG_PCI 28#ifdef CONFIG_PCI
29unsigned long pcibios_min_io = 0x1000;
30EXPORT_SYMBOL(pcibios_min_io);
31
32unsigned long pcibios_min_mem = 0x01000000;
33EXPORT_SYMBOL(pcibios_min_mem);
34
35unsigned int pci_flags = PCI_REASSIGN_ALL_RSRC;
36EXPORT_SYMBOL(pci_flags);
37
26void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) 38void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
27{ 39{
28 resource_size_t start = pci_resource_start(dev, bar); 40 resource_size_t start = pci_resource_start(dev, bar);
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S
index 64f1fc7edf0..28c72a2006a 100644
--- a/arch/arm/mm/proc-xsc3.S
+++ b/arch/arm/mm/proc-xsc3.S
@@ -28,7 +28,6 @@
28#include <linux/init.h> 28#include <linux/init.h>
29#include <asm/assembler.h> 29#include <asm/assembler.h>
30#include <asm/hwcap.h> 30#include <asm/hwcap.h>
31#include <mach/hardware.h>
32#include <asm/pgtable.h> 31#include <asm/pgtable.h>
33#include <asm/pgtable-hwdef.h> 32#include <asm/pgtable-hwdef.h>
34#include <asm/page.h> 33#include <asm/page.h>
diff --git a/arch/arm/plat-iop/pci.c b/arch/arm/plat-iop/pci.c
index 43f2b158237..845549cbbb2 100644
--- a/arch/arm/plat-iop/pci.c
+++ b/arch/arm/plat-iop/pci.c
@@ -374,6 +374,9 @@ void __init iop3xx_pci_preinit_cond(void)
374 374
375void __init iop3xx_pci_preinit(void) 375void __init iop3xx_pci_preinit(void)
376{ 376{
377 pcibios_min_io = 0;
378 pcibios_min_mem = 0;
379
377 iop3xx_atu_disable(); 380 iop3xx_atu_disable();
378 iop3xx_atu_setup(); 381 iop3xx_atu_setup();
379 iop3xx_atu_debug(); 382 iop3xx_atu_debug();
diff --git a/arch/arm/plat-mxc/include/mach/clkdev.h b/arch/arm/plat-mxc/include/mach/clkdev.h
deleted file mode 100644
index 04b37a89801..00000000000
--- a/arch/arm/plat-mxc/include/mach/clkdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __ASM_MACH_CLKDEV_H
2#define __ASM_MACH_CLKDEV_H
3
4#define __clk_get(clk) ({ 1; })
5#define __clk_put(clk) do { } while (0)
6
7#endif
diff --git a/arch/arm/plat-omap/include/plat/clkdev.h b/arch/arm/plat-omap/include/plat/clkdev.h
deleted file mode 100644
index 730c49d1ebd..00000000000
--- a/arch/arm/plat-omap/include/plat/clkdev.h
+++ /dev/null
@@ -1,13 +0,0 @@
1#ifndef __MACH_CLKDEV_H
2#define __MACH_CLKDEV_H
3
4static inline int __clk_get(struct clk *clk)
5{
6 return 1;
7}
8
9static inline void __clk_put(struct clk *clk)
10{
11}
12
13#endif
diff --git a/arch/arm/plat-spear/include/plat/clkdev.h b/arch/arm/plat-spear/include/plat/clkdev.h
deleted file mode 100644
index a2d0112fcaf..00000000000
--- a/arch/arm/plat-spear/include/plat/clkdev.h
+++ /dev/null
@@ -1,20 +0,0 @@
1/*
2 * arch/arm/plat-spear/include/plat/clkdev.h
3 *
4 * Clock Dev framework definitions for SPEAr platform
5 *
6 * Copyright (C) 2009 ST Microelectronics
7 * Viresh Kumar<viresh.kumar@st.com>
8 *
9 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without any
11 * warranty of any kind, whether express or implied.
12 */
13
14#ifndef __PLAT_CLKDEV_H
15#define __PLAT_CLKDEV_H
16
17#define __clk_get(clk) ({ 1; })
18#define __clk_put(clk) do { } while (0)
19
20#endif /* __PLAT_CLKDEV_H */
diff --git a/arch/arm/plat-tcc/include/mach/clkdev.h b/arch/arm/plat-tcc/include/mach/clkdev.h
deleted file mode 100644
index 04b37a89801..00000000000
--- a/arch/arm/plat-tcc/include/mach/clkdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
1#ifndef __ASM_MACH_CLKDEV_H
2#define __ASM_MACH_CLKDEV_H
3
4#define __clk_get(clk) ({ 1; })
5#define __clk_put(clk) do { } while (0)
6
7#endif
diff --git a/arch/microblaze/include/asm/pci-bridge.h b/arch/microblaze/include/asm/pci-bridge.h
index 242be57a319..32764cd077c 100644
--- a/arch/microblaze/include/asm/pci-bridge.h
+++ b/arch/microblaze/include/asm/pci-bridge.h
@@ -10,28 +10,19 @@
10#include <linux/pci.h> 10#include <linux/pci.h>
11#include <linux/list.h> 11#include <linux/list.h>
12#include <linux/ioport.h> 12#include <linux/ioport.h>
13#include <asm-generic/pci-bridge.h>
13 14
14struct device_node; 15struct device_node;
15 16
16enum { 17#ifdef CONFIG_PCI
17 /* Force re-assigning all resources (ignore firmware 18extern struct list_head hose_list;
18 * setup completely) 19extern int pcibios_vaddr_is_ioport(void __iomem *address);
19 */ 20#else
20 PCI_REASSIGN_ALL_RSRC = 0x00000001, 21static inline int pcibios_vaddr_is_ioport(void __iomem *address)
21 22{
22 /* Do not try to assign, just use existing setup */ 23 return 0;
23 PCI_PROBE_ONLY = 0x00000004, 24}
24 25#endif
25 /* Don't bother with ISA alignment unless the bridge has
26 * ISA forwarding enabled
27 */
28 PCI_CAN_SKIP_ISA_ALIGN = 0x00000008,
29
30 /* Enable domain numbers in /proc */
31 PCI_ENABLE_PROC_DOMAINS = 0x00000010,
32 /* ... except for domain 0 */
33 PCI_COMPAT_DOMAIN_0 = 0x00000020,
34};
35 26
36/* 27/*
37 * Structure of a PCI controller (host bridge) 28 * Structure of a PCI controller (host bridge)
@@ -151,40 +142,5 @@ extern struct pci_controller *pcibios_alloc_controller(struct device_node *dev);
151extern void pcibios_free_controller(struct pci_controller *phb); 142extern void pcibios_free_controller(struct pci_controller *phb);
152extern void pcibios_setup_phb_resources(struct pci_controller *hose); 143extern void pcibios_setup_phb_resources(struct pci_controller *hose);
153 144
154#ifdef CONFIG_PCI
155extern unsigned int pci_flags;
156
157static inline void pci_set_flags(int flags)
158{
159 pci_flags = flags;
160}
161
162static inline void pci_add_flags(int flags)
163{
164 pci_flags |= flags;
165}
166
167static inline int pci_has_flag(int flag)
168{
169 return pci_flags & flag;
170}
171
172extern struct list_head hose_list;
173
174extern int pcibios_vaddr_is_ioport(void __iomem *address);
175#else
176static inline int pcibios_vaddr_is_ioport(void __iomem *address)
177{
178 return 0;
179}
180
181static inline void pci_set_flags(int flags) { }
182static inline void pci_add_flags(int flags) { }
183static inline int pci_has_flag(int flag)
184{
185 return 0;
186}
187#endif /* CONFIG_PCI */
188
189#endif /* __KERNEL__ */ 145#endif /* __KERNEL__ */
190#endif /* _ASM_MICROBLAZE_PCI_BRIDGE_H */ 146#endif /* _ASM_MICROBLAZE_PCI_BRIDGE_H */
diff --git a/arch/powerpc/include/asm/pci-bridge.h b/arch/powerpc/include/asm/pci-bridge.h
index 90bd3ed4816..56b879ab3a4 100644
--- a/arch/powerpc/include/asm/pci-bridge.h
+++ b/arch/powerpc/include/asm/pci-bridge.h
@@ -10,58 +10,10 @@
10#include <linux/pci.h> 10#include <linux/pci.h>
11#include <linux/list.h> 11#include <linux/list.h>
12#include <linux/ioport.h> 12#include <linux/ioport.h>
13#include <asm-generic/pci-bridge.h>
13 14
14struct device_node; 15struct device_node;
15 16
16enum {
17 /* Force re-assigning all resources (ignore firmware
18 * setup completely)
19 */
20 PPC_PCI_REASSIGN_ALL_RSRC = 0x00000001,
21
22 /* Re-assign all bus numbers */
23 PPC_PCI_REASSIGN_ALL_BUS = 0x00000002,
24
25 /* Do not try to assign, just use existing setup */
26 PPC_PCI_PROBE_ONLY = 0x00000004,
27
28 /* Don't bother with ISA alignment unless the bridge has
29 * ISA forwarding enabled
30 */
31 PPC_PCI_CAN_SKIP_ISA_ALIGN = 0x00000008,
32
33 /* Enable domain numbers in /proc */
34 PPC_PCI_ENABLE_PROC_DOMAINS = 0x00000010,
35 /* ... except for domain 0 */
36 PPC_PCI_COMPAT_DOMAIN_0 = 0x00000020,
37};
38#ifdef CONFIG_PCI
39extern unsigned int ppc_pci_flags;
40
41static inline void ppc_pci_set_flags(int flags)
42{
43 ppc_pci_flags = flags;
44}
45
46static inline void ppc_pci_add_flags(int flags)
47{
48 ppc_pci_flags |= flags;
49}
50
51static inline int ppc_pci_has_flag(int flag)
52{
53 return (ppc_pci_flags & flag);
54}
55#else
56static inline void ppc_pci_set_flags(int flags) { }
57static inline void ppc_pci_add_flags(int flags) { }
58static inline int ppc_pci_has_flag(int flag)
59{
60 return 0;
61}
62#endif
63
64
65/* 17/*
66 * Structure of a PCI controller (host bridge) 18 * Structure of a PCI controller (host bridge)
67 */ 19 */
diff --git a/arch/powerpc/include/asm/pci.h b/arch/powerpc/include/asm/pci.h
index 1f522680ea1..49c3de582be 100644
--- a/arch/powerpc/include/asm/pci.h
+++ b/arch/powerpc/include/asm/pci.h
@@ -44,7 +44,7 @@ struct pci_dev;
44 * bus numbers (don't do that on ppc64 yet !) 44 * bus numbers (don't do that on ppc64 yet !)
45 */ 45 */
46#define pcibios_assign_all_busses() \ 46#define pcibios_assign_all_busses() \
47 (ppc_pci_has_flag(PPC_PCI_REASSIGN_ALL_BUS)) 47 (pci_has_flag(PCI_REASSIGN_ALL_BUS))
48 48
49static inline void pcibios_set_master(struct pci_dev *dev) 49static inline void pcibios_set_master(struct pci_dev *dev)
50{ 50{
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index 0187829c338..32656f10525 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -50,7 +50,7 @@ static int global_phb_number; /* Global phb counter */
50resource_size_t isa_mem_base; 50resource_size_t isa_mem_base;
51 51
52/* Default PCI flags is 0 on ppc32, modified at boot on ppc64 */ 52/* Default PCI flags is 0 on ppc32, modified at boot on ppc64 */
53unsigned int ppc_pci_flags = 0; 53unsigned int pci_flags = 0;
54 54
55 55
56static struct dma_map_ops *pci_dma_ops = &dma_direct_ops; 56static struct dma_map_ops *pci_dma_ops = &dma_direct_ops;
@@ -842,9 +842,9 @@ int pci_proc_domain(struct pci_bus *bus)
842{ 842{
843 struct pci_controller *hose = pci_bus_to_host(bus); 843 struct pci_controller *hose = pci_bus_to_host(bus);
844 844
845 if (!(ppc_pci_flags & PPC_PCI_ENABLE_PROC_DOMAINS)) 845 if (!pci_has_flag(PCI_ENABLE_PROC_DOMAINS))
846 return 0; 846 return 0;
847 if (ppc_pci_flags & PPC_PCI_COMPAT_DOMAIN_0) 847 if (pci_has_flag(PCI_COMPAT_DOMAIN_0))
848 return hose->global_number != 0; 848 return hose->global_number != 0;
849 return 1; 849 return 1;
850} 850}
@@ -920,13 +920,13 @@ static void __devinit pcibios_fixup_resources(struct pci_dev *dev)
920 struct resource *res = dev->resource + i; 920 struct resource *res = dev->resource + i;
921 if (!res->flags) 921 if (!res->flags)
922 continue; 922 continue;
923 /* On platforms that have PPC_PCI_PROBE_ONLY set, we don't 923 /* On platforms that have PCI_PROBE_ONLY set, we don't
924 * consider 0 as an unassigned BAR value. It's technically 924 * consider 0 as an unassigned BAR value. It's technically
925 * a valid value, but linux doesn't like it... so when we can 925 * a valid value, but linux doesn't like it... so when we can
926 * re-assign things, we do so, but if we can't, we keep it 926 * re-assign things, we do so, but if we can't, we keep it
927 * around and hope for the best... 927 * around and hope for the best...
928 */ 928 */
929 if (res->start == 0 && !(ppc_pci_flags & PPC_PCI_PROBE_ONLY)) { 929 if (res->start == 0 && !pci_has_flag(PCI_PROBE_ONLY)) {
930 pr_debug("PCI:%s Resource %d %016llx-%016llx [%x] is unassigned\n", 930 pr_debug("PCI:%s Resource %d %016llx-%016llx [%x] is unassigned\n",
931 pci_name(dev), i, 931 pci_name(dev), i,
932 (unsigned long long)res->start, 932 (unsigned long long)res->start,
@@ -973,7 +973,7 @@ static int __devinit pcibios_uninitialized_bridge_resource(struct pci_bus *bus,
973 int i; 973 int i;
974 974
975 /* We don't do anything if PCI_PROBE_ONLY is set */ 975 /* We don't do anything if PCI_PROBE_ONLY is set */
976 if (ppc_pci_flags & PPC_PCI_PROBE_ONLY) 976 if (pci_has_flag(PCI_PROBE_ONLY))
977 return 0; 977 return 0;
978 978
979 /* Job is a bit different between memory and IO */ 979 /* Job is a bit different between memory and IO */
@@ -1143,7 +1143,7 @@ void __devinit pci_fixup_cardbus(struct pci_bus *bus)
1143 1143
1144static int skip_isa_ioresource_align(struct pci_dev *dev) 1144static int skip_isa_ioresource_align(struct pci_dev *dev)
1145{ 1145{
1146 if ((ppc_pci_flags & PPC_PCI_CAN_SKIP_ISA_ALIGN) && 1146 if (pci_has_flag(PCI_CAN_SKIP_ISA_ALIGN) &&
1147 !(dev->bus->bridge_ctl & PCI_BRIDGE_CTL_ISA)) 1147 !(dev->bus->bridge_ctl & PCI_BRIDGE_CTL_ISA))
1148 return 1; 1148 return 1;
1149 return 0; 1149 return 0;
@@ -1271,7 +1271,7 @@ void pcibios_allocate_bus_resources(struct pci_bus *bus)
1271 * and as such ensure proper re-allocation 1271 * and as such ensure proper re-allocation
1272 * later. 1272 * later.
1273 */ 1273 */
1274 if (ppc_pci_flags & PPC_PCI_REASSIGN_ALL_RSRC) 1274 if (pci_has_flag(PCI_REASSIGN_ALL_RSRC))
1275 goto clear_resource; 1275 goto clear_resource;
1276 pr = pci_find_parent_resource(bus->self, res); 1276 pr = pci_find_parent_resource(bus->self, res);
1277 if (pr == res) { 1277 if (pr == res) {
@@ -1456,7 +1456,7 @@ void __init pcibios_resource_survey(void)
1456 list_for_each_entry(b, &pci_root_buses, node) 1456 list_for_each_entry(b, &pci_root_buses, node)
1457 pcibios_allocate_bus_resources(b); 1457 pcibios_allocate_bus_resources(b);
1458 1458
1459 if (!(ppc_pci_flags & PPC_PCI_REASSIGN_ALL_RSRC)) { 1459 if (!pci_has_flag(PCI_REASSIGN_ALL_RSRC)) {
1460 pcibios_allocate_resources(0); 1460 pcibios_allocate_resources(0);
1461 pcibios_allocate_resources(1); 1461 pcibios_allocate_resources(1);
1462 } 1462 }
@@ -1465,7 +1465,7 @@ void __init pcibios_resource_survey(void)
1465 * the low IO area and the VGA memory area if they intersect the 1465 * the low IO area and the VGA memory area if they intersect the
1466 * bus available resources to avoid allocating things on top of them 1466 * bus available resources to avoid allocating things on top of them
1467 */ 1467 */
1468 if (!(ppc_pci_flags & PPC_PCI_PROBE_ONLY)) { 1468 if (!pci_has_flag(PCI_PROBE_ONLY)) {
1469 list_for_each_entry(b, &pci_root_buses, node) 1469 list_for_each_entry(b, &pci_root_buses, node)
1470 pcibios_reserve_legacy_regions(b); 1470 pcibios_reserve_legacy_regions(b);
1471 } 1471 }
@@ -1473,7 +1473,7 @@ void __init pcibios_resource_survey(void)
1473 /* Now, if the platform didn't decide to blindly trust the firmware, 1473 /* Now, if the platform didn't decide to blindly trust the firmware,
1474 * we proceed to assigning things that were left unassigned 1474 * we proceed to assigning things that were left unassigned
1475 */ 1475 */
1476 if (!(ppc_pci_flags & PPC_PCI_PROBE_ONLY)) { 1476 if (!pci_has_flag(PCI_PROBE_ONLY)) {
1477 pr_debug("PCI: Assigning unassigned resources...\n"); 1477 pr_debug("PCI: Assigning unassigned resources...\n");
1478 pci_assign_unassigned_resources(); 1478 pci_assign_unassigned_resources();
1479 } 1479 }
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index e2f24badf78..bb154511db5 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
@@ -230,7 +230,7 @@ static int __init pcibios_init(void)
230 230
231 printk(KERN_INFO "PCI: Probing PCI hardware\n"); 231 printk(KERN_INFO "PCI: Probing PCI hardware\n");
232 232
233 if (ppc_pci_flags & PPC_PCI_REASSIGN_ALL_BUS) 233 if (pci_has_flag(PCI_REASSIGN_ALL_BUS))
234 pci_assign_all_buses = 1; 234 pci_assign_all_buses = 1;
235 235
236 /* Scan all of the recorded PCI controllers. */ 236 /* Scan all of the recorded PCI controllers. */
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index fc6452b6be9..ab34046752b 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -55,12 +55,12 @@ static int __init pcibios_init(void)
55 ppc_md.phys_mem_access_prot = pci_phys_mem_access_prot; 55 ppc_md.phys_mem_access_prot = pci_phys_mem_access_prot;
56 56
57 if (pci_probe_only) 57 if (pci_probe_only)
58 ppc_pci_flags |= PPC_PCI_PROBE_ONLY; 58 pci_add_flags(PCI_PROBE_ONLY);
59 59
60 /* On ppc64, we always enable PCI domains and we keep domain 0 60 /* On ppc64, we always enable PCI domains and we keep domain 0
61 * backward compatible in /proc for video cards 61 * backward compatible in /proc for video cards
62 */ 62 */
63 ppc_pci_flags |= PPC_PCI_ENABLE_PROC_DOMAINS | PPC_PCI_COMPAT_DOMAIN_0; 63 pci_add_flags(PCI_ENABLE_PROC_DOMAINS | PCI_COMPAT_DOMAIN_0);
64 64
65 /* Scan all of the recorded PCI controllers. */ 65 /* Scan all of the recorded PCI controllers. */
66 list_for_each_entry_safe(hose, tmp, &hose_list, list_node) { 66 list_for_each_entry_safe(hose, tmp, &hose_list, list_node) {
diff --git a/arch/powerpc/kernel/rtas_pci.c b/arch/powerpc/kernel/rtas_pci.c
index 54e66da8f74..6cd8f0196b6 100644
--- a/arch/powerpc/kernel/rtas_pci.c
+++ b/arch/powerpc/kernel/rtas_pci.c
@@ -291,7 +291,7 @@ void __init find_and_init_phbs(void)
291 prop = of_get_property(of_chosen, 291 prop = of_get_property(of_chosen,
292 "linux,pci-assign-all-buses", NULL); 292 "linux,pci-assign-all-buses", NULL);
293 if (prop && *prop) 293 if (prop && *prop)
294 ppc_pci_flags |= PPC_PCI_REASSIGN_ALL_BUS; 294 pci_add_flags(PCI_REASSIGN_ALL_BUS);
295#endif /* CONFIG_PPC32 */ 295#endif /* CONFIG_PPC32 */
296 } 296 }
297} 297}
diff --git a/arch/powerpc/platforms/40x/ep405.c b/arch/powerpc/platforms/40x/ep405.c
index 4058fd1e7fc..b0389bbe4f9 100644
--- a/arch/powerpc/platforms/40x/ep405.c
+++ b/arch/powerpc/platforms/40x/ep405.c
@@ -100,7 +100,7 @@ static void __init ep405_setup_arch(void)
100 /* Find & init the BCSR CPLD */ 100 /* Find & init the BCSR CPLD */
101 ep405_init_bcsr(); 101 ep405_init_bcsr();
102 102
103 ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC); 103 pci_set_flags(PCI_REASSIGN_ALL_RSRC);
104} 104}
105 105
106static int __init ep405_probe(void) 106static int __init ep405_probe(void)
diff --git a/arch/powerpc/platforms/40x/ppc40x_simple.c b/arch/powerpc/platforms/40x/ppc40x_simple.c
index 2521d93ef13..e8dd5c5df7d 100644
--- a/arch/powerpc/platforms/40x/ppc40x_simple.c
+++ b/arch/powerpc/platforms/40x/ppc40x_simple.c
@@ -61,7 +61,7 @@ static const char *board[] __initdata = {
61static int __init ppc40x_probe(void) 61static int __init ppc40x_probe(void)
62{ 62{
63 if (of_flat_dt_match(of_get_flat_dt_root(), board)) { 63 if (of_flat_dt_match(of_get_flat_dt_root(), board)) {
64 ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC); 64 pci_set_flags(PCI_REASSIGN_ALL_RSRC);
65 return 1; 65 return 1;
66 } 66 }
67 67
diff --git a/arch/powerpc/platforms/40x/walnut.c b/arch/powerpc/platforms/40x/walnut.c
index 335df91fbee..8b691df72f7 100644
--- a/arch/powerpc/platforms/40x/walnut.c
+++ b/arch/powerpc/platforms/40x/walnut.c
@@ -51,7 +51,7 @@ static int __init walnut_probe(void)
51 if (!of_flat_dt_is_compatible(root, "ibm,walnut")) 51 if (!of_flat_dt_is_compatible(root, "ibm,walnut"))
52 return 0; 52 return 0;
53 53
54 ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC; 54 pci_set_flags(PCI_REASSIGN_ALL_RSRC);
55 55
56 return 1; 56 return 1;
57} 57}
diff --git a/arch/powerpc/platforms/44x/canyonlands.c b/arch/powerpc/platforms/44x/canyonlands.c
index afc5e8ea377..e300dd4c89b 100644
--- a/arch/powerpc/platforms/44x/canyonlands.c
+++ b/arch/powerpc/platforms/44x/canyonlands.c
@@ -55,7 +55,7 @@ static int __init ppc460ex_probe(void)
55{ 55{
56 unsigned long root = of_get_flat_dt_root(); 56 unsigned long root = of_get_flat_dt_root();
57 if (of_flat_dt_is_compatible(root, "amcc,canyonlands")) { 57 if (of_flat_dt_is_compatible(root, "amcc,canyonlands")) {
58 ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC); 58 pci_set_flags(PCI_REASSIGN_ALL_RSRC);
59 return 1; 59 return 1;
60 } 60 }
61 return 0; 61 return 0;
diff --git a/arch/powerpc/platforms/44x/ebony.c b/arch/powerpc/platforms/44x/ebony.c
index 88b9117fa69..6a4232bbdf8 100644
--- a/arch/powerpc/platforms/44x/ebony.c
+++ b/arch/powerpc/platforms/44x/ebony.c
@@ -54,7 +54,7 @@ static int __init ebony_probe(void)
54 if (!of_flat_dt_is_compatible(root, "ibm,ebony")) 54 if (!of_flat_dt_is_compatible(root, "ibm,ebony"))
55 return 0; 55 return 0;
56 56
57 ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC); 57 pci_set_flags(PCI_REASSIGN_ALL_RSRC);
58 58
59 return 1; 59 return 1;
60} 60}
diff --git a/arch/powerpc/platforms/44x/ppc44x_simple.c b/arch/powerpc/platforms/44x/ppc44x_simple.c
index c81c19c0b3d..8d220276341 100644
--- a/arch/powerpc/platforms/44x/ppc44x_simple.c
+++ b/arch/powerpc/platforms/44x/ppc44x_simple.c
@@ -72,7 +72,7 @@ static int __init ppc44x_probe(void)
72 72
73 for (i = 0; i < ARRAY_SIZE(board); i++) { 73 for (i = 0; i < ARRAY_SIZE(board); i++) {
74 if (of_flat_dt_is_compatible(root, board[i])) { 74 if (of_flat_dt_is_compatible(root, board[i])) {
75 ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC); 75 pci_set_flags(PCI_REASSIGN_ALL_RSRC);
76 return 1; 76 return 1;
77 } 77 }
78 } 78 }
diff --git a/arch/powerpc/platforms/44x/sam440ep.c b/arch/powerpc/platforms/44x/sam440ep.c
index a78e8eb6da4..9e09b835758 100644
--- a/arch/powerpc/platforms/44x/sam440ep.c
+++ b/arch/powerpc/platforms/44x/sam440ep.c
@@ -51,7 +51,7 @@ static int __init sam440ep_probe(void)
51 if (!of_flat_dt_is_compatible(root, "acube,sam440ep")) 51 if (!of_flat_dt_is_compatible(root, "acube,sam440ep"))
52 return 0; 52 return 0;
53 53
54 ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC); 54 pci_set_flags(PCI_REASSIGN_ALL_RSRC);
55 55
56 return 1; 56 return 1;
57} 57}
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pci.c b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
index 5f5e6930908..bfb11e01133 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_pci.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
@@ -371,7 +371,7 @@ mpc52xx_add_bridge(struct device_node *node)
371 371
372 pr_debug("Adding MPC52xx PCI host bridge %s\n", node->full_name); 372 pr_debug("Adding MPC52xx PCI host bridge %s\n", node->full_name);
373 373
374 ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS); 374 pci_add_flags(PCI_REASSIGN_ALL_BUS);
375 375
376 if (of_address_to_resource(node, 0, &rsrc) != 0) { 376 if (of_address_to_resource(node, 0, &rsrc) != 0) {
377 printk(KERN_ERR "Can't get %s resources\n", node->full_name); 377 printk(KERN_ERR "Can't get %s resources\n", node->full_name);
diff --git a/arch/powerpc/platforms/82xx/pq2.c b/arch/powerpc/platforms/82xx/pq2.c
index 9761a59f175..d111b024eaf 100644
--- a/arch/powerpc/platforms/82xx/pq2.c
+++ b/arch/powerpc/platforms/82xx/pq2.c
@@ -53,7 +53,7 @@ static void __init pq2_pci_add_bridge(struct device_node *np)
53 if (of_address_to_resource(np, 0, &r) || r.end - r.start < 0x10b) 53 if (of_address_to_resource(np, 0, &r) || r.end - r.start < 0x10b)
54 goto err; 54 goto err;
55 55
56 ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS); 56 pci_add_flags(PCI_REASSIGN_ALL_BUS);
57 57
58 hose = pcibios_alloc_controller(np); 58 hose = pcibios_alloc_controller(np);
59 if (!hose) 59 if (!hose)
diff --git a/arch/powerpc/platforms/chrp/pci.c b/arch/powerpc/platforms/chrp/pci.c
index 3f65443f171..83285c5a204 100644
--- a/arch/powerpc/platforms/chrp/pci.c
+++ b/arch/powerpc/platforms/chrp/pci.c
@@ -199,7 +199,7 @@ static void __init setup_peg2(struct pci_controller *hose, struct device_node *d
199 printk ("RTAS supporting Pegasos OF not found, please upgrade" 199 printk ("RTAS supporting Pegasos OF not found, please upgrade"
200 " your firmware\n"); 200 " your firmware\n");
201 } 201 }
202 ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS); 202 pci_add_flags(PCI_REASSIGN_ALL_BUS);
203 /* keep the reference to the root node */ 203 /* keep the reference to the root node */
204} 204}
205 205
diff --git a/arch/powerpc/platforms/powermac/pci.c b/arch/powerpc/platforms/powermac/pci.c
index 41a80a4fb97..5cc83851ad0 100644
--- a/arch/powerpc/platforms/powermac/pci.c
+++ b/arch/powerpc/platforms/powermac/pci.c
@@ -732,7 +732,7 @@ static void __init setup_bandit(struct pci_controller *hose,
732static int __init setup_uninorth(struct pci_controller *hose, 732static int __init setup_uninorth(struct pci_controller *hose,
733 struct resource *addr) 733 struct resource *addr)
734{ 734{
735 ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS); 735 pci_add_flags(PCI_REASSIGN_ALL_BUS);
736 has_uninorth = 1; 736 has_uninorth = 1;
737 hose->ops = &macrisc_pci_ops; 737 hose->ops = &macrisc_pci_ops;
738 hose->cfg_addr = ioremap(addr->start + 0x800000, 0x1000); 738 hose->cfg_addr = ioremap(addr->start + 0x800000, 0x1000);
@@ -998,7 +998,7 @@ void __init pmac_pci_init(void)
998 struct device_node *np, *root; 998 struct device_node *np, *root;
999 struct device_node *ht = NULL; 999 struct device_node *ht = NULL;
1000 1000
1001 ppc_pci_set_flags(PPC_PCI_CAN_SKIP_ISA_ALIGN); 1001 pci_set_flags(PCI_CAN_SKIP_ISA_ALIGN);
1002 1002
1003 root = of_find_node_by_path("/"); 1003 root = of_find_node_by_path("/");
1004 if (root == NULL) { 1004 if (root == NULL) {
@@ -1057,7 +1057,7 @@ void __init pmac_pci_init(void)
1057 * some offset between bus number and domains for now when we 1057 * some offset between bus number and domains for now when we
1058 * assign all busses should help for now 1058 * assign all busses should help for now
1059 */ 1059 */
1060 if (ppc_pci_has_flag(PPC_PCI_REASSIGN_ALL_BUS)) 1060 if (pci_has_flag(PCI_REASSIGN_ALL_BUS))
1061 pcibios_assign_bus_offset = 0x10; 1061 pcibios_assign_bus_offset = 0x10;
1062#endif 1062#endif
1063} 1063}
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
index 3bba8bdb58b..4ce547e0047 100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -351,7 +351,7 @@ int __init fsl_add_bridge(struct device_node *dev, int is_primary)
351 printk(KERN_WARNING "Can't get bus-range for %s, assume" 351 printk(KERN_WARNING "Can't get bus-range for %s, assume"
352 " bus 0\n", dev->full_name); 352 " bus 0\n", dev->full_name);
353 353
354 ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS); 354 pci_add_flags(PCI_REASSIGN_ALL_BUS);
355 hose = pcibios_alloc_controller(dev); 355 hose = pcibios_alloc_controller(dev);
356 if (!hose) 356 if (!hose)
357 return -ENOMEM; 357 return -ENOMEM;
@@ -640,7 +640,7 @@ int __init mpc83xx_add_bridge(struct device_node *dev)
640 " bus 0\n", dev->full_name); 640 " bus 0\n", dev->full_name);
641 } 641 }
642 642
643 ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS); 643 pci_add_flags(PCI_REASSIGN_ALL_BUS);
644 hose = pcibios_alloc_controller(dev); 644 hose = pcibios_alloc_controller(dev);
645 if (!hose) 645 if (!hose)
646 return -ENOMEM; 646 return -ENOMEM;
diff --git a/arch/powerpc/sysdev/grackle.c b/arch/powerpc/sysdev/grackle.c
index cf27df6e508..08abe91ae79 100644
--- a/arch/powerpc/sysdev/grackle.c
+++ b/arch/powerpc/sysdev/grackle.c
@@ -57,7 +57,7 @@ void __init setup_grackle(struct pci_controller *hose)
57{ 57{
58 setup_indirect_pci(hose, 0xfec00000, 0xfee00000, 0); 58 setup_indirect_pci(hose, 0xfec00000, 0xfee00000, 0);
59 if (of_machine_is_compatible("PowerMac1,1")) 59 if (of_machine_is_compatible("PowerMac1,1"))
60 ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS); 60 pci_add_flags(PCI_REASSIGN_ALL_BUS);
61 if (of_machine_is_compatible("AAPL,PowerBook1998")) 61 if (of_machine_is_compatible("AAPL,PowerBook1998"))
62 grackle_set_loop_snoop(hose, 1); 62 grackle_set_loop_snoop(hose, 1);
63#if 0 /* Disabled for now, HW problems ??? */ 63#if 0 /* Disabled for now, HW problems ??? */
diff --git a/arch/powerpc/sysdev/ppc4xx_pci.c b/arch/powerpc/sysdev/ppc4xx_pci.c
index 2ec4f3bb816..a59ba96d2c2 100644
--- a/arch/powerpc/sysdev/ppc4xx_pci.c
+++ b/arch/powerpc/sysdev/ppc4xx_pci.c
@@ -1977,7 +1977,7 @@ static int __init ppc4xx_pci_find_bridges(void)
1977{ 1977{
1978 struct device_node *np; 1978 struct device_node *np;
1979 1979
1980 ppc_pci_flags |= PPC_PCI_ENABLE_PROC_DOMAINS | PPC_PCI_COMPAT_DOMAIN_0; 1980 pci_add_flags(PCI_ENABLE_PROC_DOMAINS | PCI_COMPAT_DOMAIN_0);
1981 1981
1982#ifdef CONFIG_PPC4xx_PCI_EXPRESS 1982#ifdef CONFIG_PPC4xx_PCI_EXPRESS
1983 for_each_compatible_node(np, NULL, "ibm,plb-pciex") 1983 for_each_compatible_node(np, NULL, "ibm,plb-pciex")
diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index 4168c8896e1..35309274ad6 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -2,3 +2,6 @@
2config CLKDEV_LOOKUP 2config CLKDEV_LOOKUP
3 bool 3 bool
4 select HAVE_CLK 4 select HAVE_CLK
5
6config HAVE_MACH_CLKDEV
7 bool
diff --git a/include/asm-generic/pci-bridge.h b/include/asm-generic/pci-bridge.h
new file mode 100644
index 00000000000..4a5aca2a2c9
--- /dev/null
+++ b/include/asm-generic/pci-bridge.h
@@ -0,0 +1,62 @@
1/*
2 * This program is free software; you can redistribute it and/or
3 * modify it under the terms of the GNU General Public License
4 * as published by the Free Software Foundation; either version
5 * 2 of the License, or (at your option) any later version.
6 */
7#ifndef _ASM_GENERIC_PCI_BRIDGE_H
8#define _ASM_GENERIC_PCI_BRIDGE_H
9
10#ifdef __KERNEL__
11
12enum {
13 /* Force re-assigning all resources (ignore firmware
14 * setup completely)
15 */
16 PCI_REASSIGN_ALL_RSRC = 0x00000001,
17
18 /* Re-assign all bus numbers */
19 PCI_REASSIGN_ALL_BUS = 0x00000002,
20
21 /* Do not try to assign, just use existing setup */
22 PCI_PROBE_ONLY = 0x00000004,
23
24 /* Don't bother with ISA alignment unless the bridge has
25 * ISA forwarding enabled
26 */
27 PCI_CAN_SKIP_ISA_ALIGN = 0x00000008,
28
29 /* Enable domain numbers in /proc */
30 PCI_ENABLE_PROC_DOMAINS = 0x00000010,
31 /* ... except for domain 0 */
32 PCI_COMPAT_DOMAIN_0 = 0x00000020,
33};
34
35#ifdef CONFIG_PCI
36extern unsigned int pci_flags;
37
38static inline void pci_set_flags(int flags)
39{
40 pci_flags = flags;
41}
42
43static inline void pci_add_flags(int flags)
44{
45 pci_flags |= flags;
46}
47
48static inline int pci_has_flag(int flag)
49{
50 return pci_flags & flag;
51}
52#else
53static inline void pci_set_flags(int flags) { }
54static inline void pci_add_flags(int flags) { }
55static inline int pci_has_flag(int flag)
56{
57 return 0;
58}
59#endif /* CONFIG_PCI */
60
61#endif /* __KERNEL__ */
62#endif /* _ASM_GENERIC_PCI_BRIDGE_H */