Subject: Re: [RFC PATCH 12/19] powerpc: gamecube: platform support

From: Albert Herranz <[email-masked]>
Date: Mon, 23 Nov 2009 21:02:25 +0100

Grant Likely wrote:
> On Sun, Nov 22, 2009 at 3:01 PM, Albert Herranz <[email-masked]> wrote:
>> Add platform support for the Nintendo GameCube video game console.
>>
>> Signed-off-by: Albert Herranz <[email-masked]>
>> ---
>> +static void gamecube_show_cpuinfo(struct seq_file *m)
>> +{
>> +       seq_printf(m, "vendor\t\t: IBM\n");
>> +       seq_printf(m, "machine\t\t: Nintendo GameCube\n");
>> +}
> 
> show_cpuinfo hooks have been dropped on most platforms now.
> 

I'll drop'em all. Thanks.

>> +static void gamecube_shutdown(void)
>> +{
>> +       /* currently not used */
>> +}
> 
> Then don't add the hook.  Just drop it.  Same for other empty
> functions in this file.  If it is safe to drop them, then please do.
> 
> Otherwise: Acked-by: Grant Likely <[email-masked]>
> 

I actually forgot to add a flipper_quiesce() call there.
That one will be used.

But I'll review the other cases. Thanks.

>> +define_machine(gamecube) {
>> +       .name                   = "gamecube",
>> +       .probe                  = gamecube_probe,
>> +       .setup_arch             = gamecube_setup_arch,
>> +       .init_early             = gamecube_init_early,
>> +       .show_cpuinfo           = gamecube_show_cpuinfo,
>> +       .restart                = gamecube_restart,
>> +       .power_off              = gamecube_power_off,
>> +       .halt                   = gamecube_halt,
>> +       .init_IRQ               = flipper_pic_probe,
>> +       .get_irq                = flipper_pic_get_irq,
>> +       .calibrate_decr         = generic_calibrate_decr,
>> +       .progress               = udbg_progress,
>> +       .machine_shutdown       = gamecube_shutdown,
>> +#ifdef CONFIG_KEXEC
>> +       .machine_kexec_prepare  = gamecube_kexec_prepare,
>> +       .machine_kexec          = default_machine_kexec,
>> +#endif
>> +};
>> +
>> diff --git a/arch/powerpc/platforms/embedded6xx/gamecube_dev.c b/arch/powerpc/platforms/embedded6xx/gamecube_dev.c
>> new file mode 100644
>> index 0000000..13e1f73
>> --- /dev/null
>> +++ b/arch/powerpc/platforms/embedded6xx/gamecube_dev.c
>> @@ -0,0 +1,34 @@
>> +/*
>> + * arch/powerpc/platforms/embedded6xx/gamecube_dev.c
>> + *
>> + * Nintendo GameCube platform device setup.
>> + * Copyright (C) 2008-2009 The GameCube Linux Team
>> + * Copyright (C) 2008,2009 Albert Herranz
>> + *
>> + * This program is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU General Public License
>> + * as published by the Free Software Foundation; either version 2
>> + * of the License, or (at your option) any later version.
>> + *
>> + */
>> +
>> +#include <linux/kernel.h>
>> +#include <linux/init.h>
>> +#include <linux/of_platform.h>
>> +
>> +#include <asm/machdep.h>
>> +
>> +static struct of_device_id gamecube_of_bus[] = {
>> +       { .compatible = "nintendo,flipper", },
>> +       { },
>> +};
>> +
>> +static int __init gamecube_device_probe(void)
>> +{
>> +       if (!machine_is(gamecube))
>> +               return 0;
>> +
>> +       of_platform_bus_probe(NULL, gamecube_of_bus, NULL);
>> +       return 0;
>> +}
>> +device_initcall(gamecube_device_probe);

Cheers,
Albert