Re: [PATCH] Revert "yamltree: Ensure consistent bracketing of properties with phandles"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Fri, Jan 24, 2020 at 08:46:57AM -0600, Rob Herring wrote:
> This reverts commit 18d7b2f4ee45fec422b7d82bab0b3c762ee907e4.

Applied, it looks like that commit was based on some pretty faulty
assumptions about how properties are structured.

> This doesn't work for properties such as 'interrupt-map' that has
> phandle in the middle of an entry. It would also not work for a 0 or -1
> phandle value that acts as a NULL.

I can't really make sense of that last sentence, though.

> 
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> ---
>  yamltree.c | 21 ---------------------
>  1 file changed, 21 deletions(-)
> 
> diff --git a/yamltree.c b/yamltree.c
> index 43ca869dd6a8..5b6ea8ea862f 100644
> --- a/yamltree.c
> +++ b/yamltree.c
> @@ -138,27 +138,6 @@ static void yaml_propval(yaml_emitter_t *emitter, struct property *prop)
>  		(yaml_char_t *)YAML_SEQ_TAG, 1, YAML_FLOW_SEQUENCE_STYLE);
>  	yaml_emitter_emit_or_die(emitter, &event);
>  
> -	/* Ensure we have a type marker before any phandle */
> -	for_each_marker(m) {
> -		int last_offset = 0;
> -		struct marker *type_m;
> -
> -		if (m->type >= TYPE_UINT8)
> -			last_offset = m->offset;
> -
> -		if (!(m->next && m->next->type == REF_PHANDLE &&
> -		      last_offset < m->next->offset))
> -			continue;
> -
> -		type_m = xmalloc(sizeof(*type_m));
> -		type_m->offset = m->next->offset;
> -		type_m->type = TYPE_UINT32;
> -		type_m->ref = NULL;
> -		type_m->next = m->next;
> -		m->next = type_m;
> -	}
> -
> -	m = prop->val.markers;
>  	for_each_marker(m) {
>  		int chunk_len;
>  		char *data = &prop->val.val[m->offset];

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux