PROBLEM: drivers/block/paride/pd.c fails to compile at line 896 on i686
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,
Quoted 1 line · Thomas Covello
drivers/block/paride/pd.cfails to compile at line 896 on an i686.
Can you try this patch and let us know if it works for you.
drivers/block/paride/pd.c +11 -6
@@ -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" );