Skip to content

Commit

Permalink
ARM: 6281/1: video/imxfb.c: allow usage without BACKLIGHT_CLASS_DEVICE
Browse files Browse the repository at this point in the history
From: Eric Bénard <eric@eukrea.com>

This fixes the following build failure:

	drivers/built-in.o: In function `imxfb_probe': mxcmmc.c:(.init.text+0xd04): undefined reference to `backlight_device_register'
	drivers/built-in.o: In function `imxfb_remove': mxcmmc.c:(.devexit.text+0x44): undefined reference to `backlight_device_unregister'

that was introduced by

	7a2bb23 (imxfb: add pwmr controlled backlight support)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Eric Bénard authored and Russell King committed Aug 10, 2010
1 parent 868003c commit 81ef806
Showing 1 changed file with 17 additions and 2 deletions.
19 changes: 17 additions & 2 deletions drivers/video/imxfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@
*/
#define DEBUG_VAR 1

#if defined(CONFIG_BACKLIGHT_CLASS_DEVICE) || \
(defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE) && \
defined(CONFIG_FB_IMX_MODULE))
#define PWMR_BACKLIGHT_AVAILABLE
#endif

#define DRIVER_NAME "imx-fb"

#define LCDC_SSA 0x00
Expand Down Expand Up @@ -175,7 +181,9 @@ struct imxfb_info {

struct imx_fb_videomode *mode;
int num_modes;
#ifdef PWMR_BACKLIGHT_AVAILABLE
struct backlight_device *bl;
#endif

void (*lcd_power)(int);
void (*backlight_power)(int);
Expand Down Expand Up @@ -450,8 +458,7 @@ static int imxfb_set_par(struct fb_info *info)
return 0;
}



#ifdef PWMR_BACKLIGHT_AVAILABLE
static int imxfb_bl_get_brightness(struct backlight_device *bl)
{
struct imxfb_info *fbi = bl_get_data(bl);
Expand Down Expand Up @@ -516,6 +523,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)
{
Expand Down Expand Up @@ -647,6 +655,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 PWMR_BACKLIGHT_AVAILABLE
writel(fbi->pwmr, fbi->regs + LCDC_PWMR);
#endif
writel(fbi->lscr1, fbi->regs + LCDC_LSCR1);
writel(fbi->dmacr, fbi->regs + LCDC_DMACR);

Expand Down Expand Up @@ -847,7 +858,9 @@ static int __init imxfb_probe(struct platform_device *pdev)

imxfb_enable_controller(fbi);
fbi->pdev = pdev;
#ifdef PWMR_BACKLIGHT_AVAILABLE
imxfb_init_backlight(fbi);
#endif

return 0;

Expand Down Expand Up @@ -885,7 +898,9 @@ static int __devexit imxfb_remove(struct platform_device *pdev)

imxfb_disable_controller(fbi);

#ifdef PWMR_BACKLIGHT_AVAILABLE
imxfb_exit_backlight(fbi);
#endif
unregister_framebuffer(info);

pdata = pdev->dev.platform_data;
Expand Down

0 comments on commit 81ef806

Please sign in to comment.