提交 0938643e 编写于 作者: S Stephen Warren 提交者: 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: NStephen Warren <swarren@nvidia.com>
Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册