Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52337310 authored by Stas Sergeev's avatar Stas Sergeev Committed by Takashi Iwai
Browse files

[ALSA] pcsp: improve "enable" option handling



Simplify init code.

Signed-off-by: default avatarStas Sergeev <stsp@aknet.ru>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 82808236
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ MODULE_PARM_DESC(index, "Index value for pcsp soundcard.");
module_param(id, charp, 0444);
MODULE_PARM_DESC(id, "ID string for pcsp soundcard.");
module_param(enable, bool, 0444);
MODULE_PARM_DESC(enable, "dummy");
MODULE_PARM_DESC(enable, "Enable PC-Speaker sound.");

struct snd_pcsp pcsp_chip;

@@ -136,7 +136,13 @@ static int __devinit snd_card_pcsp_probe(int devnum, struct device *dev)

static int __devinit alsa_card_pcsp_init(struct device *dev)
{
	int devnum = 0, cards = 0;
	int err;

	err = snd_card_pcsp_probe(0, dev);
	if (err) {
		printk(KERN_ERR "PC-Speaker initialization failed.\n");
		return err;
	}

#ifdef CONFIG_DEBUG_PAGEALLOC
	/* Well, CONFIG_DEBUG_PAGEALLOC makes the sound horrible. Lets alert */
@@ -148,15 +154,6 @@ static int __devinit alsa_card_pcsp_init(struct device *dev)
	       "and crackling noise.\n");
#endif

	if (enable) {
		if (snd_card_pcsp_probe(devnum, dev) >= 0)
			cards++;
		if (!cards) {
			printk(KERN_ERR "PC-Speaker initialization failed.\n");
			return -ENODEV;
		}
	}

	return 0;
}

@@ -168,6 +165,7 @@ static void __devexit alsa_card_pcsp_exit(struct snd_pcsp *chip)
static int __devinit pcsp_probe(struct platform_device *dev)
{
	int err;

	err = pcspkr_input_init(&pcsp_chip.input_dev, &dev->dev);
	if (err < 0)
		return err;
@@ -227,6 +225,8 @@ static struct platform_driver pcsp_platform_driver = {

static int __init pcsp_init(void)
{
	if (!enable)
		return -ENODEV;
	return platform_driver_register(&pcsp_platform_driver);
}