diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-07-28 15:14:43 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-28 15:14:43 -0400 |
commit | 414f746d232d41ed6ae8632c4495ae795373c44b (patch) | |
tree | 167f9bc8f139c6e82e6732b38c7a938b8a9d31cd /arch | |
parent | 5a7a201c51c324876d00a54e7208af6af12d1ca4 (diff) | |
parent | c9272c4f9fbe2087beb3392f526dc5b19efaa56b (diff) |
Merge branch 'linus' into cpus4096
Diffstat (limited to 'arch')
197 files changed, 6668 insertions, 3410 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index b0fabfa864ff..364c6dadde0a 100644 --- a/arch/Kconfig +++ b/arch/Kconfig | |||
@@ -59,6 +59,24 @@ config HAVE_KPROBES | |||
59 | config HAVE_KRETPROBES | 59 | config HAVE_KRETPROBES |
60 | def_bool n | 60 | def_bool n |
61 | 61 | ||
62 | # | ||
63 | # An arch should select this if it provides all these things: | ||
64 | # | ||
65 | # task_pt_regs() in asm/processor.h or asm/ptrace.h | ||
66 | # arch_has_single_step() if there is hardware single-step support | ||
67 | # arch_has_block_step() if there is hardware block-step support | ||
68 | # arch_ptrace() and not #define __ARCH_SYS_PTRACE | ||
69 | # compat_arch_ptrace() and #define __ARCH_WANT_COMPAT_SYS_PTRACE | ||
70 | # asm/syscall.h supplying asm-generic/syscall.h interface | ||
71 | # linux/regset.h user_regset interfaces | ||
72 | # CORE_DUMP_USE_REGSET #define'd in linux/elf.h | ||
73 | # TIF_SYSCALL_TRACE calls tracehook_report_syscall_{entry,exit} | ||
74 | # TIF_NOTIFY_RESUME calls tracehook_notify_resume() | ||
75 | # signal delivery calls tracehook_signal_handler() | ||
76 | # | ||
77 | config HAVE_ARCH_TRACEHOOK | ||
78 | def_bool n | ||
79 | |||
62 | config HAVE_DMA_ATTRS | 80 | config HAVE_DMA_ATTRS |
63 | def_bool n | 81 | def_bool n |
64 | 82 | ||
diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index 32ca1b927307..6e943135f0e0 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c | |||
@@ -253,15 +253,15 @@ do_osf_statfs(struct dentry * dentry, struct osf_statfs __user *buffer, | |||
253 | } | 253 | } |
254 | 254 | ||
255 | asmlinkage int | 255 | asmlinkage int |
256 | osf_statfs(char __user *path, struct osf_statfs __user *buffer, unsigned long bufsiz) | 256 | osf_statfs(char __user *pathname, struct osf_statfs __user *buffer, unsigned long bufsiz) |
257 | { | 257 | { |
258 | struct nameidata nd; | 258 | struct path path; |
259 | int retval; | 259 | int retval; |
260 | 260 | ||
261 | retval = user_path_walk(path, &nd); | 261 | retval = user_path(pathname, &path); |
262 | if (!retval) { | 262 | if (!retval) { |
263 | retval = do_osf_statfs(nd.path.dentry, buffer, bufsiz); | 263 | retval = do_osf_statfs(path.dentry, buffer, bufsiz); |
264 | path_put(&nd.path); | 264 | path_put(&path); |
265 | } | 265 | } |
266 | return retval; | 266 | return retval; |
267 | } | 267 | } |
diff --git a/arch/alpha/mm/init.c b/arch/alpha/mm/init.c index 40c15e7301de..234e42b8ee74 100644 --- a/arch/alpha/mm/init.c +++ b/arch/alpha/mm/init.c | |||
@@ -94,36 +94,6 @@ __bad_page(void) | |||
94 | return pte_mkdirty(mk_pte(virt_to_page(EMPTY_PGE), PAGE_SHARED)); | 94 | return pte_mkdirty(mk_pte(virt_to_page(EMPTY_PGE), PAGE_SHARED)); |
95 | } | 95 | } |
96 | 96 | ||
97 | #ifndef CONFIG_DISCONTIGMEM | ||
98 | void | ||
99 | show_mem(void) | ||
100 | { | ||
101 | long i,free = 0,total = 0,reserved = 0; | ||
102 | long shared = 0, cached = 0; | ||
103 | |||
104 | printk("\nMem-info:\n"); | ||
105 | show_free_areas(); | ||
106 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); | ||
107 | i = max_mapnr; | ||
108 | while (i-- > 0) { | ||
109 | total++; | ||
110 | if (PageReserved(mem_map+i)) | ||
111 | reserved++; | ||
112 | else if (PageSwapCache(mem_map+i)) | ||
113 | cached++; | ||
114 | else if (!page_count(mem_map+i)) | ||
115 | free++; | ||
116 | else | ||
117 | shared += page_count(mem_map + i) - 1; | ||
118 | } | ||
119 | printk("%ld pages of RAM\n",total); | ||
120 | printk("%ld free pages\n",free); | ||
121 | printk("%ld reserved pages\n",reserved); | ||
122 | printk("%ld pages shared\n",shared); | ||
123 | printk("%ld pages swap cached\n",cached); | ||
124 | } | ||
125 | #endif | ||
126 | |||
127 | static inline unsigned long | 97 | static inline unsigned long |
128 | load_PCB(struct pcb_struct *pcb) | 98 | load_PCB(struct pcb_struct *pcb) |
129 | { | 99 | { |
diff --git a/arch/alpha/mm/numa.c b/arch/alpha/mm/numa.c index d8c4ceaf00b9..a13de49d1265 100644 --- a/arch/alpha/mm/numa.c +++ b/arch/alpha/mm/numa.c | |||
@@ -359,38 +359,3 @@ void __init mem_init(void) | |||
359 | mem_stress(); | 359 | mem_stress(); |
360 | #endif | 360 | #endif |
361 | } | 361 | } |
362 | |||
363 | void | ||
364 | show_mem(void) | ||
365 | { | ||
366 | long i,free = 0,total = 0,reserved = 0; | ||
367 | long shared = 0, cached = 0; | ||
368 | int nid; | ||
369 | |||
370 | printk("\nMem-info:\n"); | ||
371 | show_free_areas(); | ||
372 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); | ||
373 | for_each_online_node(nid) { | ||
374 | unsigned long flags; | ||
375 | pgdat_resize_lock(NODE_DATA(nid), &flags); | ||
376 | i = node_spanned_pages(nid); | ||
377 | while (i-- > 0) { | ||
378 | struct page *page = nid_page_nr(nid, i); | ||
379 | total++; | ||
380 | if (PageReserved(page)) | ||
381 | reserved++; | ||
382 | else if (PageSwapCache(page)) | ||
383 | cached++; | ||
384 | else if (!page_count(page)) | ||
385 | free++; | ||
386 | else | ||
387 | shared += page_count(page) - 1; | ||
388 | } | ||
389 | pgdat_resize_unlock(NODE_DATA(nid), &flags); | ||
390 | } | ||
391 | printk("%ld pages of RAM\n",total); | ||
392 | printk("%ld free pages\n",free); | ||
393 | printk("%ld reserved pages\n",reserved); | ||
394 | printk("%ld pages shared\n",shared); | ||
395 | printk("%ld pages swap cached\n",cached); | ||
396 | } | ||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index dabb015aa40b..c8f528284a94 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -314,7 +314,7 @@ config ARCH_IOP32X | |||
314 | select PLAT_IOP | 314 | select PLAT_IOP |
315 | select PCI | 315 | select PCI |
316 | select GENERIC_GPIO | 316 | select GENERIC_GPIO |
317 | select HAVE_GPIO_LIB | 317 | select ARCH_REQUIRE_GPIOLIB |
318 | help | 318 | help |
319 | Support for Intel's 80219 and IOP32X (XScale) family of | 319 | Support for Intel's 80219 and IOP32X (XScale) family of |
320 | processors. | 320 | processors. |
@@ -325,7 +325,7 @@ config ARCH_IOP33X | |||
325 | select PLAT_IOP | 325 | select PLAT_IOP |
326 | select PCI | 326 | select PCI |
327 | select GENERIC_GPIO | 327 | select GENERIC_GPIO |
328 | select HAVE_GPIO_LIB | 328 | select ARCH_REQUIRE_GPIOLIB |
329 | help | 329 | help |
330 | Support for Intel's IOP33X (XScale) family of processors. | 330 | Support for Intel's IOP33X (XScale) family of processors. |
331 | 331 | ||
@@ -418,7 +418,7 @@ config ARCH_MXC | |||
418 | select GENERIC_CLOCKEVENTS | 418 | select GENERIC_CLOCKEVENTS |
419 | select ARCH_MTD_XIP | 419 | select ARCH_MTD_XIP |
420 | select GENERIC_GPIO | 420 | select GENERIC_GPIO |
421 | select HAVE_GPIO_LIB | 421 | select ARCH_REQUIRE_GPIOLIB |
422 | help | 422 | help |
423 | Support for Freescale MXC/iMX-based family of processors | 423 | Support for Freescale MXC/iMX-based family of processors |
424 | 424 | ||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index b20995a82e04..2f0747744236 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -67,7 +67,7 @@ tune-$(CONFIG_CPU_ARM720T) :=-mtune=arm7tdmi | |||
67 | tune-$(CONFIG_CPU_ARM740T) :=-mtune=arm7tdmi | 67 | tune-$(CONFIG_CPU_ARM740T) :=-mtune=arm7tdmi |
68 | tune-$(CONFIG_CPU_ARM9TDMI) :=-mtune=arm9tdmi | 68 | tune-$(CONFIG_CPU_ARM9TDMI) :=-mtune=arm9tdmi |
69 | tune-$(CONFIG_CPU_ARM940T) :=-mtune=arm9tdmi | 69 | tune-$(CONFIG_CPU_ARM940T) :=-mtune=arm9tdmi |
70 | tune-$(CONFIG_CPU_ARM946T) :=$(call cc-option,-mtune=arm9e,-mtune=arm9tdmi) | 70 | tune-$(CONFIG_CPU_ARM946E) :=$(call cc-option,-mtune=arm9e,-mtune=arm9tdmi) |
71 | tune-$(CONFIG_CPU_ARM920T) :=-mtune=arm9tdmi | 71 | tune-$(CONFIG_CPU_ARM920T) :=-mtune=arm9tdmi |
72 | tune-$(CONFIG_CPU_ARM922T) :=-mtune=arm9tdmi | 72 | tune-$(CONFIG_CPU_ARM922T) :=-mtune=arm9tdmi |
73 | tune-$(CONFIG_CPU_ARM925T) :=-mtune=arm9tdmi | 73 | tune-$(CONFIG_CPU_ARM925T) :=-mtune=arm9tdmi |
diff --git a/arch/arm/common/dmabounce.c b/arch/arm/common/dmabounce.c index dd2947342604..69130f365904 100644 --- a/arch/arm/common/dmabounce.c +++ b/arch/arm/common/dmabounce.c | |||
@@ -280,7 +280,7 @@ unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, | |||
280 | /* | 280 | /* |
281 | * Trying to unmap an invalid mapping | 281 | * Trying to unmap an invalid mapping |
282 | */ | 282 | */ |
283 | if (dma_mapping_error(dma_addr)) { | 283 | if (dma_mapping_error(dev, dma_addr)) { |
284 | dev_err(dev, "Trying to unmap invalid mapping\n"); | 284 | dev_err(dev, "Trying to unmap invalid mapping\n"); |
285 | return; | 285 | return; |
286 | } | 286 | } |
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c index c3c3a3339049..85579654d3b7 100644 --- a/arch/arm/common/locomo.c +++ b/arch/arm/common/locomo.c | |||
@@ -331,17 +331,17 @@ static int locomo_gpio_type(unsigned int irq, unsigned int type) | |||
331 | 331 | ||
332 | mask = 1 << (irq - LOCOMO_IRQ_GPIO_START); | 332 | mask = 1 << (irq - LOCOMO_IRQ_GPIO_START); |
333 | 333 | ||
334 | if (type == IRQT_PROBE) { | 334 | if (type == IRQ_TYPE_PROBE) { |
335 | if ((GPIO_IRQ_rising_edge | GPIO_IRQ_falling_edge) & mask) | 335 | if ((GPIO_IRQ_rising_edge | GPIO_IRQ_falling_edge) & mask) |
336 | return 0; | 336 | return 0; |
337 | type = __IRQT_RISEDGE | __IRQT_FALEDGE; | 337 | type = IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING; |
338 | } | 338 | } |
339 | 339 | ||
340 | if (type & __IRQT_RISEDGE) | 340 | if (type & IRQ_TYPE_EDGE_RISING) |
341 | GPIO_IRQ_rising_edge |= mask; | 341 | GPIO_IRQ_rising_edge |= mask; |
342 | else | 342 | else |
343 | GPIO_IRQ_rising_edge &= ~mask; | 343 | GPIO_IRQ_rising_edge &= ~mask; |
344 | if (type & __IRQT_FALEDGE) | 344 | if (type & IRQ_TYPE_EDGE_FALLING) |
345 | GPIO_IRQ_falling_edge |= mask; | 345 | GPIO_IRQ_falling_edge |= mask; |
346 | else | 346 | else |
347 | GPIO_IRQ_falling_edge &= ~mask; | 347 | GPIO_IRQ_falling_edge &= ~mask; |
@@ -473,7 +473,7 @@ static void locomo_setup_irq(struct locomo *lchip) | |||
473 | /* | 473 | /* |
474 | * Install handler for IRQ_LOCOMO_HW. | 474 | * Install handler for IRQ_LOCOMO_HW. |
475 | */ | 475 | */ |
476 | set_irq_type(lchip->irq, IRQT_FALLING); | 476 | set_irq_type(lchip->irq, IRQ_TYPE_EDGE_FALLING); |
477 | set_irq_chip_data(lchip->irq, irqbase); | 477 | set_irq_chip_data(lchip->irq, irqbase); |
478 | set_irq_chained_handler(lchip->irq, locomo_handler); | 478 | set_irq_chained_handler(lchip->irq, locomo_handler); |
479 | 479 | ||
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index 0a8e1ff2af8a..f6d3fdda7067 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c | |||
@@ -241,14 +241,14 @@ static int sa1111_type_lowirq(unsigned int irq, unsigned int flags) | |||
241 | void __iomem *mapbase = get_irq_chip_data(irq); | 241 | void __iomem *mapbase = get_irq_chip_data(irq); |
242 | unsigned long ip0; | 242 | unsigned long ip0; |
243 | 243 | ||
244 | if (flags == IRQT_PROBE) | 244 | if (flags == IRQ_TYPE_PROBE) |
245 | return 0; | 245 | return 0; |
246 | 246 | ||
247 | if ((!(flags & __IRQT_RISEDGE) ^ !(flags & __IRQT_FALEDGE)) == 0) | 247 | if ((!(flags & IRQ_TYPE_EDGE_RISING) ^ !(flags & IRQ_TYPE_EDGE_FALLING)) == 0) |
248 | return -EINVAL; | 248 | return -EINVAL; |
249 | 249 | ||
250 | ip0 = sa1111_readl(mapbase + SA1111_INTPOL0); | 250 | ip0 = sa1111_readl(mapbase + SA1111_INTPOL0); |
251 | if (flags & __IRQT_RISEDGE) | 251 | if (flags & IRQ_TYPE_EDGE_RISING) |
252 | ip0 &= ~mask; | 252 | ip0 &= ~mask; |
253 | else | 253 | else |
254 | ip0 |= mask; | 254 | ip0 |= mask; |
@@ -338,14 +338,14 @@ static int sa1111_type_highirq(unsigned int irq, unsigned int flags) | |||
338 | void __iomem *mapbase = get_irq_chip_data(irq); | 338 | void __iomem *mapbase = get_irq_chip_data(irq); |
339 | unsigned long ip1; | 339 | unsigned long ip1; |
340 | 340 | ||
341 | if (flags == IRQT_PROBE) | 341 | if (flags == IRQ_TYPE_PROBE) |
342 | return 0; | 342 | return 0; |
343 | 343 | ||
344 | if ((!(flags & __IRQT_RISEDGE) ^ !(flags & __IRQT_FALEDGE)) == 0) | 344 | if ((!(flags & IRQ_TYPE_EDGE_RISING) ^ !(flags & IRQ_TYPE_EDGE_FALLING)) == 0) |
345 | return -EINVAL; | 345 | return -EINVAL; |
346 | 346 | ||
347 | ip1 = sa1111_readl(mapbase + SA1111_INTPOL1); | 347 | ip1 = sa1111_readl(mapbase + SA1111_INTPOL1); |
348 | if (flags & __IRQT_RISEDGE) | 348 | if (flags & IRQ_TYPE_EDGE_RISING) |
349 | ip1 &= ~mask; | 349 | ip1 &= ~mask; |
350 | else | 350 | else |
351 | ip1 |= mask; | 351 | ip1 |= mask; |
@@ -427,7 +427,7 @@ static void sa1111_setup_irq(struct sa1111 *sachip) | |||
427 | /* | 427 | /* |
428 | * Register SA1111 interrupt | 428 | * Register SA1111 interrupt |
429 | */ | 429 | */ |
430 | set_irq_type(sachip->irq, IRQT_RISING); | 430 | set_irq_type(sachip->irq, IRQ_TYPE_EDGE_RISING); |
431 | set_irq_data(sachip->irq, irqbase); | 431 | set_irq_data(sachip->irq, irqbase); |
432 | set_irq_chained_handler(sachip->irq, sa1111_irq_handler); | 432 | set_irq_chained_handler(sachip->irq, sa1111_irq_handler); |
433 | } | 433 | } |
diff --git a/arch/arm/configs/eseries_pxa_defconfig b/arch/arm/configs/eseries_pxa_defconfig index 493ecee24f94..2307587a38a9 100644 --- a/arch/arm/configs/eseries_pxa_defconfig +++ b/arch/arm/configs/eseries_pxa_defconfig | |||
@@ -1,15 +1,19 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.21-hh17 | 3 | # Linux kernel version: 2.6.26 |
4 | # Fri Nov 9 20:23:03 2007 | 4 | # Sat Jul 26 22:28:46 2008 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
8 | CONFIG_GENERIC_GPIO=y | 8 | CONFIG_GENERIC_GPIO=y |
9 | CONFIG_GENERIC_TIME=y | 9 | CONFIG_GENERIC_TIME=y |
10 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
10 | CONFIG_MMU=y | 11 | CONFIG_MMU=y |
11 | # CONFIG_NO_IOPORT is not set | 12 | # CONFIG_NO_IOPORT is not set |
12 | CONFIG_GENERIC_HARDIRQS=y | 13 | CONFIG_GENERIC_HARDIRQS=y |
14 | CONFIG_STACKTRACE_SUPPORT=y | ||
15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
16 | CONFIG_LOCKDEP_SUPPORT=y | ||
13 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | 17 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y |
14 | CONFIG_HARDIRQS_SW_RESEND=y | 18 | CONFIG_HARDIRQS_SW_RESEND=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 19 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -18,75 +22,90 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
18 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
19 | CONFIG_GENERIC_HWEIGHT=y | 23 | CONFIG_GENERIC_HWEIGHT=y |
20 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 24 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
25 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
21 | CONFIG_ZONE_DMA=y | 26 | CONFIG_ZONE_DMA=y |
22 | CONFIG_ARCH_MTD_XIP=y | 27 | CONFIG_ARCH_MTD_XIP=y |
28 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
23 | CONFIG_VECTORS_BASE=0xffff0000 | 29 | CONFIG_VECTORS_BASE=0xffff0000 |
24 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 30 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
25 | 31 | ||
26 | # | 32 | # |
27 | # Code maturity level options | 33 | # General setup |
28 | # | 34 | # |
29 | CONFIG_EXPERIMENTAL=y | 35 | CONFIG_EXPERIMENTAL=y |
30 | CONFIG_BROKEN_ON_SMP=y | 36 | CONFIG_BROKEN_ON_SMP=y |
31 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 37 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
32 | |||
33 | # | ||
34 | # General setup | ||
35 | # | ||
36 | CONFIG_LOCALVERSION="" | 38 | CONFIG_LOCALVERSION="" |
37 | CONFIG_LOCALVERSION_AUTO=y | 39 | CONFIG_LOCALVERSION_AUTO=y |
38 | CONFIG_SWAP=y | 40 | CONFIG_SWAP=y |
39 | CONFIG_SYSVIPC=y | 41 | CONFIG_SYSVIPC=y |
40 | # CONFIG_IPC_NS is not set | ||
41 | CONFIG_SYSVIPC_SYSCTL=y | 42 | CONFIG_SYSVIPC_SYSCTL=y |
42 | # CONFIG_POSIX_MQUEUE is not set | 43 | # CONFIG_POSIX_MQUEUE is not set |
43 | # CONFIG_BSD_PROCESS_ACCT is not set | 44 | # CONFIG_BSD_PROCESS_ACCT is not set |
44 | # CONFIG_TASKSTATS is not set | 45 | # CONFIG_TASKSTATS is not set |
45 | # CONFIG_UTS_NS is not set | ||
46 | # CONFIG_AUDIT is not set | 46 | # CONFIG_AUDIT is not set |
47 | # CONFIG_IKCONFIG is not set | 47 | # CONFIG_IKCONFIG is not set |
48 | CONFIG_LOG_BUF_SHIFT=14 | ||
49 | # CONFIG_CGROUPS is not set | ||
50 | # CONFIG_GROUP_SCHED is not set | ||
48 | CONFIG_SYSFS_DEPRECATED=y | 51 | CONFIG_SYSFS_DEPRECATED=y |
52 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
49 | # CONFIG_RELAY is not set | 53 | # CONFIG_RELAY is not set |
50 | CONFIG_BLK_DEV_INITRD=y | 54 | # CONFIG_NAMESPACES is not set |
51 | CONFIG_INITRAMFS_SOURCE="" | 55 | # CONFIG_BLK_DEV_INITRD is not set |
52 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 56 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
53 | CONFIG_SYSCTL=y | 57 | CONFIG_SYSCTL=y |
54 | CONFIG_EMBEDDED=y | 58 | CONFIG_EMBEDDED=y |
55 | CONFIG_UID16=y | 59 | CONFIG_UID16=y |
56 | CONFIG_SYSCTL_SYSCALL=y | 60 | CONFIG_SYSCTL_SYSCALL=y |
61 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
57 | # CONFIG_KALLSYMS is not set | 62 | # CONFIG_KALLSYMS is not set |
58 | CONFIG_HOTPLUG=y | 63 | CONFIG_HOTPLUG=y |
59 | CONFIG_PRINTK=y | 64 | CONFIG_PRINTK=y |
60 | CONFIG_BUG=y | 65 | CONFIG_BUG=y |
61 | CONFIG_ELF_CORE=y | 66 | CONFIG_ELF_CORE=y |
67 | CONFIG_COMPAT_BRK=y | ||
62 | CONFIG_BASE_FULL=y | 68 | CONFIG_BASE_FULL=y |
63 | CONFIG_FUTEX=y | 69 | CONFIG_FUTEX=y |
70 | CONFIG_ANON_INODES=y | ||
64 | CONFIG_EPOLL=y | 71 | CONFIG_EPOLL=y |
72 | CONFIG_SIGNALFD=y | ||
73 | CONFIG_TIMERFD=y | ||
74 | CONFIG_EVENTFD=y | ||
65 | CONFIG_SHMEM=y | 75 | CONFIG_SHMEM=y |
66 | CONFIG_SLAB=y | ||
67 | CONFIG_VM_EVENT_COUNTERS=y | 76 | CONFIG_VM_EVENT_COUNTERS=y |
77 | CONFIG_SLAB=y | ||
78 | # CONFIG_SLUB is not set | ||
79 | # CONFIG_SLOB is not set | ||
80 | # CONFIG_PROFILING is not set | ||
81 | # CONFIG_MARKERS is not set | ||
82 | CONFIG_HAVE_OPROFILE=y | ||
83 | # CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set | ||
84 | # CONFIG_HAVE_IOREMAP_PROT is not set | ||
85 | CONFIG_HAVE_KPROBES=y | ||
86 | CONFIG_HAVE_KRETPROBES=y | ||
87 | # CONFIG_HAVE_ARCH_TRACEHOOK is not set | ||
88 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
89 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
90 | CONFIG_HAVE_CLK=y | ||
91 | CONFIG_PROC_PAGE_MONITOR=y | ||
92 | CONFIG_SLABINFO=y | ||
68 | CONFIG_RT_MUTEXES=y | 93 | CONFIG_RT_MUTEXES=y |
69 | # CONFIG_TINY_SHMEM is not set | 94 | # CONFIG_TINY_SHMEM is not set |
70 | CONFIG_BASE_SMALL=0 | 95 | CONFIG_BASE_SMALL=0 |
71 | # CONFIG_SLOB is not set | ||
72 | |||
73 | # | ||
74 | # Loadable module support | ||
75 | # | ||
76 | CONFIG_MODULES=y | 96 | CONFIG_MODULES=y |
97 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
77 | CONFIG_MODULE_UNLOAD=y | 98 | CONFIG_MODULE_UNLOAD=y |
78 | CONFIG_MODULE_FORCE_UNLOAD=y | 99 | CONFIG_MODULE_FORCE_UNLOAD=y |
79 | # CONFIG_MODVERSIONS is not set | 100 | # CONFIG_MODVERSIONS is not set |
80 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 101 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
81 | CONFIG_KMOD=y | 102 | CONFIG_KMOD=y |
82 | |||
83 | # | ||
84 | # Block layer | ||
85 | # | ||
86 | CONFIG_BLOCK=y | 103 | CONFIG_BLOCK=y |
87 | # CONFIG_LBD is not set | 104 | # CONFIG_LBD is not set |
88 | # CONFIG_BLK_DEV_IO_TRACE is not set | 105 | # CONFIG_BLK_DEV_IO_TRACE is not set |
89 | # CONFIG_LSF is not set | 106 | # CONFIG_LSF is not set |
107 | # CONFIG_BLK_DEV_BSG is not set | ||
108 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
90 | 109 | ||
91 | # | 110 | # |
92 | # IO Schedulers | 111 | # IO Schedulers |
@@ -100,6 +119,7 @@ CONFIG_DEFAULT_AS=y | |||
100 | # CONFIG_DEFAULT_CFQ is not set | 119 | # CONFIG_DEFAULT_CFQ is not set |
101 | # CONFIG_DEFAULT_NOOP is not set | 120 | # CONFIG_DEFAULT_NOOP is not set |
102 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 121 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
122 | CONFIG_CLASSIC_RCU=y | ||
103 | 123 | ||
104 | # | 124 | # |
105 | # System Type | 125 | # System Type |
@@ -111,21 +131,26 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
111 | # CONFIG_ARCH_AT91 is not set | 131 | # CONFIG_ARCH_AT91 is not set |
112 | # CONFIG_ARCH_CLPS7500 is not set | 132 | # CONFIG_ARCH_CLPS7500 is not set |
113 | # CONFIG_ARCH_CLPS711X is not set | 133 | # CONFIG_ARCH_CLPS711X is not set |
114 | # CONFIG_ARCH_CO285 is not set | ||
115 | # CONFIG_ARCH_EBSA110 is not set | 134 | # CONFIG_ARCH_EBSA110 is not set |
116 | # CONFIG_ARCH_EP93XX is not set | 135 | # CONFIG_ARCH_EP93XX is not set |
117 | # CONFIG_ARCH_FOOTBRIDGE is not set | 136 | # CONFIG_ARCH_FOOTBRIDGE is not set |
118 | # CONFIG_ARCH_NETX is not set | 137 | # CONFIG_ARCH_NETX is not set |
119 | # CONFIG_ARCH_H720X is not set | 138 | # CONFIG_ARCH_H720X is not set |
120 | # CONFIG_ARCH_IMX is not set | 139 | # CONFIG_ARCH_IMX is not set |
140 | # CONFIG_ARCH_IOP13XX is not set | ||
121 | # CONFIG_ARCH_IOP32X is not set | 141 | # CONFIG_ARCH_IOP32X is not set |
122 | # CONFIG_ARCH_IOP33X is not set | 142 | # CONFIG_ARCH_IOP33X is not set |
123 | # CONFIG_ARCH_IOP13XX is not set | ||
124 | # CONFIG_ARCH_IXP4XX is not set | ||
125 | # CONFIG_ARCH_IXP2000 is not set | ||
126 | # CONFIG_ARCH_IXP23XX is not set | 143 | # CONFIG_ARCH_IXP23XX is not set |
144 | # CONFIG_ARCH_IXP2000 is not set | ||
145 | # CONFIG_ARCH_IXP4XX is not set | ||
127 | # CONFIG_ARCH_L7200 is not set | 146 | # CONFIG_ARCH_L7200 is not set |
147 | # CONFIG_ARCH_KIRKWOOD is not set | ||
148 | # CONFIG_ARCH_KS8695 is not set | ||
128 | # CONFIG_ARCH_NS9XXX is not set | 149 | # CONFIG_ARCH_NS9XXX is not set |
150 | # CONFIG_ARCH_LOKI is not set | ||
151 | # CONFIG_ARCH_MV78XX0 is not set | ||
152 | # CONFIG_ARCH_MXC is not set | ||
153 | # CONFIG_ARCH_ORION5X is not set | ||
129 | # CONFIG_ARCH_PNX4008 is not set | 154 | # CONFIG_ARCH_PNX4008 is not set |
130 | CONFIG_ARCH_PXA=y | 155 | CONFIG_ARCH_PXA=y |
131 | # CONFIG_ARCH_RPC is not set | 156 | # CONFIG_ARCH_RPC is not set |
@@ -133,80 +158,48 @@ CONFIG_ARCH_PXA=y | |||
133 | # CONFIG_ARCH_S3C2410 is not set | 158 | # CONFIG_ARCH_S3C2410 is not set |
134 | # CONFIG_ARCH_SHARK is not set | 159 | # CONFIG_ARCH_SHARK is not set |
135 | # CONFIG_ARCH_LH7A40X is not set | 160 | # CONFIG_ARCH_LH7A40X is not set |
161 | # CONFIG_ARCH_DAVINCI is not set | ||
136 | # CONFIG_ARCH_OMAP is not set | 162 | # CONFIG_ARCH_OMAP is not set |
137 | # CONFIG_BOARD_IRQ_MAP_SMALL is not set | 163 | # CONFIG_ARCH_MSM7X00A is not set |
138 | CONFIG_BOARD_IRQ_MAP_BIG=y | ||
139 | CONFIG_DMABOUNCE=y | ||
140 | 164 | ||
141 | # | 165 | # |
142 | # Intel PXA2xx Implementations | 166 | # Intel PXA2xx/PXA3xx Implementations |
143 | # | 167 | # |
168 | # CONFIG_ARCH_GUMSTIX is not set | ||
144 | # CONFIG_ARCH_LUBBOCK is not set | 169 | # CONFIG_ARCH_LUBBOCK is not set |
145 | # CONFIG_MACH_LOGICPD_PXA270 is not set | 170 | # CONFIG_MACH_LOGICPD_PXA270 is not set |
146 | # CONFIG_MACH_MAINSTONE is not set | 171 | # CONFIG_MACH_MAINSTONE is not set |
147 | # CONFIG_ARCH_PXA_IDP is not set | 172 | # CONFIG_ARCH_PXA_IDP is not set |
148 | CONFIG_TOSHIBA_TMIO_OHCI=y | 173 | # CONFIG_PXA_SHARPSL is not set |
149 | CONFIG_ARCH_ESERIES=y | 174 | CONFIG_ARCH_PXA_ESERIES=y |
150 | CONFIG_MACH_E330=y | 175 | CONFIG_MACH_E330=y |
176 | CONFIG_MACH_E350=y | ||
151 | CONFIG_MACH_E740=y | 177 | CONFIG_MACH_E740=y |
152 | CONFIG_MACH_E750=y | 178 | CONFIG_MACH_E750=y |
153 | CONFIG_MACH_E400=y | 179 | CONFIG_MACH_E400=y |
154 | CONFIG_MACH_E800=y | 180 | CONFIG_MACH_E800=y |
155 | CONFIG_E330_LCD=y | ||
156 | CONFIG_E740_LCD=y | ||
157 | CONFIG_E750_LCD=y | ||
158 | CONFIG_E400_LCD=y | ||
159 | CONFIG_E800_LCD=y | ||
160 | CONFIG_ESERIES_UDC=y | ||
161 | CONFIG_E330_TC6387XB=y | ||
162 | CONFIG_E740_T7L66XB=y | ||
163 | CONFIG_E400_T7L66XB=y | ||
164 | CONFIG_E750_E800_TC6393XB=y | ||
165 | CONFIG_E740_PCMCIA=m | ||
166 | CONFIG_E750_PCMCIA=m | ||
167 | CONFIG_E800_PCMCIA=m | ||
168 | # CONFIG_MACH_A620 is not set | ||
169 | # CONFIG_MACH_A716 is not set | ||
170 | # CONFIG_MACH_A730 is not set | ||
171 | # CONFIG_ARCH_H1900 is not set | ||
172 | # CONFIG_ARCH_H2200 is not set | ||
173 | # CONFIG_MACH_H3900 is not set | ||
174 | # CONFIG_MACH_H4000 is not set | ||
175 | # CONFIG_MACH_H4700 is not set | ||
176 | # CONFIG_MACH_HX2750 is not set | ||
177 | # CONFIG_ARCH_H5400 is not set | ||
178 | # CONFIG_MACH_HIMALAYA is not set | ||
179 | # CONFIG_MACH_HTCUNIVERSAL is not set | ||
180 | # CONFIG_MACH_HTCALPINE is not set | ||
181 | # CONFIG_MACH_MAGICIAN is not set | ||
182 | # CONFIG_MACH_HTCAPACHE is not set | ||
183 | # CONFIG_MACH_BLUEANGEL is not set | ||
184 | |||
185 | # | ||
186 | # HTC_HW6X00 | ||
187 | # | ||
188 | # CONFIG_MACH_HTCBEETLES is not set | ||
189 | # CONFIG_MACH_HW6900 is not set | ||
190 | # CONFIG_MACH_HTCATHENA is not set | ||
191 | # CONFIG_ARCH_AXIMX3 is not set | ||
192 | # CONFIG_ARCH_AXIMX5 is not set | ||
193 | # CONFIG_MACH_X50 is not set | ||
194 | # CONFIG_ARCH_ROVERP1 is not set | ||
195 | # CONFIG_ARCH_ROVERP5P is not set | ||
196 | # CONFIG_MACH_XSCALE_PALMLD is not set | ||
197 | # CONFIG_MACH_T3XSCALE is not set | ||
198 | # CONFIG_MACH_RECON is not set | ||
199 | # CONFIG_MACH_GHI270HG is not set | ||
200 | # CONFIG_MACH_GHI270 is not set | ||
201 | # CONFIG_MACH_LOOXC550 is not set | ||
202 | # CONFIG_PXA_SHARPSL is not set | ||
203 | # CONFIG_MACH_TRIZEPS4 is not set | 181 | # CONFIG_MACH_TRIZEPS4 is not set |
182 | # CONFIG_MACH_EM_X270 is not set | ||
183 | # CONFIG_MACH_COLIBRI is not set | ||
184 | # CONFIG_MACH_ZYLONITE is not set | ||
185 | # CONFIG_MACH_LITTLETON is not set | ||
186 | # CONFIG_MACH_TAVOREVB is not set | ||
187 | # CONFIG_MACH_SAAR is not set | ||
188 | # CONFIG_MACH_ARMCORE is not set | ||
189 | # CONFIG_MACH_MAGICIAN is not set | ||
190 | # CONFIG_MACH_PCM027 is not set | ||
191 | # CONFIG_ARCH_PXA_PALM is not set | ||
192 | # CONFIG_PXA_EZX is not set | ||
204 | CONFIG_PXA25x=y | 193 | CONFIG_PXA25x=y |
194 | # CONFIG_PXA_PWM is not set | ||
195 | |||
196 | # | ||
197 | # Boot options | ||
198 | # | ||
205 | 199 | ||
206 | # | 200 | # |
207 | # Linux As Bootloader | 201 | # Power management |
208 | # | 202 | # |
209 | # CONFIG_LAB is not set | ||
210 | 203 | ||
211 | # | 204 | # |
212 | # Processor Type | 205 | # Processor Type |
@@ -215,6 +208,7 @@ CONFIG_CPU_32=y | |||
215 | CONFIG_CPU_XSCALE=y | 208 | CONFIG_CPU_XSCALE=y |
216 | CONFIG_CPU_32v5=y | 209 | CONFIG_CPU_32v5=y |
217 | CONFIG_CPU_ABRT_EV5T=y | 210 | CONFIG_CPU_ABRT_EV5T=y |
211 | CONFIG_CPU_PABRT_NOIFAR=y | ||
218 | CONFIG_CPU_CACHE_VIVT=y | 212 | CONFIG_CPU_CACHE_VIVT=y |
219 | CONFIG_CPU_TLB_V4WBI=y | 213 | CONFIG_CPU_TLB_V4WBI=y |
220 | CONFIG_CPU_CP15=y | 214 | CONFIG_CPU_CP15=y |
@@ -232,11 +226,9 @@ CONFIG_XSCALE_PMU=y | |||
232 | # | 226 | # |
233 | # Bus support | 227 | # Bus support |
234 | # | 228 | # |
235 | 229 | # CONFIG_PCI_SYSCALL is not set | |
236 | # | 230 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
237 | # PCCARD (PCMCIA/CardBus) support | 231 | CONFIG_PCCARD=y |
238 | # | ||
239 | CONFIG_PCCARD=m | ||
240 | # CONFIG_PCMCIA_DEBUG is not set | 232 | # CONFIG_PCMCIA_DEBUG is not set |
241 | CONFIG_PCMCIA=m | 233 | CONFIG_PCMCIA=m |
242 | CONFIG_PCMCIA_LOAD_CIS=y | 234 | CONFIG_PCMCIA_LOAD_CIS=y |
@@ -245,11 +237,14 @@ CONFIG_PCMCIA_IOCTL=y | |||
245 | # | 237 | # |
246 | # PC-card bridges | 238 | # PC-card bridges |
247 | # | 239 | # |
248 | CONFIG_PCMCIA_PXA2XX=m | ||
249 | 240 | ||
250 | # | 241 | # |
251 | # Kernel Features | 242 | # Kernel Features |
252 | # | 243 | # |
244 | CONFIG_TICK_ONESHOT=y | ||
245 | # CONFIG_NO_HZ is not set | ||
246 | # CONFIG_HIGH_RES_TIMERS is not set | ||
247 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
253 | # CONFIG_PREEMPT is not set | 248 | # CONFIG_PREEMPT is not set |
254 | CONFIG_HZ=100 | 249 | CONFIG_HZ=100 |
255 | CONFIG_AEABI=y | 250 | CONFIG_AEABI=y |
@@ -262,9 +257,13 @@ CONFIG_FLATMEM_MANUAL=y | |||
262 | CONFIG_FLATMEM=y | 257 | CONFIG_FLATMEM=y |
263 | CONFIG_FLAT_NODE_MEM_MAP=y | 258 | CONFIG_FLAT_NODE_MEM_MAP=y |
264 | # CONFIG_SPARSEMEM_STATIC is not set | 259 | # CONFIG_SPARSEMEM_STATIC is not set |
260 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
261 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
265 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 262 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
266 | # CONFIG_RESOURCES_64BIT is not set | 263 | # CONFIG_RESOURCES_64BIT is not set |
267 | CONFIG_ZONE_DMA_FLAG=1 | 264 | CONFIG_ZONE_DMA_FLAG=1 |
265 | CONFIG_BOUNCE=y | ||
266 | CONFIG_VIRT_TO_BUS=y | ||
268 | CONFIG_ALIGNMENT_TRAP=y | 267 | CONFIG_ALIGNMENT_TRAP=y |
269 | 268 | ||
270 | # | 269 | # |
@@ -275,7 +274,7 @@ CONFIG_ZBOOT_ROM_BSS=0x0 | |||
275 | CONFIG_CMDLINE="" | 274 | CONFIG_CMDLINE="" |
276 | # CONFIG_XIP_KERNEL is not set | 275 | # CONFIG_XIP_KERNEL is not set |
277 | CONFIG_KEXEC=y | 276 | CONFIG_KEXEC=y |
278 | # CONFIG_TXTOFFSET_DELTA is not set | 277 | CONFIG_ATAGS_PROC=y |
279 | 278 | ||
280 | # | 279 | # |
281 | # CPU Frequency scaling | 280 | # CPU Frequency scaling |
@@ -304,11 +303,12 @@ CONFIG_BINFMT_MISC=y | |||
304 | # Power management options | 303 | # Power management options |
305 | # | 304 | # |
306 | CONFIG_PM=y | 305 | CONFIG_PM=y |
307 | CONFIG_PM_LEGACY=y | ||
308 | # CONFIG_PM_DEBUG is not set | 306 | # CONFIG_PM_DEBUG is not set |
309 | # CONFIG_DPM_DEBUG is not set | 307 | CONFIG_PM_SLEEP=y |
310 | # CONFIG_PM_SYSFS_DEPRECATED is not set | 308 | CONFIG_SUSPEND=y |
309 | CONFIG_SUSPEND_FREEZER=y | ||
311 | # CONFIG_APM_EMULATION is not set | 310 | # CONFIG_APM_EMULATION is not set |
311 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
312 | 312 | ||
313 | # | 313 | # |
314 | # Networking | 314 | # Networking |
@@ -318,13 +318,13 @@ CONFIG_NET=y | |||
318 | # | 318 | # |
319 | # Networking options | 319 | # Networking options |
320 | # | 320 | # |
321 | # CONFIG_NETDEBUG is not set | ||
322 | # CONFIG_PACKET is not set | 321 | # CONFIG_PACKET is not set |
323 | CONFIG_UNIX=y | 322 | CONFIG_UNIX=y |
324 | CONFIG_XFRM=y | 323 | CONFIG_XFRM=y |
325 | # CONFIG_XFRM_USER is not set | 324 | # CONFIG_XFRM_USER is not set |
326 | # CONFIG_XFRM_SUB_POLICY is not set | 325 | # CONFIG_XFRM_SUB_POLICY is not set |
327 | # CONFIG_XFRM_MIGRATE is not set | 326 | # CONFIG_XFRM_MIGRATE is not set |
327 | # CONFIG_XFRM_STATISTICS is not set | ||
328 | # CONFIG_NET_KEY is not set | 328 | # CONFIG_NET_KEY is not set |
329 | CONFIG_INET=y | 329 | CONFIG_INET=y |
330 | # CONFIG_IP_MULTICAST is not set | 330 | # CONFIG_IP_MULTICAST is not set |
@@ -339,35 +339,40 @@ CONFIG_IP_FIB_HASH=y | |||
339 | # CONFIG_INET_ESP is not set | 339 | # CONFIG_INET_ESP is not set |
340 | # CONFIG_INET_IPCOMP is not set | 340 | # CONFIG_INET_IPCOMP is not set |
341 | # CONFIG_INET_XFRM_TUNNEL is not set | 341 | # CONFIG_INET_XFRM_TUNNEL is not set |
342 | # CONFIG_INET_TUNNEL is not set | 342 | CONFIG_INET_TUNNEL=y |
343 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 343 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
344 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 344 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
345 | CONFIG_INET_XFRM_MODE_BEET=y | 345 | CONFIG_INET_XFRM_MODE_BEET=y |
346 | # CONFIG_INET_LRO is not set | ||
346 | CONFIG_INET_DIAG=y | 347 | CONFIG_INET_DIAG=y |
347 | CONFIG_INET_TCP_DIAG=y | 348 | CONFIG_INET_TCP_DIAG=y |
348 | # CONFIG_TCP_CONG_ADVANCED is not set | 349 | # CONFIG_TCP_CONG_ADVANCED is not set |
349 | CONFIG_TCP_CONG_CUBIC=y | 350 | CONFIG_TCP_CONG_CUBIC=y |
350 | CONFIG_DEFAULT_TCP_CONG="cubic" | 351 | CONFIG_DEFAULT_TCP_CONG="cubic" |
351 | # CONFIG_TCP_MD5SIG is not set | 352 | # CONFIG_TCP_MD5SIG is not set |
352 | # CONFIG_IPV6 is not set | 353 | CONFIG_IPV6=y |
354 | # CONFIG_IPV6_PRIVACY is not set | ||
355 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
356 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set | ||
357 | # CONFIG_INET6_AH is not set | ||
358 | # CONFIG_INET6_ESP is not set | ||
359 | # CONFIG_INET6_IPCOMP is not set | ||
360 | # CONFIG_IPV6_MIP6 is not set | ||
353 | # CONFIG_INET6_XFRM_TUNNEL is not set | 361 | # CONFIG_INET6_XFRM_TUNNEL is not set |
354 | # CONFIG_INET6_TUNNEL is not set | 362 | # CONFIG_INET6_TUNNEL is not set |
363 | CONFIG_INET6_XFRM_MODE_TRANSPORT=y | ||
364 | CONFIG_INET6_XFRM_MODE_TUNNEL=y | ||
365 | CONFIG_INET6_XFRM_MODE_BEET=y | ||
366 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | ||
367 | CONFIG_IPV6_SIT=y | ||
368 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
369 | # CONFIG_IPV6_TUNNEL is not set | ||
370 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | ||
371 | # CONFIG_IPV6_MROUTE is not set | ||
355 | # CONFIG_NETWORK_SECMARK is not set | 372 | # CONFIG_NETWORK_SECMARK is not set |
356 | # CONFIG_NETFILTER is not set | 373 | # CONFIG_NETFILTER is not set |
357 | |||
358 | # | ||
359 | # DCCP Configuration (EXPERIMENTAL) | ||
360 | # | ||
361 | # CONFIG_IP_DCCP is not set | 374 | # CONFIG_IP_DCCP is not set |
362 | |||
363 | # | ||
364 | # SCTP Configuration (EXPERIMENTAL) | ||
365 | # | ||
366 | # CONFIG_IP_SCTP is not set | 375 | # CONFIG_IP_SCTP is not set |
367 | |||
368 | # | ||
369 | # TIPC Configuration (EXPERIMENTAL) | ||
370 | # | ||
371 | # CONFIG_TIPC is not set | 376 | # CONFIG_TIPC is not set |
372 | # CONFIG_ATM is not set | 377 | # CONFIG_ATM is not set |
373 | # CONFIG_BRIDGE is not set | 378 | # CONFIG_BRIDGE is not set |
@@ -380,10 +385,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
380 | # CONFIG_LAPB is not set | 385 | # CONFIG_LAPB is not set |
381 | # CONFIG_ECONET is not set | 386 | # CONFIG_ECONET is not set |
382 | # CONFIG_WAN_ROUTER is not set | 387 | # CONFIG_WAN_ROUTER is not set |
383 | |||
384 | # | ||
385 | # QoS and/or fair queueing | ||
386 | # | ||
387 | # CONFIG_NET_SCHED is not set | 388 | # CONFIG_NET_SCHED is not set |
388 | 389 | ||
389 | # | 390 | # |
@@ -391,15 +392,74 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
391 | # | 392 | # |
392 | # CONFIG_NET_PKTGEN is not set | 393 | # CONFIG_NET_PKTGEN is not set |
393 | # CONFIG_HAMRADIO is not set | 394 | # CONFIG_HAMRADIO is not set |
394 | # CONFIG_IRDA is not set | 395 | # CONFIG_CAN is not set |
396 | CONFIG_IRDA=y | ||
397 | |||
398 | # | ||
399 | # IrDA protocols | ||
400 | # | ||
401 | CONFIG_IRLAN=m | ||
402 | CONFIG_IRCOMM=m | ||
403 | CONFIG_IRDA_ULTRA=y | ||
404 | |||
405 | # | ||
406 | # IrDA options | ||
407 | # | ||
408 | CONFIG_IRDA_CACHE_LAST_LSAP=y | ||
409 | CONFIG_IRDA_FAST_RR=y | ||
410 | # CONFIG_IRDA_DEBUG is not set | ||
411 | |||
412 | # | ||
413 | # Infrared-port device drivers | ||
414 | # | ||
415 | |||
416 | # | ||
417 | # SIR device drivers | ||
418 | # | ||
419 | # CONFIG_IRTTY_SIR is not set | ||
420 | |||
421 | # | ||
422 | # Dongle support | ||
423 | # | ||
424 | # CONFIG_KINGSUN_DONGLE is not set | ||
425 | # CONFIG_KSDAZZLE_DONGLE is not set | ||
426 | # CONFIG_KS959_DONGLE is not set | ||
427 | |||
428 | # | ||
429 | # FIR device drivers | ||
430 | # | ||
431 | # CONFIG_USB_IRDA is not set | ||
432 | # CONFIG_SIGMATEL_FIR is not set | ||
433 | CONFIG_PXA_FICP=y | ||
434 | # CONFIG_MCS_FIR is not set | ||
395 | # CONFIG_BT is not set | 435 | # CONFIG_BT is not set |
436 | # CONFIG_AF_RXRPC is not set | ||
437 | |||
438 | # | ||
439 | # Wireless | ||
440 | # | ||
441 | CONFIG_CFG80211=m | ||
442 | CONFIG_NL80211=y | ||
443 | CONFIG_WIRELESS_EXT=y | ||
444 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
445 | CONFIG_MAC80211=m | ||
446 | |||
447 | # | ||
448 | # Rate control algorithm selection | ||
449 | # | ||
450 | CONFIG_MAC80211_RC_PID=y | ||
451 | CONFIG_MAC80211_RC_DEFAULT_PID=y | ||
452 | CONFIG_MAC80211_RC_DEFAULT="pid" | ||
453 | # CONFIG_MAC80211_MESH is not set | ||
454 | # CONFIG_MAC80211_LEDS is not set | ||
455 | # CONFIG_MAC80211_DEBUG_MENU is not set | ||
396 | CONFIG_IEEE80211=m | 456 | CONFIG_IEEE80211=m |
397 | # CONFIG_IEEE80211_DEBUG is not set | 457 | # CONFIG_IEEE80211_DEBUG is not set |
398 | CONFIG_IEEE80211_CRYPT_WEP=m | 458 | CONFIG_IEEE80211_CRYPT_WEP=m |
399 | # CONFIG_IEEE80211_CRYPT_CCMP is not set | 459 | CONFIG_IEEE80211_CRYPT_CCMP=m |
400 | # CONFIG_IEEE80211_CRYPT_TKIP is not set | 460 | CONFIG_IEEE80211_CRYPT_TKIP=m |
401 | # CONFIG_IEEE80211_SOFTMAC is not set | 461 | # CONFIG_RFKILL is not set |
402 | CONFIG_WIRELESS_EXT=y | 462 | # CONFIG_NET_9P is not set |
403 | 463 | ||
404 | # | 464 | # |
405 | # Device Drivers | 465 | # Device Drivers |
@@ -408,38 +468,32 @@ CONFIG_WIRELESS_EXT=y | |||
408 | # | 468 | # |
409 | # Generic Driver Options | 469 | # Generic Driver Options |
410 | # | 470 | # |
471 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
411 | # CONFIG_STANDALONE is not set | 472 | # CONFIG_STANDALONE is not set |
412 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 473 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
413 | CONFIG_FW_LOADER=y | 474 | CONFIG_FW_LOADER=y |
475 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
476 | CONFIG_EXTRA_FIRMWARE="" | ||
414 | # CONFIG_SYS_HYPERVISOR is not set | 477 | # CONFIG_SYS_HYPERVISOR is not set |
415 | |||
416 | # | ||
417 | # Connector - unified userspace <-> kernelspace linker | ||
418 | # | ||
419 | # CONFIG_CONNECTOR is not set | 478 | # CONFIG_CONNECTOR is not set |
420 | |||
421 | # | ||
422 | # Memory Technology Devices (MTD) | ||
423 | # | ||
424 | CONFIG_MTD=m | 479 | CONFIG_MTD=m |
425 | # CONFIG_MTD_DEBUG is not set | 480 | # CONFIG_MTD_DEBUG is not set |
426 | # CONFIG_MTD_CONCAT is not set | 481 | # CONFIG_MTD_CONCAT is not set |
427 | CONFIG_MTD_PARTITIONS=y | 482 | # CONFIG_MTD_PARTITIONS is not set |
428 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
429 | # CONFIG_MTD_AFS_PARTS is not set | ||
430 | 483 | ||
431 | # | 484 | # |
432 | # User Modules And Translation Layers | 485 | # User Modules And Translation Layers |
433 | # | 486 | # |
434 | CONFIG_MTD_CHAR=m | 487 | # CONFIG_MTD_CHAR is not set |
435 | CONFIG_MTD_BLKDEVS=m | 488 | # CONFIG_MTD_BLKDEVS is not set |
436 | CONFIG_MTD_BLOCK=m | 489 | # CONFIG_MTD_BLOCK is not set |
437 | # CONFIG_MTD_BLOCK_RO is not set | 490 | # CONFIG_MTD_BLOCK_RO is not set |
438 | # CONFIG_FTL is not set | 491 | # CONFIG_FTL is not set |
439 | # CONFIG_NFTL is not set | 492 | # CONFIG_NFTL is not set |
440 | # CONFIG_INFTL is not set | 493 | # CONFIG_INFTL is not set |
441 | # CONFIG_RFD_FTL is not set | 494 | # CONFIG_RFD_FTL is not set |
442 | # CONFIG_SSFDC is not set | 495 | # CONFIG_SSFDC is not set |
496 | # CONFIG_MTD_OOPS is not set | ||
443 | 497 | ||
444 | # | 498 | # |
445 | # RAM/ROM/Flash chip drivers | 499 | # RAM/ROM/Flash chip drivers |
@@ -459,7 +513,6 @@ CONFIG_MTD_CFI_I2=y | |||
459 | # CONFIG_MTD_RAM is not set | 513 | # CONFIG_MTD_RAM is not set |
460 | # CONFIG_MTD_ROM is not set | 514 | # CONFIG_MTD_ROM is not set |
461 | # CONFIG_MTD_ABSENT is not set | 515 | # CONFIG_MTD_ABSENT is not set |
462 | # CONFIG_MTD_OBSOLETE_CHIPS is not set | ||
463 | 516 | ||
464 | # | 517 | # |
465 | # Mapping drivers for chip access | 518 | # Mapping drivers for chip access |
@@ -482,82 +535,43 @@ CONFIG_MTD_CFI_I2=y | |||
482 | # CONFIG_MTD_DOC2000 is not set | 535 | # CONFIG_MTD_DOC2000 is not set |
483 | # CONFIG_MTD_DOC2001 is not set | 536 | # CONFIG_MTD_DOC2001 is not set |
484 | # CONFIG_MTD_DOC2001PLUS is not set | 537 | # CONFIG_MTD_DOC2001PLUS is not set |
485 | |||
486 | # | ||
487 | # NAND Flash Device Drivers | ||
488 | # | ||
489 | CONFIG_MTD_NAND=m | 538 | CONFIG_MTD_NAND=m |
490 | CONFIG_MTD_NAND_VERIFY_WRITE=y | 539 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set |
491 | # CONFIG_MTD_NAND_ECC_SMC is not set | 540 | # CONFIG_MTD_NAND_ECC_SMC is not set |
492 | # CONFIG_MTD_NAND_H1900 is not set | 541 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set |
493 | CONFIG_MTD_NAND_IDS=m | 542 | CONFIG_MTD_NAND_IDS=m |
494 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 543 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
495 | # CONFIG_MTD_NAND_SHARPSL is not set | 544 | # CONFIG_MTD_NAND_SHARPSL is not set |
496 | # CONFIG_MTD_NAND_NANDSIM is not set | 545 | # CONFIG_MTD_NAND_PLATFORM is not set |
497 | 546 | # CONFIG_MTD_ALAUDA is not set | |
498 | # | ||
499 | # OneNAND Flash Device Drivers | ||
500 | # | ||
501 | # CONFIG_MTD_ONENAND is not set | 547 | # CONFIG_MTD_ONENAND is not set |
502 | 548 | ||
503 | # | 549 | # |
504 | # Parallel port support | 550 | # UBI - Unsorted block images |
505 | # | 551 | # |
552 | # CONFIG_MTD_UBI is not set | ||
506 | # CONFIG_PARPORT is not set | 553 | # CONFIG_PARPORT is not set |
507 | 554 | CONFIG_BLK_DEV=y | |
508 | # | ||
509 | # Plug and Play support | ||
510 | # | ||
511 | # CONFIG_PNPACPI is not set | ||
512 | |||
513 | # | ||
514 | # Block devices | ||
515 | # | ||
516 | # CONFIG_BLK_DEV_COW_COMMON is not set | 555 | # CONFIG_BLK_DEV_COW_COMMON is not set |
517 | CONFIG_BLK_DEV_LOOP=m | 556 | CONFIG_BLK_DEV_LOOP=m |
518 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 557 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
519 | # CONFIG_BLK_DEV_NBD is not set | 558 | # CONFIG_BLK_DEV_NBD is not set |
520 | # CONFIG_BLK_DEV_UB is not set | 559 | # CONFIG_BLK_DEV_UB is not set |
521 | CONFIG_BLK_DEV_RAM=y | 560 | # CONFIG_BLK_DEV_RAM is not set |
522 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
523 | CONFIG_BLK_DEV_RAM_SIZE=6144 | ||
524 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
525 | # CONFIG_CDROM_PKTCDVD is not set | 561 | # CONFIG_CDROM_PKTCDVD is not set |
526 | # CONFIG_ATA_OVER_ETH is not set | 562 | # CONFIG_ATA_OVER_ETH is not set |
527 | 563 | CONFIG_MISC_DEVICES=y | |
528 | # | 564 | # CONFIG_EEPROM_93CX6 is not set |
529 | # ATA/ATAPI/MFM/RLL support | 565 | # CONFIG_ENCLOSURE_SERVICES is not set |
530 | # | 566 | CONFIG_HAVE_IDE=y |
531 | CONFIG_IDE=m | 567 | # CONFIG_IDE is not set |
532 | CONFIG_IDE_MAX_HWIFS=4 | ||
533 | CONFIG_BLK_DEV_IDE=m | ||
534 | |||
535 | # | ||
536 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
537 | # | ||
538 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
539 | CONFIG_BLK_DEV_IDEDISK=m | ||
540 | # CONFIG_IDEDISK_MULTI_MODE is not set | ||
541 | # CONFIG_BLK_DEV_IDECS is not set | ||
542 | # CONFIG_BLK_DEV_IDECD is not set | ||
543 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
544 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
545 | # CONFIG_BLK_DEV_IDESCSI is not set | ||
546 | # CONFIG_IDE_TASK_IOCTL is not set | ||
547 | |||
548 | # | ||
549 | # IDE chipset support/bugfixes | ||
550 | # | ||
551 | # CONFIG_IDE_GENERIC is not set | ||
552 | # CONFIG_IDE_ARM is not set | ||
553 | # CONFIG_BLK_DEV_IDEDMA is not set | ||
554 | # CONFIG_BLK_DEV_HD is not set | ||
555 | 568 | ||
556 | # | 569 | # |
557 | # SCSI device support | 570 | # SCSI device support |
558 | # | 571 | # |
559 | # CONFIG_RAID_ATTRS is not set | 572 | # CONFIG_RAID_ATTRS is not set |
560 | CONFIG_SCSI=m | 573 | CONFIG_SCSI=m |
574 | CONFIG_SCSI_DMA=y | ||
561 | # CONFIG_SCSI_TGT is not set | 575 | # CONFIG_SCSI_TGT is not set |
562 | # CONFIG_SCSI_NETLINK is not set | 576 | # CONFIG_SCSI_NETLINK is not set |
563 | # CONFIG_SCSI_PROC_FS is not set | 577 | # CONFIG_SCSI_PROC_FS is not set |
@@ -565,7 +579,7 @@ CONFIG_SCSI=m | |||
565 | # | 579 | # |
566 | # SCSI support type (disk, tape, CD-ROM) | 580 | # SCSI support type (disk, tape, CD-ROM) |
567 | # | 581 | # |
568 | # CONFIG_BLK_DEV_SD is not set | 582 | CONFIG_BLK_DEV_SD=m |
569 | # CONFIG_CHR_DEV_ST is not set | 583 | # CONFIG_CHR_DEV_ST is not set |
570 | # CONFIG_CHR_DEV_OSST is not set | 584 | # CONFIG_CHR_DEV_OSST is not set |
571 | # CONFIG_BLK_DEV_SR is not set | 585 | # CONFIG_BLK_DEV_SR is not set |
@@ -579,6 +593,7 @@ CONFIG_SCSI=m | |||
579 | # CONFIG_SCSI_CONSTANTS is not set | 593 | # CONFIG_SCSI_CONSTANTS is not set |
580 | # CONFIG_SCSI_LOGGING is not set | 594 | # CONFIG_SCSI_LOGGING is not set |
581 | # CONFIG_SCSI_SCAN_ASYNC is not set | 595 | # CONFIG_SCSI_SCAN_ASYNC is not set |
596 | CONFIG_SCSI_WAIT_SCAN=m | ||
582 | 597 | ||
583 | # | 598 | # |
584 | # SCSI Transports | 599 | # SCSI Transports |
@@ -586,132 +601,78 @@ CONFIG_SCSI=m | |||
586 | # CONFIG_SCSI_SPI_ATTRS is not set | 601 | # CONFIG_SCSI_SPI_ATTRS is not set |
587 | # CONFIG_SCSI_FC_ATTRS is not set | 602 | # CONFIG_SCSI_FC_ATTRS is not set |
588 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 603 | # CONFIG_SCSI_ISCSI_ATTRS is not set |
589 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
590 | # CONFIG_SCSI_SAS_LIBSAS is not set | 604 | # CONFIG_SCSI_SAS_LIBSAS is not set |
591 | 605 | # CONFIG_SCSI_SRP_ATTRS is not set | |
592 | # | 606 | # CONFIG_SCSI_LOWLEVEL is not set |
593 | # SCSI low-level drivers | 607 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set |
594 | # | 608 | # CONFIG_SCSI_DH is not set |
595 | # CONFIG_ISCSI_TCP is not set | 609 | CONFIG_ATA=m |
596 | # CONFIG_SCSI_DEBUG is not set | 610 | # CONFIG_ATA_NONSTANDARD is not set |
597 | 611 | # CONFIG_SATA_PMP is not set | |
598 | # | 612 | CONFIG_ATA_SFF=y |
599 | # PCMCIA SCSI adapter support | 613 | # CONFIG_SATA_MV is not set |
600 | # | 614 | CONFIG_PATA_PCMCIA=m |
601 | # CONFIG_PCMCIA_AHA152X is not set | 615 | # CONFIG_PATA_PLATFORM is not set |
602 | # CONFIG_PCMCIA_FDOMAIN is not set | ||
603 | # CONFIG_PCMCIA_NINJA_SCSI is not set | ||
604 | # CONFIG_PCMCIA_QLOGIC is not set | ||
605 | # CONFIG_PCMCIA_SYM53C500 is not set | ||
606 | |||
607 | # | ||
608 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
609 | # | ||
610 | # CONFIG_ATA is not set | ||
611 | |||
612 | # | ||
613 | # Multi-device support (RAID and LVM) | ||
614 | # | ||
615 | # CONFIG_MD is not set | 616 | # CONFIG_MD is not set |
616 | |||
617 | # | ||
618 | # Fusion MPT device support | ||
619 | # | ||
620 | # CONFIG_FUSION is not set | ||
621 | |||
622 | # | ||
623 | # IEEE 1394 (FireWire) support | ||
624 | # | ||
625 | |||
626 | # | ||
627 | # I2O device support | ||
628 | # | ||
629 | |||
630 | # | ||
631 | # Network device support | ||
632 | # | ||
633 | CONFIG_NETDEVICES=y | 617 | CONFIG_NETDEVICES=y |
634 | # CONFIG_DUMMY is not set | 618 | # CONFIG_DUMMY is not set |
635 | # CONFIG_BONDING is not set | 619 | # CONFIG_BONDING is not set |
620 | # CONFIG_MACVLAN is not set | ||
636 | # CONFIG_EQUALIZER is not set | 621 | # CONFIG_EQUALIZER is not set |
637 | # CONFIG_TUN is not set | 622 | # CONFIG_TUN is not set |
638 | 623 | # CONFIG_VETH is not set | |
639 | # | ||
640 | # PHY device support | ||
641 | # | ||
642 | |||
643 | # | ||
644 | # Ethernet (10 or 100Mbit) | ||
645 | # | ||
646 | # CONFIG_NET_ETHERNET is not set | 624 | # CONFIG_NET_ETHERNET is not set |
625 | # CONFIG_NETDEV_1000 is not set | ||
626 | # CONFIG_NETDEV_10000 is not set | ||
647 | 627 | ||
648 | # | 628 | # |
649 | # Ethernet (1000 Mbit) | 629 | # Wireless LAN |
650 | # | ||
651 | |||
652 | # | ||
653 | # Ethernet (10000 Mbit) | ||
654 | # | ||
655 | |||
656 | # | ||
657 | # Token Ring devices | ||
658 | # | ||
659 | |||
660 | # | ||
661 | # Wireless LAN (non-hamradio) | ||
662 | # | ||
663 | CONFIG_NET_RADIO=y | ||
664 | # CONFIG_NET_WIRELESS_RTNETLINK is not set | ||
665 | |||
666 | # | ||
667 | # Obsolete Wireless cards support (pre-802.11) | ||
668 | # | ||
669 | # CONFIG_STRIP is not set | ||
670 | # CONFIG_PCMCIA_WAVELAN is not set | ||
671 | # CONFIG_PCMCIA_NETWAVE is not set | ||
672 | |||
673 | # | ||
674 | # Wireless 802.11 Frequency Hopping cards support | ||
675 | # | 630 | # |
631 | # CONFIG_WLAN_PRE80211 is not set | ||
632 | CONFIG_WLAN_80211=y | ||
676 | # CONFIG_PCMCIA_RAYCS is not set | 633 | # CONFIG_PCMCIA_RAYCS is not set |
677 | 634 | # CONFIG_LIBERTAS is not set | |
678 | # | 635 | CONFIG_HERMES=m |
679 | # Wireless 802.11b ISA/PCI cards support | 636 | CONFIG_PCMCIA_HERMES=m |
680 | # | 637 | # CONFIG_PCMCIA_SPECTRUM is not set |
681 | # CONFIG_HERMES is not set | ||
682 | # CONFIG_ATMEL is not set | 638 | # CONFIG_ATMEL is not set |
683 | |||
684 | # | ||
685 | # Wireless 802.11b Pcmcia/Cardbus cards support | ||
686 | # | ||
687 | # CONFIG_AIRO_CS is not set | 639 | # CONFIG_AIRO_CS is not set |
688 | # CONFIG_PCMCIA_WL3501 is not set | 640 | # CONFIG_PCMCIA_WL3501 is not set |
689 | # CONFIG_USB_ZD1201 is not set | 641 | # CONFIG_USB_ZD1201 is not set |
690 | CONFIG_HOSTAP=m | 642 | # CONFIG_USB_NET_RNDIS_WLAN is not set |
691 | # CONFIG_HOSTAP_FIRMWARE is not set | 643 | # CONFIG_RTL8187 is not set |
692 | # CONFIG_HOSTAP_CS is not set | 644 | # CONFIG_MAC80211_HWSIM is not set |
693 | # CONFIG_ACX is not set | 645 | # CONFIG_P54_COMMON is not set |
694 | CONFIG_NET_WIRELESS=y | 646 | # CONFIG_IWLWIFI_LEDS is not set |
695 | 647 | # CONFIG_HOSTAP is not set | |
696 | # | 648 | # CONFIG_B43 is not set |
697 | # PCMCIA network device support | 649 | # CONFIG_B43LEGACY is not set |
698 | # | 650 | # CONFIG_ZD1211RW is not set |
699 | # CONFIG_NET_PCMCIA is not set | 651 | # CONFIG_RT2X00 is not set |
700 | 652 | ||
701 | # | 653 | # |
702 | # Wan interfaces | 654 | # USB Network Adapters |
703 | # | 655 | # |
656 | # CONFIG_USB_CATC is not set | ||
657 | # CONFIG_USB_KAWETH is not set | ||
658 | # CONFIG_USB_PEGASUS is not set | ||
659 | # CONFIG_USB_RTL8150 is not set | ||
660 | # CONFIG_USB_USBNET is not set | ||
661 | CONFIG_NET_PCMCIA=y | ||
662 | # CONFIG_PCMCIA_3C589 is not set | ||
663 | # CONFIG_PCMCIA_3C574 is not set | ||
664 | # CONFIG_PCMCIA_FMVJ18X is not set | ||
665 | CONFIG_PCMCIA_PCNET=m | ||
666 | # CONFIG_PCMCIA_NMCLAN is not set | ||
667 | # CONFIG_PCMCIA_SMC91C92 is not set | ||
668 | # CONFIG_PCMCIA_XIRC2PS is not set | ||
669 | # CONFIG_PCMCIA_AXNET is not set | ||
704 | # CONFIG_WAN is not set | 670 | # CONFIG_WAN is not set |
705 | # CONFIG_PPP is not set | 671 | # CONFIG_PPP is not set |
706 | # CONFIG_SLIP is not set | 672 | # CONFIG_SLIP is not set |
707 | # CONFIG_SHAPER is not set | ||
708 | # CONFIG_NETCONSOLE is not set | 673 | # CONFIG_NETCONSOLE is not set |
709 | # CONFIG_NETPOLL is not set | 674 | # CONFIG_NETPOLL is not set |
710 | # CONFIG_NET_POLL_CONTROLLER is not set | 675 | # CONFIG_NET_POLL_CONTROLLER is not set |
711 | |||
712 | # | ||
713 | # ISDN subsystem | ||
714 | # | ||
715 | # CONFIG_ISDN is not set | 676 | # CONFIG_ISDN is not set |
716 | 677 | ||
717 | # | 678 | # |
@@ -719,38 +680,48 @@ CONFIG_NET_WIRELESS=y | |||
719 | # | 680 | # |
720 | CONFIG_INPUT=y | 681 | CONFIG_INPUT=y |
721 | # CONFIG_INPUT_FF_MEMLESS is not set | 682 | # CONFIG_INPUT_FF_MEMLESS is not set |
683 | # CONFIG_INPUT_POLLDEV is not set | ||
722 | 684 | ||
723 | # | 685 | # |
724 | # Userland interfaces | 686 | # Userland interfaces |
725 | # | 687 | # |
726 | # CONFIG_INPUT_MOUSEDEV is not set | 688 | # CONFIG_INPUT_MOUSEDEV is not set |
727 | # CONFIG_INPUT_JOYDEV is not set | 689 | # CONFIG_INPUT_JOYDEV is not set |
728 | CONFIG_INPUT_TSDEV=m | ||
729 | CONFIG_INPUT_TSDEV_SCREEN_X=240 | ||
730 | CONFIG_INPUT_TSDEV_SCREEN_Y=320 | ||
731 | CONFIG_INPUT_EVDEV=m | 690 | CONFIG_INPUT_EVDEV=m |
732 | # CONFIG_INPUT_EVBUG is not set | 691 | # CONFIG_INPUT_EVBUG is not set |
733 | # CONFIG_INPUT_LED_TRIGGER is not set | ||
734 | 692 | ||
735 | # | 693 | # |
736 | # Input Device Drivers | 694 | # Input Device Drivers |
737 | # | 695 | # |
738 | # CONFIG_INPUT_KEYBOARD is not set | 696 | CONFIG_INPUT_KEYBOARD=y |
697 | # CONFIG_KEYBOARD_ATKBD is not set | ||
698 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
699 | # CONFIG_KEYBOARD_LKKBD is not set | ||
700 | # CONFIG_KEYBOARD_XTKBD is not set | ||
701 | # CONFIG_KEYBOARD_NEWTON is not set | ||
702 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
703 | CONFIG_KEYBOARD_GPIO=m | ||
739 | # CONFIG_INPUT_MOUSE is not set | 704 | # CONFIG_INPUT_MOUSE is not set |
740 | # CONFIG_INPUT_JOYSTICK is not set | 705 | # CONFIG_INPUT_JOYSTICK is not set |
706 | # CONFIG_INPUT_TABLET is not set | ||
741 | CONFIG_INPUT_TOUCHSCREEN=y | 707 | CONFIG_INPUT_TOUCHSCREEN=y |
708 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | ||
742 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 709 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
743 | # CONFIG_TOUCHSCREEN_ELO is not set | 710 | # CONFIG_TOUCHSCREEN_ELO is not set |
744 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | 711 | # CONFIG_TOUCHSCREEN_MTOUCH is not set |
712 | # CONFIG_TOUCHSCREEN_INEXIO is not set | ||
745 | # CONFIG_TOUCHSCREEN_MK712 is not set | 713 | # CONFIG_TOUCHSCREEN_MK712 is not set |
746 | CONFIG_TOUCHSCREEN_WM97XX=m | ||
747 | CONFIG_TOUCHSCREEN_WM9705=y | ||
748 | CONFIG_TOUCHSCREEN_WM9712=y | ||
749 | CONFIG_TOUCHSCREEN_WM9713=y | ||
750 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | 714 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set |
751 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | 715 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set |
752 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | 716 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set |
753 | # CONFIG_TOUCHSCREEN_UCB1400 is not set | 717 | # CONFIG_TOUCHSCREEN_UCB1400 is not set |
718 | CONFIG_TOUCHSCREEN_WM97XX=m | ||
719 | CONFIG_TOUCHSCREEN_WM9705=y | ||
720 | CONFIG_TOUCHSCREEN_WM9712=y | ||
721 | CONFIG_TOUCHSCREEN_WM9713=y | ||
722 | # CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE is not set | ||
723 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set | ||
724 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | ||
754 | # CONFIG_INPUT_MISC is not set | 725 | # CONFIG_INPUT_MISC is not set |
755 | 726 | ||
756 | # | 727 | # |
@@ -763,9 +734,11 @@ CONFIG_TOUCHSCREEN_WM9713=y | |||
763 | # Character devices | 734 | # Character devices |
764 | # | 735 | # |
765 | CONFIG_VT=y | 736 | CONFIG_VT=y |
737 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
766 | CONFIG_VT_CONSOLE=y | 738 | CONFIG_VT_CONSOLE=y |
767 | CONFIG_HW_CONSOLE=y | 739 | CONFIG_HW_CONSOLE=y |
768 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | 740 | # CONFIG_VT_HW_CONSOLE_BINDING is not set |
741 | CONFIG_DEVKMEM=y | ||
769 | # CONFIG_SERIAL_NONSTANDARD is not set | 742 | # CONFIG_SERIAL_NONSTANDARD is not set |
770 | 743 | ||
771 | # | 744 | # |
@@ -777,25 +750,12 @@ CONFIG_HW_CONSOLE=y | |||
777 | # Non-8250 serial port support | 750 | # Non-8250 serial port support |
778 | # | 751 | # |
779 | # CONFIG_SERIAL_PXA is not set | 752 | # CONFIG_SERIAL_PXA is not set |
780 | # CONFIG_RS232_SERIAL is not set | ||
781 | CONFIG_UNIX98_PTYS=y | 753 | CONFIG_UNIX98_PTYS=y |
782 | # CONFIG_LEGACY_PTYS is not set | 754 | # CONFIG_LEGACY_PTYS is not set |
783 | |||
784 | # | ||
785 | # IPMI | ||
786 | # | ||
787 | # CONFIG_IPMI_HANDLER is not set | 755 | # CONFIG_IPMI_HANDLER is not set |
788 | |||
789 | # | ||
790 | # Watchdog Cards | ||
791 | # | ||
792 | # CONFIG_WATCHDOG is not set | ||
793 | CONFIG_HW_RANDOM=m | 756 | CONFIG_HW_RANDOM=m |
794 | # CONFIG_NVRAM is not set | 757 | # CONFIG_NVRAM is not set |
795 | # CONFIG_SA1100_RTC is not set | ||
796 | # CONFIG_DTLK is not set | ||
797 | # CONFIG_R3964 is not set | 758 | # CONFIG_R3964 is not set |
798 | # CONFIG_TIHTC is not set | ||
799 | 759 | ||
800 | # | 760 | # |
801 | # PCMCIA character devices | 761 | # PCMCIA character devices |
@@ -803,117 +763,79 @@ CONFIG_HW_RANDOM=m | |||
803 | # CONFIG_SYNCLINK_CS is not set | 763 | # CONFIG_SYNCLINK_CS is not set |
804 | # CONFIG_CARDMAN_4000 is not set | 764 | # CONFIG_CARDMAN_4000 is not set |
805 | # CONFIG_CARDMAN_4040 is not set | 765 | # CONFIG_CARDMAN_4040 is not set |
766 | # CONFIG_IPWIRELESS is not set | ||
806 | # CONFIG_RAW_DRIVER is not set | 767 | # CONFIG_RAW_DRIVER is not set |
807 | |||
808 | # | ||
809 | # TPM devices | ||
810 | # | ||
811 | # CONFIG_TCG_TPM is not set | 768 | # CONFIG_TCG_TPM is not set |
812 | |||
813 | # | ||
814 | # I2C support | ||
815 | # | ||
816 | # CONFIG_I2C is not set | 769 | # CONFIG_I2C is not set |
817 | |||
818 | # | ||
819 | # SPI support | ||
820 | # | ||
821 | # CONFIG_SPI is not set | 770 | # CONFIG_SPI is not set |
822 | # CONFIG_SPI_MASTER is not set | 771 | CONFIG_ARCH_REQUIRE_GPIOLIB=y |
823 | 772 | CONFIG_GPIOLIB=y | |
824 | # | 773 | # CONFIG_GPIO_SYSFS is not set |
825 | # Dallas's 1-wire bus | ||
826 | # | ||
827 | # CONFIG_W1 is not set | ||
828 | 774 | ||
829 | # | 775 | # |
830 | # Hardware Monitoring support | 776 | # I2C GPIO expanders: |
831 | # | ||
832 | # CONFIG_HWMON is not set | ||
833 | # CONFIG_HWMON_VID is not set | ||
834 | # CONFIG_POWER_SUPPLY is not set | ||
835 | |||
836 | # | ||
837 | # L3 serial bus support | ||
838 | # | ||
839 | # CONFIG_L3 is not set | ||
840 | |||
841 | # | ||
842 | # Misc devices | ||
843 | # | 777 | # |
844 | 778 | ||
845 | # | 779 | # |
846 | # Multimedia Capabilities Port drivers | 780 | # PCI GPIO expanders: |
847 | # | 781 | # |
848 | # CONFIG_ADC is not set | ||
849 | 782 | ||
850 | # | 783 | # |
851 | # Compaq/iPAQ Drivers | 784 | # SPI GPIO expanders: |
852 | # | 785 | # |
786 | # CONFIG_W1 is not set | ||
787 | # CONFIG_POWER_SUPPLY is not set | ||
788 | # CONFIG_HWMON is not set | ||
789 | # CONFIG_WATCHDOG is not set | ||
853 | 790 | ||
854 | # | 791 | # |
855 | # Compaq/HP iPAQ Drivers | 792 | # Sonics Silicon Backplane |
856 | # | 793 | # |
857 | # CONFIG_IPAQ_SLEEVE is not set | 794 | CONFIG_SSB_POSSIBLE=y |
858 | # CONFIG_SLEEVE_DEBUG is not set | 795 | # CONFIG_SSB is not set |
859 | 796 | ||
860 | # | 797 | # |
861 | # Multifunction device drivers | 798 | # Multifunction device drivers |
862 | # | 799 | # |
800 | CONFIG_MFD_CORE=y | ||
863 | # CONFIG_MFD_SM501 is not set | 801 | # CONFIG_MFD_SM501 is not set |
864 | # CONFIG_HTC_ASIC2 is not set | ||
865 | # CONFIG_HTC_ASIC3 is not set | ||
866 | # CONFIG_HTC_PASIC3 is not set | ||
867 | # CONFIG_HTC_EGPIO is not set | 802 | # CONFIG_HTC_EGPIO is not set |
868 | # CONFIG_HTC_BBKEYS is not set | 803 | # CONFIG_HTC_PASIC3 is not set |
869 | # CONFIG_HTC_ASIC3_DS1WM is not set | 804 | CONFIG_MFD_TC6393XB=y |
870 | # CONFIG_SOC_SAMCOP is not set | ||
871 | # CONFIG_SOC_HAMCOP is not set | ||
872 | # CONFIG_SOC_MQ11XX is not set | ||
873 | CONFIG_SOC_T7L66XB=y | ||
874 | # CONFIG_SOC_TC6387XB is not set | ||
875 | CONFIG_SOC_TC6393XB=y | ||
876 | # CONFIG_SOC_TSC2101 is not set | ||
877 | # CONFIG_SOC_TSC2200 is not set | ||
878 | |||
879 | # | ||
880 | # LED devices | ||
881 | # | ||
882 | # CONFIG_NEW_LEDS is not set | ||
883 | |||
884 | # | ||
885 | # LED drivers | ||
886 | # | ||
887 | 805 | ||
888 | # | 806 | # |
889 | # LED Triggers | 807 | # Multimedia devices |
890 | # | 808 | # |
891 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
892 | 809 | ||
893 | # | 810 | # |
894 | # Multimedia devices | 811 | # Multimedia core support |
895 | # | 812 | # |
896 | # CONFIG_VIDEO_DEV is not set | 813 | # CONFIG_VIDEO_DEV is not set |
814 | # CONFIG_DVB_CORE is not set | ||
815 | # CONFIG_VIDEO_MEDIA is not set | ||
897 | 816 | ||
898 | # | 817 | # |
899 | # Digital Video Broadcasting Devices | 818 | # Multimedia drivers |
900 | # | 819 | # |
901 | # CONFIG_DVB is not set | 820 | # CONFIG_DAB is not set |
902 | # CONFIG_USB_DABUSB is not set | ||
903 | 821 | ||
904 | # | 822 | # |
905 | # Graphics support | 823 | # Graphics support |
906 | # | 824 | # |
907 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 825 | # CONFIG_VGASTATE is not set |
908 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | 826 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
909 | CONFIG_LCD_CLASS_DEVICE=y | ||
910 | CONFIG_BACKLIGHT_CORGI=y | ||
911 | CONFIG_FB=y | 827 | CONFIG_FB=y |
912 | # CONFIG_FIRMWARE_EDID is not set | 828 | # CONFIG_FIRMWARE_EDID is not set |
913 | # CONFIG_FB_DDC is not set | 829 | # CONFIG_FB_DDC is not set |
914 | CONFIG_FB_CFB_FILLRECT=y | 830 | CONFIG_FB_CFB_FILLRECT=y |
915 | CONFIG_FB_CFB_COPYAREA=y | 831 | CONFIG_FB_CFB_COPYAREA=y |
916 | CONFIG_FB_CFB_IMAGEBLIT=y | 832 | CONFIG_FB_CFB_IMAGEBLIT=y |
833 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
834 | # CONFIG_FB_SYS_FILLRECT is not set | ||
835 | # CONFIG_FB_SYS_COPYAREA is not set | ||
836 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
837 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
838 | # CONFIG_FB_SYS_FOPS is not set | ||
917 | # CONFIG_FB_SVGALIB is not set | 839 | # CONFIG_FB_SVGALIB is not set |
918 | # CONFIG_FB_MACMODES is not set | 840 | # CONFIG_FB_MACMODES is not set |
919 | # CONFIG_FB_BACKLIGHT is not set | 841 | # CONFIG_FB_BACKLIGHT is not set |
@@ -923,14 +845,25 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
923 | # | 845 | # |
924 | # Frame buffer hardware drivers | 846 | # Frame buffer hardware drivers |
925 | # | 847 | # |
926 | # CONFIG_FB_IMAGEON is not set | ||
927 | # CONFIG_FB_S1D13XXX is not set | 848 | # CONFIG_FB_S1D13XXX is not set |
928 | CONFIG_FB_PXA=y | 849 | CONFIG_FB_PXA=y |
850 | # CONFIG_FB_PXA_SMARTPANEL is not set | ||
929 | # CONFIG_FB_PXA_PARAMETERS is not set | 851 | # CONFIG_FB_PXA_PARAMETERS is not set |
930 | # CONFIG_FB_MBX is not set | 852 | # CONFIG_FB_MBX is not set |
931 | CONFIG_FB_W100=y | 853 | CONFIG_FB_W100=y |
854 | # CONFIG_FB_AM200EPD is not set | ||
932 | # CONFIG_FB_VIRTUAL is not set | 855 | # CONFIG_FB_VIRTUAL is not set |
933 | # CONFIG_FB_VSFB is not set | 856 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
857 | CONFIG_LCD_CLASS_DEVICE=y | ||
858 | # CONFIG_LCD_ILI9320 is not set | ||
859 | # CONFIG_LCD_PLATFORM is not set | ||
860 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
861 | CONFIG_BACKLIGHT_CORGI=y | ||
862 | |||
863 | # | ||
864 | # Display device support | ||
865 | # | ||
866 | # CONFIG_DISPLAY_SUPPORT is not set | ||
934 | 867 | ||
935 | # | 868 | # |
936 | # Console display driver support | 869 | # Console display driver support |
@@ -938,6 +871,7 @@ CONFIG_FB_W100=y | |||
938 | # CONFIG_VGA_CONSOLE is not set | 871 | # CONFIG_VGA_CONSOLE is not set |
939 | CONFIG_DUMMY_CONSOLE=y | 872 | CONFIG_DUMMY_CONSOLE=y |
940 | CONFIG_FRAMEBUFFER_CONSOLE=y | 873 | CONFIG_FRAMEBUFFER_CONSOLE=y |
874 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
941 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | 875 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set |
942 | CONFIG_FONTS=y | 876 | CONFIG_FONTS=y |
943 | # CONFIG_FONT_8x8 is not set | 877 | # CONFIG_FONT_8x8 is not set |
@@ -945,28 +879,13 @@ CONFIG_FONTS=y | |||
945 | # CONFIG_FONT_6x11 is not set | 879 | # CONFIG_FONT_6x11 is not set |
946 | # CONFIG_FONT_7x14 is not set | 880 | # CONFIG_FONT_7x14 is not set |
947 | # CONFIG_FONT_PEARL_8x8 is not set | 881 | # CONFIG_FONT_PEARL_8x8 is not set |
948 | CONFIG_FONT_ACORN_8x8=y | 882 | # CONFIG_FONT_ACORN_8x8 is not set |
949 | # CONFIG_FONT_MINI_4x6 is not set | 883 | CONFIG_FONT_MINI_4x6=y |
950 | # CONFIG_FONT_SUN8x16 is not set | 884 | # CONFIG_FONT_SUN8x16 is not set |
951 | # CONFIG_FONT_SUN12x22 is not set | 885 | # CONFIG_FONT_SUN12x22 is not set |
952 | # CONFIG_FONT_10x18 is not set | 886 | # CONFIG_FONT_10x18 is not set |
953 | 887 | # CONFIG_LOGO is not set | |
954 | # | ||
955 | # Logo configuration | ||
956 | # | ||
957 | CONFIG_LOGO=y | ||
958 | # CONFIG_LOGO_LINUX_MONO is not set | ||
959 | # CONFIG_LOGO_LINUX_VGA16 is not set | ||
960 | CONFIG_LOGO_LINUX_CLUT224=y | ||
961 | |||
962 | # | ||
963 | # Sound | ||
964 | # | ||
965 | CONFIG_SOUND=y | 888 | CONFIG_SOUND=y |
966 | |||
967 | # | ||
968 | # Advanced Linux Sound Architecture | ||
969 | # | ||
970 | CONFIG_SND=m | 889 | CONFIG_SND=m |
971 | CONFIG_SND_TIMER=m | 890 | CONFIG_SND_TIMER=m |
972 | CONFIG_SND_PCM=m | 891 | CONFIG_SND_PCM=m |
@@ -980,125 +899,75 @@ CONFIG_SND_SUPPORT_OLD_API=y | |||
980 | CONFIG_SND_VERBOSE_PROCFS=y | 899 | CONFIG_SND_VERBOSE_PROCFS=y |
981 | CONFIG_SND_VERBOSE_PRINTK=y | 900 | CONFIG_SND_VERBOSE_PRINTK=y |
982 | # CONFIG_SND_DEBUG is not set | 901 | # CONFIG_SND_DEBUG is not set |
983 | 902 | CONFIG_SND_DRIVERS=y | |
984 | # | ||
985 | # Generic devices | ||
986 | # | ||
987 | # CONFIG_SND_DUMMY is not set | 903 | # CONFIG_SND_DUMMY is not set |
988 | # CONFIG_SND_MTPAV is not set | 904 | # CONFIG_SND_MTPAV is not set |
989 | # CONFIG_SND_SERIAL_U16550 is not set | 905 | # CONFIG_SND_SERIAL_U16550 is not set |
990 | # CONFIG_SND_MPU401 is not set | 906 | # CONFIG_SND_MPU401 is not set |
991 | 907 | CONFIG_SND_ARM=y | |
992 | # | ||
993 | # ALSA ARM devices | ||
994 | # | ||
995 | # CONFIG_SND_PXA2XX_AC97 is not set | 908 | # CONFIG_SND_PXA2XX_AC97 is not set |
996 | # CONFIG_SND_RECON is not set | 909 | # CONFIG_SND_USB is not set |
997 | 910 | # CONFIG_SND_PCMCIA is not set | |
998 | # | ||
999 | # USB devices | ||
1000 | # | ||
1001 | # CONFIG_SND_USB_AUDIO is not set | ||
1002 | |||
1003 | # | ||
1004 | # PCMCIA devices | ||
1005 | # | ||
1006 | # CONFIG_SND_VXPOCKET is not set | ||
1007 | # CONFIG_SND_PDAUDIOCF is not set | ||
1008 | |||
1009 | # | ||
1010 | # SoC audio support | ||
1011 | # | ||
1012 | CONFIG_SND_SOC_AC97_BUS=y | ||
1013 | CONFIG_SND_SOC=m | 911 | CONFIG_SND_SOC=m |
1014 | 912 | CONFIG_SND_SOC_AC97_BUS=y | |
1015 | # | ||
1016 | # SoC Platforms | ||
1017 | # | ||
1018 | |||
1019 | # | ||
1020 | # SoC Audio for the Atmel AT91 | ||
1021 | # | ||
1022 | |||
1023 | # | ||
1024 | # SoC Audio for the Intel PXA2xx | ||
1025 | # | ||
1026 | CONFIG_SND_PXA2XX_SOC=m | 913 | CONFIG_SND_PXA2XX_SOC=m |
1027 | CONFIG_SND_PXA2XX_SOC_AC97=m | 914 | CONFIG_SND_PXA2XX_SOC_AC97=m |
1028 | CONFIG_SND_PXA2XX_SOC_E740_WM9705=m | 915 | CONFIG_SND_PXA2XX_SOC_E800=m |
1029 | CONFIG_SND_PXA2XX_SOC_E750_WM9705=m | ||
1030 | CONFIG_SND_PXA2XX_SOC_E800_WM9712=m | ||
1031 | # CONFIG_SND_PXA2XX_SOC_MAGICIAN is not set | ||
1032 | # CONFIG_SND_PXA2XX_SOC_BLUEANGEL is not set | ||
1033 | # CONFIG_SND_PXA2XX_SOC_H5000 is not set | ||
1034 | |||
1035 | # | ||
1036 | # SoC Audio for the Freescale i.MX | ||
1037 | # | ||
1038 | |||
1039 | # | ||
1040 | # SoC Audio for the Samsung S3C24XX | ||
1041 | # | ||
1042 | # CONFIG_SND_SOC_AC97_CODEC is not set | ||
1043 | # CONFIG_SND_SOC_WM8711 is not set | ||
1044 | # CONFIG_SND_SOC_WM8510 is not set | ||
1045 | # CONFIG_SND_SOC_WM8731 is not set | ||
1046 | # CONFIG_SND_SOC_WM8750 is not set | ||
1047 | # CONFIG_SND_SOC_WM8753 is not set | ||
1048 | # CONFIG_SND_SOC_WM8772 is not set | ||
1049 | # CONFIG_SND_SOC_WM8971 is not set | ||
1050 | # CONFIG_SND_SOC_WM8956 is not set | ||
1051 | # CONFIG_SND_SOC_WM8960 is not set | ||
1052 | # CONFIG_SND_SOC_WM8976 is not set | ||
1053 | # CONFIG_SND_SOC_WM8974 is not set | ||
1054 | # CONFIG_SND_SOC_WM8980 is not set | ||
1055 | CONFIG_SND_SOC_WM9705=m | ||
1056 | # CONFIG_SND_SOC_WM9713 is not set | ||
1057 | CONFIG_SND_SOC_WM9712=m | 916 | CONFIG_SND_SOC_WM9712=m |
1058 | # CONFIG_SND_SOC_UDA1380 is not set | ||
1059 | # CONFIG_SND_SOC_AK4535 is not set | ||
1060 | |||
1061 | # | ||
1062 | # Open Sound System | ||
1063 | # | ||
1064 | # CONFIG_SOUND_PRIME is not set | 917 | # CONFIG_SOUND_PRIME is not set |
1065 | CONFIG_AC97_BUS=m | 918 | CONFIG_AC97_BUS=m |
919 | CONFIG_HID_SUPPORT=y | ||
920 | CONFIG_HID=y | ||
921 | # CONFIG_HID_DEBUG is not set | ||
922 | # CONFIG_HIDRAW is not set | ||
1066 | 923 | ||
1067 | # | 924 | # |
1068 | # HID Devices | 925 | # USB Input Devices |
1069 | # | 926 | # |
1070 | CONFIG_HID=y | 927 | CONFIG_USB_HID=m |
1071 | # CONFIG_HID_DEBUG is not set | 928 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set |
929 | # CONFIG_HID_FF is not set | ||
930 | # CONFIG_USB_HIDDEV is not set | ||
1072 | 931 | ||
1073 | # | 932 | # |
1074 | # USB support | 933 | # USB HID Boot Protocol drivers |
1075 | # | 934 | # |
935 | # CONFIG_USB_KBD is not set | ||
936 | # CONFIG_USB_MOUSE is not set | ||
937 | CONFIG_USB_SUPPORT=y | ||
1076 | CONFIG_USB_ARCH_HAS_HCD=y | 938 | CONFIG_USB_ARCH_HAS_HCD=y |
1077 | CONFIG_USB_ARCH_HAS_OHCI=y | 939 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
1078 | # CONFIG_USB_ARCH_HAS_EHCI is not set | 940 | # CONFIG_USB_ARCH_HAS_EHCI is not set |
1079 | CONFIG_USB=m | 941 | CONFIG_USB=m |
1080 | CONFIG_USB_DEBUG=y | 942 | # CONFIG_USB_DEBUG is not set |
943 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
1081 | 944 | ||
1082 | # | 945 | # |
1083 | # Miscellaneous USB options | 946 | # Miscellaneous USB options |
1084 | # | 947 | # |
1085 | CONFIG_USB_DEVICEFS=y | 948 | # CONFIG_USB_DEVICEFS is not set |
1086 | CONFIG_USB_DYNAMIC_MINORS=y | 949 | CONFIG_USB_DEVICE_CLASS=y |
950 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
1087 | # CONFIG_USB_SUSPEND is not set | 951 | # CONFIG_USB_SUSPEND is not set |
1088 | # CONFIG_USB_OTG is not set | 952 | # CONFIG_USB_OTG is not set |
953 | # CONFIG_USB_OTG_WHITELIST is not set | ||
954 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
1089 | 955 | ||
1090 | # | 956 | # |
1091 | # USB Host Controller Drivers | 957 | # USB Host Controller Drivers |
1092 | # | 958 | # |
959 | # CONFIG_USB_C67X00_HCD is not set | ||
1093 | # CONFIG_USB_ISP116X_HCD is not set | 960 | # CONFIG_USB_ISP116X_HCD is not set |
1094 | # CONFIG_USB_OHCI_HCD is not set | 961 | # CONFIG_USB_ISP1760_HCD is not set |
1095 | # CONFIG_USB_SL811_HCD is not set | 962 | # CONFIG_USB_SL811_HCD is not set |
963 | # CONFIG_USB_R8A66597_HCD is not set | ||
1096 | 964 | ||
1097 | # | 965 | # |
1098 | # USB Device Class drivers | 966 | # USB Device Class drivers |
1099 | # | 967 | # |
1100 | # CONFIG_USB_ACM is not set | 968 | # CONFIG_USB_ACM is not set |
1101 | # CONFIG_USB_PRINTER is not set | 969 | # CONFIG_USB_PRINTER is not set |
970 | # CONFIG_USB_WDM is not set | ||
1102 | 971 | ||
1103 | # | 972 | # |
1104 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 973 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -1107,68 +976,19 @@ CONFIG_USB_DYNAMIC_MINORS=y | |||
1107 | # | 976 | # |
1108 | # may also be needed; see USB_STORAGE Help for more information | 977 | # may also be needed; see USB_STORAGE Help for more information |
1109 | # | 978 | # |
1110 | CONFIG_USB_STORAGE=m | 979 | # CONFIG_USB_STORAGE is not set |
1111 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
1112 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
1113 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
1114 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
1115 | # CONFIG_USB_STORAGE_DPCM is not set | ||
1116 | # CONFIG_USB_STORAGE_USBAT is not set | ||
1117 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
1118 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
1119 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
1120 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
1121 | # CONFIG_USB_STORAGE_KARMA is not set | ||
1122 | # CONFIG_USB_LIBUSUAL is not set | 980 | # CONFIG_USB_LIBUSUAL is not set |
1123 | 981 | ||
1124 | # | 982 | # |
1125 | # USB Input Devices | ||
1126 | # | ||
1127 | # CONFIG_USB_HID is not set | ||
1128 | |||
1129 | # | ||
1130 | # USB HID Boot Protocol drivers | ||
1131 | # | ||
1132 | # CONFIG_USB_KBD is not set | ||
1133 | # CONFIG_USB_MOUSE is not set | ||
1134 | # CONFIG_USB_AIPTEK is not set | ||
1135 | # CONFIG_USB_WACOM is not set | ||
1136 | # CONFIG_USB_ACECAD is not set | ||
1137 | # CONFIG_USB_KBTAB is not set | ||
1138 | # CONFIG_USB_POWERMATE is not set | ||
1139 | # CONFIG_USB_TOUCHSCREEN is not set | ||
1140 | # CONFIG_USB_YEALINK is not set | ||
1141 | # CONFIG_USB_XPAD is not set | ||
1142 | # CONFIG_USB_ATI_REMOTE is not set | ||
1143 | # CONFIG_USB_ATI_REMOTE2 is not set | ||
1144 | # CONFIG_USB_KEYSPAN_REMOTE is not set | ||
1145 | # CONFIG_USB_APPLETOUCH is not set | ||
1146 | # CONFIG_USB_GTCO is not set | ||
1147 | |||
1148 | # | ||
1149 | # USB Imaging devices | 983 | # USB Imaging devices |
1150 | # | 984 | # |
1151 | # CONFIG_USB_MDC800 is not set | 985 | # CONFIG_USB_MDC800 is not set |
1152 | # CONFIG_USB_MICROTEK is not set | 986 | # CONFIG_USB_MICROTEK is not set |
1153 | 987 | CONFIG_USB_MON=y | |
1154 | # | ||
1155 | # USB Network Adapters | ||
1156 | # | ||
1157 | # CONFIG_USB_CATC is not set | ||
1158 | # CONFIG_USB_KAWETH is not set | ||
1159 | # CONFIG_USB_PEGASUS is not set | ||
1160 | # CONFIG_USB_RTL8150 is not set | ||
1161 | # CONFIG_USB_USBNET_MII is not set | ||
1162 | # CONFIG_USB_USBNET is not set | ||
1163 | # CONFIG_USB_MON is not set | ||
1164 | 988 | ||
1165 | # | 989 | # |
1166 | # USB port drivers | 990 | # USB port drivers |
1167 | # | 991 | # |
1168 | |||
1169 | # | ||
1170 | # USB Serial Converter support | ||
1171 | # | ||
1172 | # CONFIG_USB_SERIAL is not set | 992 | # CONFIG_USB_SERIAL is not set |
1173 | 993 | ||
1174 | # | 994 | # |
@@ -1192,56 +1012,57 @@ CONFIG_USB_STORAGE=m | |||
1192 | # CONFIG_USB_LD is not set | 1012 | # CONFIG_USB_LD is not set |
1193 | # CONFIG_USB_TRANCEVIBRATOR is not set | 1013 | # CONFIG_USB_TRANCEVIBRATOR is not set |
1194 | # CONFIG_USB_IOWARRIOR is not set | 1014 | # CONFIG_USB_IOWARRIOR is not set |
1195 | # CONFIG_USB_TEST is not set | 1015 | # CONFIG_USB_ISIGHTFW is not set |
1196 | |||
1197 | # | ||
1198 | # USB DSL modem support | ||
1199 | # | ||
1200 | |||
1201 | # | ||
1202 | # USB Gadget Support | ||
1203 | # | ||
1204 | CONFIG_USB_GADGET=y | 1016 | CONFIG_USB_GADGET=y |
1205 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | 1017 | # CONFIG_USB_GADGET_DEBUG_FILES is not set |
1206 | CONFIG_USB_GADGET_SELECTED=y | 1018 | CONFIG_USB_GADGET_SELECTED=y |
1019 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
1020 | # CONFIG_USB_GADGET_ATMEL_USBA is not set | ||
1021 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
1207 | # CONFIG_USB_GADGET_NET2280 is not set | 1022 | # CONFIG_USB_GADGET_NET2280 is not set |
1208 | CONFIG_USB_GADGET_PXA2XX=y | 1023 | CONFIG_USB_GADGET_PXA25X=y |
1209 | CONFIG_USB_PXA2XX=y | 1024 | CONFIG_USB_PXA25X=y |
1210 | # CONFIG_USB_PXA2XX_SMALL is not set | 1025 | CONFIG_USB_PXA25X_SMALL=y |
1026 | # CONFIG_USB_GADGET_M66592 is not set | ||
1211 | # CONFIG_USB_GADGET_PXA27X is not set | 1027 | # CONFIG_USB_GADGET_PXA27X is not set |
1212 | # CONFIG_USB_GADGET_GOKU is not set | 1028 | # CONFIG_USB_GADGET_GOKU is not set |
1213 | # CONFIG_USB_GADGET_MQ11XX is not set | ||
1214 | # CONFIG_USB_GADGET_LH7A40X is not set | 1029 | # CONFIG_USB_GADGET_LH7A40X is not set |
1215 | # CONFIG_USB_GADGET_S3C2410 is not set | ||
1216 | # CONFIG_USB_GADGET_OMAP is not set | 1030 | # CONFIG_USB_GADGET_OMAP is not set |
1031 | # CONFIG_USB_GADGET_S3C2410 is not set | ||
1217 | # CONFIG_USB_GADGET_AT91 is not set | 1032 | # CONFIG_USB_GADGET_AT91 is not set |
1218 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | 1033 | # CONFIG_USB_GADGET_DUMMY_HCD is not set |
1219 | # CONFIG_USB_GADGET_DUALSPEED is not set | 1034 | # CONFIG_USB_GADGET_DUALSPEED is not set |
1220 | # CONFIG_USB_ZERO is not set | 1035 | # CONFIG_USB_ZERO is not set |
1221 | CONFIG_USB_ETH=y | 1036 | CONFIG_USB_ETH=m |
1222 | # CONFIG_USB_ETH_RNDIS is not set | 1037 | # CONFIG_USB_ETH_RNDIS is not set |
1223 | # CONFIG_USB_GADGETFS is not set | 1038 | # CONFIG_USB_GADGETFS is not set |
1224 | # CONFIG_USB_FILE_STORAGE is not set | 1039 | # CONFIG_USB_FILE_STORAGE is not set |
1225 | # CONFIG_USB_G_SERIAL is not set | 1040 | # CONFIG_USB_G_SERIAL is not set |
1226 | # CONFIG_USB_MIDI_GADGET is not set | 1041 | # CONFIG_USB_MIDI_GADGET is not set |
1227 | # CONFIG_USB_G_CHAR is not set | 1042 | # CONFIG_USB_G_PRINTER is not set |
1228 | # CONFIG_USB_PXA2XX_GPIO is not set | 1043 | # CONFIG_USB_CDC_COMPOSITE is not set |
1044 | CONFIG_MMC=y | ||
1045 | # CONFIG_MMC_DEBUG is not set | ||
1046 | CONFIG_MMC_UNSAFE_RESUME=y | ||
1229 | 1047 | ||
1230 | # | 1048 | # |
1231 | # MMC/SD Card support | 1049 | # MMC/SD Card Drivers |
1232 | # | 1050 | # |
1233 | CONFIG_MMC=y | ||
1234 | # CONFIG_MMC_DEBUG is not set | ||
1235 | CONFIG_MMC_BLOCK=y | 1051 | CONFIG_MMC_BLOCK=y |
1236 | # CONFIG_MMC_PXA is not set | 1052 | CONFIG_MMC_BLOCK_BOUNCE=y |
1237 | CONFIG_MMC_TMIO=y | 1053 | # CONFIG_SDIO_UART is not set |
1238 | # CONFIG_MMC_SAMCOP is not set | 1054 | # CONFIG_MMC_TEST is not set |
1239 | 1055 | ||
1240 | # | 1056 | # |
1241 | # Real Time Clock | 1057 | # MMC/SD Host Controller Drivers |
1242 | # | 1058 | # |
1059 | # CONFIG_MMC_PXA is not set | ||
1060 | # CONFIG_MMC_SDHCI is not set | ||
1061 | # CONFIG_NEW_LEDS is not set | ||
1243 | CONFIG_RTC_LIB=y | 1062 | CONFIG_RTC_LIB=y |
1244 | # CONFIG_RTC_CLASS is not set | 1063 | # CONFIG_RTC_CLASS is not set |
1064 | # CONFIG_DMADEVICES is not set | ||
1065 | # CONFIG_UIO is not set | ||
1245 | 1066 | ||
1246 | # | 1067 | # |
1247 | # File systems | 1068 | # File systems |
@@ -1255,14 +1076,11 @@ CONFIG_EXT2_FS=y | |||
1255 | # CONFIG_JFS_FS is not set | 1076 | # CONFIG_JFS_FS is not set |
1256 | # CONFIG_FS_POSIX_ACL is not set | 1077 | # CONFIG_FS_POSIX_ACL is not set |
1257 | # CONFIG_XFS_FS is not set | 1078 | # CONFIG_XFS_FS is not set |
1258 | # CONFIG_GFS2_FS is not set | ||
1259 | # CONFIG_OCFS2_FS is not set | 1079 | # CONFIG_OCFS2_FS is not set |
1260 | # CONFIG_MINIX_FS is not set | 1080 | CONFIG_DNOTIFY=y |
1261 | # CONFIG_ROMFS_FS is not set | ||
1262 | CONFIG_INOTIFY=y | 1081 | CONFIG_INOTIFY=y |
1263 | CONFIG_INOTIFY_USER=y | 1082 | CONFIG_INOTIFY_USER=y |
1264 | # CONFIG_QUOTA is not set | 1083 | # CONFIG_QUOTA is not set |
1265 | CONFIG_DNOTIFY=y | ||
1266 | # CONFIG_AUTOFS_FS is not set | 1084 | # CONFIG_AUTOFS_FS is not set |
1267 | # CONFIG_AUTOFS4_FS is not set | 1085 | # CONFIG_AUTOFS4_FS is not set |
1268 | # CONFIG_FUSE_FS is not set | 1086 | # CONFIG_FUSE_FS is not set |
@@ -1292,7 +1110,6 @@ CONFIG_SYSFS=y | |||
1292 | CONFIG_TMPFS=y | 1110 | CONFIG_TMPFS=y |
1293 | # CONFIG_TMPFS_POSIX_ACL is not set | 1111 | # CONFIG_TMPFS_POSIX_ACL is not set |
1294 | # CONFIG_HUGETLB_PAGE is not set | 1112 | # CONFIG_HUGETLB_PAGE is not set |
1295 | CONFIG_RAMFS=y | ||
1296 | # CONFIG_CONFIGFS_FS is not set | 1113 | # CONFIG_CONFIGFS_FS is not set |
1297 | 1114 | ||
1298 | # | 1115 | # |
@@ -1305,30 +1122,21 @@ CONFIG_RAMFS=y | |||
1305 | # CONFIG_BEFS_FS is not set | 1122 | # CONFIG_BEFS_FS is not set |
1306 | # CONFIG_BFS_FS is not set | 1123 | # CONFIG_BFS_FS is not set |
1307 | # CONFIG_EFS_FS is not set | 1124 | # CONFIG_EFS_FS is not set |
1308 | CONFIG_JFFS2_FS=m | 1125 | # CONFIG_JFFS2_FS is not set |
1309 | CONFIG_JFFS2_FS_DEBUG=0 | ||
1310 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
1311 | # CONFIG_JFFS2_SUMMARY is not set | ||
1312 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1313 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
1314 | CONFIG_JFFS2_ZLIB=y | ||
1315 | CONFIG_JFFS2_RTIME=y | ||
1316 | # CONFIG_JFFS2_RUBIN is not set | ||
1317 | # CONFIG_CRAMFS is not set | 1126 | # CONFIG_CRAMFS is not set |
1318 | # CONFIG_VXFS_FS is not set | 1127 | # CONFIG_VXFS_FS is not set |
1128 | # CONFIG_MINIX_FS is not set | ||
1129 | # CONFIG_OMFS_FS is not set | ||
1319 | # CONFIG_HPFS_FS is not set | 1130 | # CONFIG_HPFS_FS is not set |
1320 | # CONFIG_QNX4FS_FS is not set | 1131 | # CONFIG_QNX4FS_FS is not set |
1132 | # CONFIG_ROMFS_FS is not set | ||
1321 | # CONFIG_SYSV_FS is not set | 1133 | # CONFIG_SYSV_FS is not set |
1322 | # CONFIG_UFS_FS is not set | 1134 | # CONFIG_UFS_FS is not set |
1323 | 1135 | CONFIG_NETWORK_FILESYSTEMS=y | |
1324 | # | ||
1325 | # Network File Systems | ||
1326 | # | ||
1327 | CONFIG_NFS_FS=y | 1136 | CONFIG_NFS_FS=y |
1328 | CONFIG_NFS_V3=y | 1137 | CONFIG_NFS_V3=y |
1329 | # CONFIG_NFS_V3_ACL is not set | 1138 | # CONFIG_NFS_V3_ACL is not set |
1330 | # CONFIG_NFS_V4 is not set | 1139 | # CONFIG_NFS_V4 is not set |
1331 | # CONFIG_NFS_DIRECTIO is not set | ||
1332 | # CONFIG_NFSD is not set | 1140 | # CONFIG_NFSD is not set |
1333 | CONFIG_LOCKD=y | 1141 | CONFIG_LOCKD=y |
1334 | CONFIG_LOCKD_V4=y | 1142 | CONFIG_LOCKD_V4=y |
@@ -1341,7 +1149,6 @@ CONFIG_SUNRPC=y | |||
1341 | # CONFIG_NCP_FS is not set | 1149 | # CONFIG_NCP_FS is not set |
1342 | # CONFIG_CODA_FS is not set | 1150 | # CONFIG_CODA_FS is not set |
1343 | # CONFIG_AFS_FS is not set | 1151 | # CONFIG_AFS_FS is not set |
1344 | # CONFIG_9P_FS is not set | ||
1345 | 1152 | ||
1346 | # | 1153 | # |
1347 | # Partition Types | 1154 | # Partition Types |
@@ -1363,10 +1170,7 @@ CONFIG_MSDOS_PARTITION=y | |||
1363 | # CONFIG_SUN_PARTITION is not set | 1170 | # CONFIG_SUN_PARTITION is not set |
1364 | # CONFIG_KARMA_PARTITION is not set | 1171 | # CONFIG_KARMA_PARTITION is not set |
1365 | # CONFIG_EFI_PARTITION is not set | 1172 | # CONFIG_EFI_PARTITION is not set |
1366 | 1173 | # CONFIG_SYSV68_PARTITION is not set | |
1367 | # | ||
1368 | # Native Language Support | ||
1369 | # | ||
1370 | CONFIG_NLS=y | 1174 | CONFIG_NLS=y |
1371 | CONFIG_NLS_DEFAULT="iso8859-1" | 1175 | CONFIG_NLS_DEFAULT="iso8859-1" |
1372 | CONFIG_NLS_CODEPAGE_437=y | 1176 | CONFIG_NLS_CODEPAGE_437=y |
@@ -1407,30 +1211,32 @@ CONFIG_NLS_ISO8859_1=y | |||
1407 | # CONFIG_NLS_KOI8_R is not set | 1211 | # CONFIG_NLS_KOI8_R is not set |
1408 | # CONFIG_NLS_KOI8_U is not set | 1212 | # CONFIG_NLS_KOI8_U is not set |
1409 | # CONFIG_NLS_UTF8 is not set | 1213 | # CONFIG_NLS_UTF8 is not set |
1410 | |||
1411 | # | ||
1412 | # Distributed Lock Manager | ||
1413 | # | ||
1414 | # CONFIG_DLM is not set | 1214 | # CONFIG_DLM is not set |
1415 | 1215 | ||
1416 | # | 1216 | # |
1417 | # Profiling support | ||
1418 | # | ||
1419 | # CONFIG_PROFILING is not set | ||
1420 | |||
1421 | # | ||
1422 | # Kernel hacking | 1217 | # Kernel hacking |
1423 | # | 1218 | # |
1424 | # CONFIG_PRINTK_TIME is not set | 1219 | # CONFIG_PRINTK_TIME is not set |
1425 | CONFIG_ENABLE_MUST_CHECK=y | 1220 | # CONFIG_ENABLE_WARN_DEPRECATED is not set |
1221 | # CONFIG_ENABLE_MUST_CHECK is not set | ||
1222 | CONFIG_FRAME_WARN=1024 | ||
1426 | # CONFIG_MAGIC_SYSRQ is not set | 1223 | # CONFIG_MAGIC_SYSRQ is not set |
1427 | # CONFIG_UNUSED_SYMBOLS is not set | 1224 | # CONFIG_UNUSED_SYMBOLS is not set |
1428 | # CONFIG_DEBUG_FS is not set | 1225 | # CONFIG_DEBUG_FS is not set |
1429 | # CONFIG_HEADERS_CHECK is not set | 1226 | # CONFIG_HEADERS_CHECK is not set |
1430 | # CONFIG_DEBUG_KERNEL is not set | 1227 | # CONFIG_DEBUG_KERNEL is not set |
1431 | CONFIG_LOG_BUF_SHIFT=14 | ||
1432 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1228 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1229 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1433 | CONFIG_FRAME_POINTER=y | 1230 | CONFIG_FRAME_POINTER=y |
1231 | # CONFIG_LATENCYTOP is not set | ||
1232 | CONFIG_HAVE_FTRACE=y | ||
1233 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
1234 | # CONFIG_FTRACE is not set | ||
1235 | # CONFIG_IRQSOFF_TRACER is not set | ||
1236 | # CONFIG_SCHED_TRACER is not set | ||
1237 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1238 | # CONFIG_SAMPLES is not set | ||
1239 | CONFIG_HAVE_ARCH_KGDB=y | ||
1434 | # CONFIG_DEBUG_USER is not set | 1240 | # CONFIG_DEBUG_USER is not set |
1435 | 1241 | ||
1436 | # | 1242 | # |
@@ -1438,61 +1244,102 @@ CONFIG_FRAME_POINTER=y | |||
1438 | # | 1244 | # |
1439 | # CONFIG_KEYS is not set | 1245 | # CONFIG_KEYS is not set |
1440 | # CONFIG_SECURITY is not set | 1246 | # CONFIG_SECURITY is not set |
1247 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1248 | CONFIG_CRYPTO=y | ||
1441 | 1249 | ||
1442 | # | 1250 | # |
1443 | # Cryptographic options | 1251 | # Crypto core or helper |
1444 | # | 1252 | # |
1445 | CONFIG_CRYPTO=y | ||
1446 | CONFIG_CRYPTO_ALGAPI=m | 1253 | CONFIG_CRYPTO_ALGAPI=m |
1447 | CONFIG_CRYPTO_BLKCIPHER=m | 1254 | CONFIG_CRYPTO_BLKCIPHER=m |
1448 | CONFIG_CRYPTO_MANAGER=m | 1255 | CONFIG_CRYPTO_MANAGER=m |
1256 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1257 | # CONFIG_CRYPTO_NULL is not set | ||
1258 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1259 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1260 | # CONFIG_CRYPTO_TEST is not set | ||
1261 | |||
1262 | # | ||
1263 | # Authenticated Encryption with Associated Data | ||
1264 | # | ||
1265 | # CONFIG_CRYPTO_CCM is not set | ||
1266 | # CONFIG_CRYPTO_GCM is not set | ||
1267 | # CONFIG_CRYPTO_SEQIV is not set | ||
1268 | |||
1269 | # | ||
1270 | # Block modes | ||
1271 | # | ||
1272 | CONFIG_CRYPTO_CBC=m | ||
1273 | # CONFIG_CRYPTO_CTR is not set | ||
1274 | # CONFIG_CRYPTO_CTS is not set | ||
1275 | CONFIG_CRYPTO_ECB=m | ||
1276 | # CONFIG_CRYPTO_LRW is not set | ||
1277 | CONFIG_CRYPTO_PCBC=m | ||
1278 | # CONFIG_CRYPTO_XTS is not set | ||
1279 | |||
1280 | # | ||
1281 | # Hash modes | ||
1282 | # | ||
1449 | # CONFIG_CRYPTO_HMAC is not set | 1283 | # CONFIG_CRYPTO_HMAC is not set |
1450 | # CONFIG_CRYPTO_XCBC is not set | 1284 | # CONFIG_CRYPTO_XCBC is not set |
1451 | # CONFIG_CRYPTO_NULL is not set | 1285 | |
1286 | # | ||
1287 | # Digest | ||
1288 | # | ||
1289 | # CONFIG_CRYPTO_CRC32C is not set | ||
1452 | # CONFIG_CRYPTO_MD4 is not set | 1290 | # CONFIG_CRYPTO_MD4 is not set |
1453 | # CONFIG_CRYPTO_MD5 is not set | 1291 | # CONFIG_CRYPTO_MD5 is not set |
1292 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1293 | # CONFIG_CRYPTO_RMD128 is not set | ||
1294 | # CONFIG_CRYPTO_RMD160 is not set | ||
1295 | # CONFIG_CRYPTO_RMD256 is not set | ||
1296 | # CONFIG_CRYPTO_RMD320 is not set | ||
1454 | # CONFIG_CRYPTO_SHA1 is not set | 1297 | # CONFIG_CRYPTO_SHA1 is not set |
1455 | # CONFIG_CRYPTO_SHA256 is not set | 1298 | # CONFIG_CRYPTO_SHA256 is not set |
1456 | # CONFIG_CRYPTO_SHA512 is not set | 1299 | # CONFIG_CRYPTO_SHA512 is not set |
1457 | # CONFIG_CRYPTO_WP512 is not set | ||
1458 | # CONFIG_CRYPTO_TGR192 is not set | 1300 | # CONFIG_CRYPTO_TGR192 is not set |
1459 | # CONFIG_CRYPTO_GF128MUL is not set | 1301 | # CONFIG_CRYPTO_WP512 is not set |
1460 | CONFIG_CRYPTO_ECB=m | 1302 | |
1461 | CONFIG_CRYPTO_CBC=m | 1303 | # |
1462 | CONFIG_CRYPTO_PCBC=m | 1304 | # Ciphers |
1463 | # CONFIG_CRYPTO_LRW is not set | 1305 | # |
1464 | # CONFIG_CRYPTO_DES is not set | 1306 | CONFIG_CRYPTO_AES=m |
1465 | # CONFIG_CRYPTO_FCRYPT is not set | 1307 | # CONFIG_CRYPTO_ANUBIS is not set |
1308 | CONFIG_CRYPTO_ARC4=m | ||
1466 | # CONFIG_CRYPTO_BLOWFISH is not set | 1309 | # CONFIG_CRYPTO_BLOWFISH is not set |
1467 | # CONFIG_CRYPTO_TWOFISH is not set | 1310 | # CONFIG_CRYPTO_CAMELLIA is not set |
1468 | # CONFIG_CRYPTO_SERPENT is not set | ||
1469 | # CONFIG_CRYPTO_AES is not set | ||
1470 | # CONFIG_CRYPTO_CAST5 is not set | 1311 | # CONFIG_CRYPTO_CAST5 is not set |
1471 | # CONFIG_CRYPTO_CAST6 is not set | 1312 | # CONFIG_CRYPTO_CAST6 is not set |
1472 | # CONFIG_CRYPTO_TEA is not set | 1313 | # CONFIG_CRYPTO_DES is not set |
1473 | CONFIG_CRYPTO_ARC4=m | 1314 | # CONFIG_CRYPTO_FCRYPT is not set |
1474 | # CONFIG_CRYPTO_KHAZAD is not set | 1315 | # CONFIG_CRYPTO_KHAZAD is not set |
1475 | # CONFIG_CRYPTO_ANUBIS is not set | 1316 | # CONFIG_CRYPTO_SALSA20 is not set |
1476 | # CONFIG_CRYPTO_DEFLATE is not set | 1317 | # CONFIG_CRYPTO_SEED is not set |
1477 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1318 | # CONFIG_CRYPTO_SERPENT is not set |
1478 | # CONFIG_CRYPTO_CRC32C is not set | 1319 | # CONFIG_CRYPTO_TEA is not set |
1479 | # CONFIG_CRYPTO_CAMELLIA is not set | 1320 | # CONFIG_CRYPTO_TWOFISH is not set |
1480 | # CONFIG_CRYPTO_TEST is not set | ||
1481 | 1321 | ||
1482 | # | 1322 | # |
1483 | # Hardware crypto devices | 1323 | # Compression |
1484 | # | 1324 | # |
1325 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1326 | # CONFIG_CRYPTO_LZO is not set | ||
1327 | CONFIG_CRYPTO_HW=y | ||
1485 | 1328 | ||
1486 | # | 1329 | # |
1487 | # Library routines | 1330 | # Library routines |
1488 | # | 1331 | # |
1489 | CONFIG_BITREVERSE=y | 1332 | CONFIG_BITREVERSE=y |
1490 | # CONFIG_CRC_CCITT is not set | 1333 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set |
1334 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1335 | CONFIG_CRC_CCITT=y | ||
1491 | # CONFIG_CRC16 is not set | 1336 | # CONFIG_CRC16 is not set |
1337 | # CONFIG_CRC_T10DIF is not set | ||
1338 | # CONFIG_CRC_ITU_T is not set | ||
1492 | CONFIG_CRC32=y | 1339 | CONFIG_CRC32=y |
1340 | # CONFIG_CRC7 is not set | ||
1493 | # CONFIG_LIBCRC32C is not set | 1341 | # CONFIG_LIBCRC32C is not set |
1494 | CONFIG_ZLIB_INFLATE=m | ||
1495 | CONFIG_ZLIB_DEFLATE=m | ||
1496 | CONFIG_PLIST=y | 1342 | CONFIG_PLIST=y |
1497 | CONFIG_HAS_IOMEM=y | 1343 | CONFIG_HAS_IOMEM=y |
1498 | CONFIG_HAS_IOPORT=y | 1344 | CONFIG_HAS_IOPORT=y |
1345 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/arm/mach-at91/at91cap9_devices.c b/arch/arm/mach-at91/at91cap9_devices.c index 747b9dedab88..dc8b40783d94 100644 --- a/arch/arm/mach-at91/at91cap9_devices.c +++ b/arch/arm/mach-at91/at91cap9_devices.c | |||
@@ -377,7 +377,7 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} | |||
377 | * -------------------------------------------------------------------- */ | 377 | * -------------------------------------------------------------------- */ |
378 | 378 | ||
379 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) | 379 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) |
380 | static struct at91_nand_data nand_data; | 380 | static struct atmel_nand_data nand_data; |
381 | 381 | ||
382 | #define NAND_BASE AT91_CHIPSELECT_3 | 382 | #define NAND_BASE AT91_CHIPSELECT_3 |
383 | 383 | ||
@@ -395,7 +395,7 @@ static struct resource nand_resources[] = { | |||
395 | }; | 395 | }; |
396 | 396 | ||
397 | static struct platform_device at91cap9_nand_device = { | 397 | static struct platform_device at91cap9_nand_device = { |
398 | .name = "at91_nand", | 398 | .name = "atmel_nand", |
399 | .id = -1, | 399 | .id = -1, |
400 | .dev = { | 400 | .dev = { |
401 | .platform_data = &nand_data, | 401 | .platform_data = &nand_data, |
@@ -404,7 +404,7 @@ static struct platform_device at91cap9_nand_device = { | |||
404 | .num_resources = ARRAY_SIZE(nand_resources), | 404 | .num_resources = ARRAY_SIZE(nand_resources), |
405 | }; | 405 | }; |
406 | 406 | ||
407 | void __init at91_add_device_nand(struct at91_nand_data *data) | 407 | void __init at91_add_device_nand(struct atmel_nand_data *data) |
408 | { | 408 | { |
409 | unsigned long csa, mode; | 409 | unsigned long csa, mode; |
410 | 410 | ||
@@ -445,7 +445,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data) | |||
445 | platform_device_register(&at91cap9_nand_device); | 445 | platform_device_register(&at91cap9_nand_device); |
446 | } | 446 | } |
447 | #else | 447 | #else |
448 | void __init at91_add_device_nand(struct at91_nand_data *data) {} | 448 | void __init at91_add_device_nand(struct atmel_nand_data *data) {} |
449 | #endif | 449 | #endif |
450 | 450 | ||
451 | 451 | ||
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c index de19bee83f75..8ced9bc82099 100644 --- a/arch/arm/mach-at91/at91rm9200_devices.c +++ b/arch/arm/mach-at91/at91rm9200_devices.c | |||
@@ -369,7 +369,7 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} | |||
369 | * -------------------------------------------------------------------- */ | 369 | * -------------------------------------------------------------------- */ |
370 | 370 | ||
371 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) | 371 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) |
372 | static struct at91_nand_data nand_data; | 372 | static struct atmel_nand_data nand_data; |
373 | 373 | ||
374 | #define NAND_BASE AT91_CHIPSELECT_3 | 374 | #define NAND_BASE AT91_CHIPSELECT_3 |
375 | 375 | ||
@@ -382,7 +382,7 @@ static struct resource nand_resources[] = { | |||
382 | }; | 382 | }; |
383 | 383 | ||
384 | static struct platform_device at91rm9200_nand_device = { | 384 | static struct platform_device at91rm9200_nand_device = { |
385 | .name = "at91_nand", | 385 | .name = "atmel_nand", |
386 | .id = -1, | 386 | .id = -1, |
387 | .dev = { | 387 | .dev = { |
388 | .platform_data = &nand_data, | 388 | .platform_data = &nand_data, |
@@ -391,7 +391,7 @@ static struct platform_device at91rm9200_nand_device = { | |||
391 | .num_resources = ARRAY_SIZE(nand_resources), | 391 | .num_resources = ARRAY_SIZE(nand_resources), |
392 | }; | 392 | }; |
393 | 393 | ||
394 | void __init at91_add_device_nand(struct at91_nand_data *data) | 394 | void __init at91_add_device_nand(struct atmel_nand_data *data) |
395 | { | 395 | { |
396 | unsigned int csa; | 396 | unsigned int csa; |
397 | 397 | ||
@@ -429,7 +429,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data) | |||
429 | platform_device_register(&at91rm9200_nand_device); | 429 | platform_device_register(&at91rm9200_nand_device); |
430 | } | 430 | } |
431 | #else | 431 | #else |
432 | void __init at91_add_device_nand(struct at91_nand_data *data) {} | 432 | void __init at91_add_device_nand(struct atmel_nand_data *data) {} |
433 | #endif | 433 | #endif |
434 | 434 | ||
435 | 435 | ||
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c index 86cba4ac29b1..cae5f52f1278 100644 --- a/arch/arm/mach-at91/at91sam9260_devices.c +++ b/arch/arm/mach-at91/at91sam9260_devices.c | |||
@@ -284,7 +284,7 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} | |||
284 | * -------------------------------------------------------------------- */ | 284 | * -------------------------------------------------------------------- */ |
285 | 285 | ||
286 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) | 286 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) |
287 | static struct at91_nand_data nand_data; | 287 | static struct atmel_nand_data nand_data; |
288 | 288 | ||
289 | #define NAND_BASE AT91_CHIPSELECT_3 | 289 | #define NAND_BASE AT91_CHIPSELECT_3 |
290 | 290 | ||
@@ -302,7 +302,7 @@ static struct resource nand_resources[] = { | |||
302 | }; | 302 | }; |
303 | 303 | ||
304 | static struct platform_device at91sam9260_nand_device = { | 304 | static struct platform_device at91sam9260_nand_device = { |
305 | .name = "at91_nand", | 305 | .name = "atmel_nand", |
306 | .id = -1, | 306 | .id = -1, |
307 | .dev = { | 307 | .dev = { |
308 | .platform_data = &nand_data, | 308 | .platform_data = &nand_data, |
@@ -311,7 +311,7 @@ static struct platform_device at91sam9260_nand_device = { | |||
311 | .num_resources = ARRAY_SIZE(nand_resources), | 311 | .num_resources = ARRAY_SIZE(nand_resources), |
312 | }; | 312 | }; |
313 | 313 | ||
314 | void __init at91_add_device_nand(struct at91_nand_data *data) | 314 | void __init at91_add_device_nand(struct atmel_nand_data *data) |
315 | { | 315 | { |
316 | unsigned long csa, mode; | 316 | unsigned long csa, mode; |
317 | 317 | ||
@@ -373,7 +373,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data) | |||
373 | platform_device_register(&at91sam9260_nand_device); | 373 | platform_device_register(&at91sam9260_nand_device); |
374 | } | 374 | } |
375 | #else | 375 | #else |
376 | void __init at91_add_device_nand(struct at91_nand_data *data) {} | 376 | void __init at91_add_device_nand(struct atmel_nand_data *data) {} |
377 | #endif | 377 | #endif |
378 | 378 | ||
379 | 379 | ||
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c index ec1891375dfb..483d436af22d 100644 --- a/arch/arm/mach-at91/at91sam9261_devices.c +++ b/arch/arm/mach-at91/at91sam9261_devices.c | |||
@@ -199,7 +199,7 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} | |||
199 | * -------------------------------------------------------------------- */ | 199 | * -------------------------------------------------------------------- */ |
200 | 200 | ||
201 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) | 201 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) |
202 | static struct at91_nand_data nand_data; | 202 | static struct atmel_nand_data nand_data; |
203 | 203 | ||
204 | #define NAND_BASE AT91_CHIPSELECT_3 | 204 | #define NAND_BASE AT91_CHIPSELECT_3 |
205 | 205 | ||
@@ -211,8 +211,8 @@ static struct resource nand_resources[] = { | |||
211 | } | 211 | } |
212 | }; | 212 | }; |
213 | 213 | ||
214 | static struct platform_device at91_nand_device = { | 214 | static struct platform_device atmel_nand_device = { |
215 | .name = "at91_nand", | 215 | .name = "atmel_nand", |
216 | .id = -1, | 216 | .id = -1, |
217 | .dev = { | 217 | .dev = { |
218 | .platform_data = &nand_data, | 218 | .platform_data = &nand_data, |
@@ -221,7 +221,7 @@ static struct platform_device at91_nand_device = { | |||
221 | .num_resources = ARRAY_SIZE(nand_resources), | 221 | .num_resources = ARRAY_SIZE(nand_resources), |
222 | }; | 222 | }; |
223 | 223 | ||
224 | void __init at91_add_device_nand(struct at91_nand_data *data) | 224 | void __init at91_add_device_nand(struct atmel_nand_data *data) |
225 | { | 225 | { |
226 | unsigned long csa, mode; | 226 | unsigned long csa, mode; |
227 | 227 | ||
@@ -262,11 +262,11 @@ void __init at91_add_device_nand(struct at91_nand_data *data) | |||
262 | at91_set_A_periph(AT91_PIN_PC1, 0); /* NANDWE */ | 262 | at91_set_A_periph(AT91_PIN_PC1, 0); /* NANDWE */ |
263 | 263 | ||
264 | nand_data = *data; | 264 | nand_data = *data; |
265 | platform_device_register(&at91_nand_device); | 265 | platform_device_register(&atmel_nand_device); |
266 | } | 266 | } |
267 | 267 | ||
268 | #else | 268 | #else |
269 | void __init at91_add_device_nand(struct at91_nand_data *data) {} | 269 | void __init at91_add_device_nand(struct atmel_nand_data *data) {} |
270 | #endif | 270 | #endif |
271 | 271 | ||
272 | 272 | ||
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c index 8a81f76f0200..9762b15f658a 100644 --- a/arch/arm/mach-at91/at91sam9263_devices.c +++ b/arch/arm/mach-at91/at91sam9263_devices.c | |||
@@ -353,7 +353,7 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} | |||
353 | * -------------------------------------------------------------------- */ | 353 | * -------------------------------------------------------------------- */ |
354 | 354 | ||
355 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) | 355 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) |
356 | static struct at91_nand_data nand_data; | 356 | static struct atmel_nand_data nand_data; |
357 | 357 | ||
358 | #define NAND_BASE AT91_CHIPSELECT_3 | 358 | #define NAND_BASE AT91_CHIPSELECT_3 |
359 | 359 | ||
@@ -371,7 +371,7 @@ static struct resource nand_resources[] = { | |||
371 | }; | 371 | }; |
372 | 372 | ||
373 | static struct platform_device at91sam9263_nand_device = { | 373 | static struct platform_device at91sam9263_nand_device = { |
374 | .name = "at91_nand", | 374 | .name = "atmel_nand", |
375 | .id = -1, | 375 | .id = -1, |
376 | .dev = { | 376 | .dev = { |
377 | .platform_data = &nand_data, | 377 | .platform_data = &nand_data, |
@@ -380,7 +380,7 @@ static struct platform_device at91sam9263_nand_device = { | |||
380 | .num_resources = ARRAY_SIZE(nand_resources), | 380 | .num_resources = ARRAY_SIZE(nand_resources), |
381 | }; | 381 | }; |
382 | 382 | ||
383 | void __init at91_add_device_nand(struct at91_nand_data *data) | 383 | void __init at91_add_device_nand(struct atmel_nand_data *data) |
384 | { | 384 | { |
385 | unsigned long csa, mode; | 385 | unsigned long csa, mode; |
386 | 386 | ||
@@ -421,7 +421,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data) | |||
421 | platform_device_register(&at91sam9263_nand_device); | 421 | platform_device_register(&at91sam9263_nand_device); |
422 | } | 422 | } |
423 | #else | 423 | #else |
424 | void __init at91_add_device_nand(struct at91_nand_data *data) {} | 424 | void __init at91_add_device_nand(struct atmel_nand_data *data) {} |
425 | #endif | 425 | #endif |
426 | 426 | ||
427 | 427 | ||
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c index ae28101e7542..5f3094870cad 100644 --- a/arch/arm/mach-at91/at91sam9rl_devices.c +++ b/arch/arm/mach-at91/at91sam9rl_devices.c | |||
@@ -195,7 +195,7 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} | |||
195 | * -------------------------------------------------------------------- */ | 195 | * -------------------------------------------------------------------- */ |
196 | 196 | ||
197 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) | 197 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) |
198 | static struct at91_nand_data nand_data; | 198 | static struct atmel_nand_data nand_data; |
199 | 199 | ||
200 | #define NAND_BASE AT91_CHIPSELECT_3 | 200 | #define NAND_BASE AT91_CHIPSELECT_3 |
201 | 201 | ||
@@ -212,8 +212,8 @@ static struct resource nand_resources[] = { | |||
212 | } | 212 | } |
213 | }; | 213 | }; |
214 | 214 | ||
215 | static struct platform_device at91_nand_device = { | 215 | static struct platform_device atmel_nand_device = { |
216 | .name = "at91_nand", | 216 | .name = "atmel_nand", |
217 | .id = -1, | 217 | .id = -1, |
218 | .dev = { | 218 | .dev = { |
219 | .platform_data = &nand_data, | 219 | .platform_data = &nand_data, |
@@ -222,7 +222,7 @@ static struct platform_device at91_nand_device = { | |||
222 | .num_resources = ARRAY_SIZE(nand_resources), | 222 | .num_resources = ARRAY_SIZE(nand_resources), |
223 | }; | 223 | }; |
224 | 224 | ||
225 | void __init at91_add_device_nand(struct at91_nand_data *data) | 225 | void __init at91_add_device_nand(struct atmel_nand_data *data) |
226 | { | 226 | { |
227 | unsigned long csa; | 227 | unsigned long csa; |
228 | 228 | ||
@@ -259,11 +259,11 @@ void __init at91_add_device_nand(struct at91_nand_data *data) | |||
259 | at91_set_A_periph(AT91_PIN_PB5, 0); /* NANDWE */ | 259 | at91_set_A_periph(AT91_PIN_PB5, 0); /* NANDWE */ |
260 | 260 | ||
261 | nand_data = *data; | 261 | nand_data = *data; |
262 | platform_device_register(&at91_nand_device); | 262 | platform_device_register(&atmel_nand_device); |
263 | } | 263 | } |
264 | 264 | ||
265 | #else | 265 | #else |
266 | void __init at91_add_device_nand(struct at91_nand_data *data) {} | 266 | void __init at91_add_device_nand(struct atmel_nand_data *data) {} |
267 | #endif | 267 | #endif |
268 | 268 | ||
269 | 269 | ||
diff --git a/arch/arm/mach-at91/board-cam60.c b/arch/arm/mach-at91/board-cam60.c index b22a1a004055..af2c33aff1a8 100644 --- a/arch/arm/mach-at91/board-cam60.c +++ b/arch/arm/mach-at91/board-cam60.c | |||
@@ -142,7 +142,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio | |||
142 | return cam60_nand_partition; | 142 | return cam60_nand_partition; |
143 | } | 143 | } |
144 | 144 | ||
145 | static struct at91_nand_data __initdata cam60_nand_data = { | 145 | static struct atmel_nand_data __initdata cam60_nand_data = { |
146 | .ale = 21, | 146 | .ale = 21, |
147 | .cle = 22, | 147 | .cle = 22, |
148 | // .det_pin = ... not there | 148 | // .det_pin = ... not there |
diff --git a/arch/arm/mach-at91/board-cap9adk.c b/arch/arm/mach-at91/board-cap9adk.c index 8a2a958639db..117cf6c9afce 100644 --- a/arch/arm/mach-at91/board-cap9adk.c +++ b/arch/arm/mach-at91/board-cap9adk.c | |||
@@ -181,7 +181,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio | |||
181 | return cap9adk_nand_partitions; | 181 | return cap9adk_nand_partitions; |
182 | } | 182 | } |
183 | 183 | ||
184 | static struct at91_nand_data __initdata cap9adk_nand_data = { | 184 | static struct atmel_nand_data __initdata cap9adk_nand_data = { |
185 | .ale = 21, | 185 | .ale = 21, |
186 | .cle = 22, | 186 | .cle = 22, |
187 | // .det_pin = ... not connected | 187 | // .det_pin = ... not connected |
@@ -330,10 +330,10 @@ static void __init cap9adk_board_init(void) | |||
330 | /* Serial */ | 330 | /* Serial */ |
331 | at91_add_device_serial(); | 331 | at91_add_device_serial(); |
332 | /* USB Host */ | 332 | /* USB Host */ |
333 | set_irq_type(AT91CAP9_ID_UHP, IRQT_HIGH); | 333 | set_irq_type(AT91CAP9_ID_UHP, IRQ_TYPE_LEVEL_HIGH); |
334 | at91_add_device_usbh(&cap9adk_usbh_data); | 334 | at91_add_device_usbh(&cap9adk_usbh_data); |
335 | /* USB HS */ | 335 | /* USB HS */ |
336 | set_irq_type(AT91CAP9_ID_UDPHS, IRQT_HIGH); | 336 | set_irq_type(AT91CAP9_ID_UDPHS, IRQ_TYPE_LEVEL_HIGH); |
337 | at91_add_device_usba(&cap9adk_usba_udc_data); | 337 | at91_add_device_usba(&cap9adk_usba_udc_data); |
338 | /* SPI */ | 338 | /* SPI */ |
339 | at91_add_device_spi(cap9adk_spi_devices, ARRAY_SIZE(cap9adk_spi_devices)); | 339 | at91_add_device_spi(cap9adk_spi_devices, ARRAY_SIZE(cap9adk_spi_devices)); |
@@ -350,7 +350,7 @@ static void __init cap9adk_board_init(void) | |||
350 | /* I2C */ | 350 | /* I2C */ |
351 | at91_add_device_i2c(NULL, 0); | 351 | at91_add_device_i2c(NULL, 0); |
352 | /* LCD Controller */ | 352 | /* LCD Controller */ |
353 | set_irq_type(AT91CAP9_ID_LCDC, IRQT_HIGH); | 353 | set_irq_type(AT91CAP9_ID_LCDC, IRQ_TYPE_LEVEL_HIGH); |
354 | at91_add_device_lcdc(&cap9adk_lcdc_data); | 354 | at91_add_device_lcdc(&cap9adk_lcdc_data); |
355 | /* AC97 */ | 355 | /* AC97 */ |
356 | at91_add_device_ac97(&cap9adk_ac97_data); | 356 | at91_add_device_ac97(&cap9adk_ac97_data); |
diff --git a/arch/arm/mach-at91/board-dk.c b/arch/arm/mach-at91/board-dk.c index dab958d25926..02a70b2f355b 100644 --- a/arch/arm/mach-at91/board-dk.c +++ b/arch/arm/mach-at91/board-dk.c | |||
@@ -147,7 +147,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio | |||
147 | return dk_nand_partition; | 147 | return dk_nand_partition; |
148 | } | 148 | } |
149 | 149 | ||
150 | static struct at91_nand_data __initdata dk_nand_data = { | 150 | static struct atmel_nand_data __initdata dk_nand_data = { |
151 | .ale = 22, | 151 | .ale = 22, |
152 | .cle = 21, | 152 | .cle = 21, |
153 | .det_pin = AT91_PIN_PB1, | 153 | .det_pin = AT91_PIN_PB1, |
diff --git a/arch/arm/mach-at91/board-kb9202.c b/arch/arm/mach-at91/board-kb9202.c index cb065febd95e..082ed59365a4 100644 --- a/arch/arm/mach-at91/board-kb9202.c +++ b/arch/arm/mach-at91/board-kb9202.c | |||
@@ -105,7 +105,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio | |||
105 | return kb9202_nand_partition; | 105 | return kb9202_nand_partition; |
106 | } | 106 | } |
107 | 107 | ||
108 | static struct at91_nand_data __initdata kb9202_nand_data = { | 108 | static struct atmel_nand_data __initdata kb9202_nand_data = { |
109 | .ale = 22, | 109 | .ale = 22, |
110 | .cle = 21, | 110 | .cle = 21, |
111 | // .det_pin = ... not there | 111 | // .det_pin = ... not there |
diff --git a/arch/arm/mach-at91/board-sam9-l9260.c b/arch/arm/mach-at91/board-sam9-l9260.c index 8f76af5e219a..57a6221943ed 100644 --- a/arch/arm/mach-at91/board-sam9-l9260.c +++ b/arch/arm/mach-at91/board-sam9-l9260.c | |||
@@ -141,7 +141,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio | |||
141 | return ek_nand_partition; | 141 | return ek_nand_partition; |
142 | } | 142 | } |
143 | 143 | ||
144 | static struct at91_nand_data __initdata ek_nand_data = { | 144 | static struct atmel_nand_data __initdata ek_nand_data = { |
145 | .ale = 21, | 145 | .ale = 21, |
146 | .cle = 22, | 146 | .cle = 22, |
147 | // .det_pin = ... not connected | 147 | // .det_pin = ... not connected |
diff --git a/arch/arm/mach-at91/board-sam9260ek.c b/arch/arm/mach-at91/board-sam9260ek.c index 4d1d9c777084..6a680795c3c8 100644 --- a/arch/arm/mach-at91/board-sam9260ek.c +++ b/arch/arm/mach-at91/board-sam9260ek.c | |||
@@ -178,7 +178,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio | |||
178 | return ek_nand_partition; | 178 | return ek_nand_partition; |
179 | } | 179 | } |
180 | 180 | ||
181 | static struct at91_nand_data __initdata ek_nand_data = { | 181 | static struct atmel_nand_data __initdata ek_nand_data = { |
182 | .ale = 21, | 182 | .ale = 21, |
183 | .cle = 22, | 183 | .cle = 22, |
184 | // .det_pin = ... not connected | 184 | // .det_pin = ... not connected |
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c index 08382c0df221..43dfbd0d543a 100644 --- a/arch/arm/mach-at91/board-sam9261ek.c +++ b/arch/arm/mach-at91/board-sam9261ek.c | |||
@@ -183,7 +183,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio | |||
183 | return ek_nand_partition; | 183 | return ek_nand_partition; |
184 | } | 184 | } |
185 | 185 | ||
186 | static struct at91_nand_data __initdata ek_nand_data = { | 186 | static struct atmel_nand_data __initdata ek_nand_data = { |
187 | .ale = 22, | 187 | .ale = 22, |
188 | .cle = 21, | 188 | .cle = 21, |
189 | // .det_pin = ... not connected | 189 | // .det_pin = ... not connected |
diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c index b4cd5d0ed597..6605a0980117 100644 --- a/arch/arm/mach-at91/board-sam9263ek.c +++ b/arch/arm/mach-at91/board-sam9263ek.c | |||
@@ -187,7 +187,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio | |||
187 | return ek_nand_partition; | 187 | return ek_nand_partition; |
188 | } | 188 | } |
189 | 189 | ||
190 | static struct at91_nand_data __initdata ek_nand_data = { | 190 | static struct atmel_nand_data __initdata ek_nand_data = { |
191 | .ale = 21, | 191 | .ale = 21, |
192 | .cle = 22, | 192 | .cle = 22, |
193 | // .det_pin = ... not connected | 193 | // .det_pin = ... not connected |
diff --git a/arch/arm/mach-at91/board-sam9rlek.c b/arch/arm/mach-at91/board-sam9rlek.c index b6a70fc735c3..66e77bb2e079 100644 --- a/arch/arm/mach-at91/board-sam9rlek.c +++ b/arch/arm/mach-at91/board-sam9rlek.c | |||
@@ -96,7 +96,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio | |||
96 | return ek_nand_partition; | 96 | return ek_nand_partition; |
97 | } | 97 | } |
98 | 98 | ||
99 | static struct at91_nand_data __initdata ek_nand_data = { | 99 | static struct atmel_nand_data __initdata ek_nand_data = { |
100 | .ale = 21, | 100 | .ale = 21, |
101 | .cle = 22, | 101 | .cle = 22, |
102 | // .det_pin = ... not connected | 102 | // .det_pin = ... not connected |
diff --git a/arch/arm/mach-at91/board-yl-9200.c b/arch/arm/mach-at91/board-yl-9200.c index 7079050ab88d..bbbfd06f5e0c 100755..100644 --- a/arch/arm/mach-at91/board-yl-9200.c +++ b/arch/arm/mach-at91/board-yl-9200.c | |||
@@ -180,7 +180,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio | |||
180 | return yl9200_nand_partition; | 180 | return yl9200_nand_partition; |
181 | } | 181 | } |
182 | 182 | ||
183 | static struct at91_nand_data __initdata yl9200_nand_data = { | 183 | static struct atmel_nand_data __initdata yl9200_nand_data = { |
184 | .ale = 6, | 184 | .ale = 6, |
185 | .cle = 7, | 185 | .cle = 7, |
186 | // .det_pin = ... not connected | 186 | // .det_pin = ... not connected |
diff --git a/arch/arm/mach-at91/irq.c b/arch/arm/mach-at91/irq.c index 78a5cdb746dc..ca87587b2b4b 100644 --- a/arch/arm/mach-at91/irq.c +++ b/arch/arm/mach-at91/irq.c | |||
@@ -56,19 +56,19 @@ static int at91_aic_set_type(unsigned irq, unsigned type) | |||
56 | unsigned int smr, srctype; | 56 | unsigned int smr, srctype; |
57 | 57 | ||
58 | switch (type) { | 58 | switch (type) { |
59 | case IRQT_HIGH: | 59 | case IRQ_TYPE_LEVEL_HIGH: |
60 | srctype = AT91_AIC_SRCTYPE_HIGH; | 60 | srctype = AT91_AIC_SRCTYPE_HIGH; |
61 | break; | 61 | break; |
62 | case IRQT_RISING: | 62 | case IRQ_TYPE_EDGE_RISING: |
63 | srctype = AT91_AIC_SRCTYPE_RISING; | 63 | srctype = AT91_AIC_SRCTYPE_RISING; |
64 | break; | 64 | break; |
65 | case IRQT_LOW: | 65 | case IRQ_TYPE_LEVEL_LOW: |
66 | if ((irq == AT91_ID_FIQ) || is_extern_irq(irq)) /* only supported on external interrupts */ | 66 | if ((irq == AT91_ID_FIQ) || is_extern_irq(irq)) /* only supported on external interrupts */ |
67 | srctype = AT91_AIC_SRCTYPE_LOW; | 67 | srctype = AT91_AIC_SRCTYPE_LOW; |
68 | else | 68 | else |
69 | return -EINVAL; | 69 | return -EINVAL; |
70 | break; | 70 | break; |
71 | case IRQT_FALLING: | 71 | case IRQ_TYPE_EDGE_FALLING: |
72 | if ((irq == AT91_ID_FIQ) || is_extern_irq(irq)) /* only supported on external interrupts */ | 72 | if ((irq == AT91_ID_FIQ) || is_extern_irq(irq)) /* only supported on external interrupts */ |
73 | srctype = AT91_AIC_SRCTYPE_FALLING; | 73 | srctype = AT91_AIC_SRCTYPE_FALLING; |
74 | else | 74 | else |
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index 1d7bca6aa441..5fed57608507 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
@@ -226,7 +226,7 @@ static void ep93xx_gpio_irq_ack(unsigned int irq) | |||
226 | int port = line >> 3; | 226 | int port = line >> 3; |
227 | int port_mask = 1 << (line & 7); | 227 | int port_mask = 1 << (line & 7); |
228 | 228 | ||
229 | if ((irq_desc[irq].status & IRQ_TYPE_SENSE_MASK) == IRQT_BOTHEDGE) { | 229 | if ((irq_desc[irq].status & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH) { |
230 | gpio_int_type2[port] ^= port_mask; /* switch edge direction */ | 230 | gpio_int_type2[port] ^= port_mask; /* switch edge direction */ |
231 | ep93xx_gpio_update_int_params(port); | 231 | ep93xx_gpio_update_int_params(port); |
232 | } | 232 | } |
@@ -240,7 +240,7 @@ static void ep93xx_gpio_irq_mask_ack(unsigned int irq) | |||
240 | int port = line >> 3; | 240 | int port = line >> 3; |
241 | int port_mask = 1 << (line & 7); | 241 | int port_mask = 1 << (line & 7); |
242 | 242 | ||
243 | if ((irq_desc[irq].status & IRQ_TYPE_SENSE_MASK) == IRQT_BOTHEDGE) | 243 | if ((irq_desc[irq].status & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH) |
244 | gpio_int_type2[port] ^= port_mask; /* switch edge direction */ | 244 | gpio_int_type2[port] ^= port_mask; /* switch edge direction */ |
245 | 245 | ||
246 | gpio_int_unmasked[port] &= ~port_mask; | 246 | gpio_int_unmasked[port] &= ~port_mask; |
@@ -283,27 +283,27 @@ static int ep93xx_gpio_irq_type(unsigned int irq, unsigned int type) | |||
283 | gpio_direction_input(gpio); | 283 | gpio_direction_input(gpio); |
284 | 284 | ||
285 | switch (type) { | 285 | switch (type) { |
286 | case IRQT_RISING: | 286 | case IRQ_TYPE_EDGE_RISING: |
287 | gpio_int_type1[port] |= port_mask; | 287 | gpio_int_type1[port] |= port_mask; |
288 | gpio_int_type2[port] |= port_mask; | 288 | gpio_int_type2[port] |= port_mask; |
289 | desc->handle_irq = handle_edge_irq; | 289 | desc->handle_irq = handle_edge_irq; |
290 | break; | 290 | break; |
291 | case IRQT_FALLING: | 291 | case IRQ_TYPE_EDGE_FALLING: |
292 | gpio_int_type1[port] |= port_mask; | 292 | gpio_int_type1[port] |= port_mask; |
293 | gpio_int_type2[port] &= ~port_mask; | 293 | gpio_int_type2[port] &= ~port_mask; |
294 | desc->handle_irq = handle_edge_irq; | 294 | desc->handle_irq = handle_edge_irq; |
295 | break; | 295 | break; |
296 | case IRQT_HIGH: | 296 | case IRQ_TYPE_LEVEL_HIGH: |
297 | gpio_int_type1[port] &= ~port_mask; | 297 | gpio_int_type1[port] &= ~port_mask; |
298 | gpio_int_type2[port] |= port_mask; | 298 | gpio_int_type2[port] |= port_mask; |
299 | desc->handle_irq = handle_level_irq; | 299 | desc->handle_irq = handle_level_irq; |
300 | break; | 300 | break; |
301 | case IRQT_LOW: | 301 | case IRQ_TYPE_LEVEL_LOW: |
302 | gpio_int_type1[port] &= ~port_mask; | 302 | gpio_int_type1[port] &= ~port_mask; |
303 | gpio_int_type2[port] &= ~port_mask; | 303 | gpio_int_type2[port] &= ~port_mask; |
304 | desc->handle_irq = handle_level_irq; | 304 | desc->handle_irq = handle_level_irq; |
305 | break; | 305 | break; |
306 | case IRQT_BOTHEDGE: | 306 | case IRQ_TYPE_EDGE_BOTH: |
307 | gpio_int_type1[port] |= port_mask; | 307 | gpio_int_type1[port] |= port_mask; |
308 | /* set initial polarity based on current input level */ | 308 | /* set initial polarity based on current input level */ |
309 | if (gpio_get_value(gpio)) | 309 | if (gpio_get_value(gpio)) |
diff --git a/arch/arm/mach-imx/irq.c b/arch/arm/mach-imx/irq.c index e6695c4e623b..e1b1f028b930 100644 --- a/arch/arm/mach-imx/irq.c +++ b/arch/arm/mach-imx/irq.c | |||
@@ -111,7 +111,7 @@ imx_gpio_irq_type(unsigned int _irq, unsigned int type) | |||
111 | reg = irq >> 5; | 111 | reg = irq >> 5; |
112 | bit = 1 << (irq % 32); | 112 | bit = 1 << (irq % 32); |
113 | 113 | ||
114 | if (type == IRQT_PROBE) { | 114 | if (type == IRQ_TYPE_PROBE) { |
115 | /* Don't mess with enabled GPIOs using preconfigured edges or | 115 | /* Don't mess with enabled GPIOs using preconfigured edges or |
116 | GPIOs set to alternate function during probe */ | 116 | GPIOs set to alternate function during probe */ |
117 | /* TODO: support probe */ | 117 | /* TODO: support probe */ |
@@ -120,7 +120,7 @@ imx_gpio_irq_type(unsigned int _irq, unsigned int type) | |||
120 | // return 0; | 120 | // return 0; |
121 | // if (GAFR(gpio) & (0x3 << (((gpio) & 0xf)*2))) | 121 | // if (GAFR(gpio) & (0x3 << (((gpio) & 0xf)*2))) |
122 | // return 0; | 122 | // return 0; |
123 | // type = __IRQT_RISEDGE | __IRQT_FALEDGE; | 123 | // type = IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING; |
124 | } | 124 | } |
125 | 125 | ||
126 | GIUS(reg) |= bit; | 126 | GIUS(reg) |= bit; |
@@ -128,19 +128,19 @@ imx_gpio_irq_type(unsigned int _irq, unsigned int type) | |||
128 | 128 | ||
129 | DEBUG_IRQ("setting type of irq %d to ", _irq); | 129 | DEBUG_IRQ("setting type of irq %d to ", _irq); |
130 | 130 | ||
131 | if (type & __IRQT_RISEDGE) { | 131 | if (type & IRQ_TYPE_EDGE_RISING) { |
132 | DEBUG_IRQ("rising edges\n"); | 132 | DEBUG_IRQ("rising edges\n"); |
133 | irq_type = 0x0; | 133 | irq_type = 0x0; |
134 | } | 134 | } |
135 | if (type & __IRQT_FALEDGE) { | 135 | if (type & IRQ_TYPE_EDGE_FALLING) { |
136 | DEBUG_IRQ("falling edges\n"); | 136 | DEBUG_IRQ("falling edges\n"); |
137 | irq_type = 0x1; | 137 | irq_type = 0x1; |
138 | } | 138 | } |
139 | if (type & __IRQT_LOWLVL) { | 139 | if (type & IRQ_TYPE_LEVEL_LOW) { |
140 | DEBUG_IRQ("low level\n"); | 140 | DEBUG_IRQ("low level\n"); |
141 | irq_type = 0x3; | 141 | irq_type = 0x3; |
142 | } | 142 | } |
143 | if (type & __IRQT_HIGHLVL) { | 143 | if (type & IRQ_TYPE_LEVEL_HIGH) { |
144 | DEBUG_IRQ("high level\n"); | 144 | DEBUG_IRQ("high level\n"); |
145 | irq_type = 0x2; | 145 | irq_type = 0x2; |
146 | } | 146 | } |
diff --git a/arch/arm/mach-ixp2000/core.c b/arch/arm/mach-ixp2000/core.c index 81cdc8267206..daf28074134b 100644 --- a/arch/arm/mach-ixp2000/core.c +++ b/arch/arm/mach-ixp2000/core.c | |||
@@ -329,19 +329,19 @@ static int ixp2000_GPIO_irq_type(unsigned int irq, unsigned int type) | |||
329 | /* | 329 | /* |
330 | * Then, set the proper trigger type. | 330 | * Then, set the proper trigger type. |
331 | */ | 331 | */ |
332 | if (type & IRQT_FALLING) | 332 | if (type & IRQ_TYPE_EDGE_FALLING) |
333 | GPIO_IRQ_falling_edge |= 1 << line; | 333 | GPIO_IRQ_falling_edge |= 1 << line; |
334 | else | 334 | else |
335 | GPIO_IRQ_falling_edge &= ~(1 << line); | 335 | GPIO_IRQ_falling_edge &= ~(1 << line); |
336 | if (type & IRQT_RISING) | 336 | if (type & IRQ_TYPE_EDGE_RISING) |
337 | GPIO_IRQ_rising_edge |= 1 << line; | 337 | GPIO_IRQ_rising_edge |= 1 << line; |
338 | else | 338 | else |
339 | GPIO_IRQ_rising_edge &= ~(1 << line); | 339 | GPIO_IRQ_rising_edge &= ~(1 << line); |
340 | if (type & IRQT_LOW) | 340 | if (type & IRQ_TYPE_LEVEL_LOW) |
341 | GPIO_IRQ_level_low |= 1 << line; | 341 | GPIO_IRQ_level_low |= 1 << line; |
342 | else | 342 | else |
343 | GPIO_IRQ_level_low &= ~(1 << line); | 343 | GPIO_IRQ_level_low &= ~(1 << line); |
344 | if (type & IRQT_HIGH) | 344 | if (type & IRQ_TYPE_LEVEL_HIGH) |
345 | GPIO_IRQ_level_high |= 1 << line; | 345 | GPIO_IRQ_level_high |= 1 << line; |
346 | else | 346 | else |
347 | GPIO_IRQ_level_high &= ~(1 << line); | 347 | GPIO_IRQ_level_high &= ~(1 << line); |
diff --git a/arch/arm/mach-ixp23xx/core.c b/arch/arm/mach-ixp23xx/core.c index 5fea5a132939..df16a4eac490 100644 --- a/arch/arm/mach-ixp23xx/core.c +++ b/arch/arm/mach-ixp23xx/core.c | |||
@@ -126,23 +126,23 @@ static int ixp23xx_irq_set_type(unsigned int irq, unsigned int type) | |||
126 | return -EINVAL; | 126 | return -EINVAL; |
127 | 127 | ||
128 | switch (type) { | 128 | switch (type) { |
129 | case IRQT_BOTHEDGE: | 129 | case IRQ_TYPE_EDGE_BOTH: |
130 | int_style = IXP23XX_GPIO_STYLE_TRANSITIONAL; | 130 | int_style = IXP23XX_GPIO_STYLE_TRANSITIONAL; |
131 | irq_type = IXP23XX_IRQ_EDGE; | 131 | irq_type = IXP23XX_IRQ_EDGE; |
132 | break; | 132 | break; |
133 | case IRQT_RISING: | 133 | case IRQ_TYPE_EDGE_RISING: |
134 | int_style = IXP23XX_GPIO_STYLE_RISING_EDGE; | 134 | int_style = IXP23XX_GPIO_STYLE_RISING_EDGE; |
135 | irq_type = IXP23XX_IRQ_EDGE; | 135 | irq_type = IXP23XX_IRQ_EDGE; |
136 | break; | 136 | break; |
137 | case IRQT_FALLING: | 137 | case IRQ_TYPE_EDGE_FALLING: |
138 | int_style = IXP23XX_GPIO_STYLE_FALLING_EDGE; | 138 | int_style = IXP23XX_GPIO_STYLE_FALLING_EDGE; |
139 | irq_type = IXP23XX_IRQ_EDGE; | 139 | irq_type = IXP23XX_IRQ_EDGE; |
140 | break; | 140 | break; |
141 | case IRQT_HIGH: | 141 | case IRQ_TYPE_LEVEL_HIGH: |
142 | int_style = IXP23XX_GPIO_STYLE_ACTIVE_HIGH; | 142 | int_style = IXP23XX_GPIO_STYLE_ACTIVE_HIGH; |
143 | irq_type = IXP23XX_IRQ_LEVEL; | 143 | irq_type = IXP23XX_IRQ_LEVEL; |
144 | break; | 144 | break; |
145 | case IRQT_LOW: | 145 | case IRQ_TYPE_LEVEL_LOW: |
146 | int_style = IXP23XX_GPIO_STYLE_ACTIVE_LOW; | 146 | int_style = IXP23XX_GPIO_STYLE_ACTIVE_LOW; |
147 | irq_type = IXP23XX_IRQ_LEVEL; | 147 | irq_type = IXP23XX_IRQ_LEVEL; |
148 | break; | 148 | break; |
diff --git a/arch/arm/mach-ixp23xx/roadrunner.c b/arch/arm/mach-ixp23xx/roadrunner.c index f0f70ba1e46d..896ff9f840d9 100644 --- a/arch/arm/mach-ixp23xx/roadrunner.c +++ b/arch/arm/mach-ixp23xx/roadrunner.c | |||
@@ -110,8 +110,8 @@ static int __init roadrunner_map_irq(struct pci_dev *dev, u8 idsel, u8 pin) | |||
110 | 110 | ||
111 | static void __init roadrunner_pci_preinit(void) | 111 | static void __init roadrunner_pci_preinit(void) |
112 | { | 112 | { |
113 | set_irq_type(IRQ_ROADRUNNER_PCI_INTC, IRQT_LOW); | 113 | set_irq_type(IRQ_ROADRUNNER_PCI_INTC, IRQ_TYPE_LEVEL_LOW); |
114 | set_irq_type(IRQ_ROADRUNNER_PCI_INTD, IRQT_LOW); | 114 | set_irq_type(IRQ_ROADRUNNER_PCI_INTD, IRQ_TYPE_LEVEL_LOW); |
115 | 115 | ||
116 | ixp23xx_pci_preinit(); | 116 | ixp23xx_pci_preinit(); |
117 | } | 117 | } |
diff --git a/arch/arm/mach-ixp4xx/avila-pci.c b/arch/arm/mach-ixp4xx/avila-pci.c index 3f867691d9f2..c6e044befccb 100644 --- a/arch/arm/mach-ixp4xx/avila-pci.c +++ b/arch/arm/mach-ixp4xx/avila-pci.c | |||
@@ -30,10 +30,10 @@ | |||
30 | 30 | ||
31 | void __init avila_pci_preinit(void) | 31 | void __init avila_pci_preinit(void) |
32 | { | 32 | { |
33 | set_irq_type(IRQ_AVILA_PCI_INTA, IRQT_LOW); | 33 | set_irq_type(IRQ_AVILA_PCI_INTA, IRQ_TYPE_LEVEL_LOW); |
34 | set_irq_type(IRQ_AVILA_PCI_INTB, IRQT_LOW); | 34 | set_irq_type(IRQ_AVILA_PCI_INTB, IRQ_TYPE_LEVEL_LOW); |
35 | set_irq_type(IRQ_AVILA_PCI_INTC, IRQT_LOW); | 35 | set_irq_type(IRQ_AVILA_PCI_INTC, IRQ_TYPE_LEVEL_LOW); |
36 | set_irq_type(IRQ_AVILA_PCI_INTD, IRQT_LOW); | 36 | set_irq_type(IRQ_AVILA_PCI_INTD, IRQ_TYPE_LEVEL_LOW); |
37 | 37 | ||
38 | ixp4xx_pci_preinit(); | 38 | ixp4xx_pci_preinit(); |
39 | } | 39 | } |
diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c index 3781b3db9f49..3947c506b4f3 100644 --- a/arch/arm/mach-ixp4xx/common.c +++ b/arch/arm/mach-ixp4xx/common.c | |||
@@ -142,23 +142,23 @@ static int ixp4xx_set_irq_type(unsigned int irq, unsigned int type) | |||
142 | return -EINVAL; | 142 | return -EINVAL; |
143 | 143 | ||
144 | switch (type){ | 144 | switch (type){ |
145 | case IRQT_BOTHEDGE: | 145 | case IRQ_TYPE_EDGE_BOTH: |
146 | int_style = IXP4XX_GPIO_STYLE_TRANSITIONAL; | 146 | int_style = IXP4XX_GPIO_STYLE_TRANSITIONAL; |
147 | irq_type = IXP4XX_IRQ_EDGE; | 147 | irq_type = IXP4XX_IRQ_EDGE; |
148 | break; | 148 | break; |
149 | case IRQT_RISING: | 149 | case IRQ_TYPE_EDGE_RISING: |
150 | int_style = IXP4XX_GPIO_STYLE_RISING_EDGE; | 150 | int_style = IXP4XX_GPIO_STYLE_RISING_EDGE; |
151 | irq_type = IXP4XX_IRQ_EDGE; | 151 | irq_type = IXP4XX_IRQ_EDGE; |
152 | break; | 152 | break; |
153 | case IRQT_FALLING: | 153 | case IRQ_TYPE_EDGE_FALLING: |
154 | int_style = IXP4XX_GPIO_STYLE_FALLING_EDGE; | 154 | int_style = IXP4XX_GPIO_STYLE_FALLING_EDGE; |
155 | irq_type = IXP4XX_IRQ_EDGE; | 155 | irq_type = IXP4XX_IRQ_EDGE; |
156 | break; | 156 | break; |
157 | case IRQT_HIGH: | 157 | case IRQ_TYPE_LEVEL_HIGH: |
158 | int_style = IXP4XX_GPIO_STYLE_ACTIVE_HIGH; | 158 | int_style = IXP4XX_GPIO_STYLE_ACTIVE_HIGH; |
159 | irq_type = IXP4XX_IRQ_LEVEL; | 159 | irq_type = IXP4XX_IRQ_LEVEL; |
160 | break; | 160 | break; |
161 | case IRQT_LOW: | 161 | case IRQ_TYPE_LEVEL_LOW: |
162 | int_style = IXP4XX_GPIO_STYLE_ACTIVE_LOW; | 162 | int_style = IXP4XX_GPIO_STYLE_ACTIVE_LOW; |
163 | irq_type = IXP4XX_IRQ_LEVEL; | 163 | irq_type = IXP4XX_IRQ_LEVEL; |
164 | break; | 164 | break; |
diff --git a/arch/arm/mach-ixp4xx/coyote-pci.c b/arch/arm/mach-ixp4xx/coyote-pci.c index ad2e5b97966e..be4f4a208b90 100644 --- a/arch/arm/mach-ixp4xx/coyote-pci.c +++ b/arch/arm/mach-ixp4xx/coyote-pci.c | |||
@@ -27,8 +27,8 @@ | |||
27 | 27 | ||
28 | void __init coyote_pci_preinit(void) | 28 | void __init coyote_pci_preinit(void) |
29 | { | 29 | { |
30 | set_irq_type(IRQ_COYOTE_PCI_SLOT0, IRQT_LOW); | 30 | set_irq_type(IRQ_COYOTE_PCI_SLOT0, IRQ_TYPE_LEVEL_LOW); |
31 | set_irq_type(IRQ_COYOTE_PCI_SLOT1, IRQT_LOW); | 31 | set_irq_type(IRQ_COYOTE_PCI_SLOT1, IRQ_TYPE_LEVEL_LOW); |
32 | 32 | ||
33 | ixp4xx_pci_preinit(); | 33 | ixp4xx_pci_preinit(); |
34 | } | 34 | } |
diff --git a/arch/arm/mach-ixp4xx/dsmg600-pci.c b/arch/arm/mach-ixp4xx/dsmg600-pci.c index 9db7e1f42011..926d15f885fb 100644 --- a/arch/arm/mach-ixp4xx/dsmg600-pci.c +++ b/arch/arm/mach-ixp4xx/dsmg600-pci.c | |||
@@ -25,12 +25,12 @@ | |||
25 | 25 | ||
26 | void __init dsmg600_pci_preinit(void) | 26 | void __init dsmg600_pci_preinit(void) |
27 | { | 27 | { |
28 | set_irq_type(IRQ_DSMG600_PCI_INTA, IRQT_LOW); | 28 | set_irq_type(IRQ_DSMG600_PCI_INTA, IRQ_TYPE_LEVEL_LOW); |
29 | set_irq_type(IRQ_DSMG600_PCI_INTB, IRQT_LOW); | 29 | set_irq_type(IRQ_DSMG600_PCI_INTB, IRQ_TYPE_LEVEL_LOW); |
30 | set_irq_type(IRQ_DSMG600_PCI_INTC, IRQT_LOW); | 30 | set_irq_type(IRQ_DSMG600_PCI_INTC, IRQ_TYPE_LEVEL_LOW); |
31 | set_irq_type(IRQ_DSMG600_PCI_INTD, IRQT_LOW); | 31 | set_irq_type(IRQ_DSMG600_PCI_INTD, IRQ_TYPE_LEVEL_LOW); |
32 | set_irq_type(IRQ_DSMG600_PCI_INTE, IRQT_LOW); | 32 | set_irq_type(IRQ_DSMG600_PCI_INTE, IRQ_TYPE_LEVEL_LOW); |
33 | set_irq_type(IRQ_DSMG600_PCI_INTF, IRQT_LOW); | 33 | set_irq_type(IRQ_DSMG600_PCI_INTF, IRQ_TYPE_LEVEL_LOW); |
34 | 34 | ||
35 | ixp4xx_pci_preinit(); | 35 | ixp4xx_pci_preinit(); |
36 | } | 36 | } |
diff --git a/arch/arm/mach-ixp4xx/fsg-pci.c b/arch/arm/mach-ixp4xx/fsg-pci.c index f19f3f6feda1..ca12a9ca0830 100644 --- a/arch/arm/mach-ixp4xx/fsg-pci.c +++ b/arch/arm/mach-ixp4xx/fsg-pci.c | |||
@@ -25,9 +25,9 @@ | |||
25 | 25 | ||
26 | void __init fsg_pci_preinit(void) | 26 | void __init fsg_pci_preinit(void) |
27 | { | 27 | { |
28 | set_irq_type(IRQ_FSG_PCI_INTA, IRQT_LOW); | 28 | set_irq_type(IRQ_FSG_PCI_INTA, IRQ_TYPE_LEVEL_LOW); |
29 | set_irq_type(IRQ_FSG_PCI_INTB, IRQT_LOW); | 29 | set_irq_type(IRQ_FSG_PCI_INTB, IRQ_TYPE_LEVEL_LOW); |
30 | set_irq_type(IRQ_FSG_PCI_INTC, IRQT_LOW); | 30 | set_irq_type(IRQ_FSG_PCI_INTC, IRQ_TYPE_LEVEL_LOW); |
31 | 31 | ||
32 | ixp4xx_pci_preinit(); | 32 | ixp4xx_pci_preinit(); |
33 | } | 33 | } |
diff --git a/arch/arm/mach-ixp4xx/gateway7001-pci.c b/arch/arm/mach-ixp4xx/gateway7001-pci.c index 6abf568322d3..afd1dc14e597 100644 --- a/arch/arm/mach-ixp4xx/gateway7001-pci.c +++ b/arch/arm/mach-ixp4xx/gateway7001-pci.c | |||
@@ -29,8 +29,8 @@ | |||
29 | 29 | ||
30 | void __init gateway7001_pci_preinit(void) | 30 | void __init gateway7001_pci_preinit(void) |
31 | { | 31 | { |
32 | set_irq_type(IRQ_IXP4XX_GPIO10, IRQT_LOW); | 32 | set_irq_type(IRQ_IXP4XX_GPIO10, IRQ_TYPE_LEVEL_LOW); |
33 | set_irq_type(IRQ_IXP4XX_GPIO11, IRQT_LOW); | 33 | set_irq_type(IRQ_IXP4XX_GPIO11, IRQ_TYPE_LEVEL_LOW); |
34 | 34 | ||
35 | ixp4xx_pci_preinit(); | 35 | ixp4xx_pci_preinit(); |
36 | } | 36 | } |
diff --git a/arch/arm/mach-ixp4xx/gtwx5715-pci.c b/arch/arm/mach-ixp4xx/gtwx5715-pci.c index 49dec7868807..20960704183b 100644 --- a/arch/arm/mach-ixp4xx/gtwx5715-pci.c +++ b/arch/arm/mach-ixp4xx/gtwx5715-pci.c | |||
@@ -41,10 +41,10 @@ | |||
41 | */ | 41 | */ |
42 | void __init gtwx5715_pci_preinit(void) | 42 | void __init gtwx5715_pci_preinit(void) |
43 | { | 43 | { |
44 | set_irq_type(GTWX5715_PCI_SLOT0_INTA_IRQ, IRQT_LOW); | 44 | set_irq_type(GTWX5715_PCI_SLOT0_INTA_IRQ, IRQ_TYPE_LEVEL_LOW); |
45 | set_irq_type(GTWX5715_PCI_SLOT0_INTB_IRQ, IRQT_LOW); | 45 | set_irq_type(GTWX5715_PCI_SLOT0_INTB_IRQ, IRQ_TYPE_LEVEL_LOW); |
46 | set_irq_type(GTWX5715_PCI_SLOT1_INTA_IRQ, IRQT_LOW); | 46 | set_irq_type(GTWX5715_PCI_SLOT1_INTA_IRQ, IRQ_TYPE_LEVEL_LOW); |
47 | set_irq_type(GTWX5715_PCI_SLOT1_INTB_IRQ, IRQT_LOW); | 47 | set_irq_type(GTWX5715_PCI_SLOT1_INTB_IRQ, IRQ_TYPE_LEVEL_LOW); |
48 | 48 | ||
49 | ixp4xx_pci_preinit(); | 49 | ixp4xx_pci_preinit(); |
50 | } | 50 | } |
diff --git a/arch/arm/mach-ixp4xx/ixdp425-pci.c b/arch/arm/mach-ixp4xx/ixdp425-pci.c index 408796004812..7d9bb4d23104 100644 --- a/arch/arm/mach-ixp4xx/ixdp425-pci.c +++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c | |||
@@ -27,10 +27,10 @@ | |||
27 | 27 | ||
28 | void __init ixdp425_pci_preinit(void) | 28 | void __init ixdp425_pci_preinit(void) |
29 | { | 29 | { |
30 | set_irq_type(IRQ_IXDP425_PCI_INTA, IRQT_LOW); | 30 | set_irq_type(IRQ_IXDP425_PCI_INTA, IRQ_TYPE_LEVEL_LOW); |
31 | set_irq_type(IRQ_IXDP425_PCI_INTB, IRQT_LOW); | 31 | set_irq_type(IRQ_IXDP425_PCI_INTB, IRQ_TYPE_LEVEL_LOW); |
32 | set_irq_type(IRQ_IXDP425_PCI_INTC, IRQT_LOW); | 32 | set_irq_type(IRQ_IXDP425_PCI_INTC, IRQ_TYPE_LEVEL_LOW); |
33 | set_irq_type(IRQ_IXDP425_PCI_INTD, IRQT_LOW); | 33 | set_irq_type(IRQ_IXDP425_PCI_INTD, IRQ_TYPE_LEVEL_LOW); |
34 | 34 | ||
35 | ixp4xx_pci_preinit(); | 35 | ixp4xx_pci_preinit(); |
36 | } | 36 | } |
diff --git a/arch/arm/mach-ixp4xx/ixdpg425-pci.c b/arch/arm/mach-ixp4xx/ixdpg425-pci.c index d1e75b7dc3b1..37d9f2e8f602 100644 --- a/arch/arm/mach-ixp4xx/ixdpg425-pci.c +++ b/arch/arm/mach-ixp4xx/ixdpg425-pci.c | |||
@@ -25,8 +25,8 @@ | |||
25 | 25 | ||
26 | void __init ixdpg425_pci_preinit(void) | 26 | void __init ixdpg425_pci_preinit(void) |
27 | { | 27 | { |
28 | set_irq_type(IRQ_IXP4XX_GPIO6, IRQT_LOW); | 28 | set_irq_type(IRQ_IXP4XX_GPIO6, IRQ_TYPE_LEVEL_LOW); |
29 | set_irq_type(IRQ_IXP4XX_GPIO7, IRQT_LOW); | 29 | set_irq_type(IRQ_IXP4XX_GPIO7, IRQ_TYPE_LEVEL_LOW); |
30 | 30 | ||
31 | ixp4xx_pci_preinit(); | 31 | ixp4xx_pci_preinit(); |
32 | } | 32 | } |
diff --git a/arch/arm/mach-ixp4xx/nas100d-pci.c b/arch/arm/mach-ixp4xx/nas100d-pci.c index b8ebaf4a9c8e..1088426fdcee 100644 --- a/arch/arm/mach-ixp4xx/nas100d-pci.c +++ b/arch/arm/mach-ixp4xx/nas100d-pci.c | |||
@@ -24,11 +24,11 @@ | |||
24 | 24 | ||
25 | void __init nas100d_pci_preinit(void) | 25 | void __init nas100d_pci_preinit(void) |
26 | { | 26 | { |
27 | set_irq_type(IRQ_NAS100D_PCI_INTA, IRQT_LOW); | 27 | set_irq_type(IRQ_NAS100D_PCI_INTA, IRQ_TYPE_LEVEL_LOW); |
28 | set_irq_type(IRQ_NAS100D_PCI_INTB, IRQT_LOW); | 28 | set_irq_type(IRQ_NAS100D_PCI_INTB, IRQ_TYPE_LEVEL_LOW); |
29 | set_irq_type(IRQ_NAS100D_PCI_INTC, IRQT_LOW); | 29 | set_irq_type(IRQ_NAS100D_PCI_INTC, IRQ_TYPE_LEVEL_LOW); |
30 | set_irq_type(IRQ_NAS100D_PCI_INTD, IRQT_LOW); | 30 | set_irq_type(IRQ_NAS100D_PCI_INTD, IRQ_TYPE_LEVEL_LOW); |
31 | set_irq_type(IRQ_NAS100D_PCI_INTE, IRQT_LOW); | 31 | set_irq_type(IRQ_NAS100D_PCI_INTE, IRQ_TYPE_LEVEL_LOW); |
32 | 32 | ||
33 | ixp4xx_pci_preinit(); | 33 | ixp4xx_pci_preinit(); |
34 | } | 34 | } |
diff --git a/arch/arm/mach-ixp4xx/nslu2-pci.c b/arch/arm/mach-ixp4xx/nslu2-pci.c index 04661fef97f5..4429b8448b61 100644 --- a/arch/arm/mach-ixp4xx/nslu2-pci.c +++ b/arch/arm/mach-ixp4xx/nslu2-pci.c | |||
@@ -24,9 +24,9 @@ | |||
24 | 24 | ||
25 | void __init nslu2_pci_preinit(void) | 25 | void __init nslu2_pci_preinit(void) |
26 | { | 26 | { |
27 | set_irq_type(IRQ_NSLU2_PCI_INTA, IRQT_LOW); | 27 | set_irq_type(IRQ_NSLU2_PCI_INTA, IRQ_TYPE_LEVEL_LOW); |
28 | set_irq_type(IRQ_NSLU2_PCI_INTB, IRQT_LOW); | 28 | set_irq_type(IRQ_NSLU2_PCI_INTB, IRQ_TYPE_LEVEL_LOW); |
29 | set_irq_type(IRQ_NSLU2_PCI_INTC, IRQT_LOW); | 29 | set_irq_type(IRQ_NSLU2_PCI_INTC, IRQ_TYPE_LEVEL_LOW); |
30 | 30 | ||
31 | ixp4xx_pci_preinit(); | 31 | ixp4xx_pci_preinit(); |
32 | } | 32 | } |
diff --git a/arch/arm/mach-ixp4xx/wg302v2-pci.c b/arch/arm/mach-ixp4xx/wg302v2-pci.c index 6588f2c758e2..0f00feab67f8 100644 --- a/arch/arm/mach-ixp4xx/wg302v2-pci.c +++ b/arch/arm/mach-ixp4xx/wg302v2-pci.c | |||
@@ -29,8 +29,8 @@ | |||
29 | 29 | ||
30 | void __init wg302v2_pci_preinit(void) | 30 | void __init wg302v2_pci_preinit(void) |
31 | { | 31 | { |
32 | set_irq_type(IRQ_IXP4XX_GPIO8, IRQT_LOW); | 32 | set_irq_type(IRQ_IXP4XX_GPIO8, IRQ_TYPE_LEVEL_LOW); |
33 | set_irq_type(IRQ_IXP4XX_GPIO9, IRQT_LOW); | 33 | set_irq_type(IRQ_IXP4XX_GPIO9, IRQ_TYPE_LEVEL_LOW); |
34 | 34 | ||
35 | ixp4xx_pci_preinit(); | 35 | ixp4xx_pci_preinit(); |
36 | } | 36 | } |
diff --git a/arch/arm/mach-ks8695/irq.c b/arch/arm/mach-ks8695/irq.c index 4c3ab43e1046..0b06941a1eed 100644 --- a/arch/arm/mach-ks8695/irq.c +++ b/arch/arm/mach-ks8695/irq.c | |||
@@ -72,21 +72,21 @@ static int ks8695_irq_set_type(unsigned int irqno, unsigned int type) | |||
72 | ctrl = __raw_readl(KS8695_GPIO_VA + KS8695_IOPC); | 72 | ctrl = __raw_readl(KS8695_GPIO_VA + KS8695_IOPC); |
73 | 73 | ||
74 | switch (type) { | 74 | switch (type) { |
75 | case IRQT_HIGH: | 75 | case IRQ_TYPE_LEVEL_HIGH: |
76 | mode = IOPC_TM_HIGH; | 76 | mode = IOPC_TM_HIGH; |
77 | level_triggered = 1; | 77 | level_triggered = 1; |
78 | break; | 78 | break; |
79 | case IRQT_LOW: | 79 | case IRQ_TYPE_LEVEL_LOW: |
80 | mode = IOPC_TM_LOW; | 80 | mode = IOPC_TM_LOW; |
81 | level_triggered = 1; | 81 | level_triggered = 1; |
82 | break; | 82 | break; |
83 | case IRQT_RISING: | 83 | case IRQ_TYPE_EDGE_RISING: |
84 | mode = IOPC_TM_RISING; | 84 | mode = IOPC_TM_RISING; |
85 | break; | 85 | break; |
86 | case IRQT_FALLING: | 86 | case IRQ_TYPE_EDGE_FALLING: |
87 | mode = IOPC_TM_FALLING; | 87 | mode = IOPC_TM_FALLING; |
88 | break; | 88 | break; |
89 | case IRQT_BOTHEDGE: | 89 | case IRQ_TYPE_EDGE_BOTH: |
90 | mode = IOPC_TM_EDGE; | 90 | mode = IOPC_TM_EDGE; |
91 | break; | 91 | break; |
92 | default: | 92 | default: |
diff --git a/arch/arm/mach-netx/generic.c b/arch/arm/mach-netx/generic.c index fd7537f7d11e..99d4fb19a08a 100644 --- a/arch/arm/mach-netx/generic.c +++ b/arch/arm/mach-netx/generic.c | |||
@@ -99,19 +99,19 @@ netx_hif_irq_type(unsigned int _irq, unsigned int type) | |||
99 | 99 | ||
100 | irq = _irq - NETX_IRQ_HIF_CHAINED(0); | 100 | irq = _irq - NETX_IRQ_HIF_CHAINED(0); |
101 | 101 | ||
102 | if (type & __IRQT_RISEDGE) { | 102 | if (type & IRQ_TYPE_EDGE_RISING) { |
103 | DEBUG_IRQ("rising edges\n"); | 103 | DEBUG_IRQ("rising edges\n"); |
104 | val |= (1 << 26) << irq; | 104 | val |= (1 << 26) << irq; |
105 | } | 105 | } |
106 | if (type & __IRQT_FALEDGE) { | 106 | if (type & IRQ_TYPE_EDGE_FALLING) { |
107 | DEBUG_IRQ("falling edges\n"); | 107 | DEBUG_IRQ("falling edges\n"); |
108 | val &= ~((1 << 26) << irq); | 108 | val &= ~((1 << 26) << irq); |
109 | } | 109 | } |
110 | if (type & __IRQT_LOWLVL) { | 110 | if (type & IRQ_TYPE_LEVEL_LOW) { |
111 | DEBUG_IRQ("low level\n"); | 111 | DEBUG_IRQ("low level\n"); |
112 | val &= ~((1 << 26) << irq); | 112 | val &= ~((1 << 26) << irq); |
113 | } | 113 | } |
114 | if (type & __IRQT_HIGHLVL) { | 114 | if (type & IRQ_TYPE_LEVEL_HIGH) { |
115 | DEBUG_IRQ("high level\n"); | 115 | DEBUG_IRQ("high level\n"); |
116 | val |= (1 << 26) << irq; | 116 | val |= (1 << 26) << irq; |
117 | } | 117 | } |
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c index 845c66371ca3..41f94f6fc15c 100644 --- a/arch/arm/mach-omap1/board-osk.c +++ b/arch/arm/mach-omap1/board-osk.c | |||
@@ -288,7 +288,7 @@ static void __init osk_init_cf(void) | |||
288 | return; | 288 | return; |
289 | } | 289 | } |
290 | /* the CF I/O IRQ is really active-low */ | 290 | /* the CF I/O IRQ is really active-low */ |
291 | set_irq_type(OMAP_GPIO_IRQ(62), IRQT_FALLING); | 291 | set_irq_type(OMAP_GPIO_IRQ(62), IRQ_TYPE_EDGE_FALLING); |
292 | } | 292 | } |
293 | 293 | ||
294 | static void __init osk_init_irq(void) | 294 | static void __init osk_init_irq(void) |
@@ -483,7 +483,7 @@ static void __init osk_mistral_init(void) | |||
483 | omap_cfg_reg(P20_1610_GPIO4); /* PENIRQ */ | 483 | omap_cfg_reg(P20_1610_GPIO4); /* PENIRQ */ |
484 | gpio_request(4, "ts_int"); | 484 | gpio_request(4, "ts_int"); |
485 | gpio_direction_input(4); | 485 | gpio_direction_input(4); |
486 | set_irq_type(OMAP_GPIO_IRQ(4), IRQT_FALLING); | 486 | set_irq_type(OMAP_GPIO_IRQ(4), IRQ_TYPE_EDGE_FALLING); |
487 | 487 | ||
488 | spi_register_board_info(mistral_boardinfo, | 488 | spi_register_board_info(mistral_boardinfo, |
489 | ARRAY_SIZE(mistral_boardinfo)); | 489 | ARRAY_SIZE(mistral_boardinfo)); |
@@ -494,7 +494,7 @@ static void __init osk_mistral_init(void) | |||
494 | int ret = 0; | 494 | int ret = 0; |
495 | 495 | ||
496 | gpio_direction_input(OMAP_MPUIO(2)); | 496 | gpio_direction_input(OMAP_MPUIO(2)); |
497 | set_irq_type(OMAP_GPIO_IRQ(OMAP_MPUIO(2)), IRQT_RISING); | 497 | set_irq_type(OMAP_GPIO_IRQ(OMAP_MPUIO(2)), IRQ_TYPE_EDGE_RISING); |
498 | #ifdef CONFIG_PM | 498 | #ifdef CONFIG_PM |
499 | /* share the IRQ in case someone wants to use the | 499 | /* share the IRQ in case someone wants to use the |
500 | * button for more than wakeup from system sleep. | 500 | * button for more than wakeup from system sleep. |
diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c index e020c2774606..34389b63b0ec 100644 --- a/arch/arm/mach-omap1/board-palmz71.c +++ b/arch/arm/mach-omap1/board-palmz71.c | |||
@@ -298,11 +298,11 @@ palmz71_powercable(int irq, void *dev_id) | |||
298 | if (omap_get_gpio_datain(PALMZ71_USBDETECT_GPIO)) { | 298 | if (omap_get_gpio_datain(PALMZ71_USBDETECT_GPIO)) { |
299 | printk(KERN_INFO "PM: Power cable connected\n"); | 299 | printk(KERN_INFO "PM: Power cable connected\n"); |
300 | set_irq_type(OMAP_GPIO_IRQ(PALMZ71_USBDETECT_GPIO), | 300 | set_irq_type(OMAP_GPIO_IRQ(PALMZ71_USBDETECT_GPIO), |
301 | IRQT_FALLING); | 301 | IRQ_TYPE_EDGE_FALLING); |
302 | } else { | 302 | } else { |
303 | printk(KERN_INFO "PM: Power cable disconnected\n"); | 303 | printk(KERN_INFO "PM: Power cable disconnected\n"); |
304 | set_irq_type(OMAP_GPIO_IRQ(PALMZ71_USBDETECT_GPIO), | 304 | set_irq_type(OMAP_GPIO_IRQ(PALMZ71_USBDETECT_GPIO), |
305 | IRQT_RISING); | 305 | IRQ_TYPE_EDGE_RISING); |
306 | } | 306 | } |
307 | return IRQ_HANDLED; | 307 | return IRQ_HANDLED; |
308 | } | 308 | } |
diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c index 5c00b3f39cdd..8948d45a2769 100644 --- a/arch/arm/mach-omap1/board-voiceblue.c +++ b/arch/arm/mach-omap1/board-voiceblue.c | |||
@@ -186,10 +186,10 @@ static void __init voiceblue_init(void) | |||
186 | omap_request_gpio(13); | 186 | omap_request_gpio(13); |
187 | omap_request_gpio(14); | 187 | omap_request_gpio(14); |
188 | omap_request_gpio(15); | 188 | omap_request_gpio(15); |
189 | set_irq_type(OMAP_GPIO_IRQ(12), IRQT_RISING); | 189 | set_irq_type(OMAP_GPIO_IRQ(12), IRQ_TYPE_EDGE_RISING); |
190 | set_irq_type(OMAP_GPIO_IRQ(13), IRQT_RISING); | 190 | set_irq_type(OMAP_GPIO_IRQ(13), IRQ_TYPE_EDGE_RISING); |
191 | set_irq_type(OMAP_GPIO_IRQ(14), IRQT_RISING); | 191 | set_irq_type(OMAP_GPIO_IRQ(14), IRQ_TYPE_EDGE_RISING); |
192 | set_irq_type(OMAP_GPIO_IRQ(15), IRQT_RISING); | 192 | set_irq_type(OMAP_GPIO_IRQ(15), IRQ_TYPE_EDGE_RISING); |
193 | 193 | ||
194 | platform_add_devices(voiceblue_devices, ARRAY_SIZE(voiceblue_devices)); | 194 | platform_add_devices(voiceblue_devices, ARRAY_SIZE(voiceblue_devices)); |
195 | omap_board_config = voiceblue_config; | 195 | omap_board_config = voiceblue_config; |
diff --git a/arch/arm/mach-omap1/fpga.c b/arch/arm/mach-omap1/fpga.c index 0cf62ef5ecb7..d963125ed755 100644 --- a/arch/arm/mach-omap1/fpga.c +++ b/arch/arm/mach-omap1/fpga.c | |||
@@ -181,7 +181,7 @@ void omap1510_fpga_init_irq(void) | |||
181 | */ | 181 | */ |
182 | omap_request_gpio(13); | 182 | omap_request_gpio(13); |
183 | omap_set_gpio_direction(13, 1); | 183 | omap_set_gpio_direction(13, 1); |
184 | set_irq_type(OMAP_GPIO_IRQ(13), IRQT_RISING); | 184 | set_irq_type(OMAP_GPIO_IRQ(13), IRQ_TYPE_EDGE_RISING); |
185 | set_irq_chained_handler(OMAP1510_INT_FPGA, innovator_fpga_IRQ_demux); | 185 | set_irq_chained_handler(OMAP1510_INT_FPGA, innovator_fpga_IRQ_demux); |
186 | } | 186 | } |
187 | 187 | ||
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c index 620fa0f120ee..870b34972d3b 100644 --- a/arch/arm/mach-omap2/board-apollon.c +++ b/arch/arm/mach-omap2/board-apollon.c | |||
@@ -337,17 +337,17 @@ static void __init apollon_sw_init(void) | |||
337 | omap_request_gpio(SW_DOWN_GPIO58); | 337 | omap_request_gpio(SW_DOWN_GPIO58); |
338 | omap_set_gpio_direction(SW_DOWN_GPIO58, 1); | 338 | omap_set_gpio_direction(SW_DOWN_GPIO58, 1); |
339 | 339 | ||
340 | set_irq_type(OMAP_GPIO_IRQ(SW_ENTER_GPIO16), IRQT_RISING); | 340 | set_irq_type(OMAP_GPIO_IRQ(SW_ENTER_GPIO16), IRQ_TYPE_EDGE_RISING); |
341 | if (request_irq(OMAP_GPIO_IRQ(SW_ENTER_GPIO16), &apollon_sw_interrupt, | 341 | if (request_irq(OMAP_GPIO_IRQ(SW_ENTER_GPIO16), &apollon_sw_interrupt, |
342 | IRQF_SHARED, "enter sw", | 342 | IRQF_SHARED, "enter sw", |
343 | &apollon_sw_interrupt)) | 343 | &apollon_sw_interrupt)) |
344 | return; | 344 | return; |
345 | set_irq_type(OMAP_GPIO_IRQ(SW_UP_GPIO17), IRQT_RISING); | 345 | set_irq_type(OMAP_GPIO_IRQ(SW_UP_GPIO17), IRQ_TYPE_EDGE_RISING); |
346 | if (request_irq(OMAP_GPIO_IRQ(SW_UP_GPIO17), &apollon_sw_interrupt, | 346 | if (request_irq(OMAP_GPIO_IRQ(SW_UP_GPIO17), &apollon_sw_interrupt, |
347 | IRQF_SHARED, "up sw", | 347 | IRQF_SHARED, "up sw", |
348 | &apollon_sw_interrupt)) | 348 | &apollon_sw_interrupt)) |
349 | return; | 349 | return; |
350 | set_irq_type(OMAP_GPIO_IRQ(SW_DOWN_GPIO58), IRQT_RISING); | 350 | set_irq_type(OMAP_GPIO_IRQ(SW_DOWN_GPIO58), IRQ_TYPE_EDGE_RISING); |
351 | if (request_irq(OMAP_GPIO_IRQ(SW_DOWN_GPIO58), &apollon_sw_interrupt, | 351 | if (request_irq(OMAP_GPIO_IRQ(SW_DOWN_GPIO58), &apollon_sw_interrupt, |
352 | IRQF_SHARED, "down sw", | 352 | IRQF_SHARED, "down sw", |
353 | &apollon_sw_interrupt)) | 353 | &apollon_sw_interrupt)) |
diff --git a/arch/arm/mach-orion5x/db88f5281-setup.c b/arch/arm/mach-orion5x/db88f5281-setup.c index 88405e74e5e3..40a0bee4fbb3 100644 --- a/arch/arm/mach-orion5x/db88f5281-setup.c +++ b/arch/arm/mach-orion5x/db88f5281-setup.c | |||
@@ -213,7 +213,7 @@ void __init db88f5281_pci_preinit(void) | |||
213 | pin = DB88F5281_PCI_SLOT0_IRQ_PIN; | 213 | pin = DB88F5281_PCI_SLOT0_IRQ_PIN; |
214 | if (gpio_request(pin, "PCI Int1") == 0) { | 214 | if (gpio_request(pin, "PCI Int1") == 0) { |
215 | if (gpio_direction_input(pin) == 0) { | 215 | if (gpio_direction_input(pin) == 0) { |
216 | set_irq_type(gpio_to_irq(pin), IRQT_LOW); | 216 | set_irq_type(gpio_to_irq(pin), IRQ_TYPE_LEVEL_LOW); |
217 | } else { | 217 | } else { |
218 | printk(KERN_ERR "db88f5281_pci_preinit faield to " | 218 | printk(KERN_ERR "db88f5281_pci_preinit faield to " |
219 | "set_irq_type pin %d\n", pin); | 219 | "set_irq_type pin %d\n", pin); |
@@ -226,7 +226,7 @@ void __init db88f5281_pci_preinit(void) | |||
226 | pin = DB88F5281_PCI_SLOT1_SLOT2_IRQ_PIN; | 226 | pin = DB88F5281_PCI_SLOT1_SLOT2_IRQ_PIN; |
227 | if (gpio_request(pin, "PCI Int2") == 0) { | 227 | if (gpio_request(pin, "PCI Int2") == 0) { |
228 | if (gpio_direction_input(pin) == 0) { | 228 | if (gpio_direction_input(pin) == 0) { |
229 | set_irq_type(gpio_to_irq(pin), IRQT_LOW); | 229 | set_irq_type(gpio_to_irq(pin), IRQ_TYPE_LEVEL_LOW); |
230 | } else { | 230 | } else { |
231 | printk(KERN_ERR "db88f5281_pci_preinit faield " | 231 | printk(KERN_ERR "db88f5281_pci_preinit faield " |
232 | "to set_irq_type pin %d\n", pin); | 232 | "to set_irq_type pin %d\n", pin); |
diff --git a/arch/arm/mach-orion5x/irq.c b/arch/arm/mach-orion5x/irq.c index e2a0084ab4a3..9ae3f6dc7839 100644 --- a/arch/arm/mach-orion5x/irq.c +++ b/arch/arm/mach-orion5x/irq.c | |||
@@ -91,27 +91,27 @@ static int orion5x_gpio_set_irq_type(u32 irq, u32 type) | |||
91 | desc = irq_desc + irq; | 91 | desc = irq_desc + irq; |
92 | 92 | ||
93 | switch (type) { | 93 | switch (type) { |
94 | case IRQT_HIGH: | 94 | case IRQ_TYPE_LEVEL_HIGH: |
95 | desc->handle_irq = handle_level_irq; | 95 | desc->handle_irq = handle_level_irq; |
96 | desc->status |= IRQ_LEVEL; | 96 | desc->status |= IRQ_LEVEL; |
97 | orion5x_clrbits(GPIO_IN_POL, (1 << pin)); | 97 | orion5x_clrbits(GPIO_IN_POL, (1 << pin)); |
98 | break; | 98 | break; |
99 | case IRQT_LOW: | 99 | case IRQ_TYPE_LEVEL_LOW: |
100 | desc->handle_irq = handle_level_irq; | 100 | desc->handle_irq = handle_level_irq; |
101 | desc->status |= IRQ_LEVEL; | 101 | desc->status |= IRQ_LEVEL; |
102 | orion5x_setbits(GPIO_IN_POL, (1 << pin)); | 102 | orion5x_setbits(GPIO_IN_POL, (1 << pin)); |
103 | break; | 103 | break; |
104 | case IRQT_RISING: | 104 | case IRQ_TYPE_EDGE_RISING: |
105 | desc->handle_irq = handle_edge_irq; | 105 | desc->handle_irq = handle_edge_irq; |
106 | desc->status &= ~IRQ_LEVEL; | 106 | desc->status &= ~IRQ_LEVEL; |
107 | orion5x_clrbits(GPIO_IN_POL, (1 << pin)); | 107 | orion5x_clrbits(GPIO_IN_POL, (1 << pin)); |
108 | break; | 108 | break; |
109 | case IRQT_FALLING: | 109 | case IRQ_TYPE_EDGE_FALLING: |
110 | desc->handle_irq = handle_edge_irq; | 110 | desc->handle_irq = handle_edge_irq; |
111 | desc->status &= ~IRQ_LEVEL; | 111 | desc->status &= ~IRQ_LEVEL; |
112 | orion5x_setbits(GPIO_IN_POL, (1 << pin)); | 112 | orion5x_setbits(GPIO_IN_POL, (1 << pin)); |
113 | break; | 113 | break; |
114 | case IRQT_BOTHEDGE: | 114 | case IRQ_TYPE_EDGE_BOTH: |
115 | desc->handle_irq = handle_edge_irq; | 115 | desc->handle_irq = handle_edge_irq; |
116 | desc->status &= ~IRQ_LEVEL; | 116 | desc->status &= ~IRQ_LEVEL; |
117 | /* | 117 | /* |
@@ -156,7 +156,7 @@ static void orion5x_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | |||
156 | if (cause & (1 << pin)) { | 156 | if (cause & (1 << pin)) { |
157 | irq = gpio_to_irq(pin); | 157 | irq = gpio_to_irq(pin); |
158 | desc = irq_desc + irq; | 158 | desc = irq_desc + irq; |
159 | if ((desc->status & IRQ_TYPE_SENSE_MASK) == IRQT_BOTHEDGE) { | 159 | if ((desc->status & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH) { |
160 | /* Swap polarity (race with GPIO line) */ | 160 | /* Swap polarity (race with GPIO line) */ |
161 | u32 polarity = readl(GPIO_IN_POL); | 161 | u32 polarity = readl(GPIO_IN_POL); |
162 | polarity ^= 1 << pin; | 162 | polarity ^= 1 << pin; |
diff --git a/arch/arm/mach-orion5x/rd88f5182-setup.c b/arch/arm/mach-orion5x/rd88f5182-setup.c index 10ae62864269..2a46d27209c1 100644 --- a/arch/arm/mach-orion5x/rd88f5182-setup.c +++ b/arch/arm/mach-orion5x/rd88f5182-setup.c | |||
@@ -148,7 +148,7 @@ void __init rd88f5182_pci_preinit(void) | |||
148 | pin = RD88F5182_PCI_SLOT0_IRQ_A_PIN; | 148 | pin = RD88F5182_PCI_SLOT0_IRQ_A_PIN; |
149 | if (gpio_request(pin, "PCI IntA") == 0) { | 149 | if (gpio_request(pin, "PCI IntA") == 0) { |
150 | if (gpio_direction_input(pin) == 0) { | 150 | if (gpio_direction_input(pin) == 0) { |
151 | set_irq_type(gpio_to_irq(pin), IRQT_LOW); | 151 | set_irq_type(gpio_to_irq(pin), IRQ_TYPE_LEVEL_LOW); |
152 | } else { | 152 | } else { |
153 | printk(KERN_ERR "rd88f5182_pci_preinit faield to " | 153 | printk(KERN_ERR "rd88f5182_pci_preinit faield to " |
154 | "set_irq_type pin %d\n", pin); | 154 | "set_irq_type pin %d\n", pin); |
@@ -161,7 +161,7 @@ void __init rd88f5182_pci_preinit(void) | |||
161 | pin = RD88F5182_PCI_SLOT0_IRQ_B_PIN; | 161 | pin = RD88F5182_PCI_SLOT0_IRQ_B_PIN; |
162 | if (gpio_request(pin, "PCI IntB") == 0) { | 162 | if (gpio_request(pin, "PCI IntB") == 0) { |
163 | if (gpio_direction_input(pin) == 0) { | 163 | if (gpio_direction_input(pin) == 0) { |
164 | set_irq_type(gpio_to_irq(pin), IRQT_LOW); | 164 | set_irq_type(gpio_to_irq(pin), IRQ_TYPE_LEVEL_LOW); |
165 | } else { | 165 | } else { |
166 | printk(KERN_ERR "rd88f5182_pci_preinit faield to " | 166 | printk(KERN_ERR "rd88f5182_pci_preinit faield to " |
167 | "set_irq_type pin %d\n", pin); | 167 | "set_irq_type pin %d\n", pin); |
diff --git a/arch/arm/mach-orion5x/ts209-setup.c b/arch/arm/mach-orion5x/ts209-setup.c index a9cef9703d5b..f270ada2def9 100644 --- a/arch/arm/mach-orion5x/ts209-setup.c +++ b/arch/arm/mach-orion5x/ts209-setup.c | |||
@@ -117,7 +117,7 @@ void __init qnap_ts209_pci_preinit(void) | |||
117 | pin = QNAP_TS209_PCI_SLOT0_IRQ_PIN; | 117 | pin = QNAP_TS209_PCI_SLOT0_IRQ_PIN; |
118 | if (gpio_request(pin, "PCI Int1") == 0) { | 118 | if (gpio_request(pin, "PCI Int1") == 0) { |
119 | if (gpio_direction_input(pin) == 0) { | 119 | if (gpio_direction_input(pin) == 0) { |
120 | set_irq_type(gpio_to_irq(pin), IRQT_LOW); | 120 | set_irq_type(gpio_to_irq(pin), IRQ_TYPE_LEVEL_LOW); |
121 | } else { | 121 | } else { |
122 | printk(KERN_ERR "qnap_ts209_pci_preinit failed to " | 122 | printk(KERN_ERR "qnap_ts209_pci_preinit failed to " |
123 | "set_irq_type pin %d\n", pin); | 123 | "set_irq_type pin %d\n", pin); |
@@ -131,7 +131,7 @@ void __init qnap_ts209_pci_preinit(void) | |||
131 | pin = QNAP_TS209_PCI_SLOT1_IRQ_PIN; | 131 | pin = QNAP_TS209_PCI_SLOT1_IRQ_PIN; |
132 | if (gpio_request(pin, "PCI Int2") == 0) { | 132 | if (gpio_request(pin, "PCI Int2") == 0) { |
133 | if (gpio_direction_input(pin) == 0) { | 133 | if (gpio_direction_input(pin) == 0) { |
134 | set_irq_type(gpio_to_irq(pin), IRQT_LOW); | 134 | set_irq_type(gpio_to_irq(pin), IRQ_TYPE_LEVEL_LOW); |
135 | } else { | 135 | } else { |
136 | printk(KERN_ERR "qnap_ts209_pci_preinit failed " | 136 | printk(KERN_ERR "qnap_ts209_pci_preinit failed " |
137 | "to set_irq_type pin %d\n", pin); | 137 | "to set_irq_type pin %d\n", pin); |
diff --git a/arch/arm/mach-pnx4008/irq.c b/arch/arm/mach-pnx4008/irq.c index 968d0b027597..5ed67e1947a8 100644 --- a/arch/arm/mach-pnx4008/irq.c +++ b/arch/arm/mach-pnx4008/irq.c | |||
@@ -56,28 +56,28 @@ static void pnx4008_mask_ack_irq(unsigned int irq) | |||
56 | static int pnx4008_set_irq_type(unsigned int irq, unsigned int type) | 56 | static int pnx4008_set_irq_type(unsigned int irq, unsigned int type) |
57 | { | 57 | { |
58 | switch (type) { | 58 | switch (type) { |
59 | case IRQT_RISING: | 59 | case IRQ_TYPE_EDGE_RISING: |
60 | __raw_writel(__raw_readl(INTC_ATR(irq)) | INTC_BIT(irq), INTC_ATR(irq)); /*edge sensitive */ | 60 | __raw_writel(__raw_readl(INTC_ATR(irq)) | INTC_BIT(irq), INTC_ATR(irq)); /*edge sensitive */ |
61 | __raw_writel(__raw_readl(INTC_APR(irq)) | INTC_BIT(irq), INTC_APR(irq)); /*rising edge */ | 61 | __raw_writel(__raw_readl(INTC_APR(irq)) | INTC_BIT(irq), INTC_APR(irq)); /*rising edge */ |
62 | set_irq_handler(irq, handle_edge_irq); | 62 | set_irq_handler(irq, handle_edge_irq); |
63 | break; | 63 | break; |
64 | case IRQT_FALLING: | 64 | case IRQ_TYPE_EDGE_FALLING: |
65 | __raw_writel(__raw_readl(INTC_ATR(irq)) | INTC_BIT(irq), INTC_ATR(irq)); /*edge sensitive */ | 65 | __raw_writel(__raw_readl(INTC_ATR(irq)) | INTC_BIT(irq), INTC_ATR(irq)); /*edge sensitive */ |
66 | __raw_writel(__raw_readl(INTC_APR(irq)) & ~INTC_BIT(irq), INTC_APR(irq)); /*falling edge */ | 66 | __raw_writel(__raw_readl(INTC_APR(irq)) & ~INTC_BIT(irq), INTC_APR(irq)); /*falling edge */ |
67 | set_irq_handler(irq, handle_edge_irq); | 67 | set_irq_handler(irq, handle_edge_irq); |
68 | break; | 68 | break; |
69 | case IRQT_LOW: | 69 | case IRQ_TYPE_LEVEL_LOW: |
70 | __raw_writel(__raw_readl(INTC_ATR(irq)) & ~INTC_BIT(irq), INTC_ATR(irq)); /*level sensitive */ | 70 | __raw_writel(__raw_readl(INTC_ATR(irq)) & ~INTC_BIT(irq), INTC_ATR(irq)); /*level sensitive */ |
71 | __raw_writel(__raw_readl(INTC_APR(irq)) & ~INTC_BIT(irq), INTC_APR(irq)); /*low level */ | 71 | __raw_writel(__raw_readl(INTC_APR(irq)) & ~INTC_BIT(irq), INTC_APR(irq)); /*low level */ |
72 | set_irq_handler(irq, handle_level_irq); | 72 | set_irq_handler(irq, handle_level_irq); |
73 | break; | 73 | break; |
74 | case IRQT_HIGH: | 74 | case IRQ_TYPE_LEVEL_HIGH: |
75 | __raw_writel(__raw_readl(INTC_ATR(irq)) & ~INTC_BIT(irq), INTC_ATR(irq)); /*level sensitive */ | 75 | __raw_writel(__raw_readl(INTC_ATR(irq)) & ~INTC_BIT(irq), INTC_ATR(irq)); /*level sensitive */ |
76 | __raw_writel(__raw_readl(INTC_APR(irq)) | INTC_BIT(irq), INTC_APR(irq)); /* high level */ | 76 | __raw_writel(__raw_readl(INTC_APR(irq)) | INTC_BIT(irq), INTC_APR(irq)); /* high level */ |
77 | set_irq_handler(irq, handle_level_irq); | 77 | set_irq_handler(irq, handle_level_irq); |
78 | break; | 78 | break; |
79 | 79 | ||
80 | /* IRQT_BOTHEDGE is not supported */ | 80 | /* IRQ_TYPE_EDGE_BOTH is not supported */ |
81 | default: | 81 | default: |
82 | printk(KERN_ERR "PNX4008 IRQ: Unsupported irq type %d\n", type); | 82 | printk(KERN_ERR "PNX4008 IRQ: Unsupported irq type %d\n", type); |
83 | return -1; | 83 | return -1; |
diff --git a/arch/arm/mach-pxa/cm-x270-pci.c b/arch/arm/mach-pxa/cm-x270-pci.c index bcf0cde6ccc9..31f5bd411ced 100644 --- a/arch/arm/mach-pxa/cm-x270-pci.c +++ b/arch/arm/mach-pxa/cm-x270-pci.c | |||
@@ -71,7 +71,7 @@ void __cmx270_pci_init_irq(int irq_gpio) | |||
71 | 71 | ||
72 | cmx270_it8152_irq_gpio = irq_gpio; | 72 | cmx270_it8152_irq_gpio = irq_gpio; |
73 | 73 | ||
74 | set_irq_type(gpio_to_irq(irq_gpio), IRQT_RISING); | 74 | set_irq_type(gpio_to_irq(irq_gpio), IRQ_TYPE_EDGE_RISING); |
75 | 75 | ||
76 | set_irq_chained_handler(gpio_to_irq(irq_gpio), cmx270_it8152_irq_demux); | 76 | set_irq_chained_handler(gpio_to_irq(irq_gpio), cmx270_it8152_irq_demux); |
77 | } | 77 | } |
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c index cc1c4fa06145..8d1ab54e7b20 100644 --- a/arch/arm/mach-pxa/lpd270.c +++ b/arch/arm/mach-pxa/lpd270.c | |||
@@ -113,7 +113,7 @@ static void __init lpd270_init_irq(void) | |||
113 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); | 113 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); |
114 | } | 114 | } |
115 | set_irq_chained_handler(IRQ_GPIO(0), lpd270_irq_handler); | 115 | set_irq_chained_handler(IRQ_GPIO(0), lpd270_irq_handler); |
116 | set_irq_type(IRQ_GPIO(0), IRQT_FALLING); | 116 | set_irq_type(IRQ_GPIO(0), IRQ_TYPE_EDGE_FALLING); |
117 | } | 117 | } |
118 | 118 | ||
119 | 119 | ||
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index ac26423cd20c..af7375bb46a4 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c | |||
@@ -152,7 +152,7 @@ static void __init lubbock_init_irq(void) | |||
152 | } | 152 | } |
153 | 153 | ||
154 | set_irq_chained_handler(IRQ_GPIO(0), lubbock_irq_handler); | 154 | set_irq_chained_handler(IRQ_GPIO(0), lubbock_irq_handler); |
155 | set_irq_type(IRQ_GPIO(0), IRQT_FALLING); | 155 | set_irq_type(IRQ_GPIO(0), IRQ_TYPE_EDGE_FALLING); |
156 | } | 156 | } |
157 | 157 | ||
158 | #ifdef CONFIG_PM | 158 | #ifdef CONFIG_PM |
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c index 851ec2d9b699..c8e38b5ff1c4 100644 --- a/arch/arm/mach-pxa/mainstone.c +++ b/arch/arm/mach-pxa/mainstone.c | |||
@@ -191,7 +191,7 @@ static void __init mainstone_init_irq(void) | |||
191 | MST_INTSETCLR = 0; | 191 | MST_INTSETCLR = 0; |
192 | 192 | ||
193 | set_irq_chained_handler(IRQ_GPIO(0), mainstone_irq_handler); | 193 | set_irq_chained_handler(IRQ_GPIO(0), mainstone_irq_handler); |
194 | set_irq_type(IRQ_GPIO(0), IRQT_FALLING); | 194 | set_irq_type(IRQ_GPIO(0), IRQ_TYPE_EDGE_FALLING); |
195 | } | 195 | } |
196 | 196 | ||
197 | #ifdef CONFIG_PM | 197 | #ifdef CONFIG_PM |
diff --git a/arch/arm/mach-pxa/sharpsl_pm.c b/arch/arm/mach-pxa/sharpsl_pm.c index 34cd585075b0..23e9b9283301 100644 --- a/arch/arm/mach-pxa/sharpsl_pm.c +++ b/arch/arm/mach-pxa/sharpsl_pm.c | |||
@@ -146,18 +146,18 @@ void sharpsl_pm_pxa_init(void) | |||
146 | if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr, IRQF_DISABLED, "AC Input Detect", sharpsl_ac_isr)) { | 146 | if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr, IRQF_DISABLED, "AC Input Detect", sharpsl_ac_isr)) { |
147 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin)); | 147 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin)); |
148 | } | 148 | } |
149 | else set_irq_type(IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin),IRQT_BOTHEDGE); | 149 | else set_irq_type(IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin),IRQ_TYPE_EDGE_BOTH); |
150 | 150 | ||
151 | if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr, IRQF_DISABLED, "Battery Cover", sharpsl_fatal_isr)) { | 151 | if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr, IRQF_DISABLED, "Battery Cover", sharpsl_fatal_isr)) { |
152 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock)); | 152 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock)); |
153 | } | 153 | } |
154 | else set_irq_type(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock),IRQT_FALLING); | 154 | else set_irq_type(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock),IRQ_TYPE_EDGE_FALLING); |
155 | 155 | ||
156 | if (sharpsl_pm.machinfo->gpio_fatal) { | 156 | if (sharpsl_pm.machinfo->gpio_fatal) { |
157 | if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr, IRQF_DISABLED, "Fatal Battery", sharpsl_fatal_isr)) { | 157 | if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr, IRQF_DISABLED, "Fatal Battery", sharpsl_fatal_isr)) { |
158 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal)); | 158 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal)); |
159 | } | 159 | } |
160 | else set_irq_type(IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal),IRQT_FALLING); | 160 | else set_irq_type(IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal),IRQ_TYPE_EDGE_FALLING); |
161 | } | 161 | } |
162 | 162 | ||
163 | if (sharpsl_pm.machinfo->batfull_irq) | 163 | if (sharpsl_pm.machinfo->batfull_irq) |
@@ -166,7 +166,7 @@ void sharpsl_pm_pxa_init(void) | |||
166 | if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr, IRQF_DISABLED, "CO", sharpsl_chrg_full_isr)) { | 166 | if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr, IRQF_DISABLED, "CO", sharpsl_chrg_full_isr)) { |
167 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull)); | 167 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull)); |
168 | } | 168 | } |
169 | else set_irq_type(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull),IRQT_RISING); | 169 | else set_irq_type(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull),IRQ_TYPE_EDGE_RISING); |
170 | } | 170 | } |
171 | } | 171 | } |
172 | 172 | ||
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c index dee7bf36f013..12811b7aea07 100644 --- a/arch/arm/mach-pxa/trizeps4.c +++ b/arch/arm/mach-pxa/trizeps4.c | |||
@@ -122,7 +122,7 @@ static struct resource dm9000_resources[] = { | |||
122 | [2] = { | 122 | [2] = { |
123 | .start = TRIZEPS4_ETH_IRQ, | 123 | .start = TRIZEPS4_ETH_IRQ, |
124 | .end = TRIZEPS4_ETH_IRQ, | 124 | .end = TRIZEPS4_ETH_IRQ, |
125 | .flags = (IORESOURCE_IRQ | IRQT_RISING), | 125 | .flags = (IORESOURCE_IRQ | IRQ_TYPE_EDGE_RISING), |
126 | }, | 126 | }, |
127 | }; | 127 | }; |
128 | 128 | ||
diff --git a/arch/arm/mach-sa1100/cerf.c b/arch/arm/mach-sa1100/cerf.c index 31afe50d7cd5..56d3ee01baae 100644 --- a/arch/arm/mach-sa1100/cerf.c +++ b/arch/arm/mach-sa1100/cerf.c | |||
@@ -96,7 +96,7 @@ static struct resource cerf_flash_resource = { | |||
96 | static void __init cerf_init_irq(void) | 96 | static void __init cerf_init_irq(void) |
97 | { | 97 | { |
98 | sa1100_init_irq(); | 98 | sa1100_init_irq(); |
99 | set_irq_type(CERF_ETH_IRQ, IRQT_RISING); | 99 | set_irq_type(CERF_ETH_IRQ, IRQ_TYPE_EDGE_RISING); |
100 | } | 100 | } |
101 | 101 | ||
102 | static struct map_desc cerf_io_desc[] __initdata = { | 102 | static struct map_desc cerf_io_desc[] __initdata = { |
diff --git a/arch/arm/mach-sa1100/h3600.c b/arch/arm/mach-sa1100/h3600.c index 8473c37b77d6..b34ff42bbd75 100644 --- a/arch/arm/mach-sa1100/h3600.c +++ b/arch/arm/mach-sa1100/h3600.c | |||
@@ -834,7 +834,7 @@ static void __init h3800_init_irq(void) | |||
834 | set_irq_chip(irq, &h3800_gpio_irqchip); | 834 | set_irq_chip(irq, &h3800_gpio_irqchip); |
835 | } | 835 | } |
836 | #endif | 836 | #endif |
837 | set_irq_type(IRQ_GPIO_H3800_ASIC, IRQT_RISING); | 837 | set_irq_type(IRQ_GPIO_H3800_ASIC, IRQ_TYPE_EDGE_RISING); |
838 | set_irq_chained_handler(IRQ_GPIO_H3800_ASIC, h3800_IRQ_demux); | 838 | set_irq_chained_handler(IRQ_GPIO_H3800_ASIC, h3800_IRQ_demux); |
839 | } | 839 | } |
840 | 840 | ||
diff --git a/arch/arm/mach-sa1100/irq.c b/arch/arm/mach-sa1100/irq.c index fa0403af7eec..c5e438b12ec7 100644 --- a/arch/arm/mach-sa1100/irq.c +++ b/arch/arm/mach-sa1100/irq.c | |||
@@ -46,17 +46,17 @@ static int sa1100_gpio_type(unsigned int irq, unsigned int type) | |||
46 | else | 46 | else |
47 | mask = GPIO11_27_MASK(irq); | 47 | mask = GPIO11_27_MASK(irq); |
48 | 48 | ||
49 | if (type == IRQT_PROBE) { | 49 | if (type == IRQ_TYPE_PROBE) { |
50 | if ((GPIO_IRQ_rising_edge | GPIO_IRQ_falling_edge) & mask) | 50 | if ((GPIO_IRQ_rising_edge | GPIO_IRQ_falling_edge) & mask) |
51 | return 0; | 51 | return 0; |
52 | type = __IRQT_RISEDGE | __IRQT_FALEDGE; | 52 | type = IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING; |
53 | } | 53 | } |
54 | 54 | ||
55 | if (type & __IRQT_RISEDGE) { | 55 | if (type & IRQ_TYPE_EDGE_RISING) { |
56 | GPIO_IRQ_rising_edge |= mask; | 56 | GPIO_IRQ_rising_edge |= mask; |
57 | } else | 57 | } else |
58 | GPIO_IRQ_rising_edge &= ~mask; | 58 | GPIO_IRQ_rising_edge &= ~mask; |
59 | if (type & __IRQT_FALEDGE) { | 59 | if (type & IRQ_TYPE_EDGE_FALLING) { |
60 | GPIO_IRQ_falling_edge |= mask; | 60 | GPIO_IRQ_falling_edge |= mask; |
61 | } else | 61 | } else |
62 | GPIO_IRQ_falling_edge &= ~mask; | 62 | GPIO_IRQ_falling_edge &= ~mask; |
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c index 9f1ed1509301..967a48454f6b 100644 --- a/arch/arm/mach-sa1100/neponset.c +++ b/arch/arm/mach-sa1100/neponset.c | |||
@@ -151,7 +151,7 @@ static int __devinit neponset_probe(struct platform_device *dev) | |||
151 | /* | 151 | /* |
152 | * Install handler for GPIO25. | 152 | * Install handler for GPIO25. |
153 | */ | 153 | */ |
154 | set_irq_type(IRQ_GPIO25, IRQT_RISING); | 154 | set_irq_type(IRQ_GPIO25, IRQ_TYPE_EDGE_RISING); |
155 | set_irq_chained_handler(IRQ_GPIO25, neponset_irq_handler); | 155 | set_irq_chained_handler(IRQ_GPIO25, neponset_irq_handler); |
156 | 156 | ||
157 | /* | 157 | /* |
diff --git a/arch/arm/mach-sa1100/pleb.c b/arch/arm/mach-sa1100/pleb.c index c7bf7e0038f0..69a71f11625e 100644 --- a/arch/arm/mach-sa1100/pleb.c +++ b/arch/arm/mach-sa1100/pleb.c | |||
@@ -143,7 +143,7 @@ static void __init pleb_map_io(void) | |||
143 | 143 | ||
144 | GPDR &= ~GPIO_ETH0_IRQ; | 144 | GPDR &= ~GPIO_ETH0_IRQ; |
145 | 145 | ||
146 | set_irq_type(GPIO_ETH0_IRQ, IRQT_FALLING); | 146 | set_irq_type(GPIO_ETH0_IRQ, IRQ_TYPE_EDGE_FALLING); |
147 | } | 147 | } |
148 | 148 | ||
149 | MACHINE_START(PLEB, "PLEB") | 149 | MACHINE_START(PLEB, "PLEB") |
diff --git a/arch/arm/mm/fault-armv.c b/arch/arm/mm/fault-armv.c index fbfa26058442..a8ec97b4752e 100644 --- a/arch/arm/mm/fault-armv.c +++ b/arch/arm/mm/fault-armv.c | |||
@@ -37,7 +37,7 @@ static int adjust_pte(struct vm_area_struct *vma, unsigned long address) | |||
37 | pgd_t *pgd; | 37 | pgd_t *pgd; |
38 | pmd_t *pmd; | 38 | pmd_t *pmd; |
39 | pte_t *pte, entry; | 39 | pte_t *pte, entry; |
40 | int ret = 0; | 40 | int ret; |
41 | 41 | ||
42 | pgd = pgd_offset(vma->vm_mm, address); | 42 | pgd = pgd_offset(vma->vm_mm, address); |
43 | if (pgd_none(*pgd)) | 43 | if (pgd_none(*pgd)) |
@@ -55,15 +55,19 @@ static int adjust_pte(struct vm_area_struct *vma, unsigned long address) | |||
55 | entry = *pte; | 55 | entry = *pte; |
56 | 56 | ||
57 | /* | 57 | /* |
58 | * If this page is present, it's actually being shared. | ||
59 | */ | ||
60 | ret = pte_present(entry); | ||
61 | |||
62 | /* | ||
58 | * If this page isn't present, or is already setup to | 63 | * If this page isn't present, or is already setup to |
59 | * fault (ie, is old), we can safely ignore any issues. | 64 | * fault (ie, is old), we can safely ignore any issues. |
60 | */ | 65 | */ |
61 | if (pte_present(entry) && pte_val(entry) & shared_pte_mask) { | 66 | if (ret && pte_val(entry) & shared_pte_mask) { |
62 | flush_cache_page(vma, address, pte_pfn(entry)); | 67 | flush_cache_page(vma, address, pte_pfn(entry)); |
63 | pte_val(entry) &= ~shared_pte_mask; | 68 | pte_val(entry) &= ~shared_pte_mask; |
64 | set_pte_at(vma->vm_mm, address, pte, entry); | 69 | set_pte_at(vma->vm_mm, address, pte, entry); |
65 | flush_tlb_page(vma, address); | 70 | flush_tlb_page(vma, address); |
66 | ret = 1; | ||
67 | } | 71 | } |
68 | pte_unmap(pte); | 72 | pte_unmap(pte); |
69 | return ret; | 73 | return ret; |
diff --git a/arch/arm/plat-mxc/gpio.c b/arch/arm/plat-mxc/gpio.c index 4a7736717d86..318b268f938e 100644 --- a/arch/arm/plat-mxc/gpio.c +++ b/arch/arm/plat-mxc/gpio.c | |||
@@ -73,19 +73,19 @@ static int gpio_set_irq_type(u32 irq, u32 type) | |||
73 | void __iomem *reg = port->base; | 73 | void __iomem *reg = port->base; |
74 | 74 | ||
75 | switch (type) { | 75 | switch (type) { |
76 | case IRQT_RISING: | 76 | case IRQ_TYPE_EDGE_RISING: |
77 | edge = GPIO_INT_RISE_EDGE; | 77 | edge = GPIO_INT_RISE_EDGE; |
78 | break; | 78 | break; |
79 | case IRQT_FALLING: | 79 | case IRQ_TYPE_EDGE_FALLING: |
80 | edge = GPIO_INT_FALL_EDGE; | 80 | edge = GPIO_INT_FALL_EDGE; |
81 | break; | 81 | break; |
82 | case IRQT_LOW: | 82 | case IRQ_TYPE_LEVEL_LOW: |
83 | edge = GPIO_INT_LOW_LEV; | 83 | edge = GPIO_INT_LOW_LEV; |
84 | break; | 84 | break; |
85 | case IRQT_HIGH: | 85 | case IRQ_TYPE_LEVEL_HIGH: |
86 | edge = GPIO_INT_HIGH_LEV; | 86 | edge = GPIO_INT_HIGH_LEV; |
87 | break; | 87 | break; |
88 | default: /* this includes IRQT_BOTHEDGE */ | 88 | default: /* this includes IRQ_TYPE_EDGE_BOTH */ |
89 | return -EINVAL; | 89 | return -EINVAL; |
90 | } | 90 | } |
91 | 91 | ||
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index d8e9c2c3f0f6..63e094342ef6 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -517,13 +517,13 @@ static inline void set_24xx_gpio_triggering(struct gpio_bank *bank, int gpio, | |||
517 | u32 gpio_bit = 1 << gpio; | 517 | u32 gpio_bit = 1 << gpio; |
518 | 518 | ||
519 | MOD_REG_BIT(OMAP24XX_GPIO_LEVELDETECT0, gpio_bit, | 519 | MOD_REG_BIT(OMAP24XX_GPIO_LEVELDETECT0, gpio_bit, |
520 | trigger & __IRQT_LOWLVL); | 520 | trigger & IRQ_TYPE_LEVEL_LOW); |
521 | MOD_REG_BIT(OMAP24XX_GPIO_LEVELDETECT1, gpio_bit, | 521 | MOD_REG_BIT(OMAP24XX_GPIO_LEVELDETECT1, gpio_bit, |
522 | trigger & __IRQT_HIGHLVL); | 522 | trigger & IRQ_TYPE_LEVEL_HIGH); |
523 | MOD_REG_BIT(OMAP24XX_GPIO_RISINGDETECT, gpio_bit, | 523 | MOD_REG_BIT(OMAP24XX_GPIO_RISINGDETECT, gpio_bit, |
524 | trigger & __IRQT_RISEDGE); | 524 | trigger & IRQ_TYPE_EDGE_RISING); |
525 | MOD_REG_BIT(OMAP24XX_GPIO_FALLINGDETECT, gpio_bit, | 525 | MOD_REG_BIT(OMAP24XX_GPIO_FALLINGDETECT, gpio_bit, |
526 | trigger & __IRQT_FALEDGE); | 526 | trigger & IRQ_TYPE_EDGE_FALLING); |
527 | 527 | ||
528 | if (likely(!(bank->non_wakeup_gpios & gpio_bit))) { | 528 | if (likely(!(bank->non_wakeup_gpios & gpio_bit))) { |
529 | if (trigger != 0) | 529 | if (trigger != 0) |
@@ -555,9 +555,9 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) | |||
555 | case METHOD_MPUIO: | 555 | case METHOD_MPUIO: |
556 | reg += OMAP_MPUIO_GPIO_INT_EDGE; | 556 | reg += OMAP_MPUIO_GPIO_INT_EDGE; |
557 | l = __raw_readl(reg); | 557 | l = __raw_readl(reg); |
558 | if (trigger & __IRQT_RISEDGE) | 558 | if (trigger & IRQ_TYPE_EDGE_RISING) |
559 | l |= 1 << gpio; | 559 | l |= 1 << gpio; |
560 | else if (trigger & __IRQT_FALEDGE) | 560 | else if (trigger & IRQ_TYPE_EDGE_FALLING) |
561 | l &= ~(1 << gpio); | 561 | l &= ~(1 << gpio); |
562 | else | 562 | else |
563 | goto bad; | 563 | goto bad; |
@@ -567,9 +567,9 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) | |||
567 | case METHOD_GPIO_1510: | 567 | case METHOD_GPIO_1510: |
568 | reg += OMAP1510_GPIO_INT_CONTROL; | 568 | reg += OMAP1510_GPIO_INT_CONTROL; |
569 | l = __raw_readl(reg); | 569 | l = __raw_readl(reg); |
570 | if (trigger & __IRQT_RISEDGE) | 570 | if (trigger & IRQ_TYPE_EDGE_RISING) |
571 | l |= 1 << gpio; | 571 | l |= 1 << gpio; |
572 | else if (trigger & __IRQT_FALEDGE) | 572 | else if (trigger & IRQ_TYPE_EDGE_FALLING) |
573 | l &= ~(1 << gpio); | 573 | l &= ~(1 << gpio); |
574 | else | 574 | else |
575 | goto bad; | 575 | goto bad; |
@@ -584,9 +584,9 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) | |||
584 | gpio &= 0x07; | 584 | gpio &= 0x07; |
585 | l = __raw_readl(reg); | 585 | l = __raw_readl(reg); |
586 | l &= ~(3 << (gpio << 1)); | 586 | l &= ~(3 << (gpio << 1)); |
587 | if (trigger & __IRQT_RISEDGE) | 587 | if (trigger & IRQ_TYPE_EDGE_RISING) |
588 | l |= 2 << (gpio << 1); | 588 | l |= 2 << (gpio << 1); |
589 | if (trigger & __IRQT_FALEDGE) | 589 | if (trigger & IRQ_TYPE_EDGE_FALLING) |
590 | l |= 1 << (gpio << 1); | 590 | l |= 1 << (gpio << 1); |
591 | if (trigger) | 591 | if (trigger) |
592 | /* Enable wake-up during idle for dynamic tick */ | 592 | /* Enable wake-up during idle for dynamic tick */ |
@@ -599,9 +599,9 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) | |||
599 | case METHOD_GPIO_730: | 599 | case METHOD_GPIO_730: |
600 | reg += OMAP730_GPIO_INT_CONTROL; | 600 | reg += OMAP730_GPIO_INT_CONTROL; |
601 | l = __raw_readl(reg); | 601 | l = __raw_readl(reg); |
602 | if (trigger & __IRQT_RISEDGE) | 602 | if (trigger & IRQ_TYPE_EDGE_RISING) |
603 | l |= 1 << gpio; | 603 | l |= 1 << gpio; |
604 | else if (trigger & __IRQT_FALEDGE) | 604 | else if (trigger & IRQ_TYPE_EDGE_FALLING) |
605 | l &= ~(1 << gpio); | 605 | l &= ~(1 << gpio); |
606 | else | 606 | else |
607 | goto bad; | 607 | goto bad; |
@@ -887,7 +887,7 @@ static void _reset_gpio(struct gpio_bank *bank, int gpio) | |||
887 | _set_gpio_direction(bank, get_gpio_index(gpio), 1); | 887 | _set_gpio_direction(bank, get_gpio_index(gpio), 1); |
888 | _set_gpio_irqenable(bank, gpio, 0); | 888 | _set_gpio_irqenable(bank, gpio, 0); |
889 | _clear_gpio_irqstatus(bank, gpio); | 889 | _clear_gpio_irqstatus(bank, gpio); |
890 | _set_gpio_triggering(bank, get_gpio_index(gpio), IRQT_NOEDGE); | 890 | _set_gpio_triggering(bank, get_gpio_index(gpio), IRQ_TYPE_NONE); |
891 | } | 891 | } |
892 | 892 | ||
893 | /* Use disable_irq_wake() and enable_irq_wake() functions from drivers */ | 893 | /* Use disable_irq_wake() and enable_irq_wake() functions from drivers */ |
@@ -924,7 +924,7 @@ int omap_request_gpio(int gpio) | |||
924 | /* Set trigger to none. You need to enable the desired trigger with | 924 | /* Set trigger to none. You need to enable the desired trigger with |
925 | * request_irq() or set_irq_type(). | 925 | * request_irq() or set_irq_type(). |
926 | */ | 926 | */ |
927 | _set_gpio_triggering(bank, get_gpio_index(gpio), IRQT_NOEDGE); | 927 | _set_gpio_triggering(bank, get_gpio_index(gpio), IRQ_TYPE_NONE); |
928 | 928 | ||
929 | #ifdef CONFIG_ARCH_OMAP15XX | 929 | #ifdef CONFIG_ARCH_OMAP15XX |
930 | if (bank->method == METHOD_GPIO_1510) { | 930 | if (bank->method == METHOD_GPIO_1510) { |
diff --git a/arch/arm/plat-s3c24xx/Kconfig b/arch/arm/plat-s3c24xx/Kconfig index 5e28c217b8c2..0af3872fb763 100644 --- a/arch/arm/plat-s3c24xx/Kconfig +++ b/arch/arm/plat-s3c24xx/Kconfig | |||
@@ -9,7 +9,7 @@ config PLAT_S3C24XX | |||
9 | depends on ARCH_S3C2410 | 9 | depends on ARCH_S3C2410 |
10 | default y if ARCH_S3C2410 | 10 | default y if ARCH_S3C2410 |
11 | select NO_IOPORT | 11 | select NO_IOPORT |
12 | select HAVE_GPIO_LIB | 12 | select ARCH_REQUIRE_GPIOLIB |
13 | help | 13 | help |
14 | Base platform code for any Samsung S3C24XX device | 14 | Base platform code for any Samsung S3C24XX device |
15 | 15 | ||
diff --git a/arch/arm/plat-s3c24xx/dma.c b/arch/arm/plat-s3c24xx/dma.c index 60f162dc4fad..8c5e656d5d8c 100644 --- a/arch/arm/plat-s3c24xx/dma.c +++ b/arch/arm/plat-s3c24xx/dma.c | |||
@@ -1304,7 +1304,7 @@ struct sysdev_class dma_sysclass = { | |||
1304 | 1304 | ||
1305 | /* kmem cache implementation */ | 1305 | /* kmem cache implementation */ |
1306 | 1306 | ||
1307 | static void s3c2410_dma_cache_ctor(struct kmem_cache *c, void *p) | 1307 | static void s3c2410_dma_cache_ctor(void *p) |
1308 | { | 1308 | { |
1309 | memset(p, 0, sizeof(struct s3c2410_dma_buf)); | 1309 | memset(p, 0, sizeof(struct s3c2410_dma_buf)); |
1310 | } | 1310 | } |
diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c index ae2c5d7efc9d..001436c04b13 100644 --- a/arch/arm/plat-s3c24xx/irq.c +++ b/arch/arm/plat-s3c24xx/irq.c | |||
@@ -292,27 +292,27 @@ s3c_irqext_type(unsigned int irq, unsigned int type) | |||
292 | /* Set the external interrupt to pointed trigger type */ | 292 | /* Set the external interrupt to pointed trigger type */ |
293 | switch (type) | 293 | switch (type) |
294 | { | 294 | { |
295 | case IRQT_NOEDGE: | 295 | case IRQ_TYPE_NONE: |
296 | printk(KERN_WARNING "No edge setting!\n"); | 296 | printk(KERN_WARNING "No edge setting!\n"); |
297 | break; | 297 | break; |
298 | 298 | ||
299 | case IRQT_RISING: | 299 | case IRQ_TYPE_EDGE_RISING: |
300 | newvalue = S3C2410_EXTINT_RISEEDGE; | 300 | newvalue = S3C2410_EXTINT_RISEEDGE; |
301 | break; | 301 | break; |
302 | 302 | ||
303 | case IRQT_FALLING: | 303 | case IRQ_TYPE_EDGE_FALLING: |
304 | newvalue = S3C2410_EXTINT_FALLEDGE; | 304 | newvalue = S3C2410_EXTINT_FALLEDGE; |
305 | break; | 305 | break; |
306 | 306 | ||
307 | case IRQT_BOTHEDGE: | 307 | case IRQ_TYPE_EDGE_BOTH: |
308 | newvalue = S3C2410_EXTINT_BOTHEDGE; | 308 | newvalue = S3C2410_EXTINT_BOTHEDGE; |
309 | break; | 309 | break; |
310 | 310 | ||
311 | case IRQT_LOW: | 311 | case IRQ_TYPE_LEVEL_LOW: |
312 | newvalue = S3C2410_EXTINT_LOWLEV; | 312 | newvalue = S3C2410_EXTINT_LOWLEV; |
313 | break; | 313 | break; |
314 | 314 | ||
315 | case IRQT_HIGH: | 315 | case IRQ_TYPE_LEVEL_HIGH: |
316 | newvalue = S3C2410_EXTINT_HILEV; | 316 | newvalue = S3C2410_EXTINT_HILEV; |
317 | break; | 317 | break; |
318 | 318 | ||
diff --git a/arch/avr32/boards/atstk1000/Kconfig b/arch/avr32/boards/atstk1000/Kconfig index af90b00100fd..8dc48214f0b7 100644 --- a/arch/avr32/boards/atstk1000/Kconfig +++ b/arch/avr32/boards/atstk1000/Kconfig | |||
@@ -18,6 +18,10 @@ config BOARD_ATSTK1004 | |||
18 | bool "ATSTK1004" | 18 | bool "ATSTK1004" |
19 | select CPU_AT32AP7002 | 19 | select CPU_AT32AP7002 |
20 | 20 | ||
21 | config BOARD_ATSTK1006 | ||
22 | bool "ATSTK1006" | ||
23 | select CPU_AT32AP7000 | ||
24 | |||
21 | endchoice | 25 | endchoice |
22 | 26 | ||
23 | 27 | ||
diff --git a/arch/avr32/boards/atstk1000/Makefile b/arch/avr32/boards/atstk1000/Makefile index beead86462e8..edecee03742d 100644 --- a/arch/avr32/boards/atstk1000/Makefile +++ b/arch/avr32/boards/atstk1000/Makefile | |||
@@ -2,3 +2,4 @@ obj-y += setup.o flash.o | |||
2 | obj-$(CONFIG_BOARD_ATSTK1002) += atstk1002.o | 2 | obj-$(CONFIG_BOARD_ATSTK1002) += atstk1002.o |
3 | obj-$(CONFIG_BOARD_ATSTK1003) += atstk1003.o | 3 | obj-$(CONFIG_BOARD_ATSTK1003) += atstk1003.o |
4 | obj-$(CONFIG_BOARD_ATSTK1004) += atstk1004.o | 4 | obj-$(CONFIG_BOARD_ATSTK1004) += atstk1004.o |
5 | obj-$(CONFIG_BOARD_ATSTK1006) += atstk1002.o | ||
diff --git a/arch/avr32/boards/atstk1000/atstk1002.c b/arch/avr32/boards/atstk1000/atstk1002.c index e11659b732fa..8538ba75ef92 100644 --- a/arch/avr32/boards/atstk1000/atstk1002.c +++ b/arch/avr32/boards/atstk1000/atstk1002.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * ATSTK1002 daughterboard-specific init code | 2 | * ATSTK1002/ATSTK1006 daughterboard-specific init code |
3 | * | 3 | * |
4 | * Copyright (C) 2005-2006 Atmel Corporation | 4 | * Copyright (C) 2005-2007 Atmel Corporation |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License version 2 as | 7 | * it under the terms of the GNU General Public License version 2 as |
@@ -21,6 +21,8 @@ | |||
21 | 21 | ||
22 | #include <asm/io.h> | 22 | #include <asm/io.h> |
23 | #include <asm/setup.h> | 23 | #include <asm/setup.h> |
24 | #include <asm/atmel-mci.h> | ||
25 | |||
24 | #include <asm/arch/at32ap700x.h> | 26 | #include <asm/arch/at32ap700x.h> |
25 | #include <asm/arch/board.h> | 27 | #include <asm/arch/board.h> |
26 | #include <asm/arch/init.h> | 28 | #include <asm/arch/init.h> |
@@ -35,6 +37,74 @@ unsigned long at32_board_osc_rates[3] = { | |||
35 | [2] = 12000000, /* 12 MHz on osc1 */ | 37 | [2] = 12000000, /* 12 MHz on osc1 */ |
36 | }; | 38 | }; |
37 | 39 | ||
40 | /* | ||
41 | * The ATSTK1006 daughterboard is very similar to the ATSTK1002. Both | ||
42 | * have the AT32AP7000 chip on board; the difference is that the | ||
43 | * STK1006 has 128 MB SDRAM (the STK1002 uses the 8 MB SDRAM chip on | ||
44 | * the STK1000 motherboard) and 256 MB NAND flash (the STK1002 has | ||
45 | * none.) | ||
46 | * | ||
47 | * The RAM difference is handled by the boot loader, so the only | ||
48 | * difference we end up handling here is the NAND flash. | ||
49 | */ | ||
50 | #ifdef CONFIG_BOARD_ATSTK1006 | ||
51 | #include <linux/mtd/partitions.h> | ||
52 | #include <asm/arch/smc.h> | ||
53 | |||
54 | static struct smc_timing nand_timing __initdata = { | ||
55 | .ncs_read_setup = 0, | ||
56 | .nrd_setup = 10, | ||
57 | .ncs_write_setup = 0, | ||
58 | .nwe_setup = 10, | ||
59 | |||
60 | .ncs_read_pulse = 30, | ||
61 | .nrd_pulse = 15, | ||
62 | .ncs_write_pulse = 30, | ||
63 | .nwe_pulse = 15, | ||
64 | |||
65 | .read_cycle = 30, | ||
66 | .write_cycle = 30, | ||
67 | |||
68 | .ncs_read_recover = 0, | ||
69 | .nrd_recover = 15, | ||
70 | .ncs_write_recover = 0, | ||
71 | /* WE# high -> RE# low min 60 ns */ | ||
72 | .nwe_recover = 50, | ||
73 | }; | ||
74 | |||
75 | static struct smc_config nand_config __initdata = { | ||
76 | .bus_width = 1, | ||
77 | .nrd_controlled = 1, | ||
78 | .nwe_controlled = 1, | ||
79 | .nwait_mode = 0, | ||
80 | .byte_write = 0, | ||
81 | .tdf_cycles = 2, | ||
82 | .tdf_mode = 0, | ||
83 | }; | ||
84 | |||
85 | static struct mtd_partition nand_partitions[] = { | ||
86 | { | ||
87 | .name = "main", | ||
88 | .offset = 0x00000000, | ||
89 | .size = MTDPART_SIZ_FULL, | ||
90 | }, | ||
91 | }; | ||
92 | |||
93 | static struct mtd_partition *nand_part_info(int size, int *num_partitions) | ||
94 | { | ||
95 | *num_partitions = ARRAY_SIZE(nand_partitions); | ||
96 | return nand_partitions; | ||
97 | } | ||
98 | |||
99 | struct atmel_nand_data atstk1006_nand_data __initdata = { | ||
100 | .cle = 21, | ||
101 | .ale = 22, | ||
102 | .rdy_pin = GPIO_PIN_PB(30), | ||
103 | .enable_pin = GPIO_PIN_PB(29), | ||
104 | .partition_info = nand_part_info, | ||
105 | }; | ||
106 | #endif | ||
107 | |||
38 | struct eth_addr { | 108 | struct eth_addr { |
39 | u8 addr[6]; | 109 | u8 addr[6]; |
40 | }; | 110 | }; |
@@ -192,6 +262,21 @@ void __init setup_board(void) | |||
192 | at32_setup_serial_console(0); | 262 | at32_setup_serial_console(0); |
193 | } | 263 | } |
194 | 264 | ||
265 | #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM | ||
266 | |||
267 | /* MMC card detect requires MACB0 *NOT* be used */ | ||
268 | #ifdef CONFIG_BOARD_ATSTK1002_SW6_CUSTOM | ||
269 | static struct mci_platform_data __initdata mci0_data = { | ||
270 | .detect_pin = GPIO_PIN_PC(14), /* gpio30/sdcd */ | ||
271 | .wp_pin = GPIO_PIN_PC(15), /* gpio31/sdwp */ | ||
272 | }; | ||
273 | #define MCI_PDATA &mci0_data | ||
274 | #else | ||
275 | #define MCI_PDATA NULL | ||
276 | #endif /* SW6 for sd{cd,wp} routing */ | ||
277 | |||
278 | #endif /* SW2 for MMC signal routing */ | ||
279 | |||
195 | static int __init atstk1002_init(void) | 280 | static int __init atstk1002_init(void) |
196 | { | 281 | { |
197 | /* | 282 | /* |
@@ -218,6 +303,12 @@ static int __init atstk1002_init(void) | |||
218 | 303 | ||
219 | at32_add_system_devices(); | 304 | at32_add_system_devices(); |
220 | 305 | ||
306 | #ifdef CONFIG_BOARD_ATSTK1006 | ||
307 | smc_set_timing(&nand_config, &nand_timing); | ||
308 | smc_set_configuration(3, &nand_config); | ||
309 | at32_add_device_nand(0, &atstk1006_nand_data); | ||
310 | #endif | ||
311 | |||
221 | #ifdef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM | 312 | #ifdef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM |
222 | at32_add_device_usart(1); | 313 | at32_add_device_usart(1); |
223 | #else | 314 | #else |
@@ -235,7 +326,7 @@ static int __init atstk1002_init(void) | |||
235 | at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info)); | 326 | at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info)); |
236 | #endif | 327 | #endif |
237 | #ifndef CONFIG_BOARD_ATSTK1002_SW2_CUSTOM | 328 | #ifndef CONFIG_BOARD_ATSTK1002_SW2_CUSTOM |
238 | at32_add_device_mci(0, NULL); | 329 | at32_add_device_mci(0, MCI_PDATA); |
239 | #endif | 330 | #endif |
240 | #ifdef CONFIG_BOARD_ATSTK1002_SW5_CUSTOM | 331 | #ifdef CONFIG_BOARD_ATSTK1002_SW5_CUSTOM |
241 | set_hw_addr(at32_add_device_eth(1, ð_data[1])); | 332 | set_hw_addr(at32_add_device_eth(1, ð_data[1])); |
diff --git a/arch/avr32/boards/atstk1000/atstk1003.c b/arch/avr32/boards/atstk1000/atstk1003.c index ea109f435a83..591fc73b554a 100644 --- a/arch/avr32/boards/atstk1000/atstk1003.c +++ b/arch/avr32/boards/atstk1000/atstk1003.c | |||
@@ -154,7 +154,7 @@ static int __init atstk1003_init(void) | |||
154 | at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info)); | 154 | at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info)); |
155 | #endif | 155 | #endif |
156 | #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM | 156 | #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM |
157 | at32_add_device_mci(0); | 157 | at32_add_device_mci(0, NULL); |
158 | #endif | 158 | #endif |
159 | at32_add_device_usba(0, NULL); | 159 | at32_add_device_usba(0, NULL); |
160 | #ifndef CONFIG_BOARD_ATSTK100X_SW3_CUSTOM | 160 | #ifndef CONFIG_BOARD_ATSTK100X_SW3_CUSTOM |
diff --git a/arch/avr32/boards/atstk1000/atstk1004.c b/arch/avr32/boards/atstk1000/atstk1004.c index c7236df74d74..d9c5e0a21256 100644 --- a/arch/avr32/boards/atstk1000/atstk1004.c +++ b/arch/avr32/boards/atstk1000/atstk1004.c | |||
@@ -137,7 +137,7 @@ static int __init atstk1004_init(void) | |||
137 | at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info)); | 137 | at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info)); |
138 | #endif | 138 | #endif |
139 | #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM | 139 | #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM |
140 | at32_add_device_mci(0); | 140 | at32_add_device_mci(0, NULL); |
141 | #endif | 141 | #endif |
142 | at32_add_device_lcdc(0, &atstk1000_lcdc_data, | 142 | at32_add_device_lcdc(0, &atstk1000_lcdc_data, |
143 | fbmem_start, fbmem_size, 0); | 143 | fbmem_start, fbmem_size, 0); |
diff --git a/arch/avr32/kernel/time.c b/arch/avr32/kernel/time.c index abd954fb7ba0..7e7f32771ae1 100644 --- a/arch/avr32/kernel/time.c +++ b/arch/avr32/kernel/time.c | |||
@@ -43,6 +43,9 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id) | |||
43 | { | 43 | { |
44 | struct clock_event_device *evdev = dev_id; | 44 | struct clock_event_device *evdev = dev_id; |
45 | 45 | ||
46 | if (unlikely(!(intc_get_pending(0) & 1))) | ||
47 | return IRQ_NONE; | ||
48 | |||
46 | /* | 49 | /* |
47 | * Disable the interrupt until the clockevent subsystem | 50 | * Disable the interrupt until the clockevent subsystem |
48 | * reprograms it. | 51 | * reprograms it. |
@@ -55,7 +58,8 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id) | |||
55 | 58 | ||
56 | static struct irqaction timer_irqaction = { | 59 | static struct irqaction timer_irqaction = { |
57 | .handler = timer_interrupt, | 60 | .handler = timer_interrupt, |
58 | .flags = IRQF_TIMER | IRQF_DISABLED, | 61 | /* Oprofile uses the same irq as the timer, so allow it to be shared */ |
62 | .flags = IRQF_TIMER | IRQF_DISABLED | IRQF_SHARED, | ||
59 | .name = "avr32_comparator", | 63 | .name = "avr32_comparator", |
60 | }; | 64 | }; |
61 | 65 | ||
diff --git a/arch/avr32/mach-at32ap/at32ap700x.c b/arch/avr32/mach-at32ap/at32ap700x.c index 604f44f5dd16..1617048c86c5 100644 --- a/arch/avr32/mach-at32ap/at32ap700x.c +++ b/arch/avr32/mach-at32ap/at32ap700x.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | #include <linux/platform_device.h> | 13 | #include <linux/platform_device.h> |
14 | #include <linux/dma-mapping.h> | 14 | #include <linux/dma-mapping.h> |
15 | #include <linux/gpio.h> | ||
15 | #include <linux/spi/spi.h> | 16 | #include <linux/spi/spi.h> |
16 | #include <linux/usb/atmel_usba_udc.h> | 17 | #include <linux/usb/atmel_usba_udc.h> |
17 | 18 | ||
@@ -1285,7 +1286,6 @@ at32_add_device_mci(unsigned int id, struct mci_platform_data *data) | |||
1285 | { | 1286 | { |
1286 | struct mci_platform_data _data; | 1287 | struct mci_platform_data _data; |
1287 | struct platform_device *pdev; | 1288 | struct platform_device *pdev; |
1288 | struct dw_dma_slave *dws; | ||
1289 | 1289 | ||
1290 | if (id != 0) | 1290 | if (id != 0) |
1291 | return NULL; | 1291 | return NULL; |
@@ -1300,7 +1300,9 @@ at32_add_device_mci(unsigned int id, struct mci_platform_data *data) | |||
1300 | 1300 | ||
1301 | if (!data) { | 1301 | if (!data) { |
1302 | data = &_data; | 1302 | data = &_data; |
1303 | memset(data, 0, sizeof(struct mci_platform_data)); | 1303 | memset(data, -1, sizeof(struct mci_platform_data)); |
1304 | data->detect_pin = GPIO_PIN_NONE; | ||
1305 | data->wp_pin = GPIO_PIN_NONE; | ||
1304 | } | 1306 | } |
1305 | 1307 | ||
1306 | if (platform_device_add_data(pdev, data, | 1308 | if (platform_device_add_data(pdev, data, |
@@ -1314,12 +1316,10 @@ at32_add_device_mci(unsigned int id, struct mci_platform_data *data) | |||
1314 | select_peripheral(PA(14), PERIPH_A, 0); /* DATA2 */ | 1316 | select_peripheral(PA(14), PERIPH_A, 0); /* DATA2 */ |
1315 | select_peripheral(PA(15), PERIPH_A, 0); /* DATA3 */ | 1317 | select_peripheral(PA(15), PERIPH_A, 0); /* DATA3 */ |
1316 | 1318 | ||
1317 | if (data) { | 1319 | if (gpio_is_valid(data->detect_pin)) |
1318 | if (data->detect_pin != GPIO_PIN_NONE) | 1320 | at32_select_gpio(data->detect_pin, 0); |
1319 | at32_select_gpio(data->detect_pin, 0); | 1321 | if (gpio_is_valid(data->wp_pin)) |
1320 | if (data->wp_pin != GPIO_PIN_NONE) | 1322 | at32_select_gpio(data->wp_pin, 0); |
1321 | at32_select_gpio(data->wp_pin, 0); | ||
1322 | } | ||
1323 | 1323 | ||
1324 | atmel_mci0_pclk.dev = &pdev->dev; | 1324 | atmel_mci0_pclk.dev = &pdev->dev; |
1325 | 1325 | ||
@@ -1853,11 +1853,11 @@ at32_add_device_cf(unsigned int id, unsigned int extint, | |||
1853 | if (at32_init_ide_or_cf(pdev, data->cs, extint)) | 1853 | if (at32_init_ide_or_cf(pdev, data->cs, extint)) |
1854 | goto fail; | 1854 | goto fail; |
1855 | 1855 | ||
1856 | if (data->detect_pin != GPIO_PIN_NONE) | 1856 | if (gpio_is_valid(data->detect_pin)) |
1857 | at32_select_gpio(data->detect_pin, AT32_GPIOF_DEGLITCH); | 1857 | at32_select_gpio(data->detect_pin, AT32_GPIOF_DEGLITCH); |
1858 | if (data->reset_pin != GPIO_PIN_NONE) | 1858 | if (gpio_is_valid(data->reset_pin)) |
1859 | at32_select_gpio(data->reset_pin, 0); | 1859 | at32_select_gpio(data->reset_pin, 0); |
1860 | if (data->vcc_pin != GPIO_PIN_NONE) | 1860 | if (gpio_is_valid(data->vcc_pin)) |
1861 | at32_select_gpio(data->vcc_pin, 0); | 1861 | at32_select_gpio(data->vcc_pin, 0); |
1862 | /* READY is used as extint, so we can't select it as gpio */ | 1862 | /* READY is used as extint, so we can't select it as gpio */ |
1863 | 1863 | ||
@@ -1871,6 +1871,58 @@ fail: | |||
1871 | #endif | 1871 | #endif |
1872 | 1872 | ||
1873 | /* -------------------------------------------------------------------- | 1873 | /* -------------------------------------------------------------------- |
1874 | * NAND Flash / SmartMedia | ||
1875 | * -------------------------------------------------------------------- */ | ||
1876 | static struct resource smc_cs3_resource[] __initdata = { | ||
1877 | { | ||
1878 | .start = 0x0c000000, | ||
1879 | .end = 0x0fffffff, | ||
1880 | .flags = IORESOURCE_MEM, | ||
1881 | }, { | ||
1882 | .start = 0xfff03c00, | ||
1883 | .end = 0xfff03fff, | ||
1884 | .flags = IORESOURCE_MEM, | ||
1885 | }, | ||
1886 | }; | ||
1887 | |||
1888 | struct platform_device *__init | ||
1889 | at32_add_device_nand(unsigned int id, struct atmel_nand_data *data) | ||
1890 | { | ||
1891 | struct platform_device *pdev; | ||
1892 | |||
1893 | if (id != 0 || !data) | ||
1894 | return NULL; | ||
1895 | |||
1896 | pdev = platform_device_alloc("atmel_nand", id); | ||
1897 | if (!pdev) | ||
1898 | goto fail; | ||
1899 | |||
1900 | if (platform_device_add_resources(pdev, smc_cs3_resource, | ||
1901 | ARRAY_SIZE(smc_cs3_resource))) | ||
1902 | goto fail; | ||
1903 | |||
1904 | if (platform_device_add_data(pdev, data, | ||
1905 | sizeof(struct atmel_nand_data))) | ||
1906 | goto fail; | ||
1907 | |||
1908 | set_ebi_sfr_bits(HMATRIX_BIT(CS3A)); | ||
1909 | if (data->enable_pin) | ||
1910 | at32_select_gpio(data->enable_pin, | ||
1911 | AT32_GPIOF_OUTPUT | AT32_GPIOF_HIGH); | ||
1912 | if (data->rdy_pin) | ||
1913 | at32_select_gpio(data->rdy_pin, 0); | ||
1914 | if (data->det_pin) | ||
1915 | at32_select_gpio(data->det_pin, 0); | ||
1916 | |||
1917 | platform_device_add(pdev); | ||
1918 | return pdev; | ||
1919 | |||
1920 | fail: | ||
1921 | platform_device_put(pdev); | ||
1922 | return NULL; | ||
1923 | } | ||
1924 | |||
1925 | /* -------------------------------------------------------------------- | ||
1874 | * AC97C | 1926 | * AC97C |
1875 | * -------------------------------------------------------------------- */ | 1927 | * -------------------------------------------------------------------- */ |
1876 | static struct resource atmel_ac97c0_resource[] __initdata = { | 1928 | static struct resource atmel_ac97c0_resource[] __initdata = { |
@@ -1885,9 +1937,11 @@ static struct clk atmel_ac97c0_pclk = { | |||
1885 | .index = 10, | 1937 | .index = 10, |
1886 | }; | 1938 | }; |
1887 | 1939 | ||
1888 | struct platform_device *__init at32_add_device_ac97c(unsigned int id) | 1940 | struct platform_device *__init |
1941 | at32_add_device_ac97c(unsigned int id, struct ac97c_platform_data *data) | ||
1889 | { | 1942 | { |
1890 | struct platform_device *pdev; | 1943 | struct platform_device *pdev; |
1944 | struct ac97c_platform_data _data; | ||
1891 | 1945 | ||
1892 | if (id != 0) | 1946 | if (id != 0) |
1893 | return NULL; | 1947 | return NULL; |
@@ -1898,19 +1952,37 @@ struct platform_device *__init at32_add_device_ac97c(unsigned int id) | |||
1898 | 1952 | ||
1899 | if (platform_device_add_resources(pdev, atmel_ac97c0_resource, | 1953 | if (platform_device_add_resources(pdev, atmel_ac97c0_resource, |
1900 | ARRAY_SIZE(atmel_ac97c0_resource))) | 1954 | ARRAY_SIZE(atmel_ac97c0_resource))) |
1901 | goto err_add_resources; | 1955 | goto fail; |
1902 | 1956 | ||
1903 | select_peripheral(PB(20), PERIPH_B, 0); /* SYNC */ | 1957 | if (!data) { |
1904 | select_peripheral(PB(21), PERIPH_B, 0); /* SDO */ | 1958 | data = &_data; |
1905 | select_peripheral(PB(22), PERIPH_B, 0); /* SDI */ | 1959 | memset(data, 0, sizeof(struct ac97c_platform_data)); |
1906 | select_peripheral(PB(23), PERIPH_B, 0); /* SCLK */ | 1960 | data->reset_pin = GPIO_PIN_NONE; |
1961 | } | ||
1962 | |||
1963 | data->dma_rx_periph_id = 3; | ||
1964 | data->dma_tx_periph_id = 4; | ||
1965 | data->dma_controller_id = 0; | ||
1966 | |||
1967 | if (platform_device_add_data(pdev, data, | ||
1968 | sizeof(struct ac97c_platform_data))) | ||
1969 | goto fail; | ||
1970 | |||
1971 | select_peripheral(PB(20), PERIPH_B, 0); /* SDO */ | ||
1972 | select_peripheral(PB(21), PERIPH_B, 0); /* SYNC */ | ||
1973 | select_peripheral(PB(22), PERIPH_B, 0); /* SCLK */ | ||
1974 | select_peripheral(PB(23), PERIPH_B, 0); /* SDI */ | ||
1975 | |||
1976 | /* TODO: gpio_is_valid(data->reset_pin) with kernel 2.6.26. */ | ||
1977 | if (data->reset_pin != GPIO_PIN_NONE) | ||
1978 | at32_select_gpio(data->reset_pin, 0); | ||
1907 | 1979 | ||
1908 | atmel_ac97c0_pclk.dev = &pdev->dev; | 1980 | atmel_ac97c0_pclk.dev = &pdev->dev; |
1909 | 1981 | ||
1910 | platform_device_add(pdev); | 1982 | platform_device_add(pdev); |
1911 | return pdev; | 1983 | return pdev; |
1912 | 1984 | ||
1913 | err_add_resources: | 1985 | fail: |
1914 | platform_device_put(pdev); | 1986 | platform_device_put(pdev); |
1915 | return NULL; | 1987 | return NULL; |
1916 | } | 1988 | } |
diff --git a/arch/avr32/mach-at32ap/hsmc.c b/arch/avr32/mach-at32ap/hsmc.c index fa427ed42787..b2d9bc61a35c 100644 --- a/arch/avr32/mach-at32ap/hsmc.c +++ b/arch/avr32/mach-at32ap/hsmc.c | |||
@@ -278,4 +278,4 @@ static int __init hsmc_init(void) | |||
278 | { | 278 | { |
279 | return platform_driver_register(&hsmc_driver); | 279 | return platform_driver_register(&hsmc_driver); |
280 | } | 280 | } |
281 | arch_initcall(hsmc_init); | 281 | core_initcall(hsmc_init); |
diff --git a/arch/avr32/mm/init.c b/arch/avr32/mm/init.c index 3c85fdaa9487..fa92ff6d95f7 100644 --- a/arch/avr32/mm/init.c +++ b/arch/avr32/mm/init.c | |||
@@ -38,45 +38,6 @@ EXPORT_SYMBOL(empty_zero_page); | |||
38 | */ | 38 | */ |
39 | unsigned long mmu_context_cache = NO_CONTEXT; | 39 | unsigned long mmu_context_cache = NO_CONTEXT; |
40 | 40 | ||
41 | void show_mem(void) | ||
42 | { | ||
43 | int total = 0, reserved = 0, cached = 0; | ||
44 | int slab = 0, free = 0, shared = 0; | ||
45 | pg_data_t *pgdat; | ||
46 | |||
47 | printk("Mem-info:\n"); | ||
48 | show_free_areas(); | ||
49 | |||
50 | for_each_online_pgdat(pgdat) { | ||
51 | struct page *page, *end; | ||
52 | |||
53 | page = pgdat->node_mem_map; | ||
54 | end = page + pgdat->node_spanned_pages; | ||
55 | |||
56 | do { | ||
57 | total++; | ||
58 | if (PageReserved(page)) | ||
59 | reserved++; | ||
60 | else if (PageSwapCache(page)) | ||
61 | cached++; | ||
62 | else if (PageSlab(page)) | ||
63 | slab++; | ||
64 | else if (!page_count(page)) | ||
65 | free++; | ||
66 | else | ||
67 | shared += page_count(page) - 1; | ||
68 | page++; | ||
69 | } while (page < end); | ||
70 | } | ||
71 | |||
72 | printk ("%d pages of RAM\n", total); | ||
73 | printk ("%d free pages\n", free); | ||
74 | printk ("%d reserved pages\n", reserved); | ||
75 | printk ("%d slab pages\n", slab); | ||
76 | printk ("%d pages shared\n", shared); | ||
77 | printk ("%d pages swap cached\n", cached); | ||
78 | } | ||
79 | |||
80 | /* | 41 | /* |
81 | * paging_init() sets up the page tables | 42 | * paging_init() sets up the page tables |
82 | * | 43 | * |
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index b83b8ef84e91..5a097c46bc46 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig | |||
@@ -234,7 +234,7 @@ config MEM_MT48LC16M16A2TG_75 | |||
234 | bool | 234 | bool |
235 | depends on (BFIN533_EZKIT || BFIN561_EZKIT \ | 235 | depends on (BFIN533_EZKIT || BFIN561_EZKIT \ |
236 | || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \ | 236 | || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \ |
237 | || H8606_HVSISTEMAS) | 237 | || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM) |
238 | default y | 238 | default y |
239 | 239 | ||
240 | config MEM_MT48LC32M8A2_75 | 240 | config MEM_MT48LC32M8A2_75 |
@@ -310,25 +310,6 @@ config BFIN_KERNEL_CLOCK | |||
310 | are also not changed, and the Bootloader does 100% of the hardware | 310 | are also not changed, and the Bootloader does 100% of the hardware |
311 | configuration. | 311 | configuration. |
312 | 312 | ||
313 | config MEM_SIZE | ||
314 | int "SDRAM Memory Size in MBytes" | ||
315 | depends on BFIN_KERNEL_CLOCK | ||
316 | default 64 | ||
317 | |||
318 | config MEM_ADD_WIDTH | ||
319 | int "Memory Address Width" | ||
320 | depends on BFIN_KERNEL_CLOCK | ||
321 | depends on (!BF54x) | ||
322 | range 8 11 | ||
323 | default 9 if BFIN533_EZKIT | ||
324 | default 9 if BFIN561_EZKIT | ||
325 | default 9 if H8606_HVSISTEMAS | ||
326 | default 10 if BFIN527_EZKIT | ||
327 | default 10 if BFIN537_STAMP | ||
328 | default 11 if BFIN533_STAMP | ||
329 | default 10 if PNAV10 | ||
330 | default 10 if BFIN532_IP0X | ||
331 | |||
332 | config PLL_BYPASS | 313 | config PLL_BYPASS |
333 | bool "Bypass PLL" | 314 | bool "Bypass PLL" |
334 | depends on BFIN_KERNEL_CLOCK | 315 | depends on BFIN_KERNEL_CLOCK |
@@ -349,8 +330,7 @@ config VCO_MULT | |||
349 | default "45" if BFIN533_STAMP | 330 | default "45" if BFIN533_STAMP |
350 | default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM) | 331 | default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM) |
351 | default "22" if BFIN533_BLUETECHNIX_CM | 332 | default "22" if BFIN533_BLUETECHNIX_CM |
352 | default "20" if BFIN537_BLUETECHNIX_CM | 333 | default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM) |
353 | default "20" if BFIN561_BLUETECHNIX_CM | ||
354 | default "20" if BFIN561_EZKIT | 334 | default "20" if BFIN561_EZKIT |
355 | default "16" if H8606_HVSISTEMAS | 335 | default "16" if H8606_HVSISTEMAS |
356 | help | 336 | help |
@@ -390,7 +370,7 @@ config SCLK_DIV | |||
390 | 370 | ||
391 | config MAX_MEM_SIZE | 371 | config MAX_MEM_SIZE |
392 | int "Max SDRAM Memory Size in MBytes" | 372 | int "Max SDRAM Memory Size in MBytes" |
393 | depends on !BFIN_KERNEL_CLOCK && !MPU | 373 | depends on !MPU |
394 | default 512 | 374 | default 512 |
395 | help | 375 | help |
396 | This is the max memory size that the kernel will create CPLB | 376 | This is the max memory size that the kernel will create CPLB |
@@ -748,14 +728,6 @@ config BFIN_WT | |||
748 | 728 | ||
749 | endchoice | 729 | endchoice |
750 | 730 | ||
751 | config L1_MAX_PIECE | ||
752 | int "Set the max L1 SRAM pieces" | ||
753 | default 16 | ||
754 | help | ||
755 | Set the max memory pieces for the L1 SRAM allocation algorithm. | ||
756 | Min value is 16. Max value is 1024. | ||
757 | |||
758 | |||
759 | config MPU | 731 | config MPU |
760 | bool "Enable the memory protection unit (EXPERIMENTAL)" | 732 | bool "Enable the memory protection unit (EXPERIMENTAL)" |
761 | default n | 733 | default n |
@@ -899,7 +871,7 @@ config ARCH_SUSPEND_POSSIBLE | |||
899 | depends on !SMP | 871 | depends on !SMP |
900 | 872 | ||
901 | choice | 873 | choice |
902 | prompt "Default Power Saving Mode" | 874 | prompt "Standby Power Saving Mode" |
903 | depends on PM | 875 | depends on PM |
904 | default PM_BFIN_SLEEP_DEEPER | 876 | default PM_BFIN_SLEEP_DEEPER |
905 | config PM_BFIN_SLEEP_DEEPER | 877 | config PM_BFIN_SLEEP_DEEPER |
@@ -918,6 +890,8 @@ config PM_BFIN_SLEEP_DEEPER | |||
918 | normal during Sleep Deeper, due to the reduced SCLK frequency. | 890 | normal during Sleep Deeper, due to the reduced SCLK frequency. |
919 | When in the sleep mode, system DMA access to L1 memory is not supported. | 891 | When in the sleep mode, system DMA access to L1 memory is not supported. |
920 | 892 | ||
893 | If unsure, select "Sleep Deeper". | ||
894 | |||
921 | config PM_BFIN_SLEEP | 895 | config PM_BFIN_SLEEP |
922 | bool "Sleep" | 896 | bool "Sleep" |
923 | help | 897 | help |
@@ -925,15 +899,17 @@ config PM_BFIN_SLEEP | |||
925 | dissipation by disabling the clock to the processor core (CCLK). | 899 | dissipation by disabling the clock to the processor core (CCLK). |
926 | The PLL and system clock (SCLK), however, continue to operate in | 900 | The PLL and system clock (SCLK), however, continue to operate in |
927 | this mode. Typically an external event or RTC activity will wake | 901 | this mode. Typically an external event or RTC activity will wake |
928 | up the processor. When in the sleep mode, | 902 | up the processor. When in the sleep mode, system DMA access to L1 |
929 | system DMA access to L1 memory is not supported. | 903 | memory is not supported. |
904 | |||
905 | If unsure, select "Sleep Deeper". | ||
930 | endchoice | 906 | endchoice |
931 | 907 | ||
932 | config PM_WAKEUP_BY_GPIO | 908 | config PM_WAKEUP_BY_GPIO |
933 | bool "Cause Wakeup Event by GPIO" | 909 | bool "Allow Wakeup from Standby by GPIO" |
934 | 910 | ||
935 | config PM_WAKEUP_GPIO_NUMBER | 911 | config PM_WAKEUP_GPIO_NUMBER |
936 | int "Wakeup GPIO number" | 912 | int "GPIO number" |
937 | range 0 47 | 913 | range 0 47 |
938 | depends on PM_WAKEUP_BY_GPIO | 914 | depends on PM_WAKEUP_BY_GPIO |
939 | default 2 if BFIN537_STAMP | 915 | default 2 if BFIN537_STAMP |
@@ -954,6 +930,58 @@ config PM_WAKEUP_GPIO_POLAR_EDGE_B | |||
954 | bool "Both EDGE" | 930 | bool "Both EDGE" |
955 | endchoice | 931 | endchoice |
956 | 932 | ||
933 | comment "Possible Suspend Mem / Hibernate Wake-Up Sources" | ||
934 | depends on PM | ||
935 | |||
936 | config PM_BFIN_WAKE_RTC | ||
937 | bool "Allow Wake-Up from RESET and on-chip RTC" | ||
938 | depends on PM | ||
939 | default n | ||
940 | help | ||
941 | Enable RTC Wake-Up (Voltage Regulator Power-Up) | ||
942 | |||
943 | config PM_BFIN_WAKE_PH6 | ||
944 | bool "Allow Wake-Up from on-chip PHY or PH6 GP" | ||
945 | depends on PM && (BF52x || BF534 || BF536 || BF537) | ||
946 | default n | ||
947 | help | ||
948 | Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up) | ||
949 | |||
950 | config PM_BFIN_WAKE_CAN | ||
951 | bool "Allow Wake-Up from on-chip CAN0/1" | ||
952 | depends on PM && (BF54x || BF534 || BF536 || BF537) | ||
953 | default n | ||
954 | help | ||
955 | Enable CAN0/1 Wake-Up (Voltage Regulator Power-Up) | ||
956 | |||
957 | config PM_BFIN_WAKE_GP | ||
958 | bool "Allow Wake-Up from GPIOs" | ||
959 | depends on PM && BF54x | ||
960 | default n | ||
961 | help | ||
962 | Enable General-Purpose Wake-Up (Voltage Regulator Power-Up) | ||
963 | |||
964 | config PM_BFIN_WAKE_USB | ||
965 | bool "Allow Wake-Up from on-chip USB" | ||
966 | depends on PM && (BF54x || BF52x) | ||
967 | default n | ||
968 | help | ||
969 | Enable USB Wake-Up (Voltage Regulator Power-Up) | ||
970 | |||
971 | config PM_BFIN_WAKE_KEYPAD | ||
972 | bool "Allow Wake-Up from on-chip Keypad" | ||
973 | depends on PM && BF54x | ||
974 | default n | ||
975 | help | ||
976 | Enable Keypad Wake-Up (Voltage Regulator Power-Up) | ||
977 | |||
978 | config PM_BFIN_WAKE_ROTARY | ||
979 | bool "Allow Wake-Up from on-chip Rotary" | ||
980 | depends on PM && BF54x | ||
981 | default n | ||
982 | help | ||
983 | Enable Rotary Wake-Up (Voltage Regulator Power-Up) | ||
984 | |||
957 | endmenu | 985 | endmenu |
958 | 986 | ||
959 | menu "CPU Frequency scaling" | 987 | menu "CPU Frequency scaling" |
diff --git a/arch/blackfin/Kconfig.debug b/arch/blackfin/Kconfig.debug index c61bdebb9974..c468624d55f0 100644 --- a/arch/blackfin/Kconfig.debug +++ b/arch/blackfin/Kconfig.debug | |||
@@ -154,13 +154,6 @@ config EARLY_PRINTK | |||
154 | all of this lives in the init section and is thrown away after the | 154 | all of this lives in the init section and is thrown away after the |
155 | kernel boots completely. | 155 | kernel boots completely. |
156 | 156 | ||
157 | config DUAL_CORE_TEST_MODULE | ||
158 | tristate "Dual Core Test Module" | ||
159 | depends on (BF561) | ||
160 | default n | ||
161 | help | ||
162 | Say Y here to build-in dual core test module for dual core test. | ||
163 | |||
164 | config CPLB_INFO | 157 | config CPLB_INFO |
165 | bool "Display the CPLB information" | 158 | bool "Display the CPLB information" |
166 | help | 159 | help |
diff --git a/arch/blackfin/Makefile b/arch/blackfin/Makefile index 3cbe16caad4b..9564731ad3a8 100644 --- a/arch/blackfin/Makefile +++ b/arch/blackfin/Makefile | |||
@@ -6,8 +6,9 @@ | |||
6 | # for more details. | 6 | # for more details. |
7 | # | 7 | # |
8 | 8 | ||
9 | 9 | ifeq ($(CROSS_COMPILE),) | |
10 | CROSS_COMPILE ?= bfin-uclinux- | 10 | CROSS_COMPILE := bfin-uclinux- |
11 | endif | ||
11 | LDFLAGS_vmlinux := -X | 12 | LDFLAGS_vmlinux := -X |
12 | OBJCOPYFLAGS := -O binary -R .note -R .comment -S | 13 | OBJCOPYFLAGS := -O binary -R .note -R .comment -S |
13 | GZFLAGS := -9 | 14 | GZFLAGS := -9 |
diff --git a/arch/blackfin/configs/BF527-EZKIT_defconfig b/arch/blackfin/configs/BF527-EZKIT_defconfig index 5e6fb9d8e50f..66854a83c0de 100644 --- a/arch/blackfin/configs/BF527-EZKIT_defconfig +++ b/arch/blackfin/configs/BF527-EZKIT_defconfig | |||
@@ -1,7 +1,6 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.24.7 | 3 | # Linux kernel version: 2.6.24.7 |
4 | # Fri May 16 10:02:29 2008 | ||
5 | # | 4 | # |
6 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
7 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
@@ -290,7 +289,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
290 | # CONFIG_RESOURCES_64BIT is not set | 289 | # CONFIG_RESOURCES_64BIT is not set |
291 | CONFIG_ZONE_DMA_FLAG=1 | 290 | CONFIG_ZONE_DMA_FLAG=1 |
292 | CONFIG_VIRT_TO_BUS=y | 291 | CONFIG_VIRT_TO_BUS=y |
293 | # CONFIG_BFIN_GPTIMERS is not set | 292 | CONFIG_BFIN_GPTIMERS=y |
294 | CONFIG_BFIN_DMA_5XX=y | 293 | CONFIG_BFIN_DMA_5XX=y |
295 | # CONFIG_DMA_UNCACHED_4M is not set | 294 | # CONFIG_DMA_UNCACHED_4M is not set |
296 | # CONFIG_DMA_UNCACHED_2M is not set | 295 | # CONFIG_DMA_UNCACHED_2M is not set |
@@ -430,7 +429,58 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
430 | # | 429 | # |
431 | # CONFIG_NET_PKTGEN is not set | 430 | # CONFIG_NET_PKTGEN is not set |
432 | # CONFIG_HAMRADIO is not set | 431 | # CONFIG_HAMRADIO is not set |
433 | # CONFIG_IRDA is not set | 432 | CONFIG_IRDA=m |
433 | |||
434 | # | ||
435 | # IrDA protocols | ||
436 | # | ||
437 | CONFIG_IRLAN=m | ||
438 | CONFIG_IRCOMM=m | ||
439 | # CONFIG_IRDA_ULTRA is not set | ||
440 | |||
441 | # | ||
442 | # IrDA options | ||
443 | # | ||
444 | # CONFIG_IRDA_CACHE_LAST_LSAP is not set | ||
445 | # CONFIG_IRDA_FAST_RR is not set | ||
446 | # CONFIG_IRDA_DEBUG is not set | ||
447 | |||
448 | # | ||
449 | # Infrared-port device drivers | ||
450 | # | ||
451 | |||
452 | # | ||
453 | # SIR device drivers | ||
454 | # | ||
455 | CONFIG_IRTTY_SIR=m | ||
456 | CONFIG_BFIN_SIR=m | ||
457 | CONFIG_BFIN_SIR0=y | ||
458 | CONFIG_SIR_BFIN_DMA=y | ||
459 | # CONFIG_SIR_BFIN_PIO is not set | ||
460 | |||
461 | # | ||
462 | # Dongle support | ||
463 | # | ||
464 | # CONFIG_DONGLE is not set | ||
465 | # CONFIG_KINGSUN_DONGLE is not set | ||
466 | # CONFIG_KSDAZZLE_DONGLE is not set | ||
467 | # CONFIG_KS959_DONGLE is not set | ||
468 | |||
469 | # | ||
470 | # Old SIR device drivers | ||
471 | # | ||
472 | # CONFIG_IRPORT_SIR is not set | ||
473 | |||
474 | # | ||
475 | # Old Serial dongle support | ||
476 | # | ||
477 | |||
478 | # | ||
479 | # FIR device drivers | ||
480 | # | ||
481 | # CONFIG_USB_IRDA is not set | ||
482 | # CONFIG_SIGMATEL_FIR is not set | ||
483 | # CONFIG_MCS_FIR is not set | ||
434 | # CONFIG_BT is not set | 484 | # CONFIG_BT is not set |
435 | # CONFIG_AF_RXRPC is not set | 485 | # CONFIG_AF_RXRPC is not set |
436 | 486 | ||
@@ -689,8 +739,11 @@ CONFIG_BFIN_OTP=y | |||
689 | # CONFIG_BFIN_SPORT is not set | 739 | # CONFIG_BFIN_SPORT is not set |
690 | # CONFIG_BFIN_TIMER_LATENCY is not set | 740 | # CONFIG_BFIN_TIMER_LATENCY is not set |
691 | # CONFIG_TWI_LCD is not set | 741 | # CONFIG_TWI_LCD is not set |
692 | # CONFIG_SIMPLE_GPIO is not set | 742 | CONFIG_SIMPLE_GPIO=m |
693 | # CONFIG_VT is not set | 743 | CONFIG_VT=y |
744 | CONFIG_VT_CONSOLE=y | ||
745 | CONFIG_HW_CONSOLE=y | ||
746 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
694 | # CONFIG_SERIAL_NONSTANDARD is not set | 747 | # CONFIG_SERIAL_NONSTANDARD is not set |
695 | 748 | ||
696 | # | 749 | # |
@@ -872,8 +925,36 @@ CONFIG_SSB_POSSIBLE=y | |||
872 | # | 925 | # |
873 | # CONFIG_VGASTATE is not set | 926 | # CONFIG_VGASTATE is not set |
874 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 927 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
875 | # CONFIG_FB is not set | 928 | CONFIG_FB=y |
876 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 929 | # CONFIG_FIRMWARE_EDID is not set |
930 | # CONFIG_FB_DDC is not set | ||
931 | CONFIG_FB_CFB_FILLRECT=y | ||
932 | CONFIG_FB_CFB_COPYAREA=y | ||
933 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
934 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
935 | # CONFIG_FB_SYS_FILLRECT is not set | ||
936 | # CONFIG_FB_SYS_COPYAREA is not set | ||
937 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
938 | # CONFIG_FB_SYS_FOPS is not set | ||
939 | CONFIG_FB_DEFERRED_IO=y | ||
940 | # CONFIG_FB_SVGALIB is not set | ||
941 | # CONFIG_FB_MACMODES is not set | ||
942 | # CONFIG_FB_BACKLIGHT is not set | ||
943 | # CONFIG_FB_MODE_HELPERS is not set | ||
944 | # CONFIG_FB_TILEBLITTING is not set | ||
945 | |||
946 | # | ||
947 | # Frame buffer hardware drivers | ||
948 | # | ||
949 | CONFIG_FB_BFIN_T350MCQB=y | ||
950 | # CONFIG_FB_BFIN_7393 is not set | ||
951 | # CONFIG_FB_S1D13XXX is not set | ||
952 | # CONFIG_FB_VIRTUAL is not set | ||
953 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
954 | CONFIG_LCD_CLASS_DEVICE=m | ||
955 | CONFIG_LCD_LTV350QV=m | ||
956 | CONFIG_BACKLIGHT_CLASS_DEVICE=m | ||
957 | # CONFIG_BACKLIGHT_CORGI is not set | ||
877 | 958 | ||
878 | # | 959 | # |
879 | # Display device support | 960 | # Display device support |
@@ -881,9 +962,99 @@ CONFIG_SSB_POSSIBLE=y | |||
881 | # CONFIG_DISPLAY_SUPPORT is not set | 962 | # CONFIG_DISPLAY_SUPPORT is not set |
882 | 963 | ||
883 | # | 964 | # |
965 | # Console display driver support | ||
966 | # | ||
967 | CONFIG_DUMMY_CONSOLE=y | ||
968 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
969 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
970 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
971 | # CONFIG_FONTS is not set | ||
972 | CONFIG_FONT_8x8=y | ||
973 | CONFIG_FONT_8x16=y | ||
974 | CONFIG_LOGO=y | ||
975 | # CONFIG_LOGO_LINUX_MONO is not set | ||
976 | # CONFIG_LOGO_LINUX_VGA16 is not set | ||
977 | # CONFIG_LOGO_LINUX_CLUT224 is not set | ||
978 | # CONFIG_LOGO_BLACKFIN_VGA16 is not set | ||
979 | CONFIG_LOGO_BLACKFIN_CLUT224=y | ||
980 | |||
981 | # | ||
884 | # Sound | 982 | # Sound |
885 | # | 983 | # |
886 | # CONFIG_SOUND is not set | 984 | CONFIG_SOUND=m |
985 | |||
986 | # | ||
987 | # Advanced Linux Sound Architecture | ||
988 | # | ||
989 | CONFIG_SND=m | ||
990 | CONFIG_SND_TIMER=m | ||
991 | CONFIG_SND_PCM=m | ||
992 | # CONFIG_SND_SEQUENCER is not set | ||
993 | # CONFIG_SND_MIXER_OSS is not set | ||
994 | # CONFIG_SND_PCM_OSS is not set | ||
995 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
996 | CONFIG_SND_SUPPORT_OLD_API=y | ||
997 | CONFIG_SND_VERBOSE_PROCFS=y | ||
998 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
999 | # CONFIG_SND_DEBUG is not set | ||
1000 | |||
1001 | # | ||
1002 | # Generic devices | ||
1003 | # | ||
1004 | # CONFIG_SND_DUMMY is not set | ||
1005 | # CONFIG_SND_MTPAV is not set | ||
1006 | # CONFIG_SND_SERIAL_U16550 is not set | ||
1007 | # CONFIG_SND_MPU401 is not set | ||
1008 | |||
1009 | # | ||
1010 | # SPI devices | ||
1011 | # | ||
1012 | |||
1013 | # | ||
1014 | # ALSA Blackfin devices | ||
1015 | # | ||
1016 | # CONFIG_SND_BLACKFIN_AD1836 is not set | ||
1017 | # CONFIG_SND_BLACKFIN_AD1836_TDM is not set | ||
1018 | # CONFIG_SND_BLACKFIN_AD1836_I2S is not set | ||
1019 | # CONFIG_SND_BLACKFIN_AD1836_MULSUB is not set | ||
1020 | # CONFIG_SND_BLACKFIN_AD1836_5P1 is not set | ||
1021 | # CONFIG_SND_BFIN_AD73311 is not set | ||
1022 | # CONFIG_SND_BFIN_AD73322 is not set | ||
1023 | |||
1024 | # | ||
1025 | # USB devices | ||
1026 | # | ||
1027 | # CONFIG_SND_USB_AUDIO is not set | ||
1028 | # CONFIG_SND_USB_CAIAQ is not set | ||
1029 | |||
1030 | # | ||
1031 | # System on Chip audio support | ||
1032 | # | ||
1033 | CONFIG_SND_SOC_AC97_BUS=y | ||
1034 | CONFIG_SND_SOC=m | ||
1035 | CONFIG_SND_BF5XX_SOC=m | ||
1036 | CONFIG_SND_MMAP_SUPPORT=y | ||
1037 | CONFIG_SND_BF5XX_SOC_I2S=m | ||
1038 | CONFIG_SND_BF5XX_SOC_AC97=m | ||
1039 | # CONFIG_SND_BF5XX_SOC_WM8750 is not set | ||
1040 | # CONFIG_SND_BF5XX_SOC_WM8731 is not set | ||
1041 | CONFIG_SND_BF5XX_SOC_SSM2602=m | ||
1042 | CONFIG_SND_BF5XX_SOC_BF5xx=m | ||
1043 | CONFIG_SND_BF5XX_SPORT_NUM=0 | ||
1044 | # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set | ||
1045 | |||
1046 | # | ||
1047 | # SoC Audio support for SuperH | ||
1048 | # | ||
1049 | CONFIG_SND_SOC_SSM2602=m | ||
1050 | # CONFIG_SND_SOC_SSM2602_SPI is not set | ||
1051 | CONFIG_SND_SOC_AD1980=m | ||
1052 | |||
1053 | # | ||
1054 | # Open Sound System | ||
1055 | # | ||
1056 | # CONFIG_SOUND_PRIME is not set | ||
1057 | CONFIG_AC97_BUS=m | ||
887 | CONFIG_HID_SUPPORT=y | 1058 | CONFIG_HID_SUPPORT=y |
888 | CONFIG_HID=y | 1059 | CONFIG_HID=y |
889 | # CONFIG_HID_DEBUG is not set | 1060 | # CONFIG_HID_DEBUG is not set |
diff --git a/arch/blackfin/configs/BF533-EZKIT_defconfig b/arch/blackfin/configs/BF533-EZKIT_defconfig index 8d817ba01945..6bc11db12690 100644 --- a/arch/blackfin/configs/BF533-EZKIT_defconfig +++ b/arch/blackfin/configs/BF533-EZKIT_defconfig | |||
@@ -1,6 +1,6 @@ | |||
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.16 | 3 | # Linux kernel version: 2.6.24.7 |
4 | # | 4 | # |
5 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
6 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
@@ -13,35 +13,34 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=y | 13 | CONFIG_GENERIC_HWEIGHT=y |
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_TIME=y | ||
17 | CONFIG_GENERIC_GPIO=y | 16 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 17 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 18 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
21 | 20 | ||
22 | # | 21 | # |
23 | # Code maturity level options | 22 | # General setup |
24 | # | 23 | # |
25 | CONFIG_EXPERIMENTAL=y | 24 | CONFIG_EXPERIMENTAL=y |
26 | CONFIG_BROKEN_ON_SMP=y | 25 | CONFIG_BROKEN_ON_SMP=y |
27 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 26 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
28 | |||
29 | # | ||
30 | # General setup | ||
31 | # | ||
32 | CONFIG_LOCALVERSION="" | 27 | CONFIG_LOCALVERSION="" |
33 | CONFIG_LOCALVERSION_AUTO=y | 28 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_SYSVIPC=y | 29 | CONFIG_SYSVIPC=y |
35 | # CONFIG_IPC_NS is not set | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | 30 | CONFIG_SYSVIPC_SYSCTL=y |
37 | # CONFIG_POSIX_MQUEUE is not set | 31 | # CONFIG_POSIX_MQUEUE is not set |
38 | # CONFIG_BSD_PROCESS_ACCT is not set | 32 | # CONFIG_BSD_PROCESS_ACCT is not set |
39 | # CONFIG_TASKSTATS is not set | 33 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_UTS_NS is not set | 34 | # CONFIG_USER_NS is not set |
35 | # CONFIG_PID_NS is not set | ||
41 | # CONFIG_AUDIT is not set | 36 | # CONFIG_AUDIT is not set |
42 | CONFIG_IKCONFIG=y | 37 | CONFIG_IKCONFIG=y |
43 | CONFIG_IKCONFIG_PROC=y | 38 | CONFIG_IKCONFIG_PROC=y |
44 | CONFIG_LOG_BUF_SHIFT=14 | 39 | CONFIG_LOG_BUF_SHIFT=14 |
40 | # CONFIG_CGROUPS is not set | ||
41 | CONFIG_FAIR_GROUP_SCHED=y | ||
42 | CONFIG_FAIR_USER_SCHED=y | ||
43 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
45 | CONFIG_SYSFS_DEPRECATED=y | 44 | CONFIG_SYSFS_DEPRECATED=y |
46 | # CONFIG_RELAY is not set | 45 | # CONFIG_RELAY is not set |
47 | CONFIG_BLK_DEV_INITRD=y | 46 | CONFIG_BLK_DEV_INITRD=y |
@@ -64,32 +63,24 @@ CONFIG_EPOLL=y | |||
64 | CONFIG_SIGNALFD=y | 63 | CONFIG_SIGNALFD=y |
65 | CONFIG_EVENTFD=y | 64 | CONFIG_EVENTFD=y |
66 | CONFIG_VM_EVENT_COUNTERS=y | 65 | CONFIG_VM_EVENT_COUNTERS=y |
67 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
68 | # CONFIG_NP2 is not set | ||
69 | CONFIG_SLAB=y | 66 | CONFIG_SLAB=y |
70 | # CONFIG_SLUB is not set | 67 | # CONFIG_SLUB is not set |
71 | # CONFIG_SLOB is not set | 68 | # CONFIG_SLOB is not set |
69 | CONFIG_SLABINFO=y | ||
72 | CONFIG_RT_MUTEXES=y | 70 | CONFIG_RT_MUTEXES=y |
73 | CONFIG_TINY_SHMEM=y | 71 | CONFIG_TINY_SHMEM=y |
74 | CONFIG_BASE_SMALL=0 | 72 | CONFIG_BASE_SMALL=0 |
75 | |||
76 | # | ||
77 | # Loadable module support | ||
78 | # | ||
79 | CONFIG_MODULES=y | 73 | CONFIG_MODULES=y |
80 | CONFIG_MODULE_UNLOAD=y | 74 | CONFIG_MODULE_UNLOAD=y |
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 75 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 76 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 77 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | 78 | CONFIG_KMOD=y |
85 | |||
86 | # | ||
87 | # Block layer | ||
88 | # | ||
89 | CONFIG_BLOCK=y | 79 | CONFIG_BLOCK=y |
90 | # CONFIG_LBD is not set | 80 | # CONFIG_LBD is not set |
91 | # CONFIG_BLK_DEV_IO_TRACE is not set | 81 | # CONFIG_BLK_DEV_IO_TRACE is not set |
92 | # CONFIG_LSF is not set | 82 | # CONFIG_LSF is not set |
83 | # CONFIG_BLK_DEV_BSG is not set | ||
93 | 84 | ||
94 | # | 85 | # |
95 | # IO Schedulers | 86 | # IO Schedulers |
@@ -141,12 +132,12 @@ CONFIG_BF_REV_0_3=y | |||
141 | # CONFIG_BF_REV_ANY is not set | 132 | # CONFIG_BF_REV_ANY is not set |
142 | # CONFIG_BF_REV_NONE is not set | 133 | # CONFIG_BF_REV_NONE is not set |
143 | CONFIG_BF53x=y | 134 | CONFIG_BF53x=y |
144 | CONFIG_BFIN_SINGLE_CORE=y | ||
145 | CONFIG_MEM_MT48LC16M16A2TG_75=y | 135 | CONFIG_MEM_MT48LC16M16A2TG_75=y |
146 | CONFIG_BFIN533_EZKIT=y | 136 | CONFIG_BFIN533_EZKIT=y |
147 | # CONFIG_BFIN533_STAMP is not set | 137 | # CONFIG_BFIN533_STAMP is not set |
148 | # CONFIG_BFIN533_BLUETECHNIX_CM is not set | 138 | # CONFIG_BFIN533_BLUETECHNIX_CM is not set |
149 | # CONFIG_H8606_HVSISTEMAS is not set | 139 | # CONFIG_H8606_HVSISTEMAS is not set |
140 | # CONFIG_BFIN532_IP0X is not set | ||
150 | # CONFIG_GENERIC_BF533_BOARD is not set | 141 | # CONFIG_GENERIC_BF533_BOARD is not set |
151 | 142 | ||
152 | # | 143 | # |
@@ -189,12 +180,14 @@ CONFIG_WDTIMER=13 | |||
189 | # Board customizations | 180 | # Board customizations |
190 | # | 181 | # |
191 | # CONFIG_CMDLINE_BOOL is not set | 182 | # CONFIG_CMDLINE_BOOL is not set |
183 | CONFIG_BOOT_LOAD=0x1000 | ||
192 | 184 | ||
193 | # | 185 | # |
194 | # Clock/PLL Setup | 186 | # Clock/PLL Setup |
195 | # | 187 | # |
196 | CONFIG_CLKIN_HZ=27000000 | 188 | CONFIG_CLKIN_HZ=27000000 |
197 | # CONFIG_BFIN_KERNEL_CLOCK is not set | 189 | # CONFIG_BFIN_KERNEL_CLOCK is not set |
190 | CONFIG_MAX_MEM_SIZE=512 | ||
198 | CONFIG_MAX_VCO_HZ=750000000 | 191 | CONFIG_MAX_VCO_HZ=750000000 |
199 | CONFIG_MIN_VCO_HZ=50000000 | 192 | CONFIG_MIN_VCO_HZ=50000000 |
200 | CONFIG_MAX_SCLK_HZ=133333333 | 193 | CONFIG_MAX_SCLK_HZ=133333333 |
@@ -208,13 +201,17 @@ CONFIG_HZ_250=y | |||
208 | # CONFIG_HZ_300 is not set | 201 | # CONFIG_HZ_300 is not set |
209 | # CONFIG_HZ_1000 is not set | 202 | # CONFIG_HZ_1000 is not set |
210 | CONFIG_HZ=250 | 203 | CONFIG_HZ=250 |
204 | CONFIG_GENERIC_TIME=y | ||
205 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
206 | # CONFIG_CYCLES_CLOCKSOURCE is not set | ||
207 | CONFIG_TICK_ONESHOT=y | ||
208 | # CONFIG_NO_HZ is not set | ||
209 | CONFIG_HIGH_RES_TIMERS=y | ||
210 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
211 | 211 | ||
212 | # | 212 | # |
213 | # Memory Setup | 213 | # Misc |
214 | # | 214 | # |
215 | CONFIG_MAX_MEM_SIZE=512 | ||
216 | CONFIG_MEM_ADD_WIDTH=9 | ||
217 | CONFIG_BOOT_LOAD=0x1000 | ||
218 | CONFIG_BFIN_SCRATCH_REG_RETN=y | 215 | CONFIG_BFIN_SCRATCH_REG_RETN=y |
219 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | 216 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set |
220 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | 217 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set |
@@ -250,12 +247,14 @@ CONFIG_FLATMEM_MANUAL=y | |||
250 | CONFIG_FLATMEM=y | 247 | CONFIG_FLATMEM=y |
251 | CONFIG_FLAT_NODE_MEM_MAP=y | 248 | CONFIG_FLAT_NODE_MEM_MAP=y |
252 | # CONFIG_SPARSEMEM_STATIC is not set | 249 | # CONFIG_SPARSEMEM_STATIC is not set |
250 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
253 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 251 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
254 | # CONFIG_RESOURCES_64BIT is not set | 252 | # CONFIG_RESOURCES_64BIT is not set |
255 | CONFIG_ZONE_DMA_FLAG=1 | 253 | CONFIG_ZONE_DMA_FLAG=1 |
256 | CONFIG_LARGE_ALLOCS=y | 254 | CONFIG_VIRT_TO_BUS=y |
257 | # CONFIG_BFIN_GPTIMERS is not set | 255 | # CONFIG_BFIN_GPTIMERS is not set |
258 | CONFIG_BFIN_DMA_5XX=y | 256 | CONFIG_BFIN_DMA_5XX=y |
257 | # CONFIG_DMA_UNCACHED_4M is not set | ||
259 | # CONFIG_DMA_UNCACHED_2M is not set | 258 | # CONFIG_DMA_UNCACHED_2M is not set |
260 | CONFIG_DMA_UNCACHED_1M=y | 259 | CONFIG_DMA_UNCACHED_1M=y |
261 | # CONFIG_DMA_UNCACHED_NONE is not set | 260 | # CONFIG_DMA_UNCACHED_NONE is not set |
@@ -293,17 +292,13 @@ CONFIG_C_AMBEN_ALL=y | |||
293 | CONFIG_BANK_0=0x7BB0 | 292 | CONFIG_BANK_0=0x7BB0 |
294 | CONFIG_BANK_1=0x7BB0 | 293 | CONFIG_BANK_1=0x7BB0 |
295 | CONFIG_BANK_2=0x7BB0 | 294 | CONFIG_BANK_2=0x7BB0 |
296 | CONFIG_BANK_3=0xAAC3 | 295 | CONFIG_BANK_3=0xAAC2 |
297 | 296 | ||
298 | # | 297 | # |
299 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | 298 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) |
300 | # | 299 | # |
301 | # CONFIG_PCI is not set | 300 | # CONFIG_PCI is not set |
302 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 301 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
303 | |||
304 | # | ||
305 | # PCCARD (PCMCIA/CardBus) support | ||
306 | # | ||
307 | # CONFIG_PCCARD is not set | 302 | # CONFIG_PCCARD is not set |
308 | 303 | ||
309 | # | 304 | # |
@@ -321,7 +316,9 @@ CONFIG_BINFMT_ZFLAT=y | |||
321 | CONFIG_PM=y | 316 | CONFIG_PM=y |
322 | # CONFIG_PM_LEGACY is not set | 317 | # CONFIG_PM_LEGACY is not set |
323 | # CONFIG_PM_DEBUG is not set | 318 | # CONFIG_PM_DEBUG is not set |
324 | # CONFIG_PM_SYSFS_DEPRECATED is not set | 319 | CONFIG_PM_SLEEP=y |
320 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
321 | CONFIG_SUSPEND=y | ||
325 | CONFIG_PM_BFIN_SLEEP_DEEPER=y | 322 | CONFIG_PM_BFIN_SLEEP_DEEPER=y |
326 | # CONFIG_PM_BFIN_SLEEP is not set | 323 | # CONFIG_PM_BFIN_SLEEP is not set |
327 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | 324 | # CONFIG_PM_WAKEUP_BY_GPIO is not set |
@@ -367,6 +364,7 @@ CONFIG_SYN_COOKIES=y | |||
367 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 364 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
368 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 365 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
369 | CONFIG_INET_XFRM_MODE_BEET=y | 366 | CONFIG_INET_XFRM_MODE_BEET=y |
367 | # CONFIG_INET_LRO is not set | ||
370 | CONFIG_INET_DIAG=y | 368 | CONFIG_INET_DIAG=y |
371 | CONFIG_INET_TCP_DIAG=y | 369 | CONFIG_INET_TCP_DIAG=y |
372 | # CONFIG_TCP_CONG_ADVANCED is not set | 370 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -393,10 +391,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
393 | # CONFIG_LAPB is not set | 391 | # CONFIG_LAPB is not set |
394 | # CONFIG_ECONET is not set | 392 | # CONFIG_ECONET is not set |
395 | # CONFIG_WAN_ROUTER is not set | 393 | # CONFIG_WAN_ROUTER is not set |
396 | |||
397 | # | ||
398 | # QoS and/or fair queueing | ||
399 | # | ||
400 | # CONFIG_NET_SCHED is not set | 394 | # CONFIG_NET_SCHED is not set |
401 | 395 | ||
402 | # | 396 | # |
@@ -428,6 +422,7 @@ CONFIG_IRDA_CACHE_LAST_LSAP=y | |||
428 | # SIR device drivers | 422 | # SIR device drivers |
429 | # | 423 | # |
430 | CONFIG_IRTTY_SIR=m | 424 | CONFIG_IRTTY_SIR=m |
425 | # CONFIG_BFIN_SIR is not set | ||
431 | 426 | ||
432 | # | 427 | # |
433 | # Dongle support | 428 | # Dongle support |
@@ -457,6 +452,7 @@ CONFIG_IRTTY_SIR=m | |||
457 | # CONFIG_MAC80211 is not set | 452 | # CONFIG_MAC80211 is not set |
458 | # CONFIG_IEEE80211 is not set | 453 | # CONFIG_IEEE80211 is not set |
459 | # CONFIG_RFKILL is not set | 454 | # CONFIG_RFKILL is not set |
455 | # CONFIG_NET_9P is not set | ||
460 | 456 | ||
461 | # | 457 | # |
462 | # Device Drivers | 458 | # Device Drivers |
@@ -465,14 +461,11 @@ CONFIG_IRTTY_SIR=m | |||
465 | # | 461 | # |
466 | # Generic Driver Options | 462 | # Generic Driver Options |
467 | # | 463 | # |
464 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
468 | CONFIG_STANDALONE=y | 465 | CONFIG_STANDALONE=y |
469 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 466 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
470 | # CONFIG_FW_LOADER is not set | 467 | # CONFIG_FW_LOADER is not set |
471 | # CONFIG_SYS_HYPERVISOR is not set | 468 | # CONFIG_SYS_HYPERVISOR is not set |
472 | |||
473 | # | ||
474 | # Connector - unified userspace <-> kernelspace linker | ||
475 | # | ||
476 | # CONFIG_CONNECTOR is not set | 469 | # CONFIG_CONNECTOR is not set |
477 | CONFIG_MTD=y | 470 | CONFIG_MTD=y |
478 | # CONFIG_MTD_DEBUG is not set | 471 | # CONFIG_MTD_DEBUG is not set |
@@ -492,6 +485,7 @@ CONFIG_MTD_BLOCK=y | |||
492 | # CONFIG_INFTL is not set | 485 | # CONFIG_INFTL is not set |
493 | # CONFIG_RFD_FTL is not set | 486 | # CONFIG_RFD_FTL is not set |
494 | # CONFIG_SSFDC is not set | 487 | # CONFIG_SSFDC is not set |
488 | # CONFIG_MTD_OOPS is not set | ||
495 | 489 | ||
496 | # | 490 | # |
497 | # RAM/ROM/Flash chip drivers | 491 | # RAM/ROM/Flash chip drivers |
@@ -548,20 +542,8 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y | |||
548 | # UBI - Unsorted block images | 542 | # UBI - Unsorted block images |
549 | # | 543 | # |
550 | # CONFIG_MTD_UBI is not set | 544 | # CONFIG_MTD_UBI is not set |
551 | |||
552 | # | ||
553 | # Parallel port support | ||
554 | # | ||
555 | # CONFIG_PARPORT is not set | 545 | # CONFIG_PARPORT is not set |
556 | 546 | CONFIG_BLK_DEV=y | |
557 | # | ||
558 | # Plug and Play support | ||
559 | # | ||
560 | # CONFIG_PNPACPI is not set | ||
561 | |||
562 | # | ||
563 | # Block devices | ||
564 | # | ||
565 | # CONFIG_BLK_DEV_COW_COMMON is not set | 547 | # CONFIG_BLK_DEV_COW_COMMON is not set |
566 | # CONFIG_BLK_DEV_LOOP is not set | 548 | # CONFIG_BLK_DEV_LOOP is not set |
567 | # CONFIG_BLK_DEV_NBD is not set | 549 | # CONFIG_BLK_DEV_NBD is not set |
@@ -571,10 +553,8 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
571 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | 553 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 |
572 | # CONFIG_CDROM_PKTCDVD is not set | 554 | # CONFIG_CDROM_PKTCDVD is not set |
573 | # CONFIG_ATA_OVER_ETH is not set | 555 | # CONFIG_ATA_OVER_ETH is not set |
574 | 556 | CONFIG_MISC_DEVICES=y | |
575 | # | 557 | # CONFIG_EEPROM_93CX6 is not set |
576 | # Misc devices | ||
577 | # | ||
578 | # CONFIG_IDE is not set | 558 | # CONFIG_IDE is not set |
579 | 559 | ||
580 | # | 560 | # |
@@ -582,32 +562,29 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | |||
582 | # | 562 | # |
583 | # CONFIG_RAID_ATTRS is not set | 563 | # CONFIG_RAID_ATTRS is not set |
584 | # CONFIG_SCSI is not set | 564 | # CONFIG_SCSI is not set |
565 | # CONFIG_SCSI_DMA is not set | ||
585 | # CONFIG_SCSI_NETLINK is not set | 566 | # CONFIG_SCSI_NETLINK is not set |
586 | # CONFIG_ATA is not set | 567 | # CONFIG_ATA is not set |
587 | |||
588 | # | ||
589 | # Multi-device support (RAID and LVM) | ||
590 | # | ||
591 | # CONFIG_MD is not set | 568 | # CONFIG_MD is not set |
592 | |||
593 | # | ||
594 | # Network device support | ||
595 | # | ||
596 | CONFIG_NETDEVICES=y | 569 | CONFIG_NETDEVICES=y |
570 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
597 | # CONFIG_DUMMY is not set | 571 | # CONFIG_DUMMY is not set |
598 | # CONFIG_BONDING is not set | 572 | # CONFIG_BONDING is not set |
573 | # CONFIG_MACVLAN is not set | ||
599 | # CONFIG_EQUALIZER is not set | 574 | # CONFIG_EQUALIZER is not set |
600 | # CONFIG_TUN is not set | 575 | # CONFIG_TUN is not set |
576 | # CONFIG_VETH is not set | ||
601 | # CONFIG_PHYLIB is not set | 577 | # CONFIG_PHYLIB is not set |
602 | |||
603 | # | ||
604 | # Ethernet (10 or 100Mbit) | ||
605 | # | ||
606 | CONFIG_NET_ETHERNET=y | 578 | CONFIG_NET_ETHERNET=y |
607 | CONFIG_MII=y | 579 | CONFIG_MII=y |
608 | CONFIG_SMC91X=y | 580 | CONFIG_SMC91X=y |
609 | # CONFIG_SMSC911X is not set | 581 | # CONFIG_SMSC911X is not set |
610 | # CONFIG_DM9000 is not set | 582 | # CONFIG_DM9000 is not set |
583 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
584 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
585 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
586 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
587 | # CONFIG_B44 is not set | ||
611 | CONFIG_NETDEV_1000=y | 588 | CONFIG_NETDEV_1000=y |
612 | # CONFIG_AX88180 is not set | 589 | # CONFIG_AX88180 is not set |
613 | CONFIG_NETDEV_10000=y | 590 | CONFIG_NETDEV_10000=y |
@@ -624,15 +601,7 @@ CONFIG_NETDEV_10000=y | |||
624 | # CONFIG_NETCONSOLE is not set | 601 | # CONFIG_NETCONSOLE is not set |
625 | # CONFIG_NETPOLL is not set | 602 | # CONFIG_NETPOLL is not set |
626 | # CONFIG_NET_POLL_CONTROLLER is not set | 603 | # CONFIG_NET_POLL_CONTROLLER is not set |
627 | |||
628 | # | ||
629 | # ISDN subsystem | ||
630 | # | ||
631 | # CONFIG_ISDN is not set | 604 | # CONFIG_ISDN is not set |
632 | |||
633 | # | ||
634 | # Telephony Support | ||
635 | # | ||
636 | # CONFIG_PHONE is not set | 605 | # CONFIG_PHONE is not set |
637 | 606 | ||
638 | # | 607 | # |
@@ -647,7 +616,6 @@ CONFIG_INPUT=m | |||
647 | # | 616 | # |
648 | # CONFIG_INPUT_MOUSEDEV is not set | 617 | # CONFIG_INPUT_MOUSEDEV is not set |
649 | # CONFIG_INPUT_JOYDEV is not set | 618 | # CONFIG_INPUT_JOYDEV is not set |
650 | # CONFIG_INPUT_TSDEV is not set | ||
651 | CONFIG_INPUT_EVDEV=m | 619 | CONFIG_INPUT_EVDEV=m |
652 | # CONFIG_INPUT_EVBUG is not set | 620 | # CONFIG_INPUT_EVBUG is not set |
653 | 621 | ||
@@ -672,13 +640,12 @@ CONFIG_INPUT_EVDEV=m | |||
672 | # | 640 | # |
673 | # CONFIG_AD9960 is not set | 641 | # CONFIG_AD9960 is not set |
674 | # CONFIG_SPI_ADC_BF533 is not set | 642 | # CONFIG_SPI_ADC_BF533 is not set |
675 | # CONFIG_BF5xx_PFLAGS is not set | ||
676 | # CONFIG_BF5xx_PPIFCD is not set | 643 | # CONFIG_BF5xx_PPIFCD is not set |
677 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 644 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
678 | # CONFIG_BF5xx_PPI is not set | 645 | # CONFIG_BF5xx_PPI is not set |
679 | CONFIG_BFIN_SPORT=y | 646 | CONFIG_BFIN_SPORT=y |
680 | # CONFIG_BFIN_TIMER_LATENCY is not set | 647 | # CONFIG_BFIN_TIMER_LATENCY is not set |
681 | # CONFIG_AD5304 is not set | 648 | CONFIG_SIMPLE_GPIO=m |
682 | # CONFIG_VT is not set | 649 | # CONFIG_VT is not set |
683 | # CONFIG_SERIAL_NONSTANDARD is not set | 650 | # CONFIG_SERIAL_NONSTANDARD is not set |
684 | 651 | ||
@@ -706,28 +673,11 @@ CONFIG_UNIX98_PTYS=y | |||
706 | # CAN, the car bus and industrial fieldbus | 673 | # CAN, the car bus and industrial fieldbus |
707 | # | 674 | # |
708 | # CONFIG_CAN4LINUX is not set | 675 | # CONFIG_CAN4LINUX is not set |
709 | |||
710 | # | ||
711 | # IPMI | ||
712 | # | ||
713 | # CONFIG_IPMI_HANDLER is not set | 676 | # CONFIG_IPMI_HANDLER is not set |
714 | CONFIG_WATCHDOG=y | ||
715 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
716 | |||
717 | # | ||
718 | # Watchdog Device Drivers | ||
719 | # | ||
720 | # CONFIG_SOFT_WATCHDOG is not set | ||
721 | CONFIG_BFIN_WDT=y | ||
722 | CONFIG_HW_RANDOM=y | 677 | CONFIG_HW_RANDOM=y |
723 | # CONFIG_GEN_RTC is not set | 678 | # CONFIG_GEN_RTC is not set |
724 | CONFIG_BLACKFIN_DPMC=y | ||
725 | # CONFIG_R3964 is not set | 679 | # CONFIG_R3964 is not set |
726 | # CONFIG_RAW_DRIVER is not set | 680 | # CONFIG_RAW_DRIVER is not set |
727 | |||
728 | # | ||
729 | # TPM devices | ||
730 | # | ||
731 | # CONFIG_TCG_TPM is not set | 681 | # CONFIG_TCG_TPM is not set |
732 | # CONFIG_I2C is not set | 682 | # CONFIG_I2C is not set |
733 | 683 | ||
@@ -748,22 +698,37 @@ CONFIG_SPI_BFIN=y | |||
748 | # | 698 | # |
749 | # CONFIG_SPI_AT25 is not set | 699 | # CONFIG_SPI_AT25 is not set |
750 | # CONFIG_SPI_SPIDEV is not set | 700 | # CONFIG_SPI_SPIDEV is not set |
751 | 701 | # CONFIG_SPI_TLE62X0 is not set | |
752 | # | ||
753 | # Dallas's 1-wire bus | ||
754 | # | ||
755 | # CONFIG_W1 is not set | 702 | # CONFIG_W1 is not set |
703 | # CONFIG_POWER_SUPPLY is not set | ||
756 | CONFIG_HWMON=y | 704 | CONFIG_HWMON=y |
757 | # CONFIG_HWMON_VID is not set | 705 | # CONFIG_HWMON_VID is not set |
758 | # CONFIG_SENSORS_ABITUGURU is not set | ||
759 | # CONFIG_SENSORS_F71805F is not set | 706 | # CONFIG_SENSORS_F71805F is not set |
707 | # CONFIG_SENSORS_F71882FG is not set | ||
708 | # CONFIG_SENSORS_IT87 is not set | ||
760 | # CONFIG_SENSORS_LM70 is not set | 709 | # CONFIG_SENSORS_LM70 is not set |
710 | # CONFIG_SENSORS_PC87360 is not set | ||
761 | # CONFIG_SENSORS_PC87427 is not set | 711 | # CONFIG_SENSORS_PC87427 is not set |
762 | # CONFIG_SENSORS_SMSC47M1 is not set | 712 | # CONFIG_SENSORS_SMSC47M1 is not set |
763 | # CONFIG_SENSORS_SMSC47B397 is not set | 713 | # CONFIG_SENSORS_SMSC47B397 is not set |
764 | # CONFIG_SENSORS_VT1211 is not set | 714 | # CONFIG_SENSORS_VT1211 is not set |
765 | # CONFIG_SENSORS_W83627HF is not set | 715 | # CONFIG_SENSORS_W83627HF is not set |
716 | # CONFIG_SENSORS_W83627EHF is not set | ||
766 | # CONFIG_HWMON_DEBUG_CHIP is not set | 717 | # CONFIG_HWMON_DEBUG_CHIP is not set |
718 | CONFIG_WATCHDOG=y | ||
719 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
720 | |||
721 | # | ||
722 | # Watchdog Device Drivers | ||
723 | # | ||
724 | # CONFIG_SOFT_WATCHDOG is not set | ||
725 | CONFIG_BFIN_WDT=y | ||
726 | |||
727 | # | ||
728 | # Sonics Silicon Backplane | ||
729 | # | ||
730 | CONFIG_SSB_POSSIBLE=y | ||
731 | # CONFIG_SSB is not set | ||
767 | 732 | ||
768 | # | 733 | # |
769 | # Multifunction device drivers | 734 | # Multifunction device drivers |
@@ -780,72 +745,27 @@ CONFIG_DAB=y | |||
780 | # | 745 | # |
781 | # Graphics support | 746 | # Graphics support |
782 | # | 747 | # |
748 | # CONFIG_VGASTATE is not set | ||
749 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
750 | # CONFIG_FB is not set | ||
783 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 751 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
784 | 752 | ||
785 | # | 753 | # |
786 | # Display device support | 754 | # Display device support |
787 | # | 755 | # |
788 | # CONFIG_DISPLAY_SUPPORT is not set | 756 | # CONFIG_DISPLAY_SUPPORT is not set |
789 | # CONFIG_VGASTATE is not set | ||
790 | # CONFIG_FB is not set | ||
791 | 757 | ||
792 | # | 758 | # |
793 | # Sound | 759 | # Sound |
794 | # | 760 | # |
795 | # CONFIG_SOUND is not set | 761 | # CONFIG_SOUND is not set |
796 | 762 | CONFIG_HID_SUPPORT=y | |
797 | # | ||
798 | # HID Devices | ||
799 | # | ||
800 | CONFIG_HID=m | 763 | CONFIG_HID=m |
801 | # CONFIG_HID_DEBUG is not set | 764 | # CONFIG_HID_DEBUG is not set |
802 | 765 | # CONFIG_HIDRAW is not set | |
803 | # | 766 | # CONFIG_USB_SUPPORT is not set |
804 | # USB support | ||
805 | # | ||
806 | CONFIG_USB_ARCH_HAS_HCD=y | ||
807 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
808 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
809 | # CONFIG_USB is not set | ||
810 | |||
811 | # | ||
812 | # Enable Host or Gadget support to see Inventra options | ||
813 | # | ||
814 | |||
815 | # | ||
816 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
817 | # | ||
818 | |||
819 | # | ||
820 | # USB Gadget Support | ||
821 | # | ||
822 | # CONFIG_USB_GADGET is not set | ||
823 | # CONFIG_MMC is not set | 767 | # CONFIG_MMC is not set |
824 | |||
825 | # | ||
826 | # LED devices | ||
827 | # | ||
828 | # CONFIG_NEW_LEDS is not set | 768 | # CONFIG_NEW_LEDS is not set |
829 | |||
830 | # | ||
831 | # LED drivers | ||
832 | # | ||
833 | |||
834 | # | ||
835 | # LED Triggers | ||
836 | # | ||
837 | |||
838 | # | ||
839 | # InfiniBand support | ||
840 | # | ||
841 | |||
842 | # | ||
843 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
844 | # | ||
845 | |||
846 | # | ||
847 | # Real Time Clock | ||
848 | # | ||
849 | CONFIG_RTC_LIB=y | 769 | CONFIG_RTC_LIB=y |
850 | CONFIG_RTC_CLASS=y | 770 | CONFIG_RTC_CLASS=y |
851 | CONFIG_RTC_HCTOSYS=y | 771 | CONFIG_RTC_HCTOSYS=y |
@@ -862,10 +782,6 @@ CONFIG_RTC_INTF_DEV=y | |||
862 | # CONFIG_RTC_DRV_TEST is not set | 782 | # CONFIG_RTC_DRV_TEST is not set |
863 | 783 | ||
864 | # | 784 | # |
865 | # I2C RTC drivers | ||
866 | # | ||
867 | |||
868 | # | ||
869 | # SPI RTC drivers | 785 | # SPI RTC drivers |
870 | # | 786 | # |
871 | # CONFIG_RTC_DRV_RS5C348 is not set | 787 | # CONFIG_RTC_DRV_RS5C348 is not set |
@@ -875,8 +791,10 @@ CONFIG_RTC_INTF_DEV=y | |||
875 | # Platform RTC drivers | 791 | # Platform RTC drivers |
876 | # | 792 | # |
877 | # CONFIG_RTC_DRV_DS1553 is not set | 793 | # CONFIG_RTC_DRV_DS1553 is not set |
794 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
878 | # CONFIG_RTC_DRV_DS1742 is not set | 795 | # CONFIG_RTC_DRV_DS1742 is not set |
879 | # CONFIG_RTC_DRV_M48T86 is not set | 796 | # CONFIG_RTC_DRV_M48T86 is not set |
797 | # CONFIG_RTC_DRV_M48T59 is not set | ||
880 | # CONFIG_RTC_DRV_V3020 is not set | 798 | # CONFIG_RTC_DRV_V3020 is not set |
881 | 799 | ||
882 | # | 800 | # |
@@ -885,22 +803,9 @@ CONFIG_RTC_INTF_DEV=y | |||
885 | CONFIG_RTC_DRV_BFIN=y | 803 | CONFIG_RTC_DRV_BFIN=y |
886 | 804 | ||
887 | # | 805 | # |
888 | # DMA Engine support | 806 | # Userspace I/O |
889 | # | ||
890 | # CONFIG_DMA_ENGINE is not set | ||
891 | |||
892 | # | ||
893 | # DMA Clients | ||
894 | # | ||
895 | |||
896 | # | ||
897 | # DMA Devices | ||
898 | # | 807 | # |
899 | 808 | # CONFIG_UIO is not set | |
900 | # | ||
901 | # PBX support | ||
902 | # | ||
903 | # CONFIG_PBX is not set | ||
904 | 809 | ||
905 | # | 810 | # |
906 | # File systems | 811 | # File systems |
@@ -945,7 +850,6 @@ CONFIG_PROC_SYSCTL=y | |||
945 | CONFIG_SYSFS=y | 850 | CONFIG_SYSFS=y |
946 | # CONFIG_TMPFS is not set | 851 | # CONFIG_TMPFS is not set |
947 | # CONFIG_HUGETLB_PAGE is not set | 852 | # CONFIG_HUGETLB_PAGE is not set |
948 | CONFIG_RAMFS=y | ||
949 | # CONFIG_CONFIGFS_FS is not set | 853 | # CONFIG_CONFIGFS_FS is not set |
950 | 854 | ||
951 | # | 855 | # |
@@ -971,10 +875,12 @@ CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | |||
971 | CONFIG_JFFS2_FS=m | 875 | CONFIG_JFFS2_FS=m |
972 | CONFIG_JFFS2_FS_DEBUG=0 | 876 | CONFIG_JFFS2_FS_DEBUG=0 |
973 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 877 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
878 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
974 | # CONFIG_JFFS2_SUMMARY is not set | 879 | # CONFIG_JFFS2_SUMMARY is not set |
975 | # CONFIG_JFFS2_FS_XATTR is not set | 880 | # CONFIG_JFFS2_FS_XATTR is not set |
976 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 881 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
977 | CONFIG_JFFS2_ZLIB=y | 882 | CONFIG_JFFS2_ZLIB=y |
883 | # CONFIG_JFFS2_LZO is not set | ||
978 | CONFIG_JFFS2_RTIME=y | 884 | CONFIG_JFFS2_RTIME=y |
979 | # CONFIG_JFFS2_RUBIN is not set | 885 | # CONFIG_JFFS2_RUBIN is not set |
980 | # CONFIG_CRAMFS is not set | 886 | # CONFIG_CRAMFS is not set |
@@ -983,10 +889,7 @@ CONFIG_JFFS2_RTIME=y | |||
983 | # CONFIG_QNX4FS_FS is not set | 889 | # CONFIG_QNX4FS_FS is not set |
984 | # CONFIG_SYSV_FS is not set | 890 | # CONFIG_SYSV_FS is not set |
985 | # CONFIG_UFS_FS is not set | 891 | # CONFIG_UFS_FS is not set |
986 | 892 | CONFIG_NETWORK_FILESYSTEMS=y | |
987 | # | ||
988 | # Network File Systems | ||
989 | # | ||
990 | CONFIG_NFS_FS=m | 893 | CONFIG_NFS_FS=m |
991 | CONFIG_NFS_V3=y | 894 | CONFIG_NFS_V3=y |
992 | # CONFIG_NFS_V3_ACL is not set | 895 | # CONFIG_NFS_V3_ACL is not set |
@@ -1006,17 +909,12 @@ CONFIG_SMB_FS=m | |||
1006 | # CONFIG_NCP_FS is not set | 909 | # CONFIG_NCP_FS is not set |
1007 | # CONFIG_CODA_FS is not set | 910 | # CONFIG_CODA_FS is not set |
1008 | # CONFIG_AFS_FS is not set | 911 | # CONFIG_AFS_FS is not set |
1009 | # CONFIG_9P_FS is not set | ||
1010 | 912 | ||
1011 | # | 913 | # |
1012 | # Partition Types | 914 | # Partition Types |
1013 | # | 915 | # |
1014 | # CONFIG_PARTITION_ADVANCED is not set | 916 | # CONFIG_PARTITION_ADVANCED is not set |
1015 | CONFIG_MSDOS_PARTITION=y | 917 | CONFIG_MSDOS_PARTITION=y |
1016 | |||
1017 | # | ||
1018 | # Native Language Support | ||
1019 | # | ||
1020 | CONFIG_NLS=m | 918 | CONFIG_NLS=m |
1021 | CONFIG_NLS_DEFAULT="iso8859-1" | 919 | CONFIG_NLS_DEFAULT="iso8859-1" |
1022 | # CONFIG_NLS_CODEPAGE_437 is not set | 920 | # CONFIG_NLS_CODEPAGE_437 is not set |
@@ -1057,21 +955,16 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1057 | # CONFIG_NLS_KOI8_R is not set | 955 | # CONFIG_NLS_KOI8_R is not set |
1058 | # CONFIG_NLS_KOI8_U is not set | 956 | # CONFIG_NLS_KOI8_U is not set |
1059 | # CONFIG_NLS_UTF8 is not set | 957 | # CONFIG_NLS_UTF8 is not set |
1060 | |||
1061 | # | ||
1062 | # Distributed Lock Manager | ||
1063 | # | ||
1064 | # CONFIG_DLM is not set | 958 | # CONFIG_DLM is not set |
1065 | 959 | CONFIG_INSTRUMENTATION=y | |
1066 | # | ||
1067 | # Profiling support | ||
1068 | # | ||
1069 | # CONFIG_PROFILING is not set | 960 | # CONFIG_PROFILING is not set |
961 | # CONFIG_MARKERS is not set | ||
1070 | 962 | ||
1071 | # | 963 | # |
1072 | # Kernel hacking | 964 | # Kernel hacking |
1073 | # | 965 | # |
1074 | # CONFIG_PRINTK_TIME is not set | 966 | # CONFIG_PRINTK_TIME is not set |
967 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1075 | CONFIG_ENABLE_MUST_CHECK=y | 968 | CONFIG_ENABLE_MUST_CHECK=y |
1076 | # CONFIG_MAGIC_SYSRQ is not set | 969 | # CONFIG_MAGIC_SYSRQ is not set |
1077 | # CONFIG_UNUSED_SYMBOLS is not set | 970 | # CONFIG_UNUSED_SYMBOLS is not set |
@@ -1079,6 +972,7 @@ CONFIG_DEBUG_FS=y | |||
1079 | # CONFIG_HEADERS_CHECK is not set | 972 | # CONFIG_HEADERS_CHECK is not set |
1080 | # CONFIG_DEBUG_KERNEL is not set | 973 | # CONFIG_DEBUG_KERNEL is not set |
1081 | # CONFIG_DEBUG_BUGVERBOSE is not set | 974 | # CONFIG_DEBUG_BUGVERBOSE is not set |
975 | # CONFIG_SAMPLES is not set | ||
1082 | CONFIG_DEBUG_MMRS=y | 976 | CONFIG_DEBUG_MMRS=y |
1083 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | 977 | CONFIG_DEBUG_HUNT_FOR_ZERO=y |
1084 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | 978 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y |
@@ -1098,11 +992,7 @@ CONFIG_ACCESS_CHECK=y | |||
1098 | # CONFIG_KEYS is not set | 992 | # CONFIG_KEYS is not set |
1099 | CONFIG_SECURITY=y | 993 | CONFIG_SECURITY=y |
1100 | # CONFIG_SECURITY_NETWORK is not set | 994 | # CONFIG_SECURITY_NETWORK is not set |
1101 | CONFIG_SECURITY_CAPABILITIES=m | 995 | # CONFIG_SECURITY_CAPABILITIES is not set |
1102 | |||
1103 | # | ||
1104 | # Cryptographic options | ||
1105 | # | ||
1106 | # CONFIG_CRYPTO is not set | 996 | # CONFIG_CRYPTO is not set |
1107 | 997 | ||
1108 | # | 998 | # |
@@ -1113,6 +1003,7 @@ CONFIG_CRC_CCITT=m | |||
1113 | # CONFIG_CRC16 is not set | 1003 | # CONFIG_CRC16 is not set |
1114 | # CONFIG_CRC_ITU_T is not set | 1004 | # CONFIG_CRC_ITU_T is not set |
1115 | CONFIG_CRC32=y | 1005 | CONFIG_CRC32=y |
1006 | # CONFIG_CRC7 is not set | ||
1116 | # CONFIG_LIBCRC32C is not set | 1007 | # CONFIG_LIBCRC32C is not set |
1117 | CONFIG_ZLIB_INFLATE=y | 1008 | CONFIG_ZLIB_INFLATE=y |
1118 | CONFIG_ZLIB_DEFLATE=m | 1009 | CONFIG_ZLIB_DEFLATE=m |
diff --git a/arch/blackfin/configs/BF533-STAMP_defconfig b/arch/blackfin/configs/BF533-STAMP_defconfig index 20d598d17bd1..d77d991a1f61 100644 --- a/arch/blackfin/configs/BF533-STAMP_defconfig +++ b/arch/blackfin/configs/BF533-STAMP_defconfig | |||
@@ -1,6 +1,6 @@ | |||
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.16 | 3 | # Linux kernel version: 2.6.24.7 |
4 | # | 4 | # |
5 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
6 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
@@ -13,35 +13,34 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=y | 13 | CONFIG_GENERIC_HWEIGHT=y |
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_TIME=y | ||
17 | CONFIG_GENERIC_GPIO=y | 16 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 17 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 18 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
21 | 20 | ||
22 | # | 21 | # |
23 | # Code maturity level options | 22 | # General setup |
24 | # | 23 | # |
25 | CONFIG_EXPERIMENTAL=y | 24 | CONFIG_EXPERIMENTAL=y |
26 | CONFIG_BROKEN_ON_SMP=y | 25 | CONFIG_BROKEN_ON_SMP=y |
27 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 26 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
28 | |||
29 | # | ||
30 | # General setup | ||
31 | # | ||
32 | CONFIG_LOCALVERSION="" | 27 | CONFIG_LOCALVERSION="" |
33 | CONFIG_LOCALVERSION_AUTO=y | 28 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_SYSVIPC=y | 29 | CONFIG_SYSVIPC=y |
35 | # CONFIG_IPC_NS is not set | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | 30 | CONFIG_SYSVIPC_SYSCTL=y |
37 | # CONFIG_POSIX_MQUEUE is not set | 31 | # CONFIG_POSIX_MQUEUE is not set |
38 | # CONFIG_BSD_PROCESS_ACCT is not set | 32 | # CONFIG_BSD_PROCESS_ACCT is not set |
39 | # CONFIG_TASKSTATS is not set | 33 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_UTS_NS is not set | 34 | # CONFIG_USER_NS is not set |
35 | # CONFIG_PID_NS is not set | ||
41 | # CONFIG_AUDIT is not set | 36 | # CONFIG_AUDIT is not set |
42 | CONFIG_IKCONFIG=y | 37 | CONFIG_IKCONFIG=y |
43 | CONFIG_IKCONFIG_PROC=y | 38 | CONFIG_IKCONFIG_PROC=y |
44 | CONFIG_LOG_BUF_SHIFT=14 | 39 | CONFIG_LOG_BUF_SHIFT=14 |
40 | # CONFIG_CGROUPS is not set | ||
41 | CONFIG_FAIR_GROUP_SCHED=y | ||
42 | CONFIG_FAIR_USER_SCHED=y | ||
43 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
45 | CONFIG_SYSFS_DEPRECATED=y | 44 | CONFIG_SYSFS_DEPRECATED=y |
46 | # CONFIG_RELAY is not set | 45 | # CONFIG_RELAY is not set |
47 | CONFIG_BLK_DEV_INITRD=y | 46 | CONFIG_BLK_DEV_INITRD=y |
@@ -64,32 +63,24 @@ CONFIG_EPOLL=y | |||
64 | CONFIG_SIGNALFD=y | 63 | CONFIG_SIGNALFD=y |
65 | CONFIG_EVENTFD=y | 64 | CONFIG_EVENTFD=y |
66 | CONFIG_VM_EVENT_COUNTERS=y | 65 | CONFIG_VM_EVENT_COUNTERS=y |
67 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
68 | # CONFIG_NP2 is not set | ||
69 | CONFIG_SLAB=y | 66 | CONFIG_SLAB=y |
70 | # CONFIG_SLUB is not set | 67 | # CONFIG_SLUB is not set |
71 | # CONFIG_SLOB is not set | 68 | # CONFIG_SLOB is not set |
69 | CONFIG_SLABINFO=y | ||
72 | CONFIG_RT_MUTEXES=y | 70 | CONFIG_RT_MUTEXES=y |
73 | CONFIG_TINY_SHMEM=y | 71 | CONFIG_TINY_SHMEM=y |
74 | CONFIG_BASE_SMALL=0 | 72 | CONFIG_BASE_SMALL=0 |
75 | |||
76 | # | ||
77 | # Loadable module support | ||
78 | # | ||
79 | CONFIG_MODULES=y | 73 | CONFIG_MODULES=y |
80 | CONFIG_MODULE_UNLOAD=y | 74 | CONFIG_MODULE_UNLOAD=y |
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 75 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 76 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 77 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | 78 | CONFIG_KMOD=y |
85 | |||
86 | # | ||
87 | # Block layer | ||
88 | # | ||
89 | CONFIG_BLOCK=y | 79 | CONFIG_BLOCK=y |
90 | # CONFIG_LBD is not set | 80 | # CONFIG_LBD is not set |
91 | # CONFIG_BLK_DEV_IO_TRACE is not set | 81 | # CONFIG_BLK_DEV_IO_TRACE is not set |
92 | # CONFIG_LSF is not set | 82 | # CONFIG_LSF is not set |
83 | # CONFIG_BLK_DEV_BSG is not set | ||
93 | 84 | ||
94 | # | 85 | # |
95 | # IO Schedulers | 86 | # IO Schedulers |
@@ -141,12 +132,12 @@ CONFIG_BF_REV_0_3=y | |||
141 | # CONFIG_BF_REV_ANY is not set | 132 | # CONFIG_BF_REV_ANY is not set |
142 | # CONFIG_BF_REV_NONE is not set | 133 | # CONFIG_BF_REV_NONE is not set |
143 | CONFIG_BF53x=y | 134 | CONFIG_BF53x=y |
144 | CONFIG_BFIN_SINGLE_CORE=y | ||
145 | CONFIG_MEM_MT48LC64M4A2FB_7E=y | 135 | CONFIG_MEM_MT48LC64M4A2FB_7E=y |
146 | # CONFIG_BFIN533_EZKIT is not set | 136 | # CONFIG_BFIN533_EZKIT is not set |
147 | CONFIG_BFIN533_STAMP=y | 137 | CONFIG_BFIN533_STAMP=y |
148 | # CONFIG_BFIN533_BLUETECHNIX_CM is not set | 138 | # CONFIG_BFIN533_BLUETECHNIX_CM is not set |
149 | # CONFIG_H8606_HVSISTEMAS is not set | 139 | # CONFIG_H8606_HVSISTEMAS is not set |
140 | # CONFIG_BFIN532_IP0X is not set | ||
150 | # CONFIG_GENERIC_BF533_BOARD is not set | 141 | # CONFIG_GENERIC_BF533_BOARD is not set |
151 | 142 | ||
152 | # | 143 | # |
@@ -189,12 +180,14 @@ CONFIG_WDTIMER=13 | |||
189 | # Board customizations | 180 | # Board customizations |
190 | # | 181 | # |
191 | # CONFIG_CMDLINE_BOOL is not set | 182 | # CONFIG_CMDLINE_BOOL is not set |
183 | CONFIG_BOOT_LOAD=0x1000 | ||
192 | 184 | ||
193 | # | 185 | # |
194 | # Clock/PLL Setup | 186 | # Clock/PLL Setup |
195 | # | 187 | # |
196 | CONFIG_CLKIN_HZ=11059200 | 188 | CONFIG_CLKIN_HZ=11059200 |
197 | # CONFIG_BFIN_KERNEL_CLOCK is not set | 189 | # CONFIG_BFIN_KERNEL_CLOCK is not set |
190 | CONFIG_MAX_MEM_SIZE=512 | ||
198 | CONFIG_MAX_VCO_HZ=750000000 | 191 | CONFIG_MAX_VCO_HZ=750000000 |
199 | CONFIG_MIN_VCO_HZ=50000000 | 192 | CONFIG_MIN_VCO_HZ=50000000 |
200 | CONFIG_MAX_SCLK_HZ=133333333 | 193 | CONFIG_MAX_SCLK_HZ=133333333 |
@@ -208,14 +201,17 @@ CONFIG_HZ_250=y | |||
208 | # CONFIG_HZ_300 is not set | 201 | # CONFIG_HZ_300 is not set |
209 | # CONFIG_HZ_1000 is not set | 202 | # CONFIG_HZ_1000 is not set |
210 | CONFIG_HZ=250 | 203 | CONFIG_HZ=250 |
204 | CONFIG_GENERIC_TIME=y | ||
205 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
206 | # CONFIG_CYCLES_CLOCKSOURCE is not set | ||
207 | CONFIG_TICK_ONESHOT=y | ||
208 | # CONFIG_NO_HZ is not set | ||
209 | CONFIG_HIGH_RES_TIMERS=y | ||
210 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
211 | 211 | ||
212 | # | 212 | # |
213 | # Memory Setup | 213 | # Misc |
214 | # | 214 | # |
215 | CONFIG_MAX_MEM_SIZE=512 | ||
216 | CONFIG_MEM_ADD_WIDTH=11 | ||
217 | CONFIG_ENET_FLASH_PIN=0 | ||
218 | CONFIG_BOOT_LOAD=0x1000 | ||
219 | CONFIG_BFIN_SCRATCH_REG_RETN=y | 215 | CONFIG_BFIN_SCRATCH_REG_RETN=y |
220 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | 216 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set |
221 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | 217 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set |
@@ -251,12 +247,14 @@ CONFIG_FLATMEM_MANUAL=y | |||
251 | CONFIG_FLATMEM=y | 247 | CONFIG_FLATMEM=y |
252 | CONFIG_FLAT_NODE_MEM_MAP=y | 248 | CONFIG_FLAT_NODE_MEM_MAP=y |
253 | # CONFIG_SPARSEMEM_STATIC is not set | 249 | # CONFIG_SPARSEMEM_STATIC is not set |
250 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
254 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 251 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
255 | # CONFIG_RESOURCES_64BIT is not set | 252 | # CONFIG_RESOURCES_64BIT is not set |
256 | CONFIG_ZONE_DMA_FLAG=1 | 253 | CONFIG_ZONE_DMA_FLAG=1 |
257 | CONFIG_LARGE_ALLOCS=y | 254 | CONFIG_VIRT_TO_BUS=y |
258 | # CONFIG_BFIN_GPTIMERS is not set | 255 | # CONFIG_BFIN_GPTIMERS is not set |
259 | CONFIG_BFIN_DMA_5XX=y | 256 | CONFIG_BFIN_DMA_5XX=y |
257 | # CONFIG_DMA_UNCACHED_4M is not set | ||
260 | # CONFIG_DMA_UNCACHED_2M is not set | 258 | # CONFIG_DMA_UNCACHED_2M is not set |
261 | CONFIG_DMA_UNCACHED_1M=y | 259 | CONFIG_DMA_UNCACHED_1M=y |
262 | # CONFIG_DMA_UNCACHED_NONE is not set | 260 | # CONFIG_DMA_UNCACHED_NONE is not set |
@@ -294,17 +292,13 @@ CONFIG_C_AMBEN_ALL=y | |||
294 | CONFIG_BANK_0=0x7BB0 | 292 | CONFIG_BANK_0=0x7BB0 |
295 | CONFIG_BANK_1=0x7BB0 | 293 | CONFIG_BANK_1=0x7BB0 |
296 | CONFIG_BANK_2=0x7BB0 | 294 | CONFIG_BANK_2=0x7BB0 |
297 | CONFIG_BANK_3=0xAAC3 | 295 | CONFIG_BANK_3=0xAAC2 |
298 | 296 | ||
299 | # | 297 | # |
300 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | 298 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) |
301 | # | 299 | # |
302 | # CONFIG_PCI is not set | 300 | # CONFIG_PCI is not set |
303 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 301 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
304 | |||
305 | # | ||
306 | # PCCARD (PCMCIA/CardBus) support | ||
307 | # | ||
308 | # CONFIG_PCCARD is not set | 302 | # CONFIG_PCCARD is not set |
309 | 303 | ||
310 | # | 304 | # |
@@ -322,7 +316,9 @@ CONFIG_BINFMT_ZFLAT=y | |||
322 | CONFIG_PM=y | 316 | CONFIG_PM=y |
323 | # CONFIG_PM_LEGACY is not set | 317 | # CONFIG_PM_LEGACY is not set |
324 | # CONFIG_PM_DEBUG is not set | 318 | # CONFIG_PM_DEBUG is not set |
325 | # CONFIG_PM_SYSFS_DEPRECATED is not set | 319 | CONFIG_PM_SLEEP=y |
320 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
321 | CONFIG_SUSPEND=y | ||
326 | CONFIG_PM_BFIN_SLEEP_DEEPER=y | 322 | CONFIG_PM_BFIN_SLEEP_DEEPER=y |
327 | # CONFIG_PM_BFIN_SLEEP is not set | 323 | # CONFIG_PM_BFIN_SLEEP is not set |
328 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | 324 | # CONFIG_PM_WAKEUP_BY_GPIO is not set |
@@ -368,6 +364,7 @@ CONFIG_SYN_COOKIES=y | |||
368 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 364 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
369 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 365 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
370 | CONFIG_INET_XFRM_MODE_BEET=y | 366 | CONFIG_INET_XFRM_MODE_BEET=y |
367 | # CONFIG_INET_LRO is not set | ||
371 | CONFIG_INET_DIAG=y | 368 | CONFIG_INET_DIAG=y |
372 | CONFIG_INET_TCP_DIAG=y | 369 | CONFIG_INET_TCP_DIAG=y |
373 | # CONFIG_TCP_CONG_ADVANCED is not set | 370 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -394,10 +391,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
394 | # CONFIG_LAPB is not set | 391 | # CONFIG_LAPB is not set |
395 | # CONFIG_ECONET is not set | 392 | # CONFIG_ECONET is not set |
396 | # CONFIG_WAN_ROUTER is not set | 393 | # CONFIG_WAN_ROUTER is not set |
397 | |||
398 | # | ||
399 | # QoS and/or fair queueing | ||
400 | # | ||
401 | # CONFIG_NET_SCHED is not set | 394 | # CONFIG_NET_SCHED is not set |
402 | 395 | ||
403 | # | 396 | # |
@@ -429,6 +422,9 @@ CONFIG_IRDA_CACHE_LAST_LSAP=y | |||
429 | # SIR device drivers | 422 | # SIR device drivers |
430 | # | 423 | # |
431 | CONFIG_IRTTY_SIR=m | 424 | CONFIG_IRTTY_SIR=m |
425 | CONFIG_BFIN_SIR=m | ||
426 | CONFIG_SIR_BFIN_DMA=y | ||
427 | # CONFIG_SIR_BFIN_PIO is not set | ||
432 | 428 | ||
433 | # | 429 | # |
434 | # Dongle support | 430 | # Dongle support |
@@ -458,6 +454,7 @@ CONFIG_IRTTY_SIR=m | |||
458 | # CONFIG_MAC80211 is not set | 454 | # CONFIG_MAC80211 is not set |
459 | # CONFIG_IEEE80211 is not set | 455 | # CONFIG_IEEE80211 is not set |
460 | # CONFIG_RFKILL is not set | 456 | # CONFIG_RFKILL is not set |
457 | # CONFIG_NET_9P is not set | ||
461 | 458 | ||
462 | # | 459 | # |
463 | # Device Drivers | 460 | # Device Drivers |
@@ -466,14 +463,11 @@ CONFIG_IRTTY_SIR=m | |||
466 | # | 463 | # |
467 | # Generic Driver Options | 464 | # Generic Driver Options |
468 | # | 465 | # |
466 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
469 | CONFIG_STANDALONE=y | 467 | CONFIG_STANDALONE=y |
470 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 468 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
471 | # CONFIG_FW_LOADER is not set | 469 | # CONFIG_FW_LOADER is not set |
472 | # CONFIG_SYS_HYPERVISOR is not set | 470 | # CONFIG_SYS_HYPERVISOR is not set |
473 | |||
474 | # | ||
475 | # Connector - unified userspace <-> kernelspace linker | ||
476 | # | ||
477 | # CONFIG_CONNECTOR is not set | 471 | # CONFIG_CONNECTOR is not set |
478 | CONFIG_MTD=y | 472 | CONFIG_MTD=y |
479 | # CONFIG_MTD_DEBUG is not set | 473 | # CONFIG_MTD_DEBUG is not set |
@@ -493,6 +487,7 @@ CONFIG_MTD_BLOCK=y | |||
493 | # CONFIG_INFTL is not set | 487 | # CONFIG_INFTL is not set |
494 | # CONFIG_RFD_FTL is not set | 488 | # CONFIG_RFD_FTL is not set |
495 | # CONFIG_SSFDC is not set | 489 | # CONFIG_SSFDC is not set |
490 | # CONFIG_MTD_OOPS is not set | ||
496 | 491 | ||
497 | # | 492 | # |
498 | # RAM/ROM/Flash chip drivers | 493 | # RAM/ROM/Flash chip drivers |
@@ -524,11 +519,7 @@ CONFIG_MTD_ROM=m | |||
524 | # | 519 | # |
525 | CONFIG_MTD_COMPLEX_MAPPINGS=y | 520 | CONFIG_MTD_COMPLEX_MAPPINGS=y |
526 | # CONFIG_MTD_PHYSMAP is not set | 521 | # CONFIG_MTD_PHYSMAP is not set |
527 | CONFIG_MTD_BF5xx=m | 522 | CONFIG_MTD_BFIN_ASYNC=m |
528 | CONFIG_BFIN_FLASH_BANK_0=0x7BB0 | ||
529 | CONFIG_BFIN_FLASH_BANK_1=0x7BB0 | ||
530 | CONFIG_BFIN_FLASH_BANK_2=0x7BB0 | ||
531 | CONFIG_BFIN_FLASH_BANK_3=0x7BB0 | ||
532 | # CONFIG_MTD_UCLINUX is not set | 523 | # CONFIG_MTD_UCLINUX is not set |
533 | # CONFIG_MTD_PLATRAM is not set | 524 | # CONFIG_MTD_PLATRAM is not set |
534 | 525 | ||
@@ -555,20 +546,8 @@ CONFIG_BFIN_FLASH_BANK_3=0x7BB0 | |||
555 | # UBI - Unsorted block images | 546 | # UBI - Unsorted block images |
556 | # | 547 | # |
557 | # CONFIG_MTD_UBI is not set | 548 | # CONFIG_MTD_UBI is not set |
558 | |||
559 | # | ||
560 | # Parallel port support | ||
561 | # | ||
562 | # CONFIG_PARPORT is not set | 549 | # CONFIG_PARPORT is not set |
563 | 550 | CONFIG_BLK_DEV=y | |
564 | # | ||
565 | # Plug and Play support | ||
566 | # | ||
567 | # CONFIG_PNPACPI is not set | ||
568 | |||
569 | # | ||
570 | # Block devices | ||
571 | # | ||
572 | # CONFIG_BLK_DEV_COW_COMMON is not set | 551 | # CONFIG_BLK_DEV_COW_COMMON is not set |
573 | # CONFIG_BLK_DEV_LOOP is not set | 552 | # CONFIG_BLK_DEV_LOOP is not set |
574 | # CONFIG_BLK_DEV_NBD is not set | 553 | # CONFIG_BLK_DEV_NBD is not set |
@@ -578,10 +557,8 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
578 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | 557 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 |
579 | # CONFIG_CDROM_PKTCDVD is not set | 558 | # CONFIG_CDROM_PKTCDVD is not set |
580 | # CONFIG_ATA_OVER_ETH is not set | 559 | # CONFIG_ATA_OVER_ETH is not set |
581 | 560 | CONFIG_MISC_DEVICES=y | |
582 | # | 561 | # CONFIG_EEPROM_93CX6 is not set |
583 | # Misc devices | ||
584 | # | ||
585 | # CONFIG_IDE is not set | 562 | # CONFIG_IDE is not set |
586 | 563 | ||
587 | # | 564 | # |
@@ -589,32 +566,29 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | |||
589 | # | 566 | # |
590 | # CONFIG_RAID_ATTRS is not set | 567 | # CONFIG_RAID_ATTRS is not set |
591 | # CONFIG_SCSI is not set | 568 | # CONFIG_SCSI is not set |
569 | # CONFIG_SCSI_DMA is not set | ||
592 | # CONFIG_SCSI_NETLINK is not set | 570 | # CONFIG_SCSI_NETLINK is not set |
593 | # CONFIG_ATA is not set | 571 | # CONFIG_ATA is not set |
594 | |||
595 | # | ||
596 | # Multi-device support (RAID and LVM) | ||
597 | # | ||
598 | # CONFIG_MD is not set | 572 | # CONFIG_MD is not set |
599 | |||
600 | # | ||
601 | # Network device support | ||
602 | # | ||
603 | CONFIG_NETDEVICES=y | 573 | CONFIG_NETDEVICES=y |
574 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
604 | # CONFIG_DUMMY is not set | 575 | # CONFIG_DUMMY is not set |
605 | # CONFIG_BONDING is not set | 576 | # CONFIG_BONDING is not set |
577 | # CONFIG_MACVLAN is not set | ||
606 | # CONFIG_EQUALIZER is not set | 578 | # CONFIG_EQUALIZER is not set |
607 | # CONFIG_TUN is not set | 579 | # CONFIG_TUN is not set |
580 | # CONFIG_VETH is not set | ||
608 | # CONFIG_PHYLIB is not set | 581 | # CONFIG_PHYLIB is not set |
609 | |||
610 | # | ||
611 | # Ethernet (10 or 100Mbit) | ||
612 | # | ||
613 | CONFIG_NET_ETHERNET=y | 582 | CONFIG_NET_ETHERNET=y |
614 | CONFIG_MII=y | 583 | CONFIG_MII=y |
615 | CONFIG_SMC91X=y | 584 | CONFIG_SMC91X=y |
616 | # CONFIG_SMSC911X is not set | 585 | # CONFIG_SMSC911X is not set |
617 | # CONFIG_DM9000 is not set | 586 | # CONFIG_DM9000 is not set |
587 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
588 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
589 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
590 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
591 | # CONFIG_B44 is not set | ||
618 | CONFIG_NETDEV_1000=y | 592 | CONFIG_NETDEV_1000=y |
619 | # CONFIG_AX88180 is not set | 593 | # CONFIG_AX88180 is not set |
620 | CONFIG_NETDEV_10000=y | 594 | CONFIG_NETDEV_10000=y |
@@ -631,15 +605,7 @@ CONFIG_NETDEV_10000=y | |||
631 | # CONFIG_NETCONSOLE is not set | 605 | # CONFIG_NETCONSOLE is not set |
632 | # CONFIG_NETPOLL is not set | 606 | # CONFIG_NETPOLL is not set |
633 | # CONFIG_NET_POLL_CONTROLLER is not set | 607 | # CONFIG_NET_POLL_CONTROLLER is not set |
634 | |||
635 | # | ||
636 | # ISDN subsystem | ||
637 | # | ||
638 | # CONFIG_ISDN is not set | 608 | # CONFIG_ISDN is not set |
639 | |||
640 | # | ||
641 | # Telephony Support | ||
642 | # | ||
643 | # CONFIG_PHONE is not set | 609 | # CONFIG_PHONE is not set |
644 | 610 | ||
645 | # | 611 | # |
@@ -654,7 +620,6 @@ CONFIG_INPUT=y | |||
654 | # | 620 | # |
655 | # CONFIG_INPUT_MOUSEDEV is not set | 621 | # CONFIG_INPUT_MOUSEDEV is not set |
656 | # CONFIG_INPUT_JOYDEV is not set | 622 | # CONFIG_INPUT_JOYDEV is not set |
657 | # CONFIG_INPUT_TSDEV is not set | ||
658 | CONFIG_INPUT_EVDEV=m | 623 | CONFIG_INPUT_EVDEV=m |
659 | # CONFIG_INPUT_EVBUG is not set | 624 | # CONFIG_INPUT_EVBUG is not set |
660 | 625 | ||
@@ -667,14 +632,8 @@ CONFIG_INPUT_EVDEV=m | |||
667 | # CONFIG_INPUT_TABLET is not set | 632 | # CONFIG_INPUT_TABLET is not set |
668 | # CONFIG_INPUT_TOUCHSCREEN is not set | 633 | # CONFIG_INPUT_TOUCHSCREEN is not set |
669 | CONFIG_INPUT_MISC=y | 634 | CONFIG_INPUT_MISC=y |
670 | # CONFIG_INPUT_ATI_REMOTE is not set | ||
671 | # CONFIG_INPUT_ATI_REMOTE2 is not set | ||
672 | # CONFIG_INPUT_KEYSPAN_REMOTE is not set | ||
673 | # CONFIG_INPUT_POWERMATE is not set | ||
674 | # CONFIG_INPUT_YEALINK is not set | ||
675 | # CONFIG_INPUT_UINPUT is not set | 635 | # CONFIG_INPUT_UINPUT is not set |
676 | CONFIG_TWI_KEYPAD=m | 636 | CONFIG_TWI_KEYPAD=m |
677 | CONFIG_BFIN_TWIKEYPAD_IRQ_PFX=39 | ||
678 | 637 | ||
679 | # | 638 | # |
680 | # Hardware I/O ports | 639 | # Hardware I/O ports |
@@ -687,15 +646,13 @@ CONFIG_BFIN_TWIKEYPAD_IRQ_PFX=39 | |||
687 | # | 646 | # |
688 | # CONFIG_AD9960 is not set | 647 | # CONFIG_AD9960 is not set |
689 | # CONFIG_SPI_ADC_BF533 is not set | 648 | # CONFIG_SPI_ADC_BF533 is not set |
690 | # CONFIG_BF5xx_PFLAGS is not set | ||
691 | # CONFIG_BF5xx_PPIFCD is not set | 649 | # CONFIG_BF5xx_PPIFCD is not set |
692 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 650 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
693 | # CONFIG_BF5xx_PPI is not set | 651 | # CONFIG_BF5xx_PPI is not set |
694 | CONFIG_BFIN_SPORT=y | 652 | CONFIG_BFIN_SPORT=y |
695 | # CONFIG_BFIN_TIMER_LATENCY is not set | 653 | # CONFIG_BFIN_TIMER_LATENCY is not set |
696 | CONFIG_TWI_LCD=m | 654 | CONFIG_TWI_LCD=m |
697 | CONFIG_TWI_LCD_SLAVE_ADDR=34 | 655 | CONFIG_SIMPLE_GPIO=m |
698 | # CONFIG_AD5304 is not set | ||
699 | # CONFIG_VT is not set | 656 | # CONFIG_VT is not set |
700 | # CONFIG_SERIAL_NONSTANDARD is not set | 657 | # CONFIG_SERIAL_NONSTANDARD is not set |
701 | 658 | ||
@@ -723,28 +680,11 @@ CONFIG_UNIX98_PTYS=y | |||
723 | # CAN, the car bus and industrial fieldbus | 680 | # CAN, the car bus and industrial fieldbus |
724 | # | 681 | # |
725 | # CONFIG_CAN4LINUX is not set | 682 | # CONFIG_CAN4LINUX is not set |
726 | |||
727 | # | ||
728 | # IPMI | ||
729 | # | ||
730 | # CONFIG_IPMI_HANDLER is not set | 683 | # CONFIG_IPMI_HANDLER is not set |
731 | CONFIG_WATCHDOG=y | ||
732 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
733 | |||
734 | # | ||
735 | # Watchdog Device Drivers | ||
736 | # | ||
737 | # CONFIG_SOFT_WATCHDOG is not set | ||
738 | CONFIG_BFIN_WDT=y | ||
739 | CONFIG_HW_RANDOM=y | 684 | CONFIG_HW_RANDOM=y |
740 | # CONFIG_GEN_RTC is not set | 685 | # CONFIG_GEN_RTC is not set |
741 | CONFIG_BLACKFIN_DPMC=y | ||
742 | # CONFIG_R3964 is not set | 686 | # CONFIG_R3964 is not set |
743 | # CONFIG_RAW_DRIVER is not set | 687 | # CONFIG_RAW_DRIVER is not set |
744 | |||
745 | # | ||
746 | # TPM devices | ||
747 | # | ||
748 | # CONFIG_TCG_TPM is not set | 688 | # CONFIG_TCG_TPM is not set |
749 | CONFIG_I2C=m | 689 | CONFIG_I2C=m |
750 | CONFIG_I2C_BOARDINFO=y | 690 | CONFIG_I2C_BOARDINFO=y |
@@ -764,6 +704,7 @@ CONFIG_I2C_ALGOBIT=m | |||
764 | # CONFIG_I2C_OCORES is not set | 704 | # CONFIG_I2C_OCORES is not set |
765 | # CONFIG_I2C_PARPORT_LIGHT is not set | 705 | # CONFIG_I2C_PARPORT_LIGHT is not set |
766 | # CONFIG_I2C_SIMTEC is not set | 706 | # CONFIG_I2C_SIMTEC is not set |
707 | # CONFIG_I2C_TAOS_EVM is not set | ||
767 | # CONFIG_I2C_STUB is not set | 708 | # CONFIG_I2C_STUB is not set |
768 | 709 | ||
769 | # | 710 | # |
@@ -771,14 +712,15 @@ CONFIG_I2C_ALGOBIT=m | |||
771 | # | 712 | # |
772 | # CONFIG_SENSORS_DS1337 is not set | 713 | # CONFIG_SENSORS_DS1337 is not set |
773 | # CONFIG_SENSORS_DS1374 is not set | 714 | # CONFIG_SENSORS_DS1374 is not set |
715 | # CONFIG_DS1682 is not set | ||
774 | # CONFIG_SENSORS_AD5252 is not set | 716 | # CONFIG_SENSORS_AD5252 is not set |
775 | # CONFIG_SENSORS_EEPROM is not set | 717 | # CONFIG_SENSORS_EEPROM is not set |
776 | # CONFIG_SENSORS_PCF8574 is not set | 718 | # CONFIG_SENSORS_PCF8574 is not set |
777 | # CONFIG_SENSORS_PCF8575 is not set | 719 | # CONFIG_SENSORS_PCF8575 is not set |
778 | # CONFIG_SENSORS_PCA9543 is not set | ||
779 | # CONFIG_SENSORS_PCA9539 is not set | 720 | # CONFIG_SENSORS_PCA9539 is not set |
780 | # CONFIG_SENSORS_PCF8591 is not set | 721 | # CONFIG_SENSORS_PCF8591 is not set |
781 | # CONFIG_SENSORS_MAX6875 is not set | 722 | # CONFIG_SENSORS_MAX6875 is not set |
723 | # CONFIG_SENSORS_TSL2550 is not set | ||
782 | # CONFIG_I2C_DEBUG_CORE is not set | 724 | # CONFIG_I2C_DEBUG_CORE is not set |
783 | # CONFIG_I2C_DEBUG_ALGO is not set | 725 | # CONFIG_I2C_DEBUG_ALGO is not set |
784 | # CONFIG_I2C_DEBUG_BUS is not set | 726 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -801,14 +743,11 @@ CONFIG_SPI_BFIN=y | |||
801 | # | 743 | # |
802 | # CONFIG_SPI_AT25 is not set | 744 | # CONFIG_SPI_AT25 is not set |
803 | # CONFIG_SPI_SPIDEV is not set | 745 | # CONFIG_SPI_SPIDEV is not set |
804 | 746 | # CONFIG_SPI_TLE62X0 is not set | |
805 | # | ||
806 | # Dallas's 1-wire bus | ||
807 | # | ||
808 | # CONFIG_W1 is not set | 747 | # CONFIG_W1 is not set |
748 | # CONFIG_POWER_SUPPLY is not set | ||
809 | CONFIG_HWMON=y | 749 | CONFIG_HWMON=y |
810 | # CONFIG_HWMON_VID is not set | 750 | # CONFIG_HWMON_VID is not set |
811 | # CONFIG_SENSORS_ABITUGURU is not set | ||
812 | # CONFIG_SENSORS_AD7418 is not set | 751 | # CONFIG_SENSORS_AD7418 is not set |
813 | # CONFIG_SENSORS_ADM1021 is not set | 752 | # CONFIG_SENSORS_ADM1021 is not set |
814 | # CONFIG_SENSORS_ADM1025 is not set | 753 | # CONFIG_SENSORS_ADM1025 is not set |
@@ -816,12 +755,12 @@ CONFIG_HWMON=y | |||
816 | # CONFIG_SENSORS_ADM1029 is not set | 755 | # CONFIG_SENSORS_ADM1029 is not set |
817 | # CONFIG_SENSORS_ADM1031 is not set | 756 | # CONFIG_SENSORS_ADM1031 is not set |
818 | # CONFIG_SENSORS_ADM9240 is not set | 757 | # CONFIG_SENSORS_ADM9240 is not set |
819 | # CONFIG_SENSORS_ASB100 is not set | 758 | # CONFIG_SENSORS_ADT7470 is not set |
820 | # CONFIG_SENSORS_ATXP1 is not set | 759 | # CONFIG_SENSORS_ATXP1 is not set |
821 | # CONFIG_SENSORS_DS1621 is not set | 760 | # CONFIG_SENSORS_DS1621 is not set |
822 | # CONFIG_SENSORS_F71805F is not set | 761 | # CONFIG_SENSORS_F71805F is not set |
823 | # CONFIG_SENSORS_FSCHER is not set | 762 | # CONFIG_SENSORS_F71882FG is not set |
824 | # CONFIG_SENSORS_FSCPOS is not set | 763 | # CONFIG_SENSORS_F75375S is not set |
825 | # CONFIG_SENSORS_GL518SM is not set | 764 | # CONFIG_SENSORS_GL518SM is not set |
826 | # CONFIG_SENSORS_GL520SM is not set | 765 | # CONFIG_SENSORS_GL520SM is not set |
827 | # CONFIG_SENSORS_IT87 is not set | 766 | # CONFIG_SENSORS_IT87 is not set |
@@ -836,13 +775,16 @@ CONFIG_HWMON=y | |||
836 | # CONFIG_SENSORS_LM87 is not set | 775 | # CONFIG_SENSORS_LM87 is not set |
837 | # CONFIG_SENSORS_LM90 is not set | 776 | # CONFIG_SENSORS_LM90 is not set |
838 | # CONFIG_SENSORS_LM92 is not set | 777 | # CONFIG_SENSORS_LM92 is not set |
778 | # CONFIG_SENSORS_LM93 is not set | ||
839 | # CONFIG_SENSORS_MAX1619 is not set | 779 | # CONFIG_SENSORS_MAX1619 is not set |
840 | # CONFIG_SENSORS_MAX6650 is not set | 780 | # CONFIG_SENSORS_MAX6650 is not set |
841 | # CONFIG_SENSORS_PC87360 is not set | 781 | # CONFIG_SENSORS_PC87360 is not set |
842 | # CONFIG_SENSORS_PC87427 is not set | 782 | # CONFIG_SENSORS_PC87427 is not set |
783 | # CONFIG_SENSORS_DME1737 is not set | ||
843 | # CONFIG_SENSORS_SMSC47M1 is not set | 784 | # CONFIG_SENSORS_SMSC47M1 is not set |
844 | # CONFIG_SENSORS_SMSC47M192 is not set | 785 | # CONFIG_SENSORS_SMSC47M192 is not set |
845 | # CONFIG_SENSORS_SMSC47B397 is not set | 786 | # CONFIG_SENSORS_SMSC47B397 is not set |
787 | # CONFIG_SENSORS_THMC50 is not set | ||
846 | # CONFIG_SENSORS_VT1211 is not set | 788 | # CONFIG_SENSORS_VT1211 is not set |
847 | # CONFIG_SENSORS_W83781D is not set | 789 | # CONFIG_SENSORS_W83781D is not set |
848 | # CONFIG_SENSORS_W83791D is not set | 790 | # CONFIG_SENSORS_W83791D is not set |
@@ -852,6 +794,20 @@ CONFIG_HWMON=y | |||
852 | # CONFIG_SENSORS_W83627HF is not set | 794 | # CONFIG_SENSORS_W83627HF is not set |
853 | # CONFIG_SENSORS_W83627EHF is not set | 795 | # CONFIG_SENSORS_W83627EHF is not set |
854 | # CONFIG_HWMON_DEBUG_CHIP is not set | 796 | # CONFIG_HWMON_DEBUG_CHIP is not set |
797 | CONFIG_WATCHDOG=y | ||
798 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
799 | |||
800 | # | ||
801 | # Watchdog Device Drivers | ||
802 | # | ||
803 | # CONFIG_SOFT_WATCHDOG is not set | ||
804 | CONFIG_BFIN_WDT=y | ||
805 | |||
806 | # | ||
807 | # Sonics Silicon Backplane | ||
808 | # | ||
809 | CONFIG_SSB_POSSIBLE=y | ||
810 | # CONFIG_SSB is not set | ||
855 | 811 | ||
856 | # | 812 | # |
857 | # Multifunction device drivers | 813 | # Multifunction device drivers |
@@ -863,24 +819,20 @@ CONFIG_HWMON=y | |||
863 | # | 819 | # |
864 | # CONFIG_VIDEO_DEV is not set | 820 | # CONFIG_VIDEO_DEV is not set |
865 | # CONFIG_DVB_CORE is not set | 821 | # CONFIG_DVB_CORE is not set |
866 | CONFIG_DAB=y | 822 | # CONFIG_DAB is not set |
867 | 823 | ||
868 | # | 824 | # |
869 | # Graphics support | 825 | # Graphics support |
870 | # | 826 | # |
871 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
872 | |||
873 | # | ||
874 | # Display device support | ||
875 | # | ||
876 | # CONFIG_DISPLAY_SUPPORT is not set | ||
877 | # CONFIG_VGASTATE is not set | 827 | # CONFIG_VGASTATE is not set |
828 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
878 | CONFIG_FB=m | 829 | CONFIG_FB=m |
879 | CONFIG_FIRMWARE_EDID=y | 830 | CONFIG_FIRMWARE_EDID=y |
880 | # CONFIG_FB_DDC is not set | 831 | # CONFIG_FB_DDC is not set |
881 | CONFIG_FB_CFB_FILLRECT=m | 832 | CONFIG_FB_CFB_FILLRECT=m |
882 | CONFIG_FB_CFB_COPYAREA=m | 833 | CONFIG_FB_CFB_COPYAREA=m |
883 | CONFIG_FB_CFB_IMAGEBLIT=m | 834 | CONFIG_FB_CFB_IMAGEBLIT=m |
835 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
884 | # CONFIG_FB_SYS_FILLRECT is not set | 836 | # CONFIG_FB_SYS_FILLRECT is not set |
885 | # CONFIG_FB_SYS_COPYAREA is not set | 837 | # CONFIG_FB_SYS_COPYAREA is not set |
886 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 838 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
@@ -895,7 +847,7 @@ CONFIG_FB_DEFERRED_IO=y | |||
895 | # | 847 | # |
896 | # Frame buffer hardware drivers | 848 | # Frame buffer hardware drivers |
897 | # | 849 | # |
898 | CONFIG_FB_BFIN_7171=m | 850 | # CONFIG_FB_BFIN_T350MCQB is not set |
899 | CONFIG_FB_BFIN_7393=m | 851 | CONFIG_FB_BFIN_7393=m |
900 | CONFIG_NTSC=y | 852 | CONFIG_NTSC=y |
901 | # CONFIG_PAL is not set | 853 | # CONFIG_PAL is not set |
@@ -905,9 +857,14 @@ CONFIG_NTSC=y | |||
905 | # CONFIG_PAL_YCBCR is not set | 857 | # CONFIG_PAL_YCBCR is not set |
906 | CONFIG_ADV7393_1XMEM=y | 858 | CONFIG_ADV7393_1XMEM=y |
907 | # CONFIG_ADV7393_2XMEM is not set | 859 | # CONFIG_ADV7393_2XMEM is not set |
908 | # CONFIG_FB_BFIN_T350MCQB is not set | ||
909 | # CONFIG_FB_S1D13XXX is not set | 860 | # CONFIG_FB_S1D13XXX is not set |
910 | # CONFIG_FB_VIRTUAL is not set | 861 | # CONFIG_FB_VIRTUAL is not set |
862 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
863 | |||
864 | # | ||
865 | # Display device support | ||
866 | # | ||
867 | # CONFIG_DISPLAY_SUPPORT is not set | ||
911 | # CONFIG_LOGO is not set | 868 | # CONFIG_LOGO is not set |
912 | 869 | ||
913 | # | 870 | # |
@@ -941,6 +898,10 @@ CONFIG_SND_VERBOSE_PROCFS=y | |||
941 | # CONFIG_SND_MPU401 is not set | 898 | # CONFIG_SND_MPU401 is not set |
942 | 899 | ||
943 | # | 900 | # |
901 | # SPI devices | ||
902 | # | ||
903 | |||
904 | # | ||
944 | # ALSA Blackfin devices | 905 | # ALSA Blackfin devices |
945 | # | 906 | # |
946 | CONFIG_SND_BLACKFIN_AD1836=m | 907 | CONFIG_SND_BLACKFIN_AD1836=m |
@@ -953,69 +914,43 @@ CONFIG_SND_BLACKFIN_SPI_PFBIT=4 | |||
953 | CONFIG_SND_BFIN_AD73311=m | 914 | CONFIG_SND_BFIN_AD73311=m |
954 | CONFIG_SND_BFIN_SPORT=0 | 915 | CONFIG_SND_BFIN_SPORT=0 |
955 | CONFIG_SND_BFIN_AD73311_SE=4 | 916 | CONFIG_SND_BFIN_AD73311_SE=4 |
917 | CONFIG_SND_BFIN_AD73322=m | ||
918 | CONFIG_SND_BFIN_AD73322_SPORT0_SE=10 | ||
919 | CONFIG_SND_BFIN_AD73322_SPORT1_SE=14 | ||
920 | CONFIG_SND_BFIN_AD73322_RESET=12 | ||
956 | 921 | ||
957 | # | 922 | # |
958 | # System on Chip audio support | 923 | # System on Chip audio support |
959 | # | 924 | # |
960 | # CONFIG_SND_SOC is not set | 925 | CONFIG_SND_SOC_AC97_BUS=y |
926 | CONFIG_SND_SOC=m | ||
927 | CONFIG_SND_BF5XX_SOC=m | ||
928 | CONFIG_SND_MMAP_SUPPORT=y | ||
929 | CONFIG_SND_BF5XX_SOC_AC97=m | ||
930 | # CONFIG_SND_BF5XX_SOC_WM8750 is not set | ||
931 | # CONFIG_SND_BF5XX_SOC_WM8731 is not set | ||
932 | # CONFIG_SND_BF5XX_SOC_SSM2602 is not set | ||
933 | CONFIG_SND_BF5XX_SOC_BF5xx=m | ||
934 | CONFIG_SND_BF5XX_SPORT_NUM=0 | ||
935 | # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set | ||
961 | 936 | ||
962 | # | 937 | # |
963 | # Open Sound System | 938 | # SoC Audio support for SuperH |
964 | # | 939 | # |
965 | # CONFIG_SOUND_PRIME is not set | 940 | CONFIG_SND_SOC_AD1980=m |
966 | 941 | ||
967 | # | 942 | # |
968 | # HID Devices | 943 | # Open Sound System |
969 | # | 944 | # |
945 | # CONFIG_SOUND_PRIME is not set | ||
946 | CONFIG_AC97_BUS=m | ||
947 | CONFIG_HID_SUPPORT=y | ||
970 | CONFIG_HID=y | 948 | CONFIG_HID=y |
971 | # CONFIG_HID_DEBUG is not set | 949 | # CONFIG_HID_DEBUG is not set |
972 | 950 | # CONFIG_HIDRAW is not set | |
973 | # | 951 | # CONFIG_USB_SUPPORT is not set |
974 | # USB support | ||
975 | # | ||
976 | CONFIG_USB_ARCH_HAS_HCD=y | ||
977 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
978 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
979 | # CONFIG_USB is not set | ||
980 | |||
981 | # | ||
982 | # Enable Host or Gadget support to see Inventra options | ||
983 | # | ||
984 | |||
985 | # | ||
986 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
987 | # | ||
988 | |||
989 | # | ||
990 | # USB Gadget Support | ||
991 | # | ||
992 | # CONFIG_USB_GADGET is not set | ||
993 | # CONFIG_MMC is not set | 952 | # CONFIG_MMC is not set |
994 | |||
995 | # | ||
996 | # LED devices | ||
997 | # | ||
998 | # CONFIG_NEW_LEDS is not set | 953 | # CONFIG_NEW_LEDS is not set |
999 | |||
1000 | # | ||
1001 | # LED drivers | ||
1002 | # | ||
1003 | |||
1004 | # | ||
1005 | # LED Triggers | ||
1006 | # | ||
1007 | |||
1008 | # | ||
1009 | # InfiniBand support | ||
1010 | # | ||
1011 | |||
1012 | # | ||
1013 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
1014 | # | ||
1015 | |||
1016 | # | ||
1017 | # Real Time Clock | ||
1018 | # | ||
1019 | CONFIG_RTC_LIB=y | 954 | CONFIG_RTC_LIB=y |
1020 | CONFIG_RTC_CLASS=y | 955 | CONFIG_RTC_CLASS=y |
1021 | CONFIG_RTC_HCTOSYS=y | 956 | CONFIG_RTC_HCTOSYS=y |
@@ -1035,6 +970,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1035 | # I2C RTC drivers | 970 | # I2C RTC drivers |
1036 | # | 971 | # |
1037 | # CONFIG_RTC_DRV_DS1307 is not set | 972 | # CONFIG_RTC_DRV_DS1307 is not set |
973 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1038 | # CONFIG_RTC_DRV_DS1672 is not set | 974 | # CONFIG_RTC_DRV_DS1672 is not set |
1039 | # CONFIG_RTC_DRV_MAX6900 is not set | 975 | # CONFIG_RTC_DRV_MAX6900 is not set |
1040 | # CONFIG_RTC_DRV_RS5C372 is not set | 976 | # CONFIG_RTC_DRV_RS5C372 is not set |
@@ -1042,6 +978,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1042 | # CONFIG_RTC_DRV_X1205 is not set | 978 | # CONFIG_RTC_DRV_X1205 is not set |
1043 | # CONFIG_RTC_DRV_PCF8563 is not set | 979 | # CONFIG_RTC_DRV_PCF8563 is not set |
1044 | # CONFIG_RTC_DRV_PCF8583 is not set | 980 | # CONFIG_RTC_DRV_PCF8583 is not set |
981 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1045 | 982 | ||
1046 | # | 983 | # |
1047 | # SPI RTC drivers | 984 | # SPI RTC drivers |
@@ -1053,8 +990,10 @@ CONFIG_RTC_INTF_DEV=y | |||
1053 | # Platform RTC drivers | 990 | # Platform RTC drivers |
1054 | # | 991 | # |
1055 | # CONFIG_RTC_DRV_DS1553 is not set | 992 | # CONFIG_RTC_DRV_DS1553 is not set |
993 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1056 | # CONFIG_RTC_DRV_DS1742 is not set | 994 | # CONFIG_RTC_DRV_DS1742 is not set |
1057 | # CONFIG_RTC_DRV_M48T86 is not set | 995 | # CONFIG_RTC_DRV_M48T86 is not set |
996 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1058 | # CONFIG_RTC_DRV_V3020 is not set | 997 | # CONFIG_RTC_DRV_V3020 is not set |
1059 | 998 | ||
1060 | # | 999 | # |
@@ -1063,22 +1002,9 @@ CONFIG_RTC_INTF_DEV=y | |||
1063 | CONFIG_RTC_DRV_BFIN=y | 1002 | CONFIG_RTC_DRV_BFIN=y |
1064 | 1003 | ||
1065 | # | 1004 | # |
1066 | # DMA Engine support | 1005 | # Userspace I/O |
1067 | # | 1006 | # |
1068 | # CONFIG_DMA_ENGINE is not set | 1007 | # CONFIG_UIO is not set |
1069 | |||
1070 | # | ||
1071 | # DMA Clients | ||
1072 | # | ||
1073 | |||
1074 | # | ||
1075 | # DMA Devices | ||
1076 | # | ||
1077 | |||
1078 | # | ||
1079 | # PBX support | ||
1080 | # | ||
1081 | # CONFIG_PBX is not set | ||
1082 | 1008 | ||
1083 | # | 1009 | # |
1084 | # File systems | 1010 | # File systems |
@@ -1123,7 +1049,6 @@ CONFIG_PROC_SYSCTL=y | |||
1123 | CONFIG_SYSFS=y | 1049 | CONFIG_SYSFS=y |
1124 | # CONFIG_TMPFS is not set | 1050 | # CONFIG_TMPFS is not set |
1125 | # CONFIG_HUGETLB_PAGE is not set | 1051 | # CONFIG_HUGETLB_PAGE is not set |
1126 | CONFIG_RAMFS=y | ||
1127 | # CONFIG_CONFIGFS_FS is not set | 1052 | # CONFIG_CONFIGFS_FS is not set |
1128 | 1053 | ||
1129 | # | 1054 | # |
@@ -1149,10 +1074,12 @@ CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | |||
1149 | CONFIG_JFFS2_FS=m | 1074 | CONFIG_JFFS2_FS=m |
1150 | CONFIG_JFFS2_FS_DEBUG=0 | 1075 | CONFIG_JFFS2_FS_DEBUG=0 |
1151 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 1076 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
1077 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1152 | # CONFIG_JFFS2_SUMMARY is not set | 1078 | # CONFIG_JFFS2_SUMMARY is not set |
1153 | # CONFIG_JFFS2_FS_XATTR is not set | 1079 | # CONFIG_JFFS2_FS_XATTR is not set |
1154 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 1080 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
1155 | CONFIG_JFFS2_ZLIB=y | 1081 | CONFIG_JFFS2_ZLIB=y |
1082 | # CONFIG_JFFS2_LZO is not set | ||
1156 | CONFIG_JFFS2_RTIME=y | 1083 | CONFIG_JFFS2_RTIME=y |
1157 | # CONFIG_JFFS2_RUBIN is not set | 1084 | # CONFIG_JFFS2_RUBIN is not set |
1158 | # CONFIG_CRAMFS is not set | 1085 | # CONFIG_CRAMFS is not set |
@@ -1161,10 +1088,7 @@ CONFIG_JFFS2_RTIME=y | |||
1161 | # CONFIG_QNX4FS_FS is not set | 1088 | # CONFIG_QNX4FS_FS is not set |
1162 | # CONFIG_SYSV_FS is not set | 1089 | # CONFIG_SYSV_FS is not set |
1163 | # CONFIG_UFS_FS is not set | 1090 | # CONFIG_UFS_FS is not set |
1164 | 1091 | CONFIG_NETWORK_FILESYSTEMS=y | |
1165 | # | ||
1166 | # Network File Systems | ||
1167 | # | ||
1168 | CONFIG_NFS_FS=m | 1092 | CONFIG_NFS_FS=m |
1169 | CONFIG_NFS_V3=y | 1093 | CONFIG_NFS_V3=y |
1170 | # CONFIG_NFS_V3_ACL is not set | 1094 | # CONFIG_NFS_V3_ACL is not set |
@@ -1184,17 +1108,12 @@ CONFIG_SMB_FS=m | |||
1184 | # CONFIG_NCP_FS is not set | 1108 | # CONFIG_NCP_FS is not set |
1185 | # CONFIG_CODA_FS is not set | 1109 | # CONFIG_CODA_FS is not set |
1186 | # CONFIG_AFS_FS is not set | 1110 | # CONFIG_AFS_FS is not set |
1187 | # CONFIG_9P_FS is not set | ||
1188 | 1111 | ||
1189 | # | 1112 | # |
1190 | # Partition Types | 1113 | # Partition Types |
1191 | # | 1114 | # |
1192 | # CONFIG_PARTITION_ADVANCED is not set | 1115 | # CONFIG_PARTITION_ADVANCED is not set |
1193 | CONFIG_MSDOS_PARTITION=y | 1116 | CONFIG_MSDOS_PARTITION=y |
1194 | |||
1195 | # | ||
1196 | # Native Language Support | ||
1197 | # | ||
1198 | CONFIG_NLS=m | 1117 | CONFIG_NLS=m |
1199 | CONFIG_NLS_DEFAULT="iso8859-1" | 1118 | CONFIG_NLS_DEFAULT="iso8859-1" |
1200 | # CONFIG_NLS_CODEPAGE_437 is not set | 1119 | # CONFIG_NLS_CODEPAGE_437 is not set |
@@ -1235,21 +1154,16 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1235 | # CONFIG_NLS_KOI8_R is not set | 1154 | # CONFIG_NLS_KOI8_R is not set |
1236 | # CONFIG_NLS_KOI8_U is not set | 1155 | # CONFIG_NLS_KOI8_U is not set |
1237 | # CONFIG_NLS_UTF8 is not set | 1156 | # CONFIG_NLS_UTF8 is not set |
1238 | |||
1239 | # | ||
1240 | # Distributed Lock Manager | ||
1241 | # | ||
1242 | # CONFIG_DLM is not set | 1157 | # CONFIG_DLM is not set |
1243 | 1158 | CONFIG_INSTRUMENTATION=y | |
1244 | # | ||
1245 | # Profiling support | ||
1246 | # | ||
1247 | # CONFIG_PROFILING is not set | 1159 | # CONFIG_PROFILING is not set |
1160 | # CONFIG_MARKERS is not set | ||
1248 | 1161 | ||
1249 | # | 1162 | # |
1250 | # Kernel hacking | 1163 | # Kernel hacking |
1251 | # | 1164 | # |
1252 | # CONFIG_PRINTK_TIME is not set | 1165 | # CONFIG_PRINTK_TIME is not set |
1166 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1253 | CONFIG_ENABLE_MUST_CHECK=y | 1167 | CONFIG_ENABLE_MUST_CHECK=y |
1254 | # CONFIG_MAGIC_SYSRQ is not set | 1168 | # CONFIG_MAGIC_SYSRQ is not set |
1255 | # CONFIG_UNUSED_SYMBOLS is not set | 1169 | # CONFIG_UNUSED_SYMBOLS is not set |
@@ -1257,6 +1171,7 @@ CONFIG_DEBUG_FS=y | |||
1257 | # CONFIG_HEADERS_CHECK is not set | 1171 | # CONFIG_HEADERS_CHECK is not set |
1258 | # CONFIG_DEBUG_KERNEL is not set | 1172 | # CONFIG_DEBUG_KERNEL is not set |
1259 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1173 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1174 | # CONFIG_SAMPLES is not set | ||
1260 | CONFIG_DEBUG_MMRS=y | 1175 | CONFIG_DEBUG_MMRS=y |
1261 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | 1176 | CONFIG_DEBUG_HUNT_FOR_ZERO=y |
1262 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | 1177 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y |
@@ -1276,11 +1191,7 @@ CONFIG_ACCESS_CHECK=y | |||
1276 | # CONFIG_KEYS is not set | 1191 | # CONFIG_KEYS is not set |
1277 | CONFIG_SECURITY=y | 1192 | CONFIG_SECURITY=y |
1278 | # CONFIG_SECURITY_NETWORK is not set | 1193 | # CONFIG_SECURITY_NETWORK is not set |
1279 | CONFIG_SECURITY_CAPABILITIES=m | 1194 | # CONFIG_SECURITY_CAPABILITIES is not set |
1280 | |||
1281 | # | ||
1282 | # Cryptographic options | ||
1283 | # | ||
1284 | # CONFIG_CRYPTO is not set | 1195 | # CONFIG_CRYPTO is not set |
1285 | 1196 | ||
1286 | # | 1197 | # |
@@ -1291,6 +1202,7 @@ CONFIG_CRC_CCITT=m | |||
1291 | # CONFIG_CRC16 is not set | 1202 | # CONFIG_CRC16 is not set |
1292 | # CONFIG_CRC_ITU_T is not set | 1203 | # CONFIG_CRC_ITU_T is not set |
1293 | CONFIG_CRC32=y | 1204 | CONFIG_CRC32=y |
1205 | # CONFIG_CRC7 is not set | ||
1294 | # CONFIG_LIBCRC32C is not set | 1206 | # CONFIG_LIBCRC32C is not set |
1295 | CONFIG_ZLIB_INFLATE=y | 1207 | CONFIG_ZLIB_INFLATE=y |
1296 | CONFIG_ZLIB_DEFLATE=m | 1208 | CONFIG_ZLIB_DEFLATE=m |
diff --git a/arch/blackfin/configs/BF537-STAMP_defconfig b/arch/blackfin/configs/BF537-STAMP_defconfig index b5189c8ba263..5fd7c4b143df 100644 --- a/arch/blackfin/configs/BF537-STAMP_defconfig +++ b/arch/blackfin/configs/BF537-STAMP_defconfig | |||
@@ -1,6 +1,6 @@ | |||
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.16 | 3 | # Linux kernel version: 2.6.24.7 |
4 | # | 4 | # |
5 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
6 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
@@ -13,35 +13,34 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=y | 13 | CONFIG_GENERIC_HWEIGHT=y |
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_TIME=y | ||
17 | CONFIG_GENERIC_GPIO=y | 16 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 17 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 18 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
21 | 20 | ||
22 | # | 21 | # |
23 | # Code maturity level options | 22 | # General setup |
24 | # | 23 | # |
25 | CONFIG_EXPERIMENTAL=y | 24 | CONFIG_EXPERIMENTAL=y |
26 | CONFIG_BROKEN_ON_SMP=y | 25 | CONFIG_BROKEN_ON_SMP=y |
27 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 26 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
28 | |||
29 | # | ||
30 | # General setup | ||
31 | # | ||
32 | CONFIG_LOCALVERSION="" | 27 | CONFIG_LOCALVERSION="" |
33 | CONFIG_LOCALVERSION_AUTO=y | 28 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_SYSVIPC=y | 29 | CONFIG_SYSVIPC=y |
35 | # CONFIG_IPC_NS is not set | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | 30 | CONFIG_SYSVIPC_SYSCTL=y |
37 | # CONFIG_POSIX_MQUEUE is not set | 31 | # CONFIG_POSIX_MQUEUE is not set |
38 | # CONFIG_BSD_PROCESS_ACCT is not set | 32 | # CONFIG_BSD_PROCESS_ACCT is not set |
39 | # CONFIG_TASKSTATS is not set | 33 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_UTS_NS is not set | 34 | # CONFIG_USER_NS is not set |
35 | # CONFIG_PID_NS is not set | ||
41 | # CONFIG_AUDIT is not set | 36 | # CONFIG_AUDIT is not set |
42 | CONFIG_IKCONFIG=y | 37 | CONFIG_IKCONFIG=y |
43 | CONFIG_IKCONFIG_PROC=y | 38 | CONFIG_IKCONFIG_PROC=y |
44 | CONFIG_LOG_BUF_SHIFT=14 | 39 | CONFIG_LOG_BUF_SHIFT=14 |
40 | # CONFIG_CGROUPS is not set | ||
41 | CONFIG_FAIR_GROUP_SCHED=y | ||
42 | CONFIG_FAIR_USER_SCHED=y | ||
43 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
45 | CONFIG_SYSFS_DEPRECATED=y | 44 | CONFIG_SYSFS_DEPRECATED=y |
46 | # CONFIG_RELAY is not set | 45 | # CONFIG_RELAY is not set |
47 | CONFIG_BLK_DEV_INITRD=y | 46 | CONFIG_BLK_DEV_INITRD=y |
@@ -64,32 +63,24 @@ CONFIG_EPOLL=y | |||
64 | CONFIG_SIGNALFD=y | 63 | CONFIG_SIGNALFD=y |
65 | CONFIG_EVENTFD=y | 64 | CONFIG_EVENTFD=y |
66 | CONFIG_VM_EVENT_COUNTERS=y | 65 | CONFIG_VM_EVENT_COUNTERS=y |
67 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
68 | # CONFIG_NP2 is not set | ||
69 | CONFIG_SLAB=y | 66 | CONFIG_SLAB=y |
70 | # CONFIG_SLUB is not set | 67 | # CONFIG_SLUB is not set |
71 | # CONFIG_SLOB is not set | 68 | # CONFIG_SLOB is not set |
69 | CONFIG_SLABINFO=y | ||
72 | CONFIG_RT_MUTEXES=y | 70 | CONFIG_RT_MUTEXES=y |
73 | CONFIG_TINY_SHMEM=y | 71 | CONFIG_TINY_SHMEM=y |
74 | CONFIG_BASE_SMALL=0 | 72 | CONFIG_BASE_SMALL=0 |
75 | |||
76 | # | ||
77 | # Loadable module support | ||
78 | # | ||
79 | CONFIG_MODULES=y | 73 | CONFIG_MODULES=y |
80 | CONFIG_MODULE_UNLOAD=y | 74 | CONFIG_MODULE_UNLOAD=y |
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 75 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 76 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 77 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | 78 | CONFIG_KMOD=y |
85 | |||
86 | # | ||
87 | # Block layer | ||
88 | # | ||
89 | CONFIG_BLOCK=y | 79 | CONFIG_BLOCK=y |
90 | # CONFIG_LBD is not set | 80 | # CONFIG_LBD is not set |
91 | # CONFIG_BLK_DEV_IO_TRACE is not set | 81 | # CONFIG_BLK_DEV_IO_TRACE is not set |
92 | # CONFIG_LSF is not set | 82 | # CONFIG_LSF is not set |
83 | # CONFIG_BLK_DEV_BSG is not set | ||
93 | 84 | ||
94 | # | 85 | # |
95 | # IO Schedulers | 86 | # IO Schedulers |
@@ -141,7 +132,6 @@ CONFIG_BF_REV_0_2=y | |||
141 | # CONFIG_BF_REV_ANY is not set | 132 | # CONFIG_BF_REV_ANY is not set |
142 | # CONFIG_BF_REV_NONE is not set | 133 | # CONFIG_BF_REV_NONE is not set |
143 | CONFIG_BF53x=y | 134 | CONFIG_BF53x=y |
144 | CONFIG_BFIN_SINGLE_CORE=y | ||
145 | CONFIG_MEM_MT48LC32M8A2_75=y | 135 | CONFIG_MEM_MT48LC32M8A2_75=y |
146 | CONFIG_IRQ_PLL_WAKEUP=7 | 136 | CONFIG_IRQ_PLL_WAKEUP=7 |
147 | CONFIG_IRQ_RTC=8 | 137 | CONFIG_IRQ_RTC=8 |
@@ -197,12 +187,14 @@ CONFIG_IRQ_PROG_INTA=12 | |||
197 | # Board customizations | 187 | # Board customizations |
198 | # | 188 | # |
199 | # CONFIG_CMDLINE_BOOL is not set | 189 | # CONFIG_CMDLINE_BOOL is not set |
190 | CONFIG_BOOT_LOAD=0x1000 | ||
200 | 191 | ||
201 | # | 192 | # |
202 | # Clock/PLL Setup | 193 | # Clock/PLL Setup |
203 | # | 194 | # |
204 | CONFIG_CLKIN_HZ=25000000 | 195 | CONFIG_CLKIN_HZ=25000000 |
205 | # CONFIG_BFIN_KERNEL_CLOCK is not set | 196 | # CONFIG_BFIN_KERNEL_CLOCK is not set |
197 | CONFIG_MAX_MEM_SIZE=512 | ||
206 | CONFIG_MAX_VCO_HZ=600000000 | 198 | CONFIG_MAX_VCO_HZ=600000000 |
207 | CONFIG_MIN_VCO_HZ=50000000 | 199 | CONFIG_MIN_VCO_HZ=50000000 |
208 | CONFIG_MAX_SCLK_HZ=133333333 | 200 | CONFIG_MAX_SCLK_HZ=133333333 |
@@ -216,13 +208,17 @@ CONFIG_HZ_250=y | |||
216 | # CONFIG_HZ_300 is not set | 208 | # CONFIG_HZ_300 is not set |
217 | # CONFIG_HZ_1000 is not set | 209 | # CONFIG_HZ_1000 is not set |
218 | CONFIG_HZ=250 | 210 | CONFIG_HZ=250 |
211 | CONFIG_GENERIC_TIME=y | ||
212 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
213 | # CONFIG_CYCLES_CLOCKSOURCE is not set | ||
214 | CONFIG_TICK_ONESHOT=y | ||
215 | # CONFIG_NO_HZ is not set | ||
216 | CONFIG_HIGH_RES_TIMERS=y | ||
217 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
219 | 218 | ||
220 | # | 219 | # |
221 | # Memory Setup | 220 | # Misc |
222 | # | 221 | # |
223 | CONFIG_MAX_MEM_SIZE=512 | ||
224 | CONFIG_MEM_ADD_WIDTH=10 | ||
225 | CONFIG_BOOT_LOAD=0x1000 | ||
226 | CONFIG_BFIN_SCRATCH_REG_RETN=y | 222 | CONFIG_BFIN_SCRATCH_REG_RETN=y |
227 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | 223 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set |
228 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | 224 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set |
@@ -258,12 +254,14 @@ CONFIG_FLATMEM_MANUAL=y | |||
258 | CONFIG_FLATMEM=y | 254 | CONFIG_FLATMEM=y |
259 | CONFIG_FLAT_NODE_MEM_MAP=y | 255 | CONFIG_FLAT_NODE_MEM_MAP=y |
260 | # CONFIG_SPARSEMEM_STATIC is not set | 256 | # CONFIG_SPARSEMEM_STATIC is not set |
257 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
261 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 258 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
262 | # CONFIG_RESOURCES_64BIT is not set | 259 | # CONFIG_RESOURCES_64BIT is not set |
263 | CONFIG_ZONE_DMA_FLAG=1 | 260 | CONFIG_ZONE_DMA_FLAG=1 |
264 | CONFIG_LARGE_ALLOCS=y | 261 | CONFIG_VIRT_TO_BUS=y |
265 | # CONFIG_BFIN_GPTIMERS is not set | 262 | # CONFIG_BFIN_GPTIMERS is not set |
266 | CONFIG_BFIN_DMA_5XX=y | 263 | CONFIG_BFIN_DMA_5XX=y |
264 | # CONFIG_DMA_UNCACHED_4M is not set | ||
267 | # CONFIG_DMA_UNCACHED_2M is not set | 265 | # CONFIG_DMA_UNCACHED_2M is not set |
268 | CONFIG_DMA_UNCACHED_1M=y | 266 | CONFIG_DMA_UNCACHED_1M=y |
269 | # CONFIG_DMA_UNCACHED_NONE is not set | 267 | # CONFIG_DMA_UNCACHED_NONE is not set |
@@ -301,17 +299,13 @@ CONFIG_C_AMBEN_ALL=y | |||
301 | CONFIG_BANK_0=0x7BB0 | 299 | CONFIG_BANK_0=0x7BB0 |
302 | CONFIG_BANK_1=0x7BB0 | 300 | CONFIG_BANK_1=0x7BB0 |
303 | CONFIG_BANK_2=0x7BB0 | 301 | CONFIG_BANK_2=0x7BB0 |
304 | CONFIG_BANK_3=0x99B3 | 302 | CONFIG_BANK_3=0x99B2 |
305 | 303 | ||
306 | # | 304 | # |
307 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | 305 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) |
308 | # | 306 | # |
309 | # CONFIG_PCI is not set | 307 | # CONFIG_PCI is not set |
310 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 308 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
311 | |||
312 | # | ||
313 | # PCCARD (PCMCIA/CardBus) support | ||
314 | # | ||
315 | # CONFIG_PCCARD is not set | 309 | # CONFIG_PCCARD is not set |
316 | 310 | ||
317 | # | 311 | # |
@@ -329,7 +323,9 @@ CONFIG_BINFMT_ZFLAT=y | |||
329 | CONFIG_PM=y | 323 | CONFIG_PM=y |
330 | # CONFIG_PM_LEGACY is not set | 324 | # CONFIG_PM_LEGACY is not set |
331 | # CONFIG_PM_DEBUG is not set | 325 | # CONFIG_PM_DEBUG is not set |
332 | # CONFIG_PM_SYSFS_DEPRECATED is not set | 326 | CONFIG_PM_SLEEP=y |
327 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
328 | CONFIG_SUSPEND=y | ||
333 | CONFIG_PM_BFIN_SLEEP_DEEPER=y | 329 | CONFIG_PM_BFIN_SLEEP_DEEPER=y |
334 | # CONFIG_PM_BFIN_SLEEP is not set | 330 | # CONFIG_PM_BFIN_SLEEP is not set |
335 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | 331 | # CONFIG_PM_WAKEUP_BY_GPIO is not set |
@@ -375,6 +371,7 @@ CONFIG_SYN_COOKIES=y | |||
375 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 371 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
376 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 372 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
377 | CONFIG_INET_XFRM_MODE_BEET=y | 373 | CONFIG_INET_XFRM_MODE_BEET=y |
374 | # CONFIG_INET_LRO is not set | ||
378 | CONFIG_INET_DIAG=y | 375 | CONFIG_INET_DIAG=y |
379 | CONFIG_INET_TCP_DIAG=y | 376 | CONFIG_INET_TCP_DIAG=y |
380 | # CONFIG_TCP_CONG_ADVANCED is not set | 377 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -401,10 +398,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
401 | # CONFIG_LAPB is not set | 398 | # CONFIG_LAPB is not set |
402 | # CONFIG_ECONET is not set | 399 | # CONFIG_ECONET is not set |
403 | # CONFIG_WAN_ROUTER is not set | 400 | # CONFIG_WAN_ROUTER is not set |
404 | |||
405 | # | ||
406 | # QoS and/or fair queueing | ||
407 | # | ||
408 | # CONFIG_NET_SCHED is not set | 401 | # CONFIG_NET_SCHED is not set |
409 | 402 | ||
410 | # | 403 | # |
@@ -436,6 +429,10 @@ CONFIG_IRDA_CACHE_LAST_LSAP=y | |||
436 | # SIR device drivers | 429 | # SIR device drivers |
437 | # | 430 | # |
438 | CONFIG_IRTTY_SIR=m | 431 | CONFIG_IRTTY_SIR=m |
432 | CONFIG_BFIN_SIR=m | ||
433 | CONFIG_BFIN_SIR1=y | ||
434 | CONFIG_SIR_BFIN_DMA=y | ||
435 | # CONFIG_SIR_BFIN_PIO is not set | ||
439 | 436 | ||
440 | # | 437 | # |
441 | # Dongle support | 438 | # Dongle support |
@@ -465,6 +462,7 @@ CONFIG_IRTTY_SIR=m | |||
465 | # CONFIG_MAC80211 is not set | 462 | # CONFIG_MAC80211 is not set |
466 | # CONFIG_IEEE80211 is not set | 463 | # CONFIG_IEEE80211 is not set |
467 | # CONFIG_RFKILL is not set | 464 | # CONFIG_RFKILL is not set |
465 | # CONFIG_NET_9P is not set | ||
468 | 466 | ||
469 | # | 467 | # |
470 | # Device Drivers | 468 | # Device Drivers |
@@ -473,14 +471,11 @@ CONFIG_IRTTY_SIR=m | |||
473 | # | 471 | # |
474 | # Generic Driver Options | 472 | # Generic Driver Options |
475 | # | 473 | # |
474 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
476 | CONFIG_STANDALONE=y | 475 | CONFIG_STANDALONE=y |
477 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 476 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
478 | # CONFIG_FW_LOADER is not set | 477 | # CONFIG_FW_LOADER is not set |
479 | # CONFIG_SYS_HYPERVISOR is not set | 478 | # CONFIG_SYS_HYPERVISOR is not set |
480 | |||
481 | # | ||
482 | # Connector - unified userspace <-> kernelspace linker | ||
483 | # | ||
484 | # CONFIG_CONNECTOR is not set | 479 | # CONFIG_CONNECTOR is not set |
485 | CONFIG_MTD=y | 480 | CONFIG_MTD=y |
486 | # CONFIG_MTD_DEBUG is not set | 481 | # CONFIG_MTD_DEBUG is not set |
@@ -500,6 +495,7 @@ CONFIG_MTD_BLOCK=y | |||
500 | # CONFIG_INFTL is not set | 495 | # CONFIG_INFTL is not set |
501 | # CONFIG_RFD_FTL is not set | 496 | # CONFIG_RFD_FTL is not set |
502 | # CONFIG_SSFDC is not set | 497 | # CONFIG_SSFDC is not set |
498 | # CONFIG_MTD_OOPS is not set | ||
503 | 499 | ||
504 | # | 500 | # |
505 | # RAM/ROM/Flash chip drivers | 501 | # RAM/ROM/Flash chip drivers |
@@ -572,20 +568,8 @@ CONFIG_MTD_NAND_IDS=m | |||
572 | # UBI - Unsorted block images | 568 | # UBI - Unsorted block images |
573 | # | 569 | # |
574 | # CONFIG_MTD_UBI is not set | 570 | # CONFIG_MTD_UBI is not set |
575 | |||
576 | # | ||
577 | # Parallel port support | ||
578 | # | ||
579 | # CONFIG_PARPORT is not set | 571 | # CONFIG_PARPORT is not set |
580 | 572 | CONFIG_BLK_DEV=y | |
581 | # | ||
582 | # Plug and Play support | ||
583 | # | ||
584 | # CONFIG_PNPACPI is not set | ||
585 | |||
586 | # | ||
587 | # Block devices | ||
588 | # | ||
589 | # CONFIG_BLK_DEV_COW_COMMON is not set | 573 | # CONFIG_BLK_DEV_COW_COMMON is not set |
590 | # CONFIG_BLK_DEV_LOOP is not set | 574 | # CONFIG_BLK_DEV_LOOP is not set |
591 | # CONFIG_BLK_DEV_NBD is not set | 575 | # CONFIG_BLK_DEV_NBD is not set |
@@ -595,10 +579,8 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
595 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | 579 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 |
596 | # CONFIG_CDROM_PKTCDVD is not set | 580 | # CONFIG_CDROM_PKTCDVD is not set |
597 | # CONFIG_ATA_OVER_ETH is not set | 581 | # CONFIG_ATA_OVER_ETH is not set |
598 | 582 | CONFIG_MISC_DEVICES=y | |
599 | # | 583 | # CONFIG_EEPROM_93CX6 is not set |
600 | # Misc devices | ||
601 | # | ||
602 | # CONFIG_IDE is not set | 584 | # CONFIG_IDE is not set |
603 | 585 | ||
604 | # | 586 | # |
@@ -606,22 +588,18 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | |||
606 | # | 588 | # |
607 | # CONFIG_RAID_ATTRS is not set | 589 | # CONFIG_RAID_ATTRS is not set |
608 | # CONFIG_SCSI is not set | 590 | # CONFIG_SCSI is not set |
591 | # CONFIG_SCSI_DMA is not set | ||
609 | # CONFIG_SCSI_NETLINK is not set | 592 | # CONFIG_SCSI_NETLINK is not set |
610 | # CONFIG_ATA is not set | 593 | # CONFIG_ATA is not set |
611 | |||
612 | # | ||
613 | # Multi-device support (RAID and LVM) | ||
614 | # | ||
615 | # CONFIG_MD is not set | 594 | # CONFIG_MD is not set |
616 | |||
617 | # | ||
618 | # Network device support | ||
619 | # | ||
620 | CONFIG_NETDEVICES=y | 595 | CONFIG_NETDEVICES=y |
596 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
621 | # CONFIG_DUMMY is not set | 597 | # CONFIG_DUMMY is not set |
622 | # CONFIG_BONDING is not set | 598 | # CONFIG_BONDING is not set |
599 | # CONFIG_MACVLAN is not set | ||
623 | # CONFIG_EQUALIZER is not set | 600 | # CONFIG_EQUALIZER is not set |
624 | # CONFIG_TUN is not set | 601 | # CONFIG_TUN is not set |
602 | # CONFIG_VETH is not set | ||
625 | CONFIG_PHYLIB=y | 603 | CONFIG_PHYLIB=y |
626 | 604 | ||
627 | # | 605 | # |
@@ -635,21 +613,24 @@ CONFIG_PHYLIB=y | |||
635 | # CONFIG_VITESSE_PHY is not set | 613 | # CONFIG_VITESSE_PHY is not set |
636 | CONFIG_SMSC_PHY=y | 614 | CONFIG_SMSC_PHY=y |
637 | # CONFIG_BROADCOM_PHY is not set | 615 | # CONFIG_BROADCOM_PHY is not set |
616 | # CONFIG_ICPLUS_PHY is not set | ||
638 | # CONFIG_FIXED_PHY is not set | 617 | # CONFIG_FIXED_PHY is not set |
639 | 618 | # CONFIG_MDIO_BITBANG is not set | |
640 | # | ||
641 | # Ethernet (10 or 100Mbit) | ||
642 | # | ||
643 | CONFIG_NET_ETHERNET=y | 619 | CONFIG_NET_ETHERNET=y |
644 | CONFIG_MII=y | 620 | CONFIG_MII=y |
645 | # CONFIG_SMC91X is not set | ||
646 | CONFIG_BFIN_MAC=y | 621 | CONFIG_BFIN_MAC=y |
647 | CONFIG_BFIN_MAC_USE_L1=y | 622 | CONFIG_BFIN_MAC_USE_L1=y |
648 | CONFIG_BFIN_TX_DESC_NUM=10 | 623 | CONFIG_BFIN_TX_DESC_NUM=10 |
649 | CONFIG_BFIN_RX_DESC_NUM=20 | 624 | CONFIG_BFIN_RX_DESC_NUM=20 |
650 | # CONFIG_BFIN_MAC_RMII is not set | 625 | # CONFIG_BFIN_MAC_RMII is not set |
626 | # CONFIG_SMC91X is not set | ||
651 | # CONFIG_SMSC911X is not set | 627 | # CONFIG_SMSC911X is not set |
652 | # CONFIG_DM9000 is not set | 628 | # CONFIG_DM9000 is not set |
629 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
630 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
631 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
632 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
633 | # CONFIG_B44 is not set | ||
653 | CONFIG_NETDEV_1000=y | 634 | CONFIG_NETDEV_1000=y |
654 | # CONFIG_AX88180 is not set | 635 | # CONFIG_AX88180 is not set |
655 | CONFIG_NETDEV_10000=y | 636 | CONFIG_NETDEV_10000=y |
@@ -666,15 +647,7 @@ CONFIG_NETDEV_10000=y | |||
666 | # CONFIG_NETCONSOLE is not set | 647 | # CONFIG_NETCONSOLE is not set |
667 | # CONFIG_NETPOLL is not set | 648 | # CONFIG_NETPOLL is not set |
668 | # CONFIG_NET_POLL_CONTROLLER is not set | 649 | # CONFIG_NET_POLL_CONTROLLER is not set |
669 | |||
670 | # | ||
671 | # ISDN subsystem | ||
672 | # | ||
673 | # CONFIG_ISDN is not set | 650 | # CONFIG_ISDN is not set |
674 | |||
675 | # | ||
676 | # Telephony Support | ||
677 | # | ||
678 | # CONFIG_PHONE is not set | 651 | # CONFIG_PHONE is not set |
679 | 652 | ||
680 | # | 653 | # |
@@ -689,7 +662,6 @@ CONFIG_INPUT=y | |||
689 | # | 662 | # |
690 | # CONFIG_INPUT_MOUSEDEV is not set | 663 | # CONFIG_INPUT_MOUSEDEV is not set |
691 | # CONFIG_INPUT_JOYDEV is not set | 664 | # CONFIG_INPUT_JOYDEV is not set |
692 | # CONFIG_INPUT_TSDEV is not set | ||
693 | CONFIG_INPUT_EVDEV=m | 665 | CONFIG_INPUT_EVDEV=m |
694 | # CONFIG_INPUT_EVBUG is not set | 666 | # CONFIG_INPUT_EVBUG is not set |
695 | 667 | ||
@@ -702,14 +674,8 @@ CONFIG_INPUT_EVDEV=m | |||
702 | # CONFIG_INPUT_TABLET is not set | 674 | # CONFIG_INPUT_TABLET is not set |
703 | # CONFIG_INPUT_TOUCHSCREEN is not set | 675 | # CONFIG_INPUT_TOUCHSCREEN is not set |
704 | CONFIG_INPUT_MISC=y | 676 | CONFIG_INPUT_MISC=y |
705 | # CONFIG_INPUT_ATI_REMOTE is not set | ||
706 | # CONFIG_INPUT_ATI_REMOTE2 is not set | ||
707 | # CONFIG_INPUT_KEYSPAN_REMOTE is not set | ||
708 | # CONFIG_INPUT_POWERMATE is not set | ||
709 | # CONFIG_INPUT_YEALINK is not set | ||
710 | # CONFIG_INPUT_UINPUT is not set | 677 | # CONFIG_INPUT_UINPUT is not set |
711 | CONFIG_TWI_KEYPAD=m | 678 | CONFIG_TWI_KEYPAD=m |
712 | CONFIG_BFIN_TWIKEYPAD_IRQ_PFX=72 | ||
713 | 679 | ||
714 | # | 680 | # |
715 | # Hardware I/O ports | 681 | # Hardware I/O ports |
@@ -722,15 +688,13 @@ CONFIG_BFIN_TWIKEYPAD_IRQ_PFX=72 | |||
722 | # | 688 | # |
723 | # CONFIG_AD9960 is not set | 689 | # CONFIG_AD9960 is not set |
724 | # CONFIG_SPI_ADC_BF533 is not set | 690 | # CONFIG_SPI_ADC_BF533 is not set |
725 | # CONFIG_BF5xx_PFLAGS is not set | ||
726 | # CONFIG_BF5xx_PPIFCD is not set | 691 | # CONFIG_BF5xx_PPIFCD is not set |
727 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 692 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
728 | # CONFIG_BF5xx_PPI is not set | 693 | # CONFIG_BF5xx_PPI is not set |
729 | CONFIG_BFIN_SPORT=y | 694 | CONFIG_BFIN_SPORT=y |
730 | # CONFIG_BFIN_TIMER_LATENCY is not set | 695 | # CONFIG_BFIN_TIMER_LATENCY is not set |
731 | CONFIG_TWI_LCD=m | 696 | CONFIG_TWI_LCD=m |
732 | CONFIG_TWI_LCD_SLAVE_ADDR=34 | 697 | CONFIG_SIMPLE_GPIO=m |
733 | # CONFIG_AD5304 is not set | ||
734 | # CONFIG_VT is not set | 698 | # CONFIG_VT is not set |
735 | # CONFIG_SERIAL_NONSTANDARD is not set | 699 | # CONFIG_SERIAL_NONSTANDARD is not set |
736 | 700 | ||
@@ -766,28 +730,11 @@ CONFIG_CAN4LINUX=y | |||
766 | # CONFIG_CAN_MCF5282 is not set | 730 | # CONFIG_CAN_MCF5282 is not set |
767 | # CONFIG_CAN_UNCTWINCAN is not set | 731 | # CONFIG_CAN_UNCTWINCAN is not set |
768 | CONFIG_CAN_BLACKFIN=m | 732 | CONFIG_CAN_BLACKFIN=m |
769 | |||
770 | # | ||
771 | # IPMI | ||
772 | # | ||
773 | # CONFIG_IPMI_HANDLER is not set | 733 | # CONFIG_IPMI_HANDLER is not set |
774 | CONFIG_WATCHDOG=y | ||
775 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
776 | |||
777 | # | ||
778 | # Watchdog Device Drivers | ||
779 | # | ||
780 | # CONFIG_SOFT_WATCHDOG is not set | ||
781 | CONFIG_BFIN_WDT=y | ||
782 | CONFIG_HW_RANDOM=y | 734 | CONFIG_HW_RANDOM=y |
783 | # CONFIG_GEN_RTC is not set | 735 | # CONFIG_GEN_RTC is not set |
784 | CONFIG_BLACKFIN_DPMC=y | ||
785 | # CONFIG_R3964 is not set | 736 | # CONFIG_R3964 is not set |
786 | # CONFIG_RAW_DRIVER is not set | 737 | # CONFIG_RAW_DRIVER is not set |
787 | |||
788 | # | ||
789 | # TPM devices | ||
790 | # | ||
791 | # CONFIG_TCG_TPM is not set | 738 | # CONFIG_TCG_TPM is not set |
792 | CONFIG_I2C=m | 739 | CONFIG_I2C=m |
793 | CONFIG_I2C_BOARDINFO=y | 740 | CONFIG_I2C_BOARDINFO=y |
@@ -809,6 +756,7 @@ CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=50 | |||
809 | # CONFIG_I2C_OCORES is not set | 756 | # CONFIG_I2C_OCORES is not set |
810 | # CONFIG_I2C_PARPORT_LIGHT is not set | 757 | # CONFIG_I2C_PARPORT_LIGHT is not set |
811 | # CONFIG_I2C_SIMTEC is not set | 758 | # CONFIG_I2C_SIMTEC is not set |
759 | # CONFIG_I2C_TAOS_EVM is not set | ||
812 | # CONFIG_I2C_STUB is not set | 760 | # CONFIG_I2C_STUB is not set |
813 | 761 | ||
814 | # | 762 | # |
@@ -816,14 +764,15 @@ CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=50 | |||
816 | # | 764 | # |
817 | # CONFIG_SENSORS_DS1337 is not set | 765 | # CONFIG_SENSORS_DS1337 is not set |
818 | # CONFIG_SENSORS_DS1374 is not set | 766 | # CONFIG_SENSORS_DS1374 is not set |
767 | # CONFIG_DS1682 is not set | ||
819 | CONFIG_SENSORS_AD5252=m | 768 | CONFIG_SENSORS_AD5252=m |
820 | # CONFIG_SENSORS_EEPROM is not set | 769 | # CONFIG_SENSORS_EEPROM is not set |
821 | # CONFIG_SENSORS_PCF8574 is not set | 770 | # CONFIG_SENSORS_PCF8574 is not set |
822 | # CONFIG_SENSORS_PCF8575 is not set | 771 | # CONFIG_SENSORS_PCF8575 is not set |
823 | # CONFIG_SENSORS_PCA9543 is not set | ||
824 | # CONFIG_SENSORS_PCA9539 is not set | 772 | # CONFIG_SENSORS_PCA9539 is not set |
825 | # CONFIG_SENSORS_PCF8591 is not set | 773 | # CONFIG_SENSORS_PCF8591 is not set |
826 | # CONFIG_SENSORS_MAX6875 is not set | 774 | # CONFIG_SENSORS_MAX6875 is not set |
775 | # CONFIG_SENSORS_TSL2550 is not set | ||
827 | # CONFIG_I2C_DEBUG_CORE is not set | 776 | # CONFIG_I2C_DEBUG_CORE is not set |
828 | # CONFIG_I2C_DEBUG_ALGO is not set | 777 | # CONFIG_I2C_DEBUG_ALGO is not set |
829 | # CONFIG_I2C_DEBUG_BUS is not set | 778 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -846,14 +795,11 @@ CONFIG_SPI_BFIN=y | |||
846 | # | 795 | # |
847 | # CONFIG_SPI_AT25 is not set | 796 | # CONFIG_SPI_AT25 is not set |
848 | # CONFIG_SPI_SPIDEV is not set | 797 | # CONFIG_SPI_SPIDEV is not set |
849 | 798 | # CONFIG_SPI_TLE62X0 is not set | |
850 | # | ||
851 | # Dallas's 1-wire bus | ||
852 | # | ||
853 | # CONFIG_W1 is not set | 799 | # CONFIG_W1 is not set |
800 | # CONFIG_POWER_SUPPLY is not set | ||
854 | CONFIG_HWMON=y | 801 | CONFIG_HWMON=y |
855 | # CONFIG_HWMON_VID is not set | 802 | # CONFIG_HWMON_VID is not set |
856 | # CONFIG_SENSORS_ABITUGURU is not set | ||
857 | # CONFIG_SENSORS_AD7418 is not set | 803 | # CONFIG_SENSORS_AD7418 is not set |
858 | # CONFIG_SENSORS_ADM1021 is not set | 804 | # CONFIG_SENSORS_ADM1021 is not set |
859 | # CONFIG_SENSORS_ADM1025 is not set | 805 | # CONFIG_SENSORS_ADM1025 is not set |
@@ -861,12 +807,12 @@ CONFIG_HWMON=y | |||
861 | # CONFIG_SENSORS_ADM1029 is not set | 807 | # CONFIG_SENSORS_ADM1029 is not set |
862 | # CONFIG_SENSORS_ADM1031 is not set | 808 | # CONFIG_SENSORS_ADM1031 is not set |
863 | # CONFIG_SENSORS_ADM9240 is not set | 809 | # CONFIG_SENSORS_ADM9240 is not set |
864 | # CONFIG_SENSORS_ASB100 is not set | 810 | # CONFIG_SENSORS_ADT7470 is not set |
865 | # CONFIG_SENSORS_ATXP1 is not set | 811 | # CONFIG_SENSORS_ATXP1 is not set |
866 | # CONFIG_SENSORS_DS1621 is not set | 812 | # CONFIG_SENSORS_DS1621 is not set |
867 | # CONFIG_SENSORS_F71805F is not set | 813 | # CONFIG_SENSORS_F71805F is not set |
868 | # CONFIG_SENSORS_FSCHER is not set | 814 | # CONFIG_SENSORS_F71882FG is not set |
869 | # CONFIG_SENSORS_FSCPOS is not set | 815 | # CONFIG_SENSORS_F75375S is not set |
870 | # CONFIG_SENSORS_GL518SM is not set | 816 | # CONFIG_SENSORS_GL518SM is not set |
871 | # CONFIG_SENSORS_GL520SM is not set | 817 | # CONFIG_SENSORS_GL520SM is not set |
872 | # CONFIG_SENSORS_IT87 is not set | 818 | # CONFIG_SENSORS_IT87 is not set |
@@ -881,13 +827,16 @@ CONFIG_HWMON=y | |||
881 | # CONFIG_SENSORS_LM87 is not set | 827 | # CONFIG_SENSORS_LM87 is not set |
882 | # CONFIG_SENSORS_LM90 is not set | 828 | # CONFIG_SENSORS_LM90 is not set |
883 | # CONFIG_SENSORS_LM92 is not set | 829 | # CONFIG_SENSORS_LM92 is not set |
830 | # CONFIG_SENSORS_LM93 is not set | ||
884 | # CONFIG_SENSORS_MAX1619 is not set | 831 | # CONFIG_SENSORS_MAX1619 is not set |
885 | # CONFIG_SENSORS_MAX6650 is not set | 832 | # CONFIG_SENSORS_MAX6650 is not set |
886 | # CONFIG_SENSORS_PC87360 is not set | 833 | # CONFIG_SENSORS_PC87360 is not set |
887 | # CONFIG_SENSORS_PC87427 is not set | 834 | # CONFIG_SENSORS_PC87427 is not set |
835 | # CONFIG_SENSORS_DME1737 is not set | ||
888 | # CONFIG_SENSORS_SMSC47M1 is not set | 836 | # CONFIG_SENSORS_SMSC47M1 is not set |
889 | # CONFIG_SENSORS_SMSC47M192 is not set | 837 | # CONFIG_SENSORS_SMSC47M192 is not set |
890 | # CONFIG_SENSORS_SMSC47B397 is not set | 838 | # CONFIG_SENSORS_SMSC47B397 is not set |
839 | # CONFIG_SENSORS_THMC50 is not set | ||
891 | # CONFIG_SENSORS_VT1211 is not set | 840 | # CONFIG_SENSORS_VT1211 is not set |
892 | # CONFIG_SENSORS_W83781D is not set | 841 | # CONFIG_SENSORS_W83781D is not set |
893 | # CONFIG_SENSORS_W83791D is not set | 842 | # CONFIG_SENSORS_W83791D is not set |
@@ -897,6 +846,20 @@ CONFIG_HWMON=y | |||
897 | # CONFIG_SENSORS_W83627HF is not set | 846 | # CONFIG_SENSORS_W83627HF is not set |
898 | # CONFIG_SENSORS_W83627EHF is not set | 847 | # CONFIG_SENSORS_W83627EHF is not set |
899 | # CONFIG_HWMON_DEBUG_CHIP is not set | 848 | # CONFIG_HWMON_DEBUG_CHIP is not set |
849 | CONFIG_WATCHDOG=y | ||
850 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
851 | |||
852 | # | ||
853 | # Watchdog Device Drivers | ||
854 | # | ||
855 | # CONFIG_SOFT_WATCHDOG is not set | ||
856 | CONFIG_BFIN_WDT=y | ||
857 | |||
858 | # | ||
859 | # Sonics Silicon Backplane | ||
860 | # | ||
861 | CONFIG_SSB_POSSIBLE=y | ||
862 | # CONFIG_SSB is not set | ||
900 | 863 | ||
901 | # | 864 | # |
902 | # Multifunction device drivers | 865 | # Multifunction device drivers |
@@ -913,21 +876,15 @@ CONFIG_DAB=y | |||
913 | # | 876 | # |
914 | # Graphics support | 877 | # Graphics support |
915 | # | 878 | # |
916 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
917 | CONFIG_BACKLIGHT_CLASS_DEVICE=m | ||
918 | CONFIG_LCD_CLASS_DEVICE=m | ||
919 | |||
920 | # | ||
921 | # Display device support | ||
922 | # | ||
923 | # CONFIG_DISPLAY_SUPPORT is not set | ||
924 | # CONFIG_VGASTATE is not set | 879 | # CONFIG_VGASTATE is not set |
880 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
925 | CONFIG_FB=m | 881 | CONFIG_FB=m |
926 | CONFIG_FIRMWARE_EDID=y | 882 | CONFIG_FIRMWARE_EDID=y |
927 | # CONFIG_FB_DDC is not set | 883 | # CONFIG_FB_DDC is not set |
928 | CONFIG_FB_CFB_FILLRECT=m | 884 | CONFIG_FB_CFB_FILLRECT=m |
929 | CONFIG_FB_CFB_COPYAREA=m | 885 | CONFIG_FB_CFB_COPYAREA=m |
930 | CONFIG_FB_CFB_IMAGEBLIT=m | 886 | CONFIG_FB_CFB_IMAGEBLIT=m |
887 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
931 | # CONFIG_FB_SYS_FILLRECT is not set | 888 | # CONFIG_FB_SYS_FILLRECT is not set |
932 | # CONFIG_FB_SYS_COPYAREA is not set | 889 | # CONFIG_FB_SYS_COPYAREA is not set |
933 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 890 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
@@ -942,7 +899,8 @@ CONFIG_FB_DEFERRED_IO=y | |||
942 | # | 899 | # |
943 | # Frame buffer hardware drivers | 900 | # Frame buffer hardware drivers |
944 | # | 901 | # |
945 | CONFIG_FB_BFIN_7171=m | 902 | # CONFIG_FB_HITACHI_TX09 is not set |
903 | # CONFIG_FB_BFIN_T350MCQB is not set | ||
946 | CONFIG_FB_BFIN_7393=m | 904 | CONFIG_FB_BFIN_7393=m |
947 | CONFIG_NTSC=y | 905 | CONFIG_NTSC=y |
948 | # CONFIG_PAL is not set | 906 | # CONFIG_PAL is not set |
@@ -956,10 +914,18 @@ CONFIG_FB_BF537_LQ035=m | |||
956 | CONFIG_LQ035_SLAVE_ADDR=0x58 | 914 | CONFIG_LQ035_SLAVE_ADDR=0x58 |
957 | # CONFIG_FB_BFIN_LANDSCAPE is not set | 915 | # CONFIG_FB_BFIN_LANDSCAPE is not set |
958 | # CONFIG_FB_BFIN_BGR is not set | 916 | # CONFIG_FB_BFIN_BGR is not set |
959 | # CONFIG_FB_BFIN_T350MCQB is not set | ||
960 | # CONFIG_FB_HITACHI_TX09 is not set | ||
961 | # CONFIG_FB_S1D13XXX is not set | 917 | # CONFIG_FB_S1D13XXX is not set |
962 | # CONFIG_FB_VIRTUAL is not set | 918 | # CONFIG_FB_VIRTUAL is not set |
919 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
920 | CONFIG_LCD_CLASS_DEVICE=m | ||
921 | # CONFIG_LCD_LTV350QV is not set | ||
922 | CONFIG_BACKLIGHT_CLASS_DEVICE=m | ||
923 | CONFIG_BACKLIGHT_CORGI=m | ||
924 | |||
925 | # | ||
926 | # Display device support | ||
927 | # | ||
928 | # CONFIG_DISPLAY_SUPPORT is not set | ||
963 | # CONFIG_LOGO is not set | 929 | # CONFIG_LOGO is not set |
964 | 930 | ||
965 | # | 931 | # |
@@ -993,6 +959,10 @@ CONFIG_SND_VERBOSE_PROCFS=y | |||
993 | # CONFIG_SND_MPU401 is not set | 959 | # CONFIG_SND_MPU401 is not set |
994 | 960 | ||
995 | # | 961 | # |
962 | # SPI devices | ||
963 | # | ||
964 | |||
965 | # | ||
996 | # ALSA Blackfin devices | 966 | # ALSA Blackfin devices |
997 | # | 967 | # |
998 | CONFIG_SND_BLACKFIN_AD1836=m | 968 | CONFIG_SND_BLACKFIN_AD1836=m |
@@ -1005,6 +975,10 @@ CONFIG_SND_BLACKFIN_SPI_PFBIT=4 | |||
1005 | CONFIG_SND_BFIN_AD73311=m | 975 | CONFIG_SND_BFIN_AD73311=m |
1006 | CONFIG_SND_BFIN_SPORT=0 | 976 | CONFIG_SND_BFIN_SPORT=0 |
1007 | CONFIG_SND_BFIN_AD73311_SE=4 | 977 | CONFIG_SND_BFIN_AD73311_SE=4 |
978 | CONFIG_SND_BFIN_AD73322=m | ||
979 | CONFIG_SND_BFIN_AD73322_SPORT0_SE=10 | ||
980 | CONFIG_SND_BFIN_AD73322_SPORT1_SE=14 | ||
981 | CONFIG_SND_BFIN_AD73322_RESET=12 | ||
1008 | 982 | ||
1009 | # | 983 | # |
1010 | # System on Chip audio support | 984 | # System on Chip audio support |
@@ -1016,9 +990,14 @@ CONFIG_SND_MMAP_SUPPORT=y | |||
1016 | CONFIG_SND_BF5XX_SOC_AC97=m | 990 | CONFIG_SND_BF5XX_SOC_AC97=m |
1017 | # CONFIG_SND_BF5XX_SOC_WM8750 is not set | 991 | # CONFIG_SND_BF5XX_SOC_WM8750 is not set |
1018 | # CONFIG_SND_BF5XX_SOC_WM8731 is not set | 992 | # CONFIG_SND_BF5XX_SOC_WM8731 is not set |
993 | # CONFIG_SND_BF5XX_SOC_SSM2602 is not set | ||
1019 | CONFIG_SND_BF5XX_SOC_BF5xx=m | 994 | CONFIG_SND_BF5XX_SOC_BF5xx=m |
1020 | CONFIG_SND_BF5XX_SPORT_NUM=0 | 995 | CONFIG_SND_BF5XX_SPORT_NUM=0 |
1021 | # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set | 996 | # CONFIG_SND_BF5XX_HAVE_COLD_RESET is not set |
997 | |||
998 | # | ||
999 | # SoC Audio support for SuperH | ||
1000 | # | ||
1022 | CONFIG_SND_SOC_AD1980=m | 1001 | CONFIG_SND_SOC_AD1980=m |
1023 | 1002 | ||
1024 | # | 1003 | # |
@@ -1026,59 +1005,18 @@ CONFIG_SND_SOC_AD1980=m | |||
1026 | # | 1005 | # |
1027 | # CONFIG_SOUND_PRIME is not set | 1006 | # CONFIG_SOUND_PRIME is not set |
1028 | CONFIG_AC97_BUS=m | 1007 | CONFIG_AC97_BUS=m |
1029 | 1008 | CONFIG_HID_SUPPORT=y | |
1030 | # | ||
1031 | # HID Devices | ||
1032 | # | ||
1033 | CONFIG_HID=y | 1009 | CONFIG_HID=y |
1034 | # CONFIG_HID_DEBUG is not set | 1010 | # CONFIG_HID_DEBUG is not set |
1035 | 1011 | # CONFIG_HIDRAW is not set | |
1036 | # | 1012 | # CONFIG_USB_SUPPORT is not set |
1037 | # USB support | 1013 | # CONFIG_NO_DUMMY_DELAY is not set |
1038 | # | 1014 | # CONFIG_DUMMY_DELAY_BANK0 is not set |
1039 | CONFIG_USB_ARCH_HAS_HCD=y | 1015 | # CONFIG_DUMMY_DELAY_BANK1 is not set |
1040 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 1016 | # CONFIG_DUMMY_DELAY_BANK2 is not set |
1041 | # CONFIG_USB_ARCH_HAS_EHCI is not set | 1017 | # CONFIG_DUMMY_DELAY_BANK3 is not set |
1042 | # CONFIG_USB is not set | ||
1043 | |||
1044 | # | ||
1045 | # Enable Host or Gadget support to see Inventra options | ||
1046 | # | ||
1047 | |||
1048 | # | ||
1049 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
1050 | # | ||
1051 | |||
1052 | # | ||
1053 | # USB Gadget Support | ||
1054 | # | ||
1055 | # CONFIG_USB_GADGET is not set | ||
1056 | # CONFIG_MMC is not set | 1018 | # CONFIG_MMC is not set |
1057 | |||
1058 | # | ||
1059 | # LED devices | ||
1060 | # | ||
1061 | # CONFIG_NEW_LEDS is not set | 1019 | # CONFIG_NEW_LEDS is not set |
1062 | |||
1063 | # | ||
1064 | # LED drivers | ||
1065 | # | ||
1066 | |||
1067 | # | ||
1068 | # LED Triggers | ||
1069 | # | ||
1070 | |||
1071 | # | ||
1072 | # InfiniBand support | ||
1073 | # | ||
1074 | |||
1075 | # | ||
1076 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
1077 | # | ||
1078 | |||
1079 | # | ||
1080 | # Real Time Clock | ||
1081 | # | ||
1082 | CONFIG_RTC_LIB=y | 1020 | CONFIG_RTC_LIB=y |
1083 | CONFIG_RTC_CLASS=y | 1021 | CONFIG_RTC_CLASS=y |
1084 | CONFIG_RTC_HCTOSYS=y | 1022 | CONFIG_RTC_HCTOSYS=y |
@@ -1098,6 +1036,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1098 | # I2C RTC drivers | 1036 | # I2C RTC drivers |
1099 | # | 1037 | # |
1100 | # CONFIG_RTC_DRV_DS1307 is not set | 1038 | # CONFIG_RTC_DRV_DS1307 is not set |
1039 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1101 | # CONFIG_RTC_DRV_DS1672 is not set | 1040 | # CONFIG_RTC_DRV_DS1672 is not set |
1102 | # CONFIG_RTC_DRV_MAX6900 is not set | 1041 | # CONFIG_RTC_DRV_MAX6900 is not set |
1103 | # CONFIG_RTC_DRV_RS5C372 is not set | 1042 | # CONFIG_RTC_DRV_RS5C372 is not set |
@@ -1105,6 +1044,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1105 | # CONFIG_RTC_DRV_X1205 is not set | 1044 | # CONFIG_RTC_DRV_X1205 is not set |
1106 | # CONFIG_RTC_DRV_PCF8563 is not set | 1045 | # CONFIG_RTC_DRV_PCF8563 is not set |
1107 | # CONFIG_RTC_DRV_PCF8583 is not set | 1046 | # CONFIG_RTC_DRV_PCF8583 is not set |
1047 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1108 | 1048 | ||
1109 | # | 1049 | # |
1110 | # SPI RTC drivers | 1050 | # SPI RTC drivers |
@@ -1116,8 +1056,10 @@ CONFIG_RTC_INTF_DEV=y | |||
1116 | # Platform RTC drivers | 1056 | # Platform RTC drivers |
1117 | # | 1057 | # |
1118 | # CONFIG_RTC_DRV_DS1553 is not set | 1058 | # CONFIG_RTC_DRV_DS1553 is not set |
1059 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1119 | # CONFIG_RTC_DRV_DS1742 is not set | 1060 | # CONFIG_RTC_DRV_DS1742 is not set |
1120 | # CONFIG_RTC_DRV_M48T86 is not set | 1061 | # CONFIG_RTC_DRV_M48T86 is not set |
1062 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1121 | # CONFIG_RTC_DRV_V3020 is not set | 1063 | # CONFIG_RTC_DRV_V3020 is not set |
1122 | 1064 | ||
1123 | # | 1065 | # |
@@ -1126,22 +1068,9 @@ CONFIG_RTC_INTF_DEV=y | |||
1126 | CONFIG_RTC_DRV_BFIN=y | 1068 | CONFIG_RTC_DRV_BFIN=y |
1127 | 1069 | ||
1128 | # | 1070 | # |
1129 | # DMA Engine support | 1071 | # Userspace I/O |
1130 | # | 1072 | # |
1131 | # CONFIG_DMA_ENGINE is not set | 1073 | # CONFIG_UIO is not set |
1132 | |||
1133 | # | ||
1134 | # DMA Clients | ||
1135 | # | ||
1136 | |||
1137 | # | ||
1138 | # DMA Devices | ||
1139 | # | ||
1140 | |||
1141 | # | ||
1142 | # PBX support | ||
1143 | # | ||
1144 | # CONFIG_PBX is not set | ||
1145 | 1074 | ||
1146 | # | 1075 | # |
1147 | # File systems | 1076 | # File systems |
@@ -1186,7 +1115,6 @@ CONFIG_PROC_SYSCTL=y | |||
1186 | CONFIG_SYSFS=y | 1115 | CONFIG_SYSFS=y |
1187 | # CONFIG_TMPFS is not set | 1116 | # CONFIG_TMPFS is not set |
1188 | # CONFIG_HUGETLB_PAGE is not set | 1117 | # CONFIG_HUGETLB_PAGE is not set |
1189 | CONFIG_RAMFS=y | ||
1190 | # CONFIG_CONFIGFS_FS is not set | 1118 | # CONFIG_CONFIGFS_FS is not set |
1191 | 1119 | ||
1192 | # | 1120 | # |
@@ -1212,10 +1140,12 @@ CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | |||
1212 | CONFIG_JFFS2_FS=m | 1140 | CONFIG_JFFS2_FS=m |
1213 | CONFIG_JFFS2_FS_DEBUG=0 | 1141 | CONFIG_JFFS2_FS_DEBUG=0 |
1214 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 1142 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
1143 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1215 | # CONFIG_JFFS2_SUMMARY is not set | 1144 | # CONFIG_JFFS2_SUMMARY is not set |
1216 | # CONFIG_JFFS2_FS_XATTR is not set | 1145 | # CONFIG_JFFS2_FS_XATTR is not set |
1217 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 1146 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
1218 | CONFIG_JFFS2_ZLIB=y | 1147 | CONFIG_JFFS2_ZLIB=y |
1148 | # CONFIG_JFFS2_LZO is not set | ||
1219 | CONFIG_JFFS2_RTIME=y | 1149 | CONFIG_JFFS2_RTIME=y |
1220 | # CONFIG_JFFS2_RUBIN is not set | 1150 | # CONFIG_JFFS2_RUBIN is not set |
1221 | # CONFIG_CRAMFS is not set | 1151 | # CONFIG_CRAMFS is not set |
@@ -1224,10 +1154,7 @@ CONFIG_JFFS2_RTIME=y | |||
1224 | # CONFIG_QNX4FS_FS is not set | 1154 | # CONFIG_QNX4FS_FS is not set |
1225 | # CONFIG_SYSV_FS is not set | 1155 | # CONFIG_SYSV_FS is not set |
1226 | # CONFIG_UFS_FS is not set | 1156 | # CONFIG_UFS_FS is not set |
1227 | 1157 | CONFIG_NETWORK_FILESYSTEMS=y | |
1228 | # | ||
1229 | # Network File Systems | ||
1230 | # | ||
1231 | CONFIG_NFS_FS=m | 1158 | CONFIG_NFS_FS=m |
1232 | CONFIG_NFS_V3=y | 1159 | CONFIG_NFS_V3=y |
1233 | # CONFIG_NFS_V3_ACL is not set | 1160 | # CONFIG_NFS_V3_ACL is not set |
@@ -1247,17 +1174,12 @@ CONFIG_SMB_FS=m | |||
1247 | # CONFIG_NCP_FS is not set | 1174 | # CONFIG_NCP_FS is not set |
1248 | # CONFIG_CODA_FS is not set | 1175 | # CONFIG_CODA_FS is not set |
1249 | # CONFIG_AFS_FS is not set | 1176 | # CONFIG_AFS_FS is not set |
1250 | # CONFIG_9P_FS is not set | ||
1251 | 1177 | ||
1252 | # | 1178 | # |
1253 | # Partition Types | 1179 | # Partition Types |
1254 | # | 1180 | # |
1255 | # CONFIG_PARTITION_ADVANCED is not set | 1181 | # CONFIG_PARTITION_ADVANCED is not set |
1256 | CONFIG_MSDOS_PARTITION=y | 1182 | CONFIG_MSDOS_PARTITION=y |
1257 | |||
1258 | # | ||
1259 | # Native Language Support | ||
1260 | # | ||
1261 | CONFIG_NLS=m | 1183 | CONFIG_NLS=m |
1262 | CONFIG_NLS_DEFAULT="iso8859-1" | 1184 | CONFIG_NLS_DEFAULT="iso8859-1" |
1263 | # CONFIG_NLS_CODEPAGE_437 is not set | 1185 | # CONFIG_NLS_CODEPAGE_437 is not set |
@@ -1298,21 +1220,16 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1298 | # CONFIG_NLS_KOI8_R is not set | 1220 | # CONFIG_NLS_KOI8_R is not set |
1299 | # CONFIG_NLS_KOI8_U is not set | 1221 | # CONFIG_NLS_KOI8_U is not set |
1300 | # CONFIG_NLS_UTF8 is not set | 1222 | # CONFIG_NLS_UTF8 is not set |
1301 | |||
1302 | # | ||
1303 | # Distributed Lock Manager | ||
1304 | # | ||
1305 | # CONFIG_DLM is not set | 1223 | # CONFIG_DLM is not set |
1306 | 1224 | CONFIG_INSTRUMENTATION=y | |
1307 | # | ||
1308 | # Profiling support | ||
1309 | # | ||
1310 | # CONFIG_PROFILING is not set | 1225 | # CONFIG_PROFILING is not set |
1226 | # CONFIG_MARKERS is not set | ||
1311 | 1227 | ||
1312 | # | 1228 | # |
1313 | # Kernel hacking | 1229 | # Kernel hacking |
1314 | # | 1230 | # |
1315 | # CONFIG_PRINTK_TIME is not set | 1231 | # CONFIG_PRINTK_TIME is not set |
1232 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1316 | CONFIG_ENABLE_MUST_CHECK=y | 1233 | CONFIG_ENABLE_MUST_CHECK=y |
1317 | # CONFIG_MAGIC_SYSRQ is not set | 1234 | # CONFIG_MAGIC_SYSRQ is not set |
1318 | # CONFIG_UNUSED_SYMBOLS is not set | 1235 | # CONFIG_UNUSED_SYMBOLS is not set |
@@ -1320,6 +1237,7 @@ CONFIG_DEBUG_FS=y | |||
1320 | # CONFIG_HEADERS_CHECK is not set | 1237 | # CONFIG_HEADERS_CHECK is not set |
1321 | # CONFIG_DEBUG_KERNEL is not set | 1238 | # CONFIG_DEBUG_KERNEL is not set |
1322 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1239 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1240 | # CONFIG_SAMPLES is not set | ||
1323 | CONFIG_DEBUG_MMRS=y | 1241 | CONFIG_DEBUG_MMRS=y |
1324 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | 1242 | CONFIG_DEBUG_HUNT_FOR_ZERO=y |
1325 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | 1243 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y |
@@ -1339,11 +1257,7 @@ CONFIG_ACCESS_CHECK=y | |||
1339 | # CONFIG_KEYS is not set | 1257 | # CONFIG_KEYS is not set |
1340 | CONFIG_SECURITY=y | 1258 | CONFIG_SECURITY=y |
1341 | # CONFIG_SECURITY_NETWORK is not set | 1259 | # CONFIG_SECURITY_NETWORK is not set |
1342 | CONFIG_SECURITY_CAPABILITIES=m | 1260 | # CONFIG_SECURITY_CAPABILITIES is not set |
1343 | |||
1344 | # | ||
1345 | # Cryptographic options | ||
1346 | # | ||
1347 | # CONFIG_CRYPTO is not set | 1261 | # CONFIG_CRYPTO is not set |
1348 | 1262 | ||
1349 | # | 1263 | # |
@@ -1354,6 +1268,7 @@ CONFIG_CRC_CCITT=m | |||
1354 | # CONFIG_CRC16 is not set | 1268 | # CONFIG_CRC16 is not set |
1355 | # CONFIG_CRC_ITU_T is not set | 1269 | # CONFIG_CRC_ITU_T is not set |
1356 | CONFIG_CRC32=y | 1270 | CONFIG_CRC32=y |
1271 | # CONFIG_CRC7 is not set | ||
1357 | # CONFIG_LIBCRC32C is not set | 1272 | # CONFIG_LIBCRC32C is not set |
1358 | CONFIG_ZLIB_INFLATE=y | 1273 | CONFIG_ZLIB_INFLATE=y |
1359 | CONFIG_ZLIB_DEFLATE=m | 1274 | CONFIG_ZLIB_DEFLATE=m |
diff --git a/arch/blackfin/configs/BF548-EZKIT_defconfig b/arch/blackfin/configs/BF548-EZKIT_defconfig index 1ff2ff4b49aa..390669e8668e 100644 --- a/arch/blackfin/configs/BF548-EZKIT_defconfig +++ b/arch/blackfin/configs/BF548-EZKIT_defconfig | |||
@@ -365,7 +365,7 @@ CONFIG_C_AMBEN_ALL=y | |||
365 | CONFIG_BANK_0=0x7BB0 | 365 | CONFIG_BANK_0=0x7BB0 |
366 | CONFIG_BANK_1=0x5554 | 366 | CONFIG_BANK_1=0x5554 |
367 | CONFIG_BANK_2=0x7BB0 | 367 | CONFIG_BANK_2=0x7BB0 |
368 | CONFIG_BANK_3=0x99B3 | 368 | CONFIG_BANK_3=0x99B2 |
369 | CONFIG_EBIU_MBSCTLVAL=0x0 | 369 | CONFIG_EBIU_MBSCTLVAL=0x0 |
370 | CONFIG_EBIU_MODEVAL=0x1 | 370 | CONFIG_EBIU_MODEVAL=0x1 |
371 | CONFIG_EBIU_FCTLVAL=0x6 | 371 | CONFIG_EBIU_FCTLVAL=0x6 |
@@ -468,7 +468,60 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
468 | # | 468 | # |
469 | # CONFIG_NET_PKTGEN is not set | 469 | # CONFIG_NET_PKTGEN is not set |
470 | # CONFIG_HAMRADIO is not set | 470 | # CONFIG_HAMRADIO is not set |
471 | # CONFIG_IRDA is not set | 471 | CONFIG_IRDA=m |
472 | |||
473 | # | ||
474 | # IrDA protocols | ||
475 | # | ||
476 | CONFIG_IRLAN=m | ||
477 | CONFIG_IRCOMM=m | ||
478 | # CONFIG_IRDA_ULTRA is not set | ||
479 | |||
480 | # | ||
481 | # IrDA options | ||
482 | # | ||
483 | # CONFIG_IRDA_CACHE_LAST_LSAP is not set | ||
484 | # CONFIG_IRDA_FAST_RR is not set | ||
485 | # CONFIG_IRDA_DEBUG is not set | ||
486 | |||
487 | # | ||
488 | # Infrared-port device drivers | ||
489 | # | ||
490 | |||
491 | # | ||
492 | # SIR device drivers | ||
493 | # | ||
494 | CONFIG_IRTTY_SIR=m | ||
495 | CONFIG_BFIN_SIR=m | ||
496 | # CONFIG_BFIN_SIR0 is not set | ||
497 | # CONFIG_BFIN_SIR2 is not set | ||
498 | CONFIG_BFIN_SIR3=y | ||
499 | CONFIG_SIR_BFIN_DMA=y | ||
500 | # CONFIG_SIR_BFIN_PIO is not set | ||
501 | |||
502 | # | ||
503 | # Dongle support | ||
504 | # | ||
505 | # CONFIG_DONGLE is not set | ||
506 | # CONFIG_KINGSUN_DONGLE is not set | ||
507 | # CONFIG_KSDAZZLE_DONGLE is not set | ||
508 | # CONFIG_KS959_DONGLE is not set | ||
509 | |||
510 | # | ||
511 | # Old SIR device drivers | ||
512 | # | ||
513 | # CONFIG_IRPORT_SIR is not set | ||
514 | |||
515 | # | ||
516 | # Old Serial dongle support | ||
517 | # | ||
518 | |||
519 | # | ||
520 | # FIR device drivers | ||
521 | # | ||
522 | # CONFIG_USB_IRDA is not set | ||
523 | # CONFIG_SIGMATEL_FIR is not set | ||
524 | # CONFIG_MCS_FIR is not set | ||
472 | # CONFIG_BT is not set | 525 | # CONFIG_BT is not set |
473 | # CONFIG_AF_RXRPC is not set | 526 | # CONFIG_AF_RXRPC is not set |
474 | 527 | ||
@@ -575,6 +628,7 @@ CONFIG_MTD_NAND=y | |||
575 | CONFIG_MTD_NAND_IDS=y | 628 | CONFIG_MTD_NAND_IDS=y |
576 | CONFIG_MTD_NAND_BF5XX=y | 629 | CONFIG_MTD_NAND_BF5XX=y |
577 | CONFIG_MTD_NAND_BF5XX_HWECC=y | 630 | CONFIG_MTD_NAND_BF5XX_HWECC=y |
631 | # CONFIG_MTD_NAND_BF5XX_BOOTROM_ECC is not set | ||
578 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 632 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
579 | # CONFIG_MTD_NAND_NANDSIM is not set | 633 | # CONFIG_MTD_NAND_NANDSIM is not set |
580 | # CONFIG_MTD_NAND_PLATFORM is not set | 634 | # CONFIG_MTD_NAND_PLATFORM is not set |
@@ -766,7 +820,7 @@ CONFIG_BFIN_OTP=y | |||
766 | # CONFIG_BFIN_SPORT is not set | 820 | # CONFIG_BFIN_SPORT is not set |
767 | # CONFIG_BFIN_TIMER_LATENCY is not set | 821 | # CONFIG_BFIN_TIMER_LATENCY is not set |
768 | # CONFIG_TWI_LCD is not set | 822 | # CONFIG_TWI_LCD is not set |
769 | # CONFIG_SIMPLE_GPIO is not set | 823 | CONFIG_SIMPLE_GPIO=m |
770 | CONFIG_VT=y | 824 | CONFIG_VT=y |
771 | CONFIG_VT_CONSOLE=y | 825 | CONFIG_VT_CONSOLE=y |
772 | CONFIG_HW_CONSOLE=y | 826 | CONFIG_HW_CONSOLE=y |
@@ -1071,6 +1125,7 @@ CONFIG_SND_BF5XX_SOC_AC97=y | |||
1071 | CONFIG_SND_BF5XX_SOC_BF548_EZKIT=y | 1125 | CONFIG_SND_BF5XX_SOC_BF548_EZKIT=y |
1072 | # CONFIG_SND_BF5XX_SOC_WM8750 is not set | 1126 | # CONFIG_SND_BF5XX_SOC_WM8750 is not set |
1073 | # CONFIG_SND_BF5XX_SOC_WM8731 is not set | 1127 | # CONFIG_SND_BF5XX_SOC_WM8731 is not set |
1128 | # CONFIG_SND_BF5XX_SOC_SSM2602 is not set | ||
1074 | CONFIG_SND_BF5XX_SPORT_NUM=0 | 1129 | CONFIG_SND_BF5XX_SPORT_NUM=0 |
1075 | CONFIG_SND_BF5XX_HAVE_COLD_RESET=y | 1130 | CONFIG_SND_BF5XX_HAVE_COLD_RESET=y |
1076 | CONFIG_SND_BF5XX_RESET_GPIO_NUM=19 | 1131 | CONFIG_SND_BF5XX_RESET_GPIO_NUM=19 |
@@ -1133,7 +1188,7 @@ CONFIG_USB_MUSB_HOST=y | |||
1133 | # CONFIG_USB_MUSB_OTG is not set | 1188 | # CONFIG_USB_MUSB_OTG is not set |
1134 | CONFIG_USB_MUSB_HDRC_HCD=y | 1189 | CONFIG_USB_MUSB_HDRC_HCD=y |
1135 | # CONFIG_MUSB_PIO_ONLY is not set | 1190 | # CONFIG_MUSB_PIO_ONLY is not set |
1136 | # CONFIG_USB_INVENTRA_DMA is not set | 1191 | CONFIG_USB_INVENTRA_DMA=y |
1137 | # CONFIG_USB_TI_CPPI_DMA is not set | 1192 | # CONFIG_USB_TI_CPPI_DMA is not set |
1138 | CONFIG_USB_MUSB_LOGLEVEL=0 | 1193 | CONFIG_USB_MUSB_LOGLEVEL=0 |
1139 | 1194 | ||
@@ -1312,7 +1367,7 @@ CONFIG_FS_MBCACHE=y | |||
1312 | CONFIG_INOTIFY=y | 1367 | CONFIG_INOTIFY=y |
1313 | CONFIG_INOTIFY_USER=y | 1368 | CONFIG_INOTIFY_USER=y |
1314 | # CONFIG_QUOTA is not set | 1369 | # CONFIG_QUOTA is not set |
1315 | CONFIG_DNOTIFY=y | 1370 | # CONFIG_DNOTIFY is not set |
1316 | # CONFIG_AUTOFS_FS is not set | 1371 | # CONFIG_AUTOFS_FS is not set |
1317 | # CONFIG_AUTOFS4_FS is not set | 1372 | # CONFIG_AUTOFS4_FS is not set |
1318 | # CONFIG_FUSE_FS is not set | 1373 | # CONFIG_FUSE_FS is not set |
diff --git a/arch/blackfin/configs/BF561-EZKIT_defconfig b/arch/blackfin/configs/BF561-EZKIT_defconfig index b4a20c890816..976a4d7ba175 100644 --- a/arch/blackfin/configs/BF561-EZKIT_defconfig +++ b/arch/blackfin/configs/BF561-EZKIT_defconfig | |||
@@ -1,6 +1,6 @@ | |||
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.16 | 3 | # Linux kernel version: 2.6.24.7 |
4 | # | 4 | # |
5 | # CONFIG_MMU is not set | 5 | # CONFIG_MMU is not set |
6 | # CONFIG_FPU is not set | 6 | # CONFIG_FPU is not set |
@@ -13,35 +13,34 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
13 | CONFIG_GENERIC_HWEIGHT=y | 13 | CONFIG_GENERIC_HWEIGHT=y |
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
16 | CONFIG_GENERIC_TIME=y | ||
17 | CONFIG_GENERIC_GPIO=y | 16 | CONFIG_GENERIC_GPIO=y |
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | 17 | CONFIG_FORCE_MAX_ZONEORDER=14 |
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 18 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
21 | 20 | ||
22 | # | 21 | # |
23 | # Code maturity level options | 22 | # General setup |
24 | # | 23 | # |
25 | CONFIG_EXPERIMENTAL=y | 24 | CONFIG_EXPERIMENTAL=y |
26 | CONFIG_BROKEN_ON_SMP=y | 25 | CONFIG_BROKEN_ON_SMP=y |
27 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 26 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
28 | |||
29 | # | ||
30 | # General setup | ||
31 | # | ||
32 | CONFIG_LOCALVERSION="" | 27 | CONFIG_LOCALVERSION="" |
33 | CONFIG_LOCALVERSION_AUTO=y | 28 | CONFIG_LOCALVERSION_AUTO=y |
34 | CONFIG_SYSVIPC=y | 29 | CONFIG_SYSVIPC=y |
35 | # CONFIG_IPC_NS is not set | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | 30 | CONFIG_SYSVIPC_SYSCTL=y |
37 | # CONFIG_POSIX_MQUEUE is not set | 31 | # CONFIG_POSIX_MQUEUE is not set |
38 | # CONFIG_BSD_PROCESS_ACCT is not set | 32 | # CONFIG_BSD_PROCESS_ACCT is not set |
39 | # CONFIG_TASKSTATS is not set | 33 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_UTS_NS is not set | 34 | # CONFIG_USER_NS is not set |
35 | # CONFIG_PID_NS is not set | ||
41 | # CONFIG_AUDIT is not set | 36 | # CONFIG_AUDIT is not set |
42 | CONFIG_IKCONFIG=y | 37 | CONFIG_IKCONFIG=y |
43 | CONFIG_IKCONFIG_PROC=y | 38 | CONFIG_IKCONFIG_PROC=y |
44 | CONFIG_LOG_BUF_SHIFT=14 | 39 | CONFIG_LOG_BUF_SHIFT=14 |
40 | # CONFIG_CGROUPS is not set | ||
41 | CONFIG_FAIR_GROUP_SCHED=y | ||
42 | CONFIG_FAIR_USER_SCHED=y | ||
43 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
45 | CONFIG_SYSFS_DEPRECATED=y | 44 | CONFIG_SYSFS_DEPRECATED=y |
46 | # CONFIG_RELAY is not set | 45 | # CONFIG_RELAY is not set |
47 | CONFIG_BLK_DEV_INITRD=y | 46 | CONFIG_BLK_DEV_INITRD=y |
@@ -64,32 +63,24 @@ CONFIG_EPOLL=y | |||
64 | CONFIG_SIGNALFD=y | 63 | CONFIG_SIGNALFD=y |
65 | CONFIG_EVENTFD=y | 64 | CONFIG_EVENTFD=y |
66 | CONFIG_VM_EVENT_COUNTERS=y | 65 | CONFIG_VM_EVENT_COUNTERS=y |
67 | CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3 | ||
68 | # CONFIG_NP2 is not set | ||
69 | CONFIG_SLAB=y | 66 | CONFIG_SLAB=y |
70 | # CONFIG_SLUB is not set | 67 | # CONFIG_SLUB is not set |
71 | # CONFIG_SLOB is not set | 68 | # CONFIG_SLOB is not set |
69 | CONFIG_SLABINFO=y | ||
72 | CONFIG_RT_MUTEXES=y | 70 | CONFIG_RT_MUTEXES=y |
73 | CONFIG_TINY_SHMEM=y | 71 | CONFIG_TINY_SHMEM=y |
74 | CONFIG_BASE_SMALL=0 | 72 | CONFIG_BASE_SMALL=0 |
75 | |||
76 | # | ||
77 | # Loadable module support | ||
78 | # | ||
79 | CONFIG_MODULES=y | 73 | CONFIG_MODULES=y |
80 | CONFIG_MODULE_UNLOAD=y | 74 | CONFIG_MODULE_UNLOAD=y |
81 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 75 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
82 | # CONFIG_MODVERSIONS is not set | 76 | # CONFIG_MODVERSIONS is not set |
83 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 77 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
84 | CONFIG_KMOD=y | 78 | CONFIG_KMOD=y |
85 | |||
86 | # | ||
87 | # Block layer | ||
88 | # | ||
89 | CONFIG_BLOCK=y | 79 | CONFIG_BLOCK=y |
90 | # CONFIG_LBD is not set | 80 | # CONFIG_LBD is not set |
91 | # CONFIG_BLK_DEV_IO_TRACE is not set | 81 | # CONFIG_BLK_DEV_IO_TRACE is not set |
92 | # CONFIG_LSF is not set | 82 | # CONFIG_LSF is not set |
83 | # CONFIG_BLK_DEV_BSG is not set | ||
93 | 84 | ||
94 | # | 85 | # |
95 | # IO Schedulers | 86 | # IO Schedulers |
@@ -140,7 +131,6 @@ CONFIG_BF_REV_0_3=y | |||
140 | # CONFIG_BF_REV_0_5 is not set | 131 | # CONFIG_BF_REV_0_5 is not set |
141 | # CONFIG_BF_REV_ANY is not set | 132 | # CONFIG_BF_REV_ANY is not set |
142 | # CONFIG_BF_REV_NONE is not set | 133 | # CONFIG_BF_REV_NONE is not set |
143 | CONFIG_BFIN_DUAL_CORE=y | ||
144 | CONFIG_MEM_MT48LC16M16A2TG_75=y | 134 | CONFIG_MEM_MT48LC16M16A2TG_75=y |
145 | CONFIG_IRQ_PLL_WAKEUP=7 | 135 | CONFIG_IRQ_PLL_WAKEUP=7 |
146 | CONFIG_IRQ_SPORT0_ERROR=7 | 136 | CONFIG_IRQ_SPORT0_ERROR=7 |
@@ -233,12 +223,14 @@ CONFIG_IRQ_WDTIMER=13 | |||
233 | # Board customizations | 223 | # Board customizations |
234 | # | 224 | # |
235 | # CONFIG_CMDLINE_BOOL is not set | 225 | # CONFIG_CMDLINE_BOOL is not set |
226 | CONFIG_BOOT_LOAD=0x1000 | ||
236 | 227 | ||
237 | # | 228 | # |
238 | # Clock/PLL Setup | 229 | # Clock/PLL Setup |
239 | # | 230 | # |
240 | CONFIG_CLKIN_HZ=30000000 | 231 | CONFIG_CLKIN_HZ=30000000 |
241 | # CONFIG_BFIN_KERNEL_CLOCK is not set | 232 | # CONFIG_BFIN_KERNEL_CLOCK is not set |
233 | CONFIG_MAX_MEM_SIZE=512 | ||
242 | CONFIG_MAX_VCO_HZ=600000000 | 234 | CONFIG_MAX_VCO_HZ=600000000 |
243 | CONFIG_MIN_VCO_HZ=50000000 | 235 | CONFIG_MIN_VCO_HZ=50000000 |
244 | CONFIG_MAX_SCLK_HZ=133333333 | 236 | CONFIG_MAX_SCLK_HZ=133333333 |
@@ -252,13 +244,17 @@ CONFIG_HZ_250=y | |||
252 | # CONFIG_HZ_300 is not set | 244 | # CONFIG_HZ_300 is not set |
253 | # CONFIG_HZ_1000 is not set | 245 | # CONFIG_HZ_1000 is not set |
254 | CONFIG_HZ=250 | 246 | CONFIG_HZ=250 |
247 | CONFIG_GENERIC_TIME=y | ||
248 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
249 | # CONFIG_CYCLES_CLOCKSOURCE is not set | ||
250 | CONFIG_TICK_ONESHOT=y | ||
251 | # CONFIG_NO_HZ is not set | ||
252 | CONFIG_HIGH_RES_TIMERS=y | ||
253 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
255 | 254 | ||
256 | # | 255 | # |
257 | # Memory Setup | 256 | # Misc |
258 | # | 257 | # |
259 | CONFIG_MAX_MEM_SIZE=512 | ||
260 | CONFIG_MEM_ADD_WIDTH=9 | ||
261 | CONFIG_BOOT_LOAD=0x1000 | ||
262 | CONFIG_BFIN_SCRATCH_REG_RETN=y | 258 | CONFIG_BFIN_SCRATCH_REG_RETN=y |
263 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | 259 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set |
264 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | 260 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set |
@@ -294,12 +290,14 @@ CONFIG_FLATMEM_MANUAL=y | |||
294 | CONFIG_FLATMEM=y | 290 | CONFIG_FLATMEM=y |
295 | CONFIG_FLAT_NODE_MEM_MAP=y | 291 | CONFIG_FLAT_NODE_MEM_MAP=y |
296 | # CONFIG_SPARSEMEM_STATIC is not set | 292 | # CONFIG_SPARSEMEM_STATIC is not set |
293 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
297 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 294 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
298 | # CONFIG_RESOURCES_64BIT is not set | 295 | # CONFIG_RESOURCES_64BIT is not set |
299 | CONFIG_ZONE_DMA_FLAG=1 | 296 | CONFIG_ZONE_DMA_FLAG=1 |
300 | CONFIG_LARGE_ALLOCS=y | 297 | CONFIG_VIRT_TO_BUS=y |
301 | # CONFIG_BFIN_GPTIMERS is not set | 298 | # CONFIG_BFIN_GPTIMERS is not set |
302 | CONFIG_BFIN_DMA_5XX=y | 299 | CONFIG_BFIN_DMA_5XX=y |
300 | # CONFIG_DMA_UNCACHED_4M is not set | ||
303 | # CONFIG_DMA_UNCACHED_2M is not set | 301 | # CONFIG_DMA_UNCACHED_2M is not set |
304 | CONFIG_DMA_UNCACHED_1M=y | 302 | CONFIG_DMA_UNCACHED_1M=y |
305 | # CONFIG_DMA_UNCACHED_NONE is not set | 303 | # CONFIG_DMA_UNCACHED_NONE is not set |
@@ -341,17 +339,13 @@ CONFIG_C_AMBEN_ALL=y | |||
341 | CONFIG_BANK_0=0x7BB0 | 339 | CONFIG_BANK_0=0x7BB0 |
342 | CONFIG_BANK_1=0x7BB0 | 340 | CONFIG_BANK_1=0x7BB0 |
343 | CONFIG_BANK_2=0x7BB0 | 341 | CONFIG_BANK_2=0x7BB0 |
344 | CONFIG_BANK_3=0xAAC3 | 342 | CONFIG_BANK_3=0xAAC2 |
345 | 343 | ||
346 | # | 344 | # |
347 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | 345 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) |
348 | # | 346 | # |
349 | # CONFIG_PCI is not set | 347 | # CONFIG_PCI is not set |
350 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 348 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
351 | |||
352 | # | ||
353 | # PCCARD (PCMCIA/CardBus) support | ||
354 | # | ||
355 | # CONFIG_PCCARD is not set | 349 | # CONFIG_PCCARD is not set |
356 | 350 | ||
357 | # | 351 | # |
@@ -367,9 +361,15 @@ CONFIG_BINFMT_ZFLAT=y | |||
367 | # Power management options | 361 | # Power management options |
368 | # | 362 | # |
369 | # CONFIG_PM is not set | 363 | # CONFIG_PM is not set |
364 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
370 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | 365 | # CONFIG_PM_WAKEUP_BY_GPIO is not set |
371 | 366 | ||
372 | # | 367 | # |
368 | # CPU Frequency scaling | ||
369 | # | ||
370 | # CONFIG_CPU_FREQ is not set | ||
371 | |||
372 | # | ||
373 | # Networking | 373 | # Networking |
374 | # | 374 | # |
375 | CONFIG_NET=y | 375 | CONFIG_NET=y |
@@ -405,6 +405,7 @@ CONFIG_SYN_COOKIES=y | |||
405 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 405 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
406 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 406 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
407 | CONFIG_INET_XFRM_MODE_BEET=y | 407 | CONFIG_INET_XFRM_MODE_BEET=y |
408 | # CONFIG_INET_LRO is not set | ||
408 | CONFIG_INET_DIAG=y | 409 | CONFIG_INET_DIAG=y |
409 | CONFIG_INET_TCP_DIAG=y | 410 | CONFIG_INET_TCP_DIAG=y |
410 | # CONFIG_TCP_CONG_ADVANCED is not set | 411 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -431,10 +432,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
431 | # CONFIG_LAPB is not set | 432 | # CONFIG_LAPB is not set |
432 | # CONFIG_ECONET is not set | 433 | # CONFIG_ECONET is not set |
433 | # CONFIG_WAN_ROUTER is not set | 434 | # CONFIG_WAN_ROUTER is not set |
434 | |||
435 | # | ||
436 | # QoS and/or fair queueing | ||
437 | # | ||
438 | # CONFIG_NET_SCHED is not set | 435 | # CONFIG_NET_SCHED is not set |
439 | 436 | ||
440 | # | 437 | # |
@@ -466,6 +463,7 @@ CONFIG_IRDA_CACHE_LAST_LSAP=y | |||
466 | # SIR device drivers | 463 | # SIR device drivers |
467 | # | 464 | # |
468 | CONFIG_IRTTY_SIR=m | 465 | CONFIG_IRTTY_SIR=m |
466 | # CONFIG_BFIN_SIR is not set | ||
469 | 467 | ||
470 | # | 468 | # |
471 | # Dongle support | 469 | # Dongle support |
@@ -495,6 +493,7 @@ CONFIG_IRTTY_SIR=m | |||
495 | # CONFIG_MAC80211 is not set | 493 | # CONFIG_MAC80211 is not set |
496 | # CONFIG_IEEE80211 is not set | 494 | # CONFIG_IEEE80211 is not set |
497 | # CONFIG_RFKILL is not set | 495 | # CONFIG_RFKILL is not set |
496 | # CONFIG_NET_9P is not set | ||
498 | 497 | ||
499 | # | 498 | # |
500 | # Device Drivers | 499 | # Device Drivers |
@@ -503,14 +502,11 @@ CONFIG_IRTTY_SIR=m | |||
503 | # | 502 | # |
504 | # Generic Driver Options | 503 | # Generic Driver Options |
505 | # | 504 | # |
505 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
506 | CONFIG_STANDALONE=y | 506 | CONFIG_STANDALONE=y |
507 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 507 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
508 | # CONFIG_FW_LOADER is not set | 508 | # CONFIG_FW_LOADER is not set |
509 | # CONFIG_SYS_HYPERVISOR is not set | 509 | # CONFIG_SYS_HYPERVISOR is not set |
510 | |||
511 | # | ||
512 | # Connector - unified userspace <-> kernelspace linker | ||
513 | # | ||
514 | # CONFIG_CONNECTOR is not set | 510 | # CONFIG_CONNECTOR is not set |
515 | CONFIG_MTD=y | 511 | CONFIG_MTD=y |
516 | # CONFIG_MTD_DEBUG is not set | 512 | # CONFIG_MTD_DEBUG is not set |
@@ -530,6 +526,7 @@ CONFIG_MTD_BLOCK=y | |||
530 | # CONFIG_INFTL is not set | 526 | # CONFIG_INFTL is not set |
531 | # CONFIG_RFD_FTL is not set | 527 | # CONFIG_RFD_FTL is not set |
532 | # CONFIG_SSFDC is not set | 528 | # CONFIG_SSFDC is not set |
529 | # CONFIG_MTD_OOPS is not set | ||
533 | 530 | ||
534 | # | 531 | # |
535 | # RAM/ROM/Flash chip drivers | 532 | # RAM/ROM/Flash chip drivers |
@@ -590,20 +587,8 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | |||
590 | # UBI - Unsorted block images | 587 | # UBI - Unsorted block images |
591 | # | 588 | # |
592 | # CONFIG_MTD_UBI is not set | 589 | # CONFIG_MTD_UBI is not set |
593 | |||
594 | # | ||
595 | # Parallel port support | ||
596 | # | ||
597 | # CONFIG_PARPORT is not set | 590 | # CONFIG_PARPORT is not set |
598 | 591 | CONFIG_BLK_DEV=y | |
599 | # | ||
600 | # Plug and Play support | ||
601 | # | ||
602 | # CONFIG_PNPACPI is not set | ||
603 | |||
604 | # | ||
605 | # Block devices | ||
606 | # | ||
607 | # CONFIG_BLK_DEV_COW_COMMON is not set | 592 | # CONFIG_BLK_DEV_COW_COMMON is not set |
608 | # CONFIG_BLK_DEV_LOOP is not set | 593 | # CONFIG_BLK_DEV_LOOP is not set |
609 | # CONFIG_BLK_DEV_NBD is not set | 594 | # CONFIG_BLK_DEV_NBD is not set |
@@ -613,10 +598,8 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
613 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | 598 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 |
614 | # CONFIG_CDROM_PKTCDVD is not set | 599 | # CONFIG_CDROM_PKTCDVD is not set |
615 | # CONFIG_ATA_OVER_ETH is not set | 600 | # CONFIG_ATA_OVER_ETH is not set |
616 | 601 | CONFIG_MISC_DEVICES=y | |
617 | # | 602 | # CONFIG_EEPROM_93CX6 is not set |
618 | # Misc devices | ||
619 | # | ||
620 | # CONFIG_IDE is not set | 603 | # CONFIG_IDE is not set |
621 | 604 | ||
622 | # | 605 | # |
@@ -624,32 +607,29 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | |||
624 | # | 607 | # |
625 | # CONFIG_RAID_ATTRS is not set | 608 | # CONFIG_RAID_ATTRS is not set |
626 | # CONFIG_SCSI is not set | 609 | # CONFIG_SCSI is not set |
610 | # CONFIG_SCSI_DMA is not set | ||
627 | # CONFIG_SCSI_NETLINK is not set | 611 | # CONFIG_SCSI_NETLINK is not set |
628 | # CONFIG_ATA is not set | 612 | # CONFIG_ATA is not set |
629 | |||
630 | # | ||
631 | # Multi-device support (RAID and LVM) | ||
632 | # | ||
633 | # CONFIG_MD is not set | 613 | # CONFIG_MD is not set |
634 | |||
635 | # | ||
636 | # Network device support | ||
637 | # | ||
638 | CONFIG_NETDEVICES=y | 614 | CONFIG_NETDEVICES=y |
615 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
639 | # CONFIG_DUMMY is not set | 616 | # CONFIG_DUMMY is not set |
640 | # CONFIG_BONDING is not set | 617 | # CONFIG_BONDING is not set |
618 | # CONFIG_MACVLAN is not set | ||
641 | # CONFIG_EQUALIZER is not set | 619 | # CONFIG_EQUALIZER is not set |
642 | # CONFIG_TUN is not set | 620 | # CONFIG_TUN is not set |
621 | # CONFIG_VETH is not set | ||
643 | # CONFIG_PHYLIB is not set | 622 | # CONFIG_PHYLIB is not set |
644 | |||
645 | # | ||
646 | # Ethernet (10 or 100Mbit) | ||
647 | # | ||
648 | CONFIG_NET_ETHERNET=y | 623 | CONFIG_NET_ETHERNET=y |
649 | CONFIG_MII=y | 624 | CONFIG_MII=y |
650 | CONFIG_SMC91X=y | 625 | CONFIG_SMC91X=y |
651 | # CONFIG_SMSC911X is not set | 626 | # CONFIG_SMSC911X is not set |
652 | # CONFIG_DM9000 is not set | 627 | # CONFIG_DM9000 is not set |
628 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
629 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
630 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
631 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
632 | # CONFIG_B44 is not set | ||
653 | CONFIG_NETDEV_1000=y | 633 | CONFIG_NETDEV_1000=y |
654 | # CONFIG_AX88180 is not set | 634 | # CONFIG_AX88180 is not set |
655 | CONFIG_NETDEV_10000=y | 635 | CONFIG_NETDEV_10000=y |
@@ -666,15 +646,7 @@ CONFIG_NETDEV_10000=y | |||
666 | # CONFIG_NETCONSOLE is not set | 646 | # CONFIG_NETCONSOLE is not set |
667 | # CONFIG_NETPOLL is not set | 647 | # CONFIG_NETPOLL is not set |
668 | # CONFIG_NET_POLL_CONTROLLER is not set | 648 | # CONFIG_NET_POLL_CONTROLLER is not set |
669 | |||
670 | # | ||
671 | # ISDN subsystem | ||
672 | # | ||
673 | # CONFIG_ISDN is not set | 649 | # CONFIG_ISDN is not set |
674 | |||
675 | # | ||
676 | # Telephony Support | ||
677 | # | ||
678 | # CONFIG_PHONE is not set | 650 | # CONFIG_PHONE is not set |
679 | 651 | ||
680 | # | 652 | # |
@@ -689,7 +661,6 @@ CONFIG_INPUT=m | |||
689 | # | 661 | # |
690 | # CONFIG_INPUT_MOUSEDEV is not set | 662 | # CONFIG_INPUT_MOUSEDEV is not set |
691 | # CONFIG_INPUT_JOYDEV is not set | 663 | # CONFIG_INPUT_JOYDEV is not set |
692 | # CONFIG_INPUT_TSDEV is not set | ||
693 | CONFIG_INPUT_EVDEV=m | 664 | CONFIG_INPUT_EVDEV=m |
694 | # CONFIG_INPUT_EVBUG is not set | 665 | # CONFIG_INPUT_EVBUG is not set |
695 | 666 | ||
@@ -714,13 +685,12 @@ CONFIG_INPUT_EVDEV=m | |||
714 | # | 685 | # |
715 | # CONFIG_AD9960 is not set | 686 | # CONFIG_AD9960 is not set |
716 | # CONFIG_SPI_ADC_BF533 is not set | 687 | # CONFIG_SPI_ADC_BF533 is not set |
717 | # CONFIG_BF5xx_PFLAGS is not set | ||
718 | # CONFIG_BF5xx_PPIFCD is not set | 688 | # CONFIG_BF5xx_PPIFCD is not set |
719 | # CONFIG_BFIN_SIMPLE_TIMER is not set | 689 | # CONFIG_BFIN_SIMPLE_TIMER is not set |
720 | # CONFIG_BF5xx_PPI is not set | 690 | # CONFIG_BF5xx_PPI is not set |
721 | # CONFIG_BFIN_SPORT is not set | 691 | # CONFIG_BFIN_SPORT is not set |
722 | # CONFIG_BFIN_TIMER_LATENCY is not set | 692 | # CONFIG_BFIN_TIMER_LATENCY is not set |
723 | # CONFIG_AD5304 is not set | 693 | CONFIG_SIMPLE_GPIO=m |
724 | # CONFIG_VT is not set | 694 | # CONFIG_VT is not set |
725 | # CONFIG_SERIAL_NONSTANDARD is not set | 695 | # CONFIG_SERIAL_NONSTANDARD is not set |
726 | 696 | ||
@@ -748,27 +718,11 @@ CONFIG_UNIX98_PTYS=y | |||
748 | # CAN, the car bus and industrial fieldbus | 718 | # CAN, the car bus and industrial fieldbus |
749 | # | 719 | # |
750 | # CONFIG_CAN4LINUX is not set | 720 | # CONFIG_CAN4LINUX is not set |
751 | |||
752 | # | ||
753 | # IPMI | ||
754 | # | ||
755 | # CONFIG_IPMI_HANDLER is not set | 721 | # CONFIG_IPMI_HANDLER is not set |
756 | CONFIG_WATCHDOG=y | ||
757 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
758 | |||
759 | # | ||
760 | # Watchdog Device Drivers | ||
761 | # | ||
762 | # CONFIG_SOFT_WATCHDOG is not set | ||
763 | CONFIG_BFIN_WDT=y | ||
764 | CONFIG_HW_RANDOM=y | 722 | CONFIG_HW_RANDOM=y |
765 | # CONFIG_GEN_RTC is not set | 723 | # CONFIG_GEN_RTC is not set |
766 | # CONFIG_R3964 is not set | 724 | # CONFIG_R3964 is not set |
767 | # CONFIG_RAW_DRIVER is not set | 725 | # CONFIG_RAW_DRIVER is not set |
768 | |||
769 | # | ||
770 | # TPM devices | ||
771 | # | ||
772 | # CONFIG_TCG_TPM is not set | 726 | # CONFIG_TCG_TPM is not set |
773 | # CONFIG_I2C is not set | 727 | # CONFIG_I2C is not set |
774 | 728 | ||
@@ -789,22 +743,37 @@ CONFIG_SPI_BFIN=y | |||
789 | # | 743 | # |
790 | # CONFIG_SPI_AT25 is not set | 744 | # CONFIG_SPI_AT25 is not set |
791 | # CONFIG_SPI_SPIDEV is not set | 745 | # CONFIG_SPI_SPIDEV is not set |
792 | 746 | # CONFIG_SPI_TLE62X0 is not set | |
793 | # | ||
794 | # Dallas's 1-wire bus | ||
795 | # | ||
796 | # CONFIG_W1 is not set | 747 | # CONFIG_W1 is not set |
748 | # CONFIG_POWER_SUPPLY is not set | ||
797 | CONFIG_HWMON=y | 749 | CONFIG_HWMON=y |
798 | # CONFIG_HWMON_VID is not set | 750 | # CONFIG_HWMON_VID is not set |
799 | # CONFIG_SENSORS_ABITUGURU is not set | ||
800 | # CONFIG_SENSORS_F71805F is not set | 751 | # CONFIG_SENSORS_F71805F is not set |
752 | # CONFIG_SENSORS_F71882FG is not set | ||
753 | # CONFIG_SENSORS_IT87 is not set | ||
801 | # CONFIG_SENSORS_LM70 is not set | 754 | # CONFIG_SENSORS_LM70 is not set |
755 | # CONFIG_SENSORS_PC87360 is not set | ||
802 | # CONFIG_SENSORS_PC87427 is not set | 756 | # CONFIG_SENSORS_PC87427 is not set |
803 | # CONFIG_SENSORS_SMSC47M1 is not set | 757 | # CONFIG_SENSORS_SMSC47M1 is not set |
804 | # CONFIG_SENSORS_SMSC47B397 is not set | 758 | # CONFIG_SENSORS_SMSC47B397 is not set |
805 | # CONFIG_SENSORS_VT1211 is not set | 759 | # CONFIG_SENSORS_VT1211 is not set |
806 | # CONFIG_SENSORS_W83627HF is not set | 760 | # CONFIG_SENSORS_W83627HF is not set |
761 | # CONFIG_SENSORS_W83627EHF is not set | ||
807 | # CONFIG_HWMON_DEBUG_CHIP is not set | 762 | # CONFIG_HWMON_DEBUG_CHIP is not set |
763 | CONFIG_WATCHDOG=y | ||
764 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
765 | |||
766 | # | ||
767 | # Watchdog Device Drivers | ||
768 | # | ||
769 | # CONFIG_SOFT_WATCHDOG is not set | ||
770 | CONFIG_BFIN_WDT=y | ||
771 | |||
772 | # | ||
773 | # Sonics Silicon Backplane | ||
774 | # | ||
775 | CONFIG_SSB_POSSIBLE=y | ||
776 | # CONFIG_SSB is not set | ||
808 | 777 | ||
809 | # | 778 | # |
810 | # Multifunction device drivers | 779 | # Multifunction device drivers |
@@ -821,91 +790,33 @@ CONFIG_DAB=y | |||
821 | # | 790 | # |
822 | # Graphics support | 791 | # Graphics support |
823 | # | 792 | # |
793 | # CONFIG_VGASTATE is not set | ||
794 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
795 | # CONFIG_FB is not set | ||
824 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 796 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
825 | 797 | ||
826 | # | 798 | # |
827 | # Display device support | 799 | # Display device support |
828 | # | 800 | # |
829 | # CONFIG_DISPLAY_SUPPORT is not set | 801 | # CONFIG_DISPLAY_SUPPORT is not set |
830 | # CONFIG_VGASTATE is not set | ||
831 | # CONFIG_FB is not set | ||
832 | 802 | ||
833 | # | 803 | # |
834 | # Sound | 804 | # Sound |
835 | # | 805 | # |
836 | # CONFIG_SOUND is not set | 806 | # CONFIG_SOUND is not set |
837 | 807 | CONFIG_HID_SUPPORT=y | |
838 | # | ||
839 | # HID Devices | ||
840 | # | ||
841 | CONFIG_HID=m | 808 | CONFIG_HID=m |
842 | # CONFIG_HID_DEBUG is not set | 809 | # CONFIG_HID_DEBUG is not set |
843 | 810 | # CONFIG_HIDRAW is not set | |
844 | # | 811 | # CONFIG_USB_SUPPORT is not set |
845 | # USB support | ||
846 | # | ||
847 | CONFIG_USB_ARCH_HAS_HCD=y | ||
848 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
849 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
850 | # CONFIG_USB is not set | ||
851 | |||
852 | # | ||
853 | # Enable Host or Gadget support to see Inventra options | ||
854 | # | ||
855 | |||
856 | # | ||
857 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
858 | # | ||
859 | |||
860 | # | ||
861 | # USB Gadget Support | ||
862 | # | ||
863 | # CONFIG_USB_GADGET is not set | ||
864 | # CONFIG_MMC is not set | 812 | # CONFIG_MMC is not set |
865 | |||
866 | # | ||
867 | # LED devices | ||
868 | # | ||
869 | # CONFIG_NEW_LEDS is not set | 813 | # CONFIG_NEW_LEDS is not set |
870 | |||
871 | # | ||
872 | # LED drivers | ||
873 | # | ||
874 | |||
875 | # | ||
876 | # LED Triggers | ||
877 | # | ||
878 | |||
879 | # | ||
880 | # InfiniBand support | ||
881 | # | ||
882 | |||
883 | # | ||
884 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
885 | # | ||
886 | |||
887 | # | ||
888 | # Real Time Clock | ||
889 | # | ||
890 | # CONFIG_RTC_CLASS is not set | 814 | # CONFIG_RTC_CLASS is not set |
891 | 815 | ||
892 | # | 816 | # |
893 | # DMA Engine support | 817 | # Userspace I/O |
894 | # | ||
895 | # CONFIG_DMA_ENGINE is not set | ||
896 | |||
897 | # | ||
898 | # DMA Clients | ||
899 | # | ||
900 | |||
901 | # | ||
902 | # DMA Devices | ||
903 | # | 818 | # |
904 | 819 | # CONFIG_UIO is not set | |
905 | # | ||
906 | # PBX support | ||
907 | # | ||
908 | # CONFIG_PBX is not set | ||
909 | 820 | ||
910 | # | 821 | # |
911 | # File systems | 822 | # File systems |
@@ -950,7 +861,6 @@ CONFIG_PROC_SYSCTL=y | |||
950 | CONFIG_SYSFS=y | 861 | CONFIG_SYSFS=y |
951 | # CONFIG_TMPFS is not set | 862 | # CONFIG_TMPFS is not set |
952 | # CONFIG_HUGETLB_PAGE is not set | 863 | # CONFIG_HUGETLB_PAGE is not set |
953 | CONFIG_RAMFS=y | ||
954 | # CONFIG_CONFIGFS_FS is not set | 864 | # CONFIG_CONFIGFS_FS is not set |
955 | 865 | ||
956 | # | 866 | # |
@@ -976,10 +886,12 @@ CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y | |||
976 | CONFIG_JFFS2_FS=m | 886 | CONFIG_JFFS2_FS=m |
977 | CONFIG_JFFS2_FS_DEBUG=0 | 887 | CONFIG_JFFS2_FS_DEBUG=0 |
978 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 888 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
889 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
979 | # CONFIG_JFFS2_SUMMARY is not set | 890 | # CONFIG_JFFS2_SUMMARY is not set |
980 | # CONFIG_JFFS2_FS_XATTR is not set | 891 | # CONFIG_JFFS2_FS_XATTR is not set |
981 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 892 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
982 | CONFIG_JFFS2_ZLIB=y | 893 | CONFIG_JFFS2_ZLIB=y |
894 | # CONFIG_JFFS2_LZO is not set | ||
983 | CONFIG_JFFS2_RTIME=y | 895 | CONFIG_JFFS2_RTIME=y |
984 | # CONFIG_JFFS2_RUBIN is not set | 896 | # CONFIG_JFFS2_RUBIN is not set |
985 | # CONFIG_CRAMFS is not set | 897 | # CONFIG_CRAMFS is not set |
@@ -988,10 +900,7 @@ CONFIG_JFFS2_RTIME=y | |||
988 | # CONFIG_QNX4FS_FS is not set | 900 | # CONFIG_QNX4FS_FS is not set |
989 | # CONFIG_SYSV_FS is not set | 901 | # CONFIG_SYSV_FS is not set |
990 | # CONFIG_UFS_FS is not set | 902 | # CONFIG_UFS_FS is not set |
991 | 903 | CONFIG_NETWORK_FILESYSTEMS=y | |
992 | # | ||
993 | # Network File Systems | ||
994 | # | ||
995 | CONFIG_NFS_FS=m | 904 | CONFIG_NFS_FS=m |
996 | CONFIG_NFS_V3=y | 905 | CONFIG_NFS_V3=y |
997 | # CONFIG_NFS_V3_ACL is not set | 906 | # CONFIG_NFS_V3_ACL is not set |
@@ -1011,17 +920,12 @@ CONFIG_SMB_FS=m | |||
1011 | # CONFIG_NCP_FS is not set | 920 | # CONFIG_NCP_FS is not set |
1012 | # CONFIG_CODA_FS is not set | 921 | # CONFIG_CODA_FS is not set |
1013 | # CONFIG_AFS_FS is not set | 922 | # CONFIG_AFS_FS is not set |
1014 | # CONFIG_9P_FS is not set | ||
1015 | 923 | ||
1016 | # | 924 | # |
1017 | # Partition Types | 925 | # Partition Types |
1018 | # | 926 | # |
1019 | # CONFIG_PARTITION_ADVANCED is not set | 927 | # CONFIG_PARTITION_ADVANCED is not set |
1020 | CONFIG_MSDOS_PARTITION=y | 928 | CONFIG_MSDOS_PARTITION=y |
1021 | |||
1022 | # | ||
1023 | # Native Language Support | ||
1024 | # | ||
1025 | CONFIG_NLS=m | 929 | CONFIG_NLS=m |
1026 | CONFIG_NLS_DEFAULT="iso8859-1" | 930 | CONFIG_NLS_DEFAULT="iso8859-1" |
1027 | # CONFIG_NLS_CODEPAGE_437 is not set | 931 | # CONFIG_NLS_CODEPAGE_437 is not set |
@@ -1062,21 +966,16 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1062 | # CONFIG_NLS_KOI8_R is not set | 966 | # CONFIG_NLS_KOI8_R is not set |
1063 | # CONFIG_NLS_KOI8_U is not set | 967 | # CONFIG_NLS_KOI8_U is not set |
1064 | # CONFIG_NLS_UTF8 is not set | 968 | # CONFIG_NLS_UTF8 is not set |
1065 | |||
1066 | # | ||
1067 | # Distributed Lock Manager | ||
1068 | # | ||
1069 | # CONFIG_DLM is not set | 969 | # CONFIG_DLM is not set |
1070 | 970 | CONFIG_INSTRUMENTATION=y | |
1071 | # | ||
1072 | # Profiling support | ||
1073 | # | ||
1074 | # CONFIG_PROFILING is not set | 971 | # CONFIG_PROFILING is not set |
972 | # CONFIG_MARKERS is not set | ||
1075 | 973 | ||
1076 | # | 974 | # |
1077 | # Kernel hacking | 975 | # Kernel hacking |
1078 | # | 976 | # |
1079 | # CONFIG_PRINTK_TIME is not set | 977 | # CONFIG_PRINTK_TIME is not set |
978 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1080 | CONFIG_ENABLE_MUST_CHECK=y | 979 | CONFIG_ENABLE_MUST_CHECK=y |
1081 | # CONFIG_MAGIC_SYSRQ is not set | 980 | # CONFIG_MAGIC_SYSRQ is not set |
1082 | # CONFIG_UNUSED_SYMBOLS is not set | 981 | # CONFIG_UNUSED_SYMBOLS is not set |
@@ -1084,6 +983,7 @@ CONFIG_DEBUG_FS=y | |||
1084 | # CONFIG_HEADERS_CHECK is not set | 983 | # CONFIG_HEADERS_CHECK is not set |
1085 | # CONFIG_DEBUG_KERNEL is not set | 984 | # CONFIG_DEBUG_KERNEL is not set |
1086 | # CONFIG_DEBUG_BUGVERBOSE is not set | 985 | # CONFIG_DEBUG_BUGVERBOSE is not set |
986 | # CONFIG_SAMPLES is not set | ||
1087 | CONFIG_DEBUG_MMRS=y | 987 | CONFIG_DEBUG_MMRS=y |
1088 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | 988 | CONFIG_DEBUG_HUNT_FOR_ZERO=y |
1089 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | 989 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y |
@@ -1104,11 +1004,7 @@ CONFIG_ACCESS_CHECK=y | |||
1104 | # CONFIG_KEYS is not set | 1004 | # CONFIG_KEYS is not set |
1105 | CONFIG_SECURITY=y | 1005 | CONFIG_SECURITY=y |
1106 | # CONFIG_SECURITY_NETWORK is not set | 1006 | # CONFIG_SECURITY_NETWORK is not set |
1107 | CONFIG_SECURITY_CAPABILITIES=m | 1007 | # CONFIG_SECURITY_CAPABILITIES is not set |
1108 | |||
1109 | # | ||
1110 | # Cryptographic options | ||
1111 | # | ||
1112 | # CONFIG_CRYPTO is not set | 1008 | # CONFIG_CRYPTO is not set |
1113 | 1009 | ||
1114 | # | 1010 | # |
@@ -1119,6 +1015,7 @@ CONFIG_CRC_CCITT=m | |||
1119 | # CONFIG_CRC16 is not set | 1015 | # CONFIG_CRC16 is not set |
1120 | # CONFIG_CRC_ITU_T is not set | 1016 | # CONFIG_CRC_ITU_T is not set |
1121 | CONFIG_CRC32=y | 1017 | CONFIG_CRC32=y |
1018 | # CONFIG_CRC7 is not set | ||
1122 | # CONFIG_LIBCRC32C is not set | 1019 | # CONFIG_LIBCRC32C is not set |
1123 | CONFIG_ZLIB_INFLATE=y | 1020 | CONFIG_ZLIB_INFLATE=y |
1124 | CONFIG_ZLIB_DEFLATE=m | 1021 | CONFIG_ZLIB_DEFLATE=m |
diff --git a/arch/blackfin/configs/CM-BF527_defconfig b/arch/blackfin/configs/CM-BF527_defconfig new file mode 100644 index 000000000000..0799aa9bba9d --- /dev/null +++ b/arch/blackfin/configs/CM-BF527_defconfig | |||
@@ -0,0 +1,1185 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.24.7 | ||
4 | # Fri Jul 18 18:00:41 2008 | ||
5 | # | ||
6 | # CONFIG_MMU is not set | ||
7 | # CONFIG_FPU is not set | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
9 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | ||
10 | CONFIG_BLACKFIN=y | ||
11 | CONFIG_ZONE_DMA=y | ||
12 | CONFIG_SEMAPHORE_SLEEPERS=y | ||
13 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
14 | CONFIG_GENERIC_HWEIGHT=y | ||
15 | CONFIG_GENERIC_HARDIRQS=y | ||
16 | CONFIG_GENERIC_IRQ_PROBE=y | ||
17 | CONFIG_GENERIC_GPIO=y | ||
18 | CONFIG_FORCE_MAX_ZONEORDER=14 | ||
19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
21 | |||
22 | # | ||
23 | # General setup | ||
24 | # | ||
25 | CONFIG_EXPERIMENTAL=y | ||
26 | CONFIG_BROKEN_ON_SMP=y | ||
27 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
28 | CONFIG_LOCALVERSION="" | ||
29 | CONFIG_LOCALVERSION_AUTO=y | ||
30 | CONFIG_SYSVIPC=y | ||
31 | CONFIG_SYSVIPC_SYSCTL=y | ||
32 | # CONFIG_POSIX_MQUEUE is not set | ||
33 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
34 | # CONFIG_TASKSTATS is not set | ||
35 | # CONFIG_USER_NS is not set | ||
36 | # CONFIG_PID_NS is not set | ||
37 | # CONFIG_AUDIT is not set | ||
38 | CONFIG_IKCONFIG=y | ||
39 | CONFIG_IKCONFIG_PROC=y | ||
40 | CONFIG_LOG_BUF_SHIFT=14 | ||
41 | # CONFIG_CGROUPS is not set | ||
42 | CONFIG_FAIR_GROUP_SCHED=y | ||
43 | CONFIG_FAIR_USER_SCHED=y | ||
44 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
45 | CONFIG_SYSFS_DEPRECATED=y | ||
46 | # CONFIG_RELAY is not set | ||
47 | CONFIG_BLK_DEV_INITRD=y | ||
48 | CONFIG_INITRAMFS_SOURCE="" | ||
49 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
50 | CONFIG_SYSCTL=y | ||
51 | CONFIG_EMBEDDED=y | ||
52 | CONFIG_UID16=y | ||
53 | CONFIG_SYSCTL_SYSCALL=y | ||
54 | CONFIG_KALLSYMS=y | ||
55 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
56 | CONFIG_HOTPLUG=y | ||
57 | CONFIG_PRINTK=y | ||
58 | CONFIG_BUG=y | ||
59 | CONFIG_ELF_CORE=y | ||
60 | CONFIG_BASE_FULL=y | ||
61 | CONFIG_FUTEX=y | ||
62 | CONFIG_ANON_INODES=y | ||
63 | CONFIG_EPOLL=y | ||
64 | CONFIG_SIGNALFD=y | ||
65 | CONFIG_EVENTFD=y | ||
66 | CONFIG_VM_EVENT_COUNTERS=y | ||
67 | CONFIG_SLAB=y | ||
68 | # CONFIG_SLUB is not set | ||
69 | # CONFIG_SLOB is not set | ||
70 | CONFIG_SLABINFO=y | ||
71 | CONFIG_RT_MUTEXES=y | ||
72 | CONFIG_TINY_SHMEM=y | ||
73 | CONFIG_BASE_SMALL=0 | ||
74 | CONFIG_MODULES=y | ||
75 | CONFIG_MODULE_UNLOAD=y | ||
76 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
77 | # CONFIG_MODVERSIONS is not set | ||
78 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
79 | CONFIG_KMOD=y | ||
80 | CONFIG_BLOCK=y | ||
81 | # CONFIG_LBD is not set | ||
82 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
83 | # CONFIG_LSF is not set | ||
84 | # CONFIG_BLK_DEV_BSG is not set | ||
85 | |||
86 | # | ||
87 | # IO Schedulers | ||
88 | # | ||
89 | CONFIG_IOSCHED_NOOP=y | ||
90 | # CONFIG_IOSCHED_AS is not set | ||
91 | # CONFIG_IOSCHED_DEADLINE is not set | ||
92 | CONFIG_IOSCHED_CFQ=y | ||
93 | # CONFIG_DEFAULT_AS is not set | ||
94 | # CONFIG_DEFAULT_DEADLINE is not set | ||
95 | CONFIG_DEFAULT_CFQ=y | ||
96 | # CONFIG_DEFAULT_NOOP is not set | ||
97 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
98 | # CONFIG_PREEMPT_NONE is not set | ||
99 | CONFIG_PREEMPT_VOLUNTARY=y | ||
100 | # CONFIG_PREEMPT is not set | ||
101 | |||
102 | # | ||
103 | # Blackfin Processor Options | ||
104 | # | ||
105 | |||
106 | # | ||
107 | # Processor and Board Settings | ||
108 | # | ||
109 | # CONFIG_BF522 is not set | ||
110 | # CONFIG_BF523 is not set | ||
111 | # CONFIG_BF524 is not set | ||
112 | # CONFIG_BF525 is not set | ||
113 | # CONFIG_BF526 is not set | ||
114 | CONFIG_BF527=y | ||
115 | # CONFIG_BF531 is not set | ||
116 | # CONFIG_BF532 is not set | ||
117 | # CONFIG_BF533 is not set | ||
118 | # CONFIG_BF534 is not set | ||
119 | # CONFIG_BF536 is not set | ||
120 | # CONFIG_BF537 is not set | ||
121 | # CONFIG_BF542 is not set | ||
122 | # CONFIG_BF544 is not set | ||
123 | # CONFIG_BF547 is not set | ||
124 | # CONFIG_BF548 is not set | ||
125 | # CONFIG_BF549 is not set | ||
126 | # CONFIG_BF561 is not set | ||
127 | # CONFIG_BF_REV_0_0 is not set | ||
128 | CONFIG_BF_REV_0_1=y | ||
129 | # CONFIG_BF_REV_0_2 is not set | ||
130 | # CONFIG_BF_REV_0_3 is not set | ||
131 | # CONFIG_BF_REV_0_4 is not set | ||
132 | # CONFIG_BF_REV_0_5 is not set | ||
133 | # CONFIG_BF_REV_ANY is not set | ||
134 | # CONFIG_BF_REV_NONE is not set | ||
135 | CONFIG_BF52x=y | ||
136 | CONFIG_MEM_MT48LC16M16A2TG_75=y | ||
137 | # CONFIG_BFIN527_EZKIT is not set | ||
138 | CONFIG_BFIN527_BLUETECHNIX_CM=y | ||
139 | |||
140 | # | ||
141 | # BF527 Specific Configuration | ||
142 | # | ||
143 | |||
144 | # | ||
145 | # Alternative Multiplexing Scheme | ||
146 | # | ||
147 | # CONFIG_BF527_SPORT0_PORTF is not set | ||
148 | CONFIG_BF527_SPORT0_PORTG=y | ||
149 | CONFIG_BF527_SPORT0_TSCLK_PG10=y | ||
150 | # CONFIG_BF527_SPORT0_TSCLK_PG14 is not set | ||
151 | CONFIG_BF527_UART1_PORTF=y | ||
152 | # CONFIG_BF527_UART1_PORTG is not set | ||
153 | # CONFIG_BF527_NAND_D_PORTF is not set | ||
154 | CONFIG_BF527_NAND_D_PORTH=y | ||
155 | |||
156 | # | ||
157 | # Interrupt Priority Assignment | ||
158 | # | ||
159 | |||
160 | # | ||
161 | # Priority | ||
162 | # | ||
163 | CONFIG_IRQ_PLL_WAKEUP=7 | ||
164 | CONFIG_IRQ_DMA0_ERROR=7 | ||
165 | CONFIG_IRQ_DMAR0_BLK=7 | ||
166 | CONFIG_IRQ_DMAR1_BLK=7 | ||
167 | CONFIG_IRQ_DMAR0_OVR=7 | ||
168 | CONFIG_IRQ_DMAR1_OVR=7 | ||
169 | CONFIG_IRQ_PPI_ERROR=7 | ||
170 | CONFIG_IRQ_MAC_ERROR=7 | ||
171 | CONFIG_IRQ_SPORT0_ERROR=7 | ||
172 | CONFIG_IRQ_SPORT1_ERROR=7 | ||
173 | CONFIG_IRQ_UART0_ERROR=7 | ||
174 | CONFIG_IRQ_UART1_ERROR=7 | ||
175 | CONFIG_IRQ_RTC=8 | ||
176 | CONFIG_IRQ_PPI=8 | ||
177 | CONFIG_IRQ_SPORT0_RX=9 | ||
178 | CONFIG_IRQ_SPORT0_TX=9 | ||
179 | CONFIG_IRQ_SPORT1_RX=9 | ||
180 | CONFIG_IRQ_SPORT1_TX=9 | ||
181 | CONFIG_IRQ_TWI=10 | ||
182 | CONFIG_IRQ_SPI=10 | ||
183 | CONFIG_IRQ_UART0_RX=10 | ||
184 | CONFIG_IRQ_UART0_TX=10 | ||
185 | CONFIG_IRQ_UART1_RX=10 | ||
186 | CONFIG_IRQ_UART1_TX=10 | ||
187 | CONFIG_IRQ_OPTSEC=11 | ||
188 | CONFIG_IRQ_CNT=11 | ||
189 | CONFIG_IRQ_MAC_RX=11 | ||
190 | CONFIG_IRQ_PORTH_INTA=11 | ||
191 | CONFIG_IRQ_MAC_TX=11 | ||
192 | CONFIG_IRQ_PORTH_INTB=11 | ||
193 | CONFIG_IRQ_TMR0=12 | ||
194 | CONFIG_IRQ_TMR1=12 | ||
195 | CONFIG_IRQ_TMR2=12 | ||
196 | CONFIG_IRQ_TMR3=12 | ||
197 | CONFIG_IRQ_TMR4=12 | ||
198 | CONFIG_IRQ_TMR5=12 | ||
199 | CONFIG_IRQ_TMR6=12 | ||
200 | CONFIG_IRQ_TMR7=12 | ||
201 | CONFIG_IRQ_PORTG_INTA=12 | ||
202 | CONFIG_IRQ_PORTG_INTB=12 | ||
203 | CONFIG_IRQ_MEM_DMA0=13 | ||
204 | CONFIG_IRQ_MEM_DMA1=13 | ||
205 | CONFIG_IRQ_WATCH=13 | ||
206 | CONFIG_IRQ_PORTF_INTA=13 | ||
207 | CONFIG_IRQ_PORTF_INTB=13 | ||
208 | CONFIG_IRQ_SPI_ERROR=7 | ||
209 | CONFIG_IRQ_NFC_ERROR=7 | ||
210 | CONFIG_IRQ_HDMA_ERROR=7 | ||
211 | CONFIG_IRQ_HDMA=7 | ||
212 | CONFIG_IRQ_USB_EINT=10 | ||
213 | CONFIG_IRQ_USB_INT0=11 | ||
214 | CONFIG_IRQ_USB_INT1=11 | ||
215 | CONFIG_IRQ_USB_INT2=11 | ||
216 | CONFIG_IRQ_USB_DMA=11 | ||
217 | |||
218 | # | ||
219 | # Board customizations | ||
220 | # | ||
221 | # CONFIG_CMDLINE_BOOL is not set | ||
222 | CONFIG_BOOT_LOAD=0x1000 | ||
223 | |||
224 | # | ||
225 | # Clock/PLL Setup | ||
226 | # | ||
227 | CONFIG_CLKIN_HZ=25000000 | ||
228 | # CONFIG_BFIN_KERNEL_CLOCK is not set | ||
229 | CONFIG_MAX_MEM_SIZE=512 | ||
230 | CONFIG_MAX_VCO_HZ=600000000 | ||
231 | CONFIG_MIN_VCO_HZ=50000000 | ||
232 | CONFIG_MAX_SCLK_HZ=133333333 | ||
233 | CONFIG_MIN_SCLK_HZ=27000000 | ||
234 | |||
235 | # | ||
236 | # Kernel Timer/Scheduler | ||
237 | # | ||
238 | # CONFIG_HZ_100 is not set | ||
239 | CONFIG_HZ_250=y | ||
240 | # CONFIG_HZ_300 is not set | ||
241 | # CONFIG_HZ_1000 is not set | ||
242 | CONFIG_HZ=250 | ||
243 | CONFIG_GENERIC_TIME=y | ||
244 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
245 | # CONFIG_CYCLES_CLOCKSOURCE is not set | ||
246 | # CONFIG_TICK_ONESHOT is not set | ||
247 | # CONFIG_NO_HZ is not set | ||
248 | # CONFIG_HIGH_RES_TIMERS is not set | ||
249 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
250 | |||
251 | # | ||
252 | # Misc | ||
253 | # | ||
254 | CONFIG_BFIN_SCRATCH_REG_RETN=y | ||
255 | # CONFIG_BFIN_SCRATCH_REG_RETE is not set | ||
256 | # CONFIG_BFIN_SCRATCH_REG_CYCLES is not set | ||
257 | |||
258 | # | ||
259 | # Blackfin Kernel Optimizations | ||
260 | # | ||
261 | |||
262 | # | ||
263 | # Memory Optimizations | ||
264 | # | ||
265 | CONFIG_I_ENTRY_L1=y | ||
266 | CONFIG_EXCPT_IRQ_SYSC_L1=y | ||
267 | CONFIG_DO_IRQ_L1=y | ||
268 | CONFIG_CORE_TIMER_IRQ_L1=y | ||
269 | CONFIG_IDLE_L1=y | ||
270 | # CONFIG_SCHEDULE_L1 is not set | ||
271 | CONFIG_ARITHMETIC_OPS_L1=y | ||
272 | CONFIG_ACCESS_OK_L1=y | ||
273 | # CONFIG_MEMSET_L1 is not set | ||
274 | # CONFIG_MEMCPY_L1 is not set | ||
275 | # CONFIG_SYS_BFIN_SPINLOCK_L1 is not set | ||
276 | # CONFIG_IP_CHECKSUM_L1 is not set | ||
277 | CONFIG_CACHELINE_ALIGNED_L1=y | ||
278 | # CONFIG_SYSCALL_TAB_L1 is not set | ||
279 | # CONFIG_CPLB_SWITCH_TAB_L1 is not set | ||
280 | CONFIG_RAMKERNEL=y | ||
281 | # CONFIG_ROMKERNEL is not set | ||
282 | CONFIG_SELECT_MEMORY_MODEL=y | ||
283 | CONFIG_FLATMEM_MANUAL=y | ||
284 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
285 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
286 | CONFIG_FLATMEM=y | ||
287 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
288 | # CONFIG_SPARSEMEM_STATIC is not set | ||
289 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
290 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
291 | # CONFIG_RESOURCES_64BIT is not set | ||
292 | CONFIG_ZONE_DMA_FLAG=1 | ||
293 | CONFIG_VIRT_TO_BUS=y | ||
294 | CONFIG_BFIN_GPTIMERS=y | ||
295 | CONFIG_BFIN_DMA_5XX=y | ||
296 | # CONFIG_DMA_UNCACHED_4M is not set | ||
297 | # CONFIG_DMA_UNCACHED_2M is not set | ||
298 | CONFIG_DMA_UNCACHED_1M=y | ||
299 | # CONFIG_DMA_UNCACHED_NONE is not set | ||
300 | |||
301 | # | ||
302 | # Cache Support | ||
303 | # | ||
304 | CONFIG_BFIN_ICACHE=y | ||
305 | CONFIG_BFIN_DCACHE=y | ||
306 | # CONFIG_BFIN_DCACHE_BANKA is not set | ||
307 | # CONFIG_BFIN_ICACHE_LOCK is not set | ||
308 | # CONFIG_BFIN_WB is not set | ||
309 | CONFIG_BFIN_WT=y | ||
310 | # CONFIG_MPU is not set | ||
311 | |||
312 | # | ||
313 | # Asynchonous Memory Configuration | ||
314 | # | ||
315 | |||
316 | # | ||
317 | # EBIU_AMGCTL Global Control | ||
318 | # | ||
319 | CONFIG_C_AMCKEN=y | ||
320 | CONFIG_C_CDPRIO=y | ||
321 | # CONFIG_C_AMBEN is not set | ||
322 | # CONFIG_C_AMBEN_B0 is not set | ||
323 | # CONFIG_C_AMBEN_B0_B1 is not set | ||
324 | # CONFIG_C_AMBEN_B0_B1_B2 is not set | ||
325 | CONFIG_C_AMBEN_ALL=y | ||
326 | |||
327 | # | ||
328 | # EBIU_AMBCTL Control | ||
329 | # | ||
330 | CONFIG_BANK_0=0x7BB0 | ||
331 | CONFIG_BANK_1=0x5554 | ||
332 | CONFIG_BANK_2=0x7BB0 | ||
333 | CONFIG_BANK_3=0xFFC0 | ||
334 | |||
335 | # | ||
336 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | ||
337 | # | ||
338 | # CONFIG_PCI is not set | ||
339 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
340 | # CONFIG_PCCARD is not set | ||
341 | |||
342 | # | ||
343 | # Executable file formats | ||
344 | # | ||
345 | CONFIG_BINFMT_ELF_FDPIC=y | ||
346 | CONFIG_BINFMT_FLAT=y | ||
347 | CONFIG_BINFMT_ZFLAT=y | ||
348 | # CONFIG_BINFMT_SHARED_FLAT is not set | ||
349 | # CONFIG_BINFMT_MISC is not set | ||
350 | |||
351 | # | ||
352 | # Power management options | ||
353 | # | ||
354 | # CONFIG_PM is not set | ||
355 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
356 | # CONFIG_PM_BFIN_SLEEP_DEEPER is not set | ||
357 | # CONFIG_PM_BFIN_SLEEP is not set | ||
358 | # CONFIG_PM_WAKEUP_BY_GPIO is not set | ||
359 | |||
360 | # | ||
361 | # CPU Frequency scaling | ||
362 | # | ||
363 | # CONFIG_CPU_FREQ is not set | ||
364 | |||
365 | # | ||
366 | # Networking | ||
367 | # | ||
368 | CONFIG_NET=y | ||
369 | |||
370 | # | ||
371 | # Networking options | ||
372 | # | ||
373 | CONFIG_PACKET=y | ||
374 | # CONFIG_PACKET_MMAP is not set | ||
375 | CONFIG_UNIX=y | ||
376 | CONFIG_XFRM=y | ||
377 | # CONFIG_XFRM_USER is not set | ||
378 | # CONFIG_XFRM_SUB_POLICY is not set | ||
379 | # CONFIG_XFRM_MIGRATE is not set | ||
380 | # CONFIG_NET_KEY is not set | ||
381 | CONFIG_INET=y | ||
382 | # CONFIG_IP_MULTICAST is not set | ||
383 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
384 | CONFIG_IP_FIB_HASH=y | ||
385 | CONFIG_IP_PNP=y | ||
386 | # CONFIG_IP_PNP_DHCP is not set | ||
387 | # CONFIG_IP_PNP_BOOTP is not set | ||
388 | # CONFIG_IP_PNP_RARP is not set | ||
389 | # CONFIG_NET_IPIP is not set | ||
390 | # CONFIG_NET_IPGRE is not set | ||
391 | # CONFIG_ARPD is not set | ||
392 | CONFIG_SYN_COOKIES=y | ||
393 | # CONFIG_INET_AH is not set | ||
394 | # CONFIG_INET_ESP is not set | ||
395 | # CONFIG_INET_IPCOMP is not set | ||
396 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
397 | # CONFIG_INET_TUNNEL is not set | ||
398 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
399 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
400 | CONFIG_INET_XFRM_MODE_BEET=y | ||
401 | # CONFIG_INET_LRO is not set | ||
402 | CONFIG_INET_DIAG=y | ||
403 | CONFIG_INET_TCP_DIAG=y | ||
404 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
405 | CONFIG_TCP_CONG_CUBIC=y | ||
406 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
407 | # CONFIG_TCP_MD5SIG is not set | ||
408 | # CONFIG_IPV6 is not set | ||
409 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
410 | # CONFIG_INET6_TUNNEL is not set | ||
411 | # CONFIG_NETLABEL is not set | ||
412 | # CONFIG_NETWORK_SECMARK is not set | ||
413 | # CONFIG_NETFILTER is not set | ||
414 | # CONFIG_IP_DCCP is not set | ||
415 | # CONFIG_IP_SCTP is not set | ||
416 | # CONFIG_TIPC is not set | ||
417 | # CONFIG_ATM is not set | ||
418 | # CONFIG_BRIDGE is not set | ||
419 | # CONFIG_VLAN_8021Q is not set | ||
420 | # CONFIG_DECNET is not set | ||
421 | # CONFIG_LLC2 is not set | ||
422 | # CONFIG_IPX is not set | ||
423 | # CONFIG_ATALK is not set | ||
424 | # CONFIG_X25 is not set | ||
425 | # CONFIG_LAPB is not set | ||
426 | # CONFIG_ECONET is not set | ||
427 | # CONFIG_WAN_ROUTER is not set | ||
428 | # CONFIG_NET_SCHED is not set | ||
429 | |||
430 | # | ||
431 | # Network testing | ||
432 | # | ||
433 | # CONFIG_NET_PKTGEN is not set | ||
434 | # CONFIG_HAMRADIO is not set | ||
435 | # CONFIG_IRDA is not set | ||
436 | # CONFIG_BT is not set | ||
437 | # CONFIG_AF_RXRPC is not set | ||
438 | |||
439 | # | ||
440 | # Wireless | ||
441 | # | ||
442 | # CONFIG_CFG80211 is not set | ||
443 | # CONFIG_WIRELESS_EXT is not set | ||
444 | # CONFIG_MAC80211 is not set | ||
445 | # CONFIG_IEEE80211 is not set | ||
446 | # CONFIG_RFKILL is not set | ||
447 | # CONFIG_NET_9P is not set | ||
448 | |||
449 | # | ||
450 | # Device Drivers | ||
451 | # | ||
452 | |||
453 | # | ||
454 | # Generic Driver Options | ||
455 | # | ||
456 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
457 | CONFIG_STANDALONE=y | ||
458 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
459 | # CONFIG_FW_LOADER is not set | ||
460 | # CONFIG_SYS_HYPERVISOR is not set | ||
461 | # CONFIG_CONNECTOR is not set | ||
462 | CONFIG_MTD=y | ||
463 | # CONFIG_MTD_DEBUG is not set | ||
464 | # CONFIG_MTD_CONCAT is not set | ||
465 | CONFIG_MTD_PARTITIONS=y | ||
466 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
467 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
468 | |||
469 | # | ||
470 | # User Modules And Translation Layers | ||
471 | # | ||
472 | CONFIG_MTD_CHAR=m | ||
473 | CONFIG_MTD_BLKDEVS=y | ||
474 | CONFIG_MTD_BLOCK=y | ||
475 | # CONFIG_FTL is not set | ||
476 | # CONFIG_NFTL is not set | ||
477 | # CONFIG_INFTL is not set | ||
478 | # CONFIG_RFD_FTL is not set | ||
479 | # CONFIG_SSFDC is not set | ||
480 | # CONFIG_MTD_OOPS is not set | ||
481 | |||
482 | # | ||
483 | # RAM/ROM/Flash chip drivers | ||
484 | # | ||
485 | # CONFIG_MTD_CFI is not set | ||
486 | CONFIG_MTD_JEDECPROBE=m | ||
487 | CONFIG_MTD_GEN_PROBE=m | ||
488 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
489 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
490 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
491 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
492 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
493 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
494 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
495 | CONFIG_MTD_CFI_I1=y | ||
496 | CONFIG_MTD_CFI_I2=y | ||
497 | # CONFIG_MTD_CFI_I4 is not set | ||
498 | # CONFIG_MTD_CFI_I8 is not set | ||
499 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
500 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
501 | # CONFIG_MTD_CFI_STAA is not set | ||
502 | CONFIG_MTD_RAM=y | ||
503 | CONFIG_MTD_ROM=m | ||
504 | # CONFIG_MTD_ABSENT is not set | ||
505 | |||
506 | # | ||
507 | # Mapping drivers for chip access | ||
508 | # | ||
509 | CONFIG_MTD_COMPLEX_MAPPINGS=y | ||
510 | # CONFIG_MTD_PHYSMAP is not set | ||
511 | # CONFIG_MTD_UCLINUX is not set | ||
512 | # CONFIG_MTD_PLATRAM is not set | ||
513 | |||
514 | # | ||
515 | # Self-contained MTD device drivers | ||
516 | # | ||
517 | # CONFIG_MTD_DATAFLASH is not set | ||
518 | # CONFIG_MTD_M25P80 is not set | ||
519 | # CONFIG_MTD_SLRAM is not set | ||
520 | # CONFIG_MTD_PHRAM is not set | ||
521 | # CONFIG_MTD_MTDRAM is not set | ||
522 | # CONFIG_MTD_BLOCK2MTD is not set | ||
523 | |||
524 | # | ||
525 | # Disk-On-Chip Device Drivers | ||
526 | # | ||
527 | # CONFIG_MTD_DOC2000 is not set | ||
528 | # CONFIG_MTD_DOC2001 is not set | ||
529 | # CONFIG_MTD_DOC2001PLUS is not set | ||
530 | # CONFIG_MTD_NAND is not set | ||
531 | # CONFIG_MTD_ONENAND is not set | ||
532 | |||
533 | # | ||
534 | # UBI - Unsorted block images | ||
535 | # | ||
536 | # CONFIG_MTD_UBI is not set | ||
537 | # CONFIG_PARPORT is not set | ||
538 | CONFIG_BLK_DEV=y | ||
539 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
540 | # CONFIG_BLK_DEV_LOOP is not set | ||
541 | # CONFIG_BLK_DEV_NBD is not set | ||
542 | # CONFIG_BLK_DEV_UB is not set | ||
543 | CONFIG_BLK_DEV_RAM=y | ||
544 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
545 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
546 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
547 | # CONFIG_CDROM_PKTCDVD is not set | ||
548 | # CONFIG_ATA_OVER_ETH is not set | ||
549 | # CONFIG_MISC_DEVICES is not set | ||
550 | # CONFIG_IDE is not set | ||
551 | |||
552 | # | ||
553 | # SCSI device support | ||
554 | # | ||
555 | # CONFIG_RAID_ATTRS is not set | ||
556 | # CONFIG_SCSI is not set | ||
557 | # CONFIG_SCSI_DMA is not set | ||
558 | # CONFIG_SCSI_NETLINK is not set | ||
559 | # CONFIG_ATA is not set | ||
560 | # CONFIG_MD is not set | ||
561 | CONFIG_NETDEVICES=y | ||
562 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
563 | # CONFIG_DUMMY is not set | ||
564 | # CONFIG_BONDING is not set | ||
565 | # CONFIG_MACVLAN is not set | ||
566 | # CONFIG_EQUALIZER is not set | ||
567 | # CONFIG_TUN is not set | ||
568 | # CONFIG_VETH is not set | ||
569 | CONFIG_PHYLIB=y | ||
570 | |||
571 | # | ||
572 | # MII PHY device drivers | ||
573 | # | ||
574 | # CONFIG_MARVELL_PHY is not set | ||
575 | # CONFIG_DAVICOM_PHY is not set | ||
576 | # CONFIG_QSEMI_PHY is not set | ||
577 | # CONFIG_LXT_PHY is not set | ||
578 | # CONFIG_CICADA_PHY is not set | ||
579 | # CONFIG_VITESSE_PHY is not set | ||
580 | # CONFIG_SMSC_PHY is not set | ||
581 | # CONFIG_BROADCOM_PHY is not set | ||
582 | # CONFIG_ICPLUS_PHY is not set | ||
583 | # CONFIG_FIXED_PHY is not set | ||
584 | # CONFIG_MDIO_BITBANG is not set | ||
585 | CONFIG_NET_ETHERNET=y | ||
586 | CONFIG_MII=y | ||
587 | CONFIG_BFIN_MAC=y | ||
588 | CONFIG_BFIN_MAC_USE_L1=y | ||
589 | CONFIG_BFIN_TX_DESC_NUM=10 | ||
590 | CONFIG_BFIN_RX_DESC_NUM=20 | ||
591 | CONFIG_BFIN_MAC_RMII=y | ||
592 | # CONFIG_SMC91X is not set | ||
593 | # CONFIG_SMSC911X is not set | ||
594 | # CONFIG_DM9000 is not set | ||
595 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
596 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
597 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
598 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
599 | # CONFIG_B44 is not set | ||
600 | # CONFIG_NETDEV_1000 is not set | ||
601 | # CONFIG_NETDEV_10000 is not set | ||
602 | |||
603 | # | ||
604 | # Wireless LAN | ||
605 | # | ||
606 | # CONFIG_WLAN_PRE80211 is not set | ||
607 | # CONFIG_WLAN_80211 is not set | ||
608 | |||
609 | # | ||
610 | # USB Network Adapters | ||
611 | # | ||
612 | # CONFIG_USB_CATC is not set | ||
613 | # CONFIG_USB_KAWETH is not set | ||
614 | # CONFIG_USB_PEGASUS is not set | ||
615 | # CONFIG_USB_RTL8150 is not set | ||
616 | # CONFIG_USB_USBNET is not set | ||
617 | # CONFIG_WAN is not set | ||
618 | # CONFIG_PPP is not set | ||
619 | # CONFIG_SLIP is not set | ||
620 | # CONFIG_SHAPER is not set | ||
621 | # CONFIG_NETCONSOLE is not set | ||
622 | # CONFIG_NETPOLL is not set | ||
623 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
624 | # CONFIG_ISDN is not set | ||
625 | # CONFIG_PHONE is not set | ||
626 | |||
627 | # | ||
628 | # Input device support | ||
629 | # | ||
630 | # CONFIG_INPUT is not set | ||
631 | |||
632 | # | ||
633 | # Hardware I/O ports | ||
634 | # | ||
635 | # CONFIG_SERIO is not set | ||
636 | # CONFIG_GAMEPORT is not set | ||
637 | |||
638 | # | ||
639 | # Character devices | ||
640 | # | ||
641 | # CONFIG_AD9960 is not set | ||
642 | # CONFIG_SPI_ADC_BF533 is not set | ||
643 | # CONFIG_BF5xx_PPIFCD is not set | ||
644 | # CONFIG_BFIN_SIMPLE_TIMER is not set | ||
645 | # CONFIG_BF5xx_PPI is not set | ||
646 | CONFIG_BFIN_OTP=y | ||
647 | # CONFIG_BFIN_OTP_WRITE_ENABLE is not set | ||
648 | # CONFIG_BFIN_SPORT is not set | ||
649 | # CONFIG_BFIN_TIMER_LATENCY is not set | ||
650 | # CONFIG_TWI_LCD is not set | ||
651 | CONFIG_SIMPLE_GPIO=m | ||
652 | # CONFIG_VT is not set | ||
653 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
654 | |||
655 | # | ||
656 | # Serial drivers | ||
657 | # | ||
658 | # CONFIG_SERIAL_8250 is not set | ||
659 | |||
660 | # | ||
661 | # Non-8250 serial port support | ||
662 | # | ||
663 | CONFIG_SERIAL_BFIN=y | ||
664 | CONFIG_SERIAL_BFIN_CONSOLE=y | ||
665 | CONFIG_SERIAL_BFIN_DMA=y | ||
666 | # CONFIG_SERIAL_BFIN_PIO is not set | ||
667 | CONFIG_SERIAL_BFIN_UART0=y | ||
668 | # CONFIG_BFIN_UART0_CTSRTS is not set | ||
669 | CONFIG_SERIAL_BFIN_UART1=y | ||
670 | # CONFIG_BFIN_UART1_CTSRTS is not set | ||
671 | CONFIG_SERIAL_CORE=y | ||
672 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
673 | # CONFIG_SERIAL_BFIN_SPORT is not set | ||
674 | CONFIG_UNIX98_PTYS=y | ||
675 | # CONFIG_LEGACY_PTYS is not set | ||
676 | |||
677 | # | ||
678 | # CAN, the car bus and industrial fieldbus | ||
679 | # | ||
680 | # CONFIG_CAN4LINUX is not set | ||
681 | # CONFIG_IPMI_HANDLER is not set | ||
682 | CONFIG_HW_RANDOM=y | ||
683 | # CONFIG_GEN_RTC is not set | ||
684 | # CONFIG_R3964 is not set | ||
685 | # CONFIG_RAW_DRIVER is not set | ||
686 | # CONFIG_TCG_TPM is not set | ||
687 | CONFIG_I2C=y | ||
688 | CONFIG_I2C_BOARDINFO=y | ||
689 | CONFIG_I2C_CHARDEV=m | ||
690 | |||
691 | # | ||
692 | # I2C Algorithms | ||
693 | # | ||
694 | # CONFIG_I2C_ALGOBIT is not set | ||
695 | # CONFIG_I2C_ALGOPCF is not set | ||
696 | # CONFIG_I2C_ALGOPCA is not set | ||
697 | |||
698 | # | ||
699 | # I2C Hardware Bus support | ||
700 | # | ||
701 | CONFIG_I2C_BLACKFIN_TWI=m | ||
702 | CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=50 | ||
703 | # CONFIG_I2C_GPIO is not set | ||
704 | # CONFIG_I2C_OCORES is not set | ||
705 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
706 | # CONFIG_I2C_SIMTEC is not set | ||
707 | # CONFIG_I2C_TAOS_EVM is not set | ||
708 | # CONFIG_I2C_STUB is not set | ||
709 | # CONFIG_I2C_TINY_USB is not set | ||
710 | |||
711 | # | ||
712 | # Miscellaneous I2C Chip support | ||
713 | # | ||
714 | # CONFIG_SENSORS_DS1337 is not set | ||
715 | # CONFIG_SENSORS_DS1374 is not set | ||
716 | # CONFIG_DS1682 is not set | ||
717 | # CONFIG_SENSORS_AD5252 is not set | ||
718 | # CONFIG_SENSORS_EEPROM is not set | ||
719 | # CONFIG_SENSORS_PCF8574 is not set | ||
720 | # CONFIG_SENSORS_PCF8575 is not set | ||
721 | # CONFIG_SENSORS_PCA9539 is not set | ||
722 | # CONFIG_SENSORS_PCF8591 is not set | ||
723 | # CONFIG_SENSORS_MAX6875 is not set | ||
724 | # CONFIG_SENSORS_TSL2550 is not set | ||
725 | # CONFIG_I2C_DEBUG_CORE is not set | ||
726 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
727 | # CONFIG_I2C_DEBUG_BUS is not set | ||
728 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
729 | |||
730 | # | ||
731 | # SPI support | ||
732 | # | ||
733 | CONFIG_SPI=y | ||
734 | CONFIG_SPI_MASTER=y | ||
735 | |||
736 | # | ||
737 | # SPI Master Controller Drivers | ||
738 | # | ||
739 | CONFIG_SPI_BFIN=y | ||
740 | # CONFIG_SPI_BITBANG is not set | ||
741 | |||
742 | # | ||
743 | # SPI Protocol Masters | ||
744 | # | ||
745 | # CONFIG_SPI_AT25 is not set | ||
746 | # CONFIG_SPI_SPIDEV is not set | ||
747 | # CONFIG_SPI_TLE62X0 is not set | ||
748 | # CONFIG_W1 is not set | ||
749 | # CONFIG_POWER_SUPPLY is not set | ||
750 | CONFIG_HWMON=y | ||
751 | # CONFIG_HWMON_VID is not set | ||
752 | # CONFIG_SENSORS_AD7418 is not set | ||
753 | # CONFIG_SENSORS_ADM1021 is not set | ||
754 | # CONFIG_SENSORS_ADM1025 is not set | ||
755 | # CONFIG_SENSORS_ADM1026 is not set | ||
756 | # CONFIG_SENSORS_ADM1029 is not set | ||
757 | # CONFIG_SENSORS_ADM1031 is not set | ||
758 | # CONFIG_SENSORS_ADM9240 is not set | ||
759 | # CONFIG_SENSORS_ADT7470 is not set | ||
760 | # CONFIG_SENSORS_ATXP1 is not set | ||
761 | # CONFIG_SENSORS_DS1621 is not set | ||
762 | # CONFIG_SENSORS_F71805F is not set | ||
763 | # CONFIG_SENSORS_F71882FG is not set | ||
764 | # CONFIG_SENSORS_F75375S is not set | ||
765 | # CONFIG_SENSORS_GL518SM is not set | ||
766 | # CONFIG_SENSORS_GL520SM is not set | ||
767 | # CONFIG_SENSORS_IT87 is not set | ||
768 | # CONFIG_SENSORS_LM63 is not set | ||
769 | # CONFIG_SENSORS_LM70 is not set | ||
770 | # CONFIG_SENSORS_LM75 is not set | ||
771 | # CONFIG_SENSORS_LM77 is not set | ||
772 | # CONFIG_SENSORS_LM78 is not set | ||
773 | # CONFIG_SENSORS_LM80 is not set | ||
774 | # CONFIG_SENSORS_LM83 is not set | ||
775 | # CONFIG_SENSORS_LM85 is not set | ||
776 | # CONFIG_SENSORS_LM87 is not set | ||
777 | # CONFIG_SENSORS_LM90 is not set | ||
778 | # CONFIG_SENSORS_LM92 is not set | ||
779 | # CONFIG_SENSORS_LM93 is not set | ||
780 | # CONFIG_SENSORS_MAX1619 is not set | ||
781 | # CONFIG_SENSORS_MAX6650 is not set | ||
782 | # CONFIG_SENSORS_PC87360 is not set | ||
783 | # CONFIG_SENSORS_PC87427 is not set | ||
784 | # CONFIG_SENSORS_DME1737 is not set | ||
785 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
786 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
787 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
788 | # CONFIG_SENSORS_THMC50 is not set | ||
789 | # CONFIG_SENSORS_VT1211 is not set | ||
790 | # CONFIG_SENSORS_W83781D is not set | ||
791 | # CONFIG_SENSORS_W83791D is not set | ||
792 | # CONFIG_SENSORS_W83792D is not set | ||
793 | # CONFIG_SENSORS_W83793 is not set | ||
794 | # CONFIG_SENSORS_W83L785TS is not set | ||
795 | # CONFIG_SENSORS_W83627HF is not set | ||
796 | # CONFIG_SENSORS_W83627EHF is not set | ||
797 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
798 | CONFIG_WATCHDOG=y | ||
799 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
800 | |||
801 | # | ||
802 | # Watchdog Device Drivers | ||
803 | # | ||
804 | # CONFIG_SOFT_WATCHDOG is not set | ||
805 | CONFIG_BFIN_WDT=y | ||
806 | |||
807 | # | ||
808 | # USB-based Watchdog Cards | ||
809 | # | ||
810 | # CONFIG_USBPCWATCHDOG is not set | ||
811 | |||
812 | # | ||
813 | # Sonics Silicon Backplane | ||
814 | # | ||
815 | CONFIG_SSB_POSSIBLE=y | ||
816 | # CONFIG_SSB is not set | ||
817 | |||
818 | # | ||
819 | # Multifunction device drivers | ||
820 | # | ||
821 | # CONFIG_MFD_SM501 is not set | ||
822 | |||
823 | # | ||
824 | # Multimedia devices | ||
825 | # | ||
826 | # CONFIG_VIDEO_DEV is not set | ||
827 | # CONFIG_DVB_CORE is not set | ||
828 | # CONFIG_DAB is not set | ||
829 | |||
830 | # | ||
831 | # Graphics support | ||
832 | # | ||
833 | # CONFIG_VGASTATE is not set | ||
834 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
835 | # CONFIG_FB is not set | ||
836 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
837 | |||
838 | # | ||
839 | # Display device support | ||
840 | # | ||
841 | # CONFIG_DISPLAY_SUPPORT is not set | ||
842 | |||
843 | # | ||
844 | # Sound | ||
845 | # | ||
846 | # CONFIG_SOUND is not set | ||
847 | CONFIG_USB_SUPPORT=y | ||
848 | CONFIG_USB_ARCH_HAS_HCD=y | ||
849 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
850 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
851 | CONFIG_USB=y | ||
852 | # CONFIG_USB_DEBUG is not set | ||
853 | |||
854 | # | ||
855 | # Miscellaneous USB options | ||
856 | # | ||
857 | # CONFIG_USB_DEVICEFS is not set | ||
858 | CONFIG_USB_DEVICE_CLASS=y | ||
859 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
860 | # CONFIG_USB_OTG is not set | ||
861 | # CONFIG_USB_OTG_WHITELIST is not set | ||
862 | CONFIG_USB_OTG_BLACKLIST_HUB=y | ||
863 | |||
864 | # | ||
865 | # USB Host Controller Drivers | ||
866 | # | ||
867 | # CONFIG_USB_ISP116X_HCD is not set | ||
868 | # CONFIG_USB_ISP1362_HCD is not set | ||
869 | # CONFIG_USB_ISP1760_HCD is not set | ||
870 | # CONFIG_USB_SL811_HCD is not set | ||
871 | # CONFIG_USB_R8A66597_HCD is not set | ||
872 | CONFIG_USB_MUSB_HDRC=y | ||
873 | CONFIG_USB_MUSB_SOC=y | ||
874 | |||
875 | # | ||
876 | # Blackfin high speed USB support | ||
877 | # | ||
878 | CONFIG_USB_MUSB_HOST=y | ||
879 | # CONFIG_USB_MUSB_PERIPHERAL is not set | ||
880 | # CONFIG_USB_MUSB_OTG is not set | ||
881 | CONFIG_USB_MUSB_HDRC_HCD=y | ||
882 | CONFIG_MUSB_PIO_ONLY=y | ||
883 | CONFIG_USB_MUSB_LOGLEVEL=0 | ||
884 | |||
885 | # | ||
886 | # USB Device Class drivers | ||
887 | # | ||
888 | # CONFIG_USB_ACM is not set | ||
889 | # CONFIG_USB_PRINTER is not set | ||
890 | |||
891 | # | ||
892 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
893 | # | ||
894 | |||
895 | # | ||
896 | # may also be needed; see USB_STORAGE Help for more information | ||
897 | # | ||
898 | # CONFIG_USB_LIBUSUAL is not set | ||
899 | |||
900 | # | ||
901 | # USB Imaging devices | ||
902 | # | ||
903 | # CONFIG_USB_MDC800 is not set | ||
904 | CONFIG_USB_MON=y | ||
905 | |||
906 | # | ||
907 | # USB port drivers | ||
908 | # | ||
909 | |||
910 | # | ||
911 | # USB Serial Converter support | ||
912 | # | ||
913 | # CONFIG_USB_SERIAL is not set | ||
914 | |||
915 | # | ||
916 | # USB Miscellaneous drivers | ||
917 | # | ||
918 | # CONFIG_USB_EMI62 is not set | ||
919 | # CONFIG_USB_EMI26 is not set | ||
920 | # CONFIG_USB_ADUTUX is not set | ||
921 | # CONFIG_USB_AUERSWALD is not set | ||
922 | # CONFIG_USB_RIO500 is not set | ||
923 | # CONFIG_USB_LEGOTOWER is not set | ||
924 | # CONFIG_USB_LCD is not set | ||
925 | # CONFIG_USB_BERRY_CHARGE is not set | ||
926 | # CONFIG_USB_LED is not set | ||
927 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
928 | # CONFIG_USB_CYTHERM is not set | ||
929 | # CONFIG_USB_PHIDGET is not set | ||
930 | # CONFIG_USB_IDMOUSE is not set | ||
931 | # CONFIG_USB_FTDI_ELAN is not set | ||
932 | # CONFIG_USB_APPLEDISPLAY is not set | ||
933 | # CONFIG_USB_SISUSBVGA is not set | ||
934 | # CONFIG_USB_LD is not set | ||
935 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
936 | # CONFIG_USB_IOWARRIOR is not set | ||
937 | |||
938 | # | ||
939 | # USB DSL modem support | ||
940 | # | ||
941 | |||
942 | # | ||
943 | # USB Gadget Support | ||
944 | # | ||
945 | # CONFIG_USB_GADGET is not set | ||
946 | # CONFIG_MMC is not set | ||
947 | # CONFIG_NEW_LEDS is not set | ||
948 | CONFIG_RTC_LIB=y | ||
949 | CONFIG_RTC_CLASS=y | ||
950 | CONFIG_RTC_HCTOSYS=y | ||
951 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
952 | # CONFIG_RTC_DEBUG is not set | ||
953 | |||
954 | # | ||
955 | # RTC interfaces | ||
956 | # | ||
957 | CONFIG_RTC_INTF_SYSFS=y | ||
958 | CONFIG_RTC_INTF_PROC=y | ||
959 | CONFIG_RTC_INTF_DEV=y | ||
960 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
961 | # CONFIG_RTC_DRV_TEST is not set | ||
962 | |||
963 | # | ||
964 | # I2C RTC drivers | ||
965 | # | ||
966 | # CONFIG_RTC_DRV_DS1307 is not set | ||
967 | # CONFIG_RTC_DRV_DS1374 is not set | ||
968 | # CONFIG_RTC_DRV_DS1672 is not set | ||
969 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
970 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
971 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
972 | # CONFIG_RTC_DRV_X1205 is not set | ||
973 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
974 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
975 | # CONFIG_RTC_DRV_M41T80 is not set | ||
976 | |||
977 | # | ||
978 | # SPI RTC drivers | ||
979 | # | ||
980 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
981 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
982 | |||
983 | # | ||
984 | # Platform RTC drivers | ||
985 | # | ||
986 | # CONFIG_RTC_DRV_DS1553 is not set | ||
987 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
988 | # CONFIG_RTC_DRV_DS1742 is not set | ||
989 | # CONFIG_RTC_DRV_M48T86 is not set | ||
990 | # CONFIG_RTC_DRV_M48T59 is not set | ||
991 | # CONFIG_RTC_DRV_V3020 is not set | ||
992 | |||
993 | # | ||
994 | # on-CPU RTC drivers | ||
995 | # | ||
996 | CONFIG_RTC_DRV_BFIN=y | ||
997 | |||
998 | # | ||
999 | # Userspace I/O | ||
1000 | # | ||
1001 | # CONFIG_UIO is not set | ||
1002 | |||
1003 | # | ||
1004 | # File systems | ||
1005 | # | ||
1006 | # CONFIG_EXT2_FS is not set | ||
1007 | # CONFIG_EXT3_FS is not set | ||
1008 | # CONFIG_EXT4DEV_FS is not set | ||
1009 | # CONFIG_REISERFS_FS is not set | ||
1010 | # CONFIG_JFS_FS is not set | ||
1011 | # CONFIG_FS_POSIX_ACL is not set | ||
1012 | # CONFIG_XFS_FS is not set | ||
1013 | # CONFIG_GFS2_FS is not set | ||
1014 | # CONFIG_OCFS2_FS is not set | ||
1015 | # CONFIG_MINIX_FS is not set | ||
1016 | # CONFIG_ROMFS_FS is not set | ||
1017 | CONFIG_INOTIFY=y | ||
1018 | CONFIG_INOTIFY_USER=y | ||
1019 | # CONFIG_QUOTA is not set | ||
1020 | # CONFIG_DNOTIFY is not set | ||
1021 | # CONFIG_AUTOFS_FS is not set | ||
1022 | # CONFIG_AUTOFS4_FS is not set | ||
1023 | # CONFIG_FUSE_FS is not set | ||
1024 | |||
1025 | # | ||
1026 | # CD-ROM/DVD Filesystems | ||
1027 | # | ||
1028 | # CONFIG_ISO9660_FS is not set | ||
1029 | # CONFIG_UDF_FS is not set | ||
1030 | |||
1031 | # | ||
1032 | # DOS/FAT/NT Filesystems | ||
1033 | # | ||
1034 | # CONFIG_MSDOS_FS is not set | ||
1035 | # CONFIG_VFAT_FS is not set | ||
1036 | # CONFIG_NTFS_FS is not set | ||
1037 | |||
1038 | # | ||
1039 | # Pseudo filesystems | ||
1040 | # | ||
1041 | CONFIG_PROC_FS=y | ||
1042 | CONFIG_PROC_SYSCTL=y | ||
1043 | CONFIG_SYSFS=y | ||
1044 | # CONFIG_TMPFS is not set | ||
1045 | # CONFIG_HUGETLB_PAGE is not set | ||
1046 | # CONFIG_CONFIGFS_FS is not set | ||
1047 | |||
1048 | # | ||
1049 | # Miscellaneous filesystems | ||
1050 | # | ||
1051 | # CONFIG_ADFS_FS is not set | ||
1052 | # CONFIG_AFFS_FS is not set | ||
1053 | # CONFIG_HFS_FS is not set | ||
1054 | # CONFIG_HFSPLUS_FS is not set | ||
1055 | # CONFIG_BEFS_FS is not set | ||
1056 | # CONFIG_BFS_FS is not set | ||
1057 | # CONFIG_EFS_FS is not set | ||
1058 | # CONFIG_YAFFS_FS is not set | ||
1059 | # CONFIG_JFFS2_FS is not set | ||
1060 | # CONFIG_CRAMFS is not set | ||
1061 | # CONFIG_VXFS_FS is not set | ||
1062 | # CONFIG_HPFS_FS is not set | ||
1063 | # CONFIG_QNX4FS_FS is not set | ||
1064 | # CONFIG_SYSV_FS is not set | ||
1065 | # CONFIG_UFS_FS is not set | ||
1066 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1067 | CONFIG_NFS_FS=m | ||
1068 | CONFIG_NFS_V3=y | ||
1069 | # CONFIG_NFS_V3_ACL is not set | ||
1070 | # CONFIG_NFS_V4 is not set | ||
1071 | # CONFIG_NFS_DIRECTIO is not set | ||
1072 | # CONFIG_NFSD is not set | ||
1073 | CONFIG_LOCKD=m | ||
1074 | CONFIG_LOCKD_V4=y | ||
1075 | CONFIG_NFS_COMMON=y | ||
1076 | CONFIG_SUNRPC=m | ||
1077 | # CONFIG_SUNRPC_BIND34 is not set | ||
1078 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
1079 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1080 | CONFIG_SMB_FS=m | ||
1081 | # CONFIG_SMB_NLS_DEFAULT is not set | ||
1082 | # CONFIG_CIFS is not set | ||
1083 | # CONFIG_NCP_FS is not set | ||
1084 | # CONFIG_CODA_FS is not set | ||
1085 | # CONFIG_AFS_FS is not set | ||
1086 | |||
1087 | # | ||
1088 | # Partition Types | ||
1089 | # | ||
1090 | # CONFIG_PARTITION_ADVANCED is not set | ||
1091 | CONFIG_MSDOS_PARTITION=y | ||
1092 | CONFIG_NLS=m | ||
1093 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1094 | # CONFIG_NLS_CODEPAGE_437 is not set | ||
1095 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1096 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1097 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
1098 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1099 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1100 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1101 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1102 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1103 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1104 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1105 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1106 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1107 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1108 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1109 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1110 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1111 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1112 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1113 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1114 | # CONFIG_NLS_ISO8859_8 is not set | ||
1115 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1116 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1117 | # CONFIG_NLS_ASCII is not set | ||
1118 | # CONFIG_NLS_ISO8859_1 is not set | ||
1119 | # CONFIG_NLS_ISO8859_2 is not set | ||
1120 | # CONFIG_NLS_ISO8859_3 is not set | ||
1121 | # CONFIG_NLS_ISO8859_4 is not set | ||
1122 | # CONFIG_NLS_ISO8859_5 is not set | ||
1123 | # CONFIG_NLS_ISO8859_6 is not set | ||
1124 | # CONFIG_NLS_ISO8859_7 is not set | ||
1125 | # CONFIG_NLS_ISO8859_9 is not set | ||
1126 | # CONFIG_NLS_ISO8859_13 is not set | ||
1127 | # CONFIG_NLS_ISO8859_14 is not set | ||
1128 | # CONFIG_NLS_ISO8859_15 is not set | ||
1129 | # CONFIG_NLS_KOI8_R is not set | ||
1130 | # CONFIG_NLS_KOI8_U is not set | ||
1131 | # CONFIG_NLS_UTF8 is not set | ||
1132 | # CONFIG_DLM is not set | ||
1133 | # CONFIG_INSTRUMENTATION is not set | ||
1134 | |||
1135 | # | ||
1136 | # Kernel hacking | ||
1137 | # | ||
1138 | # CONFIG_PRINTK_TIME is not set | ||
1139 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1140 | CONFIG_ENABLE_MUST_CHECK=y | ||
1141 | # CONFIG_MAGIC_SYSRQ is not set | ||
1142 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1143 | CONFIG_DEBUG_FS=y | ||
1144 | # CONFIG_HEADERS_CHECK is not set | ||
1145 | # CONFIG_DEBUG_KERNEL is not set | ||
1146 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
1147 | # CONFIG_SAMPLES is not set | ||
1148 | CONFIG_DEBUG_MMRS=y | ||
1149 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | ||
1150 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | ||
1151 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | ||
1152 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set | ||
1153 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_TWO is not set | ||
1154 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=0 | ||
1155 | # CONFIG_DEBUG_BFIN_HWTRACE_EXPAND is not set | ||
1156 | # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set | ||
1157 | CONFIG_EARLY_PRINTK=y | ||
1158 | # CONFIG_CPLB_INFO is not set | ||
1159 | CONFIG_ACCESS_CHECK=y | ||
1160 | |||
1161 | # | ||
1162 | # Security options | ||
1163 | # | ||
1164 | # CONFIG_KEYS is not set | ||
1165 | CONFIG_SECURITY=y | ||
1166 | # CONFIG_SECURITY_NETWORK is not set | ||
1167 | # CONFIG_SECURITY_CAPABILITIES is not set | ||
1168 | # CONFIG_SECURITY_ROOTPLUG is not set | ||
1169 | # CONFIG_CRYPTO is not set | ||
1170 | |||
1171 | # | ||
1172 | # Library routines | ||
1173 | # | ||
1174 | CONFIG_BITREVERSE=y | ||
1175 | CONFIG_CRC_CCITT=m | ||
1176 | # CONFIG_CRC16 is not set | ||
1177 | # CONFIG_CRC_ITU_T is not set | ||
1178 | CONFIG_CRC32=y | ||
1179 | # CONFIG_CRC7 is not set | ||
1180 | # CONFIG_LIBCRC32C is not set | ||
1181 | CONFIG_ZLIB_INFLATE=y | ||
1182 | CONFIG_PLIST=y | ||
1183 | CONFIG_HAS_IOMEM=y | ||
1184 | CONFIG_HAS_IOPORT=y | ||
1185 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/blackfin/configs/CM-BF533_defconfig b/arch/blackfin/configs/CM-BF533_defconfig index 560890fe0d30..09deea44480b 100644 --- a/arch/blackfin/configs/CM-BF533_defconfig +++ b/arch/blackfin/configs/CM-BF533_defconfig | |||
@@ -39,7 +39,8 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
39 | # CONFIG_TASKSTATS is not set | 39 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_UTS_NS is not set | 40 | # CONFIG_UTS_NS is not set |
41 | # CONFIG_AUDIT is not set | 41 | # CONFIG_AUDIT is not set |
42 | # CONFIG_IKCONFIG is not set | 42 | CONFIG_IKCONFIG=y |
43 | CONFIG_IKCONFIG_PROC=y | ||
43 | CONFIG_LOG_BUF_SHIFT=14 | 44 | CONFIG_LOG_BUF_SHIFT=14 |
44 | CONFIG_SYSFS_DEPRECATED=y | 45 | CONFIG_SYSFS_DEPRECATED=y |
45 | # CONFIG_RELAY is not set | 46 | # CONFIG_RELAY is not set |
@@ -291,7 +292,7 @@ CONFIG_C_AMBEN_ALL=y | |||
291 | CONFIG_BANK_0=0x7BB0 | 292 | CONFIG_BANK_0=0x7BB0 |
292 | CONFIG_BANK_1=0x7BB0 | 293 | CONFIG_BANK_1=0x7BB0 |
293 | CONFIG_BANK_2=0x7BB0 | 294 | CONFIG_BANK_2=0x7BB0 |
294 | CONFIG_BANK_3=0xFFC3 | 295 | CONFIG_BANK_3=0xFFC2 |
295 | 296 | ||
296 | # | 297 | # |
297 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | 298 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) |
@@ -617,8 +618,7 @@ CONFIG_SERIAL_CORE=y | |||
617 | CONFIG_SERIAL_CORE_CONSOLE=y | 618 | CONFIG_SERIAL_CORE_CONSOLE=y |
618 | # CONFIG_SERIAL_BFIN_SPORT is not set | 619 | # CONFIG_SERIAL_BFIN_SPORT is not set |
619 | CONFIG_UNIX98_PTYS=y | 620 | CONFIG_UNIX98_PTYS=y |
620 | CONFIG_LEGACY_PTYS=y | 621 | # CONFIG_LEGACY_PTYS is not set |
621 | CONFIG_LEGACY_PTY_COUNT=256 | ||
622 | 622 | ||
623 | # | 623 | # |
624 | # CAN, the car bus and industrial fieldbus | 624 | # CAN, the car bus and industrial fieldbus |
@@ -778,7 +778,7 @@ CONFIG_FS_MBCACHE=y | |||
778 | CONFIG_INOTIFY=y | 778 | CONFIG_INOTIFY=y |
779 | CONFIG_INOTIFY_USER=y | 779 | CONFIG_INOTIFY_USER=y |
780 | # CONFIG_QUOTA is not set | 780 | # CONFIG_QUOTA is not set |
781 | CONFIG_DNOTIFY=y | 781 | # CONFIG_DNOTIFY is not set |
782 | # CONFIG_AUTOFS_FS is not set | 782 | # CONFIG_AUTOFS_FS is not set |
783 | # CONFIG_AUTOFS4_FS is not set | 783 | # CONFIG_AUTOFS4_FS is not set |
784 | # CONFIG_FUSE_FS is not set | 784 | # CONFIG_FUSE_FS is not set |
@@ -866,11 +866,11 @@ CONFIG_MSDOS_PARTITION=y | |||
866 | CONFIG_ENABLE_MUST_CHECK=y | 866 | CONFIG_ENABLE_MUST_CHECK=y |
867 | # CONFIG_MAGIC_SYSRQ is not set | 867 | # CONFIG_MAGIC_SYSRQ is not set |
868 | # CONFIG_UNUSED_SYMBOLS is not set | 868 | # CONFIG_UNUSED_SYMBOLS is not set |
869 | # CONFIG_DEBUG_FS is not set | 869 | CONFIG_DEBUG_FS=y |
870 | # CONFIG_HEADERS_CHECK is not set | 870 | # CONFIG_HEADERS_CHECK is not set |
871 | # CONFIG_DEBUG_KERNEL is not set | 871 | # CONFIG_DEBUG_KERNEL is not set |
872 | # CONFIG_DEBUG_BUGVERBOSE is not set | 872 | # CONFIG_DEBUG_BUGVERBOSE is not set |
873 | # CONFIG_DEBUG_MMRS is not set | 873 | CONFIG_DEBUG_MMRS=y |
874 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | 874 | CONFIG_DEBUG_HUNT_FOR_ZERO=y |
875 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | 875 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y |
876 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | 876 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y |
diff --git a/arch/blackfin/configs/CM-BF537E_defconfig b/arch/blackfin/configs/CM-BF537E_defconfig index 9f66d2de1007..219fc345a5f5 100644 --- a/arch/blackfin/configs/CM-BF537E_defconfig +++ b/arch/blackfin/configs/CM-BF537E_defconfig | |||
@@ -39,7 +39,8 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
39 | # CONFIG_TASKSTATS is not set | 39 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_UTS_NS is not set | 40 | # CONFIG_UTS_NS is not set |
41 | # CONFIG_AUDIT is not set | 41 | # CONFIG_AUDIT is not set |
42 | # CONFIG_IKCONFIG is not set | 42 | CONFIG_IKCONFIG=y |
43 | CONFIG_IKCONFIG_PROC=y | ||
43 | CONFIG_LOG_BUF_SHIFT=14 | 44 | CONFIG_LOG_BUF_SHIFT=14 |
44 | CONFIG_SYSFS_DEPRECATED=y | 45 | CONFIG_SYSFS_DEPRECATED=y |
45 | # CONFIG_RELAY is not set | 46 | # CONFIG_RELAY is not set |
@@ -299,7 +300,7 @@ CONFIG_C_AMBEN_ALL=y | |||
299 | CONFIG_BANK_0=0x7BB0 | 300 | CONFIG_BANK_0=0x7BB0 |
300 | CONFIG_BANK_1=0x7BB0 | 301 | CONFIG_BANK_1=0x7BB0 |
301 | CONFIG_BANK_2=0x7BB0 | 302 | CONFIG_BANK_2=0x7BB0 |
302 | CONFIG_BANK_3=0xFFC3 | 303 | CONFIG_BANK_3=0xFFC2 |
303 | 304 | ||
304 | # | 305 | # |
305 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | 306 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) |
@@ -351,7 +352,10 @@ CONFIG_INET=y | |||
351 | # CONFIG_IP_MULTICAST is not set | 352 | # CONFIG_IP_MULTICAST is not set |
352 | # CONFIG_IP_ADVANCED_ROUTER is not set | 353 | # CONFIG_IP_ADVANCED_ROUTER is not set |
353 | CONFIG_IP_FIB_HASH=y | 354 | CONFIG_IP_FIB_HASH=y |
354 | # CONFIG_IP_PNP is not set | 355 | CONFIG_IP_PNP=y |
356 | # CONFIG_IP_PNP_DHCP is not set | ||
357 | # CONFIG_IP_PNP_BOOTP is not set | ||
358 | # CONFIG_IP_PNP_RARP is not set | ||
355 | # CONFIG_NET_IPIP is not set | 359 | # CONFIG_NET_IPIP is not set |
356 | # CONFIG_NET_IPGRE is not set | 360 | # CONFIG_NET_IPGRE is not set |
357 | # CONFIG_ARPD is not set | 361 | # CONFIG_ARPD is not set |
@@ -645,8 +649,7 @@ CONFIG_SERIAL_CORE=y | |||
645 | CONFIG_SERIAL_CORE_CONSOLE=y | 649 | CONFIG_SERIAL_CORE_CONSOLE=y |
646 | # CONFIG_SERIAL_BFIN_SPORT is not set | 650 | # CONFIG_SERIAL_BFIN_SPORT is not set |
647 | CONFIG_UNIX98_PTYS=y | 651 | CONFIG_UNIX98_PTYS=y |
648 | CONFIG_LEGACY_PTYS=y | 652 | # CONFIG_LEGACY_PTYS is not set |
649 | CONFIG_LEGACY_PTY_COUNT=256 | ||
650 | 653 | ||
651 | # | 654 | # |
652 | # CAN, the car bus and industrial fieldbus | 655 | # CAN, the car bus and industrial fieldbus |
@@ -806,7 +809,7 @@ CONFIG_FS_MBCACHE=y | |||
806 | CONFIG_INOTIFY=y | 809 | CONFIG_INOTIFY=y |
807 | CONFIG_INOTIFY_USER=y | 810 | CONFIG_INOTIFY_USER=y |
808 | # CONFIG_QUOTA is not set | 811 | # CONFIG_QUOTA is not set |
809 | CONFIG_DNOTIFY=y | 812 | # CONFIG_DNOTIFY is not set |
810 | # CONFIG_AUTOFS_FS is not set | 813 | # CONFIG_AUTOFS_FS is not set |
811 | # CONFIG_AUTOFS4_FS is not set | 814 | # CONFIG_AUTOFS4_FS is not set |
812 | # CONFIG_FUSE_FS is not set | 815 | # CONFIG_FUSE_FS is not set |
@@ -894,12 +897,12 @@ CONFIG_MSDOS_PARTITION=y | |||
894 | CONFIG_ENABLE_MUST_CHECK=y | 897 | CONFIG_ENABLE_MUST_CHECK=y |
895 | # CONFIG_MAGIC_SYSRQ is not set | 898 | # CONFIG_MAGIC_SYSRQ is not set |
896 | # CONFIG_UNUSED_SYMBOLS is not set | 899 | # CONFIG_UNUSED_SYMBOLS is not set |
897 | # CONFIG_DEBUG_FS is not set | 900 | CONFIG_DEBUG_FS=y |
898 | # CONFIG_HEADERS_CHECK is not set | 901 | # CONFIG_HEADERS_CHECK is not set |
899 | # CONFIG_DEBUG_KERNEL is not set | 902 | # CONFIG_DEBUG_KERNEL is not set |
900 | # CONFIG_DEBUG_BUGVERBOSE is not set | 903 | # CONFIG_DEBUG_BUGVERBOSE is not set |
901 | # CONFIG_DEBUG_MMRS is not set | 904 | CONFIG_DEBUG_MMRS=y |
902 | # CONFIG_DEBUG_HUNT_FOR_ZERO is not set | 905 | CONFIG_DEBUG_HUNT_FOR_ZERO=y |
903 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | 906 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y |
904 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | 907 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y |
905 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set | 908 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set |
diff --git a/arch/blackfin/configs/CM-BF537U_defconfig b/arch/blackfin/configs/CM-BF537U_defconfig index 2694d06c5bde..9873d586fc77 100644 --- a/arch/blackfin/configs/CM-BF537U_defconfig +++ b/arch/blackfin/configs/CM-BF537U_defconfig | |||
@@ -39,7 +39,8 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
39 | # CONFIG_TASKSTATS is not set | 39 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_UTS_NS is not set | 40 | # CONFIG_UTS_NS is not set |
41 | # CONFIG_AUDIT is not set | 41 | # CONFIG_AUDIT is not set |
42 | # CONFIG_IKCONFIG is not set | 42 | CONFIG_IKCONFIG=y |
43 | CONFIG_IKCONFIG_PROC=y | ||
43 | CONFIG_LOG_BUF_SHIFT=14 | 44 | CONFIG_LOG_BUF_SHIFT=14 |
44 | CONFIG_SYSFS_DEPRECATED=y | 45 | CONFIG_SYSFS_DEPRECATED=y |
45 | # CONFIG_RELAY is not set | 46 | # CONFIG_RELAY is not set |
@@ -298,8 +299,8 @@ CONFIG_C_AMBEN_ALL=y | |||
298 | # | 299 | # |
299 | CONFIG_BANK_0=0x7BB0 | 300 | CONFIG_BANK_0=0x7BB0 |
300 | CONFIG_BANK_1=0x7BB0 | 301 | CONFIG_BANK_1=0x7BB0 |
301 | CONFIG_BANK_2=0xFFC3 | 302 | CONFIG_BANK_2=0xFFC2 |
302 | CONFIG_BANK_3=0xFFC3 | 303 | CONFIG_BANK_3=0xFFC2 |
303 | 304 | ||
304 | # | 305 | # |
305 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | 306 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) |
@@ -628,8 +629,7 @@ CONFIG_SERIAL_CORE=y | |||
628 | CONFIG_SERIAL_CORE_CONSOLE=y | 629 | CONFIG_SERIAL_CORE_CONSOLE=y |
629 | # CONFIG_SERIAL_BFIN_SPORT is not set | 630 | # CONFIG_SERIAL_BFIN_SPORT is not set |
630 | CONFIG_UNIX98_PTYS=y | 631 | CONFIG_UNIX98_PTYS=y |
631 | CONFIG_LEGACY_PTYS=y | 632 | # CONFIG_LEGACY_PTYS is not set |
632 | CONFIG_LEGACY_PTY_COUNT=256 | ||
633 | 633 | ||
634 | # | 634 | # |
635 | # CAN, the car bus and industrial fieldbus | 635 | # CAN, the car bus and industrial fieldbus |
@@ -806,7 +806,7 @@ CONFIG_FS_MBCACHE=y | |||
806 | CONFIG_INOTIFY=y | 806 | CONFIG_INOTIFY=y |
807 | CONFIG_INOTIFY_USER=y | 807 | CONFIG_INOTIFY_USER=y |
808 | # CONFIG_QUOTA is not set | 808 | # CONFIG_QUOTA is not set |
809 | CONFIG_DNOTIFY=y | 809 | # CONFIG_DNOTIFY is not set |
810 | # CONFIG_AUTOFS_FS is not set | 810 | # CONFIG_AUTOFS_FS is not set |
811 | # CONFIG_AUTOFS4_FS is not set | 811 | # CONFIG_AUTOFS4_FS is not set |
812 | # CONFIG_FUSE_FS is not set | 812 | # CONFIG_FUSE_FS is not set |
@@ -894,12 +894,12 @@ CONFIG_MSDOS_PARTITION=y | |||
894 | CONFIG_ENABLE_MUST_CHECK=y | 894 | CONFIG_ENABLE_MUST_CHECK=y |
895 | # CONFIG_MAGIC_SYSRQ is not set | 895 | # CONFIG_MAGIC_SYSRQ is not set |
896 | # CONFIG_UNUSED_SYMBOLS is not set | 896 | # CONFIG_UNUSED_SYMBOLS is not set |
897 | # CONFIG_DEBUG_FS is not set | 897 | CONFIG_DEBUG_FS=y |
898 | # CONFIG_HEADERS_CHECK is not set | 898 | # CONFIG_HEADERS_CHECK is not set |
899 | # CONFIG_DEBUG_KERNEL is not set | 899 | # CONFIG_DEBUG_KERNEL is not set |
900 | # CONFIG_DEBUG_BUGVERBOSE is not set | 900 | # CONFIG_DEBUG_BUGVERBOSE is not set |
901 | # CONFIG_DEBUG_MMRS is not set | 901 | CONFIG_DEBUG_MMRS=y |
902 | # CONFIG_DEBUG_HUNT_FOR_ZERO is not set | 902 | CONFIG_DEBUG_HUNT_FOR_ZERO=y |
903 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | 903 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y |
904 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | 904 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y |
905 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set | 905 | # CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_ONE is not set |
diff --git a/arch/blackfin/configs/CM-BF548_defconfig b/arch/blackfin/configs/CM-BF548_defconfig index 90207251c533..0e3605fdb7b0 100644 --- a/arch/blackfin/configs/CM-BF548_defconfig +++ b/arch/blackfin/configs/CM-BF548_defconfig | |||
@@ -363,7 +363,7 @@ CONFIG_C_AMBEN_ALL=y | |||
363 | CONFIG_BANK_0=0x7BB0 | 363 | CONFIG_BANK_0=0x7BB0 |
364 | CONFIG_BANK_1=0x5554 | 364 | CONFIG_BANK_1=0x5554 |
365 | CONFIG_BANK_2=0x7BB0 | 365 | CONFIG_BANK_2=0x7BB0 |
366 | CONFIG_BANK_3=0x99B3 | 366 | CONFIG_BANK_3=0x99B2 |
367 | CONFIG_EBIU_MBSCTLVAL=0x0 | 367 | CONFIG_EBIU_MBSCTLVAL=0x0 |
368 | CONFIG_EBIU_MODEVAL=0x1 | 368 | CONFIG_EBIU_MODEVAL=0x1 |
369 | CONFIG_EBIU_FCTLVAL=0x6 | 369 | CONFIG_EBIU_FCTLVAL=0x6 |
@@ -744,8 +744,8 @@ CONFIG_BFIN_OTP=y | |||
744 | # | 744 | # |
745 | CONFIG_SERIAL_BFIN=y | 745 | CONFIG_SERIAL_BFIN=y |
746 | CONFIG_SERIAL_BFIN_CONSOLE=y | 746 | CONFIG_SERIAL_BFIN_CONSOLE=y |
747 | # CONFIG_SERIAL_BFIN_DMA is not set | 747 | CONFIG_SERIAL_BFIN_DMA=y |
748 | CONFIG_SERIAL_BFIN_PIO=y | 748 | # CONFIG_SERIAL_BFIN_PIO is not set |
749 | # CONFIG_SERIAL_BFIN_UART0 is not set | 749 | # CONFIG_SERIAL_BFIN_UART0 is not set |
750 | CONFIG_SERIAL_BFIN_UART1=y | 750 | CONFIG_SERIAL_BFIN_UART1=y |
751 | # CONFIG_BFIN_UART1_CTSRTS is not set | 751 | # CONFIG_BFIN_UART1_CTSRTS is not set |
@@ -1149,7 +1149,7 @@ CONFIG_RTC_DRV_BFIN=y | |||
1149 | CONFIG_INOTIFY=y | 1149 | CONFIG_INOTIFY=y |
1150 | CONFIG_INOTIFY_USER=y | 1150 | CONFIG_INOTIFY_USER=y |
1151 | # CONFIG_QUOTA is not set | 1151 | # CONFIG_QUOTA is not set |
1152 | CONFIG_DNOTIFY=y | 1152 | # CONFIG_DNOTIFY is not set |
1153 | # CONFIG_AUTOFS_FS is not set | 1153 | # CONFIG_AUTOFS_FS is not set |
1154 | # CONFIG_AUTOFS4_FS is not set | 1154 | # CONFIG_AUTOFS4_FS is not set |
1155 | # CONFIG_FUSE_FS is not set | 1155 | # CONFIG_FUSE_FS is not set |
@@ -1332,7 +1332,7 @@ CONFIG_DEBUG_FS=y | |||
1332 | # CONFIG_DEBUG_KERNEL is not set | 1332 | # CONFIG_DEBUG_KERNEL is not set |
1333 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1333 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1334 | # CONFIG_SAMPLES is not set | 1334 | # CONFIG_SAMPLES is not set |
1335 | # CONFIG_DEBUG_MMRS is not set | 1335 | CONFIG_DEBUG_MMRS=y |
1336 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | 1336 | CONFIG_DEBUG_HUNT_FOR_ZERO=y |
1337 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | 1337 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y |
1338 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | 1338 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y |
diff --git a/arch/blackfin/configs/CM-BF561_defconfig b/arch/blackfin/configs/CM-BF561_defconfig index daf00906c1ef..59c7cdbee904 100644 --- a/arch/blackfin/configs/CM-BF561_defconfig +++ b/arch/blackfin/configs/CM-BF561_defconfig | |||
@@ -35,7 +35,8 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
35 | # CONFIG_USER_NS is not set | 35 | # CONFIG_USER_NS is not set |
36 | # CONFIG_PID_NS is not set | 36 | # CONFIG_PID_NS is not set |
37 | # CONFIG_AUDIT is not set | 37 | # CONFIG_AUDIT is not set |
38 | # CONFIG_IKCONFIG is not set | 38 | CONFIG_IKCONFIG=y |
39 | CONFIG_IKCONFIG_PROC=y | ||
39 | CONFIG_LOG_BUF_SHIFT=14 | 40 | CONFIG_LOG_BUF_SHIFT=14 |
40 | # CONFIG_CGROUPS is not set | 41 | # CONFIG_CGROUPS is not set |
41 | CONFIG_FAIR_GROUP_SCHED=y | 42 | CONFIG_FAIR_GROUP_SCHED=y |
@@ -341,7 +342,7 @@ CONFIG_C_AMBEN_ALL=y | |||
341 | CONFIG_BANK_0=0x7BB0 | 342 | CONFIG_BANK_0=0x7BB0 |
342 | CONFIG_BANK_1=0x7BB0 | 343 | CONFIG_BANK_1=0x7BB0 |
343 | CONFIG_BANK_2=0x7BB0 | 344 | CONFIG_BANK_2=0x7BB0 |
344 | CONFIG_BANK_3=0xFFC3 | 345 | CONFIG_BANK_3=0xFFC2 |
345 | 346 | ||
346 | # | 347 | # |
347 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | 348 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) |
@@ -631,8 +632,7 @@ CONFIG_SERIAL_CORE=y | |||
631 | CONFIG_SERIAL_CORE_CONSOLE=y | 632 | CONFIG_SERIAL_CORE_CONSOLE=y |
632 | # CONFIG_SERIAL_BFIN_SPORT is not set | 633 | # CONFIG_SERIAL_BFIN_SPORT is not set |
633 | CONFIG_UNIX98_PTYS=y | 634 | CONFIG_UNIX98_PTYS=y |
634 | CONFIG_LEGACY_PTYS=y | 635 | # CONFIG_LEGACY_PTYS is not set |
635 | CONFIG_LEGACY_PTY_COUNT=256 | ||
636 | 636 | ||
637 | # | 637 | # |
638 | # CAN, the car bus and industrial fieldbus | 638 | # CAN, the car bus and industrial fieldbus |
@@ -756,7 +756,7 @@ CONFIG_FS_MBCACHE=y | |||
756 | CONFIG_INOTIFY=y | 756 | CONFIG_INOTIFY=y |
757 | CONFIG_INOTIFY_USER=y | 757 | CONFIG_INOTIFY_USER=y |
758 | # CONFIG_QUOTA is not set | 758 | # CONFIG_QUOTA is not set |
759 | CONFIG_DNOTIFY=y | 759 | # CONFIG_DNOTIFY is not set |
760 | # CONFIG_AUTOFS_FS is not set | 760 | # CONFIG_AUTOFS_FS is not set |
761 | # CONFIG_AUTOFS4_FS is not set | 761 | # CONFIG_AUTOFS4_FS is not set |
762 | # CONFIG_FUSE_FS is not set | 762 | # CONFIG_FUSE_FS is not set |
@@ -830,12 +830,12 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
830 | CONFIG_ENABLE_MUST_CHECK=y | 830 | CONFIG_ENABLE_MUST_CHECK=y |
831 | # CONFIG_MAGIC_SYSRQ is not set | 831 | # CONFIG_MAGIC_SYSRQ is not set |
832 | # CONFIG_UNUSED_SYMBOLS is not set | 832 | # CONFIG_UNUSED_SYMBOLS is not set |
833 | # CONFIG_DEBUG_FS is not set | 833 | CONFIG_DEBUG_FS=y |
834 | # CONFIG_HEADERS_CHECK is not set | 834 | # CONFIG_HEADERS_CHECK is not set |
835 | # CONFIG_DEBUG_KERNEL is not set | 835 | # CONFIG_DEBUG_KERNEL is not set |
836 | # CONFIG_DEBUG_BUGVERBOSE is not set | 836 | # CONFIG_DEBUG_BUGVERBOSE is not set |
837 | # CONFIG_SAMPLES is not set | 837 | # CONFIG_SAMPLES is not set |
838 | # CONFIG_DEBUG_MMRS is not set | 838 | CONFIG_DEBUG_MMRS=y |
839 | CONFIG_DEBUG_HUNT_FOR_ZERO=y | 839 | CONFIG_DEBUG_HUNT_FOR_ZERO=y |
840 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y | 840 | CONFIG_DEBUG_BFIN_HWTRACE_ON=y |
841 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y | 841 | CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y |
diff --git a/arch/blackfin/configs/H8606_defconfig b/arch/blackfin/configs/H8606_defconfig index 679c7483ea71..ba0bee90b7e1 100644 --- a/arch/blackfin/configs/H8606_defconfig +++ b/arch/blackfin/configs/H8606_defconfig | |||
@@ -967,7 +967,7 @@ CONFIG_FS_MBCACHE=y | |||
967 | CONFIG_INOTIFY=y | 967 | CONFIG_INOTIFY=y |
968 | CONFIG_INOTIFY_USER=y | 968 | CONFIG_INOTIFY_USER=y |
969 | # CONFIG_QUOTA is not set | 969 | # CONFIG_QUOTA is not set |
970 | CONFIG_DNOTIFY=y | 970 | # CONFIG_DNOTIFY is not set |
971 | # CONFIG_AUTOFS_FS is not set | 971 | # CONFIG_AUTOFS_FS is not set |
972 | # CONFIG_AUTOFS4_FS is not set | 972 | # CONFIG_AUTOFS4_FS is not set |
973 | # CONFIG_FUSE_FS is not set | 973 | # CONFIG_FUSE_FS is not set |
diff --git a/arch/blackfin/configs/IP0X_defconfig b/arch/blackfin/configs/IP0X_defconfig index 4384a670a8b8..285d2241df26 100644 --- a/arch/blackfin/configs/IP0X_defconfig +++ b/arch/blackfin/configs/IP0X_defconfig | |||
@@ -1066,7 +1066,7 @@ CONFIG_FS_MBCACHE=y | |||
1066 | CONFIG_INOTIFY=y | 1066 | CONFIG_INOTIFY=y |
1067 | CONFIG_INOTIFY_USER=y | 1067 | CONFIG_INOTIFY_USER=y |
1068 | # CONFIG_QUOTA is not set | 1068 | # CONFIG_QUOTA is not set |
1069 | CONFIG_DNOTIFY=y | 1069 | # CONFIG_DNOTIFY is not set |
1070 | # CONFIG_AUTOFS_FS is not set | 1070 | # CONFIG_AUTOFS_FS is not set |
1071 | # CONFIG_AUTOFS4_FS is not set | 1071 | # CONFIG_AUTOFS4_FS is not set |
1072 | # CONFIG_FUSE_FS is not set | 1072 | # CONFIG_FUSE_FS is not set |
diff --git a/arch/blackfin/configs/PNAV-10_defconfig b/arch/blackfin/configs/PNAV-10_defconfig index 87622ad9df47..bffca7de65d4 100644 --- a/arch/blackfin/configs/PNAV-10_defconfig +++ b/arch/blackfin/configs/PNAV-10_defconfig | |||
@@ -294,7 +294,7 @@ CONFIG_C_AMBEN_ALL=y | |||
294 | CONFIG_BANK_0=0x7BB0 | 294 | CONFIG_BANK_0=0x7BB0 |
295 | CONFIG_BANK_1=0x33B0 | 295 | CONFIG_BANK_1=0x33B0 |
296 | CONFIG_BANK_2=0x33B0 | 296 | CONFIG_BANK_2=0x33B0 |
297 | CONFIG_BANK_3=0x99B3 | 297 | CONFIG_BANK_3=0x99B2 |
298 | 298 | ||
299 | # | 299 | # |
300 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) | 300 | # Bus options (PCI, PCMCIA, EISA, MCA, ISA) |
@@ -1080,7 +1080,7 @@ CONFIG_FS_MBCACHE=y | |||
1080 | CONFIG_INOTIFY=y | 1080 | CONFIG_INOTIFY=y |
1081 | CONFIG_INOTIFY_USER=y | 1081 | CONFIG_INOTIFY_USER=y |
1082 | # CONFIG_QUOTA is not set | 1082 | # CONFIG_QUOTA is not set |
1083 | CONFIG_DNOTIFY=y | 1083 | # CONFIG_DNOTIFY is not set |
1084 | # CONFIG_AUTOFS_FS is not set | 1084 | # CONFIG_AUTOFS_FS is not set |
1085 | # CONFIG_AUTOFS4_FS is not set | 1085 | # CONFIG_AUTOFS4_FS is not set |
1086 | # CONFIG_FUSE_FS is not set | 1086 | # CONFIG_FUSE_FS is not set |
diff --git a/arch/blackfin/configs/SRV1_defconfig b/arch/blackfin/configs/SRV1_defconfig index 951ea0412576..b1309f878fcd 100644 --- a/arch/blackfin/configs/SRV1_defconfig +++ b/arch/blackfin/configs/SRV1_defconfig | |||
@@ -1067,7 +1067,7 @@ CONFIG_FS_MBCACHE=y | |||
1067 | CONFIG_INOTIFY=y | 1067 | CONFIG_INOTIFY=y |
1068 | CONFIG_INOTIFY_USER=y | 1068 | CONFIG_INOTIFY_USER=y |
1069 | # CONFIG_QUOTA is not set | 1069 | # CONFIG_QUOTA is not set |
1070 | CONFIG_DNOTIFY=y | 1070 | # CONFIG_DNOTIFY is not set |
1071 | # CONFIG_AUTOFS_FS is not set | 1071 | # CONFIG_AUTOFS_FS is not set |
1072 | # CONFIG_AUTOFS4_FS is not set | 1072 | # CONFIG_AUTOFS4_FS is not set |
1073 | # CONFIG_FUSE_FS is not set | 1073 | # CONFIG_FUSE_FS is not set |
diff --git a/arch/blackfin/kernel/Makefile b/arch/blackfin/kernel/Makefile index 6140cd69c782..606adc78aa85 100644 --- a/arch/blackfin/kernel/Makefile +++ b/arch/blackfin/kernel/Makefile | |||
@@ -18,6 +18,5 @@ endif | |||
18 | obj-$(CONFIG_BFIN_GPTIMERS) += gptimers.o | 18 | obj-$(CONFIG_BFIN_GPTIMERS) += gptimers.o |
19 | obj-$(CONFIG_MODULES) += module.o | 19 | obj-$(CONFIG_MODULES) += module.o |
20 | obj-$(CONFIG_BFIN_DMA_5XX) += bfin_dma_5xx.o | 20 | obj-$(CONFIG_BFIN_DMA_5XX) += bfin_dma_5xx.o |
21 | obj-$(CONFIG_DUAL_CORE_TEST_MODULE) += dualcore_test.o | ||
22 | obj-$(CONFIG_KGDB) += kgdb.o | 21 | obj-$(CONFIG_KGDB) += kgdb.o |
23 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o | 22 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o |
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c index d54f19085f37..93229b3d6e3e 100644 --- a/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/arch/blackfin/kernel/bfin_dma_5xx.c | |||
@@ -472,6 +472,40 @@ unsigned long get_dma_curr_addr(unsigned int channel) | |||
472 | } | 472 | } |
473 | EXPORT_SYMBOL(get_dma_curr_addr); | 473 | EXPORT_SYMBOL(get_dma_curr_addr); |
474 | 474 | ||
475 | #ifdef CONFIG_PM | ||
476 | int blackfin_dma_suspend(void) | ||
477 | { | ||
478 | int i; | ||
479 | |||
480 | #ifdef CONFIG_BF561 /* IMDMA channels doesn't have a PERIPHERAL_MAP */ | ||
481 | for (i = 0; i <= CH_MEM_STREAM3_SRC; i++) { | ||
482 | #else | ||
483 | for (i = 0; i < MAX_BLACKFIN_DMA_CHANNEL; i++) { | ||
484 | #endif | ||
485 | if (dma_ch[i].chan_status == DMA_CHANNEL_ENABLED) { | ||
486 | printk(KERN_ERR "DMA Channel %d failed to suspend\n", i); | ||
487 | return -EBUSY; | ||
488 | } | ||
489 | |||
490 | dma_ch[i].saved_peripheral_map = dma_ch[i].regs->peripheral_map; | ||
491 | } | ||
492 | |||
493 | return 0; | ||
494 | } | ||
495 | |||
496 | void blackfin_dma_resume(void) | ||
497 | { | ||
498 | int i; | ||
499 | |||
500 | #ifdef CONFIG_BF561 /* IMDMA channels doesn't have a PERIPHERAL_MAP */ | ||
501 | for (i = 0; i <= CH_MEM_STREAM3_SRC; i++) | ||
502 | #else | ||
503 | for (i = 0; i < MAX_BLACKFIN_DMA_CHANNEL; i++) | ||
504 | #endif | ||
505 | dma_ch[i].regs->peripheral_map = dma_ch[i].saved_peripheral_map; | ||
506 | } | ||
507 | #endif | ||
508 | |||
475 | static void *__dma_memcpy(void *dest, const void *src, size_t size) | 509 | static void *__dma_memcpy(void *dest, const void *src, size_t size) |
476 | { | 510 | { |
477 | int direction; /* 1 - address decrease, 0 - address increase */ | 511 | int direction; /* 1 - address decrease, 0 - address increase */ |
diff --git a/arch/blackfin/kernel/bfin_gpio.c b/arch/blackfin/kernel/bfin_gpio.c index b6d89d1644cc..ecbd141e0ef2 100644 --- a/arch/blackfin/kernel/bfin_gpio.c +++ b/arch/blackfin/kernel/bfin_gpio.c | |||
@@ -186,7 +186,10 @@ static struct str_ident { | |||
186 | char name[RESOURCE_LABEL_SIZE]; | 186 | char name[RESOURCE_LABEL_SIZE]; |
187 | } str_ident[MAX_RESOURCES]; | 187 | } str_ident[MAX_RESOURCES]; |
188 | 188 | ||
189 | #if defined(CONFIG_PM) && !defined(CONFIG_BF54x) | 189 | #if defined(CONFIG_PM) |
190 | #if defined(CONFIG_BF54x) | ||
191 | static struct gpio_port_s gpio_bank_saved[gpio_bank(MAX_BLACKFIN_GPIOS)]; | ||
192 | #else | ||
190 | static unsigned short wakeup_map[gpio_bank(MAX_BLACKFIN_GPIOS)]; | 193 | static unsigned short wakeup_map[gpio_bank(MAX_BLACKFIN_GPIOS)]; |
191 | static unsigned char wakeup_flags_map[MAX_BLACKFIN_GPIOS]; | 194 | static unsigned char wakeup_flags_map[MAX_BLACKFIN_GPIOS]; |
192 | static struct gpio_port_s gpio_bank_saved[gpio_bank(MAX_BLACKFIN_GPIOS)]; | 195 | static struct gpio_port_s gpio_bank_saved[gpio_bank(MAX_BLACKFIN_GPIOS)]; |
@@ -206,7 +209,7 @@ static unsigned int sic_iwr_irqs[gpio_bank(MAX_BLACKFIN_GPIOS)] = {IRQ_PORTF_INT | |||
206 | #ifdef BF561_FAMILY | 209 | #ifdef BF561_FAMILY |
207 | static unsigned int sic_iwr_irqs[gpio_bank(MAX_BLACKFIN_GPIOS)] = {IRQ_PROG0_INTB, IRQ_PROG1_INTB, IRQ_PROG2_INTB}; | 210 | static unsigned int sic_iwr_irqs[gpio_bank(MAX_BLACKFIN_GPIOS)] = {IRQ_PROG0_INTB, IRQ_PROG1_INTB, IRQ_PROG2_INTB}; |
208 | #endif | 211 | #endif |
209 | 212 | #endif | |
210 | #endif /* CONFIG_PM */ | 213 | #endif /* CONFIG_PM */ |
211 | 214 | ||
212 | #if defined(BF548_FAMILY) | 215 | #if defined(BF548_FAMILY) |
@@ -667,7 +670,7 @@ static int bfin_gpio_wakeup_type(unsigned gpio, unsigned char type) | |||
667 | return 0; | 670 | return 0; |
668 | } | 671 | } |
669 | 672 | ||
670 | u32 bfin_pm_setup(void) | 673 | u32 bfin_pm_standby_setup(void) |
671 | { | 674 | { |
672 | u16 bank, mask, i, gpio; | 675 | u16 bank, mask, i, gpio; |
673 | 676 | ||
@@ -679,7 +682,7 @@ u32 bfin_pm_setup(void) | |||
679 | gpio_bankb[bank]->maskb = 0; | 682 | gpio_bankb[bank]->maskb = 0; |
680 | 683 | ||
681 | if (mask) { | 684 | if (mask) { |
682 | #ifdef BF537_FAMILY | 685 | #if defined(BF527_FAMILY) || defined(BF537_FAMILY) |
683 | gpio_bank_saved[bank].fer = *port_fer[bank]; | 686 | gpio_bank_saved[bank].fer = *port_fer[bank]; |
684 | #endif | 687 | #endif |
685 | gpio_bank_saved[bank].inen = gpio_bankb[bank]->inen; | 688 | gpio_bank_saved[bank].inen = gpio_bankb[bank]->inen; |
@@ -715,7 +718,7 @@ u32 bfin_pm_setup(void) | |||
715 | return 0; | 718 | return 0; |
716 | } | 719 | } |
717 | 720 | ||
718 | void bfin_pm_restore(void) | 721 | void bfin_pm_standby_restore(void) |
719 | { | 722 | { |
720 | u16 bank, mask, i; | 723 | u16 bank, mask, i; |
721 | 724 | ||
@@ -724,7 +727,7 @@ void bfin_pm_restore(void) | |||
724 | bank = gpio_bank(i); | 727 | bank = gpio_bank(i); |
725 | 728 | ||
726 | if (mask) { | 729 | if (mask) { |
727 | #ifdef BF537_FAMILY | 730 | #if defined(BF527_FAMILY) || defined(BF537_FAMILY) |
728 | *port_fer[bank] = gpio_bank_saved[bank].fer; | 731 | *port_fer[bank] = gpio_bank_saved[bank].fer; |
729 | #endif | 732 | #endif |
730 | gpio_bankb[bank]->inen = gpio_bank_saved[bank].inen; | 733 | gpio_bankb[bank]->inen = gpio_bank_saved[bank].inen; |
@@ -743,8 +746,111 @@ void bfin_pm_restore(void) | |||
743 | AWA_DUMMY_READ(maskb); | 746 | AWA_DUMMY_READ(maskb); |
744 | } | 747 | } |
745 | 748 | ||
749 | void bfin_gpio_pm_hibernate_suspend(void) | ||
750 | { | ||
751 | int i, bank; | ||
752 | |||
753 | for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) { | ||
754 | bank = gpio_bank(i); | ||
755 | |||
756 | #if defined(BF527_FAMILY) || defined(BF537_FAMILY) | ||
757 | gpio_bank_saved[bank].fer = *port_fer[bank]; | ||
758 | #ifdef BF527_FAMILY | ||
759 | gpio_bank_saved[bank].mux = *port_mux[bank]; | ||
760 | #else | ||
761 | if (bank == 0) | ||
762 | gpio_bank_saved[bank].mux = bfin_read_PORT_MUX(); | ||
763 | #endif | ||
764 | #endif | ||
765 | gpio_bank_saved[bank].data = gpio_bankb[bank]->data; | ||
766 | gpio_bank_saved[bank].inen = gpio_bankb[bank]->inen; | ||
767 | gpio_bank_saved[bank].polar = gpio_bankb[bank]->polar; | ||
768 | gpio_bank_saved[bank].dir = gpio_bankb[bank]->dir; | ||
769 | gpio_bank_saved[bank].edge = gpio_bankb[bank]->edge; | ||
770 | gpio_bank_saved[bank].both = gpio_bankb[bank]->both; | ||
771 | gpio_bank_saved[bank].maska = gpio_bankb[bank]->maska; | ||
772 | } | ||
773 | |||
774 | AWA_DUMMY_READ(maska); | ||
775 | } | ||
776 | |||
777 | void bfin_gpio_pm_hibernate_restore(void) | ||
778 | { | ||
779 | int i, bank; | ||
780 | |||
781 | for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) { | ||
782 | bank = gpio_bank(i); | ||
783 | |||
784 | #if defined(BF527_FAMILY) || defined(BF537_FAMILY) | ||
785 | #ifdef BF527_FAMILY | ||
786 | *port_mux[bank] = gpio_bank_saved[bank].mux; | ||
787 | #else | ||
788 | if (bank == 0) | ||
789 | bfin_write_PORT_MUX(gpio_bank_saved[bank].mux); | ||
790 | #endif | ||
791 | *port_fer[bank] = gpio_bank_saved[bank].fer; | ||
792 | #endif | ||
793 | gpio_bankb[bank]->inen = gpio_bank_saved[bank].inen; | ||
794 | gpio_bankb[bank]->dir = gpio_bank_saved[bank].dir; | ||
795 | gpio_bankb[bank]->polar = gpio_bank_saved[bank].polar; | ||
796 | gpio_bankb[bank]->edge = gpio_bank_saved[bank].edge; | ||
797 | gpio_bankb[bank]->both = gpio_bank_saved[bank].both; | ||
798 | |||
799 | gpio_bankb[bank]->data_set = gpio_bank_saved[bank].data | ||
800 | | gpio_bank_saved[bank].dir; | ||
801 | |||
802 | gpio_bankb[bank]->maska = gpio_bank_saved[bank].maska; | ||
803 | } | ||
804 | AWA_DUMMY_READ(maska); | ||
805 | } | ||
806 | |||
807 | |||
746 | #endif | 808 | #endif |
747 | #else /* BF548_FAMILY */ | 809 | #else /* BF548_FAMILY */ |
810 | #ifdef CONFIG_PM | ||
811 | |||
812 | u32 bfin_pm_standby_setup(void) | ||
813 | { | ||
814 | return 0; | ||
815 | } | ||
816 | |||
817 | void bfin_pm_standby_restore(void) | ||
818 | { | ||
819 | |||
820 | } | ||
821 | |||
822 | void bfin_gpio_pm_hibernate_suspend(void) | ||
823 | { | ||
824 | int i, bank; | ||
825 | |||
826 | for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) { | ||
827 | bank = gpio_bank(i); | ||
828 | |||
829 | gpio_bank_saved[bank].fer = gpio_array[bank]->port_fer; | ||
830 | gpio_bank_saved[bank].mux = gpio_array[bank]->port_mux; | ||
831 | gpio_bank_saved[bank].data = gpio_array[bank]->port_data; | ||
832 | gpio_bank_saved[bank].data = gpio_array[bank]->port_data; | ||
833 | gpio_bank_saved[bank].inen = gpio_array[bank]->port_inen; | ||
834 | gpio_bank_saved[bank].dir = gpio_array[bank]->port_dir_set; | ||
835 | } | ||
836 | } | ||
837 | |||
838 | void bfin_gpio_pm_hibernate_restore(void) | ||
839 | { | ||
840 | int i, bank; | ||
841 | |||
842 | for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) { | ||
843 | bank = gpio_bank(i); | ||
844 | |||
845 | gpio_array[bank]->port_mux = gpio_bank_saved[bank].mux; | ||
846 | gpio_array[bank]->port_fer = gpio_bank_saved[bank].fer; | ||
847 | gpio_array[bank]->port_inen = gpio_bank_saved[bank].inen; | ||
848 | gpio_array[bank]->port_dir_set = gpio_bank_saved[bank].dir; | ||
849 | gpio_array[bank]->port_set = gpio_bank_saved[bank].data | ||
850 | | gpio_bank_saved[bank].dir; | ||
851 | } | ||
852 | } | ||
853 | #endif | ||
748 | 854 | ||
749 | unsigned short get_gpio_dir(unsigned gpio) | 855 | unsigned short get_gpio_dir(unsigned gpio) |
750 | { | 856 | { |
diff --git a/arch/blackfin/kernel/cplb-nompu/cplbhdlr.S b/arch/blackfin/kernel/cplb-nompu/cplbhdlr.S index 2788532de72b..ecbabc0a1fed 100644 --- a/arch/blackfin/kernel/cplb-nompu/cplbhdlr.S +++ b/arch/blackfin/kernel/cplb-nompu/cplbhdlr.S | |||
@@ -125,6 +125,6 @@ ENTRY(__cplb_hdr) | |||
125 | SP += -12; | 125 | SP += -12; |
126 | call _panic_cplb_error; | 126 | call _panic_cplb_error; |
127 | SP += 12; | 127 | SP += 12; |
128 | JUMP _handle_bad_cplb; | 128 | JUMP.L _handle_bad_cplb; |
129 | 129 | ||
130 | ENDPROC(__cplb_hdr) | 130 | ENDPROC(__cplb_hdr) |
diff --git a/arch/blackfin/kernel/cplb-nompu/cplbinit.c b/arch/blackfin/kernel/cplb-nompu/cplbinit.c index 6be0c50122e8..224e7cc30bc5 100644 --- a/arch/blackfin/kernel/cplb-nompu/cplbinit.c +++ b/arch/blackfin/kernel/cplb-nompu/cplbinit.c | |||
@@ -26,11 +26,7 @@ | |||
26 | #include <asm/cplb.h> | 26 | #include <asm/cplb.h> |
27 | #include <asm/cplbinit.h> | 27 | #include <asm/cplbinit.h> |
28 | 28 | ||
29 | #ifdef CONFIG_MAX_MEM_SIZE | 29 | #define CPLB_MEM CONFIG_MAX_MEM_SIZE |
30 | # define CPLB_MEM CONFIG_MAX_MEM_SIZE | ||
31 | #else | ||
32 | # define CPLB_MEM CONFIG_MEM_SIZE | ||
33 | #endif | ||
34 | 30 | ||
35 | /* | 31 | /* |
36 | * Number of required data CPLB switchtable entries | 32 | * Number of required data CPLB switchtable entries |
diff --git a/arch/blackfin/kernel/dualcore_test.c b/arch/blackfin/kernel/dualcore_test.c deleted file mode 100644 index 0fcba74840b7..000000000000 --- a/arch/blackfin/kernel/dualcore_test.c +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | /* | ||
2 | * File: arch/blackfin/kernel/dualcore_test.c | ||
3 | * Based on: | ||
4 | * Author: | ||
5 | * | ||
6 | * Created: | ||
7 | * Description: Small test code for CoreB on a BF561 | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | ||
29 | |||
30 | #include <linux/init.h> | ||
31 | #include <linux/module.h> | ||
32 | |||
33 | static int *testarg = (int *)0xfeb00000; | ||
34 | |||
35 | static int test_init(void) | ||
36 | { | ||
37 | *testarg = 1; | ||
38 | printk(KERN_INFO "Dual core test module inserted: set testarg = [%d]\n @ [%p]\n", | ||
39 | *testarg, testarg); | ||
40 | return 0; | ||
41 | } | ||
42 | |||
43 | static void test_exit(void) | ||
44 | { | ||
45 | printk(KERN_INFO "Dual core test module removed: testarg = [%d]\n", *testarg); | ||
46 | } | ||
47 | |||
48 | module_init(test_init); | ||
49 | module_exit(test_exit); | ||
diff --git a/arch/blackfin/kernel/entry.S b/arch/blackfin/kernel/entry.S index 65f4e67a65c4..31bd9bf3efae 100644 --- a/arch/blackfin/kernel/entry.S +++ b/arch/blackfin/kernel/entry.S | |||
@@ -64,6 +64,11 @@ ENDPROC(_ret_from_fork) | |||
64 | 64 | ||
65 | ENTRY(_sys_fork) | 65 | ENTRY(_sys_fork) |
66 | r0 = -EINVAL; | 66 | r0 = -EINVAL; |
67 | #if (ANOMALY_05000371) | ||
68 | nop; | ||
69 | nop; | ||
70 | nop; | ||
71 | #endif | ||
67 | rts; | 72 | rts; |
68 | ENDPROC(_sys_fork) | 73 | ENDPROC(_sys_fork) |
69 | 74 | ||
diff --git a/arch/blackfin/kernel/kgdb.c b/arch/blackfin/kernel/kgdb.c index a9c15515bfd7..a1f9641a6425 100644 --- a/arch/blackfin/kernel/kgdb.c +++ b/arch/blackfin/kernel/kgdb.c | |||
@@ -203,6 +203,8 @@ struct hw_breakpoint { | |||
203 | 203 | ||
204 | int kgdb_arch_init(void) | 204 | int kgdb_arch_init(void) |
205 | { | 205 | { |
206 | debugger_step = 0; | ||
207 | |||
206 | kgdb_remove_all_hw_break(); | 208 | kgdb_remove_all_hw_break(); |
207 | return 0; | 209 | return 0; |
208 | } | 210 | } |
@@ -368,6 +370,7 @@ int kgdb_arch_handle_exception(int exceptionVector, int signo, | |||
368 | char *ptr; | 370 | char *ptr; |
369 | int newPC; | 371 | int newPC; |
370 | int wp_status; | 372 | int wp_status; |
373 | int i; | ||
371 | 374 | ||
372 | switch (remcom_in_buffer[0]) { | 375 | switch (remcom_in_buffer[0]) { |
373 | case 'c': | 376 | case 'c': |
@@ -392,7 +395,18 @@ int kgdb_arch_handle_exception(int exceptionVector, int signo, | |||
392 | /* set the trace bit if we're stepping */ | 395 | /* set the trace bit if we're stepping */ |
393 | if (remcom_in_buffer[0] == 's') { | 396 | if (remcom_in_buffer[0] == 's') { |
394 | linux_regs->syscfg |= 0x1; | 397 | linux_regs->syscfg |= 0x1; |
395 | debugger_step = 1; | 398 | debugger_step = linux_regs->ipend; |
399 | debugger_step >>= 6; | ||
400 | for (i = 10; i > 0; i--, debugger_step >>= 1) | ||
401 | if (debugger_step & 1) | ||
402 | break; | ||
403 | /* i indicate event priority of current stopped instruction | ||
404 | * user space instruction is 0, IVG15 is 1, IVTMR is 10. | ||
405 | * debugger_step > 0 means in single step mode | ||
406 | */ | ||
407 | debugger_step = i + 1; | ||
408 | } else { | ||
409 | debugger_step = 0; | ||
396 | } | 410 | } |
397 | 411 | ||
398 | wp_status = bfin_read_WPSTAT(); | 412 | wp_status = bfin_read_WPSTAT(); |
diff --git a/arch/blackfin/kernel/module.c b/arch/blackfin/kernel/module.c index 14a42848f37f..e1bebc80a5bf 100644 --- a/arch/blackfin/kernel/module.c +++ b/arch/blackfin/kernel/module.c | |||
@@ -173,7 +173,7 @@ module_frob_arch_sections(Elf_Ehdr * hdr, Elf_Shdr * sechdrs, | |||
173 | for (s = sechdrs; s < sechdrs_end; ++s) { | 173 | for (s = sechdrs; s < sechdrs_end; ++s) { |
174 | if ((strcmp(".l1.text", secstrings + s->sh_name) == 0) || | 174 | if ((strcmp(".l1.text", secstrings + s->sh_name) == 0) || |
175 | ((strcmp(".text", secstrings + s->sh_name) == 0) && | 175 | ((strcmp(".text", secstrings + s->sh_name) == 0) && |
176 | (hdr->e_flags & FLG_CODE_IN_L1) && (s->sh_size > 0))) { | 176 | (hdr->e_flags & EF_BFIN_CODE_IN_L1) && (s->sh_size > 0))) { |
177 | dest = l1_inst_sram_alloc(s->sh_size); | 177 | dest = l1_inst_sram_alloc(s->sh_size); |
178 | mod->arch.text_l1 = dest; | 178 | mod->arch.text_l1 = dest; |
179 | if (dest == NULL) { | 179 | if (dest == NULL) { |
@@ -188,7 +188,7 @@ module_frob_arch_sections(Elf_Ehdr * hdr, Elf_Shdr * sechdrs, | |||
188 | } | 188 | } |
189 | if ((strcmp(".l1.data", secstrings + s->sh_name) == 0) || | 189 | if ((strcmp(".l1.data", secstrings + s->sh_name) == 0) || |
190 | ((strcmp(".data", secstrings + s->sh_name) == 0) && | 190 | ((strcmp(".data", secstrings + s->sh_name) == 0) && |
191 | (hdr->e_flags & FLG_DATA_IN_L1) && (s->sh_size > 0))) { | 191 | (hdr->e_flags & EF_BFIN_DATA_IN_L1) && (s->sh_size > 0))) { |
192 | dest = l1_data_sram_alloc(s->sh_size); | 192 | dest = l1_data_sram_alloc(s->sh_size); |
193 | mod->arch.data_a_l1 = dest; | 193 | mod->arch.data_a_l1 = dest; |
194 | if (dest == NULL) { | 194 | if (dest == NULL) { |
@@ -203,7 +203,7 @@ module_frob_arch_sections(Elf_Ehdr * hdr, Elf_Shdr * sechdrs, | |||
203 | } | 203 | } |
204 | if (strcmp(".l1.bss", secstrings + s->sh_name) == 0 || | 204 | if (strcmp(".l1.bss", secstrings + s->sh_name) == 0 || |
205 | ((strcmp(".bss", secstrings + s->sh_name) == 0) && | 205 | ((strcmp(".bss", secstrings + s->sh_name) == 0) && |
206 | (hdr->e_flags & FLG_DATA_IN_L1) && (s->sh_size > 0))) { | 206 | (hdr->e_flags & EF_BFIN_DATA_IN_L1) && (s->sh_size > 0))) { |
207 | dest = l1_data_sram_alloc(s->sh_size); | 207 | dest = l1_data_sram_alloc(s->sh_size); |
208 | mod->arch.bss_a_l1 = dest; | 208 | mod->arch.bss_a_l1 = dest; |
209 | if (dest == NULL) { | 209 | if (dest == NULL) { |
@@ -242,6 +242,51 @@ module_frob_arch_sections(Elf_Ehdr * hdr, Elf_Shdr * sechdrs, | |||
242 | s->sh_flags &= ~SHF_ALLOC; | 242 | s->sh_flags &= ~SHF_ALLOC; |
243 | s->sh_addr = (unsigned long)dest; | 243 | s->sh_addr = (unsigned long)dest; |
244 | } | 244 | } |
245 | if ((strcmp(".l2.text", secstrings + s->sh_name) == 0) || | ||
246 | ((strcmp(".text", secstrings + s->sh_name) == 0) && | ||
247 | (hdr->e_flags & EF_BFIN_CODE_IN_L2) && (s->sh_size > 0))) { | ||
248 | dest = l2_sram_alloc(s->sh_size); | ||
249 | mod->arch.text_l2 = dest; | ||
250 | if (dest == NULL) { | ||
251 | printk(KERN_ERR | ||
252 | "module %s: L2 SRAM allocation failed\n", | ||
253 | mod->name); | ||
254 | return -1; | ||
255 | } | ||
256 | memcpy(dest, (void *)s->sh_addr, s->sh_size); | ||
257 | s->sh_flags &= ~SHF_ALLOC; | ||
258 | s->sh_addr = (unsigned long)dest; | ||
259 | } | ||
260 | if ((strcmp(".l2.data", secstrings + s->sh_name) == 0) || | ||
261 | ((strcmp(".data", secstrings + s->sh_name) == 0) && | ||
262 | (hdr->e_flags & EF_BFIN_DATA_IN_L2) && (s->sh_size > 0))) { | ||
263 | dest = l2_sram_alloc(s->sh_size); | ||
264 | mod->arch.data_l2 = dest; | ||
265 | if (dest == NULL) { | ||
266 | printk(KERN_ERR | ||
267 | "module %s: L2 SRAM allocation failed\n", | ||
268 | mod->name); | ||
269 | return -1; | ||
270 | } | ||
271 | memcpy(dest, (void *)s->sh_addr, s->sh_size); | ||
272 | s->sh_flags &= ~SHF_ALLOC; | ||
273 | s->sh_addr = (unsigned long)dest; | ||
274 | } | ||
275 | if (strcmp(".l2.bss", secstrings + s->sh_name) == 0 || | ||
276 | ((strcmp(".bss", secstrings + s->sh_name) == 0) && | ||
277 | (hdr->e_flags & EF_BFIN_DATA_IN_L2) && (s->sh_size > 0))) { | ||
278 | dest = l2_sram_alloc(s->sh_size); | ||
279 | mod->arch.bss_l2 = dest; | ||
280 | if (dest == NULL) { | ||
281 | printk(KERN_ERR | ||
282 | "module %s: L2 SRAM allocation failed\n", | ||
283 | mod->name); | ||
284 | return -1; | ||
285 | } | ||
286 | memset(dest, 0, s->sh_size); | ||
287 | s->sh_flags &= ~SHF_ALLOC; | ||
288 | s->sh_addr = (unsigned long)dest; | ||
289 | } | ||
245 | } | 290 | } |
246 | return 0; | 291 | return 0; |
247 | } | 292 | } |
@@ -411,9 +456,10 @@ module_finalize(const Elf_Ehdr * hdr, | |||
411 | continue; | 456 | continue; |
412 | 457 | ||
413 | if ((sechdrs[i].sh_type == SHT_RELA) && | 458 | if ((sechdrs[i].sh_type == SHT_RELA) && |
414 | ((strcmp(".rela.l1.text", secstrings + sechdrs[i].sh_name) == 0) || | 459 | ((strcmp(".rela.l2.text", secstrings + sechdrs[i].sh_name) == 0) || |
460 | (strcmp(".rela.l1.text", secstrings + sechdrs[i].sh_name) == 0) || | ||
415 | ((strcmp(".rela.text", secstrings + sechdrs[i].sh_name) == 0) && | 461 | ((strcmp(".rela.text", secstrings + sechdrs[i].sh_name) == 0) && |
416 | (hdr->e_flags & FLG_CODE_IN_L1)))) { | 462 | (hdr->e_flags & (EF_BFIN_CODE_IN_L1|EF_BFIN_CODE_IN_L2))))) { |
417 | apply_relocate_add((Elf_Shdr *) sechdrs, strtab, | 463 | apply_relocate_add((Elf_Shdr *) sechdrs, strtab, |
418 | symindex, i, mod); | 464 | symindex, i, mod); |
419 | } | 465 | } |
@@ -423,14 +469,12 @@ module_finalize(const Elf_Ehdr * hdr, | |||
423 | 469 | ||
424 | void module_arch_cleanup(struct module *mod) | 470 | void module_arch_cleanup(struct module *mod) |
425 | { | 471 | { |
426 | if (mod->arch.text_l1) | 472 | l1_inst_sram_free(mod->arch.text_l1); |
427 | l1_inst_sram_free((void *)mod->arch.text_l1); | 473 | l1_data_A_sram_free(mod->arch.data_a_l1); |
428 | if (mod->arch.data_a_l1) | 474 | l1_data_A_sram_free(mod->arch.bss_a_l1); |
429 | l1_data_sram_free((void *)mod->arch.data_a_l1); | 475 | l1_data_B_sram_free(mod->arch.data_b_l1); |
430 | if (mod->arch.bss_a_l1) | 476 | l1_data_B_sram_free(mod->arch.bss_b_l1); |
431 | l1_data_sram_free((void *)mod->arch.bss_a_l1); | 477 | l2_sram_free(mod->arch.text_l2); |
432 | if (mod->arch.data_b_l1) | 478 | l2_sram_free(mod->arch.data_l2); |
433 | l1_data_B_sram_free((void *)mod->arch.data_b_l1); | 479 | l2_sram_free(mod->arch.bss_l2); |
434 | if (mod->arch.bss_b_l1) | ||
435 | l1_data_B_sram_free((void *)mod->arch.bss_b_l1); | ||
436 | } | 480 | } |
diff --git a/arch/blackfin/kernel/ptrace.c b/arch/blackfin/kernel/ptrace.c index f51ab088098e..bf1a51d8e608 100644 --- a/arch/blackfin/kernel/ptrace.c +++ b/arch/blackfin/kernel/ptrace.c | |||
@@ -220,6 +220,20 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
220 | copied = sizeof(tmp); | 220 | copied = sizeof(tmp); |
221 | } else | 221 | } else |
222 | #endif | 222 | #endif |
223 | #if L1_DATA_A_LENGTH != 0 | ||
224 | if (addr + add >= L1_DATA_A_START | ||
225 | && addr + add + sizeof(tmp) <= L1_DATA_A_START + L1_DATA_A_LENGTH) { | ||
226 | memcpy(&tmp, (const void *)(addr + add), sizeof(tmp)); | ||
227 | copied = sizeof(tmp); | ||
228 | } else | ||
229 | #endif | ||
230 | #if L1_DATA_B_LENGTH != 0 | ||
231 | if (addr + add >= L1_DATA_B_START | ||
232 | && addr + add + sizeof(tmp) <= L1_DATA_B_START + L1_DATA_B_LENGTH) { | ||
233 | memcpy(&tmp, (const void *)(addr + add), sizeof(tmp)); | ||
234 | copied = sizeof(tmp); | ||
235 | } else | ||
236 | #endif | ||
223 | if (addr + add >= FIXED_CODE_START | 237 | if (addr + add >= FIXED_CODE_START |
224 | && addr + add + sizeof(tmp) <= FIXED_CODE_END) { | 238 | && addr + add + sizeof(tmp) <= FIXED_CODE_END) { |
225 | memcpy(&tmp, (const void *)(addr + add), sizeof(tmp)); | 239 | memcpy(&tmp, (const void *)(addr + add), sizeof(tmp)); |
@@ -290,6 +304,20 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
290 | copied = sizeof(data); | 304 | copied = sizeof(data); |
291 | } else | 305 | } else |
292 | #endif | 306 | #endif |
307 | #if L1_DATA_A_LENGTH != 0 | ||
308 | if (addr + add >= L1_DATA_A_START | ||
309 | && addr + add + sizeof(data) <= L1_DATA_A_START + L1_DATA_A_LENGTH) { | ||
310 | memcpy((void *)(addr + add), &data, sizeof(data)); | ||
311 | copied = sizeof(data); | ||
312 | } else | ||
313 | #endif | ||
314 | #if L1_DATA_B_LENGTH != 0 | ||
315 | if (addr + add >= L1_DATA_B_START | ||
316 | && addr + add + sizeof(data) <= L1_DATA_B_START + L1_DATA_B_LENGTH) { | ||
317 | memcpy((void *)(addr + add), &data, sizeof(data)); | ||
318 | copied = sizeof(data); | ||
319 | } else | ||
320 | #endif | ||
293 | if (addr + add >= FIXED_CODE_START | 321 | if (addr + add >= FIXED_CODE_START |
294 | && addr + add + sizeof(data) <= FIXED_CODE_END) { | 322 | && addr + add + sizeof(data) <= FIXED_CODE_END) { |
295 | memcpy((void *)(addr + add), &data, sizeof(data)); | 323 | memcpy((void *)(addr + add), &data, sizeof(data)); |
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c index 8efea004aecb..23e637eb78da 100644 --- a/arch/blackfin/kernel/setup.c +++ b/arch/blackfin/kernel/setup.c | |||
@@ -104,6 +104,7 @@ void __init bf53x_relocate_l1_mem(void) | |||
104 | unsigned long l1_code_length; | 104 | unsigned long l1_code_length; |
105 | unsigned long l1_data_a_length; | 105 | unsigned long l1_data_a_length; |
106 | unsigned long l1_data_b_length; | 106 | unsigned long l1_data_b_length; |
107 | unsigned long l2_length; | ||
107 | 108 | ||
108 | l1_code_length = _etext_l1 - _stext_l1; | 109 | l1_code_length = _etext_l1 - _stext_l1; |
109 | if (l1_code_length > L1_CODE_LENGTH) | 110 | if (l1_code_length > L1_CODE_LENGTH) |
@@ -129,6 +130,15 @@ void __init bf53x_relocate_l1_mem(void) | |||
129 | /* Copy _sdata_b_l1 to _ebss_b_l1 to L1 data bank B SRAM */ | 130 | /* Copy _sdata_b_l1 to _ebss_b_l1 to L1 data bank B SRAM */ |
130 | dma_memcpy(_sdata_b_l1, _l1_lma_start + l1_code_length + | 131 | dma_memcpy(_sdata_b_l1, _l1_lma_start + l1_code_length + |
131 | l1_data_a_length, l1_data_b_length); | 132 | l1_data_a_length, l1_data_b_length); |
133 | |||
134 | #ifdef L2_LENGTH | ||
135 | l2_length = _ebss_l2 - _stext_l2; | ||
136 | if (l2_length > L2_LENGTH) | ||
137 | panic("L2 SRAM Overflow\n"); | ||
138 | |||
139 | /* Copy _stext_l2 to _edata_l2 to L2 SRAM */ | ||
140 | dma_memcpy(_stext_l2, _l2_lma_start, l2_length); | ||
141 | #endif | ||
132 | } | 142 | } |
133 | 143 | ||
134 | /* add_memory_region to memmap */ | 144 | /* add_memory_region to memmap */ |
@@ -664,11 +674,8 @@ static __init void setup_bootmem_allocator(void) | |||
664 | }) | 674 | }) |
665 | static inline int __init get_mem_size(void) | 675 | static inline int __init get_mem_size(void) |
666 | { | 676 | { |
667 | #ifdef CONFIG_MEM_SIZE | 677 | #if defined(EBIU_SDBCTL) |
668 | return CONFIG_MEM_SIZE; | 678 | # if defined(BF561_FAMILY) |
669 | #else | ||
670 | # if defined(EBIU_SDBCTL) | ||
671 | # if defined(BF561_FAMILY) | ||
672 | int ret = 0; | 679 | int ret = 0; |
673 | u32 sdbctl = bfin_read_EBIU_SDBCTL(); | 680 | u32 sdbctl = bfin_read_EBIU_SDBCTL(); |
674 | ret += EBSZ_TO_MEG(sdbctl >> 0); | 681 | ret += EBSZ_TO_MEG(sdbctl >> 0); |
@@ -676,10 +683,10 @@ static inline int __init get_mem_size(void) | |||
676 | ret += EBSZ_TO_MEG(sdbctl >> 16); | 683 | ret += EBSZ_TO_MEG(sdbctl >> 16); |
677 | ret += EBSZ_TO_MEG(sdbctl >> 24); | 684 | ret += EBSZ_TO_MEG(sdbctl >> 24); |
678 | return ret; | 685 | return ret; |
679 | # else | 686 | # else |
680 | return EBSZ_TO_MEG(bfin_read_EBIU_SDBCTL()); | 687 | return EBSZ_TO_MEG(bfin_read_EBIU_SDBCTL()); |
681 | # endif | 688 | # endif |
682 | # elif defined(EBIU_DDRCTL1) | 689 | #elif defined(EBIU_DDRCTL1) |
683 | u32 ddrctl = bfin_read_EBIU_DDRCTL1(); | 690 | u32 ddrctl = bfin_read_EBIU_DDRCTL1(); |
684 | int ret = 0; | 691 | int ret = 0; |
685 | switch (ddrctl & 0xc0000) { | 692 | switch (ddrctl & 0xc0000) { |
@@ -693,8 +700,9 @@ static inline int __init get_mem_size(void) | |||
693 | case DEVWD_8: ret *= 2; | 700 | case DEVWD_8: ret *= 2; |
694 | case DEVWD_16: break; | 701 | case DEVWD_16: break; |
695 | } | 702 | } |
703 | if ((ddrctl & 0xc000) == 0x4000) | ||
704 | ret *= 2; | ||
696 | return ret; | 705 | return ret; |
697 | # endif | ||
698 | #endif | 706 | #endif |
699 | BUG(); | 707 | BUG(); |
700 | } | 708 | } |
@@ -763,6 +771,9 @@ void __init setup_arch(char **cmdline_p) | |||
763 | 771 | ||
764 | _bfin_swrst = bfin_read_SWRST(); | 772 | _bfin_swrst = bfin_read_SWRST(); |
765 | 773 | ||
774 | /* If we double fault, reset the system - otherwise we hang forever */ | ||
775 | bfin_write_SWRST(DOUBLE_FAULT); | ||
776 | |||
766 | if (_bfin_swrst & RESET_DOUBLE) | 777 | if (_bfin_swrst & RESET_DOUBLE) |
767 | printk(KERN_INFO "Recovering from Double Fault event\n"); | 778 | printk(KERN_INFO "Recovering from Double Fault event\n"); |
768 | else if (_bfin_swrst & RESET_WDOG) | 779 | else if (_bfin_swrst & RESET_WDOG) |
@@ -842,38 +853,55 @@ static int __init topology_init(void) | |||
842 | 853 | ||
843 | subsys_initcall(topology_init); | 854 | subsys_initcall(topology_init); |
844 | 855 | ||
856 | /* Get the voltage input multiplier */ | ||
857 | static u_long cached_vco_pll_ctl, cached_vco; | ||
845 | static u_long get_vco(void) | 858 | static u_long get_vco(void) |
846 | { | 859 | { |
847 | u_long msel; | 860 | u_long msel; |
848 | u_long vco; | ||
849 | 861 | ||
850 | msel = (bfin_read_PLL_CTL() >> 9) & 0x3F; | 862 | u_long pll_ctl = bfin_read_PLL_CTL(); |
863 | if (pll_ctl == cached_vco_pll_ctl) | ||
864 | return cached_vco; | ||
865 | else | ||
866 | cached_vco_pll_ctl = pll_ctl; | ||
867 | |||
868 | msel = (pll_ctl >> 9) & 0x3F; | ||
851 | if (0 == msel) | 869 | if (0 == msel) |
852 | msel = 64; | 870 | msel = 64; |
853 | 871 | ||
854 | vco = CONFIG_CLKIN_HZ; | 872 | cached_vco = CONFIG_CLKIN_HZ; |
855 | vco >>= (1 & bfin_read_PLL_CTL()); /* DF bit */ | 873 | cached_vco >>= (1 & pll_ctl); /* DF bit */ |
856 | vco = msel * vco; | 874 | cached_vco *= msel; |
857 | return vco; | 875 | return cached_vco; |
858 | } | 876 | } |
859 | 877 | ||
860 | /* Get the Core clock */ | 878 | /* Get the Core clock */ |
879 | static u_long cached_cclk_pll_div, cached_cclk; | ||
861 | u_long get_cclk(void) | 880 | u_long get_cclk(void) |
862 | { | 881 | { |
863 | u_long csel, ssel; | 882 | u_long csel, ssel; |
883 | |||
864 | if (bfin_read_PLL_STAT() & 0x1) | 884 | if (bfin_read_PLL_STAT() & 0x1) |
865 | return CONFIG_CLKIN_HZ; | 885 | return CONFIG_CLKIN_HZ; |
866 | 886 | ||
867 | ssel = bfin_read_PLL_DIV(); | 887 | ssel = bfin_read_PLL_DIV(); |
888 | if (ssel == cached_cclk_pll_div) | ||
889 | return cached_cclk; | ||
890 | else | ||
891 | cached_cclk_pll_div = ssel; | ||
892 | |||
868 | csel = ((ssel >> 4) & 0x03); | 893 | csel = ((ssel >> 4) & 0x03); |
869 | ssel &= 0xf; | 894 | ssel &= 0xf; |
870 | if (ssel && ssel < (1 << csel)) /* SCLK > CCLK */ | 895 | if (ssel && ssel < (1 << csel)) /* SCLK > CCLK */ |
871 | return get_vco() / ssel; | 896 | cached_cclk = get_vco() / ssel; |
872 | return get_vco() >> csel; | 897 | else |
898 | cached_cclk = get_vco() >> csel; | ||
899 | return cached_cclk; | ||
873 | } | 900 | } |
874 | EXPORT_SYMBOL(get_cclk); | 901 | EXPORT_SYMBOL(get_cclk); |
875 | 902 | ||
876 | /* Get the System clock */ | 903 | /* Get the System clock */ |
904 | static u_long cached_sclk_pll_div, cached_sclk; | ||
877 | u_long get_sclk(void) | 905 | u_long get_sclk(void) |
878 | { | 906 | { |
879 | u_long ssel; | 907 | u_long ssel; |
@@ -881,13 +909,20 @@ u_long get_sclk(void) | |||
881 | if (bfin_read_PLL_STAT() & 0x1) | 909 | if (bfin_read_PLL_STAT() & 0x1) |
882 | return CONFIG_CLKIN_HZ; | 910 | return CONFIG_CLKIN_HZ; |
883 | 911 | ||
884 | ssel = (bfin_read_PLL_DIV() & 0xf); | 912 | ssel = bfin_read_PLL_DIV(); |
913 | if (ssel == cached_sclk_pll_div) | ||
914 | return cached_sclk; | ||
915 | else | ||
916 | cached_sclk_pll_div = ssel; | ||
917 | |||
918 | ssel &= 0xf; | ||
885 | if (0 == ssel) { | 919 | if (0 == ssel) { |
886 | printk(KERN_WARNING "Invalid System Clock\n"); | 920 | printk(KERN_WARNING "Invalid System Clock\n"); |
887 | ssel = 1; | 921 | ssel = 1; |
888 | } | 922 | } |
889 | 923 | ||
890 | return get_vco() / ssel; | 924 | cached_sclk = get_vco() / ssel; |
925 | return cached_sclk; | ||
891 | } | 926 | } |
892 | EXPORT_SYMBOL(get_sclk); | 927 | EXPORT_SYMBOL(get_sclk); |
893 | 928 | ||
@@ -916,7 +951,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
916 | uint32_t revid; | 951 | uint32_t revid; |
917 | 952 | ||
918 | u_long cclk = 0, sclk = 0; | 953 | u_long cclk = 0, sclk = 0; |
919 | u_int dcache_size = 0, dsup_banks = 0; | 954 | u_int icache_size = BFIN_ICACHESIZE / 1024, dcache_size = 0, dsup_banks = 0; |
920 | 955 | ||
921 | cpu = CPU; | 956 | cpu = CPU; |
922 | mmu = "none"; | 957 | mmu = "none"; |
@@ -985,12 +1020,15 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
985 | } | 1020 | } |
986 | 1021 | ||
987 | /* Is it turned on? */ | 1022 | /* Is it turned on? */ |
988 | if (!((bfin_read_DMEM_CONTROL()) & (ENDCPLB | DMC_ENABLE))) | 1023 | if ((bfin_read_DMEM_CONTROL() & (ENDCPLB | DMC_ENABLE)) != (ENDCPLB | DMC_ENABLE)) |
989 | dcache_size = 0; | 1024 | dcache_size = 0; |
990 | 1025 | ||
1026 | if ((bfin_read_IMEM_CONTROL() & (IMC | ENICPLB)) == (IMC | ENICPLB)) | ||
1027 | icache_size = 0; | ||
1028 | |||
991 | seq_printf(m, "cache size\t: %d KB(L1 icache) " | 1029 | seq_printf(m, "cache size\t: %d KB(L1 icache) " |
992 | "%d KB(L1 dcache-%s) %d KB(L2 cache)\n", | 1030 | "%d KB(L1 dcache-%s) %d KB(L2 cache)\n", |
993 | BFIN_ICACHESIZE / 1024, dcache_size, | 1031 | icache_size, dcache_size, |
994 | #if defined CONFIG_BFIN_WB | 1032 | #if defined CONFIG_BFIN_WB |
995 | "wb" | 1033 | "wb" |
996 | #elif defined CONFIG_BFIN_WT | 1034 | #elif defined CONFIG_BFIN_WT |
@@ -1000,8 +1038,12 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
1000 | 1038 | ||
1001 | seq_printf(m, "%s\n", cache); | 1039 | seq_printf(m, "%s\n", cache); |
1002 | 1040 | ||
1003 | seq_printf(m, "icache setup\t: %d Sub-banks/%d Ways, %d Lines/Way\n", | 1041 | if (icache_size) |
1004 | BFIN_ISUBBANKS, BFIN_IWAYS, BFIN_ILINES); | 1042 | seq_printf(m, "icache setup\t: %d Sub-banks/%d Ways, %d Lines/Way\n", |
1043 | BFIN_ISUBBANKS, BFIN_IWAYS, BFIN_ILINES); | ||
1044 | else | ||
1045 | seq_printf(m, "icache setup\t: off\n"); | ||
1046 | |||
1005 | seq_printf(m, | 1047 | seq_printf(m, |
1006 | "dcache setup\t: %d Super-banks/%d Sub-banks/%d Ways, %d Lines/Way\n", | 1048 | "dcache setup\t: %d Super-banks/%d Sub-banks/%d Ways, %d Lines/Way\n", |
1007 | dsup_banks, BFIN_DSUBBANKS, BFIN_DWAYS, | 1049 | dsup_banks, BFIN_DSUBBANKS, BFIN_DWAYS, |
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index f061f5181623..ad922ab91543 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c | |||
@@ -69,8 +69,6 @@ void __init trap_init(void) | |||
69 | 69 | ||
70 | unsigned long saved_icplb_fault_addr, saved_dcplb_fault_addr; | 70 | unsigned long saved_icplb_fault_addr, saved_dcplb_fault_addr; |
71 | 71 | ||
72 | int kstack_depth_to_print = 48; | ||
73 | |||
74 | static void decode_address(char *buf, unsigned long address) | 72 | static void decode_address(char *buf, unsigned long address) |
75 | { | 73 | { |
76 | struct vm_list_struct *vml; | 74 | struct vm_list_struct *vml; |
@@ -163,6 +161,9 @@ static void decode_address(char *buf, unsigned long address) | |||
163 | if (!in_atomic) | 161 | if (!in_atomic) |
164 | mmput(mm); | 162 | mmput(mm); |
165 | 163 | ||
164 | if (!strlen(buf)) | ||
165 | sprintf(buf, "<0x%p> [ %s ] dynamic memory", (void *)address, name); | ||
166 | |||
166 | goto done; | 167 | goto done; |
167 | } | 168 | } |
168 | 169 | ||
@@ -173,7 +174,7 @@ static void decode_address(char *buf, unsigned long address) | |||
173 | } | 174 | } |
174 | 175 | ||
175 | /* we were unable to find this address anywhere */ | 176 | /* we were unable to find this address anywhere */ |
176 | sprintf(buf, "<0x%p> /* unknown address */", (void *)address); | 177 | sprintf(buf, "<0x%p> /* kernel dynamic memory */", (void *)address); |
177 | 178 | ||
178 | done: | 179 | done: |
179 | write_unlock_irqrestore(&tasklist_lock, flags); | 180 | write_unlock_irqrestore(&tasklist_lock, flags); |
@@ -494,7 +495,7 @@ asmlinkage void trap_c(struct pt_regs *fp) | |||
494 | BUG_ON(sig == 0); | 495 | BUG_ON(sig == 0); |
495 | 496 | ||
496 | if (sig != SIGTRAP) { | 497 | if (sig != SIGTRAP) { |
497 | unsigned long stack; | 498 | unsigned long *stack; |
498 | dump_bfin_process(fp); | 499 | dump_bfin_process(fp); |
499 | dump_bfin_mem(fp); | 500 | dump_bfin_mem(fp); |
500 | show_regs(fp); | 501 | show_regs(fp); |
@@ -508,14 +509,23 @@ asmlinkage void trap_c(struct pt_regs *fp) | |||
508 | else | 509 | else |
509 | #endif | 510 | #endif |
510 | dump_bfin_trace_buffer(); | 511 | dump_bfin_trace_buffer(); |
511 | show_stack(current, &stack); | 512 | |
512 | if (oops_in_progress) { | 513 | if (oops_in_progress) { |
514 | /* Dump the current kernel stack */ | ||
515 | printk(KERN_NOTICE "\n" KERN_NOTICE "Kernel Stack\n"); | ||
516 | show_stack(current, NULL); | ||
517 | |||
513 | print_modules(); | 518 | print_modules(); |
514 | #ifndef CONFIG_ACCESS_CHECK | 519 | #ifndef CONFIG_ACCESS_CHECK |
515 | printk(KERN_EMERG "Please turn on " | 520 | printk(KERN_EMERG "Please turn on " |
516 | "CONFIG_ACCESS_CHECK\n"); | 521 | "CONFIG_ACCESS_CHECK\n"); |
517 | #endif | 522 | #endif |
518 | panic("Kernel exception"); | 523 | panic("Kernel exception"); |
524 | } else { | ||
525 | /* Dump the user space stack */ | ||
526 | stack = (unsigned long *)rdusp(); | ||
527 | printk(KERN_NOTICE "Userspace Stack\n"); | ||
528 | show_stack(NULL, stack); | ||
519 | } | 529 | } |
520 | } | 530 | } |
521 | 531 | ||
@@ -532,11 +542,71 @@ asmlinkage void trap_c(struct pt_regs *fp) | |||
532 | 542 | ||
533 | #define EXPAND_LEN ((1 << CONFIG_DEBUG_BFIN_HWTRACE_EXPAND_LEN) * 256 - 1) | 543 | #define EXPAND_LEN ((1 << CONFIG_DEBUG_BFIN_HWTRACE_EXPAND_LEN) * 256 - 1) |
534 | 544 | ||
545 | /* | ||
546 | * Similar to get_user, do some address checking, then dereference | ||
547 | * Return true on sucess, false on bad address | ||
548 | */ | ||
549 | bool get_instruction(unsigned short *val, unsigned short *address) | ||
550 | { | ||
551 | |||
552 | unsigned long addr; | ||
553 | |||
554 | addr = (unsigned long)address; | ||
555 | |||
556 | /* Check for odd addresses */ | ||
557 | if (addr & 0x1) | ||
558 | return false; | ||
559 | |||
560 | /* Check that things do not wrap around */ | ||
561 | if (addr > (addr + 2)) | ||
562 | return false; | ||
563 | |||
564 | /* | ||
565 | * Since we are in exception context, we need to do a little address checking | ||
566 | * We need to make sure we are only accessing valid memory, and | ||
567 | * we don't read something in the async space that can hang forever | ||
568 | */ | ||
569 | if ((addr >= FIXED_CODE_START && (addr + 2) <= physical_mem_end) || | ||
570 | #ifdef L2_START | ||
571 | (addr >= L2_START && (addr + 2) <= (L2_START + L2_LENGTH)) || | ||
572 | #endif | ||
573 | (addr >= BOOT_ROM_START && (addr + 2) <= (BOOT_ROM_START + BOOT_ROM_LENGTH)) || | ||
574 | #if L1_DATA_A_LENGTH != 0 | ||
575 | (addr >= L1_DATA_A_START && (addr + 2) <= (L1_DATA_A_START + L1_DATA_A_LENGTH)) || | ||
576 | #endif | ||
577 | #if L1_DATA_B_LENGTH != 0 | ||
578 | (addr >= L1_DATA_B_START && (addr + 2) <= (L1_DATA_B_START + L1_DATA_B_LENGTH)) || | ||
579 | #endif | ||
580 | (addr >= L1_SCRATCH_START && (addr + 2) <= (L1_SCRATCH_START + L1_SCRATCH_LENGTH)) || | ||
581 | (!(bfin_read_EBIU_AMBCTL0() & B0RDYEN) && | ||
582 | addr >= ASYNC_BANK0_BASE && (addr + 2) <= (ASYNC_BANK0_BASE + ASYNC_BANK0_SIZE)) || | ||
583 | (!(bfin_read_EBIU_AMBCTL0() & B1RDYEN) && | ||
584 | addr >= ASYNC_BANK1_BASE && (addr + 2) <= (ASYNC_BANK1_BASE + ASYNC_BANK1_SIZE)) || | ||
585 | (!(bfin_read_EBIU_AMBCTL1() & B2RDYEN) && | ||
586 | addr >= ASYNC_BANK2_BASE && (addr + 2) <= (ASYNC_BANK2_BASE + ASYNC_BANK1_SIZE)) || | ||
587 | (!(bfin_read_EBIU_AMBCTL1() & B3RDYEN) && | ||
588 | addr >= ASYNC_BANK3_BASE && (addr + 2) <= (ASYNC_BANK3_BASE + ASYNC_BANK1_SIZE))) { | ||
589 | *val = *address; | ||
590 | return true; | ||
591 | } | ||
592 | |||
593 | #if L1_CODE_LENGTH != 0 | ||
594 | if (addr >= L1_CODE_START && (addr + 2) <= (L1_CODE_START + L1_CODE_LENGTH)) { | ||
595 | dma_memcpy(val, address, 2); | ||
596 | return true; | ||
597 | } | ||
598 | #endif | ||
599 | |||
600 | |||
601 | return false; | ||
602 | } | ||
603 | |||
535 | void dump_bfin_trace_buffer(void) | 604 | void dump_bfin_trace_buffer(void) |
536 | { | 605 | { |
537 | #ifdef CONFIG_DEBUG_BFIN_HWTRACE_ON | 606 | #ifdef CONFIG_DEBUG_BFIN_HWTRACE_ON |
538 | int tflags, i = 0; | 607 | int tflags, i = 0; |
539 | char buf[150]; | 608 | char buf[150]; |
609 | unsigned short val = 0, *addr; | ||
540 | #ifdef CONFIG_DEBUG_BFIN_HWTRACE_EXPAND | 610 | #ifdef CONFIG_DEBUG_BFIN_HWTRACE_EXPAND |
541 | int j, index; | 611 | int j, index; |
542 | #endif | 612 | #endif |
@@ -549,8 +619,42 @@ void dump_bfin_trace_buffer(void) | |||
549 | for (; bfin_read_TBUFSTAT() & TBUFCNT; i++) { | 619 | for (; bfin_read_TBUFSTAT() & TBUFCNT; i++) { |
550 | decode_address(buf, (unsigned long)bfin_read_TBUF()); | 620 | decode_address(buf, (unsigned long)bfin_read_TBUF()); |
551 | printk(KERN_NOTICE "%4i Target : %s\n", i, buf); | 621 | printk(KERN_NOTICE "%4i Target : %s\n", i, buf); |
552 | decode_address(buf, (unsigned long)bfin_read_TBUF()); | 622 | addr = (unsigned short *)bfin_read_TBUF(); |
553 | printk(KERN_NOTICE " Source : %s\n", buf); | 623 | decode_address(buf, (unsigned long)addr); |
624 | printk(KERN_NOTICE " Source : %s ", buf); | ||
625 | if (get_instruction(&val, addr)) { | ||
626 | if (val == 0x0010) | ||
627 | printk("RTS"); | ||
628 | else if (val == 0x0011) | ||
629 | printk("RTI"); | ||
630 | else if (val == 0x0012) | ||
631 | printk("RTX"); | ||
632 | else if (val >= 0x0050 && val <= 0x0057) | ||
633 | printk("JUMP (P%i)", val & 7); | ||
634 | else if (val >= 0x0060 && val <= 0x0067) | ||
635 | printk("CALL (P%i)", val & 7); | ||
636 | else if (val >= 0x0070 && val <= 0x0077) | ||
637 | printk("CALL (PC+P%i)", val & 7); | ||
638 | else if (val >= 0x0080 && val <= 0x0087) | ||
639 | printk("JUMP (PC+P%i)", val & 7); | ||
640 | else if ((val >= 0x1000 && val <= 0x13FF) || | ||
641 | (val >= 0x1800 && val <= 0x1BFF)) | ||
642 | printk("IF !CC JUMP"); | ||
643 | else if ((val >= 0x1400 && val <= 0x17ff) || | ||
644 | (val >= 0x1c00 && val <= 0x1fff)) | ||
645 | printk("IF CC JUMP"); | ||
646 | else if (val >= 0x2000 && val <= 0x2fff) | ||
647 | printk("JUMP.S"); | ||
648 | else if (val >= 0xe080 && val <= 0xe0ff) | ||
649 | printk("LSETUP"); | ||
650 | else if (val >= 0xe200 && val <= 0xe2ff) | ||
651 | printk("JUMP.L"); | ||
652 | else if (val >= 0xe300 && val <= 0xe3ff) | ||
653 | printk("CALL pcrel"); | ||
654 | else | ||
655 | printk("0x%04x", val); | ||
656 | } | ||
657 | printk("\n"); | ||
554 | } | 658 | } |
555 | } | 659 | } |
556 | 660 | ||
@@ -582,59 +686,151 @@ void dump_bfin_trace_buffer(void) | |||
582 | } | 686 | } |
583 | EXPORT_SYMBOL(dump_bfin_trace_buffer); | 687 | EXPORT_SYMBOL(dump_bfin_trace_buffer); |
584 | 688 | ||
585 | static void show_trace(struct task_struct *tsk, unsigned long *sp) | 689 | /* |
690 | * Checks to see if the address pointed to is either a | ||
691 | * 16-bit CALL instruction, or a 32-bit CALL instruction | ||
692 | */ | ||
693 | bool is_bfin_call(unsigned short *addr) | ||
586 | { | 694 | { |
587 | unsigned long addr; | 695 | unsigned short opcode = 0, *ins_addr; |
696 | ins_addr = (unsigned short *)addr; | ||
588 | 697 | ||
589 | printk(KERN_NOTICE "\n" KERN_NOTICE "Call Trace:\n"); | 698 | if (!get_instruction(&opcode, ins_addr)) |
590 | 699 | return false; | |
591 | while (!kstack_end(sp)) { | ||
592 | addr = *sp++; | ||
593 | /* | ||
594 | * If the address is either in the text segment of the | ||
595 | * kernel, or in the region which contains vmalloc'ed | ||
596 | * memory, it *may* be the address of a calling | ||
597 | * routine; if so, print it so that someone tracing | ||
598 | * down the cause of the crash will be able to figure | ||
599 | * out the call path that was taken. | ||
600 | */ | ||
601 | if (kernel_text_address(addr)) | ||
602 | print_ip_sym(addr); | ||
603 | } | ||
604 | 700 | ||
605 | printk(KERN_NOTICE "\n"); | 701 | if ((opcode >= 0x0060 && opcode <= 0x0067) || |
606 | } | 702 | (opcode >= 0x0070 && opcode <= 0x0077)) |
703 | return true; | ||
704 | |||
705 | ins_addr--; | ||
706 | if (!get_instruction(&opcode, ins_addr)) | ||
707 | return false; | ||
607 | 708 | ||
709 | if (opcode >= 0xE300 && opcode <= 0xE3FF) | ||
710 | return true; | ||
711 | |||
712 | return false; | ||
713 | |||
714 | } | ||
608 | void show_stack(struct task_struct *task, unsigned long *stack) | 715 | void show_stack(struct task_struct *task, unsigned long *stack) |
609 | { | 716 | { |
610 | unsigned long *endstack, addr; | 717 | unsigned int *addr, *endstack, *fp = 0, *frame; |
611 | int i; | 718 | unsigned short *ins_addr; |
719 | char buf[150]; | ||
720 | unsigned int i, j, ret_addr, frame_no = 0; | ||
612 | 721 | ||
613 | /* Cannot call dump_bfin_trace_buffer() here as show_stack() is | 722 | /* |
614 | * called externally in some places in the kernel. | 723 | * If we have been passed a specific stack, use that one otherwise |
724 | * if we have been passed a task structure, use that, otherwise | ||
725 | * use the stack of where the variable "stack" exists | ||
615 | */ | 726 | */ |
616 | 727 | ||
617 | if (!stack) { | 728 | if (stack == NULL) { |
618 | if (task) | 729 | if (task) { |
730 | /* We know this is a kernel stack, so this is the start/end */ | ||
619 | stack = (unsigned long *)task->thread.ksp; | 731 | stack = (unsigned long *)task->thread.ksp; |
620 | else | 732 | endstack = (unsigned int *)(((unsigned int)(stack) & ~(THREAD_SIZE - 1)) + THREAD_SIZE); |
733 | } else { | ||
734 | /* print out the existing stack info */ | ||
621 | stack = (unsigned long *)&stack; | 735 | stack = (unsigned long *)&stack; |
736 | endstack = (unsigned int *)PAGE_ALIGN((unsigned int)stack); | ||
737 | } | ||
738 | } else | ||
739 | endstack = (unsigned int *)PAGE_ALIGN((unsigned int)stack); | ||
740 | |||
741 | decode_address(buf, (unsigned int)stack); | ||
742 | printk(KERN_NOTICE "Stack info:\n" KERN_NOTICE " SP: [0x%p] %s\n", stack, buf); | ||
743 | addr = (unsigned int *)((unsigned int)stack & ~0x3F); | ||
744 | |||
745 | /* First thing is to look for a frame pointer */ | ||
746 | for (addr = (unsigned int *)((unsigned int)stack & ~0xF), i = 0; | ||
747 | addr < endstack; addr++, i++) { | ||
748 | if (*addr & 0x1) | ||
749 | continue; | ||
750 | ins_addr = (unsigned short *)*addr; | ||
751 | ins_addr--; | ||
752 | if (is_bfin_call(ins_addr)) | ||
753 | fp = addr - 1; | ||
754 | |||
755 | if (fp) { | ||
756 | /* Let's check to see if it is a frame pointer */ | ||
757 | while (fp >= (addr - 1) && fp < endstack && fp) | ||
758 | fp = (unsigned int *)*fp; | ||
759 | if (fp == 0 || fp == endstack) { | ||
760 | fp = addr - 1; | ||
761 | break; | ||
762 | } | ||
763 | fp = 0; | ||
764 | } | ||
622 | } | 765 | } |
766 | if (fp) { | ||
767 | frame = fp; | ||
768 | printk(" FP: (0x%p)\n", fp); | ||
769 | } else | ||
770 | frame = 0; | ||
623 | 771 | ||
624 | addr = (unsigned long)stack; | 772 | /* |
625 | endstack = (unsigned long *)PAGE_ALIGN(addr); | 773 | * Now that we think we know where things are, we |
774 | * walk the stack again, this time printing things out | ||
775 | * incase there is no frame pointer, we still look for | ||
776 | * valid return addresses | ||
777 | */ | ||
626 | 778 | ||
627 | printk(KERN_NOTICE "Stack from %08lx:", (unsigned long)stack); | 779 | /* First time print out data, next time, print out symbols */ |
628 | for (i = 0; i < kstack_depth_to_print; i++) { | 780 | for (j = 0; j <= 1; j++) { |
629 | if (stack + 1 > endstack) | 781 | if (j) |
630 | break; | 782 | printk(KERN_NOTICE "Return addresses in stack:\n"); |
631 | if (i % 8 == 0) | 783 | else |
632 | printk("\n" KERN_NOTICE " "); | 784 | printk(KERN_NOTICE " Memory from 0x%08lx to %p", ((long unsigned int)stack & ~0xF), endstack); |
633 | printk(" %08lx", *stack++); | 785 | |
786 | fp = frame; | ||
787 | frame_no = 0; | ||
788 | |||
789 | for (addr = (unsigned int *)((unsigned int)stack & ~0xF), i = 0; | ||
790 | addr <= endstack; addr++, i++) { | ||
791 | |||
792 | ret_addr = 0; | ||
793 | if (!j && i % 8 == 0) | ||
794 | printk("\n" KERN_NOTICE "%p:",addr); | ||
795 | |||
796 | /* if it is an odd address, or zero, just skip it */ | ||
797 | if (*addr & 0x1 || !*addr) | ||
798 | goto print; | ||
799 | |||
800 | ins_addr = (unsigned short *)*addr; | ||
801 | |||
802 | /* Go back one instruction, and see if it is a CALL */ | ||
803 | ins_addr--; | ||
804 | ret_addr = is_bfin_call(ins_addr); | ||
805 | print: | ||
806 | if (!j && stack == (unsigned long *)addr) | ||
807 | printk("[%08x]", *addr); | ||
808 | else if (ret_addr) | ||
809 | if (j) { | ||
810 | decode_address(buf, (unsigned int)*addr); | ||
811 | if (frame == addr) { | ||
812 | printk(KERN_NOTICE " frame %2i : %s\n", frame_no, buf); | ||
813 | continue; | ||
814 | } | ||
815 | printk(KERN_NOTICE " address : %s\n", buf); | ||
816 | } else | ||
817 | printk("<%08x>", *addr); | ||
818 | else if (fp == addr) { | ||
819 | if (j) | ||
820 | frame = addr+1; | ||
821 | else | ||
822 | printk("(%08x)", *addr); | ||
823 | |||
824 | fp = (unsigned int *)*addr; | ||
825 | frame_no++; | ||
826 | |||
827 | } else if (!j) | ||
828 | printk(" %08x ", *addr); | ||
829 | } | ||
830 | if (!j) | ||
831 | printk("\n"); | ||
634 | } | 832 | } |
635 | printk("\n"); | ||
636 | 833 | ||
637 | show_trace(task, stack); | ||
638 | } | 834 | } |
639 | 835 | ||
640 | void dump_stack(void) | 836 | void dump_stack(void) |
@@ -715,19 +911,9 @@ void dump_bfin_mem(struct pt_regs *fp) | |||
715 | if (!((unsigned long)addr & 0xF)) | 911 | if (!((unsigned long)addr & 0xF)) |
716 | printk("\n" KERN_NOTICE "0x%p: ", addr); | 912 | printk("\n" KERN_NOTICE "0x%p: ", addr); |
717 | 913 | ||
718 | if (get_user(val, addr)) { | 914 | if (get_instruction(&val, addr)) { |
719 | if (addr >= (unsigned short *)L1_CODE_START && | ||
720 | addr < (unsigned short *)(L1_CODE_START + L1_CODE_LENGTH)) { | ||
721 | dma_memcpy(&val, addr, sizeof(val)); | ||
722 | sprintf(buf, "%04x", val); | ||
723 | } else if (addr >= (unsigned short *)FIXED_CODE_START && | ||
724 | addr <= (unsigned short *)memory_start) { | ||
725 | val = bfin_read16(addr); | ||
726 | sprintf(buf, "%04x", val); | ||
727 | } else { | ||
728 | val = 0; | 915 | val = 0; |
729 | sprintf(buf, "????"); | 916 | sprintf(buf, "????"); |
730 | } | ||
731 | } else | 917 | } else |
732 | sprintf(buf, "%04x", val); | 918 | sprintf(buf, "%04x", val); |
733 | 919 | ||
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S index 3ecc64cab3be..0896e38d6108 100644 --- a/arch/blackfin/kernel/vmlinux.lds.S +++ b/arch/blackfin/kernel/vmlinux.lds.S | |||
@@ -101,6 +101,11 @@ SECTIONS | |||
101 | #if !L1_DATA_B_LENGTH | 101 | #if !L1_DATA_B_LENGTH |
102 | *(.l1.data.B) | 102 | *(.l1.data.B) |
103 | #endif | 103 | #endif |
104 | #ifndef L2_LENGTH | ||
105 | . = ALIGN(32); | ||
106 | *(.data_l2.cacheline_aligned) | ||
107 | *(.l2.data) | ||
108 | #endif | ||
104 | 109 | ||
105 | DATA_DATA | 110 | DATA_DATA |
106 | *(.data.*) | 111 | *(.data.*) |
@@ -182,14 +187,13 @@ SECTIONS | |||
182 | *(.l1.data) | 187 | *(.l1.data) |
183 | __edata_l1 = .; | 188 | __edata_l1 = .; |
184 | 189 | ||
185 | . = ALIGN(4); | ||
186 | __sbss_l1 = .; | ||
187 | *(.l1.bss) | ||
188 | |||
189 | . = ALIGN(32); | 190 | . = ALIGN(32); |
190 | *(.data_l1.cacheline_aligned) | 191 | *(.data_l1.cacheline_aligned) |
191 | 192 | ||
192 | . = ALIGN(4); | 193 | . = ALIGN(4); |
194 | __sbss_l1 = .; | ||
195 | *(.l1.bss) | ||
196 | . = ALIGN(4); | ||
193 | __ebss_l1 = .; | 197 | __ebss_l1 = .; |
194 | } | 198 | } |
195 | 199 | ||
@@ -203,11 +207,37 @@ SECTIONS | |||
203 | . = ALIGN(4); | 207 | . = ALIGN(4); |
204 | __sbss_b_l1 = .; | 208 | __sbss_b_l1 = .; |
205 | *(.l1.bss.B) | 209 | *(.l1.bss.B) |
206 | |||
207 | . = ALIGN(4); | 210 | . = ALIGN(4); |
208 | __ebss_b_l1 = .; | 211 | __ebss_b_l1 = .; |
209 | } | 212 | } |
210 | 213 | ||
214 | #ifdef L2_LENGTH | ||
215 | __l2_lma_start = .; | ||
216 | |||
217 | .text_data_l2 L2_START : AT(LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1)) | ||
218 | { | ||
219 | . = ALIGN(4); | ||
220 | __stext_l2 = .; | ||
221 | *(.l1.text) | ||
222 | . = ALIGN(4); | ||
223 | __etext_l2 = .; | ||
224 | |||
225 | . = ALIGN(4); | ||
226 | __sdata_l2 = .; | ||
227 | *(.l1.data) | ||
228 | __edata_l2 = .; | ||
229 | |||
230 | . = ALIGN(32); | ||
231 | *(.data_l2.cacheline_aligned) | ||
232 | |||
233 | . = ALIGN(4); | ||
234 | __sbss_l2 = .; | ||
235 | *(.l1.bss) | ||
236 | . = ALIGN(4); | ||
237 | __ebss_l2 = .; | ||
238 | } | ||
239 | #endif | ||
240 | |||
211 | /* Force trailing alignment of our init section so that when we | 241 | /* Force trailing alignment of our init section so that when we |
212 | * free our init memory, we don't leave behind a partial page. | 242 | * free our init memory, we don't leave behind a partial page. |
213 | */ | 243 | */ |
diff --git a/arch/blackfin/mach-bf527/boards/Kconfig b/arch/blackfin/mach-bf527/boards/Kconfig index 6a570ad03746..8bf9e58f0148 100644 --- a/arch/blackfin/mach-bf527/boards/Kconfig +++ b/arch/blackfin/mach-bf527/boards/Kconfig | |||
@@ -9,4 +9,9 @@ config BFIN527_EZKIT | |||
9 | help | 9 | help |
10 | BF527-EZKIT-LITE board support. | 10 | BF527-EZKIT-LITE board support. |
11 | 11 | ||
12 | config BFIN527_BLUETECHNIX_CM | ||
13 | bool "Bluetechnix CM-BF527" | ||
14 | help | ||
15 | CM-BF527 support for EVAL- and DEV-Board. | ||
16 | |||
12 | endchoice | 17 | endchoice |
diff --git a/arch/blackfin/mach-bf527/boards/Makefile b/arch/blackfin/mach-bf527/boards/Makefile index 7277d35ef111..7ba7d256bbb8 100644 --- a/arch/blackfin/mach-bf527/boards/Makefile +++ b/arch/blackfin/mach-bf527/boards/Makefile | |||
@@ -3,3 +3,4 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | obj-$(CONFIG_BFIN527_EZKIT) += ezkit.o | 5 | obj-$(CONFIG_BFIN527_EZKIT) += ezkit.o |
6 | obj-$(CONFIG_BFIN527_BLUETECHNIX_CM) += cm_bf527.o | ||
diff --git a/arch/blackfin/mach-bf527/boards/cm_bf527.c b/arch/blackfin/mach-bf527/boards/cm_bf527.c new file mode 100644 index 000000000000..0b26ae2de5ee --- /dev/null +++ b/arch/blackfin/mach-bf527/boards/cm_bf527.c | |||
@@ -0,0 +1,1011 @@ | |||
1 | /* | ||
2 | * File: arch/blackfin/mach-bf527/boards/cm-bf527.c | ||
3 | * Based on: arch/blackfin/mach-bf537/boards/stamp.c | ||
4 | * Author: Aidan Williams <aidan@nicta.com.au> | ||
5 | * | ||
6 | * Created: | ||
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2008 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | ||
30 | |||
31 | #include <linux/device.h> | ||
32 | #include <linux/platform_device.h> | ||
33 | #include <linux/mtd/mtd.h> | ||
34 | #include <linux/mtd/partitions.h> | ||
35 | #include <linux/mtd/physmap.h> | ||
36 | #include <linux/spi/spi.h> | ||
37 | #include <linux/spi/flash.h> | ||
38 | #include <linux/etherdevice.h> | ||
39 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | ||
40 | #include <linux/usb/isp1362.h> | ||
41 | #endif | ||
42 | #include <linux/pata_platform.h> | ||
43 | #include <linux/i2c.h> | ||
44 | #include <linux/irq.h> | ||
45 | #include <linux/interrupt.h> | ||
46 | #include <linux/usb/sl811.h> | ||
47 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) | ||
48 | #include <linux/usb/musb.h> | ||
49 | #endif | ||
50 | #include <asm/cplb.h> | ||
51 | #include <asm/dma.h> | ||
52 | #include <asm/bfin5xx_spi.h> | ||
53 | #include <asm/reboot.h> | ||
54 | #include <asm/nand.h> | ||
55 | #include <asm/portmux.h> | ||
56 | #include <asm/dpmc.h> | ||
57 | #include <linux/spi/ad7877.h> | ||
58 | |||
59 | /* | ||
60 | * Name the Board for the /proc/cpuinfo | ||
61 | */ | ||
62 | const char bfin_board_name[] = "Bluetechnix CM-BF527"; | ||
63 | |||
64 | /* | ||
65 | * Driver needs to know address, irq and flag pin. | ||
66 | */ | ||
67 | |||
68 | #define ISP1761_BASE 0x203C0000 | ||
69 | #define ISP1761_IRQ IRQ_PF7 | ||
70 | |||
71 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | ||
72 | static struct resource bfin_isp1761_resources[] = { | ||
73 | [0] = { | ||
74 | .name = "isp1761-regs", | ||
75 | .start = ISP1761_BASE + 0x00000000, | ||
76 | .end = ISP1761_BASE + 0x000fffff, | ||
77 | .flags = IORESOURCE_MEM, | ||
78 | }, | ||
79 | [1] = { | ||
80 | .start = ISP1761_IRQ, | ||
81 | .end = ISP1761_IRQ, | ||
82 | .flags = IORESOURCE_IRQ, | ||
83 | }, | ||
84 | }; | ||
85 | |||
86 | static struct platform_device bfin_isp1761_device = { | ||
87 | .name = "isp1761", | ||
88 | .id = 0, | ||
89 | .num_resources = ARRAY_SIZE(bfin_isp1761_resources), | ||
90 | .resource = bfin_isp1761_resources, | ||
91 | }; | ||
92 | |||
93 | static struct platform_device *bfin_isp1761_devices[] = { | ||
94 | &bfin_isp1761_device, | ||
95 | }; | ||
96 | |||
97 | int __init bfin_isp1761_init(void) | ||
98 | { | ||
99 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); | ||
100 | |||
101 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | ||
102 | set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); | ||
103 | |||
104 | return platform_add_devices(bfin_isp1761_devices, num_devices); | ||
105 | } | ||
106 | |||
107 | void __exit bfin_isp1761_exit(void) | ||
108 | { | ||
109 | platform_device_unregister(&bfin_isp1761_device); | ||
110 | } | ||
111 | |||
112 | arch_initcall(bfin_isp1761_init); | ||
113 | #endif | ||
114 | |||
115 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) | ||
116 | static struct resource musb_resources[] = { | ||
117 | [0] = { | ||
118 | .start = 0xffc03800, | ||
119 | .end = 0xffc03cff, | ||
120 | .flags = IORESOURCE_MEM, | ||
121 | }, | ||
122 | [1] = { /* general IRQ */ | ||
123 | .start = IRQ_USB_INT0, | ||
124 | .end = IRQ_USB_INT0, | ||
125 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
126 | }, | ||
127 | [2] = { /* DMA IRQ */ | ||
128 | .start = IRQ_USB_DMA, | ||
129 | .end = IRQ_USB_DMA, | ||
130 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
131 | }, | ||
132 | }; | ||
133 | |||
134 | static struct musb_hdrc_platform_data musb_plat = { | ||
135 | #if defined(CONFIG_USB_MUSB_OTG) | ||
136 | .mode = MUSB_OTG, | ||
137 | #elif defined(CONFIG_USB_MUSB_HDRC_HCD) | ||
138 | .mode = MUSB_HOST, | ||
139 | #elif defined(CONFIG_USB_GADGET_MUSB_HDRC) | ||
140 | .mode = MUSB_PERIPHERAL, | ||
141 | #endif | ||
142 | .multipoint = 0, | ||
143 | }; | ||
144 | |||
145 | static u64 musb_dmamask = ~(u32)0; | ||
146 | |||
147 | static struct platform_device musb_device = { | ||
148 | .name = "musb_hdrc", | ||
149 | .id = 0, | ||
150 | .dev = { | ||
151 | .dma_mask = &musb_dmamask, | ||
152 | .coherent_dma_mask = 0xffffffff, | ||
153 | .platform_data = &musb_plat, | ||
154 | }, | ||
155 | .num_resources = ARRAY_SIZE(musb_resources), | ||
156 | .resource = musb_resources, | ||
157 | }; | ||
158 | #endif | ||
159 | |||
160 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | ||
161 | static struct mtd_partition ezkit_partitions[] = { | ||
162 | { | ||
163 | .name = "Bootloader", | ||
164 | .size = 0x40000, | ||
165 | .offset = 0, | ||
166 | }, { | ||
167 | .name = "Kernel", | ||
168 | .size = 0x1C0000, | ||
169 | .offset = MTDPART_OFS_APPEND, | ||
170 | }, { | ||
171 | .name = "RootFS", | ||
172 | .size = MTDPART_SIZ_FULL, | ||
173 | .offset = MTDPART_OFS_APPEND, | ||
174 | } | ||
175 | }; | ||
176 | |||
177 | static struct physmap_flash_data ezkit_flash_data = { | ||
178 | .width = 2, | ||
179 | .parts = ezkit_partitions, | ||
180 | .nr_parts = ARRAY_SIZE(ezkit_partitions), | ||
181 | }; | ||
182 | |||
183 | static struct resource ezkit_flash_resource = { | ||
184 | .start = 0x20000000, | ||
185 | .end = 0x201fffff, | ||
186 | .flags = IORESOURCE_MEM, | ||
187 | }; | ||
188 | |||
189 | static struct platform_device ezkit_flash_device = { | ||
190 | .name = "physmap-flash", | ||
191 | .id = 0, | ||
192 | .dev = { | ||
193 | .platform_data = &ezkit_flash_data, | ||
194 | }, | ||
195 | .num_resources = 1, | ||
196 | .resource = &ezkit_flash_resource, | ||
197 | }; | ||
198 | #endif | ||
199 | |||
200 | #if defined(CONFIG_MTD_NAND_BF5XX) || defined(CONFIG_MTD_NAND_BF5XX_MODULE) | ||
201 | static struct mtd_partition partition_info[] = { | ||
202 | { | ||
203 | .name = "Linux Kernel", | ||
204 | .offset = 0, | ||
205 | .size = 4 * SIZE_1M, | ||
206 | }, | ||
207 | { | ||
208 | .name = "File System", | ||
209 | .offset = MTDPART_OFS_APPEND, | ||
210 | .size = MTDPART_SIZ_FULL, | ||
211 | }, | ||
212 | }; | ||
213 | |||
214 | static struct bf5xx_nand_platform bf5xx_nand_platform = { | ||
215 | .page_size = NFC_PG_SIZE_256, | ||
216 | .data_width = NFC_NWIDTH_8, | ||
217 | .partitions = partition_info, | ||
218 | .nr_partitions = ARRAY_SIZE(partition_info), | ||
219 | .rd_dly = 3, | ||
220 | .wr_dly = 3, | ||
221 | }; | ||
222 | |||
223 | static struct resource bf5xx_nand_resources[] = { | ||
224 | { | ||
225 | .start = NFC_CTL, | ||
226 | .end = NFC_DATA_RD + 2, | ||
227 | .flags = IORESOURCE_MEM, | ||
228 | }, | ||
229 | { | ||
230 | .start = CH_NFC, | ||
231 | .end = CH_NFC, | ||
232 | .flags = IORESOURCE_IRQ, | ||
233 | }, | ||
234 | }; | ||
235 | |||
236 | static struct platform_device bf5xx_nand_device = { | ||
237 | .name = "bf5xx-nand", | ||
238 | .id = 0, | ||
239 | .num_resources = ARRAY_SIZE(bf5xx_nand_resources), | ||
240 | .resource = bf5xx_nand_resources, | ||
241 | .dev = { | ||
242 | .platform_data = &bf5xx_nand_platform, | ||
243 | }, | ||
244 | }; | ||
245 | #endif | ||
246 | |||
247 | #if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) | ||
248 | static struct resource bfin_pcmcia_cf_resources[] = { | ||
249 | { | ||
250 | .start = 0x20310000, /* IO PORT */ | ||
251 | .end = 0x20312000, | ||
252 | .flags = IORESOURCE_MEM, | ||
253 | }, { | ||
254 | .start = 0x20311000, /* Attribute Memory */ | ||
255 | .end = 0x20311FFF, | ||
256 | .flags = IORESOURCE_MEM, | ||
257 | }, { | ||
258 | .start = IRQ_PF4, | ||
259 | .end = IRQ_PF4, | ||
260 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, | ||
261 | }, { | ||
262 | .start = 6, /* Card Detect PF6 */ | ||
263 | .end = 6, | ||
264 | .flags = IORESOURCE_IRQ, | ||
265 | }, | ||
266 | }; | ||
267 | |||
268 | static struct platform_device bfin_pcmcia_cf_device = { | ||
269 | .name = "bfin_cf_pcmcia", | ||
270 | .id = -1, | ||
271 | .num_resources = ARRAY_SIZE(bfin_pcmcia_cf_resources), | ||
272 | .resource = bfin_pcmcia_cf_resources, | ||
273 | }; | ||
274 | #endif | ||
275 | |||
276 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) | ||
277 | static struct platform_device rtc_device = { | ||
278 | .name = "rtc-bfin", | ||
279 | .id = -1, | ||
280 | }; | ||
281 | #endif | ||
282 | |||
283 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) | ||
284 | static struct resource smc91x_resources[] = { | ||
285 | { | ||
286 | .name = "smc91x-regs", | ||
287 | .start = 0x20300300, | ||
288 | .end = 0x20300300 + 16, | ||
289 | .flags = IORESOURCE_MEM, | ||
290 | }, { | ||
291 | |||
292 | .start = IRQ_PF7, | ||
293 | .end = IRQ_PF7, | ||
294 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
295 | }, | ||
296 | }; | ||
297 | static struct platform_device smc91x_device = { | ||
298 | .name = "smc91x", | ||
299 | .id = 0, | ||
300 | .num_resources = ARRAY_SIZE(smc91x_resources), | ||
301 | .resource = smc91x_resources, | ||
302 | }; | ||
303 | #endif | ||
304 | |||
305 | #if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE) | ||
306 | static struct resource dm9000_resources[] = { | ||
307 | [0] = { | ||
308 | .start = 0x203FB800, | ||
309 | .end = 0x203FB800 + 8, | ||
310 | .flags = IORESOURCE_MEM, | ||
311 | }, | ||
312 | [1] = { | ||
313 | .start = IRQ_PF9, | ||
314 | .end = IRQ_PF9, | ||
315 | .flags = (IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE), | ||
316 | }, | ||
317 | }; | ||
318 | |||
319 | static struct platform_device dm9000_device = { | ||
320 | .name = "dm9000", | ||
321 | .id = -1, | ||
322 | .num_resources = ARRAY_SIZE(dm9000_resources), | ||
323 | .resource = dm9000_resources, | ||
324 | }; | ||
325 | #endif | ||
326 | |||
327 | #if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) | ||
328 | static struct resource sl811_hcd_resources[] = { | ||
329 | { | ||
330 | .start = 0x20340000, | ||
331 | .end = 0x20340000, | ||
332 | .flags = IORESOURCE_MEM, | ||
333 | }, { | ||
334 | .start = 0x20340004, | ||
335 | .end = 0x20340004, | ||
336 | .flags = IORESOURCE_MEM, | ||
337 | }, { | ||
338 | .start = CONFIG_USB_SL811_BFIN_IRQ, | ||
339 | .end = CONFIG_USB_SL811_BFIN_IRQ, | ||
340 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
341 | }, | ||
342 | }; | ||
343 | |||
344 | #if defined(CONFIG_USB_SL811_BFIN_USE_VBUS) | ||
345 | void sl811_port_power(struct device *dev, int is_on) | ||
346 | { | ||
347 | gpio_request(CONFIG_USB_SL811_BFIN_GPIO_VBUS, "usb:SL811_VBUS"); | ||
348 | gpio_direction_output(CONFIG_USB_SL811_BFIN_GPIO_VBUS, is_on); | ||
349 | } | ||
350 | #endif | ||
351 | |||
352 | static struct sl811_platform_data sl811_priv = { | ||
353 | .potpg = 10, | ||
354 | .power = 250, /* == 500mA */ | ||
355 | #if defined(CONFIG_USB_SL811_BFIN_USE_VBUS) | ||
356 | .port_power = &sl811_port_power, | ||
357 | #endif | ||
358 | }; | ||
359 | |||
360 | static struct platform_device sl811_hcd_device = { | ||
361 | .name = "sl811-hcd", | ||
362 | .id = 0, | ||
363 | .dev = { | ||
364 | .platform_data = &sl811_priv, | ||
365 | }, | ||
366 | .num_resources = ARRAY_SIZE(sl811_hcd_resources), | ||
367 | .resource = sl811_hcd_resources, | ||
368 | }; | ||
369 | #endif | ||
370 | |||
371 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | ||
372 | static struct resource isp1362_hcd_resources[] = { | ||
373 | { | ||
374 | .start = 0x20360000, | ||
375 | .end = 0x20360000, | ||
376 | .flags = IORESOURCE_MEM, | ||
377 | }, { | ||
378 | .start = 0x20360004, | ||
379 | .end = 0x20360004, | ||
380 | .flags = IORESOURCE_MEM, | ||
381 | }, { | ||
382 | .start = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ, | ||
383 | .end = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ, | ||
384 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
385 | }, | ||
386 | }; | ||
387 | |||
388 | static struct isp1362_platform_data isp1362_priv = { | ||
389 | .sel15Kres = 1, | ||
390 | .clknotstop = 0, | ||
391 | .oc_enable = 0, | ||
392 | .int_act_high = 0, | ||
393 | .int_edge_triggered = 0, | ||
394 | .remote_wakeup_connected = 0, | ||
395 | .no_power_switching = 1, | ||
396 | .power_switching_mode = 0, | ||
397 | }; | ||
398 | |||
399 | static struct platform_device isp1362_hcd_device = { | ||
400 | .name = "isp1362-hcd", | ||
401 | .id = 0, | ||
402 | .dev = { | ||
403 | .platform_data = &isp1362_priv, | ||
404 | }, | ||
405 | .num_resources = ARRAY_SIZE(isp1362_hcd_resources), | ||
406 | .resource = isp1362_hcd_resources, | ||
407 | }; | ||
408 | #endif | ||
409 | |||
410 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | ||
411 | static struct platform_device bfin_mac_device = { | ||
412 | .name = "bfin_mac", | ||
413 | }; | ||
414 | #endif | ||
415 | |||
416 | #if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE) | ||
417 | static struct resource net2272_bfin_resources[] = { | ||
418 | { | ||
419 | .start = 0x20300000, | ||
420 | .end = 0x20300000 + 0x100, | ||
421 | .flags = IORESOURCE_MEM, | ||
422 | }, { | ||
423 | .start = IRQ_PF7, | ||
424 | .end = IRQ_PF7, | ||
425 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, | ||
426 | }, | ||
427 | }; | ||
428 | |||
429 | static struct platform_device net2272_bfin_device = { | ||
430 | .name = "net2272", | ||
431 | .id = -1, | ||
432 | .num_resources = ARRAY_SIZE(net2272_bfin_resources), | ||
433 | .resource = net2272_bfin_resources, | ||
434 | }; | ||
435 | #endif | ||
436 | |||
437 | #if defined(CONFIG_MTD_M25P80) \ | ||
438 | || defined(CONFIG_MTD_M25P80_MODULE) | ||
439 | static struct mtd_partition bfin_spi_flash_partitions[] = { | ||
440 | { | ||
441 | .name = "bootloader", | ||
442 | .size = 0x00040000, | ||
443 | .offset = 0, | ||
444 | .mask_flags = MTD_CAP_ROM | ||
445 | }, { | ||
446 | .name = "linux kernel", | ||
447 | .size = MTDPART_SIZ_FULL, | ||
448 | .offset = MTDPART_OFS_APPEND, | ||
449 | } | ||
450 | }; | ||
451 | |||
452 | static struct flash_platform_data bfin_spi_flash_data = { | ||
453 | .name = "m25p80", | ||
454 | .parts = bfin_spi_flash_partitions, | ||
455 | .nr_parts = ARRAY_SIZE(bfin_spi_flash_partitions), | ||
456 | .type = "m25p16", | ||
457 | }; | ||
458 | |||
459 | /* SPI flash chip (m25p64) */ | ||
460 | static struct bfin5xx_spi_chip spi_flash_chip_info = { | ||
461 | .enable_dma = 0, /* use dma transfer with this chip*/ | ||
462 | .bits_per_word = 8, | ||
463 | }; | ||
464 | #endif | ||
465 | |||
466 | #if defined(CONFIG_SPI_ADC_BF533) \ | ||
467 | || defined(CONFIG_SPI_ADC_BF533_MODULE) | ||
468 | /* SPI ADC chip */ | ||
469 | static struct bfin5xx_spi_chip spi_adc_chip_info = { | ||
470 | .enable_dma = 1, /* use dma transfer with this chip*/ | ||
471 | .bits_per_word = 16, | ||
472 | }; | ||
473 | #endif | ||
474 | |||
475 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | ||
476 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | ||
477 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | ||
478 | .enable_dma = 0, | ||
479 | .bits_per_word = 16, | ||
480 | }; | ||
481 | #endif | ||
482 | |||
483 | #if defined(CONFIG_AD9960) || defined(CONFIG_AD9960_MODULE) | ||
484 | static struct bfin5xx_spi_chip ad9960_spi_chip_info = { | ||
485 | .enable_dma = 0, | ||
486 | .bits_per_word = 16, | ||
487 | }; | ||
488 | #endif | ||
489 | |||
490 | #if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) | ||
491 | static struct bfin5xx_spi_chip spi_mmc_chip_info = { | ||
492 | .enable_dma = 1, | ||
493 | .bits_per_word = 8, | ||
494 | }; | ||
495 | #endif | ||
496 | |||
497 | #if defined(CONFIG_PBX) | ||
498 | static struct bfin5xx_spi_chip spi_si3xxx_chip_info = { | ||
499 | .ctl_reg = 0x4, /* send zero */ | ||
500 | .enable_dma = 0, | ||
501 | .bits_per_word = 8, | ||
502 | .cs_change_per_word = 1, | ||
503 | }; | ||
504 | #endif | ||
505 | |||
506 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | ||
507 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { | ||
508 | .enable_dma = 0, | ||
509 | .bits_per_word = 16, | ||
510 | }; | ||
511 | |||
512 | static const struct ad7877_platform_data bfin_ad7877_ts_info = { | ||
513 | .model = 7877, | ||
514 | .vref_delay_usecs = 50, /* internal, no capacitor */ | ||
515 | .x_plate_ohms = 419, | ||
516 | .y_plate_ohms = 486, | ||
517 | .pressure_max = 1000, | ||
518 | .pressure_min = 0, | ||
519 | .stopacq_polarity = 1, | ||
520 | .first_conversion_delay = 3, | ||
521 | .acquisition_time = 1, | ||
522 | .averaging = 1, | ||
523 | .pen_down_acc_interval = 1, | ||
524 | }; | ||
525 | #endif | ||
526 | |||
527 | #if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \ | ||
528 | && defined(CONFIG_SND_SOC_WM8731_SPI) | ||
529 | static struct bfin5xx_spi_chip spi_wm8731_chip_info = { | ||
530 | .enable_dma = 0, | ||
531 | .bits_per_word = 16, | ||
532 | }; | ||
533 | #endif | ||
534 | |||
535 | #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) | ||
536 | static struct bfin5xx_spi_chip spidev_chip_info = { | ||
537 | .enable_dma = 0, | ||
538 | .bits_per_word = 8, | ||
539 | }; | ||
540 | #endif | ||
541 | |||
542 | static struct spi_board_info bfin_spi_board_info[] __initdata = { | ||
543 | #if defined(CONFIG_MTD_M25P80) \ | ||
544 | || defined(CONFIG_MTD_M25P80_MODULE) | ||
545 | { | ||
546 | /* the modalias must be the same as spi device driver name */ | ||
547 | .modalias = "m25p80", /* Name of spi_driver for this device */ | ||
548 | .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ | ||
549 | .bus_num = 0, /* Framework bus number */ | ||
550 | .chip_select = 1, /* Framework chip select. On STAMP537 it is SPISSEL1*/ | ||
551 | .platform_data = &bfin_spi_flash_data, | ||
552 | .controller_data = &spi_flash_chip_info, | ||
553 | .mode = SPI_MODE_3, | ||
554 | }, | ||
555 | #endif | ||
556 | |||
557 | #if defined(CONFIG_SPI_ADC_BF533) \ | ||
558 | || defined(CONFIG_SPI_ADC_BF533_MODULE) | ||
559 | { | ||
560 | .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ | ||
561 | .max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */ | ||
562 | .bus_num = 0, /* Framework bus number */ | ||
563 | .chip_select = 1, /* Framework chip select. */ | ||
564 | .platform_data = NULL, /* No spi_driver specific config */ | ||
565 | .controller_data = &spi_adc_chip_info, | ||
566 | }, | ||
567 | #endif | ||
568 | |||
569 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | ||
570 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | ||
571 | { | ||
572 | .modalias = "ad1836-spi", | ||
573 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | ||
574 | .bus_num = 0, | ||
575 | .chip_select = CONFIG_SND_BLACKFIN_SPI_PFBIT, | ||
576 | .controller_data = &ad1836_spi_chip_info, | ||
577 | }, | ||
578 | #endif | ||
579 | #if defined(CONFIG_AD9960) || defined(CONFIG_AD9960_MODULE) | ||
580 | { | ||
581 | .modalias = "ad9960-spi", | ||
582 | .max_speed_hz = 10000000, /* max spi clock (SCK) speed in HZ */ | ||
583 | .bus_num = 0, | ||
584 | .chip_select = 1, | ||
585 | .controller_data = &ad9960_spi_chip_info, | ||
586 | }, | ||
587 | #endif | ||
588 | #if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) | ||
589 | { | ||
590 | .modalias = "spi_mmc_dummy", | ||
591 | .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ | ||
592 | .bus_num = 0, | ||
593 | .chip_select = 0, | ||
594 | .platform_data = NULL, | ||
595 | .controller_data = &spi_mmc_chip_info, | ||
596 | .mode = SPI_MODE_3, | ||
597 | }, | ||
598 | { | ||
599 | .modalias = "spi_mmc", | ||
600 | .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ | ||
601 | .bus_num = 0, | ||
602 | .chip_select = CONFIG_SPI_MMC_CS_CHAN, | ||
603 | .platform_data = NULL, | ||
604 | .controller_data = &spi_mmc_chip_info, | ||
605 | .mode = SPI_MODE_3, | ||
606 | }, | ||
607 | #endif | ||
608 | #if defined(CONFIG_PBX) | ||
609 | { | ||
610 | .modalias = "fxs-spi", | ||
611 | .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ | ||
612 | .bus_num = 0, | ||
613 | .chip_select = 8 - CONFIG_J11_JUMPER, | ||
614 | .controller_data = &spi_si3xxx_chip_info, | ||
615 | .mode = SPI_MODE_3, | ||
616 | }, | ||
617 | { | ||
618 | .modalias = "fxo-spi", | ||
619 | .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ | ||
620 | .bus_num = 0, | ||
621 | .chip_select = 8 - CONFIG_J19_JUMPER, | ||
622 | .controller_data = &spi_si3xxx_chip_info, | ||
623 | .mode = SPI_MODE_3, | ||
624 | }, | ||
625 | #endif | ||
626 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | ||
627 | { | ||
628 | .modalias = "ad7877", | ||
629 | .platform_data = &bfin_ad7877_ts_info, | ||
630 | .irq = IRQ_PF8, | ||
631 | .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ | ||
632 | .bus_num = 0, | ||
633 | .chip_select = 2, | ||
634 | .controller_data = &spi_ad7877_chip_info, | ||
635 | }, | ||
636 | #endif | ||
637 | #if defined(CONFIG_SND_SOC_WM8731) || defined(CONFIG_SND_SOC_WM8731_MODULE) \ | ||
638 | && defined(CONFIG_SND_SOC_WM8731_SPI) | ||
639 | { | ||
640 | .modalias = "wm8731", | ||
641 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | ||
642 | .bus_num = 0, | ||
643 | .chip_select = 5, | ||
644 | .controller_data = &spi_wm8731_chip_info, | ||
645 | .mode = SPI_MODE_0, | ||
646 | }, | ||
647 | #endif | ||
648 | #if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) | ||
649 | { | ||
650 | .modalias = "spidev", | ||
651 | .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ | ||
652 | .bus_num = 0, | ||
653 | .chip_select = 1, | ||
654 | .controller_data = &spidev_chip_info, | ||
655 | }, | ||
656 | #endif | ||
657 | }; | ||
658 | |||
659 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
660 | /* SPI controller data */ | ||
661 | static struct bfin5xx_spi_master bfin_spi0_info = { | ||
662 | .num_chipselect = 8, | ||
663 | .enable_dma = 1, /* master has the ability to do dma transfer */ | ||
664 | .pin_req = {P_SPI0_SCK, P_SPI0_MISO, P_SPI0_MOSI, 0}, | ||
665 | }; | ||
666 | |||
667 | /* SPI (0) */ | ||
668 | static struct resource bfin_spi0_resource[] = { | ||
669 | [0] = { | ||
670 | .start = SPI0_REGBASE, | ||
671 | .end = SPI0_REGBASE + 0xFF, | ||
672 | .flags = IORESOURCE_MEM, | ||
673 | }, | ||
674 | [1] = { | ||
675 | .start = CH_SPI, | ||
676 | .end = CH_SPI, | ||
677 | .flags = IORESOURCE_IRQ, | ||
678 | }, | ||
679 | }; | ||
680 | |||
681 | static struct platform_device bfin_spi0_device = { | ||
682 | .name = "bfin-spi", | ||
683 | .id = 0, /* Bus number */ | ||
684 | .num_resources = ARRAY_SIZE(bfin_spi0_resource), | ||
685 | .resource = bfin_spi0_resource, | ||
686 | .dev = { | ||
687 | .platform_data = &bfin_spi0_info, /* Passed to driver */ | ||
688 | }, | ||
689 | }; | ||
690 | #endif /* spi master and devices */ | ||
691 | |||
692 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
693 | static struct platform_device bfin_fb_adv7393_device = { | ||
694 | .name = "bfin-adv7393", | ||
695 | }; | ||
696 | #endif | ||
697 | |||
698 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | ||
699 | static struct resource bfin_uart_resources[] = { | ||
700 | #ifdef CONFIG_SERIAL_BFIN_UART0 | ||
701 | { | ||
702 | .start = 0xFFC00400, | ||
703 | .end = 0xFFC004FF, | ||
704 | .flags = IORESOURCE_MEM, | ||
705 | }, | ||
706 | #endif | ||
707 | #ifdef CONFIG_SERIAL_BFIN_UART1 | ||
708 | { | ||
709 | .start = 0xFFC02000, | ||
710 | .end = 0xFFC020FF, | ||
711 | .flags = IORESOURCE_MEM, | ||
712 | }, | ||
713 | #endif | ||
714 | }; | ||
715 | |||
716 | static struct platform_device bfin_uart_device = { | ||
717 | .name = "bfin-uart", | ||
718 | .id = 1, | ||
719 | .num_resources = ARRAY_SIZE(bfin_uart_resources), | ||
720 | .resource = bfin_uart_resources, | ||
721 | }; | ||
722 | #endif | ||
723 | |||
724 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
725 | static struct resource bfin_sir_resources[] = { | ||
726 | #ifdef CONFIG_BFIN_SIR0 | ||
727 | { | ||
728 | .start = 0xFFC00400, | ||
729 | .end = 0xFFC004FF, | ||
730 | .flags = IORESOURCE_MEM, | ||
731 | }, | ||
732 | #endif | ||
733 | #ifdef CONFIG_BFIN_SIR1 | ||
734 | { | ||
735 | .start = 0xFFC02000, | ||
736 | .end = 0xFFC020FF, | ||
737 | .flags = IORESOURCE_MEM, | ||
738 | }, | ||
739 | #endif | ||
740 | }; | ||
741 | |||
742 | static struct platform_device bfin_sir_device = { | ||
743 | .name = "bfin_sir", | ||
744 | .id = 0, | ||
745 | .num_resources = ARRAY_SIZE(bfin_sir_resources), | ||
746 | .resource = bfin_sir_resources, | ||
747 | }; | ||
748 | #endif | ||
749 | |||
750 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | ||
751 | static struct resource bfin_twi0_resource[] = { | ||
752 | [0] = { | ||
753 | .start = TWI0_REGBASE, | ||
754 | .end = TWI0_REGBASE, | ||
755 | .flags = IORESOURCE_MEM, | ||
756 | }, | ||
757 | [1] = { | ||
758 | .start = IRQ_TWI, | ||
759 | .end = IRQ_TWI, | ||
760 | .flags = IORESOURCE_IRQ, | ||
761 | }, | ||
762 | }; | ||
763 | |||
764 | static struct platform_device i2c_bfin_twi_device = { | ||
765 | .name = "i2c-bfin-twi", | ||
766 | .id = 0, | ||
767 | .num_resources = ARRAY_SIZE(bfin_twi0_resource), | ||
768 | .resource = bfin_twi0_resource, | ||
769 | }; | ||
770 | #endif | ||
771 | |||
772 | #ifdef CONFIG_I2C_BOARDINFO | ||
773 | static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | ||
774 | #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) | ||
775 | { | ||
776 | I2C_BOARD_INFO("pcf8574_lcd", 0x22), | ||
777 | .type = "pcf8574_lcd", | ||
778 | }, | ||
779 | #endif | ||
780 | #if defined(CONFIG_TWI_KEYPAD) || defined(CONFIG_TWI_KEYPAD_MODULE) | ||
781 | { | ||
782 | I2C_BOARD_INFO("pcf8574_keypad", 0x27), | ||
783 | .type = "pcf8574_keypad", | ||
784 | .irq = IRQ_PF8, | ||
785 | }, | ||
786 | #endif | ||
787 | }; | ||
788 | #endif | ||
789 | |||
790 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | ||
791 | static struct platform_device bfin_sport0_uart_device = { | ||
792 | .name = "bfin-sport-uart", | ||
793 | .id = 0, | ||
794 | }; | ||
795 | |||
796 | static struct platform_device bfin_sport1_uart_device = { | ||
797 | .name = "bfin-sport-uart", | ||
798 | .id = 1, | ||
799 | }; | ||
800 | #endif | ||
801 | |||
802 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | ||
803 | #define PATA_INT 55 | ||
804 | |||
805 | static struct pata_platform_info bfin_pata_platform_data = { | ||
806 | .ioport_shift = 1, | ||
807 | .irq_type = IRQF_TRIGGER_HIGH | IRQF_DISABLED, | ||
808 | }; | ||
809 | |||
810 | static struct resource bfin_pata_resources[] = { | ||
811 | { | ||
812 | .start = 0x20314020, | ||
813 | .end = 0x2031403F, | ||
814 | .flags = IORESOURCE_MEM, | ||
815 | }, | ||
816 | { | ||
817 | .start = 0x2031401C, | ||
818 | .end = 0x2031401F, | ||
819 | .flags = IORESOURCE_MEM, | ||
820 | }, | ||
821 | { | ||
822 | .start = PATA_INT, | ||
823 | .end = PATA_INT, | ||
824 | .flags = IORESOURCE_IRQ, | ||
825 | }, | ||
826 | }; | ||
827 | |||
828 | static struct platform_device bfin_pata_device = { | ||
829 | .name = "pata_platform", | ||
830 | .id = -1, | ||
831 | .num_resources = ARRAY_SIZE(bfin_pata_resources), | ||
832 | .resource = bfin_pata_resources, | ||
833 | .dev = { | ||
834 | .platform_data = &bfin_pata_platform_data, | ||
835 | } | ||
836 | }; | ||
837 | #endif | ||
838 | |||
839 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | ||
840 | #include <linux/input.h> | ||
841 | #include <linux/gpio_keys.h> | ||
842 | |||
843 | static struct gpio_keys_button bfin_gpio_keys_table[] = { | ||
844 | {BTN_0, GPIO_PF14, 1, "gpio-keys: BTN0"}, | ||
845 | }; | ||
846 | |||
847 | static struct gpio_keys_platform_data bfin_gpio_keys_data = { | ||
848 | .buttons = bfin_gpio_keys_table, | ||
849 | .nbuttons = ARRAY_SIZE(bfin_gpio_keys_table), | ||
850 | }; | ||
851 | |||
852 | static struct platform_device bfin_device_gpiokeys = { | ||
853 | .name = "gpio-keys", | ||
854 | .dev = { | ||
855 | .platform_data = &bfin_gpio_keys_data, | ||
856 | }, | ||
857 | }; | ||
858 | #endif | ||
859 | |||
860 | static struct resource bfin_gpios_resources = { | ||
861 | .start = 0, | ||
862 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
863 | .flags = IORESOURCE_IRQ, | ||
864 | }; | ||
865 | |||
866 | static struct platform_device bfin_gpios_device = { | ||
867 | .name = "simple-gpio", | ||
868 | .id = -1, | ||
869 | .num_resources = 1, | ||
870 | .resource = &bfin_gpios_resources, | ||
871 | }; | ||
872 | |||
873 | static const unsigned int cclk_vlev_datasheet[] = | ||
874 | { | ||
875 | VRPAIR(VLEV_100, 400000000), | ||
876 | VRPAIR(VLEV_105, 426000000), | ||
877 | VRPAIR(VLEV_110, 500000000), | ||
878 | VRPAIR(VLEV_115, 533000000), | ||
879 | VRPAIR(VLEV_120, 600000000), | ||
880 | }; | ||
881 | |||
882 | static struct bfin_dpmc_platform_data bfin_dmpc_vreg_data = { | ||
883 | .tuple_tab = cclk_vlev_datasheet, | ||
884 | .tabsize = ARRAY_SIZE(cclk_vlev_datasheet), | ||
885 | .vr_settling_time = 25 /* us */, | ||
886 | }; | ||
887 | |||
888 | static struct platform_device bfin_dpmc = { | ||
889 | .name = "bfin dpmc", | ||
890 | .dev = { | ||
891 | .platform_data = &bfin_dmpc_vreg_data, | ||
892 | }, | ||
893 | }; | ||
894 | |||
895 | static struct platform_device *stamp_devices[] __initdata = { | ||
896 | |||
897 | &bfin_dpmc, | ||
898 | |||
899 | #if defined(CONFIG_MTD_NAND_BF5XX) || defined(CONFIG_MTD_NAND_BF5XX_MODULE) | ||
900 | &bf5xx_nand_device, | ||
901 | #endif | ||
902 | |||
903 | #if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) | ||
904 | &bfin_pcmcia_cf_device, | ||
905 | #endif | ||
906 | |||
907 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) | ||
908 | &rtc_device, | ||
909 | #endif | ||
910 | |||
911 | #if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) | ||
912 | &sl811_hcd_device, | ||
913 | #endif | ||
914 | |||
915 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | ||
916 | &isp1362_hcd_device, | ||
917 | #endif | ||
918 | |||
919 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) | ||
920 | &musb_device, | ||
921 | #endif | ||
922 | |||
923 | #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) | ||
924 | &smc91x_device, | ||
925 | #endif | ||
926 | |||
927 | #if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE) | ||
928 | &dm9000_device, | ||
929 | #endif | ||
930 | |||
931 | #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) | ||
932 | &bfin_mac_device, | ||
933 | #endif | ||
934 | |||
935 | #if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE) | ||
936 | &net2272_bfin_device, | ||
937 | #endif | ||
938 | |||
939 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
940 | &bfin_spi0_device, | ||
941 | #endif | ||
942 | |||
943 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
944 | &bfin_fb_adv7393_device, | ||
945 | #endif | ||
946 | |||
947 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | ||
948 | &bfin_uart_device, | ||
949 | #endif | ||
950 | |||
951 | #if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) | ||
952 | &bfin_sir_device, | ||
953 | #endif | ||
954 | |||
955 | #if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) | ||
956 | &i2c_bfin_twi_device, | ||
957 | #endif | ||
958 | |||
959 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | ||
960 | &bfin_sport0_uart_device, | ||
961 | &bfin_sport1_uart_device, | ||
962 | #endif | ||
963 | |||
964 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | ||
965 | &bfin_pata_device, | ||
966 | #endif | ||
967 | |||
968 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | ||
969 | &bfin_device_gpiokeys, | ||
970 | #endif | ||
971 | |||
972 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | ||
973 | &ezkit_flash_device, | ||
974 | #endif | ||
975 | |||
976 | &bfin_gpios_device, | ||
977 | }; | ||
978 | |||
979 | static int __init stamp_init(void) | ||
980 | { | ||
981 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | ||
982 | |||
983 | #ifdef CONFIG_I2C_BOARDINFO | ||
984 | i2c_register_board_info(0, bfin_i2c_board_info, | ||
985 | ARRAY_SIZE(bfin_i2c_board_info)); | ||
986 | #endif | ||
987 | |||
988 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); | ||
989 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | ||
990 | |||
991 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | ||
992 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; | ||
993 | #endif | ||
994 | return 0; | ||
995 | } | ||
996 | |||
997 | arch_initcall(stamp_init); | ||
998 | |||
999 | void native_machine_restart(char *cmd) | ||
1000 | { | ||
1001 | /* workaround reboot hang when booting from SPI */ | ||
1002 | if ((bfin_read_SYSCR() & 0x7) == 0x3) | ||
1003 | bfin_gpio_reset_spi0_ssel1(); | ||
1004 | } | ||
1005 | |||
1006 | void bfin_get_ether_addr(char *addr) | ||
1007 | { | ||
1008 | random_ether_addr(addr); | ||
1009 | printk(KERN_WARNING "%s:%s: Setting Ethernet MAC to a random one\n", __FILE__, __func__); | ||
1010 | } | ||
1011 | EXPORT_SYMBOL(bfin_get_ether_addr); | ||
diff --git a/arch/blackfin/mach-bf527/head.S b/arch/blackfin/mach-bf527/head.S index 57bdb3ba2fed..fe05cc1ef174 100644 --- a/arch/blackfin/mach-bf527/head.S +++ b/arch/blackfin/mach-bf527/head.S | |||
@@ -32,7 +32,7 @@ | |||
32 | #include <asm/blackfin.h> | 32 | #include <asm/blackfin.h> |
33 | #include <asm/trace.h> | 33 | #include <asm/trace.h> |
34 | 34 | ||
35 | #if CONFIG_BFIN_KERNEL_CLOCK | 35 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
36 | #include <asm/mach-common/clocks.h> | 36 | #include <asm/mach-common/clocks.h> |
37 | #include <asm/mach/mem_init.h> | 37 | #include <asm/mach/mem_init.h> |
38 | #endif | 38 | #endif |
@@ -185,7 +185,7 @@ ENTRY(__start) | |||
185 | 185 | ||
186 | /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ | 186 | /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ |
187 | call _bf53x_relocate_l1_mem; | 187 | call _bf53x_relocate_l1_mem; |
188 | #if CONFIG_BFIN_KERNEL_CLOCK | 188 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
189 | call _start_dma_code; | 189 | call _start_dma_code; |
190 | #endif | 190 | #endif |
191 | 191 | ||
@@ -318,7 +318,7 @@ ENDPROC(_real_start) | |||
318 | __FINIT | 318 | __FINIT |
319 | 319 | ||
320 | .section .l1.text | 320 | .section .l1.text |
321 | #if CONFIG_BFIN_KERNEL_CLOCK | 321 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
322 | ENTRY(_start_dma_code) | 322 | ENTRY(_start_dma_code) |
323 | 323 | ||
324 | /* Enable PHY CLK buffer output */ | 324 | /* Enable PHY CLK buffer output */ |
@@ -398,12 +398,6 @@ ENTRY(_start_dma_code) | |||
398 | w[p0] = r0.l; | 398 | w[p0] = r0.l; |
399 | ssync; | 399 | ssync; |
400 | 400 | ||
401 | p0.l = LO(EBIU_SDBCTL); | ||
402 | p0.h = HI(EBIU_SDBCTL); /* SDRAM Memory Bank Control Register */ | ||
403 | r0 = mem_SDBCTL; | ||
404 | w[p0] = r0.l; | ||
405 | ssync; | ||
406 | |||
407 | P2.H = hi(EBIU_SDGCTL); | 401 | P2.H = hi(EBIU_SDGCTL); |
408 | P2.L = lo(EBIU_SDGCTL); | 402 | P2.L = lo(EBIU_SDGCTL); |
409 | R0 = [P2]; | 403 | R0 = [P2]; |
diff --git a/arch/blackfin/mach-bf533/head.S b/arch/blackfin/mach-bf533/head.S index 1295deac00a4..c671e8549b17 100644 --- a/arch/blackfin/mach-bf533/head.S +++ b/arch/blackfin/mach-bf533/head.S | |||
@@ -31,7 +31,7 @@ | |||
31 | #include <linux/init.h> | 31 | #include <linux/init.h> |
32 | #include <asm/blackfin.h> | 32 | #include <asm/blackfin.h> |
33 | #include <asm/trace.h> | 33 | #include <asm/trace.h> |
34 | #if CONFIG_BFIN_KERNEL_CLOCK | 34 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
35 | #include <asm/mach-common/clocks.h> | 35 | #include <asm/mach-common/clocks.h> |
36 | #include <asm/mach/mem_init.h> | 36 | #include <asm/mach/mem_init.h> |
37 | #endif | 37 | #endif |
@@ -186,7 +186,7 @@ ENTRY(__start) | |||
186 | 186 | ||
187 | /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ | 187 | /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ |
188 | call _bf53x_relocate_l1_mem; | 188 | call _bf53x_relocate_l1_mem; |
189 | #if CONFIG_BFIN_KERNEL_CLOCK | 189 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
190 | call _start_dma_code; | 190 | call _start_dma_code; |
191 | #endif | 191 | #endif |
192 | 192 | ||
@@ -319,7 +319,7 @@ ENDPROC(_real_start) | |||
319 | __FINIT | 319 | __FINIT |
320 | 320 | ||
321 | .section .l1.text | 321 | .section .l1.text |
322 | #if CONFIG_BFIN_KERNEL_CLOCK | 322 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
323 | ENTRY(_start_dma_code) | 323 | ENTRY(_start_dma_code) |
324 | p0.h = hi(SIC_IWR); | 324 | p0.h = hi(SIC_IWR); |
325 | p0.l = lo(SIC_IWR); | 325 | p0.l = lo(SIC_IWR); |
@@ -390,12 +390,6 @@ ENTRY(_start_dma_code) | |||
390 | w[p0] = r0.l; | 390 | w[p0] = r0.l; |
391 | ssync; | 391 | ssync; |
392 | 392 | ||
393 | p0.l = LO(EBIU_SDBCTL); | ||
394 | p0.h = HI(EBIU_SDBCTL); /* SDRAM Memory Bank Control Register */ | ||
395 | r0 = mem_SDBCTL; | ||
396 | w[p0] = r0.l; | ||
397 | ssync; | ||
398 | |||
399 | P2.H = hi(EBIU_SDGCTL); | 393 | P2.H = hi(EBIU_SDGCTL); |
400 | P2.L = lo(EBIU_SDGCTL); | 394 | P2.L = lo(EBIU_SDGCTL); |
401 | R0 = [P2]; | 395 | R0 = [P2]; |
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c index 671f9d67f23a..6dbc76fb080b 100644 --- a/arch/blackfin/mach-bf537/boards/stamp.c +++ b/arch/blackfin/mach-bf537/boards/stamp.c | |||
@@ -29,9 +29,12 @@ | |||
29 | */ | 29 | */ |
30 | 30 | ||
31 | #include <linux/device.h> | 31 | #include <linux/device.h> |
32 | #include <linux/kernel.h> | ||
32 | #include <linux/platform_device.h> | 33 | #include <linux/platform_device.h> |
33 | #include <linux/mtd/mtd.h> | 34 | #include <linux/mtd/mtd.h> |
35 | #include <linux/mtd/nand.h> | ||
34 | #include <linux/mtd/partitions.h> | 36 | #include <linux/mtd/partitions.h> |
37 | #include <linux/mtd/plat-ram.h> | ||
35 | #include <linux/mtd/physmap.h> | 38 | #include <linux/mtd/physmap.h> |
36 | #include <linux/spi/spi.h> | 39 | #include <linux/spi/spi.h> |
37 | #include <linux/spi/flash.h> | 40 | #include <linux/spi/flash.h> |
@@ -355,6 +358,84 @@ static struct platform_device net2272_bfin_device = { | |||
355 | }; | 358 | }; |
356 | #endif | 359 | #endif |
357 | 360 | ||
361 | #if defined(CONFIG_MTD_NAND_PLATFORM) || defined(CONFIG_MTD_NAND_PLATFORM_MODULE) | ||
362 | #ifdef CONFIG_MTD_PARTITIONS | ||
363 | const char *part_probes[] = { "cmdlinepart", "RedBoot", NULL }; | ||
364 | |||
365 | static struct mtd_partition bfin_plat_nand_partitions[] = { | ||
366 | { | ||
367 | .name = "linux kernel", | ||
368 | .size = 0x400000, | ||
369 | .offset = 0, | ||
370 | }, { | ||
371 | .name = "file system", | ||
372 | .size = MTDPART_SIZ_FULL, | ||
373 | .offset = MTDPART_OFS_APPEND, | ||
374 | }, | ||
375 | }; | ||
376 | #endif | ||
377 | |||
378 | #define BFIN_NAND_PLAT_CLE 2 | ||
379 | #define BFIN_NAND_PLAT_ALE 1 | ||
380 | static void bfin_plat_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) | ||
381 | { | ||
382 | struct nand_chip *this = mtd->priv; | ||
383 | |||
384 | if (cmd == NAND_CMD_NONE) | ||
385 | return; | ||
386 | |||
387 | if (ctrl & NAND_CLE) | ||
388 | writeb(cmd, this->IO_ADDR_W + (1 << BFIN_NAND_PLAT_CLE)); | ||
389 | else | ||
390 | writeb(cmd, this->IO_ADDR_W + (1 << BFIN_NAND_PLAT_ALE)); | ||
391 | } | ||
392 | |||
393 | #define BFIN_NAND_PLAT_READY GPIO_PF3 | ||
394 | static int bfin_plat_nand_dev_ready(struct mtd_info *mtd) | ||
395 | { | ||
396 | return gpio_get_value(BFIN_NAND_PLAT_READY); | ||
397 | } | ||
398 | |||
399 | static struct platform_nand_data bfin_plat_nand_data = { | ||
400 | .chip = { | ||
401 | .chip_delay = 30, | ||
402 | #ifdef CONFIG_MTD_PARTITIONS | ||
403 | .part_probe_types = part_probes, | ||
404 | .partitions = bfin_plat_nand_partitions, | ||
405 | .nr_partitions = ARRAY_SIZE(bfin_plat_nand_partitions), | ||
406 | #endif | ||
407 | }, | ||
408 | .ctrl = { | ||
409 | .cmd_ctrl = bfin_plat_nand_cmd_ctrl, | ||
410 | .dev_ready = bfin_plat_nand_dev_ready, | ||
411 | }, | ||
412 | }; | ||
413 | |||
414 | #define MAX(x, y) (x > y ? x : y) | ||
415 | static struct resource bfin_plat_nand_resources = { | ||
416 | .start = 0x20212000, | ||
417 | .end = 0x20212000 + (1 << MAX(BFIN_NAND_PLAT_CLE, BFIN_NAND_PLAT_ALE)), | ||
418 | .flags = IORESOURCE_IO, | ||
419 | }; | ||
420 | |||
421 | static struct platform_device bfin_async_nand_device = { | ||
422 | .name = "gen_nand", | ||
423 | .id = -1, | ||
424 | .num_resources = 1, | ||
425 | .resource = &bfin_plat_nand_resources, | ||
426 | .dev = { | ||
427 | .platform_data = &bfin_plat_nand_data, | ||
428 | }, | ||
429 | }; | ||
430 | |||
431 | static void bfin_plat_nand_init(void) | ||
432 | { | ||
433 | gpio_request(BFIN_NAND_PLAT_READY, "bfin_nand_plat"); | ||
434 | } | ||
435 | #else | ||
436 | static void bfin_plat_nand_init(void) {} | ||
437 | #endif | ||
438 | |||
358 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 439 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
359 | static struct mtd_partition stamp_partitions[] = { | 440 | static struct mtd_partition stamp_partitions[] = { |
360 | { | 441 | { |
@@ -780,7 +861,7 @@ static struct platform_device bfin_sport1_uart_device = { | |||
780 | #endif | 861 | #endif |
781 | 862 | ||
782 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 863 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
783 | #define PATA_INT 55 | 864 | #define PATA_INT IRQ_PF5 |
784 | 865 | ||
785 | static struct pata_platform_info bfin_pata_platform_data = { | 866 | static struct pata_platform_info bfin_pata_platform_data = { |
786 | .ioport_shift = 1, | 867 | .ioport_shift = 1, |
@@ -922,6 +1003,10 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
922 | 1003 | ||
923 | &bfin_gpios_device, | 1004 | &bfin_gpios_device, |
924 | 1005 | ||
1006 | #if defined(CONFIG_MTD_NAND_PLATFORM) || defined(CONFIG_MTD_NAND_PLATFORM_MODULE) | ||
1007 | &bfin_async_nand_device, | ||
1008 | #endif | ||
1009 | |||
925 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 1010 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
926 | &stamp_flash_device, | 1011 | &stamp_flash_device, |
927 | #endif | 1012 | #endif |
@@ -936,6 +1021,7 @@ static int __init stamp_init(void) | |||
936 | ARRAY_SIZE(bfin_i2c_board_info)); | 1021 | ARRAY_SIZE(bfin_i2c_board_info)); |
937 | #endif | 1022 | #endif |
938 | 1023 | ||
1024 | bfin_plat_nand_init(); | ||
939 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); | 1025 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); |
940 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | 1026 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
941 | 1027 | ||
diff --git a/arch/blackfin/mach-bf537/head.S b/arch/blackfin/mach-bf537/head.S index 48cd58a410a0..6b019eaee0b6 100644 --- a/arch/blackfin/mach-bf537/head.S +++ b/arch/blackfin/mach-bf537/head.S | |||
@@ -32,7 +32,7 @@ | |||
32 | #include <asm/blackfin.h> | 32 | #include <asm/blackfin.h> |
33 | #include <asm/trace.h> | 33 | #include <asm/trace.h> |
34 | 34 | ||
35 | #if CONFIG_BFIN_KERNEL_CLOCK | 35 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
36 | #include <asm/mach-common/clocks.h> | 36 | #include <asm/mach-common/clocks.h> |
37 | #include <asm/mach/mem_init.h> | 37 | #include <asm/mach/mem_init.h> |
38 | #endif | 38 | #endif |
@@ -217,7 +217,7 @@ ENTRY(__start) | |||
217 | 217 | ||
218 | /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ | 218 | /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ |
219 | call _bf53x_relocate_l1_mem; | 219 | call _bf53x_relocate_l1_mem; |
220 | #if CONFIG_BFIN_KERNEL_CLOCK | 220 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
221 | call _start_dma_code; | 221 | call _start_dma_code; |
222 | #endif | 222 | #endif |
223 | 223 | ||
@@ -350,7 +350,7 @@ ENDPROC(_real_start) | |||
350 | __FINIT | 350 | __FINIT |
351 | 351 | ||
352 | .section .l1.text | 352 | .section .l1.text |
353 | #if CONFIG_BFIN_KERNEL_CLOCK | 353 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
354 | ENTRY(_start_dma_code) | 354 | ENTRY(_start_dma_code) |
355 | 355 | ||
356 | /* Enable PHY CLK buffer output */ | 356 | /* Enable PHY CLK buffer output */ |
@@ -430,12 +430,6 @@ ENTRY(_start_dma_code) | |||
430 | w[p0] = r0.l; | 430 | w[p0] = r0.l; |
431 | ssync; | 431 | ssync; |
432 | 432 | ||
433 | p0.l = LO(EBIU_SDBCTL); | ||
434 | p0.h = HI(EBIU_SDBCTL); /* SDRAM Memory Bank Control Register */ | ||
435 | r0 = mem_SDBCTL; | ||
436 | w[p0] = r0.l; | ||
437 | ssync; | ||
438 | |||
439 | P2.H = hi(EBIU_SDGCTL); | 433 | P2.H = hi(EBIU_SDGCTL); |
440 | P2.L = lo(EBIU_SDGCTL); | 434 | P2.L = lo(EBIU_SDGCTL); |
441 | R0 = [P2]; | 435 | R0 = [P2]; |
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c index af7c211a580e..166fa2201ee7 100644 --- a/arch/blackfin/mach-bf548/boards/ezkit.c +++ b/arch/blackfin/mach-bf548/boards/ezkit.c | |||
@@ -61,6 +61,49 @@ const char bfin_board_name[] = "ADSP-BF548-EZKIT"; | |||
61 | * Driver needs to know address, irq and flag pin. | 61 | * Driver needs to know address, irq and flag pin. |
62 | */ | 62 | */ |
63 | 63 | ||
64 | #if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) | ||
65 | static struct resource bfin_isp1761_resources[] = { | ||
66 | [0] = { | ||
67 | .name = "isp1761-regs", | ||
68 | .start = 0x2C0C0000, | ||
69 | .end = 0x2C0C0000 + 0xfffff, | ||
70 | .flags = IORESOURCE_MEM, | ||
71 | }, | ||
72 | [1] = { | ||
73 | .start = IRQ_PG7, | ||
74 | .end = IRQ_PG7, | ||
75 | .flags = IORESOURCE_IRQ, | ||
76 | }, | ||
77 | }; | ||
78 | |||
79 | static struct platform_device bfin_isp1761_device = { | ||
80 | .name = "isp1761", | ||
81 | .id = 0, | ||
82 | .num_resources = ARRAY_SIZE(bfin_isp1761_resources), | ||
83 | .resource = bfin_isp1761_resources, | ||
84 | }; | ||
85 | |||
86 | static struct platform_device *bfin_isp1761_devices[] = { | ||
87 | &bfin_isp1761_device, | ||
88 | }; | ||
89 | |||
90 | int __init bfin_isp1761_init(void) | ||
91 | { | ||
92 | unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices); | ||
93 | |||
94 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | ||
95 | set_irq_type(bfin_isp1761_resources[1].start, IRQF_TRIGGER_FALLING); | ||
96 | |||
97 | return platform_add_devices(bfin_isp1761_devices, num_devices); | ||
98 | } | ||
99 | |||
100 | void __exit bfin_isp1761_exit(void) | ||
101 | { | ||
102 | platform_device_unregister(&bfin_isp1761_device); | ||
103 | } | ||
104 | arch_initcall(bfin_isp1761_init); | ||
105 | #endif | ||
106 | |||
64 | #if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) | 107 | #if defined(CONFIG_FB_BF54X_LQ043) || defined(CONFIG_FB_BF54X_LQ043_MODULE) |
65 | 108 | ||
66 | #include <asm/mach/bf54x-lq043.h> | 109 | #include <asm/mach/bf54x-lq043.h> |
@@ -177,6 +220,7 @@ static struct resource bfin_uart_resources[] = { | |||
177 | { | 220 | { |
178 | .start = 0xFFC03100, | 221 | .start = 0xFFC03100, |
179 | .end = 0xFFC031FF, | 222 | .end = 0xFFC031FF, |
223 | .flags = IORESOURCE_MEM, | ||
180 | }, | 224 | }, |
181 | #endif | 225 | #endif |
182 | }; | 226 | }; |
diff --git a/arch/blackfin/mach-bf548/head.S b/arch/blackfin/mach-bf548/head.S index f7191141a3ce..06b9178cfcfe 100644 --- a/arch/blackfin/mach-bf548/head.S +++ b/arch/blackfin/mach-bf548/head.S | |||
@@ -31,7 +31,7 @@ | |||
31 | #include <linux/init.h> | 31 | #include <linux/init.h> |
32 | #include <asm/blackfin.h> | 32 | #include <asm/blackfin.h> |
33 | #include <asm/trace.h> | 33 | #include <asm/trace.h> |
34 | #if CONFIG_BFIN_KERNEL_CLOCK | 34 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
35 | #include <asm/mach-common/clocks.h> | 35 | #include <asm/mach-common/clocks.h> |
36 | #include <asm/mach/mem_init.h> | 36 | #include <asm/mach/mem_init.h> |
37 | #endif | 37 | #endif |
@@ -130,7 +130,7 @@ ENTRY(__start) | |||
130 | 130 | ||
131 | /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ | 131 | /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ |
132 | call _bf53x_relocate_l1_mem; | 132 | call _bf53x_relocate_l1_mem; |
133 | #if CONFIG_BFIN_KERNEL_CLOCK | 133 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
134 | call _start_dma_code; | 134 | call _start_dma_code; |
135 | #endif | 135 | #endif |
136 | /* Code for initializing Async memory banks */ | 136 | /* Code for initializing Async memory banks */ |
@@ -288,7 +288,7 @@ ENDPROC(_real_start) | |||
288 | __FINIT | 288 | __FINIT |
289 | 289 | ||
290 | .section .l1.text | 290 | .section .l1.text |
291 | #if CONFIG_BFIN_KERNEL_CLOCK | 291 | #ifdef CONFIG_BFIN_KERNEL_CLOCK |
292 | ENTRY(_start_dma_code) | 292 | ENTRY(_start_dma_code) |
293 | 293 | ||
294 | /* Enable PHY CLK buffer output */ | 294 | /* Enable PHY CLK buffer output */ |
diff --git a/arch/blackfin/mach-bf561/head.S b/arch/blackfin/mach-bf561/head.S index 5b8bd40851dd..cf1a2dff01e7 100644 --- a/arch/blackfin/mach-bf561/head.S +++ b/arch/blackfin/mach-bf561/head.S | |||
@@ -377,12 +377,6 @@ ENTRY(_start_dma_code) | |||
377 | w[p0] = r0.l; | 377 | w[p0] = r0.l; |
378 | ssync; | 378 | ssync; |
379 | 379 | ||
380 | p0.l = LO(EBIU_SDBCTL); | ||
381 | p0.h = HI(EBIU_SDBCTL); /* SDRAM Memory Bank Control Register */ | ||
382 | r0 = mem_SDBCTL; | ||
383 | w[p0] = r0.l; | ||
384 | ssync; | ||
385 | |||
386 | P2.H = hi(EBIU_SDGCTL); | 380 | P2.H = hi(EBIU_SDGCTL); |
387 | P2.L = lo(EBIU_SDGCTL); | 381 | P2.L = lo(EBIU_SDGCTL); |
388 | R0 = [P2]; | 382 | R0 = [P2]; |
diff --git a/arch/blackfin/mach-common/arch_checks.c b/arch/blackfin/mach-common/arch_checks.c index caaab49e9cfa..f9160d83b91f 100644 --- a/arch/blackfin/mach-common/arch_checks.c +++ b/arch/blackfin/mach-common/arch_checks.c | |||
@@ -53,9 +53,3 @@ | |||
53 | # endif | 53 | # endif |
54 | 54 | ||
55 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | 55 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ |
56 | |||
57 | #ifdef CONFIG_MEM_SIZE | ||
58 | #if (CONFIG_MEM_SIZE % 4) | ||
59 | #error "SDRAM mem size must be multible of 4MB" | ||
60 | #endif | ||
61 | #endif | ||
diff --git a/arch/blackfin/mach-common/dpmc_modes.S b/arch/blackfin/mach-common/dpmc_modes.S index b7981d31c392..5e3f1d8a4fb8 100644 --- a/arch/blackfin/mach-common/dpmc_modes.S +++ b/arch/blackfin/mach-common/dpmc_modes.S | |||
@@ -7,7 +7,7 @@ | |||
7 | #include <linux/linkage.h> | 7 | #include <linux/linkage.h> |
8 | #include <asm/blackfin.h> | 8 | #include <asm/blackfin.h> |
9 | #include <asm/mach/irq.h> | 9 | #include <asm/mach/irq.h> |
10 | 10 | #include <asm/dpmc.h> | |
11 | 11 | ||
12 | .section .l1.text | 12 | .section .l1.text |
13 | 13 | ||
@@ -51,31 +51,32 @@ ENTRY(_sleep_mode) | |||
51 | RETS = [SP++]; | 51 | RETS = [SP++]; |
52 | ( R7:0, P5:0 ) = [SP++]; | 52 | ( R7:0, P5:0 ) = [SP++]; |
53 | RTS; | 53 | RTS; |
54 | ENDPROC(_sleep_mode) | ||
54 | 55 | ||
55 | ENTRY(_hibernate_mode) | 56 | ENTRY(_hibernate_mode) |
56 | [--SP] = ( R7:0, P5:0 ); | 57 | [--SP] = ( R7:0, P5:0 ); |
57 | [--SP] = RETS; | 58 | [--SP] = RETS; |
58 | 59 | ||
60 | R3 = R0; | ||
61 | R0 = IWR_DISABLE_ALL; | ||
62 | R1 = IWR_DISABLE_ALL; | ||
63 | R2 = IWR_DISABLE_ALL; | ||
59 | call _set_sic_iwr; | 64 | call _set_sic_iwr; |
65 | call _set_dram_srfs; | ||
66 | SSYNC; | ||
60 | 67 | ||
61 | R0 = 0xFFFF (Z); | 68 | R0 = 0xFFFF (Z); |
62 | call _set_rtc_istat; | 69 | call _set_rtc_istat; |
63 | 70 | ||
64 | P0.H = hi(VR_CTL); | 71 | P0.H = hi(VR_CTL); |
65 | P0.L = lo(VR_CTL); | 72 | P0.L = lo(VR_CTL); |
66 | R1 = W[P0](z); | ||
67 | BITSET (R1, 8); | ||
68 | BITCLR (R1, 0); | ||
69 | BITCLR (R1, 1); | ||
70 | W[P0] = R1.L; | ||
71 | SSYNC; | ||
72 | 73 | ||
74 | W[P0] = R3.L; | ||
73 | CLI R2; | 75 | CLI R2; |
74 | IDLE; | 76 | IDLE; |
75 | 77 | .Lforever: | |
76 | /* Actually, adding anything may not be necessary...SDRAM contents | 78 | jump .Lforever; |
77 | * are lost | 79 | ENDPROC(_hibernate_mode) |
78 | */ | ||
79 | 80 | ||
80 | ENTRY(_deep_sleep) | 81 | ENTRY(_deep_sleep) |
81 | [--SP] = ( R7:0, P5:0 ); | 82 | [--SP] = ( R7:0, P5:0 ); |
@@ -131,6 +132,7 @@ ENTRY(_deep_sleep) | |||
131 | RETS = [SP++]; | 132 | RETS = [SP++]; |
132 | ( R7:0, P5:0 ) = [SP++]; | 133 | ( R7:0, P5:0 ) = [SP++]; |
133 | RTS; | 134 | RTS; |
135 | ENDPROC(_deep_sleep) | ||
134 | 136 | ||
135 | ENTRY(_sleep_deeper) | 137 | ENTRY(_sleep_deeper) |
136 | [--SP] = ( R7:0, P5:0 ); | 138 | [--SP] = ( R7:0, P5:0 ); |
@@ -232,53 +234,73 @@ ENTRY(_sleep_deeper) | |||
232 | RETS = [SP++]; | 234 | RETS = [SP++]; |
233 | ( R7:0, P5:0 ) = [SP++]; | 235 | ( R7:0, P5:0 ) = [SP++]; |
234 | RTS; | 236 | RTS; |
237 | ENDPROC(_sleep_deeper) | ||
235 | 238 | ||
236 | ENTRY(_set_dram_srfs) | 239 | ENTRY(_set_dram_srfs) |
237 | /* set the dram to self refresh mode */ | 240 | /* set the dram to self refresh mode */ |
238 | #if defined(CONFIG_BF54x) | 241 | SSYNC; |
242 | #if defined(EBIU_RSTCTL) /* DDR */ | ||
239 | P0.H = hi(EBIU_RSTCTL); | 243 | P0.H = hi(EBIU_RSTCTL); |
240 | P0.L = lo(EBIU_RSTCTL); | 244 | P0.L = lo(EBIU_RSTCTL); |
241 | R2 = [P0]; | 245 | R2 = [P0]; |
242 | R3.H = hi(SRREQ); | 246 | BITSET(R2, 3); /* SRREQ enter self-refresh mode */ |
243 | R3.L = lo(SRREQ); | 247 | [P0] = R2; |
244 | #else | 248 | SSYNC; |
245 | P0.H = hi(EBIU_SDGCTL); | 249 | 1: |
250 | R2 = [P0]; | ||
251 | CC = BITTST(R2, 4); | ||
252 | if !CC JUMP 1b; | ||
253 | #else /* SDRAM */ | ||
246 | P0.L = lo(EBIU_SDGCTL); | 254 | P0.L = lo(EBIU_SDGCTL); |
255 | P0.H = hi(EBIU_SDGCTL); | ||
247 | R2 = [P0]; | 256 | R2 = [P0]; |
248 | R3.H = hi(SRFS); | 257 | BITSET(R2, 24); /* SRFS enter self-refresh mode */ |
249 | R3.L = lo(SRFS); | ||
250 | #endif | ||
251 | R2 = R2|R3; | ||
252 | [P0] = R2; | 258 | [P0] = R2; |
253 | ssync; | 259 | SSYNC; |
254 | #if defined(CONFIG_BF54x) | 260 | |
255 | .LSRR_MODE: | 261 | P0.L = lo(EBIU_SDSTAT); |
262 | P0.H = hi(EBIU_SDSTAT); | ||
263 | 1: | ||
264 | R2 = w[P0]; | ||
265 | SSYNC; | ||
266 | cc = BITTST(R2, 1); /* SDSRA poll self-refresh status */ | ||
267 | if !cc jump 1b; | ||
268 | |||
269 | P0.L = lo(EBIU_SDGCTL); | ||
270 | P0.H = hi(EBIU_SDGCTL); | ||
256 | R2 = [P0]; | 271 | R2 = [P0]; |
257 | CC = BITTST(R2, 4); | 272 | BITCLR(R2, 0); /* SCTLE disable CLKOUT */ |
258 | if !CC JUMP .LSRR_MODE; | 273 | [P0] = R2; |
259 | #endif | 274 | #endif |
260 | RTS; | 275 | RTS; |
276 | ENDPROC(_set_dram_srfs) | ||
261 | 277 | ||
262 | ENTRY(_unset_dram_srfs) | 278 | ENTRY(_unset_dram_srfs) |
263 | /* set the dram out of self refresh mode */ | 279 | /* set the dram out of self refresh mode */ |
264 | #if defined(CONFIG_BF54x) | 280 | #if defined(EBIU_RSTCTL) /* DDR */ |
265 | P0.H = hi(EBIU_RSTCTL); | 281 | P0.H = hi(EBIU_RSTCTL); |
266 | P0.L = lo(EBIU_RSTCTL); | 282 | P0.L = lo(EBIU_RSTCTL); |
267 | R2 = [P0]; | 283 | R2 = [P0]; |
268 | R3.H = hi(SRREQ); | 284 | BITCLR(R2, 3); /* clear SRREQ bit */ |
269 | R3.L = lo(SRREQ); | 285 | [P0] = R2; |
270 | #else | 286 | #elif defined(EBIU_SDGCTL) /* SDRAM */ |
287 | |||
288 | P0.L = lo(EBIU_SDGCTL); /* release CLKOUT from self-refresh */ | ||
289 | P0.H = hi(EBIU_SDGCTL); | ||
290 | R2 = [P0]; | ||
291 | BITSET(R2, 0); /* SCTLE enable CLKOUT */ | ||
292 | [P0] = R2 | ||
293 | SSYNC; | ||
294 | |||
295 | P0.L = lo(EBIU_SDGCTL); /* release SDRAM from self-refresh */ | ||
271 | P0.H = hi(EBIU_SDGCTL); | 296 | P0.H = hi(EBIU_SDGCTL); |
272 | P0.L = lo(EBIU_SDGCTL); | ||
273 | R2 = [P0]; | 297 | R2 = [P0]; |
274 | R3.H = hi(SRFS); | 298 | BITCLR(R2, 24); /* clear SRFS bit */ |
275 | R3.L = lo(SRFS); | 299 | [P0] = R2 |
276 | #endif | 300 | #endif |
277 | R3 = ~R3; | 301 | SSYNC; |
278 | R2 = R2&R3; | ||
279 | [P0] = R2; | ||
280 | ssync; | ||
281 | RTS; | 302 | RTS; |
303 | ENDPROC(_unset_dram_srfs) | ||
282 | 304 | ||
283 | ENTRY(_set_sic_iwr) | 305 | ENTRY(_set_sic_iwr) |
284 | #if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561) | 306 | #if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561) |
@@ -300,6 +322,7 @@ ENTRY(_set_sic_iwr) | |||
300 | 322 | ||
301 | SSYNC; | 323 | SSYNC; |
302 | RTS; | 324 | RTS; |
325 | ENDPROC(_set_sic_iwr) | ||
303 | 326 | ||
304 | ENTRY(_set_rtc_istat) | 327 | ENTRY(_set_rtc_istat) |
305 | #ifndef CONFIG_BF561 | 328 | #ifndef CONFIG_BF561 |
@@ -307,8 +330,14 @@ ENTRY(_set_rtc_istat) | |||
307 | P0.L = lo(RTC_ISTAT); | 330 | P0.L = lo(RTC_ISTAT); |
308 | w[P0] = R0.L; | 331 | w[P0] = R0.L; |
309 | SSYNC; | 332 | SSYNC; |
333 | #elif (ANOMALY_05000371) | ||
334 | nop; | ||
335 | nop; | ||
336 | nop; | ||
337 | nop; | ||
310 | #endif | 338 | #endif |
311 | RTS; | 339 | RTS; |
340 | ENDPROC(_set_rtc_istat) | ||
312 | 341 | ||
313 | ENTRY(_test_pll_locked) | 342 | ENTRY(_test_pll_locked) |
314 | P0.H = hi(PLL_STAT); | 343 | P0.H = hi(PLL_STAT); |
@@ -318,3 +347,509 @@ ENTRY(_test_pll_locked) | |||
318 | CC = BITTST(R0,5); | 347 | CC = BITTST(R0,5); |
319 | IF !CC JUMP 1b; | 348 | IF !CC JUMP 1b; |
320 | RTS; | 349 | RTS; |
350 | ENDPROC(_test_pll_locked) | ||
351 | |||
352 | .section .text | ||
353 | |||
354 | ENTRY(_do_hibernate) | ||
355 | [--SP] = ( R7:0, P5:0 ); | ||
356 | [--SP] = RETS; | ||
357 | /* Save System MMRs */ | ||
358 | R2 = R0; | ||
359 | P0.H = hi(PLL_CTL); | ||
360 | P0.L = lo(PLL_CTL); | ||
361 | |||
362 | #ifdef SIC_IMASK0 | ||
363 | PM_SYS_PUSH(SIC_IMASK0) | ||
364 | #endif | ||
365 | #ifdef SIC_IMASK1 | ||
366 | PM_SYS_PUSH(SIC_IMASK1) | ||
367 | #endif | ||
368 | #ifdef SIC_IMASK2 | ||
369 | PM_SYS_PUSH(SIC_IMASK2) | ||
370 | #endif | ||
371 | #ifdef SIC_IMASK | ||
372 | PM_SYS_PUSH(SIC_IMASK) | ||
373 | #endif | ||
374 | #ifdef SICA_IMASK0 | ||
375 | PM_SYS_PUSH(SICA_IMASK0) | ||
376 | #endif | ||
377 | #ifdef SICA_IMASK1 | ||
378 | PM_SYS_PUSH(SICA_IMASK1) | ||
379 | #endif | ||
380 | #ifdef SIC_IAR2 | ||
381 | PM_SYS_PUSH(SIC_IAR0) | ||
382 | PM_SYS_PUSH(SIC_IAR1) | ||
383 | PM_SYS_PUSH(SIC_IAR2) | ||
384 | #endif | ||
385 | #ifdef SIC_IAR3 | ||
386 | PM_SYS_PUSH(SIC_IAR3) | ||
387 | #endif | ||
388 | #ifdef SIC_IAR4 | ||
389 | PM_SYS_PUSH(SIC_IAR4) | ||
390 | PM_SYS_PUSH(SIC_IAR5) | ||
391 | PM_SYS_PUSH(SIC_IAR6) | ||
392 | #endif | ||
393 | #ifdef SIC_IAR7 | ||
394 | PM_SYS_PUSH(SIC_IAR7) | ||
395 | #endif | ||
396 | #ifdef SIC_IAR8 | ||
397 | PM_SYS_PUSH(SIC_IAR8) | ||
398 | PM_SYS_PUSH(SIC_IAR9) | ||
399 | PM_SYS_PUSH(SIC_IAR10) | ||
400 | PM_SYS_PUSH(SIC_IAR11) | ||
401 | #endif | ||
402 | |||
403 | #ifdef SICA_IAR0 | ||
404 | PM_SYS_PUSH(SICA_IAR0) | ||
405 | PM_SYS_PUSH(SICA_IAR1) | ||
406 | PM_SYS_PUSH(SICA_IAR2) | ||
407 | PM_SYS_PUSH(SICA_IAR3) | ||
408 | PM_SYS_PUSH(SICA_IAR4) | ||
409 | PM_SYS_PUSH(SICA_IAR5) | ||
410 | PM_SYS_PUSH(SICA_IAR6) | ||
411 | PM_SYS_PUSH(SICA_IAR7) | ||
412 | #endif | ||
413 | |||
414 | #ifdef SIC_IWR | ||
415 | PM_SYS_PUSH(SIC_IWR) | ||
416 | #endif | ||
417 | #ifdef SIC_IWR0 | ||
418 | PM_SYS_PUSH(SIC_IWR0) | ||
419 | #endif | ||
420 | #ifdef SIC_IWR1 | ||
421 | PM_SYS_PUSH(SIC_IWR1) | ||
422 | #endif | ||
423 | #ifdef SIC_IWR2 | ||
424 | PM_SYS_PUSH(SIC_IWR2) | ||
425 | #endif | ||
426 | #ifdef SICA_IWR0 | ||
427 | PM_SYS_PUSH(SICA_IWR0) | ||
428 | #endif | ||
429 | #ifdef SICA_IWR1 | ||
430 | PM_SYS_PUSH(SICA_IWR1) | ||
431 | #endif | ||
432 | |||
433 | #ifdef PINT0_ASSIGN | ||
434 | PM_SYS_PUSH(PINT0_ASSIGN) | ||
435 | PM_SYS_PUSH(PINT1_ASSIGN) | ||
436 | PM_SYS_PUSH(PINT2_ASSIGN) | ||
437 | PM_SYS_PUSH(PINT3_ASSIGN) | ||
438 | #endif | ||
439 | |||
440 | PM_SYS_PUSH(EBIU_AMBCTL0) | ||
441 | PM_SYS_PUSH(EBIU_AMBCTL1) | ||
442 | PM_SYS_PUSH16(EBIU_AMGCTL) | ||
443 | |||
444 | #ifdef EBIU_FCTL | ||
445 | PM_SYS_PUSH(EBIU_MBSCTL) | ||
446 | PM_SYS_PUSH(EBIU_MODE) | ||
447 | PM_SYS_PUSH(EBIU_FCTL) | ||
448 | #endif | ||
449 | |||
450 | PM_SYS_PUSH16(SYSCR) | ||
451 | |||
452 | /* Save Core MMRs */ | ||
453 | P0.H = hi(SRAM_BASE_ADDRESS); | ||
454 | P0.L = lo(SRAM_BASE_ADDRESS); | ||
455 | |||
456 | PM_PUSH(DMEM_CONTROL) | ||
457 | PM_PUSH(DCPLB_ADDR0) | ||
458 | PM_PUSH(DCPLB_ADDR1) | ||
459 | PM_PUSH(DCPLB_ADDR2) | ||
460 | PM_PUSH(DCPLB_ADDR3) | ||
461 | PM_PUSH(DCPLB_ADDR4) | ||
462 | PM_PUSH(DCPLB_ADDR5) | ||
463 | PM_PUSH(DCPLB_ADDR6) | ||
464 | PM_PUSH(DCPLB_ADDR7) | ||
465 | PM_PUSH(DCPLB_ADDR8) | ||
466 | PM_PUSH(DCPLB_ADDR9) | ||
467 | PM_PUSH(DCPLB_ADDR10) | ||
468 | PM_PUSH(DCPLB_ADDR11) | ||
469 | PM_PUSH(DCPLB_ADDR12) | ||
470 | PM_PUSH(DCPLB_ADDR13) | ||
471 | PM_PUSH(DCPLB_ADDR14) | ||
472 | PM_PUSH(DCPLB_ADDR15) | ||
473 | PM_PUSH(DCPLB_DATA0) | ||
474 | PM_PUSH(DCPLB_DATA1) | ||
475 | PM_PUSH(DCPLB_DATA2) | ||
476 | PM_PUSH(DCPLB_DATA3) | ||
477 | PM_PUSH(DCPLB_DATA4) | ||
478 | PM_PUSH(DCPLB_DATA5) | ||
479 | PM_PUSH(DCPLB_DATA6) | ||
480 | PM_PUSH(DCPLB_DATA7) | ||
481 | PM_PUSH(DCPLB_DATA8) | ||
482 | PM_PUSH(DCPLB_DATA9) | ||
483 | PM_PUSH(DCPLB_DATA10) | ||
484 | PM_PUSH(DCPLB_DATA11) | ||
485 | PM_PUSH(DCPLB_DATA12) | ||
486 | PM_PUSH(DCPLB_DATA13) | ||
487 | PM_PUSH(DCPLB_DATA14) | ||
488 | PM_PUSH(DCPLB_DATA15) | ||
489 | PM_PUSH(IMEM_CONTROL) | ||
490 | PM_PUSH(ICPLB_ADDR0) | ||
491 | PM_PUSH(ICPLB_ADDR1) | ||
492 | PM_PUSH(ICPLB_ADDR2) | ||
493 | PM_PUSH(ICPLB_ADDR3) | ||
494 | PM_PUSH(ICPLB_ADDR4) | ||
495 | PM_PUSH(ICPLB_ADDR5) | ||
496 | PM_PUSH(ICPLB_ADDR6) | ||
497 | PM_PUSH(ICPLB_ADDR7) | ||
498 | PM_PUSH(ICPLB_ADDR8) | ||
499 | PM_PUSH(ICPLB_ADDR9) | ||
500 | PM_PUSH(ICPLB_ADDR10) | ||
501 | PM_PUSH(ICPLB_ADDR11) | ||
502 | PM_PUSH(ICPLB_ADDR12) | ||
503 | PM_PUSH(ICPLB_ADDR13) | ||
504 | PM_PUSH(ICPLB_ADDR14) | ||
505 | PM_PUSH(ICPLB_ADDR15) | ||
506 | PM_PUSH(ICPLB_DATA0) | ||
507 | PM_PUSH(ICPLB_DATA1) | ||
508 | PM_PUSH(ICPLB_DATA2) | ||
509 | PM_PUSH(ICPLB_DATA3) | ||
510 | PM_PUSH(ICPLB_DATA4) | ||
511 | PM_PUSH(ICPLB_DATA5) | ||
512 | PM_PUSH(ICPLB_DATA6) | ||
513 | PM_PUSH(ICPLB_DATA7) | ||
514 | PM_PUSH(ICPLB_DATA8) | ||
515 | PM_PUSH(ICPLB_DATA9) | ||
516 | PM_PUSH(ICPLB_DATA10) | ||
517 | PM_PUSH(ICPLB_DATA11) | ||
518 | PM_PUSH(ICPLB_DATA12) | ||
519 | PM_PUSH(ICPLB_DATA13) | ||
520 | PM_PUSH(ICPLB_DATA14) | ||
521 | PM_PUSH(ICPLB_DATA15) | ||
522 | PM_PUSH(EVT0) | ||
523 | PM_PUSH(EVT1) | ||
524 | PM_PUSH(EVT2) | ||
525 | PM_PUSH(EVT3) | ||
526 | PM_PUSH(EVT4) | ||
527 | PM_PUSH(EVT5) | ||
528 | PM_PUSH(EVT6) | ||
529 | PM_PUSH(EVT7) | ||
530 | PM_PUSH(EVT8) | ||
531 | PM_PUSH(EVT9) | ||
532 | PM_PUSH(EVT10) | ||
533 | PM_PUSH(EVT11) | ||
534 | PM_PUSH(EVT12) | ||
535 | PM_PUSH(EVT13) | ||
536 | PM_PUSH(EVT14) | ||
537 | PM_PUSH(EVT15) | ||
538 | PM_PUSH(IMASK) | ||
539 | PM_PUSH(ILAT) | ||
540 | PM_PUSH(IPRIO) | ||
541 | PM_PUSH(TCNTL) | ||
542 | PM_PUSH(TPERIOD) | ||
543 | PM_PUSH(TSCALE) | ||
544 | PM_PUSH(TCOUNT) | ||
545 | PM_PUSH(TBUFCTL) | ||
546 | |||
547 | /* Save Core Registers */ | ||
548 | [--sp] = SYSCFG; | ||
549 | [--sp] = ( R7:0, P5:0 ); | ||
550 | [--sp] = fp; | ||
551 | [--sp] = usp; | ||
552 | |||
553 | [--sp] = i0; | ||
554 | [--sp] = i1; | ||
555 | [--sp] = i2; | ||
556 | [--sp] = i3; | ||
557 | |||
558 | [--sp] = m0; | ||
559 | [--sp] = m1; | ||
560 | [--sp] = m2; | ||
561 | [--sp] = m3; | ||
562 | |||
563 | [--sp] = l0; | ||
564 | [--sp] = l1; | ||
565 | [--sp] = l2; | ||
566 | [--sp] = l3; | ||
567 | |||
568 | [--sp] = b0; | ||
569 | [--sp] = b1; | ||
570 | [--sp] = b2; | ||
571 | [--sp] = b3; | ||
572 | [--sp] = a0.x; | ||
573 | [--sp] = a0.w; | ||
574 | [--sp] = a1.x; | ||
575 | [--sp] = a1.w; | ||
576 | |||
577 | [--sp] = LC0; | ||
578 | [--sp] = LC1; | ||
579 | [--sp] = LT0; | ||
580 | [--sp] = LT1; | ||
581 | [--sp] = LB0; | ||
582 | [--sp] = LB1; | ||
583 | |||
584 | [--sp] = ASTAT; | ||
585 | [--sp] = CYCLES; | ||
586 | [--sp] = CYCLES2; | ||
587 | |||
588 | [--sp] = RETS; | ||
589 | r0 = RETI; | ||
590 | [--sp] = r0; | ||
591 | [--sp] = RETX; | ||
592 | [--sp] = RETN; | ||
593 | [--sp] = RETE; | ||
594 | [--sp] = SEQSTAT; | ||
595 | |||
596 | /* Save Magic, return address and Stack Pointer */ | ||
597 | P0.H = 0; | ||
598 | P0.L = 0; | ||
599 | R0.H = 0xDEAD; /* Hibernate Magic */ | ||
600 | R0.L = 0xBEEF; | ||
601 | [P0++] = R0; /* Store Hibernate Magic */ | ||
602 | R0.H = .Lpm_resume_here; | ||
603 | R0.L = .Lpm_resume_here; | ||
604 | [P0++] = R0; /* Save Return Address */ | ||
605 | [P0++] = SP; /* Save Stack Pointer */ | ||
606 | P0.H = _hibernate_mode; | ||
607 | P0.L = _hibernate_mode; | ||
608 | R0 = R2; | ||
609 | call (P0); /* Goodbye */ | ||
610 | |||
611 | .Lpm_resume_here: | ||
612 | |||
613 | /* Restore Core Registers */ | ||
614 | SEQSTAT = [sp++]; | ||
615 | RETE = [sp++]; | ||
616 | RETN = [sp++]; | ||
617 | RETX = [sp++]; | ||
618 | r0 = [sp++]; | ||
619 | RETI = r0; | ||
620 | RETS = [sp++]; | ||
621 | |||
622 | CYCLES2 = [sp++]; | ||
623 | CYCLES = [sp++]; | ||
624 | ASTAT = [sp++]; | ||
625 | |||
626 | LB1 = [sp++]; | ||
627 | LB0 = [sp++]; | ||
628 | LT1 = [sp++]; | ||
629 | LT0 = [sp++]; | ||
630 | LC1 = [sp++]; | ||
631 | LC0 = [sp++]; | ||
632 | |||
633 | a1.w = [sp++]; | ||
634 | a1.x = [sp++]; | ||
635 | a0.w = [sp++]; | ||
636 | a0.x = [sp++]; | ||
637 | b3 = [sp++]; | ||
638 | b2 = [sp++]; | ||
639 | b1 = [sp++]; | ||
640 | b0 = [sp++]; | ||
641 | |||
642 | l3 = [sp++]; | ||
643 | l2 = [sp++]; | ||
644 | l1 = [sp++]; | ||
645 | l0 = [sp++]; | ||
646 | |||
647 | m3 = [sp++]; | ||
648 | m2 = [sp++]; | ||
649 | m1 = [sp++]; | ||
650 | m0 = [sp++]; | ||
651 | |||
652 | i3 = [sp++]; | ||
653 | i2 = [sp++]; | ||
654 | i1 = [sp++]; | ||
655 | i0 = [sp++]; | ||
656 | |||
657 | usp = [sp++]; | ||
658 | fp = [sp++]; | ||
659 | |||
660 | ( R7 : 0, P5 : 0) = [ SP ++ ]; | ||
661 | SYSCFG = [sp++]; | ||
662 | |||
663 | /* Restore Core MMRs */ | ||
664 | |||
665 | PM_POP(TBUFCTL) | ||
666 | PM_POP(TCOUNT) | ||
667 | PM_POP(TSCALE) | ||
668 | PM_POP(TPERIOD) | ||
669 | PM_POP(TCNTL) | ||
670 | PM_POP(IPRIO) | ||
671 | PM_POP(ILAT) | ||
672 | PM_POP(IMASK) | ||
673 | PM_POP(EVT15) | ||
674 | PM_POP(EVT14) | ||
675 | PM_POP(EVT13) | ||
676 | PM_POP(EVT12) | ||
677 | PM_POP(EVT11) | ||
678 | PM_POP(EVT10) | ||
679 | PM_POP(EVT9) | ||
680 | PM_POP(EVT8) | ||
681 | PM_POP(EVT7) | ||
682 | PM_POP(EVT6) | ||
683 | PM_POP(EVT5) | ||
684 | PM_POP(EVT4) | ||
685 | PM_POP(EVT3) | ||
686 | PM_POP(EVT2) | ||
687 | PM_POP(EVT1) | ||
688 | PM_POP(EVT0) | ||
689 | PM_POP(ICPLB_DATA15) | ||
690 | PM_POP(ICPLB_DATA14) | ||
691 | PM_POP(ICPLB_DATA13) | ||
692 | PM_POP(ICPLB_DATA12) | ||
693 | PM_POP(ICPLB_DATA11) | ||
694 | PM_POP(ICPLB_DATA10) | ||
695 | PM_POP(ICPLB_DATA9) | ||
696 | PM_POP(ICPLB_DATA8) | ||
697 | PM_POP(ICPLB_DATA7) | ||
698 | PM_POP(ICPLB_DATA6) | ||
699 | PM_POP(ICPLB_DATA5) | ||
700 | PM_POP(ICPLB_DATA4) | ||
701 | PM_POP(ICPLB_DATA3) | ||
702 | PM_POP(ICPLB_DATA2) | ||
703 | PM_POP(ICPLB_DATA1) | ||
704 | PM_POP(ICPLB_DATA0) | ||
705 | PM_POP(ICPLB_ADDR15) | ||
706 | PM_POP(ICPLB_ADDR14) | ||
707 | PM_POP(ICPLB_ADDR13) | ||
708 | PM_POP(ICPLB_ADDR12) | ||
709 | PM_POP(ICPLB_ADDR11) | ||
710 | PM_POP(ICPLB_ADDR10) | ||
711 | PM_POP(ICPLB_ADDR9) | ||
712 | PM_POP(ICPLB_ADDR8) | ||
713 | PM_POP(ICPLB_ADDR7) | ||
714 | PM_POP(ICPLB_ADDR6) | ||
715 | PM_POP(ICPLB_ADDR5) | ||
716 | PM_POP(ICPLB_ADDR4) | ||
717 | PM_POP(ICPLB_ADDR3) | ||
718 | PM_POP(ICPLB_ADDR2) | ||
719 | PM_POP(ICPLB_ADDR1) | ||
720 | PM_POP(ICPLB_ADDR0) | ||
721 | PM_POP(IMEM_CONTROL) | ||
722 | PM_POP(DCPLB_DATA15) | ||
723 | PM_POP(DCPLB_DATA14) | ||
724 | PM_POP(DCPLB_DATA13) | ||
725 | PM_POP(DCPLB_DATA12) | ||
726 | PM_POP(DCPLB_DATA11) | ||
727 | PM_POP(DCPLB_DATA10) | ||
728 | PM_POP(DCPLB_DATA9) | ||
729 | PM_POP(DCPLB_DATA8) | ||
730 | PM_POP(DCPLB_DATA7) | ||
731 | PM_POP(DCPLB_DATA6) | ||
732 | PM_POP(DCPLB_DATA5) | ||
733 | PM_POP(DCPLB_DATA4) | ||
734 | PM_POP(DCPLB_DATA3) | ||
735 | PM_POP(DCPLB_DATA2) | ||
736 | PM_POP(DCPLB_DATA1) | ||
737 | PM_POP(DCPLB_DATA0) | ||
738 | PM_POP(DCPLB_ADDR15) | ||
739 | PM_POP(DCPLB_ADDR14) | ||
740 | PM_POP(DCPLB_ADDR13) | ||
741 | PM_POP(DCPLB_ADDR12) | ||
742 | PM_POP(DCPLB_ADDR11) | ||
743 | PM_POP(DCPLB_ADDR10) | ||
744 | PM_POP(DCPLB_ADDR9) | ||
745 | PM_POP(DCPLB_ADDR8) | ||
746 | PM_POP(DCPLB_ADDR7) | ||
747 | PM_POP(DCPLB_ADDR6) | ||
748 | PM_POP(DCPLB_ADDR5) | ||
749 | PM_POP(DCPLB_ADDR4) | ||
750 | PM_POP(DCPLB_ADDR3) | ||
751 | PM_POP(DCPLB_ADDR2) | ||
752 | PM_POP(DCPLB_ADDR1) | ||
753 | PM_POP(DCPLB_ADDR0) | ||
754 | PM_POP(DMEM_CONTROL) | ||
755 | |||
756 | /* Restore System MMRs */ | ||
757 | |||
758 | P0.H = hi(PLL_CTL); | ||
759 | P0.L = lo(PLL_CTL); | ||
760 | PM_SYS_POP16(SYSCR) | ||
761 | |||
762 | #ifdef EBIU_FCTL | ||
763 | PM_SYS_POP(EBIU_FCTL) | ||
764 | PM_SYS_POP(EBIU_MODE) | ||
765 | PM_SYS_POP(EBIU_MBSCTL) | ||
766 | #endif | ||
767 | PM_SYS_POP16(EBIU_AMGCTL) | ||
768 | PM_SYS_POP(EBIU_AMBCTL1) | ||
769 | PM_SYS_POP(EBIU_AMBCTL0) | ||
770 | |||
771 | #ifdef PINT0_ASSIGN | ||
772 | PM_SYS_POP(PINT3_ASSIGN) | ||
773 | PM_SYS_POP(PINT2_ASSIGN) | ||
774 | PM_SYS_POP(PINT1_ASSIGN) | ||
775 | PM_SYS_POP(PINT0_ASSIGN) | ||
776 | #endif | ||
777 | |||
778 | #ifdef SICA_IWR1 | ||
779 | PM_SYS_POP(SICA_IWR1) | ||
780 | #endif | ||
781 | #ifdef SICA_IWR0 | ||
782 | PM_SYS_POP(SICA_IWR0) | ||
783 | #endif | ||
784 | #ifdef SIC_IWR2 | ||
785 | PM_SYS_POP(SIC_IWR2) | ||
786 | #endif | ||
787 | #ifdef SIC_IWR1 | ||
788 | PM_SYS_POP(SIC_IWR1) | ||
789 | #endif | ||
790 | #ifdef SIC_IWR0 | ||
791 | PM_SYS_POP(SIC_IWR0) | ||
792 | #endif | ||
793 | #ifdef SIC_IWR | ||
794 | PM_SYS_POP(SIC_IWR) | ||
795 | #endif | ||
796 | |||
797 | #ifdef SICA_IAR0 | ||
798 | PM_SYS_POP(SICA_IAR7) | ||
799 | PM_SYS_POP(SICA_IAR6) | ||
800 | PM_SYS_POP(SICA_IAR5) | ||
801 | PM_SYS_POP(SICA_IAR4) | ||
802 | PM_SYS_POP(SICA_IAR3) | ||
803 | PM_SYS_POP(SICA_IAR2) | ||
804 | PM_SYS_POP(SICA_IAR1) | ||
805 | PM_SYS_POP(SICA_IAR0) | ||
806 | #endif | ||
807 | |||
808 | #ifdef SIC_IAR8 | ||
809 | PM_SYS_POP(SIC_IAR11) | ||
810 | PM_SYS_POP(SIC_IAR10) | ||
811 | PM_SYS_POP(SIC_IAR9) | ||
812 | PM_SYS_POP(SIC_IAR8) | ||
813 | #endif | ||
814 | #ifdef SIC_IAR7 | ||
815 | PM_SYS_POP(SIC_IAR7) | ||
816 | #endif | ||
817 | #ifdef SIC_IAR6 | ||
818 | PM_SYS_POP(SIC_IAR6) | ||
819 | PM_SYS_POP(SIC_IAR5) | ||
820 | PM_SYS_POP(SIC_IAR4) | ||
821 | #endif | ||
822 | #ifdef SIC_IAR3 | ||
823 | PM_SYS_POP(SIC_IAR3) | ||
824 | #endif | ||
825 | #ifdef SIC_IAR2 | ||
826 | PM_SYS_POP(SIC_IAR2) | ||
827 | PM_SYS_POP(SIC_IAR1) | ||
828 | PM_SYS_POP(SIC_IAR0) | ||
829 | #endif | ||
830 | #ifdef SICA_IMASK1 | ||
831 | PM_SYS_POP(SICA_IMASK1) | ||
832 | #endif | ||
833 | #ifdef SICA_IMASK0 | ||
834 | PM_SYS_POP(SICA_IMASK0) | ||
835 | #endif | ||
836 | #ifdef SIC_IMASK | ||
837 | PM_SYS_POP(SIC_IMASK) | ||
838 | #endif | ||
839 | #ifdef SIC_IMASK2 | ||
840 | PM_SYS_POP(SIC_IMASK2) | ||
841 | #endif | ||
842 | #ifdef SIC_IMASK1 | ||
843 | PM_SYS_POP(SIC_IMASK1) | ||
844 | #endif | ||
845 | #ifdef SIC_IMASK0 | ||
846 | PM_SYS_POP(SIC_IMASK0) | ||
847 | #endif | ||
848 | |||
849 | [--sp] = RETI; /* Clear Global Interrupt Disable */ | ||
850 | SP += 4; | ||
851 | |||
852 | RETS = [SP++]; | ||
853 | ( R7:0, P5:0 ) = [SP++]; | ||
854 | RTS; | ||
855 | ENDPROC(_do_hibernate) | ||
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S index 038f70e0be65..eceb484d90f9 100644 --- a/arch/blackfin/mach-common/entry.S +++ b/arch/blackfin/mach-common/entry.S | |||
@@ -158,23 +158,45 @@ ENTRY(_ex_single_step) | |||
158 | cc = r7 == r6; | 158 | cc = r7 == r6; |
159 | if cc jump _bfin_return_from_exception; | 159 | if cc jump _bfin_return_from_exception; |
160 | 160 | ||
161 | /* Don't do single step in hardware exception handler */ | ||
162 | p5.l = lo(IPEND); | ||
163 | p5.h = hi(IPEND); | ||
164 | r6 = [p5]; | ||
165 | cc = bittst(r6, 5); | ||
166 | if cc jump _bfin_return_from_exception; | ||
167 | |||
168 | #ifdef CONFIG_KGDB | ||
169 | /* skip single step if current interrupt priority is higher than | ||
170 | * that of the first instruction, from which gdb starts single step */ | ||
171 | r6 >>= 6; | ||
172 | r7 = 10; | ||
173 | .Lfind_priority_start: | ||
174 | cc = bittst(r6, 0); | ||
175 | if cc jump .Lfind_priority_done; | ||
176 | r6 >>= 1; | ||
177 | r7 += -1; | ||
178 | cc = r7 == 0; | ||
179 | if cc jump .Lfind_priority_done; | ||
180 | jump.s .Lfind_priority_start; | ||
181 | .Lfind_priority_done: | ||
182 | p4.l = _debugger_step; | ||
183 | p4.h = _debugger_step; | ||
184 | r6 = [p4]; | ||
185 | cc = r6 == 0; | ||
186 | if cc jump .Ldo_single_step; | ||
187 | r6 += -1; | ||
188 | cc = r6 < r7; | ||
189 | if cc jump _bfin_return_from_exception; | ||
190 | .Ldo_single_step: | ||
191 | #endif | ||
192 | |||
161 | /* If we were in user mode, do the single step normally. */ | 193 | /* If we were in user mode, do the single step normally. */ |
162 | p5.l = lo(IPEND); | ||
163 | p5.h = hi(IPEND); | ||
164 | r6 = [p5]; | 194 | r6 = [p5]; |
165 | r7 = 0xffe0 (z); | 195 | r7 = 0xffe0 (z); |
166 | r7 = r7 & r6; | 196 | r7 = r7 & r6; |
167 | cc = r7 == 0; | 197 | cc = r7 == 0; |
168 | if !cc jump 1f; | 198 | if cc jump 1f; |
169 | |||
170 | /* Single stepping only a single instruction, so clear the trace | ||
171 | * bit here. */ | ||
172 | r7 = syscfg; | ||
173 | bitclr (r7, 0); | ||
174 | syscfg = R7; | ||
175 | jump _ex_trap_c; | ||
176 | 199 | ||
177 | 1: | ||
178 | /* | 200 | /* |
179 | * We were in an interrupt handler. By convention, all of them save | 201 | * We were in an interrupt handler. By convention, all of them save |
180 | * SYSCFG with their first instruction, so by checking whether our | 202 | * SYSCFG with their first instruction, so by checking whether our |
@@ -202,11 +224,15 @@ ENTRY(_ex_single_step) | |||
202 | cc = R7 == R6; | 224 | cc = R7 == R6; |
203 | if !cc jump _bfin_return_from_exception; | 225 | if !cc jump _bfin_return_from_exception; |
204 | 226 | ||
227 | 1: | ||
228 | /* Single stepping only a single instruction, so clear the trace | ||
229 | * bit here. */ | ||
205 | r7 = syscfg; | 230 | r7 = syscfg; |
206 | bitclr (r7, 0); | 231 | bitclr (r7, 0); |
207 | syscfg = R7; | 232 | syscfg = R7; |
208 | 233 | ||
209 | /* Fall through to _bfin_return_from_exception. */ | 234 | jump _ex_trap_c; |
235 | |||
210 | ENDPROC(_ex_single_step) | 236 | ENDPROC(_ex_single_step) |
211 | 237 | ||
212 | ENTRY(_bfin_return_from_exception) | 238 | ENTRY(_bfin_return_from_exception) |
diff --git a/arch/blackfin/mach-common/ints-priority.c b/arch/blackfin/mach-common/ints-priority.c index f5fd768022ea..64d746114e4b 100644 --- a/arch/blackfin/mach-common/ints-priority.c +++ b/arch/blackfin/mach-common/ints-priority.c | |||
@@ -459,6 +459,8 @@ static struct irq_chip bfin_gpio_irqchip = { | |||
459 | .mask = bfin_gpio_mask_irq, | 459 | .mask = bfin_gpio_mask_irq, |
460 | .mask_ack = bfin_gpio_mask_ack_irq, | 460 | .mask_ack = bfin_gpio_mask_ack_irq, |
461 | .unmask = bfin_gpio_unmask_irq, | 461 | .unmask = bfin_gpio_unmask_irq, |
462 | .disable = bfin_gpio_mask_irq, | ||
463 | .enable = bfin_gpio_unmask_irq, | ||
462 | .set_type = bfin_gpio_irq_type, | 464 | .set_type = bfin_gpio_irq_type, |
463 | .startup = bfin_gpio_irq_startup, | 465 | .startup = bfin_gpio_irq_startup, |
464 | .shutdown = bfin_gpio_irq_shutdown, | 466 | .shutdown = bfin_gpio_irq_shutdown, |
@@ -846,6 +848,8 @@ static struct irq_chip bfin_gpio_irqchip = { | |||
846 | .mask = bfin_gpio_mask_irq, | 848 | .mask = bfin_gpio_mask_irq, |
847 | .mask_ack = bfin_gpio_mask_ack_irq, | 849 | .mask_ack = bfin_gpio_mask_ack_irq, |
848 | .unmask = bfin_gpio_unmask_irq, | 850 | .unmask = bfin_gpio_unmask_irq, |
851 | .disable = bfin_gpio_mask_irq, | ||
852 | .enable = bfin_gpio_unmask_irq, | ||
849 | .set_type = bfin_gpio_irq_type, | 853 | .set_type = bfin_gpio_irq_type, |
850 | .startup = bfin_gpio_irq_startup, | 854 | .startup = bfin_gpio_irq_startup, |
851 | .shutdown = bfin_gpio_irq_shutdown, | 855 | .shutdown = bfin_gpio_irq_shutdown, |
diff --git a/arch/blackfin/mach-common/pm.c b/arch/blackfin/mach-common/pm.c index 0be805ca423f..4fe6a2366b13 100644 --- a/arch/blackfin/mach-common/pm.c +++ b/arch/blackfin/mach-common/pm.c | |||
@@ -38,8 +38,9 @@ | |||
38 | #include <linux/io.h> | 38 | #include <linux/io.h> |
39 | #include <linux/irq.h> | 39 | #include <linux/irq.h> |
40 | 40 | ||
41 | #include <asm/dpmc.h> | ||
42 | #include <asm/gpio.h> | 41 | #include <asm/gpio.h> |
42 | #include <asm/dma.h> | ||
43 | #include <asm/dpmc.h> | ||
43 | 44 | ||
44 | #ifdef CONFIG_PM_WAKEUP_GPIO_POLAR_H | 45 | #ifdef CONFIG_PM_WAKEUP_GPIO_POLAR_H |
45 | #define WAKEUP_TYPE PM_WAKE_HIGH | 46 | #define WAKEUP_TYPE PM_WAKE_HIGH |
@@ -61,16 +62,17 @@ | |||
61 | #define WAKEUP_TYPE PM_WAKE_BOTH_EDGES | 62 | #define WAKEUP_TYPE PM_WAKE_BOTH_EDGES |
62 | #endif | 63 | #endif |
63 | 64 | ||
65 | |||
64 | void bfin_pm_suspend_standby_enter(void) | 66 | void bfin_pm_suspend_standby_enter(void) |
65 | { | 67 | { |
68 | unsigned long flags; | ||
69 | |||
66 | #ifdef CONFIG_PM_WAKEUP_BY_GPIO | 70 | #ifdef CONFIG_PM_WAKEUP_BY_GPIO |
67 | gpio_pm_wakeup_request(CONFIG_PM_WAKEUP_GPIO_NUMBER, WAKEUP_TYPE); | 71 | gpio_pm_wakeup_request(CONFIG_PM_WAKEUP_GPIO_NUMBER, WAKEUP_TYPE); |
68 | #endif | 72 | #endif |
69 | 73 | ||
70 | u32 flags; | ||
71 | |||
72 | local_irq_save(flags); | 74 | local_irq_save(flags); |
73 | bfin_pm_setup(); | 75 | bfin_pm_standby_setup(); |
74 | 76 | ||
75 | #ifdef CONFIG_PM_BFIN_SLEEP_DEEPER | 77 | #ifdef CONFIG_PM_BFIN_SLEEP_DEEPER |
76 | sleep_deeper(bfin_sic_iwr[0], bfin_sic_iwr[1], bfin_sic_iwr[2]); | 78 | sleep_deeper(bfin_sic_iwr[0], bfin_sic_iwr[1], bfin_sic_iwr[2]); |
@@ -78,7 +80,7 @@ void bfin_pm_suspend_standby_enter(void) | |||
78 | sleep_mode(bfin_sic_iwr[0], bfin_sic_iwr[1], bfin_sic_iwr[2]); | 80 | sleep_mode(bfin_sic_iwr[0], bfin_sic_iwr[1], bfin_sic_iwr[2]); |
79 | #endif | 81 | #endif |
80 | 82 | ||
81 | bfin_pm_restore(); | 83 | bfin_pm_standby_restore(); |
82 | 84 | ||
83 | #if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561) | 85 | #if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561) |
84 | bfin_write_SIC_IWR0(IWR_ENABLE_ALL); | 86 | bfin_write_SIC_IWR0(IWR_ENABLE_ALL); |
@@ -93,6 +95,195 @@ void bfin_pm_suspend_standby_enter(void) | |||
93 | local_irq_restore(flags); | 95 | local_irq_restore(flags); |
94 | } | 96 | } |
95 | 97 | ||
98 | int bf53x_suspend_l1_mem(unsigned char *memptr) | ||
99 | { | ||
100 | dma_memcpy(memptr, (const void *) L1_CODE_START, L1_CODE_LENGTH); | ||
101 | dma_memcpy(memptr + L1_CODE_LENGTH, (const void *) L1_DATA_A_START, | ||
102 | L1_DATA_A_LENGTH); | ||
103 | dma_memcpy(memptr + L1_CODE_LENGTH + L1_DATA_A_LENGTH, | ||
104 | (const void *) L1_DATA_B_START, L1_DATA_B_LENGTH); | ||
105 | memcpy(memptr + L1_CODE_LENGTH + L1_DATA_A_LENGTH + | ||
106 | L1_DATA_B_LENGTH, (const void *) L1_SCRATCH_START, | ||
107 | L1_SCRATCH_LENGTH); | ||
108 | |||
109 | return 0; | ||
110 | } | ||
111 | |||
112 | int bf53x_resume_l1_mem(unsigned char *memptr) | ||
113 | { | ||
114 | dma_memcpy((void *) L1_CODE_START, memptr, L1_CODE_LENGTH); | ||
115 | dma_memcpy((void *) L1_DATA_A_START, memptr + L1_CODE_LENGTH, | ||
116 | L1_DATA_A_LENGTH); | ||
117 | dma_memcpy((void *) L1_DATA_B_START, memptr + L1_CODE_LENGTH + | ||
118 | L1_DATA_A_LENGTH, L1_DATA_B_LENGTH); | ||
119 | memcpy((void *) L1_SCRATCH_START, memptr + L1_CODE_LENGTH + | ||
120 | L1_DATA_A_LENGTH + L1_DATA_B_LENGTH, L1_SCRATCH_LENGTH); | ||
121 | |||
122 | return 0; | ||
123 | } | ||
124 | |||
125 | #ifdef CONFIG_BFIN_WB | ||
126 | static void flushinv_all_dcache(void) | ||
127 | { | ||
128 | u32 way, bank, subbank, set; | ||
129 | u32 status, addr; | ||
130 | u32 dmem_ctl = bfin_read_DMEM_CONTROL(); | ||
131 | |||
132 | for (bank = 0; bank < 2; ++bank) { | ||
133 | if (!(dmem_ctl & (1 << (DMC1_P - bank)))) | ||
134 | continue; | ||
135 | |||
136 | for (way = 0; way < 2; ++way) | ||
137 | for (subbank = 0; subbank < 4; ++subbank) | ||
138 | for (set = 0; set < 64; ++set) { | ||
139 | |||
140 | bfin_write_DTEST_COMMAND( | ||
141 | way << 26 | | ||
142 | bank << 23 | | ||
143 | subbank << 16 | | ||
144 | set << 5 | ||
145 | ); | ||
146 | CSYNC(); | ||
147 | status = bfin_read_DTEST_DATA0(); | ||
148 | |||
149 | /* only worry about valid/dirty entries */ | ||
150 | if ((status & 0x3) != 0x3) | ||
151 | continue; | ||
152 | |||
153 | /* construct the address using the tag */ | ||
154 | addr = (status & 0xFFFFC800) | (subbank << 12) | (set << 5); | ||
155 | |||
156 | /* flush it */ | ||
157 | __asm__ __volatile__("FLUSHINV[%0];" : : "a"(addr)); | ||
158 | } | ||
159 | } | ||
160 | } | ||
161 | #endif | ||
162 | |||
163 | static inline void dcache_disable(void) | ||
164 | { | ||
165 | #ifdef CONFIG_BFIN_DCACHE | ||
166 | unsigned long ctrl; | ||
167 | |||
168 | #ifdef CONFIG_BFIN_WB | ||
169 | flushinv_all_dcache(); | ||
170 | #endif | ||
171 | SSYNC(); | ||
172 | ctrl = bfin_read_DMEM_CONTROL(); | ||
173 | ctrl &= ~ENDCPLB; | ||
174 | bfin_write_DMEM_CONTROL(ctrl); | ||
175 | SSYNC(); | ||
176 | #endif | ||
177 | } | ||
178 | |||
179 | static inline void dcache_enable(void) | ||
180 | { | ||
181 | #ifdef CONFIG_BFIN_DCACHE | ||
182 | unsigned long ctrl; | ||
183 | SSYNC(); | ||
184 | ctrl = bfin_read_DMEM_CONTROL(); | ||
185 | ctrl |= ENDCPLB; | ||
186 | bfin_write_DMEM_CONTROL(ctrl); | ||
187 | SSYNC(); | ||
188 | #endif | ||
189 | } | ||
190 | |||
191 | static inline void icache_disable(void) | ||
192 | { | ||
193 | #ifdef CONFIG_BFIN_ICACHE | ||
194 | unsigned long ctrl; | ||
195 | SSYNC(); | ||
196 | ctrl = bfin_read_IMEM_CONTROL(); | ||
197 | ctrl &= ~ENICPLB; | ||
198 | bfin_write_IMEM_CONTROL(ctrl); | ||
199 | SSYNC(); | ||
200 | #endif | ||
201 | } | ||
202 | |||
203 | static inline void icache_enable(void) | ||
204 | { | ||
205 | #ifdef CONFIG_BFIN_ICACHE | ||
206 | unsigned long ctrl; | ||
207 | SSYNC(); | ||
208 | ctrl = bfin_read_IMEM_CONTROL(); | ||
209 | ctrl |= ENICPLB; | ||
210 | bfin_write_IMEM_CONTROL(ctrl); | ||
211 | SSYNC(); | ||
212 | #endif | ||
213 | } | ||
214 | |||
215 | int bfin_pm_suspend_mem_enter(void) | ||
216 | { | ||
217 | unsigned long flags; | ||
218 | int wakeup, ret; | ||
219 | |||
220 | unsigned char *memptr = kmalloc(L1_CODE_LENGTH + L1_DATA_A_LENGTH | ||
221 | + L1_DATA_B_LENGTH + L1_SCRATCH_LENGTH, | ||
222 | GFP_KERNEL); | ||
223 | |||
224 | if (memptr == NULL) { | ||
225 | panic("bf53x_suspend_l1_mem malloc failed"); | ||
226 | return -ENOMEM; | ||
227 | } | ||
228 | |||
229 | wakeup = bfin_read_VR_CTL() & ~FREQ; | ||
230 | wakeup |= SCKELOW; | ||
231 | |||
232 | /* FIXME: merge this somehow with set_irq_wake */ | ||
233 | #ifdef CONFIG_PM_BFIN_WAKE_RTC | ||
234 | wakeup |= WAKE; | ||
235 | #endif | ||
236 | #ifdef CONFIG_PM_BFIN_WAKE_PH6 | ||
237 | wakeup |= PHYWE; | ||
238 | #endif | ||
239 | #ifdef CONFIG_PM_BFIN_WAKE_CAN | ||
240 | wakeup |= CANWE; | ||
241 | #endif | ||
242 | #ifdef CONFIG_PM_BFIN_WAKE_GP | ||
243 | wakeup |= GPWE; | ||
244 | #endif | ||
245 | #ifdef CONFIG_PM_BFIN_WAKE_USB | ||
246 | wakeup |= USBWE; | ||
247 | #endif | ||
248 | #ifdef CONFIG_PM_BFIN_WAKE_KEYPAD | ||
249 | wakeup |= KPADWE; | ||
250 | #endif | ||
251 | #ifdef CONFIG_PM_BFIN_WAKE_ROTARY | ||
252 | wakeup |= ROTWE; | ||
253 | #endif | ||
254 | |||
255 | local_irq_save(flags); | ||
256 | |||
257 | ret = blackfin_dma_suspend(); | ||
258 | |||
259 | if (ret) { | ||
260 | local_irq_restore(flags); | ||
261 | kfree(memptr); | ||
262 | return ret; | ||
263 | } | ||
264 | |||
265 | bfin_gpio_pm_hibernate_suspend(); | ||
266 | |||
267 | dcache_disable(); | ||
268 | icache_disable(); | ||
269 | bf53x_suspend_l1_mem(memptr); | ||
270 | |||
271 | do_hibernate(wakeup); /* Goodbye */ | ||
272 | |||
273 | bf53x_resume_l1_mem(memptr); | ||
274 | |||
275 | icache_enable(); | ||
276 | dcache_enable(); | ||
277 | |||
278 | bfin_gpio_pm_hibernate_restore(); | ||
279 | blackfin_dma_resume(); | ||
280 | |||
281 | local_irq_restore(flags); | ||
282 | kfree(memptr); | ||
283 | |||
284 | return 0; | ||
285 | } | ||
286 | |||
96 | /* | 287 | /* |
97 | * bfin_pm_valid - Tell the PM core that we only support the standby sleep | 288 | * bfin_pm_valid - Tell the PM core that we only support the standby sleep |
98 | * state | 289 | * state |
@@ -101,7 +292,24 @@ void bfin_pm_suspend_standby_enter(void) | |||
101 | */ | 292 | */ |
102 | static int bfin_pm_valid(suspend_state_t state) | 293 | static int bfin_pm_valid(suspend_state_t state) |
103 | { | 294 | { |
104 | return (state == PM_SUSPEND_STANDBY); | 295 | return (state == PM_SUSPEND_STANDBY |
296 | #ifndef BF533_FAMILY | ||
297 | /* | ||
298 | * On BF533/2/1: | ||
299 | * If we enter Hibernate the SCKE Pin is driven Low, | ||
300 | * so that the SDRAM enters Self Refresh Mode. | ||
301 | * However when the reset sequence that follows hibernate | ||
302 | * state is executed, SCKE is driven High, taking the | ||
303 | * SDRAM out of Self Refresh. | ||
304 | * | ||
305 | * If you reconfigure and access the SDRAM "very quickly", | ||
306 | * you are likely to avoid errors, otherwise the SDRAM | ||
307 | * start losing its contents. | ||
308 | * An external HW workaround is possible using logic gates. | ||
309 | */ | ||
310 | || state == PM_SUSPEND_MEM | ||
311 | #endif | ||
312 | ); | ||
105 | } | 313 | } |
106 | 314 | ||
107 | /* | 315 | /* |
@@ -115,10 +323,9 @@ static int bfin_pm_enter(suspend_state_t state) | |||
115 | case PM_SUSPEND_STANDBY: | 323 | case PM_SUSPEND_STANDBY: |
116 | bfin_pm_suspend_standby_enter(); | 324 | bfin_pm_suspend_standby_enter(); |
117 | break; | 325 | break; |
118 | |||
119 | case PM_SUSPEND_MEM: | 326 | case PM_SUSPEND_MEM: |
120 | return -ENOTSUPP; | 327 | bfin_pm_suspend_mem_enter(); |
121 | 328 | break; | |
122 | default: | 329 | default: |
123 | return -EINVAL; | 330 | return -EINVAL; |
124 | } | 331 | } |
diff --git a/arch/blackfin/mm/blackfin_sram.c b/arch/blackfin/mm/blackfin_sram.c index 3246f91c7baa..5af3c31c9365 100644 --- a/arch/blackfin/mm/blackfin_sram.c +++ b/arch/blackfin/mm/blackfin_sram.c | |||
@@ -41,215 +41,309 @@ | |||
41 | #include <asm/blackfin.h> | 41 | #include <asm/blackfin.h> |
42 | #include "blackfin_sram.h" | 42 | #include "blackfin_sram.h" |
43 | 43 | ||
44 | spinlock_t l1sram_lock, l1_data_sram_lock, l1_inst_sram_lock; | 44 | static spinlock_t l1sram_lock, l1_data_sram_lock, l1_inst_sram_lock; |
45 | 45 | static spinlock_t l2_sram_lock; | |
46 | #if CONFIG_L1_MAX_PIECE < 16 | ||
47 | #undef CONFIG_L1_MAX_PIECE | ||
48 | #define CONFIG_L1_MAX_PIECE 16 | ||
49 | #endif | ||
50 | |||
51 | #if CONFIG_L1_MAX_PIECE > 1024 | ||
52 | #undef CONFIG_L1_MAX_PIECE | ||
53 | #define CONFIG_L1_MAX_PIECE 1024 | ||
54 | #endif | ||
55 | |||
56 | #define SRAM_SLT_NULL 0 | ||
57 | #define SRAM_SLT_FREE 1 | ||
58 | #define SRAM_SLT_ALLOCATED 2 | ||
59 | 46 | ||
60 | /* the data structure for L1 scratchpad and DATA SRAM */ | 47 | /* the data structure for L1 scratchpad and DATA SRAM */ |
61 | struct l1_sram_piece { | 48 | struct sram_piece { |
62 | void *paddr; | 49 | void *paddr; |
63 | int size; | 50 | int size; |
64 | int flag; | ||
65 | pid_t pid; | 51 | pid_t pid; |
52 | struct sram_piece *next; | ||
66 | }; | 53 | }; |
67 | 54 | ||
68 | static struct l1_sram_piece l1_ssram[CONFIG_L1_MAX_PIECE]; | 55 | static struct sram_piece free_l1_ssram_head, used_l1_ssram_head; |
69 | 56 | ||
70 | #if L1_DATA_A_LENGTH != 0 | 57 | #if L1_DATA_A_LENGTH != 0 |
71 | static struct l1_sram_piece l1_data_A_sram[CONFIG_L1_MAX_PIECE]; | 58 | static struct sram_piece free_l1_data_A_sram_head, used_l1_data_A_sram_head; |
72 | #endif | 59 | #endif |
73 | 60 | ||
74 | #if L1_DATA_B_LENGTH != 0 | 61 | #if L1_DATA_B_LENGTH != 0 |
75 | static struct l1_sram_piece l1_data_B_sram[CONFIG_L1_MAX_PIECE]; | 62 | static struct sram_piece free_l1_data_B_sram_head, used_l1_data_B_sram_head; |
76 | #endif | 63 | #endif |
77 | 64 | ||
78 | #if L1_CODE_LENGTH != 0 | 65 | #if L1_CODE_LENGTH != 0 |
79 | static struct l1_sram_piece l1_inst_sram[CONFIG_L1_MAX_PIECE]; | 66 | static struct sram_piece free_l1_inst_sram_head, used_l1_inst_sram_head; |
67 | #endif | ||
68 | |||
69 | #ifdef L2_LENGTH | ||
70 | static struct sram_piece free_l2_sram_head, used_l2_sram_head; | ||
80 | #endif | 71 | #endif |
81 | 72 | ||
73 | static struct kmem_cache *sram_piece_cache; | ||
74 | |||
82 | /* L1 Scratchpad SRAM initialization function */ | 75 | /* L1 Scratchpad SRAM initialization function */ |
83 | void __init l1sram_init(void) | 76 | static void __init l1sram_init(void) |
84 | { | 77 | { |
85 | printk(KERN_INFO "Blackfin Scratchpad data SRAM: %d KB\n", | 78 | free_l1_ssram_head.next = |
86 | L1_SCRATCH_LENGTH >> 10); | 79 | kmem_cache_alloc(sram_piece_cache, GFP_KERNEL); |
80 | if (!free_l1_ssram_head.next) { | ||
81 | printk(KERN_INFO"Fail to initialize Scratchpad data SRAM.\n"); | ||
82 | return; | ||
83 | } | ||
84 | |||
85 | free_l1_ssram_head.next->paddr = (void *)L1_SCRATCH_START; | ||
86 | free_l1_ssram_head.next->size = L1_SCRATCH_LENGTH; | ||
87 | free_l1_ssram_head.next->pid = 0; | ||
88 | free_l1_ssram_head.next->next = NULL; | ||
87 | 89 | ||
88 | memset(&l1_ssram, 0x00, sizeof(l1_ssram)); | 90 | used_l1_ssram_head.next = NULL; |
89 | l1_ssram[0].paddr = (void *)L1_SCRATCH_START; | ||
90 | l1_ssram[0].size = L1_SCRATCH_LENGTH; | ||
91 | l1_ssram[0].flag = SRAM_SLT_FREE; | ||
92 | 91 | ||
93 | /* mutex initialize */ | 92 | /* mutex initialize */ |
94 | spin_lock_init(&l1sram_lock); | 93 | spin_lock_init(&l1sram_lock); |
94 | |||
95 | printk(KERN_INFO "Blackfin Scratchpad data SRAM: %d KB\n", | ||
96 | L1_SCRATCH_LENGTH >> 10); | ||
95 | } | 97 | } |
96 | 98 | ||
97 | void __init l1_data_sram_init(void) | 99 | static void __init l1_data_sram_init(void) |
98 | { | 100 | { |
99 | #if L1_DATA_A_LENGTH != 0 | 101 | #if L1_DATA_A_LENGTH != 0 |
100 | memset(&l1_data_A_sram, 0x00, sizeof(l1_data_A_sram)); | 102 | free_l1_data_A_sram_head.next = |
101 | l1_data_A_sram[0].paddr = (void *)L1_DATA_A_START + | 103 | kmem_cache_alloc(sram_piece_cache, GFP_KERNEL); |
102 | (_ebss_l1 - _sdata_l1); | 104 | if (!free_l1_data_A_sram_head.next) { |
103 | l1_data_A_sram[0].size = L1_DATA_A_LENGTH - (_ebss_l1 - _sdata_l1); | 105 | printk(KERN_INFO"Fail to initialize L1 Data A SRAM.\n"); |
104 | l1_data_A_sram[0].flag = SRAM_SLT_FREE; | 106 | return; |
105 | 107 | } | |
106 | printk(KERN_INFO "Blackfin Data A SRAM: %d KB (%d KB free)\n", | 108 | |
107 | L1_DATA_A_LENGTH >> 10, l1_data_A_sram[0].size >> 10); | 109 | free_l1_data_A_sram_head.next->paddr = |
110 | (void *)L1_DATA_A_START + (_ebss_l1 - _sdata_l1); | ||
111 | free_l1_data_A_sram_head.next->size = | ||
112 | L1_DATA_A_LENGTH - (_ebss_l1 - _sdata_l1); | ||
113 | free_l1_data_A_sram_head.next->pid = 0; | ||
114 | free_l1_data_A_sram_head.next->next = NULL; | ||
115 | |||
116 | used_l1_data_A_sram_head.next = NULL; | ||
117 | |||
118 | printk(KERN_INFO "Blackfin L1 Data A SRAM: %d KB (%d KB free)\n", | ||
119 | L1_DATA_A_LENGTH >> 10, | ||
120 | free_l1_data_A_sram_head.next->size >> 10); | ||
108 | #endif | 121 | #endif |
109 | #if L1_DATA_B_LENGTH != 0 | 122 | #if L1_DATA_B_LENGTH != 0 |
110 | memset(&l1_data_B_sram, 0x00, sizeof(l1_data_B_sram)); | 123 | free_l1_data_B_sram_head.next = |
111 | l1_data_B_sram[0].paddr = (void *)L1_DATA_B_START + | 124 | kmem_cache_alloc(sram_piece_cache, GFP_KERNEL); |
112 | (_ebss_b_l1 - _sdata_b_l1); | 125 | if (!free_l1_data_B_sram_head.next) { |
113 | l1_data_B_sram[0].size = L1_DATA_B_LENGTH - (_ebss_b_l1 - _sdata_b_l1); | 126 | printk(KERN_INFO"Fail to initialize L1 Data B SRAM.\n"); |
114 | l1_data_B_sram[0].flag = SRAM_SLT_FREE; | 127 | return; |
115 | 128 | } | |
116 | printk(KERN_INFO "Blackfin Data B SRAM: %d KB (%d KB free)\n", | 129 | |
117 | L1_DATA_B_LENGTH >> 10, l1_data_B_sram[0].size >> 10); | 130 | free_l1_data_B_sram_head.next->paddr = |
131 | (void *)L1_DATA_B_START + (_ebss_b_l1 - _sdata_b_l1); | ||
132 | free_l1_data_B_sram_head.next->size = | ||
133 | L1_DATA_B_LENGTH - (_ebss_b_l1 - _sdata_b_l1); | ||
134 | free_l1_data_B_sram_head.next->pid = 0; | ||
135 | free_l1_data_B_sram_head.next->next = NULL; | ||
136 | |||
137 | used_l1_data_B_sram_head.next = NULL; | ||
138 | |||
139 | printk(KERN_INFO "Blackfin L1 Data B SRAM: %d KB (%d KB free)\n", | ||
140 | L1_DATA_B_LENGTH >> 10, | ||
141 | free_l1_data_B_sram_head.next->size >> 10); | ||
118 | #endif | 142 | #endif |
119 | 143 | ||
120 | /* mutex initialize */ | 144 | /* mutex initialize */ |
121 | spin_lock_init(&l1_data_sram_lock); | 145 | spin_lock_init(&l1_data_sram_lock); |
122 | } | 146 | } |
123 | 147 | ||
124 | void __init l1_inst_sram_init(void) | 148 | static void __init l1_inst_sram_init(void) |
125 | { | 149 | { |
126 | #if L1_CODE_LENGTH != 0 | 150 | #if L1_CODE_LENGTH != 0 |
127 | memset(&l1_inst_sram, 0x00, sizeof(l1_inst_sram)); | 151 | free_l1_inst_sram_head.next = |
128 | l1_inst_sram[0].paddr = (void *)L1_CODE_START + (_etext_l1 - _stext_l1); | 152 | kmem_cache_alloc(sram_piece_cache, GFP_KERNEL); |
129 | l1_inst_sram[0].size = L1_CODE_LENGTH - (_etext_l1 - _stext_l1); | 153 | if (!free_l1_inst_sram_head.next) { |
130 | l1_inst_sram[0].flag = SRAM_SLT_FREE; | 154 | printk(KERN_INFO"Fail to initialize L1 Instruction SRAM.\n"); |
155 | return; | ||
156 | } | ||
131 | 157 | ||
132 | printk(KERN_INFO "Blackfin Instruction SRAM: %d KB (%d KB free)\n", | 158 | free_l1_inst_sram_head.next->paddr = |
133 | L1_CODE_LENGTH >> 10, l1_inst_sram[0].size >> 10); | 159 | (void *)L1_CODE_START + (_etext_l1 - _stext_l1); |
160 | free_l1_inst_sram_head.next->size = | ||
161 | L1_CODE_LENGTH - (_etext_l1 - _stext_l1); | ||
162 | free_l1_inst_sram_head.next->pid = 0; | ||
163 | free_l1_inst_sram_head.next->next = NULL; | ||
164 | |||
165 | used_l1_inst_sram_head.next = NULL; | ||
166 | |||
167 | printk(KERN_INFO "Blackfin L1 Instruction SRAM: %d KB (%d KB free)\n", | ||
168 | L1_CODE_LENGTH >> 10, | ||
169 | free_l1_inst_sram_head.next->size >> 10); | ||
134 | #endif | 170 | #endif |
135 | 171 | ||
136 | /* mutex initialize */ | 172 | /* mutex initialize */ |
137 | spin_lock_init(&l1_inst_sram_lock); | 173 | spin_lock_init(&l1_inst_sram_lock); |
138 | } | 174 | } |
139 | 175 | ||
140 | /* L1 memory allocate function */ | 176 | static void __init l2_sram_init(void) |
141 | static void *_l1_sram_alloc(size_t size, struct l1_sram_piece *pfree, int count) | ||
142 | { | 177 | { |
143 | int i, index = 0; | 178 | #ifdef L2_LENGTH |
144 | void *addr = NULL; | 179 | free_l2_sram_head.next = |
180 | kmem_cache_alloc(sram_piece_cache, GFP_KERNEL); | ||
181 | if (!free_l2_sram_head.next) { | ||
182 | printk(KERN_INFO"Fail to initialize L2 SRAM.\n"); | ||
183 | return; | ||
184 | } | ||
145 | 185 | ||
146 | if (size <= 0) | 186 | free_l2_sram_head.next->paddr = (void *)L2_START + |
187 | (_etext_l2 - _stext_l2) + (_edata_l2 - _sdata_l2); | ||
188 | free_l2_sram_head.next->size = L2_LENGTH - | ||
189 | (_etext_l2 - _stext_l2) + (_edata_l2 - _sdata_l2); | ||
190 | free_l2_sram_head.next->pid = 0; | ||
191 | free_l2_sram_head.next->next = NULL; | ||
192 | |||
193 | used_l2_sram_head.next = NULL; | ||
194 | |||
195 | printk(KERN_INFO "Blackfin L2 SRAM: %d KB (%d KB free)\n", | ||
196 | L2_LENGTH >> 10, | ||
197 | free_l2_sram_head.next->size >> 10); | ||
198 | #endif | ||
199 | |||
200 | /* mutex initialize */ | ||
201 | spin_lock_init(&l2_sram_lock); | ||
202 | } | ||
203 | void __init bfin_sram_init(void) | ||
204 | { | ||
205 | sram_piece_cache = kmem_cache_create("sram_piece_cache", | ||
206 | sizeof(struct sram_piece), | ||
207 | 0, SLAB_PANIC, NULL); | ||
208 | |||
209 | l1sram_init(); | ||
210 | l1_data_sram_init(); | ||
211 | l1_inst_sram_init(); | ||
212 | l2_sram_init(); | ||
213 | } | ||
214 | |||
215 | /* SRAM allocate function */ | ||
216 | static void *_sram_alloc(size_t size, struct sram_piece *pfree_head, | ||
217 | struct sram_piece *pused_head) | ||
218 | { | ||
219 | struct sram_piece *pslot, *plast, *pavail; | ||
220 | |||
221 | if (size <= 0 || !pfree_head || !pused_head) | ||
147 | return NULL; | 222 | return NULL; |
148 | 223 | ||
149 | /* Align the size */ | 224 | /* Align the size */ |
150 | size = (size + 3) & ~3; | 225 | size = (size + 3) & ~3; |
151 | 226 | ||
152 | /* not use the good method to match the best slot !!! */ | 227 | pslot = pfree_head->next; |
153 | /* search an available memory slot */ | 228 | plast = pfree_head; |
154 | for (i = 0; i < count; i++) { | 229 | |
155 | if ((pfree[i].flag == SRAM_SLT_FREE) | 230 | /* search an available piece slot */ |
156 | && (pfree[i].size >= size)) { | 231 | while (pslot != NULL && size > pslot->size) { |
157 | addr = pfree[i].paddr; | 232 | plast = pslot; |
158 | pfree[i].flag = SRAM_SLT_ALLOCATED; | 233 | pslot = pslot->next; |
159 | pfree[i].pid = current->pid; | ||
160 | index = i; | ||
161 | break; | ||
162 | } | ||
163 | } | 234 | } |
164 | if (i >= count) | 235 | |
236 | if (!pslot) | ||
165 | return NULL; | 237 | return NULL; |
166 | 238 | ||
167 | /* updated the NULL memory slot !!! */ | 239 | if (pslot->size == size) { |
168 | if (pfree[i].size > size) { | 240 | plast->next = pslot->next; |
169 | for (i = 0; i < count; i++) { | 241 | pavail = pslot; |
170 | if (pfree[i].flag == SRAM_SLT_NULL) { | 242 | } else { |
171 | pfree[i].pid = 0; | 243 | pavail = kmem_cache_alloc(sram_piece_cache, GFP_KERNEL); |
172 | pfree[i].flag = SRAM_SLT_FREE; | 244 | |
173 | pfree[i].paddr = addr + size; | 245 | if (!pavail) |
174 | pfree[i].size = pfree[index].size - size; | 246 | return NULL; |
175 | pfree[index].size = size; | 247 | |
176 | break; | 248 | pavail->paddr = pslot->paddr; |
177 | } | 249 | pavail->size = size; |
178 | } | 250 | pslot->paddr += size; |
251 | pslot->size -= size; | ||
179 | } | 252 | } |
180 | 253 | ||
181 | return addr; | 254 | pavail->pid = current->pid; |
255 | |||
256 | pslot = pused_head->next; | ||
257 | plast = pused_head; | ||
258 | |||
259 | /* insert new piece into used piece list !!! */ | ||
260 | while (pslot != NULL && pavail->paddr < pslot->paddr) { | ||
261 | plast = pslot; | ||
262 | pslot = pslot->next; | ||
263 | } | ||
264 | |||
265 | pavail->next = pslot; | ||
266 | plast->next = pavail; | ||
267 | |||
268 | return pavail->paddr; | ||
182 | } | 269 | } |
183 | 270 | ||
184 | /* Allocate the largest available block. */ | 271 | /* Allocate the largest available block. */ |
185 | static void *_l1_sram_alloc_max(struct l1_sram_piece *pfree, int count, | 272 | static void *_sram_alloc_max(struct sram_piece *pfree_head, |
273 | struct sram_piece *pused_head, | ||
186 | unsigned long *psize) | 274 | unsigned long *psize) |
187 | { | 275 | { |
188 | unsigned long best = 0; | 276 | struct sram_piece *pslot, *pmax; |
189 | int i, index = -1; | ||
190 | void *addr = NULL; | ||
191 | 277 | ||
192 | /* search an available memory slot */ | 278 | if (!pfree_head || !pused_head) |
193 | for (i = 0; i < count; i++) { | 279 | return NULL; |
194 | if (pfree[i].flag == SRAM_SLT_FREE && pfree[i].size > best) { | 280 | |
195 | addr = pfree[i].paddr; | 281 | pmax = pslot = pfree_head->next; |
196 | index = i; | 282 | |
197 | best = pfree[i].size; | 283 | /* search an available piece slot */ |
198 | } | 284 | while (pslot != NULL) { |
285 | if (pslot->size > pmax->size) | ||
286 | pmax = pslot; | ||
287 | pslot = pslot->next; | ||
199 | } | 288 | } |
200 | if (index < 0) | 289 | |
290 | if (!pmax) | ||
201 | return NULL; | 291 | return NULL; |
202 | *psize = best; | ||
203 | 292 | ||
204 | pfree[index].pid = current->pid; | 293 | *psize = pmax->size; |
205 | pfree[index].flag = SRAM_SLT_ALLOCATED; | 294 | |
206 | return addr; | 295 | return _sram_alloc(*psize, pfree_head, pused_head); |
207 | } | 296 | } |
208 | 297 | ||
209 | /* L1 memory free function */ | 298 | /* SRAM free function */ |
210 | static int _l1_sram_free(const void *addr, | 299 | static int _sram_free(const void *addr, |
211 | struct l1_sram_piece *pfree, | 300 | struct sram_piece *pfree_head, |
212 | int count) | 301 | struct sram_piece *pused_head) |
213 | { | 302 | { |
214 | int i, index = 0; | 303 | struct sram_piece *pslot, *plast, *pavail; |
304 | |||
305 | if (!pfree_head || !pused_head) | ||
306 | return -1; | ||
215 | 307 | ||
216 | /* search the relevant memory slot */ | 308 | /* search the relevant memory slot */ |
217 | for (i = 0; i < count; i++) { | 309 | pslot = pused_head->next; |
218 | if (pfree[i].paddr == addr) { | 310 | plast = pused_head; |
219 | if (pfree[i].flag != SRAM_SLT_ALLOCATED) { | 311 | |
220 | /* error log */ | 312 | /* search an available piece slot */ |
221 | return -1; | 313 | while (pslot != NULL && pslot->paddr != addr) { |
222 | } | 314 | plast = pslot; |
223 | index = i; | 315 | pslot = pslot->next; |
224 | break; | ||
225 | } | ||
226 | } | 316 | } |
227 | if (i >= count) | 317 | |
318 | if (!pslot) | ||
228 | return -1; | 319 | return -1; |
229 | 320 | ||
230 | pfree[index].pid = 0; | 321 | plast->next = pslot->next; |
231 | pfree[index].flag = SRAM_SLT_FREE; | 322 | pavail = pslot; |
232 | 323 | pavail->pid = 0; | |
233 | /* link the next address slot */ | 324 | |
234 | for (i = 0; i < count; i++) { | 325 | /* insert free pieces back to the free list */ |
235 | if (((pfree[index].paddr + pfree[index].size) == pfree[i].paddr) | 326 | pslot = pfree_head->next; |
236 | && (pfree[i].flag == SRAM_SLT_FREE)) { | 327 | plast = pfree_head; |
237 | pfree[i].pid = 0; | 328 | |
238 | pfree[i].flag = SRAM_SLT_NULL; | 329 | while (pslot != NULL && addr > pslot->paddr) { |
239 | pfree[index].size += pfree[i].size; | 330 | plast = pslot; |
240 | pfree[index].flag = SRAM_SLT_FREE; | 331 | pslot = pslot->next; |
241 | break; | 332 | } |
242 | } | 333 | |
334 | if (plast != pfree_head && plast->paddr + plast->size == pavail->paddr) { | ||
335 | plast->size += pavail->size; | ||
336 | kmem_cache_free(sram_piece_cache, pavail); | ||
337 | } else { | ||
338 | pavail->next = plast; | ||
339 | plast->next = pavail; | ||
340 | plast = pavail; | ||
243 | } | 341 | } |
244 | 342 | ||
245 | /* link the last address slot */ | 343 | if (pslot && plast->paddr + plast->size == pslot->paddr) { |
246 | for (i = 0; i < count; i++) { | 344 | plast->size += pslot->size; |
247 | if (((pfree[i].paddr + pfree[i].size) == pfree[index].paddr) && | 345 | plast->next = pslot->next; |
248 | (pfree[i].flag == SRAM_SLT_FREE)) { | 346 | kmem_cache_free(sram_piece_cache, pslot); |
249 | pfree[index].flag = SRAM_SLT_NULL; | ||
250 | pfree[i].size += pfree[index].size; | ||
251 | break; | ||
252 | } | ||
253 | } | 347 | } |
254 | 348 | ||
255 | return 0; | 349 | return 0; |
@@ -273,6 +367,11 @@ int sram_free(const void *addr) | |||
273 | && addr < (void *)(L1_DATA_B_START + L1_DATA_B_LENGTH)) | 367 | && addr < (void *)(L1_DATA_B_START + L1_DATA_B_LENGTH)) |
274 | return l1_data_B_sram_free(addr); | 368 | return l1_data_B_sram_free(addr); |
275 | #endif | 369 | #endif |
370 | #ifdef L2_LENGTH | ||
371 | else if (addr >= (void *)L2_START | ||
372 | && addr < (void *)(L2_START + L2_LENGTH)) | ||
373 | return l2_sram_free(addr); | ||
374 | #endif | ||
276 | else | 375 | else |
277 | return -1; | 376 | return -1; |
278 | } | 377 | } |
@@ -287,7 +386,8 @@ void *l1_data_A_sram_alloc(size_t size) | |||
287 | spin_lock_irqsave(&l1_data_sram_lock, flags); | 386 | spin_lock_irqsave(&l1_data_sram_lock, flags); |
288 | 387 | ||
289 | #if L1_DATA_A_LENGTH != 0 | 388 | #if L1_DATA_A_LENGTH != 0 |
290 | addr = _l1_sram_alloc(size, l1_data_A_sram, ARRAY_SIZE(l1_data_A_sram)); | 389 | addr = _sram_alloc(size, &free_l1_data_A_sram_head, |
390 | &used_l1_data_A_sram_head); | ||
291 | #endif | 391 | #endif |
292 | 392 | ||
293 | /* add mutex operation */ | 393 | /* add mutex operation */ |
@@ -309,8 +409,8 @@ int l1_data_A_sram_free(const void *addr) | |||
309 | spin_lock_irqsave(&l1_data_sram_lock, flags); | 409 | spin_lock_irqsave(&l1_data_sram_lock, flags); |
310 | 410 | ||
311 | #if L1_DATA_A_LENGTH != 0 | 411 | #if L1_DATA_A_LENGTH != 0 |
312 | ret = _l1_sram_free(addr, | 412 | ret = _sram_free(addr, &free_l1_data_A_sram_head, |
313 | l1_data_A_sram, ARRAY_SIZE(l1_data_A_sram)); | 413 | &used_l1_data_A_sram_head); |
314 | #else | 414 | #else |
315 | ret = -1; | 415 | ret = -1; |
316 | #endif | 416 | #endif |
@@ -331,7 +431,8 @@ void *l1_data_B_sram_alloc(size_t size) | |||
331 | /* add mutex operation */ | 431 | /* add mutex operation */ |
332 | spin_lock_irqsave(&l1_data_sram_lock, flags); | 432 | spin_lock_irqsave(&l1_data_sram_lock, flags); |
333 | 433 | ||
334 | addr = _l1_sram_alloc(size, l1_data_B_sram, ARRAY_SIZE(l1_data_B_sram)); | 434 | addr = _sram_alloc(size, &free_l1_data_B_sram_head, |
435 | &used_l1_data_B_sram_head); | ||
335 | 436 | ||
336 | /* add mutex operation */ | 437 | /* add mutex operation */ |
337 | spin_unlock_irqrestore(&l1_data_sram_lock, flags); | 438 | spin_unlock_irqrestore(&l1_data_sram_lock, flags); |
@@ -355,7 +456,8 @@ int l1_data_B_sram_free(const void *addr) | |||
355 | /* add mutex operation */ | 456 | /* add mutex operation */ |
356 | spin_lock_irqsave(&l1_data_sram_lock, flags); | 457 | spin_lock_irqsave(&l1_data_sram_lock, flags); |
357 | 458 | ||
358 | ret = _l1_sram_free(addr, l1_data_B_sram, ARRAY_SIZE(l1_data_B_sram)); | 459 | ret = _sram_free(addr, &free_l1_data_B_sram_head, |
460 | &used_l1_data_B_sram_head); | ||
359 | 461 | ||
360 | /* add mutex operation */ | 462 | /* add mutex operation */ |
361 | spin_unlock_irqrestore(&l1_data_sram_lock, flags); | 463 | spin_unlock_irqrestore(&l1_data_sram_lock, flags); |
@@ -408,7 +510,8 @@ void *l1_inst_sram_alloc(size_t size) | |||
408 | /* add mutex operation */ | 510 | /* add mutex operation */ |
409 | spin_lock_irqsave(&l1_inst_sram_lock, flags); | 511 | spin_lock_irqsave(&l1_inst_sram_lock, flags); |
410 | 512 | ||
411 | addr = _l1_sram_alloc(size, l1_inst_sram, ARRAY_SIZE(l1_inst_sram)); | 513 | addr = _sram_alloc(size, &free_l1_inst_sram_head, |
514 | &used_l1_inst_sram_head); | ||
412 | 515 | ||
413 | /* add mutex operation */ | 516 | /* add mutex operation */ |
414 | spin_unlock_irqrestore(&l1_inst_sram_lock, flags); | 517 | spin_unlock_irqrestore(&l1_inst_sram_lock, flags); |
@@ -432,7 +535,8 @@ int l1_inst_sram_free(const void *addr) | |||
432 | /* add mutex operation */ | 535 | /* add mutex operation */ |
433 | spin_lock_irqsave(&l1_inst_sram_lock, flags); | 536 | spin_lock_irqsave(&l1_inst_sram_lock, flags); |
434 | 537 | ||
435 | ret = _l1_sram_free(addr, l1_inst_sram, ARRAY_SIZE(l1_inst_sram)); | 538 | ret = _sram_free(addr, &free_l1_inst_sram_head, |
539 | &used_l1_inst_sram_head); | ||
436 | 540 | ||
437 | /* add mutex operation */ | 541 | /* add mutex operation */ |
438 | spin_unlock_irqrestore(&l1_inst_sram_lock, flags); | 542 | spin_unlock_irqrestore(&l1_inst_sram_lock, flags); |
@@ -453,7 +557,8 @@ void *l1sram_alloc(size_t size) | |||
453 | /* add mutex operation */ | 557 | /* add mutex operation */ |
454 | spin_lock_irqsave(&l1sram_lock, flags); | 558 | spin_lock_irqsave(&l1sram_lock, flags); |
455 | 559 | ||
456 | addr = _l1_sram_alloc(size, l1_ssram, ARRAY_SIZE(l1_ssram)); | 560 | addr = _sram_alloc(size, &free_l1_ssram_head, |
561 | &used_l1_ssram_head); | ||
457 | 562 | ||
458 | /* add mutex operation */ | 563 | /* add mutex operation */ |
459 | spin_unlock_irqrestore(&l1sram_lock, flags); | 564 | spin_unlock_irqrestore(&l1sram_lock, flags); |
@@ -470,7 +575,8 @@ void *l1sram_alloc_max(size_t *psize) | |||
470 | /* add mutex operation */ | 575 | /* add mutex operation */ |
471 | spin_lock_irqsave(&l1sram_lock, flags); | 576 | spin_lock_irqsave(&l1sram_lock, flags); |
472 | 577 | ||
473 | addr = _l1_sram_alloc_max(l1_ssram, ARRAY_SIZE(l1_ssram), psize); | 578 | addr = _sram_alloc_max(&free_l1_ssram_head, |
579 | &used_l1_ssram_head, psize); | ||
474 | 580 | ||
475 | /* add mutex operation */ | 581 | /* add mutex operation */ |
476 | spin_unlock_irqrestore(&l1sram_lock, flags); | 582 | spin_unlock_irqrestore(&l1sram_lock, flags); |
@@ -487,7 +593,8 @@ int l1sram_free(const void *addr) | |||
487 | /* add mutex operation */ | 593 | /* add mutex operation */ |
488 | spin_lock_irqsave(&l1sram_lock, flags); | 594 | spin_lock_irqsave(&l1sram_lock, flags); |
489 | 595 | ||
490 | ret = _l1_sram_free(addr, l1_ssram, ARRAY_SIZE(l1_ssram)); | 596 | ret = _sram_free(addr, &free_l1_ssram_head, |
597 | &used_l1_ssram_head); | ||
491 | 598 | ||
492 | /* add mutex operation */ | 599 | /* add mutex operation */ |
493 | spin_unlock_irqrestore(&l1sram_lock, flags); | 600 | spin_unlock_irqrestore(&l1sram_lock, flags); |
@@ -495,6 +602,64 @@ int l1sram_free(const void *addr) | |||
495 | return ret; | 602 | return ret; |
496 | } | 603 | } |
497 | 604 | ||
605 | void *l2_sram_alloc(size_t size) | ||
606 | { | ||
607 | #ifdef L2_LENGTH | ||
608 | unsigned flags; | ||
609 | void *addr; | ||
610 | |||
611 | /* add mutex operation */ | ||
612 | spin_lock_irqsave(&l2_sram_lock, flags); | ||
613 | |||
614 | addr = _sram_alloc(size, &free_l2_sram_head, | ||
615 | &used_l2_sram_head); | ||
616 | |||
617 | /* add mutex operation */ | ||
618 | spin_unlock_irqrestore(&l2_sram_lock, flags); | ||
619 | |||
620 | pr_debug("Allocated address in l2_sram_alloc is 0x%lx+0x%lx\n", | ||
621 | (long unsigned int)addr, size); | ||
622 | |||
623 | return addr; | ||
624 | #else | ||
625 | return NULL; | ||
626 | #endif | ||
627 | } | ||
628 | EXPORT_SYMBOL(l2_sram_alloc); | ||
629 | |||
630 | void *l2_sram_zalloc(size_t size) | ||
631 | { | ||
632 | void *addr = l2_sram_alloc(size); | ||
633 | |||
634 | if (addr) | ||
635 | memset(addr, 0x00, size); | ||
636 | |||
637 | return addr; | ||
638 | } | ||
639 | EXPORT_SYMBOL(l2_sram_zalloc); | ||
640 | |||
641 | int l2_sram_free(const void *addr) | ||
642 | { | ||
643 | #ifdef L2_LENGTH | ||
644 | unsigned flags; | ||
645 | int ret; | ||
646 | |||
647 | /* add mutex operation */ | ||
648 | spin_lock_irqsave(&l2_sram_lock, flags); | ||
649 | |||
650 | ret = _sram_free(addr, &free_l2_sram_head, | ||
651 | &used_l2_sram_head); | ||
652 | |||
653 | /* add mutex operation */ | ||
654 | spin_unlock_irqrestore(&l2_sram_lock, flags); | ||
655 | |||
656 | return ret; | ||
657 | #else | ||
658 | return -1; | ||
659 | #endif | ||
660 | } | ||
661 | EXPORT_SYMBOL(l2_sram_free); | ||
662 | |||
498 | int sram_free_with_lsl(const void *addr) | 663 | int sram_free_with_lsl(const void *addr) |
499 | { | 664 | { |
500 | struct sram_list_struct *lsl, **tmp; | 665 | struct sram_list_struct *lsl, **tmp; |
@@ -533,6 +698,9 @@ void *sram_alloc_with_lsl(size_t size, unsigned long flags) | |||
533 | if (addr == NULL && (flags & L1_DATA_B_SRAM)) | 698 | if (addr == NULL && (flags & L1_DATA_B_SRAM)) |
534 | addr = l1_data_B_sram_alloc(size); | 699 | addr = l1_data_B_sram_alloc(size); |
535 | 700 | ||
701 | if (addr == NULL && (flags & L2_SRAM)) | ||
702 | addr = l2_sram_alloc(size); | ||
703 | |||
536 | if (addr == NULL) { | 704 | if (addr == NULL) { |
537 | kfree(lsl); | 705 | kfree(lsl); |
538 | return NULL; | 706 | return NULL; |
@@ -549,49 +717,80 @@ EXPORT_SYMBOL(sram_alloc_with_lsl); | |||
549 | /* Once we get a real allocator, we'll throw all of this away. | 717 | /* Once we get a real allocator, we'll throw all of this away. |
550 | * Until then, we need some sort of visibility into the L1 alloc. | 718 | * Until then, we need some sort of visibility into the L1 alloc. |
551 | */ | 719 | */ |
552 | static void _l1sram_proc_read(char *buf, int *len, const char *desc, | 720 | /* Need to keep line of output the same. Currently, that is 44 bytes |
553 | struct l1_sram_piece *pfree, const int array_size) | 721 | * (including newline). |
722 | */ | ||
723 | static int _sram_proc_read(char *buf, int *len, int count, const char *desc, | ||
724 | struct sram_piece *pfree_head, | ||
725 | struct sram_piece *pused_head) | ||
554 | { | 726 | { |
555 | int i; | 727 | struct sram_piece *pslot; |
556 | 728 | ||
557 | *len += sprintf(&buf[*len], "--- L1 %-14s Size PID State\n", desc); | 729 | if (!pfree_head || !pused_head) |
558 | for (i = 0; i < array_size; ++i) { | 730 | return -1; |
559 | const char *alloc_type; | 731 | |
560 | switch (pfree[i].flag) { | 732 | *len += sprintf(&buf[*len], "--- SRAM %-14s Size PID State \n", desc); |
561 | case SRAM_SLT_NULL: alloc_type = "NULL"; break; | 733 | |
562 | case SRAM_SLT_FREE: alloc_type = "FREE"; break; | 734 | /* search the relevant memory slot */ |
563 | case SRAM_SLT_ALLOCATED: alloc_type = "ALLOCATED"; break; | 735 | pslot = pused_head->next; |
564 | default: alloc_type = "????"; break; | 736 | |
565 | } | 737 | while (pslot != NULL) { |
566 | *len += sprintf(&buf[*len], "%p-%p %8i %4i %s\n", | 738 | *len += sprintf(&buf[*len], "%p-%p %10i %5i %-10s\n", |
567 | pfree[i].paddr, pfree[i].paddr + pfree[i].size, | 739 | pslot->paddr, pslot->paddr + pslot->size, |
568 | pfree[i].size, pfree[i].pid, alloc_type); | 740 | pslot->size, pslot->pid, "ALLOCATED"); |
741 | |||
742 | pslot = pslot->next; | ||
569 | } | 743 | } |
744 | |||
745 | pslot = pfree_head->next; | ||
746 | |||
747 | while (pslot != NULL) { | ||
748 | *len += sprintf(&buf[*len], "%p-%p %10i %5i %-10s\n", | ||
749 | pslot->paddr, pslot->paddr + pslot->size, | ||
750 | pslot->size, pslot->pid, "FREE"); | ||
751 | |||
752 | pslot = pslot->next; | ||
753 | } | ||
754 | |||
755 | return 0; | ||
570 | } | 756 | } |
571 | static int l1sram_proc_read(char *buf, char **start, off_t offset, int count, | 757 | static int sram_proc_read(char *buf, char **start, off_t offset, int count, |
572 | int *eof, void *data) | 758 | int *eof, void *data) |
573 | { | 759 | { |
574 | int len = 0; | 760 | int len = 0; |
575 | 761 | ||
576 | _l1sram_proc_read(buf, &len, "Scratchpad", | 762 | if (_sram_proc_read(buf, &len, count, "Scratchpad", |
577 | l1_ssram, ARRAY_SIZE(l1_ssram)); | 763 | &free_l1_ssram_head, &used_l1_ssram_head)) |
764 | goto not_done; | ||
578 | #if L1_DATA_A_LENGTH != 0 | 765 | #if L1_DATA_A_LENGTH != 0 |
579 | _l1sram_proc_read(buf, &len, "Data A", | 766 | if (_sram_proc_read(buf, &len, count, "L1 Data A", |
580 | l1_data_A_sram, ARRAY_SIZE(l1_data_A_sram)); | 767 | &free_l1_data_A_sram_head, |
768 | &used_l1_data_A_sram_head)) | ||
769 | goto not_done; | ||
581 | #endif | 770 | #endif |
582 | #if L1_DATA_B_LENGTH != 0 | 771 | #if L1_DATA_B_LENGTH != 0 |
583 | _l1sram_proc_read(buf, &len, "Data B", | 772 | if (_sram_proc_read(buf, &len, count, "L1 Data B", |
584 | l1_data_B_sram, ARRAY_SIZE(l1_data_B_sram)); | 773 | &free_l1_data_B_sram_head, |
774 | &used_l1_data_B_sram_head)) | ||
775 | goto not_done; | ||
585 | #endif | 776 | #endif |
586 | #if L1_CODE_LENGTH != 0 | 777 | #if L1_CODE_LENGTH != 0 |
587 | _l1sram_proc_read(buf, &len, "Instruction", | 778 | if (_sram_proc_read(buf, &len, count, "L1 Instruction", |
588 | l1_inst_sram, ARRAY_SIZE(l1_inst_sram)); | 779 | &free_l1_inst_sram_head, &used_l1_inst_sram_head)) |
780 | goto not_done; | ||
781 | #endif | ||
782 | #ifdef L2_LENGTH | ||
783 | if (_sram_proc_read(buf, &len, count, "L2", | ||
784 | &free_l2_sram_head, &used_l2_sram_head)) | ||
785 | goto not_done; | ||
589 | #endif | 786 | #endif |
590 | 787 | ||
788 | *eof = 1; | ||
789 | not_done: | ||
591 | return len; | 790 | return len; |
592 | } | 791 | } |
593 | 792 | ||
594 | static int __init l1sram_proc_init(void) | 793 | static int __init sram_proc_init(void) |
595 | { | 794 | { |
596 | struct proc_dir_entry *ptr; | 795 | struct proc_dir_entry *ptr; |
597 | ptr = create_proc_entry("sram", S_IFREG | S_IRUGO, NULL); | 796 | ptr = create_proc_entry("sram", S_IFREG | S_IRUGO, NULL); |
@@ -600,8 +799,8 @@ static int __init l1sram_proc_init(void) | |||
600 | return -1; | 799 | return -1; |
601 | } | 800 | } |
602 | ptr->owner = THIS_MODULE; | 801 | ptr->owner = THIS_MODULE; |
603 | ptr->read_proc = l1sram_proc_read; | 802 | ptr->read_proc = sram_proc_read; |
604 | return 0; | 803 | return 0; |
605 | } | 804 | } |
606 | late_initcall(l1sram_proc_init); | 805 | late_initcall(sram_proc_init); |
607 | #endif | 806 | #endif |
diff --git a/arch/blackfin/mm/blackfin_sram.h b/arch/blackfin/mm/blackfin_sram.h index 0fb73b78dd60..8cb0945563f9 100644 --- a/arch/blackfin/mm/blackfin_sram.h +++ b/arch/blackfin/mm/blackfin_sram.h | |||
@@ -30,9 +30,7 @@ | |||
30 | #ifndef __BLACKFIN_SRAM_H__ | 30 | #ifndef __BLACKFIN_SRAM_H__ |
31 | #define __BLACKFIN_SRAM_H__ | 31 | #define __BLACKFIN_SRAM_H__ |
32 | 32 | ||
33 | extern void l1sram_init(void); | 33 | extern void bfin_sram_init(void); |
34 | extern void l1_inst_sram_init(void); | ||
35 | extern void l1_data_sram_init(void); | ||
36 | extern void *l1sram_alloc(size_t); | 34 | extern void *l1sram_alloc(size_t); |
37 | 35 | ||
38 | #endif | 36 | #endif |
diff --git a/arch/blackfin/mm/init.c b/arch/blackfin/mm/init.c index ec3141fefd20..bc240abb8745 100644 --- a/arch/blackfin/mm/init.c +++ b/arch/blackfin/mm/init.c | |||
@@ -53,33 +53,6 @@ static unsigned long empty_bad_page; | |||
53 | 53 | ||
54 | unsigned long empty_zero_page; | 54 | unsigned long empty_zero_page; |
55 | 55 | ||
56 | void show_mem(void) | ||
57 | { | ||
58 | unsigned long i; | ||
59 | int free = 0, total = 0, reserved = 0, shared = 0; | ||
60 | |||
61 | int cached = 0; | ||
62 | printk(KERN_INFO "Mem-info:\n"); | ||
63 | show_free_areas(); | ||
64 | i = max_mapnr; | ||
65 | while (i-- > 0) { | ||
66 | total++; | ||
67 | if (PageReserved(mem_map + i)) | ||
68 | reserved++; | ||
69 | else if (PageSwapCache(mem_map + i)) | ||
70 | cached++; | ||
71 | else if (!page_count(mem_map + i)) | ||
72 | free++; | ||
73 | else | ||
74 | shared += page_count(mem_map + i) - 1; | ||
75 | } | ||
76 | printk(KERN_INFO "%d pages of RAM\n", total); | ||
77 | printk(KERN_INFO "%d free pages\n", free); | ||
78 | printk(KERN_INFO "%d reserved pages\n", reserved); | ||
79 | printk(KERN_INFO "%d pages shared\n", shared); | ||
80 | printk(KERN_INFO "%d pages swap cached\n", cached); | ||
81 | } | ||
82 | |||
83 | /* | 56 | /* |
84 | * paging_init() continues the virtual memory environment setup which | 57 | * paging_init() continues the virtual memory environment setup which |
85 | * was begun by the code in arch/head.S. | 58 | * was begun by the code in arch/head.S. |
@@ -164,11 +137,14 @@ void __init mem_init(void) | |||
164 | "(%uk init code, %uk kernel code, %uk data, %uk dma, %uk reserved)\n", | 137 | "(%uk init code, %uk kernel code, %uk data, %uk dma, %uk reserved)\n", |
165 | (unsigned long) freepages << (PAGE_SHIFT-10), _ramend >> 10, | 138 | (unsigned long) freepages << (PAGE_SHIFT-10), _ramend >> 10, |
166 | initk, codek, datak, DMA_UNCACHED_REGION >> 10, (reservedpages << (PAGE_SHIFT-10))); | 139 | initk, codek, datak, DMA_UNCACHED_REGION >> 10, (reservedpages << (PAGE_SHIFT-10))); |
140 | } | ||
141 | |||
142 | static int __init sram_init(void) | ||
143 | { | ||
144 | unsigned long tmp; | ||
167 | 145 | ||
168 | /* Initialize the blackfin L1 Memory. */ | 146 | /* Initialize the blackfin L1 Memory. */ |
169 | l1sram_init(); | 147 | bfin_sram_init(); |
170 | l1_data_sram_init(); | ||
171 | l1_inst_sram_init(); | ||
172 | 148 | ||
173 | /* Allocate this once; never free it. We assume this gives us a | 149 | /* Allocate this once; never free it. We assume this gives us a |
174 | pointer to the start of L1 scratchpad memory; panic if it | 150 | pointer to the start of L1 scratchpad memory; panic if it |
@@ -179,7 +155,10 @@ void __init mem_init(void) | |||
179 | tmp, (unsigned long)L1_SCRATCH_TASK_INFO); | 155 | tmp, (unsigned long)L1_SCRATCH_TASK_INFO); |
180 | panic("No L1, time to give up\n"); | 156 | panic("No L1, time to give up\n"); |
181 | } | 157 | } |
158 | |||
159 | return 0; | ||
182 | } | 160 | } |
161 | pure_initcall(sram_init); | ||
183 | 162 | ||
184 | static void __init free_init_pages(const char *what, unsigned long begin, unsigned long end) | 163 | static void __init free_init_pages(const char *what, unsigned long begin, unsigned long end) |
185 | { | 164 | { |
diff --git a/arch/cris/arch-v10/kernel/kgdb.c b/arch/cris/arch-v10/kernel/kgdb.c index a3ca55150745..6fea45f2e40c 100644 --- a/arch/cris/arch-v10/kernel/kgdb.c +++ b/arch/cris/arch-v10/kernel/kgdb.c | |||
@@ -278,14 +278,6 @@ void putDebugChar (int val); | |||
278 | 278 | ||
279 | void enableDebugIRQ (void); | 279 | void enableDebugIRQ (void); |
280 | 280 | ||
281 | /* Returns the character equivalent of a nibble, bit 7, 6, 5, and 4 of a byte, | ||
282 | represented by int x. */ | ||
283 | static char highhex (int x); | ||
284 | |||
285 | /* Returns the character equivalent of a nibble, bit 3, 2, 1, and 0 of a byte, | ||
286 | represented by int x. */ | ||
287 | static char lowhex (int x); | ||
288 | |||
289 | /* Returns the integer equivalent of a hexadecimal character. */ | 281 | /* Returns the integer equivalent of a hexadecimal character. */ |
290 | static int hex (char ch); | 282 | static int hex (char ch); |
291 | 283 | ||
@@ -356,9 +348,6 @@ extern unsigned char executing_task; | |||
356 | /* Run-length encoding maximum length. Send 64 at most. */ | 348 | /* Run-length encoding maximum length. Send 64 at most. */ |
357 | #define RUNLENMAX 64 | 349 | #define RUNLENMAX 64 |
358 | 350 | ||
359 | /* Definition of all valid hexadecimal characters */ | ||
360 | static const char hexchars[] = "0123456789abcdef"; | ||
361 | |||
362 | /* The inbound/outbound buffers used in packet I/O */ | 351 | /* The inbound/outbound buffers used in packet I/O */ |
363 | static char remcomInBuffer[BUFMAX]; | 352 | static char remcomInBuffer[BUFMAX]; |
364 | static char remcomOutBuffer[BUFMAX]; | 353 | static char remcomOutBuffer[BUFMAX]; |
@@ -499,8 +488,8 @@ gdb_cris_strtol (const char *s, char **endptr, int base) | |||
499 | char *sd; | 488 | char *sd; |
500 | int x = 0; | 489 | int x = 0; |
501 | 490 | ||
502 | for (s1 = (char*)s; (sd = gdb_cris_memchr(hexchars, *s1, base)) != NULL; ++s1) | 491 | for (s1 = (char*)s; (sd = gdb_cris_memchr(hex_asc, *s1, base)) != NULL; ++s1) |
503 | x = x * base + (sd - hexchars); | 492 | x = x * base + (sd - hex_asc); |
504 | 493 | ||
505 | if (endptr) | 494 | if (endptr) |
506 | { | 495 | { |
@@ -670,22 +659,6 @@ read_register (char regno, unsigned int *valptr) | |||
670 | } | 659 | } |
671 | 660 | ||
672 | /********************************** Packet I/O ******************************/ | 661 | /********************************** Packet I/O ******************************/ |
673 | /* Returns the character equivalent of a nibble, bit 7, 6, 5, and 4 of a byte, | ||
674 | represented by int x. */ | ||
675 | static inline char | ||
676 | highhex(int x) | ||
677 | { | ||
678 | return hexchars[(x >> 4) & 0xf]; | ||
679 | } | ||
680 | |||
681 | /* Returns the character equivalent of a nibble, bit 3, 2, 1, and 0 of a byte, | ||
682 | represented by int x. */ | ||
683 | static inline char | ||
684 | lowhex(int x) | ||
685 | { | ||
686 | return hexchars[x & 0xf]; | ||
687 | } | ||
688 | |||
689 | /* Returns the integer equivalent of a hexadecimal character. */ | 662 | /* Returns the integer equivalent of a hexadecimal character. */ |
690 | static int | 663 | static int |
691 | hex (char ch) | 664 | hex (char ch) |
@@ -721,8 +694,7 @@ mem2hex(char *buf, unsigned char *mem, int count) | |||
721 | /* Valid mem address. */ | 694 | /* Valid mem address. */ |
722 | for (i = 0; i < count; i++) { | 695 | for (i = 0; i < count; i++) { |
723 | ch = *mem++; | 696 | ch = *mem++; |
724 | *buf++ = highhex (ch); | 697 | buf = pack_hex_byte(buf, ch); |
725 | *buf++ = lowhex (ch); | ||
726 | } | 698 | } |
727 | } | 699 | } |
728 | 700 | ||
@@ -857,9 +829,9 @@ putpacket(char *buffer) | |||
857 | src++; | 829 | src++; |
858 | } | 830 | } |
859 | } | 831 | } |
860 | putDebugChar ('#'); | 832 | putDebugChar('#'); |
861 | putDebugChar (highhex (checksum)); | 833 | putDebugChar(hex_asc_hi(checksum)); |
862 | putDebugChar (lowhex (checksum)); | 834 | putDebugChar(hex_asc_lo(checksum)); |
863 | } while(kgdb_started && (getDebugChar() != '+')); | 835 | } while(kgdb_started && (getDebugChar() != '+')); |
864 | } | 836 | } |
865 | 837 | ||
@@ -895,9 +867,8 @@ stub_is_stopped(int sigval) | |||
895 | 867 | ||
896 | /* Send trap type (converted to signal) */ | 868 | /* Send trap type (converted to signal) */ |
897 | 869 | ||
898 | *ptr++ = 'T'; | 870 | *ptr++ = 'T'; |
899 | *ptr++ = highhex (sigval); | 871 | ptr = pack_hex_byte(ptr, sigval); |
900 | *ptr++ = lowhex (sigval); | ||
901 | 872 | ||
902 | /* Send register contents. We probably only need to send the | 873 | /* Send register contents. We probably only need to send the |
903 | * PC, frame pointer and stack pointer here. Other registers will be | 874 | * PC, frame pointer and stack pointer here. Other registers will be |
@@ -910,9 +881,7 @@ stub_is_stopped(int sigval) | |||
910 | status = read_register (regno, ®_cont); | 881 | status = read_register (regno, ®_cont); |
911 | 882 | ||
912 | if (status == SUCCESS) { | 883 | if (status == SUCCESS) { |
913 | 884 | ptr = pack_hex_byte(ptr, regno); | |
914 | *ptr++ = highhex (regno); | ||
915 | *ptr++ = lowhex (regno); | ||
916 | *ptr++ = ':'; | 885 | *ptr++ = ':'; |
917 | 886 | ||
918 | ptr = mem2hex(ptr, (unsigned char *)®_cont, | 887 | ptr = mem2hex(ptr, (unsigned char *)®_cont, |
@@ -937,8 +906,8 @@ stub_is_stopped(int sigval) | |||
937 | /* Store thread:r...; with the executing task TID. */ | 906 | /* Store thread:r...; with the executing task TID. */ |
938 | gdb_cris_strcpy (&remcomOutBuffer[pos], "thread:"); | 907 | gdb_cris_strcpy (&remcomOutBuffer[pos], "thread:"); |
939 | pos += gdb_cris_strlen ("thread:"); | 908 | pos += gdb_cris_strlen ("thread:"); |
940 | remcomOutBuffer[pos++] = highhex (executing_task); | 909 | remcomOutBuffer[pos++] = hex_asc_hi(executing_task); |
941 | remcomOutBuffer[pos++] = lowhex (executing_task); | 910 | remcomOutBuffer[pos++] = hex_asc_lo(executing_task); |
942 | gdb_cris_strcpy (&remcomOutBuffer[pos], ";"); | 911 | gdb_cris_strcpy (&remcomOutBuffer[pos], ";"); |
943 | #endif | 912 | #endif |
944 | 913 | ||
@@ -1126,8 +1095,8 @@ handle_exception (int sigval) | |||
1126 | Success: SAA, where AA is the signal number. | 1095 | Success: SAA, where AA is the signal number. |
1127 | Failure: void. */ | 1096 | Failure: void. */ |
1128 | remcomOutBuffer[0] = 'S'; | 1097 | remcomOutBuffer[0] = 'S'; |
1129 | remcomOutBuffer[1] = highhex (sigval); | 1098 | remcomOutBuffer[1] = hex_asc_hi(sigval); |
1130 | remcomOutBuffer[2] = lowhex (sigval); | 1099 | remcomOutBuffer[2] = hex_asc_lo(sigval); |
1131 | remcomOutBuffer[3] = 0; | 1100 | remcomOutBuffer[3] = 0; |
1132 | break; | 1101 | break; |
1133 | 1102 | ||
@@ -1224,23 +1193,23 @@ handle_exception (int sigval) | |||
1224 | case 'C': | 1193 | case 'C': |
1225 | /* Identify the remote current thread. */ | 1194 | /* Identify the remote current thread. */ |
1226 | gdb_cris_strcpy (&remcomOutBuffer[0], "QC"); | 1195 | gdb_cris_strcpy (&remcomOutBuffer[0], "QC"); |
1227 | remcomOutBuffer[2] = highhex (current_thread_c); | 1196 | remcomOutBuffer[2] = hex_asc_hi(current_thread_c); |
1228 | remcomOutBuffer[3] = lowhex (current_thread_c); | 1197 | remcomOutBuffer[3] = hex_asc_lo(current_thread_c); |
1229 | remcomOutBuffer[4] = '\0'; | 1198 | remcomOutBuffer[4] = '\0'; |
1230 | break; | 1199 | break; |
1231 | case 'L': | 1200 | case 'L': |
1232 | gdb_cris_strcpy (&remcomOutBuffer[0], "QM"); | 1201 | gdb_cris_strcpy (&remcomOutBuffer[0], "QM"); |
1233 | /* Reply with number of threads. */ | 1202 | /* Reply with number of threads. */ |
1234 | if (os_is_started()) { | 1203 | if (os_is_started()) { |
1235 | remcomOutBuffer[2] = highhex (number_of_tasks); | 1204 | remcomOutBuffer[2] = hex_asc_hi(number_of_tasks); |
1236 | remcomOutBuffer[3] = lowhex (number_of_tasks); | 1205 | remcomOutBuffer[3] = hex_asc_lo(number_of_tasks); |
1237 | } | 1206 | } |
1238 | else { | 1207 | else { |
1239 | remcomOutBuffer[2] = highhex (0); | 1208 | remcomOutBuffer[2] = hex_asc_hi(0); |
1240 | remcomOutBuffer[3] = lowhex (1); | 1209 | remcomOutBuffer[3] = hex_asc_lo(1); |
1241 | } | 1210 | } |
1242 | /* Done with the reply. */ | 1211 | /* Done with the reply. */ |
1243 | remcomOutBuffer[4] = lowhex (1); | 1212 | remcomOutBuffer[4] = hex_asc_lo(1); |
1244 | pos = 5; | 1213 | pos = 5; |
1245 | /* Expects the argument thread id. */ | 1214 | /* Expects the argument thread id. */ |
1246 | for (; pos < (5 + HEXCHARS_IN_THREAD_ID); pos++) | 1215 | for (; pos < (5 + HEXCHARS_IN_THREAD_ID); pos++) |
@@ -1251,16 +1220,16 @@ handle_exception (int sigval) | |||
1251 | for (thread_id = 0; thread_id < number_of_tasks; thread_id++) { | 1220 | for (thread_id = 0; thread_id < number_of_tasks; thread_id++) { |
1252 | nextpos = pos + HEXCHARS_IN_THREAD_ID - 1; | 1221 | nextpos = pos + HEXCHARS_IN_THREAD_ID - 1; |
1253 | for (; pos < nextpos; pos ++) | 1222 | for (; pos < nextpos; pos ++) |
1254 | remcomOutBuffer[pos] = lowhex (0); | 1223 | remcomOutBuffer[pos] = hex_asc_lo(0); |
1255 | remcomOutBuffer[pos++] = lowhex (thread_id); | 1224 | remcomOutBuffer[pos++] = hex_asc_lo(thread_id); |
1256 | } | 1225 | } |
1257 | } | 1226 | } |
1258 | else { | 1227 | else { |
1259 | /* Store the thread identifier of the boot task. */ | 1228 | /* Store the thread identifier of the boot task. */ |
1260 | nextpos = pos + HEXCHARS_IN_THREAD_ID - 1; | 1229 | nextpos = pos + HEXCHARS_IN_THREAD_ID - 1; |
1261 | for (; pos < nextpos; pos ++) | 1230 | for (; pos < nextpos; pos ++) |
1262 | remcomOutBuffer[pos] = lowhex (0); | 1231 | remcomOutBuffer[pos] = hex_asc_lo(0); |
1263 | remcomOutBuffer[pos++] = lowhex (current_thread_c); | 1232 | remcomOutBuffer[pos++] = hex_asc_lo(current_thread_c); |
1264 | } | 1233 | } |
1265 | remcomOutBuffer[pos] = '\0'; | 1234 | remcomOutBuffer[pos] = '\0'; |
1266 | break; | 1235 | break; |
diff --git a/arch/cris/arch-v32/kernel/kgdb.c b/arch/cris/arch-v32/kernel/kgdb.c index 4e2e2e271efb..8bd5a5bc0dc7 100644 --- a/arch/cris/arch-v32/kernel/kgdb.c +++ b/arch/cris/arch-v32/kernel/kgdb.c | |||
@@ -398,14 +398,6 @@ void putDebugChar(int val) | |||
398 | } | 398 | } |
399 | #endif | 399 | #endif |
400 | 400 | ||
401 | /* Returns the character equivalent of a nibble, bit 7, 6, 5, and 4 of a byte, | ||
402 | represented by int x. */ | ||
403 | static char highhex(int x); | ||
404 | |||
405 | /* Returns the character equivalent of a nibble, bit 3, 2, 1, and 0 of a byte, | ||
406 | represented by int x. */ | ||
407 | static char lowhex(int x); | ||
408 | |||
409 | /* Returns the integer equivalent of a hexadecimal character. */ | 401 | /* Returns the integer equivalent of a hexadecimal character. */ |
410 | static int hex(char ch); | 402 | static int hex(char ch); |
411 | 403 | ||
@@ -464,9 +456,6 @@ void breakpoint(void); | |||
464 | /* Run-length encoding maximum length. Send 64 at most. */ | 456 | /* Run-length encoding maximum length. Send 64 at most. */ |
465 | #define RUNLENMAX 64 | 457 | #define RUNLENMAX 64 |
466 | 458 | ||
467 | /* Definition of all valid hexadecimal characters */ | ||
468 | static const char hexchars[] = "0123456789abcdef"; | ||
469 | |||
470 | /* The inbound/outbound buffers used in packet I/O */ | 459 | /* The inbound/outbound buffers used in packet I/O */ |
471 | static char input_buffer[BUFMAX]; | 460 | static char input_buffer[BUFMAX]; |
472 | static char output_buffer[BUFMAX]; | 461 | static char output_buffer[BUFMAX]; |
@@ -550,8 +539,8 @@ gdb_cris_strtol(const char *s, char **endptr, int base) | |||
550 | char *sd; | 539 | char *sd; |
551 | int x = 0; | 540 | int x = 0; |
552 | 541 | ||
553 | for (s1 = (char*)s; (sd = gdb_cris_memchr(hexchars, *s1, base)) != NULL; ++s1) | 542 | for (s1 = (char*)s; (sd = gdb_cris_memchr(hex_asc, *s1, base)) != NULL; ++s1) |
554 | x = x * base + (sd - hexchars); | 543 | x = x * base + (sd - hex_asc); |
555 | 544 | ||
556 | if (endptr) { | 545 | if (endptr) { |
557 | /* Unconverted suffix is stored in endptr unless endptr is NULL. */ | 546 | /* Unconverted suffix is stored in endptr unless endptr is NULL. */ |
@@ -655,22 +644,6 @@ read_register(char regno, unsigned int *valptr) | |||
655 | } | 644 | } |
656 | 645 | ||
657 | /********************************** Packet I/O ******************************/ | 646 | /********************************** Packet I/O ******************************/ |
658 | /* Returns the character equivalent of a nibble, bit 7, 6, 5, and 4 of a byte, | ||
659 | represented by int x. */ | ||
660 | static inline char | ||
661 | highhex(int x) | ||
662 | { | ||
663 | return hexchars[(x >> 4) & 0xf]; | ||
664 | } | ||
665 | |||
666 | /* Returns the character equivalent of a nibble, bit 3, 2, 1, and 0 of a byte, | ||
667 | represented by int x. */ | ||
668 | static inline char | ||
669 | lowhex(int x) | ||
670 | { | ||
671 | return hexchars[x & 0xf]; | ||
672 | } | ||
673 | |||
674 | /* Returns the integer equivalent of a hexadecimal character. */ | 647 | /* Returns the integer equivalent of a hexadecimal character. */ |
675 | static int | 648 | static int |
676 | hex(char ch) | 649 | hex(char ch) |
@@ -704,8 +677,7 @@ mem2hex(char *buf, unsigned char *mem, int count) | |||
704 | /* Valid mem address. */ | 677 | /* Valid mem address. */ |
705 | for (i = 0; i < count; i++) { | 678 | for (i = 0; i < count; i++) { |
706 | ch = *mem++; | 679 | ch = *mem++; |
707 | *buf++ = highhex (ch); | 680 | buf = pack_hex_byte(buf, ch); |
708 | *buf++ = lowhex (ch); | ||
709 | } | 681 | } |
710 | } | 682 | } |
711 | /* Terminate properly. */ | 683 | /* Terminate properly. */ |
@@ -723,8 +695,7 @@ mem2hex_nbo(char *buf, unsigned char *mem, int count) | |||
723 | mem += count - 1; | 695 | mem += count - 1; |
724 | for (i = 0; i < count; i++) { | 696 | for (i = 0; i < count; i++) { |
725 | ch = *mem--; | 697 | ch = *mem--; |
726 | *buf++ = highhex (ch); | 698 | buf = pack_hex_byte(buf, ch); |
727 | *buf++ = lowhex (ch); | ||
728 | } | 699 | } |
729 | 700 | ||
730 | /* Terminate properly. */ | 701 | /* Terminate properly. */ |
@@ -862,8 +833,8 @@ putpacket(char *buffer) | |||
862 | } | 833 | } |
863 | } | 834 | } |
864 | putDebugChar('#'); | 835 | putDebugChar('#'); |
865 | putDebugChar(highhex (checksum)); | 836 | putDebugChar(hex_asc_hi(checksum)); |
866 | putDebugChar(lowhex (checksum)); | 837 | putDebugChar(hex_asc_lo(checksum)); |
867 | } while(kgdb_started && (getDebugChar() != '+')); | 838 | } while(kgdb_started && (getDebugChar() != '+')); |
868 | } | 839 | } |
869 | 840 | ||
@@ -909,8 +880,7 @@ stub_is_stopped(int sigval) | |||
909 | /* Send trap type (converted to signal) */ | 880 | /* Send trap type (converted to signal) */ |
910 | 881 | ||
911 | *ptr++ = 'T'; | 882 | *ptr++ = 'T'; |
912 | *ptr++ = highhex(sigval); | 883 | ptr = pack_hex_byte(ptr, sigval); |
913 | *ptr++ = lowhex(sigval); | ||
914 | 884 | ||
915 | if (((reg.exs & 0xff00) >> 8) == 0xc) { | 885 | if (((reg.exs & 0xff00) >> 8) == 0xc) { |
916 | 886 | ||
@@ -1018,30 +988,26 @@ stub_is_stopped(int sigval) | |||
1018 | } | 988 | } |
1019 | /* Only send PC, frame and stack pointer. */ | 989 | /* Only send PC, frame and stack pointer. */ |
1020 | read_register(PC, ®_cont); | 990 | read_register(PC, ®_cont); |
1021 | *ptr++ = highhex(PC); | 991 | ptr = pack_hex_byte(PC); |
1022 | *ptr++ = lowhex(PC); | ||
1023 | *ptr++ = ':'; | 992 | *ptr++ = ':'; |
1024 | ptr = mem2hex(ptr, (unsigned char *)®_cont, register_size[PC]); | 993 | ptr = mem2hex(ptr, (unsigned char *)®_cont, register_size[PC]); |
1025 | *ptr++ = ';'; | 994 | *ptr++ = ';'; |
1026 | 995 | ||
1027 | read_register(R8, ®_cont); | 996 | read_register(R8, ®_cont); |
1028 | *ptr++ = highhex(R8); | 997 | ptr = pack_hex_byte(R8); |
1029 | *ptr++ = lowhex(R8); | ||
1030 | *ptr++ = ':'; | 998 | *ptr++ = ':'; |
1031 | ptr = mem2hex(ptr, (unsigned char *)®_cont, register_size[R8]); | 999 | ptr = mem2hex(ptr, (unsigned char *)®_cont, register_size[R8]); |
1032 | *ptr++ = ';'; | 1000 | *ptr++ = ';'; |
1033 | 1001 | ||
1034 | read_register(SP, ®_cont); | 1002 | read_register(SP, ®_cont); |
1035 | *ptr++ = highhex(SP); | 1003 | ptr = pack_hex_byte(SP); |
1036 | *ptr++ = lowhex(SP); | ||
1037 | *ptr++ = ':'; | 1004 | *ptr++ = ':'; |
1038 | ptr = mem2hex(ptr, (unsigned char *)®_cont, register_size[SP]); | 1005 | ptr = mem2hex(ptr, (unsigned char *)®_cont, register_size[SP]); |
1039 | *ptr++ = ';'; | 1006 | *ptr++ = ';'; |
1040 | 1007 | ||
1041 | /* Send ERP as well; this will save us an entire register fetch in some cases. */ | 1008 | /* Send ERP as well; this will save us an entire register fetch in some cases. */ |
1042 | read_register(ERP, ®_cont); | 1009 | read_register(ERP, ®_cont); |
1043 | *ptr++ = highhex(ERP); | 1010 | ptr = pack_hex_byte(ERP); |
1044 | *ptr++ = lowhex(ERP); | ||
1045 | *ptr++ = ':'; | 1011 | *ptr++ = ':'; |
1046 | ptr = mem2hex(ptr, (unsigned char *)®_cont, register_size[ERP]); | 1012 | ptr = mem2hex(ptr, (unsigned char *)®_cont, register_size[ERP]); |
1047 | *ptr++ = ';'; | 1013 | *ptr++ = ';'; |
@@ -1533,8 +1499,8 @@ handle_exception(int sigval) | |||
1533 | Success: SAA, where AA is the signal number. | 1499 | Success: SAA, where AA is the signal number. |
1534 | Failure: void. */ | 1500 | Failure: void. */ |
1535 | output_buffer[0] = 'S'; | 1501 | output_buffer[0] = 'S'; |
1536 | output_buffer[1] = highhex(sigval); | 1502 | output_buffer[1] = hex_asc_hi(sigval); |
1537 | output_buffer[2] = lowhex(sigval); | 1503 | output_buffer[2] = hex_asc_lo(sigval); |
1538 | output_buffer[3] = 0; | 1504 | output_buffer[3] = 0; |
1539 | break; | 1505 | break; |
1540 | 1506 | ||
diff --git a/arch/cris/mm/init.c b/arch/cris/mm/init.c index 5b06ffa15e34..2fdd212eb250 100644 --- a/arch/cris/mm/init.c +++ b/arch/cris/mm/init.c | |||
@@ -19,36 +19,6 @@ unsigned long empty_zero_page; | |||
19 | extern char _stext, _edata, _etext; /* From linkerscript */ | 19 | extern char _stext, _edata, _etext; /* From linkerscript */ |
20 | extern char __init_begin, __init_end; | 20 | extern char __init_begin, __init_end; |
21 | 21 | ||
22 | void | ||
23 | show_mem(void) | ||
24 | { | ||
25 | int i,free = 0,total = 0,cached = 0, reserved = 0, nonshared = 0; | ||
26 | int shared = 0; | ||
27 | |||
28 | printk("\nMem-info:\n"); | ||
29 | show_free_areas(); | ||
30 | i = max_mapnr; | ||
31 | while (i-- > 0) { | ||
32 | total++; | ||
33 | if (PageReserved(mem_map+i)) | ||
34 | reserved++; | ||
35 | else if (PageSwapCache(mem_map+i)) | ||
36 | cached++; | ||
37 | else if (!page_count(mem_map+i)) | ||
38 | free++; | ||
39 | else if (page_count(mem_map+i) == 1) | ||
40 | nonshared++; | ||
41 | else | ||
42 | shared += page_count(mem_map+i) - 1; | ||
43 | } | ||
44 | printk("%d pages of RAM\n",total); | ||
45 | printk("%d free pages\n",free); | ||
46 | printk("%d reserved pages\n",reserved); | ||
47 | printk("%d pages nonshared\n",nonshared); | ||
48 | printk("%d pages shared\n",shared); | ||
49 | printk("%d pages swap cached\n",cached); | ||
50 | } | ||
51 | |||
52 | void __init | 22 | void __init |
53 | mem_init(void) | 23 | mem_init(void) |
54 | { | 24 | { |
diff --git a/arch/frv/kernel/gdb-stub.c b/arch/frv/kernel/gdb-stub.c index 48a0393e7cee..7ca8a6b19ac9 100644 --- a/arch/frv/kernel/gdb-stub.c +++ b/arch/frv/kernel/gdb-stub.c | |||
@@ -182,8 +182,6 @@ extern volatile u32 __attribute__((section(".bss"))) gdbstub_trace_through_excep | |||
182 | static char input_buffer[BUFMAX]; | 182 | static char input_buffer[BUFMAX]; |
183 | static char output_buffer[BUFMAX]; | 183 | static char output_buffer[BUFMAX]; |
184 | 184 | ||
185 | static const char hexchars[] = "0123456789abcdef"; | ||
186 | |||
187 | static const char *regnames[] = { | 185 | static const char *regnames[] = { |
188 | "PSR ", "ISR ", "CCR ", "CCCR", | 186 | "PSR ", "ISR ", "CCR ", "CCCR", |
189 | "LR ", "LCR ", "PC ", "_stt", | 187 | "LR ", "LCR ", "PC ", "_stt", |
@@ -383,8 +381,8 @@ static int gdbstub_send_packet(char *buffer) | |||
383 | } | 381 | } |
384 | 382 | ||
385 | gdbstub_tx_char('#'); | 383 | gdbstub_tx_char('#'); |
386 | gdbstub_tx_char(hexchars[checksum >> 4]); | 384 | gdbstub_tx_char(hex_asc_hi(checksum)); |
387 | gdbstub_tx_char(hexchars[checksum & 0xf]); | 385 | gdbstub_tx_char(hex_asc_lo(checksum)); |
388 | 386 | ||
389 | } while (gdbstub_rx_char(&ch,0), | 387 | } while (gdbstub_rx_char(&ch,0), |
390 | #ifdef GDBSTUB_DEBUG_PROTOCOL | 388 | #ifdef GDBSTUB_DEBUG_PROTOCOL |
@@ -674,8 +672,7 @@ static unsigned char *mem2hex(const void *_mem, char *buf, int count, int may_fa | |||
674 | if ((uint32_t)mem&1 && count>=1) { | 672 | if ((uint32_t)mem&1 && count>=1) { |
675 | if (!gdbstub_read_byte(mem,ch)) | 673 | if (!gdbstub_read_byte(mem,ch)) |
676 | return NULL; | 674 | return NULL; |
677 | *buf++ = hexchars[ch[0] >> 4]; | 675 | buf = pack_hex_byte(buf, ch[0]); |
678 | *buf++ = hexchars[ch[0] & 0xf]; | ||
679 | mem++; | 676 | mem++; |
680 | count--; | 677 | count--; |
681 | } | 678 | } |
@@ -683,10 +680,8 @@ static unsigned char *mem2hex(const void *_mem, char *buf, int count, int may_fa | |||
683 | if ((uint32_t)mem&3 && count>=2) { | 680 | if ((uint32_t)mem&3 && count>=2) { |
684 | if (!gdbstub_read_word(mem,(uint16_t *)ch)) | 681 | if (!gdbstub_read_word(mem,(uint16_t *)ch)) |
685 | return NULL; | 682 | return NULL; |
686 | *buf++ = hexchars[ch[0] >> 4]; | 683 | buf = pack_hex_byte(buf, ch[0]); |
687 | *buf++ = hexchars[ch[0] & 0xf]; | 684 | buf = pack_hex_byte(buf, ch[1]); |
688 | *buf++ = hexchars[ch[1] >> 4]; | ||
689 | *buf++ = hexchars[ch[1] & 0xf]; | ||
690 | mem += 2; | 685 | mem += 2; |
691 | count -= 2; | 686 | count -= 2; |
692 | } | 687 | } |
@@ -694,14 +689,10 @@ static unsigned char *mem2hex(const void *_mem, char *buf, int count, int may_fa | |||
694 | while (count>=4) { | 689 | while (count>=4) { |
695 | if (!gdbstub_read_dword(mem,(uint32_t *)ch)) | 690 | if (!gdbstub_read_dword(mem,(uint32_t *)ch)) |
696 | return NULL; | 691 | return NULL; |
697 | *buf++ = hexchars[ch[0] >> 4]; | 692 | buf = pack_hex_byte(buf, ch[0]); |
698 | *buf++ = hexchars[ch[0] & 0xf]; | 693 | buf = pack_hex_byte(buf, ch[1]); |
699 | *buf++ = hexchars[ch[1] >> 4]; | 694 | buf = pack_hex_byte(buf, ch[2]); |
700 | *buf++ = hexchars[ch[1] & 0xf]; | 695 | buf = pack_hex_byte(buf, ch[3]); |
701 | *buf++ = hexchars[ch[2] >> 4]; | ||
702 | *buf++ = hexchars[ch[2] & 0xf]; | ||
703 | *buf++ = hexchars[ch[3] >> 4]; | ||
704 | *buf++ = hexchars[ch[3] & 0xf]; | ||
705 | mem += 4; | 696 | mem += 4; |
706 | count -= 4; | 697 | count -= 4; |
707 | } | 698 | } |
@@ -709,10 +700,8 @@ static unsigned char *mem2hex(const void *_mem, char *buf, int count, int may_fa | |||
709 | if (count>=2) { | 700 | if (count>=2) { |
710 | if (!gdbstub_read_word(mem,(uint16_t *)ch)) | 701 | if (!gdbstub_read_word(mem,(uint16_t *)ch)) |
711 | return NULL; | 702 | return NULL; |
712 | *buf++ = hexchars[ch[0] >> 4]; | 703 | buf = pack_hex_byte(buf, ch[0]); |
713 | *buf++ = hexchars[ch[0] & 0xf]; | 704 | buf = pack_hex_byte(buf, ch[1]); |
714 | *buf++ = hexchars[ch[1] >> 4]; | ||
715 | *buf++ = hexchars[ch[1] & 0xf]; | ||
716 | mem += 2; | 705 | mem += 2; |
717 | count -= 2; | 706 | count -= 2; |
718 | } | 707 | } |
@@ -720,8 +709,7 @@ static unsigned char *mem2hex(const void *_mem, char *buf, int count, int may_fa | |||
720 | if (count>=1) { | 709 | if (count>=1) { |
721 | if (!gdbstub_read_byte(mem,ch)) | 710 | if (!gdbstub_read_byte(mem,ch)) |
722 | return NULL; | 711 | return NULL; |
723 | *buf++ = hexchars[ch[0] >> 4]; | 712 | buf = pack_hex_byte(buf, ch[0]); |
724 | *buf++ = hexchars[ch[0] & 0xf]; | ||
725 | } | 713 | } |
726 | 714 | ||
727 | *buf = 0; | 715 | *buf = 0; |
@@ -1471,22 +1459,22 @@ void gdbstub(int sigval) | |||
1471 | *ptr++ = 'O'; | 1459 | *ptr++ = 'O'; |
1472 | ptr = mem2hex(title, ptr, sizeof(title) - 1,0); | 1460 | ptr = mem2hex(title, ptr, sizeof(title) - 1,0); |
1473 | 1461 | ||
1474 | hx = hexchars[(brr & 0xf0000000) >> 28]; | 1462 | hx = hex_asc_hi(brr >> 24); |
1475 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1463 | ptr = pack_hex_byte(ptr, hx); |
1476 | hx = hexchars[(brr & 0x0f000000) >> 24]; | 1464 | hx = hex_asc_lo(brr >> 24); |
1477 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1465 | ptr = pack_hex_byte(ptr, hx); |
1478 | hx = hexchars[(brr & 0x00f00000) >> 20]; | 1466 | hx = hex_asc_hi(brr >> 16); |
1479 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1467 | ptr = pack_hex_byte(ptr, hx); |
1480 | hx = hexchars[(brr & 0x000f0000) >> 16]; | 1468 | hx = hex_asc_lo(brr >> 16); |
1481 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1469 | ptr = pack_hex_byte(ptr, hx); |
1482 | hx = hexchars[(brr & 0x0000f000) >> 12]; | 1470 | hx = hex_asc_hi(brr >> 8); |
1483 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1471 | ptr = pack_hex_byte(ptr, hx); |
1484 | hx = hexchars[(brr & 0x00000f00) >> 8]; | 1472 | hx = hex_asc_lo(brr >> 8); |
1485 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1473 | ptr = pack_hex_byte(ptr, hx); |
1486 | hx = hexchars[(brr & 0x000000f0) >> 4]; | 1474 | hx = hex_asc_hi(brr); |
1487 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1475 | ptr = pack_hex_byte(ptr, hx); |
1488 | hx = hexchars[(brr & 0x0000000f)]; | 1476 | hx = hex_asc_lo(brr); |
1489 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1477 | ptr = pack_hex_byte(ptr, hx); |
1490 | 1478 | ||
1491 | ptr = mem2hex(crlf, ptr, sizeof(crlf) - 1, 0); | 1479 | ptr = mem2hex(crlf, ptr, sizeof(crlf) - 1, 0); |
1492 | *ptr = 0; | 1480 | *ptr = 0; |
@@ -1500,12 +1488,10 @@ void gdbstub(int sigval) | |||
1500 | 1488 | ||
1501 | /* Send trap type (converted to signal) */ | 1489 | /* Send trap type (converted to signal) */ |
1502 | *ptr++ = 'T'; | 1490 | *ptr++ = 'T'; |
1503 | *ptr++ = hexchars[sigval >> 4]; | 1491 | ptr = pack_hex_byte(ptr, sigval); |
1504 | *ptr++ = hexchars[sigval & 0xf]; | ||
1505 | 1492 | ||
1506 | /* Send Error PC */ | 1493 | /* Send Error PC */ |
1507 | *ptr++ = hexchars[GDB_REG_PC >> 4]; | 1494 | ptr = pack_hex_byte(ptr, GDB_REG_PC); |
1508 | *ptr++ = hexchars[GDB_REG_PC & 0xf]; | ||
1509 | *ptr++ = ':'; | 1495 | *ptr++ = ':'; |
1510 | ptr = mem2hex(&__debug_frame->pc, ptr, 4, 0); | 1496 | ptr = mem2hex(&__debug_frame->pc, ptr, 4, 0); |
1511 | *ptr++ = ';'; | 1497 | *ptr++ = ';'; |
@@ -1513,8 +1499,7 @@ void gdbstub(int sigval) | |||
1513 | /* | 1499 | /* |
1514 | * Send frame pointer | 1500 | * Send frame pointer |
1515 | */ | 1501 | */ |
1516 | *ptr++ = hexchars[GDB_REG_FP >> 4]; | 1502 | ptr = pack_hex_byte(ptr, GDB_REG_FP); |
1517 | *ptr++ = hexchars[GDB_REG_FP & 0xf]; | ||
1518 | *ptr++ = ':'; | 1503 | *ptr++ = ':'; |
1519 | ptr = mem2hex(&__debug_frame->fp, ptr, 4, 0); | 1504 | ptr = mem2hex(&__debug_frame->fp, ptr, 4, 0); |
1520 | *ptr++ = ';'; | 1505 | *ptr++ = ';'; |
@@ -1522,8 +1507,7 @@ void gdbstub(int sigval) | |||
1522 | /* | 1507 | /* |
1523 | * Send stack pointer | 1508 | * Send stack pointer |
1524 | */ | 1509 | */ |
1525 | *ptr++ = hexchars[GDB_REG_SP >> 4]; | 1510 | ptr = pack_hex_byte(ptr, GDB_REG_SP); |
1526 | *ptr++ = hexchars[GDB_REG_SP & 0xf]; | ||
1527 | *ptr++ = ':'; | 1511 | *ptr++ = ':'; |
1528 | ptr = mem2hex(&__debug_frame->sp, ptr, 4, 0); | 1512 | ptr = mem2hex(&__debug_frame->sp, ptr, 4, 0); |
1529 | *ptr++ = ';'; | 1513 | *ptr++ = ';'; |
@@ -1548,8 +1532,8 @@ void gdbstub(int sigval) | |||
1548 | /* request repeat of last signal number */ | 1532 | /* request repeat of last signal number */ |
1549 | case '?': | 1533 | case '?': |
1550 | output_buffer[0] = 'S'; | 1534 | output_buffer[0] = 'S'; |
1551 | output_buffer[1] = hexchars[sigval >> 4]; | 1535 | output_buffer[1] = hex_asc_hi(sigval); |
1552 | output_buffer[2] = hexchars[sigval & 0xf]; | 1536 | output_buffer[2] = hex_asc_lo(sigval); |
1553 | output_buffer[3] = 0; | 1537 | output_buffer[3] = 0; |
1554 | break; | 1538 | break; |
1555 | 1539 | ||
@@ -2059,8 +2043,8 @@ void gdbstub_exit(int status) | |||
2059 | } | 2043 | } |
2060 | 2044 | ||
2061 | gdbstub_tx_char('#'); | 2045 | gdbstub_tx_char('#'); |
2062 | gdbstub_tx_char(hexchars[checksum >> 4]); | 2046 | gdbstub_tx_char(hex_asc_hi(checksum)); |
2063 | gdbstub_tx_char(hexchars[checksum & 0xf]); | 2047 | gdbstub_tx_char(hex_asc_lo(checksum)); |
2064 | 2048 | ||
2065 | /* make sure the output is flushed, or else RedBoot might clobber it */ | 2049 | /* make sure the output is flushed, or else RedBoot might clobber it */ |
2066 | gdbstub_tx_char('-'); | 2050 | gdbstub_tx_char('-'); |
diff --git a/arch/frv/mm/init.c b/arch/frv/mm/init.c index 9af7740f32fb..1b851db34186 100644 --- a/arch/frv/mm/init.c +++ b/arch/frv/mm/init.c | |||
@@ -63,37 +63,6 @@ EXPORT_SYMBOL(empty_zero_page); | |||
63 | 63 | ||
64 | /*****************************************************************************/ | 64 | /*****************************************************************************/ |
65 | /* | 65 | /* |
66 | * | ||
67 | */ | ||
68 | void show_mem(void) | ||
69 | { | ||
70 | unsigned long i; | ||
71 | int free = 0, total = 0, reserved = 0, shared = 0; | ||
72 | |||
73 | printk("\nMem-info:\n"); | ||
74 | show_free_areas(); | ||
75 | i = max_mapnr; | ||
76 | while (i-- > 0) { | ||
77 | struct page *page = &mem_map[i]; | ||
78 | |||
79 | total++; | ||
80 | if (PageReserved(page)) | ||
81 | reserved++; | ||
82 | else if (!page_count(page)) | ||
83 | free++; | ||
84 | else | ||
85 | shared += page_count(page) - 1; | ||
86 | } | ||
87 | |||
88 | printk("%d pages of RAM\n",total); | ||
89 | printk("%d free pages\n",free); | ||
90 | printk("%d reserved pages\n",reserved); | ||
91 | printk("%d pages shared\n",shared); | ||
92 | |||
93 | } /* end show_mem() */ | ||
94 | |||
95 | /*****************************************************************************/ | ||
96 | /* | ||
97 | * paging_init() continues the virtual memory environment setup which | 66 | * paging_init() continues the virtual memory environment setup which |
98 | * was begun by the code in arch/head.S. | 67 | * was begun by the code in arch/head.S. |
99 | * The parameters are pointers to where to stick the starting and ending | 68 | * The parameters are pointers to where to stick the starting and ending |
diff --git a/arch/h8300/mm/init.c b/arch/h8300/mm/init.c index e4f4199f97ab..a1d228f5e4e6 100644 --- a/arch/h8300/mm/init.c +++ b/arch/h8300/mm/init.c | |||
@@ -64,33 +64,6 @@ unsigned long empty_zero_page; | |||
64 | 64 | ||
65 | extern unsigned long rom_length; | 65 | extern unsigned long rom_length; |
66 | 66 | ||
67 | void show_mem(void) | ||
68 | { | ||
69 | unsigned long i; | ||
70 | int free = 0, total = 0, reserved = 0, shared = 0; | ||
71 | int cached = 0; | ||
72 | |||
73 | printk("\nMem-info:\n"); | ||
74 | show_free_areas(); | ||
75 | i = max_mapnr; | ||
76 | while (i-- > 0) { | ||
77 | total++; | ||
78 | if (PageReserved(mem_map+i)) | ||
79 | reserved++; | ||
80 | else if (PageSwapCache(mem_map+i)) | ||
81 | cached++; | ||
82 | else if (!page_count(mem_map+i)) | ||
83 | free++; | ||
84 | else | ||
85 | shared += page_count(mem_map+i) - 1; | ||
86 | } | ||
87 | printk("%d pages of RAM\n",total); | ||
88 | printk("%d free pages\n",free); | ||
89 | printk("%d reserved pages\n",reserved); | ||
90 | printk("%d pages shared\n",shared); | ||
91 | printk("%d pages swap cached\n",cached); | ||
92 | } | ||
93 | |||
94 | extern unsigned long memory_start; | 67 | extern unsigned long memory_start; |
95 | extern unsigned long memory_end; | 68 | extern unsigned long memory_end; |
96 | 69 | ||
diff --git a/arch/ia64/hp/common/hwsw_iommu.c b/arch/ia64/hp/common/hwsw_iommu.c index 1c44ec2a1d58..88b6e6f3fd88 100644 --- a/arch/ia64/hp/common/hwsw_iommu.c +++ b/arch/ia64/hp/common/hwsw_iommu.c | |||
@@ -186,9 +186,10 @@ hwsw_dma_supported (struct device *dev, u64 mask) | |||
186 | } | 186 | } |
187 | 187 | ||
188 | int | 188 | int |
189 | hwsw_dma_mapping_error (dma_addr_t dma_addr) | 189 | hwsw_dma_mapping_error(struct device *dev, dma_addr_t dma_addr) |
190 | { | 190 | { |
191 | return hwiommu_dma_mapping_error (dma_addr) || swiotlb_dma_mapping_error(dma_addr); | 191 | return hwiommu_dma_mapping_error(dev, dma_addr) || |
192 | swiotlb_dma_mapping_error(dev, dma_addr); | ||
192 | } | 193 | } |
193 | 194 | ||
194 | EXPORT_SYMBOL(hwsw_dma_mapping_error); | 195 | EXPORT_SYMBOL(hwsw_dma_mapping_error); |
diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c index 34421aed1e2a..4956be40d7b5 100644 --- a/arch/ia64/hp/common/sba_iommu.c +++ b/arch/ia64/hp/common/sba_iommu.c | |||
@@ -2147,7 +2147,7 @@ sba_dma_supported (struct device *dev, u64 mask) | |||
2147 | } | 2147 | } |
2148 | 2148 | ||
2149 | int | 2149 | int |
2150 | sba_dma_mapping_error (dma_addr_t dma_addr) | 2150 | sba_dma_mapping_error(struct device *dev, dma_addr_t dma_addr) |
2151 | { | 2151 | { |
2152 | return 0; | 2152 | return 0; |
2153 | } | 2153 | } |
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index 19d4493c6193..fc8f3509df27 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c | |||
@@ -2626,7 +2626,7 @@ pfm_task_incompatible(pfm_context_t *ctx, struct task_struct *task) | |||
2626 | /* | 2626 | /* |
2627 | * make sure the task is off any CPU | 2627 | * make sure the task is off any CPU |
2628 | */ | 2628 | */ |
2629 | wait_task_inactive(task); | 2629 | wait_task_inactive(task, 0); |
2630 | 2630 | ||
2631 | /* more to come... */ | 2631 | /* more to come... */ |
2632 | 2632 | ||
@@ -4774,7 +4774,7 @@ recheck: | |||
4774 | 4774 | ||
4775 | UNPROTECT_CTX(ctx, flags); | 4775 | UNPROTECT_CTX(ctx, flags); |
4776 | 4776 | ||
4777 | wait_task_inactive(task); | 4777 | wait_task_inactive(task, 0); |
4778 | 4778 | ||
4779 | PROTECT_CTX(ctx, flags); | 4779 | PROTECT_CTX(ctx, flags); |
4780 | 4780 | ||
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c index 2672f4d278ac..7a37d06376be 100644 --- a/arch/ia64/kvm/kvm-ia64.c +++ b/arch/ia64/kvm/kvm-ia64.c | |||
@@ -125,9 +125,9 @@ void kvm_arch_hardware_enable(void *garbage) | |||
125 | PAGE_KERNEL)); | 125 | PAGE_KERNEL)); |
126 | local_irq_save(saved_psr); | 126 | local_irq_save(saved_psr); |
127 | slot = ia64_itr_entry(0x3, KVM_VMM_BASE, pte, KVM_VMM_SHIFT); | 127 | slot = ia64_itr_entry(0x3, KVM_VMM_BASE, pte, KVM_VMM_SHIFT); |
128 | local_irq_restore(saved_psr); | ||
128 | if (slot < 0) | 129 | if (slot < 0) |
129 | return; | 130 | return; |
130 | local_irq_restore(saved_psr); | ||
131 | 131 | ||
132 | spin_lock(&vp_lock); | 132 | spin_lock(&vp_lock); |
133 | status = ia64_pal_vp_init_env(kvm_vsa_base ? | 133 | status = ia64_pal_vp_init_env(kvm_vsa_base ? |
@@ -160,9 +160,9 @@ void kvm_arch_hardware_disable(void *garbage) | |||
160 | 160 | ||
161 | local_irq_save(saved_psr); | 161 | local_irq_save(saved_psr); |
162 | slot = ia64_itr_entry(0x3, KVM_VMM_BASE, pte, KVM_VMM_SHIFT); | 162 | slot = ia64_itr_entry(0x3, KVM_VMM_BASE, pte, KVM_VMM_SHIFT); |
163 | local_irq_restore(saved_psr); | ||
163 | if (slot < 0) | 164 | if (slot < 0) |
164 | return; | 165 | return; |
165 | local_irq_restore(saved_psr); | ||
166 | 166 | ||
167 | status = ia64_pal_vp_exit_env(host_iva); | 167 | status = ia64_pal_vp_exit_env(host_iva); |
168 | if (status) | 168 | if (status) |
@@ -1253,6 +1253,7 @@ static int vti_vcpu_setup(struct kvm_vcpu *vcpu, int id) | |||
1253 | uninit: | 1253 | uninit: |
1254 | kvm_vcpu_uninit(vcpu); | 1254 | kvm_vcpu_uninit(vcpu); |
1255 | fail: | 1255 | fail: |
1256 | local_irq_restore(psr); | ||
1256 | return r; | 1257 | return r; |
1257 | } | 1258 | } |
1258 | 1259 | ||
diff --git a/arch/ia64/sn/pci/pci_dma.c b/arch/ia64/sn/pci/pci_dma.c index 52175af299a0..53ebb6484495 100644 --- a/arch/ia64/sn/pci/pci_dma.c +++ b/arch/ia64/sn/pci/pci_dma.c | |||
@@ -350,7 +350,7 @@ void sn_dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, | |||
350 | } | 350 | } |
351 | EXPORT_SYMBOL(sn_dma_sync_sg_for_device); | 351 | EXPORT_SYMBOL(sn_dma_sync_sg_for_device); |
352 | 352 | ||
353 | int sn_dma_mapping_error(dma_addr_t dma_addr) | 353 | int sn_dma_mapping_error(struct device *dev, dma_addr_t dma_addr) |
354 | { | 354 | { |
355 | return 0; | 355 | return 0; |
356 | } | 356 | } |
diff --git a/arch/m32r/mm/init.c b/arch/m32r/mm/init.c index 2554eb59cfef..24d429f9358a 100644 --- a/arch/m32r/mm/init.c +++ b/arch/m32r/mm/init.c | |||
@@ -36,42 +36,6 @@ pgd_t swapper_pg_dir[1024]; | |||
36 | 36 | ||
37 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); | 37 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); |
38 | 38 | ||
39 | void show_mem(void) | ||
40 | { | ||
41 | int total = 0, reserved = 0; | ||
42 | int shared = 0, cached = 0; | ||
43 | int highmem = 0; | ||
44 | struct page *page; | ||
45 | pg_data_t *pgdat; | ||
46 | unsigned long i; | ||
47 | |||
48 | printk("Mem-info:\n"); | ||
49 | show_free_areas(); | ||
50 | printk("Free swap: %6ldkB\n",nr_swap_pages<<(PAGE_SHIFT-10)); | ||
51 | for_each_online_pgdat(pgdat) { | ||
52 | unsigned long flags; | ||
53 | pgdat_resize_lock(pgdat, &flags); | ||
54 | for (i = 0; i < pgdat->node_spanned_pages; ++i) { | ||
55 | page = pgdat_page_nr(pgdat, i); | ||
56 | total++; | ||
57 | if (PageHighMem(page)) | ||
58 | highmem++; | ||
59 | if (PageReserved(page)) | ||
60 | reserved++; | ||
61 | else if (PageSwapCache(page)) | ||
62 | cached++; | ||
63 | else if (page_count(page)) | ||
64 | shared += page_count(page) - 1; | ||
65 | } | ||
66 | pgdat_resize_unlock(pgdat, &flags); | ||
67 | } | ||
68 | printk("%d pages of RAM\n", total); | ||
69 | printk("%d pages of HIGHMEM\n",highmem); | ||
70 | printk("%d reserved pages\n",reserved); | ||
71 | printk("%d pages shared\n",shared); | ||
72 | printk("%d pages swap cached\n",cached); | ||
73 | } | ||
74 | |||
75 | /* | 39 | /* |
76 | * Cache of MMU context last used. | 40 | * Cache of MMU context last used. |
77 | */ | 41 | */ |
diff --git a/arch/m68k/mm/init.c b/arch/m68k/mm/init.c index 79f5f94d4800..81bb08ceec18 100644 --- a/arch/m68k/mm/init.c +++ b/arch/m68k/mm/init.c | |||
@@ -69,36 +69,6 @@ void __init m68k_setup_node(int node) | |||
69 | void *empty_zero_page; | 69 | void *empty_zero_page; |
70 | EXPORT_SYMBOL(empty_zero_page); | 70 | EXPORT_SYMBOL(empty_zero_page); |
71 | 71 | ||
72 | void show_mem(void) | ||
73 | { | ||
74 | pg_data_t *pgdat; | ||
75 | int free = 0, total = 0, reserved = 0, shared = 0; | ||
76 | int cached = 0; | ||
77 | int i; | ||
78 | |||
79 | printk("\nMem-info:\n"); | ||
80 | show_free_areas(); | ||
81 | for_each_online_pgdat(pgdat) { | ||
82 | for (i = 0; i < pgdat->node_spanned_pages; i++) { | ||
83 | struct page *page = pgdat->node_mem_map + i; | ||
84 | total++; | ||
85 | if (PageReserved(page)) | ||
86 | reserved++; | ||
87 | else if (PageSwapCache(page)) | ||
88 | cached++; | ||
89 | else if (!page_count(page)) | ||
90 | free++; | ||
91 | else | ||
92 | shared += page_count(page) - 1; | ||
93 | } | ||
94 | } | ||
95 | printk("%d pages of RAM\n",total); | ||
96 | printk("%d free pages\n",free); | ||
97 | printk("%d reserved pages\n",reserved); | ||
98 | printk("%d pages shared\n",shared); | ||
99 | printk("%d pages swap cached\n",cached); | ||
100 | } | ||
101 | |||
102 | extern void init_pointer_table(unsigned long ptable); | 72 | extern void init_pointer_table(unsigned long ptable); |
103 | 73 | ||
104 | /* References to section boundaries */ | 74 | /* References to section boundaries */ |
diff --git a/arch/m68knommu/mm/init.c b/arch/m68knommu/mm/init.c index 22e2a0d02b81..3bf249c53e41 100644 --- a/arch/m68knommu/mm/init.c +++ b/arch/m68knommu/mm/init.c | |||
@@ -62,33 +62,6 @@ static unsigned long empty_bad_page; | |||
62 | 62 | ||
63 | unsigned long empty_zero_page; | 63 | unsigned long empty_zero_page; |
64 | 64 | ||
65 | void show_mem(void) | ||
66 | { | ||
67 | unsigned long i; | ||
68 | int free = 0, total = 0, reserved = 0, shared = 0; | ||
69 | int cached = 0; | ||
70 | |||
71 | printk(KERN_INFO "\nMem-info:\n"); | ||
72 | show_free_areas(); | ||
73 | i = max_mapnr; | ||
74 | while (i-- > 0) { | ||
75 | total++; | ||
76 | if (PageReserved(mem_map+i)) | ||
77 | reserved++; | ||
78 | else if (PageSwapCache(mem_map+i)) | ||
79 | cached++; | ||
80 | else if (!page_count(mem_map+i)) | ||
81 | free++; | ||
82 | else | ||
83 | shared += page_count(mem_map+i) - 1; | ||
84 | } | ||
85 | printk(KERN_INFO "%d pages of RAM\n",total); | ||
86 | printk(KERN_INFO "%d free pages\n",free); | ||
87 | printk(KERN_INFO "%d reserved pages\n",reserved); | ||
88 | printk(KERN_INFO "%d pages shared\n",shared); | ||
89 | printk(KERN_INFO "%d pages swap cached\n",cached); | ||
90 | } | ||
91 | |||
92 | extern unsigned long memory_start; | 65 | extern unsigned long memory_start; |
93 | extern unsigned long memory_end; | 66 | extern unsigned long memory_end; |
94 | 67 | ||
diff --git a/arch/mips/mm/Makefile b/arch/mips/mm/Makefile index 48731020ca0e..44e8dd8106bf 100644 --- a/arch/mips/mm/Makefile +++ b/arch/mips/mm/Makefile | |||
@@ -3,8 +3,7 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += cache.o dma-default.o extable.o fault.o \ | 5 | obj-y += cache.o dma-default.o extable.o fault.o \ |
6 | init.o pgtable.o tlbex.o tlbex-fault.o \ | 6 | init.o tlbex.o tlbex-fault.o uasm.o page.o |
7 | uasm.o page.o | ||
8 | 7 | ||
9 | obj-$(CONFIG_32BIT) += ioremap.o pgtable-32.o | 8 | obj-$(CONFIG_32BIT) += ioremap.o pgtable-32.o |
10 | obj-$(CONFIG_64BIT) += pgtable-64.o | 9 | obj-$(CONFIG_64BIT) += pgtable-64.o |
diff --git a/arch/mips/mm/dma-default.c b/arch/mips/mm/dma-default.c index ae39dd88b9aa..891312f8e5a6 100644 --- a/arch/mips/mm/dma-default.c +++ b/arch/mips/mm/dma-default.c | |||
@@ -348,7 +348,7 @@ void dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nele | |||
348 | 348 | ||
349 | EXPORT_SYMBOL(dma_sync_sg_for_device); | 349 | EXPORT_SYMBOL(dma_sync_sg_for_device); |
350 | 350 | ||
351 | int dma_mapping_error(dma_addr_t dma_addr) | 351 | int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) |
352 | { | 352 | { |
353 | return 0; | 353 | return 0; |
354 | } | 354 | } |
diff --git a/arch/mips/mm/pgtable.c b/arch/mips/mm/pgtable.c deleted file mode 100644 index 7dfa579ab24c..000000000000 --- a/arch/mips/mm/pgtable.c +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | #include <linux/kernel.h> | ||
2 | #include <linux/mm.h> | ||
3 | #include <linux/swap.h> | ||
4 | |||
5 | void show_mem(void) | ||
6 | { | ||
7 | #ifndef CONFIG_NEED_MULTIPLE_NODES /* XXX(hch): later.. */ | ||
8 | int pfn, total = 0, reserved = 0; | ||
9 | int shared = 0, cached = 0; | ||
10 | int highmem = 0; | ||
11 | struct page *page; | ||
12 | |||
13 | printk("Mem-info:\n"); | ||
14 | show_free_areas(); | ||
15 | pfn = max_mapnr; | ||
16 | while (pfn-- > 0) { | ||
17 | if (!pfn_valid(pfn)) | ||
18 | continue; | ||
19 | page = pfn_to_page(pfn); | ||
20 | total++; | ||
21 | if (PageHighMem(page)) | ||
22 | highmem++; | ||
23 | if (PageReserved(page)) | ||
24 | reserved++; | ||
25 | else if (PageSwapCache(page)) | ||
26 | cached++; | ||
27 | else if (page_count(page)) | ||
28 | shared += page_count(page) - 1; | ||
29 | } | ||
30 | printk("%d pages of RAM\n", total); | ||
31 | printk("%d pages of HIGHMEM\n", highmem); | ||
32 | printk("%d reserved pages\n", reserved); | ||
33 | printk("%d pages shared\n", shared); | ||
34 | printk("%d pages swap cached\n", cached); | ||
35 | #endif | ||
36 | } | ||
diff --git a/arch/mn10300/kernel/gdb-stub.c b/arch/mn10300/kernel/gdb-stub.c index 21891c71d549..54be6afb5555 100644 --- a/arch/mn10300/kernel/gdb-stub.c +++ b/arch/mn10300/kernel/gdb-stub.c | |||
@@ -163,8 +163,6 @@ static char input_buffer[BUFMAX]; | |||
163 | static char output_buffer[BUFMAX]; | 163 | static char output_buffer[BUFMAX]; |
164 | static char trans_buffer[BUFMAX]; | 164 | static char trans_buffer[BUFMAX]; |
165 | 165 | ||
166 | static const char hexchars[] = "0123456789abcdef"; | ||
167 | |||
168 | struct gdbstub_bkpt { | 166 | struct gdbstub_bkpt { |
169 | u8 *addr; /* address of breakpoint */ | 167 | u8 *addr; /* address of breakpoint */ |
170 | u8 len; /* size of breakpoint */ | 168 | u8 len; /* size of breakpoint */ |
@@ -363,8 +361,8 @@ static int putpacket(char *buffer) | |||
363 | } | 361 | } |
364 | 362 | ||
365 | gdbstub_io_tx_char('#'); | 363 | gdbstub_io_tx_char('#'); |
366 | gdbstub_io_tx_char(hexchars[checksum >> 4]); | 364 | gdbstub_io_tx_char(hex_asc_hi(checksum)); |
367 | gdbstub_io_tx_char(hexchars[checksum & 0xf]); | 365 | gdbstub_io_tx_char(hex_asc_lo(checksum)); |
368 | 366 | ||
369 | } while (gdbstub_io_rx_char(&ch, 0), | 367 | } while (gdbstub_io_rx_char(&ch, 0), |
370 | ch == '-' && (gdbstub_io("### GDB Rx NAK\n"), 0), | 368 | ch == '-' && (gdbstub_io("### GDB Rx NAK\n"), 0), |
@@ -822,8 +820,7 @@ unsigned char *mem2hex(const void *_mem, char *buf, int count, int may_fault) | |||
822 | if ((u32) mem & 1 && count >= 1) { | 820 | if ((u32) mem & 1 && count >= 1) { |
823 | if (gdbstub_read_byte(mem, ch) != 0) | 821 | if (gdbstub_read_byte(mem, ch) != 0) |
824 | return 0; | 822 | return 0; |
825 | *buf++ = hexchars[ch[0] >> 4]; | 823 | buf = pack_hex_byte(buf, ch[0]); |
826 | *buf++ = hexchars[ch[0] & 0xf]; | ||
827 | mem++; | 824 | mem++; |
828 | count--; | 825 | count--; |
829 | } | 826 | } |
@@ -831,10 +828,8 @@ unsigned char *mem2hex(const void *_mem, char *buf, int count, int may_fault) | |||
831 | if ((u32) mem & 3 && count >= 2) { | 828 | if ((u32) mem & 3 && count >= 2) { |
832 | if (gdbstub_read_word(mem, ch) != 0) | 829 | if (gdbstub_read_word(mem, ch) != 0) |
833 | return 0; | 830 | return 0; |
834 | *buf++ = hexchars[ch[0] >> 4]; | 831 | buf = pack_hex_byte(buf, ch[0]); |
835 | *buf++ = hexchars[ch[0] & 0xf]; | 832 | buf = pack_hex_byte(buf, ch[1]); |
836 | *buf++ = hexchars[ch[1] >> 4]; | ||
837 | *buf++ = hexchars[ch[1] & 0xf]; | ||
838 | mem += 2; | 833 | mem += 2; |
839 | count -= 2; | 834 | count -= 2; |
840 | } | 835 | } |
@@ -842,14 +837,10 @@ unsigned char *mem2hex(const void *_mem, char *buf, int count, int may_fault) | |||
842 | while (count >= 4) { | 837 | while (count >= 4) { |
843 | if (gdbstub_read_dword(mem, ch) != 0) | 838 | if (gdbstub_read_dword(mem, ch) != 0) |
844 | return 0; | 839 | return 0; |
845 | *buf++ = hexchars[ch[0] >> 4]; | 840 | buf = pack_hex_byte(buf, ch[0]); |
846 | *buf++ = hexchars[ch[0] & 0xf]; | 841 | buf = pack_hex_byte(buf, ch[1]); |
847 | *buf++ = hexchars[ch[1] >> 4]; | 842 | buf = pack_hex_byte(buf, ch[2]); |
848 | *buf++ = hexchars[ch[1] & 0xf]; | 843 | buf = pack_hex_byte(buf, ch[3]); |
849 | *buf++ = hexchars[ch[2] >> 4]; | ||
850 | *buf++ = hexchars[ch[2] & 0xf]; | ||
851 | *buf++ = hexchars[ch[3] >> 4]; | ||
852 | *buf++ = hexchars[ch[3] & 0xf]; | ||
853 | mem += 4; | 844 | mem += 4; |
854 | count -= 4; | 845 | count -= 4; |
855 | } | 846 | } |
@@ -857,10 +848,8 @@ unsigned char *mem2hex(const void *_mem, char *buf, int count, int may_fault) | |||
857 | if (count >= 2) { | 848 | if (count >= 2) { |
858 | if (gdbstub_read_word(mem, ch) != 0) | 849 | if (gdbstub_read_word(mem, ch) != 0) |
859 | return 0; | 850 | return 0; |
860 | *buf++ = hexchars[ch[0] >> 4]; | 851 | buf = pack_hex_byte(buf, ch[0]); |
861 | *buf++ = hexchars[ch[0] & 0xf]; | 852 | buf = pack_hex_byte(buf, ch[1]); |
862 | *buf++ = hexchars[ch[1] >> 4]; | ||
863 | *buf++ = hexchars[ch[1] & 0xf]; | ||
864 | mem += 2; | 853 | mem += 2; |
865 | count -= 2; | 854 | count -= 2; |
866 | } | 855 | } |
@@ -868,8 +857,7 @@ unsigned char *mem2hex(const void *_mem, char *buf, int count, int may_fault) | |||
868 | if (count >= 1) { | 857 | if (count >= 1) { |
869 | if (gdbstub_read_byte(mem, ch) != 0) | 858 | if (gdbstub_read_byte(mem, ch) != 0) |
870 | return 0; | 859 | return 0; |
871 | *buf++ = hexchars[ch[0] >> 4]; | 860 | buf = pack_hex_byte(buf, ch[0]); |
872 | *buf++ = hexchars[ch[0] & 0xf]; | ||
873 | } | 861 | } |
874 | 862 | ||
875 | *buf = 0; | 863 | *buf = 0; |
@@ -1304,14 +1292,14 @@ static int gdbstub(struct pt_regs *regs, enum exception_code excep) | |||
1304 | *ptr++ = 'O'; | 1292 | *ptr++ = 'O'; |
1305 | ptr = mem2hex(title, ptr, sizeof(title) - 1, 0); | 1293 | ptr = mem2hex(title, ptr, sizeof(title) - 1, 0); |
1306 | 1294 | ||
1307 | hx = hexchars[(excep & 0xf000) >> 12]; | 1295 | hx = hex_asc_hi(excep >> 8); |
1308 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1296 | ptr = pack_hex_byte(ptr, hx); |
1309 | hx = hexchars[(excep & 0x0f00) >> 8]; | 1297 | hx = hex_asc_lo(excep >> 8); |
1310 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1298 | ptr = pack_hex_byte(ptr, hx); |
1311 | hx = hexchars[(excep & 0x00f0) >> 4]; | 1299 | hx = hex_asc_hi(excep); |
1312 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1300 | ptr = pack_hex_byte(ptr, hx); |
1313 | hx = hexchars[(excep & 0x000f)]; | 1301 | hx = hex_asc_lo(excep); |
1314 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1302 | ptr = pack_hex_byte(ptr, hx); |
1315 | 1303 | ||
1316 | ptr = mem2hex(crlf, ptr, sizeof(crlf) - 1, 0); | 1304 | ptr = mem2hex(crlf, ptr, sizeof(crlf) - 1, 0); |
1317 | *ptr = 0; | 1305 | *ptr = 0; |
@@ -1322,22 +1310,22 @@ static int gdbstub(struct pt_regs *regs, enum exception_code excep) | |||
1322 | *ptr++ = 'O'; | 1310 | *ptr++ = 'O'; |
1323 | ptr = mem2hex(tbcberr, ptr, sizeof(tbcberr) - 1, 0); | 1311 | ptr = mem2hex(tbcberr, ptr, sizeof(tbcberr) - 1, 0); |
1324 | 1312 | ||
1325 | hx = hexchars[(bcberr & 0xf0000000) >> 28]; | 1313 | hx = hex_asc_hi(bcberr >> 24); |
1326 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1314 | ptr = pack_hex_byte(ptr, hx); |
1327 | hx = hexchars[(bcberr & 0x0f000000) >> 24]; | 1315 | hx = hex_asc_lo(bcberr >> 24); |
1328 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1316 | ptr = pack_hex_byte(ptr, hx); |
1329 | hx = hexchars[(bcberr & 0x00f00000) >> 20]; | 1317 | hx = hex_asc_hi(bcberr >> 16); |
1330 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1318 | ptr = pack_hex_byte(ptr, hx); |
1331 | hx = hexchars[(bcberr & 0x000f0000) >> 16]; | 1319 | hx = hex_asc_lo(bcberr >> 16); |
1332 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1320 | ptr = pack_hex_byte(ptr, hx); |
1333 | hx = hexchars[(bcberr & 0x0000f000) >> 12]; | 1321 | hx = hex_asc_hi(bcberr >> 8); |
1334 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1322 | ptr = pack_hex_byte(ptr, hx); |
1335 | hx = hexchars[(bcberr & 0x00000f00) >> 8]; | 1323 | hx = hex_asc_lo(bcberr >> 8); |
1336 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1324 | ptr = pack_hex_byte(ptr, hx); |
1337 | hx = hexchars[(bcberr & 0x000000f0) >> 4]; | 1325 | hx = hex_asc_hi(bcberr); |
1338 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1326 | ptr = pack_hex_byte(ptr, hx); |
1339 | hx = hexchars[(bcberr & 0x0000000f)]; | 1327 | hx = hex_asc_lo(bcberr); |
1340 | *ptr++ = hexchars[hx >> 4]; *ptr++ = hexchars[hx & 0xf]; | 1328 | ptr = pack_hex_byte(ptr, hx); |
1341 | 1329 | ||
1342 | ptr = mem2hex(crlf, ptr, sizeof(crlf) - 1, 0); | 1330 | ptr = mem2hex(crlf, ptr, sizeof(crlf) - 1, 0); |
1343 | *ptr = 0; | 1331 | *ptr = 0; |
@@ -1353,14 +1341,12 @@ static int gdbstub(struct pt_regs *regs, enum exception_code excep) | |||
1353 | * Send trap type (converted to signal) | 1341 | * Send trap type (converted to signal) |
1354 | */ | 1342 | */ |
1355 | *ptr++ = 'T'; | 1343 | *ptr++ = 'T'; |
1356 | *ptr++ = hexchars[sigval >> 4]; | 1344 | ptr = pack_hex_byte(ptr, sigval); |
1357 | *ptr++ = hexchars[sigval & 0xf]; | ||
1358 | 1345 | ||
1359 | /* | 1346 | /* |
1360 | * Send Error PC | 1347 | * Send Error PC |
1361 | */ | 1348 | */ |
1362 | *ptr++ = hexchars[GDB_REGID_PC >> 4]; | 1349 | ptr = pack_hex_byte(ptr, GDB_REGID_PC); |
1363 | *ptr++ = hexchars[GDB_REGID_PC & 0xf]; | ||
1364 | *ptr++ = ':'; | 1350 | *ptr++ = ':'; |
1365 | ptr = mem2hex(®s->pc, ptr, 4, 0); | 1351 | ptr = mem2hex(®s->pc, ptr, 4, 0); |
1366 | *ptr++ = ';'; | 1352 | *ptr++ = ';'; |
@@ -1368,8 +1354,7 @@ static int gdbstub(struct pt_regs *regs, enum exception_code excep) | |||
1368 | /* | 1354 | /* |
1369 | * Send frame pointer | 1355 | * Send frame pointer |
1370 | */ | 1356 | */ |
1371 | *ptr++ = hexchars[GDB_REGID_FP >> 4]; | 1357 | ptr = pack_hex_byte(ptr, GDB_REGID_FP); |
1372 | *ptr++ = hexchars[GDB_REGID_FP & 0xf]; | ||
1373 | *ptr++ = ':'; | 1358 | *ptr++ = ':'; |
1374 | ptr = mem2hex(®s->a3, ptr, 4, 0); | 1359 | ptr = mem2hex(®s->a3, ptr, 4, 0); |
1375 | *ptr++ = ';'; | 1360 | *ptr++ = ';'; |
@@ -1378,8 +1363,7 @@ static int gdbstub(struct pt_regs *regs, enum exception_code excep) | |||
1378 | * Send stack pointer | 1363 | * Send stack pointer |
1379 | */ | 1364 | */ |
1380 | ssp = (unsigned long) (regs + 1); | 1365 | ssp = (unsigned long) (regs + 1); |
1381 | *ptr++ = hexchars[GDB_REGID_SP >> 4]; | 1366 | ptr = pack_hex_byte(ptr, GDB_REGID_SP); |
1382 | *ptr++ = hexchars[GDB_REGID_SP & 0xf]; | ||
1383 | *ptr++ = ':'; | 1367 | *ptr++ = ':'; |
1384 | ptr = mem2hex(&ssp, ptr, 4, 0); | 1368 | ptr = mem2hex(&ssp, ptr, 4, 0); |
1385 | *ptr++ = ';'; | 1369 | *ptr++ = ';'; |
@@ -1399,8 +1383,8 @@ packet_waiting: | |||
1399 | /* request repeat of last signal number */ | 1383 | /* request repeat of last signal number */ |
1400 | case '?': | 1384 | case '?': |
1401 | output_buffer[0] = 'S'; | 1385 | output_buffer[0] = 'S'; |
1402 | output_buffer[1] = hexchars[sigval >> 4]; | 1386 | output_buffer[1] = hex_asc_hi(sigval); |
1403 | output_buffer[2] = hexchars[sigval & 0xf]; | 1387 | output_buffer[2] = hex_asc_lo(sigval); |
1404 | output_buffer[3] = 0; | 1388 | output_buffer[3] = 0; |
1405 | break; | 1389 | break; |
1406 | 1390 | ||
@@ -1838,8 +1822,8 @@ void gdbstub_exit(int status) | |||
1838 | 1822 | ||
1839 | gdbstub_busy = 1; | 1823 | gdbstub_busy = 1; |
1840 | output_buffer[0] = 'W'; | 1824 | output_buffer[0] = 'W'; |
1841 | output_buffer[1] = hexchars[(status >> 4) & 0x0F]; | 1825 | output_buffer[1] = hex_asc_hi(status); |
1842 | output_buffer[2] = hexchars[status & 0x0F]; | 1826 | output_buffer[2] = hex_asc_lo(status); |
1843 | output_buffer[3] = 0; | 1827 | output_buffer[3] = 0; |
1844 | 1828 | ||
1845 | gdbstub_io_tx_char('$'); | 1829 | gdbstub_io_tx_char('$'); |
@@ -1853,8 +1837,8 @@ void gdbstub_exit(int status) | |||
1853 | } | 1837 | } |
1854 | 1838 | ||
1855 | gdbstub_io_tx_char('#'); | 1839 | gdbstub_io_tx_char('#'); |
1856 | gdbstub_io_tx_char(hexchars[checksum >> 4]); | 1840 | gdbstub_io_tx_char(hex_asc_hi(checksum)); |
1857 | gdbstub_io_tx_char(hexchars[checksum & 0xf]); | 1841 | gdbstub_io_tx_char(hex_asc_lo(checksum)); |
1858 | 1842 | ||
1859 | /* make sure the output is flushed, or else RedBoot might clobber it */ | 1843 | /* make sure the output is flushed, or else RedBoot might clobber it */ |
1860 | gdbstub_io_tx_flush(); | 1844 | gdbstub_io_tx_flush(); |
diff --git a/arch/mn10300/mm/pgtable.c b/arch/mn10300/mm/pgtable.c index a477038752ba..baffc581e031 100644 --- a/arch/mn10300/mm/pgtable.c +++ b/arch/mn10300/mm/pgtable.c | |||
@@ -27,33 +27,6 @@ | |||
27 | #include <asm/tlb.h> | 27 | #include <asm/tlb.h> |
28 | #include <asm/tlbflush.h> | 28 | #include <asm/tlbflush.h> |
29 | 29 | ||
30 | void show_mem(void) | ||
31 | { | ||
32 | unsigned long i; | ||
33 | int free = 0, total = 0, reserved = 0, shared = 0; | ||
34 | |||
35 | int cached = 0; | ||
36 | printk(KERN_INFO "Mem-info:\n"); | ||
37 | show_free_areas(); | ||
38 | i = max_mapnr; | ||
39 | while (i-- > 0) { | ||
40 | total++; | ||
41 | if (PageReserved(mem_map + i)) | ||
42 | reserved++; | ||
43 | else if (PageSwapCache(mem_map + i)) | ||
44 | cached++; | ||
45 | else if (!page_count(mem_map + i)) | ||
46 | free++; | ||
47 | else | ||
48 | shared += page_count(mem_map + i) - 1; | ||
49 | } | ||
50 | printk(KERN_INFO "%d pages of RAM\n", total); | ||
51 | printk(KERN_INFO "%d free pages\n", free); | ||
52 | printk(KERN_INFO "%d reserved pages\n", reserved); | ||
53 | printk(KERN_INFO "%d pages shared\n", shared); | ||
54 | printk(KERN_INFO "%d pages swap cached\n", cached); | ||
55 | } | ||
56 | |||
57 | /* | 30 | /* |
58 | * Associate a large virtual page frame with a given physical page frame | 31 | * Associate a large virtual page frame with a given physical page frame |
59 | * and protection flags for that frame. pfn is for the base of the page, | 32 | * and protection flags for that frame. pfn is for the base of the page, |
diff --git a/arch/parisc/hpux/sys_hpux.c b/arch/parisc/hpux/sys_hpux.c index be255ebb609c..18072e03a019 100644 --- a/arch/parisc/hpux/sys_hpux.c +++ b/arch/parisc/hpux/sys_hpux.c | |||
@@ -210,19 +210,19 @@ static int vfs_statfs_hpux(struct dentry *dentry, struct hpux_statfs *buf) | |||
210 | } | 210 | } |
211 | 211 | ||
212 | /* hpux statfs */ | 212 | /* hpux statfs */ |
213 | asmlinkage long hpux_statfs(const char __user *path, | 213 | asmlinkage long hpux_statfs(const char __user *pathname, |
214 | struct hpux_statfs __user *buf) | 214 | struct hpux_statfs __user *buf) |
215 | { | 215 | { |
216 | struct nameidata nd; | 216 | struct path path; |
217 | int error; | 217 | int error; |
218 | 218 | ||
219 | error = user_path_walk(path, &nd); | 219 | error = user_path(pathname, &path); |
220 | if (!error) { | 220 | if (!error) { |
221 | struct hpux_statfs tmp; | 221 | struct hpux_statfs tmp; |
222 | error = vfs_statfs_hpux(nd.path.dentry, &tmp); | 222 | error = vfs_statfs_hpux(path.dentry, &tmp); |
223 | if (!error && copy_to_user(buf, &tmp, sizeof(tmp))) | 223 | if (!error && copy_to_user(buf, &tmp, sizeof(tmp))) |
224 | error = -EFAULT; | 224 | error = -EFAULT; |
225 | path_put(&nd.path); | 225 | path_put(&path); |
226 | } | 226 | } |
227 | return error; | 227 | return error; |
228 | } | 228 | } |
diff --git a/arch/powerpc/kernel/machine_kexec.c b/arch/powerpc/kernel/machine_kexec.c index 29a0e039d436..aab76887a842 100644 --- a/arch/powerpc/kernel/machine_kexec.c +++ b/arch/powerpc/kernel/machine_kexec.c | |||
@@ -48,7 +48,7 @@ void machine_kexec_cleanup(struct kimage *image) | |||
48 | * Do not allocate memory (or fail in any way) in machine_kexec(). | 48 | * Do not allocate memory (or fail in any way) in machine_kexec(). |
49 | * We are past the point of no return, committed to rebooting now. | 49 | * We are past the point of no return, committed to rebooting now. |
50 | */ | 50 | */ |
51 | NORET_TYPE void machine_kexec(struct kimage *image) | 51 | void machine_kexec(struct kimage *image) |
52 | { | 52 | { |
53 | if (ppc_md.machine_kexec) | 53 | if (ppc_md.machine_kexec) |
54 | ppc_md.machine_kexec(image); | 54 | ppc_md.machine_kexec(image); |
diff --git a/arch/powerpc/kernel/rtas_flash.c b/arch/powerpc/kernel/rtas_flash.c index 09ded5c424a9..149cb112cd1a 100644 --- a/arch/powerpc/kernel/rtas_flash.c +++ b/arch/powerpc/kernel/rtas_flash.c | |||
@@ -286,7 +286,7 @@ static ssize_t rtas_flash_read(struct file *file, char __user *buf, | |||
286 | } | 286 | } |
287 | 287 | ||
288 | /* constructor for flash_block_cache */ | 288 | /* constructor for flash_block_cache */ |
289 | void rtas_block_ctor(struct kmem_cache *cache, void *ptr) | 289 | void rtas_block_ctor(void *ptr) |
290 | { | 290 | { |
291 | memset(ptr, 0, RTAS_BLK_SIZE); | 291 | memset(ptr, 0, RTAS_BLK_SIZE); |
292 | } | 292 | } |
diff --git a/arch/powerpc/kvm/44x_tlb.c b/arch/powerpc/kvm/44x_tlb.c index 75dff7cfa814..5a5602da5091 100644 --- a/arch/powerpc/kvm/44x_tlb.c +++ b/arch/powerpc/kvm/44x_tlb.c | |||
@@ -177,7 +177,8 @@ void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 gvaddr, gfn_t gfn, u64 asid, | |||
177 | vcpu->arch.msr & MSR_PR); | 177 | vcpu->arch.msr & MSR_PR); |
178 | } | 178 | } |
179 | 179 | ||
180 | void kvmppc_mmu_invalidate(struct kvm_vcpu *vcpu, u64 eaddr, u64 asid) | 180 | void kvmppc_mmu_invalidate(struct kvm_vcpu *vcpu, gva_t eaddr, |
181 | gva_t eend, u32 asid) | ||
181 | { | 182 | { |
182 | unsigned int pid = asid & 0xff; | 183 | unsigned int pid = asid & 0xff; |
183 | int i; | 184 | int i; |
@@ -191,7 +192,7 @@ void kvmppc_mmu_invalidate(struct kvm_vcpu *vcpu, u64 eaddr, u64 asid) | |||
191 | if (!get_tlb_v(stlbe)) | 192 | if (!get_tlb_v(stlbe)) |
192 | continue; | 193 | continue; |
193 | 194 | ||
194 | if (eaddr < get_tlb_eaddr(stlbe)) | 195 | if (eend < get_tlb_eaddr(stlbe)) |
195 | continue; | 196 | continue; |
196 | 197 | ||
197 | if (eaddr > get_tlb_end(stlbe)) | 198 | if (eaddr > get_tlb_end(stlbe)) |
diff --git a/arch/powerpc/kvm/emulate.c b/arch/powerpc/kvm/emulate.c index 000097461283..8c605d0a5488 100644 --- a/arch/powerpc/kvm/emulate.c +++ b/arch/powerpc/kvm/emulate.c | |||
@@ -137,7 +137,7 @@ static int kvmppc_emul_tlbwe(struct kvm_vcpu *vcpu, u32 inst) | |||
137 | if (tlbe->word0 & PPC44x_TLB_VALID) { | 137 | if (tlbe->word0 & PPC44x_TLB_VALID) { |
138 | eaddr = get_tlb_eaddr(tlbe); | 138 | eaddr = get_tlb_eaddr(tlbe); |
139 | asid = (tlbe->word0 & PPC44x_TLB_TS) | tlbe->tid; | 139 | asid = (tlbe->word0 & PPC44x_TLB_TS) | tlbe->tid; |
140 | kvmppc_mmu_invalidate(vcpu, eaddr, asid); | 140 | kvmppc_mmu_invalidate(vcpu, eaddr, get_tlb_end(tlbe), asid); |
141 | } | 141 | } |
142 | 142 | ||
143 | switch (ws) { | 143 | switch (ws) { |
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index fb42c4dd3217..ed0aab0208a6 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c | |||
@@ -113,7 +113,7 @@ static inline pte_t *hugepte_offset(hugepd_t *hpdp, unsigned long addr, | |||
113 | static int __hugepte_alloc(struct mm_struct *mm, hugepd_t *hpdp, | 113 | static int __hugepte_alloc(struct mm_struct *mm, hugepd_t *hpdp, |
114 | unsigned long address, unsigned int psize) | 114 | unsigned long address, unsigned int psize) |
115 | { | 115 | { |
116 | pte_t *new = kmem_cache_alloc(huge_pgtable_cache(psize), | 116 | pte_t *new = kmem_cache_zalloc(huge_pgtable_cache(psize), |
117 | GFP_KERNEL|__GFP_REPEAT); | 117 | GFP_KERNEL|__GFP_REPEAT); |
118 | 118 | ||
119 | if (! new) | 119 | if (! new) |
@@ -730,11 +730,6 @@ static int __init hugepage_setup_sz(char *str) | |||
730 | } | 730 | } |
731 | __setup("hugepagesz=", hugepage_setup_sz); | 731 | __setup("hugepagesz=", hugepage_setup_sz); |
732 | 732 | ||
733 | static void zero_ctor(struct kmem_cache *cache, void *addr) | ||
734 | { | ||
735 | memset(addr, 0, kmem_cache_size(cache)); | ||
736 | } | ||
737 | |||
738 | static int __init hugetlbpage_init(void) | 733 | static int __init hugetlbpage_init(void) |
739 | { | 734 | { |
740 | unsigned int psize; | 735 | unsigned int psize; |
@@ -756,7 +751,7 @@ static int __init hugetlbpage_init(void) | |||
756 | HUGEPTE_TABLE_SIZE(psize), | 751 | HUGEPTE_TABLE_SIZE(psize), |
757 | HUGEPTE_TABLE_SIZE(psize), | 752 | HUGEPTE_TABLE_SIZE(psize), |
758 | 0, | 753 | 0, |
759 | zero_ctor); | 754 | NULL); |
760 | if (!huge_pgtable_cache(psize)) | 755 | if (!huge_pgtable_cache(psize)) |
761 | panic("hugetlbpage_init(): could not create %s"\ | 756 | panic("hugetlbpage_init(): could not create %s"\ |
762 | "\n", HUGEPTE_CACHE_NAME(psize)); | 757 | "\n", HUGEPTE_CACHE_NAME(psize)); |
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index a41bc5aa2043..4f7df85129d8 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c | |||
@@ -136,9 +136,14 @@ static int __init setup_kcore(void) | |||
136 | module_init(setup_kcore); | 136 | module_init(setup_kcore); |
137 | #endif | 137 | #endif |
138 | 138 | ||
139 | static void zero_ctor(struct kmem_cache *cache, void *addr) | 139 | static void pgd_ctor(void *addr) |
140 | { | 140 | { |
141 | memset(addr, 0, kmem_cache_size(cache)); | 141 | memset(addr, 0, PGD_TABLE_SIZE); |
142 | } | ||
143 | |||
144 | static void pmd_ctor(void *addr) | ||
145 | { | ||
146 | memset(addr, 0, PMD_TABLE_SIZE); | ||
142 | } | 147 | } |
143 | 148 | ||
144 | static const unsigned int pgtable_cache_size[2] = { | 149 | static const unsigned int pgtable_cache_size[2] = { |
@@ -163,19 +168,8 @@ struct kmem_cache *pgtable_cache[ARRAY_SIZE(pgtable_cache_size)]; | |||
163 | 168 | ||
164 | void pgtable_cache_init(void) | 169 | void pgtable_cache_init(void) |
165 | { | 170 | { |
166 | int i; | 171 | pgtable_cache[0] = kmem_cache_create(pgtable_cache_name[0], PGD_TABLE_SIZE, PGD_TABLE_SIZE, SLAB_PANIC, pgd_ctor); |
167 | 172 | pgtable_cache[1] = kmem_cache_create(pgtable_cache_name[1], PMD_TABLE_SIZE, PMD_TABLE_SIZE, SLAB_PANIC, pmd_ctor); | |
168 | for (i = 0; i < ARRAY_SIZE(pgtable_cache_size); i++) { | ||
169 | int size = pgtable_cache_size[i]; | ||
170 | const char *name = pgtable_cache_name[i]; | ||
171 | |||
172 | pr_debug("Allocating page table cache %s (#%d) " | ||
173 | "for size: %08x...\n", name, i, size); | ||
174 | pgtable_cache[i] = kmem_cache_create(name, | ||
175 | size, size, | ||
176 | SLAB_PANIC, | ||
177 | zero_ctor); | ||
178 | } | ||
179 | } | 173 | } |
180 | 174 | ||
181 | #ifdef CONFIG_SPARSEMEM_VMEMMAP | 175 | #ifdef CONFIG_SPARSEMEM_VMEMMAP |
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c index 1ca2235f0965..702691cb9e82 100644 --- a/arch/powerpc/mm/mem.c +++ b/arch/powerpc/mm/mem.c | |||
@@ -186,45 +186,6 @@ walk_memory_resource(unsigned long start_pfn, unsigned long nr_pages, void *arg, | |||
186 | } | 186 | } |
187 | EXPORT_SYMBOL_GPL(walk_memory_resource); | 187 | EXPORT_SYMBOL_GPL(walk_memory_resource); |
188 | 188 | ||
189 | void show_mem(void) | ||
190 | { | ||
191 | unsigned long total = 0, reserved = 0; | ||
192 | unsigned long shared = 0, cached = 0; | ||
193 | unsigned long highmem = 0; | ||
194 | struct page *page; | ||
195 | pg_data_t *pgdat; | ||
196 | unsigned long i; | ||
197 | |||
198 | printk("Mem-info:\n"); | ||
199 | show_free_areas(); | ||
200 | for_each_online_pgdat(pgdat) { | ||
201 | unsigned long flags; | ||
202 | pgdat_resize_lock(pgdat, &flags); | ||
203 | for (i = 0; i < pgdat->node_spanned_pages; i++) { | ||
204 | if (!pfn_valid(pgdat->node_start_pfn + i)) | ||
205 | continue; | ||
206 | page = pgdat_page_nr(pgdat, i); | ||
207 | total++; | ||
208 | if (PageHighMem(page)) | ||
209 | highmem++; | ||
210 | if (PageReserved(page)) | ||
211 | reserved++; | ||
212 | else if (PageSwapCache(page)) | ||
213 | cached++; | ||
214 | else if (page_count(page)) | ||
215 | shared += page_count(page) - 1; | ||
216 | } | ||
217 | pgdat_resize_unlock(pgdat, &flags); | ||
218 | } | ||
219 | printk("%ld pages of RAM\n", total); | ||
220 | #ifdef CONFIG_HIGHMEM | ||
221 | printk("%ld pages of HIGHMEM\n", highmem); | ||
222 | #endif | ||
223 | printk("%ld reserved pages\n", reserved); | ||
224 | printk("%ld pages shared\n", shared); | ||
225 | printk("%ld pages swap cached\n", cached); | ||
226 | } | ||
227 | |||
228 | /* | 189 | /* |
229 | * Initialize the bootmem system and give it all the memory we | 190 | * Initialize the bootmem system and give it all the memory we |
230 | * have available. If we are using highmem, we only put the | 191 | * have available. If we are using highmem, we only put the |
diff --git a/arch/powerpc/platforms/cell/celleb_scc_pciex.c b/arch/powerpc/platforms/cell/celleb_scc_pciex.c index 0e04f8fb152a..3e7e0f1568ef 100644 --- a/arch/powerpc/platforms/cell/celleb_scc_pciex.c +++ b/arch/powerpc/platforms/cell/celleb_scc_pciex.c | |||
@@ -281,7 +281,7 @@ static int __init scc_pciex_iowa_init(struct iowa_bus *bus, void *data) | |||
281 | 281 | ||
282 | dummy_page_da = dma_map_single(bus->phb->parent, dummy_page_va, | 282 | dummy_page_da = dma_map_single(bus->phb->parent, dummy_page_va, |
283 | PAGE_SIZE, DMA_FROM_DEVICE); | 283 | PAGE_SIZE, DMA_FROM_DEVICE); |
284 | if (dma_mapping_error(dummy_page_da)) { | 284 | if (dma_mapping_error(bus->phb->parent, dummy_page_da)) { |
285 | pr_err("PCIEX:Map dummy page failed.\n"); | 285 | pr_err("PCIEX:Map dummy page failed.\n"); |
286 | kfree(dummy_page_va); | 286 | kfree(dummy_page_va); |
287 | return -1; | 287 | return -1; |
diff --git a/arch/powerpc/platforms/cell/spider-pci.c b/arch/powerpc/platforms/cell/spider-pci.c index 418b605ac35a..5122ec145271 100644 --- a/arch/powerpc/platforms/cell/spider-pci.c +++ b/arch/powerpc/platforms/cell/spider-pci.c | |||
@@ -111,7 +111,7 @@ static int __init spiderpci_pci_setup_chip(struct pci_controller *phb, | |||
111 | 111 | ||
112 | dummy_page_da = dma_map_single(phb->parent, dummy_page_va, | 112 | dummy_page_da = dma_map_single(phb->parent, dummy_page_va, |
113 | PAGE_SIZE, DMA_FROM_DEVICE); | 113 | PAGE_SIZE, DMA_FROM_DEVICE); |
114 | if (dma_mapping_error(dummy_page_da)) { | 114 | if (dma_mapping_error(phb->parent, dummy_page_da)) { |
115 | pr_err("SPIDER-IOWA:Map dummy page filed.\n"); | 115 | pr_err("SPIDER-IOWA:Map dummy page filed.\n"); |
116 | kfree(dummy_page_va); | 116 | kfree(dummy_page_va); |
117 | return -1; | 117 | return -1; |
diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c index 7123472801d9..690ca7b0dcf6 100644 --- a/arch/powerpc/platforms/cell/spufs/inode.c +++ b/arch/powerpc/platforms/cell/spufs/inode.c | |||
@@ -78,7 +78,7 @@ spufs_destroy_inode(struct inode *inode) | |||
78 | } | 78 | } |
79 | 79 | ||
80 | static void | 80 | static void |
81 | spufs_init_once(struct kmem_cache *cachep, void *p) | 81 | spufs_init_once(void *p) |
82 | { | 82 | { |
83 | struct spufs_inode_info *ei = p; | 83 | struct spufs_inode_info *ei = p; |
84 | 84 | ||
diff --git a/arch/powerpc/platforms/iseries/mf.c b/arch/powerpc/platforms/iseries/mf.c index 1dc7295746da..731d7b157749 100644 --- a/arch/powerpc/platforms/iseries/mf.c +++ b/arch/powerpc/platforms/iseries/mf.c | |||
@@ -871,7 +871,7 @@ static int proc_mf_dump_cmdline(char *page, char **start, off_t off, | |||
871 | count = 256 - off; | 871 | count = 256 - off; |
872 | 872 | ||
873 | dma_addr = iseries_hv_map(page, off + count, DMA_FROM_DEVICE); | 873 | dma_addr = iseries_hv_map(page, off + count, DMA_FROM_DEVICE); |
874 | if (dma_mapping_error(dma_addr)) | 874 | if (dma_mapping_error(NULL, dma_addr)) |
875 | return -ENOMEM; | 875 | return -ENOMEM; |
876 | memset(page, 0, off + count); | 876 | memset(page, 0, off + count); |
877 | memset(&vsp_cmd, 0, sizeof(vsp_cmd)); | 877 | memset(&vsp_cmd, 0, sizeof(vsp_cmd)); |
diff --git a/arch/s390/kvm/gaccess.h b/arch/s390/kvm/gaccess.h index 4e0633c413f3..ed60f3a74a85 100644 --- a/arch/s390/kvm/gaccess.h +++ b/arch/s390/kvm/gaccess.h | |||
@@ -18,11 +18,11 @@ | |||
18 | #include <asm/uaccess.h> | 18 | #include <asm/uaccess.h> |
19 | 19 | ||
20 | static inline void __user *__guestaddr_to_user(struct kvm_vcpu *vcpu, | 20 | static inline void __user *__guestaddr_to_user(struct kvm_vcpu *vcpu, |
21 | u64 guestaddr) | 21 | unsigned long guestaddr) |
22 | { | 22 | { |
23 | u64 prefix = vcpu->arch.sie_block->prefix; | 23 | unsigned long prefix = vcpu->arch.sie_block->prefix; |
24 | u64 origin = vcpu->kvm->arch.guest_origin; | 24 | unsigned long origin = vcpu->kvm->arch.guest_origin; |
25 | u64 memsize = vcpu->kvm->arch.guest_memsize; | 25 | unsigned long memsize = vcpu->kvm->arch.guest_memsize; |
26 | 26 | ||
27 | if (guestaddr < 2 * PAGE_SIZE) | 27 | if (guestaddr < 2 * PAGE_SIZE) |
28 | guestaddr += prefix; | 28 | guestaddr += prefix; |
@@ -37,7 +37,7 @@ static inline void __user *__guestaddr_to_user(struct kvm_vcpu *vcpu, | |||
37 | return (void __user *) guestaddr; | 37 | return (void __user *) guestaddr; |
38 | } | 38 | } |
39 | 39 | ||
40 | static inline int get_guest_u64(struct kvm_vcpu *vcpu, u64 guestaddr, | 40 | static inline int get_guest_u64(struct kvm_vcpu *vcpu, unsigned long guestaddr, |
41 | u64 *result) | 41 | u64 *result) |
42 | { | 42 | { |
43 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); | 43 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
@@ -47,10 +47,10 @@ static inline int get_guest_u64(struct kvm_vcpu *vcpu, u64 guestaddr, | |||
47 | if (IS_ERR((void __force *) uptr)) | 47 | if (IS_ERR((void __force *) uptr)) |
48 | return PTR_ERR((void __force *) uptr); | 48 | return PTR_ERR((void __force *) uptr); |
49 | 49 | ||
50 | return get_user(*result, (u64 __user *) uptr); | 50 | return get_user(*result, (unsigned long __user *) uptr); |
51 | } | 51 | } |
52 | 52 | ||
53 | static inline int get_guest_u32(struct kvm_vcpu *vcpu, u64 guestaddr, | 53 | static inline int get_guest_u32(struct kvm_vcpu *vcpu, unsigned long guestaddr, |
54 | u32 *result) | 54 | u32 *result) |
55 | { | 55 | { |
56 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); | 56 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
@@ -63,7 +63,7 @@ static inline int get_guest_u32(struct kvm_vcpu *vcpu, u64 guestaddr, | |||
63 | return get_user(*result, (u32 __user *) uptr); | 63 | return get_user(*result, (u32 __user *) uptr); |
64 | } | 64 | } |
65 | 65 | ||
66 | static inline int get_guest_u16(struct kvm_vcpu *vcpu, u64 guestaddr, | 66 | static inline int get_guest_u16(struct kvm_vcpu *vcpu, unsigned long guestaddr, |
67 | u16 *result) | 67 | u16 *result) |
68 | { | 68 | { |
69 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); | 69 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
@@ -76,7 +76,7 @@ static inline int get_guest_u16(struct kvm_vcpu *vcpu, u64 guestaddr, | |||
76 | return get_user(*result, (u16 __user *) uptr); | 76 | return get_user(*result, (u16 __user *) uptr); |
77 | } | 77 | } |
78 | 78 | ||
79 | static inline int get_guest_u8(struct kvm_vcpu *vcpu, u64 guestaddr, | 79 | static inline int get_guest_u8(struct kvm_vcpu *vcpu, unsigned long guestaddr, |
80 | u8 *result) | 80 | u8 *result) |
81 | { | 81 | { |
82 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); | 82 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
@@ -87,7 +87,7 @@ static inline int get_guest_u8(struct kvm_vcpu *vcpu, u64 guestaddr, | |||
87 | return get_user(*result, (u8 __user *) uptr); | 87 | return get_user(*result, (u8 __user *) uptr); |
88 | } | 88 | } |
89 | 89 | ||
90 | static inline int put_guest_u64(struct kvm_vcpu *vcpu, u64 guestaddr, | 90 | static inline int put_guest_u64(struct kvm_vcpu *vcpu, unsigned long guestaddr, |
91 | u64 value) | 91 | u64 value) |
92 | { | 92 | { |
93 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); | 93 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
@@ -100,7 +100,7 @@ static inline int put_guest_u64(struct kvm_vcpu *vcpu, u64 guestaddr, | |||
100 | return put_user(value, (u64 __user *) uptr); | 100 | return put_user(value, (u64 __user *) uptr); |
101 | } | 101 | } |
102 | 102 | ||
103 | static inline int put_guest_u32(struct kvm_vcpu *vcpu, u64 guestaddr, | 103 | static inline int put_guest_u32(struct kvm_vcpu *vcpu, unsigned long guestaddr, |
104 | u32 value) | 104 | u32 value) |
105 | { | 105 | { |
106 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); | 106 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
@@ -113,7 +113,7 @@ static inline int put_guest_u32(struct kvm_vcpu *vcpu, u64 guestaddr, | |||
113 | return put_user(value, (u32 __user *) uptr); | 113 | return put_user(value, (u32 __user *) uptr); |
114 | } | 114 | } |
115 | 115 | ||
116 | static inline int put_guest_u16(struct kvm_vcpu *vcpu, u64 guestaddr, | 116 | static inline int put_guest_u16(struct kvm_vcpu *vcpu, unsigned long guestaddr, |
117 | u16 value) | 117 | u16 value) |
118 | { | 118 | { |
119 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); | 119 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
@@ -126,7 +126,7 @@ static inline int put_guest_u16(struct kvm_vcpu *vcpu, u64 guestaddr, | |||
126 | return put_user(value, (u16 __user *) uptr); | 126 | return put_user(value, (u16 __user *) uptr); |
127 | } | 127 | } |
128 | 128 | ||
129 | static inline int put_guest_u8(struct kvm_vcpu *vcpu, u64 guestaddr, | 129 | static inline int put_guest_u8(struct kvm_vcpu *vcpu, unsigned long guestaddr, |
130 | u8 value) | 130 | u8 value) |
131 | { | 131 | { |
132 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); | 132 | void __user *uptr = __guestaddr_to_user(vcpu, guestaddr); |
@@ -138,7 +138,8 @@ static inline int put_guest_u8(struct kvm_vcpu *vcpu, u64 guestaddr, | |||
138 | } | 138 | } |
139 | 139 | ||
140 | 140 | ||
141 | static inline int __copy_to_guest_slow(struct kvm_vcpu *vcpu, u64 guestdest, | 141 | static inline int __copy_to_guest_slow(struct kvm_vcpu *vcpu, |
142 | unsigned long guestdest, | ||
142 | const void *from, unsigned long n) | 143 | const void *from, unsigned long n) |
143 | { | 144 | { |
144 | int rc; | 145 | int rc; |
@@ -153,12 +154,12 @@ static inline int __copy_to_guest_slow(struct kvm_vcpu *vcpu, u64 guestdest, | |||
153 | return 0; | 154 | return 0; |
154 | } | 155 | } |
155 | 156 | ||
156 | static inline int copy_to_guest(struct kvm_vcpu *vcpu, u64 guestdest, | 157 | static inline int copy_to_guest(struct kvm_vcpu *vcpu, unsigned long guestdest, |
157 | const void *from, unsigned long n) | 158 | const void *from, unsigned long n) |
158 | { | 159 | { |
159 | u64 prefix = vcpu->arch.sie_block->prefix; | 160 | unsigned long prefix = vcpu->arch.sie_block->prefix; |
160 | u64 origin = vcpu->kvm->arch.guest_origin; | 161 | unsigned long origin = vcpu->kvm->arch.guest_origin; |
161 | u64 memsize = vcpu->kvm->arch.guest_memsize; | 162 | unsigned long memsize = vcpu->kvm->arch.guest_memsize; |
162 | 163 | ||
163 | if ((guestdest < 2 * PAGE_SIZE) && (guestdest + n > 2 * PAGE_SIZE)) | 164 | if ((guestdest < 2 * PAGE_SIZE) && (guestdest + n > 2 * PAGE_SIZE)) |
164 | goto slowpath; | 165 | goto slowpath; |
@@ -189,7 +190,8 @@ slowpath: | |||
189 | } | 190 | } |
190 | 191 | ||
191 | static inline int __copy_from_guest_slow(struct kvm_vcpu *vcpu, void *to, | 192 | static inline int __copy_from_guest_slow(struct kvm_vcpu *vcpu, void *to, |
192 | u64 guestsrc, unsigned long n) | 193 | unsigned long guestsrc, |
194 | unsigned long n) | ||
193 | { | 195 | { |
194 | int rc; | 196 | int rc; |
195 | unsigned long i; | 197 | unsigned long i; |
@@ -204,11 +206,11 @@ static inline int __copy_from_guest_slow(struct kvm_vcpu *vcpu, void *to, | |||
204 | } | 206 | } |
205 | 207 | ||
206 | static inline int copy_from_guest(struct kvm_vcpu *vcpu, void *to, | 208 | static inline int copy_from_guest(struct kvm_vcpu *vcpu, void *to, |
207 | u64 guestsrc, unsigned long n) | 209 | unsigned long guestsrc, unsigned long n) |
208 | { | 210 | { |
209 | u64 prefix = vcpu->arch.sie_block->prefix; | 211 | unsigned long prefix = vcpu->arch.sie_block->prefix; |
210 | u64 origin = vcpu->kvm->arch.guest_origin; | 212 | unsigned long origin = vcpu->kvm->arch.guest_origin; |
211 | u64 memsize = vcpu->kvm->arch.guest_memsize; | 213 | unsigned long memsize = vcpu->kvm->arch.guest_memsize; |
212 | 214 | ||
213 | if ((guestsrc < 2 * PAGE_SIZE) && (guestsrc + n > 2 * PAGE_SIZE)) | 215 | if ((guestsrc < 2 * PAGE_SIZE) && (guestsrc + n > 2 * PAGE_SIZE)) |
214 | goto slowpath; | 216 | goto slowpath; |
@@ -238,11 +240,12 @@ slowpath: | |||
238 | return __copy_from_guest_slow(vcpu, to, guestsrc, n); | 240 | return __copy_from_guest_slow(vcpu, to, guestsrc, n); |
239 | } | 241 | } |
240 | 242 | ||
241 | static inline int copy_to_guest_absolute(struct kvm_vcpu *vcpu, u64 guestdest, | 243 | static inline int copy_to_guest_absolute(struct kvm_vcpu *vcpu, |
244 | unsigned long guestdest, | ||
242 | const void *from, unsigned long n) | 245 | const void *from, unsigned long n) |
243 | { | 246 | { |
244 | u64 origin = vcpu->kvm->arch.guest_origin; | 247 | unsigned long origin = vcpu->kvm->arch.guest_origin; |
245 | u64 memsize = vcpu->kvm->arch.guest_memsize; | 248 | unsigned long memsize = vcpu->kvm->arch.guest_memsize; |
246 | 249 | ||
247 | if (guestdest + n > memsize) | 250 | if (guestdest + n > memsize) |
248 | return -EFAULT; | 251 | return -EFAULT; |
@@ -256,10 +259,11 @@ static inline int copy_to_guest_absolute(struct kvm_vcpu *vcpu, u64 guestdest, | |||
256 | } | 259 | } |
257 | 260 | ||
258 | static inline int copy_from_guest_absolute(struct kvm_vcpu *vcpu, void *to, | 261 | static inline int copy_from_guest_absolute(struct kvm_vcpu *vcpu, void *to, |
259 | u64 guestsrc, unsigned long n) | 262 | unsigned long guestsrc, |
263 | unsigned long n) | ||
260 | { | 264 | { |
261 | u64 origin = vcpu->kvm->arch.guest_origin; | 265 | unsigned long origin = vcpu->kvm->arch.guest_origin; |
262 | u64 memsize = vcpu->kvm->arch.guest_memsize; | 266 | unsigned long memsize = vcpu->kvm->arch.guest_memsize; |
263 | 267 | ||
264 | if (guestsrc + n > memsize) | 268 | if (guestsrc + n > memsize) |
265 | return -EFAULT; | 269 | return -EFAULT; |
diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c index 47a0b642174c..61236102203e 100644 --- a/arch/s390/kvm/intercept.c +++ b/arch/s390/kvm/intercept.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include "kvm-s390.h" | 20 | #include "kvm-s390.h" |
21 | #include "gaccess.h" | 21 | #include "gaccess.h" |
22 | 22 | ||
23 | static int handle_lctg(struct kvm_vcpu *vcpu) | 23 | static int handle_lctlg(struct kvm_vcpu *vcpu) |
24 | { | 24 | { |
25 | int reg1 = (vcpu->arch.sie_block->ipa & 0x00f0) >> 4; | 25 | int reg1 = (vcpu->arch.sie_block->ipa & 0x00f0) >> 4; |
26 | int reg3 = vcpu->arch.sie_block->ipa & 0x000f; | 26 | int reg3 = vcpu->arch.sie_block->ipa & 0x000f; |
@@ -30,7 +30,7 @@ static int handle_lctg(struct kvm_vcpu *vcpu) | |||
30 | u64 useraddr; | 30 | u64 useraddr; |
31 | int reg, rc; | 31 | int reg, rc; |
32 | 32 | ||
33 | vcpu->stat.instruction_lctg++; | 33 | vcpu->stat.instruction_lctlg++; |
34 | if ((vcpu->arch.sie_block->ipb & 0xff) != 0x2f) | 34 | if ((vcpu->arch.sie_block->ipb & 0xff) != 0x2f) |
35 | return -ENOTSUPP; | 35 | return -ENOTSUPP; |
36 | 36 | ||
@@ -38,9 +38,12 @@ static int handle_lctg(struct kvm_vcpu *vcpu) | |||
38 | if (base2) | 38 | if (base2) |
39 | useraddr += vcpu->arch.guest_gprs[base2]; | 39 | useraddr += vcpu->arch.guest_gprs[base2]; |
40 | 40 | ||
41 | if (useraddr & 7) | ||
42 | return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION); | ||
43 | |||
41 | reg = reg1; | 44 | reg = reg1; |
42 | 45 | ||
43 | VCPU_EVENT(vcpu, 5, "lctg r1:%x, r3:%x,b2:%x,d2:%x", reg1, reg3, base2, | 46 | VCPU_EVENT(vcpu, 5, "lctlg r1:%x, r3:%x,b2:%x,d2:%x", reg1, reg3, base2, |
44 | disp2); | 47 | disp2); |
45 | 48 | ||
46 | do { | 49 | do { |
@@ -74,6 +77,9 @@ static int handle_lctl(struct kvm_vcpu *vcpu) | |||
74 | if (base2) | 77 | if (base2) |
75 | useraddr += vcpu->arch.guest_gprs[base2]; | 78 | useraddr += vcpu->arch.guest_gprs[base2]; |
76 | 79 | ||
80 | if (useraddr & 3) | ||
81 | return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION); | ||
82 | |||
77 | VCPU_EVENT(vcpu, 5, "lctl r1:%x, r3:%x,b2:%x,d2:%x", reg1, reg3, base2, | 83 | VCPU_EVENT(vcpu, 5, "lctl r1:%x, r3:%x,b2:%x,d2:%x", reg1, reg3, base2, |
78 | disp2); | 84 | disp2); |
79 | 85 | ||
@@ -99,7 +105,7 @@ static intercept_handler_t instruction_handlers[256] = { | |||
99 | [0xae] = kvm_s390_handle_sigp, | 105 | [0xae] = kvm_s390_handle_sigp, |
100 | [0xb2] = kvm_s390_handle_priv, | 106 | [0xb2] = kvm_s390_handle_priv, |
101 | [0xb7] = handle_lctl, | 107 | [0xb7] = handle_lctl, |
102 | [0xeb] = handle_lctg, | 108 | [0xeb] = handle_lctlg, |
103 | }; | 109 | }; |
104 | 110 | ||
105 | static int handle_noop(struct kvm_vcpu *vcpu) | 111 | static int handle_noop(struct kvm_vcpu *vcpu) |
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c index 11230b0db957..2960702b4824 100644 --- a/arch/s390/kvm/interrupt.c +++ b/arch/s390/kvm/interrupt.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <asm/lowcore.h> | 13 | #include <asm/lowcore.h> |
14 | #include <asm/uaccess.h> | 14 | #include <asm/uaccess.h> |
15 | #include <linux/kvm_host.h> | 15 | #include <linux/kvm_host.h> |
16 | #include <linux/signal.h> | ||
16 | #include "kvm-s390.h" | 17 | #include "kvm-s390.h" |
17 | #include "gaccess.h" | 18 | #include "gaccess.h" |
18 | 19 | ||
@@ -246,15 +247,10 @@ static void __do_deliver_interrupt(struct kvm_vcpu *vcpu, | |||
246 | default: | 247 | default: |
247 | BUG(); | 248 | BUG(); |
248 | } | 249 | } |
249 | |||
250 | if (exception) { | 250 | if (exception) { |
251 | VCPU_EVENT(vcpu, 1, "%s", "program exception while delivering" | 251 | printk("kvm: The guest lowcore is not mapped during interrupt " |
252 | " interrupt"); | 252 | "delivery, killing userspace\n"); |
253 | kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING); | 253 | do_exit(SIGKILL); |
254 | if (inti->type == KVM_S390_PROGRAM_INT) { | ||
255 | printk(KERN_WARNING "kvm: recursive program check\n"); | ||
256 | BUG(); | ||
257 | } | ||
258 | } | 254 | } |
259 | } | 255 | } |
260 | 256 | ||
@@ -277,14 +273,11 @@ static int __try_deliver_ckc_interrupt(struct kvm_vcpu *vcpu) | |||
277 | __LC_EXT_NEW_PSW, sizeof(psw_t)); | 273 | __LC_EXT_NEW_PSW, sizeof(psw_t)); |
278 | if (rc == -EFAULT) | 274 | if (rc == -EFAULT) |
279 | exception = 1; | 275 | exception = 1; |
280 | |||
281 | if (exception) { | 276 | if (exception) { |
282 | VCPU_EVENT(vcpu, 1, "%s", "program exception while delivering" \ | 277 | printk("kvm: The guest lowcore is not mapped during interrupt " |
283 | " ckc interrupt"); | 278 | "delivery, killing userspace\n"); |
284 | kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING); | 279 | do_exit(SIGKILL); |
285 | return 0; | ||
286 | } | 280 | } |
287 | |||
288 | return 1; | 281 | return 1; |
289 | } | 282 | } |
290 | 283 | ||
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index 1782cbcd2829..8b00eb2ddf57 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c | |||
@@ -39,7 +39,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = { | |||
39 | { "exit_instruction", VCPU_STAT(exit_instruction) }, | 39 | { "exit_instruction", VCPU_STAT(exit_instruction) }, |
40 | { "exit_program_interruption", VCPU_STAT(exit_program_interruption) }, | 40 | { "exit_program_interruption", VCPU_STAT(exit_program_interruption) }, |
41 | { "exit_instr_and_program_int", VCPU_STAT(exit_instr_and_program) }, | 41 | { "exit_instr_and_program_int", VCPU_STAT(exit_instr_and_program) }, |
42 | { "instruction_lctg", VCPU_STAT(instruction_lctg) }, | 42 | { "instruction_lctlg", VCPU_STAT(instruction_lctlg) }, |
43 | { "instruction_lctl", VCPU_STAT(instruction_lctl) }, | 43 | { "instruction_lctl", VCPU_STAT(instruction_lctl) }, |
44 | { "deliver_emergency_signal", VCPU_STAT(deliver_emergency_signal) }, | 44 | { "deliver_emergency_signal", VCPU_STAT(deliver_emergency_signal) }, |
45 | { "deliver_service_signal", VCPU_STAT(deliver_service_signal) }, | 45 | { "deliver_service_signal", VCPU_STAT(deliver_service_signal) }, |
@@ -112,7 +112,12 @@ long kvm_arch_dev_ioctl(struct file *filp, | |||
112 | 112 | ||
113 | int kvm_dev_ioctl_check_extension(long ext) | 113 | int kvm_dev_ioctl_check_extension(long ext) |
114 | { | 114 | { |
115 | return 0; | 115 | switch (ext) { |
116 | case KVM_CAP_USER_MEMORY: | ||
117 | return 1; | ||
118 | default: | ||
119 | return 0; | ||
120 | } | ||
116 | } | 121 | } |
117 | 122 | ||
118 | /* Section: vm related */ | 123 | /* Section: vm related */ |
diff --git a/arch/s390/kvm/sigp.c b/arch/s390/kvm/sigp.c index 5a556114eaa5..170392687ce0 100644 --- a/arch/s390/kvm/sigp.c +++ b/arch/s390/kvm/sigp.c | |||
@@ -43,7 +43,8 @@ | |||
43 | #define SIGP_STAT_RECEIVER_CHECK 0x00000001UL | 43 | #define SIGP_STAT_RECEIVER_CHECK 0x00000001UL |
44 | 44 | ||
45 | 45 | ||
46 | static int __sigp_sense(struct kvm_vcpu *vcpu, u16 cpu_addr, u64 *reg) | 46 | static int __sigp_sense(struct kvm_vcpu *vcpu, u16 cpu_addr, |
47 | unsigned long *reg) | ||
47 | { | 48 | { |
48 | struct kvm_s390_float_interrupt *fi = &vcpu->kvm->arch.float_int; | 49 | struct kvm_s390_float_interrupt *fi = &vcpu->kvm->arch.float_int; |
49 | int rc; | 50 | int rc; |
@@ -167,7 +168,7 @@ static int __sigp_set_arch(struct kvm_vcpu *vcpu, u32 parameter) | |||
167 | } | 168 | } |
168 | 169 | ||
169 | static int __sigp_set_prefix(struct kvm_vcpu *vcpu, u16 cpu_addr, u32 address, | 170 | static int __sigp_set_prefix(struct kvm_vcpu *vcpu, u16 cpu_addr, u32 address, |
170 | u64 *reg) | 171 | unsigned long *reg) |
171 | { | 172 | { |
172 | struct kvm_s390_float_interrupt *fi = &vcpu->kvm->arch.float_int; | 173 | struct kvm_s390_float_interrupt *fi = &vcpu->kvm->arch.float_int; |
173 | struct kvm_s390_local_interrupt *li; | 174 | struct kvm_s390_local_interrupt *li; |
diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c index 388cc7420055..4993b0f594eb 100644 --- a/arch/s390/mm/init.c +++ b/arch/s390/mm/init.c | |||
@@ -42,38 +42,6 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); | |||
42 | pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__((__aligned__(PAGE_SIZE))); | 42 | pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__((__aligned__(PAGE_SIZE))); |
43 | char empty_zero_page[PAGE_SIZE] __attribute__((__aligned__(PAGE_SIZE))); | 43 | char empty_zero_page[PAGE_SIZE] __attribute__((__aligned__(PAGE_SIZE))); |
44 | 44 | ||
45 | void show_mem(void) | ||
46 | { | ||
47 | unsigned long i, total = 0, reserved = 0; | ||
48 | unsigned long shared = 0, cached = 0; | ||
49 | unsigned long flags; | ||
50 | struct page *page; | ||
51 | pg_data_t *pgdat; | ||
52 | |||
53 | printk("Mem-info:\n"); | ||
54 | show_free_areas(); | ||
55 | for_each_online_pgdat(pgdat) { | ||
56 | pgdat_resize_lock(pgdat, &flags); | ||
57 | for (i = 0; i < pgdat->node_spanned_pages; i++) { | ||
58 | if (!pfn_valid(pgdat->node_start_pfn + i)) | ||
59 | continue; | ||
60 | page = pfn_to_page(pgdat->node_start_pfn + i); | ||
61 | total++; | ||
62 | if (PageReserved(page)) | ||
63 | reserved++; | ||
64 | else if (PageSwapCache(page)) | ||
65 | cached++; | ||
66 | else if (page_count(page)) | ||
67 | shared += page_count(page) - 1; | ||
68 | } | ||
69 | pgdat_resize_unlock(pgdat, &flags); | ||
70 | } | ||
71 | printk("%ld pages of RAM\n", total); | ||
72 | printk("%ld reserved pages\n", reserved); | ||
73 | printk("%ld pages shared\n", shared); | ||
74 | printk("%ld pages swap cached\n", cached); | ||
75 | } | ||
76 | |||
77 | /* | 45 | /* |
78 | * paging_init() sets up the page tables | 46 | * paging_init() sets up the page tables |
79 | */ | 47 | */ |
diff --git a/arch/sh/kernel/machine_kexec.c b/arch/sh/kernel/machine_kexec.c index 5c17de51987e..ec1eadce4aaa 100644 --- a/arch/sh/kernel/machine_kexec.c +++ b/arch/sh/kernel/machine_kexec.c | |||
@@ -70,7 +70,7 @@ static void kexec_info(struct kimage *image) | |||
70 | * Do not allocate memory (or fail in any way) in machine_kexec(). | 70 | * Do not allocate memory (or fail in any way) in machine_kexec(). |
71 | * We are past the point of no return, committed to rebooting now. | 71 | * We are past the point of no return, committed to rebooting now. |
72 | */ | 72 | */ |
73 | NORET_TYPE void machine_kexec(struct kimage *image) | 73 | void machine_kexec(struct kimage *image) |
74 | { | 74 | { |
75 | 75 | ||
76 | unsigned long page_list; | 76 | unsigned long page_list; |
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index d652d375eb1e..b75a7acd62fb 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c | |||
@@ -25,47 +25,6 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); | |||
25 | pgd_t swapper_pg_dir[PTRS_PER_PGD]; | 25 | pgd_t swapper_pg_dir[PTRS_PER_PGD]; |
26 | unsigned long cached_to_uncached = 0; | 26 | unsigned long cached_to_uncached = 0; |
27 | 27 | ||
28 | void show_mem(void) | ||
29 | { | ||
30 | int total = 0, reserved = 0, free = 0; | ||
31 | int shared = 0, cached = 0, slab = 0; | ||
32 | pg_data_t *pgdat; | ||
33 | |||
34 | printk("Mem-info:\n"); | ||
35 | show_free_areas(); | ||
36 | |||
37 | for_each_online_pgdat(pgdat) { | ||
38 | unsigned long flags, i; | ||
39 | |||
40 | pgdat_resize_lock(pgdat, &flags); | ||
41 | for (i = 0; i < pgdat->node_spanned_pages; i++) { | ||
42 | struct page *page = pgdat_page_nr(pgdat, i); | ||
43 | total++; | ||
44 | if (PageReserved(page)) | ||
45 | reserved++; | ||
46 | else if (PageSwapCache(page)) | ||
47 | cached++; | ||
48 | else if (PageSlab(page)) | ||
49 | slab++; | ||
50 | else if (!page_count(page)) | ||
51 | free++; | ||
52 | else | ||
53 | shared += page_count(page) - 1; | ||
54 | } | ||
55 | pgdat_resize_unlock(pgdat, &flags); | ||
56 | } | ||
57 | |||
58 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); | ||
59 | printk("%d pages of RAM\n", total); | ||
60 | printk("%d free pages\n", free); | ||
61 | printk("%d reserved pages\n", reserved); | ||
62 | printk("%d slab pages\n", slab); | ||
63 | printk("%d pages shared\n", shared); | ||
64 | printk("%d pages swap cached\n", cached); | ||
65 | printk(KERN_INFO "Total of %ld pages in page table cache\n", | ||
66 | quicklist_total_size()); | ||
67 | } | ||
68 | |||
69 | #ifdef CONFIG_MMU | 28 | #ifdef CONFIG_MMU |
70 | static void set_pte_phys(unsigned long addr, unsigned long phys, pgprot_t prot) | 29 | static void set_pte_phys(unsigned long addr, unsigned long phys, pgprot_t prot) |
71 | { | 30 | { |
diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c index 0b0ec6e04753..46911bcbf17b 100644 --- a/arch/sh/mm/pmb.c +++ b/arch/sh/mm/pmb.c | |||
@@ -293,7 +293,7 @@ void pmb_unmap(unsigned long addr) | |||
293 | } while (pmbe); | 293 | } while (pmbe); |
294 | } | 294 | } |
295 | 295 | ||
296 | static void pmb_cache_ctor(struct kmem_cache *cachep, void *pmb) | 296 | static void pmb_cache_ctor(void *pmb) |
297 | { | 297 | { |
298 | struct pmb_entry *pmbe = pmb; | 298 | struct pmb_entry *pmbe = pmb; |
299 | 299 | ||
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index 713297473951..4e821b3ecb03 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c | |||
@@ -392,51 +392,6 @@ void __kprobes flush_icache_range(unsigned long start, unsigned long end) | |||
392 | } | 392 | } |
393 | } | 393 | } |
394 | 394 | ||
395 | void show_mem(void) | ||
396 | { | ||
397 | unsigned long total = 0, reserved = 0; | ||
398 | unsigned long shared = 0, cached = 0; | ||
399 | pg_data_t *pgdat; | ||
400 | |||
401 | printk(KERN_INFO "Mem-info:\n"); | ||
402 | show_free_areas(); | ||
403 | printk(KERN_INFO "Free swap: %6ldkB\n", | ||
404 | nr_swap_pages << (PAGE_SHIFT-10)); | ||
405 | for_each_online_pgdat(pgdat) { | ||
406 | unsigned long i, flags; | ||
407 | |||
408 | pgdat_resize_lock(pgdat, &flags); | ||
409 | for (i = 0; i < pgdat->node_spanned_pages; i++) { | ||
410 | struct page *page = pgdat_page_nr(pgdat, i); | ||
411 | total++; | ||
412 | if (PageReserved(page)) | ||
413 | reserved++; | ||
414 | else if (PageSwapCache(page)) | ||
415 | cached++; | ||
416 | else if (page_count(page)) | ||
417 | shared += page_count(page) - 1; | ||
418 | } | ||
419 | pgdat_resize_unlock(pgdat, &flags); | ||
420 | } | ||
421 | |||
422 | printk(KERN_INFO "%lu pages of RAM\n", total); | ||
423 | printk(KERN_INFO "%lu reserved pages\n", reserved); | ||
424 | printk(KERN_INFO "%lu pages shared\n", shared); | ||
425 | printk(KERN_INFO "%lu pages swap cached\n", cached); | ||
426 | |||
427 | printk(KERN_INFO "%lu pages dirty\n", | ||
428 | global_page_state(NR_FILE_DIRTY)); | ||
429 | printk(KERN_INFO "%lu pages writeback\n", | ||
430 | global_page_state(NR_WRITEBACK)); | ||
431 | printk(KERN_INFO "%lu pages mapped\n", | ||
432 | global_page_state(NR_FILE_MAPPED)); | ||
433 | printk(KERN_INFO "%lu pages slab\n", | ||
434 | global_page_state(NR_SLAB_RECLAIMABLE) + | ||
435 | global_page_state(NR_SLAB_UNRECLAIMABLE)); | ||
436 | printk(KERN_INFO "%lu pages pagetables\n", | ||
437 | global_page_state(NR_PAGETABLE)); | ||
438 | } | ||
439 | |||
440 | void mmu_info(struct seq_file *m) | 395 | void mmu_info(struct seq_file *m) |
441 | { | 396 | { |
442 | if (tlb_type == cheetah) | 397 | if (tlb_type == cheetah) |
diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c index e2274ef3155d..61d7e6138ff5 100644 --- a/arch/um/kernel/mem.c +++ b/arch/um/kernel/mem.c | |||
@@ -264,37 +264,6 @@ void free_initrd_mem(unsigned long start, unsigned long end) | |||
264 | } | 264 | } |
265 | #endif | 265 | #endif |
266 | 266 | ||
267 | void show_mem(void) | ||
268 | { | ||
269 | int pfn, total = 0, reserved = 0; | ||
270 | int shared = 0, cached = 0; | ||
271 | int high_mem = 0; | ||
272 | struct page *page; | ||
273 | |||
274 | printk(KERN_INFO "Mem-info:\n"); | ||
275 | show_free_areas(); | ||
276 | printk(KERN_INFO "Free swap: %6ldkB\n", | ||
277 | nr_swap_pages<<(PAGE_SHIFT-10)); | ||
278 | pfn = max_mapnr; | ||
279 | while (pfn-- > 0) { | ||
280 | page = pfn_to_page(pfn); | ||
281 | total++; | ||
282 | if (PageHighMem(page)) | ||
283 | high_mem++; | ||
284 | if (PageReserved(page)) | ||
285 | reserved++; | ||
286 | else if (PageSwapCache(page)) | ||
287 | cached++; | ||
288 | else if (page_count(page)) | ||
289 | shared += page_count(page) - 1; | ||
290 | } | ||
291 | printk(KERN_INFO "%d pages of RAM\n", total); | ||
292 | printk(KERN_INFO "%d pages of HIGHMEM\n", high_mem); | ||
293 | printk(KERN_INFO "%d reserved pages\n", reserved); | ||
294 | printk(KERN_INFO "%d pages shared\n", shared); | ||
295 | printk(KERN_INFO "%d pages swap cached\n", cached); | ||
296 | } | ||
297 | |||
298 | /* Allocate and free page tables. */ | 267 | /* Allocate and free page tables. */ |
299 | 268 | ||
300 | pgd_t *pgd_alloc(struct mm_struct *mm) | 269 | pgd_t *pgd_alloc(struct mm_struct *mm) |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index e3cba0b45600..b6fa2877b173 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -22,8 +22,9 @@ config X86 | |||
22 | select HAVE_IDE | 22 | select HAVE_IDE |
23 | select HAVE_OPROFILE | 23 | select HAVE_OPROFILE |
24 | select HAVE_IOREMAP_PROT | 24 | select HAVE_IOREMAP_PROT |
25 | select HAVE_GET_USER_PAGES_FAST | ||
25 | select HAVE_KPROBES | 26 | select HAVE_KPROBES |
26 | select ARCH_WANT_OPTIONAL_GPIOLIB if !X86_RDC321X | 27 | select ARCH_WANT_OPTIONAL_GPIOLIB |
27 | select HAVE_KRETPROBES | 28 | select HAVE_KRETPROBES |
28 | select HAVE_DYNAMIC_FTRACE | 29 | select HAVE_DYNAMIC_FTRACE |
29 | select HAVE_FTRACE | 30 | select HAVE_FTRACE |
@@ -332,20 +333,6 @@ config X86_BIGSMP | |||
332 | 333 | ||
333 | endif | 334 | endif |
334 | 335 | ||
335 | config X86_RDC321X | ||
336 | bool "RDC R-321x SoC" | ||
337 | depends on X86_32 | ||
338 | select M486 | ||
339 | select X86_REBOOTFIXUPS | ||
340 | select GENERIC_GPIO | ||
341 | select LEDS_CLASS | ||
342 | select LEDS_GPIO | ||
343 | select NEW_LEDS | ||
344 | help | ||
345 | This option is needed for RDC R-321x system-on-chip, also known | ||
346 | as R-8610-(G). | ||
347 | If you don't have one of these chips, you should say N here. | ||
348 | |||
349 | config X86_VSMP | 336 | config X86_VSMP |
350 | bool "Support for ScaleMP vSMP" | 337 | bool "Support for ScaleMP vSMP" |
351 | select PARAVIRT | 338 | select PARAVIRT |
@@ -369,6 +356,16 @@ config X86_VISWS | |||
369 | A kernel compiled for the Visual Workstation will run on general | 356 | A kernel compiled for the Visual Workstation will run on general |
370 | PCs as well. See <file:Documentation/sgi-visws.txt> for details. | 357 | PCs as well. See <file:Documentation/sgi-visws.txt> for details. |
371 | 358 | ||
359 | config X86_RDC321X | ||
360 | bool "RDC R-321x SoC" | ||
361 | depends on X86_32 | ||
362 | select M486 | ||
363 | select X86_REBOOTFIXUPS | ||
364 | help | ||
365 | This option is needed for RDC R-321x system-on-chip, also known | ||
366 | as R-8610-(G). | ||
367 | If you don't have one of these chips, you should say N here. | ||
368 | |||
372 | config SCHED_NO_NO_OMIT_FRAME_POINTER | 369 | config SCHED_NO_NO_OMIT_FRAME_POINTER |
373 | def_bool y | 370 | def_bool y |
374 | prompt "Single-depth WCHAN output" | 371 | prompt "Single-depth WCHAN output" |
@@ -1279,6 +1276,14 @@ config CRASH_DUMP | |||
1279 | (CONFIG_RELOCATABLE=y). | 1276 | (CONFIG_RELOCATABLE=y). |
1280 | For more details see Documentation/kdump/kdump.txt | 1277 | For more details see Documentation/kdump/kdump.txt |
1281 | 1278 | ||
1279 | config KEXEC_JUMP | ||
1280 | bool "kexec jump (EXPERIMENTAL)" | ||
1281 | depends on EXPERIMENTAL | ||
1282 | depends on KEXEC && HIBERNATION && X86_32 | ||
1283 | help | ||
1284 | Jump between original kernel and kexeced kernel and invoke | ||
1285 | code in physical address mode via KEXEC | ||
1286 | |||
1282 | config PHYSICAL_START | 1287 | config PHYSICAL_START |
1283 | hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) | 1288 | hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) |
1284 | default "0x1000000" if X86_NUMAQ | 1289 | default "0x1000000" if X86_NUMAQ |
diff --git a/arch/x86/Makefile b/arch/x86/Makefile index 919ce21ea654..f5631da585b6 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile | |||
@@ -118,11 +118,6 @@ mflags-$(CONFIG_X86_GENERICARCH):= -Iinclude/asm-x86/mach-generic | |||
118 | fcore-$(CONFIG_X86_GENERICARCH) += arch/x86/mach-generic/ | 118 | fcore-$(CONFIG_X86_GENERICARCH) += arch/x86/mach-generic/ |
119 | mcore-$(CONFIG_X86_GENERICARCH) := arch/x86/mach-default/ | 119 | mcore-$(CONFIG_X86_GENERICARCH) := arch/x86/mach-default/ |
120 | 120 | ||
121 | # RDC R-321x subarch support | ||
122 | mflags-$(CONFIG_X86_RDC321X) := -Iinclude/asm-x86/mach-rdc321x | ||
123 | mcore-$(CONFIG_X86_RDC321X) := arch/x86/mach-default/ | ||
124 | core-$(CONFIG_X86_RDC321X) += arch/x86/mach-rdc321x/ | ||
125 | |||
126 | # default subarch .h files | 121 | # default subarch .h files |
127 | mflags-y += -Iinclude/asm-x86/mach-default | 122 | mflags-y += -Iinclude/asm-x86/mach-default |
128 | 123 | ||
diff --git a/arch/x86/ia32/ia32_aout.c b/arch/x86/ia32/ia32_aout.c index 58cccb6483b0..a0e1dbe67dc1 100644 --- a/arch/x86/ia32/ia32_aout.c +++ b/arch/x86/ia32/ia32_aout.c | |||
@@ -441,12 +441,6 @@ beyond_if: | |||
441 | regs->r8 = regs->r9 = regs->r10 = regs->r11 = | 441 | regs->r8 = regs->r9 = regs->r10 = regs->r11 = |
442 | regs->r12 = regs->r13 = regs->r14 = regs->r15 = 0; | 442 | regs->r12 = regs->r13 = regs->r14 = regs->r15 = 0; |
443 | set_fs(USER_DS); | 443 | set_fs(USER_DS); |
444 | if (unlikely(current->ptrace & PT_PTRACED)) { | ||
445 | if (current->ptrace & PT_TRACE_EXEC) | ||
446 | ptrace_notify((PTRACE_EVENT_EXEC << 8) | SIGTRAP); | ||
447 | else | ||
448 | send_sig(SIGTRAP, current, 0); | ||
449 | } | ||
450 | return 0; | 444 | return 0; |
451 | } | 445 | } |
452 | 446 | ||
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index c25210e6ac88..74697408576f 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c | |||
@@ -667,7 +667,7 @@ static int get_device_resources(struct device *dev, | |||
667 | _bdf = calc_devid(pcidev->bus->number, pcidev->devfn); | 667 | _bdf = calc_devid(pcidev->bus->number, pcidev->devfn); |
668 | 668 | ||
669 | /* device not translated by any IOMMU in the system? */ | 669 | /* device not translated by any IOMMU in the system? */ |
670 | if (_bdf >= amd_iommu_last_bdf) { | 670 | if (_bdf > amd_iommu_last_bdf) { |
671 | *iommu = NULL; | 671 | *iommu = NULL; |
672 | *domain = NULL; | 672 | *domain = NULL; |
673 | *bdf = 0xffff; | 673 | *bdf = 0xffff; |
@@ -1085,7 +1085,7 @@ void prealloc_protection_domains(void) | |||
1085 | 1085 | ||
1086 | while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { | 1086 | while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { |
1087 | devid = (dev->bus->number << 8) | dev->devfn; | 1087 | devid = (dev->bus->number << 8) | dev->devfn; |
1088 | if (devid >= amd_iommu_last_bdf) | 1088 | if (devid > amd_iommu_last_bdf) |
1089 | continue; | 1089 | continue; |
1090 | devid = amd_iommu_alias_table[devid]; | 1090 | devid = amd_iommu_alias_table[devid]; |
1091 | if (domain_for_device(devid)) | 1091 | if (domain_for_device(devid)) |
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c index c9d8ff2eb130..d9a9da597e79 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c | |||
@@ -732,7 +732,7 @@ static int __init init_exclusion_range(struct ivmd_header *m) | |||
732 | set_device_exclusion_range(m->devid, m); | 732 | set_device_exclusion_range(m->devid, m); |
733 | break; | 733 | break; |
734 | case ACPI_IVMD_TYPE_ALL: | 734 | case ACPI_IVMD_TYPE_ALL: |
735 | for (i = 0; i < amd_iommu_last_bdf; ++i) | 735 | for (i = 0; i <= amd_iommu_last_bdf; ++i) |
736 | set_device_exclusion_range(i, m); | 736 | set_device_exclusion_range(i, m); |
737 | break; | 737 | break; |
738 | case ACPI_IVMD_TYPE_RANGE: | 738 | case ACPI_IVMD_TYPE_RANGE: |
@@ -934,7 +934,7 @@ int __init amd_iommu_init(void) | |||
934 | /* | 934 | /* |
935 | * let all alias entries point to itself | 935 | * let all alias entries point to itself |
936 | */ | 936 | */ |
937 | for (i = 0; i < amd_iommu_last_bdf; ++i) | 937 | for (i = 0; i <= amd_iommu_last_bdf; ++i) |
938 | amd_iommu_alias_table[i] = i; | 938 | amd_iommu_alias_table[i] = i; |
939 | 939 | ||
940 | /* | 940 | /* |
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index f67e93441caf..a7010c3a377a 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S | |||
@@ -456,9 +456,6 @@ is386: movl $2,%ecx # set MP | |||
456 | 1: | 456 | 1: |
457 | #endif /* CONFIG_SMP */ | 457 | #endif /* CONFIG_SMP */ |
458 | jmp *(initial_code) | 458 | jmp *(initial_code) |
459 | .align 4 | ||
460 | ENTRY(initial_code) | ||
461 | .long i386_start_kernel | ||
462 | 459 | ||
463 | /* | 460 | /* |
464 | * We depend on ET to be correct. This checks for 287/387. | 461 | * We depend on ET to be correct. This checks for 287/387. |
@@ -601,6 +598,11 @@ ignore_int: | |||
601 | #endif | 598 | #endif |
602 | iret | 599 | iret |
603 | 600 | ||
601 | .section .cpuinit.data,"wa" | ||
602 | .align 4 | ||
603 | ENTRY(initial_code) | ||
604 | .long i386_start_kernel | ||
605 | |||
604 | .section .text | 606 | .section .text |
605 | /* | 607 | /* |
606 | * Real beginning of normal "text" segment | 608 | * Real beginning of normal "text" segment |
diff --git a/arch/x86/kernel/machine_kexec_32.c b/arch/x86/kernel/machine_kexec_32.c index 8864230d55af..9fe478d98406 100644 --- a/arch/x86/kernel/machine_kexec_32.c +++ b/arch/x86/kernel/machine_kexec_32.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <asm/cpufeature.h> | 22 | #include <asm/cpufeature.h> |
23 | #include <asm/desc.h> | 23 | #include <asm/desc.h> |
24 | #include <asm/system.h> | 24 | #include <asm/system.h> |
25 | #include <asm/cacheflush.h> | ||
25 | 26 | ||
26 | #define PAGE_ALIGNED __attribute__ ((__aligned__(PAGE_SIZE))) | 27 | #define PAGE_ALIGNED __attribute__ ((__aligned__(PAGE_SIZE))) |
27 | static u32 kexec_pgd[1024] PAGE_ALIGNED; | 28 | static u32 kexec_pgd[1024] PAGE_ALIGNED; |
@@ -85,10 +86,12 @@ static void load_segments(void) | |||
85 | * reboot code buffer to allow us to avoid allocations | 86 | * reboot code buffer to allow us to avoid allocations |
86 | * later. | 87 | * later. |
87 | * | 88 | * |
88 | * Currently nothing. | 89 | * Make control page executable. |
89 | */ | 90 | */ |
90 | int machine_kexec_prepare(struct kimage *image) | 91 | int machine_kexec_prepare(struct kimage *image) |
91 | { | 92 | { |
93 | if (nx_enabled) | ||
94 | set_pages_x(image->control_code_page, 1); | ||
92 | return 0; | 95 | return 0; |
93 | } | 96 | } |
94 | 97 | ||
@@ -98,27 +101,48 @@ int machine_kexec_prepare(struct kimage *image) | |||
98 | */ | 101 | */ |
99 | void machine_kexec_cleanup(struct kimage *image) | 102 | void machine_kexec_cleanup(struct kimage *image) |
100 | { | 103 | { |
104 | if (nx_enabled) | ||
105 | set_pages_nx(image->control_code_page, 1); | ||
101 | } | 106 | } |
102 | 107 | ||
103 | /* | 108 | /* |
104 | * Do not allocate memory (or fail in any way) in machine_kexec(). | 109 | * Do not allocate memory (or fail in any way) in machine_kexec(). |
105 | * We are past the point of no return, committed to rebooting now. | 110 | * We are past the point of no return, committed to rebooting now. |
106 | */ | 111 | */ |
107 | NORET_TYPE void machine_kexec(struct kimage *image) | 112 | void machine_kexec(struct kimage *image) |
108 | { | 113 | { |
109 | unsigned long page_list[PAGES_NR]; | 114 | unsigned long page_list[PAGES_NR]; |
110 | void *control_page; | 115 | void *control_page; |
116 | asmlinkage unsigned long | ||
117 | (*relocate_kernel_ptr)(unsigned long indirection_page, | ||
118 | unsigned long control_page, | ||
119 | unsigned long start_address, | ||
120 | unsigned int has_pae, | ||
121 | unsigned int preserve_context); | ||
111 | 122 | ||
112 | tracer_disable(); | 123 | tracer_disable(); |
113 | 124 | ||
114 | /* Interrupts aren't acceptable while we reboot */ | 125 | /* Interrupts aren't acceptable while we reboot */ |
115 | local_irq_disable(); | 126 | local_irq_disable(); |
116 | 127 | ||
128 | if (image->preserve_context) { | ||
129 | #ifdef CONFIG_X86_IO_APIC | ||
130 | /* We need to put APICs in legacy mode so that we can | ||
131 | * get timer interrupts in second kernel. kexec/kdump | ||
132 | * paths already have calls to disable_IO_APIC() in | ||
133 | * one form or other. kexec jump path also need | ||
134 | * one. | ||
135 | */ | ||
136 | disable_IO_APIC(); | ||
137 | #endif | ||
138 | } | ||
139 | |||
117 | control_page = page_address(image->control_code_page); | 140 | control_page = page_address(image->control_code_page); |
118 | memcpy(control_page, relocate_kernel, PAGE_SIZE); | 141 | memcpy(control_page, relocate_kernel, PAGE_SIZE/2); |
119 | 142 | ||
143 | relocate_kernel_ptr = control_page; | ||
120 | page_list[PA_CONTROL_PAGE] = __pa(control_page); | 144 | page_list[PA_CONTROL_PAGE] = __pa(control_page); |
121 | page_list[VA_CONTROL_PAGE] = (unsigned long)relocate_kernel; | 145 | page_list[VA_CONTROL_PAGE] = (unsigned long)control_page; |
122 | page_list[PA_PGD] = __pa(kexec_pgd); | 146 | page_list[PA_PGD] = __pa(kexec_pgd); |
123 | page_list[VA_PGD] = (unsigned long)kexec_pgd; | 147 | page_list[VA_PGD] = (unsigned long)kexec_pgd; |
124 | #ifdef CONFIG_X86_PAE | 148 | #ifdef CONFIG_X86_PAE |
@@ -131,6 +155,7 @@ NORET_TYPE void machine_kexec(struct kimage *image) | |||
131 | page_list[VA_PTE_0] = (unsigned long)kexec_pte0; | 155 | page_list[VA_PTE_0] = (unsigned long)kexec_pte0; |
132 | page_list[PA_PTE_1] = __pa(kexec_pte1); | 156 | page_list[PA_PTE_1] = __pa(kexec_pte1); |
133 | page_list[VA_PTE_1] = (unsigned long)kexec_pte1; | 157 | page_list[VA_PTE_1] = (unsigned long)kexec_pte1; |
158 | page_list[PA_SWAP_PAGE] = (page_to_pfn(image->swap_page) << PAGE_SHIFT); | ||
134 | 159 | ||
135 | /* The segment registers are funny things, they have both a | 160 | /* The segment registers are funny things, they have both a |
136 | * visible and an invisible part. Whenever the visible part is | 161 | * visible and an invisible part. Whenever the visible part is |
@@ -149,8 +174,10 @@ NORET_TYPE void machine_kexec(struct kimage *image) | |||
149 | set_idt(phys_to_virt(0),0); | 174 | set_idt(phys_to_virt(0),0); |
150 | 175 | ||
151 | /* now call it */ | 176 | /* now call it */ |
152 | relocate_kernel((unsigned long)image->head, (unsigned long)page_list, | 177 | image->start = relocate_kernel_ptr((unsigned long)image->head, |
153 | image->start, cpu_has_pae); | 178 | (unsigned long)page_list, |
179 | image->start, cpu_has_pae, | ||
180 | image->preserve_context); | ||
154 | } | 181 | } |
155 | 182 | ||
156 | void arch_crash_save_vmcoreinfo(void) | 183 | void arch_crash_save_vmcoreinfo(void) |
diff --git a/arch/x86/kernel/machine_kexec_64.c b/arch/x86/kernel/machine_kexec_64.c index 9dd9262693a3..c43caa3a91f3 100644 --- a/arch/x86/kernel/machine_kexec_64.c +++ b/arch/x86/kernel/machine_kexec_64.c | |||
@@ -181,7 +181,7 @@ void machine_kexec_cleanup(struct kimage *image) | |||
181 | * Do not allocate memory (or fail in any way) in machine_kexec(). | 181 | * Do not allocate memory (or fail in any way) in machine_kexec(). |
182 | * We are past the point of no return, committed to rebooting now. | 182 | * We are past the point of no return, committed to rebooting now. |
183 | */ | 183 | */ |
184 | NORET_TYPE void machine_kexec(struct kimage *image) | 184 | void machine_kexec(struct kimage *image) |
185 | { | 185 | { |
186 | unsigned long page_list[PAGES_NR]; | 186 | unsigned long page_list[PAGES_NR]; |
187 | void *control_page; | 187 | void *control_page; |
diff --git a/arch/x86/kernel/pci-calgary_64.c b/arch/x86/kernel/pci-calgary_64.c index 19e7fc7c2c4f..b67a4b1d4eae 100644 --- a/arch/x86/kernel/pci-calgary_64.c +++ b/arch/x86/kernel/pci-calgary_64.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/delay.h> | 37 | #include <linux/delay.h> |
38 | #include <linux/scatterlist.h> | 38 | #include <linux/scatterlist.h> |
39 | #include <linux/iommu-helper.h> | 39 | #include <linux/iommu-helper.h> |
40 | |||
40 | #include <asm/iommu.h> | 41 | #include <asm/iommu.h> |
41 | #include <asm/calgary.h> | 42 | #include <asm/calgary.h> |
42 | #include <asm/tce.h> | 43 | #include <asm/tce.h> |
@@ -413,22 +414,6 @@ static void calgary_unmap_sg(struct device *dev, | |||
413 | } | 414 | } |
414 | } | 415 | } |
415 | 416 | ||
416 | static int calgary_nontranslate_map_sg(struct device* dev, | ||
417 | struct scatterlist *sg, int nelems, int direction) | ||
418 | { | ||
419 | struct scatterlist *s; | ||
420 | int i; | ||
421 | |||
422 | for_each_sg(sg, s, nelems, i) { | ||
423 | struct page *p = sg_page(s); | ||
424 | |||
425 | BUG_ON(!p); | ||
426 | s->dma_address = virt_to_bus(sg_virt(s)); | ||
427 | s->dma_length = s->length; | ||
428 | } | ||
429 | return nelems; | ||
430 | } | ||
431 | |||
432 | static int calgary_map_sg(struct device *dev, struct scatterlist *sg, | 417 | static int calgary_map_sg(struct device *dev, struct scatterlist *sg, |
433 | int nelems, int direction) | 418 | int nelems, int direction) |
434 | { | 419 | { |
@@ -439,9 +424,6 @@ static int calgary_map_sg(struct device *dev, struct scatterlist *sg, | |||
439 | unsigned long entry; | 424 | unsigned long entry; |
440 | int i; | 425 | int i; |
441 | 426 | ||
442 | if (!translation_enabled(tbl)) | ||
443 | return calgary_nontranslate_map_sg(dev, sg, nelems, direction); | ||
444 | |||
445 | for_each_sg(sg, s, nelems, i) { | 427 | for_each_sg(sg, s, nelems, i) { |
446 | BUG_ON(!sg_page(s)); | 428 | BUG_ON(!sg_page(s)); |
447 | 429 | ||
@@ -477,7 +459,6 @@ error: | |||
477 | static dma_addr_t calgary_map_single(struct device *dev, phys_addr_t paddr, | 459 | static dma_addr_t calgary_map_single(struct device *dev, phys_addr_t paddr, |
478 | size_t size, int direction) | 460 | size_t size, int direction) |
479 | { | 461 | { |
480 | dma_addr_t dma_handle = bad_dma_address; | ||
481 | void *vaddr = phys_to_virt(paddr); | 462 | void *vaddr = phys_to_virt(paddr); |
482 | unsigned long uaddr; | 463 | unsigned long uaddr; |
483 | unsigned int npages; | 464 | unsigned int npages; |
@@ -486,12 +467,7 @@ static dma_addr_t calgary_map_single(struct device *dev, phys_addr_t paddr, | |||
486 | uaddr = (unsigned long)vaddr; | 467 | uaddr = (unsigned long)vaddr; |
487 | npages = num_dma_pages(uaddr, size); | 468 | npages = num_dma_pages(uaddr, size); |
488 | 469 | ||
489 | if (translation_enabled(tbl)) | 470 | return iommu_alloc(dev, tbl, vaddr, npages, direction); |
490 | dma_handle = iommu_alloc(dev, tbl, vaddr, npages, direction); | ||
491 | else | ||
492 | dma_handle = virt_to_bus(vaddr); | ||
493 | |||
494 | return dma_handle; | ||
495 | } | 471 | } |
496 | 472 | ||
497 | static void calgary_unmap_single(struct device *dev, dma_addr_t dma_handle, | 473 | static void calgary_unmap_single(struct device *dev, dma_addr_t dma_handle, |
@@ -500,9 +476,6 @@ static void calgary_unmap_single(struct device *dev, dma_addr_t dma_handle, | |||
500 | struct iommu_table *tbl = find_iommu_table(dev); | 476 | struct iommu_table *tbl = find_iommu_table(dev); |
501 | unsigned int npages; | 477 | unsigned int npages; |
502 | 478 | ||
503 | if (!translation_enabled(tbl)) | ||
504 | return; | ||
505 | |||
506 | npages = num_dma_pages(dma_handle, size); | 479 | npages = num_dma_pages(dma_handle, size); |
507 | iommu_free(tbl, dma_handle, npages); | 480 | iommu_free(tbl, dma_handle, npages); |
508 | } | 481 | } |
@@ -525,18 +498,12 @@ static void* calgary_alloc_coherent(struct device *dev, size_t size, | |||
525 | goto error; | 498 | goto error; |
526 | memset(ret, 0, size); | 499 | memset(ret, 0, size); |
527 | 500 | ||
528 | if (translation_enabled(tbl)) { | 501 | /* set up tces to cover the allocated range */ |
529 | /* set up tces to cover the allocated range */ | 502 | mapping = iommu_alloc(dev, tbl, ret, npages, DMA_BIDIRECTIONAL); |
530 | mapping = iommu_alloc(dev, tbl, ret, npages, DMA_BIDIRECTIONAL); | 503 | if (mapping == bad_dma_address) |
531 | if (mapping == bad_dma_address) | 504 | goto free; |
532 | goto free; | 505 | *dma_handle = mapping; |
533 | |||
534 | *dma_handle = mapping; | ||
535 | } else /* non translated slot */ | ||
536 | *dma_handle = virt_to_bus(ret); | ||
537 | |||
538 | return ret; | 506 | return ret; |
539 | |||
540 | free: | 507 | free: |
541 | free_pages((unsigned long)ret, get_order(size)); | 508 | free_pages((unsigned long)ret, get_order(size)); |
542 | ret = NULL; | 509 | ret = NULL; |
@@ -544,7 +511,7 @@ error: | |||
544 | return ret; | 511 | return ret; |
545 | } | 512 | } |
546 | 513 | ||
547 | static const struct dma_mapping_ops calgary_dma_ops = { | 514 | static struct dma_mapping_ops calgary_dma_ops = { |
548 | .alloc_coherent = calgary_alloc_coherent, | 515 | .alloc_coherent = calgary_alloc_coherent, |
549 | .map_single = calgary_map_single, | 516 | .map_single = calgary_map_single, |
550 | .unmap_single = calgary_unmap_single, | 517 | .unmap_single = calgary_unmap_single, |
@@ -1241,6 +1208,16 @@ static int __init calgary_init(void) | |||
1241 | goto error; | 1208 | goto error; |
1242 | } while (1); | 1209 | } while (1); |
1243 | 1210 | ||
1211 | dev = NULL; | ||
1212 | for_each_pci_dev(dev) { | ||
1213 | struct iommu_table *tbl; | ||
1214 | |||
1215 | tbl = find_iommu_table(&dev->dev); | ||
1216 | |||
1217 | if (translation_enabled(tbl)) | ||
1218 | dev->dev.archdata.dma_ops = &calgary_dma_ops; | ||
1219 | } | ||
1220 | |||
1244 | return ret; | 1221 | return ret; |
1245 | 1222 | ||
1246 | error: | 1223 | error: |
@@ -1262,6 +1239,7 @@ error: | |||
1262 | calgary_disable_translation(dev); | 1239 | calgary_disable_translation(dev); |
1263 | calgary_free_bus(dev); | 1240 | calgary_free_bus(dev); |
1264 | pci_dev_put(dev); /* Undo calgary_init_one()'s pci_dev_get() */ | 1241 | pci_dev_put(dev); /* Undo calgary_init_one()'s pci_dev_get() */ |
1242 | dev->dev.archdata.dma_ops = NULL; | ||
1265 | } while (1); | 1243 | } while (1); |
1266 | 1244 | ||
1267 | return ret; | 1245 | return ret; |
@@ -1503,6 +1481,10 @@ void __init detect_calgary(void) | |||
1503 | printk(KERN_INFO "PCI-DMA: Calgary TCE table spec is %d, " | 1481 | printk(KERN_INFO "PCI-DMA: Calgary TCE table spec is %d, " |
1504 | "CONFIG_IOMMU_DEBUG is %s.\n", specified_table_size, | 1482 | "CONFIG_IOMMU_DEBUG is %s.\n", specified_table_size, |
1505 | debugging ? "enabled" : "disabled"); | 1483 | debugging ? "enabled" : "disabled"); |
1484 | |||
1485 | /* swiotlb for devices that aren't behind the Calgary. */ | ||
1486 | if (max_pfn > MAX_DMA32_PFN) | ||
1487 | swiotlb = 1; | ||
1506 | } | 1488 | } |
1507 | return; | 1489 | return; |
1508 | 1490 | ||
@@ -1519,7 +1501,7 @@ int __init calgary_iommu_init(void) | |||
1519 | { | 1501 | { |
1520 | int ret; | 1502 | int ret; |
1521 | 1503 | ||
1522 | if (no_iommu || swiotlb) | 1504 | if (no_iommu || (swiotlb && !calgary_detected)) |
1523 | return -ENODEV; | 1505 | return -ENODEV; |
1524 | 1506 | ||
1525 | if (!calgary_detected) | 1507 | if (!calgary_detected) |
@@ -1532,15 +1514,14 @@ int __init calgary_iommu_init(void) | |||
1532 | if (ret) { | 1514 | if (ret) { |
1533 | printk(KERN_ERR "PCI-DMA: Calgary init failed %d, " | 1515 | printk(KERN_ERR "PCI-DMA: Calgary init failed %d, " |
1534 | "falling back to no_iommu\n", ret); | 1516 | "falling back to no_iommu\n", ret); |
1535 | if (max_pfn > MAX_DMA32_PFN) | ||
1536 | printk(KERN_ERR "WARNING more than 4GB of memory, " | ||
1537 | "32bit PCI may malfunction.\n"); | ||
1538 | return ret; | 1517 | return ret; |
1539 | } | 1518 | } |
1540 | 1519 | ||
1541 | force_iommu = 1; | 1520 | force_iommu = 1; |
1542 | bad_dma_address = 0x0; | 1521 | bad_dma_address = 0x0; |
1543 | dma_ops = &calgary_dma_ops; | 1522 | /* dma_ops is set to swiotlb or nommu */ |
1523 | if (!dma_ops) | ||
1524 | dma_ops = &nommu_dma_ops; | ||
1544 | 1525 | ||
1545 | return 0; | 1526 | return 0; |
1546 | } | 1527 | } |
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c index cbecb05551bb..37544123896d 100644 --- a/arch/x86/kernel/pci-dma.c +++ b/arch/x86/kernel/pci-dma.c | |||
@@ -11,7 +11,7 @@ | |||
11 | 11 | ||
12 | static int forbid_dac __read_mostly; | 12 | static int forbid_dac __read_mostly; |
13 | 13 | ||
14 | const struct dma_mapping_ops *dma_ops; | 14 | struct dma_mapping_ops *dma_ops; |
15 | EXPORT_SYMBOL(dma_ops); | 15 | EXPORT_SYMBOL(dma_ops); |
16 | 16 | ||
17 | static int iommu_sac_force __read_mostly; | 17 | static int iommu_sac_force __read_mostly; |
@@ -312,6 +312,8 @@ static int dma_release_coherent(struct device *dev, int order, void *vaddr) | |||
312 | 312 | ||
313 | int dma_supported(struct device *dev, u64 mask) | 313 | int dma_supported(struct device *dev, u64 mask) |
314 | { | 314 | { |
315 | struct dma_mapping_ops *ops = get_dma_ops(dev); | ||
316 | |||
315 | #ifdef CONFIG_PCI | 317 | #ifdef CONFIG_PCI |
316 | if (mask > 0xffffffff && forbid_dac > 0) { | 318 | if (mask > 0xffffffff && forbid_dac > 0) { |
317 | dev_info(dev, "PCI: Disallowing DAC for device\n"); | 319 | dev_info(dev, "PCI: Disallowing DAC for device\n"); |
@@ -319,8 +321,8 @@ int dma_supported(struct device *dev, u64 mask) | |||
319 | } | 321 | } |
320 | #endif | 322 | #endif |
321 | 323 | ||
322 | if (dma_ops->dma_supported) | 324 | if (ops->dma_supported) |
323 | return dma_ops->dma_supported(dev, mask); | 325 | return ops->dma_supported(dev, mask); |
324 | 326 | ||
325 | /* Copied from i386. Doesn't make much sense, because it will | 327 | /* Copied from i386. Doesn't make much sense, because it will |
326 | only work for pci_alloc_coherent. | 328 | only work for pci_alloc_coherent. |
@@ -367,6 +369,7 @@ void * | |||
367 | dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, | 369 | dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, |
368 | gfp_t gfp) | 370 | gfp_t gfp) |
369 | { | 371 | { |
372 | struct dma_mapping_ops *ops = get_dma_ops(dev); | ||
370 | void *memory = NULL; | 373 | void *memory = NULL; |
371 | struct page *page; | 374 | struct page *page; |
372 | unsigned long dma_mask = 0; | 375 | unsigned long dma_mask = 0; |
@@ -435,8 +438,8 @@ dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, | |||
435 | /* Let low level make its own zone decisions */ | 438 | /* Let low level make its own zone decisions */ |
436 | gfp &= ~(GFP_DMA32|GFP_DMA); | 439 | gfp &= ~(GFP_DMA32|GFP_DMA); |
437 | 440 | ||
438 | if (dma_ops->alloc_coherent) | 441 | if (ops->alloc_coherent) |
439 | return dma_ops->alloc_coherent(dev, size, | 442 | return ops->alloc_coherent(dev, size, |
440 | dma_handle, gfp); | 443 | dma_handle, gfp); |
441 | return NULL; | 444 | return NULL; |
442 | } | 445 | } |
@@ -448,14 +451,14 @@ dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, | |||
448 | } | 451 | } |
449 | } | 452 | } |
450 | 453 | ||
451 | if (dma_ops->alloc_coherent) { | 454 | if (ops->alloc_coherent) { |
452 | free_pages((unsigned long)memory, get_order(size)); | 455 | free_pages((unsigned long)memory, get_order(size)); |
453 | gfp &= ~(GFP_DMA|GFP_DMA32); | 456 | gfp &= ~(GFP_DMA|GFP_DMA32); |
454 | return dma_ops->alloc_coherent(dev, size, dma_handle, gfp); | 457 | return ops->alloc_coherent(dev, size, dma_handle, gfp); |
455 | } | 458 | } |
456 | 459 | ||
457 | if (dma_ops->map_simple) { | 460 | if (ops->map_simple) { |
458 | *dma_handle = dma_ops->map_simple(dev, virt_to_phys(memory), | 461 | *dma_handle = ops->map_simple(dev, virt_to_phys(memory), |
459 | size, | 462 | size, |
460 | PCI_DMA_BIDIRECTIONAL); | 463 | PCI_DMA_BIDIRECTIONAL); |
461 | if (*dma_handle != bad_dma_address) | 464 | if (*dma_handle != bad_dma_address) |
@@ -477,12 +480,14 @@ EXPORT_SYMBOL(dma_alloc_coherent); | |||
477 | void dma_free_coherent(struct device *dev, size_t size, | 480 | void dma_free_coherent(struct device *dev, size_t size, |
478 | void *vaddr, dma_addr_t bus) | 481 | void *vaddr, dma_addr_t bus) |
479 | { | 482 | { |
483 | struct dma_mapping_ops *ops = get_dma_ops(dev); | ||
484 | |||
480 | int order = get_order(size); | 485 | int order = get_order(size); |
481 | WARN_ON(irqs_disabled()); /* for portability */ | 486 | WARN_ON(irqs_disabled()); /* for portability */ |
482 | if (dma_release_coherent(dev, order, vaddr)) | 487 | if (dma_release_coherent(dev, order, vaddr)) |
483 | return; | 488 | return; |
484 | if (dma_ops->unmap_single) | 489 | if (ops->unmap_single) |
485 | dma_ops->unmap_single(dev, bus, size, 0); | 490 | ops->unmap_single(dev, bus, size, 0); |
486 | free_pages((unsigned long)vaddr, order); | 491 | free_pages((unsigned long)vaddr, order); |
487 | } | 492 | } |
488 | EXPORT_SYMBOL(dma_free_coherent); | 493 | EXPORT_SYMBOL(dma_free_coherent); |
diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c index df5f142657d2..744126e64950 100644 --- a/arch/x86/kernel/pci-gart_64.c +++ b/arch/x86/kernel/pci-gart_64.c | |||
@@ -692,8 +692,7 @@ static __init int init_k8_gatt(struct agp_kern_info *info) | |||
692 | 692 | ||
693 | extern int agp_amd64_init(void); | 693 | extern int agp_amd64_init(void); |
694 | 694 | ||
695 | static const struct dma_mapping_ops gart_dma_ops = { | 695 | static struct dma_mapping_ops gart_dma_ops = { |
696 | .mapping_error = NULL, | ||
697 | .map_single = gart_map_single, | 696 | .map_single = gart_map_single, |
698 | .map_simple = gart_map_simple, | 697 | .map_simple = gart_map_simple, |
699 | .unmap_single = gart_unmap_single, | 698 | .unmap_single = gart_unmap_single, |
diff --git a/arch/x86/kernel/pci-nommu.c b/arch/x86/kernel/pci-nommu.c index 792b9179eff3..3f91f71cdc3e 100644 --- a/arch/x86/kernel/pci-nommu.c +++ b/arch/x86/kernel/pci-nommu.c | |||
@@ -72,21 +72,9 @@ static int nommu_map_sg(struct device *hwdev, struct scatterlist *sg, | |||
72 | return nents; | 72 | return nents; |
73 | } | 73 | } |
74 | 74 | ||
75 | /* Make sure we keep the same behaviour */ | 75 | struct dma_mapping_ops nommu_dma_ops = { |
76 | static int nommu_mapping_error(dma_addr_t dma_addr) | ||
77 | { | ||
78 | #ifdef CONFIG_X86_32 | ||
79 | return 0; | ||
80 | #else | ||
81 | return (dma_addr == bad_dma_address); | ||
82 | #endif | ||
83 | } | ||
84 | |||
85 | |||
86 | const struct dma_mapping_ops nommu_dma_ops = { | ||
87 | .map_single = nommu_map_single, | 76 | .map_single = nommu_map_single, |
88 | .map_sg = nommu_map_sg, | 77 | .map_sg = nommu_map_sg, |
89 | .mapping_error = nommu_mapping_error, | ||
90 | .is_phys = 1, | 78 | .is_phys = 1, |
91 | }; | 79 | }; |
92 | 80 | ||
diff --git a/arch/x86/kernel/pci-swiotlb_64.c b/arch/x86/kernel/pci-swiotlb_64.c index 20df839b9c20..c4ce0332759e 100644 --- a/arch/x86/kernel/pci-swiotlb_64.c +++ b/arch/x86/kernel/pci-swiotlb_64.c | |||
@@ -18,7 +18,7 @@ swiotlb_map_single_phys(struct device *hwdev, phys_addr_t paddr, size_t size, | |||
18 | return swiotlb_map_single(hwdev, phys_to_virt(paddr), size, direction); | 18 | return swiotlb_map_single(hwdev, phys_to_virt(paddr), size, direction); |
19 | } | 19 | } |
20 | 20 | ||
21 | const struct dma_mapping_ops swiotlb_dma_ops = { | 21 | struct dma_mapping_ops swiotlb_dma_ops = { |
22 | .mapping_error = swiotlb_dma_mapping_error, | 22 | .mapping_error = swiotlb_dma_mapping_error, |
23 | .alloc_coherent = swiotlb_alloc_coherent, | 23 | .alloc_coherent = swiotlb_alloc_coherent, |
24 | .free_coherent = swiotlb_free_coherent, | 24 | .free_coherent = swiotlb_free_coherent, |
diff --git a/arch/x86/kernel/relocate_kernel_32.S b/arch/x86/kernel/relocate_kernel_32.S index c30fe25d470d..703310a99023 100644 --- a/arch/x86/kernel/relocate_kernel_32.S +++ b/arch/x86/kernel/relocate_kernel_32.S | |||
@@ -20,11 +20,44 @@ | |||
20 | #define PAGE_ATTR (_PAGE_PRESENT | _PAGE_RW | _PAGE_ACCESSED | _PAGE_DIRTY) | 20 | #define PAGE_ATTR (_PAGE_PRESENT | _PAGE_RW | _PAGE_ACCESSED | _PAGE_DIRTY) |
21 | #define PAE_PGD_ATTR (_PAGE_PRESENT) | 21 | #define PAE_PGD_ATTR (_PAGE_PRESENT) |
22 | 22 | ||
23 | /* control_page + PAGE_SIZE/2 ~ control_page + PAGE_SIZE * 3/4 are | ||
24 | * used to save some data for jumping back | ||
25 | */ | ||
26 | #define DATA(offset) (PAGE_SIZE/2+(offset)) | ||
27 | |||
28 | /* Minimal CPU state */ | ||
29 | #define ESP DATA(0x0) | ||
30 | #define CR0 DATA(0x4) | ||
31 | #define CR3 DATA(0x8) | ||
32 | #define CR4 DATA(0xc) | ||
33 | |||
34 | /* other data */ | ||
35 | #define CP_VA_CONTROL_PAGE DATA(0x10) | ||
36 | #define CP_PA_PGD DATA(0x14) | ||
37 | #define CP_PA_SWAP_PAGE DATA(0x18) | ||
38 | #define CP_PA_BACKUP_PAGES_MAP DATA(0x1c) | ||
39 | |||
23 | .text | 40 | .text |
24 | .align PAGE_SIZE | 41 | .align PAGE_SIZE |
25 | .globl relocate_kernel | 42 | .globl relocate_kernel |
26 | relocate_kernel: | 43 | relocate_kernel: |
27 | movl 8(%esp), %ebp /* list of pages */ | 44 | /* Save the CPU context, used for jumping back */ |
45 | |||
46 | pushl %ebx | ||
47 | pushl %esi | ||
48 | pushl %edi | ||
49 | pushl %ebp | ||
50 | pushf | ||
51 | |||
52 | movl 20+8(%esp), %ebp /* list of pages */ | ||
53 | movl PTR(VA_CONTROL_PAGE)(%ebp), %edi | ||
54 | movl %esp, ESP(%edi) | ||
55 | movl %cr0, %eax | ||
56 | movl %eax, CR0(%edi) | ||
57 | movl %cr3, %eax | ||
58 | movl %eax, CR3(%edi) | ||
59 | movl %cr4, %eax | ||
60 | movl %eax, CR4(%edi) | ||
28 | 61 | ||
29 | #ifdef CONFIG_X86_PAE | 62 | #ifdef CONFIG_X86_PAE |
30 | /* map the control page at its virtual address */ | 63 | /* map the control page at its virtual address */ |
@@ -138,15 +171,25 @@ relocate_kernel: | |||
138 | 171 | ||
139 | relocate_new_kernel: | 172 | relocate_new_kernel: |
140 | /* read the arguments and say goodbye to the stack */ | 173 | /* read the arguments and say goodbye to the stack */ |
141 | movl 4(%esp), %ebx /* page_list */ | 174 | movl 20+4(%esp), %ebx /* page_list */ |
142 | movl 8(%esp), %ebp /* list of pages */ | 175 | movl 20+8(%esp), %ebp /* list of pages */ |
143 | movl 12(%esp), %edx /* start address */ | 176 | movl 20+12(%esp), %edx /* start address */ |
144 | movl 16(%esp), %ecx /* cpu_has_pae */ | 177 | movl 20+16(%esp), %ecx /* cpu_has_pae */ |
178 | movl 20+20(%esp), %esi /* preserve_context */ | ||
145 | 179 | ||
146 | /* zero out flags, and disable interrupts */ | 180 | /* zero out flags, and disable interrupts */ |
147 | pushl $0 | 181 | pushl $0 |
148 | popfl | 182 | popfl |
149 | 183 | ||
184 | /* save some information for jumping back */ | ||
185 | movl PTR(VA_CONTROL_PAGE)(%ebp), %edi | ||
186 | movl %edi, CP_VA_CONTROL_PAGE(%edi) | ||
187 | movl PTR(PA_PGD)(%ebp), %eax | ||
188 | movl %eax, CP_PA_PGD(%edi) | ||
189 | movl PTR(PA_SWAP_PAGE)(%ebp), %eax | ||
190 | movl %eax, CP_PA_SWAP_PAGE(%edi) | ||
191 | movl %ebx, CP_PA_BACKUP_PAGES_MAP(%edi) | ||
192 | |||
150 | /* get physical address of control page now */ | 193 | /* get physical address of control page now */ |
151 | /* this is impossible after page table switch */ | 194 | /* this is impossible after page table switch */ |
152 | movl PTR(PA_CONTROL_PAGE)(%ebp), %edi | 195 | movl PTR(PA_CONTROL_PAGE)(%ebp), %edi |
@@ -197,8 +240,90 @@ identity_mapped: | |||
197 | xorl %eax, %eax | 240 | xorl %eax, %eax |
198 | movl %eax, %cr3 | 241 | movl %eax, %cr3 |
199 | 242 | ||
243 | movl CP_PA_SWAP_PAGE(%edi), %eax | ||
244 | pushl %eax | ||
245 | pushl %ebx | ||
246 | call swap_pages | ||
247 | addl $8, %esp | ||
248 | |||
249 | /* To be certain of avoiding problems with self-modifying code | ||
250 | * I need to execute a serializing instruction here. | ||
251 | * So I flush the TLB, it's handy, and not processor dependent. | ||
252 | */ | ||
253 | xorl %eax, %eax | ||
254 | movl %eax, %cr3 | ||
255 | |||
256 | /* set all of the registers to known values */ | ||
257 | /* leave %esp alone */ | ||
258 | |||
259 | testl %esi, %esi | ||
260 | jnz 1f | ||
261 | xorl %edi, %edi | ||
262 | xorl %eax, %eax | ||
263 | xorl %ebx, %ebx | ||
264 | xorl %ecx, %ecx | ||
265 | xorl %edx, %edx | ||
266 | xorl %esi, %esi | ||
267 | xorl %ebp, %ebp | ||
268 | ret | ||
269 | 1: | ||
270 | popl %edx | ||
271 | movl CP_PA_SWAP_PAGE(%edi), %esp | ||
272 | addl $PAGE_SIZE, %esp | ||
273 | 2: | ||
274 | call *%edx | ||
275 | |||
276 | /* get the re-entry point of the peer system */ | ||
277 | movl 0(%esp), %ebp | ||
278 | call 1f | ||
279 | 1: | ||
280 | popl %ebx | ||
281 | subl $(1b - relocate_kernel), %ebx | ||
282 | movl CP_VA_CONTROL_PAGE(%ebx), %edi | ||
283 | lea PAGE_SIZE(%ebx), %esp | ||
284 | movl CP_PA_SWAP_PAGE(%ebx), %eax | ||
285 | movl CP_PA_BACKUP_PAGES_MAP(%ebx), %edx | ||
286 | pushl %eax | ||
287 | pushl %edx | ||
288 | call swap_pages | ||
289 | addl $8, %esp | ||
290 | movl CP_PA_PGD(%ebx), %eax | ||
291 | movl %eax, %cr3 | ||
292 | movl %cr0, %eax | ||
293 | orl $(1<<31), %eax | ||
294 | movl %eax, %cr0 | ||
295 | lea PAGE_SIZE(%edi), %esp | ||
296 | movl %edi, %eax | ||
297 | addl $(virtual_mapped - relocate_kernel), %eax | ||
298 | pushl %eax | ||
299 | ret | ||
300 | |||
301 | virtual_mapped: | ||
302 | movl CR4(%edi), %eax | ||
303 | movl %eax, %cr4 | ||
304 | movl CR3(%edi), %eax | ||
305 | movl %eax, %cr3 | ||
306 | movl CR0(%edi), %eax | ||
307 | movl %eax, %cr0 | ||
308 | movl ESP(%edi), %esp | ||
309 | movl %ebp, %eax | ||
310 | |||
311 | popf | ||
312 | popl %ebp | ||
313 | popl %edi | ||
314 | popl %esi | ||
315 | popl %ebx | ||
316 | ret | ||
317 | |||
200 | /* Do the copies */ | 318 | /* Do the copies */ |
201 | movl %ebx, %ecx | 319 | swap_pages: |
320 | movl 8(%esp), %edx | ||
321 | movl 4(%esp), %ecx | ||
322 | pushl %ebp | ||
323 | pushl %ebx | ||
324 | pushl %edi | ||
325 | pushl %esi | ||
326 | movl %ecx, %ebx | ||
202 | jmp 1f | 327 | jmp 1f |
203 | 328 | ||
204 | 0: /* top, read another word from the indirection page */ | 329 | 0: /* top, read another word from the indirection page */ |
@@ -226,27 +351,28 @@ identity_mapped: | |||
226 | movl %ecx, %esi /* For every source page do a copy */ | 351 | movl %ecx, %esi /* For every source page do a copy */ |
227 | andl $0xfffff000, %esi | 352 | andl $0xfffff000, %esi |
228 | 353 | ||
354 | movl %edi, %eax | ||
355 | movl %esi, %ebp | ||
356 | |||
357 | movl %edx, %edi | ||
229 | movl $1024, %ecx | 358 | movl $1024, %ecx |
230 | rep ; movsl | 359 | rep ; movsl |
231 | jmp 0b | ||
232 | 360 | ||
233 | 3: | 361 | movl %ebp, %edi |
234 | 362 | movl %eax, %esi | |
235 | /* To be certain of avoiding problems with self-modifying code | 363 | movl $1024, %ecx |
236 | * I need to execute a serializing instruction here. | 364 | rep ; movsl |
237 | * So I flush the TLB, it's handy, and not processor dependent. | ||
238 | */ | ||
239 | xorl %eax, %eax | ||
240 | movl %eax, %cr3 | ||
241 | 365 | ||
242 | /* set all of the registers to known values */ | 366 | movl %eax, %edi |
243 | /* leave %esp alone */ | 367 | movl %edx, %esi |
368 | movl $1024, %ecx | ||
369 | rep ; movsl | ||
244 | 370 | ||
245 | xorl %eax, %eax | 371 | lea PAGE_SIZE(%ebp), %esi |
246 | xorl %ebx, %ebx | 372 | jmp 0b |
247 | xorl %ecx, %ecx | 373 | 3: |
248 | xorl %edx, %edx | 374 | popl %esi |
249 | xorl %esi, %esi | 375 | popl %edi |
250 | xorl %edi, %edi | 376 | popl %ebx |
251 | xorl %ebp, %ebp | 377 | popl %ebp |
252 | ret | 378 | ret |
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index b0e4ddca6c18..2fa231923cf7 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c | |||
@@ -1814,6 +1814,7 @@ int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, gva_t gva) | |||
1814 | spin_unlock(&vcpu->kvm->mmu_lock); | 1814 | spin_unlock(&vcpu->kvm->mmu_lock); |
1815 | return r; | 1815 | return r; |
1816 | } | 1816 | } |
1817 | EXPORT_SYMBOL_GPL(kvm_mmu_unprotect_page_virt); | ||
1817 | 1818 | ||
1818 | void __kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu) | 1819 | void __kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu) |
1819 | { | 1820 | { |
@@ -1870,6 +1871,12 @@ void kvm_enable_tdp(void) | |||
1870 | } | 1871 | } |
1871 | EXPORT_SYMBOL_GPL(kvm_enable_tdp); | 1872 | EXPORT_SYMBOL_GPL(kvm_enable_tdp); |
1872 | 1873 | ||
1874 | void kvm_disable_tdp(void) | ||
1875 | { | ||
1876 | tdp_enabled = false; | ||
1877 | } | ||
1878 | EXPORT_SYMBOL_GPL(kvm_disable_tdp); | ||
1879 | |||
1873 | static void free_mmu_pages(struct kvm_vcpu *vcpu) | 1880 | static void free_mmu_pages(struct kvm_vcpu *vcpu) |
1874 | { | 1881 | { |
1875 | struct kvm_mmu_page *sp; | 1882 | struct kvm_mmu_page *sp; |
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index b756e876dce3..e2ee264740c7 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c | |||
@@ -453,7 +453,8 @@ static __init int svm_hardware_setup(void) | |||
453 | if (npt_enabled) { | 453 | if (npt_enabled) { |
454 | printk(KERN_INFO "kvm: Nested Paging enabled\n"); | 454 | printk(KERN_INFO "kvm: Nested Paging enabled\n"); |
455 | kvm_enable_tdp(); | 455 | kvm_enable_tdp(); |
456 | } | 456 | } else |
457 | kvm_disable_tdp(); | ||
457 | 458 | ||
458 | return 0; | 459 | return 0; |
459 | 460 | ||
@@ -1007,10 +1008,13 @@ static int pf_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run) | |||
1007 | struct kvm *kvm = svm->vcpu.kvm; | 1008 | struct kvm *kvm = svm->vcpu.kvm; |
1008 | u64 fault_address; | 1009 | u64 fault_address; |
1009 | u32 error_code; | 1010 | u32 error_code; |
1011 | bool event_injection = false; | ||
1010 | 1012 | ||
1011 | if (!irqchip_in_kernel(kvm) && | 1013 | if (!irqchip_in_kernel(kvm) && |
1012 | is_external_interrupt(exit_int_info)) | 1014 | is_external_interrupt(exit_int_info)) { |
1015 | event_injection = true; | ||
1013 | push_irq(&svm->vcpu, exit_int_info & SVM_EVTINJ_VEC_MASK); | 1016 | push_irq(&svm->vcpu, exit_int_info & SVM_EVTINJ_VEC_MASK); |
1017 | } | ||
1014 | 1018 | ||
1015 | fault_address = svm->vmcb->control.exit_info_2; | 1019 | fault_address = svm->vmcb->control.exit_info_2; |
1016 | error_code = svm->vmcb->control.exit_info_1; | 1020 | error_code = svm->vmcb->control.exit_info_1; |
@@ -1024,6 +1028,8 @@ static int pf_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run) | |||
1024 | (u32)fault_address, (u32)(fault_address >> 32), | 1028 | (u32)fault_address, (u32)(fault_address >> 32), |
1025 | handler); | 1029 | handler); |
1026 | 1030 | ||
1031 | if (event_injection) | ||
1032 | kvm_mmu_unprotect_page_virt(&svm->vcpu, fault_address); | ||
1027 | return kvm_mmu_page_fault(&svm->vcpu, fault_address, error_code); | 1033 | return kvm_mmu_page_fault(&svm->vcpu, fault_address, error_code); |
1028 | } | 1034 | } |
1029 | 1035 | ||
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 0cac63701719..2a69773e3b26 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c | |||
@@ -2298,6 +2298,8 @@ static int handle_exception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) | |||
2298 | cr2 = vmcs_readl(EXIT_QUALIFICATION); | 2298 | cr2 = vmcs_readl(EXIT_QUALIFICATION); |
2299 | KVMTRACE_3D(PAGE_FAULT, vcpu, error_code, (u32)cr2, | 2299 | KVMTRACE_3D(PAGE_FAULT, vcpu, error_code, (u32)cr2, |
2300 | (u32)((u64)cr2 >> 32), handler); | 2300 | (u32)((u64)cr2 >> 32), handler); |
2301 | if (vect_info & VECTORING_INFO_VALID_MASK) | ||
2302 | kvm_mmu_unprotect_page_virt(vcpu, cr2); | ||
2301 | return kvm_mmu_page_fault(vcpu, cr2, error_code); | 2303 | return kvm_mmu_page_fault(vcpu, cr2, error_code); |
2302 | } | 2304 | } |
2303 | 2305 | ||
@@ -3116,15 +3118,6 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) | |||
3116 | return ERR_PTR(-ENOMEM); | 3118 | return ERR_PTR(-ENOMEM); |
3117 | 3119 | ||
3118 | allocate_vpid(vmx); | 3120 | allocate_vpid(vmx); |
3119 | if (id == 0 && vm_need_ept()) { | ||
3120 | kvm_mmu_set_base_ptes(VMX_EPT_READABLE_MASK | | ||
3121 | VMX_EPT_WRITABLE_MASK | | ||
3122 | VMX_EPT_DEFAULT_MT << VMX_EPT_MT_EPTE_SHIFT); | ||
3123 | kvm_mmu_set_mask_ptes(0ull, VMX_EPT_FAKE_ACCESSED_MASK, | ||
3124 | VMX_EPT_FAKE_DIRTY_MASK, 0ull, | ||
3125 | VMX_EPT_EXECUTABLE_MASK); | ||
3126 | kvm_enable_tdp(); | ||
3127 | } | ||
3128 | 3121 | ||
3129 | err = kvm_vcpu_init(&vmx->vcpu, kvm, id); | 3122 | err = kvm_vcpu_init(&vmx->vcpu, kvm, id); |
3130 | if (err) | 3123 | if (err) |
@@ -3303,8 +3296,17 @@ static int __init vmx_init(void) | |||
3303 | vmx_disable_intercept_for_msr(vmx_msr_bitmap, MSR_IA32_SYSENTER_ESP); | 3296 | vmx_disable_intercept_for_msr(vmx_msr_bitmap, MSR_IA32_SYSENTER_ESP); |
3304 | vmx_disable_intercept_for_msr(vmx_msr_bitmap, MSR_IA32_SYSENTER_EIP); | 3297 | vmx_disable_intercept_for_msr(vmx_msr_bitmap, MSR_IA32_SYSENTER_EIP); |
3305 | 3298 | ||
3306 | if (cpu_has_vmx_ept()) | 3299 | if (vm_need_ept()) { |
3307 | bypass_guest_pf = 0; | 3300 | bypass_guest_pf = 0; |
3301 | kvm_mmu_set_base_ptes(VMX_EPT_READABLE_MASK | | ||
3302 | VMX_EPT_WRITABLE_MASK | | ||
3303 | VMX_EPT_DEFAULT_MT << VMX_EPT_MT_EPTE_SHIFT); | ||
3304 | kvm_mmu_set_mask_ptes(0ull, VMX_EPT_FAKE_ACCESSED_MASK, | ||
3305 | VMX_EPT_FAKE_DIRTY_MASK, 0ull, | ||
3306 | VMX_EPT_EXECUTABLE_MASK); | ||
3307 | kvm_enable_tdp(); | ||
3308 | } else | ||
3309 | kvm_disable_tdp(); | ||
3308 | 3310 | ||
3309 | if (bypass_guest_pf) | 3311 | if (bypass_guest_pf) |
3310 | kvm_mmu_set_nonpresent_ptes(~0xffeull, 0ull); | 3312 | kvm_mmu_set_nonpresent_ptes(~0xffeull, 0ull); |
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 9f1cdb011cff..5916191420c7 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -3184,6 +3184,10 @@ static void seg_desct_to_kvm_desct(struct desc_struct *seg_desc, u16 selector, | |||
3184 | kvm_desct->base |= seg_desc->base2 << 24; | 3184 | kvm_desct->base |= seg_desc->base2 << 24; |
3185 | kvm_desct->limit = seg_desc->limit0; | 3185 | kvm_desct->limit = seg_desc->limit0; |
3186 | kvm_desct->limit |= seg_desc->limit << 16; | 3186 | kvm_desct->limit |= seg_desc->limit << 16; |
3187 | if (seg_desc->g) { | ||
3188 | kvm_desct->limit <<= 12; | ||
3189 | kvm_desct->limit |= 0xfff; | ||
3190 | } | ||
3187 | kvm_desct->selector = selector; | 3191 | kvm_desct->selector = selector; |
3188 | kvm_desct->type = seg_desc->type; | 3192 | kvm_desct->type = seg_desc->type; |
3189 | kvm_desct->present = seg_desc->p; | 3193 | kvm_desct->present = seg_desc->p; |
@@ -3223,6 +3227,7 @@ static void get_segment_descritptor_dtable(struct kvm_vcpu *vcpu, | |||
3223 | static int load_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, | 3227 | static int load_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, |
3224 | struct desc_struct *seg_desc) | 3228 | struct desc_struct *seg_desc) |
3225 | { | 3229 | { |
3230 | gpa_t gpa; | ||
3226 | struct descriptor_table dtable; | 3231 | struct descriptor_table dtable; |
3227 | u16 index = selector >> 3; | 3232 | u16 index = selector >> 3; |
3228 | 3233 | ||
@@ -3232,13 +3237,16 @@ static int load_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, | |||
3232 | kvm_queue_exception_e(vcpu, GP_VECTOR, selector & 0xfffc); | 3237 | kvm_queue_exception_e(vcpu, GP_VECTOR, selector & 0xfffc); |
3233 | return 1; | 3238 | return 1; |
3234 | } | 3239 | } |
3235 | return kvm_read_guest(vcpu->kvm, dtable.base + index * 8, seg_desc, 8); | 3240 | gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, dtable.base); |
3241 | gpa += index * 8; | ||
3242 | return kvm_read_guest(vcpu->kvm, gpa, seg_desc, 8); | ||
3236 | } | 3243 | } |
3237 | 3244 | ||
3238 | /* allowed just for 8 bytes segments */ | 3245 | /* allowed just for 8 bytes segments */ |
3239 | static int save_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, | 3246 | static int save_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, |
3240 | struct desc_struct *seg_desc) | 3247 | struct desc_struct *seg_desc) |
3241 | { | 3248 | { |
3249 | gpa_t gpa; | ||
3242 | struct descriptor_table dtable; | 3250 | struct descriptor_table dtable; |
3243 | u16 index = selector >> 3; | 3251 | u16 index = selector >> 3; |
3244 | 3252 | ||
@@ -3246,7 +3254,9 @@ static int save_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, | |||
3246 | 3254 | ||
3247 | if (dtable.limit < index * 8 + 7) | 3255 | if (dtable.limit < index * 8 + 7) |
3248 | return 1; | 3256 | return 1; |
3249 | return kvm_write_guest(vcpu->kvm, dtable.base + index * 8, seg_desc, 8); | 3257 | gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, dtable.base); |
3258 | gpa += index * 8; | ||
3259 | return kvm_write_guest(vcpu->kvm, gpa, seg_desc, 8); | ||
3250 | } | 3260 | } |
3251 | 3261 | ||
3252 | static u32 get_tss_base_addr(struct kvm_vcpu *vcpu, | 3262 | static u32 get_tss_base_addr(struct kvm_vcpu *vcpu, |
@@ -3258,55 +3268,7 @@ static u32 get_tss_base_addr(struct kvm_vcpu *vcpu, | |||
3258 | base_addr |= (seg_desc->base1 << 16); | 3268 | base_addr |= (seg_desc->base1 << 16); |
3259 | base_addr |= (seg_desc->base2 << 24); | 3269 | base_addr |= (seg_desc->base2 << 24); |
3260 | 3270 | ||
3261 | return base_addr; | 3271 | return vcpu->arch.mmu.gva_to_gpa(vcpu, base_addr); |
3262 | } | ||
3263 | |||
3264 | static int load_tss_segment32(struct kvm_vcpu *vcpu, | ||
3265 | struct desc_struct *seg_desc, | ||
3266 | struct tss_segment_32 *tss) | ||
3267 | { | ||
3268 | u32 base_addr; | ||
3269 | |||
3270 | base_addr = get_tss_base_addr(vcpu, seg_desc); | ||
3271 | |||
3272 | return kvm_read_guest(vcpu->kvm, base_addr, tss, | ||
3273 | sizeof(struct tss_segment_32)); | ||
3274 | } | ||
3275 | |||
3276 | static int save_tss_segment32(struct kvm_vcpu *vcpu, | ||
3277 | struct desc_struct *seg_desc, | ||
3278 | struct tss_segment_32 *tss) | ||
3279 | { | ||
3280 | u32 base_addr; | ||
3281 | |||
3282 | base_addr = get_tss_base_addr(vcpu, seg_desc); | ||
3283 | |||
3284 | return kvm_write_guest(vcpu->kvm, base_addr, tss, | ||
3285 | sizeof(struct tss_segment_32)); | ||
3286 | } | ||
3287 | |||
3288 | static int load_tss_segment16(struct kvm_vcpu *vcpu, | ||
3289 | struct desc_struct *seg_desc, | ||
3290 | struct tss_segment_16 *tss) | ||
3291 | { | ||
3292 | u32 base_addr; | ||
3293 | |||
3294 | base_addr = get_tss_base_addr(vcpu, seg_desc); | ||
3295 | |||
3296 | return kvm_read_guest(vcpu->kvm, base_addr, tss, | ||
3297 | sizeof(struct tss_segment_16)); | ||
3298 | } | ||
3299 | |||
3300 | static int save_tss_segment16(struct kvm_vcpu *vcpu, | ||
3301 | struct desc_struct *seg_desc, | ||
3302 | struct tss_segment_16 *tss) | ||
3303 | { | ||
3304 | u32 base_addr; | ||
3305 | |||
3306 | base_addr = get_tss_base_addr(vcpu, seg_desc); | ||
3307 | |||
3308 | return kvm_write_guest(vcpu->kvm, base_addr, tss, | ||
3309 | sizeof(struct tss_segment_16)); | ||
3310 | } | 3272 | } |
3311 | 3273 | ||
3312 | static u16 get_segment_selector(struct kvm_vcpu *vcpu, int seg) | 3274 | static u16 get_segment_selector(struct kvm_vcpu *vcpu, int seg) |
@@ -3466,20 +3428,26 @@ static int load_state_from_tss16(struct kvm_vcpu *vcpu, | |||
3466 | } | 3428 | } |
3467 | 3429 | ||
3468 | static int kvm_task_switch_16(struct kvm_vcpu *vcpu, u16 tss_selector, | 3430 | static int kvm_task_switch_16(struct kvm_vcpu *vcpu, u16 tss_selector, |
3469 | struct desc_struct *cseg_desc, | 3431 | u32 old_tss_base, |
3470 | struct desc_struct *nseg_desc) | 3432 | struct desc_struct *nseg_desc) |
3471 | { | 3433 | { |
3472 | struct tss_segment_16 tss_segment_16; | 3434 | struct tss_segment_16 tss_segment_16; |
3473 | int ret = 0; | 3435 | int ret = 0; |
3474 | 3436 | ||
3475 | if (load_tss_segment16(vcpu, cseg_desc, &tss_segment_16)) | 3437 | if (kvm_read_guest(vcpu->kvm, old_tss_base, &tss_segment_16, |
3438 | sizeof tss_segment_16)) | ||
3476 | goto out; | 3439 | goto out; |
3477 | 3440 | ||
3478 | save_state_to_tss16(vcpu, &tss_segment_16); | 3441 | save_state_to_tss16(vcpu, &tss_segment_16); |
3479 | save_tss_segment16(vcpu, cseg_desc, &tss_segment_16); | ||
3480 | 3442 | ||
3481 | if (load_tss_segment16(vcpu, nseg_desc, &tss_segment_16)) | 3443 | if (kvm_write_guest(vcpu->kvm, old_tss_base, &tss_segment_16, |
3444 | sizeof tss_segment_16)) | ||
3482 | goto out; | 3445 | goto out; |
3446 | |||
3447 | if (kvm_read_guest(vcpu->kvm, get_tss_base_addr(vcpu, nseg_desc), | ||
3448 | &tss_segment_16, sizeof tss_segment_16)) | ||
3449 | goto out; | ||
3450 | |||
3483 | if (load_state_from_tss16(vcpu, &tss_segment_16)) | 3451 | if (load_state_from_tss16(vcpu, &tss_segment_16)) |
3484 | goto out; | 3452 | goto out; |
3485 | 3453 | ||
@@ -3489,20 +3457,26 @@ out: | |||
3489 | } | 3457 | } |
3490 | 3458 | ||
3491 | static int kvm_task_switch_32(struct kvm_vcpu *vcpu, u16 tss_selector, | 3459 | static int kvm_task_switch_32(struct kvm_vcpu *vcpu, u16 tss_selector, |
3492 | struct desc_struct *cseg_desc, | 3460 | u32 old_tss_base, |
3493 | struct desc_struct *nseg_desc) | 3461 | struct desc_struct *nseg_desc) |
3494 | { | 3462 | { |
3495 | struct tss_segment_32 tss_segment_32; | 3463 | struct tss_segment_32 tss_segment_32; |
3496 | int ret = 0; | 3464 | int ret = 0; |
3497 | 3465 | ||
3498 | if (load_tss_segment32(vcpu, cseg_desc, &tss_segment_32)) | 3466 | if (kvm_read_guest(vcpu->kvm, old_tss_base, &tss_segment_32, |
3467 | sizeof tss_segment_32)) | ||
3499 | goto out; | 3468 | goto out; |
3500 | 3469 | ||
3501 | save_state_to_tss32(vcpu, &tss_segment_32); | 3470 | save_state_to_tss32(vcpu, &tss_segment_32); |
3502 | save_tss_segment32(vcpu, cseg_desc, &tss_segment_32); | ||
3503 | 3471 | ||
3504 | if (load_tss_segment32(vcpu, nseg_desc, &tss_segment_32)) | 3472 | if (kvm_write_guest(vcpu->kvm, old_tss_base, &tss_segment_32, |
3473 | sizeof tss_segment_32)) | ||
3474 | goto out; | ||
3475 | |||
3476 | if (kvm_read_guest(vcpu->kvm, get_tss_base_addr(vcpu, nseg_desc), | ||
3477 | &tss_segment_32, sizeof tss_segment_32)) | ||
3505 | goto out; | 3478 | goto out; |
3479 | |||
3506 | if (load_state_from_tss32(vcpu, &tss_segment_32)) | 3480 | if (load_state_from_tss32(vcpu, &tss_segment_32)) |
3507 | goto out; | 3481 | goto out; |
3508 | 3482 | ||
@@ -3517,16 +3491,20 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason) | |||
3517 | struct desc_struct cseg_desc; | 3491 | struct desc_struct cseg_desc; |
3518 | struct desc_struct nseg_desc; | 3492 | struct desc_struct nseg_desc; |
3519 | int ret = 0; | 3493 | int ret = 0; |
3494 | u32 old_tss_base = get_segment_base(vcpu, VCPU_SREG_TR); | ||
3495 | u16 old_tss_sel = get_segment_selector(vcpu, VCPU_SREG_TR); | ||
3520 | 3496 | ||
3521 | kvm_get_segment(vcpu, &tr_seg, VCPU_SREG_TR); | 3497 | old_tss_base = vcpu->arch.mmu.gva_to_gpa(vcpu, old_tss_base); |
3522 | 3498 | ||
3499 | /* FIXME: Handle errors. Failure to read either TSS or their | ||
3500 | * descriptors should generate a pagefault. | ||
3501 | */ | ||
3523 | if (load_guest_segment_descriptor(vcpu, tss_selector, &nseg_desc)) | 3502 | if (load_guest_segment_descriptor(vcpu, tss_selector, &nseg_desc)) |
3524 | goto out; | 3503 | goto out; |
3525 | 3504 | ||
3526 | if (load_guest_segment_descriptor(vcpu, tr_seg.selector, &cseg_desc)) | 3505 | if (load_guest_segment_descriptor(vcpu, old_tss_sel, &cseg_desc)) |
3527 | goto out; | 3506 | goto out; |
3528 | 3507 | ||
3529 | |||
3530 | if (reason != TASK_SWITCH_IRET) { | 3508 | if (reason != TASK_SWITCH_IRET) { |
3531 | int cpl; | 3509 | int cpl; |
3532 | 3510 | ||
@@ -3544,8 +3522,7 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason) | |||
3544 | 3522 | ||
3545 | if (reason == TASK_SWITCH_IRET || reason == TASK_SWITCH_JMP) { | 3523 | if (reason == TASK_SWITCH_IRET || reason == TASK_SWITCH_JMP) { |
3546 | cseg_desc.type &= ~(1 << 1); //clear the B flag | 3524 | cseg_desc.type &= ~(1 << 1); //clear the B flag |
3547 | save_guest_segment_descriptor(vcpu, tr_seg.selector, | 3525 | save_guest_segment_descriptor(vcpu, old_tss_sel, &cseg_desc); |
3548 | &cseg_desc); | ||
3549 | } | 3526 | } |
3550 | 3527 | ||
3551 | if (reason == TASK_SWITCH_IRET) { | 3528 | if (reason == TASK_SWITCH_IRET) { |
@@ -3557,10 +3534,10 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason) | |||
3557 | kvm_x86_ops->cache_regs(vcpu); | 3534 | kvm_x86_ops->cache_regs(vcpu); |
3558 | 3535 | ||
3559 | if (nseg_desc.type & 8) | 3536 | if (nseg_desc.type & 8) |
3560 | ret = kvm_task_switch_32(vcpu, tss_selector, &cseg_desc, | 3537 | ret = kvm_task_switch_32(vcpu, tss_selector, old_tss_base, |
3561 | &nseg_desc); | 3538 | &nseg_desc); |
3562 | else | 3539 | else |
3563 | ret = kvm_task_switch_16(vcpu, tss_selector, &cseg_desc, | 3540 | ret = kvm_task_switch_16(vcpu, tss_selector, old_tss_base, |
3564 | &nseg_desc); | 3541 | &nseg_desc); |
3565 | 3542 | ||
3566 | if (reason == TASK_SWITCH_CALL || reason == TASK_SWITCH_GATE) { | 3543 | if (reason == TASK_SWITCH_CALL || reason == TASK_SWITCH_GATE) { |
diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile index 1fbb844c3d7a..2977ea37791f 100644 --- a/arch/x86/mm/Makefile +++ b/arch/x86/mm/Makefile | |||
@@ -1,6 +1,7 @@ | |||
1 | obj-y := init_$(BITS).o fault.o ioremap.o extable.o pageattr.o mmap.o \ | 1 | obj-y := init_$(BITS).o fault.o ioremap.o extable.o pageattr.o mmap.o \ |
2 | pat.o pgtable.o | 2 | pat.o pgtable.o |
3 | 3 | ||
4 | obj-$(CONFIG_HAVE_GET_USER_PAGES_FAST) += gup.o | ||
4 | obj-$(CONFIG_X86_32) += pgtable_32.o | 5 | obj-$(CONFIG_X86_32) += pgtable_32.o |
5 | 6 | ||
6 | obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o | 7 | obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o |
diff --git a/arch/x86/mm/gup.c b/arch/x86/mm/gup.c new file mode 100644 index 000000000000..3085f25b4355 --- /dev/null +++ b/arch/x86/mm/gup.c | |||
@@ -0,0 +1,295 @@ | |||
1 | /* | ||
2 | * Lockless get_user_pages_fast for x86 | ||
3 | * | ||
4 | * Copyright (C) 2008 Nick Piggin | ||
5 | * Copyright (C) 2008 Novell Inc. | ||
6 | */ | ||
7 | #include <linux/sched.h> | ||
8 | #include <linux/mm.h> | ||
9 | #include <linux/vmstat.h> | ||
10 | #include <linux/highmem.h> | ||
11 | |||
12 | #include <asm/pgtable.h> | ||
13 | |||
14 | static inline pte_t gup_get_pte(pte_t *ptep) | ||
15 | { | ||
16 | #ifndef CONFIG_X86_PAE | ||
17 | return *ptep; | ||
18 | #else | ||
19 | /* | ||
20 | * With get_user_pages_fast, we walk down the pagetables without taking | ||
21 | * any locks. For this we would like to load the pointers atoimcally, | ||
22 | * but that is not possible (without expensive cmpxchg8b) on PAE. What | ||
23 | * we do have is the guarantee that a pte will only either go from not | ||
24 | * present to present, or present to not present or both -- it will not | ||
25 | * switch to a completely different present page without a TLB flush in | ||
26 | * between; something that we are blocking by holding interrupts off. | ||
27 | * | ||
28 | * Setting ptes from not present to present goes: | ||
29 | * ptep->pte_high = h; | ||
30 | * smp_wmb(); | ||
31 | * ptep->pte_low = l; | ||
32 | * | ||
33 | * And present to not present goes: | ||
34 | * ptep->pte_low = 0; | ||
35 | * smp_wmb(); | ||
36 | * ptep->pte_high = 0; | ||
37 | * | ||
38 | * We must ensure here that the load of pte_low sees l iff pte_high | ||
39 | * sees h. We load pte_high *after* loading pte_low, which ensures we | ||
40 | * don't see an older value of pte_high. *Then* we recheck pte_low, | ||
41 | * which ensures that we haven't picked up a changed pte high. We might | ||
42 | * have got rubbish values from pte_low and pte_high, but we are | ||
43 | * guaranteed that pte_low will not have the present bit set *unless* | ||
44 | * it is 'l'. And get_user_pages_fast only operates on present ptes, so | ||
45 | * we're safe. | ||
46 | * | ||
47 | * gup_get_pte should not be used or copied outside gup.c without being | ||
48 | * very careful -- it does not atomically load the pte or anything that | ||
49 | * is likely to be useful for you. | ||
50 | */ | ||
51 | pte_t pte; | ||
52 | |||
53 | retry: | ||
54 | pte.pte_low = ptep->pte_low; | ||
55 | smp_rmb(); | ||
56 | pte.pte_high = ptep->pte_high; | ||
57 | smp_rmb(); | ||
58 | if (unlikely(pte.pte_low != ptep->pte_low)) | ||
59 | goto retry; | ||
60 | |||
61 | return pte; | ||
62 | #endif | ||
63 | } | ||
64 | |||
65 | /* | ||
66 | * The performance critical leaf functions are made noinline otherwise gcc | ||
67 | * inlines everything into a single function which results in too much | ||
68 | * register pressure. | ||
69 | */ | ||
70 | static noinline int gup_pte_range(pmd_t pmd, unsigned long addr, | ||
71 | unsigned long end, int write, struct page **pages, int *nr) | ||
72 | { | ||
73 | unsigned long mask; | ||
74 | pte_t *ptep; | ||
75 | |||
76 | mask = _PAGE_PRESENT|_PAGE_USER; | ||
77 | if (write) | ||
78 | mask |= _PAGE_RW; | ||
79 | |||
80 | ptep = pte_offset_map(&pmd, addr); | ||
81 | do { | ||
82 | pte_t pte = gup_get_pte(ptep); | ||
83 | struct page *page; | ||
84 | |||
85 | if ((pte_val(pte) & (mask | _PAGE_SPECIAL)) != mask) { | ||
86 | pte_unmap(ptep); | ||
87 | return 0; | ||
88 | } | ||
89 | VM_BUG_ON(!pfn_valid(pte_pfn(pte))); | ||
90 | page = pte_page(pte); | ||
91 | get_page(page); | ||
92 | pages[*nr] = page; | ||
93 | (*nr)++; | ||
94 | |||
95 | } while (ptep++, addr += PAGE_SIZE, addr != end); | ||
96 | pte_unmap(ptep - 1); | ||
97 | |||
98 | return 1; | ||
99 | } | ||
100 | |||
101 | static inline void get_head_page_multiple(struct page *page, int nr) | ||
102 | { | ||
103 | VM_BUG_ON(page != compound_head(page)); | ||
104 | VM_BUG_ON(page_count(page) == 0); | ||
105 | atomic_add(nr, &page->_count); | ||
106 | } | ||
107 | |||
108 | static noinline int gup_huge_pmd(pmd_t pmd, unsigned long addr, | ||
109 | unsigned long end, int write, struct page **pages, int *nr) | ||
110 | { | ||
111 | unsigned long mask; | ||
112 | pte_t pte = *(pte_t *)&pmd; | ||
113 | struct page *head, *page; | ||
114 | int refs; | ||
115 | |||
116 | mask = _PAGE_PRESENT|_PAGE_USER; | ||
117 | if (write) | ||
118 | mask |= _PAGE_RW; | ||
119 | if ((pte_val(pte) & mask) != mask) | ||
120 | return 0; | ||
121 | /* hugepages are never "special" */ | ||
122 | VM_BUG_ON(pte_val(pte) & _PAGE_SPECIAL); | ||
123 | VM_BUG_ON(!pfn_valid(pte_pfn(pte))); | ||
124 | |||
125 | refs = 0; | ||
126 | head = pte_page(pte); | ||
127 | page = head + ((addr & ~PMD_MASK) >> PAGE_SHIFT); | ||
128 | do { | ||
129 | VM_BUG_ON(compound_head(page) != head); | ||
130 | pages[*nr] = page; | ||
131 | (*nr)++; | ||
132 | page++; | ||
133 | refs++; | ||
134 | } while (addr += PAGE_SIZE, addr != end); | ||
135 | get_head_page_multiple(head, refs); | ||
136 | |||
137 | return 1; | ||
138 | } | ||
139 | |||
140 | static int gup_pmd_range(pud_t pud, unsigned long addr, unsigned long end, | ||
141 | int write, struct page **pages, int *nr) | ||
142 | { | ||
143 | unsigned long next; | ||
144 | pmd_t *pmdp; | ||
145 | |||
146 | pmdp = pmd_offset(&pud, addr); | ||
147 | do { | ||
148 | pmd_t pmd = *pmdp; | ||
149 | |||
150 | next = pmd_addr_end(addr, end); | ||
151 | if (pmd_none(pmd)) | ||
152 | return 0; | ||
153 | if (unlikely(pmd_large(pmd))) { | ||
154 | if (!gup_huge_pmd(pmd, addr, next, write, pages, nr)) | ||
155 | return 0; | ||
156 | } else { | ||
157 | if (!gup_pte_range(pmd, addr, next, write, pages, nr)) | ||
158 | return 0; | ||
159 | } | ||
160 | } while (pmdp++, addr = next, addr != end); | ||
161 | |||
162 | return 1; | ||
163 | } | ||
164 | |||
165 | static noinline int gup_huge_pud(pud_t pud, unsigned long addr, | ||
166 | unsigned long end, int write, struct page **pages, int *nr) | ||
167 | { | ||
168 | unsigned long mask; | ||
169 | pte_t pte = *(pte_t *)&pud; | ||
170 | struct page *head, *page; | ||
171 | int refs; | ||
172 | |||
173 | mask = _PAGE_PRESENT|_PAGE_USER; | ||
174 | if (write) | ||
175 | mask |= _PAGE_RW; | ||
176 | if ((pte_val(pte) & mask) != mask) | ||
177 | return 0; | ||
178 | /* hugepages are never "special" */ | ||
179 | VM_BUG_ON(pte_val(pte) & _PAGE_SPECIAL); | ||
180 | VM_BUG_ON(!pfn_valid(pte_pfn(pte))); | ||
181 | |||
182 | refs = 0; | ||
183 | head = pte_page(pte); | ||
184 | page = head + ((addr & ~PUD_MASK) >> PAGE_SHIFT); | ||
185 | do { | ||
186 | VM_BUG_ON(compound_head(page) != head); | ||
187 | pages[*nr] = page; | ||
188 | (*nr)++; | ||
189 | page++; | ||
190 | refs++; | ||
191 | } while (addr += PAGE_SIZE, addr != end); | ||
192 | get_head_page_multiple(head, refs); | ||
193 | |||
194 | return 1; | ||
195 | } | ||
196 | |||
197 | static int gup_pud_range(pgd_t pgd, unsigned long addr, unsigned long end, | ||
198 | int write, struct page **pages, int *nr) | ||
199 | { | ||
200 | unsigned long next; | ||
201 | pud_t *pudp; | ||
202 | |||
203 | pudp = pud_offset(&pgd, addr); | ||
204 | do { | ||
205 | pud_t pud = *pudp; | ||
206 | |||
207 | next = pud_addr_end(addr, end); | ||
208 | if (pud_none(pud)) | ||
209 | return 0; | ||
210 | if (unlikely(pud_large(pud))) { | ||
211 | if (!gup_huge_pud(pud, addr, next, write, pages, nr)) | ||
212 | return 0; | ||
213 | } else { | ||
214 | if (!gup_pmd_range(pud, addr, next, write, pages, nr)) | ||
215 | return 0; | ||
216 | } | ||
217 | } while (pudp++, addr = next, addr != end); | ||
218 | |||
219 | return 1; | ||
220 | } | ||
221 | |||
222 | int get_user_pages_fast(unsigned long start, int nr_pages, int write, | ||
223 | struct page **pages) | ||
224 | { | ||
225 | struct mm_struct *mm = current->mm; | ||
226 | unsigned long end = start + (nr_pages << PAGE_SHIFT); | ||
227 | unsigned long addr = start; | ||
228 | unsigned long next; | ||
229 | pgd_t *pgdp; | ||
230 | int nr = 0; | ||
231 | |||
232 | if (unlikely(!access_ok(write ? VERIFY_WRITE : VERIFY_READ, | ||
233 | start, nr_pages*PAGE_SIZE))) | ||
234 | goto slow_irqon; | ||
235 | |||
236 | /* | ||
237 | * XXX: batch / limit 'nr', to avoid large irq off latency | ||
238 | * needs some instrumenting to determine the common sizes used by | ||
239 | * important workloads (eg. DB2), and whether limiting the batch size | ||
240 | * will decrease performance. | ||
241 | * | ||
242 | * It seems like we're in the clear for the moment. Direct-IO is | ||
243 | * the main guy that batches up lots of get_user_pages, and even | ||
244 | * they are limited to 64-at-a-time which is not so many. | ||
245 | */ | ||
246 | /* | ||
247 | * This doesn't prevent pagetable teardown, but does prevent | ||
248 | * the pagetables and pages from being freed on x86. | ||
249 | * | ||
250 | * So long as we atomically load page table pointers versus teardown | ||
251 | * (which we do on x86, with the above PAE exception), we can follow the | ||
252 | * address down to the the page and take a ref on it. | ||
253 | */ | ||
254 | local_irq_disable(); | ||
255 | pgdp = pgd_offset(mm, addr); | ||
256 | do { | ||
257 | pgd_t pgd = *pgdp; | ||
258 | |||
259 | next = pgd_addr_end(addr, end); | ||
260 | if (pgd_none(pgd)) | ||
261 | goto slow; | ||
262 | if (!gup_pud_range(pgd, addr, next, write, pages, &nr)) | ||
263 | goto slow; | ||
264 | } while (pgdp++, addr = next, addr != end); | ||
265 | local_irq_enable(); | ||
266 | |||
267 | VM_BUG_ON(nr != (end - start) >> PAGE_SHIFT); | ||
268 | return nr; | ||
269 | |||
270 | { | ||
271 | int ret; | ||
272 | |||
273 | slow: | ||
274 | local_irq_enable(); | ||
275 | slow_irqon: | ||
276 | /* Try to get the remaining pages with get_user_pages */ | ||
277 | start += nr << PAGE_SHIFT; | ||
278 | pages += nr; | ||
279 | |||
280 | down_read(&mm->mmap_sem); | ||
281 | ret = get_user_pages(current, mm, start, | ||
282 | (end - start) >> PAGE_SHIFT, write, 0, pages, NULL); | ||
283 | up_read(&mm->mmap_sem); | ||
284 | |||
285 | /* Have to be a bit careful with return values */ | ||
286 | if (nr > 0) { | ||
287 | if (ret < 0) | ||
288 | ret = nr; | ||
289 | else | ||
290 | ret += nr; | ||
291 | } | ||
292 | |||
293 | return ret; | ||
294 | } | ||
295 | } | ||
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index ec37121f6709..129618ca0ea2 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c | |||
@@ -86,43 +86,6 @@ early_param("gbpages", parse_direct_gbpages_on); | |||
86 | * around without checking the pgd every time. | 86 | * around without checking the pgd every time. |
87 | */ | 87 | */ |
88 | 88 | ||
89 | void show_mem(void) | ||
90 | { | ||
91 | long i, total = 0, reserved = 0; | ||
92 | long shared = 0, cached = 0; | ||
93 | struct page *page; | ||
94 | pg_data_t *pgdat; | ||
95 | |||
96 | printk(KERN_INFO "Mem-info:\n"); | ||
97 | show_free_areas(); | ||
98 | for_each_online_pgdat(pgdat) { | ||
99 | for (i = 0; i < pgdat->node_spanned_pages; ++i) { | ||
100 | /* | ||
101 | * This loop can take a while with 256 GB and | ||
102 | * 4k pages so defer the NMI watchdog: | ||
103 | */ | ||
104 | if (unlikely(i % MAX_ORDER_NR_PAGES == 0)) | ||
105 | touch_nmi_watchdog(); | ||
106 | |||
107 | if (!pfn_valid(pgdat->node_start_pfn + i)) | ||
108 | continue; | ||
109 | |||
110 | page = pfn_to_page(pgdat->node_start_pfn + i); | ||
111 | total++; | ||
112 | if (PageReserved(page)) | ||
113 | reserved++; | ||
114 | else if (PageSwapCache(page)) | ||
115 | cached++; | ||
116 | else if (page_count(page)) | ||
117 | shared += page_count(page) - 1; | ||
118 | } | ||
119 | } | ||
120 | printk(KERN_INFO "%lu pages of RAM\n", total); | ||
121 | printk(KERN_INFO "%lu reserved pages\n", reserved); | ||
122 | printk(KERN_INFO "%lu pages shared\n", shared); | ||
123 | printk(KERN_INFO "%lu pages swap cached\n", cached); | ||
124 | } | ||
125 | |||
126 | int after_bootmem; | 89 | int after_bootmem; |
127 | 90 | ||
128 | static __init void *spp_getpage(void) | 91 | static __init void *spp_getpage(void) |
diff --git a/arch/x86/mm/pgtable_32.c b/arch/x86/mm/pgtable_32.c index b4becbf8c570..cab0abbd1ebe 100644 --- a/arch/x86/mm/pgtable_32.c +++ b/arch/x86/mm/pgtable_32.c | |||
@@ -20,53 +20,6 @@ | |||
20 | #include <asm/tlb.h> | 20 | #include <asm/tlb.h> |
21 | #include <asm/tlbflush.h> | 21 | #include <asm/tlbflush.h> |
22 | 22 | ||
23 | void show_mem(void) | ||
24 | { | ||
25 | int total = 0, reserved = 0; | ||
26 | int shared = 0, cached = 0; | ||
27 | int highmem = 0; | ||
28 | struct page *page; | ||
29 | pg_data_t *pgdat; | ||
30 | unsigned long i; | ||
31 | unsigned long flags; | ||
32 | |||
33 | printk(KERN_INFO "Mem-info:\n"); | ||
34 | show_free_areas(); | ||
35 | for_each_online_pgdat(pgdat) { | ||
36 | pgdat_resize_lock(pgdat, &flags); | ||
37 | for (i = 0; i < pgdat->node_spanned_pages; ++i) { | ||
38 | if (unlikely(i % MAX_ORDER_NR_PAGES == 0)) | ||
39 | touch_nmi_watchdog(); | ||
40 | page = pgdat_page_nr(pgdat, i); | ||
41 | total++; | ||
42 | if (PageHighMem(page)) | ||
43 | highmem++; | ||
44 | if (PageReserved(page)) | ||
45 | reserved++; | ||
46 | else if (PageSwapCache(page)) | ||
47 | cached++; | ||
48 | else if (page_count(page)) | ||
49 | shared += page_count(page) - 1; | ||
50 | } | ||
51 | pgdat_resize_unlock(pgdat, &flags); | ||
52 | } | ||
53 | printk(KERN_INFO "%d pages of RAM\n", total); | ||
54 | printk(KERN_INFO "%d pages of HIGHMEM\n", highmem); | ||
55 | printk(KERN_INFO "%d reserved pages\n", reserved); | ||
56 | printk(KERN_INFO "%d pages shared\n", shared); | ||
57 | printk(KERN_INFO "%d pages swap cached\n", cached); | ||
58 | |||
59 | printk(KERN_INFO "%lu pages dirty\n", global_page_state(NR_FILE_DIRTY)); | ||
60 | printk(KERN_INFO "%lu pages writeback\n", | ||
61 | global_page_state(NR_WRITEBACK)); | ||
62 | printk(KERN_INFO "%lu pages mapped\n", global_page_state(NR_FILE_MAPPED)); | ||
63 | printk(KERN_INFO "%lu pages slab\n", | ||
64 | global_page_state(NR_SLAB_RECLAIMABLE) + | ||
65 | global_page_state(NR_SLAB_UNRECLAIMABLE)); | ||
66 | printk(KERN_INFO "%lu pages pagetables\n", | ||
67 | global_page_state(NR_PAGETABLE)); | ||
68 | } | ||
69 | |||
70 | /* | 23 | /* |
71 | * Associate a virtual page frame with a given physical page frame | 24 | * Associate a virtual page frame with a given physical page frame |
72 | * and protection flags for that frame. | 25 | * and protection flags for that frame. |
diff --git a/arch/xtensa/mm/init.c b/arch/xtensa/mm/init.c index 81d0560eaea2..34163cfaaffc 100644 --- a/arch/xtensa/mm/init.c +++ b/arch/xtensa/mm/init.c | |||
@@ -280,36 +280,9 @@ void free_initmem(void) | |||
280 | (&__init_end - &__init_begin) >> 10); | 280 | (&__init_end - &__init_begin) >> 10); |
281 | } | 281 | } |
282 | 282 | ||
283 | void show_mem(void) | ||
284 | { | ||
285 | int i, free = 0, total = 0, reserved = 0; | ||
286 | int shared = 0, cached = 0; | ||
287 | |||
288 | printk("Mem-info:\n"); | ||
289 | show_free_areas(); | ||
290 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); | ||
291 | i = max_mapnr; | ||
292 | while (i-- > 0) { | ||
293 | total++; | ||
294 | if (PageReserved(mem_map+i)) | ||
295 | reserved++; | ||
296 | else if (PageSwapCache(mem_map+i)) | ||
297 | cached++; | ||
298 | else if (!page_count(mem_map + i)) | ||
299 | free++; | ||
300 | else | ||
301 | shared += page_count(mem_map + i) - 1; | ||
302 | } | ||
303 | printk("%d pages of RAM\n", total); | ||
304 | printk("%d reserved pages\n", reserved); | ||
305 | printk("%d pages shared\n", shared); | ||
306 | printk("%d pages swap cached\n",cached); | ||
307 | printk("%d free pages\n", free); | ||
308 | } | ||
309 | |||
310 | struct kmem_cache *pgtable_cache __read_mostly; | 283 | struct kmem_cache *pgtable_cache __read_mostly; |
311 | 284 | ||
312 | static void pgd_ctor(struct kmem_cache *cache, void* addr) | 285 | static void pgd_ctor(void* addr) |
313 | { | 286 | { |
314 | pte_t* ptep = (pte_t*)addr; | 287 | pte_t* ptep = (pte_t*)addr; |
315 | int i; | 288 | int i; |