media: camera: Use of_pwm_xlate_with_flags()

In Linux v6.11, commit d6f66e292676 ("pwm: Make pwm_request_from_chip()
private to the core") made the function pwm_request_from_chip() a
private function to the PWM core driver. This function is used by both
the CDI and ISC camera drivers and so these driver no longer build
against Linux v6.11.

Fix this by updating the CDI and ISC drivers to use the function
of_pwm_xlate_with_flags() which has been supported since Linux v3.8.
This function internally calls pwm_request_from_chip() and configures
the pwm->args.period parameter and is therefore, equivalent to the
existing code.

Bug 4749580

Change-Id: Id1381ebc08730aaaa6c3591d90bcc4cc95a6c235
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3176063
(cherry picked from commit f308807197)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3178155
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
This commit is contained in:
Jon Hunter
2024-06-19 16:25:50 +01:00
committed by mobile promotions
parent f2d3ec994c
commit 913e17563b
2 changed files with 10 additions and 4 deletions

View File

@@ -106,8 +106,11 @@ static struct pwm_device *of_cdi_pwm_xlate(struct pwm_chip *pc,
#endif #endif
int err = 0; int err = 0;
pwm = pwm_request_from_chip(pc, args->args[0], NULL); pwm = of_pwm_xlate_with_flags(pc, args);
if (!args->args[1]) { if (IS_ERR(pwm))
return NULL;
if (!pwm->args.period) {
dev_err(dev, "Period should be larger than 0\n"); dev_err(dev, "Period should be larger than 0\n");
return NULL; return NULL;
} }

View File

@@ -106,8 +106,11 @@ static struct pwm_device *of_isc_pwm_xlate(struct pwm_chip *pc,
#endif #endif
int err = 0; int err = 0;
pwm = pwm_request_from_chip(pc, args->args[0], NULL); pwm = of_pwm_xlate_with_flags(pc, args);
if (!args->args[1]) { if (IS_ERR(pwm))
return NULL;
if (!pwm->args.period) {
dev_err(dev, "Period should be larger than 0\n"); dev_err(dev, "Period should be larger than 0\n");
return NULL; return NULL;
} }