#include <linux/leds.h>
#include <linux/mfd/motorola-cpcap.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#define CPCAP_LED_NO_CURRENT …
struct cpcap_led_info { … };
static const struct cpcap_led_info cpcap_led_red = …;
static const struct cpcap_led_info cpcap_led_green = …;
static const struct cpcap_led_info cpcap_led_blue = …;
static const struct cpcap_led_info cpcap_led_adl = …;
static const struct cpcap_led_info cpcap_led_cp = …;
struct cpcap_led { … };
static u16 cpcap_led_val(u8 current_limit, u8 duty_cycle)
{ … }
static int cpcap_led_set_power(struct cpcap_led *led, bool status)
{ … }
static int cpcap_led_set(struct led_classdev *ledc, enum led_brightness value)
{ … }
static const struct of_device_id cpcap_led_of_match[] = …;
MODULE_DEVICE_TABLE(of, cpcap_led_of_match);
static int cpcap_led_probe(struct platform_device *pdev)
{ … }
static struct platform_driver cpcap_led_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;