block: make scsi_request and scsi ioctl support optional
authorChristoph Hellwig <hch@lst.de>
Sat, 28 Jan 2017 08:32:51 +0000 (09:32 +0100)
committerJens Axboe <axboe@fb.com>
Tue, 31 Jan 2017 17:53:05 +0000 (10:53 -0700)
We only need this code to support scsi, ide, cciss and virtio.  And at
least for virtio it's a deprecated feature to start with.

This should shrink the kernel size for embedded device that only use,
say eMMC a bit.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/Kconfig
block/Makefile
drivers/block/Kconfig
drivers/block/paride/Kconfig
drivers/ide/Kconfig
drivers/scsi/Kconfig
drivers/target/Kconfig
fs/nfsd/Kconfig

index 7f659b23850cd215d31bc4974c01909f644340b6..b97d7f6fd6224327bb9ef9a958c81a1896104e39 100644 (file)
@@ -49,9 +49,13 @@ config LBDAF
 
          If unsure, say Y.
 
+config BLK_SCSI_REQUEST
+       bool
+
 config BLK_DEV_BSG
        bool "Block layer SG support v4"
        default y
+       select BLK_SCSI_REQUEST
        help
          Saying Y here will enable generic SG (SCSI generic) v4 support
          for any block device.
@@ -71,6 +75,7 @@ config BLK_DEV_BSGLIB
        bool "Block layer SG support v4 helper lib"
        default n
        select BLK_DEV_BSG
+       select BLK_SCSI_REQUEST
        help
          Subsystems will normally enable this if needed. Users will not
          normally need to manually enable this.
index 317165f8708c8789c7c178bfae1be5c5e0a3d174..38f26cae43034f3d269c3b6b900b7ced6ad53147 100644 (file)
@@ -7,10 +7,11 @@ obj-$(CONFIG_BLOCK) := bio.o elevator.o blk-core.o blk-tag.o blk-sysfs.o \
                        blk-exec.o blk-merge.o blk-softirq.o blk-timeout.o \
                        blk-lib.o blk-mq.o blk-mq-tag.o blk-stat.o \
                        blk-mq-sysfs.o blk-mq-cpumap.o blk-mq-sched.o ioctl.o \
-                       genhd.o scsi_ioctl.o partition-generic.o ioprio.o \
+                       genhd.o partition-generic.o ioprio.o \
                        badblocks.o partitions/
 
-obj-$(CONFIG_BOUNCE)   += bounce.o
+obj-$(CONFIG_BOUNCE)           += bounce.o
+obj-$(CONFIG_BLK_SCSI_REQUEST) += scsi_ioctl.o
 obj-$(CONFIG_BLK_DEV_BSG)      += bsg.o
 obj-$(CONFIG_BLK_DEV_BSGLIB)   += bsg-lib.o
 obj-$(CONFIG_BLK_CGROUP)       += blk-cgroup.o
index 223ff2fcae7e06d6abc8e8e1d2472ac707828278..7a4c787a5edfbb419af3c3c5445f33649d210730 100644 (file)
@@ -69,6 +69,7 @@ config AMIGA_Z2RAM
 config GDROM
        tristate "SEGA Dreamcast GD-ROM drive"
        depends on SH_DREAMCAST
+       select BLK_SCSI_REQUEST # only for the generic cdrom code
        help
          A standard SEGA Dreamcast comes with a modified CD ROM drive called a
          "GD-ROM" by SEGA to signify it is capable of reading special disks
@@ -114,6 +115,7 @@ config BLK_CPQ_CISS_DA
        tristate "Compaq Smart Array 5xxx support"
        depends on PCI
        select CHECK_SIGNATURE
+       select BLK_SCSI_REQUEST
        help
          This is the driver for Compaq Smart Array 5xxx controllers.
          Everyone using these boards should say Y here.
@@ -386,6 +388,7 @@ config BLK_DEV_RAM_DAX
 config CDROM_PKTCDVD
        tristate "Packet writing on CD/DVD media (DEPRECATED)"
        depends on !UML
+       select BLK_SCSI_REQUEST
        help
          Note: This driver is deprecated and will be removed from the
          kernel in the near future!
@@ -497,6 +500,7 @@ config XEN_BLKDEV_BACKEND
 config VIRTIO_BLK
        tristate "Virtio block driver"
        depends on VIRTIO
+       select BLK_SCSI_REQUEST
        ---help---
          This is the virtual block driver for virtio.  It can be used with
           lguest or QEMU based VMMs (like KVM or Xen).  Say Y or M.
index efefb5ac300452dbf3ac7af14989d465102ee29f..3a15247942e41119bd26822a8e5b636b9a8a01e0 100644 (file)
@@ -25,6 +25,7 @@ config PARIDE_PD
 config PARIDE_PCD
        tristate "Parallel port ATAPI CD-ROMs"
        depends on PARIDE
+       select BLK_SCSI_REQUEST # only for the generic cdrom code
        ---help---
          This option enables the high-level driver for ATAPI CD-ROM devices
          connected through a parallel port. If you chose to build PARIDE
index 39ea67f9b066989ff901674cea38d2b1bb0ff2b3..c99a25c075bcb943c7eefd1f47ade7fc8ff7b8fb 100644 (file)
@@ -10,6 +10,7 @@ menuconfig IDE
        tristate "ATA/ATAPI/MFM/RLL support (DEPRECATED)"
        depends on HAVE_IDE
        depends on BLOCK
+       select BLK_SCSI_REQUEST
        ---help---
          If you say Y here, your kernel will be able to manage ATA/(E)IDE and
          ATAPI units. The most common cases are IDE hard drives and ATAPI
index a4f6b0d955159cde292b9c7f09811d5d542c3fa8..d4023bf1e739d2765b5a1aa64c31609b13fb47df 100644 (file)
@@ -18,6 +18,7 @@ config SCSI
        depends on BLOCK
        select SCSI_DMA if HAS_DMA
        select SG_POOL
+       select BLK_SCSI_REQUEST
        ---help---
          If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
          any other SCSI device under Linux, say Y and make sure that you know
index 257361280510b5b69532ec890941a9fde79e45d6..e2bc99980f7553e75cd043f8315551520714f80e 100644 (file)
@@ -4,6 +4,7 @@ menuconfig TARGET_CORE
        depends on SCSI && BLOCK
        select CONFIGFS_FS
        select CRC_T10DIF
+       select BLK_SCSI_REQUEST # only for scsi_command_size_tbl..
        default n
        help
        Say Y or M here to enable the TCM Storage Engine and ConfigFS enabled
index 47febcf9918502a2b55b99a571c50b6b1c824cc3..20b1c17320d5283c56ca91e5262c6ccd69129a74 100644 (file)
@@ -104,6 +104,7 @@ config NFSD_SCSILAYOUT
        depends on NFSD_V4 && BLOCK
        select NFSD_PNFS
        select EXPORTFS_BLOCK_OPS
+       select BLK_SCSI_REQUEST
        help
          This option enables support for the exporting pNFS SCSI layouts
          in the kernel's NFS server. The pNFS SCSI layout enables NFS