18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * PCC (Platform Communications Channel) methods 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#ifndef _PCC_H 78c2ecf20Sopenharmony_ci#define _PCC_H 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <linux/mailbox_controller.h> 108c2ecf20Sopenharmony_ci#include <linux/mailbox_client.h> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#define MAX_PCC_SUBSPACES 256 138c2ecf20Sopenharmony_ci#ifdef CONFIG_PCC 148c2ecf20Sopenharmony_ciextern struct mbox_chan *pcc_mbox_request_channel(struct mbox_client *cl, 158c2ecf20Sopenharmony_ci int subspace_id); 168c2ecf20Sopenharmony_ciextern void pcc_mbox_free_channel(struct mbox_chan *chan); 178c2ecf20Sopenharmony_ci#else 188c2ecf20Sopenharmony_cistatic inline struct mbox_chan *pcc_mbox_request_channel(struct mbox_client *cl, 198c2ecf20Sopenharmony_ci int subspace_id) 208c2ecf20Sopenharmony_ci{ 218c2ecf20Sopenharmony_ci return ERR_PTR(-ENODEV); 228c2ecf20Sopenharmony_ci} 238c2ecf20Sopenharmony_cistatic inline void pcc_mbox_free_channel(struct mbox_chan *chan) { } 248c2ecf20Sopenharmony_ci#endif 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci#endif /* _PCC_H */ 27