{"id":2232869,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2232869/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260505100523.1922388-20-vladimir.oltean@nxp.com/","project":{"id":42,"url":"http://patchwork.ozlabs.org/api/1.2/projects/42/?format=json","name":"Linux GPIO development","link_name":"linux-gpio","list_id":"linux-gpio.vger.kernel.org","list_email":"linux-gpio@vger.kernel.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260505100523.1922388-20-vladimir.oltean@nxp.com>","list_archive_url":null,"date":"2026-05-05T10:05:11","name":"[v8,phy-next,19/31] phy: make phy_get_mode(), phy_get_bus_width() NULL tolerant","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"88d3b7f3fd7015246d3daa086531900b89be80f2","submitter":{"id":75582,"url":"http://patchwork.ozlabs.org/api/1.2/people/75582/?format=json","name":"Vladimir Oltean","email":"vladimir.oltean@nxp.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260505100523.1922388-20-vladimir.oltean@nxp.com/mbox/","series":[{"id":502803,"url":"http://patchwork.ozlabs.org/api/1.2/series/502803/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/list/?series=502803","date":"2026-05-05T10:04:53","name":"Split Generic PHY consumer and provider API","version":8,"mbox":"http://patchwork.ozlabs.org/series/502803/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2232869/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2232869/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-gpio+bounces-36159-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=MFN1WmdV;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-36159-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=\"MFN1WmdV\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.69.64","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=nxp.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nxp.com;"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g8vdN5Hvzz1yJ0\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 05 May 2026 20:19:36 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 6ECE530C704B\n\tfor <incoming@patchwork.ozlabs.org>; Tue,  5 May 2026 10:14:22 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 58F5242E019;\n\tTue,  5 May 2026 10:06:28 +0000 (UTC)","from AM0PR83CU005.outbound.protection.outlook.com\n (mail-westeuropeazon11010064.outbound.protection.outlook.com [52.101.69.64])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 5ED1B426D38;\n\tTue,  5 May 2026 10:06:25 +0000 (UTC)","from AM9PR04MB8585.eurprd04.prod.outlook.com (2603:10a6:20b:438::13)\n by DB9PR04MB8363.eurprd04.prod.outlook.com (2603:10a6:10:24b::11) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Tue, 5 May\n 2026 10:06:18 +0000","from AM9PR04MB8585.eurprd04.prod.outlook.com\n ([fe80::f010:fca8:7ef:62f4]) by AM9PR04MB8585.eurprd04.prod.outlook.com\n ([fe80::f010:fca8:7ef:62f4%4]) with mapi id 15.20.9870.023; Tue, 5 May 2026\n 10:06:18 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777975587; cv=fail;\n b=RbP/x57uzyAt+fjqVkHgY8i1XBHJwVAv/qZ9EoercjmtQSbElOimK7X1opcU8LgRg05yvH7Je4OTgR7cJY6sPwB3/zv28XCyF3pmEX7m/YSU7mJNCuZYNhtQFs3hDAT7WFRiHmyi1AS7vewHMJjVO1KaNOMtLDyrLG0vDuZGyos=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=KnufvZLsCxODLLbbqgfwlwnH8mfKSHpAZyCW4vijBaG3Px72k00zp4lOkOe00LCO5gXdhIGWL269E7nKBEuux1vKzzJw5tMWhWetC9AbGk0+khPDhvUMgUNBeaC8uqkOjflfVHmyzZccJLMIMtl4vp7VozTPzuaGgTPCp/dHCz5BioBKXsZqGJQ+QSmvTPXf204JLoUrISwZ5uvNTGK0MvtjNwhBn0hHVH5P4ZgcnS8Cdtxlg7PISiYN3eiohkJwOktuj1TlVQOVqOt2RZom1U54XYu7uG4ll139djnKYxG7R90gw/yWcoAIGSj3WGdyH9wVhDlBRMG1ri5UoG7eyw=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777975587; c=relaxed/simple;\n\tbh=kn5oBgxC3dF7dC+bTpSz1rwLb8bY8WaNMKh7MeNFhi8=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=boUoSHq0TACsodo8ab3HWWADd/RpNXRaUA0Iap9BdyVJvnosFa4PSK+OYyBdLEOBY+LbLBdEOiZq9d09Je8bPUzbpuxSqJRJgVeFQGotttCP54CK0znZl+rL6tz+r04Zp4Q3K8CxsAR6P5aU6tM38jIJ982TVGTJYc3DC1aVG6U=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=wZ+isOtDBiGdaQngxwM8TQfr9FS5ZBf0bZ6sYC0op/c=;\n b=SBPCcXT82m9avpCK4ae+sGH9l+8JJJaQoF0X6fd4fltUeqgUgvvdmsxt1NE7f/Wba/taud49dybRhWEK5ygI+C95n3d68wLzIC2EXuG+zfVyiM66bS3kjVsxRDxLvDnMzxIrbyhtV60p6AbRrL4oOGQIEbY9N4Vr+Nko19jQKtTeWoEq1PMxyd04ITLBQ4DxKmd1Kt0ZLRCuzvKzKa27AyH9QptSn9OWkrxLwnNwlz6as5lLfOTGPA1fCCEx2u2ZOJ1cSBBe8SYFZnDIXl9NwN9pDbGegGL9zC86BR8J2OyUgQQHVESw1jlSmXRel8V0Jpqu5+0vyMCcnqCd1W6eIg=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com;\n spf=pass smtp.mailfrom=nxp.com;\n dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=MFN1WmdV; arc=fail smtp.client-ip=52.101.69.64","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass\n header.d=nxp.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=wZ+isOtDBiGdaQngxwM8TQfr9FS5ZBf0bZ6sYC0op/c=;\n b=MFN1WmdVshKNOyKNArnKkrVRHeTFbU5zssha7inKz5Dp6FrUcLaPUJNSohwLRXMoUS5ZISWHP2L2uPmiBe0T8EUJssg2OKVrF8ibpsTHPlCC4RjYPQ8VIICA2EUv3kiW8air+sgmzO5H01Qs0O3/dQzq5cnvH0xGfyUT/zjNlnvI+e/B55YT3wXN6nedyQcQm0zVr8TLxCw4aljp9gk3OVPYfScE5L3auMNYXMerd05tfVJKZa3DEGNrhFCBpPZFsiRLpiq9kW2OI25s7sKWAtGF8TYor5hVKN09cVIXY9dE1UzVLZ1kpbw6Y7VaQEBkrdoUAOcLFSCe6QzO2gL1RA==","From":"Vladimir Oltean <vladimir.oltean@nxp.com>","To":"linux-phy@lists.infradead.org","Cc":"Vinod Koul <vkoul@kernel.org>,\n\tNeil Armstrong <neil.armstrong@linaro.org>,\n\tdri-devel@lists.freedesktop.org,\n\tfreedreno@lists.freedesktop.org,\n\tlinux-arm-kernel@lists.infradead.org,\n\tlinux-arm-msm@vger.kernel.org,\n\tlinux-can@vger.kernel.org,\n\tlinux-gpio@vger.kernel.org,\n\tlinux-ide@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tlinux-media@vger.kernel.org,\n\tlinux-pci@vger.kernel.org,\n\tlinux-renesas-soc@vger.kernel.org,\n\tlinux-riscv@lists.infradead.org,\n\tlinux-rockchip@lists.infradead.org,\n\tlinux-samsung-soc@vger.kernel.org,\n\tlinux-scsi@vger.kernel.org,\n\tlinux-sunxi@lists.linux.dev,\n\tlinux-tegra@vger.kernel.org,\n\tlinux-usb@vger.kernel.org,\n\tnetdev@vger.kernel.org,\n\tspacemit@lists.linux.dev,\n\tUNGLinuxDriver@microchip.com","Subject":"[PATCH v8 phy-next 19/31] phy: make phy_get_mode(),\n phy_get_bus_width() NULL tolerant","Date":"Tue,  5 May 2026 13:05:11 +0300","Message-Id":"<20260505100523.1922388-20-vladimir.oltean@nxp.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20260505100523.1922388-1-vladimir.oltean@nxp.com>","References":"<20260505100523.1922388-1-vladimir.oltean@nxp.com>","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-ClientProxiedBy":"FR2P281CA0091.DEUP281.PROD.OUTLOOK.COM\n (2603:10a6:d10:9b::10) To AM9PR04MB8585.eurprd04.prod.outlook.com\n (2603:10a6:20b:438::13)","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"AM9PR04MB8585:EE_|DB9PR04MB8363:EE_","X-MS-Office365-Filtering-Correlation-Id":"c7fb6cf6-0481-4c47-edab-08deaa8df368","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|376014|1800799024|19092799006|7416014|366016|22082099003|18002099003|56012099003;","X-Microsoft-Antispam-Message-Info":"\n\t/a//P5nBkCfqnRvVoqVpEyuC2uK6kRuN/SjgLATqCvebQvEexUyjif9ijWqEKYaxrGUhM4FLdD8r8+Jh50358uAnl7fFI5vSseQ7CZeMUz3n756j2SMTjW+sWqnip4I+LsRBR27Es03rLM+c3wcRQugrJ1TjCUDKJMYac+MbklMkXjmxy/BToGgysu5Yv13jxZpxRkvnFVmxFruIutWRWsrK9c0pVhAKWj+OdFalxhFBIRXU4nnjdyEVitG4nK6rQCy8ZrxqbRY4ve4yMU9eztI4RDisK/669z2oQOOFuCZoqzs0AsNNxd6wSH57NvZ8WlY0Z8l5upgtkSGlAx2NyHBmkJiGg2W7NX+JbaBxI5pawSkb3walqpkidvxlj6gSjw4XC1FTDsrEo6qiOK0gP70yhYmSTGvch91yQHaAz3waeXjQ2YyTEQIHKsHbgN2PQF+Kd3kYWq7YP9w/8M5VJsME+HcJm4ovQl4YPAXA8gdgXU37Nxlik/t+CLZY1Sv6SDQRlHAJ6c7piG0DrujWQzR0GpvSxH199vQfgk9qLUHsk0Vvxkyh3kn07NoJrNOu5pd8tSvBYSvBB6pKaojLW5tVRNtsIlL285IG28/Tk80wxgcsnAvmWBcUy5Sga/26K2jR3LpDuLJmkb/1Djgkz87n9BtQthMq6NP1kIAbRzzEmc62UVZaKUVGKuc2ms5f","X-Forefront-Antispam-Report":"\n\tCIP: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)(376014)(1800799024)(19092799006)(7416014)(366016)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n LCHm9hycUvjg0wZUFoqWtudJSUf2D7ImSw+SvVUQMxk2AS3PfdcUXzfjwAhgsWkDb/SD/bRcEk/kVDdhz0+SeFIQNSCa1bckQRgQkMsf2ocN9YfDqD7X1g3rHqZ7In9vKlnb7AvA+W1VHDn/wADnOnvkD52qnIqeC3vXehfHbIgtO2K+RzdIgEHl94ANpM9OdtkER4PYzXwM6yUbzuj2J/i9XKuhv8vWSkecESmmSHV2N0CO/bEsjAJG46EAX/+BHkq9uIWnUAWIyVyJet2snb9ekOlJ7/x0x+y3wmoU/XUFKwX8E8FkvsP0iodZpvDlq1jm+Osz8GNZKBt6EAVcRIFhkWejXmyWCdIpMOjXqldXMU9sZvZaPSa/ufS9gSniAEM5tYu3tKZ7mnyJFRhCFerkzdUMEHoUDLF7eo4qUP1hvSh86ny4RNNt8P7AwsRfJoJhyCvSLROq90y/fQdUPjGuOly5fH7ENMbp3x45dPVwwInzr3GPQUX41eJMZuH4Yvrte+++yo/D3uy2y9xsDM1oj6lpoE7YXUUvnb8JwiSYUHfz+tK05fN9k7RF+DsZPzthOWTxST861tpfE6Fvnma4pMxFGDMUVlFn+HUgfQ1nMWDOuMHQf+8vN2IPVo/YoGtFrRGNOSxjNttf5HRifRBRj5sAufWSQ+Iz0cUSp+tLt8r5ZkLlLCLNYLQ4RZnQD+HqP5DrIMXqkoAtiKhBg/JIK8J8ZqlUElwujXoIR+i8WcUCZ7IbWrtSj5vF8yALIRxeYArkarRV8BdGAWVSzH1WCZC5xEURQMg+/1g5pCpCb4YWFDjfuBmErPqS9TrWdpUfFs2YfjbNvMUL8PBlw5/pSlnNkbGNvtR6dKwROco0ChzI71ee8J4dk6b0+IZkIk6pYMMOQhbWS4Za321/83hEFR/rBYlYCUeeSgyJApm7l8jW4/XwS1aYxX3hqUBC9a7VqwD25lwPNDCwUk2tTwfBPisQiHUviaelzDOK3M2aYiyDbP/sMlc0clGNcnOjjkakxknTnJnOnkmaZhGO7/QfxCn9ySvy6WOTipWF0yLViDDIqQZ/Z749VVCSJvwO7iOfS8+5TS3J8VHziVgld4hKJnSCynErTNfcUv5aZKYqJ7psOmGJkim+3zPDVeDBZOw59GgHkpPN2dvam8dweyJysSzXDC2TG5Dtq77jbq+XjxTsnUyBpPq07rNXmO+8EdCBtUInnyr7R2qR0Bm6D2rJVoplzStZrxAqGlAUf0ZpEQFJmUWQ1A3VoHzTyx2SyWihEZFoR5YygelLkJOUQ6vJWLpmedSympmWp35FFmkcdVrep7g5WH5v3rnt8CazH9AcsmclA2IbMa5V2pVvyQci7JVBivNc9OvGsiLzuZbSwlA7nkwDURufprTd2rVzSdIKeRHZU/3IGmgqs/kZz4cxwbYl4XGpnxeJ3G+rS0p9REhJKLgP/fDYss+cMhOJci6Tb/fyx8572zbFCUle6GRg5qk+UoobbqMZjJjw43QJnLdmoEK4tuwJ1MUUecanPES5rCSTZFpLihvDnBhbpzAS0Ii/ufUhlz/Yw1Zl+oYU6dzuEY+el0xJRmXHMiNrRbC5UI+OdXO6m+p2zTFREMfIv24S+QsRuxukz0IQzvaMLGJ2uNRwzd5pxRj6AhojdXtOure5ldx5+dpaHsZ8yZKZQHBjQPDdZqe4oBsp+GVek7V12frKITGp6LiAxt5N/CEncg0yR228+2llez3yOQ==","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n c7fb6cf6-0481-4c47-edab-08deaa8df368","X-MS-Exchange-CrossTenant-AuthSource":"AM9PR04MB8585.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"05 May 2026 10:06:18.6754\n (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":"\n KvyEhIHLQnmLBRKszQMYOPkkkFVb6nyZ2yYGSCYppqzBghAF7Ues+fbv85bXGghMCX5WynQUNFKY3Z0hMoyCTg==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DB9PR04MB8363"},"content":"The PHY API has an optional \"get\" which returns NULL, so it needs to\naccept that NULL coming back in.\n\nMost PHY functions do this, only the formerly static inline attribute\ndereferences did not.\n\nSigned-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>\n---\nv7->v8: remove phy_set_bus_width() from this change, it has become a\n        provider function which does not need the protection\nv2->v7: none\nv1->v2: patch is new\nSigned-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>\n---\n drivers/phy/phy-core.c  | 6 ++++++\n include/linux/phy/phy.h | 2 ++\n 2 files changed, 8 insertions(+)","diff":"diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c\nindex fe933629286b..6cd33204d2ff 100644\n--- a/drivers/phy/phy-core.c\n+++ b/drivers/phy/phy-core.c\n@@ -624,12 +624,18 @@ EXPORT_SYMBOL_GPL(phy_validate);\n \n enum phy_mode phy_get_mode(struct phy *phy)\n {\n+\tif (!phy)\n+\t\treturn PHY_MODE_INVALID;\n+\n \treturn phy->attrs.mode;\n }\n EXPORT_SYMBOL_GPL(phy_get_mode);\n \n int phy_get_bus_width(struct phy *phy)\n {\n+\tif (!phy)\n+\t\treturn 0;\n+\n \treturn phy->attrs.bus_width;\n }\n EXPORT_SYMBOL_GPL(phy_get_bus_width);\ndiff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h\nindex d716e5e0584c..99d3d65da614 100644\n--- a/include/linux/phy/phy.h\n+++ b/include/linux/phy/phy.h\n@@ -248,6 +248,8 @@ static inline int phy_notify_state(struct phy *phy, union phy_notify state)\n \n static inline int phy_get_bus_width(struct phy *phy)\n {\n+\tif (!phy)\n+\t\treturn 0;\n \treturn -ENOSYS;\n }\n \n","prefixes":["v8","phy-next","19/31"]}