Re: [PATCH] x86 - Make CONFIG_OLPC dependent on CONFIG_MGEODE_LX
From: Takashi Iwai
Date: Thu Nov 13 2008 - 01:55:13 EST
At Wed, 12 Nov 2008 22:44:58 -0500,
Jeremy Katz wrote:
>
> On Wed, 2008-11-12 at 15:29 +0100, Takashi Iwai wrote:
> > At Wed, 12 Nov 2008 08:54:10 -0500, Jeremy Katz wrote:
> > > 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.
>
> The geode_gpio() users in asm/olpc.h are for some defines that really
> probably don't belong there and which aren't used elsewhere in the main
> tree afaict from a quick grep. I'd be glad to send the patch to remove
> it :-)
... and this will break linux-next nicely :)
> > > > 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.
>
> Yes, but having a driver dependent on building for a specific x86
> variant is quite wrong.
Not so. Many drivers are very hardware-specific, and they are (must
be) based on certain architectures and platforms. Look at a bunch of
drivers based on ARM-variants, for example.
> What would people think about a driver which
> was dependent on CONFIG_M586? Keep in mind that CONFIG_M686 wouldn't
> then apply...
This argument could be applied only to a common base code, but not to
a device driver for a specific hardware.
IMO, the basic problem is rather that the platform and the CPU
selection is mixed up. The geode GPIO stuff shouldn't belong to CPU
selection.
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/