Commit 2ead9439 authored by Rusty Russell's avatar Rusty Russell

uvesafb: improve parameter handling.

1) Now module_param(..., invbool, ...) requires a bool, and similarly
   module_param(..., bool, ...) allows it, change pmi_setpal to a bool.
2) #define param_get_scroll to NULL, since it can never be called (perm
   argument to module_param_named is 0).
3) Return -EINVAL from param_set_scroll if the value is bad, so it's
   reported.

Note that I don't think the old fb_get_options() is required for new
drivers: the parameters automatically work as uvesafb.XXX=... anyway.
Acked-by: default avatarMichał Januszewski <spock@gentoo.org>
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
parent fddd5201
...@@ -45,7 +45,7 @@ static struct fb_fix_screeninfo uvesafb_fix __devinitdata = { ...@@ -45,7 +45,7 @@ static struct fb_fix_screeninfo uvesafb_fix __devinitdata = {
static int mtrr __devinitdata = 3; /* enable mtrr by default */ static int mtrr __devinitdata = 3; /* enable mtrr by default */
static int blank = 1; /* enable blanking by default */ static int blank = 1; /* enable blanking by default */
static int ypan = 1; /* 0: scroll, 1: ypan, 2: ywrap */ static int ypan = 1; /* 0: scroll, 1: ypan, 2: ywrap */
static int pmi_setpal __devinitdata = 1; /* use PMI for palette changes */ static bool pmi_setpal __devinitdata = true; /* use PMI for palette changes */
static int nocrtc __devinitdata; /* ignore CRTC settings */ static int nocrtc __devinitdata; /* ignore CRTC settings */
static int noedid __devinitdata; /* don't try DDC transfers */ static int noedid __devinitdata; /* don't try DDC transfers */
static int vram_remap __devinitdata; /* set amt. of memory to be used */ static int vram_remap __devinitdata; /* set amt. of memory to be used */
...@@ -2002,11 +2002,7 @@ static void __devexit uvesafb_exit(void) ...@@ -2002,11 +2002,7 @@ static void __devexit uvesafb_exit(void)
module_exit(uvesafb_exit); module_exit(uvesafb_exit);
static int param_get_scroll(char *buffer, struct kernel_param *kp) #define param_get_scroll NULL
{
return 0;
}
static int param_set_scroll(const char *val, struct kernel_param *kp) static int param_set_scroll(const char *val, struct kernel_param *kp)
{ {
ypan = 0; ypan = 0;
...@@ -2017,6 +2013,8 @@ static int param_set_scroll(const char *val, struct kernel_param *kp) ...@@ -2017,6 +2013,8 @@ static int param_set_scroll(const char *val, struct kernel_param *kp)
ypan = 1; ypan = 1;
else if (!strcmp(val, "ywrap")) else if (!strcmp(val, "ywrap"))
ypan = 2; ypan = 2;
else
return -EINVAL;
return 0; return 0;
} }
......
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