diff --git a/arch/m68k/amiga/config.c b/arch/m68k/amiga/config.c index 8eadde9d2a8f7fb43c54b519dc801363582c7edf..12e3706fe02cf17839d0910dc9d31f5b960b4c1a 100644 --- a/arch/m68k/amiga/config.c +++ b/arch/m68k/amiga/config.c @@ -105,9 +105,6 @@ static int a2000_hwclk (int, struct rtc_time *); static int amiga_set_clock_mmss (unsigned long); static unsigned int amiga_get_ss (void); extern void amiga_mksound( unsigned int count, unsigned int ticks ); -#ifdef CONFIG_AMIGA_FLOPPY -extern void amiga_floppy_setup(char *, int *); -#endif static void amiga_reset (void); extern void amiga_init_sound(void); static void amiga_savekmsg_init(void); @@ -427,9 +424,6 @@ void __init config_amiga(void) mach_set_clock_mmss = amiga_set_clock_mmss; mach_get_ss = amiga_get_ss; -#ifdef CONFIG_AMIGA_FLOPPY - mach_floppy_setup = amiga_floppy_setup; -#endif mach_reset = amiga_reset; #if defined(CONFIG_INPUT_M68K_BEEP) || defined(CONFIG_INPUT_M68K_BEEP_MODULE) mach_beep = amiga_mksound; diff --git a/arch/m68k/atari/config.c b/arch/m68k/atari/config.c index f6d266b5cc76f6fb4b452acde6b74e73a0d4e02f..1012b08e552200a75dc17a39f64d201f686399fd 100644 --- a/arch/m68k/atari/config.c +++ b/arch/m68k/atari/config.c @@ -52,9 +52,6 @@ int atari_rtc_year_offset; /* local function prototypes */ static void atari_reset( void ); -#ifdef CONFIG_ATARI_FLOPPY -extern void atari_floppy_setup(char *, int *); -#endif static void atari_get_model(char *model); static int atari_get_hardware_list(char *buffer); @@ -244,9 +241,6 @@ void __init config_atari(void) mach_get_irq_list = show_atari_interrupts; mach_gettimeoffset = atari_gettimeoffset; mach_reset = atari_reset; -#ifdef CONFIG_ATARI_FLOPPY - mach_floppy_setup = atari_floppy_setup; -#endif mach_max_dma_address = 0xffffff; #if defined(CONFIG_INPUT_M68K_BEEP) || defined(CONFIG_INPUT_M68K_BEEP_MODULE) mach_beep = atari_mksound; diff --git a/arch/m68k/kernel/setup.c b/arch/m68k/kernel/setup.c index 583526fa59c78f1ae195aa71d49768ebcd29eda5..750d5b3c971fe001a2d86808a30b9cd237b0eebe 100644 --- a/arch/m68k/kernel/setup.c +++ b/arch/m68k/kernel/setup.c @@ -84,9 +84,6 @@ void (*mach_reset)( void ); void (*mach_halt)( void ); void (*mach_power_off)( void ); long mach_max_dma_address = 0x00ffffff; /* default set to the lower 16MB */ -#if defined(CONFIG_AMIGA_FLOPPY) || defined(CONFIG_ATARI_FLOPPY) -void (*mach_floppy_setup) (char *, int *) __initdata = NULL; -#endif #ifdef CONFIG_HEARTBEAT void (*mach_heartbeat) (int); EXPORT_SYMBOL(mach_heartbeat); @@ -527,16 +524,6 @@ int get_hardware_list(char *buffer) return(len); } - -#if defined(CONFIG_AMIGA_FLOPPY) || defined(CONFIG_ATARI_FLOPPY) -void __init floppy_setup(char *str, int *ints) -{ - if (mach_floppy_setup) - mach_floppy_setup (str, ints); -} - -#endif - void check_bugs(void) { #ifndef CONFIG_M68KFPU_EMU diff --git a/arch/m68k/q40/config.c b/arch/m68k/q40/config.c index 67e88a4efac0706db5176ccf5e8f5e0cb271e8c6..5e0f9b04d45e6adc0f94d2a23050831d124b365d 100644 --- a/arch/m68k/q40/config.c +++ b/arch/m68k/q40/config.c @@ -36,8 +36,6 @@ #include #include -extern void floppy_setup(char *str, int *ints); - extern irqreturn_t q40_process_int (int level, struct pt_regs *regs); extern irqreturn_t (*q40_default_handler[]) (int, void *, struct pt_regs *); /* added just for debugging */ extern void q40_init_IRQ (void); diff --git a/arch/ppc/amiga/config.c b/arch/ppc/amiga/config.c index 55794d1d4ec386e0ed5931267738251bfb320a0c..60e2da1c92c07a79f47c387fe75059b7f1d61657 100644 --- a/arch/ppc/amiga/config.c +++ b/arch/ppc/amiga/config.c @@ -90,9 +90,6 @@ static void a3000_gettod (int *, int *, int *, int *, int *, int *); static void a2000_gettod (int *, int *, int *, int *, int *, int *); static int amiga_hwclk (int, struct hwclk_time *); static int amiga_set_clock_mmss (unsigned long); -#ifdef CONFIG_AMIGA_FLOPPY -extern void amiga_floppy_setup(char *, int *); -#endif static void amiga_reset (void); extern void amiga_init_sound(void); static void amiga_savekmsg_init(void); @@ -419,9 +416,6 @@ void __init config_amiga(void) mach_hwclk = amiga_hwclk; mach_set_clock_mmss = amiga_set_clock_mmss; -#ifdef CONFIG_AMIGA_FLOPPY - mach_floppy_setup = amiga_floppy_setup; -#endif mach_reset = amiga_reset; #ifdef CONFIG_HEARTBEAT mach_heartbeat = amiga_heartbeat; diff --git a/arch/ppc/platforms/apus_setup.c b/arch/ppc/platforms/apus_setup.c index f62179f14cbb68a455935a2937f8852d4b0ebbe7..c42c50073da54a6e621b16da9a57353299d10d66 100644 --- a/arch/ppc/platforms/apus_setup.c +++ b/arch/ppc/platforms/apus_setup.c @@ -55,9 +55,6 @@ int (*mach_hwclk) (int, struct hwclk_time*) = NULL; int (*mach_set_clock_mmss) (unsigned long) = NULL; void (*mach_reset)( void ); long mach_max_dma_address = 0x00ffffff; /* default set to the lower 16MB */ -#if defined(CONFIG_AMIGA_FLOPPY) -void (*mach_floppy_setup) (char *, int *) __initdata = NULL; -#endif #ifdef CONFIG_HEARTBEAT void (*mach_heartbeat) (int) = NULL; extern void apus_heartbeat (void); @@ -76,7 +73,6 @@ struct mem_info m68k_memory[NUM_MEMINFO];/* memory description */ struct mem_info ramdisk; -extern void amiga_floppy_setup(char *, int *); extern void config_amiga(void); static int __60nsram = 0; @@ -305,16 +301,6 @@ void kbd_reset_setup(char *str, int *ints) { } -/*********************************************************** FLOPPY */ -#if defined(CONFIG_AMIGA_FLOPPY) -__init -void floppy_setup(char *str, int *ints) -{ - if (mach_floppy_setup) - mach_floppy_setup (str, ints); -} -#endif - /*********************************************************** MEMORY */ #define KMAP_MAX 32 unsigned long kmap_chunks[KMAP_MAX*3]; diff --git a/drivers/block/amiflop.c b/drivers/block/amiflop.c index 3e2530d61762f3d1a2016348afed8625eac73b21..b6e29095621401c6a1305037f681a2801c4547ab 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 69c58ee7b2b664f0a2e50774880a1d22711fc8f5..f8ce235ccfc3b4e4ba65169e6ec3046c5fd0b67e 100644 --- a/drivers/block/ataflop.c +++ b/drivers/block/ataflop.c @@ -1951,14 +1951,20 @@ static int __init atari_floppy_init (void) 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); diff --git a/include/asm-m68k/machdep.h b/include/asm-m68k/machdep.h index a0dd5c47002c9ef43705e80b09344318382e4db3..7d3fee342369e7c169bd7af227ffe2118da36044 100644 --- a/include/asm-m68k/machdep.h +++ b/include/asm-m68k/machdep.h @@ -34,7 +34,6 @@ extern void (*mach_power_off)( void ); extern unsigned long (*mach_hd_init) (unsigned long, unsigned long); extern void (*mach_hd_setup)(char *, int *); extern long mach_max_dma_address; -extern void (*mach_floppy_setup)(char *, int *); extern void (*mach_heartbeat) (int); extern void (*mach_l2_flush) (int); extern void (*mach_beep) (unsigned int, unsigned int); diff --git a/include/asm-m68knommu/machdep.h b/include/asm-m68knommu/machdep.h index 5a9f9c297f79f1c122c6c83b41f11e967017dbf6..27c90afd3339cfc29054635bcf301dfe180e259e 100644 --- a/include/asm-m68knommu/machdep.h +++ b/include/asm-m68knommu/machdep.h @@ -38,7 +38,6 @@ extern void (*mach_power_off)( void ); extern unsigned long (*mach_hd_init) (unsigned long, unsigned long); extern void (*mach_hd_setup)(char *, int *); extern long mach_max_dma_address; -extern void (*mach_floppy_setup)(char *, int *); extern void (*mach_floppy_eject)(void); extern void (*mach_heartbeat) (int); extern void (*mach_l2_flush) (int);