diff options
author | Richard Purdie <rpurdie@rpsys.net> | 2007-09-03 00:27:00 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@rpsys.net> | 2007-10-11 22:24:13 +0100 |
commit | c3f8f65046127f471d0b6193a1923185b354c011 (patch) | |
tree | 69e9178d13f9c1e02387f33fbff38fff612eb12e /drivers/video/backlight/corgi_bl.c | |
parent | 18f65c793a5106b9f99822ef248e71582db03386 (diff) | |
download | kernel_samsung_aries-c3f8f65046127f471d0b6193a1923185b354c011.zip kernel_samsung_aries-c3f8f65046127f471d0b6193a1923185b354c011.tar.gz kernel_samsung_aries-c3f8f65046127f471d0b6193a1923185b354c011.tar.bz2 |
backlight: Convert corgi backlight driver into a more generic driver
Convert the corgi backlight driver to a more generic version
so it can be reused by other code rather than being Zaurus/PXA
specific.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Diffstat (limited to 'drivers/video/backlight/corgi_bl.c')
-rw-r--r-- | drivers/video/backlight/corgi_bl.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/drivers/video/backlight/corgi_bl.c b/drivers/video/backlight/corgi_bl.c index ce00e18..4d4d037 100644 --- a/drivers/video/backlight/corgi_bl.c +++ b/drivers/video/backlight/corgi_bl.c @@ -18,13 +18,11 @@ #include <linux/mutex.h> #include <linux/fb.h> #include <linux/backlight.h> -#include <asm/arch/sharpsl.h> -#include <asm/hardware/sharpsl_pm.h> static int corgibl_intensity; static struct backlight_properties corgibl_data; static struct backlight_device *corgi_backlight_device; -static struct corgibl_machinfo *bl_machinfo; +static struct generic_bl_info *bl_machinfo; static unsigned long corgibl_flags; #define CORGIBL_SUSPENDED 0x01 @@ -32,7 +30,6 @@ static unsigned long corgibl_flags; static int corgibl_send_intensity(struct backlight_device *bd) { - void (*corgi_kick_batt)(void); int intensity = bd->props.brightness; if (bd->props.power != FB_BLANK_UNBLANK) @@ -48,11 +45,8 @@ static int corgibl_send_intensity(struct backlight_device *bd) corgibl_intensity = intensity; - corgi_kick_batt = symbol_get(sharpsl_battery_kick); - if (corgi_kick_batt) { - corgi_kick_batt(); - symbol_put(sharpsl_battery_kick); - } + if (bl_machinfo->kick_battery) + bl_machinfo->kick_battery(); return 0; } @@ -107,13 +101,17 @@ static struct backlight_ops corgibl_ops = { static int corgibl_probe(struct platform_device *pdev) { - struct corgibl_machinfo *machinfo = pdev->dev.platform_data; + struct generic_bl_info *machinfo = pdev->dev.platform_data; + const char *name = "generic-bl"; bl_machinfo = machinfo; if (!machinfo->limit_mask) machinfo->limit_mask = -1; - corgi_backlight_device = backlight_device_register ("corgi-bl", + if (machinfo->name) + name = machinfo->name; + + corgi_backlight_device = backlight_device_register (name, &pdev->dev, NULL, &corgibl_ops); if (IS_ERR (corgi_backlight_device)) return PTR_ERR (corgi_backlight_device); @@ -149,7 +147,7 @@ static struct platform_driver corgibl_driver = { .suspend = corgibl_suspend, .resume = corgibl_resume, .driver = { - .name = "corgi-bl", + .name = "generic-bl", }, }; |