Message ID | 20190830182641.81502-1-andriy.shevchenko@linux.intel.com |
---|---|
State | Superseded |
Headers | show |
Series | [v1] pwm: pca9685: Fix regression for GPIO use | expand |
diff --git a/drivers/pwm/pwm-pca9685.c b/drivers/pwm/pwm-pca9685.c index 168684b02ebc..7cdec56ab3ec 100644 --- a/drivers/pwm/pwm-pca9685.c +++ b/drivers/pwm/pwm-pca9685.c @@ -165,6 +165,7 @@ static void pca9685_pwm_gpio_free(struct gpio_chip *gpio, unsigned int offset) pm_runtime_put(pca->chip.dev); mutex_lock(&pca->lock); pwm = &pca->chip.pwms[offset]; + pwm_set_chip_data(pwm, NULL); mutex_unlock(&pca->lock); }
The commit e926b12c611c ("pwm: Clear chip_data in pwm_put()") breaks GPIO usage by actually removing a crucial call to pwm_set_chip_data(), which is being used as a flag to understand the mode (GPIO vs. PWM) in which pin is currently working. Now, if once I requested GPIO, I may not be able to free and request it again. Fixes: e926b12c611c ("pwm: Clear chip_data in pwm_put()") breaks GPIO usage Cc: Mika Westerberg <mika.westerberg@linux.intel.com> Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/pwm/pwm-pca9685.c | 1 + 1 file changed, 1 insertion(+)