diff options
Diffstat (limited to 'sys/arch/loongson/dev/sisfb.c')
-rw-r--r-- | sys/arch/loongson/dev/sisfb.c | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/sys/arch/loongson/dev/sisfb.c b/sys/arch/loongson/dev/sisfb.c index 8935efcf7c0..3093e71f072 100644 --- a/sys/arch/loongson/dev/sisfb.c +++ b/sys/arch/loongson/dev/sisfb.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sisfb.c,v 1.3 2013/10/20 20:07:23 miod Exp $ */ +/* $OpenBSD: sisfb.c,v 1.4 2013/10/21 10:36:14 miod Exp $ */ /* * Copyright (c) 2010 Miodrag Vallat. @@ -87,16 +87,20 @@ int sisfb_alloc_screen(void *, const struct wsscreen_descr *, void **, int *, int *, long *); void sisfb_free_screen(void *, void *); int sisfb_ioctl(void *, u_long, caddr_t, int, struct proc *); +int sisfb_list_font(void *, struct wsdisplay_font *); +int sisfb_load_font(void *, void *, struct wsdisplay_font *); +paddr_t sisfb_mmap(void *, off_t, int); int sisfb_show_screen(void *, void *, int, void (*)(void *, int, int), void *); -paddr_t sisfb_mmap(void *, off_t, int); struct wsdisplay_accessops sisfb_accessops = { .ioctl = sisfb_ioctl, .mmap = sisfb_mmap, .alloc_screen = sisfb_alloc_screen, .free_screen = sisfb_free_screen, - .show_screen = sisfb_show_screen + .show_screen = sisfb_show_screen, + .load_font = sisfb_load_font, + .list_font = sisfb_list_font }; int sisfb_getcmap(uint8_t *, struct wsdisplay_cmap *); @@ -363,6 +367,24 @@ sisfb_mmap(void *v, off_t offset, int prot) return XKPHYS_TO_PHYS((paddr_t)ri->ri_bits) + offset; } +int +sisfb_load_font(void *v, void *emulcookie, struct wsdisplay_font *font) +{ + struct sisfb_softc *sc = (struct sisfb_softc *)v; + struct rasops_info *ri = &sc->sc_fb->ri; + + return rasops_load_font(ri, emulcookie, font); +} + +int +sisfb_list_font(void *v, struct wsdisplay_font *font) +{ + struct sisfb_softc *sc = (struct sisfb_softc *)v; + struct rasops_info *ri = &sc->sc_fb->ri; + + return rasops_list_font(ri, font); +} + /* * Frame buffer initialization. */ |