Re: [PATCH v6] sound/soc/codecs: add LAPIS Semiconductor ML26124

From: Mark Brown
Date: Tue Mar 06 2012 - 05:00:16 EST


On Tue, Mar 06, 2012 at 12:03:20PM +0900, Tomoya MORINAGA wrote:
> 2012å3æ2æ21:58 Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx>:

> >> Let me know why I should use SND_SOC_REGMAP not _I2C.

> > Have you checked what _I2C and _REGMAP do?

> I've just checked it.
> If SND_SOC_REGMAP is used, it seems there is no processing in it.

This is not the case.

> So, can I delete snd_soc_codec_set_cache_io ?

No.

> > Use module_i2c_driver().

> I understand.

> As a matter of interest, why can I use module_i2c_driver ?

It is best practice.

> There is no ASoC driver uses module_i2c_driver.

This is not the case. As I have *REPEATEDLY* told you you should be
sumbitting code against current development versions of the subsystem.

> >> +static int ml26124_update_bits(struct snd_soc_codec *codec, unsigned short reg,
> >> + unsigned int mask, unsigned int value)

> > Why are you open coding this in your driver? There is no point in
> > replicating subsystem functionality.

> For ML26124 spec, it's necessary.
> Because the codec's register read-address and write-address is not the same.
> E.G.
> Sampling Rate Register
> R: offset=0
> W: offset=1

This is not what the above prototype says, the above prototype has only
one register in it. You need to make this *much* clearer for the
registers it's affecting.

Attachment: signature.asc
Description: Digital signature