lkml.org 
[lkml]   [2014]   [Aug]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC] ACPI: Add GPIO-signaled event simulator.
    On Fri, Aug 08, 2014 at 02:36:02PM +0200, Linus Walleij wrote:
    > On Thu, Jul 24, 2014 at 5:51 PM, Tomasz Nowicki
    > <tomasz.nowicki@linaro.org> wrote:
    >
    > > GPIO signaled events is quite new thing in Linux kernel.
    > > AFAIK, there are not many board which can take advantage of it.
    > > However, GPIO events are very useful feature during work on ACPI
    > > subsystems.
    >
    > Overall this seems like a pretty nice debug feature.
    >
    > > This commit emulates GPIO h/w behaviour and consists on read/write
    > > operation to debugfs file. GPIO device instance is still required in DSDT
    > > table along with _AEI resources and event methods.
    > >
    > > Reading from file provides pin to GPIO device map e.g. :
    > > $ cat /sys/kernel/debug/acpi/gpio_event
    > > GPIO device name: /__SB.GPI0
    > > Available GPIO pin map:
    > > /__SB.GPI0 <-> pin 0x100
    > >
    > > Based on that, user can trigger method corresponding to device pin number:
    > > $ echo "/__SB.GPI0 0x100" > /sys/kernel/debug/acpi/gpio_event
    >
    > I need input from Rafael and Mika as to whether this is a
    > good interface.

    Maybe it would make sense to move this into drivers/gpio/gpiolib-acpi.c
    and hide it behind some Kconfig entry?

    Since you already need to have DSDT/SSDT table for this to provide the
    GPIO device, _AEI and the event methods, I would rather make it so that
    acpi_gpiochip_request_interrupt() will add debugfs entry for each GPIO
    it finds in _AEI, like:

    /sys/kernel/debug/acpi/events/<GPIO DEVICE>/n

    And you could trigger it by writing '1' or something like that to that
    file.


    \
     
     \ /
      Last update: 2014-08-12 12:21    [W:2.769 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site