LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: tglx@linutronix.de
Cc: LKML <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH] Deprecate SA_xxx interrupt flags -V2
Date: Fri, 6 Apr 2007 12:22:28 -0700	[thread overview]
Message-ID: <20070406122228.3dc06c79.akpm@linux-foundation.org> (raw)
In-Reply-To: <1175867366.28263.454.camel@localhost.localdomain>

On Fri, 06 Apr 2007 15:49:26 +0200
Thomas Gleixner <tglx@linutronix.de> wrote:

> The deprecation of the SA_xxx interrupt flags did not emit deprecated
> warnings. Andrew said about the removal of the deprecated flag defines:
> 
> > This is going to break a lot of external stuff.  We should have found
> > a way to make usage of SA_* emit deprecated warnings (or _some_
> > warning) to warn people of impending doom.  But I can't immediately
> > find a way of doing that. if we _can_ find a way of doing this, I
> > suspect we'll need to do it, and give people another six months.  It's
> > going to get ugly out there.  We shall see...
> 
> Define the deprecated flags as a call to a __deprecated inline function
> so a warning is emitted on compile time.
> 
> Extend the reprieve of out of tree drivers to 9/2007.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---
> diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
> index 0bc8b0b..2a531ea 100644
> --- a/Documentation/feature-removal-schedule.txt
> +++ b/Documentation/feature-removal-schedule.txt
> @@ -171,7 +171,7 @@ Who:	Greg Kroah-Hartman <gregkh@suse.de>
>  ---------------------------
>  
>  What:	Interrupt only SA_* flags
> -When:	Januar 2007
> +When:	September 2007
>  Why:	The interrupt related SA_* flags are replaced by IRQF_* to move them
>  	out of the signal namespace.
>  
> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
> index 838cf5a..3a72071 100644
> --- a/include/linux/interrupt.h
> +++ b/include/linux/interrupt.h
> @@ -54,20 +54,26 @@
>  #define IRQF_NOBALANCING	0x00000800
>  
>  /*
> - * Migration helpers. Scheduled for removal in 1/2007
> + * Migration helpers. Scheduled for removal in 9/2007
>   * Do not use for new code !
>   */
> -#define SA_INTERRUPT		IRQF_DISABLED
> -#define SA_SAMPLE_RANDOM	IRQF_SAMPLE_RANDOM
> -#define SA_SHIRQ		IRQF_SHARED
> -#define SA_PROBEIRQ		IRQF_PROBE_SHARED
> -#define SA_PERCPU		IRQF_PERCPU
> -
> -#define SA_TRIGGER_LOW		IRQF_TRIGGER_LOW
> -#define SA_TRIGGER_HIGH		IRQF_TRIGGER_HIGH
> -#define SA_TRIGGER_FALLING	IRQF_TRIGGER_FALLING
> -#define SA_TRIGGER_RISING	IRQF_TRIGGER_RISING
> -#define SA_TRIGGER_MASK		IRQF_TRIGGER_MASK
> +static inline
> +unsigned long __deprecated deprecated_irq_flag(unsigned long flag)
> +{
> +	return flag;
> +}
> +
> +#define SA_INTERRUPT		deprecated_irq_flag(IRQF_DISABLED)
> +#define SA_SAMPLE_RANDOM	deprecated_irq_flag(IRQF_SAMPLE_RANDOM)
> +#define SA_SHIRQ		deprecated_irq_flag(IRQF_SHARED)
> +#define SA_PROBEIRQ		deprecated_irq_flag(IRQF_PROBE_SHARED)
> +#define SA_PERCPU		deprecated_irq_flag(IRQF_PERCPU)
> +
> +#define SA_TRIGGER_LOW		deprecated_irq_flag(IRQF_TRIGGER_LOW)
> +#define SA_TRIGGER_HIGH		deprecated_irq_flag(IRQF_TRIGGER_HIGH)
> +#define SA_TRIGGER_FALLING	deprecated_irq_flag(IRQF_TRIGGER_FALLING)
> +#define SA_TRIGGER_RISING	deprecated_irq_flag(IRQF_TRIGGER_RISING)
> +#define SA_TRIGGER_MASK		deprecated_irq_flag(IRQF_TRIGGER_MASK)
>  
>  typedef irqreturn_t (*irq_handler_t)(int, void *);
>  

Yeah.  I tried something like this and code broke.  For example,
arch/mips/sni/irq.c has

struct irqaction sni_isa_irq = {
	.handler = sni_isa_irq_handler,
	.name = "ISA",
	.flags = SA_SHIRQ
};

there are presumably only a few such stragglers left in the tree but there
are probably more instances out-of-tree.

But I think we should just apply your patch anyway.  Only a small
proportion of things will break and we do need to be rid of the old
definitions one day.

It would be great if someone could do another pass across the tree,
clean up the remaining SA_* usages.


  reply	other threads:[~2007-04-06 19:23 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-14  8:33 [patch 0/3] Scheduled removal of SA_xxx interrupt flags Thomas Gleixner
2007-01-14  8:33 ` [patch 1/3] " Thomas Gleixner
2007-01-23 20:02   ` Andrew Morton
2007-01-23 20:31     ` Thomas Gleixner
2007-04-06 13:49       ` [PATCH] Deprecate SA_xxx interrupt flags -V2 Thomas Gleixner
2007-04-06 19:22         ` Andrew Morton [this message]
2007-04-06 19:29           ` Ingo Molnar
2007-04-06 19:36           ` Thomas Gleixner
2007-04-06 20:03             ` [PATCH] Replace deprecated SA_xxx interrupt flags Thomas Gleixner
2007-04-06 20:08               ` [PATCH-mm] Replace more " Thomas Gleixner
2007-01-14  8:33 ` [patch 2/3] Scheduled removal of SA_xxx interrupt flags fixups Thomas Gleixner
2007-01-14 12:42   ` Ingo Molnar
2007-01-14 14:25     ` Thomas Gleixner
2007-01-14 14:25       ` Ingo Molnar
2007-01-14  8:33 ` [patch-mm 3/3] Scheduled removal of SA_xxx interrupt flags fixups 2 (mm) Thomas Gleixner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070406122228.3dc06c79.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    --subject='Re: [PATCH] Deprecate SA_xxx interrupt flags -V2' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).