Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp1997869imm; Wed, 16 May 2018 06:25:11 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpt7xFEtxEoO8BKOFUDH06veVKP3iXKmjjJPHccgLcvGZvBsYMMRgXLBL2hN/ChB1s7NfWF X-Received: by 2002:a65:5647:: with SMTP id m7-v6mr729498pgs.177.1526477111280; Wed, 16 May 2018 06:25:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526477111; cv=none; d=google.com; s=arc-20160816; b=KqJSPMiCKaU/IaL7vV6GK+F9bGcgNXxS1bIOPrpTNbZH2zqxe4VxKaAS1ISIygqy+0 K6YmvHXvqetbZdVyhLcSrGfTZTfIXDNjJCF2hv90Qnz65wt4n1TuYYehfjt0bnEfxf82 XLGzKKtTIgn5hiBD+gLZX28UlRgyizT+LHZXnlpnv2lmq2ThEhz5CR0fUSOn6slKyEEP FQJkXcZsKosuICzO1A+fSXxzrZDLz7xPV+CUhAyMZdZnFRps/ZApaQwiYgoOKcv06dLY TlDAkWpHoIx3wc9gp1HZD0oAOSysyefCEySCzzgMm1qTaxpthrRdWQ+g7w3q1IGoK+Ja 9bow== 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-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=L6rTBmcqOKvjZS2ZnQF93/FDC9sYvr4dlw88OkUr4nM=; b=h/2gJ1qYZeqVu+Xd8vSI15P2JAmRs9QvzODjUPW5YtSY+Y6NsZnvNdZ93irn6hB1sF NGJ4vNg3zPcxMKB56N93Tbf+lhhtIx/AobQWVhAAN7RN9EAkhtdew7uYQlu9zqL7/Kmk Q3yUngEet4CQyd/n1u+v50o1ks0Y4uh5ud2egGUBSopMJu4J3u/wTk3/gnm/kE/+0ffF /uJEKndlNnkpAJoyTmEeeZ40dVruOQg8mGx9qa/wx0mHxVTUPYi1SHHz2Ugrxfmu/04F rmLd/GdDymtEC+aMJ/9fRbo0dGVkO8P4qTZngbUk30Wk3R+4pt26FvZI0fuE2WgPbB/L yOwQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@de.bosch.com header.s=2015-01-21 header.b=QanWJX26; 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=fail (p=NONE sp=NONE dis=NONE) header.from=de.bosch.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n6-v6si2573645pla.12.2018.05.16.06.24.56; Wed, 16 May 2018 06:25:11 -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; dkim=fail header.i=@de.bosch.com header.s=2015-01-21 header.b=QanWJX26; 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=fail (p=NONE sp=NONE dis=NONE) header.from=de.bosch.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752449AbeEPNY3 (ORCPT + 99 others); Wed, 16 May 2018 09:24:29 -0400 Received: from de-out1.bosch-org.com ([139.15.230.186]:41328 "EHLO de-out1.bosch-org.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751151AbeEPNY0 (ORCPT ); Wed, 16 May 2018 09:24:26 -0400 Received: from fe0vm1649.rbesz01.com (unknown [139.15.230.188]) by fe0vms0187.rbdmz01.com (Postfix) with ESMTPS id 40mFX85Rhlz1XLFZK; Wed, 16 May 2018 15:24:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=de.bosch.com; s=2015-01-21; t=1526477064; bh=lxwzVb4ItPUAugAd8yMWdkl0E573IQ/R4foefv0u3Ks=; l=10; h=From:From:Reply-To:Sender; b=QanWJX26hn1YTYAck9hYc1xXdPn8t5a9vkFukAGgGp+KoS5Rc1ARY9uCIxC0iJKhX KhMkQeYU0hvshj4fGyTmw4mCL5sA/nCINx4pmeglxCBp3lVypafkDPlUyqW8D/ua4A LJeT1vfdA6B1o41xkKs5MBbEXqpqlUmsg9ht1Fcs= Received: from si0vm2082.rbesz01.com (unknown [10.58.172.176]) by fe0vm1649.rbesz01.com (Postfix) with ESMTP id 40mFX85292z2P; Wed, 16 May 2018 15:24:24 +0200 (CEST) X-AuditID: 0a3aad16-be7ff70000000413-5f-5afc31062677 Received: from fe0vm1651.rbesz01.com ( [10.58.173.29]) (using TLS with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by si0vm2082.rbesz01.com (SMG Outbound) with SMTP id E7.35.01043.6013CFA5; Wed, 16 May 2018 15:24:22 +0200 (CEST) Received: from FE-MBX2051.de.bosch.com (fe-mbx2051.de.bosch.com [10.3.231.61]) by fe0vm1651.rbesz01.com (Postfix) with ESMTPS id 40mFX832H4zFNDm; Wed, 16 May 2018 15:24:24 +0200 (CEST) Received: from FE-MBX2051.de.bosch.com (10.3.231.61) by FE-MBX2051.de.bosch.com (10.3.231.61) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1466.3; Wed, 16 May 2018 15:24:24 +0200 Received: from FE-MBX2051.de.bosch.com ([fe80::d5b5:44fa:ef15:153e]) by FE-MBX2051.de.bosch.com ([fe80::d5b5:44fa:ef15:153e%6]) with mapi id 15.01.1466.008; Wed, 16 May 2018 15:24:24 +0200 From: "Jonas Mark (BT-FIR/ENG1)" To: Andy Shevchenko CC: Dmitry Torokhov , Rob Herring , Mark Rutland , linux-input , devicetree , "Linux Kernel Mailing List" , Heiko Schocher , "ZHU Yi (BT-FIR/ENG1-Zhu)" , "Jonas Mark (BT-FIR/ENG1)" Subject: AW: [PATCH v3] Input: add bu21029 touch driver Thread-Topic: [PATCH v3] Input: add bu21029 touch driver Thread-Index: AQHT6TN1hReU6D2Y4UWjnT8atFgViaQtoUiAgAS+JAA= Date: Wed, 16 May 2018 13:24:24 +0000 Message-ID: References: <1521651874-15379-1-git-send-email-mark.jonas@de.bosch.com> <1526048528-3613-1-git-send-email-mark.jonas@de.bosch.com> In-Reply-To: Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.19.142.147] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA22TbUxbZRTHeXr7ciFcfLil5VClW+80TueggNMKRBdjTBdJtiVqQk3UMq7Q 2BbSCwTIPmxTN94kS2GkFALMsc3UvRS2YSVsDIaRlw6mqGMbbrI1E5YRkaWOAaL37sLaD365 +T//c37nnOc8uSRBD5Ea0mIvYh12s5WRR0mj0k8mbpanLJv0J89mGGYOXkKG1oFRmeHSV9PI 4Ju8RRiuzf8tM4x3N8sNR6/+KDF8cX5AsZU0nmg5gYwt7kGp8Tv3bwpjp6dSbnzQqd0hM0Vl 5rJWSwnrSH7946h8f9MUUejJLH1w5ZR8DwqkV6FIEvDLEGhqUVShKJLGLgm0HqsgxEMPgjr/ XzLxMIvgUXAGCQiNLyJoC64TtBynw4FjIzyuIONwMvSWCOkEbiDg4fxluZCixK/Cku/QYx2H DfDPjXYk6nSYWaxSCFqKn4PK7usSQVM4A6brvKt9RxCseC5LhUAk3gkV+4OPCyGcCF7vGCFo AsdD592HMvE6GNp7RB+wCmburPA+yWsdNLveFCSBX4DT3ckiqYP66imF2DYWhhoD0oMo3h1W 1B0i3GGEO4xoQ1IPUnEWfYktVW9ITXLksFy5PiVpV4GtE4nPqvahz/py+xEmERNNJa1bNtEy cwlXZutHW0gJo6JqV5ZMdExOQW5ZvpnL/8hRbGU5RkOhiIgIWvnE5opzbBaOsxTY+xGQBBNH WSieo3LNZeWso0DE+tHTpJSJpwJb50w0zjMXsZ+ybCHrWItmkCQD1JfJ/AyxDjaPLf3EYi1a CzOJYk91eCS8rYSM7EdpZDTf+22hBMUVmm2cJW8VTxBxes0NocNoG3l/f00NQQbGG2oIWmov sLOaeGqjUAUL+fnF9idzaJ6hntc8MtGqsECo1j00gfhNKqk0PQ9H8/9QaAKgfMrmbDp21QxB qe08g4/T0LLPAYPOMwh6r40jWDo3hcD166IETq/MEjBU75VC44JTBkdO1UXDwi/DFLROLFDQ 2+SMgdqbh2NgsfHQUxDc18V/Fi7EwuTcjTiY+HpQBT9N3FXBmYl5FfT6vGpwHRlTw8L92kS4 tXc6EaZdXVq48vO0Fr6p+VMLZ8cXtXBzeG499Hz+uw4mO27roOnCceYev10Jv110UXhZrshc 9D/bXXVDl9PsQX0bdqRSHxAdV0vby6PHMkD/feW5tq5NaZnn/6jeoL6j25k18O5rudm3PUrn W/PeUn9F1jtJWc8e8M85lS7fe/7d8c2N31r/bX0lgaya2j7rWe7Q1vRYN256aXT3tvmEEdP7 7PU3cEP1D0c/3GvL3jXYtd0/mh6X4NzCBA9X9m2uX9/CSLl8c8qLhIMz/wfoRBtq3AQAAA== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGVsbG8gQW5keSwNCg0KPiA+IEFkZCBSb2htIEJVMjEwMjkgcmVzaXN0aXZlIHRvdWNoIHBhbmVs IGNvbnRyb2xsZXIgc3VwcG9ydCB3aXRoIEkyQw0KPiA+IGludGVyZmFjZS4NCj4gDQo+ID4gKyNp bmNsdWRlIDxsaW51eC9vZi5oPg0KPiANCj4gVGhpcyBiZWNvbWVzIHJlZHVuZGFudCAoc2VlIGJl bG93KS4NCg0KUmVtb3ZlZC4NCg0KPiA+ICsjZGVmaW5lIFNUT1BfREVMQVlfVVMgIDUwTA0KPiA+ ICsjZGVmaW5lIFNUQVJUX0RFTEFZX01TIDJMDQo+ID4gKyNkZWZpbmUgQlVGX0xFTiAgICAgICAg OEwNCj4gDQo+IE5vIG5lZWQgdG8gdXNlIEwgZm9yIHN1Y2ggc21hbGwgbnVtYmVycy4gSW50ZWdl ciBwcm9tb3Rpb24gaXMgYSBwYXJ0DQo+IG9mIEMgc3RhbmRhcmQuDQoNCk9LLg0KDQo+ID4gKyNk ZWZpbmUgU0NBTEVfMTJCSVQgICAgKDEgPDwgMTIpDQo+ID4gKyNkZWZpbmUgTUFYXzEyQklUICAg ICAgKCgxIDw8IDEyKSAtIDEpDQo+IA0KPiBCSVQoMTIpDQo+IEdFTk1BU0soMTEsIDApDQoNCldl IGFyZSBub3QgY29udmluY2VkIHRoYXQgd2Ugc2hvdWxkIHVzZSBCSVQoKSBhbmQgR0VOTUFTSygp IGhlcmUuDQoNClRoZSByZWFzb24gaXMgdGhhdCBTQ0FMRV8xMkJJVCBpcyBhY3R1YWxseSBub3Qg dXNlZCBhcyBhIGJpdCBidXQgYXMgYW4NCmlucHV0IHZhbHVlIGZvciBESVZfUk9VTkRfQ0xPU0VT VC4gV2UgdGhpbmsgdGhhdCB0aGUgQklUKCkgbWFjcm8gd2lsbA0KaGlkZSB0aGUgbWVhbmluZyBv ZiB0aGUgdmFsdWUuDQoNCk1BWF8xMkJJVCBpcyBhbHNvIGEgdmFsdWUgYW5kIG5vdCBhIGJpdCBt YXNrLiBUaHVzLCB3ZSBhbHNvIHRoaW5rIHRoYXQNCnVzaW5nIHRoZSBHRU5NQVNLKCkgbWFjcm8g d2lsbCBoaWRlIGl0cyBwdXJwb3NlLiBBbHNvLCB0aGUNCmRvY3VtZW50YXRpb24gb2YgR0VOTUFT SygpIHNheXMgdGhhdCBpdCBpcyBhIG1hc2sgYW5kIG5vdCBhIHZhbHVlLg0KDQo+ID4gK3N0YXRp YyBpbnQgYnUyMTAyOV90b3VjaF9yZXBvcnQoc3RydWN0IGJ1MjEwMjlfdHNfZGF0YSAqYnUyMTAy OSkNCj4gPiArew0KPiA+ICsgICAgICAgc3RydWN0IGkyY19jbGllbnQgKmkyYyA9IGJ1MjEwMjkt PmNsaWVudDsNCj4gPiArICAgICAgIHU4IGJ1ZltCVUZfTEVOXTsNCj4gPiArICAgICAgIGludCBl cnJvciA9IGJ1MjEwMjlfdG91Y2hfcmVwb3J0KGJ1MjEwMjkpOw0KPiANCj4gPiArDQo+IA0KPiBS ZWR1bmRhbnQgZW1wdHkgbGluZS4NCg0KUmVtb3ZlZC4NCg0KPiA+ICsgICAgICAgaWYgKGVycm9y KSB7DQo+IA0KPiA+ICsgICAgICAgICAgICAgICBkZXZfZXJyKCZpMmMtPmRldiwgImZhaWxlZCB0 byByZXBvcnQgKGVycm9yOiAlZClcbiIsIGVycm9yKTsNCj4gDQo+IFBvdGVudGlhbCBzcGFtbWlu ZyBjYXNlLg0KPiANCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIElSUV9OT05FOw0KPiA+ICsg ICAgICAgfQ0KDQpZb3UgYXJlIHJpZ2h0LCB3ZSB3aWxsIHJlbW92ZSB0aGUgZXJyb3IgbWVzc2Fn ZS4NCg0KPiA+ICtzdGF0aWMgdm9pZCBidTIxMDI5X3N0b3BfY2hpcChzdHJ1Y3QgaW5wdXRfZGV2 ICpkZXYpDQo+ID4gK3sNCj4gPiArICAgICAgIHN0cnVjdCBidTIxMDI5X3RzX2RhdGEgKmJ1MjEw MjkgPSBpbnB1dF9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsNCj4gPiArICAgICAgIGRpc2FibGVf aXJxKGJ1MjEwMjktPmNsaWVudC0+aXJxKTsNCj4gPiArICAgICAgIGRlbF90aW1lcl9zeW5jKCZi dTIxMDI5LT50aW1lcik7DQo+ID4gKw0KPiA+ICsgICAgICAgLyogcHV0IGNoaXAgaW50byByZXNl dCAqLw0KPiA+ICsgICAgICAgZ3Bpb2Rfc2V0X3ZhbHVlX2NhbnNsZWVwKGJ1MjEwMjktPnJlc2V0 X2dwaW9zLCAxKTsNCj4gDQo+ID4gKyAgICAgICB1ZGVsYXkoU1RPUF9ERUxBWV9VUyk7DQo+IA0K PiB1ZGVsYXkoKSA/IQ0KPiANCj4gPiArfQ0KDQpBY2NvcmRpbmcgdG8gdGhlIGRhdGFzaGVldCBk aXNhYmxpbmcgdGhlIGNoaXAgd2lsbCB0YWtlIDMwIG1pY3Jvc2Vjb25kcy4NCkluIHRoZSBkZWZp bmVzIHdlIGFkZGVkIGEgYnVmZmVyIG9mIDIwIG1pY3Jvc2Vjb25kcyBhbmQgdGh1cw0KU1RPUF9E RUxBWV9VUyBpcyA1MC4gVGhlIGZ1bmN0aW9uIGd1YXJhbnRlZXMgdGhhdCB0aGUgY2hpcCBpcyBz dG9wcGVkDQpiZWZvcmUgaXQgcmV0dXJucy4NCg0KV2UgdGhpbmsgdGhhdCBpdCBpcyBvayB0byB1 c2UgdWRlbGF5KCkgaGVyZSBiZWNhdXNlIGluIG5vcm1hbCBvcGVyYXRpb24NCnRoZSBjaGlwIGlz IG5vdCBzdG9wcGVkLiBJdCBpcyBvbmx5IHN0b3BwZWQgd2hlbiBsb2FkaW5nIG9yIHVubG9hZGlu Zw0KdGhlIGRyaXZlciwgb3Igd2hlbiB0aGUgc3lzdGVtIHN1c3BlbmRzLg0KDQpXZSB3b3VsZCBs aWtlIHRvIGtlZXAgaXQgbGlrZSBpdCBpcy4NCg0KPiA+ICtzdGF0aWMgaW50IGJ1MjEwMjlfc3Rh cnRfY2hpcChzdHJ1Y3QgaW5wdXRfZGV2ICpkZXYpDQo+ID4gK3sNCj4gDQo+ID4gKyAgICAgICB1 MTYgaHdpZDsNCj4gPiArDQo+ID4gKyAgICAgICAvKiB0YWtlIGNoaXAgb3V0IG9mIHJlc2V0ICov DQo+ID4gKyAgICAgICBncGlvZF9zZXRfdmFsdWVfY2Fuc2xlZXAoYnUyMTAyOS0+cmVzZXRfZ3Bp b3MsIDApOw0KPiANCj4gPiArICAgICAgIG1kZWxheShTVEFSVF9ERUxBWV9NUyk7DQo+IA0KPiBt ZGVsYXkoKT8hDQo+IA0KPiA+ICsNCj4gPiArICAgICAgIGVycm9yID0gaTJjX3NtYnVzX3JlYWRf aTJjX2Jsb2NrX2RhdGEoaTJjLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCVTIxMDI5X0hXSURfUkVHLA0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAyLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAodTggKikmaHdpZCk7DQo+ID4gKyAgICAgICBpZiAoZXJy b3IgPCAwKSB7DQo+ID4gKyAgICAgICAgICAgICAgIGRldl9lcnIoJmkyYy0+ZGV2LCAiZmFpbGVk IHRvIHJlYWQgSFcgSURcbiIpOw0KPiA+ICsgICAgICAgICAgICAgICBnb3RvIG91dDsNCj4gPiAr ICAgICAgIH0NCg0KQWZ0ZXIgZGUtYXNzZXJ0aW5nIHRoZSByZXNldCBjaGlwIHRha2VzIDEgbWls bGlzZWNvbmQgdW50aWwgaXQgaXMNCm9wZXJhdGlvbmFsLiBXZSBhZGRlZCBhIDEgbWlsbGlzZWNv bmQgYnVmZmVyIHRvIGl0LiBUaHVzLA0KU1RBUlRfREVMQVlfTVMgaXMgMi4NCg0KVGhlIGZvbGxv d2luZyBJMkMgcmVhZCB3aWxsIG5vdCBzdWNjZWVkIHdpdGhvdXQgd2FpdGluZyBmb3IgdGhlIGNo aXANCmJlaW5nIHJlYWR5Lg0KDQo+ID4gKyAgICAgICBpZiAoY3B1X3RvX2JlMTYoaHdpZCkgIT0g U1VQUE9SVEVEX0hXSUQpIHsNCj4gDQo+IEhtbS4uLiBXaHkgY3B1X3RvX2JlMTYoKSBpcyByZXF1 aXJlZD8NCj4gDQo+ID4gKyAgICAgICAgICAgICAgIGRldl9lcnIoJmkyYy0+ZGV2LCAidW5zdXBw b3J0ZWQgSFcgSUQgMHgleFxuIiwgaHdpZCk7DQo+ID4gKyAgICAgICAgICAgICAgIGVycm9yID0g LUVOT0RFVjsNCj4gPiArICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+ID4gKyAgICAgICB9DQo+ ID4gK30NCg0KWW91IGFyZSByaWdodCwgaXQgd29ya3MgYnV0IHdoYXQgd2UgbWVhbnQgdG8gZG8g aGVyZSBpcyB0byBjb252ZXJ0IHRoZQ0KY2hpcCdzIHZhbHVlIChiaWcgZW5kaWFuKSBpbnRvIHRo ZSBDUFUgZW5kaWFubmVzcy4gV2Ugd2lsbCBjaGFuZ2UgaXQgdG8NCmJlMTZfdG9fY3B1KCkuDQoN Cj4gPiArc3RhdGljIGludCBidTIxMDI5X3BhcnNlX2R0KHN0cnVjdCBidTIxMDI5X3RzX2RhdGEg KmJ1MjEwMjkpDQo+IA0KPiBZb3UgY2FuIGdldCByaWQgb2YgRFQgcmVxdWlyZW1lbnQgYnkuLi4N Cj4gDQo+ID4gK3sNCj4gPiArICAgICAgIHN0cnVjdCBkZXZpY2UgKmRldiA9ICZidTIxMDI5LT5j bGllbnQtPmRldjsNCj4gPiArICAgICAgIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBkZXYtPm9m X25vZGU7DQo+ID4gKyAgICAgICB1MzIgdmFsMzI7DQo+ID4gKyAgICAgICBpbnQgZXJyb3I7DQo+ IA0KPiA+ICsgICAgICAgaWYgKCFucCkgew0KPiA+ICsgICAgICAgICAgICAgICBkZXZfZXJyKGRl diwgIm5vIGRldmljZSB0cmVlIGRhdGFcbiIpOw0KPiA+ICsgICAgICAgICAgICAgICByZXR1cm4g LUVJTlZBTDsNCj4gPiArICAgICAgIH0NCj4gDQo+ICh0aGlzIGJlY29tZXMgcmVkdW5kYW50KQ0K PiANCj4gPiArDQo+ID4gKyAgICAgICBidTIxMDI5LT5yZXNldF9ncGlvcyA9IGRldm1fZ3Bpb2Rf Z2V0KGRldiwgInJlc2V0IiwNCj4gR1BJT0RfT1VUX0hJR0gpOw0KPiA+ICsgICAgICAgaWYgKElT X0VSUihidTIxMDI5LT5yZXNldF9ncGlvcykpIHsNCj4gPiArICAgICAgICAgICAgICAgZXJyb3Ig PSBQVFJfRVJSKGJ1MjEwMjktPnJlc2V0X2dwaW9zKTsNCj4gPiArICAgICAgICAgICAgICAgaWYg KGVycm9yICE9IC1FUFJPQkVfREVGRVIpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgZGV2 X2VycihkZXYsICJpbnZhbGlkICdyZXNldC1ncGlvcyc6JWRcbiIsIGVycm9yKTsNCj4gPiArICAg ICAgICAgICAgICAgcmV0dXJuIGVycm9yOw0KPiA+ICsgICAgICAgfQ0KPiA+ICsNCj4gDQo+ID4g KyAgICAgICBpZiAob2ZfcHJvcGVydHlfcmVhZF91MzIobnAsICJyb2htLHgtcGxhdGUtb2htcyIs ICZ2YWwzMikpIHsNCj4gDQo+IC4uLnNpbXBsZSBjYWxsaW5nIGRldmljZV9wcm9wZXJ0eV9yZWFk X3UzMigpIGluc3RlYWQuDQo+IA0KPiA+ICsgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgImlu dmFsaWQgJ3gtcGxhdGUtb2htcycgc3VwcGxpZWRcbiIpOw0KPiA+ICsgICAgICAgICAgICAgICBy ZXR1cm4gLUVJTlZBTDsNCj4gPiArICAgICAgIH0NCj4gPiArICAgICAgIGJ1MjEwMjktPnhfcGxh dGVfb2htcyA9IHZhbDMyOw0KPiA+ICsNCj4gPiArICAgICAgIHRvdWNoc2NyZWVuX3BhcnNlX3By b3BlcnRpZXMoYnUyMTAyOS0+aW5fZGV2LCBmYWxzZSwgJmJ1MjEwMjktPnByb3ApOw0KPiA+ICsN Cj4gPiArICAgICAgIHJldHVybiAwOw0KPiA+ICt9DQoNClRoYW5rIHlvdSwgY2hhbmdlZC4NCg0K PiA+ICsjaWZkZWYgQ09ORklHX1BNX1NMRUVQDQo+IA0KPiBJbnN0ZWFkLi4uDQo+IA0KPiA+ICtz dGF0aWMgaW50IGJ1MjEwMjlfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+IA0KPiAuLi51 c2UgX19tYWJ5X3VudXNlZCBhbm5vdGF0aW9uLg0KPiANCj4gPiArc3RhdGljIGludCBidTIxMDI5 X3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+IA0KPiBEaXR0by4NCg0KT0ssIGFkZGVkLg0K DQpSZWdhcmRzLA0KTWFyaw0KDQogTWFyayBKb25hcw0KDQpCdWlsZGluZyBUZWNobm9sb2dpZXMs IFBhbmVsIFNvZnR3YXJlIEZpcmUgKEJULUZJUi9FTkcxKSANCkJvc2NoIFNpY2hlcmhlaXRzc3lz dGVtZcKgR21iSCB8IFBvc3RmYWNoIDExIDExIHwgODU2MjYgR3Jhc2JydW5uIHwgR0VSTUFOWSB8 IHd3dy5ib3NjaHNlY3VyaXR5LmNvbQ0KDQpTaXR6OiBTdHV0dGdhcnQsIFJlZ2lzdGVyZ2VyaWNo dDogQW10c2dlcmljaHQgU3R1dHRnYXJ0IEhSQiAyMzExOCANCkF1ZnNpY2h0c3JhdHN2b3JzaXR6 ZW5kZXI6IFN0ZWZhbiBIYXJ0dW5nOyBHZXNjaMOkZnRzZsO8aHJ1bmc6IEdlcnQgdmFuIElwZXJl biwgQW5kcmVhcyBCYXJ0eiwgVGhvbWFzIFF1YW50ZSwgQmVybmhhcmQgU2NodXN0ZXIgDQoNCg==