Skip to contentSkip to conversation

make *struct of_device_id.data const

PATCH Superseded Uwe Kleine-König 11 participants 49 messages Jul 23, 2012 – Oct 15, 2012

Subsystems (25)
lore
Share & tools
lore
#0 lore raw

v2 cover make *struct of_device_id.data const

Hello,

this is the 2nd version of this series whose goal is to make struct of_device_id.data const. Conceptually a driver must not modify the data contained there so making it const is the right thing.

v1 of this series was sent with Message-id:
1342182734-321-1-git-send-email-y. Changes since then are:
- powerpc fixes
- several new consts that were found by Arnd that are possible after patch 19.

Arnd suggested to take this series via arm-soc late for 3.6 in one go because patch 19 depends on the former patches but is a precondition to the latter and it fixes a few warnings. So getting it in via the respective maintainer trees would need a much bigger coordination effort. That means I prefer getting Acks over you taking the patch.

Vinod Koul already took
dmaengine: at_hdmac: add a few const qualifiers
that is in next-20120723 as 7fd63ccdad72 now. Vinod, I don't follow your pull requests, but assuming you didn't let it already pull for 3.6 I suggest you drop it from your queue and I just take your Ack.

This series was build tested for arm (all defconfigs) and powerpc (all defconfigs and an allyesconfig) and grep didn't find more issues. As before it introduces a warning in drivers/regulator/twl-regulator.c. This driver does modify its .of_match_table when a device is bound which doesn't fits the concept of independant devices. Arnd noticed another new warning in drivers/scsi/qlogicpti.c that isn't that easy to resolve, because the pointer to (now) const data is passed as first argument to scsi_host_alloc. To fix that properly struct Scsi_Host.hostt needs to get a const, too. Alternatively I could introduce a cast removing the const, but I don't like that.

This series is also available at:

git://git.pengutronix.de/git/ukl/linux.git ofdeviceiddata

and I will modify it there for the Acks I'm getting.

Arnd Bergmann (6):
watchdog/mpc8xxx: add a const qualifier powerpc/fsl_msi: drop unneeded cast to non-const pointer mfd/da9052: make i2c_device_id array const
i2c/mpc: make data used as *of_device_id.data const macintosh/mediabay: make data used as *of_device_id.data const
can: mpc5xxx_can: make data used as *of_device_id.data const

Marc Kleine-Budde (1):
can: mpc5xxx_can: make data in mpc5xxx_can_probe const

Uwe Kleine-K?nig (18):
spi/imx: make spi_imx_data.devtype_data member point to const data spi/spi-omap2-mcspi: add a const qualifier
serial/imx: make imx_port.devdata member point to const data serial/mpc52xx_uart: add a const qualifier
ARM: cache-l2x0: add a const qualifier
misc/atmel_tc: make atmel_tc.tcb_config member point to const data gpio/gpio-omap.c: add a const qualifier
gpio/mpc8xxx: add a const qualifier
i2c/i2c-omap: add a const qualifier
i2c/mpc: add a const qualifier
dmaengine: at_hdmac: add a few const qualifiers mmc/omap_hsmmc: add a const qualifier macintosh/mediabay: add a const qualifier
powerpc/83xx: add a const qualifier
powerpc/fsl_msi: add a const qualifier powerpc/celleb_pci: add a const qualifier
of: add const to struct *of_device_id.data gpio/gpio-omap: make platformdata used as *of_device_id.data const

 arch/arm/mm/cache-l2x0.c                 |    2 +-
 arch/powerpc/platforms/83xx/suspend.c    |    2 +-
 arch/powerpc/platforms/cell/celleb_pci.c |    2 +-
 arch/powerpc/sysdev/fsl_msi.c            |    8 ++++----
 drivers/dma/at_hdmac.c                   |    4 ++--
 drivers/gpio/gpio-mpc8xxx.c              |    2 +-
 drivers/gpio/gpio-omap.c                 |    8 ++++----
 drivers/i2c/busses/i2c-mpc.c             |   12 ++++++------
 drivers/i2c/busses/i2c-omap.c            |    3 ++-
 drivers/macintosh/mediabay.c             |    8 ++++----
 drivers/mfd/da9052-i2c.c                 |    4 ++--
 drivers/mmc/host/omap_hsmmc.c            |    2 +-
 drivers/net/can/mscan/mpc5xxx_can.c      |    6 +++---
 drivers/spi/spi-imx.c                    |    2 +-
 drivers/spi/spi-omap2-mcspi.c            |    2 +-
 drivers/tty/serial/imx.c                 |    2 +-
 drivers/tty/serial/mpc52xx_uart.c        |    2 +-
 drivers/watchdog/mpc8xxx_wdt.c           |    2 +-
 include/linux/atmel_tc.h                 |    2 +-
 include/linux/mod_devicetable.h          |    2 +-
 20 files changed, 39 insertions(+), 38 deletions(-)
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH v2 1/25 spi/imx: make spi_imx_data.devtype_data member point to const data

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/spi/spi-imx.c: In function spi_imx_probe:
drivers/spi/spi-imx.c:814:24: warning: assignment discards const qualifier from pointer target type [enabled by default]

---
 drivers/spi/spi-imx.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/spi/spi-imx.c +1 -1
index 47877d6..b09fc77 100644
@@ -97,7 +97,7 @@ struct spi_imx_data {
 	const void *tx_buf;
 	unsigned int txfifo; /* number of words pushed in tx FIFO */
 
-	struct spi_imx_devtype_data *devtype_data;
+	const struct spi_imx_devtype_data *devtype_data;
 	int chipselect[0];
 };
 
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH v2 2/25 spi/spi-omap2-mcspi: add a const qualifier

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/spi/spi-omap2-mcspi.c: In function 'omap2_mcspi_probe':
drivers/spi/spi-omap2-mcspi.c:1118: warning: assignment discards qualifiers from pointer target type

