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

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

diff -u --recursive --new-file v2.4.0-test8/linux/drivers/sound/esssolo1.c linux/drivers/sound/esssolo1.c
@@ -2085,12 +2085,11 @@
 			return -ERESTARTSYS;
 		down(&s->open_sem);
 	}
-	if (check_region(s->sbbase, FMSYNTH_EXTENT)) {
+	if (!request_region(s->sbbase, FMSYNTH_EXTENT, "ESS Solo1")) {
 		up(&s->open_sem);
 		printk(KERN_ERR "solo1: FM synth io ports in use, opl3 loaded?\n");
 		return -EBUSY;
 	}
-	request_region(s->sbbase, FMSYNTH_EXTENT, "ESS Solo1");
 	/* init the stuff */
 	outb(1, s->sbbase);
 	outb(0x20, s->sbbase+1); /* enable waveforms */
@@ -2305,7 +2304,7 @@
 	if (setup_solo1(s))
 		goto err;
 	/* store it in the driver field */
-	pcidev->driver_data = s;
+	pci_set_drvdata(pcidev, s);
 	pcidev->dma_mask = dma_mask;
 	/* put it into driver list */
 	list_add_tail(&s->devs, &devs);
@@ -2342,7 +2341,7 @@
 
 static void __devinit solo1_remove(struct pci_dev *dev)
 {
-	struct solo1_state *s = (struct solo1_state *)dev->driver_data;
+	struct solo1_state *s = pci_get_drvdata(dev);
 	
 	if (!s)
 		return;
@@ -2363,7 +2362,7 @@
 	unregister_sound_midi(s->dev_midi);
 	unregister_sound_special(s->dev_dmfm);
 	kfree(s);
-	dev->driver_data = NULL;
+	pci_set_drvdata(dev, NULL);
 }
 
 static struct pci_device_id id_table[] __devinitdata = {

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