#include <linux/kernel.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/i2c.h>
#include <linux/leds.h>
#include <linux/slab.h>
#include <linux/mfd/88pm860x.h>
#include <linux/module.h>
#define LED_PWM_MASK …
#define LED_CURRENT_MASK …
#define LED_BLINK_MASK …
#define LED_ON_CONTINUOUS …
#define LED1_BLINK_EN …
#define LED2_BLINK_EN …
struct pm860x_led { … };
static int led_power_set(struct pm860x_chip *chip, int port, int on)
{ … }
static int pm860x_led_set(struct led_classdev *cdev,
enum led_brightness value)
{ … }
#ifdef CONFIG_OF
static int pm860x_led_dt_init(struct platform_device *pdev,
struct pm860x_led *data)
{ … }
#else
#define pm860x_led_dt_init …
#endif
static int pm860x_led_probe(struct platform_device *pdev)
{ … }
static void pm860x_led_remove(struct platform_device *pdev)
{ … }
static struct platform_driver pm860x_led_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;