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

From: Mark Brown
Date: Wed Aug 12 2015 - 07:27:22 EST


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: signature.asc
Description: Digital signature