All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.