[POWERPC] Efika: prune fixups and make them more carefull
authorGrant Likely <grant.likely@secretlab.ca>
Fri, 25 Jan 2008 05:25:32 +0000 (22:25 -0700)
committerGrant Likely <grant.likely@secretlab.ca>
Sat, 26 Jan 2008 22:32:18 +0000 (15:32 -0700)
commit94d2dde738a50124d1f1b1b40bd5b9d0ed22e2e2
treebd49bc0ce469824c806c40be9bc8cdead3934e3c
parent24ce6bc4a2b75509b29372f1e5e7e0fe51d98e66
[POWERPC] Efika: prune fixups and make them more carefull

Prune back Efika fixups to only include changes that are actually required
to get a working system.  Most of the drivers can accept the compatible
properties, even if they don't match the what is recommented in the generic
names recommended practice document.

This patch also adds extra checks so that fixups are not performed blindly.
Instead, the code first verifies that the device tree is faulty before
making any changes.  This way, if the Efika firmware is updated to fix
these issues, then the fixups will no longer get applied.

At this point; here is the list of fixups needed for the efika:
1. If the device_type property on the root node is 'chrp', then Linux won't
   boot.  Change device_type to 'efika' to avoid this condition
2. Add full interrupt list to the bestcomm node.  In actual fact, the
   bestcomm interrupts property is technically correct, it just doesn't
   expose the same granularity as the device driver expects.  All other
   5200 device trees provide a separate irq number for each bestcomm
   channel.  Rather than hack the driver, it's simpler to fix it up
3. /builtin/sound node is missing an interrupts property
4. /builtin/ethernet node is missing a phy-handle property and the
   device driver doesn't know what to do without one.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
arch/powerpc/kernel/prom_init.c