Linux 6.9-rc1
[linux-2.6-microblaze.git] / drivers / input / input.c
index f71ea4f..7114854 100644 (file)
@@ -1918,7 +1918,7 @@ static char *input_devnode(const struct device *dev, umode_t *mode)
        return kasprintf(GFP_KERNEL, "input/%s", dev_name(dev));
 }
 
-struct class input_class = {
+const struct class input_class = {
        .name           = "input",
        .devnode        = input_devnode,
 };
@@ -2629,17 +2629,15 @@ int input_get_new_minor(int legacy_base, unsigned int legacy_num,
         * locking is needed here.
         */
        if (legacy_base >= 0) {
-               int minor = ida_simple_get(&input_ida,
-                                          legacy_base,
-                                          legacy_base + legacy_num,
-                                          GFP_KERNEL);
+               int minor = ida_alloc_range(&input_ida, legacy_base,
+                                           legacy_base + legacy_num - 1,
+                                           GFP_KERNEL);
                if (minor >= 0 || !allow_dynamic)
                        return minor;
        }
 
-       return ida_simple_get(&input_ida,
-                             INPUT_FIRST_DYNAMIC_DEV, INPUT_MAX_CHAR_DEVICES,
-                             GFP_KERNEL);
+       return ida_alloc_range(&input_ida, INPUT_FIRST_DYNAMIC_DEV,
+                              INPUT_MAX_CHAR_DEVICES - 1, GFP_KERNEL);
 }
 EXPORT_SYMBOL(input_get_new_minor);
 
@@ -2652,7 +2650,7 @@ EXPORT_SYMBOL(input_get_new_minor);
  */
 void input_free_minor(unsigned int minor)
 {
-       ida_simple_remove(&input_ida, minor);
+       ida_free(&input_ida, minor);
 }
 EXPORT_SYMBOL(input_free_minor);