scsi: target: Don't request modules that aren't even built
authorRoland Dreier <roland@purestorage.com>
Sat, 20 Oct 2018 16:45:16 +0000 (09:45 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 24 Oct 2018 01:19:20 +0000 (21:19 -0400)
If, for example, I don't enable CONFIG_TCM_PSCSI, then every time I load
the target subsystem, I get an annoying

    Unable to load target_core_pscsi

kernel log message.  Instead let's only request_module() on things if
that code is enabled.

Signed-off-by: Roland Dreier <roland@purestorage.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/target_core_transport.c

index 4cf33e2..e31e4fc 100644 (file)
@@ -205,19 +205,19 @@ void transport_subsystem_check_init(void)
        if (sub_api_initialized)
                return;
 
-       ret = request_module("target_core_iblock");
+       ret = IS_ENABLED(CONFIG_TCM_IBLOCK) && request_module("target_core_iblock");
        if (ret != 0)
                pr_err("Unable to load target_core_iblock\n");
 
-       ret = request_module("target_core_file");
+       ret = IS_ENABLED(CONFIG_TCM_FILEIO) && request_module("target_core_file");
        if (ret != 0)
                pr_err("Unable to load target_core_file\n");
 
-       ret = request_module("target_core_pscsi");
+       ret = IS_ENABLED(CONFIG_TCM_PSCSI) && request_module("target_core_pscsi");
        if (ret != 0)
                pr_err("Unable to load target_core_pscsi\n");
 
-       ret = request_module("target_core_user");
+       ret = IS_ENABLED(CONFIG_TCM_USER2) && request_module("target_core_user");
        if (ret != 0)
                pr_err("Unable to load target_core_user\n");