> + /* FIXME: only single write request supported to 7-bit addr */ Hmm, this is quite limited. Would it be very hard to support multiple messages? Or reads? 10 bits don't matter. > + if (!dev->pdata->has_alt_cmd) > + return -EOPNOTSUPP; We should handle this in probe(), I think: if (dev->pdata->has_alt_cmd) at91_twi_algorithm.master_xfer_atomic = at91_twi_xfer_atomic;