From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Rutland Subject: Re: [PATCH] ARM: rockchip: convert smp bringup to CPU_METHOD_OF_DECLARE Date: Wed, 26 Mar 2014 11:00:24 +0000 Message-ID: <20140326110024.GR10341@e106331-lin.cambridge.arm.com> References: <1632873.urGeGsUMPH@diego> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Content-Disposition: inline In-Reply-To: <1632873.urGeGsUMPH@diego> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Heiko =?utf-8?Q?St=C3=BCbner?= Cc: "arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org" , Linux ARM Kernel , "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Rob Herring , Pawel Moll , Ian Campbell , Kumar Gala List-Id: devicetree@vger.kernel.org On Wed, Mar 26, 2014 at 10:27:35AM +0000, Heiko St=C3=BCbner wrote: > With the newly introduced CPU_METHOD_OF_DECLARE is not necessary anym= ore > to reference the relevant smp_ops in the board file, but instead it c= an > simply be set by the enable-method property of the cpu nodes. >=20 > Signed-off-by: Heiko Stuebner > --- > Documentation/devicetree/bindings/arm/cpus.txt | 1 + > arch/arm/boot/dts/rk3066a.dtsi | 1 + > arch/arm/boot/dts/rk3188.dtsi | 1 + > arch/arm/mach-rockchip/core.h | 2 -- > arch/arm/mach-rockchip/platsmp.c | 3 ++- > arch/arm/mach-rockchip/rockchip.c | 1 - > 6 files changed, 5 insertions(+), 4 deletions(-) >=20 > diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documen= tation/devicetree/bindings/arm/cpus.txt > index 333f4ae..2501d5d 100644 > --- a/Documentation/devicetree/bindings/arm/cpus.txt > +++ b/Documentation/devicetree/bindings/arm/cpus.txt > @@ -185,6 +185,7 @@ nodes to be present and contain the properties de= scribed below. > "qcom,gcc-msm8660" > "qcom,kpss-acc-v1" > "qcom,kpss-acc-v2" > + "rockchip,rk3066-smp" We should document what what these actually mean, so as to be a hardwar= e description and not a Linux internals description. Mark. > =20 > - cpu-release-addr > Usage: required for systems that have an "enable-method" > diff --git a/arch/arm/boot/dts/rk3066a.dtsi b/arch/arm/boot/dts/rk306= 6a.dtsi > index 4d4dfbb..90b354d 100644 > --- a/arch/arm/boot/dts/rk3066a.dtsi > +++ b/arch/arm/boot/dts/rk3066a.dtsi > @@ -24,6 +24,7 @@ > cpus { > #address-cells =3D <1>; > #size-cells =3D <0>; > + enable-method =3D "rockchip,rk3066-smp"; > =20 > cpu@0 { > device_type =3D "cpu"; > diff --git a/arch/arm/boot/dts/rk3188.dtsi b/arch/arm/boot/dts/rk3188= =2Edtsi > index bb36596..7ad5103 100644 > --- a/arch/arm/boot/dts/rk3188.dtsi > +++ b/arch/arm/boot/dts/rk3188.dtsi > @@ -24,6 +24,7 @@ > cpus { > #address-cells =3D <1>; > #size-cells =3D <0>; > + enable-method =3D "rockchip,rk3066-smp"; > =20 > cpu@0 { > device_type =3D "cpu"; > diff --git a/arch/arm/mach-rockchip/core.h b/arch/arm/mach-rockchip/c= ore.h > index e2e7c9d..39bca96 100644 > --- a/arch/arm/mach-rockchip/core.h > +++ b/arch/arm/mach-rockchip/core.h > @@ -18,5 +18,3 @@ extern char rockchip_secondary_trampoline_end; > =20 > extern unsigned long rockchip_boot_fn; > extern void rockchip_secondary_startup(void); > - > -extern struct smp_operations rockchip_smp_ops; > diff --git a/arch/arm/mach-rockchip/platsmp.c b/arch/arm/mach-rockchi= p/platsmp.c > index dbfa5a2..a18b7f2 100644 > --- a/arch/arm/mach-rockchip/platsmp.c > +++ b/arch/arm/mach-rockchip/platsmp.c > @@ -178,7 +178,8 @@ static void __init rockchip_smp_prepare_cpus(unsi= gned int max_cpus) > pmu_set_power_domain(0 + i, false); > } > =20 > -struct smp_operations rockchip_smp_ops __initdata =3D { > +static struct smp_operations rockchip_smp_ops __initdata =3D { > .smp_prepare_cpus =3D rockchip_smp_prepare_cpus, > .smp_boot_secondary =3D rockchip_boot_secondary, > }; > +CPU_METHOD_OF_DECLARE(rk3066_smp, "rockchip,rk3066-smp", &rockchip_s= mp_ops); > diff --git a/arch/arm/mach-rockchip/rockchip.c b/arch/arm/mach-rockch= ip/rockchip.c > index d211d6f..4499b0a 100644 > --- a/arch/arm/mach-rockchip/rockchip.c > +++ b/arch/arm/mach-rockchip/rockchip.c > @@ -39,7 +39,6 @@ static const char * const rockchip_board_dt_compat[= ] =3D { > }; > =20 > DT_MACHINE_START(ROCKCHIP_DT, "Rockchip Cortex-A9 (Device Tree)") > - .smp =3D smp_ops(rockchip_smp_ops), > .init_machine =3D rockchip_dt_init, > .dt_compat =3D rockchip_board_dt_compat, > MACHINE_END > --=20 > 1.9.0 >=20 >=20 > -- > To unsubscribe from this list: send the line "unsubscribe devicetree"= in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >=20 >=20 -- To unsubscribe from this list: send the line "unsubscribe devicetree" i= n the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html