diff options
33 files changed, 199 insertions, 17 deletions
@@ -1,6 +1,6 @@ -# ifeq ($(CONFIG_CNSS_OUT_OF_TREE),y) +ifeq ($(CONFIG_CNSS_OUT_OF_TREE),y) KBUILD_CPPFLAGS += -DCONFIG_CNSS_OUT_OF_TREE -# endif +endif ifeq ($(CONFIG_CNSS2_DEBUG),y) KBUILD_CPPFLAGS += -DCONFIG_CNSS2_DEBUG @@ -40,3 +40,5 @@ obj-$(CONFIG_QCOM_QMI_HELPERS) += qmi/ KBUILD_CPPFLAGS += -DCONFIG_QRTR_NODE_ID=$(CONFIG_QRTR_NODE_ID) KBUILD_CPPFLAGS += -DCONFIG_QRTR_WAKEUP_MS=$(CONFIG_QRTR_WAKEUP_MS) obj-$(CONFIG_QRTR) += qrtr/ + +KBUILD_CPPFLAGS += -I$(WLAN_PLATFORM_ROOT)/inc diff --git a/cnss2/coexistence_service_v01.c b/cnss2/coexistence_service_v01.c index 8fe1454..74da365 100644 --- a/cnss2/coexistence_service_v01.c +++ b/cnss2/coexistence_service_v01.c @@ -1,7 +1,11 @@ // SPDX-License-Identifier: GPL-2.0-only /* Copyright (c) 2019-2021, The Linux Foundation. All rights reserved. */ +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "qmi/qmi.h" +#else #include <linux/soc/qcom/qmi.h> +#endif #include "coexistence_service_v01.h" diff --git a/cnss2/debug.h b/cnss2/debug.h index 7796d57..98413e1 100644 --- a/cnss2/debug.h +++ b/cnss2/debug.h @@ -7,7 +7,11 @@ #include <linux/printk.h> #if IS_ENABLED(CONFIG_IPC_LOGGING) +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "ipc_logging.h" +#else #include <linux/ipc_logging.h> +#endif #include <asm/current.h> extern void *cnss_ipc_log_context; diff --git a/cnss2/ip_multimedia_subsystem_private_service_v01.h b/cnss2/ip_multimedia_subsystem_private_service_v01.h index c8cdb59..f372333 100644 --- a/cnss2/ip_multimedia_subsystem_private_service_v01.h +++ b/cnss2/ip_multimedia_subsystem_private_service_v01.h @@ -4,7 +4,11 @@ #ifndef IP_MULTIMEDIA_SUBSYSTEM_PRIVATE_SERVICE_V01_H #define IP_MULTIMEDIA_SUBSYSTEM_PRIVATE_SERVICE_V01_H +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "qmi/qmi.h" +#else #include <linux/soc/qcom/qmi.h> +#endif #define IMSPRIVATE_SERVICE_ID_V01 0x4D #define IMSPRIVATE_SERVICE_VERS_V01 0x01 diff --git a/cnss2/main.c b/cnss2/main.c index f48315f..73e253f 100644 --- a/cnss2/main.c +++ b/cnss2/main.c @@ -11,7 +11,11 @@ #include <linux/rwsem.h> #include <linux/suspend.h> #include <linux/timer.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "cnss_plat_ipc_qmi.h" +#else #include <linux/cnss_plat_ipc_qmi.h> +#endif #if IS_ENABLED(CONFIG_QCOM_MINIDUMP) #include <soc/qcom/minidump.h> #endif diff --git a/cnss2/main.h b/cnss2/main.h index 92cdab1..924ce1e 100644 --- a/cnss2/main.h +++ b/cnss2/main.h @@ -19,7 +19,11 @@ #include <linux/pm_qos.h> #include <linux/platform_device.h> #include <linux/time64.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "cnss2.h" +#else #include <net/cnss2.h> +#endif #if IS_ENABLED(CONFIG_QCOM_MEMORY_DUMP_V2) #include <soc/qcom/memory_dump.h> #endif diff --git a/cnss2/pci.h b/cnss2/pci.h index f3e8906..8012eb6 100644 --- a/cnss2/pci.h +++ b/cnss2/pci.h @@ -5,10 +5,18 @@ #define _CNSS_PCI_H #include <linux/iommu.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "mhi.h" +#else #include <linux/mhi.h> +#endif #if IS_ENABLED(CONFIG_MHI_BUS_MISC) +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "mhi_misc.h" +#else #include <linux/mhi_misc.h> #endif +#endif #if IS_ENABLED(CONFIG_PCI_MSM) #include <linux/msm_pcie.h> #endif diff --git a/cnss2/qmi.c b/cnss2/qmi.c index 6d43ef2..57ec993 100644 --- a/cnss2/qmi.c +++ b/cnss2/qmi.c @@ -2,7 +2,11 @@ /* Copyright (c) 2015-2021, The Linux Foundation. All rights reserved. */ #include <linux/module.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "qmi/qmi.h" +#else #include <linux/soc/qcom/qmi.h> +#endif #include "bus.h" #include "debug.h" diff --git a/cnss_genl/cnss_nl.c b/cnss_genl/cnss_nl.c index 0c67e43..188a770 100644 --- a/cnss_genl/cnss_nl.c +++ b/cnss_genl/cnss_nl.c @@ -2,7 +2,11 @@ /* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved. */ #include <net/genetlink.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "cnss_nl.h" +#else #include <net/cnss_nl.h> +#endif #include <linux/module.h> #include <linux/of.h> diff --git a/cnss_prealloc/cnss_prealloc.c b/cnss_prealloc/cnss_prealloc.c index f908aed..77c4497 100644 --- a/cnss_prealloc/cnss_prealloc.c +++ b/cnss_prealloc/cnss_prealloc.c @@ -7,7 +7,11 @@ #include <linux/mm.h> #include <linux/err.h> #include <linux/of.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "cnss_prealloc.h" +#else #include <net/cnss_prealloc.h> +#endif MODULE_LICENSE("GPL v2"); MODULE_DESCRIPTION("CNSS prealloc driver"); diff --git a/cnss_utils/cnss_plat_ipc_qmi.c b/cnss_utils/cnss_plat_ipc_qmi.c index aa042f9..a28d743 100644 --- a/cnss_utils/cnss_plat_ipc_qmi.c +++ b/cnss_utils/cnss_plat_ipc_qmi.c @@ -3,12 +3,19 @@ #include <linux/module.h> #include <linux/kernel.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "uapi/qrtr.h" +#include "ipc_logging.h" +#include "qmi/qmi.h" +#include "cnss_plat_ipc_qmi.h" +#else #include <linux/qrtr.h> -#include <linux/soc/qcom/qmi.h> #include <linux/ipc_logging.h> +#include <linux/soc/qcom/qmi.h> +#include <linux/cnss_plat_ipc_qmi.h> +#endif #include <linux/limits.h> #include <linux/slab.h> -#include <linux/cnss_plat_ipc_qmi.h> #include <linux/delay.h> #include <linux/workqueue.h> #include <linux/of.h> diff --git a/cnss_utils/cnss_plat_ipc_service_v01.c b/cnss_utils/cnss_plat_ipc_service_v01.c index c8cb323..664e117 100644 --- a/cnss_utils/cnss_plat_ipc_service_v01.c +++ b/cnss_utils/cnss_plat_ipc_service_v01.c @@ -1,7 +1,11 @@ // SPDX-License-Identifier: GPL-2.0-only /* Copyright (c) 2021, The Linux Foundation. All rights reserved. */ +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "qmi/qmi.h" +#else #include <linux/soc/qcom/qmi.h> +#endif #include "cnss_plat_ipc_service_v01.h" diff --git a/cnss_utils/cnss_utils.c b/cnss_utils/cnss_utils.c index 6bb7dfc..ef94c65 100644 --- a/cnss_utils/cnss_utils.c +++ b/cnss_utils/cnss_utils.c @@ -9,7 +9,11 @@ #include <linux/etherdevice.h> #include <linux/debugfs.h> #include <linux/of.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "cnss_utils.h" +#else #include <net/cnss_utils.h> +#endif #define CNSS_MAX_CH_NUM 157 struct cnss_unsafe_channel_list { diff --git a/cnss_utils/device_management_service_v01.c b/cnss_utils/device_management_service_v01.c index 729615f..c9f4247 100644 --- a/cnss_utils/device_management_service_v01.c +++ b/cnss_utils/device_management_service_v01.c @@ -1,7 +1,11 @@ // SPDX-License-Identifier: GPL-2.0-only /* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. */ +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "qmi/qmi.h" +#else #include <linux/soc/qcom/qmi.h> +#endif #include "device_management_service_v01.h" diff --git a/cnss_utils/wlan_firmware_service_v01.h b/cnss_utils/wlan_firmware_service_v01.h index 458f472..6e313c7 100644 --- a/cnss_utils/wlan_firmware_service_v01.h +++ b/cnss_utils/wlan_firmware_service_v01.h @@ -4,7 +4,11 @@ #ifndef WLAN_FIRMWARE_SERVICE_V01_H #define WLAN_FIRMWARE_SERVICE_V01_H +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "qmi/qmi.h" +#else #include <linux/soc/qcom/qmi.h> +#endif #define WLFW_SERVICE_ID_V01 0x45 #define WLFW_SERVICE_VERS_V01 0x01 diff --git a/inc/mhi_misc.h b/inc/mhi_misc.h index b8ff0ff..de3f585 100644 --- a/inc/mhi_misc.h +++ b/inc/mhi_misc.h @@ -7,8 +7,13 @@ #ifndef _MHI_MISC_H_ #define _MHI_MISC_H_ +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "mhi.h" +#include "ipc_logging.h" +#else #include <linux/mhi.h> #include <linux/ipc_logging.h> +#endif /** * enum MHI_DEBUG_LEVEL - various debugging levels diff --git a/inc/soc/qcom/qmi.h b/inc/qmi/qmi.h index e712f94..7a60439 100644 --- a/inc/soc/qcom/qmi.h +++ b/inc/qmi/qmi.h @@ -9,7 +9,11 @@ #include <linux/completion.h> #include <linux/idr.h> #include <linux/list.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "uapi/qrtr.h" +#else #include <linux/qrtr.h> +#endif #include <linux/types.h> #include <linux/workqueue.h> diff --git a/inc/uapi/qrtr.h b/inc/uapi/qrtr.h new file mode 100644 index 0000000..ad3b401 --- /dev/null +++ b/inc/uapi/qrtr.h @@ -0,0 +1,56 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _LINUX_QRTR_H +#define _LINUX_QRTR_H + +#include <linux/socket.h> +#include <linux/types.h> + +#define QRTR_NODE_BCAST 0xffffffffu +#define QRTR_PORT_CTRL 0xfffffffeu + +struct sockaddr_qrtr { + __kernel_sa_family_t sq_family; + __u32 sq_node; + __u32 sq_port; +}; + +enum qrtr_pkt_type { + QRTR_TYPE_DATA = 1, + QRTR_TYPE_HELLO = 2, + QRTR_TYPE_BYE = 3, + QRTR_TYPE_NEW_SERVER = 4, + QRTR_TYPE_DEL_SERVER = 5, + QRTR_TYPE_DEL_CLIENT = 6, + QRTR_TYPE_RESUME_TX = 7, + QRTR_TYPE_EXIT = 8, + QRTR_TYPE_PING = 9, + QRTR_TYPE_NEW_LOOKUP = 10, + QRTR_TYPE_DEL_LOOKUP = 11, +}; +#define QRTR_TYPE_DEL_PROC 13 + + +struct qrtr_ctrl_pkt { + __le32 cmd; + + union { + struct { + __le32 service; + __le32 instance; + __le32 node; + __le32 port; + } server; + + struct { + __le32 node; + __le32 port; + } client; + + struct { + __le32 rsvd; + __le32 node; + } proc; + }; +} __packed; + +#endif /* _LINUX_QRTR_H */ diff --git a/mhi/Makefile b/mhi/Makefile index edd806f..e418044 100644 --- a/mhi/Makefile +++ b/mhi/Makefile @@ -1,3 +1,5 @@ -ccflags-y += -I$(WLAN_PLATFORM_ROOT)/inc +# SPDX-License-Identifier: GPL-2.0-only + +#ccflags-y += -I$(WLAN_PLATFORM_ROOT)/inc # core layer -obj-y += core/ +obj-y += core/
\ No newline at end of file diff --git a/mhi/core/boot.c b/mhi/core/boot.c index 39961b8..c623a2e 100644 --- a/mhi/core/boot.c +++ b/mhi/core/boot.c @@ -11,7 +11,11 @@ #include <linux/firmware.h> #include <linux/interrupt.h> #include <linux/list.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "mhi.h" +#else #include <linux/mhi.h> +#endif #include <linux/module.h> #include <linux/random.h> #include <linux/slab.h> diff --git a/mhi/core/debugfs.c b/mhi/core/debugfs.c index 704fcf5..c69a034 100644 --- a/mhi/core/debugfs.c +++ b/mhi/core/debugfs.c @@ -8,7 +8,11 @@ #include <linux/device.h> #include <linux/interrupt.h> #include <linux/list.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "mhi.h" +#else #include <linux/mhi.h> +#endif #include <linux/module.h> #include "internal.h" diff --git a/mhi/core/init.c b/mhi/core/init.c index 94d1c6b..417fc6e 100644 --- a/mhi/core/init.c +++ b/mhi/core/init.c @@ -11,7 +11,11 @@ #include <linux/idr.h> #include <linux/interrupt.h> #include <linux/list.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "mhi.h" +#else #include <linux/mhi.h> +#endif #include <linux/mod_devicetable.h> #include <linux/module.h> #include <linux/slab.h> diff --git a/mhi/core/internal.h b/mhi/core/internal.h index 1b14dc6..293e4a8 100644 --- a/mhi/core/internal.h +++ b/mhi/core/internal.h @@ -7,7 +7,11 @@ #ifndef _MHI_INT_H #define _MHI_INT_H +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "mhi.h" +#else #include <linux/mhi.h> +#endif #include "misc.h" extern struct bus_type mhi_bus_type; diff --git a/mhi/core/main.c b/mhi/core/main.c index 925b468..75ada8f 100644 --- a/mhi/core/main.c +++ b/mhi/core/main.c @@ -10,7 +10,11 @@ #include <linux/dma-mapping.h> #include <linux/interrupt.h> #include <linux/list.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "mhi.h" +#else #include <linux/mhi.h> +#endif #include <linux/module.h> #include <linux/skbuff.h> #include <linux/slab.h> diff --git a/mhi/core/misc.h b/mhi/core/misc.h index fb14894..507cead 100644 --- a/mhi/core/misc.h +++ b/mhi/core/misc.h @@ -7,7 +7,11 @@ #ifndef _MHI_CORE_MISC_H_ #define _MHI_CORE_MISC_H_ +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "mhi_misc.h" +#else #include <linux/mhi_misc.h> +#endif #define MHI_FORCE_WAKE_DELAY_US (100) #define MHI_IPC_LOG_PAGES (100) diff --git a/mhi/core/pm.c b/mhi/core/pm.c index 5676f73..ff04d8d 100644 --- a/mhi/core/pm.c +++ b/mhi/core/pm.c @@ -10,7 +10,11 @@ #include <linux/dma-mapping.h> #include <linux/interrupt.h> #include <linux/list.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "mhi.h" +#else #include <linux/mhi.h> +#endif #include <linux/module.h> #include <linux/slab.h> #include <linux/wait.h> diff --git a/qmi/Makefile b/qmi/Makefile index 0007965..70c9928 100644 --- a/qmi/Makefile +++ b/qmi/Makefile @@ -1,3 +1,3 @@ -ccflags-y += -I$(WLAN_PLATFORM_ROOT)/inc +#ccflags-y += -I$(WLAN_PLATFORM_ROOT)/inc obj-$(CONFIG_QCOM_QMI_HELPERS) += qmi_helpers.o qmi_helpers-y += qmi_encdec.o qmi_interface.o diff --git a/qmi/qmi_encdec.c b/qmi/qmi_encdec.c index 3aaab71..1d9f3f5 100644 --- a/qmi/qmi_encdec.c +++ b/qmi/qmi_encdec.c @@ -9,7 +9,11 @@ #include <linux/kernel.h> #include <linux/errno.h> #include <linux/string.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "qmi/qmi.h" +#else #include <linux/soc/qcom/qmi.h> +#endif #define QMI_ENCDEC_ENCODE_TLV(type, length, p_dst) do { \ *p_dst++ = type; \ diff --git a/qmi/qmi_interface.c b/qmi/qmi_interface.c index 1a03eaa..5a6c07b 100644 --- a/qmi/qmi_interface.c +++ b/qmi/qmi_interface.c @@ -5,14 +5,22 @@ #include <linux/kernel.h> #include <linux/module.h> #include <linux/device.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "uapi/qrtr.h" +#else #include <linux/qrtr.h> +#endif #include <linux/net.h> #include <linux/completion.h> #include <linux/idr.h> #include <linux/string.h> #include <net/sock.h> #include <linux/workqueue.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "qmi/qmi.h" +#else #include <linux/soc/qcom/qmi.h> +#endif static struct socket *qmi_sock_create(struct qmi_handle *qmi, struct sockaddr_qrtr *sq); diff --git a/qrtr/Makefile b/qrtr/Makefile index 9aae41b..d7d2d4b 100644 --- a/qrtr/Makefile +++ b/qrtr/Makefile @@ -1,12 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-only +#ccflags-y += -I$(WLAN_PLATFORM_ROOT)/inc obj-$(CONFIG_QRTR) := qrtr.o ns.o - -obj-$(CONFIG_QRTR_SMD) += qrtr-smd.o -qrtr-smd-y := smd.o -obj-$(CONFIG_QRTR_TUN) += qrtr-tun.o -qrtr-tun-y := tun.o obj-$(CONFIG_QRTR_MHI) += qrtr-mhi.o -qrtr-mhi-y := mhi.o -obj-$(CONFIG_QRTR_GUNYAH) += qrtr-gunyah.o -qrtr-gunyah-y := gunyah.o -ccflags-y += -DDEBUG +qrtr-mhi-y := mhi.o
\ No newline at end of file @@ -3,7 +3,11 @@ * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved. */ +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "mhi.h" +#else #include <linux/mhi.h> +#endif #include <linux/mod_devicetable.h> #include <linux/module.h> #include <linux/pci.h> @@ -7,9 +7,14 @@ #define pr_fmt(fmt) "qrtr: %s(): " fmt, __func__ +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "ipc_logging.h" +#include "uapi/qrtr.h" +#else #include <linux/ipc_logging.h> -#include <linux/module.h> #include <linux/qrtr.h> +#endif +#include <linux/module.h> #include <linux/workqueue.h> #include <linux/xarray.h> #include <net/sock.h> diff --git a/qrtr/qrtr.c b/qrtr/qrtr.c index 3f21c45..96a1b6d 100644 --- a/qrtr/qrtr.c +++ b/qrtr/qrtr.c @@ -6,7 +6,11 @@ #include <linux/kthread.h> #include <linux/module.h> #include <linux/netlink.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "uapi/qrtr.h" +#else #include <linux/qrtr.h> +#endif #include <linux/termios.h> /* For TIOCINQ/OUTQ */ #include <linux/numa.h> #include <linux/spinlock.h> @@ -14,7 +18,11 @@ #include <linux/rwsem.h> #include <linux/uidgid.h> #include <linux/pm_wakeup.h> +#ifdef CONFIG_CNSS_OUT_OF_TREE +#include "ipc_logging.h" +#else #include <linux/ipc_logging.h> +#endif #include <net/sock.h> #include <uapi/linux/sched/types.h> |