29 Apr, 2019

1 commit


05 Mar, 2019

1 commit

  • gcc points out that irqs_num is not initialized when of_property_read_u32()
    is an empty stub function:

    Included from drivers/irqchip/irq-imx-irqsteer.c:7:
    drivers/irqchip/irq-imx-irqsteer.c: In function 'imx_irqsteer_probe':
    include/uapi/linux/kernel.h:13:49: error: 'irqs_num' may be used uninitialized in this function [-Werror=maybe-uninitialized]

    The same can actually happen with CONFIG_OF=y as well, though we don't
    get a warning then.

    Add error checking here that lets the code deal with missing or
    invalid properties as well as avoid the warning.

    Fixes: 28528fca4908 ("irqchip/imx-irqsteer: Add multi output interrupts support")
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Marc Zyngier

    Arnd Bergmann
     

22 Feb, 2019

2 commits

  • One irqsteer channel can support up to 8 output interrupts.

    Cc: Marc Zyngier
    Cc: Lucas Stach
    Cc: Shawn Guo
    Reviewed-by: Lucas Stach
    Signed-off-by: Dong Aisheng
    Signed-off-by: Marc Zyngier

    Aisheng Dong
     
  • One group can manage 64 interrupts by using two registers (e.g. STATUS/SET).
    However, the integrated irqsteer may support only 32 interrupts which
    needs only one register in a group. But the current driver assume there's
    a mininum of two registers in a group which result in a wrong register map
    for 32 interrupts per channel irqsteer. Let's use the reg_num caculated by
    interrupts per channel instead of irq_group to cover this case.

    Cc: Rob Herring
    Cc: Shawn Guo
    Reviewed-by: Lucas Stach
    Signed-off-by: Dong Aisheng
    Signed-off-by: Marc Zyngier

    Aisheng Dong
     

18 Dec, 2018

1 commit