Lines Matching +full:brightness +full:- +full:level

1 // SPDX-License-Identifier: GPL-2.0+
28 * struct keyboard_led_drvdata - keyboard LED driver data.
30 * @brightness_get: Get LED brightness level.
31 * @brightness_set: Set LED brightness level. Must not sleep.
32 * @brightness_set_blocking: Set LED brightness level. It can block the
35 * @max_brightness: Maximum brightness.
45 enum led_brightness brightness);
47 enum led_brightness brightness);
62 enum led_brightness brightness) in keyboard_led_set_brightness_acpi() argument
69 param.integer.value = brightness; in keyboard_led_set_brightness_acpi()
76 dev_err(cdev->dev, "Error setting keyboard LED value: %d\n", in keyboard_led_set_brightness_acpi()
83 unsigned long long brightness; in keyboard_led_get_brightness_acpi() local
87 NULL, &brightness); in keyboard_led_get_brightness_acpi()
89 dev_err(cdev->dev, "Error getting keyboard LED value: %d\n", in keyboard_led_get_brightness_acpi()
91 return -EIO; in keyboard_led_get_brightness_acpi()
94 return brightness; in keyboard_led_get_brightness_acpi()
107 dev_err(&pdev->dev, "Unable to find ACPI device %s: %d\n", in keyboard_led_init_acpi()
109 return -ENXIO; in keyboard_led_init_acpi()
127 struct cros_ec_dev *ec_dev = dev_get_drvdata(pdev->dev.parent); in keyboard_led_init_ec_pwm_mfd()
128 struct cros_ec_device *cros_ec = ec_dev->ec_dev; in keyboard_led_init_ec_pwm_mfd()
131 keyboard_led->ec = cros_ec; in keyboard_led_init_ec_pwm_mfd()
138 enum led_brightness brightness) in keyboard_led_set_brightness_ec_pwm() argument
150 msg->command = EC_CMD_PWM_SET_KEYBOARD_BACKLIGHT; in keyboard_led_set_brightness_ec_pwm()
151 msg->outsize = sizeof(*params); in keyboard_led_set_brightness_ec_pwm()
153 params->percent = brightness; in keyboard_led_set_brightness_ec_pwm()
155 return cros_ec_cmd_xfer_status(keyboard_led->ec, msg); in keyboard_led_set_brightness_ec_pwm()
172 msg->command = EC_CMD_PWM_GET_KEYBOARD_BACKLIGHT; in keyboard_led_get_brightness_ec_pwm()
173 msg->insize = sizeof(*resp); in keyboard_led_get_brightness_ec_pwm()
175 ret = cros_ec_cmd_xfer_status(keyboard_led->ec, msg); in keyboard_led_get_brightness_ec_pwm()
179 return resp->percent; in keyboard_led_get_brightness_ec_pwm()
209 drvdata = device_get_match_data(&pdev->dev); in keyboard_led_probe()
211 return -EINVAL; in keyboard_led_probe()
213 keyboard_led = devm_kzalloc(&pdev->dev, sizeof(*keyboard_led), GFP_KERNEL); in keyboard_led_probe()
215 return -ENOMEM; in keyboard_led_probe()
218 if (drvdata->init) { in keyboard_led_probe()
219 err = drvdata->init(pdev); in keyboard_led_probe()
224 keyboard_led->cdev.name = "chromeos::kbd_backlight"; in keyboard_led_probe()
225 keyboard_led->cdev.flags |= LED_CORE_SUSPENDRESUME | LED_REJECT_NAME_CONFLICT; in keyboard_led_probe()
226 keyboard_led->cdev.max_brightness = drvdata->max_brightness; in keyboard_led_probe()
227 keyboard_led->cdev.brightness_set = drvdata->brightness_set; in keyboard_led_probe()
228 keyboard_led->cdev.brightness_set_blocking = drvdata->brightness_set_blocking; in keyboard_led_probe()
229 keyboard_led->cdev.brightness_get = drvdata->brightness_get; in keyboard_led_probe()
231 err = devm_led_classdev_register(&pdev->dev, &keyboard_led->cdev); in keyboard_led_probe()
232 if (err == -EEXIST) /* Already bound via other mechanism */ in keyboard_led_probe()
233 return -ENODEV; in keyboard_led_probe()
246 { "cros-keyboard-leds", 0 },
253 .name = "cros-keyboard-leds",