Lines Matching refs:video

210 	struct acpi_video_bus *video;  member
218 static void acpi_video_device_rebind(struct acpi_video_bus *video);
219 static void acpi_video_device_bind(struct acpi_video_bus *video,
221 static int acpi_video_device_enumerate(struct acpi_video_bus *video);
267 struct acpi_video_device *video = acpi_driver_data(device); in video_get_max_state() local
269 *state = video->brightness->count - ACPI_VIDEO_FIRST_LEVEL - 1; in video_get_max_state()
277 struct acpi_video_device *video = acpi_driver_data(device); in video_get_cur_state() local
281 if (acpi_video_device_lcd_get_level_current(video, &level, false)) in video_get_cur_state()
283 for (offset = ACPI_VIDEO_FIRST_LEVEL; offset < video->brightness->count; in video_get_cur_state()
285 if (level == video->brightness->levels[offset]) { in video_get_cur_state()
286 *state = video->brightness->count - offset - 1; in video_get_cur_state()
297 struct acpi_video_device *video = acpi_driver_data(device); in video_set_cur_state() local
300 if (state >= video->brightness->count - ACPI_VIDEO_FIRST_LEVEL) in video_set_cur_state()
303 state = video->brightness->count - state; in video_set_cur_state()
304 level = video->brightness->levels[state - 1]; in video_set_cur_state()
305 return acpi_video_device_lcd_set_level(video, level); in video_set_cur_state()
684 acpi_video_bus_DOS(struct acpi_video_bus *video, int bios_flag, int lcd_flag) in acpi_video_bus_DOS() argument
688 if (!video->cap._DOS) in acpi_video_bus_DOS()
693 video->dos_setting = (lcd_flag << 2) | bios_flag; in acpi_video_bus_DOS()
694 status = acpi_execute_simple_method(video->device->handle, "_DOS", in acpi_video_bus_DOS()
1014 static void acpi_video_bus_find_cap(struct acpi_video_bus *video) in acpi_video_bus_find_cap() argument
1016 if (acpi_has_method(video->device->handle, "_DOS")) in acpi_video_bus_find_cap()
1017 video->cap._DOS = 1; in acpi_video_bus_find_cap()
1018 if (acpi_has_method(video->device->handle, "_DOD")) in acpi_video_bus_find_cap()
1019 video->cap._DOD = 1; in acpi_video_bus_find_cap()
1020 if (acpi_has_method(video->device->handle, "_ROM")) in acpi_video_bus_find_cap()
1021 video->cap._ROM = 1; in acpi_video_bus_find_cap()
1022 if (acpi_has_method(video->device->handle, "_GPD")) in acpi_video_bus_find_cap()
1023 video->cap._GPD = 1; in acpi_video_bus_find_cap()
1024 if (acpi_has_method(video->device->handle, "_SPD")) in acpi_video_bus_find_cap()
1025 video->cap._SPD = 1; in acpi_video_bus_find_cap()
1026 if (acpi_has_method(video->device->handle, "_VPO")) in acpi_video_bus_find_cap()
1027 video->cap._VPO = 1; in acpi_video_bus_find_cap()
1035 static int acpi_video_bus_check(struct acpi_video_bus *video) in acpi_video_bus_check() argument
1040 if (!video) in acpi_video_bus_check()
1043 dev = acpi_get_pci_dev(video->device->handle); in acpi_video_bus_check()
1054 if (video->cap._DOS || video->cap._DOD) { in acpi_video_bus_check()
1055 if (!video->cap._DOS) { in acpi_video_bus_check()
1057 acpi_device_bid(video->device)); in acpi_video_bus_check()
1059 video->flags.multihead = 1; in acpi_video_bus_check()
1064 if (video->cap._ROM) { in acpi_video_bus_check()
1065 video->flags.rom = 1; in acpi_video_bus_check()
1070 if (video->cap._GPD && video->cap._SPD && video->cap._VPO) { in acpi_video_bus_check()
1071 video->flags.post = 1; in acpi_video_bus_check()
1086 acpi_video_get_device_attr(struct acpi_video_bus *video, unsigned long device_id) in acpi_video_get_device_attr() argument
1091 for (i = 0; i < video->attached_count; i++) { in acpi_video_get_device_attr()
1092 ids = &video->attached_array[i]; in acpi_video_get_device_attr()
1101 acpi_video_get_device_type(struct acpi_video_bus *video, in acpi_video_get_device_type() argument
1107 for (i = 0; i < video->attached_count; i++) { in acpi_video_get_device_type()
1108 ids = &video->attached_array[i]; in acpi_video_get_device_type()
1118 struct acpi_video_bus *video = arg; in acpi_video_bus_get_one_device() local
1141 data->video = video; in acpi_video_bus_get_one_device()
1146 attribute = acpi_video_get_device_attr(video, device_id); in acpi_video_bus_get_one_device()
1170 device_type = acpi_video_get_device_type(video, device_id); in acpi_video_bus_get_one_device()
1187 acpi_video_device_bind(video, data); in acpi_video_bus_get_one_device()
1193 mutex_lock(&video->device_list_lock); in acpi_video_bus_get_one_device()
1194 list_add_tail(&data->entry, &video->video_device_list); in acpi_video_bus_get_one_device()
1195 mutex_unlock(&video->device_list_lock); in acpi_video_bus_get_one_device()
1198 video->child_count++; in acpi_video_bus_get_one_device()
1214 static void acpi_video_device_rebind(struct acpi_video_bus *video) in acpi_video_device_rebind() argument
1218 mutex_lock(&video->device_list_lock); in acpi_video_device_rebind()
1220 list_for_each_entry(dev, &video->video_device_list, entry) in acpi_video_device_rebind()
1221 acpi_video_device_bind(video, dev); in acpi_video_device_rebind()
1223 mutex_unlock(&video->device_list_lock); in acpi_video_device_rebind()
1240 acpi_video_device_bind(struct acpi_video_bus *video, in acpi_video_device_bind() argument
1246 for (i = 0; i < video->attached_count; i++) { in acpi_video_device_bind()
1247 ids = &video->attached_array[i]; in acpi_video_device_bind()
1250 acpi_handle_debug(video->device->handle, "%s: %d\n", in acpi_video_device_bind()
1258 struct acpi_video_bus *video = device->video; in acpi_video_device_in_dod() local
1266 if (!video->attached_count || video->child_count > 8) in acpi_video_device_in_dod()
1269 for (i = 0; i < video->attached_count; i++) { in acpi_video_device_in_dod()
1270 if ((video->attached_array[i].value.int_val & 0xfff) == in acpi_video_device_in_dod()
1289 static int acpi_video_device_enumerate(struct acpi_video_bus *video) in acpi_video_device_enumerate() argument
1299 if (!video->cap._DOD) in acpi_video_device_enumerate()
1302 status = acpi_evaluate_object(video->device->handle, "_DOD", NULL, &buffer); in acpi_video_device_enumerate()
1304 acpi_handle_info(video->device->handle, in acpi_video_device_enumerate()
1312 acpi_handle_info(video->device->handle, "Invalid _DOD data\n"); in acpi_video_device_enumerate()
1317 acpi_handle_debug(video->device->handle, "Found %d video heads in _DOD\n", in acpi_video_device_enumerate()
1333 acpi_handle_info(video->device->handle, in acpi_video_device_enumerate()
1341 acpi_handle_debug(video->device->handle, in acpi_video_device_enumerate()
1348 kfree(video->attached_array); in acpi_video_device_enumerate()
1350 video->attached_array = active_list; in acpi_video_device_enumerate()
1351 video->attached_count = count; in acpi_video_device_enumerate()
1442 struct acpi_video_bus *video; in acpi_video_get_edid() local
1451 video = acpi_driver_data(device); in acpi_video_get_edid()
1453 for (i = 0; i < video->attached_count; i++) { in acpi_video_get_edid()
1454 video_device = video->attached_array[i].bind_info; in acpi_video_get_edid()
1508 acpi_video_bus_get_devices(struct acpi_video_bus *video, in acpi_video_bus_get_devices() argument
1516 acpi_video_device_enumerate(video); in acpi_video_bus_get_devices()
1518 return acpi_dev_for_each_child(device, acpi_video_bus_get_one_device, video); in acpi_video_bus_get_devices()
1527 static int acpi_video_bus_start_devices(struct acpi_video_bus *video) in acpi_video_bus_start_devices() argument
1529 return acpi_video_bus_DOS(video, 0, in acpi_video_bus_start_devices()
1533 static int acpi_video_bus_stop_devices(struct acpi_video_bus *video) in acpi_video_bus_stop_devices() argument
1535 return acpi_video_bus_DOS(video, 0, in acpi_video_bus_stop_devices()
1541 struct acpi_video_bus *video = acpi_driver_data(device); in acpi_video_bus_notify() local
1545 if (!video || !video->input) in acpi_video_bus_notify()
1548 input = video->input; in acpi_video_bus_notify()
1558 acpi_video_device_enumerate(video); in acpi_video_bus_notify()
1559 acpi_video_device_rebind(video); in acpi_video_bus_notify()
1613 bus = video_device->video; in acpi_video_device_notify()
1666 struct acpi_video_bus *video; in acpi_video_resume() local
1674 video = container_of(nb, struct acpi_video_bus, pm_nb); in acpi_video_resume()
1676 dev_info(&video->device->dev, "Restoring backlight state\n"); in acpi_video_resume()
1678 for (i = 0; i < video->attached_count; i++) { in acpi_video_resume()
1679 video_device = video->attached_array[i].bind_info; in acpi_video_resume()
1786 static void acpi_video_run_bcl_for_osi(struct acpi_video_bus *video) in acpi_video_run_bcl_for_osi() argument
1791 mutex_lock(&video->device_list_lock); in acpi_video_run_bcl_for_osi()
1792 list_for_each_entry(dev, &video->video_device_list, entry) { in acpi_video_run_bcl_for_osi()
1796 mutex_unlock(&video->device_list_lock); in acpi_video_run_bcl_for_osi()
1815 static int acpi_video_bus_register_backlight(struct acpi_video_bus *video) in acpi_video_bus_register_backlight() argument
1819 if (video->backlight_registered) in acpi_video_bus_register_backlight()
1825 mutex_lock(&video->device_list_lock); in acpi_video_bus_register_backlight()
1826 list_for_each_entry(dev, &video->video_device_list, entry) { in acpi_video_bus_register_backlight()
1830 mutex_unlock(&video->device_list_lock); in acpi_video_bus_register_backlight()
1832 video->backlight_registered = true; in acpi_video_bus_register_backlight()
1834 video->pm_nb.notifier_call = acpi_video_resume; in acpi_video_bus_register_backlight()
1835 video->pm_nb.priority = 0; in acpi_video_bus_register_backlight()
1836 return register_pm_notifier(&video->pm_nb); in acpi_video_bus_register_backlight()
1858 static int acpi_video_bus_unregister_backlight(struct acpi_video_bus *video) in acpi_video_bus_unregister_backlight() argument
1863 if (!video->backlight_registered) in acpi_video_bus_unregister_backlight()
1866 error = unregister_pm_notifier(&video->pm_nb); in acpi_video_bus_unregister_backlight()
1868 mutex_lock(&video->device_list_lock); in acpi_video_bus_unregister_backlight()
1869 list_for_each_entry(dev, &video->video_device_list, entry) in acpi_video_bus_unregister_backlight()
1871 mutex_unlock(&video->device_list_lock); in acpi_video_bus_unregister_backlight()
1873 video->backlight_registered = false; in acpi_video_bus_unregister_backlight()
1891 static int acpi_video_bus_add_notify_handler(struct acpi_video_bus *video) in acpi_video_bus_add_notify_handler() argument
1897 video->input = input = input_allocate_device(); in acpi_video_bus_add_notify_handler()
1903 error = acpi_video_bus_start_devices(video); in acpi_video_bus_add_notify_handler()
1907 snprintf(video->phys, sizeof(video->phys), in acpi_video_bus_add_notify_handler()
1908 "%s/video/input0", acpi_device_hid(video->device)); in acpi_video_bus_add_notify_handler()
1910 input->name = acpi_device_name(video->device); in acpi_video_bus_add_notify_handler()
1911 input->phys = video->phys; in acpi_video_bus_add_notify_handler()
1914 input->dev.parent = &video->device->dev; in acpi_video_bus_add_notify_handler()
1929 mutex_lock(&video->device_list_lock); in acpi_video_bus_add_notify_handler()
1930 list_for_each_entry(dev, &video->video_device_list, entry) in acpi_video_bus_add_notify_handler()
1932 mutex_unlock(&video->device_list_lock); in acpi_video_bus_add_notify_handler()
1937 acpi_video_bus_stop_devices(video); in acpi_video_bus_add_notify_handler()
1940 video->input = NULL; in acpi_video_bus_add_notify_handler()
1954 static void acpi_video_bus_remove_notify_handler(struct acpi_video_bus *video) in acpi_video_bus_remove_notify_handler() argument
1958 mutex_lock(&video->device_list_lock); in acpi_video_bus_remove_notify_handler()
1959 list_for_each_entry(dev, &video->video_device_list, entry) in acpi_video_bus_remove_notify_handler()
1961 mutex_unlock(&video->device_list_lock); in acpi_video_bus_remove_notify_handler()
1963 acpi_video_bus_stop_devices(video); in acpi_video_bus_remove_notify_handler()
1964 input_unregister_device(video->input); in acpi_video_bus_remove_notify_handler()
1965 video->input = NULL; in acpi_video_bus_remove_notify_handler()
1968 static int acpi_video_bus_put_devices(struct acpi_video_bus *video) in acpi_video_bus_put_devices() argument
1972 mutex_lock(&video->device_list_lock); in acpi_video_bus_put_devices()
1973 list_for_each_entry_safe(dev, next, &video->video_device_list, entry) { in acpi_video_bus_put_devices()
1977 mutex_unlock(&video->device_list_lock); in acpi_video_bus_put_devices()
1986 struct acpi_video_bus *video; in acpi_video_bus_add() local
2004 video = kzalloc(sizeof(struct acpi_video_bus), GFP_KERNEL); in acpi_video_bus_add()
2005 if (!video) in acpi_video_bus_add()
2021 video->device = device; in acpi_video_bus_add()
2024 device->driver_data = video; in acpi_video_bus_add()
2026 acpi_video_bus_find_cap(video); in acpi_video_bus_add()
2027 error = acpi_video_bus_check(video); in acpi_video_bus_add()
2031 mutex_init(&video->device_list_lock); in acpi_video_bus_add()
2032 INIT_LIST_HEAD(&video->video_device_list); in acpi_video_bus_add()
2034 error = acpi_video_bus_get_devices(video, device); in acpi_video_bus_add()
2040 video->flags.multihead ? "yes" : "no", in acpi_video_bus_add()
2041 video->flags.rom ? "yes" : "no", in acpi_video_bus_add()
2042 video->flags.post ? "yes" : "no"); in acpi_video_bus_add()
2044 list_add_tail(&video->entry, &video_bus_head); in acpi_video_bus_add()
2051 acpi_video_run_bcl_for_osi(video); in acpi_video_bus_add()
2052 acpi_video_bus_add_notify_handler(video); in acpi_video_bus_add()
2057 acpi_video_bus_put_devices(video); in acpi_video_bus_add()
2058 kfree(video->attached_array); in acpi_video_bus_add()
2060 kfree(video); in acpi_video_bus_add()
2068 struct acpi_video_bus *video = NULL; in acpi_video_bus_remove() local
2074 video = acpi_driver_data(device); in acpi_video_bus_remove()
2077 list_del(&video->entry); in acpi_video_bus_remove()
2080 acpi_video_bus_remove_notify_handler(video); in acpi_video_bus_remove()
2081 acpi_video_bus_unregister_backlight(video); in acpi_video_bus_remove()
2082 acpi_video_bus_put_devices(video); in acpi_video_bus_remove()
2084 kfree(video->attached_array); in acpi_video_bus_remove()
2085 kfree(video); in acpi_video_bus_remove()
2247 struct acpi_video_bus *video; in acpi_video_register_backlight() local
2250 list_for_each_entry(video, &video_bus_head, entry) in acpi_video_register_backlight()
2251 acpi_video_bus_register_backlight(video); in acpi_video_register_backlight()