From 7b6860d2a41ce4ab44a795b35f4a849a53b4d6c3 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Fri, 1 Oct 2021 11:37:25 -0700 Subject: [PATCH] ANDROID: scsi: ufs: Rename struct ufs_hba_with_hpb into ufs_hba_add_info Before adding more data members in struct ufs_hba_with_hpb, rename this data structure. This patch does not change any functionality. Bug: 200291871 Change-Id: I6b0365ebcf8adf6cfa009218d8c4dc96fa629bde Signed-off-by: Bart Van Assche --- drivers/scsi/ufs/ufshcd-add-info.h | 24 ++++++++++++++++++++++++ drivers/scsi/ufs/ufshcd.c | 3 ++- drivers/scsi/ufs/ufshcd.h | 13 +------------ drivers/scsi/ufs/ufshpb.c | 3 ++- 4 files changed, 29 insertions(+), 14 deletions(-) create mode 100644 drivers/scsi/ufs/ufshcd-add-info.h diff --git a/drivers/scsi/ufs/ufshcd-add-info.h b/drivers/scsi/ufs/ufshcd-add-info.h new file mode 100644 index 000000000000..8abe67ee8b7d --- /dev/null +++ b/drivers/scsi/ufs/ufshcd-add-info.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#ifndef _UFSHCD_ADD_INFO_H_ +#define _UFSHCD_ADD_INFO_H_ + +/* + * Compared to the upstream equivalent, @hpb_dev has been moved from struct + * ufs_hba into struct ufs_hba_add_info to satisfy the Android ABI checks. + * Do NOT use this data structure in any out-of-tree driver since it is not + * covered by the GKI. + */ +struct ufs_hba_add_info { + struct ufs_hba hba; +#ifdef CONFIG_SCSI_UFS_HPB + struct ufshpb_dev_info hpb_dev; +#endif +}; + +static inline struct ufs_hba_add_info *ufs_hba_add_info(struct ufs_hba *hba) +{ + return container_of(hba, struct ufs_hba_add_info, hba); +} + +#endif /* _UFSHCD_ADD_INFO_H_ */ diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index a69e9558337b..42f32b18e3d6 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -17,6 +17,7 @@ #include #include #include "ufshcd.h" +#include "ufshcd-add-info.h" #include "ufs_quirks.h" #include "unipro.h" #include "ufs-sysfs.h" @@ -9325,7 +9326,7 @@ int ufshcd_alloc_host(struct device *dev, struct ufs_hba **hba_handle) } host = scsi_host_alloc(&ufshcd_driver_template, - sizeof(struct ufs_hba_with_hpb)); + sizeof(struct ufs_hba_add_info)); if (!host) { dev_err(dev, "scsi_host_alloc failed\n"); err = -ENOMEM; diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h index c75c5cd7b973..26274dad5e75 100644 --- a/drivers/scsi/ufs/ufshcd.h +++ b/drivers/scsi/ufs/ufshcd.h @@ -913,7 +913,7 @@ struct ufs_hba { struct delayed_work rpm_dev_flush_recheck_work; #if 0 - /* This has been moved into struct ufs_hba_with_hpb. */ + /* This has been moved into struct ufs_hba_add_info. */ struct ufshpb_dev_info ufshpb_dev; #endif @@ -935,17 +935,6 @@ struct ufs_hba { ANDROID_KABI_RESERVE(4); }; -/* - * Compared to the upstream equivalent, @hpb_dev has been moved from struct - * ufs_hba into struct ufs_hba_with_hpb to satisfy the Android ABI checks. - */ -struct ufs_hba_with_hpb { - struct ufs_hba hba; -#ifdef CONFIG_SCSI_UFS_HPB - struct ufshpb_dev_info hpb_dev; -#endif -}; - /* Returns true if clocks can be gated. Otherwise false */ static inline bool ufshcd_is_clkgating_allowed(struct ufs_hba *hba) { diff --git a/drivers/scsi/ufs/ufshpb.c b/drivers/scsi/ufs/ufshpb.c index 9755317c3301..10d8b3dde976 100644 --- a/drivers/scsi/ufs/ufshpb.c +++ b/drivers/scsi/ufs/ufshpb.c @@ -13,6 +13,7 @@ #include #include "ufshcd.h" +#include "ufshcd-add-info.h" #include "ufshpb.h" #include "../sd.h" @@ -37,7 +38,7 @@ static void ufshpb_update_active_info(struct ufshpb_lu *hpb, int rgn_idx, static inline struct ufshpb_dev_info *ufs_hba_to_hpb(struct ufs_hba *hba) { - return &container_of(hba, struct ufs_hba_with_hpb, hba)->hpb_dev; + return &ufs_hba_add_info(hba)->hpb_dev; } bool ufshpb_is_allowed(struct ufs_hba *hba)