summaryrefslogtreecommitdiffstats
path: root/drivers/power
diff options
context:
space:
mode:
authorKim, Milo <Milo.Kim@ti.com>2011-11-17 21:43:06 -0800
committerAnton Vorontsov <cbouatmailru@gmail.com>2012-01-04 08:34:20 +0400
commit998a8e7a72f6a81f540d3a3774d8e8aae6c7f9f2 (patch)
treef7ff4549c84c810605badc151d3c6df5eef6d81c /drivers/power
parent2165c8a45bf2fba49f54fb81a50914f883bd14df (diff)
downloadop-kernel-dev-998a8e7a72f6a81f540d3a3774d8e8aae6c7f9f2.zip
op-kernel-dev-998a8e7a72f6a81f540d3a3774d8e8aae6c7f9f2.tar.gz
lp8727_charger: Add supported i2c functionality check routine
lp8727 i2c r/w functions are based on SMBUS I2C BLOCK. So the driver needs to check whether i2c bus supports this functionality or not. Signed-off-by: Woogyom Kim <milo.kim@ti.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/lp8727_charger.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/power/lp8727_charger.c b/drivers/power/lp8727_charger.c
index 2a649e0..a7e5cc2 100644
--- a/drivers/power/lp8727_charger.c
+++ b/drivers/power/lp8727_charger.c
@@ -425,6 +425,9 @@ static int lp8727_probe(struct i2c_client *cl, const struct i2c_device_id *id)
struct lp8727_chg *pchg;
int ret;
+ if (!i2c_check_functionality(cl->adapter, I2C_FUNC_SMBUS_I2C_BLOCK))
+ return -EIO;
+
pchg = kzalloc(sizeof(*pchg), GFP_KERNEL);
if (!pchg)
return -ENOMEM;
OpenPOWER on IntegriCloud