Lines Matching +full:brightness +full:- +full:level
1 // SPDX-License-Identifier: GPL-2.0+
26 * struct keyboard_led_drvdata - keyboard LED driver data.
28 * @brightness_get: Get LED brightness level.
29 * @brightness_set: Set LED brightness level. Must not sleep.
30 * @brightness_set_blocking: Set LED brightness level. It can block the
33 * @max_brightness: Maximum brightness.
43 enum led_brightness brightness);
45 enum led_brightness brightness);
60 enum led_brightness brightness) in keyboard_led_set_brightness_acpi() argument
67 param.integer.value = brightness; in keyboard_led_set_brightness_acpi()
74 dev_err(cdev->dev, "Error setting keyboard LED value: %d\n", in keyboard_led_set_brightness_acpi()
81 unsigned long long brightness; in keyboard_led_get_brightness_acpi() local
85 NULL, &brightness); in keyboard_led_get_brightness_acpi()
87 dev_err(cdev->dev, "Error getting keyboard LED value: %d\n", in keyboard_led_get_brightness_acpi()
89 return -EIO; in keyboard_led_get_brightness_acpi()
92 return brightness; in keyboard_led_get_brightness_acpi()
105 dev_err(&pdev->dev, "Unable to find ACPI device %s: %d\n", in keyboard_led_init_acpi()
107 return -ENXIO; in keyboard_led_init_acpi()
126 enum led_brightness brightness) in keyboard_led_set_brightness_ec_pwm() argument
138 msg->command = EC_CMD_PWM_SET_KEYBOARD_BACKLIGHT; in keyboard_led_set_brightness_ec_pwm()
139 msg->outsize = sizeof(*params); in keyboard_led_set_brightness_ec_pwm()
141 params->percent = brightness; in keyboard_led_set_brightness_ec_pwm()
143 return cros_ec_cmd_xfer_status(keyboard_led->ec, msg); in keyboard_led_set_brightness_ec_pwm()
160 msg->command = EC_CMD_PWM_GET_KEYBOARD_BACKLIGHT; in keyboard_led_get_brightness_ec_pwm()
161 msg->insize = sizeof(*resp); in keyboard_led_get_brightness_ec_pwm()
163 ret = cros_ec_cmd_xfer_status(keyboard_led->ec, msg); in keyboard_led_get_brightness_ec_pwm()
167 return resp->percent; in keyboard_led_get_brightness_ec_pwm()
174 keyboard_led->ec = dev_get_drvdata(pdev->dev.parent); in keyboard_led_init_ec_pwm()
175 if (!keyboard_led->ec) { in keyboard_led_init_ec_pwm()
176 dev_err(&pdev->dev, "no parent EC device\n"); in keyboard_led_init_ec_pwm()
177 return -EINVAL; in keyboard_led_init_ec_pwm()
202 drvdata = device_get_match_data(&pdev->dev); in keyboard_led_probe()
204 return -EINVAL; in keyboard_led_probe()
206 keyboard_led = devm_kzalloc(&pdev->dev, sizeof(*keyboard_led), GFP_KERNEL); in keyboard_led_probe()
208 return -ENOMEM; in keyboard_led_probe()
211 if (drvdata->init) { in keyboard_led_probe()
212 error = drvdata->init(pdev); in keyboard_led_probe()
217 keyboard_led->cdev.name = "chromeos::kbd_backlight"; in keyboard_led_probe()
218 keyboard_led->cdev.flags |= LED_CORE_SUSPENDRESUME; in keyboard_led_probe()
219 keyboard_led->cdev.max_brightness = drvdata->max_brightness; in keyboard_led_probe()
220 keyboard_led->cdev.brightness_set = drvdata->brightness_set; in keyboard_led_probe()
221 keyboard_led->cdev.brightness_set_blocking = drvdata->brightness_set_blocking; in keyboard_led_probe()
222 keyboard_led->cdev.brightness_get = drvdata->brightness_get; in keyboard_led_probe()
224 error = devm_led_classdev_register(&pdev->dev, &keyboard_led->cdev); in keyboard_led_probe()
242 .compatible = "google,cros-kbd-led-backlight",
252 .name = "chromeos-keyboard-leds",
263 MODULE_ALIAS("platform:chromeos-keyboard-leds");