pc_kbd: convert to use BIND_NODE_METHODS() macro

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
Mark Cave-Ayland 2019-08-18 21:16:50 +01:00
parent ca13d318ef
commit e516dd0983
1 changed files with 14 additions and 11 deletions

View File

@ -194,7 +194,7 @@ pc_kbd_open(unsigned long *address)
RET ( -1 ); RET ( -1 );
} }
DECLARE_UNNAMED_NODE(pc_kbd, INSTALL_OPEN, sizeof(unsigned long)); DECLARE_UNNAMED_NODE(pc_kbd, 0, sizeof(unsigned long));
NODE_METHODS(pc_kbd) = { NODE_METHODS(pc_kbd) = {
{ "open", pc_kbd_open }, { "open", pc_kbd_open },
@ -220,6 +220,9 @@ ob_pc_kbd_init(const char *path, const char *kdev_name, const char *mdev_name,
push_str("8042"); push_str("8042");
fword("device-name"); fword("device-name");
/* Make openable */
fword("is-open");
PUSH((base + offset) >> 32); PUSH((base + offset) >> 32);
fword("encode-int"); fword("encode-int");
PUSH((base + offset) & 0xffffffff); PUSH((base + offset) & 0xffffffff);
@ -260,14 +263,8 @@ ob_pc_kbd_init(const char *path, const char *kdev_name, const char *mdev_name,
push_str("interrupts"); push_str("interrupts");
fword("property"); fword("property");
fword("finish-device");
/* Keyboard */ /* Keyboard */
snprintf(nodebuff, sizeof(nodebuff), "%s/8042/%s", path, kdev_name); fword("new-device");
REGISTER_NAMED_NODE(pc_kbd, nodebuff);
push_str(nodebuff);
fword("find-device");
push_str(kdev_name); push_str(kdev_name);
fword("device-name"); fword("device-name");
@ -290,6 +287,10 @@ ob_pc_kbd_init(const char *path, const char *kdev_name, const char *mdev_name,
push_str("address"); push_str("address");
fword("property"); fword("property");
BIND_NODE_METHODS(get_cur_dev(), pc_kbd);
fword("finish-device");
snprintf(nodebuff, sizeof(nodebuff), "%s/8042/%s", path, kdev_name);
chosen = find_dev("/chosen"); chosen = find_dev("/chosen");
push_str(nodebuff); push_str(nodebuff);
fword("open-dev"); fword("open-dev");
@ -331,4 +332,6 @@ ob_pc_kbd_init(const char *path, const char *kdev_name, const char *mdev_name,
fword("finish-device"); fword("finish-device");
} }
fword("finish-device");
} }