summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpirofti <pirofti@openbsd.org>2009-06-04 04:50:08 +0000
committerpirofti <pirofti@openbsd.org>2009-06-04 04:50:08 +0000
commit8b30fc5dd567befc5ac760ce972442bb9136049e (patch)
treeec51b5b2ea7cc6d0aae46177e785a7cb0dbe2818
parentFix IPv4 rx checksumming for the non-TCP/UDP case. DESCV2 chips (diff)
downloadwireguard-openbsd-8b30fc5dd567befc5ac760ce972442bb9136049e.tar.xz
wireguard-openbsd-8b30fc5dd567befc5ac760ce972442bb9136049e.zip
Some output devices have only brightness support (or only output switching).
Handle the case where only brightness is supported. This makes brightness work on some Sony Vaio's. Okay mlarkin@ deraadt@.
-rw-r--r--sys/dev/acpi/acpivideo.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/acpi/acpivideo.c b/sys/dev/acpi/acpivideo.c
index a1728a08737..a23430cc946 100644
--- a/sys/dev/acpi/acpivideo.c
+++ b/sys/dev/acpi/acpivideo.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: acpivideo.c,v 1.3 2009/06/03 00:36:59 pirofti Exp $ */
+/* $OpenBSD: acpivideo.c,v 1.4 2009/06/04 04:50:08 pirofti Exp $ */
/*
* Copyright (c) 2008 Federico G. Schwindt <fgsch@openbsd.org>
*
@@ -97,6 +97,7 @@ acpivideo_attach(struct device *parent, struct device *self, void *aux)
acpivideo_get_dod(sc);
aml_find_node(aaa->aaa_node, "_DCS", acpi_foundvout, sc);
+ aml_find_node(aaa->aaa_node, "_BCL", acpi_foundvout, sc);
}
int
@@ -170,6 +171,11 @@ acpi_foundvout(struct aml_node *node, void *arg)
av.aaa.aaa_node = node->parent;
av.aaa.aaa_name = "acpivout";
av.dod = sc->sc_dod[i];
+ /*
+ * Make sure we don't attach twice if both _BCL and
+ * _DCS methods are found by zeroing the DOD address.
+ */
+ sc->sc_dod[i] = 0;
config_found(self, &av, acpivideo_print);
}