/*** Block device ***/
 
-static int mspro_block_bd_open(struct inode *inode, struct file *filp)
+static int mspro_block_bd_open(struct block_device *bdev, fmode_t mode)
 {
-       struct gendisk *disk = inode->i_bdev->bd_disk;
+       struct gendisk *disk = bdev->bd_disk;
        struct mspro_block_data *msb = disk->private_data;
        int rc = -ENXIO;
 
 
        if (msb && msb->card) {
                msb->usage_count++;
-               if ((filp->f_mode & FMODE_WRITE) && msb->read_only)
+               if ((mode & FMODE_WRITE) && msb->read_only)
                        rc = -EROFS;
                else
                        rc = 0;
        return 0;
 }
 
-static int mspro_block_bd_release(struct inode *inode, struct file *filp)
+static int mspro_block_bd_release(struct gendisk *disk, fmode_t mode)
 {
-       struct gendisk *disk = inode->i_bdev->bd_disk;
        return mspro_block_disk_release(disk);
 }
 
 }
 
 static struct block_device_operations ms_block_bdops = {
-       .__open    = mspro_block_bd_open,
-       .__release = mspro_block_bd_release,
+       .open    = mspro_block_bd_open,
+       .release = mspro_block_bd_release,
        .getgeo  = mspro_block_bd_getgeo,
        .owner   = THIS_MODULE
 };