Merge "asoc: bolero: Add codec version info to support ADIE RTC"

This commit is contained in:
Linux Build Service Account 2018-08-30 14:14:49 -07:00 • committed by Gerrit - the friendly Code Review server
commit 55d2545daa

View file

@ -23,6 +23,8 @@
#include "internal.h"
#define BOLERO_VERSION_1_0 0x0001
#define BOLERO_VERSION_1_1 0x0002
#define BOLERO_VERSION_1_2 0x0003
#define BOLERO_VERSION_ENTRY_SIZE 32
static struct snd_soc_codec_driver bolero;
@ -412,6 +414,12 @@ static ssize_t bolero_version_read(struct snd_info_entry *entry,
case BOLERO_VERSION_1_0:
len = snprintf(buffer, sizeof(buffer), "BOLERO_1_0\n");
break;
case BOLERO_VERSION_1_1:
len = snprintf(buffer, sizeof(buffer), "BOLERO_1_1\n");
break;
case BOLERO_VERSION_1_2:
len = snprintf(buffer, sizeof(buffer), "BOLERO_1_2\n");
break;
default:
len = snprintf(buffer, sizeof(buffer), "VER_UNDEFINED\n");
}
@ -499,7 +507,20 @@ static int bolero_soc_codec_probe(struct snd_soc_codec *codec)
}
}
priv->codec = codec;
priv->version = BOLERO_VERSION_1_0;
/*
* In order for the ADIE RTC to differentiate between targets
* version info is used.
* Assign 1.0 for target with only one macro
* Assign 1.1 for target with two macros
* Assign 1.2 for target with more than two macros
*/
if (priv->num_macros_registered == 1)
priv->version = BOLERO_VERSION_1_0;
else if (priv->num_macros_registered == 2)
priv->version = BOLERO_VERSION_1_1;
else if (priv->num_macros_registered > 2)
priv->version = BOLERO_VERSION_1_2;
dev_dbg(codec->dev, "%s: bolero soc codec probe success\n", __func__);
err:
return ret;