lkml.org 
[lkml]   [2011]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] ata: Fix build error in pata_of_platform (NO_IRQ usage)
    This patch makes a band-aid fix the following build failure:

    CC drivers/ata/pata_of_platform.o
    drivers/ata/pata_of_platform.c: In function 'pata_of_platform_probe':
    drivers/ata/pata_of_platform.c:55:13: error: 'NO_IRQ' undeclared (first use in this function)
    drivers/ata/pata_of_platform.c:55:13: note: each undeclared identifier is reported only once for each function it appears in

    The proper fix (stop OF code from returning NO_IRQ values) is pending.

    Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
    ---

    On Thu, Nov 10, 2011 at 02:57:03PM +0100, Ingo Molnar wrote:
    [...]
    > > > drivers/ata/pata_of_platform.c:55:13: error: 'NO_IRQ' undeclared (first use in this function)
    > >
    > > [adding Author: Anton]
    > >
    > > Build error still present in linux-next of 20111014.
    >
    > This build failure regression report was ignored twice and then
    > pushed upstream and is still unfixed a month after the initial
    > report. Upstream now fails to build on like 25% of x86 configs.
    >
    > What's going on with this bug guys?

    Here is the story:

    - NO_IRQ is evil[1], AFAIR the trend is to remove its usage completely;
    - Sane arches (x86) don't use it at all, or have it defined to 0
    (PPC32/64).
    - On another arches it is either -1 or whatever random value;
    - The NO_IRQ disease spreads despite our willingness, even within
    the new OF code.

    The new irq domain stuff (that is used on ARM) always returns 0
    in 'no irq' case, so we may easily remove it.

    So the proper fix would be two-fold: for OF and for that driver.
    But this is for 3.3 kernels. I'll send the two patches as follow-ups.

    In the meantime, the band-aid (for 3.2) is down below.

    [1]
    http://lkml.org/lkml/2005/11/22/159
    http://lkml.org/lkml/2005/11/22/227

    drivers/ata/pata_of_platform.c | 5 +++++
    1 files changed, 5 insertions(+), 0 deletions(-)

    diff --git a/drivers/ata/pata_of_platform.c b/drivers/ata/pata_of_platform.c
    index a72ab0d..f99e17b 100644
    --- a/drivers/ata/pata_of_platform.c
    +++ b/drivers/ata/pata_of_platform.c
    @@ -16,6 +16,11 @@
    #include <linux/of_platform.h>
    #include <linux/ata_platform.h>

    +/* For archs that don't support NO_IRQ (such as x86), provide a dummy value */
    +#ifndef NO_IRQ
    +#define NO_IRQ 0
    +#endif
    +
    static int __devinit pata_of_platform_probe(struct platform_device *ofdev)
    {
    int ret;
    --
    1.7.5.3


    \
     
     \ /
      Last update: 2011-11-10 16:21    [W:0.031 / U:1.844 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site