#include <linux/types.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/fs.h>
#include <linux/cdev.h>
#include <linux/slab.h>
#include <linux/list.h>
#include <linux/mutex.h>
#include "xillybus_class.h"
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_ALIAS(…) …;
MODULE_LICENSE(…) …;
static DEFINE_MUTEX(unit_mutex);
static LIST_HEAD(unit_list);
static const struct class xillybus_class = …;
#define UNITNAMELEN …
struct xilly_unit { … };
int xillybus_init_chrdev(struct device *dev,
const struct file_operations *fops,
struct module *owner,
void *private_data,
unsigned char *idt, unsigned int len,
int num_nodes,
const char *prefix, bool enumerate)
{ … }
EXPORT_SYMBOL(…);
void xillybus_cleanup_chrdev(void *private_data,
struct device *dev)
{ … }
EXPORT_SYMBOL(…);
int xillybus_find_inode(struct inode *inode,
void **private_data, int *index)
{ … }
EXPORT_SYMBOL(…);
static int __init xillybus_class_init(void)
{ … }
static void __exit xillybus_class_exit(void)
{ … }
module_init(…) …;
module_exit(xillybus_class_exit);