From 020bdeded86fc8103dc101f7eb1602c0aa57bfae Mon Sep 17 00:00:00 2001 From: Jon Hunter Date: Thu, 14 Dec 2023 11:46:19 +0000 Subject: [PATCH] media: camera: Use conftest for devnode Use confest in the camera CDI and ISC drivers to determine if the 'devnode' function pointer under the class structure to take a const device struct. Also fix the commit in conftest that introduced the change to the 'devnode' function pointer. Bug 4346767 Change-Id: I66de39e079c13219e0ff3e7154c0e7ceb609a29d Signed-off-by: Jon Hunter Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3034763 (cherry picked from commit 891d093a7671b2f47ff82354191eab9fb420b6c3) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3037031 Tested-by: mobile promotions Reviewed-by: mobile promotions --- drivers/media/platform/tegra/cdi/cdi_mgr.c | 6 +++--- drivers/media/platform/tegra/isc/isc_mgr.c | 7 +++---- scripts/conftest/conftest.sh | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/media/platform/tegra/cdi/cdi_mgr.c b/drivers/media/platform/tegra/cdi/cdi_mgr.c index cb422568..76f4f218 100644 --- a/drivers/media/platform/tegra/cdi/cdi_mgr.c +++ b/drivers/media/platform/tegra/cdi/cdi_mgr.c @@ -1487,10 +1487,10 @@ static struct cdi_mgr_platform_data *of_cdi_mgr_pdata(struct platform_device return pd; } -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 2, 0) -static char *cdi_mgr_devnode(struct device *dev, umode_t *mode) -#else +#if defined(NV_CLASS_STRUCT_DEVNODE_HAS_CONST_DEV_ARG) /* Linux v6.2 */ static char *cdi_mgr_devnode(const struct device *dev, umode_t *mode) +#else +static char *cdi_mgr_devnode(struct device *dev, umode_t *mode) #endif { if (!mode) diff --git a/drivers/media/platform/tegra/isc/isc_mgr.c b/drivers/media/platform/tegra/isc/isc_mgr.c index 8474e7cc..06f12787 100644 --- a/drivers/media/platform/tegra/isc/isc_mgr.c +++ b/drivers/media/platform/tegra/isc/isc_mgr.c @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include @@ -957,10 +956,10 @@ static struct isc_mgr_platform_data *of_isc_mgr_pdata(struct platform_device return pd; } -#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 2, 0)) -static char *isc_mgr_devnode(struct device *dev, umode_t *mode) -#else +#if defined(NV_CLASS_STRUCT_DEVNODE_HAS_CONST_DEV_ARG) /* Linux v6.2 */ static char *isc_mgr_devnode(const struct device *dev, umode_t *mode) +#else +static char *isc_mgr_devnode(struct device *dev, umode_t *mode) #endif { if (!mode) diff --git a/scripts/conftest/conftest.sh b/scripts/conftest/conftest.sh index 893a45f2..7ef60daa 100755 --- a/scripts/conftest/conftest.sh +++ b/scripts/conftest/conftest.sh @@ -6521,7 +6521,7 @@ compile_test() { # Determine if the 'class' structure devnode function pointer # has const 'struct dev' argument. # - # Commit 43a7206b0963 ("driver core: class: make class_register() + # Commit ff62b8e6588f ("driver core: make struct class.devnode() # take a const *") updated the class_register function to take a # const class structure in Linux v6.2. #