From ccb52bd72ca5caf9c78d7895dcb11bf489308c4d Mon Sep 17 00:00:00 2001 From: Rob Purchase Date: Sat, 25 Jul 2009 18:23:06 +0000 Subject: [PATCH] Make the panic and UIE handlers turn on the backlight (needed for various colour LCDs that are unreadable without it). UIE is only changed on ARM for now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22034 a1c6a512-1295-4272-9138-f99709370657 --- firmware/panic.c | 8 ++++++++ firmware/target/arm/system-arm.c | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/firmware/panic.c b/firmware/panic.c index 0223dc1494..66b9e4d7eb 100644 --- a/firmware/panic.c +++ b/firmware/panic.c @@ -30,6 +30,9 @@ #include "led.h" #include "power.h" #include "system.h" +#ifdef HAVE_BACKLIGHT +#include "backlight-target.h" +#endif static char panic_buf[128]; #define LINECHARS (LCD_WIDTH/SYSFONT_WIDTH) @@ -75,9 +78,14 @@ void panicf( const char *fmt, ...) #else /* no LCD */ #endif + lcd_update(); DEBUGF("%s", panic_buf); +#ifdef HAVE_BACKLIGHT + _backlight_on(); +#endif + set_cpu_frequency(0); #ifdef HAVE_ATA_POWER_OFF diff --git a/firmware/target/arm/system-arm.c b/firmware/target/arm/system-arm.c index 5c5a18c867..7d38b17979 100644 --- a/firmware/target/arm/system-arm.c +++ b/firmware/target/arm/system-arm.c @@ -23,6 +23,9 @@ #include #include "lcd.h" #include "font.h" +#ifdef HAVE_BACKLIGHT +#include "backlight-target.h" +#endif static const char* const uiename[] = { "Undefined instruction", @@ -48,6 +51,10 @@ void __attribute__((noreturn)) UIE(unsigned int pc, unsigned int num) lcd_puts(0, 1, str); lcd_update(); +#ifdef HAVE_BACKLIGHT + _backlight_on(); +#endif + disable_interrupt(IRQ_FIQ_STATUS); system_exception_wait(); /* If this returns, try to reboot */