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 0985DEEAA7A for ; Thu, 14 Sep 2023 22:16:11 +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-Type: Content-Transfer-Encoding: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=a0ygjaal38Ud/rkdRcdJJIOqKAxcK3g9z0cKhx57VyU=; b=RA0KNN0Yj9/zKu UtDM5L4R90ANfFkITSo5My+9TW4fGvDxMSgdIvryUjVJvSuOjfGE5E8R+kgDV+hpyhQslRJju4Bcn e3s4KXI5h6HSx/3b60Vz1fyszGwKJjTIy6/SdYUYcW+fnJL7C/IKz4AYCIrJhtkBy7vw4+d0vRo+W E1f9mvV9Qev1AUnxaE+9VWxlajn3O97zxpTkMuFOj2rxkpkehW9oeX2hAJdUxNbrVZJ9KGgDZk3Fn Hy9GVdw2ZDWMHaqEB+0iZF3dhPfN9+vij/yRBaGeaTABeAGAVWInbqJdy7OW9DlaTh4llxxOiVQWA AonXT7Py/3A0VS2h+bIw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qgucZ-009M3U-1U; Thu, 14 Sep 2023 22:15:35 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qgucV-009M2Z-2D; Thu, 14 Sep 2023 22:15:34 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 959BA1FB; Thu, 14 Sep 2023 15:15:57 -0700 (PDT) Received: from [10.57.93.68] (unknown [10.57.93.68]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DE2723F738; Thu, 14 Sep 2023 15:15:17 -0700 (PDT) Message-ID: Date: Thu, 14 Sep 2023 23:15:09 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH v11 1/5] staging: vc04_services: vchiq_arm: Add new bus type and device type Content-Language: en-GB To: Stefan Wahren , Umang Jain , linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stefan Wahren , Greg Kroah-Hartman , Florian Fainelli , Adrien Thierry , Dan Carpenter , Dave Stevenson , Kieran Bingham , Laurent Pinchart References: <20230913195354.835884-1-umang.jain@ideasonboard.com> <20230913195354.835884-2-umang.jain@ideasonboard.com> <5e7aff1e-82de-2ec4-4d30-2b1f37ed2eed@gmx.net> From: Robin Murphy In-Reply-To: <5e7aff1e-82de-2ec4-4d30-2b1f37ed2eed@gmx.net> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230914_151531_843990_6140A74F X-CRM114-Status: GOOD ( 29.72 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyMy0wOS0xMyAyMTo1OCwgU3RlZmFuIFdhaHJlbiB3cm90ZToKPiBIaSBVbWFuZywKPiAK PiBBbSAxMy4wOS4yMyB1bSAyMTo1MyBzY2hyaWViIFVtYW5nIEphaW46Cj4+IFRoZSBkZXZpY2Vz IHRoYXQgdGhlIHZjaGlxIGludGVyZmFjZSByZWdpc3RlcnMgKGJjbTI4MzUtYXVkaW8sCj4+IGJj bTI4MzUtY2FtZXJhKSBhcmUgaW1wbGVtZW50ZWQgYW5kIGV4cG9zZWQgYnkgdGhlIFZDMDQgZmly bXdhcmUuCj4+IFRoZSBkZXZpY2UgdHJlZSBkZXNjcmliZXMgdGhlIFZDMDQgaXRzZWxmIHdpdGgg dGhlIHJlc291cmNlcyByZXF1aXJlZAo+PiB0byBjb21tdW5pY2F0ZSB3aXRoIGl0IHRocm91Z2gg YSBtYWlsYm94IGludGVyZmFjZS4gSG93ZXZlciwgdGhlCj4+IHZjaGlxIGludGVyZmFjZSByZWdp c3RlcnMgdGhlc2UgZGV2aWNlcyBhcyBwbGF0Zm9ybSBkZXZpY2VzLiBUaGlzCj4+IGFsc28gbWVh bnMgdGhlIHNwZWNpZmljIGRyaXZlcnMgZm9yIHRoZXNlIGRldmljZXMgYXJlIGdldHRpbmcKPj4g cmVnaXN0ZXJlZCBhcyBwbGF0Zm9ybSBkcml2ZXJzLiBUaGlzIGlzIG5vdCBjb3JyZWN0IGFuZCBh IGJsYXRhbnQKPj4gYWJ1c2Ugb2YgcGxhdGZvcm0gZGV2aWNlL2RyaXZlci4KPj4KPj4gQWRkIGEg bmV3IGJ1cyB0eXBlLCB2Y2hpcV9idXNfdHlwZSBhbmQgZGV2aWNlIHR5cGUgKHN0cnVjdCB2Y2hp cV9kZXZpY2UpCj4+IHdoaWNoIHdpbGwgYmUgdXNlZCB0byBtaWdyYXRlIGNoaWxkIGRldmljZXMg dGhhdCB0aGUgdmNoaXEgaW50ZXJmYWNlcwo+PiBjcmVhdGVzL3JlZ2lzdGVycyBmcm9tIHRoZSBw bGF0Zm9ybSBkZXZpY2UvZHJpdmVyLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBVbWFuZyBKYWluIDx1 bWFuZy5qYWluQGlkZWFzb25ib2FyZC5jb20+Cj4+IC0tLQo+PiDCoCBkcml2ZXJzL3N0YWdpbmcv dmMwNF9zZXJ2aWNlcy9NYWtlZmlsZcKgwqDCoMKgwqDCoMKgIHzCoMKgIDEgKwo+PiDCoCAuLi4v aW50ZXJmYWNlL3ZjaGlxX2FybS92Y2hpcV9kZXZpY2UuY8KgwqDCoMKgwqDCoMKgIHwgMTExICsr KysrKysrKysrKysrKysrKwo+PiDCoCAuLi4vaW50ZXJmYWNlL3ZjaGlxX2FybS92Y2hpcV9kZXZp Y2UuaMKgwqDCoMKgwqDCoMKgIHzCoCA1NCArKysrKysrKysKPj4gwqAgMyBmaWxlcyBjaGFuZ2Vk LCAxNjYgaW5zZXJ0aW9ucygrKQo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgCj4+IGRyaXZlcnMv c3RhZ2luZy92YzA0X3NlcnZpY2VzL2ludGVyZmFjZS92Y2hpcV9hcm0vdmNoaXFfZGV2aWNlLmMK Pj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IAo+PiBkcml2ZXJzL3N0YWdpbmcvdmMwNF9zZXJ2aWNl cy9pbnRlcmZhY2UvdmNoaXFfYXJtL3ZjaGlxX2RldmljZS5oCj4+Cj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3N0YWdpbmcvdmMwNF9zZXJ2aWNlcy9NYWtlZmlsZSAKPj4gYi9kcml2ZXJzL3N0YWdp bmcvdmMwNF9zZXJ2aWNlcy9NYWtlZmlsZQo+PiBpbmRleCA0NDc5NGJkZjYxNzMuLjJkMDcxZTU1 ZTE3NSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL3ZjMDRfc2VydmljZXMvTWFrZWZp bGUKPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL3ZjMDRfc2VydmljZXMvTWFrZWZpbGUKPj4gQEAg LTUsNiArNSw3IEBAIHZjaGlxLW9ianMgOj0gXAo+PiDCoMKgwqDCoCBpbnRlcmZhY2UvdmNoaXFf YXJtL3ZjaGlxX2NvcmUub8KgIFwKPj4gwqDCoMKgwqAgaW50ZXJmYWNlL3ZjaGlxX2FybS92Y2hp cV9hcm0ubyBcCj4+IMKgwqDCoMKgIGludGVyZmFjZS92Y2hpcV9hcm0vdmNoaXFfZGVidWdmcy5v IFwKPj4gK8KgwqAgaW50ZXJmYWNlL3ZjaGlxX2FybS92Y2hpcV9kZXZpY2UubyBcCj4+IMKgwqDC oMKgIGludGVyZmFjZS92Y2hpcV9hcm0vdmNoaXFfY29ubmVjdGVkLm8gXAo+Pgo+PiDCoCBpZmRl ZiBDT05GSUdfVkNISVFfQ0RFVgo+PiBkaWZmIC0tZ2l0IAo+PiBhL2RyaXZlcnMvc3RhZ2luZy92 YzA0X3NlcnZpY2VzL2ludGVyZmFjZS92Y2hpcV9hcm0vdmNoaXFfZGV2aWNlLmMgCj4+IGIvZHJp dmVycy9zdGFnaW5nL3ZjMDRfc2VydmljZXMvaW50ZXJmYWNlL3ZjaGlxX2FybS92Y2hpcV9kZXZp Y2UuYwo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmFhZDU1 YzQ2MTkwNQo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy92YzA0X3Nl cnZpY2VzL2ludGVyZmFjZS92Y2hpcV9hcm0vdmNoaXFfZGV2aWNlLmMKPj4gQEAgLTAsMCArMSwx MTEgQEAKPj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4+ICsvKgo+PiAr ICogdmNoaXFfZGV2aWNlLmMgLSBWQ0hJUSBnZW5lcmljIGRldmljZSBhbmQgYnVzLXR5cGUKPj4g KyAqCj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjMgSWRlYXMgT24gQm9hcmQgT3kKPj4gKyAqLwo+ PiArCj4+ICsjaW5jbHVkZSA8bGludXgvZGV2aWNlL2J1cy5oPgo+PiArI2luY2x1ZGUgPGxpbnV4 L2RtYS1tYXBwaW5nLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+Cj4+ICsjaW5j bHVkZSA8bGludXgvc2xhYi5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgo+PiArCj4+ ICsjaW5jbHVkZSAidmNoaXFfZGV2aWNlLmgiCj4+ICsKPj4gK3N0YXRpYyBpbnQgdmNoaXFfYnVz X3R5cGVfbWF0Y2goc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgCj4+IGRldmljZV9kcml2ZXIg KmRydikKPj4gK3sKPj4gK8KgwqDCoCBpZiAoZGV2LT5idXMgPT0gJnZjaGlxX2J1c190eXBlICYm Cj4+ICvCoMKgwqDCoMKgwqDCoCBzdHJjbXAoZGV2X25hbWUoZGV2KSwgZHJ2LT5uYW1lKSA9PSAw KQo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIDE7Cj4+ICsKPj4gK8KgwqDCoCByZXR1cm4gMDsK Pj4gK30KPj4gKwo+PiArc3RhdGljIGludCB2Y2hpcV9idXNfdWV2ZW50KGNvbnN0IHN0cnVjdCBk ZXZpY2UgKmRldiwgc3RydWN0IAo+PiBrb2JqX3VldmVudF9lbnYgKmVudikKPj4gK3sKPj4gK8Kg wqDCoCBjb25zdCBzdHJ1Y3QgdmNoaXFfZGV2aWNlICpkZXZpY2UgPSBjb250YWluZXJfb2ZfY29u c3QoZGV2LCAKPj4gc3RydWN0IHZjaGlxX2RldmljZSwgZGV2KTsKPj4gKwo+PiArwqDCoMKgIHJl dHVybiBhZGRfdWV2ZW50X3ZhcihlbnYsICJNT0RBTElBUz0lcyIsIGRldl9uYW1lKCZkZXZpY2Ut PmRldikpOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW50IHZjaGlxX2J1c19wcm9iZShzdHJ1Y3Qg ZGV2aWNlICpkZXYpCj4+ICt7Cj4+ICvCoMKgwqAgc3RydWN0IHZjaGlxX2RldmljZSAqZGV2aWNl ID0gdG9fdmNoaXFfZGV2aWNlKGRldik7Cj4+ICvCoMKgwqAgc3RydWN0IHZjaGlxX2RyaXZlciAq ZHJpdmVyID0gdG9fdmNoaXFfZHJpdmVyKGRldi0+ZHJpdmVyKTsKPj4gK8KgwqDCoCBpbnQgcmV0 Owo+PiArCj4+ICvCoMKgwqAgcmV0ID0gZHJpdmVyLT5wcm9iZShkZXZpY2UpOwo+PiArwqDCoMKg IGlmIChyZXQgPT0gMCkKPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAwOwo+PiArCj4+ICvCoMKg wqAgcmV0dXJuIHJldDsKPj4gK30KPj4gKwo+PiArc3RydWN0IGJ1c190eXBlIHZjaGlxX2J1c190 eXBlID0gewo+PiArwqDCoMKgIC5uYW1lwqDCoCA9ICJ2Y2hpcS1idXMiLAo+PiArwqDCoMKgIC5t YXRjaMKgID0gdmNoaXFfYnVzX3R5cGVfbWF0Y2gsCj4+ICvCoMKgwqAgLnVldmVudCA9IHZjaGlx X2J1c191ZXZlbnQsCj4+ICvCoMKgwqAgLnByb2JlwqAgPSB2Y2hpcV9idXNfcHJvYmUsCj4+ICt9 Owo+PiArCj4+ICtzdGF0aWMgdm9pZCB2Y2hpcV9kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZGV2aWNl ICpkZXYpCj4+ICt7Cj4+ICvCoMKgwqAgc3RydWN0IHZjaGlxX2RldmljZSAqZGV2aWNlID0gdG9f dmNoaXFfZGV2aWNlKGRldik7Cj4+ICsKPj4gK8KgwqDCoCBrZnJlZShkZXZpY2UpOwo+PiArfQo+ PiArCj4+ICtzdHJ1Y3QgdmNoaXFfZGV2aWNlICoKPj4gK3ZjaGlxX2RldmljZV9yZWdpc3Rlcihz dHJ1Y3QgZGV2aWNlICpwYXJlbnQsIGNvbnN0IGNoYXIgKm5hbWUpCj4+ICt7Cj4+ICvCoMKgwqAg c3RydWN0IHZjaGlxX2RldmljZSAqZGV2aWNlOwo+PiArwqDCoMKgIGludCByZXQ7Cj4+ICsKPj4g K8KgwqDCoCBkZXZpY2UgPSBremFsbG9jKHNpemVvZigqZGV2aWNlKSwgR0ZQX0tFUk5FTCk7Cj4+ ICvCoMKgwqAgaWYgKCFkZXZpY2UpIHsKPj4gK8KgwqDCoMKgwqDCoMKgIGRldl9lcnIocGFyZW50 LCAiQ2Fubm90IHJlZ2lzdGVyICVzOiBJbnN1ZmZpY2llbnQgbWVtb3J5XG4iLAo+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBuYW1lKTsKPiBBRkFJSyBremFsbG9jIGFscmVhZHkgbG9ncyBhbiBl cnJvciBpbiBjYXNlIG9mIGluc3VmZmljaWVudCBtZW1vcnksIHNvCj4gdGhlcmUgaXMgbm8gbmVl ZCBmb3IgdGhpcy4KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBOVUxMOwo+PiArwqDCoMKgIH0K Pj4gKwo+PiArwqDCoMKgIGRldmljZS0+ZGV2LmluaXRfbmFtZSA9IG5hbWU7Cj4+ICvCoMKgwqAg ZGV2aWNlLT5kZXYucGFyZW50ID0gcGFyZW50Owo+PiArwqDCoMKgIGRldmljZS0+ZGV2LmJ1cyA9 ICZ2Y2hpcV9idXNfdHlwZTsKPj4gK8KgwqDCoCBkZXZpY2UtPmRldi5yZWxlYXNlID0gdmNoaXFf ZGV2aWNlX3JlbGVhc2U7Cj4+ICsKPj4gK8KgwqDCoCBvZl9kbWFfY29uZmlndXJlKCZkZXZpY2Ut PmRldiwgcGFyZW50LT5vZl9ub2RlLCB0cnVlKTsKPj4gK8KgwqDCoCByZXQgPSBkbWFfc2V0X21h c2tfYW5kX2NvaGVyZW50KCZkZXZpY2UtPmRldiwgRE1BX0JJVF9NQVNLKDMyKSk7Cj4gIEZyb20g bXkgdW5kZXJzdGFuZCBSb2JpbiBzdWdnZXN0ZWQgdG8gZHJvcCBkbWFfc2V0X21hc2tfYW5kX2Nv aGVyZW50KCkKPiBoZXJlLCB0b28uIEluIGNhc2UgdGhpcyBjYXVzZSBhIHJlZ3Jlc3Npb24gdW50 aWwgcGF0Y2ggMyAmIDQgYXJlCj4gYXBwbGllZC4gVGhlIERNQSBtYXNrIHBhcnRzIHNob3VsZCBi ZSBhcHBsaWVkIHNlcGFyYXRlbHkgYmVmb3JlIHRoaXMgcGF0Y2guCgpJbmRlZWQsIGhlcmUgd2Ug c2hvdWxkIGhhdmUgImRldmljZS0+ZGV2LmRtYV9tYXNrID0gCiZkZXZpY2UtPmRldi5kbWFfY29o ZXJlbnRfbWFzazsiLCB1bmNvbmRpdGlvbmFsbHksIGJlZm9yZSAKb2ZfZG1hX2NvbmZpZ3VyZSgp IGlzIGNhbGxlZCwgYW5kIHdlIHNob3VsZCAqbm90KiBiZSBjYWxsaW5nIApkbWFfc2V0X21hc2tf YW5kX2NvaGVyZW50KCkgYXQgYWxsLiBUaGF0IHdpbGwgdGhlbiBiZSBlcXVpdmFsZW50IHRvIHdo YXQgCnRoZSBwbGF0Zm9ybSBidXMgY29kZSB3YXMgcHJldmlvdXNseSBkb2luZyBmb3IgdGhlc2Ug ZGV2aWNlcy4KClRoZSB2Y2hpcV9kZXZpY2UgZHJpdmVycyBjYW4gdGhlbiBjYWxsIGRtYV9zZXRf bWFza19hbmRfY29oZXJlbnQoKSBpZiAKdGhleSBuZWVkIHRvIChBRkFJQ1MgSSdtIG5vdCBzdXJl IGlmIHRoZXkncmUgYWN0dWFsbHkgdXNpbmcgRE1BIGF0IHRoZSAKbW9tZW50PykgYW5kIHNob3Vs ZCBub3QgdG91Y2ggZGV2LT5kbWFfbWFzayBkaXJlY3RseS4gVGhhdCBkb2VzIG5vdCBuZWVkIAp0 byBiZSBkb25lIGluIGFueSBwYXJ0aWN1bGFyIG9yZGVyIHJlbGF0aXZlIHRvIHRoaXMgcGF0Y2gs IHNpbmNlIHRoZSAKdHJ1dGggaXMgdGhhdCBvZl9kbWFfY29uZmlndXJlKCkgd2lsbCBzdGlsbCBp bml0aWFsaXNlIHRoZSBtYXNrcyB0byAzMiAKYml0cyBieSBkZWZhdWx0IGFueXdheSAoYXMgaXQg Y3VycmVudGx5IGRvZXMgZm9yIHRoZSBwbGF0Zm9ybSBkZXZpY2VzKSwgCmhvd2V2ZXIgaXQgaXMg c3RpbGwgY29ycmVjdCB0byBhZGQgZXhwbGljaXQgY2FsbHMgKGFuZCBoYW5kbGUgdGhlaXIgCnBv dGVudGlhbCBmYWlsdXJlIGlmIERNQSBpcyBlbnRpcmVseSB1bnVzYWJsZSksIGFuZCBub3Qgc2lt cGx5IGFzc3VtZSAKdGhhdCB0aGUgZGVmYXVsdCBtYXNrcyBhcmUgT0suCgpIb3BlIHRoYXQncyBj bGVhci4KClRoYW5rcywKUm9iaW4uCgo+PiArwqDCoMKgIGlmIChyZXQpIHsKPj4gK8KgwqDCoMKg wqDCoMKgIGRldl9lcnIoJmRldmljZS0+ZGV2LCAiMzItYml0IERNQSBlbmFibGUgZmFpbGVkXG4i KTsKPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBOVUxMOwo+PiArwqDCoMKgIH0KPj4gKwo+PiAr wqDCoMKgIHJldCA9IGRldmljZV9yZWdpc3RlcigmZGV2aWNlLT5kZXYpOwo+PiArwqDCoMKgIGlm IChyZXQpIHsKPj4gK8KgwqDCoMKgwqDCoMKgIGRldl9lcnIocGFyZW50LCAiQ2Fubm90IHJlZ2lz dGVyICVzOiAlZFxuIiwgbmFtZSwgcmV0KTsKPj4gK8KgwqDCoMKgwqDCoMKgIHB1dF9kZXZpY2Uo JmRldmljZS0+ZGV2KTsKPiBBbHNvIFJvYmluIHBvaW50ZWQgb3V0IHRoYXQgdGhlcmUgaXMgYSBt ZW1vcnkgbGVhayBpbiB0aGUgZXJyb3IgcGF0aCwKPiBiZWNhdXNlIHRoZSAiZGV2aWNlIiBnZXQg bG9zdC4KPiAKPiBUaGFua3MgU3RlZmFuCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gTlVMTDsK Pj4gK8KgwqDCoCB9Cj4+ICsKPj4gK8KgwqDCoCByZXR1cm4gZGV2aWNlOwo+PiArfQo+PiArCj4+ ICt2b2lkIHZjaGlxX2RldmljZV91bnJlZ2lzdGVyKHN0cnVjdCB2Y2hpcV9kZXZpY2UgKnZjaGlx X2RldikKPj4gK3sKPj4gK8KgwqDCoCBkZXZpY2VfdW5yZWdpc3RlcigmdmNoaXFfZGV2LT5kZXYp Owo+PiArfQo+PiArCj4+ICtpbnQgdmNoaXFfZHJpdmVyX3JlZ2lzdGVyKHN0cnVjdCB2Y2hpcV9k cml2ZXIgKnZjaGlxX2RydikKPj4gK3sKPj4gK8KgwqDCoCB2Y2hpcV9kcnYtPmRyaXZlci5idXMg PSAmdmNoaXFfYnVzX3R5cGU7Cj4+ICsKPj4gK8KgwqDCoCByZXR1cm4gZHJpdmVyX3JlZ2lzdGVy KCZ2Y2hpcV9kcnYtPmRyaXZlcik7Cj4+ICt9Cj4+ICtFWFBPUlRfU1lNQk9MX0dQTCh2Y2hpcV9k cml2ZXJfcmVnaXN0ZXIpOwo+PiArCj4+ICt2b2lkIHZjaGlxX2RyaXZlcl91bnJlZ2lzdGVyKHN0 cnVjdCB2Y2hpcV9kcml2ZXIgKnZjaGlxX2RydikKPj4gK3sKPj4gK8KgwqDCoCBkcml2ZXJfdW5y ZWdpc3RlcigmdmNoaXFfZHJ2LT5kcml2ZXIpOwo+PiArfQo+PiArRVhQT1JUX1NZTUJPTF9HUEwo dmNoaXFfZHJpdmVyX3VucmVnaXN0ZXIpOwo+PiBkaWZmIC0tZ2l0IAo+PiBhL2RyaXZlcnMvc3Rh Z2luZy92YzA0X3NlcnZpY2VzL2ludGVyZmFjZS92Y2hpcV9hcm0vdmNoaXFfZGV2aWNlLmggCj4+ IGIvZHJpdmVycy9zdGFnaW5nL3ZjMDRfc2VydmljZXMvaW50ZXJmYWNlL3ZjaGlxX2FybS92Y2hp cV9kZXZpY2UuaAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAu LjdlYWFmOWE5MWNkYQo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy92 YzA0X3NlcnZpY2VzL2ludGVyZmFjZS92Y2hpcV9hcm0vdmNoaXFfZGV2aWNlLmgKPj4gQEAgLTAs MCArMSw1NCBAQAo+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8KPj4g Ky8qCj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjMgSWRlYXMgT24gQm9hcmQgT3kKPj4gKyAqLwo+ PiArCj4+ICsjaWZuZGVmIF9WQ0hJUV9ERVZJQ0VfSAo+PiArI2RlZmluZSBfVkNISVFfREVWSUNF X0gKPj4gKwo+PiArI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgo+PiArCj4+ICtzdHJ1Y3QgdmNo aXFfZGV2aWNlIHsKPj4gK8KgwqDCoCBzdHJ1Y3QgZGV2aWNlIGRldjsKPj4gK307Cj4+ICsKPj4g K3N0cnVjdCB2Y2hpcV9kcml2ZXIgewo+PiArwqDCoMKgIGludMKgwqDCoMKgwqDCoMKgICgqcHJv YmUpKHN0cnVjdCB2Y2hpcV9kZXZpY2UgKmRldmljZSk7Cj4+ICvCoMKgwqAgdm9pZMKgwqDCoMKg wqDCoMKgICgqcmVtb3ZlKShzdHJ1Y3QgdmNoaXFfZGV2aWNlICpkZXZpY2UpOwo+PiArwqDCoMKg IGludMKgwqDCoMKgwqDCoMKgICgqcmVzdW1lKShzdHJ1Y3QgdmNoaXFfZGV2aWNlICpkZXZpY2Up Owo+PiArwqDCoMKgIGludMKgwqDCoMKgwqDCoMKgICgqc3VzcGVuZCkoc3RydWN0IHZjaGlxX2Rl dmljZSAqZGV2aWNlLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBt X21lc3NhZ2VfdCBzdGF0ZSk7Cj4+ICvCoMKgwqAgc3RydWN0IGRldmljZV9kcml2ZXIgZHJpdmVy Owo+PiArfTsKPj4gKwo+PiArc3RhdGljIGlubGluZSBzdHJ1Y3QgdmNoaXFfZGV2aWNlICp0b192 Y2hpcV9kZXZpY2Uoc3RydWN0IGRldmljZSAqZCkKPj4gK3sKPj4gK8KgwqDCoCByZXR1cm4gY29u dGFpbmVyX29mKGQsIHN0cnVjdCB2Y2hpcV9kZXZpY2UsIGRldik7Cj4+ICt9Cj4+ICsKPj4gK3N0 YXRpYyBpbmxpbmUgc3RydWN0IHZjaGlxX2RyaXZlciAqdG9fdmNoaXFfZHJpdmVyKHN0cnVjdCAK Pj4gZGV2aWNlX2RyaXZlciAqZCkKPj4gK3sKPj4gK8KgwqDCoCByZXR1cm4gY29udGFpbmVyX29m KGQsIHN0cnVjdCB2Y2hpcV9kcml2ZXIsIGRyaXZlcik7Cj4+ICt9Cj4+ICsKPj4gK2V4dGVybiBz dHJ1Y3QgYnVzX3R5cGUgdmNoaXFfYnVzX3R5cGU7Cj4+ICsKPj4gK3N0cnVjdCB2Y2hpcV9kZXZp Y2UgKgo+PiArdmNoaXFfZGV2aWNlX3JlZ2lzdGVyKHN0cnVjdCBkZXZpY2UgKnBhcmVudCwgY29u c3QgY2hhciAqbmFtZSk7Cj4+ICt2b2lkIHZjaGlxX2RldmljZV91bnJlZ2lzdGVyKHN0cnVjdCB2 Y2hpcV9kZXZpY2UgKmRldik7Cj4+ICsKPj4gK2ludCB2Y2hpcV9kcml2ZXJfcmVnaXN0ZXIoc3Ry dWN0IHZjaGlxX2RyaXZlciAqdmNoaXFfZHJ2KTsKPj4gK3ZvaWQgdmNoaXFfZHJpdmVyX3VucmVn aXN0ZXIoc3RydWN0IHZjaGlxX2RyaXZlciAqdmNoaXFfZHJ2KTsKPj4gKwo+PiArLyoqCj4+ICsg KiBtb2R1bGVfdmNoaXFfZHJpdmVyKCkgLSBIZWxwZXIgbWFjcm8gZm9yIHJlZ2lzdGVyaW5nIGEg dmNoaXEgZHJpdmVyCj4+ICsgKiBAX192Y2hpcV9kcml2ZXI6IHZjaGlxIGRyaXZlciBzdHJ1Y3QK Pj4gKyAqCj4+ICsgKiBIZWxwZXIgbWFjcm8gZm9yIHZjaGlxIGRyaXZlcnMgd2hpY2ggZG8gbm90 IGRvIGFueXRoaW5nIHNwZWNpYWwgaW4KPj4gKyAqIG1vZHVsZSBpbml0L2V4aXQuIFRoaXMgZWxp bWluYXRlcyBhIGxvdCBvZiBib2lsZXJwbGF0ZS4gRWFjaCAKPj4gbW9kdWxlIG1heSBvbmx5Cj4+ ICsgKiB1c2UgdGhpcyBtYWNybyBvbmNlLCBhbmQgY2FsbGluZyBpdCByZXBsYWNlcyBtb2R1bGVf aW5pdCgpIGFuZCAKPj4gbW9kdWxlX2V4aXQoKQo+PiArICovCj4+ICsjZGVmaW5lIG1vZHVsZV92 Y2hpcV9kcml2ZXIoX192Y2hpcV9kcml2ZXIpIFwKPj4gK8KgwqDCoCBtb2R1bGVfZHJpdmVyKF9f dmNoaXFfZHJpdmVyLCB2Y2hpcV9kcml2ZXJfcmVnaXN0ZXIsIAo+PiB2Y2hpcV9kcml2ZXJfdW5y ZWdpc3RlcikKPj4gKwo+PiArI2VuZGlmIC8qIF9WQ0hJUV9ERVZJQ0VfSCAqLwo+IAo+IAo+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gbGludXgtYXJt LWtlcm5lbCBtYWlsaW5nIGxpc3QKPiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5v cmcKPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFy bS1rZXJuZWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LWFybS1rZXJuZWwK