From: Manousaridis A. <am...@in...> - 2003-11-12 12:15:09
|
Thanks for you quick reply. Geert Uytterhoeven wrote: > On Tue, 11 Nov 2003, Manousaridis Angelos wrote: > >>I am trying to implement a framebuffer device without console support. I >>want to display only graphics, no text at all. >> >>Is there a way to avoid the console take over? > > Disable CONFIG_VT_CONSOLE. I did that. there is no change. >>I don't have the actuall graphics device yet, so I have created an >>initial version of the driver looking a lot like the vfb device. >>I set the dispsw variable of the display structure to fbcon_dummy. >>When I load the module I see this: >> >>fbcon_setup: No support for fontwidth 8 >>fbcon_setup: type 0 (aux 0, depth 8) not supported > > That's harmless, and caused by fbcon_dummy. > >>Console: switching to colour frame buffer device 80x30 >>fb0: Teralogic 751 frame buffer device >> >>The module count increases to 63 and I cannot unload the module. > > Because the virtual console subsystem uses 63 virtual consoles by default, and > increases the module counter for each of them. In the register_fremabuffer routine, this is called for the first framebuffer that is registered: take_over_console(&fb_con, first_fb_vc, last_fb_vc, fbcon_is_default) This is what I don't like. When that happens, I cannot free fb0. There is a give_up_console function but it is never called. >>If I comment this line causing the owner variable to be undefined, the >>module count does not increase and the module can be unloaded. >>But It seems that the device is NOT unregistered. When I load the module > > > Your module_cleanup() routine must unregister your fb_info. > It does call unregister_framebuffer, but it returns "device busy" because fb0 is used as the system console. I want either to avoid this : "Console: switching to colour frame buffer device 80x30" (which means take_over_console will not be called) or, if I can't do that, to be able to take back by first framebuffer (fb0) from the console, so that I can unregister it. What am I missing here? -- Manousaridis Angelos |