X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/ea77b9c3fc7fb9bf9d7f9604fc187c8049212a2a..6f6da1abb22dff69dbb710bd2fd9d95f083f2b43:/lunaix-os/kernel/device/input.c diff --git a/lunaix-os/kernel/device/input.c b/lunaix-os/kernel/device/input.c index 5ddf6a4..252993f 100644 --- a/lunaix-os/kernel/device/input.c +++ b/lunaix-os/kernel/device/input.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -62,8 +63,14 @@ __input_dev_read(struct device* dev, void* buf, size_t offset, size_t len) return sizeof(struct input_evt_pkt); } +int +__input_dev_read_pg(struct device* dev, void* buf, size_t offset) +{ + return __input_dev_read(dev, buf, offset, PG_SIZE); +} + struct input_device* -input_add_device(char* name_fmt, ...) +input_add_device(struct devclass* class, char* name_fmt, ...) { assert(input_devcat); @@ -74,10 +81,11 @@ input_add_device(char* name_fmt, ...) va_start(args, name_fmt); struct device* dev = - device_add(input_devcat, idev, name_fmt, DEV_IFSEQ, args); + device_add_vargs(input_devcat, idev, name_fmt, DEV_IFSEQ, class, args); idev->dev_if = dev; - dev->read = __input_dev_read; + dev->ops.read = __input_dev_read; + dev->ops.read_page = __input_dev_read_pg; va_end(args);