mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
Merge branch 'master' into devel
This commit is contained in:
commit
87d721ad7a
908 changed files with 12536 additions and 7059 deletions
|
|
@ -1082,7 +1082,6 @@ static void fbcon_init(struct vc_data *vc, int init)
|
|||
new_rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres);
|
||||
new_cols /= vc->vc_font.width;
|
||||
new_rows /= vc->vc_font.height;
|
||||
vc_resize(vc, new_cols, new_rows);
|
||||
|
||||
/*
|
||||
* We must always set the mode. The mode of the previous console
|
||||
|
|
@ -1111,10 +1110,11 @@ static void fbcon_init(struct vc_data *vc, int init)
|
|||
* vc_{cols,rows}, but we must not set those if we are only
|
||||
* resizing the console.
|
||||
*/
|
||||
if (!init) {
|
||||
if (init) {
|
||||
vc->vc_cols = new_cols;
|
||||
vc->vc_rows = new_rows;
|
||||
}
|
||||
} else
|
||||
vc_resize(vc, new_cols, new_rows);
|
||||
|
||||
if (logo)
|
||||
fbcon_prepare_logo(vc, info, cols, rows, new_cols, new_rows);
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ static inline void rotate_ud(const char *in, char *out, u32 width, u32 height)
|
|||
width = (width + 7) & ~7;
|
||||
|
||||
for (i = 0; i < height; i++) {
|
||||
for (j = 0; j < width; j++) {
|
||||
for (j = 0; j < width - shift; j++) {
|
||||
if (pattern_test_bit(j, i, width, in))
|
||||
pattern_set_bit(width - (1 + j + shift),
|
||||
height - (1 + i),
|
||||
|
|
|
|||
|
|
@ -957,9 +957,14 @@ static int __devinit sticore_pci_init(struct pci_dev *pd,
|
|||
#ifdef CONFIG_PCI
|
||||
unsigned long fb_base, rom_base;
|
||||
unsigned int fb_len, rom_len;
|
||||
int err;
|
||||
struct sti_struct *sti;
|
||||
|
||||
pci_enable_device(pd);
|
||||
err = pci_enable_device(pd);
|
||||
if (err < 0) {
|
||||
dev_err(&pd->dev, "Cannot enable PCI device\n");
|
||||
return err;
|
||||
}
|
||||
|
||||
fb_base = pci_resource_start(pd, 0);
|
||||
fb_len = pci_resource_len(pd, 0);
|
||||
|
|
@ -1048,7 +1053,7 @@ static void __devinit sti_init_roms(void)
|
|||
|
||||
/* Register drivers for native & PCI cards */
|
||||
register_parisc_driver(&pa_sti_driver);
|
||||
pci_register_driver(&pci_sti_driver);
|
||||
WARN_ON(pci_register_driver(&pci_sti_driver));
|
||||
|
||||
/* if we didn't find the given default sti, take the first one */
|
||||
if (!default_sti)
|
||||
|
|
|
|||
|
|
@ -669,7 +669,8 @@ static uint32_t bpp_to_pixfmt(int bpp)
|
|||
}
|
||||
|
||||
static int mx3fb_blank(int blank, struct fb_info *fbi);
|
||||
static int mx3fb_map_video_memory(struct fb_info *fbi, unsigned int mem_len);
|
||||
static int mx3fb_map_video_memory(struct fb_info *fbi, unsigned int mem_len,
|
||||
bool lock);
|
||||
static int mx3fb_unmap_video_memory(struct fb_info *fbi);
|
||||
|
||||
/**
|
||||
|
|
@ -711,12 +712,7 @@ static void mx3fb_dma_done(void *arg)
|
|||
complete(&mx3_fbi->flip_cmpl);
|
||||
}
|
||||
|
||||
/**
|
||||
* mx3fb_set_par() - set framebuffer parameters and change the operating mode.
|
||||
* @fbi: framebuffer information pointer.
|
||||
* @return: 0 on success or negative error code on failure.
|
||||
*/
|
||||
static int mx3fb_set_par(struct fb_info *fbi)
|
||||
static int __set_par(struct fb_info *fbi, bool lock)
|
||||
{
|
||||
u32 mem_len;
|
||||
struct ipu_di_signal_cfg sig_cfg;
|
||||
|
|
@ -727,10 +723,6 @@ static int mx3fb_set_par(struct fb_info *fbi)
|
|||
struct idmac_video_param *video = &ichan->params.video;
|
||||
struct scatterlist *sg = mx3_fbi->sg;
|
||||
|
||||
dev_dbg(mx3fb->dev, "%s [%c]\n", __func__, list_empty(&ichan->queue) ? '-' : '+');
|
||||
|
||||
mutex_lock(&mx3_fbi->mutex);
|
||||
|
||||
/* Total cleanup */
|
||||
if (mx3_fbi->txd)
|
||||
sdc_disable_channel(mx3_fbi);
|
||||
|
|
@ -742,10 +734,8 @@ static int mx3fb_set_par(struct fb_info *fbi)
|
|||
if (fbi->fix.smem_start)
|
||||
mx3fb_unmap_video_memory(fbi);
|
||||
|
||||
if (mx3fb_map_video_memory(fbi, mem_len) < 0) {
|
||||
mutex_unlock(&mx3_fbi->mutex);
|
||||
if (mx3fb_map_video_memory(fbi, mem_len, lock) < 0)
|
||||
return -ENOMEM;
|
||||
}
|
||||
}
|
||||
|
||||
sg_init_table(&sg[0], 1);
|
||||
|
|
@ -791,7 +781,6 @@ static int mx3fb_set_par(struct fb_info *fbi)
|
|||
fbi->var.vsync_len,
|
||||
fbi->var.lower_margin +
|
||||
fbi->var.vsync_len, sig_cfg) != 0) {
|
||||
mutex_unlock(&mx3_fbi->mutex);
|
||||
dev_err(fbi->device,
|
||||
"mx3fb: Error initializing panel.\n");
|
||||
return -EINVAL;
|
||||
|
|
@ -810,9 +799,30 @@ static int mx3fb_set_par(struct fb_info *fbi)
|
|||
if (mx3_fbi->blank == FB_BLANK_UNBLANK)
|
||||
sdc_enable_channel(mx3_fbi);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* mx3fb_set_par() - set framebuffer parameters and change the operating mode.
|
||||
* @fbi: framebuffer information pointer.
|
||||
* @return: 0 on success or negative error code on failure.
|
||||
*/
|
||||
static int mx3fb_set_par(struct fb_info *fbi)
|
||||
{
|
||||
struct mx3fb_info *mx3_fbi = fbi->par;
|
||||
struct mx3fb_data *mx3fb = mx3_fbi->mx3fb;
|
||||
struct idmac_channel *ichan = mx3_fbi->idmac_channel;
|
||||
int ret;
|
||||
|
||||
dev_dbg(mx3fb->dev, "%s [%c]\n", __func__, list_empty(&ichan->queue) ? '-' : '+');
|
||||
|
||||
mutex_lock(&mx3_fbi->mutex);
|
||||
|
||||
ret = __set_par(fbi, true);
|
||||
|
||||
mutex_unlock(&mx3_fbi->mutex);
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -966,21 +976,11 @@ static int mx3fb_setcolreg(unsigned int regno, unsigned int red,
|
|||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* mx3fb_blank() - blank the display.
|
||||
*/
|
||||
static int mx3fb_blank(int blank, struct fb_info *fbi)
|
||||
static void __blank(int blank, struct fb_info *fbi)
|
||||
{
|
||||
struct mx3fb_info *mx3_fbi = fbi->par;
|
||||
struct mx3fb_data *mx3fb = mx3_fbi->mx3fb;
|
||||
|
||||
dev_dbg(fbi->device, "%s, blank = %d, base %p, len %u\n", __func__,
|
||||
blank, fbi->screen_base, fbi->fix.smem_len);
|
||||
|
||||
if (mx3_fbi->blank == blank)
|
||||
return 0;
|
||||
|
||||
mutex_lock(&mx3_fbi->mutex);
|
||||
mx3_fbi->blank = blank;
|
||||
|
||||
switch (blank) {
|
||||
|
|
@ -999,6 +999,23 @@ static int mx3fb_blank(int blank, struct fb_info *fbi)
|
|||
sdc_set_brightness(mx3fb, mx3fb->backlight_level);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* mx3fb_blank() - blank the display.
|
||||
*/
|
||||
static int mx3fb_blank(int blank, struct fb_info *fbi)
|
||||
{
|
||||
struct mx3fb_info *mx3_fbi = fbi->par;
|
||||
|
||||
dev_dbg(fbi->device, "%s, blank = %d, base %p, len %u\n", __func__,
|
||||
blank, fbi->screen_base, fbi->fix.smem_len);
|
||||
|
||||
if (mx3_fbi->blank == blank)
|
||||
return 0;
|
||||
|
||||
mutex_lock(&mx3_fbi->mutex);
|
||||
__blank(blank, fbi);
|
||||
mutex_unlock(&mx3_fbi->mutex);
|
||||
|
||||
return 0;
|
||||
|
|
@ -1198,6 +1215,7 @@ static int mx3fb_resume(struct platform_device *pdev)
|
|||
* mx3fb_map_video_memory() - allocates the DRAM memory for the frame buffer.
|
||||
* @fbi: framebuffer information pointer
|
||||
* @mem_len: length of mapped memory
|
||||
* @lock: do not lock during initialisation
|
||||
* @return: Error code indicating success or failure
|
||||
*
|
||||
* This buffer is remapped into a non-cached, non-buffered, memory region to
|
||||
|
|
@ -1205,7 +1223,8 @@ static int mx3fb_resume(struct platform_device *pdev)
|
|||
* area is remapped, all virtual memory access to the video memory should occur
|
||||
* at the new region.
|
||||
*/
|
||||
static int mx3fb_map_video_memory(struct fb_info *fbi, unsigned int mem_len)
|
||||
static int mx3fb_map_video_memory(struct fb_info *fbi, unsigned int mem_len,
|
||||
bool lock)
|
||||
{
|
||||
int retval = 0;
|
||||
dma_addr_t addr;
|
||||
|
|
@ -1221,10 +1240,12 @@ static int mx3fb_map_video_memory(struct fb_info *fbi, unsigned int mem_len)
|
|||
goto err0;
|
||||
}
|
||||
|
||||
mutex_lock(&fbi->mm_lock);
|
||||
if (lock)
|
||||
mutex_lock(&fbi->mm_lock);
|
||||
fbi->fix.smem_start = addr;
|
||||
fbi->fix.smem_len = mem_len;
|
||||
mutex_unlock(&fbi->mm_lock);
|
||||
if (lock)
|
||||
mutex_unlock(&fbi->mm_lock);
|
||||
|
||||
dev_dbg(fbi->device, "allocated fb @ p=0x%08x, v=0x%p, size=%d.\n",
|
||||
(uint32_t) fbi->fix.smem_start, fbi->screen_base, fbi->fix.smem_len);
|
||||
|
|
@ -1365,6 +1386,11 @@ static int init_fb_chan(struct mx3fb_data *mx3fb, struct idmac_channel *ichan)
|
|||
init_completion(&mx3fbi->flip_cmpl);
|
||||
disable_irq(ichan->eof_irq);
|
||||
dev_dbg(mx3fb->dev, "disabling irq %d\n", ichan->eof_irq);
|
||||
ret = __set_par(fbi, false);
|
||||
if (ret < 0)
|
||||
goto esetpar;
|
||||
|
||||
__blank(FB_BLANK_UNBLANK, fbi);
|
||||
|
||||
dev_info(dev, "registered, using mode %s\n", fb_mode);
|
||||
|
||||
|
|
|
|||
|
|
@ -481,6 +481,9 @@ static int sh_mobile_lcdc_start(struct sh_mobile_lcdc_priv *priv)
|
|||
/* tell the board code to enable the panel */
|
||||
for (k = 0; k < ARRAY_SIZE(priv->ch); k++) {
|
||||
ch = &priv->ch[k];
|
||||
if (!ch->enabled)
|
||||
continue;
|
||||
|
||||
board_cfg = &ch->cfg.board_cfg;
|
||||
if (board_cfg->display_on)
|
||||
board_cfg->display_on(board_cfg->board_data);
|
||||
|
|
@ -498,6 +501,8 @@ static void sh_mobile_lcdc_stop(struct sh_mobile_lcdc_priv *priv)
|
|||
/* clean up deferred io and ask board code to disable panel */
|
||||
for (k = 0; k < ARRAY_SIZE(priv->ch); k++) {
|
||||
ch = &priv->ch[k];
|
||||
if (!ch->enabled)
|
||||
continue;
|
||||
|
||||
/* deferred io mode:
|
||||
* flush frame, and wait for frame end interrupt
|
||||
|
|
|
|||
|
|
@ -2407,14 +2407,14 @@ int viafb_setmode(int vmode_index, int hor_res, int ver_res, int video_bpp,
|
|||
viafb_dvi_set_mode(viafb_get_mode_index
|
||||
(viaparinfo->tmds_setting_info->h_active,
|
||||
viaparinfo->tmds_setting_info->
|
||||
v_active, 1),
|
||||
v_active),
|
||||
video_bpp1, viaparinfo->
|
||||
tmds_setting_info->iga_path);
|
||||
} else {
|
||||
viafb_dvi_set_mode(viafb_get_mode_index
|
||||
(viaparinfo->tmds_setting_info->h_active,
|
||||
viaparinfo->
|
||||
tmds_setting_info->v_active, 0),
|
||||
tmds_setting_info->v_active),
|
||||
video_bpp, viaparinfo->
|
||||
tmds_setting_info->iga_path);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -580,10 +580,7 @@ static void load_lcd_k400_patch_tbl(int set_hres, int set_vres,
|
|||
int reg_num = 0;
|
||||
struct io_reg *lcd_patch_reg = NULL;
|
||||
|
||||
if (viaparinfo->lvds_setting_info->iga_path == IGA2)
|
||||
vmode_index = viafb_get_mode_index(set_hres, set_vres, 1);
|
||||
else
|
||||
vmode_index = viafb_get_mode_index(set_hres, set_vres, 0);
|
||||
vmode_index = viafb_get_mode_index(set_hres, set_vres);
|
||||
switch (panel_id) {
|
||||
/* LCD 800x600 */
|
||||
case LCD_PANEL_ID1_800X600:
|
||||
|
|
@ -761,10 +758,7 @@ static void load_lcd_p880_patch_tbl(int set_hres, int set_vres,
|
|||
int reg_num = 0;
|
||||
struct io_reg *lcd_patch_reg = NULL;
|
||||
|
||||
if (viaparinfo->lvds_setting_info->iga_path == IGA2)
|
||||
vmode_index = viafb_get_mode_index(set_hres, set_vres, 1);
|
||||
else
|
||||
vmode_index = viafb_get_mode_index(set_hres, set_vres, 0);
|
||||
vmode_index = viafb_get_mode_index(set_hres, set_vres);
|
||||
|
||||
switch (panel_id) {
|
||||
case LCD_PANEL_ID5_1400X1050:
|
||||
|
|
@ -832,10 +826,7 @@ static void load_lcd_patch_regs(int set_hres, int set_vres,
|
|||
{
|
||||
int vmode_index;
|
||||
|
||||
if (viaparinfo->lvds_setting_info->iga_path == IGA2)
|
||||
vmode_index = viafb_get_mode_index(set_hres, set_vres, 1);
|
||||
else
|
||||
vmode_index = viafb_get_mode_index(set_hres, set_vres, 0);
|
||||
vmode_index = viafb_get_mode_index(set_hres, set_vres);
|
||||
|
||||
viafb_unlock_crt();
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ static u32 pseudo_pal[17];
|
|||
/* video mode */
|
||||
static char *viafb_mode = "640x480";
|
||||
static char *viafb_mode1 = "640x480";
|
||||
static int viafb_resMode = VIA_RES_640X480;
|
||||
|
||||
/* Added for specifying active devices.*/
|
||||
char *viafb_active_dev = "";
|
||||
|
|
@ -56,47 +55,47 @@ static void viafb_get_video_device(u32 *video_dev_info);
|
|||
|
||||
/* Mode information */
|
||||
static const struct viafb_modeinfo viafb_modentry[] = {
|
||||
{480, 640, VIA_RES_480X640, "480x640"},
|
||||
{640, 480, VIA_RES_640X480, "640x480"},
|
||||
{800, 480, VIA_RES_800X480, "800x480"},
|
||||
{800, 600, VIA_RES_800X600, "800x600"},
|
||||
{1024, 768, VIA_RES_1024X768, "1024x768"},
|
||||
{1152, 864, VIA_RES_1152X864, "1152x864"},
|
||||
{1280, 1024, VIA_RES_1280X1024, "1280x1024"},
|
||||
{1600, 1200, VIA_RES_1600X1200, "1600x1200"},
|
||||
{1440, 1050, VIA_RES_1440X1050, "1440x1050"},
|
||||
{1280, 768, VIA_RES_1280X768, "1280x768"},
|
||||
{1280, 800, VIA_RES_1280X800, "1280x800"},
|
||||
{1280, 960, VIA_RES_1280X960, "1280x960"},
|
||||
{1920, 1440, VIA_RES_1920X1440, "1920x1440"},
|
||||
{848, 480, VIA_RES_848X480, "848x480"},
|
||||
{1400, 1050, VIA_RES_1400X1050, "1400x1050"},
|
||||
{720, 480, VIA_RES_720X480, "720x480"},
|
||||
{720, 576, VIA_RES_720X576, "720x576"},
|
||||
{1024, 512, VIA_RES_1024X512, "1024x512"},
|
||||
{1024, 576, VIA_RES_1024X576, "1024x576"},
|
||||
{1024, 600, VIA_RES_1024X600, "1024x600"},
|
||||
{1280, 720, VIA_RES_1280X720, "1280x720"},
|
||||
{1920, 1080, VIA_RES_1920X1080, "1920x1080"},
|
||||
{1366, 768, VIA_RES_1368X768, "1368x768"},
|
||||
{1680, 1050, VIA_RES_1680X1050, "1680x1050"},
|
||||
{960, 600, VIA_RES_960X600, "960x600"},
|
||||
{1000, 600, VIA_RES_1000X600, "1000x600"},
|
||||
{1024, 576, VIA_RES_1024X576, "1024x576"},
|
||||
{1024, 600, VIA_RES_1024X600, "1024x600"},
|
||||
{1088, 612, VIA_RES_1088X612, "1088x612"},
|
||||
{1152, 720, VIA_RES_1152X720, "1152x720"},
|
||||
{1200, 720, VIA_RES_1200X720, "1200x720"},
|
||||
{1280, 600, VIA_RES_1280X600, "1280x600"},
|
||||
{1360, 768, VIA_RES_1360X768, "1360x768"},
|
||||
{1440, 900, VIA_RES_1440X900, "1440x900"},
|
||||
{1600, 900, VIA_RES_1600X900, "1600x900"},
|
||||
{1600, 1024, VIA_RES_1600X1024, "1600x1024"},
|
||||
{1792, 1344, VIA_RES_1792X1344, "1792x1344"},
|
||||
{1856, 1392, VIA_RES_1856X1392, "1856x1392"},
|
||||
{1920, 1200, VIA_RES_1920X1200, "1920x1200"},
|
||||
{2048, 1536, VIA_RES_2048X1536, "2048x1536"},
|
||||
{0, 0, VIA_RES_INVALID, "640x480"}
|
||||
{480, 640, VIA_RES_480X640},
|
||||
{640, 480, VIA_RES_640X480},
|
||||
{800, 480, VIA_RES_800X480},
|
||||
{800, 600, VIA_RES_800X600},
|
||||
{1024, 768, VIA_RES_1024X768},
|
||||
{1152, 864, VIA_RES_1152X864},
|
||||
{1280, 1024, VIA_RES_1280X1024},
|
||||
{1600, 1200, VIA_RES_1600X1200},
|
||||
{1440, 1050, VIA_RES_1440X1050},
|
||||
{1280, 768, VIA_RES_1280X768,},
|
||||
{1280, 800, VIA_RES_1280X800},
|
||||
{1280, 960, VIA_RES_1280X960},
|
||||
{1920, 1440, VIA_RES_1920X1440},
|
||||
{848, 480, VIA_RES_848X480},
|
||||
{1400, 1050, VIA_RES_1400X1050},
|
||||
{720, 480, VIA_RES_720X480},
|
||||
{720, 576, VIA_RES_720X576},
|
||||
{1024, 512, VIA_RES_1024X512},
|
||||
{1024, 576, VIA_RES_1024X576},
|
||||
{1024, 600, VIA_RES_1024X600},
|
||||
{1280, 720, VIA_RES_1280X720},
|
||||
{1920, 1080, VIA_RES_1920X1080},
|
||||
{1366, 768, VIA_RES_1368X768},
|
||||
{1680, 1050, VIA_RES_1680X1050},
|
||||
{960, 600, VIA_RES_960X600},
|
||||
{1000, 600, VIA_RES_1000X600},
|
||||
{1024, 576, VIA_RES_1024X576},
|
||||
{1024, 600, VIA_RES_1024X600},
|
||||
{1088, 612, VIA_RES_1088X612},
|
||||
{1152, 720, VIA_RES_1152X720},
|
||||
{1200, 720, VIA_RES_1200X720},
|
||||
{1280, 600, VIA_RES_1280X600},
|
||||
{1360, 768, VIA_RES_1360X768},
|
||||
{1440, 900, VIA_RES_1440X900},
|
||||
{1600, 900, VIA_RES_1600X900},
|
||||
{1600, 1024, VIA_RES_1600X1024},
|
||||
{1792, 1344, VIA_RES_1792X1344},
|
||||
{1856, 1392, VIA_RES_1856X1392},
|
||||
{1920, 1200, VIA_RES_1920X1200},
|
||||
{2048, 1536, VIA_RES_2048X1536},
|
||||
{0, 0, VIA_RES_INVALID}
|
||||
};
|
||||
|
||||
static struct fb_ops viafb_ops;
|
||||
|
|
@ -177,7 +176,7 @@ static int viafb_check_var(struct fb_var_screeninfo *var,
|
|||
if (var->vmode & FB_VMODE_INTERLACED || var->vmode & FB_VMODE_DOUBLE)
|
||||
return -EINVAL;
|
||||
|
||||
vmode_index = viafb_get_mode_index(var->xres, var->yres, 0);
|
||||
vmode_index = viafb_get_mode_index(var->xres, var->yres);
|
||||
if (vmode_index == VIA_RES_INVALID) {
|
||||
DEBUG_MSG(KERN_INFO
|
||||
"viafb: Mode %dx%dx%d not supported!!\n",
|
||||
|
|
@ -233,14 +232,14 @@ static int viafb_set_par(struct fb_info *info)
|
|||
viafb_update_device_setting(info->var.xres, info->var.yres,
|
||||
info->var.bits_per_pixel, viafb_refresh, 0);
|
||||
|
||||
vmode_index = viafb_get_mode_index(info->var.xres, info->var.yres, 0);
|
||||
vmode_index = viafb_get_mode_index(info->var.xres, info->var.yres);
|
||||
|
||||
if (viafb_SAMM_ON == 1) {
|
||||
DEBUG_MSG(KERN_INFO
|
||||
"viafb_second_xres = %d, viafb_second_yres = %d, bpp = %d\n",
|
||||
viafb_second_xres, viafb_second_yres, viafb_bpp1);
|
||||
vmode_index1 = viafb_get_mode_index(viafb_second_xres,
|
||||
viafb_second_yres, 1);
|
||||
viafb_second_yres);
|
||||
DEBUG_MSG(KERN_INFO "->viafb_SAMM_ON: index=%d\n",
|
||||
vmode_index1);
|
||||
|
||||
|
|
@ -1262,7 +1261,7 @@ static int viafb_sync(struct fb_info *info)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int viafb_get_mode_index(int hres, int vres, int flag)
|
||||
int viafb_get_mode_index(int hres, int vres)
|
||||
{
|
||||
u32 i;
|
||||
DEBUG_MSG(KERN_INFO "viafb_get_mode_index!\n");
|
||||
|
|
@ -1272,13 +1271,7 @@ int viafb_get_mode_index(int hres, int vres, int flag)
|
|||
viafb_modentry[i].yres == vres)
|
||||
break;
|
||||
|
||||
viafb_resMode = viafb_modentry[i].mode_index;
|
||||
if (flag)
|
||||
viafb_mode1 = viafb_modentry[i].mode_res;
|
||||
else
|
||||
viafb_mode = viafb_modentry[i].mode_res;
|
||||
|
||||
return viafb_resMode;
|
||||
return viafb_modentry[i].mode_index;
|
||||
}
|
||||
|
||||
static void check_available_device_to_enable(int device_id)
|
||||
|
|
@ -2199,7 +2192,7 @@ static int __devinit via_pci_probe(void)
|
|||
strict_strtoul(tmpc, 0, &default_xres);
|
||||
strict_strtoul(tmpm, 0, &default_yres);
|
||||
|
||||
vmode_index = viafb_get_mode_index(default_xres, default_yres, 0);
|
||||
vmode_index = viafb_get_mode_index(default_xres, default_yres);
|
||||
DEBUG_MSG(KERN_INFO "0->index=%d\n", vmode_index);
|
||||
|
||||
if (viafb_SAMM_ON == 1) {
|
||||
|
|
|
|||
|
|
@ -81,7 +81,6 @@ struct viafb_modeinfo {
|
|||
u32 xres;
|
||||
u32 yres;
|
||||
int mode_index;
|
||||
char *mode_res;
|
||||
};
|
||||
extern unsigned int viafb_second_virtual_yres;
|
||||
extern unsigned int viafb_second_virtual_xres;
|
||||
|
|
@ -102,7 +101,7 @@ extern int strict_strtoul(const char *cp, unsigned int base,
|
|||
void viafb_memory_pitch_patch(struct fb_info *info);
|
||||
void viafb_fill_var_timing_info(struct fb_var_screeninfo *var, int refresh,
|
||||
int mode_index);
|
||||
int viafb_get_mode_index(int hres, int vres, int flag);
|
||||
int viafb_get_mode_index(int hres, int vres);
|
||||
u8 viafb_gpio_i2c_read_lvds(struct lvds_setting_information
|
||||
*plvds_setting_info, struct lvds_chip_information
|
||||
*plvds_chip_info, u8 index);
|
||||
|
|
|
|||
|
|
@ -454,6 +454,10 @@ static int __devinit xenfb_probe(struct xenbus_device *dev,
|
|||
|
||||
xenfb_init_shared_page(info, fb_info);
|
||||
|
||||
ret = xenfb_connect_backend(dev, info);
|
||||
if (ret < 0)
|
||||
goto error;
|
||||
|
||||
ret = register_framebuffer(fb_info);
|
||||
if (ret) {
|
||||
fb_deferred_io_cleanup(fb_info);
|
||||
|
|
@ -464,10 +468,6 @@ static int __devinit xenfb_probe(struct xenbus_device *dev,
|
|||
}
|
||||
info->fb_info = fb_info;
|
||||
|
||||
ret = xenfb_connect_backend(dev, info);
|
||||
if (ret < 0)
|
||||
goto error;
|
||||
|
||||
xenfb_make_preferred_console();
|
||||
return 0;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue