Lines Matching full:huawei
3 * Huawei WMI laptop extras driver
24 * Huawei WMI GUIDs
83 // Huawei |M| key
127 .ident = "Huawei MACH-WX9",
129 DMI_MATCH(DMI_SYS_VENDOR, "HUAWEI"),
136 .ident = "Huawei MateBook X",
138 DMI_MATCH(DMI_SYS_VENDOR, "HUAWEI"),
139 DMI_MATCH(DMI_PRODUCT_NAME, "HUAWEI MateBook X")
148 static int huawei_wmi_call(struct huawei_wmi *huawei, in huawei_wmi_call() argument
153 mutex_lock(&huawei->wmi_lock); in huawei_wmi_call()
155 mutex_unlock(&huawei->wmi_lock); in huawei_wmi_call()
157 dev_err(huawei->dev, "Failed to evaluate wmi method\n"); in huawei_wmi_call()
174 struct huawei_wmi *huawei = huawei_wmi; in huawei_wmi_cmd() local
188 err = huawei_wmi_call(huawei, &in, &out); in huawei_wmi_cmd()
208 dev_err(huawei->dev, "Bad buffer length, got %d\n", obj->buffer.length); in huawei_wmi_cmd()
219 dev_err(huawei->dev, "Bad package count, got %d\n", obj->package.count); in huawei_wmi_cmd()
226 dev_err(huawei->dev, "Bad package element type, got %d\n", obj->type); in huawei_wmi_cmd()
235 dev_err(huawei->dev, "Unexpected obj type, got: %d\n", obj->type); in huawei_wmi_cmd()
308 struct huawei_wmi *huawei = dev_get_drvdata(dev); in huawei_wmi_leds_setup() local
310 huawei->cdev.name = "platform::micmute"; in huawei_wmi_leds_setup()
311 huawei->cdev.max_brightness = 1; in huawei_wmi_leds_setup()
312 huawei->cdev.brightness_set_blocking = &huawei_wmi_micmute_led_set; in huawei_wmi_leds_setup()
313 huawei->cdev.default_trigger = "audio-micmute"; in huawei_wmi_leds_setup()
314 huawei->cdev.brightness = ledtrig_audio_get(LED_AUDIO_MICMUTE); in huawei_wmi_leds_setup()
315 huawei->cdev.dev = dev; in huawei_wmi_leds_setup()
316 huawei->cdev.flags = LED_CORE_SUSPENDRESUME; in huawei_wmi_leds_setup()
318 devm_led_classdev_register(dev, &huawei->cdev); in huawei_wmi_leds_setup()
499 .name = "Huawei Battery Extension"
504 struct huawei_wmi *huawei = dev_get_drvdata(dev); in huawei_wmi_battery_setup() local
506 huawei->battery_available = true; in huawei_wmi_battery_setup()
508 huawei->battery_available = false; in huawei_wmi_battery_setup()
518 struct huawei_wmi *huawei = dev_get_drvdata(dev); in huawei_wmi_battery_exit() local
520 if (huawei->battery_available) { in huawei_wmi_battery_exit()
591 struct huawei_wmi *huawei = dev_get_drvdata(dev); in huawei_wmi_fn_lock_setup() local
593 huawei->fn_lock_available = true; in huawei_wmi_fn_lock_setup()
595 huawei->fn_lock_available = false; in huawei_wmi_fn_lock_setup()
604 struct huawei_wmi *huawei = dev_get_drvdata(dev); in huawei_wmi_fn_lock_exit() local
606 if (huawei->fn_lock_available) in huawei_wmi_fn_lock_exit()
615 struct huawei_wmi *huawei = m->private; in huawei_wmi_debugfs_call_dump() local
637 huawei_wmi_debugfs_call_dump(m, huawei, &obj->package.elements[i]); in huawei_wmi_debugfs_call_dump()
644 dev_err(huawei->dev, "Unexpected obj type, got %d\n", obj->type); in huawei_wmi_debugfs_call_dump()
651 struct huawei_wmi *huawei = m->private; in huawei_wmi_debugfs_call_show() local
658 in.pointer = &huawei->debug.arg; in huawei_wmi_debugfs_call_show()
660 err = huawei_wmi_call(huawei, &in, &out); in huawei_wmi_debugfs_call_show()
670 huawei_wmi_debugfs_call_dump(m, huawei, obj); in huawei_wmi_debugfs_call_show()
681 struct huawei_wmi *huawei = dev_get_drvdata(dev); in huawei_wmi_debugfs_setup() local
683 huawei->debug.root = debugfs_create_dir("huawei-wmi", NULL); in huawei_wmi_debugfs_setup()
685 debugfs_create_x64("arg", 0644, huawei->debug.root, in huawei_wmi_debugfs_setup()
686 &huawei->debug.arg); in huawei_wmi_debugfs_setup()
688 huawei->debug.root, huawei, &huawei_wmi_debugfs_call_fops); in huawei_wmi_debugfs_setup()
693 struct huawei_wmi *huawei = dev_get_drvdata(dev); in huawei_wmi_debugfs_exit() local
695 debugfs_remove_recursive(huawei->debug.root); in huawei_wmi_debugfs_exit()
772 (*idev)->name = "Huawei WMI hotkeys"; in huawei_wmi_input_setup()
797 /* Huawei driver */
862 .name = "huawei-wmi",
888 pdev = platform_device_register_simple("huawei-wmi", -1, NULL, 0); in huawei_wmi_init()
919 MODULE_DESCRIPTION("Huawei WMI laptop extras driver");