1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright 2021 Xillybus Ltd, http://www.xillybus.com
4  *
5  * Header file for the Xillybus class
6  */
7 
8 #ifndef __XILLYBUS_CLASS_H
9 #define __XILLYBUS_CLASS_H
10 
11 #include <linux/types.h>
12 #include <linux/device.h>
13 #include <linux/fs.h>
14 #include <linux/module.h>
15 
16 int xillybus_init_chrdev(struct device *dev,
17 			 const struct file_operations *fops,
18 			 struct module *owner,
19 			 void *private_data,
20 			 unsigned char *idt, unsigned int len,
21 			 int num_nodes,
22 			 const char *prefix, bool enumerate);
23 
24 void xillybus_cleanup_chrdev(void *private_data,
25 			     struct device *dev);
26 
27 int xillybus_find_inode(struct inode *inode,
28 			void **private_data, int *index);
29 
30 #endif /* __XILLYBUS_CLASS_H */
31