|
From: James S. <jsi...@in...> - 2002-10-18 18:20:39
|
> I thought i may as well write a little HOWTO or something such on the > way of doing this. Since i have not much fbdev writing experience, maybe > i am a good candidate for writing such a thing. Wow that would be great. > I wanted, in the first step, to do just a basic unaccelerated fbdev > driver, without mode changes and anything fancy, and once this works, > add things incrementally. I believe this approach will be good for > future fbdev driver writters. Good approach to doing this. > Anyway, now for my question. > > skeletonfb says that check_var, set_par, setcolreg, pan_display and > blank functions are optional or not required. Is that true, and in case > i don't want to provide them, whay do i put in the fb_ops structure ? All the functions are optional. They are needed when: fb_open: We need special things done when we open or close /dev/fb fb_release: fb_read: When we have a strange framebuffer that doesn't allow fb_write: linear writes. A good example is the Epson1385 chipset at 16 bpp mode. fb_check_var: When we can change the resolution of the display. fb_set_par: fb_setcolreg: Have a programable color palette. fb_blank: Have hardware support for power management of some kind. fb_pan_display: Hardware scrolling fb_cursor: Hardware cursor. fb_poll: Want to use interrupts such as VLB. fb_sync: To sync the accel engine and framebuffer memory. fb_ioctl: Extra functions you want to support. fb_mmap: Have special memory needs when exposing to userland. fb_rastering: I don't know if we are going to keep this one? The only ones require are the accel functions for drawing on the console. > Later, in the fb_ops structure, only set_par, blank and pan_display are > labeled as optional. That is a mistake. |