Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a2fd2423 authored by Chanwoo Choi's avatar Chanwoo Choi Committed by Felipe Balbi
Browse files

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: default avatarChanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 5960387a
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -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;
}