git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
video
/
au1100fb.c
diff --git
a/drivers/video/au1100fb.c
b/drivers/video/au1100fb.c
index
f25d5d6
..
ef5c16f
100644
(file)
--- a/
drivers/video/au1100fb.c
+++ b/
drivers/video/au1100fb.c
@@
-8,6
+8,7
@@
* <c.pellegrin@exadron.com>
*
* PM support added by Rodolfo Giometti <giometti@linux.it>
* <c.pellegrin@exadron.com>
*
* PM support added by Rodolfo Giometti <giometti@linux.it>
+ * Cursor enable/disable by Rodolfo Giometti <giometti@linux.it>
*
* Copyright 2002 MontaVista Software
* Author: MontaVista Software, Inc.
*
* Copyright 2002 MontaVista Software
* Author: MontaVista Software, Inc.
@@
-110,6
+111,10
@@
static struct fb_var_screeninfo au1100fb_var __initdata = {
static struct au1100fb_drv_info drv_info;
static struct au1100fb_drv_info drv_info;
+static int nocursor = 0;
+module_param(nocursor, int, 0644);
+MODULE_PARM_DESC(nocursor, "cursor enable/disable");
+
/*
* Set hardware with var settings. This will enable the controller with a specific
* mode, normally validated with the fb_check_var method
/*
* Set hardware with var settings. This will enable the controller with a specific
* mode, normally validated with the fb_check_var method
@@
-422,6
+427,17
@@
int au1100fb_fb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
return 0;
}
return 0;
}
+/* fb_cursor
+ * Used to disable cursor drawing...
+ */
+int au1100fb_fb_cursor(struct fb_info *info, struct fb_cursor *cursor)
+{
+ if (nocursor)
+ return 0;
+ else
+ return -EINVAL; /* just to force soft_cursor() call */
+}
+
static struct fb_ops au1100fb_ops =
{
.owner = THIS_MODULE,
static struct fb_ops au1100fb_ops =
{
.owner = THIS_MODULE,
@@
-433,6
+449,7
@@
static struct fb_ops au1100fb_ops =
.fb_imageblit = cfb_imageblit,
.fb_rotate = au1100fb_fb_rotate,
.fb_mmap = au1100fb_fb_mmap,
.fb_imageblit = cfb_imageblit,
.fb_rotate = au1100fb_fb_rotate,
.fb_mmap = au1100fb_fb_mmap,
+ .fb_cursor = au1100fb_fb_cursor,
};
};
@@
-677,7
+694,7
@@
int au1100fb_setup(char *options)
if (options) {
while ((this_opt = strsep(&options,",")) != NULL) {
/* Panel option */
if (options) {
while ((this_opt = strsep(&options,",")) != NULL) {
/* Panel option */
- if (!strncmp(this_opt, "panel:", 6)) {
+
if (!strncmp(this_opt, "panel:", 6)) {
int i;
this_opt += 6;
for (i = 0; i < num_panels; i++) {
int i;
this_opt += 6;
for (i = 0; i < num_panels; i++) {
@@
-685,13
+702,18
@@
int au1100fb_setup(char *options)
known_lcd_panels[i].name,
strlen(this_opt))) {
panel_idx = i;
known_lcd_panels[i].name,
strlen(this_opt))) {
panel_idx = i;
- break;
+ break;
+ }
}
}
- }
if (i >= num_panels) {
print_warn("Panel %s not supported!", this_opt);
}
}
if (i >= num_panels) {
print_warn("Panel %s not supported!", this_opt);
}
}
+ if (!strncmp(this_opt, "nocursor", 8)) {
+ this_opt += 8;
+ nocursor = 1;
+ print_info("Cursor disabled");
+ }
/* Mode option (only option that start with digit) */
else if (isdigit(this_opt[0])) {
mode = kmalloc(strlen(this_opt) + 1, GFP_KERNEL);
/* Mode option (only option that start with digit) */
else if (isdigit(this_opt[0])) {
mode = kmalloc(strlen(this_opt) + 1, GFP_KERNEL);
@@
-700,7
+722,7
@@
int au1100fb_setup(char *options)
/* Unsupported option */
else {
print_warn("Unsupported option \"%s\"", this_opt);
/* Unsupported option */
else {
print_warn("Unsupported option \"%s\"", this_opt);
- }
+
}
}
}
}
}