git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feat: owloysius - dynamic init function invocator
[lunaix-os.git]
/
lunaix-os
/
kernel
/
device
/
input.c
diff --git
a/lunaix-os/kernel/device/input.c
b/lunaix-os/kernel/device/input.c
index 0680fefebe7be56c4992f3a6dc06945325825902..6ced39d0ad9efadf2e61d73bf2c6846cd1d79ebe 100644
(file)
--- a/
lunaix-os/kernel/device/input.c
+++ b/
lunaix-os/kernel/device/input.c
@@
-9,19
+9,12
@@
static DEFINE_LLIST(listener_chain);
static DEFINE_LLIST(listener_chain);
-static struct device* input_devcat = NULL;
+static struct device
_cat
* input_devcat = NULL;
void
input_init()
{
input_devcat = device_addcat(NULL, "input");
void
input_init()
{
input_devcat = device_addcat(NULL, "input");
-
- int i;
- ptr_t input_dev_init;
- ldga_foreach(inputdev, ptr_t, i, input_dev_init)
- {
- ((void (*)())input_dev_init)();
- }
}
void
}
void
@@
-77,7
+70,7
@@
__input_dev_read_pg(struct device* dev, void* buf, size_t offset)
}
struct input_device*
}
struct input_device*
-input_add_device(char* name_fmt, ...)
+input_add_device(
struct devclass* class,
char* name_fmt, ...)
{
assert(input_devcat);
{
assert(input_devcat);
@@
-87,8
+80,10
@@
input_add_device(char* name_fmt, ...)
va_list args;
va_start(args, 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(dev_meta(input_devcat), idev);
+
+ device_setname_vargs(dev_meta(dev), name_fmt, args);
+ register_device(dev, class, NULL);
idev->dev_if = dev;
dev->ops.read = __input_dev_read;
idev->dev_if = dev;
dev->ops.read = __input_dev_read;