Merge ../linus
[linux-drm-fsl-dcu.git] / drivers / char / tlclk.c
index f58ad7f6826738846e606aab135161b92cc83dcc..244d30a03fef9d80daaf2092875361147202f61e 100644 (file)
@@ -27,7 +27,6 @@
  * MPCBL0010 ATCA computer.
  */
 
-#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/sched.h>
@@ -194,7 +193,7 @@ static DEFINE_SPINLOCK(event_lock);
 
 static int tlclk_major = TLCLK_MAJOR;
 
-static irqreturn_t tlclk_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+static irqreturn_t tlclk_interrupt(int irq, void *dev_id);
 
 static DECLARE_WAIT_QUEUE_HEAD(wq);
 
@@ -209,7 +208,7 @@ static int tlclk_open(struct inode *inode, struct file *filp)
        /* This device is wired through the FPGA IO space of the ATCA blade
         * we can't share this IRQ */
        result = request_irq(telclk_interrupt, &tlclk_interrupt,
-                            SA_INTERRUPT, "telco_clock", tlclk_interrupt);
+                            IRQF_DISABLED, "telco_clock", tlclk_interrupt);
        if (result == -EBUSY) {
                printk(KERN_ERR "tlclk: Interrupt can't be reserved.\n");
                return -EBUSY;
@@ -248,7 +247,7 @@ static ssize_t tlclk_write(struct file *filp, const char __user *buf, size_t cou
        return 0;
 }
 
-static struct file_operations tlclk_fops = {
+static const struct file_operations tlclk_fops = {
        .read = tlclk_read,
        .write = tlclk_write,
        .open = tlclk_open,
@@ -343,7 +342,7 @@ static ssize_t store_received_ref_clk3b(struct device *d,
 
        val = (unsigned char)tmp;
        spin_lock_irqsave(&event_lock, flags);
-       SET_PORT_BITS(TLCLK_REG1, 0xef, val << 1);
+       SET_PORT_BITS(TLCLK_REG1, 0xdf, val << 1);
        spin_unlock_irqrestore(&event_lock, flags);
 
        return strnlen(buf, count);
@@ -793,15 +792,14 @@ static int __init tlclk_init(void)
        ret = misc_register(&tlclk_miscdev);
        if (ret < 0) {
                printk(KERN_ERR "tlclk: misc_register returns %d.\n", ret);
-               ret = -EBUSY;
                goto out3;
        }
 
        tlclk_device = platform_device_register_simple("telco_clock",
                                -1, NULL, 0);
-       if (!tlclk_device) {
+       if (IS_ERR(tlclk_device)) {
                printk(KERN_ERR "tlclk: platform_device_register failed.\n");
-               ret = -EBUSY;
+               ret = PTR_ERR(tlclk_device);
                goto out4;
        }
 
@@ -857,7 +855,7 @@ static void switchover_timeout(unsigned long data)
        wake_up(&wq);
 }
 
-static irqreturn_t tlclk_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t tlclk_interrupt(int irq, void *dev_id)
 {
        unsigned long flags;