All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Cc: devicetree@vger.kernel.org,
	Kevin Hilman <khilman@deeprootsystems.com>,
	Rajendra Nayak <rnayak@ti.com>, Rob Herring <robh+dt@kernel.org>,
	kernel@pengutronix.de, Grant Likely <grant.likely@linaro.org>,
	linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
Date: Thu, 11 Sep 2014 12:47:17 -0700	[thread overview]
Message-ID: <20140911194716.GG18849@atomide.com> (raw)
In-Reply-To: <20140911194215.GO3755@pengutronix.de>

* 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

WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
Date: Thu, 11 Sep 2014 12:47:17 -0700	[thread overview]
Message-ID: <20140911194716.GG18849@atomide.com> (raw)
In-Reply-To: <20140911194215.GO3755@pengutronix.de>

* 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

  reply	other threads:[~2014-09-11 19:47 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-10  8:26 [PATCH 0/3] ARM+ARM64: constify of_device_ids Uwe Kleine-König
2014-09-10  8:26 ` Uwe Kleine-König
2014-09-10  8:26 ` [PATCH 1/3] ARM: OMAP2+: make of_device_ids const Uwe Kleine-König
2014-09-10  8:26   ` Uwe Kleine-König
2014-09-11 17:39   ` Tony Lindgren
2014-09-11 17:39     ` Tony Lindgren
2014-09-11 19:01     ` Uwe Kleine-König
2014-09-11 19:01       ` Uwe Kleine-König
2014-09-11 19:14       ` Tony Lindgren
2014-09-11 19:14         ` Tony Lindgren
2014-09-11 19:42         ` Uwe Kleine-König
2014-09-11 19:42           ` Uwe Kleine-König
2014-09-11 19:47           ` Tony Lindgren [this message]
2014-09-11 19:47             ` Tony Lindgren
2014-09-11 19:52             ` Uwe Kleine-König
2014-09-11 19:52               ` Uwe Kleine-König
2014-09-11 20:10               ` Tony Lindgren
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
2014-09-11 19:14           ` Uwe Kleine-König
     [not found] ` <1410337579-23466-1-git-send-email-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-09-10  8:26   ` [PATCH 2/3] ARM: " Uwe Kleine-König
2014-09-10  8:26     ` Uwe Kleine-König
     [not found]     ` <1410337579-23466-3-git-send-email-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-09-10 15:17       ` Jason Cooper
2014-09-10 15:17         ` Jason Cooper
2014-09-10  8:26   ` [PATCH 3/3] ARM64: " Uwe Kleine-König
2014-09-10  8:26     ` Uwe Kleine-König
     [not found]     ` <1410337579-23466-4-git-send-email-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2014-09-15 13:11       ` Catalin Marinas
2014-09-15 13:11         ` Catalin Marinas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140911194716.GG18849@atomide.com \
    --to=tony@atomide.com \
    --cc=devicetree@vger.kernel.org \
    --cc=grant.likely@linaro.org \
    --cc=kernel@pengutronix.de \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=rnayak@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=u.kleine-koenig@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.