diff options
author | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2009-09-22 19:47:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-23 10:39:52 -0400 |
commit | c4df5489e40e55f2962b9e8100ebc0d4d1374415 (patch) | |
tree | caf6538a909b8578dd45f6dcbd45ed4a7281ef21 /drivers/video/via/viafbdev.h | |
parent | 68fa92082ffda84adcbae06fdd307fca53469c25 (diff) |
viafb: improve viafb_par
This patch introduces viafb_shared and is the beginning of a smooth
transition to use it.
viafb_shared should contain all general, non-surface specific data that
should be shared along all viafb framebuffers while viafb_par should only
contain things that are specific to each surface or in other words extend
fb_info. This change is intended to clean the dual/multi framebuffer
handling up.
This removes the annoyance that viafbinfo1->par points to a different
structure than viaparinfo1.
As the last change is fundamental it is difficult to ensure that all parts
of the driver do not depend on the previous brokenness but the chance of
regressions is very low.
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Scott Fang <ScottFang@viatech.com.cn>
Cc: Joseph Chan <JosephChan@via.com.tw>
Cc: Harald Welte <laforge@gnumonks.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/via/viafbdev.h')
-rw-r--r-- | drivers/video/via/viafbdev.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/drivers/video/via/viafbdev.h b/drivers/video/via/viafbdev.h index 2763922bbe4f..1d1fe35feaa7 100644 --- a/drivers/video/via/viafbdev.h +++ b/drivers/video/via/viafbdev.h | |||
@@ -37,6 +37,20 @@ | |||
37 | #define VERSION_OS 0 /* 0: for 32 bits OS, 1: for 64 bits OS */ | 37 | #define VERSION_OS 0 /* 0: for 32 bits OS, 1: for 64 bits OS */ |
38 | #define VERSION_MINOR 4 | 38 | #define VERSION_MINOR 4 |
39 | 39 | ||
40 | struct viafb_shared { | ||
41 | struct proc_dir_entry *proc_entry; /*viafb proc entry */ | ||
42 | |||
43 | /* I2C stuff */ | ||
44 | struct via_i2c_stuff i2c_stuff; | ||
45 | |||
46 | /* All the information will be needed to set engine */ | ||
47 | struct tmds_setting_information tmds_setting_info; | ||
48 | struct crt_setting_information crt_setting_info; | ||
49 | struct lvds_setting_information lvds_setting_info; | ||
50 | struct lvds_setting_information lvds_setting_info2; | ||
51 | struct chip_information chip_info; | ||
52 | }; | ||
53 | |||
40 | struct viafb_par { | 54 | struct viafb_par { |
41 | void __iomem *io_virt; /*iospace virtual memory address */ | 55 | void __iomem *io_virt; /*iospace virtual memory address */ |
42 | unsigned int fbmem; /*framebuffer physical memory address */ | 56 | unsigned int fbmem; /*framebuffer physical memory address */ |
@@ -47,12 +61,11 @@ struct viafb_par { | |||
47 | u32 VQ_start; /* Virtual Queue Start Address */ | 61 | u32 VQ_start; /* Virtual Queue Start Address */ |
48 | u32 VQ_end; /* Virtual Queue End Address */ | 62 | u32 VQ_end; /* Virtual Queue End Address */ |
49 | u32 iga_path; | 63 | u32 iga_path; |
50 | struct proc_dir_entry *proc_entry; /*viafb proc entry */ | ||
51 | 64 | ||
52 | /* I2C stuff */ | 65 | struct viafb_shared *shared; |
53 | struct via_i2c_stuff i2c_stuff; | ||
54 | 66 | ||
55 | /* All the information will be needed to set engine */ | 67 | /* All the information will be needed to set engine */ |
68 | /* depreciated, use the ones in shared directly */ | ||
56 | struct tmds_setting_information *tmds_setting_info; | 69 | struct tmds_setting_information *tmds_setting_info; |
57 | struct crt_setting_information *crt_setting_info; | 70 | struct crt_setting_information *crt_setting_info; |
58 | struct lvds_setting_information *lvds_setting_info; | 71 | struct lvds_setting_information *lvds_setting_info; |