viafb: Introduce viafb_find_i2c_adapter()

The camera driver will need this to look up a specific adapter.

Cc: ScottFang@viatech.com.cn
Cc: JosephChan@via.com.tw
Cc: Harald Welte <laforge@gnumonks.org>
Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Jonathan Corbet 2010-04-23 08:56:55 -06:00
parent b052d7f81f
commit b8f7e5d846
2 changed files with 14 additions and 0 deletions

View File

@ -157,6 +157,19 @@ int viafb_i2c_readbytes(u8 adap, u8 slave_addr, u8 index, u8 *buff, int buff_len
return i2c_transfer(&via_i2c_par[adap].adapter, msgs, 2); return i2c_transfer(&via_i2c_par[adap].adapter, msgs, 2);
} }
/*
* Allow other viafb subdevices to look up a specific adapter
* by port name.
*/
struct i2c_adapter *viafb_find_i2c_adapter(enum viafb_i2c_adap which)
{
struct via_i2c_stuff *stuff = &via_i2c_par[which];
return &stuff->adapter;
}
EXPORT_SYMBOL_GPL(viafb_find_i2c_adapter);
static int create_i2c_bus(struct i2c_adapter *adapter, static int create_i2c_bus(struct i2c_adapter *adapter,
struct i2c_algo_bit_data *algo, struct i2c_algo_bit_data *algo,
struct via_port_cfg *adap_cfg, struct via_port_cfg *adap_cfg,

View File

@ -35,6 +35,7 @@ struct via_i2c_stuff {
int viafb_i2c_readbyte(u8 adap, u8 slave_addr, u8 index, u8 *pdata); int viafb_i2c_readbyte(u8 adap, u8 slave_addr, u8 index, u8 *pdata);
int viafb_i2c_writebyte(u8 adap, u8 slave_addr, u8 index, u8 data); int viafb_i2c_writebyte(u8 adap, u8 slave_addr, u8 index, u8 data);
int viafb_i2c_readbytes(u8 adap, u8 slave_addr, u8 index, u8 *buff, int buff_len); int viafb_i2c_readbytes(u8 adap, u8 slave_addr, u8 index, u8 *buff, int buff_len);
struct i2c_adapter *viafb_find_i2c_adapter(enum viafb_i2c_adap which);
extern int viafb_i2c_init(void); extern int viafb_i2c_init(void);
extern void viafb_i2c_exit(void); extern void viafb_i2c_exit(void);