| Jochen Friedrich | 612212a | 2008-04-12 05:22:35 +1000 | [diff] [blame] | 1 | /* | 
 | 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 Likely | 9fd0499 | 2010-06-08 07:48:18 -0600 | [diff] [blame] | 15 | #if defined(CONFIG_OF_I2C) || defined(CONFIG_OF_I2C_MODULE) | 
| Jochen Friedrich | 612212a | 2008-04-12 05:22:35 +1000 | [diff] [blame] | 16 | #include <linux/i2c.h> | 
 | 17 |  | 
| Grant Likely | 9fd0499 | 2010-06-08 07:48:18 -0600 | [diff] [blame] | 18 | extern void of_i2c_register_devices(struct i2c_adapter *adap); | 
| Jochen Friedrich | 612212a | 2008-04-12 05:22:35 +1000 | [diff] [blame] | 19 |  | 
| Jon Smirl | 2526c15 | 2009-01-09 15:49:06 -0700 | [diff] [blame] | 20 | /* must call put_device() when done with returned i2c_client device */ | 
| Grant Likely | 9fd0499 | 2010-06-08 07:48:18 -0600 | [diff] [blame] | 21 | extern struct i2c_client *of_find_i2c_device_by_node(struct device_node *node); | 
 | 22 |  | 
| Stephen Warren | 0938643 | 2012-04-17 12:43:34 -0600 | [diff] [blame] | 23 | /* must call put_device() when done with returned i2c_adapter device */ | 
 | 24 | extern struct i2c_adapter *of_find_i2c_adapter_by_node( | 
 | 25 | 						struct device_node *node); | 
 | 26 |  | 
| Grant Likely | 9fd0499 | 2010-06-08 07:48:18 -0600 | [diff] [blame] | 27 | #else | 
 | 28 | static inline void of_i2c_register_devices(struct i2c_adapter *adap) | 
 | 29 | { | 
 | 30 | 	return; | 
 | 31 | } | 
| Guennadi Liakhovetski | 1daa8a0 | 2012-12-10 20:41:27 +0100 | [diff] [blame] | 32 |  | 
 | 33 | static 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 */ | 
 | 39 | static inline struct i2c_adapter *of_find_i2c_adapter_by_node( | 
 | 40 | 						struct device_node *node) | 
 | 41 | { | 
 | 42 | 	return NULL; | 
 | 43 | } | 
| Grant Likely | 9fd0499 | 2010-06-08 07:48:18 -0600 | [diff] [blame] | 44 | #endif /* CONFIG_OF_I2C */ | 
| Jon Smirl | 2526c15 | 2009-01-09 15:49:06 -0700 | [diff] [blame] | 45 |  | 
| Jochen Friedrich | 612212a | 2008-04-12 05:22:35 +1000 | [diff] [blame] | 46 | #endif /* __LINUX_OF_I2C_H */ |