public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] use select in sound/isa/Kconfig
@ 2005-07-17 15:07 Bodo Eggert
  2005-07-19 16:36 ` [2.6 patch] sound drivers select'ing ISAPNP must depend on PNP && ISA Adrian Bunk
  0 siblings, 1 reply; 5+ messages in thread
From: Bodo Eggert @ 2005-07-17 15:07 UTC (permalink / raw)
  To: 7eggert, akpm, torvalds, linux-kernel

In sound/isa/Kconfig, select ISAPNP and depend on ISAPNP are intermixed, 
resulting in funny behaviour. (Soundcarts get selectable if other 
soundcards are selected).

This patch changes the "depend on ISAPNP"s to select.

 sound/isa/Kconfig |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

Signed-Off-By: Bodo Eggert <7eggert@gmx.de>

--- a/sound/isa/Kconfig	2005-07-17 08:10:20.000000000 +0200
+++ b/sound/isa/Kconfig	2005-07-17 16:57:53.000000000 +0200
@@ -15,7 +15,8 @@ config SND_CS4231_LIB
 
 config SND_AD1816A
 	tristate "Analog Devices SoundPort AD1816A"
-	depends on SND && ISAPNP
+	depends on SND
+	select ISAPNP
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_PCM
@@ -80,7 +81,8 @@ config SND_CS4236
 
 config SND_ES968
 	tristate "Generic ESS ES968 driver"
-	depends on SND && ISAPNP
+	depends on SND
+	select ISAPNP
 	select SND_MPU401_UART
 	select SND_PCM
 	help
@@ -291,7 +293,8 @@ config SND_WAVEFRONT
 
 config SND_ALS100
 	tristate "Avance Logic ALS100/ALS120"
-	depends on SND && ISAPNP
+	depends on SND
+	select ISAPNP
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_PCM
@@ -304,7 +307,8 @@ config SND_ALS100
 
 config SND_AZT2320
 	tristate "Aztech Systems AZT2320"
-	depends on SND && ISAPNP
+	depends on SND
+	select ISAPNP
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_CS4231_LIB
@@ -328,7 +332,8 @@ config SND_CMI8330
 
 config SND_DT019X
 	tristate "Diamond Technologies DT-019X, Avance Logic ALS-007"
-	depends on SND && ISAPNP
+	depends on SND
+	select ISAPNP
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
 	select SND_PCM

-- 
Funny quotes:
3. On the other hand, you have different fingers.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [2.6 patch] sound drivers select'ing ISAPNP must depend on PNP && ISA
  2005-07-17 15:07 [PATCH] use select in sound/isa/Kconfig Bodo Eggert
@ 2005-07-19 16:36 ` Adrian Bunk
  2005-07-19 20:50   ` Bodo Eggert
  0 siblings, 1 reply; 5+ messages in thread
From: Adrian Bunk @ 2005-07-19 16:36 UTC (permalink / raw)
  To: Bodo Eggert, perex; +Cc: akpm, torvalds, linux-kernel, alsa-devel

On Sun, Jul 17, 2005 at 05:07:48PM +0200, Bodo Eggert wrote:

> In sound/isa/Kconfig, select ISAPNP and depend on ISAPNP are intermixed, 
> resulting in funny behaviour. (Soundcarts get selectable if other 
> soundcards are selected).
> 
> This patch changes the "depend on ISAPNP"s to select.
>...

I like the idea of this patch, but it brings to more drivers to a 
violation of the "if you select something, you have to ensure that the 
dependencies of what you select are fulfilled" rule causing link errors 
with invalid .config's.

This patch (on top of your patch) fixes this problem.

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

 sound/isa/Kconfig |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

--- linux-2.6.13-rc3-mm1-full/sound/isa/Kconfig.old	2005-07-19 18:27:21.000000000 +0200
+++ linux-2.6.13-rc3-mm1-full/sound/isa/Kconfig	2005-07-19 18:28:44.000000000 +0200
@@ -15,7 +15,7 @@
 
 config SND_AD1816A
 	tristate "Analog Devices SoundPort AD1816A"
-	depends on SND
+	depends on SND && PNP && ISA
 	select ISAPNP
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
@@ -81,7 +81,7 @@
 
 config SND_ES968
 	tristate "Generic ESS ES968 driver"
-	depends on SND
+	depends on SND && PNP && ISA
 	select ISAPNP
 	select SND_MPU401_UART
 	select SND_PCM
@@ -162,7 +162,7 @@
 
 config SND_INTERWAVE
 	tristate "AMD InterWave, Gravis UltraSound PnP"
-	depends on SND
+	depends on SND && PNP && ISA
 	select SND_RAWMIDI
 	select SND_CS4231_LIB
 	select SND_GUS_SYNTH
@@ -177,7 +177,7 @@
 
 config SND_INTERWAVE_STB
 	tristate "AMD InterWave + TEA6330T (UltraSound 32-Pro)"
-	depends on SND
+	depends on SND && PNP && ISA
 	select SND_RAWMIDI
 	select SND_CS4231_LIB
 	select SND_GUS_SYNTH
@@ -293,7 +293,7 @@
 
 config SND_ALS100
 	tristate "Avance Logic ALS100/ALS120"
-	depends on SND
+	depends on SND && PNP && ISA
 	select ISAPNP
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
@@ -307,7 +307,7 @@
 
 config SND_AZT2320
 	tristate "Aztech Systems AZT2320"
-	depends on SND
+	depends on SND && PNP && ISA
 	select ISAPNP
 	select SND_OPL3_LIB
 	select SND_MPU401_UART
@@ -332,7 +332,7 @@
 
 config SND_DT019X
 	tristate "Diamond Technologies DT-019X, Avance Logic ALS-007"
-	depends on SND
+	depends on SND && PNP && ISA
 	select ISAPNP
 	select SND_OPL3_LIB
 	select SND_MPU401_UART


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [2.6 patch] sound drivers select'ing ISAPNP must depend on PNP && ISA
  2005-07-19 16:36 ` [2.6 patch] sound drivers select'ing ISAPNP must depend on PNP && ISA Adrian Bunk
