Semaphore to mutex conversion.
The conversion was generated via scripts, and the result was validated
automatically via a script as well.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
        if (ac97->num >= 4)
                return;
 
-       down(&aaci->ac97_sem);
+       mutex_lock(&aaci->ac97_sem);
 
        aaci_ac97_select_codec(aaci, ac97);
 
                v = readl(aaci->base + AACI_SLFR);
        } while (v & (SLFR_1TXB|SLFR_2TXB));
 
-       up(&aaci->ac97_sem);
+       mutex_unlock(&aaci->ac97_sem);
 }
 
 /*
        if (ac97->num >= 4)
                return ~0;
 
-       down(&aaci->ac97_sem);
+       mutex_lock(&aaci->ac97_sem);
 
        aaci_ac97_select_codec(aaci, ac97);
 
                v = ~0;
        }
 
-       up(&aaci->ac97_sem);
+       mutex_unlock(&aaci->ac97_sem);
        return v;
 }
 
                 card->shortname, dev->res.start, dev->irq[0]);
 
        aaci = card->private_data;
-       init_MUTEX(&aaci->ac97_sem);
+       mutex_init(&aaci->ac97_sem);
        spin_lock_init(&aaci->lock);
        aaci->card = card;
        aaci->dev = dev;
 
        unsigned int            fifosize;
 
        /* AC'97 */
-       struct semaphore        ac97_sem;
+       struct mutex            ac97_sem;
        ac97_bus_t              *ac97_bus;
 
        u32                     maincr;
 
 #include <sound/initval.h>
 
 #include <asm/irq.h>
-#include <asm/semaphore.h>
+#include <linux/mutex.h>
 #include <asm/hardware.h>
 #include <asm/arch/pxa-regs.h>
 #include <asm/arch/audio.h>
 #include "pxa2xx-pcm.h"
 
 
-static DECLARE_MUTEX(car_mutex);
+static DEFINE_MUTEX(car_mutex);
 static DECLARE_WAIT_QUEUE_HEAD(gsr_wq);
 static volatile long gsr_bits;
 
        unsigned short val = -1;
        volatile u32 *reg_addr;
 
-       down(&car_mutex);
+       mutex_lock(&car_mutex);
 
        /* set up primary or secondary codec space */
        reg_addr = (ac97->num & 1) ? &SAC_REG_BASE : &PAC_REG_BASE;
        /* but we've just started another cycle... */
        wait_event_timeout(gsr_wq, (GSR | gsr_bits) & GSR_SDONE, 1);
 
-out:   up(&car_mutex);
+out:   mutex_unlock(&car_mutex);
        return val;
 }
 
 {
        volatile u32 *reg_addr;
 
-       down(&car_mutex);
+       mutex_lock(&car_mutex);
 
        /* set up primary or secondary codec space */
        reg_addr = (ac97->num & 1) ? &SAC_REG_BASE : &PAC_REG_BASE;
                printk(KERN_ERR "%s: write error (ac97_reg=%d GSR=%#lx)\n",
                                __FUNCTION__, reg, GSR | gsr_bits);
 
-       up(&car_mutex);
+       mutex_unlock(&car_mutex);
 }
 
 static void pxa2xx_ac97_reset(struct snd_ac97 *ac97)
 
 {
        struct vx_core *_chip = snd_kcontrol_chip(kcontrol);
        struct snd_vxpocket *chip = (struct snd_vxpocket *)_chip;
-       down(&_chip->mixer_mutex);
+       mutex_lock(&_chip->mixer_mutex);
        if (chip->mic_level != ucontrol->value.integer.value[0]) {
                vx_set_mic_level(_chip, ucontrol->value.integer.value[0]);
                chip->mic_level = ucontrol->value.integer.value[0];
-               up(&_chip->mixer_mutex);
+               mutex_unlock(&_chip->mixer_mutex);
                return 1;
        }
-       up(&_chip->mixer_mutex);
+       mutex_unlock(&_chip->mixer_mutex);
        return 0;
 }
 
 {
        struct vx_core *_chip = snd_kcontrol_chip(kcontrol);
        struct snd_vxpocket *chip = (struct snd_vxpocket *)_chip;
-       down(&_chip->mixer_mutex);
+       mutex_lock(&_chip->mixer_mutex);
        if (chip->mic_level != ucontrol->value.integer.value[0]) {
                vx_set_mic_boost(_chip, ucontrol->value.integer.value[0]);
                chip->mic_level = ucontrol->value.integer.value[0];
-               up(&_chip->mixer_mutex);
+               mutex_unlock(&_chip->mixer_mutex);
                return 1;
        }
-       up(&_chip->mixer_mutex);
+       mutex_unlock(&_chip->mixer_mutex);
        return 0;
 }
 
 
        unsigned char           image[32];      /* registers image */
        int                     mce_bit;
        int                     calibrate_mute;
