|
From: <cri...@us...> - 2006-12-08 17:02:09
|
Revision: 696
http://svn.sourceforge.net/hackndev/?rev=696&view=rev
Author: cristianop
Date: 2006-12-08 09:01:58 -0800 (Fri, 08 Dec 2006)
Log Message:
-----------
l4p: fix gpe's no backlight problem (configuration of the backligth's driver data)
Modified Paths:
--------------
linux4palm/linux/trunk/drivers/video/backlight/pxapwm_bl.c
linux4palm/linux/trunk/include/asm-arm/arch-pxa/pxapwm-bl.h
Modified: linux4palm/linux/trunk/drivers/video/backlight/pxapwm_bl.c
===================================================================
--- linux4palm/linux/trunk/drivers/video/backlight/pxapwm_bl.c 2006-12-07 15:49:20 UTC (rev 695)
+++ linux4palm/linux/trunk/drivers/video/backlight/pxapwm_bl.c 2006-12-08 17:01:58 UTC (rev 696)
@@ -31,9 +31,9 @@
intensity &= bl->limit_mask;
// set intensity to 0 if in power saving or fb is blanked
- if (bl->power != FB_BLANK_UNBLANK)
+ if (bl->dev->props->power != FB_BLANK_UNBLANK)
intensity = 0;
- if (bl->fb_blank != FB_BLANK_UNBLANK)
+ if (bl->dev->props->fb_blank != FB_BLANK_UNBLANK)
intensity = 0;
/* Does the backlight frequency need to be configured on a per device basis?
@@ -60,6 +60,7 @@
}
}
+ //printk("pxapwmbl: setting intensity to %d [bl->intensity = %d]\n", intensity, bl->intensity);
switch (bl->pwm) {
case 0:
PWM_CTRL0 = prescaler;
@@ -88,6 +89,9 @@
pxapwmbl_mach_turn_bl_off();
}
}
+
+ bl->dev->props->brightness = intensity;
+ bl->intensity=intensity;
spin_unlock_irqrestore(&bl->lock, flags);
}
@@ -125,8 +129,9 @@
if (intensity < 0)
intensity = 0;
+
pxapwmbl_send_intensity(bl, intensity);
- bl->intensity=intensity;
+
return 0;
}
@@ -165,11 +170,13 @@
pxapwmbl_mach_turn_bl_on = bl->turn_bl_on;
pxapwmbl_mach_turn_bl_off = bl->turn_bl_off;
- bl->intensity = 0;
bl->limit = 0;
bl->lock = SPIN_LOCK_UNLOCKED;
-
- bl->power = FB_BLANK_UNBLANK;
+
+ pxapwmbl_data.brightness = bl->default_intensity;
+ pxapwmbl_data.power = FB_BLANK_UNBLANK;
+ pxapwmbl_data.fb_blank = FB_BLANK_UNBLANK;
+
bl->off_threshold = 5;
bl->dev = backlight_device_register ("pxapwm-bl", bl, &pxapwmbl_data);
@@ -189,7 +196,7 @@
{
struct pxapwmbl_platform_data *bl = pdev->dev.platform_data;
- pxapwmbl_send_intensity(bl, 0);
+ pxapwmbl_send_intensity(bl, bl->default_intensity);
backlight_device_unregister(bl->dev);
Modified: linux4palm/linux/trunk/include/asm-arm/arch-pxa/pxapwm-bl.h
===================================================================
--- linux4palm/linux/trunk/include/asm-arm/arch-pxa/pxapwm-bl.h 2006-12-07 15:49:20 UTC (rev 695)
+++ linux4palm/linux/trunk/include/asm-arm/arch-pxa/pxapwm-bl.h 2006-12-08 17:01:58 UTC (rev 696)
@@ -29,8 +29,6 @@
int prescaler;
int intensity;
- int power;
- int fb_blank;
int limit;
int off_threshold;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|