1 |
Author: dsd |
2 |
Date: 2008-04-18 11:17:59 +0000 (Fri, 18 Apr 2008) |
3 |
New Revision: 1293 |
4 |
|
5 |
Modified: |
6 |
genpatches-2.6/trunk/2.6.25/4200_fbcondecor-0.9.4.patch |
7 |
Log: |
8 |
updated version which compiles on 2.6.25 |
9 |
|
10 |
Modified: genpatches-2.6/trunk/2.6.25/4200_fbcondecor-0.9.4.patch |
11 |
=================================================================== |
12 |
--- genpatches-2.6/trunk/2.6.25/4200_fbcondecor-0.9.4.patch 2008-04-18 11:16:20 UTC (rev 1292) |
13 |
+++ genpatches-2.6/trunk/2.6.25/4200_fbcondecor-0.9.4.patch 2008-04-18 11:17:59 UTC (rev 1293) |
14 |
@@ -1,6 +1,6 @@ |
15 |
-diff -Naurp linux-orig/Documentation/fb/00-INDEX linux-fbcondecor/Documentation/fb/00-INDEX |
16 |
---- linux-orig/Documentation/fb/00-INDEX 2008-01-12 12:16:05.000000000 +0100 |
17 |
-+++ linux-fbcondecor/Documentation/fb/00-INDEX 2008-01-24 10:08:34.000000000 +0100 |
18 |
+diff -Naurp -x .git /tmp/linux/Documentation/fb/00-INDEX ./Documentation/fb/00-INDEX |
19 |
+--- /tmp/linux/Documentation/fb/00-INDEX 2008-03-25 07:24:16.000000000 +0100 |
20 |
++++ ./Documentation/fb/00-INDEX 2008-03-25 23:04:10.000000000 +0100 |
21 |
@@ -17,6 +17,8 @@ deferred_io.txt |
22 |
- an introduction to deferred IO. |
23 |
fbcon.txt |
24 |
@@ -10,9 +10,9 @@ |
25 |
framebuffer.txt |
26 |
- introduction to frame buffer devices. |
27 |
imacfb.txt |
28 |
-diff -Naurp linux-orig/Documentation/fb/fbcondecor.txt linux-fbcondecor/Documentation/fb/fbcondecor.txt |
29 |
---- linux-orig/Documentation/fb/fbcondecor.txt 1970-01-01 01:00:00.000000000 +0100 |
30 |
-+++ linux-fbcondecor/Documentation/fb/fbcondecor.txt 2008-01-24 10:08:34.000000000 +0100 |
31 |
+diff -Naurp -x .git /tmp/linux/Documentation/fb/fbcondecor.txt ./Documentation/fb/fbcondecor.txt |
32 |
+--- /tmp/linux/Documentation/fb/fbcondecor.txt 1970-01-01 01:00:00.000000000 +0100 |
33 |
++++ ./Documentation/fb/fbcondecor.txt 2008-03-25 23:04:10.000000000 +0100 |
34 |
@@ -0,0 +1,207 @@ |
35 |
+What is it? |
36 |
+----------- |
37 |
@@ -221,10 +221,10 @@ |
38 |
+Fbcondecor, fbcondecor protocol design, current implementation & docs by: |
39 |
+ Michal Januszewski <spock@g.o> |
40 |
+ |
41 |
-diff -Naurp linux-orig/drivers/Makefile linux-fbcondecor/drivers/Makefile |
42 |
---- linux-orig/drivers/Makefile 2008-01-12 12:16:05.000000000 +0100 |
43 |
-+++ linux-fbcondecor/drivers/Makefile 2008-01-24 10:08:34.000000000 +0100 |
44 |
-@@ -8,6 +8,9 @@ |
45 |
+diff -Naurp -x .git /tmp/linux/drivers/Makefile ./drivers/Makefile |
46 |
+--- /tmp/linux/drivers/Makefile 2008-03-25 07:24:16.000000000 +0100 |
47 |
++++ ./drivers/Makefile 2008-03-25 23:04:10.000000000 +0100 |
48 |
+@@ -9,6 +9,9 @@ obj-$(CONFIG_HAVE_GPIO_LIB) += gpio/ |
49 |
obj-$(CONFIG_PCI) += pci/ |
50 |
obj-$(CONFIG_PARISC) += parisc/ |
51 |
obj-$(CONFIG_RAPIDIO) += rapidio/ |
52 |
@@ -234,7 +234,7 @@ |
53 |
obj-y += video/ |
54 |
obj-$(CONFIG_ACPI) += acpi/ |
55 |
# PnP must come after ACPI since it will eventually need to check if acpi |
56 |
-@@ -17,10 +20,6 @@ obj-$(CONFIG_ARM_AMBA) += amba/ |
57 |
+@@ -18,10 +21,6 @@ obj-$(CONFIG_ARM_AMBA) += amba/ |
58 |
|
59 |
obj-$(CONFIG_XEN) += xen/ |
60 |
|
61 |
@@ -245,9 +245,9 @@ |
62 |
obj-$(CONFIG_CONNECTOR) += connector/ |
63 |
|
64 |
# i810fb and intelfb depend on char/agp/ |
65 |
-diff -Naurp linux-orig/drivers/video/console/bitblit.c linux-fbcondecor/drivers/video/console/bitblit.c |
66 |
---- linux-orig/drivers/video/console/bitblit.c 2008-01-12 12:16:05.000000000 +0100 |
67 |
-+++ linux-fbcondecor/drivers/video/console/bitblit.c 2008-01-24 10:08:34.000000000 +0100 |
68 |
+diff -Naurp -x .git /tmp/linux/drivers/video/console/bitblit.c ./drivers/video/console/bitblit.c |
69 |
+--- /tmp/linux/drivers/video/console/bitblit.c 2008-03-25 07:24:16.000000000 +0100 |
70 |
++++ ./drivers/video/console/bitblit.c 2008-03-25 23:04:10.000000000 +0100 |
71 |
@@ -17,6 +17,7 @@ |
72 |
#include <linux/console.h> |
73 |
#include <asm/types.h> |
74 |
@@ -290,16 +290,16 @@ |
75 |
|
76 |
ops->cursor_reset = 0; |
77 |
} |
78 |
-diff -Naurp linux-orig/drivers/video/console/cfbcondecor.c linux-fbcondecor/drivers/video/console/cfbcondecor.c |
79 |
---- linux-orig/drivers/video/console/cfbcondecor.c 1970-01-01 01:00:00.000000000 +0100 |
80 |
-+++ linux-fbcondecor/drivers/video/console/cfbcondecor.c 2008-01-24 10:08:34.000000000 +0100 |
81 |
+diff -Naurp -x .git /tmp/linux/drivers/video/console/cfbcondecor.c ./drivers/video/console/cfbcondecor.c |
82 |
+--- /tmp/linux/drivers/video/console/cfbcondecor.c 1970-01-01 01:00:00.000000000 +0100 |
83 |
++++ ./drivers/video/console/cfbcondecor.c 2008-03-25 23:11:30.000000000 +0100 |
84 |
@@ -0,0 +1,471 @@ |
85 |
+/* |
86 |
+ * linux/drivers/video/cfbcon_decor.c -- Framebuffer decor render functions |
87 |
-+ * |
88 |
++ * |
89 |
+ * Copyright (C) 2004 Michal Januszewski <spock@g.o> |
90 |
+ * |
91 |
-+ * Code based upon "Bootdecor" (C) 2001-2003 |
92 |
++ * Code based upon "Bootdecor" (C) 2001-2003 |
93 |
+ * Volker Poplawski <volker@×××××××××.de>, |
94 |
+ * Stefan Reinauer <stepan@××××.de>, |
95 |
+ * Steffen Winterfeldt <snwint@××××.de>, |
96 |
@@ -309,7 +309,7 @@ |
97 |
+ * This file is subject to the terms and conditions of the GNU General Public |
98 |
+ * License. See the file COPYING in the main directory of this archive for |
99 |
+ * more details. |
100 |
-+ */ |
101 |
++ */ |
102 |
+#include <linux/module.h> |
103 |
+#include <linux/types.h> |
104 |
+#include <linux/fb.h> |
105 |
@@ -336,26 +336,26 @@ |
106 |
+void fbcon_decor_fix_pseudo_pal(struct fb_info *info, struct vc_data *vc) |
107 |
+{ |
108 |
+ int i, j, k; |
109 |
-+ int minlen = min(min(info->var.red.length, info->var.green.length), |
110 |
++ int minlen = min(min(info->var.red.length, info->var.green.length), |
111 |
+ info->var.blue.length); |
112 |
+ u32 col; |
113 |
-+ |
114 |
++ |
115 |
+ for (j = i = 0; i < 16; i++) { |
116 |
+ k = color_table[i]; |
117 |
-+ |
118 |
-+ col = ((vc->vc_palette[j++] >> (8-minlen)) |
119 |
++ |
120 |
++ col = ((vc->vc_palette[j++] >> (8-minlen)) |
121 |
+ << info->var.red.offset); |
122 |
-+ col |= ((vc->vc_palette[j++] >> (8-minlen)) |
123 |
++ col |= ((vc->vc_palette[j++] >> (8-minlen)) |
124 |
+ << info->var.green.offset); |
125 |
-+ col |= ((vc->vc_palette[j++] >> (8-minlen)) |
126 |
++ col |= ((vc->vc_palette[j++] >> (8-minlen)) |
127 |
+ << info->var.blue.offset); |
128 |
+ ((u32 *)info->pseudo_palette)[k] = col; |
129 |
+ } |
130 |
+} |
131 |
-+ |
132 |
-+void fbcon_decor_renderc(struct fb_info *info, int ypos, int xpos, int height, |
133 |
++ |
134 |
++void fbcon_decor_renderc(struct fb_info *info, int ypos, int xpos, int height, |
135 |
+ int width, u8* src, u32 fgx, u32 bgx, u8 transparent) |
136 |
-+{ |
137 |
++{ |
138 |
+ unsigned int x, y; |
139 |
+ u32 dd; |
140 |
+ int bytespp = ((info->var.bits_per_pixel + 7) >> 3); |
141 |
@@ -368,10 +368,10 @@ |
142 |
+ |
143 |
+ if ((ypos + height) > info->var.yres || (xpos + width) > info->var.xres) |
144 |
+ return; |
145 |
-+ |
146 |
++ |
147 |
+ for (y = 0; y < height; y++) { |
148 |
+ switch (info->var.bits_per_pixel) { |
149 |
-+ |
150 |
++ |
151 |
+ case 32: |
152 |
+ for (x = 0; x < width; x++) { |
153 |
+ |
154 |
@@ -380,9 +380,9 @@ |
155 |
+ if (d & 0x80) |
156 |
+ dd = fgx; |
157 |
+ else |
158 |
-+ dd = transparent ? |
159 |
++ dd = transparent ? |
160 |
+ *(u32 *)decor_src : bgx; |
161 |
-+ |
162 |
++ |
163 |
+ d <<= 1; |
164 |
+ decor_src += 4; |
165 |
+ fb_writel(dd, dst); |
166 |
@@ -397,9 +397,9 @@ |
167 |
+ if (d & 0x80) |
168 |
+ dd = fgx; |
169 |
+ else |
170 |
-+ dd = transparent ? |
171 |
++ dd = transparent ? |
172 |
+ (*(u32 *)decor_src & 0xffffff) : bgx; |
173 |
-+ |
174 |
++ |
175 |
+ d <<= 1; |
176 |
+ decor_src += 3; |
177 |
+#ifdef __LITTLE_ENDIAN |
178 |
@@ -416,7 +416,7 @@ |
179 |
+ break; |
180 |
+ case 16: |
181 |
+ for (x = 0; x < width; x += 2) { |
182 |
-+ if ((x & 7) == 0) |
183 |
++ if ((x & 7) == 0) |
184 |
+ d = *src++; |
185 |
+ |
186 |
+ parse_pixel(0, 2, u16); |
187 |
@@ -436,12 +436,12 @@ |
188 |
+ for (x = 0; x < width; x += 4) { |
189 |
+ if ((x & 7) == 0) |
190 |
+ d = *src++; |
191 |
-+ |
192 |
++ |
193 |
+ parse_pixel(0, 1, u8); |
194 |
+ parse_pixel(1, 1, u8); |
195 |
+ parse_pixel(2, 1, u8); |
196 |
+ parse_pixel(3, 1, u8); |
197 |
-+ |
198 |
++ |
199 |
+#ifdef __LITTLE_ENDIAN |
200 |
+ dd = dd2[0] | (dd2[1] << 8) | (dd2[2] << 16) | (dd2[3] << 24); |
201 |
+#else |
202 |
@@ -450,12 +450,12 @@ |
203 |
+ d <<= 4; |
204 |
+ fb_writel(dd, dst); |
205 |
+ dst += 4; |
206 |
-+ } |
207 |
++ } |
208 |
+ } |
209 |
+ |
210 |
+ dst += info->fix.line_length - width * bytespp; |
211 |
+ decor_src += (info->var.xres - width) * bytespp; |
212 |
-+ } |
213 |
++ } |
214 |
+} |
215 |
+ |
216 |
+#define cc2cx(a) \ |
217 |
@@ -475,9 +475,9 @@ |
218 |
+ |
219 |
+ fg_color = get_color(vc, info, c, 1); |
220 |
+ bg_color = get_color(vc, info, c, 0); |
221 |
-+ |
222 |
++ |
223 |
+ /* Don't paint the background image if console is blanked */ |
224 |
-+ transparent = ops->blank_state ? 0 : |
225 |
++ transparent = ops->blank_state ? 0 : |
226 |
+ (vc->vc_decor.bg_color == bg_color); |
227 |
+ |
228 |
+ xx = xx * vc->vc_font.width + vc->vc_decor.tx; |
229 |
@@ -491,7 +491,7 @@ |
230 |
+ src = vc->vc_font.data + (c & charmask) * vc->vc_font.height * |
231 |
+ ((vc->vc_font.width + 7) >> 3); |
232 |
+ |
233 |
-+ fbcon_decor_renderc(info, yy, xx, vc->vc_font.height, |
234 |
++ fbcon_decor_renderc(info, yy, xx, vc->vc_font.height, |
235 |
+ vc->vc_font.width, src, fgx, bgx, transparent); |
236 |
+ xx += vc->vc_font.width; |
237 |
+ } |
238 |
@@ -502,7 +502,7 @@ |
239 |
+ int i; |
240 |
+ unsigned int dsize, s_pitch; |
241 |
+ struct fbcon_ops *ops = info->fbcon_par; |
242 |
-+ struct vc_data* vc; |
243 |
++ struct vc_data* vc; |
244 |
+ u8 *src; |
245 |
+ |
246 |
+ /* we really don't need any cursors while the console is blanked */ |
247 |
@@ -517,7 +517,7 @@ |
248 |
+ |
249 |
+ s_pitch = (cursor->image.width + 7) >> 3; |
250 |
+ dsize = s_pitch * cursor->image.height; |
251 |
-+ if (cursor->enable) { |
252 |
++ if (cursor->enable) { |
253 |
+ switch (cursor->rop) { |
254 |
+ case ROP_XOR: |
255 |
+ for (i = 0; i < dsize; i++) |
256 |
@@ -545,27 +545,27 @@ |
257 |
+ kfree(src); |
258 |
+} |
259 |
+ |
260 |
-+static void decorset(u8 *dst, int height, int width, int dstbytes, |
261 |
++static void decorset(u8 *dst, int height, int width, int dstbytes, |
262 |
+ u32 bgx, int bpp) |
263 |
+{ |
264 |
+ int i; |
265 |
-+ |
266 |
++ |
267 |
+ if (bpp == 8) |
268 |
+ bgx |= bgx << 8; |
269 |
+ if (bpp == 16 || bpp == 8) |
270 |
+ bgx |= bgx << 16; |
271 |
-+ |
272 |
++ |
273 |
+ while (height-- > 0) { |
274 |
+ u8 *p = dst; |
275 |
-+ |
276 |
++ |
277 |
+ switch (bpp) { |
278 |
-+ |
279 |
++ |
280 |
+ case 32: |
281 |
+ for (i=0; i < width; i++) { |
282 |
+ fb_writel(bgx, p); p += 4; |
283 |
+ } |
284 |
+ break; |
285 |
-+ case 24: |
286 |
++ case 24: |
287 |
+ for (i=0; i < width; i++) { |
288 |
+#ifdef __LITTLE_ENDIAN |
289 |
+ fb_writew((bgx & 0xffff),(u16*)p); p += 2; |
290 |
@@ -590,7 +590,7 @@ |
291 |
+ for (i=0; i < width/4; i++) { |
292 |
+ fb_writel(bgx,p); p += 4; |
293 |
+ } |
294 |
-+ |
295 |
++ |
296 |
+ if (width & 2) { |
297 |
+ fb_writew(bgx,p); p += 2; |
298 |
+ } |
299 |
@@ -598,12 +598,12 @@ |
300 |
+ fb_writeb(bgx,(u8*)p); |
301 |
+ break; |
302 |
+ |
303 |
-+ } |
304 |
++ } |
305 |
+ dst += dstbytes; |
306 |
+ } |
307 |
+} |
308 |
+ |
309 |
-+void fbcon_decor_copy(u8 *dst, u8 *src, int height, int width, int linebytes, |
310 |
++void fbcon_decor_copy(u8 *dst, u8 *src, int height, int width, int linebytes, |
311 |
+ int srclinebytes, int bpp) |
312 |
+{ |
313 |
+ int i; |
314 |
@@ -613,12 +613,12 @@ |
315 |
+ u32 *q = (u32 *)src; |
316 |
+ |
317 |
+ switch (bpp) { |
318 |
-+ |
319 |
++ |
320 |
+ case 32: |
321 |
+ for (i=0; i < width; i++) |
322 |
+ fb_writel(*q++, p++); |
323 |
-+ break; |
324 |
-+ case 24: |
325 |
++ break; |
326 |
++ case 24: |
327 |
+ for (i=0; i < (width*3/4); i++) |
328 |
+ fb_writel(*q++, p++); |
329 |
+ if ((width*3) % 4) { |
330 |
@@ -641,11 +641,11 @@ |
331 |
+ fb_writew(*(u16*)q, (u16*)p); |
332 |
+ break; |
333 |
+ case 8: |
334 |
-+ for (i=0; i < width/4; i++) |
335 |
++ for (i=0; i < width/4; i++) |
336 |
+ fb_writel(*q++, p++); |
337 |
-+ |
338 |
++ |
339 |
+ if (width & 2) { |
340 |
-+ fb_writew(*(u16*)q, (u16*)p); |
341 |
++ fb_writew(*(u16*)q, (u16*)p); |
342 |
+ q = (u32*) ((u16*)q + 1); |
343 |
+ p = (u32*) ((u16*)p + 1); |
344 |
+ } |
345 |
@@ -659,8 +659,8 @@ |
346 |
+ } |
347 |
+} |
348 |
+ |
349 |
-+static void decorfill(struct fb_info *info, int sy, int sx, int height, |
350 |
-+ int width) |
351 |
++static void decorfill(struct fb_info *info, int sy, int sx, int height, |
352 |
++ int width) |
353 |
+{ |
354 |
+ int bytespp = ((info->var.bits_per_pixel + 7) >> 3); |
355 |
+ int d = sy * info->fix.line_length + sx * bytespp; |
356 |
@@ -671,15 +671,15 @@ |
357 |
+ info->var.bits_per_pixel); |
358 |
+} |
359 |
+ |
360 |
-+void fbcon_decor_clear(struct vc_data *vc, struct fb_info *info, int sy, int sx, |
361 |
++void fbcon_decor_clear(struct vc_data *vc, struct fb_info *info, int sy, int sx, |
362 |
+ int height, int width) |
363 |
+{ |
364 |
+ int bgshift = (vc->vc_hi_font_mask) ? 13 : 12; |
365 |
-+ int bg_color = attr_bgcol_ec(bgshift, vc); |
366 |
-+ int transparent = vc->vc_decor.bg_color == bg_color; |
367 |
+ struct fbcon_ops *ops = info->fbcon_par; |
368 |
+ u8 *dst; |
369 |
++ int transparent, bg_color = attr_bgcol_ec(bgshift, vc, info); |
370 |
+ |
371 |
++ transparent = (vc->vc_decor.bg_color == bg_color); |
372 |
+ sy = sy * vc->vc_font.height + vc->vc_decor.ty; |
373 |
+ sx = sx * vc->vc_font.width + vc->vc_decor.tx; |
374 |
+ height *= vc->vc_font.height; |
375 |
@@ -689,14 +689,14 @@ |
376 |
+ if (transparent && !ops->blank_state) { |
377 |
+ decorfill(info, sy, sx, height, width); |
378 |
+ } else { |
379 |
-+ dst = (u8 *)(info->screen_base + sy * info->fix.line_length + |
380 |
++ dst = (u8 *)(info->screen_base + sy * info->fix.line_length + |
381 |
+ sx * ((info->var.bits_per_pixel + 7) >> 3)); |
382 |
-+ decorset(dst, height, width, info->fix.line_length, cc2cx(bg_color), |
383 |
++ decorset(dst, height, width, info->fix.line_length, cc2cx(bg_color), |
384 |
+ info->var.bits_per_pixel); |
385 |
+ } |
386 |
+} |
387 |
+ |
388 |
-+void fbcon_decor_clear_margins(struct vc_data *vc, struct fb_info *info, |
389 |
++void fbcon_decor_clear_margins(struct vc_data *vc, struct fb_info *info, |
390 |
+ int bottom_only) |
391 |
+{ |
392 |
+ unsigned int tw = vc->vc_cols*vc->vc_font.width; |
393 |
@@ -765,9 +765,9 @@ |
394 |
+ } |
395 |
+} |
396 |
+ |
397 |
-diff -Naurp linux-orig/drivers/video/console/fbcon.c linux-fbcondecor/drivers/video/console/fbcon.c |
398 |
---- linux-orig/drivers/video/console/fbcon.c 2008-01-12 12:16:05.000000000 +0100 |
399 |
-+++ linux-fbcondecor/drivers/video/console/fbcon.c 2008-01-24 10:08:34.000000000 +0100 |
400 |
+diff -Naurp -x .git /tmp/linux/drivers/video/console/fbcon.c ./drivers/video/console/fbcon.c |
401 |
+--- /tmp/linux/drivers/video/console/fbcon.c 2008-03-25 07:24:16.000000000 +0100 |
402 |
++++ ./drivers/video/console/fbcon.c 2008-03-25 23:04:10.000000000 +0100 |
403 |
@@ -90,6 +90,7 @@ |
404 |
#endif |
405 |
|
406 |
@@ -794,7 +794,7 @@ |
407 |
u16 c, int is_fg) |
408 |
{ |
409 |
int depth = fb_get_color_depth(&info->var, &info->fix); |
410 |
-@@ -423,6 +424,7 @@ static void fb_flashcursor(struct work_s |
411 |
+@@ -420,6 +421,7 @@ static void fb_flashcursor(struct work_s |
412 |
CM_ERASE : CM_DRAW; |
413 |
ops->cursor(vc, info, mode, softback_lines, get_color(vc, info, c, 1), |
414 |
get_color(vc, info, c, 0)); |
415 |
@@ -802,7 +802,7 @@ |
416 |
release_console_sem(); |
417 |
} |
418 |
|
419 |
-@@ -593,6 +595,8 @@ static int fbcon_takeover(int show_logo) |
420 |
+@@ -590,6 +592,8 @@ static int fbcon_takeover(int show_logo) |
421 |
info_idx = -1; |
422 |
} |
423 |
|
424 |
@@ -811,7 +811,7 @@ |
425 |
return err; |
426 |
} |
427 |
|
428 |
-@@ -1034,6 +1038,12 @@ static const char *fbcon_startup(void) |
429 |
+@@ -1031,6 +1035,12 @@ static const char *fbcon_startup(void) |
430 |
rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); |
431 |
cols /= vc->vc_font.width; |
432 |
rows /= vc->vc_font.height; |
433 |
@@ -824,7 +824,7 @@ |
434 |
vc_resize(vc, cols, rows); |
435 |
|
436 |
DPRINTK("mode: %s\n", info->fix.id); |
437 |
-@@ -1117,7 +1127,7 @@ static void fbcon_init(struct vc_data *v |
438 |
+@@ -1114,7 +1124,7 @@ static void fbcon_init(struct vc_data *v |
439 |
cap = info->flags; |
440 |
|
441 |
if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW || |
442 |
@@ -833,7 +833,7 @@ |
443 |
logo = 0; |
444 |
|
445 |
if (var_to_display(p, &info->var, info)) |
446 |
-@@ -1316,6 +1326,11 @@ static void fbcon_clear(struct vc_data * |
447 |
+@@ -1313,6 +1323,11 @@ static void fbcon_clear(struct vc_data * |
448 |
if (!height || !width) |
449 |
return; |
450 |
|
451 |
@@ -845,7 +845,7 @@ |
452 |
/* Split blits that cross physical y_wrap boundary */ |
453 |
|
454 |
y_break = p->vrows - p->yscroll; |
455 |
-@@ -1335,10 +1350,15 @@ static void fbcon_putcs(struct vc_data * |
456 |
+@@ -1332,10 +1347,15 @@ static void fbcon_putcs(struct vc_data * |
457 |
struct display *p = &fb_display[vc->vc_num]; |
458 |
struct fbcon_ops *ops = info->fbcon_par; |
459 |
|
460 |
@@ -865,7 +865,7 @@ |
461 |
} |
462 |
|
463 |
static void fbcon_putc(struct vc_data *vc, int c, int ypos, int xpos) |
464 |
-@@ -1354,8 +1374,13 @@ static void fbcon_clear_margins(struct v |
465 |
+@@ -1351,8 +1371,13 @@ static void fbcon_clear_margins(struct v |
466 |
struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; |
467 |
struct fbcon_ops *ops = info->fbcon_par; |
468 |
|
469 |
@@ -881,7 +881,7 @@ |
470 |
} |
471 |
|
472 |
static void fbcon_cursor(struct vc_data *vc, int mode) |
473 |
-@@ -1875,7 +1900,7 @@ static int fbcon_scroll(struct vc_data * |
474 |
+@@ -1872,7 +1897,7 @@ static int fbcon_scroll(struct vc_data * |
475 |
count = vc->vc_rows; |
476 |
if (softback_top) |
477 |
fbcon_softback_note(vc, t, count); |
478 |
@@ -890,7 +890,7 @@ |
479 |
goto redraw_up; |
480 |
switch (p->scrollmode) { |
481 |
case SCROLL_MOVE: |
482 |
-@@ -1968,6 +1993,8 @@ static int fbcon_scroll(struct vc_data * |
483 |
+@@ -1965,6 +1990,8 @@ static int fbcon_scroll(struct vc_data * |
484 |
count = vc->vc_rows; |
485 |
if (logo_shown >= 0) |
486 |
goto redraw_down; |
487 |
@@ -899,7 +899,7 @@ |
488 |
switch (p->scrollmode) { |
489 |
case SCROLL_MOVE: |
490 |
fbcon_redraw_blit(vc, info, p, b - 1, b - t - count, |
491 |
-@@ -2116,6 +2143,13 @@ static void fbcon_bmove_rec(struct vc_da |
492 |
+@@ -2113,6 +2140,13 @@ static void fbcon_bmove_rec(struct vc_da |
493 |
} |
494 |
return; |
495 |
} |
496 |
@@ -913,7 +913,7 @@ |
497 |
ops->bmove(vc, info, real_y(p, sy), sx, real_y(p, dy), dx, |
498 |
height, width); |
499 |
} |
500 |
-@@ -2186,8 +2220,8 @@ static int fbcon_resize(struct vc_data * |
501 |
+@@ -2183,8 +2217,8 @@ static int fbcon_resize(struct vc_data * |
502 |
var.yres = virt_h * virt_fh; |
503 |
x_diff = info->var.xres - var.xres; |
504 |
y_diff = info->var.yres - var.yres; |
505 |
@@ -924,7 +924,7 @@ |
506 |
const struct fb_videomode *mode; |
507 |
|
508 |
DPRINTK("attempting resize %ix%i\n", var.xres, var.yres); |
509 |
-@@ -2223,6 +2257,19 @@ static int fbcon_switch(struct vc_data * |
510 |
+@@ -2220,6 +2254,19 @@ static int fbcon_switch(struct vc_data * |
511 |
|
512 |
info = registered_fb[con2fb_map[vc->vc_num]]; |
513 |
ops = info->fbcon_par; |
514 |
@@ -944,7 +944,7 @@ |
515 |
|
516 |
if (softback_top) { |
517 |
if (softback_lines) |
518 |
-@@ -2241,9 +2288,6 @@ static int fbcon_switch(struct vc_data * |
519 |
+@@ -2238,9 +2285,6 @@ static int fbcon_switch(struct vc_data * |
520 |
logo_shown = FBCON_LOGO_CANSHOW; |
521 |
} |
522 |
|
523 |
@@ -954,7 +954,7 @@ |
524 |
/* |
525 |
* FIXME: If we have multiple fbdev's loaded, we need to |
526 |
* update all info->currcon. Perhaps, we can place this |
527 |
-@@ -2283,6 +2327,18 @@ static int fbcon_switch(struct vc_data * |
528 |
+@@ -2280,6 +2324,18 @@ static int fbcon_switch(struct vc_data * |
529 |
fbcon_del_cursor_timer(old_info); |
530 |
} |
531 |
|
532 |
@@ -973,7 +973,7 @@ |
533 |
if (fbcon_is_inactive(vc, info) || |
534 |
ops->blank_state != FB_BLANK_UNBLANK) |
535 |
fbcon_del_cursor_timer(info); |
536 |
-@@ -2397,8 +2453,12 @@ static int fbcon_blank(struct vc_data *v |
537 |
+@@ -2394,8 +2450,12 @@ static int fbcon_blank(struct vc_data *v |
538 |
fbcon_cursor(vc, blank ? CM_ERASE : CM_DRAW); |
539 |
ops->cursor_flash = (!blank); |
540 |
|
541 |
@@ -988,7 +988,7 @@ |
542 |
} |
543 |
|
544 |
if (!blank) |
545 |
-@@ -2549,13 +2609,22 @@ static int fbcon_do_set_font(struct vc_d |
546 |
+@@ -2546,13 +2606,22 @@ static int fbcon_do_set_font(struct vc_d |
547 |
} |
548 |
|
549 |
if (resize) { |
550 |
@@ -1011,7 +1011,7 @@ |
551 |
if (CON_IS_VISIBLE(vc) && softback_buf) |
552 |
fbcon_update_softback(vc); |
553 |
} else if (CON_IS_VISIBLE(vc) |
554 |
-@@ -2684,7 +2753,7 @@ static int fbcon_set_palette(struct vc_d |
555 |
+@@ -2681,7 +2750,7 @@ static int fbcon_set_palette(struct vc_d |
556 |
int i, j, k, depth; |
557 |
u8 val; |
558 |
|
559 |
@@ -1020,7 +1020,7 @@ |
560 |
return -EINVAL; |
561 |
|
562 |
if (!CON_IS_VISIBLE(vc)) |
563 |
-@@ -2710,7 +2779,49 @@ static int fbcon_set_palette(struct vc_d |
564 |
+@@ -2707,7 +2776,49 @@ static int fbcon_set_palette(struct vc_d |
565 |
} else |
566 |
fb_copy_cmap(fb_default_cmap(1 << depth), &palette_cmap); |
567 |
|
568 |
@@ -1071,7 +1071,7 @@ |
569 |
} |
570 |
|
571 |
static u16 *fbcon_screen_pos(struct vc_data *vc, int offset) |
572 |
-@@ -2936,7 +3047,14 @@ static void fbcon_modechanged(struct fb_ |
573 |
+@@ -2933,7 +3044,14 @@ static void fbcon_modechanged(struct fb_ |
574 |
rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); |
575 |
cols /= vc->vc_font.width; |
576 |
rows /= vc->vc_font.height; |
577 |
@@ -1087,7 +1087,7 @@ |
578 |
updatescrollmode(p, info, vc); |
579 |
scrollback_max = 0; |
580 |
scrollback_current = 0; |
581 |
-@@ -3564,6 +3682,7 @@ static void fbcon_exit(void) |
582 |
+@@ -3561,6 +3679,7 @@ static void fbcon_exit(void) |
583 |
} |
584 |
} |
585 |
|
586 |
@@ -1095,9 +1095,9 @@ |
587 |
fbcon_has_exited = 1; |
588 |
} |
589 |
|
590 |
-diff -Naurp linux-orig/drivers/video/console/fbcondecor.c linux-fbcondecor/drivers/video/console/fbcondecor.c |
591 |
---- linux-orig/drivers/video/console/fbcondecor.c 1970-01-01 01:00:00.000000000 +0100 |
592 |
-+++ linux-fbcondecor/drivers/video/console/fbcondecor.c 2008-01-24 10:08:34.000000000 +0100 |
593 |
+diff -Naurp -x .git /tmp/linux/drivers/video/console/fbcondecor.c ./drivers/video/console/fbcondecor.c |
594 |
+--- /tmp/linux/drivers/video/console/fbcondecor.c 1970-01-01 01:00:00.000000000 +0100 |
595 |
++++ ./drivers/video/console/fbcondecor.c 2008-03-25 23:04:10.000000000 +0100 |
596 |
@@ -0,0 +1,420 @@ |
597 |
+/* |
598 |
+ * linux/drivers/video/console/fbcondecor.c -- Framebuffer console decorations |
599 |
@@ -1519,9 +1519,9 @@ |
600 |
+} |
601 |
+ |
602 |
+EXPORT_SYMBOL(fbcon_decor_path); |
603 |
-diff -Naurp linux-orig/drivers/video/console/fbcondecor.h linux-fbcondecor/drivers/video/console/fbcondecor.h |
604 |
---- linux-orig/drivers/video/console/fbcondecor.h 1970-01-01 01:00:00.000000000 +0100 |
605 |
-+++ linux-fbcondecor/drivers/video/console/fbcondecor.h 2008-01-24 10:08:34.000000000 +0100 |
606 |
+diff -Naurp -x .git /tmp/linux/drivers/video/console/fbcondecor.h ./drivers/video/console/fbcondecor.h |
607 |
+--- /tmp/linux/drivers/video/console/fbcondecor.h 1970-01-01 01:00:00.000000000 +0100 |
608 |
++++ ./drivers/video/console/fbcondecor.h 2008-03-25 23:04:10.000000000 +0100 |
609 |
@@ -0,0 +1,78 @@ |
610 |
+/* |
611 |
+ * linux/drivers/video/console/fbcondecor.h -- Framebuffer Console Decoration headers |
612 |
@@ -1601,9 +1601,9 @@ |
613 |
+#endif /* CONFIG_FB_CON_DECOR */ |
614 |
+ |
615 |
+#endif /* __FBCON_DECOR_H */ |
616 |
-diff -Naurp linux-orig/drivers/video/console/Kconfig linux-fbcondecor/drivers/video/console/Kconfig |
617 |
---- linux-orig/drivers/video/console/Kconfig 2008-01-12 12:16:05.000000000 +0100 |
618 |
-+++ linux-fbcondecor/drivers/video/console/Kconfig 2008-01-24 10:08:34.000000000 +0100 |
619 |
+diff -Naurp -x .git /tmp/linux/drivers/video/console/Kconfig ./drivers/video/console/Kconfig |
620 |
+--- /tmp/linux/drivers/video/console/Kconfig 2008-03-25 07:24:16.000000000 +0100 |
621 |
++++ ./drivers/video/console/Kconfig 2008-03-25 23:04:10.000000000 +0100 |
622 |
@@ -144,6 +144,19 @@ config FRAMEBUFFER_CONSOLE_ROTATION |
623 |
such that other users of the framebuffer will remain normally |
624 |
oriented. |
625 |
@@ -1624,9 +1624,9 @@ |
626 |
config STI_CONSOLE |
627 |
bool "STI text console" |
628 |
depends on PARISC |
629 |
-diff -Naurp linux-orig/drivers/video/console/Makefile linux-fbcondecor/drivers/video/console/Makefile |
630 |
---- linux-orig/drivers/video/console/Makefile 2008-01-12 12:16:05.000000000 +0100 |
631 |
-+++ linux-fbcondecor/drivers/video/console/Makefile 2008-01-24 10:08:34.000000000 +0100 |
632 |
+diff -Naurp -x .git /tmp/linux/drivers/video/console/Makefile ./drivers/video/console/Makefile |
633 |
+--- /tmp/linux/drivers/video/console/Makefile 2008-03-25 07:24:16.000000000 +0100 |
634 |
++++ ./drivers/video/console/Makefile 2008-03-25 23:04:10.000000000 +0100 |
635 |
@@ -35,6 +35,7 @@ obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += |
636 |
fbcon_ccw.o |
637 |
endif |
638 |
@@ -1635,9 +1635,9 @@ |
639 |
obj-$(CONFIG_FB_STI) += sticore.o font.o |
640 |
|
641 |
ifeq ($(CONFIG_USB_SISUSBVGA_CON),y) |
642 |
-diff -Naurp linux-orig/drivers/video/fbcmap.c linux-fbcondecor/drivers/video/fbcmap.c |
643 |
---- linux-orig/drivers/video/fbcmap.c 2008-01-12 12:16:05.000000000 +0100 |
644 |
-+++ linux-fbcondecor/drivers/video/fbcmap.c 2008-01-24 10:08:34.000000000 +0100 |
645 |
+diff -Naurp -x .git /tmp/linux/drivers/video/fbcmap.c ./drivers/video/fbcmap.c |
646 |
+--- /tmp/linux/drivers/video/fbcmap.c 2008-03-25 07:24:16.000000000 +0100 |
647 |
++++ ./drivers/video/fbcmap.c 2008-03-25 23:04:10.000000000 +0100 |
648 |
@@ -17,6 +17,8 @@ |
649 |
#include <linux/slab.h> |
650 |
#include <linux/uaccess.h> |
651 |
@@ -1677,10 +1677,10 @@ |
652 |
if (cmap->start < 0 || (!info->fbops->fb_setcolreg && |
653 |
!info->fbops->fb_setcmap)) |
654 |
return -EINVAL; |
655 |
-diff -Naurp linux-orig/drivers/video/Kconfig linux-fbcondecor/drivers/video/Kconfig |
656 |
---- linux-orig/drivers/video/Kconfig 2008-01-12 12:16:05.000000000 +0100 |
657 |
-+++ linux-fbcondecor/drivers/video/Kconfig 2008-01-24 10:08:34.000000000 +0100 |
658 |
-@@ -1121,7 +1121,6 @@ config FB_MATROX |
659 |
+diff -Naurp -x .git /tmp/linux/drivers/video/Kconfig ./drivers/video/Kconfig |
660 |
+--- /tmp/linux/drivers/video/Kconfig 2008-03-25 07:24:16.000000000 +0100 |
661 |
++++ ./drivers/video/Kconfig 2008-03-25 23:04:10.000000000 +0100 |
662 |
+@@ -1134,7 +1134,6 @@ config FB_MATROX |
663 |
select FB_CFB_FILLRECT |
664 |
select FB_CFB_COPYAREA |
665 |
select FB_CFB_IMAGEBLIT |
666 |
@@ -1688,9 +1688,9 @@ |
667 |
select FB_MACMODES if PPC_PMAC |
668 |
---help--- |
669 |
Say Y here if you have a Matrox Millennium, Matrox Millennium II, |
670 |
-diff -Naurp linux-orig/include/linux/console_decor.h linux-fbcondecor/include/linux/console_decor.h |
671 |
---- linux-orig/include/linux/console_decor.h 1970-01-01 01:00:00.000000000 +0100 |
672 |
-+++ linux-fbcondecor/include/linux/console_decor.h 2008-01-24 10:08:34.000000000 +0100 |
673 |
+diff -Naurp -x .git /tmp/linux/include/linux/console_decor.h ./include/linux/console_decor.h |
674 |
+--- /tmp/linux/include/linux/console_decor.h 1970-01-01 01:00:00.000000000 +0100 |
675 |
++++ ./include/linux/console_decor.h 2008-03-25 23:04:10.000000000 +0100 |
676 |
@@ -0,0 +1,13 @@ |
677 |
+#ifndef _LINUX_CONSOLE_DECOR_H_ |
678 |
+#define _LINUX_CONSOLE_DECOR_H_ 1 |
679 |
@@ -1705,9 +1705,9 @@ |
680 |
+}; |
681 |
+ |
682 |
+#endif |
683 |
-diff -Naurp linux-orig/include/linux/console_struct.h linux-fbcondecor/include/linux/console_struct.h |
684 |
---- linux-orig/include/linux/console_struct.h 2008-01-12 12:16:05.000000000 +0100 |
685 |
-+++ linux-fbcondecor/include/linux/console_struct.h 2008-01-24 10:08:34.000000000 +0100 |
686 |
+diff -Naurp -x .git /tmp/linux/include/linux/console_struct.h ./include/linux/console_struct.h |
687 |
+--- /tmp/linux/include/linux/console_struct.h 2008-03-25 07:24:16.000000000 +0100 |
688 |
++++ ./include/linux/console_struct.h 2008-03-25 23:04:10.000000000 +0100 |
689 |
@@ -19,6 +19,7 @@ |
690 |
struct vt_struct; |
691 |
|
692 |
@@ -1725,9 +1725,9 @@ |
693 |
/* additional information is in vt_kern.h */ |
694 |
}; |
695 |
|
696 |
-diff -Naurp linux-orig/include/linux/fb.h linux-fbcondecor/include/linux/fb.h |
697 |
---- linux-orig/include/linux/fb.h 2008-01-12 12:16:05.000000000 +0100 |
698 |
-+++ linux-fbcondecor/include/linux/fb.h 2008-01-24 10:08:34.000000000 +0100 |
699 |
+diff -Naurp -x .git /tmp/linux/include/linux/fb.h ./include/linux/fb.h |
700 |
+--- /tmp/linux/include/linux/fb.h 2008-03-25 07:24:16.000000000 +0100 |
701 |
++++ ./include/linux/fb.h 2008-03-25 23:04:10.000000000 +0100 |
702 |
@@ -11,6 +11,13 @@ struct dentry; |
703 |
#define FB_MAJOR 29 |
704 |
#define FB_MAX 32 /* sufficient for now */ |
705 |
@@ -1769,10 +1769,46 @@ |
706 |
/* From here on everything is device dependent */ |
707 |
void *par; |
708 |
}; |
709 |
-diff -Naurp linux-orig/kernel/sysctl.c linux-fbcondecor/kernel/sysctl.c |
710 |
---- linux-orig/kernel/sysctl.c 2008-01-12 12:16:05.000000000 +0100 |
711 |
-+++ linux-fbcondecor/kernel/sysctl.c 2008-01-24 10:10:35.000000000 +0100 |
712 |
-@@ -105,6 +105,9 @@ static int ngroups_max = NGROUPS_MAX; |
713 |
+diff -Naurp -x .git /tmp/linux/include/linux/fb.h.rej ./include/linux/fb.h.rej |
714 |
+--- /tmp/linux/include/linux/fb.h.rej 1970-01-01 01:00:00.000000000 +0100 |
715 |
++++ ./include/linux/fb.h.rej 2006-08-21 02:51:22.000000000 +0200 |
716 |
+@@ -0,0 +1,32 @@ |
717 |
++*************** |
718 |
++*** 1,7 **** |
719 |
++ #ifndef _LINUX_FB_H |
720 |
++ #define _LINUX_FB_H |
721 |
++ |
722 |
++- #include <linux/backlight.h> |
723 |
++ #include <asm/types.h> |
724 |
++ |
725 |
++ /* Definitions of frame buffers */ |
726 |
++--- 1,6 ---- |
727 |
++ #ifndef _LINUX_FB_H |
728 |
++ #define _LINUX_FB_H |
729 |
++ |
730 |
++ #include <asm/types.h> |
731 |
++ |
732 |
++ /* Definitions of frame buffers */ |
733 |
++*************** |
734 |
++*** 381,386 **** |
735 |
++ #include <linux/workqueue.h> |
736 |
++ #include <linux/notifier.h> |
737 |
++ #include <linux/list.h> |
738 |
++ #include <asm/io.h> |
739 |
++ |
740 |
++ struct vm_area_struct; |
741 |
++--- 380,386 ---- |
742 |
++ #include <linux/workqueue.h> |
743 |
++ #include <linux/notifier.h> |
744 |
++ #include <linux/list.h> |
745 |
+++ #include <linux/backlight.h> |
746 |
++ #include <asm/io.h> |
747 |
++ |
748 |
++ struct vm_area_struct; |
749 |
+diff -Naurp -x .git /tmp/linux/kernel/sysctl.c ./kernel/sysctl.c |
750 |
+--- /tmp/linux/kernel/sysctl.c 2008-03-25 07:24:16.000000000 +0100 |
751 |
++++ ./kernel/sysctl.c 2008-03-25 23:04:10.000000000 +0100 |
752 |
+@@ -107,6 +107,9 @@ static int ngroups_max = NGROUPS_MAX; |
753 |
#ifdef CONFIG_KMOD |
754 |
extern char modprobe_path[]; |
755 |
#endif |
756 |
@@ -1782,7 +1818,7 @@ |
757 |
#ifdef CONFIG_CHR_DEV_SG |
758 |
extern int sg_big_buff; |
759 |
#endif |
760 |
-@@ -775,6 +778,18 @@ static struct ctl_table kern_table[] = { |
761 |
+@@ -820,6 +823,18 @@ static struct ctl_table kern_table[] = { |
762 |
.proc_handler = &proc_dostring, |
763 |
.strategy = &sysctl_string, |
764 |
}, |
765 |
|
766 |
-- |
767 |
gentoo-commits@l.g.o mailing list |