#include <linux/module.h>
#include <linux/err.h>
#include <linux/slab.h>
#include <linux/leds.h>
#include <linux/mfd/max8997.h>
#include <linux/mfd/max8997-private.h>
#include <linux/platform_device.h>
#define MAX8997_LED_FLASH_SHIFT …
#define MAX8997_LED_FLASH_CUR_MASK …
#define MAX8997_LED_MOVIE_SHIFT …
#define MAX8997_LED_MOVIE_CUR_MASK …
#define MAX8997_LED_FLASH_MAX_BRIGHTNESS …
#define MAX8997_LED_MOVIE_MAX_BRIGHTNESS …
#define MAX8997_LED_NONE_MAX_BRIGHTNESS …
#define MAX8997_LED0_FLASH_MASK …
#define MAX8997_LED0_FLASH_PIN_MASK …
#define MAX8997_LED0_MOVIE_MASK …
#define MAX8997_LED0_MOVIE_PIN_MASK …
#define MAX8997_LED1_FLASH_MASK …
#define MAX8997_LED1_FLASH_PIN_MASK …
#define MAX8997_LED1_MOVIE_MASK …
#define MAX8997_LED1_MOVIE_PIN_MASK …
#define MAX8997_LED_BOOST_ENABLE_MASK …
struct max8997_led { … };
static void max8997_led_set_mode(struct max8997_led *led,
enum max8997_led_mode mode)
{ … }
static void max8997_led_enable(struct max8997_led *led, bool enable)
{ … }
static void max8997_led_set_current(struct max8997_led *led,
enum led_brightness value)
{ … }
static void max8997_led_brightness_set(struct led_classdev *led_cdev,
enum led_brightness value)
{ … }
static ssize_t mode_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static ssize_t mode_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t size)
{ … }
static DEVICE_ATTR_RW(mode);
static struct attribute *max8997_attrs[] = …;
ATTRIBUTE_GROUPS(…);
static int max8997_led_probe(struct platform_device *pdev)
{ … }
static struct platform_driver max8997_led_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;