Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Oct 1998 09:46:21 +0200 (SAT)
From:      John Hay <jhay@mikom.csir.co.za>
To:        hackers@FreeBSD.ORG (FreeBSD-hackers)
Subject:   kld screensavers
Message-ID:  <199810290746.JAA16726@zibbi.mikom.csir.co.za>

next in thread | raw e-mail | index | archive | help
It looks like the kld screensavers hasn't been converted from lkm's
to kld's yet. It looks like it has just been moved from the lkm
directory to sys/modules. I have converted one of them (daemon_saver)
and it seems to be working fine. Is this the kind of chnages needed?
Is there something more (or less) needed? If this is ok, I will
commit it and do the rest of the screensavers... Or is someone else
busy with it... Or is there some other plan?

One thing that I'm unsure about is in DECLARE_MODULE() if SI_SUB_PSEUDO
is the right one to use for the screen savers.

John
-- 
John Hay -- John.Hay@mikom.csir.co.za


Index: sys/modules/syscons/daemon/daemon_saver.c
===================================================================
RCS file: /home/ncvs/src/sys/modules/syscons/daemon/daemon_saver.c,v
retrieving revision 1.11
diff -u -r1.11 daemon_saver.c
--- daemon_saver.c	1998/09/17 19:40:30	1.11
+++ daemon_saver.c	1998/10/23 10:29:52
@@ -35,6 +35,7 @@
 #include <sys/lkm.h>
 #include <sys/malloc.h>
 #include <sys/kernel.h>
+#include <sys/module.h>
 #include <sys/sysctl.h>
 
 #include <machine/md_var.h>
@@ -48,8 +49,6 @@
 #define DAEMON_MAX_WIDTH	32
 #define DAEMON_MAX_HEIGHT	19
 
-MOD_MISC(daemon_saver);
-
 static char *message;
 static int messagelen;
 static u_short *window;
@@ -335,35 +334,37 @@
 }
 
 static int
-daemon_saver_load(struct lkm_table *lkmtp, int cmd)
+daemon_saver_modevent(module_t mod, modeventtype_t type, void *unused)
 {
 	int err;
 
-	messagelen = strlen(hostname) + 3 + strlen(ostype) + 1 + 
-	    strlen(osrelease);
-	message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK);
-	sprintf(message, "%s - %s %s", hostname, ostype, osrelease);
-
-	err = add_scrn_saver(daemon_saver);
-	if (err != 0)
-		free(message, M_DEVBUF);
-	return err;
+	err = 0;
+	switch (type) {
+	case MOD_LOAD:
+		messagelen = strlen(hostname) + 3 + strlen(ostype) + 1 + 
+		    strlen(osrelease);
+		message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK);
+		sprintf(message, "%s - %s %s", hostname, ostype, osrelease);
+
+		err = add_scrn_saver(daemon_saver);
+		if (err != 0)
+			free(message, M_DEVBUF);
+		break;
+	case MOD_UNLOAD:
+		err = remove_scrn_saver(daemon_saver);
+		if (err == 0)
+			free(message, M_DEVBUF);
+		break;
+	default:
+		printf("daemon_saver module unknown event: 0x%x\n", type);
+	}
+	return(err);
 }
-
-static int
-daemon_saver_unload(struct lkm_table *lkmtp, int cmd)
-{
-	int err;
 
-	err = remove_scrn_saver(daemon_saver);
-	if (err == 0)
-		free(message, M_DEVBUF);
-	return err;
-}
+moduledata_t daemon_saver_mod = {
+	"daemon_saver",
+	daemon_saver_modevent,
+	0
+};
 
-int
-daemon_saver_mod(struct lkm_table *lkmtp, int cmd, int ver)
-{
-	MOD_DISPATCH(daemon_saver, lkmtp, cmd, ver,
-		daemon_saver_load, daemon_saver_unload, lkm_nullcmd);
-}
+DECLARE_MODULE(daemon_saver, daemon_saver_mod, SI_SUB_PSEUDO, SI_ORDER_ANY);

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810290746.JAA16726>