Re: [PATCH] Do set var even if no fb_check_var() provided.
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2008-08-27 07:08:18
On Wed, 27 Aug 2008, Takashi Yoshii wrote:
The behavior of FBIOSET_VSCREENINFO seems to be weired on FB which does not provides fbops->fb_check_var. It doesn't set anything, but gets info->var instead, and returns no error. It is just same as FBIOGET_VSCREENINFO does. IMHO, this should be one of the following candidates, 1. set var without check. 2. do nothing but return error (setting var is not supported). or 3. it's a bug (fb_check_var should always be provided). The patch at the bottom implements "1". Because I don't know API specification, nor the history of the code, I would like people who knows well to discuss this.
If the driver doesn't provide a fb_check_var(), it means it cannot
change video mode. Hence this rules out #1.
#2 is not acceptable, as it will break existing applications. It's also
incorrect, as FBIOPUT_VSCREENINFO should succeed for supported modes.
For unsupported modes, the mode should be rounded up to a supported mode, if
possible. In the case of drivers that support one fixed mode only, this
rounding up is relaxed to `rounding' to the sole supported mode.
#3 is also wrong, as fb_check_var() has been deliberately made optional to
simplify drivers that support one fixed mode only.
Conclusion: nothing should be changed?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/