Commit cb273eb7 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'fbdev-for-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev

Pull fbdev updates from Helge Deller:

 - Detect VGA compatibility from VESA attributes (Thomas Zimmermann)

 - Make I2C terminology more inclusive in smscufx and viafb (Easwar
   Hariharan)

 - Add lots of missing MODULE_DESCRIPTION() macros (Jeff Johnson)

 - Logo code cleanups (Geert Uytterhoeven)

 - Minor fixes by Chen Ni, Kuninori Morimoto, Uwe Kleine-König and
   Christophe Jaillett

* tag 'fbdev-for-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (21 commits)
  fbdev: viafb: Make I2C terminology more inclusive
  fbdev: smscufx: Make I2C terminology more inclusive
  fbdev: omap2: Return clk_prepare_enable to transfer the error
  fbdev: mmp: Constify struct mmp_overlay_ops
  fbdev: Drop explicit initialization of struct i2c_device_id::driver_data to 0
  video: agp: add remaining missing MODULE_DESCRIPTION() macros
  video: console: add missing MODULE_DESCRIPTION() macros
  fbdev: amifb: add missing MODULE_DESCRIPTION() macro
  fbdev: c2p_planar: add missing MODULE_DESCRIPTION() macro
  fbdev: vesafb: Detect VGA compatibility from screen info's VESA attributes
  fbdev: omapfb: use of_graph_get_remote_port()
  fbdev: omapdss: use for_each_endpoint_of_node()
  fbdev: offb: add missing MODULE_DESCRIPTION() macro
  fbdev: vfb: add missing MODULE_DESCRIPTION() macro
  fbdev: macmodes: add missing MODULE_DESCRIPTION() macro
  fbdev: goldfishfb: add missing MODULE_DESCRIPTION() macro
  fbdev: kyro: add missing MODULE_DESCRIPTION() macro
  fbdev: viafb: add missing MODULE_DESCRIPTION() macro
  fbdev: matroxfb: add missing MODULE_DESCRIPTION() macros
  video/logo: Remove linux_serial_image comments
  ...
