1/* $Id: bbc_i2c.h,v 1.1.1.1 2007/08/03 18:52:55 Exp $ */
2#ifndef _BBC_I2C_H
3#define _BBC_I2C_H
4
5#include <asm/ebus.h>
6
7struct bbc_i2c_client;
8
9/* Probing and attachment. */
10extern struct linux_ebus_child *bbc_i2c_getdev(int);
11extern struct bbc_i2c_client *bbc_i2c_attach(struct linux_ebus_child *);
12extern void bbc_i2c_detach(struct bbc_i2c_client *);
13
14/* Register read/write.  NOTE: Blocking! */
15extern int bbc_i2c_writeb(struct bbc_i2c_client *, unsigned char val, int off);
16extern int bbc_i2c_readb(struct bbc_i2c_client *, unsigned char *byte, int off);
17extern int bbc_i2c_write_buf(struct bbc_i2c_client *, char *buf, int len, int off);
18extern int bbc_i2c_read_buf(struct bbc_i2c_client *, char *buf, int len, int off);
19
20#endif /* _BBC_I2C_H */
21