The multi-component patch(commit 
f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but there are quite a few drivers left which now have an unused reg_cache field in
their private device struct.
This patch removes these unused fields.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
 
 
        int                     irq[4];
        unsigned char           name[4][MAX_NAME_LEN];
-       unsigned char           reg_cache[REG_CACHE_SIZE];
 };
 
 /* -9450dB to 0dB in 150dB steps ( mute instead of -9450dB) */
 
 
 /* codec private data */
 struct ad193x_priv {
-       u8 reg_cache[AD193X_NUM_REGS];
        enum snd_soc_control_type bus_type;
        void *control_data;
        int sysclk;
 
 struct ak4671_priv {
        enum snd_soc_control_type control_type;
        void *control_data;
-       u8 reg_cache[AK4671_CACHEREGNUM];
 };
 
 /* ak4671 register cache & default register settings */
 
 struct cs4270_private {
        enum snd_soc_control_type control_type;
        void *control_data;
-       u8 reg_cache[CS4270_NUMREGS];
        unsigned int mclk; /* Input frequency of the MCLK pin */
        unsigned int mode; /* The mode (I2S or left-justified) */
        unsigned int slave_mode;
 
        unsigned int mclk;
        unsigned int audio_mode;        /* The mode (I2S or left-justified) */
        enum master_slave_mode func;
-       u8 reg_cache[CS42L51_NUMREGS];
 };
 
 #define CS42L51_FORMATS ( \
 
 struct cx20442_priv {
        enum snd_soc_control_type control_type;
        void *control_data;
-       u8 reg_cache[1];
 };
 
 #define CX20442_PM             0x0
 
 struct aic26 {
        struct spi_device *spi;
        struct snd_soc_codec codec;
-       u16 reg_cache[AIC26_NUM_REGS];  /* shadow registers */
        int master;
        int datfm;
        int mclk;
  */
 static int aic26_probe(struct snd_soc_codec *codec)
 {
-       struct aic26 *aic26 = snd_soc_codec_get_drvdata(codec);
        int ret, err, i, reg;
 
        dev_info(codec->dev, "Probing AIC26 SoC CODEC driver\n");
        aic26_reg_write(codec, AIC26_REG_AUDIO_CTRL3, reg);
 
        /* Fill register cache */
-       for (i = 0; i < ARRAY_SIZE(aic26->reg_cache); i++)
+       for (i = 0; i < codec->driver->reg_cache_size; i++)
                aic26_reg_read(codec, i);
 
        /* Register the sysfs files for debugging */
 
 /* codec private data */
 struct uda1380_priv {
        struct snd_soc_codec *codec;
-       u16 reg_cache[UDA1380_CACHEREGNUM];
        unsigned int dac_clk;
        struct work_struct work;
        void *control_data;
 
 struct wm8580_priv {
        enum snd_soc_control_type control_type;
        struct regulator_bulk_data supplies[WM8580_NUM_SUPPLIES];
-       u16 reg_cache[WM8580_MAX_REGISTER + 1];
        struct pll_state a;
        struct pll_state b;
        int sysclk[2];
 
 /* codec private data */
 struct wm8711_priv {
        enum snd_soc_control_type bus_type;
-       u16 reg_cache[WM8711_CACHEREGNUM];
        unsigned int sysclk;
 };
 
 
 struct wm8731_priv {
        enum snd_soc_control_type control_type;
        struct regulator_bulk_data supplies[WM8731_NUM_SUPPLIES];
-       u16 reg_cache[WM8731_CACHEREGNUM];
        unsigned int sysclk;
        int sysclk_type;
        int playback_fs;
 
 struct wm8750_priv {
        unsigned int sysclk;
        enum snd_soc_control_type control_type;
-       u16 reg_cache[ARRAY_SIZE(wm8750_reg)];
 };
 
 #define wm8750_reset(c)        snd_soc_write(c, WM8750_RESET, 0)
 
 
 struct wm8900_priv {
        enum snd_soc_control_type control_type;
-       u16 reg_cache[WM8900_MAXREG];
 
        u32 fll_in; /* FLL input frequency */
        u32 fll_out; /* FLL output frequency */
 
 
 struct wm8903_priv {
 
-       u16 reg_cache[ARRAY_SIZE(wm8903_reg_defaults)];
-
        int sysclk;
        int irq;
 
 
 
 struct wm8940_priv {
        unsigned int sysclk;
-       u16 reg_cache[WM8940_CACHEREGNUM];
        enum snd_soc_control_type control_type;
        void *control_data;
 };
 
 };
 
 struct wm8960_priv {
-       u16 reg_cache[WM8960_CACHEREGNUM];
        enum snd_soc_control_type control_type;
        void *control_data;
        int (*set_bias_level)(struct snd_soc_codec *,
 
 struct wm8961_priv {
        enum snd_soc_control_type control_type;
        int sysclk;
-       u16 reg_cache[WM8961_MAX_REGISTER];
 };
 
 static int wm8961_volatile_register(unsigned int reg)
 
 
 struct wm8974_priv {
        enum snd_soc_control_type control_type;
-       u16 reg_cache[WM8974_CACHEREGNUM];
 };
 
 #define wm8974_reset(c)        snd_soc_write(c, WM8974_RESET, 0)
 
        unsigned int f_opclk;
        int mclk_idx;
        enum wm8978_sysclk_src sysclk;
-       u16 reg_cache[WM8978_CACHEREGNUM];
 };
 
 static const char *wm8978_companding[] = {"Off", "NC", "u-law", "A-law"};
 
        unsigned int sysclk;
        enum snd_soc_control_type control_type;
        struct snd_pcm_hw_constraint_list *sysclk_constraints;
-       u16 reg_cache[WM8988_NUM_REG];
 };
 
 
 
 
 struct wm8993_priv {
        struct wm_hubs_data hubs_data;
-       u16 reg_cache[WM8993_REGISTER_COUNT];
        struct regulator_bulk_data supplies[WM8993_NUM_SUPPLIES];
        struct wm8993_platform_data pdata;
        enum snd_soc_control_type control_type;
 
 struct wm9081_priv {
        enum snd_soc_control_type control_type;
        void *control_data;
-       u16 reg_cache[WM9081_MAX_REGISTER + 1];
        int sysclk_source;
        int mclk_rate;
        int sysclk_rate;