m68knommu: convert to asm-generic/hardirq.h
Subsystems (2)
PATCH 1/1 m68knommu: convert to asm-generic/hardirq.h
arch/m68k/include/asm/hardirq_no.h +3 -8
@@ -1,16 +1,8 @@#ifndef __M68K_HARDIRQ_H#define __M68K_HARDIRQ_H -#include <linux/cache.h> -#include <linux/threads.h> #include <asm/irq.h> -typedef struct { -unsigned int __softirq_pending; -}____cacheline_aligned irq_cpustat_t ; - -#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ -#define HARDIRQ_BITS 8/*
@@ -23,5 +15,8 @@ typedef struct {#endif void ack_bad_irq (unsigned int irq); +#define ack_bad_irq ack_bad_irq + +#include <asm-generic/hardirq.h> #endif /* __M68K_HARDIRQ_H */
arch/m68knommu/kernel/irq.c +0 -5
@@ -29,11 +29,6 @@ asmlinkage void do_IRQ(int irq, struct pset_irq_regs (oldregs); } -void ack_bad_irq (unsigned int irq) -{ -printk (KERN_ERR "IRQ: unexpected irq=%d\n" , irq); -} -static struct irq_chip m_irq_chip = { .name ="M68K-INTC" , .enable = enable_vector,
Hi Christoph,
Quoted 1 line · Christoph Hellwig
Signed-off-by Christoph Hellwig <[email protected]>
Thanks, I'll include that in my "for-linus" patches for the next merge window.
Regards
Greg
Quoted 47 lines
Index:
linux-2.6/arch/m68k/include/asm/hardirq_no.h
===================================================================arch/m68k/include/asm/hardirq_no.h +3
-8@@ -1,16 +1,8 @@#ifndef __M68K_HARDIRQ_H#define __M68K_HARDIRQ_H -#include <linux/cache.h> -#include <linux/threads.h> #include <asm/irq.h> -typedef struct { -unsigned int __softirq_pending; -}____cacheline_aligned irq_cpustat_t ; - -#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ -#define HARDIRQ_BITS 8/* @@ -23,5 +15,8 @@ typedef struct {#endif void ack_bad_irq (unsigned int irq); +#define ack_bad_irq ack_bad_irq + +#include <asm-generic/hardirq.h> #endif /* __M68K_HARDIRQ_H */ Index:
linux-2.6/arch/m68knommu/kernel/irq.c
===================================================================arch/m68knommu/kernel/irq.c +0
-5@@ -29,11 +29,6 @@ asmlinkage void do_IRQ(int irq, struct pset_irq_regs (oldregs); } -void ack_bad_irq (unsigned int irq) -{ -printk (KERN_ERR "IRQ: unexpected irq=%d\n" , irq); -} -static struct irq_chip m_irq_chip = { .name ="M68K-INTC" , .enable = enable_vector,
Signature · 5 lines
------------------------------------------------------------------------ Greg Ungerer -- Principal Engineer EMAIL: [email protected] SnapGear Group, McAfee PHONE: +61 7 3435 2888 825 Stanley St, FAX: +61 7 3891 3630 Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
Hi Christoph,
Quoted 1 line · Christoph Hellwig
Signed-off-by Christoph Hellwig <[email protected]>
Compile testing revealed:
LD vmlinuxkernel/built-in.o: In function `ack_bad':
handle.c:(.text+0x215f6): undefined reference to ack_bad_irq' kernel/built-in.o: In function handle_bad_irq':
(.text+0x219dc): undefined reference to `ack_bad_irq' make[2]: *** [vmlinux] Error 1
I did this to fix it:
arch/m68k/include/asm/hardirq_no.h +0 -3
@@ -14,9 +14,6 @@# error HARDIRQ_BITS is too low!#endif -void ack_bad_irq (unsigned int irq); -#define ack_bad_irq ack_bad_irq -#include <asm-generic/hardirq.h> #endif /* __M68K_HARDIRQ_H */
What do you think?
Regards
Greg
Quoted 47 lines
Index:
linux-2.6/arch/m68k/include/asm/hardirq_no.h
===================================================================arch/m68k/include/asm/hardirq_no.h +3
-8@@ -1,16 +1,8 @@#ifndef __M68K_HARDIRQ_H#define __M68K_HARDIRQ_H -#include <linux/cache.h> -#include <linux/threads.h> #include <asm/irq.h> -typedef struct { -unsigned int __softirq_pending; -}____cacheline_aligned irq_cpustat_t ; - -#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ -#define HARDIRQ_BITS 8/* @@ -23,5 +15,8 @@ typedef struct {#endif void ack_bad_irq (unsigned int irq); +#define ack_bad_irq ack_bad_irq + +#include <asm-generic/hardirq.h> #endif /* __M68K_HARDIRQ_H */ Index:
linux-2.6/arch/m68knommu/kernel/irq.c
===================================================================arch/m68knommu/kernel/irq.c +0
-5@@ -29,11 +29,6 @@ asmlinkage void do_IRQ(int irq, struct pset_irq_regs (oldregs); } -void ack_bad_irq (unsigned int irq) -{ -printk (KERN_ERR "IRQ: unexpected irq=%d\n" , irq); -} -static struct irq_chip m_irq_chip = { .name ="M68K-INTC" , .enable = enable_vector,
Signature · 5 lines
------------------------------------------------------------------------ Greg Ungerer -- Principal Engineer EMAIL: [email protected] SnapGear Group, McAfee PHONE: +61 7 3435 2888 825 Stanley St, FAX: +61 7 3891 3630 Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
Quoted 20 lines · Greg Ungerer
Hi Christoph,
Quoted 1 line · Christoph Hellwig
Signed-off-by Christoph Hellwig <[email protected]>Compile testing revealed:
LD vmlinux
kernel/built-in.o: In function `ack_bad':
handle.c:(.text+0x215f6): undefined reference toack_bad_irq' kernel/built-in.o: In functionhandle_bad_irq':
(.text+0x219dc): undefined reference to `ack_bad_irq' make[2]: *** [vmlinux] Error 1I did this to fix it:
arch/m68k/include/asm/hardirq_no.h line 19
Quoted 6 lines
arch/m68k/include/asm/hardirq_no.h +0
-3@@ -14,9 +14,6 @@# error HARDIRQ_BITS is too low!#endif -void ack_bad_irq (unsigned int irq); -#define ack_bad_irq ack_bad_irq -
Sorry. Yeah, m68knommu should use the default ack_bad_irq.