2013-03-09 18:15:52

by Laxman Dewangan

[permalink] [raw]
Subject: [PATCH 5/5] rtc: tegra: use managed rtc_device_register

Use devm_rtc_device_register for registering rtc device.
This will reduce the code for unregistering rtc device in
cleanup path and remove the implementation of remove
callback of platform driver.

Signed-off-by: Laxman Dewangan <[email protected]>
---
drivers/rtc/rtc-tegra.c | 27 ++++-----------------------
1 files changed, 4 insertions(+), 23 deletions(-)

diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c
index 8186405..1ac8199 100644
--- a/drivers/rtc/rtc-tegra.c
+++ b/drivers/rtc/rtc-tegra.c
@@ -348,13 +348,11 @@ static int __init tegra_rtc_probe(struct platform_device *pdev)

device_init_wakeup(&pdev->dev, 1);

- info->rtc_dev = rtc_device_register(
- pdev->name, &pdev->dev, &tegra_rtc_ops, THIS_MODULE);
+ info->rtc_dev = devm_rtc_device_register(
+ dev_name(&pdev->dev), &pdev->dev, &tegra_rtc_ops, THIS_MODULE);
if (IS_ERR(info->rtc_dev)) {
ret = PTR_ERR(info->rtc_dev);
- info->rtc_dev = NULL;
- dev_err(&pdev->dev,
- "Unable to register device (err=%d).\n",
+ dev_err(&pdev->dev, "Unable to register device (err=%d).\n",
ret);
return ret;
}
@@ -366,28 +364,12 @@ static int __init tegra_rtc_probe(struct platform_device *pdev)
dev_err(&pdev->dev,
"Unable to request interrupt for device (err=%d).\n",
ret);
- goto err_dev_unreg;
+ return ret;
}

dev_notice(&pdev->dev, "Tegra internal Real Time Clock\n");

return 0;
-
-err_dev_unreg:
- rtc_device_unregister(info->rtc_dev);
-
- return ret;
-}
-
-static int __exit tegra_rtc_remove(struct platform_device *pdev)
-{
- struct tegra_rtc_info *info = platform_get_drvdata(pdev);
-
- rtc_device_unregister(info->rtc_dev);
-
- platform_set_drvdata(pdev, NULL);
-
- return 0;
}

#ifdef CONFIG_PM_SLEEP
@@ -441,7 +423,6 @@ static void tegra_rtc_shutdown(struct platform_device *pdev)

MODULE_ALIAS("platform:tegra_rtc");
static struct platform_driver tegra_rtc_driver = {
- .remove = __exit_p(tegra_rtc_remove),
.shutdown = tegra_rtc_shutdown,
.driver = {
.name = "tegra_rtc",
--
1.7.1.1


2013-03-10 22:50:09

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH 5/5] rtc: tegra: use managed rtc_device_register

On Sat, Mar 09, 2013 at 11:43:36PM +0530, Laxman Dewangan wrote:
> Use devm_rtc_device_register for registering rtc device.
> This will reduce the code for unregistering rtc device in
> cleanup path and remove the implementation of remove
> callback of platform driver.
>
> Signed-off-by: Laxman Dewangan <[email protected]>
> ---
> drivers/rtc/rtc-tegra.c | 27 ++++-----------------------
> 1 files changed, 4 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c
> index 8186405..1ac8199 100644
> --- a/drivers/rtc/rtc-tegra.c
> +++ b/drivers/rtc/rtc-tegra.c
> @@ -348,13 +348,11 @@ static int __init tegra_rtc_probe(struct platform_device *pdev)
>
> device_init_wakeup(&pdev->dev, 1);
>
> - info->rtc_dev = rtc_device_register(
> - pdev->name, &pdev->dev, &tegra_rtc_ops, THIS_MODULE);
> + info->rtc_dev = devm_rtc_device_register(
> + dev_name(&pdev->dev), &pdev->dev, &tegra_rtc_ops, THIS_MODULE);

The formatting looks weird on this one. For consistency with the rest of
the file it should look like this:

info->rtc_dev = devm_rtc_device_register(dev_name(&pdev->dev),
&pdev->dev, &tegra_rtc_ops,
THIS_MODULE);

With that fixed:

Reviewed-by: Thierry Reding <[email protected]>


Attachments:
(No filename) (1.25 kB)
(No filename) (836.00 B)
Download all attachments

2013-03-10 22:52:31

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH 5/5] rtc: tegra: use managed rtc_device_register

On Sat, Mar 09, 2013 at 11:43:36PM +0530, Laxman Dewangan wrote:
> Use devm_rtc_device_register for registering rtc device.
> This will reduce the code for unregistering rtc device in
> cleanup path and remove the implementation of remove
> callback of platform driver.

And RTC is also an abbreviation. =)

Thierry


Attachments:
(No filename) (316.00 B)
(No filename) (836.00 B)
Download all attachments