X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fblock%2Fparide%2Fpcd.c;h=c852eed91e4b6d82cdea3950271abc17e7f4762d;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=876a236908839946e9f9c9733c5f361065f53e79;hpb=9bf4aaab3e101692164d49b7ca357651eb691cb6;p=linux-2.6.git diff --git a/drivers/block/paride/pcd.c b/drivers/block/paride/pcd.c index 876a23690..c852eed91 100644 --- a/drivers/block/paride/pcd.c +++ b/drivers/block/paride/pcd.c @@ -142,34 +142,14 @@ enum {D_PRT, D_PRO, D_UNI, D_MOD, D_SLV, D_DLY}; static spinlock_t pcd_lock; -#ifndef MODULE - -#include "setup.h" - -static STT pcd_stt[6] = { - {"drive0", 6, drive0}, - {"drive1", 6, drive1}, - {"drive2", 6, drive2}, - {"drive3", 6, drive3}, - {"disable", 1, &disable}, - {"nice", 1, &nice} -}; - -void pcd_setup(char *str, int *ints) -{ - generic_setup(pcd_stt, 6, str); -} - -#endif - -MODULE_PARM(verbose, "i"); -MODULE_PARM(major, "i"); -MODULE_PARM(name, "s"); -MODULE_PARM(nice, "i"); -MODULE_PARM(drive0, "1-6i"); -MODULE_PARM(drive1, "1-6i"); -MODULE_PARM(drive2, "1-6i"); -MODULE_PARM(drive3, "1-6i"); +module_param(verbose, bool, 0644); +module_param(major, int, 0); +module_param(name, charp, 0); +module_param(nice, int, 0); +module_param_array(drive0, int, NULL, 0); +module_param_array(drive1, int, NULL, 0); +module_param_array(drive2, int, NULL, 0); +module_param_array(drive3, int, NULL, 0); #include "paride.h" #include "pseudo.h" @@ -218,7 +198,7 @@ struct pcd_unit { struct gendisk *disk; }; -struct pcd_unit pcd[PCD_UNITS]; +static struct pcd_unit pcd[PCD_UNITS]; static char pcd_scratch[64]; static char pcd_buffer[2048]; /* raw block buffer */ @@ -536,8 +516,7 @@ static int pcd_tray_move(struct cdrom_device_info *cdi, int position) static void pcd_sleep(int cs) { - current->state = TASK_INTERRUPTIBLE; - schedule_timeout(cs); + schedule_timeout_interruptible(cs); } static int pcd_reset(struct pcd_unit *cd) @@ -933,12 +912,12 @@ static int __init pcd_init(void) int unit; if (disable) - return -1; + return -EINVAL; pcd_init_units(); if (pcd_detect()) - return -1; + return -ENODEV; /* get the atapi capabilities page */ pcd_probe_capabilities(); @@ -946,7 +925,7 @@ static int __init pcd_init(void) if (register_blkdev(major, name)) { for (unit = 0, cd = pcd; unit < PCD_UNITS; unit++, cd++) put_disk(cd->disk); - return -1; + return -EBUSY; } pcd_queue = blk_init_queue(do_pcd_request, &pcd_lock); @@ -954,7 +933,7 @@ static int __init pcd_init(void) unregister_blkdev(major, name); for (unit = 0, cd = pcd; unit < PCD_UNITS; unit++, cd++) put_disk(cd->disk); - return -1; + return -ENOMEM; } for (unit = 0, cd = pcd; unit < PCD_UNITS; unit++, cd++) {