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: Sangjung Woo <sangjung.woo@samsung.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
This commit is contained in:

committed by
Chanwoo Choi

parent
14dbd54962
commit
10fae1184d
@@ -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)
|
|||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user