OSDN Git Service

gpio/mpc8xxx: fix qoriq GPIO reading
authorRussell King <rmk+kernel@armlinux.org.uk>
Tue, 19 Nov 2019 13:10:38 +0000 (13:10 +0000)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 21 Nov 2019 13:30:08 +0000 (14:30 +0100)
Qoriq requires the IBE register to be set to enable GPIO inputs to be
read.  Set it.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Link: https://lore.kernel.org/r/E1iX3HC-00069N-0T@rmk-PC.armlinux.org.uk
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-mpc8xxx.c

index 81f0f31..f1e164c 100644 (file)
@@ -387,6 +387,9 @@ static int mpc8xxx_probe(struct platform_device *pdev)
 
        gc->to_irq = mpc8xxx_gpio_to_irq;
 
+       if (of_device_is_compatible(np, "fsl,qoriq-gpio"))
+               gc->write_reg(mpc8xxx_gc->regs + GPIO_IBE, 0xffffffff);
+
        ret = gpiochip_add_data(gc, mpc8xxx_gc);
        if (ret) {
                pr_err("%pOF: GPIO chip registration failed with status %d\n",