Skip to content

Commit

Permalink
Merge branches 'ib-backlight-auxdisplay-staging-omap-6.9', 'ib-backli…
Browse files Browse the repository at this point in the history
…ght-auxdisplay-hid-fb-6.9' and 'ib-backlight-hid-fbdev-lcd-scripts-6.10' into ibs-for-backlight-merged
  • Loading branch information
Lee Jones committed May 10, 2024
3 parents 4551978 + 0a4be72 + 82b9007 commit 13cb61b
Show file tree
Hide file tree
Showing 36 changed files with 94 additions and 119 deletions.
8 changes: 0 additions & 8 deletions drivers/auxdisplay/ht16k33.c
Original file line number Diff line number Diff line change
Expand Up @@ -290,16 +290,8 @@ static int ht16k33_bl_update_status(struct backlight_device *bl)
return ht16k33_brightness_set(priv, brightness);
}

static int ht16k33_bl_check_fb(struct backlight_device *bl, struct fb_info *fi)
{
struct ht16k33_priv *priv = bl_get_data(bl);

return (fi == NULL) || (fi->par == priv);
}

static const struct backlight_ops ht16k33_bl_ops = {
.update_status = ht16k33_bl_update_status,
.check_fb = ht16k33_bl_check_fb,
};

/*
Expand Down
7 changes: 0 additions & 7 deletions drivers/hid/hid-picolcd_backlight.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

#include <linux/hid.h>

#include <linux/fb.h>
#include <linux/backlight.h>

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

static int picolcd_check_bl_fb(struct backlight_device *bdev, struct fb_info *fb)
{
return fb && fb == picolcd_fbinfo((struct picolcd_data *)bl_get_data(bdev));
}

static const struct backlight_ops picolcd_blops = {
.update_status = picolcd_set_brightness,
.get_brightness = picolcd_get_brightness,
.check_fb = picolcd_check_bl_fb,
};

int picolcd_init_backlight(struct picolcd_data *data, struct hid_report *report)
Expand Down
14 changes: 7 additions & 7 deletions drivers/hid/hid-picolcd_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -474,11 +474,6 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data)
if (error)
goto err;

/* Set up the framebuffer device */
error = picolcd_init_framebuffer(data);
if (error)
goto err;

/* Setup lcd class device */
error = picolcd_init_lcd(data, picolcd_out_report(REPORT_CONTRAST, hdev));
if (error)
Expand All @@ -489,6 +484,11 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data)
if (error)
goto err;

/* Set up the framebuffer device */
error = picolcd_init_framebuffer(data);
if (error)
goto err;

/* Setup the LED class devices */
error = picolcd_init_leds(data, picolcd_out_report(REPORT_LED_STATE, hdev));
if (error)
Expand All @@ -502,9 +502,9 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data)
return 0;
err:
picolcd_exit_leds(data);
picolcd_exit_framebuffer(data);
picolcd_exit_backlight(data);
picolcd_exit_lcd(data);
picolcd_exit_framebuffer(data);
picolcd_exit_cir(data);
picolcd_exit_keys(data);
return error;
Expand Down Expand Up @@ -623,9 +623,9 @@ static void picolcd_remove(struct hid_device *hdev)
/* Cleanup LED */
picolcd_exit_leds(data);
/* Clean up the framebuffer */
picolcd_exit_framebuffer(data);
picolcd_exit_backlight(data);
picolcd_exit_lcd(data);
picolcd_exit_framebuffer(data);
/* Cleanup input */
picolcd_exit_cir(data);
picolcd_exit_keys(data);
Expand Down
6 changes: 6 additions & 0 deletions drivers/hid/hid-picolcd_fb.c
Original file line number Diff line number Diff line change
Expand Up @@ -493,6 +493,12 @@ int picolcd_init_framebuffer(struct picolcd_data *data)
info->fix = picolcdfb_fix;
info->fix.smem_len = PICOLCDFB_SIZE*8;

