[PATCH v3] pinctrl: intel: move PWM base computation past feature check

From: Stepan Ionichev

Date: Sun May 17 2026 - 12:15:55 EST


Compute base inside intel_pinctrl_probe_pwm() only after the
PINCTRL_FEATURE_PWM and CONFIG_PWM_LPSS checks have passed. Tidy
up; no functional change.

Suggested-by: Andy Shevchenko <andy@xxxxxxxxxx>
Link: https://lore.kernel.org/linux-gpio/aglu5jy5SbW9Wjwj@ashevche-desk.local/
Signed-off-by: Stepan Ionichev <sozdayvek@xxxxxxxxx>
---
Changes since v2:
- Trim commit message per Andy.

Changes since v1:
- Drop the array zero-initialisation approach.
- Move base assignment past the feature checks, per Andy.
- Drop the Fixes: tag.

v2: https://lore.kernel.org/linux-gpio/20260517154002.1994-1-sozdayvek@xxxxxxxxx/
v1: https://lore.kernel.org/linux-gpio/20260515150049.33761-1-sozdayvek@xxxxxxxxx/

drivers/pinctrl/intel/pinctrl-intel.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c
index 97bf5ec78..2e2526e01 100644
--- a/drivers/pinctrl/intel/pinctrl-intel.c
+++ b/drivers/pinctrl/intel/pinctrl-intel.c
@@ -1556,13 +1556,13 @@ static int intel_pinctrl_probe_pwm(struct intel_pinctrl *pctrl,
struct intel_community *community,
unsigned short capability_offset)
{
- void __iomem *base = community->regs + capability_offset + 4;
static const struct pwm_lpss_boardinfo info = {
.clk_rate = 19200000,
.npwm = 1,
.base_unit_bits = 22,
};
struct pwm_chip *chip;
+ void __iomem *base;

if (!(community->features & PINCTRL_FEATURE_PWM))
return 0;
@@ -1570,6 +1570,7 @@ static int intel_pinctrl_probe_pwm(struct intel_pinctrl *pctrl,
if (!IS_REACHABLE(CONFIG_PWM_LPSS))
return 0;

+ base = community->regs + capability_offset + 4;
chip = devm_pwm_lpss_probe(pctrl->dev, base, &info);
return PTR_ERR_OR_ZERO(chip);
}
--
2.43.0