drivers/block/paride/pd.c fails to compile at line 896 on an i686.
Here is a copy of the error messages I receive:
drivers/block/paride/pd.c: In function `pd_init':
drivers/block/paride/pd.c:896: warning: passing arg 1 of
`blk_init_queue' from incompatible pointer type
drivers/block/paride/pd.c:896: warning: passing arg 2 of
`blk_init_queue' from incompatible pointer type
drivers/block/paride/pd.c:896: too many arguments to function
`blk_init_queue'
make[2]: *** [drivers/block/paride/pd.o] Error 1
make[1]: *** [drivers/block/paride] Error 2
make: *** [drivers] Error 2
Hi,
On Sat, 2003-08-09 at 22:57, Thomas Covello wrote:
> drivers/block/paride/pd.c fails to compile at line 896 on an i686.
Can you try this patch and let us know if it works for you.
diff -urN linux-2.6.0-test3/drivers/block/paride/pd.c linux-2.6.0-test3-nvk/drivers/block/paride/pd.c
--- linux-2.6.0-test3/drivers/block/paride/pd.c 2003-07-28 10:43:52.000000000 +0530
+++ linux-2.6.0-test3-nvk/drivers/block/paride/pd.c 2003-08-09 15:58:56.000000000 +0530
@@ -654,7 +654,7 @@
return pd_identify(disk);
}
-static struct request_queue pd_queue;
+static struct request_queue* pd_queue;
static int pd_detect(void)
{
@@ -704,7 +704,7 @@
set_capacity(p, disk->capacity);
disk->gd = p;
p->private_data = disk;
- p->queue = &pd_queue;
+ p->queue = pd_queue;
add_disk(p);
}
}
@@ -782,7 +782,7 @@
spin_lock_irqsave(&pd_lock, saved_flags);
end_request(pd_req, success);
pd_busy = 0;
- do_pd_request(&pd_queue);
+ do_pd_request(pd_queue);
spin_unlock_irqrestore(&pd_lock, saved_flags);
}
@@ -893,13 +893,18 @@
if (register_blkdev(major, name))
return -1;
- blk_init_queue(&pd_queue, do_pd_request, &pd_lock);
- blk_queue_max_sectors(&pd_queue, cluster);
+ pd_queue = blk_init_queue(do_pd_request, &pd_lock);
+ if (!pd_queue)
+ goto error;
+
+ blk_queue_max_sectors(pd_queue, cluster);
printk("%s: %s version %s, major %d, cluster %d, nice %d\n",
name, name, PD_VERSION, major, cluster, nice);
pd_init_units();
if (!pd_detect()) {
+ blk_put_queue(pd_queue);
+error:
unregister_blkdev(major, name);
return -1;
}
@@ -920,7 +925,7 @@
pi_release(disk->pi);
}
}
- blk_cleanup_queue(&pd_queue);
+ blk_put_queue(pd_queue);
}
MODULE_LICENSE("GPL");