Re: [PATCH v6 12/36] nds32: Process management

From: Arnd Bergmann
Date: Thu Jan 18 2018 - 05:22:23 EST


On Mon, Jan 15, 2018 at 6:53 AM, Greentime Hu <green.hu@xxxxxxxxx> wrote:

> +void machine_restart(char *__unused)
> +{
> + /*
> + * Clean and disable cache, and turn off interrupts
> + */
> + cpu_proc_fin();
> +
> + /*
> + * Tell the mm system that we are going to reboot -
> + * we may need it to insert some 1:1 mappings so that
> + * soft boot works.
> + */
> + setup_mm_for_reboot(reboot_mode);
> +
> + /*
> + * Now call the architecture specific reboot code.
> + */
> + arch_reset(reboot_mode);
> +
> + /*
> + * Whoops - the architecture was unable to reboot.
> + * Tell the user!
> + */
> + mdelay(1000);
> + pr_info("Reboot failed -- System halted\n");
> + while (1) ;
> +}

You should insert a call to do_kernel_restart() in this function to allow e.g. a
watchdog driver to provide a machine-specific reboot method. Otherwise
the patch looks good to me,

Acked-by: Arnd Bergmann <arnd@xxxxxxxx>