sysctl: add boot_reason and cold_boot sysctl entries for arm64

Define boot_reason and cold_boot variables in the arm64 version
of setup.c so that arm64 targets can export the boot_reason and
cold_boot sysctl entries.

This feature is required by the qpnp-power-on driver.

Change-Id: Id2d4ff5b8caa2e6a35d4ac61e338963d602c8b84
Signed-off-by: David Collins <collinsd@codeaurora.org>
This commit is contained in:
David Collins 2014-01-10 14:11:24 -08:00
parent ee67650037
commit de98b0ac25
4 changed files with 14 additions and 5 deletions
Documentation/sysctl
arch/arm64
include/asm
kernel
kernel

View file

@ -23,10 +23,10 @@ show up in /proc/sys/kernel:
- auto_msgmni
- bootloader_type [ X86 only ]
- bootloader_version [ X86 only ]
- boot_reason [ ARM only ]
- boot_reason [ ARM and ARM64 only ]
- callhome [ S390 only ]
- cap_last_cap
- cold_boot [ ARM only ]
- cold_boot [ ARM and ARM64 only ]
- core_pattern
- core_pipe_limit
- core_uses_pid
@ -172,7 +172,7 @@ Documentation/x86/boot.txt for additional information.
boot_reason:
ARM -- reason for device boot
ARM and ARM64 -- reason for device boot
A single bit will be set in the unsigned integer value to identify the
reason the device was booted / powered on. The value will be zero if this
@ -208,7 +208,7 @@ CAP_LAST_CAP from the kernel.
cold_boot
ARM -- indicator for system cold boot
ARM and ARM64 -- indicator for system cold boot
A single bit will be set in the unsigned integer value to identify
whether the device was booted from a cold or warm state. Zero

View file

@ -76,6 +76,9 @@
extern phys_addr_t arm64_dma_phys_limit;
#define ARCH_LOW_ADDRESS_LIMIT (arm64_dma_phys_limit - 1)
extern unsigned int boot_reason;
extern unsigned int cold_boot;
struct debug_info {
#ifdef CONFIG_HAVE_HW_BREAKPOINT
/* Have we suspended stepping by a debugger? */

View file

@ -69,6 +69,12 @@ static struct resource *standard_resources;
phys_addr_t __fdt_pointer __initdata;
unsigned int boot_reason;
EXPORT_SYMBOL(boot_reason);
unsigned int cold_boot;
EXPORT_SYMBOL(cold_boot);
/*
* Standard memory resources
*/

View file

@ -1234,7 +1234,7 @@ static struct ctl_table kern_table[] = {
.extra2 = &one,
},
#endif
#ifdef CONFIG_ARM
#if defined(CONFIG_ARM) || defined(CONFIG_ARM64)
{
.procname = "boot_reason",
.data = &boot_reason,