[PATCH 3/4] PowerPC: 440GRx Rainier board support.

Arnd Bergmann arnd at arndb.de
Wed Oct 31 06:59:17 EST 2007


On Tuesday 30 October 2007, Valentine Barshak wrote:
> +static struct of_device_id rainier_of_bus[] = {
> +       { .compatible = "ibm,plb4", },
> +       { .compatible = "ibm,opb", },
> +       { .compatible = "ibm,ebc", },
> +       {},
> +};
> +
> +static int __init rainier_device_probe(void)
> +{
> +       if (!machine_is(rainier))
> +               return 0;
> +
> +       of_platform_bus_probe(NULL, rainier_of_bus, NULL);
> +
> +       return 0;
> +}
> +device_initcall(rainier_device_probe);
> +
> +static int __init rainier_probe(void)
> +{
> +       unsigned long root = of_get_flat_dt_root();
> +
> +       if (!of_flat_dt_is_compatible(root, "amcc,rainier"))
> +               return 0;
> +
> +       return 1;
> +}
> +
> +define_machine(rainier) {
> +       .name                           = "Rainier",
> +       .probe                          = rainier_probe,
> +       .progress                       = udbg_progress,
> +       .init_IRQ                       = uic_init_tree,
> +       .get_irq                        = uic_get_irq,
> +       .restart                        = ppc44x_reset_system,
> +       .calibrate_decr                 = generic_calibrate_decr,
> +};

Wow, this is getting really small these days. I wonder if we should add two
more generic helpers to turn this into just

define_machine(rainier) {
       .name                           = "Rainier",
       .compatible                     = "amcc,rainier",         /* new */
       .probe_buses		       = &4xx_generic_bus_probe, /* new */
       .progress                       = udbg_progress,
       .init_IRQ                       = uic_init_tree,
       .get_irq                        = uic_get_irq,
       .restart                        = ppc44x_reset_system,
       .calibrate_decr                 = generic_calibrate_decr,
};

	Arnd <><


More information about the Linuxppc-dev mailing list