#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/spi/spi.h>
#include <linux/backlight.h>
#include <asm/mach/sharpsl_param.h>
#define COMADJ_DEFAULT 97
struct backlight_device *bl;
static void tosa_bl_set_backlight(struct tosa_bl_data *data, int brightness)
struct spi_device *spi = dev_get_platdata(&data->i2c->dev);
i2c_smbus_write_byte_data(data->i2c, DAC_CH1, data->comadj);
i2c_smbus_write_byte_data(data->i2c, DAC_CH2, (u8)(brightness & 0xff));
gpio_set_value(TOSA_GPIO_BL_C20MA, brightness & 0x100);
tosa_bl_enable(spi, brightness);
static int tosa_bl_update_status(struct backlight_device *dev)
struct backlight_properties *props = &dev->props;
struct tosa_bl_data *data = bl_get_data(dev);
int power = max(props->power, props->fb_blank);
int brightness = props->brightness;