diff options
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/amiflop.c | 20 | ||||
-rw-r--r-- | drivers/block/ataflop.c | 18 |
2 files changed, 28 insertions, 10 deletions
diff --git a/drivers/block/amiflop.c b/drivers/block/amiflop.c index 3e2530d61762..b6e290956214 100644 --- a/drivers/block/amiflop.c +++ b/drivers/block/amiflop.c @@ -1654,12 +1654,6 @@ static struct block_device_operations floppy_fops = { .media_changed = amiga_floppy_change, }; -void __init amiga_floppy_setup (char *str, int *ints) -{ - printk (KERN_INFO "amiflop: Setting default df0 to %x\n", ints[1]); - fd_def_df0 = ints[1]; -} - static int __init fd_probe_drives(void) { int drive,drives,nomem; @@ -1845,4 +1839,18 @@ void cleanup_module(void) unregister_blkdev(FLOPPY_MAJOR, "fd"); } #endif + +#else +static int __init amiga_floppy_setup (char *str) +{ + int n; + if (!MACH_IS_AMIGA) + return 0; + if (!get_option(&str, &n)) + return 0; + printk (KERN_INFO "amiflop: Setting default df0 to %x\n", n); + fd_def_df0 = n; +} + +__setup("floppy=", amiga_floppy_setup); #endif diff --git a/drivers/block/ataflop.c b/drivers/block/ataflop.c index 69c58ee7b2b6..f8ce235ccfc3 100644 --- a/drivers/block/ataflop.c +++ b/drivers/block/ataflop.c @@ -1951,14 +1951,20 @@ Enomem: return -ENOMEM; } - -void __init atari_floppy_setup( char *str, int *ints ) +#ifndef MODULE +static int __init atari_floppy_setup(char *str) { + int ints[3 + FD_MAX_UNITS]; int i; + + if (!MACH_IS_ATARI) + return 0; + + str = get_options(str, 3 + FD_MAX_UNITS, ints); if (ints[0] < 1) { printk(KERN_ERR "ataflop_setup: no arguments!\n" ); - return; + return 0; } else if (ints[0] > 2+FD_MAX_UNITS) { printk(KERN_ERR "ataflop_setup: too many arguments\n" ); @@ -1978,9 +1984,13 @@ void __init atari_floppy_setup( char *str, int *ints ) else UserSteprate[i-3] = ints[i]; } + return 1; } -static void atari_floppy_exit(void) +__setup("floppy=", atari_floppy_setup); +#endif + +static void __exit atari_floppy_exit(void) { int i; blk_unregister_region(MKDEV(FLOPPY_MAJOR, 0), 256); |