summaryrefslogtreecommitdiff
path: root/sys/src/cmd/aux
diff options
context:
space:
mode:
authormia soweli <inbox@tachibana-labs.org>2023-05-18 20:13:14 +0000
committerSigrid Solveig Haflínudóttir <sigrid@ftrv.se>2023-05-18 20:13:14 +0000
commit93837692bbaab28e01ea1178d8867047bbcad11d (patch)
treee2dc7f78bb406fac21226106c3f3c86ce556e231 /sys/src/cmd/aux
parent0883ed0a61c38898ad926ea67eb0e9386dff4ecd (diff)
libaml: tow eisaid inside the environment
Diffstat (limited to 'sys/src/cmd/aux')
-rw-r--r--sys/src/cmd/aux/acpi.c24
1 files changed, 3 insertions, 21 deletions
diff --git a/sys/src/cmd/aux/acpi.c b/sys/src/cmd/aux/acpi.c
index dc362cfc6..697572949 100644
--- a/sys/src/cmd/aux/acpi.c
+++ b/sys/src/cmd/aux/acpi.c
@@ -63,32 +63,14 @@ static char *uid = "pm", *units[] = {"mW", "mA"};
static Therm therms[16];
static Bat bats[4];
-static char*
-eisaid(void *v)
-{
- static char id[8];
- ulong b, l;
- int i;
-
- if(amltag(v) == 's')
- return v;
- b = amlint(v);
- for(l = 0, i = 24; i >= 0; i -= 8, b >>= 8)
- l |= (b & 0xFF) << i;
- id[7] = 0;
- for(i = 6; i >= 3; i--, l >>= 4)
- id[i] = "0123456789ABCDEF"[l & 0xF];
- for(i = 2; i >= 0; i--, l >>= 5)
- id[i] = '@' + (l & 0x1F);
- return id;
-}
-
static int
enumec(void *dot, void *)
{
void *p;
char *id;
- id = eisaid(amlval(amlwalk(dot, "^_HID")));
+
+ p = amlval(amlwalk(dot, "^_HID"));
+ id = amleisaid(p);
if(id == nil || strcmp(id, "PNP0C09") != 0)
return 1;
p = amlwalk(dot, "^_REG");