diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2024-01-24 11:12:04 +0300 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2024-03-12 23:07:12 +0300 |
commit | 8129d25e32b7fd0f77bc664252321f3a16bb26b8 (patch) | |
tree | 4495b024e2c76d945e9f31cfa51cdd51900b51f5 /drivers/bus/ts-nbus.c | |
parent | f0379bd1c7da4d2d426e201d2649681801967e3b (diff) | |
download | linux-8129d25e32b7fd0f77bc664252321f3a16bb26b8.tar.xz |
bus: ts-nbus: Convert to atomic pwm API
With this change the PWM hardware is only configured once (instead of
three times).
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'drivers/bus/ts-nbus.c')
-rw-r--r-- | drivers/bus/ts-nbus.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/drivers/bus/ts-nbus.c b/drivers/bus/ts-nbus.c index 4fa932cb0915..19c5d1f4e4d7 100644 --- a/drivers/bus/ts-nbus.c +++ b/drivers/bus/ts-nbus.c @@ -273,7 +273,7 @@ EXPORT_SYMBOL_GPL(ts_nbus_write); static int ts_nbus_probe(struct platform_device *pdev) { struct pwm_device *pwm; - struct pwm_args pargs; + struct pwm_state state; struct device *dev = &pdev->dev; struct ts_nbus *ts_nbus; int ret; @@ -296,25 +296,22 @@ static int ts_nbus_probe(struct platform_device *pdev) return ret; } - pwm_get_args(pwm, &pargs); - if (!pargs.period) { + pwm_init_state(pwm, &state); + if (!state.period) { dev_err(&pdev->dev, "invalid PWM period\n"); return -EINVAL; } - /* - * FIXME: pwm_apply_args() should be removed when switching to - * the atomic PWM API. - */ - pwm_apply_args(pwm); - ret = pwm_config(pwm, pargs.period, pargs.period); + state.duty_cycle = state.period; + state.enabled = true; + + ret = pwm_apply_state(pwm, &state); if (ret < 0) return ret; /* * we can now start the FPGA and populate the peripherals. */ - pwm_enable(pwm); ts_nbus->pwm = pwm; /* |