The attached patch modifies the files of the drivers/i* thru drivers/k* to use
the new mutex functions.

Signed-Off-By: David Howells <[EMAIL PROTECTED]>
---
warthog>diffstat -p1 mutex-drivers-ItoK-2615rc5.diff
 drivers/i2c/busses/i2c-ali1535.c            |    2 +-
 drivers/i2c/busses/i2c-amd756-s4882.c       |    2 +-
 drivers/i2c/busses/scx200_acb.c             |    2 +-
 drivers/i2c/chips/eeprom.c                  |    2 +-
 drivers/i2c/chips/max6875.c                 |    4 ++--
 drivers/i2c/chips/pcf8591.c                 |    2 +-
 drivers/i2c/chips/tps65010.c                |    2 +-
 drivers/ide/ide.c                           |    4 ++--
 drivers/ieee1394/dv1394-private.h           |    2 +-
 drivers/ieee1394/eth1394.c                  |    2 +-
 drivers/ieee1394/hosts.h                    |    2 +-
 drivers/ieee1394/ieee1394_core.c            |    2 +-
 drivers/ieee1394/ieee1394_core.h            |    2 +-
 drivers/ieee1394/ieee1394_types.h           |    2 +-
 drivers/ieee1394/nodemgr.c                  |   10 +++++-----
 drivers/ieee1394/raw1394.c                  |    8 ++++----
 drivers/infiniband/core/device.c            |    2 +-
 drivers/infiniband/core/ucm.c               |    2 +-
 drivers/infiniband/core/user_mad.c          |    4 ++--
 drivers/infiniband/core/uverbs.h            |    4 ++--
 drivers/infiniband/hw/mthca/mthca_cmd.c     |   10 +++++-----
 drivers/infiniband/hw/mthca/mthca_dev.h     |   10 +++++-----
 drivers/infiniband/hw/mthca/mthca_memfree.c |    2 +-
 drivers/infiniband/hw/mthca/mthca_memfree.h |    6 +++---
 drivers/infiniband/ulp/ipoib/ipoib.h        |    6 +++---
 drivers/infiniband/ulp/srp/ib_srp.h         |    4 ++--
 drivers/input/joystick/db9.c                |    2 +-
 drivers/input/joystick/gamecon.c            |    2 +-
 drivers/input/joystick/iforce/iforce.h      |    4 ++--
 drivers/input/joystick/turbografx.c         |    2 +-
 drivers/input/keyboard/atkbd.c              |    2 +-
 drivers/input/keyboard/hil_kbd.c            |    2 +-
 drivers/input/misc/hp_sdc_rtc.c             |    4 ++--
 drivers/input/mouse/hil_ptr.c               |    2 +-
 drivers/input/serio/hp_sdc.c                |    4 ++--
 drivers/input/serio/hp_sdc_mlc.c            |    2 +-
 drivers/isdn/capi/capi.c                    |    2 +-
 37 files changed, 64 insertions(+), 64 deletions(-)

diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/busses/i2c-ali1535.c 
linux-2.6.15-rc5-mutex/drivers/i2c/busses/i2c-ali1535.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/busses/i2c-ali1535.c  
2005-12-08 16:23:39.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/i2c/busses/i2c-ali1535.c     2005-12-12 
22:08:48.000000000 +0000
@@ -63,7 +63,7 @@
 #include <linux/i2c.h>
 #include <linux/init.h>
 #include <asm/io.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 
 /* ALI1535 SMBus address offsets */
diff -uNrp 
/warthog/kernels/linux-2.6.15-rc5/drivers/i2c/busses/i2c-amd756-s4882.c 
linux-2.6.15-rc5-mutex/drivers/i2c/busses/i2c-amd756-s4882.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/busses/i2c-amd756-s4882.c     
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/i2c/busses/i2c-amd756-s4882.c        
2005-12-12 21:31:04.000000000 +0000
@@ -45,7 +45,7 @@ static struct i2c_adapter *s4882_adapter
 static struct i2c_algorithm *s4882_algo;
 
 /* Wrapper access functions for multiplexed SMBus */
