From: Conor Dooley <conor@kernel.org>
To: Linus Walleij <linusw@kernel.org>
Cc: conor@kernel.org, Conor Dooley <conor.dooley@microchip.com>,
Yixun Lan <dlan@kernel.org>,
Troy Mitchell <troy.mitchell@linux.spacemit.com>,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-riscv@lists.infradead.org, spacemit@lists.linux.dev
Subject: [RFC v1 0/4] generic pinmux dt_node_to_map implementation
Date: Wed, 6 May 2026 10:57:38 +0100 [thread overview]
Message-ID: <20260506-energize-dramatize-051909e54256@spud> (raw)
From: Conor Dooley <conor.dooley@microchip.com>
Hey Linus,
Whipped this up last week, at to a first glance it appears to work,
although the spacemit platform I've used to implement this has very
limited in-tree use of pinctrl so it is hard to be sure.
What I don't love though is how similar the functions
pinctrl_generic_pins_function_dt_node_to_map() and
pinctrl_generic_pinmux_dt_node_to_map() are - essentially identical
other than which function they in turn call.
Basically, I wanna know if you think that that is acceptable, or if
you'd rather see something that's totally generic between the two
and figures out which foo_dt_subnode_to_map() function to call*,
or convert pinctrl_generic_pins_function_dt_node_to_map() and
pinctrl_generic_pinmux_dt_node_to_map() to wrappers that pass a function
pointer of the appropriate foo_dt_subnode_to_map() to a shared node
parsing function, or some third option that I have not considered.
If you try to apply this, it's on top of Frank's mux series. It's also
here if any of the spacemit-ters want to look at what I did to their
driver:
https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/log/?h=spacemit-pinctrl
None of the patches have real commit messages due to this being RFC :)
Cheers,
Conor.
* pinmux/pins + functions/groups + functions I think are the only
really valid combinations here, so it wouldn't be too difficult to
arrange that logic.
CC: Linus Walleij <linusw@kernel.org>
CC: Yixun Lan <dlan@kernel.org>
CC: Conor Dooley <conor.dooley@microchip.com>
CC: Troy Mitchell <troy.mitchell@linux.spacemit.com>
CC: linux-gpio@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: linux-riscv@lists.infradead.org
CC: spacemit@lists.linux.dev
Conor Dooley (4):
pinctrl: generic: change signature of pinctrl_generic_to_map() to pass
void data
pinctrl: add new generic groups/function creation function for pinmux
pinctrl: spacemit: delete check_power()
pinctrl: spacemit: move over to generic pinmux dt_node_to_map
implementation
drivers/pinctrl/pinconf.h | 20 +++-
drivers/pinctrl/pinctrl-generic.c | 139 +++++++++++++++++++++++++-
drivers/pinctrl/spacemit/pinctrl-k1.c | 70 +++----------
3 files changed, 164 insertions(+), 65 deletions(-)
--
2.53.0
WARNING: multiple messages have this Message-ID (diff)
From: Conor Dooley <conor@kernel.org>
To: Linus Walleij <linusw@kernel.org>
Cc: conor@kernel.org, Conor Dooley <conor.dooley@microchip.com>,
Yixun Lan <dlan@kernel.org>,
Troy Mitchell <troy.mitchell@linux.spacemit.com>,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-riscv@lists.infradead.org, spacemit@lists.linux.dev
Subject: [RFC v1 0/4] generic pinmux dt_node_to_map implementation
Date: Wed, 6 May 2026 10:57:38 +0100 [thread overview]
Message-ID: <20260506-energize-dramatize-051909e54256@spud> (raw)
From: Conor Dooley <conor.dooley@microchip.com>
Hey Linus,
Whipped this up last week, at to a first glance it appears to work,
although the spacemit platform I've used to implement this has very
limited in-tree use of pinctrl so it is hard to be sure.
What I don't love though is how similar the functions
pinctrl_generic_pins_function_dt_node_to_map() and
pinctrl_generic_pinmux_dt_node_to_map() are - essentially identical
other than which function they in turn call.
Basically, I wanna know if you think that that is acceptable, or if
you'd rather see something that's totally generic between the two
and figures out which foo_dt_subnode_to_map() function to call*,
or convert pinctrl_generic_pins_function_dt_node_to_map() and
pinctrl_generic_pinmux_dt_node_to_map() to wrappers that pass a function
pointer of the appropriate foo_dt_subnode_to_map() to a shared node
parsing function, or some third option that I have not considered.
If you try to apply this, it's on top of Frank's mux series. It's also
here if any of the spacemit-ters want to look at what I did to their
driver:
https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/log/?h=spacemit-pinctrl
None of the patches have real commit messages due to this being RFC :)
Cheers,
Conor.
* pinmux/pins + functions/groups + functions I think are the only
really valid combinations here, so it wouldn't be too difficult to
arrange that logic.
CC: Linus Walleij <linusw@kernel.org>
CC: Yixun Lan <dlan@kernel.org>
CC: Conor Dooley <conor.dooley@microchip.com>
CC: Troy Mitchell <troy.mitchell@linux.spacemit.com>
CC: linux-gpio@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: linux-riscv@lists.infradead.org
CC: spacemit@lists.linux.dev
Conor Dooley (4):
pinctrl: generic: change signature of pinctrl_generic_to_map() to pass
void data
pinctrl: add new generic groups/function creation function for pinmux
pinctrl: spacemit: delete check_power()
pinctrl: spacemit: move over to generic pinmux dt_node_to_map
implementation
drivers/pinctrl/pinconf.h | 20 +++-
drivers/pinctrl/pinctrl-generic.c | 139 +++++++++++++++++++++++++-
drivers/pinctrl/spacemit/pinctrl-k1.c | 70 +++----------
3 files changed, 164 insertions(+), 65 deletions(-)
--
2.53.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next reply other threads:[~2026-05-06 9:58 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-06 9:57 Conor Dooley [this message]
2026-05-06 9:57 ` [RFC v1 0/4] generic pinmux dt_node_to_map implementation Conor Dooley
2026-05-06 9:57 ` [RFC v1 1/4] pinctrl: generic: change signature of pinctrl_generic_to_map() to pass void data Conor Dooley
2026-05-06 9:57 ` Conor Dooley
2026-05-06 9:57 ` [RFC v1 2/4] pinctrl: add new generic groups/function creation function for pinmux Conor Dooley
2026-05-06 9:57 ` Conor Dooley
2026-05-06 9:57 ` [RFC v1 3/4] pinctrl: spacemit: delete check_power() Conor Dooley
2026-05-06 9:57 ` Conor Dooley
2026-05-06 9:57 ` [RFC v1 4/4] pinctrl: spacemit: move over to generic pinmux dt_node_to_map implementation Conor Dooley
2026-05-06 9:57 ` Conor Dooley
2026-05-11 20:23 ` [RFC v1 0/4] " Linus Walleij
2026-05-11 20:23 ` Linus Walleij
2026-05-14 18:57 ` Conor Dooley
2026-05-14 18:57 ` Conor Dooley
2026-05-14 19:40 ` Conor Dooley
2026-05-14 19:40 ` Conor Dooley
2026-05-14 19:42 ` Conor Dooley
2026-05-14 19:42 ` Conor Dooley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260506-energize-dramatize-051909e54256@spud \
--to=conor@kernel.org \
--cc=conor.dooley@microchip.com \
--cc=dlan@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=spacemit@lists.linux.dev \
--cc=troy.mitchell@linux.spacemit.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.