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 128F8C32771 for ; Sat, 24 Sep 2022 15:53:38 +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:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=QySzTmuc1QX0Dgt4pc7l6+/GP0gt0Ae48RPByJhzlGM=; b=nEXEOSA3c9vgVZ SHcOkKZjBnoDQWmOjPSfEc9VOv7xgOc3Ko2li+Yd5Qi2NDI/iZ9GFsay+nVhdCyEy78m8uGJ0NvpX yXu3qGZgeTpcT/AJx/0383ksNC4at/yNHxTEkYmI8Juc4UGzfSrGInS+038dDMiZv0e3A+jZDhZeM in3z+TldJK4nE+hUWbM7Vjcj4MOo2mbBwR/itmw6SYz2/A9smA7+opRybXtOKRstgc3K0OgV/kHth QtZu2WnE3fCDfZ4deKuINgWMPRQ9fzm227l4WQZBG5g60STePHCKhclPcIvvFbFBlN7404nsQXvD3 IeBrv4ZGpGvkW7jkAFog==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oc7T6-007oeA-Rx; Sat, 24 Sep 2022 15:53:28 +0000 Received: from ams.source.kernel.org ([145.40.68.75]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oc7T3-007oaG-3p; Sat, 24 Sep 2022 15:53:27 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 1A39DB80DF5; Sat, 24 Sep 2022 15:53:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DBC88C433D6; Sat, 24 Sep 2022 15:53:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1664034799; bh=nmejR2pb7OoBtgiZ7f8TxYWYZYDuvd6KF1xJUnHeSLg=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=S3KR03npbjchQ10bak8FU58Fa54yqszehhWw5UdeBiphPnn9/RKt7INB8bhazZfaR ixWgfZrmr8TmGFM15HQ9KI5Bzgd4JkkCiSLbUjafeGTn7awl/bNiadvRBAbTPZ5o0u j038wyWm+wshdDC/kaeaOcdYxp2QBdfZyUg66pfEntL72Rp44qhQ+se0qsR9Qw0sYa XeoJS3077sCs0fUdH91dx6ustv7BhsO7wynHvuLL03AVK8CHIy/PdutLE7XDVFg1z9 TSxXsAj53vk4gbgut7CXbTCOfp04WQKXv9BggGnrvus1BMwzrU4DWU0Eu8lxC3c+FS 1VAy/gf/pRkNQ== Date: Sat, 24 Sep 2022 16:53:18 +0100 From: Jonathan Cameron To: Miquel Raynal Cc: Nuno =?UTF-8?B?U8Oh?= , "Sa, Nuno" , "linux-arm-kernel@lists.infradead.org" , "linux-rockchip@lists.infradead.org" , "linux-amlogic@lists.infradead.org" , "linux-imx@nxp.com" , "linux-iio@vger.kernel.org" , Chunyan Zhang , "Hennerich, Michael" , Martin Blumenstingl , Sascha Hauer , Cixi Geng , Kevin Hilman , Vladimir Zapolskiy , Pengutronix Kernel Team , Alexandru Ardelean , Fabio Estevam , Andriy Tryshnivskyy , Haibo Chen , Shawn Guo , Hans de Goede , Jerome Brunet , Heiko Stuebner , Florian Boor , "Regus, Ciprian" , Lars-Peter Clausen , Andy Shevchenko , Neil Armstrong , Baolin Wang , Jyoti Bhayana , Chen-Yu Tsai , Orson Zhai Subject: Re: [PATCH 13/15] iio: health: max30100: do not use internal iio_dev lock Message-ID: <20220924165318.0cf4403e@jic23-huawei> In-Reply-To: <20220920171033.2f9d6d1f@xps-13> References: <20220920112821.975359-1-nuno.sa@analog.com> <20220920112821.975359-14-nuno.sa@analog.com> <20220920142319.61557023@xps-13> <20220920145534.0bdd4e69@xps-13> <20220920155305.395dad08@xps-13> <1684ca38960d035a0fedd077ed149f524c58f7ff.camel@gmail.com> <20220920171033.2f9d6d1f@xps-13> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.34; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220924_085325_490234_354A188E X-CRM114-Status: GOOD ( 66.47 ) X-BeenThere: linux-amlogic@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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org T24gVHVlLCAyMCBTZXAgMjAyMiAxNzoxMDozMyArMDIwMApNaXF1ZWwgUmF5bmFsIDxtaXF1ZWwu cmF5bmFsQGJvb3RsaW4uY29tPiB3cm90ZToKCj4gSGkgTnVubywKPiAKPiBub25hbWUubnVub0Bn bWFpbC5jb20gd3JvdGUgb24gVHVlLCAyMCBTZXAgMjAyMiAxNjo1NjowMSArMDIwMDoKPiAKPiA+ IE9uIFR1ZSwgMjAyMi0wOS0yMCBhdCAxNTo1MyArMDIwMCwgTWlxdWVsIFJheW5hbCB3cm90ZTog IAo+ID4gPiBIaSBOdW5vLAo+ID4gPiAKPiA+ID4gTnVuby5TYUBhbmFsb2cuY29twqB3cm90ZSBv biBUdWUsIDIwIFNlcCAyMDIyIDEzOjE1OjMyICswMDAwOgo+ID4gPiAgICAgCj4gPiA+ID4gPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4gPiA+ID4gRnJvbTogTWlxdWVsIFJheW5hbCA8 bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4KPiA+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIFNlcHRl bWJlciAyMCwgMjAyMiAyOjU2IFBNCj4gPiA+ID4gPiBUbzogU2EsIE51bm8gPE51bm8uU2FAYW5h bG9nLmNvbT4KPiA+ID4gPiA+IENjOiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5v cmc7Cj4gPiA+ID4gPiBsaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnOwo+ID4gPiA+ ID4gbGludXgtYW1sb2dpY0BsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eC1pbXhAbnhwLmNvbTsg bGludXgtCj4gPiA+ID4gPiBpaW9Admdlci5rZXJuZWwub3JnOyBDaHVueWFuIFpoYW5nIDx6aGFu Zy5seXJhQGdtYWlsLmNvbT47Cj4gPiA+ID4gPiBIZW5uZXJpY2gsCj4gPiA+ID4gPiBNaWNoYWVs IDxNaWNoYWVsLkhlbm5lcmljaEBhbmFsb2cuY29tPjsgTWFydGluIEJsdW1lbnN0aW5nbAo+ID4g PiA+ID4gPG1hcnRpbi5ibHVtZW5zdGluZ2xAZ29vZ2xlbWFpbC5jb20+OyBTYXNjaGEgSGF1ZXIK PiA+ID4gPiA+IDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPjsgQ2l4aSBHZW5nIDxjaXhpLmdlbmcx QHVuaXNvYy5jb20+Owo+ID4gPiA+ID4gS2V2aW4KPiA+ID4gPiA+IEhpbG1hbiA8a2hpbG1hbkBi YXlsaWJyZS5jb20+OyBWbGFkaW1pciBaYXBvbHNraXkgPHZ6QG1sZWlhLmNvbT47Cj4gPiA+ID4g PiBQZW5ndXRyb25peCBLZXJuZWwgVGVhbSA8a2VybmVsQHBlbmd1dHJvbml4LmRlPjsgQWxleGFu ZHJ1Cj4gPiA+ID4gPiBBcmRlbGVhbgo+ID4gPiA+ID4gPGFhcmRlbGVhbkBkZXZpcW9uLmNvbT47 IEZhYmlvIEVzdGV2YW0gPGZlc3RldmFtQGdtYWlsLmNvbT47Cj4gPiA+ID4gPiBBbmRyaXkKPiA+ ID4gPiA+IFRyeXNobml2c2t5eSA8YW5kcml5LnRyeXNobml2c2t5eUBvcGVuc3luZXJneS5jb20+ OyBIYWlibyBDaGVuCj4gPiA+ID4gPiA8aGFpYm8uY2hlbkBueHAuY29tPjsgU2hhd24gR3VvIDxz aGF3bmd1b0BrZXJuZWwub3JnPjsgSGFucyBkZQo+ID4gPiA+ID4gR29lZGUgPGhkZWdvZWRlQHJl ZGhhdC5jb20+OyBKZXJvbWUgQnJ1bmV0Cj4gPiA+ID4gPiA8amJydW5ldEBiYXlsaWJyZS5jb20+ Owo+ID4gPiA+ID4gSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVjaC5kZT47IEZsb3JpYW4gQm9v cgo+ID4gPiA+ID4gPGZsb3JpYW4uYm9vckBrZXJuZWxjb25jZXB0cy5kZT47IFJlZ3VzLCBDaXBy aWFuCj4gPiA+ID4gPiA8Q2lwcmlhbi5SZWd1c0BhbmFsb2cuY29tPjsgTGFycy1QZXRlciBDbGF1 c2VuIDxsYXJzQG1ldGFmb28uZGU+Owo+ID4gPiA+ID4gQW5keQo+ID4gPiA+ID4gU2hldmNoZW5r byA8YW5keS5zaGV2Y2hlbmtvQGdtYWlsLmNvbT47IEpvbmF0aGFuIENhbWVyb24KPiA+ID4gPiA+ IDxqaWMyM0BrZXJuZWwub3JnPjsgTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUu Y29tPjsKPiA+ID4gPiA+IEJhb2xpbgo+ID4gPiA+ID4gV2FuZyA8YmFvbGluLndhbmdAbGludXgu YWxpYmFiYS5jb20+OyBKeW90aSBCaGF5YW5hCj4gPiA+ID4gPiA8amJoYXlhbmFAZ29vZ2xlLmNv bT47IENoZW4tWXUgVHNhaSA8d2Vuc0Bjc2llLm9yZz47IE9yc29uIFpoYWkKPiA+ID4gPiA+IDxv cnNvbnpoYWlAZ21haWwuY29tPgo+ID4gPiA+ID4gU3ViamVjdDogUmU6IFtQQVRDSCAxMy8xNV0g aWlvOiBoZWFsdGg6IG1heDMwMTAwOiBkbyBub3QgdXNlCj4gPiA+ID4gPiBpbnRlcm5hbCBpaW9f ZGV2Cj4gPiA+ID4gPiBsb2NrCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFtFeHRlcm5hbF0KPiA+ID4g PiA+IAo+ID4gPiA+ID4gSGkgTnVubywKPiA+ID4gPiA+IAo+ID4gPiA+ID4gTnVuby5TYUBhbmFs b2cuY29twqB3cm90ZSBvbiBUdWUsIDIwIFNlcCAyMDIyIDEyOjQ0OjA4ICswMDAwOgo+ID4gPiA+ ID4gwqAgICAgIAo+ID4gPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiA+ ID4gPiA+ID4gRnJvbTogTWlxdWVsIFJheW5hbCA8bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4K PiA+ID4gPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIgMjAsIDIwMjIgMjoyMyBQTQo+ ID4gPiA+ID4gPiA+IFRvOiBTYSwgTnVubyA8TnVuby5TYUBhbmFsb2cuY29tPgo+ID4gPiA+ID4g PiA+IENjOiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7IGxpbnV4LcKgICAg ICAKPiA+ID4gPiA+IHJvY2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmc7wqAgICAgIAo+ID4gPiA+ ID4gPiA+IGxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXgtaW14QG54cC5j b207IGxpbnV4LQo+ID4gPiA+ID4gPiA+IGlpb0B2Z2VyLmtlcm5lbC5vcmc7IENodW55YW4gWmhh bmcgPHpoYW5nLmx5cmFAZ21haWwuY29tPjvCoCAgICAgCj4gPiA+ID4gPiBIZW5uZXJpY2gswqAg ICAgIAo+ID4gPiA+ID4gPiA+IE1pY2hhZWwgPE1pY2hhZWwuSGVubmVyaWNoQGFuYWxvZy5jb20+ OyBNYXJ0aW4gQmx1bWVuc3RpbmdsCj4gPiA+ID4gPiA+ID4gPG1hcnRpbi5ibHVtZW5zdGluZ2xA Z29vZ2xlbWFpbC5jb20+OyBTYXNjaGEgSGF1ZXIKPiA+ID4gPiA+ID4gPiA8cy5oYXVlckBwZW5n dXRyb25peC5kZT47IENpeGkgR2VuZyA8Y2l4aS5nZW5nMUB1bmlzb2MuY29tPjsKPiA+ID4gPiA+ ID4gPiBLZXZpbgo+ID4gPiA+ID4gPiA+IEhpbG1hbiA8a2hpbG1hbkBiYXlsaWJyZS5jb20+OyBW bGFkaW1pciBaYXBvbHNraXkKPiA+ID4gPiA+ID4gPiA8dnpAbWxlaWEuY29tPjsKPiA+ID4gPiA+ ID4gPiBQZW5ndXRyb25peCBLZXJuZWwgVGVhbSA8a2VybmVsQHBlbmd1dHJvbml4LmRlPjsgQWxl eGFuZHJ1wqAgICAgIAo+ID4gPiA+ID4gQXJkZWxlYW7CoCAgICAgCj4gPiA+ID4gPiA+ID4gPGFh cmRlbGVhbkBkZXZpcW9uLmNvbT47IEZhYmlvIEVzdGV2YW0gPGZlc3RldmFtQGdtYWlsLmNvbT47 wqAgICAgCj4gPiA+ID4gPiBBbmRyaXnCoCAgICAgCj4gPiA+ID4gPiA+ID4gVHJ5c2huaXZza3l5 IDxhbmRyaXkudHJ5c2huaXZza3l5QG9wZW5zeW5lcmd5LmNvbT47IEhhaWJvCj4gPiA+ID4gPiA+ ID4gQ2hlbgo+ID4gPiA+ID4gPiA+IDxoYWliby5jaGVuQG54cC5jb20+OyBTaGF3biBHdW8gPHNo YXduZ3VvQGtlcm5lbC5vcmc+OyBIYW5zCj4gPiA+ID4gPiA+ID4gZGUKPiA+ID4gPiA+ID4gPiBH b2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT47IEplcm9tZSBCcnVuZXTCoCAgICAgCj4gPiA+ID4g PiA8amJydW5ldEBiYXlsaWJyZS5jb20+O8KgICAgICAKPiA+ID4gPiA+ID4gPiBIZWlrbyBTdHVl Ym5lciA8aGVpa29Ac250ZWNoLmRlPjsgRmxvcmlhbiBCb29yCj4gPiA+ID4gPiA+ID4gPGZsb3Jp YW4uYm9vckBrZXJuZWxjb25jZXB0cy5kZT47IFJlZ3VzLCBDaXByaWFuCj4gPiA+ID4gPiA+ID4g PENpcHJpYW4uUmVndXNAYW5hbG9nLmNvbT47IExhcnMtUGV0ZXIgQ2xhdXNlbgo+ID4gPiA+ID4g PiA+IDxsYXJzQG1ldGFmb28uZGU+O8KgICAgICAKPiA+ID4gPiA+IEFuZHnCoCAgICAgCj4gPiA+ ID4gPiA+ID4gU2hldmNoZW5rbyA8YW5keS5zaGV2Y2hlbmtvQGdtYWlsLmNvbT47IEpvbmF0aGFu IENhbWVyb24KPiA+ID4gPiA+ID4gPiA8amljMjNAa2VybmVsLm9yZz47IE5laWwgQXJtc3Ryb25n IDxuYXJtc3Ryb25nQGJheWxpYnJlLmNvbT47Cj4gPiA+ID4gPiA+ID4gQmFvbGluCj4gPiA+ID4g PiA+ID4gV2FuZyA8YmFvbGluLndhbmdAbGludXguYWxpYmFiYS5jb20+OyBKeW90aSBCaGF5YW5h Cj4gPiA+ID4gPiA+ID4gPGpiaGF5YW5hQGdvb2dsZS5jb20+OyBDaGVuLVl1IFRzYWkgPHdlbnNA Y3NpZS5vcmc+OyBPcnNvbgo+ID4gPiA+ID4gPiA+IFpoYWkKPiA+ID4gPiA+ID4gPiA8b3Jzb256 aGFpQGdtYWlsLmNvbT4KPiA+ID4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIDEzLzE1XSBp aW86IGhlYWx0aDogbWF4MzAxMDA6IGRvIG5vdCB1c2UKPiA+ID4gPiA+ID4gPiBpbnRlcm5hbMKg ICAgICAKPiA+ID4gPiA+IGlpb19kZXbCoCAgICAgCj4gPiA+ID4gPiA+ID4gbG9jawo+ID4gPiA+ ID4gPiA+IAo+ID4gPiA+ID4gPiA+IFtFeHRlcm5hbF0KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ ID4gPiBIaSBOdW5vLAo+ID4gPiA+ID4gPiA+IMKgICAgIAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ ID4gSGkgTWlxdWVsLAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gVGhhbmtzIGZvciByZXZpZXdp bmcuLi4KPiA+ID4gPiA+ID4gwqAgICAgCj4gPiA+ID4gPiA+ID4gbnVuby5zYUBhbmFsb2cuY29t wqB3cm90ZSBvbiBUdWUsIDIwIFNlcCAyMDIyIDEzOjI4OjE5ICswMjAwOgo+ID4gPiA+ID4gPiA+ IMKgICAgIAo+ID4gPiA+ID4gPiA+ID4gVGhlIHBhdHRlcm4gdXNlZCBpbiB0aGlzIGRldmljZSBk b2VzIG5vdCBxdWl0ZSBmaXQgaW4gdGhlCj4gPiA+ID4gPiA+ID4gPiBpaW9fZGV2aWNlX2NsYWlt X2RpcmVjdF9tb2RlKCkgdHlwaWNhbCB1c2FnZS4gSW4gdGhpcyBjYXNlLAo+ID4gPiA+ID4gPiA+ ID4gaWlvX2J1ZmZlcl9lbmFibGVkKCkgd2FzIGJlaW5nIHVzZWQgbm90IHRvIHByZXZlbnQgdGhl IHJhdwo+ID4gPiA+ID4gPiA+ID4gYWNjZXNzIGJ1dMKgICAgICAKPiA+ID4gPiA+IHRvwqAgICAg IAo+ID4gPiA+ID4gPiA+ID4gYWxsb3cgaXQuIEhlbmNlIHRvIGdldCByaWQgb2YgdGhlICdtbG9j aycgd2UgbmVlZCB0bzoKPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gMS4gVXNlIGlp b19kZXZpY2VfY2xhaW1fZGlyZWN0X21vZGUoKSB0byBjaGVjayBpZiBkaXJlY3QKPiA+ID4gPiA+ ID4gPiA+IG1vZGUgY2FuIGJlCj4gPiA+ID4gPiA+ID4gPiBjbGFpbWVkIGFuZCBpZiB3ZSBjYW4g cmV0dXJuIC1FSU5WQUwgKGFzIHRoZSBvcmlnaW5hbAo+ID4gPiA+ID4gPiA+ID4gY29kZSk7Cj4g PiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+IDIuIE1ha2Ugc3VyZSB0aGF0IGJ1ZmZlcmlu ZyBpcyBub3QgZGlzYWJsZWQgd2hpbGUgZG9pbmcgYQo+ID4gPiA+ID4gPiA+ID4gcmF3IHJlYWQu IEZvcgo+ID4gPiA+ID4gPiA+ID4gdGhhdCwgd2UgY2FuIG1ha2UgdXNlIG9mIHRoZSBsb2NhbCBs b2NrIHRoYXQgYWxyZWFkeQo+ID4gPiA+ID4gPiA+ID4gZXhpc3RzLgo+ID4gPiA+ID4gPiA+ID4g Cj4gPiA+ID4gPiA+ID4gPiBXaGlsZSBhdCBpdCwgZml4ZWQgYSBtaW5vciBjb2Rpbmcgc3R5bGUg Y29tcGxhaW4uLi4KPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1i eTogTnVubyBTw6EgPG51bm8uc2FAYW5hbG9nLmNvbT4KPiA+ID4gPiA+ID4gPiA+IC0tLQo+ID4g PiA+ID4gPiA+ID4gwqBkcml2ZXJzL2lpby9oZWFsdGgvbWF4MzAxMDAuYyB8IDI0ICsrKysrKysr KysrKysrKysrLS0tLS0tCj4gPiA+ID4gPiA+ID4gPiAtCj4gPiA+ID4gPiA+ID4gPiDCoDEgZmls ZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQo+ID4gPiA+ID4gPiA+ ID4gCj4gPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vaGVhbHRoL21heDMw MTAwLmPCoCAgICAgCj4gPiA+ID4gPiBiL2RyaXZlcnMvaWlvL2hlYWx0aC9tYXgzMDEwMC5jwqAg ICAgIAo+ID4gPiA+ID4gPiA+ID4gaW5kZXggYWQ1NzE3OTY1MjIzLi5hYTQ5NGNhZDVkZjAgMTAw NjQ0Cj4gPiA+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2lpby9oZWFsdGgvbWF4MzAxMDAuYwo+ ID4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9paW8vaGVhbHRoL21heDMwMTAwLmMKPiA+ID4g PiA+ID4gPiA+IEBAIC0xODUsOCArMTg1LDE5IEBAIHN0YXRpYyBpbnQKPiA+ID4gPiA+ID4gPiA+ IG1heDMwMTAwX2J1ZmZlcl9wb3N0ZW5hYmxlKHN0cnVjdMKgICAgICAKPiA+ID4gPiA+ID4gPiBp aW9fZGV2ICppbmRpb19kZXYpwqAgICAgIAo+ID4gPiA+ID4gPiA+ID4gwqBzdGF0aWMgaW50IG1h eDMwMTAwX2J1ZmZlcl9wcmVkaXNhYmxlKHN0cnVjdCBpaW9fZGV2Cj4gPiA+ID4gPiA+ID4gPiAq aW5kaW9fZGV2KQo+ID4gPiA+ID4gPiA+ID4gwqB7Cj4gPiA+ID4gPiA+ID4gPiDCoMKgwqDCoMKg wqDCoMKgc3RydWN0IG1heDMwMTAwX2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+ ID4gPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgaW50IHJldDsKPiA+ID4gPiA+ID4gPiA+ICsK PiA+ID4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoC8qCj4gPiA+ID4gPiA+ID4gPiArwqDCoMKg wqDCoMKgwqAgKiBBcyBzdGF0ZWQgaW4gdGhlIGNvbW1lbnQgaW4gdGhlIHJlYWRfcmF3KCkKPiA+ ID4gPiA+ID4gPiA+IGZ1bmN0aW9uLCB0ZW1wZXJhdHVyZQo+ID4gPiA+ID4gPiA+ID4gK8KgwqDC oMKgwqDCoMKgICogY2FuIG9ubHkgYmUgYWNxdWlyZWQgaWYgdGhlIGVuZ2luZSBpcyBydW5uaW5n Lgo+ID4gPiA+ID4gPiA+ID4gQXMgc3VjaCB0aGUgbXV0ZXgKPiA+ID4gPiA+ID4gPiA+ICvCoMKg wqDCoMKgwqDCoCAqIGlzIHVzZWQgdG8gbWFrZSBzdXJlIHdlIGRvIG5vdCBwb3dlciBkb3duIHdo aWxlCj4gPiA+ID4gPiA+ID4gPiBkb2luZyBhwqAgICAgIAo+ID4gPiA+ID4gPiA+IHRlbXBlcmF0 dXJlwqAgICAgIAo+ID4gPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgICogcmVhZGluZy4KPiA+ ID4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCAqLwo+ID4gPiA+ID4gPiA+ID4gK8KgwqDCoMKg wqDCoMKgbXV0ZXhfbG9jaygmZGF0YS0+bG9jayk7Cj4gPiA+ID4gPiA+ID4gPiArwqDCoMKgwqDC oMKgwqByZXQgPSBtYXgzMDEwMF9zZXRfcG93ZXJtb2RlKGRhdGEsIGZhbHNlKTsKPiA+ID4gPiA+ ID4gPiA+ICvCoMKgwqDCoMKgwqDCoG11dGV4X3VubG9jaygmZGF0YS0+bG9jayk7Cj4gPiA+ID4g PiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoHJldHVybiBtYXgzMDEwMF9z ZXRfcG93ZXJtb2RlKGRhdGEsIGZhbHNlKTsKPiA+ID4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDC oHJldHVybiByZXQ7Cj4gPiA+ID4gPiA+ID4gPiDCoH0KPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ ID4gPiA+ID4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGlpb19idWZmZXJfc2V0dXBfb3BzCj4gPiA+ ID4gPiA+ID4gPiBtYXgzMDEwMF9idWZmZXJfc2V0dXBfb3BzwqAgICAgIAo+ID4gPiA+ID4gPSB7 wqAgICAgIAo+ID4gPiA+ID4gPiA+ID4gQEAgLTM4NywxOCArMzk4LDE3IEBAIHN0YXRpYyBpbnQg bWF4MzAxMDBfcmVhZF9yYXcoc3RydWN0Cj4gPiA+ID4gPiA+ID4gPiBpaW9fZGV2wqAgICAgIAo+ ID4gPiA+ID4gPiA+ICppbmRpb19kZXYswqAgICAgIAo+ID4gPiA+ID4gPiA+ID4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBUZW1wZXJhdHVyZSByZWFkaW5nIGNhbiBvbmx5IGJl IGFjcXVpcmVkCj4gPiA+ID4gPiA+ID4gPiB3aGlsZSBlbmdpbmUKPiA+ID4gPiA+ID4gPiA+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogaXMgcnVubmluZwo+ID4gPiA+ID4gPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8KPiA+ID4gPiA+ID4gPiA+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBtdXRleF9sb2NrKCZpbmRpb19kZXYtPm1sb2Nr KTsKPiA+ID4gPiA+ID4gPiA+IC0KPiA+ID4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBpZiAoIWlpb19idWZmZXJfZW5hYmxlZChpbmRpb19kZXYpKQo+ID4gPiA+ID4g PiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmCj4gPiA+ID4gPiA+ID4gPiAo IWlpb19kZXZpY2VfY2xhaW1fZGlyZWN0X21vZGUoaW5kaW9fZGV2KSkge8KgICAgICAKPiA+ID4g PiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBJIHdvbmRlciBpZiB0aGlzIGxpbmUgY2hhbmdlIGhlcmUg aXMgcmVhbGx5IG5lZWRlZC4gSSBhZ3JlZQo+ID4gPiA+ID4gPiA+IHRoZSB3aG9sZQo+ID4gPiA+ ID4gPiA+IGNvbnN0cnVjdGlvbiBsb29rcyBsaWtlIHdoYXQgaWlvX2RldmljZV9jbGFpbV9kaXJl Y3RfbW9kZSgpCj4gPiA+ID4gPiA+ID4gZG9lcyBidXQgaW4KPiA+ID4gPiA+ID4gPiBwcmFjdGlj ZSBJIGRvbid0IHNlZSB0aGUgcG9pbnQgb2YgYWNxdWlyaW5nIGFueSBsb2NrIGhlcmUgaWYKPiA+ ID4gPiA+ID4gPiB3ZSBqdXN0Cj4gPiA+ID4gPiA+ID4gcmVsZWFzZSBpdCBubyBtYXR0ZXIgd2hh dCBoYXBwZW5zIHJpZ2h0IGFmdGVyLgo+ID4gPiA+ID4gPiA+IMKgICAgIAo+ID4gPiA+ID4gPiAK PiA+ID4gPiA+ID4gSSBjYW4gc2VlIHRoYXQgdGhpcyBpcyBvZGQgKGF0IHRoZSB2ZXJ5IGxlYXN0 KSBidXQgQUZBSUssIHRoaXMKPiA+ID4gPiA+ID4gaXMgdGhlIG9ubHkgd2F5Cj4gPiA+ID4gPiA+ IHRvIHNhZmVseSBpbmZlciBpZiBidWZmZXJpbmcgaXMgZW5hYmxlZCBvciBub3QuCj4gPiA+ID4g PiA+IGlpb19idWZmZXJfZW5hYmxlZCgpIGhhcyBubwo+ID4gPiA+ID4gPiBwcm90ZWN0aW9uIGFn YWluc3Qgc29tZW9uZSBjb25jdXJyZW50bHkgZW5hYmxpbmcvZGlzYWJsaW5nIHRoZQo+ID4gPiA+ ID4gPiBidWZmZXIuwqAgICAgIAo+ID4gPiA+ID4gCj4gPiA+ID4gPiBZZXMsIGJ1dCB0aGlzIGlz IG9ubHkgcmVsZXZhbnQgaWYgeW91IHdhbnQgdG8gaW5mZXIgdGhhdCB0aGUKPiA+ID4gPiA+ICJi dWZmZXJzCj4gPiA+ID4gPiBhcmUgZW5hYmxlZCIgYW5kIGJlIHN1cmUgdGhhdCBpdCBjYW5ub3Qg YmUgb3RoZXJ3aXNlIGR1cmluZyB0aGUKPiA+ID4gPiA+IG5leHQKPiA+ID4gPiA+IGxpbmVzIHVu dGlsIHlvdSByZWxlYXNlIHRoZSBsb2NrLiBBY3F1aXJpbmcgYSBsb2NrLCBkb2luZyB0aGUgaWYK PiA+ID4gPiA+IGFuZAo+ID4gPiA+ID4gdGhlbiB1bmNvbmRpdGlvbmFsbHkgcmVsZWFzaW5nIHRo ZSBsb2NrLCBJTUhPLCBkb2VzIG5vdCBtYWtlIGFueQo+ID4gPiA+ID4gc2Vuc2UKPiA+ID4gPiA+ IChidXQgSSdtIG5vdCBhIGxvY2tpbmcgZ3VydSkgYmVjYXVzZSB3aGVuIHlvdSBlbnRlciB0aGUg ZWxzZQo+ID4gPiA+ID4gY2xhdXNlLAo+ID4gPiA+ID4geW91IGFyZSBub3QgcHJvdGVjdGVkIGFu eXdheSwgc28gaW4gYm90aCBjYXNlcyBhbGwgdGhpcyBpcwo+ID4gPiA+ID4gY29tcGxldGVseQo+ ID4gPiA+ID4gcmFjeS4KPiA+ID4gPiA+IMKgICAgICAKPiA+ID4gPiAKPiA+ID4gPiBBaGggY3Jh cCwgeWVzIHlvdSBhcmUgcmlnaHQuLi4gSXQgaXMgc3RpbGwgcmFjeSBzaW5jZSB3ZSBjYW4gc3Rp bGwKPiA+ID4gPiB0cnkgdG8gcmVhZAo+ID4gPiA+IHRoZSB0ZW1wZXJhdHVyZSB3aXRoIHRoZSBk ZXZpY2UgcG93ZXJlZCBvZmYuIEknbSBub3QgcmVhbGx5IHN1cmUKPiA+ID4gPiBob3cgdG8KPiA+ ID4gPiBhZGRyZXNzIHRoaXMuIE9uZSB3YXkgY291bGQgYmUgdG8ganVzdCB1c2UgYW4gaW50ZXJu YWwgY29udHJvbAo+ID4gPiA+IHZhcmlhYmxlCj4gPiA+ID4gdG8gcmVmbGVjdCB0aGUgZGV2aWNl IHBvd2VyIHN0YXRlIChzZXQvY2xlYXIgb24gdGhlIGJ1ZmZlcgo+ID4gPiA+IGNhbGxiYWNrcykg YW5kCj4gPiA+ID4gb25seSB1c2UgdGhlIGxvY2FsIGxvY2sgKGNvbXBsZXRlbHkgZGl0Y2hpbmcg dGhlIGNhbGwgdG8KPiA+ID4gPiBpaW9fZGV2aWNlX2NsYWltX2RpcmVjdF9tb2RlKCkpLi4uICAg IAo+ID4gPiAKPiA+ID4gSSB0ZW5kIHRvIHByZWZlciB0aGlzIG9wdGlvbiB0aGFuIHRoZSBvbmUg YmVsb3cuCj4gPiA+IAo+ID4gPiBJIGd1ZXNzIHlvdXIgaW1wbGVtZW50YXRpb24gYWxyZWFkeSBw cmV2ZW50cyBidWZmZXJfcHJlZGlzYWJsZSgpIHRvCj4gPiA+IHJ1bgo+ID4gPiB0aGFua3MgdG8g dGhlIGxvY2FsIGxvY2sgYmVpbmcgaGVsZCBkdXJpbmcgdGhlIG9wZXJhdGlvbi4gTWF5YmUgd2UK PiA+ID4gc2hvdWxkIGp1c3QgdmVyaWZ5IHRoYXQgYnVmZmVycyBhcmUgZW5hYmxlZCBmcm9tIHdp dGhpbiB0aGUgbG9jYWwKPiA+ID4gbG9jawo+ID4gPiBiZWluZyBoZWxkIGluc3RlYWQgb2YganVz dCBhY3F1aXJpbmcgaXQgZm9yIHRoZSBnZXRfdGVtcCgpIG1lYXN1cmUuCj4gPiA+IEl0Cj4gPiA+ IHdvdWxkIHByb2JhYmx5IHNvbHZlIHRoZSBzaXR1YXRpb24gaGVyZS4gICAgCj4gPiA+ID4gICAg IAo+ID4gTm90IHN1cmUgaWYgSSB1bmRlcnN0b29kLi4uIFlvdSBtZWFuIHNvbWV0aGluZyBsaWtl Ogo+ID4gCj4gPiBtdXRleF9sb2NrKCZkYXRhLT5sb2NrKTsKPiA+IGlmICghaWlvX2J1ZmZlcl9l bmFibGVkKGluZGlvX2RldikpIHsKPiA+IAlyZXQgPSAtRUlOVkFMOwo+ID4gfSBlbHNlIHsKPiA+ ICAJcmV0ID0gbWF4MzAxMDBfZ2V0X3RlbXAoZGF0YSwgdmFsKTsKPiA+ICAJaWYgKCFyZXQpCj4g PiAgCQlyZXQgPSBJSU9fVkFMX0lOVDsKPiA+IAo+ID4gfQo+ID4gbXV0ZXhfdW5sb2NrKCZkYXRh LT5sb2NrKTsKPiA+IAo+ID4gSWYgc28sIEkgdGhpbmsgdGhpcyBpcyBzdGlsbCByYWN5IHNpbmNl IHdlIHJlbGVhc2UgdGhlIGxvY2sgYWZ0ZXIgdGhlCj4gPiBwcmVkaXNhYmxlIHdoaWNoIG1lYW5z IHdlIGNvdWxkIHN0aWxsIGRldGVjdCB0aGUgYnVmZmVycyBhcyBlbmFibGVkIChpbgo+ID4gdGhl IGFib3ZlIGJsb2NrKSBhbmQgdHJ5IHRvIGdldF90ZW1wIG9uIGEgcG93ZXJlZCBkb3duIGRldmlj ZS4gIAo+IAo+IFRydWUuCj4gCj4gPiAKPiA+IFNpbmNlIHdlIHByZXR0eSBtdWNoIG9ubHkgY2Fy ZSBhYm91dCB0aGUgcG93ZXIgc3RhdGUgb2YgdGhlIGRldmljZSAoYW5kCj4gPiB3ZSBhcmUgdXNp bmcgdGhlIGJ1ZmZlcmluZyBzdGF0ZSB0byBpbmZlciB0aGF0IEFGQUlVKSwgSSB3YXMgdGhpbmtp bmcKPiA+IGluIHNvbWV0aGluZyBsaWtlOgo+ID4gCj4gPiAKPiA+IG11dGV4X2xvY2soJmRhdGEt PmxvY2spOwo+ID4gaWYgKCFkYXRhLT5wb3dlcmVkKSB7Cj4gPiAJcmV0ID0gLUVJTlZBTDsKPiA+ IH0gZWxzZSB7Cj4gPiAgCXJldCA9IG1heDMwMTAwX2dldF90ZW1wKGRhdGEsIHZhbCk7Cj4gPiAg CWlmICghcmV0KQo+ID4gIAkJcmV0ID0gSUlPX1ZBTF9JTlQ7Cj4gPiAKPiA+IH0KPiA+IG11dGV4 X3VubG9jaygmZGF0YS0+bG9jayk7ICAKPiAKPiBMR1RNLgoKQSByZWZlcmVuY2UgY291bnRlZCBw b3dlciB1cCBmbGFnIHdvdWxkIHByb2JhYmx5IHdvcmsgYXMgd2UnZCB3YW50IHRvIGRpc2FibGUK cG93ZXIgb25seSB3aGVuIHRoZSByZWZlcmVuY2UgY291bnQgZ29lcyB0byAwLiAgTm90ZSBhbGwg Y2hlY2tzIG9mIHRoYXQgZmxhZwp3b3VsZCBuZWVkIHRvIGJlIGRvbmUgdW5kZXIgdGhlIGxvY2sg YXMgd2VsbC4KCkFzIGFuIGFsdGVybmF0aXZlLi4uCiAKV2hpbHN0IGl0IGlzIGEgc2VyaW91cyBv ZGRpdHksIGhvdyBhYm91dCBmbGlwcGluZyB0aGUgbG9naWMgYW5kIGhhdmluZwphbiBpaW9fZGV2 aWNlX2NsYWltX2J1ZmZlcmVkX21vZGUoKSB0aGF0IHRha2VzIG1sb2NrIGFuZCBob2xkcyBpdCBv bmx5CmlmIHdlIGFyZSBpbiBidWZmZXJlZCBtb2RlIC0gdGhlbiBob2xkcyBpdCB1bnRpbCBtYXRj aGluZyByZWxlYXNlPwoKTm93LCBJJ3ZlIG9ubHkgZG9uZSBhIHN1cGVyZmljaWFsIGF1ZGl0IG9m IHRoZSBidWZmZXIgcmVtb3ZhbCBwYXRocwp0byBjaGVjayB0aGV5IGhvbGQgdGhlIGxvY2sgYmVm b3JlIHdlIGNhbGwgcHJlZGlzYWJsZSgpIGJ1dCBpdCBsb29rcwpsaWtlIHRoZXkgZG8gLSBzbyB0 aGlzIHNob3VsZCB3b3JrLgoKSnVzdCB3YW50ZWQgdG8gbXVkZHkgdGhlIHdhdGVycyA6KQoKPiAK PiA+IAo+ID4gVGhlbiwgaW4gdGhlIHByZWRpc2FibGUsIHNvbWV0aGluZyBsaWtlIEkgaGF2ZSBi dXQgc2V0dGluZyB0aGUgZmxhZyB0bwo+ID4gZmFsc2UgYW5kIHRoZSBvcHBvc2l0ZSBvbiB0aGUg cG9zdGVuYWJsZS4uLiBOYXR1cmFsbHkgd2UgY291bGQgYWxzbwo+ID4ganVzdCByZWFkIHRoZSBy ZWdpc3RlcnMgKGFuZCBJIGFjdHVhbGx5IHRlbmQgdG8gcHJlZmVyIGl0KSBpbnN0ZWFkIG9mIGEK PiA+IG5ldyBmbGFnIGJ1dCBJIGd1ZXNzIHRoZSBmbGFnIGlzIGVub3VnaCBpbiB0aGlzIGNhc2Uu Cj4gPiAKPiA+IC0gTnVubyBTw6EgIAo+ID4gPiAgICAgCj4gCj4gCj4gVGhhbmtzLAo+IE1pcXXD qGwKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51 eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hbWxvZ2lj Cg==