Re: [PATCH] x86 - Make CONFIG_OLPC dependent on CONFIG_MGEODE_LX

From: Jeremy Katz
Date: Wed Nov 12 2008 - 09:22:58 EST


On Sun, 2008-11-09 at 20:17 -0800, Andres Salomon wrote:
> On Tue, 11 Nov 2008 15:04:06 +0100 Ingo Molnar <mingo@xxxxxxx> wrote:
>
> >
> > * Takashi Iwai <tiwai@xxxxxxx> wrote:
> >
> > > At Tue, 11 Nov 2008 14:53:06 +0100,
> > > Ingo Molnar wrote:
> > > >
> > > >
> > > > * Takashi Iwai <tiwai@xxxxxxx> wrote:
> > > >
> > > > > At Tue, 11 Nov 2008 13:54:02 +0100,
> > > > > Ingo Molnar wrote:
> > > > > >
> > > > > >
> > > > > > * Takashi Iwai <tiwai@xxxxxxx> wrote:
> > > > > >
> > > > > > > The OLPC-specpfic codes require geode_gpio_*() functions
> > > > > > > although these functions are defined only with
> > > > > > > CONFIG_MGEODE_LX=y. Add a proper dependency to fix build
> > > > > > > errors.
> > > > > > >
> > > > > > > Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
> > > > > >
> > > > > > hm, could you please send a .config that shows the build
> > > > > > errors?
> > > > >
> > > > > Here it is. It's for today's linux-next.
> > > >
> > > > hm, which tree did that build failure in linux-next originate
> > > > from? Your config builds fine here with the latest x86 tree.
> > >
> > > Ah, sorry, forgot to mention that the build error comes from the
> > > latest ALSA code. It contains an OLPC-specific code that is enabled
> > > via CONFIG_OLPC like:
> > >
> > > snd-cs5535audio-$(CONFIG_OLPC) += cs5535audio_olpc.o
> > >
> > > where this includes geode_gpio_*() calls.
> > >
> > > Of course, I can add an if in Makefile or create a new Kconfig, but
> > > since asm/olpc.h itself includes asm/geode.h and contains
> > > geode_gpio*() calls, it would be a proper fix to make CONFIG_OLPC
> > > dependent on geode.
> >
> > ah, okay, agreed - i was worried whether this is something affecting
> > v2.6.28 or slipping through our testing before commits hit linux-next.
> >
> > I've queued up your fix in tip/x86/kconfig, thanks Takashi!
>
> This works for now (though it's probably going to anger some people who
> are trying to make generic distro kernels),

It's not about angering, it's about causing regressions in
functionality. Doing this will completely break the ability to run
generic distros on the OLPC hardware without a special kernel. Which
has been something that a lot of work has gone on upstream to avoid for
all sorts of cases (VMI, Xen, SMP, ...).

> but what we really need to
> do is to make geode_gpio* defined even when we're not specifically
> building with MGEODE_LX. I'm not sure how best to do that, but the
> answer probably includes using the generic x86 gpio api.

This probably needs to be done as a precondition for getting the alsa
changes merged or the alsa changes need to have the bits which depend on
geode_gpio ripped out until it can be done. Or those parts
conditionalized. Drivers should not depend on what cpu type you're
building for...

Jeremy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/