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 C696EC98318 for ; Fri, 25 Sep 2026 02:04:25 +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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Cc:To:From:Subject:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=yooB+gFDw27RtdiSguf5XYLYdCcIPBCdYvRXynjI1IQ=; b=Gv34CebD+o5+x+ CAUEz5ZLrFXxNlvkQOO7mALHbyoYT1UF44pGf5CC/Ks/pgW+DmwL+ezfot0OOGktU93+dhq6T4Xxb WzZlsWuYiNnF06RrNlsV+eFLXEn3nx+zuu5t+KrWzmmvbAvZmo2uFIBkq0ifH4H/VoIyHBXO0dNQI /duApPVAch1MnI+Z9Cb6qa4w80LfcIizw7h28W4Q2+ZW9OTzY9xygb8gLD3d4pFmzRRs3JjCxyoDV tG1sYK58yHXkaEGmVkMd/AzL+nZE0Vxa9tBSexx2ib1vCOmXiHA+MzxI4gqmUnFWghBkdl/5OXKOt na4+ByOowEvYwn/EnXNw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x9vIX-0000000CW6J-1nU8; Fri, 25 Sep 2026 02:04:25 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x9vHu-0000000CVmC-37V0; Fri, 25 Sep 2026 02:03:46 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 233756022F; Fri, 25 Sep 2026 02:03:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 525B41F000FF; Fri, 25 Sep 2026 02:03:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1790301825; bh=1tnkY2s2DVVGP0iyZfDIANfzMWWEVKjrYMrG/4nzmSI=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=iNwRdyxillxQFirsyCtD7IeNn3aKwEyrLa/8xQkOE1FR53L3zpRhrjb3YU84g71Kk O+BlUBStNYsiPw4YVVAqX5K8+TPQ5Vd7c7rag+GKjlCY8nXrhIBlkq0MiyeQROUshv YwNcIsGBMKsfMEOqgvN/h/C5d/9BJ9Ximm2efgOU2J3nd7SCumKjV0WthKszIRJljv vSvFBOZ/gLgeLYFYpvoaRILt6Z3iqoi9iNG8U8rZbOXCVpg3WqmNxM1tUCz8Hw9WbW cEW/oJNZ07w9ZZwo2WYUZC27bqJdpeiO33IlUNF/olv9DN0jjEKxi57UVOXTYx1bF/ ZjFWpE6EI1dEg== Subject: Re: [PATCH net-next v10 07/11] net: pcs: xpcs: add Rockchip RK3568 platform glue driver From: netdev-bot+sashiko@kernel.org To: coiaprant@gmail.com Cc: andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, heiko@sntech.de, vkoul@kernel.org, maxime.chevallier@bootlin.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, prabhakar.mahadev-lad.rj@bp.renesas.com, romain.gantois@bootlin.com, hkallweit1@gmail.com, neil.armstrong@linaro.org, linux@armlinux.org.uk, shawn.lin@rock-chips.com, david@ixit.cz, netdev@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-renesas-soc@vger.kernel.org Date: Fri, 25 Sep 2026 02:03:43 +0000 Message-ID: <179030182389.2160803.3666914180615619528@kernel.org> In-Reply-To: <20260922200336.2201212-8-coiaprant@gmail.com> References: <20260922200336.2201212-8-coiaprant@gmail.com> X-sashiko-severity: High MIME-Version: 1.0 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: , 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 NiBwb3RlbnRpYWwKaXNzdWUocykgdG8gY29uc2lkZXIuCgpDcml0aWNhbDogMCDCtyBIaWdoOiAx IMK3IE1lZGl1bTogMyDCtyBMb3c6IDIKCklmIHlvdSBiZWxpZXZlIG5vbmUgb2YgdGhlIGlzc3Vl cyBhcmUgbGVnaXRpbWF0ZSwgcGxlYXNlIHJlcGx5IHRvIGVhY2gKaXNzdWUgb2YgTWVkaXVtIHNl dmVyaXR5IG9yIGhpZ2hlciBhbmQgZXhwbGFpbiB3aHkgdGhlIEFJIGlzIHdyb25nLgpJZiBhbnkg b2YgdGhlbSBhcmUgbGVnaXRpbWF0ZSBhbmQgeW91IHBsYW4gdG8gcmVzcGluLCBwbGVhc2UgbGV0 IHBhdGNod29yawprbm93IGJ5IGluY2x1ZGluZyAicHctYm90OiBjciIgYXMgYSBzZXBhcmF0ZSBs aW5lIGF0IHRoZSBlbmQgb2YgeW91ciByZXBseQoob25lIHN1Y2ggcmVwbHkgcGVyIHNlcmllcyBp cyBlbm91Z2gpLgoKLSBbSGlnaF0gSW4gZHJpdmVycy9uZXQvcGNzL3Bjcy14cGNzLXJrLmMsIHhw Y3Nfcmtfc3lzdGVtX3N1c3BlbmQoKQogIHJlbGllcyBzb2xlbHkgb24gZGV2aWNlX3NldF93YWtl dXBfcGF0aCgpIHRvIGtlZXAgdGhlIFBEX1BJUEUgcG93ZXLigKYKLSBbTWVkaXVtXSB4cGNzX3Jr X21kaW9fd3JpdGVfcmVtYXBwaW5nKCkgKGRyaXZlcnMvbmV0L3Bjcy9wY3MteHBjcy0KICByay5j OjEzNy0xNTApIGZvcmNlcyB3cml0ZXMgb2YgRFdfVlJfTUlJX0FOX0NUUkws4oCmCi0gW01lZGl1 bV0geHBjc19ya19jcmVhdGUoKSAoZHJpdmVycy9uZXQvcGNzL3Bjcy14cGNzLXJrLmM6NTM3LTU0 NikKICBkZXJlZmVyZW5jZXMgdGhlIHN0cnVjdCBkZXZpY2VfbGluayAqIHJldHVybmVkIGJ5IGRl dmljZV9saW5rX2FkZCgp4oCmCi0gW01lZGl1bV0gQ29uY2VybjogeHBjc19ya19jcmVhdGUoKSB2 YWxpZGF0ZXMgdGhlIHN1cHBsaWVyIHdpdGggYW4KICB1bmxvY2tlZCByZWFkIG9mIHRoZSBkcml2 ZXItY29yZS1pbnRlcm5hbCBmaWVsZOKApgotIFtMb3ddIENvbmNlcm46IHhwY3NfcmtfY3JlYXRl KCkgaXMgRVhQT1JUX1NZTUJPTF9HUEwnZWQgYW5kIHB1Ymxpc2hlZAogIGluIGEgbmV3IGhlYWRl ciBpbmNsdWRlL2xpbnV4L3Bjcy9wY3MteHBjcy1yay5oIHdpdGggbm8gaW4tdHJlZSBjYWxsZXLi gKYKLSBbTG93XSBJbiB4cGNzX3JrX2NyZWF0ZSgpIChkcml2ZXJzL25ldC9wY3MvcGNzLXhwY3Mt cmsuYzo1MTgtNTU4KSB0aGUKICBjb21tZW50IGp1c3RpZnlpbmcgdGhlIGRldmljZV9saW5rIGhh bmRsaW5nIG1pc3N0YXRlcyB0aGUgQVBJ4oCmCgotLQoKbmV0OiBwY3M6IHhwY3M6IGFkZCBSb2Nr Y2hpcCBSSzM1NjggcGxhdGZvcm0gZ2x1ZSBkcml2ZXIKClRoaXMgYWRkcyBhIFJvY2tjaGlwIFJL MzU2OCBnbHVlIGRyaXZlciBmb3IgdGhlIERlc2lnbldhcmUgWFBDUyB0aGF0CmV4cG9zZXMgdGhl IEFQQjMtbWFwcGVkIENTUnMgdGhyb3VnaCBhIHZpcnR1YWwgTURJTyBidXMsIHNwbGl0cyB0aGUK Z2VuZXJpYyBwbGF0Zm9ybSBnbHVlIGludG8gaXRzIG93biBQQ1NfWFBDU19QTEFURk9STSBtb2R1 bGUsIGFuZCBhZGRzCnBvd2VyLW1hbmFnZW1lbnQgaGFuZGxpbmcgZm9yIHRoZSBzaGFyZWQgUERf UElQRSBwb3dlciBkb21haW4uCgpMaW5rOiBodHRwczovL2RsLnJhZHhhLmNvbS9yb2NrMy9kb2Nz L2h3L2RhdGFzaGVldC9Sb2NrY2hpcCUyMFJLMzU2OCUyMFRSTSUyMFBhcnQxJTIwVjEuMS0yMDIx MDMwMS5wZGYgKFBhZ2UgNTksIENSVV9DTEtTRUxfQ09OMjkpCkxpbms6IGh0dHBzOi8vZGwucmFk eGEuY29tL3JvY2szL2RvY3MvaHcvZGF0YXNoZWV0L1JvY2tjaGlwJTIwUkszNTY4JTIwVFJNJTIw UGFydDIlMjBWMS4xLTIwMjEwMzAxLnBkZiAoUGFnZSAyMDc4KQoKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvcGNzL3Bjcy14cGNzLXJrLmMgYi9kcml2ZXJzL25ldC9wY3MvcGNzLXhwY3Mtcmsu Ywo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwMC4uMzVlZTk4MGE3 NTllNQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL25ldC9wY3MvcGNzLXhwY3Mtcmsu Ywo+IEBAIC0wLDAgKzEsNjE5IEBACgpbIC4uLiBdCgo+ICtzdGF0aWMgaW50IHhwY3NfcmtfbWRp b19yZWFkX3JlbWFwcGluZyhpbnQgYWRkciwgaW50IGRldiwgaW50IHJlZykKPiArewo+ICsJc3dp dGNoIChkZXYpIHsKPiArCWNhc2UgTURJT19NTURfUE1BUE1EOgo+ICsJCXJldHVybiBST0NLQ0hJ UF9NTURfUE1BUE1EOwo+ICsJY2FzZSBNRElPX01NRF9WRU5EMjoKPiArCQlicmVhazsKPiArCWRl ZmF1bHQ6Cj4gKwkJcmV0dXJuIC1FTlhJTzsKPiArCX0KPiArCj4gKwkvKgo+ICsJICogUmVhZHMg YXJlIHJlZGlyZWN0ZWQgYnkgaGFyZHdhcmUgdG8gdGhlIHBvcnQncyByZWFkLW9ubHkgbWlycm9y Owo+ICsJICogb25seSB3cml0ZXMgaGF2ZSB0byBiZSB0YXJnZXRlZCBhdCBNSUkgKHNlZSB0aGUg d3JpdGUgcGF0aCkuCj4gKwkgKi8KPiArCXN3aXRjaCAoYWRkcikgewo+ICsJY2FzZSAwOgo+ICsJ CXJldHVybiBST0NLQ0hJUF9NTURfTUlJOwo+ICsJY2FzZSAxOgo+ICsJCXJldHVybiBST0NLQ0hJ UF9NTURfTUlJMTsKPiArCWNhc2UgMjoKPiArCQlyZXR1cm4gUk9DS0NISVBfTU1EX01JSTI7Cj4g KwljYXNlIDM6Cj4gKwkJcmV0dXJuIFJPQ0tDSElQX01NRF9NSUkzOwo+ICsJZGVmYXVsdDoKPiAr CQlyZXR1cm4gLUVOT0RFVjsKPiArCX0KPiArfQo+ICsKPiArc3RhdGljIGludCB4cGNzX3JrX21k aW9fd3JpdGVfcmVtYXBwaW5nKGludCBhZGRyLCBpbnQgZGV2LCBpbnQgcmVnKQo+ICt7Cj4gKwlz d2l0Y2ggKGRldikgewo+ICsJY2FzZSBNRElPX01NRF9QTUFQTUQ6Cj4gKwkJcmV0dXJuIFJPQ0tD SElQX01NRF9QTUFQTUQ7Cj4gKwljYXNlIE1ESU9fTU1EX1ZFTkQyOgo+ICsJCWJyZWFrOwo+ICsJ ZGVmYXVsdDoKPiArCQlyZXR1cm4gLUVOWElPOwo+ICsJfQo+ICsKPiArCS8qCj4gKwkgKiBUaGVz ZSByZWdpc3RlcnMgcGh5c2ljYWxseSBsaXZlIG9ubHkgaW4gTUlJICh0aGUgbWFuYWdlbWVudCBw b3J0KS4KPiArCSAqIFBvcnRzIDEtMyBleHBvc2UgcmVhZC1vbmx5IG1pcnJvcnMgb2YgdGhlc2Ug Yml0cywgc28gd3JpdGVzIG11c3QKPiArCSAqIGFsd2F5cyB0YXJnZXQgTUlJOyB0aGUgcmVhZCBw YXRoIHJlbWFwcyBwZXIgYWRkcmVzcyBhbmQgdGhlCj4gKwkgKiBoYXJkd2FyZSByZWRpcmVjdHMg dG8gdGhlIHBvcnQncyBtaXJyb3IuCj4gKwkgKi8KPiArCXN3aXRjaCAocmVnKSB7Cj4gKwljYXNl IERXX1ZSX01JSV9BTl9DVFJMOgo+ICsJY2FzZSBEV19WUl9NSUlfQU5fSU5UUl9TVFM6Cj4gKwlj YXNlIERXX1ZSX01JSV9FRUVfTUNUUkwwOgo+ICsJY2FzZSBEV19WUl9NSUlfRUVFX01DVFJMMToK PiArCWNhc2UgRFdfVlJfTUlJX0RJR19DVFJMMjoKPiArCQlyZXR1cm4gUk9DS0NISVBfTU1EX01J STsKPiArCWRlZmF1bHQ6Cj4gKwkJYnJlYWs7Cj4gKwl9CgpbU2V2ZXJpdHk6IE1lZGl1bV0KUmVh ZHMgYW5kIHdyaXRlcyBvZiB0aGUgc2FtZSAoYWRkciwgcmVnKSBwYWlyIHJlc29sdmUgdG8gZGlm ZmVyZW50IE1NRHMgZm9yCmFkZHJlc3NlcyAxLi4zLiAgeHBjc19ya19tZGlvX3dyaXRlX3JlbWFw cGluZygpIHNlbmRzIEFOX0NUUkwsIEFOX0lOVFJfU1RTLApFRUVfTUNUUkwwLzEgYW5kIERJR19D VFJMMiB0byBST0NLQ0hJUF9NTURfTUlJIGJlZm9yZSB0aGUgcGVyLWFkZHJlc3Mgc3dpdGNoCmlz IHJlYWNoZWQsIHdoaWxlIHhwY3NfcmtfbWRpb19yZWFkX3JlbWFwcGluZygpIHJldHVybnMgUk9D S0NISVBfTU1EX01JSTEvMi8zCmZvciB0aG9zZSBzYW1lIHJlZ2lzdGVycy4gIFNpbmNlIHhwY3Nf cmtfYWRkcl9mb3JtYXQoKSBmb2xkcyB0aGUgTU1EIGludG8gdGhlCkFQQiBDU1IgaW5kZXgsIHRo ZSB0d28gYWNjZXNzZXMgbGFuZCBvbiBkaWZmZXJlbnQgcGh5c2ljYWwgb2Zmc2V0cy4KClRoZSB1 bm1vZGlmaWVkIGNvcmUgZG9lcyByZWFkLW1vZGlmeS13cml0ZSBvbiBleGFjdGx5IHRoZXNlIHJl Z2lzdGVycywgZS5nLgppbiB4cGNzX2NvbmZpZ19hbmVnX2MzN19zZ21paSgpOgoKCXJldCA9IHhw Y3NfbW9kaWZ5KHhwY3MsIE1ESU9fTU1EX1ZFTkQyLCBEV19WUl9NSUlfQU5fQ1RSTCwgbWFzaywg dmFsKTsKCS4uLgoJcmV0ID0geHBjc193cml0ZSh4cGNzLCBNRElPX01NRF9WRU5EMiwgRFdfVlJf TUlJX0FOX0lOVFJfU1RTLCAwKTsKCmFuZCBpbiB4cGNzX2dldF9zdGF0ZV9jMzdfc2dtaWkoKToK Cglhbl9pbnRyID0geHBjc19yZWFkKHhwY3MsIE1ESU9fTU1EX1ZFTkQyLCBEV19WUl9NSUlfQU5f SU5UUl9TVFMpOwoJaWYgKGFuX2ludHIgJiBEV19WUl9NSUlfQU5fU1RTX0MzN19BTkNNUExUX0lO VFIpIHsKCQlhbl9pbnRyICY9IH5EV19WUl9NSUlfQU5fU1RTX0MzN19BTkNNUExUX0lOVFI7CgkJ eHBjc193cml0ZSh4cGNzLCBNRElPX01NRF9WRU5EMiwgRFdfVlJfTUlJX0FOX0lOVFJfU1RTLCBh bl9pbnRyKTsKCkZvciBwb3J0IDEuLjMsIGlzIHRoZSB2YWx1ZSByZWFkIGZyb20gdGhlIHBvcnQg bWlycm9yIHRoZW4gd3JpdHRlbiBiYWNrIGludG8KcG9ydCAwJ3MgcmVnaXN0ZXIsIGFuZCBpcyB0 aGUgYXV0b25lZy1jb21wbGV0ZSBsYXRjaCB0aGF0IHdhcyBvYnNlcnZlZCBhCmRpZmZlcmVudCBv bmUgZnJvbSB0aGUgbGF0Y2ggdGhhdCBnZXRzIGFja25vd2xlZGdlZD8KClR3byByZWxhdGVkIHF1 ZXN0aW9ucyBvbiB0aGUgc2FtZSBtYXBwaW5nOgoKQU5fQ1RSTCAoUENTIG1vZGUgLyBUWF9DT05G SUcpIGFuZCB0aGUgRUVFIHJlZ2lzdGVycyBiZWNvbWUgb25lIHNoYXJlZAppbnN0YW5jZSBmb3Ig YWxsIGZvdXIgcG9ydHMgd2l0aCBubyBzZXJpYWxpemF0aW9uLCB5ZXQgdGhlIGNvbW1pdCBtZXNz YWdlCnNheXMgcG9ydHMgMC4uMyBjYW4gYmUgcm91dGVkIHRvIEdNQUMwIG9yIEdNQUMxIGluZGVw ZW5kZW50bHkuICBIb3cgaXMKY3Jvc3MtcG9ydCBjbG9iYmVyaW5nIGF2b2lkZWQgd2hlbiB0d28g TUFDcyBjb25maWd1cmUgdGhlaXIgUENTPwoKRFdfVlJfTUlJX0RJR19DVFJMMSwgd2hpY2ggaG9s ZHMgVlJfUlNUIHBsdXMgMkc1X0VOL01BQ19BVVRPX1NXIGFuZCBpcwptb2RpZmllZCBieSB0aGUg Y29yZSBpbiB4cGNzX2NvbmZpZ19hbmVnX2MzN19zZ21paSgpIGFuZAp4cGNzX2NvbmZpZ18yNTAw YmFzZXgoKSwgaXMgbm90IGluIHRoZSBsaXN0IGFuZCB0aGVyZWZvcmUgZ29lcyB0byB0aGUKcGVy LXBvcnQgTU1ELiAgRG9lcyB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbW1lbnQncyBjbGFpbSB0aGF0 IHN1Y2ggdmVuZG9yCnJlZ2lzdGVycyAicGh5c2ljYWxseSBsaXZlIG9ubHkgaW4gTUlJIj8KClsg Li4uIF0KCj4gKwkvKgo+ICsJICogRXN0YWJsaXNoIHRoZSBkZXZpY2UgbGluayBiZWZvcmUgcmVh ZGluZyB0aGUgc3VwcGxpZXIncyBkcnZkYXRhLgo+ICsJICogZGV2aWNlX2xpbmtfYWRkKCkgZG9l cyBub3QgZmFpbCBvbiBhIHN1cHBsaWVyIHRoYXQgaXMgdW5iaW5kaW5nOgo+ICsJICogaXQgY3Jl YXRlcyB0aGUgbGluayBpbiBETF9TVEFURV9TVVBQTElFUl9VTkJJTkQuIFdoZXRoZXIgdGhlIGxp bmsKPiArCSAqIGFjdHVhbGx5IHByb3RlY3RzIHRoZSBkcnZkYXRhIGRlcGVuZHMgb24gdGhlIHN1 cHBsaWVyJ3Mgc3RhdGUgYXQKPiArCSAqIGNyZWF0aW9uIHRpbWUuCj4gKwkgKgo+ICsJICogQ2hl Y2sgbGluay0+c3VwcGxpZXItPmxpbmtzLnN0YXR1cyByaWdodCBhZnRlciBjcmVhdGlvbi4gSWYg dGhlCj4gKwkgKiBzdXBwbGllciB3YXMgRExfREVWX0RSSVZFUl9CT1VORCwgdGhlIGxpbmsgaXMg aW4KPiArCSAqIERMX1NUQVRFX0NPTlNVTUVSX1BST0JFIGFuZCBkZXZpY2VfbGlua3NfdW5iaW5k X2NvbnN1bWVycygpIHdpbGwKPiArCSAqIHdhaXQgZm9yIHRoaXMgcHJvYmUgdG8gZmluaXNoIGJl Zm9yZSB1bmJpbmRpbmcgdGhlIHN1cHBsaWVyLCBzbwo+ICsJICogdGhlIGRydmRhdGEgc3RheXMg dmFsaWQgZm9yIHRoZSByZXN0IG9mIHRoZSBmdW5jdGlvbi4gQW55IG90aGVyCj4gKwkgKiBzdGF0 ZSBtZWFucyB0aGUgc3VwcGxpZXIgaXMgbm90IHVzYWJsZSB5ZXQ7IGRlZmVyIGFuZCByZXRyeS4K PiArCSAqCj4gKwkgKiBUaGUgbGluayBpcyByZWxlYXNlZCBhdXRvbWF0aWNhbGx5IHdoZW4gdGhl IGNvbnN1bWVyIGRldmljZSBpcwo+ICsJICogZGVzdHJveWVkIChETF9GTEFHX0FVVE9SRU1PVkVf Q09OU1VNRVIpLCBzbyBubyBleHBsaWNpdAo+ICsJICogZGV2aWNlX2xpbmtfcmVtb3ZlKCkgaXMg bmVlZGVkIG9uIHRoZSBmYWlsdXJlIHBhdGhzLgo+ICsJICovCgpbU2V2ZXJpdHk6IExvd10KVHdv IGRldGFpbHMgaW4gdGhpcyBjb21tZW50IGluIHhwY3NfcmtfY3JlYXRlKCkgbG9vayBpbmFjY3Vy YXRlLgoKaW5jbHVkZS9saW51eC9kZXZpY2UuaCBkZXNjcmliZXMgdGhlIGZsYWcgYXM6CgoJLyog UmVtb3ZlIHRoZSBsaW5rIGF1dG9tYXRpY2FsbHkgb24gY29uc3VtZXIgZHJpdmVyIHVuYmluZC4g Ki8KCnNvIGlzICJyZWxlYXNlZCBhdXRvbWF0aWNhbGx5IHdoZW4gdGhlIGNvbnN1bWVyIGRldmlj ZSBpcyBkZXN0cm95ZWQiIHRoZQpyaWdodCB3b3JkaW5nPyAgVGhlIGNvcmUgZHJvcHMgc3VjaCBs aW5rcyBmcm9tIF9fZGV2aWNlX2xpbmtzX25vX2RyaXZlcigpIG9uCmNvbnN1bWVyIHByb2JlIGZh aWx1cmUgb3IgZHJpdmVyIHVuYmluZCwgbm90IGF0IGRldmljZSBkZXN0cnVjdGlvbi4KClRoZSBj bGFpbSB0aGF0IGEgRExfREVWX0RSSVZFUl9CT1VORCBzdXBwbGllciBpbXBsaWVzIERMX1NUQVRF X0NPTlNVTUVSX1BST0JFCm9ubHkgaG9sZHMgd2hpbGUgdGhlIGNvbnN1bWVyIGlzIERMX0RFVl9Q Uk9CSU5HOgoKZHJpdmVycy9iYXNlL2NvcmUuYzpkZXZpY2VfbGlua19pbml0X3N0YXR1cygpIHsK CWNhc2UgRExfREVWX0RSSVZFUl9CT1VORDoKCQlzd2l0Y2ggKGNvbnN1bWVyLT5saW5rcy5zdGF0 dXMpIHsKCQljYXNlIERMX0RFVl9QUk9CSU5HOgoJCQlsaW5rLT5zdGF0dXMgPSBETF9TVEFURV9D T05TVU1FUl9QUk9CRTsKCS4uLgp9CgpBbiBhbHJlYWR5LWJvdW5kIGNvbnN1bWVyIGdldHMgRExf U1RBVEVfQUNUSVZFIGFuZCBhbnl0aGluZyBlbHNlIGdldHMKRExfU1RBVEVfQVZBSUxBQkxFLiAg Q291bGQgdGhlIGNvbW1lbnQgKG9yIHRoZSBrZXJuZWwtZG9jIG9mIHRoZSBleHBvcnRlZApoZWxw ZXIpIHN0YXRlIHRoYXQgeHBjc19ya19jcmVhdGUoKSBtdXN0IGJlIGNhbGxlZCBmcm9tIHRoZSBj b25zdW1lcidzIHByb2JlPwoKPiArCWxpbmsgPSBkZXZpY2VfbGlua19hZGQoZGV2LCAmcGRldi0+ ZGV2LCBETF9GTEFHX0FVVE9SRU1PVkVfQ09OU1VNRVIpOwo+ICsJaWYgKCFsaW5rKSB7Cj4gKwkJ cHV0X2RldmljZSgmcGRldi0+ZGV2KTsKPiArCQlyZXR1cm4gRVJSX1BUUigtRVBST0JFX0RFRkVS KTsKPiArCX0KPiArCj4gKwlpZiAoUkVBRF9PTkNFKGxpbmstPnN1cHBsaWVyLT5saW5rcy5zdGF0 dXMpICE9IERMX0RFVl9EUklWRVJfQk9VTkQpIHsKPiArCQlwdXRfZGV2aWNlKCZwZGV2LT5kZXYp Owo+ICsJCXJldHVybiBFUlJfUFRSKC1FUFJPQkVfREVGRVIpOwo+ICsJfQoKW1NldmVyaXR5OiBN ZWRpdW1dCklzIGl0IHZhbGlkIHRvIGRlcmVmZXJlbmNlIHRoZSBwb2ludGVyIHJldHVybmVkIGJ5 IGRldmljZV9saW5rX2FkZCgpIGhlcmU/CkRMX0ZMQUdfU1RBVEVMRVNTIGlzIG5vdCBwYXNzZWQs IHNvIHRoaXMgaXMgYSBtYW5hZ2VkIGxpbmssIGFuZCB0aGUKa2VybmVsLWRvYyBhYm92ZSBkZXZp Y2VfbGlua19hZGQoKSBzYXlzOgoKICogSWYgdGhhdCBmbGFnIGlzIG5vdCBzZXQsIGhvd2V2ZXIs IHRoZSBjYWxsZXIgb2YgdGhpcyBmdW5jdGlvbiBpcyBoYW5kaW5nIHRoZQogKiBtYW5hZ2VtZW50 IG9mIHRoZSBsaW5rIG92ZXIgdG8gdGhlIGRyaXZlciBjb3JlIGVudGlyZWx5IGFuZCBpdHMgcmV0 dXJuIHZhbHVlCiAqIGNhbiBvbmx5IGJlIHVzZWQgdG8gY2hlY2sgd2hldGhlciBvciBub3QgdGhl IGxpbmsgaXMgcHJlc2VudC4KCk5vIGtyZWYgaXMgdGFrZW4gZm9yIG1hbmFnZWQgbGlua3MgKGty ZWZfZ2V0KCkgb25seSBoYXBwZW5zIG9uIHRoZSBzdGF0ZWxlc3MKcGF0aCksIHNvIHRoZSBjYWxs ZXIgb3ducyBubyByZWZlcmVuY2Ugb24gdGhlIGxpbmsgb2JqZWN0LCB3aGljaCB0aGUgY29yZSBj YW4KZnJlZSBmcm9tIGRldmljZV9saW5rX2Ryb3BfbWFuYWdlZCgpIC0+IGtyZWZfcHV0KCZsaW5r LT5rcmVmLApfX2RldmljZV9saW5rX2RlbCkgb3IgZnJvbSBkZXZpY2VfZGVsKCkgLT4gZGV2aWNl X2xpbmtzX3B1cmdlKCkuCgpTaW5jZSBsaW5rLT5zdXBwbGllciBpcyBqdXN0ICZwZGV2LT5kZXYs IGFuZCB0aGlzIGZ1bmN0aW9uIGFscmVhZHkgaG9sZHMgYQpyZWZlcmVuY2Ugb24gcGRldiBmcm9t IG9mX2ZpbmRfZGV2aWNlX2J5X25vZGUoKSwgd291bGQgcmVhZGluZwpwZGV2LT5kZXYubGlua3Mu c3RhdHVzIGluc3RlYWQgZ2l2ZSB0aGUgc2FtZSByZXN1bHQgd2l0aG91dCB0b3VjaGluZyB0aGUK bGluayBvYmplY3Q/Cgo+ICsJcHhwY3MgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKPiAr CWlmICghcHhwY3MgfHwgIXB4cGNzLT5idXMpIHsKPiArCQlwdXRfZGV2aWNlKCZwZGV2LT5kZXYp Owo+ICsJCXJldHVybiBFUlJfUFRSKC1FUFJPQkVfREVGRVIpOwo+ICsJfQo+ICsKPiArCXhwY3Mg PSB4cGNzX2NyZWF0ZV9tZGlvZGV2KHB4cGNzLT5idXMsIChpbnQpcG9ydCk7CgpbU2V2ZXJpdHk6 IE1lZGl1bV0KVGhpcyBpcyBhIGNoZWNrIG9uIGEgZHJpdmVyLWNvcmUtaW50ZXJuYWwgZmllbGQg KGxpbmtzLnN0YXR1cykgZm9sbG93ZWQgYnkKdXNlIG9mIHRoZSBzdXBwbGllcidzIGRldm0tb3du ZWQgZGF0YSAocHhwY3MtPmJ1cywgcHhwY3MtPmVlZV9tdWx0X2ZhY3QpIGFuZApyZWdpc3RyYXRp b24gb2YgYW4gTURJTyBkZXZpY2Ugb24gdGhhdCBidXMuCgpGb3IgdGhlIGluLXRyZWUgY2FsbGVy IHRoZSB3aW5kb3cgZG9lcyBsb29rIGNsb3NlZDogcmtfcGNzX2luaXQoKSBydW5zIGZyb20Kc3Rt bWFjX3Bjc19zZXR1cCgpIGluIF9fc3RtbWFjX2R2cl9wcm9iZSgpLCBzbyB0aGUgY29uc3VtZXIg aXMgRExfREVWX1BST0JJTkcKYW5kIHRoZSBuZXcgbGluayBpcyBETF9TVEFURV9DT05TVU1FUl9Q Uk9CRSwgd2hpY2ggbWFrZXMgdGhlIHN1cHBsaWVyIHdhaXQ6Cgpkcml2ZXJzL2Jhc2UvY29yZS5j OmRldmljZV9saW5rc191bmJpbmRfY29uc3VtZXJzKCkgewoJaWYgKHN0YXR1cyA9PSBETF9TVEFU RV9DT05TVU1FUl9QUk9CRSkgewoJCWRldmljZV9saW5rc193cml0ZV91bmxvY2soKTsKCgkJd2Fp dF9mb3JfZGV2aWNlX3Byb2JlKCk7CgkJZ290byBzdGFydDsKCX0KfQoKQnV0IHhwY3NfcmtfY3Jl YXRlKCkgaXMgZXhwb3J0ZWQgYW5kIGRvZXMgbm90IGRvY3VtZW50IHRoYXQgcHJlY29uZGl0aW9u LgpGb3IgYSBjYWxsZXIgb3V0c2lkZSB0aGUgY29uc3VtZXIncyBwcm9iZSB0aGUgbGluayB3b3Vs ZCBiZQpETF9TVEFURV9BVkFJTEFCTEUgb3IgRExfU1RBVEVfQUNUSVZFLCBub3RoaW5nIHdvdWxk IHdhaXQgZm9yIGl0LCBhbmQgdGhlCnN1cHBsaWVyJ3MgZGV2cmVzIGNvdWxkIGJlIHJlbGVhc2Vk IHdoaWxlIHB4cGNzLT5idXMgaXMgaW4gdXNlLiAgQWxzbyBub3RlCnRoYXQgeHBjc19ya19jcmVh dGVfZGF0YSgpIHB1Ymxpc2hlcyBkcnZkYXRhIGJlZm9yZSBidXMgYW5kIGVlZV9tdWx0X2ZhY3QK ZXhpc3Q6CgoJcHhwY3MtPnBkZXYgPSBwZGV2OwoKCWRldl9zZXRfZHJ2ZGF0YSgmcGRldi0+ZGV2 LCBweHBjcyk7CgpzbyB0aGUgcmVhZCBoZXJlIHJlbGllcyBlbnRpcmVseSBvbiB0aGUgc3VwcGxp ZXIgYmVpbmcgZnVsbHkgYm91bmQuICBXb3VsZAppdCBiZSBwcmVmZXJhYmxlIHRvIGRvY3VtZW50 IHRoZSBwcm9iZS1jb250ZXh0IHJlcXVpcmVtZW50LCBvciB0byBhdm9pZAppbnNwZWN0aW5nIGxp bmtzLnN0YXR1cyBmcm9tIGEgZHJpdmVyIGFsdG9nZXRoZXI/Cgo+ICtFWFBPUlRfU1lNQk9MX0dQ TCh4cGNzX3JrX2NyZWF0ZSk7CgpbU2V2ZXJpdHk6IExvd10KQXQgdGhpcyBjb21taXQgeHBjc19y a19jcmVhdGUoKSBoYXMgbm8gaW4tdHJlZSBjYWxsZXIsIGFuZCB0aGUgbmV3IGhlYWRlcgppbmNs dWRlL2xpbnV4L3Bjcy9wY3MteHBjcy1yay5oIGRlY2xhcmVzIGl0IHdpdGhvdXQgYQohQ09ORklH X1BDU19YUENTX1JPQ0tDSElQIHN0dWIuICBUaGUgY2FsbGVyIGRvZXMgYXJyaXZlIGxhdGVyIGlu IHRoZSBzYW1lCnNlcmllcyAocmtfcGNzX2luaXQoKSBpbiBkcml2ZXJzL25ldC9ldGhlcm5ldC9z dG1pY3JvL3N0bW1hYy9kd21hYy1yay5jCmNhbGxzIGl0IGFuZCBpcyBpbnN0YWxsZWQgYXMgcGxh dF9kYXQtPnBjc19pbml0IGZvcgpQSFlfSU5URVJGQUNFX01PREVfU0dNSUkpLCBhbmQgRFdNQUNf Uk9DS0NISVAgZG9lcyAic2VsZWN0ClBDU19YUENTX1JPQ0tDSElQIiwgd2hpY2ggZm9yY2VzIHRo ZSB0cmlzdGF0ZSB0byBhdCBsZWFzdCB0aGUgc2VsZWN0b3Incwp2YWx1ZSwgc28gdGhlcmUgaXMg bm8geS9tIGxpbmsgbWlzbWF0Y2ggZWl0aGVyLiAgTm90aW5nIGl0IG9ubHkgYmVjYXVzZSB0aGUK c3ltYm9sIGlzIHVudXNlZCBhdCB0aGlzIHBvaW50IGluIHRoZSBzZXJpZXMuCgpbIC4uLiBdCgo+ ICtzdGF0aWMgaW50IHhwY3Nfcmtfc3lzdGVtX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+ ICt7Cj4gKwkvKgo+ICsJICogS2VlcCB0aGUgUERfUElQRSBwb3dlciBkb21haW4gb24gZHVyaW5n IHN5c3RlbSBzdXNwZW5kLgo+ICsJICoKPiArCSAqIFBEX1BJUEUgaXMgc2hhcmVkIHdpdGggU0FU QS9QQ0llIGFuZCB3b3VsZCBiZSBwb3dlcmVkIGRvd24gYnkKPiArCSAqIGdlbnBkIG9uY2UgYWxs IGl0cyBjb25zdW1lcnMgYXJlIHN1c3BlbmRlZCwga2lsbGluZyB0aGUgU2VyRGVzCj4gKwkgKiBh bmQgYnJlYWtpbmcgTUFDIFdvTC4gIE1hcmsgdGhlIFhQQ1MgYXMgcGFydCBvZiB0aGUgd2FrZXVw IHBhdGgKPiArCSAqIHNvIGdlbnBkIGtlZXBzIHRoZSBkb21haW4gb24uICBVbmNvbmRpdGlvbmFs IGJlY2F1c2UgdGhlIFhQQ1MKPiArCSAqIGNvcmUgaGFzIG5vIGNhbGxiYWNrIHRvIGNvbnZleSB0 aGUgTUFDIFdvTCBzdGF0ZS4KPiArCSAqLwo+ICsJZGV2aWNlX3NldF93YWtldXBfcGF0aChkZXYp Owo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgeHBjc19ya19zeXN0ZW1fcmVz dW1lKHN0cnVjdCBkZXZpY2UgKmRldikKPiArewo+ICsJcmV0dXJuIDA7Cj4gK30KCltTZXZlcml0 eTogSGlnaF0KRG9lcyBkZXZpY2Vfc2V0X3dha2V1cF9wYXRoKCkgYWN0dWFsbHkga2VlcCBQRF9Q SVBFIHBvd2VyZWQgb24gUkszNTY4PyAgVGhlCmNvbW1pdCBtZXNzYWdlIHN0YXRlczoKCglnZW5w ZCB0aGVuIGxlYXZlcyB0aGUgZG9tYWluIHBvd2VyZWQsIGJlY2F1c2UgdGhlIFJvY2tjaGlwIHBv d2VyCglkb21haW4gZHJpdmVyIHNldHMgR0VOUERfRkxBR19BQ1RJVkVfV0FLRVVQIG9uIFBEX1BJ UEUsIHdoaWNoIG1ha2VzCglnZW5wZCBjaGVjayB0aGUgd2FrZXVwIHBhdGggb2YgaXRzIGNvbnN1 bWVycyBkdXJpbmcgc3lzdGVtIHN1c3BlbmQuCgpQRF9QSVBFIGlzIHJlZ2lzdGVyZWQgd2l0aG91 dCBhY3RpdmUgd2FrZXVwIGluCmRyaXZlcnMvcG1kb21haW4vcm9ja2NoaXAvcG0tZG9tYWlucy5j OgoKCVtSSzM1NjhfUERfUElQRV0JPSBET01BSU5fUkszNTY4KCJwaXBlIiwgQklUKDgpLCBCSVQo MTEpLCBmYWxzZSwgZmFsc2UpLAoKVGhlIGxhc3QgYXJndW1lbnQgaXMgdGhlIHdha2V1cCBmbGFn LCBzbyBwZF9pbmZvLT5hY3RpdmVfd2FrZXVwIHN0YXlzIGZhbHNlCmFuZCBHRU5QRF9GTEFHX0FD VElWRV9XQUtFVVAgaXMgbmV2ZXIgc2V0IGZvciB0aGlzIGRvbWFpbi4gIGdlbnBkIG9ubHkKaG9u b3VycyB0aGUgY29uc3VtZXIgd2FrZXVwIHBhdGggd2hlbiB0aGF0IGZsYWcgaXMgcHJlc2VudDoK CmRyaXZlcnMvcG1kb21haW4vY29yZS5jOmdlbnBkX2ZpbmlzaF9zdXNwZW5kKCkgewoJaWYgKGRl dmljZV9hd2FrZV9wYXRoKGRldikgJiYgZ2VucGRfaXNfYWN0aXZlX3dha2V1cChnZW5wZCkgJiYK CSAgICAhZGV2aWNlX291dF9iYW5kX3dha2V1cChkZXYpKQoJCXJldHVybiAwOwp9CgpXaXRob3V0 IHRoZSBmbGFnLCBkb2VzIGdlbnBkIGZhbGwgdGhyb3VnaCB0byBnZW5wZF9zeW5jX3Bvd2VyX29m ZigpIGFuZCBwb3dlcgpQRF9QSVBFIGRvd24sIHdoaWNoIGlzIGV4YWN0bHkgdGhlIHNpdHVhdGlv biB0aGUgcHJvYmUgY29tbWVudCB3YXJucyBhYm91dAooIlRoZSBkb21haW4gbXVzdCBiZSBwb3dl cmVkIG9uIGJlZm9yZSBhbnkgcmVnaXN0ZXIgYWNjZXNzLCBvdGhlcndpc2UgdGhlIFNvQwp3aWxs IHRyaWdnZXIgYSBzeW5jaHJvbm91cyBleHRlcm5hbCBhYm9ydCIpPwoKZGV2X3BtX2dlbnBkX3Jw bV9hbHdheXNfb24oKSBkb2VzIG5vdCBhcHBlYXIgdG8gY292ZXIgdGhlIHN5c3RlbS1zdXNwZW5k IHBhdGgKZWl0aGVyOyBnZW5wZF9zeW5jX3Bvd2VyX29mZigpIG9ubHkgY29uc3VsdHMgR0VOUERf RkxBR19BTFdBWVNfT046Cgpkcml2ZXJzL3BtZG9tYWluL2NvcmUuYzpnZW5wZF9zeW5jX3Bvd2Vy X29mZigpIHsKCWlmICghZ2VucGRfc3RhdHVzX29uKGdlbnBkKSB8fCBnZW5wZF9pc19hbHdheXNf b24oZ2VucGQpKQoJCXJldHVybjsKfQoKSWYgdGhlIGRvbWFpbiBpcyBwb3dlci1jeWNsZWQsIHdo YXQgcmVzdG9yZXMgdGhlIGhhcmR3YXJlIG9uIHRoZSB3YXkgYmFjayB1cD8KcGh5X2luaXQoKSBh bmQgcGh5X3Bvd2VyX29uKCkgYXJlIGNhbGxlZCBvbmNlIGZyb20geHBjc19ya19wcm9iZSgpIHZp YQp4cGNzX3JrX3NlcmRlc19waHlfcG93ZXJvbigpLCB4cGNzX3JrX3N5c3RlbV9yZXN1bWUoKSBy ZXR1cm5zIDAgd2l0aG91dApyZS1pbml0aWFsaXNpbmcgdGhlIFNlckRlcyBvciB0aGUgUENTLCBh bmQKZHJpdmVycy9waHkvcm9ja2NoaXAvcGh5LXJvY2tjaGlwLW5hbmVuZy1jb21icGh5LmMgaGFz IG5vIGRldl9wbV9vcHMgYXQgYWxsLgpEb2VzIHRoYXQgbGVhdmUgdGhlIGNvbWJwaHkgYW5kIFhQ Q1MgYXQgcG93ZXItb24tcmVzZXQgZGVmYXVsdHMgKG5vIFNlckRlcwpjb25maWd1cmF0aW9uLCBu byBTZXJEZXMgVFggY2xvY2spIGFmdGVyIHJlc3VtZSB3aGlsZSB0aGUgZHJpdmVyLCB0aGUgeHBj cwpjb3JlIGFuZCBwaHlsaW5rIHN0aWxsIGFzc3VtZSB0aGUgcHJvZ3JhbW1lZCBjb25maWd1cmF0 aW9uIGlzIGxpdmUsIGFuZCBNQUMKV29MLCB0aGUgc3RhdGVkIHJlYXNvbiBmb3IgdGhlIG1lY2hh bmlzbSwgbm9uLWZ1bmN0aW9uYWw/CgotLSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9u ZXRkZXYtYWkuYm90cy5saW51eC5kZXYvc2FzaGlrby8jL3BhdGNoc2V0LzIwMjYwOTIyMjAwMzM2 LjIyMDEyMTItMS1jb2lhcHJhbnQlNDBnbWFpbC5jb20KCi0tIApsaW51eC1waHkgbWFpbGluZyBs aXN0CmxpbnV4LXBoeUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXBoeQo=