[alsa-devel] [PATCH v7 08/13] regmap: add SLIMbus support

Charles Keepax ckeepax at opensource.cirrus.com
Thu Nov 23 08:49:25 CET 2017


On Wed, Nov 15, 2017 at 02:10:38PM +0000, srinivas.kandagatla at linaro.org wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
> 
> This patch adds support to read/write slimbus value elements.
> Currently it only supports byte read/write. Adding this support in
> regmap would give codec drivers more flexibility when there are more
> than 2 control interfaces like slimbus, i2c.
> 
> Without this patch each codec driver has to directly call slimbus value
> element apis, and this could would get messy once we want to add i2c
> interface to it.
> 
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
> ---
> +
> +static int regmap_slimbus_byte_reg_read(void *context, unsigned int reg,
> +					unsigned int *val)
> +{
> +	struct slim_device *sdev = context;
> +	int v;
> +
> +	if (!sdev)
> +		return 0;

Is there a specific reason we are checking the context here? The
other regmap buses don't both and whilst I don't mind checking
shouldn't we return an error if we don't have a context rather
than pretending to succeed?

> +
> +	v = slim_readb(sdev, reg);
> +
> +	if (v < 0)
> +		return v;
> +
> +	*val = v;
> +
> +	return 0;
> +}
> +
> +static int regmap_slimbus_byte_reg_write(void *context, unsigned int reg,
> +					 unsigned int val)
> +{
> +	struct slim_device *sdev = context;
> +
> +	if (!sdev)
> +		return 0;

ditto.

Thanks,
Charles


More information about the Alsa-devel mailing list