diff mbox

[4/4] ARM: remove duplicate const qualifier

Message ID 1461577678-29517-4-git-send-email-eric.engestrom@imgtec.com
State New
Headers show

Commit Message

Eric Engestrom April 25, 2016, 9:47 a.m. UTC
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
---
 arch/arm/mach-at91/pm.c                 | 2 +-
 arch/arm/mach-bcm/bcm_kona_smc.c        | 2 +-
 arch/arm/mach-clps711x/board-autcpu12.c | 2 +-
 arch/arm/mach-cns3xxx/core.c            | 2 +-
 arch/arm/mach-davinci/da8xx-dt.c        | 2 +-
 arch/arm/mach-lpc32xx/phy3250.c         | 2 +-
 arch/arm/mach-mxs/mach-mxs.c            | 2 +-
 arch/arm/mach-omap2/prm_common.c        | 2 +-
 arch/arm/mach-omap2/vc.c                | 2 +-
 arch/arm/mach-spear/time.c              | 2 +-
 10 files changed, 10 insertions(+), 10 deletions(-)

Comments

Viresh Kumar April 25, 2016, 9:52 a.m. UTC | #1
On 25-04-16, 10:47, Eric Engestrom wrote:
> diff --git a/arch/arm/mach-spear/time.c b/arch/arm/mach-spear/time.c
> index 9ccffc1..aaaa678 100644
> --- a/arch/arm/mach-spear/time.c
> +++ b/arch/arm/mach-spear/time.c
> @@ -204,7 +204,7 @@ static void __init spear_clockevent_init(int irq)
>  	setup_irq(irq, &spear_timer_irq);
>  }
>  
> -static const struct of_device_id const timer_of_match[] __initconst = {
> +static const struct of_device_id timer_of_match[] __initconst = {
>  	{ .compatible = "st,spear-timer", },
>  	{ },
>  };

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Alexandre Belloni April 25, 2016, 9:57 a.m. UTC | #2
Hi,

this requires a commit message.

Also, you should think about separating those changes in multiple patches
to ease inclusion in the kernel.

On 25/04/2016 at 10:47:57 +0100, Eric Engestrom wrote :
> Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
> ---
>  arch/arm/mach-at91/pm.c                 | 2 +-
>  arch/arm/mach-bcm/bcm_kona_smc.c        | 2 +-
>  arch/arm/mach-clps711x/board-autcpu12.c | 2 +-
>  arch/arm/mach-cns3xxx/core.c            | 2 +-
>  arch/arm/mach-davinci/da8xx-dt.c        | 2 +-
>  arch/arm/mach-lpc32xx/phy3250.c         | 2 +-
>  arch/arm/mach-mxs/mach-mxs.c            | 2 +-
>  arch/arm/mach-omap2/prm_common.c        | 2 +-
>  arch/arm/mach-omap2/vc.c                | 2 +-
>  arch/arm/mach-spear/time.c              | 2 +-
>  10 files changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
> index f062701..9ef8604 100644
> --- a/arch/arm/mach-at91/pm.c
> +++ b/arch/arm/mach-at91/pm.c
> @@ -318,7 +318,7 @@ static void at91sam9_sdram_standby(void)
>  		at91_ramc_write(1, AT91_SDRAMC_LPR, saved_lpr1);
>  }
>  
> -static const struct of_device_id const ramc_ids[] __initconst = {
> +static const struct of_device_id ramc_ids[] __initconst = {
>  	{ .compatible = "atmel,at91rm9200-sdramc", .data = at91rm9200_standby },
>  	{ .compatible = "atmel,at91sam9260-sdramc", .data = at91sam9_sdram_standby },
>  	{ .compatible = "atmel,at91sam9g45-ddramc", .data = at91_ddr_standby },
> diff --git a/arch/arm/mach-bcm/bcm_kona_smc.c b/arch/arm/mach-bcm/bcm_kona_smc.c
> index cf3f865..a55a7ec 100644
> --- a/arch/arm/mach-bcm/bcm_kona_smc.c
> +++ b/arch/arm/mach-bcm/bcm_kona_smc.c
> @@ -33,7 +33,7 @@ struct bcm_kona_smc_data {
>  	unsigned result;
>  };
>  
> -static const struct of_device_id const bcm_kona_smc_ids[] __initconst = {
> +static const struct of_device_id bcm_kona_smc_ids[] __initconst = {
>  	{.compatible = "brcm,kona-smc"},
>  	{.compatible = "bcm,kona-smc"}, /* deprecated name */
>  	{},
> diff --git a/arch/arm/mach-clps711x/board-autcpu12.c b/arch/arm/mach-clps711x/board-autcpu12.c
> index ba3d7d1..4fdfd92 100644
> --- a/arch/arm/mach-clps711x/board-autcpu12.c
> +++ b/arch/arm/mach-clps711x/board-autcpu12.c
> @@ -160,7 +160,7 @@ static struct platform_device autcpu12_mmgpio_pdev __initdata = {
>  	},
>  };
>  
> -static const struct gpio const autcpu12_gpios[] __initconst = {
> +static const struct gpio autcpu12_gpios[] __initconst = {
>  	{ AUTCPU12_DPOT_CS,	GPIOF_OUT_INIT_HIGH,	"DPOT CS" },
>  	{ AUTCPU12_DPOT_CLK,	GPIOF_OUT_INIT_LOW,	"DPOT CLK" },
>  	{ AUTCPU12_DPOT_UD,	GPIOF_OUT_INIT_LOW,	"DPOT UD" },
> diff --git a/arch/arm/mach-cns3xxx/core.c b/arch/arm/mach-cns3xxx/core.c
> index 9b1dc22..e17a0e02 100644
> --- a/arch/arm/mach-cns3xxx/core.c
> +++ b/arch/arm/mach-cns3xxx/core.c
> @@ -346,7 +346,7 @@ static struct usb_ohci_pdata cns3xxx_usb_ohci_pdata = {
>  	.power_off	= csn3xxx_usb_power_off,
>  };
>  
> -static const struct of_dev_auxdata const cns3xxx_auxdata[] __initconst = {
> +static const struct of_dev_auxdata cns3xxx_auxdata[] __initconst = {
>  	{ "intel,usb-ehci", CNS3XXX_USB_BASE, "ehci-platform", &cns3xxx_usb_ehci_pdata },
>  	{ "intel,usb-ohci", CNS3XXX_USB_OHCI_BASE, "ohci-platform", &cns3xxx_usb_ohci_pdata },
>  	{ "cavium,cns3420-ahci", CNS3XXX_SATA2_BASE, "ahci", NULL },
> diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c
> index c4b5808..3d92c93 100644
> --- a/arch/arm/mach-davinci/da8xx-dt.c
> +++ b/arch/arm/mach-davinci/da8xx-dt.c
> @@ -20,7 +20,7 @@
>  
>  #define DA8XX_NUM_UARTS	3
>  
> -static const struct of_device_id const da8xx_irq_match[] __initconst = {
> +static const struct of_device_id da8xx_irq_match[] __initconst = {
>  	{ .compatible = "ti,cp-intc", .data = cp_intc_of_init, },
>  	{ }
>  };
> diff --git a/arch/arm/mach-lpc32xx/phy3250.c b/arch/arm/mach-lpc32xx/phy3250.c
> index b2f9e22..1ae7230 100644
> --- a/arch/arm/mach-lpc32xx/phy3250.c
> +++ b/arch/arm/mach-lpc32xx/phy3250.c
> @@ -159,7 +159,7 @@ static struct lpc32xx_mlc_platform_data lpc32xx_mlc_data = {
>  	.dma_filter = pl08x_filter_id,
>  };
>  
> -static const struct of_dev_auxdata const lpc32xx_auxdata_lookup[] __initconst = {
> +static const struct of_dev_auxdata lpc32xx_auxdata_lookup[] __initconst = {
>  	OF_DEV_AUXDATA("arm,pl022", 0x20084000, "dev:ssp0", NULL),
>  	OF_DEV_AUXDATA("arm,pl022", 0x2008C000, "dev:ssp1", NULL),
>  	OF_DEV_AUXDATA("arm,pl110", 0x31040000, "dev:clcd", &lpc32xx_clcd_data),
> diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c
> index f1ea470..19eeaec 100644
> --- a/arch/arm/mach-mxs/mach-mxs.c
> +++ b/arch/arm/mach-mxs/mach-mxs.c
> @@ -282,7 +282,7 @@ static void __init apx4devkit_init(void)
>  #define TX28_FEC_PHY_RESET	MXS_GPIO_NR(4, 13)
>  #define TX28_FEC_nINT		MXS_GPIO_NR(4, 5)
>  
> -static const struct gpio const tx28_gpios[] __initconst = {
> +static const struct gpio tx28_gpios[] __initconst = {
>  	{ ENET0_MDC__GPIO_4_0, GPIOF_OUT_INIT_LOW, "GPIO_4_0" },
>  	{ ENET0_MDIO__GPIO_4_1, GPIOF_OUT_INIT_LOW, "GPIO_4_1" },
>  	{ ENET0_RX_EN__GPIO_4_2, GPIOF_OUT_INIT_LOW, "GPIO_4_2" },
> diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c
> index 5b2f513..f1ca947 100644
> --- a/arch/arm/mach-omap2/prm_common.c
> +++ b/arch/arm/mach-omap2/prm_common.c
> @@ -713,7 +713,7 @@ static struct omap_prcm_init_data scrm_data __initdata = {
>  };
>  #endif
>  
> -static const struct of_device_id const omap_prcm_dt_match_table[] __initconst = {
> +static const struct of_device_id omap_prcm_dt_match_table[] __initconst = {
>  #ifdef CONFIG_SOC_AM33XX
>  	{ .compatible = "ti,am3-prcm", .data = &am3_prm_data },
>  #endif
> diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
> index 2028167f..d76b1e5 100644
> --- a/arch/arm/mach-omap2/vc.c
> +++ b/arch/arm/mach-omap2/vc.c
> @@ -559,7 +559,7 @@ struct i2c_init_data {
>  	u8 hsscll_12;
>  };
>  
> -static const struct i2c_init_data const omap4_i2c_timing_data[] __initconst = {
> +static const struct i2c_init_data omap4_i2c_timing_data[] __initconst = {
>  	{
>  		.load = 50,
>  		.loadbits = 0x3,
> diff --git a/arch/arm/mach-spear/time.c b/arch/arm/mach-spear/time.c
> index 9ccffc1..aaaa678 100644
> --- a/arch/arm/mach-spear/time.c
> +++ b/arch/arm/mach-spear/time.c
> @@ -204,7 +204,7 @@ static void __init spear_clockevent_init(int irq)
>  	setup_irq(irq, &spear_timer_irq);
>  }
>  
> -static const struct of_device_id const timer_of_match[] __initconst = {
> +static const struct of_device_id timer_of_match[] __initconst = {
>  	{ .compatible = "st,spear-timer", },
>  	{ },
>  };
> -- 
> 2.7.4
>
Eric Engestrom April 25, 2016, 10:39 a.m. UTC | #3
On Mon, Apr 25, 2016 at 11:57:15AM +0200, Alexandre Belloni wrote:
> Hi,
> 
> this requires a commit message.

OK? This seems rather pointless in this case (and even more so for the
typo fix I sent yesterday), but I guess you have some general rule to
enforce. Would this do then?
"The second `const` is unnecessary, and is simply ignored by most compilers."

> Also, you should think about separating those changes in multiple patches
> to ease inclusion in the kernel.

I'll resend patch #4 as multiple patches. What the way proper to convey
that *multiple* new patches replace *one* old one? Is it enough to just
send those as a reply to this one?

Cheers
Sylvain Lemieux April 25, 2016, 10:59 a.m. UTC | #4
Hi Eric,

On Mon, 2016-04-25 at 11:57 +0200, Alexandre Belloni wrote:
> Hi,
> 
> this requires a commit message.
> 
> Also, you should think about separating those changes in multiple patches
> to ease inclusion in the kernel.
> 
> On 25/04/2016 at 10:47:57 +0100, Eric Engestrom wrote :
> > Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
> > ---
> >  arch/arm/mach-at91/pm.c                 | 2 +-
> >  arch/arm/mach-bcm/bcm_kona_smc.c        | 2 +-
> >  arch/arm/mach-clps711x/board-autcpu12.c | 2 +-
> >  arch/arm/mach-cns3xxx/core.c            | 2 +-
> >  arch/arm/mach-davinci/da8xx-dt.c        | 2 +-
> >  arch/arm/mach-lpc32xx/phy3250.c         | 2 +-
> >  arch/arm/mach-mxs/mach-mxs.c            | 2 +-
> >  arch/arm/mach-omap2/prm_common.c        | 2 +-
> >  arch/arm/mach-omap2/vc.c                | 2 +-
> >  arch/arm/mach-spear/time.c              | 2 +-
> >  10 files changed, 10 insertions(+), 10 deletions(-)
> > 
...

> > diff --git a/arch/arm/mach-lpc32xx/phy3250.c b/arch/arm/mach-lpc32xx/phy3250.c
> > index b2f9e22..1ae7230 100644
> > --- a/arch/arm/mach-lpc32xx/phy3250.c
> > +++ b/arch/arm/mach-lpc32xx/phy3250.c
> > @@ -159,7 +159,7 @@ static struct lpc32xx_mlc_platform_data lpc32xx_mlc_data = {
> >  	.dma_filter = pl08x_filter_id,
> >  };
> >  
> > -static const struct of_dev_auxdata const lpc32xx_auxdata_lookup[] __initconst = {
> > +static const struct of_dev_auxdata lpc32xx_auxdata_lookup[] __initconst = {
> >  	OF_DEV_AUXDATA("arm,pl022", 0x20084000, "dev:ssp0", NULL),
> >  	OF_DEV_AUXDATA("arm,pl022", 0x2008C000, "dev:ssp1", NULL),
> >  	OF_DEV_AUXDATA("arm,pl110", 0x31040000, "dev:clcd", &lpc32xx_clcd_data),

A patch was already submitted for the LPC32xx:
http://thread.gmane.org/gmane.linux.ports.arm.kernel/493312/

...
> > -- 
> > 2.7.4
> > 
> 
Sylvain
Arnd Bergmann April 25, 2016, 11:38 a.m. UTC | #5
On Monday 25 April 2016 11:39:11 Eric Engestrom wrote:
> On Mon, Apr 25, 2016 at 11:57:15AM +0200, Alexandre Belloni wrote:
> > Hi,
> > 
> > this requires a commit message.
> 
> OK? This seems rather pointless in this case (and even more so for the
> typo fix I sent yesterday), but I guess you have some general rule to
> enforce. Would this do then?
> "The second `const` is unnecessary, and is simply ignored by most compilers."

Maybe say you you found it (llvm, sparse, coccinelle?), and why this
is causing a problem for anyone. If it's just unnecessary but not
harmful, I'd probably ignore the patch.

> > Also, you should think about separating those changes in multiple patches
> > to ease inclusion in the kernel.
> 
> I'll resend patch #4 as multiple patches. What the way proper to convey
> that *multiple* new patches replace *one* old one? Is it enough to just
> send those as a reply to this one?

That's fine. Having multiple patches here is slightly better than just
one, but I'd also be fine with just taking the large patch because it
is an identical trivial change in multiple files.

	Arnd
Eric Engestrom April 25, 2016, 12:58 p.m. UTC | #6
On Mon, Apr 25, 2016 at 01:38:18PM +0200, Arnd Bergmann wrote:
> Maybe say you you found it (llvm, sparse, coccinelle?), and why this
> is causing a problem for anyone. If it's just unnecessary but not
> harmful, I'd probably ignore the patch.

$ grep -rE '(^|\W)const(\s+\w+)+\s+const\s'

I just happened to notice some unnecessary const in our internal code,
so I grep'ed for it in a couple big OSS projects to see how common it
was. Since I found only a few, I decided to remove them, but like I said
it just gets ignored by all the compilers I know, so there's absolutely
no harm in leaving this dead code around.


> That's fine. Having multiple patches here is slightly better than just
> one, but I'd also be fine with just taking the large patch because it
> is an identical trivial change in multiple files.

So, do you want me to split them up? I'd prefer not having to (slightly
less work for me :P), but it doesn't really make much of a difference
either way.

Cheers
Nicolas Pitre April 25, 2016, 2:12 p.m. UTC | #7
On Mon, 25 Apr 2016, Eric Engestrom wrote:

> On Mon, Apr 25, 2016 at 01:38:18PM +0200, Arnd Bergmann wrote:
> > Maybe say you you found it (llvm, sparse, coccinelle?), and why this
> > is causing a problem for anyone. If it's just unnecessary but not
> > harmful, I'd probably ignore the patch.
> 
> $ grep -rE '(^|\W)const(\s+\w+)+\s+const\s'
> 
> I just happened to notice some unnecessary const in our internal code,
> so I grep'ed for it in a couple big OSS projects to see how common it
> was. Since I found only a few, I decided to remove them, but like I said
> it just gets ignored by all the compilers I know, so there's absolutely
> no harm in leaving this dead code around.

Beware.

I added many of those exactly because gcc did not ignore them when 
compiling with LTO where the lack of a const qualifier to qualify the 
actual array content, and not only the reference to that content, 
generated build errors due to section mismatches from the __initconst 
annotation.

So this is a NAK from me unless you may confirm that LTO builds are 
unaffected by your changes.


Nicolas
Eric Engestrom April 25, 2016, 2:37 p.m. UTC | #8
On Mon, Apr 25, 2016 at 10:12:16AM -0400, Nicolas Pitre wrote:
> Beware.
> 
> I added many of those exactly because gcc did not ignore them when 
> compiling with LTO where the lack of a const qualifier to qualify the 
> actual array content, and not only the reference to that content, 
> generated build errors due to section mismatches from the __initconst 
> annotation.

I believe the first `const` does that, without the need for a second.

> So this is a NAK from me unless you may confirm that LTO builds are 
> unaffected by your changes.

I can't confirm it (haven't tried), and don't care enough to do it :]
I guess I'm just dropping the patch then. Like I said, it can't hurt to
leave them in.

Cheers,
Eric
Krzysztof HaƂasa April 26, 2016, 10:12 a.m. UTC | #9
Eric Engestrom <eric.engestrom@imgtec.com> writes:

> I can't confirm it (haven't tried), and don't care enough to do it :]
> I guess I'm just dropping the patch then. Like I said, it can't hurt to
> leave them in.

Actually it may hurt (a little bit) - it makes the code less readable.
Nicolas Pitre April 27, 2016, 8:01 p.m. UTC | #10
On Mon, 25 Apr 2016, Eric Engestrom wrote:

> On Mon, Apr 25, 2016 at 10:12:16AM -0400, Nicolas Pitre wrote:
> > Beware.
> > 
> > I added many of those exactly because gcc did not ignore them when 
> > compiling with LTO where the lack of a const qualifier to qualify the 
> > actual array content, and not only the reference to that content, 
> > generated build errors due to section mismatches from the __initconst 
> > annotation.
> 
> I believe the first `const` does that, without the need for a second.
> 
> > So this is a NAK from me unless you may confirm that LTO builds are 
> > unaffected by your changes.
> 
> I can't confirm it (haven't tried), and don't care enough to do it :]
> I guess I'm just dropping the patch then. Like I said, it can't hurt to
> leave them in.

I just tested LTO with your patch applied and everything appears to be 
fine.  The extra const are indeed redundant here. So you have an ACK 
from me.

Acked-by: Nicolas Pitre <nico@linaro.org>


Nicolas
diff mbox

Patch

diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index f062701..9ef8604 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -318,7 +318,7 @@  static void at91sam9_sdram_standby(void)
 		at91_ramc_write(1, AT91_SDRAMC_LPR, saved_lpr1);
 }
 
-static const struct of_device_id const ramc_ids[] __initconst = {
+static const struct of_device_id ramc_ids[] __initconst = {
 	{ .compatible = "atmel,at91rm9200-sdramc", .data = at91rm9200_standby },
 	{ .compatible = "atmel,at91sam9260-sdramc", .data = at91sam9_sdram_standby },
 	{ .compatible = "atmel,at91sam9g45-ddramc", .data = at91_ddr_standby },
diff --git a/arch/arm/mach-bcm/bcm_kona_smc.c b/arch/arm/mach-bcm/bcm_kona_smc.c
index cf3f865..a55a7ec 100644
--- a/arch/arm/mach-bcm/bcm_kona_smc.c
+++ b/arch/arm/mach-bcm/bcm_kona_smc.c
@@ -33,7 +33,7 @@  struct bcm_kona_smc_data {
 	unsigned result;
 };
 
-static const struct of_device_id const bcm_kona_smc_ids[] __initconst = {
+static const struct of_device_id bcm_kona_smc_ids[] __initconst = {
 	{.compatible = "brcm,kona-smc"},
 	{.compatible = "bcm,kona-smc"}, /* deprecated name */
 	{},
diff --git a/arch/arm/mach-clps711x/board-autcpu12.c b/arch/arm/mach-clps711x/board-autcpu12.c
index ba3d7d1..4fdfd92 100644
--- a/arch/arm/mach-clps711x/board-autcpu12.c
+++ b/arch/arm/mach-clps711x/board-autcpu12.c
@@ -160,7 +160,7 @@  static struct platform_device autcpu12_mmgpio_pdev __initdata = {
 	},
 };
 
-static const struct gpio const autcpu12_gpios[] __initconst = {
+static const struct gpio autcpu12_gpios[] __initconst = {
 	{ AUTCPU12_DPOT_CS,	GPIOF_OUT_INIT_HIGH,	"DPOT CS" },
 	{ AUTCPU12_DPOT_CLK,	GPIOF_OUT_INIT_LOW,	"DPOT CLK" },
 	{ AUTCPU12_DPOT_UD,	GPIOF_OUT_INIT_LOW,	"DPOT UD" },
diff --git a/arch/arm/mach-cns3xxx/core.c b/arch/arm/mach-cns3xxx/core.c
index 9b1dc22..e17a0e02 100644
--- a/arch/arm/mach-cns3xxx/core.c
+++ b/arch/arm/mach-cns3xxx/core.c
@@ -346,7 +346,7 @@  static struct usb_ohci_pdata cns3xxx_usb_ohci_pdata = {
 	.power_off	= csn3xxx_usb_power_off,
 };
 
-static const struct of_dev_auxdata const cns3xxx_auxdata[] __initconst = {
+static const struct of_dev_auxdata cns3xxx_auxdata[] __initconst = {
 	{ "intel,usb-ehci", CNS3XXX_USB_BASE, "ehci-platform", &cns3xxx_usb_ehci_pdata },
 	{ "intel,usb-ohci", CNS3XXX_USB_OHCI_BASE, "ohci-platform", &cns3xxx_usb_ohci_pdata },
 	{ "cavium,cns3420-ahci", CNS3XXX_SATA2_BASE, "ahci", NULL },
diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c
index c4b5808..3d92c93 100644
--- a/arch/arm/mach-davinci/da8xx-dt.c
+++ b/arch/arm/mach-davinci/da8xx-dt.c
@@ -20,7 +20,7 @@ 
 
 #define DA8XX_NUM_UARTS	3
 
-static const struct of_device_id const da8xx_irq_match[] __initconst = {
+static const struct of_device_id da8xx_irq_match[] __initconst = {
 	{ .compatible = "ti,cp-intc", .data = cp_intc_of_init, },
 	{ }
 };
diff --git a/arch/arm/mach-lpc32xx/phy3250.c b/arch/arm/mach-lpc32xx/phy3250.c
index b2f9e22..1ae7230 100644
--- a/arch/arm/mach-lpc32xx/phy3250.c
+++ b/arch/arm/mach-lpc32xx/phy3250.c
@@ -159,7 +159,7 @@  static struct lpc32xx_mlc_platform_data lpc32xx_mlc_data = {
 	.dma_filter = pl08x_filter_id,
 };
 
-static const struct of_dev_auxdata const lpc32xx_auxdata_lookup[] __initconst = {
+static const struct of_dev_auxdata lpc32xx_auxdata_lookup[] __initconst = {
 	OF_DEV_AUXDATA("arm,pl022", 0x20084000, "dev:ssp0", NULL),
 	OF_DEV_AUXDATA("arm,pl022", 0x2008C000, "dev:ssp1", NULL),
 	OF_DEV_AUXDATA("arm,pl110", 0x31040000, "dev:clcd", &lpc32xx_clcd_data),
diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c
index f1ea470..19eeaec 100644
--- a/arch/arm/mach-mxs/mach-mxs.c
+++ b/arch/arm/mach-mxs/mach-mxs.c
@@ -282,7 +282,7 @@  static void __init apx4devkit_init(void)
 #define TX28_FEC_PHY_RESET	MXS_GPIO_NR(4, 13)
 #define TX28_FEC_nINT		MXS_GPIO_NR(4, 5)
 
-static const struct gpio const tx28_gpios[] __initconst = {
+static const struct gpio tx28_gpios[] __initconst = {
 	{ ENET0_MDC__GPIO_4_0, GPIOF_OUT_INIT_LOW, "GPIO_4_0" },
 	{ ENET0_MDIO__GPIO_4_1, GPIOF_OUT_INIT_LOW, "GPIO_4_1" },
 	{ ENET0_RX_EN__GPIO_4_2, GPIOF_OUT_INIT_LOW, "GPIO_4_2" },
diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c
index 5b2f513..f1ca947 100644
--- a/arch/arm/mach-omap2/prm_common.c
+++ b/arch/arm/mach-omap2/prm_common.c
@@ -713,7 +713,7 @@  static struct omap_prcm_init_data scrm_data __initdata = {
 };
 #endif
 
-static const struct of_device_id const omap_prcm_dt_match_table[] __initconst = {
+static const struct of_device_id omap_prcm_dt_match_table[] __initconst = {
 #ifdef CONFIG_SOC_AM33XX
 	{ .compatible = "ti,am3-prcm", .data = &am3_prm_data },
 #endif
diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
index 2028167f..d76b1e5 100644
--- a/arch/arm/mach-omap2/vc.c
+++ b/arch/arm/mach-omap2/vc.c
@@ -559,7 +559,7 @@  struct i2c_init_data {
 	u8 hsscll_12;
 };
 
-static const struct i2c_init_data const omap4_i2c_timing_data[] __initconst = {
+static const struct i2c_init_data omap4_i2c_timing_data[] __initconst = {
 	{
 		.load = 50,
 		.loadbits = 0x3,
diff --git a/arch/arm/mach-spear/time.c b/arch/arm/mach-spear/time.c
index 9ccffc1..aaaa678 100644
--- a/arch/arm/mach-spear/time.c
+++ b/arch/arm/mach-spear/time.c
@@ -204,7 +204,7 @@  static void __init spear_clockevent_init(int irq)
 	setup_irq(irq, &spear_timer_irq);
 }
 
-static const struct of_device_id const timer_of_match[] __initconst = {
+static const struct of_device_id timer_of_match[] __initconst = {
 	{ .compatible = "st,spear-timer", },
 	{ },
 };