summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons/blank
diff options
context:
space:
mode:
authoryokota <yokota@FreeBSD.org>1997-07-15 14:49:39 +0000
committeryokota <yokota@FreeBSD.org>1997-07-15 14:49:39 +0000
commitb00b16c7e8417280e1baf4fd2100eb0289c081ee (patch)
treeacca8151fd578dce89fac8fd061b008e563e98c9 /sys/dev/syscons/blank
parent56b7c76d791c0e3042285bea5b2d6dd85c0da4ab (diff)
downloadFreeBSD-src-b00b16c7e8417280e1baf4fd2100eb0289c081ee.zip
FreeBSD-src-b00b16c7e8417280e1baf4fd2100eb0289c081ee.tar.gz
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.
Diffstat (limited to 'sys/dev/syscons/blank')
-rw-r--r--sys/dev/syscons/blank/blank_saver.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/sys/dev/syscons/blank/blank_saver.c b/sys/dev/syscons/blank/blank_saver.c
index d019428..a534ab3 100644
--- a/sys/dev/syscons/blank/blank_saver.c
+++ b/sys/dev/syscons/blank/blank_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: blank_saver.c,v 1.8 1997/02/22 12:49:06 peter Exp $
+ * $Id: blank_saver.c,v 1.9 1997/04/06 10:48:10 dufault Exp $
*/
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/conf.h>
#include <sys/exec.h>
#include <sys/sysent.h>
#include <sys/lkm.h>
-#include <sys/errno.h>
+
+#include <i386/isa/isa.h>
+
#include <saver.h>
MOD_MISC(blank_saver);
-void (*current_saver)(int blank);
-void (*old_saver)(int blank);
-
static void
blank_saver(int blank)
{
@@ -61,18 +59,15 @@ blank_saver(int blank)
static int
blank_saver_load(struct lkm_table *lkmtp, int cmd)
{
- (*current_saver)(0);
- old_saver = current_saver;
- current_saver = blank_saver;
- return 0;
+ if (!crtc_vga)
+ return EINVAL;
+ return add_scrn_saver(blank_saver);
}
static int
blank_saver_unload(struct lkm_table *lkmtp, int cmd)
{
- (*current_saver)(0);
- current_saver = old_saver;
- return 0;
+ return remove_scrn_saver(blank_saver);
}
int
OpenPOWER on IntegriCloud