The consensus of many DRM folks is that we want to move away from DSI drivers defining tables of init commands. Instead, we want to move to init functions that can use common DRM functions. The issue thus far has been that using the macros mipi_dsi_generic_write_seq() and mipi_dsi_dcs_write_seq() bloats the driver using them. While trying to solve bloat, we realized that the majority of the it was easy to solve. This series solves the bloat for existing drivers by moving the printout outside of the macro. During discussion of my v1 patch to fix the bloat [1], we also decided that we really want to change the way that drivers deal with init sequences to make it clearer. In addition to being cleaner, a side effect of moving drivers to the new style reduces bloat _even more_. This series also contains a few minor fixes / cleanups that I found along the way. This series converts two drivers over to the new mipi_dsi_dcs_write_seq_multi() function. I don't have any hardware that uses the mipi_dsi_generic_write_seq() function to test with, so I haven't converted anything over to use that. The conversions are straightforward but I'd appreciate testing. [1] https://lore.kernel.org/r/20240424172017.1.Id15fae80582bc74a0d4f1338987fa375738f45b9@changeid Changes in v2: - drm/mipi-dsi: Fix theoretical int overflow in mipi_dsi_dcs_write_seq() - drm/mipi-dsi: Fix theoretical int overflow in mipi_dsi_generic_write_seq() - Add some comments to the macros about printing and returning. - Modify commit message now that this is part of a series. - Change the way err value is handled in prep for next patch. - Rebased upon patches to avoid theoretical int overflow. - drm/mipi-dsi: Introduce mipi_dsi_*_write_seq_multi() - drm/mipi-dsi: mipi_dsi_*_write functions don't need to ratelimit prints - drm/panel: novatek-nt36672e: Switch to mipi_dsi_dcs_write_seq_multi() - drm/panel: boe-tv101wum-nl6: Don't use a table for initting commands - drm/panel: boe-tv101wum-nl6: Convert hex to lowercase Douglas Anderson (8): drm/mipi-dsi: Fix theoretical int overflow in mipi_dsi_dcs_write_seq() drm/mipi-dsi: Fix theoretical int overflow in mipi_dsi_generic_write_seq() drm/mipi-dsi: Reduce driver bloat of mipi_dsi_*_write_seq() drm/mipi-dsi: Introduce mipi_dsi_*_write_seq_multi() drm/mipi-dsi: mipi_dsi_*_write functions don't need to ratelimit prints drm/panel: novatek-nt36672e: Switch to mipi_dsi_dcs_write_seq_multi() drm/panel: boe-tv101wum-nl6: Don't use a table for initting commands drm/panel: boe-tv101wum-nl6: Convert hex to lowercase drivers/gpu/drm/drm_mipi_dsi.c | 112 + .../gpu/drm/panel/panel-boe-tv101wum-nl6.c | 2712 +++++++++-------- .../gpu/drm/panel/panel-novatek-nt36672e.c | 524 ++-- include/drm/drm_mipi_dsi.h | 96 +- 4 files changed, 1818 insertions(+), 1626 deletions(-) -- 2.44.0.769.g3c40516874-goog