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 8A963ECAAD8 for ; Tue, 20 Sep 2022 13: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=g/1915kEct5BEYOUbd8HEpufWEOBKgFa7HZ4dpvPTdY=; b=0wIgLWE+Cv5VdB c3EpWjk9kx0HZAyWotDI7fW2AqLOgnnO9eF+kKzWOW8mtaKx/uBskOkGom4j0pILJxkquWLt9QZLt kSSM0ek+RL9XItmDUSEnHA2sNg8cKJWPspH1LUIb1eCEIuqpdIFyS+RtsGlPaammiDCV/kGI2x67J pZ3qQfJLfZG383KP9FUTGp6JW+1Mm3qtT1Wg/PmkPbaYmZxQwblH6Oj1MOcWBF6lAiMS1AjpS5qNB InD0GdZ+Bg/23B/NUzAM8bjVJh0jfwLUyIMBctZR50LUac5MMcbnA37+0R9q4Ytl4A+paZZkZCJ9N x8X2/vQh11VdWz9PJKgg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oadgl-004GVK-Vu; Tue, 20 Sep 2022 13:53:28 +0000 Received: from relay5-d.mail.gandi.net ([2001:4b98:dc4:8::225]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oadgf-004GQt-7U; Tue, 20 Sep 2022 13:53:25 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id A83691C0004; Tue, 20 Sep 2022 13:53:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1663681994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lIlGeFbSdqitTtr0uWb11jZ/IbDiam3qsE3iTL+A9gA=; b=ZrHRrap1RAhB9I7EGA2dHOraOwN3TurjX+GOh8faV1N44bf6wiUmG9hHO8pD4MrlMXy4RA xVjVXA7Vt9g2jSxIjyEUsqX34N4P2P91Am05krN7mgnnTSJ9CXBdyWOUv8n1wFqCTzg5wD 4y4bRnIbpSYeQznvzmtIFZuVzyb2Rhge1subZL0siVjJWSqVyQR8gQiu96aoc503LKW48v wXOrgvBUE+AFobzoEhL1iBNBwnURf1Oc3OWavISvJKg/pm95h64K7ID81J6BX49gQhB4z3 IdIUyiHTtn65VJDZQTidlKvsGKx6BWt/66SNm0dzmrSxGWoTBPrnwk0US4Sy5w== Date: Tue, 20 Sep 2022 15:53:05 +0200 From: Miquel Raynal To: "Sa, Nuno" Cc: "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 , Jonathan Cameron , 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: <20220920155305.395dad08@xps-13> In-Reply-To: References: <20220920112821.975359-1-nuno.sa@analog.com> <20220920112821.975359-14-nuno.sa@analog.com> <20220920142319.61557023@xps-13> <20220920145534.0bdd4e69@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; 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-20220920_065321_783426_FBBDCB2E X-CRM114-Status: GOOD ( 53.70 ) 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 SGkgTnVubywKCk51bm8uU2FAYW5hbG9nLmNvbSB3cm90ZSBvbiBUdWUsIDIwIFNlcCAyMDIyIDEz OjE1OjMyICswMDAwOgoKPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiBGcm9tOiBN aXF1ZWwgUmF5bmFsIDxtaXF1ZWwucmF5bmFsQGJvb3RsaW4uY29tPgo+ID4gU2VudDogVHVlc2Rh eSwgU2VwdGVtYmVyIDIwLCAyMDIyIDI6NTYgUE0KPiA+IFRvOiBTYSwgTnVubyA8TnVuby5TYUBh bmFsb2cuY29tPgo+ID4gQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsg bGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZzsKPiA+IGxpbnV4LWFtbG9naWNAbGlz dHMuaW5mcmFkZWFkLm9yZzsgbGludXgtaW14QG54cC5jb207IGxpbnV4LQo+ID4gaWlvQHZnZXIu a2VybmVsLm9yZzsgQ2h1bnlhbiBaaGFuZyA8emhhbmcubHlyYUBnbWFpbC5jb20+OyBIZW5uZXJp Y2gsCj4gPiBNaWNoYWVsIDxNaWNoYWVsLkhlbm5lcmljaEBhbmFsb2cuY29tPjsgTWFydGluIEJs dW1lbnN0aW5nbAo+ID4gPG1hcnRpbi5ibHVtZW5zdGluZ2xAZ29vZ2xlbWFpbC5jb20+OyBTYXNj aGEgSGF1ZXIKPiA+IDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPjsgQ2l4aSBHZW5nIDxjaXhpLmdl bmcxQHVuaXNvYy5jb20+OyBLZXZpbgo+ID4gSGlsbWFuIDxraGlsbWFuQGJheWxpYnJlLmNvbT47 IFZsYWRpbWlyIFphcG9sc2tpeSA8dnpAbWxlaWEuY29tPjsKPiA+IFBlbmd1dHJvbml4IEtlcm5l bCBUZWFtIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+OyBBbGV4YW5kcnUgQXJkZWxlYW4KPiA+IDxh YXJkZWxlYW5AZGV2aXFvbi5jb20+OyBGYWJpbyBFc3RldmFtIDxmZXN0ZXZhbUBnbWFpbC5jb20+ OyBBbmRyaXkKPiA+IFRyeXNobml2c2t5eSA8YW5kcml5LnRyeXNobml2c2t5eUBvcGVuc3luZXJn eS5jb20+OyBIYWlibyBDaGVuCj4gPiA8aGFpYm8uY2hlbkBueHAuY29tPjsgU2hhd24gR3VvIDxz aGF3bmd1b0BrZXJuZWwub3JnPjsgSGFucyBkZQo+ID4gR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5j b20+OyBKZXJvbWUgQnJ1bmV0IDxqYnJ1bmV0QGJheWxpYnJlLmNvbT47Cj4gPiBIZWlrbyBTdHVl Ym5lciA8aGVpa29Ac250ZWNoLmRlPjsgRmxvcmlhbiBCb29yCj4gPiA8Zmxvcmlhbi5ib29yQGtl cm5lbGNvbmNlcHRzLmRlPjsgUmVndXMsIENpcHJpYW4KPiA+IDxDaXByaWFuLlJlZ3VzQGFuYWxv Zy5jb20+OyBMYXJzLVBldGVyIENsYXVzZW4gPGxhcnNAbWV0YWZvby5kZT47IEFuZHkKPiA+IFNo ZXZjaGVua28gPGFuZHkuc2hldmNoZW5rb0BnbWFpbC5jb20+OyBKb25hdGhhbiBDYW1lcm9uCj4g PiA8amljMjNAa2VybmVsLm9yZz47IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJheWxpYnJl LmNvbT47IEJhb2xpbgo+ID4gV2FuZyA8YmFvbGluLndhbmdAbGludXguYWxpYmFiYS5jb20+OyBK eW90aSBCaGF5YW5hCj4gPiA8amJoYXlhbmFAZ29vZ2xlLmNvbT47IENoZW4tWXUgVHNhaSA8d2Vu c0Bjc2llLm9yZz47IE9yc29uIFpoYWkKPiA+IDxvcnNvbnpoYWlAZ21haWwuY29tPgo+ID4gU3Vi amVjdDogUmU6IFtQQVRDSCAxMy8xNV0gaWlvOiBoZWFsdGg6IG1heDMwMTAwOiBkbyBub3QgdXNl IGludGVybmFsIGlpb19kZXYKPiA+IGxvY2sKPiA+IAo+ID4gW0V4dGVybmFsXQo+ID4gCj4gPiBI aSBOdW5vLAo+ID4gCj4gPiBOdW5vLlNhQGFuYWxvZy5jb20gd3JvdGUgb24gVHVlLCAyMCBTZXAg MjAyMiAxMjo0NDowOCArMDAwMDoKPiA+ICAgCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0KPiA+ID4gPiBGcm9tOiBNaXF1ZWwgUmF5bmFsIDxtaXF1ZWwucmF5bmFsQGJvb3RsaW4u Y29tPgo+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIFNlcHRlbWJlciAyMCwgMjAyMiAyOjIzIFBNCj4g PiA+ID4gVG86IFNhLCBOdW5vIDxOdW5vLlNhQGFuYWxvZy5jb20+Cj4gPiA+ID4gQ2M6IGxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXgtICAKPiA+IHJvY2tjaGlwQGxp c3RzLmluZnJhZGVhZC5vcmc7ICAKPiA+ID4gPiBsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVh ZC5vcmc7IGxpbnV4LWlteEBueHAuY29tOyBsaW51eC0KPiA+ID4gPiBpaW9Admdlci5rZXJuZWwu b3JnOyBDaHVueWFuIFpoYW5nIDx6aGFuZy5seXJhQGdtYWlsLmNvbT47ICAKPiA+IEhlbm5lcmlj aCwgIAo+ID4gPiA+IE1pY2hhZWwgPE1pY2hhZWwuSGVubmVyaWNoQGFuYWxvZy5jb20+OyBNYXJ0 aW4gQmx1bWVuc3RpbmdsCj4gPiA+ID4gPG1hcnRpbi5ibHVtZW5zdGluZ2xAZ29vZ2xlbWFpbC5j b20+OyBTYXNjaGEgSGF1ZXIKPiA+ID4gPiA8cy5oYXVlckBwZW5ndXRyb25peC5kZT47IENpeGkg R2VuZyA8Y2l4aS5nZW5nMUB1bmlzb2MuY29tPjsgS2V2aW4KPiA+ID4gPiBIaWxtYW4gPGtoaWxt YW5AYmF5bGlicmUuY29tPjsgVmxhZGltaXIgWmFwb2xza2l5IDx2ekBtbGVpYS5jb20+Owo+ID4g PiA+IFBlbmd1dHJvbml4IEtlcm5lbCBUZWFtIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+OyBBbGV4 YW5kcnUgIAo+ID4gQXJkZWxlYW4gIAo+ID4gPiA+IDxhYXJkZWxlYW5AZGV2aXFvbi5jb20+OyBG YWJpbyBFc3RldmFtIDxmZXN0ZXZhbUBnbWFpbC5jb20+OyAgCj4gPiBBbmRyaXkgIAo+ID4gPiA+ IFRyeXNobml2c2t5eSA8YW5kcml5LnRyeXNobml2c2t5eUBvcGVuc3luZXJneS5jb20+OyBIYWli byBDaGVuCj4gPiA+ID4gPGhhaWJvLmNoZW5AbnhwLmNvbT47IFNoYXduIEd1byA8c2hhd25ndW9A a2VybmVsLm9yZz47IEhhbnMgZGUKPiA+ID4gPiBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT47 IEplcm9tZSBCcnVuZXQgIAo+ID4gPGpicnVuZXRAYmF5bGlicmUuY29tPjsgIAo+ID4gPiA+IEhl aWtvIFN0dWVibmVyIDxoZWlrb0BzbnRlY2guZGU+OyBGbG9yaWFuIEJvb3IKPiA+ID4gPiA8Zmxv cmlhbi5ib29yQGtlcm5lbGNvbmNlcHRzLmRlPjsgUmVndXMsIENpcHJpYW4KPiA+ID4gPiA8Q2lw cmlhbi5SZWd1c0BhbmFsb2cuY29tPjsgTGFycy1QZXRlciBDbGF1c2VuIDxsYXJzQG1ldGFmb28u ZGU+OyAgCj4gPiBBbmR5ICAKPiA+ID4gPiBTaGV2Y2hlbmtvIDxhbmR5LnNoZXZjaGVua29AZ21h aWwuY29tPjsgSm9uYXRoYW4gQ2FtZXJvbgo+ID4gPiA+IDxqaWMyM0BrZXJuZWwub3JnPjsgTmVp bCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPjsgQmFvbGluCj4gPiA+ID4gV2Fu ZyA8YmFvbGluLndhbmdAbGludXguYWxpYmFiYS5jb20+OyBKeW90aSBCaGF5YW5hCj4gPiA+ID4g PGpiaGF5YW5hQGdvb2dsZS5jb20+OyBDaGVuLVl1IFRzYWkgPHdlbnNAY3NpZS5vcmc+OyBPcnNv biBaaGFpCj4gPiA+ID4gPG9yc29uemhhaUBnbWFpbC5jb20+Cj4gPiA+ID4gU3ViamVjdDogUmU6 IFtQQVRDSCAxMy8xNV0gaWlvOiBoZWFsdGg6IG1heDMwMTAwOiBkbyBub3QgdXNlIGludGVybmFs ICAKPiA+IGlpb19kZXYgIAo+ID4gPiA+IGxvY2sKPiA+ID4gPgo+ID4gPiA+IFtFeHRlcm5hbF0K PiA+ID4gPgo+ID4gPiA+IEhpIE51bm8sCj4gPiA+ID4gIAo+ID4gPgo+ID4gPiBIaSBNaXF1ZWws Cj4gPiA+Cj4gPiA+IFRoYW5rcyBmb3IgcmV2aWV3aW5nLi4uCj4gPiA+ICAKPiA+ID4gPiBudW5v LnNhQGFuYWxvZy5jb20gd3JvdGUgb24gVHVlLCAyMCBTZXAgMjAyMiAxMzoyODoxOSArMDIwMDoK PiA+ID4gPiAgCj4gPiA+ID4gPiBUaGUgcGF0dGVybiB1c2VkIGluIHRoaXMgZGV2aWNlIGRvZXMg bm90IHF1aXRlIGZpdCBpbiB0aGUKPiA+ID4gPiA+IGlpb19kZXZpY2VfY2xhaW1fZGlyZWN0X21v ZGUoKSB0eXBpY2FsIHVzYWdlLiBJbiB0aGlzIGNhc2UsCj4gPiA+ID4gPiBpaW9fYnVmZmVyX2Vu YWJsZWQoKSB3YXMgYmVpbmcgdXNlZCBub3QgdG8gcHJldmVudCB0aGUgcmF3IGFjY2VzcyBidXQg IAo+ID4gdG8gIAo+ID4gPiA+ID4gYWxsb3cgaXQuIEhlbmNlIHRvIGdldCByaWQgb2YgdGhlICdt bG9jaycgd2UgbmVlZCB0bzoKPiA+ID4gPiA+Cj4gPiA+ID4gPiAxLiBVc2UgaWlvX2RldmljZV9j bGFpbV9kaXJlY3RfbW9kZSgpIHRvIGNoZWNrIGlmIGRpcmVjdCBtb2RlIGNhbiBiZQo+ID4gPiA+ ID4gY2xhaW1lZCBhbmQgaWYgd2UgY2FuIHJldHVybiAtRUlOVkFMIChhcyB0aGUgb3JpZ2luYWwg Y29kZSk7Cj4gPiA+ID4gPgo+ID4gPiA+ID4gMi4gTWFrZSBzdXJlIHRoYXQgYnVmZmVyaW5nIGlz IG5vdCBkaXNhYmxlZCB3aGlsZSBkb2luZyBhIHJhdyByZWFkLiBGb3IKPiA+ID4gPiA+IHRoYXQs IHdlIGNhbiBtYWtlIHVzZSBvZiB0aGUgbG9jYWwgbG9jayB0aGF0IGFscmVhZHkgZXhpc3RzLgo+ ID4gPiA+ID4KPiA+ID4gPiA+IFdoaWxlIGF0IGl0LCBmaXhlZCBhIG1pbm9yIGNvZGluZyBzdHls ZSBjb21wbGFpbi4uLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IE51bm8gU8Oh IDxudW5vLnNhQGFuYWxvZy5jb20+Cj4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ICBkcml2ZXJzL2lp by9oZWFsdGgvbWF4MzAxMDAuYyB8IDI0ICsrKysrKysrKysrKysrKysrLS0tLS0tLQo+ID4gPiA+ ID4gIDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQo+ID4g PiA+ID4KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9oZWFsdGgvbWF4MzAxMDAu YyAgCj4gPiBiL2RyaXZlcnMvaWlvL2hlYWx0aC9tYXgzMDEwMC5jICAKPiA+ID4gPiA+IGluZGV4 IGFkNTcxNzk2NTIyMy4uYWE0OTRjYWQ1ZGYwIDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvZHJpdmVy cy9paW8vaGVhbHRoL21heDMwMTAwLmMKPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvaWlvL2hlYWx0 aC9tYXgzMDEwMC5jCj4gPiA+ID4gPiBAQCAtMTg1LDggKzE4NSwxOSBAQCBzdGF0aWMgaW50IG1h eDMwMTAwX2J1ZmZlcl9wb3N0ZW5hYmxlKHN0cnVjdCAgCj4gPiA+ID4gaWlvX2RldiAqaW5kaW9f ZGV2KSAgCj4gPiA+ID4gPiAgc3RhdGljIGludCBtYXgzMDEwMF9idWZmZXJfcHJlZGlzYWJsZShz dHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2KQo+ID4gPiA+ID4gIHsKPiA+ID4gPiA+ICAJc3RydWN0 IG1heDMwMTAwX2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+ID4gPiA+ID4gKwlp bnQgcmV0Owo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwkvKgo+ID4gPiA+ID4gKwkgKiBBcyBzdGF0 ZWQgaW4gdGhlIGNvbW1lbnQgaW4gdGhlIHJlYWRfcmF3KCkgZnVuY3Rpb24sIHRlbXBlcmF0dXJl Cj4gPiA+ID4gPiArCSAqIGNhbiBvbmx5IGJlIGFjcXVpcmVkIGlmIHRoZSBlbmdpbmUgaXMgcnVu bmluZy4gQXMgc3VjaCB0aGUgbXV0ZXgKPiA+ID4gPiA+ICsJICogaXMgdXNlZCB0byBtYWtlIHN1 cmUgd2UgZG8gbm90IHBvd2VyIGRvd24gd2hpbGUgZG9pbmcgYSAgCj4gPiA+ID4gdGVtcGVyYXR1 cmUgIAo+ID4gPiA+ID4gKwkgKiByZWFkaW5nLgo+ID4gPiA+ID4gKwkgKi8KPiA+ID4gPiA+ICsJ bXV0ZXhfbG9jaygmZGF0YS0+bG9jayk7Cj4gPiA+ID4gPiArCXJldCA9IG1heDMwMTAwX3NldF9w b3dlcm1vZGUoZGF0YSwgZmFsc2UpOwo+ID4gPiA+ID4gKwltdXRleF91bmxvY2soJmRhdGEtPmxv Y2spOwo+ID4gPiA+ID4KPiA+ID4gPiA+IC0JcmV0dXJuIG1heDMwMTAwX3NldF9wb3dlcm1vZGUo ZGF0YSwgZmFsc2UpOwo+ID4gPiA+ID4gKwlyZXR1cm4gcmV0Owo+ID4gPiA+ID4gIH0KPiA+ID4g PiA+Cj4gPiA+ID4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBpaW9fYnVmZmVyX3NldHVwX29wcyBt YXgzMDEwMF9idWZmZXJfc2V0dXBfb3BzICAKPiA+ID0geyAgCj4gPiA+ID4gPiBAQCAtMzg3LDE4 ICszOTgsMTcgQEAgc3RhdGljIGludCBtYXgzMDEwMF9yZWFkX3JhdyhzdHJ1Y3QgaWlvX2RldiAg Cj4gPiA+ID4gKmluZGlvX2RldiwgIAo+ID4gPiA+ID4gIAkJICogVGVtcGVyYXR1cmUgcmVhZGlu ZyBjYW4gb25seSBiZSBhY3F1aXJlZCB3aGlsZSBlbmdpbmUKPiA+ID4gPiA+ICAJCSAqIGlzIHJ1 bm5pbmcKPiA+ID4gPiA+ICAJCSAqLwo+ID4gPiA+ID4gLQkJbXV0ZXhfbG9jaygmaW5kaW9fZGV2 LT5tbG9jayk7Cj4gPiA+ID4gPiAtCj4gPiA+ID4gPiAtCQlpZiAoIWlpb19idWZmZXJfZW5hYmxl ZChpbmRpb19kZXYpKQo+ID4gPiA+ID4gKwkJaWYgKCFpaW9fZGV2aWNlX2NsYWltX2RpcmVjdF9t b2RlKGluZGlvX2RldikpIHsgIAo+ID4gPiA+Cj4gPiA+ID4gSSB3b25kZXIgaWYgdGhpcyBsaW5l IGNoYW5nZSBoZXJlIGlzIHJlYWxseSBuZWVkZWQuIEkgYWdyZWUgdGhlIHdob2xlCj4gPiA+ID4g Y29uc3RydWN0aW9uIGxvb2tzIGxpa2Ugd2hhdCBpaW9fZGV2aWNlX2NsYWltX2RpcmVjdF9tb2Rl KCkgZG9lcyBidXQgaW4KPiA+ID4gPiBwcmFjdGljZSBJIGRvbid0IHNlZSB0aGUgcG9pbnQgb2Yg YWNxdWlyaW5nIGFueSBsb2NrIGhlcmUgaWYgd2UganVzdAo+ID4gPiA+IHJlbGVhc2UgaXQgbm8g bWF0dGVyIHdoYXQgaGFwcGVucyByaWdodCBhZnRlci4KPiA+ID4gPiAgCj4gPiA+Cj4gPiA+IEkg Y2FuIHNlZSB0aGF0IHRoaXMgaXMgb2RkIChhdCB0aGUgdmVyeSBsZWFzdCkgYnV0IEFGQUlLLCB0 aGlzIGlzIHRoZSBvbmx5IHdheQo+ID4gPiB0byBzYWZlbHkgaW5mZXIgaWYgYnVmZmVyaW5nIGlz IGVuYWJsZWQgb3Igbm90LiBpaW9fYnVmZmVyX2VuYWJsZWQoKSBoYXMgbm8KPiA+ID4gcHJvdGVj dGlvbiBhZ2FpbnN0IHNvbWVvbmUgY29uY3VycmVudGx5IGVuYWJsaW5nL2Rpc2FibGluZyB0aGUg YnVmZmVyLiAgCj4gPiAKPiA+IFllcywgYnV0IHRoaXMgaXMgb25seSByZWxldmFudCBpZiB5b3Ug d2FudCB0byBpbmZlciB0aGF0IHRoZSAiYnVmZmVycwo+ID4gYXJlIGVuYWJsZWQiIGFuZCBiZSBz dXJlIHRoYXQgaXQgY2Fubm90IGJlIG90aGVyd2lzZSBkdXJpbmcgdGhlIG5leHQKPiA+IGxpbmVz IHVudGlsIHlvdSByZWxlYXNlIHRoZSBsb2NrLiBBY3F1aXJpbmcgYSBsb2NrLCBkb2luZyB0aGUg aWYgYW5kCj4gPiB0aGVuIHVuY29uZGl0aW9uYWxseSByZWxlYXNpbmcgdGhlIGxvY2ssIElNSE8s IGRvZXMgbm90IG1ha2UgYW55IHNlbnNlCj4gPiAoYnV0IEknbSBub3QgYSBsb2NraW5nIGd1cnUp IGJlY2F1c2Ugd2hlbiB5b3UgZW50ZXIgdGhlIGVsc2UgY2xhdXNlLAo+ID4geW91IGFyZSBub3Qg cHJvdGVjdGVkIGFueXdheSwgc28gaW4gYm90aCBjYXNlcyBhbGwgdGhpcyBpcyBjb21wbGV0ZWx5 Cj4gPiByYWN5Lgo+ID4gICAKPiAKPiBBaGggY3JhcCwgeWVzIHlvdSBhcmUgcmlnaHQuLi4gSXQg aXMgc3RpbGwgcmFjeSBzaW5jZSB3ZSBjYW4gc3RpbGwgdHJ5IHRvIHJlYWQKPiB0aGUgdGVtcGVy YXR1cmUgd2l0aCB0aGUgZGV2aWNlIHBvd2VyZWQgb2ZmLiBJJ20gbm90IHJlYWxseSBzdXJlIGhv dyB0bwo+IGFkZHJlc3MgdGhpcy4gT25lIHdheSBjb3VsZCBiZSB0byBqdXN0IHVzZSBhbiBpbnRl cm5hbCBjb250cm9sIHZhcmlhYmxlCj4gdG8gcmVmbGVjdCB0aGUgZGV2aWNlIHBvd2VyIHN0YXRl IChzZXQvY2xlYXIgb24gdGhlIGJ1ZmZlciBjYWxsYmFja3MpIGFuZAo+IG9ubHkgdXNlIHRoZSBs b2NhbCBsb2NrIChjb21wbGV0ZWx5IGRpdGNoaW5nIHRoZSBjYWxsIHRvCj4gaWlvX2RldmljZV9j bGFpbV9kaXJlY3RfbW9kZSgpKS4uLgoKSSB0ZW5kIHRvIHByZWZlciB0aGlzIG9wdGlvbiB0aGFu IHRoZSBvbmUgYmVsb3cuCgpJIGd1ZXNzIHlvdXIgaW1wbGVtZW50YXRpb24gYWxyZWFkeSBwcmV2 ZW50cyBidWZmZXJfcHJlZGlzYWJsZSgpIHRvIHJ1bgp0aGFua3MgdG8gdGhlIGxvY2FsIGxvY2sg YmVpbmcgaGVsZCBkdXJpbmcgdGhlIG9wZXJhdGlvbi4gTWF5YmUgd2UKc2hvdWxkIGp1c3QgdmVy aWZ5IHRoYXQgYnVmZmVycyBhcmUgZW5hYmxlZCBmcm9tIHdpdGhpbiB0aGUgbG9jYWwgbG9jawpi ZWluZyBoZWxkIGluc3RlYWQgb2YganVzdCBhY3F1aXJpbmcgaXQgZm9yIHRoZSBnZXRfdGVtcCgp IG1lYXN1cmUuIEl0CndvdWxkIHByb2JhYmx5IHNvbHZlIHRoZSBzaXR1YXRpb24gaGVyZS4KCj4g T3RoZXIgb3B0aW9ucyB3b3VsZCBiZSB0byBoYXZlIGhlbHBlcnMgZm9yIGFjcXVpcmluZy9yZWxl YXNpbmcgdGhlIGxvY2sKPiAoSSB0aGluayB0aGlzIHdvdWxkIGRlZmVhdCB0aGUgaWRlYSBvZiBu b3QgYWJ1c2luZyB0aGlzIGxvY2sgYXQgYWxsKSBvciBoYXZlCj4gQSB2ZXJzaW9uICBpaW9fZGV2 aWNlX2NsYWltX2RpcmVjdF9tb2RlKCkgdGhhdCBkb2VzIG5vdCByZWxlYXNlIHRoZSAKPiBsb2Nr IGluIGNhc2UgYnVmZmVyaW5nIGlzIGVuYWJsZWQuIEFueSBwcmVmZXJlbmNlPwo+IAo+IC0gTnVu byBTw6EKCgpUaGFua3MsCk1pcXXDqGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFtbG9naWMgbWFpbGluZyBsaXN0CmxpbnV4LWFtbG9naWNA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LWFtbG9naWMK 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2E9D4ECAAD8 for ; Tue, 20 Sep 2022 13:54:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231417AbiITNys (ORCPT ); Tue, 20 Sep 2022 09:54:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44028 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231436AbiITNy1 (ORCPT ); Tue, 20 Sep 2022 09:54:27 -0400 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E444A47BB1 for ; Tue, 20 Sep 2022 06:53:16 -0700 (PDT) Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id A83691C0004; Tue, 20 Sep 2022 13:53:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1663681994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lIlGeFbSdqitTtr0uWb11jZ/IbDiam3qsE3iTL+A9gA=; b=ZrHRrap1RAhB9I7EGA2dHOraOwN3TurjX+GOh8faV1N44bf6wiUmG9hHO8pD4MrlMXy4RA xVjVXA7Vt9g2jSxIjyEUsqX34N4P2P91Am05krN7mgnnTSJ9CXBdyWOUv8n1wFqCTzg5wD 4y4bRnIbpSYeQznvzmtIFZuVzyb2Rhge1subZL0siVjJWSqVyQR8gQiu96aoc503LKW48v wXOrgvBUE+AFobzoEhL1iBNBwnURf1Oc3OWavISvJKg/pm95h64K7ID81J6BX49gQhB4z3 IdIUyiHTtn65VJDZQTidlKvsGKx6BWt/66SNm0dzmrSxGWoTBPrnwk0US4Sy5w== Date: Tue, 20 Sep 2022 15:53:05 +0200 From: Miquel Raynal To: "Sa, Nuno" Cc: "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 , Jonathan Cameron , 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: <20220920155305.395dad08@xps-13> In-Reply-To: References: <20220920112821.975359-1-nuno.sa@analog.com> <20220920112821.975359-14-nuno.sa@analog.com> <20220920142319.61557023@xps-13> <20220920145534.0bdd4e69@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org Hi Nuno, Nuno.Sa@analog.com wrote on Tue, 20 Sep 2022 13:15:32 +0000: > > -----Original Message----- > > From: Miquel Raynal > > Sent: Tuesday, September 20, 2022 2:56 PM > > To: Sa, Nuno > > Cc: linux-arm-kernel@lists.infradead.org; linux-rockchip@lists.infradea= d.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 ; Jonathan Cameron > > ; Neil Armstrong ; Baolin > > Wang ; Jyoti Bhayana > > ; Chen-Yu Tsai ; Orson Zhai > > > > Subject: Re: [PATCH 13/15] iio: health: max30100: do not use internal i= io_dev > > lock > >=20 > > [External] > >=20 > > Hi Nuno, > >=20 > > Nuno.Sa@analog.com wrote on Tue, 20 Sep 2022 12:44:08 +0000: > > =20 > > > > -----Original Message----- > > > > From: Miquel Raynal > > > > Sent: Tuesday, September 20, 2022 2:23 PM > > > > To: Sa, Nuno > > > > Cc: linux-arm-kernel@lists.infradead.org; linux- =20 > > rockchip@lists.infradead.org; =20 > > > > linux-amlogic@lists.infradead.org; linux-imx@nxp.com; linux- > > > > iio@vger.kernel.org; Chunyan Zhang ; =20 > > Hennerich, =20 > > > > Michael ; Martin Blumenstingl > > > > ; Sascha Hauer > > > > ; Cixi Geng ; Kevin > > > > Hilman ; Vladimir Zapolskiy ; > > > > Pengutronix Kernel Team ; Alexandru =20 > > Ardelean =20 > > > > ; Fabio Estevam ; =20 > > Andriy =20 > > > > Tryshnivskyy ; Haibo Chen > > > > ; Shawn Guo ; Hans de > > > > Goede ; Jerome Brunet =20 > > ; =20 > > > > Heiko Stuebner ; Florian Boor > > > > ; Regus, Ciprian > > > > ; Lars-Peter Clausen ; = =20 > > Andy =20 > > > > Shevchenko ; Jonathan Cameron > > > > ; Neil Armstrong ; Baolin > > > > Wang ; Jyoti Bhayana > > > > ; Chen-Yu Tsai ; Orson Zhai > > > > > > > > Subject: Re: [PATCH 13/15] iio: health: max30100: do not use intern= al =20 > > iio_dev =20 > > > > lock > > > > > > > > [External] > > > > > > > > Hi Nuno, > > > > =20 > > > > > > Hi Miquel, > > > > > > Thanks for reviewing... > > > =20 > > > > nuno.sa@analog.com wrote on Tue, 20 Sep 2022 13:28:19 +0200: > > > > =20 > > > > > The pattern used in this device does not quite fit in the > > > > > iio_device_claim_direct_mode() typical usage. In this case, > > > > > iio_buffer_enabled() was being used not to prevent the raw access= but =20 > > to =20 > > > > > allow it. Hence to get rid of the 'mlock' we need to: > > > > > > > > > > 1. Use iio_device_claim_direct_mode() to check if direct mode can= be > > > > > claimed and if we can return -EINVAL (as the original code); > > > > > > > > > > 2. Make sure that buffering is not disabled while doing a raw rea= d. For > > > > > that, we can make use of the local lock that already exists. > > > > > > > > > > While at it, fixed a minor coding style complain... > > > > > > > > > > Signed-off-by: Nuno S=C3=A1 > > > > > --- > > > > > drivers/iio/health/max30100.c | 24 +++++++++++++++++------- > > > > > 1 file changed, 17 insertions(+), 7 deletions(-) > > > > > > > > > > diff --git a/drivers/iio/health/max30100.c =20 > > b/drivers/iio/health/max30100.c =20 > > > > > index ad5717965223..aa494cad5df0 100644 > > > > > --- a/drivers/iio/health/max30100.c > > > > > +++ b/drivers/iio/health/max30100.c > > > > > @@ -185,8 +185,19 @@ static int max30100_buffer_postenable(struct= =20 > > > > iio_dev *indio_dev) =20 > > > > > static int max30100_buffer_predisable(struct iio_dev *indio_dev) > > > > > { > > > > > struct max30100_data *data =3D iio_priv(indio_dev); > > > > > + int ret; > > > > > + > > > > > + /* > > > > > + * As stated in the comment in the read_raw() function, tempera= ture > > > > > + * can only be acquired if the engine is running. As such the m= utex > > > > > + * is used to make sure we do not power down while doing a =20 > > > > temperature =20 > > > > > + * reading. > > > > > + */ > > > > > + mutex_lock(&data->lock); > > > > > + ret =3D max30100_set_powermode(data, false); > > > > > + mutex_unlock(&data->lock); > > > > > > > > > > - return max30100_set_powermode(data, false); > > > > > + return ret; > > > > > } > > > > > > > > > > static const struct iio_buffer_setup_ops max30100_buffer_setup_o= ps =20 > > =3D { =20 > > > > > @@ -387,18 +398,17 @@ static int max30100_read_raw(struct iio_dev= =20 > > > > *indio_dev, =20 > > > > > * Temperature reading can only be acquired while engine > > > > > * is running > > > > > */ > > > > > - mutex_lock(&indio_dev->mlock); > > > > > - > > > > > - if (!iio_buffer_enabled(indio_dev)) > > > > > + if (!iio_device_claim_direct_mode(indio_dev)) { =20 > > > > > > > > I wonder if this line change here is really needed. I agree the who= le > > > > construction looks like what iio_device_claim_direct_mode() does bu= t in > > > > practice I don't see the point of acquiring any lock here if we just > > > > release it no matter what happens right after. > > > > =20 > > > > > > I can see that this is odd (at the very least) but AFAIK, this is the= only way > > > to safely infer if buffering is enabled or not. iio_buffer_enabled() = has no > > > protection against someone concurrently enabling/disabling the buffer= . =20 > >=20 > > Yes, but this is only relevant if you want to infer that the "buffers > > are enabled" and be sure that it cannot be otherwise during the next > > lines until you release the lock. Acquiring a lock, doing the if and > > then unconditionally releasing the lock, IMHO, does not make any sense > > (but I'm not a locking guru) because when you enter the else clause, > > you are not protected anyway, so in both cases all this is completely > > racy. > > =20 >=20 > Ahh crap, yes you are right... It is still racy since we can still try to= read > the temperature with the device powered off. I'm not really sure how to > address this. One way could be to just use an internal control variable > to reflect the device power state (set/clear on the buffer callbacks) and > only use the local lock (completely ditching the call to > iio_device_claim_direct_mode())... I tend to prefer this option than the one below. I guess your implementation already prevents buffer_predisable() to run thanks to the local lock being held during the operation. Maybe we should just verify that buffers are enabled from within the local lock being held instead of just acquiring it for the get_temp() measure. It would probably solve the situation here. > Other options would be to have helpers for acquiring/releasing the lock > (I think this would defeat the idea of not abusing this lock at all) or h= ave > A version iio_device_claim_direct_mode() that does not release the=20 > lock in case buffering is enabled. Any preference? >=20 > - Nuno S=C3=A1 Thanks, Miqu=C3=A8l 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 EB62FC54EE9 for ; Tue, 20 Sep 2022 13:53:50 +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=F7de8ejnNMIiGpSPH+54rJq+lbw/DeWphd5MYXNcrRM=; b=1PYzdr/PCbN33b jdY8NSd+zGcyYPqmeVcrWgidX55ZXy+eRq99RG99ezuy2qDAqSed8PF0k/WxzxUkP0VqWl8AwCVOk 9GQm/6qaeIp7y4uj1vLJC4nyppBrkb/JBOmzMZzWa97PZDRJ+PcO88Tk4iT/U84qx0CBaJVUa53rn eBMq9W8bm+yMD4KbWQOdx/2BKUUEUe/mKNvx7fr33BtMswTxuLixfPkievAtiyLDrPXwBE5yprE2g TIoWsmX7G9OEJ1OMkXP365MPwBXe6UiVKEec8kHBiDgQfZElnaeR1UmOG7uSFHirrK1JTIUPvz2P2 mWQ+apGXdGMB+q/zo3eA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oadgx-004Gcg-NJ; Tue, 20 Sep 2022 13:53:39 +0000 Received: from relay5-d.mail.gandi.net ([2001:4b98:dc4:8::225]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oadgf-004GQt-7U; Tue, 20 Sep 2022 13:53:25 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id A83691C0004; Tue, 20 Sep 2022 13:53:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1663681994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lIlGeFbSdqitTtr0uWb11jZ/IbDiam3qsE3iTL+A9gA=; b=ZrHRrap1RAhB9I7EGA2dHOraOwN3TurjX+GOh8faV1N44bf6wiUmG9hHO8pD4MrlMXy4RA xVjVXA7Vt9g2jSxIjyEUsqX34N4P2P91Am05krN7mgnnTSJ9CXBdyWOUv8n1wFqCTzg5wD 4y4bRnIbpSYeQznvzmtIFZuVzyb2Rhge1subZL0siVjJWSqVyQR8gQiu96aoc503LKW48v wXOrgvBUE+AFobzoEhL1iBNBwnURf1Oc3OWavISvJKg/pm95h64K7ID81J6BX49gQhB4z3 IdIUyiHTtn65VJDZQTidlKvsGKx6BWt/66SNm0dzmrSxGWoTBPrnwk0US4Sy5w== Date: Tue, 20 Sep 2022 15:53:05 +0200 From: Miquel Raynal To: "Sa, Nuno" Cc: "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 , Jonathan Cameron , 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: <20220920155305.395dad08@xps-13> In-Reply-To: References: <20220920112821.975359-1-nuno.sa@analog.com> <20220920112821.975359-14-nuno.sa@analog.com> <20220920142319.61557023@xps-13> <20220920145534.0bdd4e69@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; 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-20220920_065321_783426_FBBDCB2E X-CRM114-Status: GOOD ( 53.70 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkgTnVubywKCk51bm8uU2FAYW5hbG9nLmNvbSB3cm90ZSBvbiBUdWUsIDIwIFNlcCAyMDIyIDEz OjE1OjMyICswMDAwOgoKPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiBGcm9tOiBN aXF1ZWwgUmF5bmFsIDxtaXF1ZWwucmF5bmFsQGJvb3RsaW4uY29tPgo+ID4gU2VudDogVHVlc2Rh eSwgU2VwdGVtYmVyIDIwLCAyMDIyIDI6NTYgUE0KPiA+IFRvOiBTYSwgTnVubyA8TnVuby5TYUBh bmFsb2cuY29tPgo+ID4gQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsg bGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZzsKPiA+IGxpbnV4LWFtbG9naWNAbGlz dHMuaW5mcmFkZWFkLm9yZzsgbGludXgtaW14QG54cC5jb207IGxpbnV4LQo+ID4gaWlvQHZnZXIu a2VybmVsLm9yZzsgQ2h1bnlhbiBaaGFuZyA8emhhbmcubHlyYUBnbWFpbC5jb20+OyBIZW5uZXJp Y2gsCj4gPiBNaWNoYWVsIDxNaWNoYWVsLkhlbm5lcmljaEBhbmFsb2cuY29tPjsgTWFydGluIEJs dW1lbnN0aW5nbAo+ID4gPG1hcnRpbi5ibHVtZW5zdGluZ2xAZ29vZ2xlbWFpbC5jb20+OyBTYXNj aGEgSGF1ZXIKPiA+IDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPjsgQ2l4aSBHZW5nIDxjaXhpLmdl bmcxQHVuaXNvYy5jb20+OyBLZXZpbgo+ID4gSGlsbWFuIDxraGlsbWFuQGJheWxpYnJlLmNvbT47 IFZsYWRpbWlyIFphcG9sc2tpeSA8dnpAbWxlaWEuY29tPjsKPiA+IFBlbmd1dHJvbml4IEtlcm5l bCBUZWFtIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+OyBBbGV4YW5kcnUgQXJkZWxlYW4KPiA+IDxh YXJkZWxlYW5AZGV2aXFvbi5jb20+OyBGYWJpbyBFc3RldmFtIDxmZXN0ZXZhbUBnbWFpbC5jb20+ OyBBbmRyaXkKPiA+IFRyeXNobml2c2t5eSA8YW5kcml5LnRyeXNobml2c2t5eUBvcGVuc3luZXJn eS5jb20+OyBIYWlibyBDaGVuCj4gPiA8aGFpYm8uY2hlbkBueHAuY29tPjsgU2hhd24gR3VvIDxz aGF3bmd1b0BrZXJuZWwub3JnPjsgSGFucyBkZQo+ID4gR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5j b20+OyBKZXJvbWUgQnJ1bmV0IDxqYnJ1bmV0QGJheWxpYnJlLmNvbT47Cj4gPiBIZWlrbyBTdHVl Ym5lciA8aGVpa29Ac250ZWNoLmRlPjsgRmxvcmlhbiBCb29yCj4gPiA8Zmxvcmlhbi5ib29yQGtl cm5lbGNvbmNlcHRzLmRlPjsgUmVndXMsIENpcHJpYW4KPiA+IDxDaXByaWFuLlJlZ3VzQGFuYWxv Zy5jb20+OyBMYXJzLVBldGVyIENsYXVzZW4gPGxhcnNAbWV0YWZvby5kZT47IEFuZHkKPiA+IFNo ZXZjaGVua28gPGFuZHkuc2hldmNoZW5rb0BnbWFpbC5jb20+OyBKb25hdGhhbiBDYW1lcm9uCj4g PiA8amljMjNAa2VybmVsLm9yZz47IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJheWxpYnJl LmNvbT47IEJhb2xpbgo+ID4gV2FuZyA8YmFvbGluLndhbmdAbGludXguYWxpYmFiYS5jb20+OyBK eW90aSBCaGF5YW5hCj4gPiA8amJoYXlhbmFAZ29vZ2xlLmNvbT47IENoZW4tWXUgVHNhaSA8d2Vu c0Bjc2llLm9yZz47IE9yc29uIFpoYWkKPiA+IDxvcnNvbnpoYWlAZ21haWwuY29tPgo+ID4gU3Vi amVjdDogUmU6IFtQQVRDSCAxMy8xNV0gaWlvOiBoZWFsdGg6IG1heDMwMTAwOiBkbyBub3QgdXNl IGludGVybmFsIGlpb19kZXYKPiA+IGxvY2sKPiA+IAo+ID4gW0V4dGVybmFsXQo+ID4gCj4gPiBI aSBOdW5vLAo+ID4gCj4gPiBOdW5vLlNhQGFuYWxvZy5jb20gd3JvdGUgb24gVHVlLCAyMCBTZXAg MjAyMiAxMjo0NDowOCArMDAwMDoKPiA+ICAgCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0KPiA+ID4gPiBGcm9tOiBNaXF1ZWwgUmF5bmFsIDxtaXF1ZWwucmF5bmFsQGJvb3RsaW4u Y29tPgo+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIFNlcHRlbWJlciAyMCwgMjAyMiAyOjIzIFBNCj4g PiA+ID4gVG86IFNhLCBOdW5vIDxOdW5vLlNhQGFuYWxvZy5jb20+Cj4gPiA+ID4gQ2M6IGxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXgtICAKPiA+IHJvY2tjaGlwQGxp c3RzLmluZnJhZGVhZC5vcmc7ICAKPiA+ID4gPiBsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVh ZC5vcmc7IGxpbnV4LWlteEBueHAuY29tOyBsaW51eC0KPiA+ID4gPiBpaW9Admdlci5rZXJuZWwu b3JnOyBDaHVueWFuIFpoYW5nIDx6aGFuZy5seXJhQGdtYWlsLmNvbT47ICAKPiA+IEhlbm5lcmlj aCwgIAo+ID4gPiA+IE1pY2hhZWwgPE1pY2hhZWwuSGVubmVyaWNoQGFuYWxvZy5jb20+OyBNYXJ0 aW4gQmx1bWVuc3RpbmdsCj4gPiA+ID4gPG1hcnRpbi5ibHVtZW5zdGluZ2xAZ29vZ2xlbWFpbC5j b20+OyBTYXNjaGEgSGF1ZXIKPiA+ID4gPiA8cy5oYXVlckBwZW5ndXRyb25peC5kZT47IENpeGkg R2VuZyA8Y2l4aS5nZW5nMUB1bmlzb2MuY29tPjsgS2V2aW4KPiA+ID4gPiBIaWxtYW4gPGtoaWxt YW5AYmF5bGlicmUuY29tPjsgVmxhZGltaXIgWmFwb2xza2l5IDx2ekBtbGVpYS5jb20+Owo+ID4g PiA+IFBlbmd1dHJvbml4IEtlcm5lbCBUZWFtIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+OyBBbGV4 YW5kcnUgIAo+ID4gQXJkZWxlYW4gIAo+ID4gPiA+IDxhYXJkZWxlYW5AZGV2aXFvbi5jb20+OyBG YWJpbyBFc3RldmFtIDxmZXN0ZXZhbUBnbWFpbC5jb20+OyAgCj4gPiBBbmRyaXkgIAo+ID4gPiA+ IFRyeXNobml2c2t5eSA8YW5kcml5LnRyeXNobml2c2t5eUBvcGVuc3luZXJneS5jb20+OyBIYWli byBDaGVuCj4gPiA+ID4gPGhhaWJvLmNoZW5AbnhwLmNvbT47IFNoYXduIEd1byA8c2hhd25ndW9A a2VybmVsLm9yZz47IEhhbnMgZGUKPiA+ID4gPiBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT47 IEplcm9tZSBCcnVuZXQgIAo+ID4gPGpicnVuZXRAYmF5bGlicmUuY29tPjsgIAo+ID4gPiA+IEhl aWtvIFN0dWVibmVyIDxoZWlrb0BzbnRlY2guZGU+OyBGbG9yaWFuIEJvb3IKPiA+ID4gPiA8Zmxv cmlhbi5ib29yQGtlcm5lbGNvbmNlcHRzLmRlPjsgUmVndXMsIENpcHJpYW4KPiA+ID4gPiA8Q2lw cmlhbi5SZWd1c0BhbmFsb2cuY29tPjsgTGFycy1QZXRlciBDbGF1c2VuIDxsYXJzQG1ldGFmb28u ZGU+OyAgCj4gPiBBbmR5ICAKPiA+ID4gPiBTaGV2Y2hlbmtvIDxhbmR5LnNoZXZjaGVua29AZ21h aWwuY29tPjsgSm9uYXRoYW4gQ2FtZXJvbgo+ID4gPiA+IDxqaWMyM0BrZXJuZWwub3JnPjsgTmVp bCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPjsgQmFvbGluCj4gPiA+ID4gV2Fu ZyA8YmFvbGluLndhbmdAbGludXguYWxpYmFiYS5jb20+OyBKeW90aSBCaGF5YW5hCj4gPiA+ID4g PGpiaGF5YW5hQGdvb2dsZS5jb20+OyBDaGVuLVl1IFRzYWkgPHdlbnNAY3NpZS5vcmc+OyBPcnNv biBaaGFpCj4gPiA+ID4gPG9yc29uemhhaUBnbWFpbC5jb20+Cj4gPiA+ID4gU3ViamVjdDogUmU6 IFtQQVRDSCAxMy8xNV0gaWlvOiBoZWFsdGg6IG1heDMwMTAwOiBkbyBub3QgdXNlIGludGVybmFs ICAKPiA+IGlpb19kZXYgIAo+ID4gPiA+IGxvY2sKPiA+ID4gPgo+ID4gPiA+IFtFeHRlcm5hbF0K PiA+ID4gPgo+ID4gPiA+IEhpIE51bm8sCj4gPiA+ID4gIAo+ID4gPgo+ID4gPiBIaSBNaXF1ZWws Cj4gPiA+Cj4gPiA+IFRoYW5rcyBmb3IgcmV2aWV3aW5nLi4uCj4gPiA+ICAKPiA+ID4gPiBudW5v LnNhQGFuYWxvZy5jb20gd3JvdGUgb24gVHVlLCAyMCBTZXAgMjAyMiAxMzoyODoxOSArMDIwMDoK PiA+ID4gPiAgCj4gPiA+ID4gPiBUaGUgcGF0dGVybiB1c2VkIGluIHRoaXMgZGV2aWNlIGRvZXMg bm90IHF1aXRlIGZpdCBpbiB0aGUKPiA+ID4gPiA+IGlpb19kZXZpY2VfY2xhaW1fZGlyZWN0X21v ZGUoKSB0eXBpY2FsIHVzYWdlLiBJbiB0aGlzIGNhc2UsCj4gPiA+ID4gPiBpaW9fYnVmZmVyX2Vu YWJsZWQoKSB3YXMgYmVpbmcgdXNlZCBub3QgdG8gcHJldmVudCB0aGUgcmF3IGFjY2VzcyBidXQg IAo+ID4gdG8gIAo+ID4gPiA+ID4gYWxsb3cgaXQuIEhlbmNlIHRvIGdldCByaWQgb2YgdGhlICdt bG9jaycgd2UgbmVlZCB0bzoKPiA+ID4gPiA+Cj4gPiA+ID4gPiAxLiBVc2UgaWlvX2RldmljZV9j bGFpbV9kaXJlY3RfbW9kZSgpIHRvIGNoZWNrIGlmIGRpcmVjdCBtb2RlIGNhbiBiZQo+ID4gPiA+ ID4gY2xhaW1lZCBhbmQgaWYgd2UgY2FuIHJldHVybiAtRUlOVkFMIChhcyB0aGUgb3JpZ2luYWwg Y29kZSk7Cj4gPiA+ID4gPgo+ID4gPiA+ID4gMi4gTWFrZSBzdXJlIHRoYXQgYnVmZmVyaW5nIGlz IG5vdCBkaXNhYmxlZCB3aGlsZSBkb2luZyBhIHJhdyByZWFkLiBGb3IKPiA+ID4gPiA+IHRoYXQs IHdlIGNhbiBtYWtlIHVzZSBvZiB0aGUgbG9jYWwgbG9jayB0aGF0IGFscmVhZHkgZXhpc3RzLgo+ ID4gPiA+ID4KPiA+ID4gPiA+IFdoaWxlIGF0IGl0LCBmaXhlZCBhIG1pbm9yIGNvZGluZyBzdHls ZSBjb21wbGFpbi4uLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IE51bm8gU8Oh IDxudW5vLnNhQGFuYWxvZy5jb20+Cj4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ICBkcml2ZXJzL2lp by9oZWFsdGgvbWF4MzAxMDAuYyB8IDI0ICsrKysrKysrKysrKysrKysrLS0tLS0tLQo+ID4gPiA+ ID4gIDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQo+ID4g PiA+ID4KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9oZWFsdGgvbWF4MzAxMDAu YyAgCj4gPiBiL2RyaXZlcnMvaWlvL2hlYWx0aC9tYXgzMDEwMC5jICAKPiA+ID4gPiA+IGluZGV4 IGFkNTcxNzk2NTIyMy4uYWE0OTRjYWQ1ZGYwIDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvZHJpdmVy cy9paW8vaGVhbHRoL21heDMwMTAwLmMKPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvaWlvL2hlYWx0 aC9tYXgzMDEwMC5jCj4gPiA+ID4gPiBAQCAtMTg1LDggKzE4NSwxOSBAQCBzdGF0aWMgaW50IG1h eDMwMTAwX2J1ZmZlcl9wb3N0ZW5hYmxlKHN0cnVjdCAgCj4gPiA+ID4gaWlvX2RldiAqaW5kaW9f ZGV2KSAgCj4gPiA+ID4gPiAgc3RhdGljIGludCBtYXgzMDEwMF9idWZmZXJfcHJlZGlzYWJsZShz dHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2KQo+ID4gPiA+ID4gIHsKPiA+ID4gPiA+ICAJc3RydWN0 IG1heDMwMTAwX2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+ID4gPiA+ID4gKwlp bnQgcmV0Owo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwkvKgo+ID4gPiA+ID4gKwkgKiBBcyBzdGF0 ZWQgaW4gdGhlIGNvbW1lbnQgaW4gdGhlIHJlYWRfcmF3KCkgZnVuY3Rpb24sIHRlbXBlcmF0dXJl Cj4gPiA+ID4gPiArCSAqIGNhbiBvbmx5IGJlIGFjcXVpcmVkIGlmIHRoZSBlbmdpbmUgaXMgcnVu bmluZy4gQXMgc3VjaCB0aGUgbXV0ZXgKPiA+ID4gPiA+ICsJICogaXMgdXNlZCB0byBtYWtlIHN1 cmUgd2UgZG8gbm90IHBvd2VyIGRvd24gd2hpbGUgZG9pbmcgYSAgCj4gPiA+ID4gdGVtcGVyYXR1 cmUgIAo+ID4gPiA+ID4gKwkgKiByZWFkaW5nLgo+ID4gPiA+ID4gKwkgKi8KPiA+ID4gPiA+ICsJ bXV0ZXhfbG9jaygmZGF0YS0+bG9jayk7Cj4gPiA+ID4gPiArCXJldCA9IG1heDMwMTAwX3NldF9w b3dlcm1vZGUoZGF0YSwgZmFsc2UpOwo+ID4gPiA+ID4gKwltdXRleF91bmxvY2soJmRhdGEtPmxv Y2spOwo+ID4gPiA+ID4KPiA+ID4gPiA+IC0JcmV0dXJuIG1heDMwMTAwX3NldF9wb3dlcm1vZGUo ZGF0YSwgZmFsc2UpOwo+ID4gPiA+ID4gKwlyZXR1cm4gcmV0Owo+ID4gPiA+ID4gIH0KPiA+ID4g PiA+Cj4gPiA+ID4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBpaW9fYnVmZmVyX3NldHVwX29wcyBt YXgzMDEwMF9idWZmZXJfc2V0dXBfb3BzICAKPiA+ID0geyAgCj4gPiA+ID4gPiBAQCAtMzg3LDE4 ICszOTgsMTcgQEAgc3RhdGljIGludCBtYXgzMDEwMF9yZWFkX3JhdyhzdHJ1Y3QgaWlvX2RldiAg Cj4gPiA+ID4gKmluZGlvX2RldiwgIAo+ID4gPiA+ID4gIAkJICogVGVtcGVyYXR1cmUgcmVhZGlu ZyBjYW4gb25seSBiZSBhY3F1aXJlZCB3aGlsZSBlbmdpbmUKPiA+ID4gPiA+ICAJCSAqIGlzIHJ1 bm5pbmcKPiA+ID4gPiA+ICAJCSAqLwo+ID4gPiA+ID4gLQkJbXV0ZXhfbG9jaygmaW5kaW9fZGV2 LT5tbG9jayk7Cj4gPiA+ID4gPiAtCj4gPiA+ID4gPiAtCQlpZiAoIWlpb19idWZmZXJfZW5hYmxl ZChpbmRpb19kZXYpKQo+ID4gPiA+ID4gKwkJaWYgKCFpaW9fZGV2aWNlX2NsYWltX2RpcmVjdF9t b2RlKGluZGlvX2RldikpIHsgIAo+ID4gPiA+Cj4gPiA+ID4gSSB3b25kZXIgaWYgdGhpcyBsaW5l IGNoYW5nZSBoZXJlIGlzIHJlYWxseSBuZWVkZWQuIEkgYWdyZWUgdGhlIHdob2xlCj4gPiA+ID4g Y29uc3RydWN0aW9uIGxvb2tzIGxpa2Ugd2hhdCBpaW9fZGV2aWNlX2NsYWltX2RpcmVjdF9tb2Rl KCkgZG9lcyBidXQgaW4KPiA+ID4gPiBwcmFjdGljZSBJIGRvbid0IHNlZSB0aGUgcG9pbnQgb2Yg YWNxdWlyaW5nIGFueSBsb2NrIGhlcmUgaWYgd2UganVzdAo+ID4gPiA+IHJlbGVhc2UgaXQgbm8g bWF0dGVyIHdoYXQgaGFwcGVucyByaWdodCBhZnRlci4KPiA+ID4gPiAgCj4gPiA+Cj4gPiA+IEkg Y2FuIHNlZSB0aGF0IHRoaXMgaXMgb2RkIChhdCB0aGUgdmVyeSBsZWFzdCkgYnV0IEFGQUlLLCB0 aGlzIGlzIHRoZSBvbmx5IHdheQo+ID4gPiB0byBzYWZlbHkgaW5mZXIgaWYgYnVmZmVyaW5nIGlz IGVuYWJsZWQgb3Igbm90LiBpaW9fYnVmZmVyX2VuYWJsZWQoKSBoYXMgbm8KPiA+ID4gcHJvdGVj dGlvbiBhZ2FpbnN0IHNvbWVvbmUgY29uY3VycmVudGx5IGVuYWJsaW5nL2Rpc2FibGluZyB0aGUg YnVmZmVyLiAgCj4gPiAKPiA+IFllcywgYnV0IHRoaXMgaXMgb25seSByZWxldmFudCBpZiB5b3Ug d2FudCB0byBpbmZlciB0aGF0IHRoZSAiYnVmZmVycwo+ID4gYXJlIGVuYWJsZWQiIGFuZCBiZSBz dXJlIHRoYXQgaXQgY2Fubm90IGJlIG90aGVyd2lzZSBkdXJpbmcgdGhlIG5leHQKPiA+IGxpbmVz IHVudGlsIHlvdSByZWxlYXNlIHRoZSBsb2NrLiBBY3F1aXJpbmcgYSBsb2NrLCBkb2luZyB0aGUg aWYgYW5kCj4gPiB0aGVuIHVuY29uZGl0aW9uYWxseSByZWxlYXNpbmcgdGhlIGxvY2ssIElNSE8s IGRvZXMgbm90IG1ha2UgYW55IHNlbnNlCj4gPiAoYnV0IEknbSBub3QgYSBsb2NraW5nIGd1cnUp IGJlY2F1c2Ugd2hlbiB5b3UgZW50ZXIgdGhlIGVsc2UgY2xhdXNlLAo+ID4geW91IGFyZSBub3Qg cHJvdGVjdGVkIGFueXdheSwgc28gaW4gYm90aCBjYXNlcyBhbGwgdGhpcyBpcyBjb21wbGV0ZWx5 Cj4gPiByYWN5Lgo+ID4gICAKPiAKPiBBaGggY3JhcCwgeWVzIHlvdSBhcmUgcmlnaHQuLi4gSXQg aXMgc3RpbGwgcmFjeSBzaW5jZSB3ZSBjYW4gc3RpbGwgdHJ5IHRvIHJlYWQKPiB0aGUgdGVtcGVy YXR1cmUgd2l0aCB0aGUgZGV2aWNlIHBvd2VyZWQgb2ZmLiBJJ20gbm90IHJlYWxseSBzdXJlIGhv dyB0bwo+IGFkZHJlc3MgdGhpcy4gT25lIHdheSBjb3VsZCBiZSB0byBqdXN0IHVzZSBhbiBpbnRl cm5hbCBjb250cm9sIHZhcmlhYmxlCj4gdG8gcmVmbGVjdCB0aGUgZGV2aWNlIHBvd2VyIHN0YXRl IChzZXQvY2xlYXIgb24gdGhlIGJ1ZmZlciBjYWxsYmFja3MpIGFuZAo+IG9ubHkgdXNlIHRoZSBs b2NhbCBsb2NrIChjb21wbGV0ZWx5IGRpdGNoaW5nIHRoZSBjYWxsIHRvCj4gaWlvX2RldmljZV9j bGFpbV9kaXJlY3RfbW9kZSgpKS4uLgoKSSB0ZW5kIHRvIHByZWZlciB0aGlzIG9wdGlvbiB0aGFu IHRoZSBvbmUgYmVsb3cuCgpJIGd1ZXNzIHlvdXIgaW1wbGVtZW50YXRpb24gYWxyZWFkeSBwcmV2 ZW50cyBidWZmZXJfcHJlZGlzYWJsZSgpIHRvIHJ1bgp0aGFua3MgdG8gdGhlIGxvY2FsIGxvY2sg YmVpbmcgaGVsZCBkdXJpbmcgdGhlIG9wZXJhdGlvbi4gTWF5YmUgd2UKc2hvdWxkIGp1c3QgdmVy aWZ5IHRoYXQgYnVmZmVycyBhcmUgZW5hYmxlZCBmcm9tIHdpdGhpbiB0aGUgbG9jYWwgbG9jawpi ZWluZyBoZWxkIGluc3RlYWQgb2YganVzdCBhY3F1aXJpbmcgaXQgZm9yIHRoZSBnZXRfdGVtcCgp IG1lYXN1cmUuIEl0CndvdWxkIHByb2JhYmx5IHNvbHZlIHRoZSBzaXR1YXRpb24gaGVyZS4KCj4g T3RoZXIgb3B0aW9ucyB3b3VsZCBiZSB0byBoYXZlIGhlbHBlcnMgZm9yIGFjcXVpcmluZy9yZWxl YXNpbmcgdGhlIGxvY2sKPiAoSSB0aGluayB0aGlzIHdvdWxkIGRlZmVhdCB0aGUgaWRlYSBvZiBu b3QgYWJ1c2luZyB0aGlzIGxvY2sgYXQgYWxsKSBvciBoYXZlCj4gQSB2ZXJzaW9uICBpaW9fZGV2 aWNlX2NsYWltX2RpcmVjdF9tb2RlKCkgdGhhdCBkb2VzIG5vdCByZWxlYXNlIHRoZSAKPiBsb2Nr IGluIGNhc2UgYnVmZmVyaW5nIGlzIGVuYWJsZWQuIEFueSBwcmVmZXJlbmNlPwo+IAo+IC0gTnVu byBTw6EKCgpUaGFua3MsCk1pcXXDqGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkxpbnV4LXJvY2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hp cEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtcm9ja2NoaXAK 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 BB24DC54EE9 for ; Tue, 20 Sep 2022 13:54: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=2HgnJj0gi3njszy8jdWWlFo6mwYDHEJT7BW80pro+B0=; b=xMK/p8HDfizUwf xtP8PrvIkY4J3yJLvyFQ7OptMzTk/x941wETKYcMcCHAU8ULJ84K9Yct0+0OM5x7Ya2rgGGQstJTe SI6tZEJQLc3G8sZlFFpiHaAB571EvEn7o0nmv8zv4T5cirolgLqVnws3j+51yUTMk/Cwf7hu+mYtz yJrlxuZMGogRGuFOvJClhWjd1Yb3W/w/OGWpreSRiykmzGXM57dzbb8NtzgfEa8f4yTAUvzzp2qhT qG9LBWTVlFwnxD8Iby+j25lqBWVdy9voNRzBwiB67iSshVlXg0pz/0Tod0h9iwVs1Fo2LA7nstg9U QV/e9x3+Pm6ckvfS6LCw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oadgn-004GVt-PE; Tue, 20 Sep 2022 13:53:29 +0000 Received: from relay5-d.mail.gandi.net ([2001:4b98:dc4:8::225]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oadgf-004GQt-7U; Tue, 20 Sep 2022 13:53:25 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id A83691C0004; Tue, 20 Sep 2022 13:53:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1663681994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lIlGeFbSdqitTtr0uWb11jZ/IbDiam3qsE3iTL+A9gA=; b=ZrHRrap1RAhB9I7EGA2dHOraOwN3TurjX+GOh8faV1N44bf6wiUmG9hHO8pD4MrlMXy4RA xVjVXA7Vt9g2jSxIjyEUsqX34N4P2P91Am05krN7mgnnTSJ9CXBdyWOUv8n1wFqCTzg5wD 4y4bRnIbpSYeQznvzmtIFZuVzyb2Rhge1subZL0siVjJWSqVyQR8gQiu96aoc503LKW48v wXOrgvBUE+AFobzoEhL1iBNBwnURf1Oc3OWavISvJKg/pm95h64K7ID81J6BX49gQhB4z3 IdIUyiHTtn65VJDZQTidlKvsGKx6BWt/66SNm0dzmrSxGWoTBPrnwk0US4Sy5w== Date: Tue, 20 Sep 2022 15:53:05 +0200 From: Miquel Raynal To: "Sa, Nuno" Cc: "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 , Jonathan Cameron , 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: <20220920155305.395dad08@xps-13> In-Reply-To: References: <20220920112821.975359-1-nuno.sa@analog.com> <20220920112821.975359-14-nuno.sa@analog.com> <20220920142319.61557023@xps-13> <20220920145534.0bdd4e69@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; 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-20220920_065321_783426_FBBDCB2E X-CRM114-Status: GOOD ( 53.70 ) 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 SGkgTnVubywKCk51bm8uU2FAYW5hbG9nLmNvbSB3cm90ZSBvbiBUdWUsIDIwIFNlcCAyMDIyIDEz OjE1OjMyICswMDAwOgoKPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiBGcm9tOiBN aXF1ZWwgUmF5bmFsIDxtaXF1ZWwucmF5bmFsQGJvb3RsaW4uY29tPgo+ID4gU2VudDogVHVlc2Rh eSwgU2VwdGVtYmVyIDIwLCAyMDIyIDI6NTYgUE0KPiA+IFRvOiBTYSwgTnVubyA8TnVuby5TYUBh bmFsb2cuY29tPgo+ID4gQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsg bGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZzsKPiA+IGxpbnV4LWFtbG9naWNAbGlz dHMuaW5mcmFkZWFkLm9yZzsgbGludXgtaW14QG54cC5jb207IGxpbnV4LQo+ID4gaWlvQHZnZXIu a2VybmVsLm9yZzsgQ2h1bnlhbiBaaGFuZyA8emhhbmcubHlyYUBnbWFpbC5jb20+OyBIZW5uZXJp Y2gsCj4gPiBNaWNoYWVsIDxNaWNoYWVsLkhlbm5lcmljaEBhbmFsb2cuY29tPjsgTWFydGluIEJs dW1lbnN0aW5nbAo+ID4gPG1hcnRpbi5ibHVtZW5zdGluZ2xAZ29vZ2xlbWFpbC5jb20+OyBTYXNj aGEgSGF1ZXIKPiA+IDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPjsgQ2l4aSBHZW5nIDxjaXhpLmdl bmcxQHVuaXNvYy5jb20+OyBLZXZpbgo+ID4gSGlsbWFuIDxraGlsbWFuQGJheWxpYnJlLmNvbT47 IFZsYWRpbWlyIFphcG9sc2tpeSA8dnpAbWxlaWEuY29tPjsKPiA+IFBlbmd1dHJvbml4IEtlcm5l bCBUZWFtIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+OyBBbGV4YW5kcnUgQXJkZWxlYW4KPiA+IDxh YXJkZWxlYW5AZGV2aXFvbi5jb20+OyBGYWJpbyBFc3RldmFtIDxmZXN0ZXZhbUBnbWFpbC5jb20+ OyBBbmRyaXkKPiA+IFRyeXNobml2c2t5eSA8YW5kcml5LnRyeXNobml2c2t5eUBvcGVuc3luZXJn eS5jb20+OyBIYWlibyBDaGVuCj4gPiA8aGFpYm8uY2hlbkBueHAuY29tPjsgU2hhd24gR3VvIDxz aGF3bmd1b0BrZXJuZWwub3JnPjsgSGFucyBkZQo+ID4gR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5j b20+OyBKZXJvbWUgQnJ1bmV0IDxqYnJ1bmV0QGJheWxpYnJlLmNvbT47Cj4gPiBIZWlrbyBTdHVl Ym5lciA8aGVpa29Ac250ZWNoLmRlPjsgRmxvcmlhbiBCb29yCj4gPiA8Zmxvcmlhbi5ib29yQGtl cm5lbGNvbmNlcHRzLmRlPjsgUmVndXMsIENpcHJpYW4KPiA+IDxDaXByaWFuLlJlZ3VzQGFuYWxv Zy5jb20+OyBMYXJzLVBldGVyIENsYXVzZW4gPGxhcnNAbWV0YWZvby5kZT47IEFuZHkKPiA+IFNo ZXZjaGVua28gPGFuZHkuc2hldmNoZW5rb0BnbWFpbC5jb20+OyBKb25hdGhhbiBDYW1lcm9uCj4g PiA8amljMjNAa2VybmVsLm9yZz47IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJheWxpYnJl LmNvbT47IEJhb2xpbgo+ID4gV2FuZyA8YmFvbGluLndhbmdAbGludXguYWxpYmFiYS5jb20+OyBK eW90aSBCaGF5YW5hCj4gPiA8amJoYXlhbmFAZ29vZ2xlLmNvbT47IENoZW4tWXUgVHNhaSA8d2Vu c0Bjc2llLm9yZz47IE9yc29uIFpoYWkKPiA+IDxvcnNvbnpoYWlAZ21haWwuY29tPgo+ID4gU3Vi amVjdDogUmU6IFtQQVRDSCAxMy8xNV0gaWlvOiBoZWFsdGg6IG1heDMwMTAwOiBkbyBub3QgdXNl IGludGVybmFsIGlpb19kZXYKPiA+IGxvY2sKPiA+IAo+ID4gW0V4dGVybmFsXQo+ID4gCj4gPiBI aSBOdW5vLAo+ID4gCj4gPiBOdW5vLlNhQGFuYWxvZy5jb20gd3JvdGUgb24gVHVlLCAyMCBTZXAg MjAyMiAxMjo0NDowOCArMDAwMDoKPiA+ICAgCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0KPiA+ID4gPiBGcm9tOiBNaXF1ZWwgUmF5bmFsIDxtaXF1ZWwucmF5bmFsQGJvb3RsaW4u Y29tPgo+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIFNlcHRlbWJlciAyMCwgMjAyMiAyOjIzIFBNCj4g PiA+ID4gVG86IFNhLCBOdW5vIDxOdW5vLlNhQGFuYWxvZy5jb20+Cj4gPiA+ID4gQ2M6IGxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXgtICAKPiA+IHJvY2tjaGlwQGxp c3RzLmluZnJhZGVhZC5vcmc7ICAKPiA+ID4gPiBsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVh ZC5vcmc7IGxpbnV4LWlteEBueHAuY29tOyBsaW51eC0KPiA+ID4gPiBpaW9Admdlci5rZXJuZWwu b3JnOyBDaHVueWFuIFpoYW5nIDx6aGFuZy5seXJhQGdtYWlsLmNvbT47ICAKPiA+IEhlbm5lcmlj aCwgIAo+ID4gPiA+IE1pY2hhZWwgPE1pY2hhZWwuSGVubmVyaWNoQGFuYWxvZy5jb20+OyBNYXJ0 aW4gQmx1bWVuc3RpbmdsCj4gPiA+ID4gPG1hcnRpbi5ibHVtZW5zdGluZ2xAZ29vZ2xlbWFpbC5j b20+OyBTYXNjaGEgSGF1ZXIKPiA+ID4gPiA8cy5oYXVlckBwZW5ndXRyb25peC5kZT47IENpeGkg R2VuZyA8Y2l4aS5nZW5nMUB1bmlzb2MuY29tPjsgS2V2aW4KPiA+ID4gPiBIaWxtYW4gPGtoaWxt YW5AYmF5bGlicmUuY29tPjsgVmxhZGltaXIgWmFwb2xza2l5IDx2ekBtbGVpYS5jb20+Owo+ID4g PiA+IFBlbmd1dHJvbml4IEtlcm5lbCBUZWFtIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+OyBBbGV4 YW5kcnUgIAo+ID4gQXJkZWxlYW4gIAo+ID4gPiA+IDxhYXJkZWxlYW5AZGV2aXFvbi5jb20+OyBG YWJpbyBFc3RldmFtIDxmZXN0ZXZhbUBnbWFpbC5jb20+OyAgCj4gPiBBbmRyaXkgIAo+ID4gPiA+ IFRyeXNobml2c2t5eSA8YW5kcml5LnRyeXNobml2c2t5eUBvcGVuc3luZXJneS5jb20+OyBIYWli byBDaGVuCj4gPiA+ID4gPGhhaWJvLmNoZW5AbnhwLmNvbT47IFNoYXduIEd1byA8c2hhd25ndW9A a2VybmVsLm9yZz47IEhhbnMgZGUKPiA+ID4gPiBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT47 IEplcm9tZSBCcnVuZXQgIAo+ID4gPGpicnVuZXRAYmF5bGlicmUuY29tPjsgIAo+ID4gPiA+IEhl aWtvIFN0dWVibmVyIDxoZWlrb0BzbnRlY2guZGU+OyBGbG9yaWFuIEJvb3IKPiA+ID4gPiA8Zmxv cmlhbi5ib29yQGtlcm5lbGNvbmNlcHRzLmRlPjsgUmVndXMsIENpcHJpYW4KPiA+ID4gPiA8Q2lw cmlhbi5SZWd1c0BhbmFsb2cuY29tPjsgTGFycy1QZXRlciBDbGF1c2VuIDxsYXJzQG1ldGFmb28u ZGU+OyAgCj4gPiBBbmR5ICAKPiA+ID4gPiBTaGV2Y2hlbmtvIDxhbmR5LnNoZXZjaGVua29AZ21h aWwuY29tPjsgSm9uYXRoYW4gQ2FtZXJvbgo+ID4gPiA+IDxqaWMyM0BrZXJuZWwub3JnPjsgTmVp bCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPjsgQmFvbGluCj4gPiA+ID4gV2Fu ZyA8YmFvbGluLndhbmdAbGludXguYWxpYmFiYS5jb20+OyBKeW90aSBCaGF5YW5hCj4gPiA+ID4g PGpiaGF5YW5hQGdvb2dsZS5jb20+OyBDaGVuLVl1IFRzYWkgPHdlbnNAY3NpZS5vcmc+OyBPcnNv biBaaGFpCj4gPiA+ID4gPG9yc29uemhhaUBnbWFpbC5jb20+Cj4gPiA+ID4gU3ViamVjdDogUmU6 IFtQQVRDSCAxMy8xNV0gaWlvOiBoZWFsdGg6IG1heDMwMTAwOiBkbyBub3QgdXNlIGludGVybmFs ICAKPiA+IGlpb19kZXYgIAo+ID4gPiA+IGxvY2sKPiA+ID4gPgo+ID4gPiA+IFtFeHRlcm5hbF0K PiA+ID4gPgo+ID4gPiA+IEhpIE51bm8sCj4gPiA+ID4gIAo+ID4gPgo+ID4gPiBIaSBNaXF1ZWws Cj4gPiA+Cj4gPiA+IFRoYW5rcyBmb3IgcmV2aWV3aW5nLi4uCj4gPiA+ICAKPiA+ID4gPiBudW5v LnNhQGFuYWxvZy5jb20gd3JvdGUgb24gVHVlLCAyMCBTZXAgMjAyMiAxMzoyODoxOSArMDIwMDoK PiA+ID4gPiAgCj4gPiA+ID4gPiBUaGUgcGF0dGVybiB1c2VkIGluIHRoaXMgZGV2aWNlIGRvZXMg bm90IHF1aXRlIGZpdCBpbiB0aGUKPiA+ID4gPiA+IGlpb19kZXZpY2VfY2xhaW1fZGlyZWN0X21v ZGUoKSB0eXBpY2FsIHVzYWdlLiBJbiB0aGlzIGNhc2UsCj4gPiA+ID4gPiBpaW9fYnVmZmVyX2Vu YWJsZWQoKSB3YXMgYmVpbmcgdXNlZCBub3QgdG8gcHJldmVudCB0aGUgcmF3IGFjY2VzcyBidXQg IAo+ID4gdG8gIAo+ID4gPiA+ID4gYWxsb3cgaXQuIEhlbmNlIHRvIGdldCByaWQgb2YgdGhlICdt bG9jaycgd2UgbmVlZCB0bzoKPiA+ID4gPiA+Cj4gPiA+ID4gPiAxLiBVc2UgaWlvX2RldmljZV9j bGFpbV9kaXJlY3RfbW9kZSgpIHRvIGNoZWNrIGlmIGRpcmVjdCBtb2RlIGNhbiBiZQo+ID4gPiA+ ID4gY2xhaW1lZCBhbmQgaWYgd2UgY2FuIHJldHVybiAtRUlOVkFMIChhcyB0aGUgb3JpZ2luYWwg Y29kZSk7Cj4gPiA+ID4gPgo+ID4gPiA+ID4gMi4gTWFrZSBzdXJlIHRoYXQgYnVmZmVyaW5nIGlz IG5vdCBkaXNhYmxlZCB3aGlsZSBkb2luZyBhIHJhdyByZWFkLiBGb3IKPiA+ID4gPiA+IHRoYXQs IHdlIGNhbiBtYWtlIHVzZSBvZiB0aGUgbG9jYWwgbG9jayB0aGF0IGFscmVhZHkgZXhpc3RzLgo+ ID4gPiA+ID4KPiA+ID4gPiA+IFdoaWxlIGF0IGl0LCBmaXhlZCBhIG1pbm9yIGNvZGluZyBzdHls ZSBjb21wbGFpbi4uLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IE51bm8gU8Oh IDxudW5vLnNhQGFuYWxvZy5jb20+Cj4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ICBkcml2ZXJzL2lp by9oZWFsdGgvbWF4MzAxMDAuYyB8IDI0ICsrKysrKysrKysrKysrKysrLS0tLS0tLQo+ID4gPiA+ ID4gIDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQo+ID4g PiA+ID4KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9oZWFsdGgvbWF4MzAxMDAu YyAgCj4gPiBiL2RyaXZlcnMvaWlvL2hlYWx0aC9tYXgzMDEwMC5jICAKPiA+ID4gPiA+IGluZGV4 IGFkNTcxNzk2NTIyMy4uYWE0OTRjYWQ1ZGYwIDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvZHJpdmVy cy9paW8vaGVhbHRoL21heDMwMTAwLmMKPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvaWlvL2hlYWx0 aC9tYXgzMDEwMC5jCj4gPiA+ID4gPiBAQCAtMTg1LDggKzE4NSwxOSBAQCBzdGF0aWMgaW50IG1h eDMwMTAwX2J1ZmZlcl9wb3N0ZW5hYmxlKHN0cnVjdCAgCj4gPiA+ID4gaWlvX2RldiAqaW5kaW9f ZGV2KSAgCj4gPiA+ID4gPiAgc3RhdGljIGludCBtYXgzMDEwMF9idWZmZXJfcHJlZGlzYWJsZShz dHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2KQo+ID4gPiA+ID4gIHsKPiA+ID4gPiA+ICAJc3RydWN0 IG1heDMwMTAwX2RhdGEgKmRhdGEgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+ID4gPiA+ID4gKwlp bnQgcmV0Owo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwkvKgo+ID4gPiA+ID4gKwkgKiBBcyBzdGF0 ZWQgaW4gdGhlIGNvbW1lbnQgaW4gdGhlIHJlYWRfcmF3KCkgZnVuY3Rpb24sIHRlbXBlcmF0dXJl Cj4gPiA+ID4gPiArCSAqIGNhbiBvbmx5IGJlIGFjcXVpcmVkIGlmIHRoZSBlbmdpbmUgaXMgcnVu bmluZy4gQXMgc3VjaCB0aGUgbXV0ZXgKPiA+ID4gPiA+ICsJICogaXMgdXNlZCB0byBtYWtlIHN1 cmUgd2UgZG8gbm90IHBvd2VyIGRvd24gd2hpbGUgZG9pbmcgYSAgCj4gPiA+ID4gdGVtcGVyYXR1 cmUgIAo+ID4gPiA+ID4gKwkgKiByZWFkaW5nLgo+ID4gPiA+ID4gKwkgKi8KPiA+ID4gPiA+ICsJ bXV0ZXhfbG9jaygmZGF0YS0+bG9jayk7Cj4gPiA+ID4gPiArCXJldCA9IG1heDMwMTAwX3NldF9w b3dlcm1vZGUoZGF0YSwgZmFsc2UpOwo+ID4gPiA+ID4gKwltdXRleF91bmxvY2soJmRhdGEtPmxv Y2spOwo+ID4gPiA+ID4KPiA+ID4gPiA+IC0JcmV0dXJuIG1heDMwMTAwX3NldF9wb3dlcm1vZGUo ZGF0YSwgZmFsc2UpOwo+ID4gPiA+ID4gKwlyZXR1cm4gcmV0Owo+ID4gPiA+ID4gIH0KPiA+ID4g PiA+Cj4gPiA+ID4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBpaW9fYnVmZmVyX3NldHVwX29wcyBt YXgzMDEwMF9idWZmZXJfc2V0dXBfb3BzICAKPiA+ID0geyAgCj4gPiA+ID4gPiBAQCAtMzg3LDE4 ICszOTgsMTcgQEAgc3RhdGljIGludCBtYXgzMDEwMF9yZWFkX3JhdyhzdHJ1Y3QgaWlvX2RldiAg Cj4gPiA+ID4gKmluZGlvX2RldiwgIAo+ID4gPiA+ID4gIAkJICogVGVtcGVyYXR1cmUgcmVhZGlu ZyBjYW4gb25seSBiZSBhY3F1aXJlZCB3aGlsZSBlbmdpbmUKPiA+ID4gPiA+ICAJCSAqIGlzIHJ1 bm5pbmcKPiA+ID4gPiA+ICAJCSAqLwo+ID4gPiA+ID4gLQkJbXV0ZXhfbG9jaygmaW5kaW9fZGV2 LT5tbG9jayk7Cj4gPiA+ID4gPiAtCj4gPiA+ID4gPiAtCQlpZiAoIWlpb19idWZmZXJfZW5hYmxl ZChpbmRpb19kZXYpKQo+ID4gPiA+ID4gKwkJaWYgKCFpaW9fZGV2aWNlX2NsYWltX2RpcmVjdF9t b2RlKGluZGlvX2RldikpIHsgIAo+ID4gPiA+Cj4gPiA+ID4gSSB3b25kZXIgaWYgdGhpcyBsaW5l IGNoYW5nZSBoZXJlIGlzIHJlYWxseSBuZWVkZWQuIEkgYWdyZWUgdGhlIHdob2xlCj4gPiA+ID4g Y29uc3RydWN0aW9uIGxvb2tzIGxpa2Ugd2hhdCBpaW9fZGV2aWNlX2NsYWltX2RpcmVjdF9tb2Rl KCkgZG9lcyBidXQgaW4KPiA+ID4gPiBwcmFjdGljZSBJIGRvbid0IHNlZSB0aGUgcG9pbnQgb2Yg YWNxdWlyaW5nIGFueSBsb2NrIGhlcmUgaWYgd2UganVzdAo+ID4gPiA+IHJlbGVhc2UgaXQgbm8g bWF0dGVyIHdoYXQgaGFwcGVucyByaWdodCBhZnRlci4KPiA+ID4gPiAgCj4gPiA+Cj4gPiA+IEkg Y2FuIHNlZSB0aGF0IHRoaXMgaXMgb2RkIChhdCB0aGUgdmVyeSBsZWFzdCkgYnV0IEFGQUlLLCB0 aGlzIGlzIHRoZSBvbmx5IHdheQo+ID4gPiB0byBzYWZlbHkgaW5mZXIgaWYgYnVmZmVyaW5nIGlz IGVuYWJsZWQgb3Igbm90LiBpaW9fYnVmZmVyX2VuYWJsZWQoKSBoYXMgbm8KPiA+ID4gcHJvdGVj dGlvbiBhZ2FpbnN0IHNvbWVvbmUgY29uY3VycmVudGx5IGVuYWJsaW5nL2Rpc2FibGluZyB0aGUg YnVmZmVyLiAgCj4gPiAKPiA+IFllcywgYnV0IHRoaXMgaXMgb25seSByZWxldmFudCBpZiB5b3Ug d2FudCB0byBpbmZlciB0aGF0IHRoZSAiYnVmZmVycwo+ID4gYXJlIGVuYWJsZWQiIGFuZCBiZSBz dXJlIHRoYXQgaXQgY2Fubm90IGJlIG90aGVyd2lzZSBkdXJpbmcgdGhlIG5leHQKPiA+IGxpbmVz IHVudGlsIHlvdSByZWxlYXNlIHRoZSBsb2NrLiBBY3F1aXJpbmcgYSBsb2NrLCBkb2luZyB0aGUg aWYgYW5kCj4gPiB0aGVuIHVuY29uZGl0aW9uYWxseSByZWxlYXNpbmcgdGhlIGxvY2ssIElNSE8s IGRvZXMgbm90IG1ha2UgYW55IHNlbnNlCj4gPiAoYnV0IEknbSBub3QgYSBsb2NraW5nIGd1cnUp IGJlY2F1c2Ugd2hlbiB5b3UgZW50ZXIgdGhlIGVsc2UgY2xhdXNlLAo+ID4geW91IGFyZSBub3Qg cHJvdGVjdGVkIGFueXdheSwgc28gaW4gYm90aCBjYXNlcyBhbGwgdGhpcyBpcyBjb21wbGV0ZWx5 Cj4gPiByYWN5Lgo+ID4gICAKPiAKPiBBaGggY3JhcCwgeWVzIHlvdSBhcmUgcmlnaHQuLi4gSXQg aXMgc3RpbGwgcmFjeSBzaW5jZSB3ZSBjYW4gc3RpbGwgdHJ5IHRvIHJlYWQKPiB0aGUgdGVtcGVy YXR1cmUgd2l0aCB0aGUgZGV2aWNlIHBvd2VyZWQgb2ZmLiBJJ20gbm90IHJlYWxseSBzdXJlIGhv dyB0bwo+IGFkZHJlc3MgdGhpcy4gT25lIHdheSBjb3VsZCBiZSB0byBqdXN0IHVzZSBhbiBpbnRl cm5hbCBjb250cm9sIHZhcmlhYmxlCj4gdG8gcmVmbGVjdCB0aGUgZGV2aWNlIHBvd2VyIHN0YXRl IChzZXQvY2xlYXIgb24gdGhlIGJ1ZmZlciBjYWxsYmFja3MpIGFuZAo+IG9ubHkgdXNlIHRoZSBs b2NhbCBsb2NrIChjb21wbGV0ZWx5IGRpdGNoaW5nIHRoZSBjYWxsIHRvCj4gaWlvX2RldmljZV9j bGFpbV9kaXJlY3RfbW9kZSgpKS4uLgoKSSB0ZW5kIHRvIHByZWZlciB0aGlzIG9wdGlvbiB0aGFu IHRoZSBvbmUgYmVsb3cuCgpJIGd1ZXNzIHlvdXIgaW1wbGVtZW50YXRpb24gYWxyZWFkeSBwcmV2 ZW50cyBidWZmZXJfcHJlZGlzYWJsZSgpIHRvIHJ1bgp0aGFua3MgdG8gdGhlIGxvY2FsIGxvY2sg YmVpbmcgaGVsZCBkdXJpbmcgdGhlIG9wZXJhdGlvbi4gTWF5YmUgd2UKc2hvdWxkIGp1c3QgdmVy aWZ5IHRoYXQgYnVmZmVycyBhcmUgZW5hYmxlZCBmcm9tIHdpdGhpbiB0aGUgbG9jYWwgbG9jawpi ZWluZyBoZWxkIGluc3RlYWQgb2YganVzdCBhY3F1aXJpbmcgaXQgZm9yIHRoZSBnZXRfdGVtcCgp IG1lYXN1cmUuIEl0CndvdWxkIHByb2JhYmx5IHNvbHZlIHRoZSBzaXR1YXRpb24gaGVyZS4KCj4g T3RoZXIgb3B0aW9ucyB3b3VsZCBiZSB0byBoYXZlIGhlbHBlcnMgZm9yIGFjcXVpcmluZy9yZWxl YXNpbmcgdGhlIGxvY2sKPiAoSSB0aGluayB0aGlzIHdvdWxkIGRlZmVhdCB0aGUgaWRlYSBvZiBu b3QgYWJ1c2luZyB0aGlzIGxvY2sgYXQgYWxsKSBvciBoYXZlCj4gQSB2ZXJzaW9uICBpaW9fZGV2 aWNlX2NsYWltX2RpcmVjdF9tb2RlKCkgdGhhdCBkb2VzIG5vdCByZWxlYXNlIHRoZSAKPiBsb2Nr IGluIGNhc2UgYnVmZmVyaW5nIGlzIGVuYWJsZWQuIEFueSBwcmVmZXJlbmNlPwo+IAo+IC0gTnVu byBTw6EKCgpUaGFua3MsCk1pcXXDqGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK