[alsa-devel] [PATCH 1/2] regmap: Specify a module license
CONFIG_REGMAP_I2C/SPI are set to m when selected by a tristate config option that's set to m. The regmap modules don't specify a license, so fail to link to regmap_init at load time, since that is EXPORT_SYMBOL_GPL. Fix this by specifying a license for the regmap modules.
Signed-off-by: Stephen Warren swarren@nvidia.com --- drivers/base/regmap/regmap-i2c.c | 1 + drivers/base/regmap/regmap-spi.c | 2 ++ 2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/base/regmap/regmap-i2c.c b/drivers/base/regmap/regmap-i2c.c index e6ce82d..e7d916d 100644 --- a/drivers/base/regmap/regmap-i2c.c +++ b/drivers/base/regmap/regmap-i2c.c @@ -112,3 +112,4 @@ struct regmap *regmap_init_i2c(struct i2c_client *i2c, } EXPORT_SYMBOL_GPL(regmap_init_i2c);
+MODULE_LICENSE("GPL"); diff --git a/drivers/base/regmap/regmap-spi.c b/drivers/base/regmap/regmap-spi.c index 07633bd..cc0f116 100644 --- a/drivers/base/regmap/regmap-spi.c +++ b/drivers/base/regmap/regmap-spi.c @@ -69,3 +69,5 @@ struct regmap *regmap_init_spi(struct spi_device *spi, return regmap_init(&spi->dev, ®map_spi, config); } EXPORT_SYMBOL_GPL(regmap_init_spi); + +MODULE_LICENSE("GPL");
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 --- sound/soc/soc-io.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/soc-io.c b/sound/soc/soc-io.c index be5aac3..22b6431 100644 --- a/sound/soc/soc-io.c +++ b/sound/soc/soc-io.c @@ -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);
On Thu, Aug 11, 2011 at 11:59:11AM -0600, Stephen Warren wrote:
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.
Applied, thanks.
On Thu, Aug 11, 2011 at 11:59:10AM -0600, Stephen Warren wrote:
CONFIG_REGMAP_I2C/SPI are set to m when selected by a tristate config option that's set to m. The regmap modules don't specify a license, so fail to link to regmap_init at load time, since that is EXPORT_SYMBOL_GPL. Fix this by specifying a license for the regmap modules.
Signed-off-by: Stephen Warren swarren@nvidia.com
Applied, thanks.
Please do remember to send your patches to the right lists (this should have gone to lkml, it's nothing to do with ASoC - or the following patch really).
participants (2)
-
Mark Brown
-
Stephen Warren