[PATCH] x86/Voyager: make it build and boot

From: Ingo Molnar
Date: Sat Jan 31 2009 - 14:05:51 EST

* James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote:

> > > [...] However, this patch is needed now to get 2.6.29-rc3 to boot.
> >
> > and there's also the other ones. We can put them in now that we've got
> > the new subarch code. Could you send a pull request with all the
> > voyager fixes collected into one tree?
> Sure, they're currently all here:
> master.kernel.org:/pub/scm/linux/kernel/git/jejb/voyager-2.6.git

I couldnt pull this tree as it had nearly as many problems as commits:

1) The tree was rebased freshly, losing history.

2) Commit febf1fe ("[VOYAGER] x86: fix voyager QIC interrupt controller")
is bogus as it adds only comment but claims to be an ioremap_cache()
fix. Probably a rebasing artifact.

4) Commit 569a588 is bogus as it introduces a duplicate Kconfig entry.
Probably a rebasing/merging artifact.

3) The standard x86 commit log format is not:

[VOYAGER] fix cpu bootmaps

But something like:

x86/Voyager: fix cpu bootmaps

You even mixed them inconsistently:

[VOYAGER] fix cpu bootmaps
[VOYAGER] x86: fix voyager QIC interrupt controller

5) Commit 78543b1 ("[VOYAGER] x86: add ability to test for boot CPU") is
ugly and possibly breaks the standard build:

#include <asm/acpi.h>

If then such conditionals should be added to the acpi.h header itself
and any knock-on build breakages addressed. The construct you used are
magnets for standard kernel build breakages.

6) Neither did i like the commit logs berating x86 developers for breaking
voyager - while in reality there's only a single Linux developer on the
planet who _can_ test Voyager and its assumptions (and that is you).

Unless you take part in the x86 development process fully (which you
havent for a long time - you always came one stuff hit upstream and
sometimes in late rcs jumping months of x86 development), you cannot
expect special treatment nor can you expect people to even be aware of
the quirks of Voyager. Development is complex already without a
constant distraction from a subarch that is not used by any developer
but you.

Anyway, to move forward i consolidated the acceptable bits into a single
low-impact commit and queued it up in x86/urgent - see it below. The
acpi.h bit you probably still need to build Voyager but it needs
reworking. Please submit it separately.