Skip to content

Commit

Permalink
staging: xgifb: search video mode later in probe
Browse files Browse the repository at this point in the history
When searching the video mode, some HW details needs to be
known. Therefore it's not possible to do that reliably before probe().

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Aaro Koskinen authored and Greg Kroah-Hartman committed Sep 6, 2011
1 parent 009adf2 commit dfbdf80
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions drivers/staging/xgifb/XGI_main_26.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@

#define XGIFB_ROM_SIZE 65536

static char *mode;
static int vesa;

/* -------------------- Macro definitions ---------------------------- */

#undef XGIFBDEBUG
Expand Down Expand Up @@ -1959,9 +1962,9 @@ static int __init XGIfb_setup(char *options)
continue;

if (!strncmp(this_opt, "mode:", 5)) {
XGIfb_search_mode(this_opt + 5);
mode = this_opt + 5;
} else if (!strncmp(this_opt, "vesa:", 5)) {
XGIfb_search_vesamode(xgifb_optval(this_opt, 5));
vesa = xgifb_optval(this_opt, 5);
} else if (!strncmp(this_opt, "vrate:", 6)) {
xgi_video_info.refresh_rate = xgifb_optval(this_opt, 6);
} else if (!strncmp(this_opt, "rate:", 5)) {
Expand All @@ -1987,7 +1990,7 @@ static int __init XGIfb_setup(char *options)
} else if (!strncmp(this_opt, "userom:", 7)) {
XGIfb_userom = xgifb_optval(this_opt, 7);
} else {
XGIfb_search_mode(this_opt);
mode = this_opt;
}
}
return 0;
Expand Down Expand Up @@ -2308,6 +2311,11 @@ static int __devinit xgifb_probe(struct pci_dev *pdev,

}

if (mode)
XGIfb_search_mode(mode);
else if (vesa != -1)
XGIfb_search_vesamode(vesa);

if (xgifb_mode_idx >= 0)
xgifb_mode_idx = XGIfb_validate_mode(xgifb_mode_idx);

Expand Down Expand Up @@ -2513,9 +2521,6 @@ module_init(xgifb_init);

#ifdef MODULE

static char *mode;
static int vesa;

MODULE_DESCRIPTION("Z7 Z9 Z9S Z11 framebuffer device driver");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("XGITECH , Others");
Expand All @@ -2541,10 +2546,6 @@ MODULE_PARM_DESC(filter,
static int __init xgifb_init_module(void)
{
printk("\nXGIfb_init_module");
if (mode)
XGIfb_search_mode(mode);
else if (vesa != -1)
XGIfb_search_vesamode(vesa);

return xgifb_init();
}
Expand Down

0 comments on commit dfbdf80

Please sign in to comment.