diff options
Diffstat (limited to 'arch/m68knommu')
-rw-r--r-- | arch/m68knommu/Kconfig | 8 | ||||
-rw-r--r-- | arch/m68knommu/kernel/time.c | 5 | ||||
-rw-r--r-- | arch/m68knommu/kernel/vmlinux.lds.S | 10 | ||||
-rw-r--r-- | arch/m68knommu/platform/5206/config.c | 2 | ||||
-rw-r--r-- | arch/m68knommu/platform/5206e/config.c | 2 | ||||
-rw-r--r-- | arch/m68knommu/platform/520x/config.c | 3 | ||||
-rw-r--r-- | arch/m68knommu/platform/523x/config.c | 2 | ||||
-rw-r--r-- | arch/m68knommu/platform/5249/config.c | 3 | ||||
-rw-r--r-- | arch/m68knommu/platform/5272/config.c | 2 | ||||
-rw-r--r-- | arch/m68knommu/platform/527x/config.c | 2 | ||||
-rw-r--r-- | arch/m68knommu/platform/528x/config.c | 2 | ||||
-rw-r--r-- | arch/m68knommu/platform/5307/config.c | 2 | ||||
-rw-r--r-- | arch/m68knommu/platform/5307/pit.c | 2 | ||||
-rw-r--r-- | arch/m68knommu/platform/5307/timers.c | 5 | ||||
-rw-r--r-- | arch/m68knommu/platform/532x/config.c | 2 | ||||
-rw-r--r-- | arch/m68knommu/platform/5407/config.c | 2 | ||||
-rw-r--r-- | arch/m68knommu/platform/68328/config.c | 2 |
17 files changed, 39 insertions, 17 deletions
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig index aa70dde54228..25993c2a8fbb 100644 --- a/arch/m68knommu/Kconfig +++ b/arch/m68knommu/Kconfig @@ -25,6 +25,14 @@ config RWSEM_XCHGADD_ALGORITHM bool default n +config ARCH_HAS_ILOG2_U32 + bool + default n + +config ARCH_HAS_ILOG2_U64 + bool + default n + config GENERIC_FIND_NEXT_BIT bool default y diff --git a/arch/m68knommu/kernel/time.c b/arch/m68knommu/kernel/time.c index 9226264abf1a..11ea217ed5cf 100644 --- a/arch/m68knommu/kernel/time.c +++ b/arch/m68knommu/kernel/time.c @@ -23,6 +23,7 @@ #include <asm/machdep.h> #include <asm/io.h> +#include <asm/irq_regs.h> #define TICK_SIZE (tick_nsec / 1000) @@ -38,7 +39,7 @@ static inline int set_rtc_mmss(unsigned long nowtime) * timer_interrupt() needs to keep up the real-time clock, * as well as call the "do_timer()" routine every clocktick */ -static irqreturn_t timer_interrupt(int irq, void *dummy, struct pt_regs * regs) +static irqreturn_t timer_interrupt(int irq, void *dummy) { /* last time the cmos clock got updated */ static long last_rtc_update=0; @@ -51,7 +52,7 @@ static irqreturn_t timer_interrupt(int irq, void *dummy, struct pt_regs * regs) do_timer(1); #ifndef CONFIG_SMP - update_process_times(user_mode(regs)); + update_process_times(user_mode(get_irq_regs())); #endif if (current->pid) profile_tick(CPU_PROFILING); diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S index 2b2a10da64a4..bfade20a9e5e 100644 --- a/arch/m68knommu/kernel/vmlinux.lds.S +++ b/arch/m68knommu/kernel/vmlinux.lds.S @@ -87,6 +87,16 @@ SECTIONS { *(__ksymtab_gpl) __stop___ksymtab_gpl = .; + /* Kernel symbol table: Normal unused symbols */ + __start___ksymtab_unused = .; + *(__ksymtab_unused) + __stop___ksymtab_unused = .; + + /* Kernel symbol table: GPL-only unused symbols */ + __start___ksymtab_unused_gpl = .; + *(__ksymtab_unused_gpl) + __stop___ksymtab_unused_gpl = .; + /* Kernel symbol table: GPL-future symbols */ __start___ksymtab_gpl_future = .; *(__ksymtab_gpl_future) diff --git a/arch/m68knommu/platform/5206/config.c b/arch/m68knommu/platform/5206/config.c index 34657f85e702..3343830aad10 100644 --- a/arch/m68knommu/platform/5206/config.c +++ b/arch/m68knommu/platform/5206/config.c @@ -26,7 +26,7 @@ /***************************************************************************/ void coldfire_tick(void); -void coldfire_timer_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); +void coldfire_timer_init(irq_handler_t handler); unsigned long coldfire_timer_offset(void); void coldfire_trap_init(void); void coldfire_reset(void); diff --git a/arch/m68knommu/platform/5206e/config.c b/arch/m68knommu/platform/5206e/config.c index 48e4d6266507..0f67320b4031 100644 --- a/arch/m68knommu/platform/5206e/config.c +++ b/arch/m68knommu/platform/5206e/config.c @@ -25,7 +25,7 @@ /***************************************************************************/ void coldfire_tick(void); -void coldfire_timer_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); +void coldfire_timer_init(irq_handler_t handler); unsigned long coldfire_timer_offset(void); void coldfire_trap_init(void); void coldfire_reset(void); diff --git a/arch/m68knommu/platform/520x/config.c b/arch/m68knommu/platform/520x/config.c index 823f561f35b0..58b2878deb61 100644 --- a/arch/m68knommu/platform/520x/config.c +++ b/arch/m68knommu/platform/520x/config.c @@ -13,6 +13,7 @@ #include <linux/kernel.h> #include <linux/param.h> +#include <linux/interrupt.h> #include <asm/machdep.h> #include <asm/dma.h> @@ -27,7 +28,7 @@ unsigned int dma_device_address[MAX_M68K_DMA_CHANNELS]; /***************************************************************************/ void coldfire_pit_tick(void); -void coldfire_pit_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); +void coldfire_pit_init(irq_handler_t handler); unsigned long coldfire_pit_offset(void); void coldfire_trap_init(void); void coldfire_reset(void); diff --git a/arch/m68knommu/platform/523x/config.c b/arch/m68knommu/platform/523x/config.c index 85de817e9ec5..9b054e6caee2 100644 --- a/arch/m68knommu/platform/523x/config.c +++ b/arch/m68knommu/platform/523x/config.c @@ -27,7 +27,7 @@ /***************************************************************************/ void coldfire_pit_tick(void); -void coldfire_pit_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); +void coldfire_pit_init(irq_handler_t handler); unsigned long coldfire_pit_offset(void); void coldfire_trap_init(void); void coldfire_reset(void); diff --git a/arch/m68knommu/platform/5249/config.c b/arch/m68knommu/platform/5249/config.c index 9d19d5bdb8af..d6706079d64a 100644 --- a/arch/m68knommu/platform/5249/config.c +++ b/arch/m68knommu/platform/5249/config.c @@ -12,6 +12,7 @@ #include <linux/sched.h> #include <linux/param.h> #include <linux/init.h> +#include <linux/interrupt.h> #include <asm/irq.h> #include <asm/dma.h> #include <asm/traps.h> @@ -24,7 +25,7 @@ /***************************************************************************/ void coldfire_tick(void); -void coldfire_timer_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); +void coldfire_timer_init(irq_handler_t handler); unsigned long coldfire_timer_offset(void); void coldfire_trap_init(void); void coldfire_reset(void); diff --git a/arch/m68knommu/platform/5272/config.c b/arch/m68knommu/platform/5272/config.c index d500e27eda57..6b437cc97776 100644 --- a/arch/m68knommu/platform/5272/config.c +++ b/arch/m68knommu/platform/5272/config.c @@ -26,7 +26,7 @@ /***************************************************************************/ void coldfire_tick(void); -void coldfire_timer_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); +void coldfire_timer_init(irq_handler_t handler); unsigned long coldfire_timer_offset(void); void coldfire_trap_init(void); void coldfire_reset(void); diff --git a/arch/m68knommu/platform/527x/config.c b/arch/m68knommu/platform/527x/config.c index bbae51597457..28e7d964eef1 100644 --- a/arch/m68knommu/platform/527x/config.c +++ b/arch/m68knommu/platform/527x/config.c @@ -27,7 +27,7 @@ /***************************************************************************/ void coldfire_pit_tick(void); -void coldfire_pit_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); +void coldfire_pit_init(irq_handler_t handler); unsigned long coldfire_pit_offset(void); void coldfire_trap_init(void); void coldfire_reset(void); diff --git a/arch/m68knommu/platform/528x/config.c b/arch/m68knommu/platform/528x/config.c index 18dad9046144..805b4f74ff19 100644 --- a/arch/m68knommu/platform/528x/config.c +++ b/arch/m68knommu/platform/528x/config.c @@ -27,7 +27,7 @@ /***************************************************************************/ void coldfire_pit_tick(void); -void coldfire_pit_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); +void coldfire_pit_init(irq_handler_t handler); unsigned long coldfire_pit_offset(void); void coldfire_trap_init(void); void coldfire_reset(void); diff --git a/arch/m68knommu/platform/5307/config.c b/arch/m68knommu/platform/5307/config.c index 8074ac56f479..e04b84deb57d 100644 --- a/arch/m68knommu/platform/5307/config.c +++ b/arch/m68knommu/platform/5307/config.c @@ -27,7 +27,7 @@ /***************************************************************************/ void coldfire_tick(void); -void coldfire_timer_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); +void coldfire_timer_init(irq_handler_t handler); unsigned long coldfire_timer_offset(void); void coldfire_trap_init(void); void coldfire_reset(void); diff --git a/arch/m68knommu/platform/5307/pit.c b/arch/m68knommu/platform/5307/pit.c index 9dc5688f71b5..aa15beeb36ca 100644 --- a/arch/m68knommu/platform/5307/pit.c +++ b/arch/m68knommu/platform/5307/pit.c @@ -43,7 +43,7 @@ void coldfire_pit_tick(void) /***************************************************************************/ -void coldfire_pit_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)) +void coldfire_pit_init(irq_handler_t handler) { volatile unsigned char *icrp; volatile unsigned long *imrp; diff --git a/arch/m68knommu/platform/5307/timers.c b/arch/m68knommu/platform/5307/timers.c index e5668af19789..87b112b363a6 100644 --- a/arch/m68knommu/platform/5307/timers.c +++ b/arch/m68knommu/platform/5307/timers.c @@ -62,7 +62,7 @@ void coldfire_tick(void) /***************************************************************************/ -void coldfire_timer_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)) +void coldfire_timer_init(irq_handler_t handler) { __raw_writew(MCFTIMER_TMR_DISABLE, TA(MCFTIMER_TMR)); __raw_writetrr(((MCF_BUSCLK / 16) / HZ), TA(MCFTIMER_TRR)); @@ -111,12 +111,13 @@ unsigned long coldfire_timer_offset(void) /* * Use the other timer to provide high accuracy profiling info. */ -void coldfire_profile_tick(int irq, void *dummy, struct pt_regs *regs) +irqreturn_t coldfire_profile_tick(int irq, void *dummy) { /* Reset ColdFire timer2 */ __raw_writeb(MCFTIMER_TER_CAP | MCFTIMER_TER_REF, PA(MCFTIMER_TER)); if (current->pid) profile_tick(CPU_PROFILING, regs); + return IRQ_HANDLED; } /***************************************************************************/ diff --git a/arch/m68knommu/platform/532x/config.c b/arch/m68knommu/platform/532x/config.c index c7d6ad513820..664c3a12b0c1 100644 --- a/arch/m68knommu/platform/532x/config.c +++ b/arch/m68knommu/platform/532x/config.c @@ -35,7 +35,7 @@ /***************************************************************************/ void coldfire_tick(void); -void coldfire_timer_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); +void coldfire_timer_init(irq_handler_t handler); unsigned long coldfire_timer_offset(void); void coldfire_trap_init(void); void coldfire_reset(void); diff --git a/arch/m68knommu/platform/5407/config.c b/arch/m68knommu/platform/5407/config.c index 5aad2645f0f1..036f62876241 100644 --- a/arch/m68knommu/platform/5407/config.c +++ b/arch/m68knommu/platform/5407/config.c @@ -26,7 +26,7 @@ /***************************************************************************/ void coldfire_tick(void); -void coldfire_timer_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); +void coldfire_timer_init(irq_handler_t handler); unsigned long coldfire_timer_offset(void); void coldfire_trap_init(void); void coldfire_reset(void); diff --git a/arch/m68knommu/platform/68328/config.c b/arch/m68knommu/platform/68328/config.c index 26ffeba28642..e5c537d14dfb 100644 --- a/arch/m68knommu/platform/68328/config.c +++ b/arch/m68knommu/platform/68328/config.c @@ -34,7 +34,7 @@ /***************************************************************************/ -void m68328_timer_init(irqreturn_t (*timer_routine) (int, void *, struct pt_regs *)); +void m68328_timer_init(irq_handler_t timer_routine); void m68328_timer_tick(void); unsigned long m68328_timer_gettimeoffset(void); void m68328_timer_gettod(int *year, int *mon, int *day, int *hour, int *min, int *sec); |