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>
(cherry picked from commit 10fd025187)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3055253
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Jon Hunter
2023-12-04 09:58:20 +00:00
committed by mobile promotions
parent 32f23c8ab2
commit a86b3af506
5 changed files with 27 additions and 3 deletions

View File

@@ -131,6 +131,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 += gpiochip_find
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 += pci_disable_pcie_error_reporting
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pci_enable_pcie_error_reporting

View File

@@ -7110,6 +7110,23 @@ compile_test() {
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)
#
# Determine if the pwm_ops struct has an owner member.