diff options
author | Sangjung Woo <sangjung.woo@samsung.com> | 2014-04-21 19:10:12 +0900 |
---|---|---|
committer | Chanwoo Choi <cw00.choi@samsung.com> | 2014-04-24 19:37:04 +0900 |
commit | 10fae1184d00f09696078e572230402543ae34c8 (patch) | |
tree | 62c9e0d81f0276608247cbf5cb46f7e61f291363 | |
parent | 14dbd54962f9679b7573f853814b8ff15b6ec407 (diff) | |
download | linux-10fae1184d00f09696078e572230402543ae34c8.tar.gz linux-10fae1184d00f09696078e572230402543ae34c8.tar.bz2 linux-10fae1184d00f09696078e572230402543ae34c8.zip |
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>
-rw-r--r-- | drivers/extcon/extcon-max77693.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/extcon/extcon-max77693.c b/drivers/extcon/extcon-max77693.c index 39cd095d103c..f0f18e29ae07 100644 --- a/drivers/extcon/extcon-max77693.c +++ b/drivers/extcon/extcon-max77693.c @@ -1185,7 +1185,7 @@ static int max77693_muic_probe(struct platform_device *pdev) info->edev->name = DEV_NAME; info->edev->dev.parent = &pdev->dev; info->edev->supported_cable = max77693_extcon_cable; - ret = extcon_dev_register(info->edev); + ret = devm_extcon_dev_register(&pdev->dev, info->edev); if (ret) { dev_err(&pdev->dev, "failed to register extcon device\n"); goto err_irq; @@ -1267,7 +1267,7 @@ static int max77693_muic_probe(struct platform_device *pdev) MAX77693_MUIC_REG_ID, &id); if (ret < 0) { 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); @@ -1288,8 +1288,6 @@ static int max77693_muic_probe(struct platform_device *pdev) return ret; -err_extcon: - extcon_dev_unregister(info->edev); err_irq: while (--i >= 0) 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); cancel_work_sync(&info->irq_work); input_unregister_device(info->dock); - extcon_dev_unregister(info->edev); return 0; } |