Lines Matching refs:device
90 static int acpi_video_bus_add(struct acpi_device *device);
91 static int acpi_video_bus_remove(struct acpi_device *device);
92 static void acpi_video_bus_notify(struct acpi_device *device, u32 event);
151 struct acpi_device *device; member
224 struct acpi_video_device *device);
226 static int acpi_video_device_lcd_set_level(struct acpi_video_device *device,
229 struct acpi_video_device *device,
231 static int acpi_video_get_next_level(struct acpi_video_device *device,
274 struct acpi_device *device = cooling_dev->devdata; in video_get_max_state() local
275 struct acpi_video_device *video = acpi_driver_data(device); in video_get_max_state()
284 struct acpi_device *device = cooling_dev->devdata; in video_get_cur_state() local
285 struct acpi_video_device *video = acpi_driver_data(device); in video_get_cur_state()
303 struct acpi_device *device = cooling_dev->devdata; in video_set_cur_state() local
304 struct acpi_video_device *video = acpi_driver_data(device); in video_set_cur_state()
328 acpi_video_device_lcd_query_levels(struct acpi_video_device *device, in acpi_video_device_lcd_query_levels() argument
338 status = acpi_evaluate_object(device->dev->handle, "_BCL", NULL, &buffer); in acpi_video_device_lcd_query_levels()
359 acpi_video_device_lcd_set_level(struct acpi_video_device *device, int level) in acpi_video_device_lcd_set_level() argument
364 status = acpi_execute_simple_method(device->dev->handle, in acpi_video_device_lcd_set_level()
371 device->brightness->curr = level; in acpi_video_device_lcd_set_level()
372 for (state = 2; state < device->brightness->count; state++) in acpi_video_device_lcd_set_level()
373 if (level == device->brightness->levels[state]) { in acpi_video_device_lcd_set_level()
374 if (device->backlight) in acpi_video_device_lcd_set_level()
375 device->backlight->props.brightness = state - 2; in acpi_video_device_lcd_set_level()
525 acpi_video_bqc_value_to_level(struct acpi_video_device *device, in acpi_video_bqc_value_to_level() argument
530 if (device->brightness->flags._BQC_use_index) { in acpi_video_bqc_value_to_level()
536 if (device->brightness->flags._BCL_reversed) in acpi_video_bqc_value_to_level()
537 bqc_value = device->brightness->count - 3 - bqc_value; in acpi_video_bqc_value_to_level()
539 level = device->brightness->levels[bqc_value + 2]; in acpi_video_bqc_value_to_level()
550 acpi_video_device_lcd_get_level_current(struct acpi_video_device *device, in acpi_video_device_lcd_get_level_current() argument
556 if (device->cap._BQC || device->cap._BCQ) { in acpi_video_device_lcd_get_level_current()
557 char *buf = device->cap._BQC ? "_BQC" : "_BCQ"; in acpi_video_device_lcd_get_level_current()
559 status = acpi_evaluate_integer(device->dev->handle, buf, in acpi_video_device_lcd_get_level_current()
571 *level = acpi_video_bqc_value_to_level(device, *level); in acpi_video_device_lcd_get_level_current()
573 for (i = 2; i < device->brightness->count; i++) in acpi_video_device_lcd_get_level_current()
574 if (device->brightness->levels[i] == *level) { in acpi_video_device_lcd_get_level_current()
575 device->brightness->curr = *level; in acpi_video_device_lcd_get_level_current()
585 device->cap._BQC = device->cap._BCQ = 0; in acpi_video_device_lcd_get_level_current()
596 device->cap._BQC = device->cap._BCQ = 0; in acpi_video_device_lcd_get_level_current()
600 *level = device->brightness->curr; in acpi_video_device_lcd_get_level_current()
605 acpi_video_device_EDID(struct acpi_video_device *device, in acpi_video_device_EDID() argument
617 if (!device) in acpi_video_device_EDID()
626 status = acpi_evaluate_object(device->dev->handle, "_DDC", &args, &buffer); in acpi_video_device_EDID()
677 status = acpi_execute_simple_method(video->device->handle, "_DOS", in acpi_video_bus_DOS()
702 static int acpi_video_bqc_quirk(struct acpi_video_device *device, in acpi_video_bqc_quirk() argument
705 struct acpi_video_device_brightness *br = device->brightness; in acpi_video_bqc_quirk()
720 result = acpi_video_device_lcd_set_level(device, test_level); in acpi_video_bqc_quirk()
724 result = acpi_video_device_lcd_get_level_current(device, &level, true); in acpi_video_bqc_quirk()
738 device->cap._BQC = device->cap._BCQ = 0; in acpi_video_bqc_quirk()
756 acpi_video_init_brightness(struct acpi_video_device *device) in acpi_video_init_brightness() argument
766 if (!ACPI_SUCCESS(acpi_video_device_lcd_query_levels(device, &obj))) { in acpi_video_init_brightness()
839 device->brightness = br; in acpi_video_init_brightness()
844 if (!device->cap._BQC) in acpi_video_init_brightness()
847 result = acpi_video_device_lcd_get_level_current(device, in acpi_video_init_brightness()
852 result = acpi_video_bqc_quirk(device, max_level, level_old); in acpi_video_init_brightness()
859 if (!device->cap._BQC) in acpi_video_init_brightness()
862 level = acpi_video_bqc_value_to_level(device, level_old); in acpi_video_init_brightness()
876 result = acpi_video_device_lcd_set_level(device, level); in acpi_video_init_brightness()
890 device->brightness = NULL; in acpi_video_init_brightness()
906 static void acpi_video_device_find_cap(struct acpi_video_device *device) in acpi_video_device_find_cap() argument
908 if (acpi_has_method(device->dev->handle, "_ADR")) in acpi_video_device_find_cap()
909 device->cap._ADR = 1; in acpi_video_device_find_cap()
910 if (acpi_has_method(device->dev->handle, "_BCL")) in acpi_video_device_find_cap()
911 device->cap._BCL = 1; in acpi_video_device_find_cap()
912 if (acpi_has_method(device->dev->handle, "_BCM")) in acpi_video_device_find_cap()
913 device->cap._BCM = 1; in acpi_video_device_find_cap()
914 if (acpi_has_method(device->dev->handle, "_BQC")) { in acpi_video_device_find_cap()
915 device->cap._BQC = 1; in acpi_video_device_find_cap()
916 } else if (acpi_has_method(device->dev->handle, "_BCQ")) { in acpi_video_device_find_cap()
918 device->cap._BCQ = 1; in acpi_video_device_find_cap()
921 if (acpi_has_method(device->dev->handle, "_DDC")) in acpi_video_device_find_cap()
922 device->cap._DDC = 1; in acpi_video_device_find_cap()
937 if (acpi_has_method(video->device->handle, "_DOS")) in acpi_video_bus_find_cap()
939 if (acpi_has_method(video->device->handle, "_DOD")) in acpi_video_bus_find_cap()
941 if (acpi_has_method(video->device->handle, "_ROM")) in acpi_video_bus_find_cap()
943 if (acpi_has_method(video->device->handle, "_GPD")) in acpi_video_bus_find_cap()
945 if (acpi_has_method(video->device->handle, "_SPD")) in acpi_video_bus_find_cap()
947 if (acpi_has_method(video->device->handle, "_VPO")) in acpi_video_bus_find_cap()
964 dev = acpi_get_pci_dev(video->device->handle); in acpi_video_bus_check()
979 acpi_device_bid(video->device)); in acpi_video_bus_check()
1039 acpi_video_bus_get_one_device(struct acpi_device *device, in acpi_video_bus_get_one_device() argument
1048 acpi_evaluate_integer(device->handle, "_ADR", NULL, &device_id); in acpi_video_bus_get_one_device()
1057 strcpy(acpi_device_name(device), ACPI_VIDEO_DEVICE_NAME); in acpi_video_bus_get_one_device()
1058 strcpy(acpi_device_class(device), ACPI_VIDEO_CLASS); in acpi_video_bus_get_one_device()
1059 device->driver_data = data; in acpi_video_bus_get_one_device()
1063 data->dev = device; in acpi_video_bus_get_one_device()
1157 struct acpi_video_device *device) in acpi_video_device_bind() argument
1164 if (device->device_id == (ids->value.int_val & 0xffff)) { in acpi_video_device_bind()
1165 ids->bind_info = device; in acpi_video_device_bind()
1171 static bool acpi_video_device_in_dod(struct acpi_video_device *device) in acpi_video_device_in_dod() argument
1173 struct acpi_video_bus *video = device->video; in acpi_video_device_in_dod()
1186 (device->device_id & 0xfff)) in acpi_video_device_in_dod()
1214 status = acpi_evaluate_object(video->device->handle, "_DOD", NULL, &buffer); in acpi_video_device_enumerate()
1266 acpi_video_get_next_level(struct acpi_video_device *device, in acpi_video_get_next_level() argument
1273 for (i = 2; i < device->brightness->count; i++) { in acpi_video_get_next_level()
1274 l = device->brightness->levels[i]; in acpi_video_get_next_level()
1283 for (i = 2; i < device->brightness->count; i++) { in acpi_video_get_next_level()
1284 l = device->brightness->levels[i]; in acpi_video_get_next_level()
1313 struct acpi_video_device *device = container_of(to_delayed_work(work), in acpi_video_switch_brightness() local
1316 int event = device->switch_brightness_event; in acpi_video_switch_brightness()
1320 if (!device->backlight) in acpi_video_switch_brightness()
1323 if (!device->brightness) in acpi_video_switch_brightness()
1326 result = acpi_video_device_lcd_get_level_current(device, in acpi_video_switch_brightness()
1332 level_next = acpi_video_get_next_level(device, level_current, event); in acpi_video_switch_brightness()
1334 result = acpi_video_device_lcd_set_level(device, level_next); in acpi_video_switch_brightness()
1337 backlight_force_update(device->backlight, in acpi_video_switch_brightness()
1345 int acpi_video_get_edid(struct acpi_device *device, int type, int device_id, in acpi_video_get_edid() argument
1354 if (!device || !acpi_driver_data(device)) in acpi_video_get_edid()
1357 video = acpi_driver_data(device); in acpi_video_get_edid()
1415 struct acpi_device *device) in acpi_video_bus_get_devices() argument
1427 list_for_each_entry(dev, &device->children, node) { in acpi_video_bus_get_devices()
1457 static void acpi_video_bus_notify(struct acpi_device *device, u32 event) in acpi_video_bus_notify() argument
1459 struct acpi_video_bus *video = acpi_driver_data(device); in acpi_video_bus_notify()
1497 if (acpi_notifier_call_chain(device, event, 0)) in acpi_video_bus_notify()
1524 struct acpi_device *device = NULL; in acpi_video_device_notify() local
1532 device = video_device->dev; in acpi_video_device_notify()
1563 acpi_notifier_call_chain(device, event, 0); in acpi_video_device_notify()
1591 dev_info(&video->device->dev, "Restoring backlight state\n"); in acpi_video_resume()
1607 struct acpi_device *device = context; in acpi_video_bus_match() local
1611 if (handle == device->handle) in acpi_video_bus_match()
1624 static void acpi_video_dev_register_backlight(struct acpi_video_device *device) in acpi_video_dev_register_backlight() argument
1629 struct device *parent = NULL; in acpi_video_dev_register_backlight()
1634 result = acpi_video_init_brightness(device); in acpi_video_dev_register_backlight()
1646 acpi_get_parent(device->dev->handle, &acpi_parent); in acpi_video_dev_register_backlight()
1656 props.max_brightness = device->brightness->count - 3; in acpi_video_dev_register_backlight()
1657 device->backlight = backlight_device_register(name, in acpi_video_dev_register_backlight()
1659 device, in acpi_video_dev_register_backlight()
1663 if (IS_ERR(device->backlight)) { in acpi_video_dev_register_backlight()
1664 device->backlight = NULL; in acpi_video_dev_register_backlight()
1672 device->backlight->props.brightness = in acpi_video_dev_register_backlight()
1673 acpi_video_get_brightness(device->backlight); in acpi_video_dev_register_backlight()
1675 device->cooling_dev = thermal_cooling_device_register("LCD", in acpi_video_dev_register_backlight()
1676 device->dev, &video_cooling_ops); in acpi_video_dev_register_backlight()
1677 if (IS_ERR(device->cooling_dev)) { in acpi_video_dev_register_backlight()
1684 device->cooling_dev = NULL; in acpi_video_dev_register_backlight()
1688 dev_info(&device->dev->dev, "registered as cooling_device%d\n", in acpi_video_dev_register_backlight()
1689 device->cooling_dev->id); in acpi_video_dev_register_backlight()
1690 result = sysfs_create_link(&device->dev->dev.kobj, in acpi_video_dev_register_backlight()
1691 &device->cooling_dev->device.kobj, in acpi_video_dev_register_backlight()
1695 result = sysfs_create_link(&device->cooling_dev->device.kobj, in acpi_video_dev_register_backlight()
1696 &device->dev->dev.kobj, "device"); in acpi_video_dev_register_backlight()
1756 static void acpi_video_dev_unregister_backlight(struct acpi_video_device *device) in acpi_video_dev_unregister_backlight() argument
1758 if (device->backlight) { in acpi_video_dev_unregister_backlight()
1759 backlight_device_unregister(device->backlight); in acpi_video_dev_unregister_backlight()
1760 device->backlight = NULL; in acpi_video_dev_unregister_backlight()
1762 if (device->brightness) { in acpi_video_dev_unregister_backlight()
1763 kfree(device->brightness->levels); in acpi_video_dev_unregister_backlight()
1764 kfree(device->brightness); in acpi_video_dev_unregister_backlight()
1765 device->brightness = NULL; in acpi_video_dev_unregister_backlight()
1767 if (device->cooling_dev) { in acpi_video_dev_unregister_backlight()
1768 sysfs_remove_link(&device->dev->dev.kobj, "thermal_cooling"); in acpi_video_dev_unregister_backlight()
1769 sysfs_remove_link(&device->cooling_dev->device.kobj, "device"); in acpi_video_dev_unregister_backlight()
1770 thermal_cooling_device_unregister(device->cooling_dev); in acpi_video_dev_unregister_backlight()
1771 device->cooling_dev = NULL; in acpi_video_dev_unregister_backlight()
1795 static void acpi_video_dev_add_notify_handler(struct acpi_video_device *device) in acpi_video_dev_add_notify_handler() argument
1798 struct acpi_device *adev = device->dev; in acpi_video_dev_add_notify_handler()
1801 acpi_video_device_notify, device); in acpi_video_dev_add_notify_handler()
1805 device->flags.notify = 1; in acpi_video_dev_add_notify_handler()
1825 "%s/video/input0", acpi_device_hid(video->device)); in acpi_video_bus_add_notify_handler()
1827 input->name = acpi_device_name(video->device); in acpi_video_bus_add_notify_handler()
1831 input->dev.parent = &video->device->dev; in acpi_video_bus_add_notify_handler()
1901 static int acpi_video_bus_add(struct acpi_device *device) in acpi_video_bus_add() argument
1908 device->parent->handle, 1, in acpi_video_bus_add()
1910 device, NULL); in acpi_video_bus_add()
1926 if (!strcmp(device->pnp.bus_id, "VID")) { in acpi_video_bus_add()
1928 device->pnp.bus_id[3] = '0' + instance; in acpi_video_bus_add()
1932 if (!strcmp(device->pnp.bus_id, "VGA")) { in acpi_video_bus_add()
1934 device->pnp.bus_id[3] = '0' + instance; in acpi_video_bus_add()
1938 video->device = device; in acpi_video_bus_add()
1939 strcpy(acpi_device_name(device), ACPI_VIDEO_BUS_NAME); in acpi_video_bus_add()
1940 strcpy(acpi_device_class(device), ACPI_VIDEO_CLASS); in acpi_video_bus_add()
1941 device->driver_data = video; in acpi_video_bus_add()
1951 error = acpi_video_bus_get_devices(video, device); in acpi_video_bus_add()
1956 ACPI_VIDEO_DEVICE_NAME, acpi_device_bid(device), in acpi_video_bus_add()
1974 device->driver_data = NULL; in acpi_video_bus_add()
1979 static int acpi_video_bus_remove(struct acpi_device *device) in acpi_video_bus_remove() argument
1984 if (!device || !acpi_driver_data(device)) in acpi_video_bus_remove()
1987 video = acpi_driver_data(device); in acpi_video_bus_remove()
2005 if (dev->device == 0x00D1) in is_i740()
2007 if (dev->device == 0x7000) in is_i740()