Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp4521091ybl; Tue, 21 Jan 2020 23:00:19 -0800 (PST) X-Google-Smtp-Source: APXvYqyX66Lp9KzoQ75b4wRJP4/MJQhNqQAb1mFTQbbeN3/HY/GYrfmIWnOjdUKJaRbxocddyJot X-Received: by 2002:aca:530e:: with SMTP id h14mr5684332oib.105.1579676419852; Tue, 21 Jan 2020 23:00:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579676419; cv=none; d=google.com; s=arc-20160816; b=NKAcWzBQIqVEojZQHRF36GhTrtdnZcdYM0lcuOdU83PbZrXrf/Yp5jEc5LXLe/kMsq LojjP+wb9BjA1A3FBQ6P2OvDeDFItp75EYGOu8rB8SY0re+ueSWD0EKUMQWI884Elm0r NZUJG6mL1U/WmwEwAvhrdlM2NlQJeNdTf6ZGKVJlzWJ1I/a++5hnM3FqIUzOGh6T2pwy YqX7S5U5E3cn73j2mVqFLdrImiaAM8Ta+XzlcOVwKZjxiiIuVPOVDaWm1ElvdnaTV0pU nfwMuuR7wK907LqySeCq/skxTnG7Xj1TBBGf++hhj+q4LiWJbQtgx4wcN72VC5lKUDLd 7GTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :dkim-signature; bh=GRsQHG2UW7ExUwyCqlnHyUQGZcc4c4EbdkXqtuntFu0=; b=KFXGNJthUU7fObmt6ZU18UOBlGGAxdjVZxEmRzBkisSXlPSWfTN/xHaQfioa6Xmrvd UKffCCpx9fk94epzRFfmoiVimq/6DaVpRCcMto6kjVV4iEXAQdqg5VYKABhM+knnmFOR Ro/OFnYLV9z0tZmhxuNUt1900b+uygW3ZZQMS81eyZUtIEAd1WJvoUBpFuGVnDSdtSpk ggCpGlwGC5JEKD6hEWr3mEL2dyQ6pNZZoXChTLKuXiNQuYRebzYLX6wsw840jJr6E2ya LGrqm+lkqMWcEvndbjimD9SQXzY9Xjx4NvwgKAfbdZaQAyvzY0AmDhr2bFRgaL4ldI+m BM4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b="j/XE19HH"; 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=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d192si20810465oig.21.2020.01.21.23.00.07; Tue, 21 Jan 2020 23:00:19 -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; dkim=pass header.i=@mediatek.com header.s=dk header.b="j/XE19HH"; 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=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727847AbgAVG7I (ORCPT + 99 others); Wed, 22 Jan 2020 01:59:08 -0500 Received: from mailgw02.mediatek.com ([210.61.82.184]:44803 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725877AbgAVG7I (ORCPT ); Wed, 22 Jan 2020 01:59:08 -0500 X-UUID: 407b7478ba2f41cabd204b610ad5f5b7-20200122 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=GRsQHG2UW7ExUwyCqlnHyUQGZcc4c4EbdkXqtuntFu0=; b=j/XE19HH/WzVafIO0jDYbcs6zVqCmYlgb7sIA4++fidRE1qCTbKSz/terwGyztHAY+FT/02WYNiyzlsGVVrGBQ0mk+5GLWTKd40CaW2vQWW2zLpgRimj7LC9vdScipXvPkfcRwIc4OgQvI6uRoxH9R3f9BCuIrUNAXk8fTVGB/E=; X-UUID: 407b7478ba2f41cabd204b610ad5f5b7-20200122 Received: from mtkcas06.mediatek.inc [(172.21.101.30)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 2108052524; Wed, 22 Jan 2020 14:59:00 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs02n2.mediatek.inc (172.21.101.101) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 22 Jan 2020 14:57:55 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 22 Jan 2020 14:57:40 +0800 Message-ID: <1579676338.8913.0.camel@mtkswgap22> Subject: Re: [PATCH v8 1/6] pinctrl: mediatek: Check gpio pin number and use binary search in mtk_hw_pin_field_lookup() From: Light Hsieh To: CC: , , , , Date: Wed, 22 Jan 2020 14:58:58 +0800 In-Reply-To: <1579675994-7001-1-git-send-email-light.hsieh@mediatek.com> References: <1579675994-7001-1-git-send-email-light.hsieh@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-TM-SNTS-SMTP: 87851F59C06D535B4951196599F47F7CB695762265F0885F010414EFD75320E52000:8 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RGVhciBTZWFuLA0KDQoJVjggdXBsb2FkZWQgYWNjb3JkaW5nIHRvIHlvdXIgcmV2aWV3IGNvbW1l bnQgb24gVjcuDQoJUGxlYXNlIHRha2UgdGltZSB0byByZXZpZXcuIFRoYW5rcy4NCg0KTGlnaHQN Cg0KDQpPbiBXZWQsIDIwMjAtMDEtMjIgYXQgMTQ6NTMgKzA4MDAsIGxpZ2h0LmhzaWVoQG1lZGlh dGVrLmNvbSB3cm90ZToNCj4gRnJvbTogTGlnaHQgSHNpZWggPGxpZ2h0LmhzaWVoQG1lZGlhdGVr LmNvbT4NCj4gDQo+IDEuIENoZWNrIGlmIGdwaW8gcGluIG51bWJlciBpcyBpbiB2YWxpZCByYW5n ZSB0byBwcmV2ZW50IGZyb20gZ2V0IGludmFsaWQNCj4gICAgcG9pbnRlciAnZGVzYycgaW4gdGhl IGZvbGxvd2luZyBjb2RlOg0KPiAJZGVzYyA9IChjb25zdCBzdHJ1Y3QgbXRrX3Bpbl9kZXNjICop Jmh3LT5zb2MtPnBpbnNbZ3Bpb107DQo+IA0KPiAyLiBJbXByb3ZlICBtdGtfaHdfcGluX2ZpZWxk X2xvb2t1cCgpDQo+IDIuMSBNb2RpZnkgbXRrX2h3X3Bpbl9maWVsZF9sb29rdXAoKSB0byB1c2Ug YmluYXJ5IHNlYXJjaCBmb3IgYWNjZWxlcmF0aW5nDQo+ICAgICAgc2VhcmNoLg0KPiAyLjIgQ29y cmVjdCBtZXNzYWdlIGFmdGVyIHRoZSBmb2xsb3dpbmcgY2hlY2sgZmFpbDoNCj4gICAgIGlmICho dy0+c29jLT5yZWdfY2FsICYmIGh3LT5zb2MtPnJlZ19jYWxbZmllbGRdLnJhbmdlKSB7DQo+IAkJ cmMgPSAmaHctPnNvYy0+cmVnX2NhbFtmaWVsZF07DQo+ICAgICBUaGUgb3JpZ2luYWwgbWVzc2Fn ZSBpczoNCj4gICAgIAkiTm90IHN1cHBvcnQgZmllbGQgJWQgZm9yIHBpbiAlZCAoJXMpXG4iDQo+ ICAgICBIb3dldmVyLCB0aGUgY2hlY2sgaXMgb24gc29jIGNoaXAgbGV2ZWwsIG5vdCBvbiBwaW4g bGV2ZWwgeWV0Lg0KPiAgICAgU28gdGhlIG1lc3NhZ2UgaXMgY29ycmVjdGVkIGFzOg0KPiAgICAg CSJOb3Qgc3VwcG9ydCBmaWVsZCAlZCBmb3IgdGhpcyBzb2NcbiINCj4gDQo+IFNpZ25lZC1vZmYt Ynk6IExpZ2h0IEhzaWVoIDxsaWdodC5oc2llaEBtZWRpYXRlay5jb20+DQo+IC0tLQ0KPiAgZHJp dmVycy9waW5jdHJsL21lZGlhdGVrL3BpbmN0cmwtbXRrLWNvbW1vbi12Mi5jIHwgMjcgKysrKysr KysrKysrKysrKysrLS0tLS0tDQo+ICBkcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvcGluY3RybC1w YXJpcy5jICAgICAgICAgfCAyNSArKysrKysrKysrKysrKysrKysrKysrDQo+ICAyIGZpbGVzIGNo YW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9waW5jdHJsL21lZGlhdGVrL3BpbmN0cmwtbXRrLWNvbW1vbi12Mi5jIGIvZHJp dmVycy9waW5jdHJsL21lZGlhdGVrL3BpbmN0cmwtbXRrLWNvbW1vbi12Mi5jDQo+IGluZGV4IDIw ZTFjODkuLmQ2M2UwNWUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvcGluY3RybC9tZWRpYXRlay9w aW5jdHJsLW10ay1jb21tb24tdjIuYw0KPiArKysgYi9kcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsv cGluY3RybC1tdGstY29tbW9uLXYyLmMNCj4gQEAgLTY4LDMyICs2OCw0NCBAQCBzdGF0aWMgaW50 IG10a19od19waW5fZmllbGRfbG9va3VwKHN0cnVjdCBtdGtfcGluY3RybCAqaHcsDQo+ICB7DQo+ ICAJY29uc3Qgc3RydWN0IG10a19waW5fZmllbGRfY2FsYyAqYywgKmU7DQo+ICAJY29uc3Qgc3Ry dWN0IG10a19waW5fcmVnX2NhbGMgKnJjOw0KPiArCWludCBzdGFydCA9IDAsIGVuZCwgY2hlY2s7 DQo+ICsJYm9vbCBmb3VuZCA9IGZhbHNlOw0KPiAgCXUzMiBiaXRzOw0KPiAgDQo+ICAJaWYgKGh3 LT5zb2MtPnJlZ19jYWwgJiYgaHctPnNvYy0+cmVnX2NhbFtmaWVsZF0ucmFuZ2UpIHsNCj4gIAkJ cmMgPSAmaHctPnNvYy0+cmVnX2NhbFtmaWVsZF07DQo+ICAJfSBlbHNlIHsNCj4gIAkJZGV2X2Ri Zyhody0+ZGV2LA0KPiAtCQkJIk5vdCBzdXBwb3J0IGZpZWxkICVkIGZvciBwaW4gJWQgKCVzKVxu IiwNCj4gLQkJCWZpZWxkLCBkZXNjLT5udW1iZXIsIGRlc2MtPm5hbWUpOw0KPiArCQkJIk5vdCBz dXBwb3J0IGZpZWxkICVkIGZvciB0aGlzIHNvY1xuIiwgZmllbGQpOw0KPiAgCQlyZXR1cm4gLUVO T1RTVVBQOw0KPiAgCX0NCj4gIA0KPiArCWVuZCA9IHJjLT5ucmFuZ2VzIC0gMTsNCj4gIAljID0g cmMtPnJhbmdlOw0KPiAgCWUgPSBjICsgcmMtPm5yYW5nZXM7DQo+ICANCj4gLQl3aGlsZSAoYyA8 IGUpIHsNCj4gLQkJaWYgKGRlc2MtPm51bWJlciA+PSBjLT5zX3BpbiAmJiBkZXNjLT5udW1iZXIg PD0gYy0+ZV9waW4pDQo+ICsJd2hpbGUgKHN0YXJ0IDw9IGVuZCkgew0KPiArCQljaGVjayA9IChz dGFydCArIGVuZCkgPj4gMTsNCj4gKwkJaWYgKGRlc2MtPm51bWJlciA+PSByYy0+cmFuZ2VbY2hl Y2tdLnNfcGluDQo+ICsJCSAmJiBkZXNjLT5udW1iZXIgPD0gcmMtPnJhbmdlW2NoZWNrXS5lX3Bp bikgew0KPiArCQkJZm91bmQgPSB0cnVlOw0KPiArCQkJYnJlYWs7DQo+ICsJCX0gZWxzZSBpZiAo c3RhcnQgPT0gZW5kKQ0KPiAgCQkJYnJlYWs7DQo+IC0JCWMrKzsNCj4gKwkJZWxzZSBpZiAoZGVz Yy0+bnVtYmVyIDwgcmMtPnJhbmdlW2NoZWNrXS5zX3BpbikNCj4gKwkJCWVuZCA9IGNoZWNrIC0g MTsNCj4gKwkJZWxzZQ0KPiArCQkJc3RhcnQgPSBjaGVjayArIDE7DQo+ICAJfQ0KPiAgDQo+IC0J aWYgKGMgPj0gZSkgew0KPiArCWlmICghZm91bmQpIHsNCj4gIAkJZGV2X2RiZyhody0+ZGV2LCAi Tm90IHN1cHBvcnQgZmllbGQgJWQgZm9yIHBpbiA9ICVkICglcylcbiIsDQo+ICAJCQlmaWVsZCwg ZGVzYy0+bnVtYmVyLCBkZXNjLT5uYW1lKTsNCj4gIAkJcmV0dXJuIC1FTk9UU1VQUDsNCj4gIAl9 DQo+ICANCj4gKwljID0gcmMtPnJhbmdlICsgY2hlY2s7DQo+ICsNCj4gIAlpZiAoYy0+aV9iYXNl ID4gaHctPm5iYXNlIC0gMSkgew0KPiAgCQlkZXZfZXJyKGh3LT5kZXYsDQo+ICAJCQkiSW52YWxp ZCBiYXNlIGZvciBmaWVsZCAlZCBmb3IgcGluID0gJWQgKCVzKVxuIiwNCj4gQEAgLTE4Miw2ICsx OTQsOSBAQCBpbnQgbXRrX2h3X3NldF92YWx1ZShzdHJ1Y3QgbXRrX3BpbmN0cmwgKmh3LCBjb25z dCBzdHJ1Y3QgbXRrX3Bpbl9kZXNjICpkZXNjLA0KPiAgCWlmIChlcnIpDQo+ICAJCXJldHVybiBl cnI7DQo+ICANCj4gKwlpZiAodmFsdWUgPCAwIHx8IHZhbHVlID4gcGYubWFzaykNCj4gKwkJcmV0 dXJuIC1FSU5WQUw7DQo+ICsNCj4gIAlpZiAoIXBmLm5leHQpDQo+ICAJCW10a19ybXcoaHcsIHBm LmluZGV4LCBwZi5vZmZzZXQsIHBmLm1hc2sgPDwgcGYuYml0cG9zLA0KPiAgCQkJKHZhbHVlICYg cGYubWFzaykgPDwgcGYuYml0cG9zKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGluY3RybC9t ZWRpYXRlay9waW5jdHJsLXBhcmlzLmMgYi9kcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvcGluY3Ry bC1wYXJpcy5jDQo+IGluZGV4IDkyMzI2NGQuLjNlMTNhZTcgMTAwNjQ0DQo+IC0tLSBhL2RyaXZl cnMvcGluY3RybC9tZWRpYXRlay9waW5jdHJsLXBhcmlzLmMNCj4gKysrIGIvZHJpdmVycy9waW5j dHJsL21lZGlhdGVrL3BpbmN0cmwtcGFyaXMuYw0KPiBAQCAtODEsNiArODEsOCBAQCBzdGF0aWMg aW50IG10a19waW5jb25mX2dldChzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYsDQo+ICAJaW50 IHZhbCwgdmFsMiwgZXJyLCByZWcsIHJldCA9IDE7DQo+ICAJY29uc3Qgc3RydWN0IG10a19waW5f ZGVzYyAqZGVzYzsNCj4gIA0KPiArCWlmIChwaW4gPj0gaHctPnNvYy0+bnBpbnMpDQo+ICsJCXJl dHVybiAtRUlOVkFMOw0KPiAgCWRlc2MgPSAoY29uc3Qgc3RydWN0IG10a19waW5fZGVzYyAqKSZo dy0+c29jLT5waW5zW3Bpbl07DQo+ICANCj4gIAlzd2l0Y2ggKHBhcmFtKSB7DQo+IEBAIC0yMDYs NiArMjA4LDEwIEBAIHN0YXRpYyBpbnQgbXRrX3BpbmNvbmZfc2V0KHN0cnVjdCBwaW5jdHJsX2Rl diAqcGN0bGRldiwgdW5zaWduZWQgaW50IHBpbiwNCj4gIAlpbnQgZXJyID0gMDsNCj4gIAl1MzIg cmVnOw0KPiAgDQo+ICsJaWYgKHBpbiA+PSBody0+c29jLT5ucGlucykgew0KPiArCQllcnIgPSAt RUlOVkFMOw0KPiArCQlnb3RvIGVycjsNCj4gKwl9DQo+ICAJZGVzYyA9IChjb25zdCBzdHJ1Y3Qg bXRrX3Bpbl9kZXNjICopJmh3LT5zb2MtPnBpbnNbcGluXTsNCj4gIA0KPiAgCXN3aXRjaCAoKHUz MilwYXJhbSkgew0KPiBAQCAtNjkzLDYgKzY5OSw5IEBAIHN0YXRpYyBpbnQgbXRrX2dwaW9fZ2V0 X2RpcmVjdGlvbihzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLCB1bnNpZ25lZCBpbnQgZ3BpbykNCj4g IAljb25zdCBzdHJ1Y3QgbXRrX3Bpbl9kZXNjICpkZXNjOw0KPiAgCWludCB2YWx1ZSwgZXJyOw0K PiAgDQo+ICsJaWYgKGdwaW8gPiBody0+c29jLT5ucGlucykNCj4gKwkJcmV0dXJuIC1FSU5WQUw7 DQo+ICsNCj4gIAlkZXNjID0gKGNvbnN0IHN0cnVjdCBtdGtfcGluX2Rlc2MgKikmaHctPnNvYy0+ cGluc1tncGlvXTsNCj4gIA0KPiAgCWVyciA9IG10a19od19nZXRfdmFsdWUoaHcsIGRlc2MsIFBJ TkNUUkxfUElOX1JFR19ESVIsICZ2YWx1ZSk7DQo+IEBAIC03MDgsNiArNzE3LDkgQEAgc3RhdGlj IGludCBtdGtfZ3Bpb19nZXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgaW50IGdw aW8pDQo+ICAJY29uc3Qgc3RydWN0IG10a19waW5fZGVzYyAqZGVzYzsNCj4gIAlpbnQgdmFsdWUs IGVycjsNCj4gIA0KPiArCWlmIChncGlvID4gaHctPnNvYy0+bnBpbnMpDQo+ICsJCXJldHVybiAt RUlOVkFMOw0KPiArDQo+ICAJZGVzYyA9IChjb25zdCBzdHJ1Y3QgbXRrX3Bpbl9kZXNjICopJmh3 LT5zb2MtPnBpbnNbZ3Bpb107DQo+ICANCj4gIAllcnIgPSBtdGtfaHdfZ2V0X3ZhbHVlKGh3LCBk ZXNjLCBQSU5DVFJMX1BJTl9SRUdfREksICZ2YWx1ZSk7DQo+IEBAIC03MjIsNiArNzM0LDkgQEAg c3RhdGljIHZvaWQgbXRrX2dwaW9fc2V0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVk IGludCBncGlvLCBpbnQgdmFsdWUpDQo+ICAJc3RydWN0IG10a19waW5jdHJsICpodyA9IGdwaW9j aGlwX2dldF9kYXRhKGNoaXApOw0KPiAgCWNvbnN0IHN0cnVjdCBtdGtfcGluX2Rlc2MgKmRlc2M7 DQo+ICANCj4gKwlpZiAoZ3BpbyA+IGh3LT5zb2MtPm5waW5zKQ0KPiArCQlyZXR1cm47DQo+ICsN Cj4gIAlkZXNjID0gKGNvbnN0IHN0cnVjdCBtdGtfcGluX2Rlc2MgKikmaHctPnNvYy0+cGluc1tn cGlvXTsNCj4gIA0KPiAgCW10a19od19zZXRfdmFsdWUoaHcsIGRlc2MsIFBJTkNUUkxfUElOX1JF R19ETywgISF2YWx1ZSk7DQo+IEBAIC03MjksMTIgKzc0NCwyMiBAQCBzdGF0aWMgdm9pZCBtdGtf Z3Bpb19zZXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgaW50IGdwaW8sIGludCB2 YWx1ZSkNCj4gIA0KPiAgc3RhdGljIGludCBtdGtfZ3Bpb19kaXJlY3Rpb25faW5wdXQoc3RydWN0 IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgaW50IGdwaW8pDQo+ICB7DQo+ICsJc3RydWN0IG10 a19waW5jdHJsICpodyA9IGdwaW9jaGlwX2dldF9kYXRhKGNoaXApOw0KPiArDQo+ICsJaWYgKGdw aW8gPiBody0+c29jLT5ucGlucykNCj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gIAlyZXR1 cm4gcGluY3RybF9ncGlvX2RpcmVjdGlvbl9pbnB1dChjaGlwLT5iYXNlICsgZ3Bpbyk7DQo+ICB9 DQo+ICANCj4gIHN0YXRpYyBpbnQgbXRrX2dwaW9fZGlyZWN0aW9uX291dHB1dChzdHJ1Y3QgZ3Bp b19jaGlwICpjaGlwLCB1bnNpZ25lZCBpbnQgZ3BpbywNCj4gIAkJCQkgICAgIGludCB2YWx1ZSkN Cj4gIHsNCj4gKwlzdHJ1Y3QgbXRrX3BpbmN0cmwgKmh3ID0gZ3Bpb2NoaXBfZ2V0X2RhdGEoY2hp cCk7DQo+ICsNCj4gKwlpZiAoZ3BpbyA+IGh3LT5zb2MtPm5waW5zKQ0KPiArCQlyZXR1cm4gLUVJ TlZBTDsNCj4gKw0KPiAgCW10a19ncGlvX3NldChjaGlwLCBncGlvLCB2YWx1ZSk7DQo+ICANCj4g IAlyZXR1cm4gcGluY3RybF9ncGlvX2RpcmVjdGlvbl9vdXRwdXQoY2hpcC0+YmFzZSArIGdwaW8p Ow0KDQo=