Commit Graph

11 Commits

Author SHA1 Message Date
Shaoqin Huang 5141b2d7e8 gpiolib: Clean up headers
Bugzilla: https://bugzilla.redhat.com/2183344

commit 380c7ba3923c6e471aff0f951a6cf42e8dec2c79
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Wed Feb 8 19:07:28 2023 +0200

    gpiolib: Clean up headers

    There is a few things done:
    - include only the headers we are direct user of
    - when pointer is in use, provide a forward declaration
    - add missing headers
    - group generic headers and subsystem headers
    - sort each group alphabetically

    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
2023-06-19 23:50:52 -04:00
Shaoqin Huang 91d7d68624 gpiolib: Get rid of not used of_node member
Bugzilla: https://bugzilla.redhat.com/2183344

commit 70d0fc4288dabd65025fde7774b4f9262afa9034
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Wed Dec 28 11:20:44 2022 +0200

    gpiolib: Get rid of not used of_node member

    All new drivers should use fwnode and / or parent to provide the
    necessary information to the GPIO library.

    Cc: Thierry Reding <treding@nvidia.com>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
2023-06-19 23:50:48 -04:00
Shaoqin Huang fa245db39c gpiolib: consolidate GPIO lookups
Bugzilla: https://bugzilla.redhat.com/2183344

commit 8eb1f71e7acca4f92cf9cf83030cbb8ec2524025
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Fri Nov 11 14:19:07 2022 -0800

    gpiolib: consolidate GPIO lookups

    Ensure that all paths to obtain/look up GPIOD from generic
    consumer-visible APIs go through the new gpiod_find_and_request()
    helper, so that we can easily extend it with support for new firmware
    mechanisms.

    The only exception is OF-specific [devm_]gpiod_get_from_of_node() API
    that is still being used by a couple of drivers and will be removed as
    soon as patches converting them to use generic fwnode/device APIs are
    accepted.

    Acked-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
2023-06-19 23:50:45 -04:00
Shaoqin Huang 34da89a866 gpiolib: acpi: avoid leaking ACPI details into upper gpiolib layers
Bugzilla: https://bugzilla.redhat.com/2183344

commit b7452d670fdef8974e18754342fe6f68e20c2567
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Tue Nov 15 11:20:47 2022 +0100

    gpiolib: acpi: avoid leaking ACPI details into upper gpiolib layers

    There is no need for the generic parts of GPIOLIB to be aware of
    implementation details of ACPI-bases lookups.

    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Acked-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
2023-06-19 23:50:45 -04:00
Shaoqin Huang d2f54515e9 gpiolib: acpi: change acpi_find_gpio() to accept firmware node
Bugzilla: https://bugzilla.redhat.com/2183344

commit 2b6bce80ae70b91134a5731d85076042ae90c300
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Fri Nov 11 14:19:04 2022 -0800

    gpiolib: acpi: change acpi_find_gpio() to accept firmware node

    In preparation of switching all ACPI-based GPIO lookups to go through
    acpi_find_gpio() let's change it to accept device node as its argument
    as we do not always have access to device structure.

    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Acked-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
2023-06-19 23:50:45 -04:00
Shaoqin Huang 6552d561f9 gpiolib: Clean up headers
Bugzilla: https://bugzilla.redhat.com/2183344

commit 08a149c40bdbb9cd08fd0d39c6976d713a187300
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Fri Oct 7 12:53:44 2022 +0300

    gpiolib: Clean up headers

    There is a few things done:
    - include only the headers we are direct user of
    - when pointer is in use, provide a forward declaration
    - add missing headers
    - group generic headers and subsystem headers
    - sort each group alphabetically

    While at it, fix some awkward indentations.

    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
2023-06-19 23:50:44 -04:00
Benjamin Tissoires 3621727ac1 gpiolib: acpi: Add wake_capable variants of acpi_dev_gpio_irq_get
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2166610
Upstream Status: since v6.1
Tested: with the hid-tools test suite and some hardware

commit 4c99256013fa4e0fe9733ca1bab2b5684ccc02a1
Author: Raul E Rangel <rrangel@chromium.org>
Date:   Thu Sep 29 10:19:09 2022 -0600

    gpiolib: acpi: Add wake_capable variants of acpi_dev_gpio_irq_get

    The ACPI spec defines the SharedAndWake and ExclusiveAndWake share type
    keywords. This is an indication that the GPIO IRQ can also be used as a
    wake source. This change exposes the wake_capable bit so drivers can
    correctly enable wake functionality instead of making an assumption.

    Signed-off-by: Raul E Rangel <rrangel@chromium.org>
    Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
2023-06-19 15:43:04 +02:00
Andy Shevchenko 515321acb5 gpiolib: Introduce acpi_gpio_dev_init() and call it from core
In the ACPI case we may use the firmware node in the similar way
as it's done for OF case. We may use that fwnode for other purposes
in the future.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2021-03-26 14:56:18 +01:00
Andy Shevchenko 8dcb7a15a5 gpiolib: acpi: Take into account debounce settings
We didn't take into account the debounce settings supplied by ACPI.
This change is targeting the mentioned gap.

Reported-by: Coiby Xu <coiby.xu@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2020-11-16 14:14:35 +02:00
Dmitry Torokhov 4f78d91c72 gpiolib: acpi: make acpi_can_fallback_to_crs() static
It is not used outside gpiolib-acpi.c module, so there is no need to
export it.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/20190904172624.GA76617@dtor-ws
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-09-10 11:34:20 +01:00
Andy Shevchenko 77cb907abe gpiolib: acpi: Split ACPI stuff to gpiolib-acpi.h
This is a follow up to the commit

  f626d6dfb7 ("gpio: of: Break out OF-only code")

which broke down OF parts of GPIO library. Here we do the similar to ACPI.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20190730104337.21235-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-07-31 00:57:21 +02:00