2005-11-13 07:41:45

by Christoph Hellwig

[permalink] [raw]
Subject: [PATCH] m68knommu: enable_irq/disable_irq

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)


2005-11-15 07:51:25

by Greg Ungerer

[permalink] [raw]
Subject: Re: [PATCH] m68knommu: enable_irq/disable_irq

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

2005-11-15 08:48:23

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] m68knommu: enable_irq/disable_irq

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.