diff options
Diffstat (limited to 'drivers/of')
-rw-r--r-- | drivers/of/of_i2c.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/of/of_i2c.c b/drivers/of/of_i2c.c index f37fbeb66a44..1e173f357674 100644 --- a/drivers/of/of_i2c.c +++ b/drivers/of/of_i2c.c | |||
@@ -90,8 +90,22 @@ struct i2c_client *of_find_i2c_device_by_node(struct device_node *node) | |||
90 | if (!dev) | 90 | if (!dev) |
91 | return NULL; | 91 | return NULL; |
92 | 92 | ||
93 | return to_i2c_client(dev); | 93 | return i2c_verify_client(dev); |
94 | } | 94 | } |
95 | EXPORT_SYMBOL(of_find_i2c_device_by_node); | 95 | EXPORT_SYMBOL(of_find_i2c_device_by_node); |
96 | 96 | ||
97 | /* must call put_device() when done with returned i2c_adapter device */ | ||
98 | struct i2c_adapter *of_find_i2c_adapter_by_node(struct device_node *node) | ||
99 | { | ||
100 | struct device *dev; | ||
101 | |||
102 | dev = bus_find_device(&i2c_bus_type, NULL, node, | ||
103 | of_dev_node_match); | ||
104 | if (!dev) | ||
105 | return NULL; | ||
106 | |||
107 | return i2c_verify_adapter(dev); | ||
108 | } | ||
109 | EXPORT_SYMBOL(of_find_i2c_adapter_by_node); | ||
110 | |||
97 | MODULE_LICENSE("GPL"); | 111 | MODULE_LICENSE("GPL"); |