diff options
Diffstat (limited to 'arch/avr32')
-rw-r--r-- | arch/avr32/configs/atngw100_defconfig | 2 | ||||
-rw-r--r-- | arch/avr32/configs/atstk1002_defconfig | 2 | ||||
-rw-r--r-- | arch/avr32/configs/atstk1003_defconfig | 2 | ||||
-rw-r--r-- | arch/avr32/configs/atstk1006_defconfig | 2 | ||||
-rw-r--r-- | arch/avr32/include/asm/Kbuild | 1 | ||||
-rw-r--r-- | arch/avr32/include/asm/atomic.h | 2 | ||||
-rw-r--r-- | arch/avr32/include/asm/bitops.h | 5 | ||||
-rw-r--r-- | arch/avr32/include/asm/byteorder.h | 31 | ||||
-rw-r--r-- | arch/avr32/include/asm/kdebug.h | 1 | ||||
-rw-r--r-- | arch/avr32/include/asm/swab.h | 35 | ||||
-rw-r--r-- | arch/avr32/kernel/init_task.c | 1 | ||||
-rw-r--r-- | arch/avr32/kernel/time.c | 2 | ||||
-rw-r--r-- | arch/avr32/kernel/traps.c | 1 | ||||
-rw-r--r-- | arch/avr32/mm/init.c | 1 |
14 files changed, 51 insertions, 37 deletions
diff --git a/arch/avr32/configs/atngw100_defconfig b/arch/avr32/configs/atngw100_defconfig index 541520912c55..164e2814ae78 100644 --- a/arch/avr32/configs/atngw100_defconfig +++ b/arch/avr32/configs/atngw100_defconfig | |||
@@ -892,7 +892,7 @@ CONFIG_DMA_ENGINE=y | |||
892 | # DMA Clients | 892 | # DMA Clients |
893 | # | 893 | # |
894 | # CONFIG_NET_DMA is not set | 894 | # CONFIG_NET_DMA is not set |
895 | CONFIG_DMATEST=m | 895 | # CONFIG_DMATEST is not set |
896 | # CONFIG_UIO is not set | 896 | # CONFIG_UIO is not set |
897 | 897 | ||
898 | # | 898 | # |
diff --git a/arch/avr32/configs/atstk1002_defconfig b/arch/avr32/configs/atstk1002_defconfig index 69fce6b6a783..c9dc64832a19 100644 --- a/arch/avr32/configs/atstk1002_defconfig +++ b/arch/avr32/configs/atstk1002_defconfig | |||
@@ -964,7 +964,7 @@ CONFIG_DMA_ENGINE=y | |||
964 | # DMA Clients | 964 | # DMA Clients |
965 | # | 965 | # |
966 | # CONFIG_NET_DMA is not set | 966 | # CONFIG_NET_DMA is not set |
967 | CONFIG_DMATEST=m | 967 | # CONFIG_DMATEST is not set |
968 | # CONFIG_UIO is not set | 968 | # CONFIG_UIO is not set |
969 | 969 | ||
970 | # | 970 | # |
diff --git a/arch/avr32/configs/atstk1003_defconfig b/arch/avr32/configs/atstk1003_defconfig index 5477ed3183b4..29ea1327b498 100644 --- a/arch/avr32/configs/atstk1003_defconfig +++ b/arch/avr32/configs/atstk1003_defconfig | |||
@@ -882,7 +882,7 @@ CONFIG_DMA_ENGINE=y | |||
882 | # DMA Clients | 882 | # DMA Clients |
883 | # | 883 | # |
884 | # CONFIG_NET_DMA is not set | 884 | # CONFIG_NET_DMA is not set |
885 | CONFIG_DMATEST=m | 885 | # CONFIG_DMATEST is not set |
886 | # CONFIG_UIO is not set | 886 | # CONFIG_UIO is not set |
887 | 887 | ||
888 | # | 888 | # |
diff --git a/arch/avr32/configs/atstk1006_defconfig b/arch/avr32/configs/atstk1006_defconfig index 6c45a3b77aa3..361c31c2af10 100644 --- a/arch/avr32/configs/atstk1006_defconfig +++ b/arch/avr32/configs/atstk1006_defconfig | |||
@@ -1014,7 +1014,7 @@ CONFIG_DMA_ENGINE=y | |||
1014 | # DMA Clients | 1014 | # DMA Clients |
1015 | # | 1015 | # |
1016 | # CONFIG_NET_DMA is not set | 1016 | # CONFIG_NET_DMA is not set |
1017 | CONFIG_DMATEST=m | 1017 | # CONFIG_DMATEST is not set |
1018 | # CONFIG_UIO is not set | 1018 | # CONFIG_UIO is not set |
1019 | # CONFIG_STAGING is not set | 1019 | # CONFIG_STAGING is not set |
1020 | CONFIG_STAGING_EXCLUDE_BUILD=y | 1020 | CONFIG_STAGING_EXCLUDE_BUILD=y |
diff --git a/arch/avr32/include/asm/Kbuild b/arch/avr32/include/asm/Kbuild index 3136628ba8d2..219822c8ad18 100644 --- a/arch/avr32/include/asm/Kbuild +++ b/arch/avr32/include/asm/Kbuild | |||
@@ -1,3 +1,4 @@ | |||
1 | include include/asm-generic/Kbuild.asm | 1 | include include/asm-generic/Kbuild.asm |
2 | 2 | ||
3 | header-y += swab.h | ||
3 | header-y += cachectl.h | 4 | header-y += cachectl.h |
diff --git a/arch/avr32/include/asm/atomic.h b/arch/avr32/include/asm/atomic.h index 7ef3862a73d0..318815107748 100644 --- a/arch/avr32/include/asm/atomic.h +++ b/arch/avr32/include/asm/atomic.h | |||
@@ -14,9 +14,9 @@ | |||
14 | #ifndef __ASM_AVR32_ATOMIC_H | 14 | #ifndef __ASM_AVR32_ATOMIC_H |
15 | #define __ASM_AVR32_ATOMIC_H | 15 | #define __ASM_AVR32_ATOMIC_H |
16 | 16 | ||
17 | #include <linux/types.h> | ||
17 | #include <asm/system.h> | 18 | #include <asm/system.h> |
18 | 19 | ||
19 | typedef struct { volatile int counter; } atomic_t; | ||
20 | #define ATOMIC_INIT(i) { (i) } | 20 | #define ATOMIC_INIT(i) { (i) } |
21 | 21 | ||
22 | #define atomic_read(v) ((v)->counter) | 22 | #define atomic_read(v) ((v)->counter) |
diff --git a/arch/avr32/include/asm/bitops.h b/arch/avr32/include/asm/bitops.h index 1a50b69b1a19..f7dd5f71edf7 100644 --- a/arch/avr32/include/asm/bitops.h +++ b/arch/avr32/include/asm/bitops.h | |||
@@ -263,6 +263,11 @@ static inline int fls(unsigned long word) | |||
263 | return 32 - result; | 263 | return 32 - result; |
264 | } | 264 | } |
265 | 265 | ||
266 | static inline int __fls(unsigned long word) | ||
267 | { | ||
268 | return fls(word) - 1; | ||
269 | } | ||
270 | |||
266 | unsigned long find_first_zero_bit(const unsigned long *addr, | 271 | unsigned long find_first_zero_bit(const unsigned long *addr, |
267 | unsigned long size); | 272 | unsigned long size); |
268 | unsigned long find_next_zero_bit(const unsigned long *addr, | 273 | unsigned long find_next_zero_bit(const unsigned long *addr, |
diff --git a/arch/avr32/include/asm/byteorder.h b/arch/avr32/include/asm/byteorder.h index 8e3af02076dd..2aba64b4e122 100644 --- a/arch/avr32/include/asm/byteorder.h +++ b/arch/avr32/include/asm/byteorder.h | |||
@@ -4,34 +4,7 @@ | |||
4 | #ifndef __ASM_AVR32_BYTEORDER_H | 4 | #ifndef __ASM_AVR32_BYTEORDER_H |
5 | #define __ASM_AVR32_BYTEORDER_H | 5 | #define __ASM_AVR32_BYTEORDER_H |
6 | 6 | ||
7 | #include <asm/types.h> | 7 | #include <asm/swab.h> |
8 | #include <linux/compiler.h> | 8 | #include <linux/byteorder/big_endian.h> |
9 | 9 | ||
10 | #define __BIG_ENDIAN | ||
11 | #define __SWAB_64_THRU_32__ | ||
12 | |||
13 | #ifdef __CHECKER__ | ||
14 | extern unsigned long __builtin_bswap_32(unsigned long x); | ||
15 | extern unsigned short __builtin_bswap_16(unsigned short x); | ||
16 | #endif | ||
17 | |||
18 | /* | ||
19 | * avr32-linux-gcc versions earlier than 4.2 improperly sign-extends | ||
20 | * the result. | ||
21 | */ | ||
22 | #if !(__GNUC__ == 4 && __GNUC_MINOR__ < 2) | ||
23 | static inline __attribute_const__ __u16 __arch_swab16(__u16 val) | ||
24 | { | ||
25 | return __builtin_bswap_16(val); | ||
26 | } | ||
27 | #define __arch_swab16 __arch_swab16 | ||
28 | |||
29 | static inline __attribute_const__ __u32 __arch_swab32(__u32 val) | ||
30 | { | ||
31 | return __builtin_bswap_32(val); | ||
32 | } | ||
33 | #define __arch_swab32 __arch_swab32 | ||
34 | #endif | ||
35 | |||
36 | #include <linux/byteorder.h> | ||
37 | #endif /* __ASM_AVR32_BYTEORDER_H */ | 10 | #endif /* __ASM_AVR32_BYTEORDER_H */ |
diff --git a/arch/avr32/include/asm/kdebug.h b/arch/avr32/include/asm/kdebug.h index ca4f9542365a..f930ce286803 100644 --- a/arch/avr32/include/asm/kdebug.h +++ b/arch/avr32/include/asm/kdebug.h | |||
@@ -6,6 +6,7 @@ enum die_val { | |||
6 | DIE_BREAKPOINT, | 6 | DIE_BREAKPOINT, |
7 | DIE_SSTEP, | 7 | DIE_SSTEP, |
8 | DIE_NMI, | 8 | DIE_NMI, |
9 | DIE_OOPS, | ||
9 | }; | 10 | }; |
10 | 11 | ||
11 | #endif /* __ASM_AVR32_KDEBUG_H */ | 12 | #endif /* __ASM_AVR32_KDEBUG_H */ |
diff --git a/arch/avr32/include/asm/swab.h b/arch/avr32/include/asm/swab.h new file mode 100644 index 000000000000..a14aa5b46d98 --- /dev/null +++ b/arch/avr32/include/asm/swab.h | |||
@@ -0,0 +1,35 @@ | |||
1 | /* | ||
2 | * AVR32 byteswapping functions. | ||
3 | */ | ||
4 | #ifndef __ASM_AVR32_SWAB_H | ||
5 | #define __ASM_AVR32_SWAB_H | ||
6 | |||
7 | #include <asm/types.h> | ||
8 | #include <linux/compiler.h> | ||
9 | |||
10 | #define __SWAB_64_THRU_32__ | ||
11 | |||
12 | #ifdef __CHECKER__ | ||
13 | extern unsigned long __builtin_bswap_32(unsigned long x); | ||
14 | extern unsigned short __builtin_bswap_16(unsigned short x); | ||
15 | #endif | ||
16 | |||
17 | /* | ||
18 | * avr32-linux-gcc versions earlier than 4.2 improperly sign-extends | ||
19 | * the result. | ||
20 | */ | ||
21 | #if !(__GNUC__ == 4 && __GNUC_MINOR__ < 2) | ||
22 | static inline __attribute_const__ __u16 __arch_swab16(__u16 val) | ||
23 | { | ||
24 | return __builtin_bswap_16(val); | ||
25 | } | ||
26 | #define __arch_swab16 __arch_swab16 | ||
27 | |||
28 | static inline __attribute_const__ __u32 __arch_swab32(__u32 val) | ||
29 | { | ||
30 | return __builtin_bswap_32(val); | ||
31 | } | ||
32 | #define __arch_swab32 __arch_swab32 | ||
33 | #endif | ||
34 | |||
35 | #endif /* __ASM_AVR32_SWAB_H */ | ||
diff --git a/arch/avr32/kernel/init_task.c b/arch/avr32/kernel/init_task.c index 44058469c6ec..993d56ee3cf3 100644 --- a/arch/avr32/kernel/init_task.c +++ b/arch/avr32/kernel/init_task.c | |||
@@ -13,7 +13,6 @@ | |||
13 | 13 | ||
14 | #include <asm/pgtable.h> | 14 | #include <asm/pgtable.h> |
15 | 15 | ||
16 | static struct fs_struct init_fs = INIT_FS; | ||
17 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 16 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
18 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 17 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
19 | struct mm_struct init_mm = INIT_MM(init_mm); | 18 | struct mm_struct init_mm = INIT_MM(init_mm); |
diff --git a/arch/avr32/kernel/time.c b/arch/avr32/kernel/time.c index 283481d74a5b..0ff46bf873b0 100644 --- a/arch/avr32/kernel/time.c +++ b/arch/avr32/kernel/time.c | |||
@@ -106,7 +106,6 @@ static struct clock_event_device comparator = { | |||
106 | .features = CLOCK_EVT_FEAT_ONESHOT, | 106 | .features = CLOCK_EVT_FEAT_ONESHOT, |
107 | .shift = 16, | 107 | .shift = 16, |
108 | .rating = 50, | 108 | .rating = 50, |
109 | .cpumask = CPU_MASK_CPU0, | ||
110 | .set_next_event = comparator_next_event, | 109 | .set_next_event = comparator_next_event, |
111 | .set_mode = comparator_mode, | 110 | .set_mode = comparator_mode, |
112 | }; | 111 | }; |
@@ -134,6 +133,7 @@ void __init time_init(void) | |||
134 | comparator.mult = div_sc(counter_hz, NSEC_PER_SEC, comparator.shift); | 133 | comparator.mult = div_sc(counter_hz, NSEC_PER_SEC, comparator.shift); |
135 | comparator.max_delta_ns = clockevent_delta2ns((u32)~0, &comparator); | 134 | comparator.max_delta_ns = clockevent_delta2ns((u32)~0, &comparator); |
136 | comparator.min_delta_ns = clockevent_delta2ns(50, &comparator) + 1; | 135 | comparator.min_delta_ns = clockevent_delta2ns(50, &comparator) + 1; |
136 | comparator.cpumask = cpumask_of(0); | ||
137 | 137 | ||
138 | sysreg_write(COMPARE, 0); | 138 | sysreg_write(COMPARE, 0); |
139 | timer_irqaction.dev_id = &comparator; | 139 | timer_irqaction.dev_id = &comparator; |
diff --git a/arch/avr32/kernel/traps.c b/arch/avr32/kernel/traps.c index 0d987373bc01..d547c8df157d 100644 --- a/arch/avr32/kernel/traps.c +++ b/arch/avr32/kernel/traps.c | |||
@@ -7,6 +7,7 @@ | |||
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include <linux/bug.h> | 9 | #include <linux/bug.h> |
10 | #include <linux/hardirq.h> | ||
10 | #include <linux/init.h> | 11 | #include <linux/init.h> |
11 | #include <linux/kallsyms.h> | 12 | #include <linux/kallsyms.h> |
12 | #include <linux/kdebug.h> | 13 | #include <linux/kdebug.h> |
diff --git a/arch/avr32/mm/init.c b/arch/avr32/mm/init.c index fa92ff6d95f7..e819fa69a90e 100644 --- a/arch/avr32/mm/init.c +++ b/arch/avr32/mm/init.c | |||
@@ -97,7 +97,6 @@ void __init paging_init(void) | |||
97 | 97 | ||
98 | mem_map = NODE_DATA(0)->node_mem_map; | 98 | mem_map = NODE_DATA(0)->node_mem_map; |
99 | 99 | ||
100 | memset(zero_page, 0, PAGE_SIZE); | ||
101 | empty_zero_page = virt_to_page(zero_page); | 100 | empty_zero_page = virt_to_page(zero_page); |
102 | flush_dcache_page(empty_zero_page); | 101 | flush_dcache_page(empty_zero_page); |
103 | } | 102 | } |