--- sys/dev/isl/isl.c (revision 350672) +++ sys/dev/isl/isl.c (working copy) @@ -78,25 +78,13 @@ static int isl_read_byte(device_t dev, uint8_t reg, uint8_t *val) { - uint16_t addr = iicbus_get_addr(dev); - struct iic_msg msgs[] = { - { addr, IIC_M_WR | IIC_M_NOSTOP, 1, ® }, - { addr, IIC_M_RD, 1, val }, - }; - - return (iicbus_transfer(dev, msgs, nitems(msgs))); + return (iicdev_readfrom(dev, reg, val, 1, IIC_INTRWAIT)); } static int isl_write_byte(device_t dev, uint8_t reg, uint8_t val) { - uint16_t addr = iicbus_get_addr(dev); - uint8_t bytes[] = { reg, val }; - struct iic_msg msgs[] = { - { addr, IIC_M_WR, nitems(bytes), bytes }, - }; - - return (iicbus_transfer(dev, msgs, nitems(msgs))); + return (iicdev_writeto(dev, reg, &val, 1, IIC_INTRWAIT)); } /*