diff options
Diffstat (limited to 'sound/pci/rme9652/hdsp.c')
-rw-r--r-- | sound/pci/rme9652/hdsp.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c index cf5a6c8b9a63..c19e021ccf66 100644 --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/module.h> | 29 | #include <linux/module.h> |
30 | #include <linux/math64.h> | 30 | #include <linux/math64.h> |
31 | #include <linux/vmalloc.h> | 31 | #include <linux/vmalloc.h> |
32 | #include <linux/io.h> | ||
32 | 33 | ||
33 | #include <sound/core.h> | 34 | #include <sound/core.h> |
34 | #include <sound/control.h> | 35 | #include <sound/control.h> |
@@ -42,7 +43,6 @@ | |||
42 | 43 | ||
43 | #include <asm/byteorder.h> | 44 | #include <asm/byteorder.h> |
44 | #include <asm/current.h> | 45 | #include <asm/current.h> |
45 | #include <asm/io.h> | ||
46 | 46 | ||
47 | static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ | 47 | static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ |
48 | static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ | 48 | static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ |
@@ -1428,10 +1428,8 @@ static void snd_hdsp_midi_output_timer(unsigned long data) | |||
1428 | leaving istimer wherever it was set before. | 1428 | leaving istimer wherever it was set before. |
1429 | */ | 1429 | */ |
1430 | 1430 | ||
1431 | if (hmidi->istimer) { | 1431 | if (hmidi->istimer) |
1432 | hmidi->timer.expires = 1 + jiffies; | 1432 | mod_timer(&hmidi->timer, 1 + jiffies); |
1433 | add_timer(&hmidi->timer); | ||
1434 | } | ||
1435 | 1433 | ||
1436 | spin_unlock_irqrestore (&hmidi->lock, flags); | 1434 | spin_unlock_irqrestore (&hmidi->lock, flags); |
1437 | } | 1435 | } |
@@ -1445,11 +1443,9 @@ static void snd_hdsp_midi_output_trigger(struct snd_rawmidi_substream *substream | |||
1445 | spin_lock_irqsave (&hmidi->lock, flags); | 1443 | spin_lock_irqsave (&hmidi->lock, flags); |
1446 | if (up) { | 1444 | if (up) { |
1447 | if (!hmidi->istimer) { | 1445 | if (!hmidi->istimer) { |
1448 | init_timer(&hmidi->timer); | 1446 | setup_timer(&hmidi->timer, snd_hdsp_midi_output_timer, |
1449 | hmidi->timer.function = snd_hdsp_midi_output_timer; | 1447 | (unsigned long) hmidi); |
1450 | hmidi->timer.data = (unsigned long) hmidi; | 1448 | mod_timer(&hmidi->timer, 1 + jiffies); |
1451 | hmidi->timer.expires = 1 + jiffies; | ||
1452 | add_timer(&hmidi->timer); | ||
1453 | hmidi->istimer++; | 1449 | hmidi->istimer++; |
1454 | } | 1450 | } |
1455 | } else { | 1451 | } else { |
@@ -5309,9 +5305,7 @@ static int snd_hdsp_free(struct hdsp *hdsp) | |||
5309 | 5305 | ||
5310 | release_firmware(hdsp->firmware); | 5306 | release_firmware(hdsp->firmware); |
5311 | vfree(hdsp->fw_uploaded); | 5307 | vfree(hdsp->fw_uploaded); |
5312 | 5308 | iounmap(hdsp->iobase); | |
5313 | if (hdsp->iobase) | ||
5314 | iounmap(hdsp->iobase); | ||
5315 | 5309 | ||
5316 | if (hdsp->port) | 5310 | if (hdsp->port) |
5317 | pci_release_regions(hdsp->pci); | 5311 | pci_release_regions(hdsp->pci); |