diff options
Diffstat (limited to 'drivers/block/xsysace.c')
-rw-r--r-- | drivers/block/xsysace.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/block/xsysace.c b/drivers/block/xsysace.c index 4a7a059ebaf7..ecab9e67d47a 100644 --- a/drivers/block/xsysace.c +++ b/drivers/block/xsysace.c | |||
@@ -870,25 +870,24 @@ static int ace_revalidate_disk(struct gendisk *gd) | |||
870 | return ace->id_result; | 870 | return ace->id_result; |
871 | } | 871 | } |
872 | 872 | ||
873 | static int ace_open(struct inode *inode, struct file *filp) | 873 | static int ace_open(struct block_device *bdev, fmode_t mode) |
874 | { | 874 | { |
875 | struct ace_device *ace = inode->i_bdev->bd_disk->private_data; | 875 | struct ace_device *ace = bdev->bd_disk->private_data; |
876 | unsigned long flags; | 876 | unsigned long flags; |
877 | 877 | ||
878 | dev_dbg(ace->dev, "ace_open() users=%i\n", ace->users + 1); | 878 | dev_dbg(ace->dev, "ace_open() users=%i\n", ace->users + 1); |
879 | 879 | ||
880 | filp->private_data = ace; | ||
881 | spin_lock_irqsave(&ace->lock, flags); | 880 | spin_lock_irqsave(&ace->lock, flags); |
882 | ace->users++; | 881 | ace->users++; |
883 | spin_unlock_irqrestore(&ace->lock, flags); | 882 | spin_unlock_irqrestore(&ace->lock, flags); |
884 | 883 | ||
885 | check_disk_change(inode->i_bdev); | 884 | check_disk_change(bdev); |
886 | return 0; | 885 | return 0; |
887 | } | 886 | } |
888 | 887 | ||
889 | static int ace_release(struct inode *inode, struct file *filp) | 888 | static int ace_release(struct gendisk *disk, fmode_t mode) |
890 | { | 889 | { |
891 | struct ace_device *ace = inode->i_bdev->bd_disk->private_data; | 890 | struct ace_device *ace = disk->private_data; |
892 | unsigned long flags; | 891 | unsigned long flags; |
893 | u16 val; | 892 | u16 val; |
894 | 893 | ||