From f66212923fd6424f06c274184ad6eb2e67f45d2f Mon Sep 17 00:00:00 2001 From: Andy Green Date: Wed, 19 Nov 2008 17:09:51 +0000 Subject: 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 --- arch/arm/mach-s3c2440/mach-gta02.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'arch/arm') 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 */ -- cgit v1.2.3