feat: standard vga support (mode switching, framebuffer remapping)
[lunaix-os.git] / lunaix-os / kernel / device / input.c
index bf4c157039399af5124d2e579e6cd846418c45f7..3d974a7987d84f12cea8251d778163b303a473ce 100644 (file)
@@ -70,7 +70,7 @@ __input_dev_read_pg(struct device* dev, void* buf, size_t offset)
 }
 
 struct input_device*
-input_add_device(char* name_fmt, ...)
+input_add_device(struct devclass* class, char* name_fmt, ...)
 {
     assert(input_devcat);
 
@@ -80,12 +80,14 @@ input_add_device(char* name_fmt, ...)
     va_list args;
     va_start(args, name_fmt);
 
-    struct device* dev =
-      device_add(input_devcat, idev, name_fmt, DEV_IFSEQ, args);
+    struct device* dev = device_allocseq(input_devcat, idev);
+
+    device_setname_vargs(dev, name_fmt, args);
+    device_register(dev, class, NULL);
 
     idev->dev_if = dev;
-    dev->read = __input_dev_read;
-    dev->read_page = __input_dev_read_pg;
+    dev->ops.read = __input_dev_read;
+    dev->ops.read_page = __input_dev_read_pg;
 
     va_end(args);