From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: Split Generic PHY consumer and provider Date: Tue, 05 May 2026 10:35:00 +1000 Message-ID: In-Reply-To: <20260430110652.558622-1-vladimir.oltean@nxp.com> References: <20260430110652.558622-1-vladimir.oltean@nxp.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Overall Series Review Subject: Split Generic PHY consumer and provider Author: Vladimir Oltean Patches: 32 Reviewed: 2026-05-05T10:35:00.935405 --- This is a well-structured v7 series by Vladimir Oltean that splits the Linu= x Generic PHY framework into separate consumer and provider APIs. The motiv= ation is sound: consumer drivers should not access internal `struct phy` fi= elds like `phy->dev.of_node`, `phy->power_count`, or `phy->attrs.max_link_r= ate`. The series follows the precedent of other kernel subsystems (regulato= r, gpio, iio, pinctrl) that already separate their consumer and provider he= aders. **Series architecture:** 1. Patches 01-07: Add missing direct `#include` for headers that were trans= itively provided by `` (pm_runtime, regulator/consumer, of= .h, property.h, etc.) 2. Patch 08: Remove redundant device links to PHY (now handled by PHY core = since 2019) 3. Patches 09-14: Stop consumer drivers from poking into `struct phy` inter= nals (power_count, dev.of_node) 4. Patch 15: The core patch =E2=80=94 move provider API to `drivers/phy/phy= -provider.h`, create `phy-props.h` for shared types, slim down `` to consumer-only 5. Patches 16-17: Add proper accessor functions (`phy_get_max_link_rate()`,= NULL-tolerant `phy_get_mode()`/`phy_get_bus_width()`) 6. Patches 18-23: Fix up out-of-tree PHY providers and bad API offenders (w= ith FIXME markers) 7. Patches 24-26: Mass migration of PHY provider drivers to include the new= header 8. Patch 27: MAINTAINERS update for linux-phy coverage **Strengths:** - Clearly motivated by real encapsulation violations - Well-ordered =E2=80=94 headers are added before they're removed, so bisec= tability is maintained - Honest about known bad patterns (FIXME markers on rswitch, rockchip DSI, = etc.) - Good subsystem ack/review coverage across 7 revisions - Appropriate merge strategy proposed (all through phy-next with stable tag) **Concerns:** - The temporary `#include "phy-provider.h"` in `phy.h` (removed in patch 26= ) is a reasonable transition strategy, but the window between patches 15 an= d 26 leaves the consumer header effectively unchanged for users who include= `phy.h` - A few non-PHY-provider drivers get `/* FIXME */` includes of `phy-provide= r.h` (rswitch, rockchip DSI, sunxi CSI2) =E2=80=94 these are tech debt that= should be tracked **Overall: This is a mature, well-reviewed series at v7. No blocking issues= found.** --- Generated by Claude Code Patch Reviewer