patch-2.4.10 linux/drivers/block/ps2esdi.c
Next file: linux/drivers/block/rd.c
Previous file: linux/drivers/block/paride/ppc6lnx.c
Back to the patch index
Back to the overall index
- Lines: 81
- Date:
Fri Sep 14 14:04:07 2001
- Orig file:
v2.4.9/linux/drivers/block/ps2esdi.c
- Orig date:
Wed Jul 25 17:10:19 2001
diff -u --recursive --new-file v2.4.9/linux/drivers/block/ps2esdi.c linux/drivers/block/ps2esdi.c
@@ -157,16 +157,14 @@
static struct gendisk ps2esdi_gendisk =
{
- MAJOR_NR, /* Major number */
- "ed", /* Major name */
- 6, /* Bits to shift to get real from partition */
- 1 << 6, /* Number of partitions per real disk */
- ps2esdi, /* hd struct */
- ps2esdi_sizes, /* block sizes */
- 0, /* number */
- (void *) ps2esdi_info, /* internal */
- NULL, /* next */
- &ps2esdi_fops, /* file operations */
+ major: MAJOR_NR,
+ major_name: "ed",
+ minor_shift: 6,
+ max_p: 1 << 6,
+ part: ps2esdi,
+ sizes: ps2esdi_sizes,
+ real_devices: (void *)ps2esdi_info,
+ fops: &ps2esdi_fops,
};
/* initialization routine called by ll_rw_blk.c */
@@ -184,8 +182,7 @@
read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read ahead */
/* some minor housekeeping - setup the global gendisk structure */
- ps2esdi_gendisk.next = gendisk_head;
- gendisk_head = &ps2esdi_gendisk;
+ add_gendisk(&ps2esdi_gendisk);
ps2esdi_geninit();
return 0;
} /* ps2esdi_init */
@@ -200,6 +197,7 @@
MODULE_PARM(cyl, "i");
MODULE_PARM(head, "i");
MODULE_PARM(track, "i");
+MODULE_LICENSE("GPL");
int init_module(void) {
int drive;
@@ -223,15 +221,15 @@
void
cleanup_module(void)
{
- if(ps2esdi_slot)
- {
+ if(ps2esdi_slot) {
mca_mark_as_unused(ps2esdi_slot);
mca_set_adapter_procfn(ps2esdi_slot, NULL, NULL);
}
release_region(io_base, 4);
free_dma(dma_arb_level);
- free_irq(PS2ESDI_IRQ, NULL)
+ free_irq(PS2ESDI_IRQ, NULL);
devfs_unregister_blkdev(MAJOR_NR, "ed");
+ del_gendisk(&ps2esdi_gendisk);
blk_cleanup_queue(BLK_DEFAULT_QUEUE(MAJOR_NR));
}
#endif /* MODULE */
@@ -1117,6 +1115,9 @@
}
break;
+ case BLKGETSIZE64:
+ return put_user((u64)ps2esdi[MINOR(inode->i_rdev)].nr_sects << 9, (u64 *) arg);
+
case BLKRRPART:
if (!capable(CAP_SYS_ADMIN))
return -EACCES;
@@ -1127,6 +1128,8 @@
case BLKRASET:
case BLKRAGET:
case BLKFLSBUF:
+ case BLKBSZGET:
+ case BLKBSZSET:
case BLKPG:
return blk_ioctl(inode->i_rdev, cmd, arg);
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)