1 |
Author: mpagano |
2 |
Date: 2013-08-27 12:33:31 +0000 (Tue, 27 Aug 2013) |
3 |
New Revision: 2496 |
4 |
|
5 |
Modified: |
6 |
genpatches-2.6/trunk/3.11/4200_fbcondecor-0.9.6.patch |
7 |
Log: |
8 |
Additional modifications to fbcondecor patch |
9 |
|
10 |
Modified: genpatches-2.6/trunk/3.11/4200_fbcondecor-0.9.6.patch |
11 |
=================================================================== |
12 |
--- genpatches-2.6/trunk/3.11/4200_fbcondecor-0.9.6.patch 2013-08-26 23:21:13 UTC (rev 2495) |
13 |
+++ genpatches-2.6/trunk/3.11/4200_fbcondecor-0.9.6.patch 2013-08-27 12:33:31 UTC (rev 2496) |
14 |
@@ -816,8 +816,17 @@ |
15 |
+ } |
16 |
+} |
17 |
+ |
18 |
+From ea6ca92753106f1e0773acd1f18c71ae79a6f9b0 Mon Sep 17 00:00:00 2001 |
19 |
+From: Mike Pagano <mpagano@g.o> |
20 |
+Date: Tue, 27 Aug 2013 07:58:05 -0400 |
21 |
+Subject: [PATCH] gbcondecor port |
22 |
+ |
23 |
+--- |
24 |
+ drivers/video/console/fbcon.c | 167 ++++++++++++++++++++++++++++++++++++------ |
25 |
+ 1 file changed, 143 insertions(+), 24 deletions(-) |
26 |
+ |
27 |
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c |
28 |
-index cd8a802..a0382da 100644 |
29 |
+index cd8a802..666556c 100644 |
30 |
--- a/drivers/video/console/fbcon.c |
31 |
+++ b/drivers/video/console/fbcon.c |
32 |
@@ -79,6 +79,7 @@ |
33 |
@@ -837,15 +846,7 @@ |
34 |
static signed char con2fb_map_boot[MAX_NR_CONSOLES]; |
35 |
|
36 |
static int logo_lines; |
37 |
-@@ -109,7 +110,6 @@ static unsigned long softback_top, softback_end; |
38 |
- static int softback_lines; |
39 |
- /* console mappings */ |
40 |
- static int first_fb_vc; |
41 |
--static int last_fb_vc = MAX_NR_CONSOLES - 1; |
42 |
- static int fbcon_is_default = 1; |
43 |
- static int fbcon_has_exited; |
44 |
- static int primary_device = -1; |
45 |
-@@ -286,7 +286,7 @@ static inline int fbcon_is_inactive(struct vc_data *vc, struct fb_info *info) |
46 |
+@@ -286,7 +287,7 @@ static inline int fbcon_is_inactive(struct vc_data *vc, struct fb_info *info) |
47 |
!vt_force_oops_output(vc); |
48 |
} |
49 |
|
50 |
@@ -854,7 +855,7 @@ |
51 |
u16 c, int is_fg) |
52 |
{ |
53 |
int depth = fb_get_color_depth(&info->var, &info->fix); |
54 |
-@@ -551,6 +551,9 @@ static int do_fbcon_takeover(int show_logo) |
55 |
+@@ -551,6 +552,9 @@ static int do_fbcon_takeover(int show_logo) |
56 |
info_idx = -1; |
57 |
} else { |
58 |
fbcon_has_console_bind = 1; |
59 |
@@ -864,7 +865,7 @@ |
60 |
} |
61 |
|
62 |
return err; |
63 |
-@@ -1007,6 +1010,12 @@ static const char *fbcon_startup(void) |
64 |
+@@ -1007,6 +1011,12 @@ static const char *fbcon_startup(void) |
65 |
rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); |
66 |
cols /= vc->vc_font.width; |
67 |
rows /= vc->vc_font.height; |
68 |
@@ -877,7 +878,7 @@ |
69 |
vc_resize(vc, cols, rows); |
70 |
|
71 |
DPRINTK("mode: %s\n", info->fix.id); |
72 |
-@@ -1036,7 +1045,7 @@ static void fbcon_init(struct vc_data *vc, int init) |
73 |
+@@ -1036,7 +1046,7 @@ static void fbcon_init(struct vc_data *vc, int init) |
74 |
cap = info->flags; |
75 |
|
76 |
if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW || |
77 |
@@ -886,7 +887,7 @@ |
78 |
logo = 0; |
79 |
|
80 |
if (var_to_display(p, &info->var, info)) |
81 |
-@@ -1260,6 +1269,11 @@ static void fbcon_clear(struct vc_data *vc, int sy, int sx, int height, |
82 |
+@@ -1260,6 +1270,11 @@ static void fbcon_clear(struct vc_data *vc, int sy, int sx, int height, |
83 |
fbcon_clear_margins(vc, 0); |
84 |
} |
85 |
|
86 |
@@ -898,7 +899,7 @@ |
87 |
/* Split blits that cross physical y_wrap boundary */ |
88 |
|
89 |
y_break = p->vrows - p->yscroll; |
90 |
-@@ -1279,10 +1293,15 @@ static void fbcon_putcs(struct vc_data *vc, const unsigned short *s, |
91 |
+@@ -1279,10 +1294,15 @@ static void fbcon_putcs(struct vc_data *vc, const unsigned short *s, |
92 |
struct display *p = &fb_display[vc->vc_num]; |
93 |
struct fbcon_ops *ops = info->fbcon_par; |
94 |
|
95 |
@@ -918,7 +919,7 @@ |
96 |
} |
97 |
|
98 |
static void fbcon_putc(struct vc_data *vc, int c, int ypos, int xpos) |
99 |
-@@ -1297,9 +1316,6 @@ static void fbcon_clear_margins(struct vc_data *vc, int bottom_only) |
100 |
+@@ -1297,9 +1317,6 @@ static void fbcon_clear_margins(struct vc_data *vc, int bottom_only) |
101 |
{ |
102 |
struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; |
103 |
struct fbcon_ops *ops = info->fbcon_par; |
104 |
@@ -928,7 +929,7 @@ |
105 |
} |
106 |
|
107 |
static void fbcon_cursor(struct vc_data *vc, int mode) |
108 |
-@@ -1819,7 +1835,7 @@ static int fbcon_scroll(struct vc_data *vc, int t, int b, int dir, |
109 |
+@@ -1819,7 +1836,7 @@ static int fbcon_scroll(struct vc_data *vc, int t, int b, int dir, |
110 |
count = vc->vc_rows; |
111 |
if (softback_top) |
112 |
fbcon_softback_note(vc, t, count); |
113 |
@@ -937,7 +938,7 @@ |
114 |
goto redraw_up; |
115 |
switch (p->scrollmode) { |
116 |
case SCROLL_MOVE: |
117 |
-@@ -1912,6 +1928,8 @@ static int fbcon_scroll(struct vc_data *vc, int t, int b, int dir, |
118 |
+@@ -1912,6 +1929,8 @@ static int fbcon_scroll(struct vc_data *vc, int t, int b, int dir, |
119 |
count = vc->vc_rows; |
120 |
if (logo_shown >= 0) |
121 |
goto redraw_down; |
122 |
@@ -946,7 +947,7 @@ |
123 |
switch (p->scrollmode) { |
124 |
case SCROLL_MOVE: |
125 |
fbcon_redraw_blit(vc, info, p, b - 1, b - t - count, |
126 |
-@@ -2060,6 +2078,13 @@ static void fbcon_bmove_rec(struct vc_data *vc, struct display *p, int sy, int s |
127 |
+@@ -2060,6 +2079,13 @@ static void fbcon_bmove_rec(struct vc_data *vc, struct display *p, int sy, int s |
128 |
} |
129 |
return; |
130 |
} |
131 |
@@ -960,7 +961,7 @@ |
132 |
ops->bmove(vc, info, real_y(p, sy), sx, real_y(p, dy), dx, |
133 |
height, width); |
134 |
} |
135 |
-@@ -2130,8 +2155,8 @@ static int fbcon_resize(struct vc_data *vc, unsigned int width, |
136 |
+@@ -2130,8 +2156,8 @@ static int fbcon_resize(struct vc_data *vc, unsigned int width, |
137 |
var.yres = virt_h * virt_fh; |
138 |
x_diff = info->var.xres - var.xres; |
139 |
y_diff = info->var.yres - var.yres; |
140 |
@@ -971,7 +972,7 @@ |
141 |
const struct fb_videomode *mode; |
142 |
|
143 |
DPRINTK("attempting resize %ix%i\n", var.xres, var.yres); |
144 |
-@@ -2168,6 +2193,22 @@ static int fbcon_switch(struct vc_data *vc) |
145 |
+@@ -2168,6 +2194,22 @@ static int fbcon_switch(struct vc_data *vc) |
146 |
info = registered_fb[con2fb_map[vc->vc_num]]; |
147 |
ops = info->fbcon_par; |
148 |
|
149 |
@@ -994,7 +995,7 @@ |
150 |
if (softback_top) { |
151 |
if (softback_lines) |
152 |
fbcon_set_origin(vc); |
153 |
-@@ -2185,9 +2226,6 @@ static int fbcon_switch(struct vc_data *vc) |
154 |
+@@ -2185,9 +2227,6 @@ static int fbcon_switch(struct vc_data *vc) |
155 |
logo_shown = FBCON_LOGO_CANSHOW; |
156 |
} |
157 |
|
158 |
@@ -1004,7 +1005,7 @@ |
159 |
/* |
160 |
* FIXME: If we have multiple fbdev's loaded, we need to |
161 |
* update all info->currcon. Perhaps, we can place this |
162 |
-@@ -2231,6 +2269,18 @@ static int fbcon_switch(struct vc_data *vc) |
163 |
+@@ -2231,6 +2270,18 @@ static int fbcon_switch(struct vc_data *vc) |
164 |
fbcon_del_cursor_timer(old_info); |
165 |
} |
166 |
|
167 |
@@ -1023,7 +1024,7 @@ |
168 |
if (fbcon_is_inactive(vc, info) || |
169 |
ops->blank_state != FB_BLANK_UNBLANK) |
170 |
fbcon_del_cursor_timer(info); |
171 |
-@@ -2344,10 +2394,14 @@ static int fbcon_blank(struct vc_data *vc, int blank, int mode_switch) |
172 |
+@@ -2344,10 +2395,14 @@ static int fbcon_blank(struct vc_data *vc, int blank, int mode_switch) |
173 |
ops->blank_state = blank; |
174 |
fbcon_cursor(vc, blank ? CM_ERASE : CM_DRAW); |
175 |
ops->cursor_flash = (!blank); |
176 |
@@ -1042,7 +1043,7 @@ |
177 |
} |
178 |
|
179 |
if (!blank) |
180 |
-@@ -2522,10 +2576,18 @@ static int fbcon_do_set_font(struct vc_data *vc, int w, int h, |
181 |
+@@ -2522,10 +2577,18 @@ static int fbcon_do_set_font(struct vc_data *vc, int w, int h, |
182 |
} |
183 |
|
184 |
if (resize) { |
185 |
@@ -1061,7 +1062,7 @@ |
186 |
cols /= w; |
187 |
rows /= h; |
188 |
vc_resize(vc, cols, rows); |
189 |
-@@ -2657,7 +2719,11 @@ static int fbcon_set_palette(struct vc_data *vc, unsigned char *table) |
190 |
+@@ -2657,7 +2720,11 @@ static int fbcon_set_palette(struct vc_data *vc, unsigned char *table) |
191 |
int i, j, k, depth; |
192 |
u8 val; |
193 |
|
194 |
@@ -1074,7 +1075,7 @@ |
195 |
return -EINVAL; |
196 |
|
197 |
if (!CON_IS_VISIBLE(vc)) |
198 |
-@@ -2683,7 +2749,49 @@ static int fbcon_set_palette(struct vc_data *vc, unsigned char *table) |
199 |
+@@ -2683,7 +2750,49 @@ static int fbcon_set_palette(struct vc_data *vc, unsigned char *table) |
200 |
} else |
201 |
fb_copy_cmap(fb_default_cmap(1 << depth), &palette_cmap); |
202 |
|
203 |
@@ -1125,7 +1126,7 @@ |
204 |
} |
205 |
|
206 |
static u16 *fbcon_screen_pos(struct vc_data *vc, int offset) |
207 |
-@@ -2909,7 +3017,13 @@ static void fbcon_modechanged(struct fb_info *info) |
208 |
+@@ -2909,7 +3018,13 @@ static void fbcon_modechanged(struct fb_info *info) |
209 |
rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); |
210 |
cols /= vc->vc_font.width; |
211 |
rows /= vc->vc_font.height; |
212 |
@@ -1140,7 +1141,7 @@ |
213 |
updatescrollmode(p, info, vc); |
214 |
scrollback_max = 0; |
215 |
scrollback_current = 0; |
216 |
-@@ -2954,7 +3068,10 @@ static void fbcon_set_all_vcs(struct fb_info *info) |
217 |
+@@ -2954,7 +3069,10 @@ static void fbcon_set_all_vcs(struct fb_info *info) |
218 |
rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); |
219 |
cols /= vc->vc_font.width; |
220 |
rows /= vc->vc_font.height; |
221 |
@@ -1152,7 +1153,7 @@ |
222 |
} |
223 |
|
224 |
if (fg != -1) |
225 |
-@@ -3570,6 +3687,7 @@ static void fbcon_exit(void) |
226 |
+@@ -3570,6 +3688,7 @@ static void fbcon_exit(void) |
227 |
} |
228 |
} |