Title: [7729] trunk/drivers/video/backlight/adp8870_bl.c: [#5584] ADP8860/70 Blacklight Driver
Revision
7729
Author
hennerich
Date
2009-10-29 10:26:11 -0400 (Thu, 29 Oct 2009)

Log Message

[#5584] ADP8860/70 Blacklight Driver
ADP8870 Rev0 requires GDWN_DIS bit set

Modified Paths

Diff

Modified: trunk/drivers/video/backlight/adp8870_bl.c (7728 => 7729)


--- trunk/drivers/video/backlight/adp8870_bl.c	2009-10-29 13:48:10 UTC (rev 7728)
+++ trunk/drivers/video/backlight/adp8870_bl.c	2009-10-29 14:26:11 UTC (rev 7729)
@@ -113,6 +113,7 @@
 	struct mutex lock;
 	unsigned long cached_daylight_max;
 	int id;
+	int revid;
 	int current_brightness;
 };
 
@@ -448,8 +449,13 @@
 	ret |= adp8870_write(client, ADP8870_BLFR, FADE_VAL(pdata->bl_fade_in,
 			pdata->bl_fade_out));
 
-	ret |= adp8870_set_bits(client, ADP8870_MDCR, BLEN | DIM_EN | NSTBY);
+	/*
+	 * ADP8870 Rev0 requires GDWN_DIS bit set
+	 */
 
+	ret |= adp8870_set_bits(client, ADP8870_MDCR, BLEN | DIM_EN | NSTBY |
+			(data->revid == 0 ? GDWN_DIS : 0));
+
 	return ret;
 }
 
@@ -748,7 +754,6 @@
 	struct adp8870_bl *data;
 	struct adp8870_backlight_platform_data *pdata =
 		client->dev.platform_data;
-	unsigned int revid;
 	uint8_t reg_val;
 	int ret;
 
@@ -772,12 +777,11 @@
 		return -ENODEV;
 	}
 
-	revid = ADP8870_DEVID(reg_val);
-
 	data = "" GFP_KERNEL);
 	if (data == NULL)
 		return -ENOMEM;
 
+	data->revid = ADP8870_DEVID(reg_val);
 	data->client = client;
 	data->pdata = pdata;
 	data->id = id->driver_data;
@@ -816,7 +820,7 @@
 
 	backlight_update_status(bl);
 
-	dev_info(&client->dev, "Rev.%d Backlight\n", revid);
+	dev_info(&client->dev, "Rev.%d Backlight\n", data->revid);
 
 	if (pdata->num_leds)
 		adp8870_led_probe(client);
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to