Re: [PATCH 04/16] ARM: realview: use generic API for enabling SCU

From: Arnd Bergmann
Date: Mon Nov 14 2016 - 06:57:21 EST


On Monday, November 14, 2016 10:31:59 AM CET Pankaj Dubey wrote:
> static const struct of_device_id realview_scu_match[] = {
> { .compatible = "arm,arm11mp-scu", },
> - { .compatible = "arm,cortex-a9-scu", },
> - { .compatible = "arm,cortex-a5-scu", },
> { }
> };
>
> @@ -41,27 +39,18 @@ static void __init realview_smp_prepare_cpus(unsigned int max_cpus)
> struct device_node *np;
> void __iomem *scu_base;
> struct regmap *map;
> - unsigned int ncores;
> int i;
>
> - np = of_find_matching_node(NULL, realview_scu_match);
> - if (!np) {
> - pr_err("PLATSMP: No SCU base address\n");
> - return;
> + if (of_scu_enable()) {
> + np = of_find_matching_node(NULL, realview_scu_match);
> + scu_base = of_iomap(np, 0);
> + of_node_put(np);
> + if (!scu_base) {
> + pr_err("PLATSMP: No SCU remap\n");
> + return;
> + }
> + scu_enable(scu_base);
> }
>

The only difference here seems to be that realview also needs to handle
"arm,arm11mp-scu". Why not move that into the generic implementation?

Arnd