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 X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DED1AC04AAC for ; Thu, 23 May 2019 06:42:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A1C8A2175B for ; Thu, 23 May 2019 06:42:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726440AbfEWGmd (ORCPT ); Thu, 23 May 2019 02:42:33 -0400 Received: from skedge04.snt-world.com ([91.208.41.69]:59396 "EHLO skedge04.snt-world.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725806AbfEWGmd (ORCPT ); Thu, 23 May 2019 02:42:33 -0400 Received: from sntmail10s.snt-is.com (unknown [10.203.32.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by skedge04.snt-world.com (Postfix) with ESMTPS id DD9C766117C; Thu, 23 May 2019 08:42:28 +0200 (CEST) Received: from sntmail12r.snt-is.com (10.203.32.182) by sntmail10s.snt-is.com (10.203.32.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 23 May 2019 08:42:28 +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; Thu, 23 May 2019 08:42:28 +0200 From: Schrempf Frieder To: Jeff Kletsky , Miquel Raynal , Richard Weinberger , "David Woodhouse" , Brian Norris , Marek Vasut , Vignesh Raghavendra CC: "linux-mtd@lists.infradead.org" , "Jeff Kletsky" , kbuild test robot , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v4 3/3] mtd: spinand: Add support for GigaDevice GD5F1GQ4UFxxG Thread-Topic: [PATCH v4 3/3] mtd: spinand: Add support for GigaDevice GD5F1GQ4UFxxG Thread-Index: AQHVEOq8ofUdXvC9RUu5vDDV8HwpMaZ4IfUA Date: Thu, 23 May 2019 06:42:28 +0000 Message-ID: References: <20190522220555.11626-1-lede@allycomm.com> <20190522220555.11626-4-lede@allycomm.com> In-Reply-To: <20190522220555.11626-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: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-SnT-MailScanner-Information: Please contact the ISP for more information X-SnT-MailScanner-ID: DD9C766117C.A3716 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: computersforpeace@gmail.com, dwmw2@infradead.org, git-commits@allycomm.com, lede@allycomm.com, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, lkp@intel.com, marek.vasut@gmail.com, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gMjMuMDUuMTkgMDA6MDUsIEplZmYgS2xldHNreSB3cm90ZToNCj4gRnJvbTogSmVmZiBLbGV0 c2t5IDxnaXQtY29tbWl0c0BhbGx5Y29tbS5jb20+DQo+IA0KPiBUaGUgR2lnYURldmljZSBHRDVG MUdRNFVGeHhHIFNQSSBOQU5EIGlzIGluIGN1cnJlbnQgcHJvZHVjdGlvbiBkZXZpY2VzDQo+IGFu ZCwgd2hpbGUgaXQgaGFzIHRoZSBzYW1lIGxvZ2ljYWwgbGF5b3V0IGFzIHRoZSBFLXNlcmllcyBk ZXZpY2VzLA0KPiBpdCBkaWZmZXJzIGluIHRoZSBTUEkgaW50ZXJmYWNpbmcgaW4gc2lnbmlmaWNh bnQgd2F5cy4NCj4gDQo+IFRoaXMgc3VwcG9ydCBpcyBjb250aW5nZW50IG9uIHByZXZpb3VzIGNv bW1pdHMgdG86DQo+IA0KPiAgICAqIEFkZCBzdXBwb3J0IGZvciB0d28tYnl0ZSBkZXZpY2UgSURz DQo+ICAgICogRGVmaW5lIG1hY3JvcyBmb3IgcGFnZS1yZWFkIG9wcyB3aXRoIHRocmVlLWJ5dGUg YWRkcmVzc2VzDQo+IA0KPiBodHRwOi8vd3d3LmdpZ2FkZXZpY2UuY29tL2RhdGFzaGVldC9nZDVm MWdxNHhmeHhnLw0KPiANCj4gU2lnbmVkLW9mZi1ieTogSmVmZiBLbGV0c2t5IDxnaXQtY29tbWl0 c0BhbGx5Y29tbS5jb20+DQoNClJldmlld2VkLWJ5OiBGcmllZGVyIFNjaHJlbXBmIDxmcmllZGVy LnNjaHJlbXBmQGtvbnRyb24uZGU+DQoNCj4gDQo+IFJlcG9ydGVkLWJ5OiBrYnVpbGQgdGVzdCBy b2JvdCA8bGtwQGludGVsLmNvbT4NCg0KSSBkb250J3QgdGhpbmsgdGhhdCB0aGlzIFJlcG9ydGVk LWJ5IHRhZyBzaG91bGQgYmUgdXNlZCBoZXJlLiBUaGUgYm90IA0KcmVwb3J0ZWQgYnVpbGQgZXJy b3JzIGNhdXNlZCBieSB5b3VyIHBhdGNoIGFuZCB5b3UgZml4ZWQgaXQgaW4gYSBuZXcgDQp2ZXJz aW9uLiBBcyBmYXIgYXMgSSB1bmRlcnN0YW5kIHRoaXMgdGFnLCBpdCByZWZlcmVuY2VzIHNvbWVv bmUgd2hvIA0KcmVwb3J0ZWQgYSBmbGF3L2J1ZyB0aGF0IGxlZCB0byB0aGlzIGNoYW5nZSBpbiB0 aGUgZmlyc3QgcGxhY2UuDQpUaGUgdmVyc2lvbiBoaXN0b3J5IG9mIHRoZSBjaGFuZ2VzIHdvbid0 IGJlIHZpc2libGUgaW4gdGhlIGdpdCBoaXN0b3J5IA0KbGF0ZXIsIGJ1dCB0aGUgdGFnIHdpbGwg YmUgYW5kIHdvdWxkIGJlIHJhdGhlciBjb25mdXNpbmcuDQoNCj4gLS0tDQo+ICAgZHJpdmVycy9t dGQvbmFuZC9zcGkvZ2lnYWRldmljZS5jIHwgNzkgKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLQ0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMo LSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9uYW5kL3NwaS9naWdhZGV2aWNlLmMg Yi9kcml2ZXJzL210ZC9uYW5kL3NwaS9naWdhZGV2aWNlLmMNCj4gaW5kZXggZTU1ODYzOTAwMjZh Li5iMGMyNmViNWU4YjYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbXRkL25hbmQvc3BpL2dpZ2Fk ZXZpY2UuYw0KPiArKysgYi9kcml2ZXJzL210ZC9uYW5kL3NwaS9naWdhZGV2aWNlLmMNCj4gQEAg LTksMTEgKzksMTcgQEANCj4gICAjaW5jbHVkZSA8bGludXgvbXRkL3NwaW5hbmQuaD4NCj4gICAN Cj4gICAjZGVmaW5lIFNQSU5BTkRfTUZSX0dJR0FERVZJQ0UJCQkweEM4DQo+ICsNCj4gICAjZGVm aW5lIEdENUZYR1E0WEFfU1RBVFVTX0VDQ18xXzdfQklURkxJUFMJKDEgPDwgNCkNCj4gICAjZGVm aW5lIEdENUZYR1E0WEFfU1RBVFVTX0VDQ184X0JJVEZMSVBTCSgzIDw8IDQpDQo+ICAgDQo+ICAg I2RlZmluZSBHRDVGWEdRNFVFWFhHX1JFR19TVEFUVVMyCQkweGYwDQo+ICAgDQo+ICsjZGVmaW5l IEdENUZYR1E0VVhGWFhHX1NUQVRVU19FQ0NfTUFTSwkJKDcgPDwgNCkNCj4gKyNkZWZpbmUgR0Q1 RlhHUTRVWEZYWEdfU1RBVFVTX0VDQ19OT19CSVRGTElQUwkoMCA8PCA0KQ0KPiArI2RlZmluZSBH RDVGWEdRNFVYRlhYR19TVEFUVVNfRUNDXzFfM19CSVRGTElQUwkoMSA8PCA0KQ0KPiArI2RlZmlu ZSBHRDVGWEdRNFVYRlhYR19TVEFUVVNfRUNDX1VOQ09SX0VSUk9SCSg3IDw8IDQpDQo+ICsNCj4g ICBzdGF0aWMgU1BJTkFORF9PUF9WQVJJQU5UUyhyZWFkX2NhY2hlX3ZhcmlhbnRzLA0KPiAgIAkJ U1BJTkFORF9QQUdFX1JFQURfRlJPTV9DQUNIRV9RVUFESU9fT1AoMCwgMiwgTlVMTCwgMCksDQo+ ICAgCQlTUElOQU5EX1BBR0VfUkVBRF9GUk9NX0NBQ0hFX1g0X09QKDAsIDEsIE5VTEwsIDApLA0K PiBAQCAtMjIsNiArMjgsMTQgQEAgc3RhdGljIFNQSU5BTkRfT1BfVkFSSUFOVFMocmVhZF9jYWNo ZV92YXJpYW50cywNCj4gICAJCVNQSU5BTkRfUEFHRV9SRUFEX0ZST01fQ0FDSEVfT1AodHJ1ZSwg MCwgMSwgTlVMTCwgMCksDQo+ICAgCQlTUElOQU5EX1BBR0VfUkVBRF9GUk9NX0NBQ0hFX09QKGZh bHNlLCAwLCAxLCBOVUxMLCAwKSk7DQo+ICAgDQo+ICtzdGF0aWMgU1BJTkFORF9PUF9WQVJJQU5U UyhyZWFkX2NhY2hlX3ZhcmlhbnRzX2YsDQo+ICsJCVNQSU5BTkRfUEFHRV9SRUFEX0ZST01fQ0FD SEVfUVVBRElPX09QKDAsIDIsIE5VTEwsIDApLA0KPiArCQlTUElOQU5EX1BBR0VfUkVBRF9GUk9N X0NBQ0hFX1g0X09QXzNBKDAsIDEsIE5VTEwsIDApLA0KPiArCQlTUElOQU5EX1BBR0VfUkVBRF9G Uk9NX0NBQ0hFX0RVQUxJT19PUCgwLCAxLCBOVUxMLCAwKSwNCj4gKwkJU1BJTkFORF9QQUdFX1JF QURfRlJPTV9DQUNIRV9YMl9PUF8zQSgwLCAxLCBOVUxMLCAwKSwNCj4gKwkJU1BJTkFORF9QQUdF X1JFQURfRlJPTV9DQUNIRV9PUF8zQSh0cnVlLCAwLCAxLCBOVUxMLCAwKSwNCj4gKwkJU1BJTkFO RF9QQUdFX1JFQURfRlJPTV9DQUNIRV9PUF8zQShmYWxzZSwgMCwgMCwgTlVMTCwgMCkpOw0KPiAr DQo+ICAgc3RhdGljIFNQSU5BTkRfT1BfVkFSSUFOVFMod3JpdGVfY2FjaGVfdmFyaWFudHMsDQo+ ICAgCQlTUElOQU5EX1BST0dfTE9BRF9YNCh0cnVlLCAwLCBOVUxMLCAwKSwNCj4gICAJCVNQSU5B TkRfUFJPR19MT0FEKHRydWUsIDAsIE5VTEwsIDApKTsNCj4gQEAgLTU5LDYgKzczLDExIEBAIHN0 YXRpYyBpbnQgZ2Q1ZnhncTR4YV9vb2JsYXlvdXRfZnJlZShzdHJ1Y3QgbXRkX2luZm8gKm10ZCwg aW50IHNlY3Rpb24sDQo+ICAgCXJldHVybiAwOw0KPiAgIH0NCj4gICANCj4gK3N0YXRpYyBjb25z dCBzdHJ1Y3QgbXRkX29vYmxheW91dF9vcHMgZ2Q1ZnhncTR4YV9vb2JsYXlvdXQgPSB7DQo+ICsJ LmVjYyA9IGdkNWZ4Z3E0eGFfb29ibGF5b3V0X2VjYywNCj4gKwkuZnJlZSA9IGdkNWZ4Z3E0eGFf b29ibGF5b3V0X2ZyZWUsDQo+ICt9Ow0KPiArDQo+ICAgc3RhdGljIGludCBnZDVmeGdxNHhhX2Vj Y19nZXRfc3RhdHVzKHN0cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCwNCj4gICAJCQkJCSB1 OCBzdGF0dXMpDQo+ICAgew0KPiBAQCAtODMsNyArMTAyLDcgQEAgc3RhdGljIGludCBnZDVmeGdx NHhhX2VjY19nZXRfc3RhdHVzKHN0cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCwNCj4gICAJ cmV0dXJuIC1FSU5WQUw7DQo+ICAgfQ0KPiAgIA0KPiAtc3RhdGljIGludCBnZDVmeGdxNHVleHhn X29vYmxheW91dF9lY2Moc3RydWN0IG10ZF9pbmZvICptdGQsIGludCBzZWN0aW9uLA0KPiArc3Rh dGljIGludCBnZDVmeGdxNF92YXJpYW50Ml9vb2JsYXlvdXRfZWNjKHN0cnVjdCBtdGRfaW5mbyAq bXRkLCBpbnQgc2VjdGlvbiwNCj4gICAJCQkJICAgICAgIHN0cnVjdCBtdGRfb29iX3JlZ2lvbiAq cmVnaW9uKQ0KPiAgIHsNCj4gICAJaWYgKHNlY3Rpb24pDQo+IEBAIC05NSw3ICsxMTQsNyBAQCBz dGF0aWMgaW50IGdkNWZ4Z3E0dWV4eGdfb29ibGF5b3V0X2VjYyhzdHJ1Y3QgbXRkX2luZm8gKm10 ZCwgaW50IHNlY3Rpb24sDQo+ICAgCXJldHVybiAwOw0KPiAgIH0NCj4gICANCj4gLXN0YXRpYyBp bnQgZ2Q1ZnhncTR1ZXh4Z19vb2JsYXlvdXRfZnJlZShzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgaW50 IHNlY3Rpb24sDQo+ICtzdGF0aWMgaW50IGdkNWZ4Z3E0X3ZhcmlhbnQyX29vYmxheW91dF9mcmVl KHN0cnVjdCBtdGRfaW5mbyAqbXRkLCBpbnQgc2VjdGlvbiwNCj4gICAJCQkJCXN0cnVjdCBtdGRf b29iX3JlZ2lvbiAqcmVnaW9uKQ0KPiAgIHsNCj4gICAJaWYgKHNlY3Rpb24pDQo+IEBAIC0xMDgs NiArMTI3LDExIEBAIHN0YXRpYyBpbnQgZ2Q1ZnhncTR1ZXh4Z19vb2JsYXlvdXRfZnJlZShzdHJ1 Y3QgbXRkX2luZm8gKm10ZCwgaW50IHNlY3Rpb24sDQo+ICAgCXJldHVybiAwOw0KPiAgIH0NCj4g ICANCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRkX29vYmxheW91dF9vcHMgZ2Q1ZnhncTRfdmFy aWFudDJfb29ibGF5b3V0ID0gew0KPiArCS5lY2MgPSBnZDVmeGdxNF92YXJpYW50Ml9vb2JsYXlv dXRfZWNjLA0KPiArCS5mcmVlID0gZ2Q1ZnhncTRfdmFyaWFudDJfb29ibGF5b3V0X2ZyZWUsDQo+ ICt9Ow0KPiArDQo+ICAgc3RhdGljIGludCBnZDVmeGdxNHVleHhnX2VjY19nZXRfc3RhdHVzKHN0 cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCwNCj4gICAJCQkJCXU4IHN0YXR1cykNCj4gICB7 DQo+IEBAIC0xNTAsMTUgKzE3NCwyNSBAQCBzdGF0aWMgaW50IGdkNWZ4Z3E0dWV4eGdfZWNjX2dl dF9zdGF0dXMoc3RydWN0IHNwaW5hbmRfZGV2aWNlICpzcGluYW5kLA0KPiAgIAlyZXR1cm4gLUVJ TlZBTDsNCj4gICB9DQo+ICAgDQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IG10ZF9vb2JsYXlvdXRf b3BzIGdkNWZ4Z3E0eGFfb29ibGF5b3V0ID0gew0KPiAtCS5lY2MgPSBnZDVmeGdxNHhhX29vYmxh eW91dF9lY2MsDQo+IC0JLmZyZWUgPSBnZDVmeGdxNHhhX29vYmxheW91dF9mcmVlLA0KPiAtfTsN Cj4gK3N0YXRpYyBpbnQgZ2Q1ZnhncTR1Znh4Z19lY2NfZ2V0X3N0YXR1cyhzdHJ1Y3Qgc3BpbmFu ZF9kZXZpY2UgKnNwaW5hbmQsDQo+ICsJCQkJCXU4IHN0YXR1cykNCj4gK3sNCj4gKwlzd2l0Y2gg KHN0YXR1cyAmIEdENUZYR1E0VVhGWFhHX1NUQVRVU19FQ0NfTUFTSykgew0KPiArCWNhc2UgR0Q1 RlhHUTRVWEZYWEdfU1RBVFVTX0VDQ19OT19CSVRGTElQUzoNCj4gKwkJcmV0dXJuIDA7DQo+ICAg DQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IG10ZF9vb2JsYXlvdXRfb3BzIGdkNWZ4Z3E0dWV4eGdf b29ibGF5b3V0ID0gew0KPiAtCS5lY2MgPSBnZDVmeGdxNHVleHhnX29vYmxheW91dF9lY2MsDQo+ IC0JLmZyZWUgPSBnZDVmeGdxNHVleHhnX29vYmxheW91dF9mcmVlLA0KPiAtfTsNCj4gKwljYXNl IEdENUZYR1E0VVhGWFhHX1NUQVRVU19FQ0NfMV8zX0JJVEZMSVBTOg0KPiArCQlyZXR1cm4gMzsN Cj4gKw0KPiArCWNhc2UgR0Q1RlhHUTRVWEZYWEdfU1RBVFVTX0VDQ19VTkNPUl9FUlJPUjoNCj4g KwkJcmV0dXJuIC1FQkFETVNHOw0KPiArDQo+ICsJZGVmYXVsdDogLyogKDIgPDwgNCkgdGhyb3Vn aCAoNiA8PCA0KSBhcmUgNC04IGNvcnJlY3RlZCBlcnJvcnMgKi8NCj4gKwkJcmV0dXJuICgoc3Rh dHVzICYgR0Q1RlhHUTRVWEZYWEdfU1RBVFVTX0VDQ19NQVNLKSA+PiA0KSArIDI7DQo+ICsJfQ0K PiArDQo+ICsJcmV0dXJuIC1FSU5WQUw7DQo+ICt9DQo+ICAgDQo+ICAgc3RhdGljIGNvbnN0IHN0 cnVjdCBzcGluYW5kX2luZm8gZ2lnYWRldmljZV9zcGluYW5kX3RhYmxlW10gPSB7DQo+ICAgCVNQ SU5BTkRfSU5GTygiR0Q1RjFHUTR4QSIsIDB4RjEsDQo+IEBAIC0xOTUsMjUgKzIyOSw0MCBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHNwaW5hbmRfaW5mbyBnaWdhZGV2aWNlX3NwaW5hbmRfdGFibGVb XSA9IHsNCj4gICAJCQkJCSAgICAgICZ3cml0ZV9jYWNoZV92YXJpYW50cywNCj4gICAJCQkJCSAg ICAgICZ1cGRhdGVfY2FjaGVfdmFyaWFudHMpLA0KPiAgIAkJICAgICAwLA0KPiAtCQkgICAgIFNQ SU5BTkRfRUNDSU5GTygmZ2Q1ZnhncTR1ZXh4Z19vb2JsYXlvdXQsDQo+ICsJCSAgICAgU1BJTkFO RF9FQ0NJTkZPKCZnZDVmeGdxNF92YXJpYW50Ml9vb2JsYXlvdXQsDQo+ICAgCQkJCSAgICAgZ2Q1 ZnhncTR1ZXh4Z19lY2NfZ2V0X3N0YXR1cykpLA0KPiArCVNQSU5BTkRfSU5GTygiR0Q1RjFHUTRV Rnh4RyIsIDB4YjE0OCwNCj4gKwkJICAgICBOQU5EX01FTU9SRygxLCAyMDQ4LCAxMjgsIDY0LCAx MDI0LCAyMCwgMSwgMSwgMSksDQo+ICsJCSAgICAgTkFORF9FQ0NSRVEoOCwgNTEyKSwNCj4gKwkJ ICAgICBTUElOQU5EX0lORk9fT1BfVkFSSUFOVFMoJnJlYWRfY2FjaGVfdmFyaWFudHNfZiwNCj4g KwkJCQkJICAgICAgJndyaXRlX2NhY2hlX3ZhcmlhbnRzLA0KPiArCQkJCQkgICAgICAmdXBkYXRl X2NhY2hlX3ZhcmlhbnRzKSwNCj4gKwkJICAgICAwLA0KPiArCQkgICAgIFNQSU5BTkRfRUNDSU5G TygmZ2Q1ZnhncTRfdmFyaWFudDJfb29ibGF5b3V0LA0KPiArCQkJCSAgICAgZ2Q1ZnhncTR1Znh4 Z19lY2NfZ2V0X3N0YXR1cykpLA0KPiAgIH07DQo+ICAgDQo+ICAgc3RhdGljIGludCBnaWdhZGV2 aWNlX3NwaW5hbmRfZGV0ZWN0KHN0cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCkNCj4gICB7 DQo+ICAgCXU4ICppZCA9IHNwaW5hbmQtPmlkLmRhdGE7DQo+ICsJdTE2IGRpZDsNCj4gICAJaW50 IHJldDsNCj4gICANCj4gICAJLyoNCj4gLQkgKiBGb3IgR0QgTkFORHMsIFRoZXJlIGlzIGFuIGFk ZHJlc3MgYnl0ZSBuZWVkZWQgdG8gc2hpZnQgaW4gYmVmb3JlIElEcw0KPiAtCSAqIGFyZSByZWFk IG91dCwgc28gdGhlIGZpcnN0IGJ5dGUgaW4gcmF3X2lkIGlzIGR1bW15Lg0KPiArCSAqIEVhcmxp ZXIgR0RGNS1zZXJpZXMgZGV2aWNlcyAoQSxFKSByZXR1cm4gWzBdW01JRF1bRElEXQ0KPiArCSAq IExhdGVyIChGKSBkZXZpY2VzIHJldHVybiBbTUlEXVtESUQxXVtESUQyXQ0KPiAgIAkgKi8NCj4g LQlpZiAoaWRbMV0gIT0gU1BJTkFORF9NRlJfR0lHQURFVklDRSkNCj4gKw0KPiArCWlmIChpZFsw XSA9PSBTUElOQU5EX01GUl9HSUdBREVWSUNFKQ0KPiArCQlkaWQgPSAoaWRbMV0gPDwgOCkgKyBp ZFsyXTsNCj4gKwllbHNlIGlmIChpZFswXSA9PSAwICYmIGlkWzFdID09IFNQSU5BTkRfTUZSX0dJ R0FERVZJQ0UpDQo+ICsJCWRpZCA9IGlkWzJdOw0KPiArCWVsc2UNCj4gICAJCXJldHVybiAwOw0K PiAgIA0KPiAgIAlyZXQgPSBzcGluYW5kX21hdGNoX2FuZF9pbml0KHNwaW5hbmQsIGdpZ2FkZXZp Y2Vfc3BpbmFuZF90YWJsZSwNCj4gICAJCQkJICAgICBBUlJBWV9TSVpFKGdpZ2FkZXZpY2Vfc3Bp bmFuZF90YWJsZSksDQo+IC0JCQkJICAgICBpZFsyXSk7DQo+ICsJCQkJICAgICBkaWQpOw0KPiAg IAlpZiAocmV0KQ0KPiAgIAkJcmV0dXJuIHJldDsNCj4gICANCj4g