diff --git a/drivers/media/platform/tegra/cdi/cdi_pwm.c b/drivers/media/platform/tegra/cdi/cdi_pwm.c index e97b1525..bf23b9d4 100644 --- a/drivers/media/platform/tegra/cdi/cdi_pwm.c +++ b/drivers/media/platform/tegra/cdi/cdi_pwm.c @@ -105,8 +105,11 @@ static struct pwm_device *of_cdi_pwm_xlate(struct pwm_chip *pc, #endif int err = 0; - pwm = pwm_request_from_chip(pc, args->args[0], NULL); - if (!args->args[1]) { + pwm = of_pwm_xlate_with_flags(pc, args); + if (IS_ERR(pwm)) + return NULL; + + if (!pwm->args.period) { dev_err(dev, "Period should be larger than 0\n"); return NULL; } diff --git a/drivers/media/platform/tegra/isc/isc_pwm.c b/drivers/media/platform/tegra/isc/isc_pwm.c index 11075893..56fedac5 100644 --- a/drivers/media/platform/tegra/isc/isc_pwm.c +++ b/drivers/media/platform/tegra/isc/isc_pwm.c @@ -105,8 +105,11 @@ static struct pwm_device *of_isc_pwm_xlate(struct pwm_chip *pc, #endif int err = 0; - pwm = pwm_request_from_chip(pc, args->args[0], NULL); - if (!args->args[1]) { + pwm = of_pwm_xlate_with_flags(pc, args); + if (IS_ERR(pwm)) + return NULL; + + if (!pwm->args.period) { dev_err(dev, "Period should be larger than 0\n"); return NULL; }