mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH RESEND] of: add const to struct of_device_id.data
       [not found] <1335171381-24869-1-git-send-email-u.kleine-koenig@pengutronix.de>
@ 2012-06-07 10:20 ` Uwe Kleine-König
  2012-06-22  5:56   ` Uwe Kleine-König
  0 siblings, 1 reply; 4+ messages in thread
From: Uwe Kleine-König @ 2012-06-07 10:20 UTC (permalink / raw)
  To: devicetree-discuss, Arnd Bergmann, linux-kernel, Grant Likely; +Cc: kernel

Drivers should never need to modify the data of a device id. So it can
be const which in turn allows more consts in the driver.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
(Cc += lkml + Grant)

Hello,

this might introduce warnings in drivers that access the data member
without using const, so this is definitly merge window material if it is
considered at all.

Best regards
Uwe

 include/linux/mod_devicetable.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index 501da4c..183f411 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -222,7 +222,7 @@ struct of_device_id
 	char	type[32];
 	char	compatible[128];
 #ifdef __KERNEL__
-	void	*data;
+	const void *data;
 #else
 	kernel_ulong_t data;
 #endif
-- 
1.7.10



-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH RESEND] of: add const to struct of_device_id.data
  2012-06-07 10:20 ` [PATCH RESEND] of: add const to struct of_device_id.data Uwe Kleine-König
@ 2012-06-22  5:56   ` Uwe Kleine-König
  2012-06-22 17:26     ` Arnd Bergmann
  0 siblings, 1 reply; 4+ messages in thread
From: Uwe Kleine-König @ 2012-06-22  5:56 UTC (permalink / raw)
  To: devicetree-discuss, Arnd Bergmann, linux-kernel, Grant Likely; +Cc: kernel

On Thu, Jun 07, 2012 at 12:20:14PM +0200, Uwe Kleine-König wrote:
> Drivers should never need to modify the data of a device id. So it can
> be const which in turn allows more consts in the driver.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
> (Cc += lkml + Grant)
> 
> Hello,
> 
> this might introduce warnings in drivers that access the data member
> without using const, so this is definitly merge window material if it is
> considered at all.
ping

Best regards
Uwe

>  include/linux/mod_devicetable.h |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
> index 501da4c..183f411 100644
> --- a/include/linux/mod_devicetable.h
> +++ b/include/linux/mod_devicetable.h
> @@ -222,7 +222,7 @@ struct of_device_id
>  	char	type[32];
>  	char	compatible[128];
>  #ifdef __KERNEL__
> -	void	*data;
> +	const void *data;
>  #else
>  	kernel_ulong_t data;
>  #endif
> -- 
> 1.7.10
> 
> 
> 
> -- 
> Pengutronix e.K.                           | Uwe Kleine-König            |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> 

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH RESEND] of: add const to struct of_device_id.data
  2012-06-22  5:56   ` Uwe Kleine-König
@ 2012-06-22 17:26     ` Arnd Bergmann
  2012-06-24 14:43       ` Uwe Kleine-König
  0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2012-06-22 17:26 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: devicetree-discuss, linux-kernel, Grant Likely, kernel

On Friday 22 June 2012, Uwe Kleine-König wrote:
> On Thu, Jun 07, 2012 at 12:20:14PM +0200, Uwe Kleine-König wrote:
> > Drivers should never need to modify the data of a device id. So it can
> > be const which in turn allows more consts in the driver.
> > 
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > ---
> > (Cc += lkml + Grant)
> > 
> > Hello,
> > 
> > this might introduce warnings in drivers that access the data member
> > without using const, so this is definitly merge window material if it is
> > considered at all.
>
> ping

Sorry for the delayed response. I think the approach is right, but I
am a bit worried about adding warnings for legit code.

A quick test with the defconfigs gave me this error for prima2_defconfig
and kzm9g_defconfig:

/home/arnd/linux-arm/arch/arm/mm/cache-l2x0.c: In function 'l2x0_of_init':
/home/arnd/linux-arm/arch/arm/mm/cache-l2x0.c:573:7: error: assignment discards 'const' qualifier from pointer target type [-Werror]

and this one with at91sam9263_defconfig:
/home/arnd/linux-arm/drivers/misc/atmel_tclib.c: In function 'tc_probe':
/home/arnd/linux-arm/drivers/misc/atmel_tclib.c:170:19: error: assignment discards 'const' qualifier from pointer target type [-Werror]

