The OLPC XO 1.75 laptop is rebooted with a command to the Embedded Controller. The EC driver should be a module, since most people don't need it to be compiled in. The EC driver can't use register_restart_handler() because handlers registered with it are executed in atomic context and the XO 1.75 reboot dance needs to block: the reboot is initiated by poking a GPIO ofter which we need to wait for the EC to initiate a SPI transfer and finish it. Signed-off-by: Lubomir Rintel <lkundrak@xxxxx> --- Changes since v4: - Clarify why we need this arch/arm/kernel/reboot.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/kernel/reboot.c b/arch/arm/kernel/reboot.c index 3b2aa9a9fe26..71016cf19b86 100644 --- a/arch/arm/kernel/reboot.c +++ b/arch/arm/kernel/reboot.c @@ -22,6 +22,7 @@ typedef void (*phys_reset_t)(unsigned long, bool); * Function pointers to optional machine specific functions */ void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd); +EXPORT_SYMBOL_GPL(arm_pm_restart); void (*pm_power_off)(void); EXPORT_SYMBOL(pm_power_off); -- 2.20.1