#include <linux/i2c.h>
#include <linux/leds.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#define BD2606_MAX_LEDS …
#define BD2606_MAX_BRIGHTNESS …
#define BD2606_REG_PWRCNT …
#define ldev_to_led(c) …
struct bd2606mvv_led { … };
struct bd2606mvv_priv { … };
static int
bd2606mvv_brightness_set(struct led_classdev *led_cdev,
enum led_brightness brightness)
{ … }
static const struct regmap_config bd2606mvv_regmap = …;
static int bd2606mvv_probe(struct i2c_client *client)
{ … }
static const struct of_device_id __maybe_unused of_bd2606mvv_leds_match[] = …;
MODULE_DEVICE_TABLE(of, of_bd2606mvv_leds_match);
static struct i2c_driver bd2606mvv_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;