#include <linux/backlight.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/fb.h>
#include <linux/kernel.h>
#include <linux/mfd/as3711.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/slab.h>
enum as3711_bl_type { … };
struct as3711_bl_data { … };
struct as3711_bl_supply { … };
static struct as3711_bl_supply *to_supply(struct as3711_bl_data *su)
{ … }
static int as3711_set_brightness_auto_i(struct as3711_bl_data *data,
unsigned int brightness)
{ … }
static int as3711_set_brightness_v(struct as3711 *as3711,
unsigned int brightness,
unsigned int reg)
{ … }
static int as3711_bl_su2_reset(struct as3711_bl_supply *supply)
{ … }
static int as3711_bl_update_status(struct backlight_device *bl)
{ … }
static int as3711_bl_get_brightness(struct backlight_device *bl)
{ … }
static const struct backlight_ops as3711_bl_ops = …;
static int as3711_bl_init_su2(struct as3711_bl_supply *supply)
{ … }
static int as3711_bl_register(struct platform_device *pdev,
unsigned int max_brightness, struct as3711_bl_data *su)
{ … }
static int as3711_backlight_parse_dt(struct device *dev)
{ … }
static int as3711_backlight_probe(struct platform_device *pdev)
{ … }
static struct platform_driver as3711_backlight_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;