return curr_ticks;
}
-static int timer_ioctl(int dev, unsigned int cmd, caddr_t arg)
+static int timer_ioctl(int dev, unsigned int cmd, void __user *arg)
{
+ int __user *p = arg;
int val;
switch (cmd)
return 0;
case SNDCTL_TMR_TIMEBASE:
- if (get_user(val, (int *)arg))
+ if (get_user(val, p))
return -EFAULT;
if (val)
{
break;
case SNDCTL_TMR_TEMPO:
- if (get_user(val, (int *)arg))
+ if (get_user(val, p))
return -EFAULT;
if (val)
{
break;
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;
default:
return -EINVAL;
}
- return put_user(val, (int *)arg);
+ return put_user(val, p);
}
static void timer_arm(int dev, long time)