mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for-5.13/elan' into for-linus
- Mute LED support fixes for Elantech driver from Hans de Goede
This commit is contained in:
commit
743b357607
|
@ -410,15 +410,6 @@ static int elan_start_multitouch(struct hid_device *hdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static enum led_brightness elan_mute_led_get_brigtness(struct led_classdev *led_cdev)
|
||||
{
|
||||
struct device *dev = led_cdev->dev->parent;
|
||||
struct hid_device *hdev = to_hid_device(dev);
|
||||
struct elan_drvdata *drvdata = hid_get_drvdata(hdev);
|
||||
|
||||
return drvdata->mute_led_state;
|
||||
}
|
||||
|
||||
static int elan_mute_led_set_brigtness(struct led_classdev *led_cdev,
|
||||
enum led_brightness value)
|
||||
{
|
||||
|
@ -445,8 +436,9 @@ static int elan_mute_led_set_brigtness(struct led_classdev *led_cdev,
|
|||
kfree(dmabuf);
|
||||
|
||||
if (ret != ELAN_LED_REPORT_SIZE) {
|
||||
hid_err(hdev, "Failed to set mute led brightness: %d\n", ret);
|
||||
return ret;
|
||||
if (ret != -ENODEV)
|
||||
hid_err(hdev, "Failed to set mute led brightness: %d\n", ret);
|
||||
return ret < 0 ? ret : -EIO;
|
||||
}
|
||||
|
||||
drvdata->mute_led_state = led_state;
|
||||
|
@ -459,9 +451,10 @@ static int elan_init_mute_led(struct hid_device *hdev)
|
|||
struct led_classdev *mute_led = &drvdata->mute_led;
|
||||
|
||||
mute_led->name = "elan:red:mute";
|
||||
mute_led->brightness_get = elan_mute_led_get_brigtness;
|
||||
mute_led->default_trigger = "audio-mute";
|
||||
mute_led->brightness_set_blocking = elan_mute_led_set_brigtness;
|
||||
mute_led->max_brightness = LED_ON;
|
||||
mute_led->flags = LED_HW_PLUGGABLE;
|
||||
mute_led->dev = &hdev->dev;
|
||||
|
||||
return devm_led_classdev_register(&hdev->dev, mute_led);
|
||||
|
|
Loading…
Reference in New Issue