static int slugiic_write_byte(void *arg, uint8_t v, int flags) { struct slugiic_softc *sc = arg; return (i2c_bitbang_write_byte(sc, v, flags, &sc->sc_ibo)); }
int i2c_bitbang_initiate_xfer(void *v, i2c_addr_t addr, int flags, i2c_bitbang_ops_t ops) { int i2caddr; /* XXX Only support 7-bit addressing for now. */ if ((addr & 0x78) == 0x78) return (EINVAL); i2caddr = (addr << 1) | ((flags & I2C_F_READ) ? 1 : 0); (void) i2c_bitbang_send_start(v, flags, ops); return (i2c_bitbang_write_byte(v, i2caddr, flags & ~I2C_F_STOP, ops)); }
int gpioiic_i2c_write_byte(void *cookie, uint8_t byte, int flags) { return i2c_bitbang_write_byte(cookie, byte, flags, &gpioiic_bbops); }
static int igma_i2c_write_byte(void *cookie, uint8_t val, int flags) { return i2c_bitbang_write_byte(cookie, val, flags, &igma_i2cbb_ops); }
int radeonfb_i2c_write_byte(void *cookie, uint8_t val, int flags) { return i2c_bitbang_write_byte(cookie, val, flags, &radeonfb_i2cbb_ops); }
int armadillo9iic_write_byte(void *cookie, uint8_t byte, int flags) { return i2c_bitbang_write_byte(cookie, byte, flags, &armadillo9iic_bbops); }
static int iomdiic_write_byte(void *cookie, uint8_t byte, int flags) { return (i2c_bitbang_write_byte(cookie, byte, flags, &iomdiic_bbops)); }