patch-2.4.10 linux/drivers/block/acsi.c
Next file: linux/drivers/block/amiflop.c
Previous file: linux/drivers/block/Makefile
Back to the patch index
Back to the overall index
- Lines: 80
- Date:
Thu Sep 13 15:21:32 2001
- Orig file:
v2.4.9/linux/drivers/block/acsi.c
- Orig date:
Mon Aug 27 12:41:40 2001
diff -u --recursive --new-file v2.4.9/linux/drivers/block/acsi.c linux/drivers/block/acsi.c
@@ -1138,6 +1138,10 @@
return put_user(acsi_part[MINOR(inode->i_rdev)].nr_sects,
(long *) arg);
+ case BLKGETSIZE64: /* Return device size */
+ return put_user((u64)acsi_part[MINOR(inode->i_rdev)].nr_sects << 9,
+ (u64 *) arg);
+
case BLKROSET:
case BLKROGET:
case BLKFLSBUF:
@@ -1386,16 +1390,14 @@
extern struct block_device_operations acsi_fops;
static struct gendisk acsi_gendisk = {
- MAJOR_NR, /* Major number */
- "ad", /* Major name */
- 4, /* Bits to shift to get real from partition */
- 1 << 4, /* Number of partitions per real */
- acsi_part, /* hd struct */
- acsi_sizes, /* block sizes */
- 0, /* number */
- (void *)acsi_info, /* internal */
- NULL, /* next */
- &acsi_fops, /* file operations */
+ major: MAJOR_NR,
+ major_name: "ad",
+ minor_shift: 4,
+ max_p: 1 << 4,
+ part: acsi_part,
+ sizes: acsi_sizes,
+ real_devices: (void *)acsi_info,
+ fops: &acsi_fops,
};
#define MAX_SCSI_DEVICE_CODE 10
@@ -1792,8 +1794,7 @@
blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST);
read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read-ahead */
- acsi_gendisk.next = gendisk_head;
- gendisk_head = &acsi_gendisk;
+ add_gendisk(&acsi_gendisk);
#ifdef CONFIG_ATARI_SLM
err = slm_init();
@@ -1805,6 +1806,9 @@
#ifdef MODULE
+
+MODULE_LICENSE("GPL");
+
int init_module(void)
{
int err;
@@ -1817,8 +1821,6 @@
void cleanup_module(void)
{
- struct gendisk ** gdp;
-
del_timer( &acsi_timer );
blk_cleanup_queue(BLK_DEFAULT_QUEUE(MAJOR_NR));
atari_stram_free( acsi_buffer );
@@ -1826,13 +1828,7 @@
if (devfs_unregister_blkdev( MAJOR_NR, "ad" ) != 0)
printk( KERN_ERR "acsi: cleanup_module failed\n");
- for (gdp = &gendisk_head; *gdp; gdp = &((*gdp)->next))
- if (*gdp == &acsi_gendisk)
- break;
- if (!*gdp)
- printk( KERN_ERR "acsi: entry in disk chain missing!\n" );
- else
- *gdp = (*gdp)->next;
+ del_gendisk(&acsi_gendisk);
}
#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)