From: Heiko Stuebner <heiko@sntech.de>
To: linux-phy@lists.infradead.org, Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: Vinod Koul <vkoul@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-can@vger.kernel.org,
linux-gpio@vger.kernel.org, linux-ide@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
linux-pci@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
linux-riscv@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-scsi@vger.kernel.org,
linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org,
linux-usb@vger.kernel.org, netdev@vger.kernel.org,
spacemit@lists.linux.dev, UNGLinuxDriver@microchip.com,
Sandy Huang <hjc@rock-chips.com>,
Andy Yan <andy.yan@rock-chips.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>
Subject: Re: [PATCH v3 phy-next 10/24] drm/rockchip: dw_hdmi: avoid direct dereference of phy->dev.of_node
Date: Tue, 10 Mar 2026 09:24:43 +0100 [thread overview]
Message-ID: <2218670.OBFZWjSADL@phil> (raw)
In-Reply-To: <20260309190842.927634-11-vladimir.oltean@nxp.com>
Am Montag, 9. März 2026, 20:08:28 Mitteleuropäische Normalzeit schrieb Vladimir Oltean:
> The dw_hdmi-rockchip driver validates pixel clock rates against the
> HDMI PHY's internal clock provider on certain SoCs like RK3328.
> This is currently achieved by dereferencing hdmi->phy->dev.of_node
> to obtain the provider node, which violates the Generic PHY API's
> encapsulation (the goal is for struct phy to be an opaque pointer).
>
> Refactor dw_hdmi_rockchip_bind() to perform a manual phandle lookup
> on the "hdmi" PHY index within the controller's DT node. This provides
> a parallel path to the clock provider's OF node without relying on the
> internal structure of the struct phy handle.
>
> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
> ---
> Cc: Sandy Huang <hjc@rock-chips.com>
> Cc: "Heiko Stübner" <heiko@sntech.de>
> Cc: Andy Yan <andy.yan@rock-chips.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Simona Vetter <simona@ffwll.ch>
>
> v1->v3: none
> ---
[...]
> @@ -588,13 +589,17 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
> return dev_err_probe(hdmi->dev, ret, "failed to get phy\n");
> }
>
> - if (hdmi->phy) {
nit: a comment would be nice here. I.e. hdmi->phy being an opaque pointer
so checking hdmi->phy != NULL is not possible.
With that being a "goal", I assume that information is not widely spread
so this would prevent the next developer trying to change it back to
"if (hdmi->phy)" while that handling change trickles down.
apart from that:
Reviewed-by: Heiko Stueber <heiko@sntech.de>
next prev parent reply other threads:[~2026-03-10 8:24 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-09 19:08 [PATCH v3 phy-next 00/24] Split Generic PHY consumer and provider API Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 01/24] ata: add <linux/pm_runtime.h> where missing Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 02/24] PCI: Add missing headers transitively included by <linux/phy/phy.h> Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 03/24] usb: add " Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 04/24] drm: add <linux/pm_runtime.h> where missing Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 05/24] phy: " Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 06/24] phy: spacemit: include missing <linux/phy/phy.h> Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 07/24] net: lan969x: include missing <linux/of.h> Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 08/24] PCI: Remove device links to PHY Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 09/24] ufs: exynos: stop poking into struct phy guts Vladimir Oltean
2026-03-19 17:14 ` Bart Van Assche
2026-03-09 19:08 ` [PATCH v3 phy-next 10/24] drm/rockchip: dw_hdmi: avoid direct dereference of phy->dev.of_node Vladimir Oltean
2026-03-10 8:24 ` Heiko Stuebner [this message]
2026-03-10 8:37 ` Vladimir Oltean
2026-03-10 9:08 ` Heiko Stuebner
2026-03-09 19:08 ` [PATCH v3 phy-next 11/24] drm/msm/dp: remove debugging prints with internal struct phy state Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 12/24] phy: move provider API out of public <linux/phy/phy.h> Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 13/24] phy: make phy_get_mode(), phy_(get|set)_bus_width() NULL tolerant Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 14/24] phy: introduce phy_get_max_link_rate() helper for consumers Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 15/24] drm/rockchip: dsi: include PHY provider header Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 16/24] drm: bridge: cdns-mhdp8546: use consumer API for getting PHY bus width Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 17/24] media: sunxi: a83-mips-csi2: include PHY provider header Vladimir Oltean
2026-03-10 2:45 ` Chen-Yu Tsai
2026-03-09 19:08 ` [PATCH v3 phy-next 18/24] net: renesas: rswitch: " Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 19/24] pinctrl: tegra-xusb: " Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 20/24] power: supply: cpcap-charger: include missing <linux/property.h> Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 21/24] phy: include PHY provider header (1/2) Vladimir Oltean
2026-03-10 8:42 ` Chen-Yu Tsai
2026-03-09 19:08 ` [PATCH v3 phy-next 22/24] phy: include PHY provider header (2/2) Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 23/24] phy: remove temporary provider compatibility from consumer header Vladimir Oltean
2026-03-09 19:08 ` [PATCH v3 phy-next 24/24] MAINTAINERS: add regexes for linux-phy Vladimir Oltean
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2218670.OBFZWjSADL@phil \
--to=heiko@sntech.de \
--cc=UNGLinuxDriver@microchip.com \
--cc=airlied@gmail.com \
--cc=andy.yan@rock-chips.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=hjc@rock-chips.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-can@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=linux-tegra@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=netdev@vger.kernel.org \
--cc=simona@ffwll.ch \
--cc=spacemit@lists.linux.dev \
--cc=tzimmermann@suse.de \
--cc=vkoul@kernel.org \
--cc=vladimir.oltean@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox