.. | .. |
---|
458 | 458 | static int intel_hid_probe(struct platform_device *device) |
---|
459 | 459 | { |
---|
460 | 460 | acpi_handle handle = ACPI_HANDLE(&device->dev); |
---|
461 | | - unsigned long long mode; |
---|
| 461 | + unsigned long long mode, dummy; |
---|
462 | 462 | struct intel_hid_priv *priv; |
---|
463 | 463 | acpi_status status; |
---|
464 | 464 | int err; |
---|
.. | .. |
---|
510 | 510 | if (err) |
---|
511 | 511 | goto err_remove_notify; |
---|
512 | 512 | |
---|
513 | | - if (priv->array) { |
---|
514 | | - unsigned long long dummy; |
---|
| 513 | + intel_button_array_enable(&device->dev, true); |
---|
515 | 514 | |
---|
516 | | - intel_button_array_enable(&device->dev, true); |
---|
517 | | - |
---|
518 | | - /* Call button load method to enable HID power button */ |
---|
519 | | - if (!intel_hid_evaluate_method(handle, INTEL_HID_DSM_BTNL_FN, |
---|
520 | | - &dummy)) { |
---|
521 | | - dev_warn(&device->dev, |
---|
522 | | - "failed to enable HID power button\n"); |
---|
523 | | - } |
---|
524 | | - } |
---|
| 515 | + /* |
---|
| 516 | + * Call button load method to enable HID power button |
---|
| 517 | + * Always do this since it activates events on some devices without |
---|
| 518 | + * a button array too. |
---|
| 519 | + */ |
---|
| 520 | + if (!intel_hid_evaluate_method(handle, INTEL_HID_DSM_BTNL_FN, &dummy)) |
---|
| 521 | + dev_warn(&device->dev, "failed to enable HID power button\n"); |
---|
525 | 522 | |
---|
526 | 523 | device_init_wakeup(&device->dev, true); |
---|
527 | 524 | /* |
---|