Skip to content

Commit

Permalink
ASoC: dwc: Disallow building designware_pcm as a module
Browse files Browse the repository at this point in the history
Designware PCM is an extension to Designware I2S and they are dependent
on each other. For this reason, make Designware PCM a boolean which will
compile with Desigwnare I2S module. The name of the module is not changed
but the name of the files need to be changed.

Also, without this commit we get errors when probbing designware_i2s module
because of unspecified license:

designware_pcm: module license 'unspecified' taints kernel.
Disabling lock debugging due to kernel taint
designware_pcm: Unknown symbol __rcu_read_lock (err 0)
designware_pcm: Unknown symbol devm_snd_soc_register_platform (err 0)
designware_pcm: Unknown symbol synchronize_rcu (err 0)
designware_pcm: Unknown symbol __rcu_read_unlock (err 0)
designware_pcm: Unknown symbol snd_soc_set_runtime_hwparams (err 0)

So, this is really needed as a fix.

Fixes: 79361b2 ("ASoC: dwc: Add PIO PCM extension")
Signed-off-by: Lubomir Rintel <[email protected]>
Signed-off-by: Jose Abreu <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
  • Loading branch information
joabreu authored and broonie committed Apr 30, 2017
1 parent c1ae3cf commit c9afc18
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 8 deletions.
4 changes: 2 additions & 2 deletions sound/soc/dwc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ config SND_DESIGNWARE_I2S
maximum of 8 channels each for play and record.

config SND_DESIGNWARE_PCM
tristate "PCM PIO extension for I2S driver"
bool "PCM PIO extension for I2S driver"
depends on SND_DESIGNWARE_I2S
help
Say Y, M or N if you want to add a custom ALSA extension that registers
Say Y or N if you want to add a custom ALSA extension that registers
a PCM and uses PIO to transfer data.

This functionality is specially suited for I2S devices that don't have
Expand Down
6 changes: 3 additions & 3 deletions sound/soc/dwc/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SYNOPSYS Platform Support
obj-$(CONFIG_SND_DESIGNWARE_I2S) += designware_i2s.o
ifdef CONFIG_SND_DESIGNWARE_PCM
obj-$(CONFIG_SND_DESIGNWARE_I2S) += designware_pcm.o
endif

designware_i2s-y := dwc-i2s.o
designware_i2s-$(CONFIG_SND_DESIGNWARE_PCM) += dwc-pcm.o
File renamed without changes.
3 changes: 0 additions & 3 deletions sound/soc/dwc/designware_pcm.c → sound/soc/dwc/dwc-pcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,13 +129,11 @@ void dw_pcm_push_tx(struct dw_i2s_dev *dev)
{
dw_pcm_transfer(dev, true);
}
EXPORT_SYMBOL_GPL(dw_pcm_push_tx);

void dw_pcm_pop_rx(struct dw_i2s_dev *dev)
{
dw_pcm_transfer(dev, false);
}
EXPORT_SYMBOL_GPL(dw_pcm_pop_rx);

static int dw_pcm_open(struct snd_pcm_substream *substream)
{
Expand Down Expand Up @@ -281,4 +279,3 @@ int dw_pcm_register(struct platform_device *pdev)
{
return devm_snd_soc_register_platform(&pdev->dev, &dw_pcm_platform);
}
EXPORT_SYMBOL_GPL(dw_pcm_register);

0 comments on commit c9afc18

Please sign in to comment.