Skip to content

Commit 13cb61b

Browse files
committed
Merge branches 'ib-backlight-auxdisplay-staging-omap-6.9', 'ib-backlight-auxdisplay-hid-fb-6.9' and 'ib-backlight-hid-fbdev-lcd-scripts-6.10' into ibs-for-backlight-merged
3 parents 4551978 + 0a4be72 + 82b9007 commit 13cb61b

36 files changed

+94
-119
lines changed

drivers/auxdisplay/ht16k33.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -290,16 +290,8 @@ static int ht16k33_bl_update_status(struct backlight_device *bl)
290290
return ht16k33_brightness_set(priv, brightness);
291291
}
292292

293-
static int ht16k33_bl_check_fb(struct backlight_device *bl, struct fb_info *fi)
294-
{
295-
struct ht16k33_priv *priv = bl_get_data(bl);
296-
297-
return (fi == NULL) || (fi->par == priv);
298-
}
299-
300293
static const struct backlight_ops ht16k33_bl_ops = {
301294
.update_status = ht16k33_bl_update_status,
302-
.check_fb = ht16k33_bl_check_fb,
303295
};
304296

305297
/*

drivers/hid/hid-picolcd_backlight.c

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
#include <linux/hid.h>
1111

12-
#include <linux/fb.h>
1312
#include <linux/backlight.h>
1413

1514
#include "hid-picolcd.h"
@@ -39,15 +38,9 @@ static int picolcd_set_brightness(struct backlight_device *bdev)
3938
return 0;
4039
}
4140

42-
static int picolcd_check_bl_fb(struct backlight_device *bdev, struct fb_info *fb)
43-
{
44-
return fb && fb == picolcd_fbinfo((struct picolcd_data *)bl_get_data(bdev));
45-
}
46-
4741
static const struct backlight_ops picolcd_blops = {
4842
.update_status = picolcd_set_brightness,
4943
.get_brightness = picolcd_get_brightness,
50-
.check_fb = picolcd_check_bl_fb,
5144
};
5245

5346
int picolcd_init_backlight(struct picolcd_data *data, struct hid_report *report)

drivers/hid/hid-picolcd_core.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -474,11 +474,6 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data)
474474
if (error)
475475
goto err;
476476

477-
/* Set up the framebuffer device */
478-
error = picolcd_init_framebuffer(data);
479-
if (error)
480-
goto err;
481-
482477
/* Setup lcd class device */
483478
error = picolcd_init_lcd(data, picolcd_out_report(REPORT_CONTRAST, hdev));
484479
if (error)
@@ -489,6 +484,11 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data)
489484
if (error)
490485
goto err;
491486

487+
/* Set up the framebuffer device */
488+
error = picolcd_init_framebuffer(data);
489+
if (error)
490+
goto err;
491+
492492
/* Setup the LED class devices */
493493
error = picolcd_init_leds(data, picolcd_out_report(REPORT_LED_STATE, hdev));
494494
if (error)
@@ -502,9 +502,9 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data)
502502
return 0;
503503
err:
504504
picolcd_exit_leds(data);
505+
picolcd_exit_framebuffer(data);
505506
picolcd_exit_backlight(data);
506507
picolcd_exit_lcd(data);
507-
picolcd_exit_framebuffer(data);
508508
picolcd_exit_cir(data);
509509
picolcd_exit_keys(data);
510510
return error;
@@ -623,9 +623,9 @@ static void picolcd_remove(struct hid_device *hdev)
623623
/* Cleanup LED */
624624
picolcd_exit_leds(data);
625625
/* Clean up the framebuffer */
626+
picolcd_exit_framebuffer(data);
626627
picolcd_exit_backlight(data);
627628
picolcd_exit_lcd(data);
628-
picolcd_exit_framebuffer(data);
629629
/* Cleanup input */
630630
picolcd_exit_cir(data);
631631
picolcd_exit_keys(data);

drivers/hid/hid-picolcd_fb.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -493,6 +493,12 @@ int picolcd_init_framebuffer(struct picolcd_data *data)
493493
info->fix = picolcdfb_fix;
494494
info->fix.smem_len = PICOLCDFB_SIZE*8;
495495

496+
#ifdef CONFIG_FB_BACKLIGHT
497+
#ifdef CONFIG_HID_PICOLCD_BACKLIGHT
498+
info->bl_dev = data->backlight;
499+
#endif
500+
#endif
501+
496502
fbdata = info->par;
497503
spin_lock_init(&fbdata->lock);
498504
fbdata->picolcd = data;

