Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa1e8ec1 authored by Catalin Marinas's avatar Catalin Marinas
Browse files

arm64: vexpress: Add support for poweroff/restart



This patch adds the arm_pm_poweroff definition expected by the
vexpress-poweroff.c driver and enables the latter for arm64.

Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Acked-by: default avatarPawel Moll <pawel.moll@arm.com>
parent c4188edc
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -32,6 +32,8 @@ config ARM64
	select OF
	select OF
	select OF_EARLY_FLATTREE
	select OF_EARLY_FLATTREE
	select PERF_USE_VMALLOC
	select PERF_USE_VMALLOC
	select POWER_RESET
	select POWER_SUPPLY
	select RTC_LIB
	select RTC_LIB
	select SPARSE_IRQ
	select SPARSE_IRQ
	select SYSCTL_EXCEPTION_TRACE
	select SYSCTL_EXCEPTION_TRACE
@@ -106,6 +108,7 @@ config ARCH_VEXPRESS
	bool "ARMv8 software model (Versatile Express)"
	bool "ARMv8 software model (Versatile Express)"
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_REQUIRE_GPIOLIB
	select COMMON_CLK_VERSATILE
	select COMMON_CLK_VERSATILE
	select POWER_RESET_VEXPRESS
	select VEXPRESS_CONFIG
	select VEXPRESS_CONFIG
	help
	help
	  This enables support for the ARMv8 software model (Versatile
	  This enables support for the ARMv8 software model (Versatile
+1 −1
Original line number Original line Diff line number Diff line
@@ -41,7 +41,7 @@ extern void show_pte(struct mm_struct *mm, unsigned long addr);
extern void __show_regs(struct pt_regs *);
extern void __show_regs(struct pt_regs *);


void soft_restart(unsigned long);
void soft_restart(unsigned long);
extern void (*pm_restart)(const char *cmd);
extern void (*arm_pm_restart)(char str, const char *cmd);


#define UDBG_UNDEFINED	(1 << 0)
#define UDBG_UNDEFINED	(1 << 0)
#define UDBG_SYSCALL	(1 << 1)
#define UDBG_SYSCALL	(1 << 1)
+4 −4
Original line number Original line Diff line number Diff line
@@ -81,8 +81,8 @@ void soft_restart(unsigned long addr)
void (*pm_power_off)(void);
void (*pm_power_off)(void);
EXPORT_SYMBOL_GPL(pm_power_off);
EXPORT_SYMBOL_GPL(pm_power_off);


void (*pm_restart)(const char *cmd);
void (*arm_pm_restart)(char str, const char *cmd);
EXPORT_SYMBOL_GPL(pm_restart);
EXPORT_SYMBOL_GPL(arm_pm_restart);




/*
/*
@@ -164,8 +164,8 @@ void machine_restart(char *cmd)
	local_fiq_disable();
	local_fiq_disable();


	/* Now call the architecture specific reboot code. */
	/* Now call the architecture specific reboot code. */
	if (pm_restart)
	if (arm_pm_restart)
		pm_restart(cmd);
		arm_pm_restart('h', cmd);


	/*
	/*
	 * Whoops - the architecture was unable to reboot.
	 * Whoops - the architecture was unable to reboot.