Lines Matching full:minor

26  * Handling of mouse minor numbers for kerneld:
66 static int misc_minor_alloc(int minor)
70 if (minor == MISC_DYNAMIC_MINOR) {
80 /* specific minor, check if it is in dynamic or misc dynamic range */
81 if (minor < DYNAMIC_MINORS) {
82 minor = DYNAMIC_MINORS - minor - 1;
83 ret = ida_alloc_range(&misc_minors_ida, minor, minor, GFP_KERNEL);
84 } else if (minor > MISC_DYNAMIC_MINOR) {
85 ret = ida_alloc_range(&misc_minors_ida, minor, minor, GFP_KERNEL);
94 static void misc_minor_free(int minor)
96 if (minor < DYNAMIC_MINORS)
97 ida_free(&misc_minors_ida, DYNAMIC_MINORS - minor - 1);
98 else if (minor > MISC_DYNAMIC_MINOR)
99 ida_free(&misc_minors_ida, minor);
123 seq_printf(seq, "%3i %s\n", p->minor, p->name ? p->name : "");
138 int minor = iminor(inode);
146 if (iter->minor != minor)
155 request_module("char-major-%d-%d", MISC_MAJOR, minor);
159 if (iter->minor != minor)
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);
236 int i = misc_minor_alloc(misc->minor);
242 misc->minor = i;
248 if (c->minor == misc->minor) {
254 i = misc_minor_alloc(misc->minor);
261 dev = MKDEV(MISC_MAJOR, misc->minor);
267 misc_minor_free(misc->minor);
269 misc->minor = MISC_DYNAMIC_MINOR;
301 device_destroy(&misc_class, MKDEV(MISC_MAJOR, misc->minor));
302 misc_minor_free(misc->minor);