Lines Matching +full:max +full:- +full:brightness
1 /*-
2 * Copyright (c) 2003 OGAWA Takaya <t-ogawa@triaez.kaisei.org>
64 #define HKEY_LCD_BRIGHTNESS_DIV ((1 << HKEY_LCD_BRIGHTNESS_BITS) - 1)
157 sc->dev = dev; in acpi_panasonic_attach()
158 sc->handle = acpi_get_handle(dev); in acpi_panasonic_attach()
163 sysctl_ctx_init(&sc->sysctl_ctx); in acpi_panasonic_attach()
164 sc->sysctl_tree = SYSCTL_ADD_NODE(&sc->sysctl_ctx, in acpi_panasonic_attach()
165 SYSCTL_CHILDREN(acpi_sc->acpi_sysctl_tree), OID_AUTO, in acpi_panasonic_attach()
168 SYSCTL_ADD_PROC(&sc->sysctl_ctx, in acpi_panasonic_attach()
169 SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, in acpi_panasonic_attach()
177 status = AcpiEvaluateObject(sc->handle, "", NULL, NULL); in acpi_panasonic_attach()
180 sysctl_ctx_free(&sc->sysctl_ctx); in acpi_panasonic_attach()
186 status = AcpiInstallNotifyHandler(sc->handle, ACPI_DEVICE_NOTIFY, in acpi_panasonic_attach()
189 device_printf(dev, "couldn't install notify handler - %s\n", in acpi_panasonic_attach()
191 sysctl_ctx_free(&sc->sysctl_ctx); in acpi_panasonic_attach()
196 sc->power_evh = EVENTHANDLER_REGISTER(power_profile_change, in acpi_panasonic_attach()
197 acpi_panasonic_power_profile, sc->handle, 0); in acpi_panasonic_attach()
210 EVENTHANDLER_DEREGISTER(power_profile_change, sc->power_evh); in acpi_panasonic_detach()
213 AcpiRemoveNotifyHandler(sc->handle, ACPI_DEVICE_NOTIFY, in acpi_panasonic_detach()
217 sysctl_ctx_free(&sc->sysctl_ctx); in acpi_panasonic_detach()
231 hkey_sound_mute(sc->handle, HKEY_SET, &mute); in acpi_panasonic_shutdown()
243 sc = (struct acpi_panasonic_softc *)oidp->oid_arg1; in acpi_panasonic_sysctl()
244 function = oidp->oid_arg2; in acpi_panasonic_sysctl()
249 error = handler(sc->handle, HKEY_GET, &arg); in acpi_panasonic_sysctl()
255 if (error != 0 || req->newptr == NULL) in acpi_panasonic_sysctl()
259 error = handler(sc->handle, HKEY_SET, &arg); in acpi_panasonic_sysctl()
274 ret = -1; in acpi_panasonic_sinf()
279 if (res->Type == ACPI_TYPE_PACKAGE) in acpi_panasonic_sinf()
280 ret = res->Package.Elements[index].Integer.Value; in acpi_panasonic_sinf()
348 UINT32 max, min; in hkey_lcd_brightness() local
356 hkey_lcd_brightness_max(h, HKEY_GET, &max); in hkey_lcd_brightness()
358 if (*val < min || *val > max) in hkey_lcd_brightness()
405 if (res->Type != ACPI_TYPE_INTEGER) { in acpi_panasonic_hkey_event()
406 device_printf(sc->dev, "HINF returned non-integer\n"); in acpi_panasonic_hkey_event()
409 val = res->Integer.Value; in acpi_panasonic_hkey_event()
411 device_printf(sc->dev, "%s button Fn+F%d\n", in acpi_panasonic_hkey_event()
431 int arg, max, min; in acpi_panasonic_hkey_action() local
433 acpi_sc = acpi_device_get_parent_softc(sc->dev); in acpi_panasonic_hkey_action()
438 /* Decrease LCD brightness. */ in acpi_panasonic_hkey_action()
439 hkey_lcd_brightness_max(h, HKEY_GET, &max); in acpi_panasonic_hkey_action()
442 arg -= max / HKEY_LCD_BRIGHTNESS_DIV; in acpi_panasonic_hkey_action()
445 else if (arg > max) in acpi_panasonic_hkey_action()
446 arg = max; in acpi_panasonic_hkey_action()
450 /* Increase LCD brightness. */ in acpi_panasonic_hkey_action()
451 hkey_lcd_brightness_max(h, HKEY_GET, &max); in acpi_panasonic_hkey_action()
454 arg += max / HKEY_LCD_BRIGHTNESS_DIV; in acpi_panasonic_hkey_action()
457 else if (arg > max) in acpi_panasonic_hkey_action()
458 arg = max; in acpi_panasonic_hkey_action()
499 device_printf(sc->dev, "unknown notify: %#x\n", notify); in acpi_panasonic_notify()
508 UINT32 brightness; in acpi_panasonic_power_profile() local
512 /* Reset current brightness according to new power state. */ in acpi_panasonic_power_profile()
514 hkey_lcd_brightness(handle, HKEY_GET, &brightness); in acpi_panasonic_power_profile()
515 hkey_lcd_brightness(handle, HKEY_SET, &brightness); in acpi_panasonic_power_profile()