On Sun, Mar 31, 2019 at 07:33:33PM +0100, Sudip Mukherjee wrote: > Why are you removing existing functionality from the driver? These are > supported but were never listed so could not be used. I think you can > just add these to vesa_mode_table[] and they can be used. If there are some "functionalities" in a system, but they are never used, even worse, they are programmed in a way that they cannot be used by any user no matter what, meanwhile not a single user had filed a bug report in the entire lifecycle of the program, then I'd call them "dead code", that serves no useful purposes, rather than "functionalities". I think most kernel developers can agree on this. > I have an old CRT in India which supports 320x240 mode and can test there > when I am there next. Well... If someone (e.g. you) do see a need of this feature, then fixing them (instead of removing them) becomes a reasonable choice. Coincidentally, I've also purchased a video converter a few days ago. Please allow some time for me to testing it, so I can see if they're working. If so, I'll add them to the vesa_mode_table[] in PATCH v3. > > /********************************************************************** > > SM712 Mode table. > > - **********************************************************************/ > > + > > + The modesetting in sm712fb is an ugly hack. First, all the registers > > + are programmed by hardcoded register arrays, which makes it difficult > > + to support different variations of color depths, refresh rates, CRT/LCD > > + panel, etc of the same resolution. Second, it means the standard > > + fb_find_mode() cannot be used and a confusing non-standard "vga=" > > + parameter is needed. Third, there's only minimum differences between > > + some modes, yet around 70 lines of code and 100 registers are needed to > > + be indepentently specified for each mode. Fourth, the register between > > + some modes are inconsistent: the register configuration of different > > + color depths in 640 x 480 modes are identical, but for 800 x 600 modes > > + it's completely different. Also, some modes can drive the LCD panel > > + properly yet some other modes will only show a white screen of death on > > + the LCD panel. Fifth, there is a specific hack for Lemote Loongson 8089D > > + laptop, the 1024x768, 16-bit color mode was modified to drive its LCD panel > > + and changed to 1024x600, but the original mode was not preserved, so > > + 1024x768 16-bit color mode is completely unsupported. And previously, > > + some modes are listed, such as 1280x1024 modes, but never supported by > > + the register configuration arrays, so they are now removed. And some modes > > + are partially implemented but neither listed nor supported, i.e. the 8-bit > > + color modes, so they have been removed from vesa_mode_table, too. > > I think this comment sounds more like a commit message instead of a > code comment. Does this improve readability? Will remove, thanks. > > > + > > + I'm not the original author of the code, fixing these problems requires a > > + complete rewrite of modesetting code, which is well-beyond my motivation. > > + > > + See Documentation/fb/sm712fb.txt for more information. > > +**********************************************************************/ > > Is this needed? Many of the commits of the driver are done by people who > are not the original author. I'll reword it. Thanks, Tom Li