diff options
author | Eric Bénard <eric@eukrea.com> | 2010-08-02 03:39:55 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-08-10 17:10:51 -0400 |
commit | 81ef806163ebfd4775fc3154e031aad6feaaa192 (patch) | |
tree | 724ce4c8cf71314d66f6a672d329f3f704450b0d /drivers/video | |
parent | 868003ca7ad17ac6c1606dc36101f10a7825b399 (diff) |
ARM: 6281/1: video/imxfb.c: allow usage without BACKLIGHT_CLASS_DEVICE
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>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/imxfb.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/drivers/video/imxfb.c b/drivers/video/imxfb.c index 43f0639b1c10..5c363d026f64 100644 --- a/drivers/video/imxfb.c +++ b/drivers/video/imxfb.c | |||
@@ -40,6 +40,12 @@ | |||
40 | */ | 40 | */ |
41 | #define DEBUG_VAR 1 | 41 | #define DEBUG_VAR 1 |
42 | 42 | ||
43 | #if defined(CONFIG_BACKLIGHT_CLASS_DEVICE) || \ | ||
44 | (defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE) && \ | ||
45 | defined(CONFIG_FB_IMX_MODULE)) | ||
46 | #define PWMR_BACKLIGHT_AVAILABLE | ||
47 | #endif | ||
48 | |||
43 | #define DRIVER_NAME "imx-fb" | 49 | #define DRIVER_NAME "imx-fb" |
44 | 50 | ||
45 | #define LCDC_SSA 0x00 | 51 | #define LCDC_SSA 0x00 |
@@ -175,7 +181,9 @@ struct imxfb_info { | |||
175 | 181 | ||
176 | struct imx_fb_videomode *mode; | 182 | struct imx_fb_videomode *mode; |
177 | int num_modes; | 183 | int num_modes; |
184 | #ifdef PWMR_BACKLIGHT_AVAILABLE | ||
178 | struct backlight_device *bl; | 185 | struct backlight_device *bl; |
186 | #endif | ||
179 | 187 | ||
180 | void (*lcd_power)(int); | 188 | void (*lcd_power)(int); |
181 | void (*backlight_power)(int); | 189 | void (*backlight_power)(int); |
@@ -450,8 +458,7 @@ static int imxfb_set_par(struct fb_info *info) | |||
450 | return 0; | 458 | return 0; |
451 | } | 459 | } |
452 | 460 | ||
453 | 461 | #ifdef PWMR_BACKLIGHT_AVAILABLE | |
454 | |||
455 | static int imxfb_bl_get_brightness(struct backlight_device *bl) | 462 | static int imxfb_bl_get_brightness(struct backlight_device *bl) |
456 | { | 463 | { |
457 | struct imxfb_info *fbi = bl_get_data(bl); | 464 | struct imxfb_info *fbi = bl_get_data(bl); |
@@ -516,6 +523,7 @@ static void imxfb_exit_backlight(struct imxfb_info *fbi) | |||
516 | if (fbi->bl) | 523 | if (fbi->bl) |
517 | backlight_device_unregister(fbi->bl); | 524 | backlight_device_unregister(fbi->bl); |
518 | } | 525 | } |
526 | #endif | ||
519 | 527 | ||
520 | static void imxfb_enable_controller(struct imxfb_info *fbi) | 528 | static void imxfb_enable_controller(struct imxfb_info *fbi) |
521 | { | 529 | { |
@@ -647,6 +655,9 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf | |||
647 | fbi->regs + LCDC_SIZE); | 655 | fbi->regs + LCDC_SIZE); |
648 | 656 | ||
649 | writel(fbi->pcr, fbi->regs + LCDC_PCR); | 657 | writel(fbi->pcr, fbi->regs + LCDC_PCR); |
658 | #ifndef PWMR_BACKLIGHT_AVAILABLE | ||
659 | writel(fbi->pwmr, fbi->regs + LCDC_PWMR); | ||
660 | #endif | ||
650 | writel(fbi->lscr1, fbi->regs + LCDC_LSCR1); | 661 | writel(fbi->lscr1, fbi->regs + LCDC_LSCR1); |
651 | writel(fbi->dmacr, fbi->regs + LCDC_DMACR); | 662 | writel(fbi->dmacr, fbi->regs + LCDC_DMACR); |
652 | 663 | ||
@@ -847,7 +858,9 @@ static int __init imxfb_probe(struct platform_device *pdev) | |||
847 | 858 | ||
848 | imxfb_enable_controller(fbi); | 859 | imxfb_enable_controller(fbi); |
849 | fbi->pdev = pdev; | 860 | fbi->pdev = pdev; |
861 | #ifdef PWMR_BACKLIGHT_AVAILABLE | ||
850 | imxfb_init_backlight(fbi); | 862 | imxfb_init_backlight(fbi); |
863 | #endif | ||
851 | 864 | ||
852 | return 0; | 865 | return 0; |
853 | 866 | ||
@@ -885,7 +898,9 @@ static int __devexit imxfb_remove(struct platform_device *pdev) | |||
885 | 898 | ||
886 | imxfb_disable_controller(fbi); | 899 | imxfb_disable_controller(fbi); |
887 | 900 | ||
901 | #ifdef PWMR_BACKLIGHT_AVAILABLE | ||
888 | imxfb_exit_backlight(fbi); | 902 | imxfb_exit_backlight(fbi); |
903 | #endif | ||
889 | unregister_framebuffer(info); | 904 | unregister_framebuffer(info); |
890 | 905 | ||
891 | pdata = pdev->dev.platform_data; | 906 | pdata = pdev->dev.platform_data; |