Pull bugzilla-7897 into release branch
[sfrench/cifs-2.6.git] / sound / isa / gus / gus_main.c
index 6d15b3d18a8752b1550b40da5977d1c855883ba5..8ced5e81b9a7049371aa968901c696a5d8e840f1 100644 (file)
@@ -179,7 +179,7 @@ int snd_gus_create(struct snd_card *card,
                snd_gus_free(gus);
                return -EBUSY;
        }
-       if (irq >= 0 && request_irq(irq, snd_gus_interrupt, SA_INTERRUPT, "GUS GF1", (void *) gus)) {
+       if (irq >= 0 && request_irq(irq, snd_gus_interrupt, IRQF_DISABLED, "GUS GF1", (void *) gus)) {
                snd_printk(KERN_ERR "gus: can't grab irq %d\n", irq);
                snd_gus_free(gus);
                return -EBUSY;
@@ -225,7 +225,7 @@ int snd_gus_create(struct snd_card *card,
        spin_lock_init(&gus->dma_lock);
        spin_lock_init(&gus->pcm_volume_level_lock);
        spin_lock_init(&gus->uart_cmd_lock);
-       init_MUTEX(&gus->dma_mutex);
+       mutex_init(&gus->dma_mutex);
        if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, gus, &ops)) < 0) {
                snd_gus_free(gus);
                return err;
@@ -294,10 +294,10 @@ static int snd_gus_init_dma_irq(struct snd_gus_card * gus, int latches)
                gus->mix_cntrl_reg |= 4;        /* enable MIC */
        }
        dma1 = gus->gf1.dma1;
-       dma1 = dma1 < 0 ? -dma1 : dma1;
+       dma1 = abs(dma1);
        dma1 = dmas[dma1 & 7];
        dma2 = gus->gf1.dma2;
-       dma2 = dma2 < 0 ? -dma2 : dma2;
+       dma2 = abs(dma2);
        dma2 = dmas[dma2 & 7];
        dma1 |= gus->equal_dma ? 0x40 : (dma2 << 3);
 
@@ -306,7 +306,7 @@ static int snd_gus_init_dma_irq(struct snd_gus_card * gus, int latches)
                return -EINVAL;
        }
        irq = gus->gf1.irq;
-       irq = irq < 0 ? -irq : irq;
+       irq = abs(irq);
        irq = irqs[irq & 0x0f];
        if (irq == 0) {
                snd_printk(KERN_ERR "Error! IRQ isn't defined.\n");