Hi everyone,

we have a device with an am335x and are using some gpios on bank0 to
wake up the device from suspend to ram.

We have some user buttons which are configured in the devicetree as
gpio-keys and one power-key which should wake up the device:

&buttons {
        power {
                label = "Power";
                gpios = <&gpio0 6 1>;
                linux,code = <116>;
                gpio-key,wakeup;
        };

        one {
                label = "One";
                gpios = <&gpio0 11 1>;
                linux,code = <2>;
        };

        : : :
}

The problem is, that the device wakes up on any trigger on bank 0. No
matter which button was pressed. "gpio-key,wakeup" seems not to have any
influence.

Now, if I comment the following lines out in drivers/gpio/gpio-omap.c :
set_gpio_trigger(...).

321
322 if (likely(!(bank->non_wakeup_gpios & gpio_bit))) {
323    _gpio_rmw(base, bank->regs->wkup_en, gpio_bit, trigger != 0);
324      bank->context.wake_en =
325        readl_relaxed(bank->base + bank->regs->wkup_en);
326 }
327

Everything works as expected. But I don't really understand why? Is this
a bug, or does this break something else I have not discovered yet?

Thanks,
Pascal
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to