On Wed, Oct 08, 2014 at 10:34:38AM +0200, Loic Poulain wrote:
> Some GPIO based rfkill devices can wake their host up from suspend by
> toggling an input (from the host perspective) GPIO.
> This patch adds a generic support for that feature by registering a
> threaded interrupt routine and thus setting the corresponding GPIO as a
> wake up source.
> 
> Signed-off-by: Loic Poulain <[email protected]>
> ---
>  net/rfkill/rfkill-gpio.c | 49 
> ++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 49 insertions(+)

To continue my previous answer, for this you could have the following
_DSD..

        Name (_DSD, Package ()
        {
            ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
            Package () {
                Package () {"host_wake-gpio", Package () {^BTH1, 0, 0, 0}},
                Package () {"reset-gpio", Package () {^BTH1, 1, 0, 0}},
                Package () {"shutdown-gpio", Package () {^BTH1, 2, 0, 0}},
            }
        })

And in the driver you can then request it without caring about the
index..

        ...
        gpio = devm_gpiod_get_index(dev, "host_wake", 3);
        if (!IS_ERR(gpio)) {
                ret = gpiod_direction_input(gpio);
                if (ret)
                        return ret;
                rfkill->irq = gpiod_to_irq(gpio);
        ...


Actually, we could just use devm_gpiod_get instead of
devm_gpiod_get_index in this case.


Cheers,

-- 
heikki
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to