linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / media / radio / radio-sf16fmi.c
index 9962c43..0229f79 100644 (file)
@@ -18,7 +18,7 @@
 #include <linux/kernel.h>      /* __setup                      */
 #include <linux/module.h>      /* Modules                      */
 #include <linux/init.h>                /* Initdata                     */
-#include <linux/ioport.h>      /* check_region, request_region */
+#include <linux/ioport.h>      /* request_region               */
 #include <linux/delay.h>       /* udelay                       */
 #include <linux/videodev.h>    /* kernel radio structs         */
 #include <linux/isapnp.h>
@@ -89,8 +89,7 @@ static inline int fmi_setfreq(struct fmi_device *dev)
 
        outbits(16, RSF16_ENCODE(freq), myport);
        outbits(8, 0xC0, myport);
-       current->state = TASK_UNINTERRUPTIBLE;
-       schedule_timeout(HZ/7);
+       msleep(143);            /* was schedule_timeout(HZ/7) */
        up(&lock);
        if (dev->curvol) fmi_unmute(myport);
        return 0;
@@ -107,8 +106,7 @@ static inline int fmi_getsigstr(struct fmi_device *dev)
        val = dev->curvol ? 0x08 : 0x00;        /* unmute/mute */
        outb(val, myport);
        outb(val | 0x10, myport);
-       set_current_state(TASK_UNINTERRUPTIBLE);
-       schedule_timeout(HZ/7);
+       msleep(143);            /* was schedule_timeout(HZ/7) */
        res = (int)inb(myport+1);
        outb(val, myport);
        
@@ -227,6 +225,7 @@ static struct file_operations fmi_fops = {
        .open           = video_exclusive_open,
        .release        = video_exclusive_release,
        .ioctl          = fmi_ioctl,
+       .compat_ioctl   = v4l_compat_ioctl32,
        .llseek         = no_llseek,
 };
 
@@ -314,9 +313,9 @@ MODULE_AUTHOR("Petr Vandrovec, vandrove@vc.cvut.cz and M. Kirkwood");
 MODULE_DESCRIPTION("A driver for the SF16MI radio.");
 MODULE_LICENSE("GPL");
 
-MODULE_PARM(io, "i");
+module_param(io, int, 0);
 MODULE_PARM_DESC(io, "I/O address of the SF16MI card (0x284 or 0x384)");
-MODULE_PARM(radio_nr, "i");
+module_param(radio_nr, int, 0);
 
 static void __exit fmi_cleanup_module(void)
 {
@@ -328,13 +327,3 @@ static void __exit fmi_cleanup_module(void)
 
 module_init(fmi_init);
 module_exit(fmi_cleanup_module);
-
-#ifndef MODULE
-static int __init fmi_setup_io(char *str)
-{
-       get_option(&str, &io);
-       return 1;
-}
-
-__setup("sf16fm=", fmi_setup_io);
-#endif