Hi, This series converts the Feiyang FY07024DI26A30-D and Raydium RM68200 panel drivers to the MIPI DSI multi-context helpers, as suggested in Documentation/gpu/todo.rst.
The first two patches fix pre-existing prepare() error paths that leave regulators enabled on failure. The following two patches convert the DCS helpers and initialization sequences, with command failures propagated through the cleanup paths. The final patch normalizes the RM68200 hexadecimal literals. In RM68200, initialization errors were previously only logged, allowing prepare() to succeed despite incomplete initialization. The conversion now stops subsequent DCS transfers and returns the first error. Thanks to Doug Anderson for reviewing v1 and confirming that this fail-fast behavior is appropriate. This series is independent of Osama Abdelkader's "drm/panel: Use managed helpers in DSI panels" v7 series, which modifies probe() and remove() rather than the panel callbacks and initialization sequences. Neither panel has been tested on hardware. Changes in v2: - 1/5 (new): Fix Feiyang prepare() error cleanup, as pointed out by Doug. - 2/5 (new): Fix RM68200 prepare() error cleanup, addressing findings from Sashiko and Doug. - 3/5 (v1 1/3): Replace the Feiyang initialization table with seven direct DCS _multi() calls and use the new error cleanup path. - 4/5 (v1 2/3 + 3/3): Merge the RM68200 conversions, as suggested by Doug, and propagate initialization errors through prepare(). - 5/5 (new): Convert RM68200 hexadecimal literals to lowercase, following Doug's suggestion. Validation: - Each of the five commits was built individually on arm64 with W=1, without compiler warnings or errors. - Checkpatch passed, except for the expected msleep(10) warning in the Feiyang error cleanup patch. - Mechanically compared all 58 RM68200 initialization calls against v1, confirming unchanged command addresses, payloads, and ordering. - Verified identical compiled code and data sections before and after the hexadecimal formatting change in patch 5/5. v1: https://lore.kernel.org/all/[email protected]/ Hsieh Hung-En (5): drm/panel: feiyang-fy07024di26a30d: Fix prepare error cleanup drm/panel: raydium-rm68200: Fix prepare error cleanup drm/panel: feiyang-fy07024di26a30d: Use mipi_dsi_*_multi() functions drm/panel: raydium-rm68200: Use mipi_dsi_*_multi() functions drm/panel: raydium-rm68200: Use lowercase hex literals .../drm/panel/panel-feiyang-fy07024di26a30d.c | 81 ++--- drivers/gpu/drm/panel/panel-raydium-rm68200.c | 285 ++++++++---------- 2 files changed, 179 insertions(+), 187 deletions(-) base-commit: a1e63ab695ad76850ab9787b9eb6aab695dc2965 -- 2.43.0
