Lines Matching refs:bl
71 static int lp8788_backlight_configure(struct lp8788_bl *bl)
73 struct lp8788_backlight_platform_data *pdata = bl->pdata;
93 ret = lp8788_write_byte(bl->lp, LP8788_BL_RAMP, val);
112 dev_err(bl->lp->dev, "invalid mode: %d\n", cfg->bl_mode);
116 bl->mode = cfg->bl_mode;
118 return lp8788_write_byte(bl->lp, LP8788_BL_CONFIG, val);
121 static void lp8788_pwm_ctrl(struct lp8788_bl *bl, int br, int max_br)
128 if (!bl->pdata)
131 period = bl->pdata->period_ns;
133 dev = bl->lp->dev;
136 if (!bl->pwm) {
143 bl->pwm = pwm;
152 pwm_config(bl->pwm, duty, period);
154 pwm_enable(bl->pwm);
156 pwm_disable(bl->pwm);
161 struct lp8788_bl *bl = bl_get_data(bl_dev);
162 enum lp8788_bl_ctrl_mode mode = bl->mode;
171 lp8788_pwm_ctrl(bl, brt, max);
175 lp8788_write_byte(bl->lp, LP8788_BL_BRIGHTNESS, brt);
186 static int lp8788_backlight_register(struct lp8788_bl *bl)
190 struct lp8788_backlight_platform_data *pdata = bl->pdata;
212 bl_dev = backlight_device_register(name, bl->lp->dev, bl,
217 bl->bl_dev = bl_dev;
222 static void lp8788_backlight_unregister(struct lp8788_bl *bl)
224 struct backlight_device *bl_dev = bl->bl_dev;
232 struct lp8788_bl *bl = dev_get_drvdata(dev);
233 enum lp8788_bl_ctrl_mode mode = bl->mode;
260 struct lp8788_bl *bl;
263 bl = devm_kzalloc(lp->dev, sizeof(struct lp8788_bl), GFP_KERNEL);
264 if (!bl)
267 bl->lp = lp;
269 bl->pdata = lp->pdata->bl_pdata;
271 platform_set_drvdata(pdev, bl);
273 ret = lp8788_backlight_configure(bl);
279 ret = lp8788_backlight_register(bl);
291 backlight_update_status(bl->bl_dev);
296 lp8788_backlight_unregister(bl);
303 struct lp8788_bl *bl = platform_get_drvdata(pdev);
304 struct backlight_device *bl_dev = bl->bl_dev;
309 lp8788_backlight_unregister(bl);