Re: [PATCH 1/2] ASoC: max98090: Add check for CODEC type

2014-07-04 Thread Mark Brown
On Fri, Jul 04, 2014 at 02:42:16PM +0530, Tushar Behera wrote:
> CODEC type (MAX98090/MAX98091) can be specified from device-tree file,
> it can also be obtained from the CODEC during runtime.

Applied both, thanks.


signature.asc
Description: Digital signature


[PATCH 1/2] ASoC: max98090: Add check for CODEC type

2014-07-04 Thread Tushar Behera
CODEC type (MAX98090/MAX98091) can be specified from device-tree file,
it can also be obtained from the CODEC during runtime.

Add an explicit check to figure out if both are matching, else print
a message warning about the same.

Signed-off-by: Tushar Behera 
---
 sound/soc/codecs/max98090.c |   12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c
index ca74f502..1ed06d9 100644
--- a/sound/soc/codecs/max98090.c
+++ b/sound/soc/codecs/max98090.c
@@ -2215,6 +2215,7 @@ static int max98090_probe(struct snd_soc_codec *codec)
 {
struct max98090_priv *max98090 = snd_soc_codec_get_drvdata(codec);
struct max98090_cdata *cdata;
+   enum max98090_type devtype;
int ret = 0;
 
dev_dbg(codec->dev, "max98090_probe\n");
@@ -2250,16 +2251,21 @@ static int max98090_probe(struct snd_soc_codec *codec)
}
 
if ((ret >= M98090_REVA) && (ret <= M98090_REVA + 0x0f)) {
-   max98090->devtype = MAX98090;
+   devtype = MAX98090;
dev_info(codec->dev, "MAX98090 REVID=0x%02x\n", ret);
} else if ((ret >= M98091_REVA) && (ret <= M98091_REVA + 0x0f)) {
-   max98090->devtype = MAX98091;
+   devtype = MAX98091;
dev_info(codec->dev, "MAX98091 REVID=0x%02x\n", ret);
} else {
-   max98090->devtype = MAX98090;
+   devtype = MAX98090;
dev_err(codec->dev, "Unrecognized revision 0x%02x\n", ret);
}
 
+   if (max98090->devtype != devtype) {
+   dev_warn(codec->dev, "Mismatch in DT specified CODEC type.\n");
+   max98090->devtype = devtype;
+   }
+
max98090->jack_state = M98090_JACK_STATE_NO_HEADSET;
 
INIT_DELAYED_WORK(>jack_work, max98090_jack_work);
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/2] ASoC: max98090: Add check for CODEC type

2014-07-04 Thread Mark Brown
On Fri, Jul 04, 2014 at 02:42:16PM +0530, Tushar Behera wrote:
 CODEC type (MAX98090/MAX98091) can be specified from device-tree file,
 it can also be obtained from the CODEC during runtime.

Applied both, thanks.


signature.asc
Description: Digital signature


[PATCH 1/2] ASoC: max98090: Add check for CODEC type

2014-07-04 Thread Tushar Behera
CODEC type (MAX98090/MAX98091) can be specified from device-tree file,
it can also be obtained from the CODEC during runtime.

Add an explicit check to figure out if both are matching, else print
a message warning about the same.

Signed-off-by: Tushar Behera tusha...@samsung.com
---
 sound/soc/codecs/max98090.c |   12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c
index ca74f502..1ed06d9 100644
--- a/sound/soc/codecs/max98090.c
+++ b/sound/soc/codecs/max98090.c
@@ -2215,6 +2215,7 @@ static int max98090_probe(struct snd_soc_codec *codec)
 {
struct max98090_priv *max98090 = snd_soc_codec_get_drvdata(codec);
struct max98090_cdata *cdata;
+   enum max98090_type devtype;
int ret = 0;
 
dev_dbg(codec-dev, max98090_probe\n);
@@ -2250,16 +2251,21 @@ static int max98090_probe(struct snd_soc_codec *codec)
}
 
if ((ret = M98090_REVA)  (ret = M98090_REVA + 0x0f)) {
-   max98090-devtype = MAX98090;
+   devtype = MAX98090;
dev_info(codec-dev, MAX98090 REVID=0x%02x\n, ret);
} else if ((ret = M98091_REVA)  (ret = M98091_REVA + 0x0f)) {
-   max98090-devtype = MAX98091;
+   devtype = MAX98091;
dev_info(codec-dev, MAX98091 REVID=0x%02x\n, ret);
} else {
-   max98090-devtype = MAX98090;
+   devtype = MAX98090;
dev_err(codec-dev, Unrecognized revision 0x%02x\n, ret);
}
 
+   if (max98090-devtype != devtype) {
+   dev_warn(codec-dev, Mismatch in DT specified CODEC type.\n);
+   max98090-devtype = devtype;
+   }
+
max98090-jack_state = M98090_JACK_STATE_NO_HEADSET;
 
INIT_DELAYED_WORK(max98090-jack_work, max98090_jack_work);
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/