summaryrefslogtreecommitdiffstats
path: root/drivers/video/backlight/progear_bl.c
diff options
context:
space:
mode:
authorMatthew Garrett2010-02-17 22:39:44 +0100
committerRichard Purdie2010-03-16 20:47:54 +0100
commita19a6ee6cad2b20292a774c2f56ba8039b0fac9c (patch)
tree631916ce6181336c5c28eb0cf5484c40c92986b6 /drivers/video/backlight/progear_bl.c
parentbacklight: Add backlight_device parameter to check_fb (diff)
downloadkernel-qcow2-linux-a19a6ee6cad2b20292a774c2f56ba8039b0fac9c.tar.gz
kernel-qcow2-linux-a19a6ee6cad2b20292a774c2f56ba8039b0fac9c.tar.xz
kernel-qcow2-linux-a19a6ee6cad2b20292a774c2f56ba8039b0fac9c.zip
backlight: Allow properties to be passed at registration
Values such as max_brightness should be set before backlights are registered, but the current API doesn't allow that. Add a parameter to backlight_device_register and update drivers to ensure that they set this correctly. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'drivers/video/backlight/progear_bl.c')
-rw-r--r--drivers/video/backlight/progear_bl.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/video/backlight/progear_bl.c b/drivers/video/backlight/progear_bl.c
index 2ec16deb2397..809278c90738 100644
--- a/drivers/video/backlight/progear_bl.c
+++ b/drivers/video/backlight/progear_bl.c
@@ -61,6 +61,7 @@ static const struct backlight_ops progearbl_ops = {
static int progearbl_probe(struct platform_device *pdev)
{
+ struct backlight_properties props;
u8 temp;
struct backlight_device *progear_backlight_device;
int ret;
@@ -82,9 +83,12 @@ static int progearbl_probe(struct platform_device *pdev)
pci_read_config_byte(sb_dev, SB_MPS1, &temp);
pci_write_config_byte(sb_dev, SB_MPS1, temp | 0x20);
+ memset(&props, 0, sizeof(struct backlight_properties));
+ props.max_brightness = HW_LEVEL_MAX - HW_LEVEL_MIN;
progear_backlight_device = backlight_device_register("progear-bl",
&pdev->dev, NULL,
- &progearbl_ops);
+ &progearbl_ops,
+ &props);
if (IS_ERR(progear_backlight_device)) {
ret = PTR_ERR(progear_backlight_device);
goto put_sb;
@@ -94,7 +98,6 @@ static int progearbl_probe(struct platform_device *pdev)
progear_backlight_device->props.power = FB_BLANK_UNBLANK;
progear_backlight_device->props.brightness = HW_LEVEL_MAX - HW_LEVEL_MIN;
- progear_backlight_device->props.max_brightness = HW_LEVEL_MAX - HW_LEVEL_MIN;
progearbl_set_intensity(progear_backlight_device);
return 0;