Claude review: drm/panel: Add driver for Novatek NT35532

Claude Code Review Bot
2026-03-31T21:57:44Z

Patch Review

The driver is cleanly structured and uses modern APIs (`devm_drm_panel_alloc`, `mipi_dsi_multi_context`, `devm_regulator_bulk_get_const`).

**Minor issue - inconsistent sleep/display-on commands in `rimob_panel_on()`:**

```c
mipi_dsi_generic_write_seq_multi(&dsi_ctx, MIPI_DCS_EXIT_SLEEP_MODE, 0x00);
mipi_dsi_msleep(&dsi_ctx, 120);
mipi_dsi_generic_write_seq_multi(&dsi_ctx, MIPI_DCS_SET_DISPLAY_ON, 0x00);
```

These use `mipi_dsi_generic_write_seq_multi` to send a generic MIPI packet containing `{0x11, 0x00}` / `{0x29, 0x00}`. But `nt35532_off()` correctly uses the DCS-specific helpers:

```c
mipi_dsi_dcs_set_display_off_multi(&dsi_ctx);
mipi_dsi_dcs_enter_sleep_mode_multi(&dsi_ctx);
```

Generic writes and DCS commands use different MIPI DSI packet types. Since this is auto-generated from vendor DT it may work fine in practice, but it's inconsistent and worth considering whether the on-path should also use `mipi_dsi_dcs_exit_sleep_mode_multi()` and `mipi_dsi_dcs_set_display_on_multi()` for consistency and correctness.

The `of_device_id` table only matches the specific compatible `"flipkart,rimob-panel-nt35532-cs"` and not the fallback `"novatek,nt35532"`. This is correct - the fallback is for future drivers/panels that share the same DDIC, and the specific compatible carries the init sequence data via `.data`.

Already has `Reviewed-by: Dmitry Baryshkov`.