1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * PCC (Platform Communications Channel) methods
4  */
5 
6 #ifndef _PCC_H
7 #define _PCC_H
8 
9 #include <linux/mailbox_controller.h>
10 #include <linux/mailbox_client.h>
11 
12 #define MAX_PCC_SUBSPACES	256
13 #ifdef CONFIG_PCC
14 extern struct mbox_chan *pcc_mbox_request_channel(struct mbox_client *cl,
15 						  int subspace_id);
16 extern void pcc_mbox_free_channel(struct mbox_chan *chan);
17 #else
pcc_mbox_request_channel(struct mbox_client * cl,int subspace_id)18 static inline struct mbox_chan *pcc_mbox_request_channel(struct mbox_client *cl,
19 							 int subspace_id)
20 {
21 	return ERR_PTR(-ENODEV);
22 }
pcc_mbox_free_channel(struct mbox_chan * chan)23 static inline void pcc_mbox_free_channel(struct mbox_chan *chan) { }
24 #endif
25 
26 #endif /* _PCC_H */
27