[PATCH] video/imxfb.c: allow usage without BACKLIGHT_CLASS_DEVICE
Eric Bénard
eric at eukrea.com
Thu Jul 29 04:42:58 EDT 2010
Signed-off-by: Eric Bénard <eric at eukrea.com>
---
drivers/video/imxfb.c | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/video/imxfb.c b/drivers/video/imxfb.c
index 43f0639..0c2fb4d 100644
--- a/drivers/video/imxfb.c
+++ b/drivers/video/imxfb.c
@@ -175,7 +175,9 @@ struct imxfb_info {
struct imx_fb_videomode *mode;
int num_modes;
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
struct backlight_device *bl;
+#endif
void (*lcd_power)(int);
void (*backlight_power)(int);
@@ -450,8 +452,7 @@ static int imxfb_set_par(struct fb_info *info)
return 0;
}
-
-
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
static int imxfb_bl_get_brightness(struct backlight_device *bl)
{
struct imxfb_info *fbi = bl_get_data(bl);
@@ -516,6 +517,7 @@ static void imxfb_exit_backlight(struct imxfb_info *fbi)
if (fbi->bl)
backlight_device_unregister(fbi->bl);
}
+#endif
static void imxfb_enable_controller(struct imxfb_info *fbi)
{
@@ -647,6 +649,9 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf
fbi->regs + LCDC_SIZE);
writel(fbi->pcr, fbi->regs + LCDC_PCR);
+#ifndef CONFIG_BACKLIGHT_CLASS_DEVICE
+ writel(fbi->pwmr, fbi->regs + LCDC_PWMR);
+#endif
writel(fbi->lscr1, fbi->regs + LCDC_LSCR1);
writel(fbi->dmacr, fbi->regs + LCDC_DMACR);
@@ -847,7 +852,9 @@ static int __init imxfb_probe(struct platform_device *pdev)
imxfb_enable_controller(fbi);
fbi->pdev = pdev;
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
imxfb_init_backlight(fbi);
+#endif
return 0;
@@ -885,7 +892,9 @@ static int __devexit imxfb_remove(struct platform_device *pdev)
imxfb_disable_controller(fbi);
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
imxfb_exit_backlight(fbi);
+#endif
unregister_framebuffer(info);
pdata = pdev->dev.platform_data;
--
1.6.3.3
More information about the linux-arm-kernel
mailing list