|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1 |
|
| #
6deb8435 |
| 01-Apr-2025 |
Bartosz Golaszewski <[email protected]> |
gpio: deprecate the GPIOD_FLAGS_BIT_NONEXCLUSIVE flag
The non-exclusive GPIO request flag looks like a functional feature but is in fact a workaround for a corner-case that got out of hand. It shoul
gpio: deprecate the GPIOD_FLAGS_BIT_NONEXCLUSIVE flag
The non-exclusive GPIO request flag looks like a functional feature but is in fact a workaround for a corner-case that got out of hand. It should be removed so deprecate it officially so that nobody uses it anymore.
Acked-by: Linus Walleij <[email protected]> Link: https://lore.kernel.org/r/20250401-gpio-todo-remove-nonexclusive-v2-1-7c1380797b0d@linaro.org Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5, v6.14-rc4 |
|
| #
8ce258f6 |
| 20-Feb-2025 |
Bartosz Golaszewski <[email protected]> |
gpiolib: make value setters have return values
Change the in-kernel consumer interface for GPIOs: make all variants of value setters that don't have a return value, return a signed integer instead.
gpiolib: make value setters have return values
Change the in-kernel consumer interface for GPIOs: make all variants of value setters that don't have a return value, return a signed integer instead. That will allow these routines to indicate failures to callers.
This doesn't change the implementation just yet, we'll do it in subsequent commits.
We need to update the gpio-latch module as it passes the address of value setters as a function pointer argument and thus cares about its type.
Reviewed-by: Linus Walleij <[email protected]> Acked-by: Uwe Kleine-König <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
| #
007094c8 |
| 25-Feb-2025 |
Bartosz Golaszewski <[email protected]> |
gpiolib: use the required minimum set of headers
Andy suggested we should keep a fine-grained scheme for includes and only pull in stuff required within individual ifdef sections. Let's revert commi
gpiolib: use the required minimum set of headers
Andy suggested we should keep a fine-grained scheme for includes and only pull in stuff required within individual ifdef sections. Let's revert commit dea69f2d1cc8 ("gpiolib: move all includes to the top of gpio/consumer.h") and make the headers situation even more fine-grained by only including the first level headers containing requireded symbols except for bug.h where checkpatch.pl warns against including asm/bug.h.
Fixes: dea69f2d1cc8 ("gpiolib: move all includes to the top of gpio/consumer.h") Suggested-by: Andy Shevchenko <[email protected]> Closes: https://lore.kernel.org/all/[email protected]/ Reviewed-by: Andy Shevchenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
| #
63cdf624 |
| 17-Feb-2025 |
Bartosz Golaszewski <[email protected]> |
gpiolib: don't build HTE code with CONFIG_HTE disabled
Hardware timestamping is only used on tegra186 platforms but we include the code and export the symbols everywhere. Shrink the binary a bit by
gpiolib: don't build HTE code with CONFIG_HTE disabled
Hardware timestamping is only used on tegra186 platforms but we include the code and export the symbols everywhere. Shrink the binary a bit by compiling the relevant functions conditionally.
Reviewed-by: Linus Walleij <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
| #
dea69f2d |
| 17-Feb-2025 |
Bartosz Golaszewski <[email protected]> |
gpiolib: move all includes to the top of gpio/consumer.h
We have several conditional includes depending on !CONFIG_GPIOLIB. This is supposed to reduce compilation time with CONFIG_GPIOLIB=y but in p
gpiolib: move all includes to the top of gpio/consumer.h
We have several conditional includes depending on !CONFIG_GPIOLIB. This is supposed to reduce compilation time with CONFIG_GPIOLIB=y but in practice there's no difference on modern machines. It makes adding new stubs that depend on more than just GPIOLIB harder so move them all to the top, unduplicate them and replace asm/ with preferred linux/ alternatives.
Reviewed-by: Linus Walleij <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.14-rc3 |
|
| #
91931af1 |
| 10-Feb-2025 |
David Lechner <[email protected]> |
gpiolib: add gpiod_multi_set_value_cansleep()
Add a new gpiod_multi_set_value_cansleep() helper function with fewer parameters than gpiod_set_array_value_cansleep().
Calling gpiod_set_array_value_c
gpiolib: add gpiod_multi_set_value_cansleep()
Add a new gpiod_multi_set_value_cansleep() helper function with fewer parameters than gpiod_set_array_value_cansleep().
Calling gpiod_set_array_value_cansleep() can get quite verbose. In many cases, the first arguments all come from the same struct gpio_descs, so having a separate function where we can just pass that cuts down on the boilerplate.
Signed-off-by: David Lechner <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.14-rc2, v6.14-rc1, v6.13, v6.13-rc7, v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12, v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6, v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1, v6.10, v6.10-rc7, v6.10-rc6, v6.10-rc5, v6.10-rc4, v6.10-rc3, v6.10-rc2, v6.10-rc1, v6.9, v6.9-rc7, v6.9-rc6, v6.9-rc5, v6.9-rc4, v6.9-rc3, v6.9-rc2, v6.9-rc1, v6.8, v6.8-rc7, v6.8-rc6, v6.8-rc5, v6.8-rc4, v6.8-rc3, v6.8-rc2, v6.8-rc1, v6.7, v6.7-rc8, v6.7-rc7, v6.7-rc6, v6.7-rc5, v6.7-rc4, v6.7-rc3, v6.7-rc2, v6.7-rc1, v6.6, v6.6-rc7, v6.6-rc6, v6.6-rc5, v6.6-rc4 |
|
| #
74975b4f |
| 26-Sep-2023 |
Bartosz Golaszewski <[email protected]> |
gpio: acpi: remove acpi_get_and_request_gpiod()
With no more users, we can remove acpi_get_and_request_gpiod().
Signed-off-by: Bartosz Golaszewski <[email protected]> Reviewed-by: From
gpio: acpi: remove acpi_get_and_request_gpiod()
With no more users, we can remove acpi_get_and_request_gpiod().
Signed-off-by: Bartosz Golaszewski <[email protected]> Reviewed-by: From: Andy Shevchenko <[email protected]> Reviewed-by: Mika Westerberg <[email protected]>
show more ...
|
|
Revision tags: v6.6-rc3, v6.6-rc2, v6.6-rc1 |
|
| #
f42dafe3 |
| 03-Sep-2023 |
Bartosz Golaszewski <[email protected]> |
gpiolib: unexport gpiod_set_transitory()
There are no and never have been any users of gpiod_set_transitory() outside the core GPIOLIB code. Make it private.
Signed-off-by: Bartosz Golaszewski <bar
gpiolib: unexport gpiod_set_transitory()
There are no and never have been any users of gpiod_set_transitory() outside the core GPIOLIB code. Make it private.
Signed-off-by: Bartosz Golaszewski <[email protected]> Reviewed-by: Linus Walleij <[email protected]>
show more ...
|
|
Revision tags: v6.5, v6.5-rc7, v6.5-rc6, v6.5-rc5, v6.5-rc4, v6.5-rc3, v6.5-rc2, v6.5-rc1, v6.4, v6.4-rc7, v6.4-rc6, v6.4-rc5, v6.4-rc4, v6.4-rc3, v6.4-rc2, v6.4-rc1, v6.3, v6.3-rc7, v6.3-rc6, v6.3-rc5, v6.3-rc4, v6.3-rc3, v6.3-rc2, v6.3-rc1, v6.2, v6.2-rc8 |
|
| #
380c7ba3 |
| 08-Feb-2023 |
Andy Shevchenko <[email protected]> |
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 h
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 <[email protected]>
show more ...
|
| #
5b191197 |
| 07-Feb-2023 |
Andy Shevchenko <[email protected]> |
gpiolib: Group forward declarations in consumer.h
For better maintenance group the forward declarations together.
Signed-off-by: Andy Shevchenko <[email protected]>
|
| #
91e5ae95 |
| 07-Feb-2023 |
Andy Shevchenko <[email protected]> |
gpiolib: Deduplicate forward declarations in consumer.h
The struct fwnode_handle pointer is used in both branches of ifdeffery, no need to have a copy of the same in each of them, just make it globa
gpiolib: Deduplicate forward declarations in consumer.h
The struct fwnode_handle pointer is used in both branches of ifdeffery, no need to have a copy of the same in each of them, just make it global.
Signed-off-by: Andy Shevchenko <[email protected]>
show more ...
|
|
Revision tags: v6.2-rc7, v6.2-rc6, v6.2-rc5, v6.2-rc4, v6.2-rc3, v6.2-rc2, v6.2-rc1 |
|
| #
650f2dc9 |
| 19-Dec-2022 |
Dmitry Torokhov <[email protected]> |
gpiolib: of: remove [devm_]gpiod_get_from_of_node() APIs
Now that everyone is using [devm_]fwnode_gpiod_get[_index]() APIs, remove OF-specific [devm_]gpiod_get_from_of_node().
Signed-off-by: Dmitry
gpiolib: of: remove [devm_]gpiod_get_from_of_node() APIs
Now that everyone is using [devm_]fwnode_gpiod_get[_index]() APIs, remove OF-specific [devm_]gpiod_get_from_of_node().
Signed-off-by: Dmitry Torokhov <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.1, v6.1-rc8, v6.1-rc7, v6.1-rc6, v6.1-rc5, v6.1-rc4, v6.1-rc3, v6.1-rc2, v6.1-rc1, v6.0, v6.0-rc7, v6.0-rc6, v6.0-rc5, v6.0-rc4 |
|
| #
2fe8e1dc |
| 03-Sep-2022 |
Dmitry Torokhov <[email protected]> |
gpiolib: remove devm_fwnode_get_[index_]gpiod_from_child()
Now that there are no more users of these APIs in the kernel we can remove them.
Signed-off-by: Dmitry Torokhov <[email protected]
gpiolib: remove devm_fwnode_get_[index_]gpiod_from_child()
Now that there are no more users of these APIs in the kernel we can remove them.
Signed-off-by: Dmitry Torokhov <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
| #
0eadd36d |
| 04-Sep-2022 |
Dmitry Torokhov <[email protected]> |
gpiolib: make fwnode_get_named_gpiod() static
There are no external users of fwnode_get_named_gpiod() anymore, so let's stop exporting it and mark it as static.
Signed-off-by: Dmitry Torokhov <dmit
gpiolib: make fwnode_get_named_gpiod() static
There are no external users of fwnode_get_named_gpiod() anymore, so let's stop exporting it and mark it as static.
Signed-off-by: Dmitry Torokhov <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v6.0-rc3, v6.0-rc2, v6.0-rc1, v5.19, v5.19-rc8, v5.19-rc7, v5.19-rc6, v5.19-rc5, v5.19-rc4, v5.19-rc3, v5.19-rc2, v5.19-rc1, v5.18, v5.18-rc7, v5.18-rc6, v5.18-rc5, v5.18-rc4 |
|
| #
42112dd7 |
| 22-Apr-2022 |
Dipen Patel <[email protected]> |
gpiolib: Add HTE support
Some GPIO chip can provide hardware timestamp support on its GPIO lines , in order to support that, additional API needs to be added which can talk to both GPIO chip and HTE
gpiolib: Add HTE support
Some GPIO chip can provide hardware timestamp support on its GPIO lines , in order to support that, additional API needs to be added which can talk to both GPIO chip and HTE (hardware timestamping engine) providers if there is any dependencies. This patch introduces optional hooks to enable and disable hardware timestamping related features in the GPIO controller chip.
Signed-off-by: Dipen Patel <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Reported-by: kernel test robot <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
show more ...
|
|
Revision tags: v5.18-rc3, v5.18-rc2, v5.18-rc1, v5.17 |
|
| #
0c2cae09 |
| 17-Mar-2022 |
Andy Shevchenko <[email protected]> |
gpiolib: acpi: Convert type for pin to be unsigned
A pin that comes from ACPI tables is of unsigned type. This also applies to the internal APIs which use unsigned int to store the pin. Convert type
gpiolib: acpi: Convert type for pin to be unsigned
A pin that comes from ACPI tables is of unsigned type. This also applies to the internal APIs which use unsigned int to store the pin. Convert type for pin to be unsigned in the places where it's not yet true.
While at it, add a stub for acpi_get_and_request_gpiod() for the sake of consistency in the APIs.
Signed-off-by: Andy Shevchenko <[email protected]>
show more ...
|
|
Revision tags: v5.17-rc8, v5.17-rc7, v5.17-rc6, v5.17-rc5, v5.17-rc4 |
|
| #
4398693a |
| 08-Feb-2022 |
Bartosz Golaszewski <[email protected]> |
gpiolib: make struct comments into real kernel docs
We have several comments that start with '/**' but don't conform to the kernel doc standard. Add proper detailed descriptions for the affected def
gpiolib: make struct comments into real kernel docs
We have several comments that start with '/**' but don't conform to the kernel doc standard. Add proper detailed descriptions for the affected definitions and move the docs from the forward declarations to the struct definitions where applicable.
Reported-by: Randy Dunlap <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Tested-by: Randy Dunlap <[email protected]>
show more ...
|
|
Revision tags: v5.17-rc3, v5.17-rc2, v5.17-rc1, v5.16, v5.16-rc8, v5.16-rc7, v5.16-rc6, v5.16-rc5, v5.16-rc4, v5.16-rc3, v5.16-rc2, v5.16-rc1 |
|
| #
507805b8 |
| 10-Nov-2021 |
Andy Shevchenko <[email protected]> |
gpiolib: acpi: Remove never used devm_acpi_dev_remove_driver_gpios()
Remove never used devm_acpi_dev_remove_driver_gpios().
Signed-off-by: Andy Shevchenko <[email protected]> Review
gpiolib: acpi: Remove never used devm_acpi_dev_remove_driver_gpios()
Remove never used devm_acpi_dev_remove_driver_gpios().
Signed-off-by: Andy Shevchenko <[email protected]> Reviewed-by: Mika Westerberg <[email protected]>
show more ...
|
|
Revision tags: v5.15, v5.15-rc7, v5.15-rc6, v5.15-rc5, v5.15-rc4, v5.15-rc3, v5.15-rc2, v5.15-rc1, v5.14, v5.14-rc7, v5.14-rc6, v5.14-rc5 |
|
| #
b3907521 |
| 03-Aug-2021 |
Andy Shevchenko <[email protected]> |
gpiolib: Deduplicate forward declaration in the consumer.h header
struct acpi_device is repeated in two branches of ifdeffery. Move it out and hence deduplicate.
Signed-off-by: Andy Shevchenko <and
gpiolib: Deduplicate forward declaration in the consumer.h header
struct acpi_device is repeated in two branches of ifdeffery. Move it out and hence deduplicate.
Signed-off-by: Andy Shevchenko <[email protected]> Reviewed-by: Linus Walleij <[email protected]>
show more ...
|
|
Revision tags: v5.14-rc4 |
|
| #
e6ae9a83 |
| 28-Jul-2021 |
Krzysztof Kozlowski <[email protected]> |
gpiolib: constify passed device_node pointer
Several gpiolib functions receive pointer to struct device_node which is later passed to OF functions. These OF functions accept already pointer to cons
gpiolib: constify passed device_node pointer
Several gpiolib functions receive pointer to struct device_node which is later passed to OF functions. These OF functions accept already pointer to const, so gpiolib can follow similar approach to indicate they are not modifying the struct device_node.
Signed-off-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
show more ...
|
|
Revision tags: v5.14-rc3, v5.14-rc2, v5.14-rc1, v5.13, v5.13-rc7, v5.13-rc6, v5.13-rc5 |
|
| #
43582f29 |
| 03-Jun-2021 |
Daniel Scally <[email protected]> |
gpiolib: acpi: Introduce acpi_get_and_request_gpiod() helper
We need to be able to translate GPIO resources in an ACPI device's _CRS into GPIO descriptor array. Those are represented in _CRS as a pa
gpiolib: acpi: Introduce acpi_get_and_request_gpiod() helper
We need to be able to translate GPIO resources in an ACPI device's _CRS into GPIO descriptor array. Those are represented in _CRS as a pathname to a GPIO device plus the pin's index number: the acpi_get_gpiod() function is perfect for that purpose.
As it's currently only used internally within the GPIO layer, provide and export a wrapper function that additionally holds a reference to the GPIO device.
Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Daniel Scally <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]>
show more ...
|
|
Revision tags: v5.13-rc4, v5.13-rc3, v5.13-rc2, v5.13-rc1, v5.12, v5.12-rc8, v5.12-rc7, v5.12-rc6, v5.12-rc5, v5.12-rc4, v5.12-rc3, v5.12-rc2, v5.12-rc1, v5.12-rc1-dontuse |
|
| #
62d5247d |
| 25-Feb-2021 |
Andy Shevchenko <[email protected]> |
gpiolib: acpi: Add ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER quirk
On some systems the ACPI tables has wrong pin number and instead of having a relative one it provides an absolute one in the global GPIO numb
gpiolib: acpi: Add ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER quirk
On some systems the ACPI tables has wrong pin number and instead of having a relative one it provides an absolute one in the global GPIO number space.
Add ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER quirk to cope with such cases.
Fixes: ba8c90c61847 ("gpio: pca953x: Override IRQ for one of the expanders on Galileo Gen 2") Depends-on: 0ea683931adb ("gpio: dwapb: Convert driver to using the GPIO-lib-based IRQ-chip") Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Mika Westerberg <[email protected]> Acked-by: Linus Walleij <[email protected]>
show more ...
|
|
Revision tags: v5.11, v5.11-rc7, v5.11-rc6, v5.11-rc5, v5.11-rc4, v5.11-rc3, v5.11-rc2, v5.11-rc1, v5.10, v5.10-rc7, v5.10-rc6, v5.10-rc5, v5.10-rc4 |
|
| #
13daf489 |
| 09-Nov-2020 |
Andy Shevchenko <[email protected]> |
gpiolib: Replace unsigned by unsigned int
Replace unsigned by unsigned int in GPIO library code. Note, legacy API left untouched.
Signed-off-by: Andy Shevchenko <[email protected]>
gpiolib: Replace unsigned by unsigned int
Replace unsigned by unsigned int in GPIO library code. Note, legacy API left untouched.
Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Linus Walleij <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Reviewed-by: Mika Westerberg <[email protected]>
show more ...
|
|
Revision tags: v5.10-rc3, v5.10-rc2, v5.10-rc1, v5.9, v5.9-rc8, v5.9-rc7, v5.9-rc6, v5.9-rc5, v5.9-rc4, v5.9-rc3, v5.9-rc2, v5.9-rc1, v5.8, v5.8-rc7, v5.8-rc6, v5.8-rc5, v5.8-rc4, v5.8-rc3, v5.8-rc2, v5.8-rc1, v5.7, v5.7-rc7, v5.7-rc6, v5.7-rc5, v5.7-rc4, v5.7-rc3, v5.7-rc2, v5.7-rc1, v5.6 |
|
| #
8ced32ff |
| 24-Mar-2020 |
Geert Uytterhoeven <[email protected]> |
gpiolib: Introduce gpiod_set_config()
The GPIO Aggregator will need a method to forward a .set_config() call to its parent gpiochip. This requires obtaining the gpio_chip and offset for a given gpi
gpiolib: Introduce gpiod_set_config()
The GPIO Aggregator will need a method to forward a .set_config() call to its parent gpiochip. This requires obtaining the gpio_chip and offset for a given gpio_desc. While gpiod_to_chip() is public, gpio_chip_hwgpio() is not, so there is currently no method to obtain the needed GPIO offset parameter.
Hence introduce a public gpiod_set_config() helper, which invokes the .set_config() callback through a gpio_desc pointer, like is done for most other gpio_chip callbacks.
Rewrite the existing gpiod_set_debounce() helper as a wrapper around gpiod_set_config(), to avoid duplication.
Signed-off-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Linus Walleij <[email protected]>
show more ...
|
|
Revision tags: v5.6-rc7, v5.6-rc6, v5.6-rc5, v5.6-rc4, v5.6-rc3, v5.6-rc2, v5.6-rc1 |
|
| #
046e14af |
| 05-Feb-2020 |
Andy Shevchenko <[email protected]> |
gpio: Avoid kernel.h inclusion where it's possible
Inclusion of kernel.h increases the mess with the header dependencies. Avoid kernel.h inclusion where it's possible.
Besides that, clean up a bit
gpio: Avoid kernel.h inclusion where it's possible
Inclusion of kernel.h increases the mess with the header dependencies. Avoid kernel.h inclusion where it's possible.
Besides that, clean up a bit other inclusions inside GPIO subsystem headers. It includes: - removal pin control bits (forward declaration and header) from linux/gpio.h - removal of.h from asm-generic/gpio.h - use of explicit headers in gpio/consumer.h - add FIXME note with regard to gpio.h inclusion in of_gpio,h
Signed-off-by: Andy Shevchenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Linus Walleij <[email protected]>
show more ...
|