|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V1 08/29] xen/dts: Don't add a fake property "name" in the device tree
On Wed, 2013-08-28 at 15:47 +0100, Julien Grall wrote:
> On new Flat Device Tree version, the property "name" may not exist.
> The property is never used in Xen code except to set the field "name" of
> dt_device_node.
>
> For convenience, remove the fake property. It will save space during the
> creation of the dom0 FDT.
Is it worth diverging from the Linux code this is based on over this
though?
>
> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
> ---
> xen/common/device_tree.c | 21 +++++++++------------
> 1 file changed, 9 insertions(+), 12 deletions(-)
>
> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> index be592d2..07a19ac 100644
> --- a/xen/common/device_tree.c
> +++ b/xen/common/device_tree.c
> @@ -1543,6 +1543,7 @@ static unsigned long __init unflatten_dt_node(const
> void *fdt,
> if ( !has_name )
> {
> char *p1 = pathp, *ps = pathp, *pa = NULL;
> + char *tmp = NULL;
> int sz;
>
> while ( *p1 )
> @@ -1556,25 +1557,21 @@ static unsigned long __init unflatten_dt_node(const
> void *fdt,
> if ( pa < ps )
> pa = p1;
> sz = (pa - ps) + 1;
> - pp = unflatten_dt_alloc(&mem, sizeof(struct dt_property) + sz,
> - __alignof__(struct dt_property));
> +
> + tmp = unflatten_dt_alloc(&mem, sz, 1);
> if ( allnextpp )
> {
> - pp->name = "name";
> - pp->length = sz;
> - pp->value = pp + 1;
> - *prev_pp = pp;
> - prev_pp = &pp->next;
> - memcpy(pp->value, ps, sz - 1);
> - ((char *)pp->value)[sz - 1] = 0;
> - dt_dprintk("fixed up name for %s -> %s\n", pathp,
> - (char *)pp->value);
> + memcpy(tmp, ps, sz - 1);
> + np->name = tmp;
> + tmp[sz - 1] = 0;
> + dt_dprintk("fixed up name for %s -> %s\n", pathp, np->name);
> }
> }
> +
> if ( allnextpp )
> {
> *prev_pp = NULL;
> - np->name = dt_get_property(np, "name", NULL);
> + np->name = (np->name) ? : dt_get_property(np, "name", NULL);
> np->type = dt_get_property(np, "device_type", NULL);
>
> if ( !np->name )
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |