|
@@ -1742,14 +1742,14 @@ static int msm_otg_read_dt(struct platform_device *pdev, struct msm_otg *motg)
|
|
|
if (!IS_ERR(ext_vbus)) {
|
|
|
motg->vbus.extcon = ext_vbus;
|
|
|
motg->vbus.nb.notifier_call = msm_otg_vbus_notifier;
|
|
|
- ret = extcon_register_notifier(ext_vbus, EXTCON_USB,
|
|
|
- &motg->vbus.nb);
|
|
|
+ ret = devm_extcon_register_notifier(&pdev->dev, ext_vbus,
|
|
|
+ EXTCON_USB, &motg->vbus.nb);
|
|
|
if (ret < 0) {
|
|
|
dev_err(&pdev->dev, "register VBUS notifier failed\n");
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
- ret = extcon_get_cable_state_(ext_vbus, EXTCON_USB);
|
|
|
+ ret = extcon_get_state(ext_vbus, EXTCON_USB);
|
|
|
if (ret)
|
|
|
set_bit(B_SESS_VLD, &motg->inputs);
|
|
|
else
|
|
@@ -1759,16 +1759,14 @@ static int msm_otg_read_dt(struct platform_device *pdev, struct msm_otg *motg)
|
|
|
if (!IS_ERR(ext_id)) {
|
|
|
motg->id.extcon = ext_id;
|
|
|
motg->id.nb.notifier_call = msm_otg_id_notifier;
|
|
|
- ret = extcon_register_notifier(ext_id, EXTCON_USB_HOST,
|
|
|
- &motg->id.nb);
|
|
|
+ ret = devm_extcon_register_notifier(&pdev->dev, ext_id,
|
|
|
+ EXTCON_USB_HOST, &motg->id.nb);
|
|
|
if (ret < 0) {
|
|
|
dev_err(&pdev->dev, "register ID notifier failed\n");
|
|
|
- extcon_unregister_notifier(motg->vbus.extcon,
|
|
|
- EXTCON_USB, &motg->vbus.nb);
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
- ret = extcon_get_cable_state_(ext_id, EXTCON_USB_HOST);
|
|
|
+ ret = extcon_get_state(ext_id, EXTCON_USB_HOST);
|
|
|
if (ret)
|
|
|
clear_bit(ID, &motg->inputs);
|
|
|
else
|
|
@@ -1883,10 +1881,9 @@ static int msm_otg_probe(struct platform_device *pdev)
|
|
|
*/
|
|
|
if (motg->phy_number) {
|
|
|
phy_select = devm_ioremap_nocache(&pdev->dev, USB2_PHY_SEL, 4);
|
|
|
- if (!phy_select) {
|
|
|
- ret = -ENOMEM;
|
|
|
- goto unregister_extcon;
|
|
|
- }
|
|
|
+ if (!phy_select)
|
|
|
+ return -ENOMEM;
|
|
|
+
|
|
|
/* Enable second PHY with the OTG port */
|
|
|
writel(0x1, phy_select);
|
|
|
}
|
|
@@ -1897,7 +1894,7 @@ static int msm_otg_probe(struct platform_device *pdev)
|
|
|
if (motg->irq < 0) {
|
|
|
dev_err(&pdev->dev, "platform_get_irq failed\n");
|
|
|
ret = motg->irq;
|
|
|
- goto unregister_extcon;
|
|
|
+ return motg->irq;
|
|
|
}
|
|
|
|
|
|
regs[0].supply = "vddcx";
|
|
@@ -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);
|
|
|
if (ret)
|
|
|
- goto unregister_extcon;
|
|
|
+ return ret;
|
|
|
|
|
|
motg->vddcx = regs[0].consumer;
|
|
|
motg->v3p3 = regs[1].consumer;
|
|
@@ -2003,11 +2000,6 @@ disable_clks:
|
|
|
clk_disable_unprepare(motg->clk);
|
|
|
if (!IS_ERR(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;
|
|
|
}
|
|
@@ -2029,9 +2021,6 @@ static int msm_otg_remove(struct platform_device *pdev)
|
|
|
*/
|
|
|
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();
|
|
|
cancel_delayed_work_sync(&motg->chg_work);
|
|
|
cancel_work_sync(&motg->sm_work);
|