ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / drivers / sbus / char / bbc_i2c.h
1 /* $Id: bbc_i2c.h,v 1.2 2001/04/02 09:59:25 davem Exp $ */
2 #ifndef _BBC_I2C_H
3 #define _BBC_I2C_H
4
5 #include <asm/ebus.h>
6
7 struct bbc_i2c_client;
8
9 /* Probing and attachment. */
10 extern struct linux_ebus_child *bbc_i2c_getdev(int);
11 extern struct bbc_i2c_client *bbc_i2c_attach(struct linux_ebus_child *);
12 extern void bbc_i2c_detach(struct bbc_i2c_client *);
13
14 /* Register read/write.  NOTE: Blocking! */
15 extern int bbc_i2c_writeb(struct bbc_i2c_client *, unsigned char val, int off);
16 extern int bbc_i2c_readb(struct bbc_i2c_client *, unsigned char *byte, int off);
17 extern int bbc_i2c_write_buf(struct bbc_i2c_client *, char *buf, int len, int off);
18 extern int bbc_i2c_read_buf(struct bbc_i2c_client *, char *buf, int len, int off);
19
20 #endif /* _BBC_I2C_H */