ASoC: soc-io: Fix CONFIG_REGMAP_I2C/SPI guards to support regmap modules
authorStephen Warren <swarren@nvidia.com>
Thu, 11 Aug 2011 17:59:11 +0000 (11:59 -0600)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 12 Aug 2011 02:51:42 +0000 (11:51 +0900)
When CONFIG_REGMAP_I2C/SPI are m, CONFIG_REGMAP_I2C_MODULE is set in the
pre-processor instead of CONFIG_REGMAP_I2C. This removes SND_SOC_I2C as a
valid option for snd_soc_codec_set_cache_io()'s control parameter, and
causes any ASoC regmap-using codec built as a module to fail to initialize.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/soc-io.c

index be5aac3..22b6431 100644 (file)
@@ -122,14 +122,14 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
        config.val_bits = data_bits;
 
        switch (control) {
-#ifdef CONFIG_REGMAP_I2C
+#if defined(CONFIG_REGMAP_I2C) || defined(CONFIG_REGMAP_I2C_MODULE)
        case SND_SOC_I2C:
                codec->control_data = regmap_init_i2c(to_i2c_client(codec->dev),
                                                      &config);
                break;
 #endif
 
-#ifdef CONFIG_REGMAP_SPI
+#if defined(CONFIG_REGMAP_SPI) || defined(CONFIG_REGMAP_SPI_MODULE)
        case SND_SOC_SPI:
                codec->control_data = regmap_init_spi(to_spi_device(codec->dev),
                                                      &config);