All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@kernel.org>
To: Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>
Cc: linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
	patches@lists.linux.dev, kunit-dev@googlegroups.com,
	linux-kselftest@vger.kernel.org, devicetree@vger.kernel.org,
	Brendan Higgins <brendan.higgins@linux.dev>,
	David Gow <davidgow@google.com>, Rae Moar <rmoar@google.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Rafael J . Wysocki <rafael@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Saravana Kannan <saravanak@google.com>,
	Daniel Latypov <dlatypov@google.com>,
	Christian Marangi <ansuelsmth@gmail.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Maxime Ripard <maxime@cerno.tech>,
	Geert Uytterhoeven <geert+renesas@glider.be>
Subject: Re: [PATCH v8 2/8] of: Add test managed wrappers for of_overlay_apply()/of_node_put()
Date: Mon, 29 Jul 2024 15:37:14 -0700	[thread overview]
Message-ID: <488b3f944bb892bee74e3d8aae8400e1.sboyd@kernel.org> (raw)
In-Reply-To: <20240718210513.3801024-3-sboyd@kernel.org>

Quoting Stephen Boyd (2024-07-18 14:05:01)
> Add test managed wrappers for of_overlay_apply() that automatically
> removes the overlay when the test is finished. This API is intended for
> use by KUnit tests that test code which relies on 'struct device_node's
> and of_*() APIs.
> 
> KUnit tests will call of_overlay_apply_kunit() to load an overlay that's
> been built into the kernel image. When the test is complete, the overlay
> will be removed.
> 
> This has a few benefits:
> 
>  1) It keeps the tests hermetic because the overlay is removed when the
>     test is complete. Tests won't even be aware that an overlay was
>     loaded in another test.
> 
>  2) The overlay code can live right next to the unit test that loads it.
>     The overlay and the unit test can be compiled into one kernel module
>     if desired.
> 
>  3) We can test different device tree configurations by loading
>     different overlays. The overlays can be written for a specific test,
>     and there can be many of them loaded per-test without needing to jam
>     all possible combinations into one DTB.
> 
>  4) It also allows KUnit to test device tree dependent code on any
>     architecture, not just UML. This allows KUnit tests to test
>     architecture specific device tree code.
> 
> There are some potential pitfalls though. Test authors need to be
> careful to not overwrite properties in the live tree. The easiest way to
> do this is to add and remove nodes with a 'kunit-' prefix, almost
> guaranteeing that the same node won't be present in the tree loaded at
> boot.
> 
> Suggested-by: Rob Herring <robh@kernel.org>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Saravana Kannan <saravanak@google.com>
> Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
> Reviewed-by: David Gow <davidgow@google.com>
> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
> ---

Applied to clk-next

  reply	other threads:[~2024-07-29 22:37 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-18 21:04 [PATCH v8 0/8] clk: Add kunit tests for fixed rate and parent data Stephen Boyd
2024-07-18 21:05 ` [PATCH v8 1/8] of/platform: Allow overlays to create platform devices from the root node Stephen Boyd
2024-07-29 22:37   ` Stephen Boyd
2024-07-18 21:05 ` [PATCH v8 2/8] of: Add test managed wrappers for of_overlay_apply()/of_node_put() Stephen Boyd
2024-07-29 22:37   ` Stephen Boyd [this message]
2024-07-18 21:05 ` [PATCH v8 3/8] dt-bindings: vendor-prefixes: Add "test" vendor for KUnit and friends Stephen Boyd
2024-07-29 22:37   ` Stephen Boyd
2024-07-18 21:05 ` [PATCH v8 4/8] of: Add a KUnit test for overlays and test managed APIs Stephen Boyd
2024-07-29 22:37   ` Stephen Boyd
2024-07-18 21:05 ` [PATCH v8 5/8] platform: Add test managed platform_device/driver APIs Stephen Boyd
2024-07-29 22:37   ` Stephen Boyd
2024-09-24  2:33   ` Guenter Roeck
2024-07-18 21:05 ` [PATCH v8 6/8] clk: Add test managed clk provider/consumer APIs Stephen Boyd
2024-07-29 22:37   ` Stephen Boyd
2024-07-18 21:05 ` [PATCH v8 7/8] clk: Add KUnit tests for clk fixed rate basic type Stephen Boyd
2024-07-29 22:37   ` Stephen Boyd
2024-07-18 21:05 ` [PATCH v8 8/8] clk: Add KUnit tests for clks registered with struct clk_parent_data Stephen Boyd
2024-07-29 22:38   ` Stephen Boyd
2024-09-27  4:14   ` Guenter Roeck
2024-09-27  4:39     ` Guenter Roeck
2024-09-27 16:19       ` Guenter Roeck
2024-09-27 20:45         ` Shuah Khan
2024-09-28  0:08           ` Guenter Roeck
2024-09-28 17:31             ` Guenter Roeck
2024-09-28 17:54               ` Shuah Khan
2024-09-28 19:27                 ` Shuah Khan
2024-09-28 21:32                   ` Guenter Roeck
2024-10-03 23:46                     ` Stephen Boyd
2024-10-04  0:25                       ` Guenter Roeck
2024-10-04  0:42                         ` Stephen Boyd
2024-10-04  4:52                           ` Guenter Roeck
2024-10-08 23:12                             ` Stephen Boyd
2024-10-08 23:27                               ` Guenter Roeck
2024-10-09 19:07                                 ` Stephen Boyd

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=488b3f944bb892bee74e3d8aae8400e1.sboyd@kernel.org \
    --to=sboyd@kernel.org \
    --cc=ansuelsmth@gmail.com \
    --cc=brendan.higgins@linux.dev \
    --cc=conor+dt@kernel.org \
    --cc=davidgow@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dlatypov@google.com \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kunit-dev@googlegroups.com \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=maxime@cerno.tech \
    --cc=mturquette@baylibre.com \
    --cc=patches@lists.linux.dev \
    --cc=rafael@kernel.org \
    --cc=rmoar@google.com \
    --cc=robh@kernel.org \
    --cc=saravanak@google.com \
    /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.