Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp237060yba; Tue, 14 May 2019 23:55:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqzEQTGUvpEUQEuUshKIZ2saNNG2sHr7bI35VrfRngvUO7BH56ZgWreSrfDko99zYkQnl3mR X-Received: by 2002:a63:10d:: with SMTP id 13mr16785043pgb.176.1557903345341; Tue, 14 May 2019 23:55:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557903345; cv=none; d=google.com; s=arc-20160816; b=VCQjRS9xHewyabWjgkS2N4rcUOpPy9lN0HI68SfMZ1S55gL7VvaHjoJgxg2UlWage1 rT12syVQ3yiWXu+QWW/DpFOXXhNGlksZy2UEINnQjYzx7sFIPy3HZvuPTJB9fYU3h0hh /hwg+W7c0pLr30B6qbmgPQ6aHMe2+vpXlusqBf0FU+WKOE5cLC8zooO0KM18u1cq3qCy HtNy3k8YkZC3hqfnKBo/UXmD0KiAgCxeEN2buo1fZQ7zgIIY2HvhPCJyFpWC4KafEPM8 Yhs2idpyfy1Sq1ryq+BbcAN21iYI1lV++Yb1b5Apk2D23Th1QWFTK1qVp8ErCPEEuvdz CFfQ== 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=fzhtYFIJ3qDjH+h/mbg0XoQRI1Tl71YokdeRnL01DmY=; b=cR0FPdMuzpPbfvcM24MR/CZRyFHfRXYhOYr26edQymnAs+H+pJgjM1B4tTFrpcRCQ6 WrCYqOYqbRFF2ymCS8ECHUO2oSt8Z6vy0hWC02pz1OKpNQwYYYe5qlWtF6NbmFU5ZUou U5cdEnooubts57hB8DYNi8OKgfAtizEdqXO3mCnV/KBXPzqcegAVbUHom7NcPC5IOOcy ODwY3Emn230wiSmr1FqRWG27kvBfFn7QgP3lpaLzRzu0o+oVi0oM4lmibqlGtcNpyBfT fkEDbKMnqQiRu17jHuP+XJ+KvEPMOwqhHGjAAQJeTbSxRWckhnjiM/pVSMFYDbfQUiIa KbIw== 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 c13si991349plo.175.2019.05.14.23.55.31; Tue, 14 May 2019 23:55:45 -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; 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 S1726567AbfEOGxe (ORCPT + 99 others); Wed, 15 May 2019 02:53:34 -0400 Received: from skedge03.snt-world.com ([91.208.41.68]:46986 "EHLO skedge03.snt-world.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725902AbfEOGxe (ORCPT ); Wed, 15 May 2019 02:53:34 -0400 Received: from sntmail14r.snt-is.com (unknown [10.203.32.184]) (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 2D6846024E2; Wed, 15 May 2019 08:53:32 +0200 (CEST) Received: from sntmail12r.snt-is.com (10.203.32.182) by sntmail14r.snt-is.com (10.203.32.184) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 15 May 2019 08:53:31 +0200 Received: from sntmail12r.snt-is.com ([fe80::e551:8750:7bba:3305]) by sntmail12r.snt-is.com ([fe80::e551:8750:7bba:3305%3]) with mapi id 15.01.1713.004; Wed, 15 May 2019 08:53:31 +0200 From: Schrempf Frieder To: Jeff Kletsky , Boris Brezillon , Miquel Raynal , Richard Weinberger , David Woodhouse , Brian Norris , Marek Vasut CC: "linux-mtd@lists.infradead.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v2 3/3] mtd: spinand: Add support for GigaDevice GD5F1GQ4UFxxG Thread-Topic: [PATCH v2 3/3] mtd: spinand: Add support for GigaDevice GD5F1GQ4UFxxG Thread-Index: AQHVCp/mj5ODTut3PUyDQllC6aHQS6ZrnwmA Date: Wed, 15 May 2019 06:53:31 +0000 Message-ID: <6705bff0-e929-301a-485e-1a506cccad32@kontron.de> References: <20190514215315.19228-1-lede@allycomm.com> <20190514215315.19228-4-lede@allycomm.com> In-Reply-To: <20190514215315.19228-4-lede@allycomm.com> Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.25.9.193] x-c2processedorg: 51b406b7-48a2-4d03-b652-521f56ac89f3 Content-Type: text/plain; charset="utf-8" Content-ID: <985ACC28CD63194E85B68E01C08F9B94@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: 2D6846024E2.ACCA8 X-SnT-MailScanner: Not scanned: please contact your Internet E-Mail Service Provider for details X-SnT-MailScanner-SpamCheck: X-SnT-MailScanner-From: frieder.schrempf@kontron.de X-SnT-MailScanner-To: bbrezillon@kernel.org, computersforpeace@gmail.com, dwmw2@infradead.org, lede@allycomm.com, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, marek.vasut@gmail.com, miquel.raynal@bootlin.com, richard@nod.at X-Spam-Status: No Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gMTQuMDUuMTkgMjM6NTMsIEplZmYgS2xldHNreSB3cm90ZToNCj4gRnJvbTogSmVmZiBLbGV0 c2t5IDxnaXQtY29tbWl0c0BhbGx5Y29tbS5jb20+DQo+IA0KPiBUaGUgR2lnYURldmljZSBHRDVG MUdRNFVGeHhHIFNQSSBOQU5EIGlzIGluIGN1cnJlbnQgcHJvZHVjdGlvbiBkZXZpY2VzDQo+IGFu ZCwgd2hpbGUgaXQgaGFzIHRoZSBzYW1lIGxvZ2ljYWwgbGF5b3V0IGFzIHRoZSBFLXNlcmllcyBk ZXZpY2VzLA0KPiBpdCBkaWZmZXJzIGluIHRoZSBTUEkgaW50ZXJmYWNpbmcgaW4gc2lnbmlmaWNh bnQgd2F5cy4NCj4gDQo+IFRoaXMgc3VwcG9ydCBpcyBjb250aW5nZW50IG9uIHByZXZpb3VzIGNv bW1pdHMgdG86DQo+IA0KPiAgICAqIEFkZCBzdXBwb3J0IGZvciB0d28tYnl0ZSBkZXZpY2UgSURz DQo+ICAgICogQWRkICNkZWZpbmUtcyBmb3IgcGFnZS1yZWFkIG9wcyB3aXRoIHRocmVlLWJ5dGUg YWRkcmVzc2VzDQo+IA0KPiBodHRwOi8vd3d3LmdpZ2FkZXZpY2UuY29tL2RhdGFzaGVldC9nZDVm MWdxNHhmeHhnLw0KPiANCj4gU2lnbmVkLW9mZi1ieTogSmVmZiBLbGV0c2t5IDxnaXQtY29tbWl0 c0BhbGx5Y29tbS5jb20+DQoNClJldmlld2VkLWJ5OiBGcmllZGVyIFNjaHJlbXBmIDxmcmllZGVy LnNjaHJlbXBmQGtvbnRyb24uZGU+DQoNCj4gLS0tDQo+ICAgZHJpdmVycy9tdGQvbmFuZC9zcGkv Z2lnYWRldmljZS5jIHwgNzkgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQ0KPiAgIDEg ZmlsZSBjaGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkNCj4gDQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL210ZC9uYW5kL3NwaS9naWdhZGV2aWNlLmMgYi9kcml2ZXJzL210 ZC9uYW5kL3NwaS9naWdhZGV2aWNlLmMNCj4gaW5kZXggMGI0OWQ4MjY0YmVmLi5kNjQ5N2FjNGM1 ZDggMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbXRkL25hbmQvc3BpL2dpZ2FkZXZpY2UuYw0KPiAr KysgYi9kcml2ZXJzL210ZC9uYW5kL3NwaS9naWdhZGV2aWNlLmMNCj4gQEAgLTksMTEgKzksMTcg QEANCj4gICAjaW5jbHVkZSA8bGludXgvbXRkL3NwaW5hbmQuaD4NCj4gICANCj4gICAjZGVmaW5l IFNQSU5BTkRfTUZSX0dJR0FERVZJQ0UJCQkweEM4DQo+ICsNCj4gICAjZGVmaW5lIEdENUZYR1E0 WEFfU1RBVFVTX0VDQ18xXzdfQklURkxJUFMJKDEgPDwgNCkNCj4gICAjZGVmaW5lIEdENUZYR1E0 WEFfU1RBVFVTX0VDQ184X0JJVEZMSVBTCSgzIDw8IDQpDQo+ICAgDQo+ICAgI2RlZmluZSBHRDVG WEdRNFVFWFhHX1JFR19TVEFUVVMyCQkweGYwDQo+ICAgDQo+ICsjZGVmaW5lIEdENUZYR1E0VVhG WFhHX1NUQVRVU19FQ0NfTUFTSwkJKDcgPDwgNCkNCj4gKyNkZWZpbmUgR0Q1RlhHUTRVWEZYWEdf U1RBVFVTX0VDQ19OT19CSVRGTElQUwkoMCA8PCA0KQ0KPiArI2RlZmluZSBHRDVGWEdRNFVYRlhY R19TVEFUVVNfRUNDXzFfM19CSVRGTElQUwkoMSA8PCA0KQ0KPiArI2RlZmluZSBHRDVGWEdRNFVY RlhYR19TVEFUVVNfRUNDX1VOQ09SX0VSUk9SCSg3IDw8IDQpDQo+ICsNCj4gICBzdGF0aWMgU1BJ TkFORF9PUF9WQVJJQU5UUyhyZWFkX2NhY2hlX3ZhcmlhbnRzLA0KPiAgIAkJU1BJTkFORF9QQUdF X1JFQURfRlJPTV9DQUNIRV9RVUFESU9fT1AoMCwgMiwgTlVMTCwgMCksDQo+ICAgCQlTUElOQU5E X1BBR0VfUkVBRF9GUk9NX0NBQ0hFX1g0X09QKDAsIDEsIE5VTEwsIDApLA0KPiBAQCAtMjIsNiAr MjgsMTQgQEAgc3RhdGljIFNQSU5BTkRfT1BfVkFSSUFOVFMocmVhZF9jYWNoZV92YXJpYW50cywN Cj4gICAJCVNQSU5BTkRfUEFHRV9SRUFEX0ZST01fQ0FDSEVfT1AodHJ1ZSwgMCwgMSwgTlVMTCwg MCksDQo+ICAgCQlTUElOQU5EX1BBR0VfUkVBRF9GUk9NX0NBQ0hFX09QKGZhbHNlLCAwLCAxLCBO VUxMLCAwKSk7DQo+ICAgDQo+ICtzdGF0aWMgU1BJTkFORF9PUF9WQVJJQU5UUyhyZWFkX2NhY2hl X3ZhcmlhbnRzX2YsDQo+ICsJCVNQSU5BTkRfUEFHRV9SRUFEX0ZST01fQ0FDSEVfUVVBRElPX09Q KDAsIDIsIE5VTEwsIDApLA0KPiArCQlTUElOQU5EX1BBR0VfUkVBRF9GUk9NX0NBQ0hFX1g0X09Q XzNBKDAsIDEsIE5VTEwsIDApLA0KPiArCQlTUElOQU5EX1BBR0VfUkVBRF9GUk9NX0NBQ0hFX0RV QUxJT19PUCgwLCAxLCBOVUxMLCAwKSwNCj4gKwkJU1BJTkFORF9QQUdFX1JFQURfRlJPTV9DQUNI RV9YMl9PUF8zQSgwLCAxLCBOVUxMLCAwKSwNCj4gKwkJU1BJTkFORF9QQUdFX1JFQURfRlJPTV9D QUNIRV9PUF8zQSh0cnVlLCAwLCAxLCBOVUxMLCAwKSwNCj4gKwkJU1BJTkFORF9QQUdFX1JFQURf RlJPTV9DQUNIRV9PUF8zQShmYWxzZSwgMCwgMCwgTlVMTCwgMCkpOw0KPiArDQo+ICAgc3RhdGlj IFNQSU5BTkRfT1BfVkFSSUFOVFMod3JpdGVfY2FjaGVfdmFyaWFudHMsDQo+ICAgCQlTUElOQU5E X1BST0dfTE9BRF9YNCh0cnVlLCAwLCBOVUxMLCAwKSwNCj4gICAJCVNQSU5BTkRfUFJPR19MT0FE KHRydWUsIDAsIE5VTEwsIDApKTsNCj4gQEAgLTU5LDYgKzczLDExIEBAIHN0YXRpYyBpbnQgZ2Q1 ZnhncTR4YV9vb2JsYXlvdXRfZnJlZShzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgaW50IHNlY3Rpb24s DQo+ICAgCXJldHVybiAwOw0KPiAgIH0NCj4gICANCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRk X29vYmxheW91dF9vcHMgZ2Q1ZnhncTR4YV9vb2JsYXlvdXQgPSB7DQo+ICsJLmVjYyA9IGdkNWZ4 Z3E0eGFfb29ibGF5b3V0X2VjYywNCj4gKwkuZnJlZSA9IGdkNWZ4Z3E0eGFfb29ibGF5b3V0X2Zy ZWUsDQo+ICt9Ow0KPiArDQo+ICAgc3RhdGljIGludCBnZDVmeGdxNHhhX2VjY19nZXRfc3RhdHVz KHN0cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCwNCj4gICAJCQkJCSB1OCBzdGF0dXMpDQo+ ICAgew0KPiBAQCAtODMsNyArMTAyLDcgQEAgc3RhdGljIGludCBnZDVmeGdxNHhhX2VjY19nZXRf c3RhdHVzKHN0cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCwNCj4gICAJcmV0dXJuIC1FSU5W QUw7DQo+ICAgfQ0KPiAgIA0KPiAtc3RhdGljIGludCBnZDVmeGdxNHVleHhnX29vYmxheW91dF9l Y2Moc3RydWN0IG10ZF9pbmZvICptdGQsIGludCBzZWN0aW9uLA0KPiArc3RhdGljIGludCBnZDVm eGdxNF92YXJpYW50Ml9vb2JsYXlvdXRfZWNjKHN0cnVjdCBtdGRfaW5mbyAqbXRkLCBpbnQgc2Vj dGlvbiwNCj4gICAJCQkJICAgICAgIHN0cnVjdCBtdGRfb29iX3JlZ2lvbiAqcmVnaW9uKQ0KPiAg IHsNCj4gICAJaWYgKHNlY3Rpb24pDQo+IEBAIC05NSw3ICsxMTQsNyBAQCBzdGF0aWMgaW50IGdk NWZ4Z3E0dWV4eGdfb29ibGF5b3V0X2VjYyhzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgaW50IHNlY3Rp b24sDQo+ICAgCXJldHVybiAwOw0KPiAgIH0NCj4gICANCj4gLXN0YXRpYyBpbnQgZ2Q1ZnhncTR1 ZXh4Z19vb2JsYXlvdXRfZnJlZShzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgaW50IHNlY3Rpb24sDQo+ ICtzdGF0aWMgaW50IGdkNWZ4Z3E0X3ZhcmlhbnQyX29vYmxheW91dF9mcmVlKHN0cnVjdCBtdGRf aW5mbyAqbXRkLCBpbnQgc2VjdGlvbiwNCj4gICAJCQkJCXN0cnVjdCBtdGRfb29iX3JlZ2lvbiAq cmVnaW9uKQ0KPiAgIHsNCj4gICAJaWYgKHNlY3Rpb24pDQo+IEBAIC0xMDgsNiArMTI3LDExIEBA IHN0YXRpYyBpbnQgZ2Q1ZnhncTR1ZXh4Z19vb2JsYXlvdXRfZnJlZShzdHJ1Y3QgbXRkX2luZm8g Km10ZCwgaW50IHNlY3Rpb24sDQo+ICAgCXJldHVybiAwOw0KPiAgIH0NCj4gICANCj4gK3N0YXRp YyBjb25zdCBzdHJ1Y3QgbXRkX29vYmxheW91dF9vcHMgZ2Q1ZnhncTRfdmFyaWFudDJfb29ibGF5 b3V0ID0gew0KPiArCS5lY2MgPSBnZDVmeGdxNF92YXJpYW50Ml9vb2JsYXlvdXRfZWNjLA0KPiAr CS5mcmVlID0gZ2Q1ZnhncTRfdmFyaWFudDJfb29ibGF5b3V0X2ZyZWUsDQo+ICt9Ow0KPiArDQo+ ICAgc3RhdGljIGludCBnZDVmeGdxNHVleHhnX2VjY19nZXRfc3RhdHVzKHN0cnVjdCBzcGluYW5k X2RldmljZSAqc3BpbmFuZCwNCj4gICAJCQkJCXU4IHN0YXR1cykNCj4gICB7DQo+IEBAIC0xNTAs MTUgKzE3NCwyNSBAQCBzdGF0aWMgaW50IGdkNWZ4Z3E0dWV4eGdfZWNjX2dldF9zdGF0dXMoc3Ry dWN0IHNwaW5hbmRfZGV2aWNlICpzcGluYW5kLA0KPiAgIAlyZXR1cm4gLUVJTlZBTDsNCj4gICB9 DQo+ICAgDQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IG10ZF9vb2JsYXlvdXRfb3BzIGdkNWZ4Z3E0 eGFfb29ibGF5b3V0ID0gew0KPiAtCS5lY2MgPSBnZDVmeGdxNHhhX29vYmxheW91dF9lY2MsDQo+ IC0JLmZyZWUgPSBnZDVmeGdxNHhhX29vYmxheW91dF9mcmVlLA0KPiAtfTsNCj4gK3N0YXRpYyBp bnQgZ2Q1ZnhncTR1Znh4Z19lY2NfZ2V0X3N0YXR1cyhzdHJ1Y3Qgc3BpbmFuZF9kZXZpY2UgKnNw aW5hbmQsDQo+ICsJCQkJCXU4IHN0YXR1cykNCj4gK3sNCj4gKwlzd2l0Y2ggKHN0YXR1cyAmIEdE NUZYR1E0VVhGWFhHX1NUQVRVU19FQ0NfTUFTSykgew0KPiArCWNhc2UgR0Q1RlhHUTRVWEZYWEdf U1RBVFVTX0VDQ19OT19CSVRGTElQUzoNCj4gKwkJcmV0dXJuIDA7DQo+ICAgDQo+IC1zdGF0aWMg Y29uc3Qgc3RydWN0IG10ZF9vb2JsYXlvdXRfb3BzIGdkNWZ4Z3E0dWV4eGdfb29ibGF5b3V0ID0g ew0KPiAtCS5lY2MgPSBnZDVmeGdxNHVleHhnX29vYmxheW91dF9lY2MsDQo+IC0JLmZyZWUgPSBn ZDVmeGdxNHVleHhnX29vYmxheW91dF9mcmVlLA0KPiAtfTsNCj4gKwljYXNlIEdENUZYR1E0VVhG WFhHX1NUQVRVU19FQ0NfMV8zX0JJVEZMSVBTOg0KPiArCQlyZXR1cm4gMzsNCj4gKw0KPiArCWNh c2UgR0Q1RlhHUTRVWEZYWEdfU1RBVFVTX0VDQ19VTkNPUl9FUlJPUjoNCj4gKwkJcmV0dXJuIC1F QkFETVNHOw0KPiArDQo+ICsJZGVmYXVsdDogLyogKDIgPDwgNCkgdGhyb3VnaCAoNiA8PCA0KSBh cmUgNC04IGNvcnJlY3RlZCBlcnJvcnMgKi8NCj4gKwkJcmV0dXJuICgoc3RhdHVzICYgR0Q1RlhH UTRVWEZYWEdfU1RBVFVTX0VDQ19NQVNLKSA+PiA0KSArIDI7DQo+ICsJfQ0KPiArDQo+ICsJcmV0 dXJuIC1FSU5WQUw7DQo+ICt9DQo+ICAgDQo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCBzcGluYW5k X2luZm8gZ2lnYWRldmljZV9zcGluYW5kX3RhYmxlW10gPSB7DQo+ICAgCVNQSU5BTkRfSU5GTygi R0Q1RjFHUTR4QSIsIDB4RjEsDQo+IEBAIC0xOTUsMjUgKzIyOSw0MCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHNwaW5hbmRfaW5mbyBnaWdhZGV2aWNlX3NwaW5hbmRfdGFibGVbXSA9IHsNCj4gICAJ CQkJCSAgICAgICZ3cml0ZV9jYWNoZV92YXJpYW50cywNCj4gICAJCQkJCSAgICAgICZ1cGRhdGVf Y2FjaGVfdmFyaWFudHMpLA0KPiAgIAkJICAgICAwLA0KPiAtCQkgICAgIFNQSU5BTkRfRUNDSU5G TygmZ2Q1ZnhncTR1ZXh4Z19vb2JsYXlvdXQsDQo+ICsJCSAgICAgU1BJTkFORF9FQ0NJTkZPKCZn ZDVmeGdxNF92YXJpYW50Ml9vb2JsYXlvdXQsDQo+ICAgCQkJCSAgICAgZ2Q1ZnhncTR1ZXh4Z19l Y2NfZ2V0X3N0YXR1cykpLA0KPiArCVNQSU5BTkRfSU5GTygiR0Q1RjFHUTRVRnh4RyIsIDB4YjE0 OCwNCj4gKwkJICAgICBOQU5EX01FTU9SRygxLCAyMDQ4LCAxMjgsIDY0LCAxMDI0LCAxLCAxLCAx KSwNCj4gKwkJICAgICBOQU5EX0VDQ1JFUSg4LCA1MTIpLA0KPiArCQkgICAgIFNQSU5BTkRfSU5G T19PUF9WQVJJQU5UUygmcmVhZF9jYWNoZV92YXJpYW50c19mLA0KPiArCQkJCQkgICAgICAmd3Jp dGVfY2FjaGVfdmFyaWFudHMsDQo+ICsJCQkJCSAgICAgICZ1cGRhdGVfY2FjaGVfdmFyaWFudHMp LA0KPiArCQkgICAgIDAsDQo+ICsJCSAgICAgU1BJTkFORF9FQ0NJTkZPKCZnZDVmeGdxNF92YXJp YW50Ml9vb2JsYXlvdXQsDQo+ICsJCQkJICAgICBnZDVmeGdxNHVmeHhnX2VjY19nZXRfc3RhdHVz KSksDQo+ICAgfTsNCj4gICANCj4gICBzdGF0aWMgaW50IGdpZ2FkZXZpY2Vfc3BpbmFuZF9kZXRl Y3Qoc3RydWN0IHNwaW5hbmRfZGV2aWNlICpzcGluYW5kKQ0KPiAgIHsNCj4gICAJdTggKmlkID0g c3BpbmFuZC0+aWQuZGF0YTsNCj4gKwl1MTYgZGlkOw0KPiAgIAlpbnQgcmV0Ow0KPiAgIA0KPiAg IAkvKg0KPiAtCSAqIEZvciBHRCBOQU5EcywgVGhlcmUgaXMgYW4gYWRkcmVzcyBieXRlIG5lZWRl ZCB0byBzaGlmdCBpbiBiZWZvcmUgSURzDQo+IC0JICogYXJlIHJlYWQgb3V0LCBzbyB0aGUgZmly c3QgYnl0ZSBpbiByYXdfaWQgaXMgZHVtbXkuDQo+ICsJICogRWFybGllciBHREY1LXNlcmllcyBk ZXZpY2VzIChBLEUpIHJldHVybiBbMF1bTUlEXVtESURdDQo+ICsJICogTGF0ZXIgKEYpIGRldmlj ZXMgcmV0dXJuIFtNSURdW0RJRDFdW0RJRDJdDQo+ICAgCSAqLw0KPiAtCWlmIChpZFsxXSAhPSBT UElOQU5EX01GUl9HSUdBREVWSUNFKQ0KPiArDQo+ICsJaWYgKGlkWzBdID09IFNQSU5BTkRfTUZS X0dJR0FERVZJQ0UpDQo+ICsJCWRpZCA9IChpZFsxXSA8PCA4KSArIGlkWzJdOw0KPiArCWVsc2Ug aWYgKGlkWzBdID09IDAgJiYgaWRbMV0gPT0gU1BJTkFORF9NRlJfR0lHQURFVklDRSkNCj4gKwkJ ZGlkID0gaWRbMl07DQo+ICsJZWxzZQ0KPiAgIAkJcmV0dXJuIDA7DQo+ICAgDQo+ICAgCXJldCA9 IHNwaW5hbmRfbWF0Y2hfYW5kX2luaXQoc3BpbmFuZCwgZ2lnYWRldmljZV9zcGluYW5kX3RhYmxl LA0KPiAgIAkJCQkgICAgIEFSUkFZX1NJWkUoZ2lnYWRldmljZV9zcGluYW5kX3RhYmxlKSwNCj4g LQkJCQkgICAgIGlkWzJdKTsNCj4gKwkJCQkgICAgIGRpZCk7DQo+ICAgCWlmIChyZXQpDQo+ICAg CQlyZXR1cm4gcmV0Ow0KPiAgIA0KPiA=