From: James S. <jsi...@tr...> - 2002-07-05 17:14:23
|
> First, I detest the idea of "fix", "var", "par" and "info". Specifically > the "par" crap. Intensely. Why? Should each driver have their own structs that are completely different then? In this case you would be better off doing something like newport_con.c. We pretty much have this today. Each driver has so much excess code because they want to create their own special structs. Lost of bloat for no reason! I will NOT put up with that anymore!!!! Sorry! > "par" and "info" should be combined IMO, > which my framebuffer drivers do. No!!!! This is one of the reasons we have the mess we have!! Look at how much code that could be removed from the standard drivers into fbmem.c and fbcon.c. We should have focus on struct vc_data struct fb_info struct xxx_par [ fbcon.c] [ fbmem.c] [ fbdev driver ] This makes for a nice modular system. It allows for fbdev to exist without fbcon. Ideally fbmem could even be modular. Insmod the core driver. Insmod fbmem.o and you have the fbdev interface. You could then rmmod fbmem.o and do dri.o. Now with the same core driver you have the DRI interface. Or you could do both drivers at the same time. Eventually I will combine both interfaces but that will take some time. > Secondly, I think you're completely confused above. lccr0 and lccr3 have > nothing to do with some "generic struct fb_info". They hold the base > register values for two of the SA1100 control registers. > > Thirdly, you didn't delete them. You _moved_ them within the structure. > They therefore served zero functional purpose. If you could send me a patch I would be happy. > Fourthly, nothing but the sa1100fb driver has any business accessing the > elements around these two both before and after the move. True which is why things like that go into par. > Ehh? That's got nothing to do with cpufreq. The reason we have the > cpufreq interface in sa1100fb is that the base clock rate for the LCD > controller on this chip is derived from the CPU core clock. You change > the core clock, you have to reprogram the pixel clock divisor. Other devices besides the SA1100 does this as well. I knew this and this reason lead me to originally place it into struct fb_info. Later I realized it was a bad idea. |