Commit cda323d
pwm: bcm2835: Make sure the channel is enabled after pwm_request()
The .free callback cleared among others the enable bit PWENx in the
control register. When the PWM is requested later again this bit isn't
restored but the core assumes the PWM is enabled and thus skips a
request to configure the same state as before.
To fix that don't touch the hardware configuration in .free(). For
symmetry also drop .request() and configure the mode completely in
.apply().
Fixes: e5a06dc ("pwm: Add BCM2835 PWM driver")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20251118174303.1761577-2-u.kleine-koenig@baylibre.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>1 parent a5d51e0 commit cda323d
1 file changed
Lines changed: 3 additions & 25 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | 37 | | |
61 | 38 | | |
62 | 39 | | |
| |||
102 | 79 | | |
103 | 80 | | |
104 | 81 | | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
105 | 85 | | |
106 | 86 | | |
107 | 87 | | |
| |||
119 | 99 | | |
120 | 100 | | |
121 | 101 | | |
122 | | - | |
123 | | - | |
124 | 102 | | |
125 | 103 | | |
126 | 104 | | |
| |||
0 commit comments