UFS: PATCH [2/4]
Raz
raziebe at gmail.com
Sun May 31 12:04:33 CEST 2026
>From 3ccb178242d15b2a8ac4122c7238eb1ddc51adf2 Mon Sep 17 00:00:00 2001
From: Raz Ben Yehuda <raz.benyehuda at mobileye.com>
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 <raz.benyehuda at mobileye.com>
---
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-ufs-Expose-selected-UFS-functions.patch
Type: text/x-patch
Size: 3790 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20260531/89748a62/attachment.bin>
More information about the U-Boot
mailing list