Commit 0938643e authored by Stephen Warren's avatar Stephen Warren Committed by Wolfram Sang

of/i2c: implement of_find_i2c_adapter_by_node

This finds the struct i2c_adapter * for a given device tree node. Just
like of_find_i2c_device_by_node.
Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
Signed-off-by: default avatarWolfram Sang <w.sang@pengutronix.de>
parent 643dd09e
...@@ -94,4 +94,18 @@ struct i2c_client *of_find_i2c_device_by_node(struct device_node *node) ...@@ -94,4 +94,18 @@ struct i2c_client *of_find_i2c_device_by_node(struct device_node *node)
} }
EXPORT_SYMBOL(of_find_i2c_device_by_node); EXPORT_SYMBOL(of_find_i2c_device_by_node);
/* must call put_device() when done with returned i2c_adapter device */
struct i2c_adapter *of_find_i2c_adapter_by_node(struct device_node *node)
{
struct device *dev;
dev = bus_find_device(&i2c_bus_type, NULL, node,
of_dev_node_match);
if (!dev)
return NULL;
return i2c_verify_adapter(dev);
}
EXPORT_SYMBOL(of_find_i2c_adapter_by_node);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -20,6 +20,10 @@ extern void of_i2c_register_devices(struct i2c_adapter *adap); ...@@ -20,6 +20,10 @@ extern void of_i2c_register_devices(struct i2c_adapter *adap);
/* must call put_device() when done with returned i2c_client device */ /* must call put_device() when done with returned i2c_client device */
extern struct i2c_client *of_find_i2c_device_by_node(struct device_node *node); extern struct i2c_client *of_find_i2c_device_by_node(struct device_node *node);
/* must call put_device() when done with returned i2c_adapter device */
extern struct i2c_adapter *of_find_i2c_adapter_by_node(
struct device_node *node);
#else #else
static inline void of_i2c_register_devices(struct i2c_adapter *adap) static inline void of_i2c_register_devices(struct i2c_adapter *adap)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment