These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / usb / phy / phy-omap-otg.c
index 56ee760..c4bf2de 100644 (file)
@@ -30,8 +30,7 @@ struct otg_device {
        void __iomem                    *base;
        bool                            id;
        bool                            vbus;
-       struct extcon_specific_cable_nb vbus_dev;
-       struct extcon_specific_cable_nb id_dev;
+       struct extcon_dev               *extcon;
        struct notifier_block           vbus_nb;
        struct notifier_block           id_nb;
 };
@@ -115,23 +114,23 @@ static int omap_otg_probe(struct platform_device *pdev)
        if (IS_ERR(otg_dev->base))
                return PTR_ERR(otg_dev->base);
 
+       otg_dev->extcon = extcon;
        otg_dev->id_nb.notifier_call = omap_otg_id_notifier;
        otg_dev->vbus_nb.notifier_call = omap_otg_vbus_notifier;
 
-       ret = extcon_register_interest(&otg_dev->id_dev, config->extcon,
-                                      "USB-HOST", &otg_dev->id_nb);
+       ret = extcon_register_notifier(extcon, EXTCON_USB_HOST, &otg_dev->id_nb);
        if (ret)
                return ret;
 
-       ret = extcon_register_interest(&otg_dev->vbus_dev, config->extcon,
-                                      "USB", &otg_dev->vbus_nb);
+       ret = extcon_register_notifier(extcon, EXTCON_USB, &otg_dev->vbus_nb);
        if (ret) {
-               extcon_unregister_interest(&otg_dev->id_dev);
+               extcon_unregister_notifier(extcon, EXTCON_USB_HOST,
+                                       &otg_dev->id_nb);
                return ret;
        }
 
-       otg_dev->id = extcon_get_cable_state(extcon, "USB-HOST");
-       otg_dev->vbus = extcon_get_cable_state(extcon, "USB");
+       otg_dev->id = extcon_get_cable_state_(extcon, EXTCON_USB_HOST);
+       otg_dev->vbus = extcon_get_cable_state_(extcon, EXTCON_USB);
        omap_otg_set_mode(otg_dev);
 
        rev = readl(otg_dev->base);
@@ -147,9 +146,10 @@ static int omap_otg_probe(struct platform_device *pdev)
 static int omap_otg_remove(struct platform_device *pdev)
 {
        struct otg_device *otg_dev = platform_get_drvdata(pdev);
+       struct extcon_dev *edev = otg_dev->extcon;
 
-       extcon_unregister_interest(&otg_dev->id_dev);
-       extcon_unregister_interest(&otg_dev->vbus_dev);
+       extcon_unregister_notifier(edev, EXTCON_USB_HOST,&otg_dev->id_nb);
+       extcon_unregister_notifier(edev, EXTCON_USB, &otg_dev->vbus_nb);
 
        return 0;
 }