Messages in this thread | | | Date | Thu, 13 Nov 2008 07:54:56 +0100 | From | Takashi Iwai <> | Subject | Re: [PATCH] x86 - Make CONFIG_OLPC dependent on CONFIG_MGEODE_LX |
| |
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
| |