The node name of the gpio-key devicetree node should be "key-poweroff":
gpio-keys: 'poweroff' does not match any of the regexes: '^(button|event|key|switch|(button|event|key|switch)-[a-z0-9-]+|[a-z0-9-]+-(button|event|key|switch))$', 'pinctrl-[0-9]+' From schema: linux/Documentation/devicetree/bindings/input/gpio-keys.yaml Signed-off-by: Jean-Philippe Brucker <jean-phili...@linaro.org> --- hw/arm/virt.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 8605f5058a..6805c57530 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -932,12 +932,12 @@ static void create_gpio_keys(char *fdt, DeviceState *pl061_dev, qemu_fdt_add_subnode(fdt, "/gpio-keys"); qemu_fdt_setprop_string(fdt, "/gpio-keys", "compatible", "gpio-keys"); - qemu_fdt_add_subnode(fdt, "/gpio-keys/poweroff"); - qemu_fdt_setprop_string(fdt, "/gpio-keys/poweroff", + qemu_fdt_add_subnode(fdt, "/gpio-keys/key-poweroff"); + qemu_fdt_setprop_string(fdt, "/gpio-keys/key-poweroff", "label", "GPIO Key Poweroff"); - qemu_fdt_setprop_cell(fdt, "/gpio-keys/poweroff", "linux,code", + qemu_fdt_setprop_cell(fdt, "/gpio-keys/key-poweroff", "linux,code", KEY_POWER); - qemu_fdt_setprop_cells(fdt, "/gpio-keys/poweroff", + qemu_fdt_setprop_cells(fdt, "/gpio-keys/key-poweroff", "gpios", phandle, 3, 0); } -- 2.37.3