of/i2c: call i2c_verify_client from of_find_i2c_device_by_node
authorStephen Warren <swarren@nvidia.com>
Tue, 17 Apr 2012 18:42:15 +0000 (12:42 -0600)
committerWolfram Sang <w.sang@pengutronix.de>
Sat, 12 May 2012 12:28:15 +0000 (14:28 +0200)
i2c_bus_type may contain both I2C clients and I2C adapters. Fix
of_find_i2c_device_by_node to call i2c_verify_client to ensure that it
only returns non-NULL of I2C clients.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
drivers/of/of_i2c.c

index f37fbeb66a4400c2c7fa28bc45cd8be5af7c7c47..068488717f69b2867155e7f8596b519b39d2359f 100644 (file)
@@ -90,7 +90,7 @@ struct i2c_client *of_find_i2c_device_by_node(struct device_node *node)
        if (!dev)
                return NULL;
 
-       return to_i2c_client(dev);
+       return i2c_verify_client(dev);
 }
 EXPORT_SYMBOL(of_find_i2c_device_by_node);