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 */ 21