The attached patch modifies the sound files to use the new mutex functions.

Signed-Off-By: David Howells <[EMAIL PROTECTED]>
---
warthog>diffstat -p1 mutex-sound-2615rc5.diff
 include/sound/ac97_codec.h          |    4 ++--
 include/sound/ad1848.h              |    2 +-
 include/sound/ak4531_codec.h        |    2 +-
 include/sound/core.h                |    4 ++--
 include/sound/cs4231.h              |    4 ++--
 include/sound/cs46xx.h              |    2 +-
 include/sound/emu10k1.h             |    4 ++--
 include/sound/emux_synth.h          |    2 +-
 include/sound/gus.h                 |    6 +++---
 include/sound/hwdep.h               |    2 +-
 include/sound/i2c.h                 |    2 +-
 include/sound/info.h                |    2 +-
 include/sound/mixer_oss.h           |    2 +-
 include/sound/opl3.h                |    2 +-
 include/sound/pcm.h                 |    2 +-
 include/sound/pcm_oss.h             |    2 +-
 include/sound/rawmidi.h             |    4 ++--
 include/sound/sb16_csp.h            |    2 +-
 include/sound/seq_instr.h           |    2 +-
 include/sound/soundfont.h           |    2 +-
 include/sound/util_mem.h            |    2 +-
 include/sound/vx_core.h             |    2 +-
 sound/arm/aaci.h                    |    2 +-
 sound/arm/pxa2xx-ac97.c             |    2 +-
 sound/arm/sa11xx-uda1341.c          |    2 +-
 sound/core/memalloc.c               |    2 +-
 sound/core/seq/seq_clientmgr.h      |    2 +-
 sound/core/seq/seq_device.c         |    2 +-
 sound/core/seq/seq_midi.c           |    2 +-
 sound/core/seq/seq_queue.h          |    2 +-
 sound/core/timer.c                  |    2 +-
 sound/drivers/opl4/opl4_local.h     |    2 +-
 sound/oss/ac97_codec.c              |    2 +-
 sound/oss/aci.c                     |    4 ++--
 sound/oss/ad1889.h                  |    2 +-
 sound/oss/ali5455.c                 |    2 +-
 sound/oss/au1000.c                  |    4 ++--
 sound/oss/au1550_ac97.c             |    4 ++--
 sound/oss/btaudio.c                 |    2 +-
 sound/oss/cmpci.c                   |    2 +-
 sound/oss/cs4281/cs4281m.c          |    6 +++---
 sound/oss/cs46xx.c                  |    6 +++---
 sound/oss/dmasound/dmasound_awacs.c |    2 +-
 sound/oss/emu10k1/hwaccess.h        |    2 +-
 sound/oss/es1370.c                  |    4 ++--
 sound/oss/es1371.c                  |    4 ++--
 sound/oss/esssolo1.c                |    2 +-
 sound/oss/forte.c                   |    2 +-
 sound/oss/hal2.c                    |    2 +-
 sound/oss/i810_audio.c              |    2 +-
 sound/oss/ite8172.c                 |    2 +-
 sound/oss/maestro.c                 |    2 +-
 sound/oss/maestro3.c                |    2 +-
 sound/oss/nec_vrc5477.c             |    2 +-
 sound/oss/rme96xx.c                 |    2 +-
 sound/oss/sonicvibes.c              |    2 +-
 sound/oss/swarm_cs4297a.c           |    6 +++---
 sound/oss/trident.c                 |    4 ++--
 sound/oss/via82cxxx_audio.c         |    6 +++---
 sound/oss/vwsnd.c                   |    8 ++++----
 sound/oss/ymfpci.h                  |    2 +-
 sound/pci/atiixp.c                  |    2 +-
 sound/pci/atiixp_modem.c            |    2 +-
 sound/pci/cmipci.c                  |    2 +-
 sound/pci/ens1370.c                 |    2 +-
 sound/pci/es1968.c                  |    2 +-
 sound/pci/hda/hda_codec.h           |    4 ++--
 sound/pci/hda/hda_intel.c           |    2 +-
 sound/pci/hda/patch_analog.c        |    2 +-
 sound/pci/ice1712/ice1712.h         |    6 +++---
 sound/pci/korg1212/korg1212.c       |    2 +-
 sound/pci/mixart/mixart.h           |    6 +++---
 sound/pci/nm256/nm256.c             |    2 +-
 sound/sparc/cs4231.c                |    4 ++--
 sound/usb/usx2y/usbusx2y.h          |    2 +-
 75 files changed, 105 insertions(+), 105 deletions(-)

diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/ac97_codec.h 
linux-2.6.15-rc5-mutex/include/sound/ac97_codec.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/ac97_codec.h        
2005-12-08 16:23:55.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/ac97_codec.h   2005-12-12 
19:38:31.000000000 +0000
@@ -486,8 +486,8 @@ struct _snd_ac97 {
        snd_info_entry_t *proc_regs;
        unsigned short subsystem_vendor;
        unsigned short subsystem_device;
-       struct semaphore reg_mutex;
-       struct semaphore page_mutex;    /* mutex for AD18xx multi-codecs and 
paging (2.3) */
+       struct mutex reg_mutex;
+       struct mutex page_mutex; /* mutex for AD18xx multi-codecs and paging 
(2.3) */
        unsigned short num;     /* number of codec: 0 = primary, 1 = secondary 
*/
        unsigned short addr;    /* physical address of codec [0-3] */
        unsigned int id;        /* identification of codec */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/ad1848.h 
linux-2.6.15-rc5-mutex/include/sound/ad1848.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/ad1848.h    2005-03-02 
12:09:01.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/ad1848.h       2005-12-12 
19:41:15.000000000 +0000
@@ -149,7 +149,7 @@ struct _snd_ad1848 {
        int thinkpad_flag;              /* Thinkpad CS4248 needs some extra 
help */
 
        spinlock_t reg_lock;
-       struct semaphore open_mutex;
+       struct mutex open_mutex;
 };
 
 typedef struct _snd_ad1848 ad1848_t;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/ak4531_codec.h 
linux-2.6.15-rc5-mutex/include/sound/ak4531_codec.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/ak4531_codec.h      
2005-03-02 12:09:01.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/ak4531_codec.h 2005-12-12 
19:39:14.000000000 +0000
@@ -72,7 +72,7 @@ struct _snd_ak4531 {
        void (*private_free) (ak4531_t *ak4531);
        /* --- */
        unsigned char regs[0x20];
-       struct semaphore reg_mutex;
+       struct mutex reg_mutex;
 };
 
 int snd_ak4531_mixer(snd_card_t * card, ak4531_t * _ak4531, ak4531_t ** 
rak4531);
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/core.h 
linux-2.6.15-rc5-mutex/include/sound/core.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/core.h      2005-12-08 
16:23:55.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/core.h 2005-12-12 22:12:49.000000000 
+0000
@@ -23,7 +23,7 @@
  */
 
 #include <linux/sched.h>               /* wake_up() */
-#include <asm/semaphore.h>             /* struct semaphore */
+#include <linux/semaphore.h>           /* struct mutex */
 #include <linux/rwsem.h>               /* struct rw_semaphore */
 #include <linux/workqueue.h>           /* struct workqueue_struct */
 #include <linux/pm.h>                  /* pm_message_t */
@@ -176,7 +176,7 @@ struct _snd_card {
        int (*pm_resume)(snd_card_t *card);
        void *pm_private_data;
        unsigned int power_state;       /* power state */
-       struct semaphore power_lock;    /* power lock */
+       struct mutex power_lock;        /* power lock */
        wait_queue_head_t power_sleep;
 #endif
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/cs4231.h 
linux-2.6.15-rc5-mutex/include/sound/cs4231.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/cs4231.h    2005-03-02 
12:09:01.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/cs4231.h       2005-12-12 
19:38:41.000000000 +0000
@@ -287,8 +287,8 @@ struct _snd_cs4231 {
 #endif
 
        spinlock_t reg_lock;
-       struct semaphore mce_mutex;
-       struct semaphore open_mutex;
+       struct mutex mce_mutex;
+       struct mutex open_mutex;
 
        int (*rate_constraint) (snd_pcm_runtime_t *runtime);
        void (*set_playback_format) (cs4231_t *chip, snd_pcm_hw_params_t 
*hw_params, unsigned char pdfr);
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/cs46xx.h 
linux-2.6.15-rc5-mutex/include/sound/cs46xx.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/cs46xx.h    2005-11-01 
13:19:22.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/cs46xx.h       2005-12-12 
19:41:15.000000000 +0000
@@ -1712,7 +1712,7 @@ struct _snd_cs46xx {
        int current_gpio;
 #endif
 #ifdef CONFIG_SND_CS46XX_NEW_DSP
-       struct semaphore spos_mutex;
+       struct mutex spos_mutex;
 
        dsp_spos_instance_t * dsp_spos_instance;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/emu10k1.h 
linux-2.6.15-rc5-mutex/include/sound/emu10k1.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/emu10k1.h   2005-12-08 
16:23:55.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/emu10k1.h      2005-12-12 
19:41:15.000000000 +0000
@@ -1024,7 +1024,7 @@ typedef struct {
        int gpr_size;                   /* size of allocated GPR controls */
        int gpr_count;                  /* count of used kcontrols */
        struct list_head gpr_ctl;       /* GPR controls */
-       struct semaphore lock;
+       struct mutex lock;
        snd_emu10k1_fx8010_pcm_t pcm[8];
        spinlock_t irq_lock;
        snd_emu10k1_fx8010_irq_t *irq_handlers;
@@ -1118,7 +1118,7 @@ struct _snd_emu10k1 {
        spinlock_t reg_lock;
        spinlock_t emu_lock;
        spinlock_t voice_lock;
-       struct semaphore ptb_lock;
+       struct mutex ptb_lock;
 
        emu10k1_voice_t voices[NUM_G];
        emu10k1_voice_t p16v_voices[4];
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/emux_synth.h 
linux-2.6.15-rc5-mutex/include/sound/emux_synth.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/emux_synth.h        
2004-06-18 13:44:05.000000000 +0100
+++ linux-2.6.15-rc5-mutex/include/sound/emux_synth.h   2005-12-12 
19:41:15.000000000 +0000
@@ -112,7 +112,7 @@ struct snd_emux {
        snd_emux_voice_t *voices;       /* Voices (EMU 'channel') */
        int use_time;   /* allocation counter */
        spinlock_t voice_lock;  /* Lock for voice access */
-       struct semaphore register_mutex;
+       struct mutex register_mutex;
        int client;             /* For the sequencer client */
        int ports[SNDRV_EMUX_MAX_PORTS];        /* The ports for this device */
        snd_emux_port_t *portptrs[SNDRV_EMUX_MAX_PORTS];
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/gus.h 
linux-2.6.15-rc5-mutex/include/sound/gus.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/gus.h       2005-11-01 
13:19:22.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/gus.h  2005-12-12 19:39:26.000000000 
+0000
@@ -210,7 +210,7 @@ typedef struct _snd_gf1_mem {
        snd_gf1_bank_info_t banks_16[4];
        snd_gf1_mem_block_t *first;
        snd_gf1_mem_block_t *last;
-       struct semaphore memory_mutex;
+       struct mutex memory_mutex;
 } snd_gf1_mem_t;
 
 typedef struct snd_gf1_dma_block {
@@ -468,8 +468,8 @@ struct _snd_gus_card {
        spinlock_t dma_lock;
        spinlock_t pcm_volume_level_lock;
        spinlock_t uart_cmd_lock;
-       struct semaphore dma_mutex;
-       struct semaphore register_mutex;
+       struct mutex dma_mutex;
+       struct mutex register_mutex;
 };
 
 /* I/O functions for GF1/InterWave chip - gus_io.c */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/hwdep.h 
linux-2.6.15-rc5-mutex/include/sound/hwdep.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/hwdep.h     2005-06-22 
13:52:33.000000000 +0100
+++ linux-2.6.15-rc5-mutex/include/sound/hwdep.h        2005-12-12 
19:38:54.000000000 +0000
@@ -62,7 +62,7 @@ struct _snd_hwdep {
        void *private_data;
        void (*private_free) (snd_hwdep_t *hwdep);
 
-       struct semaphore open_mutex;
+       struct mutex open_mutex;
        int used;
        unsigned int dsp_loaded;
        unsigned int exclusive: 1;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/i2c.h 
linux-2.6.15-rc5-mutex/include/sound/i2c.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/i2c.h       2004-06-18 
13:42:21.000000000 +0100
+++ linux-2.6.15-rc5-mutex/include/sound/i2c.h  2005-12-12 19:39:11.000000000 
+0000
@@ -58,7 +58,7 @@ struct _snd_i2c_bus {
        snd_card_t *card;       /* card which I2C belongs to */
        char name[32];          /* some useful label */
 
-       struct semaphore lock_mutex;
+       struct mutex lock_mutex;
 
        snd_i2c_bus_t *master;  /* master bus when SCK/SCL is shared */
        struct list_head buses; /* master: slave buses sharing SCK/SCL, slave: 
link list */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/info.h 
linux-2.6.15-rc5-mutex/include/sound/info.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/info.h      2005-03-02 
12:09:01.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/info.h 2005-12-12 19:38:46.000000000 
+0000
@@ -86,7 +86,7 @@ struct snd_info_entry {
        void *private_data;
        void (*private_free)(snd_info_entry_t *entry);
        struct proc_dir_entry *p;
-       struct semaphore access;
+       struct mutex access;
 };
 
 extern int snd_info_check_reserved_words(const char *str);
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/mixer_oss.h 
linux-2.6.15-rc5-mutex/include/sound/mixer_oss.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/mixer_oss.h 2005-06-22 
13:52:33.000000000 +0100
+++ linux-2.6.15-rc5-mutex/include/sound/mixer_oss.h    2005-12-12 
19:39:05.000000000 +0000
@@ -59,7 +59,7 @@ struct _snd_oss_mixer {
        snd_mixer_oss_put_recsrce_t put_recsrc;
        void *private_data_recsrc;
        void (*private_free_recsrc)(snd_mixer_oss_t *mixer);
-       struct semaphore reg_mutex;
+       struct mutex reg_mutex;
        snd_info_entry_t *proc_entry;
        int oss_dev_alloc;
        /* --- */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/opl3.h 
linux-2.6.15-rc5-mutex/include/sound/opl3.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/opl3.h      2005-01-04 
11:13:56.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/opl3.h 2005-12-12 19:38:35.000000000 
+0000
@@ -312,7 +312,7 @@ struct snd_opl3 {
        int sys_timer_status;           /* system timer run status */
        spinlock_t sys_timer_lock;      /* Lock for system timer access */
 #endif
-       struct semaphore access_mutex;  /* locking */
+       struct mutex access_mutex;      /* locking */
 };
 
 /* opl3.c */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/pcm.h 
linux-2.6.15-rc5-mutex/include/sound/pcm.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/pcm.h       2005-12-08 
16:23:55.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/pcm.h  2005-12-12 19:38:51.000000000 
+0000
@@ -445,7 +445,7 @@ struct _snd_pcm {
        char id[64];
        char name[80];
        snd_pcm_str_t streams[2];
-       struct semaphore open_mutex;
+       struct mutex open_mutex;
        wait_queue_head_t open_wait;
        void *private_data;
        void (*private_free) (snd_pcm_t *pcm);
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/pcm_oss.h 
linux-2.6.15-rc5-mutex/include/sound/pcm_oss.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/pcm_oss.h   2005-11-01 
13:19:22.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/pcm_oss.h      2005-12-12 
19:37:46.000000000 +0000
@@ -76,7 +76,7 @@ typedef struct _snd_pcm_oss_substream {
 
 typedef struct _snd_pcm_oss_stream {
        snd_pcm_oss_setup_t *setup_list;        /* setup list */
-        struct semaphore setup_mutex;
+        struct mutex setup_mutex;
        snd_info_entry_t *proc_entry;
 } snd_pcm_oss_stream_t;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/rawmidi.h 
linux-2.6.15-rc5-mutex/include/sound/rawmidi.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/rawmidi.h   2005-06-22 
13:52:33.000000000 +0100
+++ linux-2.6.15-rc5-mutex/include/sound/rawmidi.h      2005-12-12 
22:12:49.000000000 +0000
@@ -26,7 +26,7 @@
 #include <linux/interrupt.h>
 #include <linux/spinlock.h>
 #include <linux/wait.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 #if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE)
 #include "seq_device.h"
@@ -136,7 +136,7 @@ struct _snd_rawmidi {
        void *private_data;
        void (*private_free) (snd_rawmidi_t *rmidi);
 
-       struct semaphore open_mutex;
+       struct mutex open_mutex;
        wait_queue_head_t open_wait;
 
        snd_info_entry_t *dev;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/sb16_csp.h 
linux-2.6.15-rc5-mutex/include/sound/sb16_csp.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/sb16_csp.h  2004-06-18 
13:42:21.000000000 +0100
+++ linux-2.6.15-rc5-mutex/include/sound/sb16_csp.h     2005-12-12 
19:41:15.000000000 +0000
@@ -158,7 +158,7 @@ struct snd_sb_csp {
        snd_kcontrol_t *qsound_switch;
        snd_kcontrol_t *qsound_space;
 
-       struct semaphore access_mutex;  /* locking */
+       struct mutex access_mutex;      /* locking */
 };
 
 int snd_sb_csp_new(sb_t *chip, int device, snd_hwdep_t ** rhwdep);
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/seq_instr.h 
linux-2.6.15-rc5-mutex/include/sound/seq_instr.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/seq_instr.h 2004-06-18 
13:44:06.000000000 +0100
+++ linux-2.6.15-rc5-mutex/include/sound/seq_instr.h    2005-12-12 
19:39:20.000000000 +0000
@@ -66,7 +66,7 @@ typedef struct {
 
        spinlock_t lock;
        spinlock_t ops_lock;
-       struct semaphore ops_mutex;
+       struct mutex ops_mutex;
        unsigned long ops_flags;
 } snd_seq_kinstr_list_t;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/soundfont.h 
linux-2.6.15-rc5-mutex/include/sound/soundfont.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/soundfont.h 2005-03-02 
12:09:01.000000000 +0000
+++ linux-2.6.15-rc5-mutex/include/sound/soundfont.h    2005-12-12 
19:41:15.000000000 +0000
@@ -96,7 +96,7 @@ typedef struct snd_sf_list {
        int sample_locked;      /* locked time for sample */
        snd_sf_callback_t callback;     /* callback functions */
        int presets_locked;
-       struct semaphore presets_mutex;
+       struct mutex presets_mutex;
        spinlock_t lock;
        snd_util_memhdr_t *memhdr;
 } snd_sf_list_t;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/util_mem.h 
linux-2.6.15-rc5-mutex/include/sound/util_mem.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/util_mem.h  2004-06-18 
13:42:21.000000000 +0100
+++ linux-2.6.15-rc5-mutex/include/sound/util_mem.h     2005-12-12 
19:38:48.000000000 +0000
@@ -44,7 +44,7 @@ struct snd_util_memhdr {
        int nblocks;                    /* # of allocated blocks */
        snd_util_unit_t used;           /* used memory size */
        int block_extra_size;           /* extra data size of chunk */
-       struct semaphore block_mutex;   /* lock */
+       struct mutex block_mutex;       /* lock */
 };
 
 /*
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/include/sound/vx_core.h 
linux-2.6.15-rc5-mutex/include/sound/vx_core.h
--- /warthog/kernels/linux-2.6.15-rc5/include/sound/vx_core.h   2005-08-30 
13:56:38.000000000 +0100
+++ linux-2.6.15-rc5-mutex/include/sound/vx_core.h      2005-12-12 
19:41:15.000000000 +0000
@@ -207,7 +207,7 @@ struct snd_vx_core {
        int audio_monitor[4];                   /* playback hw-monitor level */
        unsigned char audio_monitor_active[4];  /* playback hw-monitor 
mute/unmute */
 
-       struct semaphore mixer_mutex;
+       struct mutex mixer_mutex;
 
        const struct firmware *firmware[4]; /* loaded firmware data */
 };
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/arm/aaci.h 
linux-2.6.15-rc5-mutex/sound/arm/aaci.h
--- /warthog/kernels/linux-2.6.15-rc5/sound/arm/aaci.h  2005-11-01 
13:19:26.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/arm/aaci.h     2005-12-12 20:40:39.000000000 
+0000
@@ -227,7 +227,7 @@ struct aaci {
        unsigned int            fifosize;
 
        /* AC'97 */
-       struct semaphore        ac97_sem;
+       struct mutex            ac97_sem;
        ac97_bus_t              *ac97_bus;
 
        u32                     maincr;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/arm/pxa2xx-ac97.c 
linux-2.6.15-rc5-mutex/sound/arm/pxa2xx-ac97.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/arm/pxa2xx-ac97.c   2005-12-08 
16:23:57.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/arm/pxa2xx-ac97.c      2005-12-12 
22:12:50.000000000 +0000
@@ -17,6 +17,7 @@
 #include <linux/interrupt.h>
 #include <linux/wait.h>
 #include <linux/delay.h>
+#include <linux/semaphore.h>
 
 #include <sound/driver.h>
 #include <sound/core.h>
@@ -25,7 +26,6 @@
 #include <sound/initval.h>
 
 #include <asm/irq.h>
-#include <asm/semaphore.h>
 #include <asm/hardware.h>
 #include <asm/arch/pxa-regs.h>
 #include <asm/arch/audio.h>
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/arm/sa11xx-uda1341.c 
linux-2.6.15-rc5-mutex/sound/arm/sa11xx-uda1341.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/arm/sa11xx-uda1341.c        
2005-11-01 13:19:27.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/arm/sa11xx-uda1341.c   2005-12-12 
22:12:50.000000000 +0000
@@ -79,7 +79,7 @@
 #include <asm/dma.h>
 
 #ifdef CONFIG_H3600_HAL
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 #include <asm/uaccess.h>
 #include <asm/arch/h3600_hal.h>
 #endif
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/core/memalloc.c 
linux-2.6.15-rc5-mutex/sound/core/memalloc.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/core/memalloc.c     2005-12-08 
16:23:57.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/core/memalloc.c        2005-12-12 
22:12:50.000000000 +0000
@@ -31,7 +31,7 @@
 #include <asm/uaccess.h>
 #include <linux/dma-mapping.h>
 #include <linux/moduleparam.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 #include <sound/memalloc.h>
 #ifdef CONFIG_SBUS
 #include <asm/sbus.h>
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/core/seq/seq_clientmgr.h 
linux-2.6.15-rc5-mutex/sound/core/seq/seq_clientmgr.h
--- /warthog/kernels/linux-2.6.15-rc5/sound/core/seq/seq_clientmgr.h    
2005-03-02 12:09:12.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/core/seq/seq_clientmgr.h       2005-12-12 
20:41:17.000000000 +0000
@@ -61,7 +61,7 @@ struct _snd_seq_client {
        int num_ports;          /* number of ports */
        struct list_head ports_list_head;
        rwlock_t ports_lock;
-       struct semaphore ports_mutex;
+       struct mutex ports_mutex;
        int convert32;          /* convert 32->64bit */
 
        /* output pool */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/core/seq/seq_device.c 
linux-2.6.15-rc5-mutex/sound/core/seq/seq_device.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/core/seq/seq_device.c       
2005-11-01 13:19:27.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/core/seq/seq_device.c  2005-12-12 
20:41:14.000000000 +0000
@@ -74,7 +74,7 @@ struct ops_list {
        struct list_head dev_list;      /* list of devices */
        int num_devices;        /* number of associated devices */
        int num_init_devices;   /* number of initialized devices */
-       struct semaphore reg_mutex;
+       struct mutex reg_mutex;
 
        struct list_head list;  /* next driver */
 };
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/core/seq/seq_midi.c 
linux-2.6.15-rc5-mutex/sound/core/seq/seq_midi.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/core/seq/seq_midi.c 2005-12-08 
16:23:57.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/core/seq/seq_midi.c    2005-12-12 
22:12:50.000000000 +0000
@@ -32,7 +32,7 @@ Possible options for midisynth module:
 #include <linux/errno.h>
 #include <linux/string.h>
 #include <linux/moduleparam.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 #include <sound/core.h>
 #include <sound/rawmidi.h>
 #include <sound/seq_kernel.h>
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/core/seq/seq_queue.h 
linux-2.6.15-rc5-mutex/sound/core/seq/seq_queue.h
--- /warthog/kernels/linux-2.6.15-rc5/sound/core/seq/seq_queue.h        
2005-08-30 13:56:45.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/core/seq/seq_queue.h   2005-12-12 
20:41:11.000000000 +0000
@@ -54,7 +54,7 @@ struct _snd_seq_queue {
        /* clients which uses this queue (bitmap) */
        DECLARE_BITMAP(clients_bitmap, SNDRV_SEQ_MAX_CLIENTS);
        unsigned int clients;   /* users of this queue */
-       struct semaphore timer_mutex;
+       struct mutex timer_mutex;
 
        snd_use_lock_t use_lock;
 };
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/core/timer.c 
linux-2.6.15-rc5-mutex/sound/core/timer.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/core/timer.c        2005-12-08 
16:23:57.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/core/timer.c   2005-12-12 20:41:08.000000000 
+0000
@@ -70,7 +70,7 @@ typedef struct {
        struct timespec tstamp;         /* trigger tstamp */
        wait_queue_head_t qchange_sleep;
        struct fasync_struct *fasync;
-       struct semaphore tread_sem;
+       struct mutex tread_sem;
 } snd_timer_user_t;
 
 /* list of timers */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/drivers/opl4/opl4_local.h 
linux-2.6.15-rc5-mutex/sound/drivers/opl4/opl4_local.h
--- /warthog/kernels/linux-2.6.15-rc5/sound/drivers/opl4/opl4_local.h   
2004-10-19 10:42:23.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/drivers/opl4/opl4_local.h      2005-12-12 
20:45:26.000000000 +0000
@@ -182,7 +182,7 @@ struct opl4 {
        snd_info_entry_t *proc_entry;
        int memory_access;
 #endif
-       struct semaphore access_mutex;
+       struct mutex access_mutex;
 
 #if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE)
        int used;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/ac97_codec.c 
linux-2.6.15-rc5-mutex/sound/oss/ac97_codec.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/ac97_codec.c    2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/ac97_codec.c       2005-12-12 
22:12:50.000000000 +0000
@@ -54,8 +54,8 @@
 #include <linux/delay.h>
 #include <linux/pci.h>
 #include <linux/ac97_codec.h>
+#include <linux/semaphore.h>
 #include <asm/uaccess.h>
-#include <asm/semaphore.h>
 
 #define CODEC_ID_BUFSZ 14
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/aci.c 
linux-2.6.15-rc5-mutex/sound/oss/aci.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/aci.c   2005-03-02 
12:09:13.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/aci.c      2005-12-12 22:12:50.000000000 
+0000
@@ -56,7 +56,7 @@
 #include <linux/module.h> 
 #include <linux/proc_fs.h>
 #include <linux/slab.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 #include <asm/io.h>
 #include <asm/uaccess.h>
 #include "sound_config.h"
@@ -79,7 +79,7 @@ static int aci_micpreamp=3; /* microphon
                         * checked with ACI versions prior to 0xb0      */
 
 static int mixer_device;
-static struct semaphore aci_sem;
+static struct mutex aci_sem;
 
 #ifdef MODULE
 static int reset;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/ad1889.h 
linux-2.6.15-rc5-mutex/sound/oss/ad1889.h
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/ad1889.h        2005-01-04 
11:14:02.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/ad1889.h   2005-12-12 20:41:45.000000000 
+0000
@@ -100,7 +100,7 @@ typedef struct ad1889_state {
                unsigned int subdivision;
        } dmabuf;
 
-       struct semaphore sem;
+       struct mutex sem;
 } ad1889_state_t;
 
 typedef struct ad1889_dev {
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/ali5455.c 
linux-2.6.15-rc5-mutex/sound/oss/ali5455.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/ali5455.c       2005-06-22 
13:52:38.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/ali5455.c  2005-12-12 20:43:28.000000000 
+0000
@@ -234,7 +234,7 @@ struct ali_state {
        struct ali_card *card;  /* Card info */
 
        /* single open lock mechanism, only used for recording */
-       struct semaphore open_sem;
+       struct mutex open_sem;
        wait_queue_head_t open_wait;
 
        /* file mode */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/au1000.c 
linux-2.6.15-rc5-mutex/sound/oss/au1000.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/au1000.c        2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/au1000.c   2005-12-12 20:43:55.000000000 
+0000
@@ -120,8 +120,8 @@ struct au1000_state {
        int             no_vra; // do not use VRA
 
        spinlock_t      lock;
-       struct semaphore open_sem;
-       struct semaphore sem;
+       struct mutex open_sem;
+       struct mutex sem;
        mode_t          open_mode;
        wait_queue_head_t open_wait;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/au1550_ac97.c 
linux-2.6.15-rc5-mutex/sound/oss/au1550_ac97.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/au1550_ac97.c   2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/au1550_ac97.c      2005-12-12 
20:43:16.000000000 +0000
@@ -90,8 +90,8 @@ static struct au1550_state {
        int             no_vra;         /* do not use VRA */
 
        spinlock_t      lock;
-       struct semaphore open_sem;
-       struct semaphore sem;
+       struct mutex open_sem;
+       struct mutex sem;
        mode_t          open_mode;
        wait_queue_head_t open_wait;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/btaudio.c 
linux-2.6.15-rc5-mutex/sound/oss/btaudio.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/btaudio.c       2005-06-22 
13:52:38.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/btaudio.c  2005-12-12 20:41:39.000000000 
+0000
@@ -108,7 +108,7 @@ struct btaudio {
 
        /* locking */
        int            users;
-       struct semaphore lock;
+       struct mutex   lock;
 
        /* risc instructions */
        unsigned int   risc_size;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/cmpci.c 
linux-2.6.15-rc5-mutex/sound/oss/cmpci.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/cmpci.c 2005-08-30 
13:56:46.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/cmpci.c    2005-12-12 20:44:06.000000000 
+0000
@@ -392,7 +392,7 @@ struct cm_state {
        unsigned char fmt, enable;
 
        spinlock_t lock;
-       struct semaphore open_sem;
+       struct mutex open_sem;
        mode_t open_mode;
        wait_queue_head_t open_wait;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/cs4281/cs4281m.c 
linux-2.6.15-rc5-mutex/sound/oss/cs4281/cs4281m.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/cs4281/cs4281m.c        
2005-12-08 16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/cs4281/cs4281m.c   2005-12-12 
20:41:30.000000000 +0000
@@ -245,9 +245,9 @@ struct cs4281_state {
        void *tmpbuff;          // tmp buffer for sample conversions
        unsigned ena;
        spinlock_t lock;
-       struct semaphore open_sem;
-       struct semaphore open_sem_adc;
-       struct semaphore open_sem_dac;
+       struct mutex open_sem;
+       struct mutex open_sem_adc;
+       struct mutex open_sem_dac;
        mode_t open_mode;
        wait_queue_head_t open_wait;
        wait_queue_head_t open_wait_adc;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/cs46xx.c 
linux-2.6.15-rc5-mutex/sound/oss/cs46xx.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/cs46xx.c        2005-08-30 
13:56:46.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/cs46xx.c   2005-12-12 20:43:37.000000000 
+0000
@@ -238,7 +238,7 @@ struct cs_state {
        struct cs_card *card;   /* Card info */
 
        /* single open lock mechanism, only used for recording */
-       struct semaphore open_sem;
+       struct mutex open_sem;
        wait_queue_head_t open_wait;
 
        /* file mode */
@@ -297,7 +297,7 @@ struct cs_state {
                unsigned subdivision;
        } dmabuf;
        /* Guard against mmap/write/read races */
-       struct semaphore sem;
+       struct mutex sem;
 };
 
 struct cs_card {
@@ -375,7 +375,7 @@ struct cs_card {
                unsigned char ibuf[CS_MIDIINBUF];
                unsigned char obuf[CS_MIDIOUTBUF];
                mode_t open_mode;
-               struct semaphore open_sem;
+               struct mutex open_sem;
        } midi;
        struct cs46xx_pm pm;
 };
diff -uNrp 
/warthog/kernels/linux-2.6.15-rc5/sound/oss/dmasound/dmasound_awacs.c 
linux-2.6.15-rc5-mutex/sound/oss/dmasound/dmasound_awacs.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/dmasound/dmasound_awacs.c       
2005-12-08 16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/dmasound/dmasound_awacs.c  2005-12-12 
22:12:50.000000000 +0000
@@ -80,7 +80,7 @@
 #include <linux/kmod.h>
 #include <linux/interrupt.h>
 #include <linux/input.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 #ifdef CONFIG_ADB_CUDA
 #include <linux/cuda.h>
 #endif
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/emu10k1/hwaccess.h 
linux-2.6.15-rc5-mutex/sound/oss/emu10k1/hwaccess.h
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/emu10k1/hwaccess.h      
2005-03-02 12:09:13.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/emu10k1/hwaccess.h 2005-12-12 
20:43:59.000000000 +0000
@@ -181,7 +181,7 @@ struct emu10k1_card 
        struct emu10k1_mpuout   *mpuout;
        struct emu10k1_mpuin    *mpuin;
 
-       struct semaphore        open_sem;
+       struct mutex            open_sem;
        mode_t                  open_mode;
        wait_queue_head_t       open_wait;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/es1370.c 
linux-2.6.15-rc5-mutex/sound/oss/es1370.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/es1370.c        2005-08-30 
13:56:47.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/es1370.c   2005-12-12 20:43:50.000000000 
+0000
@@ -346,7 +346,7 @@ struct es1370_state {
        unsigned sctrl;
 
        spinlock_t lock;
-       struct semaphore open_sem;
+       struct mutex open_sem;
        mode_t open_mode;
        wait_queue_head_t open_wait;
 
@@ -393,7 +393,7 @@ struct es1370_state {
        struct gameport *gameport;
 #endif
 
-       struct semaphore sem;
+       struct mutex sem;
 };
 
 /* --------------------------------------------------------------------- */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/es1371.c 
linux-2.6.15-rc5-mutex/sound/oss/es1371.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/es1371.c        2005-08-30 
13:56:47.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/es1371.c   2005-12-12 20:44:25.000000000 
+0000
@@ -419,7 +419,7 @@ struct es1371_state {
        unsigned dac1rate, dac2rate, adcrate;
 
        spinlock_t lock;
-       struct semaphore open_sem;
+       struct mutex open_sem;
        mode_t open_mode;
        wait_queue_head_t open_wait;
 
@@ -462,7 +462,7 @@ struct es1371_state {
        struct gameport *gameport;
 #endif
 
-       struct semaphore sem;
+       struct mutex sem;
 };
 
 /* --------------------------------------------------------------------- */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/esssolo1.c 
linux-2.6.15-rc5-mutex/sound/oss/esssolo1.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/esssolo1.c      2005-08-30 
13:56:47.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/esssolo1.c 2005-12-12 20:41:23.000000000 
+0000
@@ -191,7 +191,7 @@ struct solo1_state {
        unsigned ena;
 
        spinlock_t lock;
-       struct semaphore open_sem;
+       struct mutex open_sem;
        mode_t open_mode;
        wait_queue_head_t open_wait;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/forte.c 
linux-2.6.15-rc5-mutex/sound/oss/forte.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/forte.c 2005-03-02 
12:09:13.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/forte.c    2005-12-12 20:43:40.000000000 
+0000
@@ -185,7 +185,7 @@ struct forte_chip {
        unsigned long           iobase;
        int                     irq;
 
-       struct semaphore        open_sem;       /* Device access */
+       struct mutex            open_sem;       /* Device access */
        spinlock_t              lock;           /* State */
 
        spinlock_t              ac97_lock;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/hal2.c 
linux-2.6.15-rc5-mutex/sound/oss/hal2.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/hal2.c  2004-09-16 
12:06:29.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/hal2.c     2005-12-12 20:43:45.000000000 
+0000
@@ -92,7 +92,7 @@ struct hal2_codec {
 
        wait_queue_head_t dma_wait;
        spinlock_t lock;
-       struct semaphore sem;
+       struct mutex sem;
 
        int usecount;                   /* recording and playback are
                                         * independent */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/i810_audio.c 
linux-2.6.15-rc5-mutex/sound/oss/i810_audio.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/i810_audio.c    2005-08-30 
13:56:47.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/i810_audio.c       2005-12-12 
20:41:42.000000000 +0000
@@ -330,7 +330,7 @@ struct i810_state {
        struct i810_card *card; /* Card info */
 
        /* single open lock mechanism, only used for recording */
-       struct semaphore open_sem;
+       struct mutex open_sem;
        wait_queue_head_t open_wait;
 
        /* file mode */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/ite8172.c 
linux-2.6.15-rc5-mutex/sound/oss/ite8172.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/ite8172.c       2005-11-01 
13:19:27.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/ite8172.c  2005-12-12 20:43:43.000000000 
+0000
@@ -304,7 +304,7 @@ struct it8172_state {
        unsigned dacrate, adcrate;
 
        spinlock_t lock;
-       struct semaphore open_sem;
+       struct mutex open_sem;
        mode_t open_mode;
        wait_queue_head_t open_wait;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/maestro3.c 
linux-2.6.15-rc5-mutex/sound/oss/maestro3.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/maestro3.c      2005-06-22 
13:52:39.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/maestro3.c 2005-12-12 20:44:31.000000000 
+0000
@@ -205,7 +205,7 @@ struct m3_state {
                when irqhandler uses s->lock
                and m3_assp_read uses card->lock ?
                */
-    struct semaphore open_sem;
+    struct mutex open_sem;
     wait_queue_head_t open_wait;
     mode_t open_mode;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/maestro.c 
linux-2.6.15-rc5-mutex/sound/oss/maestro.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/maestro.c       2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/maestro.c  2005-12-12 20:43:09.000000000 
+0000
@@ -401,7 +401,7 @@ struct ess_state {
        /* this locks around the oss state in the driver */
        spinlock_t lock;
        /* only let 1 be opening at a time */
-       struct semaphore open_sem;
+       struct mutex open_sem;
        wait_queue_head_t open_wait;
        mode_t open_mode;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/nec_vrc5477.c 
linux-2.6.15-rc5-mutex/sound/oss/nec_vrc5477.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/nec_vrc5477.c   2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/nec_vrc5477.c      2005-12-12 
20:44:11.000000000 +0000
@@ -198,7 +198,7 @@ struct vrc5477_ac97_state {
        unsigned short extended_status;
 
        spinlock_t lock;
-       struct semaphore open_sem;
+       struct mutex open_sem;
        mode_t open_mode;
        wait_queue_head_t open_wait;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/rme96xx.c 
linux-2.6.15-rc5-mutex/sound/oss/rme96xx.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/rme96xx.c       2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/rme96xx.c  2005-12-12 20:43:12.000000000 
+0000
@@ -326,7 +326,7 @@ typedef struct _rme96xx_info {
 
                /* waiting and locking */
                wait_queue_head_t wait;
-               struct semaphore  open_sem;
+               struct mutex  open_sem;
                wait_queue_head_t open_wait;
 
        } dma[RME96xx_MAX_DEVS]; 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/sonicvibes.c 
linux-2.6.15-rc5-mutex/sound/oss/sonicvibes.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/sonicvibes.c    2005-08-30 
13:56:47.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/sonicvibes.c       2005-12-12 
20:41:34.000000000 +0000
@@ -328,7 +328,7 @@ struct sv_state {
        unsigned char fmt, enable;
 
        spinlock_t lock;
-       struct semaphore open_sem;
+       struct mutex open_sem;
        mode_t open_mode;
        wait_queue_head_t open_wait;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/swarm_cs4297a.c 
linux-2.6.15-rc5-mutex/sound/oss/swarm_cs4297a.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/swarm_cs4297a.c 2005-03-02 
12:09:15.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/swarm_cs4297a.c    2005-12-12 
20:43:25.000000000 +0000
@@ -291,9 +291,9 @@ struct cs4297a_state {
        unsigned conversion:1;  // conversion from 16 to 8 bit in progress
        unsigned ena;
        spinlock_t lock;
-       struct semaphore open_sem;
-       struct semaphore open_sem_adc;
-       struct semaphore open_sem_dac;
+       struct mutex open_sem;
+       struct mutex open_sem_adc;
+       struct mutex open_sem_dac;
        mode_t open_mode;
        wait_queue_head_t open_wait;
        wait_queue_head_t open_wait_adc;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/trident.c 
linux-2.6.15-rc5-mutex/sound/oss/trident.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/trident.c       2005-08-30 
13:56:47.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/trident.c  2005-12-12 20:44:04.000000000 
+0000
@@ -351,7 +351,7 @@ struct trident_state {
        unsigned chans_num;
        unsigned long fmt_flag;
        /* Guard against mmap/write/read races */
-       struct semaphore sem;
+       struct mutex sem;
 
 };
 
@@ -404,7 +404,7 @@ struct trident_card {
        struct trident_card *next;
 
        /* single open lock mechanism, only used for recording */
-       struct semaphore open_sem;
+       struct mutex open_sem;
 
        /* The trident has a certain amount of cross channel interaction
           so we use a single per card lock */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/via82cxxx_audio.c 
linux-2.6.15-rc5-mutex/sound/oss/via82cxxx_audio.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/via82cxxx_audio.c       
2005-08-30 13:56:47.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/oss/via82cxxx_audio.c  2005-12-12 
22:12:50.000000000 +0000
@@ -36,9 +36,9 @@
 #include <linux/ioport.h>
 #include <linux/delay.h>
 #include <linux/dma-mapping.h>
+#include <linux/semaphore.h>
 #include <asm/io.h>
 #include <asm/uaccess.h>
-#include <asm/semaphore.h>
 #include "sound_config.h"
 #include "dev_table.h"
 #include "mpu401.h"
@@ -311,8 +311,8 @@ struct via_info {
        
        int mixer_vol;          /* 8233/35 volume  - not yet implemented */
 
-       struct semaphore syscall_sem;
-       struct semaphore open_sem;
+       struct mutex syscall_sem;
+       struct mutex open_sem;
 
        /* The 8233/8235 have 4 DX audio channels, two record and
           one six channel out. We bind ch_in to DX 1, ch_out to multichannel
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/vwsnd.c 
linux-2.6.15-rc5-mutex/sound/oss/vwsnd.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/vwsnd.c 2005-03-02 
12:09:15.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/vwsnd.c    2005-12-12 22:12:50.000000000 
+0000
@@ -148,7 +148,7 @@
 #include <linux/smp_lock.h>
 #include <linux/wait.h>
 #include <linux/interrupt.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 #include <asm/mach-visws/cobalt.h>
 
 #include "sound_config.h"
@@ -1507,9 +1507,9 @@ typedef struct vwsnd_dev {
        int             audio_minor;    /* minor number of audio device */
        int             mixer_minor;    /* minor number of mixer device */
 
-       struct semaphore open_sema;
-       struct semaphore io_sema;
-       struct semaphore mix_sema;
+       struct mutex open_sema;
+       struct mutex io_sema;
+       struct mutex mix_sema;
        mode_t          open_mode;
        wait_queue_head_t open_wait;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/oss/ymfpci.h 
linux-2.6.15-rc5-mutex/sound/oss/ymfpci.h
--- /warthog/kernels/linux-2.6.15-rc5/sound/oss/ymfpci.h        2005-01-04 
11:14:03.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/oss/ymfpci.h   2005-12-12 20:44:28.000000000 
+0000
@@ -279,7 +279,7 @@ struct ymf_unit {
 
        /* soundcore stuff */
        int dev_audio;
-       struct semaphore open_sem;
+       struct mutex open_sem;
 
        struct list_head ymf_devs;
        struct list_head states;        /* List of states for this unit */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/pci/atiixp.c 
linux-2.6.15-rc5-mutex/sound/pci/atiixp.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/pci/atiixp.c        2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/pci/atiixp.c   2005-12-12 20:45:15.000000000 
+0000
@@ -280,7 +280,7 @@ struct snd_atiixp {
        unsigned int codec_not_ready_bits;      /* for codec detection */
 
        int spdif_over_aclink;          /* passed from the module option */
-       struct semaphore open_mutex;    /* playback open mutex */
+       struct mutex open_mutex;        /* playback open mutex */
 };
 
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/pci/atiixp_modem.c 
linux-2.6.15-rc5-mutex/sound/pci/atiixp_modem.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/pci/atiixp_modem.c  2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/pci/atiixp_modem.c     2005-12-12 
20:45:13.000000000 +0000
@@ -258,7 +258,7 @@ struct snd_atiixp {
        unsigned int codec_not_ready_bits;      /* for codec detection */
 
        int spdif_over_aclink;          /* passed from the module option */
-       struct semaphore open_mutex;    /* playback open mutex */
+       struct mutex open_mutex;        /* playback open mutex */
 };
 
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/pci/cmipci.c 
linux-2.6.15-rc5-mutex/sound/pci/cmipci.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/pci/cmipci.c        2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/pci/cmipci.c   2005-12-12 20:45:08.000000000 
+0000
@@ -440,7 +440,7 @@ struct snd_stru_cmipci {
        snd_pcm_hardware_t *hw_info[3]; /* for playbacks */
 
        int opened[2];  /* open mode */
-       struct semaphore open_mutex;
+       struct mutex open_mutex;
 
        unsigned int mixer_insensitive: 1;
        snd_kcontrol_t *mixer_res_ctl[CM_SAVED_MIXERS];
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/pci/ens1370.c 
linux-2.6.15-rc5-mutex/sound/pci/ens1370.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/pci/ens1370.c       2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/pci/ens1370.c  2005-12-12 20:44:36.000000000 
+0000
@@ -364,7 +364,7 @@ typedef struct _snd_ensoniq ensoniq_t;
 
 struct _snd_ensoniq {
        spinlock_t reg_lock;
-       struct semaphore src_mutex;
+       struct mutex src_mutex;
 
        int irq;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/pci/es1968.c 
linux-2.6.15-rc5-mutex/sound/pci/es1968.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/pci/es1968.c        2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/pci/es1968.c   2005-12-12 20:45:10.000000000 
+0000
@@ -573,7 +573,7 @@ struct snd_es1968 {
        u16 maestro_map[32];
        int bobclient;          /* active timer instancs */
        int bob_freq;           /* timer frequency */
-       struct semaphore memory_mutex;  /* memory lock */
+       struct mutex memory_mutex;      /* memory lock */
 
        /* APU states */
        unsigned char apu[NR_APUS];
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/pci/hda/hda_codec.h 
linux-2.6.15-rc5-mutex/sound/pci/hda/hda_codec.h
--- /warthog/kernels/linux-2.6.15-rc5/sound/pci/hda/hda_codec.h 2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/pci/hda/hda_codec.h    2005-12-12 
21:45:18.000000000 +0000
@@ -432,7 +432,7 @@ struct hda_bus {
        struct list_head codec_list;
        struct hda_codec *caddr_tbl[HDA_MAX_CODEC_ADDRESS + 1]; /* caddr -> 
codec */
 
-       struct semaphore cmd_mutex;
+       struct mutex cmd_mutex;
 
        /* unsolicited event queue */
        struct hda_bus_unsolicited *unsol;
@@ -547,7 +547,7 @@ struct hda_codec {
        int num_amp_entries;
        struct hda_amp_info amp_info[128]; /* big enough? */
 
-       struct semaphore spdif_mutex;
+       struct mutex spdif_mutex;
        unsigned int spdif_status;      /* IEC958 status bits */
        unsigned short spdif_ctls;      /* SPDIF control bits */
        unsigned int spdif_in_enable;   /* SPDIF input enable? */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/pci/hda/hda_intel.c 
linux-2.6.15-rc5-mutex/sound/pci/hda/hda_intel.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/pci/hda/hda_intel.c 2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/pci/hda/hda_intel.c    2005-12-12 
21:45:18.000000000 +0000
@@ -298,7 +298,7 @@ struct snd_azx {
 
        /* locks */
        spinlock_t reg_lock;
-       struct semaphore open_mutex;
+       struct mutex open_mutex;
 
        /* streams (x num_streams) */
        azx_dev_t *azx_dev;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/pci/hda/patch_analog.c 
linux-2.6.15-rc5-mutex/sound/pci/hda/patch_analog.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/pci/hda/patch_analog.c      
2005-12-08 16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/pci/hda/patch_analog.c 2005-12-12 
21:45:18.000000000 +0000
@@ -58,7 +58,7 @@ struct ad198x_spec {
        /* PCM information */
        struct hda_pcm pcm_rec[2];      /* used in alc_build_pcms() */
 
-       struct semaphore amp_mutex;     /* PCM volume/mute control mutex */
+       struct mutex amp_mutex; /* PCM volume/mute control mutex */
        unsigned int spdif_route;
 };
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/pci/ice1712/ice1712.h 
linux-2.6.15-rc5-mutex/sound/pci/ice1712/ice1712.h
--- /warthog/kernels/linux-2.6.15-rc5/sound/pci/ice1712/ice1712.h       
2005-08-30 13:56:48.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/pci/ice1712/ice1712.h  2005-12-12 
20:45:01.000000000 +0000
@@ -334,7 +334,7 @@ struct _snd_ice1712 {
        unsigned int num_total_adcs;    /* total ADCs */
        unsigned int cur_rate;          /* current rate */
 
-       struct semaphore open_mutex;
+       struct mutex open_mutex;
        snd_pcm_substream_t *pcm_reserved[4];
        snd_pcm_hw_constraint_list_t *hw_rates; /* card-specific rate 
constraints */
 
@@ -342,7 +342,7 @@ struct _snd_ice1712 {
        akm4xxx_t *akm;
        struct snd_ice1712_spdif spdif;
 
-       struct semaphore i2c_mutex;     /* I2C mutex for ICE1724 registers */
+       struct mutex i2c_mutex; /* I2C mutex for ICE1724 registers */
        snd_i2c_bus_t *i2c;             /* I2C bus */
        snd_i2c_device_t *cs8427;       /* CS8427 I2C device */
        unsigned int cs8427_timeout;    /* CS8427 reset timeout in HZ/100 */
@@ -360,7 +360,7 @@ struct _snd_ice1712 {
                void (*set_pro_rate)(ice1712_t *ice, unsigned int rate);
                void (*i2s_mclk_changed)(ice1712_t *ice);
        } gpio;
-       struct semaphore gpio_mutex;
+       struct mutex gpio_mutex;
 
        /* other board-specific data */
        union {
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/pci/korg1212/korg1212.c 
linux-2.6.15-rc5-mutex/sound/pci/korg1212/korg1212.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/pci/korg1212/korg1212.c     
2005-12-08 16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/pci/korg1212/korg1212.c        2005-12-12 
20:44:34.000000000 +0000
@@ -324,7 +324,7 @@ struct _snd_korg1212 {
         int irq;
 
         spinlock_t    lock;
-       struct semaphore open_mutex;
+       struct mutex open_mutex;
 
        struct timer_list timer;        /* timer callback for checking ack of 
stop request */
        int stop_pending_cnt;           /* counter for stop pending check */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/pci/mixart/mixart.h 
linux-2.6.15-rc5-mutex/sound/pci/mixart/mixart.h
--- /warthog/kernels/linux-2.6.15-rc5/sound/pci/mixart/mixart.h 2005-06-22 
13:52:39.000000000 +0100
+++ linux-2.6.15-rc5-mutex/sound/pci/mixart/mixart.h    2005-12-12 
20:45:19.000000000 +0000
@@ -107,9 +107,9 @@ struct snd_mixart_mgr {
 
        spinlock_t lock;              /* interrupt spinlock */
        spinlock_t msg_lock;          /* mailbox spinlock */
-       struct semaphore msg_mutex;   /* mutex for blocking_requests */
+       struct mutex msg_mutex;   /* mutex for blocking_requests */
 
-       struct semaphore setup_mutex; /* mutex used in hw_params, open and 
close */
+       struct mutex setup_mutex; /* mutex used in hw_params, open and close */
 
        /* hardware interface */
        unsigned int dsp_loaded;      /* bit flags of loaded dsp indices */
@@ -122,7 +122,7 @@ struct snd_mixart_mgr {
        int sample_rate;
        int ref_count_rate;
 
-       struct semaphore mixer_mutex; /* mutex for mixer */
+       struct mutex mixer_mutex; /* mutex for mixer */
 
 };
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/pci/nm256/nm256.c 
linux-2.6.15-rc5-mutex/sound/pci/nm256/nm256.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/pci/nm256/nm256.c   2005-12-08 
16:23:58.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/pci/nm256/nm256.c      2005-12-12 
20:45:23.000000000 +0000
@@ -242,7 +242,7 @@ struct snd_nm256 {
        int irq_acks;
        irqreturn_t (*interrupt)(int, void *, struct pt_regs *);
        int badintrcount;               /* counter to check bogus interrupts */
-       struct semaphore irq_mutex;
+       struct mutex irq_mutex;
 
        nm256_stream_t streams[2];
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/sparc/cs4231.c 
linux-2.6.15-rc5-mutex/sound/sparc/cs4231.c
--- /warthog/kernels/linux-2.6.15-rc5/sound/sparc/cs4231.c      2005-12-08 
16:23:59.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/sparc/cs4231.c 2005-12-12 20:40:31.000000000 
+0000
@@ -116,8 +116,8 @@ struct snd_cs4231 {
        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
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/sound/usb/usx2y/usbusx2y.h 
linux-2.6.15-rc5-mutex/sound/usb/usx2y/usbusx2y.h
--- /warthog/kernels/linux-2.6.15-rc5/sound/usb/usx2y/usbusx2y.h        
2005-03-02 12:09:17.000000000 +0000
+++ linux-2.6.15-rc5-mutex/sound/usb/usx2y/usbusx2y.h   2005-12-12 
20:40:25.000000000 +0000
@@ -35,7 +35,7 @@ typedef struct {
        unsigned int            rate,
                                format;
        int                     chip_status;
-       struct semaphore        prepare_mutex;
+       struct mutex            prepare_mutex;
        us428ctls_sharedmem_t   *us428ctls_sharedmem;
        int                     wait_iso_frame;
        wait_queue_head_t       us428ctls_wait_queue_head;

Reply via email to