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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 1132DCD5BC9 for ; Mon, 25 May 2026 20:31:06 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7A2BC10E3EB; Mon, 25 May 2026 20:31:05 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="WJYYiquo"; dkim-atps=neutral Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by gabe.freedesktop.org (Postfix) with ESMTPS id E15CB10E3EB for ; Mon, 25 May 2026 20:31:04 +0000 (UTC) Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 57111600BB; Mon, 25 May 2026 20:31:04 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5ED0F1F000E9; Mon, 25 May 2026 20:30:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1779741064; bh=aO3Sx4h2WwjmkdD/wEAhzhvqYD9OmYrnQfNGx5fX4B4=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=WJYYiquoFste45dI5X1p/U0FBDziI2y9CyLESK8EbDKtJZ8Ey/gaExSDdiLCONUiU JT961ypmnu5ApHtjS371eqqwBnqZ3RsGDgr06/Epn9wAUQ/11cVoVbNQdSHnEB+QZ+ 0mRMYiSBUhRze4YLaDxYzdgiPUuGXyaqDxCyi1r+eiJF3ZkPLV7U8wIpj0hqgUb+OC 7pwXjkZmL9hllPC3xlv4NvhecHxyaRXr9ZOaz+gq6KZISaAejHheqgsNVhHSyh+Yj6 +fyKDA3QfZJOmCoyluOl3ZaBr6LjVqDOEqZKsIBK/91DVQPxnp4D4jSOHJsDZtyQAi 4uNyWHw0umvRQ== From: Danilo Krummrich To: gregkh@linuxfoundation.org, rafael@kernel.org, acourbot@nvidia.com, aliceryhl@google.com, david.m.ertman@intel.com, ira.weiny@intel.com, leon@kernel.org, viresh.kumar@linaro.org, m.wilczynski@samsung.com, ukleinek@kernel.org, bhelgaas@google.com, kwilczynski@kernel.org, abdiel.janulgue@gmail.com, robin.murphy@arm.com, markus.probst@posteo.de, ojeda@kernel.org, boqun@kernel.org, gary@garyguo.net, bjorn3_gh@protonmail.com, lossin@kernel.org, a.hindborg@kernel.org, tmgross@umich.edu, igor.korotin@linux.dev, daniel.almeida@collabora.com, pcolberg@redhat.com Cc: driver-core@lists.linux.dev, linux-kernel@vger.kernel.org, nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org, linux-pm@vger.kernel.org, linux-pwm@vger.kernel.org, linux-pci@vger.kernel.org, rust-for-linux@vger.kernel.org, Danilo Krummrich Subject: [PATCH v5 13/24] rust: platform: make Driver trait lifetime-parameterized Date: Mon, 25 May 2026 22:21:00 +0200 Message-ID: <20260525202921.124698-14-dakr@kernel.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260525202921.124698-1-dakr@kernel.org> References: <20260525202921.124698-1-dakr@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" QWRkIGEgJ2JvdW5kIGxpZmV0aW1lIHRvIHRoZSBhc3NvY2lhdGVkIERhdGEsIGNoYW5naW5nIHR5 cGUgRGF0YSB0byB0eXBlCkRhdGE8J2JvdW5kPi4KClRoaXMgYWxsb3dzIHRoZSBkcml2ZXIncyBi dXMgZGV2aWNlIHByaXZhdGUgZGF0YSB0byBjYXB0dXJlIHRoZSBkZXZpY2UgLwpkcml2ZXIgYm91 bmQgbGlmZXRpbWU7IGRldmljZSByZXNvdXJjZXMgY2FuIGJlIHN0b3JlZCBkaXJlY3RseSBieQpy ZWZlcmVuY2UgcmF0aGVyIHRoYW4gcmVxdWlyaW5nIERldnJlcy4KClRoZSBwcm9iZSgpIGFuZCB1 bmJpbmQoKSBjYWxsYmFja3MgdGh1cyBnYWluIGEgJ2JvdW5kIGxpZmV0aW1lIHBhcmFtZXRlcgpv biB0aGUgbWV0aG9kcyB0aGVtc2VsdmVzOyBhdm9pZGluZyBhIGdsb2JhbCBsaWZldGltZSBvbiB0 aGUgdHJhaXQgaW1wbC4KCkV4aXN0aW5nIGRyaXZlcnMgc2V0IHR5cGUgRGF0YTwnYm91bmQ+ID0g U2VsZiwgcHJlc2VydmluZyB0aGUgY3VycmVudApiZWhhdmlvci4KCkFja2VkLWJ5OiBVd2UgS2xl aW5lLUvDtm5pZyA8dWtsZWluZWtAa2VybmVsLm9yZz4KUmV2aWV3ZWQtYnk6IEFsZXhhbmRyZSBD b3VyYm90IDxhY291cmJvdEBudmlkaWEuY29tPgpSZXZpZXdlZC1ieTogR3JlZyBLcm9haC1IYXJ0 bWFuIDxncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz4KU2lnbmVkLW9mZi1ieTogRGFuaWxvIEty dW1tcmljaCA8ZGFrckBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvY3B1ZnJlcS9yY3B1ZnJlcV9k dC5ycyAgICAgICB8IDEwICsrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS90eXIvZHJpdmVyLnJz ICAgICAgICB8IDEwICsrKysrLS0tLS0KIGRyaXZlcnMvcHdtL3B3bV90aDE1MjAucnMgICAgICAg ICAgICB8IDEwICsrKysrLS0tLS0KIHJ1c3Qva2VybmVsL2NwdWZyZXEucnMgICAgICAgICAgICAg ICB8IDEwICsrKysrLS0tLS0KIHJ1c3Qva2VybmVsL2lvL21lbS5ycyAgICAgICAgICAgICAgICB8 IDIwICsrKysrKysrKystLS0tLS0tLS0tCiBydXN0L2tlcm5lbC9wbGF0Zm9ybS5ycyAgICAgICAg ICAgICAgfCAyOCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiBzYW1wbGVzL3J1c3QvcnVz dF9kZWJ1Z2ZzLnJzICAgICAgICAgfCAxMCArKysrKy0tLS0tCiBzYW1wbGVzL3J1c3QvcnVzdF9k cml2ZXJfcGxhdGZvcm0ucnMgfCAxMCArKysrKy0tLS0tCiBzYW1wbGVzL3J1c3QvcnVzdF9pMmNf Y2xpZW50LnJzICAgICAgfCAxNSArKysrKysrKystLS0tLS0KIHNhbXBsZXMvcnVzdC9ydXN0X3Nv Yy5ycyAgICAgICAgICAgICB8IDEwICsrKysrLS0tLS0KIDEwIGZpbGVzIGNoYW5nZWQsIDY4IGlu c2VydGlvbnMoKyksIDY1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3B1ZnJl cS9yY3B1ZnJlcV9kdC5ycyBiL2RyaXZlcnMvY3B1ZnJlcS9yY3B1ZnJlcV9kdC5ycwppbmRleCA1 ZTBiMjI0ZjY2OTkuLjEwMTA2ZmExMzA5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jcHVmcmVxL3Jj cHVmcmVxX2R0LnJzCisrKyBiL2RyaXZlcnMvY3B1ZnJlcS9yY3B1ZnJlcV9kdC5ycwpAQCAtMjAx LDEzICsyMDEsMTMgQEAgZm4gcmVnaXN0ZXJfZW0ocG9saWN5OiAmbXV0IGNwdWZyZXE6OlBvbGlj eSkgewogCiBpbXBsIHBsYXRmb3JtOjpEcml2ZXIgZm9yIENQVUZyZXFEVERyaXZlciB7CiAgICAg dHlwZSBJZEluZm8gPSAoKTsKLSAgICB0eXBlIERhdGEgPSBTZWxmOworICAgIHR5cGUgRGF0YTwn Ym91bmQ+ID0gU2VsZjsKICAgICBjb25zdCBPRl9JRF9UQUJMRTogT3B0aW9uPG9mOjpJZFRhYmxl PFNlbGY6OklkSW5mbz4+ID0gU29tZSgmT0ZfVEFCTEUpOwogCi0gICAgZm4gcHJvYmUoCi0gICAg ICAgIHBkZXY6ICZwbGF0Zm9ybTo6RGV2aWNlPENvcmU8J18+PiwKLSAgICAgICAgX2lkX2luZm86 IE9wdGlvbjwmU2VsZjo6SWRJbmZvPiwKLSAgICApIC0+IGltcGwgUGluSW5pdDxTZWxmLCBFcnJv cj4geworICAgIGZuIHByb2JlPCdib3VuZD4oCisgICAgICAgIHBkZXY6ICYnYm91bmQgcGxhdGZv cm06OkRldmljZTxDb3JlPCdfPj4sCisgICAgICAgIF9pZF9pbmZvOiBPcHRpb248Jidib3VuZCBT ZWxmOjpJZEluZm8+LAorICAgICkgLT4gaW1wbCBQaW5Jbml0PFNlbGYsIEVycm9yPiArICdib3Vu ZCB7CiAgICAgICAgIGNwdWZyZXE6OlJlZ2lzdHJhdGlvbjo6PENQVUZyZXFEVERyaXZlcj46Om5l d19mb3JlaWduX293bmVkKHBkZXYuYXNfcmVmKCkpPzsKICAgICAgICAgT2soU2VsZiB7fSkKICAg ICB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdHlyL2RyaXZlci5ycyBiL2RyaXZlcnMv Z3B1L2RybS90eXIvZHJpdmVyLnJzCmluZGV4IDAwMTcyN2Y0NGZjOC4uNzk3ZjA5ZTIzYTRjIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHlyL2RyaXZlci5ycworKysgYi9kcml2ZXJzL2dw dS9kcm0vdHlyL2RyaXZlci5ycwpAQCAtOTEsMTMgKzkxLDEzIEBAIGZuIGlzc3VlX3NvZnRfcmVz ZXQoZGV2OiAmRGV2aWNlPEJvdW5kPiwgaW9tZW06ICZEZXZyZXM8SW9NZW0+KSAtPiBSZXN1bHQg ewogCiBpbXBsIHBsYXRmb3JtOjpEcml2ZXIgZm9yIFR5clBsYXRmb3JtRHJpdmVyRGF0YSB7CiAg ICAgdHlwZSBJZEluZm8gPSAoKTsKLSAgICB0eXBlIERhdGEgPSBTZWxmOworICAgIHR5cGUgRGF0 YTwnYm91bmQ+ID0gU2VsZjsKICAgICBjb25zdCBPRl9JRF9UQUJMRTogT3B0aW9uPG9mOjpJZFRh YmxlPFNlbGY6OklkSW5mbz4+ID0gU29tZSgmT0ZfVEFCTEUpOwogCi0gICAgZm4gcHJvYmUoCi0g ICAgICAgIHBkZXY6ICZwbGF0Zm9ybTo6RGV2aWNlPENvcmU8J18+PiwKLSAgICAgICAgX2luZm86 IE9wdGlvbjwmU2VsZjo6SWRJbmZvPiwKLSAgICApIC0+IGltcGwgUGluSW5pdDxTZWxmLCBFcnJv cj4geworICAgIGZuIHByb2JlPCdib3VuZD4oCisgICAgICAgIHBkZXY6ICYnYm91bmQgcGxhdGZv cm06OkRldmljZTxDb3JlPCdfPj4sCisgICAgICAgIF9pbmZvOiBPcHRpb248Jidib3VuZCBTZWxm OjpJZEluZm8+LAorICAgICkgLT4gaW1wbCBQaW5Jbml0PFNlbGYsIEVycm9yPiArICdib3VuZCB7 CiAgICAgICAgIGxldCBjb3JlX2NsayA9IENsazo6Z2V0KHBkZXYuYXNfcmVmKCksIFNvbWUoYyJj b3JlIikpPzsKICAgICAgICAgbGV0IHN0YWNrc19jbGsgPSBPcHRpb25hbENsazo6Z2V0KHBkZXYu YXNfcmVmKCksIFNvbWUoYyJzdGFja3MiKSk/OwogICAgICAgICBsZXQgY29yZWdyb3VwX2NsayA9 IE9wdGlvbmFsQ2xrOjpnZXQocGRldi5hc19yZWYoKSwgU29tZShjImNvcmVncm91cCIpKT87CmRp ZmYgLS1naXQgYS9kcml2ZXJzL3B3bS9wd21fdGgxNTIwLnJzIGIvZHJpdmVycy9wd20vcHdtX3Ro MTUyMC5ycwppbmRleCBkZjgzYTRhOWE1MDcuLjZjNWI3OTFmMzE1MyAxMDA2NDQKLS0tIGEvZHJp dmVycy9wd20vcHdtX3RoMTUyMC5ycworKysgYi9kcml2ZXJzL3B3bS9wd21fdGgxNTIwLnJzCkBA IC0zMTYsMTMgKzMxNiwxMyBAQCBmbiBkcm9wKHNlbGY6IFBpbjwmbXV0IFNlbGY+KSB7CiAKIGlt cGwgcGxhdGZvcm06OkRyaXZlciBmb3IgVGgxNTIwUHdtUGxhdGZvcm1Ecml2ZXIgewogICAgIHR5 cGUgSWRJbmZvID0gKCk7Ci0gICAgdHlwZSBEYXRhID0gU2VsZjsKKyAgICB0eXBlIERhdGE8J2Jv dW5kPiA9IFNlbGY7CiAgICAgY29uc3QgT0ZfSURfVEFCTEU6IE9wdGlvbjxvZjo6SWRUYWJsZTxT ZWxmOjpJZEluZm8+PiA9IFNvbWUoJk9GX1RBQkxFKTsKIAotICAgIGZuIHByb2JlKAotICAgICAg ICBwZGV2OiAmcGxhdGZvcm06OkRldmljZTxDb3JlPCdfPj4sCi0gICAgICAgIF9pZF9pbmZvOiBP cHRpb248JlNlbGY6OklkSW5mbz4sCi0gICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwgRXJyb3I+ IHsKKyAgICBmbiBwcm9iZTwnYm91bmQ+KAorICAgICAgICBwZGV2OiAmJ2JvdW5kIHBsYXRmb3Jt OjpEZXZpY2U8Q29yZTwnXz4+LAorICAgICAgICBfaWRfaW5mbzogT3B0aW9uPCYnYm91bmQgU2Vs Zjo6SWRJbmZvPiwKKyAgICApIC0+IGltcGwgUGluSW5pdDxTZWxmLCBFcnJvcj4gKyAnYm91bmQg ewogICAgICAgICBsZXQgZGV2ID0gcGRldi5hc19yZWYoKTsKICAgICAgICAgbGV0IHJlcXVlc3Qg PSBwZGV2LmlvX3JlcXVlc3RfYnlfaW5kZXgoMCkub2tfb3IoRU5PREVWKT87CiAKZGlmZiAtLWdp dCBhL3J1c3Qva2VybmVsL2NwdWZyZXEucnMgYi9ydXN0L2tlcm5lbC9jcHVmcmVxLnJzCmluZGV4 IDBkZjUxOGZhMWQ3Ny4uZDk0YzZjZGJjNDVhIDEwMDY0NAotLS0gYS9ydXN0L2tlcm5lbC9jcHVm cmVxLnJzCisrKyBiL3J1c3Qva2VybmVsL2NwdWZyZXEucnMKQEAgLTg4OCwxMyArODg4LDEzIEBA IGZuIHJlZ2lzdGVyX2VtKF9wb2xpY3k6ICZtdXQgUG9saWN5KSB7CiAvLy8KIC8vLyBpbXBsIHBs YXRmb3JtOjpEcml2ZXIgZm9yIFNhbXBsZURyaXZlciB7CiAvLy8gICAgIHR5cGUgSWRJbmZvID0g KCk7Ci0vLy8gICAgIHR5cGUgRGF0YSA9IFNlbGY7CisvLy8gICAgIHR5cGUgRGF0YTwnYm91bmQ+ ID0gU2VsZjsKIC8vLyAgICAgY29uc3QgT0ZfSURfVEFCTEU6IE9wdGlvbjxvZjo6SWRUYWJsZTxT ZWxmOjpJZEluZm8+PiA9IE5vbmU7CiAvLy8KLS8vLyAgICAgZm4gcHJvYmUoCi0vLy8gICAgICAg ICBwZGV2OiAmcGxhdGZvcm06OkRldmljZTxDb3JlPCdfPj4sCi0vLy8gICAgICAgICBfaWRfaW5m bzogT3B0aW9uPCZTZWxmOjpJZEluZm8+LAotLy8vICAgICApIC0+IGltcGwgUGluSW5pdDxTZWxm LCBFcnJvcj4geworLy8vICAgICBmbiBwcm9iZTwnYm91bmQ+KAorLy8vICAgICAgICAgcGRldjog Jidib3VuZCBwbGF0Zm9ybTo6RGV2aWNlPENvcmU8J18+PiwKKy8vLyAgICAgICAgIF9pZF9pbmZv OiBPcHRpb248Jidib3VuZCBTZWxmOjpJZEluZm8+LAorLy8vICAgICApIC0+IGltcGwgUGluSW5p dDxTZWxmLCBFcnJvcj4gKyAnYm91bmQgewogLy8vICAgICAgICAgY3B1ZnJlcTo6UmVnaXN0cmF0 aW9uOjo8U2FtcGxlRHJpdmVyPjo6bmV3X2ZvcmVpZ25fb3duZWQocGRldi5hc19yZWYoKSk/Owog Ly8vICAgICAgICAgT2soU2VsZiB7fSkKIC8vLyAgICAgfQpkaWZmIC0tZ2l0IGEvcnVzdC9rZXJu ZWwvaW8vbWVtLnJzIGIvcnVzdC9rZXJuZWwvaW8vbWVtLnJzCmluZGV4IDAzZDg3NDViNWUxZC4u NTFiYTM0NzIyMGVlIDEwMDY0NAotLS0gYS9ydXN0L2tlcm5lbC9pby9tZW0ucnMKKysrIGIvcnVz dC9rZXJuZWwvaW8vbWVtLnJzCkBAIC02MiwxMiArNjIsMTIgQEAgcHViKGNyYXRlKSB1bnNhZmUg Zm4gbmV3KGRldmljZTogJidhIERldmljZTxCb3VuZD4sIHJlc291cmNlOiAmJ2EgUmVzb3VyY2Up IC0+IFMKICAgICAvLy8KICAgICAvLy8gaW1wbCBwbGF0Zm9ybTo6RHJpdmVyIGZvciBTYW1wbGVE cml2ZXIgewogICAgIC8vLyAgICAjIHR5cGUgSWRJbmZvID0gKCk7Ci0gICAgLy8vICAgICMgdHlw ZSBEYXRhID0gU2VsZjsKKyAgICAvLy8gICAgIyB0eXBlIERhdGE8J2JvdW5kPiA9IFNlbGY7CiAg ICAgLy8vCi0gICAgLy8vICAgIGZuIHByb2JlKAotICAgIC8vLyAgICAgICBwZGV2OiAmcGxhdGZv cm06OkRldmljZTxDb3JlPCdfPj4sCi0gICAgLy8vICAgICAgIGluZm86IE9wdGlvbjwmU2VsZjo6 SWRJbmZvPiwKLSAgICAvLy8gICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwgRXJyb3I+IHsKKyAg ICAvLy8gICAgZm4gcHJvYmU8J2JvdW5kPigKKyAgICAvLy8gICAgICAgcGRldjogJidib3VuZCBw bGF0Zm9ybTo6RGV2aWNlPENvcmU8J18+PiwKKyAgICAvLy8gICAgICAgaW5mbzogT3B0aW9uPCYn Ym91bmQgU2VsZjo6SWRJbmZvPiwKKyAgICAvLy8gICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwg RXJyb3I+ICsgJ2JvdW5kIHsKICAgICAvLy8gICAgICAgbGV0IG9mZnNldCA9IDA7IC8vIFNvbWUg b2Zmc2V0LgogICAgIC8vLwogICAgIC8vLyAgICAgICAvLyBJZiB0aGUgc2l6ZSBpcyBrbm93biBh dCBjb21waWxlIHRpbWUsIHVzZSBbYFNlbGY6OmlvbWFwX3NpemVkYF0uCkBAIC0xMjcsMTIgKzEy NywxMiBAQCBwdWIgZm4gaW9tYXBfZXhjbHVzaXZlX3NpemVkPGNvbnN0IFNJWkU6IHVzaXplPigK ICAgICAvLy8KICAgICAvLy8gaW1wbCBwbGF0Zm9ybTo6RHJpdmVyIGZvciBTYW1wbGVEcml2ZXIg ewogICAgIC8vLyAgICAjIHR5cGUgSWRJbmZvID0gKCk7Ci0gICAgLy8vICAgICMgdHlwZSBEYXRh ID0gU2VsZjsKKyAgICAvLy8gICAgIyB0eXBlIERhdGE8J2JvdW5kPiA9IFNlbGY7CiAgICAgLy8v Ci0gICAgLy8vICAgIGZuIHByb2JlKAotICAgIC8vLyAgICAgICBwZGV2OiAmcGxhdGZvcm06OkRl dmljZTxDb3JlPCdfPj4sCi0gICAgLy8vICAgICAgIGluZm86IE9wdGlvbjwmU2VsZjo6SWRJbmZv PiwKLSAgICAvLy8gICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwgRXJyb3I+IHsKKyAgICAvLy8g ICAgZm4gcHJvYmU8J2JvdW5kPigKKyAgICAvLy8gICAgICAgcGRldjogJidib3VuZCBwbGF0Zm9y bTo6RGV2aWNlPENvcmU8J18+PiwKKyAgICAvLy8gICAgICAgaW5mbzogT3B0aW9uPCYnYm91bmQg U2VsZjo6SWRJbmZvPiwKKyAgICAvLy8gICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwgRXJyb3I+ ICsgJ2JvdW5kIHsKICAgICAvLy8gICAgICAgbGV0IG9mZnNldCA9IDA7IC8vIFNvbWUgb2Zmc2V0 LgogICAgIC8vLwogICAgIC8vLyAgICAgICAvLyBVbmxpa2UgW2BTZWxmOjppb21hcF9zaXplZGBd LCBoZXJlIHRoZSBzaXplIG9mIHRoZSBtZW1vcnkgcmVnaW9uCmRpZmYgLS1naXQgYS9ydXN0L2tl cm5lbC9wbGF0Zm9ybS5ycyBiL3J1c3Qva2VybmVsL3BsYXRmb3JtLnJzCmluZGV4IDI1N2I3MDg0 MzM4Yy4uZDhkNDhmNjBiMGI5IDEwMDY0NAotLS0gYS9ydXN0L2tlcm5lbC9wbGF0Zm9ybS5ycwor KysgYi9ydXN0L2tlcm5lbC9wbGF0Zm9ybS5ycwpAQCAtNTAsNyArNTAsNyBAQAogLy8gLSBgREVW SUNFX0RSSVZFUl9PRkZTRVRgIGlzIHRoZSBjb3JyZWN0IGJ5dGUgb2Zmc2V0IHRvIHRoZSBlbWJl ZGRlZCBgc3RydWN0IGRldmljZV9kcml2ZXJgLgogdW5zYWZlIGltcGw8VDogRHJpdmVyPiBkcml2 ZXI6OkRyaXZlckxheW91dCBmb3IgQWRhcHRlcjxUPiB7CiAgICAgdHlwZSBEcml2ZXJUeXBlID0g YmluZGluZ3M6OnBsYXRmb3JtX2RyaXZlcjsKLSAgICB0eXBlIERyaXZlckRhdGE8J2JvdW5kPiA9 IFQ6OkRhdGE7CisgICAgdHlwZSBEcml2ZXJEYXRhPCdib3VuZD4gPSBUOjpEYXRhPCdib3VuZD47 CiAgICAgY29uc3QgREVWSUNFX0RSSVZFUl9PRkZTRVQ6IHVzaXplID0gY29yZTo6bWVtOjpvZmZz ZXRfb2YhKFNlbGY6OkRyaXZlclR5cGUsIGRyaXZlcik7CiB9CiAKQEAgLTExNyw4ICsxMTcsOCBA QCBleHRlcm4gIkMiIGZuIHJlbW92ZV9jYWxsYmFjayhwZGV2OiAqbXV0IGJpbmRpbmdzOjpwbGF0 Zm9ybV9kZXZpY2UpIHsKIAogICAgICAgICAvLyBTQUZFVFk6IGByZW1vdmVfY2FsbGJhY2tgIGlz IG9ubHkgZXZlciBjYWxsZWQgYWZ0ZXIgYSBzdWNjZXNzZnVsIGNhbGwgdG8KICAgICAgICAgLy8g YHByb2JlX2NhbGxiYWNrYCwgaGVuY2UgaXQncyBndWFyYW50ZWVkIHRoYXQgYERldmljZTo6c2V0 X2RydmRhdGEoKWAgaGFzIGJlZW4gY2FsbGVkCi0gICAgICAgIC8vIGFuZCBzdG9yZWQgYSBgUGlu PEtCb3g8VDo6RGF0YT4+YC4KLSAgICAgICAgbGV0IGRhdGEgPSB1bnNhZmUgeyBwZGV2LmFzX3Jl ZigpLmRydmRhdGFfYm9ycm93Ojo8VDo6RGF0YT4oKSB9OworICAgICAgICAvLyBhbmQgc3RvcmVk IGEgYFBpbjxLQm94PFQ6OkRhdGE8J18+Pj5gLgorICAgICAgICBsZXQgZGF0YSA9IHVuc2FmZSB7 IHBkZXYuYXNfcmVmKCkuZHJ2ZGF0YV9ib3Jyb3c6OjxUOjpEYXRhPCdfPj4oKSB9OwogCiAgICAg ICAgIFQ6OnVuYmluZChwZGV2LCBkYXRhKTsKICAgICB9CkBAIC0xOTIsMTQgKzE5MiwxNCBAQCBt YWNyb19ydWxlcyEgbW9kdWxlX3BsYXRmb3JtX2RyaXZlciB7CiAvLy8KIC8vLyBpbXBsIHBsYXRm b3JtOjpEcml2ZXIgZm9yIE15RHJpdmVyIHsKIC8vLyAgICAgdHlwZSBJZEluZm8gPSAoKTsKLS8v LyAgICAgdHlwZSBEYXRhID0gU2VsZjsKKy8vLyAgICAgdHlwZSBEYXRhPCdib3VuZD4gPSBTZWxm OwogLy8vICAgICBjb25zdCBPRl9JRF9UQUJMRTogT3B0aW9uPG9mOjpJZFRhYmxlPFNlbGY6Oklk SW5mbz4+ID0gU29tZSgmT0ZfVEFCTEUpOwogLy8vICAgICBjb25zdCBBQ1BJX0lEX1RBQkxFOiBP cHRpb248YWNwaTo6SWRUYWJsZTxTZWxmOjpJZEluZm8+PiA9IFNvbWUoJkFDUElfVEFCTEUpOwog Ly8vCi0vLy8gICAgIGZuIHByb2JlKAotLy8vICAgICAgICAgX3BkZXY6ICZwbGF0Zm9ybTo6RGV2 aWNlPENvcmU8J18+PiwKLS8vLyAgICAgICAgIF9pZF9pbmZvOiBPcHRpb248JlNlbGY6OklkSW5m bz4sCi0vLy8gICAgICkgLT4gaW1wbCBQaW5Jbml0PFNlbGYsIEVycm9yPiB7CisvLy8gICAgIGZu IHByb2JlPCdib3VuZD4oCisvLy8gICAgICAgICBfcGRldjogJidib3VuZCBwbGF0Zm9ybTo6RGV2 aWNlPENvcmU8J18+PiwKKy8vLyAgICAgICAgIF9pZF9pbmZvOiBPcHRpb248Jidib3VuZCBTZWxm OjpJZEluZm8+LAorLy8vICAgICApIC0+IGltcGwgUGluSW5pdDxTZWxmOjpEYXRhPCdib3VuZD4s IEVycm9yPiArICdib3VuZCB7CiAvLy8gICAgICAgICBFcnIoRU5PREVWKQogLy8vICAgICB9CiAv Ly8gfQpAQCAtMjE0LDcgKzIxNCw3IEBAIHB1YiB0cmFpdCBEcml2ZXIgewogICAgIHR5cGUgSWRJ bmZvOiAnc3RhdGljOwogCiAgICAgLy8vIFRoZSB0eXBlIG9mIHRoZSBkcml2ZXIncyBidXMgZGV2 aWNlIHByaXZhdGUgZGF0YS4KLSAgICB0eXBlIERhdGE6IFNlbmQ7CisgICAgdHlwZSBEYXRhPCdi b3VuZD46IFNlbmQgKyAnYm91bmQ7CiAKICAgICAvLy8gVGhlIHRhYmxlIG9mIE9GIGRldmljZSBp ZHMgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIuCiAgICAgY29uc3QgT0ZfSURfVEFCTEU6IE9wdGlv bjxvZjo6SWRUYWJsZTxTZWxmOjpJZEluZm8+PiA9IE5vbmU7CkBAIC0yMjYsMTAgKzIyNiwxMCBA QCBwdWIgdHJhaXQgRHJpdmVyIHsKICAgICAvLy8KICAgICAvLy8gQ2FsbGVkIHdoZW4gYSBuZXcg cGxhdGZvcm0gZGV2aWNlIGlzIGFkZGVkIG9yIGRpc2NvdmVyZWQuCiAgICAgLy8vIEltcGxlbWVu dGVycyBzaG91bGQgYXR0ZW1wdCB0byBpbml0aWFsaXplIHRoZSBkZXZpY2UgaGVyZS4KLSAgICBm biBwcm9iZSgKLSAgICAgICAgZGV2OiAmRGV2aWNlPGRldmljZTo6Q29yZTwnXz4+LAotICAgICAg ICBpZF9pbmZvOiBPcHRpb248JlNlbGY6OklkSW5mbz4sCi0gICAgKSAtPiBpbXBsIFBpbkluaXQ8 U2VsZjo6RGF0YSwgRXJyb3I+OworICAgIGZuIHByb2JlPCdib3VuZD4oCisgICAgICAgIGRldjog Jidib3VuZCBEZXZpY2U8ZGV2aWNlOjpDb3JlPCdfPj4sCisgICAgICAgIGlkX2luZm86IE9wdGlv bjwmJ2JvdW5kIFNlbGY6OklkSW5mbz4sCisgICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZjo6RGF0 YTwnYm91bmQ+LCBFcnJvcj4gKyAnYm91bmQ7CiAKICAgICAvLy8gUGxhdGZvcm0gZHJpdmVyIHVu YmluZC4KICAgICAvLy8KQEAgLTI0MSw3ICsyNDEsNyBAQCBmbiBwcm9iZSgKICAgICAvLy8gb3Bl cmF0aW9ucyB0byBncmFjZWZ1bGx5IHRlYXIgZG93biB0aGUgZGV2aWNlLgogICAgIC8vLwogICAg IC8vLyBPdGhlcndpc2UsIHJlbGVhc2Ugb3BlcmF0aW9ucyBmb3IgZHJpdmVyIHJlc291cmNlcyBz aG91bGQgYmUgcGVyZm9ybWVkIGluIGBEcm9wYC4KLSAgICBmbiB1bmJpbmQoZGV2OiAmRGV2aWNl PGRldmljZTo6Q29yZTwnXz4+LCB0aGlzOiBQaW48JlNlbGY6OkRhdGE+KSB7CisgICAgZm4gdW5i aW5kPCdib3VuZD4oZGV2OiAmJ2JvdW5kIERldmljZTxkZXZpY2U6OkNvcmU8J18+PiwgdGhpczog UGluPCZTZWxmOjpEYXRhPCdib3VuZD4+KSB7CiAgICAgICAgIGxldCBfID0gKGRldiwgdGhpcyk7 CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9ydXN0L3J1c3RfZGVidWdmcy5ycyBiL3Nh bXBsZXMvcnVzdC9ydXN0X2RlYnVnZnMucnMKaW5kZXggMzc2NDBlZDMzNjQyLi4xZjU5ZTA4YWFh NGIgMTAwNjQ0Ci0tLSBhL3NhbXBsZXMvcnVzdC9ydXN0X2RlYnVnZnMucnMKKysrIGIvc2FtcGxl cy9ydXN0L3J1c3RfZGVidWdmcy5ycwpAQCAtMTE3LDE0ICsxMTcsMTQgQEAgZm4gZnJvbV9zdHIo czogJnN0cikgLT4gUmVzdWx0PFNlbGY+IHsKIAogaW1wbCBwbGF0Zm9ybTo6RHJpdmVyIGZvciBS dXN0RGVidWdGcyB7CiAgICAgdHlwZSBJZEluZm8gPSAoKTsKLSAgICB0eXBlIERhdGEgPSBTZWxm OworICAgIHR5cGUgRGF0YTwnYm91bmQ+ID0gU2VsZjsKICAgICBjb25zdCBPRl9JRF9UQUJMRTog T3B0aW9uPG9mOjpJZFRhYmxlPFNlbGY6OklkSW5mbz4+ID0gTm9uZTsKICAgICBjb25zdCBBQ1BJ X0lEX1RBQkxFOiBPcHRpb248YWNwaTo6SWRUYWJsZTxTZWxmOjpJZEluZm8+PiA9IFNvbWUoJkFD UElfVEFCTEUpOwogCi0gICAgZm4gcHJvYmUoCi0gICAgICAgIHBkZXY6ICZwbGF0Zm9ybTo6RGV2 aWNlPENvcmU8J18+PiwKLSAgICAgICAgX2luZm86IE9wdGlvbjwmU2VsZjo6SWRJbmZvPiwKLSAg ICApIC0+IGltcGwgUGluSW5pdDxTZWxmLCBFcnJvcj4geworICAgIGZuIHByb2JlPCdib3VuZD4o CisgICAgICAgIHBkZXY6ICYnYm91bmQgcGxhdGZvcm06OkRldmljZTxDb3JlPCdfPj4sCisgICAg ICAgIF9pbmZvOiBPcHRpb248Jidib3VuZCBTZWxmOjpJZEluZm8+LAorICAgICkgLT4gaW1wbCBQ aW5Jbml0PFNlbGYsIEVycm9yPiArICdib3VuZCB7CiAgICAgICAgIFJ1c3REZWJ1Z0ZzOjpuZXco cGRldikucGluX2NoYWluKHx0aGlzfCB7CiAgICAgICAgICAgICB0aGlzLmNvdW50ZXIuc3RvcmUo OTEsIFJlbGF4ZWQpOwogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9ydXN0L3J1 c3RfZHJpdmVyX3BsYXRmb3JtLnJzIGIvc2FtcGxlcy9ydXN0L3J1c3RfZHJpdmVyX3BsYXRmb3Jt LnJzCmluZGV4IDA0ZDQwZjgzNjI3NS4uZWMwZDZjYWM0ZjU3IDEwMDY0NAotLS0gYS9zYW1wbGVz L3J1c3QvcnVzdF9kcml2ZXJfcGxhdGZvcm0ucnMKKysrIGIvc2FtcGxlcy9ydXN0L3J1c3RfZHJp dmVyX3BsYXRmb3JtLnJzCkBAIC0xMDEsMTQgKzEwMSwxNCBAQCBzdHJ1Y3QgU2FtcGxlRHJpdmVy IHsKIAogaW1wbCBwbGF0Zm9ybTo6RHJpdmVyIGZvciBTYW1wbGVEcml2ZXIgewogICAgIHR5cGUg SWRJbmZvID0gSW5mbzsKLSAgICB0eXBlIERhdGEgPSBTZWxmOworICAgIHR5cGUgRGF0YTwnYm91 bmQ+ID0gU2VsZjsKICAgICBjb25zdCBPRl9JRF9UQUJMRTogT3B0aW9uPG9mOjpJZFRhYmxlPFNl bGY6OklkSW5mbz4+ID0gU29tZSgmT0ZfVEFCTEUpOwogICAgIGNvbnN0IEFDUElfSURfVEFCTEU6 IE9wdGlvbjxhY3BpOjpJZFRhYmxlPFNlbGY6OklkSW5mbz4+ID0gU29tZSgmQUNQSV9UQUJMRSk7 CiAKLSAgICBmbiBwcm9iZSgKLSAgICAgICAgcGRldjogJnBsYXRmb3JtOjpEZXZpY2U8Q29yZTwn Xz4+LAotICAgICAgICBpbmZvOiBPcHRpb248JlNlbGY6OklkSW5mbz4sCi0gICAgKSAtPiBpbXBs IFBpbkluaXQ8U2VsZiwgRXJyb3I+IHsKKyAgICBmbiBwcm9iZTwnYm91bmQ+KAorICAgICAgICBw ZGV2OiAmJ2JvdW5kIHBsYXRmb3JtOjpEZXZpY2U8Q29yZTwnXz4+LAorICAgICAgICBpbmZvOiBP cHRpb248Jidib3VuZCBTZWxmOjpJZEluZm8+LAorICAgICkgLT4gaW1wbCBQaW5Jbml0PFNlbGYs IEVycm9yPiArICdib3VuZCB7CiAgICAgICAgIGxldCBkZXYgPSBwZGV2LmFzX3JlZigpOwogCiAg ICAgICAgIGRldl9kYmchKGRldiwgIlByb2JlIFJ1c3QgUGxhdGZvcm0gZHJpdmVyIHNhbXBsZS5c biIpOwpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9ydXN0L3J1c3RfaTJjX2NsaWVudC5ycyBiL3NhbXBs ZXMvcnVzdC9ydXN0X2kyY19jbGllbnQucnMKaW5kZXggM2YyNzNjNzU0Zjg2Li4yZDg3NmY0ZTNl ZTAgMTAwNjQ0Ci0tLSBhL3NhbXBsZXMvcnVzdC9ydXN0X2kyY19jbGllbnQucnMKKysrIGIvc2Ft cGxlcy9ydXN0L3J1c3RfaTJjX2NsaWVudC5ycwpAQCAtMTA2LDE0ICsxMDYsMTQgQEAgc3RydWN0 IFNhbXBsZURyaXZlciB7CiAKIGltcGwgcGxhdGZvcm06OkRyaXZlciBmb3IgU2FtcGxlRHJpdmVy IHsKICAgICB0eXBlIElkSW5mbyA9ICgpOwotICAgIHR5cGUgRGF0YSA9IFNlbGY7CisgICAgdHlw ZSBEYXRhPCdib3VuZD4gPSBTZWxmOwogICAgIGNvbnN0IE9GX0lEX1RBQkxFOiBPcHRpb248b2Y6 OklkVGFibGU8U2VsZjo6SWRJbmZvPj4gPSBTb21lKCZPRl9UQUJMRSk7CiAgICAgY29uc3QgQUNQ SV9JRF9UQUJMRTogT3B0aW9uPGFjcGk6OklkVGFibGU8U2VsZjo6SWRJbmZvPj4gPSBTb21lKCZB Q1BJX1RBQkxFKTsKIAotICAgIGZuIHByb2JlKAotICAgICAgICBwZGV2OiAmcGxhdGZvcm06OkRl dmljZTxkZXZpY2U6OkNvcmU8J18+PiwKLSAgICAgICAgX2luZm86IE9wdGlvbjwmU2VsZjo6SWRJ bmZvPiwKLSAgICApIC0+IGltcGwgUGluSW5pdDxTZWxmLCBFcnJvcj4geworICAgIGZuIHByb2Jl PCdib3VuZD4oCisgICAgICAgIHBkZXY6ICYnYm91bmQgcGxhdGZvcm06OkRldmljZTxkZXZpY2U6 OkNvcmU8J18+PiwKKyAgICAgICAgX2luZm86IE9wdGlvbjwmJ2JvdW5kIFNlbGY6OklkSW5mbz4s CisgICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwgRXJyb3I+ICsgJ2JvdW5kIHsKICAgICAgICAg ZGV2X2luZm8hKAogICAgICAgICAgICAgcGRldi5hc19yZWYoKSwKICAgICAgICAgICAgICJQcm9i ZSBSdXN0IEkyQyBDbGllbnQgcmVnaXN0cmF0aW9uIHNhbXBsZS5cbiIKQEAgLTEzMCw3ICsxMzAs MTAgQEAgZm4gcHJvYmUoCiAgICAgICAgIH0pCiAgICAgfQogCi0gICAgZm4gdW5iaW5kKHBkZXY6 ICZwbGF0Zm9ybTo6RGV2aWNlPGRldmljZTo6Q29yZTwnXz4+LCBfdGhpczogUGluPCZTZWxmPikg eworICAgIGZuIHVuYmluZDwnYm91bmQ+KAorICAgICAgICBwZGV2OiAmJ2JvdW5kIHBsYXRmb3Jt OjpEZXZpY2U8ZGV2aWNlOjpDb3JlPCdfPj4sCisgICAgICAgIF90aGlzOiBQaW48JlNlbGY6OkRh dGE8J2JvdW5kPj4sCisgICAgKSB7CiAgICAgICAgIGRldl9pbmZvISgKICAgICAgICAgICAgIHBk ZXYuYXNfcmVmKCksCiAgICAgICAgICAgICAiVW5iaW5kIFJ1c3QgSTJDIENsaWVudCByZWdpc3Ry YXRpb24gc2FtcGxlLlxuIgpkaWZmIC0tZ2l0IGEvc2FtcGxlcy9ydXN0L3J1c3Rfc29jLnJzIGIv c2FtcGxlcy9ydXN0L3J1c3Rfc29jLnJzCmluZGV4IGM0NjY2NTM0OTFkMi4uODA4ZDU4MjAwZWI2 IDEwMDY0NAotLS0gYS9zYW1wbGVzL3J1c3QvcnVzdF9zb2MucnMKKysrIGIvc2FtcGxlcy9ydXN0 L3J1c3Rfc29jLnJzCkBAIC0zNywxNCArMzcsMTQgQEAgc3RydWN0IFNhbXBsZVNvY0RyaXZlciB7 CiAKIGltcGwgcGxhdGZvcm06OkRyaXZlciBmb3IgU2FtcGxlU29jRHJpdmVyIHsKICAgICB0eXBl IElkSW5mbyA9ICgpOwotICAgIHR5cGUgRGF0YSA9IFNlbGY7CisgICAgdHlwZSBEYXRhPCdib3Vu ZD4gPSBTZWxmOwogICAgIGNvbnN0IE9GX0lEX1RBQkxFOiBPcHRpb248b2Y6OklkVGFibGU8U2Vs Zjo6SWRJbmZvPj4gPSBTb21lKCZPRl9UQUJMRSk7CiAgICAgY29uc3QgQUNQSV9JRF9UQUJMRTog T3B0aW9uPGFjcGk6OklkVGFibGU8U2VsZjo6SWRJbmZvPj4gPSBTb21lKCZBQ1BJX1RBQkxFKTsK IAotICAgIGZuIHByb2JlKAotICAgICAgICBwZGV2OiAmcGxhdGZvcm06OkRldmljZTxDb3JlPCdf Pj4sCi0gICAgICAgIF9pbmZvOiBPcHRpb248JlNlbGY6OklkSW5mbz4sCi0gICAgKSAtPiBpbXBs IFBpbkluaXQ8U2VsZiwgRXJyb3I+IHsKKyAgICBmbiBwcm9iZTwnYm91bmQ+KAorICAgICAgICBw ZGV2OiAmJ2JvdW5kIHBsYXRmb3JtOjpEZXZpY2U8Q29yZTwnXz4+LAorICAgICAgICBfaW5mbzog T3B0aW9uPCYnYm91bmQgU2VsZjo6SWRJbmZvPiwKKyAgICApIC0+IGltcGwgUGluSW5pdDxTZWxm LCBFcnJvcj4gKyAnYm91bmQgewogICAgICAgICBkZXZfZGJnIShwZGV2LCAiUHJvYmUgUnVzdCBT b0MgZHJpdmVyIHNhbXBsZS5cbiIpOwogCiAgICAgICAgIGxldCBwZGV2ID0gcGRldi5pbnRvKCk7 Ci0tIAoyLjU0LjAKCg==