Re: [PATCH 11/20] regmap: _regmap_raw_read: Add handling of busses without bus->read()

Mark Brown
2015-08-12T11:27:16Z

[-- Attachment #1: Type: text/plain, Size: 844 bytes --]

On Wed, Aug 12, 2015 at 12:12:36PM +0200, Markus Pargmann wrote:

> + /*
> + * There are busses that do not have a read function as it is optional.
> + * Use their reg_read function instead if the requested number of bytes
> + * is correct.
> + */
> + if (!map->bus->read) {
> + /*
> + * bus_reg_read() does not support reading values that are not
> + * exactly the size of format.val_bytes
> + */
> + if (val_len != map->format.val_bytes)
> + return -EINVAL;
> + return _regmap_bus_reg_read(map, reg, val);
> + }

No, this makes no sense - if the device doesn't have a read operation
then it doesn't support a raw data stream and hence can't support raw
access sensibly. Callers that want to access a lot of registers at once
without knowing what the wire format for the device is should be using
the bulk or multi interfaces.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]