blob: cfb545cd86b5a1baaf6c39b7ba91f2d90c129c43 [file] [log] [blame]
Jochen Friedrich612212a2008-04-12 05:22:35 +10001/*
2 * Generic I2C API implementation for PowerPC.
3 *
4 * Copyright (c) 2008 Jochen Friedrich <jochen@scram.de>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 */
11
12#ifndef __LINUX_OF_I2C_H
13#define __LINUX_OF_I2C_H
14
Grant Likely9fd04992010-06-08 07:48:18 -060015#if defined(CONFIG_OF_I2C) || defined(CONFIG_OF_I2C_MODULE)
Jochen Friedrich612212a2008-04-12 05:22:35 +100016#include <linux/i2c.h>
17
Grant Likely9fd04992010-06-08 07:48:18 -060018extern void of_i2c_register_devices(struct i2c_adapter *adap);
Jochen Friedrich612212a2008-04-12 05:22:35 +100019
Jon Smirl2526c152009-01-09 15:49:06 -070020/* must call put_device() when done with returned i2c_client device */
Grant Likely9fd04992010-06-08 07:48:18 -060021extern struct i2c_client *of_find_i2c_device_by_node(struct device_node *node);
22
Stephen Warren09386432012-04-17 12:43:34 -060023/* must call put_device() when done with returned i2c_adapter device */
24extern struct i2c_adapter *of_find_i2c_adapter_by_node(
25 struct device_node *node);
26
Grant Likely9fd04992010-06-08 07:48:18 -060027#else
28static inline void of_i2c_register_devices(struct i2c_adapter *adap)
29{
30 return;
31}
Guennadi Liakhovetski1daa8a02012-12-10 20:41:27 +010032
33static inline struct i2c_client *of_find_i2c_device_by_node(struct device_node *node)
34{
35 return NULL;
36}
37
38/* must call put_device() when done with returned i2c_adapter device */
39static inline struct i2c_adapter *of_find_i2c_adapter_by_node(
40 struct device_node *node)
41{
42 return NULL;
43}
Grant Likely9fd04992010-06-08 07:48:18 -060044#endif /* CONFIG_OF_I2C */
Jon Smirl2526c152009-01-09 15:49:06 -070045
Jochen Friedrich612212a2008-04-12 05:22:35 +100046#endif /* __LINUX_OF_I2C_H */