scsi: ufs: export some functions for vendor usage
Export below functions for vendor usage: int ufshcd_hba_enable(struct ufs_hba *hba); int ufshcd_make_hba_operational(struct ufs_hba *hba); int ufshcd_uic_hibern8_exit(struct ufs_hba *hba); Link: https://lore.kernel.org/r/20200117035108.19699-3-stanley.chu@mediatek.com Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Reviewed-by: Asutosh Das <asutoshd@codeaurora.org> Signed-off-by: Stanley Chu <stanley.chu@mediatek.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
committed by
Martin K. Petersen
parent
b406a19783
commit
9d19bf7ad1
@@ -250,7 +250,6 @@ static int ufshcd_probe_hba(struct ufs_hba *hba);
|
|||||||
static int __ufshcd_setup_clocks(struct ufs_hba *hba, bool on,
|
static int __ufshcd_setup_clocks(struct ufs_hba *hba, bool on,
|
||||||
bool skip_ref_clk);
|
bool skip_ref_clk);
|
||||||
static int ufshcd_setup_clocks(struct ufs_hba *hba, bool on);
|
static int ufshcd_setup_clocks(struct ufs_hba *hba, bool on);
|
||||||
static int ufshcd_uic_hibern8_exit(struct ufs_hba *hba);
|
|
||||||
static int ufshcd_uic_hibern8_enter(struct ufs_hba *hba);
|
static int ufshcd_uic_hibern8_enter(struct ufs_hba *hba);
|
||||||
static inline void ufshcd_add_delay_before_dme_cmd(struct ufs_hba *hba);
|
static inline void ufshcd_add_delay_before_dme_cmd(struct ufs_hba *hba);
|
||||||
static int ufshcd_host_reset_and_restore(struct ufs_hba *hba);
|
static int ufshcd_host_reset_and_restore(struct ufs_hba *hba);
|
||||||
@@ -3865,7 +3864,7 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ufshcd_uic_hibern8_exit(struct ufs_hba *hba)
|
int ufshcd_uic_hibern8_exit(struct ufs_hba *hba)
|
||||||
{
|
{
|
||||||
struct uic_command uic_cmd = {0};
|
struct uic_command uic_cmd = {0};
|
||||||
int ret;
|
int ret;
|
||||||
@@ -3891,6 +3890,7 @@ static int ufshcd_uic_hibern8_exit(struct ufs_hba *hba)
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(ufshcd_uic_hibern8_exit);
|
||||||
|
|
||||||
void ufshcd_auto_hibern8_update(struct ufs_hba *hba, u32 ahit)
|
void ufshcd_auto_hibern8_update(struct ufs_hba *hba, u32 ahit)
|
||||||
{
|
{
|
||||||
@@ -4162,7 +4162,7 @@ out:
|
|||||||
*
|
*
|
||||||
* Returns 0 on success, non-zero value on failure
|
* Returns 0 on success, non-zero value on failure
|
||||||
*/
|
*/
|
||||||
static int ufshcd_make_hba_operational(struct ufs_hba *hba)
|
int ufshcd_make_hba_operational(struct ufs_hba *hba)
|
||||||
{
|
{
|
||||||
int err = 0;
|
int err = 0;
|
||||||
u32 reg;
|
u32 reg;
|
||||||
@@ -4208,6 +4208,7 @@ static int ufshcd_make_hba_operational(struct ufs_hba *hba)
|
|||||||
out:
|
out:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(ufshcd_make_hba_operational);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ufshcd_hba_stop - Send controller to reset state
|
* ufshcd_hba_stop - Send controller to reset state
|
||||||
@@ -4285,7 +4286,7 @@ static int ufshcd_hba_execute_hce(struct ufs_hba *hba)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ufshcd_hba_enable(struct ufs_hba *hba)
|
int ufshcd_hba_enable(struct ufs_hba *hba)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@@ -4310,6 +4311,8 @@ static int ufshcd_hba_enable(struct ufs_hba *hba)
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(ufshcd_hba_enable);
|
||||||
|
|
||||||
static int ufshcd_disable_tx_lcc(struct ufs_hba *hba, bool peer)
|
static int ufshcd_disable_tx_lcc(struct ufs_hba *hba, bool peer)
|
||||||
{
|
{
|
||||||
int tx_lanes, i, err = 0;
|
int tx_lanes, i, err = 0;
|
||||||
|
@@ -799,8 +799,11 @@ static inline void ufshcd_rmwl(struct ufs_hba *hba, u32 mask, u32 val, u32 reg)
|
|||||||
|
|
||||||
int ufshcd_alloc_host(struct device *, struct ufs_hba **);
|
int ufshcd_alloc_host(struct device *, struct ufs_hba **);
|
||||||
void ufshcd_dealloc_host(struct ufs_hba *);
|
void ufshcd_dealloc_host(struct ufs_hba *);
|
||||||
|
int ufshcd_hba_enable(struct ufs_hba *hba);
|
||||||
int ufshcd_init(struct ufs_hba * , void __iomem * , unsigned int);
|
int ufshcd_init(struct ufs_hba * , void __iomem * , unsigned int);
|
||||||
|
int ufshcd_make_hba_operational(struct ufs_hba *hba);
|
||||||
void ufshcd_remove(struct ufs_hba *);
|
void ufshcd_remove(struct ufs_hba *);
|
||||||
|
int ufshcd_uic_hibern8_exit(struct ufs_hba *hba);
|
||||||
int ufshcd_wait_for_register(struct ufs_hba *hba, u32 reg, u32 mask,
|
int ufshcd_wait_for_register(struct ufs_hba *hba, u32 reg, u32 mask,
|
||||||
u32 val, unsigned long interval_us,
|
u32 val, unsigned long interval_us,
|
||||||
unsigned long timeout_ms, bool can_sleep);
|
unsigned long timeout_ms, bool can_sleep);
|
||||||
|
Reference in New Issue
Block a user