#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/leds.h>
#include <linux/leds-lp3952.h>
#include <linux/module.h>
#include <linux/notifier.h>
#include <linux/platform_device.h>
#include <linux/pm.h>
#include <linux/reboot.h>
#include <linux/regmap.h>
static int lp3952_register_write(struct i2c_client *client, u8 reg, u8 val)
{ … }
static void lp3952_on_off(struct lp3952_led_array *priv,
enum lp3952_leds led_id, bool on)
{ … }
static int lp3952_set_brightness(struct led_classdev *cdev,
enum led_brightness value)
{ … }
static int lp3952_get_label(struct device *dev, const char *label, char *dest)
{ … }
static int lp3952_register_led_classdev(struct lp3952_led_array *priv)
{ … }
static int lp3952_set_pattern_gen_cmd(struct lp3952_led_array *priv,
u8 cmd_index, u8 r, u8 g, u8 b,
enum lp3952_tt tt, enum lp3952_cet cet)
{ … }
static int lp3952_configure(struct lp3952_led_array *priv)
{ … }
static const struct regmap_config lp3952_regmap = …;
static void gpio_set_low_action(void *data)
{ … }
static int lp3952_probe(struct i2c_client *client)
{ … }
static const struct i2c_device_id lp3952_id[] = …;
MODULE_DEVICE_TABLE(i2c, lp3952_id);
static struct i2c_driver lp3952_i2c_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;