#ifdef CONFIG_FB_BACKLIGHT
#ifdef CONFIG_HID_PICOLCD_BACKLIGHT
info->bl_dev = data->backlight;
#endif
#endif

fbdata = info->par;
spin_lock_init(&fbdata->lock);
fbdata->picolcd = data;
Expand Down
2 changes: 1 addition & 1 deletion drivers/hid/hid-picolcd_lcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ static int picolcd_check_lcd_fb(struct lcd_device *ldev, struct fb_info *fb)
return fb && fb == picolcd_fbinfo((struct picolcd_data *)lcd_get_data(ldev));
}

static struct lcd_ops picolcd_lcdops = {
static const struct lcd_ops picolcd_lcdops = {
.get_contrast = picolcd_get_contrast,
.set_contrast = picolcd_set_contrast,
.check_fb = picolcd_check_lcd_fb,
Expand Down
7 changes: 0 additions & 7 deletions drivers/video/backlight/aat2870_bl.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
#include <linux/platform_device.h>
#include <linux/mutex.h>
#include <linux/delay.h>
#include <linux/fb.h>
#include <linux/backlight.h>
#include <linux/mfd/aat2870.h>

Expand Down Expand Up @@ -90,15 +89,9 @@ static int aat2870_bl_update_status(struct backlight_device *bd)
return 0;
}

static int aat2870_bl_check_fb(struct backlight_device *bd, struct fb_info *fi)
{
return 1;
}

static const struct backlight_ops aat2870_bl_ops = {
.options = BL_CORE_SUSPENDRESUME,
.update_status = aat2870_bl_update_status,
.check_fb = aat2870_bl_check_fb,
};

static int aat2870_bl_probe(struct platform_device *pdev)
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/backlight/ams369fg06.c
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,7 @@ static int ams369fg06_set_brightness(struct backlight_device *bd)
return ret;
}

