mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
drivers: pwm: Fix build for Linux v6.8
Commit 54c86dd20bba ("pwm: Replace PWM chip unique base by unique ID")
removed the 'base' field of the 'pwm_chip' structure replacing it with
an 'id' field. The new 'id' is initialised by the PWM driver core and
does not need to be configured by the PWM drivers.
Add a test for conftest to detect if the 'pwm_chip' structure has the
'base' field and update the various PWM driver to only set this field if
present.
Bug 4448428
Change-Id: I7cf466eddba4aedb57db84534e3cbf99be64151e
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3027486
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
8d5286c379
commit
10fd025187
@@ -1,5 +1,5 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
// Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
// Copyright (c) 2016-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||||
|
|
||||||
#include <nvidia/conftest.h>
|
#include <nvidia/conftest.h>
|
||||||
|
|
||||||
@@ -162,7 +162,9 @@ static int cdi_pwm_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
info->chip.dev = &pdev->dev;
|
info->chip.dev = &pdev->dev;
|
||||||
info->chip.ops = &cdi_pwm_ops;
|
info->chip.ops = &cdi_pwm_ops;
|
||||||
|
#if defined(NV_PWM_CHIP_STRUCT_HAS_BASE_ARG)
|
||||||
info->chip.base = -1;
|
info->chip.base = -1;
|
||||||
|
#endif
|
||||||
info->chip.npwm = npwm;
|
info->chip.npwm = npwm;
|
||||||
info->chip.of_xlate = of_cdi_pwm_xlate;
|
info->chip.of_xlate = of_cdi_pwm_xlate;
|
||||||
info->chip.of_pwm_n_cells = 2;
|
info->chip.of_pwm_n_cells = 2;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
// Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
// Copyright (c) 2016-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||||
|
|
||||||
#include <nvidia/conftest.h>
|
#include <nvidia/conftest.h>
|
||||||
|
|
||||||
@@ -162,7 +162,9 @@ static int isc_pwm_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
info->chip.dev = &pdev->dev;
|
info->chip.dev = &pdev->dev;
|
||||||
info->chip.ops = &isc_pwm_ops;
|
info->chip.ops = &isc_pwm_ops;
|
||||||
|
#if defined(NV_PWM_CHIP_STRUCT_HAS_BASE_ARG)
|
||||||
info->chip.base = -1;
|
info->chip.base = -1;
|
||||||
|
#endif
|
||||||
info->chip.npwm = npwm;
|
info->chip.npwm = npwm;
|
||||||
info->chip.of_xlate = of_isc_pwm_xlate;
|
info->chip.of_xlate = of_isc_pwm_xlate;
|
||||||
info->chip.of_pwm_n_cells = 2;
|
info->chip.of_pwm_n_cells = 2;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
// Copyright (c) 2022-2023, NVIDIA CORPORATION. All rights reserved.
|
// Copyright (c) 2022-2024, NVIDIA CORPORATION. All rights reserved.
|
||||||
|
|
||||||
#include <nvidia/conftest.h>
|
#include <nvidia/conftest.h>
|
||||||
|
|
||||||
@@ -429,7 +429,9 @@ static int pwm_tegra_tach_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
ptt->chip.dev = &pdev->dev;
|
ptt->chip.dev = &pdev->dev;
|
||||||
ptt->chip.ops = &pwm_tegra_tach_ops;
|
ptt->chip.ops = &pwm_tegra_tach_ops;
|
||||||
|
#if defined(NV_PWM_CHIP_STRUCT_HAS_BASE_ARG)
|
||||||
ptt->chip.base = -1;
|
ptt->chip.base = -1;
|
||||||
|
#endif
|
||||||
ptt->chip.npwm = 1;
|
ptt->chip.npwm = 1;
|
||||||
|
|
||||||
ret = pwmchip_add(&ptt->chip);
|
ret = pwmchip_add(&ptt->chip);
|
||||||
|
|||||||
@@ -135,6 +135,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += of_get_named_gpio_flags
|
|||||||
NV_CONFTEST_FUNCTION_COMPILE_TESTS += gpio_chip_struct_has_of_node_present
|
NV_CONFTEST_FUNCTION_COMPILE_TESTS += gpio_chip_struct_has_of_node_present
|
||||||
NV_CONFTEST_FUNCTION_COMPILE_TESTS += gpiochip_find
|
NV_CONFTEST_FUNCTION_COMPILE_TESTS += gpiochip_find
|
||||||
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pde_data
|
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pde_data
|
||||||
|
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pwm_chip_struct_has_base_arg
|
||||||
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pwm_ops_struct_has_owner
|
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pwm_ops_struct_has_owner
|
||||||
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pwm_ops_struct_has_config
|
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pwm_ops_struct_has_config
|
||||||
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pci_epc_event_ops_struct_has_core_deinit
|
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pci_epc_event_ops_struct_has_core_deinit
|
||||||
|
|||||||
@@ -7163,6 +7163,23 @@ compile_test() {
|
|||||||
compile_check_conftest "$CODE" "NV_MII_BUS_STRUCT_HAS_WRITE_C45" "" "types"
|
compile_check_conftest "$CODE" "NV_MII_BUS_STRUCT_HAS_WRITE_C45" "" "types"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
pwm_chip_struct_has_base_arg)
|
||||||
|
#
|
||||||
|
# Determine if 'struct pwm_chip' has the 'base' field.
|
||||||
|
#
|
||||||
|
# Commit 54c86dd20bba ("pwm: Replace PWM chip unique base by unique ID")
|
||||||
|
# removed the 'base' field of the 'pwm_chip' structure replacing it with
|
||||||
|
# an 'id' field.
|
||||||
|
#
|
||||||
|
CODE="
|
||||||
|
#include <sound/soc.h>
|
||||||
|
int conftest_pwm_chip_struct_has_base_arg(void) {
|
||||||
|
return offsetof(struct pwm_chip, base);
|
||||||
|
}"
|
||||||
|
|
||||||
|
compile_check_conftest "$CODE" "NV_PWM_CHIP_STRUCT_HAS_BASE_ARG" "" "types"
|
||||||
|
;;
|
||||||
|
|
||||||
pwm_ops_struct_has_owner)
|
pwm_ops_struct_has_owner)
|
||||||
#
|
#
|
||||||
# Determine if the pwm_ops struct has an owner member.
|
# Determine if the pwm_ops struct has an owner member.
|
||||||
|
|||||||
Reference in New Issue
Block a user