From 2683101db2bdcf221e5e9de46a2674a675489ecc Mon Sep 17 00:00:00 2001 From: Paul Gortmaker Date: Sat, 22 Jan 2011 17:19:58 -0500 Subject: [PATCH] mutex/semaphore cleanups in staging dir This is one of several extractions from the merge up to 33-rc8. See it in a git tip repo with: git diff 5f854cfc024622e4aae14d7cf422f6ff86278688^ \ 5f854cfc024622e4aae14d7cf422f6ff86278688 You can find the origin of this change in the tip merge commit: commit 5f854cfc024622e4aae14d7cf422f6ff86278688 Merge: cc24da0 4ec62b2 Author: Thomas Gleixner Date: Sun Feb 21 20:17:22 2010 +0100 Forward to 2.6.33-rc8 Merge branch 'linus' into rt/head with a pile of conflicts. Signed-off-by: Thomas Gleixner Normally there are not significant changes/additions in a merge commit that are not from any other "normal" commit. But in this case there are, so break them out into separate explicit commits. Signed-off-by: Paul Gortmaker --- drivers/staging/comedi/drivers/dt9812.c | 4 ++-- drivers/staging/comedi/drivers/usbdux.c | 4 ++-- drivers/staging/comedi/drivers/usbduxfast.c | 4 ++-- drivers/staging/dream/pmem.c | 18 +++++++++--------- drivers/staging/frontier/alphatrack.c | 2 +- drivers/staging/frontier/tranzport.c | 2 +- drivers/staging/otus/wwrap.c | 2 +- drivers/staging/rt2860/common/rtmp_init.c | 2 +- drivers/staging/vme/devices/vme_user.c | 2 +- 9 files changed, 20 insertions(+), 20 deletions(-) diff --git a/drivers/staging/comedi/drivers/dt9812.c b/drivers/staging/comedi/drivers/dt9812.c index 96caae3..0e8a66a 100644 --- a/drivers/staging/comedi/drivers/dt9812.c +++ b/drivers/staging/comedi/drivers/dt9812.c @@ -262,7 +262,7 @@ struct dt9812_usb_cmd { #define DT9812_NUM_SLOTS 16 -static DECLARE_MUTEX(dt9812_mutex); +static DEFINE_SEMAPHORE(dt9812_mutex, 1); static const struct usb_device_id dt9812_table[] = { {USB_DEVICE(0x0867, 0x9812)}, @@ -1124,7 +1124,7 @@ static int __init usb_dt9812_init(void) /* Initialize all driver slots */ for (i = 0; i < DT9812_NUM_SLOTS; i++) { - init_MUTEX(&dt9812[i].mutex); + sema_init(&dt9812[i].mutex, 1); dt9812[i].serial = 0; dt9812[i].usb = NULL; dt9812[i].comedi = NULL; diff --git a/drivers/staging/comedi/drivers/usbdux.c b/drivers/staging/comedi/drivers/usbdux.c index 8942ae4..c769f3d 100644 --- a/drivers/staging/comedi/drivers/usbdux.c +++ b/drivers/staging/comedi/drivers/usbdux.c @@ -315,7 +315,7 @@ struct usbduxsub { */ static struct usbduxsub usbduxsub[NUMUSBDUX]; -static DECLARE_MUTEX(start_stop_sem); +static DEFINE_SEMAPHORE(start_stop_sem, 1); /* * Stops the data acquision @@ -2369,7 +2369,7 @@ static int usbduxsub_probe(struct usb_interface *uinterf, dev_dbg(dev, "comedi_: usbdux: " "usbduxsub[%d] is ready to connect to comedi.\n", index); - init_MUTEX(&(usbduxsub[index].sem)); + sema_init(&(usbduxsub[index].sem), 1); /* save a pointer to the usb device */ usbduxsub[index].usbdev = udev; diff --git a/drivers/staging/comedi/drivers/usbduxfast.c b/drivers/staging/comedi/drivers/usbduxfast.c index e89b818..01c41ea 100644 --- a/drivers/staging/comedi/drivers/usbduxfast.c +++ b/drivers/staging/comedi/drivers/usbduxfast.c @@ -199,7 +199,7 @@ struct usbduxfastsub_s { */ static struct usbduxfastsub_s usbduxfastsub[NUMUSBDUXFAST]; -static DECLARE_MUTEX(start_stop_sem); +static DEFINE_SEMAPHORE(start_stop_sem, 1); /* * bulk transfers to usbduxfast @@ -1499,7 +1499,7 @@ static int usbduxfastsub_probe(struct usb_interface *uinterf, "connect to comedi.\n", index); #endif - init_MUTEX(&(usbduxfastsub[index].sem)); + sema_init(&(usbduxfastsub[index].sem), 1); /* save a pointer to the usb device */ usbduxfastsub[index].usbdev = udev; diff --git a/drivers/staging/dream/pmem.c b/drivers/staging/dream/pmem.c index 6edfdd4..e747e84 100644 --- a/drivers/staging/dream/pmem.c +++ b/drivers/staging/dream/pmem.c @@ -128,9 +128,9 @@ struct pmem_info { * this flag */ unsigned allocated; /* for debugging, creates a list of pmem file structs, the - * data_list_sem should be taken before pmem_data->sem if both are + * data_list_mutex should be taken before pmem_data->sem if both are * needed */ - struct semaphore data_list_sem; + struct mutex data_list_mutex; struct list_head data_list; /* pmem_sem protects the bitmap array * a write lock should be held when modifying entries in bitmap @@ -274,7 +274,7 @@ static int pmem_release(struct inode *inode, struct file *file) int id = get_id(file), ret = 0; - down(&pmem[id].data_list_sem); + mutex_lock(&pmem[id].data_list_mutex); /* if this file is a master, revoke all the memory in the connected * files */ if (PMEM_FLAGS_MASTERMAP & data->flags) { @@ -291,7 +291,7 @@ static int pmem_release(struct inode *inode, struct file *file) } } list_del(&data->list); - up(&pmem[id].data_list_sem); + mutex_unlock(&pmem[id].data_list_mutex); down_write(&data->sem); @@ -359,9 +359,9 @@ static int pmem_open(struct inode *inode, struct file *file) file->private_data = data; INIT_LIST_HEAD(&data->list); - down(&pmem[id].data_list_sem); + mutex_lock(&pmem[id].data_list_mutex); list_add(&data->list, &pmem[id].data_list); - up(&pmem[id].data_list_sem); + mutex_unlock(&pmem[id].data_list_mutex); return ret; } @@ -1177,7 +1177,7 @@ static ssize_t debug_read(struct file *file, char __user *buf, size_t count, n = scnprintf(buffer, debug_bufmax, "pid #: mapped regions (offset, len) (offset,len)...\n"); - down(&pmem[id].data_list_sem); + mutex_lock(&pmem[id].data_list_mutex); list_for_each(elt, &pmem[id].data_list) { data = list_entry(elt, struct pmem_data, list); down_read(&data->sem); @@ -1194,7 +1194,7 @@ static ssize_t debug_read(struct file *file, char __user *buf, size_t count, n += scnprintf(buffer + n, debug_bufmax - n, "\n"); up_read(&data->sem); } - up(&pmem[id].data_list_sem); + mutex_unlock(&pmem[id].data_list_mutex); n++; buffer[n] = 0; @@ -1231,7 +1231,7 @@ int pmem_setup(struct android_pmem_platform_data *pdata, pmem[id].ioctl = ioctl; pmem[id].release = release; init_rwsem(&pmem[id].bitmap_sem); - init_MUTEX(&pmem[id].data_list_sem); + mutex_init(&pmem[id].data_list_mutex); INIT_LIST_HEAD(&pmem[id].data_list); pmem[id].dev.name = pdata->name; pmem[id].dev.minor = id; diff --git a/drivers/staging/frontier/alphatrack.c b/drivers/staging/frontier/alphatrack.c index a50a215..7a08580 100644 --- a/drivers/staging/frontier/alphatrack.c +++ b/drivers/staging/frontier/alphatrack.c @@ -678,7 +678,7 @@ static int usb_alphatrack_probe(struct usb_interface *intf, dev_err(&intf->dev, "Out of memory\n"); goto exit; } - init_MUTEX(&dev->sem); + sema_init(&dev->sem, 1); dev->intf = intf; init_waitqueue_head(&dev->read_wait); init_waitqueue_head(&dev->write_wait); diff --git a/drivers/staging/frontier/tranzport.c b/drivers/staging/frontier/tranzport.c index 2f03f43..ee3b0dd 100644 --- a/drivers/staging/frontier/tranzport.c +++ b/drivers/staging/frontier/tranzport.c @@ -800,7 +800,7 @@ static int usb_tranzport_probe(struct usb_interface *intf, dev_err(&intf->dev, "Out of memory\n"); goto exit; } - init_MUTEX(&dev->sem); + sema_init(&dev->sem, 1); dev->intf = intf; init_waitqueue_head(&dev->read_wait); init_waitqueue_head(&dev->write_wait); diff --git a/drivers/staging/otus/wwrap.c b/drivers/staging/otus/wwrap.c index a74f7ee..00f5fda 100644 --- a/drivers/staging/otus/wwrap.c +++ b/drivers/staging/otus/wwrap.c @@ -1059,7 +1059,7 @@ u8_t zfLnxCreateThread(zdev_t *dev) /* Create Mutex and keventd */ INIT_WORK(&macp->kevent, kevent); - init_MUTEX(&macp->ioctl_sem); + sema_init(&macp->ioctl_sem, 1); return 0; } diff --git a/drivers/staging/rt2860/common/rtmp_init.c b/drivers/staging/rt2860/common/rtmp_init.c index 21a95ff..9f4ac4d 100644 --- a/drivers/staging/rt2860/common/rtmp_init.c +++ b/drivers/staging/rt2860/common/rtmp_init.c @@ -3520,7 +3520,7 @@ int RtmpRaDevCtrlInit(struct rt_rtmp_adapter *pAd, IN RTMP_INF_TYPE infType) ("STA Driver version-%s\n", STA_DRIVER_VERSION)); #ifdef RTMP_MAC_USB - init_MUTEX(&(pAd->UsbVendorReq_semaphore)); + sema_init(&(pAd->UsbVendorReq_semaphore), 1); os_alloc_mem(pAd, (u8 **) & pAd->UsbVendorReqBuf, MAX_PARAM_BUFFER_SIZE - 1); if (pAd->UsbVendorReqBuf == NULL) { diff --git a/drivers/staging/vme/devices/vme_user.c b/drivers/staging/vme/devices/vme_user.c index 1ab9a98..cb5f5ce 100644 --- a/drivers/staging/vme/devices/vme_user.c +++ b/drivers/staging/vme/devices/vme_user.c @@ -671,7 +671,7 @@ static int __init vme_user_probe(struct device *dev, int cur_bus, int cur_slot) for (i = 0; i < VME_DEVS; i++) { image[i].kern_buf = NULL; image[i].pci_buf = 0; - init_MUTEX(&(image[i].sem)); + sema_init(&(image[i].sem), 1); image[i].device = NULL; image[i].resource = NULL; image[i].users = 0; -- 1.7.0.4