[PATCH RFC 2/3] pinctrl: spacemit: k3: add initial pin support
Yixun Lan
dlan at gentoo.org
Mon Dec 22 15:03:38 PST 2025
Hi Troy,
On 14:59 Mon 22 Dec , Troy Mitchell wrote:
> On Sat, Dec 20, 2025 at 06:14:54PM +0800, Yixun Lan wrote:
> > For the pinctrl IP of SpacemiT's K3 SoC, it has different register offset
> > comparing with previous SoC generation, so introduce a function to do the
> > pin to offset mapping. Also add all the pinctrl data.
> >
> > Signed-off-by: Yixun Lan <dlan at gentoo.org>
> > ---
> > drivers/pinctrl/spacemit/Kconfig | 4 +-
> > drivers/pinctrl/spacemit/pinctrl-k1.c | 354 +++++++++++++++++++++++++++++++++-
> > 2 files changed, 352 insertions(+), 6 deletions(-)
> >
> [...]
> > diff --git a/drivers/pinctrl/spacemit/pinctrl-k1.c b/drivers/pinctrl/spacemit/pinctrl-k1.c
> [...]
> > +static unsigned int spacemit_k3_pin_to_offset(unsigned int pin)
> > +{
> > + unsigned int offset = pin > 130 ? (pin + 2) : pin;
> Is this necessary? I think it's hard to read. Why not:
> ```
> if (pin > 130)
> pin += 2;
>
> return pin << 2;
> ```
> This avoids the extra variable and makes the code clearer.
> > +
> > + return offset << 2;
No, I do not want to change, it's pretty much a personal taste here,
I did similar as k1_pin_to_offset(), explicitly introduce a variable offset
to let reader know it convert from pin to offsett, which is more readable..
--
Yixun Lan (dlan)
More information about the linux-riscv
mailing list