unsigned char *res = kmalloc(66, GFP_KERNEL);
if (res) {
struct block_device *bdev = dev->bd_contains;
- struct buffer_head *bh = __bread(bdev, 0, block_size(bdev));
- if (bh) {
- memcpy(res, bh->b_data + 0x1be, 66);
- brelse(bh);
+ Sector sect;
+ void *data = read_dev_sector(bdev, 0, §);
+ if (data) {
+ memcpy(res, data + 0x1be, 66);
+ put_dev_sector(sect);
} else {
kfree(res);
res = NULL;
}
return res;
}
+EXPORT_SYMBOL(scsi_bios_ptable);
/*
* Function : int scsicam_bios_param (struct block_device *bdev, ector_t capacity, int *ip)
return 0;
}
+EXPORT_SYMBOL(scsicam_bios_param);
/*
* Function : static int scsi_partsize(unsigned char *buf, unsigned long
}
return -1;
}
+EXPORT_SYMBOL(scsi_partsize);
/*
* Function : static int setsize(unsigned long capacity,unsigned int *cyls,