xref: /openbmc/linux/include/linux/rpmsg/qcom_glink.h (revision 8527efc5)
184369fbeSSuman Anna /* SPDX-License-Identifier: GPL-2.0 */
284369fbeSSuman Anna 
3caf989c3SBjorn Andersson #ifndef _LINUX_RPMSG_QCOM_GLINK_H
4caf989c3SBjorn Andersson #define _LINUX_RPMSG_QCOM_GLINK_H
5caf989c3SBjorn Andersson 
6caf989c3SBjorn Andersson #include <linux/device.h>
7caf989c3SBjorn Andersson 
8caf989c3SBjorn Andersson struct qcom_glink;
9caf989c3SBjorn Andersson 
10*8527efc5SBjorn Andersson #if IS_ENABLED(CONFIG_RPMSG_QCOM_GLINK)
11*8527efc5SBjorn Andersson void qcom_glink_ssr_notify(const char *ssr_name);
12*8527efc5SBjorn Andersson #else
13*8527efc5SBjorn Andersson static inline void qcom_glink_ssr_notify(const char *ssr_name) {}
14*8527efc5SBjorn Andersson #endif
15*8527efc5SBjorn Andersson 
16caf989c3SBjorn Andersson #if IS_ENABLED(CONFIG_RPMSG_QCOM_GLINK_SMEM)
17caf989c3SBjorn Andersson 
18caf989c3SBjorn Andersson struct qcom_glink *qcom_glink_smem_register(struct device *parent,
19caf989c3SBjorn Andersson 					    struct device_node *node);
20caf989c3SBjorn Andersson void qcom_glink_smem_unregister(struct qcom_glink *glink);
21caf989c3SBjorn Andersson 
22caf989c3SBjorn Andersson #else
23caf989c3SBjorn Andersson 
24caf989c3SBjorn Andersson static inline struct qcom_glink *
25caf989c3SBjorn Andersson qcom_glink_smem_register(struct device *parent,
26caf989c3SBjorn Andersson 			 struct device_node *node)
27caf989c3SBjorn Andersson {
28caf989c3SBjorn Andersson 	return NULL;
29caf989c3SBjorn Andersson }
30caf989c3SBjorn Andersson 
31caf989c3SBjorn Andersson static inline void qcom_glink_smem_unregister(struct qcom_glink *glink) {}
325d1f2e3cSBjorn Andersson #endif
335d1f2e3cSBjorn Andersson 
34caf989c3SBjorn Andersson #endif
35