From 11de2bc045b1d9d9a54d2558ec49234d9a2b2765 Mon Sep 17 00:00:00 2001 From: Jon Hunter Date: Fri, 26 Jul 2024 16:35:30 +0100 Subject: [PATCH] tegra: hwpm: Fix build for Linux v6.11 In Linux v6.11, the 'platform_driver' structure 'remove' callback was updated to return void instead of 'int'. Update the Tegra HWPM driver as necessary to fix this. Bug 4749580 Change-Id: Ide44224bb3e5d0a000a252b4a8117ca203904a54 Signed-off-by: Jon Hunter Reviewed-on: https://git-master.nvidia.com/r/c/linux-hwpm/+/3183043 GVS: buildbot_gerritrpt Reviewed-by: Vedashree Vidwans --- drivers/tegra/hwpm/os/linux/driver.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/tegra/hwpm/os/linux/driver.c b/drivers/tegra/hwpm/os/linux/driver.c index cf5c531..f16bcda 100644 --- a/drivers/tegra/hwpm/os/linux/driver.c +++ b/drivers/tegra/hwpm/os/linux/driver.c @@ -253,9 +253,21 @@ static int tegra_hwpm_remove(struct platform_device *pdev) return 0; } +#if defined(NV_PLATFORM_DRIVER_STRUCT_REMOVE_RETURNS_VOID) /* Linux v6.11 */ +static inline void tegra_hwpm_remove_wrapper(struct platform_device *pdev) +{ + tegra_hwpm_remove(pdev); +} +#else +static inline int tegra_hwpm_remove_wrapper(struct platform_device *pdev) +{ + return tegra_hwpm_remove(pdev); +} +#endif + static struct platform_driver tegra_soc_hwpm_pdrv = { .probe = tegra_hwpm_probe, - .remove = tegra_hwpm_remove, + .remove = tegra_hwpm_remove_wrapper, .driver = { .name = TEGRA_SOC_HWPM_MODULE_NAME, .of_match_table = of_match_ptr(tegra_soc_hwpm_of_match),