patch-2.4.0-test9 linux/drivers/sound/cmpci.c

Next file: linux/drivers/sound/cs4232.c
Previous file: linux/drivers/sound/aedsp16.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test8/linux/drivers/sound/cmpci.c linux/drivers/sound/cmpci.c
@@ -2287,8 +2287,6 @@
 MODULE_PARM(spdif_loop, "i");
 MODULE_PARM(four_ch, "i");
 MODULE_PARM(rear_out, "i");
-
-int  __init init_module(void)
 #else
 #ifdef CONFIG_SOUND_CMPCI_SPDIFLOOP
 static int	spdif_loop = 1;
@@ -2305,9 +2303,9 @@
 #else
 static int	rear_out = 0;
 #endif
-
-int __init init_cmpci(void)
 #endif
+
+static int __init init_cmpci(void)
 {
 	struct cm_state *s;
 	struct pci_dev *pcidev = NULL;
@@ -2372,28 +2370,25 @@
 			continue;
 		s->irq = pcidev->irq;
 
-		if (check_region(s->iobase, CM_EXTENT_CODEC)) {
+		if (!request_region(s->iobase, CM_EXTENT_CODEC, "cmpci")) {
 			printk(KERN_ERR "cmpci: io ports %#x-%#x in use\n", s->iobase, s->iobase+CM_EXTENT_CODEC-1);
 			goto err_region5;
 		}
-		request_region(s->iobase, CM_EXTENT_CODEC, "cmpci");
-		if (check_region(s->iomidi, CM_EXTENT_MIDI)) {
+		if (!request_region(s->iomidi, CM_EXTENT_MIDI, "cmpci Midi")) {
 			printk(KERN_WARNING "cmpci: io ports %#x-%#x in use, midi disabled.\n", s->iomidi, s->iomidi+CM_EXTENT_MIDI-1);
 			s->iomidi = 0;
 		}
 		else
 		{
-			request_region(s->iomidi, CM_EXTENT_MIDI, "cmpci Midi");
 			/* set IO based at 0x330 */
 			outb(inb(s->iobase + CODEC_CMI_LEGACY_CTRL + 3) & ~0x60, s->iobase + CODEC_CMI_LEGACY_CTRL + 3);
 		}
-		if (check_region(s->iosynth, CM_EXTENT_SYNTH)) {
+		if (!request_region(s->iosynth, CM_EXTENT_SYNTH, "cmpci FM")) {
 			printk(KERN_WARNING "cmpci: io ports %#x-%#x in use, synth disabled.\n", s->iosynth, s->iosynth+CM_EXTENT_SYNTH-1);
 			s->iosynth = 0;
 		}
 		else
 		{
-			request_region(s->iosynth, CM_EXTENT_SYNTH, "cmpci FM");
 			/* enable FM */
 			outb(inb(s->iobase + CODEC_CMI_MISC_CTRL + 2) | 8, s->iobase + CODEC_CMI_MISC_CTRL);
 		}
@@ -2499,12 +2494,10 @@
 
 /* --------------------------------------------------------------------- */
 
-#ifdef MODULE
-
 MODULE_AUTHOR("ChenLi Tien, cltien@home.com");
 MODULE_DESCRIPTION("CMPCI Audio Driver");
 
-void cleanup_module(void)
+static void __exit cleanup_cmpci(void)
 {
 	struct cm_state *s;
 
@@ -2538,4 +2531,5 @@
 	printk(KERN_INFO "cmpci: unloading\n");
 }
 
-#endif /* MODULE */
+module_init(init_cmpci);
+module_exit(cleanup_cmpci);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)