pwm: tachometer: Fix build for Linux v6.10

In Linux v6.10, a pointer to a dynamically allocated 'struct device'
was replaced with a statically allocated 'struct device' in the
'pwm_chip' structure. Update the Tegra PWM Tachometer driver accordingly
to fix the build for Linux v6.10.

Bug 4593750

Change-Id: I9d629746290282b5c1858f8308128d94ff155c49
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3123219
(cherry picked from commit 0104837e60)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3142227
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Jon Hunter
2024-04-10 15:08:06 +01:00
committed by mobile promotions
parent bcd5a6c812
commit 9b118c56c7
3 changed files with 67 additions and 27 deletions

View File

@@ -144,6 +144,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += pde_data
NV_CONFTEST_FUNCTION_COMPILE_TESTS += platform_msi_domain_alloc_irqs
NV_CONFTEST_FUNCTION_COMPILE_TESTS += platform_msi_domain_free_irqs
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pwm_chip_struct_has_base_arg
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pwm_chip_struct_has_struct_device
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 += pci_epc_event_ops_struct_has_core_deinit

View File

@@ -6746,6 +6746,27 @@ compile_test() {
compile_check_conftest "$CODE" "NV_DEVICE_ADD_DISK_HAS_INT_RETURN_TYPE" "" "types"
;;
pwm_chip_struct_has_struct_device)
#
# Determine whether the pwm_chip structure has a 'struct device'
# member and not a pointer to a dynamically allocated
# 'struct device'.
#
# Commit 4c56b1434b81 ("pwm: Add a struct device to struct
# pwm_chip") replaced a pointer to a dynamically allocated
# 'struct device' with a statically allocated 'struct device'.
# Note that this is part of a large re-work of the PWM core to
# move the allocation of the pwm_chip structure into the PWM core.
#
CODE="
#include <linux/pwm.h>
void conftest_pwm_chip_struct_has_struct_device(struct pwm_chip *chip) {
struct device *dev = &chip->dev;
}"
compile_check_conftest "$CODE" "NV_PWM_CHIP_STRUCT_HAS_STRUCT_DEVICE" "" "types"
;;
devm_tegra_core_dev_init_opp_table_common)
#
# Determine whether devm_tegra_core_dev_init_opp_table_common is