Lines Matching refs:drvdata

324 	struct asus_drvdata *drvdata = hid_get_drvdata(hdev);  in asus_raw_event()  local
326 if (drvdata->battery && data[0] == BATTERY_REPORT_ID) in asus_raw_event()
327 return asus_report_battery(drvdata, data, size); in asus_raw_event()
329 if (drvdata->tp && data[0] == INPUT_REPORT_ID) in asus_raw_event()
330 return asus_report_input(drvdata, data, size); in asus_raw_event()
332 if (drvdata->quirks & QUIRK_MEDION_E1239T) in asus_raw_event()
333 return asus_e1239t_event(drvdata, data, size); in asus_raw_event()
459 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_kbd_register_leds() local
477 drvdata->kbd_backlight = devm_kzalloc(&hdev->dev, in asus_kbd_register_leds()
480 if (!drvdata->kbd_backlight) in asus_kbd_register_leds()
483 drvdata->kbd_backlight->removed = false; in asus_kbd_register_leds()
484 drvdata->kbd_backlight->brightness = 0; in asus_kbd_register_leds()
485 drvdata->kbd_backlight->hdev = hdev; in asus_kbd_register_leds()
486 drvdata->kbd_backlight->cdev.name = "asus::kbd_backlight"; in asus_kbd_register_leds()
487 drvdata->kbd_backlight->cdev.max_brightness = 3; in asus_kbd_register_leds()
488 drvdata->kbd_backlight->cdev.brightness_set = asus_kbd_backlight_set; in asus_kbd_register_leds()
489 drvdata->kbd_backlight->cdev.brightness_get = asus_kbd_backlight_get; in asus_kbd_register_leds()
490 INIT_WORK(&drvdata->kbd_backlight->work, asus_kbd_backlight_work); in asus_kbd_register_leds()
492 ret = devm_led_classdev_register(&hdev->dev, &drvdata->kbd_backlight->cdev); in asus_kbd_register_leds()
495 devm_kfree(&hdev->dev, drvdata->kbd_backlight); in asus_kbd_register_leds()
510 static int asus_parse_battery(struct asus_drvdata *drvdata, u8 *data, int size) in asus_parse_battery() argument
519 drvdata->battery_capacity = ((int)lvl * 100) / (int)BATTERY_LEVEL_MAX; in asus_parse_battery()
533 drvdata->battery_stat = val; in asus_parse_battery()
538 static int asus_report_battery(struct asus_drvdata *drvdata, u8 *data, int size) in asus_report_battery() argument
541 if ((drvdata->battery_in_query == false) && in asus_report_battery()
543 power_supply_changed(drvdata->battery); in asus_report_battery()
548 static int asus_battery_query(struct asus_drvdata *drvdata) in asus_battery_query() argument
557 drvdata->battery_in_query = true; in asus_battery_query()
558 ret = hid_hw_raw_request(drvdata->hdev, BATTERY_REPORT_ID, in asus_battery_query()
561 drvdata->battery_in_query = false; in asus_battery_query()
563 ret = asus_parse_battery(drvdata, buf, BATTERY_REPORT_SIZE); in asus_battery_query()
586 struct asus_drvdata *drvdata = power_supply_get_drvdata(psy); in asus_battery_get_property() local
592 if (time_before(drvdata->battery_next_query, jiffies)) { in asus_battery_get_property()
593 drvdata->battery_next_query = in asus_battery_get_property()
595 ret = asus_battery_query(drvdata); in asus_battery_get_property()
600 val->intval = drvdata->battery_stat; in asus_battery_get_property()
602 val->intval = drvdata->battery_capacity; in asus_battery_get_property()
611 val->strval = drvdata->hdev->name; in asus_battery_get_property()
623 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_battery_probe() local
624 struct power_supply_config pscfg = { .drv_data = drvdata }; in asus_battery_probe()
627 drvdata->battery_capacity = 0; in asus_battery_probe()
628 drvdata->battery_stat = POWER_SUPPLY_STATUS_UNKNOWN; in asus_battery_probe()
629 drvdata->battery_in_query = false; in asus_battery_probe()
631 drvdata->battery_desc.properties = asus_battery_props; in asus_battery_probe()
632 drvdata->battery_desc.num_properties = ARRAY_SIZE(asus_battery_props); in asus_battery_probe()
633 drvdata->battery_desc.get_property = asus_battery_get_property; in asus_battery_probe()
634 drvdata->battery_desc.type = POWER_SUPPLY_TYPE_BATTERY; in asus_battery_probe()
635 drvdata->battery_desc.use_for_apm = 0; in asus_battery_probe()
636 drvdata->battery_desc.name = devm_kasprintf(&hdev->dev, GFP_KERNEL, in asus_battery_probe()
640 if (!drvdata->battery_desc.name) in asus_battery_probe()
643 drvdata->battery_next_query = jiffies; in asus_battery_probe()
645 drvdata->battery = devm_power_supply_register(&hdev->dev, in asus_battery_probe()
646 &(drvdata->battery_desc), &pscfg); in asus_battery_probe()
647 if (IS_ERR(drvdata->battery)) { in asus_battery_probe()
648 ret = PTR_ERR(drvdata->battery); in asus_battery_probe()
649 drvdata->battery = NULL; in asus_battery_probe()
654 power_supply_powers(drvdata->battery, &hdev->dev); in asus_battery_probe()
662 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_input_configured() local
665 if (drvdata->quirks & QUIRK_T100CHI && in asus_input_configured()
670 if (drvdata->tp && (drvdata->quirks & QUIRK_MEDION_E1239T)) { in asus_input_configured()
675 drvdata->tp_kbd_input = input; in asus_input_configured()
684 if (drvdata->tp) { in asus_input_configured()
688 drvdata->tp->max_x, 0, 0); in asus_input_configured()
690 drvdata->tp->max_y, 0, 0); in asus_input_configured()
691 input_abs_set_res(input, ABS_MT_POSITION_X, drvdata->tp->res_x); in asus_input_configured()
692 input_abs_set_res(input, ABS_MT_POSITION_Y, drvdata->tp->res_y); in asus_input_configured()
694 if (drvdata->tp->contact_size >= 5) { in asus_input_configured()
706 ret = input_mt_init_slots(input, drvdata->tp->max_contacts, in asus_input_configured()
715 drvdata->input = input; in asus_input_configured()
717 if (drvdata->enable_backlight && in asus_input_configured()
732 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_input_mapping() local
734 if (drvdata->quirks & QUIRK_SKIP_INPUT_MAPPING) { in asus_input_mapping()
746 if ((drvdata->quirks & (QUIRK_T100CHI | QUIRK_T90CHI)) && in asus_input_mapping()
795 if (drvdata->quirks & QUIRK_USE_KBD_BACKLIGHT) in asus_input_mapping()
796 drvdata->enable_backlight = true; in asus_input_mapping()
829 if (drvdata->quirks & QUIRK_NO_CONSUMER_USAGES && in asus_input_mapping()
848 if ((drvdata->quirks & QUIRK_MEDION_E1239T) && in asus_input_mapping()
886 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_reset_resume() local
888 if (drvdata->tp) in asus_reset_resume()
897 struct asus_drvdata *drvdata; in asus_probe() local
899 drvdata = devm_kzalloc(&hdev->dev, sizeof(*drvdata), GFP_KERNEL); in asus_probe()
900 if (drvdata == NULL) { in asus_probe()
905 hid_set_drvdata(hdev, drvdata); in asus_probe()
907 drvdata->quirks = id->driver_data; in asus_probe()
914 drvdata->quirks &= ~QUIRK_T100CHI; in asus_probe()
915 drvdata->quirks |= QUIRK_T90CHI; in asus_probe()
918 if (drvdata->quirks & QUIRK_IS_MULTITOUCH) in asus_probe()
919 drvdata->tp = &asus_i2c_tp; in asus_probe()
921 if ((drvdata->quirks & QUIRK_T100_KEYBOARD) && hid_is_usb(hdev)) { in asus_probe()
925 drvdata->quirks = QUIRK_SKIP_INPUT_MAPPING; in asus_probe()
932 drvdata->tp = &asus_t100ha_tp; in asus_probe()
934 drvdata->tp = &asus_t200ta_tp; in asus_probe()
936 drvdata->tp = &asus_t100ta_tp; in asus_probe()
940 if (drvdata->quirks & QUIRK_T100CHI) { in asus_probe()
946 drvdata->tp = &asus_t100chi_tp; in asus_probe()
949 if ((drvdata->quirks & QUIRK_MEDION_E1239T) && hid_is_usb(hdev)) { in asus_probe()
956 drvdata->quirks |= QUIRK_SKIP_INPUT_MAPPING; in asus_probe()
957 drvdata->tp = &medion_e1239t_tp; in asus_probe()
961 if (drvdata->quirks & QUIRK_NO_INIT_REPORTS) in asus_probe()
964 drvdata->hdev = hdev; in asus_probe()
966 if (drvdata->quirks & (QUIRK_T100CHI | QUIRK_T90CHI)) { in asus_probe()
992 if (!drvdata->input) { in asus_probe()
998 if (drvdata->tp) { in asus_probe()
999 drvdata->input->name = "Asus TouchPad"; in asus_probe()
1001 drvdata->input->name = "Asus Keyboard"; in asus_probe()
1004 if (drvdata->tp) { in asus_probe()
1018 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_remove() local
1020 if (drvdata->kbd_backlight) { in asus_remove()
1021 drvdata->kbd_backlight->removed = true; in asus_remove()
1022 cancel_work_sync(&drvdata->kbd_backlight->work); in asus_remove()
1036 struct asus_drvdata *drvdata = hid_get_drvdata(hdev); in asus_report_fixup() local
1038 if (drvdata->quirks & QUIRK_FIX_NOTEBOOK_REPORT && in asus_report_fixup()
1044 if (drvdata->quirks & QUIRK_T100_KEYBOARD && in asus_report_fixup()
1051 if (drvdata->quirks & (QUIRK_T100CHI | QUIRK_T90CHI)) { in asus_report_fixup()
1055 if (drvdata->quirks & QUIRK_T100CHI) { in asus_report_fixup()
1077 drvdata->quirks & QUIRK_T100CHI ? in asus_report_fixup()
1088 if (drvdata->quirks & QUIRK_G752_KEYBOARD && in asus_report_fixup()