Commit 93bc3fee authored by Bjorn Andersson's avatar Bjorn Andersson

rpmsg: glink: Integrate glink_ssr in qcom_glink

In all but the very special case of a system with _only_ glink_rpm,
GLINK is dependent on glink_ssr, so move it to rpmsg and combine it with
qcom_glink_native in the new qcom_glink kernel module.
Acked-by: default avatarChris Lew <clew@codeaurora.org>
Acked-by: default avatarRishabh Bhatnagar <rishabhb@codeaurora.org>
Link: https://lore.kernel.org/r/20200423003736.2027371-4-bjorn.andersson@linaro.orgSigned-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent 5d1f2e3c
...@@ -24,13 +24,13 @@ config RPMSG_MTK_SCP ...@@ -24,13 +24,13 @@ config RPMSG_MTK_SCP
remote processors in MediaTek platforms. remote processors in MediaTek platforms.
This use IPI and IPC to communicate with remote processors. This use IPI and IPC to communicate with remote processors.
config RPMSG_QCOM_GLINK_NATIVE config RPMSG_QCOM_GLINK
tristate tristate
select RPMSG select RPMSG
config RPMSG_QCOM_GLINK_RPM config RPMSG_QCOM_GLINK_RPM
tristate "Qualcomm RPM Glink driver" tristate "Qualcomm RPM Glink driver"
select RPMSG_QCOM_GLINK_NATIVE select RPMSG_QCOM_GLINK
depends on HAS_IOMEM depends on HAS_IOMEM
depends on MAILBOX depends on MAILBOX
help help
...@@ -40,7 +40,7 @@ config RPMSG_QCOM_GLINK_RPM ...@@ -40,7 +40,7 @@ config RPMSG_QCOM_GLINK_RPM
config RPMSG_QCOM_GLINK_SMEM config RPMSG_QCOM_GLINK_SMEM
tristate "Qualcomm SMEM Glink driver" tristate "Qualcomm SMEM Glink driver"
select RPMSG_QCOM_GLINK_NATIVE select RPMSG_QCOM_GLINK
depends on MAILBOX depends on MAILBOX
depends on QCOM_SMEM depends on QCOM_SMEM
help help
......
...@@ -2,8 +2,9 @@ ...@@ -2,8 +2,9 @@
obj-$(CONFIG_RPMSG) += rpmsg_core.o obj-$(CONFIG_RPMSG) += rpmsg_core.o
obj-$(CONFIG_RPMSG_CHAR) += rpmsg_char.o obj-$(CONFIG_RPMSG_CHAR) += rpmsg_char.o
obj-$(CONFIG_RPMSG_MTK_SCP) += mtk_rpmsg.o obj-$(CONFIG_RPMSG_MTK_SCP) += mtk_rpmsg.o
qcom_glink-objs := qcom_glink_native.o qcom_glink_ssr.o
obj-$(CONFIG_RPMSG_QCOM_GLINK) += qcom_glink.o
obj-$(CONFIG_RPMSG_QCOM_GLINK_RPM) += qcom_glink_rpm.o obj-$(CONFIG_RPMSG_QCOM_GLINK_RPM) += qcom_glink_rpm.o
obj-$(CONFIG_RPMSG_QCOM_GLINK_NATIVE) += qcom_glink_native.o
obj-$(CONFIG_RPMSG_QCOM_GLINK_SMEM) += qcom_glink_smem.o obj-$(CONFIG_RPMSG_QCOM_GLINK_SMEM) += qcom_glink_smem.o
obj-$(CONFIG_RPMSG_QCOM_SMD) += qcom_smd.o obj-$(CONFIG_RPMSG_QCOM_SMD) += qcom_smd.o
obj-$(CONFIG_RPMSG_VIRTIO) += virtio_rpmsg_bus.o obj-$(CONFIG_RPMSG_VIRTIO) += virtio_rpmsg_bus.o
...@@ -164,7 +164,3 @@ static struct rpmsg_driver qcom_glink_ssr_driver = { ...@@ -164,7 +164,3 @@ static struct rpmsg_driver qcom_glink_ssr_driver = {
}, },
}; };
module_rpmsg_driver(qcom_glink_ssr_driver); module_rpmsg_driver(qcom_glink_ssr_driver);
MODULE_ALIAS("rpmsg:glink_ssr");
MODULE_DESCRIPTION("Qualcomm GLINK SSR notifier");
MODULE_LICENSE("GPL v2");
...@@ -35,15 +35,6 @@ config QCOM_GENI_SE ...@@ -35,15 +35,6 @@ config QCOM_GENI_SE
driver is also used to manage the common aspects of multiple Serial driver is also used to manage the common aspects of multiple Serial
Engines present in the QUP. Engines present in the QUP.
config QCOM_GLINK_SSR
tristate "Qualcomm Glink SSR driver"
depends on RPMSG
depends on QCOM_RPROC_COMMON
help
Say y here to enable GLINK SSR support. The GLINK SSR driver
implements the SSR protocol for notifying the remote processor about
neighboring subsystems going up or down.
config QCOM_GSBI config QCOM_GSBI
tristate "QCOM General Serial Bus Interface" tristate "QCOM General Serial Bus Interface"
depends on ARCH_QCOM || COMPILE_TEST depends on ARCH_QCOM || COMPILE_TEST
......
...@@ -3,7 +3,6 @@ CFLAGS_rpmh-rsc.o := -I$(src) ...@@ -3,7 +3,6 @@ CFLAGS_rpmh-rsc.o := -I$(src)
obj-$(CONFIG_QCOM_AOSS_QMP) += qcom_aoss.o obj-$(CONFIG_QCOM_AOSS_QMP) += qcom_aoss.o
obj-$(CONFIG_QCOM_GENI_SE) += qcom-geni-se.o obj-$(CONFIG_QCOM_GENI_SE) += qcom-geni-se.o
obj-$(CONFIG_QCOM_COMMAND_DB) += cmd-db.o obj-$(CONFIG_QCOM_COMMAND_DB) += cmd-db.o
obj-$(CONFIG_QCOM_GLINK_SSR) += glink_ssr.o
obj-$(CONFIG_QCOM_GSBI) += qcom_gsbi.o obj-$(CONFIG_QCOM_GSBI) += qcom_gsbi.o
obj-$(CONFIG_QCOM_MDT_LOADER) += mdt_loader.o obj-$(CONFIG_QCOM_MDT_LOADER) += mdt_loader.o
obj-$(CONFIG_QCOM_OCMEM) += ocmem.o obj-$(CONFIG_QCOM_OCMEM) += ocmem.o
......
...@@ -12,6 +12,7 @@ struct qcom_glink; ...@@ -12,6 +12,7 @@ struct qcom_glink;
struct qcom_glink *qcom_glink_smem_register(struct device *parent, struct qcom_glink *qcom_glink_smem_register(struct device *parent,
struct device_node *node); struct device_node *node);
void qcom_glink_smem_unregister(struct qcom_glink *glink); void qcom_glink_smem_unregister(struct qcom_glink *glink);
void qcom_glink_ssr_notify(const char *ssr_name);
#else #else
...@@ -23,12 +24,6 @@ qcom_glink_smem_register(struct device *parent, ...@@ -23,12 +24,6 @@ qcom_glink_smem_register(struct device *parent,
} }
static inline void qcom_glink_smem_unregister(struct qcom_glink *glink) {} static inline void qcom_glink_smem_unregister(struct qcom_glink *glink) {}
#endif
#if IS_ENABLED(CONFIG_RPMSG_QCOM_GLINK_SSR)
void qcom_glink_ssr_notify(const char *ssr_name);
#else
static inline void qcom_glink_ssr_notify(const char *ssr_name) {} static inline void qcom_glink_ssr_notify(const char *ssr_name) {}
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment