xref: /openbmc/linux/include/linux/rpmsg/qcom_glink.h (revision 5d1f2e3c)
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 
10caf989c3SBjorn Andersson #if IS_ENABLED(CONFIG_RPMSG_QCOM_GLINK_SMEM)
11caf989c3SBjorn Andersson 
12caf989c3SBjorn Andersson struct qcom_glink *qcom_glink_smem_register(struct device *parent,
13caf989c3SBjorn Andersson 					    struct device_node *node);
14caf989c3SBjorn Andersson void qcom_glink_smem_unregister(struct qcom_glink *glink);
15caf989c3SBjorn Andersson 
16caf989c3SBjorn Andersson #else
17caf989c3SBjorn Andersson 
18caf989c3SBjorn Andersson static inline struct qcom_glink *
19caf989c3SBjorn Andersson qcom_glink_smem_register(struct device *parent,
20caf989c3SBjorn Andersson 			 struct device_node *node)
21caf989c3SBjorn Andersson {
22caf989c3SBjorn Andersson 	return NULL;
23caf989c3SBjorn Andersson }
24caf989c3SBjorn Andersson 
25caf989c3SBjorn Andersson static inline void qcom_glink_smem_unregister(struct qcom_glink *glink) {}
26caf989c3SBjorn Andersson 
27caf989c3SBjorn Andersson #endif
28caf989c3SBjorn Andersson 
295d1f2e3cSBjorn Andersson #if IS_ENABLED(CONFIG_RPMSG_QCOM_GLINK_SSR)
305d1f2e3cSBjorn Andersson void qcom_glink_ssr_notify(const char *ssr_name);
315d1f2e3cSBjorn Andersson #else
325d1f2e3cSBjorn Andersson static inline void qcom_glink_ssr_notify(const char *ssr_name) {}
335d1f2e3cSBjorn Andersson #endif
345d1f2e3cSBjorn Andersson 
35caf989c3SBjorn Andersson #endif
36