When CDROM is enabled, but nothing else selects BLK_SCSI_REQUEST,
we get this link error:

cdrom.c:(.text+0x7a18): undefined reference to `scsi_cmd_blk_ioctl'

The problem is that the CDROM helper code has become user-selectable
now when it used to only be compiled if anything else enabled it.
This moves the 'select BLK_SCSI_REQUEST' from the drivers that
explicitly have it into CONFIG_CDROM, to make sure we always
build that code.

Fixes: 2a750166a5be ("block: Rework drivers/cdrom/Makefile")
Signed-off-by: Arnd Bergmann <[email protected]>
---
 drivers/block/Kconfig | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index e84432df1a55..b8d9fcbe4020 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -69,7 +69,8 @@ config AMIGA_Z2RAM
          module will be called z2ram.
 
 config CDROM
-       tristate "CD-ROM driver"
+       tristate
+       select BLK_SCSI_REQUEST
        help
          A CD-ROM is a pre-pressed optical compact disc which contains
          data. The name is an acronym which stands for "Compact Disc
@@ -82,7 +83,6 @@ config GDROM
        tristate "SEGA Dreamcast GD-ROM drive"
        depends on SH_DREAMCAST
        select CDROM
-       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
@@ -360,7 +360,6 @@ config CDROM_PKTCDVD
        tristate "Packet writing on CD/DVD media (DEPRECATED)"
        depends on !UML
        select CDROM
-       select BLK_SCSI_REQUEST
        help
          Note: This driver is deprecated and will be removed from the
          kernel in the near future!
-- 
2.9.0

Reply via email to