aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/via/viafbdev.h
diff options
context:
space:
mode:
authorJonathan Corbet <corbet@lwn.net>2010-04-22 15:48:09 -0400
committerJonathan Corbet <corbet@lwn.net>2010-05-07 19:16:02 -0400
commit24b4d82e4715841848a499534ed5cb7db3d6bca3 (patch)
tree957c3664ac41da616e2aec7e8adb07247ee1a551 /drivers/video/via/viafbdev.h
parentf045f77bc0bf238a871b10bea9e425329a8e4abc (diff)
viafb: Separate global and fb-specific data
This patch moves data of interest into a new viafb_dev structure which describes the device as a whole; the idea here is to create a separation between what all devices may need and what the framebuffer device in particular needs. I've also made some small steps toward thinning out the global.h mess. Cc: ScottFang@viatech.com.cn Cc: JosephChan@via.com.tw Cc: Harald Welte <laforge@gnumonks.org> Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'drivers/video/via/viafbdev.h')
-rw-r--r--drivers/video/via/viafbdev.h13
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/video/via/viafbdev.h b/drivers/video/via/viafbdev.h
index 5604f27eb74..52a35fabba9 100644
--- a/drivers/video/via/viafbdev.h
+++ b/drivers/video/via/viafbdev.h
@@ -30,7 +30,6 @@
30#include "share.h" 30#include "share.h"
31#include "chip.h" 31#include "chip.h"
32#include "hw.h" 32#include "hw.h"
33#include "via_i2c.h"
34 33
35#define VERSION_MAJOR 2 34#define VERSION_MAJOR 2
36#define VERSION_KERNEL 6 /* For kernel 2.6 */ 35#define VERSION_KERNEL 6 /* For kernel 2.6 */
@@ -42,6 +41,7 @@
42 41
43struct viafb_shared { 42struct viafb_shared {
44 struct proc_dir_entry *proc_entry; /*viafb proc entry */ 43 struct proc_dir_entry *proc_entry; /*viafb proc entry */
44 struct viafb_dev *vdev; /* Global dev info */
45 45
46 /* All the information will be needed to set engine */ 46 /* All the information will be needed to set engine */
47 struct tmds_setting_information tmds_setting_info; 47 struct tmds_setting_information tmds_setting_info;
@@ -51,7 +51,6 @@ struct viafb_shared {
51 struct chip_information chip_info; 51 struct chip_information chip_info;
52 52
53 /* hardware acceleration stuff */ 53 /* hardware acceleration stuff */
54 void __iomem *engine_mmio;
55 u32 cursor_vram_addr; 54 u32 cursor_vram_addr;
56 u32 vq_vram_addr; /* virtual queue address in video ram */ 55 u32 vq_vram_addr; /* virtual queue address in video ram */
57 int (*hw_bitblt)(void __iomem *engine, u8 op, u32 width, u32 height, 56 int (*hw_bitblt)(void __iomem *engine, u8 op, u32 width, u32 height,
@@ -72,14 +71,6 @@ struct viafb_par {
72 71
73 struct viafb_shared *shared; 72 struct viafb_shared *shared;
74 73
75 /*
76 * (jc) I believe one should use locking to protect against
77 * concurrent access to the device ports and registers. Thus,
78 * this lock. Use of it is *far* from universal, though...
79 * someday...
80 */
81 spinlock_t reg_lock;
82
83 /* All the information will be needed to set engine */ 74 /* All the information will be needed to set engine */
84 /* depreciated, use the ones in shared directly */ 75 /* depreciated, use the ones in shared directly */
85 struct tmds_setting_information *tmds_setting_info; 76 struct tmds_setting_information *tmds_setting_info;
@@ -107,7 +98,7 @@ u8 viafb_gpio_i2c_read_lvds(struct lvds_setting_information
107void viafb_gpio_i2c_write_mask_lvds(struct lvds_setting_information 98void viafb_gpio_i2c_write_mask_lvds(struct lvds_setting_information
108 *plvds_setting_info, struct lvds_chip_information 99 *plvds_setting_info, struct lvds_chip_information
109 *plvds_chip_info, struct IODATA io_data); 100 *plvds_chip_info, struct IODATA io_data);
110int via_fb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent); 101int via_fb_pci_probe(struct viafb_dev *vdev);
111void via_fb_pci_remove(struct pci_dev *pdev); 102void via_fb_pci_remove(struct pci_dev *pdev);
112/* Temporary */ 103/* Temporary */
113int viafb_init(void); 104int viafb_init(void);