Index: dev/acpi/acpi_display.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpi_display.c,v
retrieving revision 1.15
diff -p -u -r1.15 acpi_display.c
--- dev/acpi/acpi_display.c	3 Apr 2016 10:32:47 -0000	1.15
+++ dev/acpi/acpi_display.c	29 Dec 2016 05:21:38 -0000
@@ -353,6 +353,7 @@ static int	acpidisp_out_sysctl_status(SY
 static int	acpidisp_out_sysctl_state(SYSCTLFN_PROTO);
 #endif
 static int	acpidisp_out_sysctl_brightness(SYSCTLFN_PROTO);
+static int	acpidisp_out_sysctl_levels(SYSCTLFN_PROTO);
 
 static struct acpidisp_odinfo *
 		acpidisp_init_odinfo(const struct acpidisp_vga_softc *);
@@ -1183,6 +1184,12 @@ acpidisp_out_sysctl_setup(struct acpidis
 		    SYSCTL_DESCR("Current brightness level"),
 		    acpidisp_out_sysctl_brightness, 0, (void *)osc, 0,
 		    CTL_CREATE, CTL_EOL);
+
+		(void)sysctl_createv(&osc->sc_log, 0, &rnode, NULL,
+		    CTLFLAG_READONLY, CTLTYPE_STRING, "levels",
+		    SYSCTL_DESCR("Brightness levels"),
+		    acpidisp_out_sysctl_levels, 0, (void *)osc, 0,
+		    CTL_CREATE, CTL_EOL);
 	}
 
 #ifdef ACPI_DISP_SWITCH_SYSCTLS
@@ -1381,6 +1388,51 @@ acpidisp_out_sysctl_brightness(SYSCTLFN_
 	return error;
 }
 
+static int 
+acpidisp_out_sysctl_levels(SYSCTLFN_ARGS) 
+{ 
+	struct acpidisp_out_softc *osc; 
+	struct acpidisp_brctl *bc; 
+	char buf[10], *where;
+	size_t len, left, needed;
+	const char *sep;
+	int i, error = 0; 
+
+	if (newp != NULL)
+		return EPERM;
+	if (namelen != 0 || oldlenp == NULL)
+		return EINVAL;
+	 
+	osc = rnode->sysctl_data; 
+	bc = osc->sc_brctl; 
+
+	if (bc == NULL)
+		return EINVAL;
+
+	where = oldp;
+	left = *oldlenp;
+	needed = 0;
+	sep = "";
+	for (i = 0; i < bc->bc_level_count; i++) {
+		len = snprintf(buf, sizeof(buf), "%s%u",
+			       sep, bc->bc_level[i]);
+		sep = " ";
+		needed += len;
+		if (oldp == NULL || error)
+			continue;
+		if (left < len + 1) {
+			error = ENOMEM;
+		} else {
+			error = copyout(buf, where, len + 1);
+			where += len;
+			left -= len;
+		}
+	}
+	*oldlenp = needed;
+	 
+	return error; 
+}
+
 /*
  * Initialization of acpidisp_odinfo (_DOD) and acpidisp_brctl (_BCL).
  */
