vserver 1.9.5.x5
[linux-2.6.git] / drivers / media / radio / radio-cadet.c
index 842e14b..53d399b 100644 (file)
@@ -46,7 +46,7 @@ static int curtuner=0;
 static int tunestat=0;
 static int sigstrength=0;
 static wait_queue_head_t read_queue;
-struct timer_list tunertimer,rdstimer,readtimer;
+static struct timer_list readtimer;
 static __u8 rdsin=0,rdsout=0,rdsstat=0;
 static unsigned char rdsbuf[RDS_BUFFER];
 static spinlock_t cadet_io_lock;
@@ -69,8 +69,7 @@ static int cadet_getrds(void)
        outb(inb(io+1)&0x7f,io+1);  /* Reset RDS detection */
        spin_unlock(&cadet_io_lock);
        
-       set_current_state(TASK_UNINTERRUPTIBLE);
-       schedule_timeout(HZ/10);
+       msleep(100);
 
        spin_lock(&cadet_io_lock);      
         outb(3,io);                 /* Select Decoder Control/Status */
@@ -243,8 +242,7 @@ static void cadet_setfreq(unsigned freq)
                outb(curvol,io+1);
                spin_unlock(&cadet_io_lock);
                
-               set_current_state(TASK_UNINTERRUPTIBLE);
-               schedule_timeout(HZ/10);
+               msleep(100);
 
                cadet_gettune();
                if((tunestat & 0x40) == 0) {   /* Tuned */
@@ -282,7 +280,7 @@ static void cadet_setvol(int vol)
        spin_unlock(&cadet_io_lock);
 }  
 
-void cadet_handler(unsigned long data)
+static void cadet_handler(unsigned long data)
 {
        /*
         * Service the RDS fifo
@@ -323,7 +321,7 @@ void cadet_handler(unsigned long data)
 
 
 
-static ssize_t cadet_read(struct file *file, char *data,
+static ssize_t cadet_read(struct file *file, char __user *data,
                          size_t count, loff_t *ppos)
 {
         int i=0;
@@ -606,9 +604,9 @@ MODULE_AUTHOR("Fred Gleason, Russell Kroll, Quay Lu, Donald Song, Jason Lewis, S
 MODULE_DESCRIPTION("A driver for the ADS Cadet AM/FM/RDS radio card.");
 MODULE_LICENSE("GPL");
 
-MODULE_PARM(io, "i");
+module_param(io, int, 0);
 MODULE_PARM_DESC(io, "I/O address of Cadet card (0x330,0x332,0x334,0x336,0x338,0x33a,0x33c,0x33e)");
-MODULE_PARM(radio_nr, "i");
+module_param(radio_nr, int, 0);
 
 static void __exit cadet_cleanup_module(void)
 {