| .. | .. |
|---|
| 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) |
|---|