diff options
Diffstat (limited to 'arch/powerpc/sysdev')
-rw-r--r-- | arch/powerpc/sysdev/fsl_msi.c | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/fsl_pci.c | 3 | ||||
-rw-r--r-- | arch/powerpc/sysdev/fsl_rio.c | 104 | ||||
-rw-r--r-- | arch/powerpc/sysdev/fsl_rio.h | 13 | ||||
-rw-r--r-- | arch/powerpc/sysdev/fsl_soc.c | 5 | ||||
-rw-r--r-- | arch/powerpc/sysdev/ipic.c | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/mpc5xxx_clocks.c | 3 | ||||
-rw-r--r-- | arch/powerpc/sysdev/mpic.c | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/mpic_pasemi_msi.c | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/mpic_u3msi.c | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/ppc4xx_cpm.c | 8 | ||||
-rw-r--r-- | arch/powerpc/sysdev/ppc4xx_msi.c | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/ppc4xx_pci.c | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/qe_lib/qe.c | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/qe_lib/qe_ic.c | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/uic.c | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/xics/xics-common.c | 2 |
17 files changed, 126 insertions, 22 deletions
diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c index 7aed8d0876b7..d09f4fa2c3d1 100644 --- a/arch/powerpc/sysdev/fsl_msi.c +++ b/arch/powerpc/sysdev/fsl_msi.c | |||
@@ -13,7 +13,6 @@ | |||
13 | * | 13 | * |
14 | */ | 14 | */ |
15 | #include <linux/irq.h> | 15 | #include <linux/irq.h> |
16 | #include <linux/bootmem.h> | ||
17 | #include <linux/msi.h> | 16 | #include <linux/msi.h> |
18 | #include <linux/pci.h> | 17 | #include <linux/pci.h> |
19 | #include <linux/slab.h> | 18 | #include <linux/slab.h> |
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c index 65d2ed4549e6..6455c1eada1a 100644 --- a/arch/powerpc/sysdev/fsl_pci.c +++ b/arch/powerpc/sysdev/fsl_pci.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/string.h> | 23 | #include <linux/string.h> |
24 | #include <linux/init.h> | 24 | #include <linux/init.h> |
25 | #include <linux/interrupt.h> | 25 | #include <linux/interrupt.h> |
26 | #include <linux/bootmem.h> | ||
27 | #include <linux/memblock.h> | 26 | #include <linux/memblock.h> |
28 | #include <linux/log2.h> | 27 | #include <linux/log2.h> |
29 | #include <linux/slab.h> | 28 | #include <linux/slab.h> |
@@ -152,7 +151,7 @@ static int setup_one_atmu(struct ccsr_pci __iomem *pci, | |||
152 | flags |= 0x10000000; /* enable relaxed ordering */ | 151 | flags |= 0x10000000; /* enable relaxed ordering */ |
153 | 152 | ||
154 | for (i = 0; size > 0; i++) { | 153 | for (i = 0; size > 0; i++) { |
155 | unsigned int bits = min(ilog2(size), | 154 | unsigned int bits = min_t(u32, ilog2(size), |
156 | __ffs(pci_addr | phys_addr)); | 155 | __ffs(pci_addr | phys_addr)); |
157 | 156 | ||
158 | if (index + i >= 5) | 157 | if (index + i >= 5) |
diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c index c04b718307c8..08d60f183dad 100644 --- a/arch/powerpc/sysdev/fsl_rio.c +++ b/arch/powerpc/sysdev/fsl_rio.c | |||
@@ -58,6 +58,19 @@ | |||
58 | #define RIO_ISR_AACR 0x10120 | 58 | #define RIO_ISR_AACR 0x10120 |
59 | #define RIO_ISR_AACR_AA 0x1 /* Accept All ID */ | 59 | #define RIO_ISR_AACR_AA 0x1 /* Accept All ID */ |
60 | 60 | ||
61 | #define RIWTAR_TRAD_VAL_SHIFT 12 | ||
62 | #define RIWTAR_TRAD_MASK 0x00FFFFFF | ||
63 | #define RIWBAR_BADD_VAL_SHIFT 12 | ||
64 | #define RIWBAR_BADD_MASK 0x003FFFFF | ||
65 | #define RIWAR_ENABLE 0x80000000 | ||
66 | #define RIWAR_TGINT_LOCAL 0x00F00000 | ||
67 | #define RIWAR_RDTYP_NO_SNOOP 0x00040000 | ||
68 | #define RIWAR_RDTYP_SNOOP 0x00050000 | ||
69 | #define RIWAR_WRTYP_NO_SNOOP 0x00004000 | ||
70 | #define RIWAR_WRTYP_SNOOP 0x00005000 | ||
71 | #define RIWAR_WRTYP_ALLOC 0x00006000 | ||
72 | #define RIWAR_SIZE_MASK 0x0000003F | ||
73 | |||
61 | #define __fsl_read_rio_config(x, addr, err, op) \ | 74 | #define __fsl_read_rio_config(x, addr, err, op) \ |
62 | __asm__ __volatile__( \ | 75 | __asm__ __volatile__( \ |
63 | "1: "op" %1,0(%2)\n" \ | 76 | "1: "op" %1,0(%2)\n" \ |
@@ -266,6 +279,89 @@ fsl_rio_config_write(struct rio_mport *mport, int index, u16 destid, | |||
266 | return 0; | 279 | return 0; |
267 | } | 280 | } |
268 | 281 | ||
282 | static void fsl_rio_inbound_mem_init(struct rio_priv *priv) | ||
283 | { | ||
284 | int i; | ||
285 | |||
286 | /* close inbound windows */ | ||
287 | for (i = 0; i < RIO_INB_ATMU_COUNT; i++) | ||
288 | out_be32(&priv->inb_atmu_regs[i].riwar, 0); | ||
289 | } | ||
290 | |||
291 | int fsl_map_inb_mem(struct rio_mport *mport, dma_addr_t lstart, | ||
292 | u64 rstart, u32 size, u32 flags) | ||
293 | { | ||
294 | struct rio_priv *priv = mport->priv; | ||
295 | u32 base_size; | ||
296 | unsigned int base_size_log; | ||
297 | u64 win_start, win_end; | ||
298 | u32 riwar; | ||
299 | int i; | ||
300 | |||
301 | if ((size & (size - 1)) != 0) | ||
302 | return -EINVAL; | ||
303 | |||
304 | base_size_log = ilog2(size); | ||
305 | base_size = 1 << base_size_log; | ||
306 | |||
307 | /* check if addresses are aligned with the window size */ | ||
308 | if (lstart & (base_size - 1)) | ||
309 | return -EINVAL; | ||
310 | if (rstart & (base_size - 1)) | ||
311 | return -EINVAL; | ||
312 | |||
313 | /* check for conflicting ranges */ | ||
314 | for (i = 0; i < RIO_INB_ATMU_COUNT; i++) { | ||
315 | riwar = in_be32(&priv->inb_atmu_regs[i].riwar); | ||
316 | if ((riwar & RIWAR_ENABLE) == 0) | ||
317 | continue; | ||
318 | win_start = ((u64)(in_be32(&priv->inb_atmu_regs[i].riwbar) & RIWBAR_BADD_MASK)) | ||
319 | << RIWBAR_BADD_VAL_SHIFT; | ||
320 | win_end = win_start + ((1 << ((riwar & RIWAR_SIZE_MASK) + 1)) - 1); | ||
321 | if (rstart < win_end && (rstart + size) > win_start) | ||
322 | return -EINVAL; | ||
323 | } | ||
324 | |||
325 | /* find unused atmu */ | ||
326 | for (i = 0; i < RIO_INB_ATMU_COUNT; i++) { | ||
327 | riwar = in_be32(&priv->inb_atmu_regs[i].riwar); | ||
328 | if ((riwar & RIWAR_ENABLE) == 0) | ||
329 | break; | ||
330 | } | ||
331 | if (i >= RIO_INB_ATMU_COUNT) | ||
332 | return -ENOMEM; | ||
333 | |||
334 | out_be32(&priv->inb_atmu_regs[i].riwtar, lstart >> RIWTAR_TRAD_VAL_SHIFT); | ||
335 | out_be32(&priv->inb_atmu_regs[i].riwbar, rstart >> RIWBAR_BADD_VAL_SHIFT); | ||
336 | out_be32(&priv->inb_atmu_regs[i].riwar, RIWAR_ENABLE | RIWAR_TGINT_LOCAL | | ||
337 | RIWAR_RDTYP_SNOOP | RIWAR_WRTYP_SNOOP | (base_size_log - 1)); | ||
338 | |||
339 | return 0; | ||
340 | } | ||
341 | |||
342 | void fsl_unmap_inb_mem(struct rio_mport *mport, dma_addr_t lstart) | ||
343 | { | ||
344 | u32 win_start_shift, base_start_shift; | ||
345 | struct rio_priv *priv = mport->priv; | ||
346 | u32 riwar, riwtar; | ||
347 | int i; | ||
348 | |||
349 | /* skip default window */ | ||
350 | base_start_shift = lstart >> RIWTAR_TRAD_VAL_SHIFT; | ||
351 | for (i = 0; i < RIO_INB_ATMU_COUNT; i++) { | ||
352 | riwar = in_be32(&priv->inb_atmu_regs[i].riwar); | ||
353 | if ((riwar & RIWAR_ENABLE) == 0) | ||
354 | continue; | ||
355 | |||
356 | riwtar = in_be32(&priv->inb_atmu_regs[i].riwtar); | ||
357 | win_start_shift = riwtar & RIWTAR_TRAD_MASK; | ||
358 | if (win_start_shift == base_start_shift) { | ||
359 | out_be32(&priv->inb_atmu_regs[i].riwar, riwar & ~RIWAR_ENABLE); | ||
360 | return; | ||
361 | } | ||
362 | } | ||
363 | } | ||
364 | |||
269 | void fsl_rio_port_error_handler(int offset) | 365 | void fsl_rio_port_error_handler(int offset) |
270 | { | 366 | { |
271 | /*XXX: Error recovery is not implemented, we just clear errors */ | 367 | /*XXX: Error recovery is not implemented, we just clear errors */ |
@@ -389,6 +485,8 @@ int fsl_rio_setup(struct platform_device *dev) | |||
389 | ops->add_outb_message = fsl_add_outb_message; | 485 | ops->add_outb_message = fsl_add_outb_message; |
390 | ops->add_inb_buffer = fsl_add_inb_buffer; | 486 | ops->add_inb_buffer = fsl_add_inb_buffer; |
391 | ops->get_inb_message = fsl_get_inb_message; | 487 | ops->get_inb_message = fsl_get_inb_message; |
488 | ops->map_inb = fsl_map_inb_mem; | ||
489 | ops->unmap_inb = fsl_unmap_inb_mem; | ||
392 | 490 | ||
393 | rmu_node = of_parse_phandle(dev->dev.of_node, "fsl,srio-rmu-handle", 0); | 491 | rmu_node = of_parse_phandle(dev->dev.of_node, "fsl,srio-rmu-handle", 0); |
394 | if (!rmu_node) { | 492 | if (!rmu_node) { |
@@ -602,6 +700,11 @@ int fsl_rio_setup(struct platform_device *dev) | |||
602 | RIO_ATMU_REGS_PORT2_OFFSET)); | 700 | RIO_ATMU_REGS_PORT2_OFFSET)); |
603 | 701 | ||
604 | priv->maint_atmu_regs = priv->atmu_regs + 1; | 702 | priv->maint_atmu_regs = priv->atmu_regs + 1; |
703 | priv->inb_atmu_regs = (struct rio_inb_atmu_regs __iomem *) | ||
704 | (priv->regs_win + | ||
705 | ((i == 0) ? RIO_INB_ATMU_REGS_PORT1_OFFSET : | ||
706 | RIO_INB_ATMU_REGS_PORT2_OFFSET)); | ||
707 | |||
605 | 708 | ||
606 | /* Set to receive any dist ID for serial RapidIO controller. */ | 709 | /* Set to receive any dist ID for serial RapidIO controller. */ |
607 | if (port->phy_type == RIO_PHY_SERIAL) | 710 | if (port->phy_type == RIO_PHY_SERIAL) |
@@ -620,6 +723,7 @@ int fsl_rio_setup(struct platform_device *dev) | |||
620 | rio_law_start = range_start; | 723 | rio_law_start = range_start; |
621 | 724 | ||
622 | fsl_rio_setup_rmu(port, rmu_np[i]); | 725 | fsl_rio_setup_rmu(port, rmu_np[i]); |
726 | fsl_rio_inbound_mem_init(priv); | ||
623 | 727 | ||
624 | dbell->mport[i] = port; | 728 | dbell->mport[i] = port; |
625 | 729 | ||
diff --git a/arch/powerpc/sysdev/fsl_rio.h b/arch/powerpc/sysdev/fsl_rio.h index ae8e27405a0d..d53407a34f32 100644 --- a/arch/powerpc/sysdev/fsl_rio.h +++ b/arch/powerpc/sysdev/fsl_rio.h | |||
@@ -50,9 +50,12 @@ | |||
50 | #define RIO_S_DBELL_REGS_OFFSET 0x13400 | 50 | #define RIO_S_DBELL_REGS_OFFSET 0x13400 |
51 | #define RIO_S_PW_REGS_OFFSET 0x134e0 | 51 | #define RIO_S_PW_REGS_OFFSET 0x134e0 |
52 | #define RIO_ATMU_REGS_DBELL_OFFSET 0x10C40 | 52 | #define RIO_ATMU_REGS_DBELL_OFFSET 0x10C40 |
53 | #define RIO_INB_ATMU_REGS_PORT1_OFFSET 0x10d60 | ||
54 | #define RIO_INB_ATMU_REGS_PORT2_OFFSET 0x10f60 | ||
53 | 55 | ||
54 | #define MAX_MSG_UNIT_NUM 2 | 56 | #define MAX_MSG_UNIT_NUM 2 |
55 | #define MAX_PORT_NUM 4 | 57 | #define MAX_PORT_NUM 4 |
58 | #define RIO_INB_ATMU_COUNT 4 | ||
56 | 59 | ||
57 | struct rio_atmu_regs { | 60 | struct rio_atmu_regs { |
58 | u32 rowtar; | 61 | u32 rowtar; |
@@ -63,6 +66,15 @@ struct rio_atmu_regs { | |||
63 | u32 pad2[3]; | 66 | u32 pad2[3]; |
64 | }; | 67 | }; |
65 | 68 | ||
69 | struct rio_inb_atmu_regs { | ||
70 | u32 riwtar; | ||
71 | u32 pad1; | ||
72 | u32 riwbar; | ||
73 | u32 pad2; | ||
74 | u32 riwar; | ||
75 | u32 pad3[3]; | ||
76 | }; | ||
77 | |||
66 | struct rio_dbell_ring { | 78 | struct rio_dbell_ring { |
67 | void *virt; | 79 | void *virt; |
68 | dma_addr_t phys; | 80 | dma_addr_t phys; |
@@ -99,6 +111,7 @@ struct rio_priv { | |||
99 | void __iomem *regs_win; | 111 | void __iomem *regs_win; |
100 | struct rio_atmu_regs __iomem *atmu_regs; | 112 | struct rio_atmu_regs __iomem *atmu_regs; |
101 | struct rio_atmu_regs __iomem *maint_atmu_regs; | 113 | struct rio_atmu_regs __iomem *maint_atmu_regs; |
114 | struct rio_inb_atmu_regs __iomem *inb_atmu_regs; | ||
102 | void __iomem *maint_win; | 115 | void __iomem *maint_win; |
103 | void *rmm_handle; /* RapidIO message manager(unit) Handle */ | 116 | void *rmm_handle; /* RapidIO message manager(unit) Handle */ |
104 | }; | 117 | }; |
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c index ffd1169ebaab..99269c041615 100644 --- a/arch/powerpc/sysdev/fsl_soc.c +++ b/arch/powerpc/sysdev/fsl_soc.c | |||
@@ -197,8 +197,7 @@ static int __init setup_rstcr(void) | |||
197 | if (!rstcr && ppc_md.restart == fsl_rstcr_restart) | 197 | if (!rstcr && ppc_md.restart == fsl_rstcr_restart) |
198 | printk(KERN_ERR "No RSTCR register, warm reboot won't work\n"); | 198 | printk(KERN_ERR "No RSTCR register, warm reboot won't work\n"); |
199 | 199 | ||
200 | if (np) | 200 | of_node_put(np); |
201 | of_node_put(np); | ||
202 | 201 | ||
203 | return 0; | 202 | return 0; |
204 | } | 203 | } |
@@ -238,7 +237,7 @@ void fsl_hv_restart(char *cmd) | |||
238 | /* | 237 | /* |
239 | * Halt the current partition | 238 | * Halt the current partition |
240 | * | 239 | * |
241 | * This function should be assigned to the ppc_md.power_off and ppc_md.halt | 240 | * This function should be assigned to the pm_power_off and ppc_md.halt |
242 | * function pointers, to shut down the partition when we're running under | 241 | * function pointers, to shut down the partition when we're running under |
243 | * the Freescale hypervisor. | 242 | * the Freescale hypervisor. |
244 | */ | 243 | */ |
diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c index b50f97811c25..b28733727ed3 100644 --- a/arch/powerpc/sysdev/ipic.c +++ b/arch/powerpc/sysdev/ipic.c | |||
@@ -20,7 +20,6 @@ | |||
20 | #include <linux/signal.h> | 20 | #include <linux/signal.h> |
21 | #include <linux/syscore_ops.h> | 21 | #include <linux/syscore_ops.h> |
22 | #include <linux/device.h> | 22 | #include <linux/device.h> |
23 | #include <linux/bootmem.h> | ||
24 | #include <linux/spinlock.h> | 23 | #include <linux/spinlock.h> |
25 | #include <linux/fsl_devices.h> | 24 | #include <linux/fsl_devices.h> |
26 | #include <asm/irq.h> | 25 | #include <asm/irq.h> |
diff --git a/arch/powerpc/sysdev/mpc5xxx_clocks.c b/arch/powerpc/sysdev/mpc5xxx_clocks.c index 5492dc5f56f4..f4f0301b9a60 100644 --- a/arch/powerpc/sysdev/mpc5xxx_clocks.c +++ b/arch/powerpc/sysdev/mpc5xxx_clocks.c | |||
@@ -26,8 +26,7 @@ unsigned long mpc5xxx_get_bus_frequency(struct device_node *node) | |||
26 | of_node_put(node); | 26 | of_node_put(node); |
27 | node = np; | 27 | node = np; |
28 | } | 28 | } |
29 | if (node) | 29 | of_node_put(node); |
30 | of_node_put(node); | ||
31 | 30 | ||
32 | return p_bus_freq ? *p_bus_freq : 0; | 31 | return p_bus_freq ? *p_bus_freq : 0; |
33 | } | 32 | } |
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 89cec0ed6a58..c4648ad5c1f3 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -24,7 +24,6 @@ | |||
24 | #include <linux/irq.h> | 24 | #include <linux/irq.h> |
25 | #include <linux/smp.h> | 25 | #include <linux/smp.h> |
26 | #include <linux/interrupt.h> | 26 | #include <linux/interrupt.h> |
27 | #include <linux/bootmem.h> | ||
28 | #include <linux/spinlock.h> | 27 | #include <linux/spinlock.h> |
29 | #include <linux/pci.h> | 28 | #include <linux/pci.h> |
30 | #include <linux/slab.h> | 29 | #include <linux/slab.h> |
diff --git a/arch/powerpc/sysdev/mpic_pasemi_msi.c b/arch/powerpc/sysdev/mpic_pasemi_msi.c index 45c114bc430b..a3f660eed6de 100644 --- a/arch/powerpc/sysdev/mpic_pasemi_msi.c +++ b/arch/powerpc/sysdev/mpic_pasemi_msi.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #undef DEBUG | 16 | #undef DEBUG |
17 | 17 | ||
18 | #include <linux/irq.h> | 18 | #include <linux/irq.h> |
19 | #include <linux/bootmem.h> | ||
20 | #include <linux/msi.h> | 19 | #include <linux/msi.h> |
21 | #include <asm/mpic.h> | 20 | #include <asm/mpic.h> |
22 | #include <asm/prom.h> | 21 | #include <asm/prom.h> |
diff --git a/arch/powerpc/sysdev/mpic_u3msi.c b/arch/powerpc/sysdev/mpic_u3msi.c index 0dff1cd44481..b2cef1809389 100644 --- a/arch/powerpc/sysdev/mpic_u3msi.c +++ b/arch/powerpc/sysdev/mpic_u3msi.c | |||
@@ -10,7 +10,6 @@ | |||
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/irq.h> | 12 | #include <linux/irq.h> |
13 | #include <linux/bootmem.h> | ||
14 | #include <linux/msi.h> | 13 | #include <linux/msi.h> |
15 | #include <asm/mpic.h> | 14 | #include <asm/mpic.h> |
16 | #include <asm/prom.h> | 15 | #include <asm/prom.h> |
diff --git a/arch/powerpc/sysdev/ppc4xx_cpm.c b/arch/powerpc/sysdev/ppc4xx_cpm.c index 82e2cfe35c62..ba95adf81d8d 100644 --- a/arch/powerpc/sysdev/ppc4xx_cpm.c +++ b/arch/powerpc/sysdev/ppc4xx_cpm.c | |||
@@ -281,7 +281,7 @@ static int __init cpm_init(void) | |||
281 | printk(KERN_ERR "cpm: could not parse dcr property for %s\n", | 281 | printk(KERN_ERR "cpm: could not parse dcr property for %s\n", |
282 | np->full_name); | 282 | np->full_name); |
283 | ret = -EINVAL; | 283 | ret = -EINVAL; |
284 | goto out; | 284 | goto node_put; |
285 | } | 285 | } |
286 | 286 | ||
287 | cpm.dcr_host = dcr_map(np, dcr_base, dcr_len); | 287 | cpm.dcr_host = dcr_map(np, dcr_base, dcr_len); |
@@ -290,7 +290,7 @@ static int __init cpm_init(void) | |||
290 | printk(KERN_ERR "cpm: failed to map dcr property for %s\n", | 290 | printk(KERN_ERR "cpm: failed to map dcr property for %s\n", |
291 | np->full_name); | 291 | np->full_name); |
292 | ret = -EINVAL; | 292 | ret = -EINVAL; |
293 | goto out; | 293 | goto node_put; |
294 | } | 294 | } |
295 | 295 | ||
296 | /* All 4xx SoCs with a CPM controller have one of two | 296 | /* All 4xx SoCs with a CPM controller have one of two |
@@ -330,9 +330,9 @@ static int __init cpm_init(void) | |||
330 | 330 | ||
331 | if (cpm.standby || cpm.suspend) | 331 | if (cpm.standby || cpm.suspend) |
332 | suspend_set_ops(&cpm_suspend_ops); | 332 | suspend_set_ops(&cpm_suspend_ops); |
333 | node_put: | ||
334 | of_node_put(np); | ||
333 | out: | 335 | out: |
334 | if (np) | ||
335 | of_node_put(np); | ||
336 | return ret; | 336 | return ret; |
337 | } | 337 | } |
338 | 338 | ||
diff --git a/arch/powerpc/sysdev/ppc4xx_msi.c b/arch/powerpc/sysdev/ppc4xx_msi.c index 518eabbe0bdc..5e622c0544c4 100644 --- a/arch/powerpc/sysdev/ppc4xx_msi.c +++ b/arch/powerpc/sysdev/ppc4xx_msi.c | |||
@@ -22,7 +22,6 @@ | |||
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <linux/irq.h> | 24 | #include <linux/irq.h> |
25 | #include <linux/bootmem.h> | ||
26 | #include <linux/pci.h> | 25 | #include <linux/pci.h> |
27 | #include <linux/msi.h> | 26 | #include <linux/msi.h> |
28 | #include <linux/of_platform.h> | 27 | #include <linux/of_platform.h> |
diff --git a/arch/powerpc/sysdev/ppc4xx_pci.c b/arch/powerpc/sysdev/ppc4xx_pci.c index df6e2fc4ff92..086aca69ecae 100644 --- a/arch/powerpc/sysdev/ppc4xx_pci.c +++ b/arch/powerpc/sysdev/ppc4xx_pci.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <linux/pci.h> | 22 | #include <linux/pci.h> |
23 | #include <linux/init.h> | 23 | #include <linux/init.h> |
24 | #include <linux/of.h> | 24 | #include <linux/of.h> |
25 | #include <linux/bootmem.h> | ||
26 | #include <linux/delay.h> | 25 | #include <linux/delay.h> |
27 | #include <linux/slab.h> | 26 | #include <linux/slab.h> |
28 | 27 | ||
diff --git a/arch/powerpc/sysdev/qe_lib/qe.c b/arch/powerpc/sysdev/qe_lib/qe.c index 238a07b97f2c..b584debbcd9c 100644 --- a/arch/powerpc/sysdev/qe_lib/qe.c +++ b/arch/powerpc/sysdev/qe_lib/qe.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <linux/spinlock.h> | 22 | #include <linux/spinlock.h> |
23 | #include <linux/mm.h> | 23 | #include <linux/mm.h> |
24 | #include <linux/interrupt.h> | 24 | #include <linux/interrupt.h> |
25 | #include <linux/bootmem.h> | ||
26 | #include <linux/module.h> | 25 | #include <linux/module.h> |
27 | #include <linux/delay.h> | 26 | #include <linux/delay.h> |
28 | #include <linux/ioport.h> | 27 | #include <linux/ioport.h> |
diff --git a/arch/powerpc/sysdev/qe_lib/qe_ic.c b/arch/powerpc/sysdev/qe_lib/qe_ic.c index b2b87c30e266..543765e1ef14 100644 --- a/arch/powerpc/sysdev/qe_lib/qe_ic.c +++ b/arch/powerpc/sysdev/qe_lib/qe_ic.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/sched.h> | 23 | #include <linux/sched.h> |
24 | #include <linux/signal.h> | 24 | #include <linux/signal.h> |
25 | #include <linux/device.h> | 25 | #include <linux/device.h> |
26 | #include <linux/bootmem.h> | ||
27 | #include <linux/spinlock.h> | 26 | #include <linux/spinlock.h> |
28 | #include <asm/irq.h> | 27 | #include <asm/irq.h> |
29 | #include <asm/io.h> | 28 | #include <asm/io.h> |
diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c index 92033936a8f7..7c37157d4c24 100644 --- a/arch/powerpc/sysdev/uic.c +++ b/arch/powerpc/sysdev/uic.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/sched.h> | 19 | #include <linux/sched.h> |
20 | #include <linux/signal.h> | 20 | #include <linux/signal.h> |
21 | #include <linux/device.h> | 21 | #include <linux/device.h> |
22 | #include <linux/bootmem.h> | ||
23 | #include <linux/spinlock.h> | 22 | #include <linux/spinlock.h> |
24 | #include <linux/irq.h> | 23 | #include <linux/irq.h> |
25 | #include <linux/interrupt.h> | 24 | #include <linux/interrupt.h> |
diff --git a/arch/powerpc/sysdev/xics/xics-common.c b/arch/powerpc/sysdev/xics/xics-common.c index fe0cca477164..365249cd346b 100644 --- a/arch/powerpc/sysdev/xics/xics-common.c +++ b/arch/powerpc/sysdev/xics/xics-common.c | |||
@@ -155,7 +155,7 @@ int __init xics_smp_probe(void) | |||
155 | 155 | ||
156 | void xics_teardown_cpu(void) | 156 | void xics_teardown_cpu(void) |
157 | { | 157 | { |
158 | struct xics_cppr *os_cppr = &__get_cpu_var(xics_cppr); | 158 | struct xics_cppr *os_cppr = this_cpu_ptr(&xics_cppr); |
159 | 159 | ||
160 | /* | 160 | /* |
161 | * we have to reset the cppr index to 0 because we're | 161 | * we have to reset the cppr index to 0 because we're |