summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-03-17 03:36:36 +0000
committerThomas Martitz <kugel@rockbox.org>2009-03-17 03:36:36 +0000
commit4ed387d60313ac79fa7ac8b403bf3195f7c0c549 (patch)
treed5bc4861cbdde61b054d12deed4ffea92af03bd3
parent68f9ef2d575c4d6801730a0a8242227383d682f7 (diff)
downloadrockbox-4ed387d60313ac79fa7ac8b403bf3195f7c0c549.zip
rockbox-4ed387d60313ac79fa7ac8b403bf3195f7c0c549.tar.gz
rockbox-4ed387d60313ac79fa7ac8b403bf3195f7c0c549.tar.bz2
rockbox-4ed387d60313ac79fa7ac8b403bf3195f7c0c549.tar.xz
Fix reds and yellows (hopefully). Some targets apparently didn't properly #ifdef lcd_enable and lcd_sleep code out, so that it got partly active in the bootloader; rename the ui simulator stub fixes most reds; for the clip: move the hook code into lcd-1bit-vert.c which should fix the bootloader red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20333 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/lcd-1bit-vert.c19
-rw-r--r--firmware/export/config-creativezvm.h3
-rw-r--r--firmware/export/config-e200v2.h3
-rw-r--r--firmware/export/config-fuze.h3
-rw-r--r--firmware/target/arm/as3525/sansa-clip/lcd-ssd1303.c16
-rw-r--r--firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c8
-rw-r--r--firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c9
-rw-r--r--firmware/target/arm/ipod/video/lcd-video.c5
-rw-r--r--firmware/target/arm/iriver/h10/lcd-h10_20gb.c16
-rw-r--r--firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c6
-rw-r--r--firmware/target/arm/sandisk/sansa-c200/lcd-c200.c6
-rw-r--r--firmware/target/arm/sandisk/sansa-e200/lcd-e200.c10
-rw-r--r--firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c2
-rw-r--r--firmware/target/coldfire/iaudio/x5/lcd-x5.c14
-rw-r--r--firmware/target/mips/ingenic_jz47xx/lcd-target.h2
-rw-r--r--uisimulator/common/stubs.c2
16 files changed, 78 insertions, 46 deletions
diff --git a/firmware/drivers/lcd-1bit-vert.c b/firmware/drivers/lcd-1bit-vert.c
index f8461e3..b09ce0e 100644
--- a/firmware/drivers/lcd-1bit-vert.c
+++ b/firmware/drivers/lcd-1bit-vert.c
@@ -95,6 +95,25 @@ void LCDFN(init)(void)
#endif
}
+#ifdef MAIN_LCD
+#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
+static void (*lcd_activation_hook)(void) = NULL;
+
+void lcd_activation_set_hook(void (*func)(void))
+{
+ lcd_activation_hook = func;
+}
+
+void lcd_activation_call_hook(void)
+{
+ void (*func)(void) = lcd_activation_hook;
+
+ if (func != NULL)
+ func();
+}
+#endif
+#endif
+
/*** parameter handling ***/
void LCDFN(set_drawmode)(int mode)
diff --git a/firmware/export/config-creativezvm.h b/firmware/export/config-creativezvm.h
index 2e14f74..7374e7d 100644
--- a/firmware/export/config-creativezvm.h
+++ b/firmware/export/config-creativezvm.h
@@ -70,7 +70,8 @@
#define LCD_PIXELFORMAT RGB565 /* rgb565 */
/* Define this if your LCD can be enabled/disabled */
-#define HAVE_LCD_ENABLE
+/* Disabled until properly working
+#define HAVE_LCD_ENABLE */
#define CONFIG_KEYPAD CREATIVEZVM_PAD
#define HAVE_HEADPHONE_DETECTION
diff --git a/firmware/export/config-e200v2.h b/firmware/export/config-e200v2.h
index 5d2fa81..7e6771c 100644
--- a/firmware/export/config-e200v2.h
+++ b/firmware/export/config-e200v2.h
@@ -54,10 +54,11 @@
#define HAVE_LCD_ENABLE
/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
- should be defined as well. */
+ should be defined as well.
#define HAVE_LCD_SLEEP
#define HAVE_LCD_SLEEP_SETTING
#endif
+ */
/* define this if you can flip your LCD */
#define HAVE_LCD_FLIP
diff --git a/firmware/export/config-fuze.h b/firmware/export/config-fuze.h
index c52298f..17a34aa 100644
--- a/firmware/export/config-fuze.h
+++ b/firmware/export/config-fuze.h
@@ -54,10 +54,11 @@
#define HAVE_LCD_ENABLE
/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
- should be defined as well. */
+ should be defined as well.
#define HAVE_LCD_SLEEP
#define HAVE_LCD_SLEEP_SETTING
#endif
+*/
/* define this if you can flip your LCD */
#define HAVE_LCD_FLIP
diff --git a/firmware/target/arm/as3525/sansa-clip/lcd-ssd1303.c b/firmware/target/arm/as3525/sansa-clip/lcd-ssd1303.c
index 640f669..0689779 100644
--- a/firmware/target/arm/as3525/sansa-clip/lcd-ssd1303.c
+++ b/firmware/target/arm/as3525/sansa-clip/lcd-ssd1303.c
@@ -160,22 +160,6 @@ void lcd_set_flip(bool yesno)
}
#ifdef HAVE_LCD_ENABLE
-static void (*lcd_activation_hook)(void) = NULL;
-
-void lcd_activation_set_hook(void (*func)(void))
-{
- lcd_activation_hook = func;
-}
-
-void lcd_activation_call_hook(void)
-{
- void (*func)(void) = lcd_activation_hook;
-
- if (func != NULL)
- func();
-}
-
-
void lcd_enable(bool enable)
{
if(display_on == enable)
diff --git a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c
index 8715622..517aa6a 100644
--- a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c
+++ b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c
@@ -321,6 +321,7 @@ void lcd_init_device(void)
_display_on();
}
+#if defined(HAVE_LCD_ENABLE)
void lcd_enable(bool on)
{
if(display_on!=on)
@@ -337,16 +338,15 @@ void lcd_enable(bool on)
}
}
}
+#endif
+#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
bool lcd_active(void)
{
return display_on;
}
-void lcd_sleep(void)
-{
- /* TODO */
-}
+#endif
/*** update functions ***/
diff --git a/firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c b/firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c
index 5196784..db69c97 100644
--- a/firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c
+++ b/firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c
@@ -185,6 +185,7 @@ static void _display_on(void)
lcd_update();
}
+#if defined(HAVE_LCD_ENABLE)
void lcd_enable(bool on)
{
if (display_on == on)
@@ -217,16 +218,14 @@ void lcd_enable(bool on)
display_on = false;
}
}
+#endif
+#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
bool lcd_active(void)
{
return display_on;
}
-
-void lcd_sleep(void)
-{
- /* TODO */
-}
+#endif
/*** update functions ***/
diff --git a/firmware/target/arm/ipod/video/lcd-video.c b/firmware/target/arm/ipod/video/lcd-video.c
index c0e98cf5..7ce4463 100644
--- a/firmware/target/arm/ipod/video/lcd-video.c
+++ b/firmware/target/arm/ipod/video/lcd-video.c
@@ -597,6 +597,11 @@ void lcd_sleep(void)
mutex_unlock(&lcdstate_lock);
}
+bool lcd_active(void)
+{
+ return lcd_state.display;
+}
+
#ifdef HAVE_LCD_SHUTDOWN
void lcd_shutdown(void)
{
diff --git a/firmware/target/arm/iriver/h10/lcd-h10_20gb.c b/firmware/target/arm/iriver/h10/lcd-h10_20gb.c
index 03a398a..5bc2ebc 100644
--- a/firmware/target/arm/iriver/h10/lcd-h10_20gb.c
+++ b/firmware/target/arm/iriver/h10/lcd-h10_20gb.c
@@ -352,6 +352,7 @@ static void lcd_display_off(void)
lcd_write_reg(R_DISP_CONTROL, 0x0000);
}
+#if defined(HAVE_LCD_ENABLE)
void lcd_enable(bool on)
{
if (on == display_on)
@@ -370,12 +371,9 @@ void lcd_enable(bool on)
lcd_display_off();
}
}
+#endif
-bool lcd_active(void)
-{
- return display_on;
-}
-
+#ifdef HAVE_LCD_SLEEP
void lcd_sleep(void)
{
if (power_on)
@@ -385,6 +383,14 @@ void lcd_sleep(void)
/* BT2-0=000, DC2-0=000, AP2-0=000, SLP=0, STB=1 */
lcd_write_reg(R_POWER_CONTROL1, 0x0001);
}
+#endif
+
+#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
+bool lcd_active(void)
+{
+ return display_on;
+}
+#endif
/*** update functions ***/
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c
index fd52eda..46aac24 100644
--- a/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c
+++ b/firmware/target/arm/s3c2440/gigabeat-fx/lcd-meg-fx.c
@@ -42,10 +42,12 @@ extern struct viewport* current_vp;
extern void lcd_copy_buffer_rect(fb_data *dst, const fb_data *src,
int width, int height);
+#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
bool lcd_active(void)
{
return lcd_on;
}
+#endif
static unsigned int LCDBANK(unsigned int address)
{
@@ -278,6 +280,7 @@ void lcd_init_device(void)
LCD_SPI_init();
}
+#if defined(HAVE_LCD_SLEEP)
void lcd_sleep(void)
{
if (lcd_powered)
@@ -289,7 +292,9 @@ void lcd_sleep(void)
LCD_SPI_powerdown();
}
}
+#endif
+#if defined(HAVE_LCD_ENABLE)
void lcd_enable(bool state)
{
if (state == lcd_on)
@@ -315,6 +320,7 @@ void lcd_enable(bool state)
lcd_on = false;
}
}
+#endif
void lcd_set_flip(bool yesno) {
if (!lcd_on)
diff --git a/firmware/target/arm/sandisk/sansa-c200/lcd-c200.c b/firmware/target/arm/sandisk/sansa-c200/lcd-c200.c
index be730d3..922fb9e 100644
--- a/firmware/target/arm/sandisk/sansa-c200/lcd-c200.c
+++ b/firmware/target/arm/sandisk/sansa-c200/lcd-c200.c
@@ -190,6 +190,7 @@ void lcd_set_invert_display(bool yesno)
(void)yesno;
}
+#if defined(HAVE_LCD_ENABLE)
void lcd_enable(bool yesno)
{
if (yesno == is_lcd_enabled)
@@ -206,11 +207,14 @@ void lcd_enable(bool yesno)
lcd_send_command(R_STANDBY_ON);
}
}
+#endif
-bool lcd_enabled(void)
+#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
+bool lcd_active(void)
{
return is_lcd_enabled;
}
+#endif
/* turn the display upside down (call lcd_update() afterwards) */
diff --git a/firmware/target/arm/sandisk/sansa-e200/lcd-e200.c b/firmware/target/arm/sandisk/sansa-e200/lcd-e200.c
index e1a4d73..eebd678 100644
--- a/firmware/target/arm/sandisk/sansa-e200/lcd-e200.c
+++ b/firmware/target/arm/sandisk/sansa-e200/lcd-e200.c
@@ -22,11 +22,11 @@
* KIND, either express or implied.
*
****************************************************************************/
-#include "lcd.h"
-#include "system.h"
#include <string.h>
-#include "backlight-target.h"
#include "cpu.h"
+#include "system.h"
+#include "backlight-target.h"
+#include "lcd.h"
/* Power and display status */
static bool power_on = false; /* Is the power turned on? */
@@ -427,7 +427,7 @@ void lcd_init_device(void)
LCD_REG_6 |= 1; /* Start DMA */
}
-
+#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
void lcd_enable(bool on)
{
if (on == display_on)
@@ -455,7 +455,7 @@ bool lcd_active(void)
{
return display_on;
}
-
+#endif
void lcd_sleep(void)
{
LCD_REG_6 &= ~1;
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c
index 9c63f0f..cdba4c8 100644
--- a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c
+++ b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c
@@ -46,7 +46,7 @@ volatile bool lcd_poweroff = false;
extern unsigned fg_pattern;
extern unsigned bg_pattern;
-bool lcd_enabled(void)
+bool lcd_active(void)
{
return lcd_on;
}
diff --git a/firmware/target/coldfire/iaudio/x5/lcd-x5.c b/firmware/target/coldfire/iaudio/x5/lcd-x5.c
index 4737f31..105dc43 100644
--- a/firmware/target/coldfire/iaudio/x5/lcd-x5.c
+++ b/firmware/target/coldfire/iaudio/x5/lcd-x5.c
@@ -374,6 +374,7 @@ void lcd_init_device(void)
#endif
}
+#if defined(HAVE_LCD_ENABLE)
void lcd_enable(bool on)
{
if (on == display_on)
@@ -392,12 +393,10 @@ void lcd_enable(bool on)
lcd_display_off();
}
}
+#endif
-bool lcd_active(void)
-{
- return display_on;
-}
+#if defined(HAVE_LCD_SLEEP)
void lcd_sleep(void)
{
if (power_on)
@@ -407,7 +406,14 @@ void lcd_sleep(void)
/* BT2-0=000, DC2-0=000, AP2-0=000, SLP=0, STB=1 */
lcd_write_reg(R_POWER_CONTROL1, 0x0001);
}
+#endif
+#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
+bool lcd_active(void)
+{
+ return display_on;
+}
+#endif
/*** update functions ***/
/* Line write helper function for lcd_yuv_blit. Write two lines of yuv420.
diff --git a/firmware/target/mips/ingenic_jz47xx/lcd-target.h b/firmware/target/mips/ingenic_jz47xx/lcd-target.h
index e643608..95eecf7 100644
--- a/firmware/target/mips/ingenic_jz47xx/lcd-target.h
+++ b/firmware/target/mips/ingenic_jz47xx/lcd-target.h
@@ -24,7 +24,7 @@
#include <stdbool.h>
void lcd_enable(bool state);
-bool lcd_enabled(void);
+bool lcd_active(void);
void lcd_init_device(void);
diff --git a/uisimulator/common/stubs.c b/uisimulator/common/stubs.c
index 78171ac..6fd3061 100644
--- a/uisimulator/common/stubs.c
+++ b/uisimulator/common/stubs.c
@@ -202,7 +202,7 @@ bool headphones_inserted(void)
}
#endif
-#ifdef HAVE_LCD_ENABLE
+#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
bool lcd_enabled(void)
{
return true;