#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/fb.h>
#include <linux/i2c.h>
#include <linux/backlight.h>
#include <linux/mfd/88pm860x.h>
#include <linux/module.h>
#define MAX_BRIGHTNESS …
#define MIN_BRIGHTNESS …
#define CURRENT_BITMASK …
struct pm860x_backlight_data { … };
static int backlight_power_set(struct pm860x_chip *chip, int port,
int on)
{ … }
static int pm860x_backlight_set(struct backlight_device *bl, int brightness)
{ … }
static int pm860x_backlight_update_status(struct backlight_device *bl)
{ … }
static int pm860x_backlight_get_brightness(struct backlight_device *bl)
{ … }
static const struct backlight_ops pm860x_backlight_ops = …;
#ifdef CONFIG_OF
static int pm860x_backlight_dt_init(struct platform_device *pdev,
struct pm860x_backlight_data *data,
char *name)
{ … }
#else
#define pm860x_backlight_dt_init …
#endif
static int pm860x_backlight_probe(struct platform_device *pdev)
{ … }
static struct platform_driver pm860x_backlight_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;