aboutsummaryrefslogtreecommitdiffstats
path: root/arch/alpha
diff options
context:
space:
mode:
Diffstat (limited to 'arch/alpha')
-rw-r--r--arch/alpha/Kconfig1
-rw-r--r--arch/alpha/include/asm/8253pit.h3
-rw-r--r--arch/alpha/include/asm/atomic.h12
-rw-r--r--arch/alpha/include/asm/bitops.h3
-rw-r--r--arch/alpha/include/asm/floppy.h2
-rw-r--r--arch/alpha/include/asm/local.h2
-rw-r--r--arch/alpha/include/asm/ptrace.h1
-rw-r--r--arch/alpha/kernel/module.c34
-rw-r--r--arch/alpha/kernel/perf_event.c4
-rw-r--r--arch/alpha/kernel/process.c1
-rw-r--r--arch/alpha/kernel/smp.c2
-rw-r--r--arch/alpha/kernel/sys_alcor.c2
-rw-r--r--arch/alpha/kernel/sys_cabriolet.c6
-rw-r--r--arch/alpha/kernel/sys_dp264.c8
-rw-r--r--arch/alpha/kernel/sys_eb64p.c2
-rw-r--r--arch/alpha/kernel/sys_eiger.c2
-rw-r--r--arch/alpha/kernel/sys_marvel.c2
-rw-r--r--arch/alpha/kernel/sys_miata.c2
-rw-r--r--arch/alpha/kernel/sys_mikasa.c2
-rw-r--r--arch/alpha/kernel/sys_nautilus.c2
-rw-r--r--arch/alpha/kernel/sys_noritake.c2
-rw-r--r--arch/alpha/kernel/sys_rawhide.c2
-rw-r--r--arch/alpha/kernel/sys_ruffian.c3
-rw-r--r--arch/alpha/kernel/sys_rx164.c2
-rw-r--r--arch/alpha/kernel/sys_sable.c4
-rw-r--r--arch/alpha/kernel/sys_sio.c4
-rw-r--r--arch/alpha/kernel/sys_sx164.c2
-rw-r--r--arch/alpha/kernel/sys_takara.c4
-rw-r--r--arch/alpha/kernel/sys_titan.c2
-rw-r--r--arch/alpha/kernel/sys_wildfire.c2
-rw-r--r--arch/alpha/kernel/time.c3
-rw-r--r--arch/alpha/lib/dec_and_lock.c2
32 files changed, 41 insertions, 84 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 23f8d8c32886..60cde53d266c 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -6,6 +6,7 @@ config ALPHA
6 select HAVE_OPROFILE 6 select HAVE_OPROFILE
7 select HAVE_SYSCALL_WRAPPERS 7 select HAVE_SYSCALL_WRAPPERS
8 select HAVE_IRQ_WORK 8 select HAVE_IRQ_WORK
9 select HAVE_PCSPKR_PLATFORM
9 select HAVE_PERF_EVENTS 10 select HAVE_PERF_EVENTS
10 select HAVE_DMA_ATTRS 11 select HAVE_DMA_ATTRS
11 select HAVE_GENERIC_HARDIRQS 12 select HAVE_GENERIC_HARDIRQS
diff --git a/arch/alpha/include/asm/8253pit.h b/arch/alpha/include/asm/8253pit.h
deleted file mode 100644
index a71c9c1455a7..000000000000
--- a/arch/alpha/include/asm/8253pit.h
+++ /dev/null
@@ -1,3 +0,0 @@
1/*
2 * 8253/8254 Programmable Interval Timer
3 */
diff --git a/arch/alpha/include/asm/atomic.h b/arch/alpha/include/asm/atomic.h
index e756d04b6cd5..640f909ddd41 100644
--- a/arch/alpha/include/asm/atomic.h
+++ b/arch/alpha/include/asm/atomic.h
@@ -176,15 +176,15 @@ static __inline__ long atomic64_sub_return(long i, atomic64_t * v)
176#define atomic_xchg(v, new) (xchg(&((v)->counter), new)) 176#define atomic_xchg(v, new) (xchg(&((v)->counter), new))
177 177
178/** 178/**
179 * atomic_add_unless - add unless the number is a given value 179 * __atomic_add_unless - add unless the number is a given value
180 * @v: pointer of type atomic_t 180 * @v: pointer of type atomic_t
181 * @a: the amount to add to v... 181 * @a: the amount to add to v...
182 * @u: ...unless v is equal to u. 182 * @u: ...unless v is equal to u.
183 * 183 *
184 * Atomically adds @a to @v, so long as it was not @u. 184 * Atomically adds @a to @v, so long as it was not @u.
185 * Returns non-zero if @v was not @u, and zero otherwise. 185 * Returns the old value of @v.
186 */ 186 */
187static __inline__ int atomic_add_unless(atomic_t *v, int a, int u) 187static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u)
188{ 188{
189 int c, old; 189 int c, old;
190 c = atomic_read(v); 190 c = atomic_read(v);
@@ -196,10 +196,9 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u)
196 break; 196 break;
197 c = old; 197 c = old;
198 } 198 }
199 return c != (u); 199 return c;
200} 200}
201 201
202#define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0)
203 202
204/** 203/**
205 * atomic64_add_unless - add unless the number is a given value 204 * atomic64_add_unless - add unless the number is a given value
@@ -208,7 +207,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u)
208 * @u: ...unless v is equal to u. 207 * @u: ...unless v is equal to u.
209 * 208 *
210 * Atomically adds @a to @v, so long as it was not @u. 209 * Atomically adds @a to @v, so long as it was not @u.
211 * Returns non-zero if @v was not @u, and zero otherwise. 210 * Returns the old value of @v.
212 */ 211 */
213static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u) 212static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
214{ 213{
@@ -256,5 +255,4 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
256#define smp_mb__before_atomic_inc() smp_mb() 255#define smp_mb__before_atomic_inc() smp_mb()
257#define smp_mb__after_atomic_inc() smp_mb() 256#define smp_mb__after_atomic_inc() smp_mb()
258 257
259#include <asm-generic/atomic-long.h>
260#endif /* _ALPHA_ATOMIC_H */ 258#endif /* _ALPHA_ATOMIC_H */
diff --git a/arch/alpha/include/asm/bitops.h b/arch/alpha/include/asm/bitops.h
index 85b815215776..a19ba5efea4c 100644
--- a/arch/alpha/include/asm/bitops.h
+++ b/arch/alpha/include/asm/bitops.h
@@ -456,8 +456,7 @@ sched_find_first_bit(const unsigned long b[2])
456 456
457#include <asm-generic/bitops/le.h> 457#include <asm-generic/bitops/le.h>
458 458
459#define ext2_set_bit_atomic(l,n,a) test_and_set_bit(n,a) 459#include <asm-generic/bitops/ext2-atomic-setbit.h>
460#define ext2_clear_bit_atomic(l,n,a) test_and_clear_bit(n,a)
461 460
462#endif /* __KERNEL__ */ 461#endif /* __KERNEL__ */
463 462
diff --git a/arch/alpha/include/asm/floppy.h b/arch/alpha/include/asm/floppy.h
index 0be50413b2b5..46cefbd50e73 100644
--- a/arch/alpha/include/asm/floppy.h
+++ b/arch/alpha/include/asm/floppy.h
@@ -27,7 +27,7 @@
27#define fd_cacheflush(addr,size) /* nothing */ 27#define fd_cacheflush(addr,size) /* nothing */
28#define fd_request_irq() request_irq(FLOPPY_IRQ, floppy_interrupt,\ 28#define fd_request_irq() request_irq(FLOPPY_IRQ, floppy_interrupt,\
29 IRQF_DISABLED, "floppy", NULL) 29 IRQF_DISABLED, "floppy", NULL)
30#define fd_free_irq() free_irq(FLOPPY_IRQ, NULL); 30#define fd_free_irq() free_irq(FLOPPY_IRQ, NULL)
31 31
32#ifdef CONFIG_PCI 32#ifdef CONFIG_PCI
33 33
diff --git a/arch/alpha/include/asm/local.h b/arch/alpha/include/asm/local.h
index b9e3e3318371..9c94b8456043 100644
--- a/arch/alpha/include/asm/local.h
+++ b/arch/alpha/include/asm/local.h
@@ -2,7 +2,7 @@
2#define _ALPHA_LOCAL_H 2#define _ALPHA_LOCAL_H
3 3
4#include <linux/percpu.h> 4#include <linux/percpu.h>
5#include <asm/atomic.h> 5#include <linux/atomic.h>
6 6
7typedef struct 7typedef struct
8{ 8{
diff --git a/arch/alpha/include/asm/ptrace.h b/arch/alpha/include/asm/ptrace.h
index 65cf3e28e2f4..fd698a174f26 100644
--- a/arch/alpha/include/asm/ptrace.h
+++ b/arch/alpha/include/asm/ptrace.h
@@ -72,7 +72,6 @@ struct switch_stack {
72#define user_mode(regs) (((regs)->ps & 8) != 0) 72#define user_mode(regs) (((regs)->ps & 8) != 0)
73#define instruction_pointer(regs) ((regs)->pc) 73#define instruction_pointer(regs) ((regs)->pc)
74#define profile_pc(regs) instruction_pointer(regs) 74#define profile_pc(regs) instruction_pointer(regs)
75extern void show_regs(struct pt_regs *);
76 75
77#define task_pt_regs(task) \ 76#define task_pt_regs(task) \
78 ((struct pt_regs *) (task_stack_page(task) + 2*PAGE_SIZE) - 1) 77 ((struct pt_regs *) (task_stack_page(task) + 2*PAGE_SIZE) - 1)
diff --git a/arch/alpha/kernel/module.c b/arch/alpha/kernel/module.c
index ebc3c894b5a2..2fd00b7077e4 100644
--- a/arch/alpha/kernel/module.c
+++ b/arch/alpha/kernel/module.c
@@ -29,20 +29,6 @@
29#define DEBUGP(fmt...) 29#define DEBUGP(fmt...)
30#endif 30#endif
31 31
32void *
33module_alloc(unsigned long size)
34{
35 if (size == 0)
36 return NULL;
37 return vmalloc(size);
38}
39
40void
41module_free(struct module *mod, void *module_region)
42{
43 vfree(module_region);
44}
45
46/* Allocate the GOT at the end of the core sections. */ 32/* Allocate the GOT at the end of the core sections. */
47 33
48struct got_entry { 34struct got_entry {
@@ -156,14 +142,6 @@ module_frob_arch_sections(Elf64_Ehdr *hdr, Elf64_Shdr *sechdrs,
156} 142}
157 143
158int 144int
159apply_relocate(Elf64_Shdr *sechdrs, const char *strtab, unsigned int symindex,
160 unsigned int relsec, struct module *me)
161{
162 printk(KERN_ERR "module %s: REL relocation unsupported\n", me->name);
163 return -ENOEXEC;
164}
165
166int
167apply_relocate_add(Elf64_Shdr *sechdrs, const char *strtab, 145apply_relocate_add(Elf64_Shdr *sechdrs, const char *strtab,
168 unsigned int symindex, unsigned int relsec, 146 unsigned int symindex, unsigned int relsec,
169 struct module *me) 147 struct module *me)
@@ -302,15 +280,3 @@ apply_relocate_add(Elf64_Shdr *sechdrs, const char *strtab,
302 280
303 return 0; 281 return 0;
304} 282}
305
306int
307module_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs,
308 struct module *me)
309{
310 return 0;
311}
312
313void
314module_arch_cleanup(struct module *mod)
315{
316}
diff --git a/arch/alpha/kernel/perf_event.c b/arch/alpha/kernel/perf_event.c
index 90561c45e7d8..8143cd7cdbfb 100644
--- a/arch/alpha/kernel/perf_event.c
+++ b/arch/alpha/kernel/perf_event.c
@@ -17,7 +17,7 @@
17#include <linux/init.h> 17#include <linux/init.h>
18 18
19#include <asm/hwrpb.h> 19#include <asm/hwrpb.h>
20#include <asm/atomic.h> 20#include <linux/atomic.h>
21#include <asm/irq.h> 21#include <asm/irq.h>
22#include <asm/irq_regs.h> 22#include <asm/irq_regs.h>
23#include <asm/pal.h> 23#include <asm/pal.h>
@@ -847,7 +847,7 @@ static void alpha_perf_event_irq_handler(unsigned long la_ptr,
847 data.period = event->hw.last_period; 847 data.period = event->hw.last_period;
848 848
849 if (alpha_perf_event_set_period(event, hwc, idx)) { 849 if (alpha_perf_event_set_period(event, hwc, idx)) {
850 if (perf_event_overflow(event, 1, &data, regs)) { 850 if (perf_event_overflow(event, &data, regs)) {
851 /* Interrupts coming too quickly; "throttle" the 851 /* Interrupts coming too quickly; "throttle" the
852 * counter, i.e., disable it for a little while. 852 * counter, i.e., disable it for a little while.
853 */ 853 */
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c
index 838eac128409..89bbe5b41145 100644
--- a/arch/alpha/kernel/process.c
+++ b/arch/alpha/kernel/process.c
@@ -200,7 +200,6 @@ show_regs(struct pt_regs *regs)
200void 200void
201start_thread(struct pt_regs * regs, unsigned long pc, unsigned long sp) 201start_thread(struct pt_regs * regs, unsigned long pc, unsigned long sp)
202{ 202{
203 set_fs(USER_DS);
204 regs->pc = pc; 203 regs->pc = pc;
205 regs->ps = 8; 204 regs->ps = 8;
206 wrusp(sp); 205 wrusp(sp);
diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c
index d739703608fc..4087a569b43b 100644
--- a/arch/alpha/kernel/smp.c
+++ b/arch/alpha/kernel/smp.c
@@ -31,7 +31,7 @@
31 31
32#include <asm/hwrpb.h> 32#include <asm/hwrpb.h>
33#include <asm/ptrace.h> 33#include <asm/ptrace.h>
34#include <asm/atomic.h> 34#include <linux/atomic.h>
35 35
36#include <asm/io.h> 36#include <asm/io.h>
37#include <asm/irq.h> 37#include <asm/irq.h>
diff --git a/arch/alpha/kernel/sys_alcor.c b/arch/alpha/kernel/sys_alcor.c
index 0e1439904cdb..8606d77e5163 100644
--- a/arch/alpha/kernel/sys_alcor.c
+++ b/arch/alpha/kernel/sys_alcor.c
@@ -183,7 +183,7 @@ alcor_init_irq(void)
183 */ 183 */
184 184
185static int __init 185static int __init
186alcor_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 186alcor_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
187{ 187{
188 static char irq_tab[7][5] __initdata = { 188 static char irq_tab[7][5] __initdata = {
189 /*INT INTA INTB INTC INTD */ 189 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_cabriolet.c b/arch/alpha/kernel/sys_cabriolet.c
index c8c112d51584..1029619fb6c0 100644
--- a/arch/alpha/kernel/sys_cabriolet.c
+++ b/arch/alpha/kernel/sys_cabriolet.c
@@ -175,7 +175,7 @@ pc164_init_irq(void)
175 */ 175 */
176 176
177static inline int __init 177static inline int __init
178eb66p_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 178eb66p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
179{ 179{
180 static char irq_tab[5][5] __initdata = { 180 static char irq_tab[5][5] __initdata = {
181 /*INT INTA INTB INTC INTD */ 181 /*INT INTA INTB INTC INTD */
@@ -205,7 +205,7 @@ eb66p_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
205 */ 205 */
206 206
207static inline int __init 207static inline int __init
208cabriolet_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 208cabriolet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
209{ 209{
210 static char irq_tab[5][5] __initdata = { 210 static char irq_tab[5][5] __initdata = {
211 /*INT INTA INTB INTC INTD */ 211 /*INT INTA INTB INTC INTD */
@@ -289,7 +289,7 @@ cia_cab_init_pci(void)
289 */ 289 */
290 290
291static inline int __init 291static inline int __init
292alphapc164_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 292alphapc164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
293{ 293{
294 static char irq_tab[7][5] __initdata = { 294 static char irq_tab[7][5] __initdata = {
295 /*INT INTA INTB INTC INTD */ 295 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_dp264.c b/arch/alpha/kernel/sys_dp264.c
index f8856829c22a..bb7f0c7cb17a 100644
--- a/arch/alpha/kernel/sys_dp264.c
+++ b/arch/alpha/kernel/sys_dp264.c
@@ -382,7 +382,7 @@ isa_irq_fixup(struct pci_dev *dev, int irq)
382} 382}
383 383
384static int __init 384static int __init
385dp264_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 385dp264_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
386{ 386{
387 static char irq_tab[6][5] __initdata = { 387 static char irq_tab[6][5] __initdata = {
388 /*INT INTA INTB INTC INTD */ 388 /*INT INTA INTB INTC INTD */
@@ -404,7 +404,7 @@ dp264_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
404} 404}
405 405
406static int __init 406static int __init
407monet_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 407monet_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
408{ 408{
409 static char irq_tab[13][5] __initdata = { 409 static char irq_tab[13][5] __initdata = {
410 /*INT INTA INTB INTC INTD */ 410 /*INT INTA INTB INTC INTD */
@@ -466,7 +466,7 @@ monet_swizzle(struct pci_dev *dev, u8 *pinp)
466} 466}
467 467
468static int __init 468static int __init
469webbrick_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 469webbrick_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
470{ 470{
471 static char irq_tab[13][5] __initdata = { 471 static char irq_tab[13][5] __initdata = {
472 /*INT INTA INTB INTC INTD */ 472 /*INT INTA INTB INTC INTD */
@@ -488,7 +488,7 @@ webbrick_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
488} 488}
489 489
490static int __init 490static int __init
491clipper_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 491clipper_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
492{ 492{
493 static char irq_tab[7][5] __initdata = { 493 static char irq_tab[7][5] __initdata = {
494 /*INT INTA INTB INTC INTD */ 494 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_eb64p.c b/arch/alpha/kernel/sys_eb64p.c
index a7a23b40eec5..3c6c13cd8b19 100644
--- a/arch/alpha/kernel/sys_eb64p.c
+++ b/arch/alpha/kernel/sys_eb64p.c
@@ -169,7 +169,7 @@ eb64p_init_irq(void)
169 */ 169 */
170 170
171static int __init 171static int __init
172eb64p_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 172eb64p_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
173{ 173{
174 static char irq_tab[5][5] __initdata = { 174 static char irq_tab[5][5] __initdata = {
175 /*INT INTA INTB INTC INTD */ 175 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_eiger.c b/arch/alpha/kernel/sys_eiger.c
index a60cd5b2621e..35f480db7719 100644
--- a/arch/alpha/kernel/sys_eiger.c
+++ b/arch/alpha/kernel/sys_eiger.c
@@ -144,7 +144,7 @@ eiger_init_irq(void)
144} 144}
145 145
146static int __init 146static int __init
147eiger_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 147eiger_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
148{ 148{
149 u8 irq_orig; 149 u8 irq_orig;
150 150
diff --git a/arch/alpha/kernel/sys_marvel.c b/arch/alpha/kernel/sys_marvel.c
index 388b99d1779d..95cfc83ece8f 100644
--- a/arch/alpha/kernel/sys_marvel.c
+++ b/arch/alpha/kernel/sys_marvel.c
@@ -318,7 +318,7 @@ marvel_init_irq(void)
318} 318}
319 319
320static int 320static int
321marvel_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 321marvel_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
322{ 322{
323 struct pci_controller *hose = dev->sysdata; 323 struct pci_controller *hose = dev->sysdata;
324 struct io7_port *io7_port = hose->sysdata; 324 struct io7_port *io7_port = hose->sysdata;
diff --git a/arch/alpha/kernel/sys_miata.c b/arch/alpha/kernel/sys_miata.c
index 61ccd95579ec..258da684670b 100644
--- a/arch/alpha/kernel/sys_miata.c
+++ b/arch/alpha/kernel/sys_miata.c
@@ -151,7 +151,7 @@ miata_init_irq(void)
151 */ 151 */
152 152
153static int __init 153static int __init
154miata_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 154miata_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
155{ 155{
156 static char irq_tab[18][5] __initdata = { 156 static char irq_tab[18][5] __initdata = {
157 /*INT INTA INTB INTC INTD */ 157 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_mikasa.c b/arch/alpha/kernel/sys_mikasa.c
index 0e6e4697a025..c0fd7284dec3 100644
--- a/arch/alpha/kernel/sys_mikasa.c
+++ b/arch/alpha/kernel/sys_mikasa.c
@@ -146,7 +146,7 @@ mikasa_init_irq(void)
146 */ 146 */
147 147
148static int __init 148static int __init
149mikasa_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 149mikasa_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
150{ 150{
151 static char irq_tab[8][5] __initdata = { 151 static char irq_tab[8][5] __initdata = {
152 /*INT INTA INTB INTC INTD */ 152 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_nautilus.c b/arch/alpha/kernel/sys_nautilus.c
index 99c0f46f6b9c..4112200307c7 100644
--- a/arch/alpha/kernel/sys_nautilus.c
+++ b/arch/alpha/kernel/sys_nautilus.c
@@ -65,7 +65,7 @@ nautilus_init_irq(void)
65} 65}
66 66
67static int __init 67static int __init
68nautilus_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 68nautilus_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
69{ 69{
70 /* Preserve the IRQ set up by the console. */ 70 /* Preserve the IRQ set up by the console. */
71 71
diff --git a/arch/alpha/kernel/sys_noritake.c b/arch/alpha/kernel/sys_noritake.c
index a00ac7087167..21725283cdd7 100644
--- a/arch/alpha/kernel/sys_noritake.c
+++ b/arch/alpha/kernel/sys_noritake.c
@@ -194,7 +194,7 @@ noritake_init_irq(void)
194 */ 194 */
195 195
196static int __init 196static int __init
197noritake_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 197noritake_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
198{ 198{
199 static char irq_tab[15][5] __initdata = { 199 static char irq_tab[15][5] __initdata = {
200 /*INT INTA INTB INTC INTD */ 200 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_rawhide.c b/arch/alpha/kernel/sys_rawhide.c
index 7f52161f3d88..a125d6bea7e1 100644
--- a/arch/alpha/kernel/sys_rawhide.c
+++ b/arch/alpha/kernel/sys_rawhide.c
@@ -223,7 +223,7 @@ rawhide_init_irq(void)
223 */ 223 */
224 224
225static int __init 225static int __init
226rawhide_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 226rawhide_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
227{ 227{
228 static char irq_tab[5][5] __initdata = { 228 static char irq_tab[5][5] __initdata = {
229 /*INT INTA INTB INTC INTD */ 229 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_ruffian.c b/arch/alpha/kernel/sys_ruffian.c
index 8de1046fe91e..2581cbec6fc2 100644
--- a/arch/alpha/kernel/sys_ruffian.c
+++ b/arch/alpha/kernel/sys_ruffian.c
@@ -26,7 +26,6 @@
26#include <asm/pgtable.h> 26#include <asm/pgtable.h>
27#include <asm/core_cia.h> 27#include <asm/core_cia.h>
28#include <asm/tlbflush.h> 28#include <asm/tlbflush.h>
29#include <asm/8253pit.h>
30 29
31#include "proto.h" 30#include "proto.h"
32#include "irq_impl.h" 31#include "irq_impl.h"
@@ -120,7 +119,7 @@ ruffian_kill_arch (int mode)
120 */ 119 */
121 120
122static int __init 121static int __init
123ruffian_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 122ruffian_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
124{ 123{
125 static char irq_tab[11][5] __initdata = { 124 static char irq_tab[11][5] __initdata = {
126 /*INT INTA INTB INTC INTD */ 125 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_rx164.c b/arch/alpha/kernel/sys_rx164.c
index 216d94d9c0c1..b172b27555a7 100644
--- a/arch/alpha/kernel/sys_rx164.c
+++ b/arch/alpha/kernel/sys_rx164.c
@@ -144,7 +144,7 @@ rx164_init_irq(void)
144 */ 144 */
145 145
146static int __init 146static int __init
147rx164_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 147rx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
148{ 148{
149#if 0 149#if 0
150 static char irq_tab_pass1[6][5] __initdata = { 150 static char irq_tab_pass1[6][5] __initdata = {
diff --git a/arch/alpha/kernel/sys_sable.c b/arch/alpha/kernel/sys_sable.c
index da714e427c5f..98d1dbffe98f 100644
--- a/arch/alpha/kernel/sys_sable.c
+++ b/arch/alpha/kernel/sys_sable.c
@@ -194,7 +194,7 @@ sable_init_irq(void)
194 */ 194 */
195 195
196static int __init 196static int __init
197sable_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 197sable_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
198{ 198{
199 static char irq_tab[9][5] __initdata = { 199 static char irq_tab[9][5] __initdata = {
200 /*INT INTA INTB INTC INTD */ 200 /*INT INTA INTB INTC INTD */
@@ -376,7 +376,7 @@ lynx_init_irq(void)
376 */ 376 */
377 377
378static int __init 378static int __init
379lynx_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 379lynx_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
380{ 380{
381 static char irq_tab[19][5] __initdata = { 381 static char irq_tab[19][5] __initdata = {
382 /*INT INTA INTB INTC INTD */ 382 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_sio.c b/arch/alpha/kernel/sys_sio.c
index 85b4aea01ef8..47bec1e97d1c 100644
--- a/arch/alpha/kernel/sys_sio.c
+++ b/arch/alpha/kernel/sys_sio.c
@@ -146,7 +146,7 @@ sio_fixup_irq_levels(unsigned int level_bits)
146} 146}
147 147
148static inline int __init 148static inline int __init
149noname_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 149noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
150{ 150{
151 /* 151 /*
152 * The Noname board has 5 PCI slots with each of the 4 152 * The Noname board has 5 PCI slots with each of the 4
@@ -185,7 +185,7 @@ noname_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
185} 185}
186 186
187static inline int __init 187static inline int __init
188p2k_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 188p2k_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
189{ 189{
190 static char irq_tab[][5] __initdata = { 190 static char irq_tab[][5] __initdata = {
191 /*INT A B C D */ 191 /*INT A B C D */
diff --git a/arch/alpha/kernel/sys_sx164.c b/arch/alpha/kernel/sys_sx164.c
index 41d4ad4c7c44..73e1c317afcb 100644
--- a/arch/alpha/kernel/sys_sx164.c
+++ b/arch/alpha/kernel/sys_sx164.c
@@ -95,7 +95,7 @@ sx164_init_irq(void)
95 */ 95 */
96 96
97static int __init 97static int __init
98sx164_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 98sx164_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
99{ 99{
100 static char irq_tab[5][5] __initdata = { 100 static char irq_tab[5][5] __initdata = {
101 /*INT INTA INTB INTC INTD */ 101 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/sys_takara.c b/arch/alpha/kernel/sys_takara.c
index a31f8cd9bd6b..2ae99ad6975e 100644
--- a/arch/alpha/kernel/sys_takara.c
+++ b/arch/alpha/kernel/sys_takara.c
@@ -157,7 +157,7 @@ takara_init_irq(void)
157 */ 157 */
158 158
159static int __init 159static int __init
160takara_map_irq_srm(struct pci_dev *dev, u8 slot, u8 pin) 160takara_map_irq_srm(const struct pci_dev *dev, u8 slot, u8 pin)
161{ 161{
162 static char irq_tab[15][5] __initdata = { 162 static char irq_tab[15][5] __initdata = {
163 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */ 163 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */
@@ -188,7 +188,7 @@ takara_map_irq_srm(struct pci_dev *dev, u8 slot, u8 pin)
188} 188}
189 189
190static int __init 190static int __init
191takara_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 191takara_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
192{ 192{
193 static char irq_tab[15][5] __initdata = { 193 static char irq_tab[15][5] __initdata = {
194 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */ 194 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */
diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c
index 6994407e242a..f47b30a2a117 100644
--- a/arch/alpha/kernel/sys_titan.c
+++ b/arch/alpha/kernel/sys_titan.c
@@ -305,7 +305,7 @@ titan_late_init(void)
305} 305}
306 306
307static int __devinit 307static int __devinit
308titan_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 308titan_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
309{ 309{
310 u8 intline; 310 u8 intline;
311 int irq; 311 int irq;
diff --git a/arch/alpha/kernel/sys_wildfire.c b/arch/alpha/kernel/sys_wildfire.c
index d92cdc715c65..17c85a65e7b0 100644
--- a/arch/alpha/kernel/sys_wildfire.c
+++ b/arch/alpha/kernel/sys_wildfire.c
@@ -290,7 +290,7 @@ wildfire_device_interrupt(unsigned long vector)
290 */ 290 */
291 291
292static int __init 292static int __init
293wildfire_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 293wildfire_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
294{ 294{
295 static char irq_tab[8][5] __initdata = { 295 static char irq_tab[8][5] __initdata = {
296 /*INT INTA INTB INTC INTD */ 296 /*INT INTA INTB INTC INTD */
diff --git a/arch/alpha/kernel/time.c b/arch/alpha/kernel/time.c
index 818e74ed45dc..e336694ca042 100644
--- a/arch/alpha/kernel/time.c
+++ b/arch/alpha/kernel/time.c
@@ -46,7 +46,6 @@
46#include <asm/uaccess.h> 46#include <asm/uaccess.h>
47#include <asm/io.h> 47#include <asm/io.h>
48#include <asm/hwrpb.h> 48#include <asm/hwrpb.h>
49#include <asm/8253pit.h>
50#include <asm/rtc.h> 49#include <asm/rtc.h>
51 50
52#include <linux/mc146818rtc.h> 51#include <linux/mc146818rtc.h>
@@ -91,7 +90,7 @@ DEFINE_PER_CPU(u8, irq_work_pending);
91#define test_irq_work_pending() __get_cpu_var(irq_work_pending) 90#define test_irq_work_pending() __get_cpu_var(irq_work_pending)
92#define clear_irq_work_pending() __get_cpu_var(irq_work_pending) = 0 91#define clear_irq_work_pending() __get_cpu_var(irq_work_pending) = 0
93 92
94void set_irq_work_pending(void) 93void arch_irq_work_raise(void)
95{ 94{
96 set_irq_work_pending_flag(); 95 set_irq_work_pending_flag();
97} 96}
diff --git a/arch/alpha/lib/dec_and_lock.c b/arch/alpha/lib/dec_and_lock.c
index 0f5520d2f45f..f9f5fe830e9f 100644
--- a/arch/alpha/lib/dec_and_lock.c
+++ b/arch/alpha/lib/dec_and_lock.c
@@ -6,7 +6,7 @@
6 */ 6 */
7 7
8#include <linux/spinlock.h> 8#include <linux/spinlock.h>
9#include <asm/atomic.h> 9#include <linux/atomic.h>
10 10
11 asm (".text \n\ 11 asm (".text \n\
12 .global _atomic_dec_and_lock \n\ 12 .global _atomic_dec_and_lock \n\