[PATCH 6/6] nx-842-platform: if NX842 platform drivers are not modules, don't try to load them
Nishanth Aravamudan
nacc at linux.vnet.ibm.com
Fri Jul 3 08:42:26 AEST 2015
Based off the CONFIG_SPU_FS_MODULE code, only attempt to load platform
modules if the nx-842 pseries/powernv drivers are built as modules.
Otherwise, if CONFIG_DEV_NX_COMPRESS=y,
CONFIG_DEV_NX_COMPRESS_PSERIES=y, CONFIG_DEV_NX_POWERNV=y, the following
message is emitted at boot:
nx_compress: no nx842 driver found.
even though the drivers successfully loads.
This is because in the =y case, the module_init() calls get converted to
initcalls and the nx842_init() runs before the platform driver
nx842_pseries_init() or nx842_powernv_init() functions, which are what
normally set the static platform driver.
Signed-off-by: Nishanth Aravamudan <nacc at linux.vnet.ibm.com>
Cc: Dan Streetman <ddstreet at us.ibm.com>
Cc: Herbert Xu <herbert at gondor.apana.org.au>
Cc: "David S. Miller" <davem at davemloft.net>
Cc: linux-crypto at vger.kernel.org
Cc: linuxppc-dev at lists.ozlabs.org
---
drivers/crypto/nx/nx-842-platform.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/crypto/nx/nx-842-platform.c b/drivers/crypto/nx/nx-842-platform.c
index 664f13dd06ed..5363c72593b4 100644
--- a/drivers/crypto/nx/nx-842-platform.c
+++ b/drivers/crypto/nx/nx-842-platform.c
@@ -53,6 +53,7 @@ void nx842_platform_driver_unset(struct nx842_driver *_driver)
}
EXPORT_SYMBOL_GPL(nx842_platform_driver_unset);
+#if defined(CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES_MODULE) || defined(CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV_MODULE)
bool nx842_platform_driver_get(void)
{
bool ret = false;
@@ -66,7 +67,6 @@ bool nx842_platform_driver_get(void)
return ret;
}
-EXPORT_SYMBOL_GPL(nx842_platform_driver_get);
void nx842_platform_driver_put(void)
{
@@ -77,6 +77,17 @@ void nx842_platform_driver_put(void)
spin_unlock(&driver_lock);
}
+#else
+bool nx842_platform_driver_get(void)
+{
+ return true;
+}
+
+void nx842_platform_driver_put(void)
+{
+}
+#endif
+EXPORT_SYMBOL_GPL(nx842_platform_driver_get);
EXPORT_SYMBOL_GPL(nx842_platform_driver_put);
MODULE_LICENSE("GPL");
--
2.1.4
More information about the Linuxppc-dev
mailing list