public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Imre Deak <imre.deak@nokia.com>
To: ext Jonathan McDowell <noodles@earth.li>
Cc: linux-omap-open-source@linux.omap.com
Subject: Re: [PATCH] Fix checking for multiple boot tags in board config.
Date: Sat, 08 Apr 2006 10:58:52 +0300	[thread overview]
Message-ID: <1144483132.19066.29.camel@bitbox.mine.nu> (raw)
In-Reply-To: <20060407155818.GV22929@earth.li>

On Fri, 2006-04-07 at 16:58 +0100, ext Jonathan McDowell wrote:
> On Fri, Apr 07, 2006 at 06:50:15PM +0300, Imre Deak wrote:
> > On Fri, 2006-04-07 at 16:00 +0100, ext Jonathan McDowell wrote:
> > > Currently if we look for more than one instance of a boot tag and it's
> > > defined in the board config rather than passed by the boot loader we can
> > > get stuck in a loop where the same tag is processed many times. This can
> > > be seen with the gpio-switch driver, for example. The patch below fixes
> > > this by respecting the skip parameter to get_config when we're scanning
> > > the board config structure.
> > > 
> > > Signed-Off-By: Jonathan McDowell <noodles@earth.li>
> > > 
> > > diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
> > > index 0625df5..39ab667 100644
> > > --- a/arch/arm/plat-omap/common.c
> > > +++ b/arch/arm/plat-omap/common.c
> > > @@ -114,8 +114,12 @@ static const void *get_config(u16 tag, s
> > >  	 * in the kernel. */
> > >  	for (i = 0; i < omap_board_config_size; i++) {
> > >  		if (omap_board_config[i].tag == tag) {
> > > -			kinfo = &omap_board_config[i];
> > > -			break;
> > > +			if (skip == 0) {
> > > +				kinfo = &omap_board_config[i];
> > > +				break;
> > > +			} else {
> > > +				skip--;
> > > +			}
> > >  		}
> > >  	}
> > >  	if (kinfo == NULL)
> > 
> > Should the case be handled when a configuration is present in both the
> > boot tag and the board config? If so, we should stop parsing after the
> > boot tags whenever the requested tag is found, even if there are less
> > then 'skip' instances of it, and return NULL.
> 
> If a config option that can appear multiple times (ie when the skip
> option would apply) is present in both the boot tag and board config I'd
> expect both to have effect. You might have some instances of a device
> that exist on all variants of the board (that would be in the board
> config) and then some additional instances that would be controlled by
> the boot tags passed by the boot loader. Though equally I can see the
> argument for the other way when you'd want to override the defaults. :)
> 

Ok, I didn't consider the semantic where we merge the two
configurations. And since it was the implied behavior so far, fixing it
with your patch seems to be the right thing.

--Imre

  reply	other threads:[~2006-04-08  7:58 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-07 15:00 [PATCH] Fix checking for multiple boot tags in board config Jonathan McDowell
2006-04-07 15:50 ` Imre Deak
2006-04-07 15:58   ` Jonathan McDowell
2006-04-08  7:58     ` Imre Deak [this message]
2006-05-15  9:44       ` Tony Lindgren

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=1144483132.19066.29.camel@bitbox.mine.nu \
    --to=imre.deak@nokia.com \
    --cc=linux-omap-open-source@linux.omap.com \
    --cc=noodles@earth.li \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox