diff options
author | Andy Green <andy@openmoko.com> | 2008-11-19 17:09:51 +0000 |
---|---|---|
committer | Andy Green <agreen@pads.home.warmcat.com> | 2008-11-19 17:09:51 +0000 |
commit | f66212923fd6424f06c274184ad6eb2e67f45d2f (patch) | |
tree | 4a4d1a5e09d6808990655ff25a97425472a61745 /arch | |
parent | 346d97bb678e995790128dc7889259bb21800e5b (diff) |
introduce-panic-blink-led-not-using-userspace-omfg.patch
A panic is silent on GTA02, it would be good if we got a little hint
if we are crashing (eg, in suspend / resume) from a panic instead of
a deadlock, etc. On a normal PC i8042 blinks the keyboard lights if
we panic, this patch causes AUX to flash at 5Hz in event of a panic.
Tested by giving kernel fake root= that didn't exist.
Signed-off-by: Andy Green <andy@openmoko.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-s3c2440/mach-gta02.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c index fd746fd1445..c32bb2a9851 100644 --- a/arch/arm/mach-s3c2440/mach-gta02.c +++ b/arch/arm/mach-s3c2440/mach-gta02.c @@ -328,6 +328,27 @@ FIQ_HANDLER_ENTRY(256, 512) FIQ_HANDLER_END() +/* + * this gets called every 1ms when we paniced. + */ + +static long gta02_panic_blink(long count) +{ + long delay = 0; + static long last_blink; + static char led; + + if (count - last_blink < 100) /* 200ms period, fast blink */ + return 0; + + led ^= 1; + s3c2410_gpio_cfgpin(GTA02_GPIO_AUX_LED, S3C2410_GPIO_OUTPUT); + neo1973_gpb_setpin(GTA02_GPIO_AUX_LED, led); + + last_blink = count; + return delay; +} + /** * returns PCB revision information in b9,b8 and b2,b1,b0 @@ -1476,6 +1497,9 @@ static void __init gta02_machine_init(void) { int rc; + /* set the panic callback to make AUX blink fast */ + panic_blink = gta02_panic_blink; + switch (system_rev) { case GTA02v6_SYSTEM_REV: /* we need push-pull interrupt from motion sensors */ |