Lines Matching refs:wled

91 	struct pm8941_wled *wled = bl_get_data(bl);  in pm8941_wled_update_status()  local
105 rc = regmap_update_bits(wled->regmap, in pm8941_wled_update_status()
106 wled->addr + PM8941_WLED_REG_MOD_EN, in pm8941_wled_update_status()
111 for (i = 0; i < wled->cfg.num_strings; ++i) { in pm8941_wled_update_status()
114 rc = regmap_bulk_write(wled->regmap, in pm8941_wled_update_status()
115 wled->addr + PM8941_WLED_REG_VAL_BASE + 2 * i, in pm8941_wled_update_status()
121 rc = regmap_update_bits(wled->regmap, in pm8941_wled_update_status()
122 wled->addr + PM8941_WLED_REG_SYNC, in pm8941_wled_update_status()
127 rc = regmap_update_bits(wled->regmap, in pm8941_wled_update_status()
128 wled->addr + PM8941_WLED_REG_SYNC, in pm8941_wled_update_status()
133 static int pm8941_wled_setup(struct pm8941_wled *wled) in pm8941_wled_setup() argument
138 rc = regmap_update_bits(wled->regmap, in pm8941_wled_setup()
139 wled->addr + PM8941_WLED_REG_OVP, in pm8941_wled_setup()
140 PM8941_WLED_REG_OVP_MASK, wled->cfg.ovp); in pm8941_wled_setup()
144 rc = regmap_update_bits(wled->regmap, in pm8941_wled_setup()
145 wled->addr + PM8941_WLED_REG_BOOST, in pm8941_wled_setup()
146 PM8941_WLED_REG_BOOST_MASK, wled->cfg.i_boost_limit); in pm8941_wled_setup()
150 rc = regmap_update_bits(wled->regmap, in pm8941_wled_setup()
151 wled->addr + PM8941_WLED_REG_FREQ, in pm8941_wled_setup()
152 PM8941_WLED_REG_FREQ_MASK, wled->cfg.switch_freq); in pm8941_wled_setup()
156 if (wled->cfg.cs_out_en) { in pm8941_wled_setup()
157 u8 all = (BIT(wled->cfg.num_strings) - 1) in pm8941_wled_setup()
160 rc = regmap_update_bits(wled->regmap, in pm8941_wled_setup()
161 wled->addr + PM8941_WLED_REG_SINK, in pm8941_wled_setup()
167 for (i = 0; i < wled->cfg.num_strings; ++i) { in pm8941_wled_setup()
168 u16 addr = wled->addr + PM8941_WLED_REG_STR_OFFSET * i; in pm8941_wled_setup()
170 rc = regmap_update_bits(wled->regmap, in pm8941_wled_setup()
177 if (wled->cfg.ext_gen) { in pm8941_wled_setup()
178 rc = regmap_update_bits(wled->regmap, in pm8941_wled_setup()
186 rc = regmap_update_bits(wled->regmap, in pm8941_wled_setup()
189 wled->cfg.i_limit); in pm8941_wled_setup()
193 rc = regmap_update_bits(wled->regmap, in pm8941_wled_setup()
196 wled->cfg.cabc_en ? in pm8941_wled_setup()
275 static int pm8941_wled_configure(struct pm8941_wled *wled, struct device *dev) in pm8941_wled_configure() argument
277 struct pm8941_wled_config *cfg = &wled->cfg; in pm8941_wled_configure()
329 wled->addr = val; in pm8941_wled_configure()
331 rc = of_property_read_string(dev->of_node, "label", &wled->name); in pm8941_wled_configure()
333 wled->name = dev->of_node->name; in pm8941_wled_configure()
377 struct pm8941_wled *wled; in pm8941_wled_probe() local
388 wled = devm_kzalloc(&pdev->dev, sizeof(*wled), GFP_KERNEL); in pm8941_wled_probe()
389 if (!wled) in pm8941_wled_probe()
392 wled->regmap = regmap; in pm8941_wled_probe()
394 rc = pm8941_wled_configure(wled, &pdev->dev); in pm8941_wled_probe()
398 rc = pm8941_wled_setup(wled); in pm8941_wled_probe()
409 bl = devm_backlight_device_register(&pdev->dev, wled->name, in pm8941_wled_probe()
410 &pdev->dev, wled, in pm8941_wled_probe()