aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-10-18 21:03:02 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-10-18 21:03:02 -0400
commit0a582821d4f8edf41d9b56ae057ee2002fc275f0 (patch)
tree199f0de91106f143c4ec62b6a8598383b422205b
parent8a5de18239e418fe7b1f36504834689f754d8ccc (diff)
parent33ac9dba859b07d40e9ec826057d20c857fdede5 (diff)
Merge tag 'fbdev-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux
Pull fbdev updates from Tomi Valkeinen: - new 6x10 font - various small fixes and cleanups * tag 'fbdev-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (30 commits) fonts: Add 6x10 font videomode: provide dummy inline functions for !CONFIG_OF video/atmel_lcdfb: Introduce regulator support fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume framebuffer: fix screen corruption when copying framebuffer: fix border color arm, fbdev, omap2, LLVMLinux: Remove nested function from omapfb arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dss video: fbdev: valkyriefb.c: use container_of to resolve fb_info_valkyrie from fb_info video: fbdev: pxafb.c: use container_of to resolve pxafb_info/layer from fb_info video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from fb_info video: fbdev: controlfb.c: use container_of to resolve fb_info_control from fb_info video: fbdev: sa1100fb.c: use container_of to resolve sa1100fb_info from fb_info video: fbdev: stifb.c: use container_of to resolve stifb_info from fb_info video: fbdev: sis: sis_main.c: Cleaning up missing null-terminate in conjunction with strncpy video: valkyriefb: Fix unused variable warning in set_valkyrie_clock() video: fbdev: use %*ph specifier to dump small buffers video: mx3fb: always enable BACKLIGHT_LCD_SUPPORT video: fbdev: au1200fb: delete double assignment video: fbdev: sis: delete double assignment ...
-rw-r--r--Documentation/devicetree/bindings/video/atmel,lcdc.txt3
-rw-r--r--drivers/video/console/bitblit.c3
-rw-r--r--drivers/video/console/fbcon_ccw.c3
-rw-r--r--drivers/video/console/fbcon_cw.c3
-rw-r--r--drivers/video/console/fbcon_ud.c3
-rw-r--r--drivers/video/fbdev/Kconfig3
-rw-r--r--drivers/video/fbdev/atmel_lcdfb.c20
-rw-r--r--drivers/video/fbdev/aty/aty128fb.c63
-rw-r--r--drivers/video/fbdev/au1200fb.c1
-rw-r--r--drivers/video/fbdev/controlfb.c15
-rw-r--r--drivers/video/fbdev/core/cfbcopyarea.c13
-rw-r--r--drivers/video/fbdev/core/fbsysfs.c12
-rw-r--r--drivers/video/fbdev/cyber2000fb.c16
-rw-r--r--drivers/video/fbdev/intelfb/intelfbhw.c3
-rw-r--r--drivers/video/fbdev/matrox/matroxfb_base.c52
-rw-r--r--drivers/video/fbdev/matrox/matroxfb_maven.c20
-rw-r--r--drivers/video/fbdev/msm/msm_fb.c25
-rw-r--r--drivers/video/fbdev/mx3fb.c2
-rw-r--r--drivers/video/fbdev/omap2/dss/dispc-compat.c9
-rw-r--r--drivers/video/fbdev/omap2/dss/dsi.c10
-rw-r--r--drivers/video/fbdev/omap2/dss/manager-sysfs.c16
-rw-r--r--drivers/video/fbdev/omap2/omapfb/omapfb-main.c14
-rw-r--r--drivers/video/fbdev/pxafb.c20
-rw-r--r--drivers/video/fbdev/riva/riva_hw.c1
-rw-r--r--drivers/video/fbdev/sa1100fb.c18
-rw-r--r--drivers/video/fbdev/sh_mobile_hdmi.c44
-rw-r--r--drivers/video/fbdev/sis/init301.c2
-rw-r--r--drivers/video/fbdev/sis/sis_main.c2
-rw-r--r--drivers/video/fbdev/stifb.c4
-rw-r--r--drivers/video/fbdev/udlfb.c7
-rw-r--r--drivers/video/fbdev/valkyriefb.c14
-rw-r--r--drivers/video/fbdev/vermilion/vermilion.c1
-rw-r--r--drivers/video/of_display_timing.c3
-rw-r--r--include/linux/font.h4
-rw-r--r--include/video/of_display_timing.h16
-rw-r--r--lib/fonts/Kconfig9
-rw-r--r--lib/fonts/Makefile1
-rw-r--r--lib/fonts/font_6x10.c3086
-rw-r--r--lib/fonts/fonts.c4
39 files changed, 3421 insertions, 124 deletions
diff --git a/Documentation/devicetree/bindings/video/atmel,lcdc.txt b/Documentation/devicetree/bindings/video/atmel,lcdc.txt
index 7d0c4a1ab811..f059dd0b3d28 100644
--- a/Documentation/devicetree/bindings/video/atmel,lcdc.txt
+++ b/Documentation/devicetree/bindings/video/atmel,lcdc.txt
@@ -20,6 +20,9 @@ Required nodes:
20- default-mode: a videomode within the display with timing parameters 20- default-mode: a videomode within the display with timing parameters
21 as specified below. 21 as specified below.
22 22
23Optional properties:
24- lcd-supply: Regulator for LCD supply voltage.
25
23Example: 26Example:
24 27
25 fb0: fb@0x00500000 { 28 fb0: fb@0x00500000 {
diff --git a/drivers/video/console/bitblit.c b/drivers/video/console/bitblit.c
index 61b182bf32a2..dbfe4eecf12e 100644
--- a/drivers/video/console/bitblit.c
+++ b/drivers/video/console/bitblit.c
@@ -205,7 +205,6 @@ static void bit_putcs(struct vc_data *vc, struct fb_info *info,
205static void bit_clear_margins(struct vc_data *vc, struct fb_info *info, 205static void bit_clear_margins(struct vc_data *vc, struct fb_info *info,
206 int bottom_only) 206 int bottom_only)
207{ 207{
208 int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
209 unsigned int cw = vc->vc_font.width; 208 unsigned int cw = vc->vc_font.width;
210 unsigned int ch = vc->vc_font.height; 209 unsigned int ch = vc->vc_font.height;
211 unsigned int rw = info->var.xres - (vc->vc_cols*cw); 210 unsigned int rw = info->var.xres - (vc->vc_cols*cw);
@@ -214,7 +213,7 @@ static void bit_clear_margins(struct vc_data *vc, struct fb_info *info,
214 unsigned int bs = info->var.yres - bh; 213 unsigned int bs = info->var.yres - bh;
215 struct fb_fillrect region; 214 struct fb_fillrect region;
216 215
217 region.color = attr_bgcol_ec(bgshift, vc, info); 216 region.color = 0;
218 region.rop = ROP_COPY; 217 region.rop = ROP_COPY;
219 218
220 if (rw && !bottom_only) { 219 if (rw && !bottom_only) {
diff --git a/drivers/video/console/fbcon_ccw.c b/drivers/video/console/fbcon_ccw.c
index 41b32ae23dac..5a3cbf6dff4d 100644
--- a/drivers/video/console/fbcon_ccw.c
+++ b/drivers/video/console/fbcon_ccw.c
@@ -197,9 +197,8 @@ static void ccw_clear_margins(struct vc_data *vc, struct fb_info *info,
197 unsigned int bh = info->var.xres - (vc->vc_rows*ch); 197 unsigned int bh = info->var.xres - (vc->vc_rows*ch);
198 unsigned int bs = vc->vc_rows*ch; 198 unsigned int bs = vc->vc_rows*ch;
199 struct fb_fillrect region; 199 struct fb_fillrect region;
200 int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
201 200
202 region.color = attr_bgcol_ec(bgshift,vc,info); 201 region.color = 0;
203 region.rop = ROP_COPY; 202 region.rop = ROP_COPY;
204 203
205 if (rw && !bottom_only) { 204 if (rw && !bottom_only) {
diff --git a/drivers/video/console/fbcon_cw.c b/drivers/video/console/fbcon_cw.c
index a93670ef7f89..e7ee44db4e98 100644
--- a/drivers/video/console/fbcon_cw.c
+++ b/drivers/video/console/fbcon_cw.c
@@ -180,9 +180,8 @@ static void cw_clear_margins(struct vc_data *vc, struct fb_info *info,
180 unsigned int bh = info->var.xres - (vc->vc_rows*ch); 180 unsigned int bh = info->var.xres - (vc->vc_rows*ch);
181 unsigned int rs = info->var.yres - rw; 181 unsigned int rs = info->var.yres - rw;
182 struct fb_fillrect region; 182 struct fb_fillrect region;
183 int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
184 183
185 region.color = attr_bgcol_ec(bgshift,vc,info); 184 region.color = 0;
186 region.rop = ROP_COPY; 185 region.rop = ROP_COPY;
187 186
188 if (rw && !bottom_only) { 187 if (rw && !bottom_only) {
diff --git a/drivers/video/console/fbcon_ud.c b/drivers/video/console/fbcon_ud.c
index ff0872c0498b..19e3714abfe8 100644
--- a/drivers/video/console/fbcon_ud.c
+++ b/drivers/video/console/fbcon_ud.c
@@ -227,9 +227,8 @@ static void ud_clear_margins(struct vc_data *vc, struct fb_info *info,
227 unsigned int rw = info->var.xres - (vc->vc_cols*cw); 227 unsigned int rw = info->var.xres - (vc->vc_cols*cw);
228 unsigned int bh = info->var.yres - (vc->vc_rows*ch); 228 unsigned int bh = info->var.yres - (vc->vc_rows*ch);
229 struct fb_fillrect region; 229 struct fb_fillrect region;
230 int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
231 230
232 region.color = attr_bgcol_ec(bgshift,vc,info); 231 region.color = 0;
233 region.rop = ROP_COPY; 232 region.rop = ROP_COPY;
234 233
235 if (rw && !bottom_only) { 234 if (rw && !bottom_only) {
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index ccbe2ae22ac5..c7bf606a8706 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -2356,10 +2356,11 @@ config FB_MSM
2356config FB_MX3 2356config FB_MX3
2357 tristate "MX3 Framebuffer support" 2357 tristate "MX3 Framebuffer support"
2358 depends on FB && MX3_IPU 2358 depends on FB && MX3_IPU
2359 select BACKLIGHT_CLASS_DEVICE
2360 select BACKLIGHT_LCD_SUPPORT
2359 select FB_CFB_FILLRECT 2361 select FB_CFB_FILLRECT
2360 select FB_CFB_COPYAREA 2362 select FB_CFB_COPYAREA
2361 select FB_CFB_IMAGEBLIT 2363 select FB_CFB_IMAGEBLIT
2362 select BACKLIGHT_CLASS_DEVICE
2363 default y 2364 default y
2364 help 2365 help
2365 This is a framebuffer device for the i.MX31 LCD Controller. So 2366 This is a framebuffer device for the i.MX31 LCD Controller. So
diff --git a/drivers/video/fbdev/atmel_lcdfb.c b/drivers/video/fbdev/atmel_lcdfb.c
index 1d8bdb92939b..3bf403150a2d 100644
--- a/drivers/video/fbdev/atmel_lcdfb.c
+++ b/drivers/video/fbdev/atmel_lcdfb.c
@@ -24,6 +24,7 @@
24#include <linux/of_device.h> 24#include <linux/of_device.h>
25#include <linux/of_gpio.h> 25#include <linux/of_gpio.h>
26#include <video/of_display_timing.h> 26#include <video/of_display_timing.h>
27#include <linux/regulator/consumer.h>
27#include <video/videomode.h> 28#include <video/videomode.h>
28 29
29#include <mach/cpu.h> 30#include <mach/cpu.h>
@@ -60,6 +61,7 @@ struct atmel_lcdfb_info {
60 struct atmel_lcdfb_pdata pdata; 61 struct atmel_lcdfb_pdata pdata;
61 62
62 struct atmel_lcdfb_config *config; 63 struct atmel_lcdfb_config *config;
64 struct regulator *reg_lcd;
63}; 65};
64 66
65struct atmel_lcdfb_power_ctrl_gpio { 67struct atmel_lcdfb_power_ctrl_gpio {
@@ -302,10 +304,24 @@ static void init_contrast(struct atmel_lcdfb_info *sinfo)
302 304
303static inline void atmel_lcdfb_power_control(struct atmel_lcdfb_info *sinfo, int on) 305static inline void atmel_lcdfb_power_control(struct atmel_lcdfb_info *sinfo, int on)
304{ 306{
307 int ret;
305 struct atmel_lcdfb_pdata *pdata = &sinfo->pdata; 308 struct atmel_lcdfb_pdata *pdata = &sinfo->pdata;
306 309
307 if (pdata->atmel_lcdfb_power_control) 310 if (pdata->atmel_lcdfb_power_control)
308 pdata->atmel_lcdfb_power_control(pdata, on); 311 pdata->atmel_lcdfb_power_control(pdata, on);
312 else if (sinfo->reg_lcd) {
313 if (on) {
314 ret = regulator_enable(sinfo->reg_lcd);
315 if (ret)
316 dev_err(&sinfo->pdev->dev,
317 "lcd regulator enable failed: %d\n", ret);
318 } else {
319 ret = regulator_disable(sinfo->reg_lcd);
320 if (ret)
321 dev_err(&sinfo->pdev->dev,
322 "lcd regulator disable failed: %d\n", ret);
323 }
324 }
309} 325}
310 326
311static struct fb_fix_screeninfo atmel_lcdfb_fix __initdata = { 327static struct fb_fix_screeninfo atmel_lcdfb_fix __initdata = {
@@ -1195,6 +1211,10 @@ static int __init atmel_lcdfb_probe(struct platform_device *pdev)
1195 if (!sinfo->config) 1211 if (!sinfo->config)
1196 goto free_info; 1212 goto free_info;
1197 1213
1214 sinfo->reg_lcd = devm_regulator_get(&pdev->dev, "lcd");
1215 if (IS_ERR(sinfo->reg_lcd))
1216 sinfo->reg_lcd = NULL;
1217
1198 info->flags = ATMEL_LCDFB_FBINFO_DEFAULT; 1218 info->flags = ATMEL_LCDFB_FBINFO_DEFAULT;
1199 info->pseudo_palette = sinfo->pseudo_palette; 1219 info->pseudo_palette = sinfo->pseudo_palette;
1200 info->fbops = &atmel_lcdfb_ops; 1220 info->fbops = &atmel_lcdfb_ops;
diff --git a/drivers/video/fbdev/aty/aty128fb.c b/drivers/video/fbdev/aty/aty128fb.c
index ff6070170d01..aedf2fbf9bf6 100644
--- a/drivers/video/fbdev/aty/aty128fb.c
+++ b/drivers/video/fbdev/aty/aty128fb.c
@@ -324,14 +324,61 @@ struct aty128_meminfo {
324}; 324};
325 325
326/* various memory configurations */ 326/* various memory configurations */
327static const struct aty128_meminfo sdr_128 = 327static const struct aty128_meminfo sdr_128 = {
328 { 4, 4, 3, 3, 1, 3, 1, 16, 30, 16, "128-bit SDR SGRAM (1:1)" }; 328 .ML = 4,
329static const struct aty128_meminfo sdr_64 = 329 .MB = 4,
330 { 4, 8, 3, 3, 1, 3, 1, 17, 46, 17, "64-bit SDR SGRAM (1:1)" }; 330 .Trcd = 3,
331static const struct aty128_meminfo sdr_sgram = 331 .Trp = 3,
332 { 4, 4, 1, 2, 1, 2, 1, 16, 24, 16, "64-bit SDR SGRAM (2:1)" }; 332 .Twr = 1,
333static const struct aty128_meminfo ddr_sgram = 333 .CL = 3,
334 { 4, 4, 3, 3, 2, 3, 1, 16, 31, 16, "64-bit DDR SGRAM" }; 334 .Tr2w = 1,
335 .LoopLatency = 16,
336 .DspOn = 30,
337 .Rloop = 16,
338 .name = "128-bit SDR SGRAM (1:1)",
339};
340
341static const struct aty128_meminfo sdr_64 = {
342 .ML = 4,
343 .MB = 8,
344 .Trcd = 3,
345 .Trp = 3,
346 .Twr = 1,
347 .CL = 3,
348 .Tr2w = 1,
349 .LoopLatency = 17,
350 .DspOn = 46,
351 .Rloop = 17,
352 .name = "64-bit SDR SGRAM (1:1)",
353};
354
355static const struct aty128_meminfo sdr_sgram = {
356 .ML = 4,
357 .MB = 4,
358 .Trcd = 1,
359 .Trp = 2,
360 .Twr = 1,
361 .CL = 2,
362 .Tr2w = 1,
363 .LoopLatency = 16,
364 .DspOn = 24,
365 .Rloop = 16,
366 .name = "64-bit SDR SGRAM (2:1)",
367};
368
369static const struct aty128_meminfo ddr_sgram = {
370 .ML = 4,
371 .MB = 4,
372 .Trcd = 3,
373 .Trp = 3,
374 .Twr = 2,
375 .CL = 3,
376 .Tr2w = 1,
377 .LoopLatency = 16,
378 .DspOn = 31,
379 .Rloop = 16,
380 .name = "64-bit DDR SGRAM",
381};
335 382
336static struct fb_fix_screeninfo aty128fb_fix = { 383static struct fb_fix_screeninfo aty128fb_fix = {
337 .id = "ATY Rage128", 384 .id = "ATY Rage128",
diff --git a/drivers/video/fbdev/au1200fb.c b/drivers/video/fbdev/au1200fb.c
index 40494dbdf519..18600d4e1b3f 100644
--- a/drivers/video/fbdev/au1200fb.c
+++ b/drivers/video/fbdev/au1200fb.c
@@ -1254,7 +1254,6 @@ static void set_global(u_int cmd, struct au1200_lcd_global_regs_t *pdata)
1254 pdata->brightness = 30; 1254 pdata->brightness = 30;
1255 } 1255 }
1256 divider = (lcd->pwmdiv & 0x3FFFF) + 1; 1256 divider = (lcd->pwmdiv & 0x3FFFF) + 1;
1257 hi1 = (lcd->pwmhi >> 16) + 1;
1258 hi1 = (((pdata->brightness & 0xFF)+1) * divider >> 8); 1257 hi1 = (((pdata->brightness & 0xFF)+1) * divider >> 8);
1259 lcd->pwmhi &= 0xFFFF; 1258 lcd->pwmhi &= 0xFFFF;
1260 lcd->pwmhi |= (hi1 << 16); 1259 lcd->pwmhi |= (hi1 << 16);
diff --git a/drivers/video/fbdev/controlfb.c b/drivers/video/fbdev/controlfb.c
index fdadef979238..080fdd2a70f3 100644
--- a/drivers/video/fbdev/controlfb.c
+++ b/drivers/video/fbdev/controlfb.c
@@ -218,7 +218,8 @@ static int controlfb_check_var (struct fb_var_screeninfo *var, struct fb_info *i
218 */ 218 */
219static int controlfb_set_par (struct fb_info *info) 219static int controlfb_set_par (struct fb_info *info)
220{ 220{
221 struct fb_info_control *p = (struct fb_info_control *) info; 221 struct fb_info_control *p =
222 container_of(info, struct fb_info_control, info);
222 struct fb_par_control par; 223 struct fb_par_control par;
223 int err; 224 int err;
224 225
@@ -258,7 +259,8 @@ static int controlfb_pan_display(struct fb_var_screeninfo *var,
258 struct fb_info *info) 259 struct fb_info *info)
259{ 260{
260 unsigned int xoffset, hstep; 261 unsigned int xoffset, hstep;
261 struct fb_info_control *p = (struct fb_info_control *)info; 262 struct fb_info_control *p =
263 container_of(info, struct fb_info_control, info);
262 struct fb_par_control *par = &p->par; 264 struct fb_par_control *par = &p->par;
263 265
264 /* 266 /*
@@ -309,7 +311,8 @@ static int controlfb_mmap(struct fb_info *info,
309 311
310static int controlfb_blank(int blank_mode, struct fb_info *info) 312static int controlfb_blank(int blank_mode, struct fb_info *info)
311{ 313{
312 struct fb_info_control *p = (struct fb_info_control *) info; 314 struct fb_info_control *p =
315 container_of(info, struct fb_info_control, info);
313 unsigned ctrl; 316 unsigned ctrl;
314 317
315 ctrl = ld_le32(CNTRL_REG(p,ctrl)); 318 ctrl = ld_le32(CNTRL_REG(p,ctrl));
@@ -342,7 +345,8 @@ static int controlfb_blank(int blank_mode, struct fb_info *info)
342static int controlfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, 345static int controlfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
343 u_int transp, struct fb_info *info) 346 u_int transp, struct fb_info *info)
344{ 347{
345 struct fb_info_control *p = (struct fb_info_control *) info; 348 struct fb_info_control *p =
349 container_of(info, struct fb_info_control, info);
346 __u8 r, g, b; 350 __u8 r, g, b;
347 351
348 if (regno > 255) 352 if (regno > 255)
@@ -833,7 +837,8 @@ static int control_var_to_par(struct fb_var_screeninfo *var,
833 unsigned hperiod, hssync, hsblank, hesync, heblank, piped, heq, hlfln, 837 unsigned hperiod, hssync, hsblank, hesync, heblank, piped, heq, hlfln,
834 hserr, vperiod, vssync, vesync, veblank, vsblank, vswin, vewin; 838 hserr, vperiod, vssync, vesync, veblank, vsblank, vswin, vewin;
835 unsigned long pixclock; 839 unsigned long pixclock;
836 struct fb_info_control *p = (struct fb_info_control *) fb_info; 840 struct fb_info_control *p =
841 container_of(fb_info, struct fb_info_control, info);
837 struct control_regvals *r = &par->regvals; 842 struct control_regvals *r = &par->regvals;
838 843
839 switch (var->bits_per_pixel) { 844 switch (var->bits_per_pixel) {
diff --git a/drivers/video/fbdev/core/cfbcopyarea.c b/drivers/video/fbdev/core/cfbcopyarea.c
index bcb57235fcc7..6d4bfeecee35 100644
--- a/drivers/video/fbdev/core/cfbcopyarea.c
+++ b/drivers/video/fbdev/core/cfbcopyarea.c
@@ -55,8 +55,8 @@ bitcpy(struct fb_info *p, unsigned long __iomem *dst, unsigned dst_idx,
55 * If you suspect bug in this function, compare it with this simple 55 * If you suspect bug in this function, compare it with this simple
56 * memmove implementation. 56 * memmove implementation.
57 */ 57 */
58 fb_memmove((char *)dst + ((dst_idx & (bits - 1))) / 8, 58 memmove((char *)dst + ((dst_idx & (bits - 1))) / 8,
59 (char *)src + ((src_idx & (bits - 1))) / 8, n / 8); 59 (char *)src + ((src_idx & (bits - 1))) / 8, n / 8);
60 return; 60 return;
61#endif 61#endif
62 62
@@ -221,8 +221,8 @@ bitcpy_rev(struct fb_info *p, unsigned long __iomem *dst, unsigned dst_idx,
221 * If you suspect bug in this function, compare it with this simple 221 * If you suspect bug in this function, compare it with this simple
222 * memmove implementation. 222 * memmove implementation.
223 */ 223 */
224 fb_memmove((char *)dst + ((dst_idx & (bits - 1))) / 8, 224 memmove((char *)dst + ((dst_idx & (bits - 1))) / 8,
225 (char *)src + ((src_idx & (bits - 1))) / 8, n / 8); 225 (char *)src + ((src_idx & (bits - 1))) / 8, n / 8);
226 return; 226 return;
227#endif 227#endif
228 228
@@ -324,7 +324,10 @@ bitcpy_rev(struct fb_info *p, unsigned long __iomem *dst, unsigned dst_idx,
324 d0 = d0 << left | d1 >> right; 324 d0 = d0 << left | d1 >> right;
325 } 325 }
326 d0 = fb_rev_pixels_in_long(d0, bswapmask); 326 d0 = fb_rev_pixels_in_long(d0, bswapmask);
327 FB_WRITEL(comp(d0, FB_READL(dst), first), dst); 327 if (!first)
328 FB_WRITEL(d0, dst);
329 else
330 FB_WRITEL(comp(d0, FB_READL(dst), first), dst);
328 d0 = d1; 331 d0 = d1;
329 dst--; 332 dst--;
330 n -= dst_idx+1; 333 n -= dst_idx+1;
diff --git a/drivers/video/fbdev/core/fbsysfs.c b/drivers/video/fbdev/core/fbsysfs.c
index 53444ac19fe0..60c3f0a16341 100644
--- a/drivers/video/fbdev/core/fbsysfs.c
+++ b/drivers/video/fbdev/core/fbsysfs.c
@@ -485,16 +485,8 @@ static ssize_t show_bl_curve(struct device *device,
485 485
486 mutex_lock(&fb_info->bl_curve_mutex); 486 mutex_lock(&fb_info->bl_curve_mutex);
487 for (i = 0; i < FB_BACKLIGHT_LEVELS; i += 8) 487 for (i = 0; i < FB_BACKLIGHT_LEVELS; i += 8)
488 len += snprintf(&buf[len], PAGE_SIZE, 488 len += snprintf(&buf[len], PAGE_SIZE, "%8ph\n",
489 "%02x %02x %02x %02x %02x %02x %02x %02x\n", 489 fb_info->bl_curve + i);
490 fb_info->bl_curve[i + 0],
491 fb_info->bl_curve[i + 1],
492 fb_info->bl_curve[i + 2],
493 fb_info->bl_curve[i + 3],
494 fb_info->bl_curve[i + 4],
495 fb_info->bl_curve[i + 5],
496 fb_info->bl_curve[i + 6],
497 fb_info->bl_curve[i + 7]);
498 mutex_unlock(&fb_info->bl_curve_mutex); 490 mutex_unlock(&fb_info->bl_curve_mutex);
499 491
500 return len; 492 return len;
diff --git a/drivers/video/fbdev/cyber2000fb.c b/drivers/video/fbdev/cyber2000fb.c
index b0a950f36970..99acf538a8b8 100644
--- a/drivers/video/fbdev/cyber2000fb.c
+++ b/drivers/video/fbdev/cyber2000fb.c
@@ -159,7 +159,7 @@ cyber2000_seqw(unsigned int reg, unsigned int val, struct cfb_info *cfb)
159static void 159static void
160cyber2000fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect) 160cyber2000fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
161{ 161{
162 struct cfb_info *cfb = (struct cfb_info *)info; 162 struct cfb_info *cfb = container_of(info, struct cfb_info, fb);
163 unsigned long dst, col; 163 unsigned long dst, col;
164 164
165 if (!(cfb->fb.var.accel_flags & FB_ACCELF_TEXT)) { 165 if (!(cfb->fb.var.accel_flags & FB_ACCELF_TEXT)) {
@@ -191,7 +191,7 @@ cyber2000fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
191static void 191static void
192cyber2000fb_copyarea(struct fb_info *info, const struct fb_copyarea *region) 192cyber2000fb_copyarea(struct fb_info *info, const struct fb_copyarea *region)
193{ 193{
194 struct cfb_info *cfb = (struct cfb_info *)info; 194 struct cfb_info *cfb = container_of(info, struct cfb_info, fb);
195 unsigned int cmd = CO_CMD_L_PATTERN_FGCOL; 195 unsigned int cmd = CO_CMD_L_PATTERN_FGCOL;
196 unsigned long src, dst; 196 unsigned long src, dst;
197 197
@@ -241,7 +241,7 @@ cyber2000fb_imageblit(struct fb_info *info, const struct fb_image *image)
241 241
242static int cyber2000fb_sync(struct fb_info *info) 242static int cyber2000fb_sync(struct fb_info *info)
243{ 243{
244 struct cfb_info *cfb = (struct cfb_info *)info; 244 struct cfb_info *cfb = container_of(info, struct cfb_info, fb);
245 int count = 100000; 245 int count = 100000;
246 246
247 if (!(cfb->fb.var.accel_flags & FB_ACCELF_TEXT)) 247 if (!(cfb->fb.var.accel_flags & FB_ACCELF_TEXT))
@@ -276,7 +276,7 @@ static int
276cyber2000fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, 276cyber2000fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
277 u_int transp, struct fb_info *info) 277 u_int transp, struct fb_info *info)
278{ 278{
279 struct cfb_info *cfb = (struct cfb_info *)info; 279 struct cfb_info *cfb = container_of(info, struct cfb_info, fb);
280 struct fb_var_screeninfo *var = &cfb->fb.var; 280 struct fb_var_screeninfo *var = &cfb->fb.var;
281 u32 pseudo_val; 281 u32 pseudo_val;
282 int ret = 1; 282 int ret = 1;
@@ -758,7 +758,7 @@ cyber2000fb_decode_clock(struct par_info *hw, struct cfb_info *cfb,
758static int 758static int
759cyber2000fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) 759cyber2000fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
760{ 760{
761 struct cfb_info *cfb = (struct cfb_info *)info; 761 struct cfb_info *cfb = container_of(info, struct cfb_info, fb);
762 struct par_info hw; 762 struct par_info hw;
763 unsigned int mem; 763 unsigned int mem;
764 int err; 764 int err;
@@ -861,7 +861,7 @@ cyber2000fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
861 861
862static int cyber2000fb_set_par(struct fb_info *info) 862static int cyber2000fb_set_par(struct fb_info *info)
863{ 863{
864 struct cfb_info *cfb = (struct cfb_info *)info; 864 struct cfb_info *cfb = container_of(info, struct cfb_info, fb);
865 struct fb_var_screeninfo *var = &cfb->fb.var; 865 struct fb_var_screeninfo *var = &cfb->fb.var;
866 struct par_info hw; 866 struct par_info hw;
867 unsigned int mem; 867 unsigned int mem;
@@ -971,7 +971,7 @@ static int cyber2000fb_set_par(struct fb_info *info)
971static int 971static int
972cyber2000fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) 972cyber2000fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
973{ 973{
974 struct cfb_info *cfb = (struct cfb_info *)info; 974 struct cfb_info *cfb = container_of(info, struct cfb_info, fb);
975 975
976 if (cyber2000fb_update_start(cfb, var)) 976 if (cyber2000fb_update_start(cfb, var))
977 return -EINVAL; 977 return -EINVAL;
@@ -1007,7 +1007,7 @@ cyber2000fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
1007 */ 1007 */
1008static int cyber2000fb_blank(int blank, struct fb_info *info) 1008static int cyber2000fb_blank(int blank, struct fb_info *info)
1009{ 1009{
1010 struct cfb_info *cfb = (struct cfb_info *)info; 1010 struct cfb_info *cfb = container_of(info, struct cfb_info, fb);
1011 unsigned int sync = 0; 1011 unsigned int sync = 0;
1012 int i; 1012 int i;
1013 1013
diff --git a/drivers/video/fbdev/intelfb/intelfbhw.c b/drivers/video/fbdev/intelfb/intelfbhw.c
index fbad61da359f..d31ed4e2c46f 100644
--- a/drivers/video/fbdev/intelfb/intelfbhw.c
+++ b/drivers/video/fbdev/intelfb/intelfbhw.c
@@ -1191,7 +1191,6 @@ int intelfbhw_mode_to_hw(struct intelfb_info *dinfo,
1191 vsync_end = vsync_start + var->vsync_len; 1191 vsync_end = vsync_start + var->vsync_len;
1192 vtotal = vsync_end + var->upper_margin; 1192 vtotal = vsync_end + var->upper_margin;
1193 vblank_start = vactive; 1193 vblank_start = vactive;
1194 vblank_end = vtotal;
1195 vblank_end = vsync_end + 1; 1194 vblank_end = vsync_end + 1;
1196 1195
1197 DBG_MSG("V: act %d, ss %d, se %d, tot %d bs %d, be %d\n", 1196 DBG_MSG("V: act %d, ss %d, se %d, tot %d bs %d, be %d\n",
@@ -1859,7 +1858,7 @@ void intelfbhw_cursor_init(struct intelfb_info *dinfo)
1859 tmp = INREG(CURSOR_CONTROL); 1858 tmp = INREG(CURSOR_CONTROL);
1860 tmp &= ~(CURSOR_FORMAT_MASK | CURSOR_GAMMA_ENABLE | 1859 tmp &= ~(CURSOR_FORMAT_MASK | CURSOR_GAMMA_ENABLE |
1861 CURSOR_ENABLE | CURSOR_STRIDE_MASK); 1860 CURSOR_ENABLE | CURSOR_STRIDE_MASK);
1862 tmp = CURSOR_FORMAT_3C; 1861 tmp |= CURSOR_FORMAT_3C;
1863 OUTREG(CURSOR_CONTROL, tmp); 1862 OUTREG(CURSOR_CONTROL, tmp);
1864 OUTREG(CURSOR_A_BASEADDR, dinfo->cursor.offset << 12); 1863 OUTREG(CURSOR_A_BASEADDR, dinfo->cursor.offset << 12);
1865 tmp = (64 << CURSOR_SIZE_H_SHIFT) | 1864 tmp = (64 << CURSOR_SIZE_H_SHIFT) |
diff --git a/drivers/video/fbdev/matrox/matroxfb_base.c b/drivers/video/fbdev/matrox/matroxfb_base.c
index 7116c5309c7d..62539ca1cfa9 100644
--- a/drivers/video/fbdev/matrox/matroxfb_base.c
+++ b/drivers/video/fbdev/matrox/matroxfb_base.c
@@ -1341,19 +1341,57 @@ struct video_board {
1341 struct matrox_switch* lowlevel; 1341 struct matrox_switch* lowlevel;
1342 }; 1342 };
1343#ifdef CONFIG_FB_MATROX_MILLENIUM 1343#ifdef CONFIG_FB_MATROX_MILLENIUM
1344static struct video_board vbMillennium = {0x0800000, 0x0800000, FB_ACCEL_MATROX_MGA2064W, &matrox_millennium}; 1344static struct video_board vbMillennium = {
1345static struct video_board vbMillennium2 = {0x1000000, 0x0800000, FB_ACCEL_MATROX_MGA2164W, &matrox_millennium}; 1345 .maxvram = 0x0800000,
1346static struct video_board vbMillennium2A = {0x1000000, 0x0800000, FB_ACCEL_MATROX_MGA2164W_AGP, &matrox_millennium}; 1346 .maxdisplayable = 0x0800000,
1347 .accelID = FB_ACCEL_MATROX_MGA2064W,
1348 .lowlevel = &matrox_millennium
1349};
1350
1351static struct video_board vbMillennium2 = {
1352 .maxvram = 0x1000000,
1353 .maxdisplayable = 0x0800000,
1354 .accelID = FB_ACCEL_MATROX_MGA2164W,
1355 .lowlevel = &matrox_millennium
1356};
1357
1358static struct video_board vbMillennium2A = {
1359 .maxvram = 0x1000000,
1360 .maxdisplayable = 0x0800000,
1361 .accelID = FB_ACCEL_MATROX_MGA2164W_AGP,
1362 .lowlevel = &matrox_millennium
1363};
1347#endif /* CONFIG_FB_MATROX_MILLENIUM */ 1364#endif /* CONFIG_FB_MATROX_MILLENIUM */
1348#ifdef CONFIG_FB_MATROX_MYSTIQUE 1365#ifdef CONFIG_FB_MATROX_MYSTIQUE
1349static struct video_board vbMystique = {0x0800000, 0x0800000, FB_ACCEL_MATROX_MGA1064SG, &matrox_mystique}; 1366static struct video_board vbMystique = {
1367 .maxvram = 0x0800000,
1368 .maxdisplayable = 0x0800000,
1369 .accelID = FB_ACCEL_MATROX_MGA1064SG,
1370 .lowlevel = &matrox_mystique
1371};
1350#endif /* CONFIG_FB_MATROX_MYSTIQUE */ 1372#endif /* CONFIG_FB_MATROX_MYSTIQUE */
1351#ifdef CONFIG_FB_MATROX_G 1373#ifdef CONFIG_FB_MATROX_G
1352static struct video_board vbG100 = {0x0800000, 0x0800000, FB_ACCEL_MATROX_MGAG100, &matrox_G100}; 1374static struct video_board vbG100 = {
1353static struct video_board vbG200 = {0x1000000, 0x1000000, FB_ACCEL_MATROX_MGAG200, &matrox_G100}; 1375 .maxvram = 0x0800000,
1376 .maxdisplayable = 0x0800000,
1377 .accelID = FB_ACCEL_MATROX_MGAG100,
1378 .lowlevel = &matrox_G100
1379};
1380
1381static struct video_board vbG200 = {
1382 .maxvram = 0x1000000,
1383 .maxdisplayable = 0x1000000,
1384 .accelID = FB_ACCEL_MATROX_MGAG200,
1385 .lowlevel = &matrox_G100
1386};
1354/* from doc it looks like that accelerator can draw only to low 16MB :-( Direct accesses & displaying are OK for 1387/* from doc it looks like that accelerator can draw only to low 16MB :-( Direct accesses & displaying are OK for
1355 whole 32MB */ 1388 whole 32MB */
1356static struct video_board vbG400 = {0x2000000, 0x1000000, FB_ACCEL_MATROX_MGAG400, &matrox_G100}; 1389static struct video_board vbG400 = {
1390 .maxvram = 0x2000000,
1391 .maxdisplayable = 0x1000000,
1392 .accelID = FB_ACCEL_MATROX_MGAG400,
1393 .lowlevel = &matrox_G100
1394};
1357#endif 1395#endif
1358 1396
1359#define DEVF_VIDEO64BIT 0x0001 1397#define DEVF_VIDEO64BIT 0x0001
diff --git a/drivers/video/fbdev/matrox/matroxfb_maven.c b/drivers/video/fbdev/matrox/matroxfb_maven.c
index ee41a0f276b2..bf5ce04f9aea 100644
--- a/drivers/video/fbdev/matrox/matroxfb_maven.c
+++ b/drivers/video/fbdev/matrox/matroxfb_maven.c
@@ -201,21 +201,23 @@ struct matrox_pll_ctl {
201}; 201};
202 202
203static const struct matrox_pll_features2 maven1000_pll = { 203static const struct matrox_pll_features2 maven1000_pll = {
204 50000000, 204 .vco_freq_min = 50000000,
205 300000000, 205 .vco_freq_max = 300000000,
206 5, 128, 206 .feed_div_min = 5,
207 3, 32, 207 .feed_div_max = 128,
208 3 208 .in_div_min = 3,
209 .in_div_max = 32,
210 .post_shift_max = 3
209}; 211};
210 212
211static const struct matrox_pll_ctl maven_PAL = { 213static const struct matrox_pll_ctl maven_PAL = {
212 540000, 214 .ref_freq = 540000,
213 50 215 .den = 50
214}; 216};
215 217
216static const struct matrox_pll_ctl maven_NTSC = { 218static const struct matrox_pll_ctl maven_NTSC = {
217 450450, /* 27027000/60 == 27000000/59.94005994 */ 219 .ref_freq = 450450, /* 27027000/60 == 27000000/59.94005994 */
218 60 220 .den = 60
219}; 221};
220 222
221static int matroxfb_PLL_mavenclock(const struct matrox_pll_features2* pll, 223static int matroxfb_PLL_mavenclock(const struct matrox_pll_features2* pll,
diff --git a/drivers/video/fbdev/msm/msm_fb.c b/drivers/video/fbdev/msm/msm_fb.c
index 1374803fbcd9..2979d7e72126 100644
--- a/drivers/video/fbdev/msm/msm_fb.c
+++ b/drivers/video/fbdev/msm/msm_fb.c
@@ -569,8 +569,13 @@ static int msmfb_probe(struct platform_device *pdev)
569 mutex_init(&msmfb->panel_init_lock); 569 mutex_init(&msmfb->panel_init_lock);
570 init_waitqueue_head(&msmfb->frame_wq); 570 init_waitqueue_head(&msmfb->frame_wq);
571 INIT_WORK(&msmfb->resume_work, power_on_panel); 571 INIT_WORK(&msmfb->resume_work, power_on_panel);
572 msmfb->black = kzalloc(msmfb->fb->var.bits_per_pixel*msmfb->xres, 572 msmfb->black = devm_kzalloc(&pdev->dev,
573 GFP_KERNEL); 573 msmfb->fb->var.bits_per_pixel*msmfb->xres,
574 GFP_KERNEL);
575 if (!msmfb->black) {
576 ret = -ENOMEM;
577 goto error_register_framebuffer;
578 }
574 579
575 printk(KERN_INFO "msmfb_probe() installing %d x %d panel\n", 580 printk(KERN_INFO "msmfb_probe() installing %d x %d panel\n",
576 msmfb->xres, msmfb->yres); 581 msmfb->xres, msmfb->yres);
@@ -589,6 +594,8 @@ static int msmfb_probe(struct platform_device *pdev)
589 594
590 msmfb->sleeping = WAKING; 595 msmfb->sleeping = WAKING;
591 596
597 platform_set_drvdata(pdev, msmfb);
598
592 return 0; 599 return 0;
593 600
594error_register_framebuffer: 601error_register_framebuffer:
@@ -598,9 +605,23 @@ error_setup_fbmem:
598 return ret; 605 return ret;
599} 606}
600 607
608static int msmfb_remove(struct platform_device *pdev)
609{
610 struct msmfb_info *msmfb;
611
612 msmfb = platform_get_drvdata(pdev);
613
614 unregister_framebuffer(msmfb->fb);
615 iounmap(msmfb->fb->screen_base);
616 framebuffer_release(msmfb->fb);
617
618 return 0;
619}
620
601static struct platform_driver msm_panel_driver = { 621static struct platform_driver msm_panel_driver = {
602 /* need to write remove */ 622 /* need to write remove */
603 .probe = msmfb_probe, 623 .probe = msmfb_probe,
624 .remove = msmfb_remove,
604 .driver = {.name = "msm_panel"}, 625 .driver = {.name = "msm_panel"},
605}; 626};
606 627
diff --git a/drivers/video/fbdev/mx3fb.c b/drivers/video/fbdev/mx3fb.c
index c645a0a0c341..5e97baf92721 100644
--- a/drivers/video/fbdev/mx3fb.c
+++ b/drivers/video/fbdev/mx3fb.c
@@ -1179,7 +1179,7 @@ static int mx3fb_pan_display(struct fb_var_screeninfo *var,
1179 1179
1180 /* 1180 /*
1181 * We enable the End of Frame interrupt, which will free a tx-descriptor, 1181 * We enable the End of Frame interrupt, which will free a tx-descriptor,
1182 * which we will need for the next device_prep_slave_sg(). The 1182 * which we will need for the next dmaengine_prep_slave_sg(). The
1183 * IRQ-handler will disable the IRQ again. 1183 * IRQ-handler will disable the IRQ again.
1184 */ 1184 */
1185 init_completion(&mx3_fbi->flip_cmpl); 1185 init_completion(&mx3_fbi->flip_cmpl);
diff --git a/drivers/video/fbdev/omap2/dss/dispc-compat.c b/drivers/video/fbdev/omap2/dss/dispc-compat.c
index 83779c2b292a..633c461fbc6e 100644
--- a/drivers/video/fbdev/omap2/dss/dispc-compat.c
+++ b/drivers/video/fbdev/omap2/dss/dispc-compat.c
@@ -634,13 +634,14 @@ void dispc_mgr_disable_sync(enum omap_channel channel)
634 WARN_ON(1); 634 WARN_ON(1);
635} 635}
636 636
637static inline void dispc_irq_wait_handler(void *data, u32 mask)
638{
639 complete((struct completion *)data);
640}
641
637int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask, 642int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask,
638 unsigned long timeout) 643 unsigned long timeout)
639{ 644{
640 void dispc_irq_wait_handler(void *data, u32 mask)
641 {
642 complete((struct completion *)data);
643 }
644 645
645 int r; 646 int r;
646 DECLARE_COMPLETION_ONSTACK(completion); 647 DECLARE_COMPLETION_ONSTACK(completion);
diff --git a/drivers/video/fbdev/omap2/dss/dsi.c b/drivers/video/fbdev/omap2/dss/dsi.c
index 56b92444c54f..b6f6ae1d4664 100644
--- a/drivers/video/fbdev/omap2/dss/dsi.c
+++ b/drivers/video/fbdev/omap2/dss/dsi.c
@@ -2571,7 +2571,10 @@ static int dsi_sync_vc_vp(struct platform_device *dsidev, int channel)
2571{ 2571{
2572 struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); 2572 struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev);
2573 DECLARE_COMPLETION_ONSTACK(completion); 2573 DECLARE_COMPLETION_ONSTACK(completion);
2574 struct dsi_packet_sent_handler_data vp_data = { dsidev, &completion }; 2574 struct dsi_packet_sent_handler_data vp_data = {
2575 .dsidev = dsidev,
2576 .completion = &completion
2577 };
2575 int r = 0; 2578 int r = 0;
2576 u8 bit; 2579 u8 bit;
2577 2580
@@ -2617,7 +2620,10 @@ static void dsi_packet_sent_handler_l4(void *data, u32 mask)
2617static int dsi_sync_vc_l4(struct platform_device *dsidev, int channel) 2620static int dsi_sync_vc_l4(struct platform_device *dsidev, int channel)
2618{ 2621{
2619 DECLARE_COMPLETION_ONSTACK(completion); 2622 DECLARE_COMPLETION_ONSTACK(completion);
2620 struct dsi_packet_sent_handler_data l4_data = { dsidev, &completion }; 2623 struct dsi_packet_sent_handler_data l4_data = {
2624 .dsidev = dsidev,
2625 .completion = &completion
2626 };
2621 int r = 0; 2627 int r = 0;
2622 2628
2623 r = dsi_register_isr_vc(dsidev, channel, dsi_packet_sent_handler_l4, 2629 r = dsi_register_isr_vc(dsidev, channel, dsi_packet_sent_handler_l4,
diff --git a/drivers/video/fbdev/omap2/dss/manager-sysfs.c b/drivers/video/fbdev/omap2/dss/manager-sysfs.c
index 37b59fe28dc8..a7414fb12830 100644
--- a/drivers/video/fbdev/omap2/dss/manager-sysfs.c
+++ b/drivers/video/fbdev/omap2/dss/manager-sysfs.c
@@ -44,6 +44,13 @@ static ssize_t manager_display_show(struct omap_overlay_manager *mgr, char *buf)
44 dssdev->name : "<none>"); 44 dssdev->name : "<none>");
45} 45}
46 46
47static int manager_display_match(struct omap_dss_device *dssdev, void *data)
48{
49 const char *str = data;
50
51 return sysfs_streq(dssdev->name, str);
52}
53
47static ssize_t manager_display_store(struct omap_overlay_manager *mgr, 54static ssize_t manager_display_store(struct omap_overlay_manager *mgr,
48 const char *buf, size_t size) 55 const char *buf, size_t size)
49{ 56{
@@ -52,17 +59,12 @@ static ssize_t manager_display_store(struct omap_overlay_manager *mgr,
52 struct omap_dss_device *dssdev = NULL; 59 struct omap_dss_device *dssdev = NULL;
53 struct omap_dss_device *old_dssdev; 60 struct omap_dss_device *old_dssdev;
54 61
55 int match(struct omap_dss_device *dssdev, void *data)
56 {
57 const char *str = data;
58 return sysfs_streq(dssdev->name, str);
59 }
60
61 if (buf[size-1] == '\n') 62 if (buf[size-1] == '\n')
62 --len; 63 --len;
63 64
64 if (len > 0) 65 if (len > 0)
65 dssdev = omap_dss_find_device((void *)buf, match); 66 dssdev = omap_dss_find_device((void *)buf,
67 manager_display_match);
66 68
67 if (len > 0 && dssdev == NULL) 69 if (len > 0 && dssdev == NULL)
68 return -EINVAL; 70 return -EINVAL;
diff --git a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c
index ec2d132c782d..15872433e0c6 100644
--- a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c
+++ b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c
@@ -273,16 +273,16 @@ static struct omapfb_colormode omapfb_colormodes[] = {
273 }, 273 },
274}; 274};
275 275
276static bool cmp_component(struct fb_bitfield *f1, struct fb_bitfield *f2)
277{
278 return f1->length == f2->length &&
279 f1->offset == f2->offset &&
280 f1->msb_right == f2->msb_right;
281}
282
276static bool cmp_var_to_colormode(struct fb_var_screeninfo *var, 283static bool cmp_var_to_colormode(struct fb_var_screeninfo *var,
277 struct omapfb_colormode *color) 284 struct omapfb_colormode *color)
278{ 285{
279 bool cmp_component(struct fb_bitfield *f1, struct fb_bitfield *f2)
280 {
281 return f1->length == f2->length &&
282 f1->offset == f2->offset &&
283 f1->msb_right == f2->msb_right;
284 }
285
286 if (var->bits_per_pixel == 0 || 286 if (var->bits_per_pixel == 0 ||
287 var->red.length == 0 || 287 var->red.length == 0 ||
288 var->blue.length == 0 || 288 var->blue.length == 0 ||
diff --git a/drivers/video/fbdev/pxafb.c b/drivers/video/fbdev/pxafb.c
index 1ecd9cec2921..a5acca88fa63 100644
--- a/drivers/video/fbdev/pxafb.c
+++ b/drivers/video/fbdev/pxafb.c
@@ -138,7 +138,7 @@ static int
138pxafb_setpalettereg(u_int regno, u_int red, u_int green, u_int blue, 138pxafb_setpalettereg(u_int regno, u_int red, u_int green, u_int blue,
139 u_int trans, struct fb_info *info) 139 u_int trans, struct fb_info *info)
140{ 140{
141 struct pxafb_info *fbi = (struct pxafb_info *)info; 141 struct pxafb_info *fbi = container_of(info, struct pxafb_info, fb);
142 u_int val; 142 u_int val;
143 143
144 if (regno >= fbi->palette_size) 144 if (regno >= fbi->palette_size)
@@ -183,7 +183,7 @@ static int
183pxafb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, 183pxafb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
184 u_int trans, struct fb_info *info) 184 u_int trans, struct fb_info *info)
185{ 185{
186 struct pxafb_info *fbi = (struct pxafb_info *)info; 186 struct pxafb_info *fbi = container_of(info, struct pxafb_info, fb);
187 unsigned int val; 187 unsigned int val;
188 int ret = 1; 188 int ret = 1;
189 189
@@ -456,7 +456,7 @@ static int pxafb_adjust_timing(struct pxafb_info *fbi,
456 */ 456 */
457static int pxafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) 457static int pxafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
458{ 458{
459 struct pxafb_info *fbi = (struct pxafb_info *)info; 459 struct pxafb_info *fbi = container_of(info, struct pxafb_info, fb);
460 struct pxafb_mach_info *inf = dev_get_platdata(fbi->dev); 460 struct pxafb_mach_info *inf = dev_get_platdata(fbi->dev);
461 int err; 461 int err;
462 462
@@ -494,7 +494,7 @@ static int pxafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
494 */ 494 */
495static int pxafb_set_par(struct fb_info *info) 495static int pxafb_set_par(struct fb_info *info)
496{ 496{
497 struct pxafb_info *fbi = (struct pxafb_info *)info; 497 struct pxafb_info *fbi = container_of(info, struct pxafb_info, fb);
498 struct fb_var_screeninfo *var = &info->var; 498 struct fb_var_screeninfo *var = &info->var;
499 499
500 if (var->bits_per_pixel >= 16) 500 if (var->bits_per_pixel >= 16)
@@ -533,7 +533,7 @@ static int pxafb_set_par(struct fb_info *info)
533static int pxafb_pan_display(struct fb_var_screeninfo *var, 533static int pxafb_pan_display(struct fb_var_screeninfo *var,
534 struct fb_info *info) 534 struct fb_info *info)
535{ 535{
536 struct pxafb_info *fbi = (struct pxafb_info *)info; 536 struct pxafb_info *fbi = container_of(info, struct pxafb_info, fb);
537 struct fb_var_screeninfo newvar; 537 struct fb_var_screeninfo newvar;
538 int dma = DMA_MAX + DMA_BASE; 538 int dma = DMA_MAX + DMA_BASE;
539 539
@@ -566,7 +566,7 @@ static int pxafb_pan_display(struct fb_var_screeninfo *var,
566 */ 566 */
567static int pxafb_blank(int blank, struct fb_info *info) 567static int pxafb_blank(int blank, struct fb_info *info)
568{ 568{
569 struct pxafb_info *fbi = (struct pxafb_info *)info; 569 struct pxafb_info *fbi = container_of(info, struct pxafb_info, fb);
570 int i; 570 int i;
571 571
572 switch (blank) { 572 switch (blank) {
@@ -725,7 +725,7 @@ static struct pxafb_layer_ops ofb_ops[] = {
725 725
726static int overlayfb_open(struct fb_info *info, int user) 726static int overlayfb_open(struct fb_info *info, int user)
727{ 727{
728 struct pxafb_layer *ofb = (struct pxafb_layer *)info; 728 struct pxafb_layer *ofb = container_of(info, struct pxafb_layer, fb);
729 729
730 /* no support for framebuffer console on overlay */ 730 /* no support for framebuffer console on overlay */
731 if (user == 0) 731 if (user == 0)
@@ -743,7 +743,7 @@ static int overlayfb_open(struct fb_info *info, int user)
743 743
744static int overlayfb_release(struct fb_info *info, int user) 744static int overlayfb_release(struct fb_info *info, int user)
745{ 745{
746 struct pxafb_layer *ofb = (struct pxafb_layer*) info; 746 struct pxafb_layer *ofb = container_of(info, struct pxafb_layer, fb);
747 747
748 if (ofb->usage == 1) { 748 if (ofb->usage == 1) {
749 ofb->ops->disable(ofb); 749 ofb->ops->disable(ofb);
@@ -760,7 +760,7 @@ static int overlayfb_release(struct fb_info *info, int user)
760static int overlayfb_check_var(struct fb_var_screeninfo *var, 760static int overlayfb_check_var(struct fb_var_screeninfo *var,
761 struct fb_info *info) 761 struct fb_info *info)
762{ 762{
763 struct pxafb_layer *ofb = (struct pxafb_layer *)info; 763 struct pxafb_layer *ofb = container_of(info, struct pxafb_layer, fb);
764 struct fb_var_screeninfo *base_var = &ofb->fbi->fb.var; 764 struct fb_var_screeninfo *base_var = &ofb->fbi->fb.var;
765 int xpos, ypos, pfor, bpp; 765 int xpos, ypos, pfor, bpp;
766 766
@@ -836,7 +836,7 @@ static int overlayfb_check_video_memory(struct pxafb_layer *ofb)
836 836
837static int overlayfb_set_par(struct fb_info *info) 837static int overlayfb_set_par(struct fb_info *info)
838{ 838{
839 struct pxafb_layer *ofb = (struct pxafb_layer *)info; 839 struct pxafb_layer *ofb = container_of(info, struct pxafb_layer, fb);
840 struct fb_var_screeninfo *var = &info->var; 840 struct fb_var_screeninfo *var = &info->var;
841 int xpos, ypos, pfor, bpp, ret; 841 int xpos, ypos, pfor, bpp, ret;
842 842
diff --git a/drivers/video/fbdev/riva/riva_hw.c b/drivers/video/fbdev/riva/riva_hw.c
index 78fdbf5178d7..8bdf37f3013b 100644
--- a/drivers/video/fbdev/riva/riva_hw.c
+++ b/drivers/video/fbdev/riva/riva_hw.c
@@ -430,7 +430,6 @@ static char nv3_arb(nv3_fifo_info * res_info, nv3_sim_state * state, nv3_arb_in
430 int mmisses, gmisses, vmisses, eburst_size, mburst_size; 430 int mmisses, gmisses, vmisses, eburst_size, mburst_size;
431 int refresh_cycle; 431 int refresh_cycle;
432 432
433 refresh_cycle = 0;
434 refresh_cycle = 2*(state->mclk_khz/state->pclk_khz) + 5; 433 refresh_cycle = 2*(state->mclk_khz/state->pclk_khz) + 5;
435 mmisses = 2; 434 mmisses = 2;
436 if (state->mem_aligned) gmisses = 2; 435 if (state->mem_aligned) gmisses = 2;
diff --git a/drivers/video/fbdev/sa1100fb.c b/drivers/video/fbdev/sa1100fb.c
index 580c444ec301..9690216d38ff 100644
--- a/drivers/video/fbdev/sa1100fb.c
+++ b/drivers/video/fbdev/sa1100fb.c
@@ -268,7 +268,8 @@ static int
268sa1100fb_setpalettereg(u_int regno, u_int red, u_int green, u_int blue, 268sa1100fb_setpalettereg(u_int regno, u_int red, u_int green, u_int blue,
269 u_int trans, struct fb_info *info) 269 u_int trans, struct fb_info *info)
270{ 270{
271 struct sa1100fb_info *fbi = (struct sa1100fb_info *)info; 271 struct sa1100fb_info *fbi =
272 container_of(info, struct sa1100fb_info, fb);
272 u_int val, ret = 1; 273 u_int val, ret = 1;
273 274
274 if (regno < fbi->palette_size) { 275 if (regno < fbi->palette_size) {
@@ -289,7 +290,8 @@ static int
289sa1100fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, 290sa1100fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
290 u_int trans, struct fb_info *info) 291 u_int trans, struct fb_info *info)
291{ 292{
292 struct sa1100fb_info *fbi = (struct sa1100fb_info *)info; 293 struct sa1100fb_info *fbi =
294 container_of(info, struct sa1100fb_info, fb);
293 unsigned int val; 295 unsigned int val;
294 int ret = 1; 296 int ret = 1;
295 297
@@ -366,7 +368,8 @@ static inline unsigned int sa1100fb_display_dma_period(struct fb_var_screeninfo
366static int 368static int
367sa1100fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) 369sa1100fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
368{ 370{
369 struct sa1100fb_info *fbi = (struct sa1100fb_info *)info; 371 struct sa1100fb_info *fbi =
372 container_of(info, struct sa1100fb_info, fb);
370 int rgbidx; 373 int rgbidx;
371 374
372 if (var->xres < MIN_XRES) 375 if (var->xres < MIN_XRES)
@@ -433,7 +436,8 @@ static void sa1100fb_set_visual(struct sa1100fb_info *fbi, u32 visual)
433 */ 436 */
434static int sa1100fb_set_par(struct fb_info *info) 437static int sa1100fb_set_par(struct fb_info *info)
435{ 438{
436 struct sa1100fb_info *fbi = (struct sa1100fb_info *)info; 439 struct sa1100fb_info *fbi =
440 container_of(info, struct sa1100fb_info, fb);
437 struct fb_var_screeninfo *var = &info->var; 441 struct fb_var_screeninfo *var = &info->var;
438 unsigned long palette_mem_size; 442 unsigned long palette_mem_size;
439 443
@@ -526,7 +530,8 @@ sa1100fb_set_cmap(struct fb_cmap *cmap, int kspc, int con,
526 */ 530 */
527static int sa1100fb_blank(int blank, struct fb_info *info) 531static int sa1100fb_blank(int blank, struct fb_info *info)
528{ 532{
529 struct sa1100fb_info *fbi = (struct sa1100fb_info *)info; 533 struct sa1100fb_info *fbi =
534 container_of(info, struct sa1100fb_info, fb);
530 int i; 535 int i;
531 536
532 dev_dbg(fbi->dev, "sa1100fb_blank: blank=%d\n", blank); 537 dev_dbg(fbi->dev, "sa1100fb_blank: blank=%d\n", blank);
@@ -555,7 +560,8 @@ static int sa1100fb_blank(int blank, struct fb_info *info)
555static int sa1100fb_mmap(struct fb_info *info, 560static int sa1100fb_mmap(struct fb_info *info,
556 struct vm_area_struct *vma) 561 struct vm_area_struct *vma)
557{ 562{
558 struct sa1100fb_info *fbi = (struct sa1100fb_info *)info; 563 struct sa1100fb_info *fbi =
564 container_of(info, struct sa1100fb_info, fb);
559 unsigned long off = vma->vm_pgoff << PAGE_SHIFT; 565 unsigned long off = vma->vm_pgoff << PAGE_SHIFT;
560 566
561 if (off < info->fix.smem_len) { 567 if (off < info->fix.smem_len) {
diff --git a/drivers/video/fbdev/sh_mobile_hdmi.c b/drivers/video/fbdev/sh_mobile_hdmi.c
index 9a33ee0413fb..7c72a3f02056 100644
--- a/drivers/video/fbdev/sh_mobile_hdmi.c
+++ b/drivers/video/fbdev/sh_mobile_hdmi.c
@@ -281,6 +281,7 @@ struct sh_hdmi {
281 u8 edid_block_addr; 281 u8 edid_block_addr;
282 u8 edid_segment_nr; 282 u8 edid_segment_nr;
283 u8 edid_blocks; 283 u8 edid_blocks;
284 int irq;
284 struct clk *hdmi_clk; 285 struct clk *hdmi_clk;
285 struct device *dev; 286 struct device *dev;
286 struct delayed_work edid_work; 287 struct delayed_work edid_work;
@@ -1299,6 +1300,7 @@ static int __init sh_hdmi_probe(struct platform_device *pdev)
1299 hdmi->dev = &pdev->dev; 1300 hdmi->dev = &pdev->dev;
1300 hdmi->entity.owner = THIS_MODULE; 1301 hdmi->entity.owner = THIS_MODULE;
1301 hdmi->entity.ops = &sh_hdmi_ops; 1302 hdmi->entity.ops = &sh_hdmi_ops;
1303 hdmi->irq = irq;
1302 1304
1303 hdmi->hdmi_clk = clk_get(&pdev->dev, "ick"); 1305 hdmi->hdmi_clk = clk_get(&pdev->dev, "ick");
1304 if (IS_ERR(hdmi->hdmi_clk)) { 1306 if (IS_ERR(hdmi->hdmi_clk)) {
@@ -1415,12 +1417,11 @@ static int __exit sh_hdmi_remove(struct platform_device *pdev)
1415{ 1417{
1416 struct sh_hdmi *hdmi = entity_to_sh_hdmi(platform_get_drvdata(pdev)); 1418 struct sh_hdmi *hdmi = entity_to_sh_hdmi(platform_get_drvdata(pdev));
1417 struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1419 struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
1418 int irq = platform_get_irq(pdev, 0);
1419 1420
1420 snd_soc_unregister_codec(&pdev->dev); 1421 snd_soc_unregister_codec(&pdev->dev);
1421 1422
1422 /* No new work will be scheduled, wait for running ISR */ 1423 /* No new work will be scheduled, wait for running ISR */
1423 free_irq(irq, hdmi); 1424 free_irq(hdmi->irq, hdmi);
1424 /* Wait for already scheduled work */ 1425 /* Wait for already scheduled work */
1425 cancel_delayed_work_sync(&hdmi->edid_work); 1426 cancel_delayed_work_sync(&hdmi->edid_work);
1426 pm_runtime_put(&pdev->dev); 1427 pm_runtime_put(&pdev->dev);
@@ -1435,10 +1436,49 @@ static int __exit sh_hdmi_remove(struct platform_device *pdev)
1435 return 0; 1436 return 0;
1436} 1437}
1437 1438
1439static int sh_hdmi_suspend(struct device *dev)
1440{
1441 struct platform_device *pdev = to_platform_device(dev);
1442 struct sh_hdmi *hdmi = entity_to_sh_hdmi(platform_get_drvdata(pdev));
1443
1444 disable_irq(hdmi->irq);
1445 /* Wait for already scheduled work */
1446 cancel_delayed_work_sync(&hdmi->edid_work);
1447 return 0;
1448}
1449
1450static int sh_hdmi_resume(struct device *dev)
1451{
1452 struct platform_device *pdev = to_platform_device(dev);
1453 struct sh_mobile_hdmi_info *pdata = dev_get_platdata(dev);
1454 struct sh_hdmi *hdmi = entity_to_sh_hdmi(platform_get_drvdata(pdev));
1455
1456 /* Re-init interrupt polarity */
1457 if (pdata->flags & HDMI_OUTPUT_PUSH_PULL)
1458 hdmi_bit_set(hdmi, 0x02, 0x02, HDMI_SYSTEM_CTRL);
1459
1460 if (pdata->flags & HDMI_OUTPUT_POLARITY_HI)
1461 hdmi_bit_set(hdmi, 0x01, 0x01, HDMI_SYSTEM_CTRL);
1462
1463 /* Re-init htop1 */
1464 if (hdmi->htop1)
1465 sh_hdmi_htop1_init(hdmi);
1466
1467 /* Now it's safe to enable interrupts again */
1468 enable_irq(hdmi->irq);
1469 return 0;
1470}
1471
1472static const struct dev_pm_ops sh_hdmi_pm_ops = {
1473 .suspend = sh_hdmi_suspend,
1474 .resume = sh_hdmi_resume,
1475};
1476
1438static struct platform_driver sh_hdmi_driver = { 1477static struct platform_driver sh_hdmi_driver = {
1439 .remove = __exit_p(sh_hdmi_remove), 1478 .remove = __exit_p(sh_hdmi_remove),
1440 .driver = { 1479 .driver = {
1441 .name = "sh-mobile-hdmi", 1480 .name = "sh-mobile-hdmi",
1481 .pm = &sh_hdmi_pm_ops,
1442 }, 1482 },
1443}; 1483};
1444 1484
diff --git a/drivers/video/fbdev/sis/init301.c b/drivers/video/fbdev/sis/init301.c
index a89e3cafd5ad..295e0dedaf1f 100644
--- a/drivers/video/fbdev/sis/init301.c
+++ b/drivers/video/fbdev/sis/init301.c
@@ -1714,7 +1714,7 @@ SiS_GetLCDResInfo(struct SiS_Private *SiS_Pr, unsigned short ModeNo, unsigned sh
1714 SiS_Pr->PanelVCLKIdx315 = VCLK81_315; /* ? */ 1714 SiS_Pr->PanelVCLKIdx315 = VCLK81_315; /* ? */
1715 } else { 1715 } else {
1716 SiS_Pr->PanelHT = 1688; SiS_Pr->PanelVT = 802; 1716 SiS_Pr->PanelHT = 1688; SiS_Pr->PanelVT = 802;
1717 SiS_Pr->PanelHRS = 48; SiS_Pr->PanelHRS = 112; 1717 SiS_Pr->PanelHRS = 48; SiS_Pr->PanelHRE = 112;
1718 SiS_Pr->PanelVRS = 3; SiS_Pr->PanelVRE = 6; 1718 SiS_Pr->PanelVRS = 3; SiS_Pr->PanelVRE = 6;
1719 SiS_Pr->PanelVCLKIdx300 = VCLK81_300; 1719 SiS_Pr->PanelVCLKIdx300 = VCLK81_300;
1720 SiS_Pr->PanelVCLKIdx315 = VCLK81_315; 1720 SiS_Pr->PanelVCLKIdx315 = VCLK81_315;
diff --git a/drivers/video/fbdev/sis/sis_main.c b/drivers/video/fbdev/sis/sis_main.c
index 4f5cf035ac3c..e5d11b1892e8 100644
--- a/drivers/video/fbdev/sis/sis_main.c
+++ b/drivers/video/fbdev/sis/sis_main.c
@@ -5830,7 +5830,7 @@ static int sisfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
5830 ivideo->cardnumber++; 5830 ivideo->cardnumber++;
5831 } 5831 }
5832 5832
5833 strncpy(ivideo->myid, chipinfo->chip_name, 30); 5833 strlcpy(ivideo->myid, chipinfo->chip_name, sizeof(ivideo->myid));
5834 5834
5835 ivideo->warncount = 0; 5835 ivideo->warncount = 0;
5836 ivideo->chip_id = pdev->device; 5836 ivideo->chip_id = pdev->device;
diff --git a/drivers/video/fbdev/stifb.c b/drivers/video/fbdev/stifb.c
index cfe8a2f905c5..86621fabbb8b 100644
--- a/drivers/video/fbdev/stifb.c
+++ b/drivers/video/fbdev/stifb.c
@@ -918,7 +918,7 @@ static int
918stifb_setcolreg(u_int regno, u_int red, u_int green, 918stifb_setcolreg(u_int regno, u_int red, u_int green,
919 u_int blue, u_int transp, struct fb_info *info) 919 u_int blue, u_int transp, struct fb_info *info)
920{ 920{
921 struct stifb_info *fb = (struct stifb_info *) info; 921 struct stifb_info *fb = container_of(info, struct stifb_info, info);
922 u32 color; 922 u32 color;
923 923
924 if (regno >= NR_PALETTE) 924 if (regno >= NR_PALETTE)
@@ -978,7 +978,7 @@ stifb_setcolreg(u_int regno, u_int red, u_int green,
978static int 978static int
979stifb_blank(int blank_mode, struct fb_info *info) 979stifb_blank(int blank_mode, struct fb_info *info)
980{ 980{
981 struct stifb_info *fb = (struct stifb_info *) info; 981 struct stifb_info *fb = container_of(info, struct stifb_info, info);
982 int enable = (blank_mode == 0) ? ENABLE : DISABLE; 982 int enable = (blank_mode == 0) ? ENABLE : DISABLE;
983 983
984 switch (fb->id) { 984 switch (fb->id) {
diff --git a/drivers/video/fbdev/udlfb.c b/drivers/video/fbdev/udlfb.c
index 77b890e4d296..046d51d83d74 100644
--- a/drivers/video/fbdev/udlfb.c
+++ b/drivers/video/fbdev/udlfb.c
@@ -1528,11 +1528,8 @@ static int dlfb_parse_vendor_descriptor(struct dlfb_data *dev,
1528 } 1528 }
1529 1529
1530 if (total_len > 5) { 1530 if (total_len > 5) {
1531 pr_info("vendor descriptor length:%x data:%02x %02x %02x %02x" \ 1531 pr_info("vendor descriptor length:%x data:%11ph\n", total_len,
1532 "%02x %02x %02x %02x %02x %02x %02x\n", 1532 desc);
1533 total_len, desc[0],
1534 desc[1], desc[2], desc[3], desc[4], desc[5], desc[6],
1535 desc[7], desc[8], desc[9], desc[10]);
1536 1533
1537 if ((desc[0] != total_len) || /* descriptor length */ 1534 if ((desc[0] != total_len) || /* descriptor length */
1538 (desc[1] != 0x5f) || /* vendor descriptor type */ 1535 (desc[1] != 0x5f) || /* vendor descriptor type */
diff --git a/drivers/video/fbdev/valkyriefb.c b/drivers/video/fbdev/valkyriefb.c
index 97cb9bd1d1dd..275fb98236d3 100644
--- a/drivers/video/fbdev/valkyriefb.c
+++ b/drivers/video/fbdev/valkyriefb.c
@@ -136,7 +136,8 @@ static struct fb_ops valkyriefb_ops = {
136/* Sets the video mode according to info->var */ 136/* Sets the video mode according to info->var */
137static int valkyriefb_set_par(struct fb_info *info) 137static int valkyriefb_set_par(struct fb_info *info)
138{ 138{
139 struct fb_info_valkyrie *p = (struct fb_info_valkyrie *) info; 139 struct fb_info_valkyrie *p =
140 container_of(info, struct fb_info_valkyrie, info);
140 volatile struct valkyrie_regs __iomem *valkyrie_regs = p->valkyrie_regs; 141 volatile struct valkyrie_regs __iomem *valkyrie_regs = p->valkyrie_regs;
141 struct fb_par_valkyrie *par = info->par; 142 struct fb_par_valkyrie *par = info->par;
142 struct valkyrie_regvals *init; 143 struct valkyrie_regvals *init;
@@ -194,7 +195,8 @@ valkyriefb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
194 */ 195 */
195static int valkyriefb_blank(int blank_mode, struct fb_info *info) 196static int valkyriefb_blank(int blank_mode, struct fb_info *info)
196{ 197{
197 struct fb_info_valkyrie *p = (struct fb_info_valkyrie *) info; 198 struct fb_info_valkyrie *p =
199 container_of(info, struct fb_info_valkyrie, info);
198 struct fb_par_valkyrie *par = info->par; 200 struct fb_par_valkyrie *par = info->par;
199 struct valkyrie_regvals *init = par->init; 201 struct valkyrie_regvals *init = par->init;
200 202
@@ -226,7 +228,8 @@ static int valkyriefb_blank(int blank_mode, struct fb_info *info)
226static int valkyriefb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, 228static int valkyriefb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
227 u_int transp, struct fb_info *info) 229 u_int transp, struct fb_info *info)
228{ 230{
229 struct fb_info_valkyrie *p = (struct fb_info_valkyrie *) info; 231 struct fb_info_valkyrie *p =
232 container_of(info, struct fb_info_valkyrie, info);
230 volatile struct cmap_regs __iomem *cmap_regs = p->cmap_regs; 233 volatile struct cmap_regs __iomem *cmap_regs = p->cmap_regs;
231 struct fb_par_valkyrie *par = info->par; 234 struct fb_par_valkyrie *par = info->par;
232 235
@@ -263,10 +266,10 @@ static inline int valkyrie_vram_reqd(int video_mode, int color_mode)
263 266
264static void set_valkyrie_clock(unsigned char *params) 267static void set_valkyrie_clock(unsigned char *params)
265{ 268{
269#ifdef CONFIG_ADB_CUDA
266 struct adb_request req; 270 struct adb_request req;
267 int i; 271 int i;
268 272
269#ifdef CONFIG_ADB_CUDA
270 for (i = 0; i < 3; ++i) { 273 for (i = 0; i < 3; ++i) {
271 cuda_request(&req, NULL, 5, CUDA_PACKET, CUDA_GET_SET_IIC, 274 cuda_request(&req, NULL, 5, CUDA_PACKET, CUDA_GET_SET_IIC,
272 0x50, i + 1, params[i]); 275 0x50, i + 1, params[i]);
@@ -465,7 +468,8 @@ static int valkyrie_var_to_par(struct fb_var_screeninfo *var,
465{ 468{
466 int vmode, cmode; 469 int vmode, cmode;
467 struct valkyrie_regvals *init; 470 struct valkyrie_regvals *init;
468 struct fb_info_valkyrie *p = (struct fb_info_valkyrie *) fb_info; 471 struct fb_info_valkyrie *p =
472 container_of(fb_info, struct fb_info_valkyrie, info);
469 473
470 if (mac_var_to_vmode(var, &vmode, &cmode) != 0) { 474 if (mac_var_to_vmode(var, &vmode, &cmode) != 0) {
471 printk(KERN_ERR "valkyriefb: can't do %dx%dx%d.\n", 475 printk(KERN_ERR "valkyriefb: can't do %dx%dx%d.\n",
diff --git a/drivers/video/fbdev/vermilion/vermilion.c b/drivers/video/fbdev/vermilion/vermilion.c
index 048a66640b03..5f930aeccf1f 100644
--- a/drivers/video/fbdev/vermilion/vermilion.c
+++ b/drivers/video/fbdev/vermilion/vermilion.c
@@ -481,7 +481,6 @@ static int vml_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
481 default: 481 default:
482 err = -ENODEV; 482 err = -ENODEV;
483 goto out_err_1; 483 goto out_err_1;
484 break;
485 } 484 }
486 485
487 info = &vinfo->info; 486 info = &vinfo->info;
diff --git a/drivers/video/of_display_timing.c b/drivers/video/of_display_timing.c
index 5c098d5b4043..32d8275e4c88 100644
--- a/drivers/video/of_display_timing.c
+++ b/drivers/video/of_display_timing.c
@@ -233,8 +233,7 @@ struct display_timings *of_get_display_timings(struct device_node *np)
233 return disp; 233 return disp;
234 234
235timingfail: 235timingfail:
236 if (native_mode) 236 of_node_put(native_mode);
237 of_node_put(native_mode);
238 display_timings_release(disp); 237 display_timings_release(disp);
239 disp = NULL; 238 disp = NULL;
240entryfail: 239entryfail:
diff --git a/include/linux/font.h b/include/linux/font.h
index 40a24ab41b36..d6821769dd1e 100644
--- a/include/linux/font.h
+++ b/include/linux/font.h
@@ -31,6 +31,7 @@ struct font_desc {
31#define SUN12x22_IDX 7 31#define SUN12x22_IDX 7
32#define ACORN8x8_IDX 8 32#define ACORN8x8_IDX 8
33#define MINI4x6_IDX 9 33#define MINI4x6_IDX 9
34#define FONT6x10_IDX 10
34 35
35extern const struct font_desc font_vga_8x8, 36extern const struct font_desc font_vga_8x8,
36 font_vga_8x16, 37 font_vga_8x16,
@@ -41,7 +42,8 @@ extern const struct font_desc font_vga_8x8,
41 font_sun_8x16, 42 font_sun_8x16,
42 font_sun_12x22, 43 font_sun_12x22,
43 font_acorn_8x8, 44 font_acorn_8x8,
44 font_mini_4x6; 45 font_mini_4x6,
46 font_6x10;
45 47
46/* Find a font with a specific name */ 48/* Find a font with a specific name */
47 49
diff --git a/include/video/of_display_timing.h b/include/video/of_display_timing.h
index 79e6697af6cf..ea755b5616d8 100644
--- a/include/video/of_display_timing.h
+++ b/include/video/of_display_timing.h
@@ -15,9 +15,25 @@ struct display_timings;
15 15
16#define OF_USE_NATIVE_MODE -1 16#define OF_USE_NATIVE_MODE -1
17 17
18#ifdef CONFIG_OF
18int of_get_display_timing(struct device_node *np, const char *name, 19int of_get_display_timing(struct device_node *np, const char *name,
19 struct display_timing *dt); 20 struct display_timing *dt);
20struct display_timings *of_get_display_timings(struct device_node *np); 21struct display_timings *of_get_display_timings(struct device_node *np);
21int of_display_timings_exist(struct device_node *np); 22int of_display_timings_exist(struct device_node *np);
23#else
24static inline int of_get_display_timing(struct device_node *np, const char *name,
25 struct display_timing *dt)
26{
27 return -ENOSYS;
28}
29static inline struct display_timings *of_get_display_timings(struct device_node *np)
30{
31 return NULL;
32}
33static inline int of_display_timings_exist(struct device_node *np)
34{
35 return -ENOSYS;
36}
37#endif
22 38
23#endif 39#endif
diff --git a/lib/fonts/Kconfig b/lib/fonts/Kconfig
index 34fd931b54b5..e77dfe00de36 100644
--- a/lib/fonts/Kconfig
+++ b/lib/fonts/Kconfig
@@ -79,6 +79,14 @@ config FONT_MINI_4x6
79 bool "Mini 4x6 font" 79 bool "Mini 4x6 font"
80 depends on !SPARC && FONTS 80 depends on !SPARC && FONTS
81 81
82config FONT_6x10
83 bool "Medium-size 6x10 font"
84 depends on !SPARC && FONTS
85 help
86 Medium-size console font. Suitable for framebuffer consoles on
87 embedded devices with a 320x240 screen, to get a reasonable number
88 of characters (53x24) that are still at a readable size.
89
82config FONT_SUN8x16 90config FONT_SUN8x16
83 bool "Sparc console 8x16 font" 91 bool "Sparc console 8x16 font"
84 depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC) 92 depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC)
@@ -109,6 +117,7 @@ config FONT_AUTOSELECT
109 depends on !FONT_PEARL_8x8 117 depends on !FONT_PEARL_8x8
110 depends on !FONT_ACORN_8x8 118 depends on !FONT_ACORN_8x8
111 depends on !FONT_MINI_4x6 119 depends on !FONT_MINI_4x6
120 depends on !FONT_6x10
112 depends on !FONT_SUN8x16 121 depends on !FONT_SUN8x16
113 depends on !FONT_SUN12x22 122 depends on !FONT_SUN12x22
114 depends on !FONT_10x18 123 depends on !FONT_10x18
diff --git a/lib/fonts/Makefile b/lib/fonts/Makefile
index 2761560f3f15..e04d010cfbf5 100644
--- a/lib/fonts/Makefile
+++ b/lib/fonts/Makefile
@@ -12,6 +12,7 @@ font-objs-$(CONFIG_FONT_10x18) += font_10x18.o
12font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o 12font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
13font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o 13font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
14font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o 14font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
15font-objs-$(CONFIG_FONT_6x10) += font_6x10.o
15 16
16font-objs += $(font-objs-y) 17font-objs += $(font-objs-y)
17 18
diff --git a/lib/fonts/font_6x10.c b/lib/fonts/font_6x10.c
new file mode 100644
index 000000000000..b20620904d31
--- /dev/null
+++ b/lib/fonts/font_6x10.c
@@ -0,0 +1,3086 @@
1#include <linux/font.h>
2
3static const unsigned char fontdata_6x10[] = {
4
5 /* 0 0x00 '^@' */
6 0x00, /* 00000000 */
7 0x00, /* 00000000 */
8 0x00, /* 00000000 */
9 0x00, /* 00000000 */
10 0x00, /* 00000000 */
11 0x00, /* 00000000 */
12 0x00, /* 00000000 */
13 0x00, /* 00000000 */
14 0x00, /* 00000000 */
15 0x00, /* 00000000 */
16
17 /* 1 0x01 '^A' */
18 0x00, /* 00000000 */
19 0x78, /* 01111000 */
20 0x84, /* 10000100 */
21 0xCC, /* 11001100 */
22 0x84, /* 10000100 */
23 0xCC, /* 11001100 */
24 0xB4, /* 10110100 */
25 0x78, /* 01111000 */
26 0x00, /* 00000000 */
27 0x00, /* 00000000 */
28
29 /* 2 0x02 '^B' */
30 0x00, /* 00000000 */
31 0x78, /* 01111000 */
32 0xFC, /* 11111100 */
33 0xB4, /* 10110100 */
34 0xFC, /* 11111100 */
35 0xB4, /* 10110100 */
36 0xCC, /* 11001100 */
37 0x78, /* 01111000 */
38 0x00, /* 00000000 */
39 0x00, /* 00000000 */
40
41 /* 3 0x03 '^C' */
42 0x00, /* 00000000 */
43 0x00, /* 00000000 */
44 0x28, /* 00101000 */
45 0x7C, /* 01111100 */
46 0x7C, /* 01111100 */
47 0x38, /* 00111000 */
48 0x10, /* 00010000 */
49 0x00, /* 00000000 */
50 0x00, /* 00000000 */
51 0x00, /* 00000000 */
52
53 /* 4 0x04 '^D' */
54 0x00, /* 00000000 */
55 0x00, /* 00000000 */
56 0x10, /* 00010000 */
57 0x38, /* 00111000 */
58 0x7C, /* 01111100 */
59 0x38, /* 00111000 */
60 0x10, /* 00010000 */
61 0x00, /* 00000000 */
62 0x00, /* 00000000 */
63 0x00, /* 00000000 */
64
65 /* 5 0x05 '^E' */
66 0x00, /* 00000000 */
67 0x00, /* 00000000 */
68 0x38, /* 00111000 */
69 0x38, /* 00111000 */
70 0x6C, /* 01101100 */
71 0x6C, /* 01101100 */
72 0x10, /* 00010000 */
73 0x38, /* 00111000 */
74 0x00, /* 00000000 */
75 0x00, /* 00000000 */
76
77 /* 6 0x06 '^F' */
78 0x00, /* 00000000 */
79 0x00, /* 00000000 */
80 0x10, /* 00010000 */
81 0x38, /* 00111000 */
82 0x7C, /* 01111100 */
83 0x7C, /* 01111100 */
84 0x10, /* 00010000 */
85 0x38, /* 00111000 */
86 0x00, /* 00000000 */
87 0x00, /* 00000000 */
88
89 /* 7 0x07 '^G' */
90 0x00, /* 00000000 */
91 0x00, /* 00000000 */
92 0x00, /* 00000000 */
93 0x30, /* 00110000 */
94 0x78, /* 01111000 */
95 0x30, /* 00110000 */
96 0x00, /* 00000000 */
97 0x00, /* 00000000 */
98 0x00, /* 00000000 */
99 0x00, /* 00000000 */
100
101 /* 8 0x08 '^H' */
102 0xFC, /* 11111100 */
103 0xFC, /* 11111100 */
104 0xFC, /* 11111100 */
105 0xCC, /* 11001100 */
106 0x84, /* 10000100 */
107 0xCC, /* 11001100 */
108 0xFC, /* 11111100 */
109 0xFC, /* 11111100 */
110 0xFC, /* 11111100 */
111 0xFC, /* 11111100 */
112
113 /* 9 0x09 '^I' */
114 0x00, /* 00000000 */
115 0x00, /* 00000000 */
116 0x30, /* 00110000 */
117 0x48, /* 01001000 */
118 0x84, /* 10000100 */
119 0x48, /* 01001000 */
120 0x30, /* 00110000 */
121 0x00, /* 00000000 */
122 0x00, /* 00000000 */
123 0x00, /* 00000000 */
124
125 /* 10 0x0A '^J' */
126 0xFC, /* 11111100 */
127 0xFC, /* 11111100 */
128 0xCC, /* 11001100 */
129 0xB4, /* 10110100 */
130 0x78, /* 01111000 */
131 0xB4, /* 10110100 */
132 0xCC, /* 11001100 */
133 0xFC, /* 11111100 */
134 0xFC, /* 11111100 */
135 0xFC, /* 11111100 */
136
137 /* 11 0x0B '^K' */
138 0x00, /* 00000000 */
139 0x3C, /* 00111100 */
140 0x14, /* 00010100 */
141 0x20, /* 00100000 */
142 0x78, /* 01111000 */
143 0x44, /* 01000100 */
144 0x44, /* 01000100 */
145 0x38, /* 00111000 */
146 0x00, /* 00000000 */
147 0x00, /* 00000000 */
148
149 /* 12 0x0C '^L' */
150 0x00, /* 00000000 */
151 0x38, /* 00111000 */
152 0x44, /* 01000100 */
153 0x44, /* 01000100 */
154 0x38, /* 00111000 */
155 0x10, /* 00010000 */
156 0x38, /* 00111000 */
157 0x10, /* 00010000 */
158 0x00, /* 00000000 */
159 0x00, /* 00000000 */
160
161 /* 13 0x0D '^M' */
162 0x00, /* 00000000 */
163 0x18, /* 00011000 */
164 0x14, /* 00010100 */
165 0x14, /* 00010100 */
166 0x10, /* 00010000 */
167 0x10, /* 00010000 */
168 0x70, /* 01110000 */
169 0x60, /* 01100000 */
170 0x00, /* 00000000 */
171 0x00, /* 00000000 */
172
173 /* 14 0x0E '^N' */
174 0x00, /* 00000000 */
175 0x3C, /* 00111100 */
176 0x24, /* 00100100 */
177 0x3C, /* 00111100 */
178 0x24, /* 00100100 */
179 0x24, /* 00100100 */
180 0x6C, /* 01101100 */
181 0x6C, /* 01101100 */
182 0x00, /* 00000000 */
183 0x00, /* 00000000 */
184
185 /* 15 0x0F '^O' */
186 0x00, /* 00000000 */
187 0x10, /* 00010000 */
188 0x54, /* 01010100 */
189 0x38, /* 00111000 */
190 0x6C, /* 01101100 */
191 0x38, /* 00111000 */
192 0x54, /* 01010100 */
193 0x10, /* 00010000 */
194 0x00, /* 00000000 */
195 0x00, /* 00000000 */
196
197 /* 16 0x10 '^P' */
198 0x00, /* 00000000 */
199 0x40, /* 01000000 */
200 0x60, /* 01100000 */
201 0x70, /* 01110000 */
202 0x78, /* 01111000 */
203 0x70, /* 01110000 */
204 0x60, /* 01100000 */
205 0x40, /* 01000000 */
206 0x00, /* 00000000 */
207 0x00, /* 00000000 */
208
209 /* 17 0x11 '^Q' */
210 0x00, /* 00000000 */
211 0x04, /* 00000100 */
212 0x0C, /* 00001100 */
213 0x1C, /* 00011100 */
214 0x3C, /* 00111100 */
215 0x1C, /* 00011100 */
216 0x0C, /* 00001100 */
217 0x04, /* 00000100 */
218 0x00, /* 00000000 */
219 0x00, /* 00000000 */
220
221 /* 18 0x12 '^R' */
222 0x00, /* 00000000 */
223 0x10, /* 00010000 */
224 0x38, /* 00111000 */
225 0x54, /* 01010100 */
226 0x10, /* 00010000 */
227 0x54, /* 01010100 */
228 0x38, /* 00111000 */
229 0x10, /* 00010000 */
230 0x00, /* 00000000 */
231 0x00, /* 00000000 */
232
233 /* 19 0x13 '^S' */
234 0x00, /* 00000000 */
235 0x48, /* 01001000 */
236 0x48, /* 01001000 */
237 0x48, /* 01001000 */
238 0x48, /* 01001000 */
239 0x48, /* 01001000 */
240 0x00, /* 00000000 */
241 0x48, /* 01001000 */
242 0x00, /* 00000000 */
243 0x00, /* 00000000 */
244
245 /* 20 0x14 '^T' */
246 0x3C, /* 00111100 */
247 0x54, /* 01010100 */
248 0x54, /* 01010100 */
249 0x54, /* 01010100 */
250 0x3C, /* 00111100 */
251 0x14, /* 00010100 */
252 0x14, /* 00010100 */
253 0x14, /* 00010100 */
254 0x00, /* 00000000 */
255 0x00, /* 00000000 */
256
257 /* 21 0x15 '^U' */
258 0x38, /* 00111000 */
259 0x44, /* 01000100 */
260 0x20, /* 00100000 */
261 0x50, /* 01010000 */
262 0x48, /* 01001000 */
263 0x24, /* 00100100 */
264 0x14, /* 00010100 */
265 0x08, /* 00001000 */
266 0x44, /* 01000100 */
267 0x38, /* 00111000 */
268
269 /* 22 0x16 '^V' */
270 0x00, /* 00000000 */
271 0x00, /* 00000000 */
272 0x00, /* 00000000 */
273 0x00, /* 00000000 */
274 0x00, /* 00000000 */
275 0xF8, /* 11111000 */
276 0xF8, /* 11111000 */
277 0xF8, /* 11111000 */
278 0x00, /* 00000000 */
279 0x00, /* 00000000 */
280
281 /* 23 0x17 '^W' */
282 0x00, /* 00000000 */
283 0x10, /* 00010000 */
284 0x38, /* 00111000 */
285 0x54, /* 01010100 */
286 0x10, /* 00010000 */
287 0x54, /* 01010100 */
288 0x38, /* 00111000 */
289 0x10, /* 00010000 */
290 0x7C, /* 01111100 */
291 0x00, /* 00000000 */
292
293 /* 24 0x18 '^X' */
294 0x00, /* 00000000 */
295 0x10, /* 00010000 */
296 0x38, /* 00111000 */
297 0x54, /* 01010100 */
298 0x10, /* 00010000 */
299 0x10, /* 00010000 */
300 0x10, /* 00010000 */
301 0x10, /* 00010000 */
302 0x00, /* 00000000 */
303 0x00, /* 00000000 */
304
305 /* 25 0x19 '^Y' */
306 0x00, /* 00000000 */
307 0x10, /* 00010000 */
308 0x10, /* 00010000 */
309 0x10, /* 00010000 */
310 0x10, /* 00010000 */
311 0x54, /* 01010100 */
312 0x38, /* 00111000 */
313 0x10, /* 00010000 */
314 0x00, /* 00000000 */
315 0x00, /* 00000000 */
316
317 /* 26 0x1A '^Z' */
318 0x00, /* 00000000 */
319 0x00, /* 00000000 */
320 0x10, /* 00010000 */
321 0x08, /* 00001000 */
322 0x7C, /* 01111100 */
323 0x08, /* 00001000 */
324 0x10, /* 00010000 */
325 0x00, /* 00000000 */
326 0x00, /* 00000000 */
327 0x00, /* 00000000 */
328
329 /* 27 0x1B '^[' */
330 0x00, /* 00000000 */
331 0x00, /* 00000000 */
332 0x10, /* 00010000 */
333 0x20, /* 00100000 */
334 0x7C, /* 01111100 */
335 0x20, /* 00100000 */
336 0x10, /* 00010000 */
337 0x00, /* 00000000 */
338 0x00, /* 00000000 */
339 0x00, /* 00000000 */
340
341 /* 28 0x1C '^\' */
342 0x00, /* 00000000 */
343 0x00, /* 00000000 */
344 0x00, /* 00000000 */
345 0x00, /* 00000000 */
346 0x40, /* 01000000 */
347 0x40, /* 01000000 */
348 0x40, /* 01000000 */
349 0x78, /* 01111000 */
350 0x00, /* 00000000 */
351 0x00, /* 00000000 */
352
353 /* 29 0x1D '^]' */
354 0x00, /* 00000000 */
355 0x00, /* 00000000 */
356 0x48, /* 01001000 */
357 0x84, /* 10000100 */
358 0xFC, /* 11111100 */
359 0x84, /* 10000100 */
360 0x48, /* 01001000 */
361 0x00, /* 00000000 */
362 0x00, /* 00000000 */
363 0x00, /* 00000000 */
364
365 /* 30 0x1E '^^' */
366 0x00, /* 00000000 */
367 0x00, /* 00000000 */
368 0x10, /* 00010000 */
369 0x10, /* 00010000 */
370 0x38, /* 00111000 */
371 0x38, /* 00111000 */
372 0x7C, /* 01111100 */
373 0x7C, /* 01111100 */
374 0x00, /* 00000000 */
375 0x00, /* 00000000 */
376
377 /* 31 0x1F '^_' */
378 0x00, /* 00000000 */
379 0x00, /* 00000000 */
380 0x7C, /* 01111100 */
381 0x7C, /* 01111100 */
382 0x38, /* 00111000 */
383 0x38, /* 00111000 */
384 0x10, /* 00010000 */
385 0x10, /* 00010000 */
386 0x00, /* 00000000 */
387 0x00, /* 00000000 */
388
389 /* 32 0x20 ' ' */
390 0x00, /* 00000000 */
391 0x00, /* 00000000 */
392 0x00, /* 00000000 */
393 0x00, /* 00000000 */
394 0x00, /* 00000000 */
395 0x00, /* 00000000 */
396 0x00, /* 00000000 */
397 0x00, /* 00000000 */
398 0x00, /* 00000000 */
399 0x00, /* 00000000 */
400
401 /* 33 0x21 '!' */
402 0x00, /* 00000000 */
403 0x10, /* 00010000 */
404 0x10, /* 00010000 */
405 0x10, /* 00010000 */
406 0x10, /* 00010000 */
407 0x10, /* 00010000 */
408 0x00, /* 00000000 */
409 0x10, /* 00010000 */
410 0x00, /* 00000000 */
411 0x00, /* 00000000 */
412
413 /* 34 0x22 '"' */
414 0x28, /* 00101000 */
415 0x28, /* 00101000 */
416 0x28, /* 00101000 */
417 0x00, /* 00000000 */
418 0x00, /* 00000000 */
419 0x00, /* 00000000 */
420 0x00, /* 00000000 */
421 0x00, /* 00000000 */
422 0x00, /* 00000000 */
423 0x00, /* 00000000 */
424
425 /* 35 0x23 '#' */
426 0x00, /* 00000000 */
427 0x00, /* 00000000 */
428 0x28, /* 00101000 */
429 0x7C, /* 01111100 */
430 0x28, /* 00101000 */
431 0x28, /* 00101000 */
432 0x7C, /* 01111100 */
433 0x28, /* 00101000 */
434 0x00, /* 00000000 */
435 0x00, /* 00000000 */
436
437 /* 36 0x24 '$' */
438 0x10, /* 00010000 */
439 0x38, /* 00111000 */
440 0x54, /* 01010100 */
441 0x50, /* 01010000 */
442 0x38, /* 00111000 */
443 0x14, /* 00010100 */
444 0x54, /* 01010100 */
445 0x38, /* 00111000 */
446 0x10, /* 00010000 */
447 0x00, /* 00000000 */
448
449 /* 37 0x25 '%' */
450 0x00, /* 00000000 */
451 0x64, /* 01100100 */
452 0x64, /* 01100100 */
453 0x08, /* 00001000 */
454 0x10, /* 00010000 */
455 0x20, /* 00100000 */
456 0x4C, /* 01001100 */
457 0x4C, /* 01001100 */
458 0x00, /* 00000000 */
459 0x00, /* 00000000 */
460
461 /* 38 0x26 '&' */
462 0x00, /* 00000000 */
463 0x30, /* 00110000 */
464 0x48, /* 01001000 */
465 0x50, /* 01010000 */
466 0x20, /* 00100000 */
467 0x54, /* 01010100 */
468 0x48, /* 01001000 */
469 0x34, /* 00110100 */
470 0x00, /* 00000000 */
471 0x00, /* 00000000 */
472
473 /* 39 0x27 ''' */
474 0x10, /* 00010000 */
475 0x10, /* 00010000 */
476 0x10, /* 00010000 */
477 0x00, /* 00000000 */
478 0x00, /* 00000000 */
479 0x00, /* 00000000 */
480 0x00, /* 00000000 */
481 0x00, /* 00000000 */
482 0x00, /* 00000000 */
483 0x00, /* 00000000 */
484
485 /* 40 0x28 '(' */
486 0x08, /* 00001000 */
487 0x10, /* 00010000 */
488 0x20, /* 00100000 */
489 0x20, /* 00100000 */
490 0x20, /* 00100000 */
491 0x20, /* 00100000 */
492 0x20, /* 00100000 */
493 0x10, /* 00010000 */
494 0x08, /* 00001000 */
495 0x00, /* 00000000 */
496
497 /* 41 0x29 ')' */
498 0x20, /* 00100000 */
499 0x10, /* 00010000 */
500 0x08, /* 00001000 */
501 0x08, /* 00001000 */
502 0x08, /* 00001000 */
503 0x08, /* 00001000 */
504 0x08, /* 00001000 */
505 0x10, /* 00010000 */
506 0x20, /* 00100000 */
507 0x00, /* 00000000 */
508
509 /* 42 0x2A '*' */
510 0x00, /* 00000000 */
511 0x10, /* 00010000 */
512 0x54, /* 01010100 */
513 0x38, /* 00111000 */
514 0x54, /* 01010100 */
515 0x10, /* 00010000 */
516 0x00, /* 00000000 */
517 0x00, /* 00000000 */
518 0x00, /* 00000000 */
519 0x00, /* 00000000 */
520
521 /* 43 0x2B '+' */
522 0x00, /* 00000000 */
523 0x00, /* 00000000 */
524 0x10, /* 00010000 */
525 0x10, /* 00010000 */
526 0x7C, /* 01111100 */
527 0x10, /* 00010000 */
528 0x10, /* 00010000 */
529 0x00, /* 00000000 */
530 0x00, /* 00000000 */
531 0x00, /* 00000000 */
532
533 /* 44 0x2C ',' */
534 0x00, /* 00000000 */
535 0x00, /* 00000000 */
536 0x00, /* 00000000 */
537 0x00, /* 00000000 */
538 0x00, /* 00000000 */
539 0x00, /* 00000000 */
540 0x30, /* 00110000 */
541 0x30, /* 00110000 */
542 0x10, /* 00010000 */
543 0x20, /* 00100000 */
544
545 /* 45 0x2D '-' */
546 0x00, /* 00000000 */
547 0x00, /* 00000000 */
548 0x00, /* 00000000 */
549 0x00, /* 00000000 */
550 0x7C, /* 01111100 */
551 0x00, /* 00000000 */
552 0x00, /* 00000000 */
553 0x00, /* 00000000 */
554 0x00, /* 00000000 */
555 0x00, /* 00000000 */
556
557 /* 46 0x2E '.' */
558 0x00, /* 00000000 */
559 0x00, /* 00000000 */
560 0x00, /* 00000000 */
561 0x00, /* 00000000 */
562 0x00, /* 00000000 */
563 0x00, /* 00000000 */
564 0x18, /* 00011000 */
565 0x18, /* 00011000 */
566 0x00, /* 00000000 */
567 0x00, /* 00000000 */
568
569 /* 47 0x2F '/' */
570 0x04, /* 00000100 */
571 0x04, /* 00000100 */
572 0x08, /* 00001000 */
573 0x08, /* 00001000 */
574 0x10, /* 00010000 */
575 0x10, /* 00010000 */
576 0x20, /* 00100000 */
577 0x20, /* 00100000 */
578 0x40, /* 01000000 */
579 0x40, /* 01000000 */
580
581 /* 48 0x30 '0' */
582 0x00, /* 00000000 */
583 0x38, /* 00111000 */
584 0x44, /* 01000100 */
585 0x4C, /* 01001100 */
586 0x54, /* 01010100 */
587 0x64, /* 01100100 */
588 0x44, /* 01000100 */
589 0x38, /* 00111000 */
590 0x00, /* 00000000 */
591 0x00, /* 00000000 */
592
593 /* 49 0x31 '1' */
594 0x00, /* 00000000 */
595 0x10, /* 00010000 */
596 0x30, /* 00110000 */
597 0x50, /* 01010000 */
598 0x10, /* 00010000 */
599 0x10, /* 00010000 */
600 0x10, /* 00010000 */
601 0x7C, /* 01111100 */
602 0x00, /* 00000000 */
603 0x00, /* 00000000 */
604
605 /* 50 0x32 '2' */
606 0x00, /* 00000000 */
607 0x38, /* 00111000 */
608 0x44, /* 01000100 */
609 0x04, /* 00000100 */
610 0x08, /* 00001000 */
611 0x10, /* 00010000 */
612 0x20, /* 00100000 */
613 0x7C, /* 01111100 */
614 0x00, /* 00000000 */
615 0x00, /* 00000000 */
616
617 /* 51 0x33 '3' */
618 0x00, /* 00000000 */
619 0x38, /* 00111000 */
620 0x44, /* 01000100 */
621 0x04, /* 00000100 */
622 0x18, /* 00011000 */
623 0x04, /* 00000100 */
624 0x44, /* 01000100 */
625 0x38, /* 00111000 */
626 0x00, /* 00000000 */
627 0x00, /* 00000000 */
628
629 /* 52 0x34 '4' */
630 0x00, /* 00000000 */
631 0x08, /* 00001000 */
632 0x18, /* 00011000 */
633 0x28, /* 00101000 */
634 0x48, /* 01001000 */
635 0x7C, /* 01111100 */
636 0x08, /* 00001000 */
637 0x08, /* 00001000 */
638 0x00, /* 00000000 */
639 0x00, /* 00000000 */
640
641 /* 53 0x35 '5' */
642 0x00, /* 00000000 */
643 0x7C, /* 01111100 */
644 0x40, /* 01000000 */
645 0x78, /* 01111000 */
646 0x04, /* 00000100 */
647 0x04, /* 00000100 */
648 0x44, /* 01000100 */
649 0x38, /* 00111000 */
650 0x00, /* 00000000 */
651 0x00, /* 00000000 */
652
653 /* 54 0x36 '6' */
654 0x00, /* 00000000 */
655 0x18, /* 00011000 */
656 0x20, /* 00100000 */
657 0x40, /* 01000000 */
658 0x78, /* 01111000 */
659 0x44, /* 01000100 */
660 0x44, /* 01000100 */
661 0x38, /* 00111000 */
662 0x00, /* 00000000 */
663 0x00, /* 00000000 */
664
665 /* 55 0x37 '7' */
666 0x00, /* 00000000 */
667 0x7C, /* 01111100 */
668 0x04, /* 00000100 */
669 0x04, /* 00000100 */
670 0x08, /* 00001000 */
671 0x10, /* 00010000 */
672 0x10, /* 00010000 */
673 0x10, /* 00010000 */
674 0x00, /* 00000000 */
675 0x00, /* 00000000 */
676
677 /* 56 0x38 '8' */
678 0x00, /* 00000000 */
679 0x38, /* 00111000 */
680 0x44, /* 01000100 */
681 0x44, /* 01000100 */
682 0x38, /* 00111000 */
683 0x44, /* 01000100 */
684 0x44, /* 01000100 */
685 0x38, /* 00111000 */
686 0x00, /* 00000000 */
687 0x00, /* 00000000 */
688
689 /* 57 0x39 '9' */
690 0x00, /* 00000000 */
691 0x38, /* 00111000 */
692 0x44, /* 01000100 */
693 0x44, /* 01000100 */
694 0x3C, /* 00111100 */
695 0x04, /* 00000100 */
696 0x08, /* 00001000 */
697 0x30, /* 00110000 */
698 0x00, /* 00000000 */
699 0x00, /* 00000000 */
700
701 /* 58 0x3A ':' */
702 0x00, /* 00000000 */
703 0x00, /* 00000000 */
704 0x00, /* 00000000 */
705 0x18, /* 00011000 */
706 0x18, /* 00011000 */
707 0x00, /* 00000000 */
708 0x18, /* 00011000 */
709 0x18, /* 00011000 */
710 0x00, /* 00000000 */
711 0x00, /* 00000000 */
712
713 /* 59 0x3B ';' */
714 0x00, /* 00000000 */
715 0x00, /* 00000000 */
716 0x00, /* 00000000 */
717 0x30, /* 00110000 */
718 0x30, /* 00110000 */
719 0x00, /* 00000000 */
720 0x30, /* 00110000 */
721 0x30, /* 00110000 */
722 0x10, /* 00010000 */
723 0x20, /* 00100000 */
724
725 /* 60 0x3C '<' */
726 0x00, /* 00000000 */
727 0x04, /* 00000100 */
728 0x08, /* 00001000 */
729 0x10, /* 00010000 */
730 0x20, /* 00100000 */
731 0x10, /* 00010000 */
732 0x08, /* 00001000 */
733 0x04, /* 00000100 */
734 0x00, /* 00000000 */
735 0x00, /* 00000000 */
736
737 /* 61 0x3D '=' */
738 0x00, /* 00000000 */
739 0x00, /* 00000000 */
740 0x00, /* 00000000 */
741 0x7C, /* 01111100 */
742 0x00, /* 00000000 */
743 0x7C, /* 01111100 */
744 0x00, /* 00000000 */
745 0x00, /* 00000000 */
746 0x00, /* 00000000 */
747 0x00, /* 00000000 */
748
749 /* 62 0x3E '>' */
750 0x00, /* 00000000 */
751 0x20, /* 00100000 */
752 0x10, /* 00010000 */
753 0x08, /* 00001000 */
754 0x04, /* 00000100 */
755 0x08, /* 00001000 */
756 0x10, /* 00010000 */
757 0x20, /* 00100000 */
758 0x00, /* 00000000 */
759 0x00, /* 00000000 */
760
761 /* 63 0x3F '?' */
762 0x00, /* 00000000 */
763 0x38, /* 00111000 */
764 0x44, /* 01000100 */
765 0x04, /* 00000100 */
766 0x08, /* 00001000 */
767 0x10, /* 00010000 */
768 0x00, /* 00000000 */
769 0x10, /* 00010000 */
770 0x00, /* 00000000 */
771 0x00, /* 00000000 */
772
773 /* 64 0x40 '@' */
774 0x00, /* 00000000 */
775 0x38, /* 00111000 */
776 0x44, /* 01000100 */
777 0x5C, /* 01011100 */
778 0x54, /* 01010100 */
779 0x5C, /* 01011100 */
780 0x40, /* 01000000 */
781 0x38, /* 00111000 */
782 0x00, /* 00000000 */
783 0x00, /* 00000000 */
784
785 /* 65 0x41 'A' */
786 0x00, /* 00000000 */
787 0x10, /* 00010000 */
788 0x28, /* 00101000 */
789 0x44, /* 01000100 */
790 0x44, /* 01000100 */
791 0x7C, /* 01111100 */
792 0x44, /* 01000100 */
793 0x44, /* 01000100 */
794 0x00, /* 00000000 */
795 0x00, /* 00000000 */
796
797 /* 66 0x42 'B' */
798 0x00, /* 00000000 */
799 0x78, /* 01111000 */
800 0x24, /* 00100100 */
801 0x24, /* 00100100 */
802 0x38, /* 00111000 */
803 0x24, /* 00100100 */
804 0x24, /* 00100100 */
805 0x78, /* 01111000 */
806 0x00, /* 00000000 */
807 0x00, /* 00000000 */
808
809 /* 67 0x43 'C' */
810 0x00, /* 00000000 */
811 0x38, /* 00111000 */
812 0x44, /* 01000100 */
813 0x40, /* 01000000 */
814 0x40, /* 01000000 */
815 0x40, /* 01000000 */
816 0x44, /* 01000100 */
817 0x38, /* 00111000 */
818 0x00, /* 00000000 */
819 0x00, /* 00000000 */
820
821 /* 68 0x44 'D' */
822 0x00, /* 00000000 */
823 0x78, /* 01111000 */
824 0x24, /* 00100100 */
825 0x24, /* 00100100 */
826 0x24, /* 00100100 */
827 0x24, /* 00100100 */
828 0x24, /* 00100100 */
829 0x78, /* 01111000 */
830 0x00, /* 00000000 */
831 0x00, /* 00000000 */
832
833 /* 69 0x45 'E' */
834 0x00, /* 00000000 */
835 0x7C, /* 01111100 */
836 0x40, /* 01000000 */
837 0x40, /* 01000000 */
838 0x78, /* 01111000 */
839 0x40, /* 01000000 */
840 0x40, /* 01000000 */
841 0x7C, /* 01111100 */
842 0x00, /* 00000000 */
843 0x00, /* 00000000 */
844
845 /* 70 0x46 'F' */
846 0x00, /* 00000000 */
847 0x7C, /* 01111100 */
848 0x40, /* 01000000 */
849 0x40, /* 01000000 */
850 0x78, /* 01111000 */
851 0x40, /* 01000000 */
852 0x40, /* 01000000 */
853 0x40, /* 01000000 */
854 0x00, /* 00000000 */
855 0x00, /* 00000000 */
856
857 /* 71 0x47 'G' */
858 0x00, /* 00000000 */
859 0x38, /* 00111000 */
860 0x44, /* 01000100 */
861 0x40, /* 01000000 */
862 0x5C, /* 01011100 */
863 0x44, /* 01000100 */
864 0x44, /* 01000100 */
865 0x38, /* 00111000 */
866 0x00, /* 00000000 */
867 0x00, /* 00000000 */
868
869 /* 72 0x48 'H' */
870 0x00, /* 00000000 */
871 0x44, /* 01000100 */
872 0x44, /* 01000100 */
873 0x44, /* 01000100 */
874 0x7C, /* 01111100 */
875 0x44, /* 01000100 */
876 0x44, /* 01000100 */
877 0x44, /* 01000100 */
878 0x00, /* 00000000 */
879 0x00, /* 00000000 */
880
881 /* 73 0x49 'I' */
882 0x00, /* 00000000 */
883 0x38, /* 00111000 */
884 0x10, /* 00010000 */
885 0x10, /* 00010000 */
886 0x10, /* 00010000 */
887 0x10, /* 00010000 */
888 0x10, /* 00010000 */
889 0x38, /* 00111000 */
890 0x00, /* 00000000 */
891 0x00, /* 00000000 */
892
893 /* 74 0x4A 'J' */
894 0x00, /* 00000000 */
895 0x1C, /* 00011100 */
896 0x08, /* 00001000 */
897 0x08, /* 00001000 */
898 0x08, /* 00001000 */
899 0x48, /* 01001000 */
900 0x48, /* 01001000 */
901 0x30, /* 00110000 */
902 0x00, /* 00000000 */
903 0x00, /* 00000000 */
904
905 /* 75 0x4B 'K' */
906 0x00, /* 00000000 */
907 0x44, /* 01000100 */
908 0x48, /* 01001000 */
909 0x50, /* 01010000 */
910 0x60, /* 01100000 */
911 0x50, /* 01010000 */
912 0x48, /* 01001000 */
913 0x44, /* 01000100 */
914 0x00, /* 00000000 */
915 0x00, /* 00000000 */
916
917 /* 76 0x4C 'L' */
918 0x00, /* 00000000 */
919 0x40, /* 01000000 */
920 0x40, /* 01000000 */
921 0x40, /* 01000000 */
922 0x40, /* 01000000 */
923 0x40, /* 01000000 */
924 0x40, /* 01000000 */
925 0x7C, /* 01111100 */
926 0x00, /* 00000000 */
927 0x00, /* 00000000 */
928
929 /* 77 0x4D 'M' */
930 0x00, /* 00000000 */
931 0x44, /* 01000100 */
932 0x6C, /* 01101100 */
933 0x54, /* 01010100 */
934 0x54, /* 01010100 */
935 0x44, /* 01000100 */
936 0x44, /* 01000100 */
937 0x44, /* 01000100 */
938 0x00, /* 00000000 */
939 0x00, /* 00000000 */
940
941 /* 78 0x4E 'N' */
942 0x00, /* 00000000 */
943 0x44, /* 01000100 */
944 0x64, /* 01100100 */
945 0x54, /* 01010100 */
946 0x4C, /* 01001100 */
947 0x44, /* 01000100 */
948 0x44, /* 01000100 */
949 0x44, /* 01000100 */
950 0x00, /* 00000000 */
951 0x00, /* 00000000 */
952
953 /* 79 0x4F 'O' */
954 0x00, /* 00000000 */
955 0x38, /* 00111000 */
956 0x44, /* 01000100 */
957 0x44, /* 01000100 */
958 0x44, /* 01000100 */
959 0x44, /* 01000100 */
960 0x44, /* 01000100 */
961 0x38, /* 00111000 */
962 0x00, /* 00000000 */
963 0x00, /* 00000000 */
964
965 /* 80 0x50 'P' */
966 0x00, /* 00000000 */
967 0x78, /* 01111000 */
968 0x44, /* 01000100 */
969 0x44, /* 01000100 */
970 0x78, /* 01111000 */
971 0x40, /* 01000000 */
972 0x40, /* 01000000 */
973 0x40, /* 01000000 */
974 0x00, /* 00000000 */
975 0x00, /* 00000000 */
976
977 /* 81 0x51 'Q' */
978 0x00, /* 00000000 */
979 0x38, /* 00111000 */
980 0x44, /* 01000100 */
981 0x44, /* 01000100 */
982 0x44, /* 01000100 */
983 0x54, /* 01010100 */
984 0x48, /* 01001000 */
985 0x34, /* 00110100 */
986 0x00, /* 00000000 */
987 0x00, /* 00000000 */
988
989 /* 82 0x52 'R' */
990 0x00, /* 00000000 */
991 0x78, /* 01111000 */
992 0x44, /* 01000100 */
993 0x44, /* 01000100 */
994 0x78, /* 01111000 */
995 0x50, /* 01010000 */
996 0x48, /* 01001000 */
997 0x44, /* 01000100 */
998 0x00, /* 00000000 */
999 0x00, /* 00000000 */
1000
1001 /* 83 0x53 'S' */
1002 0x00, /* 00000000 */
1003 0x38, /* 00111000 */
1004 0x44, /* 01000100 */
1005 0x40, /* 01000000 */
1006 0x38, /* 00111000 */
1007 0x04, /* 00000100 */
1008 0x44, /* 01000100 */
1009 0x38, /* 00111000 */
1010 0x00, /* 00000000 */
1011 0x00, /* 00000000 */
1012
1013 /* 84 0x54 'T' */
1014 0x00, /* 00000000 */
1015 0x7C, /* 01111100 */
1016 0x10, /* 00010000 */
1017 0x10, /* 00010000 */
1018 0x10, /* 00010000 */
1019 0x10, /* 00010000 */
1020 0x10, /* 00010000 */
1021 0x10, /* 00010000 */
1022 0x00, /* 00000000 */
1023 0x00, /* 00000000 */
1024
1025 /* 85 0x55 'U' */
1026 0x00, /* 00000000 */
1027 0x44, /* 01000100 */
1028 0x44, /* 01000100 */
1029 0x44, /* 01000100 */
1030 0x44, /* 01000100 */
1031 0x44, /* 01000100 */
1032 0x44, /* 01000100 */
1033 0x38, /* 00111000 */
1034 0x00, /* 00000000 */
1035 0x00, /* 00000000 */
1036
1037 /* 86 0x56 'V' */
1038 0x00, /* 00000000 */
1039 0x44, /* 01000100 */
1040 0x44, /* 01000100 */
1041 0x44, /* 01000100 */
1042 0x44, /* 01000100 */
1043 0x44, /* 01000100 */
1044 0x28, /* 00101000 */
1045 0x10, /* 00010000 */
1046 0x00, /* 00000000 */
1047 0x00, /* 00000000 */
1048
1049 /* 87 0x57 'W' */
1050 0x00, /* 00000000 */
1051 0x44, /* 01000100 */
1052 0x44, /* 01000100 */
1053 0x44, /* 01000100 */
1054 0x54, /* 01010100 */
1055 0x54, /* 01010100 */
1056 0x6C, /* 01101100 */
1057 0x44, /* 01000100 */
1058 0x00, /* 00000000 */
1059 0x00, /* 00000000 */
1060
1061 /* 88 0x58 'X' */
1062 0x00, /* 00000000 */
1063 0x44, /* 01000100 */
1064 0x44, /* 01000100 */
1065 0x28, /* 00101000 */
1066 0x10, /* 00010000 */
1067 0x28, /* 00101000 */
1068 0x44, /* 01000100 */
1069 0x44, /* 01000100 */
1070 0x00, /* 00000000 */
1071 0x00, /* 00000000 */
1072
1073 /* 89 0x59 'Y' */
1074 0x00, /* 00000000 */
1075 0x44, /* 01000100 */
1076 0x44, /* 01000100 */
1077 0x44, /* 01000100 */
1078 0x28, /* 00101000 */
1079 0x10, /* 00010000 */
1080 0x10, /* 00010000 */
1081 0x10, /* 00010000 */
1082 0x00, /* 00000000 */
1083 0x00, /* 00000000 */
1084
1085 /* 90 0x5A 'Z' */
1086 0x00, /* 00000000 */
1087 0x7C, /* 01111100 */
1088 0x04, /* 00000100 */
1089 0x08, /* 00001000 */
1090 0x10, /* 00010000 */
1091 0x20, /* 00100000 */
1092 0x40, /* 01000000 */
1093 0x7C, /* 01111100 */
1094 0x00, /* 00000000 */
1095 0x00, /* 00000000 */
1096
1097 /* 91 0x5B '[' */
1098 0x18, /* 00011000 */
1099 0x10, /* 00010000 */
1100 0x10, /* 00010000 */
1101 0x10, /* 00010000 */
1102 0x10, /* 00010000 */
1103 0x10, /* 00010000 */
1104 0x10, /* 00010000 */
1105 0x10, /* 00010000 */
1106 0x18, /* 00011000 */
1107 0x00, /* 00000000 */
1108
1109 /* 92 0x5C '\' */
1110 0x40, /* 01000000 */
1111 0x40, /* 01000000 */
1112 0x20, /* 00100000 */
1113 0x20, /* 00100000 */
1114 0x10, /* 00010000 */
1115 0x10, /* 00010000 */
1116 0x08, /* 00001000 */
1117 0x08, /* 00001000 */
1118 0x04, /* 00000100 */
1119 0x04, /* 00000100 */
1120
1121 /* 93 0x5D ']' */
1122 0x30, /* 00110000 */
1123 0x10, /* 00010000 */
1124 0x10, /* 00010000 */
1125 0x10, /* 00010000 */
1126 0x10, /* 00010000 */
1127 0x10, /* 00010000 */
1128 0x10, /* 00010000 */
1129 0x10, /* 00010000 */
1130 0x30, /* 00110000 */
1131 0x00, /* 00000000 */
1132
1133 /* 94 0x5E '^' */
1134 0x00, /* 00000000 */
1135 0x10, /* 00010000 */
1136 0x28, /* 00101000 */
1137 0x44, /* 01000100 */
1138 0x00, /* 00000000 */
1139 0x00, /* 00000000 */
1140 0x00, /* 00000000 */
1141 0x00, /* 00000000 */
1142 0x00, /* 00000000 */
1143 0x00, /* 00000000 */
1144
1145 /* 95 0x5F '_' */
1146 0x00, /* 00000000 */
1147 0x00, /* 00000000 */
1148 0x00, /* 00000000 */
1149 0x00, /* 00000000 */
1150 0x00, /* 00000000 */
1151 0x00, /* 00000000 */
1152 0x00, /* 00000000 */
1153 0x00, /* 00000000 */
1154 0x7C, /* 01111100 */
1155 0x00, /* 00000000 */
1156
1157 /* 96 0x60 '`' */
1158 0x20, /* 00100000 */
1159 0x10, /* 00010000 */
1160 0x08, /* 00001000 */
1161 0x00, /* 00000000 */
1162 0x00, /* 00000000 */
1163 0x00, /* 00000000 */
1164 0x00, /* 00000000 */
1165 0x00, /* 00000000 */
1166 0x00, /* 00000000 */
1167 0x00, /* 00000000 */
1168
1169 /* 97 0x61 'a' */
1170 0x00, /* 00000000 */
1171 0x00, /* 00000000 */
1172 0x00, /* 00000000 */
1173 0x38, /* 00111000 */
1174 0x04, /* 00000100 */
1175 0x3C, /* 00111100 */
1176 0x44, /* 01000100 */
1177 0x3C, /* 00111100 */
1178 0x00, /* 00000000 */
1179 0x00, /* 00000000 */
1180
1181 /* 98 0x62 'b' */
1182 0x00, /* 00000000 */
1183 0x40, /* 01000000 */
1184 0x40, /* 01000000 */
1185 0x58, /* 01011000 */
1186 0x64, /* 01100100 */
1187 0x44, /* 01000100 */
1188 0x64, /* 01100100 */
1189 0x58, /* 01011000 */
1190 0x00, /* 00000000 */
1191 0x00, /* 00000000 */
1192
1193 /* 99 0x63 'c' */
1194 0x00, /* 00000000 */
1195 0x00, /* 00000000 */
1196 0x00, /* 00000000 */
1197 0x38, /* 00111000 */
1198 0x44, /* 01000100 */
1199 0x40, /* 01000000 */
1200 0x44, /* 01000100 */
1201 0x38, /* 00111000 */
1202 0x00, /* 00000000 */
1203 0x00, /* 00000000 */
1204
1205 /* 100 0x64 'd' */
1206 0x00, /* 00000000 */
1207 0x04, /* 00000100 */
1208 0x04, /* 00000100 */
1209 0x34, /* 00110100 */
1210 0x4C, /* 01001100 */
1211 0x44, /* 01000100 */
1212 0x4C, /* 01001100 */
1213 0x34, /* 00110100 */
1214 0x00, /* 00000000 */
1215 0x00, /* 00000000 */
1216
1217 /* 101 0x65 'e' */
1218 0x00, /* 00000000 */
1219 0x00, /* 00000000 */
1220 0x00, /* 00000000 */
1221 0x38, /* 00111000 */
1222 0x44, /* 01000100 */
1223 0x7C, /* 01111100 */
1224 0x40, /* 01000000 */
1225 0x3C, /* 00111100 */
1226 0x00, /* 00000000 */
1227 0x00, /* 00000000 */
1228
1229 /* 102 0x66 'f' */
1230 0x00, /* 00000000 */
1231 0x0C, /* 00001100 */
1232 0x10, /* 00010000 */
1233 0x10, /* 00010000 */
1234 0x38, /* 00111000 */
1235 0x10, /* 00010000 */
1236 0x10, /* 00010000 */
1237 0x10, /* 00010000 */
1238 0x00, /* 00000000 */
1239 0x00, /* 00000000 */
1240
1241 /* 103 0x67 'g' */
1242 0x00, /* 00000000 */
1243 0x00, /* 00000000 */
1244 0x00, /* 00000000 */
1245 0x34, /* 00110100 */
1246 0x4C, /* 01001100 */
1247 0x44, /* 01000100 */
1248 0x4C, /* 01001100 */
1249 0x34, /* 00110100 */
1250 0x04, /* 00000100 */
1251 0x38, /* 00111000 */
1252
1253 /* 104 0x68 'h' */
1254 0x00, /* 00000000 */
1255 0x40, /* 01000000 */
1256 0x40, /* 01000000 */
1257 0x78, /* 01111000 */
1258 0x44, /* 01000100 */
1259 0x44, /* 01000100 */
1260 0x44, /* 01000100 */
1261 0x44, /* 01000100 */
1262 0x00, /* 00000000 */
1263 0x00, /* 00000000 */
1264
1265 /* 105 0x69 'i' */
1266 0x00, /* 00000000 */
1267 0x10, /* 00010000 */
1268 0x00, /* 00000000 */
1269 0x30, /* 00110000 */
1270 0x10, /* 00010000 */
1271 0x10, /* 00010000 */
1272 0x10, /* 00010000 */
1273 0x38, /* 00111000 */
1274 0x00, /* 00000000 */
1275 0x00, /* 00000000 */
1276
1277 /* 106 0x6A 'j' */
1278 0x00, /* 00000000 */
1279 0x10, /* 00010000 */
1280 0x00, /* 00000000 */
1281 0x30, /* 00110000 */
1282 0x10, /* 00010000 */
1283 0x10, /* 00010000 */
1284 0x10, /* 00010000 */
1285 0x10, /* 00010000 */
1286 0x10, /* 00010000 */
1287 0x60, /* 01100000 */
1288
1289 /* 107 0x6B 'k' */
1290 0x00, /* 00000000 */
1291 0x40, /* 01000000 */
1292 0x40, /* 01000000 */
1293 0x48, /* 01001000 */
1294 0x50, /* 01010000 */
1295 0x70, /* 01110000 */
1296 0x48, /* 01001000 */
1297 0x44, /* 01000100 */
1298 0x00, /* 00000000 */
1299 0x00, /* 00000000 */
1300
1301 /* 108 0x6C 'l' */
1302 0x00, /* 00000000 */
1303 0x30, /* 00110000 */
1304 0x10, /* 00010000 */
1305 0x10, /* 00010000 */
1306 0x10, /* 00010000 */
1307 0x10, /* 00010000 */
1308 0x10, /* 00010000 */
1309 0x38, /* 00111000 */
1310 0x00, /* 00000000 */
1311 0x00, /* 00000000 */
1312
1313 /* 109 0x6D 'm' */
1314 0x00, /* 00000000 */
1315 0x00, /* 00000000 */
1316 0x00, /* 00000000 */
1317 0x68, /* 01101000 */
1318 0x54, /* 01010100 */
1319 0x54, /* 01010100 */
1320 0x54, /* 01010100 */
1321 0x54, /* 01010100 */
1322 0x00, /* 00000000 */
1323 0x00, /* 00000000 */
1324
1325 /* 110 0x6E 'n' */
1326 0x00, /* 00000000 */
1327 0x00, /* 00000000 */
1328 0x00, /* 00000000 */
1329 0x58, /* 01011000 */
1330 0x64, /* 01100100 */
1331 0x44, /* 01000100 */
1332 0x44, /* 01000100 */
1333 0x44, /* 01000100 */
1334 0x00, /* 00000000 */
1335 0x00, /* 00000000 */
1336
1337 /* 111 0x6F 'o' */
1338 0x00, /* 00000000 */
1339 0x00, /* 00000000 */
1340 0x00, /* 00000000 */
1341 0x38, /* 00111000 */
1342 0x44, /* 01000100 */
1343 0x44, /* 01000100 */
1344 0x44, /* 01000100 */
1345 0x38, /* 00111000 */
1346 0x00, /* 00000000 */
1347 0x00, /* 00000000 */
1348
1349 /* 112 0x70 'p' */
1350 0x00, /* 00000000 */
1351 0x00, /* 00000000 */
1352 0x00, /* 00000000 */
1353 0x58, /* 01011000 */
1354 0x64, /* 01100100 */
1355 0x44, /* 01000100 */
1356 0x64, /* 01100100 */
1357 0x58, /* 01011000 */
1358 0x40, /* 01000000 */
1359 0x40, /* 01000000 */
1360
1361 /* 113 0x71 'q' */
1362 0x00, /* 00000000 */
1363 0x00, /* 00000000 */
1364 0x00, /* 00000000 */
1365 0x34, /* 00110100 */
1366 0x4C, /* 01001100 */
1367 0x44, /* 01000100 */
1368 0x4C, /* 01001100 */
1369 0x34, /* 00110100 */
1370 0x04, /* 00000100 */
1371 0x04, /* 00000100 */
1372
1373 /* 114 0x72 'r' */
1374 0x00, /* 00000000 */
1375 0x00, /* 00000000 */
1376 0x00, /* 00000000 */
1377 0x58, /* 01011000 */
1378 0x64, /* 01100100 */
1379 0x40, /* 01000000 */
1380 0x40, /* 01000000 */
1381 0x40, /* 01000000 */
1382 0x00, /* 00000000 */
1383 0x00, /* 00000000 */
1384
1385 /* 115 0x73 's' */
1386 0x00, /* 00000000 */
1387 0x00, /* 00000000 */
1388 0x00, /* 00000000 */
1389 0x3C, /* 00111100 */
1390 0x40, /* 01000000 */
1391 0x38, /* 00111000 */
1392 0x04, /* 00000100 */
1393 0x78, /* 01111000 */
1394 0x00, /* 00000000 */
1395 0x00, /* 00000000 */
1396
1397 /* 116 0x74 't' */
1398 0x00, /* 00000000 */
1399 0x10, /* 00010000 */
1400 0x10, /* 00010000 */
1401 0x38, /* 00111000 */
1402 0x10, /* 00010000 */
1403 0x10, /* 00010000 */
1404 0x10, /* 00010000 */
1405 0x0C, /* 00001100 */
1406 0x00, /* 00000000 */
1407 0x00, /* 00000000 */
1408
1409 /* 117 0x75 'u' */
1410 0x00, /* 00000000 */
1411 0x00, /* 00000000 */
1412 0x00, /* 00000000 */
1413 0x44, /* 01000100 */
1414 0x44, /* 01000100 */
1415 0x44, /* 01000100 */
1416 0x4C, /* 01001100 */
1417 0x34, /* 00110100 */
1418 0x00, /* 00000000 */
1419 0x00, /* 00000000 */
1420
1421 /* 118 0x76 'v' */
1422 0x00, /* 00000000 */
1423 0x00, /* 00000000 */
1424 0x00, /* 00000000 */
1425 0x44, /* 01000100 */
1426 0x44, /* 01000100 */
1427 0x44, /* 01000100 */
1428 0x28, /* 00101000 */
1429 0x10, /* 00010000 */
1430 0x00, /* 00000000 */
1431 0x00, /* 00000000 */
1432
1433 /* 119 0x77 'w' */
1434 0x00, /* 00000000 */
1435 0x00, /* 00000000 */
1436 0x00, /* 00000000 */
1437 0x54, /* 01010100 */
1438 0x54, /* 01010100 */
1439 0x54, /* 01010100 */
1440 0x54, /* 01010100 */
1441 0x28, /* 00101000 */
1442 0x00, /* 00000000 */
1443 0x00, /* 00000000 */
1444
1445 /* 120 0x78 'x' */
1446 0x00, /* 00000000 */
1447 0x00, /* 00000000 */
1448 0x00, /* 00000000 */
1449 0x44, /* 01000100 */
1450 0x28, /* 00101000 */
1451 0x10, /* 00010000 */
1452 0x28, /* 00101000 */
1453 0x44, /* 01000100 */
1454 0x00, /* 00000000 */
1455 0x00, /* 00000000 */
1456
1457 /* 121 0x79 'y' */
1458 0x00, /* 00000000 */
1459 0x00, /* 00000000 */
1460 0x00, /* 00000000 */
1461 0x44, /* 01000100 */
1462 0x44, /* 01000100 */
1463 0x44, /* 01000100 */
1464 0x44, /* 01000100 */
1465 0x3C, /* 00111100 */
1466 0x04, /* 00000100 */
1467 0x38, /* 00111000 */
1468
1469 /* 122 0x7A 'z' */
1470 0x00, /* 00000000 */
1471 0x00, /* 00000000 */
1472 0x00, /* 00000000 */
1473 0x7C, /* 01111100 */
1474 0x08, /* 00001000 */
1475 0x10, /* 00010000 */
1476 0x20, /* 00100000 */
1477 0x7C, /* 01111100 */
1478 0x00, /* 00000000 */
1479 0x00, /* 00000000 */
1480
1481 /* 123 0x7B '{' */
1482 0x08, /* 00001000 */
1483 0x10, /* 00010000 */
1484 0x10, /* 00010000 */
1485 0x10, /* 00010000 */
1486 0x20, /* 00100000 */
1487 0x10, /* 00010000 */
1488 0x10, /* 00010000 */
1489 0x10, /* 00010000 */
1490 0x08, /* 00001000 */
1491 0x00, /* 00000000 */
1492
1493 /* 124 0x7C '|' */
1494 0x10, /* 00010000 */
1495 0x10, /* 00010000 */
1496 0x10, /* 00010000 */
1497 0x10, /* 00010000 */
1498 0x00, /* 00000000 */
1499 0x10, /* 00010000 */
1500 0x10, /* 00010000 */
1501 0x10, /* 00010000 */
1502 0x10, /* 00010000 */
1503 0x00, /* 00000000 */
1504
1505 /* 125 0x7D '}' */
1506 0x20, /* 00100000 */
1507 0x10, /* 00010000 */
1508 0x10, /* 00010000 */
1509 0x10, /* 00010000 */
1510 0x08, /* 00001000 */
1511 0x10, /* 00010000 */
1512 0x10, /* 00010000 */
1513 0x10, /* 00010000 */
1514 0x20, /* 00100000 */
1515 0x00, /* 00000000 */
1516
1517 /* 126 0x7E '~' */
1518 0x00, /* 00000000 */
1519 0x00, /* 00000000 */
1520 0x00, /* 00000000 */
1521 0x00, /* 00000000 */
1522 0x20, /* 00100000 */
1523 0x54, /* 01010100 */
1524 0x08, /* 00001000 */
1525 0x00, /* 00000000 */
1526 0x00, /* 00000000 */
1527 0x00, /* 00000000 */
1528
1529 /* 127 0x7F '' */
1530 0x00, /* 00000000 */
1531 0x00, /* 00000000 */
1532 0x00, /* 00000000 */
1533 0x10, /* 00010000 */
1534 0x28, /* 00101000 */
1535 0x44, /* 01000100 */
1536 0x44, /* 01000100 */
1537 0x7C, /* 01111100 */
1538 0x00, /* 00000000 */
1539 0x00, /* 00000000 */
1540
1541 /* 128 0x80 '\200' */
1542 0x00, /* 00000000 */
1543 0x38, /* 00111000 */
1544 0x44, /* 01000100 */
1545 0x40, /* 01000000 */
1546 0x40, /* 01000000 */
1547 0x40, /* 01000000 */
1548 0x44, /* 01000100 */
1549 0x38, /* 00111000 */
1550 0x10, /* 00010000 */
1551 0x20, /* 00100000 */
1552
1553 /* 129 0x81 '\201' */
1554 0x00, /* 00000000 */
1555 0x28, /* 00101000 */
1556 0x00, /* 00000000 */
1557 0x44, /* 01000100 */
1558 0x44, /* 01000100 */
1559 0x44, /* 01000100 */
1560 0x4C, /* 01001100 */
1561 0x34, /* 00110100 */
1562 0x00, /* 00000000 */
1563 0x00, /* 00000000 */
1564
1565 /* 130 0x82 '\202' */
1566 0x08, /* 00001000 */
1567 0x10, /* 00010000 */
1568 0x00, /* 00000000 */
1569 0x38, /* 00111000 */
1570 0x44, /* 01000100 */
1571 0x7C, /* 01111100 */
1572 0x40, /* 01000000 */
1573 0x3C, /* 00111100 */
1574 0x00, /* 00000000 */
1575 0x00, /* 00000000 */
1576
1577 /* 131 0x83 '\203' */
1578 0x10, /* 00010000 */
1579 0x28, /* 00101000 */
1580 0x00, /* 00000000 */
1581 0x38, /* 00111000 */
1582 0x04, /* 00000100 */
1583 0x3C, /* 00111100 */
1584 0x44, /* 01000100 */
1585 0x3C, /* 00111100 */
1586 0x00, /* 00000000 */
1587 0x00, /* 00000000 */
1588
1589 /* 132 0x84 '\204' */
1590 0x00, /* 00000000 */
1591 0x28, /* 00101000 */
1592 0x00, /* 00000000 */
1593 0x38, /* 00111000 */
1594 0x04, /* 00000100 */
1595 0x3C, /* 00111100 */
1596 0x44, /* 01000100 */
1597 0x3C, /* 00111100 */
1598 0x00, /* 00000000 */
1599 0x00, /* 00000000 */
1600
1601 /* 133 0x85 '\205' */
1602 0x10, /* 00010000 */
1603 0x08, /* 00001000 */
1604 0x00, /* 00000000 */
1605 0x38, /* 00111000 */
1606 0x04, /* 00000100 */
1607 0x3C, /* 00111100 */
1608 0x44, /* 01000100 */
1609 0x3C, /* 00111100 */
1610 0x00, /* 00000000 */
1611 0x00, /* 00000000 */
1612
1613 /* 134 0x86 '\206' */
1614 0x18, /* 00011000 */
1615 0x24, /* 00100100 */
1616 0x18, /* 00011000 */
1617 0x38, /* 00111000 */
1618 0x04, /* 00000100 */
1619 0x3C, /* 00111100 */
1620 0x44, /* 01000100 */
1621 0x3C, /* 00111100 */
1622 0x00, /* 00000000 */
1623 0x00, /* 00000000 */
1624
1625 /* 135 0x87 '\207' */
1626 0x00, /* 00000000 */
1627 0x00, /* 00000000 */
1628 0x00, /* 00000000 */
1629 0x38, /* 00111000 */
1630 0x44, /* 01000100 */
1631 0x40, /* 01000000 */
1632 0x44, /* 01000100 */
1633 0x38, /* 00111000 */
1634 0x10, /* 00010000 */
1635 0x20, /* 00100000 */
1636
1637 /* 136 0x88 '\210' */
1638 0x10, /* 00010000 */
1639 0x28, /* 00101000 */
1640 0x00, /* 00000000 */
1641 0x38, /* 00111000 */
1642 0x44, /* 01000100 */
1643 0x7C, /* 01111100 */
1644 0x40, /* 01000000 */
1645 0x3C, /* 00111100 */
1646 0x00, /* 00000000 */
1647 0x00, /* 00000000 */
1648
1649 /* 137 0x89 '\211' */
1650 0x00, /* 00000000 */
1651 0x28, /* 00101000 */
1652 0x00, /* 00000000 */
1653 0x38, /* 00111000 */
1654 0x44, /* 01000100 */
1655 0x7C, /* 01111100 */
1656 0x40, /* 01000000 */
1657 0x3C, /* 00111100 */
1658 0x00, /* 00000000 */
1659 0x00, /* 00000000 */
1660
1661 /* 138 0x8A '\212' */
1662 0x20, /* 00100000 */
1663 0x10, /* 00010000 */
1664 0x00, /* 00000000 */
1665 0x38, /* 00111000 */
1666 0x44, /* 01000100 */
1667 0x7C, /* 01111100 */
1668 0x40, /* 01000000 */
1669 0x3C, /* 00111100 */
1670 0x00, /* 00000000 */
1671 0x00, /* 00000000 */
1672
1673 /* 139 0x8B '\213' */
1674 0x00, /* 00000000 */
1675 0x28, /* 00101000 */
1676 0x00, /* 00000000 */
1677 0x30, /* 00110000 */
1678 0x10, /* 00010000 */
1679 0x10, /* 00010000 */
1680 0x10, /* 00010000 */
1681 0x38, /* 00111000 */
1682 0x00, /* 00000000 */
1683 0x00, /* 00000000 */
1684
1685 /* 140 0x8C '\214' */
1686 0x10, /* 00010000 */
1687 0x28, /* 00101000 */
1688 0x00, /* 00000000 */
1689 0x30, /* 00110000 */
1690 0x10, /* 00010000 */
1691 0x10, /* 00010000 */
1692 0x10, /* 00010000 */
1693 0x38, /* 00111000 */
1694 0x00, /* 00000000 */
1695 0x00, /* 00000000 */
1696
1697 /* 141 0x8D '\215' */
1698 0x20, /* 00100000 */
1699 0x10, /* 00010000 */
1700 0x00, /* 00000000 */
1701 0x30, /* 00110000 */
1702 0x10, /* 00010000 */
1703 0x10, /* 00010000 */
1704 0x10, /* 00010000 */
1705 0x38, /* 00111000 */
1706 0x00, /* 00000000 */
1707 0x00, /* 00000000 */
1708
1709 /* 142 0x8E '\216' */
1710 0x44, /* 01000100 */
1711 0x10, /* 00010000 */
1712 0x28, /* 00101000 */
1713 0x44, /* 01000100 */
1714 0x44, /* 01000100 */
1715 0x7C, /* 01111100 */
1716 0x44, /* 01000100 */
1717 0x44, /* 01000100 */
1718 0x00, /* 00000000 */
1719 0x00, /* 00000000 */
1720
1721 /* 143 0x8F '\217' */
1722 0x30, /* 00110000 */
1723 0x48, /* 01001000 */
1724 0x38, /* 00111000 */
1725 0x44, /* 01000100 */
1726 0x44, /* 01000100 */
1727 0x7C, /* 01111100 */
1728 0x44, /* 01000100 */
1729 0x44, /* 01000100 */
1730 0x00, /* 00000000 */
1731 0x00, /* 00000000 */
1732
1733 /* 144 0x90 '\220' */
1734 0x10, /* 00010000 */
1735 0x7C, /* 01111100 */
1736 0x40, /* 01000000 */
1737 0x40, /* 01000000 */
1738 0x78, /* 01111000 */
1739 0x40, /* 01000000 */
1740 0x40, /* 01000000 */
1741 0x7C, /* 01111100 */
1742 0x00, /* 00000000 */
1743 0x00, /* 00000000 */
1744
1745 /* 145 0x91 '\221' */
1746 0x00, /* 00000000 */
1747 0x00, /* 00000000 */
1748 0x00, /* 00000000 */
1749 0x78, /* 01111000 */
1750 0x14, /* 00010100 */
1751 0x7C, /* 01111100 */
1752 0x50, /* 01010000 */
1753 0x3C, /* 00111100 */
1754 0x00, /* 00000000 */
1755 0x00, /* 00000000 */
1756
1757 /* 146 0x92 '\222' */
1758 0x00, /* 00000000 */
1759 0x3C, /* 00111100 */
1760 0x50, /* 01010000 */
1761 0x50, /* 01010000 */
1762 0x78, /* 01111000 */
1763 0x50, /* 01010000 */
1764 0x50, /* 01010000 */
1765 0x5C, /* 01011100 */
1766 0x00, /* 00000000 */
1767 0x00, /* 00000000 */
1768
1769 /* 147 0x93 '\223' */
1770 0x10, /* 00010000 */
1771 0x28, /* 00101000 */
1772 0x00, /* 00000000 */
1773 0x38, /* 00111000 */
1774 0x44, /* 01000100 */
1775 0x44, /* 01000100 */
1776 0x44, /* 01000100 */
1777 0x38, /* 00111000 */
1778 0x00, /* 00000000 */
1779 0x00, /* 00000000 */
1780
1781 /* 148 0x94 '\224' */
1782 0x00, /* 00000000 */
1783 0x28, /* 00101000 */
1784 0x00, /* 00000000 */
1785 0x38, /* 00111000 */
1786 0x44, /* 01000100 */
1787 0x44, /* 01000100 */
1788 0x44, /* 01000100 */
1789 0x38, /* 00111000 */
1790 0x00, /* 00000000 */
1791 0x00, /* 00000000 */
1792
1793 /* 149 0x95 '\225' */
1794 0x20, /* 00100000 */
1795 0x10, /* 00010000 */
1796 0x00, /* 00000000 */
1797 0x38, /* 00111000 */
1798 0x44, /* 01000100 */
1799 0x44, /* 01000100 */
1800 0x44, /* 01000100 */
1801 0x38, /* 00111000 */
1802 0x00, /* 00000000 */
1803 0x00, /* 00000000 */
1804
1805 /* 150 0x96 '\226' */
1806 0x10, /* 00010000 */
1807 0x28, /* 00101000 */
1808 0x00, /* 00000000 */
1809 0x44, /* 01000100 */
1810 0x44, /* 01000100 */
1811 0x44, /* 01000100 */
1812 0x4C, /* 01001100 */
1813 0x34, /* 00110100 */
1814 0x00, /* 00000000 */
1815 0x00, /* 00000000 */
1816
1817 /* 151 0x97 '\227' */
1818 0x20, /* 00100000 */
1819 0x10, /* 00010000 */
1820 0x00, /* 00000000 */
1821 0x44, /* 01000100 */
1822 0x44, /* 01000100 */
1823 0x44, /* 01000100 */
1824 0x4C, /* 01001100 */
1825 0x34, /* 00110100 */
1826 0x00, /* 00000000 */
1827 0x00, /* 00000000 */
1828
1829 /* 152 0x98 '\230' */
1830 0x00, /* 00000000 */
1831 0x28, /* 00101000 */
1832 0x00, /* 00000000 */
1833 0x44, /* 01000100 */
1834 0x44, /* 01000100 */
1835 0x44, /* 01000100 */
1836 0x44, /* 01000100 */
1837 0x3C, /* 00111100 */
1838 0x04, /* 00000100 */
1839 0x38, /* 00111000 */
1840
1841 /* 153 0x99 '\231' */
1842 0x84, /* 10000100 */
1843 0x38, /* 00111000 */
1844 0x44, /* 01000100 */
1845 0x44, /* 01000100 */
1846 0x44, /* 01000100 */
1847 0x44, /* 01000100 */
1848 0x44, /* 01000100 */
1849 0x38, /* 00111000 */
1850 0x00, /* 00000000 */
1851 0x00, /* 00000000 */
1852
1853 /* 154 0x9A '\232' */
1854 0x88, /* 10001000 */
1855 0x44, /* 01000100 */
1856 0x44, /* 01000100 */
1857 0x44, /* 01000100 */
1858 0x44, /* 01000100 */
1859 0x44, /* 01000100 */
1860 0x44, /* 01000100 */
1861 0x38, /* 00111000 */
1862 0x00, /* 00000000 */
1863 0x00, /* 00000000 */
1864
1865 /* 155 0x9B '\233' */
1866 0x00, /* 00000000 */
1867 0x00, /* 00000000 */
1868 0x10, /* 00010000 */
1869 0x38, /* 00111000 */
1870 0x54, /* 01010100 */
1871 0x50, /* 01010000 */
1872 0x54, /* 01010100 */
1873 0x38, /* 00111000 */
1874 0x10, /* 00010000 */
1875 0x00, /* 00000000 */
1876
1877 /* 156 0x9C '\234' */
1878 0x30, /* 00110000 */
1879 0x48, /* 01001000 */
1880 0x40, /* 01000000 */
1881 0x70, /* 01110000 */
1882 0x40, /* 01000000 */
1883 0x40, /* 01000000 */
1884 0x44, /* 01000100 */
1885 0x78, /* 01111000 */
1886 0x00, /* 00000000 */
1887 0x00, /* 00000000 */
1888
1889 /* 157 0x9D '\235' */
1890 0x00, /* 00000000 */
1891 0x44, /* 01000100 */
1892 0x28, /* 00101000 */
1893 0x7C, /* 01111100 */
1894 0x10, /* 00010000 */
1895 0x7C, /* 01111100 */
1896 0x10, /* 00010000 */
1897 0x10, /* 00010000 */
1898 0x00, /* 00000000 */
1899 0x00, /* 00000000 */
1900
1901 /* 158 0x9E '\236' */
1902 0x00, /* 00000000 */
1903 0x70, /* 01110000 */
1904 0x48, /* 01001000 */
1905 0x70, /* 01110000 */
1906 0x48, /* 01001000 */
1907 0x5C, /* 01011100 */
1908 0x48, /* 01001000 */
1909 0x44, /* 01000100 */
1910 0x00, /* 00000000 */
1911 0x00, /* 00000000 */
1912
1913 /* 159 0x9F '\237' */
1914 0x00, /* 00000000 */
1915 0x0C, /* 00001100 */
1916 0x10, /* 00010000 */
1917 0x10, /* 00010000 */
1918 0x38, /* 00111000 */
1919 0x10, /* 00010000 */
1920 0x10, /* 00010000 */
1921 0x60, /* 01100000 */
1922 0x00, /* 00000000 */
1923 0x00, /* 00000000 */
1924
1925 /* 160 0xA0 '\240' */
1926 0x08, /* 00001000 */
1927 0x10, /* 00010000 */
1928 0x00, /* 00000000 */
1929 0x38, /* 00111000 */
1930 0x04, /* 00000100 */
1931 0x3C, /* 00111100 */
1932 0x44, /* 01000100 */
1933 0x3C, /* 00111100 */
1934 0x00, /* 00000000 */
1935 0x00, /* 00000000 */
1936
1937 /* 161 0xA1 '\241' */
1938 0x08, /* 00001000 */
1939 0x10, /* 00010000 */
1940 0x00, /* 00000000 */
1941 0x30, /* 00110000 */
1942 0x10, /* 00010000 */
1943 0x10, /* 00010000 */
1944 0x10, /* 00010000 */
1945 0x38, /* 00111000 */
1946 0x00, /* 00000000 */
1947 0x00, /* 00000000 */
1948
1949 /* 162 0xA2 '\242' */
1950 0x08, /* 00001000 */
1951 0x10, /* 00010000 */
1952 0x00, /* 00000000 */
1953 0x38, /* 00111000 */
1954 0x44, /* 01000100 */
1955 0x44, /* 01000100 */
1956 0x44, /* 01000100 */
1957 0x38, /* 00111000 */
1958 0x00, /* 00000000 */
1959 0x00, /* 00000000 */
1960
1961 /* 163 0xA3 '\243' */
1962 0x08, /* 00001000 */
1963 0x10, /* 00010000 */
1964 0x00, /* 00000000 */
1965 0x44, /* 01000100 */
1966 0x44, /* 01000100 */
1967 0x44, /* 01000100 */
1968 0x4C, /* 01001100 */
1969 0x34, /* 00110100 */
1970 0x00, /* 00000000 */
1971 0x00, /* 00000000 */
1972
1973 /* 164 0xA4 '\244' */
1974 0x34, /* 00110100 */
1975 0x58, /* 01011000 */
1976 0x00, /* 00000000 */
1977 0x58, /* 01011000 */
1978 0x64, /* 01100100 */
1979 0x44, /* 01000100 */
1980 0x44, /* 01000100 */
1981 0x44, /* 01000100 */
1982 0x00, /* 00000000 */
1983 0x00, /* 00000000 */
1984
1985 /* 165 0xA5 '\245' */
1986 0x58, /* 01011000 */
1987 0x44, /* 01000100 */
1988 0x64, /* 01100100 */
1989 0x54, /* 01010100 */
1990 0x4C, /* 01001100 */
1991 0x44, /* 01000100 */
1992 0x44, /* 01000100 */
1993 0x44, /* 01000100 */
1994 0x00, /* 00000000 */
1995 0x00, /* 00000000 */
1996
1997 /* 166 0xA6 '\246' */
1998 0x00, /* 00000000 */
1999 0x38, /* 00111000 */
2000 0x04, /* 00000100 */
2001 0x3C, /* 00111100 */
2002 0x44, /* 01000100 */
2003 0x3C, /* 00111100 */
2004 0x00, /* 00000000 */
2005 0x7C, /* 01111100 */
2006 0x00, /* 00000000 */
2007 0x00, /* 00000000 */
2008
2009 /* 167 0xA7 '\247' */
2010 0x00, /* 00000000 */
2011 0x38, /* 00111000 */
2012 0x44, /* 01000100 */
2013 0x44, /* 01000100 */
2014 0x44, /* 01000100 */
2015 0x38, /* 00111000 */
2016 0x00, /* 00000000 */
2017 0x7C, /* 01111100 */
2018 0x00, /* 00000000 */
2019 0x00, /* 00000000 */
2020
2021 /* 168 0xA8 '\250' */
2022 0x00, /* 00000000 */
2023 0x10, /* 00010000 */
2024 0x00, /* 00000000 */
2025 0x10, /* 00010000 */
2026 0x20, /* 00100000 */
2027 0x40, /* 01000000 */
2028 0x44, /* 01000100 */
2029 0x38, /* 00111000 */
2030 0x00, /* 00000000 */
2031 0x00, /* 00000000 */
2032
2033 /* 169 0xA9 '\251' */
2034 0x00, /* 00000000 */
2035 0x00, /* 00000000 */
2036 0x00, /* 00000000 */
2037 0x00, /* 00000000 */
2038 0x7C, /* 01111100 */
2039 0x40, /* 01000000 */
2040 0x40, /* 01000000 */
2041 0x00, /* 00000000 */
2042 0x00, /* 00000000 */
2043 0x00, /* 00000000 */
2044
2045 /* 170 0xAA '\252' */
2046 0x00, /* 00000000 */
2047 0x00, /* 00000000 */
2048 0x00, /* 00000000 */
2049 0x00, /* 00000000 */
2050 0x7C, /* 01111100 */
2051 0x04, /* 00000100 */
2052 0x04, /* 00000100 */
2053 0x00, /* 00000000 */
2054 0x00, /* 00000000 */
2055 0x00, /* 00000000 */
2056
2057 /* 171 0xAB '\253' */
2058 0x20, /* 00100000 */
2059 0x60, /* 01100000 */
2060 0x24, /* 00100100 */
2061 0x28, /* 00101000 */
2062 0x10, /* 00010000 */
2063 0x28, /* 00101000 */
2064 0x44, /* 01000100 */
2065 0x08, /* 00001000 */
2066 0x1C, /* 00011100 */
2067 0x00, /* 00000000 */
2068
2069 /* 172 0xAC '\254' */
2070 0x20, /* 00100000 */
2071 0x60, /* 01100000 */
2072 0x24, /* 00100100 */
2073 0x28, /* 00101000 */
2074 0x10, /* 00010000 */
2075 0x28, /* 00101000 */
2076 0x58, /* 01011000 */
2077 0x3C, /* 00111100 */
2078 0x08, /* 00001000 */
2079 0x00, /* 00000000 */
2080
2081 /* 173 0xAD '\255' */
2082 0x00, /* 00000000 */
2083 0x10, /* 00010000 */
2084 0x00, /* 00000000 */
2085 0x10, /* 00010000 */
2086 0x10, /* 00010000 */
2087 0x10, /* 00010000 */
2088 0x10, /* 00010000 */
2089 0x10, /* 00010000 */
2090 0x00, /* 00000000 */
2091 0x00, /* 00000000 */
2092
2093 /* 174 0xAE '\256' */
2094 0x00, /* 00000000 */
2095 0x00, /* 00000000 */
2096 0x00, /* 00000000 */
2097 0x24, /* 00100100 */
2098 0x48, /* 01001000 */
2099 0x90, /* 10010000 */
2100 0x48, /* 01001000 */
2101 0x24, /* 00100100 */
2102 0x00, /* 00000000 */
2103 0x00, /* 00000000 */
2104
2105 /* 175 0xAF '\257' */
2106 0x00, /* 00000000 */
2107 0x00, /* 00000000 */
2108 0x00, /* 00000000 */
2109 0x90, /* 10010000 */
2110 0x48, /* 01001000 */
2111 0x24, /* 00100100 */
2112 0x48, /* 01001000 */
2113 0x90, /* 10010000 */
2114 0x00, /* 00000000 */
2115 0x00, /* 00000000 */
2116
2117 /* 176 0xB0 '\260' */
2118 0x10, /* 00010000 */
2119 0x44, /* 01000100 */
2120 0x10, /* 00010000 */
2121 0x44, /* 01000100 */
2122 0x10, /* 00010000 */
2123 0x44, /* 01000100 */
2124 0x10, /* 00010000 */
2125 0x44, /* 01000100 */
2126 0x10, /* 00010000 */
2127 0x44, /* 01000100 */
2128
2129 /* 177 0xB1 '\261' */
2130 0xA8, /* 10101000 */
2131 0x54, /* 01010100 */
2132 0xA8, /* 10101000 */
2133 0x54, /* 01010100 */
2134 0xA8, /* 10101000 */
2135 0x54, /* 01010100 */
2136 0xA8, /* 10101000 */
2137 0x54, /* 01010100 */
2138 0xA8, /* 10101000 */
2139 0x54, /* 01010100 */
2140
2141 /* 178 0xB2 '\262' */
2142 0xDC, /* 11011100 */
2143 0x74, /* 01110100 */
2144 0xDC, /* 11011100 */
2145 0x74, /* 01110100 */
2146 0xDC, /* 11011100 */
2147 0x74, /* 01110100 */
2148 0xDC, /* 11011100 */
2149 0x74, /* 01110100 */
2150 0xDC, /* 11011100 */
2151 0x74, /* 01110100 */
2152
2153 /* 179 0xB3 '\263' */
2154 0x10, /* 00010000 */
2155 0x10, /* 00010000 */
2156 0x10, /* 00010000 */
2157 0x10, /* 00010000 */
2158 0x10, /* 00010000 */
2159 0x10, /* 00010000 */
2160 0x10, /* 00010000 */
2161 0x10, /* 00010000 */
2162 0x10, /* 00010000 */
2163 0x10, /* 00010000 */
2164
2165 /* 180 0xB4 '\264' */
2166 0x10, /* 00010000 */
2167 0x10, /* 00010000 */
2168 0x10, /* 00010000 */
2169 0x10, /* 00010000 */
2170 0xF0, /* 11110000 */
2171 0x10, /* 00010000 */
2172 0x10, /* 00010000 */
2173 0x10, /* 00010000 */
2174 0x10, /* 00010000 */
2175 0x10, /* 00010000 */
2176
2177 /* 181 0xB5 '\265' */
2178 0x10, /* 00010000 */
2179 0x10, /* 00010000 */
2180 0x10, /* 00010000 */
2181 0xF0, /* 11110000 */
2182 0x10, /* 00010000 */
2183 0xF0, /* 11110000 */
2184 0x10, /* 00010000 */
2185 0x10, /* 00010000 */
2186 0x10, /* 00010000 */
2187 0x10, /* 00010000 */
2188
2189 /* 182 0xB6 '\266' */
2190 0x28, /* 00101000 */
2191 0x28, /* 00101000 */
2192 0x28, /* 00101000 */
2193 0x28, /* 00101000 */
2194 0xE8, /* 11101000 */
2195 0x28, /* 00101000 */
2196 0x28, /* 00101000 */
2197 0x28, /* 00101000 */
2198 0x28, /* 00101000 */
2199 0x28, /* 00101000 */
2200
2201 /* 183 0xB7 '\267' */
2202 0x00, /* 00000000 */
2203 0x00, /* 00000000 */
2204 0x00, /* 00000000 */
2205 0x00, /* 00000000 */
2206 0xF8, /* 11111000 */
2207 0x28, /* 00101000 */
2208 0x28, /* 00101000 */
2209 0x28, /* 00101000 */
2210 0x28, /* 00101000 */
2211 0x28, /* 00101000 */
2212
2213 /* 184 0xB8 '\270' */
2214 0x00, /* 00000000 */
2215 0x00, /* 00000000 */
2216 0x00, /* 00000000 */
2217 0xF0, /* 11110000 */
2218 0x10, /* 00010000 */
2219 0xF0, /* 11110000 */
2220 0x10, /* 00010000 */
2221 0x10, /* 00010000 */
2222 0x10, /* 00010000 */
2223 0x10, /* 00010000 */
2224
2225 /* 185 0xB9 '\271' */
2226 0x28, /* 00101000 */
2227 0x28, /* 00101000 */
2228 0x28, /* 00101000 */
2229 0xE8, /* 11101000 */
2230 0x08, /* 00001000 */
2231 0xE8, /* 11101000 */
2232 0x28, /* 00101000 */
2233 0x28, /* 00101000 */
2234 0x28, /* 00101000 */
2235 0x28, /* 00101000 */
2236
2237 /* 186 0xBA '\272' */
2238 0x28, /* 00101000 */
2239 0x28, /* 00101000 */
2240 0x28, /* 00101000 */
2241 0x28, /* 00101000 */
2242 0x28, /* 00101000 */
2243 0x28, /* 00101000 */
2244 0x28, /* 00101000 */
2245 0x28, /* 00101000 */
2246 0x28, /* 00101000 */
2247 0x28, /* 00101000 */
2248
2249 /* 187 0xBB '\273' */
2250 0x00, /* 00000000 */
2251 0x00, /* 00000000 */
2252 0x00, /* 00000000 */
2253 0xF8, /* 11111000 */
2254 0x08, /* 00001000 */
2255 0xE8, /* 11101000 */
2256 0x28, /* 00101000 */
2257 0x28, /* 00101000 */
2258 0x28, /* 00101000 */
2259 0x28, /* 00101000 */
2260
2261 /* 188 0xBC '\274' */
2262 0x28, /* 00101000 */
2263 0x28, /* 00101000 */
2264 0x28, /* 00101000 */
2265 0xE8, /* 11101000 */
2266 0x08, /* 00001000 */
2267 0xF8, /* 11111000 */
2268 0x00, /* 00000000 */
2269 0x00, /* 00000000 */
2270 0x00, /* 00000000 */
2271 0x00, /* 00000000 */
2272
2273 /* 189 0xBD '\275' */
2274 0x28, /* 00101000 */
2275 0x28, /* 00101000 */
2276 0x28, /* 00101000 */
2277 0x28, /* 00101000 */
2278 0xF8, /* 11111000 */
2279 0x00, /* 00000000 */
2280 0x00, /* 00000000 */
2281 0x00, /* 00000000 */
2282 0x00, /* 00000000 */
2283 0x00, /* 00000000 */
2284
2285 /* 190 0xBE '\276' */
2286 0x10, /* 00010000 */
2287 0x10, /* 00010000 */
2288 0x10, /* 00010000 */
2289 0xF0, /* 11110000 */
2290 0x10, /* 00010000 */
2291 0xF0, /* 11110000 */
2292 0x00, /* 00000000 */
2293 0x00, /* 00000000 */
2294 0x00, /* 00000000 */
2295 0x00, /* 00000000 */
2296
2297 /* 191 0xBF '\277' */
2298 0x00, /* 00000000 */
2299 0x00, /* 00000000 */
2300 0x00, /* 00000000 */
2301 0x00, /* 00000000 */
2302 0xF0, /* 11110000 */
2303 0x10, /* 00010000 */
2304 0x10, /* 00010000 */
2305 0x10, /* 00010000 */
2306 0x10, /* 00010000 */
2307 0x10, /* 00010000 */
2308
2309 /* 192 0xC0 '\300' */
2310 0x10, /* 00010000 */
2311 0x10, /* 00010000 */
2312 0x10, /* 00010000 */
2313 0x10, /* 00010000 */
2314 0x1C, /* 00011100 */
2315 0x00, /* 00000000 */
2316 0x00, /* 00000000 */
2317 0x00, /* 00000000 */
2318 0x00, /* 00000000 */
2319 0x00, /* 00000000 */
2320
2321 /* 193 0xC1 '\301' */
2322 0x10, /* 00010000 */
2323 0x10, /* 00010000 */
2324 0x10, /* 00010000 */
2325 0x10, /* 00010000 */
2326 0xFC, /* 11111100 */
2327 0x00, /* 00000000 */
2328 0x00, /* 00000000 */
2329 0x00, /* 00000000 */
2330 0x00, /* 00000000 */
2331 0x00, /* 00000000 */
2332
2333 /* 194 0xC2 '\302' */
2334 0x00, /* 00000000 */
2335 0x00, /* 00000000 */
2336 0x00, /* 00000000 */
2337 0x00, /* 00000000 */
2338 0xFC, /* 11111100 */
2339 0x10, /* 00010000 */
2340 0x10, /* 00010000 */
2341 0x10, /* 00010000 */
2342 0x10, /* 00010000 */
2343 0x10, /* 00010000 */
2344
2345 /* 195 0xC3 '\303' */
2346 0x10, /* 00010000 */
2347 0x10, /* 00010000 */
2348 0x10, /* 00010000 */
2349 0x10, /* 00010000 */
2350 0x1C, /* 00011100 */
2351 0x10, /* 00010000 */
2352 0x10, /* 00010000 */
2353 0x10, /* 00010000 */
2354 0x10, /* 00010000 */
2355 0x10, /* 00010000 */
2356
2357 /* 196 0xC4 '\304' */
2358 0x00, /* 00000000 */
2359 0x00, /* 00000000 */
2360 0x00, /* 00000000 */
2361 0x00, /* 00000000 */
2362 0xFC, /* 11111100 */
2363 0x00, /* 00000000 */
2364 0x00, /* 00000000 */
2365 0x00, /* 00000000 */
2366 0x00, /* 00000000 */
2367 0x00, /* 00000000 */
2368
2369 /* 197 0xC5 '\305' */
2370 0x10, /* 00010000 */
2371 0x10, /* 00010000 */
2372 0x10, /* 00010000 */
2373 0x10, /* 00010000 */
2374 0xFC, /* 11111100 */
2375 0x10, /* 00010000 */
2376 0x10, /* 00010000 */
2377 0x10, /* 00010000 */
2378 0x10, /* 00010000 */
2379 0x10, /* 00010000 */
2380
2381 /* 198 0xC6 '\306' */
2382 0x10, /* 00010000 */
2383 0x10, /* 00010000 */
2384 0x10, /* 00010000 */
2385 0x1C, /* 00011100 */
2386 0x10, /* 00010000 */
2387 0x1C, /* 00011100 */
2388 0x10, /* 00010000 */
2389 0x10, /* 00010000 */
2390 0x10, /* 00010000 */
2391 0x10, /* 00010000 */
2392
2393 /* 199 0xC7 '\307' */
2394 0x28, /* 00101000 */
2395 0x28, /* 00101000 */
2396 0x28, /* 00101000 */
2397 0x28, /* 00101000 */
2398 0x2C, /* 00101100 */
2399 0x28, /* 00101000 */
2400 0x28, /* 00101000 */
2401 0x28, /* 00101000 */
2402 0x28, /* 00101000 */
2403 0x28, /* 00101000 */
2404
2405 /* 200 0xC8 '\310' */
2406 0x28, /* 00101000 */
2407 0x28, /* 00101000 */
2408 0x28, /* 00101000 */
2409 0x2C, /* 00101100 */
2410 0x20, /* 00100000 */
2411 0x3C, /* 00111100 */
2412 0x00, /* 00000000 */
2413 0x00, /* 00000000 */
2414 0x00, /* 00000000 */
2415 0x00, /* 00000000 */
2416
2417 /* 201 0xC9 '\311' */
2418 0x00, /* 00000000 */
2419 0x00, /* 00000000 */
2420 0x00, /* 00000000 */
2421 0x3C, /* 00111100 */
2422 0x20, /* 00100000 */
2423 0x2C, /* 00101100 */
2424 0x28, /* 00101000 */
2425 0x28, /* 00101000 */
2426 0x28, /* 00101000 */
2427 0x28, /* 00101000 */
2428
2429 /* 202 0xCA '\312' */
2430 0x28, /* 00101000 */
2431 0x28, /* 00101000 */
2432 0x28, /* 00101000 */
2433 0xEC, /* 11101100 */
2434 0x00, /* 00000000 */
2435 0xFC, /* 11111100 */
2436 0x00, /* 00000000 */
2437 0x00, /* 00000000 */
2438 0x00, /* 00000000 */
2439 0x00, /* 00000000 */
2440
2441 /* 203 0xCB '\313' */
2442 0x00, /* 00000000 */
2443 0x00, /* 00000000 */
2444 0x00, /* 00000000 */
2445 0xFC, /* 11111100 */
2446 0x00, /* 00000000 */
2447 0xEC, /* 11101100 */
2448 0x28, /* 00101000 */
2449 0x28, /* 00101000 */
2450 0x28, /* 00101000 */
2451 0x28, /* 00101000 */
2452
2453 /* 204 0xCC '\314' */
2454 0x28, /* 00101000 */
2455 0x28, /* 00101000 */
2456 0x28, /* 00101000 */
2457 0x2C, /* 00101100 */
2458 0x20, /* 00100000 */
2459 0x2C, /* 00101100 */
2460 0x28, /* 00101000 */
2461 0x28, /* 00101000 */
2462 0x28, /* 00101000 */
2463 0x28, /* 00101000 */
2464
2465 /* 205 0xCD '\315' */
2466 0x00, /* 00000000 */
2467 0x00, /* 00000000 */
2468 0x00, /* 00000000 */
2469 0xFC, /* 11111100 */
2470 0x00, /* 00000000 */
2471 0xFC, /* 11111100 */
2472 0x00, /* 00000000 */
2473 0x00, /* 00000000 */
2474 0x00, /* 00000000 */
2475 0x00, /* 00000000 */
2476
2477 /* 206 0xCE '\316' */
2478 0x28, /* 00101000 */
2479 0x28, /* 00101000 */
2480 0x28, /* 00101000 */
2481 0xEC, /* 11101100 */
2482 0x00, /* 00000000 */
2483 0xEC, /* 11101100 */
2484 0x28, /* 00101000 */
2485 0x28, /* 00101000 */
2486 0x28, /* 00101000 */
2487 0x28, /* 00101000 */
2488
2489 /* 207 0xCF '\317' */
2490 0x10, /* 00010000 */
2491 0x10, /* 00010000 */
2492 0x10, /* 00010000 */
2493 0xFC, /* 11111100 */
2494 0x00, /* 00000000 */
2495 0xFC, /* 11111100 */
2496 0x00, /* 00000000 */
2497 0x00, /* 00000000 */
2498 0x00, /* 00000000 */
2499 0x00, /* 00000000 */
2500
2501 /* 208 0xD0 '\320' */
2502 0x28, /* 00101000 */
2503 0x28, /* 00101000 */
2504 0x28, /* 00101000 */
2505 0x28, /* 00101000 */
2506 0xFC, /* 11111100 */
2507 0x00, /* 00000000 */
2508 0x00, /* 00000000 */
2509 0x00, /* 00000000 */
2510 0x00, /* 00000000 */
2511 0x00, /* 00000000 */
2512
2513 /* 209 0xD1 '\321' */
2514 0x00, /* 00000000 */
2515 0x00, /* 00000000 */
2516 0x00, /* 00000000 */
2517 0xFC, /* 11111100 */
2518 0x00, /* 00000000 */
2519 0xFC, /* 11111100 */
2520 0x10, /* 00010000 */
2521 0x10, /* 00010000 */
2522 0x10, /* 00010000 */
2523 0x10, /* 00010000 */
2524
2525 /* 210 0xD2 '\322' */
2526 0x00, /* 00000000 */
2527 0x00, /* 00000000 */
2528 0x00, /* 00000000 */
2529 0x00, /* 00000000 */
2530 0xFC, /* 11111100 */
2531 0x28, /* 00101000 */
2532 0x28, /* 00101000 */
2533 0x28, /* 00101000 */
2534 0x28, /* 00101000 */
2535 0x28, /* 00101000 */
2536
2537 /* 211 0xD3 '\323' */
2538 0x28, /* 00101000 */
2539 0x28, /* 00101000 */
2540 0x28, /* 00101000 */
2541 0x28, /* 00101000 */
2542 0x3C, /* 00111100 */
2543 0x00, /* 00000000 */
2544 0x00, /* 00000000 */
2545 0x00, /* 00000000 */
2546 0x00, /* 00000000 */
2547 0x00, /* 00000000 */
2548
2549 /* 212 0xD4 '\324' */
2550 0x10, /* 00010000 */
2551 0x10, /* 00010000 */
2552 0x10, /* 00010000 */
2553 0x1C, /* 00011100 */
2554 0x10, /* 00010000 */
2555 0x1C, /* 00011100 */
2556 0x00, /* 00000000 */
2557 0x00, /* 00000000 */
2558 0x00, /* 00000000 */
2559 0x00, /* 00000000 */
2560
2561 /* 213 0xD5 '\325' */
2562 0x00, /* 00000000 */
2563 0x00, /* 00000000 */
2564 0x00, /* 00000000 */
2565 0x1C, /* 00011100 */
2566 0x10, /* 00010000 */
2567 0x1C, /* 00011100 */
2568 0x10, /* 00010000 */
2569 0x10, /* 00010000 */
2570 0x10, /* 00010000 */
2571 0x10, /* 00010000 */
2572
2573 /* 214 0xD6 '\326' */
2574 0x00, /* 00000000 */
2575 0x00, /* 00000000 */
2576 0x00, /* 00000000 */
2577 0x00, /* 00000000 */
2578 0x3C, /* 00111100 */
2579 0x28, /* 00101000 */
2580 0x28, /* 00101000 */
2581 0x28, /* 00101000 */
2582 0x28, /* 00101000 */
2583 0x28, /* 00101000 */
2584
2585 /* 215 0xD7 '\327' */
2586 0x28, /* 00101000 */
2587 0x28, /* 00101000 */
2588 0x28, /* 00101000 */
2589 0x28, /* 00101000 */
2590 0xFC, /* 11111100 */
2591 0x28, /* 00101000 */
2592 0x28, /* 00101000 */
2593 0x28, /* 00101000 */
2594 0x28, /* 00101000 */
2595 0x28, /* 00101000 */
2596
2597 /* 216 0xD8 '\330' */
2598 0x10, /* 00010000 */
2599 0x10, /* 00010000 */
2600 0x10, /* 00010000 */
2601 0xFC, /* 11111100 */
2602 0x10, /* 00010000 */
2603 0xFC, /* 11111100 */
2604 0x10, /* 00010000 */
2605 0x10, /* 00010000 */
2606 0x10, /* 00010000 */
2607 0x10, /* 00010000 */
2608
2609 /* 217 0xD9 '\331' */
2610 0x10, /* 00010000 */
2611 0x10, /* 00010000 */
2612 0x10, /* 00010000 */
2613 0x10, /* 00010000 */
2614 0xF0, /* 11110000 */
2615 0x00, /* 00000000 */
2616 0x00, /* 00000000 */
2617 0x00, /* 00000000 */
2618 0x00, /* 00000000 */
2619 0x00, /* 00000000 */
2620
2621 /* 218 0xDA '\332' */
2622 0x00, /* 00000000 */
2623 0x00, /* 00000000 */
2624 0x00, /* 00000000 */
2625 0x00, /* 00000000 */
2626 0x1C, /* 00011100 */
2627 0x10, /* 00010000 */
2628 0x10, /* 00010000 */
2629 0x10, /* 00010000 */
2630 0x10, /* 00010000 */
2631 0x10, /* 00010000 */
2632
2633 /* 219 0xDB '\333' */
2634 0xFC, /* 11111100 */
2635 0xFC, /* 11111100 */
2636 0xFC, /* 11111100 */
2637 0xFC, /* 11111100 */
2638 0xFC, /* 11111100 */
2639 0xFC, /* 11111100 */
2640 0xFC, /* 11111100 */
2641 0xFC, /* 11111100 */
2642 0xFC, /* 11111100 */
2643 0xFC, /* 11111100 */
2644
2645 /* 220 0xDC '\334' */
2646 0x00, /* 00000000 */
2647 0x00, /* 00000000 */
2648 0x00, /* 00000000 */
2649 0x00, /* 00000000 */
2650 0x00, /* 00000000 */
2651 0xFC, /* 11111100 */
2652 0xFC, /* 11111100 */
2653 0xFC, /* 11111100 */
2654 0xFC, /* 11111100 */
2655 0xFC, /* 11111100 */
2656
2657 /* 221 0xDD '\335' */
2658 0xE0, /* 11100000 */
2659 0xE0, /* 11100000 */
2660 0xE0, /* 11100000 */
2661 0xE0, /* 11100000 */
2662 0xE0, /* 11100000 */
2663 0xE0, /* 11100000 */
2664 0xE0, /* 11100000 */
2665 0xE0, /* 11100000 */
2666 0xE0, /* 11100000 */
2667 0xE0, /* 11100000 */
2668
2669 /* 222 0xDE '\336' */
2670 0x1C, /* 00011100 */
2671 0x1C, /* 00011100 */
2672 0x1C, /* 00011100 */
2673 0x1C, /* 00011100 */
2674 0x1C, /* 00011100 */
2675 0x1C, /* 00011100 */
2676 0x1C, /* 00011100 */
2677 0x1C, /* 00011100 */
2678 0x1C, /* 00011100 */
2679 0x1C, /* 00011100 */
2680
2681 /* 223 0xDF '\337' */
2682 0xFC, /* 11111100 */
2683 0xFC, /* 11111100 */
2684 0xFC, /* 11111100 */
2685 0xFC, /* 11111100 */
2686 0xFC, /* 11111100 */
2687 0x00, /* 00000000 */
2688 0x00, /* 00000000 */
2689 0x00, /* 00000000 */
2690 0x00, /* 00000000 */
2691 0x00, /* 00000000 */
2692
2693 /* 224 0xE0 '\340' */
2694 0x00, /* 00000000 */
2695 0x00, /* 00000000 */
2696 0x00, /* 00000000 */
2697 0x34, /* 00110100 */
2698 0x48, /* 01001000 */
2699 0x48, /* 01001000 */
2700 0x48, /* 01001000 */
2701 0x34, /* 00110100 */
2702 0x00, /* 00000000 */
2703 0x00, /* 00000000 */
2704
2705 /* 225 0xE1 '\341' */
2706 0x18, /* 00011000 */
2707 0x24, /* 00100100 */
2708 0x44, /* 01000100 */
2709 0x48, /* 01001000 */
2710 0x48, /* 01001000 */
2711 0x44, /* 01000100 */
2712 0x44, /* 01000100 */
2713 0x58, /* 01011000 */
2714 0x40, /* 01000000 */
2715 0x00, /* 00000000 */
2716
2717 /* 226 0xE2 '\342' */
2718 0x00, /* 00000000 */
2719 0x7C, /* 01111100 */
2720 0x44, /* 01000100 */
2721 0x44, /* 01000100 */
2722 0x40, /* 01000000 */
2723 0x40, /* 01000000 */
2724 0x40, /* 01000000 */
2725 0x40, /* 01000000 */
2726 0x00, /* 00000000 */
2727 0x00, /* 00000000 */
2728
2729 /* 227 0xE3 '\343' */
2730 0x00, /* 00000000 */
2731 0x00, /* 00000000 */
2732 0x00, /* 00000000 */
2733 0x7C, /* 01111100 */
2734 0x28, /* 00101000 */
2735 0x28, /* 00101000 */
2736 0x28, /* 00101000 */
2737 0x28, /* 00101000 */
2738 0x00, /* 00000000 */
2739 0x00, /* 00000000 */
2740
2741 /* 228 0xE4 '\344' */
2742 0x00, /* 00000000 */
2743 0x7C, /* 01111100 */
2744 0x24, /* 00100100 */
2745 0x10, /* 00010000 */
2746 0x08, /* 00001000 */
2747 0x10, /* 00010000 */
2748 0x24, /* 00100100 */
2749 0x7C, /* 01111100 */
2750 0x00, /* 00000000 */
2751 0x00, /* 00000000 */
2752
2753 /* 229 0xE5 '\345' */
2754 0x00, /* 00000000 */
2755 0x00, /* 00000000 */
2756 0x00, /* 00000000 */
2757 0x3C, /* 00111100 */
2758 0x48, /* 01001000 */
2759 0x48, /* 01001000 */
2760 0x48, /* 01001000 */
2761 0x30, /* 00110000 */
2762 0x00, /* 00000000 */
2763 0x00, /* 00000000 */
2764
2765 /* 230 0xE6 '\346' */
2766 0x00, /* 00000000 */
2767 0x00, /* 00000000 */
2768 0x00, /* 00000000 */
2769 0x48, /* 01001000 */
2770 0x48, /* 01001000 */
2771 0x48, /* 01001000 */
2772 0x48, /* 01001000 */
2773 0x74, /* 01110100 */
2774 0x40, /* 01000000 */
2775 0x40, /* 01000000 */
2776
2777 /* 231 0xE7 '\347' */
2778 0x00, /* 00000000 */
2779 0x00, /* 00000000 */
2780 0x00, /* 00000000 */
2781 0x7C, /* 01111100 */
2782 0x10, /* 00010000 */
2783 0x10, /* 00010000 */
2784 0x10, /* 00010000 */
2785 0x0C, /* 00001100 */
2786 0x00, /* 00000000 */
2787 0x00, /* 00000000 */
2788
2789 /* 232 0xE8 '\350' */
2790 0x38, /* 00111000 */
2791 0x10, /* 00010000 */
2792 0x38, /* 00111000 */
2793 0x44, /* 01000100 */
2794 0x44, /* 01000100 */
2795 0x38, /* 00111000 */
2796 0x10, /* 00010000 */
2797 0x38, /* 00111000 */
2798 0x00, /* 00000000 */
2799 0x00, /* 00000000 */
2800
2801 /* 233 0xE9 '\351' */
2802 0x00, /* 00000000 */
2803 0x38, /* 00111000 */
2804 0x44, /* 01000100 */
2805 0x44, /* 01000100 */
2806 0x7C, /* 01111100 */
2807 0x44, /* 01000100 */
2808 0x44, /* 01000100 */
2809 0x38, /* 00111000 */
2810 0x00, /* 00000000 */
2811 0x00, /* 00000000 */
2812
2813 /* 234 0xEA '\352' */
2814 0x00, /* 00000000 */
2815 0x38, /* 00111000 */
2816 0x44, /* 01000100 */
2817 0x44, /* 01000100 */
2818 0x44, /* 01000100 */
2819 0x44, /* 01000100 */
2820 0x28, /* 00101000 */
2821 0x6C, /* 01101100 */
2822 0x00, /* 00000000 */
2823 0x00, /* 00000000 */
2824
2825 /* 235 0xEB '\353' */
2826 0x00, /* 00000000 */
2827 0x18, /* 00011000 */
2828 0x20, /* 00100000 */
2829 0x18, /* 00011000 */
2830 0x24, /* 00100100 */
2831 0x24, /* 00100100 */
2832 0x24, /* 00100100 */
2833 0x18, /* 00011000 */
2834 0x00, /* 00000000 */
2835 0x00, /* 00000000 */
2836
2837 /* 236 0xEC '\354' */
2838 0x00, /* 00000000 */
2839 0x00, /* 00000000 */
2840 0x00, /* 00000000 */
2841 0x38, /* 00111000 */
2842 0x54, /* 01010100 */
2843 0x54, /* 01010100 */
2844 0x54, /* 01010100 */
2845 0x38, /* 00111000 */
2846 0x00, /* 00000000 */
2847 0x00, /* 00000000 */
2848
2849 /* 237 0xED '\355' */
2850 0x00, /* 00000000 */
2851 0x00, /* 00000000 */
2852 0x04, /* 00000100 */
2853 0x38, /* 00111000 */
2854 0x54, /* 01010100 */
2855 0x54, /* 01010100 */
2856 0x38, /* 00111000 */
2857 0x40, /* 01000000 */
2858 0x00, /* 00000000 */
2859 0x00, /* 00000000 */
2860
2861 /* 238 0xEE '\356' */
2862 0x00, /* 00000000 */
2863 0x3C, /* 00111100 */
2864 0x40, /* 01000000 */
2865 0x40, /* 01000000 */
2866 0x38, /* 00111000 */
2867 0x40, /* 01000000 */
2868 0x40, /* 01000000 */
2869 0x3C, /* 00111100 */
2870 0x00, /* 00000000 */
2871 0x00, /* 00000000 */
2872
2873 /* 239 0xEF '\357' */
2874 0x00, /* 00000000 */
2875 0x38, /* 00111000 */
2876 0x44, /* 01000100 */
2877 0x44, /* 01000100 */
2878 0x44, /* 01000100 */
2879 0x44, /* 01000100 */
2880 0x44, /* 01000100 */
2881 0x44, /* 01000100 */
2882 0x00, /* 00000000 */
2883 0x00, /* 00000000 */
2884
2885 /* 240 0xF0 '\360' */
2886 0x00, /* 00000000 */
2887 0x00, /* 00000000 */
2888 0xFC, /* 11111100 */
2889 0x00, /* 00000000 */
2890 0xFC, /* 11111100 */
2891 0x00, /* 00000000 */
2892 0xFC, /* 11111100 */
2893 0x00, /* 00000000 */
2894 0x00, /* 00000000 */
2895 0x00, /* 00000000 */
2896
2897 /* 241 0xF1 '\361' */
2898 0x00, /* 00000000 */
2899 0x10, /* 00010000 */
2900 0x10, /* 00010000 */
2901 0x7C, /* 01111100 */
2902 0x10, /* 00010000 */
2903 0x10, /* 00010000 */
2904 0x00, /* 00000000 */
2905 0x7C, /* 01111100 */
2906 0x00, /* 00000000 */
2907 0x00, /* 00000000 */
2908
2909 /* 242 0xF2 '\362' */
2910 0x00, /* 00000000 */
2911 0x20, /* 00100000 */
2912 0x10, /* 00010000 */
2913 0x08, /* 00001000 */
2914 0x10, /* 00010000 */
2915 0x20, /* 00100000 */
2916 0x00, /* 00000000 */
2917 0x38, /* 00111000 */
2918 0x00, /* 00000000 */
2919 0x00, /* 00000000 */
2920
2921 /* 243 0xF3 '\363' */
2922 0x00, /* 00000000 */
2923 0x08, /* 00001000 */
2924 0x10, /* 00010000 */
2925 0x20, /* 00100000 */
2926 0x10, /* 00010000 */
2927 0x08, /* 00001000 */
2928 0x00, /* 00000000 */
2929 0x38, /* 00111000 */
2930 0x00, /* 00000000 */
2931 0x00, /* 00000000 */
2932
2933 /* 244 0xF4 '\364' */
2934 0x00, /* 00000000 */
2935 0x0C, /* 00001100 */
2936 0x10, /* 00010000 */
2937 0x10, /* 00010000 */
2938 0x10, /* 00010000 */
2939 0x10, /* 00010000 */
2940 0x10, /* 00010000 */
2941 0x10, /* 00010000 */
2942 0x10, /* 00010000 */
2943 0x10, /* 00010000 */
2944
2945 /* 245 0xF5 '\365' */
2946 0x10, /* 00010000 */
2947 0x10, /* 00010000 */
2948 0x10, /* 00010000 */
2949 0x10, /* 00010000 */
2950 0x10, /* 00010000 */
2951 0x10, /* 00010000 */
2952 0x10, /* 00010000 */
2953 0x10, /* 00010000 */
2954 0x60, /* 01100000 */
2955 0x00, /* 00000000 */
2956
2957 /* 246 0xF6 '\366' */
2958 0x00, /* 00000000 */
2959 0x00, /* 00000000 */
2960 0x10, /* 00010000 */
2961 0x00, /* 00000000 */
2962 0x7C, /* 01111100 */
2963 0x00, /* 00000000 */
2964 0x10, /* 00010000 */
2965 0x00, /* 00000000 */
2966 0x00, /* 00000000 */
2967 0x00, /* 00000000 */
2968
2969 /* 247 0xF7 '\367' */
2970 0x00, /* 00000000 */
2971 0x00, /* 00000000 */
2972 0x20, /* 00100000 */
2973 0x54, /* 01010100 */
2974 0x08, /* 00001000 */
2975 0x20, /* 00100000 */
2976 0x54, /* 01010100 */
2977 0x08, /* 00001000 */
2978 0x00, /* 00000000 */
2979 0x00, /* 00000000 */
2980
2981 /* 248 0xF8 '\370' */
2982 0x30, /* 00110000 */
2983 0x48, /* 01001000 */
2984 0x48, /* 01001000 */
2985 0x30, /* 00110000 */
2986 0x00, /* 00000000 */
2987 0x00, /* 00000000 */
2988 0x00, /* 00000000 */
2989 0x00, /* 00000000 */
2990 0x00, /* 00000000 */
2991 0x00, /* 00000000 */
2992
2993 /* 249 0xF9 '\371' */
2994 0x00, /* 00000000 */
2995 0x00, /* 00000000 */
2996 0x00, /* 00000000 */
2997 0x10, /* 00010000 */
2998 0x38, /* 00111000 */
2999 0x10, /* 00010000 */
3000 0x00, /* 00000000 */
3001 0x00, /* 00000000 */
3002 0x00, /* 00000000 */
3003 0x00, /* 00000000 */
3004
3005 /* 250 0xFA '\372' */
3006 0x00, /* 00000000 */
3007 0x00, /* 00000000 */
3008 0x00, /* 00000000 */
3009 0x00, /* 00000000 */
3010 0x10, /* 00010000 */
3011 0x00, /* 00000000 */
3012 0x00, /* 00000000 */
3013 0x00, /* 00000000 */
3014 0x00, /* 00000000 */
3015 0x00, /* 00000000 */
3016
3017 /* 251 0xFB '\373' */
3018 0x00, /* 00000000 */
3019 0x04, /* 00000100 */
3020 0x08, /* 00001000 */
3021 0x08, /* 00001000 */
3022 0x50, /* 01010000 */
3023 0x50, /* 01010000 */
3024 0x20, /* 00100000 */
3025 0x20, /* 00100000 */
3026 0x00, /* 00000000 */
3027 0x00, /* 00000000 */
3028
3029 /* 252 0xFC '\374' */
3030 0x60, /* 01100000 */
3031 0x50, /* 01010000 */
3032 0x50, /* 01010000 */
3033 0x50, /* 01010000 */
3034 0x00, /* 00000000 */
3035 0x00, /* 00000000 */
3036 0x00, /* 00000000 */
3037 0x00, /* 00000000 */
3038 0x00, /* 00000000 */
3039 0x00, /* 00000000 */
3040
3041 /* 253 0xFD '\375' */
3042 0x60, /* 01100000 */
3043 0x10, /* 00010000 */
3044 0x20, /* 00100000 */
3045 0x70, /* 01110000 */
3046 0x00, /* 00000000 */
3047 0x00, /* 00000000 */
3048 0x00, /* 00000000 */
3049 0x00, /* 00000000 */
3050 0x00, /* 00000000 */
3051 0x00, /* 00000000 */
3052
3053 /* 254 0xFE '\376' */
3054 0x00, /* 00000000 */
3055 0x00, /* 00000000 */
3056 0x38, /* 00111000 */
3057 0x38, /* 00111000 */
3058 0x38, /* 00111000 */
3059 0x38, /* 00111000 */
3060 0x38, /* 00111000 */
3061 0x38, /* 00111000 */
3062 0x00, /* 00000000 */
3063 0x00, /* 00000000 */
3064
3065 /* 255 0xFF '\377' */
3066 0x00, /* 00000000 */
3067 0x00, /* 00000000 */
3068 0x00, /* 00000000 */
3069 0x00, /* 00000000 */
3070 0x00, /* 00000000 */
3071 0x00, /* 00000000 */
3072 0x00, /* 00000000 */
3073 0x00, /* 00000000 */
3074 0x00, /* 00000000 */
3075 0x00, /* 00000000 */
3076
3077};
3078
3079const struct font_desc font_6x10 = {
3080 .idx = FONT6x10_IDX,
3081 .name = "6x10",
3082 .width = 6,
3083 .height = 10,
3084 .data = fontdata_6x10,
3085 .pref = 0,
3086};
diff --git a/lib/fonts/fonts.c b/lib/fonts/fonts.c
index f947189efe6d..823376ca0a8b 100644
--- a/lib/fonts/fonts.c
+++ b/lib/fonts/fonts.c
@@ -63,6 +63,10 @@ static const struct font_desc *fonts[] = {
63#undef NO_FONTS 63#undef NO_FONTS
64 &font_mini_4x6, 64 &font_mini_4x6,
65#endif 65#endif
66#ifdef CONFIG_FONT_6x10
67#undef NO_FONTS
68 &font_6x10,
69#endif
66}; 70};
67 71
68#define num_fonts ARRAY_SIZE(fonts) 72#define num_fonts ARRAY_SIZE(fonts)