linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Frank Rowand <frowand.list@gmail.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>,
	pantelis.antoniou@konsulko.com, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Bill Mills <bill.mills@linaro.org>,
	anmar.oueja@linaro.org, Masahiro Yamada <masahiroy@kernel.org>,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [PATCH] of: unittest: Statically apply overlays using fdtoverlay
Date: Wed, 20 Jan 2021 23:00:17 -0600	[thread overview]
Message-ID: <95cfc497-3d12-fd46-6e42-2a77612236ea@gmail.com> (raw)
In-Reply-To: <20210120050606.b2m4jssh73wexybx@vireshk-i7>


+David

so I don't have to repeat this in another thread

On 1/19/21 11:06 PM, Viresh Kumar wrote:
> On 19-01-21, 09:44, Frank Rowand wrote:
>> No.  overlay_base.dts is intentionally compiled into a base FDT, not
>> an overlay.  Unittest intentionally unflattens this FDT in early boot,
>> in association with unflattening the system FDT.  One key intent
>> behind this is to use the same memory allocation method that is
>> used for the system FDT.
>>
>> Do not try to convert overlay_base.dts into an overlay.
> 
> Okay, but why does it have /plugin/; specified in it then ?

OK, so I sortof lied about overlay_base.dts not being an overlay.  It is
a Frankenstein monster or a Schrodinger's dts/dtb.  It is not a normal
object.  Nobody who is not looking at how it is abused inside unittest.c
should be trying to touch it or understand it.

unittest.c first unflattens overlay_base.dtb during early boot.  Then later
it does some phandle resolution using the overlay metadata from overlay_base.
Then it removes the overlay metadata from the in kernel devicetree data
structure.  It is a hack, it is ugly, but it enables some overlay unit
tests.

Quit trying to change overlay_base.dts.

In my suggested changes to the base patch I put overlay_base.dtb in the
list of overlays for fdtoverlay to apply (apply_static_overlay in the
Makefile) because overlay_base.dts is compiled as an overlay into
overlay_base.dtb and it can be applied on top of the base tree
testcases.dtb.  This gives a little bit more testcase data for
fdtoverlay from an existing dtb.

If you keep trying to change overlay_base.dts I will just tell you
to remove overlay_base.dtb from apply_static_overlay, and then the
test coverage will become smaller.  I do not see that as a good change.

If you want more extensive testing of fdtoverlay, then create your
own specific test cases from scratch and submit patches for them
to the kernel or to the dtc compiler project.

> 
> And shouldn't we create two separate dtb-s now, static_test.dtb and
> static_overlay_test.dtb ? As fdtoverlay will not be able to merge it with
> testcase.dtb anyway.
> 
> Or maybe we can create another file static_overlay.dts (like testcases.dts)
> which can include both testcases.dts and overlay_base.dts, and then we can
> create static_test.dtb out of it ? That won't impact the runtime tests at all.
> 

Stop trying to use all of the unittest .dts test data files.  It is convenient
that so many of them can be used in their current form.  That is goodness
and nice leveraging.  Just ignore the .dts test data files that are not
easily consumed by fdtoverlay.

The email threads around the various versions of this patch series show how
normal devicetree knowledgeable people look at the contents of some of the
.dts test data files and think that they are incorrect.  That is because
the way that unittest uses them is not normal.  Trying to modify one or two
of the many unittest .dts test data files so that they are usable by both
the static fdtoverlay and the run time unittest is not worth it.

-Frank

  parent reply	other threads:[~2021-01-21  5:13 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-07  5:15 [PATCH V2 1/2] scripts: dtc: Add fdtoverlay.c and fdtdump.c to DTC_SOURCE Viresh Kumar
2021-01-07  5:15 ` [PATCH V2 2/2] scripts: dtc: Build fdtoverlay and fdtdump tools Viresh Kumar
2021-01-07  5:45   ` Masahiro Yamada
2021-01-07  6:25     ` [PATCH V3 " Viresh Kumar
2021-01-12  0:44       ` Frank Rowand
2021-01-12  5:08         ` Viresh Kumar
2021-01-12 18:34           ` Frank Rowand
2021-01-13  4:55             ` Viresh Kumar
2021-01-12  0:55       ` Frank Rowand
2021-01-12  4:48         ` Viresh Kumar
2021-01-19 16:28   ` [PATCH V2 " Frank Rowand
2021-01-19 16:34     ` Frank Rowand
2021-01-08  8:41 ` [PATCH] of: unittest: Statically apply overlays using fdtoverlay Viresh Kumar
2021-01-11 15:46   ` Rob Herring
2021-01-11 22:09     ` Frank Rowand
2021-01-14  5:03     ` Viresh Kumar
2021-01-14 15:01       ` Rob Herring
2021-01-15  5:44         ` Viresh Kumar
2021-01-18  3:54           ` Frank Rowand
2021-01-19  2:30             ` Frank Rowand
2021-01-18  6:30           ` David Gibson
2021-01-19  2:29             ` Frank Rowand
2021-01-11 22:06   ` Frank Rowand
2021-01-12  1:22     ` Bill Mills
2021-01-12  8:37       ` Viresh Kumar
2021-01-12 10:16         ` Bill Mills
2021-01-12 18:17           ` Frank Rowand
2021-01-12 14:04     ` Rob Herring
2021-01-12 19:06       ` Frank Rowand
2021-01-12 19:41         ` Rob Herring
2021-01-12 20:05           ` Frank Rowand
2021-01-12 20:46             ` Rob Herring
2021-01-13  2:20               ` Frank Rowand
2021-01-13 15:05                 ` Rob Herring
2021-01-13 17:21                   ` Frank Rowand
2021-01-14  5:00   ` Viresh Kumar
2021-01-19  2:25     ` Frank Rowand
2021-01-19  2:21   ` frowand.list
2021-01-19  8:05     ` Viresh Kumar
2021-01-19 15:44       ` Frank Rowand
2021-01-20  5:06         ` Viresh Kumar
2021-01-20  6:20           ` Viresh Kumar
2021-01-21  5:00           ` Frank Rowand [this message]
2021-01-21  5:09             ` Viresh Kumar
2021-01-21  6:41             ` David Gibson
2021-01-11 22:13 ` [PATCH V2 1/2] scripts: dtc: Add fdtoverlay.c and fdtdump.c to DTC_SOURCE Frank Rowand
2021-01-12  4:45   ` Viresh Kumar
2021-01-19 16:21 ` Frank Rowand
2021-01-19 16:31   ` Frank Rowand

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=95cfc497-3d12-fd46-6e42-2a77612236ea@gmail.com \
    --to=frowand.list@gmail.com \
    --cc=anmar.oueja@linaro.org \
    --cc=bill.mills@linaro.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=pantelis.antoniou@konsulko.com \
    --cc=robh+dt@kernel.org \
    --cc=vincent.guittot@linaro.org \
    --cc=viresh.kumar@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).