mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
scsi: ufs: Use conftest for suspend differences
In Linux v5.19, the arguments to the 'suspend' function pointer defined
in the structure 'ufs_hba_variant_ops' was updated to add a 'status'
argument. Add a new test to the conftest script that checks if the
'suspend' function has a 'status' argument and use the definition
created by conftest to select which structure member is used.
This is beneficial for working with 3rd party Linux kernels that may
have back-ported upstream changes into their kernel and so the kernel
version checks do not work.
Bug 4221847
Change-Id: I05011a4a1aff7c54cd258147d6519b696904a2de
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2996214
(cherry picked from commit f748f0ef72)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3032086
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
ff6f3c6916
commit
902712a236
@@ -7515,6 +7515,31 @@ compile_test() {
|
||||
compile_check_conftest "$CODE" "NV_TTY_OPERATIONS_STRUCT_SET_TERMIOS_HAS_CONST_KTERMIOS_ARG" "" "types"
|
||||
;;
|
||||
|
||||
ufs_hba_variant_ops_suspend_has_status_arg)
|
||||
#
|
||||
# Determine if the 'suspend' function for the
|
||||
# 'struct ufs_hba_variant_ops' has a 'status' argument.
|
||||
#
|
||||
# In Linux v5.16, commit 9561f58442e4 ("scsi: ufs:
|
||||
# mediatek: Support vops pre suspend to disable auto-hibern8")
|
||||
# updated the arguments to the 'suspend' function of the
|
||||
# 'struct ufs_hba_variant_ops'.
|
||||
#
|
||||
CODE="
|
||||
#if defined(NV_UFS_UFSHCD_H_PRESENT)
|
||||
#include <ufs/ufshcd.h>
|
||||
#else
|
||||
#include \"../drivers/scsi/ufs/ufshcd.h\"
|
||||
#endif
|
||||
void conftest_ufs_hba_variant_ops_suspend_has_status_arg(
|
||||
struct ufs_hba_variant_ops *ops) {
|
||||
int (*fn)(struct ufs_hba *, enum ufs_pm_op,
|
||||
enum ufs_notify_change_status) = ops->suspend;
|
||||
}"
|
||||
|
||||
compile_check_conftest "$CODE" "NV_UFS_HBA_VARIANT_OPS_SUSPEND_HAS_STATUS_ARG" "" "types"
|
||||
;;
|
||||
|
||||
v4l2_async_connection_struct_present)
|
||||
#
|
||||
# Determine if the 'struct v4l2_async_connection' present or not.
|
||||
|
||||
Reference in New Issue
Block a user