Skip to contentSkip to conversation

soc/sh: Fix I2C dependency for SND_FSI_AK4642

PATCH Superseded Peter Huewe 3 participants 10 messages Jun 14, 2010 – Jun 16, 2010

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 soc/sh: Fix I2C dependency for SND_FSI_AK4642

From: Peter Huewe <[email protected]>

The config option SND_FSI_AK4642 selects SND_SOC_AK464 which in turn enables the compilation of ak4642.c - however this codec uses I2C to communicate with the HW.

Consequently when I2C is not set, the compilation fails [1]

This patch fixes this issues.

---
References:
[1] http://kisskb.ellerman.id.au/kisskb/buildresult/2709408/
KernelVersion: linux-next 20100614

 sound/soc/sh/Kconfig |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
sound/soc/sh/Kconfig +1 -0
index a1d14bc..d26b815 100644
@@ -50,6 +50,7 @@ config SND_FSI_AK4642
 	bool "FSI-AK4642 sound support"
 	depends on SND_SOC_SH4_FSI
 	select SND_SOC_AK4642
+	select I2C
 	help
 	  This option enables generic sound support for the
 	  FSI - AK4642 unit
Signature · 1 line
1.6.4.4
#1 lore raw

sound/soc/sh/Kconfig config SND_FSI_AK4642 · line 53

Quoted 4 lines · Peter Huewe
sound/soc/sh/Kconfig +1 -0
 	bool "FSI-AK4642 sound support"
 	depends on SND_SOC_SH4_FSI
 	select SND_SOC_AK4642
+	select I2C

I'd have thought a depends was more appropriate. Arguably you want to depend on the SH I2C driver since the driver is useless without the relevant I2C controller.

#2 lore raw

Am Montag 14 Juni 2010 18:10:34 schrieb Mark Brown:

Quoted 10 lines · Peter Huewe

sound/soc/sh/Kconfig config SND_FSI_AK4642 · line 53

Quoted 4 lines
sound/soc/sh/Kconfig +1 -0
 	bool "FSI-AK4642 sound support"
 	depends on SND_SOC_SH4_FSI
 	select SND_SOC_AK4642
+	select I2C

I'd have thought a depends was more appropriate. Arguably you want to depend on the SH I2C driver since the driver is useless without the relevant I2C controller.

Thanks for pointing this out - I had also a closer look at the codecs and the other FSI related codec (da7210.c) depends on I2C too.

So maybe even move the dependency up to SND_SOC_SH4_FSI since both codecs rely on I2C?

So something like this would be more appropriate?
config SND_SOC_SH4_FSI
tristate "SH4 FSI support"
+ depends on CONFIG_I2C_SH_MOBILE
help
This option enables FSI sound support

If you think this patch sounds correct, I can create a new 'official' patch.

Peter

#3 lore raw
Quoted 2 lines · Peter Hüwe

So maybe even move the dependency up to SND_SOC_SH4_FSI since both codecs rely on I2C?

No, while the two boards in mainline currently may need I2C obviously other board designs with other control interfaces are possible so it should be on the individual boards.

#4 lore raw

PATCH v2 1/1 soc/sh: Fix I2C dependency for SND_FSI_AK4642 and SND_FSI_DA7210

From: Peter Huewe <[email protected]>

The config option SND_FSI_AK4642 selects SND_SOC_AK4642 which in turn enables the compilation of ak4642.c - however this codec uses I2C to communicate with the HW.
Same applies to DA7210.

Consequently when I2C is not set, the compilation fails [1]

This patch fixes this issues, by adding a depencdency on the related HW- controller.

---
How about this one?

References:
[1] http://kisskb.ellerman.id.au/kisskb/buildresult/2709408/
KernelVersion: linux-next 20100615

 sound/soc/sh/Kconfig |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
sound/soc/sh/Kconfig +2 -2
index a1d14bc..52d7e8e 100644
@@ -48,7 +48,7 @@ config SND_SH7760_AC97
 
 config SND_FSI_AK4642
 	bool "FSI-AK4642 sound support"
-	depends on SND_SOC_SH4_FSI
+	depends on SND_SOC_SH4_FSI && I2C_SH_MOBILE
 	select SND_SOC_AK4642
 	help
 	  This option enables generic sound support for the
