diff options
Diffstat (limited to 'arch')
286 files changed, 13164 insertions, 3641 deletions
diff --git a/arch/alpha/include/asm/core_t2.h b/arch/alpha/include/asm/core_t2.h index 46bfff58f670..471c07292e0b 100644 --- a/arch/alpha/include/asm/core_t2.h +++ b/arch/alpha/include/asm/core_t2.h | |||
@@ -435,7 +435,7 @@ extern inline void t2_outl(u32 b, unsigned long addr) | |||
435 | set_hae(msb); \ | 435 | set_hae(msb); \ |
436 | } | 436 | } |
437 | 437 | ||
438 | extern spinlock_t t2_hae_lock; | 438 | extern raw_spinlock_t t2_hae_lock; |
439 | 439 | ||
440 | /* | 440 | /* |
441 | * NOTE: take T2_DENSE_MEM off in each readX/writeX routine, since | 441 | * NOTE: take T2_DENSE_MEM off in each readX/writeX routine, since |
@@ -448,12 +448,12 @@ __EXTERN_INLINE u8 t2_readb(const volatile void __iomem *xaddr) | |||
448 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; | 448 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; |
449 | unsigned long result, msb; | 449 | unsigned long result, msb; |
450 | unsigned long flags; | 450 | unsigned long flags; |
451 | spin_lock_irqsave(&t2_hae_lock, flags); | 451 | raw_spin_lock_irqsave(&t2_hae_lock, flags); |
452 | 452 | ||
453 | t2_set_hae; | 453 | t2_set_hae; |
454 | 454 | ||
455 | result = *(vip) ((addr << 5) + T2_SPARSE_MEM + 0x00); | 455 | result = *(vip) ((addr << 5) + T2_SPARSE_MEM + 0x00); |
456 | spin_unlock_irqrestore(&t2_hae_lock, flags); | 456 | raw_spin_unlock_irqrestore(&t2_hae_lock, flags); |
457 | return __kernel_extbl(result, addr & 3); | 457 | return __kernel_extbl(result, addr & 3); |
458 | } | 458 | } |
459 | 459 | ||
@@ -462,12 +462,12 @@ __EXTERN_INLINE u16 t2_readw(const volatile void __iomem *xaddr) | |||
462 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; | 462 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; |
463 | unsigned long result, msb; | 463 | unsigned long result, msb; |
464 | unsigned long flags; | 464 | unsigned long flags; |
465 | spin_lock_irqsave(&t2_hae_lock, flags); | 465 | raw_spin_lock_irqsave(&t2_hae_lock, flags); |
466 | 466 | ||
467 | t2_set_hae; | 467 | t2_set_hae; |
468 | 468 | ||
469 | result = *(vuip) ((addr << 5) + T2_SPARSE_MEM + 0x08); | 469 | result = *(vuip) ((addr << 5) + T2_SPARSE_MEM + 0x08); |
470 | spin_unlock_irqrestore(&t2_hae_lock, flags); | 470 | raw_spin_unlock_irqrestore(&t2_hae_lock, flags); |
471 | return __kernel_extwl(result, addr & 3); | 471 | return __kernel_extwl(result, addr & 3); |
472 | } | 472 | } |
473 | 473 | ||
@@ -480,12 +480,12 @@ __EXTERN_INLINE u32 t2_readl(const volatile void __iomem *xaddr) | |||
480 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; | 480 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; |
481 | unsigned long result, msb; | 481 | unsigned long result, msb; |
482 | unsigned long flags; | 482 | unsigned long flags; |
483 | spin_lock_irqsave(&t2_hae_lock, flags); | 483 | raw_spin_lock_irqsave(&t2_hae_lock, flags); |
484 | 484 | ||
485 | t2_set_hae; | 485 | t2_set_hae; |
486 | 486 | ||
487 | result = *(vuip) ((addr << 5) + T2_SPARSE_MEM + 0x18); | 487 | result = *(vuip) ((addr << 5) + T2_SPARSE_MEM + 0x18); |
488 | spin_unlock_irqrestore(&t2_hae_lock, flags); | 488 | raw_spin_unlock_irqrestore(&t2_hae_lock, flags); |
489 | return result & 0xffffffffUL; | 489 | return result & 0xffffffffUL; |
490 | } | 490 | } |
491 | 491 | ||
@@ -494,14 +494,14 @@ __EXTERN_INLINE u64 t2_readq(const volatile void __iomem *xaddr) | |||
494 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; | 494 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; |
495 | unsigned long r0, r1, work, msb; | 495 | unsigned long r0, r1, work, msb; |
496 | unsigned long flags; | 496 | unsigned long flags; |
497 | spin_lock_irqsave(&t2_hae_lock, flags); | 497 | raw_spin_lock_irqsave(&t2_hae_lock, flags); |
498 | 498 | ||
499 | t2_set_hae; | 499 | t2_set_hae; |
500 | 500 | ||
501 | work = (addr << 5) + T2_SPARSE_MEM + 0x18; | 501 | work = (addr << 5) + T2_SPARSE_MEM + 0x18; |
502 | r0 = *(vuip)(work); | 502 | r0 = *(vuip)(work); |
503 | r1 = *(vuip)(work + (4 << 5)); | 503 | r1 = *(vuip)(work + (4 << 5)); |
504 | spin_unlock_irqrestore(&t2_hae_lock, flags); | 504 | raw_spin_unlock_irqrestore(&t2_hae_lock, flags); |
505 | return r1 << 32 | r0; | 505 | return r1 << 32 | r0; |
506 | } | 506 | } |
507 | 507 | ||
@@ -510,13 +510,13 @@ __EXTERN_INLINE void t2_writeb(u8 b, volatile void __iomem *xaddr) | |||
510 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; | 510 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; |
511 | unsigned long msb, w; | 511 | unsigned long msb, w; |
512 | unsigned long flags; | 512 | unsigned long flags; |
513 | spin_lock_irqsave(&t2_hae_lock, flags); | 513 | raw_spin_lock_irqsave(&t2_hae_lock, flags); |
514 | 514 | ||
515 | t2_set_hae; | 515 | t2_set_hae; |
516 | 516 | ||
517 | w = __kernel_insbl(b, addr & 3); | 517 | w = __kernel_insbl(b, addr & 3); |
518 | *(vuip) ((addr << 5) + T2_SPARSE_MEM + 0x00) = w; | 518 | *(vuip) ((addr << 5) + T2_SPARSE_MEM + 0x00) = w; |
519 | spin_unlock_irqrestore(&t2_hae_lock, flags); | 519 | raw_spin_unlock_irqrestore(&t2_hae_lock, flags); |
520 | } | 520 | } |
521 | 521 | ||
522 | __EXTERN_INLINE void t2_writew(u16 b, volatile void __iomem *xaddr) | 522 | __EXTERN_INLINE void t2_writew(u16 b, volatile void __iomem *xaddr) |
@@ -524,13 +524,13 @@ __EXTERN_INLINE void t2_writew(u16 b, volatile void __iomem *xaddr) | |||
524 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; | 524 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; |
525 | unsigned long msb, w; | 525 | unsigned long msb, w; |
526 | unsigned long flags; | 526 | unsigned long flags; |
527 | spin_lock_irqsave(&t2_hae_lock, flags); | 527 | raw_spin_lock_irqsave(&t2_hae_lock, flags); |
528 | 528 | ||
529 | t2_set_hae; | 529 | t2_set_hae; |
530 | 530 | ||
531 | w = __kernel_inswl(b, addr & 3); | 531 | w = __kernel_inswl(b, addr & 3); |
532 | *(vuip) ((addr << 5) + T2_SPARSE_MEM + 0x08) = w; | 532 | *(vuip) ((addr << 5) + T2_SPARSE_MEM + 0x08) = w; |
533 | spin_unlock_irqrestore(&t2_hae_lock, flags); | 533 | raw_spin_unlock_irqrestore(&t2_hae_lock, flags); |
534 | } | 534 | } |
535 | 535 | ||
536 | /* | 536 | /* |
@@ -542,12 +542,12 @@ __EXTERN_INLINE void t2_writel(u32 b, volatile void __iomem *xaddr) | |||
542 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; | 542 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; |
543 | unsigned long msb; | 543 | unsigned long msb; |
544 | unsigned long flags; | 544 | unsigned long flags; |
545 | spin_lock_irqsave(&t2_hae_lock, flags); | 545 | raw_spin_lock_irqsave(&t2_hae_lock, flags); |
546 | 546 | ||
547 | t2_set_hae; | 547 | t2_set_hae; |
548 | 548 | ||
549 | *(vuip) ((addr << 5) + T2_SPARSE_MEM + 0x18) = b; | 549 | *(vuip) ((addr << 5) + T2_SPARSE_MEM + 0x18) = b; |
550 | spin_unlock_irqrestore(&t2_hae_lock, flags); | 550 | raw_spin_unlock_irqrestore(&t2_hae_lock, flags); |
551 | } | 551 | } |
552 | 552 | ||
553 | __EXTERN_INLINE void t2_writeq(u64 b, volatile void __iomem *xaddr) | 553 | __EXTERN_INLINE void t2_writeq(u64 b, volatile void __iomem *xaddr) |
@@ -555,14 +555,14 @@ __EXTERN_INLINE void t2_writeq(u64 b, volatile void __iomem *xaddr) | |||
555 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; | 555 | unsigned long addr = (unsigned long) xaddr - T2_DENSE_MEM; |
556 | unsigned long msb, work; | 556 | unsigned long msb, work; |
557 | unsigned long flags; | 557 | unsigned long flags; |
558 | spin_lock_irqsave(&t2_hae_lock, flags); | 558 | raw_spin_lock_irqsave(&t2_hae_lock, flags); |
559 | 559 | ||
560 | t2_set_hae; | 560 | t2_set_hae; |
561 | 561 | ||
562 | work = (addr << 5) + T2_SPARSE_MEM + 0x18; | 562 | work = (addr << 5) + T2_SPARSE_MEM + 0x18; |
563 | *(vuip)work = b; | 563 | *(vuip)work = b; |
564 | *(vuip)(work + (4 << 5)) = b >> 32; | 564 | *(vuip)(work + (4 << 5)) = b >> 32; |
565 | spin_unlock_irqrestore(&t2_hae_lock, flags); | 565 | raw_spin_unlock_irqrestore(&t2_hae_lock, flags); |
566 | } | 566 | } |
567 | 567 | ||
568 | __EXTERN_INLINE void __iomem *t2_ioportmap(unsigned long addr) | 568 | __EXTERN_INLINE void __iomem *t2_ioportmap(unsigned long addr) |
diff --git a/arch/alpha/include/asm/spinlock.h b/arch/alpha/include/asm/spinlock.h index e38fb95cb335..d0faca1e992d 100644 --- a/arch/alpha/include/asm/spinlock.h +++ b/arch/alpha/include/asm/spinlock.h | |||
@@ -12,18 +12,18 @@ | |||
12 | * We make no fairness assumptions. They have a cost. | 12 | * We make no fairness assumptions. They have a cost. |
13 | */ | 13 | */ |
14 | 14 | ||
15 | #define __raw_spin_lock_flags(lock, flags) __raw_spin_lock(lock) | 15 | #define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock) |
16 | #define __raw_spin_is_locked(x) ((x)->lock != 0) | 16 | #define arch_spin_is_locked(x) ((x)->lock != 0) |
17 | #define __raw_spin_unlock_wait(x) \ | 17 | #define arch_spin_unlock_wait(x) \ |
18 | do { cpu_relax(); } while ((x)->lock) | 18 | do { cpu_relax(); } while ((x)->lock) |
19 | 19 | ||
20 | static inline void __raw_spin_unlock(raw_spinlock_t * lock) | 20 | static inline void arch_spin_unlock(arch_spinlock_t * lock) |
21 | { | 21 | { |
22 | mb(); | 22 | mb(); |
23 | lock->lock = 0; | 23 | lock->lock = 0; |
24 | } | 24 | } |
25 | 25 | ||
26 | static inline void __raw_spin_lock(raw_spinlock_t * lock) | 26 | static inline void arch_spin_lock(arch_spinlock_t * lock) |
27 | { | 27 | { |
28 | long tmp; | 28 | long tmp; |
29 | 29 | ||
@@ -43,24 +43,24 @@ static inline void __raw_spin_lock(raw_spinlock_t * lock) | |||
43 | : "m"(lock->lock) : "memory"); | 43 | : "m"(lock->lock) : "memory"); |
44 | } | 44 | } |
45 | 45 | ||
46 | static inline int __raw_spin_trylock(raw_spinlock_t *lock) | 46 | static inline int arch_spin_trylock(arch_spinlock_t *lock) |
47 | { | 47 | { |
48 | return !test_and_set_bit(0, &lock->lock); | 48 | return !test_and_set_bit(0, &lock->lock); |
49 | } | 49 | } |
50 | 50 | ||
51 | /***********************************************************/ | 51 | /***********************************************************/ |
52 | 52 | ||
53 | static inline int __raw_read_can_lock(raw_rwlock_t *lock) | 53 | static inline int arch_read_can_lock(arch_rwlock_t *lock) |
54 | { | 54 | { |
55 | return (lock->lock & 1) == 0; | 55 | return (lock->lock & 1) == 0; |
56 | } | 56 | } |
57 | 57 | ||
58 | static inline int __raw_write_can_lock(raw_rwlock_t *lock) | 58 | static inline int arch_write_can_lock(arch_rwlock_t *lock) |
59 | { | 59 | { |
60 | return lock->lock == 0; | 60 | return lock->lock == 0; |
61 | } | 61 | } |
62 | 62 | ||
63 | static inline void __raw_read_lock(raw_rwlock_t *lock) | 63 | static inline void arch_read_lock(arch_rwlock_t *lock) |
64 | { | 64 | { |
65 | long regx; | 65 | long regx; |
66 | 66 | ||
@@ -80,7 +80,7 @@ static inline void __raw_read_lock(raw_rwlock_t *lock) | |||
80 | : "m" (*lock) : "memory"); | 80 | : "m" (*lock) : "memory"); |
81 | } | 81 | } |
82 | 82 | ||
83 | static inline void __raw_write_lock(raw_rwlock_t *lock) | 83 | static inline void arch_write_lock(arch_rwlock_t *lock) |
84 | { | 84 | { |
85 | long regx; | 85 | long regx; |
86 | 86 | ||
@@ -100,7 +100,7 @@ static inline void __raw_write_lock(raw_rwlock_t *lock) | |||
100 | : "m" (*lock) : "memory"); | 100 | : "m" (*lock) : "memory"); |
101 | } | 101 | } |
102 | 102 | ||
103 | static inline int __raw_read_trylock(raw_rwlock_t * lock) | 103 | static inline int arch_read_trylock(arch_rwlock_t * lock) |
104 | { | 104 | { |
105 | long regx; | 105 | long regx; |
106 | int success; | 106 | int success; |
@@ -122,7 +122,7 @@ static inline int __raw_read_trylock(raw_rwlock_t * lock) | |||
122 | return success; | 122 | return success; |
123 | } | 123 | } |
124 | 124 | ||
125 | static inline int __raw_write_trylock(raw_rwlock_t * lock) | 125 | static inline int arch_write_trylock(arch_rwlock_t * lock) |
126 | { | 126 | { |
127 | long regx; | 127 | long regx; |
128 | int success; | 128 | int success; |
@@ -144,7 +144,7 @@ static inline int __raw_write_trylock(raw_rwlock_t * lock) | |||
144 | return success; | 144 | return success; |
145 | } | 145 | } |
146 | 146 | ||
147 | static inline void __raw_read_unlock(raw_rwlock_t * lock) | 147 | static inline void arch_read_unlock(arch_rwlock_t * lock) |
148 | { | 148 | { |
149 | long regx; | 149 | long regx; |
150 | __asm__ __volatile__( | 150 | __asm__ __volatile__( |
@@ -160,17 +160,17 @@ static inline void __raw_read_unlock(raw_rwlock_t * lock) | |||
160 | : "m" (*lock) : "memory"); | 160 | : "m" (*lock) : "memory"); |
161 | } | 161 | } |
162 | 162 | ||
163 | static inline void __raw_write_unlock(raw_rwlock_t * lock) | 163 | static inline void arch_write_unlock(arch_rwlock_t * lock) |
164 | { | 164 | { |
165 | mb(); | 165 | mb(); |
166 | lock->lock = 0; | 166 | lock->lock = 0; |
167 | } | 167 | } |
168 | 168 | ||
169 | #define __raw_read_lock_flags(lock, flags) __raw_read_lock(lock) | 169 | #define arch_read_lock_flags(lock, flags) arch_read_lock(lock) |
170 | #define __raw_write_lock_flags(lock, flags) __raw_write_lock(lock) | 170 | #define arch_write_lock_flags(lock, flags) arch_write_lock(lock) |
171 | 171 | ||
172 | #define _raw_spin_relax(lock) cpu_relax() | 172 | #define arch_spin_relax(lock) cpu_relax() |
173 | #define _raw_read_relax(lock) cpu_relax() | 173 | #define arch_read_relax(lock) cpu_relax() |
174 | #define _raw_write_relax(lock) cpu_relax() | 174 | #define arch_write_relax(lock) cpu_relax() |
175 | 175 | ||
176 | #endif /* _ALPHA_SPINLOCK_H */ | 176 | #endif /* _ALPHA_SPINLOCK_H */ |
diff --git a/arch/alpha/include/asm/spinlock_types.h b/arch/alpha/include/asm/spinlock_types.h index 8141eb5ebf0d..54c2afce0a1d 100644 --- a/arch/alpha/include/asm/spinlock_types.h +++ b/arch/alpha/include/asm/spinlock_types.h | |||
@@ -7,14 +7,14 @@ | |||
7 | 7 | ||
8 | typedef struct { | 8 | typedef struct { |
9 | volatile unsigned int lock; | 9 | volatile unsigned int lock; |
10 | } raw_spinlock_t; | 10 | } arch_spinlock_t; |
11 | 11 | ||
12 | #define __RAW_SPIN_LOCK_UNLOCKED { 0 } | 12 | #define __ARCH_SPIN_LOCK_UNLOCKED { 0 } |
13 | 13 | ||
14 | typedef struct { | 14 | typedef struct { |
15 | volatile unsigned int lock; | 15 | volatile unsigned int lock; |
16 | } raw_rwlock_t; | 16 | } arch_rwlock_t; |
17 | 17 | ||
18 | #define __RAW_RW_LOCK_UNLOCKED { 0 } | 18 | #define __ARCH_RW_LOCK_UNLOCKED { 0 } |
19 | 19 | ||
20 | #endif | 20 | #endif |
diff --git a/arch/alpha/kernel/core_t2.c b/arch/alpha/kernel/core_t2.c index d9980d47ab81..e6d90568b65d 100644 --- a/arch/alpha/kernel/core_t2.c +++ b/arch/alpha/kernel/core_t2.c | |||
@@ -74,7 +74,7 @@ | |||
74 | # define DBG(args) | 74 | # define DBG(args) |
75 | #endif | 75 | #endif |
76 | 76 | ||
77 | DEFINE_SPINLOCK(t2_hae_lock); | 77 | DEFINE_RAW_SPINLOCK(t2_hae_lock); |
78 | 78 | ||
79 | static volatile unsigned int t2_mcheck_any_expected; | 79 | static volatile unsigned int t2_mcheck_any_expected; |
80 | static volatile unsigned int t2_mcheck_last_taken; | 80 | static volatile unsigned int t2_mcheck_last_taken; |
diff --git a/arch/alpha/kernel/irq.c b/arch/alpha/kernel/irq.c index c0de072b8305..5f2cf23c4648 100644 --- a/arch/alpha/kernel/irq.c +++ b/arch/alpha/kernel/irq.c | |||
@@ -81,7 +81,7 @@ show_interrupts(struct seq_file *p, void *v) | |||
81 | #endif | 81 | #endif |
82 | 82 | ||
83 | if (irq < ACTUAL_NR_IRQS) { | 83 | if (irq < ACTUAL_NR_IRQS) { |
84 | spin_lock_irqsave(&irq_desc[irq].lock, flags); | 84 | raw_spin_lock_irqsave(&irq_desc[irq].lock, flags); |
85 | action = irq_desc[irq].action; | 85 | action = irq_desc[irq].action; |
86 | if (!action) | 86 | if (!action) |
87 | goto unlock; | 87 | goto unlock; |
@@ -105,7 +105,7 @@ show_interrupts(struct seq_file *p, void *v) | |||
105 | 105 | ||
106 | seq_putc(p, '\n'); | 106 | seq_putc(p, '\n'); |
107 | unlock: | 107 | unlock: |
108 | spin_unlock_irqrestore(&irq_desc[irq].lock, flags); | 108 | raw_spin_unlock_irqrestore(&irq_desc[irq].lock, flags); |
109 | } else if (irq == ACTUAL_NR_IRQS) { | 109 | } else if (irq == ACTUAL_NR_IRQS) { |
110 | #ifdef CONFIG_SMP | 110 | #ifdef CONFIG_SMP |
111 | seq_puts(p, "IPI: "); | 111 | seq_puts(p, "IPI: "); |
diff --git a/arch/alpha/kernel/srm_env.c b/arch/alpha/kernel/srm_env.c index d12af472e1c0..dbbf04f9230e 100644 --- a/arch/alpha/kernel/srm_env.c +++ b/arch/alpha/kernel/srm_env.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <linux/module.h> | 33 | #include <linux/module.h> |
34 | #include <linux/init.h> | 34 | #include <linux/init.h> |
35 | #include <linux/proc_fs.h> | 35 | #include <linux/proc_fs.h> |
36 | #include <linux/seq_file.h> | ||
36 | #include <asm/console.h> | 37 | #include <asm/console.h> |
37 | #include <asm/uaccess.h> | 38 | #include <asm/uaccess.h> |
38 | #include <asm/machvec.h> | 39 | #include <asm/machvec.h> |
@@ -79,42 +80,41 @@ static srm_env_t srm_named_entries[] = { | |||
79 | static srm_env_t srm_numbered_entries[256]; | 80 | static srm_env_t srm_numbered_entries[256]; |
80 | 81 | ||
81 | 82 | ||
82 | static int | 83 | static int srm_env_proc_show(struct seq_file *m, void *v) |
83 | srm_env_read(char *page, char **start, off_t off, int count, int *eof, | ||
84 | void *data) | ||
85 | { | 84 | { |
86 | int nbytes; | ||
87 | unsigned long ret; | 85 | unsigned long ret; |
88 | srm_env_t *entry; | 86 | srm_env_t *entry; |
87 | char *page; | ||
89 | 88 | ||
90 | if (off != 0) { | 89 | entry = (srm_env_t *)m->private; |
91 | *eof = 1; | 90 | page = (char *)__get_free_page(GFP_USER); |
92 | return 0; | 91 | if (!page) |
93 | } | 92 | return -ENOMEM; |
94 | 93 | ||
95 | entry = (srm_env_t *) data; | 94 | ret = callback_getenv(entry->id, page, PAGE_SIZE); |
96 | ret = callback_getenv(entry->id, page, count); | ||
97 | 95 | ||
98 | if ((ret >> 61) == 0) { | 96 | if ((ret >> 61) == 0) { |
99 | nbytes = (int) ret; | 97 | seq_write(m, page, ret); |
100 | *eof = 1; | 98 | ret = 0; |
101 | } else | 99 | } else |
102 | nbytes = -EFAULT; | 100 | ret = -EFAULT; |
101 | free_page((unsigned long)page); | ||
102 | return ret; | ||
103 | } | ||
103 | 104 | ||
104 | return nbytes; | 105 | static int srm_env_proc_open(struct inode *inode, struct file *file) |
106 | { | ||
107 | return single_open(file, srm_env_proc_show, PDE(inode)->data); | ||
105 | } | 108 | } |
106 | 109 | ||
107 | static int | 110 | static ssize_t srm_env_proc_write(struct file *file, const char __user *buffer, |
108 | srm_env_write(struct file *file, const char __user *buffer, unsigned long count, | 111 | size_t count, loff_t *pos) |
109 | void *data) | ||
110 | { | 112 | { |
111 | int res; | 113 | int res; |
112 | srm_env_t *entry; | 114 | srm_env_t *entry = PDE(file->f_path.dentry->d_inode)->data; |
113 | char *buf = (char *) __get_free_page(GFP_USER); | 115 | char *buf = (char *) __get_free_page(GFP_USER); |
114 | unsigned long ret1, ret2; | 116 | unsigned long ret1, ret2; |
115 | 117 | ||
116 | entry = (srm_env_t *) data; | ||
117 | |||
118 | if (!buf) | 118 | if (!buf) |
119 | return -ENOMEM; | 119 | return -ENOMEM; |
120 | 120 | ||
@@ -140,6 +140,15 @@ srm_env_write(struct file *file, const char __user *buffer, unsigned long count, | |||
140 | return res; | 140 | return res; |
141 | } | 141 | } |
142 | 142 | ||
143 | static const struct file_operations srm_env_proc_fops = { | ||
144 | .owner = THIS_MODULE, | ||
145 | .open = srm_env_proc_open, | ||
146 | .read = seq_read, | ||
147 | .llseek = seq_lseek, | ||
148 | .release = single_release, | ||
149 | .write = srm_env_proc_write, | ||
150 | }; | ||
151 | |||
143 | static void | 152 | static void |
144 | srm_env_cleanup(void) | 153 | srm_env_cleanup(void) |
145 | { | 154 | { |
@@ -245,15 +254,10 @@ srm_env_init(void) | |||
245 | */ | 254 | */ |
246 | entry = srm_named_entries; | 255 | entry = srm_named_entries; |
247 | while (entry->name && entry->id) { | 256 | while (entry->name && entry->id) { |
248 | entry->proc_entry = create_proc_entry(entry->name, | 257 | entry->proc_entry = proc_create_data(entry->name, 0644, named_dir, |
249 | 0644, named_dir); | 258 | &srm_env_proc_fops, entry); |
250 | if (!entry->proc_entry) | 259 | if (!entry->proc_entry) |
251 | goto cleanup; | 260 | goto cleanup; |
252 | |||
253 | entry->proc_entry->data = (void *) entry; | ||
254 | entry->proc_entry->read_proc = srm_env_read; | ||
255 | entry->proc_entry->write_proc = srm_env_write; | ||
256 | |||
257 | entry++; | 261 | entry++; |
258 | } | 262 | } |
259 | 263 | ||
@@ -264,15 +268,12 @@ srm_env_init(void) | |||
264 | entry = &srm_numbered_entries[var_num]; | 268 | entry = &srm_numbered_entries[var_num]; |
265 | entry->name = number[var_num]; | 269 | entry->name = number[var_num]; |
266 | 270 | ||
267 | entry->proc_entry = create_proc_entry(entry->name, | 271 | entry->proc_entry = proc_create_data(entry->name, 0644, numbered_dir, |
268 | 0644, numbered_dir); | 272 | &srm_env_proc_fops, entry); |
269 | if (!entry->proc_entry) | 273 | if (!entry->proc_entry) |
270 | goto cleanup; | 274 | goto cleanup; |
271 | 275 | ||
272 | entry->id = var_num; | 276 | entry->id = var_num; |
273 | entry->proc_entry->data = (void *) entry; | ||
274 | entry->proc_entry->read_proc = srm_env_read; | ||
275 | entry->proc_entry->write_proc = srm_env_write; | ||
276 | } | 277 | } |
277 | 278 | ||
278 | printk(KERN_INFO "%s: version %s loaded successfully\n", NAME, | 279 | printk(KERN_INFO "%s: version %s loaded successfully\n", NAME, |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index cf8a99f19dc4..233a222752c0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -603,6 +603,7 @@ config ARCH_SA1100 | |||
603 | select ARCH_SPARSEMEM_ENABLE | 603 | select ARCH_SPARSEMEM_ENABLE |
604 | select ARCH_MTD_XIP | 604 | select ARCH_MTD_XIP |
605 | select ARCH_HAS_CPUFREQ | 605 | select ARCH_HAS_CPUFREQ |
606 | select CPU_FREQ | ||
606 | select GENERIC_GPIO | 607 | select GENERIC_GPIO |
607 | select GENERIC_TIME | 608 | select GENERIC_TIME |
608 | select GENERIC_CLOCKEVENTS | 609 | select GENERIC_CLOCKEVENTS |
@@ -1359,13 +1360,9 @@ source "drivers/cpufreq/Kconfig" | |||
1359 | 1360 | ||
1360 | config CPU_FREQ_SA1100 | 1361 | config CPU_FREQ_SA1100 |
1361 | bool | 1362 | bool |
1362 | depends on CPU_FREQ && (SA1100_H3100 || SA1100_H3600 || SA1100_LART || SA1100_PLEB || SA1100_BADGE4 || SA1100_HACKKIT) | ||
1363 | default y | ||
1364 | 1363 | ||
1365 | config CPU_FREQ_SA1110 | 1364 | config CPU_FREQ_SA1110 |
1366 | bool | 1365 | bool |
1367 | depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3) | ||
1368 | default y | ||
1369 | 1366 | ||
1370 | config CPU_FREQ_INTEGRATOR | 1367 | config CPU_FREQ_INTEGRATOR |
1371 | tristate "CPUfreq driver for ARM Integrator CPUs" | 1368 | tristate "CPUfreq driver for ARM Integrator CPUs" |
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index ff54c23d085e..5cb9326df7a7 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug | |||
@@ -71,6 +71,14 @@ config DEBUG_LL | |||
71 | in the kernel. This is helpful if you are debugging code that | 71 | in the kernel. This is helpful if you are debugging code that |
72 | executes before the console is initialized. | 72 | executes before the console is initialized. |
73 | 73 | ||
74 | config EARLY_PRINTK | ||
75 | bool "Early printk" | ||
76 | depends on DEBUG_LL | ||
77 | help | ||
78 | Say Y here if you want to have an early console using the | ||
79 | kernel low-level debugging functions. Add earlyprintk to your | ||
80 | kernel parameters to enable this console. | ||
81 | |||
74 | config DEBUG_ICEDCC | 82 | config DEBUG_ICEDCC |
75 | bool "Kernel low-level debugging via EmbeddedICE DCC channel" | 83 | bool "Kernel low-level debugging via EmbeddedICE DCC channel" |
76 | depends on DEBUG_LL | 84 | depends on DEBUG_LL |
diff --git a/arch/arm/configs/zeus_defconfig b/arch/arm/configs/zeus_defconfig new file mode 100644 index 000000000000..823b11e7091a --- /dev/null +++ b/arch/arm/configs/zeus_defconfig | |||
@@ -0,0 +1,2032 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.32 | ||
4 | # Tue Dec 8 20:27:05 2009 | ||
5 | # | ||
6 | CONFIG_ARM=y | ||
7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
8 | CONFIG_GENERIC_GPIO=y | ||
9 | CONFIG_GENERIC_TIME=y | ||
10 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
11 | CONFIG_GENERIC_HARDIRQS=y | ||
12 | CONFIG_STACKTRACE_SUPPORT=y | ||
13 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
14 | CONFIG_LOCKDEP_SUPPORT=y | ||
15 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
16 | CONFIG_HARDIRQS_SW_RESEND=y | ||
17 | CONFIG_GENERIC_IRQ_PROBE=y | ||
18 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
19 | CONFIG_ARCH_HAS_CPUFREQ=y | ||
20 | CONFIG_GENERIC_HWEIGHT=y | ||
21 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
22 | CONFIG_ARCH_MTD_XIP=y | ||
23 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
24 | CONFIG_VECTORS_BASE=0xffff0000 | ||
25 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
26 | CONFIG_CONSTRUCTORS=y | ||
27 | |||
28 | # | ||
29 | # General setup | ||
30 | # | ||
31 | CONFIG_EXPERIMENTAL=y | ||
32 | CONFIG_BROKEN_ON_SMP=y | ||
33 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
34 | CONFIG_LOCALVERSION="" | ||
35 | CONFIG_LOCALVERSION_AUTO=y | ||
36 | CONFIG_SWAP=y | ||
37 | CONFIG_SYSVIPC=y | ||
38 | CONFIG_SYSVIPC_SYSCTL=y | ||
39 | # CONFIG_POSIX_MQUEUE is not set | ||
40 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
41 | # CONFIG_TASKSTATS is not set | ||
42 | # CONFIG_AUDIT is not set | ||
43 | |||
44 | # | ||
45 | # RCU Subsystem | ||
46 | # | ||
47 | # CONFIG_TREE_RCU is not set | ||
48 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
49 | CONFIG_TINY_RCU=y | ||
50 | # CONFIG_TREE_RCU_TRACE is not set | ||
51 | # CONFIG_IKCONFIG is not set | ||
52 | CONFIG_LOG_BUF_SHIFT=13 | ||
53 | # CONFIG_GROUP_SCHED is not set | ||
54 | # CONFIG_CGROUPS is not set | ||
55 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | ||
56 | # CONFIG_RELAY is not set | ||
57 | CONFIG_NAMESPACES=y | ||
58 | # CONFIG_UTS_NS is not set | ||
59 | # CONFIG_IPC_NS is not set | ||
60 | # CONFIG_USER_NS is not set | ||
61 | # CONFIG_PID_NS is not set | ||
62 | # CONFIG_NET_NS is not set | ||
63 | # CONFIG_BLK_DEV_INITRD is not set | ||
64 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
65 | CONFIG_SYSCTL=y | ||
66 | CONFIG_ANON_INODES=y | ||
67 | # CONFIG_EMBEDDED is not set | ||
68 | CONFIG_UID16=y | ||
69 | CONFIG_SYSCTL_SYSCALL=y | ||
70 | CONFIG_KALLSYMS=y | ||
71 | # CONFIG_KALLSYMS_ALL is not set | ||
72 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
73 | CONFIG_HOTPLUG=y | ||
74 | CONFIG_PRINTK=y | ||
75 | CONFIG_BUG=y | ||
76 | CONFIG_ELF_CORE=y | ||
77 | CONFIG_BASE_FULL=y | ||
78 | CONFIG_FUTEX=y | ||
79 | CONFIG_EPOLL=y | ||
80 | CONFIG_SIGNALFD=y | ||
81 | CONFIG_TIMERFD=y | ||
82 | CONFIG_EVENTFD=y | ||
83 | CONFIG_SHMEM=y | ||
84 | CONFIG_AIO=y | ||
85 | |||
86 | # | ||
87 | # Kernel Performance Events And Counters | ||
88 | # | ||
89 | CONFIG_VM_EVENT_COUNTERS=y | ||
90 | CONFIG_SLUB_DEBUG=y | ||
91 | CONFIG_COMPAT_BRK=y | ||
92 | # CONFIG_SLAB is not set | ||
93 | CONFIG_SLUB=y | ||
94 | # CONFIG_SLOB is not set | ||
95 | # CONFIG_PROFILING is not set | ||
96 | CONFIG_HAVE_OPROFILE=y | ||
97 | # CONFIG_KPROBES is not set | ||
98 | CONFIG_HAVE_KPROBES=y | ||
99 | CONFIG_HAVE_KRETPROBES=y | ||
100 | CONFIG_HAVE_CLK=y | ||
101 | |||
102 | # | ||
103 | # GCOV-based kernel profiling | ||
104 | # | ||
105 | # CONFIG_SLOW_WORK is not set | ||
106 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
107 | CONFIG_SLABINFO=y | ||
108 | CONFIG_RT_MUTEXES=y | ||
109 | CONFIG_BASE_SMALL=0 | ||
110 | CONFIG_MODULES=y | ||
111 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
112 | CONFIG_MODULE_UNLOAD=y | ||
113 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
114 | # CONFIG_MODVERSIONS is not set | ||
115 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
116 | CONFIG_BLOCK=y | ||
117 | CONFIG_LBDAF=y | ||
118 | # CONFIG_BLK_DEV_BSG is not set | ||
119 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
120 | |||
121 | # | ||
122 | # IO Schedulers | ||
123 | # | ||
124 | CONFIG_IOSCHED_NOOP=y | ||
125 | CONFIG_IOSCHED_DEADLINE=y | ||
126 | # CONFIG_IOSCHED_CFQ is not set | ||
127 | CONFIG_DEFAULT_DEADLINE=y | ||
128 | # CONFIG_DEFAULT_CFQ is not set | ||
129 | # CONFIG_DEFAULT_NOOP is not set | ||
130 | CONFIG_DEFAULT_IOSCHED="deadline" | ||
131 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
132 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
133 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
134 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
135 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
136 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
137 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
138 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
139 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
140 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
141 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
142 | # CONFIG_INLINE_READ_LOCK is not set | ||
143 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
144 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
145 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
146 | CONFIG_INLINE_READ_UNLOCK=y | ||
147 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
148 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
149 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
150 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
151 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
152 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
153 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
154 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
155 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
156 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
157 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
158 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
159 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
160 | CONFIG_FREEZER=y | ||
161 | |||
162 | # | ||
163 | # System Type | ||
164 | # | ||
165 | CONFIG_MMU=y | ||
166 | # CONFIG_ARCH_AAEC2000 is not set | ||
167 | # CONFIG_ARCH_INTEGRATOR is not set | ||
168 | # CONFIG_ARCH_REALVIEW is not set | ||
169 | # CONFIG_ARCH_VERSATILE is not set | ||
170 | # CONFIG_ARCH_AT91 is not set | ||
171 | # CONFIG_ARCH_CLPS711X is not set | ||
172 | # CONFIG_ARCH_GEMINI is not set | ||
173 | # CONFIG_ARCH_EBSA110 is not set | ||
174 | # CONFIG_ARCH_EP93XX is not set | ||
175 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
176 | # CONFIG_ARCH_MXC is not set | ||
177 | # CONFIG_ARCH_STMP3XXX is not set | ||
178 | # CONFIG_ARCH_NETX is not set | ||
179 | # CONFIG_ARCH_H720X is not set | ||
180 | # CONFIG_ARCH_NOMADIK is not set | ||
181 | # CONFIG_ARCH_IOP13XX is not set | ||
182 | # CONFIG_ARCH_IOP32X is not set | ||
183 | # CONFIG_ARCH_IOP33X is not set | ||
184 | # CONFIG_ARCH_IXP23XX is not set | ||
185 | # CONFIG_ARCH_IXP2000 is not set | ||
186 | # CONFIG_ARCH_IXP4XX is not set | ||
187 | # CONFIG_ARCH_L7200 is not set | ||
188 | # CONFIG_ARCH_DOVE is not set | ||
189 | # CONFIG_ARCH_KIRKWOOD is not set | ||
190 | # CONFIG_ARCH_LOKI is not set | ||
191 | # CONFIG_ARCH_MV78XX0 is not set | ||
192 | # CONFIG_ARCH_ORION5X is not set | ||
193 | # CONFIG_ARCH_MMP is not set | ||
194 | # CONFIG_ARCH_KS8695 is not set | ||
195 | # CONFIG_ARCH_NS9XXX is not set | ||
196 | # CONFIG_ARCH_W90X900 is not set | ||
197 | # CONFIG_ARCH_PNX4008 is not set | ||
198 | CONFIG_ARCH_PXA=y | ||
199 | # CONFIG_ARCH_MSM is not set | ||
200 | # CONFIG_ARCH_RPC is not set | ||
201 | # CONFIG_ARCH_SA1100 is not set | ||
202 | # CONFIG_ARCH_S3C2410 is not set | ||
203 | # CONFIG_ARCH_S3C64XX is not set | ||
204 | # CONFIG_ARCH_S5PC1XX is not set | ||
205 | # CONFIG_ARCH_SHARK is not set | ||
206 | # CONFIG_ARCH_LH7A40X is not set | ||
207 | # CONFIG_ARCH_U300 is not set | ||
208 | # CONFIG_ARCH_DAVINCI is not set | ||
209 | # CONFIG_ARCH_OMAP is not set | ||
210 | # CONFIG_ARCH_BCMRING is not set | ||
211 | # CONFIG_ARCH_U8500 is not set | ||
212 | |||
213 | # | ||
214 | # Intel PXA2xx/PXA3xx Implementations | ||
215 | # | ||
216 | |||
217 | # | ||
218 | # Intel/Marvell Dev Platforms (sorted by hardware release time) | ||
219 | # | ||
220 | # CONFIG_ARCH_LUBBOCK is not set | ||
221 | # CONFIG_MACH_MAINSTONE is not set | ||
222 | # CONFIG_MACH_ZYLONITE300 is not set | ||
223 | # CONFIG_MACH_ZYLONITE320 is not set | ||
224 | # CONFIG_MACH_LITTLETON is not set | ||
225 | # CONFIG_MACH_TAVOREVB is not set | ||
226 | # CONFIG_MACH_SAAR is not set | ||
227 | |||
228 | # | ||
229 | # Third Party Dev Platforms (sorted by vendor name) | ||
230 | # | ||
231 | # CONFIG_ARCH_PXA_IDP is not set | ||
232 | # CONFIG_ARCH_VIPER is not set | ||
233 | CONFIG_MACH_ARCOM_ZEUS=y | ||
234 | # CONFIG_MACH_BALLOON3 is not set | ||
235 | # CONFIG_MACH_CSB726 is not set | ||
236 | # CONFIG_MACH_ARMCORE is not set | ||
237 | # CONFIG_MACH_EM_X270 is not set | ||
238 | # CONFIG_MACH_EXEDA is not set | ||
239 | # CONFIG_MACH_CM_X300 is not set | ||
240 | # CONFIG_ARCH_GUMSTIX is not set | ||
241 | # CONFIG_MACH_INTELMOTE2 is not set | ||
242 | # CONFIG_MACH_STARGATE2 is not set | ||
243 | # CONFIG_MACH_XCEP is not set | ||
244 | # CONFIG_TRIZEPS_PXA is not set | ||
245 | CONFIG_ARCOM_PCMCIA=y | ||
246 | # CONFIG_MACH_LOGICPD_PXA270 is not set | ||
247 | # CONFIG_MACH_PCM027 is not set | ||
248 | # CONFIG_MACH_COLIBRI is not set | ||
249 | # CONFIG_MACH_COLIBRI300 is not set | ||
250 | # CONFIG_MACH_COLIBRI320 is not set | ||
251 | |||
252 | # | ||
253 | # End-user Products (sorted by vendor name) | ||
254 | # | ||
255 | # CONFIG_MACH_H4700 is not set | ||
256 | # CONFIG_MACH_H5000 is not set | ||
257 | # CONFIG_MACH_HIMALAYA is not set | ||
258 | # CONFIG_MACH_MAGICIAN is not set | ||
259 | # CONFIG_MACH_MIOA701 is not set | ||
260 | # CONFIG_PXA_EZX is not set | ||
261 | # CONFIG_MACH_MP900C is not set | ||
262 | # CONFIG_ARCH_PXA_PALM is not set | ||
263 | # CONFIG_PXA_SHARPSL is not set | ||
264 | # CONFIG_ARCH_PXA_ESERIES is not set | ||
265 | CONFIG_PXA27x=y | ||
266 | CONFIG_PXA_SSP=y | ||
267 | CONFIG_PXA_HAVE_BOARD_IRQS=y | ||
268 | CONFIG_PXA_HAVE_ISA_IRQS=y | ||
269 | CONFIG_PLAT_PXA=y | ||
270 | |||
271 | # | ||
272 | # Processor Type | ||
273 | # | ||
274 | CONFIG_CPU_32=y | ||
275 | CONFIG_CPU_XSCALE=y | ||
276 | CONFIG_CPU_32v5=y | ||
277 | CONFIG_CPU_ABRT_EV5T=y | ||
278 | CONFIG_CPU_PABRT_LEGACY=y | ||
279 | CONFIG_CPU_CACHE_VIVT=y | ||
280 | CONFIG_CPU_TLB_V4WBI=y | ||
281 | CONFIG_CPU_CP15=y | ||
282 | CONFIG_CPU_CP15_MMU=y | ||
283 | |||
284 | # | ||
285 | # Processor Features | ||
286 | # | ||
287 | CONFIG_ARM_THUMB=y | ||
288 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
289 | CONFIG_ARM_L1_CACHE_SHIFT=5 | ||
290 | CONFIG_IWMMXT=y | ||
291 | CONFIG_XSCALE_PMU=y | ||
292 | CONFIG_COMMON_CLKDEV=y | ||
293 | |||
294 | # | ||
295 | # Bus support | ||
296 | # | ||
297 | CONFIG_ISA=y | ||
298 | # CONFIG_PCI_SYSCALL is not set | ||
299 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
300 | CONFIG_PCCARD=m | ||
301 | CONFIG_PCMCIA=m | ||
302 | CONFIG_PCMCIA_LOAD_CIS=y | ||
303 | CONFIG_PCMCIA_IOCTL=y | ||
304 | |||
305 | # | ||
306 | # PC-card bridges | ||
307 | # | ||
308 | # CONFIG_I82365 is not set | ||
309 | # CONFIG_TCIC is not set | ||
310 | CONFIG_PCMCIA_SOC_COMMON=m | ||
311 | CONFIG_PCMCIA_PXA2XX=m | ||
312 | # CONFIG_PCMCIA_DEBUG is not set | ||
313 | CONFIG_PCMCIA_PROBE=y | ||
314 | |||
315 | # | ||
316 | # Kernel Features | ||
317 | # | ||
318 | CONFIG_TICK_ONESHOT=y | ||
319 | # CONFIG_NO_HZ is not set | ||
320 | # CONFIG_HIGH_RES_TIMERS is not set | ||
321 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
322 | CONFIG_VMSPLIT_3G=y | ||
323 | # CONFIG_VMSPLIT_2G is not set | ||
324 | # CONFIG_VMSPLIT_1G is not set | ||
325 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
326 | CONFIG_PREEMPT_NONE=y | ||
327 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
328 | # CONFIG_PREEMPT is not set | ||
329 | CONFIG_HZ=100 | ||
330 | CONFIG_AEABI=y | ||
331 | CONFIG_OABI_COMPAT=y | ||
332 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
333 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
334 | # CONFIG_HIGHMEM is not set | ||
335 | CONFIG_SELECT_MEMORY_MODEL=y | ||
336 | CONFIG_FLATMEM_MANUAL=y | ||
337 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
338 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
339 | CONFIG_FLATMEM=y | ||
340 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
341 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
342 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||
343 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
344 | CONFIG_ZONE_DMA_FLAG=0 | ||
345 | CONFIG_VIRT_TO_BUS=y | ||
346 | CONFIG_HAVE_MLOCK=y | ||
347 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
348 | # CONFIG_KSM is not set | ||
349 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
350 | CONFIG_ALIGNMENT_TRAP=y | ||
351 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
352 | |||
353 | # | ||
354 | # Boot options | ||
355 | # | ||
356 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
357 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
358 | CONFIG_CMDLINE="root=31:02 rootfstype=jffs2 ro console=ttyS0,115200" | ||
359 | # CONFIG_XIP_KERNEL is not set | ||
360 | # CONFIG_KEXEC is not set | ||
361 | |||
362 | # | ||
363 | # CPU Power Management | ||
364 | # | ||
365 | CONFIG_CPU_FREQ=y | ||
366 | CONFIG_CPU_FREQ_TABLE=y | ||
367 | # CONFIG_CPU_FREQ_DEBUG is not set | ||
368 | CONFIG_CPU_FREQ_STAT=y | ||
369 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | ||
370 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | ||
371 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
372 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
373 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set | ||
374 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
375 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
376 | CONFIG_CPU_FREQ_GOV_POWERSAVE=m | ||
377 | CONFIG_CPU_FREQ_GOV_USERSPACE=m | ||
378 | CONFIG_CPU_FREQ_GOV_ONDEMAND=m | ||
379 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m | ||
380 | # CONFIG_CPU_IDLE is not set | ||
381 | |||
382 | # | ||
383 | # Floating point emulation | ||
384 | # | ||
385 | |||
386 | # | ||
387 | # At least one emulation must be selected | ||
388 | # | ||
389 | CONFIG_FPE_NWFPE=y | ||
390 | # CONFIG_FPE_NWFPE_XP is not set | ||
391 | # CONFIG_FPE_FASTFPE is not set | ||
392 | |||
393 | # | ||
394 | # Userspace binary formats | ||
395 | # | ||
396 | CONFIG_BINFMT_ELF=y | ||
397 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
398 | CONFIG_HAVE_AOUT=y | ||
399 | # CONFIG_BINFMT_AOUT is not set | ||
400 | # CONFIG_BINFMT_MISC is not set | ||
401 | |||
402 | # | ||
403 | # Power management options | ||
404 | # | ||
405 | CONFIG_PM=y | ||
406 | # CONFIG_PM_DEBUG is not set | ||
407 | CONFIG_PM_SLEEP=y | ||
408 | CONFIG_SUSPEND=y | ||
409 | CONFIG_SUSPEND_FREEZER=y | ||
410 | CONFIG_APM_EMULATION=y | ||
411 | # CONFIG_PM_RUNTIME is not set | ||
412 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
413 | CONFIG_NET=y | ||
414 | |||
415 | # | ||
416 | # Networking options | ||
417 | # | ||
418 | CONFIG_PACKET=y | ||
419 | # CONFIG_PACKET_MMAP is not set | ||
420 | CONFIG_UNIX=y | ||
421 | CONFIG_XFRM=y | ||
422 | # CONFIG_XFRM_USER is not set | ||
423 | # CONFIG_XFRM_SUB_POLICY is not set | ||
424 | # CONFIG_XFRM_MIGRATE is not set | ||
425 | # CONFIG_XFRM_STATISTICS is not set | ||
426 | # CONFIG_NET_KEY is not set | ||
427 | CONFIG_INET=y | ||
428 | # CONFIG_IP_MULTICAST is not set | ||
429 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
430 | CONFIG_IP_FIB_HASH=y | ||
431 | CONFIG_IP_PNP=y | ||
432 | CONFIG_IP_PNP_DHCP=y | ||
433 | # CONFIG_IP_PNP_BOOTP is not set | ||
434 | # CONFIG_IP_PNP_RARP is not set | ||
435 | # CONFIG_NET_IPIP is not set | ||
436 | # CONFIG_NET_IPGRE is not set | ||
437 | # CONFIG_ARPD is not set | ||
438 | CONFIG_SYN_COOKIES=y | ||
439 | # CONFIG_INET_AH is not set | ||
440 | # CONFIG_INET_ESP is not set | ||
441 | # CONFIG_INET_IPCOMP is not set | ||
442 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
443 | # CONFIG_INET_TUNNEL is not set | ||
444 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
445 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
446 | CONFIG_INET_XFRM_MODE_BEET=y | ||
447 | # CONFIG_INET_LRO is not set | ||
448 | CONFIG_INET_DIAG=y | ||
449 | CONFIG_INET_TCP_DIAG=y | ||
450 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
451 | CONFIG_TCP_CONG_CUBIC=y | ||
452 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
453 | # CONFIG_TCP_MD5SIG is not set | ||
454 | # CONFIG_IPV6 is not set | ||
455 | # CONFIG_NETWORK_SECMARK is not set | ||
456 | # CONFIG_NETFILTER is not set | ||
457 | # CONFIG_IP_DCCP is not set | ||
458 | # CONFIG_IP_SCTP is not set | ||
459 | # CONFIG_RDS is not set | ||
460 | # CONFIG_TIPC is not set | ||
461 | # CONFIG_ATM is not set | ||
462 | # CONFIG_BRIDGE is not set | ||
463 | # CONFIG_NET_DSA is not set | ||
464 | # CONFIG_VLAN_8021Q is not set | ||
465 | # CONFIG_DECNET is not set | ||
466 | # CONFIG_LLC2 is not set | ||
467 | # CONFIG_IPX is not set | ||
468 | # CONFIG_ATALK is not set | ||
469 | # CONFIG_X25 is not set | ||
470 | # CONFIG_LAPB is not set | ||
471 | # CONFIG_ECONET is not set | ||
472 | # CONFIG_WAN_ROUTER is not set | ||
473 | # CONFIG_PHONET is not set | ||
474 | # CONFIG_IEEE802154 is not set | ||
475 | # CONFIG_NET_SCHED is not set | ||
476 | # CONFIG_DCB is not set | ||
477 | |||
478 | # | ||
479 | # Network testing | ||
480 | # | ||
481 | # CONFIG_NET_PKTGEN is not set | ||
482 | # CONFIG_HAMRADIO is not set | ||
483 | # CONFIG_CAN is not set | ||
484 | # CONFIG_IRDA is not set | ||
485 | CONFIG_BT=m | ||
486 | CONFIG_BT_L2CAP=m | ||
487 | # CONFIG_BT_SCO is not set | ||
488 | CONFIG_BT_RFCOMM=m | ||
489 | CONFIG_BT_RFCOMM_TTY=y | ||
490 | CONFIG_BT_BNEP=m | ||
491 | # CONFIG_BT_BNEP_MC_FILTER is not set | ||
492 | # CONFIG_BT_BNEP_PROTO_FILTER is not set | ||
493 | # CONFIG_BT_HIDP is not set | ||
494 | |||
495 | # | ||
496 | # Bluetooth device drivers | ||
497 | # | ||
498 | # CONFIG_BT_HCIBTUSB is not set | ||
499 | # CONFIG_BT_HCIBTSDIO is not set | ||
500 | CONFIG_BT_HCIUART=m | ||
501 | CONFIG_BT_HCIUART_H4=y | ||
502 | CONFIG_BT_HCIUART_BCSP=y | ||
503 | # CONFIG_BT_HCIUART_LL is not set | ||
504 | # CONFIG_BT_HCIBCM203X is not set | ||
505 | # CONFIG_BT_HCIBPA10X is not set | ||
506 | # CONFIG_BT_HCIBFUSB is not set | ||
507 | # CONFIG_BT_HCIDTL1 is not set | ||
508 | # CONFIG_BT_HCIBT3C is not set | ||
509 | # CONFIG_BT_HCIBLUECARD is not set | ||
510 | # CONFIG_BT_HCIBTUART is not set | ||
511 | # CONFIG_BT_HCIVHCI is not set | ||
512 | # CONFIG_BT_MRVL is not set | ||
513 | # CONFIG_AF_RXRPC is not set | ||
514 | CONFIG_WIRELESS=y | ||
515 | CONFIG_WIRELESS_EXT=y | ||
516 | CONFIG_WEXT_CORE=y | ||
517 | CONFIG_WEXT_PROC=y | ||
518 | CONFIG_WEXT_SPY=y | ||
519 | CONFIG_WEXT_PRIV=y | ||
520 | CONFIG_CFG80211=m | ||
521 | # CONFIG_NL80211_TESTMODE is not set | ||
522 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set | ||
523 | # CONFIG_CFG80211_REG_DEBUG is not set | ||
524 | CONFIG_CFG80211_DEFAULT_PS=y | ||
525 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
526 | CONFIG_CFG80211_WEXT=y | ||
527 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
528 | CONFIG_LIB80211=m | ||
529 | # CONFIG_LIB80211_DEBUG is not set | ||
530 | CONFIG_MAC80211=m | ||
531 | CONFIG_MAC80211_RC_MINSTREL=y | ||
532 | # CONFIG_MAC80211_RC_DEFAULT_PID is not set | ||
533 | CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y | ||
534 | CONFIG_MAC80211_RC_DEFAULT="minstrel" | ||
535 | # CONFIG_MAC80211_MESH is not set | ||
536 | # CONFIG_MAC80211_LEDS is not set | ||
537 | # CONFIG_MAC80211_DEBUG_MENU is not set | ||
538 | # CONFIG_WIMAX is not set | ||
539 | # CONFIG_RFKILL is not set | ||
540 | # CONFIG_NET_9P is not set | ||
541 | |||
542 | # | ||
543 | # Device Drivers | ||
544 | # | ||
545 | |||
546 | # | ||
547 | # Generic Driver Options | ||
548 | # | ||
549 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
550 | # CONFIG_DEVTMPFS is not set | ||
551 | CONFIG_STANDALONE=y | ||
552 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
553 | CONFIG_FW_LOADER=y | ||
554 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
555 | CONFIG_EXTRA_FIRMWARE="" | ||
556 | # CONFIG_DEBUG_DRIVER is not set | ||
557 | # CONFIG_DEBUG_DEVRES is not set | ||
558 | # CONFIG_SYS_HYPERVISOR is not set | ||
559 | # CONFIG_CONNECTOR is not set | ||
560 | CONFIG_MTD=y | ||
561 | # CONFIG_MTD_DEBUG is not set | ||
562 | # CONFIG_MTD_TESTS is not set | ||
563 | # CONFIG_MTD_CONCAT is not set | ||
564 | CONFIG_MTD_PARTITIONS=y | ||
565 | CONFIG_MTD_REDBOOT_PARTS=y | ||
566 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 | ||
567 | # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set | ||
568 | CONFIG_MTD_REDBOOT_PARTS_READONLY=y | ||
569 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
570 | # CONFIG_MTD_AFS_PARTS is not set | ||
571 | # CONFIG_MTD_AR7_PARTS is not set | ||
572 | |||
573 | # | ||
574 | # User Modules And Translation Layers | ||
575 | # | ||
576 | CONFIG_MTD_CHAR=m | ||
577 | CONFIG_MTD_BLKDEVS=y | ||
578 | CONFIG_MTD_BLOCK=y | ||
579 | # CONFIG_FTL is not set | ||
580 | # CONFIG_NFTL is not set | ||
581 | # CONFIG_INFTL is not set | ||
582 | # CONFIG_RFD_FTL is not set | ||
583 | # CONFIG_SSFDC is not set | ||
584 | # CONFIG_MTD_OOPS is not set | ||
585 | |||
586 | # | ||
587 | # RAM/ROM/Flash chip drivers | ||
588 | # | ||
589 | CONFIG_MTD_CFI=y | ||
590 | CONFIG_MTD_JEDECPROBE=y | ||
591 | CONFIG_MTD_GEN_PROBE=y | ||
592 | CONFIG_MTD_CFI_ADV_OPTIONS=y | ||
593 | CONFIG_MTD_CFI_NOSWAP=y | ||
594 | # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set | ||
595 | # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set | ||
596 | CONFIG_MTD_CFI_GEOMETRY=y | ||
597 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
598 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
599 | # CONFIG_MTD_MAP_BANK_WIDTH_4 is not set | ||
600 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
601 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
602 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
603 | CONFIG_MTD_CFI_I1=y | ||
604 | # CONFIG_MTD_CFI_I2 is not set | ||
605 | # CONFIG_MTD_CFI_I4 is not set | ||
606 | # CONFIG_MTD_CFI_I8 is not set | ||
607 | # CONFIG_MTD_OTP is not set | ||
608 | CONFIG_MTD_CFI_INTELEXT=y | ||
609 | CONFIG_MTD_CFI_AMDSTD=y | ||
610 | # CONFIG_MTD_CFI_STAA is not set | ||
611 | CONFIG_MTD_CFI_UTIL=y | ||
612 | CONFIG_MTD_RAM=y | ||
613 | # CONFIG_MTD_ROM is not set | ||
614 | # CONFIG_MTD_ABSENT is not set | ||
615 | # CONFIG_MTD_XIP is not set | ||
616 | |||
617 | # | ||
618 | # Mapping drivers for chip access | ||
619 | # | ||
620 | CONFIG_MTD_COMPLEX_MAPPINGS=y | ||
621 | CONFIG_MTD_PHYSMAP=y | ||
622 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | ||
623 | CONFIG_MTD_PXA2XX=y | ||
624 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
625 | # CONFIG_MTD_IMPA7 is not set | ||
626 | # CONFIG_MTD_GPIO_ADDR is not set | ||
627 | # CONFIG_MTD_PLATRAM is not set | ||
628 | |||
629 | # | ||
630 | # Self-contained MTD device drivers | ||
631 | # | ||
632 | # CONFIG_MTD_DATAFLASH is not set | ||
633 | # CONFIG_MTD_M25P80 is not set | ||
634 | # CONFIG_MTD_SST25L is not set | ||
635 | # CONFIG_MTD_SLRAM is not set | ||
636 | # CONFIG_MTD_PHRAM is not set | ||
637 | # CONFIG_MTD_MTDRAM is not set | ||
638 | # CONFIG_MTD_BLOCK2MTD is not set | ||
639 | |||
640 | # | ||
641 | # Disk-On-Chip Device Drivers | ||
642 | # | ||
643 | # CONFIG_MTD_DOC2000 is not set | ||
644 | # CONFIG_MTD_DOC2001 is not set | ||
645 | # CONFIG_MTD_DOC2001PLUS is not set | ||
646 | # CONFIG_MTD_NAND is not set | ||
647 | # CONFIG_MTD_ONENAND is not set | ||
648 | |||
649 | # | ||
650 | # LPDDR flash memory drivers | ||
651 | # | ||
652 | # CONFIG_MTD_LPDDR is not set | ||
653 | |||
654 | # | ||
655 | # UBI - Unsorted block images | ||
656 | # | ||
657 | # CONFIG_MTD_UBI is not set | ||
658 | # CONFIG_PARPORT is not set | ||
659 | # CONFIG_PNP is not set | ||
660 | CONFIG_BLK_DEV=y | ||
661 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
662 | CONFIG_BLK_DEV_LOOP=m | ||
663 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
664 | |||
665 | # | ||
666 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
667 | # | ||
668 | # CONFIG_BLK_DEV_NBD is not set | ||
669 | # CONFIG_BLK_DEV_UB is not set | ||
670 | # CONFIG_BLK_DEV_RAM is not set | ||
671 | # CONFIG_CDROM_PKTCDVD is not set | ||
672 | # CONFIG_ATA_OVER_ETH is not set | ||
673 | # CONFIG_MG_DISK is not set | ||
674 | CONFIG_MISC_DEVICES=y | ||
675 | # CONFIG_ICS932S401 is not set | ||
676 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
677 | # CONFIG_ISL29003 is not set | ||
678 | # CONFIG_DS1682 is not set | ||
679 | # CONFIG_C2PORT is not set | ||
680 | |||
681 | # | ||
682 | # EEPROM support | ||
683 | # | ||
684 | CONFIG_EEPROM_AT24=m | ||
685 | # CONFIG_EEPROM_AT25 is not set | ||
686 | # CONFIG_EEPROM_LEGACY is not set | ||
687 | # CONFIG_EEPROM_MAX6875 is not set | ||
688 | # CONFIG_EEPROM_93CX6 is not set | ||
689 | # CONFIG_IWMC3200TOP is not set | ||
690 | CONFIG_HAVE_IDE=y | ||
691 | # CONFIG_IDE is not set | ||
692 | |||
693 | # | ||
694 | # SCSI device support | ||
695 | # | ||
696 | # CONFIG_RAID_ATTRS is not set | ||
697 | CONFIG_SCSI=m | ||
698 | CONFIG_SCSI_DMA=y | ||
699 | # CONFIG_SCSI_TGT is not set | ||
700 | # CONFIG_SCSI_NETLINK is not set | ||
701 | # CONFIG_SCSI_PROC_FS is not set | ||
702 | |||
703 | # | ||
704 | # SCSI support type (disk, tape, CD-ROM) | ||
705 | # | ||
706 | CONFIG_BLK_DEV_SD=m | ||
707 | # CONFIG_CHR_DEV_ST is not set | ||
708 | # CONFIG_CHR_DEV_OSST is not set | ||
709 | # CONFIG_BLK_DEV_SR is not set | ||
710 | # CONFIG_CHR_DEV_SG is not set | ||
711 | # CONFIG_CHR_DEV_SCH is not set | ||
712 | # CONFIG_SCSI_MULTI_LUN is not set | ||
713 | # CONFIG_SCSI_CONSTANTS is not set | ||
714 | # CONFIG_SCSI_LOGGING is not set | ||
715 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
716 | CONFIG_SCSI_WAIT_SCAN=m | ||
717 | |||
718 | # | ||
719 | # SCSI Transports | ||
720 | # | ||
721 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
722 | # CONFIG_SCSI_FC_ATTRS is not set | ||
723 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
724 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
725 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
726 | CONFIG_SCSI_LOWLEVEL=y | ||
727 | # CONFIG_ISCSI_TCP is not set | ||
728 | # CONFIG_SCSI_AHA152X is not set | ||
729 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
730 | # CONFIG_SCSI_ADVANSYS is not set | ||
731 | # CONFIG_SCSI_IN2000 is not set | ||
732 | # CONFIG_LIBFC is not set | ||
733 | # CONFIG_LIBFCOE is not set | ||
734 | # CONFIG_SCSI_DTC3280 is not set | ||
735 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
736 | # CONFIG_SCSI_GENERIC_NCR5380 is not set | ||
737 | # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set | ||
738 | # CONFIG_SCSI_NCR53C406A is not set | ||
739 | # CONFIG_SCSI_PAS16 is not set | ||
740 | # CONFIG_SCSI_QLOGIC_FAS is not set | ||
741 | # CONFIG_SCSI_SYM53C416 is not set | ||
742 | # CONFIG_SCSI_T128 is not set | ||
743 | # CONFIG_SCSI_DEBUG is not set | ||
744 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set | ||
745 | # CONFIG_SCSI_DH is not set | ||
746 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
747 | CONFIG_ATA=m | ||
748 | # CONFIG_ATA_NONSTANDARD is not set | ||
749 | CONFIG_ATA_VERBOSE_ERROR=y | ||
750 | # CONFIG_SATA_PMP is not set | ||
751 | CONFIG_ATA_SFF=y | ||
752 | # CONFIG_SATA_MV is not set | ||
753 | # CONFIG_PATA_LEGACY is not set | ||
754 | CONFIG_PATA_PCMCIA=m | ||
755 | # CONFIG_PATA_QDI is not set | ||
756 | # CONFIG_PATA_WINBOND_VLB is not set | ||
757 | # CONFIG_MD is not set | ||
758 | CONFIG_NETDEVICES=y | ||
759 | # CONFIG_DUMMY is not set | ||
760 | # CONFIG_BONDING is not set | ||
761 | # CONFIG_MACVLAN is not set | ||
762 | # CONFIG_EQUALIZER is not set | ||
763 | # CONFIG_TUN is not set | ||
764 | # CONFIG_VETH is not set | ||
765 | # CONFIG_ARCNET is not set | ||
766 | # CONFIG_PHYLIB is not set | ||
767 | CONFIG_NET_ETHERNET=y | ||
768 | CONFIG_MII=y | ||
769 | # CONFIG_AX88796 is not set | ||
770 | # CONFIG_NET_VENDOR_3COM is not set | ||
771 | # CONFIG_NET_VENDOR_SMC is not set | ||
772 | # CONFIG_SMC91X is not set | ||
773 | CONFIG_DM9000=y | ||
774 | CONFIG_DM9000_DEBUGLEVEL=4 | ||
775 | # CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set | ||
776 | # CONFIG_ENC28J60 is not set | ||
777 | # CONFIG_ETHOC is not set | ||
778 | # CONFIG_SMC911X is not set | ||
779 | # CONFIG_SMSC911X is not set | ||
780 | # CONFIG_NET_VENDOR_RACAL is not set | ||
781 | # CONFIG_DNET is not set | ||
782 | # CONFIG_AT1700 is not set | ||
783 | # CONFIG_DEPCA is not set | ||
784 | # CONFIG_HP100 is not set | ||
785 | # CONFIG_NET_ISA is not set | ||
786 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
787 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
788 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
789 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
790 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
791 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
792 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
793 | # CONFIG_NET_PCI is not set | ||
794 | # CONFIG_B44 is not set | ||
795 | # CONFIG_CS89x0 is not set | ||
796 | # CONFIG_KS8842 is not set | ||
797 | # CONFIG_KS8851 is not set | ||
798 | # CONFIG_KS8851_MLL is not set | ||
799 | # CONFIG_NETDEV_1000 is not set | ||
800 | # CONFIG_NETDEV_10000 is not set | ||
801 | # CONFIG_TR is not set | ||
802 | CONFIG_WLAN=y | ||
803 | # CONFIG_PCMCIA_RAYCS is not set | ||
804 | # CONFIG_LIBERTAS_THINFIRM is not set | ||
805 | # CONFIG_ATMEL is not set | ||
806 | # CONFIG_AT76C50X_USB is not set | ||
807 | # CONFIG_AIRO_CS is not set | ||
808 | # CONFIG_PCMCIA_WL3501 is not set | ||
809 | # CONFIG_USB_ZD1201 is not set | ||
810 | # CONFIG_USB_NET_RNDIS_WLAN is not set | ||
811 | # CONFIG_RTL8187 is not set | ||
812 | # CONFIG_MAC80211_HWSIM is not set | ||
813 | # CONFIG_ATH_COMMON is not set | ||
814 | # CONFIG_B43 is not set | ||
815 | # CONFIG_B43LEGACY is not set | ||
816 | # CONFIG_HOSTAP is not set | ||
817 | # CONFIG_IWM is not set | ||
818 | # CONFIG_LIBERTAS is not set | ||
819 | CONFIG_HERMES=m | ||
820 | CONFIG_HERMES_CACHE_FW_ON_INIT=y | ||
821 | CONFIG_PCMCIA_HERMES=m | ||
822 | # CONFIG_PCMCIA_SPECTRUM is not set | ||
823 | # CONFIG_P54_COMMON is not set | ||
824 | CONFIG_RT2X00=m | ||
825 | # CONFIG_RT2500USB is not set | ||
826 | CONFIG_RT73USB=m | ||
827 | # CONFIG_RT2800USB is not set | ||
828 | CONFIG_RT2X00_LIB_USB=m | ||
829 | CONFIG_RT2X00_LIB=m | ||
830 | CONFIG_RT2X00_LIB_FIRMWARE=y | ||
831 | CONFIG_RT2X00_LIB_CRYPTO=y | ||
832 | CONFIG_RT2X00_LIB_LEDS=y | ||
833 | # CONFIG_RT2X00_DEBUG is not set | ||
834 | # CONFIG_WL12XX is not set | ||
835 | # CONFIG_ZD1211RW is not set | ||
836 | |||
837 | # | ||
838 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
839 | # | ||
840 | |||
841 | # | ||
842 | # USB Network Adapters | ||
843 | # | ||
844 | # CONFIG_USB_CATC is not set | ||
845 | # CONFIG_USB_KAWETH is not set | ||
846 | # CONFIG_USB_PEGASUS is not set | ||
847 | # CONFIG_USB_RTL8150 is not set | ||
848 | # CONFIG_USB_USBNET is not set | ||
849 | CONFIG_NET_PCMCIA=y | ||
850 | # CONFIG_PCMCIA_3C589 is not set | ||
851 | # CONFIG_PCMCIA_3C574 is not set | ||
852 | # CONFIG_PCMCIA_FMVJ18X is not set | ||
853 | # CONFIG_PCMCIA_PCNET is not set | ||
854 | # CONFIG_PCMCIA_NMCLAN is not set | ||
855 | # CONFIG_PCMCIA_SMC91C92 is not set | ||
856 | # CONFIG_PCMCIA_XIRC2PS is not set | ||
857 | # CONFIG_PCMCIA_AXNET is not set | ||
858 | # CONFIG_WAN is not set | ||
859 | CONFIG_PPP=m | ||
860 | # CONFIG_PPP_MULTILINK is not set | ||
861 | # CONFIG_PPP_FILTER is not set | ||
862 | CONFIG_PPP_ASYNC=m | ||
863 | # CONFIG_PPP_SYNC_TTY is not set | ||
864 | CONFIG_PPP_DEFLATE=m | ||
865 | CONFIG_PPP_BSDCOMP=m | ||
866 | # CONFIG_PPP_MPPE is not set | ||
867 | # CONFIG_PPPOE is not set | ||
868 | # CONFIG_PPPOL2TP is not set | ||
869 | # CONFIG_SLIP is not set | ||
870 | CONFIG_SLHC=m | ||
871 | # CONFIG_NETCONSOLE is not set | ||
872 | # CONFIG_NETPOLL is not set | ||
873 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
874 | # CONFIG_ISDN is not set | ||
875 | # CONFIG_PHONE is not set | ||
876 | |||
877 | # | ||
878 | # Input device support | ||
879 | # | ||
880 | CONFIG_INPUT=y | ||
881 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
882 | # CONFIG_INPUT_POLLDEV is not set | ||
883 | |||
884 | # | ||
885 | # Userland interfaces | ||
886 | # | ||
887 | CONFIG_INPUT_MOUSEDEV=y | ||
888 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
889 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
890 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
891 | # CONFIG_INPUT_JOYDEV is not set | ||
892 | CONFIG_INPUT_EVDEV=m | ||
893 | # CONFIG_INPUT_EVBUG is not set | ||
894 | |||
895 | # | ||
896 | # Input Device Drivers | ||
897 | # | ||
898 | # CONFIG_INPUT_KEYBOARD is not set | ||
899 | # CONFIG_INPUT_MOUSE is not set | ||
900 | # CONFIG_INPUT_JOYSTICK is not set | ||
901 | # CONFIG_INPUT_TABLET is not set | ||
902 | CONFIG_INPUT_TOUCHSCREEN=y | ||
903 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | ||
904 | # CONFIG_TOUCHSCREEN_AD7877 is not set | ||
905 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | ||
906 | # CONFIG_TOUCHSCREEN_AD7879_SPI is not set | ||
907 | # CONFIG_TOUCHSCREEN_AD7879 is not set | ||
908 | # CONFIG_TOUCHSCREEN_EETI is not set | ||
909 | CONFIG_TOUCHSCREEN_FUJITSU=m | ||
910 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
911 | CONFIG_TOUCHSCREEN_ELO=m | ||
912 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
913 | # CONFIG_TOUCHSCREEN_MCS5000 is not set | ||
914 | CONFIG_TOUCHSCREEN_MTOUCH=m | ||
915 | CONFIG_TOUCHSCREEN_INEXIO=m | ||
916 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
917 | CONFIG_TOUCHSCREEN_HTCPEN=m | ||
918 | CONFIG_TOUCHSCREEN_PENMOUNT=m | ||
919 | CONFIG_TOUCHSCREEN_TOUCHRIGHT=m | ||
920 | CONFIG_TOUCHSCREEN_TOUCHWIN=m | ||
921 | # CONFIG_TOUCHSCREEN_WM97XX is not set | ||
922 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set | ||
923 | CONFIG_TOUCHSCREEN_TOUCHIT213=m | ||
924 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
925 | # CONFIG_TOUCHSCREEN_W90X900 is not set | ||
926 | CONFIG_INPUT_MISC=y | ||
927 | # CONFIG_INPUT_ATI_REMOTE is not set | ||
928 | # CONFIG_INPUT_ATI_REMOTE2 is not set | ||
929 | # CONFIG_INPUT_KEYSPAN_REMOTE is not set | ||
930 | # CONFIG_INPUT_POWERMATE is not set | ||
931 | # CONFIG_INPUT_YEALINK is not set | ||
932 | # CONFIG_INPUT_CM109 is not set | ||
933 | CONFIG_INPUT_UINPUT=m | ||
934 | # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set | ||
935 | |||
936 | # | ||
937 | # Hardware I/O ports | ||
938 | # | ||
939 | CONFIG_SERIO=y | ||
940 | CONFIG_SERIO_SERPORT=y | ||
941 | # CONFIG_SERIO_RAW is not set | ||
942 | # CONFIG_GAMEPORT is not set | ||
943 | |||
944 | # | ||
945 | # Character devices | ||
946 | # | ||
947 | CONFIG_VT=y | ||
948 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
949 | CONFIG_VT_CONSOLE=y | ||
950 | CONFIG_HW_CONSOLE=y | ||
951 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
952 | CONFIG_DEVKMEM=y | ||
953 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
954 | |||
955 | # | ||
956 | # Serial drivers | ||
957 | # | ||
958 | CONFIG_SERIAL_8250=y | ||
959 | CONFIG_SERIAL_8250_CONSOLE=y | ||
960 | # CONFIG_SERIAL_8250_CS is not set | ||
961 | CONFIG_SERIAL_8250_NR_UARTS=7 | ||
962 | CONFIG_SERIAL_8250_RUNTIME_UARTS=7 | ||
963 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
964 | |||
965 | # | ||
966 | # Non-8250 serial port support | ||
967 | # | ||
968 | # CONFIG_SERIAL_MAX3100 is not set | ||
969 | # CONFIG_SERIAL_PXA is not set | ||
970 | CONFIG_SERIAL_CORE=y | ||
971 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
972 | CONFIG_UNIX98_PTYS=y | ||
973 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
974 | # CONFIG_LEGACY_PTYS is not set | ||
975 | # CONFIG_IPMI_HANDLER is not set | ||
976 | CONFIG_HW_RANDOM=m | ||
977 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
978 | # CONFIG_DTLK is not set | ||
979 | # CONFIG_R3964 is not set | ||
980 | |||
981 | # | ||
982 | # PCMCIA character devices | ||
983 | # | ||
984 | # CONFIG_SYNCLINK_CS is not set | ||
985 | # CONFIG_CARDMAN_4000 is not set | ||
986 | # CONFIG_CARDMAN_4040 is not set | ||
987 | # CONFIG_IPWIRELESS is not set | ||
988 | # CONFIG_RAW_DRIVER is not set | ||
989 | # CONFIG_TCG_TPM is not set | ||
990 | CONFIG_DEVPORT=y | ||
991 | CONFIG_I2C=y | ||
992 | CONFIG_I2C_BOARDINFO=y | ||
993 | CONFIG_I2C_COMPAT=y | ||
994 | CONFIG_I2C_CHARDEV=y | ||
995 | # CONFIG_I2C_HELPER_AUTO is not set | ||
996 | |||
997 | # | ||
998 | # I2C Algorithms | ||
999 | # | ||
1000 | CONFIG_I2C_ALGOBIT=y | ||
1001 | # CONFIG_I2C_ALGOPCF is not set | ||
1002 | # CONFIG_I2C_ALGOPCA is not set | ||
1003 | |||
1004 | # | ||
1005 | # I2C Hardware Bus support | ||
1006 | # | ||
1007 | |||
1008 | # | ||
1009 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
1010 | # | ||
1011 | # CONFIG_I2C_DESIGNWARE is not set | ||
1012 | CONFIG_I2C_GPIO=y | ||
1013 | # CONFIG_I2C_OCORES is not set | ||
1014 | CONFIG_I2C_PXA=y | ||
1015 | # CONFIG_I2C_PXA_SLAVE is not set | ||
1016 | # CONFIG_I2C_SIMTEC is not set | ||
1017 | |||
1018 | # | ||
1019 | # External I2C/SMBus adapter drivers | ||
1020 | # | ||
1021 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
1022 | # CONFIG_I2C_TAOS_EVM is not set | ||
1023 | # CONFIG_I2C_TINY_USB is not set | ||
1024 | |||
1025 | # | ||
1026 | # Other I2C/SMBus bus drivers | ||
1027 | # | ||
1028 | # CONFIG_I2C_ELEKTOR is not set | ||
1029 | # CONFIG_I2C_PCA_ISA is not set | ||
1030 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
1031 | # CONFIG_I2C_STUB is not set | ||
1032 | |||
1033 | # | ||
1034 | # Miscellaneous I2C Chip support | ||
1035 | # | ||
1036 | # CONFIG_SENSORS_TSL2550 is not set | ||
1037 | # CONFIG_I2C_DEBUG_CORE is not set | ||
1038 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
1039 | # CONFIG_I2C_DEBUG_BUS is not set | ||
1040 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
1041 | CONFIG_SPI=y | ||
1042 | # CONFIG_SPI_DEBUG is not set | ||
1043 | CONFIG_SPI_MASTER=y | ||
1044 | |||
1045 | # | ||
1046 | # SPI Master Controller Drivers | ||
1047 | # | ||
1048 | # CONFIG_SPI_BITBANG is not set | ||
1049 | # CONFIG_SPI_GPIO is not set | ||
1050 | CONFIG_SPI_PXA2XX=y | ||
1051 | |||
1052 | # | ||
1053 | # SPI Protocol Masters | ||
1054 | # | ||
1055 | # CONFIG_SPI_SPIDEV is not set | ||
1056 | # CONFIG_SPI_TLE62X0 is not set | ||
1057 | |||
1058 | # | ||
1059 | # PPS support | ||
1060 | # | ||
1061 | # CONFIG_PPS is not set | ||
1062 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
1063 | CONFIG_GPIOLIB=y | ||
1064 | # CONFIG_DEBUG_GPIO is not set | ||
1065 | CONFIG_GPIO_SYSFS=y | ||
1066 | |||
1067 | # | ||
1068 | # Memory mapped GPIO expanders: | ||
1069 | # | ||
1070 | |||
1071 | # | ||
1072 | # I2C GPIO expanders: | ||
1073 | # | ||
1074 | # CONFIG_GPIO_MAX732X is not set | ||
1075 | CONFIG_GPIO_PCA953X=y | ||
1076 | # CONFIG_GPIO_PCF857X is not set | ||
1077 | |||
1078 | # | ||
1079 | # PCI GPIO expanders: | ||
1080 | # | ||
1081 | |||
1082 | # | ||
1083 | # SPI GPIO expanders: | ||
1084 | # | ||
1085 | # CONFIG_GPIO_MAX7301 is not set | ||
1086 | # CONFIG_GPIO_MCP23S08 is not set | ||
1087 | # CONFIG_GPIO_MC33880 is not set | ||
1088 | |||
1089 | # | ||
1090 | # AC97 GPIO expanders: | ||
1091 | # | ||
1092 | # CONFIG_W1 is not set | ||
1093 | # CONFIG_POWER_SUPPLY is not set | ||
1094 | CONFIG_HWMON=y | ||
1095 | # CONFIG_HWMON_VID is not set | ||
1096 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
1097 | |||
1098 | # | ||
1099 | # Native drivers | ||
1100 | # | ||
1101 | # CONFIG_SENSORS_AD7414 is not set | ||
1102 | # CONFIG_SENSORS_AD7418 is not set | ||
1103 | # CONFIG_SENSORS_ADCXX is not set | ||
1104 | # CONFIG_SENSORS_ADM1021 is not set | ||
1105 | # CONFIG_SENSORS_ADM1025 is not set | ||
1106 | # CONFIG_SENSORS_ADM1026 is not set | ||
1107 | # CONFIG_SENSORS_ADM1029 is not set | ||
1108 | # CONFIG_SENSORS_ADM1031 is not set | ||
1109 | # CONFIG_SENSORS_ADM9240 is not set | ||
1110 | # CONFIG_SENSORS_ADT7462 is not set | ||
1111 | # CONFIG_SENSORS_ADT7470 is not set | ||
1112 | # CONFIG_SENSORS_ADT7473 is not set | ||
1113 | # CONFIG_SENSORS_ADT7475 is not set | ||
1114 | # CONFIG_SENSORS_ATXP1 is not set | ||
1115 | # CONFIG_SENSORS_DS1621 is not set | ||
1116 | # CONFIG_SENSORS_F71805F is not set | ||
1117 | # CONFIG_SENSORS_F71882FG is not set | ||
1118 | # CONFIG_SENSORS_F75375S is not set | ||
1119 | # CONFIG_SENSORS_G760A is not set | ||
1120 | # CONFIG_SENSORS_GL518SM is not set | ||
1121 | # CONFIG_SENSORS_GL520SM is not set | ||
1122 | # CONFIG_SENSORS_IT87 is not set | ||
1123 | # CONFIG_SENSORS_LM63 is not set | ||
1124 | # CONFIG_SENSORS_LM70 is not set | ||
1125 | CONFIG_SENSORS_LM75=m | ||
1126 | # CONFIG_SENSORS_LM77 is not set | ||
1127 | # CONFIG_SENSORS_LM78 is not set | ||
1128 | # CONFIG_SENSORS_LM80 is not set | ||
1129 | # CONFIG_SENSORS_LM83 is not set | ||
1130 | # CONFIG_SENSORS_LM85 is not set | ||
1131 | # CONFIG_SENSORS_LM87 is not set | ||
1132 | # CONFIG_SENSORS_LM90 is not set | ||
1133 | # CONFIG_SENSORS_LM92 is not set | ||
1134 | # CONFIG_SENSORS_LM93 is not set | ||
1135 | # CONFIG_SENSORS_LTC4215 is not set | ||
1136 | # CONFIG_SENSORS_LTC4245 is not set | ||
1137 | # CONFIG_SENSORS_LM95241 is not set | ||
1138 | # CONFIG_SENSORS_MAX1111 is not set | ||
1139 | # CONFIG_SENSORS_MAX1619 is not set | ||
1140 | # CONFIG_SENSORS_MAX6650 is not set | ||
1141 | # CONFIG_SENSORS_PC87360 is not set | ||
1142 | # CONFIG_SENSORS_PC87427 is not set | ||
1143 | # CONFIG_SENSORS_PCF8591 is not set | ||
1144 | # CONFIG_SENSORS_SHT15 is not set | ||
1145 | # CONFIG_SENSORS_DME1737 is not set | ||
1146 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
1147 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
1148 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
1149 | # CONFIG_SENSORS_ADS7828 is not set | ||
1150 | # CONFIG_SENSORS_THMC50 is not set | ||
1151 | # CONFIG_SENSORS_TMP401 is not set | ||
1152 | # CONFIG_SENSORS_TMP421 is not set | ||
1153 | # CONFIG_SENSORS_VT1211 is not set | ||
1154 | # CONFIG_SENSORS_W83781D is not set | ||
1155 | # CONFIG_SENSORS_W83791D is not set | ||
1156 | # CONFIG_SENSORS_W83792D is not set | ||
1157 | # CONFIG_SENSORS_W83793 is not set | ||
1158 | # CONFIG_SENSORS_W83L785TS is not set | ||
1159 | # CONFIG_SENSORS_W83L786NG is not set | ||
1160 | # CONFIG_SENSORS_W83627HF is not set | ||
1161 | # CONFIG_SENSORS_W83627EHF is not set | ||
1162 | # CONFIG_SENSORS_LIS3_SPI is not set | ||
1163 | # CONFIG_THERMAL is not set | ||
1164 | CONFIG_WATCHDOG=y | ||
1165 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
1166 | |||
1167 | # | ||
1168 | # Watchdog Device Drivers | ||
1169 | # | ||
1170 | # CONFIG_SOFT_WATCHDOG is not set | ||
1171 | # CONFIG_SA1100_WATCHDOG is not set | ||
1172 | |||
1173 | # | ||
1174 | # ISA-based Watchdog Cards | ||
1175 | # | ||
1176 | # CONFIG_PCWATCHDOG is not set | ||
1177 | # CONFIG_MIXCOMWD is not set | ||
1178 | # CONFIG_WDT is not set | ||
1179 | |||
1180 | # | ||
1181 | # USB-based Watchdog Cards | ||
1182 | # | ||
1183 | # CONFIG_USBPCWATCHDOG is not set | ||
1184 | CONFIG_SSB_POSSIBLE=y | ||
1185 | |||
1186 | # | ||
1187 | # Sonics Silicon Backplane | ||
1188 | # | ||
1189 | # CONFIG_SSB is not set | ||
1190 | |||
1191 | # | ||
1192 | # Multifunction device drivers | ||
1193 | # | ||
1194 | # CONFIG_MFD_CORE is not set | ||
1195 | # CONFIG_MFD_SM501 is not set | ||
1196 | # CONFIG_MFD_ASIC3 is not set | ||
1197 | # CONFIG_HTC_EGPIO is not set | ||
1198 | # CONFIG_HTC_PASIC3 is not set | ||
1199 | # CONFIG_UCB1400_CORE is not set | ||
1200 | # CONFIG_TPS65010 is not set | ||
1201 | # CONFIG_TWL4030_CORE is not set | ||
1202 | # CONFIG_MFD_TMIO is not set | ||
1203 | # CONFIG_MFD_T7L66XB is not set | ||
1204 | # CONFIG_MFD_TC6387XB is not set | ||
1205 | # CONFIG_MFD_TC6393XB is not set | ||
1206 | # CONFIG_PMIC_DA903X is not set | ||
1207 | # CONFIG_MFD_WM8400 is not set | ||
1208 | # CONFIG_MFD_WM831X is not set | ||
1209 | # CONFIG_MFD_WM8350_I2C is not set | ||
1210 | # CONFIG_MFD_PCF50633 is not set | ||
1211 | # CONFIG_MFD_MC13783 is not set | ||
1212 | # CONFIG_AB3100_CORE is not set | ||
1213 | # CONFIG_EZX_PCAP is not set | ||
1214 | # CONFIG_REGULATOR is not set | ||
1215 | # CONFIG_MEDIA_SUPPORT is not set | ||
1216 | |||
1217 | # | ||
1218 | # Graphics support | ||
1219 | # | ||
1220 | # CONFIG_VGASTATE is not set | ||
1221 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
1222 | CONFIG_FB=y | ||
1223 | # CONFIG_FIRMWARE_EDID is not set | ||
1224 | # CONFIG_FB_DDC is not set | ||
1225 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
1226 | CONFIG_FB_CFB_FILLRECT=m | ||
1227 | CONFIG_FB_CFB_COPYAREA=m | ||
1228 | CONFIG_FB_CFB_IMAGEBLIT=m | ||
1229 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
1230 | # CONFIG_FB_SYS_FILLRECT is not set | ||
1231 | # CONFIG_FB_SYS_COPYAREA is not set | ||
1232 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
1233 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
1234 | # CONFIG_FB_SYS_FOPS is not set | ||
1235 | # CONFIG_FB_SVGALIB is not set | ||
1236 | # CONFIG_FB_MACMODES is not set | ||
1237 | # CONFIG_FB_BACKLIGHT is not set | ||
1238 | # CONFIG_FB_MODE_HELPERS is not set | ||
1239 | # CONFIG_FB_TILEBLITTING is not set | ||
1240 | |||
1241 | # | ||
1242 | # Frame buffer hardware drivers | ||
1243 | # | ||
1244 | # CONFIG_FB_S1D13XXX is not set | ||
1245 | CONFIG_FB_PXA=m | ||
1246 | # CONFIG_FB_PXA_OVERLAY is not set | ||
1247 | # CONFIG_FB_PXA_SMARTPANEL is not set | ||
1248 | CONFIG_FB_PXA_PARAMETERS=y | ||
1249 | # CONFIG_FB_MBX is not set | ||
1250 | # CONFIG_FB_W100 is not set | ||
1251 | # CONFIG_FB_VIRTUAL is not set | ||
1252 | # CONFIG_FB_METRONOME is not set | ||
1253 | # CONFIG_FB_MB862XX is not set | ||
1254 | # CONFIG_FB_BROADSHEET is not set | ||
1255 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
1256 | CONFIG_LCD_CLASS_DEVICE=m | ||
1257 | # CONFIG_LCD_LMS283GF05 is not set | ||
1258 | # CONFIG_LCD_LTV350QV is not set | ||
1259 | # CONFIG_LCD_ILI9320 is not set | ||
1260 | # CONFIG_LCD_TDO24M is not set | ||
1261 | # CONFIG_LCD_VGG2432A4 is not set | ||
1262 | # CONFIG_LCD_PLATFORM is not set | ||
1263 | CONFIG_BACKLIGHT_CLASS_DEVICE=m | ||
1264 | CONFIG_BACKLIGHT_GENERIC=m | ||
1265 | |||
1266 | # | ||
1267 | # Display device support | ||
1268 | # | ||
1269 | # CONFIG_DISPLAY_SUPPORT is not set | ||
1270 | |||
1271 | # | ||
1272 | # Console display driver support | ||
1273 | # | ||
1274 | # CONFIG_VGA_CONSOLE is not set | ||
1275 | # CONFIG_MDA_CONSOLE is not set | ||
1276 | CONFIG_DUMMY_CONSOLE=y | ||
1277 | CONFIG_FRAMEBUFFER_CONSOLE=m | ||
1278 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
1279 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
1280 | # CONFIG_FONTS is not set | ||
1281 | CONFIG_FONT_8x8=y | ||
1282 | CONFIG_FONT_8x16=y | ||
1283 | CONFIG_LOGO=y | ||
1284 | CONFIG_LOGO_LINUX_MONO=y | ||
1285 | CONFIG_LOGO_LINUX_VGA16=y | ||
1286 | CONFIG_LOGO_LINUX_CLUT224=y | ||
1287 | CONFIG_SOUND=m | ||
1288 | CONFIG_SOUND_OSS_CORE=y | ||
1289 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
1290 | CONFIG_SND=m | ||
1291 | CONFIG_SND_TIMER=m | ||
1292 | CONFIG_SND_PCM=m | ||
1293 | CONFIG_SND_JACK=y | ||
1294 | # CONFIG_SND_SEQUENCER is not set | ||
1295 | CONFIG_SND_OSSEMUL=y | ||
1296 | CONFIG_SND_MIXER_OSS=m | ||
1297 | CONFIG_SND_PCM_OSS=m | ||
1298 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
1299 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
1300 | # CONFIG_SND_SUPPORT_OLD_API is not set | ||
1301 | CONFIG_SND_VERBOSE_PROCFS=y | ||
1302 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
1303 | # CONFIG_SND_DEBUG is not set | ||
1304 | CONFIG_SND_VMASTER=y | ||
1305 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
1306 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
1307 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
1308 | # CONFIG_SND_SBAWE_SEQ is not set | ||
1309 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
1310 | CONFIG_SND_AC97_CODEC=m | ||
1311 | CONFIG_SND_DRIVERS=y | ||
1312 | # CONFIG_SND_DUMMY is not set | ||
1313 | # CONFIG_SND_MTPAV is not set | ||
1314 | # CONFIG_SND_SERIAL_U16550 is not set | ||
1315 | # CONFIG_SND_MPU401 is not set | ||
1316 | # CONFIG_SND_AC97_POWER_SAVE is not set | ||
1317 | CONFIG_SND_ARM=y | ||
1318 | CONFIG_SND_PXA2XX_PCM=m | ||
1319 | CONFIG_SND_PXA2XX_LIB=m | ||
1320 | CONFIG_SND_PXA2XX_LIB_AC97=y | ||
1321 | CONFIG_SND_PXA2XX_AC97=m | ||
1322 | # CONFIG_SND_SPI is not set | ||
1323 | CONFIG_SND_USB=y | ||
1324 | # CONFIG_SND_USB_AUDIO is not set | ||
1325 | # CONFIG_SND_USB_CAIAQ is not set | ||
1326 | # CONFIG_SND_PCMCIA is not set | ||
1327 | CONFIG_SND_SOC=m | ||
1328 | CONFIG_SND_PXA2XX_SOC=m | ||
1329 | CONFIG_SND_SOC_I2C_AND_SPI=m | ||
1330 | # CONFIG_SND_SOC_ALL_CODECS is not set | ||
1331 | # CONFIG_SOUND_PRIME is not set | ||
1332 | CONFIG_AC97_BUS=m | ||
1333 | # CONFIG_HID_SUPPORT is not set | ||
1334 | CONFIG_USB_SUPPORT=y | ||
1335 | CONFIG_USB_ARCH_HAS_HCD=y | ||
1336 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
1337 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
1338 | CONFIG_USB=m | ||
1339 | # CONFIG_USB_DEBUG is not set | ||
1340 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
1341 | |||
1342 | # | ||
1343 | # Miscellaneous USB options | ||
1344 | # | ||
1345 | CONFIG_USB_DEVICEFS=y | ||
1346 | CONFIG_USB_DEVICE_CLASS=y | ||
1347 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
1348 | CONFIG_USB_SUSPEND=y | ||
1349 | # CONFIG_USB_OTG is not set | ||
1350 | # CONFIG_USB_MON is not set | ||
1351 | # CONFIG_USB_WUSB is not set | ||
1352 | # CONFIG_USB_WUSB_CBAF is not set | ||
1353 | |||
1354 | # | ||
1355 | # USB Host Controller Drivers | ||
1356 | # | ||
1357 | # CONFIG_USB_C67X00_HCD is not set | ||
1358 | # CONFIG_USB_OXU210HP_HCD is not set | ||
1359 | # CONFIG_USB_ISP116X_HCD is not set | ||
1360 | # CONFIG_USB_ISP1760_HCD is not set | ||
1361 | # CONFIG_USB_ISP1362_HCD is not set | ||
1362 | CONFIG_USB_OHCI_HCD=m | ||
1363 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set | ||
1364 | # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set | ||
1365 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
1366 | # CONFIG_USB_SL811_HCD is not set | ||
1367 | # CONFIG_USB_R8A66597_HCD is not set | ||
1368 | # CONFIG_USB_HWA_HCD is not set | ||
1369 | # CONFIG_USB_MUSB_HDRC is not set | ||
1370 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
1371 | |||
1372 | # | ||
1373 | # USB Device Class drivers | ||
1374 | # | ||
1375 | CONFIG_USB_ACM=m | ||
1376 | # CONFIG_USB_PRINTER is not set | ||
1377 | # CONFIG_USB_WDM is not set | ||
1378 | # CONFIG_USB_TMC is not set | ||
1379 | |||
1380 | # | ||
1381 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may | ||
1382 | # | ||
1383 | |||
1384 | # | ||
1385 | # also be needed; see USB_STORAGE Help for more info | ||
1386 | # | ||
1387 | CONFIG_USB_STORAGE=m | ||
1388 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
1389 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
1390 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
1391 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
1392 | # CONFIG_USB_STORAGE_USBAT is not set | ||
1393 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
1394 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
1395 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
1396 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
1397 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
1398 | # CONFIG_USB_STORAGE_KARMA is not set | ||
1399 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
1400 | # CONFIG_USB_LIBUSUAL is not set | ||
1401 | |||
1402 | # | ||
1403 | # USB Imaging devices | ||
1404 | # | ||
1405 | # CONFIG_USB_MDC800 is not set | ||
1406 | # CONFIG_USB_MICROTEK is not set | ||
1407 | |||
1408 | # | ||
1409 | # USB port drivers | ||
1410 | # | ||
1411 | CONFIG_USB_SERIAL=m | ||
1412 | # CONFIG_USB_EZUSB is not set | ||
1413 | CONFIG_USB_SERIAL_GENERIC=y | ||
1414 | # CONFIG_USB_SERIAL_AIRCABLE is not set | ||
1415 | # CONFIG_USB_SERIAL_ARK3116 is not set | ||
1416 | # CONFIG_USB_SERIAL_BELKIN is not set | ||
1417 | # CONFIG_USB_SERIAL_CH341 is not set | ||
1418 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | ||
1419 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | ||
1420 | # CONFIG_USB_SERIAL_CP210X is not set | ||
1421 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | ||
1422 | # CONFIG_USB_SERIAL_EMPEG is not set | ||
1423 | # CONFIG_USB_SERIAL_FTDI_SIO is not set | ||
1424 | # CONFIG_USB_SERIAL_FUNSOFT is not set | ||
1425 | # CONFIG_USB_SERIAL_VISOR is not set | ||
1426 | # CONFIG_USB_SERIAL_IPAQ is not set | ||
1427 | # CONFIG_USB_SERIAL_IR is not set | ||
1428 | # CONFIG_USB_SERIAL_EDGEPORT is not set | ||
1429 | # CONFIG_USB_SERIAL_EDGEPORT_TI is not set | ||
1430 | # CONFIG_USB_SERIAL_GARMIN is not set | ||
1431 | # CONFIG_USB_SERIAL_IPW is not set | ||
1432 | # CONFIG_USB_SERIAL_IUU is not set | ||
1433 | # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set | ||
1434 | # CONFIG_USB_SERIAL_KEYSPAN is not set | ||
1435 | # CONFIG_USB_SERIAL_KLSI is not set | ||
1436 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | ||
1437 | CONFIG_USB_SERIAL_MCT_U232=m | ||
1438 | # CONFIG_USB_SERIAL_MOS7720 is not set | ||
1439 | # CONFIG_USB_SERIAL_MOS7840 is not set | ||
1440 | # CONFIG_USB_SERIAL_MOTOROLA is not set | ||
1441 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
1442 | # CONFIG_USB_SERIAL_PL2303 is not set | ||
1443 | # CONFIG_USB_SERIAL_OTI6858 is not set | ||
1444 | # CONFIG_USB_SERIAL_QUALCOMM is not set | ||
1445 | # CONFIG_USB_SERIAL_SPCP8X5 is not set | ||
1446 | # CONFIG_USB_SERIAL_HP4X is not set | ||
1447 | # CONFIG_USB_SERIAL_SAFE is not set | ||
1448 | # CONFIG_USB_SERIAL_SIEMENS_MPI is not set | ||
1449 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | ||
1450 | # CONFIG_USB_SERIAL_SYMBOL is not set | ||
1451 | # CONFIG_USB_SERIAL_TI is not set | ||
1452 | # CONFIG_USB_SERIAL_CYBERJACK is not set | ||
1453 | # CONFIG_USB_SERIAL_XIRCOM is not set | ||
1454 | # CONFIG_USB_SERIAL_OPTION is not set | ||
1455 | # CONFIG_USB_SERIAL_OMNINET is not set | ||
1456 | # CONFIG_USB_SERIAL_OPTICON is not set | ||
1457 | # CONFIG_USB_SERIAL_DEBUG is not set | ||
1458 | |||
1459 | # | ||
1460 | # USB Miscellaneous drivers | ||
1461 | # | ||
1462 | # CONFIG_USB_EMI62 is not set | ||
1463 | # CONFIG_USB_EMI26 is not set | ||
1464 | # CONFIG_USB_ADUTUX is not set | ||
1465 | # CONFIG_USB_SEVSEG is not set | ||
1466 | # CONFIG_USB_RIO500 is not set | ||
1467 | # CONFIG_USB_LEGOTOWER is not set | ||
1468 | # CONFIG_USB_LCD is not set | ||
1469 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1470 | # CONFIG_USB_LED is not set | ||
1471 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
1472 | # CONFIG_USB_CYTHERM is not set | ||
1473 | # CONFIG_USB_IDMOUSE is not set | ||
1474 | # CONFIG_USB_FTDI_ELAN is not set | ||
1475 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1476 | # CONFIG_USB_LD is not set | ||
1477 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
1478 | # CONFIG_USB_IOWARRIOR is not set | ||
1479 | # CONFIG_USB_TEST is not set | ||
1480 | # CONFIG_USB_ISIGHTFW is not set | ||
1481 | # CONFIG_USB_VST is not set | ||
1482 | CONFIG_USB_GADGET=m | ||
1483 | # CONFIG_USB_GADGET_DEBUG is not set | ||
1484 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
1485 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
1486 | CONFIG_USB_GADGET_SELECTED=y | ||
1487 | # CONFIG_USB_GADGET_AT91 is not set | ||
1488 | # CONFIG_USB_GADGET_ATMEL_USBA is not set | ||
1489 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
1490 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
1491 | # CONFIG_USB_GADGET_OMAP is not set | ||
1492 | # CONFIG_USB_GADGET_PXA25X is not set | ||
1493 | # CONFIG_USB_GADGET_R8A66597 is not set | ||
1494 | CONFIG_USB_GADGET_PXA27X=y | ||
1495 | CONFIG_USB_PXA27X=m | ||
1496 | # CONFIG_USB_GADGET_S3C_HSOTG is not set | ||
1497 | # CONFIG_USB_GADGET_IMX is not set | ||
1498 | # CONFIG_USB_GADGET_S3C2410 is not set | ||
1499 | # CONFIG_USB_GADGET_M66592 is not set | ||
1500 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
1501 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
1502 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
1503 | # CONFIG_USB_GADGET_NET2280 is not set | ||
1504 | # CONFIG_USB_GADGET_GOKU is not set | ||
1505 | # CONFIG_USB_GADGET_LANGWELL is not set | ||
1506 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
1507 | # CONFIG_USB_GADGET_DUALSPEED is not set | ||
1508 | # CONFIG_USB_ZERO is not set | ||
1509 | # CONFIG_USB_AUDIO is not set | ||
1510 | CONFIG_USB_ETH=m | ||
1511 | CONFIG_USB_ETH_RNDIS=y | ||
1512 | # CONFIG_USB_ETH_EEM is not set | ||
1513 | CONFIG_USB_GADGETFS=m | ||
1514 | CONFIG_USB_FILE_STORAGE=m | ||
1515 | # CONFIG_USB_FILE_STORAGE_TEST is not set | ||
1516 | CONFIG_USB_G_SERIAL=m | ||
1517 | # CONFIG_USB_MIDI_GADGET is not set | ||
1518 | CONFIG_USB_G_PRINTER=m | ||
1519 | # CONFIG_USB_CDC_COMPOSITE is not set | ||
1520 | |||
1521 | # | ||
1522 | # OTG and related infrastructure | ||
1523 | # | ||
1524 | CONFIG_USB_OTG_UTILS=y | ||
1525 | # CONFIG_USB_GPIO_VBUS is not set | ||
1526 | # CONFIG_NOP_USB_XCEIV is not set | ||
1527 | CONFIG_MMC=y | ||
1528 | # CONFIG_MMC_DEBUG is not set | ||
1529 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
1530 | |||
1531 | # | ||
1532 | # MMC/SD/SDIO Card Drivers | ||
1533 | # | ||
1534 | CONFIG_MMC_BLOCK=y | ||
1535 | # CONFIG_MMC_BLOCK_BOUNCE is not set | ||
1536 | # CONFIG_SDIO_UART is not set | ||
1537 | # CONFIG_MMC_TEST is not set | ||
1538 | |||
1539 | # | ||
1540 | # MMC/SD/SDIO Host Controller Drivers | ||
1541 | # | ||
1542 | CONFIG_MMC_PXA=y | ||
1543 | # CONFIG_MMC_SDHCI is not set | ||
1544 | # CONFIG_MMC_AT91 is not set | ||
1545 | # CONFIG_MMC_ATMELMCI is not set | ||
1546 | # CONFIG_MMC_SPI is not set | ||
1547 | # CONFIG_MEMSTICK is not set | ||
1548 | CONFIG_NEW_LEDS=y | ||
1549 | CONFIG_LEDS_CLASS=m | ||
1550 | |||
1551 | # | ||
1552 | # LED drivers | ||
1553 | # | ||
1554 | # CONFIG_LEDS_PCA9532 is not set | ||
1555 | CONFIG_LEDS_GPIO=m | ||
1556 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
1557 | # CONFIG_LEDS_LP3944 is not set | ||
1558 | # CONFIG_LEDS_PCA955X is not set | ||
1559 | # CONFIG_LEDS_DAC124S085 is not set | ||
1560 | # CONFIG_LEDS_BD2802 is not set | ||
1561 | |||
1562 | # | ||
1563 | # LED Triggers | ||
1564 | # | ||
1565 | CONFIG_LEDS_TRIGGERS=y | ||
1566 | CONFIG_LEDS_TRIGGER_TIMER=m | ||
1567 | CONFIG_LEDS_TRIGGER_HEARTBEAT=m | ||
1568 | CONFIG_LEDS_TRIGGER_BACKLIGHT=m | ||
1569 | CONFIG_LEDS_TRIGGER_GPIO=m | ||
1570 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=m | ||
1571 | |||
1572 | # | ||
1573 | # iptables trigger is under Netfilter config (LED target) | ||
1574 | # | ||
1575 | # CONFIG_ACCESSIBILITY is not set | ||
1576 | CONFIG_RTC_LIB=y | ||
1577 | CONFIG_RTC_CLASS=m | ||
1578 | |||
1579 | # | ||
1580 | # RTC interfaces | ||
1581 | # | ||
1582 | CONFIG_RTC_INTF_SYSFS=y | ||
1583 | CONFIG_RTC_INTF_PROC=y | ||
1584 | CONFIG_RTC_INTF_DEV=y | ||
1585 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1586 | # CONFIG_RTC_DRV_TEST is not set | ||
1587 | |||
1588 | # | ||
1589 | # I2C RTC drivers | ||
1590 | # | ||
1591 | # CONFIG_RTC_DRV_DS1307 is not set | ||
1592 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1593 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1594 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1595 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1596 | CONFIG_RTC_DRV_ISL1208=m | ||
1597 | # CONFIG_RTC_DRV_X1205 is not set | ||
1598 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1599 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1600 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1601 | # CONFIG_RTC_DRV_S35390A is not set | ||
1602 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1603 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1604 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1605 | |||
1606 | # | ||
1607 | # SPI RTC drivers | ||
1608 | # | ||
1609 | # CONFIG_RTC_DRV_M41T94 is not set | ||
1610 | # CONFIG_RTC_DRV_DS1305 is not set | ||
1611 | # CONFIG_RTC_DRV_DS1390 is not set | ||
1612 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
1613 | # CONFIG_RTC_DRV_R9701 is not set | ||
1614 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
1615 | # CONFIG_RTC_DRV_DS3234 is not set | ||
1616 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
1617 | |||
1618 | # | ||
1619 | # Platform RTC drivers | ||
1620 | # | ||
1621 | # CONFIG_RTC_DRV_CMOS is not set | ||
1622 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1623 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1624 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1625 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1626 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1627 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1628 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1629 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1630 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1631 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1632 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1633 | # CONFIG_RTC_DRV_V3020 is not set | ||
1634 | |||
1635 | # | ||
1636 | # on-CPU RTC drivers | ||
1637 | # | ||
1638 | # CONFIG_RTC_DRV_SA1100 is not set | ||
1639 | CONFIG_RTC_DRV_PXA=m | ||
1640 | # CONFIG_DMADEVICES is not set | ||
1641 | # CONFIG_AUXDISPLAY is not set | ||
1642 | # CONFIG_UIO is not set | ||
1643 | |||
1644 | # | ||
1645 | # TI VLYNQ | ||
1646 | # | ||
1647 | # CONFIG_STAGING is not set | ||
1648 | |||
1649 | # | ||
1650 | # File systems | ||
1651 | # | ||
1652 | CONFIG_EXT2_FS=y | ||
1653 | # CONFIG_EXT2_FS_XATTR is not set | ||
1654 | # CONFIG_EXT2_FS_XIP is not set | ||
1655 | CONFIG_EXT3_FS=y | ||
1656 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1657 | # CONFIG_EXT3_FS_XATTR is not set | ||
1658 | # CONFIG_EXT4_FS is not set | ||
1659 | CONFIG_JBD=y | ||
1660 | # CONFIG_REISERFS_FS is not set | ||
1661 | # CONFIG_JFS_FS is not set | ||
1662 | # CONFIG_FS_POSIX_ACL is not set | ||
1663 | # CONFIG_XFS_FS is not set | ||
1664 | # CONFIG_GFS2_FS is not set | ||
1665 | # CONFIG_OCFS2_FS is not set | ||
1666 | # CONFIG_BTRFS_FS is not set | ||
1667 | # CONFIG_NILFS2_FS is not set | ||
1668 | CONFIG_FILE_LOCKING=y | ||
1669 | CONFIG_FSNOTIFY=y | ||
1670 | # CONFIG_DNOTIFY is not set | ||
1671 | CONFIG_INOTIFY=y | ||
1672 | CONFIG_INOTIFY_USER=y | ||
1673 | # CONFIG_QUOTA is not set | ||
1674 | # CONFIG_AUTOFS_FS is not set | ||
1675 | # CONFIG_AUTOFS4_FS is not set | ||
1676 | # CONFIG_FUSE_FS is not set | ||
1677 | |||
1678 | # | ||
1679 | # Caches | ||
1680 | # | ||
1681 | # CONFIG_FSCACHE is not set | ||
1682 | |||
1683 | # | ||
1684 | # CD-ROM/DVD Filesystems | ||
1685 | # | ||
1686 | # CONFIG_ISO9660_FS is not set | ||
1687 | # CONFIG_UDF_FS is not set | ||
1688 | |||
1689 | # | ||
1690 | # DOS/FAT/NT Filesystems | ||
1691 | # | ||
1692 | CONFIG_FAT_FS=m | ||
1693 | # CONFIG_MSDOS_FS is not set | ||
1694 | CONFIG_VFAT_FS=m | ||
1695 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1696 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1697 | # CONFIG_NTFS_FS is not set | ||
1698 | |||
1699 | # | ||
1700 | # Pseudo filesystems | ||
1701 | # | ||
1702 | CONFIG_PROC_FS=y | ||
1703 | CONFIG_PROC_SYSCTL=y | ||
1704 | CONFIG_PROC_PAGE_MONITOR=y | ||
1705 | CONFIG_SYSFS=y | ||
1706 | CONFIG_TMPFS=y | ||
1707 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
1708 | # CONFIG_HUGETLB_PAGE is not set | ||
1709 | # CONFIG_CONFIGFS_FS is not set | ||
1710 | CONFIG_MISC_FILESYSTEMS=y | ||
1711 | # CONFIG_ADFS_FS is not set | ||
1712 | # CONFIG_AFFS_FS is not set | ||
1713 | # CONFIG_HFS_FS is not set | ||
1714 | # CONFIG_HFSPLUS_FS is not set | ||
1715 | # CONFIG_BEFS_FS is not set | ||
1716 | # CONFIG_BFS_FS is not set | ||
1717 | # CONFIG_EFS_FS is not set | ||
1718 | CONFIG_JFFS2_FS=y | ||
1719 | CONFIG_JFFS2_FS_DEBUG=0 | ||
1720 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
1721 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1722 | # CONFIG_JFFS2_SUMMARY is not set | ||
1723 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1724 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
1725 | CONFIG_JFFS2_ZLIB=y | ||
1726 | # CONFIG_JFFS2_LZO is not set | ||
1727 | CONFIG_JFFS2_RTIME=y | ||
1728 | # CONFIG_JFFS2_RUBIN is not set | ||
1729 | # CONFIG_CRAMFS is not set | ||
1730 | # CONFIG_SQUASHFS is not set | ||
1731 | # CONFIG_VXFS_FS is not set | ||
1732 | # CONFIG_MINIX_FS is not set | ||
1733 | # CONFIG_OMFS_FS is not set | ||
1734 | # CONFIG_HPFS_FS is not set | ||
1735 | # CONFIG_QNX4FS_FS is not set | ||
1736 | # CONFIG_ROMFS_FS is not set | ||
1737 | # CONFIG_SYSV_FS is not set | ||
1738 | # CONFIG_UFS_FS is not set | ||
1739 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1740 | CONFIG_NFS_FS=y | ||
1741 | CONFIG_NFS_V3=y | ||
1742 | # CONFIG_NFS_V3_ACL is not set | ||
1743 | # CONFIG_NFS_V4 is not set | ||
1744 | CONFIG_ROOT_NFS=y | ||
1745 | CONFIG_NFSD=m | ||
1746 | CONFIG_NFSD_V3=y | ||
1747 | # CONFIG_NFSD_V3_ACL is not set | ||
1748 | # CONFIG_NFSD_V4 is not set | ||
1749 | CONFIG_LOCKD=y | ||
1750 | CONFIG_LOCKD_V4=y | ||
1751 | CONFIG_EXPORTFS=m | ||
1752 | CONFIG_NFS_COMMON=y | ||
1753 | CONFIG_SUNRPC=y | ||
1754 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
1755 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1756 | # CONFIG_SMB_FS is not set | ||
1757 | # CONFIG_CIFS is not set | ||
1758 | # CONFIG_NCP_FS is not set | ||
1759 | # CONFIG_CODA_FS is not set | ||
1760 | # CONFIG_AFS_FS is not set | ||
1761 | |||
1762 | # | ||
1763 | # Partition Types | ||
1764 | # | ||
1765 | CONFIG_PARTITION_ADVANCED=y | ||
1766 | # CONFIG_ACORN_PARTITION is not set | ||
1767 | # CONFIG_OSF_PARTITION is not set | ||
1768 | # CONFIG_AMIGA_PARTITION is not set | ||
1769 | # CONFIG_ATARI_PARTITION is not set | ||
1770 | # CONFIG_MAC_PARTITION is not set | ||
1771 | CONFIG_MSDOS_PARTITION=y | ||
1772 | # CONFIG_BSD_DISKLABEL is not set | ||
1773 | # CONFIG_MINIX_SUBPARTITION is not set | ||
1774 | # CONFIG_SOLARIS_X86_PARTITION is not set | ||
1775 | # CONFIG_UNIXWARE_DISKLABEL is not set | ||
1776 | # CONFIG_LDM_PARTITION is not set | ||
1777 | # CONFIG_SGI_PARTITION is not set | ||
1778 | # CONFIG_ULTRIX_PARTITION is not set | ||
1779 | # CONFIG_SUN_PARTITION is not set | ||
1780 | # CONFIG_KARMA_PARTITION is not set | ||
1781 | # CONFIG_EFI_PARTITION is not set | ||
1782 | # CONFIG_SYSV68_PARTITION is not set | ||
1783 | CONFIG_NLS=m | ||
1784 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1785 | CONFIG_NLS_CODEPAGE_437=m | ||
1786 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1787 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1788 | CONFIG_NLS_CODEPAGE_850=m | ||
1789 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1790 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1791 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1792 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1793 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1794 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1795 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1796 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1797 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1798 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1799 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1800 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1801 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1802 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1803 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1804 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1805 | # CONFIG_NLS_ISO8859_8 is not set | ||
1806 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1807 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1808 | # CONFIG_NLS_ASCII is not set | ||
1809 | CONFIG_NLS_ISO8859_1=m | ||
1810 | # CONFIG_NLS_ISO8859_2 is not set | ||
1811 | # CONFIG_NLS_ISO8859_3 is not set | ||
1812 | # CONFIG_NLS_ISO8859_4 is not set | ||
1813 | # CONFIG_NLS_ISO8859_5 is not set | ||
1814 | # CONFIG_NLS_ISO8859_6 is not set | ||
1815 | # CONFIG_NLS_ISO8859_7 is not set | ||
1816 | # CONFIG_NLS_ISO8859_9 is not set | ||
1817 | # CONFIG_NLS_ISO8859_13 is not set | ||
1818 | # CONFIG_NLS_ISO8859_14 is not set | ||
1819 | CONFIG_NLS_ISO8859_15=m | ||
1820 | # CONFIG_NLS_KOI8_R is not set | ||
1821 | # CONFIG_NLS_KOI8_U is not set | ||
1822 | CONFIG_NLS_UTF8=m | ||
1823 | # CONFIG_DLM is not set | ||
1824 | |||
1825 | # | ||
1826 | # Kernel hacking | ||
1827 | # | ||
1828 | # CONFIG_PRINTK_TIME is not set | ||
1829 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1830 | CONFIG_ENABLE_MUST_CHECK=y | ||
1831 | CONFIG_FRAME_WARN=1024 | ||
1832 | CONFIG_MAGIC_SYSRQ=y | ||
1833 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1834 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1835 | # CONFIG_DEBUG_FS is not set | ||
1836 | # CONFIG_HEADERS_CHECK is not set | ||
1837 | CONFIG_DEBUG_KERNEL=y | ||
1838 | # CONFIG_DEBUG_SHIRQ is not set | ||
1839 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1840 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1841 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1842 | CONFIG_DETECT_HUNG_TASK=y | ||
1843 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1844 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1845 | CONFIG_SCHED_DEBUG=y | ||
1846 | # CONFIG_SCHEDSTATS is not set | ||
1847 | # CONFIG_TIMER_STATS is not set | ||
1848 | # CONFIG_DEBUG_OBJECTS is not set | ||
1849 | # CONFIG_SLUB_DEBUG_ON is not set | ||
1850 | # CONFIG_SLUB_STATS is not set | ||
1851 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
1852 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1853 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1854 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1855 | CONFIG_DEBUG_MUTEXES=y | ||
1856 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1857 | # CONFIG_PROVE_LOCKING is not set | ||
1858 | # CONFIG_LOCK_STAT is not set | ||
1859 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1860 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1861 | # CONFIG_DEBUG_KOBJECT is not set | ||
1862 | CONFIG_DEBUG_BUGVERBOSE=y | ||
1863 | # CONFIG_DEBUG_INFO is not set | ||
1864 | # CONFIG_DEBUG_VM is not set | ||
1865 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1866 | CONFIG_DEBUG_MEMORY_INIT=y | ||
1867 | # CONFIG_DEBUG_LIST is not set | ||
1868 | # CONFIG_DEBUG_SG is not set | ||
1869 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1870 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1871 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1872 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1873 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1874 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1875 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1876 | # CONFIG_FAULT_INJECTION is not set | ||
1877 | # CONFIG_LATENCYTOP is not set | ||
1878 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
1879 | # CONFIG_PAGE_POISONING is not set | ||
1880 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
1881 | CONFIG_TRACING_SUPPORT=y | ||
1882 | CONFIG_FTRACE=y | ||
1883 | # CONFIG_FUNCTION_TRACER is not set | ||
1884 | # CONFIG_IRQSOFF_TRACER is not set | ||
1885 | # CONFIG_SCHED_TRACER is not set | ||
1886 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1887 | # CONFIG_BOOT_TRACER is not set | ||
1888 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1889 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1890 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1891 | # CONFIG_STACK_TRACER is not set | ||
1892 | # CONFIG_KMEMTRACE is not set | ||
1893 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1894 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1895 | # CONFIG_SAMPLES is not set | ||
1896 | CONFIG_HAVE_ARCH_KGDB=y | ||
1897 | # CONFIG_KGDB is not set | ||
1898 | CONFIG_ARM_UNWIND=y | ||
1899 | # CONFIG_DEBUG_USER is not set | ||
1900 | CONFIG_DEBUG_ERRORS=y | ||
1901 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1902 | # CONFIG_DEBUG_LL is not set | ||
1903 | # CONFIG_OC_ETM is not set | ||
1904 | |||
1905 | # | ||
1906 | # Security options | ||
1907 | # | ||
1908 | # CONFIG_KEYS is not set | ||
1909 | # CONFIG_SECURITY is not set | ||
1910 | # CONFIG_SECURITYFS is not set | ||
1911 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set | ||
1912 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1913 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1914 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1915 | CONFIG_DEFAULT_SECURITY="" | ||
1916 | CONFIG_CRYPTO=y | ||
1917 | |||
1918 | # | ||
1919 | # Crypto core or helper | ||
1920 | # | ||
1921 | CONFIG_CRYPTO_ALGAPI=m | ||
1922 | CONFIG_CRYPTO_ALGAPI2=m | ||
1923 | CONFIG_CRYPTO_AEAD2=m | ||
1924 | CONFIG_CRYPTO_BLKCIPHER=m | ||
1925 | CONFIG_CRYPTO_BLKCIPHER2=m | ||
1926 | CONFIG_CRYPTO_HASH=m | ||
1927 | CONFIG_CRYPTO_HASH2=m | ||
1928 | CONFIG_CRYPTO_RNG2=m | ||
1929 | CONFIG_CRYPTO_PCOMP=m | ||
1930 | CONFIG_CRYPTO_MANAGER=m | ||
1931 | CONFIG_CRYPTO_MANAGER2=m | ||
1932 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1933 | # CONFIG_CRYPTO_NULL is not set | ||
1934 | CONFIG_CRYPTO_WORKQUEUE=m | ||
1935 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1936 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1937 | # CONFIG_CRYPTO_TEST is not set | ||
1938 | |||
1939 | # | ||
1940 | # Authenticated Encryption with Associated Data | ||
1941 | # | ||
1942 | # CONFIG_CRYPTO_CCM is not set | ||
1943 | # CONFIG_CRYPTO_GCM is not set | ||
1944 | # CONFIG_CRYPTO_SEQIV is not set | ||
1945 | |||
1946 | # | ||
1947 | # Block modes | ||
1948 | # | ||
1949 | # CONFIG_CRYPTO_CBC is not set | ||
1950 | # CONFIG_CRYPTO_CTR is not set | ||
1951 | # CONFIG_CRYPTO_CTS is not set | ||
1952 | CONFIG_CRYPTO_ECB=m | ||
1953 | # CONFIG_CRYPTO_LRW is not set | ||
1954 | # CONFIG_CRYPTO_PCBC is not set | ||
1955 | # CONFIG_CRYPTO_XTS is not set | ||
1956 | |||
1957 | # | ||
1958 | # Hash modes | ||
1959 | # | ||
1960 | # CONFIG_CRYPTO_HMAC is not set | ||
1961 | # CONFIG_CRYPTO_XCBC is not set | ||
1962 | # CONFIG_CRYPTO_VMAC is not set | ||
1963 | |||
1964 | # | ||
1965 | # Digest | ||
1966 | # | ||
1967 | # CONFIG_CRYPTO_CRC32C is not set | ||
1968 | # CONFIG_CRYPTO_GHASH is not set | ||
1969 | # CONFIG_CRYPTO_MD4 is not set | ||
1970 | # CONFIG_CRYPTO_MD5 is not set | ||
1971 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1972 | # CONFIG_CRYPTO_RMD128 is not set | ||
1973 | # CONFIG_CRYPTO_RMD160 is not set | ||
1974 | # CONFIG_CRYPTO_RMD256 is not set | ||
1975 | # CONFIG_CRYPTO_RMD320 is not set | ||
1976 | # CONFIG_CRYPTO_SHA1 is not set | ||
1977 | # CONFIG_CRYPTO_SHA256 is not set | ||
1978 | # CONFIG_CRYPTO_SHA512 is not set | ||
1979 | # CONFIG_CRYPTO_TGR192 is not set | ||
1980 | # CONFIG_CRYPTO_WP512 is not set | ||
1981 | |||
1982 | # | ||
1983 | # Ciphers | ||
1984 | # | ||
1985 | CONFIG_CRYPTO_AES=m | ||
1986 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1987 | CONFIG_CRYPTO_ARC4=m | ||
1988 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1989 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1990 | # CONFIG_CRYPTO_CAST5 is not set | ||
1991 | # CONFIG_CRYPTO_CAST6 is not set | ||
1992 | # CONFIG_CRYPTO_DES is not set | ||
1993 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1994 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1995 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1996 | # CONFIG_CRYPTO_SEED is not set | ||
1997 | # CONFIG_CRYPTO_SERPENT is not set | ||
1998 | # CONFIG_CRYPTO_TEA is not set | ||
1999 | # CONFIG_CRYPTO_TWOFISH is not set | ||
2000 | |||
2001 | # | ||
2002 | # Compression | ||
2003 | # | ||
2004 | # CONFIG_CRYPTO_DEFLATE is not set | ||
2005 | # CONFIG_CRYPTO_ZLIB is not set | ||
2006 | # CONFIG_CRYPTO_LZO is not set | ||
2007 | |||
2008 | # | ||
2009 | # Random Number Generation | ||
2010 | # | ||
2011 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
2012 | CONFIG_CRYPTO_HW=y | ||
2013 | # CONFIG_BINARY_PRINTF is not set | ||
2014 | |||
2015 | # | ||
2016 | # Library routines | ||
2017 | # | ||
2018 | CONFIG_BITREVERSE=y | ||
2019 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
2020 | CONFIG_CRC_CCITT=m | ||
2021 | CONFIG_CRC16=m | ||
2022 | CONFIG_CRC_T10DIF=m | ||
2023 | CONFIG_CRC_ITU_T=m | ||
2024 | CONFIG_CRC32=y | ||
2025 | # CONFIG_CRC7 is not set | ||
2026 | # CONFIG_LIBCRC32C is not set | ||
2027 | CONFIG_ZLIB_INFLATE=y | ||
2028 | CONFIG_ZLIB_DEFLATE=y | ||
2029 | CONFIG_HAS_IOMEM=y | ||
2030 | CONFIG_HAS_IOPORT=y | ||
2031 | CONFIG_HAS_DMA=y | ||
2032 | CONFIG_NLATTR=y | ||
diff --git a/arch/arm/include/asm/mach/irq.h b/arch/arm/include/asm/mach/irq.h index acac5302e4ea..8920b2d6e3b8 100644 --- a/arch/arm/include/asm/mach/irq.h +++ b/arch/arm/include/asm/mach/irq.h | |||
@@ -26,9 +26,9 @@ extern int show_fiq_list(struct seq_file *, void *); | |||
26 | */ | 26 | */ |
27 | #define do_bad_IRQ(irq,desc) \ | 27 | #define do_bad_IRQ(irq,desc) \ |
28 | do { \ | 28 | do { \ |
29 | spin_lock(&desc->lock); \ | 29 | raw_spin_lock(&desc->lock); \ |
30 | handle_bad_irq(irq, desc); \ | 30 | handle_bad_irq(irq, desc); \ |
31 | spin_unlock(&desc->lock); \ | 31 | raw_spin_unlock(&desc->lock); \ |
32 | } while(0) | 32 | } while(0) |
33 | 33 | ||
34 | #endif | 34 | #endif |
diff --git a/arch/arm/include/asm/spinlock.h b/arch/arm/include/asm/spinlock.h index c13681ac1ede..c91c64cab922 100644 --- a/arch/arm/include/asm/spinlock.h +++ b/arch/arm/include/asm/spinlock.h | |||
@@ -17,13 +17,13 @@ | |||
17 | * Locked value: 1 | 17 | * Locked value: 1 |
18 | */ | 18 | */ |
19 | 19 | ||
20 | #define __raw_spin_is_locked(x) ((x)->lock != 0) | 20 | #define arch_spin_is_locked(x) ((x)->lock != 0) |
21 | #define __raw_spin_unlock_wait(lock) \ | 21 | #define arch_spin_unlock_wait(lock) \ |
22 | do { while (__raw_spin_is_locked(lock)) cpu_relax(); } while (0) | 22 | do { while (arch_spin_is_locked(lock)) cpu_relax(); } while (0) |
23 | 23 | ||
24 | #define __raw_spin_lock_flags(lock, flags) __raw_spin_lock(lock) | 24 | #define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock) |
25 | 25 | ||
26 | static inline void __raw_spin_lock(raw_spinlock_t *lock) | 26 | static inline void arch_spin_lock(arch_spinlock_t *lock) |
27 | { | 27 | { |
28 | unsigned long tmp; | 28 | unsigned long tmp; |
29 | 29 | ||
@@ -43,7 +43,7 @@ static inline void __raw_spin_lock(raw_spinlock_t *lock) | |||
43 | smp_mb(); | 43 | smp_mb(); |
44 | } | 44 | } |
45 | 45 | ||
46 | static inline int __raw_spin_trylock(raw_spinlock_t *lock) | 46 | static inline int arch_spin_trylock(arch_spinlock_t *lock) |
47 | { | 47 | { |
48 | unsigned long tmp; | 48 | unsigned long tmp; |
49 | 49 | ||
@@ -63,7 +63,7 @@ static inline int __raw_spin_trylock(raw_spinlock_t *lock) | |||
63 | } | 63 | } |
64 | } | 64 | } |
65 | 65 | ||
66 | static inline void __raw_spin_unlock(raw_spinlock_t *lock) | 66 | static inline void arch_spin_unlock(arch_spinlock_t *lock) |
67 | { | 67 | { |
68 | smp_mb(); | 68 | smp_mb(); |
69 | 69 | ||
@@ -86,7 +86,7 @@ static inline void __raw_spin_unlock(raw_spinlock_t *lock) | |||
86 | * just write zero since the lock is exclusively held. | 86 | * just write zero since the lock is exclusively held. |
87 | */ | 87 | */ |
88 | 88 | ||
89 | static inline void __raw_write_lock(raw_rwlock_t *rw) | 89 | static inline void arch_write_lock(arch_rwlock_t *rw) |
90 | { | 90 | { |
91 | unsigned long tmp; | 91 | unsigned long tmp; |
92 | 92 | ||
@@ -106,7 +106,7 @@ static inline void __raw_write_lock(raw_rwlock_t *rw) | |||
106 | smp_mb(); | 106 | smp_mb(); |
107 | } | 107 | } |
108 | 108 | ||
109 | static inline int __raw_write_trylock(raw_rwlock_t *rw) | 109 | static inline int arch_write_trylock(arch_rwlock_t *rw) |
110 | { | 110 | { |
111 | unsigned long tmp; | 111 | unsigned long tmp; |
112 | 112 | ||
@@ -126,7 +126,7 @@ static inline int __raw_write_trylock(raw_rwlock_t *rw) | |||
126 | } | 126 | } |
127 | } | 127 | } |
128 | 128 | ||
129 | static inline void __raw_write_unlock(raw_rwlock_t *rw) | 129 | static inline void arch_write_unlock(arch_rwlock_t *rw) |
130 | { | 130 | { |
131 | smp_mb(); | 131 | smp_mb(); |
132 | 132 | ||
@@ -142,7 +142,7 @@ static inline void __raw_write_unlock(raw_rwlock_t *rw) | |||
142 | } | 142 | } |
143 | 143 | ||
144 | /* write_can_lock - would write_trylock() succeed? */ | 144 | /* write_can_lock - would write_trylock() succeed? */ |
145 | #define __raw_write_can_lock(x) ((x)->lock == 0) | 145 | #define arch_write_can_lock(x) ((x)->lock == 0) |
146 | 146 | ||
147 | /* | 147 | /* |
148 | * Read locks are a bit more hairy: | 148 | * Read locks are a bit more hairy: |
@@ -156,7 +156,7 @@ static inline void __raw_write_unlock(raw_rwlock_t *rw) | |||
156 | * currently active. However, we know we won't have any write | 156 | * currently active. However, we know we won't have any write |
157 | * locks. | 157 | * locks. |
158 | */ | 158 | */ |
159 | static inline void __raw_read_lock(raw_rwlock_t *rw) | 159 | static inline void arch_read_lock(arch_rwlock_t *rw) |
160 | { | 160 | { |
161 | unsigned long tmp, tmp2; | 161 | unsigned long tmp, tmp2; |
162 | 162 | ||
@@ -176,7 +176,7 @@ static inline void __raw_read_lock(raw_rwlock_t *rw) | |||
176 | smp_mb(); | 176 | smp_mb(); |
177 | } | 177 | } |
178 | 178 | ||
179 | static inline void __raw_read_unlock(raw_rwlock_t *rw) | 179 | static inline void arch_read_unlock(arch_rwlock_t *rw) |
180 | { | 180 | { |
181 | unsigned long tmp, tmp2; | 181 | unsigned long tmp, tmp2; |
182 | 182 | ||
@@ -198,7 +198,7 @@ static inline void __raw_read_unlock(raw_rwlock_t *rw) | |||
198 | : "cc"); | 198 | : "cc"); |
199 | } | 199 | } |
200 | 200 | ||
201 | static inline int __raw_read_trylock(raw_rwlock_t *rw) | 201 | static inline int arch_read_trylock(arch_rwlock_t *rw) |
202 | { | 202 | { |
203 | unsigned long tmp, tmp2 = 1; | 203 | unsigned long tmp, tmp2 = 1; |
204 | 204 | ||
@@ -215,13 +215,13 @@ static inline int __raw_read_trylock(raw_rwlock_t *rw) | |||
215 | } | 215 | } |
216 | 216 | ||
217 | /* read_can_lock - would read_trylock() succeed? */ | 217 | /* read_can_lock - would read_trylock() succeed? */ |
218 | #define __raw_read_can_lock(x) ((x)->lock < 0x80000000) | 218 | #define arch_read_can_lock(x) ((x)->lock < 0x80000000) |
219 | 219 | ||
220 | #define __raw_read_lock_flags(lock, flags) __raw_read_lock(lock) | 220 | #define arch_read_lock_flags(lock, flags) arch_read_lock(lock) |
221 | #define __raw_write_lock_flags(lock, flags) __raw_write_lock(lock) | 221 | #define arch_write_lock_flags(lock, flags) arch_write_lock(lock) |
222 | 222 | ||
223 | #define _raw_spin_relax(lock) cpu_relax() | 223 | #define arch_spin_relax(lock) cpu_relax() |
224 | #define _raw_read_relax(lock) cpu_relax() | 224 | #define arch_read_relax(lock) cpu_relax() |
225 | #define _raw_write_relax(lock) cpu_relax() | 225 | #define arch_write_relax(lock) cpu_relax() |
226 | 226 | ||
227 | #endif /* __ASM_SPINLOCK_H */ | 227 | #endif /* __ASM_SPINLOCK_H */ |
diff --git a/arch/arm/include/asm/spinlock_types.h b/arch/arm/include/asm/spinlock_types.h index 43e83f6d2ee5..d14d197ae04a 100644 --- a/arch/arm/include/asm/spinlock_types.h +++ b/arch/arm/include/asm/spinlock_types.h | |||
@@ -7,14 +7,14 @@ | |||
7 | 7 | ||
8 | typedef struct { | 8 | typedef struct { |
9 | volatile unsigned int lock; | 9 | volatile unsigned int lock; |
10 | } raw_spinlock_t; | 10 | } arch_spinlock_t; |
11 | 11 | ||
12 | #define __RAW_SPIN_LOCK_UNLOCKED { 0 } | 12 | #define __ARCH_SPIN_LOCK_UNLOCKED { 0 } |
13 | 13 | ||
14 | typedef struct { | 14 | typedef struct { |
15 | volatile unsigned int lock; | 15 | volatile unsigned int lock; |
16 | } raw_rwlock_t; | 16 | } arch_rwlock_t; |
17 | 17 | ||
18 | #define __RAW_RW_LOCK_UNLOCKED { 0 } | 18 | #define __ARCH_RW_LOCK_UNLOCKED { 0 } |
19 | 19 | ||
20 | #endif | 20 | #endif |
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index e7ccf7e697ce..dd00f747e2ad 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile | |||
@@ -54,5 +54,6 @@ endif | |||
54 | 54 | ||
55 | head-y := head$(MMUEXT).o | 55 | head-y := head$(MMUEXT).o |
56 | obj-$(CONFIG_DEBUG_LL) += debug.o | 56 | obj-$(CONFIG_DEBUG_LL) += debug.o |
57 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o | ||
57 | 58 | ||
58 | extra-y := $(head-y) init_task.o vmlinux.lds | 59 | extra-y := $(head-y) init_task.o vmlinux.lds |
diff --git a/arch/arm/kernel/early_printk.c b/arch/arm/kernel/early_printk.c new file mode 100644 index 000000000000..85aa2b292692 --- /dev/null +++ b/arch/arm/kernel/early_printk.c | |||
@@ -0,0 +1,57 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/kernel/early_printk.c | ||
3 | * | ||
4 | * Copyright (C) 2009 Sascha Hauer <s.hauer@pengutronix.de> | ||
5 | * | ||
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 | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/console.h> | ||
13 | #include <linux/init.h> | ||
14 | |||
15 | extern void printch(int); | ||
16 | |||
17 | static void early_write(const char *s, unsigned n) | ||
18 | { | ||
19 | while (n-- > 0) { | ||
20 | if (*s == '\n') | ||
21 | printch('\r'); | ||
22 | printch(*s); | ||
23 | s++; | ||
24 | } | ||
25 | } | ||
26 | |||
27 | static void early_console_write(struct console *con, const char *s, unsigned n) | ||
28 | { | ||
29 | early_write(s, n); | ||
30 | } | ||
31 | |||
32 | static struct console early_console = { | ||
33 | .name = "earlycon", | ||
34 | .write = early_console_write, | ||
35 | .flags = CON_PRINTBUFFER | CON_BOOT, | ||
36 | .index = -1, | ||
37 | }; | ||
38 | |||
39 | asmlinkage void early_printk(const char *fmt, ...) | ||
40 | { | ||
41 | char buf[512]; | ||
42 | int n; | ||
43 | va_list ap; | ||
44 | |||
45 | va_start(ap, fmt); | ||
46 | n = vscnprintf(buf, sizeof(buf), fmt, ap); | ||
47 | early_write(buf, n); | ||
48 | va_end(ap); | ||
49 | } | ||
50 | |||
51 | static int __init setup_early_printk(char *buf) | ||
52 | { | ||
53 | register_console(&early_console); | ||
54 | return 0; | ||
55 | } | ||
56 | |||
57 | early_param("earlyprintk", setup_early_printk); | ||
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index c9a8619f3856..b7cb45bb91e8 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c | |||
@@ -69,7 +69,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
69 | } | 69 | } |
70 | 70 | ||
71 | if (i < NR_IRQS) { | 71 | if (i < NR_IRQS) { |
72 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 72 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
73 | action = irq_desc[i].action; | 73 | action = irq_desc[i].action; |
74 | if (!action) | 74 | if (!action) |
75 | goto unlock; | 75 | goto unlock; |
@@ -84,7 +84,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
84 | 84 | ||
85 | seq_putc(p, '\n'); | 85 | seq_putc(p, '\n'); |
86 | unlock: | 86 | unlock: |
87 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 87 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
88 | } else if (i == NR_IRQS) { | 88 | } else if (i == NR_IRQS) { |
89 | #ifdef CONFIG_FIQ | 89 | #ifdef CONFIG_FIQ |
90 | show_fiq_list(p, v); | 90 | show_fiq_list(p, v); |
@@ -139,7 +139,7 @@ void set_irq_flags(unsigned int irq, unsigned int iflags) | |||
139 | } | 139 | } |
140 | 140 | ||
141 | desc = irq_desc + irq; | 141 | desc = irq_desc + irq; |
142 | spin_lock_irqsave(&desc->lock, flags); | 142 | raw_spin_lock_irqsave(&desc->lock, flags); |
143 | desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN; | 143 | desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN; |
144 | if (iflags & IRQF_VALID) | 144 | if (iflags & IRQF_VALID) |
145 | desc->status &= ~IRQ_NOREQUEST; | 145 | desc->status &= ~IRQ_NOREQUEST; |
@@ -147,7 +147,7 @@ void set_irq_flags(unsigned int irq, unsigned int iflags) | |||
147 | desc->status &= ~IRQ_NOPROBE; | 147 | desc->status &= ~IRQ_NOPROBE; |
148 | if (!(iflags & IRQF_NOAUTOEN)) | 148 | if (!(iflags & IRQF_NOAUTOEN)) |
149 | desc->status &= ~IRQ_NOAUTOEN; | 149 | desc->status &= ~IRQ_NOAUTOEN; |
150 | spin_unlock_irqrestore(&desc->lock, flags); | 150 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
151 | } | 151 | } |
152 | 152 | ||
153 | void __init init_IRQ(void) | 153 | void __init init_IRQ(void) |
@@ -166,9 +166,9 @@ static void route_irq(struct irq_desc *desc, unsigned int irq, unsigned int cpu) | |||
166 | { | 166 | { |
167 | pr_debug("IRQ%u: moving from cpu%u to cpu%u\n", irq, desc->node, cpu); | 167 | pr_debug("IRQ%u: moving from cpu%u to cpu%u\n", irq, desc->node, cpu); |
168 | 168 | ||
169 | spin_lock_irq(&desc->lock); | 169 | raw_spin_lock_irq(&desc->lock); |
170 | desc->chip->set_affinity(irq, cpumask_of(cpu)); | 170 | desc->chip->set_affinity(irq, cpumask_of(cpu)); |
171 | spin_unlock_irq(&desc->lock); | 171 | raw_spin_unlock_irq(&desc->lock); |
172 | } | 172 | } |
173 | 173 | ||
174 | /* | 174 | /* |
diff --git a/arch/arm/kernel/smp_twd.c b/arch/arm/kernel/smp_twd.c index a73a34dccf2a..ea02a7b1c244 100644 --- a/arch/arm/kernel/smp_twd.c +++ b/arch/arm/kernel/smp_twd.c | |||
@@ -160,6 +160,7 @@ void __cpuinit twd_timer_setup(struct clock_event_device *clk) | |||
160 | 160 | ||
161 | /* Make sure our local interrupt controller has this enabled */ | 161 | /* Make sure our local interrupt controller has this enabled */ |
162 | local_irq_save(flags); | 162 | local_irq_save(flags); |
163 | irq_to_desc(clk->irq)->status |= IRQ_NOPROBE; | ||
163 | get_irq_chip(clk->irq)->unmask(clk->irq); | 164 | get_irq_chip(clk->irq)->unmask(clk->irq); |
164 | local_irq_restore(flags); | 165 | local_irq_restore(flags); |
165 | 166 | ||
diff --git a/arch/arm/mach-at91/include/mach/atmel-mci.h b/arch/arm/mach-at91/include/mach/atmel-mci.h new file mode 100644 index 000000000000..998cb0c07135 --- /dev/null +++ b/arch/arm/mach-at91/include/mach/atmel-mci.h | |||
@@ -0,0 +1,24 @@ | |||
1 | #ifndef __MACH_ATMEL_MCI_H | ||
2 | #define __MACH_ATMEL_MCI_H | ||
3 | |||
4 | #include <mach/at_hdmac.h> | ||
5 | |||
6 | /** | ||
7 | * struct mci_dma_data - DMA data for MCI interface | ||
8 | */ | ||
9 | struct mci_dma_data { | ||
10 | struct at_dma_slave sdata; | ||
11 | }; | ||
12 | |||
13 | /* accessor macros */ | ||
14 | #define slave_data_ptr(s) (&(s)->sdata) | ||
15 | #define find_slave_dev(s) ((s)->sdata.dma_dev) | ||
16 | |||
17 | #define setup_dma_addr(s, t, r) do { \ | ||
18 | if (s) { \ | ||
19 | (s)->sdata.tx_reg = (t); \ | ||
20 | (s)->sdata.rx_reg = (r); \ | ||
21 | } \ | ||
22 | } while (0) | ||
23 | |||
24 | #endif /* __MACH_ATMEL_MCI_H */ | ||
diff --git a/arch/arm/mach-clps711x/include/mach/memory.h b/arch/arm/mach-clps711x/include/mach/memory.h index e522b20bcbc2..f70d52be48a2 100644 --- a/arch/arm/mach-clps711x/include/mach/memory.h +++ b/arch/arm/mach-clps711x/include/mach/memory.h | |||
@@ -30,6 +30,8 @@ | |||
30 | 30 | ||
31 | #define __virt_to_bus(x) ((x) - PAGE_OFFSET) | 31 | #define __virt_to_bus(x) ((x) - PAGE_OFFSET) |
32 | #define __bus_to_virt(x) ((x) + PAGE_OFFSET) | 32 | #define __bus_to_virt(x) ((x) + PAGE_OFFSET) |
33 | #define __pfn_to_bus(x) (__pfn_to_phys(x) - PHYS_OFFSET) | ||
34 | #define __bus_to_pfn(x) __phys_to_pfn((x) + PHYS_OFFSET) | ||
33 | 35 | ||
34 | #endif | 36 | #endif |
35 | 37 | ||
diff --git a/arch/arm/mach-footbridge/common.c b/arch/arm/mach-footbridge/common.c index b97f529e58e8..41febc796b1c 100644 --- a/arch/arm/mach-footbridge/common.c +++ b/arch/arm/mach-footbridge/common.c | |||
@@ -201,6 +201,11 @@ void __init footbridge_map_io(void) | |||
201 | 201 | ||
202 | #ifdef CONFIG_FOOTBRIDGE_ADDIN | 202 | #ifdef CONFIG_FOOTBRIDGE_ADDIN |
203 | 203 | ||
204 | static inline unsigned long fb_bus_sdram_offset(void) | ||
205 | { | ||
206 | return *CSR_PCISDRAMBASE & 0xfffffff0; | ||
207 | } | ||
208 | |||
204 | /* | 209 | /* |
205 | * These two functions convert virtual addresses to PCI addresses and PCI | 210 | * These two functions convert virtual addresses to PCI addresses and PCI |
206 | * addresses to virtual addresses. Note that it is only legal to use these | 211 | * addresses to virtual addresses. Note that it is only legal to use these |
@@ -210,14 +215,13 @@ unsigned long __virt_to_bus(unsigned long res) | |||
210 | { | 215 | { |
211 | WARN_ON(res < PAGE_OFFSET || res >= (unsigned long)high_memory); | 216 | WARN_ON(res < PAGE_OFFSET || res >= (unsigned long)high_memory); |
212 | 217 | ||
213 | return (res - PAGE_OFFSET) + (*CSR_PCISDRAMBASE & 0xfffffff0); | 218 | return res + (fb_bus_sdram_offset() - PAGE_OFFSET); |
214 | } | 219 | } |
215 | EXPORT_SYMBOL(__virt_to_bus); | 220 | EXPORT_SYMBOL(__virt_to_bus); |
216 | 221 | ||
217 | unsigned long __bus_to_virt(unsigned long res) | 222 | unsigned long __bus_to_virt(unsigned long res) |
218 | { | 223 | { |
219 | res -= (*CSR_PCISDRAMBASE & 0xfffffff0); | 224 | res = res - (fb_bus_sdram_offset() - PAGE_OFFSET); |
220 | res += PAGE_OFFSET; | ||
221 | 225 | ||
222 | WARN_ON(res < PAGE_OFFSET || res >= (unsigned long)high_memory); | 226 | WARN_ON(res < PAGE_OFFSET || res >= (unsigned long)high_memory); |
223 | 227 | ||
@@ -225,4 +229,16 @@ unsigned long __bus_to_virt(unsigned long res) | |||
225 | } | 229 | } |
226 | EXPORT_SYMBOL(__bus_to_virt); | 230 | EXPORT_SYMBOL(__bus_to_virt); |
227 | 231 | ||
232 | unsigned long __pfn_to_bus(unsigned long pfn) | ||
233 | { | ||
234 | return __pfn_to_phys(pfn) + (fb_bus_sdram_offset() - PHYS_OFFSET)); | ||
235 | } | ||
236 | EXPORT_SYMBOL(__pfn_to_bus); | ||
237 | |||
238 | unsigned long __bus_to_pfn(unsigned long bus) | ||
239 | { | ||
240 | return __phys_to_pfn(bus - (fb_bus_sdram_offset() - PHYS_OFFSET)); | ||
241 | } | ||
242 | EXPORT_SYMBOL(__bus_to_pfn); | ||
243 | |||
228 | #endif | 244 | #endif |
diff --git a/arch/arm/mach-footbridge/include/mach/memory.h b/arch/arm/mach-footbridge/include/mach/memory.h index cb16e59d87b6..8d64f4574087 100644 --- a/arch/arm/mach-footbridge/include/mach/memory.h +++ b/arch/arm/mach-footbridge/include/mach/memory.h | |||
@@ -29,6 +29,8 @@ | |||
29 | #ifndef __ASSEMBLY__ | 29 | #ifndef __ASSEMBLY__ |
30 | extern unsigned long __virt_to_bus(unsigned long); | 30 | extern unsigned long __virt_to_bus(unsigned long); |
31 | extern unsigned long __bus_to_virt(unsigned long); | 31 | extern unsigned long __bus_to_virt(unsigned long); |
32 | extern unsigned long __pfn_to_bus(unsigned long); | ||
33 | extern unsigned long __bus_to_pfn(unsigned long); | ||
32 | #endif | 34 | #endif |
33 | #define __virt_to_bus __virt_to_bus | 35 | #define __virt_to_bus __virt_to_bus |
34 | #define __bus_to_virt __bus_to_virt | 36 | #define __bus_to_virt __bus_to_virt |
@@ -36,14 +38,15 @@ extern unsigned long __bus_to_virt(unsigned long); | |||
36 | #elif defined(CONFIG_FOOTBRIDGE_HOST) | 38 | #elif defined(CONFIG_FOOTBRIDGE_HOST) |
37 | 39 | ||
38 | /* | 40 | /* |
39 | * The footbridge is programmed to expose the system RAM at the corresponding | 41 | * The footbridge is programmed to expose the system RAM at 0xe0000000. |
40 | * address. So, if PAGE_OFFSET is 0xc0000000, RAM appears at 0xe0000000. | 42 | * The requirement is that the RAM isn't placed at bus address 0, which |
41 | * If 0x80000000, then its exposed at 0xa0000000 on the bus. etc. | ||
42 | * The only requirement is that the RAM isn't placed at bus address 0 which | ||
43 | * would clash with VGA cards. | 43 | * would clash with VGA cards. |
44 | */ | 44 | */ |
45 | #define __virt_to_bus(x) ((x) - 0xe0000000) | 45 | #define BUS_OFFSET 0xe0000000 |
46 | #define __bus_to_virt(x) ((x) + 0xe0000000) | 46 | #define __virt_to_bus(x) ((x) + (BUS_OFFSET - PAGE_OFFSET)) |
47 | #define __bus_to_virt(x) ((x) - (BUS_OFFSET - PAGE_OFFSET)) | ||
48 | #define __pfn_to_bus(x) (__pfn_to_phys(x) + (BUS_OFFSET - PHYS_OFFSET)) | ||
49 | #define __bus_to_pfn(x) __phys_to_pfn((x) - (BUS_OFFSET - PHYS_OFFSET)) | ||
47 | 50 | ||
48 | #else | 51 | #else |
49 | 52 | ||
diff --git a/arch/arm/mach-integrator/include/mach/memory.h b/arch/arm/mach-integrator/include/mach/memory.h index 4891828454f5..991f24d2c115 100644 --- a/arch/arm/mach-integrator/include/mach/memory.h +++ b/arch/arm/mach-integrator/include/mach/memory.h | |||
@@ -28,6 +28,7 @@ | |||
28 | #define BUS_OFFSET UL(0x80000000) | 28 | #define BUS_OFFSET UL(0x80000000) |
29 | #define __virt_to_bus(x) ((x) - PAGE_OFFSET + BUS_OFFSET) | 29 | #define __virt_to_bus(x) ((x) - PAGE_OFFSET + BUS_OFFSET) |
30 | #define __bus_to_virt(x) ((x) - BUS_OFFSET + PAGE_OFFSET) | 30 | #define __bus_to_virt(x) ((x) - BUS_OFFSET + PAGE_OFFSET) |
31 | #define __pfn_to_bus(x) (((x) << PAGE_SHIFT) + BUS_OFFSET) | 31 | #define __pfn_to_bus(x) (__pfn_to_phys(x) + (BUS_OFFSET - PHYS_OFFSET)) |
32 | #define __bus_to_pfn(x) __phys_to_pfn((x) - (BUS_OFFSET - PHYS_OFFSET)) | ||
32 | 33 | ||
33 | #endif | 34 | #endif |
diff --git a/arch/arm/mach-ixp2000/include/mach/memory.h b/arch/arm/mach-ixp2000/include/mach/memory.h index aee7eb8a71b2..98e3471be15b 100644 --- a/arch/arm/mach-ixp2000/include/mach/memory.h +++ b/arch/arm/mach-ixp2000/include/mach/memory.h | |||
@@ -17,11 +17,15 @@ | |||
17 | 17 | ||
18 | #include <mach/ixp2000-regs.h> | 18 | #include <mach/ixp2000-regs.h> |
19 | 19 | ||
20 | #define __virt_to_bus(v) \ | 20 | #define IXP2000_PCI_SDRAM_OFFSET (*IXP2000_PCI_SDRAM_BAR & 0xfffffff0) |
21 | (((__virt_to_phys(v) - 0x0) + (*IXP2000_PCI_SDRAM_BAR & 0xfffffff0))) | ||
22 | 21 | ||
23 | #define __bus_to_virt(b) \ | 22 | #define __phys_to_bus(x) ((x) + (IXP2000_PCI_SDRAM_OFFSET - PHYS_OFFSET)) |
24 | __phys_to_virt((((b - (*IXP2000_PCI_SDRAM_BAR & 0xfffffff0)) + 0x0))) | 23 | #define __bus_to_phys(x) ((x) - (IXP2000_PCI_SDRAM_OFFSET - PHYS_OFFSET)) |
24 | |||
25 | #define __virt_to_bus(v) __phys_to_bus(__virt_to_phys(v)) | ||
26 | #define __bus_to_virt(b) __phys_to_virt(__bus_to_phys(b)) | ||
27 | #define __pfn_to_bus(p) __phys_to_bus(__pfn_to_phys(p)) | ||
28 | #define __bus_to_pfn(b) __phys_to_pfn(__bus_to_phys(b)) | ||
25 | 29 | ||
26 | #endif | 30 | #endif |
27 | 31 | ||
diff --git a/arch/arm/mach-ixp23xx/include/mach/memory.h b/arch/arm/mach-ixp23xx/include/mach/memory.h index fdd138706c70..94a3a86cfeb8 100644 --- a/arch/arm/mach-ixp23xx/include/mach/memory.h +++ b/arch/arm/mach-ixp23xx/include/mach/memory.h | |||
@@ -19,16 +19,15 @@ | |||
19 | */ | 19 | */ |
20 | #define PHYS_OFFSET (0x00000000) | 20 | #define PHYS_OFFSET (0x00000000) |
21 | 21 | ||
22 | #define __virt_to_bus(v) \ | 22 | #define IXP23XX_PCI_SDRAM_OFFSET (*((volatile int *)IXP23XX_PCI_SDRAM_BAR) & 0xfffffff0)) |
23 | ({ unsigned int ret; \ | 23 | |
24 | ret = ((__virt_to_phys(v) - 0x00000000) + \ | 24 | #define __phys_to_bus(x) ((x) + (IXP23XX_PCI_SDRAM_OFFSET - PHYS_OFFSET)) |
25 | (*((volatile int *)IXP23XX_PCI_SDRAM_BAR) & 0xfffffff0)); \ | 25 | #define __bus_to_phys(x) ((x) - (IXP23XX_PCI_SDRAM_OFFSET - PHYS_OFFSET)) |
26 | ret; }) | 26 | |
27 | 27 | #define __virt_to_bus(v) __phys_to_bus(__virt_to_phys(v)) | |
28 | #define __bus_to_virt(b) \ | 28 | #define __bus_to_virt(b) __phys_to_virt(__bus_to_phys(b)) |
29 | ({ unsigned int data; \ | 29 | #define __pfn_to_bus(p) __phys_to_bus(__pfn_to_phys(p)) |
30 | data = *((volatile int *)IXP23XX_PCI_SDRAM_BAR); \ | 30 | #define __bus_to_pfn(b) __phys_to_pfn(__bus_to_phys(b)) |
31 | __phys_to_virt((((b - (data & 0xfffffff0)) + 0x00000000))); }) | ||
32 | 31 | ||
33 | #define arch_is_coherent() 1 | 32 | #define arch_is_coherent() 1 |
34 | 33 | ||
diff --git a/arch/arm/mach-lh7a40x/clocks.c b/arch/arm/mach-lh7a40x/clocks.c index 6182f5410b4d..fcaf876f19b6 100644 --- a/arch/arm/mach-lh7a40x/clocks.c +++ b/arch/arm/mach-lh7a40x/clocks.c | |||
@@ -7,8 +7,6 @@ | |||
7 | * version 2 as published by the Free Software Foundation. | 7 | * version 2 as published by the Free Software Foundation. |
8 | * | 8 | * |
9 | */ | 9 | */ |
10 | |||
11 | #include <linux/cpufreq.h> | ||
12 | #include <mach/hardware.h> | 10 | #include <mach/hardware.h> |
13 | #include <mach/clocks.h> | 11 | #include <mach/clocks.h> |
14 | #include <linux/err.h> | 12 | #include <linux/err.h> |
@@ -31,12 +29,6 @@ struct clk { | |||
31 | #define HCLKDIV(c) (((c) >> 0) & 0x02) | 29 | #define HCLKDIV(c) (((c) >> 0) & 0x02) |
32 | #define PCLKDIV(c) (((c) >> 16) & 0x03) | 30 | #define PCLKDIV(c) (((c) >> 16) & 0x03) |
33 | 31 | ||
34 | unsigned int cpufreq_get (unsigned int cpu) /* in kHz */ | ||
35 | { | ||
36 | return fclkfreq_get ()/1000; | ||
37 | } | ||
38 | EXPORT_SYMBOL(cpufreq_get); | ||
39 | |||
40 | unsigned int fclkfreq_get (void) | 32 | unsigned int fclkfreq_get (void) |
41 | { | 33 | { |
42 | unsigned int clkset = CSC_CLKSET; | 34 | unsigned int clkset = CSC_CLKSET; |
diff --git a/arch/arm/mach-ns9xxx/irq.c b/arch/arm/mach-ns9xxx/irq.c index feb0e54a91de..038f24d47023 100644 --- a/arch/arm/mach-ns9xxx/irq.c +++ b/arch/arm/mach-ns9xxx/irq.c | |||
@@ -66,7 +66,7 @@ static void handle_prio_irq(unsigned int irq, struct irq_desc *desc) | |||
66 | struct irqaction *action; | 66 | struct irqaction *action; |
67 | irqreturn_t action_ret; | 67 | irqreturn_t action_ret; |
68 | 68 | ||
69 | spin_lock(&desc->lock); | 69 | raw_spin_lock(&desc->lock); |
70 | 70 | ||
71 | BUG_ON(desc->status & IRQ_INPROGRESS); | 71 | BUG_ON(desc->status & IRQ_INPROGRESS); |
72 | 72 | ||
@@ -78,7 +78,7 @@ static void handle_prio_irq(unsigned int irq, struct irq_desc *desc) | |||
78 | goto out_mask; | 78 | goto out_mask; |
79 | 79 | ||
80 | desc->status |= IRQ_INPROGRESS; | 80 | desc->status |= IRQ_INPROGRESS; |
81 | spin_unlock(&desc->lock); | 81 | raw_spin_unlock(&desc->lock); |
82 | 82 | ||
83 | action_ret = handle_IRQ_event(irq, action); | 83 | action_ret = handle_IRQ_event(irq, action); |
84 | 84 | ||
@@ -87,7 +87,7 @@ static void handle_prio_irq(unsigned int irq, struct irq_desc *desc) | |||
87 | * Maybe this function should go to kernel/irq/chip.c? */ | 87 | * Maybe this function should go to kernel/irq/chip.c? */ |
88 | note_interrupt(irq, desc, action_ret); | 88 | note_interrupt(irq, desc, action_ret); |
89 | 89 | ||
90 | spin_lock(&desc->lock); | 90 | raw_spin_lock(&desc->lock); |
91 | desc->status &= ~IRQ_INPROGRESS; | 91 | desc->status &= ~IRQ_INPROGRESS; |
92 | 92 | ||
93 | if (desc->status & IRQ_DISABLED) | 93 | if (desc->status & IRQ_DISABLED) |
@@ -97,7 +97,7 @@ out_mask: | |||
97 | /* ack unconditionally to unmask lower prio irqs */ | 97 | /* ack unconditionally to unmask lower prio irqs */ |
98 | desc->chip->ack(irq); | 98 | desc->chip->ack(irq); |
99 | 99 | ||
100 | spin_unlock(&desc->lock); | 100 | raw_spin_unlock(&desc->lock); |
101 | } | 101 | } |
102 | #define handle_irq handle_prio_irq | 102 | #define handle_irq handle_prio_irq |
103 | #endif | 103 | #endif |
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index db9374bc528b..e508904fb67e 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <linux/mtd/mtd.h> | 19 | #include <linux/mtd/mtd.h> |
20 | #include <linux/mtd/partitions.h> | 20 | #include <linux/mtd/partitions.h> |
21 | #include <linux/delay.h> | 21 | #include <linux/delay.h> |
22 | #include <linux/i2c/twl4030.h> | 22 | #include <linux/i2c/twl.h> |
23 | #include <linux/err.h> | 23 | #include <linux/err.h> |
24 | #include <linux/clk.h> | 24 | #include <linux/clk.h> |
25 | #include <linux/io.h> | 25 | #include <linux/io.h> |
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index 4cfb7b68dfad..c90b0d0b1927 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include <linux/input/matrix_keypad.h> | 20 | #include <linux/input/matrix_keypad.h> |
21 | #include <linux/spi/spi.h> | 21 | #include <linux/spi/spi.h> |
22 | #include <linux/spi/ads7846.h> | 22 | #include <linux/spi/ads7846.h> |
23 | #include <linux/i2c/twl4030.h> | 23 | #include <linux/i2c/twl.h> |
24 | #include <linux/regulator/machine.h> | 24 | #include <linux/regulator/machine.h> |
25 | #include <linux/io.h> | 25 | #include <linux/io.h> |
26 | #include <linux/gpio.h> | 26 | #include <linux/gpio.h> |
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index 37431738f1c2..995d4a2b2dfd 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <linux/spi/spi.h> | 24 | #include <linux/spi/spi.h> |
25 | #include <linux/spi/ads7846.h> | 25 | #include <linux/spi/ads7846.h> |
26 | #include <linux/regulator/machine.h> | 26 | #include <linux/regulator/machine.h> |
27 | #include <linux/i2c/twl4030.h> | 27 | #include <linux/i2c/twl.h> |
28 | #include <linux/io.h> | 28 | #include <linux/io.h> |
29 | #include <linux/smsc911x.h> | 29 | #include <linux/smsc911x.h> |
30 | 30 | ||
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 6ada8029f9a8..231cb4ec1847 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -29,7 +29,7 @@ | |||
29 | #include <linux/mtd/nand.h> | 29 | #include <linux/mtd/nand.h> |
30 | 30 | ||
31 | #include <linux/regulator/machine.h> | 31 | #include <linux/regulator/machine.h> |
32 | #include <linux/i2c/twl4030.h> | 32 | #include <linux/i2c/twl.h> |
33 | 33 | ||
34 | #include <mach/hardware.h> | 34 | #include <mach/hardware.h> |
35 | #include <asm/mach-types.h> | 35 | #include <asm/mach-types.h> |
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index 6f6c601eeab7..ef17cf1ab6d7 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <linux/spi/spi.h> | 24 | #include <linux/spi/spi.h> |
25 | #include <linux/spi/ads7846.h> | 25 | #include <linux/spi/ads7846.h> |
26 | #include <linux/regulator/machine.h> | 26 | #include <linux/regulator/machine.h> |
27 | #include <linux/i2c/twl4030.h> | 27 | #include <linux/i2c/twl.h> |
28 | #include <linux/leds.h> | 28 | #include <linux/leds.h> |
29 | #include <linux/input.h> | 29 | #include <linux/input.h> |
30 | #include <linux/input/matrix_keypad.h> | 30 | #include <linux/input/matrix_keypad.h> |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 5b78a87217e0..d192dd98a591 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -26,7 +26,7 @@ | |||
26 | #include <linux/io.h> | 26 | #include <linux/io.h> |
27 | #include <linux/kernel.h> | 27 | #include <linux/kernel.h> |
28 | #include <linux/platform_device.h> | 28 | #include <linux/platform_device.h> |
29 | #include <linux/i2c/twl4030.h> | 29 | #include <linux/i2c/twl.h> |
30 | #include <linux/regulator/machine.h> | 30 | #include <linux/regulator/machine.h> |
31 | 31 | ||
32 | #include <linux/mtd/mtd.h> | 32 | #include <linux/mtd/mtd.h> |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index bf26ad31f9ba..17f3c91231db 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -402,15 +402,9 @@ static struct twl4030_usb_data rx51_usb_data = { | |||
402 | 402 | ||
403 | static struct twl4030_ins sleep_on_seq[] __initdata = { | 403 | static struct twl4030_ins sleep_on_seq[] __initdata = { |
404 | /* | 404 | /* |
405 | * Turn off VDD1 and VDD2. | 405 | * Turn off everything |
406 | */ | 406 | */ |
407 | {MSG_SINGULAR(DEV_GRP_P1, 0xf, RES_STATE_OFF), 4}, | 407 | {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, 1, 0, RES_STATE_SLEEP), 2}, |
408 | {MSG_SINGULAR(DEV_GRP_P1, 0x10, RES_STATE_OFF), 2}, | ||
409 | /* | ||
410 | * And also turn off the OMAP3 PLLs and the sysclk output. | ||
411 | */ | ||
412 | {MSG_SINGULAR(DEV_GRP_P1, 0x7, RES_STATE_OFF), 3}, | ||
413 | {MSG_SINGULAR(DEV_GRP_P1, 0x17, RES_STATE_OFF), 3}, | ||
414 | }; | 408 | }; |
415 | 409 | ||
416 | static struct twl4030_script sleep_on_script __initdata = { | 410 | static struct twl4030_script sleep_on_script __initdata = { |
@@ -421,14 +415,9 @@ static struct twl4030_script sleep_on_script __initdata = { | |||
421 | 415 | ||
422 | static struct twl4030_ins wakeup_seq[] __initdata = { | 416 | static struct twl4030_ins wakeup_seq[] __initdata = { |
423 | /* | 417 | /* |
424 | * Reenable the OMAP3 PLLs. | 418 | * Reenable everything |
425 | * Wakeup VDD1 and VDD2. | ||
426 | * Reenable sysclk output. | ||
427 | */ | 419 | */ |
428 | {MSG_SINGULAR(DEV_GRP_P1, 0x7, RES_STATE_ACTIVE), 0x30}, | 420 | {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, 1, 0, RES_STATE_ACTIVE), 2}, |
429 | {MSG_SINGULAR(DEV_GRP_P1, 0xf, RES_STATE_ACTIVE), 0x30}, | ||
430 | {MSG_SINGULAR(DEV_GRP_P1, 0x10, RES_STATE_ACTIVE), 0x37}, | ||
431 | {MSG_SINGULAR(DEV_GRP_P1, 0x19, RES_STATE_ACTIVE), 3}, | ||
432 | }; | 421 | }; |
433 | 422 | ||
434 | static struct twl4030_script wakeup_script __initdata = { | 423 | static struct twl4030_script wakeup_script __initdata = { |
@@ -439,10 +428,9 @@ static struct twl4030_script wakeup_script __initdata = { | |||
439 | 428 | ||
440 | static struct twl4030_ins wakeup_p3_seq[] __initdata = { | 429 | static struct twl4030_ins wakeup_p3_seq[] __initdata = { |
441 | /* | 430 | /* |
442 | * Wakeup VDD1 (dummy to be able to insert a delay) | 431 | * Reenable everything |
443 | * Enable CLKEN | ||
444 | */ | 432 | */ |
445 | {MSG_SINGULAR(DEV_GRP_P1, 0x17, RES_STATE_ACTIVE), 3}, | 433 | {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, 1, 0, RES_STATE_ACTIVE), 2}, |
446 | }; | 434 | }; |
447 | 435 | ||
448 | static struct twl4030_script wakeup_p3_script __initdata = { | 436 | static struct twl4030_script wakeup_p3_script __initdata = { |
@@ -463,12 +451,11 @@ static struct twl4030_ins wrst_seq[] __initdata = { | |||
463 | {MSG_SINGULAR(DEV_GRP_NULL, RES_RESET, RES_STATE_OFF), 2}, | 451 | {MSG_SINGULAR(DEV_GRP_NULL, RES_RESET, RES_STATE_OFF), 2}, |
464 | {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, 0, 1, RES_STATE_ACTIVE), | 452 | {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, 0, 1, RES_STATE_ACTIVE), |
465 | 0x13}, | 453 | 0x13}, |
466 | {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_PP, 0, 2, RES_STATE_WRST), 0x13}, | ||
467 | {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_PP, 0, 3, RES_STATE_OFF), 0x13}, | 454 | {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_PP, 0, 3, RES_STATE_OFF), 0x13}, |
468 | {MSG_SINGULAR(DEV_GRP_NULL, RES_VDD1, RES_STATE_WRST), 0x13}, | 455 | {MSG_SINGULAR(DEV_GRP_NULL, RES_VDD1, RES_STATE_WRST), 0x13}, |
469 | {MSG_SINGULAR(DEV_GRP_NULL, RES_VDD2, RES_STATE_WRST), 0x13}, | 456 | {MSG_SINGULAR(DEV_GRP_NULL, RES_VDD2, RES_STATE_WRST), 0x13}, |
470 | {MSG_SINGULAR(DEV_GRP_NULL, RES_VPLL1, RES_STATE_WRST), 0x35}, | 457 | {MSG_SINGULAR(DEV_GRP_NULL, RES_VPLL1, RES_STATE_WRST), 0x35}, |
471 | {MSG_SINGULAR(DEV_GRP_P1, RES_HFCLKOUT, RES_STATE_ACTIVE), 2}, | 458 | {MSG_SINGULAR(DEV_GRP_P3, RES_HFCLKOUT, RES_STATE_ACTIVE), 2}, |
472 | {MSG_SINGULAR(DEV_GRP_NULL, RES_RESET, RES_STATE_ACTIVE), 2}, | 459 | {MSG_SINGULAR(DEV_GRP_NULL, RES_RESET, RES_STATE_ACTIVE), 2}, |
473 | }; | 460 | }; |
474 | 461 | ||
@@ -490,22 +477,81 @@ static struct twl4030_script *twl4030_scripts[] __initdata = { | |||
490 | }; | 477 | }; |
491 | 478 | ||
492 | static struct twl4030_resconfig twl4030_rconfig[] __initdata = { | 479 | static struct twl4030_resconfig twl4030_rconfig[] __initdata = { |
493 | { .resource = RES_VINTANA1, .devgroup = -1, .type = -1, .type2 = 1 }, | 480 | { .resource = RES_VDD1, .devgroup = -1, |
494 | { .resource = RES_VINTANA2, .devgroup = -1, .type = -1, .type2 = 1 }, | 481 | .type = 1, .type2 = -1, .remap_off = RES_STATE_OFF, |
495 | { .resource = RES_VINTDIG, .devgroup = -1, .type = -1, .type2 = 1 }, | 482 | .remap_sleep = RES_STATE_OFF |
496 | { .resource = RES_VMMC1, .devgroup = -1, .type = -1, .type2 = 3}, | 483 | }, |
497 | { .resource = RES_VMMC2, .devgroup = DEV_GRP_NULL, .type = -1, | 484 | { .resource = RES_VDD2, .devgroup = -1, |
498 | .type2 = 3}, | 485 | .type = 1, .type2 = -1, .remap_off = RES_STATE_OFF, |
499 | { .resource = RES_VAUX1, .devgroup = -1, .type = -1, .type2 = 3}, | 486 | .remap_sleep = RES_STATE_OFF |
500 | { .resource = RES_VAUX2, .devgroup = -1, .type = -1, .type2 = 3}, | 487 | }, |
501 | { .resource = RES_VAUX3, .devgroup = -1, .type = -1, .type2 = 3}, | 488 | { .resource = RES_VPLL1, .devgroup = -1, |
502 | { .resource = RES_VAUX4, .devgroup = -1, .type = -1, .type2 = 3}, | 489 | .type = 1, .type2 = -1, .remap_off = RES_STATE_OFF, |
503 | { .resource = RES_VPLL2, .devgroup = -1, .type = -1, .type2 = 3}, | 490 | .remap_sleep = RES_STATE_OFF |
504 | { .resource = RES_VDAC, .devgroup = -1, .type = -1, .type2 = 3}, | 491 | }, |
505 | { .resource = RES_VSIM, .devgroup = DEV_GRP_NULL, .type = -1, | 492 | { .resource = RES_VPLL2, .devgroup = -1, |
506 | .type2 = 3}, | 493 | .type = -1, .type2 = 3, .remap_off = -1, .remap_sleep = -1 |
507 | { .resource = RES_CLKEN, .devgroup = DEV_GRP_P3, .type = -1, | 494 | }, |
508 | .type2 = 1 }, | 495 | { .resource = RES_VAUX1, .devgroup = -1, |
496 | .type = -1, .type2 = 3, .remap_off = -1, .remap_sleep = -1 | ||
497 | }, | ||
498 | { .resource = RES_VAUX2, .devgroup = -1, | ||
499 | .type = -1, .type2 = 3, .remap_off = -1, .remap_sleep = -1 | ||
500 | }, | ||
501 | { .resource = RES_VAUX3, .devgroup = -1, | ||
502 | .type = -1, .type2 = 3, .remap_off = -1, .remap_sleep = -1 | ||
503 | }, | ||
504 | { .resource = RES_VAUX4, .devgroup = -1, | ||
505 | .type = -1, .type2 = 3, .remap_off = -1, .remap_sleep = -1 | ||
506 | }, | ||
507 | { .resource = RES_VMMC1, .devgroup = -1, | ||
508 | .type = -1, .type2 = 3, .remap_off = -1, .remap_sleep = -1 | ||
509 | }, | ||
510 | { .resource = RES_VMMC2, .devgroup = -1, | ||
511 | .type = -1, .type2 = 3, .remap_off = -1, .remap_sleep = -1 | ||
512 | }, | ||
513 | { .resource = RES_VDAC, .devgroup = -1, | ||
514 | .type = -1, .type2 = 3, .remap_off = -1, .remap_sleep = -1 | ||
515 | }, | ||
516 | { .resource = RES_VSIM, .devgroup = -1, | ||
517 | .type = -1, .type2 = 3, .remap_off = -1, .remap_sleep = -1 | ||
518 | }, | ||
519 | { .resource = RES_VINTANA1, .devgroup = DEV_GRP_P1 | DEV_GRP_P3, | ||
520 | .type = -1, .type2 = -1, .remap_off = -1, .remap_sleep = -1 | ||
521 | }, | ||
522 | { .resource = RES_VINTANA2, .devgroup = DEV_GRP_P1 | DEV_GRP_P3, | ||
523 | .type = 1, .type2 = -1, .remap_off = -1, .remap_sleep = -1 | ||
524 | }, | ||
525 | { .resource = RES_VINTDIG, .devgroup = DEV_GRP_P1 | DEV_GRP_P3, | ||
526 | .type = -1, .type2 = -1, .remap_off = -1, .remap_sleep = -1 | ||
527 | }, | ||
528 | { .resource = RES_VIO, .devgroup = DEV_GRP_P3, | ||
529 | .type = 1, .type2 = -1, .remap_off = -1, .remap_sleep = -1 | ||
530 | }, | ||
531 | { .resource = RES_CLKEN, .devgroup = DEV_GRP_P1 | DEV_GRP_P3, | ||
532 | .type = 1, .type2 = -1 , .remap_off = -1, .remap_sleep = -1 | ||
533 | }, | ||
534 | { .resource = RES_REGEN, .devgroup = DEV_GRP_P1 | DEV_GRP_P3, | ||
535 | .type = 1, .type2 = -1, .remap_off = -1, .remap_sleep = -1 | ||
536 | }, | ||
537 | { .resource = RES_NRES_PWRON, .devgroup = DEV_GRP_P1 | DEV_GRP_P3, | ||
538 | .type = 1, .type2 = -1, .remap_off = -1, .remap_sleep = -1 | ||
539 | }, | ||
540 | { .resource = RES_SYSEN, .devgroup = DEV_GRP_P1 | DEV_GRP_P3, | ||
541 | .type = 1, .type2 = -1, .remap_off = -1, .remap_sleep = -1 | ||
542 | }, | ||
543 | { .resource = RES_HFCLKOUT, .devgroup = DEV_GRP_P3, | ||
544 | .type = 1, .type2 = -1, .remap_off = -1, .remap_sleep = -1 | ||
545 | }, | ||
546 | { .resource = RES_32KCLKOUT, .devgroup = -1, | ||
547 | .type = 1, .type2 = -1, .remap_off = -1, .remap_sleep = -1 | ||
548 | }, | ||
549 | { .resource = RES_RESET, .devgroup = -1, | ||
550 | .type = 1, .type2 = -1, .remap_off = -1, .remap_sleep = -1 | ||
551 | }, | ||
552 | { .resource = RES_Main_Ref, .devgroup = -1, | ||
553 | .type = 1, .type2 = -1, .remap_off = -1, .remap_sleep = -1 | ||
554 | }, | ||
509 | { 0, 0}, | 555 | { 0, 0}, |
510 | }; | 556 | }; |
511 | 557 | ||
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index d89c6adbe8bc..e6d8e10ae5d1 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig | |||
@@ -63,6 +63,15 @@ config ARCH_VIPER | |||
63 | select HAVE_PWM | 63 | select HAVE_PWM |
64 | select PXA_HAVE_BOARD_IRQS | 64 | select PXA_HAVE_BOARD_IRQS |
65 | select PXA_HAVE_ISA_IRQS | 65 | select PXA_HAVE_ISA_IRQS |
66 | select ARCOM_PCMCIA | ||
67 | |||
68 | config MACH_ARCOM_ZEUS | ||
69 | bool "Arcom/Eurotech ZEUS SBC" | ||
70 | select PXA27x | ||
71 | select ISA | ||
72 | select PXA_HAVE_BOARD_IRQS | ||
73 | select PXA_HAVE_ISA_IRQS | ||
74 | select ARCOM_PCMCIA | ||
66 | 75 | ||
67 | config MACH_BALLOON3 | 76 | config MACH_BALLOON3 |
68 | bool "Balloon 3 board" | 77 | bool "Balloon 3 board" |
@@ -179,6 +188,11 @@ config MACH_TRIZEPS_ANY | |||
179 | 188 | ||
180 | endchoice | 189 | endchoice |
181 | 190 | ||
191 | config ARCOM_PCMCIA | ||
192 | bool | ||
193 | help | ||
194 | Generic option for Arcom Viper/Zeus PCMCIA | ||
195 | |||
182 | config TRIZEPS_PCMCIA | 196 | config TRIZEPS_PCMCIA |
183 | bool | 197 | bool |
184 | help | 198 | help |
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile index b5d29e60a341..f64afda7e6f6 100644 --- a/arch/arm/mach-pxa/Makefile +++ b/arch/arm/mach-pxa/Makefile | |||
@@ -38,6 +38,7 @@ obj-$(CONFIG_MACH_SAAR) += saar.o | |||
38 | # 3rd Party Dev Platforms | 38 | # 3rd Party Dev Platforms |
39 | obj-$(CONFIG_ARCH_PXA_IDP) += idp.o | 39 | obj-$(CONFIG_ARCH_PXA_IDP) += idp.o |
40 | obj-$(CONFIG_ARCH_VIPER) += viper.o | 40 | obj-$(CONFIG_ARCH_VIPER) += viper.o |
41 | obj-$(CONFIG_MACH_ARCOM_ZEUS) += zeus.o | ||
41 | obj-$(CONFIG_MACH_BALLOON3) += balloon3.o | 42 | obj-$(CONFIG_MACH_BALLOON3) += balloon3.o |
42 | obj-$(CONFIG_MACH_CSB726) += csb726.o | 43 | obj-$(CONFIG_MACH_CSB726) += csb726.o |
43 | obj-$(CONFIG_CSB726_CSB701) += csb701.o | 44 | obj-$(CONFIG_CSB726_CSB701) += csb701.o |
diff --git a/arch/arm/mach-pxa/em-x270.c b/arch/arm/mach-pxa/em-x270.c index 1c0de808b54d..c8a01bc85fde 100644 --- a/arch/arm/mach-pxa/em-x270.c +++ b/arch/arm/mach-pxa/em-x270.c | |||
@@ -497,16 +497,15 @@ static int em_x270_usb_hub_init(void) | |||
497 | goto err_free_vbus_gpio; | 497 | goto err_free_vbus_gpio; |
498 | 498 | ||
499 | /* USB Hub power-on and reset */ | 499 | /* USB Hub power-on and reset */ |
500 | gpio_direction_output(usb_hub_reset, 0); | 500 | gpio_direction_output(usb_hub_reset, 1); |
501 | gpio_direction_output(GPIO9_USB_VBUS_EN, 0); | ||
501 | regulator_enable(em_x270_usb_ldo); | 502 | regulator_enable(em_x270_usb_ldo); |
502 | gpio_set_value(usb_hub_reset, 1); | ||
503 | gpio_set_value(usb_hub_reset, 0); | 503 | gpio_set_value(usb_hub_reset, 0); |
504 | gpio_set_value(usb_hub_reset, 1); | ||
504 | regulator_disable(em_x270_usb_ldo); | 505 | regulator_disable(em_x270_usb_ldo); |
505 | regulator_enable(em_x270_usb_ldo); | 506 | regulator_enable(em_x270_usb_ldo); |
506 | gpio_set_value(usb_hub_reset, 1); | 507 | gpio_set_value(usb_hub_reset, 0); |
507 | 508 | gpio_set_value(GPIO9_USB_VBUS_EN, 1); | |
508 | /* enable VBUS */ | ||
509 | gpio_direction_output(GPIO9_USB_VBUS_EN, 1); | ||
510 | 509 | ||
511 | return 0; | 510 | return 0; |
512 | 511 | ||
diff --git a/arch/arm/mach-pxa/include/mach/arcom-pcmcia.h b/arch/arm/mach-pxa/include/mach/arcom-pcmcia.h new file mode 100644 index 000000000000..d428be4db44c --- /dev/null +++ b/arch/arm/mach-pxa/include/mach/arcom-pcmcia.h | |||
@@ -0,0 +1,11 @@ | |||
1 | #ifndef __ARCOM_PCMCIA_H | ||
2 | #define __ARCOM_PCMCIA_H | ||
3 | |||
4 | struct arcom_pcmcia_pdata { | ||
5 | int cd_gpio; | ||
6 | int rdy_gpio; | ||
7 | int pwr_gpio; | ||
8 | void (*reset)(int state); | ||
9 | }; | ||
10 | |||
11 | #endif | ||
diff --git a/arch/arm/mach-pxa/include/mach/viper.h b/arch/arm/mach-pxa/include/mach/viper.h index 10988c270ca3..5f5fbf1f6489 100644 --- a/arch/arm/mach-pxa/include/mach/viper.h +++ b/arch/arm/mach-pxa/include/mach/viper.h | |||
@@ -85,8 +85,6 @@ | |||
85 | /* Interrupt and Configuration Register (VIPER_ICR) */ | 85 | /* Interrupt and Configuration Register (VIPER_ICR) */ |
86 | /* This is a write only register. Only CF_RST is used under Linux */ | 86 | /* This is a write only register. Only CF_RST is used under Linux */ |
87 | 87 | ||
88 | extern void viper_cf_rst(int state); | ||
89 | |||
90 | #define VIPER_ICR_RETRIG (1 << 0) | 88 | #define VIPER_ICR_RETRIG (1 << 0) |
91 | #define VIPER_ICR_AUTO_CLR (1 << 1) | 89 | #define VIPER_ICR_AUTO_CLR (1 << 1) |
92 | #define VIPER_ICR_R_DIS (1 << 2) | 90 | #define VIPER_ICR_R_DIS (1 << 2) |
diff --git a/arch/arm/mach-pxa/include/mach/zeus.h b/arch/arm/mach-pxa/include/mach/zeus.h new file mode 100644 index 000000000000..c387046d2f28 --- /dev/null +++ b/arch/arm/mach-pxa/include/mach/zeus.h | |||
@@ -0,0 +1,82 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-pxa/include/mach/zeus.h | ||
3 | * | ||
4 | * Author: David Vrabel | ||
5 | * Created: Sept 28, 2005 | ||
6 | * Copyright: Arcom Control Systems Ltd. | ||
7 | * | ||
8 | * Maintained by: Marc Zyngier <maz@misterjones.org> | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | #ifndef _MACH_ZEUS_H | ||
16 | #define _MACH_ZEUS_H | ||
17 | |||
18 | /* Physical addresses */ | ||
19 | #define ZEUS_FLASH_PHYS PXA_CS0_PHYS | ||
20 | #define ZEUS_ETH0_PHYS PXA_CS1_PHYS | ||
21 | #define ZEUS_ETH1_PHYS PXA_CS2_PHYS | ||
22 | #define ZEUS_CPLD_PHYS (PXA_CS4_PHYS+0x2000000) | ||
23 | #define ZEUS_SRAM_PHYS PXA_CS5_PHYS | ||
24 | #define ZEUS_PC104IO_PHYS (0x30000000) | ||
25 | |||
26 | #define ZEUS_CPLD_VERSION_PHYS (ZEUS_CPLD_PHYS + 0x00000000) | ||
27 | #define ZEUS_CPLD_ISA_IRQ_PHYS (ZEUS_CPLD_PHYS + 0x00800000) | ||
28 | #define ZEUS_CPLD_CONTROL_PHYS (ZEUS_CPLD_PHYS + 0x01000000) | ||
29 | #define ZEUS_CPLD_EXTWDOG_PHYS (ZEUS_CPLD_PHYS + 0x01800000) | ||
30 | |||
31 | /* GPIOs */ | ||
32 | #define ZEUS_AC97_GPIO 0 | ||
33 | #define ZEUS_WAKEUP_GPIO 1 | ||
34 | #define ZEUS_UARTA_GPIO 9 | ||
35 | #define ZEUS_UARTB_GPIO 10 | ||
36 | #define ZEUS_UARTC_GPIO 12 | ||
37 | #define ZEUS_UARTD_GPIO 11 | ||
38 | #define ZEUS_ETH0_GPIO 14 | ||
39 | #define ZEUS_ISA_GPIO 17 | ||
40 | #define ZEUS_BKLEN_GPIO 19 | ||
41 | #define ZEUS_USB2_PWREN_GPIO 22 | ||
42 | #define ZEUS_PTT_GPIO 27 | ||
43 | #define ZEUS_CF_CD_GPIO 35 | ||
44 | #define ZEUS_MMC_WP_GPIO 52 | ||
45 | #define ZEUS_MMC_CD_GPIO 53 | ||
46 | #define ZEUS_EXTGPIO_GPIO 91 | ||
47 | #define ZEUS_CF_PWEN_GPIO 97 | ||
48 | #define ZEUS_CF_RDY_GPIO 99 | ||
49 | #define ZEUS_LCD_EN_GPIO 101 | ||
50 | #define ZEUS_ETH1_GPIO 113 | ||
51 | #define ZEUS_CAN_GPIO 116 | ||
52 | |||
53 | #define ZEUS_EXT0_GPIO_BASE 128 | ||
54 | #define ZEUS_EXT1_GPIO_BASE 160 | ||
55 | #define ZEUS_USER_GPIO_BASE 192 | ||
56 | |||
57 | #define ZEUS_EXT0_GPIO(x) (ZEUS_EXT0_GPIO_BASE + (x)) | ||
58 | #define ZEUS_EXT1_GPIO(x) (ZEUS_EXT1_GPIO_BASE + (x)) | ||
59 | #define ZEUS_USER_GPIO(x) (ZEUS_USER_GPIO_BASE + (x)) | ||
60 | |||
61 | /* | ||
62 | * CPLD registers: | ||
63 | * Only 4 registers, but spreaded over a 32MB address space. | ||
64 | * Be gentle, and remap that over 32kB... | ||
65 | */ | ||
66 | |||
67 | #define ZEUS_CPLD (0xf0000000) | ||
68 | #define ZEUS_CPLD_VERSION (ZEUS_CPLD + 0x0000) | ||
69 | #define ZEUS_CPLD_ISA_IRQ (ZEUS_CPLD + 0x1000) | ||
70 | #define ZEUS_CPLD_CONTROL (ZEUS_CPLD + 0x2000) | ||
71 | #define ZEUS_CPLD_EXTWDOG (ZEUS_CPLD + 0x3000) | ||
72 | |||
73 | /* CPLD register bits */ | ||
74 | #define ZEUS_CPLD_CONTROL_CF_RST 0x01 | ||
75 | |||
76 | #define ZEUS_PC104IO (0xf1000000) | ||
77 | |||
78 | #define ZEUS_SRAM_SIZE (256 * 1024) | ||
79 | |||
80 | #endif | ||
81 | |||
82 | |||
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c index cf0d71b7797e..5352b4e5a7dd 100644 --- a/arch/arm/mach-pxa/viper.c +++ b/arch/arm/mach-pxa/viper.c | |||
@@ -47,6 +47,7 @@ | |||
47 | #include <mach/pxafb.h> | 47 | #include <mach/pxafb.h> |
48 | #include <plat/i2c.h> | 48 | #include <plat/i2c.h> |
49 | #include <mach/regs-uart.h> | 49 | #include <mach/regs-uart.h> |
50 | #include <mach/arcom-pcmcia.h> | ||
50 | #include <mach/viper.h> | 51 | #include <mach/viper.h> |
51 | 52 | ||
52 | #include <asm/setup.h> | 53 | #include <asm/setup.h> |
@@ -76,14 +77,28 @@ static void viper_icr_clear_bit(unsigned int bit) | |||
76 | } | 77 | } |
77 | 78 | ||
78 | /* This function is used from the pcmcia module to reset the CF */ | 79 | /* This function is used from the pcmcia module to reset the CF */ |
79 | void viper_cf_rst(int state) | 80 | static void viper_cf_reset(int state) |
80 | { | 81 | { |
81 | if (state) | 82 | if (state) |
82 | viper_icr_set_bit(VIPER_ICR_CF_RST); | 83 | viper_icr_set_bit(VIPER_ICR_CF_RST); |
83 | else | 84 | else |
84 | viper_icr_clear_bit(VIPER_ICR_CF_RST); | 85 | viper_icr_clear_bit(VIPER_ICR_CF_RST); |
85 | } | 86 | } |
86 | EXPORT_SYMBOL(viper_cf_rst); | 87 | |
88 | static struct arcom_pcmcia_pdata viper_pcmcia_info = { | ||
89 | .cd_gpio = VIPER_CF_CD_GPIO, | ||
90 | .rdy_gpio = VIPER_CF_RDY_GPIO, | ||
91 | .pwr_gpio = VIPER_CF_POWER_GPIO, | ||
92 | .reset = viper_cf_reset, | ||
93 | }; | ||
94 | |||
95 | static struct platform_device viper_pcmcia_device = { | ||
96 | .name = "viper-pcmcia", | ||
97 | .id = -1, | ||
98 | .dev = { | ||
99 | .platform_data = &viper_pcmcia_info, | ||
100 | }, | ||
101 | }; | ||
87 | 102 | ||
88 | /* | 103 | /* |
89 | * The CPLD version register was not present on VIPER boards prior to | 104 | * The CPLD version register was not present on VIPER boards prior to |
@@ -685,6 +700,7 @@ static struct platform_device *viper_devs[] __initdata = { | |||
685 | &viper_mtd_devices[0], | 700 | &viper_mtd_devices[0], |
686 | &viper_mtd_devices[1], | 701 | &viper_mtd_devices[1], |
687 | &viper_backlight_device, | 702 | &viper_backlight_device, |
703 | &viper_pcmcia_device, | ||
688 | }; | 704 | }; |
689 | 705 | ||
690 | static mfp_cfg_t viper_pin_config[] __initdata = { | 706 | static mfp_cfg_t viper_pin_config[] __initdata = { |
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c new file mode 100644 index 000000000000..5b986a8bd9e6 --- /dev/null +++ b/arch/arm/mach-pxa/zeus.c | |||
@@ -0,0 +1,820 @@ | |||
1 | /* | ||
2 | * Support for the Arcom ZEUS. | ||
3 | * | ||
4 | * Copyright (C) 2006 Arcom Control Systems Ltd. | ||
5 | * | ||
6 | * Loosely based on Arcom's 2.6.16.28. | ||
7 | * Maintained by Marc Zyngier <maz@misterjones.org> | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | #include <linux/cpufreq.h> | ||
15 | #include <linux/interrupt.h> | ||
16 | #include <linux/irq.h> | ||
17 | #include <linux/pm.h> | ||
18 | #include <linux/gpio.h> | ||
19 | #include <linux/serial_8250.h> | ||
20 | #include <linux/dm9000.h> | ||
21 | #include <linux/mmc/host.h> | ||
22 | #include <linux/spi/spi.h> | ||
23 | #include <linux/mtd/mtd.h> | ||
24 | #include <linux/mtd/partitions.h> | ||
25 | #include <linux/mtd/physmap.h> | ||
26 | #include <linux/i2c.h> | ||
27 | #include <linux/i2c/pca953x.h> | ||
28 | |||
29 | #include <asm/mach-types.h> | ||
30 | #include <asm/mach/arch.h> | ||
31 | #include <asm/mach/map.h> | ||
32 | |||
33 | #include <plat/i2c.h> | ||
34 | |||
35 | #include <mach/pxa2xx-regs.h> | ||
36 | #include <mach/regs-uart.h> | ||
37 | #include <mach/ohci.h> | ||
38 | #include <mach/mmc.h> | ||
39 | #include <mach/pxa27x-udc.h> | ||
40 | #include <mach/udc.h> | ||
41 | #include <mach/pxafb.h> | ||
42 | #include <mach/pxa2xx_spi.h> | ||
43 | #include <mach/mfp-pxa27x.h> | ||
44 | #include <mach/pm.h> | ||
45 | #include <mach/audio.h> | ||
46 | #include <mach/arcom-pcmcia.h> | ||
47 | #include <mach/zeus.h> | ||
48 | |||
49 | #include "generic.h" | ||
50 | |||
51 | /* | ||
52 | * Interrupt handling | ||
53 | */ | ||
54 | |||
55 | static unsigned long zeus_irq_enabled_mask; | ||
56 | static const int zeus_isa_irqs[] = { 3, 4, 5, 6, 7, 10, 11, 12, }; | ||
57 | static const int zeus_isa_irq_map[] = { | ||
58 | 0, /* ISA irq #0, invalid */ | ||
59 | 0, /* ISA irq #1, invalid */ | ||
60 | 0, /* ISA irq #2, invalid */ | ||
61 | 1 << 0, /* ISA irq #3 */ | ||
62 | 1 << 1, /* ISA irq #4 */ | ||
63 | 1 << 2, /* ISA irq #5 */ | ||
64 | 1 << 3, /* ISA irq #6 */ | ||
65 | 1 << 4, /* ISA irq #7 */ | ||
66 | 0, /* ISA irq #8, invalid */ | ||
67 | 0, /* ISA irq #9, invalid */ | ||
68 | 1 << 5, /* ISA irq #10 */ | ||
69 | 1 << 6, /* ISA irq #11 */ | ||
70 | 1 << 7, /* ISA irq #12 */ | ||
71 | }; | ||
72 | |||
73 | static inline int zeus_irq_to_bitmask(unsigned int irq) | ||
74 | { | ||
75 | return zeus_isa_irq_map[irq - PXA_ISA_IRQ(0)]; | ||
76 | } | ||
77 | |||
78 | static inline int zeus_bit_to_irq(int bit) | ||
79 | { | ||
80 | return zeus_isa_irqs[bit] + PXA_ISA_IRQ(0); | ||
81 | } | ||
82 | |||
83 | static void zeus_ack_irq(unsigned int irq) | ||
84 | { | ||
85 | __raw_writew(zeus_irq_to_bitmask(irq), ZEUS_CPLD_ISA_IRQ); | ||
86 | } | ||
87 | |||
88 | static void zeus_mask_irq(unsigned int irq) | ||
89 | { | ||
90 | zeus_irq_enabled_mask &= ~(zeus_irq_to_bitmask(irq)); | ||
91 | } | ||
92 | |||
93 | static void zeus_unmask_irq(unsigned int irq) | ||
94 | { | ||
95 | zeus_irq_enabled_mask |= zeus_irq_to_bitmask(irq); | ||
96 | } | ||
97 | |||
98 | static inline unsigned long zeus_irq_pending(void) | ||
99 | { | ||
100 | return __raw_readw(ZEUS_CPLD_ISA_IRQ) & zeus_irq_enabled_mask; | ||
101 | } | ||
102 | |||
103 | static void zeus_irq_handler(unsigned int irq, struct irq_desc *desc) | ||
104 | { | ||
105 | unsigned long pending; | ||
106 | |||
107 | pending = zeus_irq_pending(); | ||
108 | do { | ||
109 | /* we're in a chained irq handler, | ||
110 | * so ack the interrupt by hand */ | ||
111 | desc->chip->ack(gpio_to_irq(ZEUS_ISA_GPIO)); | ||
112 | |||
113 | if (likely(pending)) { | ||
114 | irq = zeus_bit_to_irq(__ffs(pending)); | ||
115 | generic_handle_irq(irq); | ||
116 | } | ||
117 | pending = zeus_irq_pending(); | ||
118 | } while (pending); | ||
119 | } | ||
120 | |||
121 | static struct irq_chip zeus_irq_chip = { | ||
122 | .name = "ISA", | ||
123 | .ack = zeus_ack_irq, | ||
124 | .mask = zeus_mask_irq, | ||
125 | .unmask = zeus_unmask_irq, | ||
126 | }; | ||
127 | |||
128 | static void __init zeus_init_irq(void) | ||
129 | { | ||
130 | int level; | ||
131 | int isa_irq; | ||
132 | |||
133 | pxa27x_init_irq(); | ||
134 | |||
135 | /* Peripheral IRQs. It would be nice to move those inside driver | ||
136 | configuration, but it is not supported at the moment. */ | ||
137 | set_irq_type(gpio_to_irq(ZEUS_AC97_GPIO), IRQ_TYPE_EDGE_RISING); | ||
138 | set_irq_type(gpio_to_irq(ZEUS_WAKEUP_GPIO), IRQ_TYPE_EDGE_RISING); | ||
139 | set_irq_type(gpio_to_irq(ZEUS_PTT_GPIO), IRQ_TYPE_EDGE_RISING); | ||
140 | set_irq_type(gpio_to_irq(ZEUS_EXTGPIO_GPIO), IRQ_TYPE_EDGE_FALLING); | ||
141 | set_irq_type(gpio_to_irq(ZEUS_CAN_GPIO), IRQ_TYPE_EDGE_FALLING); | ||
142 | |||
143 | /* Setup ISA IRQs */ | ||
144 | for (level = 0; level < ARRAY_SIZE(zeus_isa_irqs); level++) { | ||
145 | isa_irq = zeus_bit_to_irq(level); | ||
146 | set_irq_chip(isa_irq, &zeus_irq_chip); | ||
147 | set_irq_handler(isa_irq, handle_edge_irq); | ||
148 | set_irq_flags(isa_irq, IRQF_VALID | IRQF_PROBE); | ||
149 | } | ||
150 | |||
151 | set_irq_type(gpio_to_irq(ZEUS_ISA_GPIO), IRQ_TYPE_EDGE_RISING); | ||
152 | set_irq_chained_handler(gpio_to_irq(ZEUS_ISA_GPIO), zeus_irq_handler); | ||
153 | } | ||
154 | |||
155 | |||
156 | /* | ||
157 | * Platform devices | ||
158 | */ | ||
159 | |||
160 | /* Flash */ | ||
161 | static struct resource zeus_mtd_resources[] = { | ||
162 | [0] = { /* NOR Flash (up to 64MB) */ | ||
163 | .start = ZEUS_FLASH_PHYS, | ||
164 | .end = ZEUS_FLASH_PHYS + SZ_64M - 1, | ||
165 | .flags = IORESOURCE_MEM, | ||
166 | }, | ||
167 | [1] = { /* SRAM */ | ||
168 | .start = ZEUS_SRAM_PHYS, | ||
169 | .end = ZEUS_SRAM_PHYS + SZ_512K - 1, | ||
170 | .flags = IORESOURCE_MEM, | ||
171 | }, | ||
172 | }; | ||
173 | |||
174 | static struct physmap_flash_data zeus_flash_data[] = { | ||
175 | [0] = { | ||
176 | .width = 2, | ||
177 | .parts = NULL, | ||
178 | .nr_parts = 0, | ||
179 | }, | ||
180 | }; | ||
181 | |||
182 | static struct platform_device zeus_mtd_devices[] = { | ||
183 | [0] = { | ||
184 | .name = "physmap-flash", | ||
185 | .id = 0, | ||
186 | .dev = { | ||
187 | .platform_data = &zeus_flash_data[0], | ||
188 | }, | ||
189 | .resource = &zeus_mtd_resources[0], | ||
190 | .num_resources = 1, | ||
191 | }, | ||
192 | }; | ||
193 | |||
194 | /* Serial */ | ||
195 | static struct resource zeus_serial_resources[] = { | ||
196 | { | ||
197 | .start = 0x10000000, | ||
198 | .end = 0x1000000f, | ||
199 | .flags = IORESOURCE_MEM, | ||
200 | }, | ||
201 | { | ||
202 | .start = 0x10800000, | ||
203 | .end = 0x1080000f, | ||
204 | .flags = IORESOURCE_MEM, | ||
205 | }, | ||
206 | { | ||
207 | .start = 0x11000000, | ||
208 | .end = 0x1100000f, | ||
209 | .flags = IORESOURCE_MEM, | ||
210 | }, | ||
211 | { | ||
212 | .start = 0x40100000, | ||
213 | .end = 0x4010001f, | ||
214 | .flags = IORESOURCE_MEM, | ||
215 | }, | ||
216 | { | ||
217 | .start = 0x40200000, | ||
218 | .end = 0x4020001f, | ||
219 | .flags = IORESOURCE_MEM, | ||
220 | }, | ||
221 | { | ||
222 | .start = 0x40700000, | ||
223 | .end = 0x4070001f, | ||
224 | .flags = IORESOURCE_MEM, | ||
225 | }, | ||
226 | }; | ||
227 | |||
228 | static struct plat_serial8250_port serial_platform_data[] = { | ||
229 | /* External UARTs */ | ||
230 | /* FIXME: Shared IRQs on COM1-COM4 will not work properly on v1i1 hardware. */ | ||
231 | { /* COM1 */ | ||
232 | .mapbase = 0x10000000, | ||
233 | .irq = gpio_to_irq(ZEUS_UARTA_GPIO), | ||
234 | .irqflags = IRQF_TRIGGER_RISING, | ||
235 | .uartclk = 14745600, | ||
236 | .regshift = 1, | ||
237 | .flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, | ||
238 | .iotype = UPIO_MEM, | ||
239 | }, | ||
240 | { /* COM2 */ | ||
241 | .mapbase = 0x10800000, | ||
242 | .irq = gpio_to_irq(ZEUS_UARTB_GPIO), | ||
243 | .irqflags = IRQF_TRIGGER_RISING, | ||
244 | .uartclk = 14745600, | ||
245 | .regshift = 1, | ||
246 | .flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, | ||
247 | .iotype = UPIO_MEM, | ||
248 | }, | ||
249 | { /* COM3 */ | ||
250 | .mapbase = 0x11000000, | ||
251 | .irq = gpio_to_irq(ZEUS_UARTC_GPIO), | ||
252 | .irqflags = IRQF_TRIGGER_RISING, | ||
253 | .uartclk = 14745600, | ||
254 | .regshift = 1, | ||
255 | .flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, | ||
256 | .iotype = UPIO_MEM, | ||
257 | }, | ||
258 | { /* COM4 */ | ||
259 | .mapbase = 0x11800000, | ||
260 | .irq = gpio_to_irq(ZEUS_UARTD_GPIO), | ||
261 | .irqflags = IRQF_TRIGGER_RISING, | ||
262 | .uartclk = 14745600, | ||
263 | .regshift = 1, | ||
264 | .flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, | ||
265 | .iotype = UPIO_MEM, | ||
266 | }, | ||
267 | /* Internal UARTs */ | ||
268 | { /* FFUART */ | ||
269 | .membase = (void *)&FFUART, | ||
270 | .mapbase = __PREG(FFUART), | ||
271 | .irq = IRQ_FFUART, | ||
272 | .uartclk = 921600 * 16, | ||
273 | .regshift = 2, | ||
274 | .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, | ||
275 | .iotype = UPIO_MEM, | ||
276 | }, | ||
277 | { /* BTUART */ | ||
278 | .membase = (void *)&BTUART, | ||
279 | .mapbase = __PREG(BTUART), | ||
280 | .irq = IRQ_BTUART, | ||
281 | .uartclk = 921600 * 16, | ||
282 | .regshift = 2, | ||
283 | .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, | ||
284 | .iotype = UPIO_MEM, | ||
285 | }, | ||
286 | { /* STUART */ | ||
287 | .membase = (void *)&STUART, | ||
288 | .mapbase = __PREG(STUART), | ||
289 | .irq = IRQ_STUART, | ||
290 | .uartclk = 921600 * 16, | ||
291 | .regshift = 2, | ||
292 | .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, | ||
293 | .iotype = UPIO_MEM, | ||
294 | }, | ||
295 | { }, | ||
296 | }; | ||
297 | |||
298 | static struct platform_device zeus_serial_device = { | ||
299 | .name = "serial8250", | ||
300 | .id = PLAT8250_DEV_PLATFORM, | ||
301 | .dev = { | ||
302 | .platform_data = serial_platform_data, | ||
303 | }, | ||
304 | .num_resources = ARRAY_SIZE(zeus_serial_resources), | ||
305 | .resource = zeus_serial_resources, | ||
306 | }; | ||
307 | |||
308 | /* Ethernet */ | ||
309 | static struct resource zeus_dm9k0_resource[] = { | ||
310 | [0] = { | ||
311 | .start = ZEUS_ETH0_PHYS, | ||
312 | .end = ZEUS_ETH0_PHYS + 1, | ||
313 | .flags = IORESOURCE_MEM | ||
314 | }, | ||
315 | [1] = { | ||
316 | .start = ZEUS_ETH0_PHYS + 2, | ||
317 | .end = ZEUS_ETH0_PHYS + 3, | ||
318 | .flags = IORESOURCE_MEM | ||
319 | }, | ||
320 | [2] = { | ||
321 | .start = gpio_to_irq(ZEUS_ETH0_GPIO), | ||
322 | .end = gpio_to_irq(ZEUS_ETH0_GPIO), | ||
323 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE, | ||
324 | }, | ||
325 | }; | ||
326 | |||
327 | static struct resource zeus_dm9k1_resource[] = { | ||
328 | [0] = { | ||
329 | .start = ZEUS_ETH1_PHYS, | ||
330 | .end = ZEUS_ETH1_PHYS + 1, | ||
331 | .flags = IORESOURCE_MEM | ||
332 | }, | ||
333 | [1] = { | ||
334 | .start = ZEUS_ETH1_PHYS + 2, | ||
335 | .end = ZEUS_ETH1_PHYS + 3, | ||
336 | .flags = IORESOURCE_MEM, | ||
337 | }, | ||
338 | [2] = { | ||
339 | .start = gpio_to_irq(ZEUS_ETH1_GPIO), | ||
340 | .end = gpio_to_irq(ZEUS_ETH1_GPIO), | ||
341 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE, | ||
342 | }, | ||
343 | }; | ||
344 | |||
345 | static struct dm9000_plat_data zeus_dm9k_platdata = { | ||
346 | .flags = DM9000_PLATF_16BITONLY, | ||
347 | }; | ||
348 | |||
349 | static struct platform_device zeus_dm9k0_device = { | ||
350 | .name = "dm9000", | ||
351 | .id = 0, | ||
352 | .num_resources = ARRAY_SIZE(zeus_dm9k0_resource), | ||
353 | .resource = zeus_dm9k0_resource, | ||
354 | .dev = { | ||
355 | .platform_data = &zeus_dm9k_platdata, | ||
356 | } | ||
357 | }; | ||
358 | |||
359 | static struct platform_device zeus_dm9k1_device = { | ||
360 | .name = "dm9000", | ||
361 | .id = 1, | ||
362 | .num_resources = ARRAY_SIZE(zeus_dm9k1_resource), | ||
363 | .resource = zeus_dm9k1_resource, | ||
364 | .dev = { | ||
365 | .platform_data = &zeus_dm9k_platdata, | ||
366 | } | ||
367 | }; | ||
368 | |||
369 | /* External SRAM */ | ||
370 | static struct resource zeus_sram_resource = { | ||
371 | .start = ZEUS_SRAM_PHYS, | ||
372 | .end = ZEUS_SRAM_PHYS + ZEUS_SRAM_SIZE * 2 - 1, | ||
373 | .flags = IORESOURCE_MEM, | ||
374 | }; | ||
375 | |||
376 | static struct platform_device zeus_sram_device = { | ||
377 | .name = "pxa2xx-8bit-sram", | ||
378 | .id = 0, | ||
379 | .num_resources = 1, | ||
380 | .resource = &zeus_sram_resource, | ||
381 | }; | ||
382 | |||
383 | /* SPI interface on SSP3 */ | ||
384 | static struct pxa2xx_spi_master pxa2xx_spi_ssp3_master_info = { | ||
385 | .num_chipselect = 1, | ||
386 | .enable_dma = 1, | ||
387 | }; | ||
388 | |||
389 | static struct platform_device pxa2xx_spi_ssp3_device = { | ||
390 | .name = "pxa2xx-spi", | ||
391 | .id = 3, | ||
392 | .dev = { | ||
393 | .platform_data = &pxa2xx_spi_ssp3_master_info, | ||
394 | }, | ||
395 | }; | ||
396 | |||
397 | /* Leds */ | ||
398 | static struct gpio_led zeus_leds[] = { | ||
399 | [0] = { | ||
400 | .name = "zeus:yellow:1", | ||
401 | .default_trigger = "heartbeat", | ||
402 | .gpio = ZEUS_EXT0_GPIO(3), | ||
403 | .active_low = 1, | ||
404 | }, | ||
405 | [1] = { | ||
406 | .name = "zeus:yellow:2", | ||
407 | .default_trigger = "default-on", | ||
408 | .gpio = ZEUS_EXT0_GPIO(4), | ||
409 | .active_low = 1, | ||
410 | }, | ||
411 | [2] = { | ||
412 | .name = "zeus:yellow:3", | ||
413 | .default_trigger = "default-on", | ||
414 | .gpio = ZEUS_EXT0_GPIO(5), | ||
415 | .active_low = 1, | ||
416 | }, | ||
417 | }; | ||
418 | |||
419 | static struct gpio_led_platform_data zeus_leds_info = { | ||
420 | .leds = zeus_leds, | ||
421 | .num_leds = ARRAY_SIZE(zeus_leds), | ||
422 | }; | ||
423 | |||
424 | static struct platform_device zeus_leds_device = { | ||
425 | .name = "leds-gpio", | ||
426 | .id = -1, | ||
427 | .dev = { | ||
428 | .platform_data = &zeus_leds_info, | ||
429 | }, | ||
430 | }; | ||
431 | |||
432 | static void zeus_cf_reset(int state) | ||
433 | { | ||
434 | u16 cpld_state = __raw_readw(ZEUS_CPLD_CONTROL); | ||
435 | |||
436 | if (state) | ||
437 | cpld_state |= ZEUS_CPLD_CONTROL_CF_RST; | ||
438 | else | ||
439 | cpld_state &= ~ZEUS_CPLD_CONTROL_CF_RST; | ||
440 | |||
441 | __raw_writew(cpld_state, ZEUS_CPLD_CONTROL); | ||
442 | } | ||
443 | |||
444 | static struct arcom_pcmcia_pdata zeus_pcmcia_info = { | ||
445 | .cd_gpio = ZEUS_CF_CD_GPIO, | ||
446 | .rdy_gpio = ZEUS_CF_RDY_GPIO, | ||
447 | .pwr_gpio = ZEUS_CF_PWEN_GPIO, | ||
448 | .reset = zeus_cf_reset, | ||
449 | }; | ||
450 | |||
451 | static struct platform_device zeus_pcmcia_device = { | ||
452 | .name = "zeus-pcmcia", | ||
453 | .id = -1, | ||
454 | .dev = { | ||
455 | .platform_data = &zeus_pcmcia_info, | ||
456 | }, | ||
457 | }; | ||
458 | |||
459 | static struct platform_device *zeus_devices[] __initdata = { | ||
460 | &zeus_serial_device, | ||
461 | &zeus_mtd_devices[0], | ||
462 | &zeus_dm9k0_device, | ||
463 | &zeus_dm9k1_device, | ||
464 | &zeus_sram_device, | ||
465 | &pxa2xx_spi_ssp3_device, | ||
466 | &zeus_leds_device, | ||
467 | &zeus_pcmcia_device, | ||
468 | }; | ||
469 | |||
470 | /* AC'97 */ | ||
471 | static pxa2xx_audio_ops_t zeus_ac97_info = { | ||
472 | .reset_gpio = 95, | ||
473 | }; | ||
474 | |||
475 | |||
476 | /* | ||
477 | * USB host | ||
478 | */ | ||
479 | |||
480 | static int zeus_ohci_init(struct device *dev) | ||
481 | { | ||
482 | int err; | ||
483 | |||
484 | /* Switch on port 2. */ | ||
485 | if ((err = gpio_request(ZEUS_USB2_PWREN_GPIO, "USB2_PWREN"))) { | ||
486 | dev_err(dev, "Can't request USB2_PWREN\n"); | ||
487 | return err; | ||
488 | } | ||
489 | |||
490 | if ((err = gpio_direction_output(ZEUS_USB2_PWREN_GPIO, 1))) { | ||
491 | gpio_free(ZEUS_USB2_PWREN_GPIO); | ||
492 | dev_err(dev, "Can't enable USB2_PWREN\n"); | ||
493 | return err; | ||
494 | } | ||
495 | |||
496 | /* Port 2 is shared between host and client interface. */ | ||
497 | UP2OCR = UP2OCR_HXOE | UP2OCR_HXS | UP2OCR_DMPDE | UP2OCR_DPPDE; | ||
498 | |||
499 | return 0; | ||
500 | } | ||
501 | |||
502 | static void zeus_ohci_exit(struct device *dev) | ||
503 | { | ||
504 | /* Power-off port 2 */ | ||
505 | gpio_direction_output(ZEUS_USB2_PWREN_GPIO, 0); | ||
506 | gpio_free(ZEUS_USB2_PWREN_GPIO); | ||
507 | } | ||
508 | |||
509 | static struct pxaohci_platform_data zeus_ohci_platform_data = { | ||
510 | .port_mode = PMM_NPS_MODE, | ||
511 | .flags = ENABLE_PORT_ALL | POWER_CONTROL_LOW | POWER_SENSE_LOW, | ||
512 | .init = zeus_ohci_init, | ||
513 | .exit = zeus_ohci_exit, | ||
514 | }; | ||
515 | |||
516 | /* | ||
517 | * Flat Panel | ||
518 | */ | ||
519 | |||
520 | static void zeus_lcd_power(int on, struct fb_var_screeninfo *si) | ||
521 | { | ||
522 | gpio_set_value(ZEUS_LCD_EN_GPIO, on); | ||
523 | } | ||
524 | |||
525 | static void zeus_backlight_power(int on) | ||
526 | { | ||
527 | gpio_set_value(ZEUS_BKLEN_GPIO, on); | ||
528 | } | ||
529 | |||
530 | static int zeus_setup_fb_gpios(void) | ||
531 | { | ||
532 | int err; | ||
533 | |||
534 | if ((err = gpio_request(ZEUS_LCD_EN_GPIO, "LCD_EN"))) | ||
535 | goto out_err; | ||
536 | |||
537 | if ((err = gpio_direction_output(ZEUS_LCD_EN_GPIO, 0))) | ||
538 | goto out_err_lcd; | ||
539 | |||
540 | if ((err = gpio_request(ZEUS_BKLEN_GPIO, "BKLEN"))) | ||
541 | goto out_err_lcd; | ||
542 | |||
543 | if ((err = gpio_direction_output(ZEUS_BKLEN_GPIO, 0))) | ||
544 | goto out_err_bkl; | ||
545 | |||
546 | return 0; | ||
547 | |||
548 | out_err_bkl: | ||
549 | gpio_free(ZEUS_BKLEN_GPIO); | ||
550 | out_err_lcd: | ||
551 | gpio_free(ZEUS_LCD_EN_GPIO); | ||
552 | out_err: | ||
553 | return err; | ||
554 | } | ||
555 | |||
556 | static struct pxafb_mode_info zeus_fb_mode_info[] = { | ||
557 | { | ||
558 | .pixclock = 39722, | ||
559 | |||
560 | .xres = 640, | ||
561 | .yres = 480, | ||
562 | |||
563 | .bpp = 16, | ||
564 | |||
565 | .hsync_len = 63, | ||
566 | .left_margin = 16, | ||
567 | .right_margin = 81, | ||
568 | |||
569 | .vsync_len = 2, | ||
570 | .upper_margin = 12, | ||
571 | .lower_margin = 31, | ||
572 | |||
573 | .sync = 0, | ||
574 | }, | ||
575 | }; | ||
576 | |||
577 | static struct pxafb_mach_info zeus_fb_info = { | ||
578 | .modes = zeus_fb_mode_info, | ||
579 | .num_modes = 1, | ||
580 | .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL, | ||
581 | .pxafb_lcd_power = zeus_lcd_power, | ||
582 | .pxafb_backlight_power = zeus_backlight_power, | ||
583 | }; | ||
584 | |||
585 | /* | ||
586 | * MMC/SD Device | ||
587 | * | ||
588 | * The card detect interrupt isn't debounced so we delay it by 250ms | ||
589 | * to give the card a chance to fully insert/eject. | ||
590 | */ | ||
591 | |||
592 | static struct pxamci_platform_data zeus_mci_platform_data = { | ||
593 | .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, | ||
594 | .detect_delay = HZ/4, | ||
595 | .gpio_card_detect = ZEUS_MMC_CD_GPIO, | ||
596 | .gpio_card_ro = ZEUS_MMC_WP_GPIO, | ||
597 | .gpio_card_ro_invert = 1, | ||
598 | .gpio_power = -1 | ||
599 | }; | ||
600 | |||
601 | /* | ||
602 | * USB Device Controller | ||
603 | */ | ||
604 | static void zeus_udc_command(int cmd) | ||
605 | { | ||
606 | switch (cmd) { | ||
607 | case PXA2XX_UDC_CMD_DISCONNECT: | ||
608 | pr_info("zeus: disconnecting USB client\n"); | ||
609 | UP2OCR = UP2OCR_HXOE | UP2OCR_HXS | UP2OCR_DMPDE | UP2OCR_DPPDE; | ||
610 | break; | ||
611 | |||
612 | case PXA2XX_UDC_CMD_CONNECT: | ||
613 | pr_info("zeus: connecting USB client\n"); | ||
614 | UP2OCR = UP2OCR_HXOE | UP2OCR_DPPUE; | ||
615 | break; | ||
616 | } | ||
617 | } | ||
618 | |||
619 | static struct pxa2xx_udc_mach_info zeus_udc_info = { | ||
620 | .udc_command = zeus_udc_command, | ||
621 | }; | ||
622 | |||
623 | static void zeus_power_off(void) | ||
624 | { | ||
625 | local_irq_disable(); | ||
626 | pxa27x_cpu_suspend(PWRMODE_DEEPSLEEP); | ||
627 | } | ||
628 | |||
629 | int zeus_get_pcb_info(struct i2c_client *client, unsigned gpio, | ||
630 | unsigned ngpio, void *context) | ||
631 | { | ||
632 | int i; | ||
633 | u8 pcb_info = 0; | ||
634 | |||
635 | for (i = 0; i < 8; i++) { | ||
636 | int pcb_bit = gpio + i + 8; | ||
637 | |||
638 | if (gpio_request(pcb_bit, "pcb info")) { | ||
639 | dev_err(&client->dev, "Can't request pcb info %d\n", i); | ||
640 | continue; | ||
641 | } | ||
642 | |||
643 | if (gpio_direction_input(pcb_bit)) { | ||
644 | dev_err(&client->dev, "Can't read pcb info %d\n", i); | ||
645 | gpio_free(pcb_bit); | ||
646 | continue; | ||
647 | } | ||
648 | |||
649 | pcb_info |= !!gpio_get_value(pcb_bit) << i; | ||
650 | |||
651 | gpio_free(pcb_bit); | ||
652 | } | ||
653 | |||
654 | dev_info(&client->dev, "Zeus PCB version %d issue %d\n", | ||
655 | pcb_info >> 4, pcb_info & 0xf); | ||
656 | |||
657 | return 0; | ||
658 | } | ||
659 | |||
660 | static struct pca953x_platform_data zeus_pca953x_pdata[] = { | ||
661 | [0] = { .gpio_base = ZEUS_EXT0_GPIO_BASE, }, | ||
662 | [1] = { | ||
663 | .gpio_base = ZEUS_EXT1_GPIO_BASE, | ||
664 | .setup = zeus_get_pcb_info, | ||
665 | }, | ||
666 | [2] = { .gpio_base = ZEUS_USER_GPIO_BASE, }, | ||
667 | }; | ||
668 | |||
669 | static struct i2c_board_info __initdata zeus_i2c_devices[] = { | ||
670 | { | ||
671 | I2C_BOARD_INFO("pca9535", 0x21), | ||
672 | .platform_data = &zeus_pca953x_pdata[0], | ||
673 | }, | ||
674 | { | ||
675 | I2C_BOARD_INFO("pca9535", 0x22), | ||
676 | .platform_data = &zeus_pca953x_pdata[1], | ||
677 | }, | ||
678 | { | ||
679 | I2C_BOARD_INFO("pca9535", 0x20), | ||
680 | .platform_data = &zeus_pca953x_pdata[2], | ||
681 | .irq = gpio_to_irq(ZEUS_EXTGPIO_GPIO), | ||
682 | }, | ||
683 | { I2C_BOARD_INFO("lm75a", 0x48) }, | ||
684 | { I2C_BOARD_INFO("24c01", 0x50) }, | ||
685 | { I2C_BOARD_INFO("isl1208", 0x6f) }, | ||
686 | }; | ||
687 | |||
688 | static mfp_cfg_t zeus_pin_config[] __initdata = { | ||
689 | GPIO15_nCS_1, | ||
690 | GPIO78_nCS_2, | ||
691 | GPIO80_nCS_4, | ||
692 | GPIO33_nCS_5, | ||
693 | |||
694 | GPIO22_GPIO, | ||
695 | GPIO32_MMC_CLK, | ||
696 | GPIO92_MMC_DAT_0, | ||
697 | GPIO109_MMC_DAT_1, | ||
698 | GPIO110_MMC_DAT_2, | ||
699 | GPIO111_MMC_DAT_3, | ||
700 | GPIO112_MMC_CMD, | ||
701 | |||
702 | GPIO88_USBH1_PWR, | ||
703 | GPIO89_USBH1_PEN, | ||
704 | GPIO119_USBH2_PWR, | ||
705 | GPIO120_USBH2_PEN, | ||
706 | |||
707 | GPIO86_LCD_LDD_16, | ||
708 | GPIO87_LCD_LDD_17, | ||
709 | |||
710 | GPIO102_GPIO, | ||
711 | GPIO104_CIF_DD_2, | ||
712 | GPIO105_CIF_DD_1, | ||
713 | |||
714 | GPIO48_nPOE, | ||
715 | GPIO49_nPWE, | ||
716 | GPIO50_nPIOR, | ||
717 | GPIO51_nPIOW, | ||
718 | GPIO85_nPCE_1, | ||
719 | GPIO54_nPCE_2, | ||
720 | GPIO79_PSKTSEL, | ||
721 | GPIO55_nPREG, | ||
722 | GPIO56_nPWAIT, | ||
723 | GPIO57_nIOIS16, | ||
724 | GPIO36_GPIO, /* CF CD */ | ||
725 | GPIO97_GPIO, /* CF PWREN */ | ||
726 | GPIO99_GPIO, /* CF RDY */ | ||
727 | }; | ||
728 | |||
729 | static void __init zeus_init(void) | ||
730 | { | ||
731 | u16 dm9000_msc = 0xe279; | ||
732 | |||
733 | system_rev = __raw_readw(ZEUS_CPLD_VERSION); | ||
734 | pr_info("Zeus CPLD V%dI%d\n", (system_rev & 0xf0) >> 4, (system_rev & 0x0f)); | ||
735 | |||
736 | /* Fix timings for dm9000s (CS1/CS2)*/ | ||
737 | MSC0 = (MSC0 & 0xffff) | (dm9000_msc << 16); | ||
738 | MSC1 = (MSC1 & 0xffff0000) | dm9000_msc; | ||
739 | |||
740 | pm_power_off = zeus_power_off; | ||
741 | |||
742 | pxa2xx_mfp_config(ARRAY_AND_SIZE(zeus_pin_config)); | ||
743 | |||
744 | platform_add_devices(zeus_devices, ARRAY_SIZE(zeus_devices)); | ||
745 | |||
746 | pxa_set_ohci_info(&zeus_ohci_platform_data); | ||
747 | |||
748 | if (zeus_setup_fb_gpios()) | ||
749 | pr_err("Failed to setup fb gpios\n"); | ||
750 | else | ||
751 | set_pxa_fb_info(&zeus_fb_info); | ||
752 | |||
753 | pxa_set_mci_info(&zeus_mci_platform_data); | ||
754 | pxa_set_udc_info(&zeus_udc_info); | ||
755 | pxa_set_ac97_info(&zeus_ac97_info); | ||
756 | pxa_set_i2c_info(NULL); | ||
757 | i2c_register_board_info(0, ARRAY_AND_SIZE(zeus_i2c_devices)); | ||
758 | } | ||
759 | |||
760 | static struct map_desc zeus_io_desc[] __initdata = { | ||
761 | { | ||
762 | .virtual = ZEUS_CPLD_VERSION, | ||
763 | .pfn = __phys_to_pfn(ZEUS_CPLD_VERSION_PHYS), | ||
764 | .length = 0x1000, | ||
765 | .type = MT_DEVICE, | ||
766 | }, | ||
767 | { | ||
768 | .virtual = ZEUS_CPLD_ISA_IRQ, | ||
769 | .pfn = __phys_to_pfn(ZEUS_CPLD_ISA_IRQ_PHYS), | ||
770 | .length = 0x1000, | ||
771 | .type = MT_DEVICE, | ||
772 | }, | ||
773 | { | ||
774 | .virtual = ZEUS_CPLD_CONTROL, | ||
775 | .pfn = __phys_to_pfn(ZEUS_CPLD_CONTROL_PHYS), | ||
776 | .length = 0x1000, | ||
777 | .type = MT_DEVICE, | ||
778 | }, | ||
779 | { | ||
780 | .virtual = ZEUS_CPLD_EXTWDOG, | ||
781 | .pfn = __phys_to_pfn(ZEUS_CPLD_EXTWDOG_PHYS), | ||
782 | .length = 0x1000, | ||
783 | .type = MT_DEVICE, | ||
784 | }, | ||
785 | { | ||
786 | .virtual = ZEUS_PC104IO, | ||
787 | .pfn = __phys_to_pfn(ZEUS_PC104IO_PHYS), | ||
788 | .length = 0x00800000, | ||
789 | .type = MT_DEVICE, | ||
790 | }, | ||
791 | }; | ||
792 | |||
793 | static void __init zeus_map_io(void) | ||
794 | { | ||
795 | pxa_map_io(); | ||
796 | |||
797 | iotable_init(zeus_io_desc, ARRAY_SIZE(zeus_io_desc)); | ||
798 | |||
799 | /* Clear PSPR to ensure a full restart on wake-up. */ | ||
800 | PMCR = PSPR = 0; | ||
801 | |||
802 | /* enable internal 32.768Khz oscillator (ignore OSCC_OOK) */ | ||
803 | OSCC |= OSCC_OON; | ||
804 | |||
805 | /* Some clock cycles later (from OSCC_ON), programme PCFR (OPDE...). | ||
806 | * float chip selects and PCMCIA */ | ||
807 | PCFR = PCFR_OPDE | PCFR_DC_EN | PCFR_FS | PCFR_FP; | ||
808 | } | ||
809 | |||
810 | MACHINE_START(ARCOM_ZEUS, "Arcom ZEUS") | ||
811 | /* Maintainer: Marc Zyngier <maz@misterjones.org> */ | ||
812 | .phys_io = 0x40000000, | ||
813 | .io_pg_offst = ((io_p2v(0x40000000) >> 18) & 0xfffc), | ||
814 | .boot_params = 0xa0000100, | ||
815 | .map_io = zeus_map_io, | ||
816 | .init_irq = zeus_init_irq, | ||
817 | .timer = &pxa_timer, | ||
818 | .init_machine = zeus_init, | ||
819 | MACHINE_END | ||
820 | |||
diff --git a/arch/arm/mach-realview/Kconfig b/arch/arm/mach-realview/Kconfig index c48e1f2c3349..ee5e392430e8 100644 --- a/arch/arm/mach-realview/Kconfig +++ b/arch/arm/mach-realview/Kconfig | |||
@@ -70,7 +70,7 @@ config MACH_REALVIEW_PBX | |||
70 | bool "Support RealView/PBX platform" | 70 | bool "Support RealView/PBX platform" |
71 | select ARM_GIC | 71 | select ARM_GIC |
72 | select HAVE_PATA_PLATFORM | 72 | select HAVE_PATA_PLATFORM |
73 | select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !HIGH_PHYS_OFFSET | 73 | select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !REALVIEW_HIGH_PHYS_OFFSET |
74 | select ZONE_DMA if SPARSEMEM | 74 | select ZONE_DMA if SPARSEMEM |
75 | help | 75 | help |
76 | Include support for the ARM(R) RealView PBX platform. | 76 | Include support for the ARM(R) RealView PBX platform. |
diff --git a/arch/arm/mach-s3c2442/mach-gta02.c b/arch/arm/mach-s3c2442/mach-gta02.c index f76d6ff4aeb9..0b4a3a03071f 100644 --- a/arch/arm/mach-s3c2442/mach-gta02.c +++ b/arch/arm/mach-s3c2442/mach-gta02.c | |||
@@ -268,6 +268,9 @@ struct pcf50633_platform_data gta02_pcf_pdata = { | |||
268 | 268 | ||
269 | .batteries = gta02_batteries, | 269 | .batteries = gta02_batteries, |
270 | .num_batteries = ARRAY_SIZE(gta02_batteries), | 270 | .num_batteries = ARRAY_SIZE(gta02_batteries), |
271 | |||
272 | .charger_reference_current_ma = 1000, | ||
273 | |||
271 | .reg_init_data = { | 274 | .reg_init_data = { |
272 | [PCF50633_REGULATOR_AUTO] = { | 275 | [PCF50633_REGULATOR_AUTO] = { |
273 | .constraints = { | 276 | .constraints = { |
diff --git a/arch/arm/mach-s3c24a0/include/mach/memory.h b/arch/arm/mach-s3c24a0/include/mach/memory.h index 585211ca0187..7d74fd5c8d66 100644 --- a/arch/arm/mach-s3c24a0/include/mach/memory.h +++ b/arch/arm/mach-s3c24a0/include/mach/memory.h | |||
@@ -15,5 +15,7 @@ | |||
15 | 15 | ||
16 | #define __virt_to_bus(x) __virt_to_phys(x) | 16 | #define __virt_to_bus(x) __virt_to_phys(x) |
17 | #define __bus_to_virt(x) __phys_to_virt(x) | 17 | #define __bus_to_virt(x) __phys_to_virt(x) |
18 | #define __pfn_to_bus(x) __pfn_to_phys(x) | ||
19 | #define __bus_to_pfn(x) __phys_to_pfn(x) | ||
18 | 20 | ||
19 | #endif | 21 | #endif |
diff --git a/arch/arm/mach-sa1100/Kconfig b/arch/arm/mach-sa1100/Kconfig index 03a7f3857c5e..b17d52f7cc48 100644 --- a/arch/arm/mach-sa1100/Kconfig +++ b/arch/arm/mach-sa1100/Kconfig | |||
@@ -4,6 +4,7 @@ menu "SA11x0 Implementations" | |||
4 | 4 | ||
5 | config SA1100_ASSABET | 5 | config SA1100_ASSABET |
6 | bool "Assabet" | 6 | bool "Assabet" |
7 | select CPU_FREQ_SA1110 | ||
7 | help | 8 | help |
8 | Say Y here if you are using the Intel(R) StrongARM(R) SA-1110 | 9 | Say Y here if you are using the Intel(R) StrongARM(R) SA-1110 |
9 | Microprocessor Development Board (also known as the Assabet). | 10 | Microprocessor Development Board (also known as the Assabet). |
@@ -19,6 +20,7 @@ config ASSABET_NEPONSET | |||
19 | 20 | ||
20 | config SA1100_CERF | 21 | config SA1100_CERF |
21 | bool "CerfBoard" | 22 | bool "CerfBoard" |
23 | select CPU_FREQ_SA1110 | ||
22 | help | 24 | help |
23 | The Intrinsyc CerfBoard is based on the StrongARM 1110 (Discontinued). | 25 | The Intrinsyc CerfBoard is based on the StrongARM 1110 (Discontinued). |
24 | More information is available at: | 26 | More information is available at: |
@@ -45,6 +47,7 @@ endchoice | |||
45 | 47 | ||
46 | config SA1100_COLLIE | 48 | config SA1100_COLLIE |
47 | bool "Sharp Zaurus SL5500" | 49 | bool "Sharp Zaurus SL5500" |
50 | # FIXME: select CPU_FREQ_SA11x0 | ||
48 | select SHARP_LOCOMO | 51 | select SHARP_LOCOMO |
49 | select SHARP_SCOOP | 52 | select SHARP_SCOOP |
50 | select SHARP_PARAM | 53 | select SHARP_PARAM |
@@ -54,6 +57,7 @@ config SA1100_COLLIE | |||
54 | config SA1100_H3100 | 57 | config SA1100_H3100 |
55 | bool "Compaq iPAQ H3100" | 58 | bool "Compaq iPAQ H3100" |
56 | select HTC_EGPIO | 59 | select HTC_EGPIO |
60 | select CPU_FREQ_SA1100 | ||
57 | help | 61 | help |
58 | Say Y here if you intend to run this kernel on the Compaq iPAQ | 62 | Say Y here if you intend to run this kernel on the Compaq iPAQ |
59 | H3100 handheld computer. Information about this machine and the | 63 | H3100 handheld computer. Information about this machine and the |
@@ -64,6 +68,7 @@ config SA1100_H3100 | |||
64 | config SA1100_H3600 | 68 | config SA1100_H3600 |
65 | bool "Compaq iPAQ H3600/H3700" | 69 | bool "Compaq iPAQ H3600/H3700" |
66 | select HTC_EGPIO | 70 | select HTC_EGPIO |
71 | select CPU_FREQ_SA1100 | ||
67 | help | 72 | help |
68 | Say Y here if you intend to run this kernel on the Compaq iPAQ | 73 | Say Y here if you intend to run this kernel on the Compaq iPAQ |
69 | H3600 handheld computer. Information about this machine and the | 74 | H3600 handheld computer. Information about this machine and the |
@@ -74,6 +79,7 @@ config SA1100_H3600 | |||
74 | config SA1100_BADGE4 | 79 | config SA1100_BADGE4 |
75 | bool "HP Labs BadgePAD 4" | 80 | bool "HP Labs BadgePAD 4" |
76 | select SA1111 | 81 | select SA1111 |
82 | select CPU_FREQ_SA1100 | ||
77 | help | 83 | help |
78 | Say Y here if you want to build a kernel for the HP Laboratories | 84 | Say Y here if you want to build a kernel for the HP Laboratories |
79 | BadgePAD 4. | 85 | BadgePAD 4. |
@@ -81,6 +87,7 @@ config SA1100_BADGE4 | |||
81 | config SA1100_JORNADA720 | 87 | config SA1100_JORNADA720 |
82 | bool "HP Jornada 720" | 88 | bool "HP Jornada 720" |
83 | select SA1111 | 89 | select SA1111 |
90 | # FIXME: select CPU_FREQ_SA11x0 | ||
84 | help | 91 | help |
85 | Say Y here if you want to build a kernel for the HP Jornada 720 | 92 | Say Y here if you want to build a kernel for the HP Jornada 720 |
86 | handheld computer. See <http://www.hp.com/jornada/products/720> | 93 | handheld computer. See <http://www.hp.com/jornada/products/720> |
@@ -98,12 +105,14 @@ config SA1100_JORNADA720_SSP | |||
98 | 105 | ||
99 | config SA1100_HACKKIT | 106 | config SA1100_HACKKIT |
100 | bool "HackKit Core CPU Board" | 107 | bool "HackKit Core CPU Board" |
108 | select CPU_FREQ_SA1100 | ||
101 | help | 109 | help |
102 | Say Y here to support the HackKit Core CPU Board | 110 | Say Y here to support the HackKit Core CPU Board |
103 | <http://hackkit.eletztrick.de>; | 111 | <http://hackkit.eletztrick.de>; |
104 | 112 | ||
105 | config SA1100_LART | 113 | config SA1100_LART |
106 | bool "LART" | 114 | bool "LART" |
115 | select CPU_FREQ_SA1100 | ||
107 | help | 116 | help |
108 | Say Y here if you are using the Linux Advanced Radio Terminal | 117 | Say Y here if you are using the Linux Advanced Radio Terminal |
109 | (also known as the LART). See <http://www.lartmaker.nl/> for | 118 | (also known as the LART). See <http://www.lartmaker.nl/> for |
@@ -111,6 +120,7 @@ config SA1100_LART | |||
111 | 120 | ||
112 | config SA1100_PLEB | 121 | config SA1100_PLEB |
113 | bool "PLEB" | 122 | bool "PLEB" |
123 | select CPU_FREQ_SA1100 | ||
114 | help | 124 | help |
115 | Say Y here if you are using version 1 of the Portable Linux | 125 | Say Y here if you are using version 1 of the Portable Linux |
116 | Embedded Board (also known as PLEB). | 126 | Embedded Board (also known as PLEB). |
@@ -119,6 +129,7 @@ config SA1100_PLEB | |||
119 | 129 | ||
120 | config SA1100_SHANNON | 130 | config SA1100_SHANNON |
121 | bool "Shannon" | 131 | bool "Shannon" |
132 | select CPU_FREQ_SA1100 | ||
122 | help | 133 | help |
123 | The Shannon (also known as a Tuxscreen, and also as a IS2630) was a | 134 | The Shannon (also known as a Tuxscreen, and also as a IS2630) was a |
124 | limited edition webphone produced by Philips. The Shannon is a SA1100 | 135 | limited edition webphone produced by Philips. The Shannon is a SA1100 |
@@ -127,6 +138,7 @@ config SA1100_SHANNON | |||
127 | 138 | ||
128 | config SA1100_SIMPAD | 139 | config SA1100_SIMPAD |
129 | bool "Simpad" | 140 | bool "Simpad" |
141 | select CPU_FREQ_SA1110 | ||
130 | help | 142 | help |
131 | The SIEMENS webpad SIMpad is based on the StrongARM 1110. There | 143 | The SIEMENS webpad SIMpad is based on the StrongARM 1110. There |
132 | are two different versions CL4 and SL4. CL4 has 32MB RAM and 16MB | 144 | are two different versions CL4 and SL4. CL4 has 32MB RAM and 16MB |
@@ -145,3 +157,4 @@ config SA1100_SSP | |||
145 | endmenu | 157 | endmenu |
146 | 158 | ||
147 | endif | 159 | endif |
160 | |||
diff --git a/arch/arm/mach-sa1100/generic.c b/arch/arm/mach-sa1100/generic.c index 9faea1511c1f..3c1fcd696714 100644 --- a/arch/arm/mach-sa1100/generic.c +++ b/arch/arm/mach-sa1100/generic.c | |||
@@ -58,7 +58,6 @@ static const unsigned short cclk_frequency_100khz[NR_FREQS] = { | |||
58 | 2802 /* 280.2 MHz */ | 58 | 2802 /* 280.2 MHz */ |
59 | }; | 59 | }; |
60 | 60 | ||
61 | #if defined(CONFIG_CPU_FREQ_SA1100) || defined(CONFIG_CPU_FREQ_SA1110) | ||
62 | /* rounds up(!) */ | 61 | /* rounds up(!) */ |
63 | unsigned int sa11x0_freq_to_ppcr(unsigned int khz) | 62 | unsigned int sa11x0_freq_to_ppcr(unsigned int khz) |
64 | { | 63 | { |
@@ -110,17 +109,6 @@ unsigned int sa11x0_getspeed(unsigned int cpu) | |||
110 | return cclk_frequency_100khz[PPCR & 0xf] * 100; | 109 | return cclk_frequency_100khz[PPCR & 0xf] * 100; |
111 | } | 110 | } |
112 | 111 | ||
113 | #else | ||
114 | /* | ||
115 | * We still need to provide this so building without cpufreq works. | ||
116 | */ | ||
117 | unsigned int cpufreq_get(unsigned int cpu) | ||
118 | { | ||
119 | return cclk_frequency_100khz[PPCR & 0xf] * 100; | ||
120 | } | ||
121 | EXPORT_SYMBOL(cpufreq_get); | ||
122 | #endif | ||
123 | |||
124 | /* | 112 | /* |
125 | * This is the SA11x0 sched_clock implementation. This has | 113 | * This is the SA11x0 sched_clock implementation. This has |
126 | * a resolution of 271ns, and a maximum value of 32025597s (370 days). | 114 | * a resolution of 271ns, and a maximum value of 32025597s (370 days). |
diff --git a/arch/arm/mach-w90x900/include/mach/nuc900_spi.h b/arch/arm/mach-w90x900/include/mach/nuc900_spi.h new file mode 100644 index 000000000000..bd94819e314f --- /dev/null +++ b/arch/arm/mach-w90x900/include/mach/nuc900_spi.h | |||
@@ -0,0 +1,35 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-w90x900/include/mach/nuc900_spi.h | ||
3 | * | ||
4 | * Copyright (c) 2009 Nuvoton technology corporation. | ||
5 | * | ||
6 | * Wan ZongShun <mcuos.com@gmail.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation;version 2 of the License. | ||
11 | * | ||
12 | */ | ||
13 | |||
14 | #ifndef __ASM_ARCH_SPI_H | ||
15 | #define __ASM_ARCH_SPI_H | ||
16 | |||
17 | extern void mfp_set_groupg(struct device *dev); | ||
18 | |||
19 | struct nuc900_spi_info { | ||
20 | unsigned int num_cs; | ||
21 | unsigned int lsb; | ||
22 | unsigned int txneg; | ||
23 | unsigned int rxneg; | ||
24 | unsigned int divider; | ||
25 | unsigned int sleep; | ||
26 | unsigned int txnum; | ||
27 | unsigned int txbitlen; | ||
28 | int bus_num; | ||
29 | }; | ||
30 | |||
31 | struct nuc900_spi_chip { | ||
32 | unsigned char bits_per_word; | ||
33 | }; | ||
34 | |||
35 | #endif /* __ASM_ARCH_SPI_H */ | ||
diff --git a/arch/arm/plat-omap/debug-leds.c b/arch/arm/plat-omap/debug-leds.c index 6c768b71ad64..53fcef7c5201 100644 --- a/arch/arm/plat-omap/debug-leds.c +++ b/arch/arm/plat-omap/debug-leds.c | |||
@@ -293,7 +293,7 @@ static int fpga_resume_noirq(struct device *dev) | |||
293 | return 0; | 293 | return 0; |
294 | } | 294 | } |
295 | 295 | ||
296 | static struct dev_pm_ops fpga_dev_pm_ops = { | 296 | static const struct dev_pm_ops fpga_dev_pm_ops = { |
297 | .suspend_noirq = fpga_suspend_noirq, | 297 | .suspend_noirq = fpga_suspend_noirq, |
298 | .resume_noirq = fpga_resume_noirq, | 298 | .resume_noirq = fpga_resume_noirq, |
299 | }; | 299 | }; |
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 055160e0620e..04846811d0aa 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -1431,7 +1431,7 @@ static int omap_mpuio_resume_noirq(struct device *dev) | |||
1431 | return 0; | 1431 | return 0; |
1432 | } | 1432 | } |
1433 | 1433 | ||
1434 | static struct dev_pm_ops omap_mpuio_dev_pm_ops = { | 1434 | static const struct dev_pm_ops omap_mpuio_dev_pm_ops = { |
1435 | .suspend_noirq = omap_mpuio_suspend_noirq, | 1435 | .suspend_noirq = omap_mpuio_suspend_noirq, |
1436 | .resume_noirq = omap_mpuio_resume_noirq, | 1436 | .resume_noirq = omap_mpuio_resume_noirq, |
1437 | }; | 1437 | }; |
diff --git a/arch/arm/plat-omap/include/plat/irqs.h b/arch/arm/plat-omap/include/plat/irqs.h index ce5dd2d1dc21..97d6c50c3dcb 100644 --- a/arch/arm/plat-omap/include/plat/irqs.h +++ b/arch/arm/plat-omap/include/plat/irqs.h | |||
@@ -472,8 +472,22 @@ | |||
472 | #endif | 472 | #endif |
473 | #define TWL4030_GPIO_IRQ_END (TWL4030_GPIO_IRQ_BASE + TWL4030_GPIO_NR_IRQS) | 473 | #define TWL4030_GPIO_IRQ_END (TWL4030_GPIO_IRQ_BASE + TWL4030_GPIO_NR_IRQS) |
474 | 474 | ||
475 | #define TWL6030_IRQ_BASE (OMAP_FPGA_IRQ_END) | ||
476 | #ifdef CONFIG_TWL4030_CORE | ||
477 | #define TWL6030_BASE_NR_IRQS 20 | ||
478 | #else | ||
479 | #define TWL6030_BASE_NR_IRQS 0 | ||
480 | #endif | ||
481 | #define TWL6030_IRQ_END (TWL6030_IRQ_BASE + TWL6030_BASE_NR_IRQS) | ||
482 | |||
475 | /* Total number of interrupts depends on the enabled blocks above */ | 483 | /* Total number of interrupts depends on the enabled blocks above */ |
476 | #define NR_IRQS TWL4030_GPIO_IRQ_END | 484 | #if (TWL4030_GPIO_IRQ_END > TWL6030_IRQ_END) |
485 | #define TWL_IRQ_END TWL4030_GPIO_IRQ_END | ||
486 | #else | ||
487 | #define TWL_IRQ_END TWL6030_IRQ_END | ||
488 | #endif | ||
489 | |||
490 | #define NR_IRQS TWL_IRQ_END | ||
477 | 491 | ||
478 | #define OMAP_IRQ_BIT(irq) (1 << ((irq) % 32)) | 492 | #define OMAP_IRQ_BIT(irq) (1 << ((irq) % 32)) |
479 | 493 | ||
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c index 2d7423af1197..aed05bc3c2ea 100644 --- a/arch/arm/vfp/vfpmodule.c +++ b/arch/arm/vfp/vfpmodule.c | |||
@@ -38,16 +38,72 @@ union vfp_state *last_VFP_context[NR_CPUS]; | |||
38 | */ | 38 | */ |
39 | unsigned int VFP_arch; | 39 | unsigned int VFP_arch; |
40 | 40 | ||
41 | /* | ||
42 | * Per-thread VFP initialization. | ||
43 | */ | ||
44 | static void vfp_thread_flush(struct thread_info *thread) | ||
45 | { | ||
46 | union vfp_state *vfp = &thread->vfpstate; | ||
47 | unsigned int cpu; | ||
48 | |||
49 | memset(vfp, 0, sizeof(union vfp_state)); | ||
50 | |||
51 | vfp->hard.fpexc = FPEXC_EN; | ||
52 | vfp->hard.fpscr = FPSCR_ROUND_NEAREST; | ||
53 | |||
54 | /* | ||
55 | * Disable VFP to ensure we initialize it first. We must ensure | ||
56 | * that the modification of last_VFP_context[] and hardware disable | ||
57 | * are done for the same CPU and without preemption. | ||
58 | */ | ||
59 | cpu = get_cpu(); | ||
60 | if (last_VFP_context[cpu] == vfp) | ||
61 | last_VFP_context[cpu] = NULL; | ||
62 | fmxr(FPEXC, fmrx(FPEXC) & ~FPEXC_EN); | ||
63 | put_cpu(); | ||
64 | } | ||
65 | |||
66 | static void vfp_thread_release(struct thread_info *thread) | ||
67 | { | ||
68 | /* release case: Per-thread VFP cleanup. */ | ||
69 | union vfp_state *vfp = &thread->vfpstate; | ||
70 | unsigned int cpu = thread->cpu; | ||
71 | |||
72 | if (last_VFP_context[cpu] == vfp) | ||
73 | last_VFP_context[cpu] = NULL; | ||
74 | } | ||
75 | |||
76 | /* | ||
77 | * When this function is called with the following 'cmd's, the following | ||
78 | * is true while this function is being run: | ||
79 | * THREAD_NOFTIFY_SWTICH: | ||
80 | * - the previously running thread will not be scheduled onto another CPU. | ||
81 | * - the next thread to be run (v) will not be running on another CPU. | ||
82 | * - thread->cpu is the local CPU number | ||
83 | * - not preemptible as we're called in the middle of a thread switch | ||
84 | * THREAD_NOTIFY_FLUSH: | ||
85 | * - the thread (v) will be running on the local CPU, so | ||
86 | * v === current_thread_info() | ||
87 | * - thread->cpu is the local CPU number at the time it is accessed, | ||
88 | * but may change at any time. | ||
89 | * - we could be preempted if tree preempt rcu is enabled, so | ||
90 | * it is unsafe to use thread->cpu. | ||
91 | * THREAD_NOTIFY_RELEASE: | ||
92 | * - the thread (v) will not be running on any CPU; it is a dead thread. | ||
93 | * - thread->cpu will be the last CPU the thread ran on, which may not | ||
94 | * be the current CPU. | ||
95 | * - we could be preempted if tree preempt rcu is enabled. | ||
96 | */ | ||
41 | static int vfp_notifier(struct notifier_block *self, unsigned long cmd, void *v) | 97 | static int vfp_notifier(struct notifier_block *self, unsigned long cmd, void *v) |
42 | { | 98 | { |
43 | struct thread_info *thread = v; | 99 | struct thread_info *thread = v; |
44 | union vfp_state *vfp; | ||
45 | __u32 cpu = thread->cpu; | ||
46 | 100 | ||
47 | if (likely(cmd == THREAD_NOTIFY_SWITCH)) { | 101 | if (likely(cmd == THREAD_NOTIFY_SWITCH)) { |
48 | u32 fpexc = fmrx(FPEXC); | 102 | u32 fpexc = fmrx(FPEXC); |
49 | 103 | ||
50 | #ifdef CONFIG_SMP | 104 | #ifdef CONFIG_SMP |
105 | unsigned int cpu = thread->cpu; | ||
106 | |||
51 | /* | 107 | /* |
52 | * On SMP, if VFP is enabled, save the old state in | 108 | * On SMP, if VFP is enabled, save the old state in |
53 | * case the thread migrates to a different CPU. The | 109 | * case the thread migrates to a different CPU. The |
@@ -74,25 +130,10 @@ static int vfp_notifier(struct notifier_block *self, unsigned long cmd, void *v) | |||
74 | return NOTIFY_DONE; | 130 | return NOTIFY_DONE; |
75 | } | 131 | } |
76 | 132 | ||
77 | vfp = &thread->vfpstate; | 133 | if (cmd == THREAD_NOTIFY_FLUSH) |
78 | if (cmd == THREAD_NOTIFY_FLUSH) { | 134 | vfp_thread_flush(thread); |
79 | /* | 135 | else |
80 | * Per-thread VFP initialisation. | 136 | vfp_thread_release(thread); |
81 | */ | ||
82 | memset(vfp, 0, sizeof(union vfp_state)); | ||
83 | |||
84 | vfp->hard.fpexc = FPEXC_EN; | ||
85 | vfp->hard.fpscr = FPSCR_ROUND_NEAREST; | ||
86 | |||
87 | /* | ||
88 | * Disable VFP to ensure we initialise it first. | ||
89 | */ | ||
90 | fmxr(FPEXC, fmrx(FPEXC) & ~FPEXC_EN); | ||
91 | } | ||
92 | |||
93 | /* flush and release case: Per-thread VFP cleanup. */ | ||
94 | if (last_VFP_context[cpu] == vfp) | ||
95 | last_VFP_context[cpu] = NULL; | ||
96 | 137 | ||
97 | return NOTIFY_DONE; | 138 | return NOTIFY_DONE; |
98 | } | 139 | } |
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig index d856354f4272..f2b319333184 100644 --- a/arch/avr32/Kconfig +++ b/arch/avr32/Kconfig | |||
@@ -112,6 +112,11 @@ config CPU_AT32AP7002 | |||
112 | bool | 112 | bool |
113 | select CPU_AT32AP700X | 113 | select CPU_AT32AP700X |
114 | 114 | ||
115 | # AP700X boards | ||
116 | config BOARD_ATNGW100_COMMON | ||
117 | bool | ||
118 | select CPU_AT32AP7000 | ||
119 | |||
115 | choice | 120 | choice |
116 | prompt "AVR32 board type" | 121 | prompt "AVR32 board type" |
117 | default BOARD_ATSTK1000 | 122 | default BOARD_ATSTK1000 |
@@ -119,9 +124,13 @@ choice | |||
119 | config BOARD_ATSTK1000 | 124 | config BOARD_ATSTK1000 |
120 | bool "ATSTK1000 evaluation board" | 125 | bool "ATSTK1000 evaluation board" |
121 | 126 | ||
122 | config BOARD_ATNGW100 | 127 | config BOARD_ATNGW100_MKI |
123 | bool "ATNGW100 Network Gateway" | 128 | bool "ATNGW100 Network Gateway" |
124 | select CPU_AT32AP7000 | 129 | select BOARD_ATNGW100_COMMON |
130 | |||
131 | config BOARD_ATNGW100_MKII | ||
132 | bool "ATNGW100 mkII Network Gateway" | ||
133 | select BOARD_ATNGW100_COMMON | ||
125 | 134 | ||
126 | config BOARD_HAMMERHEAD | 135 | config BOARD_HAMMERHEAD |
127 | bool "Hammerhead board" | 136 | bool "Hammerhead board" |
diff --git a/arch/avr32/Makefile b/arch/avr32/Makefile index c21a3290d542..ead8a75203a9 100644 --- a/arch/avr32/Makefile +++ b/arch/avr32/Makefile | |||
@@ -32,7 +32,7 @@ head-$(CONFIG_LOADER_U_BOOT) += arch/avr32/boot/u-boot/head.o | |||
32 | head-y += arch/avr32/kernel/head.o | 32 | head-y += arch/avr32/kernel/head.o |
33 | core-y += $(machdirs) | 33 | core-y += $(machdirs) |
34 | core-$(CONFIG_BOARD_ATSTK1000) += arch/avr32/boards/atstk1000/ | 34 | core-$(CONFIG_BOARD_ATSTK1000) += arch/avr32/boards/atstk1000/ |
35 | core-$(CONFIG_BOARD_ATNGW100) += arch/avr32/boards/atngw100/ | 35 | core-$(CONFIG_BOARD_ATNGW100_COMMON) += arch/avr32/boards/atngw100/ |
36 | core-$(CONFIG_BOARD_HAMMERHEAD) += arch/avr32/boards/hammerhead/ | 36 | core-$(CONFIG_BOARD_HAMMERHEAD) += arch/avr32/boards/hammerhead/ |
37 | core-$(CONFIG_BOARD_FAVR_32) += arch/avr32/boards/favr-32/ | 37 | core-$(CONFIG_BOARD_FAVR_32) += arch/avr32/boards/favr-32/ |
38 | core-$(CONFIG_BOARD_MERISC) += arch/avr32/boards/merisc/ | 38 | core-$(CONFIG_BOARD_MERISC) += arch/avr32/boards/merisc/ |
diff --git a/arch/avr32/boards/atngw100/Kconfig b/arch/avr32/boards/atngw100/Kconfig index be27a0218ab4..4e55617ade2d 100644 --- a/arch/avr32/boards/atngw100/Kconfig +++ b/arch/avr32/boards/atngw100/Kconfig | |||
@@ -1,6 +1,17 @@ | |||
1 | # NGW100 customization | 1 | # NGW100 customization |
2 | 2 | ||
3 | if BOARD_ATNGW100 | 3 | if BOARD_ATNGW100_COMMON |
4 | |||
5 | config BOARD_ATNGW100_MKII_LCD | ||
6 | bool "Enable ATNGW100 mkII LCD interface" | ||
7 | depends on BOARD_ATNGW100_MKII | ||
8 | help | ||
9 | This enables the LCD controller (LCDC) in the AT32AP7000. Since the | ||
10 | LCDC is multiplexed with MACB1 (LAN) Ethernet port, only one can be | ||
11 | enabled at a time. | ||
12 | |||
13 | This choice enables the LCDC and disables the MACB1 interface marked | ||
14 | LAN on the PCB. | ||
4 | 15 | ||
5 | choice | 16 | choice |
6 | prompt "Select an NGW100 add-on board to support" | 17 | prompt "Select an NGW100 add-on board to support" |
@@ -11,15 +22,11 @@ config BOARD_ATNGW100_ADDON_NONE | |||
11 | 22 | ||
12 | config BOARD_ATNGW100_EVKLCD10X | 23 | config BOARD_ATNGW100_EVKLCD10X |
13 | bool "EVKLCD10X addon board" | 24 | bool "EVKLCD10X addon board" |
25 | depends on BOARD_ATNGW100_MKI || BOARD_ATNGW100_MKII_LCD | ||
14 | help | 26 | help |
15 | This enables support for the EVKLCD100 (QVGA) or EVKLCD101 (VGA) | 27 | This enables support for the EVKLCD100 (QVGA) or EVKLCD101 (VGA) |
16 | addon board for the NGW100. By enabling this the LCD controller and | 28 | addon board for the NGW100 and NGW100 mkII. By enabling this the LCD |
17 | AC97 controller is added as platform devices. | 29 | controller and AC97 controller is added as platform devices. |
18 | |||
19 | This choice disables the detect pin and the write-protect pin for the | ||
20 | MCI platform device, since it conflicts with the LCD platform device. | ||
21 | The MCI pins can be reenabled by editing the "add device function" but | ||
22 | this may break the setup for other displays that use these pins. | ||
23 | 30 | ||
24 | config BOARD_ATNGW100_MRMT | 31 | config BOARD_ATNGW100_MRMT |
25 | bool "Mediama RMT1/2 add-on board" | 32 | bool "Mediama RMT1/2 add-on board" |
@@ -55,4 +62,4 @@ if BOARD_ATNGW100_MRMT | |||
55 | source "arch/avr32/boards/atngw100/Kconfig_mrmt" | 62 | source "arch/avr32/boards/atngw100/Kconfig_mrmt" |
56 | endif | 63 | endif |
57 | 64 | ||
58 | endif # BOARD_ATNGW100 | 65 | endif # BOARD_ATNGW100_COMMON |
diff --git a/arch/avr32/boards/atngw100/evklcd10x.c b/arch/avr32/boards/atngw100/evklcd10x.c index 00337112c5ac..20388750d564 100644 --- a/arch/avr32/boards/atngw100/evklcd10x.c +++ b/arch/avr32/boards/atngw100/evklcd10x.c | |||
@@ -164,7 +164,12 @@ static int __init atevklcd10x_init(void) | |||
164 | 164 | ||
165 | at32_add_device_lcdc(0, &atevklcd10x_lcdc_data, | 165 | at32_add_device_lcdc(0, &atevklcd10x_lcdc_data, |
166 | fbmem_start, fbmem_size, | 166 | fbmem_start, fbmem_size, |
167 | ATMEL_LCDC_ALT_18BIT | ATMEL_LCDC_PE_DVAL); | 167 | #ifdef CONFIG_BOARD_ATNGW100_MKII |
168 | ATMEL_LCDC_PRI_18BIT | ATMEL_LCDC_PC_DVAL | ||
169 | #else | ||
170 | ATMEL_LCDC_ALT_18BIT | ATMEL_LCDC_PE_DVAL | ||
171 | #endif | ||
172 | ); | ||
168 | 173 | ||
169 | at32_add_device_ac97c(0, &ac97c0_data, AC97C_BOTH); | 174 | at32_add_device_ac97c(0, &ac97c0_data, AC97C_BOTH); |
170 | 175 | ||
diff --git a/arch/avr32/boards/atngw100/mrmt.c b/arch/avr32/boards/atngw100/mrmt.c index bf78e516a85f..7919be311f4a 100644 --- a/arch/avr32/boards/atngw100/mrmt.c +++ b/arch/avr32/boards/atngw100/mrmt.c | |||
@@ -302,6 +302,7 @@ static int __init mrmt1_init(void) | |||
302 | at32_select_periph( GPIO_PIOB_BASE, 1 << (PB_EXTINT_BASE+TS_IRQ), | 302 | at32_select_periph( GPIO_PIOB_BASE, 1 << (PB_EXTINT_BASE+TS_IRQ), |
303 | GPIO_PERIPH_A, AT32_GPIOF_DEGLITCH); | 303 | GPIO_PERIPH_A, AT32_GPIOF_DEGLITCH); |
304 | set_irq_type( AT32_EXTINT(TS_IRQ), IRQ_TYPE_EDGE_FALLING ); | 304 | set_irq_type( AT32_EXTINT(TS_IRQ), IRQ_TYPE_EDGE_FALLING ); |
305 | at32_spi_setup_slaves(0,spi01_board_info,ARRAY_SIZE(spi01_board_info)); | ||
305 | spi_register_board_info(spi01_board_info,ARRAY_SIZE(spi01_board_info)); | 306 | spi_register_board_info(spi01_board_info,ARRAY_SIZE(spi01_board_info)); |
306 | #endif | 307 | #endif |
307 | 308 | ||
diff --git a/arch/avr32/boards/atngw100/setup.c b/arch/avr32/boards/atngw100/setup.c index bc299fbbeb4e..8c6a2440e345 100644 --- a/arch/avr32/boards/atngw100/setup.c +++ b/arch/avr32/boards/atngw100/setup.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/leds.h> | 20 | #include <linux/leds.h> |
21 | #include <linux/spi/spi.h> | 21 | #include <linux/spi/spi.h> |
22 | #include <linux/atmel-mci.h> | 22 | #include <linux/atmel-mci.h> |
23 | #include <linux/usb/atmel_usba_udc.h> | ||
23 | 24 | ||
24 | #include <asm/io.h> | 25 | #include <asm/io.h> |
25 | #include <asm/setup.h> | 26 | #include <asm/setup.h> |
@@ -36,6 +37,75 @@ unsigned long at32_board_osc_rates[3] = { | |||
36 | [2] = 12000000, /* 12 MHz on osc1 */ | 37 | [2] = 12000000, /* 12 MHz on osc1 */ |
37 | }; | 38 | }; |
38 | 39 | ||
40 | /* | ||
41 | * The ATNGW100 mkII is very similar to the ATNGW100. Both have the AT32AP7000 | ||
42 | * chip on board; the difference is that the ATNGW100 mkII has 128 MB 32-bit | ||
43 | * SDRAM (the ATNGW100 has 32 MB 16-bit SDRAM) and 256 MB 16-bit NAND flash | ||
44 | * (the ATNGW100 has none.) | ||
45 | * | ||
46 | * The RAM difference is handled by the boot loader, so the only difference we | ||
47 | * end up handling here is the NAND flash, EBI pin reservation and if LCDC or | ||
48 | * MACB1 should be enabled. | ||
49 | */ | ||
50 | #ifdef CONFIG_BOARD_ATNGW100_MKII | ||
51 | #include <linux/mtd/partitions.h> | ||
52 | #include <mach/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 = 2, | ||
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 | static struct atmel_nand_data atngw100mkii_nand_data __initdata = { | ||
100 | .cle = 21, | ||
101 | .ale = 22, | ||
102 | .rdy_pin = GPIO_PIN_PB(28), | ||
103 | .enable_pin = GPIO_PIN_PE(23), | ||
104 | .bus_width_16 = true, | ||
105 | .partition_info = nand_part_info, | ||
106 | }; | ||
107 | #endif | ||
108 | |||
39 | /* Initialized by bootloader-specific startup code. */ | 109 | /* Initialized by bootloader-specific startup code. */ |
40 | struct tag *bootloader_tags __initdata; | 110 | struct tag *bootloader_tags __initdata; |
41 | 111 | ||
@@ -56,9 +126,9 @@ static struct spi_board_info spi0_board_info[] __initdata = { | |||
56 | static struct mci_platform_data __initdata mci0_data = { | 126 | static struct mci_platform_data __initdata mci0_data = { |
57 | .slot[0] = { | 127 | .slot[0] = { |
58 | .bus_width = 4, | 128 | .bus_width = 4, |
59 | #if defined(CONFIG_BOARD_ATNGW100_EVKLCD10X) || defined(CONFIG_BOARD_ATNGW100_MRMT1) | 129 | #if defined(CONFIG_BOARD_ATNGW100_MKII) |
60 | .detect_pin = GPIO_PIN_NONE, | 130 | .detect_pin = GPIO_PIN_PC(25), |
61 | .wp_pin = GPIO_PIN_NONE, | 131 | .wp_pin = GPIO_PIN_PE(22), |
62 | #else | 132 | #else |
63 | .detect_pin = GPIO_PIN_PC(25), | 133 | .detect_pin = GPIO_PIN_PC(25), |
64 | .wp_pin = GPIO_PIN_PE(0), | 134 | .wp_pin = GPIO_PIN_PE(0), |
@@ -66,6 +136,14 @@ static struct mci_platform_data __initdata mci0_data = { | |||
66 | }, | 136 | }, |
67 | }; | 137 | }; |
68 | 138 | ||
139 | static struct usba_platform_data atngw100_usba_data __initdata = { | ||
140 | #if defined(CONFIG_BOARD_ATNGW100_MKII) | ||
141 | .vbus_pin = GPIO_PIN_PE(26), | ||
142 | #else | ||
143 | .vbus_pin = -ENODEV, | ||
144 | #endif | ||
145 | }; | ||
146 | |||
69 | /* | 147 | /* |
70 | * The next two functions should go away as the boot loader is | 148 | * The next two functions should go away as the boot loader is |
71 | * supposed to initialize the macb address registers with a valid | 149 | * supposed to initialize the macb address registers with a valid |
@@ -173,18 +251,27 @@ static int __init atngw100_init(void) | |||
173 | unsigned i; | 251 | unsigned i; |
174 | 252 | ||
175 | /* | 253 | /* |
176 | * ATNGW100 uses 16-bit SDRAM interface, so we don't need to | 254 | * ATNGW100 mkII uses 32-bit SDRAM interface. Reserve the |
177 | * reserve any pins for it. | 255 | * SDRAM-specific pins so that nobody messes with them. |
178 | */ | 256 | */ |
257 | #ifdef CONFIG_BOARD_ATNGW100_MKII | ||
258 | at32_reserve_pin(GPIO_PIOE_BASE, ATMEL_EBI_PE_DATA_ALL); | ||
259 | |||
260 | smc_set_timing(&nand_config, &nand_timing); | ||
261 | smc_set_configuration(3, &nand_config); | ||
262 | at32_add_device_nand(0, &atngw100mkii_nand_data); | ||
263 | #endif | ||
179 | 264 | ||
180 | at32_add_device_usart(0); | 265 | at32_add_device_usart(0); |
181 | 266 | ||
182 | set_hw_addr(at32_add_device_eth(0, ð_data[0])); | 267 | set_hw_addr(at32_add_device_eth(0, ð_data[0])); |
268 | #ifndef CONFIG_BOARD_ATNGW100_MKII_LCD | ||
183 | set_hw_addr(at32_add_device_eth(1, ð_data[1])); | 269 | set_hw_addr(at32_add_device_eth(1, ð_data[1])); |
270 | #endif | ||
184 | 271 | ||
185 | at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info)); | 272 | at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info)); |
186 | at32_add_device_mci(0, &mci0_data); | 273 | at32_add_device_mci(0, &mci0_data); |
187 | at32_add_device_usba(0, NULL); | 274 | at32_add_device_usba(0, &atngw100_usba_data); |
188 | 275 | ||
189 | for (i = 0; i < ARRAY_SIZE(ngw_leds); i++) { | 276 | for (i = 0; i < ARRAY_SIZE(ngw_leds); i++) { |
190 | at32_select_gpio(ngw_leds[i].gpio, | 277 | at32_select_gpio(ngw_leds[i].gpio, |
@@ -194,10 +281,14 @@ static int __init atngw100_init(void) | |||
194 | 281 | ||
195 | /* all these i2c/smbus pins should have external pullups for | 282 | /* all these i2c/smbus pins should have external pullups for |
196 | * open-drain sharing among all I2C devices. SDA and SCL do; | 283 | * open-drain sharing among all I2C devices. SDA and SCL do; |
197 | * PB28/EXTINT3 doesn't; it should be SMBALERT# (for PMBus), | 284 | * PB28/EXTINT3 (ATNGW100) and PE21 (ATNGW100 mkII) doesn't; it should |
198 | * but it's not available off-board. | 285 | * be SMBALERT# (for PMBus), but it's not available off-board. |
199 | */ | 286 | */ |
287 | #ifdef CONFIG_BOARD_ATNGW100_MKII | ||
288 | at32_select_periph(GPIO_PIOE_BASE, 1 << 21, 0, AT32_GPIOF_PULLUP); | ||
289 | #else | ||
200 | at32_select_periph(GPIO_PIOB_BASE, 1 << 28, 0, AT32_GPIOF_PULLUP); | 290 | at32_select_periph(GPIO_PIOB_BASE, 1 << 28, 0, AT32_GPIOF_PULLUP); |
291 | #endif | ||
201 | at32_select_gpio(i2c_gpio_data.sda_pin, | 292 | at32_select_gpio(i2c_gpio_data.sda_pin, |
202 | AT32_GPIOF_MULTIDRV | AT32_GPIOF_OUTPUT | AT32_GPIOF_HIGH); | 293 | AT32_GPIOF_MULTIDRV | AT32_GPIOF_OUTPUT | AT32_GPIOF_HIGH); |
203 | at32_select_gpio(i2c_gpio_data.scl_pin, | 294 | at32_select_gpio(i2c_gpio_data.scl_pin, |
@@ -211,14 +302,22 @@ postcore_initcall(atngw100_init); | |||
211 | 302 | ||
212 | static int __init atngw100_arch_init(void) | 303 | static int __init atngw100_arch_init(void) |
213 | { | 304 | { |
214 | /* PB30 is the otherwise unused jumper on the mainboard, with an | 305 | /* PB30 (ATNGW100) and PE30 (ATNGW100 mkII) is the otherwise unused |
215 | * external pullup; the jumper grounds it. Use it however you | 306 | * jumper on the mainboard, with an external pullup; the jumper grounds |
216 | * like, including letting U-Boot or Linux tweak boot sequences. | 307 | * it. Use it however you like, including letting U-Boot or Linux tweak |
308 | * boot sequences. | ||
217 | */ | 309 | */ |
310 | #ifdef CONFIG_BOARD_ATNGW100_MKII | ||
311 | at32_select_gpio(GPIO_PIN_PE(30), 0); | ||
312 | gpio_request(GPIO_PIN_PE(30), "j15"); | ||
313 | gpio_direction_input(GPIO_PIN_PE(30)); | ||
314 | gpio_export(GPIO_PIN_PE(30), false); | ||
315 | #else | ||
218 | at32_select_gpio(GPIO_PIN_PB(30), 0); | 316 | at32_select_gpio(GPIO_PIN_PB(30), 0); |
219 | gpio_request(GPIO_PIN_PB(30), "j15"); | 317 | gpio_request(GPIO_PIN_PB(30), "j15"); |
220 | gpio_direction_input(GPIO_PIN_PB(30)); | 318 | gpio_direction_input(GPIO_PIN_PB(30)); |
221 | gpio_export(GPIO_PIN_PB(30), false); | 319 | gpio_export(GPIO_PIN_PB(30), false); |
320 | #endif | ||
222 | 321 | ||
223 | /* set_irq_type() after the arch_initcall for EIC has run, and | 322 | /* set_irq_type() after the arch_initcall for EIC has run, and |
224 | * before the I2C subsystem could try using this IRQ. | 323 | * before the I2C subsystem could try using this IRQ. |
diff --git a/arch/avr32/configs/atngw100_defconfig b/arch/avr32/configs/atngw100_defconfig index 574aca975334..32205c9d37d4 100644 --- a/arch/avr32/configs/atngw100_defconfig +++ b/arch/avr32/configs/atngw100_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.32-rc5 |
4 | # Tue Aug 5 16:00:47 2008 | 4 | # Thu Oct 29 09:39:22 2009 |
5 | # | 5 | # |
6 | CONFIG_AVR32=y | 6 | CONFIG_AVR32=y |
7 | CONFIG_GENERIC_GPIO=y | 7 | CONFIG_GENERIC_GPIO=y |
@@ -21,6 +21,7 @@ CONFIG_GENERIC_HWEIGHT=y | |||
21 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 21 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
22 | CONFIG_GENERIC_BUG=y | 22 | CONFIG_GENERIC_BUG=y |
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
24 | 25 | ||
25 | # | 26 | # |
26 | # General setup | 27 | # General setup |
@@ -34,22 +35,37 @@ CONFIG_SWAP=y | |||
34 | CONFIG_SYSVIPC=y | 35 | CONFIG_SYSVIPC=y |
35 | CONFIG_SYSVIPC_SYSCTL=y | 36 | CONFIG_SYSVIPC_SYSCTL=y |
36 | CONFIG_POSIX_MQUEUE=y | 37 | CONFIG_POSIX_MQUEUE=y |
38 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
37 | CONFIG_BSD_PROCESS_ACCT=y | 39 | CONFIG_BSD_PROCESS_ACCT=y |
38 | CONFIG_BSD_PROCESS_ACCT_V3=y | 40 | CONFIG_BSD_PROCESS_ACCT_V3=y |
39 | # CONFIG_TASKSTATS is not set | 41 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_AUDIT is not set | 42 | # CONFIG_AUDIT is not set |
43 | |||
44 | # | ||
45 | # RCU Subsystem | ||
46 | # | ||
47 | CONFIG_TREE_RCU=y | ||
48 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
49 | # CONFIG_RCU_TRACE is not set | ||
50 | CONFIG_RCU_FANOUT=32 | ||
51 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
52 | # CONFIG_TREE_RCU_TRACE is not set | ||
41 | # CONFIG_IKCONFIG is not set | 53 | # CONFIG_IKCONFIG is not set |
42 | CONFIG_LOG_BUF_SHIFT=14 | 54 | CONFIG_LOG_BUF_SHIFT=14 |
43 | # CONFIG_CGROUPS is not set | ||
44 | # CONFIG_GROUP_SCHED is not set | 55 | # CONFIG_GROUP_SCHED is not set |
56 | # CONFIG_CGROUPS is not set | ||
45 | CONFIG_SYSFS_DEPRECATED=y | 57 | CONFIG_SYSFS_DEPRECATED=y |
46 | CONFIG_SYSFS_DEPRECATED_V2=y | 58 | CONFIG_SYSFS_DEPRECATED_V2=y |
47 | # CONFIG_RELAY is not set | 59 | # CONFIG_RELAY is not set |
48 | # CONFIG_NAMESPACES is not set | 60 | # CONFIG_NAMESPACES is not set |
49 | CONFIG_BLK_DEV_INITRD=y | 61 | CONFIG_BLK_DEV_INITRD=y |
50 | CONFIG_INITRAMFS_SOURCE="" | 62 | CONFIG_INITRAMFS_SOURCE="" |
63 | CONFIG_RD_GZIP=y | ||
64 | # CONFIG_RD_BZIP2 is not set | ||
65 | # CONFIG_RD_LZMA is not set | ||
51 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 66 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
52 | CONFIG_SYSCTL=y | 67 | CONFIG_SYSCTL=y |
68 | CONFIG_ANON_INODES=y | ||
53 | CONFIG_EMBEDDED=y | 69 | CONFIG_EMBEDDED=y |
54 | # CONFIG_SYSCTL_SYSCALL is not set | 70 | # CONFIG_SYSCTL_SYSCALL is not set |
55 | CONFIG_KALLSYMS=y | 71 | CONFIG_KALLSYMS=y |
@@ -59,38 +75,40 @@ CONFIG_HOTPLUG=y | |||
59 | CONFIG_PRINTK=y | 75 | CONFIG_PRINTK=y |
60 | CONFIG_BUG=y | 76 | CONFIG_BUG=y |
61 | CONFIG_ELF_CORE=y | 77 | CONFIG_ELF_CORE=y |
62 | # CONFIG_COMPAT_BRK is not set | ||
63 | # CONFIG_BASE_FULL is not set | 78 | # CONFIG_BASE_FULL is not set |
64 | CONFIG_FUTEX=y | 79 | CONFIG_FUTEX=y |
65 | CONFIG_ANON_INODES=y | ||
66 | CONFIG_EPOLL=y | 80 | CONFIG_EPOLL=y |
67 | CONFIG_SIGNALFD=y | 81 | CONFIG_SIGNALFD=y |
68 | CONFIG_TIMERFD=y | 82 | CONFIG_TIMERFD=y |
69 | CONFIG_EVENTFD=y | 83 | CONFIG_EVENTFD=y |
70 | CONFIG_SHMEM=y | 84 | CONFIG_SHMEM=y |
85 | CONFIG_AIO=y | ||
86 | |||
87 | # | ||
88 | # Kernel Performance Events And Counters | ||
89 | # | ||
71 | CONFIG_VM_EVENT_COUNTERS=y | 90 | CONFIG_VM_EVENT_COUNTERS=y |
72 | CONFIG_SLUB_DEBUG=y | 91 | CONFIG_SLUB_DEBUG=y |
92 | # CONFIG_COMPAT_BRK is not set | ||
73 | # CONFIG_SLAB is not set | 93 | # CONFIG_SLAB is not set |
74 | CONFIG_SLUB=y | 94 | CONFIG_SLUB=y |
75 | # CONFIG_SLOB is not set | 95 | # CONFIG_SLOB is not set |
76 | CONFIG_PROFILING=y | 96 | CONFIG_PROFILING=y |
77 | # CONFIG_MARKERS is not set | 97 | CONFIG_TRACEPOINTS=y |
78 | CONFIG_OPROFILE=m | 98 | CONFIG_OPROFILE=m |
79 | CONFIG_HAVE_OPROFILE=y | 99 | CONFIG_HAVE_OPROFILE=y |
80 | CONFIG_KPROBES=y | 100 | CONFIG_KPROBES=y |
81 | # CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set | ||
82 | # CONFIG_HAVE_IOREMAP_PROT is not set | ||
83 | CONFIG_HAVE_KPROBES=y | 101 | CONFIG_HAVE_KPROBES=y |
84 | # CONFIG_HAVE_KRETPROBES is not set | ||
85 | # CONFIG_HAVE_ARCH_TRACEHOOK is not set | ||
86 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
87 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
88 | CONFIG_HAVE_CLK=y | 102 | CONFIG_HAVE_CLK=y |
89 | CONFIG_PROC_PAGE_MONITOR=y | 103 | |
104 | # | ||
105 | # GCOV-based kernel profiling | ||
106 | # | ||
107 | # CONFIG_GCOV_KERNEL is not set | ||
108 | CONFIG_SLOW_WORK=y | ||
90 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 109 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
91 | CONFIG_SLABINFO=y | 110 | CONFIG_SLABINFO=y |
92 | CONFIG_RT_MUTEXES=y | 111 | CONFIG_RT_MUTEXES=y |
93 | # CONFIG_TINY_SHMEM is not set | ||
94 | CONFIG_BASE_SMALL=1 | 112 | CONFIG_BASE_SMALL=1 |
95 | CONFIG_MODULES=y | 113 | CONFIG_MODULES=y |
96 | # CONFIG_MODULE_FORCE_LOAD is not set | 114 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -98,11 +116,8 @@ CONFIG_MODULE_UNLOAD=y | |||
98 | CONFIG_MODULE_FORCE_UNLOAD=y | 116 | CONFIG_MODULE_FORCE_UNLOAD=y |
99 | # CONFIG_MODVERSIONS is not set | 117 | # CONFIG_MODVERSIONS is not set |
100 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 118 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
101 | CONFIG_KMOD=y | ||
102 | CONFIG_BLOCK=y | 119 | CONFIG_BLOCK=y |
103 | # CONFIG_LBD is not set | 120 | CONFIG_LBDAF=y |
104 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
105 | # CONFIG_LSF is not set | ||
106 | # CONFIG_BLK_DEV_BSG is not set | 121 | # CONFIG_BLK_DEV_BSG is not set |
107 | # CONFIG_BLK_DEV_INTEGRITY is not set | 122 | # CONFIG_BLK_DEV_INTEGRITY is not set |
108 | 123 | ||
@@ -118,7 +133,7 @@ CONFIG_IOSCHED_CFQ=y | |||
118 | CONFIG_DEFAULT_CFQ=y | 133 | CONFIG_DEFAULT_CFQ=y |
119 | # CONFIG_DEFAULT_NOOP is not set | 134 | # CONFIG_DEFAULT_NOOP is not set |
120 | CONFIG_DEFAULT_IOSCHED="cfq" | 135 | CONFIG_DEFAULT_IOSCHED="cfq" |
121 | CONFIG_CLASSIC_RCU=y | 136 | CONFIG_FREEZER=y |
122 | 137 | ||
123 | # | 138 | # |
124 | # System Type and features | 139 | # System Type and features |
@@ -133,8 +148,23 @@ CONFIG_PERFORMANCE_COUNTERS=y | |||
133 | CONFIG_PLATFORM_AT32AP=y | 148 | CONFIG_PLATFORM_AT32AP=y |
134 | CONFIG_CPU_AT32AP700X=y | 149 | CONFIG_CPU_AT32AP700X=y |
135 | CONFIG_CPU_AT32AP7000=y | 150 | CONFIG_CPU_AT32AP7000=y |
151 | CONFIG_BOARD_ATNGW100_COMMON=y | ||
136 | # CONFIG_BOARD_ATSTK1000 is not set | 152 | # CONFIG_BOARD_ATSTK1000 is not set |
137 | CONFIG_BOARD_ATNGW100=y | 153 | CONFIG_BOARD_ATNGW100_MKI=y |
154 | # CONFIG_BOARD_ATNGW100_MKII is not set | ||
155 | # CONFIG_BOARD_HAMMERHEAD is not set | ||
156 | # CONFIG_BOARD_FAVR_32 is not set | ||
157 | # CONFIG_BOARD_MERISC is not set | ||
158 | # CONFIG_BOARD_MIMC200 is not set | ||
159 | # CONFIG_BOARD_ATSTK1002 is not set | ||
160 | # CONFIG_BOARD_ATSTK1003 is not set | ||
161 | # CONFIG_BOARD_ATSTK1004 is not set | ||
162 | # CONFIG_BOARD_ATSTK1006 is not set | ||
163 | # CONFIG_BOARD_ATSTK1000_J2_LED8 is not set | ||
164 | # CONFIG_BOARD_ATSTK1000_J2_RGB is not set | ||
165 | CONFIG_BOARD_ATNGW100_ADDON_NONE=y | ||
166 | # CONFIG_BOARD_ATNGW100_EVKLCD10X is not set | ||
167 | # CONFIG_BOARD_ATNGW100_MRMT is not set | ||
138 | CONFIG_LOADER_U_BOOT=y | 168 | CONFIG_LOADER_U_BOOT=y |
139 | 169 | ||
140 | # | 170 | # |
@@ -150,7 +180,7 @@ CONFIG_PREEMPT_NONE=y | |||
150 | # CONFIG_PREEMPT_VOLUNTARY is not set | 180 | # CONFIG_PREEMPT_VOLUNTARY is not set |
151 | # CONFIG_PREEMPT is not set | 181 | # CONFIG_PREEMPT is not set |
152 | CONFIG_QUICKLIST=y | 182 | CONFIG_QUICKLIST=y |
153 | # CONFIG_HAVE_ARCH_BOOTMEM_NODE is not set | 183 | # CONFIG_HAVE_ARCH_BOOTMEM is not set |
154 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set | 184 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set |
155 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set | 185 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set |
156 | CONFIG_ARCH_FLATMEM_ENABLE=y | 186 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -162,14 +192,16 @@ CONFIG_FLATMEM_MANUAL=y | |||
162 | # CONFIG_SPARSEMEM_MANUAL is not set | 192 | # CONFIG_SPARSEMEM_MANUAL is not set |
163 | CONFIG_FLATMEM=y | 193 | CONFIG_FLATMEM=y |
164 | CONFIG_FLAT_NODE_MEM_MAP=y | 194 | CONFIG_FLAT_NODE_MEM_MAP=y |
165 | # CONFIG_SPARSEMEM_STATIC is not set | ||
166 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
167 | CONFIG_PAGEFLAGS_EXTENDED=y | 195 | CONFIG_PAGEFLAGS_EXTENDED=y |
168 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 196 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
169 | # CONFIG_RESOURCES_64BIT is not set | 197 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
170 | CONFIG_ZONE_DMA_FLAG=0 | 198 | CONFIG_ZONE_DMA_FLAG=0 |
171 | CONFIG_NR_QUICK=2 | 199 | CONFIG_NR_QUICK=2 |
172 | CONFIG_VIRT_TO_BUS=y | 200 | CONFIG_VIRT_TO_BUS=y |
201 | CONFIG_HAVE_MLOCK=y | ||
202 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
203 | # CONFIG_KSM is not set | ||
204 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
173 | # CONFIG_OWNERSHIP_TRACE is not set | 205 | # CONFIG_OWNERSHIP_TRACE is not set |
174 | CONFIG_NMI_DEBUGGING=y | 206 | CONFIG_NMI_DEBUGGING=y |
175 | # CONFIG_HZ_100 is not set | 207 | # CONFIG_HZ_100 is not set |
@@ -177,7 +209,7 @@ CONFIG_HZ_250=y | |||
177 | # CONFIG_HZ_300 is not set | 209 | # CONFIG_HZ_300 is not set |
178 | # CONFIG_HZ_1000 is not set | 210 | # CONFIG_HZ_1000 is not set |
179 | CONFIG_HZ=250 | 211 | CONFIG_HZ=250 |
180 | # CONFIG_SCHED_HRTICK is not set | 212 | CONFIG_SCHED_HRTICK=y |
181 | CONFIG_CMDLINE="" | 213 | CONFIG_CMDLINE="" |
182 | 214 | ||
183 | # | 215 | # |
@@ -188,6 +220,7 @@ CONFIG_PM=y | |||
188 | CONFIG_PM_SLEEP=y | 220 | CONFIG_PM_SLEEP=y |
189 | CONFIG_SUSPEND=y | 221 | CONFIG_SUSPEND=y |
190 | CONFIG_SUSPEND_FREEZER=y | 222 | CONFIG_SUSPEND_FREEZER=y |
223 | # CONFIG_PM_RUNTIME is not set | ||
191 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 224 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
192 | 225 | ||
193 | # | 226 | # |
@@ -219,6 +252,8 @@ CONFIG_CPU_FREQ_AT32AP=y | |||
219 | # Executable file formats | 252 | # Executable file formats |
220 | # | 253 | # |
221 | CONFIG_BINFMT_ELF=y | 254 | CONFIG_BINFMT_ELF=y |
255 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
256 | # CONFIG_HAVE_AOUT is not set | ||
222 | # CONFIG_BINFMT_MISC is not set | 257 | # CONFIG_BINFMT_MISC is not set |
223 | CONFIG_NET=y | 258 | CONFIG_NET=y |
224 | 259 | ||
@@ -271,7 +306,6 @@ CONFIG_INET_TCP_DIAG=y | |||
271 | CONFIG_TCP_CONG_CUBIC=y | 306 | CONFIG_TCP_CONG_CUBIC=y |
272 | CONFIG_DEFAULT_TCP_CONG="cubic" | 307 | CONFIG_DEFAULT_TCP_CONG="cubic" |
273 | # CONFIG_TCP_MD5SIG is not set | 308 | # CONFIG_TCP_MD5SIG is not set |
274 | # CONFIG_IP_VS is not set | ||
275 | CONFIG_IPV6=y | 309 | CONFIG_IPV6=y |
276 | # CONFIG_IPV6_PRIVACY is not set | 310 | # CONFIG_IPV6_PRIVACY is not set |
277 | # CONFIG_IPV6_ROUTER_PREF is not set | 311 | # CONFIG_IPV6_ROUTER_PREF is not set |
@@ -314,10 +348,12 @@ CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | |||
314 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 348 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
315 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 349 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
316 | CONFIG_NETFILTER_XT_MATCH_STATE=m | 350 | CONFIG_NETFILTER_XT_MATCH_STATE=m |
351 | # CONFIG_IP_VS is not set | ||
317 | 352 | ||
318 | # | 353 | # |
319 | # IP: Netfilter Configuration | 354 | # IP: Netfilter Configuration |
320 | # | 355 | # |
356 | CONFIG_NF_DEFRAG_IPV4=m | ||
321 | CONFIG_NF_CONNTRACK_IPV4=m | 357 | CONFIG_NF_CONNTRACK_IPV4=m |
322 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y | 358 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y |
323 | CONFIG_IP_NF_IPTABLES=m | 359 | CONFIG_IP_NF_IPTABLES=m |
@@ -343,16 +379,18 @@ CONFIG_IP_NF_MANGLE=m | |||
343 | CONFIG_NF_CONNTRACK_IPV6=m | 379 | CONFIG_NF_CONNTRACK_IPV6=m |
344 | CONFIG_IP6_NF_IPTABLES=m | 380 | CONFIG_IP6_NF_IPTABLES=m |
345 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 381 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m |
346 | CONFIG_IP6_NF_FILTER=m | ||
347 | CONFIG_IP6_NF_TARGET_LOG=m | 382 | CONFIG_IP6_NF_TARGET_LOG=m |
383 | CONFIG_IP6_NF_FILTER=m | ||
348 | CONFIG_IP6_NF_TARGET_REJECT=m | 384 | CONFIG_IP6_NF_TARGET_REJECT=m |
349 | CONFIG_IP6_NF_MANGLE=m | 385 | CONFIG_IP6_NF_MANGLE=m |
350 | # CONFIG_IP_DCCP is not set | 386 | # CONFIG_IP_DCCP is not set |
351 | # CONFIG_IP_SCTP is not set | 387 | # CONFIG_IP_SCTP is not set |
388 | # CONFIG_RDS is not set | ||
352 | # CONFIG_TIPC is not set | 389 | # CONFIG_TIPC is not set |
353 | # CONFIG_ATM is not set | 390 | # CONFIG_ATM is not set |
354 | CONFIG_STP=m | 391 | CONFIG_STP=m |
355 | CONFIG_BRIDGE=m | 392 | CONFIG_BRIDGE=m |
393 | # CONFIG_NET_DSA is not set | ||
356 | CONFIG_VLAN_8021Q=m | 394 | CONFIG_VLAN_8021Q=m |
357 | # CONFIG_VLAN_8021Q_GVRP is not set | 395 | # CONFIG_VLAN_8021Q_GVRP is not set |
358 | # CONFIG_DECNET is not set | 396 | # CONFIG_DECNET is not set |
@@ -364,26 +402,33 @@ CONFIG_LLC=m | |||
364 | # CONFIG_LAPB is not set | 402 | # CONFIG_LAPB is not set |
365 | # CONFIG_ECONET is not set | 403 | # CONFIG_ECONET is not set |
366 | # CONFIG_WAN_ROUTER is not set | 404 | # CONFIG_WAN_ROUTER is not set |
405 | # CONFIG_PHONET is not set | ||
406 | # CONFIG_IEEE802154 is not set | ||
367 | # CONFIG_NET_SCHED is not set | 407 | # CONFIG_NET_SCHED is not set |
408 | # CONFIG_DCB is not set | ||
368 | 409 | ||
369 | # | 410 | # |
370 | # Network testing | 411 | # Network testing |
371 | # | 412 | # |
372 | # CONFIG_NET_PKTGEN is not set | 413 | # CONFIG_NET_PKTGEN is not set |
373 | # CONFIG_NET_TCPPROBE is not set | 414 | # CONFIG_NET_TCPPROBE is not set |
415 | # CONFIG_NET_DROP_MONITOR is not set | ||
374 | # CONFIG_HAMRADIO is not set | 416 | # CONFIG_HAMRADIO is not set |
375 | # CONFIG_CAN is not set | 417 | # CONFIG_CAN is not set |
376 | # CONFIG_IRDA is not set | 418 | # CONFIG_IRDA is not set |
377 | # CONFIG_BT is not set | 419 | # CONFIG_BT is not set |
378 | # CONFIG_AF_RXRPC is not set | 420 | # CONFIG_AF_RXRPC is not set |
421 | CONFIG_WIRELESS=y | ||
422 | # CONFIG_CFG80211 is not set | ||
423 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
424 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
425 | # CONFIG_WIRELESS_EXT is not set | ||
426 | # CONFIG_LIB80211 is not set | ||
379 | 427 | ||
380 | # | 428 | # |
381 | # Wireless | 429 | # CFG80211 needs to be enabled for MAC80211 |
382 | # | 430 | # |
383 | # CONFIG_CFG80211 is not set | 431 | # CONFIG_WIMAX is not set |
384 | # CONFIG_WIRELESS_EXT is not set | ||
385 | # CONFIG_MAC80211 is not set | ||
386 | # CONFIG_IEEE80211 is not set | ||
387 | # CONFIG_RFKILL is not set | 432 | # CONFIG_RFKILL is not set |
388 | # CONFIG_NET_9P is not set | 433 | # CONFIG_NET_9P is not set |
389 | 434 | ||
@@ -395,6 +440,7 @@ CONFIG_LLC=m | |||
395 | # Generic Driver Options | 440 | # Generic Driver Options |
396 | # | 441 | # |
397 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 442 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
443 | # CONFIG_DEVTMPFS is not set | ||
398 | CONFIG_STANDALONE=y | 444 | CONFIG_STANDALONE=y |
399 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 445 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
400 | # CONFIG_FW_LOADER is not set | 446 | # CONFIG_FW_LOADER is not set |
@@ -404,6 +450,7 @@ CONFIG_STANDALONE=y | |||
404 | # CONFIG_CONNECTOR is not set | 450 | # CONFIG_CONNECTOR is not set |
405 | CONFIG_MTD=y | 451 | CONFIG_MTD=y |
406 | # CONFIG_MTD_DEBUG is not set | 452 | # CONFIG_MTD_DEBUG is not set |
453 | # CONFIG_MTD_TESTS is not set | ||
407 | # CONFIG_MTD_CONCAT is not set | 454 | # CONFIG_MTD_CONCAT is not set |
408 | CONFIG_MTD_PARTITIONS=y | 455 | CONFIG_MTD_PARTITIONS=y |
409 | # CONFIG_MTD_REDBOOT_PARTS is not set | 456 | # CONFIG_MTD_REDBOOT_PARTS is not set |
@@ -453,16 +500,17 @@ CONFIG_MTD_CFI_UTIL=y | |||
453 | # | 500 | # |
454 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 501 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
455 | CONFIG_MTD_PHYSMAP=y | 502 | CONFIG_MTD_PHYSMAP=y |
456 | CONFIG_MTD_PHYSMAP_START=0x80000000 | 503 | # CONFIG_MTD_PHYSMAP_COMPAT is not set |
457 | CONFIG_MTD_PHYSMAP_LEN=0x0 | ||
458 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
459 | # CONFIG_MTD_PLATRAM is not set | 504 | # CONFIG_MTD_PLATRAM is not set |
460 | 505 | ||
461 | # | 506 | # |
462 | # Self-contained MTD device drivers | 507 | # Self-contained MTD device drivers |
463 | # | 508 | # |
464 | CONFIG_MTD_DATAFLASH=y | 509 | CONFIG_MTD_DATAFLASH=y |
510 | # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set | ||
511 | # CONFIG_MTD_DATAFLASH_OTP is not set | ||
465 | # CONFIG_MTD_M25P80 is not set | 512 | # CONFIG_MTD_M25P80 is not set |
513 | # CONFIG_MTD_SST25L is not set | ||
466 | # CONFIG_MTD_SLRAM is not set | 514 | # CONFIG_MTD_SLRAM is not set |
467 | # CONFIG_MTD_PHRAM is not set | 515 | # CONFIG_MTD_PHRAM is not set |
468 | # CONFIG_MTD_MTDRAM is not set | 516 | # CONFIG_MTD_MTDRAM is not set |
@@ -478,9 +526,22 @@ CONFIG_MTD_DATAFLASH=y | |||
478 | # CONFIG_MTD_ONENAND is not set | 526 | # CONFIG_MTD_ONENAND is not set |
479 | 527 | ||
480 | # | 528 | # |
529 | # LPDDR flash memory drivers | ||
530 | # | ||
531 | # CONFIG_MTD_LPDDR is not set | ||
532 | |||
533 | # | ||
481 | # UBI - Unsorted block images | 534 | # UBI - Unsorted block images |
482 | # | 535 | # |
483 | # CONFIG_MTD_UBI is not set | 536 | CONFIG_MTD_UBI=y |
537 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
538 | CONFIG_MTD_UBI_BEB_RESERVE=1 | ||
539 | # CONFIG_MTD_UBI_GLUEBI is not set | ||
540 | |||
541 | # | ||
542 | # UBI debugging options | ||
543 | # | ||
544 | # CONFIG_MTD_UBI_DEBUG is not set | ||
484 | # CONFIG_PARPORT is not set | 545 | # CONFIG_PARPORT is not set |
485 | CONFIG_BLK_DEV=y | 546 | CONFIG_BLK_DEV=y |
486 | # CONFIG_BLK_DEV_COW_COMMON is not set | 547 | # CONFIG_BLK_DEV_COW_COMMON is not set |
@@ -498,10 +559,20 @@ CONFIG_MISC_DEVICES=y | |||
498 | CONFIG_ATMEL_TCLIB=y | 559 | CONFIG_ATMEL_TCLIB=y |
499 | CONFIG_ATMEL_TCB_CLKSRC=y | 560 | CONFIG_ATMEL_TCB_CLKSRC=y |
500 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 | 561 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 |
501 | # CONFIG_EEPROM_93CX6 is not set | 562 | # CONFIG_ICS932S401 is not set |
502 | # CONFIG_ATMEL_SSC is not set | 563 | # CONFIG_ATMEL_SSC is not set |
503 | # CONFIG_ENCLOSURE_SERVICES is not set | 564 | # CONFIG_ENCLOSURE_SERVICES is not set |
504 | # CONFIG_HAVE_IDE is not set | 565 | # CONFIG_ISL29003 is not set |
566 | # CONFIG_C2PORT is not set | ||
567 | |||
568 | # | ||
569 | # EEPROM support | ||
570 | # | ||
571 | CONFIG_EEPROM_AT24=m | ||
572 | # CONFIG_EEPROM_AT25 is not set | ||
573 | # CONFIG_EEPROM_LEGACY is not set | ||
574 | # CONFIG_EEPROM_MAX6875 is not set | ||
575 | # CONFIG_EEPROM_93CX6 is not set | ||
505 | 576 | ||
506 | # | 577 | # |
507 | # SCSI device support | 578 | # SCSI device support |
@@ -534,26 +605,37 @@ CONFIG_PHYLIB=y | |||
534 | # CONFIG_BROADCOM_PHY is not set | 605 | # CONFIG_BROADCOM_PHY is not set |
535 | # CONFIG_ICPLUS_PHY is not set | 606 | # CONFIG_ICPLUS_PHY is not set |
536 | # CONFIG_REALTEK_PHY is not set | 607 | # CONFIG_REALTEK_PHY is not set |
608 | # CONFIG_NATIONAL_PHY is not set | ||
609 | # CONFIG_STE10XP is not set | ||
610 | # CONFIG_LSI_ET1011C_PHY is not set | ||
537 | # CONFIG_FIXED_PHY is not set | 611 | # CONFIG_FIXED_PHY is not set |
538 | # CONFIG_MDIO_BITBANG is not set | 612 | # CONFIG_MDIO_BITBANG is not set |
539 | CONFIG_NET_ETHERNET=y | 613 | CONFIG_NET_ETHERNET=y |
540 | # CONFIG_MII is not set | 614 | # CONFIG_MII is not set |
541 | CONFIG_MACB=y | 615 | CONFIG_MACB=y |
542 | # CONFIG_ENC28J60 is not set | 616 | # CONFIG_ENC28J60 is not set |
617 | # CONFIG_ETHOC is not set | ||
618 | # CONFIG_DNET is not set | ||
543 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 619 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
544 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 620 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
545 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 621 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
546 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 622 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
623 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
624 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
625 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
547 | # CONFIG_B44 is not set | 626 | # CONFIG_B44 is not set |
627 | # CONFIG_KS8842 is not set | ||
628 | # CONFIG_KS8851 is not set | ||
629 | # CONFIG_KS8851_MLL is not set | ||
548 | # CONFIG_NETDEV_1000 is not set | 630 | # CONFIG_NETDEV_1000 is not set |
549 | # CONFIG_NETDEV_10000 is not set | 631 | # CONFIG_NETDEV_10000 is not set |
632 | CONFIG_WLAN=y | ||
633 | # CONFIG_WLAN_PRE80211 is not set | ||
634 | # CONFIG_WLAN_80211 is not set | ||
550 | 635 | ||
551 | # | 636 | # |
552 | # Wireless LAN | 637 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
553 | # | 638 | # |
554 | # CONFIG_WLAN_PRE80211 is not set | ||
555 | # CONFIG_WLAN_80211 is not set | ||
556 | # CONFIG_IWLWIFI_LEDS is not set | ||
557 | # CONFIG_WAN is not set | 639 | # CONFIG_WAN is not set |
558 | CONFIG_PPP=m | 640 | CONFIG_PPP=m |
559 | # CONFIG_PPP_MULTILINK is not set | 641 | # CONFIG_PPP_MULTILINK is not set |
@@ -603,9 +685,11 @@ CONFIG_SERIAL_ATMEL=y | |||
603 | CONFIG_SERIAL_ATMEL_CONSOLE=y | 685 | CONFIG_SERIAL_ATMEL_CONSOLE=y |
604 | CONFIG_SERIAL_ATMEL_PDC=y | 686 | CONFIG_SERIAL_ATMEL_PDC=y |
605 | # CONFIG_SERIAL_ATMEL_TTYAT is not set | 687 | # CONFIG_SERIAL_ATMEL_TTYAT is not set |
688 | # CONFIG_SERIAL_MAX3100 is not set | ||
606 | CONFIG_SERIAL_CORE=y | 689 | CONFIG_SERIAL_CORE=y |
607 | CONFIG_SERIAL_CORE_CONSOLE=y | 690 | CONFIG_SERIAL_CORE_CONSOLE=y |
608 | CONFIG_UNIX98_PTYS=y | 691 | CONFIG_UNIX98_PTYS=y |
692 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
609 | # CONFIG_LEGACY_PTYS is not set | 693 | # CONFIG_LEGACY_PTYS is not set |
610 | # CONFIG_IPMI_HANDLER is not set | 694 | # CONFIG_IPMI_HANDLER is not set |
611 | # CONFIG_HW_RANDOM is not set | 695 | # CONFIG_HW_RANDOM is not set |
@@ -614,7 +698,9 @@ CONFIG_UNIX98_PTYS=y | |||
614 | # CONFIG_TCG_TPM is not set | 698 | # CONFIG_TCG_TPM is not set |
615 | CONFIG_I2C=m | 699 | CONFIG_I2C=m |
616 | CONFIG_I2C_BOARDINFO=y | 700 | CONFIG_I2C_BOARDINFO=y |
701 | CONFIG_I2C_COMPAT=y | ||
617 | CONFIG_I2C_CHARDEV=m | 702 | CONFIG_I2C_CHARDEV=m |
703 | CONFIG_I2C_HELPER_AUTO=y | ||
618 | CONFIG_I2C_ALGOBIT=m | 704 | CONFIG_I2C_ALGOBIT=m |
619 | 705 | ||
620 | # | 706 | # |
@@ -624,6 +710,7 @@ CONFIG_I2C_ALGOBIT=m | |||
624 | # | 710 | # |
625 | # I2C system bus drivers (mostly embedded / system-on-chip) | 711 | # I2C system bus drivers (mostly embedded / system-on-chip) |
626 | # | 712 | # |
713 | # CONFIG_I2C_DESIGNWARE is not set | ||
627 | CONFIG_I2C_GPIO=m | 714 | CONFIG_I2C_GPIO=m |
628 | # CONFIG_I2C_OCORES is not set | 715 | # CONFIG_I2C_OCORES is not set |
629 | # CONFIG_I2C_SIMTEC is not set | 716 | # CONFIG_I2C_SIMTEC is not set |
@@ -644,14 +731,6 @@ CONFIG_I2C_GPIO=m | |||
644 | # Miscellaneous I2C Chip support | 731 | # Miscellaneous I2C Chip support |
645 | # | 732 | # |
646 | # CONFIG_DS1682 is not set | 733 | # CONFIG_DS1682 is not set |
647 | CONFIG_EEPROM_AT24=m | ||
648 | # CONFIG_EEPROM_LEGACY is not set | ||
649 | # CONFIG_SENSORS_PCF8574 is not set | ||
650 | # CONFIG_PCF8575 is not set | ||
651 | # CONFIG_SENSORS_PCA9539 is not set | ||
652 | # CONFIG_SENSORS_PCF8591 is not set | ||
653 | # CONFIG_TPS65010 is not set | ||
654 | # CONFIG_SENSORS_MAX6875 is not set | ||
655 | # CONFIG_SENSORS_TSL2550 is not set | 734 | # CONFIG_SENSORS_TSL2550 is not set |
656 | # CONFIG_I2C_DEBUG_CORE is not set | 735 | # CONFIG_I2C_DEBUG_CORE is not set |
657 | # CONFIG_I2C_DEBUG_ALGO is not set | 736 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -666,19 +745,28 @@ CONFIG_SPI_MASTER=y | |||
666 | # | 745 | # |
667 | CONFIG_SPI_ATMEL=y | 746 | CONFIG_SPI_ATMEL=y |
668 | # CONFIG_SPI_BITBANG is not set | 747 | # CONFIG_SPI_BITBANG is not set |
748 | # CONFIG_SPI_GPIO is not set | ||
669 | 749 | ||
670 | # | 750 | # |
671 | # SPI Protocol Masters | 751 | # SPI Protocol Masters |
672 | # | 752 | # |
673 | # CONFIG_EEPROM_AT25 is not set | ||
674 | CONFIG_SPI_SPIDEV=m | 753 | CONFIG_SPI_SPIDEV=m |
675 | # CONFIG_SPI_TLE62X0 is not set | 754 | # CONFIG_SPI_TLE62X0 is not set |
755 | |||
756 | # | ||
757 | # PPS support | ||
758 | # | ||
759 | # CONFIG_PPS is not set | ||
676 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | 760 | CONFIG_ARCH_REQUIRE_GPIOLIB=y |
677 | CONFIG_GPIOLIB=y | 761 | CONFIG_GPIOLIB=y |
678 | # CONFIG_DEBUG_GPIO is not set | 762 | # CONFIG_DEBUG_GPIO is not set |
679 | CONFIG_GPIO_SYSFS=y | 763 | CONFIG_GPIO_SYSFS=y |
680 | 764 | ||
681 | # | 765 | # |
766 | # Memory mapped GPIO expanders: | ||
767 | # | ||
768 | |||
769 | # | ||
682 | # I2C GPIO expanders: | 770 | # I2C GPIO expanders: |
683 | # | 771 | # |
684 | # CONFIG_GPIO_MAX732X is not set | 772 | # CONFIG_GPIO_MAX732X is not set |
@@ -694,11 +782,15 @@ CONFIG_GPIO_SYSFS=y | |||
694 | # | 782 | # |
695 | # CONFIG_GPIO_MAX7301 is not set | 783 | # CONFIG_GPIO_MAX7301 is not set |
696 | # CONFIG_GPIO_MCP23S08 is not set | 784 | # CONFIG_GPIO_MCP23S08 is not set |
785 | # CONFIG_GPIO_MC33880 is not set | ||
786 | |||
787 | # | ||
788 | # AC97 GPIO expanders: | ||
789 | # | ||
697 | # CONFIG_W1 is not set | 790 | # CONFIG_W1 is not set |
698 | # CONFIG_POWER_SUPPLY is not set | 791 | # CONFIG_POWER_SUPPLY is not set |
699 | # CONFIG_HWMON is not set | 792 | # CONFIG_HWMON is not set |
700 | # CONFIG_THERMAL is not set | 793 | # CONFIG_THERMAL is not set |
701 | # CONFIG_THERMAL_HWMON is not set | ||
702 | CONFIG_WATCHDOG=y | 794 | CONFIG_WATCHDOG=y |
703 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 795 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
704 | 796 | ||
@@ -707,11 +799,11 @@ CONFIG_WATCHDOG=y | |||
707 | # | 799 | # |
708 | # CONFIG_SOFT_WATCHDOG is not set | 800 | # CONFIG_SOFT_WATCHDOG is not set |
709 | CONFIG_AT32AP700X_WDT=y | 801 | CONFIG_AT32AP700X_WDT=y |
802 | CONFIG_SSB_POSSIBLE=y | ||
710 | 803 | ||
711 | # | 804 | # |
712 | # Sonics Silicon Backplane | 805 | # Sonics Silicon Backplane |
713 | # | 806 | # |
714 | CONFIG_SSB_POSSIBLE=y | ||
715 | # CONFIG_SSB is not set | 807 | # CONFIG_SSB is not set |
716 | 808 | ||
717 | # | 809 | # |
@@ -720,22 +812,17 @@ CONFIG_SSB_POSSIBLE=y | |||
720 | # CONFIG_MFD_CORE is not set | 812 | # CONFIG_MFD_CORE is not set |
721 | # CONFIG_MFD_SM501 is not set | 813 | # CONFIG_MFD_SM501 is not set |
722 | # CONFIG_HTC_PASIC3 is not set | 814 | # CONFIG_HTC_PASIC3 is not set |
723 | 815 | # CONFIG_TPS65010 is not set | |
724 | # | 816 | # CONFIG_MFD_TMIO is not set |
725 | # Multimedia devices | 817 | # CONFIG_MFD_WM8400 is not set |
726 | # | 818 | # CONFIG_MFD_WM831X is not set |
727 | 819 | # CONFIG_MFD_WM8350_I2C is not set | |
728 | # | 820 | # CONFIG_MFD_PCF50633 is not set |
729 | # Multimedia core support | 821 | # CONFIG_MFD_MC13783 is not set |
730 | # | 822 | # CONFIG_AB3100_CORE is not set |
731 | # CONFIG_VIDEO_DEV is not set | 823 | # CONFIG_EZX_PCAP is not set |
732 | # CONFIG_DVB_CORE is not set | 824 | # CONFIG_REGULATOR is not set |
733 | # CONFIG_VIDEO_MEDIA is not set | 825 | # CONFIG_MEDIA_SUPPORT is not set |
734 | |||
735 | # | ||
736 | # Multimedia drivers | ||
737 | # | ||
738 | # CONFIG_DAB is not set | ||
739 | 826 | ||
740 | # | 827 | # |
741 | # Graphics support | 828 | # Graphics support |
@@ -756,32 +843,43 @@ CONFIG_USB_SUPPORT=y | |||
756 | # CONFIG_USB_ARCH_HAS_EHCI is not set | 843 | # CONFIG_USB_ARCH_HAS_EHCI is not set |
757 | # CONFIG_USB_OTG_WHITELIST is not set | 844 | # CONFIG_USB_OTG_WHITELIST is not set |
758 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 845 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
846 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
759 | 847 | ||
760 | # | 848 | # |
761 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 849 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
762 | # | 850 | # |
763 | CONFIG_USB_GADGET=y | 851 | CONFIG_USB_GADGET=y |
764 | # CONFIG_USB_GADGET_DEBUG is not set | 852 | # CONFIG_USB_GADGET_DEBUG is not set |
765 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | 853 | # CONFIG_USB_GADGET_DEBUG_FILES is not set |
854 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
855 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
766 | CONFIG_USB_GADGET_SELECTED=y | 856 | CONFIG_USB_GADGET_SELECTED=y |
767 | # CONFIG_USB_GADGET_AMD5536UDC is not set | 857 | # CONFIG_USB_GADGET_AT91 is not set |
768 | CONFIG_USB_GADGET_ATMEL_USBA=y | 858 | CONFIG_USB_GADGET_ATMEL_USBA=y |
769 | CONFIG_USB_ATMEL_USBA=y | 859 | CONFIG_USB_ATMEL_USBA=y |
770 | # CONFIG_USB_GADGET_FSL_USB2 is not set | 860 | # CONFIG_USB_GADGET_FSL_USB2 is not set |
771 | # CONFIG_USB_GADGET_NET2280 is not set | ||
772 | # CONFIG_USB_GADGET_PXA25X is not set | ||
773 | # CONFIG_USB_GADGET_M66592 is not set | ||
774 | # CONFIG_USB_GADGET_PXA27X is not set | ||
775 | # CONFIG_USB_GADGET_GOKU is not set | ||
776 | # CONFIG_USB_GADGET_LH7A40X is not set | 861 | # CONFIG_USB_GADGET_LH7A40X is not set |
777 | # CONFIG_USB_GADGET_OMAP is not set | 862 | # CONFIG_USB_GADGET_OMAP is not set |
863 | # CONFIG_USB_GADGET_PXA25X is not set | ||
864 | # CONFIG_USB_GADGET_R8A66597 is not set | ||
865 | # CONFIG_USB_GADGET_PXA27X is not set | ||
866 | # CONFIG_USB_GADGET_S3C_HSOTG is not set | ||
867 | # CONFIG_USB_GADGET_IMX is not set | ||
778 | # CONFIG_USB_GADGET_S3C2410 is not set | 868 | # CONFIG_USB_GADGET_S3C2410 is not set |
779 | # CONFIG_USB_GADGET_AT91 is not set | 869 | # CONFIG_USB_GADGET_M66592 is not set |
870 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
871 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
872 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
873 | # CONFIG_USB_GADGET_NET2280 is not set | ||
874 | # CONFIG_USB_GADGET_GOKU is not set | ||
875 | # CONFIG_USB_GADGET_LANGWELL is not set | ||
780 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | 876 | # CONFIG_USB_GADGET_DUMMY_HCD is not set |
781 | CONFIG_USB_GADGET_DUALSPEED=y | 877 | CONFIG_USB_GADGET_DUALSPEED=y |
782 | CONFIG_USB_ZERO=m | 878 | CONFIG_USB_ZERO=m |
879 | # CONFIG_USB_AUDIO is not set | ||
783 | CONFIG_USB_ETH=m | 880 | CONFIG_USB_ETH=m |
784 | CONFIG_USB_ETH_RNDIS=y | 881 | CONFIG_USB_ETH_RNDIS=y |
882 | # CONFIG_USB_ETH_EEM is not set | ||
785 | CONFIG_USB_GADGETFS=m | 883 | CONFIG_USB_GADGETFS=m |
786 | CONFIG_USB_FILE_STORAGE=m | 884 | CONFIG_USB_FILE_STORAGE=m |
787 | # CONFIG_USB_FILE_STORAGE_TEST is not set | 885 | # CONFIG_USB_FILE_STORAGE_TEST is not set |
@@ -789,12 +887,18 @@ CONFIG_USB_G_SERIAL=m | |||
789 | # CONFIG_USB_MIDI_GADGET is not set | 887 | # CONFIG_USB_MIDI_GADGET is not set |
790 | # CONFIG_USB_G_PRINTER is not set | 888 | # CONFIG_USB_G_PRINTER is not set |
791 | CONFIG_USB_CDC_COMPOSITE=m | 889 | CONFIG_USB_CDC_COMPOSITE=m |
890 | |||
891 | # | ||
892 | # OTG and related infrastructure | ||
893 | # | ||
894 | # CONFIG_USB_GPIO_VBUS is not set | ||
895 | # CONFIG_NOP_USB_XCEIV is not set | ||
792 | CONFIG_MMC=y | 896 | CONFIG_MMC=y |
793 | # CONFIG_MMC_DEBUG is not set | 897 | # CONFIG_MMC_DEBUG is not set |
794 | # CONFIG_MMC_UNSAFE_RESUME is not set | 898 | # CONFIG_MMC_UNSAFE_RESUME is not set |
795 | 899 | ||
796 | # | 900 | # |
797 | # MMC/SD Card Drivers | 901 | # MMC/SD/SDIO Card Drivers |
798 | # | 902 | # |
799 | CONFIG_MMC_BLOCK=y | 903 | CONFIG_MMC_BLOCK=y |
800 | CONFIG_MMC_BLOCK_BOUNCE=y | 904 | CONFIG_MMC_BLOCK_BOUNCE=y |
@@ -802,10 +906,12 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
802 | CONFIG_MMC_TEST=m | 906 | CONFIG_MMC_TEST=m |
803 | 907 | ||
804 | # | 908 | # |
805 | # MMC/SD Host Controller Drivers | 909 | # MMC/SD/SDIO Host Controller Drivers |
806 | # | 910 | # |
807 | # CONFIG_MMC_SDHCI is not set | 911 | # CONFIG_MMC_SDHCI is not set |
912 | # CONFIG_MMC_AT91 is not set | ||
808 | CONFIG_MMC_ATMELMCI=y | 913 | CONFIG_MMC_ATMELMCI=y |
914 | # CONFIG_MMC_ATMELMCI_DMA is not set | ||
809 | CONFIG_MMC_SPI=m | 915 | CONFIG_MMC_SPI=m |
810 | # CONFIG_MEMSTICK is not set | 916 | # CONFIG_MEMSTICK is not set |
811 | CONFIG_NEW_LEDS=y | 917 | CONFIG_NEW_LEDS=y |
@@ -815,7 +921,11 @@ CONFIG_LEDS_CLASS=y | |||
815 | # LED drivers | 921 | # LED drivers |
816 | # | 922 | # |
817 | CONFIG_LEDS_GPIO=y | 923 | CONFIG_LEDS_GPIO=y |
924 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
925 | # CONFIG_LEDS_LP3944 is not set | ||
818 | # CONFIG_LEDS_PCA955X is not set | 926 | # CONFIG_LEDS_PCA955X is not set |
927 | # CONFIG_LEDS_DAC124S085 is not set | ||
928 | # CONFIG_LEDS_BD2802 is not set | ||
819 | 929 | ||
820 | # | 930 | # |
821 | # LED Triggers | 931 | # LED Triggers |
@@ -823,7 +933,13 @@ CONFIG_LEDS_GPIO=y | |||
823 | CONFIG_LEDS_TRIGGERS=y | 933 | CONFIG_LEDS_TRIGGERS=y |
824 | CONFIG_LEDS_TRIGGER_TIMER=y | 934 | CONFIG_LEDS_TRIGGER_TIMER=y |
825 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | 935 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y |
936 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
937 | # CONFIG_LEDS_TRIGGER_GPIO is not set | ||
826 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | 938 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y |
939 | |||
940 | # | ||
941 | # iptables trigger is under Netfilter config (LED target) | ||
942 | # | ||
827 | # CONFIG_ACCESSIBILITY is not set | 943 | # CONFIG_ACCESSIBILITY is not set |
828 | CONFIG_RTC_LIB=y | 944 | CONFIG_RTC_LIB=y |
829 | CONFIG_RTC_CLASS=y | 945 | CONFIG_RTC_CLASS=y |
@@ -855,25 +971,33 @@ CONFIG_RTC_INTF_DEV=y | |||
855 | # CONFIG_RTC_DRV_M41T80 is not set | 971 | # CONFIG_RTC_DRV_M41T80 is not set |
856 | # CONFIG_RTC_DRV_S35390A is not set | 972 | # CONFIG_RTC_DRV_S35390A is not set |
857 | # CONFIG_RTC_DRV_FM3130 is not set | 973 | # CONFIG_RTC_DRV_FM3130 is not set |
974 | # CONFIG_RTC_DRV_RX8581 is not set | ||
975 | # CONFIG_RTC_DRV_RX8025 is not set | ||
858 | 976 | ||
859 | # | 977 | # |
860 | # SPI RTC drivers | 978 | # SPI RTC drivers |
861 | # | 979 | # |
862 | # CONFIG_RTC_DRV_M41T94 is not set | 980 | # CONFIG_RTC_DRV_M41T94 is not set |
863 | # CONFIG_RTC_DRV_DS1305 is not set | 981 | # CONFIG_RTC_DRV_DS1305 is not set |
982 | # CONFIG_RTC_DRV_DS1390 is not set | ||
864 | # CONFIG_RTC_DRV_MAX6902 is not set | 983 | # CONFIG_RTC_DRV_MAX6902 is not set |
865 | # CONFIG_RTC_DRV_R9701 is not set | 984 | # CONFIG_RTC_DRV_R9701 is not set |
866 | # CONFIG_RTC_DRV_RS5C348 is not set | 985 | # CONFIG_RTC_DRV_RS5C348 is not set |
986 | # CONFIG_RTC_DRV_DS3234 is not set | ||
987 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
867 | 988 | ||
868 | # | 989 | # |
869 | # Platform RTC drivers | 990 | # Platform RTC drivers |
870 | # | 991 | # |
992 | # CONFIG_RTC_DRV_DS1286 is not set | ||
871 | # CONFIG_RTC_DRV_DS1511 is not set | 993 | # CONFIG_RTC_DRV_DS1511 is not set |
872 | # CONFIG_RTC_DRV_DS1553 is not set | 994 | # CONFIG_RTC_DRV_DS1553 is not set |
873 | # CONFIG_RTC_DRV_DS1742 is not set | 995 | # CONFIG_RTC_DRV_DS1742 is not set |
874 | # CONFIG_RTC_DRV_STK17TA8 is not set | 996 | # CONFIG_RTC_DRV_STK17TA8 is not set |
875 | # CONFIG_RTC_DRV_M48T86 is not set | 997 | # CONFIG_RTC_DRV_M48T86 is not set |
998 | # CONFIG_RTC_DRV_M48T35 is not set | ||
876 | # CONFIG_RTC_DRV_M48T59 is not set | 999 | # CONFIG_RTC_DRV_M48T59 is not set |
1000 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
877 | # CONFIG_RTC_DRV_V3020 is not set | 1001 | # CONFIG_RTC_DRV_V3020 is not set |
878 | 1002 | ||
879 | # | 1003 | # |
@@ -892,24 +1016,38 @@ CONFIG_DMA_ENGINE=y | |||
892 | # DMA Clients | 1016 | # DMA Clients |
893 | # | 1017 | # |
894 | # CONFIG_NET_DMA is not set | 1018 | # CONFIG_NET_DMA is not set |
1019 | # CONFIG_ASYNC_TX_DMA is not set | ||
895 | # CONFIG_DMATEST is not set | 1020 | # CONFIG_DMATEST is not set |
1021 | # CONFIG_AUXDISPLAY is not set | ||
896 | # CONFIG_UIO is not set | 1022 | # CONFIG_UIO is not set |
897 | 1023 | ||
898 | # | 1024 | # |
1025 | # TI VLYNQ | ||
1026 | # | ||
1027 | # CONFIG_STAGING is not set | ||
1028 | |||
1029 | # | ||
899 | # File systems | 1030 | # File systems |
900 | # | 1031 | # |
901 | CONFIG_EXT2_FS=m | 1032 | CONFIG_EXT2_FS=y |
902 | # CONFIG_EXT2_FS_XATTR is not set | 1033 | # CONFIG_EXT2_FS_XATTR is not set |
903 | # CONFIG_EXT2_FS_XIP is not set | 1034 | # CONFIG_EXT2_FS_XIP is not set |
904 | CONFIG_EXT3_FS=m | 1035 | CONFIG_EXT3_FS=y |
1036 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
905 | # CONFIG_EXT3_FS_XATTR is not set | 1037 | # CONFIG_EXT3_FS_XATTR is not set |
906 | # CONFIG_EXT4DEV_FS is not set | 1038 | # CONFIG_EXT4_FS is not set |
907 | CONFIG_JBD=m | 1039 | CONFIG_JBD=y |
1040 | # CONFIG_JBD_DEBUG is not set | ||
908 | # CONFIG_REISERFS_FS is not set | 1041 | # CONFIG_REISERFS_FS is not set |
909 | # CONFIG_JFS_FS is not set | 1042 | # CONFIG_JFS_FS is not set |
910 | # CONFIG_FS_POSIX_ACL is not set | 1043 | # CONFIG_FS_POSIX_ACL is not set |
911 | # CONFIG_XFS_FS is not set | 1044 | # CONFIG_XFS_FS is not set |
1045 | # CONFIG_GFS2_FS is not set | ||
912 | # CONFIG_OCFS2_FS is not set | 1046 | # CONFIG_OCFS2_FS is not set |
1047 | # CONFIG_BTRFS_FS is not set | ||
1048 | # CONFIG_NILFS2_FS is not set | ||
1049 | CONFIG_FILE_LOCKING=y | ||
1050 | CONFIG_FSNOTIFY=y | ||
913 | # CONFIG_DNOTIFY is not set | 1051 | # CONFIG_DNOTIFY is not set |
914 | CONFIG_INOTIFY=y | 1052 | CONFIG_INOTIFY=y |
915 | CONFIG_INOTIFY_USER=y | 1053 | CONFIG_INOTIFY_USER=y |
@@ -917,6 +1055,12 @@ CONFIG_INOTIFY_USER=y | |||
917 | # CONFIG_AUTOFS_FS is not set | 1055 | # CONFIG_AUTOFS_FS is not set |
918 | # CONFIG_AUTOFS4_FS is not set | 1056 | # CONFIG_AUTOFS4_FS is not set |
919 | CONFIG_FUSE_FS=m | 1057 | CONFIG_FUSE_FS=m |
1058 | # CONFIG_CUSE is not set | ||
1059 | |||
1060 | # | ||
1061 | # Caches | ||
1062 | # | ||
1063 | # CONFIG_FSCACHE is not set | ||
920 | 1064 | ||
921 | # | 1065 | # |
922 | # CD-ROM/DVD Filesystems | 1066 | # CD-ROM/DVD Filesystems |
@@ -940,15 +1084,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
940 | CONFIG_PROC_FS=y | 1084 | CONFIG_PROC_FS=y |
941 | # CONFIG_PROC_KCORE is not set | 1085 | # CONFIG_PROC_KCORE is not set |
942 | CONFIG_PROC_SYSCTL=y | 1086 | CONFIG_PROC_SYSCTL=y |
1087 | CONFIG_PROC_PAGE_MONITOR=y | ||
943 | CONFIG_SYSFS=y | 1088 | CONFIG_SYSFS=y |
944 | CONFIG_TMPFS=y | 1089 | CONFIG_TMPFS=y |
945 | # CONFIG_TMPFS_POSIX_ACL is not set | 1090 | # CONFIG_TMPFS_POSIX_ACL is not set |
946 | # CONFIG_HUGETLB_PAGE is not set | 1091 | # CONFIG_HUGETLB_PAGE is not set |
947 | CONFIG_CONFIGFS_FS=m | 1092 | CONFIG_CONFIGFS_FS=m |
948 | 1093 | CONFIG_MISC_FILESYSTEMS=y | |
949 | # | ||
950 | # Miscellaneous filesystems | ||
951 | # | ||
952 | # CONFIG_ADFS_FS is not set | 1094 | # CONFIG_ADFS_FS is not set |
953 | # CONFIG_AFFS_FS is not set | 1095 | # CONFIG_AFFS_FS is not set |
954 | # CONFIG_HFS_FS is not set | 1096 | # CONFIG_HFS_FS is not set |
@@ -967,7 +1109,9 @@ CONFIG_JFFS2_ZLIB=y | |||
967 | # CONFIG_JFFS2_LZO is not set | 1109 | # CONFIG_JFFS2_LZO is not set |
968 | CONFIG_JFFS2_RTIME=y | 1110 | CONFIG_JFFS2_RTIME=y |
969 | # CONFIG_JFFS2_RUBIN is not set | 1111 | # CONFIG_JFFS2_RUBIN is not set |
1112 | # CONFIG_UBIFS_FS is not set | ||
970 | # CONFIG_CRAMFS is not set | 1113 | # CONFIG_CRAMFS is not set |
1114 | # CONFIG_SQUASHFS is not set | ||
971 | # CONFIG_VXFS_FS is not set | 1115 | # CONFIG_VXFS_FS is not set |
972 | # CONFIG_MINIX_FS is not set | 1116 | # CONFIG_MINIX_FS is not set |
973 | # CONFIG_OMFS_FS is not set | 1117 | # CONFIG_OMFS_FS is not set |
@@ -975,7 +1119,9 @@ CONFIG_JFFS2_RTIME=y | |||
975 | # CONFIG_QNX4FS_FS is not set | 1119 | # CONFIG_QNX4FS_FS is not set |
976 | # CONFIG_ROMFS_FS is not set | 1120 | # CONFIG_ROMFS_FS is not set |
977 | # CONFIG_SYSV_FS is not set | 1121 | # CONFIG_SYSV_FS is not set |
978 | # CONFIG_UFS_FS is not set | 1122 | CONFIG_UFS_FS=y |
1123 | # CONFIG_UFS_FS_WRITE is not set | ||
1124 | # CONFIG_UFS_DEBUG is not set | ||
979 | CONFIG_NETWORK_FILESYSTEMS=y | 1125 | CONFIG_NETWORK_FILESYSTEMS=y |
980 | CONFIG_NFS_FS=y | 1126 | CONFIG_NFS_FS=y |
981 | CONFIG_NFS_V3=y | 1127 | CONFIG_NFS_V3=y |
@@ -1060,14 +1206,18 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1060 | CONFIG_ENABLE_MUST_CHECK=y | 1206 | CONFIG_ENABLE_MUST_CHECK=y |
1061 | CONFIG_FRAME_WARN=1024 | 1207 | CONFIG_FRAME_WARN=1024 |
1062 | CONFIG_MAGIC_SYSRQ=y | 1208 | CONFIG_MAGIC_SYSRQ=y |
1209 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1063 | # CONFIG_UNUSED_SYMBOLS is not set | 1210 | # CONFIG_UNUSED_SYMBOLS is not set |
1064 | # CONFIG_DEBUG_FS is not set | 1211 | CONFIG_DEBUG_FS=y |
1065 | # CONFIG_HEADERS_CHECK is not set | 1212 | # CONFIG_HEADERS_CHECK is not set |
1066 | CONFIG_DEBUG_KERNEL=y | 1213 | CONFIG_DEBUG_KERNEL=y |
1067 | # CONFIG_DEBUG_SHIRQ is not set | 1214 | # CONFIG_DEBUG_SHIRQ is not set |
1068 | CONFIG_DETECT_SOFTLOCKUP=y | 1215 | CONFIG_DETECT_SOFTLOCKUP=y |
1069 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1216 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1070 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1217 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1218 | CONFIG_DETECT_HUNG_TASK=y | ||
1219 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1220 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1071 | CONFIG_SCHED_DEBUG=y | 1221 | CONFIG_SCHED_DEBUG=y |
1072 | # CONFIG_SCHEDSTATS is not set | 1222 | # CONFIG_SCHEDSTATS is not set |
1073 | # CONFIG_TIMER_STATS is not set | 1223 | # CONFIG_TIMER_STATS is not set |
@@ -1083,6 +1233,7 @@ CONFIG_SCHED_DEBUG=y | |||
1083 | # CONFIG_LOCK_STAT is not set | 1233 | # CONFIG_LOCK_STAT is not set |
1084 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1234 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1085 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1235 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1236 | CONFIG_STACKTRACE=y | ||
1086 | # CONFIG_DEBUG_KOBJECT is not set | 1237 | # CONFIG_DEBUG_KOBJECT is not set |
1087 | CONFIG_DEBUG_BUGVERBOSE=y | 1238 | CONFIG_DEBUG_BUGVERBOSE=y |
1088 | # CONFIG_DEBUG_INFO is not set | 1239 | # CONFIG_DEBUG_INFO is not set |
@@ -1091,13 +1242,39 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
1091 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1242 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1092 | # CONFIG_DEBUG_LIST is not set | 1243 | # CONFIG_DEBUG_LIST is not set |
1093 | # CONFIG_DEBUG_SG is not set | 1244 | # CONFIG_DEBUG_SG is not set |
1245 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1246 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1094 | CONFIG_FRAME_POINTER=y | 1247 | CONFIG_FRAME_POINTER=y |
1095 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1248 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1096 | # CONFIG_RCU_TORTURE_TEST is not set | 1249 | # CONFIG_RCU_TORTURE_TEST is not set |
1250 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1097 | # CONFIG_KPROBES_SANITY_TEST is not set | 1251 | # CONFIG_KPROBES_SANITY_TEST is not set |
1098 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1252 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1253 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1254 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1099 | # CONFIG_LKDTM is not set | 1255 | # CONFIG_LKDTM is not set |
1100 | # CONFIG_FAULT_INJECTION is not set | 1256 | # CONFIG_FAULT_INJECTION is not set |
1257 | # CONFIG_PAGE_POISONING is not set | ||
1258 | CONFIG_NOP_TRACER=y | ||
1259 | CONFIG_RING_BUFFER=y | ||
1260 | CONFIG_EVENT_TRACING=y | ||
1261 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
1262 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | ||
1263 | CONFIG_TRACING=y | ||
1264 | CONFIG_TRACING_SUPPORT=y | ||
1265 | CONFIG_FTRACE=y | ||
1266 | # CONFIG_IRQSOFF_TRACER is not set | ||
1267 | # CONFIG_SCHED_TRACER is not set | ||
1268 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1269 | # CONFIG_BOOT_TRACER is not set | ||
1270 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1271 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1272 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1273 | # CONFIG_KMEMTRACE is not set | ||
1274 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1275 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1276 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
1277 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1101 | # CONFIG_SAMPLES is not set | 1278 | # CONFIG_SAMPLES is not set |
1102 | 1279 | ||
1103 | # | 1280 | # |
@@ -1105,19 +1282,30 @@ CONFIG_FRAME_POINTER=y | |||
1105 | # | 1282 | # |
1106 | # CONFIG_KEYS is not set | 1283 | # CONFIG_KEYS is not set |
1107 | # CONFIG_SECURITY is not set | 1284 | # CONFIG_SECURITY is not set |
1285 | # CONFIG_SECURITYFS is not set | ||
1108 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1286 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1109 | CONFIG_CRYPTO=y | 1287 | CONFIG_CRYPTO=y |
1110 | 1288 | ||
1111 | # | 1289 | # |
1112 | # Crypto core or helper | 1290 | # Crypto core or helper |
1113 | # | 1291 | # |
1292 | # CONFIG_CRYPTO_FIPS is not set | ||
1114 | CONFIG_CRYPTO_ALGAPI=y | 1293 | CONFIG_CRYPTO_ALGAPI=y |
1294 | CONFIG_CRYPTO_ALGAPI2=y | ||
1115 | CONFIG_CRYPTO_AEAD=y | 1295 | CONFIG_CRYPTO_AEAD=y |
1296 | CONFIG_CRYPTO_AEAD2=y | ||
1116 | CONFIG_CRYPTO_BLKCIPHER=y | 1297 | CONFIG_CRYPTO_BLKCIPHER=y |
1298 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
1117 | CONFIG_CRYPTO_HASH=y | 1299 | CONFIG_CRYPTO_HASH=y |
1300 | CONFIG_CRYPTO_HASH2=y | ||
1301 | CONFIG_CRYPTO_RNG=m | ||
1302 | CONFIG_CRYPTO_RNG2=y | ||
1303 | CONFIG_CRYPTO_PCOMP=y | ||
1118 | CONFIG_CRYPTO_MANAGER=y | 1304 | CONFIG_CRYPTO_MANAGER=y |
1305 | CONFIG_CRYPTO_MANAGER2=y | ||
1119 | # CONFIG_CRYPTO_GF128MUL is not set | 1306 | # CONFIG_CRYPTO_GF128MUL is not set |
1120 | # CONFIG_CRYPTO_NULL is not set | 1307 | # CONFIG_CRYPTO_NULL is not set |
1308 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1121 | # CONFIG_CRYPTO_CRYPTD is not set | 1309 | # CONFIG_CRYPTO_CRYPTD is not set |
1122 | CONFIG_CRYPTO_AUTHENC=y | 1310 | CONFIG_CRYPTO_AUTHENC=y |
1123 | # CONFIG_CRYPTO_TEST is not set | 1311 | # CONFIG_CRYPTO_TEST is not set |
@@ -1145,11 +1333,13 @@ CONFIG_CRYPTO_PCBC=m | |||
1145 | # | 1333 | # |
1146 | CONFIG_CRYPTO_HMAC=y | 1334 | CONFIG_CRYPTO_HMAC=y |
1147 | # CONFIG_CRYPTO_XCBC is not set | 1335 | # CONFIG_CRYPTO_XCBC is not set |
1336 | # CONFIG_CRYPTO_VMAC is not set | ||
1148 | 1337 | ||
1149 | # | 1338 | # |
1150 | # Digest | 1339 | # Digest |
1151 | # | 1340 | # |
1152 | # CONFIG_CRYPTO_CRC32C is not set | 1341 | # CONFIG_CRYPTO_CRC32C is not set |
1342 | # CONFIG_CRYPTO_GHASH is not set | ||
1153 | # CONFIG_CRYPTO_MD4 is not set | 1343 | # CONFIG_CRYPTO_MD4 is not set |
1154 | CONFIG_CRYPTO_MD5=y | 1344 | CONFIG_CRYPTO_MD5=y |
1155 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1345 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
@@ -1166,7 +1356,7 @@ CONFIG_CRYPTO_SHA1=y | |||
1166 | # | 1356 | # |
1167 | # Ciphers | 1357 | # Ciphers |
1168 | # | 1358 | # |
1169 | # CONFIG_CRYPTO_AES is not set | 1359 | CONFIG_CRYPTO_AES=m |
1170 | # CONFIG_CRYPTO_ANUBIS is not set | 1360 | # CONFIG_CRYPTO_ANUBIS is not set |
1171 | CONFIG_CRYPTO_ARC4=m | 1361 | CONFIG_CRYPTO_ARC4=m |
1172 | # CONFIG_CRYPTO_BLOWFISH is not set | 1362 | # CONFIG_CRYPTO_BLOWFISH is not set |
@@ -1186,15 +1376,21 @@ CONFIG_CRYPTO_DES=y | |||
1186 | # Compression | 1376 | # Compression |
1187 | # | 1377 | # |
1188 | CONFIG_CRYPTO_DEFLATE=y | 1378 | CONFIG_CRYPTO_DEFLATE=y |
1379 | # CONFIG_CRYPTO_ZLIB is not set | ||
1189 | # CONFIG_CRYPTO_LZO is not set | 1380 | # CONFIG_CRYPTO_LZO is not set |
1381 | |||
1382 | # | ||
1383 | # Random Number Generation | ||
1384 | # | ||
1385 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
1190 | CONFIG_CRYPTO_HW=y | 1386 | CONFIG_CRYPTO_HW=y |
1387 | CONFIG_BINARY_PRINTF=y | ||
1191 | 1388 | ||
1192 | # | 1389 | # |
1193 | # Library routines | 1390 | # Library routines |
1194 | # | 1391 | # |
1195 | CONFIG_BITREVERSE=y | 1392 | CONFIG_BITREVERSE=y |
1196 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | 1393 | CONFIG_GENERIC_FIND_LAST_BIT=y |
1197 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1198 | CONFIG_CRC_CCITT=m | 1394 | CONFIG_CRC_CCITT=m |
1199 | # CONFIG_CRC16 is not set | 1395 | # CONFIG_CRC16 is not set |
1200 | # CONFIG_CRC_T10DIF is not set | 1396 | # CONFIG_CRC_T10DIF is not set |
@@ -1204,8 +1400,9 @@ CONFIG_CRC7=m | |||
1204 | # CONFIG_LIBCRC32C is not set | 1400 | # CONFIG_LIBCRC32C is not set |
1205 | CONFIG_ZLIB_INFLATE=y | 1401 | CONFIG_ZLIB_INFLATE=y |
1206 | CONFIG_ZLIB_DEFLATE=y | 1402 | CONFIG_ZLIB_DEFLATE=y |
1403 | CONFIG_DECOMPRESS_GZIP=y | ||
1207 | CONFIG_GENERIC_ALLOCATOR=y | 1404 | CONFIG_GENERIC_ALLOCATOR=y |
1208 | CONFIG_PLIST=y | ||
1209 | CONFIG_HAS_IOMEM=y | 1405 | CONFIG_HAS_IOMEM=y |
1210 | CONFIG_HAS_IOPORT=y | 1406 | CONFIG_HAS_IOPORT=y |
1211 | CONFIG_HAS_DMA=y | 1407 | CONFIG_HAS_DMA=y |
1408 | CONFIG_NLATTR=y | ||
diff --git a/arch/avr32/configs/atngw100_evklcd100_defconfig b/arch/avr32/configs/atngw100_evklcd100_defconfig index 86a45b5c9d0d..c732cc397ad0 100644 --- a/arch/avr32/configs/atngw100_evklcd100_defconfig +++ b/arch/avr32/configs/atngw100_evklcd100_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25.6 | 3 | # Linux kernel version: 2.6.32-rc5 |
4 | # Wed Jun 18 16:06:32 2008 | 4 | # Thu Oct 29 09:36:39 2009 |
5 | # | 5 | # |
6 | CONFIG_AVR32=y | 6 | CONFIG_AVR32=y |
7 | CONFIG_GENERIC_GPIO=y | 7 | CONFIG_GENERIC_GPIO=y |
@@ -21,6 +21,7 @@ CONFIG_GENERIC_HWEIGHT=y | |||
21 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 21 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
22 | CONFIG_GENERIC_BUG=y | 22 | CONFIG_GENERIC_BUG=y |
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
24 | 25 | ||
25 | # | 26 | # |
26 | # General setup | 27 | # General setup |
@@ -34,22 +35,37 @@ CONFIG_SWAP=y | |||
34 | CONFIG_SYSVIPC=y | 35 | CONFIG_SYSVIPC=y |
35 | CONFIG_SYSVIPC_SYSCTL=y | 36 | CONFIG_SYSVIPC_SYSCTL=y |
36 | CONFIG_POSIX_MQUEUE=y | 37 | CONFIG_POSIX_MQUEUE=y |
38 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
37 | CONFIG_BSD_PROCESS_ACCT=y | 39 | CONFIG_BSD_PROCESS_ACCT=y |
38 | CONFIG_BSD_PROCESS_ACCT_V3=y | 40 | CONFIG_BSD_PROCESS_ACCT_V3=y |
39 | # CONFIG_TASKSTATS is not set | 41 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_AUDIT is not set | 42 | # CONFIG_AUDIT is not set |
43 | |||
44 | # | ||
45 | # RCU Subsystem | ||
46 | # | ||
47 | CONFIG_TREE_RCU=y | ||
48 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
49 | # CONFIG_RCU_TRACE is not set | ||
50 | CONFIG_RCU_FANOUT=32 | ||
51 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
52 | # CONFIG_TREE_RCU_TRACE is not set | ||
41 | # CONFIG_IKCONFIG is not set | 53 | # CONFIG_IKCONFIG is not set |
42 | CONFIG_LOG_BUF_SHIFT=14 | 54 | CONFIG_LOG_BUF_SHIFT=14 |
43 | # CONFIG_CGROUPS is not set | ||
44 | # CONFIG_GROUP_SCHED is not set | 55 | # CONFIG_GROUP_SCHED is not set |
56 | # CONFIG_CGROUPS is not set | ||
45 | CONFIG_SYSFS_DEPRECATED=y | 57 | CONFIG_SYSFS_DEPRECATED=y |
46 | CONFIG_SYSFS_DEPRECATED_V2=y | 58 | CONFIG_SYSFS_DEPRECATED_V2=y |
47 | # CONFIG_RELAY is not set | 59 | # CONFIG_RELAY is not set |
48 | # CONFIG_NAMESPACES is not set | 60 | # CONFIG_NAMESPACES is not set |
49 | CONFIG_BLK_DEV_INITRD=y | 61 | CONFIG_BLK_DEV_INITRD=y |
50 | CONFIG_INITRAMFS_SOURCE="" | 62 | CONFIG_INITRAMFS_SOURCE="" |
63 | CONFIG_RD_GZIP=y | ||
64 | # CONFIG_RD_BZIP2 is not set | ||
65 | # CONFIG_RD_LZMA is not set | ||
51 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 66 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
52 | CONFIG_SYSCTL=y | 67 | CONFIG_SYSCTL=y |
68 | CONFIG_ANON_INODES=y | ||
53 | CONFIG_EMBEDDED=y | 69 | CONFIG_EMBEDDED=y |
54 | # CONFIG_SYSCTL_SYSCALL is not set | 70 | # CONFIG_SYSCTL_SYSCALL is not set |
55 | CONFIG_KALLSYMS=y | 71 | CONFIG_KALLSYMS=y |
@@ -59,43 +75,51 @@ CONFIG_HOTPLUG=y | |||
59 | CONFIG_PRINTK=y | 75 | CONFIG_PRINTK=y |
60 | CONFIG_BUG=y | 76 | CONFIG_BUG=y |
61 | CONFIG_ELF_CORE=y | 77 | CONFIG_ELF_CORE=y |
62 | # CONFIG_COMPAT_BRK is not set | ||
63 | # CONFIG_BASE_FULL is not set | 78 | # CONFIG_BASE_FULL is not set |
64 | CONFIG_FUTEX=y | 79 | CONFIG_FUTEX=y |
65 | CONFIG_ANON_INODES=y | ||
66 | CONFIG_EPOLL=y | 80 | CONFIG_EPOLL=y |
67 | CONFIG_SIGNALFD=y | 81 | CONFIG_SIGNALFD=y |
68 | CONFIG_TIMERFD=y | 82 | CONFIG_TIMERFD=y |
69 | CONFIG_EVENTFD=y | 83 | CONFIG_EVENTFD=y |
70 | CONFIG_SHMEM=y | 84 | CONFIG_SHMEM=y |
85 | CONFIG_AIO=y | ||
86 | |||
87 | # | ||
88 | # Kernel Performance Events And Counters | ||
89 | # | ||
71 | CONFIG_VM_EVENT_COUNTERS=y | 90 | CONFIG_VM_EVENT_COUNTERS=y |
72 | CONFIG_SLUB_DEBUG=y | 91 | CONFIG_SLUB_DEBUG=y |
92 | # CONFIG_COMPAT_BRK is not set | ||
73 | # CONFIG_SLAB is not set | 93 | # CONFIG_SLAB is not set |
74 | CONFIG_SLUB=y | 94 | CONFIG_SLUB=y |
75 | # CONFIG_SLOB is not set | 95 | # CONFIG_SLOB is not set |
76 | CONFIG_PROFILING=y | 96 | CONFIG_PROFILING=y |
77 | # CONFIG_MARKERS is not set | 97 | CONFIG_TRACEPOINTS=y |
78 | CONFIG_OPROFILE=m | 98 | CONFIG_OPROFILE=m |
79 | CONFIG_HAVE_OPROFILE=y | 99 | CONFIG_HAVE_OPROFILE=y |
80 | CONFIG_KPROBES=y | 100 | CONFIG_KPROBES=y |
81 | CONFIG_HAVE_KPROBES=y | 101 | CONFIG_HAVE_KPROBES=y |
82 | # CONFIG_HAVE_KRETPROBES is not set | 102 | CONFIG_HAVE_CLK=y |
83 | CONFIG_PROC_PAGE_MONITOR=y | 103 | |
104 | # | ||
105 | # GCOV-based kernel profiling | ||
106 | # | ||
107 | # CONFIG_GCOV_KERNEL is not set | ||
108 | CONFIG_SLOW_WORK=y | ||
109 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
84 | CONFIG_SLABINFO=y | 110 | CONFIG_SLABINFO=y |
85 | CONFIG_RT_MUTEXES=y | 111 | CONFIG_RT_MUTEXES=y |
86 | # CONFIG_TINY_SHMEM is not set | ||
87 | CONFIG_BASE_SMALL=1 | 112 | CONFIG_BASE_SMALL=1 |
88 | CONFIG_MODULES=y | 113 | CONFIG_MODULES=y |
114 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
89 | CONFIG_MODULE_UNLOAD=y | 115 | CONFIG_MODULE_UNLOAD=y |
90 | CONFIG_MODULE_FORCE_UNLOAD=y | 116 | CONFIG_MODULE_FORCE_UNLOAD=y |
91 | # CONFIG_MODVERSIONS is not set | 117 | # CONFIG_MODVERSIONS is not set |
92 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 118 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
93 | CONFIG_KMOD=y | ||
94 | CONFIG_BLOCK=y | 119 | CONFIG_BLOCK=y |
95 | # CONFIG_LBD is not set | 120 | CONFIG_LBDAF=y |
96 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
97 | # CONFIG_LSF is not set | ||
98 | # CONFIG_BLK_DEV_BSG is not set | 121 | # CONFIG_BLK_DEV_BSG is not set |
122 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
99 | 123 | ||
100 | # | 124 | # |
101 | # IO Schedulers | 125 | # IO Schedulers |
@@ -109,7 +133,7 @@ CONFIG_IOSCHED_CFQ=y | |||
109 | CONFIG_DEFAULT_CFQ=y | 133 | CONFIG_DEFAULT_CFQ=y |
110 | # CONFIG_DEFAULT_NOOP is not set | 134 | # CONFIG_DEFAULT_NOOP is not set |
111 | CONFIG_DEFAULT_IOSCHED="cfq" | 135 | CONFIG_DEFAULT_IOSCHED="cfq" |
112 | CONFIG_CLASSIC_RCU=y | 136 | CONFIG_FREEZER=y |
113 | 137 | ||
114 | # | 138 | # |
115 | # System Type and features | 139 | # System Type and features |
@@ -124,13 +148,26 @@ CONFIG_PERFORMANCE_COUNTERS=y | |||
124 | CONFIG_PLATFORM_AT32AP=y | 148 | CONFIG_PLATFORM_AT32AP=y |
125 | CONFIG_CPU_AT32AP700X=y | 149 | CONFIG_CPU_AT32AP700X=y |
126 | CONFIG_CPU_AT32AP7000=y | 150 | CONFIG_CPU_AT32AP7000=y |
151 | CONFIG_BOARD_ATNGW100_COMMON=y | ||
127 | # CONFIG_BOARD_ATSTK1000 is not set | 152 | # CONFIG_BOARD_ATSTK1000 is not set |
128 | CONFIG_BOARD_ATNGW100=y | 153 | CONFIG_BOARD_ATNGW100_MKI=y |
154 | # CONFIG_BOARD_ATNGW100_MKII is not set | ||
155 | # CONFIG_BOARD_HAMMERHEAD is not set | ||
156 | # CONFIG_BOARD_FAVR_32 is not set | ||
157 | # CONFIG_BOARD_MERISC is not set | ||
158 | # CONFIG_BOARD_MIMC200 is not set | ||
159 | # CONFIG_BOARD_ATSTK1002 is not set | ||
160 | # CONFIG_BOARD_ATSTK1003 is not set | ||
161 | # CONFIG_BOARD_ATSTK1004 is not set | ||
162 | # CONFIG_BOARD_ATSTK1006 is not set | ||
163 | # CONFIG_BOARD_ATSTK1000_J2_LED8 is not set | ||
164 | # CONFIG_BOARD_ATSTK1000_J2_RGB is not set | ||
165 | # CONFIG_BOARD_ATNGW100_ADDON_NONE is not set | ||
129 | CONFIG_BOARD_ATNGW100_EVKLCD10X=y | 166 | CONFIG_BOARD_ATNGW100_EVKLCD10X=y |
167 | # CONFIG_BOARD_ATNGW100_MRMT is not set | ||
130 | CONFIG_BOARD_ATNGW100_EVKLCD10X_QVGA=y | 168 | CONFIG_BOARD_ATNGW100_EVKLCD10X_QVGA=y |
131 | # CONFIG_BOARD_ATNGW100_EVKLCD10X_VGA is not set | 169 | # CONFIG_BOARD_ATNGW100_EVKLCD10X_VGA is not set |
132 | # CONFIG_BOARD_ATNGW100_EVKLCD10X_POW_QVGA is not set | 170 | # CONFIG_BOARD_ATNGW100_EVKLCD10X_POW_QVGA is not set |
133 | CONFIG_BOARD_ATNGW100_I2C_GPIO=y | ||
134 | CONFIG_LOADER_U_BOOT=y | 171 | CONFIG_LOADER_U_BOOT=y |
135 | 172 | ||
136 | # | 173 | # |
@@ -139,14 +176,14 @@ CONFIG_LOADER_U_BOOT=y | |||
139 | # CONFIG_AP700X_32_BIT_SMC is not set | 176 | # CONFIG_AP700X_32_BIT_SMC is not set |
140 | CONFIG_AP700X_16_BIT_SMC=y | 177 | CONFIG_AP700X_16_BIT_SMC=y |
141 | # CONFIG_AP700X_8_BIT_SMC is not set | 178 | # CONFIG_AP700X_8_BIT_SMC is not set |
142 | CONFIG_GPIO_DEV=y | ||
143 | CONFIG_LOAD_ADDRESS=0x10000000 | 179 | CONFIG_LOAD_ADDRESS=0x10000000 |
144 | CONFIG_ENTRY_ADDRESS=0x90000000 | 180 | CONFIG_ENTRY_ADDRESS=0x90000000 |
145 | CONFIG_PHYS_OFFSET=0x10000000 | 181 | CONFIG_PHYS_OFFSET=0x10000000 |
146 | CONFIG_PREEMPT_NONE=y | 182 | CONFIG_PREEMPT_NONE=y |
147 | # CONFIG_PREEMPT_VOLUNTARY is not set | 183 | # CONFIG_PREEMPT_VOLUNTARY is not set |
148 | # CONFIG_PREEMPT is not set | 184 | # CONFIG_PREEMPT is not set |
149 | # CONFIG_HAVE_ARCH_BOOTMEM_NODE is not set | 185 | CONFIG_QUICKLIST=y |
186 | # CONFIG_HAVE_ARCH_BOOTMEM is not set | ||
150 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set | 187 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set |
151 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set | 188 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set |
152 | CONFIG_ARCH_FLATMEM_ENABLE=y | 189 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -158,33 +195,36 @@ CONFIG_FLATMEM_MANUAL=y | |||
158 | # CONFIG_SPARSEMEM_MANUAL is not set | 195 | # CONFIG_SPARSEMEM_MANUAL is not set |
159 | CONFIG_FLATMEM=y | 196 | CONFIG_FLATMEM=y |
160 | CONFIG_FLAT_NODE_MEM_MAP=y | 197 | CONFIG_FLAT_NODE_MEM_MAP=y |
161 | # CONFIG_SPARSEMEM_STATIC is not set | 198 | CONFIG_PAGEFLAGS_EXTENDED=y |
162 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
163 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 199 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
164 | # CONFIG_RESOURCES_64BIT is not set | 200 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
165 | CONFIG_ZONE_DMA_FLAG=0 | 201 | CONFIG_ZONE_DMA_FLAG=0 |
202 | CONFIG_NR_QUICK=2 | ||
166 | CONFIG_VIRT_TO_BUS=y | 203 | CONFIG_VIRT_TO_BUS=y |
204 | CONFIG_HAVE_MLOCK=y | ||
205 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
206 | # CONFIG_KSM is not set | ||
207 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
167 | # CONFIG_OWNERSHIP_TRACE is not set | 208 | # CONFIG_OWNERSHIP_TRACE is not set |
168 | CONFIG_NMI_DEBUGGING=y | 209 | CONFIG_NMI_DEBUGGING=y |
169 | CONFIG_DW_DMAC=y | ||
170 | # CONFIG_HZ_100 is not set | 210 | # CONFIG_HZ_100 is not set |
171 | CONFIG_HZ_250=y | 211 | CONFIG_HZ_250=y |
172 | # CONFIG_HZ_300 is not set | 212 | # CONFIG_HZ_300 is not set |
173 | # CONFIG_HZ_1000 is not set | 213 | # CONFIG_HZ_1000 is not set |
174 | CONFIG_HZ=250 | 214 | CONFIG_HZ=250 |
175 | # CONFIG_SCHED_HRTICK is not set | 215 | CONFIG_SCHED_HRTICK=y |
176 | CONFIG_CMDLINE="" | 216 | CONFIG_CMDLINE="" |
177 | 217 | ||
178 | # | 218 | # |
179 | # Power management options | 219 | # Power management options |
180 | # | 220 | # |
181 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
182 | CONFIG_PM=y | 221 | CONFIG_PM=y |
183 | # CONFIG_PM_LEGACY is not set | ||
184 | # CONFIG_PM_DEBUG is not set | 222 | # CONFIG_PM_DEBUG is not set |
185 | CONFIG_PM_SLEEP=y | 223 | CONFIG_PM_SLEEP=y |
186 | CONFIG_SUSPEND=y | 224 | CONFIG_SUSPEND=y |
187 | CONFIG_SUSPEND_FREEZER=y | 225 | CONFIG_SUSPEND_FREEZER=y |
226 | # CONFIG_PM_RUNTIME is not set | ||
227 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
188 | 228 | ||
189 | # | 229 | # |
190 | # CPU Frequency scaling | 230 | # CPU Frequency scaling |
@@ -194,6 +234,7 @@ CONFIG_CPU_FREQ_TABLE=y | |||
194 | # CONFIG_CPU_FREQ_DEBUG is not set | 234 | # CONFIG_CPU_FREQ_DEBUG is not set |
195 | # CONFIG_CPU_FREQ_STAT is not set | 235 | # CONFIG_CPU_FREQ_STAT is not set |
196 | # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set | 236 | # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set |
237 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
197 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | 238 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set |
198 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y | 239 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y |
199 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | 240 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set |
@@ -214,11 +255,9 @@ CONFIG_CPU_FREQ_AT32AP=y | |||
214 | # Executable file formats | 255 | # Executable file formats |
215 | # | 256 | # |
216 | CONFIG_BINFMT_ELF=y | 257 | CONFIG_BINFMT_ELF=y |
258 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
259 | # CONFIG_HAVE_AOUT is not set | ||
217 | # CONFIG_BINFMT_MISC is not set | 260 | # CONFIG_BINFMT_MISC is not set |
218 | |||
219 | # | ||
220 | # Networking | ||
221 | # | ||
222 | CONFIG_NET=y | 261 | CONFIG_NET=y |
223 | 262 | ||
224 | # | 263 | # |
@@ -232,6 +271,7 @@ CONFIG_XFRM_USER=y | |||
232 | # CONFIG_XFRM_SUB_POLICY is not set | 271 | # CONFIG_XFRM_SUB_POLICY is not set |
233 | # CONFIG_XFRM_MIGRATE is not set | 272 | # CONFIG_XFRM_MIGRATE is not set |
234 | # CONFIG_XFRM_STATISTICS is not set | 273 | # CONFIG_XFRM_STATISTICS is not set |
274 | CONFIG_XFRM_IPCOMP=y | ||
235 | CONFIG_NET_KEY=y | 275 | CONFIG_NET_KEY=y |
236 | # CONFIG_NET_KEY_MIGRATE is not set | 276 | # CONFIG_NET_KEY_MIGRATE is not set |
237 | CONFIG_INET=y | 277 | CONFIG_INET=y |
@@ -269,7 +309,6 @@ CONFIG_INET_TCP_DIAG=y | |||
269 | CONFIG_TCP_CONG_CUBIC=y | 309 | CONFIG_TCP_CONG_CUBIC=y |
270 | CONFIG_DEFAULT_TCP_CONG="cubic" | 310 | CONFIG_DEFAULT_TCP_CONG="cubic" |
271 | # CONFIG_TCP_MD5SIG is not set | 311 | # CONFIG_TCP_MD5SIG is not set |
272 | # CONFIG_IP_VS is not set | ||
273 | CONFIG_IPV6=y | 312 | CONFIG_IPV6=y |
274 | # CONFIG_IPV6_PRIVACY is not set | 313 | # CONFIG_IPV6_PRIVACY is not set |
275 | # CONFIG_IPV6_ROUTER_PREF is not set | 314 | # CONFIG_IPV6_ROUTER_PREF is not set |
@@ -285,8 +324,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=y | |||
285 | CONFIG_INET6_XFRM_MODE_BEET=y | 324 | CONFIG_INET6_XFRM_MODE_BEET=y |
286 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | 325 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set |
287 | CONFIG_IPV6_SIT=y | 326 | CONFIG_IPV6_SIT=y |
327 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
288 | # CONFIG_IPV6_TUNNEL is not set | 328 | # CONFIG_IPV6_TUNNEL is not set |
289 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 329 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
330 | # CONFIG_IPV6_MROUTE is not set | ||
290 | # CONFIG_NETWORK_SECMARK is not set | 331 | # CONFIG_NETWORK_SECMARK is not set |
291 | CONFIG_NETFILTER=y | 332 | CONFIG_NETFILTER=y |
292 | # CONFIG_NETFILTER_DEBUG is not set | 333 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -310,10 +351,12 @@ CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | |||
310 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 351 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
311 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 352 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
312 | CONFIG_NETFILTER_XT_MATCH_STATE=m | 353 | CONFIG_NETFILTER_XT_MATCH_STATE=m |
354 | # CONFIG_IP_VS is not set | ||
313 | 355 | ||
314 | # | 356 | # |
315 | # IP: Netfilter Configuration | 357 | # IP: Netfilter Configuration |
316 | # | 358 | # |
359 | CONFIG_NF_DEFRAG_IPV4=m | ||
317 | CONFIG_NF_CONNTRACK_IPV4=m | 360 | CONFIG_NF_CONNTRACK_IPV4=m |
318 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y | 361 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y |
319 | CONFIG_IP_NF_IPTABLES=m | 362 | CONFIG_IP_NF_IPTABLES=m |
@@ -339,16 +382,20 @@ CONFIG_IP_NF_MANGLE=m | |||
339 | CONFIG_NF_CONNTRACK_IPV6=m | 382 | CONFIG_NF_CONNTRACK_IPV6=m |
340 | CONFIG_IP6_NF_IPTABLES=m | 383 | CONFIG_IP6_NF_IPTABLES=m |
341 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 384 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m |
342 | CONFIG_IP6_NF_FILTER=m | ||
343 | CONFIG_IP6_NF_TARGET_LOG=m | 385 | CONFIG_IP6_NF_TARGET_LOG=m |
386 | CONFIG_IP6_NF_FILTER=m | ||
344 | CONFIG_IP6_NF_TARGET_REJECT=m | 387 | CONFIG_IP6_NF_TARGET_REJECT=m |
345 | CONFIG_IP6_NF_MANGLE=m | 388 | CONFIG_IP6_NF_MANGLE=m |
346 | # CONFIG_IP_DCCP is not set | 389 | # CONFIG_IP_DCCP is not set |
347 | # CONFIG_IP_SCTP is not set | 390 | # CONFIG_IP_SCTP is not set |
391 | # CONFIG_RDS is not set | ||
348 | # CONFIG_TIPC is not set | 392 | # CONFIG_TIPC is not set |
349 | # CONFIG_ATM is not set | 393 | # CONFIG_ATM is not set |
394 | CONFIG_STP=m | ||
350 | CONFIG_BRIDGE=m | 395 | CONFIG_BRIDGE=m |
396 | # CONFIG_NET_DSA is not set | ||
351 | CONFIG_VLAN_8021Q=m | 397 | CONFIG_VLAN_8021Q=m |
398 | # CONFIG_VLAN_8021Q_GVRP is not set | ||
352 | # CONFIG_DECNET is not set | 399 | # CONFIG_DECNET is not set |
353 | CONFIG_LLC=m | 400 | CONFIG_LLC=m |
354 | # CONFIG_LLC2 is not set | 401 | # CONFIG_LLC2 is not set |
@@ -358,26 +405,33 @@ CONFIG_LLC=m | |||
358 | # CONFIG_LAPB is not set | 405 | # CONFIG_LAPB is not set |
359 | # CONFIG_ECONET is not set | 406 | # CONFIG_ECONET is not set |
360 | # CONFIG_WAN_ROUTER is not set | 407 | # CONFIG_WAN_ROUTER is not set |
408 | # CONFIG_PHONET is not set | ||
409 | # CONFIG_IEEE802154 is not set | ||
361 | # CONFIG_NET_SCHED is not set | 410 | # CONFIG_NET_SCHED is not set |
411 | # CONFIG_DCB is not set | ||
362 | 412 | ||
363 | # | 413 | # |
364 | # Network testing | 414 | # Network testing |
365 | # | 415 | # |
366 | # CONFIG_NET_PKTGEN is not set | 416 | # CONFIG_NET_PKTGEN is not set |
367 | # CONFIG_NET_TCPPROBE is not set | 417 | # CONFIG_NET_TCPPROBE is not set |
418 | # CONFIG_NET_DROP_MONITOR is not set | ||
368 | # CONFIG_HAMRADIO is not set | 419 | # CONFIG_HAMRADIO is not set |
369 | # CONFIG_CAN is not set | 420 | # CONFIG_CAN is not set |
370 | # CONFIG_IRDA is not set | 421 | # CONFIG_IRDA is not set |
371 | # CONFIG_BT is not set | 422 | # CONFIG_BT is not set |
372 | # CONFIG_AF_RXRPC is not set | 423 | # CONFIG_AF_RXRPC is not set |
424 | CONFIG_WIRELESS=y | ||
425 | # CONFIG_CFG80211 is not set | ||
426 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
427 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
428 | # CONFIG_WIRELESS_EXT is not set | ||
429 | # CONFIG_LIB80211 is not set | ||
373 | 430 | ||
374 | # | 431 | # |
375 | # Wireless | 432 | # CFG80211 needs to be enabled for MAC80211 |
376 | # | 433 | # |
377 | # CONFIG_CFG80211 is not set | 434 | # CONFIG_WIMAX is not set |
378 | # CONFIG_WIRELESS_EXT is not set | ||
379 | # CONFIG_MAC80211 is not set | ||
380 | # CONFIG_IEEE80211 is not set | ||
381 | # CONFIG_RFKILL is not set | 435 | # CONFIG_RFKILL is not set |
382 | # CONFIG_NET_9P is not set | 436 | # CONFIG_NET_9P is not set |
383 | 437 | ||
@@ -389,6 +443,7 @@ CONFIG_LLC=m | |||
389 | # Generic Driver Options | 443 | # Generic Driver Options |
390 | # | 444 | # |
391 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 445 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
446 | # CONFIG_DEVTMPFS is not set | ||
392 | CONFIG_STANDALONE=y | 447 | CONFIG_STANDALONE=y |
393 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 448 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
394 | # CONFIG_FW_LOADER is not set | 449 | # CONFIG_FW_LOADER is not set |
@@ -398,10 +453,12 @@ CONFIG_STANDALONE=y | |||
398 | # CONFIG_CONNECTOR is not set | 453 | # CONFIG_CONNECTOR is not set |
399 | CONFIG_MTD=y | 454 | CONFIG_MTD=y |
400 | # CONFIG_MTD_DEBUG is not set | 455 | # CONFIG_MTD_DEBUG is not set |
456 | # CONFIG_MTD_TESTS is not set | ||
401 | # CONFIG_MTD_CONCAT is not set | 457 | # CONFIG_MTD_CONCAT is not set |
402 | CONFIG_MTD_PARTITIONS=y | 458 | CONFIG_MTD_PARTITIONS=y |
403 | # CONFIG_MTD_REDBOOT_PARTS is not set | 459 | # CONFIG_MTD_REDBOOT_PARTS is not set |
404 | CONFIG_MTD_CMDLINE_PARTS=y | 460 | CONFIG_MTD_CMDLINE_PARTS=y |
461 | # CONFIG_MTD_AR7_PARTS is not set | ||
405 | 462 | ||
406 | # | 463 | # |
407 | # User Modules And Translation Layers | 464 | # User Modules And Translation Layers |
@@ -446,16 +503,17 @@ CONFIG_MTD_CFI_UTIL=y | |||
446 | # | 503 | # |
447 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 504 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
448 | CONFIG_MTD_PHYSMAP=y | 505 | CONFIG_MTD_PHYSMAP=y |
449 | CONFIG_MTD_PHYSMAP_START=0x80000000 | 506 | # CONFIG_MTD_PHYSMAP_COMPAT is not set |
450 | CONFIG_MTD_PHYSMAP_LEN=0x0 | ||
451 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
452 | # CONFIG_MTD_PLATRAM is not set | 507 | # CONFIG_MTD_PLATRAM is not set |
453 | 508 | ||
454 | # | 509 | # |
455 | # Self-contained MTD device drivers | 510 | # Self-contained MTD device drivers |
456 | # | 511 | # |
457 | CONFIG_MTD_DATAFLASH=y | 512 | CONFIG_MTD_DATAFLASH=y |
513 | # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set | ||
514 | # CONFIG_MTD_DATAFLASH_OTP is not set | ||
458 | # CONFIG_MTD_M25P80 is not set | 515 | # CONFIG_MTD_M25P80 is not set |
516 | # CONFIG_MTD_SST25L is not set | ||
459 | # CONFIG_MTD_SLRAM is not set | 517 | # CONFIG_MTD_SLRAM is not set |
460 | # CONFIG_MTD_PHRAM is not set | 518 | # CONFIG_MTD_PHRAM is not set |
461 | # CONFIG_MTD_MTDRAM is not set | 519 | # CONFIG_MTD_MTDRAM is not set |
@@ -471,6 +529,11 @@ CONFIG_MTD_DATAFLASH=y | |||
471 | # CONFIG_MTD_ONENAND is not set | 529 | # CONFIG_MTD_ONENAND is not set |
472 | 530 | ||
473 | # | 531 | # |
532 | # LPDDR flash memory drivers | ||
533 | # | ||
534 | # CONFIG_MTD_LPDDR is not set | ||
535 | |||
536 | # | ||
474 | # UBI - Unsorted block images | 537 | # UBI - Unsorted block images |
475 | # | 538 | # |
476 | CONFIG_MTD_UBI=y | 539 | CONFIG_MTD_UBI=y |
@@ -499,10 +562,20 @@ CONFIG_MISC_DEVICES=y | |||
499 | CONFIG_ATMEL_TCLIB=y | 562 | CONFIG_ATMEL_TCLIB=y |
500 | CONFIG_ATMEL_TCB_CLKSRC=y | 563 | CONFIG_ATMEL_TCB_CLKSRC=y |
501 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 | 564 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 |
502 | # CONFIG_EEPROM_93CX6 is not set | 565 | # CONFIG_ICS932S401 is not set |
503 | # CONFIG_ATMEL_SSC is not set | 566 | # CONFIG_ATMEL_SSC is not set |
504 | # CONFIG_ENCLOSURE_SERVICES is not set | 567 | # CONFIG_ENCLOSURE_SERVICES is not set |
505 | # CONFIG_HAVE_IDE is not set | 568 | # CONFIG_ISL29003 is not set |
569 | # CONFIG_C2PORT is not set | ||
570 | |||
571 | # | ||
572 | # EEPROM support | ||
573 | # | ||
574 | # CONFIG_EEPROM_AT24 is not set | ||
575 | # CONFIG_EEPROM_AT25 is not set | ||
576 | # CONFIG_EEPROM_LEGACY is not set | ||
577 | # CONFIG_EEPROM_MAX6875 is not set | ||
578 | # CONFIG_EEPROM_93CX6 is not set | ||
506 | 579 | ||
507 | # | 580 | # |
508 | # SCSI device support | 581 | # SCSI device support |
@@ -514,7 +587,6 @@ CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 | |||
514 | # CONFIG_ATA is not set | 587 | # CONFIG_ATA is not set |
515 | # CONFIG_MD is not set | 588 | # CONFIG_MD is not set |
516 | CONFIG_NETDEVICES=y | 589 | CONFIG_NETDEVICES=y |
517 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
518 | # CONFIG_DUMMY is not set | 590 | # CONFIG_DUMMY is not set |
519 | # CONFIG_BONDING is not set | 591 | # CONFIG_BONDING is not set |
520 | # CONFIG_MACVLAN is not set | 592 | # CONFIG_MACVLAN is not set |
@@ -536,25 +608,37 @@ CONFIG_PHYLIB=y | |||
536 | # CONFIG_BROADCOM_PHY is not set | 608 | # CONFIG_BROADCOM_PHY is not set |
537 | # CONFIG_ICPLUS_PHY is not set | 609 | # CONFIG_ICPLUS_PHY is not set |
538 | # CONFIG_REALTEK_PHY is not set | 610 | # CONFIG_REALTEK_PHY is not set |
611 | # CONFIG_NATIONAL_PHY is not set | ||
612 | # CONFIG_STE10XP is not set | ||
613 | # CONFIG_LSI_ET1011C_PHY is not set | ||
539 | # CONFIG_FIXED_PHY is not set | 614 | # CONFIG_FIXED_PHY is not set |
540 | # CONFIG_MDIO_BITBANG is not set | 615 | # CONFIG_MDIO_BITBANG is not set |
541 | CONFIG_NET_ETHERNET=y | 616 | CONFIG_NET_ETHERNET=y |
542 | # CONFIG_MII is not set | 617 | # CONFIG_MII is not set |
543 | CONFIG_MACB=y | 618 | CONFIG_MACB=y |
544 | # CONFIG_ENC28J60 is not set | 619 | # CONFIG_ENC28J60 is not set |
620 | # CONFIG_ETHOC is not set | ||
621 | # CONFIG_DNET is not set | ||
545 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 622 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
546 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 623 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
547 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 624 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
548 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 625 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
626 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
627 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
628 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
549 | # CONFIG_B44 is not set | 629 | # CONFIG_B44 is not set |
630 | # CONFIG_KS8842 is not set | ||
631 | # CONFIG_KS8851 is not set | ||
632 | # CONFIG_KS8851_MLL is not set | ||
550 | # CONFIG_NETDEV_1000 is not set | 633 | # CONFIG_NETDEV_1000 is not set |
551 | # CONFIG_NETDEV_10000 is not set | 634 | # CONFIG_NETDEV_10000 is not set |
635 | CONFIG_WLAN=y | ||
636 | # CONFIG_WLAN_PRE80211 is not set | ||
637 | # CONFIG_WLAN_80211 is not set | ||
552 | 638 | ||
553 | # | 639 | # |
554 | # Wireless LAN | 640 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
555 | # | 641 | # |
556 | # CONFIG_WLAN_PRE80211 is not set | ||
557 | # CONFIG_WLAN_80211 is not set | ||
558 | # CONFIG_WAN is not set | 642 | # CONFIG_WAN is not set |
559 | CONFIG_PPP=m | 643 | CONFIG_PPP=m |
560 | # CONFIG_PPP_MULTILINK is not set | 644 | # CONFIG_PPP_MULTILINK is not set |
@@ -598,15 +682,30 @@ CONFIG_INPUT_EVDEV=m | |||
598 | # CONFIG_INPUT_TABLET is not set | 682 | # CONFIG_INPUT_TABLET is not set |
599 | CONFIG_INPUT_TOUCHSCREEN=y | 683 | CONFIG_INPUT_TOUCHSCREEN=y |
600 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | 684 | # CONFIG_TOUCHSCREEN_ADS7846 is not set |
685 | # CONFIG_TOUCHSCREEN_AD7877 is not set | ||
686 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | ||
687 | # CONFIG_TOUCHSCREEN_AD7879_SPI is not set | ||
688 | # CONFIG_TOUCHSCREEN_AD7879 is not set | ||
689 | # CONFIG_TOUCHSCREEN_EETI is not set | ||
601 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | 690 | # CONFIG_TOUCHSCREEN_FUJITSU is not set |
602 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 691 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
603 | # CONFIG_TOUCHSCREEN_ELO is not set | 692 | # CONFIG_TOUCHSCREEN_ELO is not set |
693 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
694 | # CONFIG_TOUCHSCREEN_MCS5000 is not set | ||
604 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | 695 | # CONFIG_TOUCHSCREEN_MTOUCH is not set |
696 | # CONFIG_TOUCHSCREEN_INEXIO is not set | ||
605 | # CONFIG_TOUCHSCREEN_MK712 is not set | 697 | # CONFIG_TOUCHSCREEN_MK712 is not set |
606 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | 698 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set |
607 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | 699 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set |
608 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | 700 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set |
609 | # CONFIG_TOUCHSCREEN_UCB1400 is not set | 701 | CONFIG_TOUCHSCREEN_WM97XX=m |
702 | CONFIG_TOUCHSCREEN_WM9705=y | ||
703 | CONFIG_TOUCHSCREEN_WM9712=y | ||
704 | CONFIG_TOUCHSCREEN_WM9713=y | ||
705 | # CONFIG_TOUCHSCREEN_WM97XX_ATMEL is not set | ||
706 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | ||
707 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
708 | # CONFIG_TOUCHSCREEN_W90X900 is not set | ||
610 | # CONFIG_INPUT_MISC is not set | 709 | # CONFIG_INPUT_MISC is not set |
611 | 710 | ||
612 | # | 711 | # |
@@ -619,9 +718,11 @@ CONFIG_INPUT_TOUCHSCREEN=y | |||
619 | # Character devices | 718 | # Character devices |
620 | # | 719 | # |
621 | CONFIG_VT=y | 720 | CONFIG_VT=y |
721 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
622 | CONFIG_VT_CONSOLE=y | 722 | CONFIG_VT_CONSOLE=y |
623 | CONFIG_HW_CONSOLE=y | 723 | CONFIG_HW_CONSOLE=y |
624 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | 724 | # CONFIG_VT_HW_CONSOLE_BINDING is not set |
725 | CONFIG_DEVKMEM=y | ||
625 | # CONFIG_SERIAL_NONSTANDARD is not set | 726 | # CONFIG_SERIAL_NONSTANDARD is not set |
626 | 727 | ||
627 | # | 728 | # |
@@ -636,9 +737,11 @@ CONFIG_SERIAL_ATMEL=y | |||
636 | CONFIG_SERIAL_ATMEL_CONSOLE=y | 737 | CONFIG_SERIAL_ATMEL_CONSOLE=y |
637 | CONFIG_SERIAL_ATMEL_PDC=y | 738 | CONFIG_SERIAL_ATMEL_PDC=y |
638 | # CONFIG_SERIAL_ATMEL_TTYAT is not set | 739 | # CONFIG_SERIAL_ATMEL_TTYAT is not set |
740 | # CONFIG_SERIAL_MAX3100 is not set | ||
639 | CONFIG_SERIAL_CORE=y | 741 | CONFIG_SERIAL_CORE=y |
640 | CONFIG_SERIAL_CORE_CONSOLE=y | 742 | CONFIG_SERIAL_CORE_CONSOLE=y |
641 | CONFIG_UNIX98_PTYS=y | 743 | CONFIG_UNIX98_PTYS=y |
744 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
642 | # CONFIG_LEGACY_PTYS is not set | 745 | # CONFIG_LEGACY_PTYS is not set |
643 | # CONFIG_IPMI_HANDLER is not set | 746 | # CONFIG_IPMI_HANDLER is not set |
644 | # CONFIG_HW_RANDOM is not set | 747 | # CONFIG_HW_RANDOM is not set |
@@ -647,45 +750,44 @@ CONFIG_UNIX98_PTYS=y | |||
647 | # CONFIG_TCG_TPM is not set | 750 | # CONFIG_TCG_TPM is not set |
648 | CONFIG_I2C=m | 751 | CONFIG_I2C=m |
649 | CONFIG_I2C_BOARDINFO=y | 752 | CONFIG_I2C_BOARDINFO=y |
753 | CONFIG_I2C_COMPAT=y | ||
650 | CONFIG_I2C_CHARDEV=m | 754 | CONFIG_I2C_CHARDEV=m |
755 | CONFIG_I2C_HELPER_AUTO=y | ||
756 | CONFIG_I2C_ALGOBIT=m | ||
651 | 757 | ||
652 | # | 758 | # |
653 | # I2C Algorithms | 759 | # I2C Hardware Bus support |
654 | # | 760 | # |
655 | CONFIG_I2C_ALGOBIT=m | ||
656 | # CONFIG_I2C_ALGOPCF is not set | ||
657 | # CONFIG_I2C_ALGOPCA is not set | ||
658 | 761 | ||
659 | # | 762 | # |
660 | # I2C Hardware Bus support | 763 | # I2C system bus drivers (mostly embedded / system-on-chip) |
661 | # | 764 | # |
662 | CONFIG_I2C_ATMELTWI=m | 765 | # CONFIG_I2C_DESIGNWARE is not set |
663 | CONFIG_I2C_GPIO=m | 766 | CONFIG_I2C_GPIO=m |
664 | # CONFIG_I2C_OCORES is not set | 767 | # CONFIG_I2C_OCORES is not set |
665 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
666 | # CONFIG_I2C_SIMTEC is not set | 768 | # CONFIG_I2C_SIMTEC is not set |
769 | |||
770 | # | ||
771 | # External I2C/SMBus adapter drivers | ||
772 | # | ||
773 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
667 | # CONFIG_I2C_TAOS_EVM is not set | 774 | # CONFIG_I2C_TAOS_EVM is not set |
775 | |||
776 | # | ||
777 | # Other I2C/SMBus bus drivers | ||
778 | # | ||
779 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
668 | # CONFIG_I2C_STUB is not set | 780 | # CONFIG_I2C_STUB is not set |
669 | 781 | ||
670 | # | 782 | # |
671 | # Miscellaneous I2C Chip support | 783 | # Miscellaneous I2C Chip support |
672 | # | 784 | # |
673 | # CONFIG_DS1682 is not set | 785 | # CONFIG_DS1682 is not set |
674 | # CONFIG_EEPROM_LEGACY is not set | ||
675 | # CONFIG_SENSORS_PCF8574 is not set | ||
676 | # CONFIG_PCF8575 is not set | ||
677 | # CONFIG_SENSORS_PCF8591 is not set | ||
678 | # CONFIG_TPS65010 is not set | ||
679 | # CONFIG_SENSORS_MAX6875 is not set | ||
680 | # CONFIG_SENSORS_TSL2550 is not set | 786 | # CONFIG_SENSORS_TSL2550 is not set |
681 | # CONFIG_I2C_DEBUG_CORE is not set | 787 | # CONFIG_I2C_DEBUG_CORE is not set |
682 | # CONFIG_I2C_DEBUG_ALGO is not set | 788 | # CONFIG_I2C_DEBUG_ALGO is not set |
683 | # CONFIG_I2C_DEBUG_BUS is not set | 789 | # CONFIG_I2C_DEBUG_BUS is not set |
684 | # CONFIG_I2C_DEBUG_CHIP is not set | 790 | # CONFIG_I2C_DEBUG_CHIP is not set |
685 | |||
686 | # | ||
687 | # SPI support | ||
688 | # | ||
689 | CONFIG_SPI=y | 791 | CONFIG_SPI=y |
690 | # CONFIG_SPI_DEBUG is not set | 792 | # CONFIG_SPI_DEBUG is not set |
691 | CONFIG_SPI_MASTER=y | 793 | CONFIG_SPI_MASTER=y |
@@ -695,30 +797,48 @@ CONFIG_SPI_MASTER=y | |||
695 | # | 797 | # |
696 | CONFIG_SPI_ATMEL=y | 798 | CONFIG_SPI_ATMEL=y |
697 | # CONFIG_SPI_BITBANG is not set | 799 | # CONFIG_SPI_BITBANG is not set |
800 | # CONFIG_SPI_GPIO is not set | ||
698 | 801 | ||
699 | # | 802 | # |
700 | # SPI Protocol Masters | 803 | # SPI Protocol Masters |
701 | # | 804 | # |
702 | # CONFIG_EEPROM_AT25 is not set | ||
703 | CONFIG_SPI_SPIDEV=m | 805 | CONFIG_SPI_SPIDEV=m |
704 | # CONFIG_SPI_TLE62X0 is not set | 806 | # CONFIG_SPI_TLE62X0 is not set |
705 | CONFIG_HAVE_GPIO_LIB=y | ||
706 | 807 | ||
707 | # | 808 | # |
708 | # GPIO Support | 809 | # PPS support |
709 | # | 810 | # |
811 | # CONFIG_PPS is not set | ||
812 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
813 | CONFIG_GPIOLIB=y | ||
710 | # CONFIG_DEBUG_GPIO is not set | 814 | # CONFIG_DEBUG_GPIO is not set |
815 | # CONFIG_GPIO_SYSFS is not set | ||
816 | |||
817 | # | ||
818 | # Memory mapped GPIO expanders: | ||
819 | # | ||
711 | 820 | ||
712 | # | 821 | # |
713 | # I2C GPIO expanders: | 822 | # I2C GPIO expanders: |
714 | # | 823 | # |
824 | # CONFIG_GPIO_MAX732X is not set | ||
715 | # CONFIG_GPIO_PCA953X is not set | 825 | # CONFIG_GPIO_PCA953X is not set |
716 | # CONFIG_GPIO_PCF857X is not set | 826 | # CONFIG_GPIO_PCF857X is not set |
717 | 827 | ||
718 | # | 828 | # |
829 | # PCI GPIO expanders: | ||
830 | # | ||
831 | |||
832 | # | ||
719 | # SPI GPIO expanders: | 833 | # SPI GPIO expanders: |
720 | # | 834 | # |
835 | # CONFIG_GPIO_MAX7301 is not set | ||
721 | # CONFIG_GPIO_MCP23S08 is not set | 836 | # CONFIG_GPIO_MCP23S08 is not set |
837 | # CONFIG_GPIO_MC33880 is not set | ||
838 | |||
839 | # | ||
840 | # AC97 GPIO expanders: | ||
841 | # | ||
722 | # CONFIG_W1 is not set | 842 | # CONFIG_W1 is not set |
723 | # CONFIG_POWER_SUPPLY is not set | 843 | # CONFIG_POWER_SUPPLY is not set |
724 | # CONFIG_HWMON is not set | 844 | # CONFIG_HWMON is not set |
@@ -731,24 +851,31 @@ CONFIG_WATCHDOG=y | |||
731 | # | 851 | # |
732 | # CONFIG_SOFT_WATCHDOG is not set | 852 | # CONFIG_SOFT_WATCHDOG is not set |
733 | CONFIG_AT32AP700X_WDT=y | 853 | CONFIG_AT32AP700X_WDT=y |
854 | CONFIG_SSB_POSSIBLE=y | ||
734 | 855 | ||
735 | # | 856 | # |
736 | # Sonics Silicon Backplane | 857 | # Sonics Silicon Backplane |
737 | # | 858 | # |
738 | CONFIG_SSB_POSSIBLE=y | ||
739 | # CONFIG_SSB is not set | 859 | # CONFIG_SSB is not set |
740 | 860 | ||
741 | # | 861 | # |
742 | # Multifunction device drivers | 862 | # Multifunction device drivers |
743 | # | 863 | # |
864 | # CONFIG_MFD_CORE is not set | ||
744 | # CONFIG_MFD_SM501 is not set | 865 | # CONFIG_MFD_SM501 is not set |
745 | 866 | # CONFIG_HTC_PASIC3 is not set | |
746 | # | 867 | # CONFIG_UCB1400_CORE is not set |
747 | # Multimedia devices | 868 | # CONFIG_TPS65010 is not set |
748 | # | 869 | # CONFIG_MFD_TMIO is not set |
749 | # CONFIG_VIDEO_DEV is not set | 870 | # CONFIG_MFD_WM8400 is not set |
750 | # CONFIG_DVB_CORE is not set | 871 | # CONFIG_MFD_WM831X is not set |
751 | # CONFIG_DAB is not set | 872 | # CONFIG_MFD_WM8350_I2C is not set |
873 | # CONFIG_MFD_PCF50633 is not set | ||
874 | # CONFIG_MFD_MC13783 is not set | ||
875 | # CONFIG_AB3100_CORE is not set | ||
876 | # CONFIG_EZX_PCAP is not set | ||
877 | # CONFIG_REGULATOR is not set | ||
878 | # CONFIG_MEDIA_SUPPORT is not set | ||
752 | 879 | ||
753 | # | 880 | # |
754 | # Graphics support | 881 | # Graphics support |
@@ -758,6 +885,7 @@ CONFIG_SSB_POSSIBLE=y | |||
758 | CONFIG_FB=y | 885 | CONFIG_FB=y |
759 | # CONFIG_FIRMWARE_EDID is not set | 886 | # CONFIG_FIRMWARE_EDID is not set |
760 | # CONFIG_FB_DDC is not set | 887 | # CONFIG_FB_DDC is not set |
888 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
761 | CONFIG_FB_CFB_FILLRECT=y | 889 | CONFIG_FB_CFB_FILLRECT=y |
762 | CONFIG_FB_CFB_COPYAREA=y | 890 | CONFIG_FB_CFB_COPYAREA=y |
763 | CONFIG_FB_CFB_IMAGEBLIT=y | 891 | CONFIG_FB_CFB_IMAGEBLIT=y |
@@ -765,8 +893,8 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
765 | # CONFIG_FB_SYS_FILLRECT is not set | 893 | # CONFIG_FB_SYS_FILLRECT is not set |
766 | # CONFIG_FB_SYS_COPYAREA is not set | 894 | # CONFIG_FB_SYS_COPYAREA is not set |
767 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 895 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
896 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
768 | # CONFIG_FB_SYS_FOPS is not set | 897 | # CONFIG_FB_SYS_FOPS is not set |
769 | CONFIG_FB_DEFERRED_IO=y | ||
770 | # CONFIG_FB_SVGALIB is not set | 898 | # CONFIG_FB_SVGALIB is not set |
771 | # CONFIG_FB_MACMODES is not set | 899 | # CONFIG_FB_MACMODES is not set |
772 | # CONFIG_FB_BACKLIGHT is not set | 900 | # CONFIG_FB_BACKLIGHT is not set |
@@ -779,6 +907,9 @@ CONFIG_FB_DEFERRED_IO=y | |||
779 | # CONFIG_FB_S1D13XXX is not set | 907 | # CONFIG_FB_S1D13XXX is not set |
780 | CONFIG_FB_ATMEL=y | 908 | CONFIG_FB_ATMEL=y |
781 | # CONFIG_FB_VIRTUAL is not set | 909 | # CONFIG_FB_VIRTUAL is not set |
910 | # CONFIG_FB_METRONOME is not set | ||
911 | # CONFIG_FB_MB862XX is not set | ||
912 | # CONFIG_FB_BROADSHEET is not set | ||
782 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 913 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
783 | 914 | ||
784 | # | 915 | # |
@@ -792,119 +923,124 @@ CONFIG_FB_ATMEL=y | |||
792 | CONFIG_DUMMY_CONSOLE=y | 923 | CONFIG_DUMMY_CONSOLE=y |
793 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | 924 | # CONFIG_FRAMEBUFFER_CONSOLE is not set |
794 | # CONFIG_LOGO is not set | 925 | # CONFIG_LOGO is not set |
795 | |||
796 | # | ||
797 | # Sound | ||
798 | # | ||
799 | CONFIG_SOUND=y | 926 | CONFIG_SOUND=y |
800 | 927 | CONFIG_SOUND_OSS_CORE=y | |
801 | # | 928 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y |
802 | # Advanced Linux Sound Architecture | ||
803 | # | ||
804 | CONFIG_SND=y | 929 | CONFIG_SND=y |
805 | CONFIG_SND_TIMER=m | 930 | CONFIG_SND_TIMER=y |
806 | CONFIG_SND_PCM=m | 931 | CONFIG_SND_PCM=m |
807 | # CONFIG_SND_SEQUENCER is not set | 932 | # CONFIG_SND_SEQUENCER is not set |
808 | CONFIG_SND_OSSEMUL=y | 933 | CONFIG_SND_OSSEMUL=y |
809 | CONFIG_SND_MIXER_OSS=m | 934 | CONFIG_SND_MIXER_OSS=m |
810 | CONFIG_SND_PCM_OSS=m | 935 | CONFIG_SND_PCM_OSS=m |
811 | CONFIG_SND_PCM_OSS_PLUGINS=y | 936 | CONFIG_SND_PCM_OSS_PLUGINS=y |
937 | CONFIG_SND_HRTIMER=y | ||
812 | # CONFIG_SND_DYNAMIC_MINORS is not set | 938 | # CONFIG_SND_DYNAMIC_MINORS is not set |
813 | # CONFIG_SND_SUPPORT_OLD_API is not set | 939 | # CONFIG_SND_SUPPORT_OLD_API is not set |
814 | CONFIG_SND_VERBOSE_PROCFS=y | 940 | CONFIG_SND_VERBOSE_PROCFS=y |
815 | # CONFIG_SND_VERBOSE_PRINTK is not set | 941 | # CONFIG_SND_VERBOSE_PRINTK is not set |
816 | # CONFIG_SND_DEBUG is not set | 942 | # CONFIG_SND_DEBUG is not set |
817 | 943 | CONFIG_SND_VMASTER=y | |
818 | # | 944 | # CONFIG_SND_RAWMIDI_SEQ is not set |
819 | # Generic devices | 945 | # CONFIG_SND_OPL3_LIB_SEQ is not set |
820 | # | 946 | # CONFIG_SND_OPL4_LIB_SEQ is not set |
947 | # CONFIG_SND_SBAWE_SEQ is not set | ||
948 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
821 | CONFIG_SND_AC97_CODEC=m | 949 | CONFIG_SND_AC97_CODEC=m |
822 | # CONFIG_SND_DUMMY is not set | 950 | # CONFIG_SND_DRIVERS is not set |
823 | # CONFIG_SND_MTPAV is not set | ||
824 | # CONFIG_SND_SERIAL_U16550 is not set | ||
825 | # CONFIG_SND_MPU401 is not set | ||
826 | 951 | ||
827 | # | 952 | # |
828 | # AVR32 devices | 953 | # Atmel devices (AVR32 and AT91) |
829 | # | ||
830 | CONFIG_SND_ATMEL_AC97=m | ||
831 | |||
832 | # | ||
833 | # SPI devices | ||
834 | # | ||
835 | |||
836 | # | ||
837 | # System on Chip audio support | ||
838 | # | 954 | # |
955 | # CONFIG_SND_ATMEL_ABDAC is not set | ||
956 | CONFIG_SND_ATMEL_AC97C=m | ||
957 | # CONFIG_SND_SPI is not set | ||
839 | # CONFIG_SND_SOC is not set | 958 | # CONFIG_SND_SOC is not set |
840 | |||
841 | # | ||
842 | # SoC Audio support for SuperH | ||
843 | # | ||
844 | |||
845 | # | ||
846 | # ALSA SoC audio for Freescale SOCs | ||
847 | # | ||
848 | |||
849 | # | ||
850 | # Open Sound System | ||
851 | # | ||
852 | # CONFIG_SOUND_PRIME is not set | 959 | # CONFIG_SOUND_PRIME is not set |
853 | CONFIG_AC97_BUS=m | 960 | CONFIG_AC97_BUS=m |
854 | CONFIG_HID_SUPPORT=y | 961 | CONFIG_HID_SUPPORT=y |
855 | CONFIG_HID=y | 962 | CONFIG_HID=y |
856 | # CONFIG_HID_DEBUG is not set | ||
857 | # CONFIG_HIDRAW is not set | 963 | # CONFIG_HIDRAW is not set |
964 | # CONFIG_HID_PID is not set | ||
965 | |||
966 | # | ||
967 | # Special HID drivers | ||
968 | # | ||
858 | CONFIG_USB_SUPPORT=y | 969 | CONFIG_USB_SUPPORT=y |
859 | # CONFIG_USB_ARCH_HAS_HCD is not set | 970 | # CONFIG_USB_ARCH_HAS_HCD is not set |
860 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 971 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
861 | # CONFIG_USB_ARCH_HAS_EHCI is not set | 972 | # CONFIG_USB_ARCH_HAS_EHCI is not set |
973 | # CONFIG_USB_OTG_WHITELIST is not set | ||
974 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
975 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
862 | 976 | ||
863 | # | 977 | # |
864 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 978 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
865 | # | 979 | # |
866 | CONFIG_USB_GADGET=y | 980 | CONFIG_USB_GADGET=y |
867 | # CONFIG_USB_GADGET_DEBUG is not set | 981 | # CONFIG_USB_GADGET_DEBUG is not set |
868 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | 982 | # CONFIG_USB_GADGET_DEBUG_FILES is not set |
983 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
984 | CONFIG_USB_GADGET_VBUS_DRAW=350 | ||
869 | CONFIG_USB_GADGET_SELECTED=y | 985 | CONFIG_USB_GADGET_SELECTED=y |
870 | # CONFIG_USB_GADGET_AMD5536UDC is not set | 986 | # CONFIG_USB_GADGET_AT91 is not set |
871 | CONFIG_USB_GADGET_ATMEL_USBA=y | 987 | CONFIG_USB_GADGET_ATMEL_USBA=y |
872 | CONFIG_USB_ATMEL_USBA=y | 988 | CONFIG_USB_ATMEL_USBA=y |
873 | # CONFIG_USB_GADGET_FSL_USB2 is not set | 989 | # CONFIG_USB_GADGET_FSL_USB2 is not set |
874 | # CONFIG_USB_GADGET_NET2280 is not set | ||
875 | # CONFIG_USB_GADGET_PXA2XX is not set | ||
876 | # CONFIG_USB_GADGET_M66592 is not set | ||
877 | # CONFIG_USB_GADGET_GOKU is not set | ||
878 | # CONFIG_USB_GADGET_LH7A40X is not set | 990 | # CONFIG_USB_GADGET_LH7A40X is not set |
879 | # CONFIG_USB_GADGET_OMAP is not set | 991 | # CONFIG_USB_GADGET_OMAP is not set |
992 | # CONFIG_USB_GADGET_PXA25X is not set | ||
993 | # CONFIG_USB_GADGET_R8A66597 is not set | ||
994 | # CONFIG_USB_GADGET_PXA27X is not set | ||
995 | # CONFIG_USB_GADGET_S3C_HSOTG is not set | ||
996 | # CONFIG_USB_GADGET_IMX is not set | ||
880 | # CONFIG_USB_GADGET_S3C2410 is not set | 997 | # CONFIG_USB_GADGET_S3C2410 is not set |
881 | # CONFIG_USB_GADGET_AT91 is not set | 998 | # CONFIG_USB_GADGET_M66592 is not set |
999 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
1000 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
1001 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
1002 | # CONFIG_USB_GADGET_NET2280 is not set | ||
1003 | # CONFIG_USB_GADGET_GOKU is not set | ||
1004 | # CONFIG_USB_GADGET_LANGWELL is not set | ||
882 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | 1005 | # CONFIG_USB_GADGET_DUMMY_HCD is not set |
883 | CONFIG_USB_GADGET_DUALSPEED=y | 1006 | CONFIG_USB_GADGET_DUALSPEED=y |
884 | CONFIG_USB_ZERO=m | 1007 | CONFIG_USB_ZERO=m |
1008 | # CONFIG_USB_AUDIO is not set | ||
885 | CONFIG_USB_ETH=m | 1009 | CONFIG_USB_ETH=m |
886 | CONFIG_USB_ETH_RNDIS=y | 1010 | CONFIG_USB_ETH_RNDIS=y |
1011 | # CONFIG_USB_ETH_EEM is not set | ||
887 | CONFIG_USB_GADGETFS=m | 1012 | CONFIG_USB_GADGETFS=m |
888 | CONFIG_USB_FILE_STORAGE=m | 1013 | CONFIG_USB_FILE_STORAGE=m |
889 | # CONFIG_USB_FILE_STORAGE_TEST is not set | 1014 | # CONFIG_USB_FILE_STORAGE_TEST is not set |
890 | CONFIG_USB_G_SERIAL=m | 1015 | CONFIG_USB_G_SERIAL=m |
891 | # CONFIG_USB_MIDI_GADGET is not set | 1016 | # CONFIG_USB_MIDI_GADGET is not set |
892 | # CONFIG_USB_G_PRINTER is not set | 1017 | # CONFIG_USB_G_PRINTER is not set |
1018 | CONFIG_USB_CDC_COMPOSITE=m | ||
1019 | |||
1020 | # | ||
1021 | # OTG and related infrastructure | ||
1022 | # | ||
1023 | # CONFIG_USB_GPIO_VBUS is not set | ||
1024 | # CONFIG_NOP_USB_XCEIV is not set | ||
893 | CONFIG_MMC=y | 1025 | CONFIG_MMC=y |
894 | # CONFIG_MMC_DEBUG is not set | 1026 | # CONFIG_MMC_DEBUG is not set |
895 | # CONFIG_MMC_UNSAFE_RESUME is not set | 1027 | # CONFIG_MMC_UNSAFE_RESUME is not set |
896 | 1028 | ||
897 | # | 1029 | # |
898 | # MMC/SD Card Drivers | 1030 | # MMC/SD/SDIO Card Drivers |
899 | # | 1031 | # |
900 | CONFIG_MMC_BLOCK=y | 1032 | CONFIG_MMC_BLOCK=y |
901 | CONFIG_MMC_BLOCK_BOUNCE=y | 1033 | CONFIG_MMC_BLOCK_BOUNCE=y |
902 | # CONFIG_SDIO_UART is not set | 1034 | # CONFIG_SDIO_UART is not set |
1035 | # CONFIG_MMC_TEST is not set | ||
903 | 1036 | ||
904 | # | 1037 | # |
905 | # MMC/SD Host Controller Drivers | 1038 | # MMC/SD/SDIO Host Controller Drivers |
906 | # | 1039 | # |
1040 | # CONFIG_MMC_SDHCI is not set | ||
1041 | # CONFIG_MMC_AT91 is not set | ||
907 | CONFIG_MMC_ATMELMCI=y | 1042 | CONFIG_MMC_ATMELMCI=y |
1043 | # CONFIG_MMC_ATMELMCI_DMA is not set | ||
908 | # CONFIG_MMC_SPI is not set | 1044 | # CONFIG_MMC_SPI is not set |
909 | # CONFIG_MEMSTICK is not set | 1045 | # CONFIG_MEMSTICK is not set |
910 | CONFIG_NEW_LEDS=y | 1046 | CONFIG_NEW_LEDS=y |
@@ -913,7 +1049,13 @@ CONFIG_LEDS_CLASS=y | |||
913 | # | 1049 | # |
914 | # LED drivers | 1050 | # LED drivers |
915 | # | 1051 | # |
1052 | # CONFIG_LEDS_PCA9532 is not set | ||
916 | CONFIG_LEDS_GPIO=y | 1053 | CONFIG_LEDS_GPIO=y |
1054 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
1055 | # CONFIG_LEDS_LP3944 is not set | ||
1056 | # CONFIG_LEDS_PCA955X is not set | ||
1057 | # CONFIG_LEDS_DAC124S085 is not set | ||
1058 | # CONFIG_LEDS_BD2802 is not set | ||
917 | 1059 | ||
918 | # | 1060 | # |
919 | # LED Triggers | 1061 | # LED Triggers |
@@ -921,6 +1063,14 @@ CONFIG_LEDS_GPIO=y | |||
921 | CONFIG_LEDS_TRIGGERS=y | 1063 | CONFIG_LEDS_TRIGGERS=y |
922 | CONFIG_LEDS_TRIGGER_TIMER=y | 1064 | CONFIG_LEDS_TRIGGER_TIMER=y |
923 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | 1065 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y |
1066 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
1067 | # CONFIG_LEDS_TRIGGER_GPIO is not set | ||
1068 | # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set | ||
1069 | |||
1070 | # | ||
1071 | # iptables trigger is under Netfilter config (LED target) | ||
1072 | # | ||
1073 | # CONFIG_ACCESSIBILITY is not set | ||
924 | CONFIG_RTC_LIB=y | 1074 | CONFIG_RTC_LIB=y |
925 | CONFIG_RTC_CLASS=y | 1075 | CONFIG_RTC_CLASS=y |
926 | CONFIG_RTC_HCTOSYS=y | 1076 | CONFIG_RTC_HCTOSYS=y |
@@ -950,51 +1100,84 @@ CONFIG_RTC_INTF_DEV=y | |||
950 | # CONFIG_RTC_DRV_PCF8583 is not set | 1100 | # CONFIG_RTC_DRV_PCF8583 is not set |
951 | # CONFIG_RTC_DRV_M41T80 is not set | 1101 | # CONFIG_RTC_DRV_M41T80 is not set |
952 | # CONFIG_RTC_DRV_S35390A is not set | 1102 | # CONFIG_RTC_DRV_S35390A is not set |
1103 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1104 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1105 | # CONFIG_RTC_DRV_RX8025 is not set | ||
953 | 1106 | ||
954 | # | 1107 | # |
955 | # SPI RTC drivers | 1108 | # SPI RTC drivers |
956 | # | 1109 | # |
1110 | # CONFIG_RTC_DRV_M41T94 is not set | ||
1111 | # CONFIG_RTC_DRV_DS1305 is not set | ||
1112 | # CONFIG_RTC_DRV_DS1390 is not set | ||
957 | # CONFIG_RTC_DRV_MAX6902 is not set | 1113 | # CONFIG_RTC_DRV_MAX6902 is not set |
958 | # CONFIG_RTC_DRV_R9701 is not set | 1114 | # CONFIG_RTC_DRV_R9701 is not set |
959 | # CONFIG_RTC_DRV_RS5C348 is not set | 1115 | # CONFIG_RTC_DRV_RS5C348 is not set |
1116 | # CONFIG_RTC_DRV_DS3234 is not set | ||
1117 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
960 | 1118 | ||
961 | # | 1119 | # |
962 | # Platform RTC drivers | 1120 | # Platform RTC drivers |
963 | # | 1121 | # |
1122 | # CONFIG_RTC_DRV_DS1286 is not set | ||
964 | # CONFIG_RTC_DRV_DS1511 is not set | 1123 | # CONFIG_RTC_DRV_DS1511 is not set |
965 | # CONFIG_RTC_DRV_DS1553 is not set | 1124 | # CONFIG_RTC_DRV_DS1553 is not set |
966 | # CONFIG_RTC_DRV_DS1742 is not set | 1125 | # CONFIG_RTC_DRV_DS1742 is not set |
967 | # CONFIG_RTC_DRV_STK17TA8 is not set | 1126 | # CONFIG_RTC_DRV_STK17TA8 is not set |
968 | # CONFIG_RTC_DRV_M48T86 is not set | 1127 | # CONFIG_RTC_DRV_M48T86 is not set |
1128 | # CONFIG_RTC_DRV_M48T35 is not set | ||
969 | # CONFIG_RTC_DRV_M48T59 is not set | 1129 | # CONFIG_RTC_DRV_M48T59 is not set |
1130 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
970 | # CONFIG_RTC_DRV_V3020 is not set | 1131 | # CONFIG_RTC_DRV_V3020 is not set |
971 | 1132 | ||
972 | # | 1133 | # |
973 | # on-CPU RTC drivers | 1134 | # on-CPU RTC drivers |
974 | # | 1135 | # |
975 | CONFIG_RTC_DRV_AT32AP700X=y | 1136 | CONFIG_RTC_DRV_AT32AP700X=y |
1137 | CONFIG_DMADEVICES=y | ||
976 | 1138 | ||
977 | # | 1139 | # |
978 | # Userspace I/O | 1140 | # DMA Devices |
979 | # | 1141 | # |
1142 | CONFIG_DW_DMAC=y | ||
1143 | CONFIG_DMA_ENGINE=y | ||
1144 | |||
1145 | # | ||
1146 | # DMA Clients | ||
1147 | # | ||
1148 | # CONFIG_NET_DMA is not set | ||
1149 | # CONFIG_ASYNC_TX_DMA is not set | ||
1150 | # CONFIG_DMATEST is not set | ||
1151 | # CONFIG_AUXDISPLAY is not set | ||
980 | # CONFIG_UIO is not set | 1152 | # CONFIG_UIO is not set |
981 | 1153 | ||
982 | # | 1154 | # |
1155 | # TI VLYNQ | ||
1156 | # | ||
1157 | # CONFIG_STAGING is not set | ||
1158 | |||
1159 | # | ||
983 | # File systems | 1160 | # File systems |
984 | # | 1161 | # |
985 | CONFIG_EXT2_FS=y | 1162 | CONFIG_EXT2_FS=y |
986 | # CONFIG_EXT2_FS_XATTR is not set | 1163 | # CONFIG_EXT2_FS_XATTR is not set |
987 | # CONFIG_EXT2_FS_XIP is not set | 1164 | # CONFIG_EXT2_FS_XIP is not set |
988 | CONFIG_EXT3_FS=y | 1165 | CONFIG_EXT3_FS=y |
1166 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
989 | # CONFIG_EXT3_FS_XATTR is not set | 1167 | # CONFIG_EXT3_FS_XATTR is not set |
990 | # CONFIG_EXT4DEV_FS is not set | 1168 | # CONFIG_EXT4_FS is not set |
991 | CONFIG_JBD=y | 1169 | CONFIG_JBD=y |
1170 | # CONFIG_JBD_DEBUG is not set | ||
992 | # CONFIG_REISERFS_FS is not set | 1171 | # CONFIG_REISERFS_FS is not set |
993 | # CONFIG_JFS_FS is not set | 1172 | # CONFIG_JFS_FS is not set |
994 | # CONFIG_FS_POSIX_ACL is not set | 1173 | # CONFIG_FS_POSIX_ACL is not set |
995 | # CONFIG_XFS_FS is not set | 1174 | # CONFIG_XFS_FS is not set |
996 | # CONFIG_GFS2_FS is not set | 1175 | # CONFIG_GFS2_FS is not set |
997 | # CONFIG_OCFS2_FS is not set | 1176 | # CONFIG_OCFS2_FS is not set |
1177 | # CONFIG_BTRFS_FS is not set | ||
1178 | # CONFIG_NILFS2_FS is not set | ||
1179 | CONFIG_FILE_LOCKING=y | ||
1180 | CONFIG_FSNOTIFY=y | ||
998 | # CONFIG_DNOTIFY is not set | 1181 | # CONFIG_DNOTIFY is not set |
999 | CONFIG_INOTIFY=y | 1182 | CONFIG_INOTIFY=y |
1000 | CONFIG_INOTIFY_USER=y | 1183 | CONFIG_INOTIFY_USER=y |
@@ -1002,6 +1185,12 @@ CONFIG_INOTIFY_USER=y | |||
1002 | # CONFIG_AUTOFS_FS is not set | 1185 | # CONFIG_AUTOFS_FS is not set |
1003 | # CONFIG_AUTOFS4_FS is not set | 1186 | # CONFIG_AUTOFS4_FS is not set |
1004 | CONFIG_FUSE_FS=m | 1187 | CONFIG_FUSE_FS=m |
1188 | # CONFIG_CUSE is not set | ||
1189 | |||
1190 | # | ||
1191 | # Caches | ||
1192 | # | ||
1193 | # CONFIG_FSCACHE is not set | ||
1005 | 1194 | ||
1006 | # | 1195 | # |
1007 | # CD-ROM/DVD Filesystems | 1196 | # CD-ROM/DVD Filesystems |
@@ -1025,15 +1214,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
1025 | CONFIG_PROC_FS=y | 1214 | CONFIG_PROC_FS=y |
1026 | # CONFIG_PROC_KCORE is not set | 1215 | # CONFIG_PROC_KCORE is not set |
1027 | CONFIG_PROC_SYSCTL=y | 1216 | CONFIG_PROC_SYSCTL=y |
1217 | CONFIG_PROC_PAGE_MONITOR=y | ||
1028 | CONFIG_SYSFS=y | 1218 | CONFIG_SYSFS=y |
1029 | CONFIG_TMPFS=y | 1219 | CONFIG_TMPFS=y |
1030 | # CONFIG_TMPFS_POSIX_ACL is not set | 1220 | # CONFIG_TMPFS_POSIX_ACL is not set |
1031 | # CONFIG_HUGETLB_PAGE is not set | 1221 | # CONFIG_HUGETLB_PAGE is not set |
1032 | CONFIG_CONFIGFS_FS=y | 1222 | CONFIG_CONFIGFS_FS=y |
1033 | 1223 | CONFIG_MISC_FILESYSTEMS=y | |
1034 | # | ||
1035 | # Miscellaneous filesystems | ||
1036 | # | ||
1037 | # CONFIG_ADFS_FS is not set | 1224 | # CONFIG_ADFS_FS is not set |
1038 | # CONFIG_AFFS_FS is not set | 1225 | # CONFIG_AFFS_FS is not set |
1039 | # CONFIG_HFS_FS is not set | 1226 | # CONFIG_HFS_FS is not set |
@@ -1059,8 +1246,10 @@ CONFIG_UBIFS_FS_LZO=y | |||
1059 | CONFIG_UBIFS_FS_ZLIB=y | 1246 | CONFIG_UBIFS_FS_ZLIB=y |
1060 | # CONFIG_UBIFS_FS_DEBUG is not set | 1247 | # CONFIG_UBIFS_FS_DEBUG is not set |
1061 | # CONFIG_CRAMFS is not set | 1248 | # CONFIG_CRAMFS is not set |
1249 | # CONFIG_SQUASHFS is not set | ||
1062 | # CONFIG_VXFS_FS is not set | 1250 | # CONFIG_VXFS_FS is not set |
1063 | # CONFIG_MINIX_FS is not set | 1251 | # CONFIG_MINIX_FS is not set |
1252 | # CONFIG_OMFS_FS is not set | ||
1064 | # CONFIG_HPFS_FS is not set | 1253 | # CONFIG_HPFS_FS is not set |
1065 | # CONFIG_QNX4FS_FS is not set | 1254 | # CONFIG_QNX4FS_FS is not set |
1066 | # CONFIG_ROMFS_FS is not set | 1255 | # CONFIG_ROMFS_FS is not set |
@@ -1071,19 +1260,16 @@ CONFIG_NFS_FS=y | |||
1071 | CONFIG_NFS_V3=y | 1260 | CONFIG_NFS_V3=y |
1072 | # CONFIG_NFS_V3_ACL is not set | 1261 | # CONFIG_NFS_V3_ACL is not set |
1073 | # CONFIG_NFS_V4 is not set | 1262 | # CONFIG_NFS_V4 is not set |
1074 | # CONFIG_NFS_DIRECTIO is not set | 1263 | CONFIG_ROOT_NFS=y |
1075 | CONFIG_NFSD=m | 1264 | CONFIG_NFSD=m |
1076 | CONFIG_NFSD_V3=y | 1265 | CONFIG_NFSD_V3=y |
1077 | # CONFIG_NFSD_V3_ACL is not set | 1266 | # CONFIG_NFSD_V3_ACL is not set |
1078 | # CONFIG_NFSD_V4 is not set | 1267 | # CONFIG_NFSD_V4 is not set |
1079 | CONFIG_NFSD_TCP=y | ||
1080 | CONFIG_ROOT_NFS=y | ||
1081 | CONFIG_LOCKD=y | 1268 | CONFIG_LOCKD=y |
1082 | CONFIG_LOCKD_V4=y | 1269 | CONFIG_LOCKD_V4=y |
1083 | CONFIG_EXPORTFS=m | 1270 | CONFIG_EXPORTFS=m |
1084 | CONFIG_NFS_COMMON=y | 1271 | CONFIG_NFS_COMMON=y |
1085 | CONFIG_SUNRPC=y | 1272 | CONFIG_SUNRPC=y |
1086 | # CONFIG_SUNRPC_BIND34 is not set | ||
1087 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1273 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1088 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1274 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1089 | CONFIG_SMB_FS=m | 1275 | CONFIG_SMB_FS=m |
@@ -1151,16 +1337,24 @@ CONFIG_NLS_UTF8=m | |||
1151 | # CONFIG_PRINTK_TIME is not set | 1337 | # CONFIG_PRINTK_TIME is not set |
1152 | CONFIG_ENABLE_WARN_DEPRECATED=y | 1338 | CONFIG_ENABLE_WARN_DEPRECATED=y |
1153 | CONFIG_ENABLE_MUST_CHECK=y | 1339 | CONFIG_ENABLE_MUST_CHECK=y |
1340 | CONFIG_FRAME_WARN=1024 | ||
1154 | CONFIG_MAGIC_SYSRQ=y | 1341 | CONFIG_MAGIC_SYSRQ=y |
1342 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1155 | # CONFIG_UNUSED_SYMBOLS is not set | 1343 | # CONFIG_UNUSED_SYMBOLS is not set |
1156 | # CONFIG_DEBUG_FS is not set | 1344 | CONFIG_DEBUG_FS=y |
1157 | # CONFIG_HEADERS_CHECK is not set | 1345 | # CONFIG_HEADERS_CHECK is not set |
1158 | CONFIG_DEBUG_KERNEL=y | 1346 | CONFIG_DEBUG_KERNEL=y |
1159 | # CONFIG_DEBUG_SHIRQ is not set | 1347 | # CONFIG_DEBUG_SHIRQ is not set |
1160 | CONFIG_DETECT_SOFTLOCKUP=y | 1348 | CONFIG_DETECT_SOFTLOCKUP=y |
1349 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1350 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1351 | CONFIG_DETECT_HUNG_TASK=y | ||
1352 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1353 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1161 | CONFIG_SCHED_DEBUG=y | 1354 | CONFIG_SCHED_DEBUG=y |
1162 | # CONFIG_SCHEDSTATS is not set | 1355 | # CONFIG_SCHEDSTATS is not set |
1163 | # CONFIG_TIMER_STATS is not set | 1356 | # CONFIG_TIMER_STATS is not set |
1357 | # CONFIG_DEBUG_OBJECTS is not set | ||
1164 | # CONFIG_SLUB_DEBUG_ON is not set | 1358 | # CONFIG_SLUB_DEBUG_ON is not set |
1165 | # CONFIG_SLUB_STATS is not set | 1359 | # CONFIG_SLUB_STATS is not set |
1166 | # CONFIG_DEBUG_RT_MUTEXES is not set | 1360 | # CONFIG_DEBUG_RT_MUTEXES is not set |
@@ -1172,19 +1366,48 @@ CONFIG_SCHED_DEBUG=y | |||
1172 | # CONFIG_LOCK_STAT is not set | 1366 | # CONFIG_LOCK_STAT is not set |
1173 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1367 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1174 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1368 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1369 | CONFIG_STACKTRACE=y | ||
1175 | # CONFIG_DEBUG_KOBJECT is not set | 1370 | # CONFIG_DEBUG_KOBJECT is not set |
1176 | CONFIG_DEBUG_BUGVERBOSE=y | 1371 | CONFIG_DEBUG_BUGVERBOSE=y |
1177 | # CONFIG_DEBUG_INFO is not set | 1372 | # CONFIG_DEBUG_INFO is not set |
1178 | # CONFIG_DEBUG_VM is not set | 1373 | # CONFIG_DEBUG_VM is not set |
1374 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1375 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1179 | # CONFIG_DEBUG_LIST is not set | 1376 | # CONFIG_DEBUG_LIST is not set |
1180 | # CONFIG_DEBUG_SG is not set | 1377 | # CONFIG_DEBUG_SG is not set |
1378 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1379 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1181 | CONFIG_FRAME_POINTER=y | 1380 | CONFIG_FRAME_POINTER=y |
1182 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1381 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1183 | # CONFIG_RCU_TORTURE_TEST is not set | 1382 | # CONFIG_RCU_TORTURE_TEST is not set |
1383 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1184 | # CONFIG_KPROBES_SANITY_TEST is not set | 1384 | # CONFIG_KPROBES_SANITY_TEST is not set |
1185 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1385 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1386 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1387 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1186 | # CONFIG_LKDTM is not set | 1388 | # CONFIG_LKDTM is not set |
1187 | # CONFIG_FAULT_INJECTION is not set | 1389 | # CONFIG_FAULT_INJECTION is not set |
1390 | # CONFIG_PAGE_POISONING is not set | ||
1391 | CONFIG_NOP_TRACER=y | ||
1392 | CONFIG_RING_BUFFER=y | ||
1393 | CONFIG_EVENT_TRACING=y | ||
1394 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
1395 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | ||
1396 | CONFIG_TRACING=y | ||
1397 | CONFIG_TRACING_SUPPORT=y | ||
1398 | CONFIG_FTRACE=y | ||
1399 | # CONFIG_IRQSOFF_TRACER is not set | ||
1400 | # CONFIG_SCHED_TRACER is not set | ||
1401 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1402 | # CONFIG_BOOT_TRACER is not set | ||
1403 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1404 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1405 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1406 | # CONFIG_KMEMTRACE is not set | ||
1407 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1408 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1409 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
1410 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1188 | # CONFIG_SAMPLES is not set | 1411 | # CONFIG_SAMPLES is not set |
1189 | 1412 | ||
1190 | # | 1413 | # |
@@ -1192,63 +1415,118 @@ CONFIG_FRAME_POINTER=y | |||
1192 | # | 1415 | # |
1193 | # CONFIG_KEYS is not set | 1416 | # CONFIG_KEYS is not set |
1194 | # CONFIG_SECURITY is not set | 1417 | # CONFIG_SECURITY is not set |
1418 | # CONFIG_SECURITYFS is not set | ||
1195 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1419 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1196 | CONFIG_CRYPTO=y | 1420 | CONFIG_CRYPTO=y |
1421 | |||
1422 | # | ||
1423 | # Crypto core or helper | ||
1424 | # | ||
1425 | # CONFIG_CRYPTO_FIPS is not set | ||
1197 | CONFIG_CRYPTO_ALGAPI=y | 1426 | CONFIG_CRYPTO_ALGAPI=y |
1427 | CONFIG_CRYPTO_ALGAPI2=y | ||
1198 | CONFIG_CRYPTO_AEAD=y | 1428 | CONFIG_CRYPTO_AEAD=y |
1429 | CONFIG_CRYPTO_AEAD2=y | ||
1199 | CONFIG_CRYPTO_BLKCIPHER=y | 1430 | CONFIG_CRYPTO_BLKCIPHER=y |
1200 | # CONFIG_CRYPTO_SEQIV is not set | 1431 | CONFIG_CRYPTO_BLKCIPHER2=y |
1201 | CONFIG_CRYPTO_HASH=y | 1432 | CONFIG_CRYPTO_HASH=y |
1433 | CONFIG_CRYPTO_HASH2=y | ||
1434 | CONFIG_CRYPTO_RNG=m | ||
1435 | CONFIG_CRYPTO_RNG2=y | ||
1436 | CONFIG_CRYPTO_PCOMP=y | ||
1202 | CONFIG_CRYPTO_MANAGER=y | 1437 | CONFIG_CRYPTO_MANAGER=y |
1438 | CONFIG_CRYPTO_MANAGER2=y | ||
1439 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1440 | # CONFIG_CRYPTO_NULL is not set | ||
1441 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1442 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1443 | CONFIG_CRYPTO_AUTHENC=y | ||
1444 | # CONFIG_CRYPTO_TEST is not set | ||
1445 | |||
1446 | # | ||
1447 | # Authenticated Encryption with Associated Data | ||
1448 | # | ||
1449 | # CONFIG_CRYPTO_CCM is not set | ||
1450 | # CONFIG_CRYPTO_GCM is not set | ||
1451 | # CONFIG_CRYPTO_SEQIV is not set | ||
1452 | |||
1453 | # | ||
1454 | # Block modes | ||
1455 | # | ||
1456 | CONFIG_CRYPTO_CBC=y | ||
1457 | # CONFIG_CRYPTO_CTR is not set | ||
1458 | # CONFIG_CRYPTO_CTS is not set | ||
1459 | CONFIG_CRYPTO_ECB=m | ||
1460 | # CONFIG_CRYPTO_LRW is not set | ||
1461 | # CONFIG_CRYPTO_PCBC is not set | ||
1462 | # CONFIG_CRYPTO_XTS is not set | ||
1463 | |||
1464 | # | ||
1465 | # Hash modes | ||
1466 | # | ||
1203 | CONFIG_CRYPTO_HMAC=y | 1467 | CONFIG_CRYPTO_HMAC=y |
1204 | # CONFIG_CRYPTO_XCBC is not set | 1468 | # CONFIG_CRYPTO_XCBC is not set |
1205 | # CONFIG_CRYPTO_NULL is not set | 1469 | # CONFIG_CRYPTO_VMAC is not set |
1470 | |||
1471 | # | ||
1472 | # Digest | ||
1473 | # | ||
1474 | # CONFIG_CRYPTO_CRC32C is not set | ||
1475 | # CONFIG_CRYPTO_GHASH is not set | ||
1206 | # CONFIG_CRYPTO_MD4 is not set | 1476 | # CONFIG_CRYPTO_MD4 is not set |
1207 | CONFIG_CRYPTO_MD5=y | 1477 | CONFIG_CRYPTO_MD5=y |
1478 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1479 | # CONFIG_CRYPTO_RMD128 is not set | ||
1480 | # CONFIG_CRYPTO_RMD160 is not set | ||
1481 | # CONFIG_CRYPTO_RMD256 is not set | ||
1482 | # CONFIG_CRYPTO_RMD320 is not set | ||
1208 | CONFIG_CRYPTO_SHA1=y | 1483 | CONFIG_CRYPTO_SHA1=y |
1209 | # CONFIG_CRYPTO_SHA256 is not set | 1484 | # CONFIG_CRYPTO_SHA256 is not set |
1210 | # CONFIG_CRYPTO_SHA512 is not set | 1485 | # CONFIG_CRYPTO_SHA512 is not set |
1211 | # CONFIG_CRYPTO_WP512 is not set | ||
1212 | # CONFIG_CRYPTO_TGR192 is not set | 1486 | # CONFIG_CRYPTO_TGR192 is not set |
1213 | # CONFIG_CRYPTO_GF128MUL is not set | 1487 | # CONFIG_CRYPTO_WP512 is not set |
1214 | CONFIG_CRYPTO_ECB=m | 1488 | |
1215 | CONFIG_CRYPTO_CBC=y | 1489 | # |
1216 | # CONFIG_CRYPTO_PCBC is not set | 1490 | # Ciphers |
1217 | # CONFIG_CRYPTO_LRW is not set | 1491 | # |
1218 | # CONFIG_CRYPTO_XTS is not set | 1492 | CONFIG_CRYPTO_AES=m |
1219 | # CONFIG_CRYPTO_CTR is not set | 1493 | # CONFIG_CRYPTO_ANUBIS is not set |
1220 | # CONFIG_CRYPTO_GCM is not set | 1494 | CONFIG_CRYPTO_ARC4=m |
1221 | # CONFIG_CRYPTO_CCM is not set | ||
1222 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1223 | CONFIG_CRYPTO_DES=y | ||
1224 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1225 | # CONFIG_CRYPTO_BLOWFISH is not set | 1495 | # CONFIG_CRYPTO_BLOWFISH is not set |
1226 | # CONFIG_CRYPTO_TWOFISH is not set | 1496 | # CONFIG_CRYPTO_CAMELLIA is not set |
1227 | # CONFIG_CRYPTO_SERPENT is not set | ||
1228 | # CONFIG_CRYPTO_AES is not set | ||
1229 | # CONFIG_CRYPTO_CAST5 is not set | 1497 | # CONFIG_CRYPTO_CAST5 is not set |
1230 | # CONFIG_CRYPTO_CAST6 is not set | 1498 | # CONFIG_CRYPTO_CAST6 is not set |
1231 | # CONFIG_CRYPTO_TEA is not set | 1499 | CONFIG_CRYPTO_DES=y |
1232 | CONFIG_CRYPTO_ARC4=m | 1500 | # CONFIG_CRYPTO_FCRYPT is not set |
1233 | # CONFIG_CRYPTO_KHAZAD is not set | 1501 | # CONFIG_CRYPTO_KHAZAD is not set |
1234 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1235 | # CONFIG_CRYPTO_SEED is not set | ||
1236 | # CONFIG_CRYPTO_SALSA20 is not set | 1502 | # CONFIG_CRYPTO_SALSA20 is not set |
1503 | # CONFIG_CRYPTO_SEED is not set | ||
1504 | # CONFIG_CRYPTO_SERPENT is not set | ||
1505 | # CONFIG_CRYPTO_TEA is not set | ||
1506 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1507 | |||
1508 | # | ||
1509 | # Compression | ||
1510 | # | ||
1237 | CONFIG_CRYPTO_DEFLATE=y | 1511 | CONFIG_CRYPTO_DEFLATE=y |
1238 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1512 | # CONFIG_CRYPTO_ZLIB is not set |
1239 | # CONFIG_CRYPTO_CRC32C is not set | ||
1240 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1241 | # CONFIG_CRYPTO_TEST is not set | ||
1242 | CONFIG_CRYPTO_AUTHENC=y | ||
1243 | CONFIG_CRYPTO_LZO=y | 1513 | CONFIG_CRYPTO_LZO=y |
1514 | |||
1515 | # | ||
1516 | # Random Number Generation | ||
1517 | # | ||
1518 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
1244 | CONFIG_CRYPTO_HW=y | 1519 | CONFIG_CRYPTO_HW=y |
1520 | CONFIG_BINARY_PRINTF=y | ||
1245 | 1521 | ||
1246 | # | 1522 | # |
1247 | # Library routines | 1523 | # Library routines |
1248 | # | 1524 | # |
1249 | CONFIG_BITREVERSE=y | 1525 | CONFIG_BITREVERSE=y |
1526 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1250 | CONFIG_CRC_CCITT=m | 1527 | CONFIG_CRC_CCITT=m |
1251 | CONFIG_CRC16=y | 1528 | CONFIG_CRC16=y |
1529 | # CONFIG_CRC_T10DIF is not set | ||
1252 | # CONFIG_CRC_ITU_T is not set | 1530 | # CONFIG_CRC_ITU_T is not set |
1253 | CONFIG_CRC32=y | 1531 | CONFIG_CRC32=y |
1254 | # CONFIG_CRC7 is not set | 1532 | # CONFIG_CRC7 is not set |
@@ -1257,8 +1535,9 @@ CONFIG_ZLIB_INFLATE=y | |||
1257 | CONFIG_ZLIB_DEFLATE=y | 1535 | CONFIG_ZLIB_DEFLATE=y |
1258 | CONFIG_LZO_COMPRESS=y | 1536 | CONFIG_LZO_COMPRESS=y |
1259 | CONFIG_LZO_DECOMPRESS=y | 1537 | CONFIG_LZO_DECOMPRESS=y |
1538 | CONFIG_DECOMPRESS_GZIP=y | ||
1260 | CONFIG_GENERIC_ALLOCATOR=y | 1539 | CONFIG_GENERIC_ALLOCATOR=y |
1261 | CONFIG_PLIST=y | ||
1262 | CONFIG_HAS_IOMEM=y | 1540 | CONFIG_HAS_IOMEM=y |
1263 | CONFIG_HAS_IOPORT=y | 1541 | CONFIG_HAS_IOPORT=y |
1264 | CONFIG_HAS_DMA=y | 1542 | CONFIG_HAS_DMA=y |
1543 | CONFIG_NLATTR=y | ||
diff --git a/arch/avr32/configs/atngw100_evklcd101_defconfig b/arch/avr32/configs/atngw100_evklcd101_defconfig index a96b68ea5e83..5ef67da343bc 100644 --- a/arch/avr32/configs/atngw100_evklcd101_defconfig +++ b/arch/avr32/configs/atngw100_evklcd101_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25.6 | 3 | # Linux kernel version: 2.6.32-rc5 |
4 | # Wed Jun 18 16:09:32 2008 | 4 | # Thu Oct 29 09:37:19 2009 |
5 | # | 5 | # |
6 | CONFIG_AVR32=y | 6 | CONFIG_AVR32=y |
7 | CONFIG_GENERIC_GPIO=y | 7 | CONFIG_GENERIC_GPIO=y |
@@ -21,6 +21,7 @@ CONFIG_GENERIC_HWEIGHT=y | |||
21 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 21 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
22 | CONFIG_GENERIC_BUG=y | 22 | CONFIG_GENERIC_BUG=y |
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
24 | 25 | ||
25 | # | 26 | # |
26 | # General setup | 27 | # General setup |
@@ -34,22 +35,37 @@ CONFIG_SWAP=y | |||
34 | CONFIG_SYSVIPC=y | 35 | CONFIG_SYSVIPC=y |
35 | CONFIG_SYSVIPC_SYSCTL=y | 36 | CONFIG_SYSVIPC_SYSCTL=y |
36 | CONFIG_POSIX_MQUEUE=y | 37 | CONFIG_POSIX_MQUEUE=y |
38 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
37 | CONFIG_BSD_PROCESS_ACCT=y | 39 | CONFIG_BSD_PROCESS_ACCT=y |
38 | CONFIG_BSD_PROCESS_ACCT_V3=y | 40 | CONFIG_BSD_PROCESS_ACCT_V3=y |
39 | # CONFIG_TASKSTATS is not set | 41 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_AUDIT is not set | 42 | # CONFIG_AUDIT is not set |
43 | |||
44 | # | ||
45 | # RCU Subsystem | ||
46 | # | ||
47 | CONFIG_TREE_RCU=y | ||
48 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
49 | # CONFIG_RCU_TRACE is not set | ||
50 | CONFIG_RCU_FANOUT=32 | ||
51 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
52 | # CONFIG_TREE_RCU_TRACE is not set | ||
41 | # CONFIG_IKCONFIG is not set | 53 | # CONFIG_IKCONFIG is not set |
42 | CONFIG_LOG_BUF_SHIFT=14 | 54 | CONFIG_LOG_BUF_SHIFT=14 |
43 | # CONFIG_CGROUPS is not set | ||
44 | # CONFIG_GROUP_SCHED is not set | 55 | # CONFIG_GROUP_SCHED is not set |
56 | # CONFIG_CGROUPS is not set | ||
45 | CONFIG_SYSFS_DEPRECATED=y | 57 | CONFIG_SYSFS_DEPRECATED=y |
46 | CONFIG_SYSFS_DEPRECATED_V2=y | 58 | CONFIG_SYSFS_DEPRECATED_V2=y |
47 | # CONFIG_RELAY is not set | 59 | # CONFIG_RELAY is not set |
48 | # CONFIG_NAMESPACES is not set | 60 | # CONFIG_NAMESPACES is not set |
49 | CONFIG_BLK_DEV_INITRD=y | 61 | CONFIG_BLK_DEV_INITRD=y |
50 | CONFIG_INITRAMFS_SOURCE="" | 62 | CONFIG_INITRAMFS_SOURCE="" |
63 | CONFIG_RD_GZIP=y | ||
64 | # CONFIG_RD_BZIP2 is not set | ||
65 | # CONFIG_RD_LZMA is not set | ||
51 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 66 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
52 | CONFIG_SYSCTL=y | 67 | CONFIG_SYSCTL=y |
68 | CONFIG_ANON_INODES=y | ||
53 | CONFIG_EMBEDDED=y | 69 | CONFIG_EMBEDDED=y |
54 | # CONFIG_SYSCTL_SYSCALL is not set | 70 | # CONFIG_SYSCTL_SYSCALL is not set |
55 | CONFIG_KALLSYMS=y | 71 | CONFIG_KALLSYMS=y |
@@ -59,43 +75,51 @@ CONFIG_HOTPLUG=y | |||
59 | CONFIG_PRINTK=y | 75 | CONFIG_PRINTK=y |
60 | CONFIG_BUG=y | 76 | CONFIG_BUG=y |
61 | CONFIG_ELF_CORE=y | 77 | CONFIG_ELF_CORE=y |
62 | # CONFIG_COMPAT_BRK is not set | ||
63 | # CONFIG_BASE_FULL is not set | 78 | # CONFIG_BASE_FULL is not set |
64 | CONFIG_FUTEX=y | 79 | CONFIG_FUTEX=y |
65 | CONFIG_ANON_INODES=y | ||
66 | CONFIG_EPOLL=y | 80 | CONFIG_EPOLL=y |
67 | CONFIG_SIGNALFD=y | 81 | CONFIG_SIGNALFD=y |
68 | CONFIG_TIMERFD=y | 82 | CONFIG_TIMERFD=y |
69 | CONFIG_EVENTFD=y | 83 | CONFIG_EVENTFD=y |
70 | CONFIG_SHMEM=y | 84 | CONFIG_SHMEM=y |
85 | CONFIG_AIO=y | ||
86 | |||
87 | # | ||
88 | # Kernel Performance Events And Counters | ||
89 | # | ||
71 | CONFIG_VM_EVENT_COUNTERS=y | 90 | CONFIG_VM_EVENT_COUNTERS=y |
72 | CONFIG_SLUB_DEBUG=y | 91 | CONFIG_SLUB_DEBUG=y |
92 | # CONFIG_COMPAT_BRK is not set | ||
73 | # CONFIG_SLAB is not set | 93 | # CONFIG_SLAB is not set |
74 | CONFIG_SLUB=y | 94 | CONFIG_SLUB=y |
75 | # CONFIG_SLOB is not set | 95 | # CONFIG_SLOB is not set |
76 | CONFIG_PROFILING=y | 96 | CONFIG_PROFILING=y |
77 | # CONFIG_MARKERS is not set | 97 | CONFIG_TRACEPOINTS=y |
78 | CONFIG_OPROFILE=m | 98 | CONFIG_OPROFILE=m |
79 | CONFIG_HAVE_OPROFILE=y | 99 | CONFIG_HAVE_OPROFILE=y |
80 | CONFIG_KPROBES=y | 100 | CONFIG_KPROBES=y |
81 | CONFIG_HAVE_KPROBES=y | 101 | CONFIG_HAVE_KPROBES=y |
82 | # CONFIG_HAVE_KRETPROBES is not set | 102 | CONFIG_HAVE_CLK=y |
83 | CONFIG_PROC_PAGE_MONITOR=y | 103 | |
104 | # | ||
105 | # GCOV-based kernel profiling | ||
106 | # | ||
107 | # CONFIG_GCOV_KERNEL is not set | ||
108 | CONFIG_SLOW_WORK=y | ||
109 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
84 | CONFIG_SLABINFO=y | 110 | CONFIG_SLABINFO=y |
85 | CONFIG_RT_MUTEXES=y | 111 | CONFIG_RT_MUTEXES=y |
86 | # CONFIG_TINY_SHMEM is not set | ||
87 | CONFIG_BASE_SMALL=1 | 112 | CONFIG_BASE_SMALL=1 |
88 | CONFIG_MODULES=y | 113 | CONFIG_MODULES=y |
114 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
89 | CONFIG_MODULE_UNLOAD=y | 115 | CONFIG_MODULE_UNLOAD=y |
90 | CONFIG_MODULE_FORCE_UNLOAD=y | 116 | CONFIG_MODULE_FORCE_UNLOAD=y |
91 | # CONFIG_MODVERSIONS is not set | 117 | # CONFIG_MODVERSIONS is not set |
92 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 118 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
93 | CONFIG_KMOD=y | ||
94 | CONFIG_BLOCK=y | 119 | CONFIG_BLOCK=y |
95 | # CONFIG_LBD is not set | 120 | CONFIG_LBDAF=y |
96 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
97 | # CONFIG_LSF is not set | ||
98 | # CONFIG_BLK_DEV_BSG is not set | 121 | # CONFIG_BLK_DEV_BSG is not set |
122 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
99 | 123 | ||
100 | # | 124 | # |
101 | # IO Schedulers | 125 | # IO Schedulers |
@@ -109,7 +133,7 @@ CONFIG_IOSCHED_CFQ=y | |||
109 | CONFIG_DEFAULT_CFQ=y | 133 | CONFIG_DEFAULT_CFQ=y |
110 | # CONFIG_DEFAULT_NOOP is not set | 134 | # CONFIG_DEFAULT_NOOP is not set |
111 | CONFIG_DEFAULT_IOSCHED="cfq" | 135 | CONFIG_DEFAULT_IOSCHED="cfq" |
112 | CONFIG_CLASSIC_RCU=y | 136 | CONFIG_FREEZER=y |
113 | 137 | ||
114 | # | 138 | # |
115 | # System Type and features | 139 | # System Type and features |
@@ -124,13 +148,20 @@ CONFIG_PERFORMANCE_COUNTERS=y | |||
124 | CONFIG_PLATFORM_AT32AP=y | 148 | CONFIG_PLATFORM_AT32AP=y |
125 | CONFIG_CPU_AT32AP700X=y | 149 | CONFIG_CPU_AT32AP700X=y |
126 | CONFIG_CPU_AT32AP7000=y | 150 | CONFIG_CPU_AT32AP7000=y |
151 | CONFIG_BOARD_ATNGW100_COMMON=y | ||
127 | # CONFIG_BOARD_ATSTK1000 is not set | 152 | # CONFIG_BOARD_ATSTK1000 is not set |
128 | CONFIG_BOARD_ATNGW100=y | 153 | CONFIG_BOARD_ATNGW100_MKI=y |
154 | # CONFIG_BOARD_ATNGW100_MKII is not set | ||
155 | # CONFIG_BOARD_HAMMERHEAD is not set | ||
156 | # CONFIG_BOARD_FAVR_32 is not set | ||
157 | # CONFIG_BOARD_MERISC is not set | ||
158 | # CONFIG_BOARD_MIMC200 is not set | ||
159 | # CONFIG_BOARD_ATNGW100_ADDON_NONE is not set | ||
129 | CONFIG_BOARD_ATNGW100_EVKLCD10X=y | 160 | CONFIG_BOARD_ATNGW100_EVKLCD10X=y |
161 | # CONFIG_BOARD_ATNGW100_MRMT is not set | ||
130 | # CONFIG_BOARD_ATNGW100_EVKLCD10X_QVGA is not set | 162 | # CONFIG_BOARD_ATNGW100_EVKLCD10X_QVGA is not set |
131 | CONFIG_BOARD_ATNGW100_EVKLCD10X_VGA=y | 163 | CONFIG_BOARD_ATNGW100_EVKLCD10X_VGA=y |
132 | # CONFIG_BOARD_ATNGW100_EVKLCD10X_POW_QVGA is not set | 164 | # CONFIG_BOARD_ATNGW100_EVKLCD10X_POW_QVGA is not set |
133 | CONFIG_BOARD_ATNGW100_I2C_GPIO=y | ||
134 | CONFIG_LOADER_U_BOOT=y | 165 | CONFIG_LOADER_U_BOOT=y |
135 | 166 | ||
136 | # | 167 | # |
@@ -139,14 +170,14 @@ CONFIG_LOADER_U_BOOT=y | |||
139 | # CONFIG_AP700X_32_BIT_SMC is not set | 170 | # CONFIG_AP700X_32_BIT_SMC is not set |
140 | CONFIG_AP700X_16_BIT_SMC=y | 171 | CONFIG_AP700X_16_BIT_SMC=y |
141 | # CONFIG_AP700X_8_BIT_SMC is not set | 172 | # CONFIG_AP700X_8_BIT_SMC is not set |
142 | CONFIG_GPIO_DEV=y | ||
143 | CONFIG_LOAD_ADDRESS=0x10000000 | 173 | CONFIG_LOAD_ADDRESS=0x10000000 |
144 | CONFIG_ENTRY_ADDRESS=0x90000000 | 174 | CONFIG_ENTRY_ADDRESS=0x90000000 |
145 | CONFIG_PHYS_OFFSET=0x10000000 | 175 | CONFIG_PHYS_OFFSET=0x10000000 |
146 | CONFIG_PREEMPT_NONE=y | 176 | CONFIG_PREEMPT_NONE=y |
147 | # CONFIG_PREEMPT_VOLUNTARY is not set | 177 | # CONFIG_PREEMPT_VOLUNTARY is not set |
148 | # CONFIG_PREEMPT is not set | 178 | # CONFIG_PREEMPT is not set |
149 | # CONFIG_HAVE_ARCH_BOOTMEM_NODE is not set | 179 | CONFIG_QUICKLIST=y |
180 | # CONFIG_HAVE_ARCH_BOOTMEM is not set | ||
150 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set | 181 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set |
151 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set | 182 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set |
152 | CONFIG_ARCH_FLATMEM_ENABLE=y | 183 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -158,33 +189,36 @@ CONFIG_FLATMEM_MANUAL=y | |||
158 | # CONFIG_SPARSEMEM_MANUAL is not set | 189 | # CONFIG_SPARSEMEM_MANUAL is not set |
159 | CONFIG_FLATMEM=y | 190 | CONFIG_FLATMEM=y |
160 | CONFIG_FLAT_NODE_MEM_MAP=y | 191 | CONFIG_FLAT_NODE_MEM_MAP=y |
161 | # CONFIG_SPARSEMEM_STATIC is not set | 192 | CONFIG_PAGEFLAGS_EXTENDED=y |
162 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
163 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 193 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
164 | # CONFIG_RESOURCES_64BIT is not set | 194 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
165 | CONFIG_ZONE_DMA_FLAG=0 | 195 | CONFIG_ZONE_DMA_FLAG=0 |
196 | CONFIG_NR_QUICK=2 | ||
166 | CONFIG_VIRT_TO_BUS=y | 197 | CONFIG_VIRT_TO_BUS=y |
198 | CONFIG_HAVE_MLOCK=y | ||
199 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
200 | # CONFIG_KSM is not set | ||
201 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
167 | # CONFIG_OWNERSHIP_TRACE is not set | 202 | # CONFIG_OWNERSHIP_TRACE is not set |
168 | CONFIG_NMI_DEBUGGING=y | 203 | CONFIG_NMI_DEBUGGING=y |
169 | CONFIG_DW_DMAC=y | ||
170 | # CONFIG_HZ_100 is not set | 204 | # CONFIG_HZ_100 is not set |
171 | CONFIG_HZ_250=y | 205 | CONFIG_HZ_250=y |
172 | # CONFIG_HZ_300 is not set | 206 | # CONFIG_HZ_300 is not set |
173 | # CONFIG_HZ_1000 is not set | 207 | # CONFIG_HZ_1000 is not set |
174 | CONFIG_HZ=250 | 208 | CONFIG_HZ=250 |
175 | # CONFIG_SCHED_HRTICK is not set | 209 | CONFIG_SCHED_HRTICK=y |
176 | CONFIG_CMDLINE="" | 210 | CONFIG_CMDLINE="" |
177 | 211 | ||
178 | # | 212 | # |
179 | # Power management options | 213 | # Power management options |
180 | # | 214 | # |
181 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
182 | CONFIG_PM=y | 215 | CONFIG_PM=y |
183 | # CONFIG_PM_LEGACY is not set | ||
184 | # CONFIG_PM_DEBUG is not set | 216 | # CONFIG_PM_DEBUG is not set |
185 | CONFIG_PM_SLEEP=y | 217 | CONFIG_PM_SLEEP=y |
186 | CONFIG_SUSPEND=y | 218 | CONFIG_SUSPEND=y |
187 | CONFIG_SUSPEND_FREEZER=y | 219 | CONFIG_SUSPEND_FREEZER=y |
220 | # CONFIG_PM_RUNTIME is not set | ||
221 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
188 | 222 | ||
189 | # | 223 | # |
190 | # CPU Frequency scaling | 224 | # CPU Frequency scaling |
@@ -194,6 +228,7 @@ CONFIG_CPU_FREQ_TABLE=y | |||
194 | # CONFIG_CPU_FREQ_DEBUG is not set | 228 | # CONFIG_CPU_FREQ_DEBUG is not set |
195 | # CONFIG_CPU_FREQ_STAT is not set | 229 | # CONFIG_CPU_FREQ_STAT is not set |
196 | # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set | 230 | # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set |
231 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
197 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | 232 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set |
198 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y | 233 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y |
199 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | 234 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set |
@@ -214,11 +249,9 @@ CONFIG_CPU_FREQ_AT32AP=y | |||
214 | # Executable file formats | 249 | # Executable file formats |
215 | # | 250 | # |
216 | CONFIG_BINFMT_ELF=y | 251 | CONFIG_BINFMT_ELF=y |
252 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
253 | # CONFIG_HAVE_AOUT is not set | ||
217 | # CONFIG_BINFMT_MISC is not set | 254 | # CONFIG_BINFMT_MISC is not set |
218 | |||
219 | # | ||
220 | # Networking | ||
221 | # | ||
222 | CONFIG_NET=y | 255 | CONFIG_NET=y |
223 | 256 | ||
224 | # | 257 | # |
@@ -232,6 +265,7 @@ CONFIG_XFRM_USER=y | |||
232 | # CONFIG_XFRM_SUB_POLICY is not set | 265 | # CONFIG_XFRM_SUB_POLICY is not set |
233 | # CONFIG_XFRM_MIGRATE is not set | 266 | # CONFIG_XFRM_MIGRATE is not set |
234 | # CONFIG_XFRM_STATISTICS is not set | 267 | # CONFIG_XFRM_STATISTICS is not set |
268 | CONFIG_XFRM_IPCOMP=y | ||
235 | CONFIG_NET_KEY=y | 269 | CONFIG_NET_KEY=y |
236 | # CONFIG_NET_KEY_MIGRATE is not set | 270 | # CONFIG_NET_KEY_MIGRATE is not set |
237 | CONFIG_INET=y | 271 | CONFIG_INET=y |
@@ -269,7 +303,6 @@ CONFIG_INET_TCP_DIAG=y | |||
269 | CONFIG_TCP_CONG_CUBIC=y | 303 | CONFIG_TCP_CONG_CUBIC=y |
270 | CONFIG_DEFAULT_TCP_CONG="cubic" | 304 | CONFIG_DEFAULT_TCP_CONG="cubic" |
271 | # CONFIG_TCP_MD5SIG is not set | 305 | # CONFIG_TCP_MD5SIG is not set |
272 | # CONFIG_IP_VS is not set | ||
273 | CONFIG_IPV6=y | 306 | CONFIG_IPV6=y |
274 | # CONFIG_IPV6_PRIVACY is not set | 307 | # CONFIG_IPV6_PRIVACY is not set |
275 | # CONFIG_IPV6_ROUTER_PREF is not set | 308 | # CONFIG_IPV6_ROUTER_PREF is not set |
@@ -285,8 +318,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=y | |||
285 | CONFIG_INET6_XFRM_MODE_BEET=y | 318 | CONFIG_INET6_XFRM_MODE_BEET=y |
286 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | 319 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set |
287 | CONFIG_IPV6_SIT=y | 320 | CONFIG_IPV6_SIT=y |
321 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
288 | # CONFIG_IPV6_TUNNEL is not set | 322 | # CONFIG_IPV6_TUNNEL is not set |
289 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 323 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
324 | # CONFIG_IPV6_MROUTE is not set | ||
290 | # CONFIG_NETWORK_SECMARK is not set | 325 | # CONFIG_NETWORK_SECMARK is not set |
291 | CONFIG_NETFILTER=y | 326 | CONFIG_NETFILTER=y |
292 | # CONFIG_NETFILTER_DEBUG is not set | 327 | # CONFIG_NETFILTER_DEBUG is not set |
@@ -310,10 +345,12 @@ CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | |||
310 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 345 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
311 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 346 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
312 | CONFIG_NETFILTER_XT_MATCH_STATE=m | 347 | CONFIG_NETFILTER_XT_MATCH_STATE=m |
348 | # CONFIG_IP_VS is not set | ||
313 | 349 | ||
314 | # | 350 | # |
315 | # IP: Netfilter Configuration | 351 | # IP: Netfilter Configuration |
316 | # | 352 | # |
353 | CONFIG_NF_DEFRAG_IPV4=m | ||
317 | CONFIG_NF_CONNTRACK_IPV4=m | 354 | CONFIG_NF_CONNTRACK_IPV4=m |
318 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y | 355 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y |
319 | CONFIG_IP_NF_IPTABLES=m | 356 | CONFIG_IP_NF_IPTABLES=m |
@@ -339,16 +376,20 @@ CONFIG_IP_NF_MANGLE=m | |||
339 | CONFIG_NF_CONNTRACK_IPV6=m | 376 | CONFIG_NF_CONNTRACK_IPV6=m |
340 | CONFIG_IP6_NF_IPTABLES=m | 377 | CONFIG_IP6_NF_IPTABLES=m |
341 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 378 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m |
342 | CONFIG_IP6_NF_FILTER=m | ||
343 | CONFIG_IP6_NF_TARGET_LOG=m | 379 | CONFIG_IP6_NF_TARGET_LOG=m |
380 | CONFIG_IP6_NF_FILTER=m | ||
344 | CONFIG_IP6_NF_TARGET_REJECT=m | 381 | CONFIG_IP6_NF_TARGET_REJECT=m |
345 | CONFIG_IP6_NF_MANGLE=m | 382 | CONFIG_IP6_NF_MANGLE=m |
346 | # CONFIG_IP_DCCP is not set | 383 | # CONFIG_IP_DCCP is not set |
347 | # CONFIG_IP_SCTP is not set | 384 | # CONFIG_IP_SCTP is not set |
385 | # CONFIG_RDS is not set | ||
348 | # CONFIG_TIPC is not set | 386 | # CONFIG_TIPC is not set |
349 | # CONFIG_ATM is not set | 387 | # CONFIG_ATM is not set |
388 | CONFIG_STP=m | ||
350 | CONFIG_BRIDGE=m | 389 | CONFIG_BRIDGE=m |
390 | # CONFIG_NET_DSA is not set | ||
351 | CONFIG_VLAN_8021Q=m | 391 | CONFIG_VLAN_8021Q=m |
392 | # CONFIG_VLAN_8021Q_GVRP is not set | ||
352 | # CONFIG_DECNET is not set | 393 | # CONFIG_DECNET is not set |
353 | CONFIG_LLC=m | 394 | CONFIG_LLC=m |
354 | # CONFIG_LLC2 is not set | 395 | # CONFIG_LLC2 is not set |
@@ -358,26 +399,33 @@ CONFIG_LLC=m | |||
358 | # CONFIG_LAPB is not set | 399 | # CONFIG_LAPB is not set |
359 | # CONFIG_ECONET is not set | 400 | # CONFIG_ECONET is not set |
360 | # CONFIG_WAN_ROUTER is not set | 401 | # CONFIG_WAN_ROUTER is not set |
402 | # CONFIG_PHONET is not set | ||
403 | # CONFIG_IEEE802154 is not set | ||
361 | # CONFIG_NET_SCHED is not set | 404 | # CONFIG_NET_SCHED is not set |
405 | # CONFIG_DCB is not set | ||
362 | 406 | ||
363 | # | 407 | # |
364 | # Network testing | 408 | # Network testing |
365 | # | 409 | # |
366 | # CONFIG_NET_PKTGEN is not set | 410 | # CONFIG_NET_PKTGEN is not set |
367 | # CONFIG_NET_TCPPROBE is not set | 411 | # CONFIG_NET_TCPPROBE is not set |
412 | # CONFIG_NET_DROP_MONITOR is not set | ||
368 | # CONFIG_HAMRADIO is not set | 413 | # CONFIG_HAMRADIO is not set |
369 | # CONFIG_CAN is not set | 414 | # CONFIG_CAN is not set |
370 | # CONFIG_IRDA is not set | 415 | # CONFIG_IRDA is not set |
371 | # CONFIG_BT is not set | 416 | # CONFIG_BT is not set |
372 | # CONFIG_AF_RXRPC is not set | 417 | # CONFIG_AF_RXRPC is not set |
418 | CONFIG_WIRELESS=y | ||
419 | # CONFIG_CFG80211 is not set | ||
420 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
421 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
422 | # CONFIG_WIRELESS_EXT is not set | ||
423 | # CONFIG_LIB80211 is not set | ||
373 | 424 | ||
374 | # | 425 | # |
375 | # Wireless | 426 | # CFG80211 needs to be enabled for MAC80211 |
376 | # | 427 | # |
377 | # CONFIG_CFG80211 is not set | 428 | # CONFIG_WIMAX is not set |
378 | # CONFIG_WIRELESS_EXT is not set | ||
379 | # CONFIG_MAC80211 is not set | ||
380 | # CONFIG_IEEE80211 is not set | ||
381 | # CONFIG_RFKILL is not set | 429 | # CONFIG_RFKILL is not set |
382 | # CONFIG_NET_9P is not set | 430 | # CONFIG_NET_9P is not set |
383 | 431 | ||
@@ -389,6 +437,7 @@ CONFIG_LLC=m | |||
389 | # Generic Driver Options | 437 | # Generic Driver Options |
390 | # | 438 | # |
391 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 439 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
440 | # CONFIG_DEVTMPFS is not set | ||
392 | CONFIG_STANDALONE=y | 441 | CONFIG_STANDALONE=y |
393 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 442 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
394 | # CONFIG_FW_LOADER is not set | 443 | # CONFIG_FW_LOADER is not set |
@@ -398,10 +447,12 @@ CONFIG_STANDALONE=y | |||
398 | # CONFIG_CONNECTOR is not set | 447 | # CONFIG_CONNECTOR is not set |
399 | CONFIG_MTD=y | 448 | CONFIG_MTD=y |
400 | # CONFIG_MTD_DEBUG is not set | 449 | # CONFIG_MTD_DEBUG is not set |
450 | # CONFIG_MTD_TESTS is not set | ||
401 | # CONFIG_MTD_CONCAT is not set | 451 | # CONFIG_MTD_CONCAT is not set |
402 | CONFIG_MTD_PARTITIONS=y | 452 | CONFIG_MTD_PARTITIONS=y |
403 | # CONFIG_MTD_REDBOOT_PARTS is not set | 453 | # CONFIG_MTD_REDBOOT_PARTS is not set |
404 | CONFIG_MTD_CMDLINE_PARTS=y | 454 | CONFIG_MTD_CMDLINE_PARTS=y |
455 | # CONFIG_MTD_AR7_PARTS is not set | ||
405 | 456 | ||
406 | # | 457 | # |
407 | # User Modules And Translation Layers | 458 | # User Modules And Translation Layers |
@@ -446,16 +497,17 @@ CONFIG_MTD_CFI_UTIL=y | |||
446 | # | 497 | # |
447 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 498 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
448 | CONFIG_MTD_PHYSMAP=y | 499 | CONFIG_MTD_PHYSMAP=y |
449 | CONFIG_MTD_PHYSMAP_START=0x80000000 | 500 | # CONFIG_MTD_PHYSMAP_COMPAT is not set |
450 | CONFIG_MTD_PHYSMAP_LEN=0x0 | ||
451 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
452 | # CONFIG_MTD_PLATRAM is not set | 501 | # CONFIG_MTD_PLATRAM is not set |
453 | 502 | ||
454 | # | 503 | # |
455 | # Self-contained MTD device drivers | 504 | # Self-contained MTD device drivers |
456 | # | 505 | # |
457 | CONFIG_MTD_DATAFLASH=y | 506 | CONFIG_MTD_DATAFLASH=y |
507 | # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set | ||
508 | # CONFIG_MTD_DATAFLASH_OTP is not set | ||
458 | # CONFIG_MTD_M25P80 is not set | 509 | # CONFIG_MTD_M25P80 is not set |
510 | # CONFIG_MTD_SST25L is not set | ||
459 | # CONFIG_MTD_SLRAM is not set | 511 | # CONFIG_MTD_SLRAM is not set |
460 | # CONFIG_MTD_PHRAM is not set | 512 | # CONFIG_MTD_PHRAM is not set |
461 | # CONFIG_MTD_MTDRAM is not set | 513 | # CONFIG_MTD_MTDRAM is not set |
@@ -471,6 +523,11 @@ CONFIG_MTD_DATAFLASH=y | |||
471 | # CONFIG_MTD_ONENAND is not set | 523 | # CONFIG_MTD_ONENAND is not set |
472 | 524 | ||
473 | # | 525 | # |
526 | # LPDDR flash memory drivers | ||
527 | # | ||
528 | # CONFIG_MTD_LPDDR is not set | ||
529 | |||
530 | # | ||
474 | # UBI - Unsorted block images | 531 | # UBI - Unsorted block images |
475 | # | 532 | # |
476 | CONFIG_MTD_UBI=y | 533 | CONFIG_MTD_UBI=y |
@@ -499,10 +556,20 @@ CONFIG_MISC_DEVICES=y | |||
499 | CONFIG_ATMEL_TCLIB=y | 556 | CONFIG_ATMEL_TCLIB=y |
500 | CONFIG_ATMEL_TCB_CLKSRC=y | 557 | CONFIG_ATMEL_TCB_CLKSRC=y |
501 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 | 558 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 |
502 | # CONFIG_EEPROM_93CX6 is not set | 559 | # CONFIG_ICS932S401 is not set |
503 | # CONFIG_ATMEL_SSC is not set | 560 | # CONFIG_ATMEL_SSC is not set |
504 | # CONFIG_ENCLOSURE_SERVICES is not set | 561 | # CONFIG_ENCLOSURE_SERVICES is not set |
505 | # CONFIG_HAVE_IDE is not set | 562 | # CONFIG_ISL29003 is not set |
563 | # CONFIG_C2PORT is not set | ||
564 | |||
565 | # | ||
566 | # EEPROM support | ||
567 | # | ||
568 | # CONFIG_EEPROM_AT24 is not set | ||
569 | # CONFIG_EEPROM_AT25 is not set | ||
570 | # CONFIG_EEPROM_LEGACY is not set | ||
571 | # CONFIG_EEPROM_MAX6875 is not set | ||
572 | # CONFIG_EEPROM_93CX6 is not set | ||
506 | 573 | ||
507 | # | 574 | # |
508 | # SCSI device support | 575 | # SCSI device support |
@@ -514,7 +581,6 @@ CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 | |||
514 | # CONFIG_ATA is not set | 581 | # CONFIG_ATA is not set |
515 | # CONFIG_MD is not set | 582 | # CONFIG_MD is not set |
516 | CONFIG_NETDEVICES=y | 583 | CONFIG_NETDEVICES=y |
517 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
518 | # CONFIG_DUMMY is not set | 584 | # CONFIG_DUMMY is not set |
519 | # CONFIG_BONDING is not set | 585 | # CONFIG_BONDING is not set |
520 | # CONFIG_MACVLAN is not set | 586 | # CONFIG_MACVLAN is not set |
@@ -536,25 +602,37 @@ CONFIG_PHYLIB=y | |||
536 | # CONFIG_BROADCOM_PHY is not set | 602 | # CONFIG_BROADCOM_PHY is not set |
537 | # CONFIG_ICPLUS_PHY is not set | 603 | # CONFIG_ICPLUS_PHY is not set |
538 | # CONFIG_REALTEK_PHY is not set | 604 | # CONFIG_REALTEK_PHY is not set |
605 | # CONFIG_NATIONAL_PHY is not set | ||
606 | # CONFIG_STE10XP is not set | ||
607 | # CONFIG_LSI_ET1011C_PHY is not set | ||
539 | # CONFIG_FIXED_PHY is not set | 608 | # CONFIG_FIXED_PHY is not set |
540 | # CONFIG_MDIO_BITBANG is not set | 609 | # CONFIG_MDIO_BITBANG is not set |
541 | CONFIG_NET_ETHERNET=y | 610 | CONFIG_NET_ETHERNET=y |
542 | # CONFIG_MII is not set | 611 | # CONFIG_MII is not set |
543 | CONFIG_MACB=y | 612 | CONFIG_MACB=y |
544 | # CONFIG_ENC28J60 is not set | 613 | # CONFIG_ENC28J60 is not set |
614 | # CONFIG_ETHOC is not set | ||
615 | # CONFIG_DNET is not set | ||
545 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 616 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
546 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 617 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
547 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 618 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
548 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 619 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
620 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
621 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
622 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
549 | # CONFIG_B44 is not set | 623 | # CONFIG_B44 is not set |
624 | # CONFIG_KS8842 is not set | ||
625 | # CONFIG_KS8851 is not set | ||
626 | # CONFIG_KS8851_MLL is not set | ||
550 | # CONFIG_NETDEV_1000 is not set | 627 | # CONFIG_NETDEV_1000 is not set |
551 | # CONFIG_NETDEV_10000 is not set | 628 | # CONFIG_NETDEV_10000 is not set |
629 | CONFIG_WLAN=y | ||
630 | # CONFIG_WLAN_PRE80211 is not set | ||
631 | # CONFIG_WLAN_80211 is not set | ||
552 | 632 | ||
553 | # | 633 | # |
554 | # Wireless LAN | 634 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
555 | # | 635 | # |
556 | # CONFIG_WLAN_PRE80211 is not set | ||
557 | # CONFIG_WLAN_80211 is not set | ||
558 | # CONFIG_WAN is not set | 636 | # CONFIG_WAN is not set |
559 | CONFIG_PPP=m | 637 | CONFIG_PPP=m |
560 | # CONFIG_PPP_MULTILINK is not set | 638 | # CONFIG_PPP_MULTILINK is not set |
@@ -598,15 +676,30 @@ CONFIG_INPUT_EVDEV=m | |||
598 | # CONFIG_INPUT_TABLET is not set | 676 | # CONFIG_INPUT_TABLET is not set |
599 | CONFIG_INPUT_TOUCHSCREEN=y | 677 | CONFIG_INPUT_TOUCHSCREEN=y |
600 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | 678 | # CONFIG_TOUCHSCREEN_ADS7846 is not set |
679 | # CONFIG_TOUCHSCREEN_AD7877 is not set | ||
680 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | ||
681 | # CONFIG_TOUCHSCREEN_AD7879_SPI is not set | ||
682 | # CONFIG_TOUCHSCREEN_AD7879 is not set | ||
683 | # CONFIG_TOUCHSCREEN_EETI is not set | ||
601 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | 684 | # CONFIG_TOUCHSCREEN_FUJITSU is not set |
602 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 685 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
603 | # CONFIG_TOUCHSCREEN_ELO is not set | 686 | # CONFIG_TOUCHSCREEN_ELO is not set |
687 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
688 | # CONFIG_TOUCHSCREEN_MCS5000 is not set | ||
604 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | 689 | # CONFIG_TOUCHSCREEN_MTOUCH is not set |
690 | # CONFIG_TOUCHSCREEN_INEXIO is not set | ||
605 | # CONFIG_TOUCHSCREEN_MK712 is not set | 691 | # CONFIG_TOUCHSCREEN_MK712 is not set |
606 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | 692 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set |
607 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | 693 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set |
608 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | 694 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set |
609 | # CONFIG_TOUCHSCREEN_UCB1400 is not set | 695 | CONFIG_TOUCHSCREEN_WM97XX=m |
696 | CONFIG_TOUCHSCREEN_WM9705=y | ||
697 | CONFIG_TOUCHSCREEN_WM9712=y | ||
698 | CONFIG_TOUCHSCREEN_WM9713=y | ||
699 | # CONFIG_TOUCHSCREEN_WM97XX_ATMEL is not set | ||
700 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | ||
701 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
702 | # CONFIG_TOUCHSCREEN_W90X900 is not set | ||
610 | # CONFIG_INPUT_MISC is not set | 703 | # CONFIG_INPUT_MISC is not set |
611 | 704 | ||
612 | # | 705 | # |
@@ -619,9 +712,11 @@ CONFIG_INPUT_TOUCHSCREEN=y | |||
619 | # Character devices | 712 | # Character devices |
620 | # | 713 | # |
621 | CONFIG_VT=y | 714 | CONFIG_VT=y |
715 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
622 | CONFIG_VT_CONSOLE=y | 716 | CONFIG_VT_CONSOLE=y |
623 | CONFIG_HW_CONSOLE=y | 717 | CONFIG_HW_CONSOLE=y |
624 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | 718 | # CONFIG_VT_HW_CONSOLE_BINDING is not set |
719 | CONFIG_DEVKMEM=y | ||
625 | # CONFIG_SERIAL_NONSTANDARD is not set | 720 | # CONFIG_SERIAL_NONSTANDARD is not set |
626 | 721 | ||
627 | # | 722 | # |
@@ -636,9 +731,11 @@ CONFIG_SERIAL_ATMEL=y | |||
636 | CONFIG_SERIAL_ATMEL_CONSOLE=y | 731 | CONFIG_SERIAL_ATMEL_CONSOLE=y |
637 | CONFIG_SERIAL_ATMEL_PDC=y | 732 | CONFIG_SERIAL_ATMEL_PDC=y |
638 | # CONFIG_SERIAL_ATMEL_TTYAT is not set | 733 | # CONFIG_SERIAL_ATMEL_TTYAT is not set |
734 | # CONFIG_SERIAL_MAX3100 is not set | ||
639 | CONFIG_SERIAL_CORE=y | 735 | CONFIG_SERIAL_CORE=y |
640 | CONFIG_SERIAL_CORE_CONSOLE=y | 736 | CONFIG_SERIAL_CORE_CONSOLE=y |
641 | CONFIG_UNIX98_PTYS=y | 737 | CONFIG_UNIX98_PTYS=y |
738 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
642 | # CONFIG_LEGACY_PTYS is not set | 739 | # CONFIG_LEGACY_PTYS is not set |
643 | # CONFIG_IPMI_HANDLER is not set | 740 | # CONFIG_IPMI_HANDLER is not set |
644 | # CONFIG_HW_RANDOM is not set | 741 | # CONFIG_HW_RANDOM is not set |
@@ -647,45 +744,44 @@ CONFIG_UNIX98_PTYS=y | |||
647 | # CONFIG_TCG_TPM is not set | 744 | # CONFIG_TCG_TPM is not set |
648 | CONFIG_I2C=m | 745 | CONFIG_I2C=m |
649 | CONFIG_I2C_BOARDINFO=y | 746 | CONFIG_I2C_BOARDINFO=y |
747 | CONFIG_I2C_COMPAT=y | ||
650 | CONFIG_I2C_CHARDEV=m | 748 | CONFIG_I2C_CHARDEV=m |
749 | CONFIG_I2C_HELPER_AUTO=y | ||
750 | CONFIG_I2C_ALGOBIT=m | ||
651 | 751 | ||
652 | # | 752 | # |
653 | # I2C Algorithms | 753 | # I2C Hardware Bus support |
654 | # | 754 | # |
655 | CONFIG_I2C_ALGOBIT=m | ||
656 | # CONFIG_I2C_ALGOPCF is not set | ||
657 | # CONFIG_I2C_ALGOPCA is not set | ||
658 | 755 | ||
659 | # | 756 | # |
660 | # I2C Hardware Bus support | 757 | # I2C system bus drivers (mostly embedded / system-on-chip) |
661 | # | 758 | # |
662 | CONFIG_I2C_ATMELTWI=m | 759 | # CONFIG_I2C_DESIGNWARE is not set |
663 | CONFIG_I2C_GPIO=m | 760 | CONFIG_I2C_GPIO=m |
664 | # CONFIG_I2C_OCORES is not set | 761 | # CONFIG_I2C_OCORES is not set |
665 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
666 | # CONFIG_I2C_SIMTEC is not set | 762 | # CONFIG_I2C_SIMTEC is not set |
763 | |||
764 | # | ||
765 | # External I2C/SMBus adapter drivers | ||
766 | # | ||
767 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
667 | # CONFIG_I2C_TAOS_EVM is not set | 768 | # CONFIG_I2C_TAOS_EVM is not set |
769 | |||
770 | # | ||
771 | # Other I2C/SMBus bus drivers | ||
772 | # | ||
773 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
668 | # CONFIG_I2C_STUB is not set | 774 | # CONFIG_I2C_STUB is not set |
669 | 775 | ||
670 | # | 776 | # |
671 | # Miscellaneous I2C Chip support | 777 | # Miscellaneous I2C Chip support |
672 | # | 778 | # |
673 | # CONFIG_DS1682 is not set | 779 | # CONFIG_DS1682 is not set |
674 | # CONFIG_EEPROM_LEGACY is not set | ||
675 | # CONFIG_SENSORS_PCF8574 is not set | ||
676 | # CONFIG_PCF8575 is not set | ||
677 | # CONFIG_SENSORS_PCF8591 is not set | ||
678 | # CONFIG_TPS65010 is not set | ||
679 | # CONFIG_SENSORS_MAX6875 is not set | ||
680 | # CONFIG_SENSORS_TSL2550 is not set | 780 | # CONFIG_SENSORS_TSL2550 is not set |
681 | # CONFIG_I2C_DEBUG_CORE is not set | 781 | # CONFIG_I2C_DEBUG_CORE is not set |
682 | # CONFIG_I2C_DEBUG_ALGO is not set | 782 | # CONFIG_I2C_DEBUG_ALGO is not set |
683 | # CONFIG_I2C_DEBUG_BUS is not set | 783 | # CONFIG_I2C_DEBUG_BUS is not set |
684 | # CONFIG_I2C_DEBUG_CHIP is not set | 784 | # CONFIG_I2C_DEBUG_CHIP is not set |
685 | |||
686 | # | ||
687 | # SPI support | ||
688 | # | ||
689 | CONFIG_SPI=y | 785 | CONFIG_SPI=y |
690 | # CONFIG_SPI_DEBUG is not set | 786 | # CONFIG_SPI_DEBUG is not set |
691 | CONFIG_SPI_MASTER=y | 787 | CONFIG_SPI_MASTER=y |
@@ -695,30 +791,48 @@ CONFIG_SPI_MASTER=y | |||
695 | # | 791 | # |
696 | CONFIG_SPI_ATMEL=y | 792 | CONFIG_SPI_ATMEL=y |
697 | # CONFIG_SPI_BITBANG is not set | 793 | # CONFIG_SPI_BITBANG is not set |
794 | # CONFIG_SPI_GPIO is not set | ||
698 | 795 | ||
699 | # | 796 | # |
700 | # SPI Protocol Masters | 797 | # SPI Protocol Masters |
701 | # | 798 | # |
702 | # CONFIG_EEPROM_AT25 is not set | ||
703 | CONFIG_SPI_SPIDEV=m | 799 | CONFIG_SPI_SPIDEV=m |
704 | # CONFIG_SPI_TLE62X0 is not set | 800 | # CONFIG_SPI_TLE62X0 is not set |
705 | CONFIG_HAVE_GPIO_LIB=y | ||
706 | 801 | ||
707 | # | 802 | # |
708 | # GPIO Support | 803 | # PPS support |
709 | # | 804 | # |
805 | # CONFIG_PPS is not set | ||
806 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
807 | CONFIG_GPIOLIB=y | ||
710 | # CONFIG_DEBUG_GPIO is not set | 808 | # CONFIG_DEBUG_GPIO is not set |
809 | # CONFIG_GPIO_SYSFS is not set | ||
810 | |||
811 | # | ||
812 | # Memory mapped GPIO expanders: | ||
813 | # | ||
711 | 814 | ||
712 | # | 815 | # |
713 | # I2C GPIO expanders: | 816 | # I2C GPIO expanders: |
714 | # | 817 | # |
818 | # CONFIG_GPIO_MAX732X is not set | ||
715 | # CONFIG_GPIO_PCA953X is not set | 819 | # CONFIG_GPIO_PCA953X is not set |
716 | # CONFIG_GPIO_PCF857X is not set | 820 | # CONFIG_GPIO_PCF857X is not set |
717 | 821 | ||
718 | # | 822 | # |
823 | # PCI GPIO expanders: | ||
824 | # | ||
825 | |||
826 | # | ||
719 | # SPI GPIO expanders: | 827 | # SPI GPIO expanders: |
720 | # | 828 | # |
829 | # CONFIG_GPIO_MAX7301 is not set | ||
721 | # CONFIG_GPIO_MCP23S08 is not set | 830 | # CONFIG_GPIO_MCP23S08 is not set |
831 | # CONFIG_GPIO_MC33880 is not set | ||
832 | |||
833 | # | ||
834 | # AC97 GPIO expanders: | ||
835 | # | ||
722 | # CONFIG_W1 is not set | 836 | # CONFIG_W1 is not set |
723 | # CONFIG_POWER_SUPPLY is not set | 837 | # CONFIG_POWER_SUPPLY is not set |
724 | # CONFIG_HWMON is not set | 838 | # CONFIG_HWMON is not set |
@@ -731,24 +845,31 @@ CONFIG_WATCHDOG=y | |||
731 | # | 845 | # |
732 | # CONFIG_SOFT_WATCHDOG is not set | 846 | # CONFIG_SOFT_WATCHDOG is not set |
733 | CONFIG_AT32AP700X_WDT=y | 847 | CONFIG_AT32AP700X_WDT=y |
848 | CONFIG_SSB_POSSIBLE=y | ||
734 | 849 | ||
735 | # | 850 | # |
736 | # Sonics Silicon Backplane | 851 | # Sonics Silicon Backplane |
737 | # | 852 | # |
738 | CONFIG_SSB_POSSIBLE=y | ||
739 | # CONFIG_SSB is not set | 853 | # CONFIG_SSB is not set |
740 | 854 | ||
741 | # | 855 | # |
742 | # Multifunction device drivers | 856 | # Multifunction device drivers |
743 | # | 857 | # |
858 | # CONFIG_MFD_CORE is not set | ||
744 | # CONFIG_MFD_SM501 is not set | 859 | # CONFIG_MFD_SM501 is not set |
745 | 860 | # CONFIG_HTC_PASIC3 is not set | |
746 | # | 861 | # CONFIG_UCB1400_CORE is not set |
747 | # Multimedia devices | 862 | # CONFIG_TPS65010 is not set |
748 | # | 863 | # CONFIG_MFD_TMIO is not set |
749 | # CONFIG_VIDEO_DEV is not set | 864 | # CONFIG_MFD_WM8400 is not set |
750 | # CONFIG_DVB_CORE is not set | 865 | # CONFIG_MFD_WM831X is not set |
751 | # CONFIG_DAB is not set | 866 | # CONFIG_MFD_WM8350_I2C is not set |
867 | # CONFIG_MFD_PCF50633 is not set | ||
868 | # CONFIG_MFD_MC13783 is not set | ||
869 | # CONFIG_AB3100_CORE is not set | ||
870 | # CONFIG_EZX_PCAP is not set | ||
871 | # CONFIG_REGULATOR is not set | ||
872 | # CONFIG_MEDIA_SUPPORT is not set | ||
752 | 873 | ||
753 | # | 874 | # |
754 | # Graphics support | 875 | # Graphics support |
@@ -758,6 +879,7 @@ CONFIG_SSB_POSSIBLE=y | |||
758 | CONFIG_FB=y | 879 | CONFIG_FB=y |
759 | # CONFIG_FIRMWARE_EDID is not set | 880 | # CONFIG_FIRMWARE_EDID is not set |
760 | # CONFIG_FB_DDC is not set | 881 | # CONFIG_FB_DDC is not set |
882 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
761 | CONFIG_FB_CFB_FILLRECT=y | 883 | CONFIG_FB_CFB_FILLRECT=y |
762 | CONFIG_FB_CFB_COPYAREA=y | 884 | CONFIG_FB_CFB_COPYAREA=y |
763 | CONFIG_FB_CFB_IMAGEBLIT=y | 885 | CONFIG_FB_CFB_IMAGEBLIT=y |
@@ -765,8 +887,8 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
765 | # CONFIG_FB_SYS_FILLRECT is not set | 887 | # CONFIG_FB_SYS_FILLRECT is not set |
766 | # CONFIG_FB_SYS_COPYAREA is not set | 888 | # CONFIG_FB_SYS_COPYAREA is not set |
767 | # CONFIG_FB_SYS_IMAGEBLIT is not set | 889 | # CONFIG_FB_SYS_IMAGEBLIT is not set |
890 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
768 | # CONFIG_FB_SYS_FOPS is not set | 891 | # CONFIG_FB_SYS_FOPS is not set |
769 | CONFIG_FB_DEFERRED_IO=y | ||
770 | # CONFIG_FB_SVGALIB is not set | 892 | # CONFIG_FB_SVGALIB is not set |
771 | # CONFIG_FB_MACMODES is not set | 893 | # CONFIG_FB_MACMODES is not set |
772 | # CONFIG_FB_BACKLIGHT is not set | 894 | # CONFIG_FB_BACKLIGHT is not set |
@@ -779,6 +901,9 @@ CONFIG_FB_DEFERRED_IO=y | |||
779 | # CONFIG_FB_S1D13XXX is not set | 901 | # CONFIG_FB_S1D13XXX is not set |
780 | CONFIG_FB_ATMEL=y | 902 | CONFIG_FB_ATMEL=y |
781 | # CONFIG_FB_VIRTUAL is not set | 903 | # CONFIG_FB_VIRTUAL is not set |
904 | # CONFIG_FB_METRONOME is not set | ||
905 | # CONFIG_FB_MB862XX is not set | ||
906 | # CONFIG_FB_BROADSHEET is not set | ||
782 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 907 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
783 | 908 | ||
784 | # | 909 | # |
@@ -792,119 +917,124 @@ CONFIG_FB_ATMEL=y | |||
792 | CONFIG_DUMMY_CONSOLE=y | 917 | CONFIG_DUMMY_CONSOLE=y |
793 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | 918 | # CONFIG_FRAMEBUFFER_CONSOLE is not set |
794 | # CONFIG_LOGO is not set | 919 | # CONFIG_LOGO is not set |
795 | |||
796 | # | ||
797 | # Sound | ||
798 | # | ||
799 | CONFIG_SOUND=y | 920 | CONFIG_SOUND=y |
800 | 921 | CONFIG_SOUND_OSS_CORE=y | |
801 | # | 922 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y |
802 | # Advanced Linux Sound Architecture | ||
803 | # | ||
804 | CONFIG_SND=y | 923 | CONFIG_SND=y |
805 | CONFIG_SND_TIMER=m | 924 | CONFIG_SND_TIMER=y |
806 | CONFIG_SND_PCM=m | 925 | CONFIG_SND_PCM=m |
807 | # CONFIG_SND_SEQUENCER is not set | 926 | # CONFIG_SND_SEQUENCER is not set |
808 | CONFIG_SND_OSSEMUL=y | 927 | CONFIG_SND_OSSEMUL=y |
809 | CONFIG_SND_MIXER_OSS=m | 928 | CONFIG_SND_MIXER_OSS=m |
810 | CONFIG_SND_PCM_OSS=m | 929 | CONFIG_SND_PCM_OSS=m |
811 | CONFIG_SND_PCM_OSS_PLUGINS=y | 930 | CONFIG_SND_PCM_OSS_PLUGINS=y |
931 | CONFIG_SND_HRTIMER=y | ||
812 | # CONFIG_SND_DYNAMIC_MINORS is not set | 932 | # CONFIG_SND_DYNAMIC_MINORS is not set |
813 | # CONFIG_SND_SUPPORT_OLD_API is not set | 933 | # CONFIG_SND_SUPPORT_OLD_API is not set |
814 | CONFIG_SND_VERBOSE_PROCFS=y | 934 | CONFIG_SND_VERBOSE_PROCFS=y |
815 | # CONFIG_SND_VERBOSE_PRINTK is not set | 935 | # CONFIG_SND_VERBOSE_PRINTK is not set |
816 | # CONFIG_SND_DEBUG is not set | 936 | # CONFIG_SND_DEBUG is not set |
817 | 937 | CONFIG_SND_VMASTER=y | |
818 | # | 938 | # CONFIG_SND_RAWMIDI_SEQ is not set |
819 | # Generic devices | 939 | # CONFIG_SND_OPL3_LIB_SEQ is not set |
820 | # | 940 | # CONFIG_SND_OPL4_LIB_SEQ is not set |
941 | # CONFIG_SND_SBAWE_SEQ is not set | ||
942 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
821 | CONFIG_SND_AC97_CODEC=m | 943 | CONFIG_SND_AC97_CODEC=m |
822 | # CONFIG_SND_DUMMY is not set | 944 | # CONFIG_SND_DRIVERS is not set |
823 | # CONFIG_SND_MTPAV is not set | ||
824 | # CONFIG_SND_SERIAL_U16550 is not set | ||
825 | # CONFIG_SND_MPU401 is not set | ||
826 | 945 | ||
827 | # | 946 | # |
828 | # AVR32 devices | 947 | # Atmel devices (AVR32 and AT91) |
829 | # | ||
830 | CONFIG_SND_ATMEL_AC97=m | ||
831 | |||
832 | # | ||
833 | # SPI devices | ||
834 | # | ||
835 | |||
836 | # | ||
837 | # System on Chip audio support | ||
838 | # | 948 | # |
949 | # CONFIG_SND_ATMEL_ABDAC is not set | ||
950 | CONFIG_SND_ATMEL_AC97C=m | ||
951 | # CONFIG_SND_SPI is not set | ||
839 | # CONFIG_SND_SOC is not set | 952 | # CONFIG_SND_SOC is not set |
840 | |||
841 | # | ||
842 | # SoC Audio support for SuperH | ||
843 | # | ||
844 | |||
845 | # | ||
846 | # ALSA SoC audio for Freescale SOCs | ||
847 | # | ||
848 | |||
849 | # | ||
850 | # Open Sound System | ||
851 | # | ||
852 | # CONFIG_SOUND_PRIME is not set | 953 | # CONFIG_SOUND_PRIME is not set |
853 | CONFIG_AC97_BUS=m | 954 | CONFIG_AC97_BUS=m |
854 | CONFIG_HID_SUPPORT=y | 955 | CONFIG_HID_SUPPORT=y |
855 | CONFIG_HID=y | 956 | CONFIG_HID=y |
856 | # CONFIG_HID_DEBUG is not set | ||
857 | # CONFIG_HIDRAW is not set | 957 | # CONFIG_HIDRAW is not set |
958 | # CONFIG_HID_PID is not set | ||
959 | |||
960 | # | ||
961 | # Special HID drivers | ||
962 | # | ||
858 | CONFIG_USB_SUPPORT=y | 963 | CONFIG_USB_SUPPORT=y |
859 | # CONFIG_USB_ARCH_HAS_HCD is not set | 964 | # CONFIG_USB_ARCH_HAS_HCD is not set |
860 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 965 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
861 | # CONFIG_USB_ARCH_HAS_EHCI is not set | 966 | # CONFIG_USB_ARCH_HAS_EHCI is not set |
967 | # CONFIG_USB_OTG_WHITELIST is not set | ||
968 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
969 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
862 | 970 | ||
863 | # | 971 | # |
864 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 972 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
865 | # | 973 | # |
866 | CONFIG_USB_GADGET=y | 974 | CONFIG_USB_GADGET=y |
867 | # CONFIG_USB_GADGET_DEBUG is not set | 975 | # CONFIG_USB_GADGET_DEBUG is not set |
868 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | 976 | # CONFIG_USB_GADGET_DEBUG_FILES is not set |
977 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
978 | CONFIG_USB_GADGET_VBUS_DRAW=350 | ||
869 | CONFIG_USB_GADGET_SELECTED=y | 979 | CONFIG_USB_GADGET_SELECTED=y |
870 | # CONFIG_USB_GADGET_AMD5536UDC is not set | 980 | # CONFIG_USB_GADGET_AT91 is not set |
871 | CONFIG_USB_GADGET_ATMEL_USBA=y | 981 | CONFIG_USB_GADGET_ATMEL_USBA=y |
872 | CONFIG_USB_ATMEL_USBA=y | 982 | CONFIG_USB_ATMEL_USBA=y |
873 | # CONFIG_USB_GADGET_FSL_USB2 is not set | 983 | # CONFIG_USB_GADGET_FSL_USB2 is not set |
874 | # CONFIG_USB_GADGET_NET2280 is not set | ||
875 | # CONFIG_USB_GADGET_PXA2XX is not set | ||
876 | # CONFIG_USB_GADGET_M66592 is not set | ||
877 | # CONFIG_USB_GADGET_GOKU is not set | ||
878 | # CONFIG_USB_GADGET_LH7A40X is not set | 984 | # CONFIG_USB_GADGET_LH7A40X is not set |
879 | # CONFIG_USB_GADGET_OMAP is not set | 985 | # CONFIG_USB_GADGET_OMAP is not set |
986 | # CONFIG_USB_GADGET_PXA25X is not set | ||
987 | # CONFIG_USB_GADGET_R8A66597 is not set | ||
988 | # CONFIG_USB_GADGET_PXA27X is not set | ||
989 | # CONFIG_USB_GADGET_S3C_HSOTG is not set | ||
990 | # CONFIG_USB_GADGET_IMX is not set | ||
880 | # CONFIG_USB_GADGET_S3C2410 is not set | 991 | # CONFIG_USB_GADGET_S3C2410 is not set |
881 | # CONFIG_USB_GADGET_AT91 is not set | 992 | # CONFIG_USB_GADGET_M66592 is not set |
993 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
994 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
995 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
996 | # CONFIG_USB_GADGET_NET2280 is not set | ||
997 | # CONFIG_USB_GADGET_GOKU is not set | ||
998 | # CONFIG_USB_GADGET_LANGWELL is not set | ||
882 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | 999 | # CONFIG_USB_GADGET_DUMMY_HCD is not set |
883 | CONFIG_USB_GADGET_DUALSPEED=y | 1000 | CONFIG_USB_GADGET_DUALSPEED=y |
884 | CONFIG_USB_ZERO=m | 1001 | CONFIG_USB_ZERO=m |
1002 | # CONFIG_USB_AUDIO is not set | ||
885 | CONFIG_USB_ETH=m | 1003 | CONFIG_USB_ETH=m |
886 | CONFIG_USB_ETH_RNDIS=y | 1004 | CONFIG_USB_ETH_RNDIS=y |
1005 | # CONFIG_USB_ETH_EEM is not set | ||
887 | CONFIG_USB_GADGETFS=m | 1006 | CONFIG_USB_GADGETFS=m |
888 | CONFIG_USB_FILE_STORAGE=m | 1007 | CONFIG_USB_FILE_STORAGE=m |
889 | # CONFIG_USB_FILE_STORAGE_TEST is not set | 1008 | # CONFIG_USB_FILE_STORAGE_TEST is not set |
890 | CONFIG_USB_G_SERIAL=m | 1009 | CONFIG_USB_G_SERIAL=m |
891 | # CONFIG_USB_MIDI_GADGET is not set | 1010 | # CONFIG_USB_MIDI_GADGET is not set |
892 | # CONFIG_USB_G_PRINTER is not set | 1011 | # CONFIG_USB_G_PRINTER is not set |
1012 | CONFIG_USB_CDC_COMPOSITE=m | ||
1013 | |||
1014 | # | ||
1015 | # OTG and related infrastructure | ||
1016 | # | ||
1017 | # CONFIG_USB_GPIO_VBUS is not set | ||
1018 | # CONFIG_NOP_USB_XCEIV is not set | ||
893 | CONFIG_MMC=y | 1019 | CONFIG_MMC=y |
894 | # CONFIG_MMC_DEBUG is not set | 1020 | # CONFIG_MMC_DEBUG is not set |
895 | # CONFIG_MMC_UNSAFE_RESUME is not set | 1021 | # CONFIG_MMC_UNSAFE_RESUME is not set |
896 | 1022 | ||
897 | # | 1023 | # |
898 | # MMC/SD Card Drivers | 1024 | # MMC/SD/SDIO Card Drivers |
899 | # | 1025 | # |
900 | CONFIG_MMC_BLOCK=y | 1026 | CONFIG_MMC_BLOCK=y |
901 | CONFIG_MMC_BLOCK_BOUNCE=y | 1027 | CONFIG_MMC_BLOCK_BOUNCE=y |
902 | # CONFIG_SDIO_UART is not set | 1028 | # CONFIG_SDIO_UART is not set |
1029 | # CONFIG_MMC_TEST is not set | ||
903 | 1030 | ||
904 | # | 1031 | # |
905 | # MMC/SD Host Controller Drivers | 1032 | # MMC/SD/SDIO Host Controller Drivers |
906 | # | 1033 | # |
1034 | # CONFIG_MMC_SDHCI is not set | ||
1035 | # CONFIG_MMC_AT91 is not set | ||
907 | CONFIG_MMC_ATMELMCI=y | 1036 | CONFIG_MMC_ATMELMCI=y |
1037 | # CONFIG_MMC_ATMELMCI_DMA is not set | ||
908 | # CONFIG_MMC_SPI is not set | 1038 | # CONFIG_MMC_SPI is not set |
909 | # CONFIG_MEMSTICK is not set | 1039 | # CONFIG_MEMSTICK is not set |
910 | CONFIG_NEW_LEDS=y | 1040 | CONFIG_NEW_LEDS=y |
@@ -913,7 +1043,13 @@ CONFIG_LEDS_CLASS=y | |||
913 | # | 1043 | # |
914 | # LED drivers | 1044 | # LED drivers |
915 | # | 1045 | # |
1046 | # CONFIG_LEDS_PCA9532 is not set | ||
916 | CONFIG_LEDS_GPIO=y | 1047 | CONFIG_LEDS_GPIO=y |
1048 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
1049 | # CONFIG_LEDS_LP3944 is not set | ||
1050 | # CONFIG_LEDS_PCA955X is not set | ||
1051 | # CONFIG_LEDS_DAC124S085 is not set | ||
1052 | # CONFIG_LEDS_BD2802 is not set | ||
917 | 1053 | ||
918 | # | 1054 | # |
919 | # LED Triggers | 1055 | # LED Triggers |
@@ -921,6 +1057,14 @@ CONFIG_LEDS_GPIO=y | |||
921 | CONFIG_LEDS_TRIGGERS=y | 1057 | CONFIG_LEDS_TRIGGERS=y |
922 | CONFIG_LEDS_TRIGGER_TIMER=y | 1058 | CONFIG_LEDS_TRIGGER_TIMER=y |
923 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | 1059 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y |
1060 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
1061 | # CONFIG_LEDS_TRIGGER_GPIO is not set | ||
1062 | # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set | ||
1063 | |||
1064 | # | ||
1065 | # iptables trigger is under Netfilter config (LED target) | ||
1066 | # | ||
1067 | # CONFIG_ACCESSIBILITY is not set | ||
924 | CONFIG_RTC_LIB=y | 1068 | CONFIG_RTC_LIB=y |
925 | CONFIG_RTC_CLASS=y | 1069 | CONFIG_RTC_CLASS=y |
926 | CONFIG_RTC_HCTOSYS=y | 1070 | CONFIG_RTC_HCTOSYS=y |
@@ -950,51 +1094,84 @@ CONFIG_RTC_INTF_DEV=y | |||
950 | # CONFIG_RTC_DRV_PCF8583 is not set | 1094 | # CONFIG_RTC_DRV_PCF8583 is not set |
951 | # CONFIG_RTC_DRV_M41T80 is not set | 1095 | # CONFIG_RTC_DRV_M41T80 is not set |
952 | # CONFIG_RTC_DRV_S35390A is not set | 1096 | # CONFIG_RTC_DRV_S35390A is not set |
1097 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1098 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1099 | # CONFIG_RTC_DRV_RX8025 is not set | ||
953 | 1100 | ||
954 | # | 1101 | # |
955 | # SPI RTC drivers | 1102 | # SPI RTC drivers |
956 | # | 1103 | # |
1104 | # CONFIG_RTC_DRV_M41T94 is not set | ||
1105 | # CONFIG_RTC_DRV_DS1305 is not set | ||
1106 | # CONFIG_RTC_DRV_DS1390 is not set | ||
957 | # CONFIG_RTC_DRV_MAX6902 is not set | 1107 | # CONFIG_RTC_DRV_MAX6902 is not set |
958 | # CONFIG_RTC_DRV_R9701 is not set | 1108 | # CONFIG_RTC_DRV_R9701 is not set |
959 | # CONFIG_RTC_DRV_RS5C348 is not set | 1109 | # CONFIG_RTC_DRV_RS5C348 is not set |
1110 | # CONFIG_RTC_DRV_DS3234 is not set | ||
1111 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
960 | 1112 | ||
961 | # | 1113 | # |
962 | # Platform RTC drivers | 1114 | # Platform RTC drivers |
963 | # | 1115 | # |
1116 | # CONFIG_RTC_DRV_DS1286 is not set | ||
964 | # CONFIG_RTC_DRV_DS1511 is not set | 1117 | # CONFIG_RTC_DRV_DS1511 is not set |
965 | # CONFIG_RTC_DRV_DS1553 is not set | 1118 | # CONFIG_RTC_DRV_DS1553 is not set |
966 | # CONFIG_RTC_DRV_DS1742 is not set | 1119 | # CONFIG_RTC_DRV_DS1742 is not set |
967 | # CONFIG_RTC_DRV_STK17TA8 is not set | 1120 | # CONFIG_RTC_DRV_STK17TA8 is not set |
968 | # CONFIG_RTC_DRV_M48T86 is not set | 1121 | # CONFIG_RTC_DRV_M48T86 is not set |
1122 | # CONFIG_RTC_DRV_M48T35 is not set | ||
969 | # CONFIG_RTC_DRV_M48T59 is not set | 1123 | # CONFIG_RTC_DRV_M48T59 is not set |
1124 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
970 | # CONFIG_RTC_DRV_V3020 is not set | 1125 | # CONFIG_RTC_DRV_V3020 is not set |
971 | 1126 | ||
972 | # | 1127 | # |
973 | # on-CPU RTC drivers | 1128 | # on-CPU RTC drivers |
974 | # | 1129 | # |
975 | CONFIG_RTC_DRV_AT32AP700X=y | 1130 | CONFIG_RTC_DRV_AT32AP700X=y |
1131 | CONFIG_DMADEVICES=y | ||
976 | 1132 | ||
977 | # | 1133 | # |
978 | # Userspace I/O | 1134 | # DMA Devices |
979 | # | 1135 | # |
1136 | CONFIG_DW_DMAC=y | ||
1137 | CONFIG_DMA_ENGINE=y | ||
1138 | |||
1139 | # | ||
1140 | # DMA Clients | ||
1141 | # | ||
1142 | # CONFIG_NET_DMA is not set | ||
1143 | # CONFIG_ASYNC_TX_DMA is not set | ||
1144 | # CONFIG_DMATEST is not set | ||
1145 | # CONFIG_AUXDISPLAY is not set | ||
980 | # CONFIG_UIO is not set | 1146 | # CONFIG_UIO is not set |
981 | 1147 | ||
982 | # | 1148 | # |
1149 | # TI VLYNQ | ||
1150 | # | ||
1151 | # CONFIG_STAGING is not set | ||
1152 | |||
1153 | # | ||
983 | # File systems | 1154 | # File systems |
984 | # | 1155 | # |
985 | CONFIG_EXT2_FS=y | 1156 | CONFIG_EXT2_FS=y |
986 | # CONFIG_EXT2_FS_XATTR is not set | 1157 | # CONFIG_EXT2_FS_XATTR is not set |
987 | # CONFIG_EXT2_FS_XIP is not set | 1158 | # CONFIG_EXT2_FS_XIP is not set |
988 | CONFIG_EXT3_FS=y | 1159 | CONFIG_EXT3_FS=y |
1160 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
989 | # CONFIG_EXT3_FS_XATTR is not set | 1161 | # CONFIG_EXT3_FS_XATTR is not set |
990 | # CONFIG_EXT4DEV_FS is not set | 1162 | # CONFIG_EXT4_FS is not set |
991 | CONFIG_JBD=y | 1163 | CONFIG_JBD=y |
1164 | # CONFIG_JBD_DEBUG is not set | ||
992 | # CONFIG_REISERFS_FS is not set | 1165 | # CONFIG_REISERFS_FS is not set |
993 | # CONFIG_JFS_FS is not set | 1166 | # CONFIG_JFS_FS is not set |
994 | # CONFIG_FS_POSIX_ACL is not set | 1167 | # CONFIG_FS_POSIX_ACL is not set |
995 | # CONFIG_XFS_FS is not set | 1168 | # CONFIG_XFS_FS is not set |
996 | # CONFIG_GFS2_FS is not set | 1169 | # CONFIG_GFS2_FS is not set |
997 | # CONFIG_OCFS2_FS is not set | 1170 | # CONFIG_OCFS2_FS is not set |
1171 | # CONFIG_BTRFS_FS is not set | ||
1172 | # CONFIG_NILFS2_FS is not set | ||
1173 | CONFIG_FILE_LOCKING=y | ||
1174 | CONFIG_FSNOTIFY=y | ||
998 | # CONFIG_DNOTIFY is not set | 1175 | # CONFIG_DNOTIFY is not set |
999 | CONFIG_INOTIFY=y | 1176 | CONFIG_INOTIFY=y |
1000 | CONFIG_INOTIFY_USER=y | 1177 | CONFIG_INOTIFY_USER=y |
@@ -1002,6 +1179,12 @@ CONFIG_INOTIFY_USER=y | |||
1002 | # CONFIG_AUTOFS_FS is not set | 1179 | # CONFIG_AUTOFS_FS is not set |
1003 | # CONFIG_AUTOFS4_FS is not set | 1180 | # CONFIG_AUTOFS4_FS is not set |
1004 | CONFIG_FUSE_FS=m | 1181 | CONFIG_FUSE_FS=m |
1182 | # CONFIG_CUSE is not set | ||
1183 | |||
1184 | # | ||
1185 | # Caches | ||
1186 | # | ||
1187 | # CONFIG_FSCACHE is not set | ||
1005 | 1188 | ||
1006 | # | 1189 | # |
1007 | # CD-ROM/DVD Filesystems | 1190 | # CD-ROM/DVD Filesystems |
@@ -1025,15 +1208,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
1025 | CONFIG_PROC_FS=y | 1208 | CONFIG_PROC_FS=y |
1026 | # CONFIG_PROC_KCORE is not set | 1209 | # CONFIG_PROC_KCORE is not set |
1027 | CONFIG_PROC_SYSCTL=y | 1210 | CONFIG_PROC_SYSCTL=y |
1211 | CONFIG_PROC_PAGE_MONITOR=y | ||
1028 | CONFIG_SYSFS=y | 1212 | CONFIG_SYSFS=y |
1029 | CONFIG_TMPFS=y | 1213 | CONFIG_TMPFS=y |
1030 | # CONFIG_TMPFS_POSIX_ACL is not set | 1214 | # CONFIG_TMPFS_POSIX_ACL is not set |
1031 | # CONFIG_HUGETLB_PAGE is not set | 1215 | # CONFIG_HUGETLB_PAGE is not set |
1032 | CONFIG_CONFIGFS_FS=y | 1216 | CONFIG_CONFIGFS_FS=y |
1033 | 1217 | CONFIG_MISC_FILESYSTEMS=y | |
1034 | # | ||
1035 | # Miscellaneous filesystems | ||
1036 | # | ||
1037 | # CONFIG_ADFS_FS is not set | 1218 | # CONFIG_ADFS_FS is not set |
1038 | # CONFIG_AFFS_FS is not set | 1219 | # CONFIG_AFFS_FS is not set |
1039 | # CONFIG_HFS_FS is not set | 1220 | # CONFIG_HFS_FS is not set |
@@ -1059,8 +1240,10 @@ CONFIG_UBIFS_FS_LZO=y | |||
1059 | CONFIG_UBIFS_FS_ZLIB=y | 1240 | CONFIG_UBIFS_FS_ZLIB=y |
1060 | # CONFIG_UBIFS_FS_DEBUG is not set | 1241 | # CONFIG_UBIFS_FS_DEBUG is not set |
1061 | # CONFIG_CRAMFS is not set | 1242 | # CONFIG_CRAMFS is not set |
1243 | # CONFIG_SQUASHFS is not set | ||
1062 | # CONFIG_VXFS_FS is not set | 1244 | # CONFIG_VXFS_FS is not set |
1063 | # CONFIG_MINIX_FS is not set | 1245 | # CONFIG_MINIX_FS is not set |
1246 | # CONFIG_OMFS_FS is not set | ||
1064 | # CONFIG_HPFS_FS is not set | 1247 | # CONFIG_HPFS_FS is not set |
1065 | # CONFIG_QNX4FS_FS is not set | 1248 | # CONFIG_QNX4FS_FS is not set |
1066 | # CONFIG_ROMFS_FS is not set | 1249 | # CONFIG_ROMFS_FS is not set |
@@ -1071,19 +1254,16 @@ CONFIG_NFS_FS=y | |||
1071 | CONFIG_NFS_V3=y | 1254 | CONFIG_NFS_V3=y |
1072 | # CONFIG_NFS_V3_ACL is not set | 1255 | # CONFIG_NFS_V3_ACL is not set |
1073 | # CONFIG_NFS_V4 is not set | 1256 | # CONFIG_NFS_V4 is not set |
1074 | # CONFIG_NFS_DIRECTIO is not set | 1257 | CONFIG_ROOT_NFS=y |
1075 | CONFIG_NFSD=m | 1258 | CONFIG_NFSD=m |
1076 | CONFIG_NFSD_V3=y | 1259 | CONFIG_NFSD_V3=y |
1077 | # CONFIG_NFSD_V3_ACL is not set | 1260 | # CONFIG_NFSD_V3_ACL is not set |
1078 | # CONFIG_NFSD_V4 is not set | 1261 | # CONFIG_NFSD_V4 is not set |
1079 | CONFIG_NFSD_TCP=y | ||
1080 | CONFIG_ROOT_NFS=y | ||
1081 | CONFIG_LOCKD=y | 1262 | CONFIG_LOCKD=y |
1082 | CONFIG_LOCKD_V4=y | 1263 | CONFIG_LOCKD_V4=y |
1083 | CONFIG_EXPORTFS=m | 1264 | CONFIG_EXPORTFS=m |
1084 | CONFIG_NFS_COMMON=y | 1265 | CONFIG_NFS_COMMON=y |
1085 | CONFIG_SUNRPC=y | 1266 | CONFIG_SUNRPC=y |
1086 | # CONFIG_SUNRPC_BIND34 is not set | ||
1087 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1267 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1088 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1268 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1089 | CONFIG_SMB_FS=m | 1269 | CONFIG_SMB_FS=m |
@@ -1151,16 +1331,24 @@ CONFIG_NLS_UTF8=m | |||
1151 | # CONFIG_PRINTK_TIME is not set | 1331 | # CONFIG_PRINTK_TIME is not set |
1152 | CONFIG_ENABLE_WARN_DEPRECATED=y | 1332 | CONFIG_ENABLE_WARN_DEPRECATED=y |
1153 | CONFIG_ENABLE_MUST_CHECK=y | 1333 | CONFIG_ENABLE_MUST_CHECK=y |
1334 | CONFIG_FRAME_WARN=1024 | ||
1154 | CONFIG_MAGIC_SYSRQ=y | 1335 | CONFIG_MAGIC_SYSRQ=y |
1336 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1155 | # CONFIG_UNUSED_SYMBOLS is not set | 1337 | # CONFIG_UNUSED_SYMBOLS is not set |
1156 | # CONFIG_DEBUG_FS is not set | 1338 | CONFIG_DEBUG_FS=y |
1157 | # CONFIG_HEADERS_CHECK is not set | 1339 | # CONFIG_HEADERS_CHECK is not set |
1158 | CONFIG_DEBUG_KERNEL=y | 1340 | CONFIG_DEBUG_KERNEL=y |
1159 | # CONFIG_DEBUG_SHIRQ is not set | 1341 | # CONFIG_DEBUG_SHIRQ is not set |
1160 | CONFIG_DETECT_SOFTLOCKUP=y | 1342 | CONFIG_DETECT_SOFTLOCKUP=y |
1343 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1344 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1345 | CONFIG_DETECT_HUNG_TASK=y | ||
1346 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1347 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1161 | CONFIG_SCHED_DEBUG=y | 1348 | CONFIG_SCHED_DEBUG=y |
1162 | # CONFIG_SCHEDSTATS is not set | 1349 | # CONFIG_SCHEDSTATS is not set |
1163 | # CONFIG_TIMER_STATS is not set | 1350 | # CONFIG_TIMER_STATS is not set |
1351 | # CONFIG_DEBUG_OBJECTS is not set | ||
1164 | # CONFIG_SLUB_DEBUG_ON is not set | 1352 | # CONFIG_SLUB_DEBUG_ON is not set |
1165 | # CONFIG_SLUB_STATS is not set | 1353 | # CONFIG_SLUB_STATS is not set |
1166 | # CONFIG_DEBUG_RT_MUTEXES is not set | 1354 | # CONFIG_DEBUG_RT_MUTEXES is not set |
@@ -1172,19 +1360,48 @@ CONFIG_SCHED_DEBUG=y | |||
1172 | # CONFIG_LOCK_STAT is not set | 1360 | # CONFIG_LOCK_STAT is not set |
1173 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1361 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1174 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1362 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1363 | CONFIG_STACKTRACE=y | ||
1175 | # CONFIG_DEBUG_KOBJECT is not set | 1364 | # CONFIG_DEBUG_KOBJECT is not set |
1176 | CONFIG_DEBUG_BUGVERBOSE=y | 1365 | CONFIG_DEBUG_BUGVERBOSE=y |
1177 | # CONFIG_DEBUG_INFO is not set | 1366 | # CONFIG_DEBUG_INFO is not set |
1178 | # CONFIG_DEBUG_VM is not set | 1367 | # CONFIG_DEBUG_VM is not set |
1368 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1369 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1179 | # CONFIG_DEBUG_LIST is not set | 1370 | # CONFIG_DEBUG_LIST is not set |
1180 | # CONFIG_DEBUG_SG is not set | 1371 | # CONFIG_DEBUG_SG is not set |
1372 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1373 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1181 | CONFIG_FRAME_POINTER=y | 1374 | CONFIG_FRAME_POINTER=y |
1182 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1375 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1183 | # CONFIG_RCU_TORTURE_TEST is not set | 1376 | # CONFIG_RCU_TORTURE_TEST is not set |
1377 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1184 | # CONFIG_KPROBES_SANITY_TEST is not set | 1378 | # CONFIG_KPROBES_SANITY_TEST is not set |
1185 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1379 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1380 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1381 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1186 | # CONFIG_LKDTM is not set | 1382 | # CONFIG_LKDTM is not set |
1187 | # CONFIG_FAULT_INJECTION is not set | 1383 | # CONFIG_FAULT_INJECTION is not set |
1384 | # CONFIG_PAGE_POISONING is not set | ||
1385 | CONFIG_NOP_TRACER=y | ||
1386 | CONFIG_RING_BUFFER=y | ||
1387 | CONFIG_EVENT_TRACING=y | ||
1388 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
1389 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | ||
1390 | CONFIG_TRACING=y | ||
1391 | CONFIG_TRACING_SUPPORT=y | ||
1392 | CONFIG_FTRACE=y | ||
1393 | # CONFIG_IRQSOFF_TRACER is not set | ||
1394 | # CONFIG_SCHED_TRACER is not set | ||
1395 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1396 | # CONFIG_BOOT_TRACER is not set | ||
1397 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1398 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1399 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1400 | # CONFIG_KMEMTRACE is not set | ||
1401 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1402 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1403 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
1404 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1188 | # CONFIG_SAMPLES is not set | 1405 | # CONFIG_SAMPLES is not set |
1189 | 1406 | ||
1190 | # | 1407 | # |
@@ -1192,63 +1409,118 @@ CONFIG_FRAME_POINTER=y | |||
1192 | # | 1409 | # |
1193 | # CONFIG_KEYS is not set | 1410 | # CONFIG_KEYS is not set |
1194 | # CONFIG_SECURITY is not set | 1411 | # CONFIG_SECURITY is not set |
1412 | # CONFIG_SECURITYFS is not set | ||
1195 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1413 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1196 | CONFIG_CRYPTO=y | 1414 | CONFIG_CRYPTO=y |
1415 | |||
1416 | # | ||
1417 | # Crypto core or helper | ||
1418 | # | ||
1419 | # CONFIG_CRYPTO_FIPS is not set | ||
1197 | CONFIG_CRYPTO_ALGAPI=y | 1420 | CONFIG_CRYPTO_ALGAPI=y |
1421 | CONFIG_CRYPTO_ALGAPI2=y | ||
1198 | CONFIG_CRYPTO_AEAD=y | 1422 | CONFIG_CRYPTO_AEAD=y |
1423 | CONFIG_CRYPTO_AEAD2=y | ||
1199 | CONFIG_CRYPTO_BLKCIPHER=y | 1424 | CONFIG_CRYPTO_BLKCIPHER=y |
1200 | # CONFIG_CRYPTO_SEQIV is not set | 1425 | CONFIG_CRYPTO_BLKCIPHER2=y |
1201 | CONFIG_CRYPTO_HASH=y | 1426 | CONFIG_CRYPTO_HASH=y |
1427 | CONFIG_CRYPTO_HASH2=y | ||
1428 | CONFIG_CRYPTO_RNG=m | ||
1429 | CONFIG_CRYPTO_RNG2=y | ||
1430 | CONFIG_CRYPTO_PCOMP=y | ||
1202 | CONFIG_CRYPTO_MANAGER=y | 1431 | CONFIG_CRYPTO_MANAGER=y |
1432 | CONFIG_CRYPTO_MANAGER2=y | ||
1433 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1434 | # CONFIG_CRYPTO_NULL is not set | ||
1435 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1436 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1437 | CONFIG_CRYPTO_AUTHENC=y | ||
1438 | # CONFIG_CRYPTO_TEST is not set | ||
1439 | |||
1440 | # | ||
1441 | # Authenticated Encryption with Associated Data | ||
1442 | # | ||
1443 | # CONFIG_CRYPTO_CCM is not set | ||
1444 | # CONFIG_CRYPTO_GCM is not set | ||
1445 | # CONFIG_CRYPTO_SEQIV is not set | ||
1446 | |||
1447 | # | ||
1448 | # Block modes | ||
1449 | # | ||
1450 | CONFIG_CRYPTO_CBC=y | ||
1451 | # CONFIG_CRYPTO_CTR is not set | ||
1452 | # CONFIG_CRYPTO_CTS is not set | ||
1453 | CONFIG_CRYPTO_ECB=m | ||
1454 | # CONFIG_CRYPTO_LRW is not set | ||
1455 | # CONFIG_CRYPTO_PCBC is not set | ||
1456 | # CONFIG_CRYPTO_XTS is not set | ||
1457 | |||
1458 | # | ||
1459 | # Hash modes | ||
1460 | # | ||
1203 | CONFIG_CRYPTO_HMAC=y | 1461 | CONFIG_CRYPTO_HMAC=y |
1204 | # CONFIG_CRYPTO_XCBC is not set | 1462 | # CONFIG_CRYPTO_XCBC is not set |
1205 | # CONFIG_CRYPTO_NULL is not set | 1463 | # CONFIG_CRYPTO_VMAC is not set |
1464 | |||
1465 | # | ||
1466 | # Digest | ||
1467 | # | ||
1468 | # CONFIG_CRYPTO_CRC32C is not set | ||
1469 | # CONFIG_CRYPTO_GHASH is not set | ||
1206 | # CONFIG_CRYPTO_MD4 is not set | 1470 | # CONFIG_CRYPTO_MD4 is not set |
1207 | CONFIG_CRYPTO_MD5=y | 1471 | CONFIG_CRYPTO_MD5=y |
1472 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1473 | # CONFIG_CRYPTO_RMD128 is not set | ||
1474 | # CONFIG_CRYPTO_RMD160 is not set | ||
1475 | # CONFIG_CRYPTO_RMD256 is not set | ||
1476 | # CONFIG_CRYPTO_RMD320 is not set | ||
1208 | CONFIG_CRYPTO_SHA1=y | 1477 | CONFIG_CRYPTO_SHA1=y |
1209 | # CONFIG_CRYPTO_SHA256 is not set | 1478 | # CONFIG_CRYPTO_SHA256 is not set |
1210 | # CONFIG_CRYPTO_SHA512 is not set | 1479 | # CONFIG_CRYPTO_SHA512 is not set |
1211 | # CONFIG_CRYPTO_WP512 is not set | ||
1212 | # CONFIG_CRYPTO_TGR192 is not set | 1480 | # CONFIG_CRYPTO_TGR192 is not set |
1213 | # CONFIG_CRYPTO_GF128MUL is not set | 1481 | # CONFIG_CRYPTO_WP512 is not set |
1214 | CONFIG_CRYPTO_ECB=m | 1482 | |
1215 | CONFIG_CRYPTO_CBC=y | 1483 | # |
1216 | # CONFIG_CRYPTO_PCBC is not set | 1484 | # Ciphers |
1217 | # CONFIG_CRYPTO_LRW is not set | 1485 | # |
1218 | # CONFIG_CRYPTO_XTS is not set | 1486 | CONFIG_CRYPTO_AES=m |
1219 | # CONFIG_CRYPTO_CTR is not set | 1487 | # CONFIG_CRYPTO_ANUBIS is not set |
1220 | # CONFIG_CRYPTO_GCM is not set | 1488 | CONFIG_CRYPTO_ARC4=m |
1221 | # CONFIG_CRYPTO_CCM is not set | ||
1222 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1223 | CONFIG_CRYPTO_DES=y | ||
1224 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1225 | # CONFIG_CRYPTO_BLOWFISH is not set | 1489 | # CONFIG_CRYPTO_BLOWFISH is not set |
1226 | # CONFIG_CRYPTO_TWOFISH is not set | 1490 | # CONFIG_CRYPTO_CAMELLIA is not set |
1227 | # CONFIG_CRYPTO_SERPENT is not set | ||
1228 | # CONFIG_CRYPTO_AES is not set | ||
1229 | # CONFIG_CRYPTO_CAST5 is not set | 1491 | # CONFIG_CRYPTO_CAST5 is not set |
1230 | # CONFIG_CRYPTO_CAST6 is not set | 1492 | # CONFIG_CRYPTO_CAST6 is not set |
1231 | # CONFIG_CRYPTO_TEA is not set | 1493 | CONFIG_CRYPTO_DES=y |
1232 | CONFIG_CRYPTO_ARC4=m | 1494 | # CONFIG_CRYPTO_FCRYPT is not set |
1233 | # CONFIG_CRYPTO_KHAZAD is not set | 1495 | # CONFIG_CRYPTO_KHAZAD is not set |
1234 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1235 | # CONFIG_CRYPTO_SEED is not set | ||
1236 | # CONFIG_CRYPTO_SALSA20 is not set | 1496 | # CONFIG_CRYPTO_SALSA20 is not set |
1497 | # CONFIG_CRYPTO_SEED is not set | ||
1498 | # CONFIG_CRYPTO_SERPENT is not set | ||
1499 | # CONFIG_CRYPTO_TEA is not set | ||
1500 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1501 | |||
1502 | # | ||
1503 | # Compression | ||
1504 | # | ||
1237 | CONFIG_CRYPTO_DEFLATE=y | 1505 | CONFIG_CRYPTO_DEFLATE=y |
1238 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1506 | # CONFIG_CRYPTO_ZLIB is not set |
1239 | # CONFIG_CRYPTO_CRC32C is not set | ||
1240 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1241 | # CONFIG_CRYPTO_TEST is not set | ||
1242 | CONFIG_CRYPTO_AUTHENC=y | ||
1243 | CONFIG_CRYPTO_LZO=y | 1507 | CONFIG_CRYPTO_LZO=y |
1508 | |||
1509 | # | ||
1510 | # Random Number Generation | ||
1511 | # | ||
1512 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
1244 | CONFIG_CRYPTO_HW=y | 1513 | CONFIG_CRYPTO_HW=y |
1514 | CONFIG_BINARY_PRINTF=y | ||
1245 | 1515 | ||
1246 | # | 1516 | # |
1247 | # Library routines | 1517 | # Library routines |
1248 | # | 1518 | # |
1249 | CONFIG_BITREVERSE=y | 1519 | CONFIG_BITREVERSE=y |
1520 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1250 | CONFIG_CRC_CCITT=m | 1521 | CONFIG_CRC_CCITT=m |
1251 | CONFIG_CRC16=y | 1522 | CONFIG_CRC16=y |
1523 | # CONFIG_CRC_T10DIF is not set | ||
1252 | # CONFIG_CRC_ITU_T is not set | 1524 | # CONFIG_CRC_ITU_T is not set |
1253 | CONFIG_CRC32=y | 1525 | CONFIG_CRC32=y |
1254 | # CONFIG_CRC7 is not set | 1526 | # CONFIG_CRC7 is not set |
@@ -1257,8 +1529,9 @@ CONFIG_ZLIB_INFLATE=y | |||
1257 | CONFIG_ZLIB_DEFLATE=y | 1529 | CONFIG_ZLIB_DEFLATE=y |
1258 | CONFIG_LZO_COMPRESS=y | 1530 | CONFIG_LZO_COMPRESS=y |
1259 | CONFIG_LZO_DECOMPRESS=y | 1531 | CONFIG_LZO_DECOMPRESS=y |
1532 | CONFIG_DECOMPRESS_GZIP=y | ||
1260 | CONFIG_GENERIC_ALLOCATOR=y | 1533 | CONFIG_GENERIC_ALLOCATOR=y |
1261 | CONFIG_PLIST=y | ||
1262 | CONFIG_HAS_IOMEM=y | 1534 | CONFIG_HAS_IOMEM=y |
1263 | CONFIG_HAS_IOPORT=y | 1535 | CONFIG_HAS_IOPORT=y |
1264 | CONFIG_HAS_DMA=y | 1536 | CONFIG_HAS_DMA=y |
1537 | CONFIG_NLATTR=y | ||
diff --git a/arch/avr32/configs/atngw100mkii_defconfig b/arch/avr32/configs/atngw100mkii_defconfig new file mode 100644 index 000000000000..9b8b5b3b9c71 --- /dev/null +++ b/arch/avr32/configs/atngw100mkii_defconfig | |||
@@ -0,0 +1,1414 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.32-rc5 | ||
4 | # Thu Nov 5 15:32:26 2009 | ||
5 | # | ||
6 | CONFIG_AVR32=y | ||
7 | CONFIG_GENERIC_GPIO=y | ||
8 | CONFIG_GENERIC_HARDIRQS=y | ||
9 | CONFIG_STACKTRACE_SUPPORT=y | ||
10 | CONFIG_LOCKDEP_SUPPORT=y | ||
11 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
12 | CONFIG_HARDIRQS_SW_RESEND=y | ||
13 | CONFIG_GENERIC_IRQ_PROBE=y | ||
14 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
15 | CONFIG_GENERIC_TIME=y | ||
16 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
17 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | ||
18 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
19 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
20 | CONFIG_GENERIC_HWEIGHT=y | ||
21 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
22 | CONFIG_GENERIC_BUG=y | ||
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
24 | CONFIG_CONSTRUCTORS=y | ||
25 | |||
26 | # | ||
27 | # General setup | ||
28 | # | ||
29 | CONFIG_EXPERIMENTAL=y | ||
30 | CONFIG_BROKEN_ON_SMP=y | ||
31 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
32 | CONFIG_LOCALVERSION="" | ||
33 | # CONFIG_LOCALVERSION_AUTO is not set | ||
34 | CONFIG_SWAP=y | ||
35 | CONFIG_SYSVIPC=y | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | ||
37 | CONFIG_POSIX_MQUEUE=y | ||
38 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
39 | CONFIG_BSD_PROCESS_ACCT=y | ||
40 | CONFIG_BSD_PROCESS_ACCT_V3=y | ||
41 | # CONFIG_TASKSTATS is not set | ||
42 | # CONFIG_AUDIT is not set | ||
43 | |||
44 | # | ||
45 | # RCU Subsystem | ||
46 | # | ||
47 | CONFIG_TREE_RCU=y | ||
48 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
49 | # CONFIG_RCU_TRACE is not set | ||
50 | CONFIG_RCU_FANOUT=32 | ||
51 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
52 | # CONFIG_TREE_RCU_TRACE is not set | ||
53 | # CONFIG_IKCONFIG is not set | ||
54 | CONFIG_LOG_BUF_SHIFT=14 | ||
55 | # CONFIG_GROUP_SCHED is not set | ||
56 | # CONFIG_CGROUPS is not set | ||
57 | CONFIG_SYSFS_DEPRECATED=y | ||
58 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
59 | # CONFIG_RELAY is not set | ||
60 | # CONFIG_NAMESPACES is not set | ||
61 | CONFIG_BLK_DEV_INITRD=y | ||
62 | CONFIG_INITRAMFS_SOURCE="" | ||
63 | CONFIG_RD_GZIP=y | ||
64 | # CONFIG_RD_BZIP2 is not set | ||
65 | # CONFIG_RD_LZMA is not set | ||
66 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
67 | CONFIG_SYSCTL=y | ||
68 | CONFIG_ANON_INODES=y | ||
69 | CONFIG_EMBEDDED=y | ||
70 | # CONFIG_SYSCTL_SYSCALL is not set | ||
71 | CONFIG_KALLSYMS=y | ||
72 | # CONFIG_KALLSYMS_ALL is not set | ||
73 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
74 | CONFIG_HOTPLUG=y | ||
75 | CONFIG_PRINTK=y | ||
76 | CONFIG_BUG=y | ||
77 | CONFIG_ELF_CORE=y | ||
78 | # CONFIG_BASE_FULL is not set | ||
79 | CONFIG_FUTEX=y | ||
80 | CONFIG_EPOLL=y | ||
81 | CONFIG_SIGNALFD=y | ||
82 | CONFIG_TIMERFD=y | ||
83 | CONFIG_EVENTFD=y | ||
84 | CONFIG_SHMEM=y | ||
85 | CONFIG_AIO=y | ||
86 | |||
87 | # | ||
88 | # Kernel Performance Events And Counters | ||
89 | # | ||
90 | CONFIG_VM_EVENT_COUNTERS=y | ||
91 | CONFIG_SLUB_DEBUG=y | ||
92 | # CONFIG_COMPAT_BRK is not set | ||
93 | # CONFIG_SLAB is not set | ||
94 | CONFIG_SLUB=y | ||
95 | # CONFIG_SLOB is not set | ||
96 | CONFIG_PROFILING=y | ||
97 | CONFIG_TRACEPOINTS=y | ||
98 | CONFIG_OPROFILE=m | ||
99 | CONFIG_HAVE_OPROFILE=y | ||
100 | CONFIG_KPROBES=y | ||
101 | CONFIG_HAVE_KPROBES=y | ||
102 | CONFIG_HAVE_CLK=y | ||
103 | |||
104 | # | ||
105 | # GCOV-based kernel profiling | ||
106 | # | ||
107 | # CONFIG_GCOV_KERNEL is not set | ||
108 | CONFIG_SLOW_WORK=y | ||
109 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
110 | CONFIG_SLABINFO=y | ||
111 | CONFIG_RT_MUTEXES=y | ||
112 | CONFIG_BASE_SMALL=1 | ||
113 | CONFIG_MODULES=y | ||
114 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
115 | CONFIG_MODULE_UNLOAD=y | ||
116 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
117 | # CONFIG_MODVERSIONS is not set | ||
118 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
119 | CONFIG_BLOCK=y | ||
120 | CONFIG_LBDAF=y | ||
121 | # CONFIG_BLK_DEV_BSG is not set | ||
122 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
123 | |||
124 | # | ||
125 | # IO Schedulers | ||
126 | # | ||
127 | CONFIG_IOSCHED_NOOP=y | ||
128 | # CONFIG_IOSCHED_AS is not set | ||
129 | # CONFIG_IOSCHED_DEADLINE is not set | ||
130 | CONFIG_IOSCHED_CFQ=y | ||
131 | # CONFIG_DEFAULT_AS is not set | ||
132 | # CONFIG_DEFAULT_DEADLINE is not set | ||
133 | CONFIG_DEFAULT_CFQ=y | ||
134 | # CONFIG_DEFAULT_NOOP is not set | ||
135 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
136 | CONFIG_FREEZER=y | ||
137 | |||
138 | # | ||
139 | # System Type and features | ||
140 | # | ||
141 | CONFIG_TICK_ONESHOT=y | ||
142 | CONFIG_NO_HZ=y | ||
143 | CONFIG_HIGH_RES_TIMERS=y | ||
144 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
145 | CONFIG_SUBARCH_AVR32B=y | ||
146 | CONFIG_MMU=y | ||
147 | CONFIG_PERFORMANCE_COUNTERS=y | ||
148 | CONFIG_PLATFORM_AT32AP=y | ||
149 | CONFIG_CPU_AT32AP700X=y | ||
150 | CONFIG_CPU_AT32AP7000=y | ||
151 | CONFIG_BOARD_ATNGW100_COMMON=y | ||
152 | # CONFIG_BOARD_ATSTK1000 is not set | ||
153 | # CONFIG_BOARD_ATNGW100_MKI is not set | ||
154 | CONFIG_BOARD_ATNGW100_MKII=y | ||
155 | # CONFIG_BOARD_HAMMERHEAD is not set | ||
156 | # CONFIG_BOARD_FAVR_32 is not set | ||
157 | # CONFIG_BOARD_MERISC is not set | ||
158 | # CONFIG_BOARD_MIMC200 is not set | ||
159 | # CONFIG_BOARD_ATNGW100_MKII_LCD is not set | ||
160 | CONFIG_BOARD_ATNGW100_ADDON_NONE=y | ||
161 | # CONFIG_BOARD_ATNGW100_EVKLCD10X is not set | ||
162 | # CONFIG_BOARD_ATNGW100_MRMT is not set | ||
163 | CONFIG_LOADER_U_BOOT=y | ||
164 | |||
165 | # | ||
166 | # Atmel AVR32 AP options | ||
167 | # | ||
168 | # CONFIG_AP700X_32_BIT_SMC is not set | ||
169 | CONFIG_AP700X_16_BIT_SMC=y | ||
170 | # CONFIG_AP700X_8_BIT_SMC is not set | ||
171 | CONFIG_LOAD_ADDRESS=0x10000000 | ||
172 | CONFIG_ENTRY_ADDRESS=0x90000000 | ||
173 | CONFIG_PHYS_OFFSET=0x10000000 | ||
174 | CONFIG_PREEMPT_NONE=y | ||
175 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
176 | # CONFIG_PREEMPT is not set | ||
177 | CONFIG_QUICKLIST=y | ||
178 | # CONFIG_HAVE_ARCH_BOOTMEM is not set | ||
179 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set | ||
180 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set | ||
181 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
182 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
183 | # CONFIG_ARCH_SPARSEMEM_ENABLE is not set | ||
184 | CONFIG_SELECT_MEMORY_MODEL=y | ||
185 | CONFIG_FLATMEM_MANUAL=y | ||
186 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
187 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
188 | CONFIG_FLATMEM=y | ||
189 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
190 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
191 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
192 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
193 | CONFIG_ZONE_DMA_FLAG=0 | ||
194 | CONFIG_NR_QUICK=2 | ||
195 | CONFIG_VIRT_TO_BUS=y | ||
196 | CONFIG_HAVE_MLOCK=y | ||
197 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
198 | # CONFIG_KSM is not set | ||
199 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
200 | # CONFIG_OWNERSHIP_TRACE is not set | ||
201 | CONFIG_NMI_DEBUGGING=y | ||
202 | # CONFIG_HZ_100 is not set | ||
203 | CONFIG_HZ_250=y | ||
204 | # CONFIG_HZ_300 is not set | ||
205 | # CONFIG_HZ_1000 is not set | ||
206 | CONFIG_HZ=250 | ||
207 | CONFIG_SCHED_HRTICK=y | ||
208 | CONFIG_CMDLINE="" | ||
209 | |||
210 | # | ||
211 | # Power management options | ||
212 | # | ||
213 | CONFIG_PM=y | ||
214 | # CONFIG_PM_DEBUG is not set | ||
215 | CONFIG_PM_SLEEP=y | ||
216 | CONFIG_SUSPEND=y | ||
217 | CONFIG_SUSPEND_FREEZER=y | ||
218 | # CONFIG_PM_RUNTIME is not set | ||
219 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
220 | |||
221 | # | ||
222 | # CPU Frequency scaling | ||
223 | # | ||
224 | CONFIG_CPU_FREQ=y | ||
225 | CONFIG_CPU_FREQ_TABLE=y | ||
226 | # CONFIG_CPU_FREQ_DEBUG is not set | ||
227 | # CONFIG_CPU_FREQ_STAT is not set | ||
228 | # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set | ||
229 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
230 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
231 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y | ||
232 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
233 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
234 | # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set | ||
235 | CONFIG_CPU_FREQ_GOV_USERSPACE=y | ||
236 | CONFIG_CPU_FREQ_GOV_ONDEMAND=y | ||
237 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set | ||
238 | CONFIG_CPU_FREQ_AT32AP=y | ||
239 | |||
240 | # | ||
241 | # Bus options | ||
242 | # | ||
243 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
244 | # CONFIG_PCCARD is not set | ||
245 | |||
246 | # | ||
247 | # Executable file formats | ||
248 | # | ||
249 | CONFIG_BINFMT_ELF=y | ||
250 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
251 | # CONFIG_HAVE_AOUT is not set | ||
252 | # CONFIG_BINFMT_MISC is not set | ||
253 | CONFIG_NET=y | ||
254 | |||
255 | # | ||
256 | # Networking options | ||
257 | # | ||
258 | CONFIG_PACKET=y | ||
259 | CONFIG_PACKET_MMAP=y | ||
260 | CONFIG_UNIX=y | ||
261 | CONFIG_XFRM=y | ||
262 | CONFIG_XFRM_USER=y | ||
263 | # CONFIG_XFRM_SUB_POLICY is not set | ||
264 | # CONFIG_XFRM_MIGRATE is not set | ||
265 | # CONFIG_XFRM_STATISTICS is not set | ||
266 | CONFIG_XFRM_IPCOMP=y | ||
267 | CONFIG_NET_KEY=y | ||
268 | # CONFIG_NET_KEY_MIGRATE is not set | ||
269 | CONFIG_INET=y | ||
270 | CONFIG_IP_MULTICAST=y | ||
271 | CONFIG_IP_ADVANCED_ROUTER=y | ||
272 | CONFIG_ASK_IP_FIB_HASH=y | ||
273 | # CONFIG_IP_FIB_TRIE is not set | ||
274 | CONFIG_IP_FIB_HASH=y | ||
275 | # CONFIG_IP_MULTIPLE_TABLES is not set | ||
276 | # CONFIG_IP_ROUTE_MULTIPATH is not set | ||
277 | # CONFIG_IP_ROUTE_VERBOSE is not set | ||
278 | CONFIG_IP_PNP=y | ||
279 | CONFIG_IP_PNP_DHCP=y | ||
280 | # CONFIG_IP_PNP_BOOTP is not set | ||
281 | # CONFIG_IP_PNP_RARP is not set | ||
282 | # CONFIG_NET_IPIP is not set | ||
283 | # CONFIG_NET_IPGRE is not set | ||
284 | CONFIG_IP_MROUTE=y | ||
285 | CONFIG_IP_PIMSM_V1=y | ||
286 | # CONFIG_IP_PIMSM_V2 is not set | ||
287 | # CONFIG_ARPD is not set | ||
288 | CONFIG_SYN_COOKIES=y | ||
289 | CONFIG_INET_AH=y | ||
290 | CONFIG_INET_ESP=y | ||
291 | CONFIG_INET_IPCOMP=y | ||
292 | CONFIG_INET_XFRM_TUNNEL=y | ||
293 | CONFIG_INET_TUNNEL=y | ||
294 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
295 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
296 | CONFIG_INET_XFRM_MODE_BEET=y | ||
297 | # CONFIG_INET_LRO is not set | ||
298 | CONFIG_INET_DIAG=y | ||
299 | CONFIG_INET_TCP_DIAG=y | ||
300 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
301 | CONFIG_TCP_CONG_CUBIC=y | ||
302 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
303 | # CONFIG_TCP_MD5SIG is not set | ||
304 | CONFIG_IPV6=y | ||
305 | # CONFIG_IPV6_PRIVACY is not set | ||
306 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
307 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set | ||
308 | CONFIG_INET6_AH=y | ||
309 | CONFIG_INET6_ESP=y | ||
310 | CONFIG_INET6_IPCOMP=y | ||
311 | # CONFIG_IPV6_MIP6 is not set | ||
312 | CONFIG_INET6_XFRM_TUNNEL=y | ||
313 | CONFIG_INET6_TUNNEL=y | ||
314 | CONFIG_INET6_XFRM_MODE_TRANSPORT=y | ||
315 | CONFIG_INET6_XFRM_MODE_TUNNEL=y | ||
316 | CONFIG_INET6_XFRM_MODE_BEET=y | ||
317 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | ||
318 | CONFIG_IPV6_SIT=y | ||
319 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
320 | # CONFIG_IPV6_TUNNEL is not set | ||
321 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | ||
322 | # CONFIG_IPV6_MROUTE is not set | ||
323 | # CONFIG_NETWORK_SECMARK is not set | ||
324 | CONFIG_NETFILTER=y | ||
325 | # CONFIG_NETFILTER_DEBUG is not set | ||
326 | # CONFIG_NETFILTER_ADVANCED is not set | ||
327 | |||
328 | # | ||
329 | # Core Netfilter Configuration | ||
330 | # | ||
331 | CONFIG_NETFILTER_NETLINK=m | ||
332 | CONFIG_NETFILTER_NETLINK_LOG=m | ||
333 | CONFIG_NF_CONNTRACK=m | ||
334 | CONFIG_NF_CONNTRACK_FTP=m | ||
335 | CONFIG_NF_CONNTRACK_IRC=m | ||
336 | CONFIG_NF_CONNTRACK_SIP=m | ||
337 | CONFIG_NF_CT_NETLINK=m | ||
338 | CONFIG_NETFILTER_XTABLES=y | ||
339 | CONFIG_NETFILTER_XT_TARGET_MARK=m | ||
340 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | ||
341 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m | ||
342 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | ||
343 | CONFIG_NETFILTER_XT_MATCH_MARK=m | ||
344 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
345 | CONFIG_NETFILTER_XT_MATCH_STATE=m | ||
346 | # CONFIG_IP_VS is not set | ||
347 | |||
348 | # | ||
349 | # IP: Netfilter Configuration | ||
350 | # | ||
351 | CONFIG_NF_DEFRAG_IPV4=m | ||
352 | CONFIG_NF_CONNTRACK_IPV4=m | ||
353 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y | ||
354 | CONFIG_IP_NF_IPTABLES=m | ||
355 | CONFIG_IP_NF_FILTER=m | ||
356 | CONFIG_IP_NF_TARGET_REJECT=m | ||
357 | CONFIG_IP_NF_TARGET_LOG=m | ||
358 | # CONFIG_IP_NF_TARGET_ULOG is not set | ||
359 | CONFIG_NF_NAT=m | ||
360 | CONFIG_NF_NAT_NEEDED=y | ||
361 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
362 | CONFIG_NF_NAT_FTP=m | ||
363 | CONFIG_NF_NAT_IRC=m | ||
364 | # CONFIG_NF_NAT_TFTP is not set | ||
365 | # CONFIG_NF_NAT_AMANDA is not set | ||
366 | # CONFIG_NF_NAT_PPTP is not set | ||
367 | # CONFIG_NF_NAT_H323 is not set | ||
368 | CONFIG_NF_NAT_SIP=m | ||
369 | CONFIG_IP_NF_MANGLE=m | ||
370 | |||
371 | # | ||
372 | # IPv6: Netfilter Configuration | ||
373 | # | ||
374 | CONFIG_NF_CONNTRACK_IPV6=m | ||
375 | CONFIG_IP6_NF_IPTABLES=m | ||
376 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | ||
377 | CONFIG_IP6_NF_TARGET_LOG=m | ||
378 | CONFIG_IP6_NF_FILTER=m | ||
379 | CONFIG_IP6_NF_TARGET_REJECT=m | ||
380 | CONFIG_IP6_NF_MANGLE=m | ||
381 | # CONFIG_IP_DCCP is not set | ||
382 | # CONFIG_IP_SCTP is not set | ||
383 | # CONFIG_RDS is not set | ||
384 | # CONFIG_TIPC is not set | ||
385 | # CONFIG_ATM is not set | ||
386 | CONFIG_STP=m | ||
387 | CONFIG_BRIDGE=m | ||
388 | # CONFIG_NET_DSA is not set | ||
389 | CONFIG_VLAN_8021Q=m | ||
390 | # CONFIG_VLAN_8021Q_GVRP is not set | ||
391 | # CONFIG_DECNET is not set | ||
392 | CONFIG_LLC=m | ||
393 | # CONFIG_LLC2 is not set | ||
394 | # CONFIG_IPX is not set | ||
395 | # CONFIG_ATALK is not set | ||
396 | # CONFIG_X25 is not set | ||
397 | # CONFIG_LAPB is not set | ||
398 | # CONFIG_ECONET is not set | ||
399 | # CONFIG_WAN_ROUTER is not set | ||
400 | # CONFIG_PHONET is not set | ||
401 | # CONFIG_IEEE802154 is not set | ||
402 | # CONFIG_NET_SCHED is not set | ||
403 | # CONFIG_DCB is not set | ||
404 | |||
405 | # | ||
406 | # Network testing | ||
407 | # | ||
408 | # CONFIG_NET_PKTGEN is not set | ||
409 | # CONFIG_NET_TCPPROBE is not set | ||
410 | # CONFIG_NET_DROP_MONITOR is not set | ||
411 | # CONFIG_HAMRADIO is not set | ||
412 | # CONFIG_CAN is not set | ||
413 | # CONFIG_IRDA is not set | ||
414 | # CONFIG_BT is not set | ||
415 | # CONFIG_AF_RXRPC is not set | ||
416 | CONFIG_WIRELESS=y | ||
417 | # CONFIG_CFG80211 is not set | ||
418 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
419 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
420 | # CONFIG_WIRELESS_EXT is not set | ||
421 | # CONFIG_LIB80211 is not set | ||
422 | |||
423 | # | ||
424 | # CFG80211 needs to be enabled for MAC80211 | ||
425 | # | ||
426 | # CONFIG_WIMAX is not set | ||
427 | # CONFIG_RFKILL is not set | ||
428 | # CONFIG_NET_9P is not set | ||
429 | |||
430 | # | ||
431 | # Device Drivers | ||
432 | # | ||
433 | |||
434 | # | ||
435 | # Generic Driver Options | ||
436 | # | ||
437 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
438 | # CONFIG_DEVTMPFS is not set | ||
439 | CONFIG_STANDALONE=y | ||
440 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | ||
441 | # CONFIG_FW_LOADER is not set | ||
442 | # CONFIG_DEBUG_DRIVER is not set | ||
443 | # CONFIG_DEBUG_DEVRES is not set | ||
444 | # CONFIG_SYS_HYPERVISOR is not set | ||
445 | # CONFIG_CONNECTOR is not set | ||
446 | CONFIG_MTD=y | ||
447 | # CONFIG_MTD_DEBUG is not set | ||
448 | # CONFIG_MTD_TESTS is not set | ||
449 | # CONFIG_MTD_CONCAT is not set | ||
450 | CONFIG_MTD_PARTITIONS=y | ||
451 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
452 | CONFIG_MTD_CMDLINE_PARTS=y | ||
453 | # CONFIG_MTD_AR7_PARTS is not set | ||
454 | |||
455 | # | ||
456 | # User Modules And Translation Layers | ||
457 | # | ||
458 | CONFIG_MTD_CHAR=y | ||
459 | CONFIG_MTD_BLKDEVS=y | ||
460 | CONFIG_MTD_BLOCK=y | ||
461 | # CONFIG_FTL is not set | ||
462 | # CONFIG_NFTL is not set | ||
463 | # CONFIG_INFTL is not set | ||
464 | # CONFIG_RFD_FTL is not set | ||
465 | # CONFIG_SSFDC is not set | ||
466 | # CONFIG_MTD_OOPS is not set | ||
467 | |||
468 | # | ||
469 | # RAM/ROM/Flash chip drivers | ||
470 | # | ||
471 | CONFIG_MTD_CFI=y | ||
472 | # CONFIG_MTD_JEDECPROBE is not set | ||
473 | CONFIG_MTD_GEN_PROBE=y | ||
474 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
475 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
476 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
477 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
478 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
479 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
480 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
481 | CONFIG_MTD_CFI_I1=y | ||
482 | CONFIG_MTD_CFI_I2=y | ||
483 | # CONFIG_MTD_CFI_I4 is not set | ||
484 | # CONFIG_MTD_CFI_I8 is not set | ||
485 | CONFIG_MTD_CFI_INTELEXT=y | ||
486 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
487 | # CONFIG_MTD_CFI_STAA is not set | ||
488 | CONFIG_MTD_CFI_UTIL=y | ||
489 | # CONFIG_MTD_RAM is not set | ||
490 | # CONFIG_MTD_ROM is not set | ||
491 | # CONFIG_MTD_ABSENT is not set | ||
492 | |||
493 | # | ||
494 | # Mapping drivers for chip access | ||
495 | # | ||
496 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
497 | CONFIG_MTD_PHYSMAP=y | ||
498 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | ||
499 | # CONFIG_MTD_PLATRAM is not set | ||
500 | |||
501 | # | ||
502 | # Self-contained MTD device drivers | ||
503 | # | ||
504 | CONFIG_MTD_DATAFLASH=y | ||
505 | # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set | ||
506 | # CONFIG_MTD_DATAFLASH_OTP is not set | ||
507 | # CONFIG_MTD_M25P80 is not set | ||
508 | # CONFIG_MTD_SST25L is not set | ||
509 | # CONFIG_MTD_SLRAM is not set | ||
510 | # CONFIG_MTD_PHRAM is not set | ||
511 | # CONFIG_MTD_MTDRAM is not set | ||
512 | # CONFIG_MTD_BLOCK2MTD is not set | ||
513 | |||
514 | # | ||
515 | # Disk-On-Chip Device Drivers | ||
516 | # | ||
517 | # CONFIG_MTD_DOC2000 is not set | ||
518 | # CONFIG_MTD_DOC2001 is not set | ||
519 | # CONFIG_MTD_DOC2001PLUS is not set | ||
520 | CONFIG_MTD_NAND=y | ||
521 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
522 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
523 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
524 | CONFIG_MTD_NAND_IDS=y | ||
525 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
526 | CONFIG_MTD_NAND_ATMEL=y | ||
527 | CONFIG_MTD_NAND_ATMEL_ECC_HW=y | ||
528 | # CONFIG_MTD_NAND_ATMEL_ECC_SOFT is not set | ||
529 | # CONFIG_MTD_NAND_ATMEL_ECC_NONE is not set | ||
530 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
531 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
532 | # CONFIG_MTD_ONENAND is not set | ||
533 | |||
534 | # | ||
535 | # LPDDR flash memory drivers | ||
536 | # | ||
537 | # CONFIG_MTD_LPDDR is not set | ||
538 | |||
539 | # | ||
540 | # UBI - Unsorted block images | ||
541 | # | ||
542 | CONFIG_MTD_UBI=y | ||
543 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
544 | CONFIG_MTD_UBI_BEB_RESERVE=1 | ||
545 | # CONFIG_MTD_UBI_GLUEBI is not set | ||
546 | |||
547 | # | ||
548 | # UBI debugging options | ||
549 | # | ||
550 | # CONFIG_MTD_UBI_DEBUG is not set | ||
551 | # CONFIG_PARPORT is not set | ||
552 | CONFIG_BLK_DEV=y | ||
553 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
554 | CONFIG_BLK_DEV_LOOP=m | ||
555 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
556 | CONFIG_BLK_DEV_NBD=m | ||
557 | CONFIG_BLK_DEV_RAM=m | ||
558 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
559 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
560 | # CONFIG_BLK_DEV_XIP is not set | ||
561 | # CONFIG_CDROM_PKTCDVD is not set | ||
562 | # CONFIG_ATA_OVER_ETH is not set | ||
563 | CONFIG_MISC_DEVICES=y | ||
564 | # CONFIG_ATMEL_PWM is not set | ||
565 | CONFIG_ATMEL_TCLIB=y | ||
566 | CONFIG_ATMEL_TCB_CLKSRC=y | ||
567 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 | ||
568 | # CONFIG_ICS932S401 is not set | ||
569 | # CONFIG_ATMEL_SSC is not set | ||
570 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
571 | # CONFIG_ISL29003 is not set | ||
572 | # CONFIG_C2PORT is not set | ||
573 | |||
574 | # | ||
575 | # EEPROM support | ||
576 | # | ||
577 | # CONFIG_EEPROM_AT24 is not set | ||
578 | # CONFIG_EEPROM_AT25 is not set | ||
579 | # CONFIG_EEPROM_LEGACY is not set | ||
580 | # CONFIG_EEPROM_MAX6875 is not set | ||
581 | # CONFIG_EEPROM_93CX6 is not set | ||
582 | |||
583 | # | ||
584 | # SCSI device support | ||
585 | # | ||
586 | # CONFIG_RAID_ATTRS is not set | ||
587 | # CONFIG_SCSI is not set | ||
588 | # CONFIG_SCSI_DMA is not set | ||
589 | # CONFIG_SCSI_NETLINK is not set | ||
590 | # CONFIG_ATA is not set | ||
591 | # CONFIG_MD is not set | ||
592 | CONFIG_NETDEVICES=y | ||
593 | # CONFIG_DUMMY is not set | ||
594 | # CONFIG_BONDING is not set | ||
595 | # CONFIG_MACVLAN is not set | ||
596 | # CONFIG_EQUALIZER is not set | ||
597 | CONFIG_TUN=m | ||
598 | # CONFIG_VETH is not set | ||
599 | CONFIG_PHYLIB=y | ||
600 | |||
601 | # | ||
602 | # MII PHY device drivers | ||
603 | # | ||
604 | # CONFIG_MARVELL_PHY is not set | ||
605 | # CONFIG_DAVICOM_PHY is not set | ||
606 | # CONFIG_QSEMI_PHY is not set | ||
607 | # CONFIG_LXT_PHY is not set | ||
608 | # CONFIG_CICADA_PHY is not set | ||
609 | # CONFIG_VITESSE_PHY is not set | ||
610 | # CONFIG_SMSC_PHY is not set | ||
611 | # CONFIG_BROADCOM_PHY is not set | ||
612 | # CONFIG_ICPLUS_PHY is not set | ||
613 | # CONFIG_REALTEK_PHY is not set | ||
614 | # CONFIG_NATIONAL_PHY is not set | ||
615 | # CONFIG_STE10XP is not set | ||
616 | # CONFIG_LSI_ET1011C_PHY is not set | ||
617 | # CONFIG_FIXED_PHY is not set | ||
618 | # CONFIG_MDIO_BITBANG is not set | ||
619 | CONFIG_NET_ETHERNET=y | ||
620 | # CONFIG_MII is not set | ||
621 | CONFIG_MACB=y | ||
622 | # CONFIG_ENC28J60 is not set | ||
623 | # CONFIG_ETHOC is not set | ||
624 | # CONFIG_DNET is not set | ||
625 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
626 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
627 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
628 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
629 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
630 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
631 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
632 | # CONFIG_B44 is not set | ||
633 | # CONFIG_KS8842 is not set | ||
634 | # CONFIG_KS8851 is not set | ||
635 | # CONFIG_KS8851_MLL is not set | ||
636 | # CONFIG_NETDEV_1000 is not set | ||
637 | # CONFIG_NETDEV_10000 is not set | ||
638 | CONFIG_WLAN=y | ||
639 | # CONFIG_WLAN_PRE80211 is not set | ||
640 | # CONFIG_WLAN_80211 is not set | ||
641 | |||
642 | # | ||
643 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
644 | # | ||
645 | # CONFIG_WAN is not set | ||
646 | CONFIG_PPP=m | ||
647 | # CONFIG_PPP_MULTILINK is not set | ||
648 | CONFIG_PPP_FILTER=y | ||
649 | CONFIG_PPP_ASYNC=m | ||
650 | # CONFIG_PPP_SYNC_TTY is not set | ||
651 | CONFIG_PPP_DEFLATE=m | ||
652 | CONFIG_PPP_BSDCOMP=m | ||
653 | CONFIG_PPP_MPPE=m | ||
654 | CONFIG_PPPOE=m | ||
655 | # CONFIG_PPPOL2TP is not set | ||
656 | # CONFIG_SLIP is not set | ||
657 | CONFIG_SLHC=m | ||
658 | # CONFIG_NETCONSOLE is not set | ||
659 | # CONFIG_NETPOLL is not set | ||
660 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
661 | # CONFIG_ISDN is not set | ||
662 | # CONFIG_PHONE is not set | ||
663 | |||
664 | # | ||
665 | # Input device support | ||
666 | # | ||
667 | # CONFIG_INPUT is not set | ||
668 | |||
669 | # | ||
670 | # Hardware I/O ports | ||
671 | # | ||
672 | # CONFIG_SERIO is not set | ||
673 | # CONFIG_GAMEPORT is not set | ||
674 | |||
675 | # | ||
676 | # Character devices | ||
677 | # | ||
678 | # CONFIG_VT is not set | ||
679 | # CONFIG_DEVKMEM is not set | ||
680 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
681 | |||
682 | # | ||
683 | # Serial drivers | ||
684 | # | ||
685 | # CONFIG_SERIAL_8250 is not set | ||
686 | |||
687 | # | ||
688 | # Non-8250 serial port support | ||
689 | # | ||
690 | CONFIG_SERIAL_ATMEL=y | ||
691 | CONFIG_SERIAL_ATMEL_CONSOLE=y | ||
692 | CONFIG_SERIAL_ATMEL_PDC=y | ||
693 | # CONFIG_SERIAL_ATMEL_TTYAT is not set | ||
694 | # CONFIG_SERIAL_MAX3100 is not set | ||
695 | CONFIG_SERIAL_CORE=y | ||
696 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
697 | CONFIG_UNIX98_PTYS=y | ||
698 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
699 | # CONFIG_LEGACY_PTYS is not set | ||
700 | # CONFIG_IPMI_HANDLER is not set | ||
701 | # CONFIG_HW_RANDOM is not set | ||
702 | # CONFIG_R3964 is not set | ||
703 | # CONFIG_RAW_DRIVER is not set | ||
704 | # CONFIG_TCG_TPM is not set | ||
705 | CONFIG_I2C=m | ||
706 | CONFIG_I2C_BOARDINFO=y | ||
707 | CONFIG_I2C_COMPAT=y | ||
708 | CONFIG_I2C_CHARDEV=m | ||
709 | CONFIG_I2C_HELPER_AUTO=y | ||
710 | CONFIG_I2C_ALGOBIT=m | ||
711 | |||
712 | # | ||
713 | # I2C Hardware Bus support | ||
714 | # | ||
715 | |||
716 | # | ||
717 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
718 | # | ||
719 | # CONFIG_I2C_DESIGNWARE is not set | ||
720 | CONFIG_I2C_GPIO=m | ||
721 | # CONFIG_I2C_OCORES is not set | ||
722 | # CONFIG_I2C_SIMTEC is not set | ||
723 | |||
724 | # | ||
725 | # External I2C/SMBus adapter drivers | ||
726 | # | ||
727 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
728 | # CONFIG_I2C_TAOS_EVM is not set | ||
729 | |||
730 | # | ||
731 | # Other I2C/SMBus bus drivers | ||
732 | # | ||
733 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
734 | # CONFIG_I2C_STUB is not set | ||
735 | |||
736 | # | ||
737 | # Miscellaneous I2C Chip support | ||
738 | # | ||
739 | # CONFIG_DS1682 is not set | ||
740 | # CONFIG_SENSORS_TSL2550 is not set | ||
741 | # CONFIG_I2C_DEBUG_CORE is not set | ||
742 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
743 | # CONFIG_I2C_DEBUG_BUS is not set | ||
744 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
745 | CONFIG_SPI=y | ||
746 | # CONFIG_SPI_DEBUG is not set | ||
747 | CONFIG_SPI_MASTER=y | ||
748 | |||
749 | # | ||
750 | # SPI Master Controller Drivers | ||
751 | # | ||
752 | CONFIG_SPI_ATMEL=y | ||
753 | # CONFIG_SPI_BITBANG is not set | ||
754 | # CONFIG_SPI_GPIO is not set | ||
755 | |||
756 | # | ||
757 | # SPI Protocol Masters | ||
758 | # | ||
759 | CONFIG_SPI_SPIDEV=m | ||
760 | # CONFIG_SPI_TLE62X0 is not set | ||
761 | |||
762 | # | ||
763 | # PPS support | ||
764 | # | ||
765 | # CONFIG_PPS is not set | ||
766 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
767 | CONFIG_GPIOLIB=y | ||
768 | # CONFIG_DEBUG_GPIO is not set | ||
769 | CONFIG_GPIO_SYSFS=y | ||
770 | |||
771 | # | ||
772 | # Memory mapped GPIO expanders: | ||
773 | # | ||
774 | |||
775 | # | ||
776 | # I2C GPIO expanders: | ||
777 | # | ||
778 | # CONFIG_GPIO_MAX732X is not set | ||
779 | # CONFIG_GPIO_PCA953X is not set | ||
780 | # CONFIG_GPIO_PCF857X is not set | ||
781 | |||
782 | # | ||
783 | # PCI GPIO expanders: | ||
784 | # | ||
785 | |||
786 | # | ||
787 | # SPI GPIO expanders: | ||
788 | # | ||
789 | # CONFIG_GPIO_MAX7301 is not set | ||
790 | # CONFIG_GPIO_MCP23S08 is not set | ||
791 | # CONFIG_GPIO_MC33880 is not set | ||
792 | |||
793 | # | ||
794 | # AC97 GPIO expanders: | ||
795 | # | ||
796 | # CONFIG_W1 is not set | ||
797 | # CONFIG_POWER_SUPPLY is not set | ||
798 | # CONFIG_HWMON is not set | ||
799 | # CONFIG_THERMAL is not set | ||
800 | CONFIG_WATCHDOG=y | ||
801 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
802 | |||
803 | # | ||
804 | # Watchdog Device Drivers | ||
805 | # | ||
806 | # CONFIG_SOFT_WATCHDOG is not set | ||
807 | CONFIG_AT32AP700X_WDT=y | ||
808 | CONFIG_SSB_POSSIBLE=y | ||
809 | |||
810 | # | ||
811 | # Sonics Silicon Backplane | ||
812 | # | ||
813 | # CONFIG_SSB is not set | ||
814 | |||
815 | # | ||
816 | # Multifunction device drivers | ||
817 | # | ||
818 | # CONFIG_MFD_CORE is not set | ||
819 | # CONFIG_MFD_SM501 is not set | ||
820 | # CONFIG_HTC_PASIC3 is not set | ||
821 | # CONFIG_TPS65010 is not set | ||
822 | # CONFIG_MFD_TMIO is not set | ||
823 | # CONFIG_MFD_WM8400 is not set | ||
824 | # CONFIG_MFD_WM831X is not set | ||
825 | # CONFIG_MFD_WM8350_I2C is not set | ||
826 | # CONFIG_MFD_PCF50633 is not set | ||
827 | # CONFIG_MFD_MC13783 is not set | ||
828 | # CONFIG_AB3100_CORE is not set | ||
829 | # CONFIG_EZX_PCAP is not set | ||
830 | # CONFIG_REGULATOR is not set | ||
831 | # CONFIG_MEDIA_SUPPORT is not set | ||
832 | |||
833 | # | ||
834 | # Graphics support | ||
835 | # | ||
836 | # CONFIG_VGASTATE is not set | ||
837 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
838 | # CONFIG_FB is not set | ||
839 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
840 | |||
841 | # | ||
842 | # Display device support | ||
843 | # | ||
844 | # CONFIG_DISPLAY_SUPPORT is not set | ||
845 | # CONFIG_SOUND is not set | ||
846 | CONFIG_USB_SUPPORT=y | ||
847 | # CONFIG_USB_ARCH_HAS_HCD is not set | ||
848 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
849 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
850 | # CONFIG_USB_OTG_WHITELIST is not set | ||
851 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
852 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
853 | |||
854 | # | ||
855 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may | ||
856 | # | ||
857 | CONFIG_USB_GADGET=y | ||
858 | # CONFIG_USB_GADGET_DEBUG is not set | ||
859 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
860 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
861 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
862 | CONFIG_USB_GADGET_SELECTED=y | ||
863 | # CONFIG_USB_GADGET_AT91 is not set | ||
864 | CONFIG_USB_GADGET_ATMEL_USBA=y | ||
865 | CONFIG_USB_ATMEL_USBA=y | ||
866 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
867 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
868 | # CONFIG_USB_GADGET_OMAP is not set | ||
869 | # CONFIG_USB_GADGET_PXA25X is not set | ||
870 | # CONFIG_USB_GADGET_R8A66597 is not set | ||
871 | # CONFIG_USB_GADGET_PXA27X is not set | ||
872 | # CONFIG_USB_GADGET_S3C_HSOTG is not set | ||
873 | # CONFIG_USB_GADGET_IMX is not set | ||
874 | # CONFIG_USB_GADGET_S3C2410 is not set | ||
875 | # CONFIG_USB_GADGET_M66592 is not set | ||
876 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
877 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
878 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
879 | # CONFIG_USB_GADGET_NET2280 is not set | ||
880 | # CONFIG_USB_GADGET_GOKU is not set | ||
881 | # CONFIG_USB_GADGET_LANGWELL is not set | ||
882 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
883 | CONFIG_USB_GADGET_DUALSPEED=y | ||
884 | CONFIG_USB_ZERO=m | ||
885 | # CONFIG_USB_AUDIO is not set | ||
886 | CONFIG_USB_ETH=m | ||
887 | CONFIG_USB_ETH_RNDIS=y | ||
888 | # CONFIG_USB_ETH_EEM is not set | ||
889 | CONFIG_USB_GADGETFS=m | ||
890 | CONFIG_USB_FILE_STORAGE=m | ||
891 | # CONFIG_USB_FILE_STORAGE_TEST is not set | ||
892 | CONFIG_USB_G_SERIAL=m | ||
893 | # CONFIG_USB_MIDI_GADGET is not set | ||
894 | # CONFIG_USB_G_PRINTER is not set | ||
895 | CONFIG_USB_CDC_COMPOSITE=m | ||
896 | |||
897 | # | ||
898 | # OTG and related infrastructure | ||
899 | # | ||
900 | # CONFIG_USB_GPIO_VBUS is not set | ||
901 | # CONFIG_NOP_USB_XCEIV is not set | ||
902 | CONFIG_MMC=y | ||
903 | # CONFIG_MMC_DEBUG is not set | ||
904 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
905 | |||
906 | # | ||
907 | # MMC/SD/SDIO Card Drivers | ||
908 | # | ||
909 | CONFIG_MMC_BLOCK=y | ||
910 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
911 | # CONFIG_SDIO_UART is not set | ||
912 | CONFIG_MMC_TEST=m | ||
913 | |||
914 | # | ||
915 | # MMC/SD/SDIO Host Controller Drivers | ||
916 | # | ||
917 | # CONFIG_MMC_SDHCI is not set | ||
918 | # CONFIG_MMC_AT91 is not set | ||
919 | CONFIG_MMC_ATMELMCI=y | ||
920 | # CONFIG_MMC_ATMELMCI_DMA is not set | ||
921 | CONFIG_MMC_SPI=m | ||
922 | # CONFIG_MEMSTICK is not set | ||
923 | CONFIG_NEW_LEDS=y | ||
924 | CONFIG_LEDS_CLASS=y | ||
925 | |||
926 | # | ||
927 | # LED drivers | ||
928 | # | ||
929 | CONFIG_LEDS_GPIO=y | ||
930 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
931 | # CONFIG_LEDS_LP3944 is not set | ||
932 | # CONFIG_LEDS_PCA955X is not set | ||
933 | # CONFIG_LEDS_DAC124S085 is not set | ||
934 | # CONFIG_LEDS_BD2802 is not set | ||
935 | |||
936 | # | ||
937 | # LED Triggers | ||
938 | # | ||
939 | CONFIG_LEDS_TRIGGERS=y | ||
940 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
941 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
942 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
943 | # CONFIG_LEDS_TRIGGER_GPIO is not set | ||
944 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | ||
945 | |||
946 | # | ||
947 | # iptables trigger is under Netfilter config (LED target) | ||
948 | # | ||
949 | # CONFIG_ACCESSIBILITY is not set | ||
950 | CONFIG_RTC_LIB=y | ||
951 | CONFIG_RTC_CLASS=y | ||
952 | CONFIG_RTC_HCTOSYS=y | ||
953 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
954 | # CONFIG_RTC_DEBUG is not set | ||
955 | |||
956 | # | ||
957 | # RTC interfaces | ||
958 | # | ||
959 | CONFIG_RTC_INTF_SYSFS=y | ||
960 | CONFIG_RTC_INTF_PROC=y | ||
961 | CONFIG_RTC_INTF_DEV=y | ||
962 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
963 | # CONFIG_RTC_DRV_TEST is not set | ||
964 | |||
965 | # | ||
966 | # I2C RTC drivers | ||
967 | # | ||
968 | # CONFIG_RTC_DRV_DS1307 is not set | ||
969 | # CONFIG_RTC_DRV_DS1374 is not set | ||
970 | # CONFIG_RTC_DRV_DS1672 is not set | ||
971 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
972 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
973 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
974 | # CONFIG_RTC_DRV_X1205 is not set | ||
975 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
976 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
977 | # CONFIG_RTC_DRV_M41T80 is not set | ||
978 | # CONFIG_RTC_DRV_S35390A is not set | ||
979 | # CONFIG_RTC_DRV_FM3130 is not set | ||
980 | # CONFIG_RTC_DRV_RX8581 is not set | ||
981 | # CONFIG_RTC_DRV_RX8025 is not set | ||
982 | |||
983 | # | ||
984 | # SPI RTC drivers | ||
985 | # | ||
986 | # CONFIG_RTC_DRV_M41T94 is not set | ||
987 | # CONFIG_RTC_DRV_DS1305 is not set | ||
988 | # CONFIG_RTC_DRV_DS1390 is not set | ||
989 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
990 | # CONFIG_RTC_DRV_R9701 is not set | ||
991 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
992 | # CONFIG_RTC_DRV_DS3234 is not set | ||
993 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
994 | |||
995 | # | ||
996 | # Platform RTC drivers | ||
997 | # | ||
998 | # CONFIG_RTC_DRV_DS1286 is not set | ||
999 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1000 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1001 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1002 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1003 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1004 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1005 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1006 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1007 | # CONFIG_RTC_DRV_V3020 is not set | ||
1008 | |||
1009 | # | ||
1010 | # on-CPU RTC drivers | ||
1011 | # | ||
1012 | CONFIG_RTC_DRV_AT32AP700X=y | ||
1013 | CONFIG_DMADEVICES=y | ||
1014 | |||
1015 | # | ||
1016 | # DMA Devices | ||
1017 | # | ||
1018 | CONFIG_DW_DMAC=y | ||
1019 | CONFIG_DMA_ENGINE=y | ||
1020 | |||
1021 | # | ||
1022 | # DMA Clients | ||
1023 | # | ||
1024 | # CONFIG_NET_DMA is not set | ||
1025 | # CONFIG_ASYNC_TX_DMA is not set | ||
1026 | # CONFIG_DMATEST is not set | ||
1027 | # CONFIG_AUXDISPLAY is not set | ||
1028 | # CONFIG_UIO is not set | ||
1029 | |||
1030 | # | ||
1031 | # TI VLYNQ | ||
1032 | # | ||
1033 | # CONFIG_STAGING is not set | ||
1034 | |||
1035 | # | ||
1036 | # File systems | ||
1037 | # | ||
1038 | CONFIG_EXT2_FS=y | ||
1039 | # CONFIG_EXT2_FS_XATTR is not set | ||
1040 | # CONFIG_EXT2_FS_XIP is not set | ||
1041 | CONFIG_EXT3_FS=y | ||
1042 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1043 | # CONFIG_EXT3_FS_XATTR is not set | ||
1044 | # CONFIG_EXT4_FS is not set | ||
1045 | CONFIG_JBD=y | ||
1046 | # CONFIG_JBD_DEBUG is not set | ||
1047 | # CONFIG_REISERFS_FS is not set | ||
1048 | # CONFIG_JFS_FS is not set | ||
1049 | # CONFIG_FS_POSIX_ACL is not set | ||
1050 | # CONFIG_XFS_FS is not set | ||
1051 | # CONFIG_GFS2_FS is not set | ||
1052 | # CONFIG_OCFS2_FS is not set | ||
1053 | # CONFIG_BTRFS_FS is not set | ||
1054 | # CONFIG_NILFS2_FS is not set | ||
1055 | CONFIG_FILE_LOCKING=y | ||
1056 | CONFIG_FSNOTIFY=y | ||
1057 | # CONFIG_DNOTIFY is not set | ||
1058 | CONFIG_INOTIFY=y | ||
1059 | CONFIG_INOTIFY_USER=y | ||
1060 | # CONFIG_QUOTA is not set | ||
1061 | # CONFIG_AUTOFS_FS is not set | ||
1062 | # CONFIG_AUTOFS4_FS is not set | ||
1063 | CONFIG_FUSE_FS=m | ||
1064 | # CONFIG_CUSE is not set | ||
1065 | |||
1066 | # | ||
1067 | # Caches | ||
1068 | # | ||
1069 | # CONFIG_FSCACHE is not set | ||
1070 | |||
1071 | # | ||
1072 | # CD-ROM/DVD Filesystems | ||
1073 | # | ||
1074 | # CONFIG_ISO9660_FS is not set | ||
1075 | # CONFIG_UDF_FS is not set | ||
1076 | |||
1077 | # | ||
1078 | # DOS/FAT/NT Filesystems | ||
1079 | # | ||
1080 | CONFIG_FAT_FS=m | ||
1081 | CONFIG_MSDOS_FS=m | ||
1082 | CONFIG_VFAT_FS=m | ||
1083 | CONFIG_FAT_DEFAULT_CODEPAGE=850 | ||
1084 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1085 | # CONFIG_NTFS_FS is not set | ||
1086 | |||
1087 | # | ||
1088 | # Pseudo filesystems | ||
1089 | # | ||
1090 | CONFIG_PROC_FS=y | ||
1091 | # CONFIG_PROC_KCORE is not set | ||
1092 | CONFIG_PROC_SYSCTL=y | ||
1093 | CONFIG_PROC_PAGE_MONITOR=y | ||
1094 | CONFIG_SYSFS=y | ||
1095 | CONFIG_TMPFS=y | ||
1096 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
1097 | # CONFIG_HUGETLB_PAGE is not set | ||
1098 | CONFIG_CONFIGFS_FS=m | ||
1099 | CONFIG_MISC_FILESYSTEMS=y | ||
1100 | # CONFIG_ADFS_FS is not set | ||
1101 | # CONFIG_AFFS_FS is not set | ||
1102 | # CONFIG_HFS_FS is not set | ||
1103 | # CONFIG_HFSPLUS_FS is not set | ||
1104 | # CONFIG_BEFS_FS is not set | ||
1105 | # CONFIG_BFS_FS is not set | ||
1106 | # CONFIG_EFS_FS is not set | ||
1107 | CONFIG_JFFS2_FS=y | ||
1108 | CONFIG_JFFS2_FS_DEBUG=0 | ||
1109 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
1110 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1111 | # CONFIG_JFFS2_SUMMARY is not set | ||
1112 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1113 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
1114 | CONFIG_JFFS2_ZLIB=y | ||
1115 | # CONFIG_JFFS2_LZO is not set | ||
1116 | CONFIG_JFFS2_RTIME=y | ||
1117 | # CONFIG_JFFS2_RUBIN is not set | ||
1118 | # CONFIG_UBIFS_FS is not set | ||
1119 | # CONFIG_CRAMFS is not set | ||
1120 | # CONFIG_SQUASHFS is not set | ||
1121 | # CONFIG_VXFS_FS is not set | ||
1122 | # CONFIG_MINIX_FS is not set | ||
1123 | # CONFIG_OMFS_FS is not set | ||
1124 | # CONFIG_HPFS_FS is not set | ||
1125 | # CONFIG_QNX4FS_FS is not set | ||
1126 | # CONFIG_ROMFS_FS is not set | ||
1127 | # CONFIG_SYSV_FS is not set | ||
1128 | CONFIG_UFS_FS=y | ||
1129 | # CONFIG_UFS_FS_WRITE is not set | ||
1130 | # CONFIG_UFS_DEBUG is not set | ||
1131 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1132 | CONFIG_NFS_FS=y | ||
1133 | CONFIG_NFS_V3=y | ||
1134 | # CONFIG_NFS_V3_ACL is not set | ||
1135 | # CONFIG_NFS_V4 is not set | ||
1136 | CONFIG_ROOT_NFS=y | ||
1137 | CONFIG_NFSD=m | ||
1138 | CONFIG_NFSD_V3=y | ||
1139 | # CONFIG_NFSD_V3_ACL is not set | ||
1140 | # CONFIG_NFSD_V4 is not set | ||
1141 | CONFIG_LOCKD=y | ||
1142 | CONFIG_LOCKD_V4=y | ||
1143 | CONFIG_EXPORTFS=m | ||
1144 | CONFIG_NFS_COMMON=y | ||
1145 | CONFIG_SUNRPC=y | ||
1146 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
1147 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1148 | CONFIG_SMB_FS=m | ||
1149 | # CONFIG_SMB_NLS_DEFAULT is not set | ||
1150 | CONFIG_CIFS=m | ||
1151 | # CONFIG_CIFS_STATS is not set | ||
1152 | # CONFIG_CIFS_WEAK_PW_HASH is not set | ||
1153 | # CONFIG_CIFS_XATTR is not set | ||
1154 | # CONFIG_CIFS_DEBUG2 is not set | ||
1155 | # CONFIG_CIFS_EXPERIMENTAL is not set | ||
1156 | # CONFIG_NCP_FS is not set | ||
1157 | # CONFIG_CODA_FS is not set | ||
1158 | # CONFIG_AFS_FS is not set | ||
1159 | |||
1160 | # | ||
1161 | # Partition Types | ||
1162 | # | ||
1163 | # CONFIG_PARTITION_ADVANCED is not set | ||
1164 | CONFIG_MSDOS_PARTITION=y | ||
1165 | CONFIG_NLS=m | ||
1166 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1167 | CONFIG_NLS_CODEPAGE_437=m | ||
1168 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1169 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1170 | CONFIG_NLS_CODEPAGE_850=m | ||
1171 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1172 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1173 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1174 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1175 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1176 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1177 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1178 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1179 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1180 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1181 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1182 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1183 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1184 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1185 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1186 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1187 | # CONFIG_NLS_ISO8859_8 is not set | ||
1188 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1189 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1190 | # CONFIG_NLS_ASCII is not set | ||
1191 | CONFIG_NLS_ISO8859_1=m | ||
1192 | # CONFIG_NLS_ISO8859_2 is not set | ||
1193 | # CONFIG_NLS_ISO8859_3 is not set | ||
1194 | # CONFIG_NLS_ISO8859_4 is not set | ||
1195 | # CONFIG_NLS_ISO8859_5 is not set | ||
1196 | # CONFIG_NLS_ISO8859_6 is not set | ||
1197 | # CONFIG_NLS_ISO8859_7 is not set | ||
1198 | # CONFIG_NLS_ISO8859_9 is not set | ||
1199 | # CONFIG_NLS_ISO8859_13 is not set | ||
1200 | # CONFIG_NLS_ISO8859_14 is not set | ||
1201 | # CONFIG_NLS_ISO8859_15 is not set | ||
1202 | # CONFIG_NLS_KOI8_R is not set | ||
1203 | # CONFIG_NLS_KOI8_U is not set | ||
1204 | CONFIG_NLS_UTF8=m | ||
1205 | # CONFIG_DLM is not set | ||
1206 | |||
1207 | # | ||
1208 | # Kernel hacking | ||
1209 | # | ||
1210 | # CONFIG_PRINTK_TIME is not set | ||
1211 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1212 | CONFIG_ENABLE_MUST_CHECK=y | ||
1213 | CONFIG_FRAME_WARN=1024 | ||
1214 | CONFIG_MAGIC_SYSRQ=y | ||
1215 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1216 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1217 | CONFIG_DEBUG_FS=y | ||
1218 | # CONFIG_HEADERS_CHECK is not set | ||
1219 | CONFIG_DEBUG_KERNEL=y | ||
1220 | # CONFIG_DEBUG_SHIRQ is not set | ||
1221 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1222 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1223 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1224 | CONFIG_DETECT_HUNG_TASK=y | ||
1225 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1226 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1227 | CONFIG_SCHED_DEBUG=y | ||
1228 | # CONFIG_SCHEDSTATS is not set | ||
1229 | # CONFIG_TIMER_STATS is not set | ||
1230 | # CONFIG_DEBUG_OBJECTS is not set | ||
1231 | # CONFIG_SLUB_DEBUG_ON is not set | ||
1232 | # CONFIG_SLUB_STATS is not set | ||
1233 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1234 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1235 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1236 | # CONFIG_DEBUG_MUTEXES is not set | ||
1237 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1238 | # CONFIG_PROVE_LOCKING is not set | ||
1239 | # CONFIG_LOCK_STAT is not set | ||
1240 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1241 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1242 | CONFIG_STACKTRACE=y | ||
1243 | # CONFIG_DEBUG_KOBJECT is not set | ||
1244 | CONFIG_DEBUG_BUGVERBOSE=y | ||
1245 | # CONFIG_DEBUG_INFO is not set | ||
1246 | # CONFIG_DEBUG_VM is not set | ||
1247 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1248 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1249 | # CONFIG_DEBUG_LIST is not set | ||
1250 | # CONFIG_DEBUG_SG is not set | ||
1251 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1252 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1253 | CONFIG_FRAME_POINTER=y | ||
1254 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1255 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1256 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1257 | # CONFIG_KPROBES_SANITY_TEST is not set | ||
1258 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1259 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1260 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1261 | # CONFIG_LKDTM is not set | ||
1262 | # CONFIG_FAULT_INJECTION is not set | ||
1263 | # CONFIG_PAGE_POISONING is not set | ||
1264 | CONFIG_NOP_TRACER=y | ||
1265 | CONFIG_RING_BUFFER=y | ||
1266 | CONFIG_EVENT_TRACING=y | ||
1267 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
1268 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | ||
1269 | CONFIG_TRACING=y | ||
1270 | CONFIG_TRACING_SUPPORT=y | ||
1271 | CONFIG_FTRACE=y | ||
1272 | # CONFIG_IRQSOFF_TRACER is not set | ||
1273 | # CONFIG_SCHED_TRACER is not set | ||
1274 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1275 | # CONFIG_BOOT_TRACER is not set | ||
1276 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1277 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1278 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1279 | # CONFIG_KMEMTRACE is not set | ||
1280 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1281 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1282 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
1283 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1284 | # CONFIG_SAMPLES is not set | ||
1285 | |||
1286 | # | ||
1287 | # Security options | ||
1288 | # | ||
1289 | # CONFIG_KEYS is not set | ||
1290 | # CONFIG_SECURITY is not set | ||
1291 | # CONFIG_SECURITYFS is not set | ||
1292 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1293 | CONFIG_CRYPTO=y | ||
1294 | |||
1295 | # | ||
1296 | # Crypto core or helper | ||
1297 | # | ||
1298 | # CONFIG_CRYPTO_FIPS is not set | ||
1299 | CONFIG_CRYPTO_ALGAPI=y | ||
1300 | CONFIG_CRYPTO_ALGAPI2=y | ||
1301 | CONFIG_CRYPTO_AEAD=y | ||
1302 | CONFIG_CRYPTO_AEAD2=y | ||
1303 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1304 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
1305 | CONFIG_CRYPTO_HASH=y | ||
1306 | CONFIG_CRYPTO_HASH2=y | ||
1307 | CONFIG_CRYPTO_RNG=m | ||
1308 | CONFIG_CRYPTO_RNG2=y | ||
1309 | CONFIG_CRYPTO_PCOMP=y | ||
1310 | CONFIG_CRYPTO_MANAGER=y | ||
1311 | CONFIG_CRYPTO_MANAGER2=y | ||
1312 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1313 | # CONFIG_CRYPTO_NULL is not set | ||
1314 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1315 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1316 | CONFIG_CRYPTO_AUTHENC=y | ||
1317 | # CONFIG_CRYPTO_TEST is not set | ||
1318 | |||
1319 | # | ||
1320 | # Authenticated Encryption with Associated Data | ||
1321 | # | ||
1322 | # CONFIG_CRYPTO_CCM is not set | ||
1323 | # CONFIG_CRYPTO_GCM is not set | ||
1324 | # CONFIG_CRYPTO_SEQIV is not set | ||
1325 | |||
1326 | # | ||
1327 | # Block modes | ||
1328 | # | ||
1329 | CONFIG_CRYPTO_CBC=y | ||
1330 | # CONFIG_CRYPTO_CTR is not set | ||
1331 | # CONFIG_CRYPTO_CTS is not set | ||
1332 | CONFIG_CRYPTO_ECB=m | ||
1333 | # CONFIG_CRYPTO_LRW is not set | ||
1334 | CONFIG_CRYPTO_PCBC=m | ||
1335 | # CONFIG_CRYPTO_XTS is not set | ||
1336 | |||
1337 | # | ||
1338 | # Hash modes | ||
1339 | # | ||
1340 | CONFIG_CRYPTO_HMAC=y | ||
1341 | # CONFIG_CRYPTO_XCBC is not set | ||
1342 | # CONFIG_CRYPTO_VMAC is not set | ||
1343 | |||
1344 | # | ||
1345 | # Digest | ||
1346 | # | ||
1347 | # CONFIG_CRYPTO_CRC32C is not set | ||
1348 | # CONFIG_CRYPTO_GHASH is not set | ||
1349 | # CONFIG_CRYPTO_MD4 is not set | ||
1350 | CONFIG_CRYPTO_MD5=y | ||
1351 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1352 | # CONFIG_CRYPTO_RMD128 is not set | ||
1353 | # CONFIG_CRYPTO_RMD160 is not set | ||
1354 | # CONFIG_CRYPTO_RMD256 is not set | ||
1355 | # CONFIG_CRYPTO_RMD320 is not set | ||
1356 | CONFIG_CRYPTO_SHA1=y | ||
1357 | # CONFIG_CRYPTO_SHA256 is not set | ||
1358 | # CONFIG_CRYPTO_SHA512 is not set | ||
1359 | # CONFIG_CRYPTO_TGR192 is not set | ||
1360 | # CONFIG_CRYPTO_WP512 is not set | ||
1361 | |||
1362 | # | ||
1363 | # Ciphers | ||
1364 | # | ||
1365 | CONFIG_CRYPTO_AES=m | ||
1366 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1367 | CONFIG_CRYPTO_ARC4=m | ||
1368 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1369 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1370 | # CONFIG_CRYPTO_CAST5 is not set | ||
1371 | # CONFIG_CRYPTO_CAST6 is not set | ||
1372 | CONFIG_CRYPTO_DES=y | ||
1373 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1374 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1375 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1376 | # CONFIG_CRYPTO_SEED is not set | ||
1377 | # CONFIG_CRYPTO_SERPENT is not set | ||
1378 | # CONFIG_CRYPTO_TEA is not set | ||
1379 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1380 | |||
1381 | # | ||
1382 | # Compression | ||
1383 | # | ||
1384 | CONFIG_CRYPTO_DEFLATE=y | ||
1385 | # CONFIG_CRYPTO_ZLIB is not set | ||
1386 | # CONFIG_CRYPTO_LZO is not set | ||
1387 | |||
1388 | # | ||
1389 | # Random Number Generation | ||
1390 | # | ||
1391 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
1392 | CONFIG_CRYPTO_HW=y | ||
1393 | CONFIG_BINARY_PRINTF=y | ||
1394 | |||
1395 | # | ||
1396 | # Library routines | ||
1397 | # | ||
1398 | CONFIG_BITREVERSE=y | ||
1399 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1400 | CONFIG_CRC_CCITT=m | ||
1401 | # CONFIG_CRC16 is not set | ||
1402 | # CONFIG_CRC_T10DIF is not set | ||
1403 | CONFIG_CRC_ITU_T=m | ||
1404 | CONFIG_CRC32=y | ||
1405 | CONFIG_CRC7=m | ||
1406 | # CONFIG_LIBCRC32C is not set | ||
1407 | CONFIG_ZLIB_INFLATE=y | ||
1408 | CONFIG_ZLIB_DEFLATE=y | ||
1409 | CONFIG_DECOMPRESS_GZIP=y | ||
1410 | CONFIG_GENERIC_ALLOCATOR=y | ||
1411 | CONFIG_HAS_IOMEM=y | ||
1412 | CONFIG_HAS_IOPORT=y | ||
1413 | CONFIG_HAS_DMA=y | ||
1414 | CONFIG_NLATTR=y | ||
diff --git a/arch/avr32/configs/atngw100mkii_evklcd100_defconfig b/arch/avr32/configs/atngw100mkii_evklcd100_defconfig new file mode 100644 index 000000000000..01e913d66be4 --- /dev/null +++ b/arch/avr32/configs/atngw100mkii_evklcd100_defconfig | |||
@@ -0,0 +1,1549 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.32-rc5 | ||
4 | # Thu Nov 5 15:33:09 2009 | ||
5 | # | ||
6 | CONFIG_AVR32=y | ||
7 | CONFIG_GENERIC_GPIO=y | ||
8 | CONFIG_GENERIC_HARDIRQS=y | ||
9 | CONFIG_STACKTRACE_SUPPORT=y | ||
10 | CONFIG_LOCKDEP_SUPPORT=y | ||
11 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
12 | CONFIG_HARDIRQS_SW_RESEND=y | ||
13 | CONFIG_GENERIC_IRQ_PROBE=y | ||
14 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
15 | CONFIG_GENERIC_TIME=y | ||
16 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
17 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | ||
18 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
19 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
20 | CONFIG_GENERIC_HWEIGHT=y | ||
21 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
22 | CONFIG_GENERIC_BUG=y | ||
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
24 | CONFIG_CONSTRUCTORS=y | ||
25 | |||
26 | # | ||
27 | # General setup | ||
28 | # | ||
29 | CONFIG_EXPERIMENTAL=y | ||
30 | CONFIG_BROKEN_ON_SMP=y | ||
31 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
32 | CONFIG_LOCALVERSION="" | ||
33 | # CONFIG_LOCALVERSION_AUTO is not set | ||
34 | CONFIG_SWAP=y | ||
35 | CONFIG_SYSVIPC=y | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | ||
37 | CONFIG_POSIX_MQUEUE=y | ||
38 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
39 | CONFIG_BSD_PROCESS_ACCT=y | ||
40 | CONFIG_BSD_PROCESS_ACCT_V3=y | ||
41 | # CONFIG_TASKSTATS is not set | ||
42 | # CONFIG_AUDIT is not set | ||
43 | |||
44 | # | ||
45 | # RCU Subsystem | ||
46 | # | ||
47 | CONFIG_TREE_RCU=y | ||
48 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
49 | # CONFIG_RCU_TRACE is not set | ||
50 | CONFIG_RCU_FANOUT=32 | ||
51 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
52 | # CONFIG_TREE_RCU_TRACE is not set | ||
53 | # CONFIG_IKCONFIG is not set | ||
54 | CONFIG_LOG_BUF_SHIFT=14 | ||
55 | # CONFIG_GROUP_SCHED is not set | ||
56 | # CONFIG_CGROUPS is not set | ||
57 | CONFIG_SYSFS_DEPRECATED=y | ||
58 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
59 | # CONFIG_RELAY is not set | ||
60 | # CONFIG_NAMESPACES is not set | ||
61 | CONFIG_BLK_DEV_INITRD=y | ||
62 | CONFIG_INITRAMFS_SOURCE="" | ||
63 | CONFIG_RD_GZIP=y | ||
64 | # CONFIG_RD_BZIP2 is not set | ||
65 | # CONFIG_RD_LZMA is not set | ||
66 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
67 | CONFIG_SYSCTL=y | ||
68 | CONFIG_ANON_INODES=y | ||
69 | CONFIG_EMBEDDED=y | ||
70 | # CONFIG_SYSCTL_SYSCALL is not set | ||
71 | CONFIG_KALLSYMS=y | ||
72 | # CONFIG_KALLSYMS_ALL is not set | ||
73 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
74 | CONFIG_HOTPLUG=y | ||
75 | CONFIG_PRINTK=y | ||
76 | CONFIG_BUG=y | ||
77 | CONFIG_ELF_CORE=y | ||
78 | # CONFIG_BASE_FULL is not set | ||
79 | CONFIG_FUTEX=y | ||
80 | CONFIG_EPOLL=y | ||
81 | CONFIG_SIGNALFD=y | ||
82 | CONFIG_TIMERFD=y | ||
83 | CONFIG_EVENTFD=y | ||
84 | CONFIG_SHMEM=y | ||
85 | CONFIG_AIO=y | ||
86 | |||
87 | # | ||
88 | # Kernel Performance Events And Counters | ||
89 | # | ||
90 | CONFIG_VM_EVENT_COUNTERS=y | ||
91 | CONFIG_SLUB_DEBUG=y | ||
92 | # CONFIG_COMPAT_BRK is not set | ||
93 | # CONFIG_SLAB is not set | ||
94 | CONFIG_SLUB=y | ||
95 | # CONFIG_SLOB is not set | ||
96 | CONFIG_PROFILING=y | ||
97 | CONFIG_TRACEPOINTS=y | ||
98 | CONFIG_OPROFILE=m | ||
99 | CONFIG_HAVE_OPROFILE=y | ||
100 | CONFIG_KPROBES=y | ||
101 | CONFIG_HAVE_KPROBES=y | ||
102 | CONFIG_HAVE_CLK=y | ||
103 | |||
104 | # | ||
105 | # GCOV-based kernel profiling | ||
106 | # | ||
107 | # CONFIG_GCOV_KERNEL is not set | ||
108 | CONFIG_SLOW_WORK=y | ||
109 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
110 | CONFIG_SLABINFO=y | ||
111 | CONFIG_RT_MUTEXES=y | ||
112 | CONFIG_BASE_SMALL=1 | ||
113 | CONFIG_MODULES=y | ||
114 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
115 | CONFIG_MODULE_UNLOAD=y | ||
116 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
117 | # CONFIG_MODVERSIONS is not set | ||
118 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
119 | CONFIG_BLOCK=y | ||
120 | CONFIG_LBDAF=y | ||
121 | # CONFIG_BLK_DEV_BSG is not set | ||
122 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
123 | |||
124 | # | ||
125 | # IO Schedulers | ||
126 | # | ||
127 | CONFIG_IOSCHED_NOOP=y | ||
128 | # CONFIG_IOSCHED_AS is not set | ||
129 | # CONFIG_IOSCHED_DEADLINE is not set | ||
130 | CONFIG_IOSCHED_CFQ=y | ||
131 | # CONFIG_DEFAULT_AS is not set | ||
132 | # CONFIG_DEFAULT_DEADLINE is not set | ||
133 | CONFIG_DEFAULT_CFQ=y | ||
134 | # CONFIG_DEFAULT_NOOP is not set | ||
135 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
136 | CONFIG_FREEZER=y | ||
137 | |||
138 | # | ||
139 | # System Type and features | ||
140 | # | ||
141 | CONFIG_TICK_ONESHOT=y | ||
142 | CONFIG_NO_HZ=y | ||
143 | CONFIG_HIGH_RES_TIMERS=y | ||
144 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
145 | CONFIG_SUBARCH_AVR32B=y | ||
146 | CONFIG_MMU=y | ||
147 | CONFIG_PERFORMANCE_COUNTERS=y | ||
148 | CONFIG_PLATFORM_AT32AP=y | ||
149 | CONFIG_CPU_AT32AP700X=y | ||
150 | CONFIG_CPU_AT32AP7000=y | ||
151 | CONFIG_BOARD_ATNGW100_COMMON=y | ||
152 | # CONFIG_BOARD_ATSTK1000 is not set | ||
153 | # CONFIG_BOARD_ATNGW100_MKI is not set | ||
154 | CONFIG_BOARD_ATNGW100_MKII=y | ||
155 | # CONFIG_BOARD_HAMMERHEAD is not set | ||
156 | # CONFIG_BOARD_FAVR_32 is not set | ||
157 | # CONFIG_BOARD_MERISC is not set | ||
158 | # CONFIG_BOARD_MIMC200 is not set | ||
159 | CONFIG_BOARD_ATNGW100_MKII_LCD=y | ||
160 | # CONFIG_BOARD_ATNGW100_ADDON_NONE is not set | ||
161 | CONFIG_BOARD_ATNGW100_EVKLCD10X=y | ||
162 | # CONFIG_BOARD_ATNGW100_MRMT is not set | ||
163 | CONFIG_BOARD_ATNGW100_EVKLCD10X_QVGA=y | ||
164 | # CONFIG_BOARD_ATNGW100_EVKLCD10X_VGA is not set | ||
165 | # CONFIG_BOARD_ATNGW100_EVKLCD10X_POW_QVGA is not set | ||
166 | CONFIG_LOADER_U_BOOT=y | ||
167 | |||
168 | # | ||
169 | # Atmel AVR32 AP options | ||
170 | # | ||
171 | # CONFIG_AP700X_32_BIT_SMC is not set | ||
172 | CONFIG_AP700X_16_BIT_SMC=y | ||
173 | # CONFIG_AP700X_8_BIT_SMC is not set | ||
174 | CONFIG_LOAD_ADDRESS=0x10000000 | ||
175 | CONFIG_ENTRY_ADDRESS=0x90000000 | ||
176 | CONFIG_PHYS_OFFSET=0x10000000 | ||
177 | CONFIG_PREEMPT_NONE=y | ||
178 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
179 | # CONFIG_PREEMPT is not set | ||
180 | CONFIG_QUICKLIST=y | ||
181 | # CONFIG_HAVE_ARCH_BOOTMEM is not set | ||
182 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set | ||
183 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set | ||
184 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
185 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
186 | # CONFIG_ARCH_SPARSEMEM_ENABLE is not set | ||
187 | CONFIG_SELECT_MEMORY_MODEL=y | ||
188 | CONFIG_FLATMEM_MANUAL=y | ||
189 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
190 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
191 | CONFIG_FLATMEM=y | ||
192 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
193 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
194 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
195 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
196 | CONFIG_ZONE_DMA_FLAG=0 | ||
197 | CONFIG_NR_QUICK=2 | ||
198 | CONFIG_VIRT_TO_BUS=y | ||
199 | CONFIG_HAVE_MLOCK=y | ||
200 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
201 | # CONFIG_KSM is not set | ||
202 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
203 | # CONFIG_OWNERSHIP_TRACE is not set | ||
204 | CONFIG_NMI_DEBUGGING=y | ||
205 | # CONFIG_HZ_100 is not set | ||
206 | CONFIG_HZ_250=y | ||
207 | # CONFIG_HZ_300 is not set | ||
208 | # CONFIG_HZ_1000 is not set | ||
209 | CONFIG_HZ=250 | ||
210 | CONFIG_SCHED_HRTICK=y | ||
211 | CONFIG_CMDLINE="" | ||
212 | |||
213 | # | ||
214 | # Power management options | ||
215 | # | ||
216 | CONFIG_PM=y | ||
217 | # CONFIG_PM_DEBUG is not set | ||
218 | CONFIG_PM_SLEEP=y | ||
219 | CONFIG_SUSPEND=y | ||
220 | CONFIG_SUSPEND_FREEZER=y | ||
221 | # CONFIG_PM_RUNTIME is not set | ||
222 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
223 | |||
224 | # | ||
225 | # CPU Frequency scaling | ||
226 | # | ||
227 | CONFIG_CPU_FREQ=y | ||
228 | CONFIG_CPU_FREQ_TABLE=y | ||
229 | # CONFIG_CPU_FREQ_DEBUG is not set | ||
230 | # CONFIG_CPU_FREQ_STAT is not set | ||
231 | # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set | ||
232 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
233 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
234 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y | ||
235 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
236 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
237 | # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set | ||
238 | CONFIG_CPU_FREQ_GOV_USERSPACE=y | ||
239 | CONFIG_CPU_FREQ_GOV_ONDEMAND=y | ||
240 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set | ||
241 | CONFIG_CPU_FREQ_AT32AP=y | ||
242 | |||
243 | # | ||
244 | # Bus options | ||
245 | # | ||
246 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
247 | # CONFIG_PCCARD is not set | ||
248 | |||
249 | # | ||
250 | # Executable file formats | ||
251 | # | ||
252 | CONFIG_BINFMT_ELF=y | ||
253 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
254 | # CONFIG_HAVE_AOUT is not set | ||
255 | # CONFIG_BINFMT_MISC is not set | ||
256 | CONFIG_NET=y | ||
257 | |||
258 | # | ||
259 | # Networking options | ||
260 | # | ||
261 | CONFIG_PACKET=y | ||
262 | CONFIG_PACKET_MMAP=y | ||
263 | CONFIG_UNIX=y | ||
264 | CONFIG_XFRM=y | ||
265 | CONFIG_XFRM_USER=y | ||
266 | # CONFIG_XFRM_SUB_POLICY is not set | ||
267 | # CONFIG_XFRM_MIGRATE is not set | ||
268 | # CONFIG_XFRM_STATISTICS is not set | ||
269 | CONFIG_XFRM_IPCOMP=y | ||
270 | CONFIG_NET_KEY=y | ||
271 | # CONFIG_NET_KEY_MIGRATE is not set | ||
272 | CONFIG_INET=y | ||
273 | CONFIG_IP_MULTICAST=y | ||
274 | CONFIG_IP_ADVANCED_ROUTER=y | ||
275 | CONFIG_ASK_IP_FIB_HASH=y | ||
276 | # CONFIG_IP_FIB_TRIE is not set | ||
277 | CONFIG_IP_FIB_HASH=y | ||
278 | # CONFIG_IP_MULTIPLE_TABLES is not set | ||
279 | # CONFIG_IP_ROUTE_MULTIPATH is not set | ||
280 | # CONFIG_IP_ROUTE_VERBOSE is not set | ||
281 | CONFIG_IP_PNP=y | ||
282 | CONFIG_IP_PNP_DHCP=y | ||
283 | # CONFIG_IP_PNP_BOOTP is not set | ||
284 | # CONFIG_IP_PNP_RARP is not set | ||
285 | # CONFIG_NET_IPIP is not set | ||
286 | # CONFIG_NET_IPGRE is not set | ||
287 | CONFIG_IP_MROUTE=y | ||
288 | CONFIG_IP_PIMSM_V1=y | ||
289 | # CONFIG_IP_PIMSM_V2 is not set | ||
290 | # CONFIG_ARPD is not set | ||
291 | CONFIG_SYN_COOKIES=y | ||
292 | CONFIG_INET_AH=y | ||
293 | CONFIG_INET_ESP=y | ||
294 | CONFIG_INET_IPCOMP=y | ||
295 | CONFIG_INET_XFRM_TUNNEL=y | ||
296 | CONFIG_INET_TUNNEL=y | ||
297 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
298 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
299 | CONFIG_INET_XFRM_MODE_BEET=y | ||
300 | # CONFIG_INET_LRO is not set | ||
301 | CONFIG_INET_DIAG=y | ||
302 | CONFIG_INET_TCP_DIAG=y | ||
303 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
304 | CONFIG_TCP_CONG_CUBIC=y | ||
305 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
306 | # CONFIG_TCP_MD5SIG is not set | ||
307 | CONFIG_IPV6=y | ||
308 | # CONFIG_IPV6_PRIVACY is not set | ||
309 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
310 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set | ||
311 | CONFIG_INET6_AH=y | ||
312 | CONFIG_INET6_ESP=y | ||
313 | CONFIG_INET6_IPCOMP=y | ||
314 | # CONFIG_IPV6_MIP6 is not set | ||
315 | CONFIG_INET6_XFRM_TUNNEL=y | ||
316 | CONFIG_INET6_TUNNEL=y | ||
317 | CONFIG_INET6_XFRM_MODE_TRANSPORT=y | ||
318 | CONFIG_INET6_XFRM_MODE_TUNNEL=y | ||
319 | CONFIG_INET6_XFRM_MODE_BEET=y | ||
320 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | ||
321 | CONFIG_IPV6_SIT=y | ||
322 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
323 | # CONFIG_IPV6_TUNNEL is not set | ||
324 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | ||
325 | # CONFIG_IPV6_MROUTE is not set | ||
326 | # CONFIG_NETWORK_SECMARK is not set | ||
327 | CONFIG_NETFILTER=y | ||
328 | # CONFIG_NETFILTER_DEBUG is not set | ||
329 | # CONFIG_NETFILTER_ADVANCED is not set | ||
330 | |||
331 | # | ||
332 | # Core Netfilter Configuration | ||
333 | # | ||
334 | CONFIG_NETFILTER_NETLINK=m | ||
335 | CONFIG_NETFILTER_NETLINK_LOG=m | ||
336 | CONFIG_NF_CONNTRACK=m | ||
337 | CONFIG_NF_CONNTRACK_FTP=m | ||
338 | CONFIG_NF_CONNTRACK_IRC=m | ||
339 | CONFIG_NF_CONNTRACK_SIP=m | ||
340 | CONFIG_NF_CT_NETLINK=m | ||
341 | CONFIG_NETFILTER_XTABLES=y | ||
342 | CONFIG_NETFILTER_XT_TARGET_MARK=m | ||
343 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | ||
344 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m | ||
345 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | ||
346 | CONFIG_NETFILTER_XT_MATCH_MARK=m | ||
347 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
348 | CONFIG_NETFILTER_XT_MATCH_STATE=m | ||
349 | # CONFIG_IP_VS is not set | ||
350 | |||
351 | # | ||
352 | # IP: Netfilter Configuration | ||
353 | # | ||
354 | CONFIG_NF_DEFRAG_IPV4=m | ||
355 | CONFIG_NF_CONNTRACK_IPV4=m | ||
356 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y | ||
357 | CONFIG_IP_NF_IPTABLES=m | ||
358 | CONFIG_IP_NF_FILTER=m | ||
359 | CONFIG_IP_NF_TARGET_REJECT=m | ||
360 | CONFIG_IP_NF_TARGET_LOG=m | ||
361 | # CONFIG_IP_NF_TARGET_ULOG is not set | ||
362 | CONFIG_NF_NAT=m | ||
363 | CONFIG_NF_NAT_NEEDED=y | ||
364 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
365 | CONFIG_NF_NAT_FTP=m | ||
366 | CONFIG_NF_NAT_IRC=m | ||
367 | # CONFIG_NF_NAT_TFTP is not set | ||
368 | # CONFIG_NF_NAT_AMANDA is not set | ||
369 | # CONFIG_NF_NAT_PPTP is not set | ||
370 | # CONFIG_NF_NAT_H323 is not set | ||
371 | CONFIG_NF_NAT_SIP=m | ||
372 | CONFIG_IP_NF_MANGLE=m | ||
373 | |||
374 | # | ||
375 | # IPv6: Netfilter Configuration | ||
376 | # | ||
377 | CONFIG_NF_CONNTRACK_IPV6=m | ||
378 | CONFIG_IP6_NF_IPTABLES=m | ||
379 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | ||
380 | CONFIG_IP6_NF_TARGET_LOG=m | ||
381 | CONFIG_IP6_NF_FILTER=m | ||
382 | CONFIG_IP6_NF_TARGET_REJECT=m | ||
383 | CONFIG_IP6_NF_MANGLE=m | ||
384 | # CONFIG_IP_DCCP is not set | ||
385 | # CONFIG_IP_SCTP is not set | ||
386 | # CONFIG_RDS is not set | ||
387 | # CONFIG_TIPC is not set | ||
388 | # CONFIG_ATM is not set | ||
389 | CONFIG_STP=m | ||
390 | CONFIG_BRIDGE=m | ||
391 | # CONFIG_NET_DSA is not set | ||
392 | CONFIG_VLAN_8021Q=m | ||
393 | # CONFIG_VLAN_8021Q_GVRP is not set | ||
394 | # CONFIG_DECNET is not set | ||
395 | CONFIG_LLC=m | ||
396 | # CONFIG_LLC2 is not set | ||
397 | # CONFIG_IPX is not set | ||
398 | # CONFIG_ATALK is not set | ||
399 | # CONFIG_X25 is not set | ||
400 | # CONFIG_LAPB is not set | ||
401 | # CONFIG_ECONET is not set | ||
402 | # CONFIG_WAN_ROUTER is not set | ||
403 | # CONFIG_PHONET is not set | ||
404 | # CONFIG_IEEE802154 is not set | ||
405 | # CONFIG_NET_SCHED is not set | ||
406 | # CONFIG_DCB is not set | ||
407 | |||
408 | # | ||
409 | # Network testing | ||
410 | # | ||
411 | # CONFIG_NET_PKTGEN is not set | ||
412 | # CONFIG_NET_TCPPROBE is not set | ||
413 | # CONFIG_NET_DROP_MONITOR is not set | ||
414 | # CONFIG_HAMRADIO is not set | ||
415 | # CONFIG_CAN is not set | ||
416 | # CONFIG_IRDA is not set | ||
417 | # CONFIG_BT is not set | ||
418 | # CONFIG_AF_RXRPC is not set | ||
419 | CONFIG_WIRELESS=y | ||
420 | # CONFIG_CFG80211 is not set | ||
421 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
422 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
423 | # CONFIG_WIRELESS_EXT is not set | ||
424 | # CONFIG_LIB80211 is not set | ||
425 | |||
426 | # | ||
427 | # CFG80211 needs to be enabled for MAC80211 | ||
428 | # | ||
429 | # CONFIG_WIMAX is not set | ||
430 | # CONFIG_RFKILL is not set | ||
431 | # CONFIG_NET_9P is not set | ||
432 | |||
433 | # | ||
434 | # Device Drivers | ||
435 | # | ||
436 | |||
437 | # | ||
438 | # Generic Driver Options | ||
439 | # | ||
440 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
441 | # CONFIG_DEVTMPFS is not set | ||
442 | CONFIG_STANDALONE=y | ||
443 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | ||
444 | # CONFIG_FW_LOADER is not set | ||
445 | # CONFIG_DEBUG_DRIVER is not set | ||
446 | # CONFIG_DEBUG_DEVRES is not set | ||
447 | # CONFIG_SYS_HYPERVISOR is not set | ||
448 | # CONFIG_CONNECTOR is not set | ||
449 | CONFIG_MTD=y | ||
450 | # CONFIG_MTD_DEBUG is not set | ||
451 | # CONFIG_MTD_TESTS is not set | ||
452 | # CONFIG_MTD_CONCAT is not set | ||
453 | CONFIG_MTD_PARTITIONS=y | ||
454 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
455 | CONFIG_MTD_CMDLINE_PARTS=y | ||
456 | # CONFIG_MTD_AR7_PARTS is not set | ||
457 | |||
458 | # | ||
459 | # User Modules And Translation Layers | ||
460 | # | ||
461 | CONFIG_MTD_CHAR=y | ||
462 | CONFIG_MTD_BLKDEVS=y | ||
463 | CONFIG_MTD_BLOCK=y | ||
464 | # CONFIG_FTL is not set | ||
465 | # CONFIG_NFTL is not set | ||
466 | # CONFIG_INFTL is not set | ||
467 | # CONFIG_RFD_FTL is not set | ||
468 | # CONFIG_SSFDC is not set | ||
469 | # CONFIG_MTD_OOPS is not set | ||
470 | |||
471 | # | ||
472 | # RAM/ROM/Flash chip drivers | ||
473 | # | ||
474 | CONFIG_MTD_CFI=y | ||
475 | # CONFIG_MTD_JEDECPROBE is not set | ||
476 | CONFIG_MTD_GEN_PROBE=y | ||
477 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
478 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
479 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
480 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
481 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
482 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
483 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
484 | CONFIG_MTD_CFI_I1=y | ||
485 | CONFIG_MTD_CFI_I2=y | ||
486 | # CONFIG_MTD_CFI_I4 is not set | ||
487 | # CONFIG_MTD_CFI_I8 is not set | ||
488 | CONFIG_MTD_CFI_INTELEXT=y | ||
489 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
490 | # CONFIG_MTD_CFI_STAA is not set | ||
491 | CONFIG_MTD_CFI_UTIL=y | ||
492 | # CONFIG_MTD_RAM is not set | ||
493 | # CONFIG_MTD_ROM is not set | ||
494 | # CONFIG_MTD_ABSENT is not set | ||
495 | |||
496 | # | ||
497 | # Mapping drivers for chip access | ||
498 | # | ||
499 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
500 | CONFIG_MTD_PHYSMAP=y | ||
501 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | ||
502 | # CONFIG_MTD_PLATRAM is not set | ||
503 | |||
504 | # | ||
505 | # Self-contained MTD device drivers | ||
506 | # | ||
507 | CONFIG_MTD_DATAFLASH=y | ||
508 | # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set | ||
509 | # CONFIG_MTD_DATAFLASH_OTP is not set | ||
510 | # CONFIG_MTD_M25P80 is not set | ||
511 | # CONFIG_MTD_SST25L is not set | ||
512 | # CONFIG_MTD_SLRAM is not set | ||
513 | # CONFIG_MTD_PHRAM is not set | ||
514 | # CONFIG_MTD_MTDRAM is not set | ||
515 | # CONFIG_MTD_BLOCK2MTD is not set | ||
516 | |||
517 | # | ||
518 | # Disk-On-Chip Device Drivers | ||
519 | # | ||
520 | # CONFIG_MTD_DOC2000 is not set | ||
521 | # CONFIG_MTD_DOC2001 is not set | ||
522 | # CONFIG_MTD_DOC2001PLUS is not set | ||
523 | CONFIG_MTD_NAND=y | ||
524 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
525 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
526 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
527 | CONFIG_MTD_NAND_IDS=y | ||
528 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
529 | CONFIG_MTD_NAND_ATMEL=y | ||
530 | CONFIG_MTD_NAND_ATMEL_ECC_HW=y | ||
531 | # CONFIG_MTD_NAND_ATMEL_ECC_SOFT is not set | ||
532 | # CONFIG_MTD_NAND_ATMEL_ECC_NONE is not set | ||
533 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
534 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
535 | # CONFIG_MTD_ONENAND is not set | ||
536 | |||
537 | # | ||
538 | # LPDDR flash memory drivers | ||
539 | # | ||
540 | # CONFIG_MTD_LPDDR is not set | ||
541 | |||
542 | # | ||
543 | # UBI - Unsorted block images | ||
544 | # | ||
545 | CONFIG_MTD_UBI=y | ||
546 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
547 | CONFIG_MTD_UBI_BEB_RESERVE=1 | ||
548 | # CONFIG_MTD_UBI_GLUEBI is not set | ||
549 | |||
550 | # | ||
551 | # UBI debugging options | ||
552 | # | ||
553 | # CONFIG_MTD_UBI_DEBUG is not set | ||
554 | # CONFIG_PARPORT is not set | ||
555 | CONFIG_BLK_DEV=y | ||
556 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
557 | CONFIG_BLK_DEV_LOOP=m | ||
558 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
559 | CONFIG_BLK_DEV_NBD=m | ||
560 | CONFIG_BLK_DEV_RAM=m | ||
561 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
562 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
563 | # CONFIG_BLK_DEV_XIP is not set | ||
564 | # CONFIG_CDROM_PKTCDVD is not set | ||
565 | # CONFIG_ATA_OVER_ETH is not set | ||
566 | CONFIG_MISC_DEVICES=y | ||
567 | # CONFIG_ATMEL_PWM is not set | ||
568 | CONFIG_ATMEL_TCLIB=y | ||
569 | CONFIG_ATMEL_TCB_CLKSRC=y | ||
570 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 | ||
571 | # CONFIG_ICS932S401 is not set | ||
572 | # CONFIG_ATMEL_SSC is not set | ||
573 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
574 | # CONFIG_ISL29003 is not set | ||
575 | # CONFIG_C2PORT is not set | ||
576 | |||
577 | # | ||
578 | # EEPROM support | ||
579 | # | ||
580 | # CONFIG_EEPROM_AT24 is not set | ||
581 | # CONFIG_EEPROM_AT25 is not set | ||
582 | # CONFIG_EEPROM_LEGACY is not set | ||
583 | # CONFIG_EEPROM_MAX6875 is not set | ||
584 | # CONFIG_EEPROM_93CX6 is not set | ||
585 | |||
586 | # | ||
587 | # SCSI device support | ||
588 | # | ||
589 | # CONFIG_RAID_ATTRS is not set | ||
590 | # CONFIG_SCSI is not set | ||
591 | # CONFIG_SCSI_DMA is not set | ||
592 | # CONFIG_SCSI_NETLINK is not set | ||
593 | # CONFIG_ATA is not set | ||
594 | # CONFIG_MD is not set | ||
595 | CONFIG_NETDEVICES=y | ||
596 | # CONFIG_DUMMY is not set | ||
597 | # CONFIG_BONDING is not set | ||
598 | # CONFIG_MACVLAN is not set | ||
599 | # CONFIG_EQUALIZER is not set | ||
600 | # CONFIG_TUN is not set | ||
601 | # CONFIG_VETH is not set | ||
602 | CONFIG_PHYLIB=y | ||
603 | |||
604 | # | ||
605 | # MII PHY device drivers | ||
606 | # | ||
607 | # CONFIG_MARVELL_PHY is not set | ||
608 | # CONFIG_DAVICOM_PHY is not set | ||
609 | # CONFIG_QSEMI_PHY is not set | ||
610 | # CONFIG_LXT_PHY is not set | ||
611 | # CONFIG_CICADA_PHY is not set | ||
612 | # CONFIG_VITESSE_PHY is not set | ||
613 | # CONFIG_SMSC_PHY is not set | ||
614 | # CONFIG_BROADCOM_PHY is not set | ||
615 | # CONFIG_ICPLUS_PHY is not set | ||
616 | # CONFIG_REALTEK_PHY is not set | ||
617 | # CONFIG_NATIONAL_PHY is not set | ||
618 | # CONFIG_STE10XP is not set | ||
619 | # CONFIG_LSI_ET1011C_PHY is not set | ||
620 | # CONFIG_FIXED_PHY is not set | ||
621 | # CONFIG_MDIO_BITBANG is not set | ||
622 | CONFIG_NET_ETHERNET=y | ||
623 | # CONFIG_MII is not set | ||
624 | CONFIG_MACB=y | ||
625 | # CONFIG_ENC28J60 is not set | ||
626 | # CONFIG_ETHOC is not set | ||
627 | # CONFIG_DNET 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_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
633 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
634 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
635 | # CONFIG_B44 is not set | ||
636 | # CONFIG_KS8842 is not set | ||
637 | # CONFIG_KS8851 is not set | ||
638 | # CONFIG_KS8851_MLL is not set | ||
639 | # CONFIG_NETDEV_1000 is not set | ||
640 | # CONFIG_NETDEV_10000 is not set | ||
641 | CONFIG_WLAN=y | ||
642 | # CONFIG_WLAN_PRE80211 is not set | ||
643 | # CONFIG_WLAN_80211 is not set | ||
644 | |||
645 | # | ||
646 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
647 | # | ||
648 | # CONFIG_WAN is not set | ||
649 | CONFIG_PPP=m | ||
650 | # CONFIG_PPP_MULTILINK is not set | ||
651 | CONFIG_PPP_FILTER=y | ||
652 | CONFIG_PPP_ASYNC=m | ||
653 | # CONFIG_PPP_SYNC_TTY is not set | ||
654 | CONFIG_PPP_DEFLATE=m | ||
655 | CONFIG_PPP_BSDCOMP=m | ||
656 | CONFIG_PPP_MPPE=m | ||
657 | CONFIG_PPPOE=m | ||
658 | # CONFIG_PPPOL2TP is not set | ||
659 | # CONFIG_SLIP is not set | ||
660 | CONFIG_SLHC=m | ||
661 | # CONFIG_NETCONSOLE is not set | ||
662 | # CONFIG_NETPOLL is not set | ||
663 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
664 | # CONFIG_ISDN is not set | ||
665 | # CONFIG_PHONE is not set | ||
666 | |||
667 | # | ||
668 | # Input device support | ||
669 | # | ||
670 | CONFIG_INPUT=y | ||
671 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
672 | # CONFIG_INPUT_POLLDEV is not set | ||
673 | |||
674 | # | ||
675 | # Userland interfaces | ||
676 | # | ||
677 | # CONFIG_INPUT_MOUSEDEV is not set | ||
678 | # CONFIG_INPUT_JOYDEV is not set | ||
679 | CONFIG_INPUT_EVDEV=m | ||
680 | # CONFIG_INPUT_EVBUG is not set | ||
681 | |||
682 | # | ||
683 | # Input Device Drivers | ||
684 | # | ||
685 | # CONFIG_INPUT_KEYBOARD is not set | ||
686 | # CONFIG_INPUT_MOUSE is not set | ||
687 | # CONFIG_INPUT_JOYSTICK is not set | ||
688 | # CONFIG_INPUT_TABLET is not set | ||
689 | CONFIG_INPUT_TOUCHSCREEN=y | ||
690 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | ||
691 | # CONFIG_TOUCHSCREEN_AD7877 is not set | ||
692 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | ||
693 | # CONFIG_TOUCHSCREEN_AD7879_SPI is not set | ||
694 | # CONFIG_TOUCHSCREEN_AD7879 is not set | ||
695 | # CONFIG_TOUCHSCREEN_EETI is not set | ||
696 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | ||
697 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
698 | # CONFIG_TOUCHSCREEN_ELO is not set | ||
699 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
700 | # CONFIG_TOUCHSCREEN_MCS5000 is not set | ||
701 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | ||
702 | # CONFIG_TOUCHSCREEN_INEXIO is not set | ||
703 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
704 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | ||
705 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | ||
706 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | ||
707 | CONFIG_TOUCHSCREEN_WM97XX=m | ||
708 | CONFIG_TOUCHSCREEN_WM9705=y | ||
709 | CONFIG_TOUCHSCREEN_WM9712=y | ||
710 | CONFIG_TOUCHSCREEN_WM9713=y | ||
711 | # CONFIG_TOUCHSCREEN_WM97XX_ATMEL is not set | ||
712 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | ||
713 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
714 | # CONFIG_TOUCHSCREEN_W90X900 is not set | ||
715 | # CONFIG_INPUT_MISC is not set | ||
716 | |||
717 | # | ||
718 | # Hardware I/O ports | ||
719 | # | ||
720 | # CONFIG_SERIO is not set | ||
721 | # CONFIG_GAMEPORT is not set | ||
722 | |||
723 | # | ||
724 | # Character devices | ||
725 | # | ||
726 | CONFIG_VT=y | ||
727 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
728 | CONFIG_VT_CONSOLE=y | ||
729 | CONFIG_HW_CONSOLE=y | ||
730 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
731 | CONFIG_DEVKMEM=y | ||
732 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
733 | |||
734 | # | ||
735 | # Serial drivers | ||
736 | # | ||
737 | # CONFIG_SERIAL_8250 is not set | ||
738 | |||
739 | # | ||
740 | # Non-8250 serial port support | ||
741 | # | ||
742 | CONFIG_SERIAL_ATMEL=y | ||
743 | CONFIG_SERIAL_ATMEL_CONSOLE=y | ||
744 | CONFIG_SERIAL_ATMEL_PDC=y | ||
745 | # CONFIG_SERIAL_ATMEL_TTYAT is not set | ||
746 | # CONFIG_SERIAL_MAX3100 is not set | ||
747 | CONFIG_SERIAL_CORE=y | ||
748 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
749 | CONFIG_UNIX98_PTYS=y | ||
750 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
751 | # CONFIG_LEGACY_PTYS is not set | ||
752 | # CONFIG_IPMI_HANDLER is not set | ||
753 | # CONFIG_HW_RANDOM is not set | ||
754 | # CONFIG_R3964 is not set | ||
755 | # CONFIG_RAW_DRIVER is not set | ||
756 | # CONFIG_TCG_TPM is not set | ||
757 | CONFIG_I2C=m | ||
758 | CONFIG_I2C_BOARDINFO=y | ||
759 | CONFIG_I2C_COMPAT=y | ||
760 | CONFIG_I2C_CHARDEV=m | ||
761 | CONFIG_I2C_HELPER_AUTO=y | ||
762 | CONFIG_I2C_ALGOBIT=m | ||
763 | |||
764 | # | ||
765 | # I2C Hardware Bus support | ||
766 | # | ||
767 | |||
768 | # | ||
769 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
770 | # | ||
771 | # CONFIG_I2C_DESIGNWARE is not set | ||
772 | CONFIG_I2C_GPIO=m | ||
773 | # CONFIG_I2C_OCORES is not set | ||
774 | # CONFIG_I2C_SIMTEC is not set | ||
775 | |||
776 | # | ||
777 | # External I2C/SMBus adapter drivers | ||
778 | # | ||
779 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
780 | # CONFIG_I2C_TAOS_EVM is not set | ||
781 | |||
782 | # | ||
783 | # Other I2C/SMBus bus drivers | ||
784 | # | ||
785 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
786 | # CONFIG_I2C_STUB is not set | ||
787 | |||
788 | # | ||
789 | # Miscellaneous I2C Chip support | ||
790 | # | ||
791 | # CONFIG_DS1682 is not set | ||
792 | # CONFIG_SENSORS_TSL2550 is not set | ||
793 | # CONFIG_I2C_DEBUG_CORE is not set | ||
794 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
795 | # CONFIG_I2C_DEBUG_BUS is not set | ||
796 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
797 | CONFIG_SPI=y | ||
798 | # CONFIG_SPI_DEBUG is not set | ||
799 | CONFIG_SPI_MASTER=y | ||
800 | |||
801 | # | ||
802 | # SPI Master Controller Drivers | ||
803 | # | ||
804 | CONFIG_SPI_ATMEL=y | ||
805 | # CONFIG_SPI_BITBANG is not set | ||
806 | # CONFIG_SPI_GPIO is not set | ||
807 | |||
808 | # | ||
809 | # SPI Protocol Masters | ||
810 | # | ||
811 | CONFIG_SPI_SPIDEV=m | ||
812 | # CONFIG_SPI_TLE62X0 is not set | ||
813 | |||
814 | # | ||
815 | # PPS support | ||
816 | # | ||
817 | # CONFIG_PPS is not set | ||
818 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
819 | CONFIG_GPIOLIB=y | ||
820 | # CONFIG_DEBUG_GPIO is not set | ||
821 | # CONFIG_GPIO_SYSFS is not set | ||
822 | |||
823 | # | ||
824 | # Memory mapped GPIO expanders: | ||
825 | # | ||
826 | |||
827 | # | ||
828 | # I2C GPIO expanders: | ||
829 | # | ||
830 | # CONFIG_GPIO_MAX732X is not set | ||
831 | # CONFIG_GPIO_PCA953X is not set | ||
832 | # CONFIG_GPIO_PCF857X is not set | ||
833 | |||
834 | # | ||
835 | # PCI GPIO expanders: | ||
836 | # | ||
837 | |||
838 | # | ||
839 | # SPI GPIO expanders: | ||
840 | # | ||
841 | # CONFIG_GPIO_MAX7301 is not set | ||
842 | # CONFIG_GPIO_MCP23S08 is not set | ||
843 | # CONFIG_GPIO_MC33880 is not set | ||
844 | |||
845 | # | ||
846 | # AC97 GPIO expanders: | ||
847 | # | ||
848 | # CONFIG_W1 is not set | ||
849 | # CONFIG_POWER_SUPPLY is not set | ||
850 | # CONFIG_HWMON is not set | ||
851 | # CONFIG_THERMAL is not set | ||
852 | CONFIG_WATCHDOG=y | ||
853 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
854 | |||
855 | # | ||
856 | # Watchdog Device Drivers | ||
857 | # | ||
858 | # CONFIG_SOFT_WATCHDOG is not set | ||
859 | CONFIG_AT32AP700X_WDT=y | ||
860 | CONFIG_SSB_POSSIBLE=y | ||
861 | |||
862 | # | ||
863 | # Sonics Silicon Backplane | ||
864 | # | ||
865 | # CONFIG_SSB is not set | ||
866 | |||
867 | # | ||
868 | # Multifunction device drivers | ||
869 | # | ||
870 | # CONFIG_MFD_CORE is not set | ||
871 | # CONFIG_MFD_SM501 is not set | ||
872 | # CONFIG_HTC_PASIC3 is not set | ||
873 | # CONFIG_UCB1400_CORE is not set | ||
874 | # CONFIG_TPS65010 is not set | ||
875 | # CONFIG_MFD_TMIO is not set | ||
876 | # CONFIG_MFD_WM8400 is not set | ||
877 | # CONFIG_MFD_WM831X is not set | ||
878 | # CONFIG_MFD_WM8350_I2C is not set | ||
879 | # CONFIG_MFD_PCF50633 is not set | ||
880 | # CONFIG_MFD_MC13783 is not set | ||
881 | # CONFIG_AB3100_CORE is not set | ||
882 | # CONFIG_EZX_PCAP is not set | ||
883 | # CONFIG_REGULATOR is not set | ||
884 | # CONFIG_MEDIA_SUPPORT is not set | ||
885 | |||
886 | # | ||
887 | # Graphics support | ||
888 | # | ||
889 | # CONFIG_VGASTATE is not set | ||
890 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
891 | CONFIG_FB=y | ||
892 | # CONFIG_FIRMWARE_EDID is not set | ||
893 | # CONFIG_FB_DDC is not set | ||
894 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
895 | CONFIG_FB_CFB_FILLRECT=y | ||
896 | CONFIG_FB_CFB_COPYAREA=y | ||
897 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
898 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
899 | # CONFIG_FB_SYS_FILLRECT is not set | ||
900 | # CONFIG_FB_SYS_COPYAREA is not set | ||
901 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
902 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
903 | # CONFIG_FB_SYS_FOPS is not set | ||
904 | # CONFIG_FB_SVGALIB is not set | ||
905 | # CONFIG_FB_MACMODES is not set | ||
906 | # CONFIG_FB_BACKLIGHT is not set | ||
907 | # CONFIG_FB_MODE_HELPERS is not set | ||
908 | # CONFIG_FB_TILEBLITTING is not set | ||
909 | |||
910 | # | ||
911 | # Frame buffer hardware drivers | ||
912 | # | ||
913 | # CONFIG_FB_S1D13XXX is not set | ||
914 | CONFIG_FB_ATMEL=y | ||
915 | # CONFIG_FB_VIRTUAL is not set | ||
916 | # CONFIG_FB_METRONOME is not set | ||
917 | # CONFIG_FB_MB862XX is not set | ||
918 | # CONFIG_FB_BROADSHEET is not set | ||
919 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
920 | |||
921 | # | ||
922 | # Display device support | ||
923 | # | ||
924 | # CONFIG_DISPLAY_SUPPORT is not set | ||
925 | |||
926 | # | ||
927 | # Console display driver support | ||
928 | # | ||
929 | CONFIG_DUMMY_CONSOLE=y | ||
930 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | ||
931 | # CONFIG_LOGO is not set | ||
932 | CONFIG_SOUND=y | ||
933 | CONFIG_SOUND_OSS_CORE=y | ||
934 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
935 | CONFIG_SND=y | ||
936 | CONFIG_SND_TIMER=y | ||
937 | CONFIG_SND_PCM=m | ||
938 | # CONFIG_SND_SEQUENCER is not set | ||
939 | CONFIG_SND_OSSEMUL=y | ||
940 | CONFIG_SND_MIXER_OSS=m | ||
941 | CONFIG_SND_PCM_OSS=m | ||
942 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
943 | CONFIG_SND_HRTIMER=y | ||
944 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
945 | # CONFIG_SND_SUPPORT_OLD_API is not set | ||
946 | CONFIG_SND_VERBOSE_PROCFS=y | ||
947 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
948 | # CONFIG_SND_DEBUG is not set | ||
949 | CONFIG_SND_VMASTER=y | ||
950 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
951 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
952 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
953 | # CONFIG_SND_SBAWE_SEQ is not set | ||
954 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
955 | CONFIG_SND_AC97_CODEC=m | ||
956 | # CONFIG_SND_DRIVERS is not set | ||
957 | |||
958 | # | ||
959 | # Atmel devices (AVR32 and AT91) | ||
960 | # | ||
961 | # CONFIG_SND_ATMEL_ABDAC is not set | ||
962 | CONFIG_SND_ATMEL_AC97C=m | ||
963 | # CONFIG_SND_SPI is not set | ||
964 | # CONFIG_SND_SOC is not set | ||
965 | # CONFIG_SOUND_PRIME is not set | ||
966 | CONFIG_AC97_BUS=m | ||
967 | CONFIG_HID_SUPPORT=y | ||
968 | CONFIG_HID=y | ||
969 | # CONFIG_HIDRAW is not set | ||
970 | # CONFIG_HID_PID is not set | ||
971 | |||
972 | # | ||
973 | # Special HID drivers | ||
974 | # | ||
975 | CONFIG_USB_SUPPORT=y | ||
976 | # CONFIG_USB_ARCH_HAS_HCD is not set | ||
977 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
978 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
979 | # CONFIG_USB_OTG_WHITELIST is not set | ||
980 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
981 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
982 | |||
983 | # | ||
984 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may | ||
985 | # | ||
986 | CONFIG_USB_GADGET=y | ||
987 | # CONFIG_USB_GADGET_DEBUG is not set | ||
988 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
989 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
990 | CONFIG_USB_GADGET_VBUS_DRAW=350 | ||
991 | CONFIG_USB_GADGET_SELECTED=y | ||
992 | # CONFIG_USB_GADGET_AT91 is not set | ||
993 | CONFIG_USB_GADGET_ATMEL_USBA=y | ||
994 | CONFIG_USB_ATMEL_USBA=y | ||
995 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
996 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
997 | # CONFIG_USB_GADGET_OMAP is not set | ||
998 | # CONFIG_USB_GADGET_PXA25X is not set | ||
999 | # CONFIG_USB_GADGET_R8A66597 is not set | ||
1000 | # CONFIG_USB_GADGET_PXA27X is not set | ||
1001 | # CONFIG_USB_GADGET_S3C_HSOTG is not set | ||
1002 | # CONFIG_USB_GADGET_IMX is not set | ||
1003 | # CONFIG_USB_GADGET_S3C2410 is not set | ||
1004 | # CONFIG_USB_GADGET_M66592 is not set | ||
1005 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
1006 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
1007 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
1008 | # CONFIG_USB_GADGET_NET2280 is not set | ||
1009 | # CONFIG_USB_GADGET_GOKU is not set | ||
1010 | # CONFIG_USB_GADGET_LANGWELL is not set | ||
1011 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
1012 | CONFIG_USB_GADGET_DUALSPEED=y | ||
1013 | CONFIG_USB_ZERO=m | ||
1014 | # CONFIG_USB_AUDIO is not set | ||
1015 | CONFIG_USB_ETH=m | ||
1016 | CONFIG_USB_ETH_RNDIS=y | ||
1017 | # CONFIG_USB_ETH_EEM is not set | ||
1018 | CONFIG_USB_GADGETFS=m | ||
1019 | CONFIG_USB_FILE_STORAGE=m | ||
1020 | # CONFIG_USB_FILE_STORAGE_TEST is not set | ||
1021 | CONFIG_USB_G_SERIAL=m | ||
1022 | # CONFIG_USB_MIDI_GADGET is not set | ||
1023 | # CONFIG_USB_G_PRINTER is not set | ||
1024 | CONFIG_USB_CDC_COMPOSITE=m | ||
1025 | |||
1026 | # | ||
1027 | # OTG and related infrastructure | ||
1028 | # | ||
1029 | # CONFIG_USB_GPIO_VBUS is not set | ||
1030 | # CONFIG_NOP_USB_XCEIV is not set | ||
1031 | CONFIG_MMC=y | ||
1032 | # CONFIG_MMC_DEBUG is not set | ||
1033 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
1034 | |||
1035 | # | ||
1036 | # MMC/SD/SDIO Card Drivers | ||
1037 | # | ||
1038 | CONFIG_MMC_BLOCK=y | ||
1039 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
1040 | # CONFIG_SDIO_UART is not set | ||
1041 | # CONFIG_MMC_TEST is not set | ||
1042 | |||
1043 | # | ||
1044 | # MMC/SD/SDIO Host Controller Drivers | ||
1045 | # | ||
1046 | # CONFIG_MMC_SDHCI is not set | ||
1047 | # CONFIG_MMC_AT91 is not set | ||
1048 | CONFIG_MMC_ATMELMCI=y | ||
1049 | # CONFIG_MMC_ATMELMCI_DMA is not set | ||
1050 | # CONFIG_MMC_SPI is not set | ||
1051 | # CONFIG_MEMSTICK is not set | ||
1052 | CONFIG_NEW_LEDS=y | ||
1053 | CONFIG_LEDS_CLASS=y | ||
1054 | |||
1055 | # | ||
1056 | # LED drivers | ||
1057 | # | ||
1058 | # CONFIG_LEDS_PCA9532 is not set | ||
1059 | CONFIG_LEDS_GPIO=y | ||
1060 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
1061 | # CONFIG_LEDS_LP3944 is not set | ||
1062 | # CONFIG_LEDS_PCA955X is not set | ||
1063 | # CONFIG_LEDS_DAC124S085 is not set | ||
1064 | # CONFIG_LEDS_BD2802 is not set | ||
1065 | |||
1066 | # | ||
1067 | # LED Triggers | ||
1068 | # | ||
1069 | CONFIG_LEDS_TRIGGERS=y | ||
1070 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
1071 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
1072 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
1073 | # CONFIG_LEDS_TRIGGER_GPIO is not set | ||
1074 | # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set | ||
1075 | |||
1076 | # | ||
1077 | # iptables trigger is under Netfilter config (LED target) | ||
1078 | # | ||
1079 | # CONFIG_ACCESSIBILITY is not set | ||
1080 | CONFIG_RTC_LIB=y | ||
1081 | CONFIG_RTC_CLASS=y | ||
1082 | CONFIG_RTC_HCTOSYS=y | ||
1083 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
1084 | # CONFIG_RTC_DEBUG is not set | ||
1085 | |||
1086 | # | ||
1087 | # RTC interfaces | ||
1088 | # | ||
1089 | CONFIG_RTC_INTF_SYSFS=y | ||
1090 | CONFIG_RTC_INTF_PROC=y | ||
1091 | CONFIG_RTC_INTF_DEV=y | ||
1092 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1093 | # CONFIG_RTC_DRV_TEST is not set | ||
1094 | |||
1095 | # | ||
1096 | # I2C RTC drivers | ||
1097 | # | ||
1098 | # CONFIG_RTC_DRV_DS1307 is not set | ||
1099 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1100 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1101 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1102 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1103 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1104 | # CONFIG_RTC_DRV_X1205 is not set | ||
1105 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1106 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1107 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1108 | # CONFIG_RTC_DRV_S35390A is not set | ||
1109 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1110 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1111 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1112 | |||
1113 | # | ||
1114 | # SPI RTC drivers | ||
1115 | # | ||
1116 | # CONFIG_RTC_DRV_M41T94 is not set | ||
1117 | # CONFIG_RTC_DRV_DS1305 is not set | ||
1118 | # CONFIG_RTC_DRV_DS1390 is not set | ||
1119 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
1120 | # CONFIG_RTC_DRV_R9701 is not set | ||
1121 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
1122 | # CONFIG_RTC_DRV_DS3234 is not set | ||
1123 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
1124 | |||
1125 | # | ||
1126 | # Platform RTC drivers | ||
1127 | # | ||
1128 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1129 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1130 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1131 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1132 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1133 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1134 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1135 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1136 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1137 | # CONFIG_RTC_DRV_V3020 is not set | ||
1138 | |||
1139 | # | ||
1140 | # on-CPU RTC drivers | ||
1141 | # | ||
1142 | CONFIG_RTC_DRV_AT32AP700X=y | ||
1143 | CONFIG_DMADEVICES=y | ||
1144 | |||
1145 | # | ||
1146 | # DMA Devices | ||
1147 | # | ||
1148 | CONFIG_DW_DMAC=y | ||
1149 | CONFIG_DMA_ENGINE=y | ||
1150 | |||
1151 | # | ||
1152 | # DMA Clients | ||
1153 | # | ||
1154 | # CONFIG_NET_DMA is not set | ||
1155 | # CONFIG_ASYNC_TX_DMA is not set | ||
1156 | # CONFIG_DMATEST is not set | ||
1157 | # CONFIG_AUXDISPLAY is not set | ||
1158 | # CONFIG_UIO is not set | ||
1159 | |||
1160 | # | ||
1161 | # TI VLYNQ | ||
1162 | # | ||
1163 | # CONFIG_STAGING is not set | ||
1164 | |||
1165 | # | ||
1166 | # File systems | ||
1167 | # | ||
1168 | CONFIG_EXT2_FS=y | ||
1169 | # CONFIG_EXT2_FS_XATTR is not set | ||
1170 | # CONFIG_EXT2_FS_XIP is not set | ||
1171 | CONFIG_EXT3_FS=y | ||
1172 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1173 | # CONFIG_EXT3_FS_XATTR is not set | ||
1174 | # CONFIG_EXT4_FS is not set | ||
1175 | CONFIG_JBD=y | ||
1176 | # CONFIG_JBD_DEBUG is not set | ||
1177 | # CONFIG_REISERFS_FS is not set | ||
1178 | # CONFIG_JFS_FS is not set | ||
1179 | # CONFIG_FS_POSIX_ACL is not set | ||
1180 | # CONFIG_XFS_FS is not set | ||
1181 | # CONFIG_GFS2_FS is not set | ||
1182 | # CONFIG_OCFS2_FS is not set | ||
1183 | # CONFIG_BTRFS_FS is not set | ||
1184 | # CONFIG_NILFS2_FS is not set | ||
1185 | CONFIG_FILE_LOCKING=y | ||
1186 | CONFIG_FSNOTIFY=y | ||
1187 | # CONFIG_DNOTIFY is not set | ||
1188 | CONFIG_INOTIFY=y | ||
1189 | CONFIG_INOTIFY_USER=y | ||
1190 | # CONFIG_QUOTA is not set | ||
1191 | # CONFIG_AUTOFS_FS is not set | ||
1192 | # CONFIG_AUTOFS4_FS is not set | ||
1193 | CONFIG_FUSE_FS=m | ||
1194 | # CONFIG_CUSE is not set | ||
1195 | |||
1196 | # | ||
1197 | # Caches | ||
1198 | # | ||
1199 | # CONFIG_FSCACHE is not set | ||
1200 | |||
1201 | # | ||
1202 | # CD-ROM/DVD Filesystems | ||
1203 | # | ||
1204 | # CONFIG_ISO9660_FS is not set | ||
1205 | # CONFIG_UDF_FS is not set | ||
1206 | |||
1207 | # | ||
1208 | # DOS/FAT/NT Filesystems | ||
1209 | # | ||
1210 | CONFIG_FAT_FS=m | ||
1211 | CONFIG_MSDOS_FS=m | ||
1212 | CONFIG_VFAT_FS=m | ||
1213 | CONFIG_FAT_DEFAULT_CODEPAGE=850 | ||
1214 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1215 | # CONFIG_NTFS_FS is not set | ||
1216 | |||
1217 | # | ||
1218 | # Pseudo filesystems | ||
1219 | # | ||
1220 | CONFIG_PROC_FS=y | ||
1221 | # CONFIG_PROC_KCORE is not set | ||
1222 | CONFIG_PROC_SYSCTL=y | ||
1223 | CONFIG_PROC_PAGE_MONITOR=y | ||
1224 | CONFIG_SYSFS=y | ||
1225 | CONFIG_TMPFS=y | ||
1226 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
1227 | # CONFIG_HUGETLB_PAGE is not set | ||
1228 | CONFIG_CONFIGFS_FS=y | ||
1229 | CONFIG_MISC_FILESYSTEMS=y | ||
1230 | # CONFIG_ADFS_FS is not set | ||
1231 | # CONFIG_AFFS_FS is not set | ||
1232 | # CONFIG_HFS_FS is not set | ||
1233 | # CONFIG_HFSPLUS_FS is not set | ||
1234 | # CONFIG_BEFS_FS is not set | ||
1235 | # CONFIG_BFS_FS is not set | ||
1236 | # CONFIG_EFS_FS is not set | ||
1237 | CONFIG_JFFS2_FS=y | ||
1238 | CONFIG_JFFS2_FS_DEBUG=0 | ||
1239 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
1240 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1241 | # CONFIG_JFFS2_SUMMARY is not set | ||
1242 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1243 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
1244 | CONFIG_JFFS2_ZLIB=y | ||
1245 | # CONFIG_JFFS2_LZO is not set | ||
1246 | CONFIG_JFFS2_RTIME=y | ||
1247 | # CONFIG_JFFS2_RUBIN is not set | ||
1248 | CONFIG_UBIFS_FS=y | ||
1249 | # CONFIG_UBIFS_FS_XATTR is not set | ||
1250 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set | ||
1251 | CONFIG_UBIFS_FS_LZO=y | ||
1252 | CONFIG_UBIFS_FS_ZLIB=y | ||
1253 | # CONFIG_UBIFS_FS_DEBUG is not set | ||
1254 | # CONFIG_CRAMFS is not set | ||
1255 | # CONFIG_SQUASHFS is not set | ||
1256 | # CONFIG_VXFS_FS is not set | ||
1257 | # CONFIG_MINIX_FS is not set | ||
1258 | # CONFIG_OMFS_FS is not set | ||
1259 | # CONFIG_HPFS_FS is not set | ||
1260 | # CONFIG_QNX4FS_FS is not set | ||
1261 | # CONFIG_ROMFS_FS is not set | ||
1262 | # CONFIG_SYSV_FS is not set | ||
1263 | # CONFIG_UFS_FS is not set | ||
1264 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1265 | CONFIG_NFS_FS=y | ||
1266 | CONFIG_NFS_V3=y | ||
1267 | # CONFIG_NFS_V3_ACL is not set | ||
1268 | # CONFIG_NFS_V4 is not set | ||
1269 | CONFIG_ROOT_NFS=y | ||
1270 | CONFIG_NFSD=m | ||
1271 | CONFIG_NFSD_V3=y | ||
1272 | # CONFIG_NFSD_V3_ACL is not set | ||
1273 | # CONFIG_NFSD_V4 is not set | ||
1274 | CONFIG_LOCKD=y | ||
1275 | CONFIG_LOCKD_V4=y | ||
1276 | CONFIG_EXPORTFS=m | ||
1277 | CONFIG_NFS_COMMON=y | ||
1278 | CONFIG_SUNRPC=y | ||
1279 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
1280 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1281 | CONFIG_SMB_FS=m | ||
1282 | # CONFIG_SMB_NLS_DEFAULT is not set | ||
1283 | CONFIG_CIFS=m | ||
1284 | # CONFIG_CIFS_STATS is not set | ||
1285 | # CONFIG_CIFS_WEAK_PW_HASH is not set | ||
1286 | # CONFIG_CIFS_XATTR is not set | ||
1287 | # CONFIG_CIFS_DEBUG2 is not set | ||
1288 | # CONFIG_CIFS_EXPERIMENTAL is not set | ||
1289 | # CONFIG_NCP_FS is not set | ||
1290 | # CONFIG_CODA_FS is not set | ||
1291 | # CONFIG_AFS_FS is not set | ||
1292 | |||
1293 | # | ||
1294 | # Partition Types | ||
1295 | # | ||
1296 | # CONFIG_PARTITION_ADVANCED is not set | ||
1297 | CONFIG_MSDOS_PARTITION=y | ||
1298 | CONFIG_NLS=m | ||
1299 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1300 | CONFIG_NLS_CODEPAGE_437=m | ||
1301 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1302 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1303 | CONFIG_NLS_CODEPAGE_850=m | ||
1304 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1305 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1306 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1307 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1308 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1309 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1310 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1311 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1312 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1313 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1314 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1315 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1316 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1317 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1318 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1319 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1320 | # CONFIG_NLS_ISO8859_8 is not set | ||
1321 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1322 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1323 | # CONFIG_NLS_ASCII is not set | ||
1324 | CONFIG_NLS_ISO8859_1=m | ||
1325 | # CONFIG_NLS_ISO8859_2 is not set | ||
1326 | # CONFIG_NLS_ISO8859_3 is not set | ||
1327 | # CONFIG_NLS_ISO8859_4 is not set | ||
1328 | # CONFIG_NLS_ISO8859_5 is not set | ||
1329 | # CONFIG_NLS_ISO8859_6 is not set | ||
1330 | # CONFIG_NLS_ISO8859_7 is not set | ||
1331 | # CONFIG_NLS_ISO8859_9 is not set | ||
1332 | # CONFIG_NLS_ISO8859_13 is not set | ||
1333 | # CONFIG_NLS_ISO8859_14 is not set | ||
1334 | # CONFIG_NLS_ISO8859_15 is not set | ||
1335 | # CONFIG_NLS_KOI8_R is not set | ||
1336 | # CONFIG_NLS_KOI8_U is not set | ||
1337 | CONFIG_NLS_UTF8=m | ||
1338 | # CONFIG_DLM is not set | ||
1339 | |||
1340 | # | ||
1341 | # Kernel hacking | ||
1342 | # | ||
1343 | # CONFIG_PRINTK_TIME is not set | ||
1344 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1345 | CONFIG_ENABLE_MUST_CHECK=y | ||
1346 | CONFIG_FRAME_WARN=1024 | ||
1347 | CONFIG_MAGIC_SYSRQ=y | ||
1348 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1349 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1350 | CONFIG_DEBUG_FS=y | ||
1351 | # CONFIG_HEADERS_CHECK is not set | ||
1352 | CONFIG_DEBUG_KERNEL=y | ||
1353 | # CONFIG_DEBUG_SHIRQ is not set | ||
1354 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1355 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1356 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1357 | CONFIG_DETECT_HUNG_TASK=y | ||
1358 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1359 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1360 | CONFIG_SCHED_DEBUG=y | ||
1361 | # CONFIG_SCHEDSTATS is not set | ||
1362 | # CONFIG_TIMER_STATS is not set | ||
1363 | # CONFIG_DEBUG_OBJECTS is not set | ||
1364 | # CONFIG_SLUB_DEBUG_ON is not set | ||
1365 | # CONFIG_SLUB_STATS is not set | ||
1366 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1367 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1368 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1369 | # CONFIG_DEBUG_MUTEXES is not set | ||
1370 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1371 | # CONFIG_PROVE_LOCKING is not set | ||
1372 | # CONFIG_LOCK_STAT is not set | ||
1373 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1374 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1375 | CONFIG_STACKTRACE=y | ||
1376 | # CONFIG_DEBUG_KOBJECT is not set | ||
1377 | CONFIG_DEBUG_BUGVERBOSE=y | ||
1378 | # CONFIG_DEBUG_INFO is not set | ||
1379 | # CONFIG_DEBUG_VM is not set | ||
1380 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1381 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1382 | # CONFIG_DEBUG_LIST is not set | ||
1383 | # CONFIG_DEBUG_SG is not set | ||
1384 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1385 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1386 | CONFIG_FRAME_POINTER=y | ||
1387 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1388 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1389 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1390 | # CONFIG_KPROBES_SANITY_TEST is not set | ||
1391 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1392 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1393 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1394 | # CONFIG_LKDTM is not set | ||
1395 | # CONFIG_FAULT_INJECTION is not set | ||
1396 | # CONFIG_PAGE_POISONING is not set | ||
1397 | CONFIG_NOP_TRACER=y | ||
1398 | CONFIG_RING_BUFFER=y | ||
1399 | CONFIG_EVENT_TRACING=y | ||
1400 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
1401 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | ||
1402 | CONFIG_TRACING=y | ||
1403 | CONFIG_TRACING_SUPPORT=y | ||
1404 | CONFIG_FTRACE=y | ||
1405 | # CONFIG_IRQSOFF_TRACER is not set | ||
1406 | # CONFIG_SCHED_TRACER is not set | ||
1407 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1408 | # CONFIG_BOOT_TRACER is not set | ||
1409 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1410 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1411 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1412 | # CONFIG_KMEMTRACE is not set | ||
1413 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1414 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1415 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
1416 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1417 | # CONFIG_SAMPLES is not set | ||
1418 | |||
1419 | # | ||
1420 | # Security options | ||
1421 | # | ||
1422 | # CONFIG_KEYS is not set | ||
1423 | # CONFIG_SECURITY is not set | ||
1424 | # CONFIG_SECURITYFS is not set | ||
1425 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1426 | CONFIG_CRYPTO=y | ||
1427 | |||
1428 | # | ||
1429 | # Crypto core or helper | ||
1430 | # | ||
1431 | # CONFIG_CRYPTO_FIPS is not set | ||
1432 | CONFIG_CRYPTO_ALGAPI=y | ||
1433 | CONFIG_CRYPTO_ALGAPI2=y | ||
1434 | CONFIG_CRYPTO_AEAD=y | ||
1435 | CONFIG_CRYPTO_AEAD2=y | ||
1436 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1437 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
1438 | CONFIG_CRYPTO_HASH=y | ||
1439 | CONFIG_CRYPTO_HASH2=y | ||
1440 | CONFIG_CRYPTO_RNG=m | ||
1441 | CONFIG_CRYPTO_RNG2=y | ||
1442 | CONFIG_CRYPTO_PCOMP=y | ||
1443 | CONFIG_CRYPTO_MANAGER=y | ||
1444 | CONFIG_CRYPTO_MANAGER2=y | ||
1445 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1446 | # CONFIG_CRYPTO_NULL is not set | ||
1447 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1448 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1449 | CONFIG_CRYPTO_AUTHENC=y | ||
1450 | # CONFIG_CRYPTO_TEST is not set | ||
1451 | |||
1452 | # | ||
1453 | # Authenticated Encryption with Associated Data | ||
1454 | # | ||
1455 | # CONFIG_CRYPTO_CCM is not set | ||
1456 | # CONFIG_CRYPTO_GCM is not set | ||
1457 | # CONFIG_CRYPTO_SEQIV is not set | ||
1458 | |||
1459 | # | ||
1460 | # Block modes | ||
1461 | # | ||
1462 | CONFIG_CRYPTO_CBC=y | ||
1463 | # CONFIG_CRYPTO_CTR is not set | ||
1464 | # CONFIG_CRYPTO_CTS is not set | ||
1465 | CONFIG_CRYPTO_ECB=m | ||
1466 | # CONFIG_CRYPTO_LRW is not set | ||
1467 | # CONFIG_CRYPTO_PCBC is not set | ||
1468 | # CONFIG_CRYPTO_XTS is not set | ||
1469 | |||
1470 | # | ||
1471 | # Hash modes | ||
1472 | # | ||
1473 | CONFIG_CRYPTO_HMAC=y | ||
1474 | # CONFIG_CRYPTO_XCBC is not set | ||
1475 | # CONFIG_CRYPTO_VMAC is not set | ||
1476 | |||
1477 | # | ||
1478 | # Digest | ||
1479 | # | ||
1480 | # CONFIG_CRYPTO_CRC32C is not set | ||
1481 | # CONFIG_CRYPTO_GHASH is not set | ||
1482 | # CONFIG_CRYPTO_MD4 is not set | ||
1483 | CONFIG_CRYPTO_MD5=y | ||
1484 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1485 | # CONFIG_CRYPTO_RMD128 is not set | ||
1486 | # CONFIG_CRYPTO_RMD160 is not set | ||
1487 | # CONFIG_CRYPTO_RMD256 is not set | ||
1488 | # CONFIG_CRYPTO_RMD320 is not set | ||
1489 | CONFIG_CRYPTO_SHA1=y | ||
1490 | # CONFIG_CRYPTO_SHA256 is not set | ||
1491 | # CONFIG_CRYPTO_SHA512 is not set | ||
1492 | # CONFIG_CRYPTO_TGR192 is not set | ||
1493 | # CONFIG_CRYPTO_WP512 is not set | ||
1494 | |||
1495 | # | ||
1496 | # Ciphers | ||
1497 | # | ||
1498 | CONFIG_CRYPTO_AES=m | ||
1499 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1500 | CONFIG_CRYPTO_ARC4=m | ||
1501 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1502 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1503 | # CONFIG_CRYPTO_CAST5 is not set | ||
1504 | # CONFIG_CRYPTO_CAST6 is not set | ||
1505 | CONFIG_CRYPTO_DES=y | ||
1506 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1507 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1508 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1509 | # CONFIG_CRYPTO_SEED is not set | ||
1510 | # CONFIG_CRYPTO_SERPENT is not set | ||
1511 | # CONFIG_CRYPTO_TEA is not set | ||
1512 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1513 | |||
1514 | # | ||
1515 | # Compression | ||
1516 | # | ||
1517 | CONFIG_CRYPTO_DEFLATE=y | ||
1518 | # CONFIG_CRYPTO_ZLIB is not set | ||
1519 | CONFIG_CRYPTO_LZO=y | ||
1520 | |||
1521 | # | ||
1522 | # Random Number Generation | ||
1523 | # | ||
1524 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
1525 | CONFIG_CRYPTO_HW=y | ||
1526 | CONFIG_BINARY_PRINTF=y | ||
1527 | |||
1528 | # | ||
1529 | # Library routines | ||
1530 | # | ||
1531 | CONFIG_BITREVERSE=y | ||
1532 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1533 | CONFIG_CRC_CCITT=m | ||
1534 | CONFIG_CRC16=y | ||
1535 | # CONFIG_CRC_T10DIF is not set | ||
1536 | # CONFIG_CRC_ITU_T is not set | ||
1537 | CONFIG_CRC32=y | ||
1538 | # CONFIG_CRC7 is not set | ||
1539 | # CONFIG_LIBCRC32C is not set | ||
1540 | CONFIG_ZLIB_INFLATE=y | ||
1541 | CONFIG_ZLIB_DEFLATE=y | ||
1542 | CONFIG_LZO_COMPRESS=y | ||
1543 | CONFIG_LZO_DECOMPRESS=y | ||
1544 | CONFIG_DECOMPRESS_GZIP=y | ||
1545 | CONFIG_GENERIC_ALLOCATOR=y | ||
1546 | CONFIG_HAS_IOMEM=y | ||
1547 | CONFIG_HAS_IOPORT=y | ||
1548 | CONFIG_HAS_DMA=y | ||
1549 | CONFIG_NLATTR=y | ||
diff --git a/arch/avr32/configs/atngw100mkii_evklcd101_defconfig b/arch/avr32/configs/atngw100mkii_evklcd101_defconfig new file mode 100644 index 000000000000..bbf6bc316ecf --- /dev/null +++ b/arch/avr32/configs/atngw100mkii_evklcd101_defconfig | |||
@@ -0,0 +1,1549 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.32-rc5 | ||
4 | # Thu Nov 5 15:33:32 2009 | ||
5 | # | ||
6 | CONFIG_AVR32=y | ||
7 | CONFIG_GENERIC_GPIO=y | ||
8 | CONFIG_GENERIC_HARDIRQS=y | ||
9 | CONFIG_STACKTRACE_SUPPORT=y | ||
10 | CONFIG_LOCKDEP_SUPPORT=y | ||
11 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
12 | CONFIG_HARDIRQS_SW_RESEND=y | ||
13 | CONFIG_GENERIC_IRQ_PROBE=y | ||
14 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
15 | CONFIG_GENERIC_TIME=y | ||
16 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
17 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | ||
18 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
19 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
20 | CONFIG_GENERIC_HWEIGHT=y | ||
21 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
22 | CONFIG_GENERIC_BUG=y | ||
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
24 | CONFIG_CONSTRUCTORS=y | ||
25 | |||
26 | # | ||
27 | # General setup | ||
28 | # | ||
29 | CONFIG_EXPERIMENTAL=y | ||
30 | CONFIG_BROKEN_ON_SMP=y | ||
31 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
32 | CONFIG_LOCALVERSION="" | ||
33 | # CONFIG_LOCALVERSION_AUTO is not set | ||
34 | CONFIG_SWAP=y | ||
35 | CONFIG_SYSVIPC=y | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | ||
37 | CONFIG_POSIX_MQUEUE=y | ||
38 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
39 | CONFIG_BSD_PROCESS_ACCT=y | ||
40 | CONFIG_BSD_PROCESS_ACCT_V3=y | ||
41 | # CONFIG_TASKSTATS is not set | ||
42 | # CONFIG_AUDIT is not set | ||
43 | |||
44 | # | ||
45 | # RCU Subsystem | ||
46 | # | ||
47 | CONFIG_TREE_RCU=y | ||
48 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
49 | # CONFIG_RCU_TRACE is not set | ||
50 | CONFIG_RCU_FANOUT=32 | ||
51 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
52 | # CONFIG_TREE_RCU_TRACE is not set | ||
53 | # CONFIG_IKCONFIG is not set | ||
54 | CONFIG_LOG_BUF_SHIFT=14 | ||
55 | # CONFIG_GROUP_SCHED is not set | ||
56 | # CONFIG_CGROUPS is not set | ||
57 | CONFIG_SYSFS_DEPRECATED=y | ||
58 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
59 | # CONFIG_RELAY is not set | ||
60 | # CONFIG_NAMESPACES is not set | ||
61 | CONFIG_BLK_DEV_INITRD=y | ||
62 | CONFIG_INITRAMFS_SOURCE="" | ||
63 | CONFIG_RD_GZIP=y | ||
64 | # CONFIG_RD_BZIP2 is not set | ||
65 | # CONFIG_RD_LZMA is not set | ||
66 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
67 | CONFIG_SYSCTL=y | ||
68 | CONFIG_ANON_INODES=y | ||
69 | CONFIG_EMBEDDED=y | ||
70 | # CONFIG_SYSCTL_SYSCALL is not set | ||
71 | CONFIG_KALLSYMS=y | ||
72 | # CONFIG_KALLSYMS_ALL is not set | ||
73 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
74 | CONFIG_HOTPLUG=y | ||
75 | CONFIG_PRINTK=y | ||
76 | CONFIG_BUG=y | ||
77 | CONFIG_ELF_CORE=y | ||
78 | # CONFIG_BASE_FULL is not set | ||
79 | CONFIG_FUTEX=y | ||
80 | CONFIG_EPOLL=y | ||
81 | CONFIG_SIGNALFD=y | ||
82 | CONFIG_TIMERFD=y | ||
83 | CONFIG_EVENTFD=y | ||
84 | CONFIG_SHMEM=y | ||
85 | CONFIG_AIO=y | ||
86 | |||
87 | # | ||
88 | # Kernel Performance Events And Counters | ||
89 | # | ||
90 | CONFIG_VM_EVENT_COUNTERS=y | ||
91 | CONFIG_SLUB_DEBUG=y | ||
92 | # CONFIG_COMPAT_BRK is not set | ||
93 | # CONFIG_SLAB is not set | ||
94 | CONFIG_SLUB=y | ||
95 | # CONFIG_SLOB is not set | ||
96 | CONFIG_PROFILING=y | ||
97 | CONFIG_TRACEPOINTS=y | ||
98 | CONFIG_OPROFILE=m | ||
99 | CONFIG_HAVE_OPROFILE=y | ||
100 | CONFIG_KPROBES=y | ||
101 | CONFIG_HAVE_KPROBES=y | ||
102 | CONFIG_HAVE_CLK=y | ||
103 | |||
104 | # | ||
105 | # GCOV-based kernel profiling | ||
106 | # | ||
107 | # CONFIG_GCOV_KERNEL is not set | ||
108 | CONFIG_SLOW_WORK=y | ||
109 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
110 | CONFIG_SLABINFO=y | ||
111 | CONFIG_RT_MUTEXES=y | ||
112 | CONFIG_BASE_SMALL=1 | ||
113 | CONFIG_MODULES=y | ||
114 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
115 | CONFIG_MODULE_UNLOAD=y | ||
116 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
117 | # CONFIG_MODVERSIONS is not set | ||
118 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
119 | CONFIG_BLOCK=y | ||
120 | CONFIG_LBDAF=y | ||
121 | # CONFIG_BLK_DEV_BSG is not set | ||
122 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
123 | |||
124 | # | ||
125 | # IO Schedulers | ||
126 | # | ||
127 | CONFIG_IOSCHED_NOOP=y | ||
128 | # CONFIG_IOSCHED_AS is not set | ||
129 | # CONFIG_IOSCHED_DEADLINE is not set | ||
130 | CONFIG_IOSCHED_CFQ=y | ||
131 | # CONFIG_DEFAULT_AS is not set | ||
132 | # CONFIG_DEFAULT_DEADLINE is not set | ||
133 | CONFIG_DEFAULT_CFQ=y | ||
134 | # CONFIG_DEFAULT_NOOP is not set | ||
135 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
136 | CONFIG_FREEZER=y | ||
137 | |||
138 | # | ||
139 | # System Type and features | ||
140 | # | ||
141 | CONFIG_TICK_ONESHOT=y | ||
142 | CONFIG_NO_HZ=y | ||
143 | CONFIG_HIGH_RES_TIMERS=y | ||
144 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
145 | CONFIG_SUBARCH_AVR32B=y | ||
146 | CONFIG_MMU=y | ||
147 | CONFIG_PERFORMANCE_COUNTERS=y | ||
148 | CONFIG_PLATFORM_AT32AP=y | ||
149 | CONFIG_CPU_AT32AP700X=y | ||
150 | CONFIG_CPU_AT32AP7000=y | ||
151 | CONFIG_BOARD_ATNGW100_COMMON=y | ||
152 | # CONFIG_BOARD_ATSTK1000 is not set | ||
153 | # CONFIG_BOARD_ATNGW100_MKI is not set | ||
154 | CONFIG_BOARD_ATNGW100_MKII=y | ||
155 | # CONFIG_BOARD_HAMMERHEAD is not set | ||
156 | # CONFIG_BOARD_FAVR_32 is not set | ||
157 | # CONFIG_BOARD_MERISC is not set | ||
158 | # CONFIG_BOARD_MIMC200 is not set | ||
159 | CONFIG_BOARD_ATNGW100_MKII_LCD=y | ||
160 | # CONFIG_BOARD_ATNGW100_ADDON_NONE is not set | ||
161 | CONFIG_BOARD_ATNGW100_EVKLCD10X=y | ||
162 | # CONFIG_BOARD_ATNGW100_MRMT is not set | ||
163 | # CONFIG_BOARD_ATNGW100_EVKLCD10X_QVGA is not set | ||
164 | CONFIG_BOARD_ATNGW100_EVKLCD10X_VGA=y | ||
165 | # CONFIG_BOARD_ATNGW100_EVKLCD10X_POW_QVGA is not set | ||
166 | CONFIG_LOADER_U_BOOT=y | ||
167 | |||
168 | # | ||
169 | # Atmel AVR32 AP options | ||
170 | # | ||
171 | # CONFIG_AP700X_32_BIT_SMC is not set | ||
172 | CONFIG_AP700X_16_BIT_SMC=y | ||
173 | # CONFIG_AP700X_8_BIT_SMC is not set | ||
174 | CONFIG_LOAD_ADDRESS=0x10000000 | ||
175 | CONFIG_ENTRY_ADDRESS=0x90000000 | ||
176 | CONFIG_PHYS_OFFSET=0x10000000 | ||
177 | CONFIG_PREEMPT_NONE=y | ||
178 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
179 | # CONFIG_PREEMPT is not set | ||
180 | CONFIG_QUICKLIST=y | ||
181 | # CONFIG_HAVE_ARCH_BOOTMEM is not set | ||
182 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set | ||
183 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set | ||
184 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
185 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
186 | # CONFIG_ARCH_SPARSEMEM_ENABLE is not set | ||
187 | CONFIG_SELECT_MEMORY_MODEL=y | ||
188 | CONFIG_FLATMEM_MANUAL=y | ||
189 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
190 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
191 | CONFIG_FLATMEM=y | ||
192 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
193 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
194 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
195 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
196 | CONFIG_ZONE_DMA_FLAG=0 | ||
197 | CONFIG_NR_QUICK=2 | ||
198 | CONFIG_VIRT_TO_BUS=y | ||
199 | CONFIG_HAVE_MLOCK=y | ||
200 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
201 | # CONFIG_KSM is not set | ||
202 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
203 | # CONFIG_OWNERSHIP_TRACE is not set | ||
204 | CONFIG_NMI_DEBUGGING=y | ||
205 | # CONFIG_HZ_100 is not set | ||
206 | CONFIG_HZ_250=y | ||
207 | # CONFIG_HZ_300 is not set | ||
208 | # CONFIG_HZ_1000 is not set | ||
209 | CONFIG_HZ=250 | ||
210 | CONFIG_SCHED_HRTICK=y | ||
211 | CONFIG_CMDLINE="" | ||
212 | |||
213 | # | ||
214 | # Power management options | ||
215 | # | ||
216 | CONFIG_PM=y | ||
217 | # CONFIG_PM_DEBUG is not set | ||
218 | CONFIG_PM_SLEEP=y | ||
219 | CONFIG_SUSPEND=y | ||
220 | CONFIG_SUSPEND_FREEZER=y | ||
221 | # CONFIG_PM_RUNTIME is not set | ||
222 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
223 | |||
224 | # | ||
225 | # CPU Frequency scaling | ||
226 | # | ||
227 | CONFIG_CPU_FREQ=y | ||
228 | CONFIG_CPU_FREQ_TABLE=y | ||
229 | # CONFIG_CPU_FREQ_DEBUG is not set | ||
230 | # CONFIG_CPU_FREQ_STAT is not set | ||
231 | # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set | ||
232 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
233 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
234 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y | ||
235 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
236 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
237 | # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set | ||
238 | CONFIG_CPU_FREQ_GOV_USERSPACE=y | ||
239 | CONFIG_CPU_FREQ_GOV_ONDEMAND=y | ||
240 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set | ||
241 | CONFIG_CPU_FREQ_AT32AP=y | ||
242 | |||
243 | # | ||
244 | # Bus options | ||
245 | # | ||
246 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
247 | # CONFIG_PCCARD is not set | ||
248 | |||
249 | # | ||
250 | # Executable file formats | ||
251 | # | ||
252 | CONFIG_BINFMT_ELF=y | ||
253 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
254 | # CONFIG_HAVE_AOUT is not set | ||
255 | # CONFIG_BINFMT_MISC is not set | ||
256 | CONFIG_NET=y | ||
257 | |||
258 | # | ||
259 | # Networking options | ||
260 | # | ||
261 | CONFIG_PACKET=y | ||
262 | CONFIG_PACKET_MMAP=y | ||
263 | CONFIG_UNIX=y | ||
264 | CONFIG_XFRM=y | ||
265 | CONFIG_XFRM_USER=y | ||
266 | # CONFIG_XFRM_SUB_POLICY is not set | ||
267 | # CONFIG_XFRM_MIGRATE is not set | ||
268 | # CONFIG_XFRM_STATISTICS is not set | ||
269 | CONFIG_XFRM_IPCOMP=y | ||
270 | CONFIG_NET_KEY=y | ||
271 | # CONFIG_NET_KEY_MIGRATE is not set | ||
272 | CONFIG_INET=y | ||
273 | CONFIG_IP_MULTICAST=y | ||
274 | CONFIG_IP_ADVANCED_ROUTER=y | ||
275 | CONFIG_ASK_IP_FIB_HASH=y | ||
276 | # CONFIG_IP_FIB_TRIE is not set | ||
277 | CONFIG_IP_FIB_HASH=y | ||
278 | # CONFIG_IP_MULTIPLE_TABLES is not set | ||
279 | # CONFIG_IP_ROUTE_MULTIPATH is not set | ||
280 | # CONFIG_IP_ROUTE_VERBOSE is not set | ||
281 | CONFIG_IP_PNP=y | ||
282 | CONFIG_IP_PNP_DHCP=y | ||
283 | # CONFIG_IP_PNP_BOOTP is not set | ||
284 | # CONFIG_IP_PNP_RARP is not set | ||
285 | # CONFIG_NET_IPIP is not set | ||
286 | # CONFIG_NET_IPGRE is not set | ||
287 | CONFIG_IP_MROUTE=y | ||
288 | CONFIG_IP_PIMSM_V1=y | ||
289 | # CONFIG_IP_PIMSM_V2 is not set | ||
290 | # CONFIG_ARPD is not set | ||
291 | CONFIG_SYN_COOKIES=y | ||
292 | CONFIG_INET_AH=y | ||
293 | CONFIG_INET_ESP=y | ||
294 | CONFIG_INET_IPCOMP=y | ||
295 | CONFIG_INET_XFRM_TUNNEL=y | ||
296 | CONFIG_INET_TUNNEL=y | ||
297 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
298 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
299 | CONFIG_INET_XFRM_MODE_BEET=y | ||
300 | # CONFIG_INET_LRO is not set | ||
301 | CONFIG_INET_DIAG=y | ||
302 | CONFIG_INET_TCP_DIAG=y | ||
303 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
304 | CONFIG_TCP_CONG_CUBIC=y | ||
305 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
306 | # CONFIG_TCP_MD5SIG is not set | ||
307 | CONFIG_IPV6=y | ||
308 | # CONFIG_IPV6_PRIVACY is not set | ||
309 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
310 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set | ||
311 | CONFIG_INET6_AH=y | ||
312 | CONFIG_INET6_ESP=y | ||
313 | CONFIG_INET6_IPCOMP=y | ||
314 | # CONFIG_IPV6_MIP6 is not set | ||
315 | CONFIG_INET6_XFRM_TUNNEL=y | ||
316 | CONFIG_INET6_TUNNEL=y | ||
317 | CONFIG_INET6_XFRM_MODE_TRANSPORT=y | ||
318 | CONFIG_INET6_XFRM_MODE_TUNNEL=y | ||
319 | CONFIG_INET6_XFRM_MODE_BEET=y | ||
320 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | ||
321 | CONFIG_IPV6_SIT=y | ||
322 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
323 | # CONFIG_IPV6_TUNNEL is not set | ||
324 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | ||
325 | # CONFIG_IPV6_MROUTE is not set | ||
326 | # CONFIG_NETWORK_SECMARK is not set | ||
327 | CONFIG_NETFILTER=y | ||
328 | # CONFIG_NETFILTER_DEBUG is not set | ||
329 | # CONFIG_NETFILTER_ADVANCED is not set | ||
330 | |||
331 | # | ||
332 | # Core Netfilter Configuration | ||
333 | # | ||
334 | CONFIG_NETFILTER_NETLINK=m | ||
335 | CONFIG_NETFILTER_NETLINK_LOG=m | ||
336 | CONFIG_NF_CONNTRACK=m | ||
337 | CONFIG_NF_CONNTRACK_FTP=m | ||
338 | CONFIG_NF_CONNTRACK_IRC=m | ||
339 | CONFIG_NF_CONNTRACK_SIP=m | ||
340 | CONFIG_NF_CT_NETLINK=m | ||
341 | CONFIG_NETFILTER_XTABLES=y | ||
342 | CONFIG_NETFILTER_XT_TARGET_MARK=m | ||
343 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | ||
344 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m | ||
345 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | ||
346 | CONFIG_NETFILTER_XT_MATCH_MARK=m | ||
347 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
348 | CONFIG_NETFILTER_XT_MATCH_STATE=m | ||
349 | # CONFIG_IP_VS is not set | ||
350 | |||
351 | # | ||
352 | # IP: Netfilter Configuration | ||
353 | # | ||
354 | CONFIG_NF_DEFRAG_IPV4=m | ||
355 | CONFIG_NF_CONNTRACK_IPV4=m | ||
356 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y | ||
357 | CONFIG_IP_NF_IPTABLES=m | ||
358 | CONFIG_IP_NF_FILTER=m | ||
359 | CONFIG_IP_NF_TARGET_REJECT=m | ||
360 | CONFIG_IP_NF_TARGET_LOG=m | ||
361 | # CONFIG_IP_NF_TARGET_ULOG is not set | ||
362 | CONFIG_NF_NAT=m | ||
363 | CONFIG_NF_NAT_NEEDED=y | ||
364 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
365 | CONFIG_NF_NAT_FTP=m | ||
366 | CONFIG_NF_NAT_IRC=m | ||
367 | # CONFIG_NF_NAT_TFTP is not set | ||
368 | # CONFIG_NF_NAT_AMANDA is not set | ||
369 | # CONFIG_NF_NAT_PPTP is not set | ||
370 | # CONFIG_NF_NAT_H323 is not set | ||
371 | CONFIG_NF_NAT_SIP=m | ||
372 | CONFIG_IP_NF_MANGLE=m | ||
373 | |||
374 | # | ||
375 | # IPv6: Netfilter Configuration | ||
376 | # | ||
377 | CONFIG_NF_CONNTRACK_IPV6=m | ||
378 | CONFIG_IP6_NF_IPTABLES=m | ||
379 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | ||
380 | CONFIG_IP6_NF_TARGET_LOG=m | ||
381 | CONFIG_IP6_NF_FILTER=m | ||
382 | CONFIG_IP6_NF_TARGET_REJECT=m | ||
383 | CONFIG_IP6_NF_MANGLE=m | ||
384 | # CONFIG_IP_DCCP is not set | ||
385 | # CONFIG_IP_SCTP is not set | ||
386 | # CONFIG_RDS is not set | ||
387 | # CONFIG_TIPC is not set | ||
388 | # CONFIG_ATM is not set | ||
389 | CONFIG_STP=m | ||
390 | CONFIG_BRIDGE=m | ||
391 | # CONFIG_NET_DSA is not set | ||
392 | CONFIG_VLAN_8021Q=m | ||
393 | # CONFIG_VLAN_8021Q_GVRP is not set | ||
394 | # CONFIG_DECNET is not set | ||
395 | CONFIG_LLC=m | ||
396 | # CONFIG_LLC2 is not set | ||
397 | # CONFIG_IPX is not set | ||
398 | # CONFIG_ATALK is not set | ||
399 | # CONFIG_X25 is not set | ||
400 | # CONFIG_LAPB is not set | ||
401 | # CONFIG_ECONET is not set | ||
402 | # CONFIG_WAN_ROUTER is not set | ||
403 | # CONFIG_PHONET is not set | ||
404 | # CONFIG_IEEE802154 is not set | ||
405 | # CONFIG_NET_SCHED is not set | ||
406 | # CONFIG_DCB is not set | ||
407 | |||
408 | # | ||
409 | # Network testing | ||
410 | # | ||
411 | # CONFIG_NET_PKTGEN is not set | ||
412 | # CONFIG_NET_TCPPROBE is not set | ||
413 | # CONFIG_NET_DROP_MONITOR is not set | ||
414 | # CONFIG_HAMRADIO is not set | ||
415 | # CONFIG_CAN is not set | ||
416 | # CONFIG_IRDA is not set | ||
417 | # CONFIG_BT is not set | ||
418 | # CONFIG_AF_RXRPC is not set | ||
419 | CONFIG_WIRELESS=y | ||
420 | # CONFIG_CFG80211 is not set | ||
421 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
422 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
423 | # CONFIG_WIRELESS_EXT is not set | ||
424 | # CONFIG_LIB80211 is not set | ||
425 | |||
426 | # | ||
427 | # CFG80211 needs to be enabled for MAC80211 | ||
428 | # | ||
429 | # CONFIG_WIMAX is not set | ||
430 | # CONFIG_RFKILL is not set | ||
431 | # CONFIG_NET_9P is not set | ||
432 | |||
433 | # | ||
434 | # Device Drivers | ||
435 | # | ||
436 | |||
437 | # | ||
438 | # Generic Driver Options | ||
439 | # | ||
440 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
441 | # CONFIG_DEVTMPFS is not set | ||
442 | CONFIG_STANDALONE=y | ||
443 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | ||
444 | # CONFIG_FW_LOADER is not set | ||
445 | # CONFIG_DEBUG_DRIVER is not set | ||
446 | # CONFIG_DEBUG_DEVRES is not set | ||
447 | # CONFIG_SYS_HYPERVISOR is not set | ||
448 | # CONFIG_CONNECTOR is not set | ||
449 | CONFIG_MTD=y | ||
450 | # CONFIG_MTD_DEBUG is not set | ||
451 | # CONFIG_MTD_TESTS is not set | ||
452 | # CONFIG_MTD_CONCAT is not set | ||
453 | CONFIG_MTD_PARTITIONS=y | ||
454 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
455 | CONFIG_MTD_CMDLINE_PARTS=y | ||
456 | # CONFIG_MTD_AR7_PARTS is not set | ||
457 | |||
458 | # | ||
459 | # User Modules And Translation Layers | ||
460 | # | ||
461 | CONFIG_MTD_CHAR=y | ||
462 | CONFIG_MTD_BLKDEVS=y | ||
463 | CONFIG_MTD_BLOCK=y | ||
464 | # CONFIG_FTL is not set | ||
465 | # CONFIG_NFTL is not set | ||
466 | # CONFIG_INFTL is not set | ||
467 | # CONFIG_RFD_FTL is not set | ||
468 | # CONFIG_SSFDC is not set | ||
469 | # CONFIG_MTD_OOPS is not set | ||
470 | |||
471 | # | ||
472 | # RAM/ROM/Flash chip drivers | ||
473 | # | ||
474 | CONFIG_MTD_CFI=y | ||
475 | # CONFIG_MTD_JEDECPROBE is not set | ||
476 | CONFIG_MTD_GEN_PROBE=y | ||
477 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
478 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
479 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
480 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
481 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
482 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
483 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
484 | CONFIG_MTD_CFI_I1=y | ||
485 | CONFIG_MTD_CFI_I2=y | ||
486 | # CONFIG_MTD_CFI_I4 is not set | ||
487 | # CONFIG_MTD_CFI_I8 is not set | ||
488 | CONFIG_MTD_CFI_INTELEXT=y | ||
489 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
490 | # CONFIG_MTD_CFI_STAA is not set | ||
491 | CONFIG_MTD_CFI_UTIL=y | ||
492 | # CONFIG_MTD_RAM is not set | ||
493 | # CONFIG_MTD_ROM is not set | ||
494 | # CONFIG_MTD_ABSENT is not set | ||
495 | |||
496 | # | ||
497 | # Mapping drivers for chip access | ||
498 | # | ||
499 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
500 | CONFIG_MTD_PHYSMAP=y | ||
501 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | ||
502 | # CONFIG_MTD_PLATRAM is not set | ||
503 | |||
504 | # | ||
505 | # Self-contained MTD device drivers | ||
506 | # | ||
507 | CONFIG_MTD_DATAFLASH=y | ||
508 | # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set | ||
509 | # CONFIG_MTD_DATAFLASH_OTP is not set | ||
510 | # CONFIG_MTD_M25P80 is not set | ||
511 | # CONFIG_MTD_SST25L is not set | ||
512 | # CONFIG_MTD_SLRAM is not set | ||
513 | # CONFIG_MTD_PHRAM is not set | ||
514 | # CONFIG_MTD_MTDRAM is not set | ||
515 | # CONFIG_MTD_BLOCK2MTD is not set | ||
516 | |||
517 | # | ||
518 | # Disk-On-Chip Device Drivers | ||
519 | # | ||
520 | # CONFIG_MTD_DOC2000 is not set | ||
521 | # CONFIG_MTD_DOC2001 is not set | ||
522 | # CONFIG_MTD_DOC2001PLUS is not set | ||
523 | CONFIG_MTD_NAND=y | ||
524 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
525 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
526 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
527 | CONFIG_MTD_NAND_IDS=y | ||
528 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
529 | CONFIG_MTD_NAND_ATMEL=y | ||
530 | CONFIG_MTD_NAND_ATMEL_ECC_HW=y | ||
531 | # CONFIG_MTD_NAND_ATMEL_ECC_SOFT is not set | ||
532 | # CONFIG_MTD_NAND_ATMEL_ECC_NONE is not set | ||
533 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
534 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
535 | # CONFIG_MTD_ONENAND is not set | ||
536 | |||
537 | # | ||
538 | # LPDDR flash memory drivers | ||
539 | # | ||
540 | # CONFIG_MTD_LPDDR is not set | ||
541 | |||
542 | # | ||
543 | # UBI - Unsorted block images | ||
544 | # | ||
545 | CONFIG_MTD_UBI=y | ||
546 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
547 | CONFIG_MTD_UBI_BEB_RESERVE=1 | ||
548 | # CONFIG_MTD_UBI_GLUEBI is not set | ||
549 | |||
550 | # | ||
551 | # UBI debugging options | ||
552 | # | ||
553 | # CONFIG_MTD_UBI_DEBUG is not set | ||
554 | # CONFIG_PARPORT is not set | ||
555 | CONFIG_BLK_DEV=y | ||
556 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
557 | CONFIG_BLK_DEV_LOOP=m | ||
558 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
559 | CONFIG_BLK_DEV_NBD=m | ||
560 | CONFIG_BLK_DEV_RAM=m | ||
561 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
562 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
563 | # CONFIG_BLK_DEV_XIP is not set | ||
564 | # CONFIG_CDROM_PKTCDVD is not set | ||
565 | # CONFIG_ATA_OVER_ETH is not set | ||
566 | CONFIG_MISC_DEVICES=y | ||
567 | # CONFIG_ATMEL_PWM is not set | ||
568 | CONFIG_ATMEL_TCLIB=y | ||
569 | CONFIG_ATMEL_TCB_CLKSRC=y | ||
570 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 | ||
571 | # CONFIG_ICS932S401 is not set | ||
572 | # CONFIG_ATMEL_SSC is not set | ||
573 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
574 | # CONFIG_ISL29003 is not set | ||
575 | # CONFIG_C2PORT is not set | ||
576 | |||
577 | # | ||
578 | # EEPROM support | ||
579 | # | ||
580 | # CONFIG_EEPROM_AT24 is not set | ||
581 | # CONFIG_EEPROM_AT25 is not set | ||
582 | # CONFIG_EEPROM_LEGACY is not set | ||
583 | # CONFIG_EEPROM_MAX6875 is not set | ||
584 | # CONFIG_EEPROM_93CX6 is not set | ||
585 | |||
586 | # | ||
587 | # SCSI device support | ||
588 | # | ||
589 | # CONFIG_RAID_ATTRS is not set | ||
590 | # CONFIG_SCSI is not set | ||
591 | # CONFIG_SCSI_DMA is not set | ||
592 | # CONFIG_SCSI_NETLINK is not set | ||
593 | # CONFIG_ATA is not set | ||
594 | # CONFIG_MD is not set | ||
595 | CONFIG_NETDEVICES=y | ||
596 | # CONFIG_DUMMY is not set | ||
597 | # CONFIG_BONDING is not set | ||
598 | # CONFIG_MACVLAN is not set | ||
599 | # CONFIG_EQUALIZER is not set | ||
600 | # CONFIG_TUN is not set | ||
601 | # CONFIG_VETH is not set | ||
602 | CONFIG_PHYLIB=y | ||
603 | |||
604 | # | ||
605 | # MII PHY device drivers | ||
606 | # | ||
607 | # CONFIG_MARVELL_PHY is not set | ||
608 | # CONFIG_DAVICOM_PHY is not set | ||
609 | # CONFIG_QSEMI_PHY is not set | ||
610 | # CONFIG_LXT_PHY is not set | ||
611 | # CONFIG_CICADA_PHY is not set | ||
612 | # CONFIG_VITESSE_PHY is not set | ||
613 | # CONFIG_SMSC_PHY is not set | ||
614 | # CONFIG_BROADCOM_PHY is not set | ||
615 | # CONFIG_ICPLUS_PHY is not set | ||
616 | # CONFIG_REALTEK_PHY is not set | ||
617 | # CONFIG_NATIONAL_PHY is not set | ||
618 | # CONFIG_STE10XP is not set | ||
619 | # CONFIG_LSI_ET1011C_PHY is not set | ||
620 | # CONFIG_FIXED_PHY is not set | ||
621 | # CONFIG_MDIO_BITBANG is not set | ||
622 | CONFIG_NET_ETHERNET=y | ||
623 | # CONFIG_MII is not set | ||
624 | CONFIG_MACB=y | ||
625 | # CONFIG_ENC28J60 is not set | ||
626 | # CONFIG_ETHOC is not set | ||
627 | # CONFIG_DNET 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_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
633 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
634 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
635 | # CONFIG_B44 is not set | ||
636 | # CONFIG_KS8842 is not set | ||
637 | # CONFIG_KS8851 is not set | ||
638 | # CONFIG_KS8851_MLL is not set | ||
639 | # CONFIG_NETDEV_1000 is not set | ||
640 | # CONFIG_NETDEV_10000 is not set | ||
641 | CONFIG_WLAN=y | ||
642 | # CONFIG_WLAN_PRE80211 is not set | ||
643 | # CONFIG_WLAN_80211 is not set | ||
644 | |||
645 | # | ||
646 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
647 | # | ||
648 | # CONFIG_WAN is not set | ||
649 | CONFIG_PPP=m | ||
650 | # CONFIG_PPP_MULTILINK is not set | ||
651 | CONFIG_PPP_FILTER=y | ||
652 | CONFIG_PPP_ASYNC=m | ||
653 | # CONFIG_PPP_SYNC_TTY is not set | ||
654 | CONFIG_PPP_DEFLATE=m | ||
655 | CONFIG_PPP_BSDCOMP=m | ||
656 | CONFIG_PPP_MPPE=m | ||
657 | CONFIG_PPPOE=m | ||
658 | # CONFIG_PPPOL2TP is not set | ||
659 | # CONFIG_SLIP is not set | ||
660 | CONFIG_SLHC=m | ||
661 | # CONFIG_NETCONSOLE is not set | ||
662 | # CONFIG_NETPOLL is not set | ||
663 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
664 | # CONFIG_ISDN is not set | ||
665 | # CONFIG_PHONE is not set | ||
666 | |||
667 | # | ||
668 | # Input device support | ||
669 | # | ||
670 | CONFIG_INPUT=y | ||
671 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
672 | # CONFIG_INPUT_POLLDEV is not set | ||
673 | |||
674 | # | ||
675 | # Userland interfaces | ||
676 | # | ||
677 | # CONFIG_INPUT_MOUSEDEV is not set | ||
678 | # CONFIG_INPUT_JOYDEV is not set | ||
679 | CONFIG_INPUT_EVDEV=m | ||
680 | # CONFIG_INPUT_EVBUG is not set | ||
681 | |||
682 | # | ||
683 | # Input Device Drivers | ||
684 | # | ||
685 | # CONFIG_INPUT_KEYBOARD is not set | ||
686 | # CONFIG_INPUT_MOUSE is not set | ||
687 | # CONFIG_INPUT_JOYSTICK is not set | ||
688 | # CONFIG_INPUT_TABLET is not set | ||
689 | CONFIG_INPUT_TOUCHSCREEN=y | ||
690 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | ||
691 | # CONFIG_TOUCHSCREEN_AD7877 is not set | ||
692 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | ||
693 | # CONFIG_TOUCHSCREEN_AD7879_SPI is not set | ||
694 | # CONFIG_TOUCHSCREEN_AD7879 is not set | ||
695 | # CONFIG_TOUCHSCREEN_EETI is not set | ||
696 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | ||
697 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
698 | # CONFIG_TOUCHSCREEN_ELO is not set | ||
699 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
700 | # CONFIG_TOUCHSCREEN_MCS5000 is not set | ||
701 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | ||
702 | # CONFIG_TOUCHSCREEN_INEXIO is not set | ||
703 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
704 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | ||
705 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | ||
706 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | ||
707 | CONFIG_TOUCHSCREEN_WM97XX=m | ||
708 | CONFIG_TOUCHSCREEN_WM9705=y | ||
709 | CONFIG_TOUCHSCREEN_WM9712=y | ||
710 | CONFIG_TOUCHSCREEN_WM9713=y | ||
711 | # CONFIG_TOUCHSCREEN_WM97XX_ATMEL is not set | ||
712 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | ||
713 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
714 | # CONFIG_TOUCHSCREEN_W90X900 is not set | ||
715 | # CONFIG_INPUT_MISC is not set | ||
716 | |||
717 | # | ||
718 | # Hardware I/O ports | ||
719 | # | ||
720 | # CONFIG_SERIO is not set | ||
721 | # CONFIG_GAMEPORT is not set | ||
722 | |||
723 | # | ||
724 | # Character devices | ||
725 | # | ||
726 | CONFIG_VT=y | ||
727 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
728 | CONFIG_VT_CONSOLE=y | ||
729 | CONFIG_HW_CONSOLE=y | ||
730 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
731 | CONFIG_DEVKMEM=y | ||
732 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
733 | |||
734 | # | ||
735 | # Serial drivers | ||
736 | # | ||
737 | # CONFIG_SERIAL_8250 is not set | ||
738 | |||
739 | # | ||
740 | # Non-8250 serial port support | ||
741 | # | ||
742 | CONFIG_SERIAL_ATMEL=y | ||
743 | CONFIG_SERIAL_ATMEL_CONSOLE=y | ||
744 | CONFIG_SERIAL_ATMEL_PDC=y | ||
745 | # CONFIG_SERIAL_ATMEL_TTYAT is not set | ||
746 | # CONFIG_SERIAL_MAX3100 is not set | ||
747 | CONFIG_SERIAL_CORE=y | ||
748 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
749 | CONFIG_UNIX98_PTYS=y | ||
750 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
751 | # CONFIG_LEGACY_PTYS is not set | ||
752 | # CONFIG_IPMI_HANDLER is not set | ||
753 | # CONFIG_HW_RANDOM is not set | ||
754 | # CONFIG_R3964 is not set | ||
755 | # CONFIG_RAW_DRIVER is not set | ||
756 | # CONFIG_TCG_TPM is not set | ||
757 | CONFIG_I2C=m | ||
758 | CONFIG_I2C_BOARDINFO=y | ||
759 | CONFIG_I2C_COMPAT=y | ||
760 | CONFIG_I2C_CHARDEV=m | ||
761 | CONFIG_I2C_HELPER_AUTO=y | ||
762 | CONFIG_I2C_ALGOBIT=m | ||
763 | |||
764 | # | ||
765 | # I2C Hardware Bus support | ||
766 | # | ||
767 | |||
768 | # | ||
769 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
770 | # | ||
771 | # CONFIG_I2C_DESIGNWARE is not set | ||
772 | CONFIG_I2C_GPIO=m | ||
773 | # CONFIG_I2C_OCORES is not set | ||
774 | # CONFIG_I2C_SIMTEC is not set | ||
775 | |||
776 | # | ||
777 | # External I2C/SMBus adapter drivers | ||
778 | # | ||
779 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
780 | # CONFIG_I2C_TAOS_EVM is not set | ||
781 | |||
782 | # | ||
783 | # Other I2C/SMBus bus drivers | ||
784 | # | ||
785 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
786 | # CONFIG_I2C_STUB is not set | ||
787 | |||
788 | # | ||
789 | # Miscellaneous I2C Chip support | ||
790 | # | ||
791 | # CONFIG_DS1682 is not set | ||
792 | # CONFIG_SENSORS_TSL2550 is not set | ||
793 | # CONFIG_I2C_DEBUG_CORE is not set | ||
794 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
795 | # CONFIG_I2C_DEBUG_BUS is not set | ||
796 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
797 | CONFIG_SPI=y | ||
798 | # CONFIG_SPI_DEBUG is not set | ||
799 | CONFIG_SPI_MASTER=y | ||
800 | |||
801 | # | ||
802 | # SPI Master Controller Drivers | ||
803 | # | ||
804 | CONFIG_SPI_ATMEL=y | ||
805 | # CONFIG_SPI_BITBANG is not set | ||
806 | # CONFIG_SPI_GPIO is not set | ||
807 | |||
808 | # | ||
809 | # SPI Protocol Masters | ||
810 | # | ||
811 | CONFIG_SPI_SPIDEV=m | ||
812 | # CONFIG_SPI_TLE62X0 is not set | ||
813 | |||
814 | # | ||
815 | # PPS support | ||
816 | # | ||
817 | # CONFIG_PPS is not set | ||
818 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
819 | CONFIG_GPIOLIB=y | ||
820 | # CONFIG_DEBUG_GPIO is not set | ||
821 | # CONFIG_GPIO_SYSFS is not set | ||
822 | |||
823 | # | ||
824 | # Memory mapped GPIO expanders: | ||
825 | # | ||
826 | |||
827 | # | ||
828 | # I2C GPIO expanders: | ||
829 | # | ||
830 | # CONFIG_GPIO_MAX732X is not set | ||
831 | # CONFIG_GPIO_PCA953X is not set | ||
832 | # CONFIG_GPIO_PCF857X is not set | ||
833 | |||
834 | # | ||
835 | # PCI GPIO expanders: | ||
836 | # | ||
837 | |||
838 | # | ||
839 | # SPI GPIO expanders: | ||
840 | # | ||
841 | # CONFIG_GPIO_MAX7301 is not set | ||
842 | # CONFIG_GPIO_MCP23S08 is not set | ||
843 | # CONFIG_GPIO_MC33880 is not set | ||
844 | |||
845 | # | ||
846 | # AC97 GPIO expanders: | ||
847 | # | ||
848 | # CONFIG_W1 is not set | ||
849 | # CONFIG_POWER_SUPPLY is not set | ||
850 | # CONFIG_HWMON is not set | ||
851 | # CONFIG_THERMAL is not set | ||
852 | CONFIG_WATCHDOG=y | ||
853 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
854 | |||
855 | # | ||
856 | # Watchdog Device Drivers | ||
857 | # | ||
858 | # CONFIG_SOFT_WATCHDOG is not set | ||
859 | CONFIG_AT32AP700X_WDT=y | ||
860 | CONFIG_SSB_POSSIBLE=y | ||
861 | |||
862 | # | ||
863 | # Sonics Silicon Backplane | ||
864 | # | ||
865 | # CONFIG_SSB is not set | ||
866 | |||
867 | # | ||
868 | # Multifunction device drivers | ||
869 | # | ||
870 | # CONFIG_MFD_CORE is not set | ||
871 | # CONFIG_MFD_SM501 is not set | ||
872 | # CONFIG_HTC_PASIC3 is not set | ||
873 | # CONFIG_UCB1400_CORE is not set | ||
874 | # CONFIG_TPS65010 is not set | ||
875 | # CONFIG_MFD_TMIO is not set | ||
876 | # CONFIG_MFD_WM8400 is not set | ||
877 | # CONFIG_MFD_WM831X is not set | ||
878 | # CONFIG_MFD_WM8350_I2C is not set | ||
879 | # CONFIG_MFD_PCF50633 is not set | ||
880 | # CONFIG_MFD_MC13783 is not set | ||
881 | # CONFIG_AB3100_CORE is not set | ||
882 | # CONFIG_EZX_PCAP is not set | ||
883 | # CONFIG_REGULATOR is not set | ||
884 | # CONFIG_MEDIA_SUPPORT is not set | ||
885 | |||
886 | # | ||
887 | # Graphics support | ||
888 | # | ||
889 | # CONFIG_VGASTATE is not set | ||
890 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
891 | CONFIG_FB=y | ||
892 | # CONFIG_FIRMWARE_EDID is not set | ||
893 | # CONFIG_FB_DDC is not set | ||
894 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
895 | CONFIG_FB_CFB_FILLRECT=y | ||
896 | CONFIG_FB_CFB_COPYAREA=y | ||
897 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
898 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
899 | # CONFIG_FB_SYS_FILLRECT is not set | ||
900 | # CONFIG_FB_SYS_COPYAREA is not set | ||
901 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
902 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
903 | # CONFIG_FB_SYS_FOPS is not set | ||
904 | # CONFIG_FB_SVGALIB is not set | ||
905 | # CONFIG_FB_MACMODES is not set | ||
906 | # CONFIG_FB_BACKLIGHT is not set | ||
907 | # CONFIG_FB_MODE_HELPERS is not set | ||
908 | # CONFIG_FB_TILEBLITTING is not set | ||
909 | |||
910 | # | ||
911 | # Frame buffer hardware drivers | ||
912 | # | ||
913 | # CONFIG_FB_S1D13XXX is not set | ||
914 | CONFIG_FB_ATMEL=y | ||
915 | # CONFIG_FB_VIRTUAL is not set | ||
916 | # CONFIG_FB_METRONOME is not set | ||
917 | # CONFIG_FB_MB862XX is not set | ||
918 | # CONFIG_FB_BROADSHEET is not set | ||
919 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
920 | |||
921 | # | ||
922 | # Display device support | ||
923 | # | ||
924 | # CONFIG_DISPLAY_SUPPORT is not set | ||
925 | |||
926 | # | ||
927 | # Console display driver support | ||
928 | # | ||
929 | CONFIG_DUMMY_CONSOLE=y | ||
930 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | ||
931 | # CONFIG_LOGO is not set | ||
932 | CONFIG_SOUND=y | ||
933 | CONFIG_SOUND_OSS_CORE=y | ||
934 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
935 | CONFIG_SND=y | ||
936 | CONFIG_SND_TIMER=y | ||
937 | CONFIG_SND_PCM=m | ||
938 | # CONFIG_SND_SEQUENCER is not set | ||
939 | CONFIG_SND_OSSEMUL=y | ||
940 | CONFIG_SND_MIXER_OSS=m | ||
941 | CONFIG_SND_PCM_OSS=m | ||
942 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
943 | CONFIG_SND_HRTIMER=y | ||
944 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
945 | # CONFIG_SND_SUPPORT_OLD_API is not set | ||
946 | CONFIG_SND_VERBOSE_PROCFS=y | ||
947 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
948 | # CONFIG_SND_DEBUG is not set | ||
949 | CONFIG_SND_VMASTER=y | ||
950 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
951 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
952 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
953 | # CONFIG_SND_SBAWE_SEQ is not set | ||
954 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
955 | CONFIG_SND_AC97_CODEC=m | ||
956 | # CONFIG_SND_DRIVERS is not set | ||
957 | |||
958 | # | ||
959 | # Atmel devices (AVR32 and AT91) | ||
960 | # | ||
961 | # CONFIG_SND_ATMEL_ABDAC is not set | ||
962 | CONFIG_SND_ATMEL_AC97C=m | ||
963 | # CONFIG_SND_SPI is not set | ||
964 | # CONFIG_SND_SOC is not set | ||
965 | # CONFIG_SOUND_PRIME is not set | ||
966 | CONFIG_AC97_BUS=m | ||
967 | CONFIG_HID_SUPPORT=y | ||
968 | CONFIG_HID=y | ||
969 | # CONFIG_HIDRAW is not set | ||
970 | # CONFIG_HID_PID is not set | ||
971 | |||
972 | # | ||
973 | # Special HID drivers | ||
974 | # | ||
975 | CONFIG_USB_SUPPORT=y | ||
976 | # CONFIG_USB_ARCH_HAS_HCD is not set | ||
977 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
978 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
979 | # CONFIG_USB_OTG_WHITELIST is not set | ||
980 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
981 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
982 | |||
983 | # | ||
984 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may | ||
985 | # | ||
986 | CONFIG_USB_GADGET=y | ||
987 | # CONFIG_USB_GADGET_DEBUG is not set | ||
988 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
989 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
990 | CONFIG_USB_GADGET_VBUS_DRAW=350 | ||
991 | CONFIG_USB_GADGET_SELECTED=y | ||
992 | # CONFIG_USB_GADGET_AT91 is not set | ||
993 | CONFIG_USB_GADGET_ATMEL_USBA=y | ||
994 | CONFIG_USB_ATMEL_USBA=y | ||
995 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
996 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
997 | # CONFIG_USB_GADGET_OMAP is not set | ||
998 | # CONFIG_USB_GADGET_PXA25X is not set | ||
999 | # CONFIG_USB_GADGET_R8A66597 is not set | ||
1000 | # CONFIG_USB_GADGET_PXA27X is not set | ||
1001 | # CONFIG_USB_GADGET_S3C_HSOTG is not set | ||
1002 | # CONFIG_USB_GADGET_IMX is not set | ||
1003 | # CONFIG_USB_GADGET_S3C2410 is not set | ||
1004 | # CONFIG_USB_GADGET_M66592 is not set | ||
1005 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
1006 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
1007 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
1008 | # CONFIG_USB_GADGET_NET2280 is not set | ||
1009 | # CONFIG_USB_GADGET_GOKU is not set | ||
1010 | # CONFIG_USB_GADGET_LANGWELL is not set | ||
1011 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
1012 | CONFIG_USB_GADGET_DUALSPEED=y | ||
1013 | CONFIG_USB_ZERO=m | ||
1014 | # CONFIG_USB_AUDIO is not set | ||
1015 | CONFIG_USB_ETH=m | ||
1016 | CONFIG_USB_ETH_RNDIS=y | ||
1017 | # CONFIG_USB_ETH_EEM is not set | ||
1018 | CONFIG_USB_GADGETFS=m | ||
1019 | CONFIG_USB_FILE_STORAGE=m | ||
1020 | # CONFIG_USB_FILE_STORAGE_TEST is not set | ||
1021 | CONFIG_USB_G_SERIAL=m | ||
1022 | # CONFIG_USB_MIDI_GADGET is not set | ||
1023 | # CONFIG_USB_G_PRINTER is not set | ||
1024 | CONFIG_USB_CDC_COMPOSITE=m | ||
1025 | |||
1026 | # | ||
1027 | # OTG and related infrastructure | ||
1028 | # | ||
1029 | # CONFIG_USB_GPIO_VBUS is not set | ||
1030 | # CONFIG_NOP_USB_XCEIV is not set | ||
1031 | CONFIG_MMC=y | ||
1032 | # CONFIG_MMC_DEBUG is not set | ||
1033 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
1034 | |||
1035 | # | ||
1036 | # MMC/SD/SDIO Card Drivers | ||
1037 | # | ||
1038 | CONFIG_MMC_BLOCK=y | ||
1039 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
1040 | # CONFIG_SDIO_UART is not set | ||
1041 | # CONFIG_MMC_TEST is not set | ||
1042 | |||
1043 | # | ||
1044 | # MMC/SD/SDIO Host Controller Drivers | ||
1045 | # | ||
1046 | # CONFIG_MMC_SDHCI is not set | ||
1047 | # CONFIG_MMC_AT91 is not set | ||
1048 | CONFIG_MMC_ATMELMCI=y | ||
1049 | # CONFIG_MMC_ATMELMCI_DMA is not set | ||
1050 | # CONFIG_MMC_SPI is not set | ||
1051 | # CONFIG_MEMSTICK is not set | ||
1052 | CONFIG_NEW_LEDS=y | ||
1053 | CONFIG_LEDS_CLASS=y | ||
1054 | |||
1055 | # | ||
1056 | # LED drivers | ||
1057 | # | ||
1058 | # CONFIG_LEDS_PCA9532 is not set | ||
1059 | CONFIG_LEDS_GPIO=y | ||
1060 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
1061 | # CONFIG_LEDS_LP3944 is not set | ||
1062 | # CONFIG_LEDS_PCA955X is not set | ||
1063 | # CONFIG_LEDS_DAC124S085 is not set | ||
1064 | # CONFIG_LEDS_BD2802 is not set | ||
1065 | |||
1066 | # | ||
1067 | # LED Triggers | ||
1068 | # | ||
1069 | CONFIG_LEDS_TRIGGERS=y | ||
1070 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
1071 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
1072 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
1073 | # CONFIG_LEDS_TRIGGER_GPIO is not set | ||
1074 | # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set | ||
1075 | |||
1076 | # | ||
1077 | # iptables trigger is under Netfilter config (LED target) | ||
1078 | # | ||
1079 | # CONFIG_ACCESSIBILITY is not set | ||
1080 | CONFIG_RTC_LIB=y | ||
1081 | CONFIG_RTC_CLASS=y | ||
1082 | CONFIG_RTC_HCTOSYS=y | ||
1083 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
1084 | # CONFIG_RTC_DEBUG is not set | ||
1085 | |||
1086 | # | ||
1087 | # RTC interfaces | ||
1088 | # | ||
1089 | CONFIG_RTC_INTF_SYSFS=y | ||
1090 | CONFIG_RTC_INTF_PROC=y | ||
1091 | CONFIG_RTC_INTF_DEV=y | ||
1092 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1093 | # CONFIG_RTC_DRV_TEST is not set | ||
1094 | |||
1095 | # | ||
1096 | # I2C RTC drivers | ||
1097 | # | ||
1098 | # CONFIG_RTC_DRV_DS1307 is not set | ||
1099 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1100 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1101 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1102 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1103 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1104 | # CONFIG_RTC_DRV_X1205 is not set | ||
1105 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1106 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1107 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1108 | # CONFIG_RTC_DRV_S35390A is not set | ||
1109 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1110 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1111 | # CONFIG_RTC_DRV_RX8025 is not set | ||
1112 | |||
1113 | # | ||
1114 | # SPI RTC drivers | ||
1115 | # | ||
1116 | # CONFIG_RTC_DRV_M41T94 is not set | ||
1117 | # CONFIG_RTC_DRV_DS1305 is not set | ||
1118 | # CONFIG_RTC_DRV_DS1390 is not set | ||
1119 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
1120 | # CONFIG_RTC_DRV_R9701 is not set | ||
1121 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
1122 | # CONFIG_RTC_DRV_DS3234 is not set | ||
1123 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
1124 | |||
1125 | # | ||
1126 | # Platform RTC drivers | ||
1127 | # | ||
1128 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1129 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1130 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1131 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1132 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1133 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1134 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1135 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1136 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1137 | # CONFIG_RTC_DRV_V3020 is not set | ||
1138 | |||
1139 | # | ||
1140 | # on-CPU RTC drivers | ||
1141 | # | ||
1142 | CONFIG_RTC_DRV_AT32AP700X=y | ||
1143 | CONFIG_DMADEVICES=y | ||
1144 | |||
1145 | # | ||
1146 | # DMA Devices | ||
1147 | # | ||
1148 | CONFIG_DW_DMAC=y | ||
1149 | CONFIG_DMA_ENGINE=y | ||
1150 | |||
1151 | # | ||
1152 | # DMA Clients | ||
1153 | # | ||
1154 | # CONFIG_NET_DMA is not set | ||
1155 | # CONFIG_ASYNC_TX_DMA is not set | ||
1156 | # CONFIG_DMATEST is not set | ||
1157 | # CONFIG_AUXDISPLAY is not set | ||
1158 | # CONFIG_UIO is not set | ||
1159 | |||
1160 | # | ||
1161 | # TI VLYNQ | ||
1162 | # | ||
1163 | # CONFIG_STAGING is not set | ||
1164 | |||
1165 | # | ||
1166 | # File systems | ||
1167 | # | ||
1168 | CONFIG_EXT2_FS=y | ||
1169 | # CONFIG_EXT2_FS_XATTR is not set | ||
1170 | # CONFIG_EXT2_FS_XIP is not set | ||
1171 | CONFIG_EXT3_FS=y | ||
1172 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1173 | # CONFIG_EXT3_FS_XATTR is not set | ||
1174 | # CONFIG_EXT4_FS is not set | ||
1175 | CONFIG_JBD=y | ||
1176 | # CONFIG_JBD_DEBUG is not set | ||
1177 | # CONFIG_REISERFS_FS is not set | ||
1178 | # CONFIG_JFS_FS is not set | ||
1179 | # CONFIG_FS_POSIX_ACL is not set | ||
1180 | # CONFIG_XFS_FS is not set | ||
1181 | # CONFIG_GFS2_FS is not set | ||
1182 | # CONFIG_OCFS2_FS is not set | ||
1183 | # CONFIG_BTRFS_FS is not set | ||
1184 | # CONFIG_NILFS2_FS is not set | ||
1185 | CONFIG_FILE_LOCKING=y | ||
1186 | CONFIG_FSNOTIFY=y | ||
1187 | # CONFIG_DNOTIFY is not set | ||
1188 | CONFIG_INOTIFY=y | ||
1189 | CONFIG_INOTIFY_USER=y | ||
1190 | # CONFIG_QUOTA is not set | ||
1191 | # CONFIG_AUTOFS_FS is not set | ||
1192 | # CONFIG_AUTOFS4_FS is not set | ||
1193 | CONFIG_FUSE_FS=m | ||
1194 | # CONFIG_CUSE is not set | ||
1195 | |||
1196 | # | ||
1197 | # Caches | ||
1198 | # | ||
1199 | # CONFIG_FSCACHE is not set | ||
1200 | |||
1201 | # | ||
1202 | # CD-ROM/DVD Filesystems | ||
1203 | # | ||
1204 | # CONFIG_ISO9660_FS is not set | ||
1205 | # CONFIG_UDF_FS is not set | ||
1206 | |||
1207 | # | ||
1208 | # DOS/FAT/NT Filesystems | ||
1209 | # | ||
1210 | CONFIG_FAT_FS=m | ||
1211 | CONFIG_MSDOS_FS=m | ||
1212 | CONFIG_VFAT_FS=m | ||
1213 | CONFIG_FAT_DEFAULT_CODEPAGE=850 | ||
1214 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1215 | # CONFIG_NTFS_FS is not set | ||
1216 | |||
1217 | # | ||
1218 | # Pseudo filesystems | ||
1219 | # | ||
1220 | CONFIG_PROC_FS=y | ||
1221 | # CONFIG_PROC_KCORE is not set | ||
1222 | CONFIG_PROC_SYSCTL=y | ||
1223 | CONFIG_PROC_PAGE_MONITOR=y | ||
1224 | CONFIG_SYSFS=y | ||
1225 | CONFIG_TMPFS=y | ||
1226 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
1227 | # CONFIG_HUGETLB_PAGE is not set | ||
1228 | CONFIG_CONFIGFS_FS=y | ||
1229 | CONFIG_MISC_FILESYSTEMS=y | ||
1230 | # CONFIG_ADFS_FS is not set | ||
1231 | # CONFIG_AFFS_FS is not set | ||
1232 | # CONFIG_HFS_FS is not set | ||
1233 | # CONFIG_HFSPLUS_FS is not set | ||
1234 | # CONFIG_BEFS_FS is not set | ||
1235 | # CONFIG_BFS_FS is not set | ||
1236 | # CONFIG_EFS_FS is not set | ||
1237 | CONFIG_JFFS2_FS=y | ||
1238 | CONFIG_JFFS2_FS_DEBUG=0 | ||
1239 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
1240 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1241 | # CONFIG_JFFS2_SUMMARY is not set | ||
1242 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1243 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
1244 | CONFIG_JFFS2_ZLIB=y | ||
1245 | # CONFIG_JFFS2_LZO is not set | ||
1246 | CONFIG_JFFS2_RTIME=y | ||
1247 | # CONFIG_JFFS2_RUBIN is not set | ||
1248 | CONFIG_UBIFS_FS=y | ||
1249 | # CONFIG_UBIFS_FS_XATTR is not set | ||
1250 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set | ||
1251 | CONFIG_UBIFS_FS_LZO=y | ||
1252 | CONFIG_UBIFS_FS_ZLIB=y | ||
1253 | # CONFIG_UBIFS_FS_DEBUG is not set | ||
1254 | # CONFIG_CRAMFS is not set | ||
1255 | # CONFIG_SQUASHFS is not set | ||
1256 | # CONFIG_VXFS_FS is not set | ||
1257 | # CONFIG_MINIX_FS is not set | ||
1258 | # CONFIG_OMFS_FS is not set | ||
1259 | # CONFIG_HPFS_FS is not set | ||
1260 | # CONFIG_QNX4FS_FS is not set | ||
1261 | # CONFIG_ROMFS_FS is not set | ||
1262 | # CONFIG_SYSV_FS is not set | ||
1263 | # CONFIG_UFS_FS is not set | ||
1264 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1265 | CONFIG_NFS_FS=y | ||
1266 | CONFIG_NFS_V3=y | ||
1267 | # CONFIG_NFS_V3_ACL is not set | ||
1268 | # CONFIG_NFS_V4 is not set | ||
1269 | CONFIG_ROOT_NFS=y | ||
1270 | CONFIG_NFSD=m | ||
1271 | CONFIG_NFSD_V3=y | ||
1272 | # CONFIG_NFSD_V3_ACL is not set | ||
1273 | # CONFIG_NFSD_V4 is not set | ||
1274 | CONFIG_LOCKD=y | ||
1275 | CONFIG_LOCKD_V4=y | ||
1276 | CONFIG_EXPORTFS=m | ||
1277 | CONFIG_NFS_COMMON=y | ||
1278 | CONFIG_SUNRPC=y | ||
1279 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
1280 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1281 | CONFIG_SMB_FS=m | ||
1282 | # CONFIG_SMB_NLS_DEFAULT is not set | ||
1283 | CONFIG_CIFS=m | ||
1284 | # CONFIG_CIFS_STATS is not set | ||
1285 | # CONFIG_CIFS_WEAK_PW_HASH is not set | ||
1286 | # CONFIG_CIFS_XATTR is not set | ||
1287 | # CONFIG_CIFS_DEBUG2 is not set | ||
1288 | # CONFIG_CIFS_EXPERIMENTAL is not set | ||
1289 | # CONFIG_NCP_FS is not set | ||
1290 | # CONFIG_CODA_FS is not set | ||
1291 | # CONFIG_AFS_FS is not set | ||
1292 | |||
1293 | # | ||
1294 | # Partition Types | ||
1295 | # | ||
1296 | # CONFIG_PARTITION_ADVANCED is not set | ||
1297 | CONFIG_MSDOS_PARTITION=y | ||
1298 | CONFIG_NLS=m | ||
1299 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1300 | CONFIG_NLS_CODEPAGE_437=m | ||
1301 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1302 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1303 | CONFIG_NLS_CODEPAGE_850=m | ||
1304 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1305 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1306 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1307 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1308 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1309 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1310 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1311 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1312 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1313 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1314 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1315 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1316 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1317 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1318 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1319 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1320 | # CONFIG_NLS_ISO8859_8 is not set | ||
1321 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1322 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1323 | # CONFIG_NLS_ASCII is not set | ||
1324 | CONFIG_NLS_ISO8859_1=m | ||
1325 | # CONFIG_NLS_ISO8859_2 is not set | ||
1326 | # CONFIG_NLS_ISO8859_3 is not set | ||
1327 | # CONFIG_NLS_ISO8859_4 is not set | ||
1328 | # CONFIG_NLS_ISO8859_5 is not set | ||
1329 | # CONFIG_NLS_ISO8859_6 is not set | ||
1330 | # CONFIG_NLS_ISO8859_7 is not set | ||
1331 | # CONFIG_NLS_ISO8859_9 is not set | ||
1332 | # CONFIG_NLS_ISO8859_13 is not set | ||
1333 | # CONFIG_NLS_ISO8859_14 is not set | ||
1334 | # CONFIG_NLS_ISO8859_15 is not set | ||
1335 | # CONFIG_NLS_KOI8_R is not set | ||
1336 | # CONFIG_NLS_KOI8_U is not set | ||
1337 | CONFIG_NLS_UTF8=m | ||
1338 | # CONFIG_DLM is not set | ||
1339 | |||
1340 | # | ||
1341 | # Kernel hacking | ||
1342 | # | ||
1343 | # CONFIG_PRINTK_TIME is not set | ||
1344 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1345 | CONFIG_ENABLE_MUST_CHECK=y | ||
1346 | CONFIG_FRAME_WARN=1024 | ||
1347 | CONFIG_MAGIC_SYSRQ=y | ||
1348 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1349 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1350 | CONFIG_DEBUG_FS=y | ||
1351 | # CONFIG_HEADERS_CHECK is not set | ||
1352 | CONFIG_DEBUG_KERNEL=y | ||
1353 | # CONFIG_DEBUG_SHIRQ is not set | ||
1354 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1355 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1356 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1357 | CONFIG_DETECT_HUNG_TASK=y | ||
1358 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1359 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1360 | CONFIG_SCHED_DEBUG=y | ||
1361 | # CONFIG_SCHEDSTATS is not set | ||
1362 | # CONFIG_TIMER_STATS is not set | ||
1363 | # CONFIG_DEBUG_OBJECTS is not set | ||
1364 | # CONFIG_SLUB_DEBUG_ON is not set | ||
1365 | # CONFIG_SLUB_STATS is not set | ||
1366 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1367 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1368 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1369 | # CONFIG_DEBUG_MUTEXES is not set | ||
1370 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1371 | # CONFIG_PROVE_LOCKING is not set | ||
1372 | # CONFIG_LOCK_STAT is not set | ||
1373 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1374 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1375 | CONFIG_STACKTRACE=y | ||
1376 | # CONFIG_DEBUG_KOBJECT is not set | ||
1377 | CONFIG_DEBUG_BUGVERBOSE=y | ||
1378 | # CONFIG_DEBUG_INFO is not set | ||
1379 | # CONFIG_DEBUG_VM is not set | ||
1380 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1381 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1382 | # CONFIG_DEBUG_LIST is not set | ||
1383 | # CONFIG_DEBUG_SG is not set | ||
1384 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1385 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1386 | CONFIG_FRAME_POINTER=y | ||
1387 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1388 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1389 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1390 | # CONFIG_KPROBES_SANITY_TEST is not set | ||
1391 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1392 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1393 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1394 | # CONFIG_LKDTM is not set | ||
1395 | # CONFIG_FAULT_INJECTION is not set | ||
1396 | # CONFIG_PAGE_POISONING is not set | ||
1397 | CONFIG_NOP_TRACER=y | ||
1398 | CONFIG_RING_BUFFER=y | ||
1399 | CONFIG_EVENT_TRACING=y | ||
1400 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
1401 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | ||
1402 | CONFIG_TRACING=y | ||
1403 | CONFIG_TRACING_SUPPORT=y | ||
1404 | CONFIG_FTRACE=y | ||
1405 | # CONFIG_IRQSOFF_TRACER is not set | ||
1406 | # CONFIG_SCHED_TRACER is not set | ||
1407 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1408 | # CONFIG_BOOT_TRACER is not set | ||
1409 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1410 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1411 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1412 | # CONFIG_KMEMTRACE is not set | ||
1413 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1414 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1415 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
1416 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1417 | # CONFIG_SAMPLES is not set | ||
1418 | |||
1419 | # | ||
1420 | # Security options | ||
1421 | # | ||
1422 | # CONFIG_KEYS is not set | ||
1423 | # CONFIG_SECURITY is not set | ||
1424 | # CONFIG_SECURITYFS is not set | ||
1425 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1426 | CONFIG_CRYPTO=y | ||
1427 | |||
1428 | # | ||
1429 | # Crypto core or helper | ||
1430 | # | ||
1431 | # CONFIG_CRYPTO_FIPS is not set | ||
1432 | CONFIG_CRYPTO_ALGAPI=y | ||
1433 | CONFIG_CRYPTO_ALGAPI2=y | ||
1434 | CONFIG_CRYPTO_AEAD=y | ||
1435 | CONFIG_CRYPTO_AEAD2=y | ||
1436 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1437 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
1438 | CONFIG_CRYPTO_HASH=y | ||
1439 | CONFIG_CRYPTO_HASH2=y | ||
1440 | CONFIG_CRYPTO_RNG=m | ||
1441 | CONFIG_CRYPTO_RNG2=y | ||
1442 | CONFIG_CRYPTO_PCOMP=y | ||
1443 | CONFIG_CRYPTO_MANAGER=y | ||
1444 | CONFIG_CRYPTO_MANAGER2=y | ||
1445 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1446 | # CONFIG_CRYPTO_NULL is not set | ||
1447 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1448 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1449 | CONFIG_CRYPTO_AUTHENC=y | ||
1450 | # CONFIG_CRYPTO_TEST is not set | ||
1451 | |||
1452 | # | ||
1453 | # Authenticated Encryption with Associated Data | ||
1454 | # | ||
1455 | # CONFIG_CRYPTO_CCM is not set | ||
1456 | # CONFIG_CRYPTO_GCM is not set | ||
1457 | # CONFIG_CRYPTO_SEQIV is not set | ||
1458 | |||
1459 | # | ||
1460 | # Block modes | ||
1461 | # | ||
1462 | CONFIG_CRYPTO_CBC=y | ||
1463 | # CONFIG_CRYPTO_CTR is not set | ||
1464 | # CONFIG_CRYPTO_CTS is not set | ||
1465 | CONFIG_CRYPTO_ECB=m | ||
1466 | # CONFIG_CRYPTO_LRW is not set | ||
1467 | # CONFIG_CRYPTO_PCBC is not set | ||
1468 | # CONFIG_CRYPTO_XTS is not set | ||
1469 | |||
1470 | # | ||
1471 | # Hash modes | ||
1472 | # | ||
1473 | CONFIG_CRYPTO_HMAC=y | ||
1474 | # CONFIG_CRYPTO_XCBC is not set | ||
1475 | # CONFIG_CRYPTO_VMAC is not set | ||
1476 | |||
1477 | # | ||
1478 | # Digest | ||
1479 | # | ||
1480 | # CONFIG_CRYPTO_CRC32C is not set | ||
1481 | # CONFIG_CRYPTO_GHASH is not set | ||
1482 | # CONFIG_CRYPTO_MD4 is not set | ||
1483 | CONFIG_CRYPTO_MD5=y | ||
1484 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1485 | # CONFIG_CRYPTO_RMD128 is not set | ||
1486 | # CONFIG_CRYPTO_RMD160 is not set | ||
1487 | # CONFIG_CRYPTO_RMD256 is not set | ||
1488 | # CONFIG_CRYPTO_RMD320 is not set | ||
1489 | CONFIG_CRYPTO_SHA1=y | ||
1490 | # CONFIG_CRYPTO_SHA256 is not set | ||
1491 | # CONFIG_CRYPTO_SHA512 is not set | ||
1492 | # CONFIG_CRYPTO_TGR192 is not set | ||
1493 | # CONFIG_CRYPTO_WP512 is not set | ||
1494 | |||
1495 | # | ||
1496 | # Ciphers | ||
1497 | # | ||
1498 | CONFIG_CRYPTO_AES=m | ||
1499 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1500 | CONFIG_CRYPTO_ARC4=m | ||
1501 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1502 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1503 | # CONFIG_CRYPTO_CAST5 is not set | ||
1504 | # CONFIG_CRYPTO_CAST6 is not set | ||
1505 | CONFIG_CRYPTO_DES=y | ||
1506 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1507 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1508 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1509 | # CONFIG_CRYPTO_SEED is not set | ||
1510 | # CONFIG_CRYPTO_SERPENT is not set | ||
1511 | # CONFIG_CRYPTO_TEA is not set | ||
1512 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1513 | |||
1514 | # | ||
1515 | # Compression | ||
1516 | # | ||
1517 | CONFIG_CRYPTO_DEFLATE=y | ||
1518 | # CONFIG_CRYPTO_ZLIB is not set | ||
1519 | CONFIG_CRYPTO_LZO=y | ||
1520 | |||
1521 | # | ||
1522 | # Random Number Generation | ||
1523 | # | ||
1524 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
1525 | CONFIG_CRYPTO_HW=y | ||
1526 | CONFIG_BINARY_PRINTF=y | ||
1527 | |||
1528 | # | ||
1529 | # Library routines | ||
1530 | # | ||
1531 | CONFIG_BITREVERSE=y | ||
1532 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1533 | CONFIG_CRC_CCITT=m | ||
1534 | CONFIG_CRC16=y | ||
1535 | # CONFIG_CRC_T10DIF is not set | ||
1536 | # CONFIG_CRC_ITU_T is not set | ||
1537 | CONFIG_CRC32=y | ||
1538 | # CONFIG_CRC7 is not set | ||
1539 | # CONFIG_LIBCRC32C is not set | ||
1540 | CONFIG_ZLIB_INFLATE=y | ||
1541 | CONFIG_ZLIB_DEFLATE=y | ||
1542 | CONFIG_LZO_COMPRESS=y | ||
1543 | CONFIG_LZO_DECOMPRESS=y | ||
1544 | CONFIG_DECOMPRESS_GZIP=y | ||
1545 | CONFIG_GENERIC_ALLOCATOR=y | ||
1546 | CONFIG_HAS_IOMEM=y | ||
1547 | CONFIG_HAS_IOPORT=y | ||
1548 | CONFIG_HAS_DMA=y | ||
1549 | CONFIG_NLATTR=y | ||
diff --git a/arch/avr32/configs/atstk1002_defconfig b/arch/avr32/configs/atstk1002_defconfig index 0abe90adb1a4..42dafce02389 100644 --- a/arch/avr32/configs/atstk1002_defconfig +++ b/arch/avr32/configs/atstk1002_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.32-rc5 |
4 | # Mon Aug 4 16:02:27 2008 | 4 | # Thu Oct 29 13:00:55 2009 |
5 | # | 5 | # |
6 | CONFIG_AVR32=y | 6 | CONFIG_AVR32=y |
7 | CONFIG_GENERIC_GPIO=y | 7 | CONFIG_GENERIC_GPIO=y |
@@ -21,6 +21,7 @@ CONFIG_GENERIC_HWEIGHT=y | |||
21 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 21 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
22 | CONFIG_GENERIC_BUG=y | 22 | CONFIG_GENERIC_BUG=y |
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
24 | 25 | ||
25 | # | 26 | # |
26 | # General setup | 27 | # General setup |
@@ -34,21 +35,36 @@ CONFIG_SWAP=y | |||
34 | CONFIG_SYSVIPC=y | 35 | CONFIG_SYSVIPC=y |
35 | CONFIG_SYSVIPC_SYSCTL=y | 36 | CONFIG_SYSVIPC_SYSCTL=y |
36 | CONFIG_POSIX_MQUEUE=y | 37 | CONFIG_POSIX_MQUEUE=y |
38 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
37 | # CONFIG_BSD_PROCESS_ACCT is not set | 39 | # CONFIG_BSD_PROCESS_ACCT is not set |
38 | # CONFIG_TASKSTATS is not set | 40 | # CONFIG_TASKSTATS is not set |
39 | # CONFIG_AUDIT is not set | 41 | # CONFIG_AUDIT is not set |
42 | |||
43 | # | ||
44 | # RCU Subsystem | ||
45 | # | ||
46 | CONFIG_TREE_RCU=y | ||
47 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
48 | # CONFIG_RCU_TRACE is not set | ||
49 | CONFIG_RCU_FANOUT=32 | ||
50 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
51 | # CONFIG_TREE_RCU_TRACE is not set | ||
40 | # CONFIG_IKCONFIG is not set | 52 | # CONFIG_IKCONFIG is not set |
41 | CONFIG_LOG_BUF_SHIFT=14 | 53 | CONFIG_LOG_BUF_SHIFT=14 |
42 | # CONFIG_CGROUPS is not set | ||
43 | # CONFIG_GROUP_SCHED is not set | 54 | # CONFIG_GROUP_SCHED is not set |
55 | # CONFIG_CGROUPS is not set | ||
44 | CONFIG_SYSFS_DEPRECATED=y | 56 | CONFIG_SYSFS_DEPRECATED=y |
45 | CONFIG_SYSFS_DEPRECATED_V2=y | 57 | CONFIG_SYSFS_DEPRECATED_V2=y |
46 | CONFIG_RELAY=y | 58 | CONFIG_RELAY=y |
47 | # CONFIG_NAMESPACES is not set | 59 | # CONFIG_NAMESPACES is not set |
48 | CONFIG_BLK_DEV_INITRD=y | 60 | CONFIG_BLK_DEV_INITRD=y |
49 | CONFIG_INITRAMFS_SOURCE="" | 61 | CONFIG_INITRAMFS_SOURCE="" |
62 | CONFIG_RD_GZIP=y | ||
63 | # CONFIG_RD_BZIP2 is not set | ||
64 | # CONFIG_RD_LZMA is not set | ||
50 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 65 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
51 | CONFIG_SYSCTL=y | 66 | CONFIG_SYSCTL=y |
67 | CONFIG_ANON_INODES=y | ||
52 | CONFIG_EMBEDDED=y | 68 | CONFIG_EMBEDDED=y |
53 | # CONFIG_SYSCTL_SYSCALL is not set | 69 | # CONFIG_SYSCTL_SYSCALL is not set |
54 | CONFIG_KALLSYMS=y | 70 | CONFIG_KALLSYMS=y |
@@ -58,38 +74,40 @@ CONFIG_HOTPLUG=y | |||
58 | CONFIG_PRINTK=y | 74 | CONFIG_PRINTK=y |
59 | CONFIG_BUG=y | 75 | CONFIG_BUG=y |
60 | CONFIG_ELF_CORE=y | 76 | CONFIG_ELF_CORE=y |
61 | # CONFIG_COMPAT_BRK is not set | ||
62 | # CONFIG_BASE_FULL is not set | 77 | # CONFIG_BASE_FULL is not set |
63 | CONFIG_FUTEX=y | 78 | CONFIG_FUTEX=y |
64 | CONFIG_ANON_INODES=y | ||
65 | CONFIG_EPOLL=y | 79 | CONFIG_EPOLL=y |
66 | CONFIG_SIGNALFD=y | 80 | CONFIG_SIGNALFD=y |
67 | CONFIG_TIMERFD=y | 81 | CONFIG_TIMERFD=y |
68 | CONFIG_EVENTFD=y | 82 | CONFIG_EVENTFD=y |
69 | CONFIG_SHMEM=y | 83 | CONFIG_SHMEM=y |
84 | CONFIG_AIO=y | ||
85 | |||
86 | # | ||
87 | # Kernel Performance Events And Counters | ||
88 | # | ||
70 | CONFIG_VM_EVENT_COUNTERS=y | 89 | CONFIG_VM_EVENT_COUNTERS=y |
71 | CONFIG_SLUB_DEBUG=y | 90 | CONFIG_SLUB_DEBUG=y |
91 | # CONFIG_COMPAT_BRK is not set | ||
72 | # CONFIG_SLAB is not set | 92 | # CONFIG_SLAB is not set |
73 | CONFIG_SLUB=y | 93 | CONFIG_SLUB=y |
74 | # CONFIG_SLOB is not set | 94 | # CONFIG_SLOB is not set |
75 | CONFIG_PROFILING=y | 95 | CONFIG_PROFILING=y |
76 | # CONFIG_MARKERS is not set | 96 | CONFIG_TRACEPOINTS=y |
77 | CONFIG_OPROFILE=m | 97 | CONFIG_OPROFILE=m |
78 | CONFIG_HAVE_OPROFILE=y | 98 | CONFIG_HAVE_OPROFILE=y |
79 | CONFIG_KPROBES=y | 99 | CONFIG_KPROBES=y |
80 | # CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set | ||
81 | # CONFIG_HAVE_IOREMAP_PROT is not set | ||
82 | CONFIG_HAVE_KPROBES=y | 100 | CONFIG_HAVE_KPROBES=y |
83 | # CONFIG_HAVE_KRETPROBES is not set | ||
84 | # CONFIG_HAVE_ARCH_TRACEHOOK is not set | ||
85 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
86 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
87 | CONFIG_HAVE_CLK=y | 101 | CONFIG_HAVE_CLK=y |
88 | CONFIG_PROC_PAGE_MONITOR=y | 102 | |
103 | # | ||
104 | # GCOV-based kernel profiling | ||
105 | # | ||
106 | # CONFIG_GCOV_KERNEL is not set | ||
107 | # CONFIG_SLOW_WORK is not set | ||
89 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 108 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
90 | CONFIG_SLABINFO=y | 109 | CONFIG_SLABINFO=y |
91 | CONFIG_RT_MUTEXES=y | 110 | CONFIG_RT_MUTEXES=y |
92 | # CONFIG_TINY_SHMEM is not set | ||
93 | CONFIG_BASE_SMALL=1 | 111 | CONFIG_BASE_SMALL=1 |
94 | CONFIG_MODULES=y | 112 | CONFIG_MODULES=y |
95 | # CONFIG_MODULE_FORCE_LOAD is not set | 113 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -97,11 +115,8 @@ CONFIG_MODULE_UNLOAD=y | |||
97 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 115 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
98 | # CONFIG_MODVERSIONS is not set | 116 | # CONFIG_MODVERSIONS is not set |
99 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 117 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
100 | CONFIG_KMOD=y | ||
101 | CONFIG_BLOCK=y | 118 | CONFIG_BLOCK=y |
102 | # CONFIG_LBD is not set | 119 | CONFIG_LBDAF=y |
103 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
104 | # CONFIG_LSF is not set | ||
105 | # CONFIG_BLK_DEV_BSG is not set | 120 | # CONFIG_BLK_DEV_BSG is not set |
106 | # CONFIG_BLK_DEV_INTEGRITY is not set | 121 | # CONFIG_BLK_DEV_INTEGRITY is not set |
107 | 122 | ||
@@ -117,7 +132,7 @@ CONFIG_IOSCHED_CFQ=y | |||
117 | CONFIG_DEFAULT_CFQ=y | 132 | CONFIG_DEFAULT_CFQ=y |
118 | # CONFIG_DEFAULT_NOOP is not set | 133 | # CONFIG_DEFAULT_NOOP is not set |
119 | CONFIG_DEFAULT_IOSCHED="cfq" | 134 | CONFIG_DEFAULT_IOSCHED="cfq" |
120 | CONFIG_CLASSIC_RCU=y | 135 | CONFIG_FREEZER=y |
121 | 136 | ||
122 | # | 137 | # |
123 | # System Type and features | 138 | # System Type and features |
@@ -133,7 +148,12 @@ CONFIG_PLATFORM_AT32AP=y | |||
133 | CONFIG_CPU_AT32AP700X=y | 148 | CONFIG_CPU_AT32AP700X=y |
134 | CONFIG_CPU_AT32AP7000=y | 149 | CONFIG_CPU_AT32AP7000=y |
135 | CONFIG_BOARD_ATSTK1000=y | 150 | CONFIG_BOARD_ATSTK1000=y |
136 | # CONFIG_BOARD_ATNGW100 is not set | 151 | # CONFIG_BOARD_ATNGW100_MKI is not set |
152 | # CONFIG_BOARD_ATNGW100_MKII is not set | ||
153 | # CONFIG_BOARD_HAMMERHEAD is not set | ||
154 | # CONFIG_BOARD_FAVR_32 is not set | ||
155 | # CONFIG_BOARD_MERISC is not set | ||
156 | # CONFIG_BOARD_MIMC200 is not set | ||
137 | CONFIG_BOARD_ATSTK1002=y | 157 | CONFIG_BOARD_ATSTK1002=y |
138 | # CONFIG_BOARD_ATSTK1003 is not set | 158 | # CONFIG_BOARD_ATSTK1003 is not set |
139 | # CONFIG_BOARD_ATSTK1004 is not set | 159 | # CONFIG_BOARD_ATSTK1004 is not set |
@@ -159,7 +179,7 @@ CONFIG_PREEMPT_NONE=y | |||
159 | # CONFIG_PREEMPT_VOLUNTARY is not set | 179 | # CONFIG_PREEMPT_VOLUNTARY is not set |
160 | # CONFIG_PREEMPT is not set | 180 | # CONFIG_PREEMPT is not set |
161 | CONFIG_QUICKLIST=y | 181 | CONFIG_QUICKLIST=y |
162 | # CONFIG_HAVE_ARCH_BOOTMEM_NODE is not set | 182 | # CONFIG_HAVE_ARCH_BOOTMEM is not set |
163 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set | 183 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set |
164 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set | 184 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set |
165 | CONFIG_ARCH_FLATMEM_ENABLE=y | 185 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -171,14 +191,16 @@ CONFIG_FLATMEM_MANUAL=y | |||
171 | # CONFIG_SPARSEMEM_MANUAL is not set | 191 | # CONFIG_SPARSEMEM_MANUAL is not set |
172 | CONFIG_FLATMEM=y | 192 | CONFIG_FLATMEM=y |
173 | CONFIG_FLAT_NODE_MEM_MAP=y | 193 | CONFIG_FLAT_NODE_MEM_MAP=y |
174 | # CONFIG_SPARSEMEM_STATIC is not set | ||
175 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
176 | CONFIG_PAGEFLAGS_EXTENDED=y | 194 | CONFIG_PAGEFLAGS_EXTENDED=y |
177 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 195 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
178 | # CONFIG_RESOURCES_64BIT is not set | 196 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
179 | CONFIG_ZONE_DMA_FLAG=0 | 197 | CONFIG_ZONE_DMA_FLAG=0 |
180 | CONFIG_NR_QUICK=2 | 198 | CONFIG_NR_QUICK=2 |
181 | CONFIG_VIRT_TO_BUS=y | 199 | CONFIG_VIRT_TO_BUS=y |
200 | CONFIG_HAVE_MLOCK=y | ||
201 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
202 | # CONFIG_KSM is not set | ||
203 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
182 | # CONFIG_OWNERSHIP_TRACE is not set | 204 | # CONFIG_OWNERSHIP_TRACE is not set |
183 | CONFIG_NMI_DEBUGGING=y | 205 | CONFIG_NMI_DEBUGGING=y |
184 | # CONFIG_HZ_100 is not set | 206 | # CONFIG_HZ_100 is not set |
@@ -186,7 +208,7 @@ CONFIG_HZ_250=y | |||
186 | # CONFIG_HZ_300 is not set | 208 | # CONFIG_HZ_300 is not set |
187 | # CONFIG_HZ_1000 is not set | 209 | # CONFIG_HZ_1000 is not set |
188 | CONFIG_HZ=250 | 210 | CONFIG_HZ=250 |
189 | # CONFIG_SCHED_HRTICK is not set | 211 | CONFIG_SCHED_HRTICK=y |
190 | CONFIG_CMDLINE="" | 212 | CONFIG_CMDLINE="" |
191 | 213 | ||
192 | # | 214 | # |
@@ -197,6 +219,7 @@ CONFIG_PM=y | |||
197 | CONFIG_PM_SLEEP=y | 219 | CONFIG_PM_SLEEP=y |
198 | CONFIG_SUSPEND=y | 220 | CONFIG_SUSPEND=y |
199 | CONFIG_SUSPEND_FREEZER=y | 221 | CONFIG_SUSPEND_FREEZER=y |
222 | # CONFIG_PM_RUNTIME is not set | ||
200 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 223 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
201 | 224 | ||
202 | # | 225 | # |
@@ -228,6 +251,8 @@ CONFIG_CPU_FREQ_AT32AP=y | |||
228 | # Executable file formats | 251 | # Executable file formats |
229 | # | 252 | # |
230 | CONFIG_BINFMT_ELF=y | 253 | CONFIG_BINFMT_ELF=y |
254 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
255 | # CONFIG_HAVE_AOUT is not set | ||
231 | # CONFIG_BINFMT_MISC is not set | 256 | # CONFIG_BINFMT_MISC is not set |
232 | CONFIG_NET=y | 257 | CONFIG_NET=y |
233 | 258 | ||
@@ -295,10 +320,12 @@ CONFIG_IPV6_TUNNEL=m | |||
295 | # CONFIG_NETFILTER is not set | 320 | # CONFIG_NETFILTER is not set |
296 | # CONFIG_IP_DCCP is not set | 321 | # CONFIG_IP_DCCP is not set |
297 | # CONFIG_IP_SCTP is not set | 322 | # CONFIG_IP_SCTP is not set |
323 | # CONFIG_RDS is not set | ||
298 | # CONFIG_TIPC is not set | 324 | # CONFIG_TIPC is not set |
299 | # CONFIG_ATM is not set | 325 | # CONFIG_ATM is not set |
300 | CONFIG_STP=m | 326 | CONFIG_STP=m |
301 | CONFIG_BRIDGE=m | 327 | CONFIG_BRIDGE=m |
328 | # CONFIG_NET_DSA is not set | ||
302 | # CONFIG_VLAN_8021Q is not set | 329 | # CONFIG_VLAN_8021Q is not set |
303 | # CONFIG_DECNET is not set | 330 | # CONFIG_DECNET is not set |
304 | CONFIG_LLC=m | 331 | CONFIG_LLC=m |
@@ -309,26 +336,33 @@ CONFIG_LLC=m | |||
309 | # CONFIG_LAPB is not set | 336 | # CONFIG_LAPB is not set |
310 | # CONFIG_ECONET is not set | 337 | # CONFIG_ECONET is not set |
311 | # CONFIG_WAN_ROUTER is not set | 338 | # CONFIG_WAN_ROUTER is not set |
339 | # CONFIG_PHONET is not set | ||
340 | # CONFIG_IEEE802154 is not set | ||
312 | # CONFIG_NET_SCHED is not set | 341 | # CONFIG_NET_SCHED is not set |
342 | # CONFIG_DCB is not set | ||
313 | 343 | ||
314 | # | 344 | # |
315 | # Network testing | 345 | # Network testing |
316 | # | 346 | # |
317 | # CONFIG_NET_PKTGEN is not set | 347 | # CONFIG_NET_PKTGEN is not set |
318 | # CONFIG_NET_TCPPROBE is not set | 348 | # CONFIG_NET_TCPPROBE is not set |
349 | # CONFIG_NET_DROP_MONITOR is not set | ||
319 | # CONFIG_HAMRADIO is not set | 350 | # CONFIG_HAMRADIO is not set |
320 | # CONFIG_CAN is not set | 351 | # CONFIG_CAN is not set |
321 | # CONFIG_IRDA is not set | 352 | # CONFIG_IRDA is not set |
322 | # CONFIG_BT is not set | 353 | # CONFIG_BT is not set |
323 | # CONFIG_AF_RXRPC is not set | 354 | # CONFIG_AF_RXRPC is not set |
355 | CONFIG_WIRELESS=y | ||
356 | # CONFIG_CFG80211 is not set | ||
357 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
358 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
359 | # CONFIG_WIRELESS_EXT is not set | ||
360 | # CONFIG_LIB80211 is not set | ||
324 | 361 | ||
325 | # | 362 | # |
326 | # Wireless | 363 | # CFG80211 needs to be enabled for MAC80211 |
327 | # | 364 | # |
328 | # CONFIG_CFG80211 is not set | 365 | # CONFIG_WIMAX is not set |
329 | # CONFIG_WIRELESS_EXT is not set | ||
330 | # CONFIG_MAC80211 is not set | ||
331 | # CONFIG_IEEE80211 is not set | ||
332 | # CONFIG_RFKILL is not set | 366 | # CONFIG_RFKILL is not set |
333 | # CONFIG_NET_9P is not set | 367 | # CONFIG_NET_9P is not set |
334 | 368 | ||
@@ -340,6 +374,7 @@ CONFIG_LLC=m | |||
340 | # Generic Driver Options | 374 | # Generic Driver Options |
341 | # | 375 | # |
342 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 376 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
377 | # CONFIG_DEVTMPFS is not set | ||
343 | CONFIG_STANDALONE=y | 378 | CONFIG_STANDALONE=y |
344 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 379 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
345 | # CONFIG_FW_LOADER is not set | 380 | # CONFIG_FW_LOADER is not set |
@@ -349,6 +384,7 @@ CONFIG_STANDALONE=y | |||
349 | # CONFIG_CONNECTOR is not set | 384 | # CONFIG_CONNECTOR is not set |
350 | CONFIG_MTD=y | 385 | CONFIG_MTD=y |
351 | # CONFIG_MTD_DEBUG is not set | 386 | # CONFIG_MTD_DEBUG is not set |
387 | # CONFIG_MTD_TESTS is not set | ||
352 | # CONFIG_MTD_CONCAT is not set | 388 | # CONFIG_MTD_CONCAT is not set |
353 | CONFIG_MTD_PARTITIONS=y | 389 | CONFIG_MTD_PARTITIONS=y |
354 | # CONFIG_MTD_REDBOOT_PARTS is not set | 390 | # CONFIG_MTD_REDBOOT_PARTS is not set |
@@ -398,17 +434,18 @@ CONFIG_MTD_CFI_UTIL=y | |||
398 | # | 434 | # |
399 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 435 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
400 | CONFIG_MTD_PHYSMAP=y | 436 | CONFIG_MTD_PHYSMAP=y |
401 | CONFIG_MTD_PHYSMAP_START=0x8000000 | 437 | # CONFIG_MTD_PHYSMAP_COMPAT is not set |
402 | CONFIG_MTD_PHYSMAP_LEN=0x0 | ||
403 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
404 | # CONFIG_MTD_PLATRAM is not set | 438 | # CONFIG_MTD_PLATRAM is not set |
405 | 439 | ||
406 | # | 440 | # |
407 | # Self-contained MTD device drivers | 441 | # Self-contained MTD device drivers |
408 | # | 442 | # |
409 | CONFIG_MTD_DATAFLASH=m | 443 | CONFIG_MTD_DATAFLASH=m |
444 | # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set | ||
445 | # CONFIG_MTD_DATAFLASH_OTP is not set | ||
410 | CONFIG_MTD_M25P80=m | 446 | CONFIG_MTD_M25P80=m |
411 | CONFIG_M25PXX_USE_FAST_READ=y | 447 | CONFIG_M25PXX_USE_FAST_READ=y |
448 | # CONFIG_MTD_SST25L is not set | ||
412 | # CONFIG_MTD_SLRAM is not set | 449 | # CONFIG_MTD_SLRAM is not set |
413 | # CONFIG_MTD_PHRAM is not set | 450 | # CONFIG_MTD_PHRAM is not set |
414 | # CONFIG_MTD_MTDRAM is not set | 451 | # CONFIG_MTD_MTDRAM is not set |
@@ -424,9 +461,22 @@ CONFIG_M25PXX_USE_FAST_READ=y | |||
424 | # CONFIG_MTD_ONENAND is not set | 461 | # CONFIG_MTD_ONENAND is not set |
425 | 462 | ||
426 | # | 463 | # |
464 | # LPDDR flash memory drivers | ||
465 | # | ||
466 | # CONFIG_MTD_LPDDR is not set | ||
467 | |||
468 | # | ||
427 | # UBI - Unsorted block images | 469 | # UBI - Unsorted block images |
428 | # | 470 | # |
429 | # CONFIG_MTD_UBI is not set | 471 | CONFIG_MTD_UBI=y |
472 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
473 | CONFIG_MTD_UBI_BEB_RESERVE=1 | ||
474 | # CONFIG_MTD_UBI_GLUEBI is not set | ||
475 | |||
476 | # | ||
477 | # UBI debugging options | ||
478 | # | ||
479 | # CONFIG_MTD_UBI_DEBUG is not set | ||
430 | # CONFIG_PARPORT is not set | 480 | # CONFIG_PARPORT is not set |
431 | CONFIG_BLK_DEV=y | 481 | CONFIG_BLK_DEV=y |
432 | # CONFIG_BLK_DEV_COW_COMMON is not set | 482 | # CONFIG_BLK_DEV_COW_COMMON is not set |
@@ -444,10 +494,20 @@ CONFIG_ATMEL_PWM=m | |||
444 | CONFIG_ATMEL_TCLIB=y | 494 | CONFIG_ATMEL_TCLIB=y |
445 | CONFIG_ATMEL_TCB_CLKSRC=y | 495 | CONFIG_ATMEL_TCB_CLKSRC=y |
446 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 | 496 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 |
447 | # CONFIG_EEPROM_93CX6 is not set | 497 | # CONFIG_ICS932S401 is not set |
448 | CONFIG_ATMEL_SSC=m | 498 | CONFIG_ATMEL_SSC=m |
449 | # CONFIG_ENCLOSURE_SERVICES is not set | 499 | # CONFIG_ENCLOSURE_SERVICES is not set |
450 | # CONFIG_HAVE_IDE is not set | 500 | # CONFIG_ISL29003 is not set |
501 | # CONFIG_C2PORT is not set | ||
502 | |||
503 | # | ||
504 | # EEPROM support | ||
505 | # | ||
506 | CONFIG_EEPROM_AT24=m | ||
507 | # CONFIG_EEPROM_AT25 is not set | ||
508 | # CONFIG_EEPROM_LEGACY is not set | ||
509 | # CONFIG_EEPROM_MAX6875 is not set | ||
510 | # CONFIG_EEPROM_93CX6 is not set | ||
451 | 511 | ||
452 | # | 512 | # |
453 | # SCSI device support | 513 | # SCSI device support |
@@ -469,10 +529,6 @@ CONFIG_BLK_DEV_SR=m | |||
469 | # CONFIG_BLK_DEV_SR_VENDOR is not set | 529 | # CONFIG_BLK_DEV_SR_VENDOR is not set |
470 | # CONFIG_CHR_DEV_SG is not set | 530 | # CONFIG_CHR_DEV_SG is not set |
471 | # CONFIG_CHR_DEV_SCH is not set | 531 | # CONFIG_CHR_DEV_SCH is not set |
472 | |||
473 | # | ||
474 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
475 | # | ||
476 | # CONFIG_SCSI_MULTI_LUN is not set | 532 | # CONFIG_SCSI_MULTI_LUN is not set |
477 | # CONFIG_SCSI_CONSTANTS is not set | 533 | # CONFIG_SCSI_CONSTANTS is not set |
478 | # CONFIG_SCSI_LOGGING is not set | 534 | # CONFIG_SCSI_LOGGING is not set |
@@ -489,8 +545,10 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
489 | # CONFIG_SCSI_SRP_ATTRS is not set | 545 | # CONFIG_SCSI_SRP_ATTRS is not set |
490 | # CONFIG_SCSI_LOWLEVEL is not set | 546 | # CONFIG_SCSI_LOWLEVEL is not set |
491 | # CONFIG_SCSI_DH is not set | 547 | # CONFIG_SCSI_DH is not set |
548 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
492 | CONFIG_ATA=m | 549 | CONFIG_ATA=m |
493 | # CONFIG_ATA_NONSTANDARD is not set | 550 | # CONFIG_ATA_NONSTANDARD is not set |
551 | CONFIG_ATA_VERBOSE_ERROR=y | ||
494 | # CONFIG_SATA_PMP is not set | 552 | # CONFIG_SATA_PMP is not set |
495 | CONFIG_ATA_SFF=y | 553 | CONFIG_ATA_SFF=y |
496 | # CONFIG_SATA_MV is not set | 554 | # CONFIG_SATA_MV is not set |
@@ -519,26 +577,37 @@ CONFIG_PHYLIB=y | |||
519 | # CONFIG_BROADCOM_PHY is not set | 577 | # CONFIG_BROADCOM_PHY is not set |
520 | # CONFIG_ICPLUS_PHY is not set | 578 | # CONFIG_ICPLUS_PHY is not set |
521 | # CONFIG_REALTEK_PHY is not set | 579 | # CONFIG_REALTEK_PHY is not set |
580 | # CONFIG_NATIONAL_PHY is not set | ||
581 | # CONFIG_STE10XP is not set | ||
582 | # CONFIG_LSI_ET1011C_PHY is not set | ||
522 | # CONFIG_FIXED_PHY is not set | 583 | # CONFIG_FIXED_PHY is not set |
523 | # CONFIG_MDIO_BITBANG is not set | 584 | # CONFIG_MDIO_BITBANG is not set |
524 | CONFIG_NET_ETHERNET=y | 585 | CONFIG_NET_ETHERNET=y |
525 | # CONFIG_MII is not set | 586 | # CONFIG_MII is not set |
526 | CONFIG_MACB=y | 587 | CONFIG_MACB=y |
527 | # CONFIG_ENC28J60 is not set | 588 | # CONFIG_ENC28J60 is not set |
589 | # CONFIG_ETHOC is not set | ||
590 | # CONFIG_DNET is not set | ||
528 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 591 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
529 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 592 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
530 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 593 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
531 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 594 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
595 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
596 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
597 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
532 | # CONFIG_B44 is not set | 598 | # CONFIG_B44 is not set |
599 | # CONFIG_KS8842 is not set | ||
600 | # CONFIG_KS8851 is not set | ||
601 | # CONFIG_KS8851_MLL is not set | ||
533 | # CONFIG_NETDEV_1000 is not set | 602 | # CONFIG_NETDEV_1000 is not set |
534 | # CONFIG_NETDEV_10000 is not set | 603 | # CONFIG_NETDEV_10000 is not set |
604 | CONFIG_WLAN=y | ||
605 | # CONFIG_WLAN_PRE80211 is not set | ||
606 | # CONFIG_WLAN_80211 is not set | ||
535 | 607 | ||
536 | # | 608 | # |
537 | # Wireless LAN | 609 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
538 | # | 610 | # |
539 | # CONFIG_WLAN_PRE80211 is not set | ||
540 | # CONFIG_WLAN_80211 is not set | ||
541 | # CONFIG_IWLWIFI_LEDS is not set | ||
542 | # CONFIG_WAN is not set | 611 | # CONFIG_WAN is not set |
543 | CONFIG_PPP=m | 612 | CONFIG_PPP=m |
544 | # CONFIG_PPP_MULTILINK is not set | 613 | # CONFIG_PPP_MULTILINK is not set |
@@ -580,18 +649,25 @@ CONFIG_INPUT_EVDEV=m | |||
580 | # Input Device Drivers | 649 | # Input Device Drivers |
581 | # | 650 | # |
582 | CONFIG_INPUT_KEYBOARD=y | 651 | CONFIG_INPUT_KEYBOARD=y |
652 | # CONFIG_KEYBOARD_ADP5588 is not set | ||
583 | # CONFIG_KEYBOARD_ATKBD is not set | 653 | # CONFIG_KEYBOARD_ATKBD is not set |
584 | # CONFIG_KEYBOARD_SUNKBD is not set | 654 | # CONFIG_QT2160 is not set |
585 | # CONFIG_KEYBOARD_LKKBD is not set | 655 | # CONFIG_KEYBOARD_LKKBD is not set |
586 | # CONFIG_KEYBOARD_XTKBD is not set | 656 | CONFIG_KEYBOARD_GPIO=m |
657 | # CONFIG_KEYBOARD_MATRIX is not set | ||
658 | # CONFIG_KEYBOARD_LM8323 is not set | ||
659 | # CONFIG_KEYBOARD_MAX7359 is not set | ||
587 | # CONFIG_KEYBOARD_NEWTON is not set | 660 | # CONFIG_KEYBOARD_NEWTON is not set |
661 | # CONFIG_KEYBOARD_OPENCORES is not set | ||
588 | # CONFIG_KEYBOARD_STOWAWAY is not set | 662 | # CONFIG_KEYBOARD_STOWAWAY is not set |
589 | CONFIG_KEYBOARD_GPIO=m | 663 | # CONFIG_KEYBOARD_SUNKBD is not set |
664 | # CONFIG_KEYBOARD_XTKBD is not set | ||
590 | CONFIG_INPUT_MOUSE=y | 665 | CONFIG_INPUT_MOUSE=y |
591 | # CONFIG_MOUSE_PS2 is not set | 666 | # CONFIG_MOUSE_PS2 is not set |
592 | # CONFIG_MOUSE_SERIAL is not set | 667 | # CONFIG_MOUSE_SERIAL is not set |
593 | # CONFIG_MOUSE_VSXXXAA is not set | 668 | # CONFIG_MOUSE_VSXXXAA is not set |
594 | CONFIG_MOUSE_GPIO=m | 669 | CONFIG_MOUSE_GPIO=m |
670 | # CONFIG_MOUSE_SYNAPTICS_I2C is not set | ||
595 | # CONFIG_INPUT_JOYSTICK is not set | 671 | # CONFIG_INPUT_JOYSTICK is not set |
596 | # CONFIG_INPUT_TABLET is not set | 672 | # CONFIG_INPUT_TABLET is not set |
597 | # CONFIG_INPUT_TOUCHSCREEN is not set | 673 | # CONFIG_INPUT_TOUCHSCREEN is not set |
@@ -622,9 +698,11 @@ CONFIG_SERIAL_ATMEL=y | |||
622 | CONFIG_SERIAL_ATMEL_CONSOLE=y | 698 | CONFIG_SERIAL_ATMEL_CONSOLE=y |
623 | CONFIG_SERIAL_ATMEL_PDC=y | 699 | CONFIG_SERIAL_ATMEL_PDC=y |
624 | # CONFIG_SERIAL_ATMEL_TTYAT is not set | 700 | # CONFIG_SERIAL_ATMEL_TTYAT is not set |
701 | # CONFIG_SERIAL_MAX3100 is not set | ||
625 | CONFIG_SERIAL_CORE=y | 702 | CONFIG_SERIAL_CORE=y |
626 | CONFIG_SERIAL_CORE_CONSOLE=y | 703 | CONFIG_SERIAL_CORE_CONSOLE=y |
627 | CONFIG_UNIX98_PTYS=y | 704 | CONFIG_UNIX98_PTYS=y |
705 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
628 | # CONFIG_LEGACY_PTYS is not set | 706 | # CONFIG_LEGACY_PTYS is not set |
629 | # CONFIG_IPMI_HANDLER is not set | 707 | # CONFIG_IPMI_HANDLER is not set |
630 | # CONFIG_HW_RANDOM is not set | 708 | # CONFIG_HW_RANDOM is not set |
@@ -633,7 +711,9 @@ CONFIG_UNIX98_PTYS=y | |||
633 | # CONFIG_TCG_TPM is not set | 711 | # CONFIG_TCG_TPM is not set |
634 | CONFIG_I2C=m | 712 | CONFIG_I2C=m |
635 | CONFIG_I2C_BOARDINFO=y | 713 | CONFIG_I2C_BOARDINFO=y |
714 | CONFIG_I2C_COMPAT=y | ||
636 | CONFIG_I2C_CHARDEV=m | 715 | CONFIG_I2C_CHARDEV=m |
716 | CONFIG_I2C_HELPER_AUTO=y | ||
637 | CONFIG_I2C_ALGOBIT=m | 717 | CONFIG_I2C_ALGOBIT=m |
638 | 718 | ||
639 | # | 719 | # |
@@ -643,6 +723,7 @@ CONFIG_I2C_ALGOBIT=m | |||
643 | # | 723 | # |
644 | # I2C system bus drivers (mostly embedded / system-on-chip) | 724 | # I2C system bus drivers (mostly embedded / system-on-chip) |
645 | # | 725 | # |
726 | # CONFIG_I2C_DESIGNWARE is not set | ||
646 | CONFIG_I2C_GPIO=m | 727 | CONFIG_I2C_GPIO=m |
647 | # CONFIG_I2C_OCORES is not set | 728 | # CONFIG_I2C_OCORES is not set |
648 | # CONFIG_I2C_SIMTEC is not set | 729 | # CONFIG_I2C_SIMTEC is not set |
@@ -663,14 +744,6 @@ CONFIG_I2C_GPIO=m | |||
663 | # Miscellaneous I2C Chip support | 744 | # Miscellaneous I2C Chip support |
664 | # | 745 | # |
665 | # CONFIG_DS1682 is not set | 746 | # CONFIG_DS1682 is not set |
666 | CONFIG_EEPROM_AT24=m | ||
667 | # CONFIG_EEPROM_LEGACY is not set | ||
668 | # CONFIG_SENSORS_PCF8574 is not set | ||
669 | # CONFIG_PCF8575 is not set | ||
670 | # CONFIG_SENSORS_PCA9539 is not set | ||
671 | # CONFIG_SENSORS_PCF8591 is not set | ||
672 | # CONFIG_TPS65010 is not set | ||
673 | # CONFIG_SENSORS_MAX6875 is not set | ||
674 | # CONFIG_SENSORS_TSL2550 is not set | 747 | # CONFIG_SENSORS_TSL2550 is not set |
675 | # CONFIG_I2C_DEBUG_CORE is not set | 748 | # CONFIG_I2C_DEBUG_CORE is not set |
676 | # CONFIG_I2C_DEBUG_ALGO is not set | 749 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -685,19 +758,28 @@ CONFIG_SPI_MASTER=y | |||
685 | # | 758 | # |
686 | CONFIG_SPI_ATMEL=y | 759 | CONFIG_SPI_ATMEL=y |
687 | # CONFIG_SPI_BITBANG is not set | 760 | # CONFIG_SPI_BITBANG is not set |
761 | # CONFIG_SPI_GPIO is not set | ||
688 | 762 | ||
689 | # | 763 | # |
690 | # SPI Protocol Masters | 764 | # SPI Protocol Masters |
691 | # | 765 | # |
692 | # CONFIG_EEPROM_AT25 is not set | ||
693 | CONFIG_SPI_SPIDEV=m | 766 | CONFIG_SPI_SPIDEV=m |
694 | # CONFIG_SPI_TLE62X0 is not set | 767 | # CONFIG_SPI_TLE62X0 is not set |
768 | |||
769 | # | ||
770 | # PPS support | ||
771 | # | ||
772 | # CONFIG_PPS is not set | ||
695 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | 773 | CONFIG_ARCH_REQUIRE_GPIOLIB=y |
696 | CONFIG_GPIOLIB=y | 774 | CONFIG_GPIOLIB=y |
697 | # CONFIG_DEBUG_GPIO is not set | 775 | # CONFIG_DEBUG_GPIO is not set |
698 | CONFIG_GPIO_SYSFS=y | 776 | CONFIG_GPIO_SYSFS=y |
699 | 777 | ||
700 | # | 778 | # |
779 | # Memory mapped GPIO expanders: | ||
780 | # | ||
781 | |||
782 | # | ||
701 | # I2C GPIO expanders: | 783 | # I2C GPIO expanders: |
702 | # | 784 | # |
703 | # CONFIG_GPIO_MAX732X is not set | 785 | # CONFIG_GPIO_MAX732X is not set |
@@ -713,11 +795,15 @@ CONFIG_GPIO_SYSFS=y | |||
713 | # | 795 | # |
714 | # CONFIG_GPIO_MAX7301 is not set | 796 | # CONFIG_GPIO_MAX7301 is not set |
715 | # CONFIG_GPIO_MCP23S08 is not set | 797 | # CONFIG_GPIO_MCP23S08 is not set |
798 | # CONFIG_GPIO_MC33880 is not set | ||
799 | |||
800 | # | ||
801 | # AC97 GPIO expanders: | ||
802 | # | ||
716 | # CONFIG_W1 is not set | 803 | # CONFIG_W1 is not set |
717 | # CONFIG_POWER_SUPPLY is not set | 804 | # CONFIG_POWER_SUPPLY is not set |
718 | # CONFIG_HWMON is not set | 805 | # CONFIG_HWMON is not set |
719 | # CONFIG_THERMAL is not set | 806 | # CONFIG_THERMAL is not set |
720 | # CONFIG_THERMAL_HWMON is not set | ||
721 | CONFIG_WATCHDOG=y | 807 | CONFIG_WATCHDOG=y |
722 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 808 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
723 | 809 | ||
@@ -726,11 +812,11 @@ CONFIG_WATCHDOG=y | |||
726 | # | 812 | # |
727 | # CONFIG_SOFT_WATCHDOG is not set | 813 | # CONFIG_SOFT_WATCHDOG is not set |
728 | CONFIG_AT32AP700X_WDT=y | 814 | CONFIG_AT32AP700X_WDT=y |
815 | CONFIG_SSB_POSSIBLE=y | ||
729 | 816 | ||
730 | # | 817 | # |
731 | # Sonics Silicon Backplane | 818 | # Sonics Silicon Backplane |
732 | # | 819 | # |
733 | CONFIG_SSB_POSSIBLE=y | ||
734 | # CONFIG_SSB is not set | 820 | # CONFIG_SSB is not set |
735 | 821 | ||
736 | # | 822 | # |
@@ -739,22 +825,17 @@ CONFIG_SSB_POSSIBLE=y | |||
739 | # CONFIG_MFD_CORE is not set | 825 | # CONFIG_MFD_CORE is not set |
740 | # CONFIG_MFD_SM501 is not set | 826 | # CONFIG_MFD_SM501 is not set |
741 | # CONFIG_HTC_PASIC3 is not set | 827 | # CONFIG_HTC_PASIC3 is not set |
742 | 828 | # CONFIG_TPS65010 is not set | |
743 | # | 829 | # CONFIG_MFD_TMIO is not set |
744 | # Multimedia devices | 830 | # CONFIG_MFD_WM8400 is not set |
745 | # | 831 | # CONFIG_MFD_WM831X is not set |
746 | 832 | # CONFIG_MFD_WM8350_I2C is not set | |
747 | # | 833 | # CONFIG_MFD_PCF50633 is not set |
748 | # Multimedia core support | 834 | # CONFIG_MFD_MC13783 is not set |
749 | # | 835 | # CONFIG_AB3100_CORE is not set |
750 | # CONFIG_VIDEO_DEV is not set | 836 | # CONFIG_EZX_PCAP is not set |
751 | # CONFIG_DVB_CORE is not set | 837 | # CONFIG_REGULATOR is not set |
752 | # CONFIG_VIDEO_MEDIA is not set | 838 | # CONFIG_MEDIA_SUPPORT is not set |
753 | |||
754 | # | ||
755 | # Multimedia drivers | ||
756 | # | ||
757 | # CONFIG_DAB is not set | ||
758 | 839 | ||
759 | # | 840 | # |
760 | # Graphics support | 841 | # Graphics support |
@@ -764,6 +845,7 @@ CONFIG_SSB_POSSIBLE=y | |||
764 | CONFIG_FB=y | 845 | CONFIG_FB=y |
765 | # CONFIG_FIRMWARE_EDID is not set | 846 | # CONFIG_FIRMWARE_EDID is not set |
766 | # CONFIG_FB_DDC is not set | 847 | # CONFIG_FB_DDC is not set |
848 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
767 | CONFIG_FB_CFB_FILLRECT=y | 849 | CONFIG_FB_CFB_FILLRECT=y |
768 | CONFIG_FB_CFB_COPYAREA=y | 850 | CONFIG_FB_CFB_COPYAREA=y |
769 | CONFIG_FB_CFB_IMAGEBLIT=y | 851 | CONFIG_FB_CFB_IMAGEBLIT=y |
@@ -785,10 +867,15 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
785 | # CONFIG_FB_S1D13XXX is not set | 867 | # CONFIG_FB_S1D13XXX is not set |
786 | CONFIG_FB_ATMEL=y | 868 | CONFIG_FB_ATMEL=y |
787 | # CONFIG_FB_VIRTUAL is not set | 869 | # CONFIG_FB_VIRTUAL is not set |
870 | # CONFIG_FB_METRONOME is not set | ||
871 | # CONFIG_FB_MB862XX is not set | ||
872 | # CONFIG_FB_BROADSHEET is not set | ||
788 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 873 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
789 | CONFIG_LCD_CLASS_DEVICE=y | 874 | CONFIG_LCD_CLASS_DEVICE=y |
875 | # CONFIG_LCD_LMS283GF05 is not set | ||
790 | CONFIG_LCD_LTV350QV=y | 876 | CONFIG_LCD_LTV350QV=y |
791 | # CONFIG_LCD_ILI9320 is not set | 877 | # CONFIG_LCD_ILI9320 is not set |
878 | # CONFIG_LCD_TDO24M is not set | ||
792 | # CONFIG_LCD_VGG2432A4 is not set | 879 | # CONFIG_LCD_VGG2432A4 is not set |
793 | # CONFIG_LCD_PLATFORM is not set | 880 | # CONFIG_LCD_PLATFORM is not set |
794 | # CONFIG_BACKLIGHT_CLASS_DEVICE is not set | 881 | # CONFIG_BACKLIGHT_CLASS_DEVICE is not set |
@@ -799,6 +886,8 @@ CONFIG_LCD_LTV350QV=y | |||
799 | # CONFIG_DISPLAY_SUPPORT is not set | 886 | # CONFIG_DISPLAY_SUPPORT is not set |
800 | # CONFIG_LOGO is not set | 887 | # CONFIG_LOGO is not set |
801 | CONFIG_SOUND=m | 888 | CONFIG_SOUND=m |
889 | CONFIG_SOUND_OSS_CORE=y | ||
890 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
802 | CONFIG_SND=m | 891 | CONFIG_SND=m |
803 | CONFIG_SND_TIMER=m | 892 | CONFIG_SND_TIMER=m |
804 | CONFIG_SND_PCM=m | 893 | CONFIG_SND_PCM=m |
@@ -807,12 +896,24 @@ CONFIG_SND_OSSEMUL=y | |||
807 | CONFIG_SND_MIXER_OSS=m | 896 | CONFIG_SND_MIXER_OSS=m |
808 | CONFIG_SND_PCM_OSS=m | 897 | CONFIG_SND_PCM_OSS=m |
809 | CONFIG_SND_PCM_OSS_PLUGINS=y | 898 | CONFIG_SND_PCM_OSS_PLUGINS=y |
899 | # CONFIG_SND_HRTIMER is not set | ||
810 | # CONFIG_SND_DYNAMIC_MINORS is not set | 900 | # CONFIG_SND_DYNAMIC_MINORS is not set |
811 | # CONFIG_SND_SUPPORT_OLD_API is not set | 901 | # CONFIG_SND_SUPPORT_OLD_API is not set |
812 | # CONFIG_SND_VERBOSE_PROCFS is not set | 902 | # CONFIG_SND_VERBOSE_PROCFS is not set |
813 | # CONFIG_SND_VERBOSE_PRINTK is not set | 903 | # CONFIG_SND_VERBOSE_PRINTK is not set |
814 | # CONFIG_SND_DEBUG is not set | 904 | # CONFIG_SND_DEBUG is not set |
905 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
906 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
907 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
908 | # CONFIG_SND_SBAWE_SEQ is not set | ||
909 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
815 | # CONFIG_SND_DRIVERS is not set | 910 | # CONFIG_SND_DRIVERS is not set |
911 | |||
912 | # | ||
913 | # Atmel devices (AVR32 and AT91) | ||
914 | # | ||
915 | # CONFIG_SND_ATMEL_ABDAC is not set | ||
916 | # CONFIG_SND_ATMEL_AC97C is not set | ||
816 | CONFIG_SND_SPI=y | 917 | CONFIG_SND_SPI=y |
817 | CONFIG_SND_AT73C213=m | 918 | CONFIG_SND_AT73C213=m |
818 | CONFIG_SND_AT73C213_TARGET_BITRATE=48000 | 919 | CONFIG_SND_AT73C213_TARGET_BITRATE=48000 |
@@ -825,33 +926,43 @@ CONFIG_USB_SUPPORT=y | |||
825 | # CONFIG_USB_ARCH_HAS_EHCI is not set | 926 | # CONFIG_USB_ARCH_HAS_EHCI is not set |
826 | # CONFIG_USB_OTG_WHITELIST is not set | 927 | # CONFIG_USB_OTG_WHITELIST is not set |
827 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 928 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
929 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
828 | 930 | ||
829 | # | 931 | # |
830 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 932 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
831 | # | 933 | # |
832 | CONFIG_USB_GADGET=y | 934 | CONFIG_USB_GADGET=y |
833 | # CONFIG_USB_GADGET_DEBUG is not set | 935 | # CONFIG_USB_GADGET_DEBUG is not set |
834 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | 936 | # CONFIG_USB_GADGET_DEBUG_FILES is not set |
835 | # CONFIG_USB_GADGET_DEBUG_FS is not set | 937 | # CONFIG_USB_GADGET_DEBUG_FS is not set |
938 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
836 | CONFIG_USB_GADGET_SELECTED=y | 939 | CONFIG_USB_GADGET_SELECTED=y |
837 | # CONFIG_USB_GADGET_AMD5536UDC is not set | 940 | # CONFIG_USB_GADGET_AT91 is not set |
838 | CONFIG_USB_GADGET_ATMEL_USBA=y | 941 | CONFIG_USB_GADGET_ATMEL_USBA=y |
839 | CONFIG_USB_ATMEL_USBA=y | 942 | CONFIG_USB_ATMEL_USBA=y |
840 | # CONFIG_USB_GADGET_FSL_USB2 is not set | 943 | # CONFIG_USB_GADGET_FSL_USB2 is not set |
841 | # CONFIG_USB_GADGET_NET2280 is not set | ||
842 | # CONFIG_USB_GADGET_PXA25X is not set | ||
843 | # CONFIG_USB_GADGET_M66592 is not set | ||
844 | # CONFIG_USB_GADGET_PXA27X is not set | ||
845 | # CONFIG_USB_GADGET_GOKU is not set | ||
846 | # CONFIG_USB_GADGET_LH7A40X is not set | 944 | # CONFIG_USB_GADGET_LH7A40X is not set |
847 | # CONFIG_USB_GADGET_OMAP is not set | 945 | # CONFIG_USB_GADGET_OMAP is not set |
946 | # CONFIG_USB_GADGET_PXA25X is not set | ||
947 | # CONFIG_USB_GADGET_R8A66597 is not set | ||
948 | # CONFIG_USB_GADGET_PXA27X is not set | ||
949 | # CONFIG_USB_GADGET_S3C_HSOTG is not set | ||
950 | # CONFIG_USB_GADGET_IMX is not set | ||
848 | # CONFIG_USB_GADGET_S3C2410 is not set | 951 | # CONFIG_USB_GADGET_S3C2410 is not set |
849 | # CONFIG_USB_GADGET_AT91 is not set | 952 | # CONFIG_USB_GADGET_M66592 is not set |
953 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
954 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
955 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
956 | # CONFIG_USB_GADGET_NET2280 is not set | ||
957 | # CONFIG_USB_GADGET_GOKU is not set | ||
958 | # CONFIG_USB_GADGET_LANGWELL is not set | ||
850 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | 959 | # CONFIG_USB_GADGET_DUMMY_HCD is not set |
851 | CONFIG_USB_GADGET_DUALSPEED=y | 960 | CONFIG_USB_GADGET_DUALSPEED=y |
852 | CONFIG_USB_ZERO=m | 961 | CONFIG_USB_ZERO=m |
962 | # CONFIG_USB_AUDIO is not set | ||
853 | CONFIG_USB_ETH=m | 963 | CONFIG_USB_ETH=m |
854 | CONFIG_USB_ETH_RNDIS=y | 964 | CONFIG_USB_ETH_RNDIS=y |
965 | # CONFIG_USB_ETH_EEM is not set | ||
855 | CONFIG_USB_GADGETFS=m | 966 | CONFIG_USB_GADGETFS=m |
856 | CONFIG_USB_FILE_STORAGE=m | 967 | CONFIG_USB_FILE_STORAGE=m |
857 | # CONFIG_USB_FILE_STORAGE_TEST is not set | 968 | # CONFIG_USB_FILE_STORAGE_TEST is not set |
@@ -859,12 +970,18 @@ CONFIG_USB_G_SERIAL=m | |||
859 | # CONFIG_USB_MIDI_GADGET is not set | 970 | # CONFIG_USB_MIDI_GADGET is not set |
860 | # CONFIG_USB_G_PRINTER is not set | 971 | # CONFIG_USB_G_PRINTER is not set |
861 | CONFIG_USB_CDC_COMPOSITE=m | 972 | CONFIG_USB_CDC_COMPOSITE=m |
973 | |||
974 | # | ||
975 | # OTG and related infrastructure | ||
976 | # | ||
977 | # CONFIG_USB_GPIO_VBUS is not set | ||
978 | # CONFIG_NOP_USB_XCEIV is not set | ||
862 | CONFIG_MMC=y | 979 | CONFIG_MMC=y |
863 | # CONFIG_MMC_DEBUG is not set | 980 | # CONFIG_MMC_DEBUG is not set |
864 | # CONFIG_MMC_UNSAFE_RESUME is not set | 981 | # CONFIG_MMC_UNSAFE_RESUME is not set |
865 | 982 | ||
866 | # | 983 | # |
867 | # MMC/SD Card Drivers | 984 | # MMC/SD/SDIO Card Drivers |
868 | # | 985 | # |
869 | CONFIG_MMC_BLOCK=y | 986 | CONFIG_MMC_BLOCK=y |
870 | CONFIG_MMC_BLOCK_BOUNCE=y | 987 | CONFIG_MMC_BLOCK_BOUNCE=y |
@@ -872,10 +989,12 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
872 | # CONFIG_MMC_TEST is not set | 989 | # CONFIG_MMC_TEST is not set |
873 | 990 | ||
874 | # | 991 | # |
875 | # MMC/SD Host Controller Drivers | 992 | # MMC/SD/SDIO Host Controller Drivers |
876 | # | 993 | # |
877 | # CONFIG_MMC_SDHCI is not set | 994 | # CONFIG_MMC_SDHCI is not set |
995 | # CONFIG_MMC_AT91 is not set | ||
878 | CONFIG_MMC_ATMELMCI=y | 996 | CONFIG_MMC_ATMELMCI=y |
997 | # CONFIG_MMC_ATMELMCI_DMA is not set | ||
879 | CONFIG_MMC_SPI=m | 998 | CONFIG_MMC_SPI=m |
880 | # CONFIG_MEMSTICK is not set | 999 | # CONFIG_MEMSTICK is not set |
881 | CONFIG_NEW_LEDS=y | 1000 | CONFIG_NEW_LEDS=y |
@@ -887,7 +1006,11 @@ CONFIG_LEDS_CLASS=m | |||
887 | CONFIG_LEDS_ATMEL_PWM=m | 1006 | CONFIG_LEDS_ATMEL_PWM=m |
888 | # CONFIG_LEDS_PCA9532 is not set | 1007 | # CONFIG_LEDS_PCA9532 is not set |
889 | CONFIG_LEDS_GPIO=m | 1008 | CONFIG_LEDS_GPIO=m |
1009 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
1010 | # CONFIG_LEDS_LP3944 is not set | ||
890 | # CONFIG_LEDS_PCA955X is not set | 1011 | # CONFIG_LEDS_PCA955X is not set |
1012 | # CONFIG_LEDS_DAC124S085 is not set | ||
1013 | # CONFIG_LEDS_BD2802 is not set | ||
891 | 1014 | ||
892 | # | 1015 | # |
893 | # LED Triggers | 1016 | # LED Triggers |
@@ -895,7 +1018,13 @@ CONFIG_LEDS_GPIO=m | |||
895 | CONFIG_LEDS_TRIGGERS=y | 1018 | CONFIG_LEDS_TRIGGERS=y |
896 | CONFIG_LEDS_TRIGGER_TIMER=m | 1019 | CONFIG_LEDS_TRIGGER_TIMER=m |
897 | CONFIG_LEDS_TRIGGER_HEARTBEAT=m | 1020 | CONFIG_LEDS_TRIGGER_HEARTBEAT=m |
1021 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
1022 | # CONFIG_LEDS_TRIGGER_GPIO is not set | ||
898 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=m | 1023 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=m |
1024 | |||
1025 | # | ||
1026 | # iptables trigger is under Netfilter config (LED target) | ||
1027 | # | ||
899 | # CONFIG_ACCESSIBILITY is not set | 1028 | # CONFIG_ACCESSIBILITY is not set |
900 | CONFIG_RTC_LIB=y | 1029 | CONFIG_RTC_LIB=y |
901 | CONFIG_RTC_CLASS=y | 1030 | CONFIG_RTC_CLASS=y |
@@ -927,25 +1056,33 @@ CONFIG_RTC_INTF_DEV=y | |||
927 | # CONFIG_RTC_DRV_M41T80 is not set | 1056 | # CONFIG_RTC_DRV_M41T80 is not set |
928 | # CONFIG_RTC_DRV_S35390A is not set | 1057 | # CONFIG_RTC_DRV_S35390A is not set |
929 | # CONFIG_RTC_DRV_FM3130 is not set | 1058 | # CONFIG_RTC_DRV_FM3130 is not set |
1059 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1060 | # CONFIG_RTC_DRV_RX8025 is not set | ||
930 | 1061 | ||
931 | # | 1062 | # |
932 | # SPI RTC drivers | 1063 | # SPI RTC drivers |
933 | # | 1064 | # |
934 | # CONFIG_RTC_DRV_M41T94 is not set | 1065 | # CONFIG_RTC_DRV_M41T94 is not set |
935 | # CONFIG_RTC_DRV_DS1305 is not set | 1066 | # CONFIG_RTC_DRV_DS1305 is not set |
1067 | # CONFIG_RTC_DRV_DS1390 is not set | ||
936 | # CONFIG_RTC_DRV_MAX6902 is not set | 1068 | # CONFIG_RTC_DRV_MAX6902 is not set |
937 | # CONFIG_RTC_DRV_R9701 is not set | 1069 | # CONFIG_RTC_DRV_R9701 is not set |
938 | # CONFIG_RTC_DRV_RS5C348 is not set | 1070 | # CONFIG_RTC_DRV_RS5C348 is not set |
1071 | # CONFIG_RTC_DRV_DS3234 is not set | ||
1072 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
939 | 1073 | ||
940 | # | 1074 | # |
941 | # Platform RTC drivers | 1075 | # Platform RTC drivers |
942 | # | 1076 | # |
1077 | # CONFIG_RTC_DRV_DS1286 is not set | ||
943 | # CONFIG_RTC_DRV_DS1511 is not set | 1078 | # CONFIG_RTC_DRV_DS1511 is not set |
944 | # CONFIG_RTC_DRV_DS1553 is not set | 1079 | # CONFIG_RTC_DRV_DS1553 is not set |
945 | # CONFIG_RTC_DRV_DS1742 is not set | 1080 | # CONFIG_RTC_DRV_DS1742 is not set |
946 | # CONFIG_RTC_DRV_STK17TA8 is not set | 1081 | # CONFIG_RTC_DRV_STK17TA8 is not set |
947 | # CONFIG_RTC_DRV_M48T86 is not set | 1082 | # CONFIG_RTC_DRV_M48T86 is not set |
1083 | # CONFIG_RTC_DRV_M48T35 is not set | ||
948 | # CONFIG_RTC_DRV_M48T59 is not set | 1084 | # CONFIG_RTC_DRV_M48T59 is not set |
1085 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
949 | # CONFIG_RTC_DRV_V3020 is not set | 1086 | # CONFIG_RTC_DRV_V3020 is not set |
950 | 1087 | ||
951 | # | 1088 | # |
@@ -964,25 +1101,45 @@ CONFIG_DMA_ENGINE=y | |||
964 | # DMA Clients | 1101 | # DMA Clients |
965 | # | 1102 | # |
966 | # CONFIG_NET_DMA is not set | 1103 | # CONFIG_NET_DMA is not set |
1104 | # CONFIG_ASYNC_TX_DMA is not set | ||
967 | # CONFIG_DMATEST is not set | 1105 | # CONFIG_DMATEST is not set |
1106 | # CONFIG_AUXDISPLAY is not set | ||
968 | # CONFIG_UIO is not set | 1107 | # CONFIG_UIO is not set |
969 | 1108 | ||
970 | # | 1109 | # |
1110 | # TI VLYNQ | ||
1111 | # | ||
1112 | # CONFIG_STAGING is not set | ||
1113 | |||
1114 | # | ||
971 | # File systems | 1115 | # File systems |
972 | # | 1116 | # |
973 | CONFIG_EXT2_FS=y | 1117 | CONFIG_EXT2_FS=y |
974 | # CONFIG_EXT2_FS_XATTR is not set | 1118 | # CONFIG_EXT2_FS_XATTR is not set |
975 | # CONFIG_EXT2_FS_XIP is not set | 1119 | # CONFIG_EXT2_FS_XIP is not set |
976 | CONFIG_EXT3_FS=y | 1120 | CONFIG_EXT3_FS=y |
1121 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
977 | # CONFIG_EXT3_FS_XATTR is not set | 1122 | # CONFIG_EXT3_FS_XATTR is not set |
978 | # CONFIG_EXT4DEV_FS is not set | 1123 | CONFIG_EXT4_FS=y |
1124 | CONFIG_EXT4_FS_XATTR=y | ||
1125 | # CONFIG_EXT4_FS_POSIX_ACL is not set | ||
1126 | # CONFIG_EXT4_FS_SECURITY is not set | ||
1127 | # CONFIG_EXT4_DEBUG is not set | ||
979 | CONFIG_JBD=y | 1128 | CONFIG_JBD=y |
980 | # CONFIG_JBD_DEBUG is not set | 1129 | # CONFIG_JBD_DEBUG is not set |
1130 | CONFIG_JBD2=y | ||
1131 | # CONFIG_JBD2_DEBUG is not set | ||
1132 | CONFIG_FS_MBCACHE=y | ||
981 | # CONFIG_REISERFS_FS is not set | 1133 | # CONFIG_REISERFS_FS is not set |
982 | # CONFIG_JFS_FS is not set | 1134 | # CONFIG_JFS_FS is not set |
983 | # CONFIG_FS_POSIX_ACL is not set | 1135 | # CONFIG_FS_POSIX_ACL is not set |
984 | # CONFIG_XFS_FS is not set | 1136 | # CONFIG_XFS_FS is not set |
1137 | # CONFIG_GFS2_FS is not set | ||
985 | # CONFIG_OCFS2_FS is not set | 1138 | # CONFIG_OCFS2_FS is not set |
1139 | # CONFIG_BTRFS_FS is not set | ||
1140 | # CONFIG_NILFS2_FS is not set | ||
1141 | CONFIG_FILE_LOCKING=y | ||
1142 | CONFIG_FSNOTIFY=y | ||
986 | # CONFIG_DNOTIFY is not set | 1143 | # CONFIG_DNOTIFY is not set |
987 | CONFIG_INOTIFY=y | 1144 | CONFIG_INOTIFY=y |
988 | CONFIG_INOTIFY_USER=y | 1145 | CONFIG_INOTIFY_USER=y |
@@ -990,6 +1147,12 @@ CONFIG_INOTIFY_USER=y | |||
990 | # CONFIG_AUTOFS_FS is not set | 1147 | # CONFIG_AUTOFS_FS is not set |
991 | # CONFIG_AUTOFS4_FS is not set | 1148 | # CONFIG_AUTOFS4_FS is not set |
992 | CONFIG_FUSE_FS=m | 1149 | CONFIG_FUSE_FS=m |
1150 | # CONFIG_CUSE is not set | ||
1151 | |||
1152 | # | ||
1153 | # Caches | ||
1154 | # | ||
1155 | # CONFIG_FSCACHE is not set | ||
993 | 1156 | ||
994 | # | 1157 | # |
995 | # CD-ROM/DVD Filesystems | 1158 | # CD-ROM/DVD Filesystems |
@@ -1013,15 +1176,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
1013 | CONFIG_PROC_FS=y | 1176 | CONFIG_PROC_FS=y |
1014 | CONFIG_PROC_KCORE=y | 1177 | CONFIG_PROC_KCORE=y |
1015 | CONFIG_PROC_SYSCTL=y | 1178 | CONFIG_PROC_SYSCTL=y |
1179 | CONFIG_PROC_PAGE_MONITOR=y | ||
1016 | CONFIG_SYSFS=y | 1180 | CONFIG_SYSFS=y |
1017 | CONFIG_TMPFS=y | 1181 | CONFIG_TMPFS=y |
1018 | # CONFIG_TMPFS_POSIX_ACL is not set | 1182 | # CONFIG_TMPFS_POSIX_ACL is not set |
1019 | # CONFIG_HUGETLB_PAGE is not set | 1183 | # CONFIG_HUGETLB_PAGE is not set |
1020 | # CONFIG_CONFIGFS_FS is not set | 1184 | # CONFIG_CONFIGFS_FS is not set |
1021 | 1185 | CONFIG_MISC_FILESYSTEMS=y | |
1022 | # | ||
1023 | # Miscellaneous filesystems | ||
1024 | # | ||
1025 | # CONFIG_ADFS_FS is not set | 1186 | # CONFIG_ADFS_FS is not set |
1026 | # CONFIG_AFFS_FS is not set | 1187 | # CONFIG_AFFS_FS is not set |
1027 | # CONFIG_HFS_FS is not set | 1188 | # CONFIG_HFS_FS is not set |
@@ -1039,7 +1200,14 @@ CONFIG_JFFS2_ZLIB=y | |||
1039 | # CONFIG_JFFS2_LZO is not set | 1200 | # CONFIG_JFFS2_LZO is not set |
1040 | CONFIG_JFFS2_RTIME=y | 1201 | CONFIG_JFFS2_RTIME=y |
1041 | # CONFIG_JFFS2_RUBIN is not set | 1202 | # CONFIG_JFFS2_RUBIN is not set |
1203 | CONFIG_UBIFS_FS=y | ||
1204 | # CONFIG_UBIFS_FS_XATTR is not set | ||
1205 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set | ||
1206 | CONFIG_UBIFS_FS_LZO=y | ||
1207 | CONFIG_UBIFS_FS_ZLIB=y | ||
1208 | # CONFIG_UBIFS_FS_DEBUG is not set | ||
1042 | # CONFIG_CRAMFS is not set | 1209 | # CONFIG_CRAMFS is not set |
1210 | # CONFIG_SQUASHFS is not set | ||
1043 | # CONFIG_VXFS_FS is not set | 1211 | # CONFIG_VXFS_FS is not set |
1044 | CONFIG_MINIX_FS=m | 1212 | CONFIG_MINIX_FS=m |
1045 | # CONFIG_OMFS_FS is not set | 1213 | # CONFIG_OMFS_FS is not set |
@@ -1122,6 +1290,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1122 | CONFIG_ENABLE_MUST_CHECK=y | 1290 | CONFIG_ENABLE_MUST_CHECK=y |
1123 | CONFIG_FRAME_WARN=1024 | 1291 | CONFIG_FRAME_WARN=1024 |
1124 | CONFIG_MAGIC_SYSRQ=y | 1292 | CONFIG_MAGIC_SYSRQ=y |
1293 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1125 | # CONFIG_UNUSED_SYMBOLS is not set | 1294 | # CONFIG_UNUSED_SYMBOLS is not set |
1126 | CONFIG_DEBUG_FS=y | 1295 | CONFIG_DEBUG_FS=y |
1127 | # CONFIG_HEADERS_CHECK is not set | 1296 | # CONFIG_HEADERS_CHECK is not set |
@@ -1130,6 +1299,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1130 | CONFIG_DETECT_SOFTLOCKUP=y | 1299 | CONFIG_DETECT_SOFTLOCKUP=y |
1131 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1300 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1132 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1301 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1302 | CONFIG_DETECT_HUNG_TASK=y | ||
1303 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1304 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1133 | CONFIG_SCHED_DEBUG=y | 1305 | CONFIG_SCHED_DEBUG=y |
1134 | # CONFIG_SCHEDSTATS is not set | 1306 | # CONFIG_SCHEDSTATS is not set |
1135 | # CONFIG_TIMER_STATS is not set | 1307 | # CONFIG_TIMER_STATS is not set |
@@ -1145,6 +1317,7 @@ CONFIG_SCHED_DEBUG=y | |||
1145 | # CONFIG_LOCK_STAT is not set | 1317 | # CONFIG_LOCK_STAT is not set |
1146 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1318 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1147 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1319 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1320 | CONFIG_STACKTRACE=y | ||
1148 | # CONFIG_DEBUG_KOBJECT is not set | 1321 | # CONFIG_DEBUG_KOBJECT is not set |
1149 | CONFIG_DEBUG_BUGVERBOSE=y | 1322 | CONFIG_DEBUG_BUGVERBOSE=y |
1150 | # CONFIG_DEBUG_INFO is not set | 1323 | # CONFIG_DEBUG_INFO is not set |
@@ -1153,13 +1326,39 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
1153 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1326 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1154 | # CONFIG_DEBUG_LIST is not set | 1327 | # CONFIG_DEBUG_LIST is not set |
1155 | # CONFIG_DEBUG_SG is not set | 1328 | # CONFIG_DEBUG_SG is not set |
1329 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1330 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1156 | CONFIG_FRAME_POINTER=y | 1331 | CONFIG_FRAME_POINTER=y |
1157 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1332 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1158 | # CONFIG_RCU_TORTURE_TEST is not set | 1333 | # CONFIG_RCU_TORTURE_TEST is not set |
1334 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1159 | # CONFIG_KPROBES_SANITY_TEST is not set | 1335 | # CONFIG_KPROBES_SANITY_TEST is not set |
1160 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1336 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1337 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1338 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1161 | # CONFIG_LKDTM is not set | 1339 | # CONFIG_LKDTM is not set |
1162 | # CONFIG_FAULT_INJECTION is not set | 1340 | # CONFIG_FAULT_INJECTION is not set |
1341 | # CONFIG_PAGE_POISONING is not set | ||
1342 | CONFIG_NOP_TRACER=y | ||
1343 | CONFIG_RING_BUFFER=y | ||
1344 | CONFIG_EVENT_TRACING=y | ||
1345 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
1346 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | ||
1347 | CONFIG_TRACING=y | ||
1348 | CONFIG_TRACING_SUPPORT=y | ||
1349 | CONFIG_FTRACE=y | ||
1350 | # CONFIG_IRQSOFF_TRACER is not set | ||
1351 | # CONFIG_SCHED_TRACER is not set | ||
1352 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1353 | # CONFIG_BOOT_TRACER is not set | ||
1354 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1355 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1356 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1357 | # CONFIG_KMEMTRACE is not set | ||
1358 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1359 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1360 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
1361 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1163 | # CONFIG_SAMPLES is not set | 1362 | # CONFIG_SAMPLES is not set |
1164 | 1363 | ||
1165 | # | 1364 | # |
@@ -1167,19 +1366,30 @@ CONFIG_FRAME_POINTER=y | |||
1167 | # | 1366 | # |
1168 | # CONFIG_KEYS is not set | 1367 | # CONFIG_KEYS is not set |
1169 | # CONFIG_SECURITY is not set | 1368 | # CONFIG_SECURITY is not set |
1369 | # CONFIG_SECURITYFS is not set | ||
1170 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1370 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1171 | CONFIG_CRYPTO=y | 1371 | CONFIG_CRYPTO=y |
1172 | 1372 | ||
1173 | # | 1373 | # |
1174 | # Crypto core or helper | 1374 | # Crypto core or helper |
1175 | # | 1375 | # |
1176 | CONFIG_CRYPTO_ALGAPI=m | 1376 | # CONFIG_CRYPTO_FIPS is not set |
1377 | CONFIG_CRYPTO_ALGAPI=y | ||
1378 | CONFIG_CRYPTO_ALGAPI2=y | ||
1177 | CONFIG_CRYPTO_AEAD=m | 1379 | CONFIG_CRYPTO_AEAD=m |
1380 | CONFIG_CRYPTO_AEAD2=y | ||
1178 | CONFIG_CRYPTO_BLKCIPHER=m | 1381 | CONFIG_CRYPTO_BLKCIPHER=m |
1382 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
1179 | CONFIG_CRYPTO_HASH=m | 1383 | CONFIG_CRYPTO_HASH=m |
1384 | CONFIG_CRYPTO_HASH2=y | ||
1385 | CONFIG_CRYPTO_RNG=m | ||
1386 | CONFIG_CRYPTO_RNG2=y | ||
1387 | CONFIG_CRYPTO_PCOMP=y | ||
1180 | CONFIG_CRYPTO_MANAGER=m | 1388 | CONFIG_CRYPTO_MANAGER=m |
1389 | CONFIG_CRYPTO_MANAGER2=y | ||
1181 | # CONFIG_CRYPTO_GF128MUL is not set | 1390 | # CONFIG_CRYPTO_GF128MUL is not set |
1182 | # CONFIG_CRYPTO_NULL is not set | 1391 | # CONFIG_CRYPTO_NULL is not set |
1392 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1183 | # CONFIG_CRYPTO_CRYPTD is not set | 1393 | # CONFIG_CRYPTO_CRYPTD is not set |
1184 | CONFIG_CRYPTO_AUTHENC=m | 1394 | CONFIG_CRYPTO_AUTHENC=m |
1185 | # CONFIG_CRYPTO_TEST is not set | 1395 | # CONFIG_CRYPTO_TEST is not set |
@@ -1207,11 +1417,13 @@ CONFIG_CRYPTO_CBC=m | |||
1207 | # | 1417 | # |
1208 | CONFIG_CRYPTO_HMAC=m | 1418 | CONFIG_CRYPTO_HMAC=m |
1209 | # CONFIG_CRYPTO_XCBC is not set | 1419 | # CONFIG_CRYPTO_XCBC is not set |
1420 | # CONFIG_CRYPTO_VMAC is not set | ||
1210 | 1421 | ||
1211 | # | 1422 | # |
1212 | # Digest | 1423 | # Digest |
1213 | # | 1424 | # |
1214 | # CONFIG_CRYPTO_CRC32C is not set | 1425 | # CONFIG_CRYPTO_CRC32C is not set |
1426 | # CONFIG_CRYPTO_GHASH is not set | ||
1215 | # CONFIG_CRYPTO_MD4 is not set | 1427 | # CONFIG_CRYPTO_MD4 is not set |
1216 | CONFIG_CRYPTO_MD5=m | 1428 | CONFIG_CRYPTO_MD5=m |
1217 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1429 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
@@ -1228,7 +1440,7 @@ CONFIG_CRYPTO_SHA1=m | |||
1228 | # | 1440 | # |
1229 | # Ciphers | 1441 | # Ciphers |
1230 | # | 1442 | # |
1231 | # CONFIG_CRYPTO_AES is not set | 1443 | CONFIG_CRYPTO_AES=m |
1232 | # CONFIG_CRYPTO_ANUBIS is not set | 1444 | # CONFIG_CRYPTO_ANUBIS is not set |
1233 | # CONFIG_CRYPTO_ARC4 is not set | 1445 | # CONFIG_CRYPTO_ARC4 is not set |
1234 | # CONFIG_CRYPTO_BLOWFISH is not set | 1446 | # CONFIG_CRYPTO_BLOWFISH is not set |
@@ -1247,18 +1459,24 @@ CONFIG_CRYPTO_DES=m | |||
1247 | # | 1459 | # |
1248 | # Compression | 1460 | # Compression |
1249 | # | 1461 | # |
1250 | CONFIG_CRYPTO_DEFLATE=m | 1462 | CONFIG_CRYPTO_DEFLATE=y |
1251 | # CONFIG_CRYPTO_LZO is not set | 1463 | # CONFIG_CRYPTO_ZLIB is not set |
1464 | CONFIG_CRYPTO_LZO=y | ||
1465 | |||
1466 | # | ||
1467 | # Random Number Generation | ||
1468 | # | ||
1469 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
1252 | # CONFIG_CRYPTO_HW is not set | 1470 | # CONFIG_CRYPTO_HW is not set |
1471 | CONFIG_BINARY_PRINTF=y | ||
1253 | 1472 | ||
1254 | # | 1473 | # |
1255 | # Library routines | 1474 | # Library routines |
1256 | # | 1475 | # |
1257 | CONFIG_BITREVERSE=y | 1476 | CONFIG_BITREVERSE=y |
1258 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | 1477 | CONFIG_GENERIC_FIND_LAST_BIT=y |
1259 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1260 | CONFIG_CRC_CCITT=m | 1478 | CONFIG_CRC_CCITT=m |
1261 | # CONFIG_CRC16 is not set | 1479 | CONFIG_CRC16=y |
1262 | CONFIG_CRC_T10DIF=m | 1480 | CONFIG_CRC_T10DIF=m |
1263 | CONFIG_CRC_ITU_T=m | 1481 | CONFIG_CRC_ITU_T=m |
1264 | CONFIG_CRC32=y | 1482 | CONFIG_CRC32=y |
@@ -1266,8 +1484,11 @@ CONFIG_CRC7=m | |||
1266 | # CONFIG_LIBCRC32C is not set | 1484 | # CONFIG_LIBCRC32C is not set |
1267 | CONFIG_ZLIB_INFLATE=y | 1485 | CONFIG_ZLIB_INFLATE=y |
1268 | CONFIG_ZLIB_DEFLATE=y | 1486 | CONFIG_ZLIB_DEFLATE=y |
1487 | CONFIG_LZO_COMPRESS=y | ||
1488 | CONFIG_LZO_DECOMPRESS=y | ||
1489 | CONFIG_DECOMPRESS_GZIP=y | ||
1269 | CONFIG_GENERIC_ALLOCATOR=y | 1490 | CONFIG_GENERIC_ALLOCATOR=y |
1270 | CONFIG_PLIST=y | ||
1271 | CONFIG_HAS_IOMEM=y | 1491 | CONFIG_HAS_IOMEM=y |
1272 | CONFIG_HAS_IOPORT=y | 1492 | CONFIG_HAS_IOPORT=y |
1273 | CONFIG_HAS_DMA=y | 1493 | CONFIG_HAS_DMA=y |
1494 | CONFIG_NLATTR=y | ||
diff --git a/arch/avr32/configs/atstk1006_defconfig b/arch/avr32/configs/atstk1006_defconfig index c1603c4860e0..363e2381f32a 100644 --- a/arch/avr32/configs/atstk1006_defconfig +++ b/arch/avr32/configs/atstk1006_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.28-rc8 | 3 | # Linux kernel version: 2.6.32-rc5 |
4 | # Thu Dec 18 11:22:23 2008 | 4 | # Thu Oct 29 13:00:25 2009 |
5 | # | 5 | # |
6 | CONFIG_AVR32=y | 6 | CONFIG_AVR32=y |
7 | CONFIG_GENERIC_GPIO=y | 7 | CONFIG_GENERIC_GPIO=y |
@@ -21,6 +21,7 @@ CONFIG_GENERIC_HWEIGHT=y | |||
21 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 21 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
22 | CONFIG_GENERIC_BUG=y | 22 | CONFIG_GENERIC_BUG=y |
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | CONFIG_CONSTRUCTORS=y | ||
24 | 25 | ||
25 | # | 26 | # |
26 | # General setup | 27 | # General setup |
@@ -34,21 +35,36 @@ CONFIG_SWAP=y | |||
34 | CONFIG_SYSVIPC=y | 35 | CONFIG_SYSVIPC=y |
35 | CONFIG_SYSVIPC_SYSCTL=y | 36 | CONFIG_SYSVIPC_SYSCTL=y |
36 | CONFIG_POSIX_MQUEUE=y | 37 | CONFIG_POSIX_MQUEUE=y |
38 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
37 | # CONFIG_BSD_PROCESS_ACCT is not set | 39 | # CONFIG_BSD_PROCESS_ACCT is not set |
38 | # CONFIG_TASKSTATS is not set | 40 | # CONFIG_TASKSTATS is not set |
39 | # CONFIG_AUDIT is not set | 41 | # CONFIG_AUDIT is not set |
42 | |||
43 | # | ||
44 | # RCU Subsystem | ||
45 | # | ||
46 | CONFIG_TREE_RCU=y | ||
47 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
48 | # CONFIG_RCU_TRACE is not set | ||
49 | CONFIG_RCU_FANOUT=32 | ||
50 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
51 | # CONFIG_TREE_RCU_TRACE is not set | ||
40 | # CONFIG_IKCONFIG is not set | 52 | # CONFIG_IKCONFIG is not set |
41 | CONFIG_LOG_BUF_SHIFT=14 | 53 | CONFIG_LOG_BUF_SHIFT=14 |
42 | # CONFIG_CGROUPS is not set | ||
43 | # CONFIG_GROUP_SCHED is not set | 54 | # CONFIG_GROUP_SCHED is not set |
55 | # CONFIG_CGROUPS is not set | ||
44 | CONFIG_SYSFS_DEPRECATED=y | 56 | CONFIG_SYSFS_DEPRECATED=y |
45 | CONFIG_SYSFS_DEPRECATED_V2=y | 57 | CONFIG_SYSFS_DEPRECATED_V2=y |
46 | CONFIG_RELAY=y | 58 | CONFIG_RELAY=y |
47 | # CONFIG_NAMESPACES is not set | 59 | # CONFIG_NAMESPACES is not set |
48 | CONFIG_BLK_DEV_INITRD=y | 60 | CONFIG_BLK_DEV_INITRD=y |
49 | CONFIG_INITRAMFS_SOURCE="" | 61 | CONFIG_INITRAMFS_SOURCE="" |
62 | CONFIG_RD_GZIP=y | ||
63 | # CONFIG_RD_BZIP2 is not set | ||
64 | # CONFIG_RD_LZMA is not set | ||
50 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 65 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
51 | CONFIG_SYSCTL=y | 66 | CONFIG_SYSCTL=y |
67 | CONFIG_ANON_INODES=y | ||
52 | CONFIG_EMBEDDED=y | 68 | CONFIG_EMBEDDED=y |
53 | # CONFIG_SYSCTL_SYSCALL is not set | 69 | # CONFIG_SYSCTL_SYSCALL is not set |
54 | CONFIG_KALLSYMS=y | 70 | CONFIG_KALLSYMS=y |
@@ -58,32 +74,40 @@ CONFIG_HOTPLUG=y | |||
58 | CONFIG_PRINTK=y | 74 | CONFIG_PRINTK=y |
59 | CONFIG_BUG=y | 75 | CONFIG_BUG=y |
60 | CONFIG_ELF_CORE=y | 76 | CONFIG_ELF_CORE=y |
61 | # CONFIG_COMPAT_BRK is not set | ||
62 | # CONFIG_BASE_FULL is not set | 77 | # CONFIG_BASE_FULL is not set |
63 | CONFIG_FUTEX=y | 78 | CONFIG_FUTEX=y |
64 | CONFIG_ANON_INODES=y | ||
65 | CONFIG_EPOLL=y | 79 | CONFIG_EPOLL=y |
66 | CONFIG_SIGNALFD=y | 80 | CONFIG_SIGNALFD=y |
67 | CONFIG_TIMERFD=y | 81 | CONFIG_TIMERFD=y |
68 | CONFIG_EVENTFD=y | 82 | CONFIG_EVENTFD=y |
69 | CONFIG_SHMEM=y | 83 | CONFIG_SHMEM=y |
70 | CONFIG_AIO=y | 84 | CONFIG_AIO=y |
85 | |||
86 | # | ||
87 | # Kernel Performance Events And Counters | ||
88 | # | ||
71 | CONFIG_VM_EVENT_COUNTERS=y | 89 | CONFIG_VM_EVENT_COUNTERS=y |
72 | CONFIG_SLUB_DEBUG=y | 90 | CONFIG_SLUB_DEBUG=y |
91 | # CONFIG_COMPAT_BRK is not set | ||
73 | # CONFIG_SLAB is not set | 92 | # CONFIG_SLAB is not set |
74 | CONFIG_SLUB=y | 93 | CONFIG_SLUB=y |
75 | # CONFIG_SLOB is not set | 94 | # CONFIG_SLOB is not set |
76 | CONFIG_PROFILING=y | 95 | CONFIG_PROFILING=y |
77 | # CONFIG_MARKERS is not set | 96 | CONFIG_TRACEPOINTS=y |
78 | CONFIG_OPROFILE=m | 97 | CONFIG_OPROFILE=m |
79 | CONFIG_HAVE_OPROFILE=y | 98 | CONFIG_HAVE_OPROFILE=y |
80 | CONFIG_KPROBES=y | 99 | CONFIG_KPROBES=y |
81 | CONFIG_HAVE_KPROBES=y | 100 | CONFIG_HAVE_KPROBES=y |
82 | CONFIG_HAVE_CLK=y | 101 | CONFIG_HAVE_CLK=y |
102 | |||
103 | # | ||
104 | # GCOV-based kernel profiling | ||
105 | # | ||
106 | # CONFIG_GCOV_KERNEL is not set | ||
107 | # CONFIG_SLOW_WORK is not set | ||
83 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 108 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
84 | CONFIG_SLABINFO=y | 109 | CONFIG_SLABINFO=y |
85 | CONFIG_RT_MUTEXES=y | 110 | CONFIG_RT_MUTEXES=y |
86 | # CONFIG_TINY_SHMEM is not set | ||
87 | CONFIG_BASE_SMALL=1 | 111 | CONFIG_BASE_SMALL=1 |
88 | CONFIG_MODULES=y | 112 | CONFIG_MODULES=y |
89 | # CONFIG_MODULE_FORCE_LOAD is not set | 113 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -91,11 +115,8 @@ CONFIG_MODULE_UNLOAD=y | |||
91 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 115 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
92 | # CONFIG_MODVERSIONS is not set | 116 | # CONFIG_MODVERSIONS is not set |
93 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 117 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
94 | CONFIG_KMOD=y | ||
95 | CONFIG_BLOCK=y | 118 | CONFIG_BLOCK=y |
96 | # CONFIG_LBD is not set | 119 | CONFIG_LBDAF=y |
97 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
98 | # CONFIG_LSF is not set | ||
99 | # CONFIG_BLK_DEV_BSG is not set | 120 | # CONFIG_BLK_DEV_BSG is not set |
100 | # CONFIG_BLK_DEV_INTEGRITY is not set | 121 | # CONFIG_BLK_DEV_INTEGRITY is not set |
101 | 122 | ||
@@ -111,7 +132,6 @@ CONFIG_IOSCHED_CFQ=y | |||
111 | CONFIG_DEFAULT_CFQ=y | 132 | CONFIG_DEFAULT_CFQ=y |
112 | # CONFIG_DEFAULT_NOOP is not set | 133 | # CONFIG_DEFAULT_NOOP is not set |
113 | CONFIG_DEFAULT_IOSCHED="cfq" | 134 | CONFIG_DEFAULT_IOSCHED="cfq" |
114 | CONFIG_CLASSIC_RCU=y | ||
115 | CONFIG_FREEZER=y | 135 | CONFIG_FREEZER=y |
116 | 136 | ||
117 | # | 137 | # |
@@ -128,8 +148,11 @@ CONFIG_PLATFORM_AT32AP=y | |||
128 | CONFIG_CPU_AT32AP700X=y | 148 | CONFIG_CPU_AT32AP700X=y |
129 | CONFIG_CPU_AT32AP7000=y | 149 | CONFIG_CPU_AT32AP7000=y |
130 | CONFIG_BOARD_ATSTK1000=y | 150 | CONFIG_BOARD_ATSTK1000=y |
131 | # CONFIG_BOARD_ATNGW100 is not set | 151 | # CONFIG_BOARD_ATNGW100_MKI is not set |
152 | # CONFIG_BOARD_ATNGW100_MKII is not set | ||
153 | # CONFIG_BOARD_HAMMERHEAD is not set | ||
132 | # CONFIG_BOARD_FAVR_32 is not set | 154 | # CONFIG_BOARD_FAVR_32 is not set |
155 | # CONFIG_BOARD_MERISC is not set | ||
133 | # CONFIG_BOARD_MIMC200 is not set | 156 | # CONFIG_BOARD_MIMC200 is not set |
134 | # CONFIG_BOARD_ATSTK1002 is not set | 157 | # CONFIG_BOARD_ATSTK1002 is not set |
135 | # CONFIG_BOARD_ATSTK1003 is not set | 158 | # CONFIG_BOARD_ATSTK1003 is not set |
@@ -156,7 +179,7 @@ CONFIG_PREEMPT_NONE=y | |||
156 | # CONFIG_PREEMPT_VOLUNTARY is not set | 179 | # CONFIG_PREEMPT_VOLUNTARY is not set |
157 | # CONFIG_PREEMPT is not set | 180 | # CONFIG_PREEMPT is not set |
158 | CONFIG_QUICKLIST=y | 181 | CONFIG_QUICKLIST=y |
159 | # CONFIG_HAVE_ARCH_BOOTMEM_NODE is not set | 182 | # CONFIG_HAVE_ARCH_BOOTMEM is not set |
160 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set | 183 | # CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set |
161 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set | 184 | # CONFIG_NEED_NODE_MEMMAP_SIZE is not set |
162 | CONFIG_ARCH_FLATMEM_ENABLE=y | 185 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -170,12 +193,14 @@ CONFIG_FLATMEM=y | |||
170 | CONFIG_FLAT_NODE_MEM_MAP=y | 193 | CONFIG_FLAT_NODE_MEM_MAP=y |
171 | CONFIG_PAGEFLAGS_EXTENDED=y | 194 | CONFIG_PAGEFLAGS_EXTENDED=y |
172 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 195 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
173 | # CONFIG_RESOURCES_64BIT is not set | ||
174 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 196 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
175 | CONFIG_ZONE_DMA_FLAG=0 | 197 | CONFIG_ZONE_DMA_FLAG=0 |
176 | CONFIG_NR_QUICK=2 | 198 | CONFIG_NR_QUICK=2 |
177 | CONFIG_VIRT_TO_BUS=y | 199 | CONFIG_VIRT_TO_BUS=y |
178 | CONFIG_UNEVICTABLE_LRU=y | 200 | CONFIG_HAVE_MLOCK=y |
201 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
202 | # CONFIG_KSM is not set | ||
203 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
179 | # CONFIG_OWNERSHIP_TRACE is not set | 204 | # CONFIG_OWNERSHIP_TRACE is not set |
180 | CONFIG_NMI_DEBUGGING=y | 205 | CONFIG_NMI_DEBUGGING=y |
181 | # CONFIG_HZ_100 is not set | 206 | # CONFIG_HZ_100 is not set |
@@ -194,6 +219,7 @@ CONFIG_PM=y | |||
194 | CONFIG_PM_SLEEP=y | 219 | CONFIG_PM_SLEEP=y |
195 | CONFIG_SUSPEND=y | 220 | CONFIG_SUSPEND=y |
196 | CONFIG_SUSPEND_FREEZER=y | 221 | CONFIG_SUSPEND_FREEZER=y |
222 | # CONFIG_PM_RUNTIME is not set | ||
197 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 223 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
198 | 224 | ||
199 | # | 225 | # |
@@ -294,6 +320,7 @@ CONFIG_IPV6_TUNNEL=m | |||
294 | # CONFIG_NETFILTER is not set | 320 | # CONFIG_NETFILTER is not set |
295 | # CONFIG_IP_DCCP is not set | 321 | # CONFIG_IP_DCCP is not set |
296 | # CONFIG_IP_SCTP is not set | 322 | # CONFIG_IP_SCTP is not set |
323 | # CONFIG_RDS is not set | ||
297 | # CONFIG_TIPC is not set | 324 | # CONFIG_TIPC is not set |
298 | # CONFIG_ATM is not set | 325 | # CONFIG_ATM is not set |
299 | CONFIG_STP=m | 326 | CONFIG_STP=m |
@@ -309,20 +336,24 @@ CONFIG_LLC=m | |||
309 | # CONFIG_LAPB is not set | 336 | # CONFIG_LAPB is not set |
310 | # CONFIG_ECONET is not set | 337 | # CONFIG_ECONET is not set |
311 | # CONFIG_WAN_ROUTER is not set | 338 | # CONFIG_WAN_ROUTER is not set |
339 | # CONFIG_PHONET is not set | ||
340 | # CONFIG_IEEE802154 is not set | ||
312 | # CONFIG_NET_SCHED is not set | 341 | # CONFIG_NET_SCHED is not set |
342 | # CONFIG_DCB is not set | ||
313 | 343 | ||
314 | # | 344 | # |
315 | # Network testing | 345 | # Network testing |
316 | # | 346 | # |
317 | # CONFIG_NET_PKTGEN is not set | 347 | # CONFIG_NET_PKTGEN is not set |
318 | # CONFIG_NET_TCPPROBE is not set | 348 | # CONFIG_NET_TCPPROBE is not set |
349 | # CONFIG_NET_DROP_MONITOR is not set | ||
319 | # CONFIG_HAMRADIO is not set | 350 | # CONFIG_HAMRADIO is not set |
320 | # CONFIG_CAN is not set | 351 | # CONFIG_CAN is not set |
321 | # CONFIG_IRDA is not set | 352 | # CONFIG_IRDA is not set |
322 | # CONFIG_BT is not set | 353 | # CONFIG_BT is not set |
323 | # CONFIG_AF_RXRPC is not set | 354 | # CONFIG_AF_RXRPC is not set |
324 | # CONFIG_PHONET is not set | ||
325 | # CONFIG_WIRELESS is not set | 355 | # CONFIG_WIRELESS is not set |
356 | # CONFIG_WIMAX is not set | ||
326 | # CONFIG_RFKILL is not set | 357 | # CONFIG_RFKILL is not set |
327 | # CONFIG_NET_9P is not set | 358 | # CONFIG_NET_9P is not set |
328 | 359 | ||
@@ -334,6 +365,7 @@ CONFIG_LLC=m | |||
334 | # Generic Driver Options | 365 | # Generic Driver Options |
335 | # | 366 | # |
336 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 367 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
368 | # CONFIG_DEVTMPFS is not set | ||
337 | CONFIG_STANDALONE=y | 369 | CONFIG_STANDALONE=y |
338 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 370 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
339 | # CONFIG_FW_LOADER is not set | 371 | # CONFIG_FW_LOADER is not set |
@@ -343,6 +375,7 @@ CONFIG_STANDALONE=y | |||
343 | # CONFIG_CONNECTOR is not set | 375 | # CONFIG_CONNECTOR is not set |
344 | CONFIG_MTD=y | 376 | CONFIG_MTD=y |
345 | # CONFIG_MTD_DEBUG is not set | 377 | # CONFIG_MTD_DEBUG is not set |
378 | # CONFIG_MTD_TESTS is not set | ||
346 | # CONFIG_MTD_CONCAT is not set | 379 | # CONFIG_MTD_CONCAT is not set |
347 | CONFIG_MTD_PARTITIONS=y | 380 | CONFIG_MTD_PARTITIONS=y |
348 | # CONFIG_MTD_REDBOOT_PARTS is not set | 381 | # CONFIG_MTD_REDBOOT_PARTS is not set |
@@ -393,9 +426,7 @@ CONFIG_MTD_CFI_UTIL=y | |||
393 | # | 426 | # |
394 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 427 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
395 | CONFIG_MTD_PHYSMAP=y | 428 | CONFIG_MTD_PHYSMAP=y |
396 | CONFIG_MTD_PHYSMAP_START=0x8000000 | 429 | # CONFIG_MTD_PHYSMAP_COMPAT is not set |
397 | CONFIG_MTD_PHYSMAP_LEN=0x0 | ||
398 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
399 | # CONFIG_MTD_PLATRAM is not set | 430 | # CONFIG_MTD_PLATRAM is not set |
400 | 431 | ||
401 | # | 432 | # |
@@ -406,6 +437,7 @@ CONFIG_MTD_DATAFLASH=m | |||
406 | CONFIG_MTD_DATAFLASH_OTP=y | 437 | CONFIG_MTD_DATAFLASH_OTP=y |
407 | CONFIG_MTD_M25P80=m | 438 | CONFIG_MTD_M25P80=m |
408 | CONFIG_M25PXX_USE_FAST_READ=y | 439 | CONFIG_M25PXX_USE_FAST_READ=y |
440 | # CONFIG_MTD_SST25L is not set | ||
409 | # CONFIG_MTD_SLRAM is not set | 441 | # CONFIG_MTD_SLRAM is not set |
410 | # CONFIG_MTD_PHRAM is not set | 442 | # CONFIG_MTD_PHRAM is not set |
411 | # CONFIG_MTD_MTDRAM is not set | 443 | # CONFIG_MTD_MTDRAM is not set |
@@ -432,6 +464,11 @@ CONFIG_MTD_NAND_ATMEL_ECC_HW=y | |||
432 | # CONFIG_MTD_ONENAND is not set | 464 | # CONFIG_MTD_ONENAND is not set |
433 | 465 | ||
434 | # | 466 | # |
467 | # LPDDR flash memory drivers | ||
468 | # | ||
469 | # CONFIG_MTD_LPDDR is not set | ||
470 | |||
471 | # | ||
435 | # UBI - Unsorted block images | 472 | # UBI - Unsorted block images |
436 | # | 473 | # |
437 | CONFIG_MTD_UBI=y | 474 | CONFIG_MTD_UBI=y |
@@ -460,13 +497,22 @@ CONFIG_ATMEL_PWM=m | |||
460 | CONFIG_ATMEL_TCLIB=y | 497 | CONFIG_ATMEL_TCLIB=y |
461 | CONFIG_ATMEL_TCB_CLKSRC=y | 498 | CONFIG_ATMEL_TCB_CLKSRC=y |
462 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 | 499 | CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 |
463 | # CONFIG_EEPROM_93CX6 is not set | ||
464 | # CONFIG_ICS932S401 is not set | 500 | # CONFIG_ICS932S401 is not set |
465 | CONFIG_ATMEL_SSC=m | 501 | CONFIG_ATMEL_SSC=m |
466 | # CONFIG_ENCLOSURE_SERVICES is not set | 502 | # CONFIG_ENCLOSURE_SERVICES is not set |
503 | # CONFIG_ISL29003 is not set | ||
467 | # CONFIG_C2PORT is not set | 504 | # CONFIG_C2PORT is not set |
468 | 505 | ||
469 | # | 506 | # |
507 | # EEPROM support | ||
508 | # | ||
509 | # CONFIG_EEPROM_AT24 is not set | ||
510 | # CONFIG_EEPROM_AT25 is not set | ||
511 | # CONFIG_EEPROM_LEGACY is not set | ||
512 | # CONFIG_EEPROM_MAX6875 is not set | ||
513 | # CONFIG_EEPROM_93CX6 is not set | ||
514 | |||
515 | # | ||
470 | # SCSI device support | 516 | # SCSI device support |
471 | # | 517 | # |
472 | # CONFIG_RAID_ATTRS is not set | 518 | # CONFIG_RAID_ATTRS is not set |
@@ -486,10 +532,6 @@ CONFIG_BLK_DEV_SR=m | |||
486 | # CONFIG_BLK_DEV_SR_VENDOR is not set | 532 | # CONFIG_BLK_DEV_SR_VENDOR is not set |
487 | # CONFIG_CHR_DEV_SG is not set | 533 | # CONFIG_CHR_DEV_SG is not set |
488 | # CONFIG_CHR_DEV_SCH is not set | 534 | # CONFIG_CHR_DEV_SCH is not set |
489 | |||
490 | # | ||
491 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
492 | # | ||
493 | # CONFIG_SCSI_MULTI_LUN is not set | 535 | # CONFIG_SCSI_MULTI_LUN is not set |
494 | # CONFIG_SCSI_CONSTANTS is not set | 536 | # CONFIG_SCSI_CONSTANTS is not set |
495 | # CONFIG_SCSI_LOGGING is not set | 537 | # CONFIG_SCSI_LOGGING is not set |
@@ -506,8 +548,10 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
506 | # CONFIG_SCSI_SRP_ATTRS is not set | 548 | # CONFIG_SCSI_SRP_ATTRS is not set |
507 | # CONFIG_SCSI_LOWLEVEL is not set | 549 | # CONFIG_SCSI_LOWLEVEL is not set |
508 | # CONFIG_SCSI_DH is not set | 550 | # CONFIG_SCSI_DH is not set |
551 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
509 | CONFIG_ATA=m | 552 | CONFIG_ATA=m |
510 | # CONFIG_ATA_NONSTANDARD is not set | 553 | # CONFIG_ATA_NONSTANDARD is not set |
554 | CONFIG_ATA_VERBOSE_ERROR=y | ||
511 | # CONFIG_SATA_PMP is not set | 555 | # CONFIG_SATA_PMP is not set |
512 | CONFIG_ATA_SFF=y | 556 | CONFIG_ATA_SFF=y |
513 | # CONFIG_SATA_MV is not set | 557 | # CONFIG_SATA_MV is not set |
@@ -536,12 +580,17 @@ CONFIG_PHYLIB=y | |||
536 | # CONFIG_BROADCOM_PHY is not set | 580 | # CONFIG_BROADCOM_PHY is not set |
537 | # CONFIG_ICPLUS_PHY is not set | 581 | # CONFIG_ICPLUS_PHY is not set |
538 | # CONFIG_REALTEK_PHY is not set | 582 | # CONFIG_REALTEK_PHY is not set |
583 | # CONFIG_NATIONAL_PHY is not set | ||
584 | # CONFIG_STE10XP is not set | ||
585 | # CONFIG_LSI_ET1011C_PHY is not set | ||
539 | # CONFIG_FIXED_PHY is not set | 586 | # CONFIG_FIXED_PHY is not set |
540 | # CONFIG_MDIO_BITBANG is not set | 587 | # CONFIG_MDIO_BITBANG is not set |
541 | CONFIG_NET_ETHERNET=y | 588 | CONFIG_NET_ETHERNET=y |
542 | # CONFIG_MII is not set | 589 | # CONFIG_MII is not set |
543 | CONFIG_MACB=y | 590 | CONFIG_MACB=y |
544 | # CONFIG_ENC28J60 is not set | 591 | # CONFIG_ENC28J60 is not set |
592 | # CONFIG_ETHOC is not set | ||
593 | # CONFIG_DNET is not set | ||
545 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 594 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
546 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 595 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
547 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 596 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -550,15 +599,18 @@ CONFIG_MACB=y | |||
550 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 599 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
551 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 600 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
552 | # CONFIG_B44 is not set | 601 | # CONFIG_B44 is not set |
602 | # CONFIG_KS8842 is not set | ||
603 | # CONFIG_KS8851 is not set | ||
604 | # CONFIG_KS8851_MLL is not set | ||
553 | # CONFIG_NETDEV_1000 is not set | 605 | # CONFIG_NETDEV_1000 is not set |
554 | # CONFIG_NETDEV_10000 is not set | 606 | # CONFIG_NETDEV_10000 is not set |
607 | CONFIG_WLAN=y | ||
608 | # CONFIG_WLAN_PRE80211 is not set | ||
609 | # CONFIG_WLAN_80211 is not set | ||
555 | 610 | ||
556 | # | 611 | # |
557 | # Wireless LAN | 612 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
558 | # | 613 | # |
559 | # CONFIG_WLAN_PRE80211 is not set | ||
560 | # CONFIG_WLAN_80211 is not set | ||
561 | # CONFIG_IWLWIFI_LEDS is not set | ||
562 | # CONFIG_WAN is not set | 614 | # CONFIG_WAN is not set |
563 | CONFIG_PPP=m | 615 | CONFIG_PPP=m |
564 | # CONFIG_PPP_MULTILINK is not set | 616 | # CONFIG_PPP_MULTILINK is not set |
@@ -600,18 +652,25 @@ CONFIG_INPUT_EVDEV=m | |||
600 | # Input Device Drivers | 652 | # Input Device Drivers |
601 | # | 653 | # |
602 | CONFIG_INPUT_KEYBOARD=y | 654 | CONFIG_INPUT_KEYBOARD=y |
655 | # CONFIG_KEYBOARD_ADP5588 is not set | ||
603 | # CONFIG_KEYBOARD_ATKBD is not set | 656 | # CONFIG_KEYBOARD_ATKBD is not set |
604 | # CONFIG_KEYBOARD_SUNKBD is not set | 657 | # CONFIG_QT2160 is not set |
605 | # CONFIG_KEYBOARD_LKKBD is not set | 658 | # CONFIG_KEYBOARD_LKKBD is not set |
606 | # CONFIG_KEYBOARD_XTKBD is not set | 659 | CONFIG_KEYBOARD_GPIO=m |
660 | # CONFIG_KEYBOARD_MATRIX is not set | ||
661 | # CONFIG_KEYBOARD_LM8323 is not set | ||
662 | # CONFIG_KEYBOARD_MAX7359 is not set | ||
607 | # CONFIG_KEYBOARD_NEWTON is not set | 663 | # CONFIG_KEYBOARD_NEWTON is not set |
664 | # CONFIG_KEYBOARD_OPENCORES is not set | ||
608 | # CONFIG_KEYBOARD_STOWAWAY is not set | 665 | # CONFIG_KEYBOARD_STOWAWAY is not set |
609 | CONFIG_KEYBOARD_GPIO=m | 666 | # CONFIG_KEYBOARD_SUNKBD is not set |
667 | # CONFIG_KEYBOARD_XTKBD is not set | ||
610 | CONFIG_INPUT_MOUSE=y | 668 | CONFIG_INPUT_MOUSE=y |
611 | # CONFIG_MOUSE_PS2 is not set | 669 | # CONFIG_MOUSE_PS2 is not set |
612 | # CONFIG_MOUSE_SERIAL is not set | 670 | # CONFIG_MOUSE_SERIAL is not set |
613 | # CONFIG_MOUSE_VSXXXAA is not set | 671 | # CONFIG_MOUSE_VSXXXAA is not set |
614 | CONFIG_MOUSE_GPIO=m | 672 | CONFIG_MOUSE_GPIO=m |
673 | # CONFIG_MOUSE_SYNAPTICS_I2C is not set | ||
615 | # CONFIG_INPUT_JOYSTICK is not set | 674 | # CONFIG_INPUT_JOYSTICK is not set |
616 | # CONFIG_INPUT_TABLET is not set | 675 | # CONFIG_INPUT_TABLET is not set |
617 | # CONFIG_INPUT_TOUCHSCREEN is not set | 676 | # CONFIG_INPUT_TOUCHSCREEN is not set |
@@ -642,9 +701,11 @@ CONFIG_SERIAL_ATMEL=y | |||
642 | CONFIG_SERIAL_ATMEL_CONSOLE=y | 701 | CONFIG_SERIAL_ATMEL_CONSOLE=y |
643 | CONFIG_SERIAL_ATMEL_PDC=y | 702 | CONFIG_SERIAL_ATMEL_PDC=y |
644 | # CONFIG_SERIAL_ATMEL_TTYAT is not set | 703 | # CONFIG_SERIAL_ATMEL_TTYAT is not set |
704 | # CONFIG_SERIAL_MAX3100 is not set | ||
645 | CONFIG_SERIAL_CORE=y | 705 | CONFIG_SERIAL_CORE=y |
646 | CONFIG_SERIAL_CORE_CONSOLE=y | 706 | CONFIG_SERIAL_CORE_CONSOLE=y |
647 | CONFIG_UNIX98_PTYS=y | 707 | CONFIG_UNIX98_PTYS=y |
708 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
648 | # CONFIG_LEGACY_PTYS is not set | 709 | # CONFIG_LEGACY_PTYS is not set |
649 | # CONFIG_IPMI_HANDLER is not set | 710 | # CONFIG_IPMI_HANDLER is not set |
650 | # CONFIG_HW_RANDOM is not set | 711 | # CONFIG_HW_RANDOM is not set |
@@ -653,6 +714,7 @@ CONFIG_UNIX98_PTYS=y | |||
653 | # CONFIG_TCG_TPM is not set | 714 | # CONFIG_TCG_TPM is not set |
654 | CONFIG_I2C=m | 715 | CONFIG_I2C=m |
655 | CONFIG_I2C_BOARDINFO=y | 716 | CONFIG_I2C_BOARDINFO=y |
717 | CONFIG_I2C_COMPAT=y | ||
656 | CONFIG_I2C_CHARDEV=m | 718 | CONFIG_I2C_CHARDEV=m |
657 | CONFIG_I2C_HELPER_AUTO=y | 719 | CONFIG_I2C_HELPER_AUTO=y |
658 | CONFIG_I2C_ALGOBIT=m | 720 | CONFIG_I2C_ALGOBIT=m |
@@ -664,6 +726,7 @@ CONFIG_I2C_ALGOBIT=m | |||
664 | # | 726 | # |
665 | # I2C system bus drivers (mostly embedded / system-on-chip) | 727 | # I2C system bus drivers (mostly embedded / system-on-chip) |
666 | # | 728 | # |
729 | # CONFIG_I2C_DESIGNWARE is not set | ||
667 | CONFIG_I2C_GPIO=m | 730 | CONFIG_I2C_GPIO=m |
668 | # CONFIG_I2C_OCORES is not set | 731 | # CONFIG_I2C_OCORES is not set |
669 | # CONFIG_I2C_SIMTEC is not set | 732 | # CONFIG_I2C_SIMTEC is not set |
@@ -684,14 +747,6 @@ CONFIG_I2C_GPIO=m | |||
684 | # Miscellaneous I2C Chip support | 747 | # Miscellaneous I2C Chip support |
685 | # | 748 | # |
686 | # CONFIG_DS1682 is not set | 749 | # CONFIG_DS1682 is not set |
687 | # CONFIG_EEPROM_AT24 is not set | ||
688 | # CONFIG_EEPROM_LEGACY is not set | ||
689 | # CONFIG_SENSORS_PCF8574 is not set | ||
690 | # CONFIG_PCF8575 is not set | ||
691 | # CONFIG_SENSORS_PCA9539 is not set | ||
692 | # CONFIG_SENSORS_PCF8591 is not set | ||
693 | # CONFIG_TPS65010 is not set | ||
694 | # CONFIG_SENSORS_MAX6875 is not set | ||
695 | # CONFIG_SENSORS_TSL2550 is not set | 750 | # CONFIG_SENSORS_TSL2550 is not set |
696 | # CONFIG_I2C_DEBUG_CORE is not set | 751 | # CONFIG_I2C_DEBUG_CORE is not set |
697 | # CONFIG_I2C_DEBUG_ALGO is not set | 752 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -706,13 +761,18 @@ CONFIG_SPI_MASTER=y | |||
706 | # | 761 | # |
707 | CONFIG_SPI_ATMEL=y | 762 | CONFIG_SPI_ATMEL=y |
708 | # CONFIG_SPI_BITBANG is not set | 763 | # CONFIG_SPI_BITBANG is not set |
764 | # CONFIG_SPI_GPIO is not set | ||
709 | 765 | ||
710 | # | 766 | # |
711 | # SPI Protocol Masters | 767 | # SPI Protocol Masters |
712 | # | 768 | # |
713 | # CONFIG_EEPROM_AT25 is not set | ||
714 | CONFIG_SPI_SPIDEV=m | 769 | CONFIG_SPI_SPIDEV=m |
715 | # CONFIG_SPI_TLE62X0 is not set | 770 | # CONFIG_SPI_TLE62X0 is not set |
771 | |||
772 | # | ||
773 | # PPS support | ||
774 | # | ||
775 | # CONFIG_PPS is not set | ||
716 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | 776 | CONFIG_ARCH_REQUIRE_GPIOLIB=y |
717 | CONFIG_GPIOLIB=y | 777 | CONFIG_GPIOLIB=y |
718 | # CONFIG_DEBUG_GPIO is not set | 778 | # CONFIG_DEBUG_GPIO is not set |
@@ -738,11 +798,15 @@ CONFIG_GPIO_SYSFS=y | |||
738 | # | 798 | # |
739 | # CONFIG_GPIO_MAX7301 is not set | 799 | # CONFIG_GPIO_MAX7301 is not set |
740 | # CONFIG_GPIO_MCP23S08 is not set | 800 | # CONFIG_GPIO_MCP23S08 is not set |
801 | # CONFIG_GPIO_MC33880 is not set | ||
802 | |||
803 | # | ||
804 | # AC97 GPIO expanders: | ||
805 | # | ||
741 | # CONFIG_W1 is not set | 806 | # CONFIG_W1 is not set |
742 | # CONFIG_POWER_SUPPLY is not set | 807 | # CONFIG_POWER_SUPPLY is not set |
743 | # CONFIG_HWMON is not set | 808 | # CONFIG_HWMON is not set |
744 | # CONFIG_THERMAL is not set | 809 | # CONFIG_THERMAL is not set |
745 | # CONFIG_THERMAL_HWMON is not set | ||
746 | CONFIG_WATCHDOG=y | 810 | CONFIG_WATCHDOG=y |
747 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 811 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
748 | 812 | ||
@@ -764,26 +828,17 @@ CONFIG_SSB_POSSIBLE=y | |||
764 | # CONFIG_MFD_CORE is not set | 828 | # CONFIG_MFD_CORE is not set |
765 | # CONFIG_MFD_SM501 is not set | 829 | # CONFIG_MFD_SM501 is not set |
766 | # CONFIG_HTC_PASIC3 is not set | 830 | # CONFIG_HTC_PASIC3 is not set |
831 | # CONFIG_TPS65010 is not set | ||
767 | # CONFIG_MFD_TMIO is not set | 832 | # CONFIG_MFD_TMIO is not set |
768 | # CONFIG_MFD_WM8400 is not set | 833 | # CONFIG_MFD_WM8400 is not set |
834 | # CONFIG_MFD_WM831X is not set | ||
769 | # CONFIG_MFD_WM8350_I2C is not set | 835 | # CONFIG_MFD_WM8350_I2C is not set |
836 | # CONFIG_MFD_PCF50633 is not set | ||
837 | # CONFIG_MFD_MC13783 is not set | ||
838 | # CONFIG_AB3100_CORE is not set | ||
839 | # CONFIG_EZX_PCAP is not set | ||
770 | # CONFIG_REGULATOR is not set | 840 | # CONFIG_REGULATOR is not set |
771 | 841 | # CONFIG_MEDIA_SUPPORT is not set | |
772 | # | ||
773 | # Multimedia devices | ||
774 | # | ||
775 | |||
776 | # | ||
777 | # Multimedia core support | ||
778 | # | ||
779 | # CONFIG_VIDEO_DEV is not set | ||
780 | # CONFIG_DVB_CORE is not set | ||
781 | # CONFIG_VIDEO_MEDIA is not set | ||
782 | |||
783 | # | ||
784 | # Multimedia drivers | ||
785 | # | ||
786 | # CONFIG_DAB is not set | ||
787 | 842 | ||
788 | # | 843 | # |
789 | # Graphics support | 844 | # Graphics support |
@@ -817,8 +872,10 @@ CONFIG_FB_ATMEL=y | |||
817 | # CONFIG_FB_VIRTUAL is not set | 872 | # CONFIG_FB_VIRTUAL is not set |
818 | # CONFIG_FB_METRONOME is not set | 873 | # CONFIG_FB_METRONOME is not set |
819 | # CONFIG_FB_MB862XX is not set | 874 | # CONFIG_FB_MB862XX is not set |
875 | # CONFIG_FB_BROADSHEET is not set | ||
820 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 876 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
821 | CONFIG_LCD_CLASS_DEVICE=y | 877 | CONFIG_LCD_CLASS_DEVICE=y |
878 | # CONFIG_LCD_LMS283GF05 is not set | ||
822 | CONFIG_LCD_LTV350QV=y | 879 | CONFIG_LCD_LTV350QV=y |
823 | # CONFIG_LCD_ILI9320 is not set | 880 | # CONFIG_LCD_ILI9320 is not set |
824 | # CONFIG_LCD_TDO24M is not set | 881 | # CONFIG_LCD_TDO24M is not set |
@@ -833,6 +890,7 @@ CONFIG_LCD_LTV350QV=y | |||
833 | # CONFIG_LOGO is not set | 890 | # CONFIG_LOGO is not set |
834 | CONFIG_SOUND=m | 891 | CONFIG_SOUND=m |
835 | CONFIG_SOUND_OSS_CORE=y | 892 | CONFIG_SOUND_OSS_CORE=y |
893 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
836 | CONFIG_SND=m | 894 | CONFIG_SND=m |
837 | CONFIG_SND_TIMER=m | 895 | CONFIG_SND_TIMER=m |
838 | CONFIG_SND_PCM=m | 896 | CONFIG_SND_PCM=m |
@@ -841,16 +899,28 @@ CONFIG_SND_OSSEMUL=y | |||
841 | CONFIG_SND_MIXER_OSS=m | 899 | CONFIG_SND_MIXER_OSS=m |
842 | CONFIG_SND_PCM_OSS=m | 900 | CONFIG_SND_PCM_OSS=m |
843 | CONFIG_SND_PCM_OSS_PLUGINS=y | 901 | CONFIG_SND_PCM_OSS_PLUGINS=y |
902 | # CONFIG_SND_HRTIMER is not set | ||
844 | # CONFIG_SND_DYNAMIC_MINORS is not set | 903 | # CONFIG_SND_DYNAMIC_MINORS is not set |
845 | # CONFIG_SND_SUPPORT_OLD_API is not set | 904 | # CONFIG_SND_SUPPORT_OLD_API is not set |
846 | # CONFIG_SND_VERBOSE_PROCFS is not set | 905 | # CONFIG_SND_VERBOSE_PROCFS is not set |
847 | # CONFIG_SND_VERBOSE_PRINTK is not set | 906 | # CONFIG_SND_VERBOSE_PRINTK is not set |
848 | # CONFIG_SND_DEBUG is not set | 907 | # CONFIG_SND_DEBUG is not set |
908 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
909 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
910 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
911 | # CONFIG_SND_SBAWE_SEQ is not set | ||
912 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
849 | CONFIG_SND_DRIVERS=y | 913 | CONFIG_SND_DRIVERS=y |
850 | # CONFIG_SND_DUMMY is not set | 914 | # CONFIG_SND_DUMMY is not set |
851 | # CONFIG_SND_MTPAV is not set | 915 | # CONFIG_SND_MTPAV is not set |
852 | # CONFIG_SND_SERIAL_U16550 is not set | 916 | # CONFIG_SND_SERIAL_U16550 is not set |
853 | # CONFIG_SND_MPU401 is not set | 917 | # CONFIG_SND_MPU401 is not set |
918 | |||
919 | # | ||
920 | # Atmel devices (AVR32 and AT91) | ||
921 | # | ||
922 | # CONFIG_SND_ATMEL_ABDAC is not set | ||
923 | # CONFIG_SND_ATMEL_AC97C is not set | ||
854 | CONFIG_SND_SPI=y | 924 | CONFIG_SND_SPI=y |
855 | CONFIG_SND_AT73C213=m | 925 | CONFIG_SND_AT73C213=m |
856 | CONFIG_SND_AT73C213_TARGET_BITRATE=48000 | 926 | CONFIG_SND_AT73C213_TARGET_BITRATE=48000 |
@@ -863,11 +933,10 @@ CONFIG_USB_SUPPORT=y | |||
863 | # CONFIG_USB_ARCH_HAS_EHCI is not set | 933 | # CONFIG_USB_ARCH_HAS_EHCI is not set |
864 | # CONFIG_USB_OTG_WHITELIST is not set | 934 | # CONFIG_USB_OTG_WHITELIST is not set |
865 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 935 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
866 | # CONFIG_USB_MUSB_HDRC is not set | ||
867 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | 936 | # CONFIG_USB_GADGET_MUSB_HDRC is not set |
868 | 937 | ||
869 | # | 938 | # |
870 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 939 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
871 | # | 940 | # |
872 | CONFIG_USB_GADGET=y | 941 | CONFIG_USB_GADGET=y |
873 | # CONFIG_USB_GADGET_DEBUG is not set | 942 | # CONFIG_USB_GADGET_DEBUG is not set |
@@ -882,18 +951,25 @@ CONFIG_USB_ATMEL_USBA=y | |||
882 | # CONFIG_USB_GADGET_LH7A40X is not set | 951 | # CONFIG_USB_GADGET_LH7A40X is not set |
883 | # CONFIG_USB_GADGET_OMAP is not set | 952 | # CONFIG_USB_GADGET_OMAP is not set |
884 | # CONFIG_USB_GADGET_PXA25X is not set | 953 | # CONFIG_USB_GADGET_PXA25X is not set |
954 | # CONFIG_USB_GADGET_R8A66597 is not set | ||
885 | # CONFIG_USB_GADGET_PXA27X is not set | 955 | # CONFIG_USB_GADGET_PXA27X is not set |
956 | # CONFIG_USB_GADGET_S3C_HSOTG is not set | ||
957 | # CONFIG_USB_GADGET_IMX is not set | ||
886 | # CONFIG_USB_GADGET_S3C2410 is not set | 958 | # CONFIG_USB_GADGET_S3C2410 is not set |
887 | # CONFIG_USB_GADGET_M66592 is not set | 959 | # CONFIG_USB_GADGET_M66592 is not set |
888 | # CONFIG_USB_GADGET_AMD5536UDC is not set | 960 | # CONFIG_USB_GADGET_AMD5536UDC is not set |
889 | # CONFIG_USB_GADGET_FSL_QE is not set | 961 | # CONFIG_USB_GADGET_FSL_QE is not set |
962 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
890 | # CONFIG_USB_GADGET_NET2280 is not set | 963 | # CONFIG_USB_GADGET_NET2280 is not set |
891 | # CONFIG_USB_GADGET_GOKU is not set | 964 | # CONFIG_USB_GADGET_GOKU is not set |
965 | # CONFIG_USB_GADGET_LANGWELL is not set | ||
892 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | 966 | # CONFIG_USB_GADGET_DUMMY_HCD is not set |
893 | CONFIG_USB_GADGET_DUALSPEED=y | 967 | CONFIG_USB_GADGET_DUALSPEED=y |
894 | CONFIG_USB_ZERO=m | 968 | CONFIG_USB_ZERO=m |
969 | # CONFIG_USB_AUDIO is not set | ||
895 | CONFIG_USB_ETH=m | 970 | CONFIG_USB_ETH=m |
896 | CONFIG_USB_ETH_RNDIS=y | 971 | CONFIG_USB_ETH_RNDIS=y |
972 | # CONFIG_USB_ETH_EEM is not set | ||
897 | CONFIG_USB_GADGETFS=m | 973 | CONFIG_USB_GADGETFS=m |
898 | CONFIG_USB_FILE_STORAGE=m | 974 | CONFIG_USB_FILE_STORAGE=m |
899 | # CONFIG_USB_FILE_STORAGE_TEST is not set | 975 | # CONFIG_USB_FILE_STORAGE_TEST is not set |
@@ -901,6 +977,12 @@ CONFIG_USB_G_SERIAL=m | |||
901 | # CONFIG_USB_MIDI_GADGET is not set | 977 | # CONFIG_USB_MIDI_GADGET is not set |
902 | # CONFIG_USB_G_PRINTER is not set | 978 | # CONFIG_USB_G_PRINTER is not set |
903 | # CONFIG_USB_CDC_COMPOSITE is not set | 979 | # CONFIG_USB_CDC_COMPOSITE is not set |
980 | |||
981 | # | ||
982 | # OTG and related infrastructure | ||
983 | # | ||
984 | # CONFIG_USB_GPIO_VBUS is not set | ||
985 | # CONFIG_NOP_USB_XCEIV is not set | ||
904 | CONFIG_MMC=y | 986 | CONFIG_MMC=y |
905 | # CONFIG_MMC_DEBUG is not set | 987 | # CONFIG_MMC_DEBUG is not set |
906 | # CONFIG_MMC_UNSAFE_RESUME is not set | 988 | # CONFIG_MMC_UNSAFE_RESUME is not set |
@@ -917,6 +999,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
917 | # MMC/SD/SDIO Host Controller Drivers | 999 | # MMC/SD/SDIO Host Controller Drivers |
918 | # | 1000 | # |
919 | # CONFIG_MMC_SDHCI is not set | 1001 | # CONFIG_MMC_SDHCI is not set |
1002 | # CONFIG_MMC_AT91 is not set | ||
920 | CONFIG_MMC_ATMELMCI=y | 1003 | CONFIG_MMC_ATMELMCI=y |
921 | # CONFIG_MMC_ATMELMCI_DMA is not set | 1004 | # CONFIG_MMC_ATMELMCI_DMA is not set |
922 | CONFIG_MMC_SPI=m | 1005 | CONFIG_MMC_SPI=m |
@@ -930,7 +1013,11 @@ CONFIG_LEDS_CLASS=m | |||
930 | CONFIG_LEDS_ATMEL_PWM=m | 1013 | CONFIG_LEDS_ATMEL_PWM=m |
931 | # CONFIG_LEDS_PCA9532 is not set | 1014 | # CONFIG_LEDS_PCA9532 is not set |
932 | CONFIG_LEDS_GPIO=m | 1015 | CONFIG_LEDS_GPIO=m |
1016 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
1017 | # CONFIG_LEDS_LP3944 is not set | ||
933 | # CONFIG_LEDS_PCA955X is not set | 1018 | # CONFIG_LEDS_PCA955X is not set |
1019 | # CONFIG_LEDS_DAC124S085 is not set | ||
1020 | # CONFIG_LEDS_BD2802 is not set | ||
934 | 1021 | ||
935 | # | 1022 | # |
936 | # LED Triggers | 1023 | # LED Triggers |
@@ -939,7 +1026,12 @@ CONFIG_LEDS_TRIGGERS=y | |||
939 | CONFIG_LEDS_TRIGGER_TIMER=m | 1026 | CONFIG_LEDS_TRIGGER_TIMER=m |
940 | CONFIG_LEDS_TRIGGER_HEARTBEAT=m | 1027 | CONFIG_LEDS_TRIGGER_HEARTBEAT=m |
941 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | 1028 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set |
1029 | # CONFIG_LEDS_TRIGGER_GPIO is not set | ||
942 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=m | 1030 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=m |
1031 | |||
1032 | # | ||
1033 | # iptables trigger is under Netfilter config (LED target) | ||
1034 | # | ||
943 | # CONFIG_ACCESSIBILITY is not set | 1035 | # CONFIG_ACCESSIBILITY is not set |
944 | CONFIG_RTC_LIB=y | 1036 | CONFIG_RTC_LIB=y |
945 | CONFIG_RTC_CLASS=y | 1037 | CONFIG_RTC_CLASS=y |
@@ -972,6 +1064,7 @@ CONFIG_RTC_INTF_DEV=y | |||
972 | # CONFIG_RTC_DRV_S35390A is not set | 1064 | # CONFIG_RTC_DRV_S35390A is not set |
973 | # CONFIG_RTC_DRV_FM3130 is not set | 1065 | # CONFIG_RTC_DRV_FM3130 is not set |
974 | # CONFIG_RTC_DRV_RX8581 is not set | 1066 | # CONFIG_RTC_DRV_RX8581 is not set |
1067 | # CONFIG_RTC_DRV_RX8025 is not set | ||
975 | 1068 | ||
976 | # | 1069 | # |
977 | # SPI RTC drivers | 1070 | # SPI RTC drivers |
@@ -983,6 +1076,7 @@ CONFIG_RTC_INTF_DEV=y | |||
983 | # CONFIG_RTC_DRV_R9701 is not set | 1076 | # CONFIG_RTC_DRV_R9701 is not set |
984 | # CONFIG_RTC_DRV_RS5C348 is not set | 1077 | # CONFIG_RTC_DRV_RS5C348 is not set |
985 | # CONFIG_RTC_DRV_DS3234 is not set | 1078 | # CONFIG_RTC_DRV_DS3234 is not set |
1079 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
986 | 1080 | ||
987 | # | 1081 | # |
988 | # Platform RTC drivers | 1082 | # Platform RTC drivers |
@@ -1014,32 +1108,42 @@ CONFIG_DMA_ENGINE=y | |||
1014 | # DMA Clients | 1108 | # DMA Clients |
1015 | # | 1109 | # |
1016 | # CONFIG_NET_DMA is not set | 1110 | # CONFIG_NET_DMA is not set |
1111 | # CONFIG_ASYNC_TX_DMA is not set | ||
1017 | # CONFIG_DMATEST is not set | 1112 | # CONFIG_DMATEST is not set |
1113 | # CONFIG_AUXDISPLAY is not set | ||
1018 | # CONFIG_UIO is not set | 1114 | # CONFIG_UIO is not set |
1115 | |||
1116 | # | ||
1117 | # TI VLYNQ | ||
1118 | # | ||
1019 | # CONFIG_STAGING is not set | 1119 | # CONFIG_STAGING is not set |
1020 | CONFIG_STAGING_EXCLUDE_BUILD=y | ||
1021 | 1120 | ||
1022 | # | 1121 | # |
1023 | # File systems | 1122 | # File systems |
1024 | # | 1123 | # |
1025 | CONFIG_EXT2_FS=m | 1124 | CONFIG_EXT2_FS=y |
1026 | # CONFIG_EXT2_FS_XATTR is not set | 1125 | # CONFIG_EXT2_FS_XATTR is not set |
1027 | # CONFIG_EXT2_FS_XIP is not set | 1126 | # CONFIG_EXT2_FS_XIP is not set |
1028 | CONFIG_EXT3_FS=m | 1127 | CONFIG_EXT3_FS=y |
1128 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1029 | # CONFIG_EXT3_FS_XATTR is not set | 1129 | # CONFIG_EXT3_FS_XATTR is not set |
1030 | CONFIG_EXT4_FS=m | 1130 | CONFIG_EXT4_FS=y |
1031 | CONFIG_EXT4DEV_COMPAT=y | ||
1032 | # CONFIG_EXT4_FS_XATTR is not set | 1131 | # CONFIG_EXT4_FS_XATTR is not set |
1033 | CONFIG_JBD=m | 1132 | # CONFIG_EXT4_DEBUG is not set |
1133 | CONFIG_JBD=y | ||
1034 | # CONFIG_JBD_DEBUG is not set | 1134 | # CONFIG_JBD_DEBUG is not set |
1035 | CONFIG_JBD2=m | 1135 | CONFIG_JBD2=y |
1036 | # CONFIG_JBD2_DEBUG is not set | 1136 | # CONFIG_JBD2_DEBUG is not set |
1037 | # CONFIG_REISERFS_FS is not set | 1137 | # CONFIG_REISERFS_FS is not set |
1038 | # CONFIG_JFS_FS is not set | 1138 | # CONFIG_JFS_FS is not set |
1039 | # CONFIG_FS_POSIX_ACL is not set | 1139 | # CONFIG_FS_POSIX_ACL is not set |
1040 | CONFIG_FILE_LOCKING=y | ||
1041 | # CONFIG_XFS_FS is not set | 1140 | # CONFIG_XFS_FS is not set |
1141 | # CONFIG_GFS2_FS is not set | ||
1042 | # CONFIG_OCFS2_FS is not set | 1142 | # CONFIG_OCFS2_FS is not set |
1143 | # CONFIG_BTRFS_FS is not set | ||
1144 | # CONFIG_NILFS2_FS is not set | ||
1145 | CONFIG_FILE_LOCKING=y | ||
1146 | CONFIG_FSNOTIFY=y | ||
1043 | # CONFIG_DNOTIFY is not set | 1147 | # CONFIG_DNOTIFY is not set |
1044 | CONFIG_INOTIFY=y | 1148 | CONFIG_INOTIFY=y |
1045 | CONFIG_INOTIFY_USER=y | 1149 | CONFIG_INOTIFY_USER=y |
@@ -1047,6 +1151,12 @@ CONFIG_INOTIFY_USER=y | |||
1047 | # CONFIG_AUTOFS_FS is not set | 1151 | # CONFIG_AUTOFS_FS is not set |
1048 | # CONFIG_AUTOFS4_FS is not set | 1152 | # CONFIG_AUTOFS4_FS is not set |
1049 | CONFIG_FUSE_FS=m | 1153 | CONFIG_FUSE_FS=m |
1154 | # CONFIG_CUSE is not set | ||
1155 | |||
1156 | # | ||
1157 | # Caches | ||
1158 | # | ||
1159 | # CONFIG_FSCACHE is not set | ||
1050 | 1160 | ||
1051 | # | 1161 | # |
1052 | # CD-ROM/DVD Filesystems | 1162 | # CD-ROM/DVD Filesystems |
@@ -1076,10 +1186,7 @@ CONFIG_TMPFS=y | |||
1076 | # CONFIG_TMPFS_POSIX_ACL is not set | 1186 | # CONFIG_TMPFS_POSIX_ACL is not set |
1077 | # CONFIG_HUGETLB_PAGE is not set | 1187 | # CONFIG_HUGETLB_PAGE is not set |
1078 | # CONFIG_CONFIGFS_FS is not set | 1188 | # CONFIG_CONFIGFS_FS is not set |
1079 | 1189 | CONFIG_MISC_FILESYSTEMS=y | |
1080 | # | ||
1081 | # Miscellaneous filesystems | ||
1082 | # | ||
1083 | # CONFIG_ADFS_FS is not set | 1190 | # CONFIG_ADFS_FS is not set |
1084 | # CONFIG_AFFS_FS is not set | 1191 | # CONFIG_AFFS_FS is not set |
1085 | # CONFIG_HFS_FS is not set | 1192 | # CONFIG_HFS_FS is not set |
@@ -1099,12 +1206,13 @@ CONFIG_JFFS2_ZLIB=y | |||
1099 | CONFIG_JFFS2_RTIME=y | 1206 | CONFIG_JFFS2_RTIME=y |
1100 | # CONFIG_JFFS2_RUBIN is not set | 1207 | # CONFIG_JFFS2_RUBIN is not set |
1101 | CONFIG_UBIFS_FS=y | 1208 | CONFIG_UBIFS_FS=y |
1102 | CONFIG_UBIFS_FS_XATTR=y | 1209 | # CONFIG_UBIFS_FS_XATTR is not set |
1103 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set | 1210 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set |
1104 | CONFIG_UBIFS_FS_LZO=y | 1211 | CONFIG_UBIFS_FS_LZO=y |
1105 | CONFIG_UBIFS_FS_ZLIB=y | 1212 | CONFIG_UBIFS_FS_ZLIB=y |
1106 | # CONFIG_UBIFS_FS_DEBUG is not set | 1213 | # CONFIG_UBIFS_FS_DEBUG is not set |
1107 | # CONFIG_CRAMFS is not set | 1214 | # CONFIG_CRAMFS is not set |
1215 | # CONFIG_SQUASHFS is not set | ||
1108 | # CONFIG_VXFS_FS is not set | 1216 | # CONFIG_VXFS_FS is not set |
1109 | CONFIG_MINIX_FS=m | 1217 | CONFIG_MINIX_FS=m |
1110 | # CONFIG_OMFS_FS is not set | 1218 | # CONFIG_OMFS_FS is not set |
@@ -1124,7 +1232,6 @@ CONFIG_LOCKD=y | |||
1124 | CONFIG_LOCKD_V4=y | 1232 | CONFIG_LOCKD_V4=y |
1125 | CONFIG_NFS_COMMON=y | 1233 | CONFIG_NFS_COMMON=y |
1126 | CONFIG_SUNRPC=y | 1234 | CONFIG_SUNRPC=y |
1127 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1128 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1235 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1129 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1236 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1130 | # CONFIG_SMB_FS is not set | 1237 | # CONFIG_SMB_FS is not set |
@@ -1188,6 +1295,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1188 | CONFIG_ENABLE_MUST_CHECK=y | 1295 | CONFIG_ENABLE_MUST_CHECK=y |
1189 | CONFIG_FRAME_WARN=1024 | 1296 | CONFIG_FRAME_WARN=1024 |
1190 | CONFIG_MAGIC_SYSRQ=y | 1297 | CONFIG_MAGIC_SYSRQ=y |
1298 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1191 | # CONFIG_UNUSED_SYMBOLS is not set | 1299 | # CONFIG_UNUSED_SYMBOLS is not set |
1192 | CONFIG_DEBUG_FS=y | 1300 | CONFIG_DEBUG_FS=y |
1193 | # CONFIG_HEADERS_CHECK is not set | 1301 | # CONFIG_HEADERS_CHECK is not set |
@@ -1196,6 +1304,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1196 | CONFIG_DETECT_SOFTLOCKUP=y | 1304 | CONFIG_DETECT_SOFTLOCKUP=y |
1197 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1305 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1198 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1306 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1307 | CONFIG_DETECT_HUNG_TASK=y | ||
1308 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1309 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1199 | CONFIG_SCHED_DEBUG=y | 1310 | CONFIG_SCHED_DEBUG=y |
1200 | # CONFIG_SCHEDSTATS is not set | 1311 | # CONFIG_SCHEDSTATS is not set |
1201 | # CONFIG_TIMER_STATS is not set | 1312 | # CONFIG_TIMER_STATS is not set |
@@ -1211,6 +1322,7 @@ CONFIG_SCHED_DEBUG=y | |||
1211 | # CONFIG_LOCK_STAT is not set | 1322 | # CONFIG_LOCK_STAT is not set |
1212 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1323 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1213 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1324 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1325 | CONFIG_STACKTRACE=y | ||
1214 | # CONFIG_DEBUG_KOBJECT is not set | 1326 | # CONFIG_DEBUG_KOBJECT is not set |
1215 | CONFIG_DEBUG_BUGVERBOSE=y | 1327 | CONFIG_DEBUG_BUGVERBOSE=y |
1216 | # CONFIG_DEBUG_INFO is not set | 1328 | # CONFIG_DEBUG_INFO is not set |
@@ -1219,6 +1331,8 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
1219 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1331 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1220 | # CONFIG_DEBUG_LIST is not set | 1332 | # CONFIG_DEBUG_LIST is not set |
1221 | # CONFIG_DEBUG_SG is not set | 1333 | # CONFIG_DEBUG_SG is not set |
1334 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1335 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1222 | CONFIG_FRAME_POINTER=y | 1336 | CONFIG_FRAME_POINTER=y |
1223 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1337 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1224 | # CONFIG_RCU_TORTURE_TEST is not set | 1338 | # CONFIG_RCU_TORTURE_TEST is not set |
@@ -1226,17 +1340,30 @@ CONFIG_FRAME_POINTER=y | |||
1226 | # CONFIG_KPROBES_SANITY_TEST is not set | 1340 | # CONFIG_KPROBES_SANITY_TEST is not set |
1227 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1341 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1228 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1342 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1343 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1229 | # CONFIG_LKDTM is not set | 1344 | # CONFIG_LKDTM is not set |
1230 | # CONFIG_FAULT_INJECTION is not set | 1345 | # CONFIG_FAULT_INJECTION is not set |
1231 | 1346 | # CONFIG_PAGE_POISONING is not set | |
1232 | # | 1347 | CONFIG_NOP_TRACER=y |
1233 | # Tracers | 1348 | CONFIG_RING_BUFFER=y |
1234 | # | 1349 | CONFIG_EVENT_TRACING=y |
1350 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
1351 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | ||
1352 | CONFIG_TRACING=y | ||
1353 | CONFIG_TRACING_SUPPORT=y | ||
1354 | CONFIG_FTRACE=y | ||
1235 | # CONFIG_IRQSOFF_TRACER is not set | 1355 | # CONFIG_IRQSOFF_TRACER is not set |
1236 | # CONFIG_SCHED_TRACER is not set | 1356 | # CONFIG_SCHED_TRACER is not set |
1237 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1357 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set |
1238 | # CONFIG_BOOT_TRACER is not set | 1358 | # CONFIG_BOOT_TRACER is not set |
1239 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1359 | CONFIG_BRANCH_PROFILE_NONE=y |
1360 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1361 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1362 | # CONFIG_KMEMTRACE is not set | ||
1363 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1364 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1365 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
1366 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1240 | # CONFIG_SAMPLES is not set | 1367 | # CONFIG_SAMPLES is not set |
1241 | 1368 | ||
1242 | # | 1369 | # |
@@ -1262,10 +1389,12 @@ CONFIG_CRYPTO_HASH=m | |||
1262 | CONFIG_CRYPTO_HASH2=y | 1389 | CONFIG_CRYPTO_HASH2=y |
1263 | CONFIG_CRYPTO_RNG=m | 1390 | CONFIG_CRYPTO_RNG=m |
1264 | CONFIG_CRYPTO_RNG2=y | 1391 | CONFIG_CRYPTO_RNG2=y |
1392 | CONFIG_CRYPTO_PCOMP=y | ||
1265 | CONFIG_CRYPTO_MANAGER=m | 1393 | CONFIG_CRYPTO_MANAGER=m |
1266 | CONFIG_CRYPTO_MANAGER2=y | 1394 | CONFIG_CRYPTO_MANAGER2=y |
1267 | # CONFIG_CRYPTO_GF128MUL is not set | 1395 | # CONFIG_CRYPTO_GF128MUL is not set |
1268 | # CONFIG_CRYPTO_NULL is not set | 1396 | # CONFIG_CRYPTO_NULL is not set |
1397 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1269 | # CONFIG_CRYPTO_CRYPTD is not set | 1398 | # CONFIG_CRYPTO_CRYPTD is not set |
1270 | CONFIG_CRYPTO_AUTHENC=m | 1399 | CONFIG_CRYPTO_AUTHENC=m |
1271 | # CONFIG_CRYPTO_TEST is not set | 1400 | # CONFIG_CRYPTO_TEST is not set |
@@ -1293,11 +1422,13 @@ CONFIG_CRYPTO_CBC=m | |||
1293 | # | 1422 | # |
1294 | CONFIG_CRYPTO_HMAC=m | 1423 | CONFIG_CRYPTO_HMAC=m |
1295 | # CONFIG_CRYPTO_XCBC is not set | 1424 | # CONFIG_CRYPTO_XCBC is not set |
1425 | # CONFIG_CRYPTO_VMAC is not set | ||
1296 | 1426 | ||
1297 | # | 1427 | # |
1298 | # Digest | 1428 | # Digest |
1299 | # | 1429 | # |
1300 | # CONFIG_CRYPTO_CRC32C is not set | 1430 | # CONFIG_CRYPTO_CRC32C is not set |
1431 | # CONFIG_CRYPTO_GHASH is not set | ||
1301 | # CONFIG_CRYPTO_MD4 is not set | 1432 | # CONFIG_CRYPTO_MD4 is not set |
1302 | CONFIG_CRYPTO_MD5=m | 1433 | CONFIG_CRYPTO_MD5=m |
1303 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1434 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
@@ -1334,6 +1465,7 @@ CONFIG_CRYPTO_DES=m | |||
1334 | # Compression | 1465 | # Compression |
1335 | # | 1466 | # |
1336 | CONFIG_CRYPTO_DEFLATE=y | 1467 | CONFIG_CRYPTO_DEFLATE=y |
1468 | # CONFIG_CRYPTO_ZLIB is not set | ||
1337 | CONFIG_CRYPTO_LZO=y | 1469 | CONFIG_CRYPTO_LZO=y |
1338 | 1470 | ||
1339 | # | 1471 | # |
@@ -1341,11 +1473,13 @@ CONFIG_CRYPTO_LZO=y | |||
1341 | # | 1473 | # |
1342 | CONFIG_CRYPTO_ANSI_CPRNG=m | 1474 | CONFIG_CRYPTO_ANSI_CPRNG=m |
1343 | # CONFIG_CRYPTO_HW is not set | 1475 | # CONFIG_CRYPTO_HW is not set |
1476 | CONFIG_BINARY_PRINTF=y | ||
1344 | 1477 | ||
1345 | # | 1478 | # |
1346 | # Library routines | 1479 | # Library routines |
1347 | # | 1480 | # |
1348 | CONFIG_BITREVERSE=y | 1481 | CONFIG_BITREVERSE=y |
1482 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1349 | CONFIG_CRC_CCITT=m | 1483 | CONFIG_CRC_CCITT=m |
1350 | CONFIG_CRC16=y | 1484 | CONFIG_CRC16=y |
1351 | CONFIG_CRC_T10DIF=m | 1485 | CONFIG_CRC_T10DIF=m |
@@ -1357,8 +1491,9 @@ CONFIG_ZLIB_INFLATE=y | |||
1357 | CONFIG_ZLIB_DEFLATE=y | 1491 | CONFIG_ZLIB_DEFLATE=y |
1358 | CONFIG_LZO_COMPRESS=y | 1492 | CONFIG_LZO_COMPRESS=y |
1359 | CONFIG_LZO_DECOMPRESS=y | 1493 | CONFIG_LZO_DECOMPRESS=y |
1494 | CONFIG_DECOMPRESS_GZIP=y | ||
1360 | CONFIG_GENERIC_ALLOCATOR=y | 1495 | CONFIG_GENERIC_ALLOCATOR=y |
1361 | CONFIG_PLIST=y | ||
1362 | CONFIG_HAS_IOMEM=y | 1496 | CONFIG_HAS_IOMEM=y |
1363 | CONFIG_HAS_IOPORT=y | 1497 | CONFIG_HAS_IOPORT=y |
1364 | CONFIG_HAS_DMA=y | 1498 | CONFIG_HAS_DMA=y |
1499 | CONFIG_NLATTR=y | ||
diff --git a/arch/avr32/include/asm/hardirq.h b/arch/avr32/include/asm/hardirq.h index 015bc75ea798..9e36e3ff77d2 100644 --- a/arch/avr32/include/asm/hardirq.h +++ b/arch/avr32/include/asm/hardirq.h | |||
@@ -1,23 +1,6 @@ | |||
1 | #ifndef __ASM_AVR32_HARDIRQ_H | 1 | #ifndef __ASM_AVR32_HARDIRQ_H |
2 | #define __ASM_AVR32_HARDIRQ_H | 2 | #define __ASM_AVR32_HARDIRQ_H |
3 | |||
4 | #include <linux/threads.h> | ||
5 | #include <asm/irq.h> | ||
6 | |||
7 | #ifndef __ASSEMBLY__ | 3 | #ifndef __ASSEMBLY__ |
8 | 4 | #include <asm-generic/hardirq.h> | |
9 | #include <linux/cache.h> | ||
10 | |||
11 | /* entry.S is sensitive to the offsets of these fields */ | ||
12 | typedef struct { | ||
13 | unsigned int __softirq_pending; | ||
14 | } ____cacheline_aligned irq_cpustat_t; | ||
15 | |||
16 | void ack_bad_irq(unsigned int irq); | ||
17 | |||
18 | /* Standard mappings for irq_cpustat_t above */ | ||
19 | #include <linux/irq_cpustat.h> | ||
20 | |||
21 | #endif /* __ASSEMBLY__ */ | 5 | #endif /* __ASSEMBLY__ */ |
22 | |||
23 | #endif /* __ASM_AVR32_HARDIRQ_H */ | 6 | #endif /* __ASM_AVR32_HARDIRQ_H */ |
diff --git a/arch/avr32/kernel/irq.c b/arch/avr32/kernel/irq.c index 9f572229d318..9604f7758f9a 100644 --- a/arch/avr32/kernel/irq.c +++ b/arch/avr32/kernel/irq.c | |||
@@ -16,15 +16,6 @@ | |||
16 | #include <linux/seq_file.h> | 16 | #include <linux/seq_file.h> |
17 | #include <linux/sysdev.h> | 17 | #include <linux/sysdev.h> |
18 | 18 | ||
19 | /* | ||
20 | * 'what should we do if we get a hw irq event on an illegal vector'. | ||
21 | * each architecture has to answer this themselves. | ||
22 | */ | ||
23 | void ack_bad_irq(unsigned int irq) | ||
24 | { | ||
25 | printk("unexpected IRQ %u\n", irq); | ||
26 | } | ||
27 | |||
28 | /* May be overridden by platform code */ | 19 | /* May be overridden by platform code */ |
29 | int __weak nmi_enable(void) | 20 | int __weak nmi_enable(void) |
30 | { | 21 | { |
@@ -51,7 +42,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
51 | } | 42 | } |
52 | 43 | ||
53 | if (i < NR_IRQS) { | 44 | if (i < NR_IRQS) { |
54 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 45 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
55 | action = irq_desc[i].action; | 46 | action = irq_desc[i].action; |
56 | if (!action) | 47 | if (!action) |
57 | goto unlock; | 48 | goto unlock; |
@@ -66,7 +57,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
66 | 57 | ||
67 | seq_putc(p, '\n'); | 58 | seq_putc(p, '\n'); |
68 | unlock: | 59 | unlock: |
69 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 60 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
70 | } | 61 | } |
71 | 62 | ||
72 | return 0; | 63 | return 0; |
diff --git a/arch/avr32/kernel/vmlinux.lds.S b/arch/avr32/kernel/vmlinux.lds.S index c4b56654349a..9cd2bd91d64a 100644 --- a/arch/avr32/kernel/vmlinux.lds.S +++ b/arch/avr32/kernel/vmlinux.lds.S | |||
@@ -39,30 +39,10 @@ SECTIONS | |||
39 | __tagtable_begin = .; | 39 | __tagtable_begin = .; |
40 | *(.taglist.init) | 40 | *(.taglist.init) |
41 | __tagtable_end = .; | 41 | __tagtable_end = .; |
42 | INIT_DATA | ||
43 | . = ALIGN(16); | ||
44 | __setup_start = .; | ||
45 | *(.init.setup) | ||
46 | __setup_end = .; | ||
47 | . = ALIGN(4); | ||
48 | __initcall_start = .; | ||
49 | INITCALLS | ||
50 | __initcall_end = .; | ||
51 | __con_initcall_start = .; | ||
52 | *(.con_initcall.init) | ||
53 | __con_initcall_end = .; | ||
54 | __security_initcall_start = .; | ||
55 | *(.security_initcall.init) | ||
56 | __security_initcall_end = .; | ||
57 | #ifdef CONFIG_BLK_DEV_INITRD | ||
58 | . = ALIGN(32); | ||
59 | __initramfs_start = .; | ||
60 | *(.init.ramfs) | ||
61 | __initramfs_end = .; | ||
62 | #endif | ||
63 | . = ALIGN(PAGE_SIZE); | ||
64 | __init_end = .; | ||
65 | } | 42 | } |
43 | INIT_DATA_SECTION(16) | ||
44 | . = ALIGN(PAGE_SIZE); | ||
45 | __init_end = .; | ||
66 | 46 | ||
67 | .text : AT(ADDR(.text) - LOAD_OFFSET) { | 47 | .text : AT(ADDR(.text) - LOAD_OFFSET) { |
68 | _evba = .; | 48 | _evba = .; |
@@ -78,34 +58,16 @@ SECTIONS | |||
78 | _etext = .; | 58 | _etext = .; |
79 | } = 0xd703d703 | 59 | } = 0xd703d703 |
80 | 60 | ||
81 | . = ALIGN(4); | 61 | EXCEPTION_TABLE(4) |
82 | __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { | ||
83 | __start___ex_table = .; | ||
84 | *(__ex_table) | ||
85 | __stop___ex_table = .; | ||
86 | } | ||
87 | |||
88 | RODATA | 62 | RODATA |
89 | 63 | ||
90 | . = ALIGN(THREAD_SIZE); | ||
91 | |||
92 | .data : AT(ADDR(.data) - LOAD_OFFSET) { | 64 | .data : AT(ADDR(.data) - LOAD_OFFSET) { |
93 | _data = .; | 65 | _data = .; |
94 | _sdata = .; | 66 | _sdata = .; |
95 | /* | ||
96 | * First, the init task union, aligned to an 8K boundary. | ||
97 | */ | ||
98 | *(.data.init_task) | ||
99 | 67 | ||
100 | /* Then, the page-aligned data */ | 68 | INIT_TASK_DATA(THREAD_SIZE) |
101 | . = ALIGN(PAGE_SIZE); | 69 | PAGE_ALIGNED_DATA(PAGE_SIZE); |
102 | *(.data.page_aligned) | 70 | CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES) |
103 | |||
104 | /* Then, the cacheline aligned data */ | ||
105 | . = ALIGN(L1_CACHE_BYTES); | ||
106 | *(.data.cacheline_aligned) | ||
107 | |||
108 | /* And the rest... */ | ||
109 | *(.data.rel*) | 71 | *(.data.rel*) |
110 | DATA_DATA | 72 | DATA_DATA |
111 | CONSTRUCTORS | 73 | CONSTRUCTORS |
@@ -113,16 +75,8 @@ SECTIONS | |||
113 | _edata = .; | 75 | _edata = .; |
114 | } | 76 | } |
115 | 77 | ||
116 | 78 | BSS_SECTION(0, 8, 8) | |
117 | . = ALIGN(8); | 79 | _end = .; |
118 | .bss : AT(ADDR(.bss) - LOAD_OFFSET) { | ||
119 | __bss_start = .; | ||
120 | *(.bss) | ||
121 | *(COMMON) | ||
122 | . = ALIGN(8); | ||
123 | __bss_stop = .; | ||
124 | _end = .; | ||
125 | } | ||
126 | 80 | ||
127 | DWARF_DEBUG | 81 | DWARF_DEBUG |
128 | 82 | ||
diff --git a/arch/avr32/mach-at32ap/at32ap700x.c b/arch/avr32/mach-at32ap/at32ap700x.c index eb9d4dc2e86d..1aa1ea5e9212 100644 --- a/arch/avr32/mach-at32ap/at32ap700x.c +++ b/arch/avr32/mach-at32ap/at32ap700x.c | |||
@@ -15,6 +15,8 @@ | |||
15 | #include <linux/gpio.h> | 15 | #include <linux/gpio.h> |
16 | #include <linux/spi/spi.h> | 16 | #include <linux/spi/spi.h> |
17 | #include <linux/usb/atmel_usba_udc.h> | 17 | #include <linux/usb/atmel_usba_udc.h> |
18 | |||
19 | #include <mach/atmel-mci.h> | ||
18 | #include <linux/atmel-mci.h> | 20 | #include <linux/atmel-mci.h> |
19 | 21 | ||
20 | #include <asm/io.h> | 22 | #include <asm/io.h> |
@@ -1181,19 +1183,32 @@ static struct resource atmel_spi1_resource[] = { | |||
1181 | DEFINE_DEV(atmel_spi, 1); | 1183 | DEFINE_DEV(atmel_spi, 1); |
1182 | DEV_CLK(spi_clk, atmel_spi1, pba, 1); | 1184 | DEV_CLK(spi_clk, atmel_spi1, pba, 1); |
1183 | 1185 | ||
1184 | static void __init | 1186 | void __init |
1185 | at32_spi_setup_slaves(unsigned int bus_num, struct spi_board_info *b, | 1187 | at32_spi_setup_slaves(unsigned int bus_num, struct spi_board_info *b, unsigned int n) |
1186 | unsigned int n, const u8 *pins) | ||
1187 | { | 1188 | { |
1189 | /* | ||
1190 | * Manage the chipselects as GPIOs, normally using the same pins | ||
1191 | * the SPI controller expects; but boards can use other pins. | ||
1192 | */ | ||
1193 | static u8 __initdata spi_pins[][4] = { | ||
1194 | { GPIO_PIN_PA(3), GPIO_PIN_PA(4), | ||
1195 | GPIO_PIN_PA(5), GPIO_PIN_PA(20) }, | ||
1196 | { GPIO_PIN_PB(2), GPIO_PIN_PB(3), | ||
1197 | GPIO_PIN_PB(4), GPIO_PIN_PA(27) }, | ||
1198 | }; | ||
1188 | unsigned int pin, mode; | 1199 | unsigned int pin, mode; |
1189 | 1200 | ||
1201 | /* There are only 2 SPI controllers */ | ||
1202 | if (bus_num > 1) | ||
1203 | return; | ||
1204 | |||
1190 | for (; n; n--, b++) { | 1205 | for (; n; n--, b++) { |
1191 | b->bus_num = bus_num; | 1206 | b->bus_num = bus_num; |
1192 | if (b->chip_select >= 4) | 1207 | if (b->chip_select >= 4) |
1193 | continue; | 1208 | continue; |
1194 | pin = (unsigned)b->controller_data; | 1209 | pin = (unsigned)b->controller_data; |
1195 | if (!pin) { | 1210 | if (!pin) { |
1196 | pin = pins[b->chip_select]; | 1211 | pin = spi_pins[bus_num][b->chip_select]; |
1197 | b->controller_data = (void *)pin; | 1212 | b->controller_data = (void *)pin; |
1198 | } | 1213 | } |
1199 | mode = AT32_GPIOF_OUTPUT; | 1214 | mode = AT32_GPIOF_OUTPUT; |
@@ -1206,16 +1221,6 @@ at32_spi_setup_slaves(unsigned int bus_num, struct spi_board_info *b, | |||
1206 | struct platform_device *__init | 1221 | struct platform_device *__init |
1207 | at32_add_device_spi(unsigned int id, struct spi_board_info *b, unsigned int n) | 1222 | at32_add_device_spi(unsigned int id, struct spi_board_info *b, unsigned int n) |
1208 | { | 1223 | { |
1209 | /* | ||
1210 | * Manage the chipselects as GPIOs, normally using the same pins | ||
1211 | * the SPI controller expects; but boards can use other pins. | ||
1212 | */ | ||
1213 | static u8 __initdata spi0_pins[] = | ||
1214 | { GPIO_PIN_PA(3), GPIO_PIN_PA(4), | ||
1215 | GPIO_PIN_PA(5), GPIO_PIN_PA(20), }; | ||
1216 | static u8 __initdata spi1_pins[] = | ||
1217 | { GPIO_PIN_PB(2), GPIO_PIN_PB(3), | ||
1218 | GPIO_PIN_PB(4), GPIO_PIN_PA(27), }; | ||
1219 | struct platform_device *pdev; | 1224 | struct platform_device *pdev; |
1220 | u32 pin_mask; | 1225 | u32 pin_mask; |
1221 | 1226 | ||
@@ -1228,7 +1233,7 @@ at32_add_device_spi(unsigned int id, struct spi_board_info *b, unsigned int n) | |||
1228 | select_peripheral(PIOA, (1 << 0), PERIPH_A, AT32_GPIOF_PULLUP); | 1233 | select_peripheral(PIOA, (1 << 0), PERIPH_A, AT32_GPIOF_PULLUP); |
1229 | select_peripheral(PIOA, pin_mask, PERIPH_A, 0); | 1234 | select_peripheral(PIOA, pin_mask, PERIPH_A, 0); |
1230 | 1235 | ||
1231 | at32_spi_setup_slaves(0, b, n, spi0_pins); | 1236 | at32_spi_setup_slaves(0, b, n); |
1232 | break; | 1237 | break; |
1233 | 1238 | ||
1234 | case 1: | 1239 | case 1: |
@@ -1239,7 +1244,7 @@ at32_add_device_spi(unsigned int id, struct spi_board_info *b, unsigned int n) | |||
1239 | select_peripheral(PIOB, (1 << 0), PERIPH_B, AT32_GPIOF_PULLUP); | 1244 | select_peripheral(PIOB, (1 << 0), PERIPH_B, AT32_GPIOF_PULLUP); |
1240 | select_peripheral(PIOB, pin_mask, PERIPH_B, 0); | 1245 | select_peripheral(PIOB, pin_mask, PERIPH_B, 0); |
1241 | 1246 | ||
1242 | at32_spi_setup_slaves(1, b, n, spi1_pins); | 1247 | at32_spi_setup_slaves(1, b, n); |
1243 | break; | 1248 | break; |
1244 | 1249 | ||
1245 | default: | 1250 | default: |
@@ -1320,7 +1325,7 @@ struct platform_device *__init | |||
1320 | at32_add_device_mci(unsigned int id, struct mci_platform_data *data) | 1325 | at32_add_device_mci(unsigned int id, struct mci_platform_data *data) |
1321 | { | 1326 | { |
1322 | struct platform_device *pdev; | 1327 | struct platform_device *pdev; |
1323 | struct dw_dma_slave *dws = &data->dma_slave; | 1328 | struct mci_dma_slave *slave; |
1324 | u32 pioa_mask; | 1329 | u32 pioa_mask; |
1325 | u32 piob_mask; | 1330 | u32 piob_mask; |
1326 | 1331 | ||
@@ -1339,13 +1344,17 @@ at32_add_device_mci(unsigned int id, struct mci_platform_data *data) | |||
1339 | ARRAY_SIZE(atmel_mci0_resource))) | 1344 | ARRAY_SIZE(atmel_mci0_resource))) |
1340 | goto fail; | 1345 | goto fail; |
1341 | 1346 | ||
1342 | dws->dma_dev = &dw_dmac0_device.dev; | 1347 | slave = kzalloc(sizeof(struct mci_dma_slave), GFP_KERNEL); |
1343 | dws->reg_width = DW_DMA_SLAVE_WIDTH_32BIT; | 1348 | |
1344 | dws->cfg_hi = (DWC_CFGH_SRC_PER(0) | 1349 | slave->sdata.dma_dev = &dw_dmac0_device.dev; |
1350 | slave->sdata.reg_width = DW_DMA_SLAVE_WIDTH_32BIT; | ||
1351 | slave->sdata.cfg_hi = (DWC_CFGH_SRC_PER(0) | ||
1345 | | DWC_CFGH_DST_PER(1)); | 1352 | | DWC_CFGH_DST_PER(1)); |
1346 | dws->cfg_lo &= ~(DWC_CFGL_HS_DST_POL | 1353 | slave->sdata.cfg_lo &= ~(DWC_CFGL_HS_DST_POL |
1347 | | DWC_CFGL_HS_SRC_POL); | 1354 | | DWC_CFGL_HS_SRC_POL); |
1348 | 1355 | ||
1356 | data->dma_slave = slave; | ||
1357 | |||
1349 | if (platform_device_add_data(pdev, data, | 1358 | if (platform_device_add_data(pdev, data, |
1350 | sizeof(struct mci_platform_data))) | 1359 | sizeof(struct mci_platform_data))) |
1351 | goto fail; | 1360 | goto fail; |
@@ -1411,6 +1420,8 @@ at32_add_device_mci(unsigned int id, struct mci_platform_data *data) | |||
1411 | return pdev; | 1420 | return pdev; |
1412 | 1421 | ||
1413 | fail: | 1422 | fail: |
1423 | data->dma_slave = NULL; | ||
1424 | kfree(slave); | ||
1414 | platform_device_put(pdev); | 1425 | platform_device_put(pdev); |
1415 | return NULL; | 1426 | return NULL; |
1416 | } | 1427 | } |
diff --git a/arch/avr32/mach-at32ap/include/mach/atmel-mci.h b/arch/avr32/mach-at32ap/include/mach/atmel-mci.h new file mode 100644 index 000000000000..a9b38967f703 --- /dev/null +++ b/arch/avr32/mach-at32ap/include/mach/atmel-mci.h | |||
@@ -0,0 +1,24 @@ | |||
1 | #ifndef __MACH_ATMEL_MCI_H | ||
2 | #define __MACH_ATMEL_MCI_H | ||
3 | |||
4 | #include <linux/dw_dmac.h> | ||
5 | |||
6 | /** | ||
7 | * struct mci_dma_data - DMA data for MCI interface | ||
8 | */ | ||
9 | struct mci_dma_data { | ||
10 | struct dw_dma_slave sdata; | ||
11 | }; | ||
12 | |||
13 | /* accessor macros */ | ||
14 | #define slave_data_ptr(s) (&(s)->sdata) | ||
15 | #define find_slave_dev(s) ((s)->sdata.dma_dev) | ||
16 | |||
17 | #define setup_dma_addr(s, t, r) do { \ | ||
18 | if (s) { \ | ||
19 | (s)->sdata.tx_reg = (t); \ | ||
20 | (s)->sdata.rx_reg = (r); \ | ||
21 | } \ | ||
22 | } while (0) | ||
23 | |||
24 | #endif /* __MACH_ATMEL_MCI_H */ | ||
diff --git a/arch/avr32/mach-at32ap/include/mach/board.h b/arch/avr32/mach-at32ap/include/mach/board.h index ddedb471f33e..c7f25bb1d068 100644 --- a/arch/avr32/mach-at32ap/include/mach/board.h +++ b/arch/avr32/mach-at32ap/include/mach/board.h | |||
@@ -49,6 +49,7 @@ at32_add_device_eth(unsigned int id, struct eth_platform_data *data); | |||
49 | struct spi_board_info; | 49 | struct spi_board_info; |
50 | struct platform_device * | 50 | struct platform_device * |
51 | at32_add_device_spi(unsigned int id, struct spi_board_info *b, unsigned int n); | 51 | at32_add_device_spi(unsigned int id, struct spi_board_info *b, unsigned int n); |
52 | void at32_spi_setup_slaves(unsigned int bus_num, struct spi_board_info *b, unsigned int n); | ||
52 | 53 | ||
53 | struct atmel_lcdfb_info; | 54 | struct atmel_lcdfb_info; |
54 | struct platform_device * | 55 | struct platform_device * |
diff --git a/arch/blackfin/include/asm/spinlock.h b/arch/blackfin/include/asm/spinlock.h index b0c7f0ee4b03..1942ccfedbe0 100644 --- a/arch/blackfin/include/asm/spinlock.h +++ b/arch/blackfin/include/asm/spinlock.h | |||
@@ -17,84 +17,84 @@ asmlinkage int __raw_spin_is_locked_asm(volatile int *ptr); | |||
17 | asmlinkage void __raw_spin_lock_asm(volatile int *ptr); | 17 | asmlinkage void __raw_spin_lock_asm(volatile int *ptr); |
18 | asmlinkage int __raw_spin_trylock_asm(volatile int *ptr); | 18 | asmlinkage int __raw_spin_trylock_asm(volatile int *ptr); |
19 | asmlinkage void __raw_spin_unlock_asm(volatile int *ptr); | 19 | asmlinkage void __raw_spin_unlock_asm(volatile int *ptr); |
20 | asmlinkage void __raw_read_lock_asm(volatile int *ptr); | 20 | asmlinkage void arch_read_lock_asm(volatile int *ptr); |
21 | asmlinkage int __raw_read_trylock_asm(volatile int *ptr); | 21 | asmlinkage int arch_read_trylock_asm(volatile int *ptr); |
22 | asmlinkage void __raw_read_unlock_asm(volatile int *ptr); | 22 | asmlinkage void arch_read_unlock_asm(volatile int *ptr); |
23 | asmlinkage void __raw_write_lock_asm(volatile int *ptr); | 23 | asmlinkage void arch_write_lock_asm(volatile int *ptr); |
24 | asmlinkage int __raw_write_trylock_asm(volatile int *ptr); | 24 | asmlinkage int arch_write_trylock_asm(volatile int *ptr); |
25 | asmlinkage void __raw_write_unlock_asm(volatile int *ptr); | 25 | asmlinkage void arch_write_unlock_asm(volatile int *ptr); |
26 | 26 | ||
27 | static inline int __raw_spin_is_locked(raw_spinlock_t *lock) | 27 | static inline int arch_spin_is_locked(arch_spinlock_t *lock) |
28 | { | 28 | { |
29 | return __raw_spin_is_locked_asm(&lock->lock); | 29 | return __raw_spin_is_locked_asm(&lock->lock); |
30 | } | 30 | } |
31 | 31 | ||
32 | static inline void __raw_spin_lock(raw_spinlock_t *lock) | 32 | static inline void arch_spin_lock(arch_spinlock_t *lock) |
33 | { | 33 | { |
34 | __raw_spin_lock_asm(&lock->lock); | 34 | __raw_spin_lock_asm(&lock->lock); |
35 | } | 35 | } |
36 | 36 | ||
37 | #define __raw_spin_lock_flags(lock, flags) __raw_spin_lock(lock) | 37 | #define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock) |
38 | 38 | ||
39 | static inline int __raw_spin_trylock(raw_spinlock_t *lock) | 39 | static inline int arch_spin_trylock(arch_spinlock_t *lock) |
40 | { | 40 | { |
41 | return __raw_spin_trylock_asm(&lock->lock); | 41 | return __raw_spin_trylock_asm(&lock->lock); |
42 | } | 42 | } |
43 | 43 | ||
44 | static inline void __raw_spin_unlock(raw_spinlock_t *lock) | 44 | static inline void arch_spin_unlock(arch_spinlock_t *lock) |
45 | { | 45 | { |
46 | __raw_spin_unlock_asm(&lock->lock); | 46 | __raw_spin_unlock_asm(&lock->lock); |
47 | } | 47 | } |
48 | 48 | ||
49 | static inline void __raw_spin_unlock_wait(raw_spinlock_t *lock) | 49 | static inline void arch_spin_unlock_wait(arch_spinlock_t *lock) |
50 | { | 50 | { |
51 | while (__raw_spin_is_locked(lock)) | 51 | while (arch_spin_is_locked(lock)) |
52 | cpu_relax(); | 52 | cpu_relax(); |
53 | } | 53 | } |
54 | 54 | ||
55 | static inline int __raw_read_can_lock(raw_rwlock_t *rw) | 55 | static inline int arch_read_can_lock(arch_rwlock_t *rw) |
56 | { | 56 | { |
57 | return __raw_uncached_fetch_asm(&rw->lock) > 0; | 57 | return __raw_uncached_fetch_asm(&rw->lock) > 0; |
58 | } | 58 | } |
59 | 59 | ||
60 | static inline int __raw_write_can_lock(raw_rwlock_t *rw) | 60 | static inline int arch_write_can_lock(arch_rwlock_t *rw) |
61 | { | 61 | { |
62 | return __raw_uncached_fetch_asm(&rw->lock) == RW_LOCK_BIAS; | 62 | return __raw_uncached_fetch_asm(&rw->lock) == RW_LOCK_BIAS; |
63 | } | 63 | } |
64 | 64 | ||
65 | static inline void __raw_read_lock(raw_rwlock_t *rw) | 65 | static inline void arch_read_lock(arch_rwlock_t *rw) |
66 | { | 66 | { |
67 | __raw_read_lock_asm(&rw->lock); | 67 | arch_read_lock_asm(&rw->lock); |
68 | } | 68 | } |
69 | 69 | ||
70 | static inline int __raw_read_trylock(raw_rwlock_t *rw) | 70 | static inline int arch_read_trylock(arch_rwlock_t *rw) |
71 | { | 71 | { |
72 | return __raw_read_trylock_asm(&rw->lock); | 72 | return arch_read_trylock_asm(&rw->lock); |
73 | } | 73 | } |
74 | 74 | ||
75 | static inline void __raw_read_unlock(raw_rwlock_t *rw) | 75 | static inline void arch_read_unlock(arch_rwlock_t *rw) |
76 | { | 76 | { |
77 | __raw_read_unlock_asm(&rw->lock); | 77 | arch_read_unlock_asm(&rw->lock); |
78 | } | 78 | } |
79 | 79 | ||
80 | static inline void __raw_write_lock(raw_rwlock_t *rw) | 80 | static inline void arch_write_lock(arch_rwlock_t *rw) |
81 | { | 81 | { |
82 | __raw_write_lock_asm(&rw->lock); | 82 | arch_write_lock_asm(&rw->lock); |
83 | } | 83 | } |
84 | 84 | ||
85 | static inline int __raw_write_trylock(raw_rwlock_t *rw) | 85 | static inline int arch_write_trylock(arch_rwlock_t *rw) |
86 | { | 86 | { |
87 | return __raw_write_trylock_asm(&rw->lock); | 87 | return arch_write_trylock_asm(&rw->lock); |
88 | } | 88 | } |
89 | 89 | ||
90 | static inline void __raw_write_unlock(raw_rwlock_t *rw) | 90 | static inline void arch_write_unlock(arch_rwlock_t *rw) |
91 | { | 91 | { |
92 | __raw_write_unlock_asm(&rw->lock); | 92 | arch_write_unlock_asm(&rw->lock); |
93 | } | 93 | } |
94 | 94 | ||
95 | #define _raw_spin_relax(lock) cpu_relax() | 95 | #define arch_spin_relax(lock) cpu_relax() |
96 | #define _raw_read_relax(lock) cpu_relax() | 96 | #define arch_read_relax(lock) cpu_relax() |
97 | #define _raw_write_relax(lock) cpu_relax() | 97 | #define arch_write_relax(lock) cpu_relax() |
98 | 98 | ||
99 | #endif | 99 | #endif |
100 | 100 | ||
diff --git a/arch/blackfin/include/asm/spinlock_types.h b/arch/blackfin/include/asm/spinlock_types.h index be75762c0610..1a33608c958b 100644 --- a/arch/blackfin/include/asm/spinlock_types.h +++ b/arch/blackfin/include/asm/spinlock_types.h | |||
@@ -15,14 +15,14 @@ | |||
15 | 15 | ||
16 | typedef struct { | 16 | typedef struct { |
17 | volatile unsigned int lock; | 17 | volatile unsigned int lock; |
18 | } raw_spinlock_t; | 18 | } arch_spinlock_t; |
19 | 19 | ||
20 | #define __RAW_SPIN_LOCK_UNLOCKED { 0 } | 20 | #define __ARCH_SPIN_LOCK_UNLOCKED { 0 } |
21 | 21 | ||
22 | typedef struct { | 22 | typedef struct { |
23 | volatile unsigned int lock; | 23 | volatile unsigned int lock; |
24 | } raw_rwlock_t; | 24 | } arch_rwlock_t; |
25 | 25 | ||
26 | #define __RAW_RW_LOCK_UNLOCKED { RW_LOCK_BIAS } | 26 | #define __ARCH_RW_LOCK_UNLOCKED { RW_LOCK_BIAS } |
27 | 27 | ||
28 | #endif | 28 | #endif |
diff --git a/arch/blackfin/kernel/irqchip.c b/arch/blackfin/kernel/irqchip.c index db9f9c91f11f..64cff54a8a58 100644 --- a/arch/blackfin/kernel/irqchip.c +++ b/arch/blackfin/kernel/irqchip.c | |||
@@ -23,7 +23,7 @@ void ack_bad_irq(unsigned int irq) | |||
23 | 23 | ||
24 | static struct irq_desc bad_irq_desc = { | 24 | static struct irq_desc bad_irq_desc = { |
25 | .handle_irq = handle_bad_irq, | 25 | .handle_irq = handle_bad_irq, |
26 | .lock = __SPIN_LOCK_UNLOCKED(irq_desc->lock), | 26 | .lock = __RAW_SPIN_LOCK_UNLOCKED(bad_irq_desc.lock), |
27 | }; | 27 | }; |
28 | 28 | ||
29 | #ifdef CONFIG_CPUMASK_OFFSTACK | 29 | #ifdef CONFIG_CPUMASK_OFFSTACK |
@@ -39,7 +39,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
39 | unsigned long flags; | 39 | unsigned long flags; |
40 | 40 | ||
41 | if (i < NR_IRQS) { | 41 | if (i < NR_IRQS) { |
42 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 42 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
43 | action = irq_desc[i].action; | 43 | action = irq_desc[i].action; |
44 | if (!action) | 44 | if (!action) |
45 | goto skip; | 45 | goto skip; |
@@ -53,7 +53,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
53 | 53 | ||
54 | seq_putc(p, '\n'); | 54 | seq_putc(p, '\n'); |
55 | skip: | 55 | skip: |
56 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 56 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
57 | } else if (i == NR_IRQS) { | 57 | } else if (i == NR_IRQS) { |
58 | seq_printf(p, "NMI: "); | 58 | seq_printf(p, "NMI: "); |
59 | for_each_online_cpu(j) | 59 | for_each_online_cpu(j) |
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index 78cb3d38f899..9636bace00e8 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c | |||
@@ -1140,7 +1140,7 @@ void show_regs(struct pt_regs *fp) | |||
1140 | if (fp->ipend & ~0x3F) { | 1140 | if (fp->ipend & ~0x3F) { |
1141 | for (i = 0; i < (NR_IRQS - 1); i++) { | 1141 | for (i = 0; i < (NR_IRQS - 1); i++) { |
1142 | if (!in_atomic) | 1142 | if (!in_atomic) |
1143 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 1143 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
1144 | 1144 | ||
1145 | action = irq_desc[i].action; | 1145 | action = irq_desc[i].action; |
1146 | if (!action) | 1146 | if (!action) |
@@ -1155,7 +1155,7 @@ void show_regs(struct pt_regs *fp) | |||
1155 | verbose_printk("\n"); | 1155 | verbose_printk("\n"); |
1156 | unlock: | 1156 | unlock: |
1157 | if (!in_atomic) | 1157 | if (!in_atomic) |
1158 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 1158 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
1159 | } | 1159 | } |
1160 | } | 1160 | } |
1161 | 1161 | ||
diff --git a/arch/cris/include/arch-v32/arch/spinlock.h b/arch/cris/include/arch-v32/arch/spinlock.h index 367a53ea10c5..f171a6600fbc 100644 --- a/arch/cris/include/arch-v32/arch/spinlock.h +++ b/arch/cris/include/arch-v32/arch/spinlock.h | |||
@@ -9,12 +9,12 @@ extern void cris_spin_unlock(void *l, int val); | |||
9 | extern void cris_spin_lock(void *l); | 9 | extern void cris_spin_lock(void *l); |
10 | extern int cris_spin_trylock(void *l); | 10 | extern int cris_spin_trylock(void *l); |
11 | 11 | ||
12 | static inline int __raw_spin_is_locked(raw_spinlock_t *x) | 12 | static inline int arch_spin_is_locked(arch_spinlock_t *x) |
13 | { | 13 | { |
14 | return *(volatile signed char *)(&(x)->slock) <= 0; | 14 | return *(volatile signed char *)(&(x)->slock) <= 0; |
15 | } | 15 | } |
16 | 16 | ||
17 | static inline void __raw_spin_unlock(raw_spinlock_t *lock) | 17 | static inline void arch_spin_unlock(arch_spinlock_t *lock) |
18 | { | 18 | { |
19 | __asm__ volatile ("move.d %1,%0" \ | 19 | __asm__ volatile ("move.d %1,%0" \ |
20 | : "=m" (lock->slock) \ | 20 | : "=m" (lock->slock) \ |
@@ -22,26 +22,26 @@ static inline void __raw_spin_unlock(raw_spinlock_t *lock) | |||
22 | : "memory"); | 22 | : "memory"); |
23 | } | 23 | } |
24 | 24 | ||
25 | static inline void __raw_spin_unlock_wait(raw_spinlock_t *lock) | 25 | static inline void arch_spin_unlock_wait(arch_spinlock_t *lock) |
26 | { | 26 | { |
27 | while (__raw_spin_is_locked(lock)) | 27 | while (arch_spin_is_locked(lock)) |
28 | cpu_relax(); | 28 | cpu_relax(); |
29 | } | 29 | } |
30 | 30 | ||
31 | static inline int __raw_spin_trylock(raw_spinlock_t *lock) | 31 | static inline int arch_spin_trylock(arch_spinlock_t *lock) |
32 | { | 32 | { |
33 | return cris_spin_trylock((void *)&lock->slock); | 33 | return cris_spin_trylock((void *)&lock->slock); |
34 | } | 34 | } |
35 | 35 | ||
36 | static inline void __raw_spin_lock(raw_spinlock_t *lock) | 36 | static inline void arch_spin_lock(arch_spinlock_t *lock) |
37 | { | 37 | { |
38 | cris_spin_lock((void *)&lock->slock); | 38 | cris_spin_lock((void *)&lock->slock); |
39 | } | 39 | } |
40 | 40 | ||
41 | static inline void | 41 | static inline void |
42 | __raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long flags) | 42 | arch_spin_lock_flags(arch_spinlock_t *lock, unsigned long flags) |
43 | { | 43 | { |
44 | __raw_spin_lock(lock); | 44 | arch_spin_lock(lock); |
45 | } | 45 | } |
46 | 46 | ||
47 | /* | 47 | /* |
@@ -56,76 +56,76 @@ __raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long flags) | |||
56 | * | 56 | * |
57 | */ | 57 | */ |
58 | 58 | ||
59 | static inline int __raw_read_can_lock(raw_rwlock_t *x) | 59 | static inline int arch_read_can_lock(arch_rwlock_t *x) |
60 | { | 60 | { |
61 | return (int)(x)->lock > 0; | 61 | return (int)(x)->lock > 0; |
62 | } | 62 | } |
63 | 63 | ||
64 | static inline int __raw_write_can_lock(raw_rwlock_t *x) | 64 | static inline int arch_write_can_lock(arch_rwlock_t *x) |
65 | { | 65 | { |
66 | return (x)->lock == RW_LOCK_BIAS; | 66 | return (x)->lock == RW_LOCK_BIAS; |
67 | } | 67 | } |
68 | 68 | ||
69 | static inline void __raw_read_lock(raw_rwlock_t *rw) | 69 | static inline void arch_read_lock(arch_rwlock_t *rw) |
70 | { | 70 | { |
71 | __raw_spin_lock(&rw->slock); | 71 | arch_spin_lock(&rw->slock); |
72 | while (rw->lock == 0); | 72 | while (rw->lock == 0); |
73 | rw->lock--; | 73 | rw->lock--; |
74 | __raw_spin_unlock(&rw->slock); | 74 | arch_spin_unlock(&rw->slock); |
75 | } | 75 | } |
76 | 76 | ||
77 | static inline void __raw_write_lock(raw_rwlock_t *rw) | 77 | static inline void arch_write_lock(arch_rwlock_t *rw) |
78 | { | 78 | { |
79 | __raw_spin_lock(&rw->slock); | 79 | arch_spin_lock(&rw->slock); |
80 | while (rw->lock != RW_LOCK_BIAS); | 80 | while (rw->lock != RW_LOCK_BIAS); |
81 | rw->lock = 0; | 81 | rw->lock = 0; |
82 | __raw_spin_unlock(&rw->slock); | 82 | arch_spin_unlock(&rw->slock); |
83 | } | 83 | } |
84 | 84 | ||
85 | static inline void __raw_read_unlock(raw_rwlock_t *rw) | 85 | static inline void arch_read_unlock(arch_rwlock_t *rw) |
86 | { | 86 | { |
87 | __raw_spin_lock(&rw->slock); | 87 | arch_spin_lock(&rw->slock); |
88 | rw->lock++; | 88 | rw->lock++; |
89 | __raw_spin_unlock(&rw->slock); | 89 | arch_spin_unlock(&rw->slock); |
90 | } | 90 | } |
91 | 91 | ||
92 | static inline void __raw_write_unlock(raw_rwlock_t *rw) | 92 | static inline void arch_write_unlock(arch_rwlock_t *rw) |
93 | { | 93 | { |
94 | __raw_spin_lock(&rw->slock); | 94 | arch_spin_lock(&rw->slock); |
95 | while (rw->lock != RW_LOCK_BIAS); | 95 | while (rw->lock != RW_LOCK_BIAS); |
96 | rw->lock = RW_LOCK_BIAS; | 96 | rw->lock = RW_LOCK_BIAS; |
97 | __raw_spin_unlock(&rw->slock); | 97 | arch_spin_unlock(&rw->slock); |
98 | } | 98 | } |
99 | 99 | ||
100 | static inline int __raw_read_trylock(raw_rwlock_t *rw) | 100 | static inline int arch_read_trylock(arch_rwlock_t *rw) |
101 | { | 101 | { |
102 | int ret = 0; | 102 | int ret = 0; |
103 | __raw_spin_lock(&rw->slock); | 103 | arch_spin_lock(&rw->slock); |
104 | if (rw->lock != 0) { | 104 | if (rw->lock != 0) { |
105 | rw->lock--; | 105 | rw->lock--; |
106 | ret = 1; | 106 | ret = 1; |
107 | } | 107 | } |
108 | __raw_spin_unlock(&rw->slock); | 108 | arch_spin_unlock(&rw->slock); |
109 | return ret; | 109 | return ret; |
110 | } | 110 | } |
111 | 111 | ||
112 | static inline int __raw_write_trylock(raw_rwlock_t *rw) | 112 | static inline int arch_write_trylock(arch_rwlock_t *rw) |
113 | { | 113 | { |
114 | int ret = 0; | 114 | int ret = 0; |
115 | __raw_spin_lock(&rw->slock); | 115 | arch_spin_lock(&rw->slock); |
116 | if (rw->lock == RW_LOCK_BIAS) { | 116 | if (rw->lock == RW_LOCK_BIAS) { |
117 | rw->lock = 0; | 117 | rw->lock = 0; |
118 | ret = 1; | 118 | ret = 1; |
119 | } | 119 | } |
120 | __raw_spin_unlock(&rw->slock); | 120 | arch_spin_unlock(&rw->slock); |
121 | return 1; | 121 | return 1; |
122 | } | 122 | } |
123 | 123 | ||
124 | #define _raw_read_lock_flags(lock, flags) _raw_read_lock(lock) | 124 | #define _raw_read_lock_flags(lock, flags) _raw_read_lock(lock) |
125 | #define _raw_write_lock_flags(lock, flags) _raw_write_lock(lock) | 125 | #define _raw_write_lock_flags(lock, flags) _raw_write_lock(lock) |
126 | 126 | ||
127 | #define _raw_spin_relax(lock) cpu_relax() | 127 | #define arch_spin_relax(lock) cpu_relax() |
128 | #define _raw_read_relax(lock) cpu_relax() | 128 | #define arch_read_relax(lock) cpu_relax() |
129 | #define _raw_write_relax(lock) cpu_relax() | 129 | #define arch_write_relax(lock) cpu_relax() |
130 | 130 | ||
131 | #endif /* __ASM_ARCH_SPINLOCK_H */ | 131 | #endif /* __ASM_ARCH_SPINLOCK_H */ |
diff --git a/arch/cris/kernel/irq.c b/arch/cris/kernel/irq.c index 0ca7d9892cc6..b5ce0724a88f 100644 --- a/arch/cris/kernel/irq.c +++ b/arch/cris/kernel/irq.c | |||
@@ -52,7 +52,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
52 | } | 52 | } |
53 | 53 | ||
54 | if (i < NR_IRQS) { | 54 | if (i < NR_IRQS) { |
55 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 55 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
56 | action = irq_desc[i].action; | 56 | action = irq_desc[i].action; |
57 | if (!action) | 57 | if (!action) |
58 | goto skip; | 58 | goto skip; |
@@ -71,7 +71,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
71 | 71 | ||
72 | seq_putc(p, '\n'); | 72 | seq_putc(p, '\n'); |
73 | skip: | 73 | skip: |
74 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 74 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
75 | } | 75 | } |
76 | return 0; | 76 | return 0; |
77 | } | 77 | } |
diff --git a/arch/frv/kernel/irq.c b/arch/frv/kernel/irq.c index af3e824b91b3..62d1aba615dc 100644 --- a/arch/frv/kernel/irq.c +++ b/arch/frv/kernel/irq.c | |||
@@ -69,7 +69,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
69 | } | 69 | } |
70 | 70 | ||
71 | if (i < NR_IRQS) { | 71 | if (i < NR_IRQS) { |
72 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 72 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
73 | action = irq_desc[i].action; | 73 | action = irq_desc[i].action; |
74 | if (action) { | 74 | if (action) { |
75 | seq_printf(p, "%3d: ", i); | 75 | seq_printf(p, "%3d: ", i); |
@@ -85,7 +85,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
85 | seq_putc(p, '\n'); | 85 | seq_putc(p, '\n'); |
86 | } | 86 | } |
87 | 87 | ||
88 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 88 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
89 | } else if (i == NR_IRQS) { | 89 | } else if (i == NR_IRQS) { |
90 | seq_printf(p, "Err: %10u\n", atomic_read(&irq_err_count)); | 90 | seq_printf(p, "Err: %10u\n", atomic_read(&irq_err_count)); |
91 | } | 91 | } |
diff --git a/arch/h8300/kernel/irq.c b/arch/h8300/kernel/irq.c index 5c913d472119..c25dc2c2b1da 100644 --- a/arch/h8300/kernel/irq.c +++ b/arch/h8300/kernel/irq.c | |||
@@ -186,7 +186,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
186 | seq_puts(p, " CPU0"); | 186 | seq_puts(p, " CPU0"); |
187 | 187 | ||
188 | if (i < NR_IRQS) { | 188 | if (i < NR_IRQS) { |
189 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 189 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
190 | action = irq_desc[i].action; | 190 | action = irq_desc[i].action; |
191 | if (!action) | 191 | if (!action) |
192 | goto unlock; | 192 | goto unlock; |
@@ -200,7 +200,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
200 | seq_printf(p, ", %s", action->name); | 200 | seq_printf(p, ", %s", action->name); |
201 | seq_putc(p, '\n'); | 201 | seq_putc(p, '\n'); |
202 | unlock: | 202 | unlock: |
203 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 203 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
204 | } | 204 | } |
205 | return 0; | 205 | return 0; |
206 | } | 206 | } |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 1ee596cd942f..2d7f56a98e0f 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -87,9 +87,6 @@ config GENERIC_TIME_VSYSCALL | |||
87 | bool | 87 | bool |
88 | default y | 88 | default y |
89 | 89 | ||
90 | config HAVE_LEGACY_PER_CPU_AREA | ||
91 | def_bool y | ||
92 | |||
93 | config HAVE_SETUP_PER_CPU_AREA | 90 | config HAVE_SETUP_PER_CPU_AREA |
94 | def_bool y | 91 | def_bool y |
95 | 92 | ||
diff --git a/arch/ia64/include/asm/bitops.h b/arch/ia64/include/asm/bitops.h index 57a2787bc9fb..6ebc229a1c51 100644 --- a/arch/ia64/include/asm/bitops.h +++ b/arch/ia64/include/asm/bitops.h | |||
@@ -127,7 +127,7 @@ clear_bit_unlock (int nr, volatile void *addr) | |||
127 | * @addr: Address to start counting from | 127 | * @addr: Address to start counting from |
128 | * | 128 | * |
129 | * Similarly to clear_bit_unlock, the implementation uses a store | 129 | * Similarly to clear_bit_unlock, the implementation uses a store |
130 | * with release semantics. See also __raw_spin_unlock(). | 130 | * with release semantics. See also arch_spin_unlock(). |
131 | */ | 131 | */ |
132 | static __inline__ void | 132 | static __inline__ void |
133 | __clear_bit_unlock(int nr, void *addr) | 133 | __clear_bit_unlock(int nr, void *addr) |
diff --git a/arch/ia64/include/asm/meminit.h b/arch/ia64/include/asm/meminit.h index 688a812c017d..61c7b1750b16 100644 --- a/arch/ia64/include/asm/meminit.h +++ b/arch/ia64/include/asm/meminit.h | |||
@@ -61,7 +61,7 @@ extern int register_active_ranges(u64 start, u64 len, int nid); | |||
61 | 61 | ||
62 | #ifdef CONFIG_VIRTUAL_MEM_MAP | 62 | #ifdef CONFIG_VIRTUAL_MEM_MAP |
63 | # define LARGE_GAP 0x40000000 /* Use virtual mem map if hole is > than this */ | 63 | # define LARGE_GAP 0x40000000 /* Use virtual mem map if hole is > than this */ |
64 | extern unsigned long vmalloc_end; | 64 | extern unsigned long VMALLOC_END; |
65 | extern struct page *vmem_map; | 65 | extern struct page *vmem_map; |
66 | extern int find_largest_hole(u64 start, u64 end, void *arg); | 66 | extern int find_largest_hole(u64 start, u64 end, void *arg); |
67 | extern int create_mem_map_page_table(u64 start, u64 end, void *arg); | 67 | extern int create_mem_map_page_table(u64 start, u64 end, void *arg); |
diff --git a/arch/ia64/include/asm/numa.h b/arch/ia64/include/asm/numa.h index 3499ff57bf42..6a8a27cfae3e 100644 --- a/arch/ia64/include/asm/numa.h +++ b/arch/ia64/include/asm/numa.h | |||
@@ -22,8 +22,6 @@ | |||
22 | 22 | ||
23 | #include <asm/mmzone.h> | 23 | #include <asm/mmzone.h> |
24 | 24 | ||
25 | #define NUMA_NO_NODE -1 | ||
26 | |||
27 | extern u16 cpu_to_node_map[NR_CPUS] __cacheline_aligned; | 25 | extern u16 cpu_to_node_map[NR_CPUS] __cacheline_aligned; |
28 | extern cpumask_t node_to_cpu_mask[MAX_NUMNODES] __cacheline_aligned; | 26 | extern cpumask_t node_to_cpu_mask[MAX_NUMNODES] __cacheline_aligned; |
29 | extern pg_data_t *pgdat_list[MAX_NUMNODES]; | 27 | extern pg_data_t *pgdat_list[MAX_NUMNODES]; |
diff --git a/arch/ia64/include/asm/pgtable.h b/arch/ia64/include/asm/pgtable.h index 8840a690d1e7..69bf13857a9f 100644 --- a/arch/ia64/include/asm/pgtable.h +++ b/arch/ia64/include/asm/pgtable.h | |||
@@ -228,8 +228,7 @@ ia64_phys_addr_valid (unsigned long addr) | |||
228 | #define VMALLOC_START (RGN_BASE(RGN_GATE) + 0x200000000UL) | 228 | #define VMALLOC_START (RGN_BASE(RGN_GATE) + 0x200000000UL) |
229 | #ifdef CONFIG_VIRTUAL_MEM_MAP | 229 | #ifdef CONFIG_VIRTUAL_MEM_MAP |
230 | # define VMALLOC_END_INIT (RGN_BASE(RGN_GATE) + (1UL << (4*PAGE_SHIFT - 9))) | 230 | # define VMALLOC_END_INIT (RGN_BASE(RGN_GATE) + (1UL << (4*PAGE_SHIFT - 9))) |
231 | # define VMALLOC_END vmalloc_end | 231 | extern unsigned long VMALLOC_END; |
232 | extern unsigned long vmalloc_end; | ||
233 | #else | 232 | #else |
234 | #if defined(CONFIG_SPARSEMEM) && defined(CONFIG_SPARSEMEM_VMEMMAP) | 233 | #if defined(CONFIG_SPARSEMEM) && defined(CONFIG_SPARSEMEM_VMEMMAP) |
235 | /* SPARSEMEM_VMEMMAP uses half of vmalloc... */ | 234 | /* SPARSEMEM_VMEMMAP uses half of vmalloc... */ |
diff --git a/arch/ia64/include/asm/processor.h b/arch/ia64/include/asm/processor.h index 3eaeedf1aef2..7fa90f73f6be 100644 --- a/arch/ia64/include/asm/processor.h +++ b/arch/ia64/include/asm/processor.h | |||
@@ -229,7 +229,7 @@ struct cpuinfo_ia64 { | |||
229 | #endif | 229 | #endif |
230 | }; | 230 | }; |
231 | 231 | ||
232 | DECLARE_PER_CPU(struct cpuinfo_ia64, cpu_info); | 232 | DECLARE_PER_CPU(struct cpuinfo_ia64, ia64_cpu_info); |
233 | 233 | ||
234 | /* | 234 | /* |
235 | * The "local" data variable. It refers to the per-CPU data of the currently executing | 235 | * The "local" data variable. It refers to the per-CPU data of the currently executing |
@@ -237,8 +237,8 @@ DECLARE_PER_CPU(struct cpuinfo_ia64, cpu_info); | |||
237 | * Do not use the address of local_cpu_data, since it will be different from | 237 | * Do not use the address of local_cpu_data, since it will be different from |
238 | * cpu_data(smp_processor_id())! | 238 | * cpu_data(smp_processor_id())! |
239 | */ | 239 | */ |
240 | #define local_cpu_data (&__ia64_per_cpu_var(cpu_info)) | 240 | #define local_cpu_data (&__ia64_per_cpu_var(ia64_cpu_info)) |
241 | #define cpu_data(cpu) (&per_cpu(cpu_info, cpu)) | 241 | #define cpu_data(cpu) (&per_cpu(ia64_cpu_info, cpu)) |
242 | 242 | ||
243 | extern void print_cpu_info (struct cpuinfo_ia64 *); | 243 | extern void print_cpu_info (struct cpuinfo_ia64 *); |
244 | 244 | ||
diff --git a/arch/ia64/include/asm/spinlock.h b/arch/ia64/include/asm/spinlock.h index 239ecdc9516d..1a91c9121d17 100644 --- a/arch/ia64/include/asm/spinlock.h +++ b/arch/ia64/include/asm/spinlock.h | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <asm/intrinsics.h> | 17 | #include <asm/intrinsics.h> |
18 | #include <asm/system.h> | 18 | #include <asm/system.h> |
19 | 19 | ||
20 | #define __raw_spin_lock_init(x) ((x)->lock = 0) | 20 | #define arch_spin_lock_init(x) ((x)->lock = 0) |
21 | 21 | ||
22 | /* | 22 | /* |
23 | * Ticket locks are conceptually two parts, one indicating the current head of | 23 | * Ticket locks are conceptually two parts, one indicating the current head of |
@@ -38,7 +38,7 @@ | |||
38 | #define TICKET_BITS 15 | 38 | #define TICKET_BITS 15 |
39 | #define TICKET_MASK ((1 << TICKET_BITS) - 1) | 39 | #define TICKET_MASK ((1 << TICKET_BITS) - 1) |
40 | 40 | ||
41 | static __always_inline void __ticket_spin_lock(raw_spinlock_t *lock) | 41 | static __always_inline void __ticket_spin_lock(arch_spinlock_t *lock) |
42 | { | 42 | { |
43 | int *p = (int *)&lock->lock, ticket, serve; | 43 | int *p = (int *)&lock->lock, ticket, serve; |
44 | 44 | ||
@@ -58,7 +58,7 @@ static __always_inline void __ticket_spin_lock(raw_spinlock_t *lock) | |||
58 | } | 58 | } |
59 | } | 59 | } |
60 | 60 | ||
61 | static __always_inline int __ticket_spin_trylock(raw_spinlock_t *lock) | 61 | static __always_inline int __ticket_spin_trylock(arch_spinlock_t *lock) |
62 | { | 62 | { |
63 | int tmp = ACCESS_ONCE(lock->lock); | 63 | int tmp = ACCESS_ONCE(lock->lock); |
64 | 64 | ||
@@ -67,7 +67,7 @@ static __always_inline int __ticket_spin_trylock(raw_spinlock_t *lock) | |||
67 | return 0; | 67 | return 0; |
68 | } | 68 | } |
69 | 69 | ||
70 | static __always_inline void __ticket_spin_unlock(raw_spinlock_t *lock) | 70 | static __always_inline void __ticket_spin_unlock(arch_spinlock_t *lock) |
71 | { | 71 | { |
72 | unsigned short *p = (unsigned short *)&lock->lock + 1, tmp; | 72 | unsigned short *p = (unsigned short *)&lock->lock + 1, tmp; |
73 | 73 | ||
@@ -75,7 +75,7 @@ static __always_inline void __ticket_spin_unlock(raw_spinlock_t *lock) | |||
75 | ACCESS_ONCE(*p) = (tmp + 2) & ~1; | 75 | ACCESS_ONCE(*p) = (tmp + 2) & ~1; |
76 | } | 76 | } |
77 | 77 | ||
78 | static __always_inline void __ticket_spin_unlock_wait(raw_spinlock_t *lock) | 78 | static __always_inline void __ticket_spin_unlock_wait(arch_spinlock_t *lock) |
79 | { | 79 | { |
80 | int *p = (int *)&lock->lock, ticket; | 80 | int *p = (int *)&lock->lock, ticket; |
81 | 81 | ||
@@ -89,64 +89,64 @@ static __always_inline void __ticket_spin_unlock_wait(raw_spinlock_t *lock) | |||
89 | } | 89 | } |
90 | } | 90 | } |
91 | 91 | ||
92 | static inline int __ticket_spin_is_locked(raw_spinlock_t *lock) | 92 | static inline int __ticket_spin_is_locked(arch_spinlock_t *lock) |
93 | { | 93 | { |
94 | long tmp = ACCESS_ONCE(lock->lock); | 94 | long tmp = ACCESS_ONCE(lock->lock); |
95 | 95 | ||
96 | return !!(((tmp >> TICKET_SHIFT) ^ tmp) & TICKET_MASK); | 96 | return !!(((tmp >> TICKET_SHIFT) ^ tmp) & TICKET_MASK); |
97 | } | 97 | } |
98 | 98 | ||
99 | static inline int __ticket_spin_is_contended(raw_spinlock_t *lock) | 99 | static inline int __ticket_spin_is_contended(arch_spinlock_t *lock) |
100 | { | 100 | { |
101 | long tmp = ACCESS_ONCE(lock->lock); | 101 | long tmp = ACCESS_ONCE(lock->lock); |
102 | 102 | ||
103 | return ((tmp - (tmp >> TICKET_SHIFT)) & TICKET_MASK) > 1; | 103 | return ((tmp - (tmp >> TICKET_SHIFT)) & TICKET_MASK) > 1; |
104 | } | 104 | } |
105 | 105 | ||
106 | static inline int __raw_spin_is_locked(raw_spinlock_t *lock) | 106 | static inline int arch_spin_is_locked(arch_spinlock_t *lock) |
107 | { | 107 | { |
108 | return __ticket_spin_is_locked(lock); | 108 | return __ticket_spin_is_locked(lock); |
109 | } | 109 | } |
110 | 110 | ||
111 | static inline int __raw_spin_is_contended(raw_spinlock_t *lock) | 111 | static inline int arch_spin_is_contended(arch_spinlock_t *lock) |
112 | { | 112 | { |
113 | return __ticket_spin_is_contended(lock); | 113 | return __ticket_spin_is_contended(lock); |
114 | } | 114 | } |
115 | #define __raw_spin_is_contended __raw_spin_is_contended | 115 | #define arch_spin_is_contended arch_spin_is_contended |
116 | 116 | ||
117 | static __always_inline void __raw_spin_lock(raw_spinlock_t *lock) | 117 | static __always_inline void arch_spin_lock(arch_spinlock_t *lock) |
118 | { | 118 | { |
119 | __ticket_spin_lock(lock); | 119 | __ticket_spin_lock(lock); |
120 | } | 120 | } |
121 | 121 | ||
122 | static __always_inline int __raw_spin_trylock(raw_spinlock_t *lock) | 122 | static __always_inline int arch_spin_trylock(arch_spinlock_t *lock) |
123 | { | 123 | { |
124 | return __ticket_spin_trylock(lock); | 124 | return __ticket_spin_trylock(lock); |
125 | } | 125 | } |
126 | 126 | ||
127 | static __always_inline void __raw_spin_unlock(raw_spinlock_t *lock) | 127 | static __always_inline void arch_spin_unlock(arch_spinlock_t *lock) |
128 | { | 128 | { |
129 | __ticket_spin_unlock(lock); | 129 | __ticket_spin_unlock(lock); |
130 | } | 130 | } |
131 | 131 | ||
132 | static __always_inline void __raw_spin_lock_flags(raw_spinlock_t *lock, | 132 | static __always_inline void arch_spin_lock_flags(arch_spinlock_t *lock, |
133 | unsigned long flags) | 133 | unsigned long flags) |
134 | { | 134 | { |
135 | __raw_spin_lock(lock); | 135 | arch_spin_lock(lock); |
136 | } | 136 | } |
137 | 137 | ||
138 | static inline void __raw_spin_unlock_wait(raw_spinlock_t *lock) | 138 | static inline void arch_spin_unlock_wait(arch_spinlock_t *lock) |
139 | { | 139 | { |
140 | __ticket_spin_unlock_wait(lock); | 140 | __ticket_spin_unlock_wait(lock); |
141 | } | 141 | } |
142 | 142 | ||
143 | #define __raw_read_can_lock(rw) (*(volatile int *)(rw) >= 0) | 143 | #define arch_read_can_lock(rw) (*(volatile int *)(rw) >= 0) |
144 | #define __raw_write_can_lock(rw) (*(volatile int *)(rw) == 0) | 144 | #define arch_write_can_lock(rw) (*(volatile int *)(rw) == 0) |
145 | 145 | ||
146 | #ifdef ASM_SUPPORTED | 146 | #ifdef ASM_SUPPORTED |
147 | 147 | ||
148 | static __always_inline void | 148 | static __always_inline void |
149 | __raw_read_lock_flags(raw_rwlock_t *lock, unsigned long flags) | 149 | arch_read_lock_flags(arch_rwlock_t *lock, unsigned long flags) |
150 | { | 150 | { |
151 | __asm__ __volatile__ ( | 151 | __asm__ __volatile__ ( |
152 | "tbit.nz p6, p0 = %1,%2\n" | 152 | "tbit.nz p6, p0 = %1,%2\n" |
@@ -169,15 +169,15 @@ __raw_read_lock_flags(raw_rwlock_t *lock, unsigned long flags) | |||
169 | : "p6", "p7", "r2", "memory"); | 169 | : "p6", "p7", "r2", "memory"); |
170 | } | 170 | } |
171 | 171 | ||
172 | #define __raw_read_lock(lock) __raw_read_lock_flags(lock, 0) | 172 | #define arch_read_lock(lock) arch_read_lock_flags(lock, 0) |
173 | 173 | ||
174 | #else /* !ASM_SUPPORTED */ | 174 | #else /* !ASM_SUPPORTED */ |
175 | 175 | ||
176 | #define __raw_read_lock_flags(rw, flags) __raw_read_lock(rw) | 176 | #define arch_read_lock_flags(rw, flags) arch_read_lock(rw) |
177 | 177 | ||
178 | #define __raw_read_lock(rw) \ | 178 | #define arch_read_lock(rw) \ |
179 | do { \ | 179 | do { \ |
180 | raw_rwlock_t *__read_lock_ptr = (rw); \ | 180 | arch_rwlock_t *__read_lock_ptr = (rw); \ |
181 | \ | 181 | \ |
182 | while (unlikely(ia64_fetchadd(1, (int *) __read_lock_ptr, acq) < 0)) { \ | 182 | while (unlikely(ia64_fetchadd(1, (int *) __read_lock_ptr, acq) < 0)) { \ |
183 | ia64_fetchadd(-1, (int *) __read_lock_ptr, rel); \ | 183 | ia64_fetchadd(-1, (int *) __read_lock_ptr, rel); \ |
@@ -188,16 +188,16 @@ do { \ | |||
188 | 188 | ||
189 | #endif /* !ASM_SUPPORTED */ | 189 | #endif /* !ASM_SUPPORTED */ |
190 | 190 | ||
191 | #define __raw_read_unlock(rw) \ | 191 | #define arch_read_unlock(rw) \ |
192 | do { \ | 192 | do { \ |
193 | raw_rwlock_t *__read_lock_ptr = (rw); \ | 193 | arch_rwlock_t *__read_lock_ptr = (rw); \ |
194 | ia64_fetchadd(-1, (int *) __read_lock_ptr, rel); \ | 194 | ia64_fetchadd(-1, (int *) __read_lock_ptr, rel); \ |
195 | } while (0) | 195 | } while (0) |
196 | 196 | ||
197 | #ifdef ASM_SUPPORTED | 197 | #ifdef ASM_SUPPORTED |
198 | 198 | ||
199 | static __always_inline void | 199 | static __always_inline void |
200 | __raw_write_lock_flags(raw_rwlock_t *lock, unsigned long flags) | 200 | arch_write_lock_flags(arch_rwlock_t *lock, unsigned long flags) |
201 | { | 201 | { |
202 | __asm__ __volatile__ ( | 202 | __asm__ __volatile__ ( |
203 | "tbit.nz p6, p0 = %1, %2\n" | 203 | "tbit.nz p6, p0 = %1, %2\n" |
@@ -221,9 +221,9 @@ __raw_write_lock_flags(raw_rwlock_t *lock, unsigned long flags) | |||
221 | : "ar.ccv", "p6", "p7", "r2", "r29", "memory"); | 221 | : "ar.ccv", "p6", "p7", "r2", "r29", "memory"); |
222 | } | 222 | } |
223 | 223 | ||
224 | #define __raw_write_lock(rw) __raw_write_lock_flags(rw, 0) | 224 | #define arch_write_lock(rw) arch_write_lock_flags(rw, 0) |
225 | 225 | ||
226 | #define __raw_write_trylock(rw) \ | 226 | #define arch_write_trylock(rw) \ |
227 | ({ \ | 227 | ({ \ |
228 | register long result; \ | 228 | register long result; \ |
229 | \ | 229 | \ |
@@ -235,7 +235,7 @@ __raw_write_lock_flags(raw_rwlock_t *lock, unsigned long flags) | |||
235 | (result == 0); \ | 235 | (result == 0); \ |
236 | }) | 236 | }) |
237 | 237 | ||
238 | static inline void __raw_write_unlock(raw_rwlock_t *x) | 238 | static inline void arch_write_unlock(arch_rwlock_t *x) |
239 | { | 239 | { |
240 | u8 *y = (u8 *)x; | 240 | u8 *y = (u8 *)x; |
241 | barrier(); | 241 | barrier(); |
@@ -244,9 +244,9 @@ static inline void __raw_write_unlock(raw_rwlock_t *x) | |||
244 | 244 | ||
245 | #else /* !ASM_SUPPORTED */ | 245 | #else /* !ASM_SUPPORTED */ |
246 | 246 | ||
247 | #define __raw_write_lock_flags(l, flags) __raw_write_lock(l) | 247 | #define arch_write_lock_flags(l, flags) arch_write_lock(l) |
248 | 248 | ||
249 | #define __raw_write_lock(l) \ | 249 | #define arch_write_lock(l) \ |
250 | ({ \ | 250 | ({ \ |
251 | __u64 ia64_val, ia64_set_val = ia64_dep_mi(-1, 0, 31, 1); \ | 251 | __u64 ia64_val, ia64_set_val = ia64_dep_mi(-1, 0, 31, 1); \ |
252 | __u32 *ia64_write_lock_ptr = (__u32 *) (l); \ | 252 | __u32 *ia64_write_lock_ptr = (__u32 *) (l); \ |
@@ -257,7 +257,7 @@ static inline void __raw_write_unlock(raw_rwlock_t *x) | |||
257 | } while (ia64_val); \ | 257 | } while (ia64_val); \ |
258 | }) | 258 | }) |
259 | 259 | ||
260 | #define __raw_write_trylock(rw) \ | 260 | #define arch_write_trylock(rw) \ |
261 | ({ \ | 261 | ({ \ |
262 | __u64 ia64_val; \ | 262 | __u64 ia64_val; \ |
263 | __u64 ia64_set_val = ia64_dep_mi(-1, 0, 31,1); \ | 263 | __u64 ia64_set_val = ia64_dep_mi(-1, 0, 31,1); \ |
@@ -265,7 +265,7 @@ static inline void __raw_write_unlock(raw_rwlock_t *x) | |||
265 | (ia64_val == 0); \ | 265 | (ia64_val == 0); \ |
266 | }) | 266 | }) |
267 | 267 | ||
268 | static inline void __raw_write_unlock(raw_rwlock_t *x) | 268 | static inline void arch_write_unlock(arch_rwlock_t *x) |
269 | { | 269 | { |
270 | barrier(); | 270 | barrier(); |
271 | x->write_lock = 0; | 271 | x->write_lock = 0; |
@@ -273,10 +273,10 @@ static inline void __raw_write_unlock(raw_rwlock_t *x) | |||
273 | 273 | ||
274 | #endif /* !ASM_SUPPORTED */ | 274 | #endif /* !ASM_SUPPORTED */ |
275 | 275 | ||
276 | static inline int __raw_read_trylock(raw_rwlock_t *x) | 276 | static inline int arch_read_trylock(arch_rwlock_t *x) |
277 | { | 277 | { |
278 | union { | 278 | union { |
279 | raw_rwlock_t lock; | 279 | arch_rwlock_t lock; |
280 | __u32 word; | 280 | __u32 word; |
281 | } old, new; | 281 | } old, new; |
282 | old.lock = new.lock = *x; | 282 | old.lock = new.lock = *x; |
@@ -285,8 +285,8 @@ static inline int __raw_read_trylock(raw_rwlock_t *x) | |||
285 | return (u32)ia64_cmpxchg4_acq((__u32 *)(x), new.word, old.word) == old.word; | 285 | return (u32)ia64_cmpxchg4_acq((__u32 *)(x), new.word, old.word) == old.word; |
286 | } | 286 | } |
287 | 287 | ||
288 | #define _raw_spin_relax(lock) cpu_relax() | 288 | #define arch_spin_relax(lock) cpu_relax() |
289 | #define _raw_read_relax(lock) cpu_relax() | 289 | #define arch_read_relax(lock) cpu_relax() |
290 | #define _raw_write_relax(lock) cpu_relax() | 290 | #define arch_write_relax(lock) cpu_relax() |
291 | 291 | ||
292 | #endif /* _ASM_IA64_SPINLOCK_H */ | 292 | #endif /* _ASM_IA64_SPINLOCK_H */ |
diff --git a/arch/ia64/include/asm/spinlock_types.h b/arch/ia64/include/asm/spinlock_types.h index 474e46f1ab4a..e2b42a52a6d3 100644 --- a/arch/ia64/include/asm/spinlock_types.h +++ b/arch/ia64/include/asm/spinlock_types.h | |||
@@ -7,15 +7,15 @@ | |||
7 | 7 | ||
8 | typedef struct { | 8 | typedef struct { |
9 | volatile unsigned int lock; | 9 | volatile unsigned int lock; |
10 | } raw_spinlock_t; | 10 | } arch_spinlock_t; |
11 | 11 | ||
12 | #define __RAW_SPIN_LOCK_UNLOCKED { 0 } | 12 | #define __ARCH_SPIN_LOCK_UNLOCKED { 0 } |
13 | 13 | ||
14 | typedef struct { | 14 | typedef struct { |
15 | volatile unsigned int read_counter : 31; | 15 | volatile unsigned int read_counter : 31; |
16 | volatile unsigned int write_lock : 1; | 16 | volatile unsigned int write_lock : 1; |
17 | } raw_rwlock_t; | 17 | } arch_rwlock_t; |
18 | 18 | ||
19 | #define __RAW_RW_LOCK_UNLOCKED { 0, 0 } | 19 | #define __ARCH_RW_LOCK_UNLOCKED { 0, 0 } |
20 | 20 | ||
21 | #endif | 21 | #endif |
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index baec6f00f7f3..40574ae11401 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c | |||
@@ -702,11 +702,23 @@ int __init early_acpi_boot_init(void) | |||
702 | printk(KERN_ERR PREFIX | 702 | printk(KERN_ERR PREFIX |
703 | "Error parsing MADT - no LAPIC entries\n"); | 703 | "Error parsing MADT - no LAPIC entries\n"); |
704 | 704 | ||
705 | #ifdef CONFIG_SMP | ||
706 | if (available_cpus == 0) { | ||
707 | printk(KERN_INFO "ACPI: Found 0 CPUS; assuming 1\n"); | ||
708 | printk(KERN_INFO "CPU 0 (0x%04x)", hard_smp_processor_id()); | ||
709 | smp_boot_data.cpu_phys_id[available_cpus] = | ||
710 | hard_smp_processor_id(); | ||
711 | available_cpus = 1; /* We've got at least one of these, no? */ | ||
712 | } | ||
713 | smp_boot_data.cpu_count = available_cpus; | ||
714 | #endif | ||
715 | /* Make boot-up look pretty */ | ||
716 | printk(KERN_INFO "%d CPUs available, %d CPUs total\n", available_cpus, | ||
717 | total_cpus); | ||
718 | |||
705 | return 0; | 719 | return 0; |
706 | } | 720 | } |
707 | 721 | ||
708 | |||
709 | |||
710 | int __init acpi_boot_init(void) | 722 | int __init acpi_boot_init(void) |
711 | { | 723 | { |
712 | 724 | ||
@@ -769,18 +781,8 @@ int __init acpi_boot_init(void) | |||
769 | if (acpi_table_parse(ACPI_SIG_FADT, acpi_parse_fadt)) | 781 | if (acpi_table_parse(ACPI_SIG_FADT, acpi_parse_fadt)) |
770 | printk(KERN_ERR PREFIX "Can't find FADT\n"); | 782 | printk(KERN_ERR PREFIX "Can't find FADT\n"); |
771 | 783 | ||
784 | #ifdef CONFIG_ACPI_NUMA | ||
772 | #ifdef CONFIG_SMP | 785 | #ifdef CONFIG_SMP |
773 | if (available_cpus == 0) { | ||
774 | printk(KERN_INFO "ACPI: Found 0 CPUS; assuming 1\n"); | ||
775 | printk(KERN_INFO "CPU 0 (0x%04x)", hard_smp_processor_id()); | ||
776 | smp_boot_data.cpu_phys_id[available_cpus] = | ||
777 | hard_smp_processor_id(); | ||
778 | available_cpus = 1; /* We've got at least one of these, no? */ | ||
779 | } | ||
780 | smp_boot_data.cpu_count = available_cpus; | ||
781 | |||
782 | smp_build_cpu_map(); | ||
783 | # ifdef CONFIG_ACPI_NUMA | ||
784 | if (srat_num_cpus == 0) { | 786 | if (srat_num_cpus == 0) { |
785 | int cpu, i = 1; | 787 | int cpu, i = 1; |
786 | for (cpu = 0; cpu < smp_boot_data.cpu_count; cpu++) | 788 | for (cpu = 0; cpu < smp_boot_data.cpu_count; cpu++) |
@@ -789,14 +791,9 @@ int __init acpi_boot_init(void) | |||
789 | node_cpuid[i++].phys_id = | 791 | node_cpuid[i++].phys_id = |
790 | smp_boot_data.cpu_phys_id[cpu]; | 792 | smp_boot_data.cpu_phys_id[cpu]; |
791 | } | 793 | } |
792 | # endif | ||
793 | #endif | 794 | #endif |
794 | #ifdef CONFIG_ACPI_NUMA | ||
795 | build_cpu_to_node_map(); | 795 | build_cpu_to_node_map(); |
796 | #endif | 796 | #endif |
797 | /* Make boot-up look pretty */ | ||
798 | printk(KERN_INFO "%d CPUs available, %d CPUs total\n", available_cpus, | ||
799 | total_cpus); | ||
800 | return 0; | 797 | return 0; |
801 | } | 798 | } |
802 | 799 | ||
diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S index 696eff28a0c4..17a9fba38930 100644 --- a/arch/ia64/kernel/head.S +++ b/arch/ia64/kernel/head.S | |||
@@ -1051,7 +1051,7 @@ END(ia64_delay_loop) | |||
1051 | * intermediate precision so that we can produce a full 64-bit result. | 1051 | * intermediate precision so that we can produce a full 64-bit result. |
1052 | */ | 1052 | */ |
1053 | GLOBAL_ENTRY(ia64_native_sched_clock) | 1053 | GLOBAL_ENTRY(ia64_native_sched_clock) |
1054 | addl r8=THIS_CPU(cpu_info) + IA64_CPUINFO_NSEC_PER_CYC_OFFSET,r0 | 1054 | addl r8=THIS_CPU(ia64_cpu_info) + IA64_CPUINFO_NSEC_PER_CYC_OFFSET,r0 |
1055 | mov.m r9=ar.itc // fetch cycle-counter (35 cyc) | 1055 | mov.m r9=ar.itc // fetch cycle-counter (35 cyc) |
1056 | ;; | 1056 | ;; |
1057 | ldf8 f8=[r8] | 1057 | ldf8 f8=[r8] |
@@ -1077,7 +1077,7 @@ sched_clock = ia64_native_sched_clock | |||
1077 | #ifdef CONFIG_VIRT_CPU_ACCOUNTING | 1077 | #ifdef CONFIG_VIRT_CPU_ACCOUNTING |
1078 | GLOBAL_ENTRY(cycle_to_cputime) | 1078 | GLOBAL_ENTRY(cycle_to_cputime) |
1079 | alloc r16=ar.pfs,1,0,0,0 | 1079 | alloc r16=ar.pfs,1,0,0,0 |
1080 | addl r8=THIS_CPU(cpu_info) + IA64_CPUINFO_NSEC_PER_CYC_OFFSET,r0 | 1080 | addl r8=THIS_CPU(ia64_cpu_info) + IA64_CPUINFO_NSEC_PER_CYC_OFFSET,r0 |
1081 | ;; | 1081 | ;; |
1082 | ldf8 f8=[r8] | 1082 | ldf8 f8=[r8] |
1083 | ;; | 1083 | ;; |
diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c index 14d39e300627..461b99902bf6 100644 --- a/arch/ia64/kernel/ia64_ksyms.c +++ b/arch/ia64/kernel/ia64_ksyms.c | |||
@@ -30,7 +30,7 @@ EXPORT_SYMBOL(max_low_pfn); /* defined by bootmem.c, but not exported by generic | |||
30 | #endif | 30 | #endif |
31 | 31 | ||
32 | #include <asm/processor.h> | 32 | #include <asm/processor.h> |
33 | EXPORT_SYMBOL(per_cpu__cpu_info); | 33 | EXPORT_SYMBOL(per_cpu__ia64_cpu_info); |
34 | #ifdef CONFIG_SMP | 34 | #ifdef CONFIG_SMP |
35 | EXPORT_SYMBOL(per_cpu__local_per_cpu_offset); | 35 | EXPORT_SYMBOL(per_cpu__local_per_cpu_offset); |
36 | #endif | 36 | #endif |
diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c index dab4d393908c..95ac77aeae9b 100644 --- a/arch/ia64/kernel/iosapic.c +++ b/arch/ia64/kernel/iosapic.c | |||
@@ -793,12 +793,12 @@ iosapic_register_intr (unsigned int gsi, | |||
793 | goto unlock_iosapic_lock; | 793 | goto unlock_iosapic_lock; |
794 | } | 794 | } |
795 | 795 | ||
796 | spin_lock(&irq_desc[irq].lock); | 796 | raw_spin_lock(&irq_desc[irq].lock); |
797 | dest = get_target_cpu(gsi, irq); | 797 | dest = get_target_cpu(gsi, irq); |
798 | dmode = choose_dmode(); | 798 | dmode = choose_dmode(); |
799 | err = register_intr(gsi, irq, dmode, polarity, trigger); | 799 | err = register_intr(gsi, irq, dmode, polarity, trigger); |
800 | if (err < 0) { | 800 | if (err < 0) { |
801 | spin_unlock(&irq_desc[irq].lock); | 801 | raw_spin_unlock(&irq_desc[irq].lock); |
802 | irq = err; | 802 | irq = err; |
803 | goto unlock_iosapic_lock; | 803 | goto unlock_iosapic_lock; |
804 | } | 804 | } |
@@ -817,7 +817,7 @@ iosapic_register_intr (unsigned int gsi, | |||
817 | (polarity == IOSAPIC_POL_HIGH ? "high" : "low"), | 817 | (polarity == IOSAPIC_POL_HIGH ? "high" : "low"), |
818 | cpu_logical_id(dest), dest, irq_to_vector(irq)); | 818 | cpu_logical_id(dest), dest, irq_to_vector(irq)); |
819 | 819 | ||
820 | spin_unlock(&irq_desc[irq].lock); | 820 | raw_spin_unlock(&irq_desc[irq].lock); |
821 | unlock_iosapic_lock: | 821 | unlock_iosapic_lock: |
822 | spin_unlock_irqrestore(&iosapic_lock, flags); | 822 | spin_unlock_irqrestore(&iosapic_lock, flags); |
823 | return irq; | 823 | return irq; |
diff --git a/arch/ia64/kernel/irq.c b/arch/ia64/kernel/irq.c index 7d8951229e7c..94ee9d067cbd 100644 --- a/arch/ia64/kernel/irq.c +++ b/arch/ia64/kernel/irq.c | |||
@@ -71,7 +71,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
71 | } | 71 | } |
72 | 72 | ||
73 | if (i < NR_IRQS) { | 73 | if (i < NR_IRQS) { |
74 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 74 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
75 | action = irq_desc[i].action; | 75 | action = irq_desc[i].action; |
76 | if (!action) | 76 | if (!action) |
77 | goto skip; | 77 | goto skip; |
@@ -91,7 +91,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
91 | 91 | ||
92 | seq_putc(p, '\n'); | 92 | seq_putc(p, '\n'); |
93 | skip: | 93 | skip: |
94 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 94 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
95 | } else if (i == NR_IRQS) | 95 | } else if (i == NR_IRQS) |
96 | seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); | 96 | seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); |
97 | return 0; | 97 | return 0; |
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c index dd9d7b54f1a1..70e4bad23432 100644 --- a/arch/ia64/kernel/irq_ia64.c +++ b/arch/ia64/kernel/irq_ia64.c | |||
@@ -345,7 +345,7 @@ static irqreturn_t smp_irq_move_cleanup_interrupt(int irq, void *dev_id) | |||
345 | 345 | ||
346 | desc = irq_desc + irq; | 346 | desc = irq_desc + irq; |
347 | cfg = irq_cfg + irq; | 347 | cfg = irq_cfg + irq; |
348 | spin_lock(&desc->lock); | 348 | raw_spin_lock(&desc->lock); |
349 | if (!cfg->move_cleanup_count) | 349 | if (!cfg->move_cleanup_count) |
350 | goto unlock; | 350 | goto unlock; |
351 | 351 | ||
@@ -358,7 +358,7 @@ static irqreturn_t smp_irq_move_cleanup_interrupt(int irq, void *dev_id) | |||
358 | spin_unlock_irqrestore(&vector_lock, flags); | 358 | spin_unlock_irqrestore(&vector_lock, flags); |
359 | cfg->move_cleanup_count--; | 359 | cfg->move_cleanup_count--; |
360 | unlock: | 360 | unlock: |
361 | spin_unlock(&desc->lock); | 361 | raw_spin_unlock(&desc->lock); |
362 | } | 362 | } |
363 | return IRQ_HANDLED; | 363 | return IRQ_HANDLED; |
364 | } | 364 | } |
diff --git a/arch/ia64/kernel/mca_asm.S b/arch/ia64/kernel/mca_asm.S index 7461d2573d41..d5bdf9de36b6 100644 --- a/arch/ia64/kernel/mca_asm.S +++ b/arch/ia64/kernel/mca_asm.S | |||
@@ -59,7 +59,7 @@ | |||
59 | ia64_do_tlb_purge: | 59 | ia64_do_tlb_purge: |
60 | #define O(member) IA64_CPUINFO_##member##_OFFSET | 60 | #define O(member) IA64_CPUINFO_##member##_OFFSET |
61 | 61 | ||
62 | GET_THIS_PADDR(r2, cpu_info) // load phys addr of cpu_info into r2 | 62 | GET_THIS_PADDR(r2, ia64_cpu_info) // load phys addr of cpu_info into r2 |
63 | ;; | 63 | ;; |
64 | addl r17=O(PTCE_STRIDE),r2 | 64 | addl r17=O(PTCE_STRIDE),r2 |
65 | addl r2=O(PTCE_BASE),r2 | 65 | addl r2=O(PTCE_BASE),r2 |
diff --git a/arch/ia64/kernel/relocate_kernel.S b/arch/ia64/kernel/relocate_kernel.S index 32f6fc131fbe..c370e02f0061 100644 --- a/arch/ia64/kernel/relocate_kernel.S +++ b/arch/ia64/kernel/relocate_kernel.S | |||
@@ -61,7 +61,7 @@ GLOBAL_ENTRY(relocate_new_kernel) | |||
61 | 61 | ||
62 | // purge all TC entries | 62 | // purge all TC entries |
63 | #define O(member) IA64_CPUINFO_##member##_OFFSET | 63 | #define O(member) IA64_CPUINFO_##member##_OFFSET |
64 | GET_THIS_PADDR(r2, cpu_info) // load phys addr of cpu_info into r2 | 64 | GET_THIS_PADDR(r2, ia64_cpu_info) // load phys addr of cpu_info into r2 |
65 | ;; | 65 | ;; |
66 | addl r17=O(PTCE_STRIDE),r2 | 66 | addl r17=O(PTCE_STRIDE),r2 |
67 | addl r2=O(PTCE_BASE),r2 | 67 | addl r2=O(PTCE_BASE),r2 |
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index 1de86c96801d..a1ea87919777 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -74,7 +74,7 @@ unsigned long __per_cpu_offset[NR_CPUS]; | |||
74 | EXPORT_SYMBOL(__per_cpu_offset); | 74 | EXPORT_SYMBOL(__per_cpu_offset); |
75 | #endif | 75 | #endif |
76 | 76 | ||
77 | DEFINE_PER_CPU(struct cpuinfo_ia64, cpu_info); | 77 | DEFINE_PER_CPU(struct cpuinfo_ia64, ia64_cpu_info); |
78 | DEFINE_PER_CPU(unsigned long, local_per_cpu_offset); | 78 | DEFINE_PER_CPU(unsigned long, local_per_cpu_offset); |
79 | unsigned long ia64_cycles_per_usec; | 79 | unsigned long ia64_cycles_per_usec; |
80 | struct ia64_boot_param *ia64_boot_param; | 80 | struct ia64_boot_param *ia64_boot_param; |
@@ -566,19 +566,18 @@ setup_arch (char **cmdline_p) | |||
566 | early_acpi_boot_init(); | 566 | early_acpi_boot_init(); |
567 | # ifdef CONFIG_ACPI_NUMA | 567 | # ifdef CONFIG_ACPI_NUMA |
568 | acpi_numa_init(); | 568 | acpi_numa_init(); |
569 | #ifdef CONFIG_ACPI_HOTPLUG_CPU | 569 | # ifdef CONFIG_ACPI_HOTPLUG_CPU |
570 | prefill_possible_map(); | 570 | prefill_possible_map(); |
571 | #endif | 571 | # endif |
572 | per_cpu_scan_finalize((cpus_weight(early_cpu_possible_map) == 0 ? | 572 | per_cpu_scan_finalize((cpus_weight(early_cpu_possible_map) == 0 ? |
573 | 32 : cpus_weight(early_cpu_possible_map)), | 573 | 32 : cpus_weight(early_cpu_possible_map)), |
574 | additional_cpus > 0 ? additional_cpus : 0); | 574 | additional_cpus > 0 ? additional_cpus : 0); |
575 | # endif | 575 | # endif |
576 | #else | ||
577 | # ifdef CONFIG_SMP | ||
578 | smp_build_cpu_map(); /* happens, e.g., with the Ski simulator */ | ||
579 | # endif | ||
580 | #endif /* CONFIG_APCI_BOOT */ | 576 | #endif /* CONFIG_APCI_BOOT */ |
581 | 577 | ||
578 | #ifdef CONFIG_SMP | ||
579 | smp_build_cpu_map(); | ||
580 | #endif | ||
582 | find_memory(); | 581 | find_memory(); |
583 | 582 | ||
584 | /* process SAL system table: */ | 583 | /* process SAL system table: */ |
@@ -856,18 +855,6 @@ identify_cpu (struct cpuinfo_ia64 *c) | |||
856 | } | 855 | } |
857 | 856 | ||
858 | /* | 857 | /* |
859 | * In UP configuration, setup_per_cpu_areas() is defined in | ||
860 | * include/linux/percpu.h | ||
861 | */ | ||
862 | #ifdef CONFIG_SMP | ||
863 | void __init | ||
864 | setup_per_cpu_areas (void) | ||
865 | { | ||
866 | /* start_kernel() requires this... */ | ||
867 | } | ||
868 | #endif | ||
869 | |||
870 | /* | ||
871 | * Do the following calculations: | 858 | * Do the following calculations: |
872 | * | 859 | * |
873 | * 1. the max. cache line size. | 860 | * 1. the max. cache line size. |
@@ -980,7 +967,7 @@ cpu_init (void) | |||
980 | * depends on the data returned by identify_cpu(). We break the dependency by | 967 | * depends on the data returned by identify_cpu(). We break the dependency by |
981 | * accessing cpu_data() through the canonical per-CPU address. | 968 | * accessing cpu_data() through the canonical per-CPU address. |
982 | */ | 969 | */ |
983 | cpu_info = cpu_data + ((char *) &__ia64_per_cpu_var(cpu_info) - __per_cpu_start); | 970 | cpu_info = cpu_data + ((char *) &__ia64_per_cpu_var(ia64_cpu_info) - __per_cpu_start); |
984 | identify_cpu(cpu_info); | 971 | identify_cpu(cpu_info); |
985 | 972 | ||
986 | #ifdef CONFIG_MCKINLEY | 973 | #ifdef CONFIG_MCKINLEY |
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S index 0a0c77b2c988..1295ba327f6f 100644 --- a/arch/ia64/kernel/vmlinux.lds.S +++ b/arch/ia64/kernel/vmlinux.lds.S | |||
@@ -166,6 +166,12 @@ SECTIONS | |||
166 | } | 166 | } |
167 | #endif | 167 | #endif |
168 | 168 | ||
169 | #ifdef CONFIG_SMP | ||
170 | . = ALIGN(PERCPU_PAGE_SIZE); | ||
171 | __cpu0_per_cpu = .; | ||
172 | . = . + PERCPU_PAGE_SIZE; /* cpu0 per-cpu space */ | ||
173 | #endif | ||
174 | |||
169 | . = ALIGN(PAGE_SIZE); | 175 | . = ALIGN(PAGE_SIZE); |
170 | __init_end = .; | 176 | __init_end = .; |
171 | 177 | ||
@@ -198,11 +204,6 @@ SECTIONS | |||
198 | data : { } :data | 204 | data : { } :data |
199 | .data : AT(ADDR(.data) - LOAD_OFFSET) | 205 | .data : AT(ADDR(.data) - LOAD_OFFSET) |
200 | { | 206 | { |
201 | #ifdef CONFIG_SMP | ||
202 | . = ALIGN(PERCPU_PAGE_SIZE); | ||
203 | __cpu0_per_cpu = .; | ||
204 | . = . + PERCPU_PAGE_SIZE; /* cpu0 per-cpu space */ | ||
205 | #endif | ||
206 | INIT_TASK_DATA(PAGE_SIZE) | 207 | INIT_TASK_DATA(PAGE_SIZE) |
207 | CACHELINE_ALIGNED_DATA(SMP_CACHE_BYTES) | 208 | CACHELINE_ALIGNED_DATA(SMP_CACHE_BYTES) |
208 | READ_MOSTLY_DATA(SMP_CACHE_BYTES) | 209 | READ_MOSTLY_DATA(SMP_CACHE_BYTES) |
diff --git a/arch/ia64/mm/contig.c b/arch/ia64/mm/contig.c index 2f724d2bf299..54bf54059811 100644 --- a/arch/ia64/mm/contig.c +++ b/arch/ia64/mm/contig.c | |||
@@ -154,38 +154,99 @@ static void *cpu_data; | |||
154 | void * __cpuinit | 154 | void * __cpuinit |
155 | per_cpu_init (void) | 155 | per_cpu_init (void) |
156 | { | 156 | { |
157 | int cpu; | 157 | static bool first_time = true; |
158 | static int first_time=1; | 158 | void *cpu0_data = __cpu0_per_cpu; |
159 | unsigned int cpu; | ||
160 | |||
161 | if (!first_time) | ||
162 | goto skip; | ||
163 | first_time = false; | ||
159 | 164 | ||
160 | /* | 165 | /* |
161 | * get_free_pages() cannot be used before cpu_init() done. BSP | 166 | * get_free_pages() cannot be used before cpu_init() done. |
162 | * allocates "NR_CPUS" pages for all CPUs to avoid that AP calls | 167 | * BSP allocates PERCPU_PAGE_SIZE bytes for all possible CPUs |
163 | * get_zeroed_page(). | 168 | * to avoid that AP calls get_zeroed_page(). |
164 | */ | 169 | */ |
165 | if (first_time) { | 170 | for_each_possible_cpu(cpu) { |
166 | void *cpu0_data = __cpu0_per_cpu; | 171 | void *src = cpu == 0 ? cpu0_data : __phys_per_cpu_start; |
167 | 172 | ||
168 | first_time=0; | 173 | memcpy(cpu_data, src, __per_cpu_end - __per_cpu_start); |
174 | __per_cpu_offset[cpu] = (char *)cpu_data - __per_cpu_start; | ||
175 | per_cpu(local_per_cpu_offset, cpu) = __per_cpu_offset[cpu]; | ||
169 | 176 | ||
170 | __per_cpu_offset[0] = (char *) cpu0_data - __per_cpu_start; | 177 | /* |
171 | per_cpu(local_per_cpu_offset, 0) = __per_cpu_offset[0]; | 178 | * percpu area for cpu0 is moved from the __init area |
179 | * which is setup by head.S and used till this point. | ||
180 | * Update ar.k3. This move is ensures that percpu | ||
181 | * area for cpu0 is on the correct node and its | ||
182 | * virtual address isn't insanely far from other | ||
183 | * percpu areas which is important for congruent | ||
184 | * percpu allocator. | ||
185 | */ | ||
186 | if (cpu == 0) | ||
187 | ia64_set_kr(IA64_KR_PER_CPU_DATA, __pa(cpu_data) - | ||
188 | (unsigned long)__per_cpu_start); | ||
172 | 189 | ||
173 | for (cpu = 1; cpu < NR_CPUS; cpu++) { | 190 | cpu_data += PERCPU_PAGE_SIZE; |
174 | memcpy(cpu_data, __phys_per_cpu_start, __per_cpu_end - __per_cpu_start); | ||
175 | __per_cpu_offset[cpu] = (char *) cpu_data - __per_cpu_start; | ||
176 | cpu_data += PERCPU_PAGE_SIZE; | ||
177 | per_cpu(local_per_cpu_offset, cpu) = __per_cpu_offset[cpu]; | ||
178 | } | ||
179 | } | 191 | } |
192 | skip: | ||
180 | return __per_cpu_start + __per_cpu_offset[smp_processor_id()]; | 193 | return __per_cpu_start + __per_cpu_offset[smp_processor_id()]; |
181 | } | 194 | } |
182 | 195 | ||
183 | static inline void | 196 | static inline void |
184 | alloc_per_cpu_data(void) | 197 | alloc_per_cpu_data(void) |
185 | { | 198 | { |
186 | cpu_data = __alloc_bootmem(PERCPU_PAGE_SIZE * NR_CPUS-1, | 199 | cpu_data = __alloc_bootmem(PERCPU_PAGE_SIZE * num_possible_cpus(), |
187 | PERCPU_PAGE_SIZE, __pa(MAX_DMA_ADDRESS)); | 200 | PERCPU_PAGE_SIZE, __pa(MAX_DMA_ADDRESS)); |
188 | } | 201 | } |
202 | |||
203 | /** | ||
204 | * setup_per_cpu_areas - setup percpu areas | ||
205 | * | ||
206 | * Arch code has already allocated and initialized percpu areas. All | ||
207 | * this function has to do is to teach the determined layout to the | ||
208 | * dynamic percpu allocator, which happens to be more complex than | ||
209 | * creating whole new ones using helpers. | ||
210 | */ | ||
211 | void __init | ||
212 | setup_per_cpu_areas(void) | ||
213 | { | ||
214 | struct pcpu_alloc_info *ai; | ||
215 | struct pcpu_group_info *gi; | ||
216 | unsigned int cpu; | ||
217 | ssize_t static_size, reserved_size, dyn_size; | ||
218 | int rc; | ||
219 | |||
220 | ai = pcpu_alloc_alloc_info(1, num_possible_cpus()); | ||
221 | if (!ai) | ||
222 | panic("failed to allocate pcpu_alloc_info"); | ||
223 | gi = &ai->groups[0]; | ||
224 | |||
225 | /* units are assigned consecutively to possible cpus */ | ||
226 | for_each_possible_cpu(cpu) | ||
227 | gi->cpu_map[gi->nr_units++] = cpu; | ||
228 | |||
229 | /* set parameters */ | ||
230 | static_size = __per_cpu_end - __per_cpu_start; | ||
231 | reserved_size = PERCPU_MODULE_RESERVE; | ||
232 | dyn_size = PERCPU_PAGE_SIZE - static_size - reserved_size; | ||
233 | if (dyn_size < 0) | ||
234 | panic("percpu area overflow static=%zd reserved=%zd\n", | ||
235 | static_size, reserved_size); | ||
236 | |||
237 | ai->static_size = static_size; | ||
238 | ai->reserved_size = reserved_size; | ||
239 | ai->dyn_size = dyn_size; | ||
240 | ai->unit_size = PERCPU_PAGE_SIZE; | ||
241 | ai->atom_size = PAGE_SIZE; | ||
242 | ai->alloc_size = PERCPU_PAGE_SIZE; | ||
243 | |||
244 | rc = pcpu_setup_first_chunk(ai, __per_cpu_start + __per_cpu_offset[0]); | ||
245 | if (rc) | ||
246 | panic("failed to setup percpu area (err=%d)", rc); | ||
247 | |||
248 | pcpu_free_alloc_info(ai); | ||
249 | } | ||
189 | #else | 250 | #else |
190 | #define alloc_per_cpu_data() do { } while (0) | 251 | #define alloc_per_cpu_data() do { } while (0) |
191 | #endif /* CONFIG_SMP */ | 252 | #endif /* CONFIG_SMP */ |
@@ -270,8 +331,8 @@ paging_init (void) | |||
270 | 331 | ||
271 | map_size = PAGE_ALIGN(ALIGN(max_low_pfn, MAX_ORDER_NR_PAGES) * | 332 | map_size = PAGE_ALIGN(ALIGN(max_low_pfn, MAX_ORDER_NR_PAGES) * |
272 | sizeof(struct page)); | 333 | sizeof(struct page)); |
273 | vmalloc_end -= map_size; | 334 | VMALLOC_END -= map_size; |
274 | vmem_map = (struct page *) vmalloc_end; | 335 | vmem_map = (struct page *) VMALLOC_END; |
275 | efi_memmap_walk(create_mem_map_page_table, NULL); | 336 | efi_memmap_walk(create_mem_map_page_table, NULL); |
276 | 337 | ||
277 | /* | 338 | /* |
diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c index d85ba98d9008..19c4b2195dce 100644 --- a/arch/ia64/mm/discontig.c +++ b/arch/ia64/mm/discontig.c | |||
@@ -143,22 +143,120 @@ static void *per_cpu_node_setup(void *cpu_data, int node) | |||
143 | int cpu; | 143 | int cpu; |
144 | 144 | ||
145 | for_each_possible_early_cpu(cpu) { | 145 | for_each_possible_early_cpu(cpu) { |
146 | if (cpu == 0) { | 146 | void *src = cpu == 0 ? __cpu0_per_cpu : __phys_per_cpu_start; |
147 | void *cpu0_data = __cpu0_per_cpu; | 147 | |
148 | __per_cpu_offset[cpu] = (char*)cpu0_data - | 148 | if (node != node_cpuid[cpu].nid) |
149 | __per_cpu_start; | 149 | continue; |
150 | } else if (node == node_cpuid[cpu].nid) { | 150 | |
151 | memcpy(__va(cpu_data), __phys_per_cpu_start, | 151 | memcpy(__va(cpu_data), src, __per_cpu_end - __per_cpu_start); |
152 | __per_cpu_end - __per_cpu_start); | 152 | __per_cpu_offset[cpu] = (char *)__va(cpu_data) - |
153 | __per_cpu_offset[cpu] = (char*)__va(cpu_data) - | 153 | __per_cpu_start; |
154 | __per_cpu_start; | 154 | |
155 | cpu_data += PERCPU_PAGE_SIZE; | 155 | /* |
156 | } | 156 | * percpu area for cpu0 is moved from the __init area |
157 | * which is setup by head.S and used till this point. | ||
158 | * Update ar.k3. This move is ensures that percpu | ||
159 | * area for cpu0 is on the correct node and its | ||
160 | * virtual address isn't insanely far from other | ||
161 | * percpu areas which is important for congruent | ||
162 | * percpu allocator. | ||
163 | */ | ||
164 | if (cpu == 0) | ||
165 | ia64_set_kr(IA64_KR_PER_CPU_DATA, | ||
166 | (unsigned long)cpu_data - | ||
167 | (unsigned long)__per_cpu_start); | ||
168 | |||
169 | cpu_data += PERCPU_PAGE_SIZE; | ||
157 | } | 170 | } |
158 | #endif | 171 | #endif |
159 | return cpu_data; | 172 | return cpu_data; |
160 | } | 173 | } |
161 | 174 | ||
175 | #ifdef CONFIG_SMP | ||
176 | /** | ||
177 | * setup_per_cpu_areas - setup percpu areas | ||
178 | * | ||
179 | * Arch code has already allocated and initialized percpu areas. All | ||
180 | * this function has to do is to teach the determined layout to the | ||
181 | * dynamic percpu allocator, which happens to be more complex than | ||
182 | * creating whole new ones using helpers. | ||
183 | */ | ||
184 | void __init setup_per_cpu_areas(void) | ||
185 | { | ||
186 | struct pcpu_alloc_info *ai; | ||
187 | struct pcpu_group_info *uninitialized_var(gi); | ||
188 | unsigned int *cpu_map; | ||
189 | void *base; | ||
190 | unsigned long base_offset; | ||
191 | unsigned int cpu; | ||
192 | ssize_t static_size, reserved_size, dyn_size; | ||
193 | int node, prev_node, unit, nr_units, rc; | ||
194 | |||
195 | ai = pcpu_alloc_alloc_info(MAX_NUMNODES, nr_cpu_ids); | ||
196 | if (!ai) | ||
197 | panic("failed to allocate pcpu_alloc_info"); | ||
198 | cpu_map = ai->groups[0].cpu_map; | ||
199 | |||
200 | /* determine base */ | ||
201 | base = (void *)ULONG_MAX; | ||
202 | for_each_possible_cpu(cpu) | ||
203 | base = min(base, | ||
204 | (void *)(__per_cpu_offset[cpu] + __per_cpu_start)); | ||
205 | base_offset = (void *)__per_cpu_start - base; | ||
206 | |||
207 | /* build cpu_map, units are grouped by node */ | ||
208 | unit = 0; | ||
209 | for_each_node(node) | ||
210 | for_each_possible_cpu(cpu) | ||
211 | if (node == node_cpuid[cpu].nid) | ||
212 | cpu_map[unit++] = cpu; | ||
213 | nr_units = unit; | ||
214 | |||
215 | /* set basic parameters */ | ||
216 | static_size = __per_cpu_end - __per_cpu_start; | ||
217 | reserved_size = PERCPU_MODULE_RESERVE; | ||
218 | dyn_size = PERCPU_PAGE_SIZE - static_size - reserved_size; | ||
219 | if (dyn_size < 0) | ||
220 | panic("percpu area overflow static=%zd reserved=%zd\n", | ||
221 | static_size, reserved_size); | ||
222 | |||
223 | ai->static_size = static_size; | ||
224 | ai->reserved_size = reserved_size; | ||
225 | ai->dyn_size = dyn_size; | ||
226 | ai->unit_size = PERCPU_PAGE_SIZE; | ||
227 | ai->atom_size = PAGE_SIZE; | ||
228 | ai->alloc_size = PERCPU_PAGE_SIZE; | ||
229 | |||
230 | /* | ||
231 | * CPUs are put into groups according to node. Walk cpu_map | ||
232 | * and create new groups at node boundaries. | ||
233 | */ | ||
234 | prev_node = -1; | ||
235 | ai->nr_groups = 0; | ||
236 | for (unit = 0; unit < nr_units; unit++) { | ||
237 | cpu = cpu_map[unit]; | ||
238 | node = node_cpuid[cpu].nid; | ||
239 | |||
240 | if (node == prev_node) { | ||
241 | gi->nr_units++; | ||
242 | continue; | ||
243 | } | ||
244 | prev_node = node; | ||
245 | |||
246 | gi = &ai->groups[ai->nr_groups++]; | ||
247 | gi->nr_units = 1; | ||
248 | gi->base_offset = __per_cpu_offset[cpu] + base_offset; | ||
249 | gi->cpu_map = &cpu_map[unit]; | ||
250 | } | ||
251 | |||
252 | rc = pcpu_setup_first_chunk(ai, base); | ||
253 | if (rc) | ||
254 | panic("failed to setup percpu area (err=%d)", rc); | ||
255 | |||
256 | pcpu_free_alloc_info(ai); | ||
257 | } | ||
258 | #endif | ||
259 | |||
162 | /** | 260 | /** |
163 | * fill_pernode - initialize pernode data. | 261 | * fill_pernode - initialize pernode data. |
164 | * @node: the node id. | 262 | * @node: the node id. |
@@ -352,7 +450,8 @@ static void __init initialize_pernode_data(void) | |||
352 | /* Set the node_data pointer for each per-cpu struct */ | 450 | /* Set the node_data pointer for each per-cpu struct */ |
353 | for_each_possible_early_cpu(cpu) { | 451 | for_each_possible_early_cpu(cpu) { |
354 | node = node_cpuid[cpu].nid; | 452 | node = node_cpuid[cpu].nid; |
355 | per_cpu(cpu_info, cpu).node_data = mem_data[node].node_data; | 453 | per_cpu(ia64_cpu_info, cpu).node_data = |
454 | mem_data[node].node_data; | ||
356 | } | 455 | } |
357 | #else | 456 | #else |
358 | { | 457 | { |
@@ -360,7 +459,7 @@ static void __init initialize_pernode_data(void) | |||
360 | cpu = 0; | 459 | cpu = 0; |
361 | node = node_cpuid[cpu].nid; | 460 | node = node_cpuid[cpu].nid; |
362 | cpu0_cpu_info = (struct cpuinfo_ia64 *)(__phys_per_cpu_start + | 461 | cpu0_cpu_info = (struct cpuinfo_ia64 *)(__phys_per_cpu_start + |
363 | ((char *)&per_cpu__cpu_info - __per_cpu_start)); | 462 | ((char *)&per_cpu__ia64_cpu_info - __per_cpu_start)); |
364 | cpu0_cpu_info->node_data = mem_data[node].node_data; | 463 | cpu0_cpu_info->node_data = mem_data[node].node_data; |
365 | } | 464 | } |
366 | #endif /* CONFIG_SMP */ | 465 | #endif /* CONFIG_SMP */ |
@@ -666,9 +765,9 @@ void __init paging_init(void) | |||
666 | sparse_init(); | 765 | sparse_init(); |
667 | 766 | ||
668 | #ifdef CONFIG_VIRTUAL_MEM_MAP | 767 | #ifdef CONFIG_VIRTUAL_MEM_MAP |
669 | vmalloc_end -= PAGE_ALIGN(ALIGN(max_low_pfn, MAX_ORDER_NR_PAGES) * | 768 | VMALLOC_END -= PAGE_ALIGN(ALIGN(max_low_pfn, MAX_ORDER_NR_PAGES) * |
670 | sizeof(struct page)); | 769 | sizeof(struct page)); |
671 | vmem_map = (struct page *) vmalloc_end; | 770 | vmem_map = (struct page *) VMALLOC_END; |
672 | efi_memmap_walk(create_mem_map_page_table, NULL); | 771 | efi_memmap_walk(create_mem_map_page_table, NULL); |
673 | printk("Virtual mem_map starts at 0x%p\n", vmem_map); | 772 | printk("Virtual mem_map starts at 0x%p\n", vmem_map); |
674 | #endif | 773 | #endif |
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c index 1857766a63c1..b9609c69343a 100644 --- a/arch/ia64/mm/init.c +++ b/arch/ia64/mm/init.c | |||
@@ -44,8 +44,8 @@ extern void ia64_tlb_init (void); | |||
44 | unsigned long MAX_DMA_ADDRESS = PAGE_OFFSET + 0x100000000UL; | 44 | unsigned long MAX_DMA_ADDRESS = PAGE_OFFSET + 0x100000000UL; |
45 | 45 | ||
46 | #ifdef CONFIG_VIRTUAL_MEM_MAP | 46 | #ifdef CONFIG_VIRTUAL_MEM_MAP |
47 | unsigned long vmalloc_end = VMALLOC_END_INIT; | 47 | unsigned long VMALLOC_END = VMALLOC_END_INIT; |
48 | EXPORT_SYMBOL(vmalloc_end); | 48 | EXPORT_SYMBOL(VMALLOC_END); |
49 | struct page *vmem_map; | 49 | struct page *vmem_map; |
50 | EXPORT_SYMBOL(vmem_map); | 50 | EXPORT_SYMBOL(vmem_map); |
51 | #endif | 51 | #endif |
diff --git a/arch/ia64/sn/kernel/sn2/sn2_smp.c b/arch/ia64/sn/kernel/sn2/sn2_smp.c index 1176506b2bae..e884ba4e031d 100644 --- a/arch/ia64/sn/kernel/sn2/sn2_smp.c +++ b/arch/ia64/sn/kernel/sn2/sn2_smp.c | |||
@@ -496,13 +496,13 @@ static int sn2_ptc_seq_show(struct seq_file *file, void *data) | |||
496 | seq_printf(file, "cpu %d %ld %ld %ld %ld %ld %ld %ld %ld %ld %ld %ld %ld\n", cpu, stat->ptc_l, | 496 | seq_printf(file, "cpu %d %ld %ld %ld %ld %ld %ld %ld %ld %ld %ld %ld %ld\n", cpu, stat->ptc_l, |
497 | stat->change_rid, stat->shub_ptc_flushes, stat->nodes_flushed, | 497 | stat->change_rid, stat->shub_ptc_flushes, stat->nodes_flushed, |
498 | stat->deadlocks, | 498 | stat->deadlocks, |
499 | 1000 * stat->lock_itc_clocks / per_cpu(cpu_info, cpu).cyc_per_usec, | 499 | 1000 * stat->lock_itc_clocks / per_cpu(ia64_cpu_info, cpu).cyc_per_usec, |
500 | 1000 * stat->shub_itc_clocks / per_cpu(cpu_info, cpu).cyc_per_usec, | 500 | 1000 * stat->shub_itc_clocks / per_cpu(ia64_cpu_info, cpu).cyc_per_usec, |
501 | 1000 * stat->shub_itc_clocks_max / per_cpu(cpu_info, cpu).cyc_per_usec, | 501 | 1000 * stat->shub_itc_clocks_max / per_cpu(ia64_cpu_info, cpu).cyc_per_usec, |
502 | stat->shub_ptc_flushes_not_my_mm, | 502 | stat->shub_ptc_flushes_not_my_mm, |
503 | stat->deadlocks2, | 503 | stat->deadlocks2, |
504 | stat->shub_ipi_flushes, | 504 | stat->shub_ipi_flushes, |
505 | 1000 * stat->shub_ipi_flushes_itc_clocks / per_cpu(cpu_info, cpu).cyc_per_usec); | 505 | 1000 * stat->shub_ipi_flushes_itc_clocks / per_cpu(ia64_cpu_info, cpu).cyc_per_usec); |
506 | } | 506 | } |
507 | return 0; | 507 | return 0; |
508 | } | 508 | } |
diff --git a/arch/ia64/xen/irq_xen.c b/arch/ia64/xen/irq_xen.c index f042e192d2fe..a3fb7cf9ae1d 100644 --- a/arch/ia64/xen/irq_xen.c +++ b/arch/ia64/xen/irq_xen.c | |||
@@ -63,19 +63,19 @@ xen_free_irq_vector(int vector) | |||
63 | } | 63 | } |
64 | 64 | ||
65 | 65 | ||
66 | static DEFINE_PER_CPU(int, timer_irq) = -1; | 66 | static DEFINE_PER_CPU(int, xen_timer_irq) = -1; |
67 | static DEFINE_PER_CPU(int, ipi_irq) = -1; | 67 | static DEFINE_PER_CPU(int, xen_ipi_irq) = -1; |
68 | static DEFINE_PER_CPU(int, resched_irq) = -1; | 68 | static DEFINE_PER_CPU(int, xen_resched_irq) = -1; |
69 | static DEFINE_PER_CPU(int, cmc_irq) = -1; | 69 | static DEFINE_PER_CPU(int, xen_cmc_irq) = -1; |
70 | static DEFINE_PER_CPU(int, cmcp_irq) = -1; | 70 | static DEFINE_PER_CPU(int, xen_cmcp_irq) = -1; |
71 | static DEFINE_PER_CPU(int, cpep_irq) = -1; | 71 | static DEFINE_PER_CPU(int, xen_cpep_irq) = -1; |
72 | #define NAME_SIZE 15 | 72 | #define NAME_SIZE 15 |
73 | static DEFINE_PER_CPU(char[NAME_SIZE], timer_name); | 73 | static DEFINE_PER_CPU(char[NAME_SIZE], xen_timer_name); |
74 | static DEFINE_PER_CPU(char[NAME_SIZE], ipi_name); | 74 | static DEFINE_PER_CPU(char[NAME_SIZE], xen_ipi_name); |
75 | static DEFINE_PER_CPU(char[NAME_SIZE], resched_name); | 75 | static DEFINE_PER_CPU(char[NAME_SIZE], xen_resched_name); |
76 | static DEFINE_PER_CPU(char[NAME_SIZE], cmc_name); | 76 | static DEFINE_PER_CPU(char[NAME_SIZE], xen_cmc_name); |
77 | static DEFINE_PER_CPU(char[NAME_SIZE], cmcp_name); | 77 | static DEFINE_PER_CPU(char[NAME_SIZE], xen_cmcp_name); |
78 | static DEFINE_PER_CPU(char[NAME_SIZE], cpep_name); | 78 | static DEFINE_PER_CPU(char[NAME_SIZE], xen_cpep_name); |
79 | #undef NAME_SIZE | 79 | #undef NAME_SIZE |
80 | 80 | ||
81 | struct saved_irq { | 81 | struct saved_irq { |
@@ -144,64 +144,64 @@ __xen_register_percpu_irq(unsigned int cpu, unsigned int vec, | |||
144 | if (xen_slab_ready) { | 144 | if (xen_slab_ready) { |
145 | switch (vec) { | 145 | switch (vec) { |
146 | case IA64_TIMER_VECTOR: | 146 | case IA64_TIMER_VECTOR: |
147 | snprintf(per_cpu(timer_name, cpu), | 147 | snprintf(per_cpu(xen_timer_name, cpu), |
148 | sizeof(per_cpu(timer_name, cpu)), | 148 | sizeof(per_cpu(xen_timer_name, cpu)), |
149 | "%s%d", action->name, cpu); | 149 | "%s%d", action->name, cpu); |
150 | irq = bind_virq_to_irqhandler(VIRQ_ITC, cpu, | 150 | irq = bind_virq_to_irqhandler(VIRQ_ITC, cpu, |
151 | action->handler, action->flags, | 151 | action->handler, action->flags, |
152 | per_cpu(timer_name, cpu), action->dev_id); | 152 | per_cpu(xen_timer_name, cpu), action->dev_id); |
153 | per_cpu(timer_irq, cpu) = irq; | 153 | per_cpu(xen_timer_irq, cpu) = irq; |
154 | break; | 154 | break; |
155 | case IA64_IPI_RESCHEDULE: | 155 | case IA64_IPI_RESCHEDULE: |
156 | snprintf(per_cpu(resched_name, cpu), | 156 | snprintf(per_cpu(xen_resched_name, cpu), |
157 | sizeof(per_cpu(resched_name, cpu)), | 157 | sizeof(per_cpu(xen_resched_name, cpu)), |
158 | "%s%d", action->name, cpu); | 158 | "%s%d", action->name, cpu); |
159 | irq = bind_ipi_to_irqhandler(XEN_RESCHEDULE_VECTOR, cpu, | 159 | irq = bind_ipi_to_irqhandler(XEN_RESCHEDULE_VECTOR, cpu, |
160 | action->handler, action->flags, | 160 | action->handler, action->flags, |
161 | per_cpu(resched_name, cpu), action->dev_id); | 161 | per_cpu(xen_resched_name, cpu), action->dev_id); |
162 | per_cpu(resched_irq, cpu) = irq; | 162 | per_cpu(xen_resched_irq, cpu) = irq; |
163 | break; | 163 | break; |
164 | case IA64_IPI_VECTOR: | 164 | case IA64_IPI_VECTOR: |
165 | snprintf(per_cpu(ipi_name, cpu), | 165 | snprintf(per_cpu(xen_ipi_name, cpu), |
166 | sizeof(per_cpu(ipi_name, cpu)), | 166 | sizeof(per_cpu(xen_ipi_name, cpu)), |
167 | "%s%d", action->name, cpu); | 167 | "%s%d", action->name, cpu); |
168 | irq = bind_ipi_to_irqhandler(XEN_IPI_VECTOR, cpu, | 168 | irq = bind_ipi_to_irqhandler(XEN_IPI_VECTOR, cpu, |
169 | action->handler, action->flags, | 169 | action->handler, action->flags, |
170 | per_cpu(ipi_name, cpu), action->dev_id); | 170 | per_cpu(xen_ipi_name, cpu), action->dev_id); |
171 | per_cpu(ipi_irq, cpu) = irq; | 171 | per_cpu(xen_ipi_irq, cpu) = irq; |
172 | break; | 172 | break; |
173 | case IA64_CMC_VECTOR: | 173 | case IA64_CMC_VECTOR: |
174 | snprintf(per_cpu(cmc_name, cpu), | 174 | snprintf(per_cpu(xen_cmc_name, cpu), |
175 | sizeof(per_cpu(cmc_name, cpu)), | 175 | sizeof(per_cpu(xen_cmc_name, cpu)), |
176 | "%s%d", action->name, cpu); | 176 | "%s%d", action->name, cpu); |
177 | irq = bind_virq_to_irqhandler(VIRQ_MCA_CMC, cpu, | 177 | irq = bind_virq_to_irqhandler(VIRQ_MCA_CMC, cpu, |
178 | action->handler, | 178 | action->handler, |
179 | action->flags, | 179 | action->flags, |
180 | per_cpu(cmc_name, cpu), | 180 | per_cpu(xen_cmc_name, cpu), |
181 | action->dev_id); | 181 | action->dev_id); |
182 | per_cpu(cmc_irq, cpu) = irq; | 182 | per_cpu(xen_cmc_irq, cpu) = irq; |
183 | break; | 183 | break; |
184 | case IA64_CMCP_VECTOR: | 184 | case IA64_CMCP_VECTOR: |
185 | snprintf(per_cpu(cmcp_name, cpu), | 185 | snprintf(per_cpu(xen_cmcp_name, cpu), |
186 | sizeof(per_cpu(cmcp_name, cpu)), | 186 | sizeof(per_cpu(xen_cmcp_name, cpu)), |
187 | "%s%d", action->name, cpu); | 187 | "%s%d", action->name, cpu); |
188 | irq = bind_ipi_to_irqhandler(XEN_CMCP_VECTOR, cpu, | 188 | irq = bind_ipi_to_irqhandler(XEN_CMCP_VECTOR, cpu, |
189 | action->handler, | 189 | action->handler, |
190 | action->flags, | 190 | action->flags, |
191 | per_cpu(cmcp_name, cpu), | 191 | per_cpu(xen_cmcp_name, cpu), |
192 | action->dev_id); | 192 | action->dev_id); |
193 | per_cpu(cmcp_irq, cpu) = irq; | 193 | per_cpu(xen_cmcp_irq, cpu) = irq; |
194 | break; | 194 | break; |
195 | case IA64_CPEP_VECTOR: | 195 | case IA64_CPEP_VECTOR: |
196 | snprintf(per_cpu(cpep_name, cpu), | 196 | snprintf(per_cpu(xen_cpep_name, cpu), |
197 | sizeof(per_cpu(cpep_name, cpu)), | 197 | sizeof(per_cpu(xen_cpep_name, cpu)), |
198 | "%s%d", action->name, cpu); | 198 | "%s%d", action->name, cpu); |
199 | irq = bind_ipi_to_irqhandler(XEN_CPEP_VECTOR, cpu, | 199 | irq = bind_ipi_to_irqhandler(XEN_CPEP_VECTOR, cpu, |
200 | action->handler, | 200 | action->handler, |
201 | action->flags, | 201 | action->flags, |
202 | per_cpu(cpep_name, cpu), | 202 | per_cpu(xen_cpep_name, cpu), |
203 | action->dev_id); | 203 | action->dev_id); |
204 | per_cpu(cpep_irq, cpu) = irq; | 204 | per_cpu(xen_cpep_irq, cpu) = irq; |
205 | break; | 205 | break; |
206 | case IA64_CPE_VECTOR: | 206 | case IA64_CPE_VECTOR: |
207 | case IA64_MCA_RENDEZ_VECTOR: | 207 | case IA64_MCA_RENDEZ_VECTOR: |
@@ -275,30 +275,33 @@ unbind_evtchn_callback(struct notifier_block *nfb, | |||
275 | 275 | ||
276 | if (action == CPU_DEAD) { | 276 | if (action == CPU_DEAD) { |
277 | /* Unregister evtchn. */ | 277 | /* Unregister evtchn. */ |
278 | if (per_cpu(cpep_irq, cpu) >= 0) { | 278 | if (per_cpu(xen_cpep_irq, cpu) >= 0) { |
279 | unbind_from_irqhandler(per_cpu(cpep_irq, cpu), NULL); | 279 | unbind_from_irqhandler(per_cpu(xen_cpep_irq, cpu), |
280 | per_cpu(cpep_irq, cpu) = -1; | 280 | NULL); |
281 | per_cpu(xen_cpep_irq, cpu) = -1; | ||
281 | } | 282 | } |
282 | if (per_cpu(cmcp_irq, cpu) >= 0) { | 283 | if (per_cpu(xen_cmcp_irq, cpu) >= 0) { |
283 | unbind_from_irqhandler(per_cpu(cmcp_irq, cpu), NULL); | 284 | unbind_from_irqhandler(per_cpu(xen_cmcp_irq, cpu), |
284 | per_cpu(cmcp_irq, cpu) = -1; | 285 | NULL); |
286 | per_cpu(xen_cmcp_irq, cpu) = -1; | ||
285 | } | 287 | } |
286 | if (per_cpu(cmc_irq, cpu) >= 0) { | 288 | if (per_cpu(xen_cmc_irq, cpu) >= 0) { |
287 | unbind_from_irqhandler(per_cpu(cmc_irq, cpu), NULL); | 289 | unbind_from_irqhandler(per_cpu(xen_cmc_irq, cpu), NULL); |
288 | per_cpu(cmc_irq, cpu) = -1; | 290 | per_cpu(xen_cmc_irq, cpu) = -1; |
289 | } | 291 | } |
290 | if (per_cpu(ipi_irq, cpu) >= 0) { | 292 | if (per_cpu(xen_ipi_irq, cpu) >= 0) { |
291 | unbind_from_irqhandler(per_cpu(ipi_irq, cpu), NULL); | 293 | unbind_from_irqhandler(per_cpu(xen_ipi_irq, cpu), NULL); |
292 | per_cpu(ipi_irq, cpu) = -1; | 294 | per_cpu(xen_ipi_irq, cpu) = -1; |
293 | } | 295 | } |
294 | if (per_cpu(resched_irq, cpu) >= 0) { | 296 | if (per_cpu(xen_resched_irq, cpu) >= 0) { |
295 | unbind_from_irqhandler(per_cpu(resched_irq, cpu), | 297 | unbind_from_irqhandler(per_cpu(xen_resched_irq, cpu), |
296 | NULL); | 298 | NULL); |
297 | per_cpu(resched_irq, cpu) = -1; | 299 | per_cpu(xen_resched_irq, cpu) = -1; |
298 | } | 300 | } |
299 | if (per_cpu(timer_irq, cpu) >= 0) { | 301 | if (per_cpu(xen_timer_irq, cpu) >= 0) { |
300 | unbind_from_irqhandler(per_cpu(timer_irq, cpu), NULL); | 302 | unbind_from_irqhandler(per_cpu(xen_timer_irq, cpu), |
301 | per_cpu(timer_irq, cpu) = -1; | 303 | NULL); |
304 | per_cpu(xen_timer_irq, cpu) = -1; | ||
302 | } | 305 | } |
303 | } | 306 | } |
304 | return NOTIFY_OK; | 307 | return NOTIFY_OK; |
diff --git a/arch/ia64/xen/time.c b/arch/ia64/xen/time.c index dbeadb9c8e20..c1c544513e8d 100644 --- a/arch/ia64/xen/time.c +++ b/arch/ia64/xen/time.c | |||
@@ -34,15 +34,15 @@ | |||
34 | 34 | ||
35 | #include "../kernel/fsyscall_gtod_data.h" | 35 | #include "../kernel/fsyscall_gtod_data.h" |
36 | 36 | ||
37 | DEFINE_PER_CPU(struct vcpu_runstate_info, runstate); | 37 | static DEFINE_PER_CPU(struct vcpu_runstate_info, xen_runstate); |
38 | DEFINE_PER_CPU(unsigned long, processed_stolen_time); | 38 | static DEFINE_PER_CPU(unsigned long, xen_stolen_time); |
39 | DEFINE_PER_CPU(unsigned long, processed_blocked_time); | 39 | static DEFINE_PER_CPU(unsigned long, xen_blocked_time); |
40 | 40 | ||
41 | /* taken from i386/kernel/time-xen.c */ | 41 | /* taken from i386/kernel/time-xen.c */ |
42 | static void xen_init_missing_ticks_accounting(int cpu) | 42 | static void xen_init_missing_ticks_accounting(int cpu) |
43 | { | 43 | { |
44 | struct vcpu_register_runstate_memory_area area; | 44 | struct vcpu_register_runstate_memory_area area; |
45 | struct vcpu_runstate_info *runstate = &per_cpu(runstate, cpu); | 45 | struct vcpu_runstate_info *runstate = &per_cpu(xen_runstate, cpu); |
46 | int rc; | 46 | int rc; |
47 | 47 | ||
48 | memset(runstate, 0, sizeof(*runstate)); | 48 | memset(runstate, 0, sizeof(*runstate)); |
@@ -52,8 +52,8 @@ static void xen_init_missing_ticks_accounting(int cpu) | |||
52 | &area); | 52 | &area); |
53 | WARN_ON(rc && rc != -ENOSYS); | 53 | WARN_ON(rc && rc != -ENOSYS); |
54 | 54 | ||
55 | per_cpu(processed_blocked_time, cpu) = runstate->time[RUNSTATE_blocked]; | 55 | per_cpu(xen_blocked_time, cpu) = runstate->time[RUNSTATE_blocked]; |
56 | per_cpu(processed_stolen_time, cpu) = runstate->time[RUNSTATE_runnable] | 56 | per_cpu(xen_stolen_time, cpu) = runstate->time[RUNSTATE_runnable] |
57 | + runstate->time[RUNSTATE_offline]; | 57 | + runstate->time[RUNSTATE_offline]; |
58 | } | 58 | } |
59 | 59 | ||
@@ -68,7 +68,7 @@ static void get_runstate_snapshot(struct vcpu_runstate_info *res) | |||
68 | 68 | ||
69 | BUG_ON(preemptible()); | 69 | BUG_ON(preemptible()); |
70 | 70 | ||
71 | state = &__get_cpu_var(runstate); | 71 | state = &__get_cpu_var(xen_runstate); |
72 | 72 | ||
73 | /* | 73 | /* |
74 | * The runstate info is always updated by the hypervisor on | 74 | * The runstate info is always updated by the hypervisor on |
@@ -103,12 +103,12 @@ consider_steal_time(unsigned long new_itm) | |||
103 | * This function just checks and reject this effect. | 103 | * This function just checks and reject this effect. |
104 | */ | 104 | */ |
105 | if (!time_after_eq(runstate.time[RUNSTATE_blocked], | 105 | if (!time_after_eq(runstate.time[RUNSTATE_blocked], |
106 | per_cpu(processed_blocked_time, cpu))) | 106 | per_cpu(xen_blocked_time, cpu))) |
107 | blocked = 0; | 107 | blocked = 0; |
108 | 108 | ||
109 | if (!time_after_eq(runstate.time[RUNSTATE_runnable] + | 109 | if (!time_after_eq(runstate.time[RUNSTATE_runnable] + |
110 | runstate.time[RUNSTATE_offline], | 110 | runstate.time[RUNSTATE_offline], |
111 | per_cpu(processed_stolen_time, cpu))) | 111 | per_cpu(xen_stolen_time, cpu))) |
112 | stolen = 0; | 112 | stolen = 0; |
113 | 113 | ||
114 | if (!time_after(delta_itm + new_itm, ia64_get_itc())) | 114 | if (!time_after(delta_itm + new_itm, ia64_get_itc())) |
@@ -147,8 +147,8 @@ consider_steal_time(unsigned long new_itm) | |||
147 | } else { | 147 | } else { |
148 | local_cpu_data->itm_next = delta_itm + new_itm; | 148 | local_cpu_data->itm_next = delta_itm + new_itm; |
149 | } | 149 | } |
150 | per_cpu(processed_stolen_time, cpu) += NS_PER_TICK * stolen; | 150 | per_cpu(xen_stolen_time, cpu) += NS_PER_TICK * stolen; |
151 | per_cpu(processed_blocked_time, cpu) += NS_PER_TICK * blocked; | 151 | per_cpu(xen_blocked_time, cpu) += NS_PER_TICK * blocked; |
152 | } | 152 | } |
153 | return delta_itm; | 153 | return delta_itm; |
154 | } | 154 | } |
diff --git a/arch/m32r/include/asm/spinlock.h b/arch/m32r/include/asm/spinlock.h index dded923883b2..179a06489b10 100644 --- a/arch/m32r/include/asm/spinlock.h +++ b/arch/m32r/include/asm/spinlock.h | |||
@@ -24,19 +24,19 @@ | |||
24 | * We make no fairness assumptions. They have a cost. | 24 | * We make no fairness assumptions. They have a cost. |
25 | */ | 25 | */ |
26 | 26 | ||
27 | #define __raw_spin_is_locked(x) (*(volatile int *)(&(x)->slock) <= 0) | 27 | #define arch_spin_is_locked(x) (*(volatile int *)(&(x)->slock) <= 0) |
28 | #define __raw_spin_lock_flags(lock, flags) __raw_spin_lock(lock) | 28 | #define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock) |
29 | #define __raw_spin_unlock_wait(x) \ | 29 | #define arch_spin_unlock_wait(x) \ |
30 | do { cpu_relax(); } while (__raw_spin_is_locked(x)) | 30 | do { cpu_relax(); } while (arch_spin_is_locked(x)) |
31 | 31 | ||
32 | /** | 32 | /** |
33 | * __raw_spin_trylock - Try spin lock and return a result | 33 | * arch_spin_trylock - Try spin lock and return a result |
34 | * @lock: Pointer to the lock variable | 34 | * @lock: Pointer to the lock variable |
35 | * | 35 | * |
36 | * __raw_spin_trylock() tries to get the lock and returns a result. | 36 | * arch_spin_trylock() tries to get the lock and returns a result. |
37 | * On the m32r, the result value is 1 (= Success) or 0 (= Failure). | 37 | * On the m32r, the result value is 1 (= Success) or 0 (= Failure). |
38 | */ | 38 | */ |
39 | static inline int __raw_spin_trylock(raw_spinlock_t *lock) | 39 | static inline int arch_spin_trylock(arch_spinlock_t *lock) |
40 | { | 40 | { |
41 | int oldval; | 41 | int oldval; |
42 | unsigned long tmp1, tmp2; | 42 | unsigned long tmp1, tmp2; |
@@ -50,7 +50,7 @@ static inline int __raw_spin_trylock(raw_spinlock_t *lock) | |||
50 | * } | 50 | * } |
51 | */ | 51 | */ |
52 | __asm__ __volatile__ ( | 52 | __asm__ __volatile__ ( |
53 | "# __raw_spin_trylock \n\t" | 53 | "# arch_spin_trylock \n\t" |
54 | "ldi %1, #0; \n\t" | 54 | "ldi %1, #0; \n\t" |
55 | "mvfc %2, psw; \n\t" | 55 | "mvfc %2, psw; \n\t" |
56 | "clrpsw #0x40 -> nop; \n\t" | 56 | "clrpsw #0x40 -> nop; \n\t" |
@@ -69,7 +69,7 @@ static inline int __raw_spin_trylock(raw_spinlock_t *lock) | |||
69 | return (oldval > 0); | 69 | return (oldval > 0); |
70 | } | 70 | } |
71 | 71 | ||
72 | static inline void __raw_spin_lock(raw_spinlock_t *lock) | 72 | static inline void arch_spin_lock(arch_spinlock_t *lock) |
73 | { | 73 | { |
74 | unsigned long tmp0, tmp1; | 74 | unsigned long tmp0, tmp1; |
75 | 75 | ||
@@ -84,7 +84,7 @@ static inline void __raw_spin_lock(raw_spinlock_t *lock) | |||
84 | * } | 84 | * } |
85 | */ | 85 | */ |
86 | __asm__ __volatile__ ( | 86 | __asm__ __volatile__ ( |
87 | "# __raw_spin_lock \n\t" | 87 | "# arch_spin_lock \n\t" |
88 | ".fillinsn \n" | 88 | ".fillinsn \n" |
89 | "1: \n\t" | 89 | "1: \n\t" |
90 | "mvfc %1, psw; \n\t" | 90 | "mvfc %1, psw; \n\t" |
@@ -111,7 +111,7 @@ static inline void __raw_spin_lock(raw_spinlock_t *lock) | |||
111 | ); | 111 | ); |
112 | } | 112 | } |
113 | 113 | ||
114 | static inline void __raw_spin_unlock(raw_spinlock_t *lock) | 114 | static inline void arch_spin_unlock(arch_spinlock_t *lock) |
115 | { | 115 | { |
116 | mb(); | 116 | mb(); |
117 | lock->slock = 1; | 117 | lock->slock = 1; |
@@ -140,15 +140,15 @@ static inline void __raw_spin_unlock(raw_spinlock_t *lock) | |||
140 | * read_can_lock - would read_trylock() succeed? | 140 | * read_can_lock - would read_trylock() succeed? |
141 | * @lock: the rwlock in question. | 141 | * @lock: the rwlock in question. |
142 | */ | 142 | */ |
143 | #define __raw_read_can_lock(x) ((int)(x)->lock > 0) | 143 | #define arch_read_can_lock(x) ((int)(x)->lock > 0) |
144 | 144 | ||
145 | /** | 145 | /** |
146 | * write_can_lock - would write_trylock() succeed? | 146 | * write_can_lock - would write_trylock() succeed? |
147 | * @lock: the rwlock in question. | 147 | * @lock: the rwlock in question. |
148 | */ | 148 | */ |
149 | #define __raw_write_can_lock(x) ((x)->lock == RW_LOCK_BIAS) | 149 | #define arch_write_can_lock(x) ((x)->lock == RW_LOCK_BIAS) |
150 | 150 | ||
151 | static inline void __raw_read_lock(raw_rwlock_t *rw) | 151 | static inline void arch_read_lock(arch_rwlock_t *rw) |
152 | { | 152 | { |
153 | unsigned long tmp0, tmp1; | 153 | unsigned long tmp0, tmp1; |
154 | 154 | ||
@@ -199,7 +199,7 @@ static inline void __raw_read_lock(raw_rwlock_t *rw) | |||
199 | ); | 199 | ); |
200 | } | 200 | } |
201 | 201 | ||
202 | static inline void __raw_write_lock(raw_rwlock_t *rw) | 202 | static inline void arch_write_lock(arch_rwlock_t *rw) |
203 | { | 203 | { |
204 | unsigned long tmp0, tmp1, tmp2; | 204 | unsigned long tmp0, tmp1, tmp2; |
205 | 205 | ||
@@ -252,7 +252,7 @@ static inline void __raw_write_lock(raw_rwlock_t *rw) | |||
252 | ); | 252 | ); |
253 | } | 253 | } |
254 | 254 | ||
255 | static inline void __raw_read_unlock(raw_rwlock_t *rw) | 255 | static inline void arch_read_unlock(arch_rwlock_t *rw) |
256 | { | 256 | { |
257 | unsigned long tmp0, tmp1; | 257 | unsigned long tmp0, tmp1; |
258 | 258 | ||
@@ -274,7 +274,7 @@ static inline void __raw_read_unlock(raw_rwlock_t *rw) | |||
274 | ); | 274 | ); |
275 | } | 275 | } |
276 | 276 | ||
277 | static inline void __raw_write_unlock(raw_rwlock_t *rw) | 277 | static inline void arch_write_unlock(arch_rwlock_t *rw) |
278 | { | 278 | { |
279 | unsigned long tmp0, tmp1, tmp2; | 279 | unsigned long tmp0, tmp1, tmp2; |
280 | 280 | ||
@@ -298,7 +298,7 @@ static inline void __raw_write_unlock(raw_rwlock_t *rw) | |||
298 | ); | 298 | ); |
299 | } | 299 | } |
300 | 300 | ||
301 | static inline int __raw_read_trylock(raw_rwlock_t *lock) | 301 | static inline int arch_read_trylock(arch_rwlock_t *lock) |
302 | { | 302 | { |
303 | atomic_t *count = (atomic_t*)lock; | 303 | atomic_t *count = (atomic_t*)lock; |
304 | if (atomic_dec_return(count) >= 0) | 304 | if (atomic_dec_return(count) >= 0) |
@@ -307,7 +307,7 @@ static inline int __raw_read_trylock(raw_rwlock_t *lock) | |||
307 | return 0; | 307 | return 0; |
308 | } | 308 | } |
309 | 309 | ||
310 | static inline int __raw_write_trylock(raw_rwlock_t *lock) | 310 | static inline int arch_write_trylock(arch_rwlock_t *lock) |
311 | { | 311 | { |
312 | atomic_t *count = (atomic_t *)lock; | 312 | atomic_t *count = (atomic_t *)lock; |
313 | if (atomic_sub_and_test(RW_LOCK_BIAS, count)) | 313 | if (atomic_sub_and_test(RW_LOCK_BIAS, count)) |
@@ -316,11 +316,11 @@ static inline int __raw_write_trylock(raw_rwlock_t *lock) | |||
316 | return 0; | 316 | return 0; |
317 | } | 317 | } |
318 | 318 | ||
319 | #define __raw_read_lock_flags(lock, flags) __raw_read_lock(lock) | 319 | #define arch_read_lock_flags(lock, flags) arch_read_lock(lock) |
320 | #define __raw_write_lock_flags(lock, flags) __raw_write_lock(lock) | 320 | #define arch_write_lock_flags(lock, flags) arch_write_lock(lock) |
321 | 321 | ||
322 | #define _raw_spin_relax(lock) cpu_relax() | 322 | #define arch_spin_relax(lock) cpu_relax() |
323 | #define _raw_read_relax(lock) cpu_relax() | 323 | #define arch_read_relax(lock) cpu_relax() |
324 | #define _raw_write_relax(lock) cpu_relax() | 324 | #define arch_write_relax(lock) cpu_relax() |
325 | 325 | ||
326 | #endif /* _ASM_M32R_SPINLOCK_H */ | 326 | #endif /* _ASM_M32R_SPINLOCK_H */ |
diff --git a/arch/m32r/include/asm/spinlock_types.h b/arch/m32r/include/asm/spinlock_types.h index 83f52105c0e4..92e27672661f 100644 --- a/arch/m32r/include/asm/spinlock_types.h +++ b/arch/m32r/include/asm/spinlock_types.h | |||
@@ -7,17 +7,17 @@ | |||
7 | 7 | ||
8 | typedef struct { | 8 | typedef struct { |
9 | volatile int slock; | 9 | volatile int slock; |
10 | } raw_spinlock_t; | 10 | } arch_spinlock_t; |
11 | 11 | ||
12 | #define __RAW_SPIN_LOCK_UNLOCKED { 1 } | 12 | #define __ARCH_SPIN_LOCK_UNLOCKED { 1 } |
13 | 13 | ||
14 | typedef struct { | 14 | typedef struct { |
15 | volatile int lock; | 15 | volatile int lock; |
16 | } raw_rwlock_t; | 16 | } arch_rwlock_t; |
17 | 17 | ||
18 | #define RW_LOCK_BIAS 0x01000000 | 18 | #define RW_LOCK_BIAS 0x01000000 |
19 | #define RW_LOCK_BIAS_STR "0x01000000" | 19 | #define RW_LOCK_BIAS_STR "0x01000000" |
20 | 20 | ||
21 | #define __RAW_RW_LOCK_UNLOCKED { RW_LOCK_BIAS } | 21 | #define __ARCH_RW_LOCK_UNLOCKED { RW_LOCK_BIAS } |
22 | 22 | ||
23 | #endif /* _ASM_M32R_SPINLOCK_TYPES_H */ | 23 | #endif /* _ASM_M32R_SPINLOCK_TYPES_H */ |
diff --git a/arch/m32r/kernel/irq.c b/arch/m32r/kernel/irq.c index 8dfd31e87c4c..3c71f776872c 100644 --- a/arch/m32r/kernel/irq.c +++ b/arch/m32r/kernel/irq.c | |||
@@ -40,7 +40,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
40 | } | 40 | } |
41 | 41 | ||
42 | if (i < NR_IRQS) { | 42 | if (i < NR_IRQS) { |
43 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 43 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
44 | action = irq_desc[i].action; | 44 | action = irq_desc[i].action; |
45 | if (!action) | 45 | if (!action) |
46 | goto skip; | 46 | goto skip; |
@@ -59,7 +59,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
59 | 59 | ||
60 | seq_putc(p, '\n'); | 60 | seq_putc(p, '\n'); |
61 | skip: | 61 | skip: |
62 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 62 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
63 | } | 63 | } |
64 | return 0; | 64 | return 0; |
65 | } | 65 | } |
diff --git a/arch/m68k/include/asm/pgtable_mm.h b/arch/m68k/include/asm/pgtable_mm.h index fe60e1abaee8..aca0e28581c7 100644 --- a/arch/m68k/include/asm/pgtable_mm.h +++ b/arch/m68k/include/asm/pgtable_mm.h | |||
@@ -83,9 +83,9 @@ | |||
83 | #define VMALLOC_START (((unsigned long) high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) | 83 | #define VMALLOC_START (((unsigned long) high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) |
84 | #define VMALLOC_END KMAP_START | 84 | #define VMALLOC_END KMAP_START |
85 | #else | 85 | #else |
86 | extern unsigned long vmalloc_end; | 86 | extern unsigned long m68k_vmalloc_end; |
87 | #define VMALLOC_START 0x0f800000 | 87 | #define VMALLOC_START 0x0f800000 |
88 | #define VMALLOC_END vmalloc_end | 88 | #define VMALLOC_END m68k_vmalloc_end |
89 | #endif /* CONFIG_SUN3 */ | 89 | #endif /* CONFIG_SUN3 */ |
90 | 90 | ||
91 | /* zero page used for uninitialized stuff */ | 91 | /* zero page used for uninitialized stuff */ |
diff --git a/arch/m68k/sun3/mmu_emu.c b/arch/m68k/sun3/mmu_emu.c index 3cd19390aae5..94f81ecfe3f8 100644 --- a/arch/m68k/sun3/mmu_emu.c +++ b/arch/m68k/sun3/mmu_emu.c | |||
@@ -45,8 +45,8 @@ | |||
45 | ** Globals | 45 | ** Globals |
46 | */ | 46 | */ |
47 | 47 | ||
48 | unsigned long vmalloc_end; | 48 | unsigned long m68k_vmalloc_end; |
49 | EXPORT_SYMBOL(vmalloc_end); | 49 | EXPORT_SYMBOL(m68k_vmalloc_end); |
50 | 50 | ||
51 | unsigned long pmeg_vaddr[PMEGS_NUM]; | 51 | unsigned long pmeg_vaddr[PMEGS_NUM]; |
52 | unsigned char pmeg_alloc[PMEGS_NUM]; | 52 | unsigned char pmeg_alloc[PMEGS_NUM]; |
@@ -172,8 +172,8 @@ void mmu_emu_init(unsigned long bootmem_end) | |||
172 | #endif | 172 | #endif |
173 | // the lowest mapping here is the end of our | 173 | // the lowest mapping here is the end of our |
174 | // vmalloc region | 174 | // vmalloc region |
175 | if(!vmalloc_end) | 175 | if (!m68k_vmalloc_end) |
176 | vmalloc_end = seg; | 176 | m68k_vmalloc_end = seg; |
177 | 177 | ||
178 | // mark the segmap alloc'd, and reserve any | 178 | // mark the segmap alloc'd, and reserve any |
179 | // of the first 0xbff pages the hardware is | 179 | // of the first 0xbff pages the hardware is |
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index bbd8327f1890..fd53e500be67 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig | |||
@@ -6,8 +6,15 @@ mainmenu "Linux/Microblaze Kernel Configuration" | |||
6 | config MICROBLAZE | 6 | config MICROBLAZE |
7 | def_bool y | 7 | def_bool y |
8 | select HAVE_LMB | 8 | select HAVE_LMB |
9 | select HAVE_FUNCTION_TRACER | ||
10 | select HAVE_FUNCTION_TRACE_MCOUNT_TEST | ||
11 | select HAVE_FUNCTION_GRAPH_TRACER | ||
12 | select HAVE_DYNAMIC_FTRACE | ||
13 | select HAVE_FTRACE_MCOUNT_RECORD | ||
9 | select USB_ARCH_HAS_EHCI | 14 | select USB_ARCH_HAS_EHCI |
10 | select ARCH_WANT_OPTIONAL_GPIOLIB | 15 | select ARCH_WANT_OPTIONAL_GPIOLIB |
16 | select HAVE_OPROFILE | ||
17 | select TRACING_SUPPORT | ||
11 | 18 | ||
12 | config SWAP | 19 | config SWAP |
13 | def_bool n | 20 | def_bool n |
@@ -57,12 +64,24 @@ config GENERIC_GPIO | |||
57 | config GENERIC_CSUM | 64 | config GENERIC_CSUM |
58 | def_bool y | 65 | def_bool y |
59 | 66 | ||
67 | config STACKTRACE_SUPPORT | ||
68 | def_bool y | ||
69 | |||
70 | config LOCKDEP_SUPPORT | ||
71 | def_bool y | ||
72 | |||
73 | config HAVE_LATENCYTOP_SUPPORT | ||
74 | def_bool y | ||
75 | |||
60 | config PCI | 76 | config PCI |
61 | def_bool n | 77 | def_bool n |
62 | 78 | ||
63 | config NO_DMA | 79 | config NO_DMA |
64 | def_bool y | 80 | def_bool y |
65 | 81 | ||
82 | config DTC | ||
83 | def_bool y | ||
84 | |||
66 | source "init/Kconfig" | 85 | source "init/Kconfig" |
67 | 86 | ||
68 | source "kernel/Kconfig.freezer" | 87 | source "kernel/Kconfig.freezer" |
diff --git a/arch/microblaze/Kconfig.debug b/arch/microblaze/Kconfig.debug index 242cd35bdb4b..9dc708a7f700 100644 --- a/arch/microblaze/Kconfig.debug +++ b/arch/microblaze/Kconfig.debug | |||
@@ -3,6 +3,9 @@ | |||
3 | 3 | ||
4 | menu "Kernel hacking" | 4 | menu "Kernel hacking" |
5 | 5 | ||
6 | config TRACE_IRQFLAGS_SUPPORT | ||
7 | def_bool y | ||
8 | |||
6 | source "lib/Kconfig.debug" | 9 | source "lib/Kconfig.debug" |
7 | 10 | ||
8 | config EARLY_PRINTK | 11 | config EARLY_PRINTK |
diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile index 34187354304a..d2d6cfcb1a30 100644 --- a/arch/microblaze/Makefile +++ b/arch/microblaze/Makefile | |||
@@ -51,6 +51,8 @@ core-y += arch/microblaze/kernel/ | |||
51 | core-y += arch/microblaze/mm/ | 51 | core-y += arch/microblaze/mm/ |
52 | core-y += arch/microblaze/platform/ | 52 | core-y += arch/microblaze/platform/ |
53 | 53 | ||
54 | drivers-$(CONFIG_OPROFILE) += arch/microblaze/oprofile/ | ||
55 | |||
54 | boot := arch/microblaze/boot | 56 | boot := arch/microblaze/boot |
55 | 57 | ||
56 | # Are we making a simpleImage.<boardname> target? If so, crack out the boardname | 58 | # Are we making a simpleImage.<boardname> target? If so, crack out the boardname |
diff --git a/arch/microblaze/boot/Makefile b/arch/microblaze/boot/Makefile index 21f13322a4ca..902cf9846c3c 100644 --- a/arch/microblaze/boot/Makefile +++ b/arch/microblaze/boot/Makefile | |||
@@ -2,11 +2,13 @@ | |||
2 | # arch/microblaze/boot/Makefile | 2 | # arch/microblaze/boot/Makefile |
3 | # | 3 | # |
4 | 4 | ||
5 | MKIMAGE := $(srctree)/scripts/mkuboot.sh | ||
6 | |||
5 | obj-y += linked_dtb.o | 7 | obj-y += linked_dtb.o |
6 | 8 | ||
7 | targets := linux.bin linux.bin.gz simpleImage.% | 9 | targets := linux.bin linux.bin.gz simpleImage.% |
8 | 10 | ||
9 | OBJCOPYFLAGS_linux.bin := -O binary | 11 | OBJCOPYFLAGS := -O binary |
10 | 12 | ||
11 | # Where the DTS files live | 13 | # Where the DTS files live |
12 | dtstree := $(srctree)/$(src)/dts | 14 | dtstree := $(srctree)/$(src)/dts |
@@ -24,6 +26,7 @@ $(obj)/linux.bin: vmlinux FORCE | |||
24 | [ -n $(CONFIG_INITRAMFS_SOURCE) ] && [ ! -e $(CONFIG_INITRAMFS_SOURCE) ] && \ | 26 | [ -n $(CONFIG_INITRAMFS_SOURCE) ] && [ ! -e $(CONFIG_INITRAMFS_SOURCE) ] && \ |
25 | touch $(CONFIG_INITRAMFS_SOURCE) || echo "No CPIO image" | 27 | touch $(CONFIG_INITRAMFS_SOURCE) || echo "No CPIO image" |
26 | $(call if_changed,objcopy) | 28 | $(call if_changed,objcopy) |
29 | $(call if_changed,uimage) | ||
27 | @echo 'Kernel: $@ is ready' ' (#'`cat .version`')' | 30 | @echo 'Kernel: $@ is ready' ' (#'`cat .version`')' |
28 | 31 | ||
29 | $(obj)/linux.bin.gz: $(obj)/linux.bin FORCE | 32 | $(obj)/linux.bin.gz: $(obj)/linux.bin FORCE |
@@ -36,8 +39,16 @@ quiet_cmd_cp = CP $< $@$2 | |||
36 | quiet_cmd_strip = STRIP $@ | 39 | quiet_cmd_strip = STRIP $@ |
37 | cmd_strip = $(STRIP) -K _start -K _end -K __log_buf -K _fdt_start vmlinux -o $@ | 40 | cmd_strip = $(STRIP) -K _start -K _end -K __log_buf -K _fdt_start vmlinux -o $@ |
38 | 41 | ||
42 | quiet_cmd_uimage = UIMAGE $@.ub | ||
43 | cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A microblaze -O linux -T kernel \ | ||
44 | -C none -n 'Linux-$(KERNELRELEASE)' \ | ||
45 | -a $(CONFIG_KERNEL_BASE_ADDR) -e $(CONFIG_KERNEL_BASE_ADDR) \ | ||
46 | -d $@ $@.ub | ||
47 | |||
39 | $(obj)/simpleImage.%: vmlinux FORCE | 48 | $(obj)/simpleImage.%: vmlinux FORCE |
40 | $(call if_changed,cp,.unstrip) | 49 | $(call if_changed,cp,.unstrip) |
50 | $(call if_changed,objcopy) | ||
51 | $(call if_changed,uimage) | ||
41 | $(call if_changed,strip) | 52 | $(call if_changed,strip) |
42 | @echo 'Kernel: $@ is ready' ' (#'`cat .version`')' | 53 | @echo 'Kernel: $@ is ready' ' (#'`cat .version`')' |
43 | 54 | ||
@@ -53,4 +64,4 @@ $(obj)/%.dtb: $(dtstree)/%.dts FORCE | |||
53 | 64 | ||
54 | clean-kernel += linux.bin linux.bin.gz simpleImage.* | 65 | clean-kernel += linux.bin linux.bin.gz simpleImage.* |
55 | 66 | ||
56 | clean-files += *.dtb | 67 | clean-files += *.dtb simpleImage.*.unstrip |
diff --git a/arch/microblaze/include/asm/cache.h b/arch/microblaze/include/asm/cache.h index c209c47509d5..e52210891d78 100644 --- a/arch/microblaze/include/asm/cache.h +++ b/arch/microblaze/include/asm/cache.h | |||
@@ -21,20 +21,4 @@ | |||
21 | 21 | ||
22 | #define SMP_CACHE_BYTES L1_CACHE_BYTES | 22 | #define SMP_CACHE_BYTES L1_CACHE_BYTES |
23 | 23 | ||
24 | void _enable_icache(void); | ||
25 | void _disable_icache(void); | ||
26 | void _invalidate_icache(unsigned int addr); | ||
27 | |||
28 | #define __enable_icache() _enable_icache() | ||
29 | #define __disable_icache() _disable_icache() | ||
30 | #define __invalidate_icache(addr) _invalidate_icache(addr) | ||
31 | |||
32 | void _enable_dcache(void); | ||
33 | void _disable_dcache(void); | ||
34 | void _invalidate_dcache(unsigned int addr); | ||
35 | |||
36 | #define __enable_dcache() _enable_dcache() | ||
37 | #define __disable_dcache() _disable_dcache() | ||
38 | #define __invalidate_dcache(addr) _invalidate_dcache(addr) | ||
39 | |||
40 | #endif /* _ASM_MICROBLAZE_CACHE_H */ | 24 | #endif /* _ASM_MICROBLAZE_CACHE_H */ |
diff --git a/arch/microblaze/include/asm/cacheflush.h b/arch/microblaze/include/asm/cacheflush.h index 088076e657b3..a6edd356cd08 100644 --- a/arch/microblaze/include/asm/cacheflush.h +++ b/arch/microblaze/include/asm/cacheflush.h | |||
@@ -18,6 +18,8 @@ | |||
18 | /* Somebody depends on this; sigh... */ | 18 | /* Somebody depends on this; sigh... */ |
19 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
20 | 20 | ||
21 | /* Look at Documentation/cachetlb.txt */ | ||
22 | |||
21 | /* | 23 | /* |
22 | * Cache handling functions. | 24 | * Cache handling functions. |
23 | * Microblaze has a write-through data cache, meaning that the data cache | 25 | * Microblaze has a write-through data cache, meaning that the data cache |
@@ -27,78 +29,81 @@ | |||
27 | * instruction cache to make sure we don't fetch old, bad code. | 29 | * instruction cache to make sure we don't fetch old, bad code. |
28 | */ | 30 | */ |
29 | 31 | ||
32 | /* struct cache, d=dcache, i=icache, fl = flush, iv = invalidate, | ||
33 | * suffix r = range */ | ||
34 | struct scache { | ||
35 | /* icache */ | ||
36 | void (*ie)(void); /* enable */ | ||
37 | void (*id)(void); /* disable */ | ||
38 | void (*ifl)(void); /* flush */ | ||
39 | void (*iflr)(unsigned long a, unsigned long b); | ||
40 | void (*iin)(void); /* invalidate */ | ||
41 | void (*iinr)(unsigned long a, unsigned long b); | ||
42 | /* dcache */ | ||
43 | void (*de)(void); /* enable */ | ||
44 | void (*dd)(void); /* disable */ | ||
45 | void (*dfl)(void); /* flush */ | ||
46 | void (*dflr)(unsigned long a, unsigned long b); | ||
47 | void (*din)(void); /* invalidate */ | ||
48 | void (*dinr)(unsigned long a, unsigned long b); | ||
49 | }; | ||
50 | |||
51 | /* microblaze cache */ | ||
52 | extern struct scache *mbc; | ||
53 | |||
54 | void microblaze_cache_init(void); | ||
55 | |||
56 | #define enable_icache() mbc->ie(); | ||
57 | #define disable_icache() mbc->id(); | ||
58 | #define flush_icache() mbc->ifl(); | ||
59 | #define flush_icache_range(start, end) mbc->iflr(start, end); | ||
60 | #define invalidate_icache() mbc->iin(); | ||
61 | #define invalidate_icache_range(start, end) mbc->iinr(start, end); | ||
62 | |||
63 | |||
64 | #define flush_icache_user_range(vma, pg, adr, len) flush_icache(); | ||
65 | #define flush_icache_page(vma, pg) do { } while (0) | ||
66 | |||
67 | #define enable_dcache() mbc->de(); | ||
68 | #define disable_dcache() mbc->dd(); | ||
30 | /* FIXME for LL-temac driver */ | 69 | /* FIXME for LL-temac driver */ |
31 | #define invalidate_dcache_range(start, end) \ | 70 | #define invalidate_dcache() mbc->din(); |
32 | __invalidate_dcache_range(start, end) | 71 | #define invalidate_dcache_range(start, end) mbc->dinr(start, end); |
33 | 72 | #define flush_dcache() mbc->dfl(); | |
34 | #define flush_cache_all() __invalidate_cache_all() | 73 | #define flush_dcache_range(start, end) mbc->dflr(start, end); |
35 | #define flush_cache_mm(mm) do { } while (0) | ||
36 | #define flush_cache_range(vma, start, end) __invalidate_cache_all() | ||
37 | #define flush_cache_page(vma, vmaddr, pfn) do { } while (0) | ||
38 | 74 | ||
39 | #define flush_dcache_range(start, end) __invalidate_dcache_range(start, end) | ||
40 | #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0 | 75 | #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0 |
76 | /* D-cache aliasing problem can't happen - cache is between MMU and ram */ | ||
41 | #define flush_dcache_page(page) do { } while (0) | 77 | #define flush_dcache_page(page) do { } while (0) |
42 | #define flush_dcache_mmap_lock(mapping) do { } while (0) | 78 | #define flush_dcache_mmap_lock(mapping) do { } while (0) |
43 | #define flush_dcache_mmap_unlock(mapping) do { } while (0) | 79 | #define flush_dcache_mmap_unlock(mapping) do { } while (0) |
44 | 80 | ||
45 | #define flush_icache_range(start, len) __invalidate_icache_range(start, len) | ||
46 | #define flush_icache_page(vma, pg) do { } while (0) | ||
47 | |||
48 | #ifndef CONFIG_MMU | ||
49 | # define flush_icache_user_range(start, len) do { } while (0) | ||
50 | #else | ||
51 | # define flush_icache_user_range(vma, pg, adr, len) __invalidate_icache_all() | ||
52 | |||
53 | # define flush_page_to_ram(page) do { } while (0) | ||
54 | 81 | ||
55 | # define flush_icache() __invalidate_icache_all() | 82 | #define flush_cache_dup_mm(mm) do { } while (0) |
56 | # define flush_cache_sigtramp(vaddr) \ | 83 | #define flush_cache_vmap(start, end) do { } while (0) |
57 | __invalidate_icache_range(vaddr, vaddr + 8) | 84 | #define flush_cache_vunmap(start, end) do { } while (0) |
58 | 85 | #define flush_cache_mm(mm) do { } while (0) | |
59 | # define flush_dcache_mmap_lock(mapping) do { } while (0) | 86 | #define flush_cache_page(vma, vmaddr, pfn) do { } while (0) |
60 | # define flush_dcache_mmap_unlock(mapping) do { } while (0) | ||
61 | 87 | ||
62 | # define flush_cache_dup_mm(mm) do { } while (0) | 88 | /* MS: kgdb code use this macro, wrong len with FLASH */ |
89 | #if 0 | ||
90 | #define flush_cache_range(vma, start, len) { \ | ||
91 | flush_icache_range((unsigned) (start), (unsigned) (start) + (len)); \ | ||
92 | flush_dcache_range((unsigned) (start), (unsigned) (start) + (len)); \ | ||
93 | } | ||
63 | #endif | 94 | #endif |
64 | 95 | ||
65 | #define flush_cache_vmap(start, end) do { } while (0) | 96 | #define flush_cache_range(vma, start, len) do { } while (0) |
66 | #define flush_cache_vunmap(start, end) do { } while (0) | ||
67 | |||
68 | struct page; | ||
69 | struct mm_struct; | ||
70 | struct vm_area_struct; | ||
71 | |||
72 | /* see arch/microblaze/kernel/cache.c */ | ||
73 | extern void __invalidate_icache_all(void); | ||
74 | extern void __invalidate_icache_range(unsigned long start, unsigned long end); | ||
75 | extern void __invalidate_icache_page(struct vm_area_struct *vma, | ||
76 | struct page *page); | ||
77 | extern void __invalidate_icache_user_range(struct vm_area_struct *vma, | ||
78 | struct page *page, | ||
79 | unsigned long adr, int len); | ||
80 | extern void __invalidate_cache_sigtramp(unsigned long addr); | ||
81 | |||
82 | extern void __invalidate_dcache_all(void); | ||
83 | extern void __invalidate_dcache_range(unsigned long start, unsigned long end); | ||
84 | extern void __invalidate_dcache_page(struct vm_area_struct *vma, | ||
85 | struct page *page); | ||
86 | extern void __invalidate_dcache_user_range(struct vm_area_struct *vma, | ||
87 | struct page *page, | ||
88 | unsigned long adr, int len); | ||
89 | |||
90 | extern inline void __invalidate_cache_all(void) | ||
91 | { | ||
92 | __invalidate_icache_all(); | ||
93 | __invalidate_dcache_all(); | ||
94 | } | ||
95 | 97 | ||
96 | #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ | 98 | #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ |
97 | do { memcpy((dst), (src), (len)); \ | 99 | do { \ |
98 | flush_icache_range((unsigned) (dst), (unsigned) (dst) + (len)); \ | 100 | memcpy((dst), (src), (len)); \ |
101 | flush_icache_range((unsigned) (dst), (unsigned) (dst) + (len)); \ | ||
99 | } while (0) | 102 | } while (0) |
100 | 103 | ||
101 | #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ | 104 | #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ |
102 | memcpy((dst), (src), (len)) | 105 | do { \ |
106 | memcpy((dst), (src), (len)); \ | ||
107 | } while (0) | ||
103 | 108 | ||
104 | #endif /* _ASM_MICROBLAZE_CACHEFLUSH_H */ | 109 | #endif /* _ASM_MICROBLAZE_CACHEFLUSH_H */ |
diff --git a/arch/microblaze/include/asm/cpuinfo.h b/arch/microblaze/include/asm/cpuinfo.h index 52f28f6dc4eb..b4f5ca33aebf 100644 --- a/arch/microblaze/include/asm/cpuinfo.h +++ b/arch/microblaze/include/asm/cpuinfo.h | |||
@@ -43,7 +43,7 @@ struct cpuinfo { | |||
43 | u32 use_icache; | 43 | u32 use_icache; |
44 | u32 icache_tagbits; | 44 | u32 icache_tagbits; |
45 | u32 icache_write; | 45 | u32 icache_write; |
46 | u32 icache_line; | 46 | u32 icache_line_length; |
47 | u32 icache_size; | 47 | u32 icache_size; |
48 | unsigned long icache_base; | 48 | unsigned long icache_base; |
49 | unsigned long icache_high; | 49 | unsigned long icache_high; |
@@ -51,8 +51,9 @@ struct cpuinfo { | |||
51 | u32 use_dcache; | 51 | u32 use_dcache; |
52 | u32 dcache_tagbits; | 52 | u32 dcache_tagbits; |
53 | u32 dcache_write; | 53 | u32 dcache_write; |
54 | u32 dcache_line; | 54 | u32 dcache_line_length; |
55 | u32 dcache_size; | 55 | u32 dcache_size; |
56 | u32 dcache_wb; | ||
56 | unsigned long dcache_base; | 57 | unsigned long dcache_base; |
57 | unsigned long dcache_high; | 58 | unsigned long dcache_high; |
58 | 59 | ||
diff --git a/arch/microblaze/include/asm/device.h b/arch/microblaze/include/asm/device.h index 30286db27c1c..78a038452c0f 100644 --- a/arch/microblaze/include/asm/device.h +++ b/arch/microblaze/include/asm/device.h | |||
@@ -19,6 +19,18 @@ struct dev_archdata { | |||
19 | struct pdev_archdata { | 19 | struct pdev_archdata { |
20 | }; | 20 | }; |
21 | 21 | ||
22 | static inline void dev_archdata_set_node(struct dev_archdata *ad, | ||
23 | struct device_node *np) | ||
24 | { | ||
25 | ad->of_node = np; | ||
26 | } | ||
27 | |||
28 | static inline struct device_node * | ||
29 | dev_archdata_get_node(const struct dev_archdata *ad) | ||
30 | { | ||
31 | return ad->of_node; | ||
32 | } | ||
33 | |||
22 | #endif /* _ASM_MICROBLAZE_DEVICE_H */ | 34 | #endif /* _ASM_MICROBLAZE_DEVICE_H */ |
23 | 35 | ||
24 | 36 | ||
diff --git a/arch/microblaze/include/asm/ftrace.h b/arch/microblaze/include/asm/ftrace.h index 8b137891791f..fd2fa2eca62f 100644 --- a/arch/microblaze/include/asm/ftrace.h +++ b/arch/microblaze/include/asm/ftrace.h | |||
@@ -1 +1,26 @@ | |||
1 | #ifndef _ASM_MICROBLAZE_FTRACE | ||
2 | #define _ASM_MICROBLAZE_FTRACE | ||
1 | 3 | ||
4 | #ifdef CONFIG_FUNCTION_TRACER | ||
5 | |||
6 | #define MCOUNT_ADDR ((long)(_mcount)) | ||
7 | #define MCOUNT_INSN_SIZE 8 /* sizeof mcount call */ | ||
8 | |||
9 | #ifndef __ASSEMBLY__ | ||
10 | extern void _mcount(void); | ||
11 | extern void ftrace_call_graph(void); | ||
12 | #endif | ||
13 | |||
14 | #ifdef CONFIG_DYNAMIC_FTRACE | ||
15 | /* reloction of mcount call site is the same as the address */ | ||
16 | static inline unsigned long ftrace_call_adjust(unsigned long addr) | ||
17 | { | ||
18 | return addr; | ||
19 | } | ||
20 | |||
21 | struct dyn_arch_ftrace { | ||
22 | }; | ||
23 | #endif /* CONFIG_DYNAMIC_FTRACE */ | ||
24 | |||
25 | #endif /* CONFIG_FUNCTION_TRACER */ | ||
26 | #endif /* _ASM_MICROBLAZE_FTRACE */ | ||
diff --git a/arch/microblaze/include/asm/futex.h b/arch/microblaze/include/asm/futex.h index 0b745828f42b..8dbb6e7a03a2 100644 --- a/arch/microblaze/include/asm/futex.h +++ b/arch/microblaze/include/asm/futex.h | |||
@@ -1 +1,126 @@ | |||
1 | #include <asm-generic/futex.h> | 1 | #ifndef _ASM_MICROBLAZE_FUTEX_H |
2 | #define _ASM_MICROBLAZE_FUTEX_H | ||
3 | |||
4 | #ifdef __KERNEL__ | ||
5 | |||
6 | #include <linux/futex.h> | ||
7 | #include <linux/uaccess.h> | ||
8 | #include <asm/errno.h> | ||
9 | |||
10 | #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ | ||
11 | ({ \ | ||
12 | __asm__ __volatile__ ( \ | ||
13 | "1: lwx %0, %2, r0; " \ | ||
14 | insn \ | ||
15 | "2: swx %1, %2, r0; \ | ||
16 | addic %1, r0, 0; \ | ||
17 | bnei %1, 1b; \ | ||
18 | 3: \ | ||
19 | .section .fixup,\"ax\"; \ | ||
20 | 4: brid 3b; \ | ||
21 | addik %1, r0, %3; \ | ||
22 | .previous; \ | ||
23 | .section __ex_table,\"a\"; \ | ||
24 | .word 1b,4b,2b,4b; \ | ||
25 | .previous;" \ | ||
26 | : "=&r" (oldval), "=&r" (ret) \ | ||
27 | : "b" (uaddr), "i" (-EFAULT), "r" (oparg) \ | ||
28 | ); \ | ||
29 | }) | ||
30 | |||
31 | static inline int | ||
32 | futex_atomic_op_inuser(int encoded_op, int __user *uaddr) | ||
33 | { | ||
34 | int op = (encoded_op >> 28) & 7; | ||
35 | int cmp = (encoded_op >> 24) & 15; | ||
36 | int oparg = (encoded_op << 8) >> 20; | ||
37 | int cmparg = (encoded_op << 20) >> 20; | ||
38 | int oldval = 0, ret; | ||
39 | if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) | ||
40 | oparg = 1 << oparg; | ||
41 | |||
42 | if (!access_ok(VERIFY_WRITE, uaddr, sizeof(int))) | ||
43 | return -EFAULT; | ||
44 | |||
45 | pagefault_disable(); | ||
46 | |||
47 | switch (op) { | ||
48 | case FUTEX_OP_SET: | ||
49 | __futex_atomic_op("or %1,%4,%4;", ret, oldval, uaddr, oparg); | ||
50 | break; | ||
51 | case FUTEX_OP_ADD: | ||
52 | __futex_atomic_op("add %1,%0,%4;", ret, oldval, uaddr, oparg); | ||
53 | break; | ||
54 | case FUTEX_OP_OR: | ||
55 | __futex_atomic_op("or %1,%0,%4;", ret, oldval, uaddr, oparg); | ||
56 | break; | ||
57 | case FUTEX_OP_ANDN: | ||
58 | __futex_atomic_op("and %1,%0,%4;", ret, oldval, uaddr, oparg); | ||
59 | break; | ||
60 | case FUTEX_OP_XOR: | ||
61 | __futex_atomic_op("xor %1,%0,%4;", ret, oldval, uaddr, oparg); | ||
62 | break; | ||
63 | default: | ||
64 | ret = -ENOSYS; | ||
65 | } | ||
66 | |||
67 | pagefault_enable(); | ||
68 | |||
69 | if (!ret) { | ||
70 | switch (cmp) { | ||
71 | case FUTEX_OP_CMP_EQ: | ||
72 | ret = (oldval == cmparg); | ||
73 | break; | ||
74 | case FUTEX_OP_CMP_NE: | ||
75 | ret = (oldval != cmparg); | ||
76 | break; | ||
77 | case FUTEX_OP_CMP_LT: | ||
78 | ret = (oldval < cmparg); | ||
79 | break; | ||
80 | case FUTEX_OP_CMP_GE: | ||
81 | ret = (oldval >= cmparg); | ||
82 | break; | ||
83 | case FUTEX_OP_CMP_LE: | ||
84 | ret = (oldval <= cmparg); | ||
85 | break; | ||
86 | case FUTEX_OP_CMP_GT: | ||
87 | ret = (oldval > cmparg); | ||
88 | break; | ||
89 | default: | ||
90 | ret = -ENOSYS; | ||
91 | } | ||
92 | } | ||
93 | return ret; | ||
94 | } | ||
95 | |||
96 | static inline int | ||
97 | futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) | ||
98 | { | ||
99 | int prev, cmp; | ||
100 | |||
101 | if (!access_ok(VERIFY_WRITE, uaddr, sizeof(int))) | ||
102 | return -EFAULT; | ||
103 | |||
104 | __asm__ __volatile__ ("1: lwx %0, %2, r0; \ | ||
105 | cmp %1, %0, %3; \ | ||
106 | beqi %1, 3f; \ | ||
107 | 2: swx %4, %2, r0; \ | ||
108 | addic %1, r0, 0; \ | ||
109 | bnei %1, 1b; \ | ||
110 | 3: \ | ||
111 | .section .fixup,\"ax\"; \ | ||
112 | 4: brid 3b; \ | ||
113 | addik %0, r0, %5; \ | ||
114 | .previous; \ | ||
115 | .section __ex_table,\"a\"; \ | ||
116 | .word 1b,4b,2b,4b; \ | ||
117 | .previous;" \ | ||
118 | : "=&r" (prev), "=&r"(cmp) \ | ||
119 | : "r" (uaddr), "r" (oldval), "r" (newval), "i" (-EFAULT)); | ||
120 | |||
121 | return prev; | ||
122 | } | ||
123 | |||
124 | #endif /* __KERNEL__ */ | ||
125 | |||
126 | #endif | ||
diff --git a/arch/microblaze/include/asm/irqflags.h b/arch/microblaze/include/asm/irqflags.h index dea65645a4f8..2c38c6d80176 100644 --- a/arch/microblaze/include/asm/irqflags.h +++ b/arch/microblaze/include/asm/irqflags.h | |||
@@ -10,78 +10,73 @@ | |||
10 | #define _ASM_MICROBLAZE_IRQFLAGS_H | 10 | #define _ASM_MICROBLAZE_IRQFLAGS_H |
11 | 11 | ||
12 | #include <linux/irqflags.h> | 12 | #include <linux/irqflags.h> |
13 | #include <asm/registers.h> | ||
13 | 14 | ||
14 | # if CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR | 15 | # if CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR |
15 | 16 | ||
16 | # define local_irq_save(flags) \ | 17 | # define raw_local_irq_save(flags) \ |
17 | do { \ | 18 | do { \ |
18 | asm volatile ("# local_irq_save \n\t" \ | 19 | asm volatile (" msrclr %0, %1; \ |
19 | "msrclr %0, %1 \n\t" \ | 20 | nop;" \ |
20 | "nop \n\t" \ | ||
21 | : "=r"(flags) \ | 21 | : "=r"(flags) \ |
22 | : "i"(MSR_IE) \ | 22 | : "i"(MSR_IE) \ |
23 | : "memory"); \ | 23 | : "memory"); \ |
24 | } while (0) | 24 | } while (0) |
25 | 25 | ||
26 | # define local_irq_disable() \ | 26 | # define raw_local_irq_disable() \ |
27 | do { \ | 27 | do { \ |
28 | asm volatile ("# local_irq_disable \n\t" \ | 28 | asm volatile (" msrclr r0, %0; \ |
29 | "msrclr r0, %0 \n\t" \ | 29 | nop;" \ |
30 | "nop \n\t" \ | 30 | : \ |
31 | : \ | 31 | : "i"(MSR_IE) \ |
32 | : "i"(MSR_IE) \ | 32 | : "memory"); \ |
33 | : "memory"); \ | ||
34 | } while (0) | 33 | } while (0) |
35 | 34 | ||
36 | # define local_irq_enable() \ | 35 | # define raw_local_irq_enable() \ |
37 | do { \ | 36 | do { \ |
38 | asm volatile ("# local_irq_enable \n\t" \ | 37 | asm volatile (" msrset r0, %0; \ |
39 | "msrset r0, %0 \n\t" \ | 38 | nop;" \ |
40 | "nop \n\t" \ | 39 | : \ |
41 | : \ | 40 | : "i"(MSR_IE) \ |
42 | : "i"(MSR_IE) \ | 41 | : "memory"); \ |
43 | : "memory"); \ | ||
44 | } while (0) | 42 | } while (0) |
45 | 43 | ||
46 | # else /* CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR == 0 */ | 44 | # else /* CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR == 0 */ |
47 | 45 | ||
48 | # define local_irq_save(flags) \ | 46 | # define raw_local_irq_save(flags) \ |
49 | do { \ | 47 | do { \ |
50 | register unsigned tmp; \ | 48 | register unsigned tmp; \ |
51 | asm volatile ("# local_irq_save \n\t" \ | 49 | asm volatile (" mfs %0, rmsr; \ |
52 | "mfs %0, rmsr \n\t" \ | 50 | nop; \ |
53 | "nop \n\t" \ | 51 | andi %1, %0, %2; \ |
54 | "andi %1, %0, %2 \n\t" \ | 52 | mts rmsr, %1; \ |
55 | "mts rmsr, %1 \n\t" \ | 53 | nop;" \ |
56 | "nop \n\t" \ | ||
57 | : "=r"(flags), "=r" (tmp) \ | 54 | : "=r"(flags), "=r" (tmp) \ |
58 | : "i"(~MSR_IE) \ | 55 | : "i"(~MSR_IE) \ |
59 | : "memory"); \ | 56 | : "memory"); \ |
60 | } while (0) | 57 | } while (0) |
61 | 58 | ||
62 | # define local_irq_disable() \ | 59 | # define raw_local_irq_disable() \ |
63 | do { \ | 60 | do { \ |
64 | register unsigned tmp; \ | 61 | register unsigned tmp; \ |
65 | asm volatile ("# local_irq_disable \n\t" \ | 62 | asm volatile (" mfs %0, rmsr; \ |
66 | "mfs %0, rmsr \n\t" \ | 63 | nop; \ |
67 | "nop \n\t" \ | 64 | andi %0, %0, %1; \ |
68 | "andi %0, %0, %1 \n\t" \ | 65 | mts rmsr, %0; \ |
69 | "mts rmsr, %0 \n\t" \ | 66 | nop;" \ |
70 | "nop \n\t" \ | ||
71 | : "=r"(tmp) \ | 67 | : "=r"(tmp) \ |
72 | : "i"(~MSR_IE) \ | 68 | : "i"(~MSR_IE) \ |
73 | : "memory"); \ | 69 | : "memory"); \ |
74 | } while (0) | 70 | } while (0) |
75 | 71 | ||
76 | # define local_irq_enable() \ | 72 | # define raw_local_irq_enable() \ |
77 | do { \ | 73 | do { \ |
78 | register unsigned tmp; \ | 74 | register unsigned tmp; \ |
79 | asm volatile ("# local_irq_enable \n\t" \ | 75 | asm volatile (" mfs %0, rmsr; \ |
80 | "mfs %0, rmsr \n\t" \ | 76 | nop; \ |
81 | "nop \n\t" \ | 77 | ori %0, %0, %1; \ |
82 | "ori %0, %0, %1 \n\t" \ | 78 | mts rmsr, %0; \ |
83 | "mts rmsr, %0 \n\t" \ | 79 | nop;" \ |
84 | "nop \n\t" \ | ||
85 | : "=r"(tmp) \ | 80 | : "=r"(tmp) \ |
86 | : "i"(MSR_IE) \ | 81 | : "i"(MSR_IE) \ |
87 | : "memory"); \ | 82 | : "memory"); \ |
@@ -89,35 +84,28 @@ | |||
89 | 84 | ||
90 | # endif /* CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR */ | 85 | # endif /* CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR */ |
91 | 86 | ||
92 | #define local_save_flags(flags) \ | 87 | #define raw_local_irq_restore(flags) \ |
93 | do { \ | 88 | do { \ |
94 | asm volatile ("# local_save_flags \n\t" \ | 89 | asm volatile (" mts rmsr, %0; \ |
95 | "mfs %0, rmsr \n\t" \ | 90 | nop;" \ |
96 | "nop \n\t" \ | ||
97 | : "=r"(flags) \ | ||
98 | : \ | 91 | : \ |
92 | : "r"(flags) \ | ||
99 | : "memory"); \ | 93 | : "memory"); \ |
100 | } while (0) | 94 | } while (0) |
101 | 95 | ||
102 | #define local_irq_restore(flags) \ | 96 | static inline unsigned long get_msr(void) |
103 | do { \ | ||
104 | asm volatile ("# local_irq_restore \n\t"\ | ||
105 | "mts rmsr, %0 \n\t" \ | ||
106 | "nop \n\t" \ | ||
107 | : \ | ||
108 | : "r"(flags) \ | ||
109 | : "memory"); \ | ||
110 | } while (0) | ||
111 | |||
112 | static inline int irqs_disabled(void) | ||
113 | { | 97 | { |
114 | unsigned long flags; | 98 | unsigned long flags; |
115 | 99 | asm volatile (" mfs %0, rmsr; \ | |
116 | local_save_flags(flags); | 100 | nop;" \ |
117 | return ((flags & MSR_IE) == 0); | 101 | : "=r"(flags) \ |
102 | : \ | ||
103 | : "memory"); \ | ||
104 | return flags; | ||
118 | } | 105 | } |
119 | 106 | ||
120 | #define raw_irqs_disabled irqs_disabled | 107 | #define raw_local_save_flags(flags) ((flags) = get_msr()) |
121 | #define raw_irqs_disabled_flags(flags) ((flags) == 0) | 108 | #define raw_irqs_disabled() ((get_msr() & MSR_IE) == 0) |
109 | #define raw_irqs_disabled_flags(flags) ((flags & MSR_IE) == 0) | ||
122 | 110 | ||
123 | #endif /* _ASM_MICROBLAZE_IRQFLAGS_H */ | 111 | #endif /* _ASM_MICROBLAZE_IRQFLAGS_H */ |
diff --git a/arch/microblaze/include/asm/page.h b/arch/microblaze/include/asm/page.h index 880c988c2237..9b66c0fa9a32 100644 --- a/arch/microblaze/include/asm/page.h +++ b/arch/microblaze/include/asm/page.h | |||
@@ -164,7 +164,8 @@ extern int page_is_ram(unsigned long pfn); | |||
164 | # endif /* CONFIG_MMU */ | 164 | # endif /* CONFIG_MMU */ |
165 | 165 | ||
166 | # ifndef CONFIG_MMU | 166 | # ifndef CONFIG_MMU |
167 | # define pfn_valid(pfn) ((pfn) >= min_low_pfn && (pfn) <= max_mapnr) | 167 | # define pfn_valid(pfn) (((pfn) >= min_low_pfn) && \ |
168 | ((pfn) <= (min_low_pfn + max_mapnr))) | ||
168 | # define ARCH_PFN_OFFSET (PAGE_OFFSET >> PAGE_SHIFT) | 169 | # define ARCH_PFN_OFFSET (PAGE_OFFSET >> PAGE_SHIFT) |
169 | # else /* CONFIG_MMU */ | 170 | # else /* CONFIG_MMU */ |
170 | # define ARCH_PFN_OFFSET (memory_start >> PAGE_SHIFT) | 171 | # define ARCH_PFN_OFFSET (memory_start >> PAGE_SHIFT) |
diff --git a/arch/microblaze/include/asm/pgalloc.h b/arch/microblaze/include/asm/pgalloc.h index b0131da1387b..7547f5064560 100644 --- a/arch/microblaze/include/asm/pgalloc.h +++ b/arch/microblaze/include/asm/pgalloc.h | |||
@@ -106,9 +106,6 @@ extern inline void free_pgd_slow(pgd_t *pgd) | |||
106 | */ | 106 | */ |
107 | #define pmd_alloc_one_fast(mm, address) ({ BUG(); ((pmd_t *)1); }) | 107 | #define pmd_alloc_one_fast(mm, address) ({ BUG(); ((pmd_t *)1); }) |
108 | #define pmd_alloc_one(mm, address) ({ BUG(); ((pmd_t *)2); }) | 108 | #define pmd_alloc_one(mm, address) ({ BUG(); ((pmd_t *)2); }) |
109 | /* FIXME two definition - look below */ | ||
110 | #define pmd_free(mm, x) do { } while (0) | ||
111 | #define pgd_populate(mm, pmd, pte) BUG() | ||
112 | 109 | ||
113 | static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, | 110 | static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, |
114 | unsigned long address) | 111 | unsigned long address) |
@@ -192,14 +189,14 @@ extern inline void pte_free(struct mm_struct *mm, struct page *ptepage) | |||
192 | * the pgd will always be present.. | 189 | * the pgd will always be present.. |
193 | */ | 190 | */ |
194 | #define pmd_alloc_one(mm, address) ({ BUG(); ((pmd_t *)2); }) | 191 | #define pmd_alloc_one(mm, address) ({ BUG(); ((pmd_t *)2); }) |
195 | /*#define pmd_free(mm, x) do { } while (0)*/ | 192 | #define pmd_free(mm, x) do { } while (0) |
196 | #define __pmd_free_tlb(tlb, x, addr) do { } while (0) | 193 | #define __pmd_free_tlb(tlb, x, addr) pmd_free((tlb)->mm, x) |
197 | #define pgd_populate(mm, pmd, pte) BUG() | 194 | #define pgd_populate(mm, pmd, pte) BUG() |
198 | 195 | ||
199 | extern int do_check_pgt_cache(int, int); | 196 | extern int do_check_pgt_cache(int, int); |
200 | 197 | ||
201 | #endif /* CONFIG_MMU */ | 198 | #endif /* CONFIG_MMU */ |
202 | 199 | ||
203 | #define check_pgt_cache() do {} while (0) | 200 | #define check_pgt_cache() do { } while (0) |
204 | 201 | ||
205 | #endif /* _ASM_MICROBLAZE_PGALLOC_H */ | 202 | #endif /* _ASM_MICROBLAZE_PGALLOC_H */ |
diff --git a/arch/microblaze/include/asm/pvr.h b/arch/microblaze/include/asm/pvr.h index 66f1b30dd097..e38abc7714b6 100644 --- a/arch/microblaze/include/asm/pvr.h +++ b/arch/microblaze/include/asm/pvr.h | |||
@@ -76,20 +76,23 @@ struct pvr_s { | |||
76 | #define PVR3_FSL_LINKS_MASK 0x00000380 | 76 | #define PVR3_FSL_LINKS_MASK 0x00000380 |
77 | 77 | ||
78 | /* ICache config PVR masks */ | 78 | /* ICache config PVR masks */ |
79 | #define PVR4_USE_ICACHE_MASK 0x80000000 | 79 | #define PVR4_USE_ICACHE_MASK 0x80000000 /* ICU */ |
80 | #define PVR4_ICACHE_ADDR_TAG_BITS_MASK 0x7C000000 | 80 | #define PVR4_ICACHE_ADDR_TAG_BITS_MASK 0x7C000000 /* ICTS */ |
81 | #define PVR4_ICACHE_USE_FSL_MASK 0x02000000 | 81 | #define PVR4_ICACHE_ALLOW_WR_MASK 0x01000000 /* ICW */ |
82 | #define PVR4_ICACHE_ALLOW_WR_MASK 0x01000000 | 82 | #define PVR4_ICACHE_LINE_LEN_MASK 0x00E00000 /* ICLL */ |
83 | #define PVR4_ICACHE_LINE_LEN_MASK 0x00E00000 | 83 | #define PVR4_ICACHE_BYTE_SIZE_MASK 0x001F0000 /* ICBS */ |
84 | #define PVR4_ICACHE_BYTE_SIZE_MASK 0x001F0000 | 84 | #define PVR4_ICACHE_ALWAYS_USED 0x00008000 /* IAU */ |
85 | #define PVR4_ICACHE_INTERFACE 0x00002000 /* ICI */ | ||
85 | 86 | ||
86 | /* DCache config PVR masks */ | 87 | /* DCache config PVR masks */ |
87 | #define PVR5_USE_DCACHE_MASK 0x80000000 | 88 | #define PVR5_USE_DCACHE_MASK 0x80000000 /* DCU */ |
88 | #define PVR5_DCACHE_ADDR_TAG_BITS_MASK 0x7C000000 | 89 | #define PVR5_DCACHE_ADDR_TAG_BITS_MASK 0x7C000000 /* DCTS */ |
89 | #define PVR5_DCACHE_USE_FSL_MASK 0x02000000 | 90 | #define PVR5_DCACHE_ALLOW_WR_MASK 0x01000000 /* DCW */ |
90 | #define PVR5_DCACHE_ALLOW_WR_MASK 0x01000000 | 91 | #define PVR5_DCACHE_LINE_LEN_MASK 0x00E00000 /* DCLL */ |
91 | #define PVR5_DCACHE_LINE_LEN_MASK 0x00E00000 | 92 | #define PVR5_DCACHE_BYTE_SIZE_MASK 0x001F0000 /* DCBS */ |
92 | #define PVR5_DCACHE_BYTE_SIZE_MASK 0x001F0000 | 93 | #define PVR5_DCACHE_ALWAYS_USED 0x00008000 /* DAU */ |
94 | #define PVR5_DCACHE_USE_WRITEBACK 0x00004000 /* DWB */ | ||
95 | #define PVR5_DCACHE_INTERFACE 0x00002000 /* DCI */ | ||
93 | 96 | ||
94 | /* ICache base address PVR mask */ | 97 | /* ICache base address PVR mask */ |
95 | #define PVR6_ICACHE_BASEADDR_MASK 0xFFFFFFFF | 98 | #define PVR6_ICACHE_BASEADDR_MASK 0xFFFFFFFF |
@@ -178,11 +181,14 @@ struct pvr_s { | |||
178 | ((pvr.pvr[5] & PVR5_DCACHE_ADDR_TAG_BITS_MASK) >> 26) | 181 | ((pvr.pvr[5] & PVR5_DCACHE_ADDR_TAG_BITS_MASK) >> 26) |
179 | #define PVR_DCACHE_USE_FSL(pvr) (pvr.pvr[5] & PVR5_DCACHE_USE_FSL_MASK) | 182 | #define PVR_DCACHE_USE_FSL(pvr) (pvr.pvr[5] & PVR5_DCACHE_USE_FSL_MASK) |
180 | #define PVR_DCACHE_ALLOW_WR(pvr) (pvr.pvr[5] & PVR5_DCACHE_ALLOW_WR_MASK) | 183 | #define PVR_DCACHE_ALLOW_WR(pvr) (pvr.pvr[5] & PVR5_DCACHE_ALLOW_WR_MASK) |
184 | /* FIXME two shifts on one line needs any comment */ | ||
181 | #define PVR_DCACHE_LINE_LEN(pvr) \ | 185 | #define PVR_DCACHE_LINE_LEN(pvr) \ |
182 | (1 << ((pvr.pvr[5] & PVR5_DCACHE_LINE_LEN_MASK) >> 21)) | 186 | (1 << ((pvr.pvr[5] & PVR5_DCACHE_LINE_LEN_MASK) >> 21)) |
183 | #define PVR_DCACHE_BYTE_SIZE(pvr) \ | 187 | #define PVR_DCACHE_BYTE_SIZE(pvr) \ |
184 | (1 << ((pvr.pvr[5] & PVR5_DCACHE_BYTE_SIZE_MASK) >> 16)) | 188 | (1 << ((pvr.pvr[5] & PVR5_DCACHE_BYTE_SIZE_MASK) >> 16)) |
185 | 189 | ||
190 | #define PVR_DCACHE_USE_WRITEBACK(pvr) \ | ||
191 | ((pvr.pvr[5] & PVR5_DCACHE_USE_WRITEBACK) >> 14) | ||
186 | 192 | ||
187 | #define PVR_ICACHE_BASEADDR(pvr) (pvr.pvr[6] & PVR6_ICACHE_BASEADDR_MASK) | 193 | #define PVR_ICACHE_BASEADDR(pvr) (pvr.pvr[6] & PVR6_ICACHE_BASEADDR_MASK) |
188 | #define PVR_ICACHE_HIGHADDR(pvr) (pvr.pvr[7] & PVR7_ICACHE_HIGHADDR_MASK) | 194 | #define PVR_ICACHE_HIGHADDR(pvr) (pvr.pvr[7] & PVR7_ICACHE_HIGHADDR_MASK) |
diff --git a/arch/microblaze/include/asm/setup.h b/arch/microblaze/include/asm/setup.h index ed67c9ed15b8..7f31394985e0 100644 --- a/arch/microblaze/include/asm/setup.h +++ b/arch/microblaze/include/asm/setup.h | |||
@@ -35,6 +35,8 @@ extern void mmu_reset(void); | |||
35 | extern void early_console_reg_tlb_alloc(unsigned int addr); | 35 | extern void early_console_reg_tlb_alloc(unsigned int addr); |
36 | # endif /* CONFIG_MMU */ | 36 | # endif /* CONFIG_MMU */ |
37 | 37 | ||
38 | extern void of_platform_reset_gpio_probe(void); | ||
39 | |||
38 | void time_init(void); | 40 | void time_init(void); |
39 | void init_IRQ(void); | 41 | void init_IRQ(void); |
40 | void machine_early_init(const char *cmdline, unsigned int ram, | 42 | void machine_early_init(const char *cmdline, unsigned int ram, |
diff --git a/arch/microblaze/include/asm/system.h b/arch/microblaze/include/asm/system.h index b1ed61590660..157970688b2a 100644 --- a/arch/microblaze/include/asm/system.h +++ b/arch/microblaze/include/asm/system.h | |||
@@ -16,6 +16,8 @@ | |||
16 | #include <asm-generic/cmpxchg.h> | 16 | #include <asm-generic/cmpxchg.h> |
17 | #include <asm-generic/cmpxchg-local.h> | 17 | #include <asm-generic/cmpxchg-local.h> |
18 | 18 | ||
19 | #define __ARCH_WANT_INTERRUPTS_ON_CTXSW | ||
20 | |||
19 | struct task_struct; | 21 | struct task_struct; |
20 | struct thread_info; | 22 | struct thread_info; |
21 | 23 | ||
diff --git a/arch/microblaze/include/asm/uaccess.h b/arch/microblaze/include/asm/uaccess.h index 5431b4631a7a..371bd6e56d9a 100644 --- a/arch/microblaze/include/asm/uaccess.h +++ b/arch/microblaze/include/asm/uaccess.h | |||
@@ -272,8 +272,9 @@ static inline int clear_user(char *to, int size) | |||
272 | return size; | 272 | return size; |
273 | } | 273 | } |
274 | 274 | ||
275 | extern unsigned long __copy_tofrom_user(void __user *to, | 275 | #define __copy_from_user(to, from, n) copy_from_user((to), (from), (n)) |
276 | const void __user *from, unsigned long size); | 276 | #define __copy_from_user_inatomic(to, from, n) \ |
277 | copy_from_user((to), (from), (n)) | ||
277 | 278 | ||
278 | #define copy_to_user(to, from, n) \ | 279 | #define copy_to_user(to, from, n) \ |
279 | (access_ok(VERIFY_WRITE, (to), (n)) ? \ | 280 | (access_ok(VERIFY_WRITE, (to), (n)) ? \ |
@@ -290,10 +291,6 @@ extern unsigned long __copy_tofrom_user(void __user *to, | |||
290 | (void __user *)(from), (n)) \ | 291 | (void __user *)(from), (n)) \ |
291 | : -EFAULT) | 292 | : -EFAULT) |
292 | 293 | ||
293 | #define __copy_from_user(to, from, n) copy_from_user((to), (from), (n)) | ||
294 | #define __copy_from_user_inatomic(to, from, n) \ | ||
295 | copy_from_user((to), (from), (n)) | ||
296 | |||
297 | extern int __strncpy_user(char *to, const char __user *from, int len); | 294 | extern int __strncpy_user(char *to, const char __user *from, int len); |
298 | extern int __strnlen_user(const char __user *sstr, int len); | 295 | extern int __strnlen_user(const char __user *sstr, int len); |
299 | 296 | ||
@@ -305,6 +302,9 @@ extern int __strnlen_user(const char __user *sstr, int len); | |||
305 | 302 | ||
306 | #endif /* CONFIG_MMU */ | 303 | #endif /* CONFIG_MMU */ |
307 | 304 | ||
305 | extern unsigned long __copy_tofrom_user(void __user *to, | ||
306 | const void __user *from, unsigned long size); | ||
307 | |||
308 | /* | 308 | /* |
309 | * The exception table consists of pairs of addresses: the first is the | 309 | * The exception table consists of pairs of addresses: the first is the |
310 | * address of an instruction that is allowed to fault, and the second is | 310 | * address of an instruction that is allowed to fault, and the second is |
diff --git a/arch/microblaze/kernel/Makefile b/arch/microblaze/kernel/Makefile index d487729683de..b07594eccf9b 100644 --- a/arch/microblaze/kernel/Makefile +++ b/arch/microblaze/kernel/Makefile | |||
@@ -2,12 +2,22 @@ | |||
2 | # Makefile | 2 | # Makefile |
3 | # | 3 | # |
4 | 4 | ||
5 | ifdef CONFIG_FUNCTION_TRACER | ||
6 | # Do not trace early boot code and low level code | ||
7 | CFLAGS_REMOVE_timer.o = -pg | ||
8 | CFLAGS_REMOVE_intc.o = -pg | ||
9 | CFLAGS_REMOVE_early_printk.o = -pg | ||
10 | CFLAGS_REMOVE_selfmod.o = -pg | ||
11 | CFLAGS_REMOVE_heartbeat.o = -pg | ||
12 | CFLAGS_REMOVE_ftrace.o = -pg | ||
13 | endif | ||
14 | |||
5 | extra-y := head.o vmlinux.lds | 15 | extra-y := head.o vmlinux.lds |
6 | 16 | ||
7 | obj-y += exceptions.o \ | 17 | obj-y += exceptions.o \ |
8 | hw_exception_handler.o init_task.o intc.o irq.o of_device.o \ | 18 | hw_exception_handler.o init_task.o intc.o irq.o of_device.o \ |
9 | of_platform.o process.o prom.o prom_parse.o ptrace.o \ | 19 | of_platform.o process.o prom.o prom_parse.o ptrace.o \ |
10 | setup.o signal.o sys_microblaze.o timer.o traps.o | 20 | setup.o signal.o sys_microblaze.o timer.o traps.o reset.o |
11 | 21 | ||
12 | obj-y += cpu/ | 22 | obj-y += cpu/ |
13 | 23 | ||
@@ -16,5 +26,7 @@ obj-$(CONFIG_SELFMOD) += selfmod.o | |||
16 | obj-$(CONFIG_HEART_BEAT) += heartbeat.o | 26 | obj-$(CONFIG_HEART_BEAT) += heartbeat.o |
17 | obj-$(CONFIG_MODULES) += microblaze_ksyms.o module.o | 27 | obj-$(CONFIG_MODULES) += microblaze_ksyms.o module.o |
18 | obj-$(CONFIG_MMU) += misc.o | 28 | obj-$(CONFIG_MMU) += misc.o |
29 | obj-$(CONFIG_STACKTRACE) += stacktrace.o | ||
30 | obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o mcount.o | ||
19 | 31 | ||
20 | obj-y += entry$(MMU).o | 32 | obj-y += entry$(MMU).o |
diff --git a/arch/microblaze/kernel/cpu/Makefile b/arch/microblaze/kernel/cpu/Makefile index 20646e549271..59cc7bceaf8c 100644 --- a/arch/microblaze/kernel/cpu/Makefile +++ b/arch/microblaze/kernel/cpu/Makefile | |||
@@ -2,6 +2,10 @@ | |||
2 | # Build the appropriate CPU version support | 2 | # Build the appropriate CPU version support |
3 | # | 3 | # |
4 | 4 | ||
5 | ifdef CONFIG_FUNCTION_TRACER | ||
6 | CFLAGS_REMOVE_cache.o = -pg | ||
7 | endif | ||
8 | |||
5 | EXTRA_CFLAGS += -DCPU_MAJOR=$(CPU_MAJOR) -DCPU_MINOR=$(CPU_MINOR) \ | 9 | EXTRA_CFLAGS += -DCPU_MAJOR=$(CPU_MAJOR) -DCPU_MINOR=$(CPU_MINOR) \ |
6 | -DCPU_REV=$(CPU_REV) | 10 | -DCPU_REV=$(CPU_REV) |
7 | 11 | ||
diff --git a/arch/microblaze/kernel/cpu/cache.c b/arch/microblaze/kernel/cpu/cache.c index af866a450125..d9d63831cc2f 100644 --- a/arch/microblaze/kernel/cpu/cache.c +++ b/arch/microblaze/kernel/cpu/cache.c | |||
@@ -3,7 +3,7 @@ | |||
3 | * | 3 | * |
4 | * Copyright (C) 2007-2009 Michal Simek <monstr@monstr.eu> | 4 | * Copyright (C) 2007-2009 Michal Simek <monstr@monstr.eu> |
5 | * Copyright (C) 2007-2009 PetaLogix | 5 | * Copyright (C) 2007-2009 PetaLogix |
6 | * Copyright (C) 2007 John Williams <john.williams@petalogix.com> | 6 | * Copyright (C) 2007-2009 John Williams <john.williams@petalogix.com> |
7 | * | 7 | * |
8 | * This file is subject to the terms and conditions of the GNU General | 8 | * This file is subject to the terms and conditions of the GNU General |
9 | * Public License. See the file COPYING in the main directory of this | 9 | * Public License. See the file COPYING in the main directory of this |
@@ -13,243 +13,534 @@ | |||
13 | #include <asm/cacheflush.h> | 13 | #include <asm/cacheflush.h> |
14 | #include <linux/cache.h> | 14 | #include <linux/cache.h> |
15 | #include <asm/cpuinfo.h> | 15 | #include <asm/cpuinfo.h> |
16 | #include <asm/pvr.h> | ||
16 | 17 | ||
17 | /* Exported functions */ | 18 | static inline void __invalidate_flush_icache(unsigned int addr) |
19 | { | ||
20 | __asm__ __volatile__ ("wic %0, r0;" \ | ||
21 | : : "r" (addr)); | ||
22 | } | ||
23 | |||
24 | static inline void __flush_dcache(unsigned int addr) | ||
25 | { | ||
26 | __asm__ __volatile__ ("wdc.flush %0, r0;" \ | ||
27 | : : "r" (addr)); | ||
28 | } | ||
29 | |||
30 | static inline void __invalidate_dcache(unsigned int baseaddr, | ||
31 | unsigned int offset) | ||
32 | { | ||
33 | __asm__ __volatile__ ("wdc.clear %0, %1;" \ | ||
34 | : : "r" (baseaddr), "r" (offset)); | ||
35 | } | ||
18 | 36 | ||
19 | void _enable_icache(void) | 37 | static inline void __enable_icache_msr(void) |
20 | { | 38 | { |
21 | if (cpuinfo.use_icache) { | 39 | __asm__ __volatile__ (" msrset r0, %0; \ |
22 | #if CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR | 40 | nop; " \ |
23 | __asm__ __volatile__ (" \ | 41 | : : "i" (MSR_ICE) : "memory"); |
24 | msrset r0, %0; \ | 42 | } |
25 | nop; " \ | 43 | |
26 | : \ | 44 | static inline void __disable_icache_msr(void) |
27 | : "i" (MSR_ICE) \ | 45 | { |
46 | __asm__ __volatile__ (" msrclr r0, %0; \ | ||
47 | nop; " \ | ||
48 | : : "i" (MSR_ICE) : "memory"); | ||
49 | } | ||
50 | |||
51 | static inline void __enable_dcache_msr(void) | ||
52 | { | ||
53 | __asm__ __volatile__ (" msrset r0, %0; \ | ||
54 | nop; " \ | ||
55 | : \ | ||
56 | : "i" (MSR_DCE) \ | ||
28 | : "memory"); | 57 | : "memory"); |
29 | #else | ||
30 | __asm__ __volatile__ (" \ | ||
31 | mfs r12, rmsr; \ | ||
32 | nop; \ | ||
33 | ori r12, r12, %0; \ | ||
34 | mts rmsr, r12; \ | ||
35 | nop; " \ | ||
36 | : \ | ||
37 | : "i" (MSR_ICE) \ | ||
38 | : "memory", "r12"); | ||
39 | #endif | ||
40 | } | ||
41 | } | 58 | } |
42 | 59 | ||
43 | void _disable_icache(void) | 60 | static inline void __disable_dcache_msr(void) |
44 | { | 61 | { |
45 | if (cpuinfo.use_icache) { | 62 | __asm__ __volatile__ (" msrclr r0, %0; \ |
46 | #if CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR | 63 | nop; " \ |
47 | __asm__ __volatile__ (" \ | 64 | : \ |
48 | msrclr r0, %0; \ | 65 | : "i" (MSR_DCE) \ |
49 | nop; " \ | ||
50 | : \ | ||
51 | : "i" (MSR_ICE) \ | ||
52 | : "memory"); | 66 | : "memory"); |
53 | #else | 67 | } |
54 | __asm__ __volatile__ (" \ | 68 | |
55 | mfs r12, rmsr; \ | 69 | static inline void __enable_icache_nomsr(void) |
56 | nop; \ | 70 | { |
57 | andi r12, r12, ~%0; \ | 71 | __asm__ __volatile__ (" mfs r12, rmsr; \ |
58 | mts rmsr, r12; \ | 72 | nop; \ |
59 | nop; " \ | 73 | ori r12, r12, %0; \ |
60 | : \ | 74 | mts rmsr, r12; \ |
61 | : "i" (MSR_ICE) \ | 75 | nop; " \ |
76 | : \ | ||
77 | : "i" (MSR_ICE) \ | ||
62 | : "memory", "r12"); | 78 | : "memory", "r12"); |
63 | #endif | ||
64 | } | ||
65 | } | 79 | } |
66 | 80 | ||
67 | void _invalidate_icache(unsigned int addr) | 81 | static inline void __disable_icache_nomsr(void) |
68 | { | 82 | { |
69 | if (cpuinfo.use_icache) { | 83 | __asm__ __volatile__ (" mfs r12, rmsr; \ |
70 | __asm__ __volatile__ (" \ | 84 | nop; \ |
71 | wic %0, r0" \ | 85 | andi r12, r12, ~%0; \ |
72 | : \ | 86 | mts rmsr, r12; \ |
73 | : "r" (addr)); | 87 | nop; " \ |
74 | } | 88 | : \ |
89 | : "i" (MSR_ICE) \ | ||
90 | : "memory", "r12"); | ||
75 | } | 91 | } |
76 | 92 | ||
77 | void _enable_dcache(void) | 93 | static inline void __enable_dcache_nomsr(void) |
78 | { | 94 | { |
79 | if (cpuinfo.use_dcache) { | 95 | __asm__ __volatile__ (" mfs r12, rmsr; \ |
80 | #if CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR | 96 | nop; \ |
81 | __asm__ __volatile__ (" \ | 97 | ori r12, r12, %0; \ |
82 | msrset r0, %0; \ | 98 | mts rmsr, r12; \ |
83 | nop; " \ | 99 | nop; " \ |
84 | : \ | 100 | : \ |
85 | : "i" (MSR_DCE) \ | 101 | : "i" (MSR_DCE) \ |
86 | : "memory"); | ||
87 | #else | ||
88 | __asm__ __volatile__ (" \ | ||
89 | mfs r12, rmsr; \ | ||
90 | nop; \ | ||
91 | ori r12, r12, %0; \ | ||
92 | mts rmsr, r12; \ | ||
93 | nop; " \ | ||
94 | : \ | ||
95 | : "i" (MSR_DCE) \ | ||
96 | : "memory", "r12"); | 102 | : "memory", "r12"); |
97 | #endif | ||
98 | } | ||
99 | } | 103 | } |
100 | 104 | ||
101 | void _disable_dcache(void) | 105 | static inline void __disable_dcache_nomsr(void) |
102 | { | 106 | { |
103 | #if CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR | 107 | __asm__ __volatile__ (" mfs r12, rmsr; \ |
104 | __asm__ __volatile__ (" \ | 108 | nop; \ |
105 | msrclr r0, %0; \ | 109 | andi r12, r12, ~%0; \ |
106 | nop; " \ | 110 | mts rmsr, r12; \ |
107 | : \ | 111 | nop; " \ |
108 | : "i" (MSR_DCE) \ | 112 | : \ |
109 | : "memory"); | 113 | : "i" (MSR_DCE) \ |
110 | #else | ||
111 | __asm__ __volatile__ (" \ | ||
112 | mfs r12, rmsr; \ | ||
113 | nop; \ | ||
114 | andi r12, r12, ~%0; \ | ||
115 | mts rmsr, r12; \ | ||
116 | nop; " \ | ||
117 | : \ | ||
118 | : "i" (MSR_DCE) \ | ||
119 | : "memory", "r12"); | 114 | : "memory", "r12"); |
120 | #endif | ||
121 | } | 115 | } |
122 | 116 | ||
123 | void _invalidate_dcache(unsigned int addr) | 117 | |
118 | /* Helper macro for computing the limits of cache range loops */ | ||
119 | #define CACHE_LOOP_LIMITS(start, end, cache_line_length, cache_size) \ | ||
120 | do { \ | ||
121 | int align = ~(cache_line_length - 1); \ | ||
122 | end = min(start + cache_size, end); \ | ||
123 | start &= align; \ | ||
124 | end = ((end & align) + cache_line_length); \ | ||
125 | } while (0); | ||
126 | |||
127 | /* | ||
128 | * Helper macro to loop over the specified cache_size/line_length and | ||
129 | * execute 'op' on that cacheline | ||
130 | */ | ||
131 | #define CACHE_ALL_LOOP(cache_size, line_length, op) \ | ||
132 | do { \ | ||
133 | unsigned int len = cache_size; \ | ||
134 | int step = -line_length; \ | ||
135 | BUG_ON(step >= 0); \ | ||
136 | \ | ||
137 | __asm__ __volatile__ (" 1: " #op " %0, r0; \ | ||
138 | bgtid %0, 1b; \ | ||
139 | addk %0, %0, %1; \ | ||
140 | " : : "r" (len), "r" (step) \ | ||
141 | : "memory"); \ | ||
142 | } while (0); | ||
143 | |||
144 | |||
145 | #define CACHE_ALL_LOOP2(cache_size, line_length, op) \ | ||
146 | do { \ | ||
147 | unsigned int len = cache_size; \ | ||
148 | int step = -line_length; \ | ||
149 | BUG_ON(step >= 0); \ | ||
150 | \ | ||
151 | __asm__ __volatile__ (" 1: " #op " r0, %0; \ | ||
152 | bgtid %0, 1b; \ | ||
153 | addk %0, %0, %1; \ | ||
154 | " : : "r" (len), "r" (step) \ | ||
155 | : "memory"); \ | ||
156 | } while (0); | ||
157 | |||
158 | /* for wdc.flush/clear */ | ||
159 | #define CACHE_RANGE_LOOP_2(start, end, line_length, op) \ | ||
160 | do { \ | ||
161 | int step = -line_length; \ | ||
162 | int count = end - start; \ | ||
163 | BUG_ON(count <= 0); \ | ||
164 | \ | ||
165 | __asm__ __volatile__ (" 1: " #op " %0, %1; \ | ||
166 | bgtid %1, 1b; \ | ||
167 | addk %1, %1, %2; \ | ||
168 | " : : "r" (start), "r" (count), \ | ||
169 | "r" (step) : "memory"); \ | ||
170 | } while (0); | ||
171 | |||
172 | /* It is used only first parameter for OP - for wic, wdc */ | ||
173 | #define CACHE_RANGE_LOOP_1(start, end, line_length, op) \ | ||
174 | do { \ | ||
175 | int step = -line_length; \ | ||
176 | int count = end - start; \ | ||
177 | BUG_ON(count <= 0); \ | ||
178 | \ | ||
179 | __asm__ __volatile__ (" 1: addk %0, %0, %1; \ | ||
180 | " #op " %0, r0; \ | ||
181 | bgtid %1, 1b; \ | ||
182 | addk %1, %1, %2; \ | ||
183 | " : : "r" (start), "r" (count), \ | ||
184 | "r" (step) : "memory"); \ | ||
185 | } while (0); | ||
186 | |||
187 | static void __flush_icache_range_msr_irq(unsigned long start, unsigned long end) | ||
124 | { | 188 | { |
125 | __asm__ __volatile__ (" \ | 189 | unsigned long flags; |
126 | wdc %0, r0" \ | 190 | |
127 | : \ | 191 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
128 | : "r" (addr)); | 192 | (unsigned int)start, (unsigned int) end); |
193 | |||
194 | CACHE_LOOP_LIMITS(start, end, | ||
195 | cpuinfo.icache_line_length, cpuinfo.icache_size); | ||
196 | |||
197 | local_irq_save(flags); | ||
198 | __disable_icache_msr(); | ||
199 | |||
200 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.icache_line_length, wic); | ||
201 | |||
202 | __enable_icache_msr(); | ||
203 | local_irq_restore(flags); | ||
129 | } | 204 | } |
130 | 205 | ||
131 | void __invalidate_icache_all(void) | 206 | static void __flush_icache_range_nomsr_irq(unsigned long start, |
207 | unsigned long end) | ||
132 | { | 208 | { |
133 | unsigned int i; | 209 | unsigned long flags; |
134 | unsigned flags; | ||
135 | 210 | ||
136 | if (cpuinfo.use_icache) { | 211 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
137 | local_irq_save(flags); | 212 | (unsigned int)start, (unsigned int) end); |
138 | __disable_icache(); | ||
139 | 213 | ||
140 | /* Just loop through cache size and invalidate, no need to add | 214 | CACHE_LOOP_LIMITS(start, end, |
141 | CACHE_BASE address */ | 215 | cpuinfo.icache_line_length, cpuinfo.icache_size); |
142 | for (i = 0; i < cpuinfo.icache_size; | ||
143 | i += cpuinfo.icache_line) | ||
144 | __invalidate_icache(i); | ||
145 | 216 | ||
146 | __enable_icache(); | 217 | local_irq_save(flags); |
147 | local_irq_restore(flags); | 218 | __disable_icache_nomsr(); |
148 | } | 219 | |
220 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.icache_line_length, wic); | ||
221 | |||
222 | __enable_icache_nomsr(); | ||
223 | local_irq_restore(flags); | ||
149 | } | 224 | } |
150 | 225 | ||
151 | void __invalidate_icache_range(unsigned long start, unsigned long end) | 226 | static void __flush_icache_range_noirq(unsigned long start, |
227 | unsigned long end) | ||
152 | { | 228 | { |
153 | unsigned int i; | 229 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
154 | unsigned flags; | 230 | (unsigned int)start, (unsigned int) end); |
155 | unsigned int align; | 231 | |
156 | 232 | CACHE_LOOP_LIMITS(start, end, | |
157 | if (cpuinfo.use_icache) { | 233 | cpuinfo.icache_line_length, cpuinfo.icache_size); |
158 | /* | 234 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.icache_line_length, wic); |
159 | * No need to cover entire cache range, | 235 | } |
160 | * just cover cache footprint | 236 | |
161 | */ | 237 | static void __flush_icache_all_msr_irq(void) |
162 | end = min(start + cpuinfo.icache_size, end); | 238 | { |
163 | align = ~(cpuinfo.icache_line - 1); | 239 | unsigned long flags; |
164 | start &= align; /* Make sure we are aligned */ | 240 | |
165 | /* Push end up to the next cache line */ | 241 | pr_debug("%s\n", __func__); |
166 | end = ((end & align) + cpuinfo.icache_line); | 242 | |
167 | 243 | local_irq_save(flags); | |
168 | local_irq_save(flags); | 244 | __disable_icache_msr(); |
169 | __disable_icache(); | 245 | |
170 | 246 | CACHE_ALL_LOOP(cpuinfo.icache_size, cpuinfo.icache_line_length, wic); | |
171 | for (i = start; i < end; i += cpuinfo.icache_line) | 247 | |
172 | __invalidate_icache(i); | 248 | __enable_icache_msr(); |
173 | 249 | local_irq_restore(flags); | |
174 | __enable_icache(); | 250 | } |
175 | local_irq_restore(flags); | 251 | |
176 | } | 252 | static void __flush_icache_all_nomsr_irq(void) |
253 | { | ||
254 | unsigned long flags; | ||
255 | |||
256 | pr_debug("%s\n", __func__); | ||
257 | |||
258 | local_irq_save(flags); | ||
259 | __disable_icache_nomsr(); | ||
260 | |||
261 | CACHE_ALL_LOOP(cpuinfo.icache_size, cpuinfo.icache_line_length, wic); | ||
262 | |||
263 | __enable_icache_nomsr(); | ||
264 | local_irq_restore(flags); | ||
177 | } | 265 | } |
178 | 266 | ||
179 | void __invalidate_icache_page(struct vm_area_struct *vma, struct page *page) | 267 | static void __flush_icache_all_noirq(void) |
180 | { | 268 | { |
181 | __invalidate_icache_all(); | 269 | pr_debug("%s\n", __func__); |
270 | CACHE_ALL_LOOP(cpuinfo.icache_size, cpuinfo.icache_line_length, wic); | ||
182 | } | 271 | } |
183 | 272 | ||
184 | void __invalidate_icache_user_range(struct vm_area_struct *vma, | 273 | static void __invalidate_dcache_all_msr_irq(void) |
185 | struct page *page, unsigned long adr, | ||
186 | int len) | ||
187 | { | 274 | { |
188 | __invalidate_icache_all(); | 275 | unsigned long flags; |
276 | |||
277 | pr_debug("%s\n", __func__); | ||
278 | |||
279 | local_irq_save(flags); | ||
280 | __disable_dcache_msr(); | ||
281 | |||
282 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, wdc); | ||
283 | |||
284 | __enable_dcache_msr(); | ||
285 | local_irq_restore(flags); | ||
189 | } | 286 | } |
190 | 287 | ||
191 | void __invalidate_cache_sigtramp(unsigned long addr) | 288 | static void __invalidate_dcache_all_nomsr_irq(void) |
192 | { | 289 | { |
193 | __invalidate_icache_range(addr, addr + 8); | 290 | unsigned long flags; |
291 | |||
292 | pr_debug("%s\n", __func__); | ||
293 | |||
294 | local_irq_save(flags); | ||
295 | __disable_dcache_nomsr(); | ||
296 | |||
297 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, wdc); | ||
298 | |||
299 | __enable_dcache_nomsr(); | ||
300 | local_irq_restore(flags); | ||
194 | } | 301 | } |
195 | 302 | ||
196 | void __invalidate_dcache_all(void) | 303 | static void __invalidate_dcache_all_noirq_wt(void) |
197 | { | 304 | { |
198 | unsigned int i; | 305 | pr_debug("%s\n", __func__); |
199 | unsigned flags; | 306 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, wdc) |
200 | |||
201 | if (cpuinfo.use_dcache) { | ||
202 | local_irq_save(flags); | ||
203 | __disable_dcache(); | ||
204 | |||
205 | /* | ||
206 | * Just loop through cache size and invalidate, | ||
207 | * no need to add CACHE_BASE address | ||
208 | */ | ||
209 | for (i = 0; i < cpuinfo.dcache_size; | ||
210 | i += cpuinfo.dcache_line) | ||
211 | __invalidate_dcache(i); | ||
212 | |||
213 | __enable_dcache(); | ||
214 | local_irq_restore(flags); | ||
215 | } | ||
216 | } | 307 | } |
217 | 308 | ||
218 | void __invalidate_dcache_range(unsigned long start, unsigned long end) | 309 | /* FIXME this is weird - should be only wdc but not work |
310 | * MS: I am getting bus errors and other weird things */ | ||
311 | static void __invalidate_dcache_all_wb(void) | ||
219 | { | 312 | { |
313 | pr_debug("%s\n", __func__); | ||
314 | CACHE_ALL_LOOP2(cpuinfo.dcache_size, cpuinfo.dcache_line_length, | ||
315 | wdc.clear) | ||
316 | |||
317 | #if 0 | ||
220 | unsigned int i; | 318 | unsigned int i; |
221 | unsigned flags; | 319 | |
222 | unsigned int align; | 320 | pr_debug("%s\n", __func__); |
223 | 321 | ||
224 | if (cpuinfo.use_dcache) { | 322 | /* Just loop through cache size and invalidate it */ |
225 | /* | 323 | for (i = 0; i < cpuinfo.dcache_size; i += cpuinfo.dcache_line_length) |
226 | * No need to cover entire cache range, | 324 | __invalidate_dcache(0, i); |
227 | * just cover cache footprint | 325 | #endif |
228 | */ | 326 | } |
229 | end = min(start + cpuinfo.dcache_size, end); | 327 | |
230 | align = ~(cpuinfo.dcache_line - 1); | 328 | static void __invalidate_dcache_range_wb(unsigned long start, |
231 | start &= align; /* Make sure we are aligned */ | 329 | unsigned long end) |
232 | /* Push end up to the next cache line */ | 330 | { |
233 | end = ((end & align) + cpuinfo.dcache_line); | 331 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
234 | local_irq_save(flags); | 332 | (unsigned int)start, (unsigned int) end); |
235 | __disable_dcache(); | 333 | |
236 | 334 | CACHE_LOOP_LIMITS(start, end, | |
237 | for (i = start; i < end; i += cpuinfo.dcache_line) | 335 | cpuinfo.dcache_line_length, cpuinfo.dcache_size); |
238 | __invalidate_dcache(i); | 336 | CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.clear); |
239 | 337 | } | |
240 | __enable_dcache(); | 338 | |
241 | local_irq_restore(flags); | 339 | static void __invalidate_dcache_range_nomsr_wt(unsigned long start, |
242 | } | 340 | unsigned long end) |
341 | { | ||
342 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, | ||
343 | (unsigned int)start, (unsigned int) end); | ||
344 | CACHE_LOOP_LIMITS(start, end, | ||
345 | cpuinfo.dcache_line_length, cpuinfo.dcache_size); | ||
346 | |||
347 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); | ||
243 | } | 348 | } |
244 | 349 | ||
245 | void __invalidate_dcache_page(struct vm_area_struct *vma, struct page *page) | 350 | static void __invalidate_dcache_range_msr_irq_wt(unsigned long start, |
351 | unsigned long end) | ||
246 | { | 352 | { |
247 | __invalidate_dcache_all(); | 353 | unsigned long flags; |
354 | |||
355 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, | ||
356 | (unsigned int)start, (unsigned int) end); | ||
357 | CACHE_LOOP_LIMITS(start, end, | ||
358 | cpuinfo.dcache_line_length, cpuinfo.dcache_size); | ||
359 | |||
360 | local_irq_save(flags); | ||
361 | __disable_dcache_msr(); | ||
362 | |||
363 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); | ||
364 | |||
365 | __enable_dcache_msr(); | ||
366 | local_irq_restore(flags); | ||
367 | } | ||
368 | |||
369 | static void __invalidate_dcache_range_nomsr_irq(unsigned long start, | ||
370 | unsigned long end) | ||
371 | { | ||
372 | unsigned long flags; | ||
373 | |||
374 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, | ||
375 | (unsigned int)start, (unsigned int) end); | ||
376 | |||
377 | CACHE_LOOP_LIMITS(start, end, | ||
378 | cpuinfo.dcache_line_length, cpuinfo.dcache_size); | ||
379 | |||
380 | local_irq_save(flags); | ||
381 | __disable_dcache_nomsr(); | ||
382 | |||
383 | CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); | ||
384 | |||
385 | __enable_dcache_nomsr(); | ||
386 | local_irq_restore(flags); | ||
387 | } | ||
388 | |||
389 | static void __flush_dcache_all_wb(void) | ||
390 | { | ||
391 | pr_debug("%s\n", __func__); | ||
392 | CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, | ||
393 | wdc.flush); | ||
248 | } | 394 | } |
249 | 395 | ||
250 | void __invalidate_dcache_user_range(struct vm_area_struct *vma, | 396 | static void __flush_dcache_range_wb(unsigned long start, unsigned long end) |
251 | struct page *page, unsigned long adr, | ||
252 | int len) | ||
253 | { | 397 | { |
254 | __invalidate_dcache_all(); | 398 | pr_debug("%s: start 0x%x, end 0x%x\n", __func__, |
399 | (unsigned int)start, (unsigned int) end); | ||
400 | |||
401 | CACHE_LOOP_LIMITS(start, end, | ||
402 | cpuinfo.dcache_line_length, cpuinfo.dcache_size); | ||
403 | CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.flush); | ||
404 | } | ||
405 | |||
406 | /* struct for wb caches and for wt caches */ | ||
407 | struct scache *mbc; | ||
408 | |||
409 | /* new wb cache model */ | ||
410 | const struct scache wb_msr = { | ||
411 | .ie = __enable_icache_msr, | ||
412 | .id = __disable_icache_msr, | ||
413 | .ifl = __flush_icache_all_noirq, | ||
414 | .iflr = __flush_icache_range_noirq, | ||
415 | .iin = __flush_icache_all_noirq, | ||
416 | .iinr = __flush_icache_range_noirq, | ||
417 | .de = __enable_dcache_msr, | ||
418 | .dd = __disable_dcache_msr, | ||
419 | .dfl = __flush_dcache_all_wb, | ||
420 | .dflr = __flush_dcache_range_wb, | ||
421 | .din = __invalidate_dcache_all_wb, | ||
422 | .dinr = __invalidate_dcache_range_wb, | ||
423 | }; | ||
424 | |||
425 | /* There is only difference in ie, id, de, dd functions */ | ||
426 | const struct scache wb_nomsr = { | ||
427 | .ie = __enable_icache_nomsr, | ||
428 | .id = __disable_icache_nomsr, | ||
429 | .ifl = __flush_icache_all_noirq, | ||
430 | .iflr = __flush_icache_range_noirq, | ||
431 | .iin = __flush_icache_all_noirq, | ||
432 | .iinr = __flush_icache_range_noirq, | ||
433 | .de = __enable_dcache_nomsr, | ||
434 | .dd = __disable_dcache_nomsr, | ||
435 | .dfl = __flush_dcache_all_wb, | ||
436 | .dflr = __flush_dcache_range_wb, | ||
437 | .din = __invalidate_dcache_all_wb, | ||
438 | .dinr = __invalidate_dcache_range_wb, | ||
439 | }; | ||
440 | |||
441 | /* Old wt cache model with disabling irq and turn off cache */ | ||
442 | const struct scache wt_msr = { | ||
443 | .ie = __enable_icache_msr, | ||
444 | .id = __disable_icache_msr, | ||
445 | .ifl = __flush_icache_all_msr_irq, | ||
446 | .iflr = __flush_icache_range_msr_irq, | ||
447 | .iin = __flush_icache_all_msr_irq, | ||
448 | .iinr = __flush_icache_range_msr_irq, | ||
449 | .de = __enable_dcache_msr, | ||
450 | .dd = __disable_dcache_msr, | ||
451 | .dfl = __invalidate_dcache_all_msr_irq, | ||
452 | .dflr = __invalidate_dcache_range_msr_irq_wt, | ||
453 | .din = __invalidate_dcache_all_msr_irq, | ||
454 | .dinr = __invalidate_dcache_range_msr_irq_wt, | ||
455 | }; | ||
456 | |||
457 | const struct scache wt_nomsr = { | ||
458 | .ie = __enable_icache_nomsr, | ||
459 | .id = __disable_icache_nomsr, | ||
460 | .ifl = __flush_icache_all_nomsr_irq, | ||
461 | .iflr = __flush_icache_range_nomsr_irq, | ||
462 | .iin = __flush_icache_all_nomsr_irq, | ||
463 | .iinr = __flush_icache_range_nomsr_irq, | ||
464 | .de = __enable_dcache_nomsr, | ||
465 | .dd = __disable_dcache_nomsr, | ||
466 | .dfl = __invalidate_dcache_all_nomsr_irq, | ||
467 | .dflr = __invalidate_dcache_range_nomsr_irq, | ||
468 | .din = __invalidate_dcache_all_nomsr_irq, | ||
469 | .dinr = __invalidate_dcache_range_nomsr_irq, | ||
470 | }; | ||
471 | |||
472 | /* New wt cache model for newer Microblaze versions */ | ||
473 | const struct scache wt_msr_noirq = { | ||
474 | .ie = __enable_icache_msr, | ||
475 | .id = __disable_icache_msr, | ||
476 | .ifl = __flush_icache_all_noirq, | ||
477 | .iflr = __flush_icache_range_noirq, | ||
478 | .iin = __flush_icache_all_noirq, | ||
479 | .iinr = __flush_icache_range_noirq, | ||
480 | .de = __enable_dcache_msr, | ||
481 | .dd = __disable_dcache_msr, | ||
482 | .dfl = __invalidate_dcache_all_noirq_wt, | ||
483 | .dflr = __invalidate_dcache_range_nomsr_wt, | ||
484 | .din = __invalidate_dcache_all_noirq_wt, | ||
485 | .dinr = __invalidate_dcache_range_nomsr_wt, | ||
486 | }; | ||
487 | |||
488 | const struct scache wt_nomsr_noirq = { | ||
489 | .ie = __enable_icache_nomsr, | ||
490 | .id = __disable_icache_nomsr, | ||
491 | .ifl = __flush_icache_all_noirq, | ||
492 | .iflr = __flush_icache_range_noirq, | ||
493 | .iin = __flush_icache_all_noirq, | ||
494 | .iinr = __flush_icache_range_noirq, | ||
495 | .de = __enable_dcache_nomsr, | ||
496 | .dd = __disable_dcache_nomsr, | ||
497 | .dfl = __invalidate_dcache_all_noirq_wt, | ||
498 | .dflr = __invalidate_dcache_range_nomsr_wt, | ||
499 | .din = __invalidate_dcache_all_noirq_wt, | ||
500 | .dinr = __invalidate_dcache_range_nomsr_wt, | ||
501 | }; | ||
502 | |||
503 | /* CPU version code for 7.20.c - see arch/microblaze/kernel/cpu/cpuinfo.c */ | ||
504 | #define CPUVER_7_20_A 0x0c | ||
505 | #define CPUVER_7_20_D 0x0f | ||
506 | |||
507 | #define INFO(s) printk(KERN_INFO "cache: " s " \n"); | ||
508 | |||
509 | void microblaze_cache_init(void) | ||
510 | { | ||
511 | if (cpuinfo.use_instr & PVR2_USE_MSR_INSTR) { | ||
512 | if (cpuinfo.dcache_wb) { | ||
513 | INFO("wb_msr"); | ||
514 | mbc = (struct scache *)&wb_msr; | ||
515 | if (cpuinfo.ver_code < CPUVER_7_20_D) { | ||
516 | /* MS: problem with signal handling - hw bug */ | ||
517 | INFO("WB won't work properly"); | ||
518 | } | ||
519 | } else { | ||
520 | if (cpuinfo.ver_code >= CPUVER_7_20_A) { | ||
521 | INFO("wt_msr_noirq"); | ||
522 | mbc = (struct scache *)&wt_msr_noirq; | ||
523 | } else { | ||
524 | INFO("wt_msr"); | ||
525 | mbc = (struct scache *)&wt_msr; | ||
526 | } | ||
527 | } | ||
528 | } else { | ||
529 | if (cpuinfo.dcache_wb) { | ||
530 | INFO("wb_nomsr"); | ||
531 | mbc = (struct scache *)&wb_nomsr; | ||
532 | if (cpuinfo.ver_code < CPUVER_7_20_D) { | ||
533 | /* MS: problem with signal handling - hw bug */ | ||
534 | INFO("WB won't work properly"); | ||
535 | } | ||
536 | } else { | ||
537 | if (cpuinfo.ver_code >= CPUVER_7_20_A) { | ||
538 | INFO("wt_nomsr_noirq"); | ||
539 | mbc = (struct scache *)&wt_nomsr_noirq; | ||
540 | } else { | ||
541 | INFO("wt_nomsr"); | ||
542 | mbc = (struct scache *)&wt_nomsr; | ||
543 | } | ||
544 | } | ||
545 | } | ||
255 | } | 546 | } |
diff --git a/arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c b/arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c index c259786e7faa..f72dbd66c844 100644 --- a/arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c +++ b/arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c | |||
@@ -21,8 +21,14 @@ | |||
21 | */ | 21 | */ |
22 | 22 | ||
23 | #define CI(c, p) { ci->c = PVR_##p(pvr); } | 23 | #define CI(c, p) { ci->c = PVR_##p(pvr); } |
24 | |||
25 | #if defined(CONFIG_EARLY_PRINTK) && defined(CONFIG_SERIAL_UARTLITE_CONSOLE) | ||
24 | #define err_printk(x) \ | 26 | #define err_printk(x) \ |
25 | early_printk("ERROR: Microblaze " x "-different for PVR and DTS\n"); | 27 | early_printk("ERROR: Microblaze " x "-different for PVR and DTS\n"); |
28 | #else | ||
29 | #define err_printk(x) \ | ||
30 | printk(KERN_INFO "ERROR: Microblaze " x "-different for PVR and DTS\n"); | ||
31 | #endif | ||
26 | 32 | ||
27 | void set_cpuinfo_pvr_full(struct cpuinfo *ci, struct device_node *cpu) | 33 | void set_cpuinfo_pvr_full(struct cpuinfo *ci, struct device_node *cpu) |
28 | { | 34 | { |
@@ -70,7 +76,7 @@ void set_cpuinfo_pvr_full(struct cpuinfo *ci, struct device_node *cpu) | |||
70 | CI(use_icache, USE_ICACHE); | 76 | CI(use_icache, USE_ICACHE); |
71 | CI(icache_tagbits, ICACHE_ADDR_TAG_BITS); | 77 | CI(icache_tagbits, ICACHE_ADDR_TAG_BITS); |
72 | CI(icache_write, ICACHE_ALLOW_WR); | 78 | CI(icache_write, ICACHE_ALLOW_WR); |
73 | CI(icache_line, ICACHE_LINE_LEN); | 79 | ci->icache_line_length = PVR_ICACHE_LINE_LEN(pvr) << 2; |
74 | CI(icache_size, ICACHE_BYTE_SIZE); | 80 | CI(icache_size, ICACHE_BYTE_SIZE); |
75 | CI(icache_base, ICACHE_BASEADDR); | 81 | CI(icache_base, ICACHE_BASEADDR); |
76 | CI(icache_high, ICACHE_HIGHADDR); | 82 | CI(icache_high, ICACHE_HIGHADDR); |
@@ -78,11 +84,16 @@ void set_cpuinfo_pvr_full(struct cpuinfo *ci, struct device_node *cpu) | |||
78 | CI(use_dcache, USE_DCACHE); | 84 | CI(use_dcache, USE_DCACHE); |
79 | CI(dcache_tagbits, DCACHE_ADDR_TAG_BITS); | 85 | CI(dcache_tagbits, DCACHE_ADDR_TAG_BITS); |
80 | CI(dcache_write, DCACHE_ALLOW_WR); | 86 | CI(dcache_write, DCACHE_ALLOW_WR); |
81 | CI(dcache_line, DCACHE_LINE_LEN); | 87 | ci->dcache_line_length = PVR_DCACHE_LINE_LEN(pvr) << 2; |
82 | CI(dcache_size, DCACHE_BYTE_SIZE); | 88 | CI(dcache_size, DCACHE_BYTE_SIZE); |
83 | CI(dcache_base, DCACHE_BASEADDR); | 89 | CI(dcache_base, DCACHE_BASEADDR); |
84 | CI(dcache_high, DCACHE_HIGHADDR); | 90 | CI(dcache_high, DCACHE_HIGHADDR); |
85 | 91 | ||
92 | temp = PVR_DCACHE_USE_WRITEBACK(pvr); | ||
93 | if (ci->dcache_wb != temp) | ||
94 | err_printk("DCACHE WB"); | ||
95 | ci->dcache_wb = temp; | ||
96 | |||
86 | CI(use_dopb, D_OPB); | 97 | CI(use_dopb, D_OPB); |
87 | CI(use_iopb, I_OPB); | 98 | CI(use_iopb, I_OPB); |
88 | CI(use_dlmb, D_LMB); | 99 | CI(use_dlmb, D_LMB); |
diff --git a/arch/microblaze/kernel/cpu/cpuinfo-static.c b/arch/microblaze/kernel/cpu/cpuinfo-static.c index adb448f93d5f..6095aa6b5c88 100644 --- a/arch/microblaze/kernel/cpu/cpuinfo-static.c +++ b/arch/microblaze/kernel/cpu/cpuinfo-static.c | |||
@@ -72,12 +72,12 @@ void __init set_cpuinfo_static(struct cpuinfo *ci, struct device_node *cpu) | |||
72 | ci->use_icache = fcpu(cpu, "xlnx,use-icache"); | 72 | ci->use_icache = fcpu(cpu, "xlnx,use-icache"); |
73 | ci->icache_tagbits = fcpu(cpu, "xlnx,addr-tag-bits"); | 73 | ci->icache_tagbits = fcpu(cpu, "xlnx,addr-tag-bits"); |
74 | ci->icache_write = fcpu(cpu, "xlnx,allow-icache-wr"); | 74 | ci->icache_write = fcpu(cpu, "xlnx,allow-icache-wr"); |
75 | ci->icache_line = fcpu(cpu, "xlnx,icache-line-len") << 2; | 75 | ci->icache_line_length = fcpu(cpu, "xlnx,icache-line-len") << 2; |
76 | if (!ci->icache_line) { | 76 | if (!ci->icache_line_length) { |
77 | if (fcpu(cpu, "xlnx,icache-use-fsl")) | 77 | if (fcpu(cpu, "xlnx,icache-use-fsl")) |
78 | ci->icache_line = 4 << 2; | 78 | ci->icache_line_length = 4 << 2; |
79 | else | 79 | else |
80 | ci->icache_line = 1 << 2; | 80 | ci->icache_line_length = 1 << 2; |
81 | } | 81 | } |
82 | ci->icache_size = fcpu(cpu, "i-cache-size"); | 82 | ci->icache_size = fcpu(cpu, "i-cache-size"); |
83 | ci->icache_base = fcpu(cpu, "i-cache-baseaddr"); | 83 | ci->icache_base = fcpu(cpu, "i-cache-baseaddr"); |
@@ -86,16 +86,17 @@ void __init set_cpuinfo_static(struct cpuinfo *ci, struct device_node *cpu) | |||
86 | ci->use_dcache = fcpu(cpu, "xlnx,use-dcache"); | 86 | ci->use_dcache = fcpu(cpu, "xlnx,use-dcache"); |
87 | ci->dcache_tagbits = fcpu(cpu, "xlnx,dcache-addr-tag"); | 87 | ci->dcache_tagbits = fcpu(cpu, "xlnx,dcache-addr-tag"); |
88 | ci->dcache_write = fcpu(cpu, "xlnx,allow-dcache-wr"); | 88 | ci->dcache_write = fcpu(cpu, "xlnx,allow-dcache-wr"); |
89 | ci->dcache_line = fcpu(cpu, "xlnx,dcache-line-len") << 2; | 89 | ci->dcache_line_length = fcpu(cpu, "xlnx,dcache-line-len") << 2; |
90 | if (!ci->dcache_line) { | 90 | if (!ci->dcache_line_length) { |
91 | if (fcpu(cpu, "xlnx,dcache-use-fsl")) | 91 | if (fcpu(cpu, "xlnx,dcache-use-fsl")) |
92 | ci->dcache_line = 4 << 2; | 92 | ci->dcache_line_length = 4 << 2; |
93 | else | 93 | else |
94 | ci->dcache_line = 1 << 2; | 94 | ci->dcache_line_length = 1 << 2; |
95 | } | 95 | } |
96 | ci->dcache_size = fcpu(cpu, "d-cache-size"); | 96 | ci->dcache_size = fcpu(cpu, "d-cache-size"); |
97 | ci->dcache_base = fcpu(cpu, "d-cache-baseaddr"); | 97 | ci->dcache_base = fcpu(cpu, "d-cache-baseaddr"); |
98 | ci->dcache_high = fcpu(cpu, "d-cache-highaddr"); | 98 | ci->dcache_high = fcpu(cpu, "d-cache-highaddr"); |
99 | ci->dcache_wb = fcpu(cpu, "xlnx,dcache-use-writeback"); | ||
99 | 100 | ||
100 | ci->use_dopb = fcpu(cpu, "xlnx,d-opb"); | 101 | ci->use_dopb = fcpu(cpu, "xlnx,d-opb"); |
101 | ci->use_iopb = fcpu(cpu, "xlnx,i-opb"); | 102 | ci->use_iopb = fcpu(cpu, "xlnx,i-opb"); |
diff --git a/arch/microblaze/kernel/cpu/cpuinfo.c b/arch/microblaze/kernel/cpu/cpuinfo.c index 3539babc1c18..991d71311b0e 100644 --- a/arch/microblaze/kernel/cpu/cpuinfo.c +++ b/arch/microblaze/kernel/cpu/cpuinfo.c | |||
@@ -29,11 +29,8 @@ const struct cpu_ver_key cpu_ver_lookup[] = { | |||
29 | {"7.20.a", 0x0c}, | 29 | {"7.20.a", 0x0c}, |
30 | {"7.20.b", 0x0d}, | 30 | {"7.20.b", 0x0d}, |
31 | {"7.20.c", 0x0e}, | 31 | {"7.20.c", 0x0e}, |
32 | /* FIXME There is no keycode defined in MBV for these versions */ | 32 | {"7.20.d", 0x0f}, |
33 | {"2.10.a", 0x10}, | 33 | {"7.30.a", 0x10}, |
34 | {"3.00.a", 0x20}, | ||
35 | {"4.00.a", 0x30}, | ||
36 | {"4.00.b", 0x40}, | ||
37 | {NULL, 0}, | 34 | {NULL, 0}, |
38 | }; | 35 | }; |
39 | 36 | ||
diff --git a/arch/microblaze/kernel/cpu/mb.c b/arch/microblaze/kernel/cpu/mb.c index 4dcfccdbc364..0c912b2a8e03 100644 --- a/arch/microblaze/kernel/cpu/mb.c +++ b/arch/microblaze/kernel/cpu/mb.c | |||
@@ -103,11 +103,15 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
103 | else | 103 | else |
104 | count += seq_printf(m, "Icache:\t\tno\n"); | 104 | count += seq_printf(m, "Icache:\t\tno\n"); |
105 | 105 | ||
106 | if (cpuinfo.use_dcache) | 106 | if (cpuinfo.use_dcache) { |
107 | count += seq_printf(m, | 107 | count += seq_printf(m, |
108 | "Dcache:\t\t%ukB\n", | 108 | "Dcache:\t\t%ukB\n", |
109 | cpuinfo.dcache_size >> 10); | 109 | cpuinfo.dcache_size >> 10); |
110 | else | 110 | if (cpuinfo.dcache_wb) |
111 | count += seq_printf(m, "\t\twrite-back\n"); | ||
112 | else | ||
113 | count += seq_printf(m, "\t\twrite-through\n"); | ||
114 | } else | ||
111 | count += seq_printf(m, "Dcache:\t\tno\n"); | 115 | count += seq_printf(m, "Dcache:\t\tno\n"); |
112 | 116 | ||
113 | count += seq_printf(m, | 117 | count += seq_printf(m, |
diff --git a/arch/microblaze/kernel/cpu/pvr.c b/arch/microblaze/kernel/cpu/pvr.c index c9a4340ddd53..9bee9382bf74 100644 --- a/arch/microblaze/kernel/cpu/pvr.c +++ b/arch/microblaze/kernel/cpu/pvr.c | |||
@@ -45,7 +45,7 @@ | |||
45 | 45 | ||
46 | int cpu_has_pvr(void) | 46 | int cpu_has_pvr(void) |
47 | { | 47 | { |
48 | unsigned flags; | 48 | unsigned long flags; |
49 | unsigned pvr0; | 49 | unsigned pvr0; |
50 | 50 | ||
51 | local_save_flags(flags); | 51 | local_save_flags(flags); |
diff --git a/arch/microblaze/kernel/entry-nommu.S b/arch/microblaze/kernel/entry-nommu.S index 9083d85376a4..95b0855802df 100644 --- a/arch/microblaze/kernel/entry-nommu.S +++ b/arch/microblaze/kernel/entry-nommu.S | |||
@@ -208,8 +208,6 @@ ENTRY(_user_exception) | |||
208 | lwi r1, r1, TS_THREAD_INFO /* get the thread info */ | 208 | lwi r1, r1, TS_THREAD_INFO /* get the thread info */ |
209 | /* calculate kernel stack pointer */ | 209 | /* calculate kernel stack pointer */ |
210 | addik r1, r1, THREAD_SIZE - PT_SIZE | 210 | addik r1, r1, THREAD_SIZE - PT_SIZE |
211 | swi r11, r0, PER_CPU(R11_SAVE) /* temporarily save r11 */ | ||
212 | lwi r11, r0, PER_CPU(KM) /* load mode indicator */ | ||
213 | 2: | 211 | 2: |
214 | swi r11, r1, PT_MODE /* store the mode */ | 212 | swi r11, r1, PT_MODE /* store the mode */ |
215 | lwi r11, r0, PER_CPU(R11_SAVE) /* reload r11 */ | 213 | lwi r11, r0, PER_CPU(R11_SAVE) /* reload r11 */ |
diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S index e3ecb36dd554..3bad4ff49471 100644 --- a/arch/microblaze/kernel/entry.S +++ b/arch/microblaze/kernel/entry.S | |||
@@ -31,6 +31,8 @@ | |||
31 | #include <linux/errno.h> | 31 | #include <linux/errno.h> |
32 | #include <asm/signal.h> | 32 | #include <asm/signal.h> |
33 | 33 | ||
34 | #undef DEBUG | ||
35 | |||
34 | /* The size of a state save frame. */ | 36 | /* The size of a state save frame. */ |
35 | #define STATE_SAVE_SIZE (PT_SIZE + STATE_SAVE_ARG_SPACE) | 37 | #define STATE_SAVE_SIZE (PT_SIZE + STATE_SAVE_ARG_SPACE) |
36 | 38 | ||
@@ -352,10 +354,12 @@ C_ENTRY(_user_exception): | |||
352 | add r12, r12, r12; /* convert num -> ptr */ | 354 | add r12, r12, r12; /* convert num -> ptr */ |
353 | add r12, r12, r12; | 355 | add r12, r12, r12; |
354 | 356 | ||
357 | #ifdef DEBUG | ||
355 | /* Trac syscalls and stored them to r0_ram */ | 358 | /* Trac syscalls and stored them to r0_ram */ |
356 | lwi r3, r12, 0x400 + r0_ram | 359 | lwi r3, r12, 0x400 + r0_ram |
357 | addi r3, r3, 1 | 360 | addi r3, r3, 1 |
358 | swi r3, r12, 0x400 + r0_ram | 361 | swi r3, r12, 0x400 + r0_ram |
362 | #endif | ||
359 | 363 | ||
360 | # Find and jump into the syscall handler. | 364 | # Find and jump into the syscall handler. |
361 | lwi r12, r12, sys_call_table | 365 | lwi r12, r12, sys_call_table |
@@ -496,17 +500,6 @@ C_ENTRY(sys_execve): | |||
496 | brid microblaze_execve; /* Do real work (tail-call).*/ | 500 | brid microblaze_execve; /* Do real work (tail-call).*/ |
497 | nop; | 501 | nop; |
498 | 502 | ||
499 | C_ENTRY(sys_rt_sigsuspend_wrapper): | ||
500 | swi r3, r1, PTO+PT_R3; /* restore saved r3, r4 registers */ | ||
501 | swi r4, r1, PTO+PT_R4; | ||
502 | la r7, r1, PTO; /* add user context as 3rd arg */ | ||
503 | brlid r15, sys_rt_sigsuspend; /* Do real work.*/ | ||
504 | nop; | ||
505 | lwi r3, r1, PTO+PT_R3; /* restore saved r3, r4 registers */ | ||
506 | lwi r4, r1, PTO+PT_R4; | ||
507 | bri ret_from_trap /* fall through will not work here due to align */ | ||
508 | nop; | ||
509 | |||
510 | C_ENTRY(sys_rt_sigreturn_wrapper): | 503 | C_ENTRY(sys_rt_sigreturn_wrapper): |
511 | swi r3, r1, PTO+PT_R3; /* restore saved r3, r4 registers */ | 504 | swi r3, r1, PTO+PT_R3; /* restore saved r3, r4 registers */ |
512 | swi r4, r1, PTO+PT_R4; | 505 | swi r4, r1, PTO+PT_R4; |
@@ -711,15 +704,11 @@ C_ENTRY(ret_from_exc): | |||
711 | * (in a possibly modified form) after do_signal returns. | 704 | * (in a possibly modified form) after do_signal returns. |
712 | * store return registers separately because this macros is use | 705 | * store return registers separately because this macros is use |
713 | * for others exceptions */ | 706 | * for others exceptions */ |
714 | swi r3, r1, PTO + PT_R3; | ||
715 | swi r4, r1, PTO + PT_R4; | ||
716 | la r5, r1, PTO; /* Arg 1: struct pt_regs *regs */ | 707 | la r5, r1, PTO; /* Arg 1: struct pt_regs *regs */ |
717 | add r6, r0, r0; /* Arg 2: sigset_t *oldset */ | 708 | add r6, r0, r0; /* Arg 2: sigset_t *oldset */ |
718 | addi r7, r0, 0; /* Arg 3: int in_syscall */ | 709 | addi r7, r0, 0; /* Arg 3: int in_syscall */ |
719 | bralid r15, do_signal; /* Handle any signals */ | 710 | bralid r15, do_signal; /* Handle any signals */ |
720 | nop; | 711 | nop; |
721 | lwi r3, r1, PTO+PT_R3; /* restore saved r3, r4 registers */ | ||
722 | lwi r4, r1, PTO+PT_R4; | ||
723 | 712 | ||
724 | /* Finally, return to user state. */ | 713 | /* Finally, return to user state. */ |
725 | 1: swi r0, r0, PER_CPU(KM); /* Now officially in user state. */ | 714 | 1: swi r0, r0, PER_CPU(KM); /* Now officially in user state. */ |
diff --git a/arch/microblaze/kernel/ftrace.c b/arch/microblaze/kernel/ftrace.c new file mode 100644 index 000000000000..388b31ca65a1 --- /dev/null +++ b/arch/microblaze/kernel/ftrace.c | |||
@@ -0,0 +1,237 @@ | |||
1 | /* | ||
2 | * Ftrace support for Microblaze. | ||
3 | * | ||
4 | * Copyright (C) 2009 Michal Simek <monstr@monstr.eu> | ||
5 | * Copyright (C) 2009 PetaLogix | ||
6 | * | ||
7 | * Based on MIPS and PowerPC ftrace code | ||
8 | * | ||
9 | * This file is subject to the terms and conditions of the GNU General Public | ||
10 | * License. See the file "COPYING" in the main directory of this archive | ||
11 | * for more details. | ||
12 | */ | ||
13 | |||
14 | #include <asm/cacheflush.h> | ||
15 | #include <linux/ftrace.h> | ||
16 | |||
17 | #ifdef CONFIG_FUNCTION_GRAPH_TRACER | ||
18 | /* | ||
19 | * Hook the return address and push it in the stack of return addrs | ||
20 | * in current thread info. | ||
21 | */ | ||
22 | void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr) | ||
23 | { | ||
24 | unsigned long old; | ||
25 | int faulted, err; | ||
26 | struct ftrace_graph_ent trace; | ||
27 | unsigned long return_hooker = (unsigned long) | ||
28 | &return_to_handler; | ||
29 | |||
30 | if (unlikely(atomic_read(¤t->tracing_graph_pause))) | ||
31 | return; | ||
32 | |||
33 | /* | ||
34 | * Protect against fault, even if it shouldn't | ||
35 | * happen. This tool is too much intrusive to | ||
36 | * ignore such a protection. | ||
37 | */ | ||
38 | asm volatile(" 1: lwi %0, %2, 0; \ | ||
39 | 2: swi %3, %2, 0; \ | ||
40 | addik %1, r0, 0; \ | ||
41 | 3: \ | ||
42 | .section .fixup, \"ax\"; \ | ||
43 | 4: brid 3b; \ | ||
44 | addik %1, r0, 1; \ | ||
45 | .previous; \ | ||
46 | .section __ex_table,\"a\"; \ | ||
47 | .word 1b,4b; \ | ||
48 | .word 2b,4b; \ | ||
49 | .previous;" \ | ||
50 | : "=&r" (old), "=r" (faulted) | ||
51 | : "r" (parent), "r" (return_hooker) | ||
52 | ); | ||
53 | |||
54 | if (unlikely(faulted)) { | ||
55 | ftrace_graph_stop(); | ||
56 | WARN_ON(1); | ||
57 | return; | ||
58 | } | ||
59 | |||
60 | err = ftrace_push_return_trace(old, self_addr, &trace.depth, 0); | ||
61 | if (err == -EBUSY) { | ||
62 | *parent = old; | ||
63 | return; | ||
64 | } | ||
65 | |||
66 | trace.func = self_addr; | ||
67 | /* Only trace if the calling function expects to */ | ||
68 | if (!ftrace_graph_entry(&trace)) { | ||
69 | current->curr_ret_stack--; | ||
70 | *parent = old; | ||
71 | } | ||
72 | } | ||
73 | #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ | ||
74 | |||
75 | #ifdef CONFIG_DYNAMIC_FTRACE | ||
76 | /* save value to addr - it is save to do it in asm */ | ||
77 | static int ftrace_modify_code(unsigned long addr, unsigned int value) | ||
78 | { | ||
79 | int faulted = 0; | ||
80 | |||
81 | __asm__ __volatile__(" 1: swi %2, %1, 0; \ | ||
82 | addik %0, r0, 0; \ | ||
83 | 2: \ | ||
84 | .section .fixup, \"ax\"; \ | ||
85 | 3: brid 2b; \ | ||
86 | addik %0, r0, 1; \ | ||
87 | .previous; \ | ||
88 | .section __ex_table,\"a\"; \ | ||
89 | .word 1b,3b; \ | ||
90 | .previous;" \ | ||
91 | : "=r" (faulted) | ||
92 | : "r" (addr), "r" (value) | ||
93 | ); | ||
94 | |||
95 | if (unlikely(faulted)) | ||
96 | return -EFAULT; | ||
97 | |||
98 | return 0; | ||
99 | } | ||
100 | |||
101 | #define MICROBLAZE_NOP 0x80000000 | ||
102 | #define MICROBLAZE_BRI 0xb800000C | ||
103 | |||
104 | static unsigned int recorded; /* if save was or not */ | ||
105 | static unsigned int imm; /* saving whole imm instruction */ | ||
106 | |||
107 | /* There are two approaches howto solve ftrace_make nop function - look below */ | ||
108 | #undef USE_FTRACE_NOP | ||
109 | |||
110 | #ifdef USE_FTRACE_NOP | ||
111 | static unsigned int bralid; /* saving whole bralid instruction */ | ||
112 | #endif | ||
113 | |||
114 | int ftrace_make_nop(struct module *mod, | ||
115 | struct dyn_ftrace *rec, unsigned long addr) | ||
116 | { | ||
117 | /* we have this part of code which we are working with | ||
118 | * b000c000 imm -16384 | ||
119 | * b9fc8e30 bralid r15, -29136 // c0008e30 <_mcount> | ||
120 | * 80000000 or r0, r0, r0 | ||
121 | * | ||
122 | * The first solution (!USE_FTRACE_NOP-could be called branch solution) | ||
123 | * b000c000 bri 12 (0xC - jump to any other instruction) | ||
124 | * b9fc8e30 bralid r15, -29136 // c0008e30 <_mcount> | ||
125 | * 80000000 or r0, r0, r0 | ||
126 | * any other instruction | ||
127 | * | ||
128 | * The second solution (USE_FTRACE_NOP) - no jump just nops | ||
129 | * 80000000 or r0, r0, r0 | ||
130 | * 80000000 or r0, r0, r0 | ||
131 | * 80000000 or r0, r0, r0 | ||
132 | */ | ||
133 | int ret = 0; | ||
134 | |||
135 | if (recorded == 0) { | ||
136 | recorded = 1; | ||
137 | imm = *(unsigned int *)rec->ip; | ||
138 | pr_debug("%s: imm:0x%x\n", __func__, imm); | ||
139 | #ifdef USE_FTRACE_NOP | ||
140 | bralid = *(unsigned int *)(rec->ip + 4); | ||
141 | pr_debug("%s: bralid 0x%x\n", __func__, bralid); | ||
142 | #endif /* USE_FTRACE_NOP */ | ||
143 | } | ||
144 | |||
145 | #ifdef USE_FTRACE_NOP | ||
146 | ret = ftrace_modify_code(rec->ip, MICROBLAZE_NOP); | ||
147 | ret += ftrace_modify_code(rec->ip + 4, MICROBLAZE_NOP); | ||
148 | #else /* USE_FTRACE_NOP */ | ||
149 | ret = ftrace_modify_code(rec->ip, MICROBLAZE_BRI); | ||
150 | #endif /* USE_FTRACE_NOP */ | ||
151 | return ret; | ||
152 | } | ||
153 | |||
154 | static int ret_addr; /* initialized as 0 by default */ | ||
155 | |||
156 | /* I believe that first is called ftrace_make_nop before this function */ | ||
157 | int ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr) | ||
158 | { | ||
159 | int ret; | ||
160 | ret_addr = addr; /* saving where the barrier jump is */ | ||
161 | pr_debug("%s: addr:0x%x, rec->ip: 0x%x, imm:0x%x\n", | ||
162 | __func__, (unsigned int)addr, (unsigned int)rec->ip, imm); | ||
163 | ret = ftrace_modify_code(rec->ip, imm); | ||
164 | #ifdef USE_FTRACE_NOP | ||
165 | pr_debug("%s: bralid:0x%x\n", __func__, bralid); | ||
166 | ret += ftrace_modify_code(rec->ip + 4, bralid); | ||
167 | #endif /* USE_FTRACE_NOP */ | ||
168 | return ret; | ||
169 | } | ||
170 | |||
171 | int __init ftrace_dyn_arch_init(void *data) | ||
172 | { | ||
173 | /* The return code is retured via data */ | ||
174 | *(unsigned long *)data = 0; | ||
175 | |||
176 | return 0; | ||
177 | } | ||
178 | |||
179 | int ftrace_update_ftrace_func(ftrace_func_t func) | ||
180 | { | ||
181 | unsigned long ip = (unsigned long)(&ftrace_call); | ||
182 | unsigned int upper = (unsigned int)func; | ||
183 | unsigned int lower = (unsigned int)func; | ||
184 | int ret = 0; | ||
185 | |||
186 | /* create proper saving to ftrace_call poll */ | ||
187 | upper = 0xb0000000 + (upper >> 16); /* imm func_upper */ | ||
188 | lower = 0x32800000 + (lower & 0xFFFF); /* addik r20, r0, func_lower */ | ||
189 | |||
190 | pr_debug("%s: func=0x%x, ip=0x%x, upper=0x%x, lower=0x%x\n", | ||
191 | __func__, (unsigned int)func, (unsigned int)ip, upper, lower); | ||
192 | |||
193 | /* save upper and lower code */ | ||
194 | ret = ftrace_modify_code(ip, upper); | ||
195 | ret += ftrace_modify_code(ip + 4, lower); | ||
196 | |||
197 | /* We just need to remove the rtsd r15, 8 by NOP */ | ||
198 | BUG_ON(!ret_addr); | ||
199 | if (ret_addr) | ||
200 | ret += ftrace_modify_code(ret_addr, MICROBLAZE_NOP); | ||
201 | else | ||
202 | ret = 1; /* fault */ | ||
203 | |||
204 | /* All changes are done - lets do caches consistent */ | ||
205 | flush_icache(); | ||
206 | return ret; | ||
207 | } | ||
208 | |||
209 | #ifdef CONFIG_FUNCTION_GRAPH_TRACER | ||
210 | unsigned int old_jump; /* saving place for jump instruction */ | ||
211 | |||
212 | int ftrace_enable_ftrace_graph_caller(void) | ||
213 | { | ||
214 | unsigned int ret; | ||
215 | unsigned long ip = (unsigned long)(&ftrace_call_graph); | ||
216 | |||
217 | old_jump = *(unsigned int *)ip; /* save jump over instruction */ | ||
218 | ret = ftrace_modify_code(ip, MICROBLAZE_NOP); | ||
219 | flush_icache(); | ||
220 | |||
221 | pr_debug("%s: Replace instruction: 0x%x\n", __func__, old_jump); | ||
222 | return ret; | ||
223 | } | ||
224 | |||
225 | int ftrace_disable_ftrace_graph_caller(void) | ||
226 | { | ||
227 | unsigned int ret; | ||
228 | unsigned long ip = (unsigned long)(&ftrace_call_graph); | ||
229 | |||
230 | ret = ftrace_modify_code(ip, old_jump); | ||
231 | flush_icache(); | ||
232 | |||
233 | pr_debug("%s\n", __func__); | ||
234 | return ret; | ||
235 | } | ||
236 | #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ | ||
237 | #endif /* CONFIG_DYNAMIC_FTRACE */ | ||
diff --git a/arch/microblaze/kernel/heartbeat.c b/arch/microblaze/kernel/heartbeat.c index 1bdf20222b92..522751737cfa 100644 --- a/arch/microblaze/kernel/heartbeat.c +++ b/arch/microblaze/kernel/heartbeat.c | |||
@@ -45,6 +45,7 @@ void heartbeat(void) | |||
45 | void setup_heartbeat(void) | 45 | void setup_heartbeat(void) |
46 | { | 46 | { |
47 | struct device_node *gpio = NULL; | 47 | struct device_node *gpio = NULL; |
48 | int *prop; | ||
48 | int j; | 49 | int j; |
49 | char *gpio_list[] = { | 50 | char *gpio_list[] = { |
50 | "xlnx,xps-gpio-1.00.a", | 51 | "xlnx,xps-gpio-1.00.a", |
@@ -58,10 +59,14 @@ void setup_heartbeat(void) | |||
58 | break; | 59 | break; |
59 | } | 60 | } |
60 | 61 | ||
61 | base_addr = *(int *) of_get_property(gpio, "reg", NULL); | 62 | if (gpio) { |
62 | base_addr = (unsigned long) ioremap(base_addr, PAGE_SIZE); | 63 | base_addr = *(int *) of_get_property(gpio, "reg", NULL); |
63 | printk(KERN_NOTICE "Heartbeat GPIO at 0x%x\n", base_addr); | 64 | base_addr = (unsigned long) ioremap(base_addr, PAGE_SIZE); |
65 | printk(KERN_NOTICE "Heartbeat GPIO at 0x%x\n", base_addr); | ||
64 | 66 | ||
65 | if (*(int *) of_get_property(gpio, "xlnx,is-bidir", NULL)) | 67 | /* GPIO is configured as output */ |
66 | out_be32(base_addr + 4, 0); /* GPIO is configured as output */ | 68 | prop = (int *) of_get_property(gpio, "xlnx,is-bidir", NULL); |
69 | if (prop) | ||
70 | out_be32(base_addr + 4, 0); | ||
71 | } | ||
67 | } | 72 | } |
diff --git a/arch/microblaze/kernel/intc.c b/arch/microblaze/kernel/intc.c index 6eea6f92b84e..03172c1da770 100644 --- a/arch/microblaze/kernel/intc.c +++ b/arch/microblaze/kernel/intc.c | |||
@@ -42,8 +42,16 @@ unsigned int nr_irq; | |||
42 | 42 | ||
43 | static void intc_enable_or_unmask(unsigned int irq) | 43 | static void intc_enable_or_unmask(unsigned int irq) |
44 | { | 44 | { |
45 | unsigned long mask = 1 << irq; | ||
45 | pr_debug("enable_or_unmask: %d\n", irq); | 46 | pr_debug("enable_or_unmask: %d\n", irq); |
46 | out_be32(INTC_BASE + SIE, 1 << irq); | 47 | out_be32(INTC_BASE + SIE, mask); |
48 | |||
49 | /* ack level irqs because they can't be acked during | ||
50 | * ack function since the handle_level_irq function | ||
51 | * acks the irq before calling the interrupt handler | ||
52 | */ | ||
53 | if (irq_desc[irq].status & IRQ_LEVEL) | ||
54 | out_be32(INTC_BASE + IAR, mask); | ||
47 | } | 55 | } |
48 | 56 | ||
49 | static void intc_disable_or_mask(unsigned int irq) | 57 | static void intc_disable_or_mask(unsigned int irq) |
diff --git a/arch/microblaze/kernel/irq.c b/arch/microblaze/kernel/irq.c index 7d5ddd62d4d2..0f06034d1fe0 100644 --- a/arch/microblaze/kernel/irq.c +++ b/arch/microblaze/kernel/irq.c | |||
@@ -68,7 +68,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
68 | } | 68 | } |
69 | 69 | ||
70 | if (i < nr_irq) { | 70 | if (i < nr_irq) { |
71 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 71 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
72 | action = irq_desc[i].action; | 72 | action = irq_desc[i].action; |
73 | if (!action) | 73 | if (!action) |
74 | goto skip; | 74 | goto skip; |
@@ -89,7 +89,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
89 | 89 | ||
90 | seq_putc(p, '\n'); | 90 | seq_putc(p, '\n'); |
91 | skip: | 91 | skip: |
92 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 92 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
93 | } | 93 | } |
94 | return 0; | 94 | return 0; |
95 | } | 95 | } |
diff --git a/arch/microblaze/kernel/mcount.S b/arch/microblaze/kernel/mcount.S new file mode 100644 index 000000000000..e7eaa7a8cbd3 --- /dev/null +++ b/arch/microblaze/kernel/mcount.S | |||
@@ -0,0 +1,170 @@ | |||
1 | /* | ||
2 | * Low-level ftrace handling | ||
3 | * | ||
4 | * Copyright (C) 2009 Michal Simek <monstr@monstr.eu> | ||
5 | * Copyright (C) 2009 PetaLogix | ||
6 | * | ||
7 | * This file is subject to the terms and conditions of the GNU General | ||
8 | * Public License. See the file COPYING in the main directory of this | ||
9 | * archive for more details. | ||
10 | */ | ||
11 | |||
12 | #include <linux/linkage.h> | ||
13 | |||
14 | #define NOALIGN_ENTRY(name) .globl name; name: | ||
15 | |||
16 | /* FIXME MS: I think that I don't need to save all regs */ | ||
17 | #define SAVE_REGS \ | ||
18 | addik r1, r1, -120; \ | ||
19 | swi r2, r1, 4; \ | ||
20 | swi r3, r1, 8; \ | ||
21 | swi r4, r1, 12; \ | ||
22 | swi r5, r1, 116; \ | ||
23 | swi r6, r1, 16; \ | ||
24 | swi r7, r1, 20; \ | ||
25 | swi r8, r1, 24; \ | ||
26 | swi r9, r1, 28; \ | ||
27 | swi r10, r1, 32; \ | ||
28 | swi r11, r1, 36; \ | ||
29 | swi r12, r1, 40; \ | ||
30 | swi r13, r1, 44; \ | ||
31 | swi r14, r1, 48; \ | ||
32 | swi r16, r1, 52; \ | ||
33 | swi r17, r1, 56; \ | ||
34 | swi r18, r1, 60; \ | ||
35 | swi r19, r1, 64; \ | ||
36 | swi r20, r1, 68; \ | ||
37 | swi r21, r1, 72; \ | ||
38 | swi r22, r1, 76; \ | ||
39 | swi r23, r1, 80; \ | ||
40 | swi r24, r1, 84; \ | ||
41 | swi r25, r1, 88; \ | ||
42 | swi r26, r1, 92; \ | ||
43 | swi r27, r1, 96; \ | ||
44 | swi r28, r1, 100; \ | ||
45 | swi r29, r1, 104; \ | ||
46 | swi r30, r1, 108; \ | ||
47 | swi r31, r1, 112; | ||
48 | |||
49 | #define RESTORE_REGS \ | ||
50 | lwi r2, r1, 4; \ | ||
51 | lwi r3, r1, 8; \ | ||
52 | lwi r4, r1, 12; \ | ||
53 | lwi r5, r1, 116; \ | ||
54 | lwi r6, r1, 16; \ | ||
55 | lwi r7, r1, 20; \ | ||
56 | lwi r8, r1, 24; \ | ||
57 | lwi r9, r1, 28; \ | ||
58 | lwi r10, r1, 32; \ | ||
59 | lwi r11, r1, 36; \ | ||
60 | lwi r12, r1, 40; \ | ||
61 | lwi r13, r1, 44; \ | ||
62 | lwi r14, r1, 48; \ | ||
63 | lwi r16, r1, 52; \ | ||
64 | lwi r17, r1, 56; \ | ||
65 | lwi r18, r1, 60; \ | ||
66 | lwi r19, r1, 64; \ | ||
67 | lwi r20, r1, 68; \ | ||
68 | lwi r21, r1, 72; \ | ||
69 | lwi r22, r1, 76; \ | ||
70 | lwi r23, r1, 80; \ | ||
71 | lwi r24, r1, 84; \ | ||
72 | lwi r25, r1, 88; \ | ||
73 | lwi r26, r1, 92; \ | ||
74 | lwi r27, r1, 96; \ | ||
75 | lwi r28, r1, 100; \ | ||
76 | lwi r29, r1, 104; \ | ||
77 | lwi r30, r1, 108; \ | ||
78 | lwi r31, r1, 112; \ | ||
79 | addik r1, r1, 120; | ||
80 | |||
81 | ENTRY(ftrace_stub) | ||
82 | rtsd r15, 8; | ||
83 | nop; | ||
84 | |||
85 | ENTRY(_mcount) | ||
86 | #ifdef CONFIG_DYNAMIC_FTRACE | ||
87 | ENTRY(ftrace_caller) | ||
88 | /* MS: It is just barrier which is removed from C code */ | ||
89 | rtsd r15, 8 | ||
90 | nop | ||
91 | #endif /* CONFIG_DYNAMIC_FTRACE */ | ||
92 | SAVE_REGS | ||
93 | swi r15, r1, 0; | ||
94 | /* MS: HAVE_FUNCTION_TRACE_MCOUNT_TEST begin of checking */ | ||
95 | lwi r5, r0, function_trace_stop; | ||
96 | bneid r5, end; | ||
97 | nop; | ||
98 | /* MS: HAVE_FUNCTION_TRACE_MCOUNT_TEST end of checking */ | ||
99 | #ifdef CONFIG_FUNCTION_GRAPH_TRACER | ||
100 | #ifndef CONFIG_DYNAMIC_FTRACE | ||
101 | lwi r5, r0, ftrace_graph_return; | ||
102 | addik r6, r0, ftrace_stub; /* asm implementation */ | ||
103 | cmpu r5, r5, r6; /* ftrace_graph_return != ftrace_stub */ | ||
104 | beqid r5, end_graph_tracer; | ||
105 | nop; | ||
106 | |||
107 | lwi r6, r0, ftrace_graph_entry; | ||
108 | addik r5, r0, ftrace_graph_entry_stub; /* implemented in C */ | ||
109 | cmpu r5, r5, r6; /* ftrace_graph_entry != ftrace_graph_entry_stub */ | ||
110 | beqid r5, end_graph_tracer; | ||
111 | nop; | ||
112 | #else /* CONFIG_DYNAMIC_FTRACE */ | ||
113 | NOALIGN_ENTRY(ftrace_call_graph) | ||
114 | /* MS: jump over graph function - replaced from C code */ | ||
115 | bri end_graph_tracer | ||
116 | #endif /* CONFIG_DYNAMIC_FTRACE */ | ||
117 | addik r5, r1, 120; /* MS: load parent addr */ | ||
118 | addik r6, r15, 0; /* MS: load current function addr */ | ||
119 | bralid r15, prepare_ftrace_return; | ||
120 | nop; | ||
121 | /* MS: graph was taken that's why - can jump over function trace */ | ||
122 | brid end; | ||
123 | nop; | ||
124 | end_graph_tracer: | ||
125 | #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ | ||
126 | #ifndef CONFIG_DYNAMIC_FTRACE | ||
127 | /* MS: test function trace if is taken or not */ | ||
128 | lwi r20, r0, ftrace_trace_function; | ||
129 | addik r6, r0, ftrace_stub; | ||
130 | cmpu r5, r20, r6; /* ftrace_trace_function != ftrace_stub */ | ||
131 | beqid r5, end; /* MS: not taken -> jump over */ | ||
132 | nop; | ||
133 | #else /* CONFIG_DYNAMIC_FTRACE */ | ||
134 | NOALIGN_ENTRY(ftrace_call) | ||
135 | /* instruction for setup imm FUNC_part1, addik r20, r0, FUNC_part2 */ | ||
136 | nop | ||
137 | nop | ||
138 | #endif /* CONFIG_DYNAMIC_FTRACE */ | ||
139 | /* static normal trace */ | ||
140 | lwi r6, r1, 120; /* MS: load parent addr */ | ||
141 | addik r5, r15, 0; /* MS: load current function addr */ | ||
142 | /* MS: here is dependency on previous code */ | ||
143 | brald r15, r20; /* MS: jump to ftrace handler */ | ||
144 | nop; | ||
145 | end: | ||
146 | lwi r15, r1, 0; | ||
147 | RESTORE_REGS | ||
148 | |||
149 | rtsd r15, 8; /* MS: jump back */ | ||
150 | nop; | ||
151 | |||
152 | #ifdef CONFIG_FUNCTION_GRAPH_TRACER | ||
153 | ENTRY(return_to_handler) | ||
154 | nop; /* MS: just barrier for rtsd r15, 8 */ | ||
155 | nop; | ||
156 | SAVE_REGS | ||
157 | swi r15, r1, 0; | ||
158 | |||
159 | /* MS: find out returning address */ | ||
160 | bralid r15, ftrace_return_to_handler; | ||
161 | nop; | ||
162 | |||
163 | /* MS: return value from ftrace_return_to_handler is my returning addr | ||
164 | * must be before restore regs because I have to restore r3 content */ | ||
165 | addik r15, r3, 0; | ||
166 | RESTORE_REGS | ||
167 | |||
168 | rtsd r15, 8; /* MS: jump back */ | ||
169 | nop; | ||
170 | #endif /* CONFIG_FUNCTION_TRACER */ | ||
diff --git a/arch/microblaze/kernel/microblaze_ksyms.c b/arch/microblaze/kernel/microblaze_ksyms.c index 59ff20e33e0c..bc4dcb7d3861 100644 --- a/arch/microblaze/kernel/microblaze_ksyms.c +++ b/arch/microblaze/kernel/microblaze_ksyms.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/io.h> | 18 | #include <linux/io.h> |
19 | #include <asm/page.h> | 19 | #include <asm/page.h> |
20 | #include <asm/system.h> | 20 | #include <asm/system.h> |
21 | #include <linux/ftrace.h> | ||
21 | #include <linux/uaccess.h> | 22 | #include <linux/uaccess.h> |
22 | 23 | ||
23 | /* | 24 | /* |
@@ -47,3 +48,7 @@ extern void __umodsi3(void); | |||
47 | EXPORT_SYMBOL(__umodsi3); | 48 | EXPORT_SYMBOL(__umodsi3); |
48 | extern char *_ebss; | 49 | extern char *_ebss; |
49 | EXPORT_SYMBOL_GPL(_ebss); | 50 | EXPORT_SYMBOL_GPL(_ebss); |
51 | #ifdef CONFIG_FUNCTION_TRACER | ||
52 | extern void _mcount(void); | ||
53 | EXPORT_SYMBOL(_mcount); | ||
54 | #endif | ||
diff --git a/arch/microblaze/kernel/process.c b/arch/microblaze/kernel/process.c index c592d475b3d8..812f1bf06c9e 100644 --- a/arch/microblaze/kernel/process.c +++ b/arch/microblaze/kernel/process.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/bitops.h> | 15 | #include <linux/bitops.h> |
16 | #include <asm/system.h> | 16 | #include <asm/system.h> |
17 | #include <asm/pgalloc.h> | 17 | #include <asm/pgalloc.h> |
18 | #include <asm/cacheflush.h> | ||
18 | 19 | ||
19 | void show_regs(struct pt_regs *regs) | 20 | void show_regs(struct pt_regs *regs) |
20 | { | 21 | { |
diff --git a/arch/microblaze/kernel/reset.c b/arch/microblaze/kernel/reset.c new file mode 100644 index 000000000000..a1721a33042e --- /dev/null +++ b/arch/microblaze/kernel/reset.c | |||
@@ -0,0 +1,140 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009 Michal Simek <monstr@monstr.eu> | ||
3 | * Copyright (C) 2009 PetaLogix | ||
4 | * | ||
5 | * This file is subject to the terms and conditions of the GNU General Public | ||
6 | * License. See the file "COPYING" in the main directory of this archive | ||
7 | * for more details. | ||
8 | */ | ||
9 | |||
10 | #include <linux/init.h> | ||
11 | #include <linux/of_platform.h> | ||
12 | #include <asm/prom.h> | ||
13 | |||
14 | /* Trigger specific functions */ | ||
15 | #ifdef CONFIG_GPIOLIB | ||
16 | |||
17 | #include <linux/of_gpio.h> | ||
18 | |||
19 | static int handle; /* reset pin handle */ | ||
20 | static unsigned int reset_val; | ||
21 | |||
22 | static int of_reset_gpio_handle(void) | ||
23 | { | ||
24 | int ret; /* variable which stored handle reset gpio pin */ | ||
25 | struct device_node *root; /* root node */ | ||
26 | struct device_node *gpio; /* gpio node */ | ||
27 | struct of_gpio_chip *of_gc = NULL; | ||
28 | enum of_gpio_flags flags ; | ||
29 | const void *gpio_spec; | ||
30 | |||
31 | /* find out root node */ | ||
32 | root = of_find_node_by_path("/"); | ||
33 | |||
34 | /* give me handle for gpio node to be possible allocate pin */ | ||
35 | ret = of_parse_phandles_with_args(root, "hard-reset-gpios", | ||
36 | "#gpio-cells", 0, &gpio, &gpio_spec); | ||
37 | if (ret) { | ||
38 | pr_debug("%s: can't parse gpios property\n", __func__); | ||
39 | goto err0; | ||
40 | } | ||
41 | |||
42 | of_gc = gpio->data; | ||
43 | if (!of_gc) { | ||
44 | pr_debug("%s: gpio controller %s isn't registered\n", | ||
45 | root->full_name, gpio->full_name); | ||
46 | ret = -ENODEV; | ||
47 | goto err1; | ||
48 | } | ||
49 | |||
50 | ret = of_gc->xlate(of_gc, root, gpio_spec, &flags); | ||
51 | if (ret < 0) | ||
52 | goto err1; | ||
53 | |||
54 | ret += of_gc->gc.base; | ||
55 | err1: | ||
56 | of_node_put(gpio); | ||
57 | err0: | ||
58 | pr_debug("%s exited with status %d\n", __func__, ret); | ||
59 | return ret; | ||
60 | } | ||
61 | |||
62 | void of_platform_reset_gpio_probe(void) | ||
63 | { | ||
64 | int ret; | ||
65 | handle = of_reset_gpio_handle(); | ||
66 | |||
67 | if (!gpio_is_valid(handle)) { | ||
68 | printk(KERN_INFO "Skipping unavailable RESET gpio %d (%s)\n", | ||
69 | handle, "reset"); | ||
70 | } | ||
71 | |||
72 | ret = gpio_request(handle, "reset"); | ||
73 | if (ret < 0) { | ||
74 | printk(KERN_INFO "GPIO pin is already allocated\n"); | ||
75 | return; | ||
76 | } | ||
77 | |||
78 | /* get current setup value */ | ||
79 | reset_val = gpio_get_value(handle); | ||
80 | /* FIXME maybe worth to perform any action */ | ||
81 | pr_debug("Reset: Gpio output state: 0x%x\n", reset_val); | ||
82 | |||
83 | /* Setup GPIO as output */ | ||
84 | ret = gpio_direction_output(handle, 0); | ||
85 | if (ret < 0) | ||
86 | goto err; | ||
87 | |||
88 | /* Setup output direction */ | ||
89 | gpio_set_value(handle, 0); | ||
90 | |||
91 | printk(KERN_INFO "RESET: Registered gpio device: %d, current val: %d\n", | ||
92 | handle, reset_val); | ||
93 | return; | ||
94 | err: | ||
95 | gpio_free(handle); | ||
96 | return; | ||
97 | } | ||
98 | |||
99 | |||
100 | static void gpio_system_reset(void) | ||
101 | { | ||
102 | gpio_set_value(handle, 1 - reset_val); | ||
103 | } | ||
104 | #else | ||
105 | #define gpio_system_reset() do {} while (0) | ||
106 | void of_platform_reset_gpio_probe(void) | ||
107 | { | ||
108 | return; | ||
109 | } | ||
110 | #endif | ||
111 | |||
112 | void machine_restart(char *cmd) | ||
113 | { | ||
114 | printk(KERN_NOTICE "Machine restart...\n"); | ||
115 | gpio_system_reset(); | ||
116 | dump_stack(); | ||
117 | while (1) | ||
118 | ; | ||
119 | } | ||
120 | |||
121 | void machine_shutdown(void) | ||
122 | { | ||
123 | printk(KERN_NOTICE "Machine shutdown...\n"); | ||
124 | while (1) | ||
125 | ; | ||
126 | } | ||
127 | |||
128 | void machine_halt(void) | ||
129 | { | ||
130 | printk(KERN_NOTICE "Machine halt...\n"); | ||
131 | while (1) | ||
132 | ; | ||
133 | } | ||
134 | |||
135 | void machine_power_off(void) | ||
136 | { | ||
137 | printk(KERN_NOTICE "Machine power off...\n"); | ||
138 | while (1) | ||
139 | ; | ||
140 | } | ||
diff --git a/arch/microblaze/kernel/setup.c b/arch/microblaze/kernel/setup.c index 8c1e0f4dcf18..5372b24ad049 100644 --- a/arch/microblaze/kernel/setup.c +++ b/arch/microblaze/kernel/setup.c | |||
@@ -52,13 +52,12 @@ void __init setup_arch(char **cmdline_p) | |||
52 | /* irq_early_init(); */ | 52 | /* irq_early_init(); */ |
53 | setup_cpuinfo(); | 53 | setup_cpuinfo(); |
54 | 54 | ||
55 | __invalidate_icache_all(); | 55 | microblaze_cache_init(); |
56 | __enable_icache(); | ||
57 | 56 | ||
58 | __invalidate_dcache_all(); | 57 | enable_dcache(); |
59 | __enable_dcache(); | ||
60 | 58 | ||
61 | panic_timeout = 120; | 59 | invalidate_icache(); |
60 | enable_icache(); | ||
62 | 61 | ||
63 | setup_memory(); | 62 | setup_memory(); |
64 | 63 | ||
@@ -131,6 +130,8 @@ void __init machine_early_init(const char *cmdline, unsigned int ram, | |||
131 | strlcpy(cmd_line, cmdline, COMMAND_LINE_SIZE); | 130 | strlcpy(cmd_line, cmdline, COMMAND_LINE_SIZE); |
132 | #endif | 131 | #endif |
133 | 132 | ||
133 | lockdep_init(); | ||
134 | |||
134 | /* initialize device tree for usage in early_printk */ | 135 | /* initialize device tree for usage in early_printk */ |
135 | early_init_devtree((void *)_fdt_start); | 136 | early_init_devtree((void *)_fdt_start); |
136 | 137 | ||
@@ -186,32 +187,3 @@ static int microblaze_debugfs_init(void) | |||
186 | } | 187 | } |
187 | arch_initcall(microblaze_debugfs_init); | 188 | arch_initcall(microblaze_debugfs_init); |
188 | #endif | 189 | #endif |
189 | |||
190 | void machine_restart(char *cmd) | ||
191 | { | ||
192 | printk(KERN_NOTICE "Machine restart...\n"); | ||
193 | dump_stack(); | ||
194 | while (1) | ||
195 | ; | ||
196 | } | ||
197 | |||
198 | void machine_shutdown(void) | ||
199 | { | ||
200 | printk(KERN_NOTICE "Machine shutdown...\n"); | ||
201 | while (1) | ||
202 | ; | ||
203 | } | ||
204 | |||
205 | void machine_halt(void) | ||
206 | { | ||
207 | printk(KERN_NOTICE "Machine halt...\n"); | ||
208 | while (1) | ||
209 | ; | ||
210 | } | ||
211 | |||
212 | void machine_power_off(void) | ||
213 | { | ||
214 | printk(KERN_NOTICE "Machine power off...\n"); | ||
215 | while (1) | ||
216 | ; | ||
217 | } | ||
diff --git a/arch/microblaze/kernel/signal.c b/arch/microblaze/kernel/signal.c index 1c80e4fc40ce..d8d3bb396cd6 100644 --- a/arch/microblaze/kernel/signal.c +++ b/arch/microblaze/kernel/signal.c | |||
@@ -44,7 +44,6 @@ | |||
44 | 44 | ||
45 | asmlinkage int do_signal(struct pt_regs *regs, sigset_t *oldset, int in_sycall); | 45 | asmlinkage int do_signal(struct pt_regs *regs, sigset_t *oldset, int in_sycall); |
46 | 46 | ||
47 | |||
48 | asmlinkage long | 47 | asmlinkage long |
49 | sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss, | 48 | sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss, |
50 | struct pt_regs *regs) | 49 | struct pt_regs *regs) |
@@ -176,6 +175,11 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
176 | struct rt_sigframe __user *frame; | 175 | struct rt_sigframe __user *frame; |
177 | int err = 0; | 176 | int err = 0; |
178 | int signal; | 177 | int signal; |
178 | unsigned long address = 0; | ||
179 | #ifdef CONFIG_MMU | ||
180 | pmd_t *pmdp; | ||
181 | pte_t *ptep; | ||
182 | #endif | ||
179 | 183 | ||
180 | frame = get_sigframe(ka, regs, sizeof(*frame)); | 184 | frame = get_sigframe(ka, regs, sizeof(*frame)); |
181 | 185 | ||
@@ -216,8 +220,29 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
216 | Negative 8 offset because return is rtsd r15, 8 */ | 220 | Negative 8 offset because return is rtsd r15, 8 */ |
217 | regs->r15 = ((unsigned long)frame->tramp)-8; | 221 | regs->r15 = ((unsigned long)frame->tramp)-8; |
218 | 222 | ||
219 | __invalidate_cache_sigtramp((unsigned long)frame->tramp); | 223 | address = ((unsigned long)frame->tramp); |
220 | 224 | #ifdef CONFIG_MMU | |
225 | pmdp = pmd_offset(pud_offset( | ||
226 | pgd_offset(current->mm, address), | ||
227 | address), address); | ||
228 | |||
229 | preempt_disable(); | ||
230 | ptep = pte_offset_map(pmdp, address); | ||
231 | if (pte_present(*ptep)) { | ||
232 | address = (unsigned long) page_address(pte_page(*ptep)); | ||
233 | /* MS: I need add offset in page */ | ||
234 | address += ((unsigned long)frame->tramp) & ~PAGE_MASK; | ||
235 | /* MS address is virtual */ | ||
236 | address = virt_to_phys(address); | ||
237 | invalidate_icache_range(address, address + 8); | ||
238 | flush_dcache_range(address, address + 8); | ||
239 | } | ||
240 | pte_unmap(ptep); | ||
241 | preempt_enable(); | ||
242 | #else | ||
243 | flush_icache_range(address, address + 8); | ||
244 | flush_dcache_range(address, address + 8); | ||
245 | #endif | ||
221 | if (err) | 246 | if (err) |
222 | goto give_sigsegv; | 247 | goto give_sigsegv; |
223 | 248 | ||
@@ -233,6 +258,10 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
233 | 258 | ||
234 | set_fs(USER_DS); | 259 | set_fs(USER_DS); |
235 | 260 | ||
261 | /* the tracer may want to single-step inside the handler */ | ||
262 | if (test_thread_flag(TIF_SINGLESTEP)) | ||
263 | ptrace_notify(SIGTRAP); | ||
264 | |||
236 | #ifdef DEBUG_SIG | 265 | #ifdef DEBUG_SIG |
237 | printk(KERN_INFO "SIG deliver (%s:%d): sp=%p pc=%08lx\n", | 266 | printk(KERN_INFO "SIG deliver (%s:%d): sp=%p pc=%08lx\n", |
238 | current->comm, current->pid, frame, regs->pc); | 267 | current->comm, current->pid, frame, regs->pc); |
diff --git a/arch/microblaze/kernel/stacktrace.c b/arch/microblaze/kernel/stacktrace.c new file mode 100644 index 000000000000..123692f22647 --- /dev/null +++ b/arch/microblaze/kernel/stacktrace.c | |||
@@ -0,0 +1,65 @@ | |||
1 | /* | ||
2 | * Stack trace support for Microblaze. | ||
3 | * | ||
4 | * Copyright (C) 2009 Michal Simek <monstr@monstr.eu> | ||
5 | * Copyright (C) 2009 PetaLogix | ||
6 | * | ||
7 | * This file is subject to the terms and conditions of the GNU General Public | ||
8 | * License. See the file "COPYING" in the main directory of this archive | ||
9 | * for more details. | ||
10 | */ | ||
11 | |||
12 | #include <linux/sched.h> | ||
13 | #include <linux/stacktrace.h> | ||
14 | #include <linux/thread_info.h> | ||
15 | #include <linux/ptrace.h> | ||
16 | #include <linux/module.h> | ||
17 | |||
18 | /* FIXME initial support */ | ||
19 | void save_stack_trace(struct stack_trace *trace) | ||
20 | { | ||
21 | unsigned long *sp; | ||
22 | unsigned long addr; | ||
23 | asm("addik %0, r1, 0" : "=r" (sp)); | ||
24 | |||
25 | while (!kstack_end(sp)) { | ||
26 | addr = *sp++; | ||
27 | if (__kernel_text_address(addr)) { | ||
28 | if (trace->skip > 0) | ||
29 | trace->skip--; | ||
30 | else | ||
31 | trace->entries[trace->nr_entries++] = addr; | ||
32 | |||
33 | if (trace->nr_entries >= trace->max_entries) | ||
34 | break; | ||
35 | } | ||
36 | } | ||
37 | } | ||
38 | EXPORT_SYMBOL_GPL(save_stack_trace); | ||
39 | |||
40 | void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) | ||
41 | { | ||
42 | unsigned int *sp; | ||
43 | unsigned long addr; | ||
44 | |||
45 | struct thread_info *ti = task_thread_info(tsk); | ||
46 | |||
47 | if (tsk == current) | ||
48 | asm("addik %0, r1, 0" : "=r" (sp)); | ||
49 | else | ||
50 | sp = (unsigned int *)ti->cpu_context.r1; | ||
51 | |||
52 | while (!kstack_end(sp)) { | ||
53 | addr = *sp++; | ||
54 | if (__kernel_text_address(addr)) { | ||
55 | if (trace->skip > 0) | ||
56 | trace->skip--; | ||
57 | else | ||
58 | trace->entries[trace->nr_entries++] = addr; | ||
59 | |||
60 | if (trace->nr_entries >= trace->max_entries) | ||
61 | break; | ||
62 | } | ||
63 | } | ||
64 | } | ||
65 | EXPORT_SYMBOL_GPL(save_stack_trace_tsk); | ||
diff --git a/arch/microblaze/kernel/syscall_table.S b/arch/microblaze/kernel/syscall_table.S index b96f365ea6b1..4088be7d4e29 100644 --- a/arch/microblaze/kernel/syscall_table.S +++ b/arch/microblaze/kernel/syscall_table.S | |||
@@ -183,7 +183,7 @@ ENTRY(sys_call_table) | |||
183 | .long sys_rt_sigpending | 183 | .long sys_rt_sigpending |
184 | .long sys_rt_sigtimedwait | 184 | .long sys_rt_sigtimedwait |
185 | .long sys_rt_sigqueueinfo | 185 | .long sys_rt_sigqueueinfo |
186 | .long sys_rt_sigsuspend_wrapper | 186 | .long sys_rt_sigsuspend |
187 | .long sys_pread64 /* 180 */ | 187 | .long sys_pread64 /* 180 */ |
188 | .long sys_pwrite64 | 188 | .long sys_pwrite64 |
189 | .long sys_chown | 189 | .long sys_chown |
@@ -303,7 +303,7 @@ ENTRY(sys_call_table) | |||
303 | .long sys_mkdirat | 303 | .long sys_mkdirat |
304 | .long sys_mknodat | 304 | .long sys_mknodat |
305 | .long sys_fchownat | 305 | .long sys_fchownat |
306 | .long sys_ni_syscall | 306 | .long sys_futimesat |
307 | .long sys_fstatat64 /* 300 */ | 307 | .long sys_fstatat64 /* 300 */ |
308 | .long sys_unlinkat | 308 | .long sys_unlinkat |
309 | .long sys_renameat | 309 | .long sys_renameat |
diff --git a/arch/microblaze/kernel/timer.c b/arch/microblaze/kernel/timer.c index 5499deae7fa6..ed61b2f17719 100644 --- a/arch/microblaze/kernel/timer.c +++ b/arch/microblaze/kernel/timer.c | |||
@@ -183,6 +183,31 @@ static cycle_t microblaze_read(struct clocksource *cs) | |||
183 | return (cycle_t) (in_be32(TIMER_BASE + TCR1)); | 183 | return (cycle_t) (in_be32(TIMER_BASE + TCR1)); |
184 | } | 184 | } |
185 | 185 | ||
186 | static struct timecounter microblaze_tc = { | ||
187 | .cc = NULL, | ||
188 | }; | ||
189 | |||
190 | static cycle_t microblaze_cc_read(const struct cyclecounter *cc) | ||
191 | { | ||
192 | return microblaze_read(NULL); | ||
193 | } | ||
194 | |||
195 | static struct cyclecounter microblaze_cc = { | ||
196 | .read = microblaze_cc_read, | ||
197 | .mask = CLOCKSOURCE_MASK(32), | ||
198 | .shift = 24, | ||
199 | }; | ||
200 | |||
201 | int __init init_microblaze_timecounter(void) | ||
202 | { | ||
203 | microblaze_cc.mult = div_sc(cpuinfo.cpu_clock_freq, NSEC_PER_SEC, | ||
204 | microblaze_cc.shift); | ||
205 | |||
206 | timecounter_init(µblaze_tc, µblaze_cc, sched_clock()); | ||
207 | |||
208 | return 0; | ||
209 | } | ||
210 | |||
186 | static struct clocksource clocksource_microblaze = { | 211 | static struct clocksource clocksource_microblaze = { |
187 | .name = "microblaze_clocksource", | 212 | .name = "microblaze_clocksource", |
188 | .rating = 300, | 213 | .rating = 300, |
@@ -204,6 +229,9 @@ static int __init microblaze_clocksource_init(void) | |||
204 | out_be32(TIMER_BASE + TCSR1, in_be32(TIMER_BASE + TCSR1) & ~TCSR_ENT); | 229 | out_be32(TIMER_BASE + TCSR1, in_be32(TIMER_BASE + TCSR1) & ~TCSR_ENT); |
205 | /* start timer1 - up counting without interrupt */ | 230 | /* start timer1 - up counting without interrupt */ |
206 | out_be32(TIMER_BASE + TCSR1, TCSR_TINT|TCSR_ENT|TCSR_ARHT); | 231 | out_be32(TIMER_BASE + TCSR1, TCSR_TINT|TCSR_ENT|TCSR_ARHT); |
232 | |||
233 | /* register timecounter - for ftrace support */ | ||
234 | init_microblaze_timecounter(); | ||
207 | return 0; | 235 | return 0; |
208 | } | 236 | } |
209 | 237 | ||
diff --git a/arch/microblaze/kernel/vmlinux.lds.S b/arch/microblaze/kernel/vmlinux.lds.S index e704188d7855..5ef619aad634 100644 --- a/arch/microblaze/kernel/vmlinux.lds.S +++ b/arch/microblaze/kernel/vmlinux.lds.S | |||
@@ -26,11 +26,12 @@ SECTIONS { | |||
26 | _stext = . ; | 26 | _stext = . ; |
27 | *(.text .text.*) | 27 | *(.text .text.*) |
28 | *(.fixup) | 28 | *(.fixup) |
29 | EXIT_TEXT | 29 | EXIT_TEXT |
30 | EXIT_CALL | 30 | EXIT_CALL |
31 | SCHED_TEXT | 31 | SCHED_TEXT |
32 | LOCK_TEXT | 32 | LOCK_TEXT |
33 | KPROBES_TEXT | 33 | KPROBES_TEXT |
34 | IRQENTRY_TEXT | ||
34 | . = ALIGN (4) ; | 35 | . = ALIGN (4) ; |
35 | _etext = . ; | 36 | _etext = . ; |
36 | } | 37 | } |
@@ -86,6 +87,7 @@ SECTIONS { | |||
86 | _KERNEL_SDA_BASE_ = _ssro + (_ssro_size / 2) ; | 87 | _KERNEL_SDA_BASE_ = _ssro + (_ssro_size / 2) ; |
87 | } | 88 | } |
88 | 89 | ||
90 | . = ALIGN(PAGE_SIZE); | ||
89 | __init_begin = .; | 91 | __init_begin = .; |
90 | 92 | ||
91 | INIT_TEXT_SECTION(PAGE_SIZE) | 93 | INIT_TEXT_SECTION(PAGE_SIZE) |
diff --git a/arch/microblaze/lib/uaccess.c b/arch/microblaze/lib/uaccess.c index 8eb9df5a26c9..a853fe089c44 100644 --- a/arch/microblaze/lib/uaccess.c +++ b/arch/microblaze/lib/uaccess.c | |||
@@ -39,3 +39,10 @@ long strncpy_from_user(char *dst, const char __user *src, long count) | |||
39 | __do_strncpy_from_user(dst, src, count, res); | 39 | __do_strncpy_from_user(dst, src, count, res); |
40 | return res; | 40 | return res; |
41 | } | 41 | } |
42 | |||
43 | unsigned long __copy_tofrom_user(void __user *to, | ||
44 | const void __user *from, unsigned long size) | ||
45 | { | ||
46 | memcpy(to, from, size); | ||
47 | return 0; | ||
48 | } | ||
diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c index a44892e7cd5b..a57cedf36715 100644 --- a/arch/microblaze/mm/init.c +++ b/arch/microblaze/mm/init.c | |||
@@ -41,6 +41,7 @@ char *klimit = _end; | |||
41 | * have available. | 41 | * have available. |
42 | */ | 42 | */ |
43 | unsigned long memory_start; | 43 | unsigned long memory_start; |
44 | EXPORT_SYMBOL(memory_start); | ||
44 | unsigned long memory_end; /* due to mm/nommu.c */ | 45 | unsigned long memory_end; /* due to mm/nommu.c */ |
45 | unsigned long memory_size; | 46 | unsigned long memory_size; |
46 | 47 | ||
diff --git a/arch/microblaze/mm/pgtable.c b/arch/microblaze/mm/pgtable.c index 46c4ca5d15c5..2820081b21ab 100644 --- a/arch/microblaze/mm/pgtable.c +++ b/arch/microblaze/mm/pgtable.c | |||
@@ -144,7 +144,6 @@ int map_page(unsigned long va, phys_addr_t pa, int flags) | |||
144 | pmd_t *pd; | 144 | pmd_t *pd; |
145 | pte_t *pg; | 145 | pte_t *pg; |
146 | int err = -ENOMEM; | 146 | int err = -ENOMEM; |
147 | /* spin_lock(&init_mm.page_table_lock); */ | ||
148 | /* Use upper 10 bits of VA to index the first level map */ | 147 | /* Use upper 10 bits of VA to index the first level map */ |
149 | pd = pmd_offset(pgd_offset_k(va), va); | 148 | pd = pmd_offset(pgd_offset_k(va), va); |
150 | /* Use middle 10 bits of VA to index the second-level map */ | 149 | /* Use middle 10 bits of VA to index the second-level map */ |
@@ -158,9 +157,7 @@ int map_page(unsigned long va, phys_addr_t pa, int flags) | |||
158 | if (mem_init_done) | 157 | if (mem_init_done) |
159 | flush_HPTE(0, va, pmd_val(*pd)); | 158 | flush_HPTE(0, va, pmd_val(*pd)); |
160 | /* flush_HPTE(0, va, pg); */ | 159 | /* flush_HPTE(0, va, pg); */ |
161 | |||
162 | } | 160 | } |
163 | /* spin_unlock(&init_mm.page_table_lock); */ | ||
164 | return err; | 161 | return err; |
165 | } | 162 | } |
166 | 163 | ||
@@ -182,12 +179,6 @@ void __init adjust_total_lowmem(void) | |||
182 | #endif | 179 | #endif |
183 | } | 180 | } |
184 | 181 | ||
185 | static void show_tmem(unsigned long tmem) | ||
186 | { | ||
187 | volatile unsigned long a; | ||
188 | a = a + tmem; | ||
189 | } | ||
190 | |||
191 | /* | 182 | /* |
192 | * Map in all of physical memory starting at CONFIG_KERNEL_START. | 183 | * Map in all of physical memory starting at CONFIG_KERNEL_START. |
193 | */ | 184 | */ |
@@ -197,7 +188,6 @@ void __init mapin_ram(void) | |||
197 | 188 | ||
198 | v = CONFIG_KERNEL_START; | 189 | v = CONFIG_KERNEL_START; |
199 | p = memory_start; | 190 | p = memory_start; |
200 | show_tmem(memory_size); | ||
201 | for (s = 0; s < memory_size; s += PAGE_SIZE) { | 191 | for (s = 0; s < memory_size; s += PAGE_SIZE) { |
202 | f = _PAGE_PRESENT | _PAGE_ACCESSED | | 192 | f = _PAGE_PRESENT | _PAGE_ACCESSED | |
203 | _PAGE_SHARED | _PAGE_HWEXEC; | 193 | _PAGE_SHARED | _PAGE_HWEXEC; |
diff --git a/arch/microblaze/oprofile/Makefile b/arch/microblaze/oprofile/Makefile new file mode 100644 index 000000000000..0d0348c8af97 --- /dev/null +++ b/arch/microblaze/oprofile/Makefile | |||
@@ -0,0 +1,13 @@ | |||
1 | # | ||
2 | # arch/microblaze/oprofile/Makefile | ||
3 | # | ||
4 | |||
5 | obj-$(CONFIG_OPROFILE) += oprofile.o | ||
6 | |||
7 | DRIVER_OBJS := $(addprefix ../../../drivers/oprofile/, \ | ||
8 | oprof.o cpu_buffer.o buffer_sync.o \ | ||
9 | event_buffer.o oprofile_files.o \ | ||
10 | oprofilefs.o oprofile_stats.o \ | ||
11 | timer_int.o ) | ||
12 | |||
13 | oprofile-y := $(DRIVER_OBJS) microblaze_oprofile.o | ||
diff --git a/arch/microblaze/oprofile/microblaze_oprofile.c b/arch/microblaze/oprofile/microblaze_oprofile.c new file mode 100644 index 000000000000..def17e59888e --- /dev/null +++ b/arch/microblaze/oprofile/microblaze_oprofile.c | |||
@@ -0,0 +1,22 @@ | |||
1 | /* | ||
2 | * Microblaze oprofile code | ||
3 | * | ||
4 | * Copyright (C) 2009 Michal Simek <monstr@monstr.eu> | ||
5 | * Copyright (C) 2009 PetaLogix | ||
6 | * | ||
7 | * This file is subject to the terms and conditions of the GNU General Public | ||
8 | * License. See the file "COPYING" in the main directory of this archive | ||
9 | * for more details. | ||
10 | */ | ||
11 | |||
12 | #include <linux/oprofile.h> | ||
13 | #include <linux/init.h> | ||
14 | |||
15 | int __init oprofile_arch_init(struct oprofile_operations *ops) | ||
16 | { | ||
17 | return -1; | ||
18 | } | ||
19 | |||
20 | void oprofile_arch_exit(void) | ||
21 | { | ||
22 | } | ||
diff --git a/arch/microblaze/platform/Kconfig.platform b/arch/microblaze/platform/Kconfig.platform index 8e9b4752d3ff..669c7eec293e 100644 --- a/arch/microblaze/platform/Kconfig.platform +++ b/arch/microblaze/platform/Kconfig.platform | |||
@@ -53,31 +53,12 @@ config OPT_LIB_FUNCTION | |||
53 | 53 | ||
54 | config OPT_LIB_ASM | 54 | config OPT_LIB_ASM |
55 | bool "Optimalized lib function ASM" | 55 | bool "Optimalized lib function ASM" |
56 | depends on OPT_LIB_FUNCTION | 56 | depends on OPT_LIB_FUNCTION && (XILINX_MICROBLAZE0_USE_BARREL = 1) |
57 | default n | 57 | default n |
58 | help | 58 | help |
59 | Allows turn on optimalized library function (memcpy and memmove). | 59 | Allows turn on optimalized library function (memcpy and memmove). |
60 | Function are written in asm code. | 60 | Function are written in asm code. |
61 | 61 | ||
62 | # This is still a bit broken - disabling for now JW 20070504 | ||
63 | config ALLOW_EDIT_AUTO | ||
64 | bool "Permit Display/edit of Kconfig.auto platform settings" | ||
65 | default n | ||
66 | help | ||
67 | Allows the editing of auto-generated platform settings from | ||
68 | the Kconfig.auto file. Obviously this does not change the | ||
69 | underlying hardware, so be very careful if you go editing | ||
70 | these settings. | ||
71 | |||
72 | Also, if you enable this, and edit various Kconfig.auto | ||
73 | settings, YOUR CHANGES WILL BE LOST if you then disable it | ||
74 | again. You have been warned! | ||
75 | |||
76 | If unsure, say no. | ||
77 | |||
78 | comment "Automatic platform settings from Kconfig.auto" | ||
79 | depends on ALLOW_EDIT_AUTO | ||
80 | |||
81 | if PLATFORM_GENERIC=y | 62 | if PLATFORM_GENERIC=y |
82 | source "arch/microblaze/platform/generic/Kconfig.auto" | 63 | source "arch/microblaze/platform/generic/Kconfig.auto" |
83 | endif | 64 | endif |
diff --git a/arch/microblaze/platform/generic/Kconfig.auto b/arch/microblaze/platform/generic/Kconfig.auto index fbca22d9c8b9..5d86fc19029d 100644 --- a/arch/microblaze/platform/generic/Kconfig.auto +++ b/arch/microblaze/platform/generic/Kconfig.auto | |||
@@ -21,7 +21,6 @@ | |||
21 | 21 | ||
22 | # Definitions for MICROBLAZE0 | 22 | # Definitions for MICROBLAZE0 |
23 | comment "Definitions for MICROBLAZE0" | 23 | comment "Definitions for MICROBLAZE0" |
24 | depends on ALLOW_EDIT_AUTO | ||
25 | 24 | ||
26 | config KERNEL_BASE_ADDR | 25 | config KERNEL_BASE_ADDR |
27 | hex "Physical address where Linux Kernel is" | 26 | hex "Physical address where Linux Kernel is" |
@@ -30,33 +29,33 @@ config KERNEL_BASE_ADDR | |||
30 | BASE Address for kernel | 29 | BASE Address for kernel |
31 | 30 | ||
32 | config XILINX_MICROBLAZE0_FAMILY | 31 | config XILINX_MICROBLAZE0_FAMILY |
33 | string "Targetted FPGA family" if ALLOW_EDIT_AUTO | 32 | string "Targetted FPGA family" |
34 | default "virtex5" | 33 | default "virtex5" |
35 | 34 | ||
36 | config XILINX_MICROBLAZE0_USE_MSR_INSTR | 35 | config XILINX_MICROBLAZE0_USE_MSR_INSTR |
37 | int "USE_MSR_INSTR range (0:1)" if ALLOW_EDIT_AUTO | 36 | int "USE_MSR_INSTR range (0:1)" |
38 | default 1 | 37 | default 0 |
39 | 38 | ||
40 | config XILINX_MICROBLAZE0_USE_PCMP_INSTR | 39 | config XILINX_MICROBLAZE0_USE_PCMP_INSTR |
41 | int "USE_PCMP_INSTR range (0:1)" if ALLOW_EDIT_AUTO | 40 | int "USE_PCMP_INSTR range (0:1)" |
42 | default 1 | 41 | default 0 |
43 | 42 | ||
44 | config XILINX_MICROBLAZE0_USE_BARREL | 43 | config XILINX_MICROBLAZE0_USE_BARREL |
45 | int "USE_BARREL range (0:1)" if ALLOW_EDIT_AUTO | 44 | int "USE_BARREL range (0:1)" |
46 | default 1 | 45 | default 0 |
47 | 46 | ||
48 | config XILINX_MICROBLAZE0_USE_DIV | 47 | config XILINX_MICROBLAZE0_USE_DIV |
49 | int "USE_DIV range (0:1)" if ALLOW_EDIT_AUTO | 48 | int "USE_DIV range (0:1)" |
50 | default 1 | 49 | default 0 |
51 | 50 | ||
52 | config XILINX_MICROBLAZE0_USE_HW_MUL | 51 | config XILINX_MICROBLAZE0_USE_HW_MUL |
53 | int "USE_HW_MUL values (0=NONE, 1=MUL32, 2=MUL64)" if ALLOW_EDIT_AUTO | 52 | int "USE_HW_MUL values (0=NONE, 1=MUL32, 2=MUL64)" |
54 | default 2 | 53 | default 0 |
55 | 54 | ||
56 | config XILINX_MICROBLAZE0_USE_FPU | 55 | config XILINX_MICROBLAZE0_USE_FPU |
57 | int "USE_FPU values (0=NONE, 1=BASIC, 2=EXTENDED)" if ALLOW_EDIT_AUTO | 56 | int "USE_FPU values (0=NONE, 1=BASIC, 2=EXTENDED)" |
58 | default 2 | 57 | default 0 |
59 | 58 | ||
60 | config XILINX_MICROBLAZE0_HW_VER | 59 | config XILINX_MICROBLAZE0_HW_VER |
61 | string "Core version number" if ALLOW_EDIT_AUTO | 60 | string "Core version number" |
62 | default 7.10.d | 61 | default 7.10.d |
diff --git a/arch/microblaze/platform/generic/system.dts b/arch/microblaze/platform/generic/system.dts index 29993f62b30a..2d5c41767cd0 100644 --- a/arch/microblaze/platform/generic/system.dts +++ b/arch/microblaze/platform/generic/system.dts | |||
@@ -32,11 +32,16 @@ | |||
32 | #address-cells = <1>; | 32 | #address-cells = <1>; |
33 | #size-cells = <1>; | 33 | #size-cells = <1>; |
34 | compatible = "xlnx,microblaze"; | 34 | compatible = "xlnx,microblaze"; |
35 | hard-reset-gpios = <&LEDs_8Bit 2 1>; | ||
35 | model = "testing"; | 36 | model = "testing"; |
36 | DDR2_SDRAM: memory@90000000 { | 37 | DDR2_SDRAM: memory@90000000 { |
37 | device_type = "memory"; | 38 | device_type = "memory"; |
38 | reg = < 0x90000000 0x10000000 >; | 39 | reg = < 0x90000000 0x10000000 >; |
39 | } ; | 40 | } ; |
41 | aliases { | ||
42 | ethernet0 = &Hard_Ethernet_MAC; | ||
43 | serial0 = &RS232_Uart_1; | ||
44 | } ; | ||
40 | chosen { | 45 | chosen { |
41 | bootargs = "console=ttyUL0,115200 highres=on"; | 46 | bootargs = "console=ttyUL0,115200 highres=on"; |
42 | linux,stdout-path = "/plb@0/serial@84000000"; | 47 | linux,stdout-path = "/plb@0/serial@84000000"; |
@@ -127,7 +132,7 @@ | |||
127 | mb_plb: plb@0 { | 132 | mb_plb: plb@0 { |
128 | #address-cells = <1>; | 133 | #address-cells = <1>; |
129 | #size-cells = <1>; | 134 | #size-cells = <1>; |
130 | compatible = "xlnx,plb-v46-1.03.a", "simple-bus"; | 135 | compatible = "xlnx,plb-v46-1.03.a", "xlnx,plb-v46-1.00.a", "simple-bus"; |
131 | ranges ; | 136 | ranges ; |
132 | FLASH: flash@a0000000 { | 137 | FLASH: flash@a0000000 { |
133 | bank-width = <2>; | 138 | bank-width = <2>; |
@@ -214,12 +219,12 @@ | |||
214 | #size-cells = <1>; | 219 | #size-cells = <1>; |
215 | compatible = "xlnx,compound"; | 220 | compatible = "xlnx,compound"; |
216 | ethernet@81c00000 { | 221 | ethernet@81c00000 { |
217 | compatible = "xlnx,xps-ll-temac-1.01.b"; | 222 | compatible = "xlnx,xps-ll-temac-1.01.b", "xlnx,xps-ll-temac-1.00.a"; |
218 | device_type = "network"; | 223 | device_type = "network"; |
219 | interrupt-parent = <&xps_intc_0>; | 224 | interrupt-parent = <&xps_intc_0>; |
220 | interrupts = < 5 2 >; | 225 | interrupts = < 5 2 >; |
221 | llink-connected = <&PIM3>; | 226 | llink-connected = <&PIM3>; |
222 | local-mac-address = [ 02 00 00 00 00 00 ]; | 227 | local-mac-address = [ 00 0a 35 00 00 00 ]; |
223 | reg = < 0x81c00000 0x40 >; | 228 | reg = < 0x81c00000 0x40 >; |
224 | xlnx,bus2core-clk-ratio = <0x1>; | 229 | xlnx,bus2core-clk-ratio = <0x1>; |
225 | xlnx,phy-type = <0x1>; | 230 | xlnx,phy-type = <0x1>; |
@@ -261,6 +266,33 @@ | |||
261 | xlnx,is-dual = <0x0>; | 266 | xlnx,is-dual = <0x0>; |
262 | xlnx,tri-default = <0xffffffff>; | 267 | xlnx,tri-default = <0xffffffff>; |
263 | xlnx,tri-default-2 = <0xffffffff>; | 268 | xlnx,tri-default-2 = <0xffffffff>; |
269 | #gpio-cells = <2>; | ||
270 | gpio-controller; | ||
271 | } ; | ||
272 | |||
273 | gpio-leds { | ||
274 | compatible = "gpio-leds"; | ||
275 | |||
276 | heartbeat { | ||
277 | label = "Heartbeat"; | ||
278 | gpios = <&LEDs_8Bit 4 1>; | ||
279 | linux,default-trigger = "heartbeat"; | ||
280 | }; | ||
281 | |||
282 | yellow { | ||
283 | label = "Yellow"; | ||
284 | gpios = <&LEDs_8Bit 5 1>; | ||
285 | }; | ||
286 | |||
287 | red { | ||
288 | label = "Red"; | ||
289 | gpios = <&LEDs_8Bit 6 1>; | ||
290 | }; | ||
291 | |||
292 | green { | ||
293 | label = "Green"; | ||
294 | gpios = <&LEDs_8Bit 7 1>; | ||
295 | }; | ||
264 | } ; | 296 | } ; |
265 | RS232_Uart_1: serial@84000000 { | 297 | RS232_Uart_1: serial@84000000 { |
266 | clock-frequency = <125000000>; | 298 | clock-frequency = <125000000>; |
diff --git a/arch/microblaze/platform/platform.c b/arch/microblaze/platform/platform.c index 56e0234fa34b..5b89b58c5aed 100644 --- a/arch/microblaze/platform/platform.c +++ b/arch/microblaze/platform/platform.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/of_platform.h> | 14 | #include <linux/of_platform.h> |
15 | #include <asm/prom.h> | 15 | #include <asm/prom.h> |
16 | #include <asm/setup.h> | ||
16 | 17 | ||
17 | static struct of_device_id xilinx_of_bus_ids[] __initdata = { | 18 | static struct of_device_id xilinx_of_bus_ids[] __initdata = { |
18 | { .compatible = "simple-bus", }, | 19 | { .compatible = "simple-bus", }, |
@@ -26,6 +27,7 @@ static struct of_device_id xilinx_of_bus_ids[] __initdata = { | |||
26 | static int __init microblaze_device_probe(void) | 27 | static int __init microblaze_device_probe(void) |
27 | { | 28 | { |
28 | of_platform_bus_probe(NULL, xilinx_of_bus_ids, NULL); | 29 | of_platform_bus_probe(NULL, xilinx_of_bus_ids, NULL); |
30 | of_platform_reset_gpio_probe(); | ||
29 | return 0; | 31 | return 0; |
30 | } | 32 | } |
31 | device_initcall(microblaze_device_probe); | 33 | device_initcall(microblaze_device_probe); |
diff --git a/arch/mips/include/asm/spinlock.h b/arch/mips/include/asm/spinlock.h index 5b60a09a0f08..21ef9efbde43 100644 --- a/arch/mips/include/asm/spinlock.h +++ b/arch/mips/include/asm/spinlock.h | |||
@@ -34,33 +34,33 @@ | |||
34 | * becomes equal to the the initial value of the tail. | 34 | * becomes equal to the the initial value of the tail. |
35 | */ | 35 | */ |
36 | 36 | ||
37 | static inline int __raw_spin_is_locked(raw_spinlock_t *lock) | 37 | static inline int arch_spin_is_locked(arch_spinlock_t *lock) |
38 | { | 38 | { |
39 | unsigned int counters = ACCESS_ONCE(lock->lock); | 39 | unsigned int counters = ACCESS_ONCE(lock->lock); |
40 | 40 | ||
41 | return ((counters >> 14) ^ counters) & 0x1fff; | 41 | return ((counters >> 14) ^ counters) & 0x1fff; |
42 | } | 42 | } |
43 | 43 | ||
44 | #define __raw_spin_lock_flags(lock, flags) __raw_spin_lock(lock) | 44 | #define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock) |
45 | #define __raw_spin_unlock_wait(x) \ | 45 | #define arch_spin_unlock_wait(x) \ |
46 | while (__raw_spin_is_locked(x)) { cpu_relax(); } | 46 | while (arch_spin_is_locked(x)) { cpu_relax(); } |
47 | 47 | ||
48 | static inline int __raw_spin_is_contended(raw_spinlock_t *lock) | 48 | static inline int arch_spin_is_contended(arch_spinlock_t *lock) |
49 | { | 49 | { |
50 | unsigned int counters = ACCESS_ONCE(lock->lock); | 50 | unsigned int counters = ACCESS_ONCE(lock->lock); |
51 | 51 | ||
52 | return (((counters >> 14) - counters) & 0x1fff) > 1; | 52 | return (((counters >> 14) - counters) & 0x1fff) > 1; |
53 | } | 53 | } |
54 | #define __raw_spin_is_contended __raw_spin_is_contended | 54 | #define arch_spin_is_contended arch_spin_is_contended |
55 | 55 | ||
56 | static inline void __raw_spin_lock(raw_spinlock_t *lock) | 56 | static inline void arch_spin_lock(arch_spinlock_t *lock) |
57 | { | 57 | { |
58 | int my_ticket; | 58 | int my_ticket; |
59 | int tmp; | 59 | int tmp; |
60 | 60 | ||
61 | if (R10000_LLSC_WAR) { | 61 | if (R10000_LLSC_WAR) { |
62 | __asm__ __volatile__ ( | 62 | __asm__ __volatile__ ( |
63 | " .set push # __raw_spin_lock \n" | 63 | " .set push # arch_spin_lock \n" |
64 | " .set noreorder \n" | 64 | " .set noreorder \n" |
65 | " \n" | 65 | " \n" |
66 | "1: ll %[ticket], %[ticket_ptr] \n" | 66 | "1: ll %[ticket], %[ticket_ptr] \n" |
@@ -94,7 +94,7 @@ static inline void __raw_spin_lock(raw_spinlock_t *lock) | |||
94 | [my_ticket] "=&r" (my_ticket)); | 94 | [my_ticket] "=&r" (my_ticket)); |
95 | } else { | 95 | } else { |
96 | __asm__ __volatile__ ( | 96 | __asm__ __volatile__ ( |
97 | " .set push # __raw_spin_lock \n" | 97 | " .set push # arch_spin_lock \n" |
98 | " .set noreorder \n" | 98 | " .set noreorder \n" |
99 | " \n" | 99 | " \n" |
100 | " ll %[ticket], %[ticket_ptr] \n" | 100 | " ll %[ticket], %[ticket_ptr] \n" |
@@ -134,7 +134,7 @@ static inline void __raw_spin_lock(raw_spinlock_t *lock) | |||
134 | smp_llsc_mb(); | 134 | smp_llsc_mb(); |
135 | } | 135 | } |
136 | 136 | ||
137 | static inline void __raw_spin_unlock(raw_spinlock_t *lock) | 137 | static inline void arch_spin_unlock(arch_spinlock_t *lock) |
138 | { | 138 | { |
139 | int tmp; | 139 | int tmp; |
140 | 140 | ||
@@ -142,7 +142,7 @@ static inline void __raw_spin_unlock(raw_spinlock_t *lock) | |||
142 | 142 | ||
143 | if (R10000_LLSC_WAR) { | 143 | if (R10000_LLSC_WAR) { |
144 | __asm__ __volatile__ ( | 144 | __asm__ __volatile__ ( |
145 | " # __raw_spin_unlock \n" | 145 | " # arch_spin_unlock \n" |
146 | "1: ll %[ticket], %[ticket_ptr] \n" | 146 | "1: ll %[ticket], %[ticket_ptr] \n" |
147 | " addiu %[ticket], %[ticket], 1 \n" | 147 | " addiu %[ticket], %[ticket], 1 \n" |
148 | " ori %[ticket], %[ticket], 0x2000 \n" | 148 | " ori %[ticket], %[ticket], 0x2000 \n" |
@@ -153,7 +153,7 @@ static inline void __raw_spin_unlock(raw_spinlock_t *lock) | |||
153 | [ticket] "=&r" (tmp)); | 153 | [ticket] "=&r" (tmp)); |
154 | } else { | 154 | } else { |
155 | __asm__ __volatile__ ( | 155 | __asm__ __volatile__ ( |
156 | " .set push # __raw_spin_unlock \n" | 156 | " .set push # arch_spin_unlock \n" |
157 | " .set noreorder \n" | 157 | " .set noreorder \n" |
158 | " \n" | 158 | " \n" |
159 | " ll %[ticket], %[ticket_ptr] \n" | 159 | " ll %[ticket], %[ticket_ptr] \n" |
@@ -174,13 +174,13 @@ static inline void __raw_spin_unlock(raw_spinlock_t *lock) | |||
174 | } | 174 | } |
175 | } | 175 | } |
176 | 176 | ||
177 | static inline unsigned int __raw_spin_trylock(raw_spinlock_t *lock) | 177 | static inline unsigned int arch_spin_trylock(arch_spinlock_t *lock) |
178 | { | 178 | { |
179 | int tmp, tmp2, tmp3; | 179 | int tmp, tmp2, tmp3; |
180 | 180 | ||
181 | if (R10000_LLSC_WAR) { | 181 | if (R10000_LLSC_WAR) { |
182 | __asm__ __volatile__ ( | 182 | __asm__ __volatile__ ( |
183 | " .set push # __raw_spin_trylock \n" | 183 | " .set push # arch_spin_trylock \n" |
184 | " .set noreorder \n" | 184 | " .set noreorder \n" |
185 | " \n" | 185 | " \n" |
186 | "1: ll %[ticket], %[ticket_ptr] \n" | 186 | "1: ll %[ticket], %[ticket_ptr] \n" |
@@ -204,7 +204,7 @@ static inline unsigned int __raw_spin_trylock(raw_spinlock_t *lock) | |||
204 | [now_serving] "=&r" (tmp3)); | 204 | [now_serving] "=&r" (tmp3)); |
205 | } else { | 205 | } else { |
206 | __asm__ __volatile__ ( | 206 | __asm__ __volatile__ ( |
207 | " .set push # __raw_spin_trylock \n" | 207 | " .set push # arch_spin_trylock \n" |
208 | " .set noreorder \n" | 208 | " .set noreorder \n" |
209 | " \n" | 209 | " \n" |
210 | " ll %[ticket], %[ticket_ptr] \n" | 210 | " ll %[ticket], %[ticket_ptr] \n" |
@@ -248,21 +248,21 @@ static inline unsigned int __raw_spin_trylock(raw_spinlock_t *lock) | |||
248 | * read_can_lock - would read_trylock() succeed? | 248 | * read_can_lock - would read_trylock() succeed? |
249 | * @lock: the rwlock in question. | 249 | * @lock: the rwlock in question. |
250 | */ | 250 | */ |
251 | #define __raw_read_can_lock(rw) ((rw)->lock >= 0) | 251 | #define arch_read_can_lock(rw) ((rw)->lock >= 0) |
252 | 252 | ||
253 | /* | 253 | /* |
254 | * write_can_lock - would write_trylock() succeed? | 254 | * write_can_lock - would write_trylock() succeed? |
255 | * @lock: the rwlock in question. | 255 | * @lock: the rwlock in question. |
256 | */ | 256 | */ |
257 | #define __raw_write_can_lock(rw) (!(rw)->lock) | 257 | #define arch_write_can_lock(rw) (!(rw)->lock) |
258 | 258 | ||
259 | static inline void __raw_read_lock(raw_rwlock_t *rw) | 259 | static inline void arch_read_lock(arch_rwlock_t *rw) |
260 | { | 260 | { |
261 | unsigned int tmp; | 261 | unsigned int tmp; |
262 | 262 | ||
263 | if (R10000_LLSC_WAR) { | 263 | if (R10000_LLSC_WAR) { |
264 | __asm__ __volatile__( | 264 | __asm__ __volatile__( |
265 | " .set noreorder # __raw_read_lock \n" | 265 | " .set noreorder # arch_read_lock \n" |
266 | "1: ll %1, %2 \n" | 266 | "1: ll %1, %2 \n" |
267 | " bltz %1, 1b \n" | 267 | " bltz %1, 1b \n" |
268 | " addu %1, 1 \n" | 268 | " addu %1, 1 \n" |
@@ -275,7 +275,7 @@ static inline void __raw_read_lock(raw_rwlock_t *rw) | |||
275 | : "memory"); | 275 | : "memory"); |
276 | } else { | 276 | } else { |
277 | __asm__ __volatile__( | 277 | __asm__ __volatile__( |
278 | " .set noreorder # __raw_read_lock \n" | 278 | " .set noreorder # arch_read_lock \n" |
279 | "1: ll %1, %2 \n" | 279 | "1: ll %1, %2 \n" |
280 | " bltz %1, 2f \n" | 280 | " bltz %1, 2f \n" |
281 | " addu %1, 1 \n" | 281 | " addu %1, 1 \n" |
@@ -301,7 +301,7 @@ static inline void __raw_read_lock(raw_rwlock_t *rw) | |||
301 | /* Note the use of sub, not subu which will make the kernel die with an | 301 | /* Note the use of sub, not subu which will make the kernel die with an |
302 | overflow exception if we ever try to unlock an rwlock that is already | 302 | overflow exception if we ever try to unlock an rwlock that is already |
303 | unlocked or is being held by a writer. */ | 303 | unlocked or is being held by a writer. */ |
304 | static inline void __raw_read_unlock(raw_rwlock_t *rw) | 304 | static inline void arch_read_unlock(arch_rwlock_t *rw) |
305 | { | 305 | { |
306 | unsigned int tmp; | 306 | unsigned int tmp; |
307 | 307 | ||
@@ -309,7 +309,7 @@ static inline void __raw_read_unlock(raw_rwlock_t *rw) | |||
309 | 309 | ||
310 | if (R10000_LLSC_WAR) { | 310 | if (R10000_LLSC_WAR) { |
311 | __asm__ __volatile__( | 311 | __asm__ __volatile__( |
312 | "1: ll %1, %2 # __raw_read_unlock \n" | 312 | "1: ll %1, %2 # arch_read_unlock \n" |
313 | " sub %1, 1 \n" | 313 | " sub %1, 1 \n" |
314 | " sc %1, %0 \n" | 314 | " sc %1, %0 \n" |
315 | " beqzl %1, 1b \n" | 315 | " beqzl %1, 1b \n" |
@@ -318,7 +318,7 @@ static inline void __raw_read_unlock(raw_rwlock_t *rw) | |||
318 | : "memory"); | 318 | : "memory"); |
319 | } else { | 319 | } else { |
320 | __asm__ __volatile__( | 320 | __asm__ __volatile__( |
321 | " .set noreorder # __raw_read_unlock \n" | 321 | " .set noreorder # arch_read_unlock \n" |
322 | "1: ll %1, %2 \n" | 322 | "1: ll %1, %2 \n" |
323 | " sub %1, 1 \n" | 323 | " sub %1, 1 \n" |
324 | " sc %1, %0 \n" | 324 | " sc %1, %0 \n" |
@@ -335,13 +335,13 @@ static inline void __raw_read_unlock(raw_rwlock_t *rw) | |||
335 | } | 335 | } |
336 | } | 336 | } |
337 | 337 | ||
338 | static inline void __raw_write_lock(raw_rwlock_t *rw) | 338 | static inline void arch_write_lock(arch_rwlock_t *rw) |
339 | { | 339 | { |
340 | unsigned int tmp; | 340 | unsigned int tmp; |
341 | 341 | ||
342 | if (R10000_LLSC_WAR) { | 342 | if (R10000_LLSC_WAR) { |
343 | __asm__ __volatile__( | 343 | __asm__ __volatile__( |
344 | " .set noreorder # __raw_write_lock \n" | 344 | " .set noreorder # arch_write_lock \n" |
345 | "1: ll %1, %2 \n" | 345 | "1: ll %1, %2 \n" |
346 | " bnez %1, 1b \n" | 346 | " bnez %1, 1b \n" |
347 | " lui %1, 0x8000 \n" | 347 | " lui %1, 0x8000 \n" |
@@ -354,7 +354,7 @@ static inline void __raw_write_lock(raw_rwlock_t *rw) | |||
354 | : "memory"); | 354 | : "memory"); |
355 | } else { | 355 | } else { |
356 | __asm__ __volatile__( | 356 | __asm__ __volatile__( |
357 | " .set noreorder # __raw_write_lock \n" | 357 | " .set noreorder # arch_write_lock \n" |
358 | "1: ll %1, %2 \n" | 358 | "1: ll %1, %2 \n" |
359 | " bnez %1, 2f \n" | 359 | " bnez %1, 2f \n" |
360 | " lui %1, 0x8000 \n" | 360 | " lui %1, 0x8000 \n" |
@@ -377,26 +377,26 @@ static inline void __raw_write_lock(raw_rwlock_t *rw) | |||
377 | smp_llsc_mb(); | 377 | smp_llsc_mb(); |
378 | } | 378 | } |
379 | 379 | ||
380 | static inline void __raw_write_unlock(raw_rwlock_t *rw) | 380 | static inline void arch_write_unlock(arch_rwlock_t *rw) |
381 | { | 381 | { |
382 | smp_mb(); | 382 | smp_mb(); |
383 | 383 | ||
384 | __asm__ __volatile__( | 384 | __asm__ __volatile__( |
385 | " # __raw_write_unlock \n" | 385 | " # arch_write_unlock \n" |
386 | " sw $0, %0 \n" | 386 | " sw $0, %0 \n" |
387 | : "=m" (rw->lock) | 387 | : "=m" (rw->lock) |
388 | : "m" (rw->lock) | 388 | : "m" (rw->lock) |
389 | : "memory"); | 389 | : "memory"); |
390 | } | 390 | } |
391 | 391 | ||
392 | static inline int __raw_read_trylock(raw_rwlock_t *rw) | 392 | static inline int arch_read_trylock(arch_rwlock_t *rw) |
393 | { | 393 | { |
394 | unsigned int tmp; | 394 | unsigned int tmp; |
395 | int ret; | 395 | int ret; |
396 | 396 | ||
397 | if (R10000_LLSC_WAR) { | 397 | if (R10000_LLSC_WAR) { |
398 | __asm__ __volatile__( | 398 | __asm__ __volatile__( |
399 | " .set noreorder # __raw_read_trylock \n" | 399 | " .set noreorder # arch_read_trylock \n" |
400 | " li %2, 0 \n" | 400 | " li %2, 0 \n" |
401 | "1: ll %1, %3 \n" | 401 | "1: ll %1, %3 \n" |
402 | " bltz %1, 2f \n" | 402 | " bltz %1, 2f \n" |
@@ -413,7 +413,7 @@ static inline int __raw_read_trylock(raw_rwlock_t *rw) | |||
413 | : "memory"); | 413 | : "memory"); |
414 | } else { | 414 | } else { |
415 | __asm__ __volatile__( | 415 | __asm__ __volatile__( |
416 | " .set noreorder # __raw_read_trylock \n" | 416 | " .set noreorder # arch_read_trylock \n" |
417 | " li %2, 0 \n" | 417 | " li %2, 0 \n" |
418 | "1: ll %1, %3 \n" | 418 | "1: ll %1, %3 \n" |
419 | " bltz %1, 2f \n" | 419 | " bltz %1, 2f \n" |
@@ -433,14 +433,14 @@ static inline int __raw_read_trylock(raw_rwlock_t *rw) | |||
433 | return ret; | 433 | return ret; |
434 | } | 434 | } |
435 | 435 | ||
436 | static inline int __raw_write_trylock(raw_rwlock_t *rw) | 436 | static inline int arch_write_trylock(arch_rwlock_t *rw) |
437 | { | 437 | { |
438 | unsigned int tmp; | 438 | unsigned int tmp; |
439 | int ret; | 439 | int ret; |
440 | 440 | ||
441 | if (R10000_LLSC_WAR) { | 441 | if (R10000_LLSC_WAR) { |
442 | __asm__ __volatile__( | 442 | __asm__ __volatile__( |
443 | " .set noreorder # __raw_write_trylock \n" | 443 | " .set noreorder # arch_write_trylock \n" |
444 | " li %2, 0 \n" | 444 | " li %2, 0 \n" |
445 | "1: ll %1, %3 \n" | 445 | "1: ll %1, %3 \n" |
446 | " bnez %1, 2f \n" | 446 | " bnez %1, 2f \n" |
@@ -457,7 +457,7 @@ static inline int __raw_write_trylock(raw_rwlock_t *rw) | |||
457 | : "memory"); | 457 | : "memory"); |
458 | } else { | 458 | } else { |
459 | __asm__ __volatile__( | 459 | __asm__ __volatile__( |
460 | " .set noreorder # __raw_write_trylock \n" | 460 | " .set noreorder # arch_write_trylock \n" |
461 | " li %2, 0 \n" | 461 | " li %2, 0 \n" |
462 | "1: ll %1, %3 \n" | 462 | "1: ll %1, %3 \n" |
463 | " bnez %1, 2f \n" | 463 | " bnez %1, 2f \n" |
@@ -480,11 +480,11 @@ static inline int __raw_write_trylock(raw_rwlock_t *rw) | |||
480 | return ret; | 480 | return ret; |
481 | } | 481 | } |
482 | 482 | ||
483 | #define __raw_read_lock_flags(lock, flags) __raw_read_lock(lock) | 483 | #define arch_read_lock_flags(lock, flags) arch_read_lock(lock) |
484 | #define __raw_write_lock_flags(lock, flags) __raw_write_lock(lock) | 484 | #define arch_write_lock_flags(lock, flags) arch_write_lock(lock) |
485 | 485 | ||
486 | #define _raw_spin_relax(lock) cpu_relax() | 486 | #define arch_spin_relax(lock) cpu_relax() |
487 | #define _raw_read_relax(lock) cpu_relax() | 487 | #define arch_read_relax(lock) cpu_relax() |
488 | #define _raw_write_relax(lock) cpu_relax() | 488 | #define arch_write_relax(lock) cpu_relax() |
489 | 489 | ||
490 | #endif /* _ASM_SPINLOCK_H */ | 490 | #endif /* _ASM_SPINLOCK_H */ |
diff --git a/arch/mips/include/asm/spinlock_types.h b/arch/mips/include/asm/spinlock_types.h index adeedaa116c1..ee197c2f9c98 100644 --- a/arch/mips/include/asm/spinlock_types.h +++ b/arch/mips/include/asm/spinlock_types.h | |||
@@ -12,14 +12,14 @@ typedef struct { | |||
12 | * bits 15..28: ticket | 12 | * bits 15..28: ticket |
13 | */ | 13 | */ |
14 | unsigned int lock; | 14 | unsigned int lock; |
15 | } raw_spinlock_t; | 15 | } arch_spinlock_t; |
16 | 16 | ||
17 | #define __RAW_SPIN_LOCK_UNLOCKED { 0 } | 17 | #define __ARCH_SPIN_LOCK_UNLOCKED { 0 } |
18 | 18 | ||
19 | typedef struct { | 19 | typedef struct { |
20 | volatile unsigned int lock; | 20 | volatile unsigned int lock; |
21 | } raw_rwlock_t; | 21 | } arch_rwlock_t; |
22 | 22 | ||
23 | #define __RAW_RW_LOCK_UNLOCKED { 0 } | 23 | #define __ARCH_RW_LOCK_UNLOCKED { 0 } |
24 | 24 | ||
25 | #endif | 25 | #endif |
diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index 7b845ba9dff4..8b0b4181219f 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c | |||
@@ -99,7 +99,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
99 | } | 99 | } |
100 | 100 | ||
101 | if (i < NR_IRQS) { | 101 | if (i < NR_IRQS) { |
102 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 102 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
103 | action = irq_desc[i].action; | 103 | action = irq_desc[i].action; |
104 | if (!action) | 104 | if (!action) |
105 | goto skip; | 105 | goto skip; |
@@ -118,7 +118,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
118 | 118 | ||
119 | seq_putc(p, '\n'); | 119 | seq_putc(p, '\n'); |
120 | skip: | 120 | skip: |
121 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 121 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
122 | } else if (i == NR_IRQS) { | 122 | } else if (i == NR_IRQS) { |
123 | seq_putc(p, '\n'); | 123 | seq_putc(p, '\n'); |
124 | seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); | 124 | seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); |
diff --git a/arch/mips/vr41xx/common/icu.c b/arch/mips/vr41xx/common/icu.c index 6d39e222b170..6153b6a05ccf 100644 --- a/arch/mips/vr41xx/common/icu.c +++ b/arch/mips/vr41xx/common/icu.c | |||
@@ -159,9 +159,9 @@ void vr41xx_enable_piuint(uint16_t mask) | |||
159 | 159 | ||
160 | if (current_cpu_type() == CPU_VR4111 || | 160 | if (current_cpu_type() == CPU_VR4111 || |
161 | current_cpu_type() == CPU_VR4121) { | 161 | current_cpu_type() == CPU_VR4121) { |
162 | spin_lock_irqsave(&desc->lock, flags); | 162 | raw_spin_lock_irqsave(&desc->lock, flags); |
163 | icu1_set(MPIUINTREG, mask); | 163 | icu1_set(MPIUINTREG, mask); |
164 | spin_unlock_irqrestore(&desc->lock, flags); | 164 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
165 | } | 165 | } |
166 | } | 166 | } |
167 | 167 | ||
@@ -174,9 +174,9 @@ void vr41xx_disable_piuint(uint16_t mask) | |||
174 | 174 | ||
175 | if (current_cpu_type() == CPU_VR4111 || | 175 | if (current_cpu_type() == CPU_VR4111 || |
176 | current_cpu_type() == CPU_VR4121) { | 176 | current_cpu_type() == CPU_VR4121) { |
177 | spin_lock_irqsave(&desc->lock, flags); | 177 | raw_spin_lock_irqsave(&desc->lock, flags); |
178 | icu1_clear(MPIUINTREG, mask); | 178 | icu1_clear(MPIUINTREG, mask); |
179 | spin_unlock_irqrestore(&desc->lock, flags); | 179 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
180 | } | 180 | } |
181 | } | 181 | } |
182 | 182 | ||
@@ -189,9 +189,9 @@ void vr41xx_enable_aiuint(uint16_t mask) | |||
189 | 189 | ||
190 | if (current_cpu_type() == CPU_VR4111 || | 190 | if (current_cpu_type() == CPU_VR4111 || |
191 | current_cpu_type() == CPU_VR4121) { | 191 | current_cpu_type() == CPU_VR4121) { |
192 | spin_lock_irqsave(&desc->lock, flags); | 192 | raw_spin_lock_irqsave(&desc->lock, flags); |
193 | icu1_set(MAIUINTREG, mask); | 193 | icu1_set(MAIUINTREG, mask); |
194 | spin_unlock_irqrestore(&desc->lock, flags); | 194 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
195 | } | 195 | } |
196 | } | 196 | } |
197 | 197 | ||
@@ -204,9 +204,9 @@ void vr41xx_disable_aiuint(uint16_t mask) | |||
204 | 204 | ||
205 | if (current_cpu_type() == CPU_VR4111 || | 205 | if (current_cpu_type() == CPU_VR4111 || |
206 | current_cpu_type() == CPU_VR4121) { | 206 | current_cpu_type() == CPU_VR4121) { |
207 | spin_lock_irqsave(&desc->lock, flags); | 207 | raw_spin_lock_irqsave(&desc->lock, flags); |
208 | icu1_clear(MAIUINTREG, mask); | 208 | icu1_clear(MAIUINTREG, mask); |
209 | spin_unlock_irqrestore(&desc->lock, flags); | 209 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
210 | } | 210 | } |
211 | } | 211 | } |
212 | 212 | ||
@@ -219,9 +219,9 @@ void vr41xx_enable_kiuint(uint16_t mask) | |||
219 | 219 | ||
220 | if (current_cpu_type() == CPU_VR4111 || | 220 | if (current_cpu_type() == CPU_VR4111 || |
221 | current_cpu_type() == CPU_VR4121) { | 221 | current_cpu_type() == CPU_VR4121) { |
222 | spin_lock_irqsave(&desc->lock, flags); | 222 | raw_spin_lock_irqsave(&desc->lock, flags); |
223 | icu1_set(MKIUINTREG, mask); | 223 | icu1_set(MKIUINTREG, mask); |
224 | spin_unlock_irqrestore(&desc->lock, flags); | 224 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
225 | } | 225 | } |
226 | } | 226 | } |
227 | 227 | ||
@@ -234,9 +234,9 @@ void vr41xx_disable_kiuint(uint16_t mask) | |||
234 | 234 | ||
235 | if (current_cpu_type() == CPU_VR4111 || | 235 | if (current_cpu_type() == CPU_VR4111 || |
236 | current_cpu_type() == CPU_VR4121) { | 236 | current_cpu_type() == CPU_VR4121) { |
237 | spin_lock_irqsave(&desc->lock, flags); | 237 | raw_spin_lock_irqsave(&desc->lock, flags); |
238 | icu1_clear(MKIUINTREG, mask); | 238 | icu1_clear(MKIUINTREG, mask); |
239 | spin_unlock_irqrestore(&desc->lock, flags); | 239 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
240 | } | 240 | } |
241 | } | 241 | } |
242 | 242 | ||
@@ -247,9 +247,9 @@ void vr41xx_enable_macint(uint16_t mask) | |||
247 | struct irq_desc *desc = irq_desc + ETHERNET_IRQ; | 247 | struct irq_desc *desc = irq_desc + ETHERNET_IRQ; |
248 | unsigned long flags; | 248 | unsigned long flags; |
249 | 249 | ||
250 | spin_lock_irqsave(&desc->lock, flags); | 250 | raw_spin_lock_irqsave(&desc->lock, flags); |
251 | icu1_set(MMACINTREG, mask); | 251 | icu1_set(MMACINTREG, mask); |
252 | spin_unlock_irqrestore(&desc->lock, flags); | 252 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
253 | } | 253 | } |
254 | 254 | ||
255 | EXPORT_SYMBOL(vr41xx_enable_macint); | 255 | EXPORT_SYMBOL(vr41xx_enable_macint); |
@@ -259,9 +259,9 @@ void vr41xx_disable_macint(uint16_t mask) | |||
259 | struct irq_desc *desc = irq_desc + ETHERNET_IRQ; | 259 | struct irq_desc *desc = irq_desc + ETHERNET_IRQ; |
260 | unsigned long flags; | 260 | unsigned long flags; |
261 | 261 | ||
262 | spin_lock_irqsave(&desc->lock, flags); | 262 | raw_spin_lock_irqsave(&desc->lock, flags); |
263 | icu1_clear(MMACINTREG, mask); | 263 | icu1_clear(MMACINTREG, mask); |
264 | spin_unlock_irqrestore(&desc->lock, flags); | 264 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
265 | } | 265 | } |
266 | 266 | ||
267 | EXPORT_SYMBOL(vr41xx_disable_macint); | 267 | EXPORT_SYMBOL(vr41xx_disable_macint); |
@@ -271,9 +271,9 @@ void vr41xx_enable_dsiuint(uint16_t mask) | |||
271 | struct irq_desc *desc = irq_desc + DSIU_IRQ; | 271 | struct irq_desc *desc = irq_desc + DSIU_IRQ; |
272 | unsigned long flags; | 272 | unsigned long flags; |
273 | 273 | ||
274 | spin_lock_irqsave(&desc->lock, flags); | 274 | raw_spin_lock_irqsave(&desc->lock, flags); |
275 | icu1_set(MDSIUINTREG, mask); | 275 | icu1_set(MDSIUINTREG, mask); |
276 | spin_unlock_irqrestore(&desc->lock, flags); | 276 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
277 | } | 277 | } |
278 | 278 | ||
279 | EXPORT_SYMBOL(vr41xx_enable_dsiuint); | 279 | EXPORT_SYMBOL(vr41xx_enable_dsiuint); |
@@ -283,9 +283,9 @@ void vr41xx_disable_dsiuint(uint16_t mask) | |||
283 | struct irq_desc *desc = irq_desc + DSIU_IRQ; | 283 | struct irq_desc *desc = irq_desc + DSIU_IRQ; |
284 | unsigned long flags; | 284 | unsigned long flags; |
285 | 285 | ||
286 | spin_lock_irqsave(&desc->lock, flags); | 286 | raw_spin_lock_irqsave(&desc->lock, flags); |
287 | icu1_clear(MDSIUINTREG, mask); | 287 | icu1_clear(MDSIUINTREG, mask); |
288 | spin_unlock_irqrestore(&desc->lock, flags); | 288 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
289 | } | 289 | } |
290 | 290 | ||
291 | EXPORT_SYMBOL(vr41xx_disable_dsiuint); | 291 | EXPORT_SYMBOL(vr41xx_disable_dsiuint); |
@@ -295,9 +295,9 @@ void vr41xx_enable_firint(uint16_t mask) | |||
295 | struct irq_desc *desc = irq_desc + FIR_IRQ; | 295 | struct irq_desc *desc = irq_desc + FIR_IRQ; |
296 | unsigned long flags; | 296 | unsigned long flags; |
297 | 297 | ||
298 | spin_lock_irqsave(&desc->lock, flags); | 298 | raw_spin_lock_irqsave(&desc->lock, flags); |
299 | icu2_set(MFIRINTREG, mask); | 299 | icu2_set(MFIRINTREG, mask); |
300 | spin_unlock_irqrestore(&desc->lock, flags); | 300 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
301 | } | 301 | } |
302 | 302 | ||
303 | EXPORT_SYMBOL(vr41xx_enable_firint); | 303 | EXPORT_SYMBOL(vr41xx_enable_firint); |
@@ -307,9 +307,9 @@ void vr41xx_disable_firint(uint16_t mask) | |||
307 | struct irq_desc *desc = irq_desc + FIR_IRQ; | 307 | struct irq_desc *desc = irq_desc + FIR_IRQ; |
308 | unsigned long flags; | 308 | unsigned long flags; |
309 | 309 | ||
310 | spin_lock_irqsave(&desc->lock, flags); | 310 | raw_spin_lock_irqsave(&desc->lock, flags); |
311 | icu2_clear(MFIRINTREG, mask); | 311 | icu2_clear(MFIRINTREG, mask); |
312 | spin_unlock_irqrestore(&desc->lock, flags); | 312 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
313 | } | 313 | } |
314 | 314 | ||
315 | EXPORT_SYMBOL(vr41xx_disable_firint); | 315 | EXPORT_SYMBOL(vr41xx_disable_firint); |
@@ -322,9 +322,9 @@ void vr41xx_enable_pciint(void) | |||
322 | if (current_cpu_type() == CPU_VR4122 || | 322 | if (current_cpu_type() == CPU_VR4122 || |
323 | current_cpu_type() == CPU_VR4131 || | 323 | current_cpu_type() == CPU_VR4131 || |
324 | current_cpu_type() == CPU_VR4133) { | 324 | current_cpu_type() == CPU_VR4133) { |
325 | spin_lock_irqsave(&desc->lock, flags); | 325 | raw_spin_lock_irqsave(&desc->lock, flags); |
326 | icu2_write(MPCIINTREG, PCIINT0); | 326 | icu2_write(MPCIINTREG, PCIINT0); |
327 | spin_unlock_irqrestore(&desc->lock, flags); | 327 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
328 | } | 328 | } |
329 | } | 329 | } |
330 | 330 | ||
@@ -338,9 +338,9 @@ void vr41xx_disable_pciint(void) | |||
338 | if (current_cpu_type() == CPU_VR4122 || | 338 | if (current_cpu_type() == CPU_VR4122 || |
339 | current_cpu_type() == CPU_VR4131 || | 339 | current_cpu_type() == CPU_VR4131 || |
340 | current_cpu_type() == CPU_VR4133) { | 340 | current_cpu_type() == CPU_VR4133) { |
341 | spin_lock_irqsave(&desc->lock, flags); | 341 | raw_spin_lock_irqsave(&desc->lock, flags); |
342 | icu2_write(MPCIINTREG, 0); | 342 | icu2_write(MPCIINTREG, 0); |
343 | spin_unlock_irqrestore(&desc->lock, flags); | 343 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
344 | } | 344 | } |
345 | } | 345 | } |
346 | 346 | ||
@@ -354,9 +354,9 @@ void vr41xx_enable_scuint(void) | |||
354 | if (current_cpu_type() == CPU_VR4122 || | 354 | if (current_cpu_type() == CPU_VR4122 || |
355 | current_cpu_type() == CPU_VR4131 || | 355 | current_cpu_type() == CPU_VR4131 || |
356 | current_cpu_type() == CPU_VR4133) { | 356 | current_cpu_type() == CPU_VR4133) { |
357 | spin_lock_irqsave(&desc->lock, flags); | 357 | raw_spin_lock_irqsave(&desc->lock, flags); |
358 | icu2_write(MSCUINTREG, SCUINT0); | 358 | icu2_write(MSCUINTREG, SCUINT0); |
359 | spin_unlock_irqrestore(&desc->lock, flags); | 359 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
360 | } | 360 | } |
361 | } | 361 | } |
362 | 362 | ||
@@ -370,9 +370,9 @@ void vr41xx_disable_scuint(void) | |||
370 | if (current_cpu_type() == CPU_VR4122 || | 370 | if (current_cpu_type() == CPU_VR4122 || |
371 | current_cpu_type() == CPU_VR4131 || | 371 | current_cpu_type() == CPU_VR4131 || |
372 | current_cpu_type() == CPU_VR4133) { | 372 | current_cpu_type() == CPU_VR4133) { |
373 | spin_lock_irqsave(&desc->lock, flags); | 373 | raw_spin_lock_irqsave(&desc->lock, flags); |
374 | icu2_write(MSCUINTREG, 0); | 374 | icu2_write(MSCUINTREG, 0); |
375 | spin_unlock_irqrestore(&desc->lock, flags); | 375 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
376 | } | 376 | } |
377 | } | 377 | } |
378 | 378 | ||
@@ -386,9 +386,9 @@ void vr41xx_enable_csiint(uint16_t mask) | |||
386 | if (current_cpu_type() == CPU_VR4122 || | 386 | if (current_cpu_type() == CPU_VR4122 || |
387 | current_cpu_type() == CPU_VR4131 || | 387 | current_cpu_type() == CPU_VR4131 || |
388 | current_cpu_type() == CPU_VR4133) { | 388 | current_cpu_type() == CPU_VR4133) { |
389 | spin_lock_irqsave(&desc->lock, flags); | 389 | raw_spin_lock_irqsave(&desc->lock, flags); |
390 | icu2_set(MCSIINTREG, mask); | 390 | icu2_set(MCSIINTREG, mask); |
391 | spin_unlock_irqrestore(&desc->lock, flags); | 391 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
392 | } | 392 | } |
393 | } | 393 | } |
394 | 394 | ||
@@ -402,9 +402,9 @@ void vr41xx_disable_csiint(uint16_t mask) | |||
402 | if (current_cpu_type() == CPU_VR4122 || | 402 | if (current_cpu_type() == CPU_VR4122 || |
403 | current_cpu_type() == CPU_VR4131 || | 403 | current_cpu_type() == CPU_VR4131 || |
404 | current_cpu_type() == CPU_VR4133) { | 404 | current_cpu_type() == CPU_VR4133) { |
405 | spin_lock_irqsave(&desc->lock, flags); | 405 | raw_spin_lock_irqsave(&desc->lock, flags); |
406 | icu2_clear(MCSIINTREG, mask); | 406 | icu2_clear(MCSIINTREG, mask); |
407 | spin_unlock_irqrestore(&desc->lock, flags); | 407 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
408 | } | 408 | } |
409 | } | 409 | } |
410 | 410 | ||
@@ -418,9 +418,9 @@ void vr41xx_enable_bcuint(void) | |||
418 | if (current_cpu_type() == CPU_VR4122 || | 418 | if (current_cpu_type() == CPU_VR4122 || |
419 | current_cpu_type() == CPU_VR4131 || | 419 | current_cpu_type() == CPU_VR4131 || |
420 | current_cpu_type() == CPU_VR4133) { | 420 | current_cpu_type() == CPU_VR4133) { |
421 | spin_lock_irqsave(&desc->lock, flags); | 421 | raw_spin_lock_irqsave(&desc->lock, flags); |
422 | icu2_write(MBCUINTREG, BCUINTR); | 422 | icu2_write(MBCUINTREG, BCUINTR); |
423 | spin_unlock_irqrestore(&desc->lock, flags); | 423 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
424 | } | 424 | } |
425 | } | 425 | } |
426 | 426 | ||
@@ -434,9 +434,9 @@ void vr41xx_disable_bcuint(void) | |||
434 | if (current_cpu_type() == CPU_VR4122 || | 434 | if (current_cpu_type() == CPU_VR4122 || |
435 | current_cpu_type() == CPU_VR4131 || | 435 | current_cpu_type() == CPU_VR4131 || |
436 | current_cpu_type() == CPU_VR4133) { | 436 | current_cpu_type() == CPU_VR4133) { |
437 | spin_lock_irqsave(&desc->lock, flags); | 437 | raw_spin_lock_irqsave(&desc->lock, flags); |
438 | icu2_write(MBCUINTREG, 0); | 438 | icu2_write(MBCUINTREG, 0); |
439 | spin_unlock_irqrestore(&desc->lock, flags); | 439 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
440 | } | 440 | } |
441 | } | 441 | } |
442 | 442 | ||
@@ -486,7 +486,7 @@ static inline int set_sysint1_assign(unsigned int irq, unsigned char assign) | |||
486 | 486 | ||
487 | pin = SYSINT1_IRQ_TO_PIN(irq); | 487 | pin = SYSINT1_IRQ_TO_PIN(irq); |
488 | 488 | ||
489 | spin_lock_irq(&desc->lock); | 489 | raw_spin_lock_irq(&desc->lock); |
490 | 490 | ||
491 | intassign0 = icu1_read(INTASSIGN0); | 491 | intassign0 = icu1_read(INTASSIGN0); |
492 | intassign1 = icu1_read(INTASSIGN1); | 492 | intassign1 = icu1_read(INTASSIGN1); |
@@ -525,7 +525,7 @@ static inline int set_sysint1_assign(unsigned int irq, unsigned char assign) | |||
525 | intassign1 |= (uint16_t)assign << 9; | 525 | intassign1 |= (uint16_t)assign << 9; |
526 | break; | 526 | break; |
527 | default: | 527 | default: |
528 | spin_unlock_irq(&desc->lock); | 528 | raw_spin_unlock_irq(&desc->lock); |
529 | return -EINVAL; | 529 | return -EINVAL; |
530 | } | 530 | } |
531 | 531 | ||
@@ -533,7 +533,7 @@ static inline int set_sysint1_assign(unsigned int irq, unsigned char assign) | |||
533 | icu1_write(INTASSIGN0, intassign0); | 533 | icu1_write(INTASSIGN0, intassign0); |
534 | icu1_write(INTASSIGN1, intassign1); | 534 | icu1_write(INTASSIGN1, intassign1); |
535 | 535 | ||
536 | spin_unlock_irq(&desc->lock); | 536 | raw_spin_unlock_irq(&desc->lock); |
537 | 537 | ||
538 | return 0; | 538 | return 0; |
539 | } | 539 | } |
@@ -546,7 +546,7 @@ static inline int set_sysint2_assign(unsigned int irq, unsigned char assign) | |||
546 | 546 | ||
547 | pin = SYSINT2_IRQ_TO_PIN(irq); | 547 | pin = SYSINT2_IRQ_TO_PIN(irq); |
548 | 548 | ||
549 | spin_lock_irq(&desc->lock); | 549 | raw_spin_lock_irq(&desc->lock); |
550 | 550 | ||
551 | intassign2 = icu1_read(INTASSIGN2); | 551 | intassign2 = icu1_read(INTASSIGN2); |
552 | intassign3 = icu1_read(INTASSIGN3); | 552 | intassign3 = icu1_read(INTASSIGN3); |
@@ -593,7 +593,7 @@ static inline int set_sysint2_assign(unsigned int irq, unsigned char assign) | |||
593 | intassign3 |= (uint16_t)assign << 12; | 593 | intassign3 |= (uint16_t)assign << 12; |
594 | break; | 594 | break; |
595 | default: | 595 | default: |
596 | spin_unlock_irq(&desc->lock); | 596 | raw_spin_unlock_irq(&desc->lock); |
597 | return -EINVAL; | 597 | return -EINVAL; |
598 | } | 598 | } |
599 | 599 | ||
@@ -601,7 +601,7 @@ static inline int set_sysint2_assign(unsigned int irq, unsigned char assign) | |||
601 | icu1_write(INTASSIGN2, intassign2); | 601 | icu1_write(INTASSIGN2, intassign2); |
602 | icu1_write(INTASSIGN3, intassign3); | 602 | icu1_write(INTASSIGN3, intassign3); |
603 | 603 | ||
604 | spin_unlock_irq(&desc->lock); | 604 | raw_spin_unlock_irq(&desc->lock); |
605 | 605 | ||
606 | return 0; | 606 | return 0; |
607 | } | 607 | } |
diff --git a/arch/mn10300/kernel/irq.c b/arch/mn10300/kernel/irq.c index 4c3c58ef5cda..e2d5ed891f37 100644 --- a/arch/mn10300/kernel/irq.c +++ b/arch/mn10300/kernel/irq.c | |||
@@ -215,7 +215,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
215 | 215 | ||
216 | /* display information rows, one per active CPU */ | 216 | /* display information rows, one per active CPU */ |
217 | case 1 ... NR_IRQS - 1: | 217 | case 1 ... NR_IRQS - 1: |
218 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 218 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
219 | 219 | ||
220 | action = irq_desc[i].action; | 220 | action = irq_desc[i].action; |
221 | if (action) { | 221 | if (action) { |
@@ -235,7 +235,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
235 | seq_putc(p, '\n'); | 235 | seq_putc(p, '\n'); |
236 | } | 236 | } |
237 | 237 | ||
238 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 238 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
239 | break; | 239 | break; |
240 | 240 | ||
241 | /* polish off with NMI and error counters */ | 241 | /* polish off with NMI and error counters */ |
diff --git a/arch/mn10300/kernel/kprobes.c b/arch/mn10300/kernel/kprobes.c index dacafab00eb2..67e6389d625a 100644 --- a/arch/mn10300/kernel/kprobes.c +++ b/arch/mn10300/kernel/kprobes.c | |||
@@ -31,13 +31,13 @@ const int kretprobe_blacklist_size = ARRAY_SIZE(kretprobe_blacklist); | |||
31 | #define KPROBE_HIT_ACTIVE 0x00000001 | 31 | #define KPROBE_HIT_ACTIVE 0x00000001 |
32 | #define KPROBE_HIT_SS 0x00000002 | 32 | #define KPROBE_HIT_SS 0x00000002 |
33 | 33 | ||
34 | static struct kprobe *current_kprobe; | 34 | static struct kprobe *cur_kprobe; |
35 | static unsigned long current_kprobe_orig_pc; | 35 | static unsigned long cur_kprobe_orig_pc; |
36 | static unsigned long current_kprobe_next_pc; | 36 | static unsigned long cur_kprobe_next_pc; |
37 | static int current_kprobe_ss_flags; | 37 | static int cur_kprobe_ss_flags; |
38 | static unsigned long kprobe_status; | 38 | static unsigned long kprobe_status; |
39 | static kprobe_opcode_t current_kprobe_ss_buf[MAX_INSN_SIZE + 2]; | 39 | static kprobe_opcode_t cur_kprobe_ss_buf[MAX_INSN_SIZE + 2]; |
40 | static unsigned long current_kprobe_bp_addr; | 40 | static unsigned long cur_kprobe_bp_addr; |
41 | 41 | ||
42 | DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL; | 42 | DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL; |
43 | 43 | ||
@@ -399,26 +399,25 @@ void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs) | |||
399 | { | 399 | { |
400 | unsigned long nextpc; | 400 | unsigned long nextpc; |
401 | 401 | ||
402 | current_kprobe_orig_pc = regs->pc; | 402 | cur_kprobe_orig_pc = regs->pc; |
403 | memcpy(current_kprobe_ss_buf, &p->ainsn.insn[0], MAX_INSN_SIZE); | 403 | memcpy(cur_kprobe_ss_buf, &p->ainsn.insn[0], MAX_INSN_SIZE); |
404 | regs->pc = (unsigned long) current_kprobe_ss_buf; | 404 | regs->pc = (unsigned long) cur_kprobe_ss_buf; |
405 | 405 | ||
406 | nextpc = find_nextpc(regs, ¤t_kprobe_ss_flags); | 406 | nextpc = find_nextpc(regs, &cur_kprobe_ss_flags); |
407 | if (current_kprobe_ss_flags & SINGLESTEP_PCREL) | 407 | if (cur_kprobe_ss_flags & SINGLESTEP_PCREL) |
408 | current_kprobe_next_pc = | 408 | cur_kprobe_next_pc = cur_kprobe_orig_pc + (nextpc - regs->pc); |
409 | current_kprobe_orig_pc + (nextpc - regs->pc); | ||
410 | else | 409 | else |
411 | current_kprobe_next_pc = nextpc; | 410 | cur_kprobe_next_pc = nextpc; |
412 | 411 | ||
413 | /* branching instructions need special handling */ | 412 | /* branching instructions need special handling */ |
414 | if (current_kprobe_ss_flags & SINGLESTEP_BRANCH) | 413 | if (cur_kprobe_ss_flags & SINGLESTEP_BRANCH) |
415 | nextpc = singlestep_branch_setup(regs); | 414 | nextpc = singlestep_branch_setup(regs); |
416 | 415 | ||
417 | current_kprobe_bp_addr = nextpc; | 416 | cur_kprobe_bp_addr = nextpc; |
418 | 417 | ||
419 | *(u8 *) nextpc = BREAKPOINT_INSTRUCTION; | 418 | *(u8 *) nextpc = BREAKPOINT_INSTRUCTION; |
420 | mn10300_dcache_flush_range2((unsigned) current_kprobe_ss_buf, | 419 | mn10300_dcache_flush_range2((unsigned) cur_kprobe_ss_buf, |
421 | sizeof(current_kprobe_ss_buf)); | 420 | sizeof(cur_kprobe_ss_buf)); |
422 | mn10300_icache_inv(); | 421 | mn10300_icache_inv(); |
423 | } | 422 | } |
424 | 423 | ||
@@ -440,7 +439,7 @@ static inline int __kprobes kprobe_handler(struct pt_regs *regs) | |||
440 | disarm_kprobe(p, regs); | 439 | disarm_kprobe(p, regs); |
441 | ret = 1; | 440 | ret = 1; |
442 | } else { | 441 | } else { |
443 | p = current_kprobe; | 442 | p = cur_kprobe; |
444 | if (p->break_handler && p->break_handler(p, regs)) | 443 | if (p->break_handler && p->break_handler(p, regs)) |
445 | goto ss_probe; | 444 | goto ss_probe; |
446 | } | 445 | } |
@@ -464,7 +463,7 @@ static inline int __kprobes kprobe_handler(struct pt_regs *regs) | |||
464 | } | 463 | } |
465 | 464 | ||
466 | kprobe_status = KPROBE_HIT_ACTIVE; | 465 | kprobe_status = KPROBE_HIT_ACTIVE; |
467 | current_kprobe = p; | 466 | cur_kprobe = p; |
468 | if (p->pre_handler(p, regs)) { | 467 | if (p->pre_handler(p, regs)) { |
469 | /* handler has already set things up, so skip ss setup */ | 468 | /* handler has already set things up, so skip ss setup */ |
470 | return 1; | 469 | return 1; |
@@ -491,8 +490,8 @@ no_kprobe: | |||
491 | static void __kprobes resume_execution(struct kprobe *p, struct pt_regs *regs) | 490 | static void __kprobes resume_execution(struct kprobe *p, struct pt_regs *regs) |
492 | { | 491 | { |
493 | /* we may need to fixup regs/stack after singlestepping a call insn */ | 492 | /* we may need to fixup regs/stack after singlestepping a call insn */ |
494 | if (current_kprobe_ss_flags & SINGLESTEP_BRANCH) { | 493 | if (cur_kprobe_ss_flags & SINGLESTEP_BRANCH) { |
495 | regs->pc = current_kprobe_orig_pc; | 494 | regs->pc = cur_kprobe_orig_pc; |
496 | switch (p->ainsn.insn[0]) { | 495 | switch (p->ainsn.insn[0]) { |
497 | case 0xcd: /* CALL (d16,PC) */ | 496 | case 0xcd: /* CALL (d16,PC) */ |
498 | *(unsigned *) regs->sp = regs->mdr = regs->pc + 5; | 497 | *(unsigned *) regs->sp = regs->mdr = regs->pc + 5; |
@@ -523,8 +522,8 @@ static void __kprobes resume_execution(struct kprobe *p, struct pt_regs *regs) | |||
523 | } | 522 | } |
524 | } | 523 | } |
525 | 524 | ||
526 | regs->pc = current_kprobe_next_pc; | 525 | regs->pc = cur_kprobe_next_pc; |
527 | current_kprobe_bp_addr = 0; | 526 | cur_kprobe_bp_addr = 0; |
528 | } | 527 | } |
529 | 528 | ||
530 | static inline int __kprobes post_kprobe_handler(struct pt_regs *regs) | 529 | static inline int __kprobes post_kprobe_handler(struct pt_regs *regs) |
@@ -532,10 +531,10 @@ static inline int __kprobes post_kprobe_handler(struct pt_regs *regs) | |||
532 | if (!kprobe_running()) | 531 | if (!kprobe_running()) |
533 | return 0; | 532 | return 0; |
534 | 533 | ||
535 | if (current_kprobe->post_handler) | 534 | if (cur_kprobe->post_handler) |
536 | current_kprobe->post_handler(current_kprobe, regs, 0); | 535 | cur_kprobe->post_handler(cur_kprobe, regs, 0); |
537 | 536 | ||
538 | resume_execution(current_kprobe, regs); | 537 | resume_execution(cur_kprobe, regs); |
539 | reset_current_kprobe(); | 538 | reset_current_kprobe(); |
540 | preempt_enable_no_resched(); | 539 | preempt_enable_no_resched(); |
541 | return 1; | 540 | return 1; |
@@ -545,12 +544,12 @@ static inline int __kprobes post_kprobe_handler(struct pt_regs *regs) | |||
545 | static inline | 544 | static inline |
546 | int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) | 545 | int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) |
547 | { | 546 | { |
548 | if (current_kprobe->fault_handler && | 547 | if (cur_kprobe->fault_handler && |
549 | current_kprobe->fault_handler(current_kprobe, regs, trapnr)) | 548 | cur_kprobe->fault_handler(cur_kprobe, regs, trapnr)) |
550 | return 1; | 549 | return 1; |
551 | 550 | ||
552 | if (kprobe_status & KPROBE_HIT_SS) { | 551 | if (kprobe_status & KPROBE_HIT_SS) { |
553 | resume_execution(current_kprobe, regs); | 552 | resume_execution(cur_kprobe, regs); |
554 | reset_current_kprobe(); | 553 | reset_current_kprobe(); |
555 | preempt_enable_no_resched(); | 554 | preempt_enable_no_resched(); |
556 | } | 555 | } |
@@ -567,7 +566,7 @@ int __kprobes kprobe_exceptions_notify(struct notifier_block *self, | |||
567 | 566 | ||
568 | switch (val) { | 567 | switch (val) { |
569 | case DIE_BREAKPOINT: | 568 | case DIE_BREAKPOINT: |
570 | if (current_kprobe_bp_addr != args->regs->pc) { | 569 | if (cur_kprobe_bp_addr != args->regs->pc) { |
571 | if (kprobe_handler(args->regs)) | 570 | if (kprobe_handler(args->regs)) |
572 | return NOTIFY_STOP; | 571 | return NOTIFY_STOP; |
573 | } else { | 572 | } else { |
diff --git a/arch/parisc/include/asm/atomic.h b/arch/parisc/include/asm/atomic.h index 8bc9e96699b2..716634d1f546 100644 --- a/arch/parisc/include/asm/atomic.h +++ b/arch/parisc/include/asm/atomic.h | |||
@@ -27,19 +27,19 @@ | |||
27 | # define ATOMIC_HASH_SIZE 4 | 27 | # define ATOMIC_HASH_SIZE 4 |
28 | # define ATOMIC_HASH(a) (&(__atomic_hash[ (((unsigned long) (a))/L1_CACHE_BYTES) & (ATOMIC_HASH_SIZE-1) ])) | 28 | # define ATOMIC_HASH(a) (&(__atomic_hash[ (((unsigned long) (a))/L1_CACHE_BYTES) & (ATOMIC_HASH_SIZE-1) ])) |
29 | 29 | ||
30 | extern raw_spinlock_t __atomic_hash[ATOMIC_HASH_SIZE] __lock_aligned; | 30 | extern arch_spinlock_t __atomic_hash[ATOMIC_HASH_SIZE] __lock_aligned; |
31 | 31 | ||
32 | /* Can't use raw_spin_lock_irq because of #include problems, so | 32 | /* Can't use raw_spin_lock_irq because of #include problems, so |
33 | * this is the substitute */ | 33 | * this is the substitute */ |
34 | #define _atomic_spin_lock_irqsave(l,f) do { \ | 34 | #define _atomic_spin_lock_irqsave(l,f) do { \ |
35 | raw_spinlock_t *s = ATOMIC_HASH(l); \ | 35 | arch_spinlock_t *s = ATOMIC_HASH(l); \ |
36 | local_irq_save(f); \ | 36 | local_irq_save(f); \ |
37 | __raw_spin_lock(s); \ | 37 | arch_spin_lock(s); \ |
38 | } while(0) | 38 | } while(0) |
39 | 39 | ||
40 | #define _atomic_spin_unlock_irqrestore(l,f) do { \ | 40 | #define _atomic_spin_unlock_irqrestore(l,f) do { \ |
41 | raw_spinlock_t *s = ATOMIC_HASH(l); \ | 41 | arch_spinlock_t *s = ATOMIC_HASH(l); \ |
42 | __raw_spin_unlock(s); \ | 42 | arch_spin_unlock(s); \ |
43 | local_irq_restore(f); \ | 43 | local_irq_restore(f); \ |
44 | } while(0) | 44 | } while(0) |
45 | 45 | ||
diff --git a/arch/parisc/include/asm/spinlock.h b/arch/parisc/include/asm/spinlock.h index fae03e136fa8..74036f436a3b 100644 --- a/arch/parisc/include/asm/spinlock.h +++ b/arch/parisc/include/asm/spinlock.h | |||
@@ -5,17 +5,17 @@ | |||
5 | #include <asm/processor.h> | 5 | #include <asm/processor.h> |
6 | #include <asm/spinlock_types.h> | 6 | #include <asm/spinlock_types.h> |
7 | 7 | ||
8 | static inline int __raw_spin_is_locked(raw_spinlock_t *x) | 8 | static inline int arch_spin_is_locked(arch_spinlock_t *x) |
9 | { | 9 | { |
10 | volatile unsigned int *a = __ldcw_align(x); | 10 | volatile unsigned int *a = __ldcw_align(x); |
11 | return *a == 0; | 11 | return *a == 0; |
12 | } | 12 | } |
13 | 13 | ||
14 | #define __raw_spin_lock(lock) __raw_spin_lock_flags(lock, 0) | 14 | #define arch_spin_lock(lock) arch_spin_lock_flags(lock, 0) |
15 | #define __raw_spin_unlock_wait(x) \ | 15 | #define arch_spin_unlock_wait(x) \ |
16 | do { cpu_relax(); } while (__raw_spin_is_locked(x)) | 16 | do { cpu_relax(); } while (arch_spin_is_locked(x)) |
17 | 17 | ||
18 | static inline void __raw_spin_lock_flags(raw_spinlock_t *x, | 18 | static inline void arch_spin_lock_flags(arch_spinlock_t *x, |
19 | unsigned long flags) | 19 | unsigned long flags) |
20 | { | 20 | { |
21 | volatile unsigned int *a; | 21 | volatile unsigned int *a; |
@@ -33,7 +33,7 @@ static inline void __raw_spin_lock_flags(raw_spinlock_t *x, | |||
33 | mb(); | 33 | mb(); |
34 | } | 34 | } |
35 | 35 | ||
36 | static inline void __raw_spin_unlock(raw_spinlock_t *x) | 36 | static inline void arch_spin_unlock(arch_spinlock_t *x) |
37 | { | 37 | { |
38 | volatile unsigned int *a; | 38 | volatile unsigned int *a; |
39 | mb(); | 39 | mb(); |
@@ -42,7 +42,7 @@ static inline void __raw_spin_unlock(raw_spinlock_t *x) | |||
42 | mb(); | 42 | mb(); |
43 | } | 43 | } |
44 | 44 | ||
45 | static inline int __raw_spin_trylock(raw_spinlock_t *x) | 45 | static inline int arch_spin_trylock(arch_spinlock_t *x) |
46 | { | 46 | { |
47 | volatile unsigned int *a; | 47 | volatile unsigned int *a; |
48 | int ret; | 48 | int ret; |
@@ -69,38 +69,38 @@ static inline int __raw_spin_trylock(raw_spinlock_t *x) | |||
69 | 69 | ||
70 | /* Note that we have to ensure interrupts are disabled in case we're | 70 | /* Note that we have to ensure interrupts are disabled in case we're |
71 | * interrupted by some other code that wants to grab the same read lock */ | 71 | * interrupted by some other code that wants to grab the same read lock */ |
72 | static __inline__ void __raw_read_lock(raw_rwlock_t *rw) | 72 | static __inline__ void arch_read_lock(arch_rwlock_t *rw) |
73 | { | 73 | { |
74 | unsigned long flags; | 74 | unsigned long flags; |
75 | local_irq_save(flags); | 75 | local_irq_save(flags); |
76 | __raw_spin_lock_flags(&rw->lock, flags); | 76 | arch_spin_lock_flags(&rw->lock, flags); |
77 | rw->counter++; | 77 | rw->counter++; |
78 | __raw_spin_unlock(&rw->lock); | 78 | arch_spin_unlock(&rw->lock); |
79 | local_irq_restore(flags); | 79 | local_irq_restore(flags); |
80 | } | 80 | } |
81 | 81 | ||
82 | /* Note that we have to ensure interrupts are disabled in case we're | 82 | /* Note that we have to ensure interrupts are disabled in case we're |
83 | * interrupted by some other code that wants to grab the same read lock */ | 83 | * interrupted by some other code that wants to grab the same read lock */ |
84 | static __inline__ void __raw_read_unlock(raw_rwlock_t *rw) | 84 | static __inline__ void arch_read_unlock(arch_rwlock_t *rw) |
85 | { | 85 | { |
86 | unsigned long flags; | 86 | unsigned long flags; |
87 | local_irq_save(flags); | 87 | local_irq_save(flags); |
88 | __raw_spin_lock_flags(&rw->lock, flags); | 88 | arch_spin_lock_flags(&rw->lock, flags); |
89 | rw->counter--; | 89 | rw->counter--; |
90 | __raw_spin_unlock(&rw->lock); | 90 | arch_spin_unlock(&rw->lock); |
91 | local_irq_restore(flags); | 91 | local_irq_restore(flags); |
92 | } | 92 | } |
93 | 93 | ||
94 | /* Note that we have to ensure interrupts are disabled in case we're | 94 | /* Note that we have to ensure interrupts are disabled in case we're |
95 | * interrupted by some other code that wants to grab the same read lock */ | 95 | * interrupted by some other code that wants to grab the same read lock */ |
96 | static __inline__ int __raw_read_trylock(raw_rwlock_t *rw) | 96 | static __inline__ int arch_read_trylock(arch_rwlock_t *rw) |
97 | { | 97 | { |
98 | unsigned long flags; | 98 | unsigned long flags; |
99 | retry: | 99 | retry: |
100 | local_irq_save(flags); | 100 | local_irq_save(flags); |
101 | if (__raw_spin_trylock(&rw->lock)) { | 101 | if (arch_spin_trylock(&rw->lock)) { |
102 | rw->counter++; | 102 | rw->counter++; |
103 | __raw_spin_unlock(&rw->lock); | 103 | arch_spin_unlock(&rw->lock); |
104 | local_irq_restore(flags); | 104 | local_irq_restore(flags); |
105 | return 1; | 105 | return 1; |
106 | } | 106 | } |
@@ -111,7 +111,7 @@ static __inline__ int __raw_read_trylock(raw_rwlock_t *rw) | |||
111 | return 0; | 111 | return 0; |
112 | 112 | ||
113 | /* Wait until we have a realistic chance at the lock */ | 113 | /* Wait until we have a realistic chance at the lock */ |
114 | while (__raw_spin_is_locked(&rw->lock) && rw->counter >= 0) | 114 | while (arch_spin_is_locked(&rw->lock) && rw->counter >= 0) |
115 | cpu_relax(); | 115 | cpu_relax(); |
116 | 116 | ||
117 | goto retry; | 117 | goto retry; |
@@ -119,15 +119,15 @@ static __inline__ int __raw_read_trylock(raw_rwlock_t *rw) | |||
119 | 119 | ||
120 | /* Note that we have to ensure interrupts are disabled in case we're | 120 | /* Note that we have to ensure interrupts are disabled in case we're |
121 | * interrupted by some other code that wants to read_trylock() this lock */ | 121 | * interrupted by some other code that wants to read_trylock() this lock */ |
122 | static __inline__ void __raw_write_lock(raw_rwlock_t *rw) | 122 | static __inline__ void arch_write_lock(arch_rwlock_t *rw) |
123 | { | 123 | { |
124 | unsigned long flags; | 124 | unsigned long flags; |
125 | retry: | 125 | retry: |
126 | local_irq_save(flags); | 126 | local_irq_save(flags); |
127 | __raw_spin_lock_flags(&rw->lock, flags); | 127 | arch_spin_lock_flags(&rw->lock, flags); |
128 | 128 | ||
129 | if (rw->counter != 0) { | 129 | if (rw->counter != 0) { |
130 | __raw_spin_unlock(&rw->lock); | 130 | arch_spin_unlock(&rw->lock); |
131 | local_irq_restore(flags); | 131 | local_irq_restore(flags); |
132 | 132 | ||
133 | while (rw->counter != 0) | 133 | while (rw->counter != 0) |
@@ -141,27 +141,27 @@ retry: | |||
141 | local_irq_restore(flags); | 141 | local_irq_restore(flags); |
142 | } | 142 | } |
143 | 143 | ||
144 | static __inline__ void __raw_write_unlock(raw_rwlock_t *rw) | 144 | static __inline__ void arch_write_unlock(arch_rwlock_t *rw) |
145 | { | 145 | { |
146 | rw->counter = 0; | 146 | rw->counter = 0; |
147 | __raw_spin_unlock(&rw->lock); | 147 | arch_spin_unlock(&rw->lock); |
148 | } | 148 | } |
149 | 149 | ||
150 | /* Note that we have to ensure interrupts are disabled in case we're | 150 | /* Note that we have to ensure interrupts are disabled in case we're |
151 | * interrupted by some other code that wants to read_trylock() this lock */ | 151 | * interrupted by some other code that wants to read_trylock() this lock */ |
152 | static __inline__ int __raw_write_trylock(raw_rwlock_t *rw) | 152 | static __inline__ int arch_write_trylock(arch_rwlock_t *rw) |
153 | { | 153 | { |
154 | unsigned long flags; | 154 | unsigned long flags; |
155 | int result = 0; | 155 | int result = 0; |
156 | 156 | ||
157 | local_irq_save(flags); | 157 | local_irq_save(flags); |
158 | if (__raw_spin_trylock(&rw->lock)) { | 158 | if (arch_spin_trylock(&rw->lock)) { |
159 | if (rw->counter == 0) { | 159 | if (rw->counter == 0) { |
160 | rw->counter = -1; | 160 | rw->counter = -1; |
161 | result = 1; | 161 | result = 1; |
162 | } else { | 162 | } else { |
163 | /* Read-locked. Oh well. */ | 163 | /* Read-locked. Oh well. */ |
164 | __raw_spin_unlock(&rw->lock); | 164 | arch_spin_unlock(&rw->lock); |
165 | } | 165 | } |
166 | } | 166 | } |
167 | local_irq_restore(flags); | 167 | local_irq_restore(flags); |
@@ -173,7 +173,7 @@ static __inline__ int __raw_write_trylock(raw_rwlock_t *rw) | |||
173 | * read_can_lock - would read_trylock() succeed? | 173 | * read_can_lock - would read_trylock() succeed? |
174 | * @lock: the rwlock in question. | 174 | * @lock: the rwlock in question. |
175 | */ | 175 | */ |
176 | static __inline__ int __raw_read_can_lock(raw_rwlock_t *rw) | 176 | static __inline__ int arch_read_can_lock(arch_rwlock_t *rw) |
177 | { | 177 | { |
178 | return rw->counter >= 0; | 178 | return rw->counter >= 0; |
179 | } | 179 | } |
@@ -182,16 +182,16 @@ static __inline__ int __raw_read_can_lock(raw_rwlock_t *rw) | |||
182 | * write_can_lock - would write_trylock() succeed? | 182 | * write_can_lock - would write_trylock() succeed? |
183 | * @lock: the rwlock in question. | 183 | * @lock: the rwlock in question. |
184 | */ | 184 | */ |
185 | static __inline__ int __raw_write_can_lock(raw_rwlock_t *rw) | 185 | static __inline__ int arch_write_can_lock(arch_rwlock_t *rw) |
186 | { | 186 | { |
187 | return !rw->counter; | 187 | return !rw->counter; |
188 | } | 188 | } |
189 | 189 | ||
190 | #define __raw_read_lock_flags(lock, flags) __raw_read_lock(lock) | 190 | #define arch_read_lock_flags(lock, flags) arch_read_lock(lock) |
191 | #define __raw_write_lock_flags(lock, flags) __raw_write_lock(lock) | 191 | #define arch_write_lock_flags(lock, flags) arch_write_lock(lock) |
192 | 192 | ||
193 | #define _raw_spin_relax(lock) cpu_relax() | 193 | #define arch_spin_relax(lock) cpu_relax() |
194 | #define _raw_read_relax(lock) cpu_relax() | 194 | #define arch_read_relax(lock) cpu_relax() |
195 | #define _raw_write_relax(lock) cpu_relax() | 195 | #define arch_write_relax(lock) cpu_relax() |
196 | 196 | ||
197 | #endif /* __ASM_SPINLOCK_H */ | 197 | #endif /* __ASM_SPINLOCK_H */ |
diff --git a/arch/parisc/include/asm/spinlock_types.h b/arch/parisc/include/asm/spinlock_types.h index 3f72f47cf4b2..8c373aa28a86 100644 --- a/arch/parisc/include/asm/spinlock_types.h +++ b/arch/parisc/include/asm/spinlock_types.h | |||
@@ -4,18 +4,18 @@ | |||
4 | typedef struct { | 4 | typedef struct { |
5 | #ifdef CONFIG_PA20 | 5 | #ifdef CONFIG_PA20 |
6 | volatile unsigned int slock; | 6 | volatile unsigned int slock; |
7 | # define __RAW_SPIN_LOCK_UNLOCKED { 1 } | 7 | # define __ARCH_SPIN_LOCK_UNLOCKED { 1 } |
8 | #else | 8 | #else |
9 | volatile unsigned int lock[4]; | 9 | volatile unsigned int lock[4]; |
10 | # define __RAW_SPIN_LOCK_UNLOCKED { { 1, 1, 1, 1 } } | 10 | # define __ARCH_SPIN_LOCK_UNLOCKED { { 1, 1, 1, 1 } } |
11 | #endif | 11 | #endif |
12 | } raw_spinlock_t; | 12 | } arch_spinlock_t; |
13 | 13 | ||
14 | typedef struct { | 14 | typedef struct { |
15 | raw_spinlock_t lock; | 15 | arch_spinlock_t lock; |
16 | volatile int counter; | 16 | volatile int counter; |
17 | } raw_rwlock_t; | 17 | } arch_rwlock_t; |
18 | 18 | ||
19 | #define __RAW_RW_LOCK_UNLOCKED { __RAW_SPIN_LOCK_UNLOCKED, 0 } | 19 | #define __ARCH_RW_LOCK_UNLOCKED { __ARCH_SPIN_LOCK_UNLOCKED, 0 } |
20 | 20 | ||
21 | #endif | 21 | #endif |
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c index 2e7610cb33d5..f47465e8d040 100644 --- a/arch/parisc/kernel/irq.c +++ b/arch/parisc/kernel/irq.c | |||
@@ -180,7 +180,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
180 | if (i < NR_IRQS) { | 180 | if (i < NR_IRQS) { |
181 | struct irqaction *action; | 181 | struct irqaction *action; |
182 | 182 | ||
183 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 183 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
184 | action = irq_desc[i].action; | 184 | action = irq_desc[i].action; |
185 | if (!action) | 185 | if (!action) |
186 | goto skip; | 186 | goto skip; |
@@ -224,7 +224,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
224 | 224 | ||
225 | seq_putc(p, '\n'); | 225 | seq_putc(p, '\n'); |
226 | skip: | 226 | skip: |
227 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 227 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
228 | } | 228 | } |
229 | 229 | ||
230 | return 0; | 230 | return 0; |
diff --git a/arch/parisc/lib/bitops.c b/arch/parisc/lib/bitops.c index e3eb739fab19..353963d42059 100644 --- a/arch/parisc/lib/bitops.c +++ b/arch/parisc/lib/bitops.c | |||
@@ -12,8 +12,8 @@ | |||
12 | #include <asm/atomic.h> | 12 | #include <asm/atomic.h> |
13 | 13 | ||
14 | #ifdef CONFIG_SMP | 14 | #ifdef CONFIG_SMP |
15 | raw_spinlock_t __atomic_hash[ATOMIC_HASH_SIZE] __lock_aligned = { | 15 | arch_spinlock_t __atomic_hash[ATOMIC_HASH_SIZE] __lock_aligned = { |
16 | [0 ... (ATOMIC_HASH_SIZE-1)] = __RAW_SPIN_LOCK_UNLOCKED | 16 | [0 ... (ATOMIC_HASH_SIZE-1)] = __ARCH_SPIN_LOCK_UNLOCKED |
17 | }; | 17 | }; |
18 | #endif | 18 | #endif |
19 | 19 | ||
diff --git a/arch/powerpc/include/asm/rtas.h b/arch/powerpc/include/asm/rtas.h index 168fce726201..20de73c36682 100644 --- a/arch/powerpc/include/asm/rtas.h +++ b/arch/powerpc/include/asm/rtas.h | |||
@@ -58,7 +58,7 @@ struct rtas_t { | |||
58 | unsigned long entry; /* physical address pointer */ | 58 | unsigned long entry; /* physical address pointer */ |
59 | unsigned long base; /* physical address pointer */ | 59 | unsigned long base; /* physical address pointer */ |
60 | unsigned long size; | 60 | unsigned long size; |
61 | raw_spinlock_t lock; | 61 | arch_spinlock_t lock; |
62 | struct rtas_args args; | 62 | struct rtas_args args; |
63 | struct device_node *dev; /* virtual address pointer */ | 63 | struct device_node *dev; /* virtual address pointer */ |
64 | }; | 64 | }; |
diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h index d9ea8d39c342..1d3b270d3083 100644 --- a/arch/powerpc/include/asm/smp.h +++ b/arch/powerpc/include/asm/smp.h | |||
@@ -37,7 +37,7 @@ extern void cpu_die(void); | |||
37 | extern void smp_send_debugger_break(int cpu); | 37 | extern void smp_send_debugger_break(int cpu); |
38 | extern void smp_message_recv(int); | 38 | extern void smp_message_recv(int); |
39 | 39 | ||
40 | DECLARE_PER_CPU(unsigned int, pvr); | 40 | DECLARE_PER_CPU(unsigned int, cpu_pvr); |
41 | 41 | ||
42 | #ifdef CONFIG_HOTPLUG_CPU | 42 | #ifdef CONFIG_HOTPLUG_CPU |
43 | extern void fixup_irqs(cpumask_t map); | 43 | extern void fixup_irqs(cpumask_t map); |
diff --git a/arch/powerpc/include/asm/spinlock.h b/arch/powerpc/include/asm/spinlock.h index 198266cf9e2d..764094cff681 100644 --- a/arch/powerpc/include/asm/spinlock.h +++ b/arch/powerpc/include/asm/spinlock.h | |||
@@ -28,7 +28,7 @@ | |||
28 | #include <asm/asm-compat.h> | 28 | #include <asm/asm-compat.h> |
29 | #include <asm/synch.h> | 29 | #include <asm/synch.h> |
30 | 30 | ||
31 | #define __raw_spin_is_locked(x) ((x)->slock != 0) | 31 | #define arch_spin_is_locked(x) ((x)->slock != 0) |
32 | 32 | ||
33 | #ifdef CONFIG_PPC64 | 33 | #ifdef CONFIG_PPC64 |
34 | /* use 0x800000yy when locked, where yy == CPU number */ | 34 | /* use 0x800000yy when locked, where yy == CPU number */ |
@@ -54,7 +54,7 @@ | |||
54 | * This returns the old value in the lock, so we succeeded | 54 | * This returns the old value in the lock, so we succeeded |
55 | * in getting the lock if the return value is 0. | 55 | * in getting the lock if the return value is 0. |
56 | */ | 56 | */ |
57 | static inline unsigned long arch_spin_trylock(raw_spinlock_t *lock) | 57 | static inline unsigned long __arch_spin_trylock(arch_spinlock_t *lock) |
58 | { | 58 | { |
59 | unsigned long tmp, token; | 59 | unsigned long tmp, token; |
60 | 60 | ||
@@ -73,10 +73,10 @@ static inline unsigned long arch_spin_trylock(raw_spinlock_t *lock) | |||
73 | return tmp; | 73 | return tmp; |
74 | } | 74 | } |
75 | 75 | ||
76 | static inline int __raw_spin_trylock(raw_spinlock_t *lock) | 76 | static inline int arch_spin_trylock(arch_spinlock_t *lock) |
77 | { | 77 | { |
78 | CLEAR_IO_SYNC; | 78 | CLEAR_IO_SYNC; |
79 | return arch_spin_trylock(lock) == 0; | 79 | return __arch_spin_trylock(lock) == 0; |
80 | } | 80 | } |
81 | 81 | ||
82 | /* | 82 | /* |
@@ -96,19 +96,19 @@ static inline int __raw_spin_trylock(raw_spinlock_t *lock) | |||
96 | #if defined(CONFIG_PPC_SPLPAR) || defined(CONFIG_PPC_ISERIES) | 96 | #if defined(CONFIG_PPC_SPLPAR) || defined(CONFIG_PPC_ISERIES) |
97 | /* We only yield to the hypervisor if we are in shared processor mode */ | 97 | /* We only yield to the hypervisor if we are in shared processor mode */ |
98 | #define SHARED_PROCESSOR (get_lppaca()->shared_proc) | 98 | #define SHARED_PROCESSOR (get_lppaca()->shared_proc) |
99 | extern void __spin_yield(raw_spinlock_t *lock); | 99 | extern void __spin_yield(arch_spinlock_t *lock); |
100 | extern void __rw_yield(raw_rwlock_t *lock); | 100 | extern void __rw_yield(arch_rwlock_t *lock); |
101 | #else /* SPLPAR || ISERIES */ | 101 | #else /* SPLPAR || ISERIES */ |
102 | #define __spin_yield(x) barrier() | 102 | #define __spin_yield(x) barrier() |
103 | #define __rw_yield(x) barrier() | 103 | #define __rw_yield(x) barrier() |
104 | #define SHARED_PROCESSOR 0 | 104 | #define SHARED_PROCESSOR 0 |
105 | #endif | 105 | #endif |
106 | 106 | ||
107 | static inline void __raw_spin_lock(raw_spinlock_t *lock) | 107 | static inline void arch_spin_lock(arch_spinlock_t *lock) |
108 | { | 108 | { |
109 | CLEAR_IO_SYNC; | 109 | CLEAR_IO_SYNC; |
110 | while (1) { | 110 | while (1) { |
111 | if (likely(arch_spin_trylock(lock) == 0)) | 111 | if (likely(__arch_spin_trylock(lock) == 0)) |
112 | break; | 112 | break; |
113 | do { | 113 | do { |
114 | HMT_low(); | 114 | HMT_low(); |
@@ -120,13 +120,13 @@ static inline void __raw_spin_lock(raw_spinlock_t *lock) | |||
120 | } | 120 | } |
121 | 121 | ||
122 | static inline | 122 | static inline |
123 | void __raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long flags) | 123 | void arch_spin_lock_flags(arch_spinlock_t *lock, unsigned long flags) |
124 | { | 124 | { |
125 | unsigned long flags_dis; | 125 | unsigned long flags_dis; |
126 | 126 | ||
127 | CLEAR_IO_SYNC; | 127 | CLEAR_IO_SYNC; |
128 | while (1) { | 128 | while (1) { |
129 | if (likely(arch_spin_trylock(lock) == 0)) | 129 | if (likely(__arch_spin_trylock(lock) == 0)) |
130 | break; | 130 | break; |
131 | local_save_flags(flags_dis); | 131 | local_save_flags(flags_dis); |
132 | local_irq_restore(flags); | 132 | local_irq_restore(flags); |
@@ -140,19 +140,19 @@ void __raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long flags) | |||
140 | } | 140 | } |
141 | } | 141 | } |
142 | 142 | ||
143 | static inline void __raw_spin_unlock(raw_spinlock_t *lock) | 143 | static inline void arch_spin_unlock(arch_spinlock_t *lock) |
144 | { | 144 | { |
145 | SYNC_IO; | 145 | SYNC_IO; |
146 | __asm__ __volatile__("# __raw_spin_unlock\n\t" | 146 | __asm__ __volatile__("# arch_spin_unlock\n\t" |
147 | LWSYNC_ON_SMP: : :"memory"); | 147 | LWSYNC_ON_SMP: : :"memory"); |
148 | lock->slock = 0; | 148 | lock->slock = 0; |
149 | } | 149 | } |
150 | 150 | ||
151 | #ifdef CONFIG_PPC64 | 151 | #ifdef CONFIG_PPC64 |
152 | extern void __raw_spin_unlock_wait(raw_spinlock_t *lock); | 152 | extern void arch_spin_unlock_wait(arch_spinlock_t *lock); |
153 | #else | 153 | #else |
154 | #define __raw_spin_unlock_wait(lock) \ | 154 | #define arch_spin_unlock_wait(lock) \ |
155 | do { while (__raw_spin_is_locked(lock)) cpu_relax(); } while (0) | 155 | do { while (arch_spin_is_locked(lock)) cpu_relax(); } while (0) |
156 | #endif | 156 | #endif |
157 | 157 | ||
158 | /* | 158 | /* |
@@ -166,8 +166,8 @@ extern void __raw_spin_unlock_wait(raw_spinlock_t *lock); | |||
166 | * read-locks. | 166 | * read-locks. |
167 | */ | 167 | */ |
168 | 168 | ||
169 | #define __raw_read_can_lock(rw) ((rw)->lock >= 0) | 169 | #define arch_read_can_lock(rw) ((rw)->lock >= 0) |
170 | #define __raw_write_can_lock(rw) (!(rw)->lock) | 170 | #define arch_write_can_lock(rw) (!(rw)->lock) |
171 | 171 | ||
172 | #ifdef CONFIG_PPC64 | 172 | #ifdef CONFIG_PPC64 |
173 | #define __DO_SIGN_EXTEND "extsw %0,%0\n" | 173 | #define __DO_SIGN_EXTEND "extsw %0,%0\n" |
@@ -181,7 +181,7 @@ extern void __raw_spin_unlock_wait(raw_spinlock_t *lock); | |||
181 | * This returns the old value in the lock + 1, | 181 | * This returns the old value in the lock + 1, |
182 | * so we got a read lock if the return value is > 0. | 182 | * so we got a read lock if the return value is > 0. |
183 | */ | 183 | */ |
184 | static inline long arch_read_trylock(raw_rwlock_t *rw) | 184 | static inline long __arch_read_trylock(arch_rwlock_t *rw) |
185 | { | 185 | { |
186 | long tmp; | 186 | long tmp; |
187 | 187 | ||
@@ -205,7 +205,7 @@ static inline long arch_read_trylock(raw_rwlock_t *rw) | |||
205 | * This returns the old value in the lock, | 205 | * This returns the old value in the lock, |
206 | * so we got the write lock if the return value is 0. | 206 | * so we got the write lock if the return value is 0. |
207 | */ | 207 | */ |
208 | static inline long arch_write_trylock(raw_rwlock_t *rw) | 208 | static inline long __arch_write_trylock(arch_rwlock_t *rw) |
209 | { | 209 | { |
210 | long tmp, token; | 210 | long tmp, token; |
211 | 211 | ||
@@ -225,10 +225,10 @@ static inline long arch_write_trylock(raw_rwlock_t *rw) | |||
225 | return tmp; | 225 | return tmp; |
226 | } | 226 | } |
227 | 227 | ||
228 | static inline void __raw_read_lock(raw_rwlock_t *rw) | 228 | static inline void arch_read_lock(arch_rwlock_t *rw) |
229 | { | 229 | { |
230 | while (1) { | 230 | while (1) { |
231 | if (likely(arch_read_trylock(rw) > 0)) | 231 | if (likely(__arch_read_trylock(rw) > 0)) |
232 | break; | 232 | break; |
233 | do { | 233 | do { |
234 | HMT_low(); | 234 | HMT_low(); |
@@ -239,10 +239,10 @@ static inline void __raw_read_lock(raw_rwlock_t *rw) | |||
239 | } | 239 | } |
240 | } | 240 | } |
241 | 241 | ||
242 | static inline void __raw_write_lock(raw_rwlock_t *rw) | 242 | static inline void arch_write_lock(arch_rwlock_t *rw) |
243 | { | 243 | { |
244 | while (1) { | 244 | while (1) { |
245 | if (likely(arch_write_trylock(rw) == 0)) | 245 | if (likely(__arch_write_trylock(rw) == 0)) |
246 | break; | 246 | break; |
247 | do { | 247 | do { |
248 | HMT_low(); | 248 | HMT_low(); |
@@ -253,17 +253,17 @@ static inline void __raw_write_lock(raw_rwlock_t *rw) | |||
253 | } | 253 | } |
254 | } | 254 | } |
255 | 255 | ||
256 | static inline int __raw_read_trylock(raw_rwlock_t *rw) | 256 | static inline int arch_read_trylock(arch_rwlock_t *rw) |
257 | { | 257 | { |
258 | return arch_read_trylock(rw) > 0; | 258 | return __arch_read_trylock(rw) > 0; |
259 | } | 259 | } |
260 | 260 | ||
261 | static inline int __raw_write_trylock(raw_rwlock_t *rw) | 261 | static inline int arch_write_trylock(arch_rwlock_t *rw) |
262 | { | 262 | { |
263 | return arch_write_trylock(rw) == 0; | 263 | return __arch_write_trylock(rw) == 0; |
264 | } | 264 | } |
265 | 265 | ||
266 | static inline void __raw_read_unlock(raw_rwlock_t *rw) | 266 | static inline void arch_read_unlock(arch_rwlock_t *rw) |
267 | { | 267 | { |
268 | long tmp; | 268 | long tmp; |
269 | 269 | ||
@@ -280,19 +280,19 @@ static inline void __raw_read_unlock(raw_rwlock_t *rw) | |||
280 | : "cr0", "xer", "memory"); | 280 | : "cr0", "xer", "memory"); |
281 | } | 281 | } |
282 | 282 | ||
283 | static inline void __raw_write_unlock(raw_rwlock_t *rw) | 283 | static inline void arch_write_unlock(arch_rwlock_t *rw) |
284 | { | 284 | { |
285 | __asm__ __volatile__("# write_unlock\n\t" | 285 | __asm__ __volatile__("# write_unlock\n\t" |
286 | LWSYNC_ON_SMP: : :"memory"); | 286 | LWSYNC_ON_SMP: : :"memory"); |
287 | rw->lock = 0; | 287 | rw->lock = 0; |
288 | } | 288 | } |
289 | 289 | ||
290 | #define __raw_read_lock_flags(lock, flags) __raw_read_lock(lock) | 290 | #define arch_read_lock_flags(lock, flags) arch_read_lock(lock) |
291 | #define __raw_write_lock_flags(lock, flags) __raw_write_lock(lock) | 291 | #define arch_write_lock_flags(lock, flags) arch_write_lock(lock) |
292 | 292 | ||
293 | #define _raw_spin_relax(lock) __spin_yield(lock) | 293 | #define arch_spin_relax(lock) __spin_yield(lock) |
294 | #define _raw_read_relax(lock) __rw_yield(lock) | 294 | #define arch_read_relax(lock) __rw_yield(lock) |
295 | #define _raw_write_relax(lock) __rw_yield(lock) | 295 | #define arch_write_relax(lock) __rw_yield(lock) |
296 | 296 | ||
297 | #endif /* __KERNEL__ */ | 297 | #endif /* __KERNEL__ */ |
298 | #endif /* __ASM_SPINLOCK_H */ | 298 | #endif /* __ASM_SPINLOCK_H */ |
diff --git a/arch/powerpc/include/asm/spinlock_types.h b/arch/powerpc/include/asm/spinlock_types.h index 74236c9f05b1..2351adc4fdc4 100644 --- a/arch/powerpc/include/asm/spinlock_types.h +++ b/arch/powerpc/include/asm/spinlock_types.h | |||
@@ -7,14 +7,14 @@ | |||
7 | 7 | ||
8 | typedef struct { | 8 | typedef struct { |
9 | volatile unsigned int slock; | 9 | volatile unsigned int slock; |
10 | } raw_spinlock_t; | 10 | } arch_spinlock_t; |
11 | 11 | ||
12 | #define __RAW_SPIN_LOCK_UNLOCKED { 0 } | 12 | #define __ARCH_SPIN_LOCK_UNLOCKED { 0 } |
13 | 13 | ||
14 | typedef struct { | 14 | typedef struct { |
15 | volatile signed int lock; | 15 | volatile signed int lock; |
16 | } raw_rwlock_t; | 16 | } arch_rwlock_t; |
17 | 17 | ||
18 | #define __RAW_RW_LOCK_UNLOCKED { 0 } | 18 | #define __ARCH_RW_LOCK_UNLOCKED { 0 } |
19 | 19 | ||
20 | #endif | 20 | #endif |
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index f6dca4f4b295..9040330b0530 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c | |||
@@ -210,7 +210,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
210 | if (!desc) | 210 | if (!desc) |
211 | return 0; | 211 | return 0; |
212 | 212 | ||
213 | spin_lock_irqsave(&desc->lock, flags); | 213 | raw_spin_lock_irqsave(&desc->lock, flags); |
214 | 214 | ||
215 | action = desc->action; | 215 | action = desc->action; |
216 | if (!action || !action->handler) | 216 | if (!action || !action->handler) |
@@ -237,7 +237,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
237 | seq_putc(p, '\n'); | 237 | seq_putc(p, '\n'); |
238 | 238 | ||
239 | skip: | 239 | skip: |
240 | spin_unlock_irqrestore(&desc->lock, flags); | 240 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
241 | 241 | ||
242 | return 0; | 242 | return 0; |
243 | } | 243 | } |
@@ -1112,7 +1112,7 @@ static int virq_debug_show(struct seq_file *m, void *private) | |||
1112 | if (!desc) | 1112 | if (!desc) |
1113 | continue; | 1113 | continue; |
1114 | 1114 | ||
1115 | spin_lock_irqsave(&desc->lock, flags); | 1115 | raw_spin_lock_irqsave(&desc->lock, flags); |
1116 | 1116 | ||
1117 | if (desc->action && desc->action->handler) { | 1117 | if (desc->action && desc->action->handler) { |
1118 | seq_printf(m, "%5d ", i); | 1118 | seq_printf(m, "%5d ", i); |
@@ -1131,7 +1131,7 @@ static int virq_debug_show(struct seq_file *m, void *private) | |||
1131 | seq_printf(m, "%s\n", p); | 1131 | seq_printf(m, "%s\n", p); |
1132 | } | 1132 | } |
1133 | 1133 | ||
1134 | spin_unlock_irqrestore(&desc->lock, flags); | 1134 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
1135 | } | 1135 | } |
1136 | 1136 | ||
1137 | return 0; | 1137 | return 0; |
diff --git a/arch/powerpc/kernel/perf_callchain.c b/arch/powerpc/kernel/perf_callchain.c index 936f04dbfc6f..a3c11cac3d71 100644 --- a/arch/powerpc/kernel/perf_callchain.c +++ b/arch/powerpc/kernel/perf_callchain.c | |||
@@ -487,11 +487,11 @@ static void perf_callchain_user_32(struct pt_regs *regs, | |||
487 | * Since we can't get PMU interrupts inside a PMU interrupt handler, | 487 | * Since we can't get PMU interrupts inside a PMU interrupt handler, |
488 | * we don't need separate irq and nmi entries here. | 488 | * we don't need separate irq and nmi entries here. |
489 | */ | 489 | */ |
490 | static DEFINE_PER_CPU(struct perf_callchain_entry, callchain); | 490 | static DEFINE_PER_CPU(struct perf_callchain_entry, cpu_perf_callchain); |
491 | 491 | ||
492 | struct perf_callchain_entry *perf_callchain(struct pt_regs *regs) | 492 | struct perf_callchain_entry *perf_callchain(struct pt_regs *regs) |
493 | { | 493 | { |
494 | struct perf_callchain_entry *entry = &__get_cpu_var(callchain); | 494 | struct perf_callchain_entry *entry = &__get_cpu_var(cpu_perf_callchain); |
495 | 495 | ||
496 | entry->nr = 0; | 496 | entry->nr = 0; |
497 | 497 | ||
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c index bf90361bb70f..fd0d29493fd6 100644 --- a/arch/powerpc/kernel/rtas.c +++ b/arch/powerpc/kernel/rtas.c | |||
@@ -42,7 +42,7 @@ | |||
42 | #include <asm/mmu.h> | 42 | #include <asm/mmu.h> |
43 | 43 | ||
44 | struct rtas_t rtas = { | 44 | struct rtas_t rtas = { |
45 | .lock = __RAW_SPIN_LOCK_UNLOCKED | 45 | .lock = __ARCH_SPIN_LOCK_UNLOCKED |
46 | }; | 46 | }; |
47 | EXPORT_SYMBOL(rtas); | 47 | EXPORT_SYMBOL(rtas); |
48 | 48 | ||
@@ -80,13 +80,13 @@ static unsigned long lock_rtas(void) | |||
80 | 80 | ||
81 | local_irq_save(flags); | 81 | local_irq_save(flags); |
82 | preempt_disable(); | 82 | preempt_disable(); |
83 | __raw_spin_lock_flags(&rtas.lock, flags); | 83 | arch_spin_lock_flags(&rtas.lock, flags); |
84 | return flags; | 84 | return flags; |
85 | } | 85 | } |
86 | 86 | ||
87 | static void unlock_rtas(unsigned long flags) | 87 | static void unlock_rtas(unsigned long flags) |
88 | { | 88 | { |
89 | __raw_spin_unlock(&rtas.lock); | 89 | arch_spin_unlock(&rtas.lock); |
90 | local_irq_restore(flags); | 90 | local_irq_restore(flags); |
91 | preempt_enable(); | 91 | preempt_enable(); |
92 | } | 92 | } |
@@ -978,7 +978,7 @@ int __init early_init_dt_scan_rtas(unsigned long node, | |||
978 | return 1; | 978 | return 1; |
979 | } | 979 | } |
980 | 980 | ||
981 | static raw_spinlock_t timebase_lock; | 981 | static arch_spinlock_t timebase_lock; |
982 | static u64 timebase = 0; | 982 | static u64 timebase = 0; |
983 | 983 | ||
984 | void __cpuinit rtas_give_timebase(void) | 984 | void __cpuinit rtas_give_timebase(void) |
@@ -987,10 +987,10 @@ void __cpuinit rtas_give_timebase(void) | |||
987 | 987 | ||
988 | local_irq_save(flags); | 988 | local_irq_save(flags); |
989 | hard_irq_disable(); | 989 | hard_irq_disable(); |
990 | __raw_spin_lock(&timebase_lock); | 990 | arch_spin_lock(&timebase_lock); |
991 | rtas_call(rtas_token("freeze-time-base"), 0, 1, NULL); | 991 | rtas_call(rtas_token("freeze-time-base"), 0, 1, NULL); |
992 | timebase = get_tb(); | 992 | timebase = get_tb(); |
993 | __raw_spin_unlock(&timebase_lock); | 993 | arch_spin_unlock(&timebase_lock); |
994 | 994 | ||
995 | while (timebase) | 995 | while (timebase) |
996 | barrier(); | 996 | barrier(); |
@@ -1002,8 +1002,8 @@ void __cpuinit rtas_take_timebase(void) | |||
1002 | { | 1002 | { |
1003 | while (!timebase) | 1003 | while (!timebase) |
1004 | barrier(); | 1004 | barrier(); |
1005 | __raw_spin_lock(&timebase_lock); | 1005 | arch_spin_lock(&timebase_lock); |
1006 | set_tb(timebase >> 32, timebase & 0xffffffff); | 1006 | set_tb(timebase >> 32, timebase & 0xffffffff); |
1007 | timebase = 0; | 1007 | timebase = 0; |
1008 | __raw_spin_unlock(&timebase_lock); | 1008 | arch_spin_unlock(&timebase_lock); |
1009 | } | 1009 | } |
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index 845c72ab7357..03dd6a248198 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c | |||
@@ -157,7 +157,7 @@ extern u32 cpu_temp_both(unsigned long cpu); | |||
157 | #endif /* CONFIG_TAU */ | 157 | #endif /* CONFIG_TAU */ |
158 | 158 | ||
159 | #ifdef CONFIG_SMP | 159 | #ifdef CONFIG_SMP |
160 | DEFINE_PER_CPU(unsigned int, pvr); | 160 | DEFINE_PER_CPU(unsigned int, cpu_pvr); |
161 | #endif | 161 | #endif |
162 | 162 | ||
163 | static int show_cpuinfo(struct seq_file *m, void *v) | 163 | static int show_cpuinfo(struct seq_file *m, void *v) |
@@ -209,7 +209,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) | |||
209 | } | 209 | } |
210 | 210 | ||
211 | #ifdef CONFIG_SMP | 211 | #ifdef CONFIG_SMP |
212 | pvr = per_cpu(pvr, cpu_id); | 212 | pvr = per_cpu(cpu_pvr, cpu_id); |
213 | #else | 213 | #else |
214 | pvr = mfspr(SPRN_PVR); | 214 | pvr = mfspr(SPRN_PVR); |
215 | #endif | 215 | #endif |
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index 97196eefef3e..a521fb8a40ee 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c | |||
@@ -235,7 +235,7 @@ struct thread_info *current_set[NR_CPUS]; | |||
235 | 235 | ||
236 | static void __devinit smp_store_cpu_info(int id) | 236 | static void __devinit smp_store_cpu_info(int id) |
237 | { | 237 | { |
238 | per_cpu(pvr, id) = mfspr(SPRN_PVR); | 238 | per_cpu(cpu_pvr, id) = mfspr(SPRN_PVR); |
239 | } | 239 | } |
240 | 240 | ||
241 | static void __init smp_create_idle(unsigned int cpu) | 241 | static void __init smp_create_idle(unsigned int cpu) |
diff --git a/arch/powerpc/lib/locks.c b/arch/powerpc/lib/locks.c index 79d0fa3a470d..58e14fba11b1 100644 --- a/arch/powerpc/lib/locks.c +++ b/arch/powerpc/lib/locks.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <asm/smp.h> | 25 | #include <asm/smp.h> |
26 | #include <asm/firmware.h> | 26 | #include <asm/firmware.h> |
27 | 27 | ||
28 | void __spin_yield(raw_spinlock_t *lock) | 28 | void __spin_yield(arch_spinlock_t *lock) |
29 | { | 29 | { |
30 | unsigned int lock_value, holder_cpu, yield_count; | 30 | unsigned int lock_value, holder_cpu, yield_count; |
31 | 31 | ||
@@ -55,7 +55,7 @@ void __spin_yield(raw_spinlock_t *lock) | |||
55 | * This turns out to be the same for read and write locks, since | 55 | * This turns out to be the same for read and write locks, since |
56 | * we only know the holder if it is write-locked. | 56 | * we only know the holder if it is write-locked. |
57 | */ | 57 | */ |
58 | void __rw_yield(raw_rwlock_t *rw) | 58 | void __rw_yield(arch_rwlock_t *rw) |
59 | { | 59 | { |
60 | int lock_value; | 60 | int lock_value; |
61 | unsigned int holder_cpu, yield_count; | 61 | unsigned int holder_cpu, yield_count; |
@@ -82,7 +82,7 @@ void __rw_yield(raw_rwlock_t *rw) | |||
82 | } | 82 | } |
83 | #endif | 83 | #endif |
84 | 84 | ||
85 | void __raw_spin_unlock_wait(raw_spinlock_t *lock) | 85 | void arch_spin_unlock_wait(arch_spinlock_t *lock) |
86 | { | 86 | { |
87 | while (lock->slock) { | 87 | while (lock->slock) { |
88 | HMT_low(); | 88 | HMT_low(); |
@@ -92,4 +92,4 @@ void __raw_spin_unlock_wait(raw_spinlock_t *lock) | |||
92 | HMT_medium(); | 92 | HMT_medium(); |
93 | } | 93 | } |
94 | 94 | ||
95 | EXPORT_SYMBOL(__raw_spin_unlock_wait); | 95 | EXPORT_SYMBOL(arch_spin_unlock_wait); |
diff --git a/arch/powerpc/platforms/52xx/media5200.c b/arch/powerpc/platforms/52xx/media5200.c index cc0c854291d7..0bac3a3dbecf 100644 --- a/arch/powerpc/platforms/52xx/media5200.c +++ b/arch/powerpc/platforms/52xx/media5200.c | |||
@@ -86,9 +86,9 @@ void media5200_irq_cascade(unsigned int virq, struct irq_desc *desc) | |||
86 | u32 status, enable; | 86 | u32 status, enable; |
87 | 87 | ||
88 | /* Mask off the cascaded IRQ */ | 88 | /* Mask off the cascaded IRQ */ |
89 | spin_lock(&desc->lock); | 89 | raw_spin_lock(&desc->lock); |
90 | desc->chip->mask(virq); | 90 | desc->chip->mask(virq); |
91 | spin_unlock(&desc->lock); | 91 | raw_spin_unlock(&desc->lock); |
92 | 92 | ||
93 | /* Ask the FPGA for IRQ status. If 'val' is 0, then no irqs | 93 | /* Ask the FPGA for IRQ status. If 'val' is 0, then no irqs |
94 | * are pending. 'ffs()' is 1 based */ | 94 | * are pending. 'ffs()' is 1 based */ |
@@ -104,11 +104,11 @@ void media5200_irq_cascade(unsigned int virq, struct irq_desc *desc) | |||
104 | } | 104 | } |
105 | 105 | ||
106 | /* Processing done; can reenable the cascade now */ | 106 | /* Processing done; can reenable the cascade now */ |
107 | spin_lock(&desc->lock); | 107 | raw_spin_lock(&desc->lock); |
108 | desc->chip->ack(virq); | 108 | desc->chip->ack(virq); |
109 | if (!(desc->status & IRQ_DISABLED)) | 109 | if (!(desc->status & IRQ_DISABLED)) |
110 | desc->chip->unmask(virq); | 110 | desc->chip->unmask(virq); |
111 | spin_unlock(&desc->lock); | 111 | raw_spin_unlock(&desc->lock); |
112 | } | 112 | } |
113 | 113 | ||
114 | static int media5200_irq_map(struct irq_host *h, unsigned int virq, | 114 | static int media5200_irq_map(struct irq_host *h, unsigned int virq, |
diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c index f9dbf76a763f..6829cf7e2bda 100644 --- a/arch/powerpc/platforms/cell/interrupt.c +++ b/arch/powerpc/platforms/cell/interrupt.c | |||
@@ -54,7 +54,7 @@ struct iic { | |||
54 | struct device_node *node; | 54 | struct device_node *node; |
55 | }; | 55 | }; |
56 | 56 | ||
57 | static DEFINE_PER_CPU(struct iic, iic); | 57 | static DEFINE_PER_CPU(struct iic, cpu_iic); |
58 | #define IIC_NODE_COUNT 2 | 58 | #define IIC_NODE_COUNT 2 |
59 | static struct irq_host *iic_host; | 59 | static struct irq_host *iic_host; |
60 | 60 | ||
@@ -82,7 +82,7 @@ static void iic_unmask(unsigned int irq) | |||
82 | 82 | ||
83 | static void iic_eoi(unsigned int irq) | 83 | static void iic_eoi(unsigned int irq) |
84 | { | 84 | { |
85 | struct iic *iic = &__get_cpu_var(iic); | 85 | struct iic *iic = &__get_cpu_var(cpu_iic); |
86 | out_be64(&iic->regs->prio, iic->eoi_stack[--iic->eoi_ptr]); | 86 | out_be64(&iic->regs->prio, iic->eoi_stack[--iic->eoi_ptr]); |
87 | BUG_ON(iic->eoi_ptr < 0); | 87 | BUG_ON(iic->eoi_ptr < 0); |
88 | } | 88 | } |
@@ -146,7 +146,7 @@ static unsigned int iic_get_irq(void) | |||
146 | struct iic *iic; | 146 | struct iic *iic; |
147 | unsigned int virq; | 147 | unsigned int virq; |
148 | 148 | ||
149 | iic = &__get_cpu_var(iic); | 149 | iic = &__get_cpu_var(cpu_iic); |
150 | *(unsigned long *) &pending = | 150 | *(unsigned long *) &pending = |
151 | in_be64((u64 __iomem *) &iic->regs->pending_destr); | 151 | in_be64((u64 __iomem *) &iic->regs->pending_destr); |
152 | if (!(pending.flags & CBE_IIC_IRQ_VALID)) | 152 | if (!(pending.flags & CBE_IIC_IRQ_VALID)) |
@@ -161,12 +161,12 @@ static unsigned int iic_get_irq(void) | |||
161 | 161 | ||
162 | void iic_setup_cpu(void) | 162 | void iic_setup_cpu(void) |
163 | { | 163 | { |
164 | out_be64(&__get_cpu_var(iic).regs->prio, 0xff); | 164 | out_be64(&__get_cpu_var(cpu_iic).regs->prio, 0xff); |
165 | } | 165 | } |
166 | 166 | ||
167 | u8 iic_get_target_id(int cpu) | 167 | u8 iic_get_target_id(int cpu) |
168 | { | 168 | { |
169 | return per_cpu(iic, cpu).target_id; | 169 | return per_cpu(cpu_iic, cpu).target_id; |
170 | } | 170 | } |
171 | 171 | ||
172 | EXPORT_SYMBOL_GPL(iic_get_target_id); | 172 | EXPORT_SYMBOL_GPL(iic_get_target_id); |
@@ -181,7 +181,7 @@ static inline int iic_ipi_to_irq(int ipi) | |||
181 | 181 | ||
182 | void iic_cause_IPI(int cpu, int mesg) | 182 | void iic_cause_IPI(int cpu, int mesg) |
183 | { | 183 | { |
184 | out_be64(&per_cpu(iic, cpu).regs->generate, (0xf - mesg) << 4); | 184 | out_be64(&per_cpu(cpu_iic, cpu).regs->generate, (0xf - mesg) << 4); |
185 | } | 185 | } |
186 | 186 | ||
187 | struct irq_host *iic_get_irq_host(int node) | 187 | struct irq_host *iic_get_irq_host(int node) |
@@ -237,7 +237,7 @@ extern int noirqdebug; | |||
237 | 237 | ||
238 | static void handle_iic_irq(unsigned int irq, struct irq_desc *desc) | 238 | static void handle_iic_irq(unsigned int irq, struct irq_desc *desc) |
239 | { | 239 | { |
240 | spin_lock(&desc->lock); | 240 | raw_spin_lock(&desc->lock); |
241 | 241 | ||
242 | desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); | 242 | desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); |
243 | 243 | ||
@@ -265,18 +265,18 @@ static void handle_iic_irq(unsigned int irq, struct irq_desc *desc) | |||
265 | goto out_eoi; | 265 | goto out_eoi; |
266 | 266 | ||
267 | desc->status &= ~IRQ_PENDING; | 267 | desc->status &= ~IRQ_PENDING; |
268 | spin_unlock(&desc->lock); | 268 | raw_spin_unlock(&desc->lock); |
269 | action_ret = handle_IRQ_event(irq, action); | 269 | action_ret = handle_IRQ_event(irq, action); |
270 | if (!noirqdebug) | 270 | if (!noirqdebug) |
271 | note_interrupt(irq, desc, action_ret); | 271 | note_interrupt(irq, desc, action_ret); |
272 | spin_lock(&desc->lock); | 272 | raw_spin_lock(&desc->lock); |
273 | 273 | ||
274 | } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING); | 274 | } while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING); |
275 | 275 | ||
276 | desc->status &= ~IRQ_INPROGRESS; | 276 | desc->status &= ~IRQ_INPROGRESS; |
277 | out_eoi: | 277 | out_eoi: |
278 | desc->chip->eoi(irq); | 278 | desc->chip->eoi(irq); |
279 | spin_unlock(&desc->lock); | 279 | raw_spin_unlock(&desc->lock); |
280 | } | 280 | } |
281 | 281 | ||
282 | static int iic_host_map(struct irq_host *h, unsigned int virq, | 282 | static int iic_host_map(struct irq_host *h, unsigned int virq, |
@@ -348,7 +348,7 @@ static void __init init_one_iic(unsigned int hw_cpu, unsigned long addr, | |||
348 | /* XXX FIXME: should locate the linux CPU number from the HW cpu | 348 | /* XXX FIXME: should locate the linux CPU number from the HW cpu |
349 | * number properly. We are lucky for now | 349 | * number properly. We are lucky for now |
350 | */ | 350 | */ |
351 | struct iic *iic = &per_cpu(iic, hw_cpu); | 351 | struct iic *iic = &per_cpu(cpu_iic, hw_cpu); |
352 | 352 | ||
353 | iic->regs = ioremap(addr, sizeof(struct cbe_iic_thread_regs)); | 353 | iic->regs = ioremap(addr, sizeof(struct cbe_iic_thread_regs)); |
354 | BUG_ON(iic->regs == NULL); | 354 | BUG_ON(iic->regs == NULL); |
diff --git a/arch/powerpc/platforms/iseries/irq.c b/arch/powerpc/platforms/iseries/irq.c index 07762259c60a..86c4b29eea89 100644 --- a/arch/powerpc/platforms/iseries/irq.c +++ b/arch/powerpc/platforms/iseries/irq.c | |||
@@ -217,9 +217,9 @@ void __init iSeries_activate_IRQs() | |||
217 | struct irq_desc *desc = irq_to_desc(irq); | 217 | struct irq_desc *desc = irq_to_desc(irq); |
218 | 218 | ||
219 | if (desc && desc->chip && desc->chip->startup) { | 219 | if (desc && desc->chip && desc->chip->startup) { |
220 | spin_lock_irqsave(&desc->lock, flags); | 220 | raw_spin_lock_irqsave(&desc->lock, flags); |
221 | desc->chip->startup(irq); | 221 | desc->chip->startup(irq); |
222 | spin_unlock_irqrestore(&desc->lock, flags); | 222 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
223 | } | 223 | } |
224 | } | 224 | } |
225 | } | 225 | } |
diff --git a/arch/powerpc/platforms/pasemi/setup.c b/arch/powerpc/platforms/pasemi/setup.c index a4619347aa7e..242f8095c2df 100644 --- a/arch/powerpc/platforms/pasemi/setup.c +++ b/arch/powerpc/platforms/pasemi/setup.c | |||
@@ -71,7 +71,7 @@ static void pas_restart(char *cmd) | |||
71 | } | 71 | } |
72 | 72 | ||
73 | #ifdef CONFIG_SMP | 73 | #ifdef CONFIG_SMP |
74 | static raw_spinlock_t timebase_lock; | 74 | static arch_spinlock_t timebase_lock; |
75 | static unsigned long timebase; | 75 | static unsigned long timebase; |
76 | 76 | ||
77 | static void __devinit pas_give_timebase(void) | 77 | static void __devinit pas_give_timebase(void) |
@@ -80,11 +80,11 @@ static void __devinit pas_give_timebase(void) | |||
80 | 80 | ||
81 | local_irq_save(flags); | 81 | local_irq_save(flags); |
82 | hard_irq_disable(); | 82 | hard_irq_disable(); |
83 | __raw_spin_lock(&timebase_lock); | 83 | arch_spin_lock(&timebase_lock); |
84 | mtspr(SPRN_TBCTL, TBCTL_FREEZE); | 84 | mtspr(SPRN_TBCTL, TBCTL_FREEZE); |
85 | isync(); | 85 | isync(); |
86 | timebase = get_tb(); | 86 | timebase = get_tb(); |
87 | __raw_spin_unlock(&timebase_lock); | 87 | arch_spin_unlock(&timebase_lock); |
88 | 88 | ||
89 | while (timebase) | 89 | while (timebase) |
90 | barrier(); | 90 | barrier(); |
@@ -97,10 +97,10 @@ static void __devinit pas_take_timebase(void) | |||
97 | while (!timebase) | 97 | while (!timebase) |
98 | smp_rmb(); | 98 | smp_rmb(); |
99 | 99 | ||
100 | __raw_spin_lock(&timebase_lock); | 100 | arch_spin_lock(&timebase_lock); |
101 | set_tb(timebase >> 32, timebase & 0xffffffff); | 101 | set_tb(timebase >> 32, timebase & 0xffffffff); |
102 | timebase = 0; | 102 | timebase = 0; |
103 | __raw_spin_unlock(&timebase_lock); | 103 | arch_spin_unlock(&timebase_lock); |
104 | } | 104 | } |
105 | 105 | ||
106 | struct smp_ops_t pas_smp_ops = { | 106 | struct smp_ops_t pas_smp_ops = { |
diff --git a/arch/powerpc/platforms/pseries/dtl.c b/arch/powerpc/platforms/pseries/dtl.c index 937a544a236d..c5f3116b6ca5 100644 --- a/arch/powerpc/platforms/pseries/dtl.c +++ b/arch/powerpc/platforms/pseries/dtl.c | |||
@@ -54,7 +54,7 @@ struct dtl { | |||
54 | int buf_entries; | 54 | int buf_entries; |
55 | u64 last_idx; | 55 | u64 last_idx; |
56 | }; | 56 | }; |
57 | static DEFINE_PER_CPU(struct dtl, dtl); | 57 | static DEFINE_PER_CPU(struct dtl, cpu_dtl); |
58 | 58 | ||
59 | /* | 59 | /* |
60 | * Dispatch trace log event mask: | 60 | * Dispatch trace log event mask: |
@@ -261,7 +261,7 @@ static int dtl_init(void) | |||
261 | 261 | ||
262 | /* set up the per-cpu log structures */ | 262 | /* set up the per-cpu log structures */ |
263 | for_each_possible_cpu(i) { | 263 | for_each_possible_cpu(i) { |
264 | struct dtl *dtl = &per_cpu(dtl, i); | 264 | struct dtl *dtl = &per_cpu(cpu_dtl, i); |
265 | dtl->cpu = i; | 265 | dtl->cpu = i; |
266 | 266 | ||
267 | rc = dtl_setup_file(dtl); | 267 | rc = dtl_setup_file(dtl); |
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c index 7d01b58f3989..b9b9e11609ec 100644 --- a/arch/powerpc/platforms/pseries/xics.c +++ b/arch/powerpc/platforms/pseries/xics.c | |||
@@ -906,7 +906,7 @@ void xics_migrate_irqs_away(void) | |||
906 | || desc->chip->set_affinity == NULL) | 906 | || desc->chip->set_affinity == NULL) |
907 | continue; | 907 | continue; |
908 | 908 | ||
909 | spin_lock_irqsave(&desc->lock, flags); | 909 | raw_spin_lock_irqsave(&desc->lock, flags); |
910 | 910 | ||
911 | status = rtas_call(ibm_get_xive, 1, 3, xics_status, irq); | 911 | status = rtas_call(ibm_get_xive, 1, 3, xics_status, irq); |
912 | if (status) { | 912 | if (status) { |
@@ -930,7 +930,7 @@ void xics_migrate_irqs_away(void) | |||
930 | cpumask_setall(irq_to_desc(virq)->affinity); | 930 | cpumask_setall(irq_to_desc(virq)->affinity); |
931 | desc->chip->set_affinity(virq, cpu_all_mask); | 931 | desc->chip->set_affinity(virq, cpu_all_mask); |
932 | unlock: | 932 | unlock: |
933 | spin_unlock_irqrestore(&desc->lock, flags); | 933 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
934 | } | 934 | } |
935 | } | 935 | } |
936 | #endif | 936 | #endif |
diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c index 62e50258cdef..c6e11b077108 100644 --- a/arch/powerpc/sysdev/fsl_msi.c +++ b/arch/powerpc/sysdev/fsl_msi.c | |||
@@ -173,7 +173,7 @@ static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc) | |||
173 | u32 intr_index; | 173 | u32 intr_index; |
174 | u32 have_shift = 0; | 174 | u32 have_shift = 0; |
175 | 175 | ||
176 | spin_lock(&desc->lock); | 176 | raw_spin_lock(&desc->lock); |
177 | if ((msi_data->feature & FSL_PIC_IP_MASK) == FSL_PIC_IP_IPIC) { | 177 | if ((msi_data->feature & FSL_PIC_IP_MASK) == FSL_PIC_IP_IPIC) { |
178 | if (desc->chip->mask_ack) | 178 | if (desc->chip->mask_ack) |
179 | desc->chip->mask_ack(irq); | 179 | desc->chip->mask_ack(irq); |
@@ -225,7 +225,7 @@ static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc) | |||
225 | break; | 225 | break; |
226 | } | 226 | } |
227 | unlock: | 227 | unlock: |
228 | spin_unlock(&desc->lock); | 228 | raw_spin_unlock(&desc->lock); |
229 | } | 229 | } |
230 | 230 | ||
231 | static int __devinit fsl_of_msi_probe(struct of_device *dev, | 231 | static int __devinit fsl_of_msi_probe(struct of_device *dev, |
diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c index 7d10074b3304..6f220a913e42 100644 --- a/arch/powerpc/sysdev/uic.c +++ b/arch/powerpc/sysdev/uic.c | |||
@@ -225,12 +225,12 @@ void uic_irq_cascade(unsigned int virq, struct irq_desc *desc) | |||
225 | int src; | 225 | int src; |
226 | int subvirq; | 226 | int subvirq; |
227 | 227 | ||
228 | spin_lock(&desc->lock); | 228 | raw_spin_lock(&desc->lock); |
229 | if (desc->status & IRQ_LEVEL) | 229 | if (desc->status & IRQ_LEVEL) |
230 | desc->chip->mask(virq); | 230 | desc->chip->mask(virq); |
231 | else | 231 | else |
232 | desc->chip->mask_ack(virq); | 232 | desc->chip->mask_ack(virq); |
233 | spin_unlock(&desc->lock); | 233 | raw_spin_unlock(&desc->lock); |
234 | 234 | ||
235 | msr = mfdcr(uic->dcrbase + UIC_MSR); | 235 | msr = mfdcr(uic->dcrbase + UIC_MSR); |
236 | if (!msr) /* spurious interrupt */ | 236 | if (!msr) /* spurious interrupt */ |
@@ -242,12 +242,12 @@ void uic_irq_cascade(unsigned int virq, struct irq_desc *desc) | |||
242 | generic_handle_irq(subvirq); | 242 | generic_handle_irq(subvirq); |
243 | 243 | ||
244 | uic_irq_ret: | 244 | uic_irq_ret: |
245 | spin_lock(&desc->lock); | 245 | raw_spin_lock(&desc->lock); |
246 | if (desc->status & IRQ_LEVEL) | 246 | if (desc->status & IRQ_LEVEL) |
247 | desc->chip->ack(virq); | 247 | desc->chip->ack(virq); |
248 | if (!(desc->status & IRQ_DISABLED) && desc->chip->unmask) | 248 | if (!(desc->status & IRQ_DISABLED) && desc->chip->unmask) |
249 | desc->chip->unmask(virq); | 249 | desc->chip->unmask(virq); |
250 | spin_unlock(&desc->lock); | 250 | raw_spin_unlock(&desc->lock); |
251 | } | 251 | } |
252 | 252 | ||
253 | static struct uic * __init uic_init_one(struct device_node *node) | 253 | static struct uic * __init uic_init_one(struct device_node *node) |
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c index 495589950dc7..5c91995b74e4 100644 --- a/arch/s390/appldata/appldata_base.c +++ b/arch/s390/appldata/appldata_base.c | |||
@@ -551,7 +551,7 @@ static int appldata_thaw(struct device *dev) | |||
551 | return appldata_restore(dev); | 551 | return appldata_restore(dev); |
552 | } | 552 | } |
553 | 553 | ||
554 | static struct dev_pm_ops appldata_pm_ops = { | 554 | static const struct dev_pm_ops appldata_pm_ops = { |
555 | .freeze = appldata_freeze, | 555 | .freeze = appldata_freeze, |
556 | .thaw = appldata_thaw, | 556 | .thaw = appldata_thaw, |
557 | .restore = appldata_restore, | 557 | .restore = appldata_restore, |
diff --git a/arch/s390/include/asm/spinlock.h b/arch/s390/include/asm/spinlock.h index c9af0d19c7ab..a587907d77f3 100644 --- a/arch/s390/include/asm/spinlock.h +++ b/arch/s390/include/asm/spinlock.h | |||
@@ -52,27 +52,27 @@ _raw_compare_and_swap(volatile unsigned int *lock, | |||
52 | * (the type definitions are in asm/spinlock_types.h) | 52 | * (the type definitions are in asm/spinlock_types.h) |
53 | */ | 53 | */ |
54 | 54 | ||
55 | #define __raw_spin_is_locked(x) ((x)->owner_cpu != 0) | 55 | #define arch_spin_is_locked(x) ((x)->owner_cpu != 0) |
56 | #define __raw_spin_unlock_wait(lock) \ | 56 | #define arch_spin_unlock_wait(lock) \ |
57 | do { while (__raw_spin_is_locked(lock)) \ | 57 | do { while (arch_spin_is_locked(lock)) \ |
58 | _raw_spin_relax(lock); } while (0) | 58 | arch_spin_relax(lock); } while (0) |
59 | 59 | ||
60 | extern void _raw_spin_lock_wait(raw_spinlock_t *); | 60 | extern void arch_spin_lock_wait(arch_spinlock_t *); |
61 | extern void _raw_spin_lock_wait_flags(raw_spinlock_t *, unsigned long flags); | 61 | extern void arch_spin_lock_wait_flags(arch_spinlock_t *, unsigned long flags); |
62 | extern int _raw_spin_trylock_retry(raw_spinlock_t *); | 62 | extern int arch_spin_trylock_retry(arch_spinlock_t *); |
63 | extern void _raw_spin_relax(raw_spinlock_t *lock); | 63 | extern void arch_spin_relax(arch_spinlock_t *lock); |
64 | 64 | ||
65 | static inline void __raw_spin_lock(raw_spinlock_t *lp) | 65 | static inline void arch_spin_lock(arch_spinlock_t *lp) |
66 | { | 66 | { |
67 | int old; | 67 | int old; |
68 | 68 | ||
69 | old = _raw_compare_and_swap(&lp->owner_cpu, 0, ~smp_processor_id()); | 69 | old = _raw_compare_and_swap(&lp->owner_cpu, 0, ~smp_processor_id()); |
70 | if (likely(old == 0)) | 70 | if (likely(old == 0)) |
71 | return; | 71 | return; |
72 | _raw_spin_lock_wait(lp); | 72 | arch_spin_lock_wait(lp); |
73 | } | 73 | } |
74 | 74 | ||
75 | static inline void __raw_spin_lock_flags(raw_spinlock_t *lp, | 75 | static inline void arch_spin_lock_flags(arch_spinlock_t *lp, |
76 | unsigned long flags) | 76 | unsigned long flags) |
77 | { | 77 | { |
78 | int old; | 78 | int old; |
@@ -80,20 +80,20 @@ static inline void __raw_spin_lock_flags(raw_spinlock_t *lp, | |||
80 | old = _raw_compare_and_swap(&lp->owner_cpu, 0, ~smp_processor_id()); | 80 | old = _raw_compare_and_swap(&lp->owner_cpu, 0, ~smp_processor_id()); |
81 | if (likely(old == 0)) | 81 | if (likely(old == 0)) |
82 | return; | 82 | return; |
83 | _raw_spin_lock_wait_flags(lp, flags); | 83 | arch_spin_lock_wait_flags(lp, flags); |
84 | } | 84 | } |
85 | 85 | ||
86 | static inline int __raw_spin_trylock(raw_spinlock_t *lp) | 86 | static inline int arch_spin_trylock(arch_spinlock_t *lp) |
87 | { | 87 | { |
88 | int old; | 88 | int old; |
89 | 89 | ||
90 | old = _raw_compare_and_swap(&lp->owner_cpu, 0, ~smp_processor_id()); | 90 | old = _raw_compare_and_swap(&lp->owner_cpu, 0, ~smp_processor_id()); |
91 | if (likely(old == 0)) | 91 | if (likely(old == 0)) |
92 | return 1; | 92 | return 1; |
93 | return _raw_spin_trylock_retry(lp); | 93 | return arch_spin_trylock_retry(lp); |
94 | } | 94 | } |
95 | 95 | ||
96 | static inline void __raw_spin_unlock(raw_spinlock_t *lp) | 96 | static inline void arch_spin_unlock(arch_spinlock_t *lp) |
97 | { | 97 | { |
98 | _raw_compare_and_swap(&lp->owner_cpu, lp->owner_cpu, 0); | 98 | _raw_compare_and_swap(&lp->owner_cpu, lp->owner_cpu, 0); |
99 | } | 99 | } |
@@ -113,22 +113,22 @@ static inline void __raw_spin_unlock(raw_spinlock_t *lp) | |||
113 | * read_can_lock - would read_trylock() succeed? | 113 | * read_can_lock - would read_trylock() succeed? |
114 | * @lock: the rwlock in question. | 114 | * @lock: the rwlock in question. |
115 | */ | 115 | */ |
116 | #define __raw_read_can_lock(x) ((int)(x)->lock >= 0) | 116 | #define arch_read_can_lock(x) ((int)(x)->lock >= 0) |
117 | 117 | ||
118 | /** | 118 | /** |
119 | * write_can_lock - would write_trylock() succeed? | 119 | * write_can_lock - would write_trylock() succeed? |
120 | * @lock: the rwlock in question. | 120 | * @lock: the rwlock in question. |
121 | */ | 121 | */ |
122 | #define __raw_write_can_lock(x) ((x)->lock == 0) | 122 | #define arch_write_can_lock(x) ((x)->lock == 0) |
123 | 123 | ||
124 | extern void _raw_read_lock_wait(raw_rwlock_t *lp); | 124 | extern void _raw_read_lock_wait(arch_rwlock_t *lp); |
125 | extern void _raw_read_lock_wait_flags(raw_rwlock_t *lp, unsigned long flags); | 125 | extern void _raw_read_lock_wait_flags(arch_rwlock_t *lp, unsigned long flags); |
126 | extern int _raw_read_trylock_retry(raw_rwlock_t *lp); | 126 | extern int _raw_read_trylock_retry(arch_rwlock_t *lp); |
127 | extern void _raw_write_lock_wait(raw_rwlock_t *lp); | 127 | extern void _raw_write_lock_wait(arch_rwlock_t *lp); |
128 | extern void _raw_write_lock_wait_flags(raw_rwlock_t *lp, unsigned long flags); | 128 | extern void _raw_write_lock_wait_flags(arch_rwlock_t *lp, unsigned long flags); |
129 | extern int _raw_write_trylock_retry(raw_rwlock_t *lp); | 129 | extern int _raw_write_trylock_retry(arch_rwlock_t *lp); |
130 | 130 | ||
131 | static inline void __raw_read_lock(raw_rwlock_t *rw) | 131 | static inline void arch_read_lock(arch_rwlock_t *rw) |
132 | { | 132 | { |
133 | unsigned int old; | 133 | unsigned int old; |
134 | old = rw->lock & 0x7fffffffU; | 134 | old = rw->lock & 0x7fffffffU; |
@@ -136,7 +136,7 @@ static inline void __raw_read_lock(raw_rwlock_t *rw) | |||
136 | _raw_read_lock_wait(rw); | 136 | _raw_read_lock_wait(rw); |
137 | } | 137 | } |
138 | 138 | ||
139 | static inline void __raw_read_lock_flags(raw_rwlock_t *rw, unsigned long flags) | 139 | static inline void arch_read_lock_flags(arch_rwlock_t *rw, unsigned long flags) |
140 | { | 140 | { |
141 | unsigned int old; | 141 | unsigned int old; |
142 | old = rw->lock & 0x7fffffffU; | 142 | old = rw->lock & 0x7fffffffU; |
@@ -144,7 +144,7 @@ static inline void __raw_read_lock_flags(raw_rwlock_t *rw, unsigned long flags) | |||
144 | _raw_read_lock_wait_flags(rw, flags); | 144 | _raw_read_lock_wait_flags(rw, flags); |
145 | } | 145 | } |
146 | 146 | ||
147 | static inline void __raw_read_unlock(raw_rwlock_t *rw) | 147 | static inline void arch_read_unlock(arch_rwlock_t *rw) |
148 | { | 148 | { |
149 | unsigned int old, cmp; | 149 | unsigned int old, cmp; |
150 | 150 | ||
@@ -155,24 +155,24 @@ static inline void __raw_read_unlock(raw_rwlock_t *rw) | |||
155 | } while (cmp != old); | 155 | } while (cmp != old); |
156 | } | 156 | } |
157 | 157 | ||
158 | static inline void __raw_write_lock(raw_rwlock_t *rw) | 158 | static inline void arch_write_lock(arch_rwlock_t *rw) |
159 | { | 159 | { |
160 | if (unlikely(_raw_compare_and_swap(&rw->lock, 0, 0x80000000) != 0)) | 160 | if (unlikely(_raw_compare_and_swap(&rw->lock, 0, 0x80000000) != 0)) |
161 | _raw_write_lock_wait(rw); | 161 | _raw_write_lock_wait(rw); |
162 | } | 162 | } |
163 | 163 | ||
164 | static inline void __raw_write_lock_flags(raw_rwlock_t *rw, unsigned long flags) | 164 | static inline void arch_write_lock_flags(arch_rwlock_t *rw, unsigned long flags) |
165 | { | 165 | { |
166 | if (unlikely(_raw_compare_and_swap(&rw->lock, 0, 0x80000000) != 0)) | 166 | if (unlikely(_raw_compare_and_swap(&rw->lock, 0, 0x80000000) != 0)) |
167 | _raw_write_lock_wait_flags(rw, flags); | 167 | _raw_write_lock_wait_flags(rw, flags); |
168 | } | 168 | } |
169 | 169 | ||
170 | static inline void __raw_write_unlock(raw_rwlock_t *rw) | 170 | static inline void arch_write_unlock(arch_rwlock_t *rw) |
171 | { | 171 | { |
172 | _raw_compare_and_swap(&rw->lock, 0x80000000, 0); | 172 | _raw_compare_and_swap(&rw->lock, 0x80000000, 0); |
173 | } | 173 | } |
174 | 174 | ||
175 | static inline int __raw_read_trylock(raw_rwlock_t *rw) | 175 | static inline int arch_read_trylock(arch_rwlock_t *rw) |
176 | { | 176 | { |
177 | unsigned int old; | 177 | unsigned int old; |
178 | old = rw->lock & 0x7fffffffU; | 178 | old = rw->lock & 0x7fffffffU; |
@@ -181,14 +181,14 @@ static inline int __raw_read_trylock(raw_rwlock_t *rw) | |||
181 | return _raw_read_trylock_retry(rw); | 181 | return _raw_read_trylock_retry(rw); |
182 | } | 182 | } |
183 | 183 | ||
184 | static inline int __raw_write_trylock(raw_rwlock_t *rw) | 184 | static inline int arch_write_trylock(arch_rwlock_t *rw) |
185 | { | 185 | { |
186 | if (likely(_raw_compare_and_swap(&rw->lock, 0, 0x80000000) == 0)) | 186 | if (likely(_raw_compare_and_swap(&rw->lock, 0, 0x80000000) == 0)) |
187 | return 1; | 187 | return 1; |
188 | return _raw_write_trylock_retry(rw); | 188 | return _raw_write_trylock_retry(rw); |
189 | } | 189 | } |
190 | 190 | ||
191 | #define _raw_read_relax(lock) cpu_relax() | 191 | #define arch_read_relax(lock) cpu_relax() |
192 | #define _raw_write_relax(lock) cpu_relax() | 192 | #define arch_write_relax(lock) cpu_relax() |
193 | 193 | ||
194 | #endif /* __ASM_SPINLOCK_H */ | 194 | #endif /* __ASM_SPINLOCK_H */ |
diff --git a/arch/s390/include/asm/spinlock_types.h b/arch/s390/include/asm/spinlock_types.h index 654abc40de04..9c76656a0af0 100644 --- a/arch/s390/include/asm/spinlock_types.h +++ b/arch/s390/include/asm/spinlock_types.h | |||
@@ -7,14 +7,14 @@ | |||
7 | 7 | ||
8 | typedef struct { | 8 | typedef struct { |
9 | volatile unsigned int owner_cpu; | 9 | volatile unsigned int owner_cpu; |
10 | } __attribute__ ((aligned (4))) raw_spinlock_t; | 10 | } __attribute__ ((aligned (4))) arch_spinlock_t; |
11 | 11 | ||
12 | #define __RAW_SPIN_LOCK_UNLOCKED { 0 } | 12 | #define __ARCH_SPIN_LOCK_UNLOCKED { 0 } |
13 | 13 | ||
14 | typedef struct { | 14 | typedef struct { |
15 | volatile unsigned int lock; | 15 | volatile unsigned int lock; |
16 | } raw_rwlock_t; | 16 | } arch_rwlock_t; |
17 | 17 | ||
18 | #define __RAW_RW_LOCK_UNLOCKED { 0 } | 18 | #define __ARCH_RW_LOCK_UNLOCKED { 0 } |
19 | 19 | ||
20 | #endif | 20 | #endif |
diff --git a/arch/s390/kernel/debug.c b/arch/s390/kernel/debug.c index 071c81f179ef..0168472b2fdf 100644 --- a/arch/s390/kernel/debug.c +++ b/arch/s390/kernel/debug.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/errno.h> | 18 | #include <linux/errno.h> |
19 | #include <linux/slab.h> | 19 | #include <linux/slab.h> |
20 | #include <linux/ctype.h> | 20 | #include <linux/ctype.h> |
21 | #include <linux/string.h> | ||
21 | #include <linux/sysctl.h> | 22 | #include <linux/sysctl.h> |
22 | #include <asm/uaccess.h> | 23 | #include <asm/uaccess.h> |
23 | #include <linux/module.h> | 24 | #include <linux/module.h> |
@@ -1178,7 +1179,7 @@ debug_get_uint(char *buf) | |||
1178 | { | 1179 | { |
1179 | int rc; | 1180 | int rc; |
1180 | 1181 | ||
1181 | for(; isspace(*buf); buf++); | 1182 | buf = skip_spaces(buf); |
1182 | rc = simple_strtoul(buf, &buf, 10); | 1183 | rc = simple_strtoul(buf, &buf, 10); |
1183 | if(*buf){ | 1184 | if(*buf){ |
1184 | rc = -EINVAL; | 1185 | rc = -EINVAL; |
diff --git a/arch/s390/lib/spinlock.c b/arch/s390/lib/spinlock.c index f7e0d30250b7..10754a375668 100644 --- a/arch/s390/lib/spinlock.c +++ b/arch/s390/lib/spinlock.c | |||
@@ -39,7 +39,7 @@ static inline void _raw_yield_cpu(int cpu) | |||
39 | _raw_yield(); | 39 | _raw_yield(); |
40 | } | 40 | } |
41 | 41 | ||
42 | void _raw_spin_lock_wait(raw_spinlock_t *lp) | 42 | void arch_spin_lock_wait(arch_spinlock_t *lp) |
43 | { | 43 | { |
44 | int count = spin_retry; | 44 | int count = spin_retry; |
45 | unsigned int cpu = ~smp_processor_id(); | 45 | unsigned int cpu = ~smp_processor_id(); |
@@ -51,15 +51,15 @@ void _raw_spin_lock_wait(raw_spinlock_t *lp) | |||
51 | _raw_yield_cpu(~owner); | 51 | _raw_yield_cpu(~owner); |
52 | count = spin_retry; | 52 | count = spin_retry; |
53 | } | 53 | } |
54 | if (__raw_spin_is_locked(lp)) | 54 | if (arch_spin_is_locked(lp)) |
55 | continue; | 55 | continue; |
56 | if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0) | 56 | if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0) |
57 | return; | 57 | return; |
58 | } | 58 | } |
59 | } | 59 | } |
60 | EXPORT_SYMBOL(_raw_spin_lock_wait); | 60 | EXPORT_SYMBOL(arch_spin_lock_wait); |
61 | 61 | ||
62 | void _raw_spin_lock_wait_flags(raw_spinlock_t *lp, unsigned long flags) | 62 | void arch_spin_lock_wait_flags(arch_spinlock_t *lp, unsigned long flags) |
63 | { | 63 | { |
64 | int count = spin_retry; | 64 | int count = spin_retry; |
65 | unsigned int cpu = ~smp_processor_id(); | 65 | unsigned int cpu = ~smp_processor_id(); |
@@ -72,7 +72,7 @@ void _raw_spin_lock_wait_flags(raw_spinlock_t *lp, unsigned long flags) | |||
72 | _raw_yield_cpu(~owner); | 72 | _raw_yield_cpu(~owner); |
73 | count = spin_retry; | 73 | count = spin_retry; |
74 | } | 74 | } |
75 | if (__raw_spin_is_locked(lp)) | 75 | if (arch_spin_is_locked(lp)) |
76 | continue; | 76 | continue; |
77 | local_irq_disable(); | 77 | local_irq_disable(); |
78 | if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0) | 78 | if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0) |
@@ -80,32 +80,32 @@ void _raw_spin_lock_wait_flags(raw_spinlock_t *lp, unsigned long flags) | |||
80 | local_irq_restore(flags); | 80 | local_irq_restore(flags); |
81 | } | 81 | } |
82 | } | 82 | } |
83 | EXPORT_SYMBOL(_raw_spin_lock_wait_flags); | 83 | EXPORT_SYMBOL(arch_spin_lock_wait_flags); |
84 | 84 | ||
85 | int _raw_spin_trylock_retry(raw_spinlock_t *lp) | 85 | int arch_spin_trylock_retry(arch_spinlock_t *lp) |
86 | { | 86 | { |
87 | unsigned int cpu = ~smp_processor_id(); | 87 | unsigned int cpu = ~smp_processor_id(); |
88 | int count; | 88 | int count; |
89 | 89 | ||
90 | for (count = spin_retry; count > 0; count--) { | 90 | for (count = spin_retry; count > 0; count--) { |
91 | if (__raw_spin_is_locked(lp)) | 91 | if (arch_spin_is_locked(lp)) |
92 | continue; | 92 | continue; |
93 | if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0) | 93 | if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0) |
94 | return 1; | 94 | return 1; |
95 | } | 95 | } |
96 | return 0; | 96 | return 0; |
97 | } | 97 | } |
98 | EXPORT_SYMBOL(_raw_spin_trylock_retry); | 98 | EXPORT_SYMBOL(arch_spin_trylock_retry); |
99 | 99 | ||
100 | void _raw_spin_relax(raw_spinlock_t *lock) | 100 | void arch_spin_relax(arch_spinlock_t *lock) |
101 | { | 101 | { |
102 | unsigned int cpu = lock->owner_cpu; | 102 | unsigned int cpu = lock->owner_cpu; |
103 | if (cpu != 0) | 103 | if (cpu != 0) |
104 | _raw_yield_cpu(~cpu); | 104 | _raw_yield_cpu(~cpu); |
105 | } | 105 | } |
106 | EXPORT_SYMBOL(_raw_spin_relax); | 106 | EXPORT_SYMBOL(arch_spin_relax); |
107 | 107 | ||
108 | void _raw_read_lock_wait(raw_rwlock_t *rw) | 108 | void _raw_read_lock_wait(arch_rwlock_t *rw) |
109 | { | 109 | { |
110 | unsigned int old; | 110 | unsigned int old; |
111 | int count = spin_retry; | 111 | int count = spin_retry; |
@@ -115,7 +115,7 @@ void _raw_read_lock_wait(raw_rwlock_t *rw) | |||
115 | _raw_yield(); | 115 | _raw_yield(); |
116 | count = spin_retry; | 116 | count = spin_retry; |
117 | } | 117 | } |
118 | if (!__raw_read_can_lock(rw)) | 118 | if (!arch_read_can_lock(rw)) |
119 | continue; | 119 | continue; |
120 | old = rw->lock & 0x7fffffffU; | 120 | old = rw->lock & 0x7fffffffU; |
121 | if (_raw_compare_and_swap(&rw->lock, old, old + 1) == old) | 121 | if (_raw_compare_and_swap(&rw->lock, old, old + 1) == old) |
@@ -124,7 +124,7 @@ void _raw_read_lock_wait(raw_rwlock_t *rw) | |||
124 | } | 124 | } |
125 | EXPORT_SYMBOL(_raw_read_lock_wait); | 125 | EXPORT_SYMBOL(_raw_read_lock_wait); |
126 | 126 | ||
127 | void _raw_read_lock_wait_flags(raw_rwlock_t *rw, unsigned long flags) | 127 | void _raw_read_lock_wait_flags(arch_rwlock_t *rw, unsigned long flags) |
128 | { | 128 | { |
129 | unsigned int old; | 129 | unsigned int old; |
130 | int count = spin_retry; | 130 | int count = spin_retry; |
@@ -135,7 +135,7 @@ void _raw_read_lock_wait_flags(raw_rwlock_t *rw, unsigned long flags) | |||
135 | _raw_yield(); | 135 | _raw_yield(); |
136 | count = spin_retry; | 136 | count = spin_retry; |
137 | } | 137 | } |
138 | if (!__raw_read_can_lock(rw)) | 138 | if (!arch_read_can_lock(rw)) |
139 | continue; | 139 | continue; |
140 | old = rw->lock & 0x7fffffffU; | 140 | old = rw->lock & 0x7fffffffU; |
141 | local_irq_disable(); | 141 | local_irq_disable(); |
@@ -145,13 +145,13 @@ void _raw_read_lock_wait_flags(raw_rwlock_t *rw, unsigned long flags) | |||
145 | } | 145 | } |
146 | EXPORT_SYMBOL(_raw_read_lock_wait_flags); | 146 | EXPORT_SYMBOL(_raw_read_lock_wait_flags); |
147 | 147 | ||
148 | int _raw_read_trylock_retry(raw_rwlock_t *rw) | 148 | int _raw_read_trylock_retry(arch_rwlock_t *rw) |
149 | { | 149 | { |
150 | unsigned int old; | 150 | unsigned int old; |
151 | int count = spin_retry; | 151 | int count = spin_retry; |
152 | 152 | ||
153 | while (count-- > 0) { | 153 | while (count-- > 0) { |
154 | if (!__raw_read_can_lock(rw)) | 154 | if (!arch_read_can_lock(rw)) |
155 | continue; | 155 | continue; |
156 | old = rw->lock & 0x7fffffffU; | 156 | old = rw->lock & 0x7fffffffU; |
157 | if (_raw_compare_and_swap(&rw->lock, old, old + 1) == old) | 157 | if (_raw_compare_and_swap(&rw->lock, old, old + 1) == old) |
@@ -161,7 +161,7 @@ int _raw_read_trylock_retry(raw_rwlock_t *rw) | |||
161 | } | 161 | } |
162 | EXPORT_SYMBOL(_raw_read_trylock_retry); | 162 | EXPORT_SYMBOL(_raw_read_trylock_retry); |
163 | 163 | ||
164 | void _raw_write_lock_wait(raw_rwlock_t *rw) | 164 | void _raw_write_lock_wait(arch_rwlock_t *rw) |
165 | { | 165 | { |
166 | int count = spin_retry; | 166 | int count = spin_retry; |
167 | 167 | ||
@@ -170,7 +170,7 @@ void _raw_write_lock_wait(raw_rwlock_t *rw) | |||
170 | _raw_yield(); | 170 | _raw_yield(); |
171 | count = spin_retry; | 171 | count = spin_retry; |
172 | } | 172 | } |
173 | if (!__raw_write_can_lock(rw)) | 173 | if (!arch_write_can_lock(rw)) |
174 | continue; | 174 | continue; |
175 | if (_raw_compare_and_swap(&rw->lock, 0, 0x80000000) == 0) | 175 | if (_raw_compare_and_swap(&rw->lock, 0, 0x80000000) == 0) |
176 | return; | 176 | return; |
@@ -178,7 +178,7 @@ void _raw_write_lock_wait(raw_rwlock_t *rw) | |||
178 | } | 178 | } |
179 | EXPORT_SYMBOL(_raw_write_lock_wait); | 179 | EXPORT_SYMBOL(_raw_write_lock_wait); |
180 | 180 | ||
181 | void _raw_write_lock_wait_flags(raw_rwlock_t *rw, unsigned long flags) | 181 | void _raw_write_lock_wait_flags(arch_rwlock_t *rw, unsigned long flags) |
182 | { | 182 | { |
183 | int count = spin_retry; | 183 | int count = spin_retry; |
184 | 184 | ||
@@ -188,7 +188,7 @@ void _raw_write_lock_wait_flags(raw_rwlock_t *rw, unsigned long flags) | |||
188 | _raw_yield(); | 188 | _raw_yield(); |
189 | count = spin_retry; | 189 | count = spin_retry; |
190 | } | 190 | } |
191 | if (!__raw_write_can_lock(rw)) | 191 | if (!arch_write_can_lock(rw)) |
192 | continue; | 192 | continue; |
193 | local_irq_disable(); | 193 | local_irq_disable(); |
194 | if (_raw_compare_and_swap(&rw->lock, 0, 0x80000000) == 0) | 194 | if (_raw_compare_and_swap(&rw->lock, 0, 0x80000000) == 0) |
@@ -197,12 +197,12 @@ void _raw_write_lock_wait_flags(raw_rwlock_t *rw, unsigned long flags) | |||
197 | } | 197 | } |
198 | EXPORT_SYMBOL(_raw_write_lock_wait_flags); | 198 | EXPORT_SYMBOL(_raw_write_lock_wait_flags); |
199 | 199 | ||
200 | int _raw_write_trylock_retry(raw_rwlock_t *rw) | 200 | int _raw_write_trylock_retry(arch_rwlock_t *rw) |
201 | { | 201 | { |
202 | int count = spin_retry; | 202 | int count = spin_retry; |
203 | 203 | ||
204 | while (count-- > 0) { | 204 | while (count-- > 0) { |
205 | if (!__raw_write_can_lock(rw)) | 205 | if (!arch_write_can_lock(rw)) |
206 | continue; | 206 | continue; |
207 | if (_raw_compare_and_swap(&rw->lock, 0, 0x80000000) == 0) | 207 | if (_raw_compare_and_swap(&rw->lock, 0, 0x80000000) == 0) |
208 | return 1; | 208 | return 1; |
diff --git a/arch/sh/include/asm/spinlock.h b/arch/sh/include/asm/spinlock.h index a28c9f0053fd..bdc0f3b6c56a 100644 --- a/arch/sh/include/asm/spinlock.h +++ b/arch/sh/include/asm/spinlock.h | |||
@@ -23,10 +23,10 @@ | |||
23 | * Your basic SMP spinlocks, allowing only a single CPU anywhere | 23 | * Your basic SMP spinlocks, allowing only a single CPU anywhere |
24 | */ | 24 | */ |
25 | 25 | ||
26 | #define __raw_spin_is_locked(x) ((x)->lock <= 0) | 26 | #define arch_spin_is_locked(x) ((x)->lock <= 0) |
27 | #define __raw_spin_lock_flags(lock, flags) __raw_spin_lock(lock) | 27 | #define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock) |
28 | #define __raw_spin_unlock_wait(x) \ | 28 | #define arch_spin_unlock_wait(x) \ |
29 | do { while (__raw_spin_is_locked(x)) cpu_relax(); } while (0) | 29 | do { while (arch_spin_is_locked(x)) cpu_relax(); } while (0) |
30 | 30 | ||
31 | /* | 31 | /* |
32 | * Simple spin lock operations. There are two variants, one clears IRQ's | 32 | * Simple spin lock operations. There are two variants, one clears IRQ's |
@@ -34,14 +34,14 @@ | |||
34 | * | 34 | * |
35 | * We make no fairness assumptions. They have a cost. | 35 | * We make no fairness assumptions. They have a cost. |
36 | */ | 36 | */ |
37 | static inline void __raw_spin_lock(raw_spinlock_t *lock) | 37 | static inline void arch_spin_lock(arch_spinlock_t *lock) |
38 | { | 38 | { |
39 | unsigned long tmp; | 39 | unsigned long tmp; |
40 | unsigned long oldval; | 40 | unsigned long oldval; |
41 | 41 | ||
42 | __asm__ __volatile__ ( | 42 | __asm__ __volatile__ ( |
43 | "1: \n\t" | 43 | "1: \n\t" |
44 | "movli.l @%2, %0 ! __raw_spin_lock \n\t" | 44 | "movli.l @%2, %0 ! arch_spin_lock \n\t" |
45 | "mov %0, %1 \n\t" | 45 | "mov %0, %1 \n\t" |
46 | "mov #0, %0 \n\t" | 46 | "mov #0, %0 \n\t" |
47 | "movco.l %0, @%2 \n\t" | 47 | "movco.l %0, @%2 \n\t" |
@@ -54,12 +54,12 @@ static inline void __raw_spin_lock(raw_spinlock_t *lock) | |||
54 | ); | 54 | ); |
55 | } | 55 | } |
56 | 56 | ||
57 | static inline void __raw_spin_unlock(raw_spinlock_t *lock) | 57 | static inline void arch_spin_unlock(arch_spinlock_t *lock) |
58 | { | 58 | { |
59 | unsigned long tmp; | 59 | unsigned long tmp; |
60 | 60 | ||
61 | __asm__ __volatile__ ( | 61 | __asm__ __volatile__ ( |
62 | "mov #1, %0 ! __raw_spin_unlock \n\t" | 62 | "mov #1, %0 ! arch_spin_unlock \n\t" |
63 | "mov.l %0, @%1 \n\t" | 63 | "mov.l %0, @%1 \n\t" |
64 | : "=&z" (tmp) | 64 | : "=&z" (tmp) |
65 | : "r" (&lock->lock) | 65 | : "r" (&lock->lock) |
@@ -67,13 +67,13 @@ static inline void __raw_spin_unlock(raw_spinlock_t *lock) | |||
67 | ); | 67 | ); |
68 | } | 68 | } |
69 | 69 | ||
70 | static inline int __raw_spin_trylock(raw_spinlock_t *lock) | 70 | static inline int arch_spin_trylock(arch_spinlock_t *lock) |
71 | { | 71 | { |
72 | unsigned long tmp, oldval; | 72 | unsigned long tmp, oldval; |
73 | 73 | ||
74 | __asm__ __volatile__ ( | 74 | __asm__ __volatile__ ( |
75 | "1: \n\t" | 75 | "1: \n\t" |
76 | "movli.l @%2, %0 ! __raw_spin_trylock \n\t" | 76 | "movli.l @%2, %0 ! arch_spin_trylock \n\t" |
77 | "mov %0, %1 \n\t" | 77 | "mov %0, %1 \n\t" |
78 | "mov #0, %0 \n\t" | 78 | "mov #0, %0 \n\t" |
79 | "movco.l %0, @%2 \n\t" | 79 | "movco.l %0, @%2 \n\t" |
@@ -100,21 +100,21 @@ static inline int __raw_spin_trylock(raw_spinlock_t *lock) | |||
100 | * read_can_lock - would read_trylock() succeed? | 100 | * read_can_lock - would read_trylock() succeed? |
101 | * @lock: the rwlock in question. | 101 | * @lock: the rwlock in question. |
102 | */ | 102 | */ |
103 | #define __raw_read_can_lock(x) ((x)->lock > 0) | 103 | #define arch_read_can_lock(x) ((x)->lock > 0) |
104 | 104 | ||
105 | /** | 105 | /** |
106 | * write_can_lock - would write_trylock() succeed? | 106 | * write_can_lock - would write_trylock() succeed? |
107 | * @lock: the rwlock in question. | 107 | * @lock: the rwlock in question. |
108 | */ | 108 | */ |
109 | #define __raw_write_can_lock(x) ((x)->lock == RW_LOCK_BIAS) | 109 | #define arch_write_can_lock(x) ((x)->lock == RW_LOCK_BIAS) |
110 | 110 | ||
111 | static inline void __raw_read_lock(raw_rwlock_t *rw) | 111 | static inline void arch_read_lock(arch_rwlock_t *rw) |
112 | { | 112 | { |
113 | unsigned long tmp; | 113 | unsigned long tmp; |
114 | 114 | ||
115 | __asm__ __volatile__ ( | 115 | __asm__ __volatile__ ( |
116 | "1: \n\t" | 116 | "1: \n\t" |
117 | "movli.l @%1, %0 ! __raw_read_lock \n\t" | 117 | "movli.l @%1, %0 ! arch_read_lock \n\t" |
118 | "cmp/pl %0 \n\t" | 118 | "cmp/pl %0 \n\t" |
119 | "bf 1b \n\t" | 119 | "bf 1b \n\t" |
120 | "add #-1, %0 \n\t" | 120 | "add #-1, %0 \n\t" |
@@ -126,13 +126,13 @@ static inline void __raw_read_lock(raw_rwlock_t *rw) | |||
126 | ); | 126 | ); |
127 | } | 127 | } |
128 | 128 | ||
129 | static inline void __raw_read_unlock(raw_rwlock_t *rw) | 129 | static inline void arch_read_unlock(arch_rwlock_t *rw) |
130 | { | 130 | { |
131 | unsigned long tmp; | 131 | unsigned long tmp; |
132 | 132 | ||
133 | __asm__ __volatile__ ( | 133 | __asm__ __volatile__ ( |
134 | "1: \n\t" | 134 | "1: \n\t" |
135 | "movli.l @%1, %0 ! __raw_read_unlock \n\t" | 135 | "movli.l @%1, %0 ! arch_read_unlock \n\t" |
136 | "add #1, %0 \n\t" | 136 | "add #1, %0 \n\t" |
137 | "movco.l %0, @%1 \n\t" | 137 | "movco.l %0, @%1 \n\t" |
138 | "bf 1b \n\t" | 138 | "bf 1b \n\t" |
@@ -142,13 +142,13 @@ static inline void __raw_read_unlock(raw_rwlock_t *rw) | |||
142 | ); | 142 | ); |
143 | } | 143 | } |
144 | 144 | ||
145 | static inline void __raw_write_lock(raw_rwlock_t *rw) | 145 | static inline void arch_write_lock(arch_rwlock_t *rw) |
146 | { | 146 | { |
147 | unsigned long tmp; | 147 | unsigned long tmp; |
148 | 148 | ||
149 | __asm__ __volatile__ ( | 149 | __asm__ __volatile__ ( |
150 | "1: \n\t" | 150 | "1: \n\t" |
151 | "movli.l @%1, %0 ! __raw_write_lock \n\t" | 151 | "movli.l @%1, %0 ! arch_write_lock \n\t" |
152 | "cmp/hs %2, %0 \n\t" | 152 | "cmp/hs %2, %0 \n\t" |
153 | "bf 1b \n\t" | 153 | "bf 1b \n\t" |
154 | "sub %2, %0 \n\t" | 154 | "sub %2, %0 \n\t" |
@@ -160,23 +160,23 @@ static inline void __raw_write_lock(raw_rwlock_t *rw) | |||
160 | ); | 160 | ); |
161 | } | 161 | } |
162 | 162 | ||
163 | static inline void __raw_write_unlock(raw_rwlock_t *rw) | 163 | static inline void arch_write_unlock(arch_rwlock_t *rw) |
164 | { | 164 | { |
165 | __asm__ __volatile__ ( | 165 | __asm__ __volatile__ ( |
166 | "mov.l %1, @%0 ! __raw_write_unlock \n\t" | 166 | "mov.l %1, @%0 ! arch_write_unlock \n\t" |
167 | : | 167 | : |
168 | : "r" (&rw->lock), "r" (RW_LOCK_BIAS) | 168 | : "r" (&rw->lock), "r" (RW_LOCK_BIAS) |
169 | : "t", "memory" | 169 | : "t", "memory" |
170 | ); | 170 | ); |
171 | } | 171 | } |
172 | 172 | ||
173 | static inline int __raw_read_trylock(raw_rwlock_t *rw) | 173 | static inline int arch_read_trylock(arch_rwlock_t *rw) |
174 | { | 174 | { |
175 | unsigned long tmp, oldval; | 175 | unsigned long tmp, oldval; |
176 | 176 | ||
177 | __asm__ __volatile__ ( | 177 | __asm__ __volatile__ ( |
178 | "1: \n\t" | 178 | "1: \n\t" |
179 | "movli.l @%2, %0 ! __raw_read_trylock \n\t" | 179 | "movli.l @%2, %0 ! arch_read_trylock \n\t" |
180 | "mov %0, %1 \n\t" | 180 | "mov %0, %1 \n\t" |
181 | "cmp/pl %0 \n\t" | 181 | "cmp/pl %0 \n\t" |
182 | "bf 2f \n\t" | 182 | "bf 2f \n\t" |
@@ -193,13 +193,13 @@ static inline int __raw_read_trylock(raw_rwlock_t *rw) | |||
193 | return (oldval > 0); | 193 | return (oldval > 0); |
194 | } | 194 | } |
195 | 195 | ||
196 | static inline int __raw_write_trylock(raw_rwlock_t *rw) | 196 | static inline int arch_write_trylock(arch_rwlock_t *rw) |
197 | { | 197 | { |
198 | unsigned long tmp, oldval; | 198 | unsigned long tmp, oldval; |
199 | 199 | ||
200 | __asm__ __volatile__ ( | 200 | __asm__ __volatile__ ( |
201 | "1: \n\t" | 201 | "1: \n\t" |
202 | "movli.l @%2, %0 ! __raw_write_trylock \n\t" | 202 | "movli.l @%2, %0 ! arch_write_trylock \n\t" |
203 | "mov %0, %1 \n\t" | 203 | "mov %0, %1 \n\t" |
204 | "cmp/hs %3, %0 \n\t" | 204 | "cmp/hs %3, %0 \n\t" |
205 | "bf 2f \n\t" | 205 | "bf 2f \n\t" |
@@ -216,11 +216,11 @@ static inline int __raw_write_trylock(raw_rwlock_t *rw) | |||
216 | return (oldval > (RW_LOCK_BIAS - 1)); | 216 | return (oldval > (RW_LOCK_BIAS - 1)); |
217 | } | 217 | } |
218 | 218 | ||
219 | #define __raw_read_lock_flags(lock, flags) __raw_read_lock(lock) | 219 | #define arch_read_lock_flags(lock, flags) arch_read_lock(lock) |
220 | #define __raw_write_lock_flags(lock, flags) __raw_write_lock(lock) | 220 | #define arch_write_lock_flags(lock, flags) arch_write_lock(lock) |
221 | 221 | ||
222 | #define _raw_spin_relax(lock) cpu_relax() | 222 | #define arch_spin_relax(lock) cpu_relax() |
223 | #define _raw_read_relax(lock) cpu_relax() | 223 | #define arch_read_relax(lock) cpu_relax() |
224 | #define _raw_write_relax(lock) cpu_relax() | 224 | #define arch_write_relax(lock) cpu_relax() |
225 | 225 | ||
226 | #endif /* __ASM_SH_SPINLOCK_H */ | 226 | #endif /* __ASM_SH_SPINLOCK_H */ |
diff --git a/arch/sh/include/asm/spinlock_types.h b/arch/sh/include/asm/spinlock_types.h index b4d244e7b60c..9b7560db06ca 100644 --- a/arch/sh/include/asm/spinlock_types.h +++ b/arch/sh/include/asm/spinlock_types.h | |||
@@ -7,15 +7,15 @@ | |||
7 | 7 | ||
8 | typedef struct { | 8 | typedef struct { |
9 | volatile unsigned int lock; | 9 | volatile unsigned int lock; |
10 | } raw_spinlock_t; | 10 | } arch_spinlock_t; |
11 | 11 | ||
12 | #define __RAW_SPIN_LOCK_UNLOCKED { 1 } | 12 | #define __ARCH_SPIN_LOCK_UNLOCKED { 1 } |
13 | 13 | ||
14 | typedef struct { | 14 | typedef struct { |
15 | volatile unsigned int lock; | 15 | volatile unsigned int lock; |
16 | } raw_rwlock_t; | 16 | } arch_rwlock_t; |
17 | 17 | ||
18 | #define RW_LOCK_BIAS 0x01000000 | 18 | #define RW_LOCK_BIAS 0x01000000 |
19 | #define __RAW_RW_LOCK_UNLOCKED { RW_LOCK_BIAS } | 19 | #define __ARCH_RW_LOCK_UNLOCKED { RW_LOCK_BIAS } |
20 | 20 | ||
21 | #endif | 21 | #endif |
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c index e1913f28f418..d2d41d046657 100644 --- a/arch/sh/kernel/irq.c +++ b/arch/sh/kernel/irq.c | |||
@@ -76,7 +76,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
76 | if (!desc) | 76 | if (!desc) |
77 | return 0; | 77 | return 0; |
78 | 78 | ||
79 | spin_lock_irqsave(&desc->lock, flags); | 79 | raw_spin_lock_irqsave(&desc->lock, flags); |
80 | for_each_online_cpu(j) | 80 | for_each_online_cpu(j) |
81 | any_count |= kstat_irqs_cpu(i, j); | 81 | any_count |= kstat_irqs_cpu(i, j); |
82 | action = desc->action; | 82 | action = desc->action; |
@@ -97,7 +97,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
97 | 97 | ||
98 | seq_putc(p, '\n'); | 98 | seq_putc(p, '\n'); |
99 | out: | 99 | out: |
100 | spin_unlock_irqrestore(&desc->lock, flags); | 100 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
101 | return 0; | 101 | return 0; |
102 | } | 102 | } |
103 | #endif | 103 | #endif |
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 33ac1a9ac881..108197ac0d56 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
@@ -43,6 +43,7 @@ config SPARC64 | |||
43 | select HAVE_SYSCALL_WRAPPERS | 43 | select HAVE_SYSCALL_WRAPPERS |
44 | select HAVE_DYNAMIC_FTRACE | 44 | select HAVE_DYNAMIC_FTRACE |
45 | select HAVE_FTRACE_MCOUNT_RECORD | 45 | select HAVE_FTRACE_MCOUNT_RECORD |
46 | select HAVE_SYSCALL_TRACEPOINTS | ||
46 | select USE_GENERIC_SMP_HELPERS if SMP | 47 | select USE_GENERIC_SMP_HELPERS if SMP |
47 | select RTC_DRV_CMOS | 48 | select RTC_DRV_CMOS |
48 | select RTC_DRV_BQ4802 | 49 | select RTC_DRV_BQ4802 |
diff --git a/arch/sparc/Kconfig.debug b/arch/sparc/Kconfig.debug index 90d5fe223a74..9d3c889718ac 100644 --- a/arch/sparc/Kconfig.debug +++ b/arch/sparc/Kconfig.debug | |||
@@ -33,4 +33,18 @@ config FRAME_POINTER | |||
33 | depends on MCOUNT | 33 | depends on MCOUNT |
34 | default y | 34 | default y |
35 | 35 | ||
36 | config DEBUG_STRICT_USER_COPY_CHECKS | ||
37 | bool "Strict copy size checks" | ||
38 | depends on DEBUG_KERNEL && !TRACE_BRANCH_PROFILING | ||
39 | ---help--- | ||
40 | Enabling this option turns a certain set of sanity checks for user | ||
41 | copy operations into compile time failures. | ||
42 | |||
43 | The copy_from_user() etc checks are there to help test if there | ||
44 | are sufficient security checks on the length argument of | ||
45 | the copy operation, by having gcc prove that the argument is | ||
46 | within bounds. | ||
47 | |||
48 | If unsure, or if you run an older (pre 4.4) gcc, say N. | ||
49 | |||
36 | endmenu | 50 | endmenu |
diff --git a/arch/sparc/include/asm/spinlock_32.h b/arch/sparc/include/asm/spinlock_32.h index 857630cff636..7f9b9dba38a6 100644 --- a/arch/sparc/include/asm/spinlock_32.h +++ b/arch/sparc/include/asm/spinlock_32.h | |||
@@ -10,12 +10,12 @@ | |||
10 | 10 | ||
11 | #include <asm/psr.h> | 11 | #include <asm/psr.h> |
12 | 12 | ||
13 | #define __raw_spin_is_locked(lock) (*((volatile unsigned char *)(lock)) != 0) | 13 | #define arch_spin_is_locked(lock) (*((volatile unsigned char *)(lock)) != 0) |
14 | 14 | ||
15 | #define __raw_spin_unlock_wait(lock) \ | 15 | #define arch_spin_unlock_wait(lock) \ |
16 | do { while (__raw_spin_is_locked(lock)) cpu_relax(); } while (0) | 16 | do { while (arch_spin_is_locked(lock)) cpu_relax(); } while (0) |
17 | 17 | ||
18 | static inline void __raw_spin_lock(raw_spinlock_t *lock) | 18 | static inline void arch_spin_lock(arch_spinlock_t *lock) |
19 | { | 19 | { |
20 | __asm__ __volatile__( | 20 | __asm__ __volatile__( |
21 | "\n1:\n\t" | 21 | "\n1:\n\t" |
@@ -35,7 +35,7 @@ static inline void __raw_spin_lock(raw_spinlock_t *lock) | |||
35 | : "g2", "memory", "cc"); | 35 | : "g2", "memory", "cc"); |
36 | } | 36 | } |
37 | 37 | ||
38 | static inline int __raw_spin_trylock(raw_spinlock_t *lock) | 38 | static inline int arch_spin_trylock(arch_spinlock_t *lock) |
39 | { | 39 | { |
40 | unsigned int result; | 40 | unsigned int result; |
41 | __asm__ __volatile__("ldstub [%1], %0" | 41 | __asm__ __volatile__("ldstub [%1], %0" |
@@ -45,7 +45,7 @@ static inline int __raw_spin_trylock(raw_spinlock_t *lock) | |||
45 | return (result == 0); | 45 | return (result == 0); |
46 | } | 46 | } |
47 | 47 | ||
48 | static inline void __raw_spin_unlock(raw_spinlock_t *lock) | 48 | static inline void arch_spin_unlock(arch_spinlock_t *lock) |
49 | { | 49 | { |
50 | __asm__ __volatile__("stb %%g0, [%0]" : : "r" (lock) : "memory"); | 50 | __asm__ __volatile__("stb %%g0, [%0]" : : "r" (lock) : "memory"); |
51 | } | 51 | } |
@@ -65,7 +65,7 @@ static inline void __raw_spin_unlock(raw_spinlock_t *lock) | |||
65 | * Sort of like atomic_t's on Sparc, but even more clever. | 65 | * Sort of like atomic_t's on Sparc, but even more clever. |
66 | * | 66 | * |
67 | * ------------------------------------ | 67 | * ------------------------------------ |
68 | * | 24-bit counter | wlock | raw_rwlock_t | 68 | * | 24-bit counter | wlock | arch_rwlock_t |
69 | * ------------------------------------ | 69 | * ------------------------------------ |
70 | * 31 8 7 0 | 70 | * 31 8 7 0 |
71 | * | 71 | * |
@@ -76,9 +76,9 @@ static inline void __raw_spin_unlock(raw_spinlock_t *lock) | |||
76 | * | 76 | * |
77 | * Unfortunately this scheme limits us to ~16,000,000 cpus. | 77 | * Unfortunately this scheme limits us to ~16,000,000 cpus. |
78 | */ | 78 | */ |
79 | static inline void arch_read_lock(raw_rwlock_t *rw) | 79 | static inline void __arch_read_lock(arch_rwlock_t *rw) |
80 | { | 80 | { |
81 | register raw_rwlock_t *lp asm("g1"); | 81 | register arch_rwlock_t *lp asm("g1"); |
82 | lp = rw; | 82 | lp = rw; |
83 | __asm__ __volatile__( | 83 | __asm__ __volatile__( |
84 | "mov %%o7, %%g4\n\t" | 84 | "mov %%o7, %%g4\n\t" |
@@ -89,16 +89,16 @@ static inline void arch_read_lock(raw_rwlock_t *rw) | |||
89 | : "g2", "g4", "memory", "cc"); | 89 | : "g2", "g4", "memory", "cc"); |
90 | } | 90 | } |
91 | 91 | ||
92 | #define __raw_read_lock(lock) \ | 92 | #define arch_read_lock(lock) \ |
93 | do { unsigned long flags; \ | 93 | do { unsigned long flags; \ |
94 | local_irq_save(flags); \ | 94 | local_irq_save(flags); \ |
95 | arch_read_lock(lock); \ | 95 | __arch_read_lock(lock); \ |
96 | local_irq_restore(flags); \ | 96 | local_irq_restore(flags); \ |
97 | } while(0) | 97 | } while(0) |
98 | 98 | ||
99 | static inline void arch_read_unlock(raw_rwlock_t *rw) | 99 | static inline void __arch_read_unlock(arch_rwlock_t *rw) |
100 | { | 100 | { |
101 | register raw_rwlock_t *lp asm("g1"); | 101 | register arch_rwlock_t *lp asm("g1"); |
102 | lp = rw; | 102 | lp = rw; |
103 | __asm__ __volatile__( | 103 | __asm__ __volatile__( |
104 | "mov %%o7, %%g4\n\t" | 104 | "mov %%o7, %%g4\n\t" |
@@ -109,16 +109,16 @@ static inline void arch_read_unlock(raw_rwlock_t *rw) | |||
109 | : "g2", "g4", "memory", "cc"); | 109 | : "g2", "g4", "memory", "cc"); |
110 | } | 110 | } |
111 | 111 | ||
112 | #define __raw_read_unlock(lock) \ | 112 | #define arch_read_unlock(lock) \ |
113 | do { unsigned long flags; \ | 113 | do { unsigned long flags; \ |
114 | local_irq_save(flags); \ | 114 | local_irq_save(flags); \ |
115 | arch_read_unlock(lock); \ | 115 | __arch_read_unlock(lock); \ |
116 | local_irq_restore(flags); \ | 116 | local_irq_restore(flags); \ |
117 | } while(0) | 117 | } while(0) |
118 | 118 | ||
119 | static inline void __raw_write_lock(raw_rwlock_t *rw) | 119 | static inline void arch_write_lock(arch_rwlock_t *rw) |
120 | { | 120 | { |
121 | register raw_rwlock_t *lp asm("g1"); | 121 | register arch_rwlock_t *lp asm("g1"); |
122 | lp = rw; | 122 | lp = rw; |
123 | __asm__ __volatile__( | 123 | __asm__ __volatile__( |
124 | "mov %%o7, %%g4\n\t" | 124 | "mov %%o7, %%g4\n\t" |
@@ -130,7 +130,7 @@ static inline void __raw_write_lock(raw_rwlock_t *rw) | |||
130 | *(volatile __u32 *)&lp->lock = ~0U; | 130 | *(volatile __u32 *)&lp->lock = ~0U; |
131 | } | 131 | } |
132 | 132 | ||
133 | static inline int __raw_write_trylock(raw_rwlock_t *rw) | 133 | static inline int arch_write_trylock(arch_rwlock_t *rw) |
134 | { | 134 | { |
135 | unsigned int val; | 135 | unsigned int val; |
136 | 136 | ||
@@ -150,9 +150,9 @@ static inline int __raw_write_trylock(raw_rwlock_t *rw) | |||
150 | return (val == 0); | 150 | return (val == 0); |
151 | } | 151 | } |
152 | 152 | ||
153 | static inline int arch_read_trylock(raw_rwlock_t *rw) | 153 | static inline int __arch_read_trylock(arch_rwlock_t *rw) |
154 | { | 154 | { |
155 | register raw_rwlock_t *lp asm("g1"); | 155 | register arch_rwlock_t *lp asm("g1"); |
156 | register int res asm("o0"); | 156 | register int res asm("o0"); |
157 | lp = rw; | 157 | lp = rw; |
158 | __asm__ __volatile__( | 158 | __asm__ __volatile__( |
@@ -165,27 +165,27 @@ static inline int arch_read_trylock(raw_rwlock_t *rw) | |||
165 | return res; | 165 | return res; |
166 | } | 166 | } |
167 | 167 | ||
168 | #define __raw_read_trylock(lock) \ | 168 | #define arch_read_trylock(lock) \ |
169 | ({ unsigned long flags; \ | 169 | ({ unsigned long flags; \ |
170 | int res; \ | 170 | int res; \ |
171 | local_irq_save(flags); \ | 171 | local_irq_save(flags); \ |
172 | res = arch_read_trylock(lock); \ | 172 | res = __arch_read_trylock(lock); \ |
173 | local_irq_restore(flags); \ | 173 | local_irq_restore(flags); \ |
174 | res; \ | 174 | res; \ |
175 | }) | 175 | }) |
176 | 176 | ||
177 | #define __raw_write_unlock(rw) do { (rw)->lock = 0; } while(0) | 177 | #define arch_write_unlock(rw) do { (rw)->lock = 0; } while(0) |
178 | 178 | ||
179 | #define __raw_spin_lock_flags(lock, flags) __raw_spin_lock(lock) | 179 | #define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock) |
180 | #define __raw_read_lock_flags(rw, flags) __raw_read_lock(rw) | 180 | #define arch_read_lock_flags(rw, flags) arch_read_lock(rw) |
181 | #define __raw_write_lock_flags(rw, flags) __raw_write_lock(rw) | 181 | #define arch_write_lock_flags(rw, flags) arch_write_lock(rw) |
182 | 182 | ||
183 | #define _raw_spin_relax(lock) cpu_relax() | 183 | #define arch_spin_relax(lock) cpu_relax() |
184 | #define _raw_read_relax(lock) cpu_relax() | 184 | #define arch_read_relax(lock) cpu_relax() |
185 | #define _raw_write_relax(lock) cpu_relax() | 185 | #define arch_write_relax(lock) cpu_relax() |
186 | 186 | ||
187 | #define __raw_read_can_lock(rw) (!((rw)->lock & 0xff)) | 187 | #define arch_read_can_lock(rw) (!((rw)->lock & 0xff)) |
188 | #define __raw_write_can_lock(rw) (!(rw)->lock) | 188 | #define arch_write_can_lock(rw) (!(rw)->lock) |
189 | 189 | ||
190 | #endif /* !(__ASSEMBLY__) */ | 190 | #endif /* !(__ASSEMBLY__) */ |
191 | 191 | ||
diff --git a/arch/sparc/include/asm/spinlock_64.h b/arch/sparc/include/asm/spinlock_64.h index 43e514783582..073936a8b275 100644 --- a/arch/sparc/include/asm/spinlock_64.h +++ b/arch/sparc/include/asm/spinlock_64.h | |||
@@ -21,13 +21,13 @@ | |||
21 | * the spinner sections must be pre-V9 branches. | 21 | * the spinner sections must be pre-V9 branches. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #define __raw_spin_is_locked(lp) ((lp)->lock != 0) | 24 | #define arch_spin_is_locked(lp) ((lp)->lock != 0) |
25 | 25 | ||
26 | #define __raw_spin_unlock_wait(lp) \ | 26 | #define arch_spin_unlock_wait(lp) \ |
27 | do { rmb(); \ | 27 | do { rmb(); \ |
28 | } while((lp)->lock) | 28 | } while((lp)->lock) |
29 | 29 | ||
30 | static inline void __raw_spin_lock(raw_spinlock_t *lock) | 30 | static inline void arch_spin_lock(arch_spinlock_t *lock) |
31 | { | 31 | { |
32 | unsigned long tmp; | 32 | unsigned long tmp; |
33 | 33 | ||
@@ -46,7 +46,7 @@ static inline void __raw_spin_lock(raw_spinlock_t *lock) | |||
46 | : "memory"); | 46 | : "memory"); |
47 | } | 47 | } |
48 | 48 | ||
49 | static inline int __raw_spin_trylock(raw_spinlock_t *lock) | 49 | static inline int arch_spin_trylock(arch_spinlock_t *lock) |
50 | { | 50 | { |
51 | unsigned long result; | 51 | unsigned long result; |
52 | 52 | ||
@@ -59,7 +59,7 @@ static inline int __raw_spin_trylock(raw_spinlock_t *lock) | |||
59 | return (result == 0UL); | 59 | return (result == 0UL); |
60 | } | 60 | } |
61 | 61 | ||
62 | static inline void __raw_spin_unlock(raw_spinlock_t *lock) | 62 | static inline void arch_spin_unlock(arch_spinlock_t *lock) |
63 | { | 63 | { |
64 | __asm__ __volatile__( | 64 | __asm__ __volatile__( |
65 | " stb %%g0, [%0]" | 65 | " stb %%g0, [%0]" |
@@ -68,7 +68,7 @@ static inline void __raw_spin_unlock(raw_spinlock_t *lock) | |||
68 | : "memory"); | 68 | : "memory"); |
69 | } | 69 | } |
70 | 70 | ||
71 | static inline void __raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long flags) | 71 | static inline void arch_spin_lock_flags(arch_spinlock_t *lock, unsigned long flags) |
72 | { | 72 | { |
73 | unsigned long tmp1, tmp2; | 73 | unsigned long tmp1, tmp2; |
74 | 74 | ||
@@ -92,7 +92,7 @@ static inline void __raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long fla | |||
92 | 92 | ||
93 | /* Multi-reader locks, these are much saner than the 32-bit Sparc ones... */ | 93 | /* Multi-reader locks, these are much saner than the 32-bit Sparc ones... */ |
94 | 94 | ||
95 | static void inline arch_read_lock(raw_rwlock_t *lock) | 95 | static void inline arch_read_lock(arch_rwlock_t *lock) |
96 | { | 96 | { |
97 | unsigned long tmp1, tmp2; | 97 | unsigned long tmp1, tmp2; |
98 | 98 | ||
@@ -115,7 +115,7 @@ static void inline arch_read_lock(raw_rwlock_t *lock) | |||
115 | : "memory"); | 115 | : "memory"); |
116 | } | 116 | } |
117 | 117 | ||
118 | static int inline arch_read_trylock(raw_rwlock_t *lock) | 118 | static int inline arch_read_trylock(arch_rwlock_t *lock) |
119 | { | 119 | { |
120 | int tmp1, tmp2; | 120 | int tmp1, tmp2; |
121 | 121 | ||
@@ -136,7 +136,7 @@ static int inline arch_read_trylock(raw_rwlock_t *lock) | |||
136 | return tmp1; | 136 | return tmp1; |
137 | } | 137 | } |
138 | 138 | ||
139 | static void inline arch_read_unlock(raw_rwlock_t *lock) | 139 | static void inline arch_read_unlock(arch_rwlock_t *lock) |
140 | { | 140 | { |
141 | unsigned long tmp1, tmp2; | 141 | unsigned long tmp1, tmp2; |
142 | 142 | ||
@@ -152,7 +152,7 @@ static void inline arch_read_unlock(raw_rwlock_t *lock) | |||
152 | : "memory"); | 152 | : "memory"); |
153 | } | 153 | } |
154 | 154 | ||
155 | static void inline arch_write_lock(raw_rwlock_t *lock) | 155 | static void inline arch_write_lock(arch_rwlock_t *lock) |
156 | { | 156 | { |
157 | unsigned long mask, tmp1, tmp2; | 157 | unsigned long mask, tmp1, tmp2; |
158 | 158 | ||
@@ -177,7 +177,7 @@ static void inline arch_write_lock(raw_rwlock_t *lock) | |||
177 | : "memory"); | 177 | : "memory"); |
178 | } | 178 | } |
179 | 179 | ||
180 | static void inline arch_write_unlock(raw_rwlock_t *lock) | 180 | static void inline arch_write_unlock(arch_rwlock_t *lock) |
181 | { | 181 | { |
182 | __asm__ __volatile__( | 182 | __asm__ __volatile__( |
183 | " stw %%g0, [%0]" | 183 | " stw %%g0, [%0]" |
@@ -186,7 +186,7 @@ static void inline arch_write_unlock(raw_rwlock_t *lock) | |||
186 | : "memory"); | 186 | : "memory"); |
187 | } | 187 | } |
188 | 188 | ||
189 | static int inline arch_write_trylock(raw_rwlock_t *lock) | 189 | static int inline arch_write_trylock(arch_rwlock_t *lock) |
190 | { | 190 | { |
191 | unsigned long mask, tmp1, tmp2, result; | 191 | unsigned long mask, tmp1, tmp2, result; |
192 | 192 | ||
@@ -210,21 +210,21 @@ static int inline arch_write_trylock(raw_rwlock_t *lock) | |||
210 | return result; | 210 | return result; |
211 | } | 211 | } |
212 | 212 | ||
213 | #define __raw_read_lock(p) arch_read_lock(p) | 213 | #define arch_read_lock(p) arch_read_lock(p) |
214 | #define __raw_read_lock_flags(p, f) arch_read_lock(p) | 214 | #define arch_read_lock_flags(p, f) arch_read_lock(p) |
215 | #define __raw_read_trylock(p) arch_read_trylock(p) | 215 | #define arch_read_trylock(p) arch_read_trylock(p) |
216 | #define __raw_read_unlock(p) arch_read_unlock(p) | 216 | #define arch_read_unlock(p) arch_read_unlock(p) |
217 | #define __raw_write_lock(p) arch_write_lock(p) | 217 | #define arch_write_lock(p) arch_write_lock(p) |
218 | #define __raw_write_lock_flags(p, f) arch_write_lock(p) | 218 | #define arch_write_lock_flags(p, f) arch_write_lock(p) |
219 | #define __raw_write_unlock(p) arch_write_unlock(p) | 219 | #define arch_write_unlock(p) arch_write_unlock(p) |
220 | #define __raw_write_trylock(p) arch_write_trylock(p) | 220 | #define arch_write_trylock(p) arch_write_trylock(p) |
221 | 221 | ||
222 | #define __raw_read_can_lock(rw) (!((rw)->lock & 0x80000000UL)) | 222 | #define arch_read_can_lock(rw) (!((rw)->lock & 0x80000000UL)) |
223 | #define __raw_write_can_lock(rw) (!(rw)->lock) | 223 | #define arch_write_can_lock(rw) (!(rw)->lock) |
224 | 224 | ||
225 | #define _raw_spin_relax(lock) cpu_relax() | 225 | #define arch_spin_relax(lock) cpu_relax() |
226 | #define _raw_read_relax(lock) cpu_relax() | 226 | #define arch_read_relax(lock) cpu_relax() |
227 | #define _raw_write_relax(lock) cpu_relax() | 227 | #define arch_write_relax(lock) cpu_relax() |
228 | 228 | ||
229 | #endif /* !(__ASSEMBLY__) */ | 229 | #endif /* !(__ASSEMBLY__) */ |
230 | 230 | ||
diff --git a/arch/sparc/include/asm/spinlock_types.h b/arch/sparc/include/asm/spinlock_types.h index 37cbe01c585b..9c454fdeaad8 100644 --- a/arch/sparc/include/asm/spinlock_types.h +++ b/arch/sparc/include/asm/spinlock_types.h | |||
@@ -7,14 +7,14 @@ | |||
7 | 7 | ||
8 | typedef struct { | 8 | typedef struct { |
9 | volatile unsigned char lock; | 9 | volatile unsigned char lock; |
10 | } raw_spinlock_t; | 10 | } arch_spinlock_t; |
11 | 11 | ||
12 | #define __RAW_SPIN_LOCK_UNLOCKED { 0 } | 12 | #define __ARCH_SPIN_LOCK_UNLOCKED { 0 } |
13 | 13 | ||
14 | typedef struct { | 14 | typedef struct { |
15 | volatile unsigned int lock; | 15 | volatile unsigned int lock; |
16 | } raw_rwlock_t; | 16 | } arch_rwlock_t; |
17 | 17 | ||
18 | #define __RAW_RW_LOCK_UNLOCKED { 0 } | 18 | #define __ARCH_RW_LOCK_UNLOCKED { 0 } |
19 | 19 | ||
20 | #endif | 20 | #endif |
diff --git a/arch/sparc/include/asm/string_32.h b/arch/sparc/include/asm/string_32.h index 6c5fddb7e6b5..edf196ee4ef8 100644 --- a/arch/sparc/include/asm/string_32.h +++ b/arch/sparc/include/asm/string_32.h | |||
@@ -16,8 +16,6 @@ | |||
16 | #ifdef __KERNEL__ | 16 | #ifdef __KERNEL__ |
17 | 17 | ||
18 | extern void __memmove(void *,const void *,__kernel_size_t); | 18 | extern void __memmove(void *,const void *,__kernel_size_t); |
19 | extern __kernel_size_t __memcpy(void *,const void *,__kernel_size_t); | ||
20 | extern __kernel_size_t __memset(void *,int,__kernel_size_t); | ||
21 | 19 | ||
22 | #ifndef EXPORT_SYMTAB_STROPS | 20 | #ifndef EXPORT_SYMTAB_STROPS |
23 | 21 | ||
@@ -32,82 +30,10 @@ extern __kernel_size_t __memset(void *,int,__kernel_size_t); | |||
32 | }) | 30 | }) |
33 | 31 | ||
34 | #define __HAVE_ARCH_MEMCPY | 32 | #define __HAVE_ARCH_MEMCPY |
35 | 33 | #define memcpy(t, f, n) __builtin_memcpy(t, f, n) | |
36 | static inline void *__constant_memcpy(void *to, const void *from, __kernel_size_t n) | ||
37 | { | ||
38 | extern void __copy_1page(void *, const void *); | ||
39 | |||
40 | if(n <= 32) { | ||
41 | __builtin_memcpy(to, from, n); | ||
42 | } else if (((unsigned int) to & 7) != 0) { | ||
43 | /* Destination is not aligned on the double-word boundary */ | ||
44 | __memcpy(to, from, n); | ||
45 | } else { | ||
46 | switch(n) { | ||
47 | case PAGE_SIZE: | ||
48 | __copy_1page(to, from); | ||
49 | break; | ||
50 | default: | ||
51 | __memcpy(to, from, n); | ||
52 | break; | ||
53 | } | ||
54 | } | ||
55 | return to; | ||
56 | } | ||
57 | |||
58 | static inline void *__nonconstant_memcpy(void *to, const void *from, __kernel_size_t n) | ||
59 | { | ||
60 | __memcpy(to, from, n); | ||
61 | return to; | ||
62 | } | ||
63 | |||
64 | #undef memcpy | ||
65 | #define memcpy(t, f, n) \ | ||
66 | (__builtin_constant_p(n) ? \ | ||
67 | __constant_memcpy((t),(f),(n)) : \ | ||
68 | __nonconstant_memcpy((t),(f),(n))) | ||
69 | 34 | ||
70 | #define __HAVE_ARCH_MEMSET | 35 | #define __HAVE_ARCH_MEMSET |
71 | 36 | #define memset(s, c, count) __builtin_memset(s, c, count) | |
72 | static inline void *__constant_c_and_count_memset(void *s, char c, __kernel_size_t count) | ||
73 | { | ||
74 | extern void bzero_1page(void *); | ||
75 | extern __kernel_size_t __bzero(void *, __kernel_size_t); | ||
76 | |||
77 | if(!c) { | ||
78 | if(count == PAGE_SIZE) | ||
79 | bzero_1page(s); | ||
80 | else | ||
81 | __bzero(s, count); | ||
82 | } else { | ||
83 | __memset(s, c, count); | ||
84 | } | ||
85 | return s; | ||
86 | } | ||
87 | |||
88 | static inline void *__constant_c_memset(void *s, char c, __kernel_size_t count) | ||
89 | { | ||
90 | extern __kernel_size_t __bzero(void *, __kernel_size_t); | ||
91 | |||
92 | if(!c) | ||
93 | __bzero(s, count); | ||
94 | else | ||
95 | __memset(s, c, count); | ||
96 | return s; | ||
97 | } | ||
98 | |||
99 | static inline void *__nonconstant_memset(void *s, char c, __kernel_size_t count) | ||
100 | { | ||
101 | __memset(s, c, count); | ||
102 | return s; | ||
103 | } | ||
104 | |||
105 | #undef memset | ||
106 | #define memset(s, c, count) \ | ||
107 | (__builtin_constant_p(c) ? (__builtin_constant_p(count) ? \ | ||
108 | __constant_c_and_count_memset((s), (c), (count)) : \ | ||
109 | __constant_c_memset((s), (c), (count))) \ | ||
110 | : __nonconstant_memset((s), (c), (count))) | ||
111 | 37 | ||
112 | #define __HAVE_ARCH_MEMSCAN | 38 | #define __HAVE_ARCH_MEMSCAN |
113 | 39 | ||
diff --git a/arch/sparc/include/asm/string_64.h b/arch/sparc/include/asm/string_64.h index 43161f2d17eb..9623bc213158 100644 --- a/arch/sparc/include/asm/string_64.h +++ b/arch/sparc/include/asm/string_64.h | |||
@@ -15,8 +15,6 @@ | |||
15 | 15 | ||
16 | #include <asm/asi.h> | 16 | #include <asm/asi.h> |
17 | 17 | ||
18 | extern void *__memset(void *,int,__kernel_size_t); | ||
19 | |||
20 | #ifndef EXPORT_SYMTAB_STROPS | 18 | #ifndef EXPORT_SYMTAB_STROPS |
21 | 19 | ||
22 | /* First the mem*() things. */ | 20 | /* First the mem*() things. */ |
@@ -24,29 +22,10 @@ extern void *__memset(void *,int,__kernel_size_t); | |||
24 | extern void *memmove(void *, const void *, __kernel_size_t); | 22 | extern void *memmove(void *, const void *, __kernel_size_t); |
25 | 23 | ||
26 | #define __HAVE_ARCH_MEMCPY | 24 | #define __HAVE_ARCH_MEMCPY |
27 | extern void *memcpy(void *, const void *, __kernel_size_t); | 25 | #define memcpy(t, f, n) __builtin_memcpy(t, f, n) |
28 | 26 | ||
29 | #define __HAVE_ARCH_MEMSET | 27 | #define __HAVE_ARCH_MEMSET |
30 | extern void *__builtin_memset(void *,int,__kernel_size_t); | 28 | #define memset(s, c, count) __builtin_memset(s, c, count) |
31 | |||
32 | static inline void *__constant_memset(void *s, int c, __kernel_size_t count) | ||
33 | { | ||
34 | extern __kernel_size_t __bzero(void *, __kernel_size_t); | ||
35 | |||
36 | if (!c) { | ||
37 | __bzero(s, count); | ||
38 | return s; | ||
39 | } else | ||
40 | return __memset(s, c, count); | ||
41 | } | ||
42 | |||
43 | #undef memset | ||
44 | #define memset(s, c, count) \ | ||
45 | ((__builtin_constant_p(count) && (count) <= 32) ? \ | ||
46 | __builtin_memset((s), (c), (count)) : \ | ||
47 | (__builtin_constant_p(c) ? \ | ||
48 | __constant_memset((s), (c), (count)) : \ | ||
49 | __memset((s), (c), (count)))) | ||
50 | 29 | ||
51 | #define __HAVE_ARCH_MEMSCAN | 30 | #define __HAVE_ARCH_MEMSCAN |
52 | 31 | ||
diff --git a/arch/sparc/include/asm/thread_info_64.h b/arch/sparc/include/asm/thread_info_64.h index 1b45a7bbe407..7257ebb8f394 100644 --- a/arch/sparc/include/asm/thread_info_64.h +++ b/arch/sparc/include/asm/thread_info_64.h | |||
@@ -227,6 +227,7 @@ register struct thread_info *current_thread_info_reg asm("g6"); | |||
227 | /* flag bit 8 is available */ | 227 | /* flag bit 8 is available */ |
228 | #define TIF_SECCOMP 9 /* secure computing */ | 228 | #define TIF_SECCOMP 9 /* secure computing */ |
229 | #define TIF_SYSCALL_AUDIT 10 /* syscall auditing active */ | 229 | #define TIF_SYSCALL_AUDIT 10 /* syscall auditing active */ |
230 | #define TIF_SYSCALL_TRACEPOINT 11 /* syscall tracepoint instrumentation */ | ||
230 | /* flag bit 11 is available */ | 231 | /* flag bit 11 is available */ |
231 | /* NOTE: Thread flags >= 12 should be ones we have no interest | 232 | /* NOTE: Thread flags >= 12 should be ones we have no interest |
232 | * in using in assembly, else we can't use the mask as | 233 | * in using in assembly, else we can't use the mask as |
@@ -246,6 +247,7 @@ register struct thread_info *current_thread_info_reg asm("g6"); | |||
246 | #define _TIF_32BIT (1<<TIF_32BIT) | 247 | #define _TIF_32BIT (1<<TIF_32BIT) |
247 | #define _TIF_SECCOMP (1<<TIF_SECCOMP) | 248 | #define _TIF_SECCOMP (1<<TIF_SECCOMP) |
248 | #define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT) | 249 | #define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT) |
250 | #define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT) | ||
249 | #define _TIF_ABI_PENDING (1<<TIF_ABI_PENDING) | 251 | #define _TIF_ABI_PENDING (1<<TIF_ABI_PENDING) |
250 | #define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) | 252 | #define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) |
251 | #define _TIF_FREEZE (1<<TIF_FREEZE) | 253 | #define _TIF_FREEZE (1<<TIF_FREEZE) |
diff --git a/arch/sparc/include/asm/uaccess_32.h b/arch/sparc/include/asm/uaccess_32.h index 8303ac481034..489d2ba92bcb 100644 --- a/arch/sparc/include/asm/uaccess_32.h +++ b/arch/sparc/include/asm/uaccess_32.h | |||
@@ -260,8 +260,23 @@ static inline unsigned long __copy_to_user(void __user *to, const void *from, un | |||
260 | return __copy_user(to, (__force void __user *) from, n); | 260 | return __copy_user(to, (__force void __user *) from, n); |
261 | } | 261 | } |
262 | 262 | ||
263 | extern void copy_from_user_overflow(void) | ||
264 | #ifdef CONFIG_DEBUG_STRICT_USER_COPY_CHECKS | ||
265 | __compiletime_error("copy_from_user() buffer size is not provably correct") | ||
266 | #else | ||
267 | __compiletime_warning("copy_from_user() buffer size is not provably correct") | ||
268 | #endif | ||
269 | ; | ||
270 | |||
263 | static inline unsigned long copy_from_user(void *to, const void __user *from, unsigned long n) | 271 | static inline unsigned long copy_from_user(void *to, const void __user *from, unsigned long n) |
264 | { | 272 | { |
273 | int sz = __compiletime_object_size(to); | ||
274 | |||
275 | if (unlikely(sz != -1 && sz < n)) { | ||
276 | copy_from_user_overflow(); | ||
277 | return -EFAULT; | ||
278 | } | ||
279 | |||
265 | if (n && __access_ok((unsigned long) from, n)) | 280 | if (n && __access_ok((unsigned long) from, n)) |
266 | return __copy_user((__force void __user *) to, from, n); | 281 | return __copy_user((__force void __user *) to, from, n); |
267 | else | 282 | else |
diff --git a/arch/sparc/include/asm/uaccess_64.h b/arch/sparc/include/asm/uaccess_64.h index 9ea271e19c70..dbc141660994 100644 --- a/arch/sparc/include/asm/uaccess_64.h +++ b/arch/sparc/include/asm/uaccess_64.h | |||
@@ -6,6 +6,7 @@ | |||
6 | */ | 6 | */ |
7 | 7 | ||
8 | #ifdef __KERNEL__ | 8 | #ifdef __KERNEL__ |
9 | #include <linux/errno.h> | ||
9 | #include <linux/compiler.h> | 10 | #include <linux/compiler.h> |
10 | #include <linux/string.h> | 11 | #include <linux/string.h> |
11 | #include <linux/thread_info.h> | 12 | #include <linux/thread_info.h> |
@@ -204,6 +205,14 @@ __asm__ __volatile__( \ | |||
204 | 205 | ||
205 | extern int __get_user_bad(void); | 206 | extern int __get_user_bad(void); |
206 | 207 | ||
208 | extern void copy_from_user_overflow(void) | ||
209 | #ifdef CONFIG_DEBUG_STRICT_USER_COPY_CHECKS | ||
210 | __compiletime_error("copy_from_user() buffer size is not provably correct") | ||
211 | #else | ||
212 | __compiletime_warning("copy_from_user() buffer size is not provably correct") | ||
213 | #endif | ||
214 | ; | ||
215 | |||
207 | extern unsigned long __must_check ___copy_from_user(void *to, | 216 | extern unsigned long __must_check ___copy_from_user(void *to, |
208 | const void __user *from, | 217 | const void __user *from, |
209 | unsigned long size); | 218 | unsigned long size); |
@@ -212,10 +221,16 @@ extern unsigned long copy_from_user_fixup(void *to, const void __user *from, | |||
212 | static inline unsigned long __must_check | 221 | static inline unsigned long __must_check |
213 | copy_from_user(void *to, const void __user *from, unsigned long size) | 222 | copy_from_user(void *to, const void __user *from, unsigned long size) |
214 | { | 223 | { |
215 | unsigned long ret = ___copy_from_user(to, from, size); | 224 | unsigned long ret = (unsigned long) -EFAULT; |
216 | 225 | int sz = __compiletime_object_size(to); | |
217 | if (unlikely(ret)) | 226 | |
218 | ret = copy_from_user_fixup(to, from, size); | 227 | if (likely(sz == -1 || sz >= size)) { |
228 | ret = ___copy_from_user(to, from, size); | ||
229 | if (unlikely(ret)) | ||
230 | ret = copy_from_user_fixup(to, from, size); | ||
231 | } else { | ||
232 | copy_from_user_overflow(); | ||
233 | } | ||
219 | return ret; | 234 | return ret; |
220 | } | 235 | } |
221 | #define __copy_from_user copy_from_user | 236 | #define __copy_from_user copy_from_user |
diff --git a/arch/sparc/include/asm/unistd.h b/arch/sparc/include/asm/unistd.h index d8d25bd97121..cb4b9bfd0d87 100644 --- a/arch/sparc/include/asm/unistd.h +++ b/arch/sparc/include/asm/unistd.h | |||
@@ -398,7 +398,7 @@ | |||
398 | #define __NR_perf_event_open 327 | 398 | #define __NR_perf_event_open 327 |
399 | #define __NR_recvmmsg 328 | 399 | #define __NR_recvmmsg 328 |
400 | 400 | ||
401 | #define NR_SYSCALLS 329 | 401 | #define NR_syscalls 329 |
402 | 402 | ||
403 | #ifdef __32bit_syscall_numbers__ | 403 | #ifdef __32bit_syscall_numbers__ |
404 | /* Sparc 32-bit only has the "setresuid32", "getresuid32" variants, | 404 | /* Sparc 32-bit only has the "setresuid32", "getresuid32" variants, |
diff --git a/arch/sparc/kernel/entry.S b/arch/sparc/kernel/entry.S index ec9c7bc67d21..1504df8ddf70 100644 --- a/arch/sparc/kernel/entry.S +++ b/arch/sparc/kernel/entry.S | |||
@@ -1294,7 +1294,7 @@ linux_sparc_syscall: | |||
1294 | sethi %hi(PSR_SYSCALL), %l4 | 1294 | sethi %hi(PSR_SYSCALL), %l4 |
1295 | or %l0, %l4, %l0 | 1295 | or %l0, %l4, %l0 |
1296 | /* Direct access to user regs, must faster. */ | 1296 | /* Direct access to user regs, must faster. */ |
1297 | cmp %g1, NR_SYSCALLS | 1297 | cmp %g1, NR_syscalls |
1298 | bgeu linux_sparc_ni_syscall | 1298 | bgeu linux_sparc_ni_syscall |
1299 | sll %g1, 2, %l4 | 1299 | sll %g1, 2, %l4 |
1300 | ld [%l7 + %l4], %l7 | 1300 | ld [%l7 + %l4], %l7 |
diff --git a/arch/sparc/kernel/ftrace.c b/arch/sparc/kernel/ftrace.c index d3b1a3076569..29973daa9930 100644 --- a/arch/sparc/kernel/ftrace.c +++ b/arch/sparc/kernel/ftrace.c | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <linux/percpu.h> | 4 | #include <linux/percpu.h> |
5 | #include <linux/init.h> | 5 | #include <linux/init.h> |
6 | #include <linux/list.h> | 6 | #include <linux/list.h> |
7 | #include <trace/syscall.h> | ||
7 | 8 | ||
8 | #include <asm/ftrace.h> | 9 | #include <asm/ftrace.h> |
9 | 10 | ||
@@ -91,3 +92,13 @@ int __init ftrace_dyn_arch_init(void *data) | |||
91 | } | 92 | } |
92 | #endif | 93 | #endif |
93 | 94 | ||
95 | #ifdef CONFIG_FTRACE_SYSCALLS | ||
96 | |||
97 | extern unsigned int sys_call_table[]; | ||
98 | |||
99 | unsigned long __init arch_syscall_addr(int nr) | ||
100 | { | ||
101 | return (unsigned long)sys_call_table[nr]; | ||
102 | } | ||
103 | |||
104 | #endif | ||
diff --git a/arch/sparc/kernel/irq_64.c b/arch/sparc/kernel/irq_64.c index ce996f97855f..8d6882bb480a 100644 --- a/arch/sparc/kernel/irq_64.c +++ b/arch/sparc/kernel/irq_64.c | |||
@@ -176,7 +176,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
176 | } | 176 | } |
177 | 177 | ||
178 | if (i < NR_IRQS) { | 178 | if (i < NR_IRQS) { |
179 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 179 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
180 | action = irq_desc[i].action; | 180 | action = irq_desc[i].action; |
181 | if (!action) | 181 | if (!action) |
182 | goto skip; | 182 | goto skip; |
@@ -195,7 +195,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
195 | 195 | ||
196 | seq_putc(p, '\n'); | 196 | seq_putc(p, '\n'); |
197 | skip: | 197 | skip: |
198 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 198 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
199 | } else if (i == NR_IRQS) { | 199 | } else if (i == NR_IRQS) { |
200 | seq_printf(p, "NMI: "); | 200 | seq_printf(p, "NMI: "); |
201 | for_each_online_cpu(j) | 201 | for_each_online_cpu(j) |
@@ -785,14 +785,14 @@ void fixup_irqs(void) | |||
785 | for (irq = 0; irq < NR_IRQS; irq++) { | 785 | for (irq = 0; irq < NR_IRQS; irq++) { |
786 | unsigned long flags; | 786 | unsigned long flags; |
787 | 787 | ||
788 | spin_lock_irqsave(&irq_desc[irq].lock, flags); | 788 | raw_spin_lock_irqsave(&irq_desc[irq].lock, flags); |
789 | if (irq_desc[irq].action && | 789 | if (irq_desc[irq].action && |
790 | !(irq_desc[irq].status & IRQ_PER_CPU)) { | 790 | !(irq_desc[irq].status & IRQ_PER_CPU)) { |
791 | if (irq_desc[irq].chip->set_affinity) | 791 | if (irq_desc[irq].chip->set_affinity) |
792 | irq_desc[irq].chip->set_affinity(irq, | 792 | irq_desc[irq].chip->set_affinity(irq, |
793 | irq_desc[irq].affinity); | 793 | irq_desc[irq].affinity); |
794 | } | 794 | } |
795 | spin_unlock_irqrestore(&irq_desc[irq].lock, flags); | 795 | raw_spin_unlock_irqrestore(&irq_desc[irq].lock, flags); |
796 | } | 796 | } |
797 | 797 | ||
798 | tick_ops->disable_irq(); | 798 | tick_ops->disable_irq(); |
diff --git a/arch/sparc/kernel/kprobes.c b/arch/sparc/kernel/kprobes.c index 3bc6527c95af..6716584e48ab 100644 --- a/arch/sparc/kernel/kprobes.c +++ b/arch/sparc/kernel/kprobes.c | |||
@@ -46,6 +46,9 @@ struct kretprobe_blackpoint kretprobe_blacklist[] = {{NULL, NULL}}; | |||
46 | 46 | ||
47 | int __kprobes arch_prepare_kprobe(struct kprobe *p) | 47 | int __kprobes arch_prepare_kprobe(struct kprobe *p) |
48 | { | 48 | { |
49 | if ((unsigned long) p->addr & 0x3UL) | ||
50 | return -EILSEQ; | ||
51 | |||
49 | p->ainsn.insn[0] = *p->addr; | 52 | p->ainsn.insn[0] = *p->addr; |
50 | flushi(&p->ainsn.insn[0]); | 53 | flushi(&p->ainsn.insn[0]); |
51 | 54 | ||
diff --git a/arch/sparc/kernel/ldc.c b/arch/sparc/kernel/ldc.c index cb3c72c45aab..e0ba898e30cf 100644 --- a/arch/sparc/kernel/ldc.c +++ b/arch/sparc/kernel/ldc.c | |||
@@ -1242,13 +1242,13 @@ int ldc_bind(struct ldc_channel *lp, const char *name) | |||
1242 | snprintf(lp->tx_irq_name, LDC_IRQ_NAME_MAX, "%s TX", name); | 1242 | snprintf(lp->tx_irq_name, LDC_IRQ_NAME_MAX, "%s TX", name); |
1243 | 1243 | ||
1244 | err = request_irq(lp->cfg.rx_irq, ldc_rx, | 1244 | err = request_irq(lp->cfg.rx_irq, ldc_rx, |
1245 | IRQF_SAMPLE_RANDOM | IRQF_DISABLED | IRQF_SHARED, | 1245 | IRQF_SAMPLE_RANDOM | IRQF_DISABLED, |
1246 | lp->rx_irq_name, lp); | 1246 | lp->rx_irq_name, lp); |
1247 | if (err) | 1247 | if (err) |
1248 | return err; | 1248 | return err; |
1249 | 1249 | ||
1250 | err = request_irq(lp->cfg.tx_irq, ldc_tx, | 1250 | err = request_irq(lp->cfg.tx_irq, ldc_tx, |
1251 | IRQF_SAMPLE_RANDOM | IRQF_DISABLED | IRQF_SHARED, | 1251 | IRQF_SAMPLE_RANDOM | IRQF_DISABLED, |
1252 | lp->tx_irq_name, lp); | 1252 | lp->tx_irq_name, lp); |
1253 | if (err) { | 1253 | if (err) { |
1254 | free_irq(lp->cfg.rx_irq, lp); | 1254 | free_irq(lp->cfg.rx_irq, lp); |
diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c index 938da19dc065..cdc91d919e93 100644 --- a/arch/sparc/kernel/mdesc.c +++ b/arch/sparc/kernel/mdesc.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <linux/slab.h> | 10 | #include <linux/slab.h> |
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/miscdevice.h> | 12 | #include <linux/miscdevice.h> |
13 | #include <linux/bootmem.h> | ||
13 | 14 | ||
14 | #include <asm/cpudata.h> | 15 | #include <asm/cpudata.h> |
15 | #include <asm/hypervisor.h> | 16 | #include <asm/hypervisor.h> |
@@ -108,25 +109,15 @@ static struct mdesc_handle * __init mdesc_lmb_alloc(unsigned int mdesc_size) | |||
108 | 109 | ||
109 | static void mdesc_lmb_free(struct mdesc_handle *hp) | 110 | static void mdesc_lmb_free(struct mdesc_handle *hp) |
110 | { | 111 | { |
111 | unsigned int alloc_size, handle_size = hp->handle_size; | 112 | unsigned int alloc_size; |
112 | unsigned long start, end; | 113 | unsigned long start; |
113 | 114 | ||
114 | BUG_ON(atomic_read(&hp->refcnt) != 0); | 115 | BUG_ON(atomic_read(&hp->refcnt) != 0); |
115 | BUG_ON(!list_empty(&hp->list)); | 116 | BUG_ON(!list_empty(&hp->list)); |
116 | 117 | ||
117 | alloc_size = PAGE_ALIGN(handle_size); | 118 | alloc_size = PAGE_ALIGN(hp->handle_size); |
118 | 119 | start = __pa(hp); | |
119 | start = (unsigned long) hp; | 120 | free_bootmem_late(start, alloc_size); |
120 | end = start + alloc_size; | ||
121 | |||
122 | while (start < end) { | ||
123 | struct page *p; | ||
124 | |||
125 | p = virt_to_page(start); | ||
126 | ClearPageReserved(p); | ||
127 | __free_page(p); | ||
128 | start += PAGE_SIZE; | ||
129 | } | ||
130 | } | 121 | } |
131 | 122 | ||
132 | static struct mdesc_mem_ops lmb_mdesc_ops = { | 123 | static struct mdesc_mem_ops lmb_mdesc_ops = { |
diff --git a/arch/sparc/kernel/nmi.c b/arch/sparc/kernel/nmi.c index b129611590a4..f30f4a1ead23 100644 --- a/arch/sparc/kernel/nmi.c +++ b/arch/sparc/kernel/nmi.c | |||
@@ -47,7 +47,7 @@ static DEFINE_PER_CPU(short, wd_enabled); | |||
47 | static int endflag __initdata; | 47 | static int endflag __initdata; |
48 | 48 | ||
49 | static DEFINE_PER_CPU(unsigned int, last_irq_sum); | 49 | static DEFINE_PER_CPU(unsigned int, last_irq_sum); |
50 | static DEFINE_PER_CPU(local_t, alert_counter); | 50 | static DEFINE_PER_CPU(long, alert_counter); |
51 | static DEFINE_PER_CPU(int, nmi_touch); | 51 | static DEFINE_PER_CPU(int, nmi_touch); |
52 | 52 | ||
53 | void touch_nmi_watchdog(void) | 53 | void touch_nmi_watchdog(void) |
@@ -112,13 +112,13 @@ notrace __kprobes void perfctr_irq(int irq, struct pt_regs *regs) | |||
112 | touched = 1; | 112 | touched = 1; |
113 | } | 113 | } |
114 | if (!touched && __get_cpu_var(last_irq_sum) == sum) { | 114 | if (!touched && __get_cpu_var(last_irq_sum) == sum) { |
115 | local_inc(&__get_cpu_var(alert_counter)); | 115 | __this_cpu_inc(per_cpu_var(alert_counter)); |
116 | if (local_read(&__get_cpu_var(alert_counter)) == 30 * nmi_hz) | 116 | if (__this_cpu_read(per_cpu_var(alert_counter)) == 30 * nmi_hz) |
117 | die_nmi("BUG: NMI Watchdog detected LOCKUP", | 117 | die_nmi("BUG: NMI Watchdog detected LOCKUP", |
118 | regs, panic_on_timeout); | 118 | regs, panic_on_timeout); |
119 | } else { | 119 | } else { |
120 | __get_cpu_var(last_irq_sum) = sum; | 120 | __get_cpu_var(last_irq_sum) = sum; |
121 | local_set(&__get_cpu_var(alert_counter), 0); | 121 | __this_cpu_write(per_cpu_var(alert_counter), 0); |
122 | } | 122 | } |
123 | if (__get_cpu_var(wd_enabled)) { | 123 | if (__get_cpu_var(wd_enabled)) { |
124 | write_pic(picl_value(nmi_hz)); | 124 | write_pic(picl_value(nmi_hz)); |
diff --git a/arch/sparc/kernel/of_device_64.c b/arch/sparc/kernel/of_device_64.c index 881947e59e95..0a6f2d1798d1 100644 --- a/arch/sparc/kernel/of_device_64.c +++ b/arch/sparc/kernel/of_device_64.c | |||
@@ -104,9 +104,19 @@ static int of_bus_pci_map(u32 *addr, const u32 *range, | |||
104 | int i; | 104 | int i; |
105 | 105 | ||
106 | /* Check address type match */ | 106 | /* Check address type match */ |
107 | if ((addr[0] ^ range[0]) & 0x03000000) | 107 | if (!((addr[0] ^ range[0]) & 0x03000000)) |
108 | return -EINVAL; | 108 | goto type_match; |
109 | |||
110 | /* Special exception, we can map a 64-bit address into | ||
111 | * a 32-bit range. | ||
112 | */ | ||
113 | if ((addr[0] & 0x03000000) == 0x03000000 && | ||
114 | (range[0] & 0x03000000) == 0x02000000) | ||
115 | goto type_match; | ||
116 | |||
117 | return -EINVAL; | ||
109 | 118 | ||
119 | type_match: | ||
110 | if (of_out_of_range(addr + 1, range + 1, range + na + pna, | 120 | if (of_out_of_range(addr + 1, range + 1, range + na + pna, |
111 | na - 1, ns)) | 121 | na - 1, ns)) |
112 | return -EINVAL; | 122 | return -EINVAL; |
diff --git a/arch/sparc/kernel/ptrace_64.c b/arch/sparc/kernel/ptrace_64.c index 4ae91dc2feb9..2f6524d1a817 100644 --- a/arch/sparc/kernel/ptrace_64.c +++ b/arch/sparc/kernel/ptrace_64.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/signal.h> | 23 | #include <linux/signal.h> |
24 | #include <linux/regset.h> | 24 | #include <linux/regset.h> |
25 | #include <linux/tracehook.h> | 25 | #include <linux/tracehook.h> |
26 | #include <trace/syscall.h> | ||
26 | #include <linux/compat.h> | 27 | #include <linux/compat.h> |
27 | #include <linux/elf.h> | 28 | #include <linux/elf.h> |
28 | 29 | ||
@@ -37,6 +38,9 @@ | |||
37 | #include <asm/cpudata.h> | 38 | #include <asm/cpudata.h> |
38 | #include <asm/cacheflush.h> | 39 | #include <asm/cacheflush.h> |
39 | 40 | ||
41 | #define CREATE_TRACE_POINTS | ||
42 | #include <trace/events/syscalls.h> | ||
43 | |||
40 | #include "entry.h" | 44 | #include "entry.h" |
41 | 45 | ||
42 | /* #define ALLOW_INIT_TRACING */ | 46 | /* #define ALLOW_INIT_TRACING */ |
@@ -1059,6 +1063,9 @@ asmlinkage int syscall_trace_enter(struct pt_regs *regs) | |||
1059 | if (test_thread_flag(TIF_SYSCALL_TRACE)) | 1063 | if (test_thread_flag(TIF_SYSCALL_TRACE)) |
1060 | ret = tracehook_report_syscall_entry(regs); | 1064 | ret = tracehook_report_syscall_entry(regs); |
1061 | 1065 | ||
1066 | if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) | ||
1067 | trace_sys_enter(regs, regs->u_regs[UREG_G1]); | ||
1068 | |||
1062 | if (unlikely(current->audit_context) && !ret) | 1069 | if (unlikely(current->audit_context) && !ret) |
1063 | audit_syscall_entry((test_thread_flag(TIF_32BIT) ? | 1070 | audit_syscall_entry((test_thread_flag(TIF_32BIT) ? |
1064 | AUDIT_ARCH_SPARC : | 1071 | AUDIT_ARCH_SPARC : |
@@ -1084,6 +1091,9 @@ asmlinkage void syscall_trace_leave(struct pt_regs *regs) | |||
1084 | audit_syscall_exit(result, regs->u_regs[UREG_I0]); | 1091 | audit_syscall_exit(result, regs->u_regs[UREG_I0]); |
1085 | } | 1092 | } |
1086 | 1093 | ||
1094 | if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) | ||
1095 | trace_sys_exit(regs, regs->u_regs[UREG_G1]); | ||
1096 | |||
1087 | if (test_thread_flag(TIF_SYSCALL_TRACE)) | 1097 | if (test_thread_flag(TIF_SYSCALL_TRACE)) |
1088 | tracehook_report_syscall_exit(regs, 0); | 1098 | tracehook_report_syscall_exit(regs, 0); |
1089 | } | 1099 | } |
diff --git a/arch/sparc/kernel/syscalls.S b/arch/sparc/kernel/syscalls.S index d150c2aa98d2..dc4a458f74dc 100644 --- a/arch/sparc/kernel/syscalls.S +++ b/arch/sparc/kernel/syscalls.S | |||
@@ -62,7 +62,7 @@ sys32_rt_sigreturn: | |||
62 | #endif | 62 | #endif |
63 | .align 32 | 63 | .align 32 |
64 | 1: ldx [%g6 + TI_FLAGS], %l5 | 64 | 1: ldx [%g6 + TI_FLAGS], %l5 |
65 | andcc %l5, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT), %g0 | 65 | andcc %l5, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT|_TIF_SYSCALL_TRACEPOINT), %g0 |
66 | be,pt %icc, rtrap | 66 | be,pt %icc, rtrap |
67 | nop | 67 | nop |
68 | call syscall_trace_leave | 68 | call syscall_trace_leave |
@@ -187,7 +187,7 @@ linux_syscall_trace: | |||
187 | .globl linux_sparc_syscall32 | 187 | .globl linux_sparc_syscall32 |
188 | linux_sparc_syscall32: | 188 | linux_sparc_syscall32: |
189 | /* Direct access to user regs, much faster. */ | 189 | /* Direct access to user regs, much faster. */ |
190 | cmp %g1, NR_SYSCALLS ! IEU1 Group | 190 | cmp %g1, NR_syscalls ! IEU1 Group |
191 | bgeu,pn %xcc, linux_sparc_ni_syscall ! CTI | 191 | bgeu,pn %xcc, linux_sparc_ni_syscall ! CTI |
192 | srl %i0, 0, %o0 ! IEU0 | 192 | srl %i0, 0, %o0 ! IEU0 |
193 | sll %g1, 2, %l4 ! IEU0 Group | 193 | sll %g1, 2, %l4 ! IEU0 Group |
@@ -198,7 +198,7 @@ linux_sparc_syscall32: | |||
198 | 198 | ||
199 | srl %i5, 0, %o5 ! IEU1 | 199 | srl %i5, 0, %o5 ! IEU1 |
200 | srl %i2, 0, %o2 ! IEU0 Group | 200 | srl %i2, 0, %o2 ! IEU0 Group |
201 | andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT), %g0 | 201 | andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT|_TIF_SYSCALL_TRACEPOINT), %g0 |
202 | bne,pn %icc, linux_syscall_trace32 ! CTI | 202 | bne,pn %icc, linux_syscall_trace32 ! CTI |
203 | mov %i0, %l5 ! IEU1 | 203 | mov %i0, %l5 ! IEU1 |
204 | call %l7 ! CTI Group brk forced | 204 | call %l7 ! CTI Group brk forced |
@@ -210,7 +210,7 @@ linux_sparc_syscall32: | |||
210 | .globl linux_sparc_syscall | 210 | .globl linux_sparc_syscall |
211 | linux_sparc_syscall: | 211 | linux_sparc_syscall: |
212 | /* Direct access to user regs, much faster. */ | 212 | /* Direct access to user regs, much faster. */ |
213 | cmp %g1, NR_SYSCALLS ! IEU1 Group | 213 | cmp %g1, NR_syscalls ! IEU1 Group |
214 | bgeu,pn %xcc, linux_sparc_ni_syscall ! CTI | 214 | bgeu,pn %xcc, linux_sparc_ni_syscall ! CTI |
215 | mov %i0, %o0 ! IEU0 | 215 | mov %i0, %o0 ! IEU0 |
216 | sll %g1, 2, %l4 ! IEU0 Group | 216 | sll %g1, 2, %l4 ! IEU0 Group |
@@ -221,7 +221,7 @@ linux_sparc_syscall: | |||
221 | 221 | ||
222 | mov %i3, %o3 ! IEU1 | 222 | mov %i3, %o3 ! IEU1 |
223 | mov %i4, %o4 ! IEU0 Group | 223 | mov %i4, %o4 ! IEU0 Group |
224 | andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT), %g0 | 224 | andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT|_TIF_SYSCALL_TRACEPOINT), %g0 |
225 | bne,pn %icc, linux_syscall_trace ! CTI Group | 225 | bne,pn %icc, linux_syscall_trace ! CTI Group |
226 | mov %i0, %l5 ! IEU0 | 226 | mov %i0, %l5 ! IEU0 |
227 | 2: call %l7 ! CTI Group brk forced | 227 | 2: call %l7 ! CTI Group brk forced |
@@ -245,7 +245,7 @@ ret_sys_call: | |||
245 | 245 | ||
246 | cmp %o0, -ERESTART_RESTARTBLOCK | 246 | cmp %o0, -ERESTART_RESTARTBLOCK |
247 | bgeu,pn %xcc, 1f | 247 | bgeu,pn %xcc, 1f |
248 | andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT), %l6 | 248 | andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT|_TIF_SYSCALL_TRACEPOINT), %l6 |
249 | 80: | 249 | 80: |
250 | /* System call success, clear Carry condition code. */ | 250 | /* System call success, clear Carry condition code. */ |
251 | andn %g3, %g2, %g3 | 251 | andn %g3, %g2, %g3 |
@@ -260,7 +260,7 @@ ret_sys_call: | |||
260 | /* System call failure, set Carry condition code. | 260 | /* System call failure, set Carry condition code. |
261 | * Also, get abs(errno) to return to the process. | 261 | * Also, get abs(errno) to return to the process. |
262 | */ | 262 | */ |
263 | andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT), %l6 | 263 | andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT|_TIF_SYSCALL_TRACEPOINT), %l6 |
264 | sub %g0, %o0, %o0 | 264 | sub %g0, %o0, %o0 |
265 | or %g3, %g2, %g3 | 265 | or %g3, %g2, %g3 |
266 | stx %o0, [%sp + PTREGS_OFF + PT_V9_I0] | 266 | stx %o0, [%sp + PTREGS_OFF + PT_V9_I0] |
diff --git a/arch/sparc/kernel/time_64.c b/arch/sparc/kernel/time_64.c index 63f73ae8a892..67e165102885 100644 --- a/arch/sparc/kernel/time_64.c +++ b/arch/sparc/kernel/time_64.c | |||
@@ -774,26 +774,9 @@ void __devinit setup_sparc64_timer(void) | |||
774 | static struct clocksource clocksource_tick = { | 774 | static struct clocksource clocksource_tick = { |
775 | .rating = 100, | 775 | .rating = 100, |
776 | .mask = CLOCKSOURCE_MASK(64), | 776 | .mask = CLOCKSOURCE_MASK(64), |
777 | .shift = 16, | ||
778 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, | 777 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, |
779 | }; | 778 | }; |
780 | 779 | ||
781 | static void __init setup_clockevent_multiplier(unsigned long hz) | ||
782 | { | ||
783 | unsigned long mult, shift = 32; | ||
784 | |||
785 | while (1) { | ||
786 | mult = div_sc(hz, NSEC_PER_SEC, shift); | ||
787 | if (mult && (mult >> 32UL) == 0UL) | ||
788 | break; | ||
789 | |||
790 | shift--; | ||
791 | } | ||
792 | |||
793 | sparc64_clockevent.shift = shift; | ||
794 | sparc64_clockevent.mult = mult; | ||
795 | } | ||
796 | |||
797 | static unsigned long tb_ticks_per_usec __read_mostly; | 780 | static unsigned long tb_ticks_per_usec __read_mostly; |
798 | 781 | ||
799 | void __delay(unsigned long loops) | 782 | void __delay(unsigned long loops) |
@@ -828,9 +811,7 @@ void __init time_init(void) | |||
828 | clocksource_hz2mult(freq, SPARC64_NSEC_PER_CYC_SHIFT); | 811 | clocksource_hz2mult(freq, SPARC64_NSEC_PER_CYC_SHIFT); |
829 | 812 | ||
830 | clocksource_tick.name = tick_ops->name; | 813 | clocksource_tick.name = tick_ops->name; |
831 | clocksource_tick.mult = | 814 | clocksource_calc_mult_shift(&clocksource_tick, freq, 4); |
832 | clocksource_hz2mult(freq, | ||
833 | clocksource_tick.shift); | ||
834 | clocksource_tick.read = clocksource_tick_read; | 815 | clocksource_tick.read = clocksource_tick_read; |
835 | 816 | ||
836 | printk("clocksource: mult[%x] shift[%d]\n", | 817 | printk("clocksource: mult[%x] shift[%d]\n", |
@@ -839,15 +820,14 @@ void __init time_init(void) | |||
839 | clocksource_register(&clocksource_tick); | 820 | clocksource_register(&clocksource_tick); |
840 | 821 | ||
841 | sparc64_clockevent.name = tick_ops->name; | 822 | sparc64_clockevent.name = tick_ops->name; |
842 | 823 | clockevents_calc_mult_shift(&sparc64_clockevent, freq, 4); | |
843 | setup_clockevent_multiplier(freq); | ||
844 | 824 | ||
845 | sparc64_clockevent.max_delta_ns = | 825 | sparc64_clockevent.max_delta_ns = |
846 | clockevent_delta2ns(0x7fffffffffffffffUL, &sparc64_clockevent); | 826 | clockevent_delta2ns(0x7fffffffffffffffUL, &sparc64_clockevent); |
847 | sparc64_clockevent.min_delta_ns = | 827 | sparc64_clockevent.min_delta_ns = |
848 | clockevent_delta2ns(0xF, &sparc64_clockevent); | 828 | clockevent_delta2ns(0xF, &sparc64_clockevent); |
849 | 829 | ||
850 | printk("clockevent: mult[%ux] shift[%d]\n", | 830 | printk("clockevent: mult[%x] shift[%d]\n", |
851 | sparc64_clockevent.mult, sparc64_clockevent.shift); | 831 | sparc64_clockevent.mult, sparc64_clockevent.shift); |
852 | 832 | ||
853 | setup_sparc64_timer(); | 833 | setup_sparc64_timer(); |
diff --git a/arch/sparc/kernel/unaligned_32.c b/arch/sparc/kernel/unaligned_32.c index 6b1e6cde6fff..f8514e291e15 100644 --- a/arch/sparc/kernel/unaligned_32.c +++ b/arch/sparc/kernel/unaligned_32.c | |||
@@ -17,8 +17,7 @@ | |||
17 | #include <asm/uaccess.h> | 17 | #include <asm/uaccess.h> |
18 | #include <linux/smp.h> | 18 | #include <linux/smp.h> |
19 | #include <linux/smp_lock.h> | 19 | #include <linux/smp_lock.h> |
20 | 20 | #include <linux/perf_event.h> | |
21 | /* #define DEBUG_MNA */ | ||
22 | 21 | ||
23 | enum direction { | 22 | enum direction { |
24 | load, /* ld, ldd, ldh, ldsh */ | 23 | load, /* ld, ldd, ldh, ldsh */ |
@@ -29,12 +28,6 @@ enum direction { | |||
29 | invalid, | 28 | invalid, |
30 | }; | 29 | }; |
31 | 30 | ||
32 | #ifdef DEBUG_MNA | ||
33 | static char *dirstrings[] = { | ||
34 | "load", "store", "both", "fpload", "fpstore", "invalid" | ||
35 | }; | ||
36 | #endif | ||
37 | |||
38 | static inline enum direction decode_direction(unsigned int insn) | 31 | static inline enum direction decode_direction(unsigned int insn) |
39 | { | 32 | { |
40 | unsigned long tmp = (insn >> 21) & 1; | 33 | unsigned long tmp = (insn >> 21) & 1; |
@@ -255,10 +248,7 @@ asmlinkage void kernel_unaligned_trap(struct pt_regs *regs, unsigned int insn) | |||
255 | unsigned long addr = compute_effective_address(regs, insn); | 248 | unsigned long addr = compute_effective_address(regs, insn); |
256 | int err; | 249 | int err; |
257 | 250 | ||
258 | #ifdef DEBUG_MNA | 251 | perf_sw_event(PERF_COUNT_SW_ALIGNMENT_FAULTS, 1, 0, regs, addr); |
259 | printk("KMNA: pc=%08lx [dir=%s addr=%08lx size=%d] retpc[%08lx]\n", | ||
260 | regs->pc, dirstrings[dir], addr, size, regs->u_regs[UREG_RETPC]); | ||
261 | #endif | ||
262 | switch (dir) { | 252 | switch (dir) { |
263 | case load: | 253 | case load: |
264 | err = do_int_load(fetch_reg_addr(((insn>>25)&0x1f), | 254 | err = do_int_load(fetch_reg_addr(((insn>>25)&0x1f), |
@@ -350,6 +340,7 @@ asmlinkage void user_unaligned_trap(struct pt_regs *regs, unsigned int insn) | |||
350 | } | 340 | } |
351 | 341 | ||
352 | addr = compute_effective_address(regs, insn); | 342 | addr = compute_effective_address(regs, insn); |
343 | perf_sw_event(PERF_COUNT_SW_ALIGNMENT_FAULTS, 1, 0, regs, addr); | ||
353 | switch(dir) { | 344 | switch(dir) { |
354 | case load: | 345 | case load: |
355 | err = do_int_load(fetch_reg_addr(((insn>>25)&0x1f), | 346 | err = do_int_load(fetch_reg_addr(((insn>>25)&0x1f), |
diff --git a/arch/sparc/kernel/unaligned_64.c b/arch/sparc/kernel/unaligned_64.c index 379209982a07..378ca82b9ccc 100644 --- a/arch/sparc/kernel/unaligned_64.c +++ b/arch/sparc/kernel/unaligned_64.c | |||
@@ -20,10 +20,9 @@ | |||
20 | #include <asm/uaccess.h> | 20 | #include <asm/uaccess.h> |
21 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
22 | #include <linux/bitops.h> | 22 | #include <linux/bitops.h> |
23 | #include <linux/perf_event.h> | ||
23 | #include <asm/fpumacro.h> | 24 | #include <asm/fpumacro.h> |
24 | 25 | ||
25 | /* #define DEBUG_MNA */ | ||
26 | |||
27 | enum direction { | 26 | enum direction { |
28 | load, /* ld, ldd, ldh, ldsh */ | 27 | load, /* ld, ldd, ldh, ldsh */ |
29 | store, /* st, std, sth, stsh */ | 28 | store, /* st, std, sth, stsh */ |
@@ -33,12 +32,6 @@ enum direction { | |||
33 | invalid, | 32 | invalid, |
34 | }; | 33 | }; |
35 | 34 | ||
36 | #ifdef DEBUG_MNA | ||
37 | static char *dirstrings[] = { | ||
38 | "load", "store", "both", "fpload", "fpstore", "invalid" | ||
39 | }; | ||
40 | #endif | ||
41 | |||
42 | static inline enum direction decode_direction(unsigned int insn) | 35 | static inline enum direction decode_direction(unsigned int insn) |
43 | { | 36 | { |
44 | unsigned long tmp = (insn >> 21) & 1; | 37 | unsigned long tmp = (insn >> 21) & 1; |
@@ -327,12 +320,7 @@ asmlinkage void kernel_unaligned_trap(struct pt_regs *regs, unsigned int insn) | |||
327 | 320 | ||
328 | addr = compute_effective_address(regs, insn, | 321 | addr = compute_effective_address(regs, insn, |
329 | ((insn >> 25) & 0x1f)); | 322 | ((insn >> 25) & 0x1f)); |
330 | #ifdef DEBUG_MNA | 323 | perf_sw_event(PERF_COUNT_SW_ALIGNMENT_FAULTS, 1, 0, regs, addr); |
331 | printk("KMNA: pc=%016lx [dir=%s addr=%016lx size=%d] " | ||
332 | "retpc[%016lx]\n", | ||
333 | regs->tpc, dirstrings[dir], addr, size, | ||
334 | regs->u_regs[UREG_RETPC]); | ||
335 | #endif | ||
336 | switch (asi) { | 324 | switch (asi) { |
337 | case ASI_NL: | 325 | case ASI_NL: |
338 | case ASI_AIUPL: | 326 | case ASI_AIUPL: |
@@ -399,6 +387,7 @@ int handle_popc(u32 insn, struct pt_regs *regs) | |||
399 | int ret, i, rd = ((insn >> 25) & 0x1f); | 387 | int ret, i, rd = ((insn >> 25) & 0x1f); |
400 | int from_kernel = (regs->tstate & TSTATE_PRIV) != 0; | 388 | int from_kernel = (regs->tstate & TSTATE_PRIV) != 0; |
401 | 389 | ||
390 | perf_sw_event(PERF_COUNT_SW_EMULATION_FAULTS, 1, 0, regs, 0); | ||
402 | if (insn & 0x2000) { | 391 | if (insn & 0x2000) { |
403 | maybe_flush_windows(0, 0, rd, from_kernel); | 392 | maybe_flush_windows(0, 0, rd, from_kernel); |
404 | value = sign_extend_imm13(insn); | 393 | value = sign_extend_imm13(insn); |
@@ -445,6 +434,8 @@ int handle_ldf_stq(u32 insn, struct pt_regs *regs) | |||
445 | int asi = decode_asi(insn, regs); | 434 | int asi = decode_asi(insn, regs); |
446 | int flag = (freg < 32) ? FPRS_DL : FPRS_DU; | 435 | int flag = (freg < 32) ? FPRS_DL : FPRS_DU; |
447 | 436 | ||
437 | perf_sw_event(PERF_COUNT_SW_EMULATION_FAULTS, 1, 0, regs, 0); | ||
438 | |||
448 | save_and_clear_fpu(); | 439 | save_and_clear_fpu(); |
449 | current_thread_info()->xfsr[0] &= ~0x1c000; | 440 | current_thread_info()->xfsr[0] &= ~0x1c000; |
450 | if (freg & 3) { | 441 | if (freg & 3) { |
@@ -566,6 +557,8 @@ void handle_ld_nf(u32 insn, struct pt_regs *regs) | |||
566 | int from_kernel = (regs->tstate & TSTATE_PRIV) != 0; | 557 | int from_kernel = (regs->tstate & TSTATE_PRIV) != 0; |
567 | unsigned long *reg; | 558 | unsigned long *reg; |
568 | 559 | ||
560 | perf_sw_event(PERF_COUNT_SW_EMULATION_FAULTS, 1, 0, regs, 0); | ||
561 | |||
569 | maybe_flush_windows(0, 0, rd, from_kernel); | 562 | maybe_flush_windows(0, 0, rd, from_kernel); |
570 | reg = fetch_reg_addr(rd, regs); | 563 | reg = fetch_reg_addr(rd, regs); |
571 | if (from_kernel || rd < 16) { | 564 | if (from_kernel || rd < 16) { |
@@ -596,6 +589,7 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr | |||
596 | 589 | ||
597 | if (tstate & TSTATE_PRIV) | 590 | if (tstate & TSTATE_PRIV) |
598 | die_if_kernel("lddfmna from kernel", regs); | 591 | die_if_kernel("lddfmna from kernel", regs); |
592 | perf_sw_event(PERF_COUNT_SW_ALIGNMENT_FAULTS, 1, 0, regs, sfar); | ||
599 | if (test_thread_flag(TIF_32BIT)) | 593 | if (test_thread_flag(TIF_32BIT)) |
600 | pc = (u32)pc; | 594 | pc = (u32)pc; |
601 | if (get_user(insn, (u32 __user *) pc) != -EFAULT) { | 595 | if (get_user(insn, (u32 __user *) pc) != -EFAULT) { |
@@ -657,6 +651,7 @@ void handle_stdfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr | |||
657 | 651 | ||
658 | if (tstate & TSTATE_PRIV) | 652 | if (tstate & TSTATE_PRIV) |
659 | die_if_kernel("stdfmna from kernel", regs); | 653 | die_if_kernel("stdfmna from kernel", regs); |
654 | perf_sw_event(PERF_COUNT_SW_ALIGNMENT_FAULTS, 1, 0, regs, sfar); | ||
660 | if (test_thread_flag(TIF_32BIT)) | 655 | if (test_thread_flag(TIF_32BIT)) |
661 | pc = (u32)pc; | 656 | pc = (u32)pc; |
662 | if (get_user(insn, (u32 __user *) pc) != -EFAULT) { | 657 | if (get_user(insn, (u32 __user *) pc) != -EFAULT) { |
diff --git a/arch/sparc/kernel/visemul.c b/arch/sparc/kernel/visemul.c index d231cbd5c526..9dfd2ebcb157 100644 --- a/arch/sparc/kernel/visemul.c +++ b/arch/sparc/kernel/visemul.c | |||
@@ -5,6 +5,7 @@ | |||
5 | #include <linux/kernel.h> | 5 | #include <linux/kernel.h> |
6 | #include <linux/errno.h> | 6 | #include <linux/errno.h> |
7 | #include <linux/thread_info.h> | 7 | #include <linux/thread_info.h> |
8 | #include <linux/perf_event.h> | ||
8 | 9 | ||
9 | #include <asm/ptrace.h> | 10 | #include <asm/ptrace.h> |
10 | #include <asm/pstate.h> | 11 | #include <asm/pstate.h> |
@@ -801,6 +802,8 @@ int vis_emul(struct pt_regs *regs, unsigned int insn) | |||
801 | 802 | ||
802 | BUG_ON(regs->tstate & TSTATE_PRIV); | 803 | BUG_ON(regs->tstate & TSTATE_PRIV); |
803 | 804 | ||
805 | perf_sw_event(PERF_COUNT_SW_EMULATION_FAULTS, 1, 0, regs, 0); | ||
806 | |||
804 | if (test_thread_flag(TIF_32BIT)) | 807 | if (test_thread_flag(TIF_32BIT)) |
805 | pc = (u32)pc; | 808 | pc = (u32)pc; |
806 | 809 | ||
diff --git a/arch/sparc/lib/Makefile b/arch/sparc/lib/Makefile index e75faf0e59ae..c4b5e03af115 100644 --- a/arch/sparc/lib/Makefile +++ b/arch/sparc/lib/Makefile | |||
@@ -44,3 +44,4 @@ obj-y += iomap.o | |||
44 | obj-$(CONFIG_SPARC32) += atomic32.o | 44 | obj-$(CONFIG_SPARC32) += atomic32.o |
45 | obj-y += ksyms.o | 45 | obj-y += ksyms.o |
46 | obj-$(CONFIG_SPARC64) += PeeCeeI.o | 46 | obj-$(CONFIG_SPARC64) += PeeCeeI.o |
47 | obj-y += usercopy.o | ||
diff --git a/arch/sparc/lib/bzero.S b/arch/sparc/lib/bzero.S index b6557297440f..615f401edf69 100644 --- a/arch/sparc/lib/bzero.S +++ b/arch/sparc/lib/bzero.S | |||
@@ -6,10 +6,6 @@ | |||
6 | 6 | ||
7 | .text | 7 | .text |
8 | 8 | ||
9 | .globl __memset | ||
10 | .type __memset, #function | ||
11 | __memset: /* %o0=buf, %o1=pat, %o2=len */ | ||
12 | |||
13 | .globl memset | 9 | .globl memset |
14 | .type memset, #function | 10 | .type memset, #function |
15 | memset: /* %o0=buf, %o1=pat, %o2=len */ | 11 | memset: /* %o0=buf, %o1=pat, %o2=len */ |
@@ -83,7 +79,6 @@ __bzero_done: | |||
83 | retl | 79 | retl |
84 | mov %o3, %o0 | 80 | mov %o3, %o0 |
85 | .size __bzero, .-__bzero | 81 | .size __bzero, .-__bzero |
86 | .size __memset, .-__memset | ||
87 | .size memset, .-memset | 82 | .size memset, .-memset |
88 | 83 | ||
89 | #define EX_ST(x,y) \ | 84 | #define EX_ST(x,y) \ |
diff --git a/arch/sparc/lib/checksum_32.S b/arch/sparc/lib/checksum_32.S index 77f228533d47..3632cb34e914 100644 --- a/arch/sparc/lib/checksum_32.S +++ b/arch/sparc/lib/checksum_32.S | |||
@@ -560,7 +560,7 @@ __csum_partial_copy_end: | |||
560 | mov %i0, %o1 | 560 | mov %i0, %o1 |
561 | mov %i1, %o0 | 561 | mov %i1, %o0 |
562 | 5: | 562 | 5: |
563 | call __memcpy | 563 | call memcpy |
564 | mov %i2, %o2 | 564 | mov %i2, %o2 |
565 | tst %o0 | 565 | tst %o0 |
566 | bne,a 2f | 566 | bne,a 2f |
diff --git a/arch/sparc/lib/ksyms.c b/arch/sparc/lib/ksyms.c index 704b12668388..1b30bb3bfdb1 100644 --- a/arch/sparc/lib/ksyms.c +++ b/arch/sparc/lib/ksyms.c | |||
@@ -30,7 +30,6 @@ EXPORT_SYMBOL(__memscan_generic); | |||
30 | EXPORT_SYMBOL(memcmp); | 30 | EXPORT_SYMBOL(memcmp); |
31 | EXPORT_SYMBOL(memcpy); | 31 | EXPORT_SYMBOL(memcpy); |
32 | EXPORT_SYMBOL(memset); | 32 | EXPORT_SYMBOL(memset); |
33 | EXPORT_SYMBOL(__memset); | ||
34 | EXPORT_SYMBOL(memmove); | 33 | EXPORT_SYMBOL(memmove); |
35 | EXPORT_SYMBOL(__bzero); | 34 | EXPORT_SYMBOL(__bzero); |
36 | 35 | ||
@@ -81,7 +80,6 @@ EXPORT_SYMBOL(__csum_partial_copy_sparc_generic); | |||
81 | 80 | ||
82 | /* Special internal versions of library functions. */ | 81 | /* Special internal versions of library functions. */ |
83 | EXPORT_SYMBOL(__copy_1page); | 82 | EXPORT_SYMBOL(__copy_1page); |
84 | EXPORT_SYMBOL(__memcpy); | ||
85 | EXPORT_SYMBOL(__memmove); | 83 | EXPORT_SYMBOL(__memmove); |
86 | EXPORT_SYMBOL(bzero_1page); | 84 | EXPORT_SYMBOL(bzero_1page); |
87 | 85 | ||
diff --git a/arch/sparc/lib/mcount.S b/arch/sparc/lib/mcount.S index 7ce9c65f3592..24b8b12deed2 100644 --- a/arch/sparc/lib/mcount.S +++ b/arch/sparc/lib/mcount.S | |||
@@ -64,8 +64,9 @@ mcount: | |||
64 | 2: sethi %hi(softirq_stack), %g3 | 64 | 2: sethi %hi(softirq_stack), %g3 |
65 | or %g3, %lo(softirq_stack), %g3 | 65 | or %g3, %lo(softirq_stack), %g3 |
66 | ldx [%g3 + %g1], %g7 | 66 | ldx [%g3 + %g1], %g7 |
67 | sub %g7, STACK_BIAS, %g7 | ||
67 | cmp %sp, %g7 | 68 | cmp %sp, %g7 |
68 | bleu,pt %xcc, 2f | 69 | bleu,pt %xcc, 3f |
69 | sethi %hi(THREAD_SIZE), %g3 | 70 | sethi %hi(THREAD_SIZE), %g3 |
70 | add %g7, %g3, %g7 | 71 | add %g7, %g3, %g7 |
71 | cmp %sp, %g7 | 72 | cmp %sp, %g7 |
@@ -75,7 +76,7 @@ mcount: | |||
75 | * again, we are already trying to output the stack overflow | 76 | * again, we are already trying to output the stack overflow |
76 | * message. | 77 | * message. |
77 | */ | 78 | */ |
78 | sethi %hi(ovstack), %g7 ! cant move to panic stack fast enough | 79 | 3: sethi %hi(ovstack), %g7 ! cant move to panic stack fast enough |
79 | or %g7, %lo(ovstack), %g7 | 80 | or %g7, %lo(ovstack), %g7 |
80 | add %g7, OVSTACKSIZE, %g3 | 81 | add %g7, OVSTACKSIZE, %g3 |
81 | sub %g3, STACK_BIAS + 192, %g3 | 82 | sub %g3, STACK_BIAS + 192, %g3 |
diff --git a/arch/sparc/lib/memcpy.S b/arch/sparc/lib/memcpy.S index ce10bc869af9..34fe65751737 100644 --- a/arch/sparc/lib/memcpy.S +++ b/arch/sparc/lib/memcpy.S | |||
@@ -543,9 +543,6 @@ FUNC(memmove) | |||
543 | b 3f | 543 | b 3f |
544 | add %o0, 2, %o0 | 544 | add %o0, 2, %o0 |
545 | 545 | ||
546 | #ifdef __KERNEL__ | ||
547 | FUNC(__memcpy) | ||
548 | #endif | ||
549 | FUNC(memcpy) /* %o0=dst %o1=src %o2=len */ | 546 | FUNC(memcpy) /* %o0=dst %o1=src %o2=len */ |
550 | 547 | ||
551 | sub %o0, %o1, %o4 | 548 | sub %o0, %o1, %o4 |
diff --git a/arch/sparc/lib/memset.S b/arch/sparc/lib/memset.S index 1c37ea892deb..99c017be8719 100644 --- a/arch/sparc/lib/memset.S +++ b/arch/sparc/lib/memset.S | |||
@@ -60,11 +60,10 @@ | |||
60 | .globl __bzero_begin | 60 | .globl __bzero_begin |
61 | __bzero_begin: | 61 | __bzero_begin: |
62 | 62 | ||
63 | .globl __bzero, __memset, | 63 | .globl __bzero |
64 | .globl memset | 64 | .globl memset |
65 | .globl __memset_start, __memset_end | 65 | .globl __memset_start, __memset_end |
66 | __memset_start: | 66 | __memset_start: |
67 | __memset: | ||
68 | memset: | 67 | memset: |
69 | and %o1, 0xff, %g3 | 68 | and %o1, 0xff, %g3 |
70 | sll %g3, 8, %g2 | 69 | sll %g3, 8, %g2 |
diff --git a/arch/sparc/lib/usercopy.c b/arch/sparc/lib/usercopy.c new file mode 100644 index 000000000000..14b363fec8a2 --- /dev/null +++ b/arch/sparc/lib/usercopy.c | |||
@@ -0,0 +1,8 @@ | |||
1 | #include <linux/module.h> | ||
2 | #include <linux/bug.h> | ||
3 | |||
4 | void copy_from_user_overflow(void) | ||
5 | { | ||
6 | WARN(1, "Buffer overflow detected!\n"); | ||
7 | } | ||
8 | EXPORT_SYMBOL(copy_from_user_overflow); | ||
diff --git a/arch/sparc/math-emu/math_32.c b/arch/sparc/math-emu/math_32.c index e13f65da17df..a3fccde894ec 100644 --- a/arch/sparc/math-emu/math_32.c +++ b/arch/sparc/math-emu/math_32.c | |||
@@ -67,6 +67,7 @@ | |||
67 | #include <linux/types.h> | 67 | #include <linux/types.h> |
68 | #include <linux/sched.h> | 68 | #include <linux/sched.h> |
69 | #include <linux/mm.h> | 69 | #include <linux/mm.h> |
70 | #include <linux/perf_event.h> | ||
70 | #include <asm/uaccess.h> | 71 | #include <asm/uaccess.h> |
71 | 72 | ||
72 | #include "sfp-util_32.h" | 73 | #include "sfp-util_32.h" |
@@ -163,6 +164,8 @@ int do_mathemu(struct pt_regs *regs, struct task_struct *fpt) | |||
163 | int retcode = 0; /* assume all succeed */ | 164 | int retcode = 0; /* assume all succeed */ |
164 | unsigned long insn; | 165 | unsigned long insn; |
165 | 166 | ||
167 | perf_sw_event(PERF_COUNT_SW_EMULATION_FAULTS, 1, 0, regs, 0); | ||
168 | |||
166 | #ifdef DEBUG_MATHEMU | 169 | #ifdef DEBUG_MATHEMU |
167 | printk("In do_mathemu()... pc is %08lx\n", regs->pc); | 170 | printk("In do_mathemu()... pc is %08lx\n", regs->pc); |
168 | printk("fpqdepth is %ld\n", fpt->thread.fpqdepth); | 171 | printk("fpqdepth is %ld\n", fpt->thread.fpqdepth); |
diff --git a/arch/sparc/math-emu/math_64.c b/arch/sparc/math-emu/math_64.c index 6863c9bde25c..56d2c44747b8 100644 --- a/arch/sparc/math-emu/math_64.c +++ b/arch/sparc/math-emu/math_64.c | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <linux/types.h> | 11 | #include <linux/types.h> |
12 | #include <linux/sched.h> | 12 | #include <linux/sched.h> |
13 | #include <linux/errno.h> | 13 | #include <linux/errno.h> |
14 | #include <linux/perf_event.h> | ||
14 | 15 | ||
15 | #include <asm/fpumacro.h> | 16 | #include <asm/fpumacro.h> |
16 | #include <asm/ptrace.h> | 17 | #include <asm/ptrace.h> |
@@ -183,6 +184,7 @@ int do_mathemu(struct pt_regs *regs, struct fpustate *f) | |||
183 | 184 | ||
184 | if (tstate & TSTATE_PRIV) | 185 | if (tstate & TSTATE_PRIV) |
185 | die_if_kernel("unfinished/unimplemented FPop from kernel", regs); | 186 | die_if_kernel("unfinished/unimplemented FPop from kernel", regs); |
187 | perf_sw_event(PERF_COUNT_SW_EMULATION_FAULTS, 1, 0, regs, 0); | ||
186 | if (test_thread_flag(TIF_32BIT)) | 188 | if (test_thread_flag(TIF_32BIT)) |
187 | pc = (u32)pc; | 189 | pc = (u32)pc; |
188 | if (get_user(insn, (u32 __user *) pc) != -EFAULT) { | 190 | if (get_user(insn, (u32 __user *) pc) != -EFAULT) { |
diff --git a/arch/sparc/mm/fault_64.c b/arch/sparc/mm/fault_64.c index 43b0da96a4fb..6081936bf03b 100644 --- a/arch/sparc/mm/fault_64.c +++ b/arch/sparc/mm/fault_64.c | |||
@@ -31,13 +31,12 @@ | |||
31 | #include <asm/sections.h> | 31 | #include <asm/sections.h> |
32 | #include <asm/mmu_context.h> | 32 | #include <asm/mmu_context.h> |
33 | 33 | ||
34 | #ifdef CONFIG_KPROBES | 34 | static inline __kprobes int notify_page_fault(struct pt_regs *regs) |
35 | static inline int notify_page_fault(struct pt_regs *regs) | ||
36 | { | 35 | { |
37 | int ret = 0; | 36 | int ret = 0; |
38 | 37 | ||
39 | /* kprobe_running() needs smp_processor_id() */ | 38 | /* kprobe_running() needs smp_processor_id() */ |
40 | if (!user_mode(regs)) { | 39 | if (kprobes_built_in() && !user_mode(regs)) { |
41 | preempt_disable(); | 40 | preempt_disable(); |
42 | if (kprobe_running() && kprobe_fault_handler(regs, 0)) | 41 | if (kprobe_running() && kprobe_fault_handler(regs, 0)) |
43 | ret = 1; | 42 | ret = 1; |
@@ -45,12 +44,6 @@ static inline int notify_page_fault(struct pt_regs *regs) | |||
45 | } | 44 | } |
46 | return ret; | 45 | return ret; |
47 | } | 46 | } |
48 | #else | ||
49 | static inline int notify_page_fault(struct pt_regs *regs) | ||
50 | { | ||
51 | return 0; | ||
52 | } | ||
53 | #endif | ||
54 | 47 | ||
55 | static void __kprobes unhandled_fault(unsigned long address, | 48 | static void __kprobes unhandled_fault(unsigned long address, |
56 | struct task_struct *tsk, | 49 | struct task_struct *tsk, |
@@ -73,7 +66,7 @@ static void __kprobes unhandled_fault(unsigned long address, | |||
73 | die_if_kernel("Oops", regs); | 66 | die_if_kernel("Oops", regs); |
74 | } | 67 | } |
75 | 68 | ||
76 | static void bad_kernel_pc(struct pt_regs *regs, unsigned long vaddr) | 69 | static void __kprobes bad_kernel_pc(struct pt_regs *regs, unsigned long vaddr) |
77 | { | 70 | { |
78 | printk(KERN_CRIT "OOPS: Bogus kernel PC [%016lx] in fault handler\n", | 71 | printk(KERN_CRIT "OOPS: Bogus kernel PC [%016lx] in fault handler\n", |
79 | regs->tpc); | 72 | regs->tpc); |
@@ -170,8 +163,9 @@ static unsigned int get_fault_insn(struct pt_regs *regs, unsigned int insn) | |||
170 | return insn; | 163 | return insn; |
171 | } | 164 | } |
172 | 165 | ||
173 | static void do_kernel_fault(struct pt_regs *regs, int si_code, int fault_code, | 166 | static void __kprobes do_kernel_fault(struct pt_regs *regs, int si_code, |
174 | unsigned int insn, unsigned long address) | 167 | int fault_code, unsigned int insn, |
168 | unsigned long address) | ||
175 | { | 169 | { |
176 | unsigned char asi = ASI_P; | 170 | unsigned char asi = ASI_P; |
177 | 171 | ||
@@ -225,7 +219,7 @@ cannot_handle: | |||
225 | unhandled_fault (address, current, regs); | 219 | unhandled_fault (address, current, regs); |
226 | } | 220 | } |
227 | 221 | ||
228 | static void noinline bogus_32bit_fault_tpc(struct pt_regs *regs) | 222 | static void noinline __kprobes bogus_32bit_fault_tpc(struct pt_regs *regs) |
229 | { | 223 | { |
230 | static int times; | 224 | static int times; |
231 | 225 | ||
@@ -237,8 +231,8 @@ static void noinline bogus_32bit_fault_tpc(struct pt_regs *regs) | |||
237 | show_regs(regs); | 231 | show_regs(regs); |
238 | } | 232 | } |
239 | 233 | ||
240 | static void noinline bogus_32bit_fault_address(struct pt_regs *regs, | 234 | static void noinline __kprobes bogus_32bit_fault_address(struct pt_regs *regs, |
241 | unsigned long addr) | 235 | unsigned long addr) |
242 | { | 236 | { |
243 | static int times; | 237 | static int times; |
244 | 238 | ||
diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c index e14629c87de4..51069245b79a 100644 --- a/arch/um/drivers/mconsole_kern.c +++ b/arch/um/drivers/mconsole_kern.c | |||
@@ -6,6 +6,7 @@ | |||
6 | 6 | ||
7 | #include <linux/console.h> | 7 | #include <linux/console.h> |
8 | #include <linux/ctype.h> | 8 | #include <linux/ctype.h> |
9 | #include <linux/string.h> | ||
9 | #include <linux/interrupt.h> | 10 | #include <linux/interrupt.h> |
10 | #include <linux/list.h> | 11 | #include <linux/list.h> |
11 | #include <linux/mm.h> | 12 | #include <linux/mm.h> |
@@ -131,7 +132,7 @@ void mconsole_proc(struct mc_request *req) | |||
131 | char *ptr = req->request.data, *buf; | 132 | char *ptr = req->request.data, *buf; |
132 | 133 | ||
133 | ptr += strlen("proc"); | 134 | ptr += strlen("proc"); |
134 | while (isspace(*ptr)) ptr++; | 135 | ptr = skip_spaces(ptr); |
135 | 136 | ||
136 | proc = get_fs_type("proc"); | 137 | proc = get_fs_type("proc"); |
137 | if (proc == NULL) { | 138 | if (proc == NULL) { |
@@ -212,8 +213,7 @@ void mconsole_proc(struct mc_request *req) | |||
212 | char *ptr = req->request.data; | 213 | char *ptr = req->request.data; |
213 | 214 | ||
214 | ptr += strlen("proc"); | 215 | ptr += strlen("proc"); |
215 | while (isspace(*ptr)) | 216 | ptr = skip_spaces(ptr); |
216 | ptr++; | ||
217 | snprintf(path, sizeof(path), "/proc/%s", ptr); | 217 | snprintf(path, sizeof(path), "/proc/%s", ptr); |
218 | 218 | ||
219 | fd = sys_open(path, 0, 0); | 219 | fd = sys_open(path, 0, 0); |
@@ -560,8 +560,7 @@ void mconsole_config(struct mc_request *req) | |||
560 | int err; | 560 | int err; |
561 | 561 | ||
562 | ptr += strlen("config"); | 562 | ptr += strlen("config"); |
563 | while (isspace(*ptr)) | 563 | ptr = skip_spaces(ptr); |
564 | ptr++; | ||
565 | dev = mconsole_find_dev(ptr); | 564 | dev = mconsole_find_dev(ptr); |
566 | if (dev == NULL) { | 565 | if (dev == NULL) { |
567 | mconsole_reply(req, "Bad configuration option", 1, 0); | 566 | mconsole_reply(req, "Bad configuration option", 1, 0); |
@@ -588,7 +587,7 @@ void mconsole_remove(struct mc_request *req) | |||
588 | int err, start, end, n; | 587 | int err, start, end, n; |
589 | 588 | ||
590 | ptr += strlen("remove"); | 589 | ptr += strlen("remove"); |
591 | while (isspace(*ptr)) ptr++; | 590 | ptr = skip_spaces(ptr); |
592 | dev = mconsole_find_dev(ptr); | 591 | dev = mconsole_find_dev(ptr); |
593 | if (dev == NULL) { | 592 | if (dev == NULL) { |
594 | mconsole_reply(req, "Bad remove option", 1, 0); | 593 | mconsole_reply(req, "Bad remove option", 1, 0); |
@@ -712,7 +711,7 @@ void mconsole_sysrq(struct mc_request *req) | |||
712 | char *ptr = req->request.data; | 711 | char *ptr = req->request.data; |
713 | 712 | ||
714 | ptr += strlen("sysrq"); | 713 | ptr += strlen("sysrq"); |
715 | while (isspace(*ptr)) ptr++; | 714 | ptr = skip_spaces(ptr); |
716 | 715 | ||
717 | /* | 716 | /* |
718 | * With 'b', the system will shut down without a chance to reply, | 717 | * With 'b', the system will shut down without a chance to reply, |
@@ -757,8 +756,7 @@ void mconsole_stack(struct mc_request *req) | |||
757 | */ | 756 | */ |
758 | 757 | ||
759 | ptr += strlen("stack"); | 758 | ptr += strlen("stack"); |
760 | while (isspace(*ptr)) | 759 | ptr = skip_spaces(ptr); |
761 | ptr++; | ||
762 | 760 | ||
763 | /* | 761 | /* |
764 | * Should really check for multiple pids or reject bad args here | 762 | * Should really check for multiple pids or reject bad args here |
@@ -833,8 +831,8 @@ static int __init mconsole_init(void) | |||
833 | 831 | ||
834 | __initcall(mconsole_init); | 832 | __initcall(mconsole_init); |
835 | 833 | ||
836 | static int write_proc_mconsole(struct file *file, const char __user *buffer, | 834 | static ssize_t mconsole_proc_write(struct file *file, |
837 | unsigned long count, void *data) | 835 | const char __user *buffer, size_t count, loff_t *pos) |
838 | { | 836 | { |
839 | char *buf; | 837 | char *buf; |
840 | 838 | ||
@@ -855,6 +853,11 @@ static int write_proc_mconsole(struct file *file, const char __user *buffer, | |||
855 | return count; | 853 | return count; |
856 | } | 854 | } |
857 | 855 | ||
856 | static const struct file_operations mconsole_proc_fops = { | ||
857 | .owner = THIS_MODULE, | ||
858 | .write = mconsole_proc_write, | ||
859 | }; | ||
860 | |||
858 | static int create_proc_mconsole(void) | 861 | static int create_proc_mconsole(void) |
859 | { | 862 | { |
860 | struct proc_dir_entry *ent; | 863 | struct proc_dir_entry *ent; |
@@ -862,15 +865,12 @@ static int create_proc_mconsole(void) | |||
862 | if (notify_socket == NULL) | 865 | if (notify_socket == NULL) |
863 | return 0; | 866 | return 0; |
864 | 867 | ||
865 | ent = create_proc_entry("mconsole", S_IFREG | 0200, NULL); | 868 | ent = proc_create("mconsole", 0200, NULL, &mconsole_proc_fops); |
866 | if (ent == NULL) { | 869 | if (ent == NULL) { |
867 | printk(KERN_INFO "create_proc_mconsole : create_proc_entry " | 870 | printk(KERN_INFO "create_proc_mconsole : create_proc_entry " |
868 | "failed\n"); | 871 | "failed\n"); |
869 | return 0; | 872 | return 0; |
870 | } | 873 | } |
871 | |||
872 | ent->read_proc = NULL; | ||
873 | ent->write_proc = write_proc_mconsole; | ||
874 | return 0; | 874 | return 0; |
875 | } | 875 | } |
876 | 876 | ||
diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c index 635d16d90a80..5ff554677f40 100644 --- a/arch/um/drivers/ubd_kern.c +++ b/arch/um/drivers/ubd_kern.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include "linux/init.h" | 27 | #include "linux/init.h" |
28 | #include "linux/cdrom.h" | 28 | #include "linux/cdrom.h" |
29 | #include "linux/proc_fs.h" | 29 | #include "linux/proc_fs.h" |
30 | #include "linux/seq_file.h" | ||
30 | #include "linux/ctype.h" | 31 | #include "linux/ctype.h" |
31 | #include "linux/capability.h" | 32 | #include "linux/capability.h" |
32 | #include "linux/mm.h" | 33 | #include "linux/mm.h" |
@@ -200,23 +201,25 @@ static void make_proc_ide(void) | |||
200 | proc_ide = proc_mkdir("ide0", proc_ide_root); | 201 | proc_ide = proc_mkdir("ide0", proc_ide_root); |
201 | } | 202 | } |
202 | 203 | ||
203 | static int proc_ide_read_media(char *page, char **start, off_t off, int count, | 204 | static int fake_ide_media_proc_show(struct seq_file *m, void *v) |
204 | int *eof, void *data) | ||
205 | { | 205 | { |
206 | int len; | 206 | seq_puts(m, "disk\n"); |
207 | 207 | return 0; | |
208 | strcpy(page, "disk\n"); | 208 | } |
209 | len = strlen("disk\n"); | 209 | |
210 | len -= off; | 210 | static int fake_ide_media_proc_open(struct inode *inode, struct file *file) |
211 | if (len < count){ | 211 | { |
212 | *eof = 1; | 212 | return single_open(file, fake_ide_media_proc_show, NULL); |
213 | if (len <= 0) return 0; | ||
214 | } | ||
215 | else len = count; | ||
216 | *start = page + off; | ||
217 | return len; | ||
218 | } | 213 | } |
219 | 214 | ||
215 | static const struct file_operations fake_ide_media_proc_fops = { | ||
216 | .owner = THIS_MODULE, | ||
217 | .open = fake_ide_media_proc_open, | ||
218 | .read = seq_read, | ||
219 | .llseek = seq_lseek, | ||
220 | .release = single_release, | ||
221 | }; | ||
222 | |||
220 | static void make_ide_entries(const char *dev_name) | 223 | static void make_ide_entries(const char *dev_name) |
221 | { | 224 | { |
222 | struct proc_dir_entry *dir, *ent; | 225 | struct proc_dir_entry *dir, *ent; |
@@ -227,11 +230,8 @@ static void make_ide_entries(const char *dev_name) | |||
227 | dir = proc_mkdir(dev_name, proc_ide); | 230 | dir = proc_mkdir(dev_name, proc_ide); |
228 | if(!dir) return; | 231 | if(!dir) return; |
229 | 232 | ||
230 | ent = create_proc_entry("media", S_IFREG|S_IRUGO, dir); | 233 | ent = proc_create("media", S_IRUGO, dir, &fake_ide_media_proc_fops); |
231 | if(!ent) return; | 234 | if(!ent) return; |
232 | ent->data = NULL; | ||
233 | ent->read_proc = proc_ide_read_media; | ||
234 | ent->write_proc = NULL; | ||
235 | snprintf(name, sizeof(name), "ide0/%s", dev_name); | 235 | snprintf(name, sizeof(name), "ide0/%s", dev_name); |
236 | proc_symlink(dev_name, proc_ide_root, name); | 236 | proc_symlink(dev_name, proc_ide_root, name); |
237 | } | 237 | } |
diff --git a/arch/um/kernel/exitcode.c b/arch/um/kernel/exitcode.c index 6540d2c9fbb7..829df49dee99 100644 --- a/arch/um/kernel/exitcode.c +++ b/arch/um/kernel/exitcode.c | |||
@@ -6,7 +6,9 @@ | |||
6 | #include <linux/ctype.h> | 6 | #include <linux/ctype.h> |
7 | #include <linux/init.h> | 7 | #include <linux/init.h> |
8 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
9 | #include <linux/module.h> | ||
9 | #include <linux/proc_fs.h> | 10 | #include <linux/proc_fs.h> |
11 | #include <linux/seq_file.h> | ||
10 | #include <linux/types.h> | 12 | #include <linux/types.h> |
11 | #include <asm/uaccess.h> | 13 | #include <asm/uaccess.h> |
12 | 14 | ||
@@ -16,30 +18,26 @@ | |||
16 | */ | 18 | */ |
17 | int uml_exitcode = 0; | 19 | int uml_exitcode = 0; |
18 | 20 | ||
19 | static int read_proc_exitcode(char *page, char **start, off_t off, | 21 | static int exitcode_proc_show(struct seq_file *m, void *v) |
20 | int count, int *eof, void *data) | ||
21 | { | 22 | { |
22 | int len, val; | 23 | int val; |
23 | 24 | ||
24 | /* | 25 | /* |
25 | * Save uml_exitcode in a local so that we don't need to guarantee | 26 | * Save uml_exitcode in a local so that we don't need to guarantee |
26 | * that sprintf accesses it atomically. | 27 | * that sprintf accesses it atomically. |
27 | */ | 28 | */ |
28 | val = uml_exitcode; | 29 | val = uml_exitcode; |
29 | len = sprintf(page, "%d\n", val); | 30 | seq_printf(m, "%d\n", val); |
30 | len -= off; | 31 | return 0; |
31 | if (len <= off+count) | 32 | } |
32 | *eof = 1; | 33 | |
33 | *start = page + off; | 34 | static int exitcode_proc_open(struct inode *inode, struct file *file) |
34 | if (len > count) | 35 | { |
35 | len = count; | 36 | return single_open(file, exitcode_proc_show, NULL); |
36 | if (len < 0) | ||
37 | len = 0; | ||
38 | return len; | ||
39 | } | 37 | } |
40 | 38 | ||
41 | static int write_proc_exitcode(struct file *file, const char __user *buffer, | 39 | static ssize_t exitcode_proc_write(struct file *file, |
42 | unsigned long count, void *data) | 40 | const char __user *buffer, size_t count, loff_t *pos) |
43 | { | 41 | { |
44 | char *end, buf[sizeof("nnnnn\0")]; | 42 | char *end, buf[sizeof("nnnnn\0")]; |
45 | int tmp; | 43 | int tmp; |
@@ -55,20 +53,25 @@ static int write_proc_exitcode(struct file *file, const char __user *buffer, | |||
55 | return count; | 53 | return count; |
56 | } | 54 | } |
57 | 55 | ||
56 | static const struct file_operations exitcode_proc_fops = { | ||
57 | .owner = THIS_MODULE, | ||
58 | .open = exitcode_proc_open, | ||
59 | .read = seq_read, | ||
60 | .llseek = seq_lseek, | ||
61 | .release = single_release, | ||
62 | .write = exitcode_proc_write, | ||
63 | }; | ||
64 | |||
58 | static int make_proc_exitcode(void) | 65 | static int make_proc_exitcode(void) |
59 | { | 66 | { |
60 | struct proc_dir_entry *ent; | 67 | struct proc_dir_entry *ent; |
61 | 68 | ||
62 | ent = create_proc_entry("exitcode", 0600, NULL); | 69 | ent = proc_create("exitcode", 0600, NULL, &exitcode_proc_fops); |
63 | if (ent == NULL) { | 70 | if (ent == NULL) { |
64 | printk(KERN_WARNING "make_proc_exitcode : Failed to register " | 71 | printk(KERN_WARNING "make_proc_exitcode : Failed to register " |
65 | "/proc/exitcode\n"); | 72 | "/proc/exitcode\n"); |
66 | return 0; | 73 | return 0; |
67 | } | 74 | } |
68 | |||
69 | ent->read_proc = read_proc_exitcode; | ||
70 | ent->write_proc = write_proc_exitcode; | ||
71 | |||
72 | return 0; | 75 | return 0; |
73 | } | 76 | } |
74 | 77 | ||
diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c index 039270b9b73b..89474ba0741e 100644 --- a/arch/um/kernel/irq.c +++ b/arch/um/kernel/irq.c | |||
@@ -34,7 +34,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
34 | } | 34 | } |
35 | 35 | ||
36 | if (i < NR_IRQS) { | 36 | if (i < NR_IRQS) { |
37 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 37 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
38 | action = irq_desc[i].action; | 38 | action = irq_desc[i].action; |
39 | if (!action) | 39 | if (!action) |
40 | goto skip; | 40 | goto skip; |
@@ -53,7 +53,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
53 | 53 | ||
54 | seq_putc(p, '\n'); | 54 | seq_putc(p, '\n'); |
55 | skip: | 55 | skip: |
56 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 56 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
57 | } else if (i == NR_IRQS) | 57 | } else if (i == NR_IRQS) |
58 | seq_putc(p, '\n'); | 58 | seq_putc(p, '\n'); |
59 | 59 | ||
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index 4a28a1568d85..2f910a1b7454 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c | |||
@@ -9,11 +9,13 @@ | |||
9 | #include <linux/hardirq.h> | 9 | #include <linux/hardirq.h> |
10 | #include <linux/gfp.h> | 10 | #include <linux/gfp.h> |
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/module.h> | ||
12 | #include <linux/personality.h> | 13 | #include <linux/personality.h> |
13 | #include <linux/proc_fs.h> | 14 | #include <linux/proc_fs.h> |
14 | #include <linux/ptrace.h> | 15 | #include <linux/ptrace.h> |
15 | #include <linux/random.h> | 16 | #include <linux/random.h> |
16 | #include <linux/sched.h> | 17 | #include <linux/sched.h> |
18 | #include <linux/seq_file.h> | ||
17 | #include <linux/tick.h> | 19 | #include <linux/tick.h> |
18 | #include <linux/threads.h> | 20 | #include <linux/threads.h> |
19 | #include <asm/current.h> | 21 | #include <asm/current.h> |
@@ -336,16 +338,19 @@ int get_using_sysemu(void) | |||
336 | return atomic_read(&using_sysemu); | 338 | return atomic_read(&using_sysemu); |
337 | } | 339 | } |
338 | 340 | ||
339 | static int proc_read_sysemu(char *buf, char **start, off_t offset, int size,int *eof, void *data) | 341 | static int sysemu_proc_show(struct seq_file *m, void *v) |
340 | { | 342 | { |
341 | if (snprintf(buf, size, "%d\n", get_using_sysemu()) < size) | 343 | seq_printf(m, "%d\n", get_using_sysemu()); |
342 | /* No overflow */ | 344 | return 0; |
343 | *eof = 1; | 345 | } |
344 | 346 | ||
345 | return strlen(buf); | 347 | static int sysemu_proc_open(struct inode *inode, struct file *file) |
348 | { | ||
349 | return single_open(file, sysemu_proc_show, NULL); | ||
346 | } | 350 | } |
347 | 351 | ||
348 | static int proc_write_sysemu(struct file *file,const char __user *buf, unsigned long count,void *data) | 352 | static ssize_t sysemu_proc_write(struct file *file, const char __user *buf, |
353 | size_t count, loff_t *pos) | ||
349 | { | 354 | { |
350 | char tmp[2]; | 355 | char tmp[2]; |
351 | 356 | ||
@@ -358,13 +363,22 @@ static int proc_write_sysemu(struct file *file,const char __user *buf, unsigned | |||
358 | return count; | 363 | return count; |
359 | } | 364 | } |
360 | 365 | ||
366 | static const struct file_operations sysemu_proc_fops = { | ||
367 | .owner = THIS_MODULE, | ||
368 | .open = sysemu_proc_open, | ||
369 | .read = seq_read, | ||
370 | .llseek = seq_lseek, | ||
371 | .release = single_release, | ||
372 | .write = sysemu_proc_write, | ||
373 | }; | ||
374 | |||
361 | int __init make_proc_sysemu(void) | 375 | int __init make_proc_sysemu(void) |
362 | { | 376 | { |
363 | struct proc_dir_entry *ent; | 377 | struct proc_dir_entry *ent; |
364 | if (!sysemu_supported) | 378 | if (!sysemu_supported) |
365 | return 0; | 379 | return 0; |
366 | 380 | ||
367 | ent = create_proc_entry("sysemu", 0600, NULL); | 381 | ent = proc_create("sysemu", 0600, NULL, &sysemu_proc_fops); |
368 | 382 | ||
369 | if (ent == NULL) | 383 | if (ent == NULL) |
370 | { | 384 | { |
@@ -372,9 +386,6 @@ int __init make_proc_sysemu(void) | |||
372 | return 0; | 386 | return 0; |
373 | } | 387 | } |
374 | 388 | ||
375 | ent->read_proc = proc_read_sysemu; | ||
376 | ent->write_proc = proc_write_sysemu; | ||
377 | |||
378 | return 0; | 389 | return 0; |
379 | } | 390 | } |
380 | 391 | ||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 32a1918e1b88..3b2a5aca4edb 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -2012,18 +2012,9 @@ config SCx200HR_TIMER | |||
2012 | processor goes idle (as is done by the scheduler). The | 2012 | processor goes idle (as is done by the scheduler). The |
2013 | other workaround is idle=poll boot option. | 2013 | other workaround is idle=poll boot option. |
2014 | 2014 | ||
2015 | config GEODE_MFGPT_TIMER | ||
2016 | def_bool y | ||
2017 | prompt "Geode Multi-Function General Purpose Timer (MFGPT) events" | ||
2018 | depends on MGEODE_LX && GENERIC_TIME && GENERIC_CLOCKEVENTS | ||
2019 | ---help--- | ||
2020 | This driver provides a clock event source based on the MFGPT | ||
2021 | timer(s) in the CS5535 and CS5536 companion chip for the geode. | ||
2022 | MFGPTs have a better resolution and max interval than the | ||
2023 | generic PIT, and are suitable for use as high-res timers. | ||
2024 | |||
2025 | config OLPC | 2015 | config OLPC |
2026 | bool "One Laptop Per Child support" | 2016 | bool "One Laptop Per Child support" |
2017 | select GPIOLIB | ||
2027 | default n | 2018 | default n |
2028 | ---help--- | 2019 | ---help--- |
2029 | Add support for detecting the unique features of the OLPC | 2020 | Add support for detecting the unique features of the OLPC |
diff --git a/arch/x86/include/asm/geode.h b/arch/x86/include/asm/geode.h index ad3c2ed75481..7cd73552a4e8 100644 --- a/arch/x86/include/asm/geode.h +++ b/arch/x86/include/asm/geode.h | |||
@@ -12,160 +12,7 @@ | |||
12 | 12 | ||
13 | #include <asm/processor.h> | 13 | #include <asm/processor.h> |
14 | #include <linux/io.h> | 14 | #include <linux/io.h> |
15 | 15 | #include <linux/cs5535.h> | |
16 | /* Generic southbridge functions */ | ||
17 | |||
18 | #define GEODE_DEV_PMS 0 | ||
19 | #define GEODE_DEV_ACPI 1 | ||
20 | #define GEODE_DEV_GPIO 2 | ||
21 | #define GEODE_DEV_MFGPT 3 | ||
22 | |||
23 | extern int geode_get_dev_base(unsigned int dev); | ||
24 | |||
25 | /* Useful macros */ | ||
26 | #define geode_pms_base() geode_get_dev_base(GEODE_DEV_PMS) | ||
27 | #define geode_acpi_base() geode_get_dev_base(GEODE_DEV_ACPI) | ||
28 | #define geode_gpio_base() geode_get_dev_base(GEODE_DEV_GPIO) | ||
29 | #define geode_mfgpt_base() geode_get_dev_base(GEODE_DEV_MFGPT) | ||
30 | |||
31 | /* MSRS */ | ||
32 | |||
33 | #define MSR_GLIU_P2D_RO0 0x10000029 | ||
34 | |||
35 | #define MSR_LX_GLD_MSR_CONFIG 0x48002001 | ||
36 | #define MSR_LX_MSR_PADSEL 0x48002011 /* NOT 0x48000011; the data | ||
37 | * sheet has the wrong value */ | ||
38 | #define MSR_GLCP_SYS_RSTPLL 0x4C000014 | ||
39 | #define MSR_GLCP_DOTPLL 0x4C000015 | ||
40 | |||
41 | #define MSR_LBAR_SMB 0x5140000B | ||
42 | #define MSR_LBAR_GPIO 0x5140000C | ||
43 | #define MSR_LBAR_MFGPT 0x5140000D | ||
44 | #define MSR_LBAR_ACPI 0x5140000E | ||
45 | #define MSR_LBAR_PMS 0x5140000F | ||
46 | |||
47 | #define MSR_DIVIL_SOFT_RESET 0x51400017 | ||
48 | |||
49 | #define MSR_PIC_YSEL_LOW 0x51400020 | ||
50 | #define MSR_PIC_YSEL_HIGH 0x51400021 | ||
51 | #define MSR_PIC_ZSEL_LOW 0x51400022 | ||
52 | #define MSR_PIC_ZSEL_HIGH 0x51400023 | ||
53 | #define MSR_PIC_IRQM_LPC 0x51400025 | ||
54 | |||
55 | #define MSR_MFGPT_IRQ 0x51400028 | ||
56 | #define MSR_MFGPT_NR 0x51400029 | ||
57 | #define MSR_MFGPT_SETUP 0x5140002B | ||
58 | |||
59 | #define MSR_LX_SPARE_MSR 0x80000011 /* DC-specific */ | ||
60 | |||
61 | #define MSR_GX_GLD_MSR_CONFIG 0xC0002001 | ||
62 | #define MSR_GX_MSR_PADSEL 0xC0002011 | ||
63 | |||
64 | /* Resource Sizes */ | ||
65 | |||
66 | #define LBAR_GPIO_SIZE 0xFF | ||
67 | #define LBAR_MFGPT_SIZE 0x40 | ||
68 | #define LBAR_ACPI_SIZE 0x40 | ||
69 | #define LBAR_PMS_SIZE 0x80 | ||
70 | |||
71 | /* ACPI registers (PMS block) */ | ||
72 | |||
73 | /* | ||
74 | * PM1_EN is only valid when VSA is enabled for 16 bit reads. | ||
75 | * When VSA is not enabled, *always* read both PM1_STS and PM1_EN | ||
76 | * with a 32 bit read at offset 0x0 | ||
77 | */ | ||
78 | |||
79 | #define PM1_STS 0x00 | ||
80 | #define PM1_EN 0x02 | ||
81 | #define PM1_CNT 0x08 | ||
82 | #define PM2_CNT 0x0C | ||
83 | #define PM_TMR 0x10 | ||
84 | #define PM_GPE0_STS 0x18 | ||
85 | #define PM_GPE0_EN 0x1C | ||
86 | |||
87 | /* PMC registers (PMS block) */ | ||
88 | |||
89 | #define PM_SSD 0x00 | ||
90 | #define PM_SCXA 0x04 | ||
91 | #define PM_SCYA 0x08 | ||
92 | #define PM_OUT_SLPCTL 0x0C | ||
93 | #define PM_SCLK 0x10 | ||
94 | #define PM_SED 0x1 | ||
95 | #define PM_SCXD 0x18 | ||
96 | #define PM_SCYD 0x1C | ||
97 | #define PM_IN_SLPCTL 0x20 | ||
98 | #define PM_WKD 0x30 | ||
99 | #define PM_WKXD 0x34 | ||
100 | #define PM_RD 0x38 | ||
101 | #define PM_WKXA 0x3C | ||
102 | #define PM_FSD 0x40 | ||
103 | #define PM_TSD 0x44 | ||
104 | #define PM_PSD 0x48 | ||
105 | #define PM_NWKD 0x4C | ||
106 | #define PM_AWKD 0x50 | ||
107 | #define PM_SSC 0x54 | ||
108 | |||
109 | /* VSA2 magic values */ | ||
110 | |||
111 | #define VSA_VRC_INDEX 0xAC1C | ||
112 | #define VSA_VRC_DATA 0xAC1E | ||
113 | #define VSA_VR_UNLOCK 0xFC53 /* unlock virtual register */ | ||
114 | #define VSA_VR_SIGNATURE 0x0003 | ||
115 | #define VSA_VR_MEM_SIZE 0x0200 | ||
116 | #define AMD_VSA_SIG 0x4132 /* signature is ascii 'VSA2' */ | ||
117 | #define GSW_VSA_SIG 0x534d /* General Software signature */ | ||
118 | /* GPIO */ | ||
119 | |||
120 | #define GPIO_OUTPUT_VAL 0x00 | ||
121 | #define GPIO_OUTPUT_ENABLE 0x04 | ||
122 | #define GPIO_OUTPUT_OPEN_DRAIN 0x08 | ||
123 | #define GPIO_OUTPUT_INVERT 0x0C | ||
124 | #define GPIO_OUTPUT_AUX1 0x10 | ||
125 | #define GPIO_OUTPUT_AUX2 0x14 | ||
126 | #define GPIO_PULL_UP 0x18 | ||
127 | #define GPIO_PULL_DOWN 0x1C | ||
128 | #define GPIO_INPUT_ENABLE 0x20 | ||
129 | #define GPIO_INPUT_INVERT 0x24 | ||
130 | #define GPIO_INPUT_FILTER 0x28 | ||
131 | #define GPIO_INPUT_EVENT_COUNT 0x2C | ||
132 | #define GPIO_READ_BACK 0x30 | ||
133 | #define GPIO_INPUT_AUX1 0x34 | ||
134 | #define GPIO_EVENTS_ENABLE 0x38 | ||
135 | #define GPIO_LOCK_ENABLE 0x3C | ||
136 | #define GPIO_POSITIVE_EDGE_EN 0x40 | ||
137 | #define GPIO_NEGATIVE_EDGE_EN 0x44 | ||
138 | #define GPIO_POSITIVE_EDGE_STS 0x48 | ||
139 | #define GPIO_NEGATIVE_EDGE_STS 0x4C | ||
140 | |||
141 | #define GPIO_MAP_X 0xE0 | ||
142 | #define GPIO_MAP_Y 0xE4 | ||
143 | #define GPIO_MAP_Z 0xE8 | ||
144 | #define GPIO_MAP_W 0xEC | ||
145 | |||
146 | static inline u32 geode_gpio(unsigned int nr) | ||
147 | { | ||
148 | BUG_ON(nr > 28); | ||
149 | return 1 << nr; | ||
150 | } | ||
151 | |||
152 | extern void geode_gpio_set(u32, unsigned int); | ||
153 | extern void geode_gpio_clear(u32, unsigned int); | ||
154 | extern int geode_gpio_isset(u32, unsigned int); | ||
155 | extern void geode_gpio_setup_event(unsigned int, int, int); | ||
156 | extern void geode_gpio_set_irq(unsigned int, unsigned int); | ||
157 | |||
158 | static inline void geode_gpio_event_irq(unsigned int gpio, int pair) | ||
159 | { | ||
160 | geode_gpio_setup_event(gpio, pair, 0); | ||
161 | } | ||
162 | |||
163 | static inline void geode_gpio_event_pme(unsigned int gpio, int pair) | ||
164 | { | ||
165 | geode_gpio_setup_event(gpio, pair, 1); | ||
166 | } | ||
167 | |||
168 | /* Specific geode tests */ | ||
169 | 16 | ||
170 | static inline int is_geode_gx(void) | 17 | static inline int is_geode_gx(void) |
171 | { | 18 | { |
@@ -186,68 +33,4 @@ static inline int is_geode(void) | |||
186 | return (is_geode_gx() || is_geode_lx()); | 33 | return (is_geode_gx() || is_geode_lx()); |
187 | } | 34 | } |
188 | 35 | ||
189 | #ifdef CONFIG_MGEODE_LX | ||
190 | extern int geode_has_vsa2(void); | ||
191 | #else | ||
192 | static inline int geode_has_vsa2(void) | ||
193 | { | ||
194 | return 0; | ||
195 | } | ||
196 | #endif | ||
197 | |||
198 | /* MFGPTs */ | ||
199 | |||
200 | #define MFGPT_MAX_TIMERS 8 | ||
201 | #define MFGPT_TIMER_ANY (-1) | ||
202 | |||
203 | #define MFGPT_DOMAIN_WORKING 1 | ||
204 | #define MFGPT_DOMAIN_STANDBY 2 | ||
205 | #define MFGPT_DOMAIN_ANY (MFGPT_DOMAIN_WORKING | MFGPT_DOMAIN_STANDBY) | ||
206 | |||
207 | #define MFGPT_CMP1 0 | ||
208 | #define MFGPT_CMP2 1 | ||
209 | |||
210 | #define MFGPT_EVENT_IRQ 0 | ||
211 | #define MFGPT_EVENT_NMI 1 | ||
212 | #define MFGPT_EVENT_RESET 3 | ||
213 | |||
214 | #define MFGPT_REG_CMP1 0 | ||
215 | #define MFGPT_REG_CMP2 2 | ||
216 | #define MFGPT_REG_COUNTER 4 | ||
217 | #define MFGPT_REG_SETUP 6 | ||
218 | |||
219 | #define MFGPT_SETUP_CNTEN (1 << 15) | ||
220 | #define MFGPT_SETUP_CMP2 (1 << 14) | ||
221 | #define MFGPT_SETUP_CMP1 (1 << 13) | ||
222 | #define MFGPT_SETUP_SETUP (1 << 12) | ||
223 | #define MFGPT_SETUP_STOPEN (1 << 11) | ||
224 | #define MFGPT_SETUP_EXTEN (1 << 10) | ||
225 | #define MFGPT_SETUP_REVEN (1 << 5) | ||
226 | #define MFGPT_SETUP_CLKSEL (1 << 4) | ||
227 | |||
228 | static inline void geode_mfgpt_write(int timer, u16 reg, u16 value) | ||
229 | { | ||
230 | u32 base = geode_get_dev_base(GEODE_DEV_MFGPT); | ||
231 | outw(value, base + reg + (timer * 8)); | ||
232 | } | ||
233 | |||
234 | static inline u16 geode_mfgpt_read(int timer, u16 reg) | ||
235 | { | ||
236 | u32 base = geode_get_dev_base(GEODE_DEV_MFGPT); | ||
237 | return inw(base + reg + (timer * 8)); | ||
238 | } | ||
239 | |||
240 | extern int geode_mfgpt_toggle_event(int timer, int cmp, int event, int enable); | ||
241 | extern int geode_mfgpt_set_irq(int timer, int cmp, int *irq, int enable); | ||
242 | extern int geode_mfgpt_alloc_timer(int timer, int domain); | ||
243 | |||
244 | #define geode_mfgpt_setup_irq(t, c, i) geode_mfgpt_set_irq((t), (c), (i), 1) | ||
245 | #define geode_mfgpt_release_irq(t, c, i) geode_mfgpt_set_irq((t), (c), (i), 0) | ||
246 | |||
247 | #ifdef CONFIG_GEODE_MFGPT_TIMER | ||
248 | extern int __init mfgpt_timer_setup(void); | ||
249 | #else | ||
250 | static inline int mfgpt_timer_setup(void) { return 0; } | ||
251 | #endif | ||
252 | |||
253 | #endif /* _ASM_X86_GEODE_H */ | 36 | #endif /* _ASM_X86_GEODE_H */ |
diff --git a/arch/x86/include/asm/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h index 6a635bd39867..4611f085cd43 100644 --- a/arch/x86/include/asm/irq_vectors.h +++ b/arch/x86/include/asm/irq_vectors.h | |||
@@ -113,7 +113,7 @@ | |||
113 | */ | 113 | */ |
114 | #define LOCAL_PENDING_VECTOR 0xec | 114 | #define LOCAL_PENDING_VECTOR 0xec |
115 | 115 | ||
116 | #define UV_BAU_MESSAGE 0xec | 116 | #define UV_BAU_MESSAGE 0xea |
117 | 117 | ||
118 | /* | 118 | /* |
119 | * Self IPI vector for machine checks | 119 | * Self IPI vector for machine checks |
diff --git a/arch/x86/include/asm/msr.h b/arch/x86/include/asm/msr.h index 5bef931f8b14..2d228fc9b4b7 100644 --- a/arch/x86/include/asm/msr.h +++ b/arch/x86/include/asm/msr.h | |||
@@ -244,6 +244,9 @@ do { \ | |||
244 | 244 | ||
245 | #define write_rdtscp_aux(val) wrmsr(0xc0000103, (val), 0) | 245 | #define write_rdtscp_aux(val) wrmsr(0xc0000103, (val), 0) |
246 | 246 | ||
247 | struct msr *msrs_alloc(void); | ||
248 | void msrs_free(struct msr *msrs); | ||
249 | |||
247 | #ifdef CONFIG_SMP | 250 | #ifdef CONFIG_SMP |
248 | int rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h); | 251 | int rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h); |
249 | int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h); | 252 | int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h); |
diff --git a/arch/x86/include/asm/olpc.h b/arch/x86/include/asm/olpc.h index 834a30295fab..3a57385d9fa7 100644 --- a/arch/x86/include/asm/olpc.h +++ b/arch/x86/include/asm/olpc.h | |||
@@ -120,7 +120,7 @@ extern int olpc_ec_mask_unset(uint8_t bits); | |||
120 | 120 | ||
121 | /* GPIO assignments */ | 121 | /* GPIO assignments */ |
122 | 122 | ||
123 | #define OLPC_GPIO_MIC_AC geode_gpio(1) | 123 | #define OLPC_GPIO_MIC_AC 1 |
124 | #define OLPC_GPIO_DCON_IRQ geode_gpio(7) | 124 | #define OLPC_GPIO_DCON_IRQ geode_gpio(7) |
125 | #define OLPC_GPIO_THRM_ALRM geode_gpio(10) | 125 | #define OLPC_GPIO_THRM_ALRM geode_gpio(10) |
126 | #define OLPC_GPIO_SMB_CLK geode_gpio(14) | 126 | #define OLPC_GPIO_SMB_CLK geode_gpio(14) |
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h index efb38994859c..dd59a85a918f 100644 --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h | |||
@@ -731,34 +731,34 @@ static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx, | |||
731 | 731 | ||
732 | #if defined(CONFIG_SMP) && defined(CONFIG_PARAVIRT_SPINLOCKS) | 732 | #if defined(CONFIG_SMP) && defined(CONFIG_PARAVIRT_SPINLOCKS) |
733 | 733 | ||
734 | static inline int __raw_spin_is_locked(struct raw_spinlock *lock) | 734 | static inline int arch_spin_is_locked(struct arch_spinlock *lock) |
735 | { | 735 | { |
736 | return PVOP_CALL1(int, pv_lock_ops.spin_is_locked, lock); | 736 | return PVOP_CALL1(int, pv_lock_ops.spin_is_locked, lock); |
737 | } | 737 | } |
738 | 738 | ||
739 | static inline int __raw_spin_is_contended(struct raw_spinlock *lock) | 739 | static inline int arch_spin_is_contended(struct arch_spinlock *lock) |
740 | { | 740 | { |
741 | return PVOP_CALL1(int, pv_lock_ops.spin_is_contended, lock); | 741 | return PVOP_CALL1(int, pv_lock_ops.spin_is_contended, lock); |
742 | } | 742 | } |
743 | #define __raw_spin_is_contended __raw_spin_is_contended | 743 | #define arch_spin_is_contended arch_spin_is_contended |
744 | 744 | ||
745 | static __always_inline void __raw_spin_lock(struct raw_spinlock *lock) | 745 | static __always_inline void arch_spin_lock(struct arch_spinlock *lock) |
746 | { | 746 | { |
747 | PVOP_VCALL1(pv_lock_ops.spin_lock, lock); | 747 | PVOP_VCALL1(pv_lock_ops.spin_lock, lock); |
748 | } | 748 | } |
749 | 749 | ||
750 | static __always_inline void __raw_spin_lock_flags(struct raw_spinlock *lock, | 750 | static __always_inline void arch_spin_lock_flags(struct arch_spinlock *lock, |
751 | unsigned long flags) | 751 | unsigned long flags) |
752 | { | 752 | { |
753 | PVOP_VCALL2(pv_lock_ops.spin_lock_flags, lock, flags); | 753 | PVOP_VCALL2(pv_lock_ops.spin_lock_flags, lock, flags); |
754 | } | 754 | } |
755 | 755 | ||
756 | static __always_inline int __raw_spin_trylock(struct raw_spinlock *lock) | 756 | static __always_inline int arch_spin_trylock(struct arch_spinlock *lock) |
757 | { | 757 | { |
758 | return PVOP_CALL1(int, pv_lock_ops.spin_trylock, lock); | 758 | return PVOP_CALL1(int, pv_lock_ops.spin_trylock, lock); |
759 | } | 759 | } |
760 | 760 | ||
761 | static __always_inline void __raw_spin_unlock(struct raw_spinlock *lock) | 761 | static __always_inline void arch_spin_unlock(struct arch_spinlock *lock) |
762 | { | 762 | { |
763 | PVOP_VCALL1(pv_lock_ops.spin_unlock, lock); | 763 | PVOP_VCALL1(pv_lock_ops.spin_unlock, lock); |
764 | } | 764 | } |
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h index 9357473c8da0..b1e70d51e40c 100644 --- a/arch/x86/include/asm/paravirt_types.h +++ b/arch/x86/include/asm/paravirt_types.h | |||
@@ -318,14 +318,14 @@ struct pv_mmu_ops { | |||
318 | phys_addr_t phys, pgprot_t flags); | 318 | phys_addr_t phys, pgprot_t flags); |
319 | }; | 319 | }; |
320 | 320 | ||
321 | struct raw_spinlock; | 321 | struct arch_spinlock; |
322 | struct pv_lock_ops { | 322 | struct pv_lock_ops { |
323 | int (*spin_is_locked)(struct raw_spinlock *lock); | 323 | int (*spin_is_locked)(struct arch_spinlock *lock); |
324 | int (*spin_is_contended)(struct raw_spinlock *lock); | 324 | int (*spin_is_contended)(struct arch_spinlock *lock); |
325 | void (*spin_lock)(struct raw_spinlock *lock); | 325 | void (*spin_lock)(struct arch_spinlock *lock); |
326 | void (*spin_lock_flags)(struct raw_spinlock *lock, unsigned long flags); | 326 | void (*spin_lock_flags)(struct arch_spinlock *lock, unsigned long flags); |
327 | int (*spin_trylock)(struct raw_spinlock *lock); | 327 | int (*spin_trylock)(struct arch_spinlock *lock); |
328 | void (*spin_unlock)(struct raw_spinlock *lock); | 328 | void (*spin_unlock)(struct arch_spinlock *lock); |
329 | }; | 329 | }; |
330 | 330 | ||
331 | /* This contains all the paravirt structures: we get a convenient | 331 | /* This contains all the paravirt structures: we get a convenient |
diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h index b65a36defeb7..0c44196b78ac 100644 --- a/arch/x86/include/asm/percpu.h +++ b/arch/x86/include/asm/percpu.h | |||
@@ -74,31 +74,31 @@ extern void __bad_percpu_size(void); | |||
74 | 74 | ||
75 | #define percpu_to_op(op, var, val) \ | 75 | #define percpu_to_op(op, var, val) \ |
76 | do { \ | 76 | do { \ |
77 | typedef typeof(var) T__; \ | 77 | typedef typeof(var) pto_T__; \ |
78 | if (0) { \ | 78 | if (0) { \ |
79 | T__ tmp__; \ | 79 | pto_T__ pto_tmp__; \ |
80 | tmp__ = (val); \ | 80 | pto_tmp__ = (val); \ |
81 | } \ | 81 | } \ |
82 | switch (sizeof(var)) { \ | 82 | switch (sizeof(var)) { \ |
83 | case 1: \ | 83 | case 1: \ |
84 | asm(op "b %1,"__percpu_arg(0) \ | 84 | asm(op "b %1,"__percpu_arg(0) \ |
85 | : "+m" (var) \ | 85 | : "+m" (var) \ |
86 | : "qi" ((T__)(val))); \ | 86 | : "qi" ((pto_T__)(val))); \ |
87 | break; \ | 87 | break; \ |
88 | case 2: \ | 88 | case 2: \ |
89 | asm(op "w %1,"__percpu_arg(0) \ | 89 | asm(op "w %1,"__percpu_arg(0) \ |
90 | : "+m" (var) \ | 90 | : "+m" (var) \ |
91 | : "ri" ((T__)(val))); \ | 91 | : "ri" ((pto_T__)(val))); \ |
92 | break; \ | 92 | break; \ |
93 | case 4: \ | 93 | case 4: \ |
94 | asm(op "l %1,"__percpu_arg(0) \ | 94 | asm(op "l %1,"__percpu_arg(0) \ |
95 | : "+m" (var) \ | 95 | : "+m" (var) \ |
96 | : "ri" ((T__)(val))); \ | 96 | : "ri" ((pto_T__)(val))); \ |
97 | break; \ | 97 | break; \ |
98 | case 8: \ | 98 | case 8: \ |
99 | asm(op "q %1,"__percpu_arg(0) \ | 99 | asm(op "q %1,"__percpu_arg(0) \ |
100 | : "+m" (var) \ | 100 | : "+m" (var) \ |
101 | : "re" ((T__)(val))); \ | 101 | : "re" ((pto_T__)(val))); \ |
102 | break; \ | 102 | break; \ |
103 | default: __bad_percpu_size(); \ | 103 | default: __bad_percpu_size(); \ |
104 | } \ | 104 | } \ |
@@ -106,31 +106,31 @@ do { \ | |||
106 | 106 | ||
107 | #define percpu_from_op(op, var, constraint) \ | 107 | #define percpu_from_op(op, var, constraint) \ |
108 | ({ \ | 108 | ({ \ |
109 | typeof(var) ret__; \ | 109 | typeof(var) pfo_ret__; \ |
110 | switch (sizeof(var)) { \ | 110 | switch (sizeof(var)) { \ |
111 | case 1: \ | 111 | case 1: \ |
112 | asm(op "b "__percpu_arg(1)",%0" \ | 112 | asm(op "b "__percpu_arg(1)",%0" \ |
113 | : "=q" (ret__) \ | 113 | : "=q" (pfo_ret__) \ |
114 | : constraint); \ | 114 | : constraint); \ |
115 | break; \ | 115 | break; \ |
116 | case 2: \ | 116 | case 2: \ |
117 | asm(op "w "__percpu_arg(1)",%0" \ | 117 | asm(op "w "__percpu_arg(1)",%0" \ |
118 | : "=r" (ret__) \ | 118 | : "=r" (pfo_ret__) \ |
119 | : constraint); \ | 119 | : constraint); \ |
120 | break; \ | 120 | break; \ |
121 | case 4: \ | 121 | case 4: \ |
122 | asm(op "l "__percpu_arg(1)",%0" \ | 122 | asm(op "l "__percpu_arg(1)",%0" \ |
123 | : "=r" (ret__) \ | 123 | : "=r" (pfo_ret__) \ |
124 | : constraint); \ | 124 | : constraint); \ |
125 | break; \ | 125 | break; \ |
126 | case 8: \ | 126 | case 8: \ |
127 | asm(op "q "__percpu_arg(1)",%0" \ | 127 | asm(op "q "__percpu_arg(1)",%0" \ |
128 | : "=r" (ret__) \ | 128 | : "=r" (pfo_ret__) \ |
129 | : constraint); \ | 129 | : constraint); \ |
130 | break; \ | 130 | break; \ |
131 | default: __bad_percpu_size(); \ | 131 | default: __bad_percpu_size(); \ |
132 | } \ | 132 | } \ |
133 | ret__; \ | 133 | pfo_ret__; \ |
134 | }) | 134 | }) |
135 | 135 | ||
136 | /* | 136 | /* |
@@ -153,6 +153,84 @@ do { \ | |||
153 | #define percpu_or(var, val) percpu_to_op("or", per_cpu__##var, val) | 153 | #define percpu_or(var, val) percpu_to_op("or", per_cpu__##var, val) |
154 | #define percpu_xor(var, val) percpu_to_op("xor", per_cpu__##var, val) | 154 | #define percpu_xor(var, val) percpu_to_op("xor", per_cpu__##var, val) |
155 | 155 | ||
156 | #define __this_cpu_read_1(pcp) percpu_from_op("mov", (pcp), "m"(pcp)) | ||
157 | #define __this_cpu_read_2(pcp) percpu_from_op("mov", (pcp), "m"(pcp)) | ||
158 | #define __this_cpu_read_4(pcp) percpu_from_op("mov", (pcp), "m"(pcp)) | ||
159 | |||
160 | #define __this_cpu_write_1(pcp, val) percpu_to_op("mov", (pcp), val) | ||
161 | #define __this_cpu_write_2(pcp, val) percpu_to_op("mov", (pcp), val) | ||
162 | #define __this_cpu_write_4(pcp, val) percpu_to_op("mov", (pcp), val) | ||
163 | #define __this_cpu_add_1(pcp, val) percpu_to_op("add", (pcp), val) | ||
164 | #define __this_cpu_add_2(pcp, val) percpu_to_op("add", (pcp), val) | ||
165 | #define __this_cpu_add_4(pcp, val) percpu_to_op("add", (pcp), val) | ||
166 | #define __this_cpu_and_1(pcp, val) percpu_to_op("and", (pcp), val) | ||
167 | #define __this_cpu_and_2(pcp, val) percpu_to_op("and", (pcp), val) | ||
168 | #define __this_cpu_and_4(pcp, val) percpu_to_op("and", (pcp), val) | ||
169 | #define __this_cpu_or_1(pcp, val) percpu_to_op("or", (pcp), val) | ||
170 | #define __this_cpu_or_2(pcp, val) percpu_to_op("or", (pcp), val) | ||
171 | #define __this_cpu_or_4(pcp, val) percpu_to_op("or", (pcp), val) | ||
172 | #define __this_cpu_xor_1(pcp, val) percpu_to_op("xor", (pcp), val) | ||
173 | #define __this_cpu_xor_2(pcp, val) percpu_to_op("xor", (pcp), val) | ||
174 | #define __this_cpu_xor_4(pcp, val) percpu_to_op("xor", (pcp), val) | ||
175 | |||
176 | #define this_cpu_read_1(pcp) percpu_from_op("mov", (pcp), "m"(pcp)) | ||
177 | #define this_cpu_read_2(pcp) percpu_from_op("mov", (pcp), "m"(pcp)) | ||
178 | #define this_cpu_read_4(pcp) percpu_from_op("mov", (pcp), "m"(pcp)) | ||
179 | #define this_cpu_write_1(pcp, val) percpu_to_op("mov", (pcp), val) | ||
180 | #define this_cpu_write_2(pcp, val) percpu_to_op("mov", (pcp), val) | ||
181 | #define this_cpu_write_4(pcp, val) percpu_to_op("mov", (pcp), val) | ||
182 | #define this_cpu_add_1(pcp, val) percpu_to_op("add", (pcp), val) | ||
183 | #define this_cpu_add_2(pcp, val) percpu_to_op("add", (pcp), val) | ||
184 | #define this_cpu_add_4(pcp, val) percpu_to_op("add", (pcp), val) | ||
185 | #define this_cpu_and_1(pcp, val) percpu_to_op("and", (pcp), val) | ||
186 | #define this_cpu_and_2(pcp, val) percpu_to_op("and", (pcp), val) | ||
187 | #define this_cpu_and_4(pcp, val) percpu_to_op("and", (pcp), val) | ||
188 | #define this_cpu_or_1(pcp, val) percpu_to_op("or", (pcp), val) | ||
189 | #define this_cpu_or_2(pcp, val) percpu_to_op("or", (pcp), val) | ||
190 | #define this_cpu_or_4(pcp, val) percpu_to_op("or", (pcp), val) | ||
191 | #define this_cpu_xor_1(pcp, val) percpu_to_op("xor", (pcp), val) | ||
192 | #define this_cpu_xor_2(pcp, val) percpu_to_op("xor", (pcp), val) | ||
193 | #define this_cpu_xor_4(pcp, val) percpu_to_op("xor", (pcp), val) | ||
194 | |||
195 | #define irqsafe_cpu_add_1(pcp, val) percpu_to_op("add", (pcp), val) | ||
196 | #define irqsafe_cpu_add_2(pcp, val) percpu_to_op("add", (pcp), val) | ||
197 | #define irqsafe_cpu_add_4(pcp, val) percpu_to_op("add", (pcp), val) | ||
198 | #define irqsafe_cpu_and_1(pcp, val) percpu_to_op("and", (pcp), val) | ||
199 | #define irqsafe_cpu_and_2(pcp, val) percpu_to_op("and", (pcp), val) | ||
200 | #define irqsafe_cpu_and_4(pcp, val) percpu_to_op("and", (pcp), val) | ||
201 | #define irqsafe_cpu_or_1(pcp, val) percpu_to_op("or", (pcp), val) | ||
202 | #define irqsafe_cpu_or_2(pcp, val) percpu_to_op("or", (pcp), val) | ||
203 | #define irqsafe_cpu_or_4(pcp, val) percpu_to_op("or", (pcp), val) | ||
204 | #define irqsafe_cpu_xor_1(pcp, val) percpu_to_op("xor", (pcp), val) | ||
205 | #define irqsafe_cpu_xor_2(pcp, val) percpu_to_op("xor", (pcp), val) | ||
206 | #define irqsafe_cpu_xor_4(pcp, val) percpu_to_op("xor", (pcp), val) | ||
207 | |||
208 | /* | ||
209 | * Per cpu atomic 64 bit operations are only available under 64 bit. | ||
210 | * 32 bit must fall back to generic operations. | ||
211 | */ | ||
212 | #ifdef CONFIG_X86_64 | ||
213 | #define __this_cpu_read_8(pcp) percpu_from_op("mov", (pcp), "m"(pcp)) | ||
214 | #define __this_cpu_write_8(pcp, val) percpu_to_op("mov", (pcp), val) | ||
215 | #define __this_cpu_add_8(pcp, val) percpu_to_op("add", (pcp), val) | ||
216 | #define __this_cpu_and_8(pcp, val) percpu_to_op("and", (pcp), val) | ||
217 | #define __this_cpu_or_8(pcp, val) percpu_to_op("or", (pcp), val) | ||
218 | #define __this_cpu_xor_8(pcp, val) percpu_to_op("xor", (pcp), val) | ||
219 | |||
220 | #define this_cpu_read_8(pcp) percpu_from_op("mov", (pcp), "m"(pcp)) | ||
221 | #define this_cpu_write_8(pcp, val) percpu_to_op("mov", (pcp), val) | ||
222 | #define this_cpu_add_8(pcp, val) percpu_to_op("add", (pcp), val) | ||
223 | #define this_cpu_and_8(pcp, val) percpu_to_op("and", (pcp), val) | ||
224 | #define this_cpu_or_8(pcp, val) percpu_to_op("or", (pcp), val) | ||
225 | #define this_cpu_xor_8(pcp, val) percpu_to_op("xor", (pcp), val) | ||
226 | |||
227 | #define irqsafe_cpu_add_8(pcp, val) percpu_to_op("add", (pcp), val) | ||
228 | #define irqsafe_cpu_and_8(pcp, val) percpu_to_op("and", (pcp), val) | ||
229 | #define irqsafe_cpu_or_8(pcp, val) percpu_to_op("or", (pcp), val) | ||
230 | #define irqsafe_cpu_xor_8(pcp, val) percpu_to_op("xor", (pcp), val) | ||
231 | |||
232 | #endif | ||
233 | |||
156 | /* This is not atomic against other CPUs -- CPU preemption needs to be off */ | 234 | /* This is not atomic against other CPUs -- CPU preemption needs to be off */ |
157 | #define x86_test_and_clear_bit_percpu(bit, var) \ | 235 | #define x86_test_and_clear_bit_percpu(bit, var) \ |
158 | ({ \ | 236 | ({ \ |
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h index 4e77853321db..3089f70c0c52 100644 --- a/arch/x86/include/asm/spinlock.h +++ b/arch/x86/include/asm/spinlock.h | |||
@@ -58,7 +58,7 @@ | |||
58 | #if (NR_CPUS < 256) | 58 | #if (NR_CPUS < 256) |
59 | #define TICKET_SHIFT 8 | 59 | #define TICKET_SHIFT 8 |
60 | 60 | ||
61 | static __always_inline void __ticket_spin_lock(raw_spinlock_t *lock) | 61 | static __always_inline void __ticket_spin_lock(arch_spinlock_t *lock) |
62 | { | 62 | { |
63 | short inc = 0x0100; | 63 | short inc = 0x0100; |
64 | 64 | ||
@@ -77,7 +77,7 @@ static __always_inline void __ticket_spin_lock(raw_spinlock_t *lock) | |||
77 | : "memory", "cc"); | 77 | : "memory", "cc"); |
78 | } | 78 | } |
79 | 79 | ||
80 | static __always_inline int __ticket_spin_trylock(raw_spinlock_t *lock) | 80 | static __always_inline int __ticket_spin_trylock(arch_spinlock_t *lock) |
81 | { | 81 | { |
82 | int tmp, new; | 82 | int tmp, new; |
83 | 83 | ||
@@ -96,7 +96,7 @@ static __always_inline int __ticket_spin_trylock(raw_spinlock_t *lock) | |||
96 | return tmp; | 96 | return tmp; |
97 | } | 97 | } |
98 | 98 | ||
99 | static __always_inline void __ticket_spin_unlock(raw_spinlock_t *lock) | 99 | static __always_inline void __ticket_spin_unlock(arch_spinlock_t *lock) |
100 | { | 100 | { |
101 | asm volatile(UNLOCK_LOCK_PREFIX "incb %0" | 101 | asm volatile(UNLOCK_LOCK_PREFIX "incb %0" |
102 | : "+m" (lock->slock) | 102 | : "+m" (lock->slock) |
@@ -106,7 +106,7 @@ static __always_inline void __ticket_spin_unlock(raw_spinlock_t *lock) | |||
106 | #else | 106 | #else |
107 | #define TICKET_SHIFT 16 | 107 | #define TICKET_SHIFT 16 |
108 | 108 | ||
109 | static __always_inline void __ticket_spin_lock(raw_spinlock_t *lock) | 109 | static __always_inline void __ticket_spin_lock(arch_spinlock_t *lock) |
110 | { | 110 | { |
111 | int inc = 0x00010000; | 111 | int inc = 0x00010000; |
112 | int tmp; | 112 | int tmp; |
@@ -127,7 +127,7 @@ static __always_inline void __ticket_spin_lock(raw_spinlock_t *lock) | |||
127 | : "memory", "cc"); | 127 | : "memory", "cc"); |
128 | } | 128 | } |
129 | 129 | ||
130 | static __always_inline int __ticket_spin_trylock(raw_spinlock_t *lock) | 130 | static __always_inline int __ticket_spin_trylock(arch_spinlock_t *lock) |
131 | { | 131 | { |
132 | int tmp; | 132 | int tmp; |
133 | int new; | 133 | int new; |
@@ -149,7 +149,7 @@ static __always_inline int __ticket_spin_trylock(raw_spinlock_t *lock) | |||
149 | return tmp; | 149 | return tmp; |
150 | } | 150 | } |
151 | 151 | ||
152 | static __always_inline void __ticket_spin_unlock(raw_spinlock_t *lock) | 152 | static __always_inline void __ticket_spin_unlock(arch_spinlock_t *lock) |
153 | { | 153 | { |
154 | asm volatile(UNLOCK_LOCK_PREFIX "incw %0" | 154 | asm volatile(UNLOCK_LOCK_PREFIX "incw %0" |
155 | : "+m" (lock->slock) | 155 | : "+m" (lock->slock) |
@@ -158,14 +158,14 @@ static __always_inline void __ticket_spin_unlock(raw_spinlock_t *lock) | |||
158 | } | 158 | } |
159 | #endif | 159 | #endif |
160 | 160 | ||
161 | static inline int __ticket_spin_is_locked(raw_spinlock_t *lock) | 161 | static inline int __ticket_spin_is_locked(arch_spinlock_t *lock) |
162 | { | 162 | { |
163 | int tmp = ACCESS_ONCE(lock->slock); | 163 | int tmp = ACCESS_ONCE(lock->slock); |
164 | 164 | ||
165 | return !!(((tmp >> TICKET_SHIFT) ^ tmp) & ((1 << TICKET_SHIFT) - 1)); | 165 | return !!(((tmp >> TICKET_SHIFT) ^ tmp) & ((1 << TICKET_SHIFT) - 1)); |
166 | } | 166 | } |
167 | 167 | ||
168 | static inline int __ticket_spin_is_contended(raw_spinlock_t *lock) | 168 | static inline int __ticket_spin_is_contended(arch_spinlock_t *lock) |
169 | { | 169 | { |
170 | int tmp = ACCESS_ONCE(lock->slock); | 170 | int tmp = ACCESS_ONCE(lock->slock); |
171 | 171 | ||
@@ -174,43 +174,43 @@ static inline int __ticket_spin_is_contended(raw_spinlock_t *lock) | |||
174 | 174 | ||
175 | #ifndef CONFIG_PARAVIRT_SPINLOCKS | 175 | #ifndef CONFIG_PARAVIRT_SPINLOCKS |
176 | 176 | ||
177 | static inline int __raw_spin_is_locked(raw_spinlock_t *lock) | 177 | static inline int arch_spin_is_locked(arch_spinlock_t *lock) |
178 | { | 178 | { |
179 | return __ticket_spin_is_locked(lock); | 179 | return __ticket_spin_is_locked(lock); |
180 | } | 180 | } |
181 | 181 | ||
182 | static inline int __raw_spin_is_contended(raw_spinlock_t *lock) | 182 | static inline int arch_spin_is_contended(arch_spinlock_t *lock) |
183 | { | 183 | { |
184 | return __ticket_spin_is_contended(lock); | 184 | return __ticket_spin_is_contended(lock); |
185 | } | 185 | } |
186 | #define __raw_spin_is_contended __raw_spin_is_contended | 186 | #define arch_spin_is_contended arch_spin_is_contended |
187 | 187 | ||
188 | static __always_inline void __raw_spin_lock(raw_spinlock_t *lock) | 188 | static __always_inline void arch_spin_lock(arch_spinlock_t *lock) |
189 | { | 189 | { |
190 | __ticket_spin_lock(lock); | 190 | __ticket_spin_lock(lock); |
191 | } | 191 | } |
192 | 192 | ||
193 | static __always_inline int __raw_spin_trylock(raw_spinlock_t *lock) | 193 | static __always_inline int arch_spin_trylock(arch_spinlock_t *lock) |
194 | { | 194 | { |
195 | return __ticket_spin_trylock(lock); | 195 | return __ticket_spin_trylock(lock); |
196 | } | 196 | } |
197 | 197 | ||
198 | static __always_inline void __raw_spin_unlock(raw_spinlock_t *lock) | 198 | static __always_inline void arch_spin_unlock(arch_spinlock_t *lock) |
199 | { | 199 | { |
200 | __ticket_spin_unlock(lock); | 200 | __ticket_spin_unlock(lock); |
201 | } | 201 | } |
202 | 202 | ||
203 | static __always_inline void __raw_spin_lock_flags(raw_spinlock_t *lock, | 203 | static __always_inline void arch_spin_lock_flags(arch_spinlock_t *lock, |
204 | unsigned long flags) | 204 | unsigned long flags) |
205 | { | 205 | { |
206 | __raw_spin_lock(lock); | 206 | arch_spin_lock(lock); |
207 | } | 207 | } |
208 | 208 | ||
209 | #endif /* CONFIG_PARAVIRT_SPINLOCKS */ | 209 | #endif /* CONFIG_PARAVIRT_SPINLOCKS */ |
210 | 210 | ||
211 | static inline void __raw_spin_unlock_wait(raw_spinlock_t *lock) | 211 | static inline void arch_spin_unlock_wait(arch_spinlock_t *lock) |
212 | { | 212 | { |
213 | while (__raw_spin_is_locked(lock)) | 213 | while (arch_spin_is_locked(lock)) |
214 | cpu_relax(); | 214 | cpu_relax(); |
215 | } | 215 | } |
216 | 216 | ||
@@ -232,7 +232,7 @@ static inline void __raw_spin_unlock_wait(raw_spinlock_t *lock) | |||
232 | * read_can_lock - would read_trylock() succeed? | 232 | * read_can_lock - would read_trylock() succeed? |
233 | * @lock: the rwlock in question. | 233 | * @lock: the rwlock in question. |
234 | */ | 234 | */ |
235 | static inline int __raw_read_can_lock(raw_rwlock_t *lock) | 235 | static inline int arch_read_can_lock(arch_rwlock_t *lock) |
236 | { | 236 | { |
237 | return (int)(lock)->lock > 0; | 237 | return (int)(lock)->lock > 0; |
238 | } | 238 | } |
@@ -241,12 +241,12 @@ static inline int __raw_read_can_lock(raw_rwlock_t *lock) | |||
241 | * write_can_lock - would write_trylock() succeed? | 241 | * write_can_lock - would write_trylock() succeed? |
242 | * @lock: the rwlock in question. | 242 | * @lock: the rwlock in question. |
243 | */ | 243 | */ |
244 | static inline int __raw_write_can_lock(raw_rwlock_t *lock) | 244 | static inline int arch_write_can_lock(arch_rwlock_t *lock) |
245 | { | 245 | { |
246 | return (lock)->lock == RW_LOCK_BIAS; | 246 | return (lock)->lock == RW_LOCK_BIAS; |
247 | } | 247 | } |
248 | 248 | ||
249 | static inline void __raw_read_lock(raw_rwlock_t *rw) | 249 | static inline void arch_read_lock(arch_rwlock_t *rw) |
250 | { | 250 | { |
251 | asm volatile(LOCK_PREFIX " subl $1,(%0)\n\t" | 251 | asm volatile(LOCK_PREFIX " subl $1,(%0)\n\t" |
252 | "jns 1f\n" | 252 | "jns 1f\n" |
@@ -255,7 +255,7 @@ static inline void __raw_read_lock(raw_rwlock_t *rw) | |||
255 | ::LOCK_PTR_REG (rw) : "memory"); | 255 | ::LOCK_PTR_REG (rw) : "memory"); |
256 | } | 256 | } |
257 | 257 | ||
258 | static inline void __raw_write_lock(raw_rwlock_t *rw) | 258 | static inline void arch_write_lock(arch_rwlock_t *rw) |
259 | { | 259 | { |
260 | asm volatile(LOCK_PREFIX " subl %1,(%0)\n\t" | 260 | asm volatile(LOCK_PREFIX " subl %1,(%0)\n\t" |
261 | "jz 1f\n" | 261 | "jz 1f\n" |
@@ -264,7 +264,7 @@ static inline void __raw_write_lock(raw_rwlock_t *rw) | |||
264 | ::LOCK_PTR_REG (rw), "i" (RW_LOCK_BIAS) : "memory"); | 264 | ::LOCK_PTR_REG (rw), "i" (RW_LOCK_BIAS) : "memory"); |
265 | } | 265 | } |
266 | 266 | ||
267 | static inline int __raw_read_trylock(raw_rwlock_t *lock) | 267 | static inline int arch_read_trylock(arch_rwlock_t *lock) |
268 | { | 268 | { |
269 | atomic_t *count = (atomic_t *)lock; | 269 | atomic_t *count = (atomic_t *)lock; |
270 | 270 | ||
@@ -274,7 +274,7 @@ static inline int __raw_read_trylock(raw_rwlock_t *lock) | |||
274 | return 0; | 274 | return 0; |
275 | } | 275 | } |
276 | 276 | ||
277 | static inline int __raw_write_trylock(raw_rwlock_t *lock) | 277 | static inline int arch_write_trylock(arch_rwlock_t *lock) |
278 | { | 278 | { |
279 | atomic_t *count = (atomic_t *)lock; | 279 | atomic_t *count = (atomic_t *)lock; |
280 | 280 | ||
@@ -284,23 +284,23 @@ static inline int __raw_write_trylock(raw_rwlock_t *lock) | |||
284 | return 0; | 284 | return 0; |
285 | } | 285 | } |
286 | 286 | ||
287 | static inline void __raw_read_unlock(raw_rwlock_t *rw) | 287 | static inline void arch_read_unlock(arch_rwlock_t *rw) |
288 | { | 288 | { |
289 | asm volatile(LOCK_PREFIX "incl %0" :"+m" (rw->lock) : : "memory"); | 289 | asm volatile(LOCK_PREFIX "incl %0" :"+m" (rw->lock) : : "memory"); |
290 | } | 290 | } |
291 | 291 | ||
292 | static inline void __raw_write_unlock(raw_rwlock_t *rw) | 292 | static inline void arch_write_unlock(arch_rwlock_t *rw) |
293 | { | 293 | { |
294 | asm volatile(LOCK_PREFIX "addl %1, %0" | 294 | asm volatile(LOCK_PREFIX "addl %1, %0" |
295 | : "+m" (rw->lock) : "i" (RW_LOCK_BIAS) : "memory"); | 295 | : "+m" (rw->lock) : "i" (RW_LOCK_BIAS) : "memory"); |
296 | } | 296 | } |
297 | 297 | ||
298 | #define __raw_read_lock_flags(lock, flags) __raw_read_lock(lock) | 298 | #define arch_read_lock_flags(lock, flags) arch_read_lock(lock) |
299 | #define __raw_write_lock_flags(lock, flags) __raw_write_lock(lock) | 299 | #define arch_write_lock_flags(lock, flags) arch_write_lock(lock) |
300 | 300 | ||
301 | #define _raw_spin_relax(lock) cpu_relax() | 301 | #define arch_spin_relax(lock) cpu_relax() |
302 | #define _raw_read_relax(lock) cpu_relax() | 302 | #define arch_read_relax(lock) cpu_relax() |
303 | #define _raw_write_relax(lock) cpu_relax() | 303 | #define arch_write_relax(lock) cpu_relax() |
304 | 304 | ||
305 | /* The {read|write|spin}_lock() on x86 are full memory barriers. */ | 305 | /* The {read|write|spin}_lock() on x86 are full memory barriers. */ |
306 | static inline void smp_mb__after_lock(void) { } | 306 | static inline void smp_mb__after_lock(void) { } |
diff --git a/arch/x86/include/asm/spinlock_types.h b/arch/x86/include/asm/spinlock_types.h index 845f81c87091..dcb48b2edc11 100644 --- a/arch/x86/include/asm/spinlock_types.h +++ b/arch/x86/include/asm/spinlock_types.h | |||
@@ -5,16 +5,16 @@ | |||
5 | # error "please don't include this file directly" | 5 | # error "please don't include this file directly" |
6 | #endif | 6 | #endif |
7 | 7 | ||
8 | typedef struct raw_spinlock { | 8 | typedef struct arch_spinlock { |
9 | unsigned int slock; | 9 | unsigned int slock; |
10 | } raw_spinlock_t; | 10 | } arch_spinlock_t; |
11 | 11 | ||
12 | #define __RAW_SPIN_LOCK_UNLOCKED { 0 } | 12 | #define __ARCH_SPIN_LOCK_UNLOCKED { 0 } |
13 | 13 | ||
14 | typedef struct { | 14 | typedef struct { |
15 | unsigned int lock; | 15 | unsigned int lock; |
16 | } raw_rwlock_t; | 16 | } arch_rwlock_t; |
17 | 17 | ||
18 | #define __RAW_RW_LOCK_UNLOCKED { RW_LOCK_BIAS } | 18 | #define __ARCH_RW_LOCK_UNLOCKED { RW_LOCK_BIAS } |
19 | 19 | ||
20 | #endif /* _ASM_X86_SPINLOCK_TYPES_H */ | 20 | #endif /* _ASM_X86_SPINLOCK_TYPES_H */ |
diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h index 40e37b10c6c0..c5087d796587 100644 --- a/arch/x86/include/asm/topology.h +++ b/arch/x86/include/asm/topology.h | |||
@@ -35,11 +35,16 @@ | |||
35 | # endif | 35 | # endif |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | /* Node not present */ | 38 | /* |
39 | #define NUMA_NO_NODE (-1) | 39 | * to preserve the visibility of NUMA_NO_NODE definition, |
40 | * moved to there from here. May be used independent of | ||
41 | * CONFIG_NUMA. | ||
42 | */ | ||
43 | #include <linux/numa.h> | ||
40 | 44 | ||
41 | #ifdef CONFIG_NUMA | 45 | #ifdef CONFIG_NUMA |
42 | #include <linux/cpumask.h> | 46 | #include <linux/cpumask.h> |
47 | |||
43 | #include <asm/mpspec.h> | 48 | #include <asm/mpspec.h> |
44 | 49 | ||
45 | #ifdef CONFIG_X86_32 | 50 | #ifdef CONFIG_X86_32 |
diff --git a/arch/x86/include/asm/trampoline.h b/arch/x86/include/asm/trampoline.h index 90f06c25221d..cb507bb05d79 100644 --- a/arch/x86/include/asm/trampoline.h +++ b/arch/x86/include/asm/trampoline.h | |||
@@ -16,7 +16,6 @@ extern unsigned long initial_code; | |||
16 | extern unsigned long initial_gs; | 16 | extern unsigned long initial_gs; |
17 | 17 | ||
18 | #define TRAMPOLINE_SIZE roundup(trampoline_end - trampoline_data, PAGE_SIZE) | 18 | #define TRAMPOLINE_SIZE roundup(trampoline_end - trampoline_data, PAGE_SIZE) |
19 | #define TRAMPOLINE_BASE 0x6000 | ||
20 | 19 | ||
21 | extern unsigned long setup_trampoline(void); | 20 | extern unsigned long setup_trampoline(void); |
22 | extern void __init reserve_trampoline_memory(void); | 21 | extern void __init reserve_trampoline_memory(void); |
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index 4f2e66e29ecc..d87f09bc5a52 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile | |||
@@ -89,7 +89,6 @@ obj-$(CONFIG_EARLY_PRINTK) += early_printk.o | |||
89 | obj-$(CONFIG_HPET_TIMER) += hpet.o | 89 | obj-$(CONFIG_HPET_TIMER) += hpet.o |
90 | 90 | ||
91 | obj-$(CONFIG_K8_NB) += k8.o | 91 | obj-$(CONFIG_K8_NB) += k8.o |
92 | obj-$(CONFIG_MGEODE_LX) += geode_32.o mfgpt_32.o | ||
93 | obj-$(CONFIG_DEBUG_RODATA_TEST) += test_rodata.o | 92 | obj-$(CONFIG_DEBUG_RODATA_TEST) += test_rodata.o |
94 | obj-$(CONFIG_DEBUG_NX_TEST) += test_nx.o | 93 | obj-$(CONFIG_DEBUG_NX_TEST) += test_nx.o |
95 | 94 | ||
diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c index e0dfb6856aa2..3704997e8b25 100644 --- a/arch/x86/kernel/aperture_64.c +++ b/arch/x86/kernel/aperture_64.c | |||
@@ -280,7 +280,8 @@ void __init early_gart_iommu_check(void) | |||
280 | * or BIOS forget to put that in reserved. | 280 | * or BIOS forget to put that in reserved. |
281 | * try to update e820 to make that region as reserved. | 281 | * try to update e820 to make that region as reserved. |
282 | */ | 282 | */ |
283 | int i, fix, slot; | 283 | u32 agp_aper_base = 0, agp_aper_order = 0; |
284 | int i, fix, slot, valid_agp = 0; | ||
284 | u32 ctl; | 285 | u32 ctl; |
285 | u32 aper_size = 0, aper_order = 0, last_aper_order = 0; | 286 | u32 aper_size = 0, aper_order = 0, last_aper_order = 0; |
286 | u64 aper_base = 0, last_aper_base = 0; | 287 | u64 aper_base = 0, last_aper_base = 0; |
@@ -290,6 +291,8 @@ void __init early_gart_iommu_check(void) | |||
290 | return; | 291 | return; |
291 | 292 | ||
292 | /* This is mostly duplicate of iommu_hole_init */ | 293 | /* This is mostly duplicate of iommu_hole_init */ |
294 | agp_aper_base = search_agp_bridge(&agp_aper_order, &valid_agp); | ||
295 | |||
293 | fix = 0; | 296 | fix = 0; |
294 | for (i = 0; i < ARRAY_SIZE(bus_dev_ranges); i++) { | 297 | for (i = 0; i < ARRAY_SIZE(bus_dev_ranges); i++) { |
295 | int bus; | 298 | int bus; |
@@ -342,10 +345,10 @@ void __init early_gart_iommu_check(void) | |||
342 | } | 345 | } |
343 | } | 346 | } |
344 | 347 | ||
345 | if (!fix) | 348 | if (valid_agp) |
346 | return; | 349 | return; |
347 | 350 | ||
348 | /* different nodes have different setting, disable them all at first*/ | 351 | /* disable them all at first */ |
349 | for (i = 0; i < ARRAY_SIZE(bus_dev_ranges); i++) { | 352 | for (i = 0; i < ARRAY_SIZE(bus_dev_ranges); i++) { |
350 | int bus; | 353 | int bus; |
351 | int dev_base, dev_limit; | 354 | int dev_base, dev_limit; |
@@ -458,8 +461,6 @@ out: | |||
458 | 461 | ||
459 | if (aper_alloc) { | 462 | if (aper_alloc) { |
460 | /* Got the aperture from the AGP bridge */ | 463 | /* Got the aperture from the AGP bridge */ |
461 | } else if (!valid_agp) { | ||
462 | /* Do nothing */ | ||
463 | } else if ((!no_iommu && max_pfn > MAX_DMA32_PFN) || | 464 | } else if ((!no_iommu && max_pfn > MAX_DMA32_PFN) || |
464 | force_iommu || | 465 | force_iommu || |
465 | valid_agp || | 466 | valid_agp || |
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c index efb2b9cd132c..aa57c079c98f 100644 --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c | |||
@@ -1341,7 +1341,7 @@ void enable_x2apic(void) | |||
1341 | 1341 | ||
1342 | rdmsr(MSR_IA32_APICBASE, msr, msr2); | 1342 | rdmsr(MSR_IA32_APICBASE, msr, msr2); |
1343 | if (!(msr & X2APIC_ENABLE)) { | 1343 | if (!(msr & X2APIC_ENABLE)) { |
1344 | pr_info("Enabling x2apic\n"); | 1344 | printk_once(KERN_INFO "Enabling x2apic\n"); |
1345 | wrmsr(MSR_IA32_APICBASE, msr | X2APIC_ENABLE, 0); | 1345 | wrmsr(MSR_IA32_APICBASE, msr | X2APIC_ENABLE, 0); |
1346 | } | 1346 | } |
1347 | } | 1347 | } |
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index d5d498fbee4b..11a5851f1f50 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
@@ -2431,7 +2431,7 @@ asmlinkage void smp_irq_move_cleanup_interrupt(void) | |||
2431 | continue; | 2431 | continue; |
2432 | 2432 | ||
2433 | cfg = irq_cfg(irq); | 2433 | cfg = irq_cfg(irq); |
2434 | spin_lock(&desc->lock); | 2434 | raw_spin_lock(&desc->lock); |
2435 | 2435 | ||
2436 | if (vector == cfg->vector && cpumask_test_cpu(me, cfg->domain)) | 2436 | if (vector == cfg->vector && cpumask_test_cpu(me, cfg->domain)) |
2437 | goto unlock; | 2437 | goto unlock; |
@@ -2450,7 +2450,7 @@ asmlinkage void smp_irq_move_cleanup_interrupt(void) | |||
2450 | } | 2450 | } |
2451 | __get_cpu_var(vector_irq)[vector] = -1; | 2451 | __get_cpu_var(vector_irq)[vector] = -1; |
2452 | unlock: | 2452 | unlock: |
2453 | spin_unlock(&desc->lock); | 2453 | raw_spin_unlock(&desc->lock); |
2454 | } | 2454 | } |
2455 | 2455 | ||
2456 | irq_exit(); | 2456 | irq_exit(); |
diff --git a/arch/x86/kernel/apic/nmi.c b/arch/x86/kernel/apic/nmi.c index 6389432a9dbf..0159a69396cb 100644 --- a/arch/x86/kernel/apic/nmi.c +++ b/arch/x86/kernel/apic/nmi.c | |||
@@ -361,7 +361,7 @@ void stop_apic_nmi_watchdog(void *unused) | |||
361 | */ | 361 | */ |
362 | 362 | ||
363 | static DEFINE_PER_CPU(unsigned, last_irq_sum); | 363 | static DEFINE_PER_CPU(unsigned, last_irq_sum); |
364 | static DEFINE_PER_CPU(local_t, alert_counter); | 364 | static DEFINE_PER_CPU(long, alert_counter); |
365 | static DEFINE_PER_CPU(int, nmi_touch); | 365 | static DEFINE_PER_CPU(int, nmi_touch); |
366 | 366 | ||
367 | void touch_nmi_watchdog(void) | 367 | void touch_nmi_watchdog(void) |
@@ -438,8 +438,8 @@ nmi_watchdog_tick(struct pt_regs *regs, unsigned reason) | |||
438 | * Ayiee, looks like this CPU is stuck ... | 438 | * Ayiee, looks like this CPU is stuck ... |
439 | * wait a few IRQs (5 seconds) before doing the oops ... | 439 | * wait a few IRQs (5 seconds) before doing the oops ... |
440 | */ | 440 | */ |
441 | local_inc(&__get_cpu_var(alert_counter)); | 441 | __this_cpu_inc(per_cpu_var(alert_counter)); |
442 | if (local_read(&__get_cpu_var(alert_counter)) == 5 * nmi_hz) | 442 | if (__this_cpu_read(per_cpu_var(alert_counter)) == 5 * nmi_hz) |
443 | /* | 443 | /* |
444 | * die_nmi will return ONLY if NOTIFY_STOP happens.. | 444 | * die_nmi will return ONLY if NOTIFY_STOP happens.. |
445 | */ | 445 | */ |
@@ -447,7 +447,7 @@ nmi_watchdog_tick(struct pt_regs *regs, unsigned reason) | |||
447 | regs, panic_on_timeout); | 447 | regs, panic_on_timeout); |
448 | } else { | 448 | } else { |
449 | __get_cpu_var(last_irq_sum) = sum; | 449 | __get_cpu_var(last_irq_sum) = sum; |
450 | local_set(&__get_cpu_var(alert_counter), 0); | 450 | __this_cpu_write(per_cpu_var(alert_counter), 0); |
451 | } | 451 | } |
452 | 452 | ||
453 | /* see if the nmi watchdog went off */ | 453 | /* see if the nmi watchdog went off */ |
diff --git a/arch/x86/kernel/cpu/addon_cpuid_features.c b/arch/x86/kernel/cpu/addon_cpuid_features.c index c965e5212714..468489b57aae 100644 --- a/arch/x86/kernel/cpu/addon_cpuid_features.c +++ b/arch/x86/kernel/cpu/addon_cpuid_features.c | |||
@@ -74,6 +74,7 @@ void __cpuinit detect_extended_topology(struct cpuinfo_x86 *c) | |||
74 | unsigned int eax, ebx, ecx, edx, sub_index; | 74 | unsigned int eax, ebx, ecx, edx, sub_index; |
75 | unsigned int ht_mask_width, core_plus_mask_width; | 75 | unsigned int ht_mask_width, core_plus_mask_width; |
76 | unsigned int core_select_mask, core_level_siblings; | 76 | unsigned int core_select_mask, core_level_siblings; |
77 | static bool printed; | ||
77 | 78 | ||
78 | if (c->cpuid_level < 0xb) | 79 | if (c->cpuid_level < 0xb) |
79 | return; | 80 | return; |
@@ -127,12 +128,14 @@ void __cpuinit detect_extended_topology(struct cpuinfo_x86 *c) | |||
127 | 128 | ||
128 | c->x86_max_cores = (core_level_siblings / smp_num_siblings); | 129 | c->x86_max_cores = (core_level_siblings / smp_num_siblings); |
129 | 130 | ||
130 | 131 | if (!printed) { | |
131 | printk(KERN_INFO "CPU: Physical Processor ID: %d\n", | 132 | printk(KERN_INFO "CPU: Physical Processor ID: %d\n", |
132 | c->phys_proc_id); | 133 | c->phys_proc_id); |
133 | if (c->x86_max_cores > 1) | 134 | if (c->x86_max_cores > 1) |
134 | printk(KERN_INFO "CPU: Processor Core ID: %d\n", | 135 | printk(KERN_INFO "CPU: Processor Core ID: %d\n", |
135 | c->cpu_core_id); | 136 | c->cpu_core_id); |
137 | printed = 1; | ||
138 | } | ||
136 | return; | 139 | return; |
137 | #endif | 140 | #endif |
138 | } | 141 | } |
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 7128b3799cec..8dc3ea145c97 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c | |||
@@ -375,8 +375,6 @@ static void __cpuinit srat_detect_node(struct cpuinfo_x86 *c) | |||
375 | node = nearby_node(apicid); | 375 | node = nearby_node(apicid); |
376 | } | 376 | } |
377 | numa_set_node(cpu, node); | 377 | numa_set_node(cpu, node); |
378 | |||
379 | printk(KERN_INFO "CPU %d/0x%x -> Node %d\n", cpu, apicid, node); | ||
380 | #endif | 378 | #endif |
381 | } | 379 | } |
382 | 380 | ||
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index c1afa990a6c8..4868e4a951ee 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c | |||
@@ -427,6 +427,7 @@ void __cpuinit detect_ht(struct cpuinfo_x86 *c) | |||
427 | #ifdef CONFIG_X86_HT | 427 | #ifdef CONFIG_X86_HT |
428 | u32 eax, ebx, ecx, edx; | 428 | u32 eax, ebx, ecx, edx; |
429 | int index_msb, core_bits; | 429 | int index_msb, core_bits; |
430 | static bool printed; | ||
430 | 431 | ||
431 | if (!cpu_has(c, X86_FEATURE_HT)) | 432 | if (!cpu_has(c, X86_FEATURE_HT)) |
432 | return; | 433 | return; |
@@ -442,7 +443,7 @@ void __cpuinit detect_ht(struct cpuinfo_x86 *c) | |||
442 | smp_num_siblings = (ebx & 0xff0000) >> 16; | 443 | smp_num_siblings = (ebx & 0xff0000) >> 16; |
443 | 444 | ||
444 | if (smp_num_siblings == 1) { | 445 | if (smp_num_siblings == 1) { |
445 | printk(KERN_INFO "CPU: Hyper-Threading is disabled\n"); | 446 | printk_once(KERN_INFO "CPU0: Hyper-Threading is disabled\n"); |
446 | goto out; | 447 | goto out; |
447 | } | 448 | } |
448 | 449 | ||
@@ -469,11 +470,12 @@ void __cpuinit detect_ht(struct cpuinfo_x86 *c) | |||
469 | ((1 << core_bits) - 1); | 470 | ((1 << core_bits) - 1); |
470 | 471 | ||
471 | out: | 472 | out: |
472 | if ((c->x86_max_cores * smp_num_siblings) > 1) { | 473 | if (!printed && (c->x86_max_cores * smp_num_siblings) > 1) { |
473 | printk(KERN_INFO "CPU: Physical Processor ID: %d\n", | 474 | printk(KERN_INFO "CPU: Physical Processor ID: %d\n", |
474 | c->phys_proc_id); | 475 | c->phys_proc_id); |
475 | printk(KERN_INFO "CPU: Processor Core ID: %d\n", | 476 | printk(KERN_INFO "CPU: Processor Core ID: %d\n", |
476 | c->cpu_core_id); | 477 | c->cpu_core_id); |
478 | printed = 1; | ||
477 | } | 479 | } |
478 | #endif | 480 | #endif |
479 | } | 481 | } |
@@ -1093,7 +1095,7 @@ static void clear_all_debug_regs(void) | |||
1093 | 1095 | ||
1094 | void __cpuinit cpu_init(void) | 1096 | void __cpuinit cpu_init(void) |
1095 | { | 1097 | { |
1096 | struct orig_ist *orig_ist; | 1098 | struct orig_ist *oist; |
1097 | struct task_struct *me; | 1099 | struct task_struct *me; |
1098 | struct tss_struct *t; | 1100 | struct tss_struct *t; |
1099 | unsigned long v; | 1101 | unsigned long v; |
@@ -1102,7 +1104,7 @@ void __cpuinit cpu_init(void) | |||
1102 | 1104 | ||
1103 | cpu = stack_smp_processor_id(); | 1105 | cpu = stack_smp_processor_id(); |
1104 | t = &per_cpu(init_tss, cpu); | 1106 | t = &per_cpu(init_tss, cpu); |
1105 | orig_ist = &per_cpu(orig_ist, cpu); | 1107 | oist = &per_cpu(orig_ist, cpu); |
1106 | 1108 | ||
1107 | #ifdef CONFIG_NUMA | 1109 | #ifdef CONFIG_NUMA |
1108 | if (cpu != 0 && percpu_read(node_number) == 0 && | 1110 | if (cpu != 0 && percpu_read(node_number) == 0 && |
@@ -1115,7 +1117,7 @@ void __cpuinit cpu_init(void) | |||
1115 | if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) | 1117 | if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) |
1116 | panic("CPU#%d already initialized!\n", cpu); | 1118 | panic("CPU#%d already initialized!\n", cpu); |
1117 | 1119 | ||
1118 | printk(KERN_INFO "Initializing CPU#%d\n", cpu); | 1120 | pr_debug("Initializing CPU#%d\n", cpu); |
1119 | 1121 | ||
1120 | clear_in_cr4(X86_CR4_VME|X86_CR4_PVI|X86_CR4_TSD|X86_CR4_DE); | 1122 | clear_in_cr4(X86_CR4_VME|X86_CR4_PVI|X86_CR4_TSD|X86_CR4_DE); |
1121 | 1123 | ||
@@ -1143,12 +1145,12 @@ void __cpuinit cpu_init(void) | |||
1143 | /* | 1145 | /* |
1144 | * set up and load the per-CPU TSS | 1146 | * set up and load the per-CPU TSS |
1145 | */ | 1147 | */ |
1146 | if (!orig_ist->ist[0]) { | 1148 | if (!oist->ist[0]) { |
1147 | char *estacks = per_cpu(exception_stacks, cpu); | 1149 | char *estacks = per_cpu(exception_stacks, cpu); |
1148 | 1150 | ||
1149 | for (v = 0; v < N_EXCEPTION_STACKS; v++) { | 1151 | for (v = 0; v < N_EXCEPTION_STACKS; v++) { |
1150 | estacks += exception_stack_sizes[v]; | 1152 | estacks += exception_stack_sizes[v]; |
1151 | orig_ist->ist[v] = t->x86_tss.ist[v] = | 1153 | oist->ist[v] = t->x86_tss.ist[v] = |
1152 | (unsigned long)estacks; | 1154 | (unsigned long)estacks; |
1153 | } | 1155 | } |
1154 | } | 1156 | } |
diff --git a/arch/x86/kernel/cpu/cpu_debug.c b/arch/x86/kernel/cpu/cpu_debug.c index dca325c03999..b368cd862997 100644 --- a/arch/x86/kernel/cpu/cpu_debug.c +++ b/arch/x86/kernel/cpu/cpu_debug.c | |||
@@ -30,9 +30,9 @@ | |||
30 | #include <asm/apic.h> | 30 | #include <asm/apic.h> |
31 | #include <asm/desc.h> | 31 | #include <asm/desc.h> |
32 | 32 | ||
33 | static DEFINE_PER_CPU(struct cpu_cpuX_base [CPU_REG_ALL_BIT], cpu_arr); | 33 | static DEFINE_PER_CPU(struct cpu_cpuX_base [CPU_REG_ALL_BIT], cpud_arr); |
34 | static DEFINE_PER_CPU(struct cpu_private * [MAX_CPU_FILES], priv_arr); | 34 | static DEFINE_PER_CPU(struct cpu_private * [MAX_CPU_FILES], cpud_priv_arr); |
35 | static DEFINE_PER_CPU(int, cpu_priv_count); | 35 | static DEFINE_PER_CPU(int, cpud_priv_count); |
36 | 36 | ||
37 | static DEFINE_MUTEX(cpu_debug_lock); | 37 | static DEFINE_MUTEX(cpu_debug_lock); |
38 | 38 | ||
@@ -531,7 +531,7 @@ static int cpu_create_file(unsigned cpu, unsigned type, unsigned reg, | |||
531 | 531 | ||
532 | /* Already intialized */ | 532 | /* Already intialized */ |
533 | if (file == CPU_INDEX_BIT) | 533 | if (file == CPU_INDEX_BIT) |
534 | if (per_cpu(cpu_arr[type].init, cpu)) | 534 | if (per_cpu(cpud_arr[type].init, cpu)) |
535 | return 0; | 535 | return 0; |
536 | 536 | ||
537 | priv = kzalloc(sizeof(*priv), GFP_KERNEL); | 537 | priv = kzalloc(sizeof(*priv), GFP_KERNEL); |
@@ -543,8 +543,8 @@ static int cpu_create_file(unsigned cpu, unsigned type, unsigned reg, | |||
543 | priv->reg = reg; | 543 | priv->reg = reg; |
544 | priv->file = file; | 544 | priv->file = file; |
545 | mutex_lock(&cpu_debug_lock); | 545 | mutex_lock(&cpu_debug_lock); |
546 | per_cpu(priv_arr[type], cpu) = priv; | 546 | per_cpu(cpud_priv_arr[type], cpu) = priv; |
547 | per_cpu(cpu_priv_count, cpu)++; | 547 | per_cpu(cpud_priv_count, cpu)++; |
548 | mutex_unlock(&cpu_debug_lock); | 548 | mutex_unlock(&cpu_debug_lock); |
549 | 549 | ||
550 | if (file) | 550 | if (file) |
@@ -552,10 +552,10 @@ static int cpu_create_file(unsigned cpu, unsigned type, unsigned reg, | |||
552 | dentry, (void *)priv, &cpu_fops); | 552 | dentry, (void *)priv, &cpu_fops); |
553 | else { | 553 | else { |
554 | debugfs_create_file(cpu_base[type].name, S_IRUGO, | 554 | debugfs_create_file(cpu_base[type].name, S_IRUGO, |
555 | per_cpu(cpu_arr[type].dentry, cpu), | 555 | per_cpu(cpud_arr[type].dentry, cpu), |
556 | (void *)priv, &cpu_fops); | 556 | (void *)priv, &cpu_fops); |
557 | mutex_lock(&cpu_debug_lock); | 557 | mutex_lock(&cpu_debug_lock); |
558 | per_cpu(cpu_arr[type].init, cpu) = 1; | 558 | per_cpu(cpud_arr[type].init, cpu) = 1; |
559 | mutex_unlock(&cpu_debug_lock); | 559 | mutex_unlock(&cpu_debug_lock); |
560 | } | 560 | } |
561 | 561 | ||
@@ -615,7 +615,7 @@ static int cpu_init_allreg(unsigned cpu, struct dentry *dentry) | |||
615 | if (!is_typeflag_valid(cpu, cpu_base[type].flag)) | 615 | if (!is_typeflag_valid(cpu, cpu_base[type].flag)) |
616 | continue; | 616 | continue; |
617 | cpu_dentry = debugfs_create_dir(cpu_base[type].name, dentry); | 617 | cpu_dentry = debugfs_create_dir(cpu_base[type].name, dentry); |
618 | per_cpu(cpu_arr[type].dentry, cpu) = cpu_dentry; | 618 | per_cpu(cpud_arr[type].dentry, cpu) = cpu_dentry; |
619 | 619 | ||
620 | if (type < CPU_TSS_BIT) | 620 | if (type < CPU_TSS_BIT) |
621 | err = cpu_init_msr(cpu, type, cpu_dentry); | 621 | err = cpu_init_msr(cpu, type, cpu_dentry); |
@@ -647,11 +647,11 @@ static int cpu_init_cpu(void) | |||
647 | err = cpu_init_allreg(cpu, cpu_dentry); | 647 | err = cpu_init_allreg(cpu, cpu_dentry); |
648 | 648 | ||
649 | pr_info("cpu%d(%d) debug files %d\n", | 649 | pr_info("cpu%d(%d) debug files %d\n", |
650 | cpu, nr_cpu_ids, per_cpu(cpu_priv_count, cpu)); | 650 | cpu, nr_cpu_ids, per_cpu(cpud_priv_count, cpu)); |
651 | if (per_cpu(cpu_priv_count, cpu) > MAX_CPU_FILES) { | 651 | if (per_cpu(cpud_priv_count, cpu) > MAX_CPU_FILES) { |
652 | pr_err("Register files count %d exceeds limit %d\n", | 652 | pr_err("Register files count %d exceeds limit %d\n", |
653 | per_cpu(cpu_priv_count, cpu), MAX_CPU_FILES); | 653 | per_cpu(cpud_priv_count, cpu), MAX_CPU_FILES); |
654 | per_cpu(cpu_priv_count, cpu) = MAX_CPU_FILES; | 654 | per_cpu(cpud_priv_count, cpu) = MAX_CPU_FILES; |
655 | err = -ENFILE; | 655 | err = -ENFILE; |
656 | } | 656 | } |
657 | if (err) | 657 | if (err) |
@@ -676,8 +676,8 @@ static void __exit cpu_debug_exit(void) | |||
676 | debugfs_remove_recursive(cpu_debugfs_dir); | 676 | debugfs_remove_recursive(cpu_debugfs_dir); |
677 | 677 | ||
678 | for (cpu = 0; cpu < nr_cpu_ids; cpu++) | 678 | for (cpu = 0; cpu < nr_cpu_ids; cpu++) |
679 | for (i = 0; i < per_cpu(cpu_priv_count, cpu); i++) | 679 | for (i = 0; i < per_cpu(cpud_priv_count, cpu); i++) |
680 | kfree(per_cpu(priv_arr[i], cpu)); | 680 | kfree(per_cpu(cpud_priv_arr[i], cpu)); |
681 | } | 681 | } |
682 | 682 | ||
683 | module_init(cpu_debug_init); | 683 | module_init(cpu_debug_init); |
diff --git a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c index d2e7c77c1ea4..f28decf8dde3 100644 --- a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c +++ b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c | |||
@@ -68,9 +68,9 @@ struct acpi_cpufreq_data { | |||
68 | unsigned int cpu_feature; | 68 | unsigned int cpu_feature; |
69 | }; | 69 | }; |
70 | 70 | ||
71 | static DEFINE_PER_CPU(struct acpi_cpufreq_data *, drv_data); | 71 | static DEFINE_PER_CPU(struct acpi_cpufreq_data *, acfreq_data); |
72 | 72 | ||
73 | static DEFINE_PER_CPU(struct aperfmperf, old_perf); | 73 | static DEFINE_PER_CPU(struct aperfmperf, acfreq_old_perf); |
74 | 74 | ||
75 | /* acpi_perf_data is a pointer to percpu data. */ | 75 | /* acpi_perf_data is a pointer to percpu data. */ |
76 | static struct acpi_processor_performance *acpi_perf_data; | 76 | static struct acpi_processor_performance *acpi_perf_data; |
@@ -214,14 +214,14 @@ static u32 get_cur_val(const struct cpumask *mask) | |||
214 | if (unlikely(cpumask_empty(mask))) | 214 | if (unlikely(cpumask_empty(mask))) |
215 | return 0; | 215 | return 0; |
216 | 216 | ||
217 | switch (per_cpu(drv_data, cpumask_first(mask))->cpu_feature) { | 217 | switch (per_cpu(acfreq_data, cpumask_first(mask))->cpu_feature) { |
218 | case SYSTEM_INTEL_MSR_CAPABLE: | 218 | case SYSTEM_INTEL_MSR_CAPABLE: |
219 | cmd.type = SYSTEM_INTEL_MSR_CAPABLE; | 219 | cmd.type = SYSTEM_INTEL_MSR_CAPABLE; |
220 | cmd.addr.msr.reg = MSR_IA32_PERF_STATUS; | 220 | cmd.addr.msr.reg = MSR_IA32_PERF_STATUS; |
221 | break; | 221 | break; |
222 | case SYSTEM_IO_CAPABLE: | 222 | case SYSTEM_IO_CAPABLE: |
223 | cmd.type = SYSTEM_IO_CAPABLE; | 223 | cmd.type = SYSTEM_IO_CAPABLE; |
224 | perf = per_cpu(drv_data, cpumask_first(mask))->acpi_data; | 224 | perf = per_cpu(acfreq_data, cpumask_first(mask))->acpi_data; |
225 | cmd.addr.io.port = perf->control_register.address; | 225 | cmd.addr.io.port = perf->control_register.address; |
226 | cmd.addr.io.bit_width = perf->control_register.bit_width; | 226 | cmd.addr.io.bit_width = perf->control_register.bit_width; |
227 | break; | 227 | break; |
@@ -268,8 +268,8 @@ static unsigned int get_measured_perf(struct cpufreq_policy *policy, | |||
268 | if (smp_call_function_single(cpu, read_measured_perf_ctrs, &perf, 1)) | 268 | if (smp_call_function_single(cpu, read_measured_perf_ctrs, &perf, 1)) |
269 | return 0; | 269 | return 0; |
270 | 270 | ||
271 | ratio = calc_aperfmperf_ratio(&per_cpu(old_perf, cpu), &perf); | 271 | ratio = calc_aperfmperf_ratio(&per_cpu(acfreq_old_perf, cpu), &perf); |
272 | per_cpu(old_perf, cpu) = perf; | 272 | per_cpu(acfreq_old_perf, cpu) = perf; |
273 | 273 | ||
274 | retval = (policy->cpuinfo.max_freq * ratio) >> APERFMPERF_SHIFT; | 274 | retval = (policy->cpuinfo.max_freq * ratio) >> APERFMPERF_SHIFT; |
275 | 275 | ||
@@ -278,7 +278,7 @@ static unsigned int get_measured_perf(struct cpufreq_policy *policy, | |||
278 | 278 | ||
279 | static unsigned int get_cur_freq_on_cpu(unsigned int cpu) | 279 | static unsigned int get_cur_freq_on_cpu(unsigned int cpu) |
280 | { | 280 | { |
281 | struct acpi_cpufreq_data *data = per_cpu(drv_data, cpu); | 281 | struct acpi_cpufreq_data *data = per_cpu(acfreq_data, cpu); |
282 | unsigned int freq; | 282 | unsigned int freq; |
283 | unsigned int cached_freq; | 283 | unsigned int cached_freq; |
284 | 284 | ||
@@ -322,7 +322,7 @@ static unsigned int check_freqs(const struct cpumask *mask, unsigned int freq, | |||
322 | static int acpi_cpufreq_target(struct cpufreq_policy *policy, | 322 | static int acpi_cpufreq_target(struct cpufreq_policy *policy, |
323 | unsigned int target_freq, unsigned int relation) | 323 | unsigned int target_freq, unsigned int relation) |
324 | { | 324 | { |
325 | struct acpi_cpufreq_data *data = per_cpu(drv_data, policy->cpu); | 325 | struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); |
326 | struct acpi_processor_performance *perf; | 326 | struct acpi_processor_performance *perf; |
327 | struct cpufreq_freqs freqs; | 327 | struct cpufreq_freqs freqs; |
328 | struct drv_cmd cmd; | 328 | struct drv_cmd cmd; |
@@ -416,7 +416,7 @@ out: | |||
416 | 416 | ||
417 | static int acpi_cpufreq_verify(struct cpufreq_policy *policy) | 417 | static int acpi_cpufreq_verify(struct cpufreq_policy *policy) |
418 | { | 418 | { |
419 | struct acpi_cpufreq_data *data = per_cpu(drv_data, policy->cpu); | 419 | struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); |
420 | 420 | ||
421 | dprintk("acpi_cpufreq_verify\n"); | 421 | dprintk("acpi_cpufreq_verify\n"); |
422 | 422 | ||
@@ -574,7 +574,7 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy) | |||
574 | return -ENOMEM; | 574 | return -ENOMEM; |
575 | 575 | ||
576 | data->acpi_data = per_cpu_ptr(acpi_perf_data, cpu); | 576 | data->acpi_data = per_cpu_ptr(acpi_perf_data, cpu); |
577 | per_cpu(drv_data, cpu) = data; | 577 | per_cpu(acfreq_data, cpu) = data; |
578 | 578 | ||
579 | if (cpu_has(c, X86_FEATURE_CONSTANT_TSC)) | 579 | if (cpu_has(c, X86_FEATURE_CONSTANT_TSC)) |
580 | acpi_cpufreq_driver.flags |= CPUFREQ_CONST_LOOPS; | 580 | acpi_cpufreq_driver.flags |= CPUFREQ_CONST_LOOPS; |
@@ -725,20 +725,20 @@ err_unreg: | |||
725 | acpi_processor_unregister_performance(perf, cpu); | 725 | acpi_processor_unregister_performance(perf, cpu); |
726 | err_free: | 726 | err_free: |
727 | kfree(data); | 727 | kfree(data); |
728 | per_cpu(drv_data, cpu) = NULL; | 728 | per_cpu(acfreq_data, cpu) = NULL; |
729 | 729 | ||
730 | return result; | 730 | return result; |
731 | } | 731 | } |
732 | 732 | ||
733 | static int acpi_cpufreq_cpu_exit(struct cpufreq_policy *policy) | 733 | static int acpi_cpufreq_cpu_exit(struct cpufreq_policy *policy) |
734 | { | 734 | { |
735 | struct acpi_cpufreq_data *data = per_cpu(drv_data, policy->cpu); | 735 | struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); |
736 | 736 | ||
737 | dprintk("acpi_cpufreq_cpu_exit\n"); | 737 | dprintk("acpi_cpufreq_cpu_exit\n"); |
738 | 738 | ||
739 | if (data) { | 739 | if (data) { |
740 | cpufreq_frequency_table_put_attr(policy->cpu); | 740 | cpufreq_frequency_table_put_attr(policy->cpu); |
741 | per_cpu(drv_data, policy->cpu) = NULL; | 741 | per_cpu(acfreq_data, policy->cpu) = NULL; |
742 | acpi_processor_unregister_performance(data->acpi_data, | 742 | acpi_processor_unregister_performance(data->acpi_data, |
743 | policy->cpu); | 743 | policy->cpu); |
744 | kfree(data); | 744 | kfree(data); |
@@ -749,7 +749,7 @@ static int acpi_cpufreq_cpu_exit(struct cpufreq_policy *policy) | |||
749 | 749 | ||
750 | static int acpi_cpufreq_resume(struct cpufreq_policy *policy) | 750 | static int acpi_cpufreq_resume(struct cpufreq_policy *policy) |
751 | { | 751 | { |
752 | struct acpi_cpufreq_data *data = per_cpu(drv_data, policy->cpu); | 752 | struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); |
753 | 753 | ||
754 | dprintk("acpi_cpufreq_resume\n"); | 754 | dprintk("acpi_cpufreq_resume\n"); |
755 | 755 | ||
diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c index c900b73f9224..9c31e8b09d2c 100644 --- a/arch/x86/kernel/cpu/intel.c +++ b/arch/x86/kernel/cpu/intel.c | |||
@@ -270,8 +270,6 @@ static void __cpuinit srat_detect_node(struct cpuinfo_x86 *c) | |||
270 | node = cpu_to_node(cpu); | 270 | node = cpu_to_node(cpu); |
271 | } | 271 | } |
272 | numa_set_node(cpu, node); | 272 | numa_set_node(cpu, node); |
273 | |||
274 | printk(KERN_INFO "CPU %d/0x%x -> Node %d\n", cpu, apicid, node); | ||
275 | #endif | 273 | #endif |
276 | } | 274 | } |
277 | 275 | ||
diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c index 6c40f6b5b340..fc6c8ef92dcc 100644 --- a/arch/x86/kernel/cpu/intel_cacheinfo.c +++ b/arch/x86/kernel/cpu/intel_cacheinfo.c | |||
@@ -499,26 +499,27 @@ unsigned int __cpuinit init_intel_cacheinfo(struct cpuinfo_x86 *c) | |||
499 | #ifdef CONFIG_SYSFS | 499 | #ifdef CONFIG_SYSFS |
500 | 500 | ||
501 | /* pointer to _cpuid4_info array (for each cache leaf) */ | 501 | /* pointer to _cpuid4_info array (for each cache leaf) */ |
502 | static DEFINE_PER_CPU(struct _cpuid4_info *, cpuid4_info); | 502 | static DEFINE_PER_CPU(struct _cpuid4_info *, ici_cpuid4_info); |
503 | #define CPUID4_INFO_IDX(x, y) (&((per_cpu(cpuid4_info, x))[y])) | 503 | #define CPUID4_INFO_IDX(x, y) (&((per_cpu(ici_cpuid4_info, x))[y])) |
504 | 504 | ||
505 | #ifdef CONFIG_SMP | 505 | #ifdef CONFIG_SMP |
506 | static void __cpuinit cache_shared_cpu_map_setup(unsigned int cpu, int index) | 506 | static void __cpuinit cache_shared_cpu_map_setup(unsigned int cpu, int index) |
507 | { | 507 | { |
508 | struct _cpuid4_info *this_leaf, *sibling_leaf; | 508 | struct _cpuid4_info *this_leaf, *sibling_leaf; |
509 | unsigned long num_threads_sharing; | 509 | unsigned long num_threads_sharing; |
510 | int index_msb, i; | 510 | int index_msb, i, sibling; |
511 | struct cpuinfo_x86 *c = &cpu_data(cpu); | 511 | struct cpuinfo_x86 *c = &cpu_data(cpu); |
512 | 512 | ||
513 | if ((index == 3) && (c->x86_vendor == X86_VENDOR_AMD)) { | 513 | if ((index == 3) && (c->x86_vendor == X86_VENDOR_AMD)) { |
514 | struct cpuinfo_x86 *d; | 514 | for_each_cpu(i, c->llc_shared_map) { |
515 | for_each_online_cpu(i) { | 515 | if (!per_cpu(ici_cpuid4_info, i)) |
516 | if (!per_cpu(cpuid4_info, i)) | ||
517 | continue; | 516 | continue; |
518 | d = &cpu_data(i); | ||
519 | this_leaf = CPUID4_INFO_IDX(i, index); | 517 | this_leaf = CPUID4_INFO_IDX(i, index); |
520 | cpumask_copy(to_cpumask(this_leaf->shared_cpu_map), | 518 | for_each_cpu(sibling, c->llc_shared_map) { |
521 | d->llc_shared_map); | 519 | if (!cpu_online(sibling)) |
520 | continue; | ||
521 | set_bit(sibling, this_leaf->shared_cpu_map); | ||
522 | } | ||
522 | } | 523 | } |
523 | return; | 524 | return; |
524 | } | 525 | } |
@@ -535,7 +536,7 @@ static void __cpuinit cache_shared_cpu_map_setup(unsigned int cpu, int index) | |||
535 | c->apicid >> index_msb) { | 536 | c->apicid >> index_msb) { |
536 | cpumask_set_cpu(i, | 537 | cpumask_set_cpu(i, |
537 | to_cpumask(this_leaf->shared_cpu_map)); | 538 | to_cpumask(this_leaf->shared_cpu_map)); |
538 | if (i != cpu && per_cpu(cpuid4_info, i)) { | 539 | if (i != cpu && per_cpu(ici_cpuid4_info, i)) { |
539 | sibling_leaf = | 540 | sibling_leaf = |
540 | CPUID4_INFO_IDX(i, index); | 541 | CPUID4_INFO_IDX(i, index); |
541 | cpumask_set_cpu(cpu, to_cpumask( | 542 | cpumask_set_cpu(cpu, to_cpumask( |
@@ -574,8 +575,8 @@ static void __cpuinit free_cache_attributes(unsigned int cpu) | |||
574 | for (i = 0; i < num_cache_leaves; i++) | 575 | for (i = 0; i < num_cache_leaves; i++) |
575 | cache_remove_shared_cpu_map(cpu, i); | 576 | cache_remove_shared_cpu_map(cpu, i); |
576 | 577 | ||
577 | kfree(per_cpu(cpuid4_info, cpu)); | 578 | kfree(per_cpu(ici_cpuid4_info, cpu)); |
578 | per_cpu(cpuid4_info, cpu) = NULL; | 579 | per_cpu(ici_cpuid4_info, cpu) = NULL; |
579 | } | 580 | } |
580 | 581 | ||
581 | static int | 582 | static int |
@@ -614,15 +615,15 @@ static int __cpuinit detect_cache_attributes(unsigned int cpu) | |||
614 | if (num_cache_leaves == 0) | 615 | if (num_cache_leaves == 0) |
615 | return -ENOENT; | 616 | return -ENOENT; |
616 | 617 | ||
617 | per_cpu(cpuid4_info, cpu) = kzalloc( | 618 | per_cpu(ici_cpuid4_info, cpu) = kzalloc( |
618 | sizeof(struct _cpuid4_info) * num_cache_leaves, GFP_KERNEL); | 619 | sizeof(struct _cpuid4_info) * num_cache_leaves, GFP_KERNEL); |
619 | if (per_cpu(cpuid4_info, cpu) == NULL) | 620 | if (per_cpu(ici_cpuid4_info, cpu) == NULL) |
620 | return -ENOMEM; | 621 | return -ENOMEM; |
621 | 622 | ||
622 | smp_call_function_single(cpu, get_cpu_leaves, &retval, true); | 623 | smp_call_function_single(cpu, get_cpu_leaves, &retval, true); |
623 | if (retval) { | 624 | if (retval) { |
624 | kfree(per_cpu(cpuid4_info, cpu)); | 625 | kfree(per_cpu(ici_cpuid4_info, cpu)); |
625 | per_cpu(cpuid4_info, cpu) = NULL; | 626 | per_cpu(ici_cpuid4_info, cpu) = NULL; |
626 | } | 627 | } |
627 | 628 | ||
628 | return retval; | 629 | return retval; |
@@ -634,7 +635,7 @@ static int __cpuinit detect_cache_attributes(unsigned int cpu) | |||
634 | extern struct sysdev_class cpu_sysdev_class; /* from drivers/base/cpu.c */ | 635 | extern struct sysdev_class cpu_sysdev_class; /* from drivers/base/cpu.c */ |
635 | 636 | ||
636 | /* pointer to kobject for cpuX/cache */ | 637 | /* pointer to kobject for cpuX/cache */ |
637 | static DEFINE_PER_CPU(struct kobject *, cache_kobject); | 638 | static DEFINE_PER_CPU(struct kobject *, ici_cache_kobject); |
638 | 639 | ||
639 | struct _index_kobject { | 640 | struct _index_kobject { |
640 | struct kobject kobj; | 641 | struct kobject kobj; |
@@ -643,8 +644,8 @@ struct _index_kobject { | |||
643 | }; | 644 | }; |
644 | 645 | ||
645 | /* pointer to array of kobjects for cpuX/cache/indexY */ | 646 | /* pointer to array of kobjects for cpuX/cache/indexY */ |
646 | static DEFINE_PER_CPU(struct _index_kobject *, index_kobject); | 647 | static DEFINE_PER_CPU(struct _index_kobject *, ici_index_kobject); |
647 | #define INDEX_KOBJECT_PTR(x, y) (&((per_cpu(index_kobject, x))[y])) | 648 | #define INDEX_KOBJECT_PTR(x, y) (&((per_cpu(ici_index_kobject, x))[y])) |
648 | 649 | ||
649 | #define show_one_plus(file_name, object, val) \ | 650 | #define show_one_plus(file_name, object, val) \ |
650 | static ssize_t show_##file_name \ | 651 | static ssize_t show_##file_name \ |
@@ -863,10 +864,10 @@ static struct kobj_type ktype_percpu_entry = { | |||
863 | 864 | ||
864 | static void __cpuinit cpuid4_cache_sysfs_exit(unsigned int cpu) | 865 | static void __cpuinit cpuid4_cache_sysfs_exit(unsigned int cpu) |
865 | { | 866 | { |
866 | kfree(per_cpu(cache_kobject, cpu)); | 867 | kfree(per_cpu(ici_cache_kobject, cpu)); |
867 | kfree(per_cpu(index_kobject, cpu)); | 868 | kfree(per_cpu(ici_index_kobject, cpu)); |
868 | per_cpu(cache_kobject, cpu) = NULL; | 869 | per_cpu(ici_cache_kobject, cpu) = NULL; |
869 | per_cpu(index_kobject, cpu) = NULL; | 870 | per_cpu(ici_index_kobject, cpu) = NULL; |
870 | free_cache_attributes(cpu); | 871 | free_cache_attributes(cpu); |
871 | } | 872 | } |
872 | 873 | ||
@@ -882,14 +883,14 @@ static int __cpuinit cpuid4_cache_sysfs_init(unsigned int cpu) | |||
882 | return err; | 883 | return err; |
883 | 884 | ||
884 | /* Allocate all required memory */ | 885 | /* Allocate all required memory */ |
885 | per_cpu(cache_kobject, cpu) = | 886 | per_cpu(ici_cache_kobject, cpu) = |
886 | kzalloc(sizeof(struct kobject), GFP_KERNEL); | 887 | kzalloc(sizeof(struct kobject), GFP_KERNEL); |
887 | if (unlikely(per_cpu(cache_kobject, cpu) == NULL)) | 888 | if (unlikely(per_cpu(ici_cache_kobject, cpu) == NULL)) |
888 | goto err_out; | 889 | goto err_out; |
889 | 890 | ||
890 | per_cpu(index_kobject, cpu) = kzalloc( | 891 | per_cpu(ici_index_kobject, cpu) = kzalloc( |
891 | sizeof(struct _index_kobject) * num_cache_leaves, GFP_KERNEL); | 892 | sizeof(struct _index_kobject) * num_cache_leaves, GFP_KERNEL); |
892 | if (unlikely(per_cpu(index_kobject, cpu) == NULL)) | 893 | if (unlikely(per_cpu(ici_index_kobject, cpu) == NULL)) |
893 | goto err_out; | 894 | goto err_out; |
894 | 895 | ||
895 | return 0; | 896 | return 0; |
@@ -913,7 +914,7 @@ static int __cpuinit cache_add_dev(struct sys_device * sys_dev) | |||
913 | if (unlikely(retval < 0)) | 914 | if (unlikely(retval < 0)) |
914 | return retval; | 915 | return retval; |
915 | 916 | ||
916 | retval = kobject_init_and_add(per_cpu(cache_kobject, cpu), | 917 | retval = kobject_init_and_add(per_cpu(ici_cache_kobject, cpu), |
917 | &ktype_percpu_entry, | 918 | &ktype_percpu_entry, |
918 | &sys_dev->kobj, "%s", "cache"); | 919 | &sys_dev->kobj, "%s", "cache"); |
919 | if (retval < 0) { | 920 | if (retval < 0) { |
@@ -927,12 +928,12 @@ static int __cpuinit cache_add_dev(struct sys_device * sys_dev) | |||
927 | this_object->index = i; | 928 | this_object->index = i; |
928 | retval = kobject_init_and_add(&(this_object->kobj), | 929 | retval = kobject_init_and_add(&(this_object->kobj), |
929 | &ktype_cache, | 930 | &ktype_cache, |
930 | per_cpu(cache_kobject, cpu), | 931 | per_cpu(ici_cache_kobject, cpu), |
931 | "index%1lu", i); | 932 | "index%1lu", i); |
932 | if (unlikely(retval)) { | 933 | if (unlikely(retval)) { |
933 | for (j = 0; j < i; j++) | 934 | for (j = 0; j < i; j++) |
934 | kobject_put(&(INDEX_KOBJECT_PTR(cpu, j)->kobj)); | 935 | kobject_put(&(INDEX_KOBJECT_PTR(cpu, j)->kobj)); |
935 | kobject_put(per_cpu(cache_kobject, cpu)); | 936 | kobject_put(per_cpu(ici_cache_kobject, cpu)); |
936 | cpuid4_cache_sysfs_exit(cpu); | 937 | cpuid4_cache_sysfs_exit(cpu); |
937 | return retval; | 938 | return retval; |
938 | } | 939 | } |
@@ -940,7 +941,7 @@ static int __cpuinit cache_add_dev(struct sys_device * sys_dev) | |||
940 | } | 941 | } |
941 | cpumask_set_cpu(cpu, to_cpumask(cache_dev_map)); | 942 | cpumask_set_cpu(cpu, to_cpumask(cache_dev_map)); |
942 | 943 | ||
943 | kobject_uevent(per_cpu(cache_kobject, cpu), KOBJ_ADD); | 944 | kobject_uevent(per_cpu(ici_cache_kobject, cpu), KOBJ_ADD); |
944 | return 0; | 945 | return 0; |
945 | } | 946 | } |
946 | 947 | ||
@@ -949,7 +950,7 @@ static void __cpuinit cache_remove_dev(struct sys_device * sys_dev) | |||
949 | unsigned int cpu = sys_dev->id; | 950 | unsigned int cpu = sys_dev->id; |
950 | unsigned long i; | 951 | unsigned long i; |
951 | 952 | ||
952 | if (per_cpu(cpuid4_info, cpu) == NULL) | 953 | if (per_cpu(ici_cpuid4_info, cpu) == NULL) |
953 | return; | 954 | return; |
954 | if (!cpumask_test_cpu(cpu, to_cpumask(cache_dev_map))) | 955 | if (!cpumask_test_cpu(cpu, to_cpumask(cache_dev_map))) |
955 | return; | 956 | return; |
@@ -957,7 +958,7 @@ static void __cpuinit cache_remove_dev(struct sys_device * sys_dev) | |||
957 | 958 | ||
958 | for (i = 0; i < num_cache_leaves; i++) | 959 | for (i = 0; i < num_cache_leaves; i++) |
959 | kobject_put(&(INDEX_KOBJECT_PTR(cpu, i)->kobj)); | 960 | kobject_put(&(INDEX_KOBJECT_PTR(cpu, i)->kobj)); |
960 | kobject_put(per_cpu(cache_kobject, cpu)); | 961 | kobject_put(per_cpu(ici_cache_kobject, cpu)); |
961 | cpuid4_cache_sysfs_exit(cpu); | 962 | cpuid4_cache_sysfs_exit(cpu); |
962 | } | 963 | } |
963 | 964 | ||
diff --git a/arch/x86/kernel/cpu/mcheck/therm_throt.c b/arch/x86/kernel/cpu/mcheck/therm_throt.c index 4fef985fc221..81c499eceb21 100644 --- a/arch/x86/kernel/cpu/mcheck/therm_throt.c +++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c | |||
@@ -256,6 +256,16 @@ asmlinkage void smp_thermal_interrupt(struct pt_regs *regs) | |||
256 | ack_APIC_irq(); | 256 | ack_APIC_irq(); |
257 | } | 257 | } |
258 | 258 | ||
259 | /* Thermal monitoring depends on APIC, ACPI and clock modulation */ | ||
260 | static int intel_thermal_supported(struct cpuinfo_x86 *c) | ||
261 | { | ||
262 | if (!cpu_has_apic) | ||
263 | return 0; | ||
264 | if (!cpu_has(c, X86_FEATURE_ACPI) || !cpu_has(c, X86_FEATURE_ACC)) | ||
265 | return 0; | ||
266 | return 1; | ||
267 | } | ||
268 | |||
259 | void __init mcheck_intel_therm_init(void) | 269 | void __init mcheck_intel_therm_init(void) |
260 | { | 270 | { |
261 | /* | 271 | /* |
@@ -263,8 +273,7 @@ void __init mcheck_intel_therm_init(void) | |||
263 | * LVT value on BSP and use that value to restore APs' thermal LVT | 273 | * LVT value on BSP and use that value to restore APs' thermal LVT |
264 | * entry BIOS programmed later | 274 | * entry BIOS programmed later |
265 | */ | 275 | */ |
266 | if (cpu_has(&boot_cpu_data, X86_FEATURE_ACPI) && | 276 | if (intel_thermal_supported(&boot_cpu_data)) |
267 | cpu_has(&boot_cpu_data, X86_FEATURE_ACC)) | ||
268 | lvtthmr_init = apic_read(APIC_LVTTHMR); | 277 | lvtthmr_init = apic_read(APIC_LVTTHMR); |
269 | } | 278 | } |
270 | 279 | ||
@@ -274,8 +283,7 @@ void intel_init_thermal(struct cpuinfo_x86 *c) | |||
274 | int tm2 = 0; | 283 | int tm2 = 0; |
275 | u32 l, h; | 284 | u32 l, h; |
276 | 285 | ||
277 | /* Thermal monitoring depends on ACPI and clock modulation*/ | 286 | if (!intel_thermal_supported(c)) |
278 | if (!cpu_has(c, X86_FEATURE_ACPI) || !cpu_has(c, X86_FEATURE_ACC)) | ||
279 | return; | 287 | return; |
280 | 288 | ||
281 | /* | 289 | /* |
@@ -339,8 +347,8 @@ void intel_init_thermal(struct cpuinfo_x86 *c) | |||
339 | l = apic_read(APIC_LVTTHMR); | 347 | l = apic_read(APIC_LVTTHMR); |
340 | apic_write(APIC_LVTTHMR, l & ~APIC_LVT_MASKED); | 348 | apic_write(APIC_LVTTHMR, l & ~APIC_LVT_MASKED); |
341 | 349 | ||
342 | printk(KERN_INFO "CPU%d: Thermal monitoring enabled (%s)\n", | 350 | printk_once(KERN_INFO "CPU0: Thermal monitoring enabled (%s)\n", |
343 | cpu, tm2 ? "TM2" : "TM1"); | 351 | tm2 ? "TM2" : "TM1"); |
344 | 352 | ||
345 | /* enable thermal throttle processing */ | 353 | /* enable thermal throttle processing */ |
346 | atomic_set(&therm_throt_en, 1); | 354 | atomic_set(&therm_throt_en, 1); |
diff --git a/arch/x86/kernel/cpu/mtrr/if.c b/arch/x86/kernel/cpu/mtrr/if.c index 3c1b12d461d1..e006e56f699c 100644 --- a/arch/x86/kernel/cpu/mtrr/if.c +++ b/arch/x86/kernel/cpu/mtrr/if.c | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <linux/proc_fs.h> | 4 | #include <linux/proc_fs.h> |
5 | #include <linux/module.h> | 5 | #include <linux/module.h> |
6 | #include <linux/ctype.h> | 6 | #include <linux/ctype.h> |
7 | #include <linux/string.h> | ||
7 | #include <linux/init.h> | 8 | #include <linux/init.h> |
8 | 9 | ||
9 | #define LINE_SIZE 80 | 10 | #define LINE_SIZE 80 |
@@ -133,8 +134,7 @@ mtrr_write(struct file *file, const char __user *buf, size_t len, loff_t * ppos) | |||
133 | return -EINVAL; | 134 | return -EINVAL; |
134 | 135 | ||
135 | base = simple_strtoull(line + 5, &ptr, 0); | 136 | base = simple_strtoull(line + 5, &ptr, 0); |
136 | while (isspace(*ptr)) | 137 | ptr = skip_spaces(ptr); |
137 | ptr++; | ||
138 | 138 | ||
139 | if (strncmp(ptr, "size=", 5)) | 139 | if (strncmp(ptr, "size=", 5)) |
140 | return -EINVAL; | 140 | return -EINVAL; |
@@ -142,14 +142,11 @@ mtrr_write(struct file *file, const char __user *buf, size_t len, loff_t * ppos) | |||
142 | size = simple_strtoull(ptr + 5, &ptr, 0); | 142 | size = simple_strtoull(ptr + 5, &ptr, 0); |
143 | if ((base & 0xfff) || (size & 0xfff)) | 143 | if ((base & 0xfff) || (size & 0xfff)) |
144 | return -EINVAL; | 144 | return -EINVAL; |
145 | while (isspace(*ptr)) | 145 | ptr = skip_spaces(ptr); |
146 | ptr++; | ||
147 | 146 | ||
148 | if (strncmp(ptr, "type=", 5)) | 147 | if (strncmp(ptr, "type=", 5)) |
149 | return -EINVAL; | 148 | return -EINVAL; |
150 | ptr += 5; | 149 | ptr = skip_spaces(ptr + 5); |
151 | while (isspace(*ptr)) | ||
152 | ptr++; | ||
153 | 150 | ||
154 | for (i = 0; i < MTRR_NUM_TYPES; ++i) { | 151 | for (i = 0; i < MTRR_NUM_TYPES; ++i) { |
155 | if (strcmp(ptr, mtrr_strings[i])) | 152 | if (strcmp(ptr, mtrr_strings[i])) |
diff --git a/arch/x86/kernel/ds.c b/arch/x86/kernel/ds.c index ef42a038f1a6..1c47390dd0e5 100644 --- a/arch/x86/kernel/ds.c +++ b/arch/x86/kernel/ds.c | |||
@@ -265,13 +265,13 @@ struct ds_context { | |||
265 | int cpu; | 265 | int cpu; |
266 | }; | 266 | }; |
267 | 267 | ||
268 | static DEFINE_PER_CPU(struct ds_context *, cpu_context); | 268 | static DEFINE_PER_CPU(struct ds_context *, cpu_ds_context); |
269 | 269 | ||
270 | 270 | ||
271 | static struct ds_context *ds_get_context(struct task_struct *task, int cpu) | 271 | static struct ds_context *ds_get_context(struct task_struct *task, int cpu) |
272 | { | 272 | { |
273 | struct ds_context **p_context = | 273 | struct ds_context **p_context = |
274 | (task ? &task->thread.ds_ctx : &per_cpu(cpu_context, cpu)); | 274 | (task ? &task->thread.ds_ctx : &per_cpu(cpu_ds_context, cpu)); |
275 | struct ds_context *context = NULL; | 275 | struct ds_context *context = NULL; |
276 | struct ds_context *new_context = NULL; | 276 | struct ds_context *new_context = NULL; |
277 | 277 | ||
diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c index b8ce165dde5d..0a0aa1cec8f1 100644 --- a/arch/x86/kernel/dumpstack.c +++ b/arch/x86/kernel/dumpstack.c | |||
@@ -188,7 +188,7 @@ void dump_stack(void) | |||
188 | } | 188 | } |
189 | EXPORT_SYMBOL(dump_stack); | 189 | EXPORT_SYMBOL(dump_stack); |
190 | 190 | ||
191 | static raw_spinlock_t die_lock = __RAW_SPIN_LOCK_UNLOCKED; | 191 | static arch_spinlock_t die_lock = __ARCH_SPIN_LOCK_UNLOCKED; |
192 | static int die_owner = -1; | 192 | static int die_owner = -1; |
193 | static unsigned int die_nest_count; | 193 | static unsigned int die_nest_count; |
194 | 194 | ||
@@ -207,11 +207,11 @@ unsigned __kprobes long oops_begin(void) | |||
207 | /* racy, but better than risking deadlock. */ | 207 | /* racy, but better than risking deadlock. */ |
208 | raw_local_irq_save(flags); | 208 | raw_local_irq_save(flags); |
209 | cpu = smp_processor_id(); | 209 | cpu = smp_processor_id(); |
210 | if (!__raw_spin_trylock(&die_lock)) { | 210 | if (!arch_spin_trylock(&die_lock)) { |
211 | if (cpu == die_owner) | 211 | if (cpu == die_owner) |
212 | /* nested oops. should stop eventually */; | 212 | /* nested oops. should stop eventually */; |
213 | else | 213 | else |
214 | __raw_spin_lock(&die_lock); | 214 | arch_spin_lock(&die_lock); |
215 | } | 215 | } |
216 | die_nest_count++; | 216 | die_nest_count++; |
217 | die_owner = cpu; | 217 | die_owner = cpu; |
@@ -231,7 +231,7 @@ void __kprobes oops_end(unsigned long flags, struct pt_regs *regs, int signr) | |||
231 | die_nest_count--; | 231 | die_nest_count--; |
232 | if (!die_nest_count) | 232 | if (!die_nest_count) |
233 | /* Nest count reaches zero, release the lock. */ | 233 | /* Nest count reaches zero, release the lock. */ |
234 | __raw_spin_unlock(&die_lock); | 234 | arch_spin_unlock(&die_lock); |
235 | raw_local_irq_restore(flags); | 235 | raw_local_irq_restore(flags); |
236 | oops_exit(); | 236 | oops_exit(); |
237 | 237 | ||
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index d17d482a04f4..f50447d961c0 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c | |||
@@ -732,7 +732,16 @@ struct early_res { | |||
732 | char overlap_ok; | 732 | char overlap_ok; |
733 | }; | 733 | }; |
734 | static struct early_res early_res[MAX_EARLY_RES] __initdata = { | 734 | static struct early_res early_res[MAX_EARLY_RES] __initdata = { |
735 | { 0, PAGE_SIZE, "BIOS data page" }, /* BIOS data page */ | 735 | { 0, PAGE_SIZE, "BIOS data page", 1 }, /* BIOS data page */ |
736 | #ifdef CONFIG_X86_32 | ||
737 | /* | ||
738 | * But first pinch a few for the stack/trampoline stuff | ||
739 | * FIXME: Don't need the extra page at 4K, but need to fix | ||
740 | * trampoline before removing it. (see the GDT stuff) | ||
741 | */ | ||
742 | { PAGE_SIZE, PAGE_SIZE, "EX TRAMPOLINE", 1 }, | ||
743 | #endif | ||
744 | |||
736 | {} | 745 | {} |
737 | }; | 746 | }; |
738 | 747 | ||
diff --git a/arch/x86/kernel/geode_32.c b/arch/x86/kernel/geode_32.c deleted file mode 100644 index 9b08e852fd1a..000000000000 --- a/arch/x86/kernel/geode_32.c +++ /dev/null | |||
@@ -1,196 +0,0 @@ | |||
1 | /* | ||
2 | * AMD Geode southbridge support code | ||
3 | * Copyright (C) 2006, Advanced Micro Devices, Inc. | ||
4 | * Copyright (C) 2007, Andres Salomon <dilinger@debian.org> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of version 2 of the GNU General Public License | ||
8 | * as published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/module.h> | ||
13 | #include <linux/ioport.h> | ||
14 | #include <linux/io.h> | ||
15 | #include <asm/msr.h> | ||
16 | #include <asm/geode.h> | ||
17 | |||
18 | static struct { | ||
19 | char *name; | ||
20 | u32 msr; | ||
21 | int size; | ||
22 | u32 base; | ||
23 | } lbars[] = { | ||
24 | { "geode-pms", MSR_LBAR_PMS, LBAR_PMS_SIZE, 0 }, | ||
25 | { "geode-acpi", MSR_LBAR_ACPI, LBAR_ACPI_SIZE, 0 }, | ||
26 | { "geode-gpio", MSR_LBAR_GPIO, LBAR_GPIO_SIZE, 0 }, | ||
27 | { "geode-mfgpt", MSR_LBAR_MFGPT, LBAR_MFGPT_SIZE, 0 } | ||
28 | }; | ||
29 | |||
30 | static void __init init_lbars(void) | ||
31 | { | ||
32 | u32 lo, hi; | ||
33 | int i; | ||
34 | |||
35 | for (i = 0; i < ARRAY_SIZE(lbars); i++) { | ||
36 | rdmsr(lbars[i].msr, lo, hi); | ||
37 | if (hi & 0x01) | ||
38 | lbars[i].base = lo & 0x0000ffff; | ||
39 | |||
40 | if (lbars[i].base == 0) | ||
41 | printk(KERN_ERR "geode: Couldn't initialize '%s'\n", | ||
42 | lbars[i].name); | ||
43 | } | ||
44 | } | ||
45 | |||
46 | int geode_get_dev_base(unsigned int dev) | ||
47 | { | ||
48 | BUG_ON(dev >= ARRAY_SIZE(lbars)); | ||
49 | return lbars[dev].base; | ||
50 | } | ||
51 | EXPORT_SYMBOL_GPL(geode_get_dev_base); | ||
52 | |||
53 | /* === GPIO API === */ | ||
54 | |||
55 | void geode_gpio_set(u32 gpio, unsigned int reg) | ||
56 | { | ||
57 | u32 base = geode_get_dev_base(GEODE_DEV_GPIO); | ||
58 | |||
59 | if (!base) | ||
60 | return; | ||
61 | |||
62 | /* low bank register */ | ||
63 | if (gpio & 0xFFFF) | ||
64 | outl(gpio & 0xFFFF, base + reg); | ||
65 | /* high bank register */ | ||
66 | gpio >>= 16; | ||
67 | if (gpio) | ||
68 | outl(gpio, base + 0x80 + reg); | ||
69 | } | ||
70 | EXPORT_SYMBOL_GPL(geode_gpio_set); | ||
71 | |||
72 | void geode_gpio_clear(u32 gpio, unsigned int reg) | ||
73 | { | ||
74 | u32 base = geode_get_dev_base(GEODE_DEV_GPIO); | ||
75 | |||
76 | if (!base) | ||
77 | return; | ||
78 | |||
79 | /* low bank register */ | ||
80 | if (gpio & 0xFFFF) | ||
81 | outl((gpio & 0xFFFF) << 16, base + reg); | ||
82 | /* high bank register */ | ||
83 | gpio &= (0xFFFF << 16); | ||
84 | if (gpio) | ||
85 | outl(gpio, base + 0x80 + reg); | ||
86 | } | ||
87 | EXPORT_SYMBOL_GPL(geode_gpio_clear); | ||
88 | |||
89 | int geode_gpio_isset(u32 gpio, unsigned int reg) | ||
90 | { | ||
91 | u32 base = geode_get_dev_base(GEODE_DEV_GPIO); | ||
92 | u32 val; | ||
93 | |||
94 | if (!base) | ||
95 | return 0; | ||
96 | |||
97 | /* low bank register */ | ||
98 | if (gpio & 0xFFFF) { | ||
99 | val = inl(base + reg) & (gpio & 0xFFFF); | ||
100 | if ((gpio & 0xFFFF) == val) | ||
101 | return 1; | ||
102 | } | ||
103 | /* high bank register */ | ||
104 | gpio >>= 16; | ||
105 | if (gpio) { | ||
106 | val = inl(base + 0x80 + reg) & gpio; | ||
107 | if (gpio == val) | ||
108 | return 1; | ||
109 | } | ||
110 | return 0; | ||
111 | } | ||
112 | EXPORT_SYMBOL_GPL(geode_gpio_isset); | ||
113 | |||
114 | void geode_gpio_set_irq(unsigned int group, unsigned int irq) | ||
115 | { | ||
116 | u32 lo, hi; | ||
117 | |||
118 | if (group > 7 || irq > 15) | ||
119 | return; | ||
120 | |||
121 | rdmsr(MSR_PIC_ZSEL_HIGH, lo, hi); | ||
122 | |||
123 | lo &= ~(0xF << (group * 4)); | ||
124 | lo |= (irq & 0xF) << (group * 4); | ||
125 | |||
126 | wrmsr(MSR_PIC_ZSEL_HIGH, lo, hi); | ||
127 | } | ||
128 | EXPORT_SYMBOL_GPL(geode_gpio_set_irq); | ||
129 | |||
130 | void geode_gpio_setup_event(unsigned int gpio, int pair, int pme) | ||
131 | { | ||
132 | u32 base = geode_get_dev_base(GEODE_DEV_GPIO); | ||
133 | u32 offset, shift, val; | ||
134 | |||
135 | if (gpio >= 24) | ||
136 | offset = GPIO_MAP_W; | ||
137 | else if (gpio >= 16) | ||
138 | offset = GPIO_MAP_Z; | ||
139 | else if (gpio >= 8) | ||
140 | offset = GPIO_MAP_Y; | ||
141 | else | ||
142 | offset = GPIO_MAP_X; | ||
143 | |||
144 | shift = (gpio % 8) * 4; | ||
145 | |||
146 | val = inl(base + offset); | ||
147 | |||
148 | /* Clear whatever was there before */ | ||
149 | val &= ~(0xF << shift); | ||
150 | |||
151 | /* And set the new value */ | ||
152 | |||
153 | val |= ((pair & 7) << shift); | ||
154 | |||
155 | /* Set the PME bit if this is a PME event */ | ||
156 | |||
157 | if (pme) | ||
158 | val |= (1 << (shift + 3)); | ||
159 | |||
160 | outl(val, base + offset); | ||
161 | } | ||
162 | EXPORT_SYMBOL_GPL(geode_gpio_setup_event); | ||
163 | |||
164 | int geode_has_vsa2(void) | ||
165 | { | ||
166 | static int has_vsa2 = -1; | ||
167 | |||
168 | if (has_vsa2 == -1) { | ||
169 | u16 val; | ||
170 | |||
171 | /* | ||
172 | * The VSA has virtual registers that we can query for a | ||
173 | * signature. | ||
174 | */ | ||
175 | outw(VSA_VR_UNLOCK, VSA_VRC_INDEX); | ||
176 | outw(VSA_VR_SIGNATURE, VSA_VRC_INDEX); | ||
177 | |||
178 | val = inw(VSA_VRC_DATA); | ||
179 | has_vsa2 = (val == AMD_VSA_SIG || val == GSW_VSA_SIG); | ||
180 | } | ||
181 | |||
182 | return has_vsa2; | ||
183 | } | ||
184 | EXPORT_SYMBOL_GPL(geode_has_vsa2); | ||
185 | |||
186 | static int __init geode_southbridge_init(void) | ||
187 | { | ||
188 | if (!is_geode()) | ||
189 | return -ENODEV; | ||
190 | |||
191 | init_lbars(); | ||
192 | (void) mfgpt_timer_setup(); | ||
193 | return 0; | ||
194 | } | ||
195 | |||
196 | postcore_initcall(geode_southbridge_init); | ||
diff --git a/arch/x86/kernel/head32.c b/arch/x86/kernel/head32.c index 4f8e2507e8f3..5051b94c9069 100644 --- a/arch/x86/kernel/head32.c +++ b/arch/x86/kernel/head32.c | |||
@@ -29,8 +29,6 @@ static void __init i386_default_early_setup(void) | |||
29 | 29 | ||
30 | void __init i386_start_kernel(void) | 30 | void __init i386_start_kernel(void) |
31 | { | 31 | { |
32 | reserve_trampoline_memory(); | ||
33 | |||
34 | reserve_early(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DATA BSS"); | 32 | reserve_early(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DATA BSS"); |
35 | 33 | ||
36 | #ifdef CONFIG_BLK_DEV_INITRD | 34 | #ifdef CONFIG_BLK_DEV_INITRD |
diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c index 0b06cd778fd9..b5a9896ca1e7 100644 --- a/arch/x86/kernel/head64.c +++ b/arch/x86/kernel/head64.c | |||
@@ -98,8 +98,6 @@ void __init x86_64_start_reservations(char *real_mode_data) | |||
98 | { | 98 | { |
99 | copy_bootdata(__va(real_mode_data)); | 99 | copy_bootdata(__va(real_mode_data)); |
100 | 100 | ||
101 | reserve_trampoline_memory(); | ||
102 | |||
103 | reserve_early(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DATA BSS"); | 101 | reserve_early(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DATA BSS"); |
104 | 102 | ||
105 | #ifdef CONFIG_BLK_DEV_INITRD | 103 | #ifdef CONFIG_BLK_DEV_INITRD |
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index 664bcb7384ac..91fd0c70a18a 100644 --- a/arch/x86/kernel/irq.c +++ b/arch/x86/kernel/irq.c | |||
@@ -149,7 +149,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
149 | if (!desc) | 149 | if (!desc) |
150 | return 0; | 150 | return 0; |
151 | 151 | ||
152 | spin_lock_irqsave(&desc->lock, flags); | 152 | raw_spin_lock_irqsave(&desc->lock, flags); |
153 | for_each_online_cpu(j) | 153 | for_each_online_cpu(j) |
154 | any_count |= kstat_irqs_cpu(i, j); | 154 | any_count |= kstat_irqs_cpu(i, j); |
155 | action = desc->action; | 155 | action = desc->action; |
@@ -170,7 +170,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
170 | 170 | ||
171 | seq_putc(p, '\n'); | 171 | seq_putc(p, '\n'); |
172 | out: | 172 | out: |
173 | spin_unlock_irqrestore(&desc->lock, flags); | 173 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
174 | return 0; | 174 | return 0; |
175 | } | 175 | } |
176 | 176 | ||
@@ -294,12 +294,12 @@ void fixup_irqs(void) | |||
294 | continue; | 294 | continue; |
295 | 295 | ||
296 | /* interrupt's are disabled at this point */ | 296 | /* interrupt's are disabled at this point */ |
297 | spin_lock(&desc->lock); | 297 | raw_spin_lock(&desc->lock); |
298 | 298 | ||
299 | affinity = desc->affinity; | 299 | affinity = desc->affinity; |
300 | if (!irq_has_action(irq) || | 300 | if (!irq_has_action(irq) || |
301 | cpumask_equal(affinity, cpu_online_mask)) { | 301 | cpumask_equal(affinity, cpu_online_mask)) { |
302 | spin_unlock(&desc->lock); | 302 | raw_spin_unlock(&desc->lock); |
303 | continue; | 303 | continue; |
304 | } | 304 | } |
305 | 305 | ||
@@ -326,7 +326,7 @@ void fixup_irqs(void) | |||
326 | if (!(desc->status & IRQ_MOVE_PCNTXT) && desc->chip->unmask) | 326 | if (!(desc->status & IRQ_MOVE_PCNTXT) && desc->chip->unmask) |
327 | desc->chip->unmask(irq); | 327 | desc->chip->unmask(irq); |
328 | 328 | ||
329 | spin_unlock(&desc->lock); | 329 | raw_spin_unlock(&desc->lock); |
330 | 330 | ||
331 | if (break_affinity && set_affinity) | 331 | if (break_affinity && set_affinity) |
332 | printk("Broke affinity for irq %i\n", irq); | 332 | printk("Broke affinity for irq %i\n", irq); |
@@ -356,10 +356,10 @@ void fixup_irqs(void) | |||
356 | irq = __get_cpu_var(vector_irq)[vector]; | 356 | irq = __get_cpu_var(vector_irq)[vector]; |
357 | 357 | ||
358 | desc = irq_to_desc(irq); | 358 | desc = irq_to_desc(irq); |
359 | spin_lock(&desc->lock); | 359 | raw_spin_lock(&desc->lock); |
360 | if (desc->chip->retrigger) | 360 | if (desc->chip->retrigger) |
361 | desc->chip->retrigger(irq); | 361 | desc->chip->retrigger(irq); |
362 | spin_unlock(&desc->lock); | 362 | raw_spin_unlock(&desc->lock); |
363 | } | 363 | } |
364 | } | 364 | } |
365 | } | 365 | } |
diff --git a/arch/x86/kernel/mfgpt_32.c b/arch/x86/kernel/mfgpt_32.c deleted file mode 100644 index 2a62d843f015..000000000000 --- a/arch/x86/kernel/mfgpt_32.c +++ /dev/null | |||
@@ -1,410 +0,0 @@ | |||
1 | /* | ||
2 | * Driver/API for AMD Geode Multi-Function General Purpose Timers (MFGPT) | ||
3 | * | ||
4 | * Copyright (C) 2006, Advanced Micro Devices, Inc. | ||
5 | * Copyright (C) 2007, Andres Salomon <dilinger@debian.org> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of version 2 of the GNU General Public License | ||
9 | * as published by the Free Software Foundation. | ||
10 | * | ||
11 | * The MFGPTs are documented in AMD Geode CS5536 Companion Device Data Book. | ||
12 | */ | ||
13 | |||
14 | /* | ||
15 | * We are using the 32.768kHz input clock - it's the only one that has the | ||
16 | * ranges we find desirable. The following table lists the suitable | ||
17 | * divisors and the associated Hz, minimum interval and the maximum interval: | ||
18 | * | ||
19 | * Divisor Hz Min Delta (s) Max Delta (s) | ||
20 | * 1 32768 .00048828125 2.000 | ||
21 | * 2 16384 .0009765625 4.000 | ||
22 | * 4 8192 .001953125 8.000 | ||
23 | * 8 4096 .00390625 16.000 | ||
24 | * 16 2048 .0078125 32.000 | ||
25 | * 32 1024 .015625 64.000 | ||
26 | * 64 512 .03125 128.000 | ||
27 | * 128 256 .0625 256.000 | ||
28 | * 256 128 .125 512.000 | ||
29 | */ | ||
30 | |||
31 | #include <linux/kernel.h> | ||
32 | #include <linux/interrupt.h> | ||
33 | #include <linux/module.h> | ||
34 | #include <asm/geode.h> | ||
35 | |||
36 | #define MFGPT_DEFAULT_IRQ 7 | ||
37 | |||
38 | static struct mfgpt_timer_t { | ||
39 | unsigned int avail:1; | ||
40 | } mfgpt_timers[MFGPT_MAX_TIMERS]; | ||
41 | |||
42 | /* Selected from the table above */ | ||
43 | |||
44 | #define MFGPT_DIVISOR 16 | ||
45 | #define MFGPT_SCALE 4 /* divisor = 2^(scale) */ | ||
46 | #define MFGPT_HZ (32768 / MFGPT_DIVISOR) | ||
47 | #define MFGPT_PERIODIC (MFGPT_HZ / HZ) | ||
48 | |||
49 | /* Allow for disabling of MFGPTs */ | ||
50 | static int disable; | ||
51 | static int __init mfgpt_disable(char *s) | ||
52 | { | ||
53 | disable = 1; | ||
54 | return 1; | ||
55 | } | ||
56 | __setup("nomfgpt", mfgpt_disable); | ||
57 | |||
58 | /* Reset the MFGPT timers. This is required by some broken BIOSes which already | ||
59 | * do the same and leave the system in an unstable state. TinyBIOS 0.98 is | ||
60 | * affected at least (0.99 is OK with MFGPT workaround left to off). | ||
61 | */ | ||
62 | static int __init mfgpt_fix(char *s) | ||
63 | { | ||
64 | u32 val, dummy; | ||
65 | |||
66 | /* The following udocumented bit resets the MFGPT timers */ | ||
67 | val = 0xFF; dummy = 0; | ||
68 | wrmsr(MSR_MFGPT_SETUP, val, dummy); | ||
69 | return 1; | ||
70 | } | ||
71 | __setup("mfgptfix", mfgpt_fix); | ||
72 | |||
73 | /* | ||
74 | * Check whether any MFGPTs are available for the kernel to use. In most | ||
75 | * cases, firmware that uses AMD's VSA code will claim all timers during | ||
76 | * bootup; we certainly don't want to take them if they're already in use. | ||
77 | * In other cases (such as with VSAless OpenFirmware), the system firmware | ||
78 | * leaves timers available for us to use. | ||
79 | */ | ||
80 | |||
81 | |||
82 | static int timers = -1; | ||
83 | |||
84 | static void geode_mfgpt_detect(void) | ||
85 | { | ||
86 | int i; | ||
87 | u16 val; | ||
88 | |||
89 | timers = 0; | ||
90 | |||
91 | if (disable) { | ||
92 | printk(KERN_INFO "geode-mfgpt: MFGPT support is disabled\n"); | ||
93 | goto done; | ||
94 | } | ||
95 | |||
96 | if (!geode_get_dev_base(GEODE_DEV_MFGPT)) { | ||
97 | printk(KERN_INFO "geode-mfgpt: MFGPT LBAR is not set up\n"); | ||
98 | goto done; | ||
99 | } | ||
100 | |||
101 | for (i = 0; i < MFGPT_MAX_TIMERS; i++) { | ||
102 | val = geode_mfgpt_read(i, MFGPT_REG_SETUP); | ||
103 | if (!(val & MFGPT_SETUP_SETUP)) { | ||
104 | mfgpt_timers[i].avail = 1; | ||
105 | timers++; | ||
106 | } | ||
107 | } | ||
108 | |||
109 | done: | ||
110 | printk(KERN_INFO "geode-mfgpt: %d MFGPT timers available.\n", timers); | ||
111 | } | ||
112 | |||
113 | int geode_mfgpt_toggle_event(int timer, int cmp, int event, int enable) | ||
114 | { | ||
115 | u32 msr, mask, value, dummy; | ||
116 | int shift = (cmp == MFGPT_CMP1) ? 0 : 8; | ||
117 | |||
118 | if (timer < 0 || timer >= MFGPT_MAX_TIMERS) | ||
119 | return -EIO; | ||
120 | |||
121 | /* | ||
122 | * The register maps for these are described in sections 6.17.1.x of | ||
123 | * the AMD Geode CS5536 Companion Device Data Book. | ||
124 | */ | ||
125 | switch (event) { | ||
126 | case MFGPT_EVENT_RESET: | ||
127 | /* | ||
128 | * XXX: According to the docs, we cannot reset timers above | ||
129 | * 6; that is, resets for 7 and 8 will be ignored. Is this | ||
130 | * a problem? -dilinger | ||
131 | */ | ||
132 | msr = MSR_MFGPT_NR; | ||
133 | mask = 1 << (timer + 24); | ||
134 | break; | ||
135 | |||
136 | case MFGPT_EVENT_NMI: | ||
137 | msr = MSR_MFGPT_NR; | ||
138 | mask = 1 << (timer + shift); | ||
139 | break; | ||
140 | |||
141 | case MFGPT_EVENT_IRQ: | ||
142 | msr = MSR_MFGPT_IRQ; | ||
143 | mask = 1 << (timer + shift); | ||
144 | break; | ||
145 | |||
146 | default: | ||
147 | return -EIO; | ||
148 | } | ||
149 | |||
150 | rdmsr(msr, value, dummy); | ||
151 | |||
152 | if (enable) | ||
153 | value |= mask; | ||
154 | else | ||
155 | value &= ~mask; | ||
156 | |||
157 | wrmsr(msr, value, dummy); | ||
158 | return 0; | ||
159 | } | ||
160 | EXPORT_SYMBOL_GPL(geode_mfgpt_toggle_event); | ||
161 | |||
162 | int geode_mfgpt_set_irq(int timer, int cmp, int *irq, int enable) | ||
163 | { | ||
164 | u32 zsel, lpc, dummy; | ||
165 | int shift; | ||
166 | |||
167 | if (timer < 0 || timer >= MFGPT_MAX_TIMERS) | ||
168 | return -EIO; | ||
169 | |||
170 | /* | ||
171 | * Unfortunately, MFGPTs come in pairs sharing their IRQ lines. If VSA | ||
172 | * is using the same CMP of the timer's Siamese twin, the IRQ is set to | ||
173 | * 2, and we mustn't use nor change it. | ||
174 | * XXX: Likewise, 2 Linux drivers might clash if the 2nd overwrites the | ||
175 | * IRQ of the 1st. This can only happen if forcing an IRQ, calling this | ||
176 | * with *irq==0 is safe. Currently there _are_ no 2 drivers. | ||
177 | */ | ||
178 | rdmsr(MSR_PIC_ZSEL_LOW, zsel, dummy); | ||
179 | shift = ((cmp == MFGPT_CMP1 ? 0 : 4) + timer % 4) * 4; | ||
180 | if (((zsel >> shift) & 0xF) == 2) | ||
181 | return -EIO; | ||
182 | |||
183 | /* Choose IRQ: if none supplied, keep IRQ already set or use default */ | ||
184 | if (!*irq) | ||
185 | *irq = (zsel >> shift) & 0xF; | ||
186 | if (!*irq) | ||
187 | *irq = MFGPT_DEFAULT_IRQ; | ||
188 | |||
189 | /* Can't use IRQ if it's 0 (=disabled), 2, or routed to LPC */ | ||
190 | if (*irq < 1 || *irq == 2 || *irq > 15) | ||
191 | return -EIO; | ||
192 | rdmsr(MSR_PIC_IRQM_LPC, lpc, dummy); | ||
193 | if (lpc & (1 << *irq)) | ||
194 | return -EIO; | ||
195 | |||
196 | /* All chosen and checked - go for it */ | ||
197 | if (geode_mfgpt_toggle_event(timer, cmp, MFGPT_EVENT_IRQ, enable)) | ||
198 | return -EIO; | ||
199 | if (enable) { | ||
200 | zsel = (zsel & ~(0xF << shift)) | (*irq << shift); | ||
201 | wrmsr(MSR_PIC_ZSEL_LOW, zsel, dummy); | ||
202 | } | ||
203 | |||
204 | return 0; | ||
205 | } | ||
206 | |||
207 | static int mfgpt_get(int timer) | ||
208 | { | ||
209 | mfgpt_timers[timer].avail = 0; | ||
210 | printk(KERN_INFO "geode-mfgpt: Registered timer %d\n", timer); | ||
211 | return timer; | ||
212 | } | ||
213 | |||
214 | int geode_mfgpt_alloc_timer(int timer, int domain) | ||
215 | { | ||
216 | int i; | ||
217 | |||
218 | if (timers == -1) { | ||
219 | /* timers haven't been detected yet */ | ||
220 | geode_mfgpt_detect(); | ||
221 | } | ||
222 | |||
223 | if (!timers) | ||
224 | return -1; | ||
225 | |||
226 | if (timer >= MFGPT_MAX_TIMERS) | ||
227 | return -1; | ||
228 | |||
229 | if (timer < 0) { | ||
230 | /* Try to find an available timer */ | ||
231 | for (i = 0; i < MFGPT_MAX_TIMERS; i++) { | ||
232 | if (mfgpt_timers[i].avail) | ||
233 | return mfgpt_get(i); | ||
234 | |||
235 | if (i == 5 && domain == MFGPT_DOMAIN_WORKING) | ||
236 | break; | ||
237 | } | ||
238 | } else { | ||
239 | /* If they requested a specific timer, try to honor that */ | ||
240 | if (mfgpt_timers[timer].avail) | ||
241 | return mfgpt_get(timer); | ||
242 | } | ||
243 | |||
244 | /* No timers available - too bad */ | ||
245 | return -1; | ||
246 | } | ||
247 | EXPORT_SYMBOL_GPL(geode_mfgpt_alloc_timer); | ||
248 | |||
249 | |||
250 | #ifdef CONFIG_GEODE_MFGPT_TIMER | ||
251 | |||
252 | /* | ||
253 | * The MFPGT timers on the CS5536 provide us with suitable timers to use | ||
254 | * as clock event sources - not as good as a HPET or APIC, but certainly | ||
255 | * better than the PIT. This isn't a general purpose MFGPT driver, but | ||
256 | * a simplified one designed specifically to act as a clock event source. | ||
257 | * For full details about the MFGPT, please consult the CS5536 data sheet. | ||
258 | */ | ||
259 | |||
260 | #include <linux/clocksource.h> | ||
261 | #include <linux/clockchips.h> | ||
262 | |||
263 | static unsigned int mfgpt_tick_mode = CLOCK_EVT_MODE_SHUTDOWN; | ||
264 | static u16 mfgpt_event_clock; | ||
265 | |||
266 | static int irq; | ||
267 | static int __init mfgpt_setup(char *str) | ||
268 | { | ||
269 | get_option(&str, &irq); | ||
270 | return 1; | ||
271 | } | ||
272 | __setup("mfgpt_irq=", mfgpt_setup); | ||
273 | |||
274 | static void mfgpt_disable_timer(u16 clock) | ||
275 | { | ||
276 | /* avoid races by clearing CMP1 and CMP2 unconditionally */ | ||
277 | geode_mfgpt_write(clock, MFGPT_REG_SETUP, (u16) ~MFGPT_SETUP_CNTEN | | ||
278 | MFGPT_SETUP_CMP1 | MFGPT_SETUP_CMP2); | ||
279 | } | ||
280 | |||
281 | static int mfgpt_next_event(unsigned long, struct clock_event_device *); | ||
282 | static void mfgpt_set_mode(enum clock_event_mode, struct clock_event_device *); | ||
283 | |||
284 | static struct clock_event_device mfgpt_clockevent = { | ||
285 | .name = "mfgpt-timer", | ||
286 | .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, | ||
287 | .set_mode = mfgpt_set_mode, | ||
288 | .set_next_event = mfgpt_next_event, | ||
289 | .rating = 250, | ||
290 | .cpumask = cpu_all_mask, | ||
291 | .shift = 32 | ||
292 | }; | ||
293 | |||
294 | static void mfgpt_start_timer(u16 delta) | ||
295 | { | ||
296 | geode_mfgpt_write(mfgpt_event_clock, MFGPT_REG_CMP2, (u16) delta); | ||
297 | geode_mfgpt_write(mfgpt_event_clock, MFGPT_REG_COUNTER, 0); | ||
298 | |||
299 | geode_mfgpt_write(mfgpt_event_clock, MFGPT_REG_SETUP, | ||
300 | MFGPT_SETUP_CNTEN | MFGPT_SETUP_CMP2); | ||
301 | } | ||
302 | |||
303 | static void mfgpt_set_mode(enum clock_event_mode mode, | ||
304 | struct clock_event_device *evt) | ||
305 | { | ||
306 | mfgpt_disable_timer(mfgpt_event_clock); | ||
307 | |||
308 | if (mode == CLOCK_EVT_MODE_PERIODIC) | ||
309 | mfgpt_start_timer(MFGPT_PERIODIC); | ||
310 | |||
311 | mfgpt_tick_mode = mode; | ||
312 | } | ||
313 | |||
314 | static int mfgpt_next_event(unsigned long delta, struct clock_event_device *evt) | ||
315 | { | ||
316 | mfgpt_start_timer(delta); | ||
317 | return 0; | ||
318 | } | ||
319 | |||
320 | static irqreturn_t mfgpt_tick(int irq, void *dev_id) | ||
321 | { | ||
322 | u16 val = geode_mfgpt_read(mfgpt_event_clock, MFGPT_REG_SETUP); | ||
323 | |||
324 | /* See if the interrupt was for us */ | ||
325 | if (!(val & (MFGPT_SETUP_SETUP | MFGPT_SETUP_CMP2 | MFGPT_SETUP_CMP1))) | ||
326 | return IRQ_NONE; | ||
327 | |||
328 | /* Turn off the clock (and clear the event) */ | ||
329 | mfgpt_disable_timer(mfgpt_event_clock); | ||
330 | |||
331 | if (mfgpt_tick_mode == CLOCK_EVT_MODE_SHUTDOWN) | ||
332 | return IRQ_HANDLED; | ||
333 | |||
334 | /* Clear the counter */ | ||
335 | geode_mfgpt_write(mfgpt_event_clock, MFGPT_REG_COUNTER, 0); | ||
336 | |||
337 | /* Restart the clock in periodic mode */ | ||
338 | |||
339 | if (mfgpt_tick_mode == CLOCK_EVT_MODE_PERIODIC) { | ||
340 | geode_mfgpt_write(mfgpt_event_clock, MFGPT_REG_SETUP, | ||
341 | MFGPT_SETUP_CNTEN | MFGPT_SETUP_CMP2); | ||
342 | } | ||
343 | |||
344 | mfgpt_clockevent.event_handler(&mfgpt_clockevent); | ||
345 | return IRQ_HANDLED; | ||
346 | } | ||
347 | |||
348 | static struct irqaction mfgptirq = { | ||
349 | .handler = mfgpt_tick, | ||
350 | .flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TIMER, | ||
351 | .name = "mfgpt-timer" | ||
352 | }; | ||
353 | |||
354 | int __init mfgpt_timer_setup(void) | ||
355 | { | ||
356 | int timer, ret; | ||
357 | u16 val; | ||
358 | |||
359 | timer = geode_mfgpt_alloc_timer(MFGPT_TIMER_ANY, MFGPT_DOMAIN_WORKING); | ||
360 | if (timer < 0) { | ||
361 | printk(KERN_ERR | ||
362 | "mfgpt-timer: Could not allocate a MFPGT timer\n"); | ||
363 | return -ENODEV; | ||
364 | } | ||
365 | |||
366 | mfgpt_event_clock = timer; | ||
367 | |||
368 | /* Set up the IRQ on the MFGPT side */ | ||
369 | if (geode_mfgpt_setup_irq(mfgpt_event_clock, MFGPT_CMP2, &irq)) { | ||
370 | printk(KERN_ERR "mfgpt-timer: Could not set up IRQ %d\n", irq); | ||
371 | return -EIO; | ||
372 | } | ||
373 | |||
374 | /* And register it with the kernel */ | ||
375 | ret = setup_irq(irq, &mfgptirq); | ||
376 | |||
377 | if (ret) { | ||
378 | printk(KERN_ERR | ||
379 | "mfgpt-timer: Unable to set up the interrupt.\n"); | ||
380 | goto err; | ||
381 | } | ||
382 | |||
383 | /* Set the clock scale and enable the event mode for CMP2 */ | ||
384 | val = MFGPT_SCALE | (3 << 8); | ||
385 | |||
386 | geode_mfgpt_write(mfgpt_event_clock, MFGPT_REG_SETUP, val); | ||
387 | |||
388 | /* Set up the clock event */ | ||
389 | mfgpt_clockevent.mult = div_sc(MFGPT_HZ, NSEC_PER_SEC, | ||
390 | mfgpt_clockevent.shift); | ||
391 | mfgpt_clockevent.min_delta_ns = clockevent_delta2ns(0xF, | ||
392 | &mfgpt_clockevent); | ||
393 | mfgpt_clockevent.max_delta_ns = clockevent_delta2ns(0xFFFE, | ||
394 | &mfgpt_clockevent); | ||
395 | |||
396 | printk(KERN_INFO | ||
397 | "mfgpt-timer: Registering MFGPT timer %d as a clock event, using IRQ %d\n", | ||
398 | timer, irq); | ||
399 | clockevents_register_device(&mfgpt_clockevent); | ||
400 | |||
401 | return 0; | ||
402 | |||
403 | err: | ||
404 | geode_mfgpt_release_irq(mfgpt_event_clock, MFGPT_CMP2, &irq); | ||
405 | printk(KERN_ERR | ||
406 | "mfgpt-timer: Unable to set up the MFGPT clock source\n"); | ||
407 | return -EIO; | ||
408 | } | ||
409 | |||
410 | #endif | ||
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c index 35a57c963df9..40b54ceb68b5 100644 --- a/arch/x86/kernel/mpparse.c +++ b/arch/x86/kernel/mpparse.c | |||
@@ -945,9 +945,6 @@ void __init early_reserve_e820_mpc_new(void) | |||
945 | { | 945 | { |
946 | if (enable_update_mptable && alloc_mptable) { | 946 | if (enable_update_mptable && alloc_mptable) { |
947 | u64 startt = 0; | 947 | u64 startt = 0; |
948 | #ifdef CONFIG_X86_TRAMPOLINE | ||
949 | startt = TRAMPOLINE_BASE; | ||
950 | #endif | ||
951 | mpc_new_phys = early_reserve_e820(startt, mpc_new_length, 4); | 948 | mpc_new_phys = early_reserve_e820(startt, mpc_new_length, 4); |
952 | } | 949 | } |
953 | } | 950 | } |
diff --git a/arch/x86/kernel/olpc.c b/arch/x86/kernel/olpc.c index 4006c522adc7..9d1d263f786f 100644 --- a/arch/x86/kernel/olpc.c +++ b/arch/x86/kernel/olpc.c | |||
@@ -212,7 +212,7 @@ static int __init olpc_init(void) | |||
212 | unsigned char *romsig; | 212 | unsigned char *romsig; |
213 | 213 | ||
214 | /* The ioremap check is dangerous; limit what we run it on */ | 214 | /* The ioremap check is dangerous; limit what we run it on */ |
215 | if (!is_geode() || geode_has_vsa2()) | 215 | if (!is_geode() || cs5535_has_vsa2()) |
216 | return 0; | 216 | return 0; |
217 | 217 | ||
218 | spin_lock_init(&ec_lock); | 218 | spin_lock_init(&ec_lock); |
@@ -244,7 +244,7 @@ static int __init olpc_init(void) | |||
244 | (unsigned char *) &olpc_platform_info.ecver, 1); | 244 | (unsigned char *) &olpc_platform_info.ecver, 1); |
245 | 245 | ||
246 | /* check to see if the VSA exists */ | 246 | /* check to see if the VSA exists */ |
247 | if (geode_has_vsa2()) | 247 | if (cs5535_has_vsa2()) |
248 | olpc_platform_info.flags |= OLPC_F_VSA; | 248 | olpc_platform_info.flags |= OLPC_F_VSA; |
249 | 249 | ||
250 | printk(KERN_INFO "OLPC board revision %s%X (EC=%x)\n", | 250 | printk(KERN_INFO "OLPC board revision %s%X (EC=%x)\n", |
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c index 3a7c5a44082e..676b8c77a976 100644 --- a/arch/x86/kernel/paravirt-spinlocks.c +++ b/arch/x86/kernel/paravirt-spinlocks.c | |||
@@ -8,9 +8,9 @@ | |||
8 | #include <asm/paravirt.h> | 8 | #include <asm/paravirt.h> |
9 | 9 | ||
10 | static inline void | 10 | static inline void |
11 | default_spin_lock_flags(raw_spinlock_t *lock, unsigned long flags) | 11 | default_spin_lock_flags(arch_spinlock_t *lock, unsigned long flags) |
12 | { | 12 | { |
13 | __raw_spin_lock(lock); | 13 | arch_spin_lock(lock); |
14 | } | 14 | } |
15 | 15 | ||
16 | struct pv_lock_ops pv_lock_ops = { | 16 | struct pv_lock_ops pv_lock_ops = { |
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c index afcc58b69c7c..fcc2f2bfa39c 100644 --- a/arch/x86/kernel/pci-dma.c +++ b/arch/x86/kernel/pci-dma.c | |||
@@ -120,11 +120,14 @@ static void __init dma32_free_bootmem(void) | |||
120 | 120 | ||
121 | void __init pci_iommu_alloc(void) | 121 | void __init pci_iommu_alloc(void) |
122 | { | 122 | { |
123 | int use_swiotlb; | ||
124 | |||
125 | use_swiotlb = pci_swiotlb_init(); | ||
123 | #ifdef CONFIG_X86_64 | 126 | #ifdef CONFIG_X86_64 |
124 | /* free the range so iommu could get some range less than 4G */ | 127 | /* free the range so iommu could get some range less than 4G */ |
125 | dma32_free_bootmem(); | 128 | dma32_free_bootmem(); |
126 | #endif | 129 | #endif |
127 | if (pci_swiotlb_init()) | 130 | if (use_swiotlb) |
128 | return; | 131 | return; |
129 | 132 | ||
130 | gart_iommu_hole_init(); | 133 | gart_iommu_hole_init(); |
diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c index e6a0d402f171..56c0e730d3fe 100644 --- a/arch/x86/kernel/pci-gart_64.c +++ b/arch/x86/kernel/pci-gart_64.c | |||
@@ -710,7 +710,8 @@ static void gart_iommu_shutdown(void) | |||
710 | struct pci_dev *dev; | 710 | struct pci_dev *dev; |
711 | int i; | 711 | int i; |
712 | 712 | ||
713 | if (no_agp) | 713 | /* don't shutdown it if there is AGP installed */ |
714 | if (!no_agp) | ||
714 | return; | 715 | return; |
715 | 716 | ||
716 | for (i = 0; i < num_k8_northbridges; i++) { | 717 | for (i = 0; i < num_k8_northbridges; i++) { |
diff --git a/arch/x86/kernel/reboot_fixups_32.c b/arch/x86/kernel/reboot_fixups_32.c index 201eab63b05f..fda313ebbb03 100644 --- a/arch/x86/kernel/reboot_fixups_32.c +++ b/arch/x86/kernel/reboot_fixups_32.c | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <linux/interrupt.h> | 12 | #include <linux/interrupt.h> |
13 | #include <asm/reboot_fixups.h> | 13 | #include <asm/reboot_fixups.h> |
14 | #include <asm/msr.h> | 14 | #include <asm/msr.h> |
15 | #include <asm/geode.h> | 15 | #include <linux/cs5535.h> |
16 | 16 | ||
17 | static void cs5530a_warm_reset(struct pci_dev *dev) | 17 | static void cs5530a_warm_reset(struct pci_dev *dev) |
18 | { | 18 | { |
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 946a311a25c9..f7b8b9894b22 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -73,6 +73,7 @@ | |||
73 | 73 | ||
74 | #include <asm/mtrr.h> | 74 | #include <asm/mtrr.h> |
75 | #include <asm/apic.h> | 75 | #include <asm/apic.h> |
76 | #include <asm/trampoline.h> | ||
76 | #include <asm/e820.h> | 77 | #include <asm/e820.h> |
77 | #include <asm/mpspec.h> | 78 | #include <asm/mpspec.h> |
78 | #include <asm/setup.h> | 79 | #include <asm/setup.h> |
@@ -875,6 +876,13 @@ void __init setup_arch(char **cmdline_p) | |||
875 | 876 | ||
876 | reserve_brk(); | 877 | reserve_brk(); |
877 | 878 | ||
879 | /* | ||
880 | * Find and reserve possible boot-time SMP configuration: | ||
881 | */ | ||
882 | find_smp_config(); | ||
883 | |||
884 | reserve_trampoline_memory(); | ||
885 | |||
878 | #ifdef CONFIG_ACPI_SLEEP | 886 | #ifdef CONFIG_ACPI_SLEEP |
879 | /* | 887 | /* |
880 | * Reserve low memory region for sleep support. | 888 | * Reserve low memory region for sleep support. |
@@ -921,11 +929,6 @@ void __init setup_arch(char **cmdline_p) | |||
921 | 929 | ||
922 | early_acpi_boot_init(); | 930 | early_acpi_boot_init(); |
923 | 931 | ||
924 | /* | ||
925 | * Find and reserve possible boot-time SMP configuration: | ||
926 | */ | ||
927 | find_smp_config(); | ||
928 | |||
929 | #ifdef CONFIG_ACPI_NUMA | 932 | #ifdef CONFIG_ACPI_NUMA |
930 | /* | 933 | /* |
931 | * Parse SRAT to discover nodes. | 934 | * Parse SRAT to discover nodes. |
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 29e6744f51e3..678d0b8c26f3 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -671,6 +671,26 @@ static void __cpuinit do_fork_idle(struct work_struct *work) | |||
671 | complete(&c_idle->done); | 671 | complete(&c_idle->done); |
672 | } | 672 | } |
673 | 673 | ||
674 | /* reduce the number of lines printed when booting a large cpu count system */ | ||
675 | static void __cpuinit announce_cpu(int cpu, int apicid) | ||
676 | { | ||
677 | static int current_node = -1; | ||
678 | int node = cpu_to_node(cpu); | ||
679 | |||
680 | if (system_state == SYSTEM_BOOTING) { | ||
681 | if (node != current_node) { | ||
682 | if (current_node > (-1)) | ||
683 | pr_cont(" Ok.\n"); | ||
684 | current_node = node; | ||
685 | pr_info("Booting Node %3d, Processors ", node); | ||
686 | } | ||
687 | pr_cont(" #%d%s", cpu, cpu == (nr_cpu_ids - 1) ? " Ok.\n" : ""); | ||
688 | return; | ||
689 | } else | ||
690 | pr_info("Booting Node %d Processor %d APIC 0x%x\n", | ||
691 | node, cpu, apicid); | ||
692 | } | ||
693 | |||
674 | /* | 694 | /* |
675 | * NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad | 695 | * NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad |
676 | * (ie clustered apic addressing mode), this is a LOGICAL apic ID. | 696 | * (ie clustered apic addressing mode), this is a LOGICAL apic ID. |
@@ -737,9 +757,8 @@ do_rest: | |||
737 | /* start_ip had better be page-aligned! */ | 757 | /* start_ip had better be page-aligned! */ |
738 | start_ip = setup_trampoline(); | 758 | start_ip = setup_trampoline(); |
739 | 759 | ||
740 | /* So we see what's up */ | 760 | /* So we see what's up */ |
741 | printk(KERN_INFO "Booting processor %d APIC 0x%x ip 0x%lx\n", | 761 | announce_cpu(cpu, apicid); |
742 | cpu, apicid, start_ip); | ||
743 | 762 | ||
744 | /* | 763 | /* |
745 | * This grunge runs the startup process for | 764 | * This grunge runs the startup process for |
@@ -788,21 +807,17 @@ do_rest: | |||
788 | udelay(100); | 807 | udelay(100); |
789 | } | 808 | } |
790 | 809 | ||
791 | if (cpumask_test_cpu(cpu, cpu_callin_mask)) { | 810 | if (cpumask_test_cpu(cpu, cpu_callin_mask)) |
792 | /* number CPUs logically, starting from 1 (BSP is 0) */ | 811 | pr_debug("CPU%d: has booted.\n", cpu); |
793 | pr_debug("OK.\n"); | 812 | else { |
794 | printk(KERN_INFO "CPU%d: ", cpu); | ||
795 | print_cpu_info(&cpu_data(cpu)); | ||
796 | pr_debug("CPU has booted.\n"); | ||
797 | } else { | ||
798 | boot_error = 1; | 813 | boot_error = 1; |
799 | if (*((volatile unsigned char *)trampoline_base) | 814 | if (*((volatile unsigned char *)trampoline_base) |
800 | == 0xA5) | 815 | == 0xA5) |
801 | /* trampoline started but...? */ | 816 | /* trampoline started but...? */ |
802 | printk(KERN_ERR "Stuck ??\n"); | 817 | pr_err("CPU%d: Stuck ??\n", cpu); |
803 | else | 818 | else |
804 | /* trampoline code not run */ | 819 | /* trampoline code not run */ |
805 | printk(KERN_ERR "Not responding.\n"); | 820 | pr_err("CPU%d: Not responding.\n", cpu); |
806 | if (apic->inquire_remote_apic) | 821 | if (apic->inquire_remote_apic) |
807 | apic->inquire_remote_apic(apicid); | 822 | apic->inquire_remote_apic(apicid); |
808 | } | 823 | } |
@@ -1293,14 +1308,16 @@ void native_cpu_die(unsigned int cpu) | |||
1293 | for (i = 0; i < 10; i++) { | 1308 | for (i = 0; i < 10; i++) { |
1294 | /* They ack this in play_dead by setting CPU_DEAD */ | 1309 | /* They ack this in play_dead by setting CPU_DEAD */ |
1295 | if (per_cpu(cpu_state, cpu) == CPU_DEAD) { | 1310 | if (per_cpu(cpu_state, cpu) == CPU_DEAD) { |
1296 | printk(KERN_INFO "CPU %d is now offline\n", cpu); | 1311 | if (system_state == SYSTEM_RUNNING) |
1312 | pr_info("CPU %u is now offline\n", cpu); | ||
1313 | |||
1297 | if (1 == num_online_cpus()) | 1314 | if (1 == num_online_cpus()) |
1298 | alternatives_smp_switch(0); | 1315 | alternatives_smp_switch(0); |
1299 | return; | 1316 | return; |
1300 | } | 1317 | } |
1301 | msleep(100); | 1318 | msleep(100); |
1302 | } | 1319 | } |
1303 | printk(KERN_ERR "CPU %u didn't die...\n", cpu); | 1320 | pr_err("CPU %u didn't die...\n", cpu); |
1304 | } | 1321 | } |
1305 | 1322 | ||
1306 | void play_dead_common(void) | 1323 | void play_dead_common(void) |
diff --git a/arch/x86/kernel/trampoline.c b/arch/x86/kernel/trampoline.c index cd022121cab6..c652ef62742d 100644 --- a/arch/x86/kernel/trampoline.c +++ b/arch/x86/kernel/trampoline.c | |||
@@ -12,21 +12,19 @@ | |||
12 | #endif | 12 | #endif |
13 | 13 | ||
14 | /* ready for x86_64 and x86 */ | 14 | /* ready for x86_64 and x86 */ |
15 | unsigned char *__trampinitdata trampoline_base = __va(TRAMPOLINE_BASE); | 15 | unsigned char *__trampinitdata trampoline_base; |
16 | 16 | ||
17 | void __init reserve_trampoline_memory(void) | 17 | void __init reserve_trampoline_memory(void) |
18 | { | 18 | { |
19 | #ifdef CONFIG_X86_32 | 19 | unsigned long mem; |
20 | /* | 20 | |
21 | * But first pinch a few for the stack/trampoline stuff | ||
22 | * FIXME: Don't need the extra page at 4K, but need to fix | ||
23 | * trampoline before removing it. (see the GDT stuff) | ||
24 | */ | ||
25 | reserve_early(PAGE_SIZE, PAGE_SIZE + PAGE_SIZE, "EX TRAMPOLINE"); | ||
26 | #endif | ||
27 | /* Has to be in very low memory so we can execute real-mode AP code. */ | 21 | /* Has to be in very low memory so we can execute real-mode AP code. */ |
28 | reserve_early(TRAMPOLINE_BASE, TRAMPOLINE_BASE + TRAMPOLINE_SIZE, | 22 | mem = find_e820_area(0, 1<<20, TRAMPOLINE_SIZE, PAGE_SIZE); |
29 | "TRAMPOLINE"); | 23 | if (mem == -1L) |
24 | panic("Cannot allocate trampoline\n"); | ||
25 | |||
26 | trampoline_base = __va(mem); | ||
27 | reserve_early(mem, mem + TRAMPOLINE_SIZE, "TRAMPOLINE"); | ||
30 | } | 28 | } |
31 | 29 | ||
32 | /* | 30 | /* |
diff --git a/arch/x86/kernel/tsc_sync.c b/arch/x86/kernel/tsc_sync.c index eed156851f5d..0aa5fed8b9e6 100644 --- a/arch/x86/kernel/tsc_sync.c +++ b/arch/x86/kernel/tsc_sync.c | |||
@@ -33,7 +33,7 @@ static __cpuinitdata atomic_t stop_count; | |||
33 | * we want to have the fastest, inlined, non-debug version | 33 | * we want to have the fastest, inlined, non-debug version |
34 | * of a critical section, to be able to prove TSC time-warps: | 34 | * of a critical section, to be able to prove TSC time-warps: |
35 | */ | 35 | */ |
36 | static __cpuinitdata raw_spinlock_t sync_lock = __RAW_SPIN_LOCK_UNLOCKED; | 36 | static __cpuinitdata arch_spinlock_t sync_lock = __ARCH_SPIN_LOCK_UNLOCKED; |
37 | 37 | ||
38 | static __cpuinitdata cycles_t last_tsc; | 38 | static __cpuinitdata cycles_t last_tsc; |
39 | static __cpuinitdata cycles_t max_warp; | 39 | static __cpuinitdata cycles_t max_warp; |
@@ -62,13 +62,13 @@ static __cpuinit void check_tsc_warp(void) | |||
62 | * previous TSC that was measured (possibly on | 62 | * previous TSC that was measured (possibly on |
63 | * another CPU) and update the previous TSC timestamp. | 63 | * another CPU) and update the previous TSC timestamp. |
64 | */ | 64 | */ |
65 | __raw_spin_lock(&sync_lock); | 65 | arch_spin_lock(&sync_lock); |
66 | prev = last_tsc; | 66 | prev = last_tsc; |
67 | rdtsc_barrier(); | 67 | rdtsc_barrier(); |
68 | now = get_cycles(); | 68 | now = get_cycles(); |
69 | rdtsc_barrier(); | 69 | rdtsc_barrier(); |
70 | last_tsc = now; | 70 | last_tsc = now; |
71 | __raw_spin_unlock(&sync_lock); | 71 | arch_spin_unlock(&sync_lock); |
72 | 72 | ||
73 | /* | 73 | /* |
74 | * Be nice every now and then (and also check whether | 74 | * Be nice every now and then (and also check whether |
@@ -87,10 +87,10 @@ static __cpuinit void check_tsc_warp(void) | |||
87 | * we saw a time-warp of the TSC going backwards: | 87 | * we saw a time-warp of the TSC going backwards: |
88 | */ | 88 | */ |
89 | if (unlikely(prev > now)) { | 89 | if (unlikely(prev > now)) { |
90 | __raw_spin_lock(&sync_lock); | 90 | arch_spin_lock(&sync_lock); |
91 | max_warp = max(max_warp, prev - now); | 91 | max_warp = max(max_warp, prev - now); |
92 | nr_warps++; | 92 | nr_warps++; |
93 | __raw_spin_unlock(&sync_lock); | 93 | arch_spin_unlock(&sync_lock); |
94 | } | 94 | } |
95 | } | 95 | } |
96 | WARN(!(now-start), | 96 | WARN(!(now-start), |
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 3de0b37ec038..1d9b33843c80 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c | |||
@@ -316,7 +316,7 @@ static void svm_hardware_disable(void *garbage) | |||
316 | static int svm_hardware_enable(void *garbage) | 316 | static int svm_hardware_enable(void *garbage) |
317 | { | 317 | { |
318 | 318 | ||
319 | struct svm_cpu_data *svm_data; | 319 | struct svm_cpu_data *sd; |
320 | uint64_t efer; | 320 | uint64_t efer; |
321 | struct descriptor_table gdt_descr; | 321 | struct descriptor_table gdt_descr; |
322 | struct desc_struct *gdt; | 322 | struct desc_struct *gdt; |
@@ -331,63 +331,61 @@ static int svm_hardware_enable(void *garbage) | |||
331 | me); | 331 | me); |
332 | return -EINVAL; | 332 | return -EINVAL; |
333 | } | 333 | } |
334 | svm_data = per_cpu(svm_data, me); | 334 | sd = per_cpu(svm_data, me); |
335 | 335 | ||
336 | if (!svm_data) { | 336 | if (!sd) { |
337 | printk(KERN_ERR "svm_hardware_enable: svm_data is NULL on %d\n", | 337 | printk(KERN_ERR "svm_hardware_enable: svm_data is NULL on %d\n", |
338 | me); | 338 | me); |
339 | return -EINVAL; | 339 | return -EINVAL; |
340 | } | 340 | } |
341 | 341 | ||
342 | svm_data->asid_generation = 1; | 342 | sd->asid_generation = 1; |
343 | svm_data->max_asid = cpuid_ebx(SVM_CPUID_FUNC) - 1; | 343 | sd->max_asid = cpuid_ebx(SVM_CPUID_FUNC) - 1; |
344 | svm_data->next_asid = svm_data->max_asid + 1; | 344 | sd->next_asid = sd->max_asid + 1; |
345 | 345 | ||
346 | kvm_get_gdt(&gdt_descr); | 346 | kvm_get_gdt(&gdt_descr); |
347 | gdt = (struct desc_struct *)gdt_descr.base; | 347 | gdt = (struct desc_struct *)gdt_descr.base; |
348 | svm_data->tss_desc = (struct kvm_ldttss_desc *)(gdt + GDT_ENTRY_TSS); | 348 | sd->tss_desc = (struct kvm_ldttss_desc *)(gdt + GDT_ENTRY_TSS); |
349 | 349 | ||
350 | wrmsrl(MSR_EFER, efer | EFER_SVME); | 350 | wrmsrl(MSR_EFER, efer | EFER_SVME); |
351 | 351 | ||
352 | wrmsrl(MSR_VM_HSAVE_PA, | 352 | wrmsrl(MSR_VM_HSAVE_PA, page_to_pfn(sd->save_area) << PAGE_SHIFT); |
353 | page_to_pfn(svm_data->save_area) << PAGE_SHIFT); | ||
354 | 353 | ||
355 | return 0; | 354 | return 0; |
356 | } | 355 | } |
357 | 356 | ||
358 | static void svm_cpu_uninit(int cpu) | 357 | static void svm_cpu_uninit(int cpu) |
359 | { | 358 | { |
360 | struct svm_cpu_data *svm_data | 359 | struct svm_cpu_data *sd = per_cpu(svm_data, raw_smp_processor_id()); |
361 | = per_cpu(svm_data, raw_smp_processor_id()); | ||
362 | 360 | ||
363 | if (!svm_data) | 361 | if (!sd) |
364 | return; | 362 | return; |
365 | 363 | ||
366 | per_cpu(svm_data, raw_smp_processor_id()) = NULL; | 364 | per_cpu(svm_data, raw_smp_processor_id()) = NULL; |
367 | __free_page(svm_data->save_area); | 365 | __free_page(sd->save_area); |
368 | kfree(svm_data); | 366 | kfree(sd); |
369 | } | 367 | } |
370 | 368 | ||
371 | static int svm_cpu_init(int cpu) | 369 | static int svm_cpu_init(int cpu) |
372 | { | 370 | { |
373 | struct svm_cpu_data *svm_data; | 371 | struct svm_cpu_data *sd; |
374 | int r; | 372 | int r; |
375 | 373 | ||
376 | svm_data = kzalloc(sizeof(struct svm_cpu_data), GFP_KERNEL); | 374 | sd = kzalloc(sizeof(struct svm_cpu_data), GFP_KERNEL); |
377 | if (!svm_data) | 375 | if (!sd) |
378 | return -ENOMEM; | 376 | return -ENOMEM; |
379 | svm_data->cpu = cpu; | 377 | sd->cpu = cpu; |
380 | svm_data->save_area = alloc_page(GFP_KERNEL); | 378 | sd->save_area = alloc_page(GFP_KERNEL); |
381 | r = -ENOMEM; | 379 | r = -ENOMEM; |
382 | if (!svm_data->save_area) | 380 | if (!sd->save_area) |
383 | goto err_1; | 381 | goto err_1; |
384 | 382 | ||
385 | per_cpu(svm_data, cpu) = svm_data; | 383 | per_cpu(svm_data, cpu) = sd; |
386 | 384 | ||
387 | return 0; | 385 | return 0; |
388 | 386 | ||
389 | err_1: | 387 | err_1: |
390 | kfree(svm_data); | 388 | kfree(sd); |
391 | return r; | 389 | return r; |
392 | 390 | ||
393 | } | 391 | } |
@@ -1092,16 +1090,16 @@ static void save_host_msrs(struct kvm_vcpu *vcpu) | |||
1092 | #endif | 1090 | #endif |
1093 | } | 1091 | } |
1094 | 1092 | ||
1095 | static void new_asid(struct vcpu_svm *svm, struct svm_cpu_data *svm_data) | 1093 | static void new_asid(struct vcpu_svm *svm, struct svm_cpu_data *sd) |
1096 | { | 1094 | { |
1097 | if (svm_data->next_asid > svm_data->max_asid) { | 1095 | if (sd->next_asid > sd->max_asid) { |
1098 | ++svm_data->asid_generation; | 1096 | ++sd->asid_generation; |
1099 | svm_data->next_asid = 1; | 1097 | sd->next_asid = 1; |
1100 | svm->vmcb->control.tlb_ctl = TLB_CONTROL_FLUSH_ALL_ASID; | 1098 | svm->vmcb->control.tlb_ctl = TLB_CONTROL_FLUSH_ALL_ASID; |
1101 | } | 1099 | } |
1102 | 1100 | ||
1103 | svm->asid_generation = svm_data->asid_generation; | 1101 | svm->asid_generation = sd->asid_generation; |
1104 | svm->vmcb->control.asid = svm_data->next_asid++; | 1102 | svm->vmcb->control.asid = sd->next_asid++; |
1105 | } | 1103 | } |
1106 | 1104 | ||
1107 | static unsigned long svm_get_dr(struct kvm_vcpu *vcpu, int dr) | 1105 | static unsigned long svm_get_dr(struct kvm_vcpu *vcpu, int dr) |
@@ -2429,8 +2427,8 @@ static void reload_tss(struct kvm_vcpu *vcpu) | |||
2429 | { | 2427 | { |
2430 | int cpu = raw_smp_processor_id(); | 2428 | int cpu = raw_smp_processor_id(); |
2431 | 2429 | ||
2432 | struct svm_cpu_data *svm_data = per_cpu(svm_data, cpu); | 2430 | struct svm_cpu_data *sd = per_cpu(svm_data, cpu); |
2433 | svm_data->tss_desc->type = 9; /* available 32/64-bit TSS */ | 2431 | sd->tss_desc->type = 9; /* available 32/64-bit TSS */ |
2434 | load_TR_desc(); | 2432 | load_TR_desc(); |
2435 | } | 2433 | } |
2436 | 2434 | ||
@@ -2438,12 +2436,12 @@ static void pre_svm_run(struct vcpu_svm *svm) | |||
2438 | { | 2436 | { |
2439 | int cpu = raw_smp_processor_id(); | 2437 | int cpu = raw_smp_processor_id(); |
2440 | 2438 | ||
2441 | struct svm_cpu_data *svm_data = per_cpu(svm_data, cpu); | 2439 | struct svm_cpu_data *sd = per_cpu(svm_data, cpu); |
2442 | 2440 | ||
2443 | svm->vmcb->control.tlb_ctl = TLB_CONTROL_DO_NOTHING; | 2441 | svm->vmcb->control.tlb_ctl = TLB_CONTROL_DO_NOTHING; |
2444 | /* FIXME: handle wraparound of asid_generation */ | 2442 | /* FIXME: handle wraparound of asid_generation */ |
2445 | if (svm->asid_generation != svm_data->asid_generation) | 2443 | if (svm->asid_generation != sd->asid_generation) |
2446 | new_asid(svm, svm_data); | 2444 | new_asid(svm, sd); |
2447 | } | 2445 | } |
2448 | 2446 | ||
2449 | static void svm_inject_nmi(struct kvm_vcpu *vcpu) | 2447 | static void svm_inject_nmi(struct kvm_vcpu *vcpu) |
diff --git a/arch/x86/lib/msr.c b/arch/x86/lib/msr.c index 41628b104b9e..872834177937 100644 --- a/arch/x86/lib/msr.c +++ b/arch/x86/lib/msr.c | |||
@@ -7,7 +7,6 @@ struct msr_info { | |||
7 | u32 msr_no; | 7 | u32 msr_no; |
8 | struct msr reg; | 8 | struct msr reg; |
9 | struct msr *msrs; | 9 | struct msr *msrs; |
10 | int off; | ||
11 | int err; | 10 | int err; |
12 | }; | 11 | }; |
13 | 12 | ||
@@ -18,7 +17,7 @@ static void __rdmsr_on_cpu(void *info) | |||
18 | int this_cpu = raw_smp_processor_id(); | 17 | int this_cpu = raw_smp_processor_id(); |
19 | 18 | ||
20 | if (rv->msrs) | 19 | if (rv->msrs) |
21 | reg = &rv->msrs[this_cpu - rv->off]; | 20 | reg = per_cpu_ptr(rv->msrs, this_cpu); |
22 | else | 21 | else |
23 | reg = &rv->reg; | 22 | reg = &rv->reg; |
24 | 23 | ||
@@ -32,7 +31,7 @@ static void __wrmsr_on_cpu(void *info) | |||
32 | int this_cpu = raw_smp_processor_id(); | 31 | int this_cpu = raw_smp_processor_id(); |
33 | 32 | ||
34 | if (rv->msrs) | 33 | if (rv->msrs) |
35 | reg = &rv->msrs[this_cpu - rv->off]; | 34 | reg = per_cpu_ptr(rv->msrs, this_cpu); |
36 | else | 35 | else |
37 | reg = &rv->reg; | 36 | reg = &rv->reg; |
38 | 37 | ||
@@ -80,7 +79,6 @@ static void __rwmsr_on_cpus(const struct cpumask *mask, u32 msr_no, | |||
80 | 79 | ||
81 | memset(&rv, 0, sizeof(rv)); | 80 | memset(&rv, 0, sizeof(rv)); |
82 | 81 | ||
83 | rv.off = cpumask_first(mask); | ||
84 | rv.msrs = msrs; | 82 | rv.msrs = msrs; |
85 | rv.msr_no = msr_no; | 83 | rv.msr_no = msr_no; |
86 | 84 | ||
@@ -120,6 +118,26 @@ void wrmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs) | |||
120 | } | 118 | } |
121 | EXPORT_SYMBOL(wrmsr_on_cpus); | 119 | EXPORT_SYMBOL(wrmsr_on_cpus); |
122 | 120 | ||
121 | struct msr *msrs_alloc(void) | ||
122 | { | ||
123 | struct msr *msrs = NULL; | ||
124 | |||
125 | msrs = alloc_percpu(struct msr); | ||
126 | if (!msrs) { | ||
127 | pr_warning("%s: error allocating msrs\n", __func__); | ||
128 | return NULL; | ||
129 | } | ||
130 | |||
131 | return msrs; | ||
132 | } | ||
133 | EXPORT_SYMBOL(msrs_alloc); | ||
134 | |||
135 | void msrs_free(struct msr *msrs) | ||
136 | { | ||
137 | free_percpu(msrs); | ||
138 | } | ||
139 | EXPORT_SYMBOL(msrs_free); | ||
140 | |||
123 | /* These "safe" variants are slower and should be used when the target MSR | 141 | /* These "safe" variants are slower and should be used when the target MSR |
124 | may not actually exist. */ | 142 | may not actually exist. */ |
125 | static void __rdmsr_safe_on_cpu(void *info) | 143 | static void __rdmsr_safe_on_cpu(void *info) |
diff --git a/arch/x86/mm/mmio-mod.c b/arch/x86/mm/mmio-mod.c index 4c765e9c4664..34a3291ca103 100644 --- a/arch/x86/mm/mmio-mod.c +++ b/arch/x86/mm/mmio-mod.c | |||
@@ -20,7 +20,7 @@ | |||
20 | * Derived from the read-mod example from relay-examples by Tom Zanussi. | 20 | * Derived from the read-mod example from relay-examples by Tom Zanussi. |
21 | */ | 21 | */ |
22 | 22 | ||
23 | #define pr_fmt(fmt) "mmiotrace: " | 23 | #define pr_fmt(fmt) "mmiotrace: " fmt |
24 | 24 | ||
25 | #define DEBUG 1 | 25 | #define DEBUG 1 |
26 | 26 | ||
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c index 64757c0ba5fc..563d20504988 100644 --- a/arch/x86/xen/smp.c +++ b/arch/x86/xen/smp.c | |||
@@ -35,10 +35,10 @@ | |||
35 | 35 | ||
36 | cpumask_var_t xen_cpu_initialized_map; | 36 | cpumask_var_t xen_cpu_initialized_map; |
37 | 37 | ||
38 | static DEFINE_PER_CPU(int, resched_irq); | 38 | static DEFINE_PER_CPU(int, xen_resched_irq); |
39 | static DEFINE_PER_CPU(int, callfunc_irq); | 39 | static DEFINE_PER_CPU(int, xen_callfunc_irq); |
40 | static DEFINE_PER_CPU(int, callfuncsingle_irq); | 40 | static DEFINE_PER_CPU(int, xen_callfuncsingle_irq); |
41 | static DEFINE_PER_CPU(int, debug_irq) = -1; | 41 | static DEFINE_PER_CPU(int, xen_debug_irq) = -1; |
42 | 42 | ||
43 | static irqreturn_t xen_call_function_interrupt(int irq, void *dev_id); | 43 | static irqreturn_t xen_call_function_interrupt(int irq, void *dev_id); |
44 | static irqreturn_t xen_call_function_single_interrupt(int irq, void *dev_id); | 44 | static irqreturn_t xen_call_function_single_interrupt(int irq, void *dev_id); |
@@ -103,7 +103,7 @@ static int xen_smp_intr_init(unsigned int cpu) | |||
103 | NULL); | 103 | NULL); |
104 | if (rc < 0) | 104 | if (rc < 0) |
105 | goto fail; | 105 | goto fail; |
106 | per_cpu(resched_irq, cpu) = rc; | 106 | per_cpu(xen_resched_irq, cpu) = rc; |
107 | 107 | ||
108 | callfunc_name = kasprintf(GFP_KERNEL, "callfunc%d", cpu); | 108 | callfunc_name = kasprintf(GFP_KERNEL, "callfunc%d", cpu); |
109 | rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_VECTOR, | 109 | rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_VECTOR, |
@@ -114,7 +114,7 @@ static int xen_smp_intr_init(unsigned int cpu) | |||
114 | NULL); | 114 | NULL); |
115 | if (rc < 0) | 115 | if (rc < 0) |
116 | goto fail; | 116 | goto fail; |
117 | per_cpu(callfunc_irq, cpu) = rc; | 117 | per_cpu(xen_callfunc_irq, cpu) = rc; |
118 | 118 | ||
119 | debug_name = kasprintf(GFP_KERNEL, "debug%d", cpu); | 119 | debug_name = kasprintf(GFP_KERNEL, "debug%d", cpu); |
120 | rc = bind_virq_to_irqhandler(VIRQ_DEBUG, cpu, xen_debug_interrupt, | 120 | rc = bind_virq_to_irqhandler(VIRQ_DEBUG, cpu, xen_debug_interrupt, |
@@ -122,7 +122,7 @@ static int xen_smp_intr_init(unsigned int cpu) | |||
122 | debug_name, NULL); | 122 | debug_name, NULL); |
123 | if (rc < 0) | 123 | if (rc < 0) |
124 | goto fail; | 124 | goto fail; |
125 | per_cpu(debug_irq, cpu) = rc; | 125 | per_cpu(xen_debug_irq, cpu) = rc; |
126 | 126 | ||
127 | callfunc_name = kasprintf(GFP_KERNEL, "callfuncsingle%d", cpu); | 127 | callfunc_name = kasprintf(GFP_KERNEL, "callfuncsingle%d", cpu); |
128 | rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_SINGLE_VECTOR, | 128 | rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_SINGLE_VECTOR, |
@@ -133,19 +133,20 @@ static int xen_smp_intr_init(unsigned int cpu) | |||
133 | NULL); | 133 | NULL); |
134 | if (rc < 0) | 134 | if (rc < 0) |
135 | goto fail; | 135 | goto fail; |
136 | per_cpu(callfuncsingle_irq, cpu) = rc; | 136 | per_cpu(xen_callfuncsingle_irq, cpu) = rc; |
137 | 137 | ||
138 | return 0; | 138 | return 0; |
139 | 139 | ||
140 | fail: | 140 | fail: |
141 | if (per_cpu(resched_irq, cpu) >= 0) | 141 | if (per_cpu(xen_resched_irq, cpu) >= 0) |
142 | unbind_from_irqhandler(per_cpu(resched_irq, cpu), NULL); | 142 | unbind_from_irqhandler(per_cpu(xen_resched_irq, cpu), NULL); |
143 | if (per_cpu(callfunc_irq, cpu) >= 0) | 143 | if (per_cpu(xen_callfunc_irq, cpu) >= 0) |
144 | unbind_from_irqhandler(per_cpu(callfunc_irq, cpu), NULL); | 144 | unbind_from_irqhandler(per_cpu(xen_callfunc_irq, cpu), NULL); |
145 | if (per_cpu(debug_irq, cpu) >= 0) | 145 | if (per_cpu(xen_debug_irq, cpu) >= 0) |
146 | unbind_from_irqhandler(per_cpu(debug_irq, cpu), NULL); | 146 | unbind_from_irqhandler(per_cpu(xen_debug_irq, cpu), NULL); |
147 | if (per_cpu(callfuncsingle_irq, cpu) >= 0) | 147 | if (per_cpu(xen_callfuncsingle_irq, cpu) >= 0) |
148 | unbind_from_irqhandler(per_cpu(callfuncsingle_irq, cpu), NULL); | 148 | unbind_from_irqhandler(per_cpu(xen_callfuncsingle_irq, cpu), |
149 | NULL); | ||
149 | 150 | ||
150 | return rc; | 151 | return rc; |
151 | } | 152 | } |
@@ -349,10 +350,10 @@ static void xen_cpu_die(unsigned int cpu) | |||
349 | current->state = TASK_UNINTERRUPTIBLE; | 350 | current->state = TASK_UNINTERRUPTIBLE; |
350 | schedule_timeout(HZ/10); | 351 | schedule_timeout(HZ/10); |
351 | } | 352 | } |
352 | unbind_from_irqhandler(per_cpu(resched_irq, cpu), NULL); | 353 | unbind_from_irqhandler(per_cpu(xen_resched_irq, cpu), NULL); |
353 | unbind_from_irqhandler(per_cpu(callfunc_irq, cpu), NULL); | 354 | unbind_from_irqhandler(per_cpu(xen_callfunc_irq, cpu), NULL); |
354 | unbind_from_irqhandler(per_cpu(debug_irq, cpu), NULL); | 355 | unbind_from_irqhandler(per_cpu(xen_debug_irq, cpu), NULL); |
355 | unbind_from_irqhandler(per_cpu(callfuncsingle_irq, cpu), NULL); | 356 | unbind_from_irqhandler(per_cpu(xen_callfuncsingle_irq, cpu), NULL); |
356 | xen_uninit_lock_cpu(cpu); | 357 | xen_uninit_lock_cpu(cpu); |
357 | xen_teardown_timer(cpu); | 358 | xen_teardown_timer(cpu); |
358 | 359 | ||
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c index 36a5141108df..24ded31b5aec 100644 --- a/arch/x86/xen/spinlock.c +++ b/arch/x86/xen/spinlock.c | |||
@@ -120,14 +120,14 @@ struct xen_spinlock { | |||
120 | unsigned short spinners; /* count of waiting cpus */ | 120 | unsigned short spinners; /* count of waiting cpus */ |
121 | }; | 121 | }; |
122 | 122 | ||
123 | static int xen_spin_is_locked(struct raw_spinlock *lock) | 123 | static int xen_spin_is_locked(struct arch_spinlock *lock) |
124 | { | 124 | { |
125 | struct xen_spinlock *xl = (struct xen_spinlock *)lock; | 125 | struct xen_spinlock *xl = (struct xen_spinlock *)lock; |
126 | 126 | ||
127 | return xl->lock != 0; | 127 | return xl->lock != 0; |
128 | } | 128 | } |
129 | 129 | ||
130 | static int xen_spin_is_contended(struct raw_spinlock *lock) | 130 | static int xen_spin_is_contended(struct arch_spinlock *lock) |
131 | { | 131 | { |
132 | struct xen_spinlock *xl = (struct xen_spinlock *)lock; | 132 | struct xen_spinlock *xl = (struct xen_spinlock *)lock; |
133 | 133 | ||
@@ -136,7 +136,7 @@ static int xen_spin_is_contended(struct raw_spinlock *lock) | |||
136 | return xl->spinners != 0; | 136 | return xl->spinners != 0; |
137 | } | 137 | } |
138 | 138 | ||
139 | static int xen_spin_trylock(struct raw_spinlock *lock) | 139 | static int xen_spin_trylock(struct arch_spinlock *lock) |
140 | { | 140 | { |
141 | struct xen_spinlock *xl = (struct xen_spinlock *)lock; | 141 | struct xen_spinlock *xl = (struct xen_spinlock *)lock; |
142 | u8 old = 1; | 142 | u8 old = 1; |
@@ -181,7 +181,7 @@ static inline void unspinning_lock(struct xen_spinlock *xl, struct xen_spinlock | |||
181 | __get_cpu_var(lock_spinners) = prev; | 181 | __get_cpu_var(lock_spinners) = prev; |
182 | } | 182 | } |
183 | 183 | ||
184 | static noinline int xen_spin_lock_slow(struct raw_spinlock *lock, bool irq_enable) | 184 | static noinline int xen_spin_lock_slow(struct arch_spinlock *lock, bool irq_enable) |
185 | { | 185 | { |
186 | struct xen_spinlock *xl = (struct xen_spinlock *)lock; | 186 | struct xen_spinlock *xl = (struct xen_spinlock *)lock; |
187 | struct xen_spinlock *prev; | 187 | struct xen_spinlock *prev; |
@@ -254,7 +254,7 @@ out: | |||
254 | return ret; | 254 | return ret; |
255 | } | 255 | } |
256 | 256 | ||
257 | static inline void __xen_spin_lock(struct raw_spinlock *lock, bool irq_enable) | 257 | static inline void __xen_spin_lock(struct arch_spinlock *lock, bool irq_enable) |
258 | { | 258 | { |
259 | struct xen_spinlock *xl = (struct xen_spinlock *)lock; | 259 | struct xen_spinlock *xl = (struct xen_spinlock *)lock; |
260 | unsigned timeout; | 260 | unsigned timeout; |
@@ -291,12 +291,12 @@ static inline void __xen_spin_lock(struct raw_spinlock *lock, bool irq_enable) | |||
291 | spin_time_accum_total(start_spin); | 291 | spin_time_accum_total(start_spin); |
292 | } | 292 | } |
293 | 293 | ||
294 | static void xen_spin_lock(struct raw_spinlock *lock) | 294 | static void xen_spin_lock(struct arch_spinlock *lock) |
295 | { | 295 | { |
296 | __xen_spin_lock(lock, false); | 296 | __xen_spin_lock(lock, false); |
297 | } | 297 | } |
298 | 298 | ||
299 | static void xen_spin_lock_flags(struct raw_spinlock *lock, unsigned long flags) | 299 | static void xen_spin_lock_flags(struct arch_spinlock *lock, unsigned long flags) |
300 | { | 300 | { |
301 | __xen_spin_lock(lock, !raw_irqs_disabled_flags(flags)); | 301 | __xen_spin_lock(lock, !raw_irqs_disabled_flags(flags)); |
302 | } | 302 | } |
@@ -317,7 +317,7 @@ static noinline void xen_spin_unlock_slow(struct xen_spinlock *xl) | |||
317 | } | 317 | } |
318 | } | 318 | } |
319 | 319 | ||
320 | static void xen_spin_unlock(struct raw_spinlock *lock) | 320 | static void xen_spin_unlock(struct arch_spinlock *lock) |
321 | { | 321 | { |
322 | struct xen_spinlock *xl = (struct xen_spinlock *)lock; | 322 | struct xen_spinlock *xl = (struct xen_spinlock *)lock; |
323 | 323 | ||
diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c index 9d1f853120d8..0d3f07cd1b5f 100644 --- a/arch/x86/xen/time.c +++ b/arch/x86/xen/time.c | |||
@@ -31,14 +31,14 @@ | |||
31 | #define NS_PER_TICK (1000000000LL / HZ) | 31 | #define NS_PER_TICK (1000000000LL / HZ) |
32 | 32 | ||
33 | /* runstate info updated by Xen */ | 33 | /* runstate info updated by Xen */ |
34 | static DEFINE_PER_CPU(struct vcpu_runstate_info, runstate); | 34 | static DEFINE_PER_CPU(struct vcpu_runstate_info, xen_runstate); |
35 | 35 | ||
36 | /* snapshots of runstate info */ | 36 | /* snapshots of runstate info */ |
37 | static DEFINE_PER_CPU(struct vcpu_runstate_info, runstate_snapshot); | 37 | static DEFINE_PER_CPU(struct vcpu_runstate_info, xen_runstate_snapshot); |
38 | 38 | ||
39 | /* unused ns of stolen and blocked time */ | 39 | /* unused ns of stolen and blocked time */ |
40 | static DEFINE_PER_CPU(u64, residual_stolen); | 40 | static DEFINE_PER_CPU(u64, xen_residual_stolen); |
41 | static DEFINE_PER_CPU(u64, residual_blocked); | 41 | static DEFINE_PER_CPU(u64, xen_residual_blocked); |
42 | 42 | ||
43 | /* return an consistent snapshot of 64-bit time/counter value */ | 43 | /* return an consistent snapshot of 64-bit time/counter value */ |
44 | static u64 get64(const u64 *p) | 44 | static u64 get64(const u64 *p) |
@@ -79,7 +79,7 @@ static void get_runstate_snapshot(struct vcpu_runstate_info *res) | |||
79 | 79 | ||
80 | BUG_ON(preemptible()); | 80 | BUG_ON(preemptible()); |
81 | 81 | ||
82 | state = &__get_cpu_var(runstate); | 82 | state = &__get_cpu_var(xen_runstate); |
83 | 83 | ||
84 | /* | 84 | /* |
85 | * The runstate info is always updated by the hypervisor on | 85 | * The runstate info is always updated by the hypervisor on |
@@ -97,14 +97,14 @@ static void get_runstate_snapshot(struct vcpu_runstate_info *res) | |||
97 | /* return true when a vcpu could run but has no real cpu to run on */ | 97 | /* return true when a vcpu could run but has no real cpu to run on */ |
98 | bool xen_vcpu_stolen(int vcpu) | 98 | bool xen_vcpu_stolen(int vcpu) |
99 | { | 99 | { |
100 | return per_cpu(runstate, vcpu).state == RUNSTATE_runnable; | 100 | return per_cpu(xen_runstate, vcpu).state == RUNSTATE_runnable; |
101 | } | 101 | } |
102 | 102 | ||
103 | void xen_setup_runstate_info(int cpu) | 103 | void xen_setup_runstate_info(int cpu) |
104 | { | 104 | { |
105 | struct vcpu_register_runstate_memory_area area; | 105 | struct vcpu_register_runstate_memory_area area; |
106 | 106 | ||
107 | area.addr.v = &per_cpu(runstate, cpu); | 107 | area.addr.v = &per_cpu(xen_runstate, cpu); |
108 | 108 | ||
109 | if (HYPERVISOR_vcpu_op(VCPUOP_register_runstate_memory_area, | 109 | if (HYPERVISOR_vcpu_op(VCPUOP_register_runstate_memory_area, |
110 | cpu, &area)) | 110 | cpu, &area)) |
@@ -122,7 +122,7 @@ static void do_stolen_accounting(void) | |||
122 | 122 | ||
123 | WARN_ON(state.state != RUNSTATE_running); | 123 | WARN_ON(state.state != RUNSTATE_running); |
124 | 124 | ||
125 | snap = &__get_cpu_var(runstate_snapshot); | 125 | snap = &__get_cpu_var(xen_runstate_snapshot); |
126 | 126 | ||
127 | /* work out how much time the VCPU has not been runn*ing* */ | 127 | /* work out how much time the VCPU has not been runn*ing* */ |
128 | blocked = state.time[RUNSTATE_blocked] - snap->time[RUNSTATE_blocked]; | 128 | blocked = state.time[RUNSTATE_blocked] - snap->time[RUNSTATE_blocked]; |
@@ -133,24 +133,24 @@ static void do_stolen_accounting(void) | |||
133 | 133 | ||
134 | /* Add the appropriate number of ticks of stolen time, | 134 | /* Add the appropriate number of ticks of stolen time, |
135 | including any left-overs from last time. */ | 135 | including any left-overs from last time. */ |
136 | stolen = runnable + offline + __get_cpu_var(residual_stolen); | 136 | stolen = runnable + offline + __get_cpu_var(xen_residual_stolen); |
137 | 137 | ||
138 | if (stolen < 0) | 138 | if (stolen < 0) |
139 | stolen = 0; | 139 | stolen = 0; |
140 | 140 | ||
141 | ticks = iter_div_u64_rem(stolen, NS_PER_TICK, &stolen); | 141 | ticks = iter_div_u64_rem(stolen, NS_PER_TICK, &stolen); |
142 | __get_cpu_var(residual_stolen) = stolen; | 142 | __get_cpu_var(xen_residual_stolen) = stolen; |
143 | account_steal_ticks(ticks); | 143 | account_steal_ticks(ticks); |
144 | 144 | ||
145 | /* Add the appropriate number of ticks of blocked time, | 145 | /* Add the appropriate number of ticks of blocked time, |
146 | including any left-overs from last time. */ | 146 | including any left-overs from last time. */ |
147 | blocked += __get_cpu_var(residual_blocked); | 147 | blocked += __get_cpu_var(xen_residual_blocked); |
148 | 148 | ||
149 | if (blocked < 0) | 149 | if (blocked < 0) |
150 | blocked = 0; | 150 | blocked = 0; |
151 | 151 | ||
152 | ticks = iter_div_u64_rem(blocked, NS_PER_TICK, &blocked); | 152 | ticks = iter_div_u64_rem(blocked, NS_PER_TICK, &blocked); |
153 | __get_cpu_var(residual_blocked) = blocked; | 153 | __get_cpu_var(xen_residual_blocked) = blocked; |
154 | account_idle_ticks(ticks); | 154 | account_idle_ticks(ticks); |
155 | } | 155 | } |
156 | 156 | ||
diff --git a/arch/xtensa/kernel/irq.c b/arch/xtensa/kernel/irq.c index a1badb32fcda..8cd38484e130 100644 --- a/arch/xtensa/kernel/irq.c +++ b/arch/xtensa/kernel/irq.c | |||
@@ -90,7 +90,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
90 | } | 90 | } |
91 | 91 | ||
92 | if (i < NR_IRQS) { | 92 | if (i < NR_IRQS) { |
93 | spin_lock_irqsave(&irq_desc[i].lock, flags); | 93 | raw_spin_lock_irqsave(&irq_desc[i].lock, flags); |
94 | action = irq_desc[i].action; | 94 | action = irq_desc[i].action; |
95 | if (!action) | 95 | if (!action) |
96 | goto skip; | 96 | goto skip; |
@@ -109,7 +109,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
109 | 109 | ||
110 | seq_putc(p, '\n'); | 110 | seq_putc(p, '\n'); |
111 | skip: | 111 | skip: |
112 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 112 | raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
113 | } else if (i == NR_IRQS) { | 113 | } else if (i == NR_IRQS) { |
114 | seq_printf(p, "NMI: "); | 114 | seq_printf(p, "NMI: "); |
115 | for_each_online_cpu(j) | 115 | for_each_online_cpu(j) |