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

Commit 5d6f921b authored by Axel Lin's avatar Axel Lin Committed by Linus Torvalds
Browse files

drivers/video/backlight/aat2870_bl.c: fix setting max_current



 - Current implementation tests wrong value for setting
   aat2870_bl->max_current.

 - In the current implementation, we cannot differentiate between 2 cases:

   a) if pdata->max_current is not set , or

   b) pdata->max_current is set to AAT2870_CURRENT_0_45 (which is also 0).

   Fix it by setting AAT2870_CURRENT_0_45 to be 1 and adjust the equation in
   aat2870_brightness() accordingly.

Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Tested-by: default avatarJin Park <jinyoungp@nvidia.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4c4dd903
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ static inline int aat2870_brightness(struct aat2870_bl_driver_data *aat2870_bl,
	struct backlight_device *bd = aat2870_bl->bd;
	int val;

	val = brightness * aat2870_bl->max_current;
	val = brightness * (aat2870_bl->max_current - 1);
	val /= bd->props.max_brightness;

	return val;
@@ -175,7 +175,7 @@ static int aat2870_bl_probe(struct platform_device *pdev)
	else
		aat2870_bl->channels = AAT2870_BL_CH_ALL;

	if (pdata->max_brightness > 0)
	if (pdata->max_current > 0)
		aat2870_bl->max_current = pdata->max_current;
	else
		aat2870_bl->max_current = AAT2870_CURRENT_27_9;
+1 −1
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@ enum aat2870_id {

/* Backlight current magnitude (mA) */
enum aat2870_current {
	AAT2870_CURRENT_0_45,
	AAT2870_CURRENT_0_45 = 1,
	AAT2870_CURRENT_0_90,
	AAT2870_CURRENT_1_80,
	AAT2870_CURRENT_2_70,