@@ -56,7 +56,7 @@ config SND_FSI_AK4642
 
 config SND_FSI_DA7210
 	bool "FSI-DA7210 sound support"
-	depends on SND_SOC_SH4_FSI
+	depends on SND_SOC_SH4_FSI && I2C_SH_MOBILE
 	select SND_SOC_DA7210
 	help
 	  This option enables generic sound support for the
Signature · 1 line
1.6.4.4
#5 lore raw

Re: [PATCH v2] soc/sh: Fix I2C dependency for SND_FSI_AK4642 and SND_FSI_DA7210

Quoted 5 lines · Peter Huewe

The config option SND_FSI_AK4642 selects SND_SOC_AK4642 which in turn enables the compilation of ak4642.c - however this codec uses I2C to communicate with the HW.
Same applies to DA7210.

It uses I2C, but it doesn't matter which I2C master it's interfaced with. A simple depends on I2C will suffice for this purpose just fine.

#6 lore raw

Re: [PATCH v2] soc/sh: Fix I2C dependency for SND_FSI_AK4642 and SND_FSI_DA7210

Quoted 8 lines · Paul Mundt
Quoted 4 lines · Peter Huewe

The config option SND_FSI_AK4642 selects SND_SOC_AK4642 which in turn enables the compilation of ak4642.c - however this codec uses I2C to communicate with the HW.
Same applies to DA7210.

It uses I2C, but it doesn't matter which I2C master it's interfaced with. A simple depends on I2C will suffice for this purpose just fine.

Since these are board specific drivers they know which I2C controller they are hooked up to and so can usefully depend on a specific controller - without the correct controller driver they will not function.

#7 lore raw

Re: [PATCH v2] soc/sh: Fix I2C dependency for SND_FSI_AK4642 and SND_FSI_DA7210

Quoted 8 lines · Mark Brown
Quoted 5 lines · Paul Mundt
Quoted 4 lines · Peter Huewe

The config option SND_FSI_AK4642 selects SND_SOC_AK4642 which in turn enables the compilation of ak4642.c - however this codec uses I2C to communicate with the HW.
Same applies to DA7210.

Quoted 6 lines
Quoted 2 lines

It uses I2C, but it doesn't matter which I2C master it's interfaced with. A simple depends on I2C will suffice for this purpose just fine.

Since these are board specific drivers they know which I2C controller they are hooked up to and so can usefully depend on a specific controller - without the correct controller driver they will not function.

I don't really mind one way or the other. Having it depend on the controller is fine, but it's not really much of a stretch to expect it to show up on other boards with other controllers as well.

Very few SH CPUs use the same controller, so in this case it's really more the exception than the norm. As soon as another board takes up one of these blocks then we're forced to either switch to an I2C depends or start making a dependency list for multiple controllers. It's the desire to avoid the latter why I generally prefer the former, but again, I'm fairly impartial regardless.

#8 lore raw

Re: [PATCH v2] soc/sh: Fix I2C dependency for SND_FSI_AK4642 and SND_FSI_DA7210

Quoted 9 lines · Paul Mundt
Quoted 3 lines · Mark Brown

Since these are board specific drivers they know which I2C controller they are hooked up to and so can usefully depend on a specific controller - without the correct controller driver they will not function.

I don't really mind one way or the other. Having it depend on the controller is fine, but it's not really much of a stretch to expect it to show up on other boards with other controllers as well.

This is the driver for the board itself and its wiring - it's not a chip driver, it's the driver that says how the chips on a given board are connected. For new boards I'd expect you'd end up with a new driver.

Applied
#9 lore raw

Re: [PATCH v2] soc/sh: Fix I2C dependency for SND_FSI_AK4642 and SND_FSI_DA7210

In reply to Peter Huewe
Quoted 6 lines · Peter Huewe

From: Peter Huewe <[email protected]>

The config option SND_FSI_AK4642 selects SND_SOC_AK4642 which in turn enables the compilation of ak4642.c - however this codec uses I2C to communicate with the HW.
Same applies to DA7210.

Applied, thanks.