[PATCH 2/5] ufs: Expose selected UFS functions

Neil Armstrong neil.armstrong at linaro.org
Mon Jun 1 15:33:50 CEST 2026


On 6/1/26 13:26, Raz Ben Yehuda wrote:
> 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

This patch is useless, just merge with previous one, expose the functions directly.

Neil


More information about the U-Boot mailing list