On Sat, Feb 10, 2007 at 12:42:41PM +0100, Arnd Bergmann wrote: > On Friday 09 February 2007 12:24, Arjan van de Ven wrote: > > > > On Fri, 2007-02-09 at 10:57 +0000, Frederik Deweerdt wrote: > > > +static const int __deprecated SA_INTERRUPT = IRQF_DISABLED; > > > +static const int __deprecated SA_SAMPLE_RANDOM = IRQF_SAMPLE_RANDOM; > > > +static const int __deprecated SA_SHIRQ = IRQF_SHARED; > > > +static const int __deprecated SA_PROBEIRQ = IRQF_PROBE_SHARED; > > > +static const int __deprecated SA_PERCPU = IRQF_PERCPU; > > > + > > > +static const int __deprecated SA_TRIGGER_LOW = IRQF_TRIGGER_LOW; > > > +static const int __deprecated SA_TRIGGER_HIGH = IRQF_TRIGGER_HIGH; > > > +static const int __deprecated SA_TRIGGER_FALLING = IRQF_TRIGGER_FALLING; > > > +static const int __deprecated SA_TRIGGER_RISING = IRQF_TRIGGER_RISING; > > > +static const int __deprecated SA_TRIGGER_MASK = IRQF_TRIGGER_MASK; > > > > this will include these in every .o file for which the .c file includes > > the header. NOT GOOD(tm) > > > > How about this one instead then: Well, the warning you get is not that obvious:
test.c: In function 'main': test.c:11: warning: 'deprecated_irqf' is deprecated And as far as I could test (gcc 4.1.1 and gcc 3.4.3), Arjan's comment is not true, the "static const int" don't use extra space, they get optimized away by the compiler (see http://lkml.org/lkml/2007/2/9/106). Regards, Frederik > > Mark SA_* constants as deprecated > > Signed-off-by: Arnd Bergmann <[EMAIL PROTECTED]> > > --- a/include/linux/interrupt.h > +++ b/include/linux/interrupt.h > @@ -53,17 +53,19 @@ > * 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 > +typedef unsigned int __deprecated deprecated_irqf; > + > +#define SA_INTERRUPT ((deprecated_irqf)IRQF_DISABLED) > +#define SA_SAMPLE_RANDOM ((deprecated_irqf)IRQF_SAMPLE_RANDOM) > +#define SA_SHIRQ ((deprecated_irqf)IRQF_SHARED) > +#define SA_PROBEIRQ ((deprecated_irqf)IRQF_PROBE_SHARED) > +#define SA_PERCPU ((deprecated_irqf)IRQF_PERCPU) > + > +#define SA_TRIGGER_LOW ((deprecated_irqf)IRQF_TRIGGER_LOW) > +#define SA_TRIGGER_HIGH ((deprecated_irqf)IRQF_TRIGGER_HIGH) > +#define SA_TRIGGER_FALLING ((deprecated_irqf)IRQF_TRIGGER_FALLING) > +#define SA_TRIGGER_RISING ((deprecated_irqf)IRQF_TRIGGER_RISING) > +#define SA_TRIGGER_MASK ((deprecated_irqf)IRQF_TRIGGER_MASK) > > typedef irqreturn_t (*irq_handler_t)(int, void *); > > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/