[PATCH v3 0/2] Support sparse unidirectional GPIO lines.

Linus Walleij posted 2 patches 1 month ago
drivers/gpio/gpio-regmap.c  | 74 ++++++++++++++++++++++++++++++++++++++++++---
include/linux/gpio/regmap.h |  7 +++++
2 files changed, 77 insertions(+), 4 deletions(-)
[PATCH v3 0/2] Support sparse unidirectional GPIO lines.
Posted by Linus Walleij 1 month ago
This adds a fixed_direction_mask bitmap to the regmap GPIO
config and state holder. This works the following way:

- If the bitmap is NULL all GPIOs are assumed to be fixed
  direction and that is specified in fixed_direction_output.
  This makes sure old drivers keep working as before.

- If the fixed_direction_mask bitmap is present (!= NULL)
  the lines set to 1 in the bitmask are fixed direction,
  all other lines can change their direction dynamically.

To be used in a forthcoming submission.

As a consequence, be more elaborate when handling direction
setting (patch 2).

Signed-off-by: Linus Walleij <linusw@kernel.org>
---
Changes in v3:
- Rename fixed_direction_sparse to fixed_direction_mask which is more
  to the point.
- Make gpio_regmap_set_direction() fail if the requested direction is
  not the same as the fixed direction.
- Augment gpio_regmap_direction_output() such that it will first check
  if the line is a fixed direction line and only continue if it is
  fixed as output in this case.
- Link to v2: https://patch.msgid.link/20260508-regmap-gpio-sparse-fixed-dir-v2-0-deee84df3027@kernel.org

Changes in v2:
- Make a second patch to exclude setting on unidirectional
  lines.
- Link to v1: https://patch.msgid.link/20260507-regmap-gpio-sparse-fixed-dir-v1-1-a2e5855e2701@kernel.org

---
Linus Walleij (2):
      gpio: regmap: Support sparsed fixed direction
      gpio: regmap: Don't set a fixed direction line

 drivers/gpio/gpio-regmap.c  | 74 ++++++++++++++++++++++++++++++++++++++++++---
 include/linux/gpio/regmap.h |  7 +++++
 2 files changed, 77 insertions(+), 4 deletions(-)
---
base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731
change-id: 20260507-regmap-gpio-sparse-fixed-dir-1d5c0d2e2c6f

Best regards,
--  
Linus Walleij <linusw@kernel.org>
Re: [PATCH v3 0/2] Support sparse unidirectional GPIO lines.
Posted by Bartosz Golaszewski 1 month ago
On Mon, 11 May 2026 21:43:42 +0200, Linus Walleij wrote:
> This adds a fixed_direction_mask bitmap to the regmap GPIO
> config and state holder. This works the following way:
> 
> - If the bitmap is NULL all GPIOs are assumed to be fixed
>   direction and that is specified in fixed_direction_output.
>   This makes sure old drivers keep working as before.
> 
> [...]

Applied, thanks!

[1/2] gpio: regmap: Support sparsed fixed direction
      https://git.kernel.org/brgl/c/68d801eabda5219dcc25c9de98d3bbdb5b51b0a5
[2/2] gpio: regmap: Don't set a fixed direction line
      https://git.kernel.org/brgl/c/806e7acf7f331008637b4f8ecf211eb0a082e6eb

Best regards,
-- 
Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>