summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorPawel Osciak <p.osciak@samsung.com>2010-08-10 18:02:36 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-11 08:59:10 -0700
commit4e591ac620269b3f5fb000d75444bbb397576315 (patch)
treef8f44566eba2aa426f5519674c8848ec025a4bd7 /drivers/video
parent9fa424a40186ef3e8a6573aa1c1dd46c94c66012 (diff)
downloadlinux-3.10-4e591ac620269b3f5fb000d75444bbb397576315.tar.gz
linux-3.10-4e591ac620269b3f5fb000d75444bbb397576315.tar.bz2
linux-3.10-4e591ac620269b3f5fb000d75444bbb397576315.zip
s3c-fb: separate S5PC100 and S5PV210 framebuffer driver data structures
S5PC100 and S5PV210 framebuffer devices differ slightly in terms of available registers and their driver data structures have to be separate. Those differences include dissimilar ways to control shadow register updates. Signed-off-by: Pawel Osciak <p.osciak@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Cc: InKi Dae <inki.dae@samsung.com> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/s3c-fb.c37
1 files changed, 34 insertions, 3 deletions
diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c
index 77f576589a8..5f931b4933b 100644
--- a/drivers/video/s3c-fb.c
+++ b/drivers/video/s3c-fb.c
@@ -1251,7 +1251,35 @@ static struct s3c_fb_driverdata s3c_fb_data_64xx __devinitdata = {
.win[4] = &s3c_fb_data_64xx_wins[4],
};
-static struct s3c_fb_driverdata s3c_fb_data_s5p __devinitdata = {
+static struct s3c_fb_driverdata s3c_fb_data_s5pc100 __devinitdata = {
+ .variant = {
+ .nr_windows = 5,
+ .vidtcon = VIDTCON0,
+ .wincon = WINCON(0),
+ .winmap = WINxMAP(0),
+ .keycon = WKEYCON,
+ .osd = VIDOSD_BASE,
+ .osd_stride = 16,
+ .buf_start = VIDW_BUF_START(0),
+ .buf_size = VIDW_BUF_SIZE(0),
+ .buf_end = VIDW_BUF_END(0),
+
+ .palette = {
+ [0] = 0x2400,
+ [1] = 0x2800,
+ [2] = 0x2c00,
+ [3] = 0x3000,
+ [4] = 0x3400,
+ },
+ },
+ .win[0] = &s3c_fb_data_64xx_wins[0],
+ .win[1] = &s3c_fb_data_64xx_wins[1],
+ .win[2] = &s3c_fb_data_64xx_wins[2],
+ .win[3] = &s3c_fb_data_64xx_wins[3],
+ .win[4] = &s3c_fb_data_64xx_wins[4],
+};
+
+static struct s3c_fb_driverdata s3c_fb_data_s5pv210 __devinitdata = {
.variant = {
.nr_windows = 5,
.vidtcon = VIDTCON0,
@@ -1319,8 +1347,11 @@ static struct platform_device_id s3c_fb_driver_ids[] = {
.name = "s3c-fb",
.driver_data = (unsigned long)&s3c_fb_data_64xx,
}, {
- .name = "s5p-fb",
- .driver_data = (unsigned long)&s3c_fb_data_s5p,
+ .name = "s5pc100-fb",
+ .driver_data = (unsigned long)&s3c_fb_data_s5pc100,
+ }, {
+ .name = "s5pv210-fb",
+ .driver_data = (unsigned long)&s3c_fb_data_s5pv210,
}, {
.name = "s3c2443-fb",
.driver_data = (unsigned long)&s3c_fb_data_s3c2443,