From: Uwe Kleine-König Date: Wed, 24 Jan 2024 08:12:04 +0000 (+0100) Subject: bus: ts-nbus: Convert to atomic pwm API X-Git-Tag: v6.9-rc1~52^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8129d25e32b7fd0f77bc664252321f3a16bb26b8;p=thirdparty%2Fkernel%2Flinux.git 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 Signed-off-by: Arnd Bergmann --- diff --git a/drivers/bus/ts-nbus.c b/drivers/bus/ts-nbus.c index 4fa932cb09150..19c5d1f4e4d7f 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; /*