All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Uwe Kleine-König" <u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
To: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Kevin Hilman
	<khilman-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>,
	Rajendra Nayak <rnayak-l0cyMroinI0@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	Grant Likely
	<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
Date: Thu, 11 Sep 2014 21:14:57 +0200	[thread overview]
Message-ID: <20140911191457.GN3755@pengutronix.de> (raw)
In-Reply-To: <20140911190136.GM3755-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>

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

WARNING: multiple messages have this Message-ID (diff)
From: u.kleine-koenig@pengutronix.de (Uwe Kleine-König)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] ARM: OMAP2+: make of_device_ids const
Date: Thu, 11 Sep 2014 21:14:57 +0200	[thread overview]
Message-ID: <20140911191457.GN3755@pengutronix.de> (raw)
In-Reply-To: <20140911190136.GM3755@pengutronix.de>

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@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
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/  |

  parent reply	other threads:[~2014-09-11 19:14 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
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 [this message]
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=20140911191457.GN3755@pengutronix.de \
    --to=u.kleine-koenig-bicnvbalz9megne8c9+irq@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=khilman-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=rnayak-l0cyMroinI0@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org \
    /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.