crypto: inside-secure - Fix unused variable warning when CONFIG_PCI=n
authorPascal van Leeuwen <pascalvanl@gmail.com>
Fri, 13 Sep 2019 09:04:40 +0000 (11:04 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 20 Sep 2019 12:53:09 +0000 (22:53 +1000)
This patch fixes an unused variable warning from the compiler when the
driver is being compiled without PCI support in the kernel.

Fixes: 625f269a5a7a ("crypto: inside-secure - add support for...")
Signed-off-by: Pascal van Leeuwen <pvanleeuwen@verimatrix.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/inside-secure/safexcel.c

index b456b85f46d37224cb9c971450a094cf2671ece8..4ab1bde8dd9b4f1ae1380edcdf861c5008f79dd9 100644 (file)
@@ -1789,32 +1789,50 @@ static struct pci_driver safexcel_pci_driver = {
 };
 #endif
 
-static int __init safexcel_init(void)
-{
-       int rc;
-
+/* Unfortunately, we have to resort to global variables here */
+#if IS_ENABLED(CONFIG_PCI)
+int pcireg_rc = -EINVAL; /* Default safe value */
+#endif
 #if IS_ENABLED(CONFIG_OF)
-               /* Register platform driver */
-               platform_driver_register(&crypto_safexcel);
+int ofreg_rc = -EINVAL; /* Default safe value */
 #endif
 
+static int __init safexcel_init(void)
+{
 #if IS_ENABLED(CONFIG_PCI)
-               /* Register PCI driver */
-               rc = pci_register_driver(&safexcel_pci_driver);
+       /* Register PCI driver */
+       pcireg_rc = pci_register_driver(&safexcel_pci_driver);
 #endif
 
-       return 0;
+#if IS_ENABLED(CONFIG_OF)
+       /* Register platform driver */
+       ofreg_rc = platform_driver_register(&crypto_safexcel);
+ #if IS_ENABLED(CONFIG_PCI)
+       /* Return success if either PCI or OF registered OK */
+       return pcireg_rc ? ofreg_rc : 0;
+ #else
+       return ofreg_rc;
+ #endif
+#else
+ #if IS_ENABLED(CONFIG_PCI)
+       return pcireg_rc;
+ #else
+       return -EINVAL;
+ #endif
+#endif
 }
 
 static void __exit safexcel_exit(void)
 {
 #if IS_ENABLED(CONFIG_OF)
-               /* Unregister platform driver */
+       /* Unregister platform driver */
+       if (!ofreg_rc)
                platform_driver_unregister(&crypto_safexcel);
 #endif
 
 #if IS_ENABLED(CONFIG_PCI)
-               /* Unregister PCI driver if successfully registered before */
+       /* Unregister PCI driver if successfully registered before */
+       if (!pcireg_rc)
                pci_unregister_driver(&safexcel_pci_driver);
 #endif
 }