forked from mirrors/linux
		
	 b4caecd480
			
		
	
	
		b4caecd480
		
	
	
	
	
		
			
			Since "BDI: Provide backing device capability information [try #3]" the backing_dev_info structure also provides flags for the kind of mmap operation available in a nommu environment, which is entirely unrelated to it's original purpose. Introduce a new nommu-only file operation to provide this information to the nommu mmap code instead. Splitting this from the backing_dev_info structure allows to remove lots of backing_dev_info instance that aren't otherwise needed, and entirely gets rid of the concept of providing a backing_dev_info for a character device. It also removes the need for the mtd_inodefs filesystem. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Tejun Heo <tj@kernel.org> Acked-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Jens Axboe <axboe@fb.com>
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			579 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			579 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _LINUX_CDEV_H
 | |
| #define _LINUX_CDEV_H
 | |
| 
 | |
| #include <linux/kobject.h>
 | |
| #include <linux/kdev_t.h>
 | |
| #include <linux/list.h>
 | |
| 
 | |
| struct file_operations;
 | |
| struct inode;
 | |
| struct module;
 | |
| 
 | |
| struct cdev {
 | |
| 	struct kobject kobj;
 | |
| 	struct module *owner;
 | |
| 	const struct file_operations *ops;
 | |
| 	struct list_head list;
 | |
| 	dev_t dev;
 | |
| 	unsigned int count;
 | |
| };
 | |
| 
 | |
| void cdev_init(struct cdev *, const struct file_operations *);
 | |
| 
 | |
| struct cdev *cdev_alloc(void);
 | |
| 
 | |
| void cdev_put(struct cdev *p);
 | |
| 
 | |
| int cdev_add(struct cdev *, dev_t, unsigned);
 | |
| 
 | |
| void cdev_del(struct cdev *);
 | |
| 
 | |
| void cd_forget(struct inode *);
 | |
| 
 | |
| #endif
 |