Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b3a85495 authored by Haojian Zhuang's avatar Haojian Zhuang Committed by Eric Miao
Browse files

backlight: da903x_bl: control WLED output current in da9034



Update WLED output current source before changing brightness.

Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@marvell.com>
Signed-off-by: default avatarEric Miao <eric.y.miao@gmail.com>
parent f64dcac0
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@

#define DA9034_WLED_CONTROL1	0x3C
#define DA9034_WLED_CONTROL2	0x3D
#define DA9034_WLED_ISET(x)	((x) & 0x1f)

#define DA9034_WLED_BOOST_EN	(1 << 5)

@@ -101,6 +102,7 @@ static struct backlight_ops da903x_backlight_ops = {

static int da903x_backlight_probe(struct platform_device *pdev)
{
	struct da9034_backlight_pdata *pdata = pdev->dev.platform_data;
	struct da903x_backlight_data *data;
	struct backlight_device *bl;
	int max_brightness;
@@ -127,6 +129,11 @@ static int da903x_backlight_probe(struct platform_device *pdev)
	data->da903x_dev = pdev->dev.parent;
	data->current_brightness = 0;

	/* adjust the WLED output current */
	if (pdata)
		da903x_write(data->da903x_dev, DA9034_WLED_CONTROL2,
				DA9034_WLED_ISET(pdata->output_current));

	bl = backlight_device_register(pdev->name, data->da903x_dev,
			data, &da903x_backlight_ops);
	if (IS_ERR(bl)) {
+4 −0
Original line number Diff line number Diff line
@@ -96,6 +96,10 @@ struct da9034_touch_pdata {
	int	y_inverted;
};

struct da9034_backlight_pdata {
	int	output_current;	/* output current of WLED, from 0-31 (in mA) */
};

/* DA9030 battery charger data */
struct power_supply_info;