瀏覽代碼

usb: phy: msm-usb: Replace deprecated API of extcon

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)

Cc: Felipe Balbi <balbi@ti.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Chanwoo Choi 10 年之前
父節點
當前提交
83b7b67c78
共有 2 個文件被更改,包括 11 次插入11 次删除
  1. 10 10
      drivers/usb/phy/phy-msm-usb.c
  2. 1 1
      include/linux/usb/msm_hsusb.h

+ 10 - 10
drivers/usb/phy/phy-msm-usb.c

@@ -1561,15 +1561,16 @@ static int msm_otg_read_dt(struct platform_device *pdev, struct msm_otg *motg)
 	}
 	}
 
 
 	if (!IS_ERR(ext_vbus)) {
 	if (!IS_ERR(ext_vbus)) {
+		motg->vbus.extcon = ext_vbus;
 		motg->vbus.nb.notifier_call = msm_otg_vbus_notifier;
 		motg->vbus.nb.notifier_call = msm_otg_vbus_notifier;
-		ret = extcon_register_interest(&motg->vbus.conn, ext_vbus->name,
-					       "USB", &motg->vbus.nb);
+		ret = extcon_register_notifier(ext_vbus, EXTCON_USB,
+						&motg->vbus.nb);
 		if (ret < 0) {
 		if (ret < 0) {
 			dev_err(&pdev->dev, "register VBUS notifier failed\n");
 			dev_err(&pdev->dev, "register VBUS notifier failed\n");
 			return ret;
 			return ret;
 		}
 		}
 
 
-		ret = extcon_get_cable_state(ext_vbus, "USB");
+		ret = extcon_get_cable_state_(ext_vbus, EXTCON_USB);
 		if (ret)
 		if (ret)
 			set_bit(B_SESS_VLD, &motg->inputs);
 			set_bit(B_SESS_VLD, &motg->inputs);
 		else
 		else
@@ -1577,15 +1578,16 @@ static int msm_otg_read_dt(struct platform_device *pdev, struct msm_otg *motg)
 	}
 	}
 
 
 	if (!IS_ERR(ext_id)) {
 	if (!IS_ERR(ext_id)) {
+		motg->id.extcon = ext_id;
 		motg->id.nb.notifier_call = msm_otg_id_notifier;
 		motg->id.nb.notifier_call = msm_otg_id_notifier;
-		ret = extcon_register_interest(&motg->id.conn, ext_id->name,
-					       "USB-HOST", &motg->id.nb);
+		ret = extcon_register_notifier(ext_id, EXTCON_USB_HOST,
+						&motg->id.nb);
 		if (ret < 0) {
 		if (ret < 0) {
 			dev_err(&pdev->dev, "register ID notifier failed\n");
 			dev_err(&pdev->dev, "register ID notifier failed\n");
 			return ret;
 			return ret;
 		}
 		}
 
 
-		ret = extcon_get_cable_state(ext_id, "USB-HOST");
+		ret = extcon_get_cable_state_(ext_id, EXTCON_USB_HOST);
 		if (ret)
 		if (ret)
 			clear_bit(ID, &motg->inputs);
 			clear_bit(ID, &motg->inputs);
 		else
 		else
@@ -1805,10 +1807,8 @@ static int msm_otg_remove(struct platform_device *pdev)
 	if (phy->otg->host || phy->otg->gadget)
 	if (phy->otg->host || phy->otg->gadget)
 		return -EBUSY;
 		return -EBUSY;
 
 
-	if (motg->id.conn.edev)
-		extcon_unregister_interest(&motg->id.conn);
-	if (motg->vbus.conn.edev)
-		extcon_unregister_interest(&motg->vbus.conn);
+	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();
 	msm_otg_debugfs_cleanup();
 	cancel_delayed_work_sync(&motg->chg_work);
 	cancel_delayed_work_sync(&motg->chg_work);

+ 1 - 1
include/linux/usb/msm_hsusb.h

@@ -128,7 +128,7 @@ struct msm_otg_platform_data {
  */
  */
 struct msm_usb_cable {
 struct msm_usb_cable {
 	struct notifier_block		nb;
 	struct notifier_block		nb;
-	struct extcon_specific_cable_nb conn;
+	struct extcon_dev		*extcon;
 };
 };
 
 
 /**
 /**