sis96x_write
sis96x_write(SMB_CNT, 0x20);
sis96x_write(SMB_STS, temp & 0x1e);
sis96x_write(SMB_HOST_CNT, 0x10 | (size & 0x07));
sis96x_write(SMB_STS, temp);
sis96x_write(SMB_ADDR, ((addr & 0x7f) << 1) | (read_write & 0x01));
sis96x_write(SMB_ADDR, ((addr & 0x7f) << 1) | (read_write & 0x01));
sis96x_write(SMB_CMD, command);
sis96x_write(SMB_ADDR, ((addr & 0x7f) << 1) | (read_write & 0x01));
sis96x_write(SMB_CMD, command);
sis96x_write(SMB_BYTE, data->byte);
sis96x_write(SMB_ADDR, ((addr & 0x7f) << 1) | (read_write & 0x01));
sis96x_write(SMB_CMD, command);
sis96x_write(SMB_BYTE, data->word & 0xff);
sis96x_write(SMB_BYTE + 1, (data->word & 0xff00) >> 8);
sis96x_write(SMB_HOST_CNT, 0x20);