X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fblock%2Ffloppy.c;h=8d4afc83e05fc52bc7db069f9911154c0fca914f;hb=72ea1f74fcdf874cca6d2c0962379523bbd99e2c;hp=553f43a90953cab40f421658ecb37fa9c20c8c54;hpb=1b74a8684e3c5cbbe5e798de9e07e3a087c7b853;p=pandora-kernel.git diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c index 553f43a90953..8d4afc83e05f 100644 --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c @@ -191,6 +191,7 @@ static int print_unex = 1; #include #include #include +#include /* * PS/2 floppies have much slower step rates than regular floppies. @@ -4123,7 +4124,7 @@ static struct kobject *floppy_find(dev_t dev, int *part, void *data) return get_disk(disks[drive]); } -static int __init floppy_init(void) +static int __init do_floppy_init(void) { int i, unit, drive; int err, dr; @@ -4338,6 +4339,24 @@ out_put_disk: return err; } +#ifndef MODULE +static __init void floppy_async_init(void *data, async_cookie_t cookie) +{ + do_floppy_init(); +} +#endif + +static int __init floppy_init(void) +{ +#ifdef MODULE + return do_floppy_init(); +#else + /* Don't hold up the bootup by the floppy initialization */ + async_schedule(floppy_async_init, NULL); + return 0; +#endif +} + static const struct io_region { int offset; int size;