Patchwork irq: remove obsolete definitions in interrupt.h

login
register
mail settings
Submitter Sam Ravnborg
Date April 4, 2012, 7:45 a.m.
Message ID <20120404074553.GA14959@merkur.ravnborg.org>
Download mbox | patch
Permalink /patch/150622/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Sam Ravnborg - April 4, 2012, 7:45 a.m.
interrupt.h contained a small fixlet for the days when
m68k and sparc32 did not use genirq.
As they have both entered the modern world this
fixlet can be dropped.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Greg Ungerer <gerg@uclinux.org>
Cc: "David S. Miller" <davem@davemloft.net>
---


--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - April 4, 2012, 7:52 a.m.
From: Sam Ravnborg <sam@ravnborg.org>
Date: Wed, 4 Apr 2012 09:45:54 +0200

> interrupt.h contained a small fixlet for the days when
> m68k and sparc32 did not use genirq.
> As they have both entered the modern world this
> fixlet can be dropped.
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Acked-by: David S. Miller <davem@davemloft.net>
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Greg Ungerer - April 4, 2012, 11:47 a.m.
On 04/04/2012 05:45 PM, Sam Ravnborg wrote:
> interrupt.h contained a small fixlet for the days when
> m68k and sparc32 did not use genirq.
> As they have both entered the modern world this
> fixlet can be dropped.
>
> Signed-off-by: Sam Ravnborg<sam@ravnborg.org>
> Cc: Geert Uytterhoeven<geert@linux-m68k.org>
> Cc: Greg Ungerer<gerg@uclinux.org>

Acked-by: Greg Ungerer <gerg@uclinux.org>


> Cc: "David S. Miller"<davem@davemloft.net>
> ---
>
> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
> index 2aea5d2..3848176 100644
> --- a/include/linux/interrupt.h
> +++ b/include/linux/interrupt.h
> @@ -122,7 +122,6 @@ struct irqaction {
>
>   extern irqreturn_t no_action(int cpl, void *dev_id);
>
> -#ifdef CONFIG_GENERIC_HARDIRQS
>   extern int __must_check
>   request_threaded_irq(unsigned int irq, irq_handler_t handler,
>   		     irq_handler_t thread_fn,
> @@ -144,42 +143,6 @@ request_percpu_irq(unsigned int irq, irq_handler_t handler,
>   		   const char *devname, void __percpu *percpu_dev_id);
>
>   extern void exit_irq_thread(void);
> -#else
> -
> -extern int __must_check
> -request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,
> -	    const char *name, void *dev);
> -
> -/*
> - * Special function to avoid ifdeffery in kernel/irq/devres.c which
> - * gets magically built by GENERIC_HARDIRQS=n architectures (sparc,
> - * m68k). I really love these $@%#!* obvious Makefile references:
> - * ../../../kernel/irq/devres.o
> - */
> -static inline int __must_check
> -request_threaded_irq(unsigned int irq, irq_handler_t handler,
> -		     irq_handler_t thread_fn,
> -		     unsigned long flags, const char *name, void *dev)
> -{
> -	return request_irq(irq, handler, flags, name, dev);
> -}
> -
> -static inline int __must_check
> -request_any_context_irq(unsigned int irq, irq_handler_t handler,
> -			unsigned long flags, const char *name, void *dev_id)
> -{
> -	return request_irq(irq, handler, flags, name, dev_id);
> -}
> -
> -static inline int __must_check
> -request_percpu_irq(unsigned int irq, irq_handler_t handler,
> -		   const char *devname, void __percpu *percpu_dev_id)
> -{
> -	return request_irq(irq, handler, 0, devname, percpu_dev_id);
> -}
> -
> -static inline void exit_irq_thread(void) { }
> -#endif
>
>   extern void free_irq(unsigned int, void *);
>   extern void free_percpu_irq(unsigned int, void __percpu *);
>
>
>
>
Geert Uytterhoeven - April 4, 2012, 5:44 p.m.
On Wed, Apr 4, 2012 at 09:45, Sam Ravnborg <sam@ravnborg.org> wrote:
> interrupt.h contained a small fixlet for the days when
> m68k and sparc32 did not use genirq.
> As they have both entered the modern world this
> fixlet can be dropped.
>
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: Greg Ungerer <gerg@uclinux.org>
> Cc: "David S. Miller" <davem@davemloft.net>

Does this affect s390 (the sole !genirq arch) negatively?

If not:
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Thomas Gleixner - April 5, 2012, 8:43 a.m.
On Wed, 4 Apr 2012, Sam Ravnborg wrote:

> interrupt.h contained a small fixlet for the days when
> m68k and sparc32 did not use genirq.
> As they have both entered the modern world this
> fixlet can be dropped.

You forgot that there is still an esoteric architecture which has
CONFIG_GENERIC_HARDIRQS=n.

So at least the exit_irq_thread() needs to stay.

The request_threaded_irq() one should not be used by any S390
driver. If it's used, they have probably a special opcode for it. :)

Thanks,

	tglx

 
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sam Ravnborg - April 5, 2012, 10:56 a.m.
On Thu, Apr 05, 2012 at 10:43:12AM +0200, Thomas Gleixner wrote:
> On Wed, 4 Apr 2012, Sam Ravnborg wrote:
> 
> > interrupt.h contained a small fixlet for the days when
> > m68k and sparc32 did not use genirq.
> > As they have both entered the modern world this
> > fixlet can be dropped.
> 
> You forgot that there is still an esoteric architecture which has
> CONFIG_GENERIC_HARDIRQS=n.
Yup.

> 
> So at least the exit_irq_thread() needs to stay.
My grepping turn up no s390 users of this. But I may have missed it.

Anyway - take this as a reminder that there is an opportunity
to clean up after m68k + sparc32 got converted.

	Sam
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index 2aea5d2..3848176 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -122,7 +122,6 @@  struct irqaction {
 
 extern irqreturn_t no_action(int cpl, void *dev_id);
 
-#ifdef CONFIG_GENERIC_HARDIRQS
 extern int __must_check
 request_threaded_irq(unsigned int irq, irq_handler_t handler,
 		     irq_handler_t thread_fn,
@@ -144,42 +143,6 @@  request_percpu_irq(unsigned int irq, irq_handler_t handler,
 		   const char *devname, void __percpu *percpu_dev_id);
 
 extern void exit_irq_thread(void);
-#else
-
-extern int __must_check
-request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,
-	    const char *name, void *dev);
-
-/*
- * Special function to avoid ifdeffery in kernel/irq/devres.c which
- * gets magically built by GENERIC_HARDIRQS=n architectures (sparc,
- * m68k). I really love these $@%#!* obvious Makefile references:
- * ../../../kernel/irq/devres.o
- */
-static inline int __must_check
-request_threaded_irq(unsigned int irq, irq_handler_t handler,
-		     irq_handler_t thread_fn,
-		     unsigned long flags, const char *name, void *dev)
-{
-	return request_irq(irq, handler, flags, name, dev);
-}
-
-static inline int __must_check
-request_any_context_irq(unsigned int irq, irq_handler_t handler,
-			unsigned long flags, const char *name, void *dev_id)
-{
-	return request_irq(irq, handler, flags, name, dev_id);
-}
-
-static inline int __must_check
-request_percpu_irq(unsigned int irq, irq_handler_t handler,
-		   const char *devname, void __percpu *percpu_dev_id)
-{
-	return request_irq(irq, handler, 0, devname, percpu_dev_id);
-}
-
-static inline void exit_irq_thread(void) { }
-#endif
 
 extern void free_irq(unsigned int, void *);
 extern void free_percpu_irq(unsigned int, void __percpu *);