Title: [6199] trunk/drivers/mfd/adp5520.c: [#4375] ADP5520 Multifunction LCD Backlight and Keypad Input Device
Revision
6199
Author
hennerich
Date
2009-03-17 12:30:18 -0500 (Tue, 17 Mar 2009)

Log Message

[#4375] ADP5520 Multifunction LCD Backlight and Keypad Input Device
Driver
Fixups per Mike's suggestions

Modified Paths

Diff

Modified: trunk/drivers/mfd/adp5520.c (6198 => 6199)


--- trunk/drivers/mfd/adp5520.c	2009-03-17 16:31:09 UTC (rev 6198)
+++ trunk/drivers/mfd/adp5520.c	2009-03-17 17:30:18 UTC (rev 6199)
@@ -75,12 +75,12 @@
 	mutex_lock(&chip->lock);
 
 	ret = __adp5520_read(client, reg, &reg_val);
-	if (ret)
-		goto out;
 
-	reg_val |= bit_mask;
-	ret = __adp5520_write(client, reg, reg_val);
-out:
+	if (!ret) {
+		reg_val |= bit_mask;
+		ret = __adp5520_write(client, reg, reg_val);
+	}
+
 	mutex_unlock(&chip->lock);
 	return ret;
 }
@@ -106,14 +106,12 @@
 	mutex_lock(&chip->lock);
 
 	ret = __adp5520_read(chip->client, reg, &reg_val);
-	if (ret)
-		goto out;
 
-	if ((reg_val & bit_mask) == 0) {
+	if (!ret && ((reg_val & bit_mask) == 0)) {
 		reg_val |= bit_mask;
 		ret = __adp5520_write(chip->client, reg, reg_val);
 	}
-out:
+
 	mutex_unlock(&chip->lock);
 	return ret;
 }
@@ -128,14 +126,12 @@
 	mutex_lock(&chip->lock);
 
 	ret = __adp5520_read(chip->client, reg, &reg_val);
-	if (ret)
-		goto out;
 
-	if (reg_val & bit_mask) {
+	if (!ret && (reg_val & bit_mask)) {
 		reg_val &= ~bit_mask;
 		ret = __adp5520_write(chip->client, reg, reg_val);
 	}
-out:
+
 	mutex_unlock(&chip->lock);
 	return ret;
 }
@@ -150,7 +146,8 @@
 		adp5520_set_bits(chip->dev, INTERRUPT_ENABLE,
 			events & (KP_IEN | KR_IEN | OVP_IEN | CMPR_IEN));
 
-	return blocking_notifier_chain_register(&chip->notifier_list, nb);
+		return blocking_notifier_chain_register(&chip->notifier_list,
+			 nb);
 	}
 
 	return -ENODEV;
@@ -251,7 +248,12 @@
 		return -EIO;
 	}
 
-	chip = kzalloc(sizeof(struct adp5520_chip), GFP_KERNEL);
+	if (pdata == NULL) {
+		dev_err(&client->dev, "missing platform data\n");
+		return -ENODEV;
+	}
+
+	chip = kzalloc(sizeof(*chip), GFP_KERNEL);
 	if (!chip)
 		return -ENOMEM;
 
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to