Lines Matching +full:bl +full:- +full:name

1 // SPDX-License-Identifier: GPL-2.0-or-later
48 if (data->reset_gpio) { in lm3509_reset()
49 gpiod_set_value(data->reset_gpio, 1); in lm3509_reset()
51 gpiod_set_value(data->reset_gpio, 0); in lm3509_reset()
56 static int lm3509_update_status(struct backlight_device *bl, in lm3509_update_status() argument
59 struct lm3509_bl *data = bl_get_data(bl); in lm3509_update_status()
63 ret = regmap_write(data->regmap, br_reg, backlight_get_brightness(bl)); in lm3509_update_status()
67 en = !backlight_is_blank(bl); in lm3509_update_status()
68 return regmap_update_bits(data->regmap, REG_GP, en_mask, in lm3509_update_status()
72 static int lm3509_main_update_status(struct backlight_device *bl) in lm3509_main_update_status() argument
74 return lm3509_update_status(bl, BIT(REG_GP_ENM_BIT), REG_BMAIN); in lm3509_main_update_status()
82 static int lm3509_sub_update_status(struct backlight_device *bl) in lm3509_sub_update_status() argument
84 return lm3509_update_status(bl, BIT(REG_GP_ENS_BIT), REG_BSUB); in lm3509_sub_update_status()
101 const char *label = led_data->label; in lm3509_backlight_register()
102 char name[64]; in lm3509_backlight_register() local
106 props.brightness = led_data->brightness; in lm3509_backlight_register()
107 props.max_brightness = led_data->max_brightness; in lm3509_backlight_register()
111 snprintf(name, sizeof(name), "lm3509-%s-%s", dev_name(dev), in lm3509_backlight_register()
113 label = name; in lm3509_backlight_register()
136 num_sources = of_property_count_u32_elems(node, "led-sources"); in lm3509_parse_led_sources()
140 return -EINVAL; in lm3509_parse_led_sources()
142 ret = of_property_read_u32_array(node, "led-sources", sources, in lm3509_parse_led_sources()
149 return -EINVAL; in lm3509_parse_led_sources()
162 for_each_child_of_node_scoped(dev->of_node, child) { in lm3509_parse_dt_node()
172 return -EINVAL; in lm3509_parse_dt_node()
175 ld->led_sources = lm3509_parse_led_sources(child, BIT(reg)); in lm3509_parse_dt_node()
176 if (ld->led_sources < 0) in lm3509_parse_dt_node()
177 return ld->led_sources; in lm3509_parse_dt_node()
185 if (ld->led_sources != (ld->led_sources & valid_led_sources)) in lm3509_parse_dt_node()
186 return -EINVAL; in lm3509_parse_dt_node()
188 if (seen_led_sources & ld->led_sources) in lm3509_parse_dt_node()
189 return -EINVAL; in lm3509_parse_dt_node()
191 seen_led_sources |= ld->led_sources; in lm3509_parse_dt_node()
193 ld->label = NULL; in lm3509_parse_dt_node()
194 of_property_read_string(child, "label", &ld->label); in lm3509_parse_dt_node()
196 ld->max_brightness = LM3509_MAX_BRIGHTNESS; in lm3509_parse_dt_node()
197 of_property_read_u32(child, "max-brightness", in lm3509_parse_dt_node()
198 &ld->max_brightness); in lm3509_parse_dt_node()
199 ld->max_brightness = in lm3509_parse_dt_node()
200 min_t(u32, ld->max_brightness, LM3509_MAX_BRIGHTNESS); in lm3509_parse_dt_node()
202 ld->brightness = LM3509_DEF_BRIGHTNESS; in lm3509_parse_dt_node()
203 of_property_read_u32(child, "default-brightness", in lm3509_parse_dt_node()
204 &ld->brightness); in lm3509_parse_dt_node()
205 ld->brightness = min_t(u32, ld->brightness, ld->max_brightness); in lm3509_parse_dt_node()
214 struct device *dev = &client->dev; in lm3509_probe()
221 if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { in lm3509_probe()
223 return -EOPNOTSUPP; in lm3509_probe()
228 return -ENOMEM; in lm3509_probe()
230 data->regmap = devm_regmap_init_i2c(client, &lm3509_regmap); in lm3509_probe()
231 if (IS_ERR(data->regmap)) in lm3509_probe()
232 return PTR_ERR(data->regmap); in lm3509_probe()
235 data->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW); in lm3509_probe()
236 if (IS_ERR(data->reset_gpio)) in lm3509_probe()
237 return dev_err_probe(dev, PTR_ERR(data->reset_gpio), in lm3509_probe()
247 oled_mode = of_property_read_bool(dev->of_node, "ti,oled-mode"); in lm3509_probe()
249 if (!of_property_read_u32(dev->of_node, in lm3509_probe()
250 "ti,brightness-rate-of-change-us", in lm3509_probe()
279 ret = regmap_write(data->regmap, REG_GP, reg_gp_val); in lm3509_probe()
284 data->bl_main = lm3509_backlight_register( in lm3509_probe()
286 if (IS_ERR(data->bl_main)) { in lm3509_probe()
288 dev, PTR_ERR(data->bl_main), in lm3509_probe()
294 data->bl_sub = lm3509_backlight_register( in lm3509_probe()
296 if (IS_ERR(data->bl_sub)) { in lm3509_probe()
298 dev, PTR_ERR(data->bl_sub), in lm3509_probe()
310 regmap_write(data->regmap, REG_GP, 0x00); in lm3509_remove()
331 .name = LM3509_NAME,