Commit e61bebde authored by Chanwoo Choi's avatar Chanwoo Choi Committed by Felipe Balbi

usb: phy: msm: Replace the extcon API

This patch uses the resource-managed extcon API for extcon_register_notifier()
and replaces the deprecated extcon API as following:
- extcon_get_cable_state_() -> extcon_get_state()
Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
Acked-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
parent 7df33789
...@@ -1742,14 +1742,14 @@ static int msm_otg_read_dt(struct platform_device *pdev, struct msm_otg *motg) ...@@ -1742,14 +1742,14 @@ static int msm_otg_read_dt(struct platform_device *pdev, struct msm_otg *motg)
if (!IS_ERR(ext_vbus)) { if (!IS_ERR(ext_vbus)) {
motg->vbus.extcon = ext_vbus; motg->vbus.extcon = ext_vbus;
motg->vbus.nb.notifier_call = msm_otg_vbus_notifier; motg->vbus.nb.notifier_call = msm_otg_vbus_notifier;
ret = extcon_register_notifier(ext_vbus, EXTCON_USB, ret = devm_extcon_register_notifier(&pdev->dev, ext_vbus,
&motg->vbus.nb); EXTCON_USB, &motg->vbus.nb);
if (ret < 0) { if (ret < 0) {
dev_err(&pdev->dev, "register VBUS notifier failed\n"); dev_err(&pdev->dev, "register VBUS notifier failed\n");
return ret; return ret;
} }
ret = extcon_get_cable_state_(ext_vbus, EXTCON_USB); ret = extcon_get_state(ext_vbus, EXTCON_USB);
if (ret) if (ret)
set_bit(B_SESS_VLD, &motg->inputs); set_bit(B_SESS_VLD, &motg->inputs);
else else
...@@ -1759,16 +1759,14 @@ static int msm_otg_read_dt(struct platform_device *pdev, struct msm_otg *motg) ...@@ -1759,16 +1759,14 @@ static int msm_otg_read_dt(struct platform_device *pdev, struct msm_otg *motg)
if (!IS_ERR(ext_id)) { if (!IS_ERR(ext_id)) {
motg->id.extcon = ext_id; motg->id.extcon = ext_id;
motg->id.nb.notifier_call = msm_otg_id_notifier; motg->id.nb.notifier_call = msm_otg_id_notifier;
ret = extcon_register_notifier(ext_id, EXTCON_USB_HOST, ret = devm_extcon_register_notifier(&pdev->dev, ext_id,
&motg->id.nb); EXTCON_USB_HOST, &motg->id.nb);
if (ret < 0) { if (ret < 0) {
dev_err(&pdev->dev, "register ID notifier failed\n"); dev_err(&pdev->dev, "register ID notifier failed\n");
extcon_unregister_notifier(motg->vbus.extcon,
EXTCON_USB, &motg->vbus.nb);
return ret; return ret;
} }
ret = extcon_get_cable_state_(ext_id, EXTCON_USB_HOST); ret = extcon_get_state(ext_id, EXTCON_USB_HOST);
if (ret) if (ret)
clear_bit(ID, &motg->inputs); clear_bit(ID, &motg->inputs);
else else
...@@ -1883,10 +1881,9 @@ static int msm_otg_probe(struct platform_device *pdev) ...@@ -1883,10 +1881,9 @@ static int msm_otg_probe(struct platform_device *pdev)
*/ */
if (motg->phy_number) { if (motg->phy_number) {
phy_select = devm_ioremap_nocache(&pdev->dev, USB2_PHY_SEL, 4); phy_select = devm_ioremap_nocache(&pdev->dev, USB2_PHY_SEL, 4);
if (!phy_select) { if (!phy_select)
ret = -ENOMEM; return -ENOMEM;
goto unregister_extcon;
}
/* Enable second PHY with the OTG port */ /* Enable second PHY with the OTG port */
writel(0x1, phy_select); writel(0x1, phy_select);
} }
...@@ -1897,7 +1894,7 @@ static int msm_otg_probe(struct platform_device *pdev) ...@@ -1897,7 +1894,7 @@ static int msm_otg_probe(struct platform_device *pdev)
if (motg->irq < 0) { if (motg->irq < 0) {
dev_err(&pdev->dev, "platform_get_irq failed\n"); dev_err(&pdev->dev, "platform_get_irq failed\n");
ret = motg->irq; ret = motg->irq;
goto unregister_extcon; return motg->irq;
} }
regs[0].supply = "vddcx"; regs[0].supply = "vddcx";
...@@ -1906,7 +1903,7 @@ static int msm_otg_probe(struct platform_device *pdev) ...@@ -1906,7 +1903,7 @@ static int msm_otg_probe(struct platform_device *pdev)
ret = devm_regulator_bulk_get(motg->phy.dev, ARRAY_SIZE(regs), regs); ret = devm_regulator_bulk_get(motg->phy.dev, ARRAY_SIZE(regs), regs);
if (ret) if (ret)
goto unregister_extcon; return ret;
motg->vddcx = regs[0].consumer; motg->vddcx = regs[0].consumer;
motg->v3p3 = regs[1].consumer; motg->v3p3 = regs[1].consumer;
...@@ -2003,11 +2000,6 @@ static int msm_otg_probe(struct platform_device *pdev) ...@@ -2003,11 +2000,6 @@ static int msm_otg_probe(struct platform_device *pdev)
clk_disable_unprepare(motg->clk); clk_disable_unprepare(motg->clk);
if (!IS_ERR(motg->core_clk)) if (!IS_ERR(motg->core_clk))
clk_disable_unprepare(motg->core_clk); clk_disable_unprepare(motg->core_clk);
unregister_extcon:
extcon_unregister_notifier(motg->id.extcon,
EXTCON_USB_HOST, &motg->id.nb);
extcon_unregister_notifier(motg->vbus.extcon,
EXTCON_USB, &motg->vbus.nb);
return ret; return ret;
} }
...@@ -2029,9 +2021,6 @@ static int msm_otg_remove(struct platform_device *pdev) ...@@ -2029,9 +2021,6 @@ static int msm_otg_remove(struct platform_device *pdev)
*/ */
gpiod_set_value_cansleep(motg->switch_gpio, 0); gpiod_set_value_cansleep(motg->switch_gpio, 0);
extcon_unregister_notifier(motg->id.extcon, EXTCON_USB_HOST, &motg->id.nb);
extcon_unregister_notifier(motg->vbus.extcon, EXTCON_USB, &motg->vbus.nb);
msm_otg_debugfs_cleanup(); msm_otg_debugfs_cleanup();
cancel_delayed_work_sync(&motg->chg_work); cancel_delayed_work_sync(&motg->chg_work);
cancel_work_sync(&motg->sm_work); cancel_work_sync(&motg->sm_work);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment