summaryrefslogtreecommitdiffstats
path: root/drivers/block/paride/pg.c
diff options
context:
space:
mode:
authorSudip Mukherjee2015-05-20 17:27:01 +0200
committerGreg Kroah-Hartman2015-06-01 00:10:23 +0200
commit9f4ba6b05869d085aab03ae84ac3ce0f7685008d (patch)
treed0f52bce6ef9f64654dcf8dd9bfda3c4bfbc152f /drivers/block/paride/pg.c
parenti2c-parport: use new parport device model (diff)
downloadkernel-qcow2-linux-9f4ba6b05869d085aab03ae84ac3ce0f7685008d.tar.gz
kernel-qcow2-linux-9f4ba6b05869d085aab03ae84ac3ce0f7685008d.tar.xz
kernel-qcow2-linux-9f4ba6b05869d085aab03ae84ac3ce0f7685008d.zip
paride: use new parport device model
Modify paride driver to use the new parallel port device model. Tested-by: Alan Cox <gnomes@lxorguk.ukuu.org.uk> Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/block/paride/pg.c')
-rw-r--r--drivers/block/paride/pg.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/block/paride/pg.c b/drivers/block/paride/pg.c
index 876d0c3eaf58..bfbd4c852dd9 100644
--- a/drivers/block/paride/pg.c
+++ b/drivers/block/paride/pg.c
@@ -227,6 +227,7 @@ static int pg_identify(struct pg *dev, int log);
static char pg_scratch[512]; /* scratch block buffer */
static struct class *pg_class;
+static void *par_drv; /* reference of parport driver */
/* kernel glue structures */
@@ -481,6 +482,12 @@ static int pg_detect(void)
printk("%s: %s version %s, major %d\n", name, name, PG_VERSION, major);
+ par_drv = pi_register_driver(name);
+ if (!par_drv) {
+ pr_err("failed to register %s driver\n", name);
+ return -1;
+ }
+
k = 0;
if (pg_drive_count == 0) {
if (pi_init(dev->pi, 1, -1, -1, -1, -1, -1, pg_scratch,
@@ -511,6 +518,7 @@ static int pg_detect(void)
if (k)
return 0;
+ pi_unregister_driver(par_drv);
printk("%s: No ATAPI device detected\n", name);
return -1;
}