diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/parisc/kernel/sys_parisc32.c | 141 | ||||
-rw-r--r-- | arch/parisc/kernel/syscall_table.S | 4 | ||||
-rw-r--r-- | arch/parisc/kernel/vmlinux.lds.S | 2 | ||||
-rw-r--r-- | arch/powerpc/configs/cell_defconfig | 220 | ||||
-rw-r--r-- | arch/powerpc/mm/slb.c | 36 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/cbe_regs.h | 8 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/cbe_thermal.c | 6 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/pervasive.c | 26 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/spu_manage.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/pasemi/iommu.c | 6 | ||||
-rw-r--r-- | arch/powerpc/sysdev/axonram.c | 46 |
11 files changed, 155 insertions, 342 deletions
diff --git a/arch/parisc/kernel/sys_parisc32.c b/arch/parisc/kernel/sys_parisc32.c index bb23ff71c28e..2989c6682bf6 100644 --- a/arch/parisc/kernel/sys_parisc32.c +++ b/arch/parisc/kernel/sys_parisc32.c | |||
@@ -285,147 +285,6 @@ int cp_compat_stat(struct kstat *stat, struct compat_stat __user *statbuf) | |||
285 | return err; | 285 | return err; |
286 | } | 286 | } |
287 | 287 | ||
288 | struct linux32_dirent { | ||
289 | u32 d_ino; | ||
290 | compat_off_t d_off; | ||
291 | u16 d_reclen; | ||
292 | char d_name[1]; | ||
293 | }; | ||
294 | |||
295 | struct old_linux32_dirent { | ||
296 | u32 d_ino; | ||
297 | u32 d_offset; | ||
298 | u16 d_namlen; | ||
299 | char d_name[1]; | ||
300 | }; | ||
301 | |||
302 | struct getdents32_callback { | ||
303 | struct linux32_dirent __user * current_dir; | ||
304 | struct linux32_dirent __user * previous; | ||
305 | int count; | ||
306 | int error; | ||
307 | }; | ||
308 | |||
309 | struct readdir32_callback { | ||
310 | struct old_linux32_dirent __user * dirent; | ||
311 | int count; | ||
312 | }; | ||
313 | |||
314 | #define NAME_OFFSET(de) ((int) ((de)->d_name - (char __user *) (de))) | ||
315 | static int filldir32 (void *__buf, const char *name, int namlen, | ||
316 | loff_t offset, u64 ino, unsigned int d_type) | ||
317 | { | ||
318 | struct linux32_dirent __user * dirent; | ||
319 | struct getdents32_callback * buf = (struct getdents32_callback *) __buf; | ||
320 | int reclen = ALIGN(NAME_OFFSET(dirent) + namlen + 1, 4); | ||
321 | u32 d_ino; | ||
322 | |||
323 | buf->error = -EINVAL; /* only used if we fail.. */ | ||
324 | if (reclen > buf->count) | ||
325 | return -EINVAL; | ||
326 | d_ino = ino; | ||
327 | if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) | ||
328 | return -EOVERFLOW; | ||
329 | dirent = buf->previous; | ||
330 | if (dirent) | ||
331 | put_user(offset, &dirent->d_off); | ||
332 | dirent = buf->current_dir; | ||
333 | buf->previous = dirent; | ||
334 | put_user(d_ino, &dirent->d_ino); | ||
335 | put_user(reclen, &dirent->d_reclen); | ||
336 | copy_to_user(dirent->d_name, name, namlen); | ||
337 | put_user(0, dirent->d_name + namlen); | ||
338 | dirent = ((void __user *)dirent) + reclen; | ||
339 | buf->current_dir = dirent; | ||
340 | buf->count -= reclen; | ||
341 | return 0; | ||
342 | } | ||
343 | |||
344 | asmlinkage long | ||
345 | sys32_getdents (unsigned int fd, void __user * dirent, unsigned int count) | ||
346 | { | ||
347 | struct file * file; | ||
348 | struct linux32_dirent __user * lastdirent; | ||
349 | struct getdents32_callback buf; | ||
350 | int error; | ||
351 | |||
352 | error = -EFAULT; | ||
353 | if (!access_ok(VERIFY_WRITE, dirent, count)) | ||
354 | goto out; | ||
355 | |||
356 | error = -EBADF; | ||
357 | file = fget(fd); | ||
358 | if (!file) | ||
359 | goto out; | ||
360 | |||
361 | buf.current_dir = (struct linux32_dirent __user *) dirent; | ||
362 | buf.previous = NULL; | ||
363 | buf.count = count; | ||
364 | buf.error = 0; | ||
365 | |||
366 | error = vfs_readdir(file, filldir32, &buf); | ||
367 | if (error < 0) | ||
368 | goto out_putf; | ||
369 | error = buf.error; | ||
370 | lastdirent = buf.previous; | ||
371 | if (lastdirent) { | ||
372 | if (put_user(file->f_pos, &lastdirent->d_off)) | ||
373 | error = -EFAULT; | ||
374 | else | ||
375 | error = count - buf.count; | ||
376 | } | ||
377 | |||
378 | out_putf: | ||
379 | fput(file); | ||
380 | out: | ||
381 | return error; | ||
382 | } | ||
383 | |||
384 | static int fillonedir32(void * __buf, const char * name, int namlen, | ||
385 | loff_t offset, u64 ino, unsigned int d_type) | ||
386 | { | ||
387 | struct readdir32_callback * buf = (struct readdir32_callback *) __buf; | ||
388 | struct old_linux32_dirent __user * dirent; | ||
389 | u32 d_ino; | ||
390 | |||
391 | if (buf->count) | ||
392 | return -EINVAL; | ||
393 | d_ino = ino; | ||
394 | if (sizeof(d_ino) < sizeof(ino) && d_ino != ino) | ||
395 | return -EOVERFLOW; | ||
396 | buf->count++; | ||
397 | dirent = buf->dirent; | ||
398 | put_user(d_ino, &dirent->d_ino); | ||
399 | put_user(offset, &dirent->d_offset); | ||
400 | put_user(namlen, &dirent->d_namlen); | ||
401 | copy_to_user(dirent->d_name, name, namlen); | ||
402 | put_user(0, dirent->d_name + namlen); | ||
403 | return 0; | ||
404 | } | ||
405 | |||
406 | asmlinkage long | ||
407 | sys32_readdir (unsigned int fd, void __user * dirent, unsigned int count) | ||
408 | { | ||
409 | int error; | ||
410 | struct file * file; | ||
411 | struct readdir32_callback buf; | ||
412 | |||
413 | error = -EBADF; | ||
414 | file = fget(fd); | ||
415 | if (!file) | ||
416 | goto out; | ||
417 | |||
418 | buf.count = 0; | ||
419 | buf.dirent = dirent; | ||
420 | |||
421 | error = vfs_readdir(file, fillonedir32, &buf); | ||
422 | if (error >= 0) | ||
423 | error = buf.count; | ||
424 | fput(file); | ||
425 | out: | ||
426 | return error; | ||
427 | } | ||
428 | |||
429 | /*** copied from mips64 ***/ | 288 | /*** copied from mips64 ***/ |
430 | /* | 289 | /* |
431 | * Ooo, nasty. We need here to frob 32-bit unsigned longs to | 290 | * Ooo, nasty. We need here to frob 32-bit unsigned longs to |
diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S index 627f3c28ad8c..2540786a970f 100644 --- a/arch/parisc/kernel/syscall_table.S +++ b/arch/parisc/kernel/syscall_table.S | |||
@@ -222,9 +222,7 @@ | |||
222 | ENTRY_SAME(setfsgid) | 222 | ENTRY_SAME(setfsgid) |
223 | /* I think this might work */ | 223 | /* I think this might work */ |
224 | ENTRY_SAME(llseek) /* 140 */ | 224 | ENTRY_SAME(llseek) /* 140 */ |
225 | /* struct linux_dirent has longs, like 'unsigned long d_ino' which | 225 | ENTRY_COMP(getdents) |
226 | * almost definitely should be 'ino_t d_ino' but it's too late now */ | ||
227 | ENTRY_DIFF(getdents) | ||
228 | /* it is POSSIBLE that select will be OK because even though fd_set | 226 | /* it is POSSIBLE that select will be OK because even though fd_set |
229 | * contains longs, the macros and sizes are clever. */ | 227 | * contains longs, the macros and sizes are clever. */ |
230 | ENTRY_COMP(select) | 228 | ENTRY_COMP(select) |
diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S index d4e6a93c8d9a..ee7a16eb6fdd 100644 --- a/arch/parisc/kernel/vmlinux.lds.S +++ b/arch/parisc/kernel/vmlinux.lds.S | |||
@@ -81,6 +81,8 @@ SECTIONS | |||
81 | __ex_table : { *(__ex_table) } | 81 | __ex_table : { *(__ex_table) } |
82 | __stop___ex_table = .; | 82 | __stop___ex_table = .; |
83 | 83 | ||
84 | NOTES | ||
85 | |||
84 | __start___unwind = .; /* unwind info */ | 86 | __start___unwind = .; /* unwind info */ |
85 | .PARISC.unwind : { *(.PARISC.unwind) } | 87 | .PARISC.unwind : { *(.PARISC.unwind) } |
86 | __stop___unwind = .; | 88 | __stop___unwind = .; |
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig index d9ac24e8de16..8b47c846421c 100644 --- a/arch/powerpc/configs/cell_defconfig +++ b/arch/powerpc/configs/cell_defconfig | |||
@@ -1,9 +1,23 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.22-rc6 | 3 | # Linux kernel version: 2.6.23-rc3 |
4 | # Tue Jun 26 12:32:34 2007 | 4 | # Wed Aug 22 15:19:19 2007 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | |||
8 | # | ||
9 | # Processor support | ||
10 | # | ||
11 | # CONFIG_POWER4_ONLY is not set | ||
12 | CONFIG_POWER3=y | ||
13 | CONFIG_POWER4=y | ||
14 | CONFIG_PPC_FPU=y | ||
15 | CONFIG_ALTIVEC=y | ||
16 | CONFIG_PPC_STD_MMU=y | ||
17 | CONFIG_PPC_MM_SLICES=y | ||
18 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
19 | CONFIG_SMP=y | ||
20 | CONFIG_NR_CPUS=4 | ||
7 | CONFIG_64BIT=y | 21 | CONFIG_64BIT=y |
8 | CONFIG_PPC_MERGE=y | 22 | CONFIG_PPC_MERGE=y |
9 | CONFIG_MMU=y | 23 | CONFIG_MMU=y |
@@ -15,6 +29,7 @@ CONFIG_ARCH_HAS_ILOG2_U64=y | |||
15 | CONFIG_GENERIC_HWEIGHT=y | 29 | CONFIG_GENERIC_HWEIGHT=y |
16 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 30 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
17 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 31 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
32 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | ||
18 | CONFIG_PPC=y | 33 | CONFIG_PPC=y |
19 | CONFIG_EARLY_PRINTK=y | 34 | CONFIG_EARLY_PRINTK=y |
20 | CONFIG_COMPAT=y | 35 | CONFIG_COMPAT=y |
@@ -22,51 +37,33 @@ CONFIG_SYSVIPC_COMPAT=y | |||
22 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | 37 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y |
23 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 38 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
24 | CONFIG_PPC_OF=y | 39 | CONFIG_PPC_OF=y |
40 | CONFIG_OF=y | ||
25 | CONFIG_PPC_UDBG_16550=y | 41 | CONFIG_PPC_UDBG_16550=y |
26 | # CONFIG_GENERIC_TBSYNC is not set | 42 | # CONFIG_GENERIC_TBSYNC is not set |
27 | CONFIG_AUDIT_ARCH=y | 43 | CONFIG_AUDIT_ARCH=y |
28 | CONFIG_GENERIC_BUG=y | 44 | CONFIG_GENERIC_BUG=y |
29 | # CONFIG_DEFAULT_UIMAGE is not set | 45 | # CONFIG_DEFAULT_UIMAGE is not set |
30 | |||
31 | # | ||
32 | # Processor support | ||
33 | # | ||
34 | # CONFIG_POWER4_ONLY is not set | ||
35 | CONFIG_POWER3=y | ||
36 | CONFIG_POWER4=y | ||
37 | CONFIG_PPC_FPU=y | ||
38 | # CONFIG_PPC_DCR_NATIVE is not set | 46 | # CONFIG_PPC_DCR_NATIVE is not set |
39 | CONFIG_PPC_DCR_MMIO=y | 47 | CONFIG_PPC_DCR_MMIO=y |
40 | CONFIG_PPC_DCR=y | 48 | CONFIG_PPC_DCR=y |
41 | CONFIG_PPC_OF_PLATFORM_PCI=y | 49 | CONFIG_PPC_OF_PLATFORM_PCI=y |
42 | CONFIG_ALTIVEC=y | ||
43 | CONFIG_PPC_STD_MMU=y | ||
44 | CONFIG_PPC_MM_SLICES=y | ||
45 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
46 | CONFIG_SMP=y | ||
47 | CONFIG_NR_CPUS=4 | ||
48 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 50 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
49 | 51 | ||
50 | # | 52 | # |
51 | # Code maturity level options | 53 | # General setup |
52 | # | 54 | # |
53 | CONFIG_EXPERIMENTAL=y | 55 | CONFIG_EXPERIMENTAL=y |
54 | CONFIG_LOCK_KERNEL=y | 56 | CONFIG_LOCK_KERNEL=y |
55 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 57 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
56 | |||
57 | # | ||
58 | # General setup | ||
59 | # | ||
60 | CONFIG_LOCALVERSION="" | 58 | CONFIG_LOCALVERSION="" |
61 | CONFIG_LOCALVERSION_AUTO=y | 59 | CONFIG_LOCALVERSION_AUTO=y |
62 | CONFIG_SWAP=y | 60 | CONFIG_SWAP=y |
63 | CONFIG_SYSVIPC=y | 61 | CONFIG_SYSVIPC=y |
64 | # CONFIG_IPC_NS is not set | ||
65 | CONFIG_SYSVIPC_SYSCTL=y | 62 | CONFIG_SYSVIPC_SYSCTL=y |
66 | # CONFIG_POSIX_MQUEUE is not set | 63 | # CONFIG_POSIX_MQUEUE is not set |
67 | # CONFIG_BSD_PROCESS_ACCT is not set | 64 | # CONFIG_BSD_PROCESS_ACCT is not set |
68 | # CONFIG_TASKSTATS is not set | 65 | # CONFIG_TASKSTATS is not set |
69 | # CONFIG_UTS_NS is not set | 66 | # CONFIG_USER_NS is not set |
70 | # CONFIG_AUDIT is not set | 67 | # CONFIG_AUDIT is not set |
71 | CONFIG_IKCONFIG=y | 68 | CONFIG_IKCONFIG=y |
72 | CONFIG_IKCONFIG_PROC=y | 69 | CONFIG_IKCONFIG_PROC=y |
@@ -96,16 +93,13 @@ CONFIG_TIMERFD=y | |||
96 | CONFIG_EVENTFD=y | 93 | CONFIG_EVENTFD=y |
97 | CONFIG_SHMEM=y | 94 | CONFIG_SHMEM=y |
98 | CONFIG_VM_EVENT_COUNTERS=y | 95 | CONFIG_VM_EVENT_COUNTERS=y |
99 | CONFIG_SLAB=y | 96 | CONFIG_SLUB_DEBUG=y |
100 | # CONFIG_SLUB is not set | 97 | # CONFIG_SLAB is not set |
98 | CONFIG_SLUB=y | ||
101 | # CONFIG_SLOB is not set | 99 | # CONFIG_SLOB is not set |
102 | CONFIG_RT_MUTEXES=y | 100 | CONFIG_RT_MUTEXES=y |
103 | # CONFIG_TINY_SHMEM is not set | 101 | # CONFIG_TINY_SHMEM is not set |
104 | CONFIG_BASE_SMALL=0 | 102 | CONFIG_BASE_SMALL=0 |
105 | |||
106 | # | ||
107 | # Loadable module support | ||
108 | # | ||
109 | CONFIG_MODULES=y | 103 | CONFIG_MODULES=y |
110 | CONFIG_MODULE_UNLOAD=y | 104 | CONFIG_MODULE_UNLOAD=y |
111 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 105 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
@@ -113,12 +107,9 @@ CONFIG_MODULE_UNLOAD=y | |||
113 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 107 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
114 | CONFIG_KMOD=y | 108 | CONFIG_KMOD=y |
115 | CONFIG_STOP_MACHINE=y | 109 | CONFIG_STOP_MACHINE=y |
116 | |||
117 | # | ||
118 | # Block layer | ||
119 | # | ||
120 | CONFIG_BLOCK=y | 110 | CONFIG_BLOCK=y |
121 | # CONFIG_BLK_DEV_IO_TRACE is not set | 111 | # CONFIG_BLK_DEV_IO_TRACE is not set |
112 | # CONFIG_BLK_DEV_BSG is not set | ||
122 | 113 | ||
123 | # | 114 | # |
124 | # IO Schedulers | 115 | # IO Schedulers |
@@ -138,7 +129,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
138 | # | 129 | # |
139 | CONFIG_PPC_MULTIPLATFORM=y | 130 | CONFIG_PPC_MULTIPLATFORM=y |
140 | # CONFIG_EMBEDDED6xx is not set | 131 | # CONFIG_EMBEDDED6xx is not set |
141 | # CONFIG_APUS is not set | 132 | # CONFIG_PPC_82xx is not set |
133 | # CONFIG_PPC_83xx is not set | ||
134 | # CONFIG_PPC_86xx is not set | ||
142 | # CONFIG_PPC_PSERIES is not set | 135 | # CONFIG_PPC_PSERIES is not set |
143 | # CONFIG_PPC_ISERIES is not set | 136 | # CONFIG_PPC_ISERIES is not set |
144 | # CONFIG_PPC_MPC52xx is not set | 137 | # CONFIG_PPC_MPC52xx is not set |
@@ -158,7 +151,11 @@ CONFIG_PS3_HTAB_SIZE=20 | |||
158 | CONFIG_PS3_USE_LPAR_ADDR=y | 151 | CONFIG_PS3_USE_LPAR_ADDR=y |
159 | CONFIG_PS3_VUART=y | 152 | CONFIG_PS3_VUART=y |
160 | CONFIG_PS3_PS3AV=y | 153 | CONFIG_PS3_PS3AV=y |
161 | CONFIG_PS3_SYS_MANAGER=y | 154 | CONFIG_PS3_SYS_MANAGER=m |
155 | CONFIG_PS3_STORAGE=y | ||
156 | CONFIG_PS3_DISK=y | ||
157 | CONFIG_PS3_ROM=m | ||
158 | CONFIG_PS3_FLASH=m | ||
162 | CONFIG_PPC_CELL=y | 159 | CONFIG_PPC_CELL=y |
163 | CONFIG_PPC_CELL_NATIVE=y | 160 | CONFIG_PPC_CELL_NATIVE=y |
164 | CONFIG_PPC_IBM_CELL_BLADE=y | 161 | CONFIG_PPC_IBM_CELL_BLADE=y |
@@ -171,6 +168,7 @@ CONFIG_SPU_BASE=y | |||
171 | CONFIG_CBE_RAS=y | 168 | CONFIG_CBE_RAS=y |
172 | CONFIG_CBE_THERM=m | 169 | CONFIG_CBE_THERM=m |
173 | CONFIG_CBE_CPUFREQ=m | 170 | CONFIG_CBE_CPUFREQ=m |
171 | CONFIG_CBE_CPUFREQ_PMI=m | ||
174 | # CONFIG_PQ2ADS is not set | 172 | # CONFIG_PQ2ADS is not set |
175 | CONFIG_PPC_NATIVE=y | 173 | CONFIG_PPC_NATIVE=y |
176 | CONFIG_UDBG_RTAS_CONSOLE=y | 174 | CONFIG_UDBG_RTAS_CONSOLE=y |
@@ -183,7 +181,7 @@ CONFIG_PPC_RTAS=y | |||
183 | # CONFIG_RTAS_ERROR_LOGGING is not set | 181 | # CONFIG_RTAS_ERROR_LOGGING is not set |
184 | CONFIG_RTAS_PROC=y | 182 | CONFIG_RTAS_PROC=y |
185 | CONFIG_RTAS_FLASH=y | 183 | CONFIG_RTAS_FLASH=y |
186 | # CONFIG_PPC_PMI is not set | 184 | CONFIG_PPC_PMI=m |
187 | CONFIG_MMIO_NVRAM=y | 185 | CONFIG_MMIO_NVRAM=y |
188 | # CONFIG_PPC_MPC106 is not set | 186 | # CONFIG_PPC_MPC106 is not set |
189 | # CONFIG_PPC_970_NAP is not set | 187 | # CONFIG_PPC_970_NAP is not set |
@@ -206,6 +204,8 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y | |||
206 | # CPU Frequency drivers | 204 | # CPU Frequency drivers |
207 | # | 205 | # |
208 | # CONFIG_CPM2 is not set | 206 | # CONFIG_CPM2 is not set |
207 | CONFIG_AXON_RAM=m | ||
208 | # CONFIG_FSL_ULI1575 is not set | ||
209 | 209 | ||
210 | # | 210 | # |
211 | # Kernel options | 211 | # Kernel options |
@@ -248,6 +248,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
248 | CONFIG_MIGRATION=y | 248 | CONFIG_MIGRATION=y |
249 | CONFIG_RESOURCES_64BIT=y | 249 | CONFIG_RESOURCES_64BIT=y |
250 | CONFIG_ZONE_DMA_FLAG=1 | 250 | CONFIG_ZONE_DMA_FLAG=1 |
251 | CONFIG_BOUNCE=y | ||
251 | CONFIG_ARCH_MEMORY_PROBE=y | 252 | CONFIG_ARCH_MEMORY_PROBE=y |
252 | CONFIG_NODES_SPAN_OTHER_NODES=y | 253 | CONFIG_NODES_SPAN_OTHER_NODES=y |
253 | CONFIG_PPC_HAS_HASH_64K=y | 254 | CONFIG_PPC_HAS_HASH_64K=y |
@@ -268,7 +269,9 @@ CONFIG_GENERIC_ISA_DMA=y | |||
268 | # CONFIG_PPC_INDIRECT_PCI is not set | 269 | # CONFIG_PPC_INDIRECT_PCI is not set |
269 | CONFIG_PCI=y | 270 | CONFIG_PCI=y |
270 | CONFIG_PCI_DOMAINS=y | 271 | CONFIG_PCI_DOMAINS=y |
272 | CONFIG_PCI_SYSCALL=y | ||
271 | CONFIG_PCIEPORTBUS=y | 273 | CONFIG_PCIEPORTBUS=y |
274 | CONFIG_PCIEAER=y | ||
272 | CONFIG_ARCH_SUPPORTS_MSI=y | 275 | CONFIG_ARCH_SUPPORTS_MSI=y |
273 | # CONFIG_PCI_MSI is not set | 276 | # CONFIG_PCI_MSI is not set |
274 | # CONFIG_PCI_DEBUG is not set | 277 | # CONFIG_PCI_DEBUG is not set |
@@ -359,6 +362,7 @@ CONFIG_NETFILTER_XT_TARGET_DSCP=m | |||
359 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 362 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
360 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 363 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
361 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | 364 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m |
365 | # CONFIG_NETFILTER_XT_TARGET_TRACE is not set | ||
362 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m | 366 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m |
363 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 367 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
364 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 368 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
@@ -377,6 +381,7 @@ CONFIG_NETFILTER_XT_MATCH_SCTP=m | |||
377 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | 381 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m |
378 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 382 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
379 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 383 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
384 | CONFIG_NETFILTER_XT_MATCH_U32=m | ||
380 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m | 385 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m |
381 | 386 | ||
382 | # | 387 | # |
@@ -448,6 +453,7 @@ CONFIG_NET_CLS_ROUTE=y | |||
448 | # CONFIG_MAC80211 is not set | 453 | # CONFIG_MAC80211 is not set |
449 | # CONFIG_IEEE80211 is not set | 454 | # CONFIG_IEEE80211 is not set |
450 | # CONFIG_RFKILL is not set | 455 | # CONFIG_RFKILL is not set |
456 | # CONFIG_NET_9P is not set | ||
451 | 457 | ||
452 | # | 458 | # |
453 | # Device Drivers | 459 | # Device Drivers |
@@ -462,28 +468,12 @@ CONFIG_FW_LOADER=y | |||
462 | # CONFIG_DEBUG_DRIVER is not set | 468 | # CONFIG_DEBUG_DRIVER is not set |
463 | # CONFIG_DEBUG_DEVRES is not set | 469 | # CONFIG_DEBUG_DEVRES is not set |
464 | # CONFIG_SYS_HYPERVISOR is not set | 470 | # CONFIG_SYS_HYPERVISOR is not set |
465 | |||
466 | # | ||
467 | # Connector - unified userspace <-> kernelspace linker | ||
468 | # | ||
469 | # CONFIG_CONNECTOR is not set | 471 | # CONFIG_CONNECTOR is not set |
470 | # CONFIG_MTD is not set | 472 | # CONFIG_MTD is not set |
471 | 473 | CONFIG_OF_DEVICE=y | |
472 | # | ||
473 | # Parallel port support | ||
474 | # | ||
475 | # CONFIG_PARPORT is not set | 474 | # CONFIG_PARPORT is not set |
476 | 475 | CONFIG_BLK_DEV=y | |
477 | # | ||
478 | # Plug and Play support | ||
479 | # | ||
480 | # CONFIG_PNPACPI is not set | ||
481 | |||
482 | # | ||
483 | # Block devices | ||
484 | # | ||
485 | # CONFIG_BLK_DEV_FD is not set | 476 | # CONFIG_BLK_DEV_FD is not set |
486 | # CONFIG_BLK_CPQ_DA is not set | ||
487 | # CONFIG_BLK_CPQ_CISS_DA is not set | 477 | # CONFIG_BLK_CPQ_CISS_DA is not set |
488 | # CONFIG_BLK_DEV_DAC960 is not set | 478 | # CONFIG_BLK_DEV_DAC960 is not set |
489 | # CONFIG_BLK_DEV_UMEM is not set | 479 | # CONFIG_BLK_DEV_UMEM is not set |
@@ -499,14 +489,11 @@ CONFIG_BLK_DEV_RAM_SIZE=131072 | |||
499 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | 489 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 |
500 | # CONFIG_CDROM_PKTCDVD is not set | 490 | # CONFIG_CDROM_PKTCDVD is not set |
501 | # CONFIG_ATA_OVER_ETH is not set | 491 | # CONFIG_ATA_OVER_ETH is not set |
502 | 492 | CONFIG_MISC_DEVICES=y | |
503 | # | ||
504 | # Misc devices | ||
505 | # | ||
506 | # CONFIG_PHANTOM is not set | 493 | # CONFIG_PHANTOM is not set |
494 | # CONFIG_EEPROM_93CX6 is not set | ||
507 | # CONFIG_SGI_IOC4 is not set | 495 | # CONFIG_SGI_IOC4 is not set |
508 | # CONFIG_TIFM_CORE is not set | 496 | # CONFIG_TIFM_CORE is not set |
509 | # CONFIG_BLINK is not set | ||
510 | CONFIG_IDE=y | 497 | CONFIG_IDE=y |
511 | CONFIG_BLK_DEV_IDE=y | 498 | CONFIG_BLK_DEV_IDE=y |
512 | 499 | ||
@@ -572,6 +559,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
572 | # | 559 | # |
573 | # CONFIG_RAID_ATTRS is not set | 560 | # CONFIG_RAID_ATTRS is not set |
574 | CONFIG_SCSI=y | 561 | CONFIG_SCSI=y |
562 | CONFIG_SCSI_DMA=y | ||
575 | # CONFIG_SCSI_TGT is not set | 563 | # CONFIG_SCSI_TGT is not set |
576 | # CONFIG_SCSI_NETLINK is not set | 564 | # CONFIG_SCSI_NETLINK is not set |
577 | CONFIG_SCSI_PROC_FS=y | 565 | CONFIG_SCSI_PROC_FS=y |
@@ -604,10 +592,7 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
604 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 592 | # CONFIG_SCSI_ISCSI_ATTRS is not set |
605 | CONFIG_SCSI_SAS_ATTRS=y | 593 | CONFIG_SCSI_SAS_ATTRS=y |
606 | # CONFIG_SCSI_SAS_LIBSAS is not set | 594 | # CONFIG_SCSI_SAS_LIBSAS is not set |
607 | 595 | CONFIG_SCSI_LOWLEVEL=y | |
608 | # | ||
609 | # SCSI low-level drivers | ||
610 | # | ||
611 | # CONFIG_ISCSI_TCP is not set | 596 | # CONFIG_ISCSI_TCP is not set |
612 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 597 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
613 | # CONFIG_SCSI_3W_9XXX is not set | 598 | # CONFIG_SCSI_3W_9XXX is not set |
@@ -622,7 +607,6 @@ CONFIG_SCSI_SAS_ATTRS=y | |||
622 | # CONFIG_MEGARAID_LEGACY is not set | 607 | # CONFIG_MEGARAID_LEGACY is not set |
623 | # CONFIG_MEGARAID_SAS is not set | 608 | # CONFIG_MEGARAID_SAS is not set |
624 | # CONFIG_SCSI_HPTIOP is not set | 609 | # CONFIG_SCSI_HPTIOP is not set |
625 | # CONFIG_SCSI_BUSLOGIC is not set | ||
626 | # CONFIG_SCSI_DMX3191D is not set | 610 | # CONFIG_SCSI_DMX3191D is not set |
627 | # CONFIG_SCSI_EATA is not set | 611 | # CONFIG_SCSI_EATA is not set |
628 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 612 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
@@ -696,10 +680,6 @@ CONFIG_PATA_PDC2027X=m | |||
696 | # CONFIG_PATA_VIA is not set | 680 | # CONFIG_PATA_VIA is not set |
697 | # CONFIG_PATA_WINBOND is not set | 681 | # CONFIG_PATA_WINBOND is not set |
698 | # CONFIG_PATA_SCC is not set | 682 | # CONFIG_PATA_SCC is not set |
699 | |||
700 | # | ||
701 | # Multi-device support (RAID and LVM) | ||
702 | # | ||
703 | CONFIG_MD=y | 683 | CONFIG_MD=y |
704 | CONFIG_BLK_DEV_MD=m | 684 | CONFIG_BLK_DEV_MD=m |
705 | CONFIG_MD_LINEAR=m | 685 | CONFIG_MD_LINEAR=m |
@@ -717,6 +697,7 @@ CONFIG_DM_MIRROR=m | |||
717 | CONFIG_DM_ZERO=m | 697 | CONFIG_DM_ZERO=m |
718 | CONFIG_DM_MULTIPATH=m | 698 | CONFIG_DM_MULTIPATH=m |
719 | # CONFIG_DM_MULTIPATH_EMC is not set | 699 | # CONFIG_DM_MULTIPATH_EMC is not set |
700 | # CONFIG_DM_MULTIPATH_RDAC is not set | ||
720 | # CONFIG_DM_DELAY is not set | 701 | # CONFIG_DM_DELAY is not set |
721 | 702 | ||
722 | # | 703 | # |
@@ -728,43 +709,30 @@ CONFIG_FUSION=y | |||
728 | CONFIG_FUSION_SAS=y | 709 | CONFIG_FUSION_SAS=y |
729 | CONFIG_FUSION_MAX_SGE=128 | 710 | CONFIG_FUSION_MAX_SGE=128 |
730 | # CONFIG_FUSION_CTL is not set | 711 | # CONFIG_FUSION_CTL is not set |
712 | # CONFIG_FUSION_LOGGING is not set | ||
731 | 713 | ||
732 | # | 714 | # |
733 | # IEEE 1394 (FireWire) support | 715 | # IEEE 1394 (FireWire) support |
734 | # | 716 | # |
735 | # CONFIG_FIREWIRE is not set | 717 | # CONFIG_FIREWIRE is not set |
736 | # CONFIG_IEEE1394 is not set | 718 | # CONFIG_IEEE1394 is not set |
737 | |||
738 | # | ||
739 | # I2O device support | ||
740 | # | ||
741 | # CONFIG_I2O is not set | 719 | # CONFIG_I2O is not set |
742 | # CONFIG_MACINTOSH_DRIVERS is not set | 720 | # CONFIG_MACINTOSH_DRIVERS is not set |
743 | |||
744 | # | ||
745 | # Network device support | ||
746 | # | ||
747 | CONFIG_NETDEVICES=y | 721 | CONFIG_NETDEVICES=y |
722 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
748 | # CONFIG_DUMMY is not set | 723 | # CONFIG_DUMMY is not set |
749 | CONFIG_BONDING=m | 724 | CONFIG_BONDING=m |
725 | CONFIG_MACVLAN=m | ||
750 | # CONFIG_EQUALIZER is not set | 726 | # CONFIG_EQUALIZER is not set |
751 | CONFIG_TUN=y | 727 | CONFIG_TUN=y |
752 | # CONFIG_ARCNET is not set | 728 | # CONFIG_ARCNET is not set |
753 | # CONFIG_PHYLIB is not set | 729 | # CONFIG_PHYLIB is not set |
754 | |||
755 | # | ||
756 | # Ethernet (10 or 100Mbit) | ||
757 | # | ||
758 | CONFIG_NET_ETHERNET=y | 730 | CONFIG_NET_ETHERNET=y |
759 | CONFIG_MII=y | 731 | CONFIG_MII=y |
760 | # CONFIG_HAPPYMEAL is not set | 732 | # CONFIG_HAPPYMEAL is not set |
761 | # CONFIG_SUNGEM is not set | 733 | # CONFIG_SUNGEM is not set |
762 | # CONFIG_CASSINI is not set | 734 | # CONFIG_CASSINI is not set |
763 | # CONFIG_NET_VENDOR_3COM is not set | 735 | # CONFIG_NET_VENDOR_3COM is not set |
764 | |||
765 | # | ||
766 | # Tulip family network device support | ||
767 | # | ||
768 | # CONFIG_NET_TULIP is not set | 736 | # CONFIG_NET_TULIP is not set |
769 | # CONFIG_HP100 is not set | 737 | # CONFIG_HP100 is not set |
770 | # CONFIG_NET_PCI is not set | 738 | # CONFIG_NET_PCI is not set |
@@ -781,11 +749,12 @@ CONFIG_E1000_NAPI=y | |||
781 | # CONFIG_SIS190 is not set | 749 | # CONFIG_SIS190 is not set |
782 | CONFIG_SKGE=m | 750 | CONFIG_SKGE=m |
783 | CONFIG_SKY2=m | 751 | CONFIG_SKY2=m |
784 | # CONFIG_SK98LIN is not set | 752 | # CONFIG_SKY2_DEBUG is not set |
785 | # CONFIG_VIA_VELOCITY is not set | 753 | # CONFIG_VIA_VELOCITY is not set |
786 | CONFIG_TIGON3=y | 754 | CONFIG_TIGON3=y |
787 | # CONFIG_BNX2 is not set | 755 | # CONFIG_BNX2 is not set |
788 | CONFIG_SPIDER_NET=y | 756 | CONFIG_SPIDER_NET=y |
757 | CONFIG_GELIC_NET=m | ||
789 | # CONFIG_QLA3XXX is not set | 758 | # CONFIG_QLA3XXX is not set |
790 | # CONFIG_ATL1 is not set | 759 | # CONFIG_ATL1 is not set |
791 | CONFIG_NETDEV_10000=y | 760 | CONFIG_NETDEV_10000=y |
@@ -824,15 +793,7 @@ CONFIG_NETDEV_10000=y | |||
824 | # CONFIG_NETCONSOLE is not set | 793 | # CONFIG_NETCONSOLE is not set |
825 | # CONFIG_NETPOLL is not set | 794 | # CONFIG_NETPOLL is not set |
826 | # CONFIG_NET_POLL_CONTROLLER is not set | 795 | # CONFIG_NET_POLL_CONTROLLER is not set |
827 | |||
828 | # | ||
829 | # ISDN subsystem | ||
830 | # | ||
831 | # CONFIG_ISDN is not set | 796 | # CONFIG_ISDN is not set |
832 | |||
833 | # | ||
834 | # Telephony Support | ||
835 | # | ||
836 | # CONFIG_PHONE is not set | 797 | # CONFIG_PHONE is not set |
837 | 798 | ||
838 | # | 799 | # |
@@ -925,10 +886,6 @@ CONFIG_UNIX98_PTYS=y | |||
925 | CONFIG_HVC_DRIVER=y | 886 | CONFIG_HVC_DRIVER=y |
926 | CONFIG_HVC_RTAS=y | 887 | CONFIG_HVC_RTAS=y |
927 | CONFIG_HVC_BEAT=y | 888 | CONFIG_HVC_BEAT=y |
928 | |||
929 | # | ||
930 | # IPMI | ||
931 | # | ||
932 | CONFIG_IPMI_HANDLER=m | 889 | CONFIG_IPMI_HANDLER=m |
933 | # CONFIG_IPMI_PANIC_EVENT is not set | 890 | # CONFIG_IPMI_PANIC_EVENT is not set |
934 | CONFIG_IPMI_DEVICE_INTERFACE=m | 891 | CONFIG_IPMI_DEVICE_INTERFACE=m |
@@ -963,10 +920,6 @@ CONFIG_GEN_RTC=y | |||
963 | # CONFIG_DRM is not set | 920 | # CONFIG_DRM is not set |
964 | # CONFIG_RAW_DRIVER is not set | 921 | # CONFIG_RAW_DRIVER is not set |
965 | # CONFIG_HANGCHECK_TIMER is not set | 922 | # CONFIG_HANGCHECK_TIMER is not set |
966 | |||
967 | # | ||
968 | # TPM devices | ||
969 | # | ||
970 | # CONFIG_TCG_TPM is not set | 923 | # CONFIG_TCG_TPM is not set |
971 | CONFIG_DEVPORT=y | 924 | CONFIG_DEVPORT=y |
972 | CONFIG_I2C=y | 925 | CONFIG_I2C=y |
@@ -1000,6 +953,7 @@ CONFIG_I2C_ALGOBIT=y | |||
1000 | # CONFIG_I2C_SIS5595 is not set | 953 | # CONFIG_I2C_SIS5595 is not set |
1001 | # CONFIG_I2C_SIS630 is not set | 954 | # CONFIG_I2C_SIS630 is not set |
1002 | # CONFIG_I2C_SIS96X is not set | 955 | # CONFIG_I2C_SIS96X is not set |
956 | # CONFIG_I2C_TAOS_EVM is not set | ||
1003 | # CONFIG_I2C_STUB is not set | 957 | # CONFIG_I2C_STUB is not set |
1004 | # CONFIG_I2C_TINY_USB is not set | 958 | # CONFIG_I2C_TINY_USB is not set |
1005 | # CONFIG_I2C_VIA is not set | 959 | # CONFIG_I2C_VIA is not set |
@@ -1011,11 +965,13 @@ CONFIG_I2C_ALGOBIT=y | |||
1011 | # | 965 | # |
1012 | # CONFIG_SENSORS_DS1337 is not set | 966 | # CONFIG_SENSORS_DS1337 is not set |
1013 | # CONFIG_SENSORS_DS1374 is not set | 967 | # CONFIG_SENSORS_DS1374 is not set |
968 | # CONFIG_DS1682 is not set | ||
1014 | # CONFIG_SENSORS_EEPROM is not set | 969 | # CONFIG_SENSORS_EEPROM is not set |
1015 | # CONFIG_SENSORS_PCF8574 is not set | 970 | # CONFIG_SENSORS_PCF8574 is not set |
1016 | # CONFIG_SENSORS_PCA9539 is not set | 971 | # CONFIG_SENSORS_PCA9539 is not set |
1017 | # CONFIG_SENSORS_PCF8591 is not set | 972 | # CONFIG_SENSORS_PCF8591 is not set |
1018 | # CONFIG_SENSORS_MAX6875 is not set | 973 | # CONFIG_SENSORS_MAX6875 is not set |
974 | # CONFIG_SENSORS_TSL2550 is not set | ||
1019 | # CONFIG_I2C_DEBUG_CORE is not set | 975 | # CONFIG_I2C_DEBUG_CORE is not set |
1020 | # CONFIG_I2C_DEBUG_ALGO is not set | 976 | # CONFIG_I2C_DEBUG_ALGO is not set |
1021 | # CONFIG_I2C_DEBUG_BUS is not set | 977 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -1026,11 +982,8 @@ CONFIG_I2C_ALGOBIT=y | |||
1026 | # | 982 | # |
1027 | # CONFIG_SPI is not set | 983 | # CONFIG_SPI is not set |
1028 | # CONFIG_SPI_MASTER is not set | 984 | # CONFIG_SPI_MASTER is not set |
1029 | |||
1030 | # | ||
1031 | # Dallas's 1-wire bus | ||
1032 | # | ||
1033 | # CONFIG_W1 is not set | 985 | # CONFIG_W1 is not set |
986 | # CONFIG_POWER_SUPPLY is not set | ||
1034 | # CONFIG_HWMON is not set | 987 | # CONFIG_HWMON is not set |
1035 | 988 | ||
1036 | # | 989 | # |
@@ -1055,6 +1008,7 @@ CONFIG_I2C_ALGOBIT=y | |||
1055 | # | 1008 | # |
1056 | # CONFIG_DISPLAY_SUPPORT is not set | 1009 | # CONFIG_DISPLAY_SUPPORT is not set |
1057 | # CONFIG_VGASTATE is not set | 1010 | # CONFIG_VGASTATE is not set |
1011 | CONFIG_VIDEO_OUTPUT_CONTROL=m | ||
1058 | # CONFIG_FB is not set | 1012 | # CONFIG_FB is not set |
1059 | # CONFIG_FB_IBM_GXT4500 is not set | 1013 | # CONFIG_FB_IBM_GXT4500 is not set |
1060 | 1014 | ||
@@ -1068,10 +1022,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
1068 | # Sound | 1022 | # Sound |
1069 | # | 1023 | # |
1070 | # CONFIG_SOUND is not set | 1024 | # CONFIG_SOUND is not set |
1071 | 1025 | CONFIG_HID_SUPPORT=y | |
1072 | # | ||
1073 | # HID Devices | ||
1074 | # | ||
1075 | CONFIG_HID=m | 1026 | CONFIG_HID=m |
1076 | # CONFIG_HID_DEBUG is not set | 1027 | # CONFIG_HID_DEBUG is not set |
1077 | 1028 | ||
@@ -1085,10 +1036,7 @@ CONFIG_HID=m | |||
1085 | # | 1036 | # |
1086 | # CONFIG_USB_KBD is not set | 1037 | # CONFIG_USB_KBD is not set |
1087 | # CONFIG_USB_MOUSE is not set | 1038 | # CONFIG_USB_MOUSE is not set |
1088 | 1039 | CONFIG_USB_SUPPORT=y | |
1089 | # | ||
1090 | # USB support | ||
1091 | # | ||
1092 | CONFIG_USB_ARCH_HAS_HCD=y | 1040 | CONFIG_USB_ARCH_HAS_HCD=y |
1093 | CONFIG_USB_ARCH_HAS_OHCI=y | 1041 | CONFIG_USB_ARCH_HAS_OHCI=y |
1094 | CONFIG_USB_ARCH_HAS_EHCI=y | 1042 | CONFIG_USB_ARCH_HAS_EHCI=y |
@@ -1122,6 +1070,7 @@ CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y | |||
1122 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | 1070 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y |
1123 | # CONFIG_USB_UHCI_HCD is not set | 1071 | # CONFIG_USB_UHCI_HCD is not set |
1124 | # CONFIG_USB_SL811_HCD is not set | 1072 | # CONFIG_USB_SL811_HCD is not set |
1073 | # CONFIG_USB_R8A66597_HCD is not set | ||
1125 | 1074 | ||
1126 | # | 1075 | # |
1127 | # USB Device Class drivers | 1076 | # USB Device Class drivers |
@@ -1199,23 +1148,7 @@ CONFIG_USB_MON=y | |||
1199 | # | 1148 | # |
1200 | # CONFIG_USB_GADGET is not set | 1149 | # CONFIG_USB_GADGET is not set |
1201 | # CONFIG_MMC is not set | 1150 | # CONFIG_MMC is not set |
1202 | |||
1203 | # | ||
1204 | # LED devices | ||
1205 | # | ||
1206 | # CONFIG_NEW_LEDS is not set | 1151 | # CONFIG_NEW_LEDS is not set |
1207 | |||
1208 | # | ||
1209 | # LED drivers | ||
1210 | # | ||
1211 | |||
1212 | # | ||
1213 | # LED Triggers | ||
1214 | # | ||
1215 | |||
1216 | # | ||
1217 | # InfiniBand support | ||
1218 | # | ||
1219 | CONFIG_INFINIBAND=m | 1152 | CONFIG_INFINIBAND=m |
1220 | CONFIG_INFINIBAND_USER_MAD=m | 1153 | CONFIG_INFINIBAND_USER_MAD=m |
1221 | CONFIG_INFINIBAND_USER_ACCESS=m | 1154 | CONFIG_INFINIBAND_USER_ACCESS=m |
@@ -1231,14 +1164,13 @@ CONFIG_INFINIBAND_IPOIB_DEBUG=y | |||
1231 | CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y | 1164 | CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y |
1232 | # CONFIG_INFINIBAND_SRP is not set | 1165 | # CONFIG_INFINIBAND_SRP is not set |
1233 | # CONFIG_INFINIBAND_ISER is not set | 1166 | # CONFIG_INFINIBAND_ISER is not set |
1167 | CONFIG_EDAC=y | ||
1234 | 1168 | ||
1235 | # | 1169 | # |
1236 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 1170 | # Reporting subsystems |
1237 | # | ||
1238 | |||
1239 | # | ||
1240 | # Real Time Clock | ||
1241 | # | 1171 | # |
1172 | # CONFIG_EDAC_DEBUG is not set | ||
1173 | CONFIG_EDAC_MM_EDAC=y | ||
1242 | # CONFIG_RTC_CLASS is not set | 1174 | # CONFIG_RTC_CLASS is not set |
1243 | 1175 | ||
1244 | # | 1176 | # |
@@ -1255,6 +1187,12 @@ CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y | |||
1255 | # | 1187 | # |
1256 | 1188 | ||
1257 | # | 1189 | # |
1190 | # Userspace I/O | ||
1191 | # | ||
1192 | CONFIG_UIO=m | ||
1193 | # CONFIG_UIO_CIF is not set | ||
1194 | |||
1195 | # | ||
1258 | # File systems | 1196 | # File systems |
1259 | # | 1197 | # |
1260 | CONFIG_EXT2_FS=y | 1198 | CONFIG_EXT2_FS=y |
@@ -1357,7 +1295,6 @@ CONFIG_SUNRPC=y | |||
1357 | # CONFIG_NCP_FS is not set | 1295 | # CONFIG_NCP_FS is not set |
1358 | # CONFIG_CODA_FS is not set | 1296 | # CONFIG_CODA_FS is not set |
1359 | # CONFIG_AFS_FS is not set | 1297 | # CONFIG_AFS_FS is not set |
1360 | # CONFIG_9P_FS is not set | ||
1361 | 1298 | ||
1362 | # | 1299 | # |
1363 | # Partition Types | 1300 | # Partition Types |
@@ -1439,6 +1376,7 @@ CONFIG_BITREVERSE=y | |||
1439 | # CONFIG_CRC16 is not set | 1376 | # CONFIG_CRC16 is not set |
1440 | # CONFIG_CRC_ITU_T is not set | 1377 | # CONFIG_CRC_ITU_T is not set |
1441 | CONFIG_CRC32=y | 1378 | CONFIG_CRC32=y |
1379 | # CONFIG_CRC7 is not set | ||
1442 | # CONFIG_LIBCRC32C is not set | 1380 | # CONFIG_LIBCRC32C is not set |
1443 | CONFIG_ZLIB_INFLATE=m | 1381 | CONFIG_ZLIB_INFLATE=m |
1444 | CONFIG_ZLIB_DEFLATE=m | 1382 | CONFIG_ZLIB_DEFLATE=m |
@@ -1471,9 +1409,10 @@ CONFIG_DEBUG_FS=y | |||
1471 | CONFIG_DEBUG_KERNEL=y | 1409 | CONFIG_DEBUG_KERNEL=y |
1472 | # CONFIG_DEBUG_SHIRQ is not set | 1410 | # CONFIG_DEBUG_SHIRQ is not set |
1473 | # CONFIG_DETECT_SOFTLOCKUP is not set | 1411 | # CONFIG_DETECT_SOFTLOCKUP is not set |
1412 | CONFIG_SCHED_DEBUG=y | ||
1474 | # CONFIG_SCHEDSTATS is not set | 1413 | # CONFIG_SCHEDSTATS is not set |
1475 | # CONFIG_TIMER_STATS is not set | 1414 | # CONFIG_TIMER_STATS is not set |
1476 | # CONFIG_DEBUG_SLAB is not set | 1415 | # CONFIG_SLUB_DEBUG_ON is not set |
1477 | # CONFIG_DEBUG_RT_MUTEXES is not set | 1416 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1478 | # CONFIG_RT_MUTEX_TESTER is not set | 1417 | # CONFIG_RT_MUTEX_TESTER is not set |
1479 | # CONFIG_DEBUG_SPINLOCK is not set | 1418 | # CONFIG_DEBUG_SPINLOCK is not set |
@@ -1504,10 +1443,6 @@ CONFIG_IRQSTACKS=y | |||
1504 | # | 1443 | # |
1505 | # CONFIG_KEYS is not set | 1444 | # CONFIG_KEYS is not set |
1506 | # CONFIG_SECURITY is not set | 1445 | # CONFIG_SECURITY is not set |
1507 | |||
1508 | # | ||
1509 | # Cryptographic options | ||
1510 | # | ||
1511 | CONFIG_CRYPTO=y | 1446 | CONFIG_CRYPTO=y |
1512 | CONFIG_CRYPTO_ALGAPI=y | 1447 | CONFIG_CRYPTO_ALGAPI=y |
1513 | CONFIG_CRYPTO_BLKCIPHER=m | 1448 | CONFIG_CRYPTO_BLKCIPHER=m |
@@ -1546,7 +1481,4 @@ CONFIG_CRYPTO_DEFLATE=m | |||
1546 | # CONFIG_CRYPTO_CRC32C is not set | 1481 | # CONFIG_CRYPTO_CRC32C is not set |
1547 | # CONFIG_CRYPTO_CAMELLIA is not set | 1482 | # CONFIG_CRYPTO_CAMELLIA is not set |
1548 | # CONFIG_CRYPTO_TEST is not set | 1483 | # CONFIG_CRYPTO_TEST is not set |
1549 | 1484 | CONFIG_CRYPTO_HW=y | |
1550 | # | ||
1551 | # Hardware crypto devices | ||
1552 | # | ||
diff --git a/arch/powerpc/mm/slb.c b/arch/powerpc/mm/slb.c index a73d2d700973..ff1811ac6c81 100644 --- a/arch/powerpc/mm/slb.c +++ b/arch/powerpc/mm/slb.c | |||
@@ -74,6 +74,22 @@ static inline void slb_shadow_clear(unsigned long entry) | |||
74 | get_slb_shadow()->save_area[entry].esid = 0; | 74 | get_slb_shadow()->save_area[entry].esid = 0; |
75 | } | 75 | } |
76 | 76 | ||
77 | static inline void create_shadowed_slbe(unsigned long ea, unsigned long flags, | ||
78 | unsigned long entry) | ||
79 | { | ||
80 | /* | ||
81 | * Updating the shadow buffer before writing the SLB ensures | ||
82 | * we don't get a stale entry here if we get preempted by PHYP | ||
83 | * between these two statements. | ||
84 | */ | ||
85 | slb_shadow_update(ea, flags, entry); | ||
86 | |||
87 | asm volatile("slbmte %0,%1" : | ||
88 | : "r" (mk_vsid_data(ea, flags)), | ||
89 | "r" (mk_esid_data(ea, entry)) | ||
90 | : "memory" ); | ||
91 | } | ||
92 | |||
77 | void slb_flush_and_rebolt(void) | 93 | void slb_flush_and_rebolt(void) |
78 | { | 94 | { |
79 | /* If you change this make sure you change SLB_NUM_BOLTED | 95 | /* If you change this make sure you change SLB_NUM_BOLTED |
@@ -226,12 +242,16 @@ void slb_initialize(void) | |||
226 | vflags = SLB_VSID_KERNEL | vmalloc_llp; | 242 | vflags = SLB_VSID_KERNEL | vmalloc_llp; |
227 | 243 | ||
228 | /* Invalidate the entire SLB (even slot 0) & all the ERATS */ | 244 | /* Invalidate the entire SLB (even slot 0) & all the ERATS */ |
229 | slb_shadow_update(PAGE_OFFSET, lflags, 0); | 245 | asm volatile("isync":::"memory"); |
230 | asm volatile("isync; slbia; sync; slbmte %0,%1; isync" :: | 246 | asm volatile("slbmte %0,%0"::"r" (0) : "memory"); |
231 | "r" (get_slb_shadow()->save_area[0].vsid), | 247 | asm volatile("isync; slbia; isync":::"memory"); |
232 | "r" (get_slb_shadow()->save_area[0].esid) : "memory"); | 248 | create_shadowed_slbe(PAGE_OFFSET, lflags, 0); |
233 | 249 | ||
234 | slb_shadow_update(VMALLOC_START, vflags, 1); | 250 | create_shadowed_slbe(VMALLOC_START, vflags, 1); |
235 | 251 | ||
236 | slb_flush_and_rebolt(); | 252 | /* We don't bolt the stack for the time being - we're in boot, |
253 | * so the stack is in the bolted segment. By the time it goes | ||
254 | * elsewhere, we'll call _switch() which will bolt in the new | ||
255 | * one. */ | ||
256 | asm volatile("isync":::"memory"); | ||
237 | } | 257 | } |
diff --git a/arch/powerpc/platforms/cell/cbe_regs.h b/arch/powerpc/platforms/cell/cbe_regs.h index 17d597144877..b24025f2ac7a 100644 --- a/arch/powerpc/platforms/cell/cbe_regs.h +++ b/arch/powerpc/platforms/cell/cbe_regs.h | |||
@@ -113,10 +113,14 @@ struct cbe_pmd_regs { | |||
113 | u64 checkstop_fir; /* 0x0c00 */ | 113 | u64 checkstop_fir; /* 0x0c00 */ |
114 | u64 recoverable_fir; /* 0x0c08 */ | 114 | u64 recoverable_fir; /* 0x0c08 */ |
115 | u64 spec_att_mchk_fir; /* 0x0c10 */ | 115 | u64 spec_att_mchk_fir; /* 0x0c10 */ |
116 | u64 fir_mode_reg; /* 0x0c18 */ | 116 | u32 fir_mode_reg; /* 0x0c18 */ |
117 | u8 pad_0x0c1c_0x0c20 [4]; /* 0x0c1c */ | ||
118 | #define CBE_PMD_FIR_MODE_M8 0x00800 | ||
117 | u64 fir_enable_mask; /* 0x0c20 */ | 119 | u64 fir_enable_mask; /* 0x0c20 */ |
118 | 120 | ||
119 | u8 pad_0x0c28_0x1000 [0x1000 - 0x0c28]; /* 0x0c28 */ | 121 | u8 pad_0x0c28_0x0ca8 [0x0ca8 - 0x0c28]; /* 0x0c28 */ |
122 | u64 ras_esc_0; /* 0x0ca8 */ | ||
123 | u8 pad_0x0cb0_0x1000 [0x1000 - 0x0cb0]; /* 0x0cb0 */ | ||
120 | }; | 124 | }; |
121 | 125 | ||
122 | extern struct cbe_pmd_regs __iomem *cbe_get_pmd_regs(struct device_node *np); | 126 | extern struct cbe_pmd_regs __iomem *cbe_get_pmd_regs(struct device_node *np); |
diff --git a/arch/powerpc/platforms/cell/cbe_thermal.c b/arch/powerpc/platforms/cell/cbe_thermal.c index e4132f8f51b3..fb5eda48467d 100644 --- a/arch/powerpc/platforms/cell/cbe_thermal.c +++ b/arch/powerpc/platforms/cell/cbe_thermal.c | |||
@@ -88,17 +88,13 @@ static struct cbe_pmd_regs __iomem *get_pmd_regs(struct sys_device *sysdev) | |||
88 | /* returns the value for a given spu in a given register */ | 88 | /* returns the value for a given spu in a given register */ |
89 | static u8 spu_read_register_value(struct sys_device *sysdev, union spe_reg __iomem *reg) | 89 | static u8 spu_read_register_value(struct sys_device *sysdev, union spe_reg __iomem *reg) |
90 | { | 90 | { |
91 | const unsigned int *id; | ||
92 | union spe_reg value; | 91 | union spe_reg value; |
93 | struct spu *spu; | 92 | struct spu *spu; |
94 | 93 | ||
95 | /* getting the id from the reg attribute will not work on future device-tree layouts | ||
96 | * in future we should store the id to the spu struct and use it here */ | ||
97 | spu = container_of(sysdev, struct spu, sysdev); | 94 | spu = container_of(sysdev, struct spu, sysdev); |
98 | id = of_get_property(spu_devnode(spu), "reg", NULL); | ||
99 | value.val = in_be64(®->val); | 95 | value.val = in_be64(®->val); |
100 | 96 | ||
101 | return value.spe[*id]; | 97 | return value.spe[spu->spe_id]; |
102 | } | 98 | } |
103 | 99 | ||
104 | static ssize_t spu_show_temp(struct sys_device *sysdev, char *buf) | 100 | static ssize_t spu_show_temp(struct sys_device *sysdev, char *buf) |
diff --git a/arch/powerpc/platforms/cell/pervasive.c b/arch/powerpc/platforms/cell/pervasive.c index 812bf563ed65..4ede22d363fa 100644 --- a/arch/powerpc/platforms/cell/pervasive.c +++ b/arch/powerpc/platforms/cell/pervasive.c | |||
@@ -38,6 +38,8 @@ | |||
38 | #include "pervasive.h" | 38 | #include "pervasive.h" |
39 | #include "cbe_regs.h" | 39 | #include "cbe_regs.h" |
40 | 40 | ||
41 | static int sysreset_hack; | ||
42 | |||
41 | static void cbe_power_save(void) | 43 | static void cbe_power_save(void) |
42 | { | 44 | { |
43 | unsigned long ctrl, thread_switch_control; | 45 | unsigned long ctrl, thread_switch_control; |
@@ -85,6 +87,9 @@ static void cbe_power_save(void) | |||
85 | 87 | ||
86 | static int cbe_system_reset_exception(struct pt_regs *regs) | 88 | static int cbe_system_reset_exception(struct pt_regs *regs) |
87 | { | 89 | { |
90 | int cpu; | ||
91 | struct cbe_pmd_regs __iomem *pmd; | ||
92 | |||
88 | switch (regs->msr & SRR1_WAKEMASK) { | 93 | switch (regs->msr & SRR1_WAKEMASK) { |
89 | case SRR1_WAKEEE: | 94 | case SRR1_WAKEEE: |
90 | do_IRQ(regs); | 95 | do_IRQ(regs); |
@@ -93,6 +98,18 @@ static int cbe_system_reset_exception(struct pt_regs *regs) | |||
93 | timer_interrupt(regs); | 98 | timer_interrupt(regs); |
94 | break; | 99 | break; |
95 | case SRR1_WAKEMT: | 100 | case SRR1_WAKEMT: |
101 | /* | ||
102 | * The BMC can inject user triggered system reset exceptions, | ||
103 | * but cannot set the system reset reason in srr1, | ||
104 | * so check an extra register here. | ||
105 | */ | ||
106 | if (sysreset_hack && (cpu = smp_processor_id()) == 0) { | ||
107 | pmd = cbe_get_cpu_pmd_regs(cpu); | ||
108 | if (in_be64(&pmd->ras_esc_0) & 0xffff) { | ||
109 | out_be64(&pmd->ras_esc_0, 0); | ||
110 | return 0; | ||
111 | } | ||
112 | } | ||
96 | break; | 113 | break; |
97 | #ifdef CONFIG_CBE_RAS | 114 | #ifdef CONFIG_CBE_RAS |
98 | case SRR1_WAKESYSERR: | 115 | case SRR1_WAKESYSERR: |
@@ -113,9 +130,12 @@ static int cbe_system_reset_exception(struct pt_regs *regs) | |||
113 | void __init cbe_pervasive_init(void) | 130 | void __init cbe_pervasive_init(void) |
114 | { | 131 | { |
115 | int cpu; | 132 | int cpu; |
133 | |||
116 | if (!cpu_has_feature(CPU_FTR_PAUSE_ZERO)) | 134 | if (!cpu_has_feature(CPU_FTR_PAUSE_ZERO)) |
117 | return; | 135 | return; |
118 | 136 | ||
137 | sysreset_hack = machine_is_compatible("IBM,CBPLUS-1.0"); | ||
138 | |||
119 | for_each_possible_cpu(cpu) { | 139 | for_each_possible_cpu(cpu) { |
120 | struct cbe_pmd_regs __iomem *regs = cbe_get_cpu_pmd_regs(cpu); | 140 | struct cbe_pmd_regs __iomem *regs = cbe_get_cpu_pmd_regs(cpu); |
121 | if (!regs) | 141 | if (!regs) |
@@ -124,6 +144,12 @@ void __init cbe_pervasive_init(void) | |||
124 | /* Enable Pause(0) control bit */ | 144 | /* Enable Pause(0) control bit */ |
125 | out_be64(®s->pmcr, in_be64(®s->pmcr) | | 145 | out_be64(®s->pmcr, in_be64(®s->pmcr) | |
126 | CBE_PMD_PAUSE_ZERO_CONTROL); | 146 | CBE_PMD_PAUSE_ZERO_CONTROL); |
147 | |||
148 | /* Enable JTAG system-reset hack */ | ||
149 | if (sysreset_hack) | ||
150 | out_be32(®s->fir_mode_reg, | ||
151 | in_be32(®s->fir_mode_reg) | | ||
152 | CBE_PMD_FIR_MODE_M8); | ||
127 | } | 153 | } |
128 | 154 | ||
129 | ppc_md.power_save = cbe_power_save; | 155 | ppc_md.power_save = cbe_power_save; |
diff --git a/arch/powerpc/platforms/cell/spu_manage.c b/arch/powerpc/platforms/cell/spu_manage.c index 5eb88346181a..7c0668a9dcc7 100644 --- a/arch/powerpc/platforms/cell/spu_manage.c +++ b/arch/powerpc/platforms/cell/spu_manage.c | |||
@@ -48,7 +48,7 @@ static u64 __init find_spu_unit_number(struct device_node *spe) | |||
48 | { | 48 | { |
49 | const unsigned int *prop; | 49 | const unsigned int *prop; |
50 | int proplen; | 50 | int proplen; |
51 | prop = of_get_property(spe, "unit-id", &proplen); | 51 | prop = of_get_property(spe, "physical-id", &proplen); |
52 | if (proplen == 4) | 52 | if (proplen == 4) |
53 | return (u64)*prop; | 53 | return (u64)*prop; |
54 | 54 | ||
diff --git a/arch/powerpc/platforms/pasemi/iommu.c b/arch/powerpc/platforms/pasemi/iommu.c index f33b21b9f5d4..9014d55c717b 100644 --- a/arch/powerpc/platforms/pasemi/iommu.c +++ b/arch/powerpc/platforms/pasemi/iommu.c | |||
@@ -93,7 +93,7 @@ static void iobmap_build(struct iommu_table *tbl, long index, | |||
93 | 93 | ||
94 | pr_debug("iobmap: build at: %lx, %lx, addr: %lx\n", index, npages, uaddr); | 94 | pr_debug("iobmap: build at: %lx, %lx, addr: %lx\n", index, npages, uaddr); |
95 | 95 | ||
96 | bus_addr = (tbl->it_offset + index) << PAGE_SHIFT; | 96 | bus_addr = (tbl->it_offset + index) << IOBMAP_PAGE_SHIFT; |
97 | 97 | ||
98 | ip = ((u32 *)tbl->it_base) + index; | 98 | ip = ((u32 *)tbl->it_base) + index; |
99 | 99 | ||
@@ -118,7 +118,7 @@ static void iobmap_free(struct iommu_table *tbl, long index, | |||
118 | 118 | ||
119 | pr_debug("iobmap: free at: %lx, %lx\n", index, npages); | 119 | pr_debug("iobmap: free at: %lx, %lx\n", index, npages); |
120 | 120 | ||
121 | bus_addr = (tbl->it_offset + index) << PAGE_SHIFT; | 121 | bus_addr = (tbl->it_offset + index) << IOBMAP_PAGE_SHIFT; |
122 | 122 | ||
123 | ip = ((u32 *)tbl->it_base) + index; | 123 | ip = ((u32 *)tbl->it_base) + index; |
124 | 124 | ||
@@ -137,7 +137,7 @@ static void iommu_table_iobmap_setup(void) | |||
137 | iommu_table_iobmap.it_busno = 0; | 137 | iommu_table_iobmap.it_busno = 0; |
138 | iommu_table_iobmap.it_offset = 0; | 138 | iommu_table_iobmap.it_offset = 0; |
139 | /* it_size is in number of entries */ | 139 | /* it_size is in number of entries */ |
140 | iommu_table_iobmap.it_size = 0x80000000 >> PAGE_SHIFT; | 140 | iommu_table_iobmap.it_size = 0x80000000 >> IOBMAP_PAGE_SHIFT; |
141 | 141 | ||
142 | /* Initialize the common IOMMU code */ | 142 | /* Initialize the common IOMMU code */ |
143 | iommu_table_iobmap.it_base = (unsigned long)iob_l2_base; | 143 | iommu_table_iobmap.it_base = (unsigned long)iob_l2_base; |
diff --git a/arch/powerpc/sysdev/axonram.c b/arch/powerpc/sysdev/axonram.c index 2326d5dc5752..ab037a3a40db 100644 --- a/arch/powerpc/sysdev/axonram.c +++ b/arch/powerpc/sysdev/axonram.c | |||
@@ -59,8 +59,7 @@ | |||
59 | struct axon_ram_bank { | 59 | struct axon_ram_bank { |
60 | struct of_device *device; | 60 | struct of_device *device; |
61 | struct gendisk *disk; | 61 | struct gendisk *disk; |
62 | unsigned int irq_correctable; | 62 | unsigned int irq_id; |
63 | unsigned int irq_uncorrectable; | ||
64 | unsigned long ph_addr; | 63 | unsigned long ph_addr; |
65 | unsigned long io_addr; | 64 | unsigned long io_addr; |
66 | unsigned long size; | 65 | unsigned long size; |
@@ -93,16 +92,9 @@ axon_ram_irq_handler(int irq, void *dev) | |||
93 | 92 | ||
94 | BUG_ON(!bank); | 93 | BUG_ON(!bank); |
95 | 94 | ||
96 | if (irq == bank->irq_correctable) { | 95 | dev_err(&device->dev, "Correctable memory error occured\n"); |
97 | dev_err(&device->dev, "Correctable memory error occured\n"); | 96 | bank->ecc_counter++; |
98 | bank->ecc_counter++; | 97 | return IRQ_HANDLED; |
99 | return IRQ_HANDLED; | ||
100 | } else if (irq == bank->irq_uncorrectable) { | ||
101 | dev_err(&device->dev, "Uncorrectable memory error occured\n"); | ||
102 | panic("Critical ECC error on %s", device->node->full_name); | ||
103 | } | ||
104 | |||
105 | return IRQ_NONE; | ||
106 | } | 98 | } |
107 | 99 | ||
108 | /** | 100 | /** |
@@ -259,28 +251,18 @@ axon_ram_probe(struct of_device *device, const struct of_device_id *device_id) | |||
259 | blk_queue_hardsect_size(bank->disk->queue, AXON_RAM_SECTOR_SIZE); | 251 | blk_queue_hardsect_size(bank->disk->queue, AXON_RAM_SECTOR_SIZE); |
260 | add_disk(bank->disk); | 252 | add_disk(bank->disk); |
261 | 253 | ||
262 | bank->irq_correctable = irq_of_parse_and_map(device->node, 0); | 254 | bank->irq_id = irq_of_parse_and_map(device->node, 0); |
263 | bank->irq_uncorrectable = irq_of_parse_and_map(device->node, 1); | 255 | if (bank->irq_id == NO_IRQ) { |
264 | if ((bank->irq_correctable <= 0) || (bank->irq_uncorrectable <= 0)) { | ||
265 | dev_err(&device->dev, "Cannot access ECC interrupt ID\n"); | 256 | dev_err(&device->dev, "Cannot access ECC interrupt ID\n"); |
266 | rc = -EFAULT; | 257 | rc = -EFAULT; |
267 | goto failed; | 258 | goto failed; |
268 | } | 259 | } |
269 | 260 | ||
270 | rc = request_irq(bank->irq_correctable, axon_ram_irq_handler, | 261 | rc = request_irq(bank->irq_id, axon_ram_irq_handler, |
271 | AXON_RAM_IRQ_FLAGS, bank->disk->disk_name, device); | ||
272 | if (rc != 0) { | ||
273 | dev_err(&device->dev, "Cannot register ECC interrupt handler\n"); | ||
274 | bank->irq_correctable = bank->irq_uncorrectable = 0; | ||
275 | rc = -EFAULT; | ||
276 | goto failed; | ||
277 | } | ||
278 | |||
279 | rc = request_irq(bank->irq_uncorrectable, axon_ram_irq_handler, | ||
280 | AXON_RAM_IRQ_FLAGS, bank->disk->disk_name, device); | 262 | AXON_RAM_IRQ_FLAGS, bank->disk->disk_name, device); |
281 | if (rc != 0) { | 263 | if (rc != 0) { |
282 | dev_err(&device->dev, "Cannot register ECC interrupt handler\n"); | 264 | dev_err(&device->dev, "Cannot register ECC interrupt handler\n"); |
283 | bank->irq_uncorrectable = 0; | 265 | bank->irq_id = NO_IRQ; |
284 | rc = -EFAULT; | 266 | rc = -EFAULT; |
285 | goto failed; | 267 | goto failed; |
286 | } | 268 | } |
@@ -296,13 +278,9 @@ axon_ram_probe(struct of_device *device, const struct of_device_id *device_id) | |||
296 | 278 | ||
297 | failed: | 279 | failed: |
298 | if (bank != NULL) { | 280 | if (bank != NULL) { |
299 | if (bank->irq_uncorrectable > 0) | 281 | if (bank->irq_id != NO_IRQ) |
300 | free_irq(bank->irq_uncorrectable, device); | 282 | free_irq(bank->irq_id, device); |
301 | if (bank->irq_correctable > 0) | ||
302 | free_irq(bank->irq_correctable, device); | ||
303 | if (bank->disk != NULL) { | 283 | if (bank->disk != NULL) { |
304 | if (bank->disk->queue != NULL) | ||
305 | blk_cleanup_queue(bank->disk->queue); | ||
306 | if (bank->disk->major > 0) | 284 | if (bank->disk->major > 0) |
307 | unregister_blkdev(bank->disk->major, | 285 | unregister_blkdev(bank->disk->major, |
308 | bank->disk->disk_name); | 286 | bank->disk->disk_name); |
@@ -329,9 +307,7 @@ axon_ram_remove(struct of_device *device) | |||
329 | BUG_ON(!bank || !bank->disk); | 307 | BUG_ON(!bank || !bank->disk); |
330 | 308 | ||
331 | device_remove_file(&device->dev, &dev_attr_ecc); | 309 | device_remove_file(&device->dev, &dev_attr_ecc); |
332 | free_irq(bank->irq_uncorrectable, device); | 310 | free_irq(bank->irq_id, device); |
333 | free_irq(bank->irq_correctable, device); | ||
334 | blk_cleanup_queue(bank->disk->queue); | ||
335 | unregister_blkdev(bank->disk->major, bank->disk->disk_name); | 311 | unregister_blkdev(bank->disk->major, bank->disk->disk_name); |
336 | del_gendisk(bank->disk); | 312 | del_gendisk(bank->disk); |
337 | iounmap((void __iomem *) bank->io_addr); | 313 | iounmap((void __iomem *) bank->io_addr); |