mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
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
This commit is contained in:
@@ -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,
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
#include <linux/hid.h>
|
||||
|
||||
#include <linux/fb.h>
|
||||
#include <linux/backlight.h>
|
||||
|
||||
#include "hid-picolcd.h"
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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;
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
@@ -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 ... */
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user