#include <linux/kernel.h>
#include <linux/backlight.h>
#include <linux/module.h>
#include <linux/of_device.h>
#include <linux/regmap.h>
#define PM8941_WLED_DEFAULT_BRIGHTNESS 2048
#define PM8941_WLED_REG_VAL_BASE 0x40
#define PM8941_WLED_REG_VAL_MAX 0xFFF
#define PM8941_WLED_REG_MOD_EN 0x46
#define PM8941_WLED_REG_MOD_EN_BIT BIT(7)
#define PM8941_WLED_REG_MOD_EN_MASK BIT(7)
#define PM8941_WLED_REG_SYNC 0x47
#define PM8941_WLED_REG_SYNC_MASK 0x07
#define PM8941_WLED_REG_SYNC_LED1 BIT(0)
#define PM8941_WLED_REG_SYNC_LED2 BIT(1)
#define PM8941_WLED_REG_SYNC_LED3 BIT(2)
#define PM8941_WLED_REG_SYNC_ALL 0x07
#define PM8941_WLED_REG_SYNC_CLEAR 0x00
#define PM8941_WLED_REG_FREQ 0x4c
#define PM8941_WLED_REG_FREQ_MASK 0x0f
#define PM8941_WLED_REG_OVP 0x4d
#define PM8941_WLED_REG_OVP_MASK 0x03
#define PM8941_WLED_REG_BOOST 0x4e
#define PM8941_WLED_REG_BOOST_MASK 0x07
#define PM8941_WLED_REG_SINK 0x4f
#define PM8941_WLED_REG_SINK_MASK 0xe0
#define PM8941_WLED_REG_SINK_SHFT 0x05
#define PM8941_WLED_REG_STR_OFFSET 0x10
#define PM8941_WLED_REG_STR_MOD_EN_BASE 0x60
#define PM8941_WLED_REG_STR_MOD_MASK BIT(7)
#define PM8941_WLED_REG_STR_MOD_EN BIT(7)
#define PM8941_WLED_REG_STR_SCALE_BASE 0x62
#define PM8941_WLED_REG_STR_SCALE_MASK 0x1f
#define PM8941_WLED_REG_STR_MOD_SRC_BASE 0x63
#define PM8941_WLED_REG_STR_MOD_SRC_MASK 0x01
#define PM8941_WLED_REG_STR_MOD_SRC_INT 0x00