sandbox: Use the reset driver to handle reset

Move sandbox over to use the reset uclass for reset, instead of a direct
call to do_reset(). This allows us to add tests.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2015-07-06 12:54:29 -06:00
parent b9d33fa06c
commit 5010d98f02
5 changed files with 14 additions and 9 deletions

View File

@ -20,7 +20,7 @@ static struct udevice *map_dev;
unsigned long map_len;
#endif
void reset_cpu(ulong ignored)
void sandbox_exit(void)
{
/* Do this here while it still has an effect */
os_fd_restore();
@ -34,13 +34,6 @@ void reset_cpu(ulong ignored)
os_exit(0);
}
int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
reset_cpu(0);
return 0;
}
/* delay x useconds */
void __udelay(unsigned long usec)
{

View File

@ -196,6 +196,14 @@
};
};
reset@0 {
compatible = "sandbox,warm-reset";
};
reset@1 {
compatible = "sandbox,reset";
};
spi@0 {
#address-cells = <1>;
#size-cells = <0>;

View File

@ -83,4 +83,7 @@ void sandbox_set_enable_pci_map(int enable);
*/
int sandbox_read_fdt_from_file(void);
/* Exit sandbox (quit U-Boot) */
void sandbox_exit(void);
#endif /* _U_BOOT_SANDBOX_H_ */

View File

@ -46,3 +46,4 @@ CONFIG_UT_TIME=y
CONFIG_UT_DM=y
CONFIG_UT_ENV=y
CONFIG_CLK=y
CONFIG_RESET=y

View File

@ -51,7 +51,7 @@ static int sandbox_reset_request(struct udevice *dev, enum reset_t type)
state->last_reset = type;
if (!state->reset_allowed[type])
return -EACCES;
/* TODO: sandbox_exit(); */
sandbox_exit();
break;
default:
return -ENOSYS;