Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 66105
b: refs/heads/master
c: c3f8f65
h: refs/heads/master
i:
  66103: 8bf046b
v: v3
  • Loading branch information
Richard Purdie committed Oct 11, 2007
1 parent f486445 commit 55fb3f2
Show file tree
Hide file tree
Showing 7 changed files with 58 additions and 28 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 18f65c793a5106b9f99822ef248e71582db03386
refs/heads/master: c3f8f65046127f471d0b6193a1923185b354c011
18 changes: 16 additions & 2 deletions trunk/arch/arm/mach-pxa/corgi.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <linux/interrupt.h>
#include <linux/mmc/host.h>
#include <linux/pm.h>
#include <linux/backlight.h>

#include <asm/setup.h>
#include <asm/memory.h>
Expand Down Expand Up @@ -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,
Expand Down
18 changes: 16 additions & 2 deletions trunk/arch/arm/mach-pxa/spitz.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <linux/interrupt.h>
#include <linux/mmc/host.h>
#include <linux/pm.h>
#include <linux/backlight.h>

#include <asm/setup.h>
#include <asm/memory.h>
Expand Down Expand Up @@ -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,
},
Expand Down
11 changes: 6 additions & 5 deletions trunk/drivers/video/backlight/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,13 @@ config BACKLIGHT_CLASS_DEVICE
select the proper drivers which depend on this option.

config BACKLIGHT_CORGI
tristate "Sharp Corgi Backlight Driver (SL Series)"
depends on BACKLIGHT_CLASS_DEVICE && PXA_SHARPSL
default y
tristate "Generic (aka Sharp Corgi) Backlight Driver"
depends on BACKLIGHT_CLASS_DEVICE
default n
help
If you have a Sharp Zaurus SL-C7xx, SL-Cxx00 or SL-6000x say y to enable the
backlight driver.
Say y to enable the generic platform backlight driver previously
known as the Corgi backlight driver. If you have a Sharp Zaurus
SL-C7xx, SL-Cxx00 or SL-6000x say y. Most users can say n.

config BACKLIGHT_LOCOMO
tristate "Sharp LOCOMO LCD/Backlight Driver"
Expand Down
22 changes: 10 additions & 12 deletions trunk/drivers/video/backlight/corgi_bl.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,18 @@
#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
#define CORGIBL_BATTLOW 0x02

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)
Expand All @@ -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;
}
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -149,7 +147,7 @@ static struct platform_driver corgibl_driver = {
.suspend = corgibl_suspend,
.resume = corgibl_resume,
.driver = {
.name = "corgi-bl",
.name = "generic-bl",
},
};

Expand Down
6 changes: 0 additions & 6 deletions trunk/include/asm-arm/arch-pxa/sharpsl.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,6 @@ struct corgits_machinfo {
/*
* SharpSL Backlight
*/
struct corgibl_machinfo {
int max_intensity;
int default_intensity;
int limit_mask;
void (*set_bl_intensity)(int intensity);
};
extern void corgibl_limit_intensity(int limit);


Expand Down
9 changes: 9 additions & 0 deletions trunk/include/linux/backlight.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,13 @@ static inline void * bl_get_data(struct backlight_device *bl_dev)
return dev_get_drvdata(&bl_dev->dev);
}

struct generic_bl_info {
const char *name;
int max_intensity;
int default_intensity;
int limit_mask;
void (*set_bl_intensity)(int intensity);
void (*kick_battery)(void);
};

#endif

0 comments on commit 55fb3f2

Please sign in to comment.