Commit 10fae118 authored by Sangjung Woo's avatar Sangjung Woo Committed by Chanwoo Choi

extcon: max77693: Use devm_extcon_dev_register()

Use the resource-managed extcon device register function (i.e.
devm_extcon_dev_register()) instead of extcon_dev_register(). If extcon device
is attached with this function, that extcon device is automatically unregistered
on driver detach. That reduces tiresome managing code.
Signed-off-by: default avatarSangjung Woo <sangjung.woo@samsung.com>
Reviewed-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
parent 14dbd549
...@@ -1185,7 +1185,7 @@ static int max77693_muic_probe(struct platform_device *pdev) ...@@ -1185,7 +1185,7 @@ static int max77693_muic_probe(struct platform_device *pdev)
info->edev->name = DEV_NAME; info->edev->name = DEV_NAME;
info->edev->dev.parent = &pdev->dev; info->edev->dev.parent = &pdev->dev;
info->edev->supported_cable = max77693_extcon_cable; info->edev->supported_cable = max77693_extcon_cable;
ret = extcon_dev_register(info->edev); ret = devm_extcon_dev_register(&pdev->dev, info->edev);
if (ret) { if (ret) {
dev_err(&pdev->dev, "failed to register extcon device\n"); dev_err(&pdev->dev, "failed to register extcon device\n");
goto err_irq; goto err_irq;
...@@ -1267,7 +1267,7 @@ static int max77693_muic_probe(struct platform_device *pdev) ...@@ -1267,7 +1267,7 @@ static int max77693_muic_probe(struct platform_device *pdev)
MAX77693_MUIC_REG_ID, &id); MAX77693_MUIC_REG_ID, &id);
if (ret < 0) { if (ret < 0) {
dev_err(&pdev->dev, "failed to read revision number\n"); dev_err(&pdev->dev, "failed to read revision number\n");
goto err_extcon; goto err_irq;
} }
dev_info(info->dev, "device ID : 0x%x\n", id); dev_info(info->dev, "device ID : 0x%x\n", id);
...@@ -1288,8 +1288,6 @@ static int max77693_muic_probe(struct platform_device *pdev) ...@@ -1288,8 +1288,6 @@ static int max77693_muic_probe(struct platform_device *pdev)
return ret; return ret;
err_extcon:
extcon_dev_unregister(info->edev);
err_irq: err_irq:
while (--i >= 0) while (--i >= 0)
free_irq(muic_irqs[i].virq, info); free_irq(muic_irqs[i].virq, info);
...@@ -1305,7 +1303,6 @@ static int max77693_muic_remove(struct platform_device *pdev) ...@@ -1305,7 +1303,6 @@ static int max77693_muic_remove(struct platform_device *pdev)
free_irq(muic_irqs[i].virq, info); free_irq(muic_irqs[i].virq, info);
cancel_work_sync(&info->irq_work); cancel_work_sync(&info->irq_work);
input_unregister_device(info->dock); input_unregister_device(info->dock);
extcon_dev_unregister(info->edev);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment