Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 24935
b: refs/heads/master
c: 2c0f5fb
h: refs/heads/master
i:
  24933: cbe0222
  24931: cb4c5fe
  24927: cb18bfd
v: v3
  • Loading branch information
Richard Purdie authored and Linus Torvalds committed Mar 31, 2006
1 parent 47fe1b9 commit 5b3aa40
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 21 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: 5f27a27bd77fcfd4b90ed33668940bc3cf72768b
refs/heads/master: 2c0f5fb08e8ad59f396b1bda41ccd93cbb00a09f
2 changes: 2 additions & 0 deletions trunk/arch/arm/mach-pxa/corgi.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,8 @@ struct corgissp_machinfo corgi_ssp_machinfo = {
*/
static struct corgibl_machinfo corgi_bl_machinfo = {
.max_intensity = 0x2f,
.default_intensity = 0x1f,
.limit_mask = 0x0b,
.set_bl_intensity = corgi_bl_set_intensity,
};

Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/arm/mach-pxa/spitz.c
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,8 @@ struct corgissp_machinfo spitz_ssp_machinfo = {
* Spitz Backlight Device
*/
static struct corgibl_machinfo spitz_bl_machinfo = {
.default_intensity = 0x1f,
.limit_mask = 0x0b,
.max_intensity = 0x2f,
};

Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/video/backlight/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ config LCD_DEVICE
default y

config BACKLIGHT_CORGI
tristate "Sharp Corgi Backlight Driver (SL-C7xx Series)"
tristate "Sharp Corgi Backlight Driver (SL Series)"
depends on BACKLIGHT_DEVICE && PXA_SHARPSL
default y
help
If you have a Sharp Zaurus SL-C7xx, say y to enable the
If you have a Sharp Zaurus SL-C7xx, SL-Cxx00 or SL-6000x say y to enable the
backlight driver.

config BACKLIGHT_HP680
Expand Down
31 changes: 13 additions & 18 deletions trunk/drivers/video/backlight/corgi_bl.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Backlight Driver for Sharp Corgi
* Backlight Driver for Sharp Zaurus Handhelds (various models)
*
* Copyright (c) 2004-2005 Richard Purdie
* Copyright (c) 2004-2006 Richard Purdie
*
* Based on Sharp's 2.4 Backlight Driver
*
Expand All @@ -15,29 +15,24 @@
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/spinlock.h>
#include <linux/mutex.h>
#include <linux/fb.h>
#include <linux/backlight.h>

#include <asm/arch/sharpsl.h>
#include <asm/hardware/sharpsl_pm.h>

#define CORGI_DEFAULT_INTENSITY 0x1f
#define CORGI_LIMIT_MASK 0x0b

static int corgibl_intensity;
static void (*corgibl_mach_set_intensity)(int intensity);
static spinlock_t bl_lock = SPIN_LOCK_UNLOCKED;
static DEFINE_MUTEX(bl_mutex);
static struct backlight_properties corgibl_data;
static struct backlight_device *corgi_backlight_device;
static struct corgibl_machinfo *bl_machinfo;

static unsigned long corgibl_flags;
#define CORGIBL_SUSPENDED 0x01
#define CORGIBL_BATTLOW 0x02

static int corgibl_send_intensity(struct backlight_device *bd)
{
unsigned long flags;
void (*corgi_kick_batt)(void);
int intensity = bd->props->brightness;

Expand All @@ -48,13 +43,11 @@ static int corgibl_send_intensity(struct backlight_device *bd)
if (corgibl_flags & CORGIBL_SUSPENDED)
intensity = 0;
if (corgibl_flags & CORGIBL_BATTLOW)
intensity &= CORGI_LIMIT_MASK;

spin_lock_irqsave(&bl_lock, flags);

corgibl_mach_set_intensity(intensity);
intensity &= bl_machinfo->limit_mask;

spin_unlock_irqrestore(&bl_lock, flags);
mutex_lock(&bl_mutex);
bl_machinfo->set_bl_intensity(intensity);
mutex_unlock(&bl_mutex);

corgibl_intensity = intensity;

Expand Down Expand Up @@ -122,16 +115,18 @@ static int __init corgibl_probe(struct platform_device *pdev)
{
struct corgibl_machinfo *machinfo = pdev->dev.platform_data;

bl_machinfo = machinfo;
corgibl_data.max_brightness = machinfo->max_intensity;
corgibl_mach_set_intensity = machinfo->set_bl_intensity;
if (!machinfo->limit_mask)
machinfo->limit_mask = -1;

corgi_backlight_device = backlight_device_register ("corgi-bl",
NULL, &corgibl_data);
if (IS_ERR (corgi_backlight_device))
return PTR_ERR (corgi_backlight_device);

corgibl_data.power = FB_BLANK_UNBLANK;
corgibl_data.brightness = CORGI_DEFAULT_INTENSITY;
corgibl_data.brightness = machinfo->default_intensity;
corgibl_send_intensity(corgi_backlight_device);

printk("Corgi Backlight Driver Initialized.\n");
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-arm/arch-pxa/sharpsl.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ struct corgits_machinfo {
*/
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

0 comments on commit 5b3aa40

Please sign in to comment.