Re: [patch] snd-pcsp: relax dependancy on CONFIG_INPUT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

Adrian Bunk wrote:
> Sorry for the silly question, but are there serious usecases where 
> people in very space limited environments and with CONFIG_INPUT=n
> want PC-Speaker support?
Oh, I've just heard youre screaming
"this all is not worth a new config option!". :)

Here's another patch instead.
Without exporting a new option to the
user this time.
# HG changeset patch
# User Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx>
# Date 1210267204 -14400
# Node ID 903c7be2316a6b892c8c20a0a8a6e21cd9a9ee8c
# Parent  25a20d46d89a57c89e911452171af7e4cdcc8464
snd-pcsp: relax dependancy on CONFIG_INPUT by adding CONFIG_SND_PCSP_INPUT

Signed-off-by: Stas Sergeev <stsp@xxxxxxxx>

diff -r 25a20d46d89a -r 903c7be2316a drivers/Kconfig
--- a/drivers/Kconfig	Mon May 05 14:16:12 2008 +0200
+++ b/drivers/Kconfig	Thu May 08 21:20:04 2008 +0400
@@ -5,9 +5,8 @@ menu "Generic devices"
 
 
 config SND_PCSP
-	tristate "Internal PC speaker support"
+	tristate "PC-Speaker support"
 	depends on X86_PC && HIGH_RES_TIMERS
-	depends on INPUT
 	depends on SND
 	select SND_PCM
 	help
@@ -23,6 +22,11 @@ config SND_PCSP
 	  in your PC instead of the real speaker.
 
 	  It should not hurt to say Y or M here in all other cases.
+
+config SND_PCSP_INPUT
+	def_bool y
+	depends on INPUT
+	depends on SND_PCSP
 
 config SND_MPU401_UART
         tristate
diff -r 25a20d46d89a -r 903c7be2316a drivers/pcsp/Makefile
--- a/drivers/pcsp/Makefile	Mon May 05 14:16:12 2008 +0200
+++ b/drivers/pcsp/Makefile	Thu May 08 21:20:04 2008 +0400
@@ -1,2 +1,3 @@ snd-pcsp-objs := pcsp.o pcsp_lib.o pcsp_
-snd-pcsp-objs := pcsp.o pcsp_lib.o pcsp_mixer.o pcsp_input.o
+snd-pcsp-y := pcsp.o pcsp_lib.o pcsp_mixer.o
+snd-pcsp-$(CONFIG_SND_PCSP_INPUT) += pcsp_input.o
 obj-$(CONFIG_SND_PCSP) += snd-pcsp.o
diff -r 25a20d46d89a -r 903c7be2316a drivers/pcsp/pcsp.c
--- a/drivers/pcsp/pcsp.c	Mon May 05 14:16:12 2008 +0200
+++ b/drivers/pcsp/pcsp.c	Thu May 08 21:20:04 2008 +0400
@@ -188,10 +188,12 @@ static int __devexit pcsp_remove(struct 
 
 static void pcsp_stop_beep(struct snd_pcsp *chip)
 {
+#ifdef CONFIG_SND_PCSP_INPUT
 	spin_lock_irq(&chip->substream_lock);
 	if (!chip->playback_substream)
 		pcspkr_stop_sound();
 	spin_unlock_irq(&chip->substream_lock);
+#endif	/* CONFIG_SND_PCSP_INPUT */
 }
 
 #ifdef CONFIG_PM
diff -r 25a20d46d89a -r 903c7be2316a drivers/pcsp/pcsp_input.h
--- a/drivers/pcsp/pcsp_input.h	Mon May 05 14:16:12 2008 +0200
+++ b/drivers/pcsp/pcsp_input.h	Thu May 08 21:20:04 2008 +0400
@@ -7,8 +7,15 @@
 #ifndef __PCSP_INPUT_H__
 #define __PCSP_INPUT_H__
 
+#ifdef CONFIG_SND_PCSP_INPUT
 int __devinit pcspkr_input_init(struct input_dev **rdev, struct device *dev);
 int pcspkr_input_remove(struct input_dev *dev);
 void pcspkr_stop_sound(void);
+#else
+static inline int pcspkr_input_init(struct input_dev **rdev,
+	struct device *dev) { return 0; }
+static inline int pcspkr_input_remove(struct input_dev *dev) { return 0; }
+static inline void pcspkr_stop_sound(void) { }
+#endif	/* CONFIG_SND_PCSP_INPUT */
 
 #endif
diff -r 25a20d46d89a -r 903c7be2316a drivers/pcsp/pcsp_mixer.c
--- a/drivers/pcsp/pcsp_mixer.c	Mon May 05 14:16:12 2008 +0200
+++ b/drivers/pcsp/pcsp_mixer.c	Thu May 08 21:20:04 2008 +0400
@@ -78,6 +78,7 @@ static int pcsp_treble_put(struct snd_kc
 	return changed;
 }
 
+#ifdef CONFIG_SND_PCSP_INPUT
 static int pcsp_pcspkr_info(struct snd_kcontrol *kcontrol,
 			    struct snd_ctl_elem_info *uinfo)
 {
@@ -108,6 +109,7 @@ static int pcsp_pcspkr_put(struct snd_kc
 	}
 	return changed;
 }
+#endif	/* CONFIG_SND_PCSP_INPUT */
 
 #define PCSP_MIXER_CONTROL(ctl_type, ctl_name) \
 { \
@@ -121,7 +123,9 @@ static struct snd_kcontrol_new __devinit
 static struct snd_kcontrol_new __devinitdata snd_pcsp_controls[] = {
 	PCSP_MIXER_CONTROL(enable, "Master Playback Switch"),
 	PCSP_MIXER_CONTROL(treble, "BaseFRQ Playback Volume"),
+#ifdef CONFIG_SND_PCSP_INPUT
 	PCSP_MIXER_CONTROL(pcspkr, "PC Speaker Playback Switch"),
+#endif	/* CONFIG_SND_PCSP_INPUT */
 };
 
 int __devinit snd_pcsp_new_mixer(struct snd_pcsp *chip)
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux