On Wed, May 1, 2024 at 5:43 PM Douglas Anderson <dianders@xxxxxxxxxxxx> wrote: > Consensus on the mailing lists is that panels shouldn't use a table of > init commands but should instead use init functions. We'll use the > same concepts as the recently introduced > mipi_dsi_generic_write_seq_multi() to make this clean/easy and also > not bloat the driver too much. Measuring before/after this change: > > $ scripts/bloat-o-meter \ > .../before/panel-innolux-p079zca.ko \ > .../after/panel-innolux-p079zca.ko > add/remove: 3/2 grow/shrink: 0/1 up/down: 2356/-1944 (412) > Function old new delta > innolux_p097pfg_init - 1772 +1772 > innolux_p097pfg_init.d - 480 +480 > innolux_panel_write_multi - 104 +104 > innolux_panel_prepare 412 308 -104 > .compoundliteral 480 - -480 > innolux_p097pfg_init_cmds 1360 - -1360 > Total: Before=5802, After=6214, chg +7.10% > > Note that, unlike some other drivers, we actually make this panel > driver _bigger_ by using the new functions. This is because the > innolux-p079zca panel driver didn't have as complex of a table and > thus the old table was more efficient than the code. The bloat is > still not giant (only 412 bytes). > > Also note that we can't direclty use > mipi_dsi_generic_write_seq_multi() here because we need to deal with > the crazy "nop" that this driver sends after all commands. This means > that we have to write code that is "inspired" by the new macros. > > Since we're touching all the tables, let's also convert hex numbers to > lower case as per kernel conventions. > > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> With the mentioned bugfix: Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Yours, Linus Walleij