[REGRESSION] PWM vibrator does not probe with v6.9-rc1

From: Karel Balej
Date: Thu Mar 28 2024 - 12:27:31 EST


Uwe,

I am working on bringing the mainline Linux to my old smartphone. Most
of the changes are not yet in-tree.

The phone has a PWM vibrator for which the corresponding input driver
(pwm-vibrator) is used. The driver used for the PWM is pwm-pxa (or
pxa25x-pwm).

The DT nodes look like this

[...]
pwm: pwm@1ac00 {
compatible = "marvell,pxa250-pwm";
reg = <0x1ac00 0x10>;
#pwm-cells = <1>;
clocks = <&apbc PXA1908_CLK_PWM3>;
};
[...]
vibrator {
compatible = "pwm-vibrator";
pwm-names = "enable";
pwms = <&pwm 100000>;
enable-gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&vibrator_pins>;
};
[...]

The vibrator worked fine with v6.8-rc6 but after I rebased to v6.9-rc1,
it no longer probes printing

[ +0.000118] pwm-vibrator vibrator: failed to apply initial PWM state: -22

to dmesg.

I have bisected the problem to 40ade0c2e794 ("pwm: Let the of_xlate
callbacks accept references without period").

Looking at the commit and adjacent history, I don't believe this problem
is caused by this still being an out-of-tree DT, nonetheless, if it
proves to be the case, then I apologize for false alarm.

Would you please take a look?

Thank you and kind regards,
K. B.

#regzbot introduced: 40ade0c2e794