X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fmedia%2Fvideo%2Fc-qcam.c;h=3ea10d4bc9c72ac78b6716d35aab8e02ac943d09;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=ee97110002c152290ab7172ccda02583d7f18137;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/media/video/c-qcam.c b/drivers/media/video/c-qcam.c index ee9711000..3ea10d4bc 100644 --- a/drivers/media/video/c-qcam.c +++ b/drivers/media/video/c-qcam.c @@ -103,8 +103,7 @@ static unsigned int qcam_await_ready1(struct qcam_device *qcam, { if (qcam_ready1(qcam) == value) return 0; - current->state=TASK_INTERRUPTIBLE; - schedule_timeout(HZ/10); + msleep_interruptible(100); } /* Probably somebody pulled the plug out. Not much we can do. */ @@ -129,8 +128,7 @@ static unsigned int qcam_await_ready2(struct qcam_device *qcam, int value) { if (qcam_ready2(qcam) == value) return 0; - current->state=TASK_INTERRUPTIBLE; - schedule_timeout(HZ/10); + msleep_interruptible(100); } /* Probably somebody pulled the plug out. Not much we can do. */ @@ -358,7 +356,7 @@ get_fragment: #define BUFSZ 150 -static long qc_capture(struct qcam_device *q, char *buf, unsigned long len) +static long qc_capture(struct qcam_device *q, char __user *buf, unsigned long len) { unsigned lines, pixelsperline, bitsperxfer; unsigned int is_bi_dir = q->bidirectional; @@ -667,7 +665,7 @@ static int qcam_ioctl(struct inode *inode, struct file *file, return video_usercopy(inode, file, cmd, arg, qcam_do_ioctl); } -static ssize_t qcam_read(struct file *file, char *buf, +static ssize_t qcam_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) { struct video_device *v = video_devdata(file); @@ -743,7 +741,7 @@ static struct qcam_device *qcam_init(struct parport *port) static struct qcam_device *qcams[MAX_CAMS]; static unsigned int num_cams = 0; -int init_cqcam(struct parport *port) +static int init_cqcam(struct parport *port) { struct qcam_device *qcam; @@ -800,7 +798,7 @@ int init_cqcam(struct parport *port) return 0; } -void close_cqcam(struct qcam_device *qcam) +static void close_cqcam(struct qcam_device *qcam) { video_unregister_device(&qcam->vdev); parport_unregister_device(qcam->pdev); @@ -844,13 +842,14 @@ MODULE_AUTHOR("Philip Blundell "); MODULE_DESCRIPTION(BANNER); MODULE_LICENSE("GPL"); +/* FIXME: parport=auto would never have worked, surely? --RR */ MODULE_PARM_DESC(parport ,"parport= for port detection method\n\ probe=<0|1|2> for camera detection method\n\ force_rgb=<0|1> for RGB data format (default BGR)"); -MODULE_PARM(parport, "1-" __MODULE_STRING(MAX_CAMS) "i"); -MODULE_PARM(probe, "i"); -MODULE_PARM(force_rgb, "i"); -MODULE_PARM(video_nr,"i"); +module_param_array(parport, int, NULL, 0); +module_param(probe, int, 0); +module_param(force_rgb, bool, 0); +module_param(video_nr, int, 0); module_init(cqcam_init); module_exit(cqcam_cleanup);