#include <linux/buffer_head.h>
#include <linux/blkdev.h>
#include <linux/elevator.h>
+#include <linux/interrupt.h>
#include <asm/setup.h>
#include <asm/uaccess.h>
/* Milliseconds timer */
-static irqreturn_t ms_isr(int irq, void *dummy, struct pt_regs *fp)
+static irqreturn_t ms_isr(int irq, void *dummy)
{
ms_busy = -1;
wake_up(&ms_wait);
return (id);
}
-static irqreturn_t fd_block_done(int irq, void *dummy, struct pt_regs *fp)
+static irqreturn_t fd_block_done(int irq, void *dummy)
{
if (block_flag)
custom.dsklen = 0x4000;
return get_disk(unit[drive].gendisk);
}
-int __init amiga_floppy_init(void)
+static int __init amiga_floppy_init(void)
{
int i, ret;
+ if (!MACH_IS_AMIGA)
+ return -ENXIO;
+
if (!AMIGAHW_PRESENT(AMI_FLOPPY))
return -ENXIO;
return ret;
}
+module_init(amiga_floppy_init);
#ifdef MODULE
-int init_module(void)
-{
- if (!MACH_IS_AMIGA)
- return -ENXIO;
- return amiga_floppy_init();
-}
-
#if 0 /* not safe to unload */
void cleanup_module(void)
{
return 0;
printk (KERN_INFO "amiflop: Setting default df0 to %x\n", n);
fd_def_df0 = n;
+ return 1;
}
__setup("floppy=", amiga_floppy_setup);