Skip to content
  • Arnd Bergmann's avatar
    net: qrtr: fix build problems · a986a05d
    Arnd Bergmann authored
    
    
    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: default avatarArnd Bergmann <arnd@arndb.de>
    Fixes: bdabad3e
    
     ("net: Add Qualcomm IPC router")
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a986a05d