-       struct semaphore        mce_mutex;
-       struct semaphore        open_mutex;
+       struct mutex            mce_mutex;
+       struct mutex            open_mutex;
 
        union {
 #ifdef SBUS_SUPPORT
 {
        unsigned long flags;
 
-       down(&chip->mce_mutex);
+       mutex_lock(&chip->mce_mutex);
        snd_cs4231_calibrate_mute(chip, 1);
 
        snd_cs4231_mce_up(chip);
        snd_cs4231_mce_down(chip);
 
        snd_cs4231_calibrate_mute(chip, 0);
-       up(&chip->mce_mutex);
+       mutex_unlock(&chip->mce_mutex);
 }
 
 static void snd_cs4231_capture_format(struct snd_cs4231 *chip, struct snd_pcm_hw_params *params,
 {
        unsigned long flags;
 
-       down(&chip->mce_mutex);
+       mutex_lock(&chip->mce_mutex);
        snd_cs4231_calibrate_mute(chip, 1);
 
        snd_cs4231_mce_up(chip);
        snd_cs4231_mce_down(chip);
 
        snd_cs4231_calibrate_mute(chip, 0);
-       up(&chip->mce_mutex);
+       mutex_unlock(&chip->mce_mutex);
 }
 
 /*
 {
        unsigned long flags;
 
-       down(&chip->open_mutex);
+       mutex_lock(&chip->open_mutex);
        if ((chip->mode & mode)) {
-               up(&chip->open_mutex);
+               mutex_unlock(&chip->open_mutex);
                return -EAGAIN;
        }
        if (chip->mode & CS4231_MODE_OPEN) {
                chip->mode |= mode;
-               up(&chip->open_mutex);
+               mutex_unlock(&chip->open_mutex);
                return 0;
        }
        /* ok. now enable and ack CODEC IRQ */
        spin_unlock_irqrestore(&chip->lock, flags);
 
        chip->mode = mode;
-       up(&chip->open_mutex);
+       mutex_unlock(&chip->open_mutex);
        return 0;
 }
 
 {
        unsigned long flags;
 
-       down(&chip->open_mutex);
+       mutex_lock(&chip->open_mutex);
        chip->mode &= ~mode;
        if (chip->mode & CS4231_MODE_OPEN) {
-               up(&chip->open_mutex);
+               mutex_unlock(&chip->open_mutex);
                return;
        }
        snd_cs4231_calibrate_mute(chip, 1);
        snd_cs4231_calibrate_mute(chip, 0);
 
        chip->mode = 0;
-       up(&chip->open_mutex);
+       mutex_unlock(&chip->open_mutex);
 }
 
 /*
        spin_lock_init(&chip->lock);
        spin_lock_init(&chip->c_dma.sbus_info.lock);
        spin_lock_init(&chip->p_dma.sbus_info.lock);
-       init_MUTEX(&chip->mce_mutex);
-       init_MUTEX(&chip->open_mutex);
+       mutex_init(&chip->mce_mutex);
+       mutex_init(&chip->open_mutex);
        chip->card = card;
        chip->dev_u.sdev = sdev;
        chip->regs_size = sdev->reg_addrs[0].reg_size;
        spin_lock_init(&chip->lock);
        spin_lock_init(&chip->c_dma.ebus_info.lock);
        spin_lock_init(&chip->p_dma.ebus_info.lock);
-       init_MUTEX(&chip->mce_mutex);
-       init_MUTEX(&chip->open_mutex);
+       mutex_init(&chip->mce_mutex);
+       mutex_init(&chip->open_mutex);
        chip->flags |= CS4231_FLAG_EBUS;
        chip->card = card;
        chip->dev_u.pdev = edev->bus->self;
 
 #include <linux/usb.h>
 #include <linux/vmalloc.h>
 #include <linux/moduleparam.h>
+#include <linux/mutex.h>
 #include <sound/core.h>
 #include <sound/info.h>
 #include <sound/pcm.h>
  * the all interfaces on the same card as one sound device.
  */
 
-static DECLARE_MUTEX(register_mutex);
+static DEFINE_MUTEX(register_mutex);
 static struct snd_usb_audio *usb_chip[SNDRV_CARDS];
 
 
 
        /* check whether it's already registered */
        chip = NULL;
-       down(®ister_mutex);
+       mutex_lock(®ister_mutex);
        for (i = 0; i < SNDRV_CARDS; i++) {
                if (usb_chip[i] && usb_chip[i]->dev == dev) {
                        if (usb_chip[i]->shutdown) {
 
        usb_chip[chip->index] = chip;
        chip->num_interfaces++;
-       up(®ister_mutex);
+       mutex_unlock(®ister_mutex);
        return chip;
 
  __error:
        if (chip && !chip->num_interfaces)
                snd_card_free(chip->card);
-       up(®ister_mutex);
+       mutex_unlock(®ister_mutex);
  __err_val:
        return NULL;
 }
 
        chip = ptr;
        card = chip->card;
-       down(®ister_mutex);
+       mutex_lock(®ister_mutex);
        chip->shutdown = 1;
        chip->num_interfaces--;
        if (chip->num_interfaces <= 0) {
                        snd_usb_mixer_disconnect(p);
                }
                usb_chip[chip->index] = NULL;
-               up(®ister_mutex);
+               mutex_unlock(®ister_mutex);
                snd_card_free(card);
        } else {
-               up(®ister_mutex);
+               mutex_unlock(®ister_mutex);
        }
 }
 
 
        usX2Y(card)->chip.dev = device;
        usX2Y(card)->chip.card = card;
        init_waitqueue_head(&usX2Y(card)->prepare_wait_queue);
-       init_MUTEX (&usX2Y(card)->prepare_mutex);
+       mutex_init(&usX2Y(card)->prepare_mutex);
        INIT_LIST_HEAD(&usX2Y(card)->chip.midi_list);
        strcpy(card->driver, "USB "NAME_ALLCAPS"");
        sprintf(card->shortname, "TASCAM "NAME_ALLCAPS"");
 
        unsigned int            rate,
                                format;
        int                     chip_status;
-       struct semaphore        prepare_mutex;
+       struct mutex            prepare_mutex;
        struct us428ctls_sharedmem      *us428ctls_sharedmem;
        int                     wait_iso_frame;
        wait_queue_head_t       us428ctls_wait_queue_head;
 
 {
        struct snd_pcm_runtime *runtime = substream->runtime;
        struct snd_usX2Y_substream *subs = runtime->private_data;
-       down(&subs->usX2Y->prepare_mutex);
+       mutex_lock(&subs->usX2Y->prepare_mutex);
        snd_printdd("snd_usX2Y_hw_free(%p)\n", substream);
 
        if (SNDRV_PCM_STREAM_PLAYBACK == substream->stream) {
                        usX2Y_urbs_release(subs);
                }
        }
-       up(&subs->usX2Y->prepare_mutex);
+       mutex_unlock(&subs->usX2Y->prepare_mutex);
        return snd_pcm_lib_free_pages(substream);
 }
 /*
        int err = 0;
        snd_printdd("snd_usX2Y_pcm_prepare(%p)\n", substream);
 
-       down(&usX2Y->prepare_mutex);
+       mutex_lock(&usX2Y->prepare_mutex);
        usX2Y_subs_prepare(subs);
 // Start hardware streams
 // SyncStream first....
                err = usX2Y_urbs_start(subs);
 
  up_prepare_mutex:
-       up(&usX2Y->prepare_mutex);
+       mutex_unlock(&usX2Y->prepare_mutex);
        return err;
 }
 
 
        struct snd_pcm_runtime *runtime = substream->runtime;
        struct snd_usX2Y_substream *subs = runtime->private_data,
                *cap_subs2 = subs->usX2Y->subs[SNDRV_PCM_STREAM_CAPTURE + 2];
-       down(&subs->usX2Y->prepare_mutex);
+       mutex_lock(&subs->usX2Y->prepare_mutex);
        snd_printdd("snd_usX2Y_usbpcm_hw_free(%p)\n", substream);
 
        if (SNDRV_PCM_STREAM_PLAYBACK == substream->stream) {
                                usX2Y_usbpcm_urbs_release(cap_subs2);
                }
        }
-       up(&subs->usX2Y->prepare_mutex);
+       mutex_unlock(&subs->usX2Y->prepare_mutex);
        return snd_pcm_lib_free_pages(substream);
 }
 
                memset(usX2Y->hwdep_pcm_shm, 0, sizeof(struct snd_usX2Y_hwdep_pcm_shm));
        }
 
-       down(&usX2Y->prepare_mutex);
+       mutex_lock(&usX2Y->prepare_mutex);
        usX2Y_subs_prepare(subs);
 // Start hardware streams
 // SyncStream first....
                usX2Y->hwdep_pcm_shm->capture_iso_start = -1;
 
  up_prepare_mutex:
-       up(&usX2Y->prepare_mutex);
+       mutex_unlock(&usX2Y->prepare_mutex);
        return err;
 }
 
                if (dev->type != SNDRV_DEV_PCM)
                        continue;
                pcm = dev->device_data;
-               down(&pcm->open_mutex);
+               mutex_lock(&pcm->open_mutex);
        }
        list_for_each(list, &card->devices) {
                int s;
                if (dev->type != SNDRV_DEV_PCM)
                        continue;
                pcm = dev->device_data;
-               up(&pcm->open_mutex);
+               mutex_unlock(&pcm->open_mutex);
        }
 }