Skip to content

Commit b37cc22

Browse files
geertuojeda
authored andcommitted
auxdisplay: ht16k33: Extract ht16k33_brightness_set()
Extract brightness handling into a helper function, so it can be called from multiple places. Signed-off-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Robin van der Gracht <[email protected]> Signed-off-by: Miguel Ojeda <[email protected]>
1 parent 85d93b1 commit b37cc22

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

drivers/auxdisplay/ht16k33.c

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,22 @@ static int ht16k33_display_off(struct ht16k33_priv *priv)
113113
return i2c_smbus_write_byte(priv->client, REG_DISPLAY_SETUP);
114114
}
115115

116+
static int ht16k33_brightness_set(struct ht16k33_priv *priv,
117+
unsigned int brightness)
118+
{
119+
int err;
120+
121+
if (brightness == 0)
122+
return ht16k33_display_off(priv);
123+
124+
err = ht16k33_display_on(priv);
125+
if (err)
126+
return err;
127+
128+
return i2c_smbus_write_byte(priv->client,
129+
REG_BRIGHTNESS | (brightness - 1));
130+
}
131+
116132
static void ht16k33_fb_queue(struct ht16k33_priv *priv)
117133
{
118134
struct ht16k33_fbdev *fbdev = &priv->fbdev;
@@ -197,13 +213,10 @@ static int ht16k33_bl_update_status(struct backlight_device *bl)
197213

198214
if (bl->props.power != FB_BLANK_UNBLANK ||
199215
bl->props.fb_blank != FB_BLANK_UNBLANK ||
200-
bl->props.state & BL_CORE_FBBLANK || brightness == 0) {
201-
return ht16k33_display_off(priv);
202-
}
216+
bl->props.state & BL_CORE_FBBLANK)
217+
brightness = 0;
203218

204-
ht16k33_display_on(priv);
205-
return i2c_smbus_write_byte(priv->client,
206-
REG_BRIGHTNESS | (brightness - 1));
219+
return ht16k33_brightness_set(priv, brightness);
207220
}
208221

209222
static int ht16k33_bl_check_fb(struct backlight_device *bl, struct fb_info *fi)

0 commit comments

Comments
 (0)