#include <linux/backlight.h>
#include <linux/err.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/regmap.h>
#define DEFAULT_BRIGHTNESS …
#define MAX_BRIGHTNESS …
#define REG_MAX …
#define DEVICE_ID …
#define BL_CFG1 …
#define BL_CFG2 …
#define BL_BRT_LSB …
#define BL_BRT_MSB …
#define BL_EN …
#define LCD_BIAS_CFG1 …
#define LCD_BIAS_CFG2 …
#define LCD_BIAS_CFG3 …
#define LCD_BOOST_CFG …
#define OUTP_CFG …
#define OUTN_CFG …
#define FLAG …
#define BL_OPTION1 …
#define BL_OPTION2 …
#define PWM2DIG_LSBs …
#define PWM2DIG_MSBs …
#define BL_DIMMING …
#define PWM_RAMP_TIME …
#define BL_EN_BIT …
#define LCD_BIAS_EN …
#define PWM_HYST …
struct ktz8866 { … };
static const struct regmap_config ktz8866_regmap_config = …;
static int ktz8866_write(struct ktz8866 *ktz, unsigned int reg,
unsigned int val)
{ … }
static int ktz8866_update_bits(struct ktz8866 *ktz, unsigned int reg,
unsigned int mask, unsigned int val)
{ … }
static int ktz8866_backlight_update_status(struct backlight_device *backlight_dev)
{ … }
static const struct backlight_ops ktz8866_backlight_ops = …;
static void ktz8866_init(struct ktz8866 *ktz)
{ … }
static int ktz8866_probe(struct i2c_client *client)
{ … }
static void ktz8866_remove(struct i2c_client *client)
{ … }
static const struct i2c_device_id ktz8866_ids[] = …;
MODULE_DEVICE_TABLE(i2c, ktz8866_ids);
static const struct of_device_id ktz8866_match_table[] = …;
static struct i2c_driver ktz8866_driver = …;
module_i2c_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;