Commit 03fab1f6 authored by James Simmons's avatar James Simmons

[LOGO] New better logo code.

[FBDEV] Moved a few more header files.
parent 3bb9807c
......@@ -5,6 +5,10 @@
mainmenu "Linux Kernel Configuration"
config MIPS64
bool
default y
config MMU
bool
default y
......
......@@ -37,9 +37,6 @@
#include <asm/pci-bridge.h>
#include <asm/open_pic.h>
#ifdef CONFIG_FB
#include <asm/linux_logo.h>
#endif
struct pci_address {
unsigned a_hi;
......
......@@ -34,8 +34,9 @@
#include <asm/open_pic.h>
#include <asm/cacheflush.h>
#ifdef CONFIG_FB
#include <asm/linux_logo.h>
#ifdef CONFIG_LOGO_LINUX_CLUT224
#include <linux/linux_logo.h>
extern const struct linux_logo logo_linux_clut224;
#endif
/*
......@@ -294,6 +295,7 @@ check_display(unsigned long mem)
0xff, 0xff, 0x55,
0xff, 0xff, 0xff
};
const unsigned char *clut;
prom_disp_node = 0;
......@@ -360,20 +362,20 @@ check_display(unsigned long mem)
* method is available.
* Should update this to use set-colors.
*/
for (i = 0; i < 32; i++)
if (prom_set_color(ih, i, default_colors[i*3],
default_colors[i*3+1],
default_colors[i*3+2]) != 0)
clut = default_colors;
for (i = 0; i < 32; i++, clut += 3)
if (prom_set_color(ih, i, clut[0], clut[1],
clut[2]) != 0)
break;
#ifdef CONFIG_FRAMEBUFFER_CONSOLE
for (i = 0; i < LINUX_LOGO_COLORS; i++)
if (prom_set_color(ih, i + 32,
linux_logo_red[i],
linux_logo_green[i],
linux_logo_blue[i]) != 0)
#ifdef CONFIG_LOGO_LINUX_CLUT224
clut = logo_linux_clut224.clut;
for (i = 0; i < logo_linux_clut224.clutsize;
i++, clut += 3)
if (prom_set_color(ih, i + 32, clut[0],
clut[1], clut[2]) != 0)
break;
#endif /* CONFIG_FRAMEBUFFER_CONSOLE */
#endif /* CONFIG_LOGO_LINUX_CLUT224 */
}
}
......
......@@ -49,8 +49,9 @@
#include <asm/ppcdebug.h>
#include "open_pic.h"
#ifdef CONFIG_FB
#include <asm/linux_logo.h>
#ifdef CONFIG_LOGO_LINUX_CLUT224
#include <linux/linux_logo.h>
extern const struct linux_logo logo_linux_clut224;
#endif
/*
......@@ -1232,6 +1233,7 @@ check_display(unsigned long mem)
0xff, 0xff, 0x55,
0xff, 0xff, 0xff
};
const unsigned char *clut;
_prom->disp_node = 0;
......@@ -1261,20 +1263,19 @@ check_display(unsigned long mem)
/* Setup a useable color table when the appropriate
* method is available. Should update this to set-colors */
for (i = 0; i < 32; i++)
if (prom_set_color(ih, i, RELOC(default_colors)[i*3],
RELOC(default_colors)[i*3+1],
RELOC(default_colors)[i*3+2]) != 0)
clut = RELOC(default_colors);
for (i = 0; i < 32; i++, clut += 3)
if (prom_set_color(ih, i, clut[0], clut[1],
clut[2]) != 0)
break;
#ifdef CONFIG_FRAMEBUFFER_CONSOLE
for (i = 0; i < LINUX_LOGO_COLORS; i++)
if (prom_set_color(ih, i + 32,
RELOC(linux_logo_red)[i],
RELOC(linux_logo_green)[i],
RELOC(linux_logo_blue)[i]) != 0)
#ifdef CONFIG_LOGO_LINUX_CLUT224
clut = RELOC(RELOC(&logo_linux_clut224)->clut);
for (i = 0; i < logo_linux_clut224.clutsize; i++, clut += 3)
if (prom_set_color(ih, i + 32, clut[0], clut[1],
clut[2]) != 0)
break;
#endif /* CONFIG_FRAMEBUFFER_CONSOLE */
#endif /* CONFIG_LOGO_LINUX_CLUT224 */
/*
* If this display is the device that OF is using for stdout,
......
......@@ -923,6 +923,7 @@ config FB_VIRTUAL
If unsure, say N.
source "drivers/video/console/Kconfig"
source "drivers/video/logo/Kconfig"
endmenu
......@@ -5,6 +5,7 @@
# Each configuration option enables a list of files.
obj-$(CONFIG_VT) += console/
obj-$(CONFIG_LOGO) += logo/
obj-$(CONFIG_FB) += fbmem.o fbmon.o fbcmap.o modedb.o softcursor.o
# Only include macmodes.o if we have FB support and are PPC
......
......@@ -104,12 +104,9 @@
# define DPRINTK(fmt, args...)
#endif
#define LOGO_H 80
#define LOGO_W 80
#define LOGO_LINE (LOGO_W/8)
struct display fb_display[MAX_NR_CONSOLES];
char con2fb_map[MAX_NR_CONSOLES];
static int logo_height;
static int logo_lines;
static int logo_shown = -1;
/* Software scrollback */
......@@ -395,7 +392,7 @@ void accel_putcs(struct vc_data *vc, struct display *p,
image.dx = xx * vc->vc_font.width;
image.dy = yy * vc->vc_font.height;
image.height = vc->vc_font.height;
image.depth = 1;
image.depth = 0;
if (!(vc->vc_font.width & 7)) {
unsigned int pitch, cnt, i, j, k;
......@@ -948,7 +945,8 @@ static void fbcon_set_display(int con, int init, int logo)
int cnt;
int step;
logo_lines = (LOGO_H + vc->vc_font.height - 1) / vc->vc_font.height;
logo_lines = (logo_height + vc->vc_font.height - 1) /
vc->vc_font.height;
q = (unsigned short *) (vc->vc_origin +
vc->vc_size_row * old_rows);
step = logo_lines * old_cols;
......@@ -1943,7 +1941,8 @@ static int fbcon_switch(struct vc_data *vc)
accel_clear_margins(vc, p, 0);
if (logo_shown == -2) {
logo_shown = fg_console;
fb_show_logo(info); /* This is protected above by initmem_freed */
/* This is protected above by initmem_freed */
logo_height = fb_show_logo(info);
update_region(fg_console,
vc->vc_origin + vc->vc_size_row * vc->vc_top,
vc->vc_size_row * (vc->vc_bottom -
......
......@@ -26,13 +26,10 @@
#include <asm/page.h>
#include <asm/pgtable.h>
#include <video/newport.h>
#define INCLUDE_LINUX_LOGO_DATA
#include <asm/linux_logo.h>
#include <linux/linux_logo.h>
#include <linux/font.h>
#define LOGO_W 80
#define LOGO_H 80
extern struct font_desc font_vga_8x16;
......@@ -98,30 +95,11 @@ static inline void newport_init_cmap(void)
}
}
static inline void newport_show_logo(void)
{
unsigned long i;
for (i = 0; i < LINUX_LOGO_COLORS; i++) {
newport_bfwait();
newport_cmap_setaddr(npregs, i + 0x20);
newport_cmap_setrgb(npregs,
linux_logo_red[i],
linux_logo_green[i],
linux_logo_blue[i]);
}
newport_wait();
npregs->set.drawmode0 = (NPORT_DMODE0_DRAW | NPORT_DMODE0_BLOCK |
NPORT_DMODE0_CHOST);
npregs->set.xystarti = ((newport_xsize - LOGO_W) << 16) | (0);
npregs->set.xyendi = ((newport_xsize - 1) << 16);
newport_wait();
for (i = 0; i < LOGO_W * LOGO_H; i++)
npregs->go.hostrw0 = linux_logo[i] << 24;
}
#ifdef CONFIG_LOGO_SGI_CLUT224
static void newport_show_logo(void);
#else
#define newport_show_logo() do { } while (0)
#endif
static inline void newport_clear_screen(int xstart, int ystart, int xend,
int yend, int ci)
......@@ -743,3 +721,38 @@ int cleanup_module(void)
return 0;
}
#endif
#ifdef CONFIG_LOGO_SGI_CLUT224
#undef __initdata
#define __initdata
#include "../logo/logo_sgi_clut224.c"
static void newport_show_logo(void)
{
const struct linux_logo *logo = &logo_sgi_clut224;
const unsigned char *clut = logo->clut;
const unsigned char *data = logo->data;
unsigned long i;
for (i = 0; i < logo->clutsize; i++) {
newport_bfwait();
newport_cmap_setaddr(npregs, i + 0x20);
newport_cmap_setrgb(npregs, clut[0], clut[1], clut[2]);
clut += 3;
}
newport_wait();
npregs->set.drawmode0 = (NPORT_DMODE0_DRAW | NPORT_DMODE0_BLOCK |
NPORT_DMODE0_CHOST);
npregs->set.xystarti = ((newport_xsize - logo->width) << 16) | (0);
npregs->set.xyendi = ((newport_xsize - 1) << 16);
newport_wait();
for (i = 0; i < logo->width*logo->height; i++)
npregs->go.hostrw0 = *data++ << 24;
}
#endif /* CONFIG_LOGO_SGI_CLUT224 */
......@@ -41,8 +41,7 @@
#include <asm/pgtable.h>
#include <linux/fb.h>
#define INCLUDE_LINUX_LOGO_DATA
#include <asm/linux_logo.h>
#include <linux/linux_logo.h>
#ifdef CONFIG_FRAMEBUFFER_CONSOLE
#include "console/fbcon.h"
......@@ -365,21 +364,20 @@ int num_registered_fb;
static int ofonly __initdata = 0;
#endif
#define LOGO_H 80
#define LOGO_W 80
static inline unsigned safe_shift(unsigned d, int n)
{
return n < 0 ? d >> -n : d << n;
}
static void __init fb_set_logocmap(struct fb_info *info)
static void __init fb_set_logocmap(struct fb_info *info,
const struct linux_logo *logo)
{
struct fb_cmap palette_cmap;
u16 palette_green[16];
u16 palette_blue[16];
u16 palette_red[16];
int i, j, n;
const unsigned char *clut = logo->clut;
palette_cmap.start = 0;
palette_cmap.len = 16;
......@@ -388,34 +386,32 @@ static void __init fb_set_logocmap(struct fb_info *info)
palette_cmap.blue = palette_blue;
palette_cmap.transp = NULL;
for (i = 0; i < LINUX_LOGO_COLORS; i += n) {
n = LINUX_LOGO_COLORS - i;
for (i = 0; i < logo->clutsize; i += n) {
n = logo->clutsize - i;
/* palette_cmap provides space for only 16 colors at once */
if (n > 16)
n = 16;
palette_cmap.start = 32 + i;
palette_cmap.len = n;
for (j = 0; j < n; ++j) {
palette_cmap.red[j] =
(linux_logo_red[i + j] << 8) |
linux_logo_red[i + j];
palette_cmap.green[j] =
(linux_logo_green[i + j] << 8) |
linux_logo_green[i + j];
palette_cmap.blue[j] =
(linux_logo_blue[i + j] << 8) |
linux_logo_blue[i + j];
palette_cmap.red[j] = clut[0] << 8 | clut[0];
palette_cmap.green[j] = clut[1] << 8 | clut[1];
palette_cmap.blue[j] = clut[2] << 8 | clut[2];
clut += 3;
}
fb_set_cmap(&palette_cmap, 1, info);
}
}
static void __init fb_set_logo_truepalette(struct fb_info *info, u32 *palette)
static void __init fb_set_logo_truepalette(struct fb_info *info,
const struct linux_logo *logo,
u32 *palette)
{
unsigned char mask[9] = { 0,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff };
unsigned char redmask, greenmask, bluemask;
int redshift, greenshift, blueshift;
int i;
const unsigned char *clut = logo->clut;
/*
* We have to create a temporary palette since console palette is only
......@@ -429,14 +425,17 @@ static void __init fb_set_logo_truepalette(struct fb_info *info, u32 *palette)
greenshift = info->var.green.offset - (8 - info->var.green.length);
blueshift = info->var.blue.offset - (8 - info->var.blue.length);
for ( i = 0; i < LINUX_LOGO_COLORS; i++) {
palette[i+32] = (safe_shift((linux_logo_red[i] & redmask), redshift) |
safe_shift((linux_logo_green[i] & greenmask), greenshift) |
safe_shift((linux_logo_blue[i] & bluemask), blueshift));
for ( i = 0; i < logo->clutsize; i++) {
palette[i+32] = (safe_shift((clut[0] & redmask), redshift) |
safe_shift((clut[1] & greenmask), greenshift) |
safe_shift((clut[2] & bluemask), blueshift));
clut += 3;
}
}
static void __init fb_set_logo_directpalette(struct fb_info *info, u32 *palette)
static void __init fb_set_logo_directpalette(struct fb_info *info,
const struct linux_logo *logo,
u32 *palette)
{
int redshift, greenshift, blueshift;
int i;
......@@ -445,40 +444,54 @@ static void __init fb_set_logo_directpalette(struct fb_info *info, u32 *palette)
greenshift = info->var.green.offset;
blueshift = info->var.blue.offset;
for (i = 32; i < LINUX_LOGO_COLORS; i++)
for (i = 32; i < logo->clutsize; i++)
palette[i] = i << redshift | i << greenshift | i << blueshift;
}
static void __init fb_set_logo(struct fb_info *info, u8 *logo, int needs_logo)
static void __init fb_set_logo(struct fb_info *info,
const struct linux_logo *logo, u8 *dst,
int needs_logo)
{
int i, j;
int i, j, shift;
const u8 *src = logo->data;
u8 d, xor = 0;
switch (needs_logo) {
case 4:
for (i = 0; i < (LOGO_W * LOGO_H)/2; i++) {
logo[i*2] = linux_logo16[i] >> 4;
logo[(i*2)+1] = linux_logo16[i] & 0xf;
}
for (i = 0; i < logo->height; i++)
for (j = 0; j < logo->width; src++) {
*dst++ = *src >> 4;
j++;
if (j < logo->width) {
*dst++ = *src & 0x0f;
j++;
}
}
break;
case 1:
case ~1:
default:
for (i = 0; i < (LOGO_W * LOGO_H)/8; i++)
for (j = 0; j < 8; j++)
logo[i*8 + j] = (linux_logo_bw[i] & (7 - j)) ?
((needs_logo == 1) ? 1 : 0) :
((needs_logo == 1) ? 0 : 1);
break;
xor = 0xff;
case 1:
for (i = 0; i < logo->height; i++) {
shift = 7;
d = *src++ ^ xor;
for (j = 0; j < logo->width; j++) {
*dst++ = (d >> shift) & 1;
shift = (shift-1) & 7;
if (shift == 7)
d = *src++ ^ xor;
}
}
break;
}
}
/*
* Three (3) kinds of logo maps exist. linux_logo (>16 colors), linux_logo_16
* (16 colors) and linux_logo_bw (2 colors). Depending on the visual format and
* color depth of the framebuffer, the DAC, the pseudo_palette, and the logo data
* will be adjusted accordingly.
* Three (3) kinds of logo maps exist. linux_logo_clut224 (>16 colors),
* linux_logo_vga16 (16 colors) and linux_logo_mono (2 colors). Depending on
* the visual format and color depth of the framebuffer, the DAC, the
* pseudo_palette, and the logo data will be adjusted accordingly.
*
* Case 1 - linux_logo:
* Case 1 - linux_logo_clut224:
* Color exceeds the number of console colors (16), thus we set the hardware DAC
* using fb_set_cmap() appropriately. The "needs_cmapreset" flag will be set.
*
......@@ -486,14 +499,14 @@ static void __init fb_set_logo(struct fb_info *info, u8 *logo, int needs_logo)
* one for temporary use. The "needs_directpalette" or "needs_truepalette" flags
* will be set.
*
* Case 2 - linux_logo_16:
* Case 2 - linux_logo_vga16:
* The number of colors just matches the console colors, thus there is no need
* to set the DAC or the pseudo_palette. However, the bitmap is packed, ie,
* each byte contains color information for two pixels (upper and lower nibble).
* To be consistent with fb_imageblit() usage, we therefore separate the two
* nibbles into separate bytes. The "needs_logo" flag will be set to 4.
*
* Case 3 - linux_logo_bw:
* Case 3 - linux_logo_mono:
* This is similar with Case 2. Each byte contains information for 8 pixels.
* We isolate each bit and expand each into a byte. The "needs_logo" flag will
* be set to 1.
......@@ -506,6 +519,8 @@ int fb_show_logo(struct fb_info *info)
int needs_truepalette = 0;
int needs_cmapreset = 0;
struct fb_image image;
const struct linux_logo *logo = 0;
int type;
int needs_logo = 0;
int done = 0, x;
......@@ -517,11 +532,18 @@ int fb_show_logo(struct fb_info *info)
/* reasonable default */
if (image.depth >= 8)
image.data = linux_logo;
type = LINUX_LOGO_CLUT224;
else if (image.depth >= 4)
image.data = linux_logo16;
type = LINUX_LOGO_VGA16;
else
image.data = linux_logo_bw;
type = LINUX_LOGO_MONO;
/* Return if no suitable logo was found */
logo = fb_find_logo(type);
if (!logo || logo->height > info->var.yres)
return 0;
image.data = logo->data;
switch (info->fix.visual) {
case FB_VISUAL_TRUECOLOR:
......@@ -566,42 +588,42 @@ int fb_show_logo(struct fb_info *info)
}
if (needs_cmapreset)
fb_set_logocmap(info);
fb_set_logocmap(info, logo);
if (needs_truepalette || needs_directpalette) {
palette = kmalloc(256 * 4, GFP_KERNEL);
if (palette == NULL)
return 1;
return 0;
if (needs_truepalette)
fb_set_logo_truepalette(info, palette);
fb_set_logo_truepalette(info, logo, palette);
else
fb_set_logo_directpalette(info, palette);
fb_set_logo_directpalette(info, logo, palette);
saved_pseudo_palette = info->pseudo_palette;
info->pseudo_palette = palette;
}
if (needs_logo) {
logo_new = kmalloc(LOGO_W * LOGO_H, GFP_KERNEL);
logo_new = kmalloc(logo->width * logo->height, GFP_KERNEL);
if (logo_new == NULL) {
if (palette)
kfree(palette);
if (saved_pseudo_palette)
info->pseudo_palette = saved_pseudo_palette;
return 1;
return 0;
}
image.data = logo_new;
fb_set_logo(info, logo_new, needs_logo);
fb_set_logo(info, logo, logo_new, needs_logo);
}
image.width = LOGO_W;
image.height = LOGO_H;
image.width = logo->width;
image.height = logo->height;
image.dy = 0;
for (x = 0; x < num_online_cpus() * (LOGO_W + 8) &&
x < info->var.xres - (LOGO_W + 8); x += (LOGO_W + 8)) {
for (x = 0; x < num_online_cpus() * (logo->width + 8) &&
x <= info->var.xres-logo->width; x += (logo->width + 8)) {
image.dx = x;
info->fbops->fb_imageblit(info, &image);
done = 1;
......@@ -613,7 +635,7 @@ int fb_show_logo(struct fb_info *info)
info->pseudo_palette = saved_pseudo_palette;
if (logo_new != NULL)
kfree(logo_new);
return 0;
return logo->height;
}
static int fbmem_read_proc(char *buf, char **start, off_t offset,
......
#
# Logo configuration
#
menu "Logo configuration"
config LOGO
bool "Bootup logo"
depends on FB || CONFIG_SGI_NEWPORT_CONSOLE
config LOGO_LINUX_MONO
bool "Black and white Linux logo"
depends on LOGO
default y
config LOGO_LINUX_VGA16
bool "16-color Linux logo"
depends on LOGO
default y
config LOGO_LINUX_CLUT224
bool "224-color Linux logo"
depends on LOGO
default y
config LOGO_DEC_CLUT224
bool "224-color Digital Equipment Corporation Linux logo"
depends on LOGO && DECSTATION
default y
config LOGO_MAC_CLUT224
bool "224-color Macintosh Linux logo"
depends on LOGO && MAC
default y
config LOGO_PARISC_CLUT224
bool "224-color PA-RISC Linux logo"
depends on LOGO && PARISC
default y
config LOGO_SGI_CLUT224
bool "224-color SGI Linux logo"
depends on LOGO && (SGI_IP22 || SGI_IP27 || SGI_IP32)
default y
config LOGO_SUN_CLUT224
bool "224-color Sun Linux logo"
depends on LOGO && (SPARC || SPARC64)
default y
config LOGO_SUPERH_MONO
bool "Black and white SuperH Linux logo"
depends on LOGO && SUPERH
default y
config LOGO_SUPERH_VGA16
bool "16-color SuperH Linux logo"
depends on LOGO && SUPERH
default y
config LOGO_SUPERH_CLUT224
bool "224-color SuperH Linux logo"
depends on LOGO && SUPERH
default y
endmenu
# Makefile for the Linux logos
obj-$(CONFIG_LOGO) += logo.o
obj-$(CONFIG_LOGO_LINUX_MONO) += logo_linux_mono.o
obj-$(CONFIG_LOGO_LINUX_VGA16) += logo_linux_vga16.o
obj-$(CONFIG_LOGO_LINUX_CLUT224) += logo_linux_clut224.o
obj-$(CONFIG_LOGO_DEC_CLUT224) += logo_dec_clut224.o
obj-$(CONFIG_LOGO_MAC_CLUT224) += logo_mac_clut224.o
obj-$(CONFIG_LOGO_PARISC_CLUT224) += logo_parisc_clut224.o
obj-$(CONFIG_LOGO_SGI_CLUT224) += logo_sgi_clut224.o
obj-$(CONFIG_LOGO_SUN_CLUT224) += logo_sun_clut224.o
obj-$(CONFIG_LOGO_SUPERH_MONO) += logo_superh_mono.o
obj-$(CONFIG_LOGO_SUPERH_VGA16) += logo_superh_vga16.o
obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o
$(obj)/%_mono.c: $(src)/%_mono.pbm
$(objtree)/scripts/pnmtologo -t mono -n $*_mono -o $@ $<
$(obj)/%_vga16.c: $(src)/%_vga16.ppm
$(objtree)/scripts/pnmtologo -t vga16 -n $*_vga16 -o $@ $<
$(obj)/%_clut224.c: $(src)/%_clut224.ppm
$(objtree)/scripts/pnmtologo -t clut224 -n $*_clut224 -o $@ $<
$(obj)/%_gray256.c: $(src)/%_gray256.pgm
$(objtree)/scripts/pnmtologo -t gray256 -n $*_gray256 -o $@ $<
/*
* Linux logo to be displayed on boot
*
* Copyright (C) 1996 Larry Ewing (lewing@isc.tamu.edu)
* Copyright (C) 1996,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
* Copyright (C) 2001 Greg Banks <gnb@alphalink.com.au>
* Copyright (C) 2001 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* Copyright (C) 2003 Geert Uytterhoeven <geert@linux-m68k.org>
*/
#include <linux/config.h>
#include <linux/linux_logo.h>
#ifdef CONFIG_M68K
#include <asm/setup.h>
#endif
#if defined(CONFIG_MIPS) || defined(CONFIG_MIPS64)
#include <asm/bootinfo.h>
#endif
extern const struct linux_logo logo_linux_mono;
extern const struct linux_logo logo_linux_vga16;
extern const struct linux_logo logo_linux_clut224;
extern const struct linux_logo logo_dec_clut224;
extern const struct linux_logo logo_mac_clut224;
extern const struct linux_logo logo_parisc_clut224;
extern const struct linux_logo logo_sgi_clut224;
extern const struct linux_logo logo_sun_clut224;
extern const struct linux_logo logo_superh_mono;
extern const struct linux_logo logo_superh_vga16;
extern const struct linux_logo logo_superh_clut224;
const struct linux_logo * __init fb_find_logo(int type)
{
const struct linux_logo *logo = 0;
switch (type) {
case LINUX_LOGO_MONO:
#ifdef CONFIG_LOGO_LINUX_MONO
/* Generic Linux logo */
logo = &logo_linux_mono;
#endif
#ifdef CONFIG_LOGO_SUPERH_MONO
/* SuperH Linux logo */
logo = &logo_superh_mono;
#endif
break;
case LINUX_LOGO_VGA16:
#ifdef CONFIG_LOGO_LINUX_VGA16
/* Generic Linux logo */
logo = &logo_linux_vga16;
#endif
#ifdef CONFIG_LOGO_SUPERH_VGA16
/* SuperH Linux logo */
logo = &logo_superh_vga16;
#endif
break;
case LINUX_LOGO_CLUT224:
#ifdef CONFIG_LOGO_LINUX_CLUT224
/* Generic Linux logo */
logo = &logo_linux_clut224;
#endif
#ifdef CONFIG_LOGO_DEC_CLUT224
/* DEC Linux logo on MIPS/MIPS64 */
if (mips_machgroup == MACH_GROUP_SGI)
logo = &logo_dec_clut224;
#endif
#ifdef CONFIG_LOGO_MAC_CLUT224
/* Macintosh Linux logo on m68k */
if (MACH_IS_MAC)
logo = &logo_mac_clut224;
#endif
#ifdef CONFIG_LOGO_PARISC_CLUT224
/* PA-RISC Linux logo */
logo = &logo_parisc_clut224;
#endif
#ifdef CONFIG_LOGO_SGI_CLUT224
/* SGI Linux logo on MIPS/MIPS64 */
if (mips_machgroup == MACH_GROUP_SGI)
logo = &logo_sgi_clut224;
#endif
#ifdef CONFIG_LOGO_SUN_CLUT224
/* Sun Linux logo */
logo = &logo_sun_clut224;
#endif
#ifdef CONFIG_LOGO_SUPERH_CLUT224
/* SuperH Linux logo */
logo = &logo_superh_clut224;
#endif
break;
}
return logo;
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -34,7 +34,7 @@
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/fb.h>
#include "maxinefb.h"
#include <video/maxinefb.h>
/* bootinfo.h defines the machine type values, needed when checking */
/* whether are really running on a maxine, KM */
......
......@@ -34,7 +34,7 @@
#include <asm/bootinfo.h>
#include <asm/dec/machtype.h>
#include <asm/dec/tc.h>
#include "pmag-ba-fb.h"
#include <video/pmag-ba-fb.h>
struct pmag_ba_ramdac_regs {
unsigned char addr_low;
......
......@@ -37,7 +37,7 @@
#include <asm/bootinfo.h>
#include <asm/dec/machtype.h>
#include <asm/dec/tc.h>
#include "pmagb-b-fb.h"
#include <video/pmagb-b-fb.h>
struct pmagb_b_ramdac_regs {
unsigned char addr_low;
......
......@@ -96,12 +96,10 @@
#include <linux/init.h>
#include <linux/version.h>
#include <linux/slab.h>
#include <asm/io.h>
#include <asm/ioctl.h>
#include <asm/uaccess.h>
#include "sstfb.h"
#include <video/sstfb.h>
/* initialized by setup */
......
......@@ -294,7 +294,7 @@ struct fb_image {
__u32 fg_color; /* Only used when a mono bitmap */
__u32 bg_color;
__u8 depth; /* Depth of the image */
char *data; /* Pointer to image data */
const char *data; /* Pointer to image data */
struct fb_cmap cmap; /* color map info */
};
......
This diff is collapsed.
......@@ -8,7 +8,7 @@
# docproc: Preprocess .tmpl file in order to generate .sgml documentation
# conmakehash: Create arrays for initializing the kernel console tables
host-progs := fixdep split-include conmakehash docproc kallsyms
host-progs := fixdep split-include conmakehash docproc kallsyms pnmtologo
build-targets := $(host-progs)
# Let clean descend into subdirs
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment