Just open code it in the few callers.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
 }
 #endif
 
-int __blkdev_driver_ioctl(struct block_device *bdev, fmode_t mode,
-                       unsigned cmd, unsigned long arg)
-{
-       struct gendisk *disk = bdev->bd_disk;
-
-       if (disk->fops->ioctl)
-               return disk->fops->ioctl(bdev, mode, cmd, arg);
-
-       return -ENOTTY;
-}
-/*
- * For the record: _GPL here is only because somebody decided to slap it
- * on the previous export.  Sheer idiocy, since it wasn't copyrightable
- * at all and could be open-coded without any exports by anybody who cares.
- */
-EXPORT_SYMBOL_GPL(__blkdev_driver_ioctl);
-
 #ifdef CONFIG_COMPAT
 /*
  * This is the equivalent of compat_ptr_ioctl(), to be used by block
        }
 
        ret = blkdev_common_ioctl(bdev, mode, cmd, arg, argp);
-       if (ret == -ENOIOCTLCMD)
-               return __blkdev_driver_ioctl(bdev, mode, cmd, arg);
+       if (ret != -ENOIOCTLCMD)
+               return ret;
 
-       return ret;
+       if (!bdev->bd_disk->fops->ioctl)
+               return -ENOTTY;
+       return bdev->bd_disk->fops->ioctl(bdev, mode, cmd, arg);
 }
 EXPORT_SYMBOL_GPL(blkdev_ioctl); /* for /dev/raw */
 
 
        case CDROM_LAST_WRITTEN:
        case CDROM_SEND_PACKET:
        case SCSI_IOCTL_SEND_COMMAND:
-               ret = __blkdev_driver_ioctl(pd->bdev, mode, cmd, arg);
+               if (!bdev->bd_disk->fops->ioctl)
+                       ret = -ENOTTY;
+               else
+                       ret = bdev->bd_disk->fops->ioctl(bdev, mode, cmd, arg);
                break;
-
        default:
                pkt_dbg(2, pd, "Unknown ioctl (%x)\n", cmd);
                ret = -ENOTTY;
 
 
        if (dc->io_disable)
                return -EIO;
-
-       return __blkdev_driver_ioctl(dc->bdev, mode, cmd, arg);
+       if (!dc->bdev->bd_disk->fops->ioctl)
+               return -ENOTTY;
+       return dc->bdev->bd_disk->fops->ioctl(dc->bdev, mode, cmd, arg);
 }
 
 void bch_cached_dev_request_init(struct cached_dev *dc)
 
                }
        }
 
-       r =  __blkdev_driver_ioctl(bdev, mode, cmd, arg);
+       if (!bdev->bd_disk->fops->ioctl)
+               r = -ENOTTY;
+       else
+               r = bdev->bd_disk->fops->ioctl(bdev, mode, cmd, arg);
 out:
        dm_unprepare_ioctl(md, srcu_idx);
        return r;
 
 #define blkdev_compat_ptr_ioctl NULL
 #endif
 
-extern int __blkdev_driver_ioctl(struct block_device *, fmode_t, unsigned int,
-                                unsigned long);
 extern int bdev_read_page(struct block_device *, sector_t, struct page *);
 extern int bdev_write_page(struct block_device *, sector_t, struct page *,
                                                struct writeback_control *);