usb: phy: omap-otg: Replace deprecated API of extcon
authorChanwoo Choi <cw00.choi@samsung.com>
Wed, 1 Jul 2015 04:11:31 +0000 (13:11 +0900)
committerFelipe Balbi <balbi@ti.com>
Wed, 29 Jul 2015 14:59:18 +0000 (09:59 -0500)
This patch removes the deprecated notifier API of extcon framwork
and then use the new extcon API with the unique id to indicate
the each external connector (USB, USB-HOST).

Alter deprecated API as following:
- extcon_register_interest() -> extcon_register_notifier()
- extcon_get_cable_state(*edev, char *) -> extcon_get_cable_state_(*edev, id)

[ balbi@ti.com : fix build break ]

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/phy/phy-omap-otg.c

index 56ee760..1270906 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;
 };
@@ -106,6 +105,7 @@ static int omap_otg_probe(struct platform_device *pdev)
        extcon = extcon_get_extcon_dev(config->extcon);
        if (!extcon)
                return -EPROBE_DEFER;
+       otg_dev->extcon = extcon;
 
        otg_dev = devm_kzalloc(&pdev->dev, sizeof(*otg_dev), GFP_KERNEL);
        if (!otg_dev)
@@ -118,20 +118,19 @@ static int omap_otg_probe(struct platform_device *pdev)
        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;
 }