* [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
[not found] <1410337579-23466-1-git-send-email-u.kleine-koenig@pengutronix.de>
@ 2014-09-10 8:26 ` Uwe Kleine-König
2014-09-11 17:39 ` Tony Lindgren
0 siblings, 1 reply; 9+ messages in thread
From: Uwe Kleine-König @ 2014-09-10 8:26 UTC (permalink / raw)
To: linux-arm-kernel, Tony Lindgren, Kevin Hilman, Rajendra Nayak
Cc: devicetree, Grant Likely, Rob Herring, kernel, linux-omap
of_device_ids (i.e. compatible strings and the respective data) are not
supposed to change at runtime. All functions working with of_device_ids
provided by <linux/of.h> work with const of_device_ids. So mark the
non-const function parameters and structs for OMAP2+ as const, too.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
arch/arm/mach-omap2/board-generic.c | 2 +-
arch/arm/mach-omap2/common.h | 2 +-
arch/arm/mach-omap2/gpmc.c | 2 +-
arch/arm/mach-omap2/irq.c | 2 +-
arch/arm/mach-omap2/pdata-quirks.c | 2 +-
arch/arm/mach-omap2/prm_common.c | 2 +-
arch/arm/mach-omap2/timer.c | 6 +++---
7 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index 9480997ba616..5827abb080e4 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -27,7 +27,7 @@
#define gic_of_init NULL
#endif
-static struct of_device_id omap_dt_match_table[] __initdata = {
+static const struct of_device_id omap_dt_match_table[] __initconst = {
{ .compatible = "simple-bus", },
{ .compatible = "ti,omap-infra", },
{ }
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
index dc571f1d3b8a..79664411e794 100644
--- a/arch/arm/mach-omap2/common.h
+++ b/arch/arm/mach-omap2/common.h
@@ -307,7 +307,7 @@ static inline void omap4_cpu_resume(void)
#endif
-void pdata_quirks_init(struct of_device_id *);
+void pdata_quirks_init(const struct of_device_id *);
void omap_auxdata_legacy_init(struct device *dev);
void omap_pcs_legacy_init(int irq, void (*rearm)(void));
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index 2f97228f188a..a4d52c42a438 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -1243,7 +1243,7 @@ int gpmc_cs_program_settings(int cs, struct gpmc_settings *p)
}
#ifdef CONFIG_OF
-static struct of_device_id gpmc_dt_ids[] = {
+static const struct of_device_id gpmc_dt_ids[] = {
{ .compatible = "ti,omap2420-gpmc" },
{ .compatible = "ti,omap2430-gpmc" },
{ .compatible = "ti,omap3430-gpmc" }, /* omap3430 & omap3630 */
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index 35b8590c322e..604a976abf14 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -289,7 +289,7 @@ int __init intc_of_init(struct device_node *node,
return 0;
}
-static struct of_device_id irq_match[] __initdata = {
+static const struct of_device_id irq_match[] __initconst = {
{ .compatible = "ti,omap2-intc", .data = intc_of_init, },
{ }
};
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index 90c88d498485..05a8c8b07449 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -405,7 +405,7 @@ static void pdata_quirks_check(struct pdata_init *quirks)
}
}
-void __init pdata_quirks_init(struct of_device_id *omap_dt_match_table)
+void __init pdata_quirks_init(const struct of_device_id *omap_dt_match_table)
{
omap_sdrc_init(NULL, NULL);
pdata_quirks_check(auxdata_quirks);
diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c
index 76ca320f007c..74054b813600 100644
--- a/arch/arm/mach-omap2/prm_common.c
+++ b/arch/arm/mach-omap2/prm_common.c
@@ -467,7 +467,7 @@ int prm_unregister(struct prm_ll_data *pld)
return 0;
}
-static struct of_device_id omap_prcm_dt_match_table[] = {
+static const struct of_device_id omap_prcm_dt_match_table[] = {
{ .compatible = "ti,am3-prcm" },
{ .compatible = "ti,am3-scrm" },
{ .compatible = "ti,am4-prcm" },
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
index 43d03fbf4c0b..4f61148ec168 100644
--- a/arch/arm/mach-omap2/timer.c
+++ b/arch/arm/mach-omap2/timer.c
@@ -141,7 +141,7 @@ static struct property device_disabled = {
.value = "disabled",
};
-static struct of_device_id omap_timer_match[] __initdata = {
+static const struct of_device_id omap_timer_match[] __initconst = {
{ .compatible = "ti,omap2420-timer", },
{ .compatible = "ti,omap3430-timer", },
{ .compatible = "ti,omap4430-timer", },
@@ -162,7 +162,7 @@ static struct of_device_id omap_timer_match[] __initdata = {
* the timer node in device-tree as disabled, to prevent the kernel from
* registering this timer as a platform device and so no one else can use it.
*/
-static struct device_node * __init omap_get_timer_dt(struct of_device_id *match,
+static struct device_node * __init omap_get_timer_dt(const struct of_device_id *match,
const char *property)
{
struct device_node *np;
@@ -388,7 +388,7 @@ static u64 notrace dmtimer_read_sched_clock(void)
return 0;
}
-static struct of_device_id omap_counter_match[] __initdata = {
+static const struct of_device_id omap_counter_match[] __initconst = {
{ .compatible = "ti,omap-counter32k", },
{ }
};
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
2014-09-10 8:26 ` [PATCH 1/3] ARM: OMAP2+: make of_device_ids const Uwe Kleine-König
@ 2014-09-11 17:39 ` Tony Lindgren
2014-09-11 19:01 ` Uwe Kleine-König
0 siblings, 1 reply; 9+ messages in thread
From: Tony Lindgren @ 2014-09-11 17:39 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: linux-arm-kernel, Kevin Hilman, Rajendra Nayak, devicetree,
Grant Likely, Rob Herring, kernel, linux-omap
* Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [140910 01:27]:
> of_device_ids (i.e. compatible strings and the respective data) are not
> supposed to change at runtime. All functions working with of_device_ids
> provided by <linux/of.h> work with const of_device_ids. So mark the
> non-const function parameters and structs for OMAP2+ as const, too.
Hmm this does not seem to compile with omap2plus_defconfig because
of section type conflicts. Looks like there's some issue now with the
use of __initconst:
arch/arm/mach-omap2/board-generic.c:262:20: error: dra72x_boards_compat causes a section type conflict with omap_dt_match_table
arch/arm/mach-omap2/board-generic.c:30:34: note: ‘omap_dt_match_table’ was declared here
scripts/Makefile.build:257: recipe for target 'arch/arm/mach-omap2/board-generic.o' failed
Regards,
Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
2014-09-11 17:39 ` Tony Lindgren
@ 2014-09-11 19:01 ` Uwe Kleine-König
2014-09-11 19:14 ` Tony Lindgren
[not found] ` <20140911190136.GM3755-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
0 siblings, 2 replies; 9+ messages in thread
From: Uwe Kleine-König @ 2014-09-11 19:01 UTC (permalink / raw)
To: Tony Lindgren
Cc: devicetree, Kevin Hilman, Rajendra Nayak, Rob Herring, kernel,
Grant Likely, linux-omap, linux-arm-kernel
On Thu, Sep 11, 2014 at 10:39:43AM -0700, Tony Lindgren wrote:
> * Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [140910 01:27]:
> > of_device_ids (i.e. compatible strings and the respective data) are not
> > supposed to change at runtime. All functions working with of_device_ids
> > provided by <linux/of.h> work with const of_device_ids. So mark the
> > non-const function parameters and structs for OMAP2+ as const, too.
>
> Hmm this does not seem to compile with omap2plus_defconfig because
> of section type conflicts. Looks like there's some issue now with the
> use of __initconst:
>
> arch/arm/mach-omap2/board-generic.c:262:20: error: dra72x_boards_compat causes a section type conflict with omap_dt_match_table
> arch/arm/mach-omap2/board-generic.c:30:34: note: ‘omap_dt_match_table’ was declared here
> scripts/Makefile.build:257: recipe for target 'arch/arm/mach-omap2/board-generic.o' failed
The problem is dra74x_boards_compat though:
static const char *dra74x_boards_compat[] __initconst = {
...
*dra74x_boards_compat is const, but dra74x_boards_compat isn't, so
either the variable must go into __initdata or it must be declared as:
static const char * const dra74x_boards_compat[] __initconst = {
...
(but then I guess you get another warning because struct machine_desc's
dt_compat is declared as
const char **dt_compat;
.)
With the patch below, arch/arm/mach-omap2/board-generic.c compiles just
fine. Don't know yet if the additional const in <asm/mach_desc.h> is
problematic ...
diff --git a/arch/arc/include/asm/mach_desc.h b/arch/arc/include/asm/mach_desc.h
index e8993a2be6c2..f4a7bc8d8967 100644
--- a/arch/arc/include/asm/mach_desc.h
+++ b/arch/arc/include/asm/mach_desc.h
@@ -35,7 +35,7 @@
*/
struct machine_desc {
const char *name;
- const char **dt_compat;
+ const char *const *dt_compat;
void (*init_early)(void);
void (*init_irq)(void);
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index 5827abb080e4..0b311d51425f 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -43,7 +43,7 @@ static void __init omap_generic_init(void)
}
#ifdef CONFIG_SOC_OMAP2420
-static const char *omap242x_boards_compat[] __initconst = {
+static const char *const omap242x_boards_compat[] __initconst = {
"ti,omap2420",
NULL,
};
@@ -62,7 +62,7 @@ MACHINE_END
#endif
#ifdef CONFIG_SOC_OMAP2430
-static const char *omap243x_boards_compat[] __initconst = {
+static const char *const omap243x_boards_compat[] __initconst = {
"ti,omap2430",
NULL,
};
@@ -81,7 +81,7 @@ MACHINE_END
#endif
#ifdef CONFIG_ARCH_OMAP3
-static const char *omap3_boards_compat[] __initconst = {
+static const char *const omap3_boards_compat[] __initconst = {
"ti,omap3430",
"ti,omap3",
NULL,
@@ -100,7 +100,7 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)")
.restart = omap3xxx_restart,
MACHINE_END
-static const char *omap36xx_boards_compat[] __initconst = {
+static const char *const omap36xx_boards_compat[] __initconst = {
"ti,omap36xx",
NULL,
};
@@ -118,7 +118,7 @@ DT_MACHINE_START(OMAP36XX_DT, "Generic OMAP36xx (Flattened Device Tree)")
.restart = omap3xxx_restart,
MACHINE_END
-static const char *omap3_gp_boards_compat[] __initconst = {
+static const char *const omap3_gp_boards_compat[] __initconst = {
"ti,omap3-beagle",
"timll,omap3-devkit8000",
NULL,
@@ -137,7 +137,7 @@ DT_MACHINE_START(OMAP3_GP_DT, "Generic OMAP3-GP (Flattened Device Tree)")
.restart = omap3xxx_restart,
MACHINE_END
-static const char *am3517_boards_compat[] __initconst = {
+static const char *const am3517_boards_compat[] __initconst = {
"ti,am3517",
NULL,
};
@@ -157,7 +157,7 @@ MACHINE_END
#endif
#ifdef CONFIG_SOC_AM33XX
-static const char *am33xx_boards_compat[] __initconst = {
+static const char *const am33xx_boards_compat[] __initconst = {
"ti,am33xx",
NULL,
};
@@ -177,7 +177,7 @@ MACHINE_END
#endif
#ifdef CONFIG_ARCH_OMAP4
-static const char *omap4_boards_compat[] __initconst = {
+static const char *const omap4_boards_compat[] __initconst = {
"ti,omap4460",
"ti,omap4430",
"ti,omap4",
@@ -199,7 +199,7 @@ MACHINE_END
#endif
#ifdef CONFIG_SOC_OMAP5
-static const char *omap5_boards_compat[] __initconst = {
+static const char *const omap5_boards_compat[] __initconst = {
"ti,omap5432",
"ti,omap5430",
"ti,omap5",
@@ -221,7 +221,7 @@ MACHINE_END
#endif
#ifdef CONFIG_SOC_AM43XX
-static const char *am43_boards_compat[] __initconst = {
+static const char *const am43_boards_compat[] __initconst = {
"ti,am4372",
"ti,am43",
NULL,
@@ -240,7 +240,7 @@ MACHINE_END
#endif
#ifdef CONFIG_SOC_DRA7XX
-static const char *dra74x_boards_compat[] __initconst = {
+static const char *const dra74x_boards_compat[] __initconst = {
"ti,dra742",
"ti,dra7",
NULL,
@@ -259,7 +259,7 @@ DT_MACHINE_START(DRA74X_DT, "Generic DRA74X (Flattened Device Tree)")
.restart = omap44xx_restart,
MACHINE_END
-static const char *dra72x_boards_compat[] __initconst = {
+static const char *const dra72x_boards_compat[] __initconst = {
"ti,dra722",
NULL,
};
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
2014-09-11 19:01 ` Uwe Kleine-König
@ 2014-09-11 19:14 ` Tony Lindgren
2014-09-11 19:42 ` Uwe Kleine-König
[not found] ` <20140911190136.GM3755-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
1 sibling, 1 reply; 9+ messages in thread
From: Tony Lindgren @ 2014-09-11 19:14 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: devicetree, Kevin Hilman, Rajendra Nayak, Rob Herring, kernel,
Grant Likely, linux-omap, linux-arm-kernel
* Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [140911 12:02]:
> On Thu, Sep 11, 2014 at 10:39:43AM -0700, Tony Lindgren wrote:
> > * Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [140910 01:27]:
> > > of_device_ids (i.e. compatible strings and the respective data) are not
> > > supposed to change at runtime. All functions working with of_device_ids
> > > provided by <linux/of.h> work with const of_device_ids. So mark the
> > > non-const function parameters and structs for OMAP2+ as const, too.
> >
> > Hmm this does not seem to compile with omap2plus_defconfig because
> > of section type conflicts. Looks like there's some issue now with the
> > use of __initconst:
> >
> > arch/arm/mach-omap2/board-generic.c:262:20: error: dra72x_boards_compat causes a section type conflict with omap_dt_match_table
> > arch/arm/mach-omap2/board-generic.c:30:34: note: ‘omap_dt_match_table’ was declared here
> > scripts/Makefile.build:257: recipe for target 'arch/arm/mach-omap2/board-generic.o' failed
> The problem is dra74x_boards_compat though:
>
> static const char *dra74x_boards_compat[] __initconst = {
> ...
>
> *dra74x_boards_compat is const, but dra74x_boards_compat isn't, so
> either the variable must go into __initdata or it must be declared as:
>
> static const char * const dra74x_boards_compat[] __initconst = {
> ...
Ah OK.
> (but then I guess you get another warning because struct machine_desc's
> dt_compat is declared as
>
> const char **dt_compat;
>
> .)
>
> With the patch below, arch/arm/mach-omap2/board-generic.c compiles just
> fine. Don't know yet if the additional const in <asm/mach_desc.h> is
> problematic ...
Yes OK thanks. It Would be nice to have those as __initconst to discard
the unused ones.
Regards,
Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
[not found] ` <20140911190136.GM3755-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
@ 2014-09-11 19:14 ` Uwe Kleine-König
0 siblings, 0 replies; 9+ messages in thread
From: Uwe Kleine-König @ 2014-09-11 19:14 UTC (permalink / raw)
To: Tony Lindgren
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, Kevin Hilman, Rajendra Nayak,
Rob Herring, kernel-bIcnvbaLZ9MEGnE8C9+IrQ, Grant Likely,
linux-omap-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Hello,
On Thu, Sep 11, 2014 at 09:01:36PM +0200, Uwe Kleine-König wrote:
> On Thu, Sep 11, 2014 at 10:39:43AM -0700, Tony Lindgren wrote:
> > * Uwe Kleine-König <u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> [140910 01:27]:
> > > of_device_ids (i.e. compatible strings and the respective data) are not
> > > supposed to change at runtime. All functions working with of_device_ids
> > > provided by <linux/of.h> work with const of_device_ids. So mark the
> > > non-const function parameters and structs for OMAP2+ as const, too.
> >
> > Hmm this does not seem to compile with omap2plus_defconfig because
> > of section type conflicts. Looks like there's some issue now with the
> > use of __initconst:
> >
> > arch/arm/mach-omap2/board-generic.c:262:20: error: dra72x_boards_compat causes a section type conflict with omap_dt_match_table
> > arch/arm/mach-omap2/board-generic.c:30:34: note: ‘omap_dt_match_table’ was declared here
> > scripts/Makefile.build:257: recipe for target 'arch/arm/mach-omap2/board-generic.o' failed
> The problem is dra74x_boards_compat though:
>
> static const char *dra74x_boards_compat[] __initconst = {
> ...
>
> *dra74x_boards_compat is const, but dra74x_boards_compat isn't, so
> either the variable must go into __initdata or it must be declared as:
>
> static const char * const dra74x_boards_compat[] __initconst = {
> ...
>
> (but then I guess you get another warning because struct machine_desc's
> dt_compat is declared as
>
> const char **dt_compat;
>
> .)
>
> With the patch below, arch/arm/mach-omap2/board-generic.c compiles just
> fine. Don't know yet if the additional const in <asm/mach_desc.h> is
> problematic ...
>
> diff --git a/arch/arc/include/asm/mach_desc.h b/arch/arc/include/asm/mach_desc.h
> index e8993a2be6c2..f4a7bc8d8967 100644
> --- a/arch/arc/include/asm/mach_desc.h
> +++ b/arch/arc/include/asm/mach_desc.h
this is obviously non-sense. The definition for arm already has the
const I added here for arc.
So the patch for board-generic.c below is fine. I will create a proper
patch for it.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
2014-09-11 19:14 ` Tony Lindgren
@ 2014-09-11 19:42 ` Uwe Kleine-König
2014-09-11 19:47 ` Tony Lindgren
0 siblings, 1 reply; 9+ messages in thread
From: Uwe Kleine-König @ 2014-09-11 19:42 UTC (permalink / raw)
To: Tony Lindgren
Cc: devicetree, Kevin Hilman, Rajendra Nayak, Rob Herring, kernel,
Grant Likely, linux-omap, linux-arm-kernel
Hello Tony,
On Thu, Sep 11, 2014 at 12:14:50PM -0700, Tony Lindgren wrote:
> * Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [140911 12:02]:
> > On Thu, Sep 11, 2014 at 10:39:43AM -0700, Tony Lindgren wrote:
> > > * Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [140910 01:27]:
> > > > of_device_ids (i.e. compatible strings and the respective data) are not
> > > > supposed to change at runtime. All functions working with of_device_ids
> > > > provided by <linux/of.h> work with const of_device_ids. So mark the
> > > > non-const function parameters and structs for OMAP2+ as const, too.
> > >
> > > Hmm this does not seem to compile with omap2plus_defconfig because
> > > of section type conflicts. Looks like there's some issue now with the
> > > use of __initconst:
> > >
> > > arch/arm/mach-omap2/board-generic.c:262:20: error: dra72x_boards_compat causes a section type conflict with omap_dt_match_table
> > > arch/arm/mach-omap2/board-generic.c:30:34: note: ‘omap_dt_match_table’ was declared here
> > > scripts/Makefile.build:257: recipe for target 'arch/arm/mach-omap2/board-generic.o' failed
> > The problem is dra74x_boards_compat though:
> >
> > static const char *dra74x_boards_compat[] __initconst = {
> > ...
> >
> > *dra74x_boards_compat is const, but dra74x_boards_compat isn't, so
> > either the variable must go into __initdata or it must be declared as:
> >
> > static const char * const dra74x_boards_compat[] __initconst = {
> > ...
>
> Ah OK.
>
> > (but then I guess you get another warning because struct machine_desc's
> > dt_compat is declared as
> >
> > const char **dt_compat;
> >
> > .)
> >
> > With the patch below, arch/arm/mach-omap2/board-generic.c compiles just
> > fine. Don't know yet if the additional const in <asm/mach_desc.h> is
> > problematic ...
>
> Yes OK thanks. It Would be nice to have those as __initconst to discard
> the unused ones.
__initdata is discarded, too, but I already send a patch that adds the
additional consts. On top of this one the patch from this thread is
fine.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
2014-09-11 19:42 ` Uwe Kleine-König
@ 2014-09-11 19:47 ` Tony Lindgren
2014-09-11 19:52 ` Uwe Kleine-König
0 siblings, 1 reply; 9+ messages in thread
From: Tony Lindgren @ 2014-09-11 19:47 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: devicetree, Kevin Hilman, Rajendra Nayak, Rob Herring, kernel,
Grant Likely, linux-omap, linux-arm-kernel
* Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [140911 12:42]:
> Hello Tony,
>
> On Thu, Sep 11, 2014 at 12:14:50PM -0700, Tony Lindgren wrote:
> > * Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [140911 12:02]:
> > > On Thu, Sep 11, 2014 at 10:39:43AM -0700, Tony Lindgren wrote:
> > > > * Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [140910 01:27]:
> > > > > of_device_ids (i.e. compatible strings and the respective data) are not
> > > > > supposed to change at runtime. All functions working with of_device_ids
> > > > > provided by <linux/of.h> work with const of_device_ids. So mark the
> > > > > non-const function parameters and structs for OMAP2+ as const, too.
> > > >
> > > > Hmm this does not seem to compile with omap2plus_defconfig because
> > > > of section type conflicts. Looks like there's some issue now with the
> > > > use of __initconst:
> > > >
> > > > arch/arm/mach-omap2/board-generic.c:262:20: error: dra72x_boards_compat causes a section type conflict with omap_dt_match_table
> > > > arch/arm/mach-omap2/board-generic.c:30:34: note: ‘omap_dt_match_table’ was declared here
> > > > scripts/Makefile.build:257: recipe for target 'arch/arm/mach-omap2/board-generic.o' failed
> > > The problem is dra74x_boards_compat though:
> > >
> > > static const char *dra74x_boards_compat[] __initconst = {
> > > ...
> > >
> > > *dra74x_boards_compat is const, but dra74x_boards_compat isn't, so
> > > either the variable must go into __initdata or it must be declared as:
> > >
> > > static const char * const dra74x_boards_compat[] __initconst = {
> > > ...
> >
> > Ah OK.
> >
> > > (but then I guess you get another warning because struct machine_desc's
> > > dt_compat is declared as
> > >
> > > const char **dt_compat;
> > >
> > > .)
> > >
> > > With the patch below, arch/arm/mach-omap2/board-generic.c compiles just
> > > fine. Don't know yet if the additional const in <asm/mach_desc.h> is
> > > problematic ...
> >
> > Yes OK thanks. It Would be nice to have those as __initconst to discard
> > the unused ones.
> __initdata is discarded, too, but I already send a patch that adds the
> additional consts. On top of this one the patch from this thread is
> fine.
OK great thanks. I'll apply both into omap-for-v3.18/fixes-not-urgent.
Regards,
Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
2014-09-11 19:47 ` Tony Lindgren
@ 2014-09-11 19:52 ` Uwe Kleine-König
2014-09-11 20:10 ` Tony Lindgren
0 siblings, 1 reply; 9+ messages in thread
From: Uwe Kleine-König @ 2014-09-11 19:52 UTC (permalink / raw)
To: Tony Lindgren
Cc: devicetree, Kevin Hilman, Rajendra Nayak, Rob Herring, kernel,
Grant Likely, linux-omap, linux-arm-kernel
Hello Tony,
On Thu, Sep 11, 2014 at 12:47:17PM -0700, Tony Lindgren wrote:
> OK great thanks. I'll apply both into omap-for-v3.18/fixes-not-urgent.
I would have put "make of_device_ids const" into cleanups, but that's up
to you.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
2014-09-11 19:52 ` Uwe Kleine-König
@ 2014-09-11 20:10 ` Tony Lindgren
0 siblings, 0 replies; 9+ messages in thread
From: Tony Lindgren @ 2014-09-11 20:10 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: devicetree, Kevin Hilman, Rajendra Nayak, Rob Herring, kernel,
Grant Likely, linux-omap, linux-arm-kernel
* Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [140911 12:53]:
> Hello Tony,
>
> On Thu, Sep 11, 2014 at 12:47:17PM -0700, Tony Lindgren wrote:
> > OK great thanks. I'll apply both into omap-for-v3.18/fixes-not-urgent.
> I would have put "make of_device_ids const" into cleanups, but that's up
> to you.
Yes that would have worked too but already applied and building
randconfigs :)
Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-09-11 20:10 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1410337579-23466-1-git-send-email-u.kleine-koenig@pengutronix.de>
2014-09-10 8:26 ` [PATCH 1/3] ARM: OMAP2+: make of_device_ids const Uwe Kleine-König
2014-09-11 17:39 ` Tony Lindgren
2014-09-11 19:01 ` Uwe Kleine-König
2014-09-11 19:14 ` Tony Lindgren
2014-09-11 19:42 ` Uwe Kleine-König
2014-09-11 19:47 ` Tony Lindgren
2014-09-11 19:52 ` Uwe Kleine-König
2014-09-11 20:10 ` Tony Lindgren
[not found] ` <20140911190136.GM3755-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-09-11 19:14 ` 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