xref: /OK3568_Linux_fs/kernel/drivers/scsi/ufs/ufshcd-add-info.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */
2*4882a593Smuzhiyun 
3*4882a593Smuzhiyun #ifndef _UFSHCD_ADD_INFO_H_
4*4882a593Smuzhiyun #define _UFSHCD_ADD_INFO_H_
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun /*
7*4882a593Smuzhiyun  * Compared to the upstream equivalent, @hpb_dev has been moved from struct
8*4882a593Smuzhiyun  * ufs_hba into struct ufs_hba_add_info to satisfy the Android ABI checks.
9*4882a593Smuzhiyun  * Do NOT use this data structure in any out-of-tree driver since it is not
10*4882a593Smuzhiyun  * covered by the GKI.
11*4882a593Smuzhiyun  */
12*4882a593Smuzhiyun struct ufs_hba_add_info {
13*4882a593Smuzhiyun 	struct ufs_hba hba;
14*4882a593Smuzhiyun 	u32 reserved_slot;
15*4882a593Smuzhiyun 	struct request **tmf_rqs;
16*4882a593Smuzhiyun #ifdef CONFIG_SCSI_UFS_HPB
17*4882a593Smuzhiyun 	struct ufshpb_dev_info hpb_dev;
18*4882a593Smuzhiyun #endif
19*4882a593Smuzhiyun };
20*4882a593Smuzhiyun 
ufs_hba_add_info(struct ufs_hba * hba)21*4882a593Smuzhiyun static inline struct ufs_hba_add_info *ufs_hba_add_info(struct ufs_hba *hba)
22*4882a593Smuzhiyun {
23*4882a593Smuzhiyun 	return container_of(hba, struct ufs_hba_add_info, hba);
24*4882a593Smuzhiyun }
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun #endif /* _UFSHCD_ADD_INFO_H_ */
27