From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Goldschmidt Date: Wed, 9 Oct 2019 20:13:04 +0200 Subject: [U-Boot] [PATCH] cmd: reset: add parameters to specify reboot_mode In-Reply-To: References: <20190503202523.23423-1-simon.k.r.goldschmidt@gmail.com> <9e795bd9-1751-ef42-95d9-72b778937926@denx.de> <7dd01995-78aa-9958-fd08-7377510eea53@gmail.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Am 02.08.2019 um 16:41 schrieb Simon Glass: > Hi SImon, > > On Thu, 1 Aug 2019 at 23:53, Simon Goldschmidt > wrote: >> >> On Fri, Aug 2, 2019 at 12:45 AM Simon Glass wrote: >>> >>> Hi Simon, >>> >>> On Mon, 29 Jul 2019 at 04:47, Simon Goldschmidt >>> wrote: >>>> >>>> Simon, >>>> >>>> On Wed, Jul 10, 2019 at 8:50 PM Simon Goldschmidt >>>> wrote: >>>>> >>>>> Simon, >>>>> >>>>> I know I've slept for a while before retriggering this, but... >>>>> >>>>> Am 04.05.2019 um 20:23 schrieb Simon Goldschmidt: >>>>>> Am 03.05.2019 um 23:10 schrieb Simon Glass: >>>>>>> Hi Simon, >>>>>>> >>>>>>> On Fri, 3 May 2019 at 14:43, Marek Vasut wrote: >>>>>>>> >>>>>>>> On 5/3/19 10:40 PM, Simon Goldschmidt wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> On 03.05.19 22:37, Marek Vasut wrote: >>>>>>>>>> On 5/3/19 10:33 PM, Simon Goldschmidt wrote: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 03.05.19 22:27, Marek Vasut wrote: >>>>>>>>>>>> On 5/3/19 10:25 PM, Simon Goldschmidt wrote: >>>>>>>>>>>>> This patch adds parameter support for the 'reset' command to specify >>>>>>>>>>>>> the reboot mode (cold vs. warm). >>>>>>>>>>>>> >>>>>>>>>>>>> Checking these parameters is implemented in the DM implementation. >>>>>>>>>>>>> >>>>>>>>>>>>> Signed-off-by: Simon Goldschmidt >>>>>>>>>>>>> --- >>>>>>>>>>>>> >>>>>>>>>>>>> cmd/boot.c | 4 ++-- >>>>>>>>>>>>> drivers/sysreset/sysreset-uclass.c | 17 ++++++++++++++++- >>>>>>>>>>>>> 2 files changed, 18 insertions(+), 3 deletions(-) >>>>>>>>>>>>> >>>>>>>>>>>>> diff --git a/cmd/boot.c b/cmd/boot.c >>>>>>>>>>>>> index 9150fce80b..c3f33a9ca3 100644 >>>>>>>>>>>>> --- a/cmd/boot.c >>>>>>>>>>>>> +++ b/cmd/boot.c >>>>>>>>>>>>> @@ -56,9 +56,9 @@ U_BOOT_CMD( >>>>>>>>>>>>> #endif >>>>>>>>>>>>> U_BOOT_CMD( >>>>>>>>>>>>> - reset, 1, 0, do_reset, >>>>>>>>>>>>> + reset, 2, 0, do_reset, >>>>>>>>>>>>> "Perform RESET of the CPU", >>>>>>>>>>>>> - "" >>>>>>>>>>>>> + "[] - type of reboot" >>>>>>>>>>>>> ); >>>>>>>>>>>>> #ifdef CONFIG_CMD_POWEROFF >>>>>>>>>>>>> diff --git a/drivers/sysreset/sysreset-uclass.c >>>>>>>>>>>>> b/drivers/sysreset/sysreset-uclass.c >>>>>>>>>>>>> index ad831c703a..fbda3f44f2 100644 >>>>>>>>>>>>> --- a/drivers/sysreset/sysreset-uclass.c >>>>>>>>>>>>> +++ b/drivers/sysreset/sysreset-uclass.c >>>>>>>>>>>>> @@ -111,9 +111,24 @@ void reset_cpu(ulong addr) >>>>>>>>>>>>> int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const >>>>>>>>>>>>> argv[]) >>>>>>>>>>>>> { >>>>>>>>>>>>> + enum sysreset_t reboot_mode = SYSRESET_COLD; >>>>>>>>>>>>> + >>>>>>>>>>>>> + if (argc > 1 && argv[1]) { >>>>>>>>>>>>> + switch (*argv[1]) { >>>>>>>>>>>>> + case 'w': >>>>>>>>>>>>> + reboot_mode = SYSRESET_WARM; >>>>>>>>>>>>> + printf("warm "); >>>>>>>>>>>>> + break; >>>>>>>>>>>>> + case 'c': >>>>>>>>>>>>> + reboot_mode = SYSRESET_COLD; >>>>>>>>>>>>> + printf("cold "); >>>>>>>>>>>>> + break; >>>>>>> >>>>>>> Please can we have a pytest for this command? >>>>>> >>>>>> There's 'test_sandbox_exit.py' that seems to test that the "reset" >>>>>> command exits sandbox process. How would I test differing between "warm" >>>>>> and "cold" exit? >>>>> >>>>> If this request for a test is what remains, can you please elaborate on >>>>> what I should write to get this accepted? >>>> >>>> Sorry, but I can't implement a test without you telling me what kind >>>> of test you mean. >>>> >>>> I'll be sending v2 (that removes the extra printf's from above) without >>>> such a test and hope it can still be accepted. >>> >>> Well we have test_unknown_cmd.py for example, and test_pinmux.py, >>> which you could use as examples, just to check that the command works >>> and provides the right output. >> >> The tests are run in sandbox, right? And my understanding was that the reset >> command makes sandbox exit. That's why I asked this question: I just don'tests >> know if/how I can write a test when the command under test exits sandbox. > > The sandbox sysreset driver has a way to avoid exiting. But even if > you do have it set to exit, that should be OK for the test. I'll drop this one, as it's not required any more. Regards, Simon