mach_enable_irq/mach_disable_irq are never actually set, so let's remove
them.
Btw, is it really intentionally that enable_irq/disable_irq are no-ops on
m68knommu?
Signed-off-by: Christoph Hellwig <[email protected]>
Index: linux-2.6/arch/m68knommu/kernel/m68k_ksyms.c
===================================================================
--- linux-2.6.orig/arch/m68knommu/kernel/m68k_ksyms.c 2005-10-31 12:23:08.000000000 +0100
+++ linux-2.6/arch/m68knommu/kernel/m68k_ksyms.c 2005-11-12 09:22:34.000000000 +0100
@@ -38,8 +38,6 @@
EXPORT_SYMBOL(ip_fast_csum);
-EXPORT_SYMBOL(mach_enable_irq);
-EXPORT_SYMBOL(mach_disable_irq);
EXPORT_SYMBOL(kernel_thread);
/* Networking helper routines. */
Index: linux-2.6/arch/m68knommu/kernel/setup.c
===================================================================
--- linux-2.6.orig/arch/m68knommu/kernel/setup.c 2005-11-07 21:30:08.000000000 +0100
+++ linux-2.6/arch/m68knommu/kernel/setup.c 2005-11-12 09:22:26.000000000 +0100
@@ -65,8 +65,6 @@
/* machine dependent irq functions */
void (*mach_init_IRQ) (void) = NULL;
irqreturn_t (*(*mach_default_handler)[]) (int, void *, struct pt_regs *) = NULL;
-void (*mach_enable_irq) (unsigned int) = NULL;
-void (*mach_disable_irq) (unsigned int) = NULL;
int (*mach_get_irq_list) (struct seq_file *, void *) = NULL;
void (*mach_process_int) (int irq, struct pt_regs *fp) = NULL;
void (*mach_trap_init) (void);
Index: linux-2.6/include/asm-m68knommu/irq.h
===================================================================
--- linux-2.6.orig/include/asm-m68knommu/irq.h 2005-11-07 21:30:09.000000000 +0100
+++ linux-2.6/include/asm-m68knommu/irq.h 2005-11-12 09:22:05.000000000 +0100
@@ -84,8 +84,8 @@
/*
* Some drivers want these entry points
*/
-#define enable_irq(x) (mach_enable_irq ? (*mach_enable_irq)(x) : 0)
-#define disable_irq(x) (mach_disable_irq ? (*mach_disable_irq)(x) : 0)
+#define enable_irq(x) 0
+#define disable_irq(x) do { } while (0)
#define enable_irq_nosync(x) enable_irq(x)
#define disable_irq_nosync(x) disable_irq(x)
Hi Christoph,
Christoph Hellwig wrote:
> mach_enable_irq/mach_disable_irq are never actually set, so let's remove
> them.
>
> Btw, is it really intentionally that enable_irq/disable_irq are no-ops on
> m68knommu?
No, I think they should be implemented. It would clean up some driver
irq ugliness in some of the m68knommu arch specific drivers.
Regards
Greg
> Signed-off-by: Christoph Hellwig <[email protected]>
>
> Index: linux-2.6/arch/m68knommu/kernel/m68k_ksyms.c
> ===================================================================
> --- linux-2.6.orig/arch/m68knommu/kernel/m68k_ksyms.c 2005-10-31 12:23:08.000000000 +0100
> +++ linux-2.6/arch/m68knommu/kernel/m68k_ksyms.c 2005-11-12 09:22:34.000000000 +0100
> @@ -38,8 +38,6 @@
>
> EXPORT_SYMBOL(ip_fast_csum);
>
> -EXPORT_SYMBOL(mach_enable_irq);
> -EXPORT_SYMBOL(mach_disable_irq);
> EXPORT_SYMBOL(kernel_thread);
>
> /* Networking helper routines. */
> Index: linux-2.6/arch/m68knommu/kernel/setup.c
> ===================================================================
> --- linux-2.6.orig/arch/m68knommu/kernel/setup.c 2005-11-07 21:30:08.000000000 +0100
> +++ linux-2.6/arch/m68knommu/kernel/setup.c 2005-11-12 09:22:26.000000000 +0100
> @@ -65,8 +65,6 @@
> /* machine dependent irq functions */
> void (*mach_init_IRQ) (void) = NULL;
> irqreturn_t (*(*mach_default_handler)[]) (int, void *, struct pt_regs *) = NULL;
> -void (*mach_enable_irq) (unsigned int) = NULL;
> -void (*mach_disable_irq) (unsigned int) = NULL;
> int (*mach_get_irq_list) (struct seq_file *, void *) = NULL;
> void (*mach_process_int) (int irq, struct pt_regs *fp) = NULL;
> void (*mach_trap_init) (void);
> Index: linux-2.6/include/asm-m68knommu/irq.h
> ===================================================================
> --- linux-2.6.orig/include/asm-m68knommu/irq.h 2005-11-07 21:30:09.000000000 +0100
> +++ linux-2.6/include/asm-m68knommu/irq.h 2005-11-12 09:22:05.000000000 +0100
> @@ -84,8 +84,8 @@
> /*
> * Some drivers want these entry points
> */
> -#define enable_irq(x) (mach_enable_irq ? (*mach_enable_irq)(x) : 0)
> -#define disable_irq(x) (mach_disable_irq ? (*mach_disable_irq)(x) : 0)
> +#define enable_irq(x) 0
> +#define disable_irq(x) do { } while (0)
>
> #define enable_irq_nosync(x) enable_irq(x)
> #define disable_irq_nosync(x) disable_irq(x)
>
--
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Dude EMAIL: [email protected]
SnapGear -- a CyberGuard Company PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
On Tue, Nov 15, 2005 at 05:52:08PM +1000, Greg Ungerer wrote:
> Hi Christoph,
>
> Christoph Hellwig wrote:
> >mach_enable_irq/mach_disable_irq are never actually set, so let's remove
> >them.
> >
> >Btw, is it really intentionally that enable_irq/disable_irq are no-ops on
> >m68knommu?
>
> No, I think they should be implemented. It would clean up some driver
> irq ugliness in some of the m68knommu arch specific drivers.
Any chance you could investigate using the kernel/irq/ framework for
m68knommu? It's one of the few architectures not using that code yet.