From ed3c79f0b292ba248262133ed5e2e3805a7a59a7 Mon Sep 17 00:00:00 2001 From: Theo de Raadt Date: Mon, 16 Jul 2012 15:27:12 +0000 Subject: Add shorter form function aml_node_setval() for setting an int on an AML node. Shortens the tricky code in a lot of callers. Earlier version seen by pirofti and kettenis. --- sys/dev/acpi/dsdt.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'sys/dev/acpi/dsdt.c') diff --git a/sys/dev/acpi/dsdt.c b/sys/dev/acpi/dsdt.c index 7efe0a1fd56..fb70fb0e3fa 100644 --- a/sys/dev/acpi/dsdt.c +++ b/sys/dev/acpi/dsdt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dsdt.c,v 1.196 2012/07/10 15:57:41 pirofti Exp $ */ +/* $OpenBSD: dsdt.c,v 1.197 2012/07/16 15:27:11 deraadt Exp $ */ /* * Copyright (c) 2005 Jordan Hargrave * @@ -4058,6 +4058,21 @@ aml_evalnode(struct acpi_softc *sc, struct aml_node *node, return (0); } +int +aml_node_setval(struct acpi_softc *sc, struct aml_node *node, int64_t val) +{ + struct aml_value env; + + if (!node) + return (0); + + memset(&env, 0, sizeof(env)); + env.type = AML_OBJTYPE_INTEGER; + env.v_integer = val; + + return aml_evalnode(sc, node, 1, &env, NULL); +} + /* * evaluate an AML name * Returns a copy of the value in res (must be freed by user) -- cgit v1.2.3