public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Jan Engelhardt <jengelh@linux01.gwdg.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: -mm merge plans for 2.6.21
Date: Thu, 8 Feb 2007 15:44:42 -0800	[thread overview]
Message-ID: <20070208154442.678a214b.akpm@linux-foundation.org> (raw)
In-Reply-To: <Pine.LNX.4.61.0702090023270.24888@yvahk01.tjqt.qr>

On Fri, 9 Feb 2007 00:29:06 +0100 (MET)
Jan Engelhardt <jengelh@linux01.gwdg.de> wrote:

> 
> On Feb 8 2007 15:07, Andrew Morton wrote:
> 
> >scheduled-removal-of-sa_xxx-interrupt-flags-fixups.patch
> >scheduled-removal-of-sa_xxx-interrupt-flags-fixups-2.patch
> >scheduled-removal-of-sa_xxx-interrupt-flags.patch
> >scheduled-removal-of-sa_xxx-interrupt-flags-ata-fix.patch
> >
> > This removes SA_INTERRUPT and friends, so 10000000 external drivers won't
> > compile any more.  I think I'd prefer to find a way to get usage of SA_* to
> > spit a deprecated warning.
> 
> Here's an idea:
> 
> #define SA_INTERRUPT sa_interrupt_with_warning()
> static inline int sa_interrupt_with_warning(void) {
>     if(more_or_less_often)
>         printk(fat_warning);
>     return 0x123456; /* whatever numerical value it is */
> }
> 

Yeah, this seems to work.

--- a/include/linux/interrupt.h~deprecate-sa_interrupt-and-friends
+++ a/include/linux/interrupt.h
@@ -54,17 +54,32 @@
  * Migration helpers. Scheduled for removal in 1/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
+#define emit_old_interrupt_name(old, new)				\
+static inline unsigned __deprecated emit_old_interrupt_name##old(void)	\
+{									\
+	return (new);							\
+}
+
+emit_old_interrupt_name(SA_INTERRUPT, IRQF_DISABLED)
+#define SA_INTERRUPT emit_old_interrupt_nameSA_INTERRUPT()
+emit_old_interrupt_name(SA_SAMPLE_RANDOM, IRQF_SAMPLE_RANDOM)
+#define SA_SAMPLE_RANDOM emit_old_interrupt_nameSA_SAMPLE_RANDOM()
+emit_old_interrupt_name(SA_SHIRQ, IRQF_SHARED)
+#define SA_SHIRQ emit_old_interrupt_nameSA_SHIRQ()
+emit_old_interrupt_name(SA_PROBEIRQ, IRQF_PROBE_SHARED)
+#define SA_PROBEIRQ emit_old_interrupt_nameSA_PROBEIRQ()
+emit_old_interrupt_name(SA_PERCPU, IRQF_PERCPU)
+#define SA_PERCPU emit_old_interrupt_nameSA_PERCPU()
+emit_old_interrupt_name(SA_TRIGGER_LOW, IRQF_TRIGGER_LOW)
+#define SA_TRIGGER_LOW emit_old_interrupt_nameSA_TRIGGER_LOW()
+emit_old_interrupt_name(SA_TRIGGER_HIGH, IRQF_TRIGGER_HIGH)
+#define SA_TRIGGER_HIGH emit_old_interrupt_nameSA_TRIGGER_HIGH()
+emit_old_interrupt_name(SA_TRIGGER_FALLING, IRQF_TRIGGER_FALLING)
+#define SA_TRIGGER_FALLING emit_old_interrupt_nameSA_TRIGGER_FALLING()
+emit_old_interrupt_name(SA_TRIGGER_RISING, IRQF_TRIGGER_RISING)
+#define SA_TRIGGER_RISING emit_old_interrupt_nameSA_TRIGGER_RISING()
+emit_old_interrupt_name(SA_TRIGGER_MASK, IRQF_TRIGGER_MASK)
+#define SA_TRIGGER_MASK emit_old_interrupt_nameSA_TRIGGER_MASK()
 
 typedef irqreturn_t (*irq_handler_t)(int, void *);
 
_

For some reason

	enum foo {
		...
	} __deprecated;