@ 2005-07-19 20:50   ` Bodo Eggert
  2005-07-23 16:48     ` Adrian Bunk
  0 siblings, 1 reply; 5+ messages in thread
From: Bodo Eggert @ 2005-07-19 20:50 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Bodo Eggert, perex, akpm, torvalds, linux-kernel, alsa-devel

On Tue, 19 Jul 2005, Adrian Bunk wrote:
> On Sun, Jul 17, 2005 at 05:07:48PM +0200, Bodo Eggert wrote:

> > In sound/isa/Kconfig, select ISAPNP and depend on ISAPNP are intermixed, 
> > resulting in funny behaviour. (Soundcarts get selectable if other 
> > soundcards are selected).
> > 
> > This patch changes the "depend on ISAPNP"s to select.
> >...
> 
> I like the idea of this patch, but it brings to more drivers to a 
> violation of the "if you select something, you have to ensure that the 
> dependencies of what you select are fulfilled" rule causing link errors 
> with invalid .config's.

That should be mentioned in kconfig-language.txt. OTOH, the build system
should automatically propagate the dependencies. I asume that should be
easy, except for having the time to implement that.


BTW: How can you select something to be at least a module?
BTW2: In bool options, depending on FOO seems to be equal to depending on 
      FOO!=n. Is this assumption correct?

-- 
Top 100 things you don't want the sysadmin to say:
49. What's this switch for anyways...?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [2.6 patch] sound drivers select'ing ISAPNP must depend on PNP && ISA
  2005-07-19 20:50   ` Bodo Eggert
@ 2005-07-23 16:48     ` Adrian Bunk
  2005-07-24  9:39       ` Bodo Eggert
  0 siblings, 1 reply; 5+ messages in thread
From: Adrian Bunk @ 2005-07-23 16:48 UTC (permalink / raw)
  To: Bodo Eggert; +Cc: perex, akpm, torvalds, linux-kernel, alsa-devel

On Tue, Jul 19, 2005 at 10:50:53PM +0200, Bodo Eggert wrote:
> On Tue, 19 Jul 2005, Adrian Bunk wrote:
> > On Sun, Jul 17, 2005 at 05:07:48PM +0200, Bodo Eggert wrote:
> 
> > > In sound/isa/Kconfig, select ISAPNP and depend on ISAPNP are intermixed, 
> > > resulting in funny behaviour. (Soundcarts get selectable if other 
> > > soundcards are selected).
> > > 
> > > This patch changes the "depend on ISAPNP"s to select.
> > >...
> > 
> > I like the idea of this patch, but it brings to more drivers to a 
> > violation of the "if you select something, you have to ensure that the 
> > dependencies of what you select are fulfilled" rule causing link errors 
> > with invalid .config's.
> 
> That should be mentioned in kconfig-language.txt. OTOH, the build system
> should automatically propagate the dependencies. I asume that should be
> easy, except for having the time to implement that.
>...

There are nontrivial problems:
E.g. what should happen if you select option A that depends on (B || C)?

There's one opinion that options should be either select'able _or_ user 
visible.

The current policy in the kernel is not 100% dogmatic regarding this 
issue, but it shouldn't be violated without a good reason.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [2.6 patch] sound drivers select'ing ISAPNP must depend on PNP && ISA
  2005-07-23 16:48     ` Adrian Bunk
@ 2005-07-24  9:39       ` Bodo Eggert
  0 siblings, 0 replies; 5+ messages in thread
From: Bodo Eggert @ 2005-07-24  9:39 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Bodo Eggert, perex, akpm, torvalds, linux-kernel, alsa-devel

On Sat, 23 Jul 2005, Adrian Bunk wrote:
> On Tue, Jul 19, 2005 at 10:50:53PM +0200, Bodo Eggert wrote:

> > OTOH, the build system
> > should automatically propagate the dependencies. I asume that should be
> > easy, except for having the time to implement that.
> >...
> 
> There are nontrivial problems:
> E.g. what should happen if you select option A that depends on (B || C)?

You should in effect depend on ($original_depends) && (B || C). You'll 
just need to append all (recursive) dependencies in the selecting option.


last_length:=-1; /* impossible value */
while |options_with_unresolved_selects| > 0 do begin
	if |options_with_unresolved_selects| == last_length
	then goto circular_recursion_detected;
	last_length:=|options_with_unresolved_selects|;

	for i in options_with_unresolved_selects do begin
		for s in i->unresolved_selects do
			if 0 == |s->unresolved_selects|
			then begin
				add(i->depends, s->depends)
				delete_from(i->unresolved_selects, s)
			end
		if 0 == |i->unresolved_selects|
		then delete_from(options_with_unresolved_selects, i);
	end
end

> There's one opinion that options should be either select'able _or_ user 
> visible.

That would only result in ugly workarounds. Think about the kernel 
libraries. You'll want to manually select them, and you'll want to 
automatically select them, and you want both to be visible.

-- 
Funny quotes:
22. When everything's going your way, you're in the wrong lane and and going
    the wrong way.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-07-24  9:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-17 15:07 [PATCH] use select in sound/isa/Kconfig Bodo Eggert
2005-07-19 16:36 ` [2.6 patch] sound drivers select'ing ISAPNP must depend on PNP && ISA Adrian Bunk
2005-07-19 20:50   ` Bodo Eggert
2005-07-23 16:48     ` Adrian Bunk
2005-07-24  9:39       ` Bodo Eggert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox