Lines Matching full:bl

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