X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/6f6da1abb22dff69dbb710bd2fd9d95f083f2b43..43487eff262637a59a4c2c0272d7c4a824af3944:/lunaix-os/hal/char/devnull.c diff --git a/lunaix-os/hal/char/devnull.c b/lunaix-os/hal/char/devnull.c index 5d0aef5..3991548 100644 --- a/lunaix-os/hal/char/devnull.c +++ b/lunaix-os/hal/char/devnull.c @@ -1,11 +1,11 @@ #include -#include +#include static int __null_wr_pg(struct device* dev, void* buf, size_t offset) { // do nothing - return PG_SIZE; + return PAGE_SIZE; } static int @@ -30,20 +30,22 @@ __null_rd(struct device* dev, void* buf, size_t offset, size_t len) } static int -pdev_nulldev_init(struct device_def* def) +pdev_nulldev_create(struct device_def* def, morph_t* obj) { - struct device* devnull = device_addseq(NULL, &def->class, NULL, "null"); + struct device* devnull = device_allocseq(NULL, NULL); devnull->ops.write_page = __null_wr_pg; devnull->ops.write = __null_wr; devnull->ops.read_page = __null_rd_pg; devnull->ops.read = __null_rd; + register_device(devnull, &def->class, "null"); + return 0; } static struct device_def devnull_def = { - .name = "null", - .class = DEVCLASS(DEVIF_NON, DEVFN_PSEUDO, DEV_BUILTIN, 0), - .init = pdev_nulldev_init + def_device_name("edendi"), + def_device_class(LUNAIX, PSEUDO, NIHIL), + def_on_create(pdev_nulldev_create) }; -EXPORT_DEVICE(nulldev, &devnull_def, load_earlystage); +EXPORT_DEVICE(nulldev, &devnull_def, load_onboot);