X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=drivers%2Finput%2Fi8042.c;h=18476e97d1886d8569e1343a1d9129c73835b4ce;hb=4b37928d3577e1b540b12d709e9b551fee3ccbd6;hp=661d7fd86c44a90f95ee9aba7cd0295852fb2a0e;hpb=c1924d85af4a07dc70aef1ef95c48b54a136733f;p=u-boot diff --git a/drivers/input/i8042.c b/drivers/input/i8042.c index 661d7fd86c..18476e97d1 100644 --- a/drivers/input/i8042.c +++ b/drivers/input/i8042.c @@ -134,6 +134,10 @@ static int kbd_reset(int quirk) kbd_read(I8042_DATA_REG) != KBD_POR) goto err; + if (kbd_write(I8042_DATA_REG, CMD_DRAIN_OUTPUT) || + kbd_read(I8042_DATA_REG) != KBD_ACK) + goto err; + /* set AT translation and disable irq */ config = kbd_cmd_read(CMD_RD_CONFIG); if (config == -1) @@ -270,7 +274,7 @@ static int i8042_start(struct udevice *dev) /* Init keyboard device (default US layout) */ keymap = KBD_US; - penv = getenv("keymap"); + penv = env_get("keymap"); if (penv != NULL) { if (strncmp(penv, "de", 3) == 0) keymap = KBD_GER; @@ -311,7 +315,7 @@ static int i8042_kbd_probe(struct udevice *dev) struct input_config *input = &uc_priv->input; int ret; - if (fdtdec_get_bool(gd->fdt_blob, dev->of_offset, + if (fdtdec_get_bool(gd->fdt_blob, dev_of_offset(dev), "intel,duplicate-por")) priv->quirks |= QUIRK_DUP_POR;