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

From: Takashi Iwai
Date: Wed Nov 12 2008 - 09:29:18 EST


At Wed, 12 Nov 2008 08:54:10 -0500,
Jeremy Katz wrote:
>
> 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, it is broken. The asm/olpc includes asm/geode.h and it refers
geode_gpio*() there.

> > 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.

Then let's stop inclusion of asm/geode.h from asm/olpc.h at first.
Any driver codes including asm/geode.h can be broken potentially
without a proper dependency.


thanks,

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