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 233EFC0015E for ; Tue, 15 Aug 2023 10:15:23 +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:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=OihK9tlMXwgD+K9C5SB+IrYYOqeEurS9xIxP2OcZKVg=; b=fy12jg/O29Z9LS MNgPIyCK1BYpbO4lfIOACYZ/yei/ETPeNOfIn8k9eSaOr957K5hp4gTlFOe9KyP9wu0RzRrniOVgO lsbkg7MhF4B2apUTM2paqaBPEHTxbClz7QrUOSLzzj01F+1u1WGdrpvJIOs83xugs2J0Xqxuyprb0 nTUKS7iQc45/aD6g8dqkG0lw1n/4pVPCWrM1pBp3Aadww1zhtwlKZ742DSZAaPkCxAQRUuGcs4cvc 2+jXDVFn6BMNLDYokJO45hsCSYDxxmlusrW4lkcOOeNq+665mo0eerBXOFrIEg5Pjj8eTV4ms2v5f TpYd+rXlh64kmBIQl8wg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qVr4f-001H7L-0g; Tue, 15 Aug 2023 10:14:53 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qVr4b-001H6Y-1J for linux-arm-kernel@lists.infradead.org; Tue, 15 Aug 2023 10:14:51 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 930EF60C50; Tue, 15 Aug 2023 10:14:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5031AC433C7; Tue, 15 Aug 2023 10:14:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1692094487; bh=fFuLt2KZ7JLXQTOznYRH3Fe4CCINQT1f2ml875TiBy8=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=kpaw+EHEme5rDzK1dgv91QpoGVWz4NbrF/h/rt1qFvpGbkctddNQqHBcXEUeC3IGU w6OxpuJIYJ73b/tkACtnwaHpLbJAZ1n2aEWzL26US4lZuNNi9RxBVzW2HI2zwaLx1m dRtV3ws2nopFlnpyP3u2+uqcwQLZShmxWmtBy5FNUBo79schNTjakAJnHQlB2ci4MC 4mzzewBnJsTHtRTjEuwFo4TabRWvMaI0mNlR2+eO+eB74E/OJW21bDrOhoaMw56IxP lGu4IYgTeFex/kLltR4/K3X4gigEqvUIAR6oR6Tl8zcdo3dwmtHa45oXnKcHO/kjVF TpmBJKjcmz+PQ== Message-ID: Date: Tue, 15 Aug 2023 13:14:40 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.14.0 Subject: Re: [PATCH v4 3/5] net: ti: icss-iep: Add IEP driver Content-Language: en-US To: "Anwar, Md Danish" , MD Danish Anwar , Randy Dunlap , Simon Horman , Vignesh Raghavendra , Andrew Lunn , Richard Cochran , Conor Dooley , Krzysztof Kozlowski , Rob Herring , Paolo Abeni , Jakub Kicinski , Eric Dumazet , "David S. Miller" Cc: nm@ti.com, srk@ti.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, netdev@vger.kernel.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <20230814100847.3531480-1-danishanwar@ti.com> <20230814100847.3531480-4-danishanwar@ti.com> From: Roger Quadros In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230815_031449_532306_6F90114C X-CRM114-Status: GOOD ( 28.57 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiAxNS8wOC8yMDIzIDEzOjA3LCBBbndhciwgTWQgRGFuaXNoIHdyb3RlOgo+IEhpIFJvZ2Vy LAo+IAo+IE9uIDgvMTUvMjAyMyAzOjExIFBNLCBSb2dlciBRdWFkcm9zIHdyb3RlOgo+PiBIaSBE YW5pc2gsCj4+Cj4+IE9uIDE0LzA4LzIwMjMgMTM6MDgsIE1EIERhbmlzaCBBbndhciB3cm90ZToK Pj4+IEZyb206IFJvZ2VyIFF1YWRyb3MgPHJvZ2VycUB0aS5jb20+Cj4+Pgo+Pj4gQWRkIGEgZHJp dmVyIGZvciBJbmR1c3RyaWFsIEV0aGVybmV0IFBlcmlwaGVyYWwgKElFUCkgYmxvY2sgb2YgUFJV U1MgdG8KPj4+IHN1cHBvcnQgdGltZXN0YW1waW5nIG9mIGV0aGVybmV0IHBhY2tldHMgYW5kIHRo dXMgc3VwcG9ydCBQVFAgYW5kIFBQUwo+Pj4gZm9yIFBSVSBldGhlcm5ldCBwb3J0cy4KPj4+Cj4+ PiBTaWduZWQtb2ZmLWJ5OiBSb2dlciBRdWFkcm9zIDxyb2dlcnFAdGkuY29tPgo+Pj4gU2lnbmVk LW9mZi1ieTogTG9rZXNoIFZ1dGxhIDxsb2tlc2h2dXRsYUB0aS5jb20+Cj4+PiBTaWduZWQtb2Zm LWJ5OiBNdXJhbGkgS2FyaWNoZXJpIDxtLWthcmljaGVyaTJAdGkuY29tPgo+Pj4gU2lnbmVkLW9m Zi1ieTogVmlnbmVzaCBSYWdoYXZlbmRyYSA8dmlnbmVzaHJAdGkuY29tPgo+Pj4gU2lnbmVkLW9m Zi1ieTogTUQgRGFuaXNoIEFud2FyIDxkYW5pc2hhbndhckB0aS5jb20+Cj4+PiAtLS0KPj4+IMKg IGRyaXZlcnMvbmV0L2V0aGVybmV0L3RpL0tjb25maWfCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDEx ICsKPj4+IMKgIGRyaXZlcnMvbmV0L2V0aGVybmV0L3RpL01ha2VmaWxlwqDCoMKgwqDCoMKgwqDC oCB8wqDCoCAxICsKPj4+IMKgIGRyaXZlcnMvbmV0L2V0aGVybmV0L3RpL2ljc3NnL2ljc3NfaWVw LmMgfCA5MjEgKysrKysrKysrKysrKysrKysrKysrKysKPj4+IMKgIGRyaXZlcnMvbmV0L2V0aGVy bmV0L3RpL2ljc3NnL2ljc3NfaWVwLmggfMKgIDM4ICsKPj4+IMKgIDQgZmlsZXMgY2hhbmdlZCwg OTcxIGluc2VydGlvbnMoKykKPj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC9l dGhlcm5ldC90aS9pY3NzZy9pY3NzX2llcC5jCj4+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9uZXQvZXRoZXJuZXQvdGkvaWNzc2cvaWNzc19pZXAuaAo+Pj4KPj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC90aS9LY29uZmlnIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv dGkvS2NvbmZpZwo+Pj4gaW5kZXggNjNlNTEwYjY4NjBmLi4xYWY1YTkwNzIwZWMgMTAwNjQ0Cj4+ PiAtLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC90aS9LY29uZmlnCj4+PiArKysgYi9kcml2ZXJz L25ldC9ldGhlcm5ldC90aS9LY29uZmlnCj4+PiBAQCAtMTk2LDQgKzE5NiwxNSBAQCBjb25maWcg VElfSUNTU0dfUFJVRVRICj4+PiDCoMKgwqDCoMKgwqDCoCB0byBzdXBwb3J0IHRoZSBFdGhlcm5l dCBvcGVyYXRpb24uIEN1cnJlbnRseSwgaXQgc3VwcG9ydHMgRXRoZXJuZXQKPj4+IMKgwqDCoMKg wqDCoMKgIHdpdGggMUcgYW5kIDEwME0gbGluayBzcGVlZC4KPj4+IMKgICtjb25maWcgVElfSUNT U19JRVAKPj4+ICvCoMKgwqAgdHJpc3RhdGUgIlRJIFBSVSBJQ1NTIElFUCBkcml2ZXIiCj4+PiAr wqDCoMKgIGRlcGVuZHMgb24gVElfUFJVU1MKPj4+ICvCoMKgwqAgZGVmYXVsdCBUSV9QUlVTUwo+ Pj4gK8KgwqDCoCBoZWxwCj4+PiArwqDCoMKgwqDCoCBUaGlzIGRyaXZlciBlbmFibGVzIHN1cHBv cnQgZm9yIHRoZSBQUlUtSUNTUyBJbmR1c3RyaWFsIEV0aGVybmV0Cj4+PiArwqDCoMKgwqDCoCBQ ZXJpcGhlcmFsIHdpdGhpbiBhIFBSVS1JQ1NTIHN1YnN5c3RlbSBwcmVzZW50IG9uIHZhcmlvdXMg VEkgU29Dcy4KPj4+ICsKPj4+ICvCoMKgwqDCoMKgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMg YSBtb2R1bGUsIGNob29zZSBNIGhlcmUuIFRoZSBtb2R1bGUKPj4+ICvCoMKgwqDCoMKgIHdpbGwg YmUgY2FsbGVkIGljc3NfaWVwLgo+Pj4gKwo+Pj4gwqAgZW5kaWYgIyBORVRfVkVORE9SX1RJCj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvTWFrZWZpbGUgYi9kcml2ZXJz L25ldC9ldGhlcm5ldC90aS9NYWtlZmlsZQo+Pj4gaW5kZXggOTE3NmQ3OWMzNmUxLi4zNGZkN2E3 MTZiYTYgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC90aS9NYWtlZmlsZQo+ Pj4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvdGkvTWFrZWZpbGUKPj4+IEBAIC0zOCwzICsz OCw0IEBAIGljc3NnLXBydWV0aC15IDo9IGszLWNwcGktZGVzYy1wb29sLm8gXAo+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBpY3NzZy9pY3NzZ19taWlfY2ZnLm8gXAo+Pj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpY3NzZy9pY3NzZ19zdGF0cy5vIFwKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgaWNzc2cvaWNzc2dfZXRodG9vbC5vCj4+PiArb2JqLSQoQ09ORklHX1RJX0lDU1NfSUVQKSAr PSBpY3NzZy9pY3NzX2llcC5vCj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv dGkvaWNzc2cvaWNzc19pZXAuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3RpL2ljc3NnL2ljc3Nf aWVwLmMKPj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmQx MjNiOGJhM2YzMQo+Pj4gLS0tIC9kZXYvbnVsbAo+Pj4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvdGkvaWNzc2cvaWNzc19pZXAuYwo+Pj4gQEAgLTAsMCArMSw5MjEgQEAKPj4+ICsvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+Pj4gKwo+Pj4gKy8qIFRleGFzIEluc3RydW1l bnRzIElDU1NHIEluZHVzdHJpYWwgRXRoZXJuZXQgUGVyaXBoZXJhbCAoSUVQKSBEcml2ZXIKPj4+ ICsgKgo+Pj4gKyAqIENvcHlyaWdodCAoQykgMjAyMyBUZXhhcyBJbnN0cnVtZW50cyBJbmNvcnBv cmF0ZWQgLSBodHRwczovL3d3dy50aS5jb20KPj4+ICsgKgo+Pj4gKyAqLwo+Pj4gKwo+Pj4gKyNp bmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KPj4+ICsjaW5jbHVkZSA8bGludXgvY2xrLmg+Cj4+PiAr I2luY2x1ZGUgPGxpbnV4L2Vyci5oPgo+Pj4gKyNpbmNsdWRlIDxsaW51eC9pby5oPgo+Pj4gKyNp bmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPj4+ICsjaW5jbHVkZSA8bGludXgvb2YuaD4KPj4+ICsj aW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4KPj4+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZv cm1fZGV2aWNlLmg+Cj4+PiArI2luY2x1ZGUgPGxpbnV4L3RpbWVrZWVwaW5nLmg+Cj4+PiArI2lu Y2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgo+Pj4gKyNpbmNsdWRlIDxsaW51eC9vZl9pcnEuaD4K Pj4+ICsKPj4+ICsjaW5jbHVkZSAiaWNzc19pZXAuaCIKPj4+ICsKPj4+ICsjZGVmaW5lIElFUF9N QVhfREVGX0lOQ8KgwqDCoMKgwqDCoMKgIDB4Zgo+Pj4gKyNkZWZpbmUgSUVQX01BWF9DT01QRU5f SU5DwqDCoMKgwqDCoMKgwqAgMHhmZmYKPj4+ICsjZGVmaW5lIElFUF9NQVhfQ09NUEVOX0NPVU5U wqDCoMKgIDB4ZmZmZmZmCj4+PiArCj4+PiArI2RlZmluZSBJRVBfR0xPQkFMX0NGR19DTlRfRU5B QkxFwqDCoMKgIEJJVCgwKQo+Pj4gKyNkZWZpbmUgSUVQX0dMT0JBTF9DRkdfREVGQVVMVF9JTkNf TUFTS8KgwqDCoMKgwqDCoMKgIEdFTk1BU0soNywgNCkKPj4+ICsjZGVmaW5lIElFUF9HTE9CQUxf Q0ZHX0RFRkFVTFRfSU5DX1NISUZUwqDCoMKgIDQKPj4+ICsjZGVmaW5lIElFUF9HTE9CQUxfQ0ZH X0NPTVBFTl9JTkNfTUFTS8KgwqDCoMKgwqDCoMKgIEdFTk1BU0soMTksIDgpCj4+PiArI2RlZmlu ZSBJRVBfR0xPQkFMX0NGR19DT01QRU5fSU5DX1NISUZUwqDCoMKgwqDCoMKgwqAgOAo+Pj4gKwo+ Pj4gKyNkZWZpbmUgSUVQX0dMT0JBTF9TVEFUVVNfQ05UX09WRsKgwqDCoCBCSVQoMCkKPj4+ICsK Pj4+ICsjZGVmaW5lIElFUF9DTVBfQ0ZHX1NIQURPV19FTsKgwqDCoMKgwqDCoMKgIEJJVCgxNykK Pj4+ICsjZGVmaW5lIElFUF9DTVBfQ0ZHX0NNUDBfUlNUX0NOVF9FTsKgwqDCoCBCSVQoMCkKPj4+ ICsjZGVmaW5lIElFUF9DTVBfQ0ZHX0NNUF9FTihjbXApwqDCoMKgwqDCoMKgwqAgKEdFTk1BU0so MTYsIDEpICYgKDEgPDwgKChjbXApICsgMSkpKQo+Pj4gKwo+Pj4gKyNkZWZpbmUgSUVQX0NNUF9T VEFUVVMoY21wKcKgwqDCoMKgwqDCoMKgICgxIDw8IChjbXApKQo+Pj4gKwo+Pj4gKyNkZWZpbmUg SUVQX1NZTkNfQ1RSTF9TWU5DX0VOwqDCoMKgwqDCoMKgwqAgQklUKDApCj4+PiArI2RlZmluZSBJ RVBfU1lOQ19DVFJMX1NZTkNfTl9FTihuKcKgwqDCoCAoR0VOTUFTSygyLCAxKSAmIChCSVQoMSkg PDwgKG4pKSkKPj4+ICsKPj4+ICsjZGVmaW5lIElFUF9NSU5fQ01QwqDCoMKgIDAKPj4+ICsjZGVm aW5lIElFUF9NQVhfQ01QwqDCoMKgIDE1Cj4+PiArCj4+PiArI2RlZmluZSBJQ1NTX0lFUF82NEJJ VF9DT1VOVEVSX1NVUFBPUlTCoMKgwqDCoMKgwqDCoCBCSVQoMCkKPj4+ICsjZGVmaW5lIElDU1Nf SUVQX1NMT1dfQ09NUEVOX1JFR19TVVBQT1JUwqDCoMKgIEJJVCgxKQo+Pj4gKyNkZWZpbmUgSUNT U19JRVBfU0hBRE9XX01PREVfU1VQUE9SVMKgwqDCoMKgwqDCoMKgIEJJVCgyKQo+Pj4gKwo+Pj4g KyNkZWZpbmUgTEFUQ0hfSU5ERVgodHNfaW5kZXgpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoKHRz X2luZGV4KSArIDYpCj4+PiArI2RlZmluZSBJRVBfQ0FQX0NGR19DQVBOUl8xU1RfRVZFTlRfRU4o binCoMKgwqAgQklUKExBVENIX0lOREVYKG4pKQo+Pj4gKyNkZWZpbmUgSUVQX0NBUF9DRkdfQ0FQ X0FTWU5DX0VOKG4pwqDCoMKgwqDCoMKgwqAgQklUKExBVENIX0lOREVYKG4pICsgMTApCj4+PiAr Cj4+PiArZW51bSB7Cj4+PiArwqDCoMKgIElDU1NfSUVQX0dMT0JBTF9DRkdfUkVHLAo+Pj4gK8Kg wqDCoCBJQ1NTX0lFUF9HTE9CQUxfU1RBVFVTX1JFRywKPj4+ICvCoMKgwqAgSUNTU19JRVBfQ09N UEVOX1JFRywKPj4+ICvCoMKgwqAgSUNTU19JRVBfU0xPV19DT01QRU5fUkVHLAo+Pj4gK8KgwqDC oCBJQ1NTX0lFUF9DT1VOVF9SRUcwLAo+Pj4gK8KgwqDCoCBJQ1NTX0lFUF9DT1VOVF9SRUcxLAo+ Pj4gK8KgwqDCoCBJQ1NTX0lFUF9DQVBUVVJFX0NGR19SRUcsCj4+PiArwqDCoMKgIElDU1NfSUVQ X0NBUFRVUkVfU1RBVF9SRUcsCj4+PiArCj4+PiArwqDCoMKgIElDU1NfSUVQX0NBUDZfUklTRV9S RUcwLAo+Pj4gK8KgwqDCoCBJQ1NTX0lFUF9DQVA2X1JJU0VfUkVHMSwKPj4+ICsKPj4+ICvCoMKg wqAgSUNTU19JRVBfQ0FQN19SSVNFX1JFRzAsCj4+PiArwqDCoMKgIElDU1NfSUVQX0NBUDdfUklT RV9SRUcxLAo+Pj4gKwo+Pj4gK8KgwqDCoCBJQ1NTX0lFUF9DTVBfQ0ZHX1JFRywKPj4+ICvCoMKg wqAgSUNTU19JRVBfQ01QX1NUQVRfUkVHLAo+Pj4gK8KgwqDCoCBJQ1NTX0lFUF9DTVAwX1JFRzAs Cj4+PiArwqDCoMKgIElDU1NfSUVQX0NNUDBfUkVHMSwKPj4+ICvCoMKgwqAgSUNTU19JRVBfQ01Q MV9SRUcwLAo+Pj4gK8KgwqDCoCBJQ1NTX0lFUF9DTVAxX1JFRzEsCj4+PiArCj4+PiArwqDCoMKg IElDU1NfSUVQX0NNUDhfUkVHMCwKPj4+ICvCoMKgwqAgSUNTU19JRVBfQ01QOF9SRUcxLAo+Pj4g K8KgwqDCoCBJQ1NTX0lFUF9TWU5DX0NUUkxfUkVHLAo+Pj4gK8KgwqDCoCBJQ1NTX0lFUF9TWU5D MF9TVEFUX1JFRywKPj4+ICvCoMKgwqAgSUNTU19JRVBfU1lOQzFfU1RBVF9SRUcsCj4+PiArwqDC oMKgIElDU1NfSUVQX1NZTkNfUFdJRFRIX1JFRywKPj4+ICvCoMKgwqAgSUNTU19JRVBfU1lOQzBf UEVSSU9EX1JFRywKPj4+ICvCoMKgwqAgSUNTU19JRVBfU1lOQzFfREVMQVlfUkVHLAo+Pj4gK8Kg wqDCoCBJQ1NTX0lFUF9TWU5DX1NUQVJUX1JFRywKPj4+ICvCoMKgwqAgSUNTU19JRVBfTUFYX1JF R1MsCj4+PiArfTsKPj4+ICsKPj4+ICsvKioKPj4+ICsgKiBzdHJ1Y3QgaWNzc19pZXBfcGxhdF9k YXRhIC0gUGxhdCBkYXRhIHRvIGhhbmRsZSBTb0MgdmFyaWFudHMKPj4+ICsgKiBAY29uZmlnOiBS ZWdtYXAgY29uZmlndXJhdGlvbiBkYXRhCj4+PiArICogQHJlZ19vZmZzOiByZWdpc3RlciBvZmZz ZXRzIHRvIGNhcHR1cmUgb2Zmc2V0IGRpZmZlcmVuY2VzIGFjcm9zcyBTb0NzCj4+PiArICogQGZs YWdzOiBGbGFncyB0byByZXByZXNlbnQgSUVQIHByb3BlcnRpZXMKPj4+ICsgKi8KPj4+ICtzdHJ1 Y3QgaWNzc19pZXBfcGxhdF9kYXRhIHsKPj4+ICvCoMKgwqAgc3RydWN0IHJlZ21hcF9jb25maWcg KmNvbmZpZzsKPj4+ICvCoMKgwqAgdTMyIHJlZ19vZmZzW0lDU1NfSUVQX01BWF9SRUdTXTsKPj4+ ICvCoMKgwqAgdTMyIGZsYWdzOwo+Pj4gK307Cj4+PiArCj4+PiArc3RydWN0IGljc3NfaWVwIHsK Pj4+ICvCoMKgwqAgc3RydWN0IGRldmljZSAqZGV2Owo+Pj4gK8KgwqDCoCB2b2lkIF9faW9tZW0g KmJhc2U7Cj4+PiArwqDCoMKgIGNvbnN0IHN0cnVjdCBpY3NzX2llcF9wbGF0X2RhdGEgKnBsYXRf ZGF0YTsKPj4+ICvCoMKgwqAgc3RydWN0IHJlZ21hcCAqbWFwOwo+Pj4gK8KgwqDCoCBzdHJ1Y3Qg ZGV2aWNlX25vZGUgKmNsaWVudF9ucDsKPj4+ICvCoMKgwqAgdW5zaWduZWQgbG9uZyByZWZjbGtf ZnJlcTsKPj4+ICvCoMKgwqAgaW50IGNsa190aWNrX3RpbWU7wqDCoMKgIC8qIG9uZSByZWZjbGsg dGljayB0aW1lIGluIG5zICovCj4+PiArwqDCoMKgIHN0cnVjdCBwdHBfY2xvY2tfaW5mbyBwdHBf aW5mbzsKPj4+ICvCoMKgwqAgc3RydWN0IHB0cF9jbG9jayAqcHRwX2Nsb2NrOwo+Pj4gK8KgwqDC oCBzdHJ1Y3QgbXV0ZXggcHRwX2Nsa19tdXRleDvCoMKgwqAgLyogUEhDIGFjY2VzcyBzZXJpYWxp emVyICovCj4+PiArwqDCoMKgIHNwaW5sb2NrX3QgaXJxX2xvY2s7IC8qIENNUCBJUlEgdnMgaWNz c19pZXBfcHRwX2VuYWJsZSBhY2Nlc3MgKi8KPj4+ICvCoMKgwqAgdTMyIGRlZl9pbmM7Cj4+PiAr wqDCoMKgIHMxNiBzbG93X2NtcF9pbmM7Cj4+PiArwqDCoMKgIHUzMiBzbG93X2NtcF9jb3VudDsK Pj4+ICvCoMKgwqAgY29uc3Qgc3RydWN0IGljc3NfaWVwX2Nsb2Nrb3BzICpvcHM7Cj4+PiArwqDC oMKgIHZvaWQgKmNsb2Nrb3BzX2RhdGE7Cj4+PiArwqDCoMKgIHUzMiBjeWNsZV90aW1lX25zOwo+ Pj4gK8KgwqDCoCB1MzIgcGVyb3V0X2VuYWJsZWQ7Cj4+PiArwqDCoMKgIGJvb2wgcHBzX2VuYWJs ZWQ7Cj4+PiArwqDCoMKgIGludCBjYXBfY21wX2lycTsKPj4+ICvCoMKgwqAgdTY0IHBlcmlvZDsK Pj4+ICvCoMKgwqAgdTMyIGxhdGNoX2VuYWJsZTsKPj4+ICt9Owo+Pj4gKwo+Pgo+PiBXaGVyZSBp cyB0aGUgY29tbWVudCB5b3UgYWdyZWVkIHRvIGFkZCBvbiB3aHkgd2UgYXJlIHVzaW5nIHJlYWRs L3dyaXRlbAo+PiBpbnN0ZWFkIG9mIHJlZ21hcCBpbiBjZXJ0YWluIGFyZWFzPwo+Pgo+IAo+IFdl IGFncmVlZCB0byBhZGQgY29tbWVudCBvbiB3aHkgd2UgYXJlIHVzaW5nIHJlYWRsL3dyaXRlbCBp bnN0ZWFkIG9mIHJlZ21hcCBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgcmVhZGwgLyB3cml0 ZWwgaGVscGVyIEFQSXMgKGljc3NfaWVwX3JlYWRsIC8gd3JpdGVsICkuIEJ1dCBBbmRyZXcgYXNr ZWQgbWUgdG8gZHJvcCB0aG9zZSBoZWxwZXIgQVBJcywgc28gSSBkcm9wcGVkIHRoZW0uIE5vdyBu byBoZWxwZXIgQVBJcyBhcmUgdGhlcmUgYW5kIHdlIGFyZSBkaXJlY3RseSB1c2luZyByZWFkbCAv IHdyaXRlbCBpbiB0b3RhbCA4IHBsYWNlcy4gUHJldmlvdXNseSB3aXRoIHRoZSBoZWxwZXIgQVBJ cywgdGhlcmUgd2FzIGEgd2F5IHRvIGRvY3VtZW50IHRoZSB1c2Ugb2YgcmVhZGwgLyB3cml0ZWwg YmVmb3JlIHRoZSBkZWNsYXJhdGlvbiBvZiBoZXBlciBBUElzLiBOb3cgd2l0aCBubyBoZWxwZXIg QVBJcywgSSBjb3VsZG4ndCBmaW5kIGEgZ29vZCBwbGFjZSB0byBhZGQgdGhpcyBkb2N1bWVudGF0 aW9uIGFzIGFsbCA4IGluc3RhbmNlcyB1c2luZyByZWFkbCAvIHdyaXRlbCBzZWVtcyBzaW1pbGFy LiBTbyBJIGRyb3BwZWQgaXQuCgpQbGVhc2UgbGltaXQgeW91ciByZXBseSB0byBhcm91bmQgODAg Y29sdW1ucyB3aWRlLgpodHRwczovL3Blb3BsZS5rZXJuZWwub3JnL3RnbHgvbm90ZXMtYWJvdXQt bmV0aXF1ZXR0ZQoKWW91IGRvbid0IGhhdmUgdG8gcHV0IHRoZSBjb21tZW50IGV2ZXJ5d2hlcmUg eW91IHVzZSByZWFkbC93cml0ZWwKYnV0IHlvdSBuZWVkIHRvIHB1dCBpdCBhdCBsZWFzdCBvbmNl IGhvcGVmdWxseSBqdXN0IGJlZm9yZSBpY3NzX2llcF9nZXR0aW1lKCkKc28gZnV0dXJlIHJlYWRl cnMgb2YgdGhpcyBjb2RlIGtub3cgdGhlIHJlYXNvbmluZyB3aHkgd2UgYXJlIG5vdAp1c2luZyBy ZWdtYXAgQVBJIHRocm91Z2hvdXQuCgo+IAo+Pj4gKy8qKgo+Pj4gKyAqIGljc3NfaWVwX2dldF9j b3VudF9oaSgpIC0gR2V0IHRoZSB1cHBlciAzMiBiaXQgSUVQIGNvdW50ZXIKPj4+ICsgKiBAaWVw OiBQb2ludGVyIHRvIHN0cnVjdHVyZSByZXByZXNlbnRpbmcgSUVQLgo+Pj4gKyAqCj4+PiArICog UmV0dXJuOiB1cHBlciAzMiBiaXQgSUVQIGNvdW50ZXIKPj4+ICsgKi8KPj4+ICtpbnQgaWNzc19p ZXBfZ2V0X2NvdW50X2hpKHN0cnVjdCBpY3NzX2llcCAqaWVwKQo+Pj4gK3sKPj4+ICvCoMKgwqAg dTMyIHZhbCA9IDA7Cj4+PiArCj4+PiArwqDCoMKgIGlmIChpZXAgJiYgKGllcC0+cGxhdF9kYXRh LT5mbGFncyAmIElDU1NfSUVQXzY0QklUX0NPVU5URVJfU1VQUE9SVCkpCj4+PiArwqDCoMKgwqDC oMKgwqAgdmFsID0gcmVhZGwoaWVwLT5iYXNlICsgaWVwLT5wbGF0X2RhdGEtPnJlZ19vZmZzW0lD U1NfSUVQX0NPVU5UX1JFRzFdKTsKPj4+ICsKPj4+ICvCoMKgwqAgcmV0dXJuIHZhbDsKPj4+ICt9 Cj4+PiArRVhQT1JUX1NZTUJPTF9HUEwoaWNzc19pZXBfZ2V0X2NvdW50X2hpKTsKPj4+ICsKPj4+ ICsvKioKPj4+ICsgKiBpY3NzX2llcF9nZXRfY291bnRfbG93KCkgLSBHZXQgdGhlIGxvd2VyIDMy IGJpdCBJRVAgY291bnRlcgo+Pj4gKyAqIEBpZXA6IFBvaW50ZXIgdG8gc3RydWN0dXJlIHJlcHJl c2VudGluZyBJRVAuCj4+PiArICoKPj4+ICsgKiBSZXR1cm46IGxvd2VyIDMyIGJpdCBJRVAgY291 bnRlcgo+Pj4gKyAqLwo+Pj4gK2ludCBpY3NzX2llcF9nZXRfY291bnRfbG93KHN0cnVjdCBpY3Nz X2llcCAqaWVwKQo+Pj4gK3sKPj4+ICvCoMKgwqAgdTMyIHZhbCA9IDA7Cj4+PiArCj4+PiArwqDC oMKgIGlmIChpZXApCj4+PiArwqDCoMKgwqDCoMKgwqAgdmFsID0gcmVhZGwoaWVwLT5iYXNlICsg aWVwLT5wbGF0X2RhdGEtPnJlZ19vZmZzW0lDU1NfSUVQX0NPVU5UX1JFRzBdKTsKPj4+ICsKPj4+ ICvCoMKgwqAgcmV0dXJuIHZhbDsKPj4+ICt9Cj4+PiArRVhQT1JUX1NZTUJPTF9HUEwoaWNzc19p ZXBfZ2V0X2NvdW50X2xvdyk7Cj4+PiArCj4+PiArLyoqCj4+PiArICogaWNzc19pZXBfZ2V0X3B0 cF9jbG9ja19pZHgoKSAtIEdldCBQVFAgY2xvY2sgaW5kZXggdXNpbmcgSUVQIGRyaXZlcgo+Pj4g KyAqIEBpZXA6IFBvaW50ZXIgdG8gc3RydWN0dXJlIHJlcHJlc2VudGluZyBJRVAuCj4+PiArICoK Pj4+ICsgKiBSZXR1cm46IFBUUCBjbG9jayBpbmRleCwgLTEgaWYgbm90IHJlZ2lzdGVyZWQKPj4+ ICsgKi8KPj4+ICtpbnQgaWNzc19pZXBfZ2V0X3B0cF9jbG9ja19pZHgoc3RydWN0IGljc3NfaWVw ICppZXApCj4+PiArewo+Pj4gK8KgwqDCoCBpZiAoIWllcCB8fCAhaWVwLT5wdHBfY2xvY2spCj4+ PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC0xOwo+Pj4gK8KgwqDCoCByZXR1cm4gcHRwX2Nsb2Nr X2luZGV4KGllcC0+cHRwX2Nsb2NrKTsKPj4+ICt9Cj4+PiArRVhQT1JUX1NZTUJPTF9HUEwoaWNz c19pZXBfZ2V0X3B0cF9jbG9ja19pZHgpOwo+Pj4gKwo+Pj4gK3N0YXRpYyB2b2lkIGljc3NfaWVw X3NldF9jb3VudGVyKHN0cnVjdCBpY3NzX2llcCAqaWVwLCB1NjQgbnMpCj4+PiArewo+Pj4gK8Kg wqDCoCBpZiAoaWVwLT5wbGF0X2RhdGEtPmZsYWdzICYgSUNTU19JRVBfNjRCSVRfQ09VTlRFUl9T VVBQT1JUKQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHdyaXRlbCh1cHBlcl8zMl9iaXRzKG5zKSwgaWVw LT5iYXNlICsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGllcC0+cGxhdF9kYXRh LT5yZWdfb2Zmc1tJQ1NTX0lFUF9DT1VOVF9SRUcxXSk7Cj4+PiArwqDCoMKgIHdyaXRlbCh1cHBl cl8zMl9iaXRzKG5zKSwgaWVwLT5iYXNlICsgaWVwLT5wbGF0X2RhdGEtPnJlZ19vZmZzW0lDU1Nf SUVQX0NPVU5UX1JFRzBdKTsKPj4+ICt9Cj4+PiArCj4+PiArc3RhdGljIHZvaWQgaWNzc19pZXBf dXBkYXRlX3RvX25leHRfYm91bmRhcnkoc3RydWN0IGljc3NfaWVwICppZXAsIHU2NCBzdGFydF9u cyk7Cj4+PiArCj4+PiArc3RhdGljIHZvaWQgaWNzc19pZXBfc2V0dGltZShzdHJ1Y3QgaWNzc19p ZXAgKmllcCwgdTY0IG5zKQo+Pj4gK3sKPj4+ICvCoMKgwqAgdW5zaWduZWQgbG9uZyBmbGFnczsK Pj4+ICsKPj4+ICvCoMKgwqAgaWYgKGllcC0+b3BzICYmIGllcC0+b3BzLT5zZXR0aW1lKSB7Cj4+ PiArwqDCoMKgwqDCoMKgwqAgaWVwLT5vcHMtPnNldHRpbWUoaWVwLT5jbG9ja29wc19kYXRhLCBu cyk7Cj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+Pj4gK8KgwqDCoCB9Cj4+PiArCj4+PiAr wqDCoMKgIHNwaW5fbG9ja19pcnFzYXZlKCZpZXAtPmlycV9sb2NrLCBmbGFncyk7Cj4+PiArwqDC oMKgIGlmIChpZXAtPnBwc19lbmFibGVkIHx8IGllcC0+cGVyb3V0X2VuYWJsZWQpCj4+PiArwqDC oMKgwqDCoMKgwqAgd3JpdGVsKDAsIGllcC0+YmFzZSArIGllcC0+cGxhdF9kYXRhLT5yZWdfb2Zm c1tJQ1NTX0lFUF9TWU5DX0NUUkxfUkVHXSk7Cj4+PiArCj4+PiArwqDCoMKgIGljc3NfaWVwX3Nl dF9jb3VudGVyKGllcCwgbnMpOwo+Pj4gKwo+Pj4gK8KgwqDCoCBpZiAoaWVwLT5wcHNfZW5hYmxl ZCB8fCBpZXAtPnBlcm91dF9lbmFibGVkKSB7Cj4+PiArwqDCoMKgwqDCoMKgwqAgaWNzc19pZXBf dXBkYXRlX3RvX25leHRfYm91bmRhcnkoaWVwLCBucyk7Cj4+PiArwqDCoMKgwqDCoMKgwqAgd3Jp dGVsKElFUF9TWU5DX0NUUkxfU1lOQ19OX0VOKDApIHwgSUVQX1NZTkNfQ1RSTF9TWU5DX0VOLAo+ Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWVwLT5iYXNlICsgaWVwLT5wbGF0X2Rh dGEtPnJlZ19vZmZzW0lDU1NfSUVQX1NZTkNfQ1RSTF9SRUddKTsKPj4+ICvCoMKgwqAgfQo+Pj4g K8KgwqDCoCBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpZXAtPmlycV9sb2NrLCBmbGFncyk7Cj4+ PiArfQo+Pj4gKwo+Pj4gK3N0YXRpYyB1NjQgaWNzc19pZXBfZ2V0dGltZShzdHJ1Y3QgaWNzc19p ZXAgKmllcCwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHB0cF9z eXN0ZW1fdGltZXN0YW1wICpzdHMpCj4+PiArewo+Pj4gK8KgwqDCoCB1MzIgdHNfaGkgPSAwLCB0 c19sbzsKPj4+ICvCoMKgwqAgdW5zaWduZWQgbG9uZyBmbGFnczsKPj4+ICsKPj4+ICvCoMKgwqAg aWYgKGllcC0+b3BzICYmIGllcC0+b3BzLT5nZXR0aW1lKQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJl dHVybiBpZXAtPm9wcy0+Z2V0dGltZShpZXAtPmNsb2Nrb3BzX2RhdGEsIHN0cyk7Cj4+PiArCj4+ PiArwqDCoMKgIC8qIHVzZSBsb2NhbF9pcnFfeCgpIHRvIG1ha2UgaXQgd29yayBmb3IgYm90aCBS VC9ub24tUlQgKi8KPj4+ICvCoMKgwqAgbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwo+Pj4gKwo+Pj4g K8KgwqDCoCAvKiBubyBuZWVkIHRvIHBsYXkgd2l0aCBoaS1sbywgaGkgaXMgbGF0Y2hlZCB3aGVu IGxvIGlzIHJlYWQgKi8KPj4+ICvCoMKgwqAgcHRwX3JlYWRfc3lzdGVtX3ByZXRzKHN0cyk7Cj4+ PiArwqDCoMKgIHRzX2xvID0gcmVhZGwoaWVwLT5iYXNlICsgaWVwLT5wbGF0X2RhdGEtPnJlZ19v ZmZzW0lDU1NfSUVQX0NPVU5UX1JFRzBdKTsKPj4+ICvCoMKgwqAgcHRwX3JlYWRfc3lzdGVtX3Bv c3R0cyhzdHMpOwo+Pj4gK8KgwqDCoCBpZiAoaWVwLT5wbGF0X2RhdGEtPmZsYWdzICYgSUNTU19J RVBfNjRCSVRfQ09VTlRFUl9TVVBQT1JUKQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHRzX2hpID0gcmVh ZGwoaWVwLT5iYXNlICsgaWVwLT5wbGF0X2RhdGEtPnJlZ19vZmZzW0lDU1NfSUVQX0NPVU5UX1JF RzFdKTsKPj4+ICsKPj4+ICvCoMKgwqAgbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwo+Pj4gKwo+ Pj4gK8KgwqDCoCByZXR1cm4gKHU2NCl0c19sbyB8ICh1NjQpdHNfaGkgPDwgMzI7Cj4+PiArfQo+ Pj4gKwo+Pj4gK3N0YXRpYyB2b2lkIGljc3NfaWVwX2VuYWJsZShzdHJ1Y3QgaWNzc19pZXAgKmll cCkKPj4+ICt7Cj4+PiArwqDCoMKgIHJlZ21hcF91cGRhdGVfYml0cyhpZXAtPm1hcCwgSUNTU19J RVBfR0xPQkFMX0NGR19SRUcsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBJRVBf R0xPQkFMX0NGR19DTlRfRU5BQkxFLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg SUVQX0dMT0JBTF9DRkdfQ05UX0VOQUJMRSk7Cj4+PiArfQo+Pj4gKwo+PiA8c25pcD4KPj4KPiAK Ci0tIApjaGVlcnMsCi1yb2dlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=