---
 drivers/spi/spi-omap2-mcspi.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/spi/spi-omap2-mcspi.c +1 -1
index 0c73dd4..3455769 100644
@@ -1087,7 +1087,7 @@ MODULE_DEVICE_TABLE(of, omap_mcspi_of_match);
 static int __devinit omap2_mcspi_probe(struct platform_device *pdev)
 {
 	struct spi_master	*master;
-	struct omap2_mcspi_platform_config *pdata;
+	const struct omap2_mcspi_platform_config *pdata;
 	struct omap2_mcspi	*mcspi;
 	struct resource		*r;
 	int			status = 0, i;
Signature · 1 line
1.7.10.4
#3 lore raw

PATCH v2 3/25 serial/imx: make imx_port.devdata member point to const data

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/tty/serial/imx.c: In function 'serial_imx_probe_dt':
drivers/tty/serial/imx.c:1430:17: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

---
 drivers/tty/serial/imx.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/tty/serial/imx.c +1 -1
index 4ef7473..0af4eec 100644
@@ -207,7 +207,7 @@ struct imx_port {
 	unsigned short		trcv_delay; /* transceiver delay */
 	struct clk		*clk_ipg;
 	struct clk		*clk_per;
-	struct imx_uart_data	*devdata;
+	const struct imx_uart_data *devdata;
 };
 
 struct imx_port_ucrs {
Signature · 1 line
1.7.10.4
#4 lore raw

PATCH 3/25 serial/imx: make imx_port.devdata member point to const data

Quoted 7 lines · Uwe Kleine-K?nig

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/tty/serial/imx.c: In function 'serial_imx_probe_dt':
drivers/tty/serial/imx.c:1430:17: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

#5 lore raw

PATCH v2 4/25 serial/mpc52xx_uart: add a const qualifier

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/tty/serial/mpc52xx_uart.c: In function 'mpc52xx_uart_of_enumerate':
drivers/tty/serial/mpc52xx_uart.c:1440:11: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

---
 drivers/tty/serial/mpc52xx_uart.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/tty/serial/mpc52xx_uart.c +1 -1
index bedac0d..b131f2d 100644
@@ -598,7 +598,7 @@ static struct psc_ops mpc512x_psc_ops = {
 };
 #endif
 
-static struct psc_ops *psc_ops;
+static const struct psc_ops *psc_ops;
 
 /* ======================================================================== */
 /* UART operations                                                          */
Signature · 1 line
1.7.10.4
#6 lore raw

PATCH 4/25 serial/mpc52xx_uart: add a const qualifier

Quoted 7 lines · Uwe Kleine-K?nig

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/tty/serial/mpc52xx_uart.c: In function 'mpc52xx_uart_of_enumerate':
drivers/tty/serial/mpc52xx_uart.c:1440:11: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

#7 lore raw

PATCH v2 5/25 ARM: cache-l2x0: add a const qualifier

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

	arch/arm/mm/cache-l2x0.c: In function 'l2x0_of_init':
	arch/arm/mm/cache-l2x0.c:573:7: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

though.

---
 arch/arm/mm/cache-l2x0.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/mm/cache-l2x0.c +1 -1
index 2a8e380..577baf7 100644
@@ -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);
Signature · 1 line
1.7.10.4
#8 lore raw

PATCH v2 6/25 misc/atmel_tc: make atmel_tc.tcb_config member point to const data

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/misc/atmel_tclib.c: In function 'tc_probe':
drivers/misc/atmel_tclib.c:170: warning: assignment discards qualifiers from pointer target type

---
 include/linux/atmel_tc.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/linux/atmel_tc.h +1 -1
index 1d14b1dc..89a931b 100644
@@ -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;
Signature · 1 line
1.7.10.4
#9 lore raw

PATCH v2 7/25 gpio/gpio-omap.c: add a const qualifier

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/gpio/gpio-omap.c: In function 'omap_gpio_probe':
drivers/gpio/gpio-omap.c:1060: warning: assignment discards qualifiers from pointer target type

---
 drivers/gpio/gpio-omap.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpio/gpio-omap.c +1 -1
index c4ed172..019cb7b 100644
@@ -1050,7 +1050,7 @@ static int __devinit omap_gpio_probe(struct platform_device *pdev)
 	struct device *dev = &pdev->dev;
 	struct device_node *node = dev->of_node;
 	const struct of_device_id *match;
-	struct omap_gpio_platform_data *pdata;
+	const struct omap_gpio_platform_data *pdata;
 	struct resource *res;
 	struct gpio_bank *bank;
 	int ret = 0;
Signature · 1 line
1.7.10.4
#10 lore raw

PATCH 7/25 gpio/gpio-omap.c: add a const qualifier

Quoted 7 lines · Uwe Kleine-K?nig

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/gpio/gpio-omap.c: In function 'omap_gpio_probe':
drivers/gpio/gpio-omap.c:1060: warning: assignment discards qualifiers from pointer target type

Yours,
Linus Walleij

#11 lore raw

PATCH 7/25 gpio/gpio-omap.c: add a const qualifier

In reply to Uwe Kleine-König
Quoted 8 lines · Uwe Kleine-K?nig

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/gpio/gpio-omap.c: In function 'omap_gpio_probe':
drivers/gpio/gpio-omap.c:1060: warning: assignment discards qualifiers from pointer target type

---

Looks fine to me. Thanks

#12 lore raw

PATCH v2 8/25 gpio/mpc8xxx: add a const qualifier

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/gpio/gpio-mpc8xxx.c: In function 'mpc8xxx_add_controller':
drivers/gpio/gpio-mpc8xxx.c:360:30: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

---
 drivers/gpio/gpio-mpc8xxx.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpio/gpio-mpc8xxx.c +1 -1
index 5a1817e..9ae29cc 100644
@@ -38,7 +38,7 @@ struct mpc8xxx_gpio_chip {
 	 */
 	u32 data;
 	struct irq_domain *irq;
-	void *of_dev_id_data;
+	const void *of_dev_id_data;
 };
 
 static inline u32 mpc8xxx_gpio2mask(unsigned int gpio)
Signature · 1 line
1.7.10.4
#13 lore raw

PATCH 8/25 gpio/mpc8xxx: add a const qualifier

Quoted 7 lines · Uwe Kleine-K?nig

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/gpio/gpio-mpc8xxx.c: In function 'mpc8xxx_add_controller':
drivers/gpio/gpio-mpc8xxx.c:360:30: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

Yours,
Linus Walleij

#14 lore raw

PATCH v2 9/25 i2c/i2c-omap: add a const qualifier

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/i2c/busses/i2c-omap.c: In function 'omap_i2c_probe':
drivers/i2c/busses/i2c-omap.c:1025: warning: assignment discards qualifiers from pointer target type

---
 drivers/i2c/busses/i2c-omap.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/i2c/busses/i2c-omap.c +2 -1
index 801df60..4fc585d 100644
@@ -987,7 +987,8 @@ omap_i2c_probe(struct platform_device *pdev)
 	struct omap_i2c_dev	*dev;
 	struct i2c_adapter	*adap;
 	struct resource		*mem, *irq, *ioarea;
-	struct omap_i2c_bus_platform_data *pdata = pdev->dev.platform_data;
+	const struct omap_i2c_bus_platform_data *pdata =
+		pdev->dev.platform_data;
 	struct device_node	*node = pdev->dev.of_node;
 	const struct of_device_id *match;
 	irq_handler_t isr;
Signature · 1 line
1.7.10.4
#15 lore raw

PATCH 9/25 i2c/i2c-omap: add a const qualifier

Quoted 7 lines · Uwe Kleine-K?nig

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/i2c/busses/i2c-omap.c: In function 'omap_i2c_probe':
drivers/i2c/busses/i2c-omap.c:1025: warning: assignment discards qualifiers from pointer target type

Quoted 3 lines
---
 drivers/i2c/busses/i2c-omap.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
#16 lore raw

PATCH v2 10/25 i2c/mpc: add a const qualifier

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/i2c/busses/i2c-mpc.c: In function 'fsl_i2c_probe':
drivers/i2c/busses/i2c-mpc.c:650:31: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]

