lkml.org 
[lkml]   [2022]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 003/120] gpio: mpc8xxx: Fix support for IRQ_TYPE_LEVEL_LOW flow_type in mpc85xx
    Date
    From: Pali Rohár <pali@kernel.org>

    [ Upstream commit 279c12df8d2efb28def9d037f288cbfb97c30fe2 ]

    Commit e39d5ef67804 ("powerpc/5xxx: extend mpc8xxx_gpio driver to support
    mpc512x gpios") implemented support for IRQ_TYPE_LEVEL_LOW flow type in
    mpc512x via falling edge type. Do same for mpc85xx which support was added
    in commit 345e5c8a1cc3 ("powerpc: Add interrupt support to mpc8xxx_gpio").

    Fixes probing of lm90 hwmon driver on mpc85xx based board which use level
    interrupt. Without it kernel prints error and refuse lm90 to work:

    [ 15.258370] genirq: Setting trigger mode 8 for irq 49 failed (mpc8xxx_irq_set_type+0x0/0xf8)
    [ 15.267168] lm90 0-004c: cannot request IRQ 49
    [ 15.272708] lm90: probe of 0-004c failed with error -22

    Fixes: 345e5c8a1cc3 ("powerpc: Add interrupt support to mpc8xxx_gpio")
    Signed-off-by: Pali Rohár <pali@kernel.org>
    Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpio/gpio-mpc8xxx.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/gpio/gpio-mpc8xxx.c b/drivers/gpio/gpio-mpc8xxx.c
    index d72a3a5507b0..f3bf82efea8e 100644
    --- a/drivers/gpio/gpio-mpc8xxx.c
    +++ b/drivers/gpio/gpio-mpc8xxx.c
    @@ -190,6 +190,7 @@ static int mpc8xxx_irq_set_type(struct irq_data *d, unsigned int flow_type)

    switch (flow_type) {
    case IRQ_TYPE_EDGE_FALLING:
    + case IRQ_TYPE_LEVEL_LOW:
    raw_spin_lock_irqsave(&mpc8xxx_gc->lock, flags);
    gc->write_reg(mpc8xxx_gc->regs + GPIO_ICR,
    gc->read_reg(mpc8xxx_gc->regs + GPIO_ICR)
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-09-26 12:37    [W:2.556 / U:1.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site