From 3ccb178242d15b2a8ac4122c7238eb1ddc51adf2 Mon Sep 17 00:00:00 2001 From: Raz Ben Yehuda Date: Thu, 28 May 2026 15:08:14 +0300 Subject: [PATCH 2/4] ufs: Expose selected UFS functions Remove the static qualifier from selected functions to allow future reuse. Signed-off-by: Raz Ben Yehuda --- drivers/ufs/ufs-uclass.c | 18 +++++++++--------- drivers/ufs/ufs.h | 16 ++++++++++++++++ 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/drivers/ufs/ufs-uclass.c b/drivers/ufs/ufs-uclass.c index 6a51f337e47..78f6064ddea 100644 --- a/drivers/ufs/ufs-uclass.c +++ b/drivers/ufs/ufs-uclass.c @@ -757,7 +757,7 @@ static inline u8 ufshcd_get_upmcrs(struct ufs_hba *hba) * * Flush cache in aligned address..address+size range. */ -static void ufshcd_cache_flush(void *addr, unsigned long size) +void ufshcd_cache_flush(void *addr, unsigned long size) { uintptr_t start_addr = (uintptr_t)addr & ~(ARCH_DMA_MINALIGN - 1); uintptr_t end_addr = ALIGN((uintptr_t)addr + size, ARCH_DMA_MINALIGN); @@ -1089,8 +1089,8 @@ static inline void ufshcd_init_query(struct ufs_hba *hba, /** * ufshcd_query_flag() - API function for sending flag query requests */ -static int ufshcd_query_flag(struct ufs_hba *hba, enum query_opcode opcode, - enum flag_idn idn, bool *flag_res) +int ufshcd_query_flag(struct ufs_hba *hba, enum query_opcode opcode, + enum flag_idn idn, bool *flag_res) { struct ufs_query_req *request = NULL; struct ufs_query_res *response = NULL; @@ -1320,9 +1320,9 @@ out: /** * ufshcd_query_descriptor_retry - API function for sending descriptor requests */ -static int ufshcd_query_descriptor_retry(struct ufs_hba *hba, enum query_opcode opcode, - enum desc_idn idn, u8 index, u8 selector, - u8 *desc_buf, int *buf_len) +int ufshcd_query_descriptor_retry(struct ufs_hba *hba, enum query_opcode opcode, + enum desc_idn idn, u8 index, u8 selector, + u8 *desc_buf, int *buf_len) { int err; int retries; @@ -1457,9 +1457,9 @@ static int ufshcd_map_desc_id_to_length(struct ufs_hba *hba, enum desc_idn desc_ * ufshcd_read_desc_param - read the specified descriptor parameter * */ -static int ufshcd_read_desc_param(struct ufs_hba *hba, enum desc_idn desc_id, - int desc_index, u8 param_offset, - u8 *param_read_buf, u8 param_size) +int ufshcd_read_desc_param(struct ufs_hba *hba, enum desc_idn desc_id, + int desc_index, u8 param_offset, + u8 *param_read_buf, u8 param_size) { int ret; u8 *desc_buf; diff --git a/drivers/ufs/ufs.h b/drivers/ufs/ufs.h index 0f6c93fbce7..75b7ff83155 100644 --- a/drivers/ufs/ufs.h +++ b/drivers/ufs/ufs.h @@ -218,6 +218,9 @@ enum flag_idn { QUERY_FLAG_IDN_BUSY_RTC = 0x09, QUERY_FLAG_IDN_RESERVED3 = 0x0A, QUERY_FLAG_IDN_PERMANENTLY_DISABLE_FW_UPDATE = 0x0B, + QUERY_FLAG_IDN_F_WRITE_BOOSTER_EN = 0x0E, + QUERY_FLAG_IDN_F_WB_BUF_FLUSH_EN = 0x0F, + QUERY_FLAG_IDN_F_WB_BUF_FLUSH_HIBERN8 = 0x10 }; /* Attribute idn for Query requests */ @@ -809,4 +812,17 @@ static inline void ufshcd_rmwl(struct ufs_hba *hba, u32 mask, u32 val, u32 reg) int ufshcd_probe(struct udevice *dev, struct ufs_hba_ops *hba_ops); +int ufshcd_read_desc_param(struct ufs_hba *hba, enum desc_idn desc_id, + int desc_index, u8 param_offset, u8 *param_read_buf, + u8 param_size); + +void ufshcd_cache_flush(void *addr, unsigned long size); + +int ufshcd_query_flag(struct ufs_hba *hba, enum query_opcode opcode, + enum flag_idn idn, bool *flag_res); + +int ufshcd_query_descriptor_retry(struct ufs_hba *hba, enum query_opcode opcode, + enum desc_idn idn, u8 index, u8 selector, + u8 *desc_buf, int *buf_len); + #endif -- 2.43.0