staging: greybus: audio: Cleanup junk codec registers
authorVaibhav Agarwal <vaibhav.agarwal@linaro.org>
Wed, 18 Jan 2017 17:21:52 +0000 (22:51 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Jan 2017 10:08:00 +0000 (11:08 +0100)
Dummy codec register were initially added while populating dummy codec
mixer controls until module topology parser was available. Now, these
dummy registers are nowhere used and thus can be safely removed.

Since ASoC framework requires a valid callback for both read & write
register APIS, currently empty placeholders are kept to avoid panic.

Later, register mapping logic can be defined:
1. Assuming fixed number of maximum modules connected and register bits
corresponds to basic info of each module OR
2. With a logic to dynamically grow register_cache_size based on codec
modules added/removed.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Signed-off-by: Vaibhav Agarwal <vaibhav.sr@gmail.com>
Acked-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/greybus/audio_codec.c
drivers/staging/greybus/audio_codec.h

index b9d66278ff8767a864bf86eb68e5d5d433584e5a..30941f9e380dc339ba57b0a4a9d8122656e026cd 100644 (file)
@@ -1026,47 +1026,16 @@ static int gbcodec_remove(struct snd_soc_codec *codec)
        return 0;
 }
 
-static u8 gbcodec_reg[GBCODEC_REG_COUNT] = {
-       [GBCODEC_CTL_REG] = GBCODEC_CTL_REG_DEFAULT,
-       [GBCODEC_MUTE_REG] = GBCODEC_MUTE_REG_DEFAULT,
-       [GBCODEC_PB_LVOL_REG] = GBCODEC_PB_VOL_REG_DEFAULT,
-       [GBCODEC_PB_RVOL_REG] = GBCODEC_PB_VOL_REG_DEFAULT,
-       [GBCODEC_CAP_LVOL_REG] = GBCODEC_CAP_VOL_REG_DEFAULT,
-       [GBCODEC_CAP_RVOL_REG] = GBCODEC_CAP_VOL_REG_DEFAULT,
-       [GBCODEC_APB1_MUX_REG] = GBCODEC_APB1_MUX_REG_DEFAULT,
-       [GBCODEC_APB2_MUX_REG] = GBCODEC_APB2_MUX_REG_DEFAULT,
-};
-
 static int gbcodec_write(struct snd_soc_codec *codec, unsigned int reg,
                         unsigned int value)
 {
-       int ret = 0;
-
-       if (reg == SND_SOC_NOPM)
-               return 0;
-
-       BUG_ON(reg >= GBCODEC_REG_COUNT);
-
-       gbcodec_reg[reg] = value;
-       dev_dbg(codec->dev, "reg[%d] = 0x%x\n", reg, value);
-
-       return ret;
+       return 0;
 }
 
 static unsigned int gbcodec_read(struct snd_soc_codec *codec,
                                 unsigned int reg)
 {
-       unsigned int val = 0;
-
-       if (reg == SND_SOC_NOPM)
-               return 0;
-
-       BUG_ON(reg >= GBCODEC_REG_COUNT);
-
-       val = gbcodec_reg[reg];
-       dev_dbg(codec->dev, "reg[%d] = 0x%x\n", reg, val);
-
-       return val;
+       return 0;
 }
 
 static struct snd_soc_codec_driver soc_codec_dev_gbaudio = {
@@ -1076,10 +1045,6 @@ static struct snd_soc_codec_driver soc_codec_dev_gbaudio = {
        .read = gbcodec_read,
        .write = gbcodec_write,
 
-       .reg_cache_size = GBCODEC_REG_COUNT,
-       .reg_cache_default = gbcodec_reg_defaults,
-       .reg_word_size = 1,
-
        .idle_bias_off = true,
        .ignore_pmdown_time = 1,
 };
index 62fd93939a1f2c98e698d3e6af1c90a0a11ce01e..6fb064c69a364a5ac1a216c70b31974e75ded7f1 100644 (file)
@@ -24,18 +24,6 @@ enum {
        NUM_CODEC_DAIS,
 };
 
-enum gbcodec_reg_index {
-       GBCODEC_CTL_REG,
-       GBCODEC_MUTE_REG,
-       GBCODEC_PB_LVOL_REG,
-       GBCODEC_PB_RVOL_REG,
-       GBCODEC_CAP_LVOL_REG,
-       GBCODEC_CAP_RVOL_REG,
-       GBCODEC_APB1_MUX_REG,
-       GBCODEC_APB2_MUX_REG,
-       GBCODEC_REG_COUNT
-};
-
 /* device_type should be same as defined in audio.h (Android media layer) */
 enum {
        GBAUDIO_DEVICE_NONE                     = 0x0,
@@ -51,42 +39,9 @@ enum {
        GBAUDIO_DEVICE_IN_WIRED_HEADSET         = GBAUDIO_DEVICE_BIT_IN | 0x10,
 };
 
-/* bit 0-SPK, 1-HP, 2-DAC,
- * 4-MIC, 5-HSMIC, 6-MIC2
- */
-#define GBCODEC_CTL_REG_DEFAULT                0x00
-
-/* bit 0,1 - APB1-PB-L/R
- * bit 2,3 - APB2-PB-L/R
- * bit 4,5 - APB1-Cap-L/R
- * bit 6,7 - APB2-Cap-L/R
- */
-#define        GBCODEC_MUTE_REG_DEFAULT        0x00
-
-/* 0-127 steps */
-#define        GBCODEC_PB_VOL_REG_DEFAULT      0x00
-#define        GBCODEC_CAP_VOL_REG_DEFAULT     0x00
-
-/* bit 0,1,2 - PB stereo, left, right
- * bit 8,9,10 - Cap stereo, left, right
- */
-#define GBCODEC_APB1_MUX_REG_DEFAULT   0x00
-#define GBCODEC_APB2_MUX_REG_DEFAULT   0x00
-
 #define GBCODEC_JACK_MASK              0x0000FFFF
 #define GBCODEC_JACK_BUTTON_MASK       0xFFFF0000
 
-static const u8 gbcodec_reg_defaults[GBCODEC_REG_COUNT] = {
-       GBCODEC_CTL_REG_DEFAULT,
-       GBCODEC_MUTE_REG_DEFAULT,
-       GBCODEC_PB_VOL_REG_DEFAULT,
-       GBCODEC_PB_VOL_REG_DEFAULT,
-       GBCODEC_CAP_VOL_REG_DEFAULT,
-       GBCODEC_CAP_VOL_REG_DEFAULT,
-       GBCODEC_APB1_MUX_REG_DEFAULT,
-       GBCODEC_APB2_MUX_REG_DEFAULT,
-};
-
 enum gbaudio_codec_state {
        GBAUDIO_CODEC_SHUTDOWN = 0,
        GBAUDIO_CODEC_STARTUP,
@@ -116,7 +71,6 @@ struct gbaudio_codec_info {
        /* to maintain runtime stream params for each DAI */
        struct list_head dai_list;
        struct mutex lock;
-       u8 reg[GBCODEC_REG_COUNT];
 };
 
 struct gbaudio_widget {