static DEFINE_MUTEX(idecd_ref_mutex);
static void ide_cd_release(struct device *);
-static int idecd_revalidate_disk(struct gendisk *disk);
static struct cdrom_info *ide_cd_get(struct gendisk *disk)
{
struct cdrom_info *info;
int rc = -ENXIO;
- if (bdev_check_media_change(bdev))
- idecd_revalidate_disk(bdev->bd_disk);
+ if (bdev_check_media_change(bdev)) {
+ info = ide_drv_g(bdev->bd_disk, cdrom_info);
+
+ ide_cd_read_toc(info->drive);
+ }
mutex_lock(&ide_cd_mutex);
info = ide_cd_get(bdev->bd_disk);
return cdrom_check_events(&info->devinfo, clearing);
}
-static int idecd_revalidate_disk(struct gendisk *disk)
-{
- struct cdrom_info *info = ide_drv_g(disk, cdrom_info);
-
- ide_cd_read_toc(info->drive);
-
- return 0;
-}
-
static const struct block_device_operations idecd_ops = {
.owner = THIS_MODULE,
.open = idecd_open,