|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen/arm: copy cpu clock-frequency to CPU DT node.
On Fri, 2013-11-01 at 16:58 -0400, Jon Fraser wrote:
> When creating the CPU DT node, copy the clock-frequency if present.
>
> Signed-off-by: Jon Fraser <jfraser@xxxxxxxxxxxx>
> ---
> xen/arch/arm/domain_build.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index c644be2..b212627 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -391,6 +391,7 @@ static int make_cpus_node(const struct domain *d, void
> *fdt,
> u32 len;
> /* Placeholder for cpu@ + a 32-bit number + \0 */
> char buf[15];
> + u32 *clock_frequency;
>
> DPRINT("Create cpus node\n");
>
> @@ -411,6 +412,7 @@ static int make_cpus_node(const struct domain *d, void
> *fdt,
> if ( dt_device_type_is_equal(npcpu, "cpu") )
> {
> compatible = dt_get_property(npcpu, "compatible", &len);
> + clock_frequency = (u32 *)dt_get_property(npcpu,
> "clock-frequency", NULL);
Julien's the expert but I think you need to use dt_property_read_u32
here, to get the correct endianness conversion (as well as for pure
forms sake of using the correct API for the job).
> break;
> }
> }
> @@ -457,6 +459,12 @@ static int make_cpus_node(const struct domain *d, void
> *fdt,
> if ( res )
> return res;
>
> + if (clock_frequency) {
> + res = fdt_property_cell(fdt, "clock-frequency", *(u32
> *)clock_frequency);
I suppose there ought to be some API for this side of things too, but I
can't see it right now...
Note that fdt_property_cell contains a cpu_to_fdt32 so it is converting
while the read of the property not, so I think the code is broken as is?
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |