[PATCH] pwm: pxa: Depend on OF and simplify accordingly

From: Uwe Kleine-König (The Capable Hub)

Date: Sun Jul 05 2026 - 04:40:17 EST


The SoCs that this driver actually works on all imply OF already. (ARM
selects USE_OF unless some archs are enabled that cannot be selected
together with ARCH_PXA or ARCH_MMP, ARM64 and RISCV select OF.)

With OF known to be enabled a few conditionals in the driver can be
simplified.

Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@xxxxxxxxxxxx>
---
Hello,

while doing a treewide cleanup I wondered if these conditionals are
relevant at all. A bit of research found they are not. We will get over
losing compile coverage for COMPILE_TEST && !OF.

Best regards
Uwe

drivers/pwm/Kconfig | 2 +-
drivers/pwm/pwm-pxa.c | 10 ++--------
2 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
index e8886a9b64d9..729776086879 100644
--- a/drivers/pwm/Kconfig
+++ b/drivers/pwm/Kconfig
@@ -569,7 +569,7 @@ config PWM_PCA9685
config PWM_PXA
tristate "PXA PWM support"
depends on ARCH_PXA || ARCH_MMP || ARCH_SPACEMIT || COMPILE_TEST
- depends on HAS_IOMEM
+ depends on HAS_IOMEM && OF
help
Generic PWM framework driver for PXA.

diff --git a/drivers/pwm/pwm-pxa.c b/drivers/pwm/pwm-pxa.c
index 156c0c74cd80..c4d73acfac49 100644
--- a/drivers/pwm/pwm-pxa.c
+++ b/drivers/pwm/pwm-pxa.c
@@ -136,7 +136,6 @@ static const struct pwm_ops pxa_pwm_ops = {
.apply = pxa_pwm_apply,
};

-#ifdef CONFIG_OF
/*
* Device tree users must create one device instance for each PWM channel.
* Hence we dispense with the HAS_SECONDARY_PWM and "tell" the original driver
@@ -151,9 +150,6 @@ static const struct of_device_id pwm_of_match[] = {
{ }
};
MODULE_DEVICE_TABLE(of, pwm_of_match);
-#else
-#define pwm_of_match NULL
-#endif

static int pwm_probe(struct platform_device *pdev)
{
@@ -165,7 +161,7 @@ static int pwm_probe(struct platform_device *pdev)
struct reset_control *rst;
int ret = 0;

- if (IS_ENABLED(CONFIG_OF) && id == NULL)
+ if (id == NULL)
id = of_device_get_match_data(dev);

if (id == NULL)
@@ -191,9 +187,7 @@ static int pwm_probe(struct platform_device *pdev)
return PTR_ERR(rst);

chip->ops = &pxa_pwm_ops;
-
- if (IS_ENABLED(CONFIG_OF))
- chip->of_xlate = of_pwm_single_xlate;
+ chip->of_xlate = of_pwm_single_xlate;

pc->mmio_base = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(pc->mmio_base))

base-commit: 2b763db0c2763d6bf73d7d3e69665222d1f377cf
--
2.55.0.11.g153666a7d9bb