Lines Matching full:minor

26  * Handling of mouse minor numbers for kerneld:
66 static int misc_minor_alloc(int minor) in misc_minor_alloc() argument
70 if (minor == MISC_DYNAMIC_MINOR) { in misc_minor_alloc()
80 /* specific minor, check if it is in dynamic or misc dynamic range */ in misc_minor_alloc()
81 if (minor < DYNAMIC_MINORS) { in misc_minor_alloc()
82 minor = DYNAMIC_MINORS - minor - 1; in misc_minor_alloc()
83 ret = ida_alloc_range(&misc_minors_ida, minor, minor, GFP_KERNEL); in misc_minor_alloc()
84 } else if (minor > MISC_DYNAMIC_MINOR) { in misc_minor_alloc()
85 ret = ida_alloc_range(&misc_minors_ida, minor, minor, GFP_KERNEL); in misc_minor_alloc()
94 static void misc_minor_free(int minor) in misc_minor_free() argument
96 if (minor < DYNAMIC_MINORS) in misc_minor_free()
97 ida_free(&misc_minors_ida, DYNAMIC_MINORS - minor - 1); in misc_minor_free()
98 else if (minor > MISC_DYNAMIC_MINOR) in misc_minor_free()
99 ida_free(&misc_minors_ida, minor); in misc_minor_free()
123 seq_printf(seq, "%3i %s\n", p->minor, p->name ? p->name : ""); in misc_seq_show()
138 int minor = iminor(inode); in misc_open() local
146 if (iter->minor != minor) in misc_open()
155 request_module("char-major-%d-%d", MISC_MAJOR, minor); in misc_open()
159 if (iter->minor != minor) in misc_open()
211 * Register a miscellaneous device with the kernel. If the minor
212 * number is set to %MISC_DYNAMIC_MINOR a minor number is assigned
213 * and placed in the minor field of the structure. For other cases
214 * the minor number requested is used.
229 bool is_dynamic = (misc->minor == MISC_DYNAMIC_MINOR); in misc_register()
236 int i = misc_minor_alloc(misc->minor); in misc_register()
242 misc->minor = i; in misc_register()
248 if (c->minor == misc->minor) { in misc_register()
254 i = misc_minor_alloc(misc->minor); in misc_register()
261 dev = MKDEV(MISC_MAJOR, misc->minor); in misc_register()
267 misc_minor_free(misc->minor); in misc_register()
269 misc->minor = MISC_DYNAMIC_MINOR; in misc_register()
301 device_destroy(&misc_class, MKDEV(MISC_MAJOR, misc->minor)); in misc_deregister()
302 misc_minor_free(misc->minor); in misc_deregister()