patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / sound / oss / sys_timer.c
index 459c174..3b7fa02 100644 (file)
@@ -191,13 +191,14 @@ def_tmr_get_time(int dev)
 }
 
 /* same as sound_timer.c:timer_ioctl!? */
-static int def_tmr_ioctl(int dev, unsigned int cmd, caddr_t arg)
+static int def_tmr_ioctl(int dev, unsigned int cmd, void __user *arg)
 {
+       int __user *p = arg;
        int val;
 
        switch (cmd) {
        case SNDCTL_TMR_SOURCE:
-               return __put_user(TMR_INTERNAL, (int *)arg);
+               return __put_user(TMR_INTERNAL, p);
 
        case SNDCTL_TMR_START:
                tmr_reset();
@@ -213,7 +214,7 @@ static int def_tmr_ioctl(int dev, unsigned int cmd, caddr_t arg)
                return 0;
 
        case SNDCTL_TMR_TIMEBASE:
-               if (__get_user(val, (int *)arg))
+               if (__get_user(val, p))
                        return -EFAULT;
                if (val) {
                        if (val < 1)
@@ -222,10 +223,10 @@ static int def_tmr_ioctl(int dev, unsigned int cmd, caddr_t arg)
                                val = 1000;
                        curr_timebase = val;
                }
-               return __put_user(curr_timebase, (int *)arg);
+               return __put_user(curr_timebase, p);
 
        case SNDCTL_TMR_TEMPO:
-               if (__get_user(val, (int *)arg))
+               if (__get_user(val, p))
                        return -EFAULT;
                if (val) {
                        if (val < 8)
@@ -238,18 +239,18 @@ static int def_tmr_ioctl(int dev, unsigned int cmd, caddr_t arg)
                        curr_tempo = val;
                        reprogram_timer();
                }
-               return __put_user(curr_tempo, (int *)arg);
+               return __put_user(curr_tempo, p);
 
        case SNDCTL_SEQ_CTRLRATE:
-               if (__get_user(val, (int *)arg))
+               if (__get_user(val, p))
                        return -EFAULT;
                if (val != 0)   /* Can't change */
                        return -EINVAL;
                val = ((curr_tempo * curr_timebase) + 30) / 60;
-               return __put_user(val, (int *)arg);
+               return __put_user(val, p);
                
        case SNDCTL_SEQ_GETTIME:
-               return __put_user(curr_ticks, (int *)arg);
+               return __put_user(curr_ticks, p);
                
        case SNDCTL_TMR_METRONOME:
                /* NOP */