Re: [PATCH v2] i2c: stub: Add support for SMBus block commands

From: Wolfram Sang
Date: Thu Jul 17 2014 - 09:21:49 EST


On Mon, Jul 07, 2014 at 07:23:03AM -0700, Guenter Roeck wrote:
> SMBus block commands are different to I2C block commands since
> the returned data is not normally accessible with byte or word
> commands on other command offsets. Add linked list of 'block'
> commands to support those commands.
>
> Access mechanism is quite simple: Block commands must be written
> before they can be read. The first write selects the block length.
> Subsequent writes can be partial. Block read commands always return
> the number of bytes selected with the first write.
>
> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> ---
> v2: Make new functionality only available on request via functionality
> module parameter
> Add more details about SMBus block mode support to documentation
> Use correct sizeof() variable in devm_kzalloc
> Use stub_find_block() only in SMBus block command itself.
> Store first word of block data in chip->words[].
> When writing block data and the written data is longer than
> the first write, bail out with debug message indicating the reason
> for the error.

Thanks for doing this and thanks to Jean for the thorough review.

The thing I miss is the documentation that SMBUS_BLOCK must explicitly
be activated and the description how to do it. A comment in the driver,
above STUB_FUNC_* defines might not hurt as well.

Also, I'd prefer to squash Jean's "increasing block length" patch into
this one if both of you are fine with that?

Regards,

Wolfram

Attachment: signature.asc
Description: Digital signature