Claude review: drm/i915/display/intel_lvds: Drop redundant manual cleanup on init failure

Claude Code Review Bot
2026-04-12T00:51:24Z

Patch Review

Correct. After `drm_connector_init_with_ddc()` and `drm_encoder_init()` succeed, both objects are registered with the DRM core. The `.destroy` callbacks (`intel_connector_destroy` for the connector, `intel_encoder_destroy` for the encoder) will be invoked by `drm_mode_config_cleanup()` during device teardown.

I verified that `intel_encoder_destroy()` does:
```c
struct intel_encoder *intel_encoder = to_intel_encoder(encoder);
drm_encoder_cleanup(encoder);
kfree(intel_encoder);
```

Since `struct intel_lvds_encoder` has `struct intel_encoder base` as its first field, the `kfree` correctly frees the containing `intel_lvds_encoder` allocation. No leak.

The replacement path (`return` early with a `drm_dbg_kms`) is clean. The downside is that a non-functional LVDS encoder/connector pair remains registered until device teardown, but this is consistent with how other init failures are handled.

---
Generated by Claude Code Patch Reviewer