James Simmons wrote:
quoted
Please, my patch (based from Jon's) is huge because it's removing > 200 lines
and it's moving softcursor.c from drivers/video to drivers/video/console where
it belongs. But it is _not_ intrusive. In fact, the majority of the patch consists
of a single logical change which removes the line below from each driver
- .fb_cursor = softcursor;
and removes the line below from drivers/video/Kconfig.
- select FB_SOFT_CURSOR
Our proposal aims to make complex code simpler and big code smaller. Your patch,
on the other hand, although small, introduces another flag FB_HWCURSOR_SOFTCURSOR,
which is redundant, and adds yet another level of complexity to an already too
complex code.
I ask you the same question as Jon. Currently several fbdev drivers have a optional flag to turn on and off the hardware cursor. Should this functionality
be removed and force all fbdev drivers to always have the hardware cursor avaiable. Thus leaving fbcon to control when to use the hardware cursor or the software cursor. It all comes down to who controls when the hardware driver will use the hardware cursor. As noted several drivers have such a flag. You would have to strip that flag out of the drivers as well.
.
BTW, the only drivers that have working hardware cursor support are rivafb, intelfb,
nvidiafb, and i810fb. Except for intelfb, I wrote all of them, if not the driver, the
hardware cursor support. And intelfb's cursor support was based on i810fb.
To answer your question, drivers can do either of two things:
1. If they don't want to use the hardware cursor, set info->fbops->fb_cursor = NULL
in fb_set_par();
2. Or, they can keep info->fbops->fb_cursor() as is, but the function will return
-ENODEV instead.
The end result is if info->fbops->fb_cursor == NULL, fbcon will call soft_cursor.
Or if the return value of info->fb_ops->fb_cursor is not equal to zero, fbcon will
call soft_cursor.
Either way, control remains with the driver, not fbcon.
Tony
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf