{"id":2231123,"url":"http://patchwork.ozlabs.org/api/patches/2231123/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260430110652.558622-13-vladimir.oltean@nxp.com/","project":{"id":21,"url":"http://patchwork.ozlabs.org/api/projects/21/?format=json","name":"Linux Tegra Development","link_name":"linux-tegra","list_id":"linux-tegra.vger.kernel.org","list_email":"linux-tegra@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260430110652.558622-13-vladimir.oltean@nxp.com>","list_archive_url":null,"date":"2026-04-30T11:06:37","name":"[v7,phy-next,12/27] drm/rockchip: dw_hdmi: avoid direct dereference of phy->dev.of_node","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"03e709137918fd26fd526a537052af572e972917","submitter":{"id":75582,"url":"http://patchwork.ozlabs.org/api/people/75582/?format=json","name":"Vladimir Oltean","email":"vladimir.oltean@nxp.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260430110652.558622-13-vladimir.oltean@nxp.com/mbox/","series":[{"id":502276,"url":"http://patchwork.ozlabs.org/api/series/502276/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/list/?series=502276","date":"2026-04-30T11:06:26","name":"Split Generic PHY consumer and provider","version":7,"mbox":"http://patchwork.ozlabs.org/series/502276/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2231123/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2231123/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-tegra+bounces-14098-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-tegra@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=TOV9+q1r;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-tegra+bounces-14098-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=\"TOV9+q1r\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.65.37","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 tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114])\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 4g5ryG6JCpz1yGq\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 21:08:38 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id C468B3025A64\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 11:07:29 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 6CC4442668C;\n\tThu, 30 Apr 2026 11:07:29 +0000 (UTC)","from DU2PR03CU002.outbound.protection.outlook.com\n (mail-northeuropeazon11011037.outbound.protection.outlook.com [52.101.65.37])\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 66546423A7C;\n\tThu, 30 Apr 2026 11:07:27 +0000 (UTC)","from AM9PR04MB8585.eurprd04.prod.outlook.com (2603:10a6:20b:438::13)\n by VI1PR04MB7182.eurprd04.prod.outlook.com (2603:10a6:800:121::7) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr\n 2026 11:07:17 +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.9846.025; Thu, 30 Apr 2026\n 11:07:17 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777547249; cv=fail;\n b=Jj8D0SQpY4NepRVjFZ9/JyLrGpNJ1ZDE/rvc0SqZjgzCqsDLLhrb+LzYqJUuS6KjHchukiRtPFZxP/BThMm3E4Y6m/Ic3AHrtjH1va2bupPLfMeajmznxPIBVUrN33I5USGf4n989KHJrrQq7cOWj49KdHzl9KX0cfr92sdh9I4=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=wJePuW3H47VYLIPvSGT7+Z0vF9llBL8Toew0zzUsLU5/0nUWcrWxv+ptHqmRgJwJkgK/JzUSKvBf+MsnXkuaC8uNKdKVQWhiyUqqRZxIeV68Fxeid7Z5JKpbhsInE9tsQv+Eue2XHTQvddrWhPqbS1BzOxEtRh1cQTW+QiDUaBlaMy0qWv+o899Dptxq1e2O+AUKWQOLZoz+j20Oh8YkN4iC6PmAvI1r4OdcAlwANTiPzeJXavcJIC9+rzrXe/fX51RCgR3F2yp0MingL3bK3+AatjOoxxmfihnCYkcFF2ZKTnGuqwpCH3DS76ewBf8f4jPEAtb/r5H7leWEUYnTtA=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777547249; c=relaxed/simple;\n\tbh=0tVi88mWJLSPw8/WUDkyy9yp0qdQFdUfVp2jPRDdZoE=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=DlOv02qIZ1kub00L884Y0+PpQ9alu/2wQRbD9Y9ihkcgsn8xLH5Fv2PWulGus76kaCsPBplluLOlQCteyCocpG3N1z+WoZiD97x/kQvoWetpk3VO2SjMGP1WdXVhY9YhZtng/fhNDoLOsHSxcE0EdSMr/UcZdTjoOxjvTOrYAKU=","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=GIWImDhFoFRUTB1MQmQH08WbG1zXPmUNoZw37U0hNq4=;\n b=ZNck74F8N75zWWwjtoqVsq3EJNWjIAlfXr+6IKgc5txb2DTJM1GNF5uz/sUL5oxL3ycQK9ixaXgcE3P/G99VOco4tKxVzS2rilnijA/t8yCrDabgTAmmYe+rVU/NBIQaHPkskshrAPZDoXhTXR+1pSjLSFWKQvY0pdJ8ckSPBO8OOlS5AnvIQ3CLkX9uTqtTi+NA9mPnBfTb3fRvHThHZlD/BtONhRvbM0qbvkkLky9Oxw7pduJ/oruPlCSFiw0NWqwRE5AKAElB3owi+Dr6Jh8OWJxXX4QiZ7cru1j9DM0U2Z5wpjcVZP4x2EIPLr6DkK6Bkry/tX8jH4amXdQRIA=="],"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=TOV9+q1r; arc=fail smtp.client-ip=52.101.65.37","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=GIWImDhFoFRUTB1MQmQH08WbG1zXPmUNoZw37U0hNq4=;\n b=TOV9+q1r/Yj8Ijr3K5hKEjO/eghLo5OPUvlLixTC+WNypF+vbxWZ91Y1J7xn0uQ7X3249UhcaI/M/qm8xV8Jiu9o1FKMp3ESP2Ak97XZs8ZT7vVyEbshU13zVx4ioPuy9o1GMY3XpFLJQ9YLLCLUL1qDFq3qaZWNs4eyzWFsJlbOdrru/oQZQAZSzJlNevhAw4FlzEZgQK+0aY0/d0i2+d0IdVTmjCMVrzDRB6UYm+SUN6hq6IMz2jlRpZCuOeUSbTdKRYZdwk/1QaIB0avmL3BIzK0n0WQLdft7sfAoYbX7c2asW9ORooKQgle+5bangk4f4pJKwkwGLRtLpzdwjA==","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,\n\tHeiko Stueber <heiko@sntech.de>,\n\tSandy Huang <hjc@rock-chips.com>,\n\tAndy Yan <andy.yan@rock-chips.com>,\n\tMaarten Lankhorst <maarten.lankhorst@linux.intel.com>,\n\tMaxime Ripard <mripard@kernel.org>,\n\tThomas Zimmermann <tzimmermann@suse.de>,\n\tDavid Airlie <airlied@gmail.com>,\n\tSimona Vetter <simona@ffwll.ch>","Subject":"[PATCH v7 phy-next 12/27] drm/rockchip: dw_hdmi: avoid direct\n dereference of phy->dev.of_node","Date":"Thu, 30 Apr 2026 14:06:37 +0300","Message-Id":"<20260430110652.558622-13-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>","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-ClientProxiedBy":"AM0PR10CA0025.EURPRD10.PROD.OUTLOOK.COM\n (2603:10a6:208:17c::35) To AM9PR04MB8585.eurprd04.prod.outlook.com\n (2603:10a6:20b:438::13)","Precedence":"bulk","X-Mailing-List":"linux-tegra@vger.kernel.org","List-Id":"<linux-tegra.vger.kernel.org>","List-Subscribe":"<mailto:linux-tegra+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-tegra+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"AM9PR04MB8585:EE_|VI1PR04MB7182:EE_","X-MS-Office365-Filtering-Correlation-Id":"db646d73-fd00-4d41-3668-08dea6a8a431","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|10070799003|7416014|376014|366016|19092799006|1800799024|18002099003|56012099003|22082099003;","X-Microsoft-Antispam-Message-Info":"\n\tIVUr3iPHMjqRHlgO4H8Az9DKhkUSAxhJOPyaD8WBtG4rkKLcdFrpE/XuBgy3eUL5x/uQZqgJM1C8NKBTFZ5UvR1E0fimyaqAliifN9KUJneC0XQXd86O3/e7sdGhfKPxQ6hEBKJxg1LTbu+icQyLXh4fI1NS8lQAO/BFjhv9xrUZARyJ0NQt152qJWsG7gQuZr9haBm0ib48NC1Dukexh88LU/A+8D5UNro+iKUgMqI/hS/lri0fMTXPLOnDJ3fpffUX3zG/etTnblR1EVjRK+CAFT3TlfXR491eDsqyDdDa7Yj9U7Oh1PZaaPS1bqwUh6edo+VtphpuF8w/GD0zmLUwKlYpQ9iK1ljV7456VX3Yu6JmAZhTRgWZlsXT6cXBE18kiloMONbQJPoqqRB1DtY//2yw5FV94njQwdnTMG+VJj7fQS/kPCPoobf5YW1Z2p/4OvWwrzL6CjL8PW5bF9+JsRAVNwF/erHJsXMcsb8/9w+KMPWJoKQz/PISJwqJDVVBbazt07O26KmJeyzoh+VHDQHgDthSTMs7wRP6xwZWV01DZ/Jw5sj2jr+K3dYa7MzduySNJe6eBX4OKpzAgCja+BM5bctTdrDKMNUAVjZ74DQq6/0zVr5MXAnPFdVF4H51rTNEniqppHIXN/R7R62KpUpie38X7XF9c+3/4OQ/Nea+HyOUXysrvqZ4yCE5II1UZ7Xo9XrjRHP6tjdvioR5QMBJO90Xd1kXrBtBdks=","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)(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":"=?utf-8?q?XNXvipgr6DlKt39bCg8CZYZqce8V?=\n\t=?utf-8?q?ecMckseHGc7eNoPheWVKYE7Mj4Z199e06HVcPnLfhPZpYOojSi/1pQpoRg8I1khRL?=\n\t=?utf-8?q?QU2O7VovK8sWRdzlOzQhN0w5WmU3OgzoUYgv5/ATevuF95Qy8+rxcUYAa7omQDb/B?=\n\t=?utf-8?q?0KKUjLU0AAstOKkbxoJpmJM4VgZMAZ2ubk0uh4VmR1ATTSbYeERBZgsEYGJ9bSFwR?=\n\t=?utf-8?q?REjryk1HipQQ9RbbzI3UgPOuNimHg9i3Pf0GvL8+TTmfMl3lw9oYxY7oEG+S/Vrrd?=\n\t=?utf-8?q?2r3SWj0Ssih71MKmE7FweC99vcOQvErRg+ZeaYREFfw4NagC8jz+KlVbN3xIMYZzB?=\n\t=?utf-8?q?eoA9R1wZgtPGVe9EtbFURo6tXi96jHrtfh5BfK8sm3MR/HZAIFz+cTaKPFQwtc0jm?=\n\t=?utf-8?q?jti8BoXEDPCxMFimYaa1+m1DEKlzfq7DiSgokzAXeKFqRq1Ad6OYGGK8vAS1urmKM?=\n\t=?utf-8?q?viSRwyoGCOrVyPPMqNaB4njmQz/kgXBBoxlrvo9C4E9vysTNJX/aMStsKxJG5Y8ft?=\n\t=?utf-8?q?oH1QmPUjKSWSUahVuq/vZOJuUj30RZz7yXTfhcN9otGrIjQOZbzocsI6CnctE4urc?=\n\t=?utf-8?q?MXU3ba8epjGmwl2K14h/43LamaToBArhVrF81UG/wUPnirjjfH5ZZBhtt2wsemEnD?=\n\t=?utf-8?q?AheE2ogfEY181HZp6JgP3RoL7FmFyeD1tlm8oOOgSXsgIRoj/vdZ6rD76Jpad/jXq?=\n\t=?utf-8?q?xdu4JQx5R1dccMtbrlp9X2WS77X+Xvfxq7KLo1c7YlW2V2GXWmjz1kW/5wRhRlRwY?=\n\t=?utf-8?q?cCBrAlES3PXiz8TQ23UfYiIxye38Z3SmM5PmMVbMzqOXJF/L1/JmX+W/HMd8LUQPE?=\n\t=?utf-8?q?2/nyn3AA3XSJQiySJFxq9jVzctXV+Fz91itDqLVk6imE3Rfbdgrnw0joxq0hvX63v?=\n\t=?utf-8?q?HbYIjWyNPMA8KP4UGCnljpoavKlMEIZEcaQk8X78SJKIvdfVfAk387vOlIFPxAHNQ?=\n\t=?utf-8?q?KCl5s9nWU20thHcUUoa7YYOnhuMBkH6+paJTthkB97rvC34mYxoN7bBCcuJAXpXM2?=\n\t=?utf-8?q?rWxaOjSgeUp74eF1BGj5xvwq+S8tQ8ikuWRc5tWBNW2scH21zOSvYEpjO5fHjL0s3?=\n\t=?utf-8?q?nTysLARTD8Bj11B4BrQ8oVuhzBFCk9zDX2i2fXJ1GRzMdqpX1lR/QwIZOqmvlyMFf?=\n\t=?utf-8?q?l8BDEB41ggKLTgRF40zkXk4PDZi7luRUduhYIQ7vjOx6EchXcnOqjwtHJe2A44uB7?=\n\t=?utf-8?q?L29gy+BXtE9SWFlShSlT0hFO1RWhq2g+3D0ex2jTGCI9U89ppjLcp0S586QR7LjoB?=\n\t=?utf-8?q?ZdrIcNTNA9x2bwdeTorofKlHq5qILgknmYcLRbgmqSIJNMVD1LSQ/7QiHpkKpB8yN?=\n\t=?utf-8?q?BhPcJX6mPQ0fJcQodwTHqJh2MIiILNUvQZJIzLFV/UeRanHCpRKLXgrSTqGiN42AG?=\n\t=?utf-8?q?rf+JsnUkDQYm3wpXQ+n/TzydE/X4ETuDRdAxZpLmmyJwBmwjOm8LdKtCeCG/YGkk0?=\n\t=?utf-8?q?1oxFJF0PxsWyRaIYQAog8xHoWTfBjnB8oEhvCWyMpVf8LjRnh6p9Dqub2WCWMFB5f?=\n\t=?utf-8?q?XWPy/ooZS0M7kB+d4gL1D61lkl/By6sPCRGfaLJHnrzX/HV3i8Ma2GA7UfZ6s0rJi?=\n\t=?utf-8?q?FPemZG/uMj63QqLdNBcAO1TXFwst9GR2x4mIMoRiW9aQxlWwwE5UGxQSEuBdFFO3F?=\n\t=?utf-8?q?OMsd2/Rgr8YAAPScOwl2GiHHC4kn+jQyq6ZqI8KRej92DgZHDTgXm7exCTSOp328P?=\n\t=?utf-8?q?31xJ8KgQN?=","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n db646d73-fd00-4d41-3668-08dea6a8a431","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:17.3974\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 Tezv3psilxXrmigSU/eM7ogguU80nYMJxJjVEs+eMYMSOE11cy3ZJQ28Bqa9MlyEvBd+9ZrAh1nP0nnseilUmg==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"VI1PR04MB7182"},"content":"The dw_hdmi-rockchip driver validates pixel clock rates against the\nHDMI PHY's internal clock provider on certain SoCs like RK3328.\nThis is currently achieved by dereferencing hdmi->phy->dev.of_node\nto obtain the provider node, which violates the Generic PHY API's\nencapsulation (the goal is for struct phy to be an opaque pointer\nwith a hidden definition, to be interacted with only using API\nfunctions or NULL pointer checks, for the case where optional variants\nof phy_get() did not find a PHY).\n\nRefactor dw_hdmi_rockchip_bind() to perform a manual phandle lookup\non the \"hdmi\" PHY index within the controller's DT node. This provides\na parallel path to the clock provider's OF node without relying on the\ninternal structure of the struct phy handle.\n\nSigned-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>\nReviewed-by: Heiko Stueber <heiko@sntech.de>\n---\nCc: Sandy Huang <hjc@rock-chips.com>\nCc: \"Heiko Stübner\" <heiko@sntech.de>\nCc: Andy Yan <andy.yan@rock-chips.com>\nCc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>\nCc: Maxime Ripard <mripard@kernel.org>\nCc: Thomas Zimmermann <tzimmermann@suse.de>\nCc: David Airlie <airlied@gmail.com>\nCc: Simona Vetter <simona@ffwll.ch>\n\nv4->v7: none\nv3->v4: add commit message clarification of what is understood by\n        \"opaque pointer\"\nv1->v3: none\n---\n drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 25 ++++++++++++---------\n 1 file changed, 15 insertions(+), 10 deletions(-)","diff":"diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c\nindex 0dc1eb5d2ae3..7abb42e486c0 100644\n--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c\n+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c\n@@ -537,21 +537,22 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,\n \t\t\t\t void *data)\n {\n \tstruct platform_device *pdev = to_platform_device(dev);\n+\tstruct device_node *np = dev_of_node(dev);\n \tstruct dw_hdmi_plat_data *plat_data;\n \tconst struct of_device_id *match;\n \tstruct drm_device *drm = data;\n \tstruct drm_encoder *encoder;\n \tstruct rockchip_hdmi *hdmi;\n-\tint ret;\n+\tint ret, index;\n \n-\tif (!pdev->dev.of_node)\n+\tif (!np)\n \t\treturn -ENODEV;\n \n \thdmi = devm_kzalloc(&pdev->dev, sizeof(*hdmi), GFP_KERNEL);\n \tif (!hdmi)\n \t\treturn -ENOMEM;\n \n-\tmatch = of_match_node(dw_hdmi_rockchip_dt_ids, pdev->dev.of_node);\n+\tmatch = of_match_node(dw_hdmi_rockchip_dt_ids, np);\n \tplat_data = devm_kmemdup(&pdev->dev, match->data,\n \t\t\t\t\t     sizeof(*plat_data), GFP_KERNEL);\n \tif (!plat_data)\n@@ -564,9 +565,9 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,\n \tplat_data->priv_data = hdmi;\n \tencoder = &hdmi->encoder.encoder;\n \n-\tencoder->possible_crtcs = drm_of_find_possible_crtcs(drm, dev->of_node);\n+\tencoder->possible_crtcs = drm_of_find_possible_crtcs(drm, np);\n \trockchip_drm_encoder_set_crtc_endpoint_id(&hdmi->encoder,\n-\t\t\t\t\t\t  dev->of_node, 0, 0);\n+\t\t\t\t\t\t  np, 0, 0);\n \n \t/*\n \t * If we failed to find the CRTC(s) which this encoder is\n@@ -588,13 +589,17 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,\n \t\treturn dev_err_probe(hdmi->dev, ret, \"failed to get phy\\n\");\n \t}\n \n-\tif (hdmi->phy) {\n+\tindex = of_property_match_string(np, \"phy-names\", \"hdmi\");\n+\tif (index >= 0) {\n \t\tstruct of_phandle_args clkspec;\n \n-\t\tclkspec.np = hdmi->phy->dev.of_node;\n-\t\thdmi->hdmiphy_clk = of_clk_get_from_provider(&clkspec);\n-\t\tif (IS_ERR(hdmi->hdmiphy_clk))\n-\t\t\thdmi->hdmiphy_clk = NULL;\n+\t\tif (!of_parse_phandle_with_args(np, \"phys\", \"#phy-cells\", index,\n+\t\t\t\t\t\t&clkspec)) {\n+\t\t\thdmi->hdmiphy_clk = of_clk_get_from_provider(&clkspec);\n+\t\t\tof_node_put(clkspec.np);\n+\t\t\tif (IS_ERR(hdmi->hdmiphy_clk))\n+\t\t\t\thdmi->hdmiphy_clk = NULL;\n+\t\t}\n \t}\n \n \tif (hdmi->chip_data == &rk3568_chip_data) {\n","prefixes":["v7","phy-next","12/27"]}