mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 09:16:33 +00:00
backlight: lcd: Remove struct fb_videomode from set_mode callback
Implementations of struct lcd_ops.set_mode only require the resolution from struct fb_videomode. Pass the xres and yres fields, but remove the dependency on the fbdev data structure. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> Link: https://lore.kernel.org/r/20240906075439.98476-28-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
parent
43e1120deb
commit
02e224d096
@ -17,7 +17,6 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/fb.h>
|
||||
#include <linux/lcd.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/spi/corgi_lcd.h>
|
||||
@ -332,12 +331,12 @@ static void corgi_lcd_power_off(struct corgi_lcd *lcd)
|
||||
POWER1_VW_OFF | POWER1_GVSS_OFF | POWER1_VDD_OFF);
|
||||
}
|
||||
|
||||
static int corgi_lcd_set_mode(struct lcd_device *ld, struct fb_videomode *m)
|
||||
static int corgi_lcd_set_mode(struct lcd_device *ld, u32 xres, u32 yres)
|
||||
{
|
||||
struct corgi_lcd *lcd = lcd_get_data(ld);
|
||||
int mode = CORGI_LCD_MODE_QVGA;
|
||||
|
||||
if (m->xres == 640 || m->xres == 480)
|
||||
if (xres == 640 || xres == 480)
|
||||
mode = CORGI_LCD_MODE_VGA;
|
||||
|
||||
if (lcd->mode == mode)
|
||||
|
@ -65,8 +65,10 @@ static int fb_notifier_callback(struct notifier_block *self,
|
||||
if (ld->ops->set_power)
|
||||
ld->ops->set_power(ld, power);
|
||||
} else {
|
||||
const struct fb_videomode *videomode = evdata->data;
|
||||
|
||||
if (ld->ops->set_mode)
|
||||
ld->ops->set_mode(ld, evdata->data);
|
||||
ld->ops->set_mode(ld, videomode->xres, videomode->yres);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -12,7 +12,6 @@
|
||||
#include <linux/device.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/spi/tdo24m.h>
|
||||
#include <linux/fb.h>
|
||||
#include <linux/lcd.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
@ -308,12 +307,12 @@ static int tdo24m_get_power(struct lcd_device *ld)
|
||||
return lcd->power;
|
||||
}
|
||||
|
||||
static int tdo24m_set_mode(struct lcd_device *ld, struct fb_videomode *m)
|
||||
static int tdo24m_set_mode(struct lcd_device *ld, u32 xres, u32 yres)
|
||||
{
|
||||
struct tdo24m *lcd = lcd_get_data(ld);
|
||||
int mode = MODE_QVGA;
|
||||
|
||||
if (m->xres == 640 || m->xres == 480)
|
||||
if (xres == 640 || xres == 480)
|
||||
mode = MODE_VGA;
|
||||
|
||||
if (lcd->mode == mode)
|
||||
|
@ -51,8 +51,11 @@ struct lcd_ops {
|
||||
int (*get_contrast)(struct lcd_device *);
|
||||
/* Set LCD panel contrast */
|
||||
int (*set_contrast)(struct lcd_device *, int contrast);
|
||||
/* Set LCD panel mode (resolutions ...) */
|
||||
int (*set_mode)(struct lcd_device *, struct fb_videomode *);
|
||||
|
||||
/*
|
||||
* Set LCD panel mode (resolutions ...)
|
||||
*/
|
||||
int (*set_mode)(struct lcd_device *lcd, u32 xres, u32 yres);
|
||||
|
||||
/*
|
||||
* Check if the LCD controls the given display device. This
|
||||
|
Loading…
Reference in New Issue
Block a user