-static struct semaphore amd756_lock;
+static struct mutex amd756_lock;
 
 static s32 amd756_access_virt0(struct i2c_adapter * adap, u16 addr,
                               unsigned short flags, char read_write,
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/busses/scx200_acb.c 
linux-2.6.15-rc5-mutex/drivers/i2c/busses/scx200_acb.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/busses/scx200_acb.c   
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/i2c/busses/scx200_acb.c      2005-12-12 
21:31:22.000000000 +0000
@@ -84,7 +84,7 @@ struct scx200_acb_iface
        struct scx200_acb_iface *next;
        struct i2c_adapter adapter;
        unsigned base;
-       struct semaphore sem;
+       struct mutex sem;
 
        /* State machine data */
        enum scx200_acb_state state;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/chips/eeprom.c 
linux-2.6.15-rc5-mutex/drivers/i2c/chips/eeprom.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/chips/eeprom.c        
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/i2c/chips/eeprom.c   2005-12-12 
21:31:31.000000000 +0000
@@ -54,7 +54,7 @@ enum eeprom_nature {
 /* Each client has this additional data */
 struct eeprom_data {
        struct i2c_client client;
-       struct semaphore update_lock;
+       struct mutex update_lock;
        u8 valid;                       /* bitfield, bit!=0 if slice is valid */
        unsigned long last_updated[8];  /* In jiffies, 8 slices */
        u8 data[EEPROM_SIZE];           /* Register values */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/chips/max6875.c 
linux-2.6.15-rc5-mutex/drivers/i2c/chips/max6875.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/chips/max6875.c       
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/i2c/chips/max6875.c  2005-12-12 
22:08:48.000000000 +0000
@@ -31,7 +31,7 @@
 #include <linux/module.h>
 #include <linux/slab.h>
 #include <linux/i2c.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 /* Do not scan - the MAX6875 access method will write to some EEPROM chips */
 static unsigned short normal_i2c[] = {I2C_CLIENT_END};
@@ -54,7 +54,7 @@ I2C_CLIENT_INSMOD_1(max6875);
 /* Each client has this additional data */
 struct max6875_data {
        struct i2c_client       client;
-       struct semaphore        update_lock;
+       struct mutex            update_lock;
 
        u32                     valid;
        u8                      data[USER_EEPROM_SIZE];
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/chips/pcf8591.c 
linux-2.6.15-rc5-mutex/drivers/i2c/chips/pcf8591.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/chips/pcf8591.c       
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/i2c/chips/pcf8591.c  2005-12-12 
21:31:48.000000000 +0000
@@ -74,7 +74,7 @@ MODULE_PARM_DESC(input_mode,
 
 struct pcf8591_data {
        struct i2c_client client;
-       struct semaphore update_lock;
+       struct mutex  update_lock;
 
        u8 control;
        u8 aout;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/chips/tps65010.c 
linux-2.6.15-rc5-mutex/drivers/i2c/chips/tps65010.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/i2c/chips/tps65010.c      
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/i2c/chips/tps65010.c 2005-12-12 
21:31:36.000000000 +0000
@@ -81,7 +81,7 @@ enum tps_model {
 
 struct tps65010 {
        struct i2c_client       client;
-       struct semaphore        lock;
+       struct mutex            lock;
        int                     irq;
        struct work_struct      work;
        struct dentry           *file;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/ide/ide.c 
linux-2.6.15-rc5-mutex/drivers/ide/ide.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/ide/ide.c 2005-12-08 
16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/ide/ide.c    2005-12-12 17:55:02.000000000 
+0000
@@ -222,7 +222,7 @@ static void init_hwif_data(ide_hwif_t *h
        hwif->mwdma_mask = 0x80;        /* disable all mwdma */
        hwif->swdma_mask = 0x80;        /* disable all swdma */
 
-       sema_init(&hwif->gendev_rel_sem, 0);
+       init_MUTEX_LOCKED(&hwif->gendev_rel_sem);
 
        default_hwif_iops(hwif);
        default_hwif_transport(hwif);
@@ -245,7 +245,7 @@ static void init_hwif_data(ide_hwif_t *h
                drive->is_flash                 = 0;
                drive->vdma                     = 0;
                INIT_LIST_HEAD(&drive->list);
-               sema_init(&drive->gendev_rel_sem, 0);
+               init_MUTEX_LOCKED(&drive->gendev_rel_sem);
        }
 }
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/dv1394-private.h 
linux-2.6.15-rc5-mutex/drivers/ieee1394/dv1394-private.h
--- /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/dv1394-private.h 
2004-06-18 13:41:59.000000000 +0100
+++ linux-2.6.15-rc5-mutex/drivers/ieee1394/dv1394-private.h    2005-12-12 
21:38:13.000000000 +0000
@@ -470,7 +470,7 @@ struct video_card {
 
          NOTE: if you need both spinlock and sem, take sem first to avoid 
deadlock!
         */
-       struct semaphore sem;
+       struct mutex sem;
 
        /* people waiting for buffer space, please form a line here... */
        wait_queue_head_t waitq;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/eth1394.c 
linux-2.6.15-rc5-mutex/drivers/ieee1394/eth1394.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/eth1394.c        
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/ieee1394/eth1394.c   2005-12-12 
22:08:48.000000000 +0000
@@ -64,7 +64,7 @@
 #include <linux/ethtool.h>
 #include <asm/uaccess.h>
 #include <asm/delay.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 #include <net/arp.h>
 
 #include "csr1212.h"
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/hosts.h 
linux-2.6.15-rc5-mutex/drivers/ieee1394/hosts.h
--- /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/hosts.h  2005-11-01 
13:19:07.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/ieee1394/hosts.h     2005-12-12 
22:08:48.000000000 +0000
@@ -7,7 +7,7 @@
 #include <linux/timer.h>
 #include <linux/skbuff.h>
 
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 #include "ieee1394_types.h"
 #include "csr.h"
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/ieee1394_core.c 
linux-2.6.15-rc5-mutex/drivers/ieee1394/ieee1394_core.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/ieee1394_core.c  
2005-11-01 13:19:07.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/ieee1394/ieee1394_core.c     2005-12-12 
22:08:48.000000000 +0000
@@ -35,7 +35,7 @@
 #include <linux/suspend.h>
 
 #include <asm/byteorder.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 #include "ieee1394_types.h"
 #include "ieee1394.h"
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/ieee1394_core.h 
linux-2.6.15-rc5-mutex/drivers/ieee1394/ieee1394_core.h
--- /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/ieee1394_core.h  
2005-08-30 13:56:16.000000000 +0100
+++ linux-2.6.15-rc5-mutex/drivers/ieee1394/ieee1394_core.h     2005-12-12 
22:08:48.000000000 +0000
@@ -5,7 +5,7 @@
 #include <linux/slab.h>
 #include <linux/devfs_fs_kernel.h>
 #include <asm/atomic.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 #include "hosts.h"
 
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/ieee1394_types.h 
linux-2.6.15-rc5-mutex/drivers/ieee1394/ieee1394_types.h
--- /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/ieee1394_types.h 
2004-06-18 13:41:59.000000000 +0100
+++ linux-2.6.15-rc5-mutex/drivers/ieee1394/ieee1394_types.h    2005-12-12 
22:08:48.000000000 +0000
@@ -9,7 +9,7 @@
 #include <linux/spinlock.h>
 #include <linux/string.h>
 
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 #include <asm/byteorder.h>
 
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/nodemgr.c 
linux-2.6.15-rc5-mutex/drivers/ieee1394/nodemgr.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/nodemgr.c        
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/ieee1394/nodemgr.c   2005-12-12 
20:21:37.000000000 +0000
@@ -1520,8 +1520,8 @@ static int nodemgr_host_thread(void *__h
                unsigned int generation = 0;
                int i;
 
-               if (down_interruptible(&hi->reset_sem) ||
-                   down_interruptible(&nodemgr_serialize)) {
+               if (down_sem_interruptible(&hi->reset_sem) ||
+                   down_sem_interruptible(&nodemgr_serialize)) {
                        if (try_to_freeze())
                                continue;
                        printk("NodeMgr: received unexpected signal?!\n" );
@@ -1551,7 +1551,7 @@ static int nodemgr_host_thread(void *__h
 
                        /* If we get a reset before we are done waiting, then
                         * start the the waiting over again */
-                       while (!down_trylock(&hi->reset_sem))
+                       while (!down_sem_trylock(&hi->reset_sem))
                                i = 0;
 
                        /* Check the kill_me again */
@@ -1678,7 +1678,7 @@ static void nodemgr_host_reset(struct hp
 
        if (hi != NULL) {
                HPSB_VERBOSE("NodeMgr: Processing host reset for %s", 
hi->daemon_name);
-               up(&hi->reset_sem);
+               up_sem(&hi->reset_sem);
        } else
                HPSB_ERR ("NodeMgr: could not process reset of unused host");
 
@@ -1693,7 +1693,7 @@ static void nodemgr_remove_host(struct h
                if (hi->pid >= 0) {
                        hi->kill_me = 1;
                        mb();
-                       up(&hi->reset_sem);
+                       up_sem(&hi->reset_sem);
                        wait_for_completion(&hi->exited);
                        nodemgr_remove_host_dev(&host->device);
                }
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/raw1394.c 
linux-2.6.15-rc5-mutex/drivers/ieee1394/raw1394.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/ieee1394/raw1394.c        
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/ieee1394/raw1394.c   2005-12-12 
20:21:05.000000000 +0000
@@ -138,7 +138,7 @@ static void __queue_complete_req(struct 
        list_del(&req->list);
        list_add_tail(&req->list, &fi->req_complete);
 
-       up(&fi->complete_sem);
+       up_sem(&fi->complete_sem);
        wake_up_interruptible(&fi->poll_wait_complete);
 }
 
@@ -427,11 +427,11 @@ static ssize_t raw1394_read(struct file 
        }
 
        if (file->f_flags & O_NONBLOCK) {
-               if (down_trylock(&fi->complete_sem)) {
+               if (down_sem_trylock(&fi->complete_sem)) {
                        return -EAGAIN;
                }
        } else {
-               if (down_interruptible(&fi->complete_sem)) {
+               if (down_sem_interruptible(&fi->complete_sem)) {
                        return -ERESTARTSYS;
                }
        }
@@ -2809,7 +2809,7 @@ static int raw1394_release(struct inode 
                spin_unlock_irqrestore(&fi->reqlists_lock, flags);
 
                if (!done)
-                       down_interruptible(&fi->complete_sem);
+                       down_sem_interruptible(&fi->complete_sem);
        }
 
        /* Remove any sub-trees left by user space programs */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/core/device.c 
linux-2.6.15-rc5-mutex/drivers/infiniband/core/device.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/core/device.c  
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/infiniband/core/device.c     2005-12-12 
22:12:49.000000000 +0000
@@ -39,7 +39,7 @@
 #include <linux/slab.h>
 #include <linux/init.h>
 
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 #include "core_priv.h"
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/core/ucm.c 
linux-2.6.15-rc5-mutex/drivers/infiniband/core/ucm.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/core/ucm.c     
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/infiniband/core/ucm.c        2005-12-12 
21:14:22.000000000 +0000
@@ -60,7 +60,7 @@ struct ib_ucm_device {
 };
 
 struct ib_ucm_file {
-       struct semaphore mutex;
+       struct mutex mutex;
        struct file *filp;
        struct ib_ucm_device *device;
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/core/user_mad.c 
linux-2.6.15-rc5-mutex/drivers/infiniband/core/user_mad.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/core/user_mad.c        
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/infiniband/core/user_mad.c   2005-12-12 
22:12:49.000000000 +0000
@@ -47,7 +47,7 @@
 #include <linux/kref.h>
 
 #include <asm/uaccess.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 #include <rdma/ib_mad.h>
 #include <rdma/ib_user_mad.h>
@@ -92,7 +92,7 @@ struct ib_umad_port {
 
        struct cdev           *sm_dev;
        struct class_device   *sm_class_dev;
-       struct semaphore       sm_sem;
+       struct mutex           sm_sem;
 
        struct rw_semaphore    mutex;
        struct list_head       file_list;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/core/uverbs.h 
linux-2.6.15-rc5-mutex/drivers/infiniband/core/uverbs.h
--- /warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/core/uverbs.h  
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/infiniband/core/uverbs.h     2005-12-12 
21:14:18.000000000 +0000
@@ -88,7 +88,7 @@ struct ib_uverbs_event_file {
 
 struct ib_uverbs_file {
        struct kref                             ref;
-       struct semaphore                        mutex;
+       struct mutex                            mutex;
        struct ib_uverbs_device                *device;
        struct ib_ucontext                     *ucontext;
        struct ib_event_handler                 event_handler;
@@ -131,7 +131,7 @@ struct ib_ucq_object {
        u32                     async_events_reported;
 };
 
-extern struct semaphore ib_uverbs_idr_mutex;
+extern struct mutex ib_uverbs_idr_mutex;
 extern struct idr ib_uverbs_pd_idr;
 extern struct idr ib_uverbs_mr_idr;
 extern struct idr ib_uverbs_mw_idr;
diff -uNrp 
/warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/hw/mthca/mthca_cmd.c 
linux-2.6.15-rc5-mutex/drivers/infiniband/hw/mthca/mthca_cmd.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/hw/mthca/mthca_cmd.c   
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/infiniband/hw/mthca/mthca_cmd.c      
2005-12-12 20:33:35.000000000 +0000
@@ -333,7 +333,7 @@ static int mthca_cmd_wait(struct mthca_d
        int err = 0;
        struct mthca_cmd_context *context;
 
-       if (down_interruptible(&dev->cmd.event_sem))
+       if (down_sem_interruptible(&dev->cmd.event_sem))
                return -EINTR;
 
        spin_lock(&dev->cmd.context_lock);
@@ -375,7 +375,7 @@ out:
        dev->cmd.free_head = context - dev->cmd.context;
        spin_unlock(&dev->cmd.context_lock);
 
-       up(&dev->cmd.event_sem);
+       up_sem(&dev->cmd.event_sem);
        return err;
 }
 
@@ -438,8 +438,8 @@ static int mthca_cmd_imm(struct mthca_de
 
 int mthca_cmd_init(struct mthca_dev *dev)
 {
-       sema_init(&dev->cmd.hcr_sem, 1);
-       sema_init(&dev->cmd.poll_sem, 1);
+       init_MUTEX(&dev->cmd.hcr_sem);
+       init_MUTEX(&dev->cmd.poll_sem);
        dev->cmd.use_events = 0;
 
        dev->hcr = ioremap(pci_resource_start(dev->pdev, 0) + MTHCA_HCR_BASE,
@@ -517,7 +517,7 @@ void mthca_cmd_use_polling(struct mthca_
        dev->cmd.use_events = 0;
 
        for (i = 0; i < dev->cmd.max_cmds; ++i)
-               down(&dev->cmd.event_sem);
+               down_sem(&dev->cmd.event_sem);
 
        kfree(dev->cmd.context);
 
diff -uNrp 
/warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/hw/mthca/mthca_dev.h 
linux-2.6.15-rc5-mutex/drivers/infiniband/hw/mthca/mthca_dev.h
--- /warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/hw/mthca/mthca_dev.h   
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/infiniband/hw/mthca/mthca_dev.h      
2005-12-12 22:06:13.000000000 +0000
@@ -43,7 +43,7 @@
 #include <linux/kernel.h>
 #include <linux/pci.h>
 #include <linux/dma-mapping.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 #include "mthca_provider.h"
 #include "mthca_doorbell.h"
@@ -110,8 +110,8 @@ enum {
 struct mthca_cmd {
        struct pci_pool          *pool;
        int                       use_events;
-       struct semaphore          hcr_sem;
-       struct semaphore          poll_sem;
+       struct mutex              hcr_sem;
+       struct mutex              poll_sem;
        struct semaphore          event_sem;
        int                       max_cmds;
        spinlock_t                context_lock;
@@ -255,7 +255,7 @@ struct mthca_av_table {
 };
 
 struct mthca_mcg_table {
-       struct semaphore        sem;
+       struct mutex            sem;
        struct mthca_alloc      alloc;
        struct mthca_icm_table *table;
 };
@@ -300,7 +300,7 @@ struct mthca_dev {
        u64              ddr_end;
 
        MTHCA_DECLARE_DOORBELL_LOCK(doorbell_lock)
-       struct semaphore cap_mask_mutex;
+       struct mutex cap_mask_mutex;
 
        void __iomem    *hcr;
        void __iomem    *kar;
diff -uNrp 
/warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/hw/mthca/mthca_memfree.c 
linux-2.6.15-rc5-mutex/drivers/infiniband/hw/mthca/mthca_memfree.c
--- 
/warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/hw/mthca/mthca_memfree.c   
    2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/infiniband/hw/mthca/mthca_memfree.c  
2005-12-12 21:14:34.000000000 +0000
@@ -50,7 +50,7 @@ enum {
 };
 
 struct mthca_user_db_table {
-       struct semaphore mutex;
+       struct mutex mutex;
        struct {
                u64                uvirt;
                struct scatterlist mem;
diff -uNrp 
/warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/hw/mthca/mthca_memfree.h 
linux-2.6.15-rc5-mutex/drivers/infiniband/hw/mthca/mthca_memfree.h
--- 
/warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/hw/mthca/mthca_memfree.h   
    2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/infiniband/hw/mthca/mthca_memfree.h  
2005-12-12 22:06:17.000000000 +0000
@@ -40,7 +40,7 @@
 #include <linux/list.h>
 #include <linux/pci.h>
 
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 #define MTHCA_ICM_CHUNK_LEN \
        ((256 - sizeof (struct list_head) - 2 * sizeof (int)) /         \
@@ -64,7 +64,7 @@ struct mthca_icm_table {
        int               num_obj;
        int               obj_size;
        int               lowmem;
-       struct semaphore  mutex;
+       struct mutex      mutex;
        struct mthca_icm *icm[0];
 };
 
@@ -147,7 +147,7 @@ struct mthca_db_table {
        int                   max_group1;
        int                   min_group2;
        struct mthca_db_page *page;
-       struct semaphore      mutex;
+       struct mutex          mutex;
 };
 
 enum mthca_db_type {
diff -uNrp 
/warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/ulp/ipoib/ipoib.h 
linux-2.6.15-rc5-mutex/drivers/infiniband/ulp/ipoib/ipoib.h
--- /warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/ulp/ipoib/ipoib.h      
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/infiniband/ulp/ipoib/ipoib.h 2005-12-12 
22:12:49.000000000 +0000
@@ -49,7 +49,7 @@
 #include <net/neighbour.h>
 
 #include <asm/atomic.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 #include <rdma/ib_verbs.h>
 #include <rdma/ib_pack.h>
@@ -123,8 +123,8 @@ struct ipoib_dev_priv {
 
        unsigned long flags;
 
-       struct semaphore mcast_mutex;
-       struct semaphore vlan_mutex;
+       struct mutex mcast_mutex;
+       struct mutex vlan_mutex;
 
        struct rb_root  path_tree;
        struct list_head path_list;
diff -uNrp 
/warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/ulp/srp/ib_srp.h 
linux-2.6.15-rc5-mutex/drivers/infiniband/ulp/srp/ib_srp.h
--- /warthog/kernels/linux-2.6.15-rc5/drivers/infiniband/ulp/srp/ib_srp.h       
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/infiniband/ulp/srp/ib_srp.h  2005-12-12 
22:12:49.000000000 +0000
@@ -38,7 +38,7 @@
 #include <linux/types.h>
 #include <linux/list.h>
 
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 #include <scsi/scsi_host.h>
 #include <scsi/scsi_cmnd.h>
@@ -85,7 +85,7 @@ struct srp_host {
        struct ib_mr           *mr;
        struct class_device     class_dev;
        struct list_head        target_list;
-       struct semaphore        target_mutex;
+       struct mutex            target_mutex;
        struct completion       released;
        struct list_head        list;
 };
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/input/joystick/db9.c 
linux-2.6.15-rc5-mutex/drivers/input/joystick/db9.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/input/joystick/db9.c      
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/input/joystick/db9.c 2005-12-12 
20:56:11.000000000 +0000
@@ -111,7 +111,7 @@ struct db9 {
        struct pardevice *pd;
        int mode;
        int used;
-       struct semaphore sem;
+       struct mutex sem;
        char phys[DB9_MAX_DEVICES][32];
 };
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/input/joystick/gamecon.c 
linux-2.6.15-rc5-mutex/drivers/input/joystick/gamecon.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/input/joystick/gamecon.c  
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/input/joystick/gamecon.c     2005-12-12 
20:56:07.000000000 +0000
@@ -83,7 +83,7 @@ struct gc {
        struct timer_list timer;
        unsigned char pads[GC_MAX + 1];
        int used;
-       struct semaphore sem;
+       struct mutex sem;
        char phys[GC_MAX_DEVICES][32];
 };
 
diff -uNrp 
/warthog/kernels/linux-2.6.15-rc5/drivers/input/joystick/iforce/iforce.h 
linux-2.6.15-rc5-mutex/drivers/input/joystick/iforce/iforce.h
--- /warthog/kernels/linux-2.6.15-rc5/drivers/input/joystick/iforce/iforce.h    
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/input/joystick/iforce/iforce.h       
2005-12-12 22:12:50.000000000 +0000
@@ -37,7 +37,7 @@
 #include <linux/serio.h>
 #include <linux/config.h>
 #include <linux/circ_buf.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 /* This module provides arbitrary resource management routines.
  * I use it to manage the device's memory.
@@ -146,7 +146,7 @@ struct iforce {
        wait_queue_head_t wait;
        struct resource device_memory;
        struct iforce_core_effect core_effects[FF_EFFECTS_MAX];
-       struct semaphore mem_mutex;
+       struct mutex mem_mutex;
 };
 
 /* Get hi and low bytes of a 16-bits int */
diff -uNrp 
/warthog/kernels/linux-2.6.15-rc5/drivers/input/joystick/turbografx.c 
linux-2.6.15-rc5-mutex/drivers/input/joystick/turbografx.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/input/joystick/turbografx.c       
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/input/joystick/turbografx.c  2005-12-12 
20:56:17.000000000 +0000
@@ -86,7 +86,7 @@ static struct tgfx {
        char phys[TGFX_MAX_DEVICES][32];
        int sticks;
        int used;
-       struct semaphore sem;
+       struct mutex sem;
 } *tgfx_base[TGFX_MAX_PORTS];
 
 /*
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/input/keyboard/atkbd.c 
linux-2.6.15-rc5-mutex/drivers/input/keyboard/atkbd.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/input/keyboard/atkbd.c    
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/input/keyboard/atkbd.c       2005-12-12 
17:52:17.000000000 +0000
@@ -216,7 +216,7 @@ struct atkbd {
        unsigned long time;
 
        struct work_struct event_work;
-       struct semaphore event_sem;
+       struct mutex event_sem;
        unsigned long event_mask;
 };
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/input/keyboard/hil_kbd.c 
linux-2.6.15-rc5-mutex/drivers/input/keyboard/hil_kbd.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/input/keyboard/hil_kbd.c  
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/input/keyboard/hil_kbd.c     2005-12-12 
20:55:05.000000000 +0000
@@ -80,7 +80,7 @@ struct hil_kbd {
        char    rnm[HIL_KBD_MAX_LENGTH + 1];    /* RNM record + NULL term. */
 
        /* Something to sleep around with. */
-       struct semaphore sem;
+       struct mutex sem;
 };
 
 /* Process a complete packet after transfer from the HIL */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/input/misc/hp_sdc_rtc.c 
linux-2.6.15-rc5-mutex/drivers/input/misc/hp_sdc_rtc.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/input/misc/hp_sdc_rtc.c   
2005-06-22 13:51:49.000000000 +0100
+++ linux-2.6.15-rc5-mutex/drivers/input/misc/hp_sdc_rtc.c      2005-12-12 
20:55:41.000000000 +0000
@@ -52,7 +52,7 @@ MODULE_LICENSE("Dual BSD/GPL");
 
 static unsigned long epoch = 2000;
 
-static struct semaphore i8042tregs;
+static struct mutex i8042tregs;
 
 static hp_sdc_irqhook hp_sdc_rtc_isr;
 
@@ -85,7 +85,7 @@ static void hp_sdc_rtc_isr (int irq, voi
 
 static int hp_sdc_rtc_do_read_bbrtc (struct rtc_time *rtctm)
 {
-       struct semaphore tsem;
+       struct mutex tsem;
        hp_sdc_transaction t;
        uint8_t tseq[91];
        int i;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/input/mouse/hil_ptr.c 
linux-2.6.15-rc5-mutex/drivers/input/mouse/hil_ptr.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/input/mouse/hil_ptr.c     
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/input/mouse/hil_ptr.c        2005-12-12 
20:56:27.000000000 +0000
@@ -73,7 +73,7 @@ struct hil_ptr {
        unsigned int btnmap[7];
 
        /* Something to sleep around with. */
-       struct semaphore sem;
+       struct mutex sem;
 };
 
 /* Process a complete packet after transfer from the HIL */
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/input/serio/hp_sdc.c 
linux-2.6.15-rc5-mutex/drivers/input/serio/hp_sdc.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/input/serio/hp_sdc.c      
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/input/serio/hp_sdc.c 2005-12-12 
20:56:45.000000000 +0000
@@ -777,7 +777,7 @@ static int __init hp_sdc_init(void)
        char *errstr;
        hp_sdc_transaction t_sync;
        uint8_t ts_sync[6];
-       struct semaphore s_sync;
+       struct mutex s_sync;
 
        rwlock_init(&hp_sdc.lock);
        rwlock_init(&hp_sdc.ibf_lock);
@@ -919,7 +919,7 @@ static int __init hp_sdc_register(void)
 {
        hp_sdc_transaction tq_init;
        uint8_t tq_init_seq[5];
-       struct semaphore tq_init_sem;
+       struct mutex tq_init_sem;
 #if defined(__mc68000__)
        mm_segment_t fs;
        unsigned char i;
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/input/serio/hp_sdc_mlc.c 
linux-2.6.15-rc5-mutex/drivers/input/serio/hp_sdc_mlc.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/input/serio/hp_sdc_mlc.c  
2005-12-08 16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/input/serio/hp_sdc_mlc.c     2005-12-12 
22:12:50.000000000 +0000
@@ -40,7 +40,7 @@
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/string.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 #define PREFIX "HP SDC MLC: "
 
diff -uNrp /warthog/kernels/linux-2.6.15-rc5/drivers/isdn/capi/capi.c 
linux-2.6.15-rc5-mutex/drivers/isdn/capi/capi.c
--- /warthog/kernels/linux-2.6.15-rc5/drivers/isdn/capi/capi.c  2005-12-08 
16:23:40.000000000 +0000
+++ linux-2.6.15-rc5-mutex/drivers/isdn/capi/capi.c     2005-12-12 
21:19:35.000000000 +0000
@@ -138,7 +138,7 @@ struct capidev {
 
        struct capincci *nccis;
 
-       struct semaphore ncci_list_sem;
+       struct mutex ncci_list_sem;
 };
 
 /* -------- global variables ---------------------------------------- */

Reply via email to