summaryrefslogtreecommitdiff
path: root/sys/modules/syscons/fade/fade_saver.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/modules/syscons/fade/fade_saver.c')
-rw-r--r--sys/modules/syscons/fade/fade_saver.c61
1 files changed, 30 insertions, 31 deletions
diff --git a/sys/modules/syscons/fade/fade_saver.c b/sys/modules/syscons/fade/fade_saver.c
index 70d36c9c1e0c2..0d31bd6de526e 100644
--- a/sys/modules/syscons/fade/fade_saver.c
+++ b/sys/modules/syscons/fade/fade_saver.c
@@ -25,34 +25,33 @@
* (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.15 1998/11/04 03:49:38 peter Exp $
+ * $Id: fade_saver.c,v 1.13 1998/09/15 18:16:39 sos Exp $
*/
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/module.h>
+#include <sys/exec.h>
+#include <sys/sysent.h>
+#include <sys/lkm.h>
#include <i386/isa/isa.h>
#include <saver.h>
-static u_char palette[256*3];
-static int blanked;
+MOD_MISC(fade_saver);
-static int
-fade_saver(video_adapter_t *adp, int blank)
+static void
+fade_saver(int blank)
{
static int count = 0;
u_char pal[256*3];
int i;
if (blank) {
- blanked = TRUE;
- switch (adp->va_type) {
+ scrn_blanked = 1;
+ cur_console->status |= SAVER_RUNNING;
+ switch (crtc_type) {
case KD_VGA:
- if (count <= 0)
- save_palette(adp, palette);
if (count < 64) {
pal[0] = pal[1] = pal[2] = 0;
for (i = 3; i < 256*3; i++) {
@@ -61,7 +60,7 @@ fade_saver(video_adapter_t *adp, int blank)
else
pal[i] = 60;
}
- load_palette(adp, pal);
+ load_palette(cur_console, pal);
count++;
}
break;
@@ -69,44 +68,44 @@ fade_saver(video_adapter_t *adp, int blank)
/* not yet done XXX */
break;
case KD_CGA:
- outb(adp->va_crtc_addr + 4, 0x25);
+ outb(crtc_addr + 4, 0x25);
break;
case KD_MONO:
case KD_HERCULES:
- outb(adp->va_crtc_addr + 4, 0x21);
+ outb(crtc_addr + 4, 0x21);
break;
default:
break;
}
}
else {
- switch (adp->va_type) {
+ switch (crtc_type) {
case KD_VGA:
- load_palette(adp, palette);
+ load_palette(cur_console, palette);
count = 0;
break;
case KD_EGA:
/* not yet done XXX */
break;
case KD_CGA:
- outb(adp->va_crtc_addr + 4, 0x2d);
+ outb(crtc_addr + 4, 0x2d);
break;
case KD_MONO:
case KD_HERCULES:
- outb(adp->va_crtc_addr + 4, 0x29);
+ outb(crtc_addr + 4, 0x29);
break;
default:
break;
}
- blanked = FALSE;
+ cur_console->status &= ~SAVER_RUNNING;
+ scrn_blanked = 0;
}
- return 0;
}
static int
-fade_init(video_adapter_t *adp)
+fade_saver_load(struct lkm_table *lkmtp, int cmd)
{
- switch (adp->va_type) {
+ switch (crtc_type) {
case KD_MONO:
case KD_HERCULES:
case KD_CGA:
@@ -121,18 +120,18 @@ fade_init(video_adapter_t *adp)
default:
return ENODEV;
}
- blanked = FALSE;
- return 0;
+ return add_scrn_saver(fade_saver);
}
static int
-fade_term(video_adapter_t *adp)
+fade_saver_unload(struct lkm_table *lkmtp, int cmd)
{
- return 0;
+ return remove_scrn_saver(fade_saver);
}
-static scrn_saver_t fade_module = {
- "fade_saver", fade_init, fade_term, fade_saver, NULL,
-};
-
-SAVER_MODULE(fade_saver, fade_module);
+int
+fade_saver_mod(struct lkm_table *lkmtp, int cmd, int ver)
+{
+ MOD_DISPATCH(fade_saver, lkmtp, cmd, ver,
+ fade_saver_load, fade_saver_unload, lkm_nullcmd);
+}