scsi: ufs: ufs-exynos: Factor out priv data init
To leverage the initialization code for the other variant of the exynos-ufs driver, factor out the assignment part. Link: https://lore.kernel.org/r/20211018124216.153072-10-chanho61.park@samsung.com Cc: Alim Akhtar <alim.akhtar@samsung.com> Cc: Kiwoong Kim <kwmad.kim@samsung.com> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Signed-off-by: Chanho Park <chanho61.park@samsung.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
a271885ac6
commit
3f02cc9ea7
|
@ -946,6 +946,18 @@ out:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static inline void exynos_ufs_priv_init(struct ufs_hba *hba,
|
||||
struct exynos_ufs *ufs)
|
||||
{
|
||||
ufs->hba = hba;
|
||||
ufs->opts = ufs->drv_data->opts;
|
||||
ufs->rx_sel_idx = PA_MAXDATALANES;
|
||||
if (ufs->opts & EXYNOS_UFS_OPT_BROKEN_RX_SEL_IDX)
|
||||
ufs->rx_sel_idx = 0;
|
||||
hba->priv = (void *)ufs;
|
||||
hba->quirks = ufs->drv_data->quirks;
|
||||
}
|
||||
|
||||
static int exynos_ufs_init(struct ufs_hba *hba)
|
||||
{
|
||||
struct device *dev = hba->dev;
|
||||
|
@ -995,13 +1007,8 @@ static int exynos_ufs_init(struct ufs_hba *hba)
|
|||
if (ret)
|
||||
goto phy_off;
|
||||
|
||||
ufs->hba = hba;
|
||||
ufs->opts = ufs->drv_data->opts;
|
||||
ufs->rx_sel_idx = PA_MAXDATALANES;
|
||||
if (ufs->opts & EXYNOS_UFS_OPT_BROKEN_RX_SEL_IDX)
|
||||
ufs->rx_sel_idx = 0;
|
||||
hba->priv = (void *)ufs;
|
||||
hba->quirks = ufs->drv_data->quirks;
|
||||
exynos_ufs_priv_init(hba, ufs);
|
||||
|
||||
if (ufs->drv_data->drv_init) {
|
||||
ret = ufs->drv_data->drv_init(dev, ufs);
|
||||
if (ret) {
|
||||
|
|
Loading…
Reference in New Issue