From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 840E5C61DD3 for ; Tue, 1 Sep 2026 13:09:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=jnxlhuj8UUo2GLSv+BW90pXXr1PadpZeCvv6E1pNDNk=; b=kCc1iYEkscYGH1 oD2iZ7Q2ReQy/J85xwY+CjowIfO9WXFd6pJl3e5+3XdnrEhwI0/kX19xkdXe+p6N+6vzwHS3muqM0 7mAQoOrQSIPxrA3UfGT3sSM7szyKxOm81zrW1iEEm8BjBNRR9HN5yeLBv0piM+cLkvlO+BGO3NDFj iDu9BEo/speFSpRHWyV1TwJPcCLSsGpVmlskW8+L21lTULweDqa5K1nl1+PL0N6xzuZ7qJ1l+vg7K DLlfhQ5HzJGEL6Fs0kFF5BsMkpId1terwldcq/hUqRbfaHE9n7FLsZiXbvyyZoZVgYQwFehNvhPdH sJmYZtAJax9kuPFrgaAg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x1OEZ-0000000CA0F-3zHH; Tue, 01 Sep 2026 13:09:03 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x1OEY-0000000CA08-1Deq for linux-phy@lists.infradead.org; Tue, 01 Sep 2026 13:09:02 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id D8167417B2; Tue, 1 Sep 2026 13:09:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 518CE1F000E9; Tue, 1 Sep 2026 13:09:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788268140; bh=hLB59ftGD/a4RqFi34kI2/JqViOgZ9cZOPwFrRH1I/c=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=NWKllZA6cgQ7jTec+RuYETca+xEw5ycsV+5ospIwzfBNk8L0OODTBCGPWYeMnVIw/ 5bg+Q0J6rIY0VHDb5jVQ6O97m1iXTnzlwwp0C7LmwUsydUXE9aThFHIaxiyq7JWT25 hgKn62h7tAbwH1fsrwPzmICos1Ljx3sTDpvXK1+YdLH2mJ+SB5mFQWAMExrSor89XM kHL94/+V0Lq5FFrTuQU2brVbi/zzPnYM01slgHUpscTLJAiig0zaNSmm0jAU8f/p+m 9b7tpkk1dmYKMzqUaEVJbwuKurrgip0+ruCMTSu8FAEQ64/2ZrtvQhO1TLwngE14O4 +/6+RjJKU+CtQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v3 2/2] phy: airoha: add support for AN7583 Gen3 PCIe PHY driver To: "Christian Marangi" Cc: olteanv@gmail.com, devicetree@vger.kernel.org, vkoul@kernel.org, neil.armstrong@linaro.org, linux-phy@lists.infradead.org, conor+dt@kernel.org, robh@kernel.org In-Reply-To: <20260901125819.20378-3-ansuelsmth@gmail.com> References: <20260901125819.20378-1-ansuelsmth@gmail.com> <20260901125819.20378-3-ansuelsmth@gmail.com> Date: Tue, 01 Sep 2026 13:08:59 +0000 Message-Id: <20260901130900.518CE1F000E9@smtp.kernel.org> X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIEluY29ycmVjdCB0ZWFy ZG93biBvcmRlciBhbmQgcG90ZW50aWFsIHJlc291cmNlIGxlYWsgaW4gYW43NTgzX3BjaWVfcGh5 X2V4aXQoKS4KLSBbTWVkaXVtXSBDYWxsaW5nIHBoeV9pbml0KCkgYW5kIHBoeV9leGl0KCkgb24g YSBjaGlsZCBQSFkgZnJvbSB3aXRoaW4gdGhlIHBhcmVudCdzIGluaXQvZXhpdCBjYWxsYmFja3Mg dHJpZ2dlcnMgYSBsb2NrZGVwIHJlY3Vyc2l2ZSBsb2NraW5nIHdhcm5pbmcuCi0gW0xvd10gTWlz c2luZyAnc2VsZWN0IFJFR01BUF9NTUlPJyBjYXVzZXMgYnVpbGQgZmFpbHVyZXMuCi0tCgpjb21t aXQgZDdhMzI5YjVkMmQ1NzBlYmIzMWYyZDk1YThjNGM3ODE5MTVjZjJiZApBdXRob3I6IENocmlz dGlhbiBNYXJhbmdpIDxhbnN1ZWxzbXRoQGdtYWlsLmNvbT4KCnBoeTogYWlyb2hhOiBhZGQgc3Vw cG9ydCBmb3IgQU43NTgzIEdlbjMgUENJZSBQSFkgZHJpdmVyCgpUaGlzIGNvbW1pdCBhZGRzIHN1 cHBvcnQgZm9yIHRoZSBBTjc1ODMgUENJZSBQSFkgZHJpdmVyLiBJdCBpbnRyb2R1Y2VzIHRoZQpp bml0aWFsaXphdGlvbiBjYWxsYmFjayBmb3IgdGhlIFBDSWUgR2VuMyBwb3J0IHByZXNlbnQgb24g dGhlIEFpcm9oYSBBTjc1ODMKU29DLCB3aGljaCByZXF1aXJlcyBhIGRpZmZlcmVudCBjYWxpYnJh dGlvbiBwcm9jZXNzIGFuZCByZWdpc3RlciBzZXR1cApjb21wYXJlZCB0byB0aGUgRU43NTgxLgoK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvYWlyb2hhL0tjb25maWcgYi9kcml2ZXJzL3BoeS9h aXJvaGEvS2NvbmZpZwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAw MC4uNTVmZDIwZjI5ZGE2NQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL3BoeS9haXJv aGEvS2NvbmZpZwo+IEBAIC0wLDAgKzEsMTMgQEAKWyAuLi4gXQo+ICtjb25maWcgUEhZX0FJUk9I QV9BTjc1ODNfUENJRQo+ICsJdHJpc3RhdGUgIkFpcm9oYSBBTjc1ODMgUENJZS1QSFkgRHJpdmVy Igo+ICsJZGVwZW5kcyBvbiBBUkNIX0FJUk9IQSB8fCBDT01QSUxFX1RFU1QKPiArCWRlcGVuZHMg b24gT0YKPiArCXNlbGVjdCBHRU5FUklDX1BIWQoKW1NldmVyaXR5OiBMb3ddClNpbmNlIHRoZSBk cml2ZXIgdXNlcyBkZXZtX3JlZ21hcF9pbml0X21taW8oKSwgc2hvdWxkIHRoaXMgS2NvbmZpZwpl bnRyeSBhbHNvIHNlbGVjdCBSRUdNQVBfTU1JTyB0byBwcmV2ZW50IGJ1aWxkIGZhaWx1cmVzPyBJ ZiB0aGlzIGRyaXZlcgppcyBidWlsdCB3aXRoIENPTVBJTEVfVEVTVCBvbiBhcmNoaXRlY3R1cmVz IHRoYXQgZG8gbm90IHNlbGVjdCBSRUdNQVBfTU1JTwpieSBkZWZhdWx0LCBpdCB3aWxsIGNhdXNl IGFuIHVuZGVmaW5lZCByZWZlcmVuY2UgbGluayBlcnJvciBmb3IKX19kZXZtX3JlZ21hcF9pbml0 X21taW9fY2xrLgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvYWlyb2hhL3BoeS1hbjc1ODMt cGNpZS5jIGIvZHJpdmVycy9waHkvYWlyb2hhL3BoeS1hbjc1ODMtcGNpZS5jCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAwLi44YWFjYTNmNTA3MTNjCj4gLS0tIC9k ZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvcGh5L2Fpcm9oYS9waHktYW43NTgzLXBjaWUuYwpbIC4u LiBdCj4gK3N0YXRpYyBpbnQgYW43NTgzX3BjaWVfcGh5X2luaXQoc3RydWN0IHBoeSAqcGh5KQo+ ICt7Cj4gKwlzdHJ1Y3QgYW43NTgzX3BjaWVfcGh5ICpwY2llX3BoeSA9IHBoeV9nZXRfZHJ2ZGF0 YShwaHkpOwo+ICsJdTMyIHZhbDsKPiArCWludCByZXQ7ClsgLi4uIF0KPiArCXJlZ21hcF9zZXRf Yml0cyhwY2llX3BoeS0+ZzNfcG1hLCBSRUdfU1NfREFfWFBPTl9QV0RCXzAsCj4gKwkJCUczX1BN QV9EQV9YUE9OX0NEUl9QUl9QV0RCKTsKPiArCj4gKwl1c2xlZXBfcmFuZ2UoMTAwLCAyMDApOwo+ ICsKPiArCXJldCA9IHBoeV9pbml0KHBjaWVfcGh5LT5xcF9waHkpOwoKW1NldmVyaXR5OiBNZWRp dW1dCldpbGwgY2FsbGluZyBwaHlfaW5pdCgpIG9uIHRoZSBjaGlsZCBQSFkgZnJvbSB3aXRoaW4g dGhlIHBhcmVudCdzIGluaXQKY2FsbGJhY2sgdHJpZ2dlciBhIGxvY2tkZXAgcmVjdXJzaXZlIGxv Y2tpbmcgd2FybmluZz8gVGhlIFBIWSBjb3JlIGFscmVhZHkKaG9sZHMgdGhlIHBhcmVudCdzIHBo eS0+bXV0ZXggd2hlbiBleGVjdXRpbmcgdGhpcyBjYWxsYmFjay4gU2luY2UgYWxsIFBIWQptdXRl eGVzIGFyZSBpbml0aWFsaXplZCB0byB0aGUgc2FtZSBsb2NrIGNsYXNzIGluIHBoeV9jcmVhdGUo KSwgYWNxdWlyaW5nCnRoZSBjaGlsZCdzIG11dGV4IGhlcmUgaXMgc2VlbiBieSBsb2NrZGVwIGFz IHJlY3Vyc2l2ZSBsb2NraW5nIG9uIHRoZQpzYW1lIGNsYXNzLCB3aGljaCB3aWxsIGVtaXQgYSB3 YXJuaW5nIHNwbGF0IGFuZCBkaXNhYmxlIGxvY2tkZXAuCgo+ICsJaWYgKHJldCkgewo+ICsJCWFu NzU4M19wY2llX3BoeV9kZWluaXQocGNpZV9waHkpOwo+ICsKPiArCQlyZXR1cm4gZGV2X2Vycl9w cm9iZShwY2llX3BoeS0+ZGV2LCByZXQsICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBRUCBwaHlcbiIp Owo+ICsJfQo+ICsKPiArCS8qIFdhaXQgZm9yIHRoZSBQQ0llIFBIWSB0byBjb21wbGV0ZSBpbml0 aWFsaXphdGlvbiBiZWZvcmUgcmV0dXJuaW5nICovCj4gKwltc2xlZXAoUEhZX0hXX0lOSVRfVElN RV9NUyk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgYW43NTgzX3Bj aWVfcGh5X2V4aXQoc3RydWN0IHBoeSAqcGh5KQo+ICt7Cj4gKwlzdHJ1Y3QgYW43NTgzX3BjaWVf cGh5ICpwY2llX3BoeSA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOwo+ICsJaW50IHJldDsKPiArCj4g KwlyZXQgPSBhbjc1ODNfcGNpZV9waHlfZGVpbml0KHBjaWVfcGh5KTsKPiArCWlmIChyZXQpCj4g KwkJcmV0dXJuIHJldDsKPiArCj4gKwlyZXR1cm4gcGh5X2V4aXQocGNpZV9waHktPnFwX3BoeSk7 CgpbU2V2ZXJpdHk6IEhpZ2hdCkRvZXMgdGhpcyB0ZWFyZG93biBvcmRlciBzYWZlbHkgaGFuZGxl IHRoZSBjaGlsZCBQSFk/IFRoaXMgc2VxdWVuY2Ugc2h1dHMKZG93biB0aGUgcGFyZW50IFBIWSBo YXJkd2FyZSBhbmQgY2xvY2tzIGJlZm9yZSBjYWxsaW5nIHBoeV9leGl0KCkgb24gdGhlCmNoaWxk IFBIWS4gSWYgdGhlIGNoaWxkIFBIWSBhdHRlbXB0cyB0byBhY2Nlc3MgcGFyZW50LXByb3ZpZGVk IGNsb2NrcyBvcgpyZWdpc3RlcnMgZHVyaW5nIGl0cyBleGl0IHJvdXRpbmUsIGNvdWxkIHRoaXMg Y2F1c2UgYSBidXMgaGFuZyBvciBzeXN0ZW0KY3Jhc2g/CgpBZGRpdGlvbmFsbHksIGlmIGFuNzU4 M19wY2llX3BoeV9kZWluaXQoKSByZXR1cm5zIGFuIGVycm9yLCB0aGUgY2hpbGQgUEhZCnJlc291 cmNlIHdpbGwgYmUgbGVha2VkIGR1ZSB0byB0aGUgZWFybHkgcmV0dXJuLiBTaG91bGQgcGh5X2V4 aXQoKSBiZSBjYWxsZWQKZmlyc3QgdG8gZXhhY3RseSByZXZlcnNlIHRoZSBpbml0aWFsaXphdGlv biBvcmRlcj8KCltTZXZlcml0eTogTWVkaXVtXQpTaW1pbGFyIHRvIHRoZSBpbml0IHBhdGgsIHdp bGwgY2FsbGluZyBwaHlfZXhpdCgpIG9uIHRoZSBjaGlsZCBQSFkgZnJvbQp3aXRoaW4gdGhlIHBh cmVudCdzIGV4aXQgY2FsbGJhY2sgdHJpZ2dlciBhIGxvY2tkZXAgcmVjdXJzaXZlIGxvY2tpbmcg d2FybmluZwpvbiBwaHktPm11dGV4PwoKPiArfQo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBw aHlfb3BzIGFuNzU4M19wY2llX3BoeV9vcHMgPSB7CgotLSAKU2FzaGlrbyBBSSByZXZpZXcgwrcg aHR0cHM6Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0LzIwMjYwOTAxMTI1ODE5LjIwMzc4LTEtYW5z dWVsc210aEBnbWFpbC5jb20/cGFydD0yCgotLSAKbGludXgtcGh5IG1haWxpbmcgbGlzdApsaW51 eC1waHlAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwczovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1waHkK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (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 4011B30F7FA for ; Tue, 1 Sep 2026 13:09:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788268142; cv=none; b=b+w0OlFcNI789IvynvrFxUcvV/Y8lf32fadaS9w7adTYp8Appn2uxuRol8ZFnbSCin7rnVvSF1XWwKWBJMGCO1wojOv0b18ceq1WunwHMhc94Tbb2ugE2f/nRIzkJ4CtcJB8zWQ3I5TAm3DsEKdImZPDbH/v9PLoU+J3HMAs7M0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788268142; c=relaxed/simple; bh=5QmgDOjt0W8J9PQWnsiReD3DtzcZt0NsHc32/SEWaao=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=fJQlSS+lucwkVUFfFRqXRDCKbJrQkRBCHGmdD2wpBuGItDDXteP07AJu96wmAhm8lx5UqHrkPbIrQhj/m/qqC8eOZDjp7v4xZEfD2eScUBulzsDaEUmsCC78ssTOdtEoa0CXkL/qHNFo7UIC41D4JjjvRe3rM4cN2+f2NCtC9L4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NWKllZA6; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="NWKllZA6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 518CE1F000E9; Tue, 1 Sep 2026 13:09:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788268140; bh=hLB59ftGD/a4RqFi34kI2/JqViOgZ9cZOPwFrRH1I/c=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=NWKllZA6cgQ7jTec+RuYETca+xEw5ycsV+5ospIwzfBNk8L0OODTBCGPWYeMnVIw/ 5bg+Q0J6rIY0VHDb5jVQ6O97m1iXTnzlwwp0C7LmwUsydUXE9aThFHIaxiyq7JWT25 hgKn62h7tAbwH1fsrwPzmICos1Ljx3sTDpvXK1+YdLH2mJ+SB5mFQWAMExrSor89XM kHL94/+V0Lq5FFrTuQU2brVbi/zzPnYM01slgHUpscTLJAiig0zaNSmm0jAU8f/p+m 9b7tpkk1dmYKMzqUaEVJbwuKurrgip0+ruCMTSu8FAEQ64/2ZrtvQhO1TLwngE14O4 +/6+RjJKU+CtQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v3 2/2] phy: airoha: add support for AN7583 Gen3 PCIe PHY driver Reply-To: sashiko-reviews@lists.linux.dev To: "Christian Marangi" Cc: olteanv@gmail.com, devicetree@vger.kernel.org, vkoul@kernel.org, neil.armstrong@linaro.org, linux-phy@lists.infradead.org, conor+dt@kernel.org, robh@kernel.org In-Reply-To: <20260901125819.20378-3-ansuelsmth@gmail.com> References: <20260901125819.20378-1-ansuelsmth@gmail.com> <20260901125819.20378-3-ansuelsmth@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Tue, 01 Sep 2026 13:08:59 +0000 Message-Id: <20260901130900.518CE1F000E9@smtp.kernel.org> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 3 potential issue(= s) to consider: - [High] Incorrect teardown order and potential resource leak in an7583_pci= e_phy_exit(). - [Medium] Calling phy_init() and phy_exit() on a child PHY from within the= parent's init/exit callbacks triggers a lockdep recursive locking warning. - [Low] Missing 'select REGMAP_MMIO' causes build failures. -- commit d7a329b5d2d570ebb31f2d95a8c4c781915cf2bd Author: Christian Marangi phy: airoha: add support for AN7583 Gen3 PCIe PHY driver This commit adds support for the AN7583 PCIe PHY driver. It introduces the initialization callback for the PCIe Gen3 port present on the Airoha AN7583 SoC, which requires a different calibration process and register setup compared to the EN7581. > diff --git a/drivers/phy/airoha/Kconfig b/drivers/phy/airoha/Kconfig > new file mode 100644 > index 0000000000000..55fd20f29da65 > --- /dev/null > +++ b/drivers/phy/airoha/Kconfig > @@ -0,0 +1,13 @@ [ ... ] > +config PHY_AIROHA_AN7583_PCIE > + tristate "Airoha AN7583 PCIe-PHY Driver" > + depends on ARCH_AIROHA || COMPILE_TEST > + depends on OF > + select GENERIC_PHY [Severity: Low] Since the driver uses devm_regmap_init_mmio(), should this Kconfig entry also select REGMAP_MMIO to prevent build failures? If this driver is built with COMPILE_TEST on architectures that do not select REGMAP_MMIO by default, it will cause an undefined reference link error for __devm_regmap_init_mmio_clk. > diff --git a/drivers/phy/airoha/phy-an7583-pcie.c b/drivers/phy/airoha/ph= y-an7583-pcie.c > new file mode 100644 > index 0000000000000..8aaca3f50713c > --- /dev/null > +++ b/drivers/phy/airoha/phy-an7583-pcie.c [ ... ] > +static int an7583_pcie_phy_init(struct phy *phy) > +{ > + struct an7583_pcie_phy *pcie_phy =3D phy_get_drvdata(phy); > + u32 val; > + int ret; [ ... ] > + regmap_set_bits(pcie_phy->g3_pma, REG_SS_DA_XPON_PWDB_0, > + G3_PMA_DA_XPON_CDR_PR_PWDB); > + > + usleep_range(100, 200); > + > + ret =3D phy_init(pcie_phy->qp_phy); [Severity: Medium] Will calling phy_init() on the child PHY from within the parent's init callback trigger a lockdep recursive locking warning? The PHY core already holds the parent's phy->mutex when executing this callback. Since all PHY mutexes are initialized to the same lock class in phy_create(), acquiring the child's mutex here is seen by lockdep as recursive locking on the same class, which will emit a warning splat and disable lockdep. > + if (ret) { > + an7583_pcie_phy_deinit(pcie_phy); > + > + return dev_err_probe(pcie_phy->dev, ret, "failed to initialize QP phy\= n"); > + } > + > + /* Wait for the PCIe PHY to complete initialization before returning */ > + msleep(PHY_HW_INIT_TIME_MS); > + > + return 0; > +} > + > +static int an7583_pcie_phy_exit(struct phy *phy) > +{ > + struct an7583_pcie_phy *pcie_phy =3D phy_get_drvdata(phy); > + int ret; > + > + ret =3D an7583_pcie_phy_deinit(pcie_phy); > + if (ret) > + return ret; > + > + return phy_exit(pcie_phy->qp_phy); [Severity: High] Does this teardown order safely handle the child PHY? This sequence shuts down the parent PHY hardware and clocks before calling phy_exit() on the child PHY. If the child PHY attempts to access parent-provided clocks or registers during its exit routine, could this cause a bus hang or system crash? Additionally, if an7583_pcie_phy_deinit() returns an error, the child PHY resource will be leaked due to the early return. Should phy_exit() be called first to exactly reverse the initialization order? [Severity: Medium] Similar to the init path, will calling phy_exit() on the child PHY from within the parent's exit callback trigger a lockdep recursive locking warni= ng on phy->mutex? > +} > + > +static const struct phy_ops an7583_pcie_phy_ops =3D { --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260901125819.2037= 8-1-ansuelsmth@gmail.com?part=3D2