lkml.org 
[lkml]   [2021]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 079/247] MIPS: lantiq: Explicitly compare LTQ_EBU_PCC_ISTAT against 0
    Date
    From: Nathan Chancellor <natechancellor@gmail.com>

    [ Upstream commit c6f2a9e17b9bef7677caddb1626c2402f3e9d2bd ]

    When building xway_defconfig with clang:

    arch/mips/lantiq/irq.c:305:48: error: use of logical '&&' with constant
    operand [-Werror,-Wconstant-logical-operand]
    if ((irq == LTQ_ICU_EBU_IRQ) && (module == 0) && LTQ_EBU_PCC_ISTAT)
    ^ ~~~~~~~~~~~~~~~~~
    arch/mips/lantiq/irq.c:305:48: note: use '&' for a bitwise operation
    if ((irq == LTQ_ICU_EBU_IRQ) && (module == 0) && LTQ_EBU_PCC_ISTAT)
    ^~
    &
    arch/mips/lantiq/irq.c:305:48: note: remove constant to silence this
    warning
    if ((irq == LTQ_ICU_EBU_IRQ) && (module == 0) && LTQ_EBU_PCC_ISTAT)
    ~^~~~~~~~~~~~~~~~~~~~
    1 error generated.

    Explicitly compare the constant LTQ_EBU_PCC_ISTAT against 0 to fix the
    warning. Additionally, remove the unnecessary parentheses as this is a
    simple conditional statement and shorthand '== 0' to '!'.

    Fixes: 3645da0276ae ("OF: MIPS: lantiq: implement irq_domain support")
    Link: https://github.com/ClangBuiltLinux/linux/issues/807
    Reported-by: Dmitry Golovin <dima@golovin.in>
    Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/mips/lantiq/irq.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
    index 37caeadb2964c..0476d7e97a03f 100644
    --- a/arch/mips/lantiq/irq.c
    +++ b/arch/mips/lantiq/irq.c
    @@ -244,7 +244,7 @@ static void ltq_hw_irq_handler(struct irq_desc *desc)
    generic_handle_irq(irq_linear_revmap(ltq_domain, hwirq));

    /* if this is a EBU irq, we need to ack it or get a deadlock */
    - if ((irq == LTQ_ICU_EBU_IRQ) && (module == 0) && LTQ_EBU_PCC_ISTAT)
    + if (irq == LTQ_ICU_EBU_IRQ && !module && LTQ_EBU_PCC_ISTAT != 0)
    ltq_ebu_w32(ltq_ebu_r32(LTQ_EBU_PCC_ISTAT) | 0x10,
    LTQ_EBU_PCC_ISTAT);
    }
    --
    2.27.0


    \
     
     \ /
      Last update: 2021-03-01 21:14    [W:2.969 / U:1.364 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site