fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / atm / idt77105.c
index c95ca29..325325a 100644 (file)
@@ -39,7 +39,7 @@ struct idt77105_priv {
         unsigned char old_mcr;          /* storage of MCR reg while signal lost */
 };
 
-static spinlock_t idt77105_priv_lock = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(idt77105_priv_lock);
 
 #define PRIV(dev) ((struct idt77105_priv *) dev->phy_data)
 
@@ -50,10 +50,8 @@ static void idt77105_stats_timer_func(unsigned long);
 static void idt77105_restart_timer_func(unsigned long);
 
 
-static struct timer_list stats_timer =
-    TIMER_INITIALIZER(idt77105_stats_timer_func, 0, 0);
-static struct timer_list restart_timer =
-    TIMER_INITIALIZER(idt77105_restart_timer_func, 0, 0);
+static DEFINE_TIMER(stats_timer, idt77105_stats_timer_func, 0, 0);
+static DEFINE_TIMER(restart_timer, idt77105_restart_timer_func, 0, 0);
 static int start_timer = 1;
 static struct idt77105_priv *idt77105_all = NULL;
 
@@ -141,7 +139,7 @@ static void idt77105_restart_timer_func(unsigned long dummy)
 }
 
 
-static int fetch_stats(struct atm_dev *dev,struct idt77105_stats *arg,int zero)
+static int fetch_stats(struct atm_dev *dev,struct idt77105_stats __user *arg,int zero)
 {
        unsigned long flags;
        struct idt77105_stats stats;
@@ -188,7 +186,7 @@ static int set_loopback(struct atm_dev *dev,int mode)
 }
 
 
-static int idt77105_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg)
+static int idt77105_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg)
 {
         printk(KERN_NOTICE "%s(%d) idt77105_ioctl() called\n",dev->type,dev->number);
        switch (cmd) {
@@ -196,16 +194,15 @@ static int idt77105_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg)
                        if (!capable(CAP_NET_ADMIN)) return -EPERM;
                        /* fall through */
                case IDT77105_GETSTAT:
-                       return fetch_stats(dev,(struct idt77105_stats *) arg,
-                           cmd == IDT77105_GETSTATZ);
+                       return fetch_stats(dev, arg, cmd == IDT77105_GETSTATZ);
                case ATM_SETLOOP:
-                       return set_loopback(dev,(int) (long) arg);
+                       return set_loopback(dev,(int)(unsigned long) arg);
                case ATM_GETLOOP:
-                       return put_user(PRIV(dev)->loop_mode,(int *) arg) ?
+                       return put_user(PRIV(dev)->loop_mode,(int __user *)arg) ?
                            -EFAULT : 0;
                case ATM_QUERYLOOP:
                        return put_user(ATM_LM_LOC_ATM | ATM_LM_RMT_ATM,
-                           (int *) arg) ? -EFAULT : 0;
+                           (int __user *) arg) ? -EFAULT : 0;
                default:
                        return -ENOIOCTLCMD;
        }
@@ -324,7 +321,7 @@ static int idt77105_start(struct atm_dev *dev)
 }
 
 
-int idt77105_stop(struct atm_dev *dev)
+static int idt77105_stop(struct atm_dev *dev)
 {
        struct idt77105_priv *walk, *prev;
 
@@ -361,7 +358,7 @@ static const struct atmphy_ops idt77105_ops = {
 };
 
 
-int idt77105_init(struct atm_dev *dev)
+int __devinit idt77105_init(struct atm_dev *dev)
 {
        dev->phy = &idt77105_ops;
        return 0;