---
 drivers/i2c/busses/i2c-mpc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/i2c/busses/i2c-mpc.c +1 -1
index b76731e..775062c 100644
@@ -647,7 +647,7 @@ static int __devinit fsl_i2c_probe(struct platform_device *op)
 	}
 
 	if (match->data) {
-		struct mpc_i2c_data *data = match->data;
+		const struct mpc_i2c_data *data = match->data;
 		data->setup(op->dev.of_node, i2c, clock, data->prescaler);
 	} else {
 		/* Backwards compatibility */
Signature · 1 line
1.7.10.4
#17 lore raw

PATCH v2 11/25 dmaengine: at_hdmac: add a few const qualifiers

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/dma/at_hdmac.c: In function 'at_dma_get_driver_data':
drivers/dma/at_hdmac.c:1228: warning: return discards qualifiers from pointer target type

---
 drivers/dma/at_hdmac.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/dma/at_hdmac.c +2 -2
index 7292aa8..7e9d265 100644
@@ -1217,7 +1217,7 @@ static const struct platform_device_id atdma_devtypes[] = {
 	}
 };
 
-static inline struct at_dma_platform_data * __init at_dma_get_driver_data(
+static inline const struct at_dma_platform_data * __init at_dma_get_driver_data(
 						struct platform_device *pdev)
 {
 	if (pdev->dev.of_node) {
@@ -1255,7 +1255,7 @@ static int __init at_dma_probe(struct platform_device *pdev)
 	int			irq;
 	int			err;
 	int			i;
-	struct at_dma_platform_data *plat_dat;
+	const struct at_dma_platform_data *plat_dat;
 
 	/* setup platform data for each SoC */
 	dma_cap_set(DMA_MEMCPY, at91sam9rl_config.cap_mask);
Signature · 1 line
1.7.10.4
#18 lore raw

PATCH v2 12/25 mmc/omap_hsmmc: add a const qualifier

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/mmc/host/omap_hsmmc.c: In function 'omap_hsmmc_probe':
drivers/mmc/host/omap_hsmmc.c:1808: warning: initialization discards qualifiers from pointer target type

---
 drivers/mmc/host/omap_hsmmc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/mmc/host/omap_hsmmc.c +1 -1
index 389a3ee..5bcd043 100644
@@ -1805,7 +1805,7 @@ static int __devinit omap_hsmmc_probe(struct platform_device *pdev)
 	if (match) {
 		pdata = of_get_hsmmc_pdata(&pdev->dev);
 		if (match->data) {
-			u16 *offsetp = match->data;
+			const u16 *offsetp = match->data;
 			pdata->reg_offset = *offsetp;
 		}
 	}
Signature · 1 line
1.7.10.4
#19 lore raw

PATCH 12/25 mmc/omap_hsmmc: add a const qualifier

Quoted 7 lines · Uwe Kleine-K?nig

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/mmc/host/omap_hsmmc.c: In function 'omap_hsmmc_probe':
drivers/mmc/host/omap_hsmmc.c:1808: warning: initialization discards qualifiers from pointer target type

Quoted 4 lines
---
 drivers/mmc/host/omap_hsmmc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
#20 lore raw

PATCH v2 13/25 macintosh/mediabay: add a const qualifier

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/macintosh/mediabay.c: In function 'media_bay_attach':
drivers/macintosh/mediabay.c:589:11: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

---
 drivers/macintosh/mediabay.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/macintosh/mediabay.c +1 -1
index 831d751..54bf584 100644
@@ -63,7 +63,7 @@ struct media_bay_info {
 	int				value_count;
 	int				timer;
 	struct macio_dev		*mdev;
-	struct mb_ops*			ops;
+	const struct mb_ops*		ops;
 	int				index;
 	int				cached_gpio;
 	int				sleeping;
Signature · 1 line
1.7.10.4
#21 lore raw

PATCH 13/25 macintosh/mediabay: add a const qualifier

Quoted 8 lines · Uwe Kleine-K?nig

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/macintosh/mediabay.c: In function 'media_bay_attach':
drivers/macintosh/mediabay.c:589:11: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

---

Ack all of these assuming you test built (I didn't). Do you need me to carry any of this via the powerpc tree ?

Cheers,
Ben.

Quoted 16 lines
 drivers/macintosh/mediabay.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/macintosh/mediabay.c +1 -1
index 831d751..54bf584 100644
@@ -63,7 +63,7 @@ struct media_bay_info {
 	int				value_count;
 	int				timer;
 	struct macio_dev		*mdev;
-	struct mb_ops*			ops;
+	const struct mb_ops*		ops;
 	int				index;
 	int				cached_gpio;
 	int				sleeping;
#22 lore raw

PATCH v2 13/25 macintosh/mediabay: add a const qualifier

Hello,

Quoted 11 lines · Benjamin Herrenschmidt
Quoted 8 lines · Uwe Kleine-K?nig

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/macintosh/mediabay.c: In function 'media_bay_attach':
drivers/macintosh/mediabay.c:589:11: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

---

Ack all of these assuming you test built (I didn't).

"all" means the two mediabay patches? And yes, they are all built tested.

Quoted 2 lines

Do you need me to
carry any of this via the powerpc tree ?

The patch that adds the const to of_device_id depends[1] on this patch. And the other mediabay is only valid after that const is added. So the easiest is if the series is pulled in one go. Arnd intended to let Linus pull it for 3.6-rc1 but it was missed because of a communication problem. So I intend to get it in during the 3.7 merge window.

Best regards
Uwe

[1] it's only a soft depend, because the result is "only" a warning, but still.

Signature · 2 lines
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
#23 lore raw

PATCH 13/25 macintosh/mediabay: add a const qualifier

Quoted 10 lines · Uwe Kleine-K?nig

Hello,

Quoted 7 lines · Benjamin Herrenschmidt
Quoted 6 lines · Uwe Kleine-K?nig

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/macintosh/mediabay.c: In function 'media_bay_attach':
drivers/macintosh/mediabay.c:589:11: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

---

Ack all of these assuming you test built (I didn't).

"all" means the two mediabay patches? And yes, they are all built tested.

Yeah, anything powerpc you had in your series, but the two mediabay ones are what I spotted when digging through stuff today :-)

Quoted 7 lines
Quoted 2 lines

Do you need me to
carry any of this via the powerpc tree ?

The patch that adds the const to of_device_id depends[1] on this patch. And the other mediabay is only valid after that const is added. So the easiest is if the series is pulled in one go. Arnd intended to let Linus pull it for 3.6-rc1 but it was missed because of a communication problem. So I intend to get it in during the 3.7 merge window.

Ok, I'm happy for Arnd to carry all of these, I trust his judgement/review for that stuff including for ppc specific bits.

Cheers,
Ben.

Quoted 6 lines

Best regards
Uwe

[1] it's only a soft depend, because the result is "only" a warning, but still.

#24 lore raw

PATCH v2 13/25 macintosh/mediabay: add a const qualifier

Quoted 14 lines · Benjamin Herrenschmidt
Quoted 13 lines · Uwe Kleine-K?nig

Hello,

Quoted 10 lines · Benjamin Herrenschmidt
Quoted 8 lines · Uwe Kleine-K?nig

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/macintosh/mediabay.c: In function 'media_bay_attach':
drivers/macintosh/mediabay.c:589:11: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

---

Quoted 6 lines
Quoted 3 lines
Quoted 1 line

Ack all of these assuming you test built (I didn't).

"all" means the two mediabay patches? And yes, they are all built tested.

Yeah, anything powerpc you had in your series, but the two mediabay ones are what I spotted when digging through stuff today :-)

I added that to

serial/mpc52xx_uart: add a const qualifier gpio/mpc8xxx: add a const qualifier
i2c/mpc: add a const qualifier
macintosh/mediabay: add a const qualifier powerpc/83xx: add a const qualifier
powerpc/fsl_msi: add a const qualifier powerpc/celleb_pci: add a const qualifier watchdog/mpc8xxx: add a const qualifier powerpc/fsl_msi: drop unneeded cast to non-const pointer i2c/mpc: make data used as *of_device_id.data const macintosh/mediabay: make data used as *of_device_id.data const
can: mpc5xxx_can: make data used as *of_device_id.data const

in the hope I didn't interpret "anything powerpc" too wide. Please tell me if I did.

Thanks
Uwe

Signature · 2 lines
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
#25 lore raw

PATCH 13/25 macintosh/mediabay: add a const qualifier

Quoted 3 lines · Uwe Kleine-K?nig

in the hope I didn't interpret "anything powerpc" too wide. Please tell me if I did.

No, it's fine with me, give me a git URL if you want me to run that through my various config test builds.

Cheers,
Ben.

#26 lore raw

PATCH v2 14/25 powerpc/83xx: add a const qualifier

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

arch/powerpc/platforms/83xx/suspend.c: In function 'pmc_probe':
arch/powerpc/platforms/83xx/suspend.c:336:7: error: assignment discards 'const' qualifier from pointer target type [-Werror]

---
 arch/powerpc/platforms/83xx/suspend.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/platforms/83xx/suspend.c +1 -1
index 1a04671..1d769a2 100644
@@ -326,7 +326,7 @@ static int pmc_probe(struct platform_device *ofdev)
 	const struct of_device_id *match;
 	struct device_node *np = ofdev->dev.of_node;
 	struct resource res;
-	struct pmc_type *type;
+	const struct pmc_type *type;
 	int ret = 0;
 
 	match = of_match_device(pmc_match, &ofdev->dev);
Signature · 1 line
1.7.10.4
#27 lore raw

PATCH v2 15/25 powerpc/fsl_msi: add a const qualifier

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

arch/powerpc/sysdev/fsl_msi.c: In function 'fsl_of_msi_probe':
arch/powerpc/sysdev/fsl_msi.c:379:11: error: assignment discards 'const' qualifier from pointer target type [-Werror]

---
 arch/powerpc/sysdev/fsl_msi.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/sysdev/fsl_msi.c +1 -1
index 6e097de..a40acd6 100644
@@ -368,7 +368,7 @@ static int __devinit fsl_of_msi_probe(struct platform_device *dev)
 	int err, i, j, irq_index, count;
 	int rc;
 	const u32 *p;
-	struct fsl_msi_feature *features;
+	const struct fsl_msi_feature *features;
 	int len;
 	u32 offset;
 	static const u32 all_avail[] = { 0, NR_MSI_IRQS };
Signature · 1 line
1.7.10.4
#28 lore raw

PATCH 15/25 powerpc/fsl_msi: add a const qualifier

Quoted 7 lines · Uwe Kleine-K?nig

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

arch/powerpc/sysdev/fsl_msi.c: In function 'fsl_of_msi_probe':
arch/powerpc/sysdev/fsl_msi.c:379:11: error: assignment discards 'const' qualifier from pointer target type [-Werror]

Signature · 2 lines
Timur Tabi
Linux kernel developer at Freescale
#29 lore raw

PATCH v2 16/25 powerpc/celleb_pci: add a const qualifier

In reply to Uwe Kleine-König

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

arch/powerpc/platforms/cell/celleb_pci.c: In function 'celleb_setup_phb':
arch/powerpc/platforms/cell/celleb_pci.c:485:11: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

---
 arch/powerpc/platforms/cell/celleb_pci.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/platforms/cell/celleb_pci.c +1 -1
index 5822141..abc8af4 100644
@@ -472,7 +472,7 @@ int __init celleb_setup_phb(struct pci_controller *phb)
 {
 	struct device_node *dev = phb->dn;
 	const struct of_device_id *match;
-	struct celleb_phb_spec *phb_spec;
+	const struct celleb_phb_spec *phb_spec;
 	int rc;
 
 	match = of_match_node(celleb_phb_match, dev);
Signature · 1 line
1.7.10.4
#30 lore raw

PATCH v2 17/25 watchdog/mpc8xxx: add a const qualifier

In reply to Uwe Kleine-König

From: Arnd Bergmann <[email protected]>

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/watchdog/mpc8xxx_wdt.c: In function 'mpc8xxx_wdt_probe':
drivers/watchdog/mpc8xxx_wdt.c:203:11: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

[ukl: split Arnd's patch by driver and add changelog]
---
 drivers/watchdog/mpc8xxx_wdt.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/watchdog/mpc8xxx_wdt.c +1 -1
index 40f7bf1..e6a038a 100644
@@ -193,7 +193,7 @@ static int __devinit mpc8xxx_wdt_probe(struct platform_device *ofdev)
 	int ret;
 	const struct of_device_id *match;
 	struct device_node *np = ofdev->dev.of_node;
-	struct mpc8xxx_wdt_type *wdt_type;
+	const struct mpc8xxx_wdt_type *wdt_type;
 	u32 freq = fsl_get_sys_freq();
 	bool enabled;
 
Signature · 1 line
1.7.10.4
Acked-by on v2 17/25
#31 lore raw

Re: [PATCH 17/25] watchdog/mpc8xxx: add a const qualifier

Hi Uwe,

Quoted 11 lines

From: Arnd Bergmann <[email protected]>

This prepares *of_device_id.data becoming const. Without this change the following warning would occur:

drivers/watchdog/mpc8xxx_wdt.c: In function 'mpc8xxx_wdt_probe':
drivers/watchdog/mpc8xxx_wdt.c:203:11: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]

[ukl: split Arnd's patch by driver and add changelog]

Kind regards,
Wim.

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

#32 lore raw

PATCH v2 18/25 can: mpc5xxx_can: make data in mpc5xxx_can_probe const

In reply to Uwe Kleine-König

From: Marc Kleine-Budde <[email protected]>

---
 drivers/net/can/mscan/mpc5xxx_can.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/can/mscan/mpc5xxx_can.c +1 -1
index 5caa572..06adf88 100644
@@ -251,7 +251,7 @@ static struct of_device_id mpc5xxx_can_table[];
 static int __devinit mpc5xxx_can_probe(struct platform_device *ofdev)
 {
 	const struct of_device_id *match;
-	struct mpc5xxx_can_data *data;
+	const struct mpc5xxx_can_data *data;
 	struct device_node *np = ofdev->dev.of_node;
 	struct net_device *dev;
 	struct mscan_priv *priv;
Signature · 1 line
1.7.10.4
#33 lore raw

PATCH 18/25 can: mpc5xxx_can: make data in mpc5xxx_can_probe const

Quoted 4 lines · Uwe Kleine-K?nig

From: Marc Kleine-Budde <[email protected]>

Note: this patch is already upstream in David Miller's net-next tree. 0e84eb0 can: mpc5xxx_can: make data in mpc5xxx_can_probe const

cheers, Marc

Quoted 18 lines
---
 drivers/net/can/mscan/mpc5xxx_can.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/can/mscan/mpc5xxx_can.c +1 -1
index 5caa572..06adf88 100644
@@ -251,7 +251,7 @@ static struct of_device_id mpc5xxx_can_table[];
 static int __devinit mpc5xxx_can_probe(struct platform_device *ofdev)
 {
 	const struct of_device_id *match;
-	struct mpc5xxx_can_data *data;
+	const struct mpc5xxx_can_data *data;
 	struct device_node *np = ofdev->dev.of_node;
 	struct net_device *dev;
 	struct mscan_priv *priv;
Signature · 12 lines
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120723/63d43310/attachment-0001.sig>
#34 lore raw

PATCH v2 19/25 of: add const to struct *of_device_id.data

In reply to Uwe Kleine-König

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.

---
 include/linux/mod_devicetable.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/linux/mod_devicetable.h +1 -1
index 5db9382..98fb3fe 100644
@@ -224,7 +224,7 @@ struct of_device_id
 	char	type[32];
 	char	compatible[128];
 #ifdef __KERNEL__
-	void	*data;
+	const void *data;
 #else
 	kernel_ulong_t data;
 #endif
Signature · 1 line
1.7.10.4
#36 lore raw

PATCH v2 20/25 gpio/gpio-omap: make platformdata used as *of_device_id.data const

In reply to Uwe Kleine-König
---
 drivers/gpio/gpio-omap.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/gpio/gpio-omap.c +3 -3
index 019cb7b..12ab547 100644
@@ -1430,19 +1430,19 @@ static struct omap_gpio_reg_offs omap4_gpio_regs = {
 	.fallingdetect =	OMAP4_GPIO_FALLINGDETECT,
 };
 
-static struct omap_gpio_platform_data omap2_pdata = {
+const static struct omap_gpio_platform_data omap2_pdata = {
 	.regs = &omap2_gpio_regs,
 	.bank_width = 32,
 	.dbck_flag = false,
 };
 
-static struct omap_gpio_platform_data omap3_pdata = {
+const static struct omap_gpio_platform_data omap3_pdata = {
 	.regs = &omap2_gpio_regs,
 	.bank_width = 32,
 	.dbck_flag = true,
 };
 
-static struct omap_gpio_platform_data omap4_pdata = {
+const static struct omap_gpio_platform_data omap4_pdata = {
 	.regs = &omap4_gpio_regs,
 	.bank_width = 32,
 	.dbck_flag = true,
Signature · 1 line
1.7.10.4
#39 lore raw

PATCH v2 20/25 gpio/gpio-omap: make platformdata used as *of_device_id.data const

Quoted 6 lines · Santosh
Quoted 2 lines · Uwe Kleine-K?nig

---

A line of description at least in the change log would be good otherwise patch is fine to me. Thanks.

I added:

Since of_device_id.data is declared as a pointer to const data a few more consts can be added in this driver.

Quoted 1 line

I assume your real name is "Santosh Shilimkar" and not "Santosh.shilimkar", isn't it?

Best regards
Uwe

Signature · 2 lines
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
#40 lore raw

PATCH 20/25 gpio/gpio-omap: make platformdata used as *of_device_id.data const

Quoted 12 lines · Uwe Kleine-K?nig
Quoted 6 lines · Santosh
Quoted 2 lines · Uwe Kleine-K?nig

---

A line of description at least in the change log would be good otherwise patch is fine to me. Thanks.

I added:

Since of_device_id.data is declared as a pointer to const data a few more consts can be added in this driver.

ok.

Quoted 4 lines
Quoted 1 line

I assume your real name is "Santosh Shilimkar" and not "Santosh.shilimkar", isn't it?

Yes :-)
Thanks for correcting it.

Regards
Santosh

#41 lore raw

PATCH v2 21/25 powerpc/fsl_msi: drop unneeded cast to non-const pointer

In reply to Uwe Kleine-König

From: Arnd Bergmann <[email protected]>

This cast is unneeded since *of_device_id.data became const.

[ukl: split Arnd's patch by driver and add changelog]

---
 arch/powerpc/sysdev/fsl_msi.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
arch/powerpc/sysdev/fsl_msi.c +3 -3
index a40acd6..51ffafa 100644
@@ -502,15 +502,15 @@ static const struct fsl_msi_feature vmpic_msi_feature = {
 static const struct of_device_id fsl_of_msi_ids[] = {
 	{
 		.compatible = "fsl,mpic-msi",
-		.data = (void *)&mpic_msi_feature,
+		.data = &mpic_msi_feature,
 	},
 	{
 		.compatible = "fsl,ipic-msi",
-		.data = (void *)&ipic_msi_feature,
+		.data = &ipic_msi_feature,
 	},
 	{
 		.compatible = "fsl,vmpic-msi",
-		.data = (void *)&vmpic_msi_feature,
+		.data = &vmpic_msi_feature,
 	},
 	{}
 };
Signature · 1 line
1.7.10.4
#42 lore raw

PATCH v2 22/25 mfd/da9052: make i2c_device_id array const

In reply to Uwe Kleine-König

From: Arnd Bergmann <[email protected]>

This is possible since *of_device_id.data became const. While at it also drop a cast to const that was never needed.

[ukl: split Arnd's patch by driver and add changlog]

---
 drivers/mfd/da9052-i2c.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/mfd/da9052-i2c.c +2 -2
index 82c9d64..352c58b 100644
@@ -46,7 +46,7 @@ static int da9052_i2c_enable_multiwrite(struct da9052 *da9052)
 	return 0;
 }
 
-static struct i2c_device_id da9052_i2c_id[] = {
+static const struct i2c_device_id da9052_i2c_id[] = {
 	{"da9052", DA9052},
 	{"da9053-aa", DA9053_AA},
 	{"da9053-ba", DA9053_BA},
@@ -104,7 +104,7 @@ static int __devinit da9052_i2c_probe(struct i2c_client *client,
 		const struct of_device_id *deviceid;
 
 		deviceid = of_match_node(dialog_dt_ids, np);
-		id = (const struct i2c_device_id *)deviceid->data;
+		id = deviceid->data;
 	}
 #endif
 
Signature · 1 line
1.7.10.4
#43 lore raw

PATCH v2 23/25 i2c/mpc: make data used as *of_device_id.data const

In reply to Uwe Kleine-König

From: Arnd Bergmann <[email protected]>

[ukl: split Arnd's patch by driver]

---
 drivers/i2c/busses/i2c-mpc.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
drivers/i2c/busses/i2c-mpc.c +5 -5
index 775062c..57f7703 100644
@@ -730,24 +730,24 @@ static int mpc_i2c_resume(struct device *dev)
 SIMPLE_DEV_PM_OPS(mpc_i2c_pm_ops, mpc_i2c_suspend, mpc_i2c_resume);
 #endif
 
-static struct mpc_i2c_data mpc_i2c_data_512x __devinitdata = {
+static const struct mpc_i2c_data mpc_i2c_data_512x __devinitdata = {
 	.setup = mpc_i2c_setup_512x,
 };
 
-static struct mpc_i2c_data mpc_i2c_data_52xx __devinitdata = {
+static const struct mpc_i2c_data mpc_i2c_data_52xx __devinitdata = {
 	.setup = mpc_i2c_setup_52xx,
 };
 
-static struct mpc_i2c_data mpc_i2c_data_8313 __devinitdata = {
+static const struct mpc_i2c_data mpc_i2c_data_8313 __devinitdata = {
 	.setup = mpc_i2c_setup_8xxx,
 };
 
-static struct mpc_i2c_data mpc_i2c_data_8543 __devinitdata = {
+static const struct mpc_i2c_data mpc_i2c_data_8543 __devinitdata = {
 	.setup = mpc_i2c_setup_8xxx,
 	.prescaler = 2,
 };
 
-static struct mpc_i2c_data mpc_i2c_data_8544 __devinitdata = {
+static const struct mpc_i2c_data mpc_i2c_data_8544 __devinitdata = {
 	.setup = mpc_i2c_setup_8xxx,
 	.prescaler = 3,
 };
Signature · 1 line
1.7.10.4
#44 lore raw

PATCH v2 24/25 macintosh/mediabay: make data used as *of_device_id.data const

In reply to Uwe Kleine-König

From: Arnd Bergmann <[email protected]>

[ukl: split Arnd's patch by driver]

---
 drivers/macintosh/mediabay.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/macintosh/mediabay.c +3 -3
index 54bf584..3f8d032 100644
@@ -669,7 +669,7 @@ static int media_bay_resume(struct macio_dev *mdev)
 
 /* Definitions of "ops" structures.
  */
-static struct mb_ops ohare_mb_ops = {
+static const struct mb_ops ohare_mb_ops = {
 	.name		= "Ohare",
 	.content	= ohare_mb_content,
 	.power		= ohare_mb_power,
@@ -678,7 +678,7 @@ static struct mb_ops ohare_mb_ops = {
 	.un_reset_ide	= ohare_mb_un_reset_ide,
 };
 
-static struct mb_ops heathrow_mb_ops = {
+static const struct mb_ops heathrow_mb_ops = {
 	.name		= "Heathrow",
 	.content	= heathrow_mb_content,
 	.power		= heathrow_mb_power,
@@ -687,7 +687,7 @@ static struct mb_ops heathrow_mb_ops = {
 	.un_reset_ide	= heathrow_mb_un_reset_ide,
 };
 
-static struct mb_ops keylargo_mb_ops = {
+static const struct mb_ops keylargo_mb_ops = {
 	.name		= "KeyLargo",
 	.init		= keylargo_mb_init,
 	.content	= keylargo_mb_content,
Signature · 1 line
1.7.10.4
#45 lore raw

PATCH v2 25/25 can: mpc5xxx_can: make data used as *of_device_id.data const

In reply to Uwe Kleine-König

From: Arnd Bergmann <[email protected]>

[ukl: split Arnd's patch by driver]

---
 drivers/net/can/mscan/mpc5xxx_can.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/can/mscan/mpc5xxx_can.c +2 -2
index 06adf88..8a8df82 100644
@@ -380,12 +380,12 @@ static int mpc5xxx_can_resume(struct platform_device *ofdev)
 }
 #endif
 
-static struct mpc5xxx_can_data __devinitdata mpc5200_can_data = {
+static const struct mpc5xxx_can_data __devinitdata mpc5200_can_data = {
 	.type = MSCAN_TYPE_MPC5200,
 	.get_clock = mpc52xx_can_get_clock,
 };
 
-static struct mpc5xxx_can_data __devinitdata mpc5121_can_data = {
+static const struct mpc5xxx_can_data __devinitdata mpc5121_can_data = {
 	.type = MSCAN_TYPE_MPC5121,
 	.get_clock = mpc512x_can_get_clock,
 };
Signature · 1 line
1.7.10.4
#46 lore raw

PATCH 25/25 can: mpc5xxx_can: make data used as *of_device_id.data const

Quoted 6 lines · Uwe Kleine-K?nig

From: Arnd Bergmann <[email protected]>

[ukl: split Arnd's patch by driver]

Marc

Quoted 24 lines
---
 drivers/net/can/mscan/mpc5xxx_can.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/can/mscan/mpc5xxx_can.c +2 -2
index 06adf88..8a8df82 100644
@@ -380,12 +380,12 @@ static int mpc5xxx_can_resume(struct platform_device *ofdev)
 }
 #endif
 
-static struct mpc5xxx_can_data __devinitdata mpc5200_can_data = {
+static const struct mpc5xxx_can_data __devinitdata mpc5200_can_data = {
 	.type = MSCAN_TYPE_MPC5200,
 	.get_clock = mpc52xx_can_get_clock,
 };
 
-static struct mpc5xxx_can_data __devinitdata mpc5121_can_data = {
+static const struct mpc5xxx_can_data __devinitdata mpc5121_can_data = {
 	.type = MSCAN_TYPE_MPC5121,
 	.get_clock = mpc512x_can_get_clock,
 };
Signature · 12 lines
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120723/afe9dcd6/attachment-0001.sig>
#47 lore raw

v2 cover make *struct of_device_id.data const

In reply to Uwe Kleine-König
Quoted 33 lines · Uwe Kleine-K?nig

this is the 2nd version of this series whose goal is to make struct of_device_id.data const. Conceptually a driver must not modify the data contained there so making it const is the right thing.

v1 of this series was sent with Message-id:
1342182734-321-1-git-send-email-y. Changes since then are:
- powerpc fixes
- several new consts that were found by Arnd that are possible after patch 19.

Arnd suggested to take this series via arm-soc late for 3.6 in one go because patch 19 depends on the former patches but is a precondition to the latter and it fixes a few warnings. So getting it in via the respective maintainer trees would need a much bigger coordination effort. That means I prefer getting Acks over you taking the patch.

Vinod Koul already took
dmaengine: at_hdmac: add a few const qualifiers
that is in next-20120723 as 7fd63ccdad72 now. Vinod, I don't follow your pull requests, but assuming you didn't let it already pull for 3.6 I suggest you drop it from your queue and I just take your Ack.

This series was build tested for arm (all defconfigs) and powerpc (all defconfigs and an allyesconfig) and grep didn't find more issues. As before it introduces a warning in drivers/regulator/twl-regulator.c. This driver does modify its .of_match_table when a device is bound which doesn't fits the concept of independant devices. Arnd noticed another new warning in drivers/scsi/qlogicpti.c that isn't that easy to resolve, because the pointer to (now) const data is passed as first argument to scsi_host_alloc. To fix that properly struct Scsi_Host.hostt needs to get a const, too. Alternatively I could introduce a cast removing the const, but I don't like that.

Quoted 5 lines

This series is also available at:

git://git.pengutronix.de/git/ukl/linux.git ofdeviceiddata

and I will modify it there for the Acks I'm getting.

Pulled the entire series into arm-soc/late/warnings. Thanks everyone who provided Acks. I'll wait for a few more days to let this sit in linux-next and if nobody complains, Olof or I will forward it to Linus.

Arnd

#48 lore raw

v2 cover make *struct of_device_id.data const

In reply to Uwe Kleine-König

Hello,

Quoted 3 lines

this is the 2nd version of this series whose goal is to make struct of_device_id.data const. Conceptually a driver must not modify the data contained there so making it const is the right thing.

I rebased my branch at:

git://git.pengutronix.de/git/ukl/linux.git ofdeviceiddata

on top of v3.6-rc1 and retested the arm and powerpc defconfigs and a powerpc allyesconfig. The result is still the same, i.e. a new warning in drivers/regulator/twl-regulator.c because the probe routine modifies the of_match table.

The series was contained in next up to next-20120725 (as commit

100e8f5 (Merge branch 'ofdeviceiddata' of git://git.pengutronix.de/git/ukl/linux into late/warnings)

with an encoding error in the commit log btw). Don't know why it was dropped from next. (late/warnings didn't show up in next-20120725's arch/arm/arm-soc-for-next-contents.txt, maybe that's the reason?)

Compared to v2 of the series this drops two patches that made it in during the v3.6 merge window.

The following changes since commit 0d7614f09c1ebdbaa1599a5aba7593f147bf96ee:

Linux 3.6-rc1 (2012-08-02 16:38:10 -0700)

are available in the git repository at:

git://git.pengutronix.de/git/ukl/linux.git ofdeviceiddata

for you to fetch changes up to e22bd8177efeec9463dc2fc40bd172c717d0bd07:

can: mpc5xxx_can: make data used as *of_device_id.data const (2012-08-03 13:58:41 +0200)

----------------------------------------------------------------
Arnd Bergmann (6):
watchdog/mpc8xxx: add a const qualifier powerpc/fsl_msi: drop unneeded cast to non-const pointer mfd/da9052: make i2c_device_id array const
i2c/mpc: make data used as *of_device_id.data const macintosh/mediabay: make data used as *of_device_id.data const
can: mpc5xxx_can: make data used as *of_device_id.data const

Uwe Kleine-K?nig (17):
spi/imx: make spi_imx_data.devtype_data member point to const data spi/spi-omap2-mcspi: add a const qualifier
serial/imx: make imx_port.devdata member point to const data serial/mpc52xx_uart: add a const qualifier
ARM: cache-l2x0: add a const qualifier
misc/atmel_tc: make atmel_tc.tcb_config member point to const data gpio/gpio-omap.c: add a const qualifier
gpio/mpc8xxx: add a const qualifier
i2c/i2c-omap: add a const qualifier
i2c/mpc: add a const qualifier
mmc/omap_hsmmc: add a const qualifier macintosh/mediabay: add a const qualifier powerpc/83xx: add a const qualifier
powerpc/fsl_msi: add a const qualifier powerpc/celleb_pci: add a const qualifier
of: add const to struct *of_device_id.data gpio/gpio-omap: make platformdata used as *of_device_id.data const

 arch/arm/mm/cache-l2x0.c                 |    2 +-
 arch/powerpc/platforms/83xx/suspend.c    |    2 +-
 arch/powerpc/platforms/cell/celleb_pci.c |    2 +-
 arch/powerpc/sysdev/fsl_msi.c            |    8 ++++----
 drivers/gpio/gpio-mpc8xxx.c              |    2 +-
 drivers/gpio/gpio-omap.c                 |    8 ++++----
 drivers/i2c/busses/i2c-mpc.c             |   12 ++++++------
 drivers/i2c/busses/i2c-omap.c            |    3 ++-
 drivers/macintosh/mediabay.c             |    8 ++++----
 drivers/mfd/da9052-i2c.c                 |    4 ++--
 drivers/mmc/host/omap_hsmmc.c            |    2 +-
 drivers/net/can/mscan/mpc5xxx_can.c      |    4 ++--
 drivers/spi/spi-imx.c                    |    2 +-
 drivers/spi/spi-omap2-mcspi.c            |    2 +-
 drivers/tty/serial/imx.c                 |    2 +-
 drivers/tty/serial/mpc52xx_uart.c        |    2 +-
 drivers/watchdog/mpc8xxx_wdt.c           |    2 +-
 include/linux/atmel_tc.h                 |    2 +-
 include/linux/mod_devicetable.h          |    2 +-
 19 files changed, 36 insertions(+), 35 deletions(-)
Signature · 2 lines
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |