| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
| From: Asutosh Das <asutoshd@codeaurora.org> |
| Date: Tue, 22 Oct 2019 18:03:02 -0700 |
| Subject: FROMLIST: scsi: ufs: export hibern8 entry and exit |
| |
| Qualcomm controllers need to be in hibern8 before scaling up |
| or down the clocks. Hence, export the hibern8 entry and exit |
| functions. |
| |
| Bug: 143136976 |
| Link: https://lore.kernel.org/lkml/1571849351-819-1-git-send-email-asutoshd@codeaurora.org/ |
| Change-Id: Ie7dc3b953790642e6d2893de6e6cc8c9cfb8be6d |
| Signed-off-by: Asutosh Das <asutoshd@codeaurora.org> |
| --- |
| drivers/scsi/ufs/ufshcd.c | 8 ++++---- |
| drivers/scsi/ufs/ufshcd.h | 3 ++- |
| 2 files changed, 6 insertions(+), 5 deletions(-) |
| |
| diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c |
| index a7f03d622242..1f0201740fa2 100644 |
| --- a/drivers/scsi/ufs/ufshcd.c |
| +++ b/drivers/scsi/ufs/ufshcd.c |
| @@ -248,8 +248,6 @@ static int ufshcd_probe_hba(struct ufs_hba *hba); |
| static int __ufshcd_setup_clocks(struct ufs_hba *hba, bool on, |
| bool skip_ref_clk); |
| 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 inline void ufshcd_add_delay_before_dme_cmd(struct ufs_hba *hba); |
| static int ufshcd_host_reset_and_restore(struct ufs_hba *hba); |
| static void ufshcd_resume_clkscaling(struct ufs_hba *hba); |
| @@ -3938,7 +3936,7 @@ static int __ufshcd_uic_hibern8_enter(struct ufs_hba *hba) |
| return ret; |
| } |
| |
| -static int ufshcd_uic_hibern8_enter(struct ufs_hba *hba) |
| +int ufshcd_uic_hibern8_enter(struct ufs_hba *hba) |
| { |
| int ret = 0, retries; |
| |
| @@ -3950,8 +3948,9 @@ static int ufshcd_uic_hibern8_enter(struct ufs_hba *hba) |
| out: |
| return ret; |
| } |
| +EXPORT_SYMBOL_GPL(ufshcd_uic_hibern8_enter); |
| |
| -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}; |
| int ret; |
| @@ -3977,6 +3976,7 @@ static int ufshcd_uic_hibern8_exit(struct ufs_hba *hba) |
| |
| return ret; |
| } |
| +EXPORT_SYMBOL_GPL(ufshcd_uic_hibern8_exit); |
| |
| void ufshcd_auto_hibern8_enable(struct ufs_hba *hba) |
| { |
| diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h |
| index 3b9b0d03c46b..727729033478 100644 |
| --- a/drivers/scsi/ufs/ufshcd.h |
| +++ b/drivers/scsi/ufs/ufshcd.h |
| @@ -1147,5 +1147,6 @@ static inline u8 ufshcd_scsi_to_upiu_lun(unsigned int scsi_lun) |
| |
| int ufshcd_dump_regs(struct ufs_hba *hba, size_t offset, size_t len, |
| const char *prefix); |
| - |
| +int ufshcd_uic_hibern8_enter(struct ufs_hba *hba); |
| +int ufshcd_uic_hibern8_exit(struct ufs_hba *hba); |
| #endif /* End of Header */ |