提交 a2fd2423 编写于 作者: C Chanwoo Choi 提交者: Felipe Balbi

usb: phy: omap-otg: 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)

[ balbi@ti.com : fix build break ]

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: NFelipe Balbi <balbi@ti.com>
上级 5960387a
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册