drivers/hid/hid-picolcd_lcd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ static int picolcd_check_lcd_fb(struct lcd_device *ldev, struct fb_info *fb)
4646
return fb && fb == picolcd_fbinfo((struct picolcd_data *)lcd_get_data(ldev));
4747
}
4848

49-
static struct lcd_ops picolcd_lcdops = {
49+
static const struct lcd_ops picolcd_lcdops = {
5050
.get_contrast = picolcd_get_contrast,
5151
.set_contrast = picolcd_set_contrast,
5252
.check_fb = picolcd_check_lcd_fb,

drivers/video/backlight/aat2870_bl.c

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
#include <linux/platform_device.h>
1313
#include <linux/mutex.h>
1414
#include <linux/delay.h>
15-
#include <linux/fb.h>
1615
#include <linux/backlight.h>
1716
#include <linux/mfd/aat2870.h>
1817

@@ -90,15 +89,9 @@ static int aat2870_bl_update_status(struct backlight_device *bd)
9089
return 0;
9190
}
9291

93-
static int aat2870_bl_check_fb(struct backlight_device *bd, struct fb_info *fi)
94-
{
95-
return 1;
96-
}
97-
9892
static const struct backlight_ops aat2870_bl_ops = {
9993
.options = BL_CORE_SUSPENDRESUME,
10094
.update_status = aat2870_bl_update_status,
101-
.check_fb = aat2870_bl_check_fb,
10295
};
10396

10497
static int aat2870_bl_probe(struct platform_device *pdev)

drivers/video/backlight/ams369fg06.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ static int ams369fg06_set_brightness(struct backlight_device *bd)
427427
return ret;
428428
}
429429

430-
static struct lcd_ops ams369fg06_lcd_ops = {
430+
static const struct lcd_ops ams369fg06_lcd_ops = {
431431
.get_power = ams369fg06_get_power,
432432
.set_power = ams369fg06_set_power,
433433
};

drivers/video/backlight/backlight.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,9 @@ static int fb_notifier_callback(struct notifier_block *self,
9898
{
9999
struct backlight_device *bd;
100100
struct fb_event *evdata = data;
101-
int node = evdata->info->node;
101+
struct fb_info *info = evdata->info;
102+
struct backlight_device *fb_bd = fb_bl_device(info);
103+
int node = info->node;
102104
int fb_blank = 0;
103105

104106
/* If we aren't interested in this event, skip it immediately ... */
@@ -110,7 +112,9 @@ static int fb_notifier_callback(struct notifier_block *self,
110112

111113
if (!bd->ops)
112114
goto out;
113-
if (bd->ops->check_fb && !bd->ops->check_fb(bd, evdata->info))
115+
if (bd->ops->controls_device && !bd->ops->controls_device(bd, info->device))
116+
goto out;
117+
if (fb_bd && fb_bd != bd)
114118
goto out;
115119

116120
fb_blank = *(int *)evdata->data;

drivers/video/backlight/bd6107.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,18 +99,18 @@ static int bd6107_backlight_update_status(struct backlight_device *backlight)
9999
return 0;
100100
}
101101

102-
static int bd6107_backlight_check_fb(struct backlight_device *backlight,
103-
struct fb_info *info)
102+
static bool bd6107_backlight_controls_device(struct backlight_device *backlight,
103+
struct device *display_dev)
104104
{
105105
struct bd6107 *bd = bl_get_data(backlight);
106106

107-
return !bd->pdata->dev || bd->pdata->dev == info->device;
107+
return !bd->pdata->dev || bd->pdata->dev == display_dev;
108108
}
109109

110110
static const struct backlight_ops bd6107_backlight_ops = {
111-
.options = BL_CORE_SUSPENDRESUME,
112-
.update_status = bd6107_backlight_update_status,
113-
.check_fb = bd6107_backlight_check_fb,
111+
.options = BL_CORE_SUSPENDRESUME,
112+
.update_status = bd6107_backlight_update_status,
113+
.controls_device = bd6107_backlight_controls_device,
114114
};
115115

116116
static int bd6107_probe(struct i2c_client *client)

drivers/video/backlight/corgi_lcd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ static int corgi_lcd_get_power(struct lcd_device *ld)
380380
return lcd->power;
381381
}
382382

383-
static struct lcd_ops corgi_lcd_ops = {
383+
static const struct lcd_ops corgi_lcd_ops = {
384384
.get_power = corgi_lcd_get_power,
385385
.set_power = corgi_lcd_set_power,
386386
.set_mode = corgi_lcd_set_mode,

0 commit comments

Comments
 (0)