Lines Matching refs:bl
75 static int lp8788_backlight_configure(struct lp8788_bl *bl) in lp8788_backlight_configure() argument
77 struct lp8788_backlight_platform_data *pdata = bl->pdata; in lp8788_backlight_configure()
97 ret = lp8788_write_byte(bl->lp, LP8788_BL_RAMP, val); in lp8788_backlight_configure()
116 dev_err(bl->lp->dev, "invalid mode: %d\n", cfg->bl_mode); in lp8788_backlight_configure()
120 bl->mode = cfg->bl_mode; in lp8788_backlight_configure()
122 return lp8788_write_byte(bl->lp, LP8788_BL_CONFIG, val); in lp8788_backlight_configure()
125 static void lp8788_pwm_ctrl(struct lp8788_bl *bl, int br, int max_br) in lp8788_pwm_ctrl() argument
132 if (!bl->pdata) in lp8788_pwm_ctrl()
135 period = bl->pdata->period_ns; in lp8788_pwm_ctrl()
137 dev = bl->lp->dev; in lp8788_pwm_ctrl()
140 if (!bl->pwm) { in lp8788_pwm_ctrl()
147 bl->pwm = pwm; in lp8788_pwm_ctrl()
156 pwm_config(bl->pwm, duty, period); in lp8788_pwm_ctrl()
158 pwm_enable(bl->pwm); in lp8788_pwm_ctrl()
160 pwm_disable(bl->pwm); in lp8788_pwm_ctrl()
165 struct lp8788_bl *bl = bl_get_data(bl_dev); in lp8788_bl_update_status() local
166 enum lp8788_bl_ctrl_mode mode = bl->mode; in lp8788_bl_update_status()
175 lp8788_pwm_ctrl(bl, brt, max); in lp8788_bl_update_status()
179 lp8788_write_byte(bl->lp, LP8788_BL_BRIGHTNESS, brt); in lp8788_bl_update_status()
190 static int lp8788_backlight_register(struct lp8788_bl *bl) in lp8788_backlight_register() argument
194 struct lp8788_backlight_platform_data *pdata = bl->pdata; in lp8788_backlight_register()
216 bl_dev = backlight_device_register(name, bl->lp->dev, bl, in lp8788_backlight_register()
221 bl->bl_dev = bl_dev; in lp8788_backlight_register()
226 static void lp8788_backlight_unregister(struct lp8788_bl *bl) in lp8788_backlight_unregister() argument
228 struct backlight_device *bl_dev = bl->bl_dev; in lp8788_backlight_unregister()
236 struct lp8788_bl *bl = dev_get_drvdata(dev); in lp8788_get_bl_ctl_mode() local
237 enum lp8788_bl_ctrl_mode mode = bl->mode; in lp8788_get_bl_ctl_mode()
264 struct lp8788_bl *bl; in lp8788_backlight_probe() local
267 bl = devm_kzalloc(lp->dev, sizeof(struct lp8788_bl), GFP_KERNEL); in lp8788_backlight_probe()
268 if (!bl) in lp8788_backlight_probe()
271 bl->lp = lp; in lp8788_backlight_probe()
273 bl->pdata = lp->pdata->bl_pdata; in lp8788_backlight_probe()
275 platform_set_drvdata(pdev, bl); in lp8788_backlight_probe()
277 ret = lp8788_backlight_configure(bl); in lp8788_backlight_probe()
283 ret = lp8788_backlight_register(bl); in lp8788_backlight_probe()
295 backlight_update_status(bl->bl_dev); in lp8788_backlight_probe()
300 lp8788_backlight_unregister(bl); in lp8788_backlight_probe()
307 struct lp8788_bl *bl = platform_get_drvdata(pdev); in lp8788_backlight_remove() local
308 struct backlight_device *bl_dev = bl->bl_dev; in lp8788_backlight_remove()
313 lp8788_backlight_unregister(bl); in lp8788_backlight_remove()