aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/s3c2410fb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/s3c2410fb.c')
-rw-r--r--drivers/video/s3c2410fb.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c
index 04e9d7a482fa..27528caa5a48 100644
--- a/drivers/video/s3c2410fb.c
+++ b/drivers/video/s3c2410fb.c
@@ -245,7 +245,7 @@ static int s3c2410fb_check_var(struct fb_var_screeninfo *var,
245 245
246 default: 246 default:
247 case 16: 247 case 16:
248 if (display->regs.lcdcon5 & S3C2410_LCDCON5_FRM565) { 248 if (display->lcdcon5 & S3C2410_LCDCON5_FRM565) {
249 /* 16 bpp, 565 format */ 249 /* 16 bpp, 565 format */
250 var->red.offset = 11; 250 var->red.offset = 11;
251 var->green.offset = 5; 251 var->green.offset = 5;
@@ -796,7 +796,6 @@ static int __init s3c2410fb_probe(struct platform_device *pdev)
796 struct s3c2410fb_info *info; 796 struct s3c2410fb_info *info;
797 struct s3c2410fb_display *display; 797 struct s3c2410fb_display *display;
798 struct fb_info *fbinfo; 798 struct fb_info *fbinfo;
799 struct s3c2410fb_hw *mregs;
800 struct resource *res; 799 struct resource *res;
801 int ret; 800 int ret;
802 int irq; 801 int irq;
@@ -812,7 +811,6 @@ static int __init s3c2410fb_probe(struct platform_device *pdev)
812 } 811 }
813 812
814 display = mach_info->displays + mach_info->default_display; 813 display = mach_info->displays + mach_info->default_display;
815 mregs = &display->regs;
816 814
817 irq = platform_get_irq(pdev, 0); 815 irq = platform_get_irq(pdev, 0);
818 if (irq < 0) { 816 if (irq < 0) {
@@ -855,7 +853,10 @@ static int __init s3c2410fb_probe(struct platform_device *pdev)
855 853
856 strcpy(fbinfo->fix.id, driver_name); 854 strcpy(fbinfo->fix.id, driver_name);
857 855
858 memcpy(&info->regs, &display->regs, sizeof(info->regs)); 856 info->regs.lcdcon1 = display->lcdcon1;
857 info->regs.lcdcon2 = display->lcdcon2;
858 info->regs.lcdcon4 = display->lcdcon4;
859 info->regs.lcdcon5 = display->lcdcon5;
859 860
860 /* Stop the video and unset ENVID if set */ 861 /* Stop the video and unset ENVID if set */
861 info->regs.lcdcon1 &= ~S3C2410_LCDCON1_ENVID; 862 info->regs.lcdcon1 &= ~S3C2410_LCDCON1_ENVID;
@@ -892,14 +893,14 @@ static int __init s3c2410fb_probe(struct platform_device *pdev)
892 fbinfo->var.right_margin = display->right_margin; 893 fbinfo->var.right_margin = display->right_margin;
893 894
894 fbinfo->var.upper_margin = 895 fbinfo->var.upper_margin =
895 S3C2410_LCDCON2_GET_VBPD(mregs->lcdcon2) + 1; 896 S3C2410_LCDCON2_GET_VBPD(display->lcdcon2) + 1;
896 fbinfo->var.lower_margin = 897 fbinfo->var.lower_margin =
897 S3C2410_LCDCON2_GET_VFPD(mregs->lcdcon2) + 1; 898 S3C2410_LCDCON2_GET_VFPD(display->lcdcon2) + 1;
898 fbinfo->var.vsync_len = 899 fbinfo->var.vsync_len =
899 S3C2410_LCDCON2_GET_VSPW(mregs->lcdcon2) + 1; 900 S3C2410_LCDCON2_GET_VSPW(display->lcdcon2) + 1;
900 901
901 fbinfo->var.hsync_len = 902 fbinfo->var.hsync_len =
902 S3C2410_LCDCON4_GET_HSPW(mregs->lcdcon4) + 1; 903 S3C2410_LCDCON4_GET_HSPW(display->lcdcon4) + 1;
903 904
904 fbinfo->var.red.offset = 11; 905 fbinfo->var.red.offset = 11;
905 fbinfo->var.green.offset = 5; 906 fbinfo->var.green.offset = 5;