lkml.org 
[lkml]   [2007]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: -mm merge plans for 2.6.21
    On Fri, Feb 09, 2007 at 12:29:06AM +0100, Jan Engelhardt 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 */
    > }
    >
    I'd say that we want to warn the developper, not the user, isn't it?
    The attached patch marks the variables as __deprecated, and re-schedules
    the removal for January 2008.

    Regards,
    Frederik


    diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
    index b7c642c..4a5aad3 100644
    --- a/Documentation/feature-removal-schedule.txt
    +++ b/Documentation/feature-removal-schedule.txt
    @@ -308,3 +308,12 @@ Why: OSS drivers with ALSA replacements
    Who: Adrian Bunk <bunk@stusta.de>

    ---------------------------
    +
    +What: Interrupt only SA_* flags
    +When: January 2008
    +Why: The interrupt related SA_* flags are replaced by IRQF_* to move them
    + out of the signal namespace.
    +
    +Who: Frederik Deweerdt <deweerdt@free.fr>
    +
    +---------------------------
    diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
    index e66b458..472f2d2 100644
    --- a/include/linux/interrupt.h
    +++ b/include/linux/interrupt.h
    @@ -52,6 +52,25 @@
    #define IRQF_PERCPU 0x00000400
    #define IRQF_NOBALANCING 0x00000800

    +/*
    + * Migration helpers. Scheduled for removal in 1/2008
    + * SA_* flags are now deprecated, leaving time for out-of-the-tree drivers
    + * to catch up.
    + *
    + * Do not use for new code !
    + */
    +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;
    +
    typedef irqreturn_t (*irq_handler_t)(int, void *);

    struct irqaction {
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2007-02-09 12:01    [W:4.151 / U:0.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site