diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-07 13:52:00 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-07 13:52:00 -0400 |
commit | ba00003aa83a61b615542dd66f5af8fb4a7cee1d (patch) | |
tree | 013dde7e89730e54433aa40b5e9d67997931aed6 /arch | |
parent | 9c8e7f5cc965d30006c917ab19221e06fcc5a4f9 (diff) | |
parent | 40a5f7ca07f8e1d77acdba5ae0c11c15cb7520c1 (diff) |
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
[POWERPC] PReP fixup after irq changes
[POWERPC] SPU fixup after irq changes
[POWERPC] Fix up after irq changes
[POWERPC] Fix iseries/smp.c for irq breakage
[POWERPC] Fix viocons for irq breakage
[POWERPC] Update iseries_defconfig
[POWERPC] Fix fsl_soc build breaks
[POWERPC] Minor fix for bootargs property
[POWERPC] Update MTFSF_L() comment
[POWERPC] Update pSeries defconfig for SATA
[POWERPC] Don't get PCI IRQ from OF for devices with no IRQ
[POWERPC] Fix zImage decompress location
[POWERPC] linux,tce-size property is 32 bits
[POWERPC] Add DTS for MPC8349E-mITX board
[POWERPC] Fix harmless typo
[PPC] Fix some irq breakage with ARCH=ppc
Diffstat (limited to 'arch')
46 files changed, 433 insertions, 134 deletions
diff --git a/arch/powerpc/boot/dts/mpc8349emitx.dts b/arch/powerpc/boot/dts/mpc8349emitx.dts new file mode 100644 index 000000000000..27807fc45888 --- /dev/null +++ b/arch/powerpc/boot/dts/mpc8349emitx.dts | |||
@@ -0,0 +1,246 @@ | |||
1 | /* | ||
2 | * MPC8349E-mITX Device Tree Source | ||
3 | * | ||
4 | * Copyright 2006 Freescale Semiconductor Inc. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License as published by the | ||
8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
9 | * option) any later version. | ||
10 | */ | ||
11 | / { | ||
12 | model = "MPC8349EMITX"; | ||
13 | compatible = "MPC834xMITX"; | ||
14 | #address-cells = <1>; | ||
15 | #size-cells = <1>; | ||
16 | |||
17 | cpus { | ||
18 | #cpus = <1>; | ||
19 | #address-cells = <1>; | ||
20 | #size-cells = <0>; | ||
21 | |||
22 | PowerPC,8349@0 { | ||
23 | device_type = "cpu"; | ||
24 | reg = <0>; | ||
25 | d-cache-line-size = <20>; | ||
26 | i-cache-line-size = <20>; | ||
27 | d-cache-size = <8000>; | ||
28 | i-cache-size = <8000>; | ||
29 | timebase-frequency = <0>; // from bootloader | ||
30 | bus-frequency = <0>; // from bootloader | ||
31 | clock-frequency = <0>; // from bootloader | ||
32 | 32-bit; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | memory { | ||
37 | device_type = "memory"; | ||
38 | reg = <00000000 10000000>; | ||
39 | }; | ||
40 | |||
41 | soc8349@e0000000 { | ||
42 | #address-cells = <1>; | ||
43 | #size-cells = <1>; | ||
44 | #interrupt-cells = <2>; | ||
45 | device_type = "soc"; | ||
46 | ranges = <0 e0000000 00100000>; | ||
47 | reg = <e0000000 00000200>; | ||
48 | bus-frequency = <0>; // from bootloader | ||
49 | |||
50 | wdt@200 { | ||
51 | device_type = "watchdog"; | ||
52 | compatible = "mpc83xx_wdt"; | ||
53 | reg = <200 100>; | ||
54 | }; | ||
55 | |||
56 | i2c@3000 { | ||
57 | device_type = "i2c"; | ||
58 | compatible = "fsl-i2c"; | ||
59 | reg = <3000 100>; | ||
60 | interrupts = <e 8>; | ||
61 | interrupt-parent = <700>; | ||
62 | dfsrr; | ||
63 | }; | ||
64 | |||
65 | i2c@3100 { | ||
66 | device_type = "i2c"; | ||
67 | compatible = "fsl-i2c"; | ||
68 | reg = <3100 100>; | ||
69 | interrupts = <f 8>; | ||
70 | interrupt-parent = <700>; | ||
71 | dfsrr; | ||
72 | }; | ||
73 | |||
74 | spi@7000 { | ||
75 | device_type = "spi"; | ||
76 | compatible = "mpc83xx_spi"; | ||
77 | reg = <7000 1000>; | ||
78 | interrupts = <10 8>; | ||
79 | interrupt-parent = <700>; | ||
80 | mode = <0>; | ||
81 | }; | ||
82 | |||
83 | usb@22000 { | ||
84 | device_type = "usb"; | ||
85 | compatible = "fsl-usb2-mph"; | ||
86 | reg = <22000 1000>; | ||
87 | #address-cells = <1>; | ||
88 | #size-cells = <0>; | ||
89 | interrupt-parent = <700>; | ||
90 | interrupts = <27 2>; | ||
91 | phy_type = "ulpi"; | ||
92 | port1; | ||
93 | }; | ||
94 | |||
95 | usb@23000 { | ||
96 | device_type = "usb"; | ||
97 | compatible = "fsl-usb2-dr"; | ||
98 | reg = <23000 1000>; | ||
99 | #address-cells = <1>; | ||
100 | #size-cells = <0>; | ||
101 | interrupt-parent = <700>; | ||
102 | interrupts = <26 2>; | ||
103 | phy_type = "ulpi"; | ||
104 | }; | ||
105 | |||
106 | mdio@24520 { | ||
107 | device_type = "mdio"; | ||
108 | compatible = "gianfar"; | ||
109 | reg = <24520 20>; | ||
110 | #address-cells = <1>; | ||
111 | #size-cells = <0>; | ||
112 | linux,phandle = <24520>; | ||
113 | |||
114 | /* Vitesse 8201 */ | ||
115 | ethernet-phy@1c { | ||
116 | linux,phandle = <245201c>; | ||
117 | interrupt-parent = <700>; | ||
118 | interrupts = <12 2>; | ||
119 | reg = <1c>; | ||
120 | device_type = "ethernet-phy"; | ||
121 | }; | ||
122 | |||
123 | /* Vitesse 7385 */ | ||
124 | ethernet-phy@1f { | ||
125 | linux,phandle = <245201f>; | ||
126 | interrupt-parent = <700>; | ||
127 | interrupts = <12 2>; | ||
128 | reg = <1f>; | ||
129 | device_type = "ethernet-phy"; | ||
130 | }; | ||
131 | }; | ||
132 | |||
133 | ethernet@24000 { | ||
134 | device_type = "network"; | ||
135 | model = "TSEC"; | ||
136 | compatible = "gianfar"; | ||
137 | reg = <24000 1000>; | ||
138 | address = [ 00 00 00 00 00 00 ]; | ||
139 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
140 | interrupts = <20 8 21 8 22 8>; | ||
141 | interrupt-parent = <700>; | ||
142 | phy-handle = <245201c>; | ||
143 | }; | ||
144 | |||
145 | ethernet@25000 { | ||
146 | #address-cells = <1>; | ||
147 | #size-cells = <0>; | ||
148 | device_type = "network"; | ||
149 | model = "TSEC"; | ||
150 | compatible = "gianfar"; | ||
151 | reg = <25000 1000>; | ||
152 | address = [ 00 00 00 00 00 00 ]; | ||
153 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
154 | interrupts = <23 8 24 8 25 8>; | ||
155 | interrupt-parent = <700>; | ||
156 | phy-handle = <245201f>; | ||
157 | }; | ||
158 | |||
159 | serial@4500 { | ||
160 | device_type = "serial"; | ||
161 | compatible = "ns16550"; | ||
162 | reg = <4500 100>; | ||
163 | clock-frequency = <0>; // from bootloader | ||
164 | interrupts = <9 8>; | ||
165 | interrupt-parent = <700>; | ||
166 | }; | ||
167 | |||
168 | serial@4600 { | ||
169 | device_type = "serial"; | ||
170 | compatible = "ns16550"; | ||
171 | reg = <4600 100>; | ||
172 | clock-frequency = <0>; // from bootloader | ||
173 | interrupts = <a 8>; | ||
174 | interrupt-parent = <700>; | ||
175 | }; | ||
176 | |||
177 | pci@8500 { | ||
178 | interrupt-map-mask = <f800 0 0 7>; | ||
179 | interrupt-map = < | ||
180 | /* IDSEL 0x10 - SATA */ | ||
181 | 8000 0 0 1 700 16 8 /* SATA_INTA */ | ||
182 | >; | ||
183 | interrupt-parent = <700>; | ||
184 | interrupts = <42 8>; | ||
185 | bus-range = <0 0>; | ||
186 | ranges = <42000000 0 80000000 80000000 0 10000000 | ||
187 | 02000000 0 90000000 90000000 0 10000000 | ||
188 | 01000000 0 00000000 e2000000 0 01000000>; | ||
189 | clock-frequency = <3f940aa>; | ||
190 | #interrupt-cells = <1>; | ||
191 | #size-cells = <2>; | ||
192 | #address-cells = <3>; | ||
193 | reg = <8500 100>; | ||
194 | compatible = "83xx"; | ||
195 | device_type = "pci"; | ||
196 | }; | ||
197 | |||
198 | pci@8600 { | ||
199 | interrupt-map-mask = <f800 0 0 7>; | ||
200 | interrupt-map = < | ||
201 | /* IDSEL 0x0E - MiniPCI Slot */ | ||
202 | 7000 0 0 1 700 15 8 /* PCI_INTA */ | ||
203 | |||
204 | /* IDSEL 0x0F - PCI Slot */ | ||
205 | 7800 0 0 1 700 14 8 /* PCI_INTA */ | ||
206 | 7800 0 0 2 700 15 8 /* PCI_INTB */ | ||
207 | >; | ||
208 | interrupt-parent = <700>; | ||
209 | interrupts = <43 8>; | ||
210 | bus-range = <1 1>; | ||
211 | ranges = <42000000 0 a0000000 a0000000 0 10000000 | ||
212 | 02000000 0 b0000000 b0000000 0 10000000 | ||
213 | 01000000 0 00000000 e3000000 0 01000000>; | ||
214 | clock-frequency = <3f940aa>; | ||
215 | #interrupt-cells = <1>; | ||
216 | #size-cells = <2>; | ||
217 | #address-cells = <3>; | ||
218 | reg = <8600 100>; | ||
219 | compatible = "83xx"; | ||
220 | device_type = "pci"; | ||
221 | }; | ||
222 | |||
223 | crypto@30000 { | ||
224 | device_type = "crypto"; | ||
225 | model = "SEC2"; | ||
226 | compatible = "talitos"; | ||
227 | reg = <30000 10000>; | ||
228 | interrupts = <b 8>; | ||
229 | interrupt-parent = <700>; | ||
230 | num-channels = <4>; | ||
231 | channel-fifo-len = <18>; | ||
232 | exec-units-mask = <0000007e>; | ||
233 | descriptor-types-mask = <01010ebf>; | ||
234 | }; | ||
235 | |||
236 | pic@700 { | ||
237 | linux,phandle = <700>; | ||
238 | interrupt-controller; | ||
239 | #address-cells = <0>; | ||
240 | #interrupt-cells = <2>; | ||
241 | reg = <700 100>; | ||
242 | built-in; | ||
243 | device_type = "ipic"; | ||
244 | }; | ||
245 | }; | ||
246 | }; | ||
diff --git a/arch/powerpc/boot/of.c b/arch/powerpc/boot/of.c index fd99f789a37b..3a71845afc6c 100644 --- a/arch/powerpc/boot/of.c +++ b/arch/powerpc/boot/of.c | |||
@@ -176,12 +176,9 @@ static void *claim(unsigned long virt, unsigned long size, unsigned long align) | |||
176 | static void *of_try_claim(u32 size) | 176 | static void *of_try_claim(u32 size) |
177 | { | 177 | { |
178 | unsigned long addr = 0; | 178 | unsigned long addr = 0; |
179 | static u8 first_time = 1; | ||
180 | 179 | ||
181 | if (first_time) { | 180 | if (claim_base == 0) |
182 | claim_base = _ALIGN_UP((unsigned long)_end, ONE_MB); | 181 | claim_base = _ALIGN_UP((unsigned long)_end, ONE_MB); |
183 | first_time = 0; | ||
184 | } | ||
185 | 182 | ||
186 | for(; claim_base < RAM_END; claim_base += ONE_MB) { | 183 | for(; claim_base < RAM_END; claim_base += ONE_MB) { |
187 | #ifdef DEBUG | 184 | #ifdef DEBUG |
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig index d58f82f836f8..b5005506c2f8 100644 --- a/arch/powerpc/configs/iseries_defconfig +++ b/arch/powerpc/configs/iseries_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.18-rc6 | 3 | # Linux kernel version: 2.6.19-rc1 |
4 | # Sun Sep 10 10:22:57 2006 | 4 | # Fri Oct 6 13:25:04 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -22,6 +22,7 @@ CONFIG_ARCH_MAY_HAVE_PC_FDC=y | |||
22 | CONFIG_PPC_OF=y | 22 | CONFIG_PPC_OF=y |
23 | # CONFIG_PPC_UDBG_16550 is not set | 23 | # CONFIG_PPC_UDBG_16550 is not set |
24 | # CONFIG_GENERIC_TBSYNC is not set | 24 | # CONFIG_GENERIC_TBSYNC is not set |
25 | CONFIG_AUDIT_ARCH=y | ||
25 | # CONFIG_DEFAULT_UIMAGE is not set | 26 | # CONFIG_DEFAULT_UIMAGE is not set |
26 | 27 | ||
27 | # | 28 | # |
@@ -52,10 +53,11 @@ CONFIG_LOCALVERSION="" | |||
52 | CONFIG_LOCALVERSION_AUTO=y | 53 | CONFIG_LOCALVERSION_AUTO=y |
53 | CONFIG_SWAP=y | 54 | CONFIG_SWAP=y |
54 | CONFIG_SYSVIPC=y | 55 | CONFIG_SYSVIPC=y |
56 | # CONFIG_IPC_NS is not set | ||
55 | CONFIG_POSIX_MQUEUE=y | 57 | CONFIG_POSIX_MQUEUE=y |
56 | # CONFIG_BSD_PROCESS_ACCT is not set | 58 | # CONFIG_BSD_PROCESS_ACCT is not set |
57 | # CONFIG_TASKSTATS is not set | 59 | # CONFIG_TASKSTATS is not set |
58 | CONFIG_SYSCTL=y | 60 | # CONFIG_UTS_NS is not set |
59 | CONFIG_AUDIT=y | 61 | CONFIG_AUDIT=y |
60 | CONFIG_AUDITSYSCALL=y | 62 | CONFIG_AUDITSYSCALL=y |
61 | CONFIG_IKCONFIG=y | 63 | CONFIG_IKCONFIG=y |
@@ -64,7 +66,9 @@ CONFIG_IKCONFIG_PROC=y | |||
64 | # CONFIG_RELAY is not set | 66 | # CONFIG_RELAY is not set |
65 | CONFIG_INITRAMFS_SOURCE="" | 67 | CONFIG_INITRAMFS_SOURCE="" |
66 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 68 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
69 | CONFIG_SYSCTL=y | ||
67 | # CONFIG_EMBEDDED is not set | 70 | # CONFIG_EMBEDDED is not set |
71 | # CONFIG_SYSCTL_SYSCALL is not set | ||
68 | CONFIG_KALLSYMS=y | 72 | CONFIG_KALLSYMS=y |
69 | # CONFIG_KALLSYMS_ALL is not set | 73 | # CONFIG_KALLSYMS_ALL is not set |
70 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 74 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
@@ -73,12 +77,12 @@ CONFIG_PRINTK=y | |||
73 | CONFIG_BUG=y | 77 | CONFIG_BUG=y |
74 | CONFIG_ELF_CORE=y | 78 | CONFIG_ELF_CORE=y |
75 | CONFIG_BASE_FULL=y | 79 | CONFIG_BASE_FULL=y |
76 | CONFIG_RT_MUTEXES=y | ||
77 | CONFIG_FUTEX=y | 80 | CONFIG_FUTEX=y |
78 | CONFIG_EPOLL=y | 81 | CONFIG_EPOLL=y |
79 | CONFIG_SHMEM=y | 82 | CONFIG_SHMEM=y |
80 | CONFIG_SLAB=y | 83 | CONFIG_SLAB=y |
81 | CONFIG_VM_EVENT_COUNTERS=y | 84 | CONFIG_VM_EVENT_COUNTERS=y |
85 | CONFIG_RT_MUTEXES=y | ||
82 | # CONFIG_TINY_SHMEM is not set | 86 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 87 | CONFIG_BASE_SMALL=0 |
84 | # CONFIG_SLOB is not set | 88 | # CONFIG_SLOB is not set |
@@ -97,6 +101,7 @@ CONFIG_STOP_MACHINE=y | |||
97 | # | 101 | # |
98 | # Block layer | 102 | # Block layer |
99 | # | 103 | # |
104 | CONFIG_BLOCK=y | ||
100 | # CONFIG_BLK_DEV_IO_TRACE is not set | 105 | # CONFIG_BLK_DEV_IO_TRACE is not set |
101 | 106 | ||
102 | # | 107 | # |
@@ -115,13 +120,18 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
115 | # | 120 | # |
116 | # Platform support | 121 | # Platform support |
117 | # | 122 | # |
118 | # CONFIG_PPC_MULTIPLATFORM is not set | 123 | CONFIG_PPC_MULTIPLATFORM=y |
119 | CONFIG_PPC_ISERIES=y | ||
120 | # CONFIG_EMBEDDED6xx is not set | 124 | # CONFIG_EMBEDDED6xx is not set |
121 | # CONFIG_APUS is not set | 125 | # CONFIG_APUS is not set |
126 | # CONFIG_PPC_PSERIES is not set | ||
127 | CONFIG_PPC_ISERIES=y | ||
128 | # CONFIG_PPC_PMAC is not set | ||
129 | # CONFIG_PPC_MAPLE is not set | ||
130 | # CONFIG_PPC_PASEMI is not set | ||
122 | # CONFIG_PPC_CELL is not set | 131 | # CONFIG_PPC_CELL is not set |
123 | # CONFIG_PPC_CELL_NATIVE is not set | 132 | # CONFIG_PPC_CELL_NATIVE is not set |
124 | # CONFIG_UDBG_RTAS_CONSOLE is not set | 133 | # CONFIG_PPC_IBM_CELL_BLADE is not set |
134 | # CONFIG_U3_DART is not set | ||
125 | # CONFIG_PPC_RTAS is not set | 135 | # CONFIG_PPC_RTAS is not set |
126 | # CONFIG_MMIO_NVRAM is not set | 136 | # CONFIG_MMIO_NVRAM is not set |
127 | CONFIG_IBMVIO=y | 137 | CONFIG_IBMVIO=y |
@@ -147,12 +157,15 @@ CONFIG_BINFMT_ELF=y | |||
147 | CONFIG_FORCE_MAX_ZONEORDER=13 | 157 | CONFIG_FORCE_MAX_ZONEORDER=13 |
148 | CONFIG_IOMMU_VMERGE=y | 158 | CONFIG_IOMMU_VMERGE=y |
149 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | 159 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y |
160 | # CONFIG_KEXEC is not set | ||
161 | # CONFIG_CRASH_DUMP is not set | ||
150 | CONFIG_IRQ_ALL_CPUS=y | 162 | CONFIG_IRQ_ALL_CPUS=y |
151 | CONFIG_LPARCFG=y | 163 | CONFIG_LPARCFG=y |
152 | # CONFIG_NUMA is not set | 164 | # CONFIG_NUMA is not set |
153 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | 165 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y |
154 | CONFIG_ARCH_FLATMEM_ENABLE=y | 166 | CONFIG_ARCH_FLATMEM_ENABLE=y |
155 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 167 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
168 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
156 | CONFIG_SELECT_MEMORY_MODEL=y | 169 | CONFIG_SELECT_MEMORY_MODEL=y |
157 | CONFIG_FLATMEM_MANUAL=y | 170 | CONFIG_FLATMEM_MANUAL=y |
158 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 171 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
@@ -179,6 +192,7 @@ CONFIG_GENERIC_ISA_DMA=y | |||
179 | CONFIG_PCI=y | 192 | CONFIG_PCI=y |
180 | CONFIG_PCI_DOMAINS=y | 193 | CONFIG_PCI_DOMAINS=y |
181 | # CONFIG_PCIEPORTBUS is not set | 194 | # CONFIG_PCIEPORTBUS is not set |
195 | # CONFIG_PCI_MULTITHREAD_PROBE is not set | ||
182 | # CONFIG_PCI_DEBUG is not set | 196 | # CONFIG_PCI_DEBUG is not set |
183 | 197 | ||
184 | # | 198 | # |
@@ -206,6 +220,7 @@ CONFIG_PACKET=y | |||
206 | CONFIG_UNIX=y | 220 | CONFIG_UNIX=y |
207 | CONFIG_XFRM=y | 221 | CONFIG_XFRM=y |
208 | CONFIG_XFRM_USER=m | 222 | CONFIG_XFRM_USER=m |
223 | CONFIG_XFRM_SUB_POLICY=y | ||
209 | CONFIG_NET_KEY=m | 224 | CONFIG_NET_KEY=m |
210 | CONFIG_INET=y | 225 | CONFIG_INET=y |
211 | CONFIG_IP_MULTICAST=y | 226 | CONFIG_IP_MULTICAST=y |
@@ -224,10 +239,12 @@ CONFIG_INET_XFRM_TUNNEL=m | |||
224 | CONFIG_INET_TUNNEL=y | 239 | CONFIG_INET_TUNNEL=y |
225 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 240 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
226 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 241 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
242 | CONFIG_INET_XFRM_MODE_BEET=m | ||
227 | CONFIG_INET_DIAG=y | 243 | CONFIG_INET_DIAG=y |
228 | CONFIG_INET_TCP_DIAG=y | 244 | CONFIG_INET_TCP_DIAG=y |
229 | # CONFIG_TCP_CONG_ADVANCED is not set | 245 | # CONFIG_TCP_CONG_ADVANCED is not set |
230 | CONFIG_TCP_CONG_BIC=y | 246 | CONFIG_TCP_CONG_CUBIC=y |
247 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
231 | 248 | ||
232 | # | 249 | # |
233 | # IP: Virtual Server Configuration | 250 | # IP: Virtual Server Configuration |
@@ -247,6 +264,7 @@ CONFIG_NETFILTER=y | |||
247 | CONFIG_NETFILTER_XTABLES=m | 264 | CONFIG_NETFILTER_XTABLES=m |
248 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 265 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
249 | CONFIG_NETFILTER_XT_TARGET_CONNMARK=m | 266 | CONFIG_NETFILTER_XT_TARGET_CONNMARK=m |
267 | CONFIG_NETFILTER_XT_TARGET_DSCP=m | ||
250 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 268 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
251 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 269 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
252 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | 270 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m |
@@ -255,6 +273,7 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | |||
255 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 273 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
256 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 274 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
257 | # CONFIG_NETFILTER_XT_MATCH_DCCP is not set | 275 | # CONFIG_NETFILTER_XT_MATCH_DCCP is not set |
276 | CONFIG_NETFILTER_XT_MATCH_DSCP=m | ||
258 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set | 277 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set |
259 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 278 | CONFIG_NETFILTER_XT_MATCH_HELPER=m |
260 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 279 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
@@ -294,7 +313,6 @@ CONFIG_IP_NF_MATCH_IPRANGE=m | |||
294 | CONFIG_IP_NF_MATCH_TOS=m | 313 | CONFIG_IP_NF_MATCH_TOS=m |
295 | CONFIG_IP_NF_MATCH_RECENT=m | 314 | CONFIG_IP_NF_MATCH_RECENT=m |
296 | CONFIG_IP_NF_MATCH_ECN=m | 315 | CONFIG_IP_NF_MATCH_ECN=m |
297 | CONFIG_IP_NF_MATCH_DSCP=m | ||
298 | # CONFIG_IP_NF_MATCH_AH is not set | 316 | # CONFIG_IP_NF_MATCH_AH is not set |
299 | CONFIG_IP_NF_MATCH_TTL=m | 317 | CONFIG_IP_NF_MATCH_TTL=m |
300 | CONFIG_IP_NF_MATCH_OWNER=m | 318 | CONFIG_IP_NF_MATCH_OWNER=m |
@@ -319,7 +337,6 @@ CONFIG_IP_NF_NAT_AMANDA=m | |||
319 | CONFIG_IP_NF_MANGLE=m | 337 | CONFIG_IP_NF_MANGLE=m |
320 | CONFIG_IP_NF_TARGET_TOS=m | 338 | CONFIG_IP_NF_TARGET_TOS=m |
321 | CONFIG_IP_NF_TARGET_ECN=m | 339 | CONFIG_IP_NF_TARGET_ECN=m |
322 | CONFIG_IP_NF_TARGET_DSCP=m | ||
323 | CONFIG_IP_NF_TARGET_TTL=m | 340 | CONFIG_IP_NF_TARGET_TTL=m |
324 | CONFIG_IP_NF_TARGET_CLUSTERIP=m | 341 | CONFIG_IP_NF_TARGET_CLUSTERIP=m |
325 | CONFIG_IP_NF_RAW=m | 342 | CONFIG_IP_NF_RAW=m |
@@ -351,7 +368,6 @@ CONFIG_LLC=y | |||
351 | # CONFIG_ATALK is not set | 368 | # CONFIG_ATALK is not set |
352 | # CONFIG_X25 is not set | 369 | # CONFIG_X25 is not set |
353 | # CONFIG_LAPB is not set | 370 | # CONFIG_LAPB is not set |
354 | # CONFIG_NET_DIVERT is not set | ||
355 | # CONFIG_ECONET is not set | 371 | # CONFIG_ECONET is not set |
356 | # CONFIG_WAN_ROUTER is not set | 372 | # CONFIG_WAN_ROUTER is not set |
357 | 373 | ||
@@ -433,6 +449,7 @@ CONFIG_BLK_DEV_INITRD=y | |||
433 | # | 449 | # |
434 | # CONFIG_RAID_ATTRS is not set | 450 | # CONFIG_RAID_ATTRS is not set |
435 | CONFIG_SCSI=y | 451 | CONFIG_SCSI=y |
452 | CONFIG_SCSI_NETLINK=y | ||
436 | CONFIG_SCSI_PROC_FS=y | 453 | CONFIG_SCSI_PROC_FS=y |
437 | 454 | ||
438 | # | 455 | # |
@@ -454,12 +471,14 @@ CONFIG_SCSI_CONSTANTS=y | |||
454 | # CONFIG_SCSI_LOGGING is not set | 471 | # CONFIG_SCSI_LOGGING is not set |
455 | 472 | ||
456 | # | 473 | # |
457 | # SCSI Transport Attributes | 474 | # SCSI Transports |
458 | # | 475 | # |
459 | CONFIG_SCSI_SPI_ATTRS=y | 476 | CONFIG_SCSI_SPI_ATTRS=y |
460 | CONFIG_SCSI_FC_ATTRS=y | 477 | CONFIG_SCSI_FC_ATTRS=y |
461 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 478 | # CONFIG_SCSI_ISCSI_ATTRS is not set |
462 | # CONFIG_SCSI_SAS_ATTRS is not set | 479 | CONFIG_SCSI_SAS_ATTRS=m |
480 | CONFIG_SCSI_SAS_LIBSAS=m | ||
481 | CONFIG_SCSI_SAS_LIBSAS_DEBUG=y | ||
463 | 482 | ||
464 | # | 483 | # |
465 | # SCSI low-level drivers | 484 | # SCSI low-level drivers |
@@ -472,10 +491,11 @@ CONFIG_SCSI_FC_ATTRS=y | |||
472 | # CONFIG_SCSI_AIC7XXX is not set | 491 | # CONFIG_SCSI_AIC7XXX is not set |
473 | # CONFIG_SCSI_AIC7XXX_OLD is not set | 492 | # CONFIG_SCSI_AIC7XXX_OLD is not set |
474 | # CONFIG_SCSI_AIC79XX is not set | 493 | # CONFIG_SCSI_AIC79XX is not set |
494 | # CONFIG_SCSI_AIC94XX is not set | ||
495 | # CONFIG_SCSI_ARCMSR is not set | ||
475 | # CONFIG_MEGARAID_NEWGEN is not set | 496 | # CONFIG_MEGARAID_NEWGEN is not set |
476 | # CONFIG_MEGARAID_LEGACY is not set | 497 | # CONFIG_MEGARAID_LEGACY is not set |
477 | # CONFIG_MEGARAID_SAS is not set | 498 | # CONFIG_MEGARAID_SAS is not set |
478 | # CONFIG_ATA is not set | ||
479 | # CONFIG_SCSI_HPTIOP is not set | 499 | # CONFIG_SCSI_HPTIOP is not set |
480 | # CONFIG_SCSI_BUSLOGIC is not set | 500 | # CONFIG_SCSI_BUSLOGIC is not set |
481 | # CONFIG_SCSI_DMX3191D is not set | 501 | # CONFIG_SCSI_DMX3191D is not set |
@@ -486,16 +506,22 @@ CONFIG_SCSI_FC_ATTRS=y | |||
486 | CONFIG_SCSI_IBMVSCSI=m | 506 | CONFIG_SCSI_IBMVSCSI=m |
487 | # CONFIG_SCSI_INITIO is not set | 507 | # CONFIG_SCSI_INITIO is not set |
488 | # CONFIG_SCSI_INIA100 is not set | 508 | # CONFIG_SCSI_INIA100 is not set |
509 | # CONFIG_SCSI_STEX is not set | ||
489 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 510 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
490 | # CONFIG_SCSI_IPR is not set | ||
491 | # CONFIG_SCSI_QLOGIC_1280 is not set | 511 | # CONFIG_SCSI_QLOGIC_1280 is not set |
492 | # CONFIG_SCSI_QLA_FC is not set | 512 | # CONFIG_SCSI_QLA_FC is not set |
513 | # CONFIG_SCSI_QLA_ISCSI is not set | ||
493 | # CONFIG_SCSI_LPFC is not set | 514 | # CONFIG_SCSI_LPFC is not set |
494 | # CONFIG_SCSI_DC395x is not set | 515 | # CONFIG_SCSI_DC395x is not set |
495 | # CONFIG_SCSI_DC390T is not set | 516 | # CONFIG_SCSI_DC390T is not set |
496 | # CONFIG_SCSI_DEBUG is not set | 517 | # CONFIG_SCSI_DEBUG is not set |
497 | 518 | ||
498 | # | 519 | # |
520 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
521 | # | ||
522 | # CONFIG_ATA is not set | ||
523 | |||
524 | # | ||
499 | # Multi-device support (RAID and LVM) | 525 | # Multi-device support (RAID and LVM) |
500 | # | 526 | # |
501 | CONFIG_MD=y | 527 | CONFIG_MD=y |
@@ -508,6 +534,7 @@ CONFIG_MD_RAID10=m | |||
508 | CONFIG_MD_MULTIPATH=m | 534 | CONFIG_MD_MULTIPATH=m |
509 | CONFIG_MD_FAULTY=m | 535 | CONFIG_MD_FAULTY=m |
510 | CONFIG_BLK_DEV_DM=y | 536 | CONFIG_BLK_DEV_DM=y |
537 | # CONFIG_DM_DEBUG is not set | ||
511 | CONFIG_DM_CRYPT=m | 538 | CONFIG_DM_CRYPT=m |
512 | CONFIG_DM_SNAPSHOT=m | 539 | CONFIG_DM_SNAPSHOT=m |
513 | CONFIG_DM_MIRROR=m | 540 | CONFIG_DM_MIRROR=m |
@@ -573,6 +600,7 @@ CONFIG_MII=y | |||
573 | # CONFIG_HP100 is not set | 600 | # CONFIG_HP100 is not set |
574 | CONFIG_NET_PCI=y | 601 | CONFIG_NET_PCI=y |
575 | CONFIG_PCNET32=y | 602 | CONFIG_PCNET32=y |
603 | CONFIG_PCNET32_NAPI=y | ||
576 | # CONFIG_AMD8111_ETH is not set | 604 | # CONFIG_AMD8111_ETH is not set |
577 | # CONFIG_ADAPTEC_STARFIRE is not set | 605 | # CONFIG_ADAPTEC_STARFIRE is not set |
578 | # CONFIG_B44 is not set | 606 | # CONFIG_B44 is not set |
@@ -610,6 +638,7 @@ CONFIG_E1000=m | |||
610 | # CONFIG_VIA_VELOCITY is not set | 638 | # CONFIG_VIA_VELOCITY is not set |
611 | # CONFIG_TIGON3 is not set | 639 | # CONFIG_TIGON3 is not set |
612 | # CONFIG_BNX2 is not set | 640 | # CONFIG_BNX2 is not set |
641 | # CONFIG_QLA3XXX is not set | ||
613 | 642 | ||
614 | # | 643 | # |
615 | # Ethernet (10000 Mbit) | 644 | # Ethernet (10000 Mbit) |
@@ -649,6 +678,7 @@ CONFIG_PPP_BSDCOMP=m | |||
649 | # CONFIG_PPP_MPPE is not set | 678 | # CONFIG_PPP_MPPE is not set |
650 | CONFIG_PPPOE=m | 679 | CONFIG_PPPOE=m |
651 | # CONFIG_SLIP is not set | 680 | # CONFIG_SLIP is not set |
681 | CONFIG_SLHC=m | ||
652 | # CONFIG_NET_FC is not set | 682 | # CONFIG_NET_FC is not set |
653 | # CONFIG_SHAPER is not set | 683 | # CONFIG_SHAPER is not set |
654 | CONFIG_NETCONSOLE=y | 684 | CONFIG_NETCONSOLE=y |
@@ -671,6 +701,7 @@ CONFIG_NET_POLL_CONTROLLER=y | |||
671 | # Input device support | 701 | # Input device support |
672 | # | 702 | # |
673 | CONFIG_INPUT=y | 703 | CONFIG_INPUT=y |
704 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
674 | 705 | ||
675 | # | 706 | # |
676 | # Userland interfaces | 707 | # Userland interfaces |
@@ -774,12 +805,12 @@ CONFIG_MAX_RAW_DEVS=256 | |||
774 | # | 805 | # |
775 | # Misc devices | 806 | # Misc devices |
776 | # | 807 | # |
808 | # CONFIG_TIFM_CORE is not set | ||
777 | 809 | ||
778 | # | 810 | # |
779 | # Multimedia devices | 811 | # Multimedia devices |
780 | # | 812 | # |
781 | # CONFIG_VIDEO_DEV is not set | 813 | # CONFIG_VIDEO_DEV is not set |
782 | CONFIG_VIDEO_V4L2=y | ||
783 | 814 | ||
784 | # | 815 | # |
785 | # Digital Video Broadcasting Devices | 816 | # Digital Video Broadcasting Devices |
@@ -893,6 +924,9 @@ CONFIG_XFS_FS=m | |||
893 | CONFIG_XFS_SECURITY=y | 924 | CONFIG_XFS_SECURITY=y |
894 | CONFIG_XFS_POSIX_ACL=y | 925 | CONFIG_XFS_POSIX_ACL=y |
895 | # CONFIG_XFS_RT is not set | 926 | # CONFIG_XFS_RT is not set |
927 | CONFIG_GFS2_FS=m | ||
928 | CONFIG_GFS2_FS_LOCKING_NOLOCK=m | ||
929 | CONFIG_GFS2_FS_LOCKING_DLM=m | ||
896 | # CONFIG_OCFS2_FS is not set | 930 | # CONFIG_OCFS2_FS is not set |
897 | # CONFIG_MINIX_FS is not set | 931 | # CONFIG_MINIX_FS is not set |
898 | # CONFIG_ROMFS_FS is not set | 932 | # CONFIG_ROMFS_FS is not set |
@@ -929,12 +963,14 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
929 | # | 963 | # |
930 | CONFIG_PROC_FS=y | 964 | CONFIG_PROC_FS=y |
931 | CONFIG_PROC_KCORE=y | 965 | CONFIG_PROC_KCORE=y |
966 | CONFIG_PROC_SYSCTL=y | ||
932 | CONFIG_SYSFS=y | 967 | CONFIG_SYSFS=y |
933 | CONFIG_TMPFS=y | 968 | CONFIG_TMPFS=y |
969 | CONFIG_TMPFS_POSIX_ACL=y | ||
934 | # CONFIG_HUGETLBFS is not set | 970 | # CONFIG_HUGETLBFS is not set |
935 | # CONFIG_HUGETLB_PAGE is not set | 971 | # CONFIG_HUGETLB_PAGE is not set |
936 | CONFIG_RAMFS=y | 972 | CONFIG_RAMFS=y |
937 | # CONFIG_CONFIGFS_FS is not set | 973 | CONFIG_CONFIGFS_FS=m |
938 | 974 | ||
939 | # | 975 | # |
940 | # Miscellaneous filesystems | 976 | # Miscellaneous filesystems |
@@ -988,6 +1024,7 @@ CONFIG_CIFS_POSIX=y | |||
988 | # CONFIG_CODA_FS is not set | 1024 | # CONFIG_CODA_FS is not set |
989 | # CONFIG_AFS_FS is not set | 1025 | # CONFIG_AFS_FS is not set |
990 | # CONFIG_9P_FS is not set | 1026 | # CONFIG_9P_FS is not set |
1027 | CONFIG_GENERIC_ACL=y | ||
991 | 1028 | ||
992 | # | 1029 | # |
993 | # Partition Types | 1030 | # Partition Types |
@@ -1040,6 +1077,12 @@ CONFIG_NLS_ISO8859_1=y | |||
1040 | # CONFIG_NLS_UTF8 is not set | 1077 | # CONFIG_NLS_UTF8 is not set |
1041 | 1078 | ||
1042 | # | 1079 | # |
1080 | # Distributed Lock Manager | ||
1081 | # | ||
1082 | CONFIG_DLM=m | ||
1083 | # CONFIG_DLM_DEBUG is not set | ||
1084 | |||
1085 | # | ||
1043 | # iSeries device drivers | 1086 | # iSeries device drivers |
1044 | # | 1087 | # |
1045 | CONFIG_VIOCONS=y | 1088 | CONFIG_VIOCONS=y |
@@ -1073,6 +1116,7 @@ CONFIG_PLIST=y | |||
1073 | # Kernel hacking | 1116 | # Kernel hacking |
1074 | # | 1117 | # |
1075 | # CONFIG_PRINTK_TIME is not set | 1118 | # CONFIG_PRINTK_TIME is not set |
1119 | CONFIG_ENABLE_MUST_CHECK=y | ||
1076 | CONFIG_MAGIC_SYSRQ=y | 1120 | CONFIG_MAGIC_SYSRQ=y |
1077 | # CONFIG_UNUSED_SYMBOLS is not set | 1121 | # CONFIG_UNUSED_SYMBOLS is not set |
1078 | CONFIG_DEBUG_KERNEL=y | 1122 | CONFIG_DEBUG_KERNEL=y |
@@ -1091,6 +1135,7 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
1091 | # CONFIG_DEBUG_INFO is not set | 1135 | # CONFIG_DEBUG_INFO is not set |
1092 | CONFIG_DEBUG_FS=y | 1136 | CONFIG_DEBUG_FS=y |
1093 | # CONFIG_DEBUG_VM is not set | 1137 | # CONFIG_DEBUG_VM is not set |
1138 | # CONFIG_DEBUG_LIST is not set | ||
1094 | # CONFIG_FORCED_INLINING is not set | 1139 | # CONFIG_FORCED_INLINING is not set |
1095 | # CONFIG_RCU_TORTURE_TEST is not set | 1140 | # CONFIG_RCU_TORTURE_TEST is not set |
1096 | CONFIG_DEBUG_STACKOVERFLOW=y | 1141 | CONFIG_DEBUG_STACKOVERFLOW=y |
@@ -1109,6 +1154,10 @@ CONFIG_IRQSTACKS=y | |||
1109 | # Cryptographic options | 1154 | # Cryptographic options |
1110 | # | 1155 | # |
1111 | CONFIG_CRYPTO=y | 1156 | CONFIG_CRYPTO=y |
1157 | CONFIG_CRYPTO_ALGAPI=y | ||
1158 | CONFIG_CRYPTO_BLKCIPHER=m | ||
1159 | CONFIG_CRYPTO_HASH=y | ||
1160 | CONFIG_CRYPTO_MANAGER=m | ||
1112 | CONFIG_CRYPTO_HMAC=y | 1161 | CONFIG_CRYPTO_HMAC=y |
1113 | CONFIG_CRYPTO_NULL=m | 1162 | CONFIG_CRYPTO_NULL=m |
1114 | CONFIG_CRYPTO_MD4=m | 1163 | CONFIG_CRYPTO_MD4=m |
@@ -1118,9 +1167,12 @@ CONFIG_CRYPTO_SHA256=m | |||
1118 | CONFIG_CRYPTO_SHA512=m | 1167 | CONFIG_CRYPTO_SHA512=m |
1119 | CONFIG_CRYPTO_WP512=m | 1168 | CONFIG_CRYPTO_WP512=m |
1120 | CONFIG_CRYPTO_TGR192=m | 1169 | CONFIG_CRYPTO_TGR192=m |
1170 | CONFIG_CRYPTO_ECB=m | ||
1171 | CONFIG_CRYPTO_CBC=m | ||
1121 | CONFIG_CRYPTO_DES=y | 1172 | CONFIG_CRYPTO_DES=y |
1122 | CONFIG_CRYPTO_BLOWFISH=m | 1173 | CONFIG_CRYPTO_BLOWFISH=m |
1123 | CONFIG_CRYPTO_TWOFISH=m | 1174 | CONFIG_CRYPTO_TWOFISH=m |
1175 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
1124 | CONFIG_CRYPTO_SERPENT=m | 1176 | CONFIG_CRYPTO_SERPENT=m |
1125 | CONFIG_CRYPTO_AES=m | 1177 | CONFIG_CRYPTO_AES=m |
1126 | CONFIG_CRYPTO_CAST5=m | 1178 | CONFIG_CRYPTO_CAST5=m |
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig index 44175fb7adec..9828663652e9 100644 --- a/arch/powerpc/configs/pseries_defconfig +++ b/arch/powerpc/configs/pseries_defconfig | |||
@@ -506,7 +506,7 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
506 | # CONFIG_MEGARAID_NEWGEN is not set | 506 | # CONFIG_MEGARAID_NEWGEN is not set |
507 | # CONFIG_MEGARAID_LEGACY is not set | 507 | # CONFIG_MEGARAID_LEGACY is not set |
508 | # CONFIG_MEGARAID_SAS is not set | 508 | # CONFIG_MEGARAID_SAS is not set |
509 | # CONFIG_ATA is not set | 509 | CONFIG_ATA=y |
510 | # CONFIG_SCSI_HPTIOP is not set | 510 | # CONFIG_SCSI_HPTIOP is not set |
511 | # CONFIG_SCSI_BUSLOGIC is not set | 511 | # CONFIG_SCSI_BUSLOGIC is not set |
512 | # CONFIG_SCSI_DMX3191D is not set | 512 | # CONFIG_SCSI_DMX3191D is not set |
diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c index 124dbcba94a8..da9fe254eb94 100644 --- a/arch/powerpc/kernel/ibmebus.c +++ b/arch/powerpc/kernel/ibmebus.c | |||
@@ -319,7 +319,7 @@ EXPORT_SYMBOL(ibmebus_unregister_driver); | |||
319 | 319 | ||
320 | int ibmebus_request_irq(struct ibmebus_dev *dev, | 320 | int ibmebus_request_irq(struct ibmebus_dev *dev, |
321 | u32 ist, | 321 | u32 ist, |
322 | irqreturn_t (*handler)(int, void*, struct pt_regs *), | 322 | irqreturn_t (*handler)(int, void*), |
323 | unsigned long irq_flags, const char * devname, | 323 | unsigned long irq_flags, const char * devname, |
324 | void *dev_id) | 324 | void *dev_id) |
325 | { | 325 | { |
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index ba0694071728..f88a2a675d90 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c | |||
@@ -75,7 +75,7 @@ static unsigned long iommu_range_alloc(struct iommu_table *tbl, | |||
75 | /* This allocator was derived from x86_64's bit string search */ | 75 | /* This allocator was derived from x86_64's bit string search */ |
76 | 76 | ||
77 | /* Sanity check */ | 77 | /* Sanity check */ |
78 | if (unlikely(npages) == 0) { | 78 | if (unlikely(npages == 0)) { |
79 | if (printk_ratelimit()) | 79 | if (printk_ratelimit()) |
80 | WARN_ON(1); | 80 | WARN_ON(1); |
81 | return DMA_ERROR_CODE; | 81 | return DMA_ERROR_CODE; |
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index 5deaab3090b4..829ac18b566c 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c | |||
@@ -217,7 +217,7 @@ void do_IRQ(struct pt_regs *regs) | |||
217 | * The value -2 is for buggy hardware and means that this IRQ | 217 | * The value -2 is for buggy hardware and means that this IRQ |
218 | * has already been handled. -- Tom | 218 | * has already been handled. -- Tom |
219 | */ | 219 | */ |
220 | irq = ppc_md.get_irq(regs); | 220 | irq = ppc_md.get_irq(); |
221 | 221 | ||
222 | if (irq != NO_IRQ && irq != NO_IRQ_IGNORE) { | 222 | if (irq != NO_IRQ && irq != NO_IRQ_IGNORE) { |
223 | #ifdef CONFIG_IRQSTACKS | 223 | #ifdef CONFIG_IRQSTACKS |
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index eb913f80bfb1..865b9648d0d5 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -724,7 +724,7 @@ static int __init early_init_dt_scan_chosen(unsigned long node, | |||
724 | strlcpy(cmd_line, p, min((int)l, COMMAND_LINE_SIZE)); | 724 | strlcpy(cmd_line, p, min((int)l, COMMAND_LINE_SIZE)); |
725 | 725 | ||
726 | #ifdef CONFIG_CMDLINE | 726 | #ifdef CONFIG_CMDLINE |
727 | if (l == 0 || (l == 1 && (*p) == 0)) | 727 | if (p == NULL || l == 0 || (l == 1 && (*p) == 0)) |
728 | strlcpy(cmd_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE); | 728 | strlcpy(cmd_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE); |
729 | #endif /* CONFIG_CMDLINE */ | 729 | #endif /* CONFIG_CMDLINE */ |
730 | 730 | ||
diff --git a/arch/powerpc/kernel/prom_parse.c b/arch/powerpc/kernel/prom_parse.c index 603dff3ad62a..17fcb4842fe5 100644 --- a/arch/powerpc/kernel/prom_parse.c +++ b/arch/powerpc/kernel/prom_parse.c | |||
@@ -914,6 +914,17 @@ int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq) | |||
914 | u8 pin; | 914 | u8 pin; |
915 | int rc; | 915 | int rc; |
916 | 916 | ||
917 | /* We need to first check if the PCI device has a PCI interrupt at all | ||
918 | * since we have cases where the device-node might expose non-PCI | ||
919 | * interrupts, but the device has no PCI interrupt to it | ||
920 | */ | ||
921 | rc = pci_read_config_byte(pdev, PCI_INTERRUPT_PIN, &pin); | ||
922 | if (rc != 0) | ||
923 | return rc; | ||
924 | /* No pin, exit */ | ||
925 | if (pin == 0) | ||
926 | return -ENODEV; | ||
927 | |||
917 | /* Check if we have a device node, if yes, fallback to standard OF | 928 | /* Check if we have a device node, if yes, fallback to standard OF |
918 | * parsing | 929 | * parsing |
919 | */ | 930 | */ |
@@ -925,12 +936,6 @@ int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq) | |||
925 | * interrupt spec. we assume #interrupt-cells is 1, which is standard | 936 | * interrupt spec. we assume #interrupt-cells is 1, which is standard |
926 | * for PCI. If you do different, then don't use that routine. | 937 | * for PCI. If you do different, then don't use that routine. |
927 | */ | 938 | */ |
928 | rc = pci_read_config_byte(pdev, PCI_INTERRUPT_PIN, &pin); | ||
929 | if (rc != 0) | ||
930 | return rc; | ||
931 | /* No pin, exit */ | ||
932 | if (pin == 0) | ||
933 | return -ENODEV; | ||
934 | 939 | ||
935 | /* Now we walk up the PCI tree */ | 940 | /* Now we walk up the PCI tree */ |
936 | lspec = pin; | 941 | lspec = pin; |
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index d210d0a5006b..5b59bc18dfe7 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c | |||
@@ -706,7 +706,7 @@ void timer_interrupt(struct pt_regs * regs) | |||
706 | 706 | ||
707 | #ifdef CONFIG_PPC_ISERIES | 707 | #ifdef CONFIG_PPC_ISERIES |
708 | if (hvlpevent_is_pending()) | 708 | if (hvlpevent_is_pending()) |
709 | process_hvlpevents(regs); | 709 | process_hvlpevents(); |
710 | #endif | 710 | #endif |
711 | 711 | ||
712 | #ifdef CONFIG_PPC64 | 712 | #ifdef CONFIG_PPC64 |
diff --git a/arch/powerpc/platforms/82xx/mpc82xx_ads.c b/arch/powerpc/platforms/82xx/mpc82xx_ads.c index 4276f087f26e..0cea42a8053d 100644 --- a/arch/powerpc/platforms/82xx/mpc82xx_ads.c +++ b/arch/powerpc/platforms/82xx/mpc82xx_ads.c | |||
@@ -384,8 +384,7 @@ struct hw_interrupt_type m82xx_pci_ic = { | |||
384 | }; | 384 | }; |
385 | 385 | ||
386 | static void | 386 | static void |
387 | m82xx_pci_irq_demux(unsigned int irq, struct irq_desc *desc, | 387 | m82xx_pci_irq_demux(unsigned int irq, struct irq_desc *desc) |
388 | struct pt_regs *regs) | ||
389 | { | 388 | { |
390 | unsigned long stat, mask, pend; | 389 | unsigned long stat, mask, pend; |
391 | int bit; | 390 | int bit; |
@@ -398,7 +397,7 @@ m82xx_pci_irq_demux(unsigned int irq, struct irq_desc *desc, | |||
398 | break; | 397 | break; |
399 | for (bit = 0; pend != 0; ++bit, pend <<= 1) { | 398 | for (bit = 0; pend != 0; ++bit, pend <<= 1) { |
400 | if (pend & 0x80000000) | 399 | if (pend & 0x80000000) |
401 | __do_IRQ(pci_int_base + bit, regs); | 400 | __do_IRQ(pci_int_base + bit); |
402 | } | 401 | } |
403 | } | 402 | } |
404 | } | 403 | } |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ads.c b/arch/powerpc/platforms/85xx/mpc85xx_ads.c index 8af7126fc6b9..d3e669d69c73 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_ads.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_ads.c | |||
@@ -66,12 +66,11 @@ mpc85xx_pcibios_fixup(void) | |||
66 | 66 | ||
67 | #ifdef CONFIG_CPM2 | 67 | #ifdef CONFIG_CPM2 |
68 | 68 | ||
69 | static void cpm2_cascade(unsigned int irq, struct irq_desc *desc, | 69 | static void cpm2_cascade(unsigned int irq, struct irq_desc *desc) |
70 | struct pt_regs *regs) | ||
71 | { | 70 | { |
72 | int cascade_irq; | 71 | int cascade_irq; |
73 | 72 | ||
74 | while ((cascade_irq = cpm2_get_irq(regs)) >= 0) { | 73 | while ((cascade_irq = cpm2_get_irq()) >= 0) { |
75 | generic_handle_irq(cascade_irq); | 74 | generic_handle_irq(cascade_irq); |
76 | } | 75 | } |
77 | desc->chip->eoi(irq); | 76 | desc->chip->eoi(irq); |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_cds.c b/arch/powerpc/platforms/85xx/mpc85xx_cds.c index b92fc6976a47..953cd5dd3f54 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_cds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_cds.c | |||
@@ -132,10 +132,9 @@ mpc85xx_cds_pcibios_fixup(void) | |||
132 | 132 | ||
133 | #ifdef CONFIG_PPC_I8259 | 133 | #ifdef CONFIG_PPC_I8259 |
134 | #warning The i8259 PIC support is currently broken | 134 | #warning The i8259 PIC support is currently broken |
135 | static void mpc85xx_8259_cascade(unsigned int irq, struct | 135 | static void mpc85xx_8259_cascade(unsigned int irq, struct irq_desc *desc) |
136 | irq_desc *desc, struct pt_regs *regs) | ||
137 | { | 136 | { |
138 | unsigned int cascade_irq = i8259_irq(regs); | 137 | unsigned int cascade_irq = i8259_irq(); |
139 | 138 | ||
140 | if (cascade_irq != NO_IRQ) | 139 | if (cascade_irq != NO_IRQ) |
141 | generic_handle_irq(cascade_irq); | 140 | generic_handle_irq(cascade_irq); |
@@ -150,8 +149,10 @@ void __init mpc85xx_cds_pic_init(void) | |||
150 | struct mpic *mpic; | 149 | struct mpic *mpic; |
151 | struct resource r; | 150 | struct resource r; |
152 | struct device_node *np = NULL; | 151 | struct device_node *np = NULL; |
152 | #ifdef CONFIG_PPC_I8259 | ||
153 | struct device_node *cascade_node = NULL; | 153 | struct device_node *cascade_node = NULL; |
154 | int cascade_irq; | 154 | int cascade_irq; |
155 | #endif | ||
155 | 156 | ||
156 | np = of_find_node_by_type(np, "open-pic"); | 157 | np = of_find_node_by_type(np, "open-pic"); |
157 | 158 | ||
diff --git a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c index 8218703babde..1a1c226ad4d9 100644 --- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c +++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | |||
@@ -53,10 +53,9 @@ unsigned long pci_dram_offset = 0; | |||
53 | 53 | ||
54 | 54 | ||
55 | #ifdef CONFIG_PCI | 55 | #ifdef CONFIG_PCI |
56 | static void mpc86xx_8259_cascade(unsigned int irq, struct irq_desc *desc, | 56 | static void mpc86xx_8259_cascade(unsigned int irq, struct irq_desc *desc) |
57 | struct pt_regs *regs) | ||
58 | { | 57 | { |
59 | unsigned int cascade_irq = i8259_irq(regs); | 58 | unsigned int cascade_irq = i8259_irq(); |
60 | if (cascade_irq != NO_IRQ) | 59 | if (cascade_irq != NO_IRQ) |
61 | generic_handle_irq(cascade_irq); | 60 | generic_handle_irq(cascade_irq); |
62 | desc->chip->eoi(irq); | 61 | desc->chip->eoi(irq); |
diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c index f8768b096f02..a914c12b4060 100644 --- a/arch/powerpc/platforms/cell/interrupt.c +++ b/arch/powerpc/platforms/cell/interrupt.c | |||
@@ -98,8 +98,7 @@ static void iic_ioexc_eoi(unsigned int irq) | |||
98 | { | 98 | { |
99 | } | 99 | } |
100 | 100 | ||
101 | static void iic_ioexc_cascade(unsigned int irq, struct irq_desc *desc, | 101 | static void iic_ioexc_cascade(unsigned int irq, struct irq_desc *desc) |
102 | struct pt_regs *regs) | ||
103 | { | 102 | { |
104 | struct cbe_iic_regs __iomem *node_iic = (void __iomem *)desc->handler_data; | 103 | struct cbe_iic_regs __iomem *node_iic = (void __iomem *)desc->handler_data; |
105 | unsigned int base = (irq & 0xffffff00) | IIC_IRQ_TYPE_IOEXC; | 104 | unsigned int base = (irq & 0xffffff00) | IIC_IRQ_TYPE_IOEXC; |
@@ -140,7 +139,7 @@ static struct irq_chip iic_ioexc_chip = { | |||
140 | }; | 139 | }; |
141 | 140 | ||
142 | /* Get an IRQ number from the pending state register of the IIC */ | 141 | /* Get an IRQ number from the pending state register of the IIC */ |
143 | static unsigned int iic_get_irq(struct pt_regs *regs) | 142 | static unsigned int iic_get_irq(void) |
144 | { | 143 | { |
145 | struct cbe_iic_pending_bits pending; | 144 | struct cbe_iic_pending_bits pending; |
146 | struct iic *iic; | 145 | struct iic *iic; |
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c index ac5f12662dbb..ccfd0c4db874 100644 --- a/arch/powerpc/platforms/cell/spu_base.c +++ b/arch/powerpc/platforms/cell/spu_base.c | |||
@@ -147,7 +147,7 @@ static int __spu_trap_data_map(struct spu *spu, unsigned long ea, u64 dsisr) | |||
147 | } | 147 | } |
148 | 148 | ||
149 | static irqreturn_t | 149 | static irqreturn_t |
150 | spu_irq_class_0(int irq, void *data, struct pt_regs *regs) | 150 | spu_irq_class_0(int irq, void *data) |
151 | { | 151 | { |
152 | struct spu *spu; | 152 | struct spu *spu; |
153 | 153 | ||
@@ -186,7 +186,7 @@ spu_irq_class_0_bottom(struct spu *spu) | |||
186 | EXPORT_SYMBOL_GPL(spu_irq_class_0_bottom); | 186 | EXPORT_SYMBOL_GPL(spu_irq_class_0_bottom); |
187 | 187 | ||
188 | static irqreturn_t | 188 | static irqreturn_t |
189 | spu_irq_class_1(int irq, void *data, struct pt_regs *regs) | 189 | spu_irq_class_1(int irq, void *data) |
190 | { | 190 | { |
191 | struct spu *spu; | 191 | struct spu *spu; |
192 | unsigned long stat, mask, dar, dsisr; | 192 | unsigned long stat, mask, dar, dsisr; |
@@ -224,7 +224,7 @@ spu_irq_class_1(int irq, void *data, struct pt_regs *regs) | |||
224 | EXPORT_SYMBOL_GPL(spu_irq_class_1_bottom); | 224 | EXPORT_SYMBOL_GPL(spu_irq_class_1_bottom); |
225 | 225 | ||
226 | static irqreturn_t | 226 | static irqreturn_t |
227 | spu_irq_class_2(int irq, void *data, struct pt_regs *regs) | 227 | spu_irq_class_2(int irq, void *data) |
228 | { | 228 | { |
229 | struct spu *spu; | 229 | struct spu *spu; |
230 | unsigned long stat; | 230 | unsigned long stat; |
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c index 35cd7a5f6834..cae3d13229b9 100644 --- a/arch/powerpc/platforms/chrp/setup.c +++ b/arch/powerpc/platforms/chrp/setup.c | |||
@@ -70,7 +70,7 @@ unsigned long event_scan_interval; | |||
70 | * has to include <linux/interrupt.h> (to get irqreturn_t), which | 70 | * has to include <linux/interrupt.h> (to get irqreturn_t), which |
71 | * causes all sorts of problems. -- paulus | 71 | * causes all sorts of problems. -- paulus |
72 | */ | 72 | */ |
73 | extern irqreturn_t xmon_irq(int, void *, struct pt_regs *); | 73 | extern irqreturn_t xmon_irq(int, void *); |
74 | 74 | ||
75 | extern unsigned long loops_per_jiffy; | 75 | extern unsigned long loops_per_jiffy; |
76 | 76 | ||
@@ -335,10 +335,9 @@ chrp_event_scan(unsigned long unused) | |||
335 | jiffies + event_scan_interval); | 335 | jiffies + event_scan_interval); |
336 | } | 336 | } |
337 | 337 | ||
338 | static void chrp_8259_cascade(unsigned int irq, struct irq_desc *desc, | 338 | static void chrp_8259_cascade(unsigned int irq, struct irq_desc *desc) |
339 | struct pt_regs *regs) | ||
340 | { | 339 | { |
341 | unsigned int cascade_irq = i8259_irq(regs); | 340 | unsigned int cascade_irq = i8259_irq(); |
342 | if (cascade_irq != NO_IRQ) | 341 | if (cascade_irq != NO_IRQ) |
343 | generic_handle_irq(cascade_irq); | 342 | generic_handle_irq(cascade_irq); |
344 | desc->chip->eoi(irq); | 343 | desc->chip->eoi(irq); |
diff --git a/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c b/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c index cb6f084844f2..bdb475c65cba 100644 --- a/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c +++ b/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c | |||
@@ -61,8 +61,7 @@ pci_dram_offset = MPC7448_HPC2_PCI_MEM_OFFSET; | |||
61 | extern int tsi108_setup_pci(struct device_node *dev); | 61 | extern int tsi108_setup_pci(struct device_node *dev); |
62 | extern void _nmask_and_or_msr(unsigned long nmask, unsigned long or_val); | 62 | extern void _nmask_and_or_msr(unsigned long nmask, unsigned long or_val); |
63 | extern void tsi108_pci_int_init(void); | 63 | extern void tsi108_pci_int_init(void); |
64 | extern void tsi108_irq_cascade(unsigned int irq, struct irq_desc *desc, | 64 | extern void tsi108_irq_cascade(unsigned int irq, struct irq_desc *desc); |
65 | struct pt_regs *regs); | ||
66 | 65 | ||
67 | int mpc7448_hpc2_exclude_device(u_char bus, u_char devfn) | 66 | int mpc7448_hpc2_exclude_device(u_char bus, u_char devfn) |
68 | { | 67 | { |
@@ -200,7 +199,7 @@ static void __init mpc7448_hpc2_init_IRQ(void) | |||
200 | tsi_pic = of_find_node_by_type(NULL, "open-pic"); | 199 | tsi_pic = of_find_node_by_type(NULL, "open-pic"); |
201 | if (tsi_pic) { | 200 | if (tsi_pic) { |
202 | unsigned int size; | 201 | unsigned int size; |
203 | void *prop = get_property(tsi_pic, "reg", &size); | 202 | const void *prop = get_property(tsi_pic, "reg", &size); |
204 | mpic_paddr = of_translate_address(tsi_pic, prop); | 203 | mpic_paddr = of_translate_address(tsi_pic, prop); |
205 | } | 204 | } |
206 | 205 | ||
diff --git a/arch/powerpc/platforms/iseries/irq.c b/arch/powerpc/platforms/iseries/irq.c index e32446877e78..5225abfafd9b 100644 --- a/arch/powerpc/platforms/iseries/irq.c +++ b/arch/powerpc/platforms/iseries/irq.c | |||
@@ -43,10 +43,7 @@ | |||
43 | #include "irq.h" | 43 | #include "irq.h" |
44 | #include "pci.h" | 44 | #include "pci.h" |
45 | #include "call_pci.h" | 45 | #include "call_pci.h" |
46 | 46 | #include "smp.h" | |
47 | #if defined(CONFIG_SMP) | ||
48 | extern void iSeries_smp_message_recv(struct pt_regs *); | ||
49 | #endif | ||
50 | 47 | ||
51 | #ifdef CONFIG_PCI | 48 | #ifdef CONFIG_PCI |
52 | 49 | ||
@@ -88,7 +85,7 @@ static DEFINE_SPINLOCK(pending_irqs_lock); | |||
88 | static int num_pending_irqs; | 85 | static int num_pending_irqs; |
89 | static int pending_irqs[NR_IRQS]; | 86 | static int pending_irqs[NR_IRQS]; |
90 | 87 | ||
91 | static void int_received(struct pci_event *event, struct pt_regs *regs) | 88 | static void int_received(struct pci_event *event) |
92 | { | 89 | { |
93 | int irq; | 90 | int irq; |
94 | 91 | ||
@@ -146,11 +143,11 @@ static void int_received(struct pci_event *event, struct pt_regs *regs) | |||
146 | } | 143 | } |
147 | } | 144 | } |
148 | 145 | ||
149 | static void pci_event_handler(struct HvLpEvent *event, struct pt_regs *regs) | 146 | static void pci_event_handler(struct HvLpEvent *event) |
150 | { | 147 | { |
151 | if (event && (event->xType == HvLpEvent_Type_PciIo)) { | 148 | if (event && (event->xType == HvLpEvent_Type_PciIo)) { |
152 | if (hvlpevent_is_int(event)) | 149 | if (hvlpevent_is_int(event)) |
153 | int_received((struct pci_event *)event, regs); | 150 | int_received((struct pci_event *)event); |
154 | else | 151 | else |
155 | printk(KERN_ERR | 152 | printk(KERN_ERR |
156 | "pci_event_handler: unexpected ack received\n"); | 153 | "pci_event_handler: unexpected ack received\n"); |
@@ -308,18 +305,18 @@ int __init iSeries_allocate_IRQ(HvBusNumber bus, | |||
308 | /* | 305 | /* |
309 | * Get the next pending IRQ. | 306 | * Get the next pending IRQ. |
310 | */ | 307 | */ |
311 | unsigned int iSeries_get_irq(struct pt_regs *regs) | 308 | unsigned int iSeries_get_irq(void) |
312 | { | 309 | { |
313 | int irq = NO_IRQ_IGNORE; | 310 | int irq = NO_IRQ_IGNORE; |
314 | 311 | ||
315 | #ifdef CONFIG_SMP | 312 | #ifdef CONFIG_SMP |
316 | if (get_lppaca()->int_dword.fields.ipi_cnt) { | 313 | if (get_lppaca()->int_dword.fields.ipi_cnt) { |
317 | get_lppaca()->int_dword.fields.ipi_cnt = 0; | 314 | get_lppaca()->int_dword.fields.ipi_cnt = 0; |
318 | iSeries_smp_message_recv(regs); | 315 | iSeries_smp_message_recv(); |
319 | } | 316 | } |
320 | #endif /* CONFIG_SMP */ | 317 | #endif /* CONFIG_SMP */ |
321 | if (hvlpevent_is_pending()) | 318 | if (hvlpevent_is_pending()) |
322 | process_hvlpevents(regs); | 319 | process_hvlpevents(); |
323 | 320 | ||
324 | #ifdef CONFIG_PCI | 321 | #ifdef CONFIG_PCI |
325 | if (num_pending_irqs) { | 322 | if (num_pending_irqs) { |
diff --git a/arch/powerpc/platforms/iseries/irq.h b/arch/powerpc/platforms/iseries/irq.h index 1ee8985140e5..69f1b437fc7b 100644 --- a/arch/powerpc/platforms/iseries/irq.h +++ b/arch/powerpc/platforms/iseries/irq.h | |||
@@ -4,6 +4,6 @@ | |||
4 | extern void iSeries_init_IRQ(void); | 4 | extern void iSeries_init_IRQ(void); |
5 | extern int iSeries_allocate_IRQ(HvBusNumber, HvSubBusNumber, u32); | 5 | extern int iSeries_allocate_IRQ(HvBusNumber, HvSubBusNumber, u32); |
6 | extern void iSeries_activate_IRQs(void); | 6 | extern void iSeries_activate_IRQs(void); |
7 | extern unsigned int iSeries_get_irq(struct pt_regs *); | 7 | extern unsigned int iSeries_get_irq(void); |
8 | 8 | ||
9 | #endif /* _ISERIES_IRQ_H */ | 9 | #endif /* _ISERIES_IRQ_H */ |
diff --git a/arch/powerpc/platforms/iseries/lpevents.c b/arch/powerpc/platforms/iseries/lpevents.c index 98c1c2440aad..e3e929e1b460 100644 --- a/arch/powerpc/platforms/iseries/lpevents.c +++ b/arch/powerpc/platforms/iseries/lpevents.c | |||
@@ -116,7 +116,7 @@ static void hvlpevent_clear_valid(struct HvLpEvent * event) | |||
116 | hvlpevent_invalidate(event); | 116 | hvlpevent_invalidate(event); |
117 | } | 117 | } |
118 | 118 | ||
119 | void process_hvlpevents(struct pt_regs *regs) | 119 | void process_hvlpevents(void) |
120 | { | 120 | { |
121 | struct HvLpEvent * event; | 121 | struct HvLpEvent * event; |
122 | 122 | ||
@@ -144,7 +144,7 @@ void process_hvlpevents(struct pt_regs *regs) | |||
144 | __get_cpu_var(hvlpevent_counts)[event->xType]++; | 144 | __get_cpu_var(hvlpevent_counts)[event->xType]++; |
145 | if (event->xType < HvLpEvent_Type_NumTypes && | 145 | if (event->xType < HvLpEvent_Type_NumTypes && |
146 | lpEventHandler[event->xType]) | 146 | lpEventHandler[event->xType]) |
147 | lpEventHandler[event->xType](event, regs); | 147 | lpEventHandler[event->xType](event); |
148 | else | 148 | else |
149 | printk(KERN_INFO "Unexpected Lp Event type=%d\n", event->xType ); | 149 | printk(KERN_INFO "Unexpected Lp Event type=%d\n", event->xType ); |
150 | 150 | ||
diff --git a/arch/powerpc/platforms/iseries/mf.c b/arch/powerpc/platforms/iseries/mf.c index 1983b640bac1..b5737d68d6c4 100644 --- a/arch/powerpc/platforms/iseries/mf.c +++ b/arch/powerpc/platforms/iseries/mf.c | |||
@@ -513,7 +513,7 @@ static void handle_ack(struct io_mf_lp_event *event) | |||
513 | * parse it enough to know if it is an interrupt or an | 513 | * parse it enough to know if it is an interrupt or an |
514 | * acknowledge. | 514 | * acknowledge. |
515 | */ | 515 | */ |
516 | static void hv_handler(struct HvLpEvent *event, struct pt_regs *regs) | 516 | static void hv_handler(struct HvLpEvent *event) |
517 | { | 517 | { |
518 | if ((event != NULL) && (event->xType == HvLpEvent_Type_MachineFac)) { | 518 | if ((event != NULL) && (event->xType == HvLpEvent_Type_MachineFac)) { |
519 | if (hvlpevent_is_ack(event)) | 519 | if (hvlpevent_is_ack(event)) |
@@ -847,7 +847,7 @@ static int mf_get_boot_rtc(struct rtc_time *tm) | |||
847 | /* We need to poll here as we are not yet taking interrupts */ | 847 | /* We need to poll here as we are not yet taking interrupts */ |
848 | while (rtc_data.busy) { | 848 | while (rtc_data.busy) { |
849 | if (hvlpevent_is_pending()) | 849 | if (hvlpevent_is_pending()) |
850 | process_hvlpevents(NULL); | 850 | process_hvlpevents(); |
851 | } | 851 | } |
852 | return rtc_set_tm(rtc_data.rc, rtc_data.ce_msg.ce_msg, tm); | 852 | return rtc_set_tm(rtc_data.rc, rtc_data.ce_msg.ce_msg, tm); |
853 | } | 853 | } |
diff --git a/arch/powerpc/platforms/iseries/smp.c b/arch/powerpc/platforms/iseries/smp.c index 2eb095edb472..aee5908df700 100644 --- a/arch/powerpc/platforms/iseries/smp.c +++ b/arch/powerpc/platforms/iseries/smp.c | |||
@@ -43,9 +43,11 @@ | |||
43 | #include <asm/cputable.h> | 43 | #include <asm/cputable.h> |
44 | #include <asm/system.h> | 44 | #include <asm/system.h> |
45 | 45 | ||
46 | #include "smp.h" | ||
47 | |||
46 | static unsigned long iSeries_smp_message[NR_CPUS]; | 48 | static unsigned long iSeries_smp_message[NR_CPUS]; |
47 | 49 | ||
48 | void iSeries_smp_message_recv(struct pt_regs *regs) | 50 | void iSeries_smp_message_recv(void) |
49 | { | 51 | { |
50 | int cpu = smp_processor_id(); | 52 | int cpu = smp_processor_id(); |
51 | int msg; | 53 | int msg; |
@@ -55,7 +57,7 @@ void iSeries_smp_message_recv(struct pt_regs *regs) | |||
55 | 57 | ||
56 | for (msg = 0; msg < 4; msg++) | 58 | for (msg = 0; msg < 4; msg++) |
57 | if (test_and_clear_bit(msg, &iSeries_smp_message[cpu])) | 59 | if (test_and_clear_bit(msg, &iSeries_smp_message[cpu])) |
58 | smp_message_recv(msg, regs); | 60 | smp_message_recv(msg); |
59 | } | 61 | } |
60 | 62 | ||
61 | static inline void smp_iSeries_do_message(int cpu, int msg) | 63 | static inline void smp_iSeries_do_message(int cpu, int msg) |
diff --git a/arch/powerpc/platforms/iseries/smp.h b/arch/powerpc/platforms/iseries/smp.h new file mode 100644 index 000000000000..d501f7de01e7 --- /dev/null +++ b/arch/powerpc/platforms/iseries/smp.h | |||
@@ -0,0 +1,6 @@ | |||
1 | #ifndef _PLATFORMS_ISERIES_SMP_H | ||
2 | #define _PLATFORMS_ISERIES_SMP_H | ||
3 | |||
4 | extern void iSeries_smp_message_recv(void); | ||
5 | |||
6 | #endif /* _PLATFORMS_ISERIES_SMP_H */ | ||
diff --git a/arch/powerpc/platforms/iseries/viopath.c b/arch/powerpc/platforms/iseries/viopath.c index 9baa4ee82592..04e07e5da0c1 100644 --- a/arch/powerpc/platforms/iseries/viopath.c +++ b/arch/powerpc/platforms/iseries/viopath.c | |||
@@ -378,7 +378,7 @@ void vio_set_hostlp(void) | |||
378 | } | 378 | } |
379 | EXPORT_SYMBOL(vio_set_hostlp); | 379 | EXPORT_SYMBOL(vio_set_hostlp); |
380 | 380 | ||
381 | static void vio_handleEvent(struct HvLpEvent *event, struct pt_regs *regs) | 381 | static void vio_handleEvent(struct HvLpEvent *event) |
382 | { | 382 | { |
383 | HvLpIndex remoteLp; | 383 | HvLpIndex remoteLp; |
384 | int subtype = (event->xSubtype & VIOMAJOR_SUBTYPE_MASK) | 384 | int subtype = (event->xSubtype & VIOMAJOR_SUBTYPE_MASK) |
diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms/powermac/pic.c index 5da677835c00..39db12890214 100644 --- a/arch/powerpc/platforms/powermac/pic.c +++ b/arch/powerpc/platforms/powermac/pic.c | |||
@@ -42,7 +42,7 @@ | |||
42 | * has to include <linux/interrupt.h> (to get irqreturn_t), which | 42 | * has to include <linux/interrupt.h> (to get irqreturn_t), which |
43 | * causes all sorts of problems. -- paulus | 43 | * causes all sorts of problems. -- paulus |
44 | */ | 44 | */ |
45 | extern irqreturn_t xmon_irq(int, void *, struct pt_regs *); | 45 | extern irqreturn_t xmon_irq(int, void *); |
46 | 46 | ||
47 | #ifdef CONFIG_PPC32 | 47 | #ifdef CONFIG_PPC32 |
48 | struct pmac_irq_hw { | 48 | struct pmac_irq_hw { |
@@ -210,7 +210,7 @@ static struct irq_chip pmac_pic = { | |||
210 | .retrigger = pmac_retrigger, | 210 | .retrigger = pmac_retrigger, |
211 | }; | 211 | }; |
212 | 212 | ||
213 | static irqreturn_t gatwick_action(int cpl, void *dev_id, struct pt_regs *regs) | 213 | static irqreturn_t gatwick_action(int cpl, void *dev_id) |
214 | { | 214 | { |
215 | unsigned long flags; | 215 | unsigned long flags; |
216 | int irq, bits; | 216 | int irq, bits; |
@@ -235,18 +235,18 @@ static irqreturn_t gatwick_action(int cpl, void *dev_id, struct pt_regs *regs) | |||
235 | return rc; | 235 | return rc; |
236 | } | 236 | } |
237 | 237 | ||
238 | static unsigned int pmac_pic_get_irq(struct pt_regs *regs) | 238 | static unsigned int pmac_pic_get_irq(void) |
239 | { | 239 | { |
240 | int irq; | 240 | int irq; |
241 | unsigned long bits = 0; | 241 | unsigned long bits = 0; |
242 | unsigned long flags; | 242 | unsigned long flags; |
243 | 243 | ||
244 | #ifdef CONFIG_SMP | 244 | #ifdef CONFIG_SMP |
245 | void psurge_smp_message_recv(struct pt_regs *); | 245 | void psurge_smp_message_recv(void); |
246 | 246 | ||
247 | /* IPI's are a hack on the powersurge -- Cort */ | 247 | /* IPI's are a hack on the powersurge -- Cort */ |
248 | if ( smp_processor_id() != 0 ) { | 248 | if ( smp_processor_id() != 0 ) { |
249 | psurge_smp_message_recv(regs); | 249 | psurge_smp_message_recv(); |
250 | return NO_IRQ_IGNORE; /* ignore, already handled */ | 250 | return NO_IRQ_IGNORE; /* ignore, already handled */ |
251 | } | 251 | } |
252 | #endif /* CONFIG_SMP */ | 252 | #endif /* CONFIG_SMP */ |
@@ -444,7 +444,7 @@ static void pmac_u3_cascade(unsigned int irq, struct irq_desc *desc) | |||
444 | { | 444 | { |
445 | struct mpic *mpic = desc->handler_data; | 445 | struct mpic *mpic = desc->handler_data; |
446 | 446 | ||
447 | unsigned int cascade_irq = mpic_get_one_irq(mpic, get_irq_regs()); | 447 | unsigned int cascade_irq = mpic_get_one_irq(mpic); |
448 | if (cascade_irq != NO_IRQ) | 448 | if (cascade_irq != NO_IRQ) |
449 | generic_handle_irq(cascade_irq); | 449 | generic_handle_irq(cascade_irq); |
450 | desc->chip->eoi(irq); | 450 | desc->chip->eoi(irq); |
diff --git a/arch/powerpc/platforms/powermac/pic.h b/arch/powerpc/platforms/powermac/pic.h index 664103dfeef9..c44c89f5e532 100644 --- a/arch/powerpc/platforms/powermac/pic.h +++ b/arch/powerpc/platforms/powermac/pic.h | |||
@@ -5,7 +5,7 @@ | |||
5 | 5 | ||
6 | extern struct hw_interrupt_type pmac_pic; | 6 | extern struct hw_interrupt_type pmac_pic; |
7 | 7 | ||
8 | void pmac_pic_init(void); | 8 | extern void pmac_pic_init(void); |
9 | int pmac_get_irq(struct pt_regs *regs); | 9 | extern int pmac_get_irq(void); |
10 | 10 | ||
11 | #endif /* __PPC_PLATFORMS_PMAC_PIC_H */ | 11 | #endif /* __PPC_PLATFORMS_PMAC_PIC_H */ |
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c index 1949b657b092..574cd205b302 100644 --- a/arch/powerpc/platforms/powermac/smp.c +++ b/arch/powerpc/platforms/powermac/smp.c | |||
@@ -160,7 +160,7 @@ static inline void psurge_clr_ipi(int cpu) | |||
160 | */ | 160 | */ |
161 | static unsigned long psurge_smp_message[NR_CPUS]; | 161 | static unsigned long psurge_smp_message[NR_CPUS]; |
162 | 162 | ||
163 | void psurge_smp_message_recv(struct pt_regs *regs) | 163 | void psurge_smp_message_recv(void) |
164 | { | 164 | { |
165 | int cpu = smp_processor_id(); | 165 | int cpu = smp_processor_id(); |
166 | int msg; | 166 | int msg; |
@@ -174,12 +174,12 @@ void psurge_smp_message_recv(struct pt_regs *regs) | |||
174 | /* make sure there is a message there */ | 174 | /* make sure there is a message there */ |
175 | for (msg = 0; msg < 4; msg++) | 175 | for (msg = 0; msg < 4; msg++) |
176 | if (test_and_clear_bit(msg, &psurge_smp_message[cpu])) | 176 | if (test_and_clear_bit(msg, &psurge_smp_message[cpu])) |
177 | smp_message_recv(msg, regs); | 177 | smp_message_recv(msg); |
178 | } | 178 | } |
179 | 179 | ||
180 | irqreturn_t psurge_primary_intr(int irq, void *d, struct pt_regs *regs) | 180 | irqreturn_t psurge_primary_intr(int irq, void *d) |
181 | { | 181 | { |
182 | psurge_smp_message_recv(regs); | 182 | psurge_smp_message_recv(); |
183 | return IRQ_HANDLED; | 183 | return IRQ_HANDLED; |
184 | } | 184 | } |
185 | 185 | ||
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c index bbf2e34dc358..d24ba547e53f 100644 --- a/arch/powerpc/platforms/pseries/iommu.c +++ b/arch/powerpc/platforms/pseries/iommu.c | |||
@@ -267,7 +267,8 @@ static void iommu_table_setparms(struct pci_controller *phb, | |||
267 | struct iommu_table *tbl) | 267 | struct iommu_table *tbl) |
268 | { | 268 | { |
269 | struct device_node *node; | 269 | struct device_node *node; |
270 | const unsigned long *basep, *sizep; | 270 | const unsigned long *basep; |
271 | const u32 *sizep; | ||
271 | 272 | ||
272 | node = (struct device_node *)phb->arch_data; | 273 | node = (struct device_node *)phb->arch_data; |
273 | 274 | ||
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c index ad9aec2c6fee..89a8119f988d 100644 --- a/arch/powerpc/platforms/pseries/setup.c +++ b/arch/powerpc/platforms/pseries/setup.c | |||
@@ -123,7 +123,7 @@ static void __init fwnmi_init(void) | |||
123 | 123 | ||
124 | void pseries_8259_cascade(unsigned int irq, struct irq_desc *desc) | 124 | void pseries_8259_cascade(unsigned int irq, struct irq_desc *desc) |
125 | { | 125 | { |
126 | unsigned int cascade_irq = i8259_irq(get_irq_regs()); | 126 | unsigned int cascade_irq = i8259_irq(); |
127 | if (cascade_irq != NO_IRQ) | 127 | if (cascade_irq != NO_IRQ) |
128 | generic_handle_irq(cascade_irq); | 128 | generic_handle_irq(cascade_irq); |
129 | desc->chip->eoi(irq); | 129 | desc->chip->eoi(irq); |
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c index f6bd2f285153..d071abe78ab1 100644 --- a/arch/powerpc/platforms/pseries/xics.c +++ b/arch/powerpc/platforms/pseries/xics.c | |||
@@ -308,14 +308,14 @@ static inline unsigned int xics_remap_irq(unsigned int vec) | |||
308 | return NO_IRQ; | 308 | return NO_IRQ; |
309 | } | 309 | } |
310 | 310 | ||
311 | static unsigned int xics_get_irq_direct(struct pt_regs *regs) | 311 | static unsigned int xics_get_irq_direct(void) |
312 | { | 312 | { |
313 | unsigned int cpu = smp_processor_id(); | 313 | unsigned int cpu = smp_processor_id(); |
314 | 314 | ||
315 | return xics_remap_irq(direct_xirr_info_get(cpu)); | 315 | return xics_remap_irq(direct_xirr_info_get(cpu)); |
316 | } | 316 | } |
317 | 317 | ||
318 | static unsigned int xics_get_irq_lpar(struct pt_regs *regs) | 318 | static unsigned int xics_get_irq_lpar(void) |
319 | { | 319 | { |
320 | unsigned int cpu = smp_processor_id(); | 320 | unsigned int cpu = smp_processor_id(); |
321 | 321 | ||
diff --git a/arch/powerpc/sysdev/cpm2_pic.c b/arch/powerpc/sysdev/cpm2_pic.c index 28b018994746..767ee6651adc 100644 --- a/arch/powerpc/sysdev/cpm2_pic.c +++ b/arch/powerpc/sysdev/cpm2_pic.c | |||
@@ -147,7 +147,7 @@ static struct irq_chip cpm2_pic = { | |||
147 | .end = cpm2_end_irq, | 147 | .end = cpm2_end_irq, |
148 | }; | 148 | }; |
149 | 149 | ||
150 | unsigned int cpm2_get_irq(struct pt_regs *regs) | 150 | unsigned int cpm2_get_irq(void) |
151 | { | 151 | { |
152 | int irq; | 152 | int irq; |
153 | unsigned long bits; | 153 | unsigned long bits; |
diff --git a/arch/powerpc/sysdev/cpm2_pic.h b/arch/powerpc/sysdev/cpm2_pic.h index 3c513e5a688e..2840616529e4 100644 --- a/arch/powerpc/sysdev/cpm2_pic.h +++ b/arch/powerpc/sysdev/cpm2_pic.h | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | extern intctl_cpm2_t *cpm2_intctl; | 4 | extern intctl_cpm2_t *cpm2_intctl; |
5 | 5 | ||
6 | extern unsigned int cpm2_get_irq(struct pt_regs *regs); | 6 | extern unsigned int cpm2_get_irq(void); |
7 | 7 | ||
8 | extern void cpm2_pic_init(struct device_node*); | 8 | extern void cpm2_pic_init(struct device_node*); |
9 | 9 | ||
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c index 7d759f1c26b1..dbe92ae20333 100644 --- a/arch/powerpc/sysdev/fsl_soc.c +++ b/arch/powerpc/sysdev/fsl_soc.c | |||
@@ -567,7 +567,7 @@ static int __init fs_enet_of_init(void) | |||
567 | struct resource r[4]; | 567 | struct resource r[4]; |
568 | struct device_node *phy, *mdio; | 568 | struct device_node *phy, *mdio; |
569 | struct fs_platform_info fs_enet_data; | 569 | struct fs_platform_info fs_enet_data; |
570 | const unsigned int *id, *phy_addr, phy_irq; | 570 | const unsigned int *id, *phy_addr, *phy_irq; |
571 | const void *mac_addr; | 571 | const void *mac_addr; |
572 | const phandle *ph; | 572 | const phandle *ph; |
573 | const char *model; | 573 | const char *model; |
@@ -641,7 +641,7 @@ static int __init fs_enet_of_init(void) | |||
641 | 641 | ||
642 | if (strstr(model, "FCC")) { | 642 | if (strstr(model, "FCC")) { |
643 | int fcc_index = *id - 1; | 643 | int fcc_index = *id - 1; |
644 | unsigned char* mdio_bb_prop; | 644 | const unsigned char *mdio_bb_prop; |
645 | 645 | ||
646 | fs_enet_data.dpram_offset = (u32)cpm_dpram_addr(0); | 646 | fs_enet_data.dpram_offset = (u32)cpm_dpram_addr(0); |
647 | fs_enet_data.rx_ring = 32; | 647 | fs_enet_data.rx_ring = 32; |
@@ -708,8 +708,9 @@ static int __init fs_enet_of_init(void) | |||
708 | ret = platform_device_add_data(fs_enet_dev, &fs_enet_data, | 708 | ret = platform_device_add_data(fs_enet_dev, &fs_enet_data, |
709 | sizeof(struct | 709 | sizeof(struct |
710 | fs_platform_info)); | 710 | fs_platform_info)); |
711 | if (ret) | 711 | if (ret) |
712 | goto unreg; | 712 | goto unreg; |
713 | } | ||
713 | } | 714 | } |
714 | return 0; | 715 | return 0; |
715 | 716 | ||
diff --git a/arch/powerpc/sysdev/i8259.c b/arch/powerpc/sysdev/i8259.c index 26a6a3becd66..0450265d73bb 100644 --- a/arch/powerpc/sysdev/i8259.c +++ b/arch/powerpc/sysdev/i8259.c | |||
@@ -34,7 +34,7 @@ static struct irq_host *i8259_host; | |||
34 | * which is called. It should be noted that polling is broken on some | 34 | * which is called. It should be noted that polling is broken on some |
35 | * IBM and Motorola PReP boxes so we must use the int-ack feature on them. | 35 | * IBM and Motorola PReP boxes so we must use the int-ack feature on them. |
36 | */ | 36 | */ |
37 | unsigned int i8259_irq(struct pt_regs *regs) | 37 | unsigned int i8259_irq(void) |
38 | { | 38 | { |
39 | int irq; | 39 | int irq; |
40 | int lock = 0; | 40 | int lock = 0; |
diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c index 6ebdae8e6f69..bc4d4a7f9657 100644 --- a/arch/powerpc/sysdev/ipic.c +++ b/arch/powerpc/sysdev/ipic.c | |||
@@ -709,7 +709,7 @@ void ipic_clear_mcp_status(u32 mask) | |||
709 | } | 709 | } |
710 | 710 | ||
711 | /* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ | 711 | /* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ |
712 | unsigned int ipic_get_irq(struct pt_regs *regs) | 712 | unsigned int ipic_get_irq(void) |
713 | { | 713 | { |
714 | int irq; | 714 | int irq; |
715 | 715 | ||
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 195215560fd7..ba4833f57d47 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -1217,7 +1217,7 @@ void mpic_send_ipi(unsigned int ipi_no, unsigned int cpu_mask) | |||
1217 | mpic_physmask(cpu_mask & cpus_addr(cpu_online_map)[0])); | 1217 | mpic_physmask(cpu_mask & cpus_addr(cpu_online_map)[0])); |
1218 | } | 1218 | } |
1219 | 1219 | ||
1220 | unsigned int mpic_get_one_irq(struct mpic *mpic, struct pt_regs *regs) | 1220 | unsigned int mpic_get_one_irq(struct mpic *mpic) |
1221 | { | 1221 | { |
1222 | u32 src; | 1222 | u32 src; |
1223 | 1223 | ||
@@ -1230,13 +1230,13 @@ unsigned int mpic_get_one_irq(struct mpic *mpic, struct pt_regs *regs) | |||
1230 | return irq_linear_revmap(mpic->irqhost, src); | 1230 | return irq_linear_revmap(mpic->irqhost, src); |
1231 | } | 1231 | } |
1232 | 1232 | ||
1233 | unsigned int mpic_get_irq(struct pt_regs *regs) | 1233 | unsigned int mpic_get_irq(void) |
1234 | { | 1234 | { |
1235 | struct mpic *mpic = mpic_primary; | 1235 | struct mpic *mpic = mpic_primary; |
1236 | 1236 | ||
1237 | BUG_ON(mpic == NULL); | 1237 | BUG_ON(mpic == NULL); |
1238 | 1238 | ||
1239 | return mpic_get_one_irq(mpic, regs); | 1239 | return mpic_get_one_irq(mpic); |
1240 | } | 1240 | } |
1241 | 1241 | ||
1242 | 1242 | ||
diff --git a/arch/powerpc/sysdev/qe_lib/qe_ic.c b/arch/powerpc/sysdev/qe_lib/qe_ic.c index 0dec010bcbb5..6995f51b9488 100644 --- a/arch/powerpc/sysdev/qe_lib/qe_ic.c +++ b/arch/powerpc/sysdev/qe_lib/qe_ic.c | |||
@@ -300,7 +300,7 @@ static struct irq_host_ops qe_ic_host_ops = { | |||
300 | }; | 300 | }; |
301 | 301 | ||
302 | /* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ | 302 | /* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ |
303 | unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic, struct pt_regs *regs) | 303 | unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) |
304 | { | 304 | { |
305 | int irq; | 305 | int irq; |
306 | 306 | ||
@@ -316,7 +316,7 @@ unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic, struct pt_regs *regs) | |||
316 | } | 316 | } |
317 | 317 | ||
318 | /* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ | 318 | /* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ |
319 | unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic, struct pt_regs *regs) | 319 | unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) |
320 | { | 320 | { |
321 | int irq; | 321 | int irq; |
322 | 322 | ||
@@ -333,13 +333,12 @@ unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic, struct pt_regs *regs) | |||
333 | 333 | ||
334 | /* FIXME: We mask all the QE Low interrupts while handling. We should | 334 | /* FIXME: We mask all the QE Low interrupts while handling. We should |
335 | * let other interrupt come in, but BAD interrupts are generated */ | 335 | * let other interrupt come in, but BAD interrupts are generated */ |
336 | void fastcall qe_ic_cascade_low(unsigned int irq, struct irq_desc *desc, | 336 | void fastcall qe_ic_cascade_low(unsigned int irq, struct irq_desc *desc) |
337 | struct pt_regs *regs) | ||
338 | { | 337 | { |
339 | struct qe_ic *qe_ic = desc->handler_data; | 338 | struct qe_ic *qe_ic = desc->handler_data; |
340 | struct irq_chip *chip = irq_desc[irq].chip; | 339 | struct irq_chip *chip = irq_desc[irq].chip; |
341 | 340 | ||
342 | unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic, regs); | 341 | unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); |
343 | 342 | ||
344 | chip->mask_ack(irq); | 343 | chip->mask_ack(irq); |
345 | if (cascade_irq != NO_IRQ) | 344 | if (cascade_irq != NO_IRQ) |
@@ -349,13 +348,12 @@ void fastcall qe_ic_cascade_low(unsigned int irq, struct irq_desc *desc, | |||
349 | 348 | ||
350 | /* FIXME: We mask all the QE High interrupts while handling. We should | 349 | /* FIXME: We mask all the QE High interrupts while handling. We should |
351 | * let other interrupt come in, but BAD interrupts are generated */ | 350 | * let other interrupt come in, but BAD interrupts are generated */ |
352 | void fastcall qe_ic_cascade_high(unsigned int irq, struct irq_desc *desc, | 351 | void fastcall qe_ic_cascade_high(unsigned int irq, struct irq_desc *desc) |
353 | struct pt_regs *regs) | ||
354 | { | 352 | { |
355 | struct qe_ic *qe_ic = desc->handler_data; | 353 | struct qe_ic *qe_ic = desc->handler_data; |
356 | struct irq_chip *chip = irq_desc[irq].chip; | 354 | struct irq_chip *chip = irq_desc[irq].chip; |
357 | 355 | ||
358 | unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic, regs); | 356 | unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); |
359 | 357 | ||
360 | chip->mask_ack(irq); | 358 | chip->mask_ack(irq); |
361 | if (cascade_irq != NO_IRQ) | 359 | if (cascade_irq != NO_IRQ) |
diff --git a/arch/powerpc/sysdev/tsi108_pci.c b/arch/powerpc/sysdev/tsi108_pci.c index 14f4a1ab6d18..322f86e93de5 100644 --- a/arch/powerpc/sysdev/tsi108_pci.c +++ b/arch/powerpc/sysdev/tsi108_pci.c | |||
@@ -405,8 +405,7 @@ void __init tsi108_pci_int_init(void) | |||
405 | init_pci_source(); | 405 | init_pci_source(); |
406 | } | 406 | } |
407 | 407 | ||
408 | void tsi108_irq_cascade(unsigned int irq, struct irq_desc *desc, | 408 | void tsi108_irq_cascade(unsigned int irq, struct irq_desc *desc) |
409 | struct pt_regs *regs) | ||
410 | { | 409 | { |
411 | unsigned int cascade_irq = get_pci_source(); | 410 | unsigned int cascade_irq = get_pci_source(); |
412 | if (cascade_irq != NO_IRQ) | 411 | if (cascade_irq != NO_IRQ) |
diff --git a/arch/ppc/kernel/time.c b/arch/ppc/kernel/time.c index 187388625a76..d4b2cf74da6a 100644 --- a/arch/ppc/kernel/time.c +++ b/arch/ppc/kernel/time.c | |||
@@ -142,7 +142,7 @@ void timer_interrupt(struct pt_regs * regs) | |||
142 | while ((next_dec = tb_ticks_per_jiffy - tb_delta(&jiffy_stamp)) <= 0) { | 142 | while ((next_dec = tb_ticks_per_jiffy - tb_delta(&jiffy_stamp)) <= 0) { |
143 | jiffy_stamp += tb_ticks_per_jiffy; | 143 | jiffy_stamp += tb_ticks_per_jiffy; |
144 | 144 | ||
145 | profile_tick(CPU_PROFILING, regs); | 145 | profile_tick(CPU_PROFILING); |
146 | update_process_times(user_mode(regs)); | 146 | update_process_times(user_mode(regs)); |
147 | 147 | ||
148 | if (smp_processor_id()) | 148 | if (smp_processor_id()) |
diff --git a/arch/ppc/platforms/85xx/mpc8560_ads.c b/arch/ppc/platforms/85xx/mpc8560_ads.c index 94badafe4ef1..14ecec7bbed7 100644 --- a/arch/ppc/platforms/85xx/mpc8560_ads.c +++ b/arch/ppc/platforms/85xx/mpc8560_ads.c | |||
@@ -211,10 +211,10 @@ mpc8560ads_setup_arch(void) | |||
211 | #endif | 211 | #endif |
212 | } | 212 | } |
213 | 213 | ||
214 | static irqreturn_t cpm2_cascade(int irq, void *dev_id, struct pt_regs *regs) | 214 | static irqreturn_t cpm2_cascade(int irq, void *dev_id) |
215 | { | 215 | { |
216 | while ((irq = cpm2_get_irq(regs)) >= 0) | 216 | while ((irq = cpm2_get_irq()) >= 0) |
217 | __do_IRQ(irq, regs); | 217 | __do_IRQ(irq); |
218 | return IRQ_HANDLED; | 218 | return IRQ_HANDLED; |
219 | } | 219 | } |
220 | 220 | ||
diff --git a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c b/arch/ppc/platforms/85xx/mpc85xx_cds_common.c index 75204588a3e7..5ce0f69c1db6 100644 --- a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c +++ b/arch/ppc/platforms/85xx/mpc85xx_cds_common.c | |||
@@ -127,10 +127,10 @@ mpc85xx_cds_show_cpuinfo(struct seq_file *m) | |||
127 | } | 127 | } |
128 | 128 | ||
129 | #ifdef CONFIG_CPM2 | 129 | #ifdef CONFIG_CPM2 |
130 | static irqreturn_t cpm2_cascade(int irq, void *dev_id, struct pt_regs *regs) | 130 | static irqreturn_t cpm2_cascade(int irq, void *dev_id) |
131 | { | 131 | { |
132 | while((irq = cpm2_get_irq(regs)) >= 0) | 132 | while((irq = cpm2_get_irq()) >= 0) |
133 | __do_IRQ(irq, regs); | 133 | __do_IRQ(irq); |
134 | return IRQ_HANDLED; | 134 | return IRQ_HANDLED; |
135 | } | 135 | } |
136 | 136 | ||
diff --git a/arch/ppc/platforms/85xx/stx_gp3.c b/arch/ppc/platforms/85xx/stx_gp3.c index 495aa79bb3a1..4bb18ab27672 100644 --- a/arch/ppc/platforms/85xx/stx_gp3.c +++ b/arch/ppc/platforms/85xx/stx_gp3.c | |||
@@ -156,10 +156,10 @@ gp3_setup_arch(void) | |||
156 | printk ("bi_immr_base = %8.8lx\n", binfo->bi_immr_base); | 156 | printk ("bi_immr_base = %8.8lx\n", binfo->bi_immr_base); |
157 | } | 157 | } |
158 | 158 | ||
159 | static irqreturn_t cpm2_cascade(int irq, void *dev_id, struct pt_regs *regs) | 159 | static irqreturn_t cpm2_cascade(int irq, void *dev_id) |
160 | { | 160 | { |
161 | while ((irq = cpm2_get_irq(regs)) >= 0) | 161 | while ((irq = cpm2_get_irq()) >= 0) |
162 | __do_IRQ(irq, regs); | 162 | __do_IRQ(irq); |
163 | 163 | ||
164 | return IRQ_HANDLED; | 164 | return IRQ_HANDLED; |
165 | } | 165 | } |
diff --git a/arch/ppc/platforms/85xx/tqm85xx.c b/arch/ppc/platforms/85xx/tqm85xx.c index 189ed4175f9f..dd45f2e18449 100644 --- a/arch/ppc/platforms/85xx/tqm85xx.c +++ b/arch/ppc/platforms/85xx/tqm85xx.c | |||
@@ -181,10 +181,10 @@ tqm85xx_setup_arch(void) | |||
181 | } | 181 | } |
182 | 182 | ||
183 | #ifdef CONFIG_MPC8560 | 183 | #ifdef CONFIG_MPC8560 |
184 | static irqreturn_t cpm2_cascade(int irq, void *dev_id, struct pt_regs *regs) | 184 | static irqreturn_t cpm2_cascade(int irq, void *dev_id) |
185 | { | 185 | { |
186 | while ((irq = cpm2_get_irq(regs)) >= 0) | 186 | while ((irq = cpm2_get_irq()) >= 0) |
187 | __do_IRQ(irq, regs); | 187 | __do_IRQ(irq); |
188 | return IRQ_HANDLED; | 188 | return IRQ_HANDLED; |
189 | } | 189 | } |
190 | 190 | ||
diff --git a/arch/ppc/syslib/i8259.c b/arch/ppc/syslib/i8259.c index eb35353af837..a43dda5a8334 100644 --- a/arch/ppc/syslib/i8259.c +++ b/arch/ppc/syslib/i8259.c | |||
@@ -28,7 +28,7 @@ static int i8259_pic_irq_offset; | |||
28 | * which is called. It should be noted that polling is broken on some | 28 | * which is called. It should be noted that polling is broken on some |
29 | * IBM and Motorola PReP boxes so we must use the int-ack feature on them. | 29 | * IBM and Motorola PReP boxes so we must use the int-ack feature on them. |
30 | */ | 30 | */ |
31 | int i8259_irq(struct pt_regs *regs) | 31 | int i8259_irq(void) |
32 | { | 32 | { |
33 | int irq; | 33 | int irq; |
34 | 34 | ||
diff --git a/arch/ppc/syslib/open_pic.c b/arch/ppc/syslib/open_pic.c index aa0b95788705..18ec94733293 100644 --- a/arch/ppc/syslib/open_pic.c +++ b/arch/ppc/syslib/open_pic.c | |||
@@ -45,7 +45,7 @@ static u_int NumSources; | |||
45 | static int open_pic_irq_offset; | 45 | static int open_pic_irq_offset; |
46 | static volatile OpenPIC_Source __iomem *ISR[NR_IRQS]; | 46 | static volatile OpenPIC_Source __iomem *ISR[NR_IRQS]; |
47 | static int openpic_cascade_irq = -1; | 47 | static int openpic_cascade_irq = -1; |
48 | static int (*openpic_cascade_fn)(struct pt_regs *); | 48 | static int (*openpic_cascade_fn)(void); |
49 | 49 | ||
50 | /* Global Operations */ | 50 | /* Global Operations */ |
51 | static void openpic_disable_8259_pass_through(void); | 51 | static void openpic_disable_8259_pass_through(void); |
@@ -54,7 +54,7 @@ static void openpic_set_spurious(u_int vector); | |||
54 | #ifdef CONFIG_SMP | 54 | #ifdef CONFIG_SMP |
55 | /* Interprocessor Interrupts */ | 55 | /* Interprocessor Interrupts */ |
56 | static void openpic_initipi(u_int ipi, u_int pri, u_int vector); | 56 | static void openpic_initipi(u_int ipi, u_int pri, u_int vector); |
57 | static irqreturn_t openpic_ipi_action(int cpl, void *dev_id, struct pt_regs *); | 57 | static irqreturn_t openpic_ipi_action(int cpl, void *dev_id); |
58 | #endif | 58 | #endif |
59 | 59 | ||
60 | /* Timer Interrupts */ | 60 | /* Timer Interrupts */ |
@@ -700,7 +700,7 @@ static struct irqaction openpic_cascade_irqaction = { | |||
700 | 700 | ||
701 | void __init | 701 | void __init |
702 | openpic_hookup_cascade(u_int irq, char *name, | 702 | openpic_hookup_cascade(u_int irq, char *name, |
703 | int (*cascade_fn)(struct pt_regs *)) | 703 | int (*cascade_fn)(void)) |
704 | { | 704 | { |
705 | openpic_cascade_irq = irq; | 705 | openpic_cascade_irq = irq; |
706 | openpic_cascade_fn = cascade_fn; | 706 | openpic_cascade_fn = cascade_fn; |
@@ -857,16 +857,16 @@ static void openpic_end_ipi(unsigned int irq_nr) | |||
857 | { | 857 | { |
858 | } | 858 | } |
859 | 859 | ||
860 | static irqreturn_t openpic_ipi_action(int cpl, void *dev_id, struct pt_regs *regs) | 860 | static irqreturn_t openpic_ipi_action(int cpl, void *dev_id) |
861 | { | 861 | { |
862 | smp_message_recv(cpl-OPENPIC_VEC_IPI-open_pic_irq_offset, regs); | 862 | smp_message_recv(cpl-OPENPIC_VEC_IPI-open_pic_irq_offset); |
863 | return IRQ_HANDLED; | 863 | return IRQ_HANDLED; |
864 | } | 864 | } |
865 | 865 | ||
866 | #endif /* CONFIG_SMP */ | 866 | #endif /* CONFIG_SMP */ |
867 | 867 | ||
868 | int | 868 | int |
869 | openpic_get_irq(struct pt_regs *regs) | 869 | openpic_get_irq(void) |
870 | { | 870 | { |
871 | int irq = openpic_irq(); | 871 | int irq = openpic_irq(); |
872 | 872 | ||
@@ -876,7 +876,7 @@ openpic_get_irq(struct pt_regs *regs) | |||
876 | * This should move to irq.c eventually. -- paulus | 876 | * This should move to irq.c eventually. -- paulus |
877 | */ | 877 | */ |
878 | if (irq == openpic_cascade_irq && openpic_cascade_fn != NULL) { | 878 | if (irq == openpic_cascade_irq && openpic_cascade_fn != NULL) { |
879 | int cirq = openpic_cascade_fn(regs); | 879 | int cirq = openpic_cascade_fn(); |
880 | 880 | ||
881 | /* Allow for the cascade being shared with other devices */ | 881 | /* Allow for the cascade being shared with other devices */ |
882 | if (cirq != -1) { | 882 | if (cirq != -1) { |