scsi_dh: force modular build if SCSI is a module
authorArnd Bergmann <arnd@arndb.de>
Wed, 27 Jan 2016 15:57:23 +0000 (16:57 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 24 Feb 2016 02:27:02 +0000 (21:27 -0500)
When the scsi_dh core was moved into the scsi core module,
CONFIG_SCSI_DH became a 'bool' option, and now anything depending on it
can be built-in even when CONFIG_SCSI=m. This of course cannot link
successfully:

drivers/scsi/built-in.o: In function `rdac_init':
scsi_dh_alua.c:(.init.text+0x14): undefined reference to `scsi_register_device_handler'
scsi_dh_alua.c:(.init.text+0x64): undefined reference to `scsi_unregister_device_handler'
drivers/scsi/built-in.o: In function `alua_init':
scsi_dh_alua.c:(.init.text+0xb0): undefined reference to `scsi_register_device_handler'

As a workaround, this adds an extra dependency on CONFIG_SCSI, so
Kconfig can figure out whether built-in is allowed or not.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 086b91d052eb ("scsi_dh: integrate into the core SCSI code")
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/device_handler/Kconfig

index e5647d59224fca77a44b2ab8e3bf7662c457eb4c..0b331c9c0a8f8624ae5f1fc239836a8dc0fbccda 100644 (file)
@@ -13,13 +13,13 @@ menuconfig SCSI_DH
 
 config SCSI_DH_RDAC
        tristate "LSI RDAC Device Handler"
-       depends on SCSI_DH
+       depends on SCSI_DH && SCSI
        help
        If you have a LSI RDAC select y. Otherwise, say N.
 
 config SCSI_DH_HP_SW
        tristate "HP/COMPAQ MSA Device Handler"
-       depends on SCSI_DH
+       depends on SCSI_DH && SCSI
        help
        If you have a HP/COMPAQ MSA device that requires START_STOP to
        be sent to start it and cannot upgrade the firmware then select y.
@@ -27,13 +27,13 @@ config SCSI_DH_HP_SW
 
 config SCSI_DH_EMC
        tristate "EMC CLARiiON Device Handler"
-       depends on SCSI_DH
+       depends on SCSI_DH && SCSI
        help
        If you have a EMC CLARiiON select y. Otherwise, say N.
 
 config SCSI_DH_ALUA
        tristate "SPC-3 ALUA Device Handler"
-       depends on SCSI_DH
+       depends on SCSI_DH && SCSI
        help
          SCSI Device handler for generic SPC-3 Asymmetric Logical Unit
          Access (ALUA).