From: Alexander Viro Date: Sat, 21 Sep 2002 09:42:19 +0000 (-0700) Subject: [PATCH] gendisk for sbpcd X-Git-Tag: v2.5.38~4^2~23 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=b39472ce4dbacc5c38d4e7103440c5c2d770e7e1;p=history.git [PATCH] gendisk for sbpcd sbpcd switched to use of gendisk --- diff --git a/drivers/cdrom/sbpcd.c b/drivers/cdrom/sbpcd.c index 1dae164fdcee..f5a99a7d95f7 100644 --- a/drivers/cdrom/sbpcd.c +++ b/drivers/cdrom/sbpcd.c @@ -722,7 +722,7 @@ static struct sbpcd_drive { u_char mode_xb_8; u_char delay; struct cdrom_device_info *sbpcd_infop; - + struct gendisk disk; } D_S[NR_SBPCD]; static struct sbpcd_drive *current_drive = D_S; @@ -5777,6 +5777,7 @@ int __init sbpcd_init(void) for (j=0;jdrv_id==-1) continue; @@ -5829,6 +5830,12 @@ int __init sbpcd_init(void) sbpcd_infop->dev = mk_kdev(MAJOR_NR, j); sbpcd_infop->handle = p; p->sbpcd_infop = sbpcd_infop; + disk = &p->disk; + disk->major = MAJOR_NR; + disk->first_minor = j; + disk->minor_shift = 0; + disk->fops = &sbpcd_bdops; + disk->major_name = sbpcd_infop->name; sprintf(nbuff, "c0t%d/cd", p->drv_id); sbpcd_infop->de = devfs_register (devfs_handle, nbuff, DEVFS_FL_DEFAULT, @@ -5838,6 +5845,12 @@ int __init sbpcd_init(void) { printk(" sbpcd: Unable to register with Uniform CD-ROm driver\n"); } + add_gendisk(disk); + register_disk(disk, + mk_kdev(disk->major,disk->first_minor), + 1<minor_shift, + disk->fops, + 0); } blk_queue_hardsect_size(BLK_DEFAULT_QUEUE(MAJOR_NR), CD_FRAMESIZE); @@ -5863,6 +5876,7 @@ void sbpcd_exit(void) for (j=0;j0) vfree(D_S[j].aud_buf); if ((unregister_cdrom(D_S[j].sbpcd_infop) == -EINVAL))