Lines Matching +full:max +full:- +full:brightness

1 // SPDX-License-Identifier: GPL-2.0-only
4 * Based on code and know-how from the Samsung GT-S7710
39 gpiod_set_value_cansleep(ktd253->gpiod, 1); in ktd253_backlight_set_max_ratio()
62 gpiod_set_value(ktd253->gpiod, 0); in ktd253_backlight_stepdown()
64 gpiod_set_value(ktd253->gpiod, 1); in ktd253_backlight_stepdown()
65 ns = ktime_get_ns() - ns; in ktd253_backlight_stepdown()
67 dev_err(ktd253->dev, "PCM on backlight took too long (%llu ns)\n", ns); in ktd253_backlight_stepdown()
68 return -EAGAIN; in ktd253_backlight_stepdown()
77 int brightness = backlight_get_brightness(bl); in ktd253_backlight_update_status() local
79 u16 current_ratio = ktd253->ratio; in ktd253_backlight_update_status()
82 dev_dbg(ktd253->dev, "new brightness/ratio: %d/32\n", brightness); in ktd253_backlight_update_status()
84 target_ratio = brightness; in ktd253_backlight_update_status()
91 gpiod_set_value_cansleep(ktd253->gpiod, 0); in ktd253_backlight_update_status()
97 ktd253->ratio = 0; in ktd253_backlight_update_status()
113 if (ret == -EAGAIN) { in ktd253_backlight_update_status()
119 gpiod_set_value_cansleep(ktd253->gpiod, 0); in ktd253_backlight_update_status()
127 current_ratio--; in ktd253_backlight_update_status()
130 ktd253->ratio = current_ratio; in ktd253_backlight_update_status()
132 dev_dbg(ktd253->dev, "new ratio set to %d/32\n", target_ratio); in ktd253_backlight_update_status()
144 struct device *dev = &pdev->dev; in ktd253_backlight_probe()
148 u32 brightness; in ktd253_backlight_probe() local
153 return -ENOMEM; in ktd253_backlight_probe()
154 ktd253->dev = dev; in ktd253_backlight_probe()
156 ret = device_property_read_u32(dev, "max-brightness", &max_brightness); in ktd253_backlight_probe()
160 /* Clamp brightness to hardware max */ in ktd253_backlight_probe()
161 dev_err(dev, "illegal max brightness specified\n"); in ktd253_backlight_probe()
165 ret = device_property_read_u32(dev, "default-brightness", &brightness); in ktd253_backlight_probe()
167 brightness = KTD253_DEFAULT_RATIO; in ktd253_backlight_probe()
168 if (brightness > max_brightness) { in ktd253_backlight_probe()
169 /* Clamp default brightness to max brightness */ in ktd253_backlight_probe()
170 dev_err(dev, "default brightness exceeds max brightness\n"); in ktd253_backlight_probe()
171 brightness = max_brightness; in ktd253_backlight_probe()
174 ktd253->gpiod = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW); in ktd253_backlight_probe()
175 if (IS_ERR(ktd253->gpiod)) in ktd253_backlight_probe()
176 return dev_err_probe(dev, PTR_ERR(ktd253->gpiod), in ktd253_backlight_probe()
178 gpiod_set_consumer_name(ktd253->gpiod, dev_name(dev)); in ktd253_backlight_probe()
188 bl->props.max_brightness = max_brightness; in ktd253_backlight_probe()
189 /* When we just enable the GPIO line we set max brightness */ in ktd253_backlight_probe()
190 if (brightness) { in ktd253_backlight_probe()
191 bl->props.brightness = brightness; in ktd253_backlight_probe()
192 bl->props.power = BACKLIGHT_POWER_ON; in ktd253_backlight_probe()
194 bl->props.brightness = 0; in ktd253_backlight_probe()
195 bl->props.power = BACKLIGHT_POWER_OFF; in ktd253_backlight_probe()
198 ktd253->bl = bl; in ktd253_backlight_probe()
214 .name = "ktd253-backlight",
224 MODULE_ALIAS("platform:ktd253-backlight");