[PATCH] powerpc: Kill _machine and hard-coded platform numbers
This removes statically assigned platform numbers and reworks the powerpc platform probe code to use a better mechanism. With this, board support files can simply declare a new machine type with a macro, and implement a probe() function that uses the flattened device-tree to detect if they apply for a given machine. We now have a machine_is() macro that replaces the comparisons of _machine with the various PLATFORM_* constants. This commit also changes various drivers to use the new macro instead of looking at _machine. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
committed by
Paul Mackerras
parent
056cb48a2f
commit
e8222502ee
@@ -259,9 +259,10 @@ static void __init maple_progress(char *s, unsigned short hex)
|
||||
/*
|
||||
* Called very early, MMU is off, device-tree isn't unflattened
|
||||
*/
|
||||
static int __init maple_probe(int platform)
|
||||
static int __init maple_probe(void)
|
||||
{
|
||||
if (platform != PLATFORM_MAPLE)
|
||||
unsigned long root = of_get_flat_dt_root();
|
||||
if (!of_flat_dt_is_compatible(root, "Momentum,Maple"))
|
||||
return 0;
|
||||
/*
|
||||
* On U3, the DART (iommu) must be allocated now since it
|
||||
@@ -274,7 +275,8 @@ static int __init maple_probe(int platform)
|
||||
return 1;
|
||||
}
|
||||
|
||||
struct machdep_calls __initdata maple_md = {
|
||||
define_machine(maple_md) {
|
||||
.name = "Maple",
|
||||
.probe = maple_probe,
|
||||
.setup_arch = maple_setup_arch,
|
||||
.init_early = maple_init_early,
|
||||
|
Reference in New Issue
Block a user