rpmsg: glink: Move irq and mbox handling to transports
authorBjorn Andersson <quic_bjorande@quicinc.com>
Mon, 13 Feb 2023 15:52:13 +0000 (07:52 -0800)
committerBjorn Andersson <andersson@kernel.org>
Tue, 14 Feb 2023 16:19:38 +0000 (08:19 -0800)
commitf424d1cbe8c7ef78a4b639502fa9904c4198387b
tree874bfe240d4927f02e629e17b676f302147efa2a
parent178c3af447f92c58d5b1153df2cd02b755c083c8
rpmsg: glink: Move irq and mbox handling to transports

Not all GLINK transports uses an interrupt and a mailbox instance. The
interrupt for RPM needs to be IRQF_NOSUSPEND, while it seems reasonable
for the SMEM interrupt to use irq_set_wake. The glink struct device is
constructed in the SMEM and RPM drivers but torn down in the core
driver.

Move the interrupt and kick handling into the SMEM and RPM driver, to
improve this and facilitate further improvements.

Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: Chris Lew <quic_clew@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230213155215.1237059-5-quic_bjorande@quicinc.com
drivers/rpmsg/qcom_glink_native.c
drivers/rpmsg/qcom_glink_native.h
drivers/rpmsg/qcom_glink_rpm.c
drivers/rpmsg/qcom_glink_smem.c