Patchwork [3/5] rtc: tegra: use module_platform_driver_probe for module init/exit

login
register
mail settings
Submitter Laxman Dewangan
Date March 9, 2013, 6:09 p.m.
Message ID <1362852588-13362-4-git-send-email-ldewangan@nvidia.com>
Download mbox | patch
Permalink /patch/226355/
State Superseded, archived
Headers show

Comments

Laxman Dewangan - March 9, 2013, 6:09 p.m.
Use macro module_platform_driver_probe() to reduce some of the
boilerplate code in the driver.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 drivers/rtc/rtc-tegra.c |   12 +-----------
 1 files changed, 1 insertions(+), 11 deletions(-)
Thierry Reding - March 10, 2013, 10:34 p.m.
On Sat, Mar 09, 2013 at 11:39:47PM +0530, Laxman Dewangan wrote:
> Use macro module_platform_driver_probe() to reduce some of the
> boilerplate code in the driver.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> ---
>  drivers/rtc/rtc-tegra.c |   12 +-----------
>  1 files changed, 1 insertions(+), 11 deletions(-)

Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de>
Stephen Warren - March 11, 2013, 5:16 p.m.
On 03/09/2013 11:09 AM, Laxman Dewangan wrote:
> Use macro module_platform_driver_probe() to reduce some of the
> boilerplate code in the driver.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> ---
>  drivers/rtc/rtc-tegra.c |   12 +-----------
>  1 files changed, 1 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c
> index f7718de..4cba10d 100644
> --- a/drivers/rtc/rtc-tegra.c
> +++ b/drivers/rtc/rtc-tegra.c
> @@ -451,17 +451,7 @@ static struct platform_driver tegra_rtc_driver = {
>  	},
>  };
>  
> -static int __init tegra_rtc_init(void)
> -{
> -	return platform_driver_probe(&tegra_rtc_driver, tegra_rtc_probe);
> -}
> -module_init(tegra_rtc_init);
> -
> -static void __exit tegra_rtc_exit(void)
> -{
> -	platform_driver_unregister(&tegra_rtc_driver);
> -}
> -module_exit(tegra_rtc_exit);
> +module_platform_driver_probe(tegra_rtc_driver, tegra_rtc_probe);

Out of curiosity here, why not just module_platform_driver(); can't the
instantiation of the RTC device be driven by the presence of the DT
node, and hence the creation of the platform device object, just like
any other driver/device?
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Laxman Dewangan - March 11, 2013, 7:29 p.m.
On Monday 11 March 2013 10:46 PM, Stephen Warren wrote:
> On 03/09/2013 11:09 AM, Laxman Dewangan wrote:
>> Use macro module_platform_driver_probe() to reduce some of the
>> boilerplate code in the driver.
>>
>> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
>> ---
>>   drivers/rtc/rtc-tegra.c |   12 +-----------
>>   1 files changed, 1 insertions(+), 11 deletions(-)
>>
>> diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c
>> index f7718de..4cba10d 100644
>> --- a/drivers/rtc/rtc-tegra.c
>> +++ b/drivers/rtc/rtc-tegra.c
>> @@ -451,17 +451,7 @@ static struct platform_driver tegra_rtc_driver = {
>>   	},
>>   };
>>   
>> -static int __init tegra_rtc_init(void)
>> -{
>> -	return platform_driver_probe(&tegra_rtc_driver, tegra_rtc_probe);
>> -}
>> -module_init(tegra_rtc_init);
>> -
>> -static void __exit tegra_rtc_exit(void)
>> -{
>> -	platform_driver_unregister(&tegra_rtc_driver);
>> -}
>> -module_exit(tegra_rtc_exit);
>> +module_platform_driver_probe(tegra_rtc_driver, tegra_rtc_probe);
> Out of curiosity here, why not just module_platform_driver(); can't the
> instantiation of the RTC device be driven by the presence of the DT
> node, and hence the creation of the platform device object, just like
> any other driver/device?

Theoretically it should work but I will work with John (original author) 
about using the platform_driver_probe().
If he agrees then  I will send patch to convert it to 
module_platform_driver().



--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Warren - March 11, 2013, 7:46 p.m.
On 03/11/2013 01:29 PM, Laxman Dewangan wrote:
> On Monday 11 March 2013 10:46 PM, Stephen Warren wrote:
>> On 03/09/2013 11:09 AM, Laxman Dewangan wrote:
>>> Use macro module_platform_driver_probe() to reduce some of the
>>> boilerplate code in the driver.

>>> diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c

>>>   -static int __init tegra_rtc_init(void)
>>> -{
>>> -    return platform_driver_probe(&tegra_rtc_driver, tegra_rtc_probe);
>>> -}
>>> -module_init(tegra_rtc_init);
>>> -
>>> -static void __exit tegra_rtc_exit(void)
>>> -{
>>> -    platform_driver_unregister(&tegra_rtc_driver);
>>> -}
>>> -module_exit(tegra_rtc_exit);
>>> +module_platform_driver_probe(tegra_rtc_driver, tegra_rtc_probe);
>>
>> Out of curiosity here, why not just module_platform_driver(); can't the
>> instantiation of the RTC device be driven by the presence of the DT
>> node, and hence the creation of the platform device object, just like
>> any other driver/device?
> 
> Theoretically it should work but I will work with John (original author)
> about using the platform_driver_probe().
> If he agrees then  I will send patch to convert it to
> module_platform_driver().

OK, sounds good. Thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c
index f7718de..4cba10d 100644
--- a/drivers/rtc/rtc-tegra.c
+++ b/drivers/rtc/rtc-tegra.c
@@ -451,17 +451,7 @@  static struct platform_driver tegra_rtc_driver = {
 	},
 };
 
-static int __init tegra_rtc_init(void)
-{
-	return platform_driver_probe(&tegra_rtc_driver, tegra_rtc_probe);
-}
-module_init(tegra_rtc_init);
-
-static void __exit tegra_rtc_exit(void)
-{
-	platform_driver_unregister(&tegra_rtc_driver);
-}
-module_exit(tegra_rtc_exit);
+module_platform_driver_probe(tegra_rtc_driver, tegra_rtc_probe);
 
 MODULE_AUTHOR("Jon Mayo <jmayo@nvidia.com>");
 MODULE_DESCRIPTION("driver for Tegra internal RTC");