#include <linux/errno.h>
#include <linux/fcntl.h>
#include <linux/fs.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/uaccess.h>
#include <linux/platform_data/x86/intel_scu_ipc.h>
static int major;
static struct intel_scu_ipc_dev *scu;
static DEFINE_MUTEX(scu_lock);
#define INTE_SCU_IPC_REGISTER_READ …
#define INTE_SCU_IPC_REGISTER_WRITE …
#define INTE_SCU_IPC_REGISTER_UPDATE …
struct scu_ipc_data { … };
static int scu_reg_access(u32 cmd, struct scu_ipc_data *data)
{ … }
static long scu_ipc_ioctl(struct file *fp, unsigned int cmd,
unsigned long arg)
{ … }
static int scu_ipc_open(struct inode *inode, struct file *file)
{ … }
static int scu_ipc_release(struct inode *inode, struct file *file)
{ … }
static const struct file_operations scu_ipc_fops = …;
static int __init ipc_module_init(void)
{ … }
static void __exit ipc_module_exit(void)
{ … }
module_init(…) …;
module_exit(ipc_module_exit);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;