diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2008-02-06 04:39:26 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-06 13:41:16 -0500 |
commit | a9a84c37d1ee50db8f3752b117caf2b48dcd4f8a (patch) | |
tree | adac878234cbe372624c5d33e7d70322972392d7 /arch | |
parent | b1230ee50a9903a987feaad767fb71e2fd173894 (diff) |
atmel_lcdfb: backlight control
On the sam9 EK boards, the LCD backlight is hooked up to a PWM output from
the LCD controller. It's controlled by "contrast" registers though.
This patch lets boards declare that they have that kind of backlight
control. The driver can then export this control, letting screenblank and
other operations actually take effect ... reducing the typically
substantial power drain from the backlight.
Note that it's not fully cooked
- doesn't force backlight off during system suspend
- the "power" and "blank" events may not be done right
This should be easily added in the future.
[nicolas.ferre@atmel.com: remove unneeded inline and rename functions]
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Andrew Victor <linux@maxim.org.za>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-at91/board-sam9261ek.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-sam9263ek.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c index aa29ea58ca09..0ce38dfa6ebe 100644 --- a/arch/arm/mach-at91/board-sam9261ek.c +++ b/arch/arm/mach-at91/board-sam9261ek.c | |||
@@ -383,6 +383,7 @@ static void at91_lcdc_tft_power_control(int on) | |||
383 | } | 383 | } |
384 | 384 | ||
385 | static struct atmel_lcdfb_info __initdata ek_lcdc_data = { | 385 | static struct atmel_lcdfb_info __initdata ek_lcdc_data = { |
386 | .lcdcon_is_backlight = true, | ||
386 | .default_bpp = 16, | 387 | .default_bpp = 16, |
387 | .default_dmacon = ATMEL_LCDC_DMAEN, | 388 | .default_dmacon = ATMEL_LCDC_DMAEN, |
388 | .default_lcdcon2 = AT91SAM9261_DEFAULT_TFT_LCDCON2, | 389 | .default_lcdcon2 = AT91SAM9261_DEFAULT_TFT_LCDCON2, |
diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c index f09347a86e71..38313abef657 100644 --- a/arch/arm/mach-at91/board-sam9263ek.c +++ b/arch/arm/mach-at91/board-sam9263ek.c | |||
@@ -253,6 +253,7 @@ static void at91_lcdc_power_control(int on) | |||
253 | 253 | ||
254 | /* Driver datas */ | 254 | /* Driver datas */ |
255 | static struct atmel_lcdfb_info __initdata ek_lcdc_data = { | 255 | static struct atmel_lcdfb_info __initdata ek_lcdc_data = { |
256 | .lcdcon_is_backlight = true, | ||
256 | .default_bpp = 16, | 257 | .default_bpp = 16, |
257 | .default_dmacon = ATMEL_LCDC_DMAEN, | 258 | .default_dmacon = ATMEL_LCDC_DMAEN, |
258 | .default_lcdcon2 = AT91SAM9263_DEFAULT_LCDCON2, | 259 | .default_lcdcon2 = AT91SAM9263_DEFAULT_LCDCON2, |