Linux GPIO subsystem development
 help / color / mirror / Atom feed
* [PATCH v3 0/2] Support sparse unidirectional GPIO lines.
@ 2026-05-11 19:43 Linus Walleij
  2026-05-11 19:43 ` [PATCH v3 1/2] gpio: regmap: Support sparsed fixed direction Linus Walleij
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Linus Walleij @ 2026-05-11 19:43 UTC (permalink / raw)
  To: Alex Elder, Michael Walle, Bartosz Golaszewski
  Cc: linux-gpio, linux-kernel, Linus Walleij, Sashiko

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>


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-05-12  9:55 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-11 19:43 [PATCH v3 0/2] Support sparse unidirectional GPIO lines Linus Walleij
2026-05-11 19:43 ` [PATCH v3 1/2] gpio: regmap: Support sparsed fixed direction Linus Walleij
2026-05-11 21:06   ` Alex Elder
2026-05-12  6:55   ` Michael Walle
2026-05-11 19:43 ` [PATCH v3 2/2] gpio: regmap: Don't set a fixed direction line Linus Walleij
2026-05-11 21:06   ` Alex Elder
2026-05-11 21:45     ` Linus Walleij
2026-05-12  9:55       ` Bartosz Golaszewski
2026-05-12  7:00   ` Michael Walle
2026-05-12  9:54 ` [PATCH v3 0/2] Support sparse unidirectional GPIO lines Bartosz Golaszewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox