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=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MIME_BASE64_TEXT,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT 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 27EF4C2D0C2 for ; Tue, 31 Dec 2019 13:42:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D49AF206E4 for ; Tue, 31 Dec 2019 13:42:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="A82eM1Cn" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727143AbfLaNmF (ORCPT ); Tue, 31 Dec 2019 08:42:05 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:3222 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726060AbfLaNmE (ORCPT ); Tue, 31 Dec 2019 08:42:04 -0500 X-UUID: 899694e97fd14460a93cd45b9705dc64-20191231 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=x++Akfe5JkRpAPh9IOfWBiqdOpZR4O4wmNvzoxS/MP0=; b=A82eM1CnU2B9PRysa/XMc7FtaaNwH6ir6Q3V8+/2AWvzYzz7zZ39eDhT7TvJBpUBQT2lhcWM86mL/VsflugwL3BDKf4Wkb6EZgRIXFefjmuikZCSW5CGHltISb3OCPwTNDL6VK1yEdEdWxIy0c7kIjweQQc78MfsY3A94pd2PVo=; X-UUID: 899694e97fd14460a93cd45b9705dc64-20191231 Received: from mtkcas06.mediatek.inc [(172.21.101.30)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 401010651; Tue, 31 Dec 2019 21:41:56 +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; Tue, 31 Dec 2019 21:41:04 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Tue, 31 Dec 2019 21:41:16 +0800 From: Light Hsieh To: CC: , , , , , Light Hsieh Subject: [PATCH v7 1/6] Check gpio pin number and use binary search in mtk_hw_pin_field_lookup() Date: Tue, 31 Dec 2019 21:41:42 +0800 Message-ID: <1577799707-11855-1-git-send-email-light.hsieh@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: 5207F01DB3CE30980E9CA3D8E90B387874F153407A88F81A4AAE3662A242D8AA2000: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 MS4gQ2hlY2sgaWYgZ3BpbyBwaW4gbnVtYmVyIGlzIGluIHZhbGlkIHJhbmdlIHRvIHByZXZlbnQg ZnJvbSBnZXQgaW52YWxpZA0KICAgcG9pbnRlciAnZGVzYycgaW4gdGhlIGZvbGxvd2luZyBjb2Rl Og0KCWRlc2MgPSAoY29uc3Qgc3RydWN0IG10a19waW5fZGVzYyAqKSZody0+c29jLT5waW5zW2dw aW9dOw0KDQoyLiBJbXByb3ZlICBtdGtfaHdfcGluX2ZpZWxkX2xvb2t1cCgpDQoyLjEgTW9kaWZ5 IG10a19od19waW5fZmllbGRfbG9va3VwKCkgdG8gdXNlIGJpbmFyeSBzZWFyY2ggZm9yIGFjY2Vs ZXJhdGluZw0KICAgICBzZWFyY2guDQoyLjIgQ29ycmVjdCBtZXNzYWdlIGFmdGVyIHRoZSBmb2xs b3dpbmcgY2hlY2sgZmFpbDoNCiAgICBpZiAoaHctPnNvYy0+cmVnX2NhbCAmJiBody0+c29jLT5y ZWdfY2FsW2ZpZWxkXS5yYW5nZSkgew0KCQlyYyA9ICZody0+c29jLT5yZWdfY2FsW2ZpZWxkXTsN CiAgICBUaGUgb3JpZ2luYWwgbWVzc2FnZSBpczoNCiAgICAJIk5vdCBzdXBwb3J0IGZpZWxkICVk IGZvciBwaW4gJWQgKCVzKVxuIg0KICAgIEhvd2V2ZXIsIHRoZSBjaGVjayBpcyBvbiBzb2MgY2hp cCBsZXZlbCwgbm90IG9uIHBpbiBsZXZlbCB5ZXQuDQogICAgU28gdGhlIG1lc3NhZ2UgaXMgY29y cmVjdGVkIGFzOg0KICAgIAkiTm90IHN1cHBvcnQgZmllbGQgJWQgZm9yIHRoaXMgc29jXG4iDQoN CkNoYW5nZS1JZDogSTQ5OGExOGRmNzNlNmE2OTNlMGUzNTYzNWQ1YjkyYjhkYzljMDYzYWMNCi0t LQ0KIGRyaXZlcnMvcGluY3RybC9tZWRpYXRlay9waW5jdHJsLW10ay1jb21tb24tdjIuYyB8IDI3 ICsrKysrKysrKysrKysrKysrKy0tLS0tLQ0KIGRyaXZlcnMvcGluY3RybC9tZWRpYXRlay9waW5j dHJsLXBhcmlzLmMgICAgICAgICB8IDI1ICsrKysrKysrKysrKysrKysrKysrKysNCiAyIGZpbGVz IGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQg YS9kcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvcGluY3RybC1tdGstY29tbW9uLXYyLmMgYi9kcml2 ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvcGluY3RybC1tdGstY29tbW9uLXYyLmMNCmluZGV4IDIwZTFj ODkuLmQ2M2UwNWUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvcGluY3Ry bC1tdGstY29tbW9uLXYyLmMNCisrKyBiL2RyaXZlcnMvcGluY3RybC9tZWRpYXRlay9waW5jdHJs LW10ay1jb21tb24tdjIuYw0KQEAgLTY4LDMyICs2OCw0NCBAQCBzdGF0aWMgaW50IG10a19od19w aW5fZmllbGRfbG9va3VwKHN0cnVjdCBtdGtfcGluY3RybCAqaHcsDQogew0KIAljb25zdCBzdHJ1 Y3QgbXRrX3Bpbl9maWVsZF9jYWxjICpjLCAqZTsNCiAJY29uc3Qgc3RydWN0IG10a19waW5fcmVn X2NhbGMgKnJjOw0KKwlpbnQgc3RhcnQgPSAwLCBlbmQsIGNoZWNrOw0KKwlib29sIGZvdW5kID0g ZmFsc2U7DQogCXUzMiBiaXRzOw0KIA0KIAlpZiAoaHctPnNvYy0+cmVnX2NhbCAmJiBody0+c29j LT5yZWdfY2FsW2ZpZWxkXS5yYW5nZSkgew0KIAkJcmMgPSAmaHctPnNvYy0+cmVnX2NhbFtmaWVs ZF07DQogCX0gZWxzZSB7DQogCQlkZXZfZGJnKGh3LT5kZXYsDQotCQkJIk5vdCBzdXBwb3J0IGZp ZWxkICVkIGZvciBwaW4gJWQgKCVzKVxuIiwNCi0JCQlmaWVsZCwgZGVzYy0+bnVtYmVyLCBkZXNj LT5uYW1lKTsNCisJCQkiTm90IHN1cHBvcnQgZmllbGQgJWQgZm9yIHRoaXMgc29jXG4iLCBmaWVs ZCk7DQogCQlyZXR1cm4gLUVOT1RTVVBQOw0KIAl9DQogDQorCWVuZCA9IHJjLT5ucmFuZ2VzIC0g MTsNCiAJYyA9IHJjLT5yYW5nZTsNCiAJZSA9IGMgKyByYy0+bnJhbmdlczsNCiANCi0Jd2hpbGUg KGMgPCBlKSB7DQotCQlpZiAoZGVzYy0+bnVtYmVyID49IGMtPnNfcGluICYmIGRlc2MtPm51bWJl ciA8PSBjLT5lX3BpbikNCisJd2hpbGUgKHN0YXJ0IDw9IGVuZCkgew0KKwkJY2hlY2sgPSAoc3Rh cnQgKyBlbmQpID4+IDE7DQorCQlpZiAoZGVzYy0+bnVtYmVyID49IHJjLT5yYW5nZVtjaGVja10u c19waW4NCisJCSAmJiBkZXNjLT5udW1iZXIgPD0gcmMtPnJhbmdlW2NoZWNrXS5lX3Bpbikgew0K KwkJCWZvdW5kID0gdHJ1ZTsNCisJCQlicmVhazsNCisJCX0gZWxzZSBpZiAoc3RhcnQgPT0gZW5k KQ0KIAkJCWJyZWFrOw0KLQkJYysrOw0KKwkJZWxzZSBpZiAoZGVzYy0+bnVtYmVyIDwgcmMtPnJh bmdlW2NoZWNrXS5zX3BpbikNCisJCQllbmQgPSBjaGVjayAtIDE7DQorCQllbHNlDQorCQkJc3Rh cnQgPSBjaGVjayArIDE7DQogCX0NCiANCi0JaWYgKGMgPj0gZSkgew0KKwlpZiAoIWZvdW5kKSB7 DQogCQlkZXZfZGJnKGh3LT5kZXYsICJOb3Qgc3VwcG9ydCBmaWVsZCAlZCBmb3IgcGluID0gJWQg KCVzKVxuIiwNCiAJCQlmaWVsZCwgZGVzYy0+bnVtYmVyLCBkZXNjLT5uYW1lKTsNCiAJCXJldHVy biAtRU5PVFNVUFA7DQogCX0NCiANCisJYyA9IHJjLT5yYW5nZSArIGNoZWNrOw0KKw0KIAlpZiAo Yy0+aV9iYXNlID4gaHctPm5iYXNlIC0gMSkgew0KIAkJZGV2X2Vycihody0+ZGV2LA0KIAkJCSJJ bnZhbGlkIGJhc2UgZm9yIGZpZWxkICVkIGZvciBwaW4gPSAlZCAoJXMpXG4iLA0KQEAgLTE4Miw2 ICsxOTQsOSBAQCBpbnQgbXRrX2h3X3NldF92YWx1ZShzdHJ1Y3QgbXRrX3BpbmN0cmwgKmh3LCBj b25zdCBzdHJ1Y3QgbXRrX3Bpbl9kZXNjICpkZXNjLA0KIAlpZiAoZXJyKQ0KIAkJcmV0dXJuIGVy cjsNCiANCisJaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IHBmLm1hc2spDQorCQlyZXR1cm4gLUVJ TlZBTDsNCisNCiAJaWYgKCFwZi5uZXh0KQ0KIAkJbXRrX3JtdyhodywgcGYuaW5kZXgsIHBmLm9m ZnNldCwgcGYubWFzayA8PCBwZi5iaXRwb3MsDQogCQkJKHZhbHVlICYgcGYubWFzaykgPDwgcGYu Yml0cG9zKTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BpbmN0cmwvbWVkaWF0ZWsvcGluY3RybC1w YXJpcy5jIGIvZHJpdmVycy9waW5jdHJsL21lZGlhdGVrL3BpbmN0cmwtcGFyaXMuYw0KaW5kZXgg OTIzMjY0ZC4uM2UxM2FlNyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvcGluY3RybC9tZWRpYXRlay9w aW5jdHJsLXBhcmlzLmMNCisrKyBiL2RyaXZlcnMvcGluY3RybC9tZWRpYXRlay9waW5jdHJsLXBh cmlzLmMNCkBAIC04MSw2ICs4MSw4IEBAIHN0YXRpYyBpbnQgbXRrX3BpbmNvbmZfZ2V0KHN0cnVj dCBwaW5jdHJsX2RldiAqcGN0bGRldiwNCiAJaW50IHZhbCwgdmFsMiwgZXJyLCByZWcsIHJldCA9 IDE7DQogCWNvbnN0IHN0cnVjdCBtdGtfcGluX2Rlc2MgKmRlc2M7DQogDQorCWlmIChwaW4gPj0g aHctPnNvYy0+bnBpbnMpDQorCQlyZXR1cm4gLUVJTlZBTDsNCiAJZGVzYyA9IChjb25zdCBzdHJ1 Y3QgbXRrX3Bpbl9kZXNjICopJmh3LT5zb2MtPnBpbnNbcGluXTsNCiANCiAJc3dpdGNoIChwYXJh bSkgew0KQEAgLTIwNiw2ICsyMDgsMTAgQEAgc3RhdGljIGludCBtdGtfcGluY29uZl9zZXQoc3Ry dWN0IHBpbmN0cmxfZGV2ICpwY3RsZGV2LCB1bnNpZ25lZCBpbnQgcGluLA0KIAlpbnQgZXJyID0g MDsNCiAJdTMyIHJlZzsNCiANCisJaWYgKHBpbiA+PSBody0+c29jLT5ucGlucykgew0KKwkJZXJy ID0gLUVJTlZBTDsNCisJCWdvdG8gZXJyOw0KKwl9DQogCWRlc2MgPSAoY29uc3Qgc3RydWN0IG10 a19waW5fZGVzYyAqKSZody0+c29jLT5waW5zW3Bpbl07DQogDQogCXN3aXRjaCAoKHUzMilwYXJh bSkgew0KQEAgLTY5Myw2ICs2OTksOSBAQCBzdGF0aWMgaW50IG10a19ncGlvX2dldF9kaXJlY3Rp b24oc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgaW50IGdwaW8pDQogCWNvbnN0IHN0 cnVjdCBtdGtfcGluX2Rlc2MgKmRlc2M7DQogCWludCB2YWx1ZSwgZXJyOw0KIA0KKwlpZiAoZ3Bp byA+IGh3LT5zb2MtPm5waW5zKQ0KKwkJcmV0dXJuIC1FSU5WQUw7DQorDQogCWRlc2MgPSAoY29u c3Qgc3RydWN0IG10a19waW5fZGVzYyAqKSZody0+c29jLT5waW5zW2dwaW9dOw0KIA0KIAllcnIg PSBtdGtfaHdfZ2V0X3ZhbHVlKGh3LCBkZXNjLCBQSU5DVFJMX1BJTl9SRUdfRElSLCAmdmFsdWUp Ow0KQEAgLTcwOCw2ICs3MTcsOSBAQCBzdGF0aWMgaW50IG10a19ncGlvX2dldChzdHJ1Y3QgZ3Bp b19jaGlwICpjaGlwLCB1bnNpZ25lZCBpbnQgZ3BpbykNCiAJY29uc3Qgc3RydWN0IG10a19waW5f ZGVzYyAqZGVzYzsNCiAJaW50IHZhbHVlLCBlcnI7DQogDQorCWlmIChncGlvID4gaHctPnNvYy0+ bnBpbnMpDQorCQlyZXR1cm4gLUVJTlZBTDsNCisNCiAJZGVzYyA9IChjb25zdCBzdHJ1Y3QgbXRr X3Bpbl9kZXNjICopJmh3LT5zb2MtPnBpbnNbZ3Bpb107DQogDQogCWVyciA9IG10a19od19nZXRf dmFsdWUoaHcsIGRlc2MsIFBJTkNUUkxfUElOX1JFR19ESSwgJnZhbHVlKTsNCkBAIC03MjIsNiAr NzM0LDkgQEAgc3RhdGljIHZvaWQgbXRrX2dwaW9fc2V0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAs IHVuc2lnbmVkIGludCBncGlvLCBpbnQgdmFsdWUpDQogCXN0cnVjdCBtdGtfcGluY3RybCAqaHcg PSBncGlvY2hpcF9nZXRfZGF0YShjaGlwKTsNCiAJY29uc3Qgc3RydWN0IG10a19waW5fZGVzYyAq ZGVzYzsNCiANCisJaWYgKGdwaW8gPiBody0+c29jLT5ucGlucykNCisJCXJldHVybjsNCisNCiAJ ZGVzYyA9IChjb25zdCBzdHJ1Y3QgbXRrX3Bpbl9kZXNjICopJmh3LT5zb2MtPnBpbnNbZ3Bpb107 DQogDQogCW10a19od19zZXRfdmFsdWUoaHcsIGRlc2MsIFBJTkNUUkxfUElOX1JFR19ETywgISF2 YWx1ZSk7DQpAQCAtNzI5LDEyICs3NDQsMjIgQEAgc3RhdGljIHZvaWQgbXRrX2dwaW9fc2V0KHN0 cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIGludCBncGlvLCBpbnQgdmFsdWUpDQogDQog c3RhdGljIGludCBtdGtfZ3Bpb19kaXJlY3Rpb25faW5wdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hp cCwgdW5zaWduZWQgaW50IGdwaW8pDQogew0KKwlzdHJ1Y3QgbXRrX3BpbmN0cmwgKmh3ID0gZ3Bp b2NoaXBfZ2V0X2RhdGEoY2hpcCk7DQorDQorCWlmIChncGlvID4gaHctPnNvYy0+bnBpbnMpDQor CQlyZXR1cm4gLUVJTlZBTDsNCisNCiAJcmV0dXJuIHBpbmN0cmxfZ3Bpb19kaXJlY3Rpb25faW5w dXQoY2hpcC0+YmFzZSArIGdwaW8pOw0KIH0NCiANCiBzdGF0aWMgaW50IG10a19ncGlvX2RpcmVj dGlvbl9vdXRwdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgaW50IGdwaW8sDQog CQkJCSAgICAgaW50IHZhbHVlKQ0KIHsNCisJc3RydWN0IG10a19waW5jdHJsICpodyA9IGdwaW9j aGlwX2dldF9kYXRhKGNoaXApOw0KKw0KKwlpZiAoZ3BpbyA+IGh3LT5zb2MtPm5waW5zKQ0KKwkJ cmV0dXJuIC1FSU5WQUw7DQorDQogCW10a19ncGlvX3NldChjaGlwLCBncGlvLCB2YWx1ZSk7DQog DQogCXJldHVybiBwaW5jdHJsX2dwaW9fZGlyZWN0aW9uX291dHB1dChjaGlwLT5iYXNlICsgZ3Bp byk7DQotLSANCjEuOC4xLjEuZGlydHkNCg==