Linus series proposed to break out ili9882t as separate driver, but he didn't have time for that extensive rework of the driver. As discussed by Linus and Doug [1], keep macro using the "struct panel_init_cmd" until we get some resolution about the binary size issue. [1]: https://lore.kernel.org/all/20230703-fix-boe-tv101wum-nl6-v3-0-bd6e9432c755@xxxxxxxxxx In [v1 2/2], Doug suggested move the ili9882t_enter_sleep_mode function to ili9882t_unprepare. I tried this scheme and the test failed, because the touchpanel reset was already pulled low before the panel enter sleep, which did not seem to meet the timing requirements. I hoped that the current adding delay solution can be apply to solve the special requirements of this IC. [v1 2/2] https://lore.kernel.org/all/CAD=FV=XtqPJ77dx8uRb0=tMvC3CvgH5X+7mUJeXgcG228kZfUg@xxxxxxxxxxxxxx/ Changes in v3: - PATCH 1/3: Remove "init_cmd_length" and "linux/of_device.h" . - PATCH 2/3: Change usleep_range(50000,51000). - PATCH 3/3: Add a little background for commit. - Link to v2: https://lore.kernel.org/all/20231010121402.3687948-1-yangcong5@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ Changes in v2: - PATCH 1/3: fix Doug comments,define "_INIT_SWITCH_PAGE_CMD" and remove the "shutdown". - PATCH 2/3: Modify ili9882t_switch_page function instead of hardcoding. - PATCH 3/3: Enable new config in defconfig. - Link to v1: https://lore.kernel.org/all/20231007060639.725350-1-yangcong5@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ Cong Yang (3): drm/panel: ili9882t: Break out as separate driver drm/panel: ili9882t: Avoid blurred screen from fast sleep arm64: defconfig: Enable ILITEK_ILI9882T panel arch/arm64/configs/defconfig | 1 + drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-boe-tv101wum-nl6.c | 371 --------- drivers/gpu/drm/panel/panel-ilitek-ili9882t.c | 779 ++++++++++++++++++ 5 files changed, 790 insertions(+), 371 deletions(-) create mode 100644 drivers/gpu/drm/panel/panel-ilitek-ili9882t.c -- 2.25.1