I haven't checked all the defconfigs yet, but I think we should at least
make sure they build fine before applying your patch.

	Arnd

8<---
diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c
index 2a8e380..577baf7 100644
--- a/arch/arm/mm/cache-l2x0.c
+++ b/arch/arm/mm/cache-l2x0.c
@@ -554,7 +554,7 @@ static const struct of_device_id l2x0_ids[] __initconst = {
 int __init l2x0_of_init(u32 aux_val, u32 aux_mask)
 {
 	struct device_node *np;
-	struct l2x0_of_data *data;
+	const struct l2x0_of_data *data;
 	struct resource res;
 
 	np = of_find_matching_node(NULL, l2x0_ids);
diff --git a/include/linux/atmel_tc.h b/include/linux/atmel_tc.h
index 1d14b1dc..89a931b 100644
--- a/include/linux/atmel_tc.h
+++ b/include/linux/atmel_tc.h
@@ -63,7 +63,7 @@ struct atmel_tc {
 	struct platform_device	*pdev;
 	struct resource		*iomem;
 	void __iomem		*regs;
-	struct atmel_tcb_config	*tcb_config;
+	const struct atmel_tcb_config *tcb_config;
 	int			irq[3];
 	struct clk		*clk[3];
 	struct list_head	node;

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH RESEND] of: add const to struct of_device_id.data
  2012-06-22 17:26     ` Arnd Bergmann
@ 2012-06-24 14:43       ` Uwe Kleine-König
  0 siblings, 0 replies; 4+ messages in thread
From: Uwe Kleine-König @ 2012-06-24 14:43 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: devicetree-discuss, linux-kernel, Grant Likely, kernel,
	Russell King - ARM Linux

Hello Arnd,

On Fri, Jun 22, 2012 at 05:26:22PM +0000, Arnd Bergmann wrote:
> On Friday 22 June 2012, Uwe Kleine-König wrote:
> > On Thu, Jun 07, 2012 at 12:20:14PM +0200, Uwe Kleine-König wrote:
> > > Drivers should never need to modify the data of a device id. So it can
> > > be const which in turn allows more consts in the driver.
> > > 
> > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > > ---
> > > (Cc += lkml + Grant)
> > > 
> > > Hello,
> > > 
> > > this might introduce warnings in drivers that access the data member
> > > without using const, so this is definitly merge window material if it is
> > > considered at all.
> >
> > ping
> 
> Sorry for the delayed response. I think the approach is right, but I
> am a bit worried about adding warnings for legit code.
> 
> A quick test with the defconfigs gave me this error for prima2_defconfig
> and kzm9g_defconfig:
> 
> /home/arnd/linux-arm/arch/arm/mm/cache-l2x0.c: In function 'l2x0_of_init':
> /home/arnd/linux-arm/arch/arm/mm/cache-l2x0.c:573:7: error: assignment discards 'const' qualifier from pointer target type [-Werror]
I already sent a patch for that to rmk's patch system:

	http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7429/1

Russell commented: 
Sigh, a gmane.org URL.  Which is difficult to dig the thread out of.
Eventually you can.  And I see nothing which suggests that the series
will be applied or, more importantly when it is going to be applied.
Punting this patch until there's better communication.

Russell, I didn't completely get your problem about gmane here. If you
follow the link in the Subject: line, you get a thread view. Does this
address your concerns?

And even without the of: add const to struct of_device_id.data patch
patch using more consts is IMHO nice.

> and this one with at91sam9263_defconfig:
> /home/arnd/linux-arm/drivers/misc/atmel_tclib.c: In function 'tc_probe':
> /home/arnd/linux-arm/drivers/misc/atmel_tclib.c:170:19: error: assignment discards 'const' qualifier from pointer target type [-Werror]
> 
> I haven't checked all the defconfigs yet, but I think we should at least
> make sure they build fine before applying your patch.
Fine for me, I will come up with a series next week.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-06-24 14:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1335171381-24869-1-git-send-email-u.kleine-koenig@pengutronix.de>
2012-06-07 10:20 ` [PATCH RESEND] of: add const to struct of_device_id.data Uwe Kleine-König
2012-06-22  5:56   ` Uwe Kleine-König
2012-06-22 17:26     ` Arnd Bergmann
2012-06-24 14:43       ` Uwe Kleine-König

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome