Skip to content

Commit 743b357

Browse files
author
Jiri Kosina
committed
Merge branch 'for-5.13/elan' into for-linus
- Mute LED support fixes for Elantech driver from Hans de Goede
2 parents 590ade8 + ba3f929 commit 743b357

File tree

1 file changed

+5
-12
lines changed

1 file changed

+5
-12
lines changed

drivers/hid/hid-elan.c

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -410,15 +410,6 @@ static int elan_start_multitouch(struct hid_device *hdev)
410410
return 0;
411411
}
412412

413-
static enum led_brightness elan_mute_led_get_brigtness(struct led_classdev *led_cdev)
414-
{
415-
struct device *dev = led_cdev->dev->parent;
416-
struct hid_device *hdev = to_hid_device(dev);
417-
struct elan_drvdata *drvdata = hid_get_drvdata(hdev);
418-
419-
return drvdata->mute_led_state;
420-
}
421-
422413
static int elan_mute_led_set_brigtness(struct led_classdev *led_cdev,
423414
enum led_brightness value)
424415
{
@@ -445,8 +436,9 @@ static int elan_mute_led_set_brigtness(struct led_classdev *led_cdev,
445436
kfree(dmabuf);
446437

447438
if (ret != ELAN_LED_REPORT_SIZE) {
448-
hid_err(hdev, "Failed to set mute led brightness: %d\n", ret);
449-
return ret;
439+
if (ret != -ENODEV)
440+
hid_err(hdev, "Failed to set mute led brightness: %d\n", ret);
441+
return ret < 0 ? ret : -EIO;
450442
}
451443

452444
drvdata->mute_led_state = led_state;
@@ -459,9 +451,10 @@ static int elan_init_mute_led(struct hid_device *hdev)
459451
struct led_classdev *mute_led = &drvdata->mute_led;
460452

461453
mute_led->name = "elan:red:mute";
462-
mute_led->brightness_get = elan_mute_led_get_brigtness;
454+
mute_led->default_trigger = "audio-mute";
463455
mute_led->brightness_set_blocking = elan_mute_led_set_brigtness;
464456
mute_led->max_brightness = LED_ON;
457+
mute_led->flags = LED_HW_PLUGGABLE;
465458
mute_led->dev = &hdev->dev;
466459

467460
return devm_led_classdev_register(&hdev->dev, mute_led);

0 commit comments

Comments
 (0)