aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-cd.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-02-16 20:40:24 -0500
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-02-16 20:40:24 -0500
commitc94964a4555eb58be3f45edf2b63a2b3f549ef29 (patch)
treea8a0bf41a6c2b675e8f376e870f26724e5870327 /drivers/ide/ide-cd.c
parent7b77d864af29c193f6cee8338dbda40accb9b27b (diff)
ide: remove ide_drive_t.usage
This field is no longer used by the core IDE code so fix ide-{disk,floppy} drivers to keep openers count in the driver specific objects and remove it from ide-{cd,scsi,tape} drivers (it was write-only). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-cd.c')
-rw-r--r--drivers/ide/ide-cd.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index e6e350cdfbf9..624d48841533 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -3353,21 +3353,16 @@ static int idecd_open(struct inode * inode, struct file * file)
3353{ 3353{
3354 struct gendisk *disk = inode->i_bdev->bd_disk; 3354 struct gendisk *disk = inode->i_bdev->bd_disk;
3355 struct cdrom_info *info; 3355 struct cdrom_info *info;
3356 ide_drive_t *drive;
3357 int rc = -ENOMEM; 3356 int rc = -ENOMEM;
3358 3357
3359 if (!(info = ide_cd_get(disk))) 3358 if (!(info = ide_cd_get(disk)))
3360 return -ENXIO; 3359 return -ENXIO;
3361 3360
3362 drive = info->drive;
3363
3364 drive->usage++;
3365
3366 if (!info->buffer) 3361 if (!info->buffer)
3367 info->buffer = kmalloc(SECTOR_BUFFER_SIZE, 3362 info->buffer = kmalloc(SECTOR_BUFFER_SIZE, GFP_KERNEL|__GFP_REPEAT);
3368 GFP_KERNEL|__GFP_REPEAT); 3363
3369 if (!info->buffer || (rc = cdrom_open(&info->devinfo, inode, file))) 3364 if (info->buffer)
3370 drive->usage--; 3365 rc = cdrom_open(&info->devinfo, inode, file);
3371 3366
3372 if (rc < 0) 3367 if (rc < 0)
3373 ide_cd_put(info); 3368 ide_cd_put(info);
@@ -3379,10 +3374,8 @@ static int idecd_release(struct inode * inode, struct file * file)
3379{ 3374{
3380 struct gendisk *disk = inode->i_bdev->bd_disk; 3375 struct gendisk *disk = inode->i_bdev->bd_disk;
3381 struct cdrom_info *info = ide_cd_g(disk); 3376 struct cdrom_info *info = ide_cd_g(disk);
3382 ide_drive_t *drive = info->drive;
3383 3377
3384 cdrom_release (&info->devinfo, file); 3378 cdrom_release (&info->devinfo, file);
3385 drive->usage--;
3386 3379
3387 ide_cd_put(info); 3380 ide_cd_put(info);
3388 3381