aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-kirkwood
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-05-21 19:01:50 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-21 19:01:50 -0400
commitff8ce5f67ddca709fe59e6173f89260f0fdc2b22 (patch)
tree90d3ad380b290d251b54590be485b2ffb4528e5a /arch/arm/mach-kirkwood
parent4f6ade91532b5b05ea28219b891f12a3cec528cd (diff)
parent4ab1056766a4e49f6b9ef324313dd1583f8f8f4e (diff)
Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm
Pull core ARM updates from Russell King: "This is the bulk of the core ARM updates for this merge window. Included in here is a different way to handle the VIVT cache flushing on context switch, which should allow scheduler folk to remove a special case in their core code. We have architectured timer support here, which is a set of timers specified by the ARM architecture for future SoCs. So we should see less variability in timer design going forward. The last big thing here is my cleanup to the way we handle PCI across ARM, fixing some oddities in some platforms which hadn't realised there was a way to deal with their private data already built in to our PCI backend. I've also removed support for the ARMv3 architecture; it hasn't worked properly for years so it seems pointless to keep it around." * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (47 commits) ARM: PCI: remove per-pci_hw list of buses ARM: PCI: dove/kirkwood/mv78xx0: use sys->private_data ARM: PCI: provide a default bus scan implementation ARM: PCI: get rid of pci_std_swizzle() ARM: PCI: versatile: fix PCI interrupt setup ARM: PCI: integrator: use common PCI swizzle ARM: 7416/1: LPAE: Remove unused L_PTE_(BUFFERABLE|CACHEABLE) macros ARM: 7415/1: vfp: convert printk's to pr_*'s ARM: decompressor: avoid speculative prefetch from non-RAM areas ARM: Remove ARMv3 support from decompressor ARM: 7413/1: move read_{boot,persistent}_clock to the architecture level ARM: Remove support for ARMv3 ARM610 and ARM710 CPUs ARM: 7363/1: DEBUG_LL: limit early mapping to the minimum ARM: 7391/1: versatile: add some auxdata for device trees ARM: 7389/2: plat-versatile: modernize FPGA IRQ controller AMBA: get rid of last two uses of NO_IRQ ARM: 7408/1: cacheflush: return error to userspace when flushing syscall fails ARM: 7409/1: Do not call flush_cache_user_range with mmap_sem held ARM: 7404/1: cmpxchg64: use atomic64 and local64 routines for cmpxchg64 ARM: 7347/1: SCU: use cpu_logical_map for per-CPU low power mode ...
Diffstat (limited to 'arch/arm/mach-kirkwood')
-rw-r--r--arch/arm/mach-kirkwood/pcie.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/arch/arm/mach-kirkwood/pcie.c b/arch/arm/mach-kirkwood/pcie.c
index f56a0118c1bb..de373176ee67 100644
--- a/arch/arm/mach-kirkwood/pcie.c
+++ b/arch/arm/mach-kirkwood/pcie.c
@@ -44,12 +44,6 @@ struct pcie_port {
44static int pcie_port_map[2]; 44static int pcie_port_map[2];
45static int num_pcie_ports; 45static int num_pcie_ports;
46 46
47static inline struct pcie_port *bus_to_port(struct pci_bus *bus)
48{
49 struct pci_sys_data *sys = bus->sysdata;
50 return sys->private_data;
51}
52
53static int pcie_valid_config(struct pcie_port *pp, int bus, int dev) 47static int pcie_valid_config(struct pcie_port *pp, int bus, int dev)
54{ 48{
55 /* 49 /*
@@ -79,7 +73,8 @@ static int pcie_valid_config(struct pcie_port *pp, int bus, int dev)
79static int pcie_rd_conf(struct pci_bus *bus, u32 devfn, int where, 73static int pcie_rd_conf(struct pci_bus *bus, u32 devfn, int where,
80 int size, u32 *val) 74 int size, u32 *val)
81{ 75{
82 struct pcie_port *pp = bus_to_port(bus); 76 struct pci_sys_data *sys = bus->sysdata;
77 struct pcie_port *pp = sys->private_data;
83 unsigned long flags; 78 unsigned long flags;
84 int ret; 79 int ret;
85 80
@@ -98,7 +93,8 @@ static int pcie_rd_conf(struct pci_bus *bus, u32 devfn, int where,
98static int pcie_wr_conf(struct pci_bus *bus, u32 devfn, 93static int pcie_wr_conf(struct pci_bus *bus, u32 devfn,
99 int where, int size, u32 val) 94 int where, int size, u32 val)
100{ 95{
101 struct pcie_port *pp = bus_to_port(bus); 96 struct pci_sys_data *sys = bus->sysdata;
97 struct pcie_port *pp = sys->private_data;
102 unsigned long flags; 98 unsigned long flags;
103 int ret; 99 int ret;
104 100
@@ -248,13 +244,13 @@ kirkwood_pcie_scan_bus(int nr, struct pci_sys_data *sys)
248static int __init kirkwood_pcie_map_irq(const struct pci_dev *dev, u8 slot, 244static int __init kirkwood_pcie_map_irq(const struct pci_dev *dev, u8 slot,
249 u8 pin) 245 u8 pin)
250{ 246{
251 struct pcie_port *pp = bus_to_port(dev->bus); 247 struct pci_sys_data *sys = dev->sysdata;
248 struct pcie_port *pp = sys->private_data;
252 249
253 return pp->irq; 250 return pp->irq;
254} 251}
255 252
256static struct hw_pci kirkwood_pci __initdata = { 253static struct hw_pci kirkwood_pci __initdata = {
257 .swizzle = pci_std_swizzle,
258 .setup = kirkwood_pcie_setup, 254 .setup = kirkwood_pcie_setup,
259 .scan = kirkwood_pcie_scan_bus, 255 .scan = kirkwood_pcie_scan_bus,
260 .map_irq = kirkwood_pcie_map_irq, 256 .map_irq = kirkwood_pcie_map_irq,