Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp242253imu; Fri, 16 Nov 2018 01:43:48 -0800 (PST) X-Google-Smtp-Source: AJdET5fLfPzMc67lrW4VMOZRoFdJEOZWLNvYjX7JZSO78Qr8+Y3WARlfPnKL4fBK8x2Y+j2s1ROh X-Received: by 2002:a17:902:6b46:: with SMTP id g6mr2385837plt.21.1542361428562; Fri, 16 Nov 2018 01:43:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542361428; cv=none; d=google.com; s=arc-20160816; b=DNWA5fdZkN0pWwB5Wid1bnD4oBCfZc8N8AwYTXib/uj/Kvg+EKA95501NKrhoipFAi i/i2xCnpnVoUVnq6UUp2yC1z5j+LbxgglBLmFd/wDxPHKrSNgwf7/VA+CTR5/vNUnYfk KvxdNwSsFsoJ0cA7bSoWOj51b1X6reVgoVlWQv7UZmJQOXcRXEGNDR1Q6Tlbdy4yq1vw jNVSpDusJghk9fqHhD5C1naZLbOl7z0cMTaU+8+BqTcl0+5Bog0x2tXVzEWNralVZkUO 2DfC8nXNnJ5MfIITYRj5n7kVt086mA+M2+EJLb712KL1IVCZL4uCWK8+KmQH8wnFxk3F 3THQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from; bh=7+ob43Q1Lp2XW2VUwHDrwIGTbaMyHCYfSPq/pjHd1KE=; b=pF9NKpDcB2txMem0ymJcAmOgNOm9vvkWBXSuyaQ9nwkFE6VfCx2qlUI5Ek8LPipUn0 +r1kwmkfFuOUhbxiLajrSutU3N1t3Z3R+YMsaEriAiTACvPPlhGWQ+kxsNkcUkxVeqpx tY/u5J1OohUrVpdmIeOOvyuOTNVT0kLDxTZWJcNHoF/lgynQi6xPV1kmiGB4VBhgH+y8 7jPo4p0fsmeNPZCdVSzVxjFjsmrqXGn2hk//0MRdb+sR7+XjiXUub3mYksKNdRQCPn0S MwKFRhLn0rfJ/MVq29Of1M/p81gQ4Ug3/7lKB8m1luV8/S1hSLkSfMdTu1yTsVezr7nR s82g== ARC-Authentication-Results: i=1; mx.google.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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b17si23402079pgk.581.2018.11.16.01.43.33; Fri, 16 Nov 2018 01:43:48 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389507AbeKPTxt (ORCPT + 99 others); Fri, 16 Nov 2018 14:53:49 -0500 Received: from skedge03.snt-world.com ([91.208.41.68]:42498 "EHLO skedge03.snt-world.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727405AbeKPTxt (ORCPT ); Fri, 16 Nov 2018 14:53:49 -0500 Received: from sntmail11s.snt-is.com (unknown [10.203.32.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by skedge03.snt-world.com (Postfix) with ESMTPS id 3158F6533B0; Fri, 16 Nov 2018 10:42:07 +0100 (CET) Received: from sntmail12r.snt-is.com (10.203.32.182) by sntmail11s.snt-is.com (10.203.32.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1466.3; Fri, 16 Nov 2018 10:42:06 +0100 Received: from sntmail12r.snt-is.com ([fe80::e551:8750:7bba:3305]) by sntmail12r.snt-is.com ([fe80::e551:8750:7bba:3305%5]) with mapi id 15.01.1466.003; Fri, 16 Nov 2018 10:42:06 +0100 From: Schrempf Frieder To: Yogesh Narayan Gaur CC: Boris Brezillon , "linux-mtd@lists.infradead.org" , "linux-spi@vger.kernel.org" , Marek Vasut , Mark Brown , Han Xu , "dwmw2@infradead.org" , "computersforpeace@gmail.com" , "richard@nod.at" , "miquel.raynal@bootlin.com" , David Wolfe , Fabio Estevam , Prabhakar Kushwaha , "shawnguo@kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v5 3/9] spi: Add a driver for the Freescale/NXP QuadSPI controller Thread-Topic: [PATCH v5 3/9] spi: Add a driver for the Freescale/NXP QuadSPI controller Thread-Index: AQHUe1dsObjF/PT8B0W0ex5X9UGX6qVO47aAgAADEgCAAAN+AIAAG+cAgAAGuQCAAUK+AIAAWaYAgAAZFwCAAA2lAIABBrMAgABDGIA= Date: Fri, 16 Nov 2018 09:42:06 +0000 Message-ID: <2aa180a6-c369-0e84-b6a2-085b0a539695@kontron.de> References: <1542116782-13118-1-git-send-email-frieder.schrempf@kontron.de> <1542116782-13118-4-git-send-email-frieder.schrempf@kontron.de> <65577d13-b17d-8f69-313c-01d23240d1d9@kontron.de> <3e9aa917-cf3a-cf0e-8516-4e73d30eb2a1@kontron.de> <20181115141252.52a5b32d@bbrezillon> <11f45245-efc4-f1cf-3ead-578a5ca4bf29@kontron.de> In-Reply-To: Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.25.9.42] x-c2processedorg: 51b406b7-48a2-4d03-b652-521f56ac89f3 Content-Type: text/plain; charset="utf-8" Content-ID: <816E1A340010094E9C2F077141E427B9@snt-world.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-SnT-MailScanner-Information: Please contact the ISP for more information X-SnT-MailScanner-ID: 3158F6533B0.ABBF0 X-SnT-MailScanner: Found to be clean X-SnT-MailScanner-SpamCheck: X-SnT-MailScanner-From: frieder.schrempf@kontron.de X-SnT-MailScanner-To: boris.brezillon@bootlin.com, broonie@kernel.org, computersforpeace@gmail.com, david.wolfe@nxp.com, dwmw2@infradead.org, fabio.estevam@nxp.com, han.xu@nxp.com, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, linux-spi@vger.kernel.org, marek.vasut@gmail.com, miquel.raynal@bootlin.com, prabhakar.kushwaha@nxp.com, richard@nod.at, shawnguo@kernel.org, yogeshnarayan.gaur@nxp.com X-Spam-Status: No Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgWW9nZXNoLA0KDQpPbiAxNi4xMS4xOCAwNjo0MSwgWW9nZXNoIE5hcmF5YW4gR2F1ciB3cm90 ZToNCj4gSGkgRnJpZWRlciwNCj4gDQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4g RnJvbTogU2NocmVtcGYgRnJpZWRlciBbbWFpbHRvOmZyaWVkZXIuc2NocmVtcGZAa29udHJvbi5E ZV0NCj4+IFNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJlciAxNSwgMjAxOCA3OjMyIFBNDQo+PiBUbzog WW9nZXNoIE5hcmF5YW4gR2F1ciA8eW9nZXNobmFyYXlhbi5nYXVyQG54cC5jb20+DQo+PiBDYzog Qm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AYm9vdGxpbi5jb20+OyBsaW51eC1tdGRA bGlzdHMuaW5mcmFkZWFkLm9yZzsNCj4+IGxpbnV4LXNwaUB2Z2VyLmtlcm5lbC5vcmc7IE1hcmVr IFZhc3V0IDxtYXJlay52YXN1dEBnbWFpbC5jb20+OyBNYXJrDQo+PiBCcm93biA8YnJvb25pZUBr ZXJuZWwub3JnPjsgSGFuIFh1IDxoYW4ueHVAbnhwLmNvbT47DQo+PiBkd213MkBpbmZyYWRlYWQu b3JnOyBjb21wdXRlcnNmb3JwZWFjZUBnbWFpbC5jb207IHJpY2hhcmRAbm9kLmF0Ow0KPj4gbWlx dWVsLnJheW5hbEBib290bGluLmNvbTsgRGF2aWQgV29sZmUgPGRhdmlkLndvbGZlQG54cC5jb20+ OyBGYWJpbw0KPj4gRXN0ZXZhbSA8ZmFiaW8uZXN0ZXZhbUBueHAuY29tPjsgUHJhYmhha2FyIEt1 c2h3YWhhDQo+PiA8cHJhYmhha2FyLmt1c2h3YWhhQG54cC5jb20+OyBzaGF3bmd1b0BrZXJuZWwu b3JnOyBsaW51eC0NCj4+IGtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcNCj4+IFN1YmplY3Q6IFJlOiBb UEFUQ0ggdjUgMy85XSBzcGk6IEFkZCBhIGRyaXZlciBmb3IgdGhlIEZyZWVzY2FsZS9OWFAgUXVh ZFNQSQ0KPj4gY29udHJvbGxlcg0KPj4NCj4+IEhpIFlvZ2VzaCwNCj4+DQo+PiBPbiAxNS4xMS4x OCAxNDoxMiwgQm9yaXMgQnJlemlsbG9uIHdyb3RlOg0KPj4+IE9uIFRodSwgMTUgTm92IDIwMTgg MTE6NDM6MDUgKzAwMDANCj4+PiBTY2hyZW1wZiBGcmllZGVyIDxmcmllZGVyLnNjaHJlbXBmQGtv bnRyb24uRGU+IHdyb3RlOg0KPj4+DQo+Pj4+IE9uIDE1LjExLjE4IDA3OjIyLCBZb2dlc2ggTmFy YXlhbiBHYXVyIHdyb3RlOg0KPj4+Pj4gSGkgRnJpZWRlciwNCj4+Pj4+DQo+Pj4+PiBXaXRoIGJl bG93IHBhdGNoIG9uIHRvcCBvZiB5b3VyIHY1LCBSZWFkL1dyaXRlL0VyYXNlIG9uIENTMSBpcyB3 b3JraW5nDQo+PiBmaW5lIGZvciBtZS4NCj4+Pj4NCj4+Pj4gT2ssIGFyZSB5b3Ugc3VyZSwgdGhh dCBBSEIgcmVhZCBpcyB3b3JraW5nIHRvbyB3aXRoIHRoaXMgcGF0Y2g/DQo+Pj4+IFlvdSBhcmUg cmVtb3ZpbmcgdGhlIG1lbW1hcF9waHkgb2Zmc2V0IGZyb20gU0ZBUiBhbmQgdGhlIFNGWFhBRA0K Pj4+PiByZWdpc3RlciB2YWx1ZXMuDQo+Pj4+DQo+Pj4+IEkgY2FuIHVuZGVyc3RhbmQgdGhhdCBz ZWxlY3Rpb24gb2YgdGhlIENTIGFuZCBJUCBjb21tYW5kcyB3aWxsIHdvcmsNCj4+Pj4gbGlrZSB0 aGlzLCBidXQgSSBjYW4ndCB1bmRlcnN0YW5kIGhvdyBBSEIgcmVhZCBzaG91bGQgd29yayB3aXRo b3V0DQo+Pj4+IHRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhlIG1hcHBlZCBtZW1vcnkuDQo+Pj4+DQo+ Pj4+IEknbSBhZnJhaWQgSSBzdGlsbCBkb24ndCBmdWxseSB1bmRlcnN0YW5kIHRoZSBiYWNrZ3Jv dW5kIG9mIHRoZXNlDQo+Pj4+IHRoaW5ncywNCj4+Pg0KPj4+IFNhbWUgaGVyZS4gWW9nZXNoLCBj YW4geW91IGdpdmUgdXMgbW9yZSBkZXRhaWwgb24gd2h5IHlvdSBkZWNpZGVkIHRvDQo+Pj4gZHJv cCB0aGUgbWVtbWFwX3BoeSBvZmZzZXQ/DQo+Pg0KPj4gWW91ciBjaGFuZ2VzIGRvIG5vdCB3b3Jr IG9uIG15IHNldHVwIChpLk1YNlVMKS4gSXQgbG9va3MgbGlrZSB5b3VyIGhhcmR3YXJlIGlzDQo+ PiBkaWZmZXJlbnQuDQo+Pg0KPj4gSSBmb3VuZCB0aGlzIHBhdGNoIGZvciBMUzIwODBBOiBbMV0u IFRoaXMgd291bGQgZXhwbGFpbiB3aHkgeW91IG5lZWQgdG8gcmVtb3ZlDQo+PiB0aGUgb2Zmc2V0 IHRvIG1ha2UgaXQgd29yay4NCj4+DQo+PiBUbyB2ZXJpZnkgdGhpcywgY291bGQgeW91IHBsZWFz ZSB0ZXN0IHlvdXIgc2V0dXAgd2l0aCB0aGUgY3VycmVudCBzcGktbm9yIGRyaXZlcg0KPj4gKGZz bF9xdWFkc3BpLmMpLiBJZiBvdXIgYXNzdW1wdGlvbnMgYXJlIHJpZ2h0LCBpdCBzaG91bGQgb25s eSB3b3JrIG9uIENTMCBhbmQgQ1MxDQo+PiB3aXRoIFsxXSBhcHBsaWVkLg0KPj4NCj4gDQo+IFll cywgSSBuZWVkIHRvIHJlbW92ZSB0aGUgb2Zmc2V0IHRvIG1ha2UgaXQgd29yayBhbmQgdGhpcyBp cyByZXF1aXJlZCBmb3IgdGhlIE5YUCBMYXllcnNjYXBlLTIueCBTb0NzIGxpa2UgTFMyMDh4L0xz MTA4eCBldGMuDQo+IA0KPiBJIGhhdmUgbW9kaWZpZWQgdGhlIHBhdGNoIGFuZCBoYXZlIGludHJv ZHVjZWQgZW50cnkgaW4gcXVpcmtzIGZvciBsczIwODBhLiBXaXRoIHRoaXMgUmVhZC9Xcml0ZS9F cmFzZSBhcmUgd29ya2luZyBmb3IgbWUgZm9yIGJvdGggQ1MuDQoNCk9rLCB3aGF0IEkgd2FzIGFz a2luZyBmb3IgaXMgYSB0ZXN0IHdpdGggdGhlIG9yaWdpbmFsLCB1bm1vZGlmaWVkIFNQSSANCk5P UiBkcml2ZXIgaW4gbXRkL3NwaS1ub3IvZnNsLXF1YWRzcGkuYy4gV2UgbmVlZCB0aGlzIHRvIGNv bmZpcm0gdGhhdCANCnRoZSBwcm9ibGVtIGlzIHJlYWxseSB3aGF0IHdlIHRoaW5rLCBvciB0byBm aW5kIG91dCBpZiB3ZSBtaXNzZWQgc29tZXRoaW5nLg0KDQpDYW4geW91IHBsZWFzZSBkbyBhIHF1 aWNrIHRlc3Q/IElmIGl0IGNvbmZpcm1zIG91ciBhc3N1bXB0aW9ucywgSSB3aWxsIA0Kc2VuZCBh IG5ldyB2ZXJzaW9uIHdpdGggdGhlIHF1aXJrIGFuZCBob3BlZnVsbHkgd2UgY2FuIHRoZW4gbW92 ZSBvbi4NCg0KVGhhbmtzLA0KRnJpZWRlcg0KDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9z cGkvc3BpLWZzbC1xc3BpLmMgYi9kcml2ZXJzL3NwaS9zcGktZnNsLXFzcGkuYw0KPiBpbmRleCBj ZTQ1ZThlLi41ZDI2ZjczIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3NwaS9zcGktZnNsLXFzcGku Yw0KPiArKysgYi9kcml2ZXJzL3NwaS9zcGktZnNsLXFzcGkuYw0KPiBAQCAtMTc1LDYgKzE3NSw5 IEBADQo+ICAgLyogVEtUMjQ1NjE4LCB0aGUgY29udHJvbGxlciBjYW5ub3Qgd2FrZSB1cCBmcm9t IHdhaXQgbW9kZSAqLw0KPiAgICNkZWZpbmUgUVVBRFNQSV9RVUlSS19US1QyNDU2MTggICAgICAg ICAgICAgICAgQklUKDMpDQo+IA0KPiArLyogUVNQSV9BTUJBX0JBU0UgaXMgaW50ZXJuYWxseSBh ZGRlZCBieSBTT0MgZGVzaWduIGZvciBMUy0yLnggYXJjaGl0ZWN0dXJlICovDQo+ICsjZGVmaW5l IFFVQURTUElfQU1CQV9CQVNFX0lOVEVSTkFMICAgICBCSVQoNCkNCj4gKw0KPiAgIHN0cnVjdCBm c2xfcXNwaV9kZXZ0eXBlX2RhdGEgew0KPiAgICAgICAgICB1bnNpZ25lZCBpbnQgcnhmaWZvOw0K PiAgICAgICAgICB1bnNpZ25lZCBpbnQgdHhmaWZvOw0KPiBAQCAtMjI3LDcgKzIzMCw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZnNsX3FzcGlfZGV2dHlwZV9kYXRhIGxzMjA4MGFfZGF0YSA9IHsN Cj4gICAgICAgICAgLnJ4ZmlmbyA9IFNaXzEyOCwNCj4gICAgICAgICAgLnR4ZmlmbyA9IFNaXzY0 LA0KPiAgICAgICAgICAuYWhiX2J1Zl9zaXplID0gU1pfMUssDQo+IC0gICAgICAgLnF1aXJrcyA9 IFFVQURTUElfUVVJUktfVEtUMjUzODkwLA0KPiArICAgICAgIC5xdWlya3MgPSBRVUFEU1BJX1FV SVJLX1RLVDI1Mzg5MCB8IFFVQURTUElfQU1CQV9CQVNFX0lOVEVSTkFMLA0KPiAgICAgICAgICAu bGl0dGxlX2VuZGlhbiA9IHRydWUsDQo+ICAgfTsNCj4gDQo+IEBAIC0yMzUsNiArMjM4LDcgQEAg c3RydWN0IGZzbF9xc3BpIHsNCj4gICAgICAgICAgdm9pZCBfX2lvbWVtICppb2Jhc2U7DQo+ICAg ICAgICAgIHZvaWQgX19pb21lbSAqYWhiX2FkZHI7DQo+ICAgICAgICAgIHUzMiBtZW1tYXBfcGh5 Ow0KPiArICAgICAgIHUzMiBhbWJhX2Jhc2VfYWRkcjsNCj4gICAgICAgICAgc3RydWN0IGNsayAq Y2xrLCAqY2xrX2VuOw0KPiAgICAgICAgICBzdHJ1Y3QgZGV2aWNlICpkZXY7DQo+ICAgICAgICAg IHN0cnVjdCBjb21wbGV0aW9uIGM7DQo+IEBAIC0yNjQsNiArMjY4LDExIEBAIHN0YXRpYyBpbmxp bmUgaW50IG5lZWRzX3dha2V1cF93YWl0X21vZGUoc3RydWN0IGZzbF9xc3BpICpxKQ0KPiAgICAg ICAgICByZXR1cm4gcS0+ZGV2dHlwZV9kYXRhLT5xdWlya3MgJiBRVUFEU1BJX1FVSVJLX1RLVDI0 NTYxODsNCj4gICB9DQo+IA0KPiArc3RhdGljIGlubGluZSBpbnQgaGFzX2FkZGVkX2FtYmFfYmFz ZV9pbnRlcm5hbChzdHJ1Y3QgZnNsX3FzcGkgKnEpDQo+ICt7DQo+ICsgICAgICAgcmV0dXJuIHEt PmRldnR5cGVfZGF0YS0+cXVpcmtzICYgUVVBRFNQSV9BTUJBX0JBU0VfSU5URVJOQUw7DQo+ICt9 DQo+ICsNCj4gICAvKg0KPiAgICAqIEFuIElDIGJ1ZyBtYWtlcyBpdCBuZWNlc3NhcnkgdG8gcmVh cnJhbmdlIHRoZSAzMi1iaXQgZGF0YS4NCj4gICAgKiBMYXRlciBjaGlwcywgc3VjaCBhcyBJTVg2 U0xYLCBoYXZlIGZpeGVkIHRoaXMgYnVnLg0KPiBAQCAtNDg5LDI5ICs0OTgsMTEgQEAgc3RhdGlj IHZvaWQgZnNsX3FzcGlfaW52YWxpZGF0ZShzdHJ1Y3QgZnNsX3FzcGkgKnEpDQo+ICAgc3RhdGlj IHZvaWQgZnNsX3FzcGlfc2VsZWN0X21lbShzdHJ1Y3QgZnNsX3FzcGkgKnEsIHN0cnVjdCBzcGlf ZGV2aWNlICpzcGkpDQo+ICAgew0KPiAgICAgICAgICB1bnNpZ25lZCBsb25nIHJhdGUgPSBzcGkt Pm1heF9zcGVlZF9oejsNCj4gLSAgICAgICBpbnQgcmV0LCBpOw0KPiAtICAgICAgIHUzMiBtYXBf YWRkcjsNCj4gKyAgICAgICBpbnQgcmV0Ow0KPiANCj4gICAgICAgICAgaWYgKHEtPnNlbGVjdGVk ID09IHNwaS0+Y2hpcF9zZWxlY3QpDQo+ICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KPiANCj4g LSAgICAgICAvKg0KPiAtICAgICAgICAqIEluIEhXIHRoZXJlIGNhbiBiZSBhIG1heGltdW0gb2Yg Zm91ciBjaGlwcyBvbiB0d28gYnVzZXMgd2l0aA0KPiAtICAgICAgICAqIHR3byBjaGlwIHNlbGVj dHMgb24gZWFjaCBidXMuIFdlIHVzZSBmb3VyIGNoaXAgc2VsZWN0cyBpbiBTVw0KPiAtICAgICAg ICAqIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB0aGUgZm91ciBjaGlwcy4NCj4gLSAgICAgICAg KiBXZSB1c2UgdGhlIFNGQTFBRCwgU0ZBMkFELCBTRkIxQUQsIFNGQjJBRCByZWdpc3RlcnMgdG8g c2VsZWN0DQo+IC0gICAgICAgICogdGhlIGNoaXAgd2Ugd2FudCB0byBhY2Nlc3MuDQo+IC0gICAg ICAgICovDQo+IC0gICAgICAgZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgew0KPiAtICAgICAgICAg ICAgICAgaWYgKGkgPCBzcGktPmNoaXBfc2VsZWN0KQ0KPiAtICAgICAgICAgICAgICAgICAgICAg ICBtYXBfYWRkciA9IHEtPm1lbW1hcF9waHk7DQo+IC0gICAgICAgICAgICAgICBlbHNlDQo+IC0g ICAgICAgICAgICAgICAgICAgICAgIG1hcF9hZGRyID0gcS0+bWVtbWFwX3BoeSArDQo+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAqIHEtPmRldnR5cGVfZGF0YS0+YWhiX2J1 Zl9zaXplOw0KPiAtDQo+IC0gICAgICAgICAgICAgICBxc3BpX3dyaXRlbChxLCBtYXBfYWRkciwg cS0+aW9iYXNlICsgUVVBRFNQSV9TRkExQUQgKyAoaSAqIDQpKTsNCj4gLSAgICAgICB9DQo+IC0N Cj4gICAgICAgICAgaWYgKG5lZWRzXzR4X2Nsb2NrKHEpKQ0KPiAgICAgICAgICAgICAgICAgIHJh dGUgKj0gNDsNCj4gDQo+IEBAIC01MzQsNyArNTI1LDkgQEAgc3RhdGljIHZvaWQgZnNsX3FzcGlf c2VsZWN0X21lbShzdHJ1Y3QgZnNsX3FzcGkgKnEsIHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpDQo+ IA0KPiAgIHN0YXRpYyB2b2lkIGZzbF9xc3BpX3JlYWRfYWhiKHN0cnVjdCBmc2xfcXNwaSAqcSwg Y29uc3Qgc3RydWN0IHNwaV9tZW1fb3AgKm9wKQ0KPiAgIHsNCj4gLSAgICAgICBtZW1jcHlfZnJv bWlvKG9wLT5kYXRhLmJ1Zi5pbiwgcS0+YWhiX2FkZHIsIG9wLT5kYXRhLm5ieXRlcyk7DQo+ICsg ICAgICAgbWVtY3B5X2Zyb21pbyhvcC0+ZGF0YS5idWYuaW4sDQo+ICsgICAgICAgICAgICAgICAg ICAgICBxLT5haGJfYWRkciArIHEtPnNlbGVjdGVkICogcS0+ZGV2dHlwZV9kYXRhLT5haGJfYnVm X3NpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICBvcC0+ZGF0YS5uYnl0ZXMpOw0KPiAgIH0N Cj4gDQo+ICAgc3RhdGljIHZvaWQgZnNsX3FzcGlfZmlsbF90eGZpZm8oc3RydWN0IGZzbF9xc3Bp ICpxLA0KPiBAQCAtNjM0LDcgKzYyNyw5IEBAIHN0YXRpYyBpbnQgZnNsX3FzcGlfZXhlY19vcChz dHJ1Y3Qgc3BpX21lbSAqbWVtLCBjb25zdCBzdHJ1Y3Qgc3BpX21lbV9vcCAqb3ApDQo+IA0KPiAg ICAgICAgICBmc2xfcXNwaV9zZWxlY3RfbWVtKHEsIG1lbS0+c3BpKTsNCj4gDQo+IC0gICAgICAg cXNwaV93cml0ZWwocSwgcS0+bWVtbWFwX3BoeSwgYmFzZSArIFFVQURTUElfU0ZBUik7DQo+ICsg ICAgICAgcXNwaV93cml0ZWwocSwgcS0+YW1iYV9iYXNlX2FkZHIgKw0KPiArICAgICAgICAgICAg ICAgICAgIHEtPnNlbGVjdGVkICogcS0+ZGV2dHlwZV9kYXRhLT5haGJfYnVmX3NpemUsDQo+ICsg ICAgICAgICAgICAgICAgICAgYmFzZSArIFFVQURTUElfU0ZBUik7DQo+IA0KPiAgICAgICAgICBx c3BpX3dyaXRlbChxLCBxc3BpX3JlYWRsKHEsIGJhc2UgKyBRVUFEU1BJX01DUikgfA0KPiAgICAg ICAgICAgICAgICAgICAgICBRVUFEU1BJX01DUl9DTFJfUlhGX01BU0sgfCBRVUFEU1BJX01DUl9D TFJfVFhGX01BU0ssDQo+IEBAIC03MzMsNiArNzI4LDIzIEBAIHN0YXRpYyBpbnQgZnNsX3FzcGlf ZGVmYXVsdF9zZXR1cChzdHJ1Y3QgZnNsX3FzcGkgKnEpDQo+ICAgICAgICAgICAgICAgICAgICAg IFFVQURTUElfQlVGM0NSX0FEQVRTWihxLT5kZXZ0eXBlX2RhdGEtPmFoYl9idWZfc2l6ZSAvIDgp LA0KPiAgICAgICAgICAgICAgICAgICAgICBiYXNlICsgUVVBRFNQSV9CVUYzQ1IpOw0KPiANCj4g KyAgICAgICAvKg0KPiArICAgICAgICAqIEluIEhXIHRoZXJlIGNhbiBiZSBhIG1heGltdW0gb2Yg Zm91ciBjaGlwcyBvbiB0d28gYnVzZXMgd2l0aA0KPiArICAgICAgICAqIHR3byBjaGlwIHNlbGVj dHMgb24gZWFjaCBidXMuIFdlIHVzZSBmb3VyIGNoaXAgc2VsZWN0cyBpbiBTVw0KPiArICAgICAg ICAqIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB0aGUgZm91ciBjaGlwcy4NCj4gKyAgICAgICAg KiBXZSB1c2UgdGhlIFNGQTFBRCwgU0ZBMkFELCBTRkIxQUQsIFNGQjJBRCByZWdpc3RlcnMgdG8g c2VsZWN0DQo+ICsgICAgICAgICogdGhlIGNoaXAgd2Ugd2FudCB0byBhY2Nlc3MuDQo+ICsgICAg ICAgICovDQo+ICsNCj4gKyAgICAgICBxc3BpX3dyaXRlbChxLCBxLT5hbWJhX2Jhc2VfYWRkciAr IHEtPmRldnR5cGVfZGF0YS0+YWhiX2J1Zl9zaXplLA0KPiArICAgICAgICAgICAgICAgICAgIGJh c2UgKyBRVUFEU1BJX1NGQTFBRCk7DQo+ICsgICAgICAgcXNwaV93cml0ZWwocSwgcS0+YW1iYV9i YXNlX2FkZHIgKyBxLT5kZXZ0eXBlX2RhdGEtPmFoYl9idWZfc2l6ZSAqIDIsDQo+ICsgICAgICAg ICAgICAgICAgICAgYmFzZSArIFFVQURTUElfU0ZBMkFEKTsNCj4gKyAgICAgICBxc3BpX3dyaXRl bChxLCBxLT5hbWJhX2Jhc2VfYWRkciArIHEtPmRldnR5cGVfZGF0YS0+YWhiX2J1Zl9zaXplICog MywNCj4gKyAgICAgICAgICAgICAgICAgICBiYXNlICsgUVVBRFNQSV9TRkIxQUQpOw0KPiArICAg ICAgIHFzcGlfd3JpdGVsKHEsIHEtPmFtYmFfYmFzZV9hZGRyICsgcS0+ZGV2dHlwZV9kYXRhLT5h aGJfYnVmX3NpemUgKiA0LA0KPiArICAgICAgICAgICAgICAgICAgIGJhc2UgKyBRVUFEU1BJX1NG QjJBRCk7DQo+ICsNCj4gICAgICAgICAgcS0+c2VsZWN0ZWQgPSAtMTsNCj4gDQo+ICAgICAgICAg IC8qIEVuYWJsZSB0aGUgbW9kdWxlICovDQo+IEBAIC04MjUsNiArODM3LDExIEBAIHN0YXRpYyBp bnQgZnNsX3FzcGlfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gDQo+ICAg ICAgICAgIHEtPm1lbW1hcF9waHkgPSByZXMtPnN0YXJ0Ow0KPiANCj4gKyAgICAgICBpZiAoaGFz X2FkZGVkX2FtYmFfYmFzZV9pbnRlcm5hbChxKSkNCj4gKyAgICAgICAgICAgICAgIHEtPmFtYmFf YmFzZV9hZGRyID0gMDsNCj4gKyAgICAgICBlbHNlDQo+ICsgICAgICAgICAgICAgICBxLT5hbWJh X2Jhc2VfYWRkciA9IHEtPm1lbW1hcF9waHk7DQo+ICsNCj4gICAgICAgICAgLyogZmluZCB0aGUg Y2xvY2tzICovDQo+ICAgICAgICAgIHEtPmNsa19lbiA9IGRldm1fY2xrX2dldChkZXYsICJxc3Bp X2VuIik7DQo+ICAgICAgICAgIGlmIChJU19FUlIocS0+Y2xrX2VuKSkgew0KPiANCj4gLS0NCj4g UmVnYXJkcw0KPiBZb2dlc2ggR2F1cg0KPiBbLi4uXQ0KPiA=