sch_io_wr8
sch_io_wr8(priv, SMBHSTSTS, temp);
sch_io_wr8(priv, SMBHSTCNT, temp);
sch_io_wr8(priv, SMBHSTSTS, temp & 0x0f);
sch_io_wr8(priv, SMBHSTADD, (addr << 1) | read_write);
sch_io_wr8(priv, SMBHSTADD, (addr << 1) | read_write);
sch_io_wr8(priv, SMBHSTCMD, command);
sch_io_wr8(priv, SMBHSTADD, (addr << 1) | read_write);
sch_io_wr8(priv, SMBHSTCMD, command);
sch_io_wr8(priv, SMBHSTDAT0, data->byte);
sch_io_wr8(priv, SMBHSTADD, (addr << 1) | read_write);
sch_io_wr8(priv, SMBHSTCMD, command);
sch_io_wr8(priv, SMBHSTDAT0, data->word >> 0);
sch_io_wr8(priv, SMBHSTDAT1, data->word >> 8);
sch_io_wr8(priv, SMBHSTADD, (addr << 1) | read_write);
sch_io_wr8(priv, SMBHSTCMD, command);
sch_io_wr8(priv, SMBHSTDAT0, len);
sch_io_wr8(priv, SMBBLKDAT + i - 1, data->block[i]);
sch_io_wr8(priv, SMBHSTCNT, temp);