usb: chipidea: core: do not register extcon notifier if extcon device is not existed

This issue is detected when the system has another device driver
which registers USB connector extcon device, fix it by adding
extcon device check.

Signed-off-by: Peter Chen <peter.chen@nxp.com>
This commit is contained in:
Peter Chen 2017-06-23 14:39:27 +08:00
parent b74c43156c
commit 7c3a8b8150
1 changed files with 2 additions and 2 deletions

View File

@ -736,7 +736,7 @@ static int ci_extcon_register(struct ci_hdrc *ci)
id = &ci->platdata->id_extcon; id = &ci->platdata->id_extcon;
id->ci = ci; id->ci = ci;
if (!IS_ERR(id->edev)) { if (!IS_ERR_OR_NULL(id->edev)) {
ret = devm_extcon_register_notifier(ci->dev, id->edev, ret = devm_extcon_register_notifier(ci->dev, id->edev,
EXTCON_USB_HOST, &id->nb); EXTCON_USB_HOST, &id->nb);
if (ret < 0) { if (ret < 0) {
@ -747,7 +747,7 @@ static int ci_extcon_register(struct ci_hdrc *ci)
vbus = &ci->platdata->vbus_extcon; vbus = &ci->platdata->vbus_extcon;
vbus->ci = ci; vbus->ci = ci;
if (!IS_ERR(vbus->edev)) { if (!IS_ERR_OR_NULL(vbus->edev)) {
ret = devm_extcon_register_notifier(ci->dev, vbus->edev, ret = devm_extcon_register_notifier(ci->dev, vbus->edev,
EXTCON_USB, &vbus->nb); EXTCON_USB, &vbus->nb);
if (ret < 0) { if (ret < 0) {