usb: phy: msm: Replace the extcon API
authorChanwoo Choi <cw00.choi@samsung.com>
Mon, 16 Jan 2017 12:36:58 +0000 (21:36 +0900)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 24 Jan 2017 09:04:14 +0000 (11:04 +0200)
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: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/phy/phy-msm-usb.c

index 8a34759727bb8e2cd92ea5b64b8ac64ede7c7b8a..a15a89d4235df8f328a9fa656ebdcabea4bb66d4 100644 (file)
@@ -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);