From ce834215a70ff69e7e222827437116eee2f9ac6f Mon Sep 17 00:00:00 2001 From: Kazutaka YOKOTA Date: Tue, 15 Jul 1997 14:49:39 +0000 Subject: Incorporated lots of fixes and suggestions from Bruce and changes to facilitate the new saver loading/unloading notification interface in syscons. daemon_saver: - M_NOWAIT was wrong, since NULL returns are not handled. Just use M_WAITOK. - use `ostype' instead of hard-coded "FreeBSD". Now there is no more hard-coded string! (But, who will run this screen saver on other OS?!) - put macros and data declarations in a consistent order. - -DDEAMON_ONLY and -DSHOW_HOSTNAME options added in the previous commit are removed. Options of this kind can go stale and no one notices because no one uses them. DEAMON_ONLY is just removed. SHOW_HOSTNAME is made default. snake_saver: - use `ostype' and `osrelease' as in the daemon saver. The string changes slightly - there was a hyphen after "FreeBSD"; now there is a space. (It is consistent with uname -a, like the daemon server already is.) all screen savers: - Use the new add_scrn_saver()/remove_scrn_saver() in syscons.c to declare loading/unloading of a screen saver. Removed reference to `current_saver' and the variable `old_saver' as they are not necessary anymore. - The blank, fade and green screen savers manipulate VGA registers. Module loading should fail for non-VGA cards. - `scrn_blanked' is consistently treated as a number/counter rather than boolean. - Some savers touch `scp->start' and `scp->end' to force entire screen update when stopping themselves. This is unnecessary now because syscons.c takes care of that. - cleared up many unused or unnecessary #include statements. - Removed -DLKM from Makefiles. YOU NEED TO RECOMPILE BOTH SCREEN SAVERS AND KERNEL AS OF THIS CHANGE. --- sys/dev/syscons/fade/fade_saver.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) (limited to 'sys/dev/syscons/fade') diff --git a/sys/dev/syscons/fade/fade_saver.c b/sys/dev/syscons/fade/fade_saver.c index 4fda21cdd48e6..d68bba93959f6 100644 --- a/sys/dev/syscons/fade/fade_saver.c +++ b/sys/dev/syscons/fade/fade_saver.c @@ -25,23 +25,21 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: fade_saver.c,v 1.9 1997/02/22 12:49:10 peter Exp $ + * $Id: fade_saver.c,v 1.10 1997/04/06 10:48:18 dufault Exp $ */ #include #include -#include #include #include #include -#include + +#include + #include MOD_MISC(fade_saver); -void (*current_saver)(int blank); -void (*old_saver)(int blank); - static void fade_saver(int blank) { @@ -76,18 +74,15 @@ fade_saver(int blank) static int fade_saver_load(struct lkm_table *lkmtp, int cmd) { - (*current_saver)(0); - old_saver = current_saver; - current_saver = fade_saver; - return 0; + if (!crtc_vga) + return EINVAL; + return add_scrn_saver(fade_saver); } static int fade_saver_unload(struct lkm_table *lkmtp, int cmd) { - (*current_saver)(0); - current_saver = old_saver; - return 0; + return remove_scrn_saver(fade_saver); } int -- cgit v1.3