}
 
                omap->vbus_nb.notifier_call = dwc3_omap_vbus_notifier;
-               ret = extcon_register_notifier(edev, EXTCON_USB,
-                                               &omap->vbus_nb);
+               ret = devm_extcon_register_notifier(omap->dev, edev,
+                                               EXTCON_USB, &omap->vbus_nb);
                if (ret < 0)
                        dev_vdbg(omap->dev, "failed to register notifier for USB\n");
 
                omap->id_nb.notifier_call = dwc3_omap_id_notifier;
-               ret = extcon_register_notifier(edev, EXTCON_USB_HOST,
-                                               &omap->id_nb);
+               ret = devm_extcon_register_notifier(omap->dev, edev,
+                                               EXTCON_USB_HOST, &omap->id_nb);
                if (ret < 0)
                        dev_vdbg(omap->dev, "failed to register notifier for USB-HOST\n");
 
-               if (extcon_get_cable_state_(edev, EXTCON_USB) == true)
+               if (extcon_get_state(edev, EXTCON_USB) == true)
                        dwc3_omap_set_mailbox(omap, OMAP_DWC3_VBUS_VALID);
-               if (extcon_get_cable_state_(edev, EXTCON_USB_HOST) == true)
+               if (extcon_get_state(edev, EXTCON_USB_HOST) == true)
                        dwc3_omap_set_mailbox(omap, OMAP_DWC3_ID_GROUND);
 
                omap->edev = edev;
        ret = of_platform_populate(node, NULL, NULL, dev);
        if (ret) {
                dev_err(&pdev->dev, "failed to create dwc3 core\n");
-               goto err2;
+               goto err1;
        }
 
        dwc3_omap_enable_irqs(omap);
        enable_irq(omap->irq);
        return 0;
 
-err2:
-       extcon_unregister_notifier(omap->edev, EXTCON_USB, &omap->vbus_nb);
-       extcon_unregister_notifier(omap->edev, EXTCON_USB_HOST, &omap->id_nb);
-
 err1:
        pm_runtime_put_sync(dev);
        pm_runtime_disable(dev);
 {
        struct dwc3_omap        *omap = platform_get_drvdata(pdev);
 
-       extcon_unregister_notifier(omap->edev, EXTCON_USB, &omap->vbus_nb);
-       extcon_unregister_notifier(omap->edev, EXTCON_USB_HOST, &omap->id_nb);
        dwc3_omap_disable_irqs(omap);
        disable_irq(omap->irq);
        of_platform_depopulate(omap->dev);