mirror of
https://github.com/torvalds/linux.git
synced 2026-05-21 13:27:57 +02:00
fbdev: imxfb: Replace check_fb in favor of struct fb_info.lcd_dev
Store the lcd device in struct fb_info.lcd_dev. The lcd subsystem can now detect the lcd's fbdev device from this field. This makes the implementation of check_fb in imxfb_lcd_ops obsolete. Remove it. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> Link: https://lore.kernel.org/r/20240906075439.98476-23-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
parent
c11de82078
commit
488d807101
|
|
@ -782,16 +782,6 @@ static int imxfb_of_read_mode(struct device *dev, struct device_node *np,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int imxfb_lcd_check_fb(struct lcd_device *lcddev, struct fb_info *fi)
|
||||
{
|
||||
struct imxfb_info *fbi = dev_get_drvdata(&lcddev->dev);
|
||||
|
||||
if (!fi || fi->par == fbi)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int imxfb_lcd_get_contrast(struct lcd_device *lcddev)
|
||||
{
|
||||
struct imxfb_info *fbi = dev_get_drvdata(&lcddev->dev);
|
||||
|
|
@ -858,7 +848,6 @@ static int imxfb_lcd_set_power(struct lcd_device *lcddev, int power)
|
|||
}
|
||||
|
||||
static const struct lcd_ops imxfb_lcd_ops = {
|
||||
.check_fb = imxfb_lcd_check_fb,
|
||||
.get_contrast = imxfb_lcd_get_contrast,
|
||||
.set_contrast = imxfb_lcd_set_contrast,
|
||||
.get_power = imxfb_lcd_get_power,
|
||||
|
|
@ -1025,11 +1014,6 @@ static int imxfb_probe(struct platform_device *pdev)
|
|||
goto failed_cmap;
|
||||
|
||||
imxfb_set_par(info);
|
||||
ret = register_framebuffer(info);
|
||||
if (ret < 0) {
|
||||
dev_err(&pdev->dev, "failed to register framebuffer\n");
|
||||
goto failed_register;
|
||||
}
|
||||
|
||||
fbi->lcd_pwr = devm_regulator_get(&pdev->dev, "lcd");
|
||||
if (PTR_ERR(fbi->lcd_pwr) == -EPROBE_DEFER) {
|
||||
|
|
@ -1046,13 +1030,19 @@ static int imxfb_probe(struct platform_device *pdev)
|
|||
|
||||
lcd->props.max_contrast = 0xff;
|
||||
|
||||
info->lcd_dev = lcd;
|
||||
|
||||
ret = register_framebuffer(info);
|
||||
if (ret < 0) {
|
||||
dev_err(&pdev->dev, "failed to register framebuffer\n");
|
||||
goto failed_lcd;
|
||||
}
|
||||
|
||||
imxfb_enable_controller(fbi);
|
||||
|
||||
return 0;
|
||||
|
||||
failed_lcd:
|
||||
unregister_framebuffer(info);
|
||||
failed_register:
|
||||
fb_dealloc_cmap(&info->cmap);
|
||||
failed_cmap:
|
||||
dma_free_wc(&pdev->dev, fbi->map_size, info->screen_buffer,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user