From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: drm/tidss: oldi: Convert OLDI to an aux driver Date: Sat, 16 May 2026 12:00:17 +1000 Message-ID: In-Reply-To: <20260513-beagley-ai-display-v2-12-9e9bcefde6bc@ideasonboard.com> References: <20260513-beagley-ai-display-v2-0-9e9bcefde6bc@ideasonboard.com> <20260513-beagley-ai-display-v2-12-9e9bcefde6bc@ideasonboard.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Patch Review This is the largest and most complex patch in the series. The conversion from inline bridge creation to auxiliary device/driver is well-motivated (power-domain management). Key observations: **1. pm_runtime_get_sync usage**: ```c + WARN_ON(pm_runtime_get_sync(oldi->dev) < 0); ``` The kernel recommends using `pm_runtime_resume_and_get()` instead of `pm_runtime_get_sync()`. With `pm_runtime_get_sync()`, on error the usage count is still incremented and must be manually decremented. `pm_runtime_resume_and_get()` handles this automatically. Consider: ```c WARN_ON(pm_runtime_resume_and_get(oldi->dev) < 0); ``` **2. pm_runtime_put_autosuspend without mark_last_busy**: In `tidss_oldi_atomic_post_disable()`: ```c + pm_runtime_put_autosuspend(oldi->dev); ``` This is correct - as established in patch 6, `pm_runtime_put_autosuspend()` calls `pm_runtime_mark_last_busy()` internally. **3. Device link flags**: The `DL_FLAG_AUTOREMOVE_CONSUMER | DL_FLAG_AUTOREMOVE_SUPPLIER` combination in the primary-to-secondary device link is unusual. The documentation says these two flags can interact in complex ways. Make sure this is intentional and tested. **4. Error handling in `tidss_oldi_create_device`**: When `auxiliary_device_init()` succeeds but `auxiliary_device_add()` fails, `auxiliary_device_uninit()` is called and the function returns immediately (with a comment explaining the rest is done in the release callback). This is correct. **5. `kzalloc_obj` usage**: Confirmed this macro exists in the kernel tree (`include/linux/slab.h`). Usage is correct. **6. Missing `of_node_put` in error paths**: In `tidss_oldi_probe()`, there's a label `err_put_node:` but it just does `return ret;` - no `of_node_put` is called. The label name is misleading; it was carried over from the old code where it did put a node. Should be renamed to something like `err_out:` to avoid confusion. --- Generated by Claude Code Patch Reviewer