From patchwork Thu Apr 30 11:06:41 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 2079 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from sto.lore.kernel.org (sto.lore.kernel.org [172.232.135.74]) by mxe881.netcup.net (Postfix) with ESMTPS id 7B3A11C00DB for ; Thu, 30 Apr 2026 13:15:25 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=nxp.com; spf=pass (sender IP is 172.232.135.74) smtp.mailfrom=linux-sunxi+bounces-23019-noreply=patchwork.local@lists.linux.dev smtp.helo=sto.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.232.135.74 as permitted sender) client-ip=172.232.135.74; envelope-from=linux-sunxi+bounces-23019-noreply=patchwork.local@lists.linux.dev; helo=sto.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sto.lore.kernel.org (Postfix) with ESMTP id 0B2F53051BE4 for ; Thu, 30 Apr 2026 11:11:22 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5461C428472; Thu, 30 Apr 2026 11:07:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="K7pgp+Gl" X-Original-To: linux-sunxi@lists.linux.dev Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010066.outbound.protection.outlook.com [52.101.69.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AB085427A00; Thu, 30 Apr 2026 11:07:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777547255; cv=fail; b=UKsWh4it/Ox1BwD3/4b41DHqbPEgHlxGYAh6uN0LEIU/cLJvw91xJGVb3sWFWZO1g1+YNXkOHchqmC/mSJVE5EPWr+/RSytL7Ls+eTHgP9mpIATEi9TBHdwKKSNvcB82BfUjaMlE+xHtT9Tz3ggniISMnbrPL8xDWIqQeoqNYHw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777547255; c=relaxed/simple; bh=4Ijf2xlBk7GlVygsYFaHkEhTAhf7qLa6Uwt+Pam4O4M=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=eQ9wmB6OgU6SCKHt4w46mHc01BLZG89mdhFX0i1ycsJNHiUkcXyxoB9lazQDPiReseEITSRCCYHaYxv6X6HYM9sEtMyJsPkLWwVSIrmceZOPOff1Kb4jDOd39xcA1lHGElicUQQuGDT2mmzC+0UCWr1FHpvYtwSQvN3pTDLS7Pg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=K7pgp+Gl; arc=fail smtp.client-ip=52.101.69.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YXQzSWV9wm3hrheEjCs/Hh8a+Age+XxqwasomDCsfmswC78pMYJjQ+T3oI54qBLHFP3JbGr8gghG4d5QFcss5NMcErlTUMYOR3TxzYLrZJvCUqsZjtgZFB7KJ76jfbIIstdUPTw/1EyXlQUlcyFdS7QFDAcCs1xO7nIUjz3yX+8hnDCuToPNBj/NhHMfc/P+HX6TF1t1OXYCdF6wPFO0vYnQJ+RCxWqzsariZbjWK3N8wErSi4Ho0KeE0967rWvD1KbHxqVDi8caNbZ0wYuRrpEiLp6gMKruE1qw9bbcjgEcYvU8d2aXYYhgsZNj3xvP8+eBhSHk7xPpsMareD5zkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xNo2vJjVGvY+4ZuX/jDOamNq9wcD0efUE8tQmxcyBMM=; b=ra9l+T0zKVCH7n+L0wfE37UmLLRMC/VZ9M/z4SgciPzzz2jvpHLXPTFSSLhd+YLFFFX5JOH+6RiELBp0EEi7XS7IKPqcaizOyWaRgL0F3p48VgPZrLJS1m9oPesniGOdx9+/RJ2MWMvQRvHWOQ7jbmnjtzZcffUH+esSZNyDhxmV/Anh4KH3ezXmxU12afsWmcXs0HxMYhSzDZzk/rDzsWkk/n0S2ggp8SW3ykwJUe9CiSVS1/95uZTKDanOqPCXb41Gk4/DA3Hf8Q8Q0kgC+17Vu83TsqY84jXtThWCt2+cx+6+GEhY1VOZ65bPBmpv1UjxGFMAdSp1AEwFkBbgdg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xNo2vJjVGvY+4ZuX/jDOamNq9wcD0efUE8tQmxcyBMM=; b=K7pgp+Gl66hx3E9HIdUaLX3SvRbKemdHAJIhb3CSaTFVEYRqQk41zWzbAYEjOTetnhUVCxkloAiaYx65iW/cLc4ybrRsAc5V1lE9oF759vmZJDwLXkdMwD5lxfWbTfP3W9ZU7NDQunXucSWMBGma9CB3mzto/y8Dvv/ervLhYy03ktqf6FmPuGlQDEgfns0IVp/kMBCz0sbPGcUnf9U6zxV92Rgb/dOj/Hs2yIGRSF2Yby6Wy0ZlROD5U0BShBeZsxcI/KPpFNQpJthTZsxdW3Lpyn+Og13uLuP32JkUWQ+87f8thr0DAlKkpcbLoUIETTrmRny2h/OIT8OrRIUz1Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM9PR04MB8585.eurprd04.prod.outlook.com (2603:10a6:20b:438::13) by VI1PR04MB7182.eurprd04.prod.outlook.com (2603:10a6:800:121::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr 2026 11:07:25 +0000 Received: from AM9PR04MB8585.eurprd04.prod.outlook.com ([fe80::f010:fca8:7ef:62f4]) by AM9PR04MB8585.eurprd04.prod.outlook.com ([fe80::f010:fca8:7ef:62f4%4]) with mapi id 15.20.9846.025; Thu, 30 Apr 2026 11:07:25 +0000 From: Vladimir Oltean To: linux-phy@lists.infradead.org Cc: Vinod Koul , Neil Armstrong , 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 Subject: [PATCH v7 phy-next 16/27] phy: make phy_get_mode(), phy_(get|set)_bus_width() NULL tolerant Date: Thu, 30 Apr 2026 14:06:41 +0300 Message-Id: <20260430110652.558622-17-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260430110652.558622-1-vladimir.oltean@nxp.com> References: <20260430110652.558622-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: AM8P251CA0030.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:21b::35) To AM9PR04MB8585.eurprd04.prod.outlook.com (2603:10a6:20b:438::13) Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB8585:EE_|VI1PR04MB7182:EE_ X-MS-Office365-Filtering-Correlation-Id: ef78419a-82de-4b78-9d68-08dea6a8a8be X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|10070799003|7416014|376014|366016|19092799006|1800799024|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: LR3LN3pM02V/nLS/LGV29oKTOnF2KNNP7frqoFk9yH9qjJHqnERtay2G1gmN+Rb74H6MRI2ClW0FzDVtS/tLd/wsplj1x0DXW5MkHToSukFByDIeOg7PJvNFC5Sr0t6M9xoJF5K54CG37jr3gKlzXdLiRrkDP52e3Ik/Be9vRxYd3NeY0ttSfz9RnYeA7QNqgr1NhefLNZT3yn/y+O7nQpRipQ/NZz7Crr3q0n9yvPy5x2uf4V2z2U3z2jdXvTrr77/ymBcy109RfQMwh646jdxaxaWugIaADkwMpNxd92O0XQnqoROuZ3173MIAQd8D85LFQA2xG5QcwH36aC/1kaPXYmZbVzF3d4vjCHadKiZbaD6Aa5q5k1Rrf7at9cF17hIcTLnH4t8hPOxU0mvXH4My3O+aA5royCy1JZ5p+A4TTCFaxrpKB0rtmd7hR7txOI55EIltKA1mWG+rWKwM0gSEof7JvuxpFZ0WuZe799Iia/dkQEkH5jctZHk3m0t0l7CvY9sOfVnbKeEhWfO6foCYO3UscuL/2T9py4iCRge+cQYYaFejX78KtydMbcGc3czbrisydmyqDoZAikElOujfHpHo+sC+80jB/PBAyaA9N8HlkbVjGklvMAKGlOtm2HLvDI3+oKTvVBuIjEoznrB8EgLAJMPrXw1qdX9yvchsgzDYa9MZ44amARQ6rV0qnEfICU9JyB6fENf797fpTHT8xkz8JXDGHu/1voRPTaM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8585.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(7416014)(376014)(366016)(19092799006)(1800799024)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QV3VH7sCMHiy8ZC4atc6iTvJTSpWXMuaLcWRWDDn9E8O5Zw/PzwI29V0pWrT3r8BtZWY/+bi8CSASLUtWYmJ4bhtir4hG7v57pWILXSBIHySukZiScN34GBS1M7+vjU2QIBBNHKWEwBFOFChrG09fLzrbd/k80zhGT+yuUCmTQ1nrpmzPWCPxZH4F1gymfMmpPoaZfX48vPGsT0OeIbJkZTQmRXe9dbrtqLIn2INV2nu3HGuwt/2Ltov0zV5aM6/U1+0SaqCWY9OQZKmpkRxTqP/q6GrUbBax47WdSyVBj0cTc54o9flglipBOy4hxuKc8T7WyCjttQYLEG4dVaVt2tfeAKQe6g7To8lnwUDd6rSfR3P9jdni+6KGtGLv92JuFD8RrJt8SC5MVVadsI7Xtgpndha1OY05zLS4TNbc3nv5FqrQwX3bUMPaaAal25hGkw3hKPcjTLzzUSpTwGh2H30ZJMxRU6Tw6xHz1zVLWtL9+3yvgzqPUoxfMXXUoLJkOCtFvNiyvcmqZPbXVMSNNylS9D32l5edk1kmtDmzqzJMyXWOUGSxbhewtK0HLh+eVS6C5MbRGliAlfzke+nMChlr1v2JVPTw7DMjiZfV8IX3Jwr5113L1acXNMaJufkBgN44zP+IZCa3p/lREXxC923cpnGgCokc2t6WSBN4TvRYvBwA9Jtyqr8a0cTpnO62BqIkrcF0ZhnHdu7ZkLjNeGh96EJ4m97zEx1/10SuPFQSCoxoS8fmwKQ0kWQGbib62BGNs9WO4nPsRPaIcSzXhEpp0KdIc80wmMEsf1umxBezxETFTzA8108YvUZGgUGlAcVjSUhRriPb/ZQYfey3554AcsrUgTuXLRM5z58XPc6tmjuiAS3OVTSME/3OZ/jLzoi0ndKSOzadmEhok8od5BI2fwZ36XrpInL8QgQaXg+RKvYkEhWnhZNijFgoM+z9PiHaz58uqEe9HtHQI9ibv43b4uGKwJMVcLJcjX1sL9FLJcuWDBvFRTDxb4G1bJVPAqq2Pkfr3g4JvAD1/fpn88JhuHFMamGZ65eKkJMc97wTBWZdTL8f8CfO5w/jWLgcTneYWQH1jqM/IQllijEC33j97/q7p6lN7IsnslEq2Mq9UhCkM1XmpsxQ1oFXEud4OXcaWeww2pSqTYNxmjabIzD+HScURauzkThYnqyhUCz1ebysvw+8t+PAALb7R6RmjJfNPmik7CIXcd8dh7hCahOMUZd9BV2/g4S8qZ5HHEtrQdxbJ2UGwsOV9RvjKAQzVv9XMsj4d041h9EKY8QatMmki8m0RkmHY56k6ZlnpYKQq1CjON46JltUwpH6X1IhuVGq8NH9pe3t5051mPLhTNsE53If0JRXLXPtm2mBK6q24n1aD3l+GgcHO0HiqJ5dvr89UevqX/cksrCLwtjmCaz/U+HmxedUW+p/nIDRQdYZ863DfCKypCHMMGSgXYo0ykLfl81D9v4jLvXhi3Jz8V5Zs1As4yqUAKDzR6VmrrAqsH46hoGFlXg0JFfL4e4gSeXFf8nbE8E4r6lPCeVL7Ew6PWZio3qwJfbtSe63Rvv7QFHzweWzfO5LG09jvZvf8uJQhz72pNBpR8UjGHC3Eyq5qllOwpzOopuQ8eNuKfCbApEWRx4vqCQWulGe08JHz/fnS31J7F0OxoZ/nE2MkaE3oh5hud5/e0DIF8+cJY9Rhf7+Bxa1VnCauc1x65hs+0QyYHhQRmLCU+/mpZNUJF4HwBsZI35f1EcILbEkL+38sksoQ2AyJbMhC4XOqtc X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ef78419a-82de-4b78-9d68-08dea6a8a8be X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8585.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2026 11:07:25.0168 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: k2bOQ/4wIajlhvGlFMl3Y5A8DoX/ZcvJjvP8F5io+X1TpX1L5jfvTmvU4T16WrM7akXQp/0bA6uwtYRAG2Mu9w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7182 X-Rspamd-Server: rspamd-worker-8404 X-Spamd-Result: default: False [-1.16 / 15.00]; BAYES_HAM(-5.50)[100.00%]; RBL_SENDERSCORE(2.00)[172.232.135.74:from]; MID_CONTAINS_FROM(1.00)[]; ARC_REJECT(1.00)[cv is fail on i=2]; R_MISSING_CHARSET(0.50)[]; MAILLIST(-0.15)[generic]; BAD_REP_POLICIES(0.10)[]; MIME_GOOD(-0.10)[text/plain]; HAS_LIST_UNSUB(-0.01)[]; FROM_HAS_DN(0.00)[]; PRECEDENCE_BULK(0.00)[]; RCPT_COUNT_TWELVE(0.00)[24]; FUZZY_BLOCKED(0.00)[rspamd.com]; DBL_BLOCKED_OPENRESOLVER(0.00)[nxp.com:email,nxp.com:dkim,sto.lore.kernel.org:rdns,sto.lore.kernel.org:helo]; RCVD_COUNT_FIVE(0.00)[6]; TO_DN_SOME(0.00)[]; FROM_NEQ_ENVFROM(0.00)[vladimir.oltean@nxp.com,linux-sunxi@lists.linux.dev]; DMARC_POLICY_ALLOW(0.00)[nxp.com,none]; DKIM_TRACE(0.00)[nxp.com:+]; R_SPF_ALLOW(0.00)[+ip4:172.232.135.74]; R_DKIM_ALLOW(0.00)[nxp.com:s=selector1]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; TAGGED_FROM(0.00)[bounces-23019-noreply=patchwork.local]; ASN(0.00)[asn:63949, ipnet:172.232.128.0/19, country:SG]; FORGED_SENDER_MAILLIST(0.00)[] X-Rspamd-Queue-Id: 7B3A11C00DB X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= The PHY API has an optional "get" which returns NULL, so it needs to accept that NULL coming back in. Most PHY functions do this, only the formerly static inline attribute dereferences did not. Signed-off-by: Vladimir Oltean --- v2->v7: none v1->v2: patch is new --- drivers/phy/phy-core.c | 9 ++++++++- include/linux/phy/phy.h | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c index a1aff00fba7c..0d0be494cfd7 100644 --- a/drivers/phy/phy-core.c +++ b/drivers/phy/phy-core.c @@ -624,19 +624,26 @@ EXPORT_SYMBOL_GPL(phy_validate); enum phy_mode phy_get_mode(struct phy *phy) { + if (!phy) + return PHY_MODE_INVALID; + return phy->attrs.mode; } EXPORT_SYMBOL_GPL(phy_get_mode); int phy_get_bus_width(struct phy *phy) { + if (!phy) + return 0; + return phy->attrs.bus_width; } EXPORT_SYMBOL_GPL(phy_get_bus_width); void phy_set_bus_width(struct phy *phy, int bus_width) { - phy->attrs.bus_width = bus_width; + if (phy) + phy->attrs.bus_width = bus_width; } EXPORT_SYMBOL_GPL(phy_set_bus_width); diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h index f208edd25afe..a7e2432ca1ae 100644 --- a/include/linux/phy/phy.h +++ b/include/linux/phy/phy.h @@ -248,6 +248,8 @@ static inline int phy_notify_state(struct phy *phy, union phy_notify state) static inline int phy_get_bus_width(struct phy *phy) { + if (!phy) + return 0; return -ENOSYS; }