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
40 int brightness = backlight_get_brightness(bl); in ktd253_backlight_update_status() local
42 u16 current_ratio = ktd253->ratio; in ktd253_backlight_update_status()
45 dev_dbg(ktd253->dev, "new brightness/ratio: %d/32\n", brightness); in ktd253_backlight_update_status()
47 target_ratio = brightness; in ktd253_backlight_update_status()
54 gpiod_set_value_cansleep(ktd253->gpiod, 0); in ktd253_backlight_update_status()
60 ktd253->ratio = 0; in ktd253_backlight_update_status()
65 gpiod_set_value_cansleep(ktd253->gpiod, 1); in ktd253_backlight_update_status()
85 gpiod_set_value(ktd253->gpiod, 0); in ktd253_backlight_update_status()
87 gpiod_set_value(ktd253->gpiod, 1); in ktd253_backlight_update_status()
93 current_ratio--; in ktd253_backlight_update_status()
96 ktd253->ratio = current_ratio; in ktd253_backlight_update_status()
98 dev_dbg(ktd253->dev, "new ratio set to %d/32\n", target_ratio); in ktd253_backlight_update_status()
110 struct device *dev = &pdev->dev; in ktd253_backlight_probe()
114 u32 brightness; in ktd253_backlight_probe() local
119 return -ENOMEM; in ktd253_backlight_probe()
120 ktd253->dev = dev; in ktd253_backlight_probe()
122 ret = device_property_read_u32(dev, "max-brightness", &max_brightness); in ktd253_backlight_probe()
126 /* Clamp brightness to hardware max */ in ktd253_backlight_probe()
127 dev_err(dev, "illegal max brightness specified\n"); in ktd253_backlight_probe()
131 ret = device_property_read_u32(dev, "default-brightness", &brightness); in ktd253_backlight_probe()
133 brightness = KTD253_DEFAULT_RATIO; in ktd253_backlight_probe()
134 if (brightness > max_brightness) { in ktd253_backlight_probe()
135 /* Clamp default brightness to max brightness */ in ktd253_backlight_probe()
136 dev_err(dev, "default brightness exceeds max brightness\n"); in ktd253_backlight_probe()
137 brightness = max_brightness; in ktd253_backlight_probe()
140 if (brightness) in ktd253_backlight_probe()
142 ktd253->ratio = KTD253_MAX_RATIO; in ktd253_backlight_probe()
144 ktd253->ratio = 0; in ktd253_backlight_probe()
146 ktd253->gpiod = devm_gpiod_get(dev, "enable", in ktd253_backlight_probe()
147 brightness ? GPIOD_OUT_HIGH : in ktd253_backlight_probe()
149 if (IS_ERR(ktd253->gpiod)) { in ktd253_backlight_probe()
150 ret = PTR_ERR(ktd253->gpiod); in ktd253_backlight_probe()
151 if (ret != -EPROBE_DEFER) in ktd253_backlight_probe()
155 gpiod_set_consumer_name(ktd253->gpiod, dev_name(dev)); in ktd253_backlight_probe()
163 bl->props.max_brightness = max_brightness; in ktd253_backlight_probe()
164 /* When we just enable the GPIO line we set max brightness */ in ktd253_backlight_probe()
165 if (brightness) { in ktd253_backlight_probe()
166 bl->props.brightness = brightness; in ktd253_backlight_probe()
167 bl->props.power = FB_BLANK_UNBLANK; in ktd253_backlight_probe()
169 bl->props.brightness = 0; in ktd253_backlight_probe()
170 bl->props.power = FB_BLANK_POWERDOWN; in ktd253_backlight_probe()
173 ktd253->bl = bl; in ktd253_backlight_probe()
188 .name = "ktd253-backlight",
198 MODULE_ALIAS("platform:ktd253-backlight");