[PATCH 1/3] pwm: process pwm polarity argument in of_pwm_simple_xlate()

Vladimir Zapolskiy vladimir_zapolskiy at mentor.com
Fri Oct 10 08:50:05 PDT 2014

The third optional argument of pwms is well defined as polarity and it
is already used in a number of pwm drivers, so, to minimize changes in
the remaining drivers which are to be updated accordingly set polarity
in default of_xlate() function.

Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy at mentor.com>
Cc: Lothar Waßmann <LW at KARO-electronics.de>
Cc: Sascha Hauer <s.hauer at pengutronix.de>
Cc: Thierry Reding <thierry.reding at gmail.com>
Cc: Shawn Guo <shawn.guo at linaro.org>
 drivers/pwm/core.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index 966497d..681d154 100644
--- a/drivers/pwm/core.c
+++ b/drivers/pwm/core.c
@@ -174,6 +174,13 @@ of_pwm_simple_xlate(struct pwm_chip *pc, const struct of_phandle_args *args)
 	pwm_set_period(pwm, args->args[1]);
+	if (pc->of_pwm_n_cells > 2) {
+		if (args->args[2] & PWM_POLARITY_INVERTED)
+			pwm_set_polarity(pwm, PWM_POLARITY_INVERSED);
+		else
+			pwm_set_polarity(pwm, PWM_POLARITY_NORMAL);
+	}
 	return pwm;

More information about the linux-arm-kernel mailing list