Hi Kever,

Am Mittwoch, 15. Oktober 2014, 10:23:01 schrieb Kever Yang:
> From: Heiko Stuebner <[email protected]>
> 
> Makes it possible to define a rockchip,pmu phandle in the cpus node directly
> referencing the pmu syscon instead of searching for specific compatible.
> 
> The old way of finding the pmu stays of course available.
> 
> Signed-off-by: Heiko Stuebner <[email protected]>
> Signed-off-by: Kever Yang <[email protected]>

I've tested the series again on all our supported platforms - no regressions.

The series itself also looks nice and ready to go to me, but I think we'll 
need to give the devicetree maintainers some more days, if they want to 
complain about our new rockchip,pmu property.


Heiko


> ---
> 
> Changes in v5: None
> Changes in v4:
> - add rockchip,pmu property into cpus.txt
> 
> Changes in v3:
> - add this patch
> 
> Changes in v2: None
> 
>  Documentation/devicetree/bindings/arm/cpus.txt |  9 +++++++++
>  arch/arm/mach-rockchip/platsmp.c               | 13 +++++++++++++
>  2 files changed, 22 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/cpus.txt
> b/Documentation/devicetree/bindings/arm/cpus.txt index fc44634..b2aacbe
> 100644
> --- a/Documentation/devicetree/bindings/arm/cpus.txt
> +++ b/Documentation/devicetree/bindings/arm/cpus.txt
> @@ -227,6 +227,15 @@ nodes to be present and contain the properties
> described below. # List of phandles to idle state nodes supported
>                         by this cpu [3].
> 
> +     - rockchip,pmu
> +             Usage: optional for systems that have an "enable-method"
> +                    property value of "rockchip,rk3066-smp"
> +                    While optional, it is the preferred way to get access to
> +                    the cpu-core power-domains.
> +             Value type: <phandle>
> +             Definition: Specifies the syscon node controlling the cpu core
> +                         power domains.
> +
>  Example 1 (dual-cluster big.LITTLE system 32-bit):
> 
>       cpus {
> diff --git a/arch/arm/mach-rockchip/platsmp.c
> b/arch/arm/mach-rockchip/platsmp.c index 4c36fbf..57b53b3 100644
> --- a/arch/arm/mach-rockchip/platsmp.c
> +++ b/arch/arm/mach-rockchip/platsmp.c
> @@ -155,6 +155,19 @@ static int __init rockchip_smp_prepare_pmu(void)
>       struct device_node *node;
>       void __iomem *pmu_base;
> 
> +     /*
> +      * This function is only called via smp_ops->smp_prepare_cpu().
> +      * That only happens if a "/cpus" device tree node exists
> +      * and has an "enable-method" property that selects the SMP
> +      * operations defined herein.
> +      */
> +     node = of_find_node_by_path("/cpus");
> +
> +     pmu = syscon_regmap_lookup_by_phandle(node, "rockchip,pmu");
> +     of_node_put(node);
> +     if (!IS_ERR(pmu))
> +             return 0;
> +
>       pmu = syscon_regmap_lookup_by_compatible("rockchip,rk3066-pmu");
>       if (!IS_ERR(pmu))
>               return 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to