All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julia Lawall <julia.lawall-L2FTfq7BK8M@public.gmane.org>
To: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
Cc: devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 2/5] annotations: Add position information to various calls
Date: Thu, 11 Jan 2018 16:21:44 +0100 (CET)	[thread overview]
Message-ID: <alpine.DEB.2.20.1801111614420.3390@hadrien> (raw)
In-Reply-To: <20180109111614.GL2131-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>

> > +	old_node->srcpos = srcpos_copy_all(new_node_begin_srcpos);
>
> This doesn't seem right.  Replacing the old position with the new
> makes sense for indivudal properties where the whole value is also
> replaced.  But for nodes we really need to track both locations.
>
> I think the extra complexity here is why I didn't add this tracking
> earlier.

I have the following example:

/dts-v1/;

/ {
        #address-cells = < 1 >;
        #size-cells = < 1 >;

        tree_1: soc@0 {
        	reg = <0x0 0x0>;
        };

        foo: foo_node {
                prop_1: added-prop = <0x99>;
        };

        bar_node {
                added-prop = <0x77>;
        };

};

/include/ "test_b1.dts"
/include/ "test_c1.dts"

-------------------

Then test_b1.dts and test_c1.dts are both /include/ "test_d.dts".  And
test_d.dts is:

/ {
        foo_node {
                added-prop = <0x1 0x2 0x3>;
        };

        foo_node {
                added-prop = <0x1 0x2 0x3>;
        };

        bar: bar_node {
                added-prop = <0x5>;
        };
};

----------

The point of the example is that via the includes there are tw ways to
reach test_d.dts.

Accordingly, by accumulating a list of positions in merge_nodes, I end up with:

/dts-v1/;

/ { /* tests/test_d.dts:1, tests/test_d.dts:1, tests/test_a.dts:10 */
	#address-cells = <0x1>; /* tests/test_a.dts:11 */
	#size-cells = <0x1>; /* tests/test_a.dts:12 */

	tree_1: soc@0 { /* tests/test_a.dts:14 */
		reg = <0x0 0x0>; /* tests/test_a.dts:15 */
	}; /* tests/test_a.dts:16 */

	foo: foo_node { /* tests/test_d.dts:6, tests/test_d.dts:2, tests/test_d.dts:6, tests/test_d.dts:2, tests/test_a.dts:18 */
		prop_1: added-prop = <0x1 0x2 0x3>; /* tests/test_d.dts:7 */
	}; /* tests/test_d.dts:8, tests/test_d.dts:4, tests/test_d.dts:8, tests/test_d.dts:4, tests/test_a.dts:20 */

	bar: bar_node { /* tests/test_d.dts:10, tests/test_d.dts:10, tests/test_a.dts:22 */
		added-prop = <0x5>; /* tests/test_d.dts:11 */
	}; /* tests/test_d.dts:12, tests/test_d.dts:12, tests/test_a.dts:24 */
}; /* tests/test_d.dts:13, tests/test_d.dts:13, tests/test_a.dts:26 */

--------

For example, in the last line, we see tests/test_d.dts:13 twice, because it
is merged in twice.  Is this what is wanted?  Should it be there only once?
Should there be some indication on how tests/test_d.dts:13 is reached?
This is a fake example, but I saw some examples with duplicated positions
in the Linux kernel code.

julia

  parent reply	other threads:[~2018-01-11 15:21 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-08 13:36 [PATCH 0/5] annotations Julia Lawall
     [not found] ` <1515418607-26764-1-git-send-email-Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
2018-01-08 13:36   ` [PATCH 1/5] annotations: Check for NULL pos Julia Lawall
     [not found]     ` <1515418607-26764-2-git-send-email-Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
2018-01-09 10:04       ` David Gibson
     [not found]         ` <20180109100400.GK2131-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2018-01-09 10:32           ` Julia Lawall
2018-01-10  6:08       ` Frank Rowand
     [not found]         ` <d7cae26a-a92f-6a39-61ca-05fee9509722-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-10  6:29           ` Julia Lawall
2018-01-08 13:36   ` [PATCH 2/5] annotations: Add position information to various calls Julia Lawall
     [not found]     ` <1515418607-26764-3-git-send-email-Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
2018-01-08 22:29       ` Rob Herring
     [not found]         ` <CAL_JsqKaXY+K9LKH1qL1i-OhTjX1Kqvb6F3FJywwrPNZzLCz4A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-09  0:58           ` Frank Rowand
2018-01-09  6:16           ` Julia Lawall
2018-01-09 14:19             ` Rob Herring
2018-01-09 11:16       ` David Gibson
     [not found]         ` <20180109111614.GL2131-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2018-01-09 12:27           ` Julia Lawall
2018-01-10  5:32             ` David Gibson
     [not found]               ` <20180110053255.GE19773-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2018-01-10  6:26                 ` Julia Lawall
2018-01-10  6:34           ` Julia Lawall
2018-01-11 15:21           ` Julia Lawall [this message]
2018-01-15  7:36             ` David Gibson
     [not found]               ` <20180115073609.GA26066-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2018-01-15  9:28                 ` Julia Lawall
2018-01-16  8:33                   ` David Gibson
     [not found]                     ` <20180116083334.GI30352-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2018-01-16  8:37                       ` Julia Lawall
2018-01-10  6:25       ` Frank Rowand
     [not found]         ` <a0d1314a-8c1f-e553-dacc-62274c6b4cca-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-10  6:29           ` Frank Rowand
     [not found]             ` <bd068783-e34a-293c-ff03-d6dd37bff219-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-10  6:31               ` Julia Lawall
2018-01-10  6:30           ` Julia Lawall
2018-01-08 13:36   ` [PATCH 3/5] annotations: short annotations Julia Lawall
     [not found]     ` <1515418607-26764-4-git-send-email-Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
2018-01-09 11:21       ` David Gibson
     [not found]         ` <20180109112130.GM2131-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2018-01-09 21:01           ` Frank Rowand
2018-01-08 13:36   ` [PATCH 4/5] annotations: shorten file names Julia Lawall
     [not found]     ` <1515418607-26764-5-git-send-email-Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
2018-01-10  5:44       ` David Gibson
     [not found]         ` <20180110054410.GF19773-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2018-01-10  6:28           ` Julia Lawall
2018-01-08 13:36   ` [PATCH 5/5] annotations: add --annotate-full option Julia Lawall
     [not found]     ` <1515418607-26764-6-git-send-email-Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
2018-01-10  6:32       ` Frank Rowand
     [not found]         ` <e249131c-5a60-f17c-a0ad-3a9aa3db8570-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-01-10  6:36           ` Julia Lawall
2018-01-10  8:50       ` David Gibson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.20.1801111614420.3390@hadrien \
    --to=julia.lawall-l2ftfq7bk8m@public.gmane.org \
    --cc=david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org \
    --cc=devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.