#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/mailbox_controller.h>
#define QCOM_APCS_IPC_BITS …
struct qcom_apcs_ipc { … };
struct qcom_apcs_ipc_data { … };
static const struct qcom_apcs_ipc_data ipq6018_apcs_data = …;
static const struct qcom_apcs_ipc_data msm8916_apcs_data = …;
static const struct qcom_apcs_ipc_data msm8994_apcs_data = …;
static const struct qcom_apcs_ipc_data msm8996_apcs_data = …;
static const struct qcom_apcs_ipc_data apps_shared_apcs_data = …;
static const struct qcom_apcs_ipc_data sdx55_apcs_data = …;
static const struct regmap_config apcs_regmap_config = …;
static int qcom_apcs_ipc_send_data(struct mbox_chan *chan, void *data)
{ … }
static const struct mbox_chan_ops qcom_apcs_ipc_ops = …;
static int qcom_apcs_ipc_probe(struct platform_device *pdev)
{ … }
static void qcom_apcs_ipc_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id qcom_apcs_ipc_of_match[] = …;
MODULE_DEVICE_TABLE(of, qcom_apcs_ipc_of_match);
static struct platform_driver qcom_apcs_ipc_driver = …;
static int __init qcom_apcs_ipc_init(void)
{ … }
postcore_initcall(qcom_apcs_ipc_init);
static void __exit qcom_apcs_ipc_exit(void)
{ … }
module_exit(qcom_apcs_ipc_exit);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;