From: <mar...@us...> - 2007-05-27 17:44:26
|
Revision: 1000 http://svn.sourceforge.net/hackndev/?rev=1000&view=rev Author: marex_z71 Date: 2007-05-27 10:44:20 -0700 (Sun, 27 May 2007) Log Message: ----------- l4p: Revised backlight driver now works with 2.6.21 . Notice the revision, it's 1000 :-) Modified Paths: -------------- linux4palm/linux/trunk/drivers/video/backlight/pxapwm_bl.c Modified: linux4palm/linux/trunk/drivers/video/backlight/pxapwm_bl.c =================================================================== --- linux4palm/linux/trunk/drivers/video/backlight/pxapwm_bl.c 2007-05-27 17:42:41 UTC (rev 999) +++ linux4palm/linux/trunk/drivers/video/backlight/pxapwm_bl.c 2007-05-27 17:44:20 UTC (rev 1000) @@ -18,7 +18,7 @@ #include <asm/arch/pxa-regs.h> #include <asm/arch/pxapwm-bl.h> -static struct backlight_properties pxapwmbl_data; +static struct backlight_ops pxapwmbl_ops; static void (*pxapwmbl_mach_turn_bl_on)(void); static void (*pxapwmbl_mach_turn_bl_off)(void); @@ -31,9 +31,9 @@ intensity &= bl->limit_mask; // set intensity to 0 if in power saving or fb is blanked - if (bl->dev->props->power != FB_BLANK_UNBLANK) + if (bl->dev->props.power != FB_BLANK_UNBLANK) intensity = 0; - if (bl->dev->props->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? @@ -90,7 +90,7 @@ } } - bl->dev->props->brightness = intensity; + bl->dev->props.brightness = intensity; bl->intensity=intensity; spin_unlock_irqrestore(&bl->lock, flags); @@ -122,10 +122,10 @@ int intensity; struct pxapwmbl_platform_data *bl = class_get_devdata(&bd->class_dev); - intensity = bd->props->brightness; + intensity = bd->props.brightness; - if (intensity > pxapwmbl_data.max_brightness) - intensity = pxapwmbl_data.max_brightness; + if (intensity > bd->props.max_brightness) + intensity = bd->props.max_brightness; if (intensity < 0) intensity = 0; @@ -154,9 +154,7 @@ } EXPORT_SYMBOL(pxapwmbl_limit_intensity); - -static struct backlight_properties pxapwmbl_data = { - .owner = THIS_MODULE, +static struct backlight_ops pxapwmbl_ops = { .get_brightness = pxapwmbl_get_intensity, .update_status = pxapwmbl_update_status, }; @@ -165,22 +163,23 @@ { struct pxapwmbl_platform_data *bl = pdev->dev.platform_data; - pxapwmbl_data.max_brightness = bl->max_intensity; + bl->dev = backlight_device_register ("pxapwm-bl", &pdev->dev, + bl, &pxapwmbl_ops); + bl->dev->props.max_brightness = bl->max_intensity; + pxapwmbl_mach_turn_bl_on = bl->turn_bl_on; pxapwmbl_mach_turn_bl_off = bl->turn_bl_off; bl->limit = 0; bl->lock = SPIN_LOCK_UNLOCKED; - pxapwmbl_data.brightness = bl->default_intensity; - pxapwmbl_data.power = FB_BLANK_UNBLANK; - pxapwmbl_data.fb_blank = FB_BLANK_UNBLANK; + bl->dev->props.brightness = bl->default_intensity; + bl->dev->props.power = FB_BLANK_UNBLANK; + bl->dev->props.fb_blank = FB_BLANK_UNBLANK; bl->off_threshold = 5; - bl->dev = backlight_device_register ("pxapwm-bl", &pdev->dev, - bl, &pxapwmbl_data); if (IS_ERR (bl->dev)) return PTR_ERR (bl->dev); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |