From: Vladimir Oltean Date: Mon, 11 May 2026 15:00:21 +0000 (+0300) Subject: phy: lynx-28g: require an OF node to probe X-Git-Url: http://git.ipfire.org/index.cgi?a=commitdiff_plain;h=c9d80e861034;p=thirdparty%2Fkernel%2Flinux.git phy: lynx-28g: require an OF node to probe The driver will gain support for variants in an upcoming change, and will use of_device_get_match_data() to deduce the running variant from the compatible string. Currently, the driver expects the schema at phy/fsl,lynx-28g.yaml, and OF-based consumers, but doesn't enforce this. And it is possible for user space to force-bind the driver to a device without OF node using the driver_override sysfs. To avoid future surprise crashes for an unsupported configuration, explicitly test for the presence of an OF node and fail probing if found. Signed-off-by: Vladimir Oltean Reviewed-by: Ioana Ciornei Tested-by: Josua Mayer Link: https://patch.msgid.link/20260511150023.1903577-4-vladimir.oltean@nxp.com Signed-off-by: Vinod Koul --- diff --git a/drivers/phy/freescale/phy-fsl-lynx-28g.c b/drivers/phy/freescale/phy-fsl-lynx-28g.c index 4ec3fb7a0d690..6d0c395d20e50 100644 --- a/drivers/phy/freescale/phy-fsl-lynx-28g.c +++ b/drivers/phy/freescale/phy-fsl-lynx-28g.c @@ -1286,6 +1286,12 @@ static int lynx_28g_probe(struct platform_device *pdev) struct device_node *dn; int err; + dn = dev_of_node(dev); + if (!dn) { + dev_err(dev, "Device requires an OF node\n"); + return -EINVAL; + } + priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); if (!priv) return -ENOMEM; @@ -1301,7 +1307,6 @@ static int lynx_28g_probe(struct platform_device *pdev) lynx_28g_pll_read_configuration(priv); - dn = dev_of_node(dev); if (of_get_child_count(dn)) { struct device_node *child;