cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

miscdevice.h (3278B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _LINUX_MISCDEVICE_H
      3#define _LINUX_MISCDEVICE_H
      4#include <linux/major.h>
      5#include <linux/list.h>
      6#include <linux/types.h>
      7#include <linux/device.h>
      8
      9/*
     10 *	These allocations are managed by device@lanana.org. If you need
     11 *	an entry that is not assigned here, it can be moved and
     12 *	reassigned or dynamically set if a fixed value is not justified.
     13 */
     14
     15#define PSMOUSE_MINOR		1
     16#define MS_BUSMOUSE_MINOR	2	/* unused */
     17#define ATIXL_BUSMOUSE_MINOR	3	/* unused */
     18/*#define AMIGAMOUSE_MINOR	4	FIXME OBSOLETE */
     19#define ATARIMOUSE_MINOR	5	/* unused */
     20#define SUN_MOUSE_MINOR		6	/* unused */
     21#define APOLLO_MOUSE_MINOR	7	/* unused */
     22#define PC110PAD_MINOR		9	/* unused */
     23/*#define ADB_MOUSE_MINOR	10	FIXME OBSOLETE */
     24#define WATCHDOG_MINOR		130	/* Watchdog timer     */
     25#define TEMP_MINOR		131	/* Temperature Sensor */
     26#define APM_MINOR_DEV		134
     27#define RTC_MINOR		135
     28/*#define EFI_RTC_MINOR		136	was EFI Time services */
     29#define VHCI_MINOR		137
     30#define SUN_OPENPROM_MINOR	139
     31#define DMAPI_MINOR		140	/* unused */
     32#define NVRAM_MINOR		144
     33#define SBUS_FLASH_MINOR	152
     34#define SGI_MMTIMER		153
     35#define PMU_MINOR		154
     36#define STORE_QUEUE_MINOR	155	/* unused */
     37#define LCD_MINOR		156
     38#define AC_MINOR		157
     39#define BUTTON_MINOR		158	/* Major 10, Minor 158, /dev/nwbutton */
     40#define NWFLASH_MINOR		160	/* MAJOR is 10 - miscdevice */
     41#define ENVCTRL_MINOR		162
     42#define I2O_MINOR		166
     43#define UCTRL_MINOR		174
     44#define AGPGART_MINOR		175
     45#define TOSH_MINOR_DEV		181
     46#define HWRNG_MINOR		183
     47#define MICROCODE_MINOR		184
     48#define KEYPAD_MINOR		185
     49#define IRNET_MINOR		187
     50#define D7S_MINOR		193
     51#define VFIO_MINOR		196
     52#define PXA3XX_GCU_MINOR	197
     53#define TUN_MINOR		200
     54#define CUSE_MINOR		203
     55#define MWAVE_MINOR		219	/* ACP/Mwave Modem */
     56#define MPT_MINOR		220
     57#define MPT2SAS_MINOR		221
     58#define MPT3SAS_MINOR		222
     59#define UINPUT_MINOR		223
     60#define MISC_MCELOG_MINOR	227
     61#define HPET_MINOR		228
     62#define FUSE_MINOR		229
     63#define SNAPSHOT_MINOR		231
     64#define KVM_MINOR		232
     65#define BTRFS_MINOR		234
     66#define AUTOFS_MINOR		235
     67#define MAPPER_CTRL_MINOR	236
     68#define LOOP_CTRL_MINOR		237
     69#define VHOST_NET_MINOR		238
     70#define UHID_MINOR		239
     71#define USERIO_MINOR		240
     72#define VHOST_VSOCK_MINOR	241
     73#define RFKILL_MINOR		242
     74#define MISC_DYNAMIC_MINOR	255
     75
     76struct device;
     77struct attribute_group;
     78
     79struct miscdevice  {
     80	int minor;
     81	const char *name;
     82	const struct file_operations *fops;
     83	struct list_head list;
     84	struct device *parent;
     85	struct device *this_device;
     86	const struct attribute_group **groups;
     87	const char *nodename;
     88	umode_t mode;
     89};
     90
     91extern int misc_register(struct miscdevice *misc);
     92extern void misc_deregister(struct miscdevice *misc);
     93
     94/*
     95 * Helper macro for drivers that don't do anything special in the initcall.
     96 * This helps to eliminate boilerplate code.
     97 */
     98#define builtin_misc_device(__misc_device) \
     99	builtin_driver(__misc_device, misc_register)
    100
    101/*
    102 * Helper macro for drivers that don't do anything special in module init / exit
    103 * call. This helps to eliminate boilerplate code.
    104 */
    105#define module_misc_device(__misc_device) \
    106	module_driver(__misc_device, misc_register, misc_deregister)
    107
    108#define MODULE_ALIAS_MISCDEV(minor)				\
    109	MODULE_ALIAS("char-major-" __stringify(MISC_MAJOR)	\
    110	"-" __stringify(minor))
    111#endif