summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sound/soc/codecs/max98088.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/sound/soc/codecs/max98088.c b/sound/soc/codecs/max98088.c
index cee6354656e7..e2ad10d2deaa 100644
--- a/sound/soc/codecs/max98088.c
+++ b/sound/soc/codecs/max98088.c
@@ -2073,6 +2073,15 @@ static int max98088_probe(struct snd_soc_codec *codec)
max98088->mic1pre = 0;
max98088->mic2pre = 0;
+ ret = snd_soc_read(codec, M98088_REG_FF_REV_ID);
+ if (ret != 0x40) {
+ dev_err(codec->dev, "Failed to read device revision: %d\n",
+ ret);
+ ret = -ENODEV;
+ goto err_access;
+ }
+ dev_info(codec->dev, "revision %c\n", ret + 'A');
+
if (max98088->irq) {
/* register an audio interrupt */
ret = request_threaded_irq(max98088->irq, NULL,
@@ -2085,14 +2094,6 @@ static int max98088_probe(struct snd_soc_codec *codec)
}
}
- ret = snd_soc_read(codec, M98088_REG_FF_REV_ID);
- if (ret < 0) {
- dev_err(codec->dev, "Failed to read device revision: %d\n",
- ret);
- goto err_access;
- }
- dev_info(codec->dev, "revision %c\n", ret + 'A');
-
snd_soc_write(codec, M98088_REG_51_PWR_SYS, M98088_PWRSV);
/* initialize registers cache to hardware default */