doesn't work.

  reply	other threads:[~2007-02-08 23:44 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
2007-02-08 23:12 ` Roland Dreier
2007-02-08 23:29 ` Jan Engelhardt
2007-02-08 23:44   ` Andrew Morton [this message]
2007-02-09 15:02     ` Thomas Gleixner
2007-02-09 10:57   ` Frederik Deweerdt
2007-02-09 11:24     ` Arjan van de Ven
2007-02-09 11:39       ` Andrew Morton
2007-02-09 12:32         ` Arjan van de Ven
2007-02-09 14:05           ` deweerdt
2007-02-09 13:04         ` Andi Kleen
2007-02-09 12:27           ` Jan Engelhardt
2007-02-10 11:42       ` Arnd Bergmann
2007-02-10 14:19         ` Frederik Deweerdt
2007-02-08 23:34 ` Kyle McMartin
2007-02-08 23:53   ` Andrew Morton
2007-02-09  0:55     ` Paul Mackerras
2007-02-09  1:00       ` Andrew Morton
2007-02-09  5:32 ` Bharata B Rao
2007-02-09  8:26   ` Sébastien Dugué
2007-02-09  9:05     ` Andrew Morton
2007-02-09 10:10       ` Sébastien Dugué
2007-02-09  9:54 ` Lenar Lõhmus
2007-02-09 10:12   ` Andrew Morton
2007-02-09 12:48     ` James
2007-02-09 12:59     ` Lenar Lõhmus
2007-02-09 17:35 ` David Woodhouse
2007-02-09 21:45   ` Andrew Morton
2007-02-09 21:49     ` Russell King
2007-02-09 21:53       ` David Woodhouse
2007-02-09 22:03         ` Russell King
2007-02-09 22:12           ` David Woodhouse
2007-02-09 22:42             ` David Woodhouse
2007-02-10  2:05           ` Oleg Verych
2007-02-09 22:00       ` Andrew Morton
2007-02-09 22:06         ` Russell King
2007-02-09 21:59     ` David Woodhouse
2007-02-09 22:50       ` Davide Libenzi
2007-02-10 10:22         ` Heiko Carstens
2007-02-10 10:32           ` David Woodhouse
2007-02-10 21:34             ` Ralf Baechle
2007-02-11  4:53               ` Davide Libenzi
2007-02-11 15:33               ` David Woodhouse
2007-02-11 16:09                 ` Ralf Baechle
2007-02-11 16:14               ` Heiko Carstens
2007-02-11 16:34                 ` Davide Libenzi
2007-02-11 18:01                 ` Ralf Baechle
2007-02-10 21:05           ` Ralf Baechle
2007-02-11 10:37             ` Andi Kleen
2007-02-10 13:03   ` Andi Kleen
2007-02-09 19:37 ` Alan
2007-02-09 21:51   ` Andrew Morton
2007-02-10  1:15     ` Carl-Daniel Hailfinger
2007-02-10  1:29       ` Andrew Morton
2007-02-10 13:06   ` Andi Kleen
2007-02-10 13:48     ` Alan
2007-02-10 14:43       ` Andi Kleen
2007-02-12 20:56     ` Doug Thompson
2007-02-12 21:46       ` Andi Kleen
2007-02-12 22:45         ` Doug Thompson
2007-02-09 22:18 ` Guillaume Chazarain
2007-02-10  9:58 ` -mm merge plans for 2.6.21 -- md-dm-reduce-stack-usage-with-stacked-block-devices.patch Heiko Carstens
2007-02-10 22:35   ` Alasdair G Kergon
2007-02-11  0:31 ` -mm merge plans for 2.6.21 Dave Jones
  -- strict thread matches above, loose matches on Subject: below --
2007-02-09  2:57 Parag Warudkar
2007-02-09  3:05 ` Andrew Morton
     [not found] <fa.7Z67qjqJwFP7+8QiVtu5tq6CZyU@ifi.uio.no>
     [not found] ` <fa.4Y/nCUol/tGEodoOl/Jm9nf2AEA@ifi.uio.no>
     [not found]   ` <fa.TgZy4z2lRhwhAWCUE8IuGvMVUCU@ifi.uio.no>
     [not found]     ` <fa.HINMjdGzCuxlEiWtVvmNz7Pv9Pc@ifi.uio.no>
     [not found]       ` <fa.2ClW7C4ZyCP9QlT4vg7CbzjSqwg@ifi.uio.no>
2007-02-10 17:04         ` Robert Hancock
2007-01-12 23:19           ` Frederik Deweerdt

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=20070208154442.678a214b.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=jengelh@linux01.gwdg.de \
    --cc=linux-kernel@vger.kernel.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox