diff options
Diffstat (limited to 'sys/modules/syscons/fade/fade_saver.c')
| -rw-r--r-- | sys/modules/syscons/fade/fade_saver.c | 61 |
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); +} |
