|
@@ -44,30 +44,7 @@ void ufs_qcom_phy_qmp_14nm_advertise_quirks(struct ufs_qcom_phy *phy_common)
|
|
|
|
|
|
static int ufs_qcom_phy_qmp_14nm_init(struct phy *generic_phy)
|
|
|
{
|
|
|
- struct ufs_qcom_phy_qmp_14nm *phy = phy_get_drvdata(generic_phy);
|
|
|
- struct ufs_qcom_phy *phy_common = &phy->common_cfg;
|
|
|
- int err;
|
|
|
-
|
|
|
- err = ufs_qcom_phy_init_clks(phy_common);
|
|
|
- if (err) {
|
|
|
- dev_err(phy_common->dev, "%s: ufs_qcom_phy_init_clks() failed %d\n",
|
|
|
- __func__, err);
|
|
|
- goto out;
|
|
|
- }
|
|
|
-
|
|
|
- err = ufs_qcom_phy_init_vregulators(phy_common);
|
|
|
- if (err) {
|
|
|
- dev_err(phy_common->dev, "%s: ufs_qcom_phy_init_vregulators() failed %d\n",
|
|
|
- __func__, err);
|
|
|
- goto out;
|
|
|
- }
|
|
|
- phy_common->vdda_phy.max_uV = UFS_PHY_VDDA_PHY_UV;
|
|
|
- phy_common->vdda_phy.min_uV = UFS_PHY_VDDA_PHY_UV;
|
|
|
-
|
|
|
- ufs_qcom_phy_qmp_14nm_advertise_quirks(phy_common);
|
|
|
-
|
|
|
-out:
|
|
|
- return err;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
static
|
|
@@ -136,6 +113,7 @@ static int ufs_qcom_phy_qmp_14nm_probe(struct platform_device *pdev)
|
|
|
struct device *dev = &pdev->dev;
|
|
|
struct phy *generic_phy;
|
|
|
struct ufs_qcom_phy_qmp_14nm *phy;
|
|
|
+ struct ufs_qcom_phy *phy_common;
|
|
|
int err = 0;
|
|
|
|
|
|
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
|
|
@@ -143,8 +121,9 @@ static int ufs_qcom_phy_qmp_14nm_probe(struct platform_device *pdev)
|
|
|
err = -ENOMEM;
|
|
|
goto out;
|
|
|
}
|
|
|
+ phy_common = &phy->common_cfg;
|
|
|
|
|
|
- generic_phy = ufs_qcom_phy_generic_probe(pdev, &phy->common_cfg,
|
|
|
+ generic_phy = ufs_qcom_phy_generic_probe(pdev, phy_common,
|
|
|
&ufs_qcom_phy_qmp_14nm_phy_ops, &phy_14nm_ops);
|
|
|
|
|
|
if (!generic_phy) {
|
|
@@ -154,10 +133,29 @@ static int ufs_qcom_phy_qmp_14nm_probe(struct platform_device *pdev)
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
+ err = ufs_qcom_phy_init_clks(phy_common);
|
|
|
+ if (err) {
|
|
|
+ dev_err(phy_common->dev,
|
|
|
+ "%s: ufs_qcom_phy_init_clks() failed %d\n",
|
|
|
+ __func__, err);
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
+
|
|
|
+ err = ufs_qcom_phy_init_vregulators(phy_common);
|
|
|
+ if (err) {
|
|
|
+ dev_err(phy_common->dev,
|
|
|
+ "%s: ufs_qcom_phy_init_vregulators() failed %d\n",
|
|
|
+ __func__, err);
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
+ phy_common->vdda_phy.max_uV = UFS_PHY_VDDA_PHY_UV;
|
|
|
+ phy_common->vdda_phy.min_uV = UFS_PHY_VDDA_PHY_UV;
|
|
|
+
|
|
|
+ ufs_qcom_phy_qmp_14nm_advertise_quirks(phy_common);
|
|
|
+
|
|
|
phy_set_drvdata(generic_phy, phy);
|
|
|
|
|
|
- strlcpy(phy->common_cfg.name, UFS_PHY_NAME,
|
|
|
- sizeof(phy->common_cfg.name));
|
|
|
+ strlcpy(phy_common->name, UFS_PHY_NAME, sizeof(phy_common->name));
|
|
|
|
|
|
out:
|
|
|
return err;
|