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 83890C43458 for ; Tue, 14 Jul 2026 11:14:37 +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=PTiqo0GKhoOIzmJYwvHYFjtrN3X01H1YMfjpPTTWSNM=; b=2b2RxsY68hHKWe A4SyDmi/IZ7LgSpf5fwBx0rerJ28Vhp762tEa2flDa2p365NPFGHJfRxTpE/X2vJdGmGNGa0LnXjs FKjoDWUJS5daQCh12bViOGHUtsNwJm5T4JBfWMVFqeYaiUcVePgU1ZfwUpMxEH1xZviHawSS858fQ aDc/zCP2XaB7+oh1AlYgEKNOtCuSjZtPqrVzAlUA7FQtqSSSdmMR4lyMbF2ZKPTAMmbrOV/HtU3MX twyE5gzkUB0mwdoJhlIu7lItTDmmCYNrDH2mjCSbaj+Dg1cVIoIeU1ZtIheOB7Bszk4pAiky3ckF+ xwnDxs3SgRUOf+g2u/7w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wjb5w-0000000BebB-0Vua; Tue, 14 Jul 2026 11:14:36 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wjb5v-0000000Beb4-1SFH for linux-i3c@lists.infradead.org; Tue, 14 Jul 2026 11:14:35 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 73BBF60120; Tue, 14 Jul 2026 11:14:34 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C33891F000E9; Tue, 14 Jul 2026 11:14:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784027674; bh=nBMBZk/qqZXEz8kQDgWMRRZhqCt2GlX/dZfpUwL++CA=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=CO2uXR0qmy3m2ys/euVa9r/aYAUqVQy6req3SGNhpPWZWCbyXctqCiw6G3VLzRSRN TLZmvJ5Gnhv5AssQmIrTZ/2b2sNiQIkzGh1vnJn7dIIHyBK5afyX2DX9fqSgmH5Pks 3wh336pdUPc/H9guUTwXzVnT/wrCD9verHl+xGCWlRCqTK2cAU45LCXa/PaOTBR+uW qTy/UzsjnjeaBZ2xkG+EUcosdQt2rjdDNR2m43Tf5z0hTSjOGrm6zz7AJ38TYTtUgD KznepsQ71/XdqDDow8Py3we5iF9cS8muhkCYks9p2e22J7T9xk48JvJIOgRRTSsiWc SkdM2xhVwVNDQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v14 6/8] i3c: hub: Add support for the I3C interface in the I3C hub To: "Lakshay Piplani" Cc: linux-i3c@lists.infradead.org, "Alexandre Belloni" , conor+dt@kernel.org, Frank.Li@kernel.org, devicetree@vger.kernel.org, robh@kernel.org In-Reply-To: <20260714092053.2461482-7-lakshay.piplani@nxp.com> References: <20260714092053.2461482-1-lakshay.piplani@nxp.com> <20260714092053.2461482-7-lakshay.piplani@nxp.com> Date: Tue, 14 Jul 2026 11:14:32 +0000 Message-Id: <20260714111433.C33891F000E9@smtp.kernel.org> X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: 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-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg OCBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIFRlbXBvcmFyeSBodWIg YWRkcmVzcyBzd2FwcGluZyBpbiBgaTNjX2h1Yl9tYXN0ZXJfcHJpdl94ZmVyc2AgcGVybWFuZW50 bHkgZnJlZXMgZG93bnN0cmVhbSBhZGRyZXNzIHNsb3RzLgotIFtIaWdoXSBEZXRhY2hpbmcgdGhl IGRvd25zdHJlYW0gZGV2aWNlIGluIElCSSByZXF1ZXN0L2ZyZWUgcGF0aHMgdW5jb25kaXRpb25h bGx5IGZyZWVzIGl0cyBwYXJlbnQgYnVzIGFkZHJlc3Mgc2xvdHMuCi0gW0hpZ2hdIEZvcndhcmRp bmcgREFBIGRpcmVjdGx5IHRvIHRoZSBwYXJlbnQgY29udHJvbGxlciBhdHRhY2hlcyBkb3duc3Ry ZWFtIGRldmljZXMgdG8gdGhlIHdyb25nIGJ1cyB0b3BvbG9neS4KLSBbSGlnaF0gVGhlIG5vLW9w IGByZWN5Y2xlX2liaV9zbG90YCBjYWxsYmFjayBwZXJtYW5lbnRseSBsZWFrcyBoYXJkd2FyZSBJ Qkkgc2xvdHMgYWxsb2NhdGVkIGJ5IHRoZSBwYXJlbnQgY29udHJvbGxlci4KLSBbSGlnaF0gYGkz Y19odWJfcmVxdWVzdF9pYmkoKWAgZmFpbHMgd2l0aCBgLUVCVVNZYCBkdWUgdG8gY29uZmxpY3Rp bmcgYWRkcmVzcyByZXNlcnZhdGlvbnMgb3IgY29ycnVwdHMgcGFyZW50IERBVC4KLSBbSGlnaF0g UmVjdXJzaXZlIGxvY2sgYWNxdWlzaXRpb24gb2YgYGh1Yi0+bG9ja2AgY2F1c2VzIGRlYWRsb2Nr cyB3aXRoIElCSSB3b3JrcXVldWUgaGFuZGxlcnMuCi0gW0hpZ2hdIE1vZGlmeWluZyB0aGUgZGV2 aWNlIGRlc2NyaXB0b3IncyBtYXN0ZXIgcG9pbnRlciB1bmRlciBhIHNoYXJlZCByZWFkLWxvY2sg Y2F1c2VzIGRhdGEgcmFjZXMsIG1pc3JvdXRpbmcgcHJpdmF0ZSB0cmFuc2ZlcnMuCi0gW0hpZ2hd IEZvcndhcmRpbmcgZGlyZWN0IENDQyBjb21tYW5kcyB1bm1vZGlmaWVkIHRocm91Z2ggdGhlIGh1 YiBjYXVzZXMgYSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gdGhlIHBhcmVudCBkcml2ZXIu Ci0tCgotLS0gUGF0Y2ggWzZdOiBbUEFUQ0ggdjE0IDYvOF0gaTNjOiBodWI6IEFkZCBzdXBwb3J0 IGZvciB0aGUgSTNDIGludGVyZmFjZSBpbiB0aGUgSTNDIGh1YiAtLS0KY29tbWl0IDAyZTc5NDY1 M2RhZjJiNTU0ZjBjOTYyYzM1NWQwYmI3YWJiMjYzNzQKQXV0aG9yOiBMYWtzaGF5IFBpcGxhbmkg PGxha3NoYXkucGlwbGFuaUBueHAuY29tPgpTdWJqZWN0OiBpM2M6IGh1YjogQWRkIHN1cHBvcnQg Zm9yIHRoZSBJM0MgaW50ZXJmYWNlIGluIHRoZSBJM0MgaHViCgpUaGlzIGNvbW1pdCBhZGRzIHZp cnR1YWwgSTNDIGJ1cyBzdXBwb3J0IGZvciB0aGUgaHViLCBjcmVhdGluZyB2aXJ0dWFsCm1hc3Rl ciBjb250cm9sbGVycyBmb3IgZG93bnN0cmVhbSBwb3J0cyBhbmQgZm9yd2FyZGluZyBvcGVyYXRp b25zIHRocm91Z2gKdGhlIHBhcmVudCBjb250cm9sbGVyLgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9pM2MvaHViLmMgYi9kcml2ZXJzL2kzYy9odWIuYwo+IGluZGV4IDAwMDAwMDAwMDAwMDAuLjYx MDViYjcxMGJlNjkKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9pM2MvaHViLmMKWyAu Li4gXQo+ICtzdGF0aWMgaW50IGkzY19odWJfZG9fZGFhKHN0cnVjdCBpM2NfaHViICpodWIsCj4g KwkJCSAgc3RydWN0IGkzY19tYXN0ZXJfY29udHJvbGxlciAqY29udHJvbGxlcikKPiArewpbIC4u LiBdCj4gKwkvKgo+ICsJICogRG93bnN0cmVhbSBkZXZpY2VzIHJlYWNoYWJsZSB0aHJvdWdoIGh1 YiB0YXJnZXQtcG9ydCByb3V0ZXMgc2hhcmUgdGhlCj4gKwkgKiBwYXJlbnQgY29udHJvbGxlcidz IEkzQyBhZGRyZXNzIHNwYWNlLiBUaGUgaHViIGdhdGVzIGFjY2VzcyB0byBhCj4gKwkgKiB0YXJn ZXQtcG9ydCBuZXR3b3JrLCBidXQgaXQgZG9lcyBub3QgY3JlYXRlIGFuIGluZGVwZW5kZW50IGR5 bmFtaWMKPiArCSAqIGFkZHJlc3MgZG9tYWluIHBlciB2aXJ0dWFsIGJ1cy4KPiArCSAqCj4gKwkg KiBSdW4gREFBIG9uIHRoZSBwYXJlbnQgY29udHJvbGxlciBzbyBkeW5hbWljIGFkZHJlc3NlcyBy ZW1haW4gdW5pcXVlCj4gKwkgKiBhY3Jvc3MgYWxsIGRvd25zdHJlYW0gZGV2aWNlcywgZXZlbiB3 aGVuIHRoZXkgYXJlIGJlaGluZCBkaWZmZXJlbnQKPiArCSAqIHRhcmdldCBwb3J0cy4KPiArCSAq Lwo+ICsJcmV0ID0gaTNjX21hc3Rlcl9kb19kYWEocGFyZW50KTsKCltTZXZlcml0eTogSGlnaF0K RG9lcyBmb3J3YXJkaW5nIERBQSBkaXJlY3RseSB0byB0aGUgcGFyZW50IGNvbnRyb2xsZXIgYXR0 YWNoIGR5bmFtaWNhbGx5CmRpc2NvdmVyZWQgZG93bnN0cmVhbSBkZXZpY2VzIGRpcmVjdGx5IHRv IHRoZSBwYXJlbnQgYnVzIGluc3RlYWQgb2YgdGhlCnZpcnR1YWwgaHViIGNvbnRyb2xsZXI/CgpJ ZiB0aGVzZSBkZXZpY2VzIGFyZSBib3VuZCB0byB0aGUgcGh5c2ljYWwgcGFyZW50LCBzdWJzZXF1 ZW50IHRyYW5zZmVycyAKbWlnaHQgYnlwYXNzIGkzY19odWJfbWFzdGVyX3ByaXZfeGZlcnMoKSBl bnRpcmVseSwgbGVhdmluZyB0aGUgaHViIHBvcnQgCmNsb3NlZCBhbmQgY2F1c2luZyBjb21tdW5p Y2F0aW9uIHRvIGZhaWwuCgpbIC4uLiBdCj4gK3N0YXRpYyBpbnQgaTNjX2h1Yl9zZW5kX2NjY19j bWQoc3RydWN0IGkzY19odWIgKmh1YiwKPiArCQkJCXN0cnVjdCBpM2NfbWFzdGVyX2NvbnRyb2xs ZXIgKmNvbnRyb2xsZXIsCj4gKwkJCQlzdHJ1Y3QgaTNjX2NjY19jbWQgKmNtZCkKPiArewpbIC4u LiBdCj4gKwltdXRleF9sb2NrKCZodWItPmxvY2spOwo+ICsJaTNjX2h1Yl9lbmFibGVfcG9ydChj b250cm9sbGVyKTsKPiArCXJldCA9IGkzY19tYXN0ZXJfc2VuZF9jY2NfY21kKHBhcmVudCwgY21k KTsKCltTZXZlcml0eTogSGlnaF0KV2hlbiBmb3J3YXJkaW5nIGRpcmVjdCBDQ0MgY29tbWFuZHMg dG8gdGhlIHBhcmVudCBjb250cm9sbGVyLCB0aGUgY29tbWFuZCAKc3RydWN0dXJlIHN0aWxsIGNv bnRhaW5zIHZpcnR1YWwgYnVzIGRlc2NyaXB0b3JzIGluIGl0cyBkZXN0cyBhcnJheS4gCgpTaW5j ZSB2aXJ0dWFsIGRldmljZXMgZG8gbm90IGFsbG9jYXRlIGEgcGh5c2ljYWwgbWFzdGVyX3ByaXYg Y29udGV4dCwgY2FuIAp0aGUgcGh5c2ljYWwgcGFyZW50IGNvbnRyb2xsZXIgZHJpdmVyIGRlcmVm ZXJlbmNlIGEgTlVMTCBwb2ludGVyIGhlcmUgd2hlbiAKaXQgYXNzdW1lcyB0aGVzZSBkZXZpY2Vz IGFyZSBuYXRpdmVseSBhdHRhY2hlZD8KCj4gKwlpM2NfaHViX2Rpc2FibGVfcG9ydChjb250cm9s bGVyKTsKPiArCW11dGV4X3VubG9jaygmaHViLT5sb2NrKTsKPiArCj4gKwlyZXR1cm4gcmV0Owo+ ICt9ClsgLi4uIF0KPiArc3RhdGljIGludCBpM2NfaHViX21hc3Rlcl9wcml2X3hmZXJzKHN0cnVj dCBpM2NfZGV2X2Rlc2MgKmRldiwKPiArCQkJCSAgICAgc3RydWN0IGkzY194ZmVyICp4ZmVycywK PiArCQkJCSAgICAgaW50IG54ZmVycywKPiArCQkJCSAgICAgZW51bSBpM2NfeGZlcl9tb2RlIG1v ZGUpCj4gK3sKWyAuLi4gXQo+ICsJaWYgKGh1Yl9hZGRyICE9IHRhcmdldF9hZGRyKSB7Cj4gKwkJ aHViX2Rldi0+aW5mby5keW5fYWRkciA9IHRhcmdldF9hZGRyOwo+ICsKPiArCQlyZXQgPSBpM2Nf bWFzdGVyX3JlYXR0YWNoX2kzY19kZXZfbG9ja2VkKGh1Yl9kZXYsIGh1Yl9hZGRyKTsKCltTZXZl cml0eTogSGlnaF0KV2hlbiB0aGUgaHViIGFkZHJlc3MgaXMgdGVtcG9yYXJpbHkgc3dhcHBlZCBo ZXJlLCBkb2VzIAppM2NfbWFzdGVyX3JlYXR0YWNoX2kzY19kZXZfbG9ja2VkKCkgdW5jb25kaXRp b25hbGx5IG1hcmsgdGhlIG9yaWdpbmFsIAphZGRyZXNzIChvbGRfZHluX2FkZHIpIGFzIGZyZWU/ CgpUaGlzIGFwcGVhcnMgdG8gcGVybWFuZW50bHkgZnJlZSBkb3duc3RyZWFtIGFkZHJlc3Mgc2xv dHMgYW5kIGNvdWxkIGxlYWQgCnRvIGFkZHJlc3MgY29sbGlzaW9ucyBvbiB0aGUgcGFyZW50IGJ1 cy4KCj4gKwkJaWYgKHJldCkgewo+ICsJCQlodWJfZGV2LT5pbmZvLmR5bl9hZGRyID0gaHViX2Fk ZHI7Cj4gKwkJCWdvdG8gb3V0X3VubG9ja19wYXJlbnQ7Cj4gKwkJfQo+ICsJfQpbIC4uLiBdCj4g K3N0YXRpYyBpbnQgaTNjX2h1Yl9yZXF1ZXN0X2liaShzdHJ1Y3QgaTNjX2Rldl9kZXNjICpkZXNj LAo+ICsJCQkgICAgICAgY29uc3Qgc3RydWN0IGkzY19pYmlfc2V0dXAgKnJlcSkKPiArewpbIC4u LiBdCj4gKwlpM2NfYnVzX21haW50ZW5hbmNlX2xvY2soJnBhcmVudC0+YnVzKTsKPiArCj4gKwlv cmlnX3BhcmVudCA9IGkzY19odWJfdXBkYXRlX2Rlc2NfcGFyZW50KCZkZXNjLT5jb21tb24sIHBh cmVudCk7CgpbU2V2ZXJpdHk6IEhpZ2hdCklzIGl0IHNhZmUgdG8gbW9kaWZ5IGRlc2MtPm1hc3Rl ciBoZXJlIHdoaWxlIG9ubHkgaG9sZGluZyBhIHJlYWQgbG9jayAKb24gdGhlIGJ1cz8KCkEgY29u Y3VycmVudCBwcml2YXRlIHRyYW5zZmVyIG1pZ2h0IHJlYWQgZGVzYy0+bWFzdGVyIGFuZCByZXNv bHZlIGl0IHRvIAp0aGUgcGh5c2ljYWwgcGFyZW50IGNvbnRyb2xsZXIsIG1pc3JvdXRpbmcgdGhl IHRyYW5zZmVyIGFuZCBieXBhc3NpbmcgCmh1YiByb3V0aW5nIGVudGlyZWx5LgoKPiArCj4gKwkv Kgo+ICsJICogRG93bnN0cmVhbSBkZXZpY2VzIGFyZSBleHBvc2VkIHRocm91Z2ggdGhlIHZpcnR1 YWwgaHViIGNvbnRyb2xsZXIuCj4gKwkgKiBQcml2YXRlIHRyYW5zZmVycyBvbmx5IHVzZSB0aGUg aHViIGRldmljZSB0ZW1wb3JhcmlseSB3aXRoIHRoZQo+ICsJICogZG93bnN0cmVhbSBkZXZpY2Un cyBkeW5hbWljIGFkZHJlc3M7IHRoZXkgZG8gbm90IGF0dGFjaCB0aGUgZG93bnN0cmVhbQo+ICsJ ICogZGV2aWNlIHRvIHRoZSBwYXJlbnQgY29udHJvbGxlci4KPiArCSAqCj4gKwkgKiBBdHRhY2gg dGhlIGRldmljZSB0byB0aGUgcGFyZW50IGNvbnRyb2xsZXIgYmVmb3JlIHJlcXVlc3RpbmcgSUJJ IHNvCj4gKwkgKiB0aGUgcGFyZW50IGNhbiBhbGxvY2F0ZSBhbnkgY29udHJvbGxlci1wcml2YXRl IElCSSBzdGF0ZS4KPiArCSAqLwo+ICsJcmV0ID0gaTNjX21hc3Rlcl9kaXJlY3RfYXR0YWNoX2kz Y19kZXZfbG9ja2VkKHBhcmVudCwgZGVzYyk7CgpbU2V2ZXJpdHk6IEhpZ2hdCkNvdWxkIGF0dGFj aGluZyB0aGUgZG93bnN0cmVhbSBkZXZpY2UgZGlyZWN0bHkgdG8gdGhlIHBhcmVudCBjb250cm9s bGVyIApmYWlsIHdpdGggLUVCVVNZIGlmIHRoZSBhZGRyZXNzIHdhcyBhbHJlYWR5IHJlc2VydmVk PyAKCkFkZGl0aW9uYWxseSwgaWYgaXQgc3VjY2VlZHMsIG1pZ2h0IHRoaXMgbGVhdmUgZHVwbGlj YXRlIERBVCBlbnRyaWVzIGluIAp0aGUgcGFyZW50IGhhcmR3YXJlIHdoZW4gdGhlIGh1YiBsYXRl ciBtYXNxdWVyYWRlcyBhcyB0aGlzIHRhcmdldCBhZGRyZXNzPwoKPiArCWlmIChyZXQpIHsKPiAr CQlpM2NfaHViX3VwZGF0ZV9kZXNjX3BhcmVudCgmZGVzYy0+Y29tbW9uLCBvcmlnX3BhcmVudCk7 Cj4gKwkJaTNjX2J1c19tYWludGVuYW5jZV91bmxvY2soJnBhcmVudC0+YnVzKTsKPiArCQlyZXR1 cm4gcmV0Owo+ICsJfQo+ICsKPiArCWlmIChkZXNjLT5pYmkpIHsKPiArCQlpZiAoZGVzYy0+aWJp LT53cSkgewo+ICsJCQlkZXN0cm95X3dvcmtxdWV1ZShkZXNjLT5pYmktPndxKTsKPiArCQkJZGVz Yy0+aWJpLT53cSA9IE5VTEw7Cj4gKwkJfQo+ICsKPiArCQlrZnJlZShkZXNjLT5pYmkpOwo+ICsJ CWRlc2MtPmliaSA9IE5VTEw7Cj4gKwl9Cj4gKwlyZXQgPSBpM2NfZGV2X3JlcXVlc3RfaWJpX2xv Y2tlZChkZXNjLCByZXEpOwo+ICsJaWYgKHJldCkKPiArCQlpM2NfbWFzdGVyX2RpcmVjdF9kZXRh Y2hfaTNjX2Rldl9sb2NrZWQoZGVzYyk7CgpbU2V2ZXJpdHk6IEhpZ2hdCkRvZXMgZGV0YWNoaW5n IHRoZSBkb3duc3RyZWFtIGRldmljZSBoZXJlIHVuY29uZGl0aW9uYWxseSBmcmVlIGl0cyBzdGF0 aWMgCmFuZCBkeW5hbWljIGFkZHJlc3NlcyBvbiB0aGUgcGFyZW50IGJ1cz8gCgpUaGUgZGV2aWNl IGlzIHN0aWxsIHBoeXNpY2FsbHkgcHJlc2VudCBhbmQgdXNpbmcgdGhvc2UgYWRkcmVzc2VzLCBz byBmcmVlaW5nIAp0aGVtIGNvdWxkIGxlYWQgdG8gYWRkcmVzcyBjb2xsaXNpb25zLgoKPiArCj4g KwlpM2NfaHViX3VwZGF0ZV9kZXNjX3BhcmVudCgmZGVzYy0+Y29tbW9uLCBvcmlnX3BhcmVudCk7 Cj4gKwo+ICsJaTNjX2J1c19tYWludGVuYW5jZV91bmxvY2soJnBhcmVudC0+YnVzKTsKPiArCj4g KwlyZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBpM2NfaHViX2ZyZWVfaWJpKHN0 cnVjdCBpM2NfZGV2X2Rlc2MgKmRlc2MpCj4gK3sKWyAuLi4gXQo+ICsJbXV0ZXhfbG9jaygmaHVi LT5sb2NrKTsKPiArCWkzY19odWJfZW5hYmxlX3BvcnQoY29udHJvbGxlcik7Cj4gKwo+ICsJaTNj X2J1c19tYWludGVuYW5jZV9sb2NrKCZwYXJlbnQtPmJ1cyk7Cj4gKwlvcmlnX3BhcmVudCA9IGkz Y19odWJfdXBkYXRlX2Rlc2NfcGFyZW50KCZkZXNjLT5jb21tb24sIHBhcmVudCk7Cj4gKwlpM2Nf ZGV2X2ZyZWVfaWJpX2xvY2tlZChkZXNjKTsKCltTZXZlcml0eTogSGlnaF0KQ2FuIGhvbGRpbmcg aHViLT5sb2NrIGhlcmUgY2F1c2UgYSBkZWFkbG9jayBpZiB0aGVyZSBhcmUgcGVuZGluZyBJQkkg d29yayAKaGFuZGxlcnM/IAoKQ2FsbGluZyBpM2NfZGV2X2ZyZWVfaWJpX2xvY2tlZCgpIGJsb2Nr cyB3aGlsZSBkZXN0cm95aW5nIHRoZSB3b3JrcXVldWUuIApJZiBhbiBhY3RpdmUgSUJJIGhhbmRs ZXIgYXR0ZW1wdHMgdG8gcmVhZCB0aGUgSUJJIHBheWxvYWQsIGl0IHdpbGwgaW52b2tlIAppM2Nf aHViX21hc3Rlcl9wcml2X3hmZXJzKCksIHdoaWNoIGF0dGVtcHRzIHRvIGFjcXVpcmUgdGhpcyBl eGFjdCBzYW1lIGxvY2suCgo+ICsKPiArCS8qCj4gKwkgKiBEcm9wIHRoZSB0ZW1wb3JhcnkgcGFy ZW50IGF0dGFjaG1lbnQgY3JlYXRlZCBmb3IgSUJJIHNldHVwLgo+ICsJICogVGhlIGRvd25zdHJl YW0gZGV2aWNlIHJlbWFpbnMgZXhwb3NlZCB0aHJvdWdoIHRoZSB2aXJ0dWFsIGh1Ygo+ICsJICog Y29udHJvbGxlci4KPiArCSAqLwo+ICsJaTNjX21hc3Rlcl9kaXJlY3RfZGV0YWNoX2kzY19kZXZf bG9ja2VkKGRlc2MpOwoKW1NldmVyaXR5OiBIaWdoXQpEb2VzIGRldGFjaGluZyB0aGUgZGV2aWNl IG9uIHRoaXMgcGF0aCBhbHNvIGluY29ycmVjdGx5IGZyZWUgdGhlIApkb3duc3RyZWFtIGRldmlj ZSdzIGFkZHJlc3NlcyBvbiB0aGUgcGFyZW50IGJ1cz8KCj4gKwlpM2NfaHViX3VwZGF0ZV9kZXNj X3BhcmVudCgmZGVzYy0+Y29tbW9uLCBvcmlnX3BhcmVudCk7Cj4gKwlpM2NfYnVzX21haW50ZW5h bmNlX3VubG9jaygmcGFyZW50LT5idXMpOwo+ICsKPiArCWkzY19odWJfZGlzYWJsZV9wb3J0KGNv bnRyb2xsZXIpOwo+ICsJbXV0ZXhfdW5sb2NrKCZodWItPmxvY2spOwo+ICt9ClsgLi4uIF0KPiAr c3RhdGljIGludCBpM2NfaHViX2Rpc2FibGVfaWJpKHN0cnVjdCBpM2NfZGV2X2Rlc2MgKmRlc2Mp Cj4gK3sKWyAuLi4gXQo+ICsJbXV0ZXhfbG9jaygmaHViLT5sb2NrKTsKPiArCWkzY19odWJfZW5h YmxlX3BvcnQoY29udHJvbGxlcik7Cj4gKwo+ICsJb3JpZ19wYXJlbnQgPSBpM2NfaHViX3VwZGF0 ZV9kZXNjX3BhcmVudCgmZGVzYy0+Y29tbW9uLCBwYXJlbnQpOwo+ICsKPiArCWkzY19idXNfbWFp bnRlbmFuY2VfbG9jaygmcGFyZW50LT5idXMpOwo+ICsJcmV0ID0gaTNjX2Rldl9kaXNhYmxlX2li aV9sb2NrZWQoZGVzYyk7CgpbU2V2ZXJpdHk6IEhpZ2hdCkNvdWxkIGhvbGRpbmcgaHViLT5sb2Nr IHdoaWxlIGNhbGxpbmcgaTNjX2Rldl9kaXNhYmxlX2liaV9sb2NrZWQoKSBhbHNvIApsZWFkIHRv IHRoZSBzYW1lIEFCQkEgZGVhZGxvY2sgd2l0aCBwZW5kaW5nIElCSSB3b3JrZXJzIHRyeWluZyB0 byBhY3F1aXJlIApodWItPmxvY2sgdmlhIGkzY19odWJfbWFzdGVyX3ByaXZfeGZlcnMoKT8KCj4g KwlpM2NfYnVzX21haW50ZW5hbmNlX3VubG9jaygmcGFyZW50LT5idXMpOwo+ICsKPiArCWkzY19o dWJfdXBkYXRlX2Rlc2NfcGFyZW50KCZkZXNjLT5jb21tb24sIG9yaWdfcGFyZW50KTsKPiArCj4g KwlpM2NfaHViX2Rpc2FibGVfcG9ydChjb250cm9sbGVyKTsKPiArCW11dGV4X3VubG9jaygmaHVi LT5sb2NrKTsKPiArCj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBpM2Nf aHViX3JlY3ljbGVfaWJpX3Nsb3Qoc3RydWN0IGkzY19kZXZfZGVzYyAqZGVzYywKPiArCQkJCSAg ICAgc3RydWN0IGkzY19pYmlfc2xvdCAqc2xvdCkKPiArewo+ICsJLyoKPiArCSAqIFRPRE86IEZv cndhcmQgSUJJIHNsb3QgcmVjeWNsaW5nIHRvIHRoZSBwYXJlbnQgY29udHJvbGxlciB3aGVuCj4g KwkgKiBkb3duc3RyZWFtLWRldmljZSBJQkkgc3VwcG9ydCBpcyBmdWxseSBlbmFibGVkLiBDdXJy ZW50IHVzZXJzIG9ubHkKPiArCSAqIHJlbHkgb24gdGhlIGh1YiBkZXZpY2UgSUJJIHBhdGggZm9y IFNNQnVzLWFnZW50IGV2ZW50cywgc28gbm8gcGFyZW50Cj4gKwkgKiBoYXJkd2FyZSBzbG90IGlz IHJlY3ljbGVkIHRocm91Z2ggdGhpcyB2aXJ0dWFsIGNhbGxiYWNrIGN1cnJlbnRseS4KPiArCSAq Lwo+ICt9CgpbU2V2ZXJpdHk6IEhpZ2hdCkRvZXMgdGhpcyBlbXB0eSBpbXBsZW1lbnRhdGlvbiBw ZXJtYW5lbnRseSBsZWFrIGhhcmR3YXJlIElCSSBzbG90cyAKYWxsb2NhdGVkIGJ5IHRoZSBwYXJl bnQgY29udHJvbGxlcj8gCgpPdmVyIHRpbWUsIGZhaWxpbmcgdG8gcmV0dXJuIHRoZXNlIHNsb3Rz IGNvdWxkIGV4aGF1c3QgdGhlIHBvb2wgYW5kIHByZXZlbnQgCmZ1cnRoZXIgSUJJIHJlY2VwdGlv bi4KCj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGkzY19tYXN0ZXJfY29udHJvbGxlcl9vcHMg aTNjX2h1Yl9tYXN0ZXJfb3BzX2RhdGEgPSB7Cj4gKwkuYnVzX2luaXQgPSBpM2NfaHViX21hc3Rl cl9idXNfaW5pdCwKWyAuLi4gXQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2kzYy9odWIu aCBiL2luY2x1ZGUvbGludXgvaTNjL2h1Yi5oCj4gaW5kZXggMDAwMDAwMDAwMDAwMC4uOGFkMmNm M2M5ZDViOAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9pbmNsdWRlL2xpbnV4L2kzYy9odWIuaAo+ IEBAIC0wLDAgKzEsMTAyIEBAClsgLi4uIF0KPiArc3RhdGljIGlubGluZSBzdHJ1Y3QgaTNjX21h c3Rlcl9jb250cm9sbGVyICoKPiAraTNjX2h1Yl91cGRhdGVfZGVzY19wYXJlbnQoc3RydWN0IGkz Y19pMmNfZGV2X2Rlc2MgKmRlc2MsCj4gKwkJCSAgIHN0cnVjdCBpM2NfbWFzdGVyX2NvbnRyb2xs ZXIgKnBhcmVudCkKPiArewo+ICsJc3RydWN0IGkzY19tYXN0ZXJfY29udHJvbGxlciAqb3JpZ19w YXJlbnQgPSBkZXNjLT5tYXN0ZXI7Cj4gKwo+ICsJZGVzYy0+bWFzdGVyID0gcGFyZW50OwoKW1Nl dmVyaXR5OiBIaWdoXQpEb2VzIG1vZGlmeWluZyBkZXNjLT5tYXN0ZXIgaGVyZSBjcmVhdGUgYSBk YXRhIHJhY2Ugd2l0aCBjb25jdXJyZW50IAp0cmFuc2ZlcnMgdXNpbmcgdGhlIEkzQyBjb3JlIHRy YW5zZmVyIGZ1bmN0aW9ucz8KCj4gKwlyZXR1cm4gb3JpZ19wYXJlbnQ7Cj4gK30KCi0tIApTYXNo aWtvIEFJIHJldmlldyDCtyBodHRwczovL3Nhc2hpa28uZGV2LyMvcGF0Y2hzZXQvMjAyNjA3MTQw OTIwNTMuMjQ2MTQ4Mi0xLWxha3NoYXkucGlwbGFuaUBueHAuY29tP3BhcnQ9NgoKLS0gCmxpbnV4 LWkzYyBtYWlsaW5nIGxpc3QKbGludXgtaTNjQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1pM2MK