Lines Matching refs:drvdata
275 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_raw_event() local
277 if (drvdata->battery && data[0] == BATTERY_REPORT_ID) in asus_raw_event()
278 return asus_report_battery(drvdata, data, size); in asus_raw_event()
280 if (drvdata->tp && data[0] == INPUT_REPORT_ID) in asus_raw_event()
281 return asus_report_input(drvdata, data, size); in asus_raw_event()
407 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_kbd_register_leds() local
425 drvdata->kbd_backlight = devm_kzalloc(&hdev->dev, in asus_kbd_register_leds()
428 if (!drvdata->kbd_backlight) in asus_kbd_register_leds()
431 drvdata->kbd_backlight->removed = false; in asus_kbd_register_leds()
432 drvdata->kbd_backlight->brightness = 0; in asus_kbd_register_leds()
433 drvdata->kbd_backlight->hdev = hdev; in asus_kbd_register_leds()
434 drvdata->kbd_backlight->cdev.name = "asus::kbd_backlight"; in asus_kbd_register_leds()
435 drvdata->kbd_backlight->cdev.max_brightness = 3; in asus_kbd_register_leds()
436 drvdata->kbd_backlight->cdev.brightness_set = asus_kbd_backlight_set; in asus_kbd_register_leds()
437 drvdata->kbd_backlight->cdev.brightness_get = asus_kbd_backlight_get; in asus_kbd_register_leds()
438 INIT_WORK(&drvdata->kbd_backlight->work, asus_kbd_backlight_work); in asus_kbd_register_leds()
440 ret = devm_led_classdev_register(&hdev->dev, &drvdata->kbd_backlight->cdev); in asus_kbd_register_leds()
443 devm_kfree(&hdev->dev, drvdata->kbd_backlight); in asus_kbd_register_leds()
458 static int asus_parse_battery(struct asus_drvdata *drvdata, u8 *data, int size) in asus_parse_battery() argument
467 drvdata->battery_capacity = ((int)lvl * 100) / (int)BATTERY_LEVEL_MAX; in asus_parse_battery()
481 drvdata->battery_stat = val; in asus_parse_battery()
486 static int asus_report_battery(struct asus_drvdata *drvdata, u8 *data, int size) in asus_report_battery() argument
489 if ((drvdata->battery_in_query == false) && in asus_report_battery()
491 power_supply_changed(drvdata->battery); in asus_report_battery()
496 static int asus_battery_query(struct asus_drvdata *drvdata) in asus_battery_query() argument
505 drvdata->battery_in_query = true; in asus_battery_query()
506 ret = hid_hw_raw_request(drvdata->hdev, BATTERY_REPORT_ID, in asus_battery_query()
509 drvdata->battery_in_query = false; in asus_battery_query()
511 ret = asus_parse_battery(drvdata, buf, BATTERY_REPORT_SIZE); in asus_battery_query()
534 struct asus_drvdata *drvdata = power_supply_get_drvdata(psy); in asus_battery_get_property() local
540 if (time_before(drvdata->battery_next_query, jiffies)) { in asus_battery_get_property()
541 drvdata->battery_next_query = in asus_battery_get_property()
543 ret = asus_battery_query(drvdata); in asus_battery_get_property()
548 val->intval = drvdata->battery_stat; in asus_battery_get_property()
550 val->intval = drvdata->battery_capacity; in asus_battery_get_property()
559 val->strval = drvdata->hdev->name; in asus_battery_get_property()
571 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_battery_probe() local
572 struct power_supply_config pscfg = { .drv_data = drvdata }; in asus_battery_probe()
575 drvdata->battery_capacity = 0; in asus_battery_probe()
576 drvdata->battery_stat = POWER_SUPPLY_STATUS_UNKNOWN; in asus_battery_probe()
577 drvdata->battery_in_query = false; in asus_battery_probe()
579 drvdata->battery_desc.properties = asus_battery_props; in asus_battery_probe()
580 drvdata->battery_desc.num_properties = ARRAY_SIZE(asus_battery_props); in asus_battery_probe()
581 drvdata->battery_desc.get_property = asus_battery_get_property; in asus_battery_probe()
582 drvdata->battery_desc.type = POWER_SUPPLY_TYPE_BATTERY; in asus_battery_probe()
583 drvdata->battery_desc.use_for_apm = 0; in asus_battery_probe()
584 drvdata->battery_desc.name = devm_kasprintf(&hdev->dev, GFP_KERNEL, in asus_battery_probe()
588 if (!drvdata->battery_desc.name) in asus_battery_probe()
591 drvdata->battery_next_query = jiffies; in asus_battery_probe()
593 drvdata->battery = devm_power_supply_register(&hdev->dev, in asus_battery_probe()
594 &(drvdata->battery_desc), &pscfg); in asus_battery_probe()
595 if (IS_ERR(drvdata->battery)) { in asus_battery_probe()
596 ret = PTR_ERR(drvdata->battery); in asus_battery_probe()
597 drvdata->battery = NULL; in asus_battery_probe()
602 power_supply_powers(drvdata->battery, &hdev->dev); in asus_battery_probe()
610 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_input_configured() local
613 if (drvdata->quirks & QUIRK_T100CHI && in asus_input_configured()
617 if (drvdata->tp) { in asus_input_configured()
621 drvdata->tp->max_x, 0, 0); in asus_input_configured()
623 drvdata->tp->max_y, 0, 0); in asus_input_configured()
624 input_abs_set_res(input, ABS_MT_POSITION_X, drvdata->tp->res_x); in asus_input_configured()
625 input_abs_set_res(input, ABS_MT_POSITION_Y, drvdata->tp->res_y); in asus_input_configured()
627 if (drvdata->tp->contact_size >= 5) { in asus_input_configured()
639 ret = input_mt_init_slots(input, drvdata->tp->max_contacts, in asus_input_configured()
648 drvdata->input = input; in asus_input_configured()
650 if (drvdata->enable_backlight && in asus_input_configured()
665 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_input_mapping() local
667 if (drvdata->quirks & QUIRK_SKIP_INPUT_MAPPING) { in asus_input_mapping()
679 if (drvdata->quirks & (QUIRK_T100CHI | QUIRK_T90CHI)) { in asus_input_mapping()
736 if (drvdata->quirks & QUIRK_USE_KBD_BACKLIGHT) in asus_input_mapping()
737 drvdata->enable_backlight = true; in asus_input_mapping()
769 if (drvdata->quirks & QUIRK_NO_CONSUMER_USAGES && in asus_input_mapping()
816 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_reset_resume() local
818 if (drvdata->tp) in asus_reset_resume()
827 struct asus_drvdata *drvdata; in asus_probe() local
829 drvdata = devm_kzalloc(&hdev->dev, sizeof(*drvdata), GFP_KERNEL); in asus_probe()
830 if (drvdata == NULL) { in asus_probe()
835 hid_set_drvdata(hdev, drvdata); in asus_probe()
837 drvdata->quirks = id->driver_data; in asus_probe()
844 drvdata->quirks &= ~QUIRK_T100CHI; in asus_probe()
845 drvdata->quirks |= QUIRK_T90CHI; in asus_probe()
848 if (drvdata->quirks & QUIRK_IS_MULTITOUCH) in asus_probe()
849 drvdata->tp = &asus_i2c_tp; in asus_probe()
851 if (drvdata->quirks & QUIRK_T100_KEYBOARD) { in asus_probe()
855 drvdata->quirks = QUIRK_SKIP_INPUT_MAPPING; in asus_probe()
862 drvdata->tp = &asus_t100ha_tp; in asus_probe()
864 drvdata->tp = &asus_t200ta_tp; in asus_probe()
866 drvdata->tp = &asus_t100ta_tp; in asus_probe()
870 if (drvdata->quirks & QUIRK_T100CHI) { in asus_probe()
876 drvdata->tp = &asus_t100chi_tp; in asus_probe()
879 if (drvdata->quirks & QUIRK_NO_INIT_REPORTS) in asus_probe()
882 drvdata->hdev = hdev; in asus_probe()
884 if (drvdata->quirks & (QUIRK_T100CHI | QUIRK_T90CHI)) { in asus_probe()
910 if (!drvdata->input) { in asus_probe()
916 if (drvdata->tp) { in asus_probe()
917 drvdata->input->name = "Asus TouchPad"; in asus_probe()
919 drvdata->input->name = "Asus Keyboard"; in asus_probe()
922 if (drvdata->tp) { in asus_probe()
936 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_remove() local
938 if (drvdata->kbd_backlight) { in asus_remove()
939 drvdata->kbd_backlight->removed = true; in asus_remove()
940 cancel_work_sync(&drvdata->kbd_backlight->work); in asus_remove()
954 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_report_fixup() local
956 if (drvdata->quirks & QUIRK_FIX_NOTEBOOK_REPORT && in asus_report_fixup()
962 if (drvdata->quirks & QUIRK_T100_KEYBOARD && in asus_report_fixup()
969 if (drvdata->quirks & (QUIRK_T100CHI | QUIRK_T90CHI)) { in asus_report_fixup()
973 if (drvdata->quirks & QUIRK_T100CHI) { in asus_report_fixup()
995 drvdata->quirks & QUIRK_T100CHI ? in asus_report_fixup()
1006 if (drvdata->quirks & QUIRK_G752_KEYBOARD && in asus_report_fixup()