Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil...
[pandora-kernel.git] / drivers / char / tlclk.c
index 952b829..448d508 100644 (file)
@@ -193,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);
 
@@ -247,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,
@@ -792,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;
        }
 
@@ -808,8 +807,6 @@ static int __init tlclk_init(void)
                        &tlclk_attribute_group);
        if (ret) {
                printk(KERN_ERR "tlclk: failed to create sysfs device attributes.\n");
-               sysfs_remove_group(&tlclk_device->dev.kobj,
-                       &tlclk_attribute_group);
                goto out5;
        }
 
@@ -856,7 +853,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;