]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: ufs: host: mediatek: Remove duplicate function
authorPeter Wang <peter.wang@mediatek.com>
Wed, 24 Sep 2025 09:43:28 +0000 (17:43 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 22 Oct 2025 01:36:46 +0000 (21:36 -0400)
Remove the duplicate ufs_mtk_us_to_ahit() function in the UFS Mediatek
driver and export the existing ufshcd_us_to_ahit() function for shared
use. This change reduces redundancy and maintains consistency across the
codebase.

Signed-off-by: Peter Wang <peter.wang@mediatek.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Acked-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
Link: https://patch.msgid.link/20250924094527.2992256-7-peter.wang@mediatek.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufs-sysfs.c
drivers/ufs/host/ufs-mediatek.c
include/ufs/ufshcd.h

index c040afc6668e8c387dd85dc77e846c5797c278f3..af9615587bf3a81c72ae01a37eb8dd3d9476239e 100644 (file)
@@ -235,7 +235,7 @@ static int ufshcd_ahit_to_us(u32 ahit)
 }
 
 /* Convert microseconds to Auto-Hibernate Idle Timer register value */
-static u32 ufshcd_us_to_ahit(unsigned int timer)
+u32 ufshcd_us_to_ahit(unsigned int timer)
 {
        unsigned int scale;
 
@@ -245,6 +245,7 @@ static u32 ufshcd_us_to_ahit(unsigned int timer)
        return FIELD_PREP(UFSHCI_AHIBERN8_TIMER_MASK, timer) |
               FIELD_PREP(UFSHCI_AHIBERN8_SCALE_MASK, scale);
 }
+EXPORT_SYMBOL_GPL(ufshcd_us_to_ahit);
 
 static int ufshcd_read_hci_reg(struct ufs_hba *hba, u32 *val, unsigned int reg)
 {
index c00e62adbbda80c44c7ca64017bbb7ca072f31c3..3e54154d554791d068a215aca13746ff91c35ecf 100644 (file)
@@ -1109,18 +1109,6 @@ static void ufs_mtk_setup_clk_gating(struct ufs_hba *hba)
        }
 }
 
-/* Convert microseconds to Auto-Hibernate Idle Timer register value */
-static u32 ufs_mtk_us_to_ahit(unsigned int timer)
-{
-       unsigned int scale;
-
-       for (scale = 0; timer > UFSHCI_AHIBERN8_TIMER_MASK; ++scale)
-               timer /= UFSHCI_AHIBERN8_SCALE_FACTOR;
-
-       return FIELD_PREP(UFSHCI_AHIBERN8_TIMER_MASK, timer) |
-              FIELD_PREP(UFSHCI_AHIBERN8_SCALE_MASK, scale);
-}
-
 static void ufs_mtk_fix_ahit(struct ufs_hba *hba)
 {
        unsigned int us;
@@ -1143,7 +1131,7 @@ static void ufs_mtk_fix_ahit(struct ufs_hba *hba)
                        break;
                }
 
-               hba->ahit = ufs_mtk_us_to_ahit(us);
+               hba->ahit = ufshcd_us_to_ahit(us);
        }
 
        ufs_mtk_setup_clk_gating(hba);
index ce7301d63c5ceb815e550f6712c14c97b260ed3d..4b3a8daf8e0b7bd0d82dfe2736930992bc095545 100644 (file)
@@ -1488,5 +1488,6 @@ int ufshcd_update_ee_control(struct ufs_hba *hba, u16 *mask,
                             const u16 *other_mask, u16 set, u16 clr);
 void ufshcd_force_error_recovery(struct ufs_hba *hba);
 void ufshcd_pm_qos_update(struct ufs_hba *hba, bool on);
+u32 ufshcd_us_to_ahit(unsigned int timer);
 
 #endif /* End of Header */