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: Stephen Warren <swarren@nvidia.com> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
This commit is contained in:
parent
643dd09eb2
commit
0938643e53
|
@ -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);
|
||||||
/* 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)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue