diff mbox

[v1] ARM:sunxi:sid: Make use of the of_match_ptr

Message ID 1420616468-3782-1-git-send-email-oliver+list@schinagl.nl (mailing list archive)
State New, archived
Headers show

Commit Message

Olliver Schinagl Jan. 7, 2015, 7:41 a.m. UTC
From: Olliver Schinagl <oliver@schinagl.nl>

I probably have forgotten to use this macro for the of_match pointer, so
this patch adds the of_match_ptr macro.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
---
 drivers/misc/eeprom/sunxi_sid.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Maxime Ripard Jan. 7, 2015, 8:49 a.m. UTC | #1
Hi,

On Wed, Jan 07, 2015 at 08:41:08AM +0100, Olliver Schinagl wrote:
> From: Olliver Schinagl <oliver@schinagl.nl>
> 
> I probably have forgotten to use this macro for the of_match pointer, so
> this patch adds the of_match_ptr macro.
> 
> Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
> ---
>  drivers/misc/eeprom/sunxi_sid.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/misc/eeprom/sunxi_sid.c b/drivers/misc/eeprom/sunxi_sid.c
> index 8385177..5a330d9 100644
> --- a/drivers/misc/eeprom/sunxi_sid.c
> +++ b/drivers/misc/eeprom/sunxi_sid.c
> @@ -25,6 +25,7 @@
>  #include <linux/kernel.h>
>  #include <linux/kobject.h>
>  #include <linux/module.h>
> +#include <linux/of.h>
>  #include <linux/of_device.h>
>  #include <linux/platform_device.h>
>  #include <linux/random.h>
> @@ -146,7 +147,7 @@ static struct platform_driver sunxi_sid_driver = {
>  	.remove = sunxi_sid_remove,
>  	.driver = {
>  		.name = DRV_NAME,
> -		.of_match_table = sunxi_sid_of_match,
> +		.of_match_table = of_match_ptr(sunxi_sid_of_match),

Why do you need this ? The sunxi_sid_of_match array is always defined.

Maxime
Arnd Bergmann Jan. 7, 2015, 9 a.m. UTC | #2
On Wednesday 07 January 2015 08:41:08 Olliver Schinagl wrote:
> From: Olliver Schinagl <oliver@schinagl.nl>
> 
> I probably have forgotten to use this macro for the of_match pointer, so
> this patch adds the of_match_ptr macro.
> 
> Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
> ---
>  drivers/misc/eeprom/sunxi_sid.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/misc/eeprom/sunxi_sid.c b/drivers/misc/eeprom/sunxi_sid.c
> index 8385177..5a330d9 100644
> --- a/drivers/misc/eeprom/sunxi_sid.c
> +++ b/drivers/misc/eeprom/sunxi_sid.c
> @@ -25,6 +25,7 @@
>  #include <linux/kernel.h>
>  #include <linux/kobject.h>
>  #include <linux/module.h>
> +#include <linux/of.h>
>  #include <linux/of_device.h>
>  #include <linux/platform_device.h>
>  #include <linux/random.h>
> @@ -146,7 +147,7 @@ static struct platform_driver sunxi_sid_driver = {
>         .remove = sunxi_sid_remove,
>         .driver = {
>                 .name = DRV_NAME,
> -               .of_match_table = sunxi_sid_of_match,
> +               .of_match_table = of_match_ptr(sunxi_sid_of_match),
>         },
>  };
>  module_platform_driver(sunxi_sid_driver);

This looks wrong: sunxi_sid_of_match is defined unconditionally, so
now you get a compiler warning if CONFIG_OF is disabled.

The existing code is good, we only add the of_match_ptr() for drivers
that are useful without CONFIG_OF and that want to save a few bytes
in .data size.

	Arnd
Olliver Schinagl Jan. 7, 2015, 9:26 a.m. UTC | #3
Hey Arnd,
On 07-01-15 10:00, Arnd Bergmann wrote:
> On Wednesday 07 January 2015 08:41:08 Olliver Schinagl wrote:
>> From: Olliver Schinagl <oliver@schinagl.nl>
>>
>> I probably have forgotten to use this macro for the of_match pointer, so
>> this patch adds the of_match_ptr macro.
>>
>> Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
>> ---
>>   drivers/misc/eeprom/sunxi_sid.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/misc/eeprom/sunxi_sid.c b/drivers/misc/eeprom/sunxi_sid.c
>> index 8385177..5a330d9 100644
>> --- a/drivers/misc/eeprom/sunxi_sid.c
>> +++ b/drivers/misc/eeprom/sunxi_sid.c
>> @@ -25,6 +25,7 @@
>>   #include <linux/kernel.h>
>>   #include <linux/kobject.h>
>>   #include <linux/module.h>
>> +#include <linux/of.h>
>>   #include <linux/of_device.h>
>>   #include <linux/platform_device.h>
>>   #include <linux/random.h>
>> @@ -146,7 +147,7 @@ static struct platform_driver sunxi_sid_driver = {
>>          .remove = sunxi_sid_remove,
>>          .driver = {
>>                  .name = DRV_NAME,
>> -               .of_match_table = sunxi_sid_of_match,
>> +               .of_match_table = of_match_ptr(sunxi_sid_of_match),
>>          },
>>   };
>>   module_platform_driver(sunxi_sid_driver);
> This looks wrong: sunxi_sid_of_match is defined unconditionally, so
> now you get a compiler warning if CONFIG_OF is disabled.
>
> The existing code is good, we only add the of_match_ptr() for drivers
> that are useful without CONFIG_OF and that want to save a few bytes
> in .data size.
Ah, I missunderstood its use then!It looked like the of_match_ptr() got 
defined away otherwise. Sorry for the noise!

Olliver
>
> 	Arnd
diff mbox

Patch

diff --git a/drivers/misc/eeprom/sunxi_sid.c b/drivers/misc/eeprom/sunxi_sid.c
index 8385177..5a330d9 100644
--- a/drivers/misc/eeprom/sunxi_sid.c
+++ b/drivers/misc/eeprom/sunxi_sid.c
@@ -25,6 +25,7 @@ 
 #include <linux/kernel.h>
 #include <linux/kobject.h>
 #include <linux/module.h>
+#include <linux/of.h>
 #include <linux/of_device.h>
 #include <linux/platform_device.h>
 #include <linux/random.h>
@@ -146,7 +147,7 @@  static struct platform_driver sunxi_sid_driver = {
 	.remove = sunxi_sid_remove,
 	.driver = {
 		.name = DRV_NAME,
-		.of_match_table = sunxi_sid_of_match,
+		.of_match_table = of_match_ptr(sunxi_sid_of_match),
 	},
 };
 module_platform_driver(sunxi_sid_driver);