diff options
author | David S. Miller <davem@davemloft.net> | 2009-06-15 06:02:23 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-06-15 06:02:23 -0400 |
commit | 9cbc1cb8cd46ce1f7645b9de249b2ce8460129bb (patch) | |
tree | 8d104ec2a459346b99413b0b77421ca7b9936c1a /arch/alpha | |
parent | ca44d6e60f9de26281fda203f58b570e1748c015 (diff) | |
parent | 45e3e1935e2857c54783291107d33323b3ef33c8 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts:
Documentation/feature-removal-schedule.txt
drivers/scsi/fcoe/fcoe.c
net/core/drop_monitor.c
net/core/net-traces.c
Diffstat (limited to 'arch/alpha')
-rw-r--r-- | arch/alpha/include/asm/atomic.h | 2 | ||||
-rw-r--r-- | arch/alpha/include/asm/bitsperlong.h | 8 | ||||
-rw-r--r-- | arch/alpha/include/asm/page.h | 2 | ||||
-rw-r--r-- | arch/alpha/include/asm/signal.h | 2 | ||||
-rw-r--r-- | arch/alpha/include/asm/suspend.h | 6 | ||||
-rw-r--r-- | arch/alpha/include/asm/types.h | 3 | ||||
-rw-r--r-- | arch/alpha/kernel/osf_sys.c | 3 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_dp264.c | 8 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_titan.c | 4 | ||||
-rw-r--r-- | arch/alpha/mm/extable.c | 21 |
10 files changed, 41 insertions, 18 deletions
diff --git a/arch/alpha/include/asm/atomic.h b/arch/alpha/include/asm/atomic.h index 62b363584b2b..610dff44d94b 100644 --- a/arch/alpha/include/asm/atomic.h +++ b/arch/alpha/include/asm/atomic.h | |||
@@ -256,5 +256,5 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u) | |||
256 | #define smp_mb__before_atomic_inc() smp_mb() | 256 | #define smp_mb__before_atomic_inc() smp_mb() |
257 | #define smp_mb__after_atomic_inc() smp_mb() | 257 | #define smp_mb__after_atomic_inc() smp_mb() |
258 | 258 | ||
259 | #include <asm-generic/atomic.h> | 259 | #include <asm-generic/atomic-long.h> |
260 | #endif /* _ALPHA_ATOMIC_H */ | 260 | #endif /* _ALPHA_ATOMIC_H */ |
diff --git a/arch/alpha/include/asm/bitsperlong.h b/arch/alpha/include/asm/bitsperlong.h new file mode 100644 index 000000000000..ad57f7868203 --- /dev/null +++ b/arch/alpha/include/asm/bitsperlong.h | |||
@@ -0,0 +1,8 @@ | |||
1 | #ifndef __ASM_ALPHA_BITSPERLONG_H | ||
2 | #define __ASM_ALPHA_BITSPERLONG_H | ||
3 | |||
4 | #define __BITS_PER_LONG 64 | ||
5 | |||
6 | #include <asm-generic/bitsperlong.h> | ||
7 | |||
8 | #endif /* __ASM_ALPHA_BITSPERLONG_H */ | ||
diff --git a/arch/alpha/include/asm/page.h b/arch/alpha/include/asm/page.h index 0995f9d13417..07af062544fb 100644 --- a/arch/alpha/include/asm/page.h +++ b/arch/alpha/include/asm/page.h | |||
@@ -93,6 +93,6 @@ typedef struct page *pgtable_t; | |||
93 | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) | 93 | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) |
94 | 94 | ||
95 | #include <asm-generic/memory_model.h> | 95 | #include <asm-generic/memory_model.h> |
96 | #include <asm-generic/page.h> | 96 | #include <asm-generic/getorder.h> |
97 | 97 | ||
98 | #endif /* _ALPHA_PAGE_H */ | 98 | #endif /* _ALPHA_PAGE_H */ |
diff --git a/arch/alpha/include/asm/signal.h b/arch/alpha/include/asm/signal.h index 13c2305d35ef..a9388300abb1 100644 --- a/arch/alpha/include/asm/signal.h +++ b/arch/alpha/include/asm/signal.h | |||
@@ -111,7 +111,7 @@ typedef unsigned long sigset_t; | |||
111 | #define SIG_UNBLOCK 2 /* for unblocking signals */ | 111 | #define SIG_UNBLOCK 2 /* for unblocking signals */ |
112 | #define SIG_SETMASK 3 /* for setting the signal mask */ | 112 | #define SIG_SETMASK 3 /* for setting the signal mask */ |
113 | 113 | ||
114 | #include <asm-generic/signal.h> | 114 | #include <asm-generic/signal-defs.h> |
115 | 115 | ||
116 | #ifdef __KERNEL__ | 116 | #ifdef __KERNEL__ |
117 | struct osf_sigaction { | 117 | struct osf_sigaction { |
diff --git a/arch/alpha/include/asm/suspend.h b/arch/alpha/include/asm/suspend.h deleted file mode 100644 index c7042d575851..000000000000 --- a/arch/alpha/include/asm/suspend.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | #ifndef __ALPHA_SUSPEND_H | ||
2 | #define __ALPHA_SUSPEND_H | ||
3 | |||
4 | /* Dummy include. */ | ||
5 | |||
6 | #endif /* __ALPHA_SUSPEND_H */ | ||
diff --git a/arch/alpha/include/asm/types.h b/arch/alpha/include/asm/types.h index f072f344497e..bd621ecd1eb3 100644 --- a/arch/alpha/include/asm/types.h +++ b/arch/alpha/include/asm/types.h | |||
@@ -25,9 +25,6 @@ typedef unsigned int umode_t; | |||
25 | * These aren't exported outside the kernel to avoid name space clashes | 25 | * These aren't exported outside the kernel to avoid name space clashes |
26 | */ | 26 | */ |
27 | #ifdef __KERNEL__ | 27 | #ifdef __KERNEL__ |
28 | |||
29 | #define BITS_PER_LONG 64 | ||
30 | |||
31 | #ifndef __ASSEMBLY__ | 28 | #ifndef __ASSEMBLY__ |
32 | 29 | ||
33 | typedef u64 dma_addr_t; | 30 | typedef u64 dma_addr_t; |
diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index 42ee05981e71..9a3334ae282e 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c | |||
@@ -371,8 +371,6 @@ SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path, | |||
371 | int retval = -EINVAL; | 371 | int retval = -EINVAL; |
372 | char *name; | 372 | char *name; |
373 | 373 | ||
374 | lock_kernel(); | ||
375 | |||
376 | name = getname(path); | 374 | name = getname(path); |
377 | retval = PTR_ERR(name); | 375 | retval = PTR_ERR(name); |
378 | if (IS_ERR(name)) | 376 | if (IS_ERR(name)) |
@@ -392,7 +390,6 @@ SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path, | |||
392 | } | 390 | } |
393 | putname(name); | 391 | putname(name); |
394 | out: | 392 | out: |
395 | unlock_kernel(); | ||
396 | return retval; | 393 | return retval; |
397 | } | 394 | } |
398 | 395 | ||
diff --git a/arch/alpha/kernel/sys_dp264.c b/arch/alpha/kernel/sys_dp264.c index 9c9d1fd4155f..5bd5259324b7 100644 --- a/arch/alpha/kernel/sys_dp264.c +++ b/arch/alpha/kernel/sys_dp264.c | |||
@@ -176,22 +176,26 @@ cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) | |||
176 | } | 176 | } |
177 | } | 177 | } |
178 | 178 | ||
179 | static void | 179 | static int |
180 | dp264_set_affinity(unsigned int irq, const struct cpumask *affinity) | 180 | dp264_set_affinity(unsigned int irq, const struct cpumask *affinity) |
181 | { | 181 | { |
182 | spin_lock(&dp264_irq_lock); | 182 | spin_lock(&dp264_irq_lock); |
183 | cpu_set_irq_affinity(irq, *affinity); | 183 | cpu_set_irq_affinity(irq, *affinity); |
184 | tsunami_update_irq_hw(cached_irq_mask); | 184 | tsunami_update_irq_hw(cached_irq_mask); |
185 | spin_unlock(&dp264_irq_lock); | 185 | spin_unlock(&dp264_irq_lock); |
186 | |||
187 | return 0; | ||
186 | } | 188 | } |
187 | 189 | ||
188 | static void | 190 | static int |
189 | clipper_set_affinity(unsigned int irq, const struct cpumask *affinity) | 191 | clipper_set_affinity(unsigned int irq, const struct cpumask *affinity) |
190 | { | 192 | { |
191 | spin_lock(&dp264_irq_lock); | 193 | spin_lock(&dp264_irq_lock); |
192 | cpu_set_irq_affinity(irq - 16, *affinity); | 194 | cpu_set_irq_affinity(irq - 16, *affinity); |
193 | tsunami_update_irq_hw(cached_irq_mask); | 195 | tsunami_update_irq_hw(cached_irq_mask); |
194 | spin_unlock(&dp264_irq_lock); | 196 | spin_unlock(&dp264_irq_lock); |
197 | |||
198 | return 0; | ||
195 | } | 199 | } |
196 | 200 | ||
197 | static struct hw_interrupt_type dp264_irq_type = { | 201 | static struct hw_interrupt_type dp264_irq_type = { |
diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c index 27f840a4ad3d..8dd239ebdb9e 100644 --- a/arch/alpha/kernel/sys_titan.c +++ b/arch/alpha/kernel/sys_titan.c | |||
@@ -157,13 +157,15 @@ titan_cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) | |||
157 | 157 | ||
158 | } | 158 | } |
159 | 159 | ||
160 | static void | 160 | static int |
161 | titan_set_irq_affinity(unsigned int irq, const struct cpumask *affinity) | 161 | titan_set_irq_affinity(unsigned int irq, const struct cpumask *affinity) |
162 | { | 162 | { |
163 | spin_lock(&titan_irq_lock); | 163 | spin_lock(&titan_irq_lock); |
164 | titan_cpu_set_irq_affinity(irq - 16, *affinity); | 164 | titan_cpu_set_irq_affinity(irq - 16, *affinity); |
165 | titan_update_irq_hw(titan_cached_irq_mask); | 165 | titan_update_irq_hw(titan_cached_irq_mask); |
166 | spin_unlock(&titan_irq_lock); | 166 | spin_unlock(&titan_irq_lock); |
167 | |||
168 | return 0; | ||
167 | } | 169 | } |
168 | 170 | ||
169 | static void | 171 | static void |
diff --git a/arch/alpha/mm/extable.c b/arch/alpha/mm/extable.c index 62dc379d301a..813c9b63c0e1 100644 --- a/arch/alpha/mm/extable.c +++ b/arch/alpha/mm/extable.c | |||
@@ -48,6 +48,27 @@ void sort_extable(struct exception_table_entry *start, | |||
48 | cmp_ex, swap_ex); | 48 | cmp_ex, swap_ex); |
49 | } | 49 | } |
50 | 50 | ||
51 | #ifdef CONFIG_MODULES | ||
52 | /* | ||
53 | * Any entry referring to the module init will be at the beginning or | ||
54 | * the end. | ||
55 | */ | ||
56 | void trim_init_extable(struct module *m) | ||
57 | { | ||
58 | /*trim the beginning*/ | ||
59 | while (m->num_exentries && | ||
60 | within_module_init(ex_to_addr(&m->extable[0]), m)) { | ||
61 | m->extable++; | ||
62 | m->num_exentries--; | ||
63 | } | ||
64 | /*trim the end*/ | ||
65 | while (m->num_exentries && | ||
66 | within_module_init(ex_to_addr(&m->extable[m->num_exentries-1]), | ||
67 | m)) | ||
68 | m->num_exentries--; | ||
69 | } | ||
70 | #endif /* CONFIG_MODULES */ | ||
71 | |||
51 | const struct exception_table_entry * | 72 | const struct exception_table_entry * |
52 | search_extable(const struct exception_table_entry *first, | 73 | search_extable(const struct exception_table_entry *first, |
53 | const struct exception_table_entry *last, | 74 | const struct exception_table_entry *last, |