]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/char/mbcs.c
IB/ipath: Fix link up LED display
[linux-2.6-omap-h63xx.git] / drivers / char / mbcs.c
index 0385650f6077892843b966f3c68018c254a46492..f4716ad7348ae7185bdba2a35379b9a68fd37a63 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/device.h>
 #include <linux/mm.h>
 #include <linux/uio.h>
+#include <linux/mutex.h>
 #include <asm/io.h>
 #include <asm/uaccess.h>
 #include <asm/system.h>
 #else
 #define DBG(fmt...)
 #endif
-int mbcs_major;
+static int mbcs_major;
 
-LIST_HEAD(soft_list);
+static LIST_HEAD(soft_list);
 
 /*
  * file operations
  */
-struct file_operations mbcs_ops = {
+static const struct file_operations mbcs_ops = {
        .open = mbcs_open,
        .llseek = mbcs_sram_llseek,
        .read = mbcs_sram_read,
@@ -281,7 +282,7 @@ static inline int mbcs_algo_start(struct mbcs_soft *soft)
        void *mmr_base = soft->mmr_base;
        union cm_control cm_control;
 
-       if (down_interruptible(&soft->algolock))
+       if (mutex_lock_interruptible(&soft->algolock))
                return -ERESTARTSYS;
 
        atomic_set(&soft->algo_done, 0);
@@ -298,7 +299,7 @@ static inline int mbcs_algo_start(struct mbcs_soft *soft)
        cm_control.alg_go = 1;
        MBCS_MMR_SET(mmr_base, MBCS_CM_CONTROL, cm_control.cm_control_reg);
 
-       up(&soft->algolock);
+       mutex_unlock(&soft->algolock);
 
        return 0;
 }
@@ -309,7 +310,7 @@ do_mbcs_sram_dmawrite(struct mbcs_soft *soft, uint64_t hostAddr,
 {
        int rv = 0;
 
-       if (down_interruptible(&soft->dmawritelock))
+       if (mutex_lock_interruptible(&soft->dmawritelock))
                return -ERESTARTSYS;
 
        atomic_set(&soft->dmawrite_done, 0);
@@ -335,7 +336,7 @@ do_mbcs_sram_dmawrite(struct mbcs_soft *soft, uint64_t hostAddr,
        *off += len;
 
 dmawrite_exit:
-       up(&soft->dmawritelock);
+       mutex_unlock(&soft->dmawritelock);
 
        return rv;
 }
@@ -346,7 +347,7 @@ do_mbcs_sram_dmaread(struct mbcs_soft *soft, uint64_t hostAddr,
 {
        int rv = 0;
 
-       if (down_interruptible(&soft->dmareadlock))
+       if (mutex_lock_interruptible(&soft->dmareadlock))
                return -ERESTARTSYS;
 
        atomic_set(&soft->dmawrite_done, 0);
@@ -371,12 +372,12 @@ do_mbcs_sram_dmaread(struct mbcs_soft *soft, uint64_t hostAddr,
        *off += len;
 
 dmaread_exit:
-       up(&soft->dmareadlock);
+       mutex_unlock(&soft->dmareadlock);
 
        return rv;
 }
 
-int mbcs_open(struct inode *ip, struct file *fp)
+static int mbcs_open(struct inode *ip, struct file *fp)
 {
        struct mbcs_soft *soft;
        int minor;
@@ -393,7 +394,7 @@ int mbcs_open(struct inode *ip, struct file *fp)
        return -ENODEV;
 }
 
-ssize_t mbcs_sram_read(struct file * fp, char __user *buf, size_t len, loff_t * off)
+static ssize_t mbcs_sram_read(struct file * fp, char __user *buf, size_t len, loff_t * off)
 {
        struct cx_dev *cx_dev = fp->private_data;
        struct mbcs_soft *soft = cx_dev->soft;
@@ -417,7 +418,7 @@ ssize_t mbcs_sram_read(struct file * fp, char __user *buf, size_t len, loff_t *
        return rv;
 }
 
-ssize_t
+static ssize_t
 mbcs_sram_write(struct file * fp, const char __user *buf, size_t len, loff_t * off)
 {
        struct cx_dev *cx_dev = fp->private_data;
@@ -442,20 +443,20 @@ mbcs_sram_write(struct file * fp, const char __user *buf, size_t len, loff_t * o
        return rv;
 }
 
-loff_t mbcs_sram_llseek(struct file * filp, loff_t off, int whence)
+static loff_t mbcs_sram_llseek(struct file * filp, loff_t off, int whence)
 {
        loff_t newpos;
 
        switch (whence) {
-       case 0:         /* SEEK_SET */
+       case SEEK_SET:
                newpos = off;
                break;
 
-       case 1:         /* SEEK_CUR */
+       case SEEK_CUR:
                newpos = filp->f_pos + off;
                break;
 
-       case 2:         /* SEEK_END */
+       case SEEK_END:
                newpos = MBCS_SRAM_SIZE + off;
                break;
 
@@ -490,7 +491,7 @@ static void mbcs_gscr_pioaddr_set(struct mbcs_soft *soft)
        soft->gscr_addr = mbcs_pioaddr(soft, MBCS_GSCR_START);
 }
 
-int mbcs_gscr_mmap(struct file *fp, struct vm_area_struct *vma)
+static int mbcs_gscr_mmap(struct file *fp, struct vm_area_struct *vma)
 {
        struct cx_dev *cx_dev = fp->private_data;
        struct mbcs_soft *soft = cx_dev->soft;
@@ -515,11 +516,10 @@ int mbcs_gscr_mmap(struct file *fp, struct vm_area_struct *vma)
  * mbcs_completion_intr_handler - Primary completion handler.
  * @irq: irq
  * @arg: soft struct for device
- * @ep: regs
  *
  */
 static irqreturn_t
-mbcs_completion_intr_handler(int irq, void *arg, struct pt_regs *ep)
+mbcs_completion_intr_handler(int irq, void *arg)
 {
        struct mbcs_soft *soft = (struct mbcs_soft *)arg;
        void *mmr_base;
@@ -763,9 +763,9 @@ static int mbcs_probe(struct cx_dev *dev, const struct cx_device_id *id)
        init_waitqueue_head(&soft->dmaread_queue);
        init_waitqueue_head(&soft->algo_queue);
 
-       init_MUTEX(&soft->dmawritelock);
-       init_MUTEX(&soft->dmareadlock);
-       init_MUTEX(&soft->algolock);
+       mutex_init(&soft->dmawritelock);
+       mutex_init(&soft->dmareadlock);
+       mutex_init(&soft->algolock);
 
        mbcs_getdma_init(&soft->getdma);
        mbcs_putdma_init(&soft->putdma);
@@ -793,7 +793,7 @@ static int mbcs_remove(struct cx_dev *dev)
        return 0;
 }
 
-const struct cx_device_id __devinitdata mbcs_id_table[] = {
+static const struct cx_device_id __devinitdata mbcs_id_table[] = {
        {
         .part_num = MBCS_PART_NUM,
         .mfg_num = MBCS_MFG_NUM,
@@ -807,7 +807,7 @@ const struct cx_device_id __devinitdata mbcs_id_table[] = {
 
 MODULE_DEVICE_TABLE(cx, mbcs_id_table);
 
-struct cx_drv mbcs_driver = {
+static struct cx_drv mbcs_driver = {
        .name = DEVICE_NAME,
        .id_table = mbcs_id_table,
        .probe = mbcs_probe,
@@ -816,12 +816,7 @@ struct cx_drv mbcs_driver = {
 
 static void __exit mbcs_exit(void)
 {
-       int rv;
-
-       rv = unregister_chrdev(mbcs_major, DEVICE_NAME);
-       if (rv < 0)
-               DBG(KERN_ALERT "Error in unregister_chrdev: %d\n", rv);
-
+       unregister_chrdev(mbcs_major, DEVICE_NAME);
        cx_driver_unregister(&mbcs_driver);
 }