static int ufs_qcom_link_startup_post_change(struct ufs_hba *hba)
 {
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
        struct phy *phy = host->generic_phy;
        u32 tx_lanes;
        int err = 0;
 
 static int ufs_qcom_power_up_sequence(struct ufs_hba *hba)
 {
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
        struct phy *phy = host->generic_phy;
        int ret = 0;
        bool is_rate_B = (UFS_QCOM_LIMIT_HS_RATE == PA_HS_MODE_B)
 
 static int ufs_qcom_hce_enable_notify(struct ufs_hba *hba, bool status)
 {
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
        int err = 0;
 
        switch (status) {
 static unsigned long
 ufs_qcom_cfg_timers(struct ufs_hba *hba, u32 gear, u32 hs, u32 rate)
 {
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
        struct ufs_clk_info *clki;
        u32 core_clk_period_in_ns;
        u32 tx_clk_cycles_per_us = 0;
 
 static int ufs_qcom_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op)
 {
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
        struct phy *phy = host->generic_phy;
        int ret = 0;
 
 
 static int ufs_qcom_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
 {
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
        struct phy *phy = host->generic_phy;
        int err;
 
                                struct ufs_pa_layer_attr *dev_req_params)
 {
        u32 val;
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
        struct phy *phy = host->generic_phy;
        struct ufs_qcom_dev_params ufs_qcom_cap;
        int ret = 0;
 
 static u32 ufs_qcom_get_ufs_hci_version(struct ufs_hba *hba)
 {
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
 
        if (host->hw_ver.major == 0x1)
                return UFSHCI_VERSION_11;
  */
 static void ufs_qcom_advertise_quirks(struct ufs_hba *hba)
 {
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
 
        if (host->hw_ver.major == 0x01) {
                hba->quirks |= UFSHCD_QUIRK_DELAY_BEFORE_DME_CMDS
 
 static void ufs_qcom_set_caps(struct ufs_hba *hba)
 {
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
 
        if (host->hw_ver.major >= 0x2)
                host->caps = UFS_QCOM_CAP_QUNIPRO;
 
 static int ufs_qcom_setup_clocks(struct ufs_hba *hba, bool on)
 {
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
        int err = 0;
        int vote = 0;
 
                        char *buf)
 {
        struct ufs_hba *hba = dev_get_drvdata(dev);
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
 
        return snprintf(buf, PAGE_SIZE, "%u\n",
                        host->bus_vote.is_max_bw_needed);
                const char *buf, size_t count)
 {
        struct ufs_hba *hba = dev_get_drvdata(dev);
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
        uint32_t value;
 
        if (!kstrtou32(buf, 0, &value)) {
        }
 
        host->hba = hba;
-       hba->priv = (void *)host;
+       ufshcd_set_variant(hba, host);
 
        host->generic_phy = devm_phy_get(dev, "ufsphy");
 
        phy_exit(host->generic_phy);
 out_host_free:
        devm_kfree(dev, host);
-       hba->priv = NULL;
+       ufshcd_set_variant(hba, NULL);
 out:
        return err;
 }
 
 static void ufs_qcom_exit(struct ufs_hba *hba)
 {
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
 
        ufs_qcom_disable_lane_clks(host);
        phy_power_off(host->generic_phy);
 static
 void ufs_qcom_clk_scale_notify(struct ufs_hba *hba)
 {
-       struct ufs_qcom_host *host = hba->priv;
+       struct ufs_qcom_host *host = ufshcd_get_variant(hba);
        struct ufs_pa_layer_attr *dev_req_params = &host->dev_req_params;
 
        if (!dev_req_params)