From c3f8f65046127f471d0b6193a1923185b354c011 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 3 Sep 2007 00:27:00 +0100 Subject: 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 --- arch/arm/mach-pxa/corgi.c | 18 ++++++++++++++++-- arch/arm/mach-pxa/spitz.c | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) (limited to 'arch') diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index aab27297b3c..2363cc64fe0 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -142,15 +143,28 @@ struct corgissp_machinfo corgi_ssp_machinfo = { /* * Corgi Backlight Device */ -static struct corgibl_machinfo corgi_bl_machinfo = { +static void corgi_bl_kick_battery(void) +{ + void (*kick_batt)(void); + + kick_batt = symbol_get(sharpsl_battery_kick); + if (kick_batt) { + kick_batt(); + symbol_put(sharpsl_battery_kick); + } +} + +static struct generic_bl_info corgi_bl_machinfo = { + .name = "corgi-bl", .max_intensity = 0x2f, .default_intensity = 0x1f, .limit_mask = 0x0b, .set_bl_intensity = corgi_bl_set_intensity, + .kick_battery = corgi_bl_kick_battery, }; static struct platform_device corgibl_device = { - .name = "corgi-bl", + .name = "generic-bl", .dev = { .parent = &corgifb_device.dev, .platform_data = &corgi_bl_machinfo, diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index bae47e145de..2d78199d24a 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -222,14 +223,27 @@ struct corgissp_machinfo spitz_ssp_machinfo = { /* * Spitz Backlight Device */ -static struct corgibl_machinfo spitz_bl_machinfo = { +static void spitz_bl_kick_battery(void) +{ + void (*kick_batt)(void); + + kick_batt = symbol_get(sharpsl_battery_kick); + if (kick_batt) { + kick_batt(); + symbol_put(sharpsl_battery_kick); + } +} + +static struct generic_bl_info spitz_bl_machinfo = { + .name = "corgi-bl", .default_intensity = 0x1f, .limit_mask = 0x0b, .max_intensity = 0x2f, + .kick_battery = spitz_bl_kick_battery, }; static struct platform_device spitzbl_device = { - .name = "corgi-bl", + .name = "generic-bl", .dev = { .platform_data = &spitz_bl_machinfo, }, -- cgit v1.2.3