forked from mirrors/linux
		
	 31b4b3bff2
			
		
	
	
		31b4b3bff2
		
	
	
	
	
		
			
			Improve the clarity and grammar of descriptive comment on top of the minor number assignments. Fix a typo within 2 comments for macros. s/This helps in eleminating of boilerplate code. /This helps to eliminate boilerplate code./ Signed-off-by: Sebastian Fricke <sebastian.fricke.linux@gmail.com> Link: https://lore.kernel.org/r/20200803054346.4285-1-sebastian.fricke.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
		
			
				
	
	
		
			111 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| #ifndef _LINUX_MISCDEVICE_H
 | |
| #define _LINUX_MISCDEVICE_H
 | |
| #include <linux/major.h>
 | |
| #include <linux/list.h>
 | |
| #include <linux/types.h>
 | |
| #include <linux/device.h>
 | |
| 
 | |
| /*
 | |
|  *	These allocations are managed by device@lanana.org. If you need
 | |
|  *	an entry that is not assigned here, it can be moved and
 | |
|  *	reassigned or dynamically set if a fixed value is not justified.
 | |
|  */
 | |
| 
 | |
| #define PSMOUSE_MINOR		1
 | |
| #define MS_BUSMOUSE_MINOR	2	/* unused */
 | |
| #define ATIXL_BUSMOUSE_MINOR	3	/* unused */
 | |
| /*#define AMIGAMOUSE_MINOR	4	FIXME OBSOLETE */
 | |
| #define ATARIMOUSE_MINOR	5	/* unused */
 | |
| #define SUN_MOUSE_MINOR		6	/* unused */
 | |
| #define APOLLO_MOUSE_MINOR	7	/* unused */
 | |
| #define PC110PAD_MINOR		9	/* unused */
 | |
| /*#define ADB_MOUSE_MINOR	10	FIXME OBSOLETE */
 | |
| #define WATCHDOG_MINOR		130	/* Watchdog timer     */
 | |
| #define TEMP_MINOR		131	/* Temperature Sensor */
 | |
| #define APM_MINOR_DEV		134
 | |
| #define RTC_MINOR		135
 | |
| /*#define EFI_RTC_MINOR		136	was EFI Time services */
 | |
| #define VHCI_MINOR		137
 | |
| #define SUN_OPENPROM_MINOR	139
 | |
| #define DMAPI_MINOR		140	/* unused */
 | |
| #define NVRAM_MINOR		144
 | |
| #define SBUS_FLASH_MINOR	152
 | |
| #define SGI_MMTIMER		153
 | |
| #define PMU_MINOR		154
 | |
| #define STORE_QUEUE_MINOR	155	/* unused */
 | |
| #define LCD_MINOR		156
 | |
| #define AC_MINOR		157
 | |
| #define BUTTON_MINOR		158	/* Major 10, Minor 158, /dev/nwbutton */
 | |
| #define NWFLASH_MINOR		160	/* MAJOR is 10 - miscdevice */
 | |
| #define ENVCTRL_MINOR		162
 | |
| #define I2O_MINOR		166
 | |
| #define UCTRL_MINOR		174
 | |
| #define AGPGART_MINOR		175
 | |
| #define TOSH_MINOR_DEV		181
 | |
| #define HWRNG_MINOR		183
 | |
| #define MICROCODE_MINOR		184
 | |
| #define KEYPAD_MINOR		185
 | |
| #define IRNET_MINOR		187
 | |
| #define D7S_MINOR		193
 | |
| #define VFIO_MINOR		196
 | |
| #define PXA3XX_GCU_MINOR	197
 | |
| #define TUN_MINOR		200
 | |
| #define CUSE_MINOR		203
 | |
| #define MWAVE_MINOR		219	/* ACP/Mwave Modem */
 | |
| #define MPT_MINOR		220
 | |
| #define MPT2SAS_MINOR		221
 | |
| #define MPT3SAS_MINOR		222
 | |
| #define UINPUT_MINOR		223
 | |
| #define MISC_MCELOG_MINOR	227
 | |
| #define HPET_MINOR		228
 | |
| #define FUSE_MINOR		229
 | |
| #define SNAPSHOT_MINOR		231
 | |
| #define KVM_MINOR		232
 | |
| #define BTRFS_MINOR		234
 | |
| #define AUTOFS_MINOR		235
 | |
| #define MAPPER_CTRL_MINOR	236
 | |
| #define LOOP_CTRL_MINOR		237
 | |
| #define VHOST_NET_MINOR		238
 | |
| #define UHID_MINOR		239
 | |
| #define USERIO_MINOR		240
 | |
| #define VHOST_VSOCK_MINOR	241
 | |
| #define RFKILL_MINOR		242
 | |
| #define MISC_DYNAMIC_MINOR	255
 | |
| 
 | |
| struct device;
 | |
| struct attribute_group;
 | |
| 
 | |
| struct miscdevice  {
 | |
| 	int minor;
 | |
| 	const char *name;
 | |
| 	const struct file_operations *fops;
 | |
| 	struct list_head list;
 | |
| 	struct device *parent;
 | |
| 	struct device *this_device;
 | |
| 	const struct attribute_group **groups;
 | |
| 	const char *nodename;
 | |
| 	umode_t mode;
 | |
| };
 | |
| 
 | |
| extern int misc_register(struct miscdevice *misc);
 | |
| extern void misc_deregister(struct miscdevice *misc);
 | |
| 
 | |
| /*
 | |
|  * Helper macro for drivers that don't do anything special in the initcall.
 | |
|  * This helps to eliminate boilerplate code.
 | |
|  */
 | |
| #define builtin_misc_device(__misc_device) \
 | |
| 	builtin_driver(__misc_device, misc_register)
 | |
| 
 | |
| /*
 | |
|  * Helper macro for drivers that don't do anything special in module init / exit
 | |
|  * call. This helps to eliminate boilerplate code.
 | |
|  */
 | |
| #define module_misc_device(__misc_device) \
 | |
| 	module_driver(__misc_device, misc_register, misc_deregister)
 | |
| 
 | |
| #define MODULE_ALIAS_MISCDEV(minor)				\
 | |
| 	MODULE_ALIAS("char-major-" __stringify(MISC_MAJOR)	\
 | |
| 	"-" __stringify(minor))
 | |
| #endif
 |