parents 24777bac 8b5ea902
......@@ -418,5 +418,6 @@ module_init(agp_ali_init);
module_exit(agp_ali_cleanup);
MODULE_AUTHOR("Dave Jones");
MODULE_DESCRIPTION("ALi AGPGART routines");
MODULE_LICENSE("GPL and additional rights");
......@@ -217,4 +217,5 @@ module_init(agp_alpha_core_init);
module_exit(agp_alpha_core_cleanup);
MODULE_AUTHOR("Jeff Wiedemeier <Jeff.Wiedemeier@hp.com>");
MODULE_DESCRIPTION("Alpha AGP support");
MODULE_LICENSE("GPL and additional rights");
......@@ -549,4 +549,5 @@ static void __exit agp_amdk7_cleanup(void)
module_init(agp_amdk7_init);
module_exit(agp_amdk7_cleanup);
MODULE_DESCRIPTION("AMD K7 AGPGART routines");
MODULE_LICENSE("GPL and additional rights");
......@@ -572,5 +572,6 @@ module_init(agp_ati_init);
module_exit(agp_ati_cleanup);
MODULE_AUTHOR("Dave Jones");
MODULE_DESCRIPTION("ATi AGPGART routines");
MODULE_LICENSE("GPL and additional rights");
......@@ -465,4 +465,5 @@ module_init(agp_efficeon_init);
module_exit(agp_efficeon_cleanup);
MODULE_AUTHOR("Carlos Puchol <cpglinux@puchol.com>");
MODULE_DESCRIPTION("Transmeta's Efficeon AGPGART driver");
MODULE_LICENSE("GPL and additional rights");
......@@ -462,6 +462,7 @@ static void __exit agp_nvidia_cleanup(void)
module_init(agp_nvidia_init);
module_exit(agp_nvidia_cleanup);
MODULE_DESCRIPTION("Nvidia AGPGART routines");
MODULE_LICENSE("GPL and additional rights");
MODULE_AUTHOR("NVIDIA Corporation");
......@@ -432,4 +432,5 @@ parisc_agp_init(void)
module_init(parisc_agp_init);
MODULE_AUTHOR("Kyle McMartin <kyle@parisc-linux.org>");
MODULE_DESCRIPTION("HP Quicksilver AGP GART routines");
MODULE_LICENSE("GPL");
......@@ -564,5 +564,6 @@ static void __exit agp_serverworks_cleanup(void)
module_init(agp_serverworks_init);
module_exit(agp_serverworks_cleanup);
MODULE_DESCRIPTION("Serverworks AGPGART routines");
MODULE_LICENSE("GPL and additional rights");
......@@ -561,5 +561,6 @@ static void __exit mda_console_exit(void)
module_init(mda_console_init);
module_exit(mda_console_exit);
MODULE_DESCRIPTION("MDA based console driver");
MODULE_LICENSE("GPL");
......@@ -744,4 +744,5 @@ static struct gio_driver newport_driver = {
};
module_driver(newport_driver, gio_register_driver, gio_unregister_driver);
MODULE_DESCRIPTION("SGI Newport console driver");
MODULE_LICENSE("GPL");
......@@ -391,4 +391,5 @@ static int __init sticonsole_init(void)
}
module_init(sticonsole_init);
MODULE_DESCRIPTION("HP STI console driver");
MODULE_LICENSE("GPL");
......@@ -1222,4 +1222,5 @@ void vgacon_register_screen(struct screen_info *si)
vga_si = si;
}
MODULE_DESCRIPTION("VGA based console driver");
MODULE_LICENSE("GPL");
......@@ -3782,5 +3782,6 @@ static struct platform_driver amifb_driver __refdata = {
module_platform_driver_probe(amifb_driver, amifb_probe);
MODULE_DESCRIPTION("Amiga builtin chipset frame buffer driver");
MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:amiga-video");
......@@ -153,4 +153,5 @@ void c2p_planar(void *dst, const void *src, u32 dx, u32 dy, u32 width,
}
EXPORT_SYMBOL_GPL(c2p_planar);
MODULE_DESCRIPTION("Fast C2P (Chunky-to-Planar) Conversion");
MODULE_LICENSE("GPL");
......@@ -321,4 +321,5 @@ static struct platform_driver goldfish_fb_driver = {
module_platform_driver(goldfish_fb_driver);
MODULE_DESCRIPTION("Goldfish Virtual Platform Framebuffer driver");
MODULE_LICENSE("GPL v2");
......@@ -811,4 +811,5 @@ module_exit(kyrofb_exit);
#endif
MODULE_AUTHOR("STMicroelectronics; Paul Mundt <lethal@linux-sh.org>");
MODULE_DESCRIPTION("STG4000/Kyro/PowerVR 3 driver");
MODULE_LICENSE("GPL");
......@@ -411,4 +411,5 @@ int mac_find_mode(struct fb_var_screeninfo *var, struct fb_info *info,
}
EXPORT_SYMBOL(mac_find_mode);
MODULE_DESCRIPTION("MacOS video mode library");
MODULE_LICENSE("GPL");
......@@ -1111,4 +1111,5 @@ EXPORT_SYMBOL(matrox_G100);
EXPORT_SYMBOL(DAC1064_global_init);
EXPORT_SYMBOL(DAC1064_global_restore);
#endif
MODULE_DESCRIPTION("Matrox Mystique/G100 output driver");
MODULE_LICENSE("GPL");
......@@ -746,4 +746,5 @@ struct matrox_switch matrox_millennium = {
};
EXPORT_SYMBOL(matrox_millennium);
#endif
MODULE_DESCRIPTION("Matrox Millennium output driver");
MODULE_LICENSE("GPL");
......@@ -517,4 +517,5 @@ static void matroxfb_imageblit(struct fb_info* info, const struct fb_image* imag
}
}
MODULE_DESCRIPTION("Accelerated fbops for Matrox Millennium/Mystique/G100/G200/G400/G450/G550");
MODULE_LICENSE("GPL");
......@@ -1282,7 +1282,7 @@ static void maven_remove(struct i2c_client *client)
}
static const struct i2c_device_id maven_id[] = {
{ "maven", 0 },
{ "maven" },
{ }
};
MODULE_DEVICE_TABLE(i2c, maven_id);
......
......@@ -313,7 +313,7 @@ static void path_set_mode(struct mmp_path *path, struct mmp_mode *mode)
mutex_unlock(&path->access_ok);
}
static struct mmp_overlay_ops mmphw_overlay_ops = {
static const struct mmp_overlay_ops mmphw_overlay_ops = {
.set_fetch = overlay_set_fetch,
.set_onoff = overlay_set_onoff,
.set_win = overlay_set_win,
......
......@@ -717,4 +717,5 @@ static void __exit offb_exit(void)
}
module_exit(offb_exit);
MODULE_DESCRIPTION("Open Firmware frame buffer device driver");
MODULE_LICENSE("GPL");
......@@ -117,19 +117,6 @@ u32 dss_of_port_get_port_number(struct device_node *port)
return reg;
}
static struct device_node *omapdss_of_get_remote_port(const struct device_node *node)
{
struct device_node *np;
np = of_graph_get_remote_endpoint(node);
if (!np)
return NULL;
np = of_get_next_parent(np);
return np;
}
struct omap_dss_device *
omapdss_of_find_source_for_first_ep(struct device_node *node)
{
......@@ -141,7 +128,7 @@ omapdss_of_find_source_for_first_ep(struct device_node *node)
if (!ep)
return ERR_PTR(-EINVAL);
src_port = omapdss_of_get_remote_port(ep);
src_port = of_graph_get_remote_port(ep);
if (!src_port) {
of_node_put(ep);
return ERR_PTR(-EINVAL);
......
......@@ -149,8 +149,7 @@ static void __init omapdss_walk_device(struct device_node *node, bool root)
of_node_put(n);
n = NULL;
while ((n = of_graph_get_next_endpoint(node, n)) != NULL) {
for_each_endpoint_of_node(node, n) {
struct device_node *pn;
pn = of_graph_get_remote_port_parent(n);
......
......@@ -903,9 +903,7 @@ static int venc_runtime_resume(struct device *dev)
if (r < 0)
return r;
clk_prepare_enable(venc.tv_dac_clk);
return 0;
return clk_prepare_enable(venc.tv_dac_clk);
}
static const struct dev_pm_ops venc_pm_ops = {
......
......@@ -1292,7 +1292,7 @@ static int ufx_realloc_framebuffer(struct ufx_data *dev, struct fb_info *info)
return 0;
}
/* sets up I2C Controller for 100 Kbps, std. speed, 7-bit addr, master,
/* sets up DDC channel for 100 Kbps, std. speed, 7-bit addr, controller mode,
* restart enabled, but no start byte, enable controller */
static int ufx_i2c_init(struct ufx_data *dev)
{
......@@ -1321,7 +1321,7 @@ static int ufx_i2c_init(struct ufx_data *dev)
/* 7-bit (not 10-bit) addressing */
tmp &= ~(0x10);
/* enable restart conditions and master mode */
/* enable restart conditions and controller mode */
tmp |= 0x21;
status = ufx_reg_write(dev, 0x1000, tmp);
......
......@@ -782,10 +782,10 @@ static void ssd1307fb_remove(struct i2c_client *client)
}
static const struct i2c_device_id ssd1307fb_i2c_id[] = {
{ "ssd1305fb", 0 },
{ "ssd1306fb", 0 },
{ "ssd1307fb", 0 },
{ "ssd1309fb", 0 },
{ "ssd1305fb" },
{ "ssd1306fb" },
{ "ssd1307fb" },
{ "ssd1309fb" },
{ }
};
MODULE_DEVICE_TABLE(i2c, ssd1307fb_i2c_id);
......
......@@ -271,7 +271,7 @@ static int vesafb_probe(struct platform_device *dev)
if (si->orig_video_isVGA != VIDEO_TYPE_VLFB)
return -ENODEV;
vga_compat = (si->capabilities & 2) ? 0 : 1;
vga_compat = !__screen_info_vbe_mode_nonvga(si);
vesafb_fix.smem_start = si->lfb_base;
vesafb_defined.bits_per_pixel = si->lfb_depth;
if (15 == vesafb_defined.bits_per_pixel)
......
......@@ -546,5 +546,6 @@ static void __exit vfb_exit(void)
module_exit(vfb_exit);
MODULE_DESCRIPTION("Virtual Frame Buffer driver");
MODULE_LICENSE("GPL");
#endif /* MODULE */
......@@ -69,7 +69,7 @@
#define VT1632_TMDS 0x01
#define INTEGRATED_TMDS 0x42
/* Definition TMDS Trasmitter I2C Slave Address */
/* Definition TMDS Trasmitter I2C Target Address */
#define VT1632_TMDS_I2C_ADDR 0x10
/**************************************************/
......@@ -88,21 +88,21 @@
#define TX_DATA_DDR_MODE 0x04
#define TX_DATA_SDR_MODE 0x08
/* Definition LVDS Trasmitter I2C Slave Address */
/* Definition LVDS Trasmitter I2C Target Address */
#define VT1631_LVDS_I2C_ADDR 0x70
#define VT3271_LVDS_I2C_ADDR 0x80
#define VT1636_LVDS_I2C_ADDR 0x80
struct tmds_chip_information {
int tmds_chip_name;
int tmds_chip_slave_addr;
int tmds_chip_target_addr;
int output_interface;
int i2c_port;
};
struct lvds_chip_information {
int lvds_chip_name;
int lvds_chip_slave_addr;
int lvds_chip_target_addr;
int output_interface;
int i2c_port;
};
......
......@@ -70,7 +70,7 @@ bool viafb_tmds_trasmitter_identify(void)
/* Check for VT1632: */
viaparinfo->chip_info->tmds_chip_info.tmds_chip_name = VT1632_TMDS;
viaparinfo->chip_info->
tmds_chip_info.tmds_chip_slave_addr = VT1632_TMDS_I2C_ADDR;
tmds_chip_info.tmds_chip_target_addr = VT1632_TMDS_I2C_ADDR;
viaparinfo->chip_info->tmds_chip_info.i2c_port = VIA_PORT_31;
if (check_tmds_chip(VT1632_DEVICE_ID_REG, VT1632_DEVICE_ID)) {
/*
......@@ -128,14 +128,14 @@ bool viafb_tmds_trasmitter_identify(void)
viaparinfo->chip_info->
tmds_chip_info.tmds_chip_name = NON_TMDS_TRANSMITTER;
viaparinfo->chip_info->tmds_chip_info.
tmds_chip_slave_addr = VT1632_TMDS_I2C_ADDR;
tmds_chip_target_addr = VT1632_TMDS_I2C_ADDR;
return false;
}
static void tmds_register_write(int index, u8 data)
{
viafb_i2c_writebyte(viaparinfo->chip_info->tmds_chip_info.i2c_port,
viaparinfo->chip_info->tmds_chip_info.tmds_chip_slave_addr,
viaparinfo->chip_info->tmds_chip_info.tmds_chip_target_addr,
index, data);
}
......@@ -144,7 +144,7 @@ static int tmds_register_read(int index)
u8 data;
viafb_i2c_readbyte(viaparinfo->chip_info->tmds_chip_info.i2c_port,
(u8) viaparinfo->chip_info->tmds_chip_info.tmds_chip_slave_addr,
(u8) viaparinfo->chip_info->tmds_chip_info.tmds_chip_target_addr,
(u8) index, &data);
return data;
}
......@@ -152,7 +152,7 @@ static int tmds_register_read(int index)
static int tmds_register_read_bytes(int index, u8 *buff, int buff_len)
{
viafb_i2c_readbytes(viaparinfo->chip_info->tmds_chip_info.i2c_port,
(u8) viaparinfo->chip_info->tmds_chip_info.tmds_chip_slave_addr,
(u8) viaparinfo->chip_info->tmds_chip_info.tmds_chip_target_addr,
(u8) index, buff, buff_len);
return 0;
}
......@@ -256,14 +256,14 @@ static int viafb_dvi_query_EDID(void)
DEBUG_MSG(KERN_INFO "viafb_dvi_query_EDID!!\n");
restore = viaparinfo->chip_info->tmds_chip_info.tmds_chip_slave_addr;
viaparinfo->chip_info->tmds_chip_info.tmds_chip_slave_addr = 0xA0;
restore = viaparinfo->chip_info->tmds_chip_info.tmds_chip_target_addr;
viaparinfo->chip_info->tmds_chip_info.tmds_chip_target_addr = 0xA0;
data0 = (u8) tmds_register_read(0x00);
data1 = (u8) tmds_register_read(0x01);
if ((data0 == 0) && (data1 == 0xFF)) {
viaparinfo->chip_info->
tmds_chip_info.tmds_chip_slave_addr = restore;
tmds_chip_info.tmds_chip_target_addr = restore;
return EDID_VERSION_1; /* Found EDID1 Table */
}
......@@ -280,8 +280,8 @@ static void dvi_get_panel_size_from_DDCv1(
DEBUG_MSG(KERN_INFO "\n dvi_get_panel_size_from_DDCv1 \n");
restore = tmds_chip->tmds_chip_slave_addr;
tmds_chip->tmds_chip_slave_addr = 0xA0;
restore = tmds_chip->tmds_chip_target_addr;
tmds_chip->tmds_chip_target_addr = 0xA0;
for (i = 0x25; i < 0x6D; i++) {
switch (i) {
case 0x36:
......@@ -306,7 +306,7 @@ static void dvi_get_panel_size_from_DDCv1(
DEBUG_MSG(KERN_INFO "DVI max pixelclock = %d\n",
tmds_setting->max_pixel_clock);
tmds_chip->tmds_chip_slave_addr = restore;
tmds_chip->tmds_chip_target_addr = restore;
}
/* If Disable DVI, turn off pad */
......@@ -427,7 +427,7 @@ void viafb_dvi_enable(void)
viafb_i2c_writebyte(viaparinfo->chip_info->
tmds_chip_info.i2c_port,
viaparinfo->chip_info->
tmds_chip_info.tmds_chip_slave_addr,
tmds_chip_info.tmds_chip_target_addr,
0x08, data);
}
}
......
......@@ -147,7 +147,7 @@ bool viafb_lvds_trasmitter_identify(void)
return true;
/* Check for VT1631: */
viaparinfo->chip_info->lvds_chip_info.lvds_chip_name = VT1631_LVDS;
viaparinfo->chip_info->lvds_chip_info.lvds_chip_slave_addr =
viaparinfo->chip_info->lvds_chip_info.lvds_chip_target_addr =
VT1631_LVDS_I2C_ADDR;
if (check_lvds_chip(VT1631_DEVICE_ID_REG, VT1631_DEVICE_ID)) {
......@@ -161,7 +161,7 @@ bool viafb_lvds_trasmitter_identify(void)
viaparinfo->chip_info->lvds_chip_info.lvds_chip_name =
NON_LVDS_TRANSMITTER;
viaparinfo->chip_info->lvds_chip_info.lvds_chip_slave_addr =
viaparinfo->chip_info->lvds_chip_info.lvds_chip_target_addr =
VT1631_LVDS_I2C_ADDR;
return false;
}
......@@ -327,7 +327,7 @@ static int lvds_register_read(int index)
u8 data;
viafb_i2c_readbyte(VIA_PORT_2C,
(u8) viaparinfo->chip_info->lvds_chip_info.lvds_chip_slave_addr,
(u8) viaparinfo->chip_info->lvds_chip_info.lvds_chip_target_addr,
(u8) index, &data);
return data;
}
......
......@@ -24,7 +24,7 @@ struct via_aux_drv {
struct list_head chain; /* chain to support multiple drivers */
struct via_aux_bus *bus; /* the I2C bus used */
u8 addr; /* the I2C slave address */
u8 addr; /* the I2C target address */
const char *name; /* human readable name of the driver */
void *data; /* private data of this driver */
......
......@@ -104,7 +104,7 @@ static void via_i2c_setsda(void *data, int state)
spin_unlock_irqrestore(&i2c_vdev->reg_lock, flags);
}
int viafb_i2c_readbyte(u8 adap, u8 slave_addr, u8 index, u8 *pdata)
int viafb_i2c_readbyte(u8 adap, u8 target_addr, u8 index, u8 *pdata)
{
int ret;
u8 mm1[] = {0x00};
......@@ -115,7 +115,7 @@ int viafb_i2c_readbyte(u8 adap, u8 slave_addr, u8 index, u8 *pdata)
*pdata = 0;
msgs[0].flags = 0;
msgs[1].flags = I2C_M_RD;
msgs[0].addr = msgs[1].addr = slave_addr / 2;
msgs[0].addr = msgs[1].addr = target_addr / 2;
mm1[0] = index;
msgs[0].len = 1; msgs[1].len = 1;
msgs[0].buf = mm1; msgs[1].buf = pdata;
......@@ -128,7 +128,7 @@ int viafb_i2c_readbyte(u8 adap, u8 slave_addr, u8 index, u8 *pdata)
return ret;
}
int viafb_i2c_writebyte(u8 adap, u8 slave_addr, u8 index, u8 data)
int viafb_i2c_writebyte(u8 adap, u8 target_addr, u8 index, u8 data)
{
int ret;
u8 msg[2] = { index, data };
......@@ -137,7 +137,7 @@ int viafb_i2c_writebyte(u8 adap, u8 slave_addr, u8 index, u8 data)
if (!via_i2c_par[adap].is_active)
return -ENODEV;
msgs.flags = 0;
msgs.addr = slave_addr / 2;
msgs.addr = target_addr / 2;
msgs.len = 2;
msgs.buf = msg;
ret = i2c_transfer(&via_i2c_par[adap].adapter, &msgs, 1);
......@@ -149,7 +149,7 @@ int viafb_i2c_writebyte(u8 adap, u8 slave_addr, u8 index, u8 data)
return ret;
}
int viafb_i2c_readbytes(u8 adap, u8 slave_addr, u8 index, u8 *buff, int buff_len)
int viafb_i2c_readbytes(u8 adap, u8 target_addr, u8 index, u8 *buff, int buff_len)
{
int ret;
u8 mm1[] = {0x00};
......@@ -159,7 +159,7 @@ int viafb_i2c_readbytes(u8 adap, u8 slave_addr, u8 index, u8 *buff, int buff_len
return -ENODEV;
msgs[0].flags = 0;
msgs[1].flags = I2C_M_RD;
msgs[0].addr = msgs[1].addr = slave_addr / 2;
msgs[0].addr = msgs[1].addr = target_addr / 2;
mm1[0] = index;
msgs[0].len = 1; msgs[1].len = buff_len;
msgs[0].buf = mm1; msgs[1].buf = buff;
......
......@@ -2144,5 +2144,6 @@ MODULE_PARM_DESC(viafb_lcd_port, "Specify LCD output port.");
module_param(viafb_dvi_port, charp, S_IRUSR);
MODULE_PARM_DESC(viafb_dvi_port, "Specify DVI output port.");
MODULE_DESCRIPTION("VIA UniChrome (Pro) and Chrome9 display driver");
MODULE_LICENSE("GPL");
#endif
......@@ -44,7 +44,7 @@ u8 viafb_gpio_i2c_read_lvds(struct lvds_setting_information
u8 data;
viafb_i2c_readbyte(plvds_chip_info->i2c_port,
plvds_chip_info->lvds_chip_slave_addr, index, &data);
plvds_chip_info->lvds_chip_target_addr, index, &data);
return data;
}
......@@ -60,7 +60,7 @@ void viafb_gpio_i2c_write_mask_lvds(struct lvds_setting_information
data = (data & (~io_data.Mask)) | io_data.Data;
viafb_i2c_writebyte(plvds_chip_info->i2c_port,
plvds_chip_info->lvds_chip_slave_addr, index, data);
plvds_chip_info->lvds_chip_target_addr, index, data);
}
void viafb_init_lvds_vt1636(struct lvds_setting_information
......@@ -113,7 +113,7 @@ bool viafb_lvds_identify_vt1636(u8 i2c_adapter)
DEBUG_MSG(KERN_INFO "viafb_lvds_identify_vt1636.\n");
/* Sense VT1636 LVDS Transmiter */
viaparinfo->chip_info->lvds_chip_info.lvds_chip_slave_addr =
viaparinfo->chip_info->lvds_chip_info.lvds_chip_target_addr =
VT1636_LVDS_I2C_ADDR;
/* Check vendor ID first: */
......
......@@ -238,7 +238,7 @@ static void write_header(void)
fprintf(out, " * Linux logo %s\n", logoname);
fputs(" */\n\n", out);
fputs("#include <linux/linux_logo.h>\n\n", out);
fprintf(out, "static unsigned char %s_data[] __initdata = {\n",
fprintf(out, "static const unsigned char %s_data[] __initconst = {\n",
logoname);
}
......@@ -375,7 +375,7 @@ static void write_logo_clut224(void)
fputs("\n};\n\n", out);
/* write logo clut */
fprintf(out, "static unsigned char %s_clut[] __initdata = {\n",
fprintf(out, "static const unsigned char %s_clut[] __initconst = {\n",
logoname);
write_hex_cnt = 0;
for (i = 0; i < logo_clutsize; i++) {
......
......@@ -10,9 +10,6 @@
* 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>
*
* Serial_console ascii image can be any size,
* but should contain %s to display the version
*/
#include <linux/init.h>
......
......@@ -49,6 +49,16 @@ static inline u64 __screen_info_lfb_size(const struct screen_info *si, unsigned
return lfb_size;
}
static inline bool __screen_info_vbe_mode_nonvga(const struct screen_info *si)
{
/*
* VESA modes typically run on VGA hardware. Set bit 5 signals that this
* is not the case. Drivers can then not make use of VGA resources. See
* Sec 4.4 of the VBE 2.0 spec.
*/
return si->vesa_attributes & BIT(5);
}
static inline unsigned int __screen_info_video_type(unsigned int type)
{
switch (type) {
......
......@@ -156,7 +156,7 @@ struct mmp_overlay {
int status;
struct mutex access_ok;
struct mmp_overlay_ops *ops;
const struct mmp_overlay_ops *ops;
};
/* panel type */
......@@ -299,7 +299,7 @@ struct mmp_path_info {
int overlay_num;
void (*set_mode)(struct mmp_path *path, struct mmp_mode *mode);
void (*set_onoff)(struct mmp_path *path, int status);
struct mmp_overlay_ops *overlay_ops;
const struct mmp_overlay_ops *overlay_ops;
void *plat_data;
};
......
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