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 15#if defined(CONFIG_OF_I2C) || defined(CONFIG_OF_I2C_MODULE) 16#include <linux/i2c.h> 17 18extern void of_i2c_register_devices(struct i2c_adapter *adap); 19 20/* must call put_device() when done with returned i2c_client device */ 21extern struct i2c_client *of_find_i2c_device_by_node(struct device_node *node); 22 23/* 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 27#else 28static inline void of_i2c_register_devices(struct i2c_adapter *adap) 29{ 30 return; 31} 32 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} 44#endif /* CONFIG_OF_I2C */ 45 46#endif /* __LINUX_OF_I2C_H */ 47