**************************************************************************/
#include <linux/module.h>
+#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/blkdev.h>
#include <linux/errno.h>
static unsigned long addresses[] = { 0xc8000, 0xca000, 0xce000, 0xde000 };
static unsigned short ports[] = { 0x140, 0x150, 0x160, 0x170 };
-static unsigned short ints[] = { 3, 5, 10, 11, 12, 14, 15, 0 };
+static unsigned short interrupts[] = { 3, 5, 10, 11, 12, 14, 15, 0 };
/* host information */
static int found = 0;
static int user_fifo_count = 0;
static int user_fifo_size = 0;
-static void fd_mcs_setup(char *str, int *ints)
+static int __init fd_mcs_setup(char *str)
{
static int done_setup = 0;
+ int ints[3];
+ get_options(str, 3, ints);
if (done_setup++ || ints[0] < 1 || ints[0] > 2 || ints[1] < 1 || ints[1] > 16) {
printk("fd_mcs: usage: fd_mcs=FIFO_COUNT, FIFO_SIZE\n");
+ return 0;
}
user_fifo_count = ints[0] >= 1 ? ints[1] : 0;
user_fifo_size = ints[0] >= 2 ? ints[2] : 0;
+ return 1;
}
__setup("fd_mcs=", fd_mcs_setup);
} else {
bios = addresses[pos2 >> 6];
port = ports[(pos2 >> 4) & 0x03];
- irq = ints[(pos2 >> 1) & 0x07];
+ irq = interrupts[(pos2 >> 1) & 0x07];
}
if (irq) {