I guess smtiic_wait_state() will spin for 1000 * delay(10), so it mostly wins.
When it fails, it returns ETIMEDOUT. Converting that to EIO manually is a bit strange, but shrug it happens everywhere else in this driver. Do any of the other smtiic functions also need this smtiic_wait_state? Is smtiic_write_byte() doing this correctly?
