On Mon, 07 Jul 2014 06:32:02 -0700, Guenter Roeck wrote: > On 07/07/2014 01:27 AM, Jean Delvare wrote: > > On Sun, 6 Jul 2014 20:55:12 -0700, Guenter Roeck wrote: > >> chip->words[command] &= 0xff00; > >> chip->words[command] |= data->byte; > >> dev_dbg(&adap->dev, > >> "smbus byte data - addr 0x%02x, wrote 0x%02x at 0x%02x.\n", > >> addr, data->byte, command); > >> } else { > >> - data->byte = chip->words[command] & 0xff; > >> + if (b) > >> + data->byte = b->len; > >> + else > >> + data->byte = chip->words[command] & 0xff; > > > > You could avoid this conditional (and the same below in case > > I2C_SMBUS_WORD_DATA) by writing to chip->words at the same time you > > write to b->block. Block transfers being rare and reads occurring more > > frequently than writes, I think the performance benefit is clear. > > Makes sense, I'll do that. Great idea. > > Question is if I should cover attempts to write a byte or word into block data. > I don't think it is worth the effort, as drivers won't usually do that. > My take is that we could add it later if really needed. > What do you think ? I agree. The i2c-stub driver can't possibly cover every use case anyway, so let's keep it simple and only emulate behaviors we need for real. -- Jean Delvare SUSE L3 Support -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html