.. | .. |
---|
86 | 86 | { KE_IGNORE, 0x293, { KEY_KBDILLUMTOGGLE } }, |
---|
87 | 87 | { KE_IGNORE, 0x294, { KEY_KBDILLUMUP } }, |
---|
88 | 88 | { KE_IGNORE, 0x295, { KEY_KBDILLUMUP } }, |
---|
| 89 | + // Ignore Ambient Light Sensoring |
---|
| 90 | + { KE_KEY, 0x2c1, { KEY_RESERVED } }, |
---|
89 | 91 | { KE_END, 0 } |
---|
90 | 92 | }; |
---|
91 | 93 | |
---|
.. | .. |
---|
760 | 762 | const char *guid, |
---|
761 | 763 | struct input_dev **idev) |
---|
762 | 764 | { |
---|
| 765 | + acpi_status status; |
---|
| 766 | + int err; |
---|
| 767 | + |
---|
763 | 768 | *idev = devm_input_allocate_device(dev); |
---|
764 | 769 | if (!*idev) |
---|
765 | 770 | return -ENOMEM; |
---|
.. | .. |
---|
769 | 774 | (*idev)->id.bustype = BUS_HOST; |
---|
770 | 775 | (*idev)->dev.parent = dev; |
---|
771 | 776 | |
---|
772 | | - return sparse_keymap_setup(*idev, huawei_wmi_keymap, NULL) || |
---|
773 | | - input_register_device(*idev) || |
---|
774 | | - wmi_install_notify_handler(guid, huawei_wmi_input_notify, |
---|
775 | | - *idev); |
---|
| 777 | + err = sparse_keymap_setup(*idev, huawei_wmi_keymap, NULL); |
---|
| 778 | + if (err) |
---|
| 779 | + return err; |
---|
| 780 | + |
---|
| 781 | + err = input_register_device(*idev); |
---|
| 782 | + if (err) |
---|
| 783 | + return err; |
---|
| 784 | + |
---|
| 785 | + status = wmi_install_notify_handler(guid, huawei_wmi_input_notify, *idev); |
---|
| 786 | + if (ACPI_FAILURE(status)) |
---|
| 787 | + return -EIO; |
---|
| 788 | + |
---|
| 789 | + return 0; |
---|
776 | 790 | } |
---|
777 | 791 | |
---|
778 | 792 | static void huawei_wmi_input_exit(struct device *dev, const char *guid) |
---|