The need for set_polarity() function has been removed by implementing PWM atomic support (apply() callback).
To indicate that the PWMv2 supports polarity inversion, new flag - "polarity_supported" has been introduced. Signed-off-by: Lukasz Majewski <l.majew...@majess.pl> --- drivers/pwm/pwm-imx.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c index 02d3dfd..be3034d 100644 --- a/drivers/pwm/pwm-imx.c +++ b/drivers/pwm/pwm-imx.c @@ -258,6 +258,7 @@ static struct pwm_ops imx_pwm_ops_v2 = { }; struct imx_pwm_data { + bool polarity_supported; struct pwm_ops *pwm_ops; }; @@ -266,6 +267,7 @@ static struct imx_pwm_data imx_pwm_data_v1 = { }; static struct imx_pwm_data imx_pwm_data_v2 = { + .polarity_supported = true, .pwm_ops = &imx_pwm_ops_v2, }; @@ -313,7 +315,7 @@ static int imx_pwm_probe(struct platform_device *pdev) imx->chip.base = -1; imx->chip.npwm = 1; imx->chip.can_sleep = true; - if (data->pwm_ops->set_polarity) { + if (data->polarity_supported) { dev_dbg(&pdev->dev, "PWM supports output inversion\n"); imx->chip.of_xlate = of_pwm_xlate_with_flags; imx->chip.of_pwm_n_cells = 3; -- 2.1.4