Received: by 2002:a25:824b:0:0:0:0:0 with SMTP id d11csp5310644ybn; Sat, 28 Sep 2019 18:14:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqy5D8ylkamwwaP8BP0ZJf6FB0V09gUp1uRwmgDj/yRMQiA/5dN13o2mwUjVF43/wIKrrwdO X-Received: by 2002:a17:906:65c2:: with SMTP id z2mr11692272ejn.31.1569719675782; Sat, 28 Sep 2019 18:14:35 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1569719675; cv=pass; d=google.com; s=arc-20160816; b=ghNLFqjCCVAgmvF0DrZTm+4vo1K/nW8o5YUO7QRvqrcIpJb5uUqv4/zZUCrpWeMu2J nK8YxGnxYJ/xV8kmPKbqz0RH0POzVxAPkmDIZx3k7OG5b0NZ0RVZpjgDSpmGu1aZbVso ew2pzH0CqROTCZ0AnruSwONpeae1lmECn1eP5mYTN3ZCOK2npNv2DAUm5wWQFowyG1c2 byb3VFZupAXdScGdRSEuqQ+im2YICJnUqUTHkvUVu1WP01KkUW8x//ef4dLxJxys9C4H 3cMAn7a3uZZzKGr16kHXnjvu1aKw+yhcuh0IYCNeSY5tz7dIASApkmzDR+IpyXuK9fSU 4idg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=d0rfWE9NhDLQGy/IThYSNVrqtPYuozVqMZgghShHS0E=; b=nR+xX9T67qCSLpQ2r+1oD4dL/Jp+mbsv4ZjlSPpquQ390Sh2dpj/nCNF1h6xMQtP4A wUov1+CupMdnCe7Lrp6/7Iu7I4p82ZQPiwyzNv3jad4wRhTsL+cj7mGSa3/vQZm4dt7Q ByE3Ht5tBxupDO3fDZTMHqWV0nUWgUtL7IXOKvU23scHMN0qEaRyFHbmnx9ZWr8pPweD OmSOqcumugWgAJIXvWeW1n7uwk6F5zESZEVfU7Bu5wC84AawIUZJ1BQIbXGYpPX+XS+5 YQ/PKvaDY9PoTKzWxKGNdYK8vDToFGlXp68hGEC5WbSLhyIdqamqEDxOCWVnk8EyOIIP 9MWQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=E4dqtpH7; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e46si4443008eda.401.2019.09.28.18.14.10; Sat, 28 Sep 2019 18:14:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=E4dqtpH7; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728847AbfI2BNE (ORCPT + 99 others); Sat, 28 Sep 2019 21:13:04 -0400 Received: from mail-eopbgr20058.outbound.protection.outlook.com ([40.107.2.58]:3054 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728601AbfI2BNE (ORCPT ); Sat, 28 Sep 2019 21:13:04 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AQhHYk4aRNBdq/YfP+7vQdttwm3ZcEPlS7fks6moIL2n1B1Q3PW36vKmwG02wmoJOzc204O+cauD/M5n0sPHTMkUhXycj1InIUHsbNhD1TpwjlNG06N/H72JcEzlsaBHIP3gEQihApYO7ZvKhxLCNK8QefnJXjxB1ctsywiGQjbmR3WMkcb9r7/tXlC+MZ6oLAy7agNgw3RR4Z9vTCWUBtXzNERFFP2Vk1Q3+hWmOYr4XfmzP7XNxUm8lZL/532b2e892K86ojus+dBkAci/ZY/f6d0Hyqnd7Xjg4ZimMR0zWuUUMkpjCyt+z/FcqJybZz2l1vOJrNXTzfDjBaEe5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=d0rfWE9NhDLQGy/IThYSNVrqtPYuozVqMZgghShHS0E=; b=YLOOqASOAtO055LetssByThdcxwtbnOvqNi+VjmnrZwxxjkqMXbe12rWn8IucfCjzc7GkpHB4NouPCBj9Wgn9XMwta3qaIWnhyEkbD5DnkcWQwV0VugvUgeNnfYWu2z5pxn8IDveOUO4AekKK/pPuclfIPSBDPL/j9hwNcuaTCYlDdcMAp830JCLIeujICRL6P81pNmdMMvbNg8jFhD+w/2sqnckjdh+lnGSEufuYunB5AU1gOpINzNB3n3Px8fPmmDeb9deWPL34mtUn77fzC3me6wcCVLP33cFOQB/6sGz40suKYAM4lEUHoBx2ccuZG7fBOJTnlrC78f8/VXOlw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=d0rfWE9NhDLQGy/IThYSNVrqtPYuozVqMZgghShHS0E=; b=E4dqtpH7rypy7K+1D4dT8zGwcsfeTMYzB7F+o/XwH2P0ZDWXwiZm8O34zC19U4iry0hmGD5vF/ca+NsfcBcdFlnFyTt/Pyt3m6mdHu7aOBNSv+IVhkpG7QWUrk0wcie5gOsYJMqRiN9txCJkjEp6+8WATf6vKXCDs+UPqCe12BA= Received: from AM6PR0402MB3911.eurprd04.prod.outlook.com (52.133.30.10) by AM6PR0402MB3639.eurprd04.prod.outlook.com (52.133.28.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.20; Sun, 29 Sep 2019 01:12:57 +0000 Received: from AM6PR0402MB3911.eurprd04.prod.outlook.com ([fe80::b0c2:4fbb:fae7:991]) by AM6PR0402MB3911.eurprd04.prod.outlook.com ([fe80::b0c2:4fbb:fae7:991%5]) with mapi id 15.20.2305.017; Sun, 29 Sep 2019 01:12:57 +0000 From: Anson Huang To: Leonard Crestez , Marco Felsch CC: Aisheng Dong , "shawnguo@kernel.org" , "s.hauer@pengutronix.de" , "kernel@pengutronix.de" , "festevam@gmail.com" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , dl-linux-imx Subject: RE: [PATCH] firmware: imx: Skip return value check for some special SCU firmware APIs Thread-Topic: [PATCH] firmware: imx: Skip return value check for some special SCU firmware APIs Thread-Index: AQHVc4lT/ErvPybCJUCbZ2x7mLGjsqdB1xcg Date: Sun, 29 Sep 2019 01:12:57 +0000 Message-ID: References: <1569406066-16626-1-git-send-email-Anson.Huang@nxp.com> <20190926075914.i7tsd3cbpitrqe4q@pengutronix.de> <20190926100558.egils3ds37m3s5wo@pengutronix.de> <20190927090609.fyxdekkzrco7memt@pengutronix.de> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=anson.huang@nxp.com; x-originating-ip: [119.31.174.66] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ba4101f0-bd5b-4d15-c2e8-08d7447a29e4 x-ms-office365-filtering-ht: Tenant x-ms-traffictypediagnostic: AM6PR0402MB3639:|AM6PR0402MB3639: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 017589626D x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(136003)(366004)(346002)(376002)(396003)(39860400002)(189003)(199004)(8936002)(66476007)(110136005)(54906003)(66946007)(66556008)(71200400001)(71190400001)(486006)(74316002)(7696005)(99286004)(3846002)(6116002)(11346002)(5660300002)(76176011)(446003)(44832011)(186003)(476003)(256004)(66446008)(64756008)(76116006)(25786009)(9686003)(81166006)(81156014)(229853002)(6246003)(66066001)(102836004)(33656002)(26005)(53546011)(86362001)(6506007)(478600001)(316002)(4326008)(55016002)(52536014)(2906002)(6436002)(14454004)(7736002)(305945005)(8676002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR0402MB3639;H:AM6PR0402MB3911.eurprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: R9heKuEaNZwdhHRRa5pi42DGB+ji0IYjCMwJWUF0Zvi9H0NzW1xU/DJx6KxV/xBd3hqf80oWyHp+AiUipQQAhcMrhJ9lRa9Xy6c1fVmX9WxTpSoNX0c0fM6l+AH5nF8j4XWsDKofK+nYmkCRv3gOnxbRKplwT3A1nDd1gXnQNivx18F1bk/u53Lw+jTgb66v0IYSrcAXcRHHSegZOnPW9A8BaRqySFVvJON2NayvDKRIraF8a06hhij2Z9+T1ZZUqWdzlCCXih1cu2ZCHyuzIC0CqSa2bU8WjG25q/N6hYdK74G+q8cLY95pob+0Ha1FF2cEuU4x+GOhXgILEOz/Cnod3oKkiGoQIM8WbzSE/HsBEWsNwitnOAryW/UtYoT9DJFTmpqg4rr9LtJD9U1thB8lH490ccPSSvqj37HR/XY= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba4101f0-bd5b-4d15-c2e8-08d7447a29e4 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Sep 2019 01:12:57.4122 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 1X8mqCX2xXQaPcFKsc6gZTYbD+U2Rr6Jqx4VCK78EGc+NUUCO/pxIf28mLYzQPQzpVH1OUeB2hE0W/ImL3Ex9A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3639 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGksIExlb25hcmQvTWFyY28NCglJIHRoaW5rIHdlIHNob3VsZCBnZXQgYWxpZ25lZCBmaXJzdCwg bXkgb3JpZ2luYWwgdGhvdWdodCBpcyB0byBsZXQgU0NVIEFQSSBjYWxsZXIgTk9UIGF3YXJlIG9m IHRob3NlIHNwZWNpYWwgQVBJcywgc28gaGF2ZSB0byBkbyB0aGUgc3BlY2lhbCBoYW5kbGluZyBp biBpbXhfc2N1X2NhbGxfcnBjKCkuIEFuZCB0aGUgc2hvcnQgbG9vcCBjaGVjayBoYXMgdG8gYmUg dXNlZCB3aGljaCB3b3VsZCBpbXBhY3QgdGhlIHBlcmZvcm1hbmNlIGEgbGl0dGxlIGJpdCBJIHRo aW5rLiBCdXQgTGVvbmFyZCBzdGF0ZWQgdGhlIGNhbGxlciBzaG91bGQga25vdyB0aGUgU0NVIEZX IEFQSSdzIHVzYWdlLCBpZiBzbywgdGhlbiBJIHRoaW5rIHRoZSBzcGVjaWFsIGNhbGxlcnMgY2Fu IGp1c3Qgc2tpcCB0aGUgcmV0dXJuIHZhbHVlIGNoZWNrLCBhZGRpbmcgYSBjb21tZW50IHRvIGRl c2NyaWJlIHRoZSByZWFzb24sIHdvdWxkIGl0IGJlIG11Y2ggbW9yZSBlYXNpZXIgdGhhbiBjaGFu Z2luZyB0aGUgaW14X3NjdV9jYWxsX3JwYygpPyBPciBhbnkgb3RoZXIgc3VnZ2VzdGlvbj8NCg0K QW5zb24NCg0KPiBPbiAyNy4wOS4yMDE5IDEyOjA2LCBNYXJjbyBGZWxzY2ggd3JvdGU6DQo+ID4g SGkgQW5zb24sIExlb25hcmQsDQo+ID4NCj4gPiBPbiAxOS0wOS0yNyAwMToyMCwgQW5zb24gSHVh bmcgd3JvdGU6DQo+ID4+IEhpLCBMZW9uYXJkDQo+ID4+DQo+ID4+PiBPbiAyMDE5LTA5LTI2IDE6 MDYgUE0sIE1hcmNvIEZlbHNjaCB3cm90ZToNCj4gPj4+PiBPbiAxOS0wOS0yNiAwODowMywgQW5z b24gSHVhbmcgd3JvdGU6DQo+ID4+Pj4+PiBPbiAxOS0wOS0yNSAxODowNywgQW5zb24gSHVhbmcg d3JvdGU6DQo+ID4+Pj4+Pj4gVGhlIFNDVSBmaXJtd2FyZSBkb2VzIE5PVCBhbHdheXMgaGF2ZSBy ZXR1cm4gdmFsdWUgc3RvcmVkIGluDQo+ID4+Pj4+Pj4gbWVzc2FnZSBoZWFkZXIncyBmdW5jdGlv biBlbGVtZW50IGV2ZW4gdGhlIEFQSSBoYXMgcmVzcG9uc2UNCj4gPj4+Pj4+PiBkYXRhLCB0aG9z ZSBzcGVjaWFsIEFQSXMgYXJlIGRlZmluZWQgYXMgdm9pZCBmdW5jdGlvbiBpbiBTQ1UNCj4gPj4+ Pj4+PiBmaXJtd2FyZSwgc28gdGhleSBzaG91bGQgYmUgdHJlYXRlZCBhcyByZXR1cm4gc3VjY2Vz cyBhbHdheXMuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBpbXhf c2NfcnBjX21zZyB3aGl0ZWxpc3RbXSA9IHsNCj4gPj4+Pj4+PiArCXsgLnN2YyA9IElNWF9TQ19S UENfU1ZDX01JU0MsIC5mdW5jID0NCj4gPj4+Pj4+IElNWF9TQ19NSVNDX0ZVTkNfVU5JUVVFX0lE IH0sDQo+ID4+Pj4+Pj4gKwl7IC5zdmMgPSBJTVhfU0NfUlBDX1NWQ19NSVNDLCAuZnVuYyA9DQo+ ID4+Pj4+Pj4gK0lNWF9TQ19NSVNDX0ZVTkNfR0VUX0JVVFRPTl9TVEFUVVMgfSwgfTsNCj4gPj4+ Pj4+DQo+ID4+Pj4+PiBJcyB0aGlzIGdvaW5nIHRvIGJlIGV4dGVuZGVkIGluIHRoZSBuZWFyIGZ1 dHVyZT8gSSBzZWUgc29tZQ0KPiA+Pj4+Pj4gdXBjb21pbmcgcHJvYmxlbXMgaGVyZSBpZiBzb21l b25lIHVzZXMgYSBkaWZmZXJlbnQNCj4gPj4+Pj4+IHNjdS1mdzwtPmtlcm5lbCBjb21iaW5hdGlv biBhcyBueHAgd291bGQgc3VnZ2VzdC4NCj4gPj4+Pj4NCj4gPj4+Pj4gQ291bGQgYmUsIGJ1dCBJ IGNoZWNrZWQgdGhlIGN1cnJlbnQgQVBJcywgT05MWSB0aGVzZSAyIHdpbGwgYmUNCj4gPj4+Pj4g dXNlZCBpbiBMaW51eCBrZXJuZWwsIHNvIEkgT05MWSBhZGQgdGhlc2UgMiBBUElzIGZvciBub3cu DQo+ID4+Pj4NCj4gPj4+PiBPa2F5Lg0KPiA+Pj4+DQo+ID4+Pj4+IEhvd2V2ZXIsIGFmdGVyIHJl dGhpbmssIG1heWJlIHdlIHNob3VsZCBhZGQgYW5vdGhlciBpbXhfc2NfcnBjIEFQSQ0KPiA+Pj4+ PiBmb3IgdGhvc2Ugc3BlY2lhbCBBUElzPyBUbyBhdm9pZCBjaGVja2luZyBpdCBmb3IgYWxsIHRo ZSBBUElzDQo+ID4+Pj4+IGNhbGxlZCB3aGljaA0KPiA+Pj4gbWF5IGltcGFjdCBzb21lIHBlcmZv cm1hbmNlLg0KPiA+Pj4+PiBTdGlsbCB1bmRlciBkaXNjdXNzaW9uLCBpZiB5b3UgaGF2ZSBiZXR0 ZXIgaWRlYSwgcGxlYXNlIGFkdmlzZSwgdGhhbmtzIQ0KPiA+Pj4NCj4gPj4+IE15IHN1Z2dlc3Rp b24gaXMgdG8gcmVmYWN0b3IgdGhlIGNvZGUgYW5kIGFkZCBhIG5ldyBBUEkgZm9yIHRoZSB0aGlz DQo+ID4+PiAibm8gZXJyb3IgdmFsdWUiIGNvbnZlbnRpb24uIEludGVybmFsbHkgdGhleSBjYW4g Y2FsbCBhIGNvbW1vbg0KPiA+Pj4gZnVuY3Rpb24gd2l0aCBmbGFncy4NCj4gPj4NCj4gPj4+PiBB ZGRpbmcgYSBzcGVjaWFsIGFwaSBzaG91bGRuJ3QgYmUgdGhlIHJpZ2h0IGZpeC4gSW1hZ2luZSBp ZiBzb21lb25lDQo+ID4+Pj4gKG5vdCBhIG54cC1kZXZlbG9wZXIpIHdhbnRzIHRvIGFkZCBhIG5l dyBkcml2ZXIuIEhvdyBjb3VsZCBoZSBiZQ0KPiA+Pj4+IGV4cGVjdGVkIHRvIGtub3cgd2hpY2gg YXBpIGhlIHNob3VsZCB1c2UuIFRoZSBiZXR0ZXIgYWJicm9hY2ggd291bGQNCj4gPj4+PiBiZSB0 byBmaXggdGhlIHNjdS1mdyBpbnN0ZWFkIG9mIGFkZGluZyBxdWlya3MuLg0KPiA+Pg0KPiA+PiBZ ZXMsIGZpeGluZyBTQ1UgRlcgaXMgdGhlIGJlc3Qgc29sdXRpb24sIGJ1dCB3ZSBoYXZlIHRhbGtl ZCB0byBTQ1UgRlcNCj4gPj4gb3duZXIsIHRoZSBTQ1UgRlcgcmVsZWFzZWQgaGFzIGJlZW4gZmlu YWxpemVkLCBzbyB0aGUgQVBJDQo+ID4+IGltcGxlbWVudGF0aW9uIGNhbiBOT1QgYmUgY2hhbmdl ZCwgYnV0IHRoZXkgd2lsbCBwYXkgYXR0ZW50aW9uIHRvDQo+ID4+IHRoaXMgaXNzdWUgZm9yIG5l dyBhZGRlZCBBUElzIGxhdGVyLiBUaGF0IG1lYW5zIHRoZSBudW1iZXIgb2YgQVBJcyBoYXZpbmcN Cj4gdGhpcyBpc3N1ZSBhIHZlcnkgbGltaXRlZC4NCj4gPg0KPiA+IFRoaXMgbWVhbnMgdGhvc2Ug QVBJcyB3aGljaCBhbHJlYWR5IGhhdmUgdGhpcyBidWcgd2lsbCBub3QgYmUgZml4ZWQ/DQo+ID4g SU1ITyB0aGlzIHNvdW5kcyBhIGJpdCB3ZWlyZCBzaW5jZSB0aGlzIGlzIGEgY2hhbmdlYWJsZSBw ZWFjZSBvZiBjb2RlDQo+ID4gOykNCj4gDQo+IEl0J3Mgbm90IGEgYnVnLCBpdCdzIGEgZG9jdW1l bnRlZCBmZWF0dXJlIDspDQo+IA0KPiA+Pj4gUmlnaHQgbm93IGRldmVsb3BlcnMgd2hvIHdhbnQg dG8gbWFrZSBTQ0ZXIGNhbGxzIGluIHVwc3RyZWFtIG5lZWQgdG8NCj4gPj4+IGRlZmluZSB0aGUg bWVzc2FnZSBzdHJ1Y3QgaW4gdGhlaXIgZHJpdmVyIGJhc2VkIG9uIHByb3RvY29sDQo+IGRvY3Vt ZW50YXRpb24uDQo+ID4+PiBUaGlzIGluY2x1ZGVzOg0KPiA+Pj4NCj4gPj4+ICogQmluYXJ5IGxh eW91dCBvZiB0aGUgbWVzc2FnZSAoYSBwYWNrZWQgc3RydWN0KQ0KPiA+Pj4gKiBJZiB0aGUgbWVz c2FnZSBoYXMgYSByZXNwb25zZSAoYWxyZWFkeSBhIGJvb2wgZmxhZykNCj4gPj4+ICogSWYgYW4g ZXJyb3IgY29kZSBpcyByZXR1cm5lZCAodGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIGl0KQ0K PiA+DQo+ID4gV2h5IHNob3VsZCBJIHNwZWNpZnkgaWYgYSBlcnJvciBjb2RlIGlzIHJldHVybmVk Pw0KPiANCj4gQmVjYXVzZSB5b3UncmUgYWxyZWFkeSBkZWZpbmluZyB0aGUgbWVzc2FnZSBzdHJ1 Y3QgYW5kIHlvdSdyZSBhbHJlYWR5DQo+IHNwZWNpZnlpbmcgaWYgYSByZXNwb25zZSBpcyByZXF1 aXJlZC4NCj4gDQo+IFRoZSBhc3N1bXB0aW9uIGlzIHRoYXQgYW55b25lIGFkZGluZyBhIFNDRlcg Y2FsbCB0byBhIGRyaXZlciBpcyBhbHJlYWR5DQo+IGxvb2tpbmcgYXQgU0NGVyBkb2N1bWVudGF0 aW9uIHdoaWNoIGRlc2NyaWJlcyB0aGUgYmluYXJ5IG1lc3NhZ2UgZm9ybWF0Lg0KPiANCj4gLS0N Cj4gUmVnYXJkcywNCj4gTGVvbmFyZA0K