tps65217_bl
static int tps65217_bl_hw_init(struct tps65217_bl *tps65217_bl,
rc = tps65217_bl_disable(tps65217_bl);
rc = tps65217_clear_bits(tps65217_bl->tps,
dev_err(tps65217_bl->dev,
dev_dbg(tps65217_bl->dev, "selected ISET1 current level\n");
rc = tps65217_set_bits(tps65217_bl->tps, TPS65217_REG_WLEDCTRL1,
dev_err(tps65217_bl->dev,
dev_dbg(tps65217_bl->dev, "selected ISET2 current level\n");
dev_err(tps65217_bl->dev,
rc = tps65217_set_bits(tps65217_bl->tps,
dev_err(tps65217_bl->dev,
struct tps65217_bl *tps65217_bl;
static int tps65217_bl_enable(struct tps65217_bl *tps65217_bl)
tps65217_bl = devm_kzalloc(&pdev->dev, sizeof(*tps65217_bl),
if (tps65217_bl == NULL)
tps65217_bl->tps = tps;
tps65217_bl->dev = &pdev->dev;
tps65217_bl->is_enabled = false;
rc = tps65217_bl_hw_init(tps65217_bl, pdata);
tps65217_bl->bl = devm_backlight_device_register(&pdev->dev, pdev->name,
tps65217_bl->dev, tps65217_bl,
if (IS_ERR(tps65217_bl->bl)) {
dev_err(tps65217_bl->dev,
return PTR_ERR(tps65217_bl->bl);
tps65217_bl->bl->props.brightness = pdata->dft_brightness;
backlight_update_status(tps65217_bl->bl);
platform_set_drvdata(pdev, tps65217_bl);
rc = tps65217_set_bits(tps65217_bl->tps, TPS65217_REG_WLEDCTRL1,
dev_err(tps65217_bl->dev,
tps65217_bl->is_enabled = true;
dev_dbg(tps65217_bl->dev, "backlight enabled\n");
static int tps65217_bl_disable(struct tps65217_bl *tps65217_bl)
rc = tps65217_clear_bits(tps65217_bl->tps,
dev_err(tps65217_bl->dev,
tps65217_bl->is_enabled = false;
dev_dbg(tps65217_bl->dev, "backlight disabled\n");
struct tps65217_bl *tps65217_bl = bl_get_data(bl);
rc = tps65217_reg_write(tps65217_bl->tps,
dev_err(tps65217_bl->dev,
dev_dbg(tps65217_bl->dev, "brightness set to %d\n", brightness);
if (!tps65217_bl->is_enabled)
rc = tps65217_bl_enable(tps65217_bl);
rc = tps65217_bl_disable(tps65217_bl);