#include <common.h>
#include <command.h>
-#if (CONFIG_COMMANDS & CFG_CMD_MISC)
-
int do_sleep (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
+ ulong start = get_timer(0);
ulong delay;
if (argc != 2) {
- printf ("Usage:\n%s\n", cmdtp->usage);
+ cmd_usage(cmdtp);
return 1;
}
- delay = simple_strtoul(argv[1], NULL, 10);
+ delay = simple_strtoul(argv[1], NULL, 10) * CONFIG_SYS_HZ;
- while (delay) {
- int i;
- for (i=0; i<1000; ++i) {
- if (ctrlc ()) {
- return (-1);
- }
- udelay (1000);
+ while (get_timer(start) < delay) {
+ if (ctrlc ()) {
+ return (-1);
}
- --delay;
+ udelay (100);
}
+
return 0;
}
+
/* Implemented in $(CPU)/interrupts.c */
-#if (CONFIG_COMMANDS & CFG_CMD_IRQ)
+#if defined(CONFIG_CMD_IRQ)
int do_irqinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-cmd_tbl_t U_BOOT_CMD(IRQINFO) = MK_CMD_ENTRY(
- "irqinfo", 1, 1, do_irqinfo,
- "irqinfo - print information about IRQs\n",
- NULL
+U_BOOT_CMD(
+ irqinfo, 1, 1, do_irqinfo,
+ "print information about IRQs",
+ ""
);
-#endif /* CONFIG_COMMANDS & CFG_CMD_IRQ */
+#endif
-cmd_tbl_t U_BOOT_CMD(MISC) = MK_CMD_ENTRY(
- "sleep" , 2, 2, do_sleep,
- "sleep - delay execution for some time\n",
+U_BOOT_CMD(
+ sleep , 2, 1, do_sleep,
+ "delay execution for some time",
"N\n"
- " - delay execution for N seconds (N is _decimal_ !!!)\n"
+ " - delay execution for N seconds (N is _decimal_ !!!)"
);
-
-#endif /* CFG_CMD_MISC */