* [PATCH] net: qrtr: fix build problems
@ 2016-05-13 13:09 Arnd Bergmann
2016-05-16 17:45 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: Arnd Bergmann @ 2016-05-13 13:09 UTC (permalink / raw)
To: David S. Miller
Cc: Arnd Bergmann, Bjorn Andersson, Courtney Cavin, netdev, linux-kernel
Having multiple loadable modules with the same name cannot work
with modprobe, and having both net/qrtr/smd.ko and drivers/soc/qcom/smd.ko
results in a (somewhat cryptic) build error:
ERROR: "qcom_smd_driver_unregister" [net/qrtr/smd.ko] undefined!
ERROR: "qcom_smd_driver_register" [net/qrtr/smd.ko] undefined!
ERROR: "qcom_smd_set_drvdata" [net/qrtr/smd.ko] undefined!
ERROR: "qcom_smd_send" [net/qrtr/smd.ko] undefined!
ERROR: "qcom_smd_get_drvdata" [net/qrtr/smd.ko] undefined!
ERROR: "qcom_smd_driver_unregister" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
ERROR: "qcom_smd_driver_register" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
ERROR: "qcom_smd_set_drvdata" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
ERROR: "qcom_smd_send" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
ERROR: "qcom_smd_get_drvdata" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
Also, the qrtr driver uses the SMD interface and has a Kconfig dependency,
but also allows for compile-testing when SMD is disabled. However, if
with QCOM_SMD=m and COMPILE_TEST=y we can end up with QRTR_SMD=y and
that fails with a related link error.
The changes the dependency so we can still compile-test the driver but
not have it built-in if SMD is a module, to avoid running in the broken
configuration, and changes the Makefile to provide the driver under
a different module name.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: bdabad3e363d ("net: Add Qualcomm IPC router")
---
net/qrtr/Kconfig | 2 +-
net/qrtr/Makefile | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/net/qrtr/Kconfig b/net/qrtr/Kconfig
index 673fd1f86ebe..b83c6807a5ae 100644
--- a/net/qrtr/Kconfig
+++ b/net/qrtr/Kconfig
@@ -16,7 +16,7 @@ if QRTR
config QRTR_SMD
tristate "SMD IPC Router channels"
- depends on QCOM_SMD || COMPILE_TEST
+ depends on QCOM_SMD || (COMPILE_TEST && QCOM_SMD=n)
---help---
Say Y here to support SMD based ipcrouter channels. SMD is the
most common transport for IPC Router.
diff --git a/net/qrtr/Makefile b/net/qrtr/Makefile
index 6c00dc623b7e..ab09e40f7c74 100644
--- a/net/qrtr/Makefile
+++ b/net/qrtr/Makefile
@@ -1,2 +1,4 @@
obj-$(CONFIG_QRTR) := qrtr.o
-obj-$(CONFIG_QRTR_SMD) += smd.o
+
+obj-$(CONFIG_QRTR_SMD) += qrtr-smd.o
+qrtr-smd-y := smd.o
--
2.7.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] net: qrtr: fix build problems
2016-05-13 13:09 [PATCH] net: qrtr: fix build problems Arnd Bergmann
@ 2016-05-16 17:45 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2016-05-16 17:45 UTC (permalink / raw)
To: arnd; +Cc: bjorn.andersson, courtney.cavin, netdev, linux-kernel
From: Arnd Bergmann <arnd@arndb.de>
Date: Fri, 13 May 2016 15:09:58 +0200
> Having multiple loadable modules with the same name cannot work
> with modprobe, and having both net/qrtr/smd.ko and drivers/soc/qcom/smd.ko
> results in a (somewhat cryptic) build error:
>
> ERROR: "qcom_smd_driver_unregister" [net/qrtr/smd.ko] undefined!
> ERROR: "qcom_smd_driver_register" [net/qrtr/smd.ko] undefined!
> ERROR: "qcom_smd_set_drvdata" [net/qrtr/smd.ko] undefined!
> ERROR: "qcom_smd_send" [net/qrtr/smd.ko] undefined!
> ERROR: "qcom_smd_get_drvdata" [net/qrtr/smd.ko] undefined!
> ERROR: "qcom_smd_driver_unregister" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
> ERROR: "qcom_smd_driver_register" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
> ERROR: "qcom_smd_set_drvdata" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
> ERROR: "qcom_smd_send" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
> ERROR: "qcom_smd_get_drvdata" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
>
> Also, the qrtr driver uses the SMD interface and has a Kconfig dependency,
> but also allows for compile-testing when SMD is disabled. However, if
> with QCOM_SMD=m and COMPILE_TEST=y we can end up with QRTR_SMD=y and
> that fails with a related link error.
>
> The changes the dependency so we can still compile-test the driver but
> not have it built-in if SMD is a module, to avoid running in the broken
> configuration, and changes the Makefile to provide the driver under
> a different module name.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: bdabad3e363d ("net: Add Qualcomm IPC router")
Applied.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-05-16 17:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-13 13:09 [PATCH] net: qrtr: fix build problems Arnd Bergmann
2016-05-16 17:45 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).