[alsa-devel] [PATCH] make samsung interface entries explicitly
I found those modules should be selected directly, as I only use the simple sound card.
Randy Li (1): ASoC: samsung: make audio interface/controller explicitly
sound/soc/samsung/Kconfig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
It is simple sound card time, we could assign different codec to a interface without making a specific driver for it.
Signed-off-by: Randy Li ayaka@soulik.info --- sound/soc/samsung/Kconfig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig index 7b722b0..b7b3a38 100644 --- a/sound/soc/samsung/Kconfig +++ b/sound/soc/samsung/Kconfig @@ -18,18 +18,18 @@ config SND_S3C2412_SOC_I2S select SND_S3C_I2SV2_SOC
config SND_SAMSUNG_PCM - tristate + tristate "Samsung PCM interface support"
config SND_SAMSUNG_AC97 - tristate + tristate "Samsung AC97 controller support" select SND_SOC_AC97_BUS
config SND_SAMSUNG_SPDIF - tristate + tristate "Samsung SPDIF transmitter support" select SND_SOC_SPDIF
config SND_SAMSUNG_I2S - tristate + tristate "Samsung I2S interface support"
config SND_SOC_SAMSUNG_NEO1973_WM8753 tristate "Audio support for Openmoko Neo1973 Smartphones (GTA02)"
On Sun, Sep 18, 2016 at 10:09:11PM +0800, Randy Li wrote:
It is simple sound card time, we could assign different codec to a interface without making a specific driver for it.
The description does not convince me and I do not see an example using this. Could you provide one?
Best regards, Krzysztof
Signed-off-by: Randy Li ayaka@soulik.info
sound/soc/samsung/Kconfig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig index 7b722b0..b7b3a38 100644 --- a/sound/soc/samsung/Kconfig +++ b/sound/soc/samsung/Kconfig @@ -18,18 +18,18 @@ config SND_S3C2412_SOC_I2S select SND_S3C_I2SV2_SOC
config SND_SAMSUNG_PCM
- tristate
- tristate "Samsung PCM interface support"
config SND_SAMSUNG_AC97
- tristate
- tristate "Samsung AC97 controller support" select SND_SOC_AC97_BUS
config SND_SAMSUNG_SPDIF
- tristate
- tristate "Samsung SPDIF transmitter support" select SND_SOC_SPDIF
config SND_SAMSUNG_I2S
- tristate
- tristate "Samsung I2S interface support"
config SND_SOC_SAMSUNG_NEO1973_WM8753 tristate "Audio support for Openmoko Neo1973 Smartphones (GTA02)" -- 2.7.4
On 09/18/2016 10:42 PM, Krzysztof Kozlowski wrote:
On Sun, Sep 18, 2016 at 10:09:11PM +0800, Randy Li wrote:
It is simple sound card time, we could assign different codec to a interface without making a specific driver for it.
The description does not convince me and I do not see an example using this. Could you provide one?
Sorry, the board TOPEET iTop 4412 for exynos 4412 I posted supported codec with I2S interface using the simple sound card. Anyway, it is no harm to make them explicitly right? Or I have to enabled those codec support for SMDK, which is not needed for the other board.
Best regards, Krzysztof
Signed-off-by: Randy Li ayaka@soulik.info
sound/soc/samsung/Kconfig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig index 7b722b0..b7b3a38 100644 --- a/sound/soc/samsung/Kconfig +++ b/sound/soc/samsung/Kconfig @@ -18,18 +18,18 @@ config SND_S3C2412_SOC_I2S select SND_S3C_I2SV2_SOC
config SND_SAMSUNG_PCM
- tristate
tristate "Samsung PCM interface support"
config SND_SAMSUNG_AC97
- tristate
tristate "Samsung AC97 controller support" select SND_SOC_AC97_BUS
config SND_SAMSUNG_SPDIF
- tristate
tristate "Samsung SPDIF transmitter support" select SND_SOC_SPDIF
config SND_SAMSUNG_I2S
- tristate
tristate "Samsung I2S interface support"
config SND_SOC_SAMSUNG_NEO1973_WM8753 tristate "Audio support for Openmoko Neo1973 Smartphones (GTA02)"
-- 2.7.4
On Sun, Sep 18, 2016 at 11:12:34PM +0800, ayaka wrote:
On 09/18/2016 10:42 PM, Krzysztof Kozlowski wrote:
On Sun, Sep 18, 2016 at 10:09:11PM +0800, Randy Li wrote:
It is simple sound card time, we could assign different codec to a interface without making a specific driver for it.
The description does not convince me and I do not see an example using this. Could you provide one?
Sorry, the board TOPEET iTop 4412 for exynos 4412 I posted supported codec with I2S interface using the simple sound card. Anyway, it is no harm to make them explicitly right?
kbuild gave you the answer...
Or I have to enabled those codec support for SMDK, which is not needed for the other board.
If I understand correctly, the i2s/pcm etc are still needed but not built in config choosing only simple-audio-card? I tried now such configuration on Odroid XU and indeed the audio is missing.
The patch looks like needed but: 1. You need to describe the rationale in commit message, why it is needed. 2. You need to fix it... kbuild pointed build issues.
Other solution would be to add a user-selectable option for generic sound on Samsung using simple audio card. The option would then select appropriate SND_SAMSUNG* options, just like specific drivers do. I see that sh does like this. Personally this approach seems simpler to me - the defconfig could just choose this generic sound instead of many SND_SAMSUNG_* sub-options.
Best regards, Krzysztof
Best regards, Krzysztof
Signed-off-by: Randy Li ayaka@soulik.info
sound/soc/samsung/Kconfig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig index 7b722b0..b7b3a38 100644 --- a/sound/soc/samsung/Kconfig +++ b/sound/soc/samsung/Kconfig @@ -18,18 +18,18 @@ config SND_S3C2412_SOC_I2S select SND_S3C_I2SV2_SOC config SND_SAMSUNG_PCM
- tristate
- tristate "Samsung PCM interface support"
config SND_SAMSUNG_AC97
- tristate
- tristate "Samsung AC97 controller support" select SND_SOC_AC97_BUS
config SND_SAMSUNG_SPDIF
- tristate
- tristate "Samsung SPDIF transmitter support" select SND_SOC_SPDIF
config SND_SAMSUNG_I2S
- tristate
- tristate "Samsung I2S interface support"
config SND_SOC_SAMSUNG_NEO1973_WM8753 tristate "Audio support for Openmoko Neo1973 Smartphones (GTA02)" -- 2.7.4
Hi Randy,
[auto build test ERROR on asoc/for-next] [also build test ERROR on v4.8-rc6 next-20160916] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information]
url: https://github.com/0day-ci/linux/commits/Randy-Li/ASoC-samsung-make-audio-in... base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next config: parisc-allmodconfig (attached as .config) compiler: hppa-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/ma... -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=parisc
All error/warnings (new ones prefixed by >>):
sound/soc/samsung/i2s.c:106:26: error: field 'clk_data' has incomplete type
struct clk_onecell_data clk_data; ^~~~~~~~ sound/soc/samsung/i2s.c: In function 'i2s_unregister_clocks':
sound/soc/samsung/i2s.c:1141:4: error: implicit declaration of function 'clk_unregister' [-Werror=implicit-function-declaration]
clk_unregister(i2s->clk_table[i]); ^~~~~~~~~~~~~~ sound/soc/samsung/i2s.c: In function 'i2s_unregister_clock_provider':
sound/soc/samsung/i2s.c:1149:2: error: implicit declaration of function 'of_clk_del_provider' [-Werror=implicit-function-declaration]
of_clk_del_provider(pdev->dev.of_node); ^~~~~~~~~~~~~~~~~~~ sound/soc/samsung/i2s.c: In function 'i2s_register_clock_provider':
sound/soc/samsung/i2s.c:1172:16: error: implicit declaration of function '__clk_get_name' [-Werror=implicit-function-declaration]
p_names[i] = __clk_get_name(rclksrc); ^~~~~~~~~~~~~~
sound/soc/samsung/i2s.c:1172:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
p_names[i] = __clk_get_name(rclksrc); ^
sound/soc/samsung/i2s.c:1181:38: error: implicit declaration of function 'clk_register_mux' [-Werror=implicit-function-declaration]
i2s->clk_table[CLK_I2S_RCLK_SRC] = clk_register_mux(NULL, ^~~~~~~~~~~~~~~~
sound/soc/samsung/i2s.c:1183:5: error: 'CLK_SET_RATE_NO_REPARENT' undeclared (first use in this function)
CLK_SET_RATE_NO_REPARENT | CLK_SET_RATE_PARENT, ^~~~~~~~~~~~~~~~~~~~~~~~ sound/soc/samsung/i2s.c:1183:5: note: each undeclared identifier is reported only once for each function it appears in
sound/soc/samsung/i2s.c:1183:32: error: 'CLK_SET_RATE_PARENT' undeclared (first use in this function)
CLK_SET_RATE_NO_REPARENT | CLK_SET_RATE_PARENT, ^~~~~~~~~~~~~~~~~~~
sound/soc/samsung/i2s.c:1187:38: error: implicit declaration of function 'clk_register_divider' [-Werror=implicit-function-declaration]
i2s->clk_table[CLK_I2S_RCLK_PSR] = clk_register_divider(NULL, ^~~~~~~~~~~~~~~~~~~~
sound/soc/samsung/i2s.c:1198:34: error: implicit declaration of function 'clk_register_gate' [-Werror=implicit-function-declaration]
i2s->clk_table[CLK_I2S_CDCLK] = clk_register_gate(NULL, clk_name[0], ^~~~~~~~~~~~~~~~~
sound/soc/samsung/i2s.c:1201:5: error: 'CLK_GATE_SET_TO_DISABLE' undeclared (first use in this function)
CLK_GATE_SET_TO_DISABLE, i2s->lock); ^~~~~~~~~~~~~~~~~~~~~~~
sound/soc/samsung/i2s.c:1206:8: error: implicit declaration of function 'of_clk_add_provider' [-Werror=implicit-function-declaration]
ret = of_clk_add_provider(dev->of_node, of_clk_src_onecell_get, ^~~~~~~~~~~~~~~~~~~
sound/soc/samsung/i2s.c:1206:42: error: 'of_clk_src_onecell_get' undeclared (first use in this function)
ret = of_clk_add_provider(dev->of_node, of_clk_src_onecell_get, ^~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors
vim +/clk_data +106 sound/soc/samsung/i2s.c
69e7a69a2 sound/soc/samsung/i2s.c Sylwester Nawrocki 2016-08-04 90 struct snd_dmaengine_dai_dma_data dma_playback; 69e7a69a2 sound/soc/samsung/i2s.c Sylwester Nawrocki 2016-08-04 91 struct snd_dmaengine_dai_dma_data dma_capture; 69e7a69a2 sound/soc/samsung/i2s.c Sylwester Nawrocki 2016-08-04 92 struct snd_dmaengine_dai_dma_data idma_playback; 9bdca822c sound/soc/samsung/i2s.c Arnd Bergmann 2015-11-18 93 dma_filter_fn filter; 1c7ac0180 sound/soc/s3c24xx/i2s.c Jassi Brar 2010-11-22 94 u32 quirks; 1c7ac0180 sound/soc/s3c24xx/i2s.c Jassi Brar 2010-11-22 95 u32 suspend_i2smod; 1c7ac0180 sound/soc/s3c24xx/i2s.c Jassi Brar 2010-11-22 96 u32 suspend_i2scon; 1c7ac0180 sound/soc/s3c24xx/i2s.c Jassi Brar 2010-11-22 97 u32 suspend_i2spsr; a5a56871f sound/soc/samsung/i2s.c Padmavathi Venna 2014-11-07 98 const struct samsung_i2s_variant_regs *variant_regs; f36705366 sound/soc/samsung/i2s.c Sylwester Nawrocki 2015-01-14 99 f36705366 sound/soc/samsung/i2s.c Sylwester Nawrocki 2015-01-14 100 /* Spinlock protecting access to the device's registers */ f36705366 sound/soc/samsung/i2s.c Sylwester Nawrocki 2015-01-14 101 spinlock_t spinlock; f36705366 sound/soc/samsung/i2s.c Sylwester Nawrocki 2015-01-14 102 spinlock_t *lock; 074b89bb5 sound/soc/samsung/i2s.c Sylwester Nawrocki 2015-01-14 103 074b89bb5 sound/soc/samsung/i2s.c Sylwester Nawrocki 2015-01-14 104 /* Below fields are only valid if this is the primary FIFO */ 074b89bb5 sound/soc/samsung/i2s.c Sylwester Nawrocki 2015-01-14 105 struct clk *clk_table[3]; 074b89bb5 sound/soc/samsung/i2s.c Sylwester Nawrocki 2015-01-14 @106 struct clk_onecell_data clk_data; 1c7ac0180 sound/soc/s3c24xx/i2s.c Jassi Brar 2010-11-22 107 }; 1c7ac0180 sound/soc/s3c24xx/i2s.c Jassi Brar 2010-11-22 108 1c7ac0180 sound/soc/s3c24xx/i2s.c Jassi Brar 2010-11-22 109 /* Lock for cross i/f checks */ 1c7ac0180 sound/soc/s3c24xx/i2s.c Jassi Brar 2010-11-22 110 static DEFINE_SPINLOCK(lock); 1c7ac0180 sound/soc/s3c24xx/i2s.c Jassi Brar 2010-11-22 111 1c7ac0180 sound/soc/s3c24xx/i2s.c Jassi Brar 2010-11-22 112 /* If this is the 'overlay' stereo DAI */ 1c7ac0180 sound/soc/s3c24xx/i2s.c Jassi Brar 2010-11-22 113 static inline bool is_secondary(struct i2s_dai *i2s) 1c7ac0180 sound/soc/s3c24xx/i2s.c Jassi Brar 2010-11-22 114 {
:::::: The code at line 106 was first introduced by commit :::::: 074b89bb5fb7e80e0f98f1b45f276b0386269e3d ASoC: samsung: i2s: Add clock provider for the I2S internal clocks
:::::: TO: Sylwester Nawrocki s.nawrocki@samsung.com :::::: CC: Mark Brown broonie@kernel.org
--- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Hi Randy,
[auto build test ERROR on asoc/for-next] [also build test ERROR on v4.8-rc7 next-20160916] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information]
url: https://github.com/0day-ci/linux/commits/Randy-Li/ASoC-samsung-make-audio-in... base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next config: i386-allyesconfig (attached as .config) compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705 reproduce: # save the attached .config to linux build tree make ARCH=i386
All errors (new ones prefixed by >>):
sound/built-in.o: In function `s3c_ac97_probe':
ac97.c:(.text+0x336f9d): undefined reference to `samsung_asoc_dma_platform_register'
sound/built-in.o: In function `spdif_probe':
spdif.c:(.text+0x3378de): undefined reference to `samsung_asoc_dma_platform_register'
sound/built-in.o: In function `s3c_pcm_dev_probe':
pcm.c:(.text+0x3380e7): undefined reference to `samsung_asoc_dma_platform_register'
sound/built-in.o: In function `samsung_i2s_probe':
i2s.c:(.text+0x338c01): undefined reference to `samsung_asoc_dma_platform_register'
i2s.c:(.text+0x338ef6): undefined reference to `samsung_asoc_dma_platform_register'
--- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
On Sun, Sep 18, 2016 at 10:09:11PM +0800, Randy Li wrote:
It is simple sound card time, we could assign different codec to a interface without making a specific driver for it.
config SND_SAMSUNG_AC97
- tristate
- tristate "Samsung AC97 controller support" select SND_SOC_AC97_BUS
Are you *sure* simple-card works for AC'97?
On Sun, Sep 18, 2016 at 10:09:10PM +0800, Randy Li wrote:
I found those modules should be selected directly, as I only use the simple sound card.
Please don't send cover letters for single patches, if there is anything that needs saying put it in the changelog of the patch or after the --- if it's administrative stuff. This reduces mail volume and ensures that any important information is recorded in the changelog rather than being lost.
participants (5)
-
ayaka
-
kbuild test robot
-
Krzysztof Kozlowski
-
Mark Brown
-
Randy Li