On Tue, 2010-05-25 at 14:34 +0300, Peter Ujfalusi wrote: > Since the twl4030 codec driver supports different version > of the PM chip, a helper function can come handy, which > can check the driver's default versus the chip values. > > Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx> > --- > sound/soc/codecs/twl4030.c | 23 +++++++++++++++++++++++ > sound/soc/codecs/twl4030.h | 1 + > 2 files changed, 24 insertions(+), 0 deletions(-) > > diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c > index 08f24de..4220c8d 100644 > --- a/sound/soc/codecs/twl4030.c > +++ b/sound/soc/codecs/twl4030.c > @@ -243,6 +243,25 @@ static void twl4030_codec_enable(struct snd_soc_codec *codec, int enable) > udelay(10); > } > > +static inline void twl4030_check_defaults(struct snd_soc_codec *codec) > +{ > + int i, difference = 0; > + u8 val; > + > + dev_info(codec->dev, "Checking TWL audio default configuration\n"); > + for (i = 1; i <= TWL4030_REG_MISC_SET_2; i++) { > + twl4030_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, &val, i); > + if (val != twl4030_reg[i]) { > + difference++; > + dev_info(codec->dev, > + "Reg 0x%02x: chip: 0x%02x driver: 0x%02x\n", > + i, val, twl4030_reg[i]); > + } > + } > + dev_info(codec->dev, "Found %d non maching registers. %s\n", matching > + difference, difference ? "Not OK" : "OK"); > +} > + > static void twl4030_init_chip(struct platform_device *pdev) > { > struct snd_soc_device *socdev = platform_get_drvdata(pdev); > @@ -252,6 +271,10 @@ static void twl4030_init_chip(struct platform_device *pdev) > u8 reg, byte; > int i = 0; > > + /* Check defaults, if instructed before anythiing else */ > + if (setup && setup->check_defaults) > + twl4030_check_defaults(codec); > + Is this purely for information/debug purposes ? Why do we need to check default vales at init(). Is there another driver changing the audio codec registers ? Thanks Liam -- Freelance Developer, SlimLogic Ltd ASoC and Voltage Regulator Maintainer. http://www.slimlogic.co.uk _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel