• Home
  • Raw
  • Download

Lines Matching full:pcc

49  * 			add /proc/acpi/pcc/brightness interface for HAL access
154 #define ACPI_PCC_CLASS "pcc"
232 static int acpi_pcc_write_sset(struct pcc_acpi *pcc, int func, int val) in acpi_pcc_write_sset() argument
246 status = acpi_evaluate_object(pcc->handle, METHOD_HKEY_SSET, in acpi_pcc_write_sset()
268 static int acpi_pcc_retrieve_biosdata(struct pcc_acpi *pcc) in acpi_pcc_retrieve_biosdata() argument
275 status = acpi_evaluate_object(pcc->handle, METHOD_HKEY_SINF, NULL, in acpi_pcc_retrieve_biosdata()
290 if (pcc->num_sifr < hkey->package.count) { in acpi_pcc_retrieve_biosdata()
300 pcc->sinf[i] = element->integer.value; in acpi_pcc_retrieve_biosdata()
305 pcc->sinf[hkey->package.count] = -1; in acpi_pcc_retrieve_biosdata()
321 struct pcc_acpi *pcc = bl_get_data(bd); in bl_get() local
323 if (!acpi_pcc_retrieve_biosdata(pcc)) in bl_get()
326 return pcc->sinf[SINF_AC_CUR_BRIGHT]; in bl_get()
331 struct pcc_acpi *pcc = bl_get_data(bd); in bl_set_status() local
335 if (!acpi_pcc_retrieve_biosdata(pcc)) in bl_set_status()
338 if (bright < pcc->sinf[SINF_AC_MIN_BRIGHT]) in bl_set_status()
339 bright = pcc->sinf[SINF_AC_MIN_BRIGHT]; in bl_set_status()
341 if (bright < pcc->sinf[SINF_DC_MIN_BRIGHT]) in bl_set_status()
342 bright = pcc->sinf[SINF_DC_MIN_BRIGHT]; in bl_set_status()
344 if (bright < pcc->sinf[SINF_AC_MIN_BRIGHT] || in bl_set_status()
345 bright > pcc->sinf[SINF_AC_MAX_BRIGHT]) in bl_set_status()
348 rc = acpi_pcc_write_sset(pcc, SINF_AC_CUR_BRIGHT, bright); in bl_set_status()
352 return acpi_pcc_write_sset(pcc, SINF_DC_CUR_BRIGHT, bright); in bl_set_status()
367 struct pcc_acpi *pcc = acpi_driver_data(acpi); in show_numbatt() local
369 if (!acpi_pcc_retrieve_biosdata(pcc)) in show_numbatt()
372 return snprintf(buf, PAGE_SIZE, "%u\n", pcc->sinf[SINF_NUM_BATTERIES]); in show_numbatt()
379 struct pcc_acpi *pcc = acpi_driver_data(acpi); in show_lcdtype() local
381 if (!acpi_pcc_retrieve_biosdata(pcc)) in show_lcdtype()
384 return snprintf(buf, PAGE_SIZE, "%u\n", pcc->sinf[SINF_LCD_TYPE]); in show_lcdtype()
391 struct pcc_acpi *pcc = acpi_driver_data(acpi); in show_mute() local
393 if (!acpi_pcc_retrieve_biosdata(pcc)) in show_mute()
396 return snprintf(buf, PAGE_SIZE, "%u\n", pcc->sinf[SINF_MUTE]); in show_mute()
403 struct pcc_acpi *pcc = acpi_driver_data(acpi); in show_sticky() local
405 if (!acpi_pcc_retrieve_biosdata(pcc)) in show_sticky()
408 return snprintf(buf, PAGE_SIZE, "%u\n", pcc->sinf[SINF_STICKY_KEY]); in show_sticky()
415 struct pcc_acpi *pcc = acpi_driver_data(acpi); in set_sticky() local
420 acpi_pcc_write_sset(pcc, SINF_STICKY_KEY, val); in set_sticky()
421 pcc->sticky_mode = val; in set_sticky()
449 static void acpi_pcc_generate_keyinput(struct pcc_acpi *pcc) in acpi_pcc_generate_keyinput() argument
451 struct input_dev *hotk_input_dev = pcc->input_dev; in acpi_pcc_generate_keyinput()
455 rc = acpi_evaluate_integer(pcc->handle, METHOD_HKEY_QUERY, in acpi_pcc_generate_keyinput()
480 struct pcc_acpi *pcc = acpi_driver_data(device); in acpi_pcc_hotkey_notify() local
484 acpi_pcc_generate_keyinput(pcc); in acpi_pcc_hotkey_notify()
492 static int acpi_pcc_init_input(struct pcc_acpi *pcc) in acpi_pcc_init_input() argument
522 pcc->input_dev = input_dev; in acpi_pcc_init_input()
535 struct pcc_acpi *pcc; in acpi_pcc_hotkey_resume() local
540 pcc = acpi_driver_data(to_acpi_device(dev)); in acpi_pcc_hotkey_resume()
541 if (!pcc) in acpi_pcc_hotkey_resume()
545 pcc->sticky_mode)); in acpi_pcc_hotkey_resume()
547 return acpi_pcc_write_sset(pcc, SINF_STICKY_KEY, pcc->sticky_mode); in acpi_pcc_hotkey_resume()
554 struct pcc_acpi *pcc; in acpi_pcc_hotkey_add() local
567 pcc = kzalloc(sizeof(struct pcc_acpi), GFP_KERNEL); in acpi_pcc_hotkey_add()
568 if (!pcc) { in acpi_pcc_hotkey_add()
570 "Couldn't allocate mem for pcc")); in acpi_pcc_hotkey_add()
574 pcc->sinf = kcalloc(num_sifr + 1, sizeof(u32), GFP_KERNEL); in acpi_pcc_hotkey_add()
575 if (!pcc->sinf) { in acpi_pcc_hotkey_add()
580 pcc->device = device; in acpi_pcc_hotkey_add()
581 pcc->handle = device->handle; in acpi_pcc_hotkey_add()
582 pcc->num_sifr = num_sifr; in acpi_pcc_hotkey_add()
583 device->driver_data = pcc; in acpi_pcc_hotkey_add()
587 result = acpi_pcc_init_input(pcc); in acpi_pcc_hotkey_add()
594 if (!acpi_pcc_retrieve_biosdata(pcc)) { in acpi_pcc_hotkey_add()
603 props.max_brightness = pcc->sinf[SINF_AC_MAX_BRIGHT]; in acpi_pcc_hotkey_add()
604 pcc->backlight = backlight_device_register("panasonic", NULL, pcc, in acpi_pcc_hotkey_add()
606 if (IS_ERR(pcc->backlight)) { in acpi_pcc_hotkey_add()
607 result = PTR_ERR(pcc->backlight); in acpi_pcc_hotkey_add()
612 pcc->backlight->props.brightness = pcc->sinf[SINF_AC_CUR_BRIGHT]; in acpi_pcc_hotkey_add()
615 pcc->sticky_mode = pcc->sinf[SINF_STICKY_KEY]; in acpi_pcc_hotkey_add()
625 backlight_device_unregister(pcc->backlight); in acpi_pcc_hotkey_add()
627 input_unregister_device(pcc->input_dev); in acpi_pcc_hotkey_add()
629 kfree(pcc->sinf); in acpi_pcc_hotkey_add()
631 kfree(pcc); in acpi_pcc_hotkey_add()
638 struct pcc_acpi *pcc = acpi_driver_data(device); in acpi_pcc_hotkey_remove() local
640 if (!device || !pcc) in acpi_pcc_hotkey_remove()
645 backlight_device_unregister(pcc->backlight); in acpi_pcc_hotkey_remove()
647 input_unregister_device(pcc->input_dev); in acpi_pcc_hotkey_remove()
649 kfree(pcc->sinf); in acpi_pcc_hotkey_remove()
650 kfree(pcc); in acpi_pcc_hotkey_remove()