static struct lcd_ops ams369fg06_lcd_ops = {
static const struct lcd_ops ams369fg06_lcd_ops = {
.get_power = ams369fg06_get_power,
.set_power = ams369fg06_set_power,
};
Expand Down
8 changes: 6 additions & 2 deletions drivers/video/backlight/backlight.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,9 @@ static int fb_notifier_callback(struct notifier_block *self,
{
struct backlight_device *bd;
struct fb_event *evdata = data;
int node = evdata->info->node;
struct fb_info *info = evdata->info;
struct backlight_device *fb_bd = fb_bl_device(info);
int node = info->node;
int fb_blank = 0;

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

if (!bd->ops)
goto out;
if (bd->ops->check_fb && !bd->ops->check_fb(bd, evdata->info))
if (bd->ops->controls_device && !bd->ops->controls_device(bd, info->device))
goto out;
if (fb_bd && fb_bd != bd)
goto out;

fb_blank = *(int *)evdata->data;
Expand Down
12 changes: 6 additions & 6 deletions drivers/video/backlight/bd6107.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,18 +99,18 @@ static int bd6107_backlight_update_status(struct backlight_device *backlight)
return 0;
}

static int bd6107_backlight_check_fb(struct backlight_device *backlight,
struct fb_info *info)
static bool bd6107_backlight_controls_device(struct backlight_device *backlight,
struct device *display_dev)
{
struct bd6107 *bd = bl_get_data(backlight);

return !bd->pdata->dev || bd->pdata->dev == info->device;
return !bd->pdata->dev || bd->pdata->dev == display_dev;
}

static const struct backlight_ops bd6107_backlight_ops = {
.options = BL_CORE_SUSPENDRESUME,
.update_status = bd6107_backlight_update_status,
.check_fb = bd6107_backlight_check_fb,
.options = BL_CORE_SUSPENDRESUME,
.update_status = bd6107_backlight_update_status,
.controls_device = bd6107_backlight_controls_device,
};

static int bd6107_probe(struct i2c_client *client)
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/backlight/corgi_lcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ static int corgi_lcd_get_power(struct lcd_device *ld)
return lcd->power;
}

static struct lcd_ops corgi_lcd_ops = {
static const struct lcd_ops corgi_lcd_ops = {
.get_power = corgi_lcd_get_power,
.set_power = corgi_lcd_set_power,
.set_mode = corgi_lcd_set_mode,
Expand Down
12 changes: 6 additions & 6 deletions drivers/video/backlight/gpio_backlight.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,18 @@ static int gpio_backlight_update_status(struct backlight_device *bl)
return 0;
}

static int gpio_backlight_check_fb(struct backlight_device *bl,
struct fb_info *info)
static bool gpio_backlight_controls_device(struct backlight_device *bl,
struct device *display_dev)
{
struct gpio_backlight *gbl = bl_get_data(bl);

return !gbl->dev || gbl->dev == info->device;
return !gbl->dev || gbl->dev == display_dev;
}

static const struct backlight_ops gpio_backlight_ops = {
.options = BL_CORE_SUSPENDRESUME,
.update_status = gpio_backlight_update_status,
.check_fb = gpio_backlight_check_fb,
.options = BL_CORE_SUSPENDRESUME,
.update_status = gpio_backlight_update_status,
.controls_device = gpio_backlight_controls_device,
};

static int gpio_backlight_probe(struct platform_device *pdev)
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/backlight/hx8357.c
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ static int hx8357_get_power(struct lcd_device *lcdev)
return lcd->state;
}

static struct lcd_ops hx8357_ops = {
static const struct lcd_ops hx8357_ops = {
.set_power = hx8357_set_power,
.get_power = hx8357_get_power,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/backlight/ili922x.c
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,7 @@ static int ili922x_get_power(struct lcd_device *ld)
return ili->power;
}

static struct lcd_ops ili922x_ops = {
static const struct lcd_ops ili922x_ops = {
.get_power = ili922x_get_power,
.set_power = ili922x_set_power,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/backlight/ili9320.c
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ static int ili9320_get_power(struct lcd_device *ld)
return lcd->power;
}

static struct lcd_ops ili9320_ops = {
static const struct lcd_ops ili9320_ops = {
.get_power = ili9320_get_power,
.set_power = ili9320_set_power,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/backlight/jornada720_lcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ static int jornada_lcd_set_power(struct lcd_device *ld, int power)
return 0;
}

static struct lcd_ops jornada_lcd_props = {
static const struct lcd_ops jornada_lcd_props = {
.get_contrast = jornada_lcd_get_contrast,
.set_contrast = jornada_lcd_set_contrast,
.get_power = jornada_lcd_get_power,
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/backlight/l4f00242t03.c
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ static int l4f00242t03_lcd_power_set(struct lcd_device *ld, int power)
return 0;
}

static struct lcd_ops l4f_ops = {
static const struct lcd_ops l4f_ops = {
.set_power = l4f00242t03_lcd_power_set,
.get_power = l4f00242t03_lcd_power_get,
};
Expand Down
4 changes: 2 additions & 2 deletions drivers/video/backlight/lcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ ATTRIBUTE_GROUPS(lcd_device);
* or a pointer to the newly allocated device.
*/
struct lcd_device *lcd_device_register(const char *name, struct device *parent,
void *devdata, struct lcd_ops *ops)
void *devdata, const struct lcd_ops *ops)
{
struct lcd_device *new_ld;
int rc;
Expand Down Expand Up @@ -276,7 +276,7 @@ static int devm_lcd_device_match(struct device *dev, void *res, void *data)
*/
struct lcd_device *devm_lcd_device_register(struct device *dev,
const char *name, struct device *parent,
void *devdata, struct lcd_ops *ops)
void *devdata, const struct lcd_ops *ops)
{
struct lcd_device **ptr, *lcd;

Expand Down
2 changes: 1 addition & 1 deletion drivers/video/backlight/lms283gf05.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ static int lms283gf05_power_set(struct lcd_device *ld, int power)
return 0;
}

static struct lcd_ops lms_ops = {
static const struct lcd_ops lms_ops = {
.set_power = lms283gf05_power_set,
.get_power = NULL,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/backlight/lms501kf03.c
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ static int lms501kf03_set_power(struct lcd_device *ld, int power)
return lms501kf03_power(lcd, power);
}

static struct lcd_ops lms501kf03_lcd_ops = {
static const struct lcd_ops lms501kf03_lcd_ops = {
.get_power = lms501kf03_get_power,
.set_power = lms501kf03_set_power,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/backlight/ltv350qv.c
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ static int ltv350qv_get_power(struct lcd_device *ld)
return lcd->power;
}

static struct lcd_ops ltv_ops = {
static const struct lcd_ops ltv_ops = {
.get_power = ltv350qv_get_power,
.set_power = ltv350qv_set_power,
};
Expand Down
12 changes: 6 additions & 6 deletions drivers/video/backlight/lv5207lp.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,18 +62,18 @@ static int lv5207lp_backlight_update_status(struct backlight_device *backlight)
return 0;
}

static int lv5207lp_backlight_check_fb(struct backlight_device *backlight,
struct fb_info *info)
static bool lv5207lp_backlight_controls_device(struct backlight_device *backlight,
struct device *display_dev)
{
struct lv5207lp *lv = bl_get_data(backlight);

return !lv->pdata->dev || lv->pdata->dev == info->device;
return !lv->pdata->dev || lv->pdata->dev == display_dev;
}

static const struct backlight_ops lv5207lp_backlight_ops = {
.options = BL_CORE_SUSPENDRESUME,
.update_status = lv5207lp_backlight_update_status,
.check_fb = lv5207lp_backlight_check_fb,
.options = BL_CORE_SUSPENDRESUME,
.update_status = lv5207lp_backlight_update_status,
.controls_device = lv5207lp_backlight_controls_device,
};

static int lv5207lp_probe(struct i2c_client *client)
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/backlight/otm3225a.c
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ static int otm3225a_get_power(struct lcd_device *ld)
return dd->power;
}

static struct lcd_ops otm3225a_ops = {
static const struct lcd_ops otm3225a_ops = {
.set_power = otm3225a_set_power,
.get_power = otm3225a_get_power,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/backlight/platform_lcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ static int platform_lcd_match(struct lcd_device *lcd, struct fb_info *info)
return plcd->us->parent == info->device;
}

static struct lcd_ops platform_lcd_ops = {
static const struct lcd_ops platform_lcd_ops = {
.get_power = platform_lcd_get_power,
.set_power = platform_lcd_set_power,
.check_fb = platform_lcd_match,
Expand Down
12 changes: 0 additions & 12 deletions drivers/video/backlight/pwm_bl.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/fb.h>
#include <linux/backlight.h>
#include <linux/err.h>
#include <linux/pwm.h>
Expand All @@ -34,7 +33,6 @@ struct pwm_bl_data {
int brightness);
void (*notify_after)(struct device *,
int brightness);
int (*check_fb)(struct device *, struct fb_info *);
void (*exit)(struct device *);
};

Expand Down Expand Up @@ -129,17 +127,8 @@ static int pwm_backlight_update_status(struct backlight_device *bl)
return 0;
}

static int pwm_backlight_check_fb(struct backlight_device *bl,
struct fb_info *info)
{
struct pwm_bl_data *pb = bl_get_data(bl);

return !pb->check_fb || pb->check_fb(pb->dev, info);
}

static const struct backlight_ops pwm_backlight_ops = {
.update_status = pwm_backlight_update_status,
.check_fb = pwm_backlight_check_fb,
};

#ifdef CONFIG_OF
Expand Down Expand Up @@ -482,7 +471,6 @@ static int pwm_backlight_probe(struct platform_device *pdev)

pb->notify = data->notify;
pb->notify_after = data->notify_after;
pb->check_fb = data->check_fb;
pb->exit = data->exit;
pb->dev = &pdev->dev;
pb->enabled = false;
Expand Down
Loading

0 comments on commit 13cb61b

Please sign in to comment.