[patch][resend] pcspkr: fix dependancies

From: Stas Sergeev
Date: Sat May 03 2008 - 07:51:50 EST


Hello.

linux-2.6.25 has the strange dependancies
for pc-speaker, which prevents snd-pcsp
from working.
Namely, the platform device (created in
arch/x86/kernel/pcspeaker.c) depends on
the platform driver (CONFIG_INPUT_PCSPKR).
I wonder if it is a good practice to make
the platform device to depend on the driver,
I guess it is not.

The attached patch reverses that.
It adds the config option for the pcspkr
platform device and makes the platform
drivers to depend on that.
This allows snd-pcsp to work at least in
some configurations.

Ingo, would it be possible to get that
applied?

---
fix pcspkr dependancies: make the pcspkr platform
drivers to depend on a platform device, and
not the other way around.

Signed-off-by: Stas Sergeev <stsp@xxxxxxxx>
CC: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
CC: Vojtech Pavlik <vojtech@xxxxxxx>
CC: Michael Opdenacker <michael-lists@xxxxxxxxxxxxxxxxxx>
CC: Takashi Iwai <tiwai@xxxxxxx>
--- a/init/Kconfig 2008-04-26 13:40:20.000000000 +0400
+++ b/init/Kconfig 2008-04-26 18:20:40.000000000 +0400
@@ -624,6 +624,14 @@
help
Enable support for generating core dumps. Disabling saves about 4k.

+config PCSPKR_PLATFORM
+ bool "Enable PC-Speaker support" if EMBEDDED
+ depends on ALPHA || X86 || MIPS || PPC_PREP || PPC_CHRP || PPC_PSERIES
+ default y
+ help
+ This option allows to disable the internal PC-Speaker
+ support, saving some memory.
+
config COMPAT_BRK
bool "Disable heap randomization"
default y
--- a/arch/x86/kernel/Makefile 2008-04-26 13:40:06.000000000 +0400
+++ b/arch/x86/kernel/Makefile 2008-04-26 18:22:49.000000000 +0400
@@ -83,7 +83,7 @@
obj-$(CONFIG_VMI) += vmi_32.o vmiclock_32.o
obj-$(CONFIG_PARAVIRT) += paravirt.o paravirt_patch_$(BITS).o

-ifdef CONFIG_INPUT_PCSPKR
+ifdef CONFIG_PCSPKR_PLATFORM
obj-y += pcspeaker.o
endif

--- a/drivers/input/misc/Kconfig 2008-04-22 20:50:41.000000000 +0400
+++ b/drivers/input/misc/Kconfig 2008-04-26 18:23:32.000000000 +0400
@@ -14,7 +14,7 @@

config INPUT_PCSPKR
tristate "PC Speaker support"
- depends on ALPHA || X86 || MIPS || PPC_PREP || PPC_CHRP || PPC_PSERIES
+ depends on PCSPKR_PLATFORM
help
Say Y here if you want the standard PC Speaker to be used for
bells and whistles.