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=-0.6 required=3.0 tests=DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS,T_DKIM_INVALID, URIBL_BLOCKED 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 C71FDC3279B for ; Mon, 2 Jul 2018 13:51:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6750E25E25 for ; Mon, 2 Jul 2018 13:51:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=dell.com header.i=@dell.com header.b="G6KejECe" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6750E25E25 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=dell.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752683AbeGBNvU (ORCPT ); Mon, 2 Jul 2018 09:51:20 -0400 Received: from esa1.dell-outbound.iphmx.com ([68.232.153.90]:58292 "EHLO esa1.dell-outbound.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752634AbeGBNvR (ORCPT ); Mon, 2 Jul 2018 09:51:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=dell.com; i=@dell.com; q=dns/txt; s=smtpout; t=1530539037; x=1562075037; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=cJD0AcyKQg2de2clwBFH2vbABZfZGN15P6fxvlq1vpk=; b=G6KejECe9zErAvO6IhfN+u7Ar9rNMIb+bvLnys0EZibeIZ4R343M4CLH mjnTBoGbEcq4P905WqNdmRttMUy8uQ5spO1LTCZyC1FrLJKL55wYQ/c8Y O1XhnEtTm8WAKujlmO833dY5uw6f0JuasBg+m/y1U9u9t0yk17O4rMAdV 4=; X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2H3AADELDpbh8mZ6ERcGQEBAQEBAQEBA?= =?us-ascii?q?QEBAQcBAQEBAYMffoENKAqDb5RBggeILox2gXoLhGwCF4McITUXAQIBAQIBAQI?= =?us-ascii?q?BAQIQAQEBCgsJCCkvgjUigmEBAQEBAgEjBA06CwUHBAIBCBEEAQEBAgIjAwICA?= =?us-ascii?q?h8lAQIBBQgCBAENBQiCTUuBaAMNCKdEgWkzhw4NgS6BLoELh2KCFYEPgw+CVoI?= =?us-ascii?q?IM4JqglUCh1gvhXCDa4c5KwcCjBKDA4FIhAyCaoUfiwKECIJ9gUMCggdwUIJpg?= =?us-ascii?q?iQOCY4XbwGQQIEaAQE?= X-IPAS-Result: =?us-ascii?q?A2H3AADELDpbh8mZ6ERcGQEBAQEBAQEBAQEBAQcBAQEBAYM?= =?us-ascii?q?ffoENKAqDb5RBggeILox2gXoLhGwCF4McITUXAQIBAQIBAQIBAQIQAQEBCgsJC?= =?us-ascii?q?CkvgjUigmEBAQEBAgEjBA06CwUHBAIBCBEEAQEBAgIjAwICAh8lAQIBBQgCBAE?= =?us-ascii?q?NBQiCTUuBaAMNCKdEgWkzhw4NgS6BLoELh2KCFYEPgw+CVoIIM4JqglUCh1gvh?= =?us-ascii?q?XCDa4c5KwcCjBKDA4FIhAyCaoUfiwKECIJ9gUMCggdwUIJpgiQOCY4XbwGQQIE?= =?us-ascii?q?aAQE?= Received: from esa1.dell-outbound2.iphmx.com ([68.232.153.201]) by esa1.dell-outbound.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Jul 2018 08:43:56 -0500 From: Received: from ausxippc110.us.dell.com ([143.166.85.200]) by esa1.dell-outbound2.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Jul 2018 19:43:51 +0600 X-LoopCount0: from 10.166.132.195 X-IronPort-AV: E=Sophos;i="5.51,299,1526360400"; d="scan'208";a="671485564" X-DLP: DLP_GlobalPCIDSS To: , CC: , , , , , Subject: RE: [PATCH v2] platform/x86: intel-hid: Add support for Device Specific Methods Thread-Topic: [PATCH v2] platform/x86: intel-hid: Add support for Device Specific Methods Thread-Index: AQHUDwyTs6nsEeHVokGyB9ujS48v7KR3cjWwgARzsgGAABHaIA== Date: Mon, 2 Jul 2018 13:51:14 +0000 Message-ID: References: <20180628181906.54910-1-srinivas.pandruvada@linux.intel.com> <74ac9bf130074e0a8f86a7904783d091@ausx13mpc120.AMER.DELL.COM> <95b3748fcb911c7305bd2bbcfd4e368f044f8b14.camel@linux.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.143.242.75] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBbmR5IFNoZXZjaGVua28gW21h aWx0bzphbmR5LnNoZXZjaGVua29AZ21haWwuY29tXQ0KPiBTZW50OiBNb25kYXksIEp1bHkgMiwg MjAxOCA3OjQxIEFNDQo+IFRvOiBTcmluaXZhcyBQYW5kcnV2YWRhDQo+IENjOiBMaW1vbmNpZWxs bywgTWFyaW87IEFsZXggSHVuZzsgRGFycmVuIEhhcnQ7IEFuZHkgU2hldmNoZW5rbzsgUGxhdGZv cm0gRHJpdmVyOw0KPiBMaW51eCBLZXJuZWwgTWFpbGluZyBMaXN0OyBSYWZhZWwgSi4gV3lzb2Nr aQ0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYyXSBwbGF0Zm9ybS94ODY6IGludGVsLWhpZDogQWRk IHN1cHBvcnQgZm9yIERldmljZSBTcGVjaWZpYw0KPiBNZXRob2RzDQo+IA0KPiBPbiBGcmksIEp1 biAyOSwgMjAxOCBhdCA5OjQxIFBNLCBTcmluaXZhcyBQYW5kcnV2YWRhDQo+IDxzcmluaXZhcy5w YW5kcnV2YWRhQGxpbnV4LmludGVsLmNvbT4gd3JvdGU6DQo+ID4gT24gRnJpLCAyMDE4LTA2LTI5 IGF0IDE2OjQ0ICswMDAwLCBNYXJpby5MaW1vbmNpZWxsb0BkZWxsLmNvbSB3cm90ZToNCj4gPj4g Pg0KPiA+DQo+ID4gWy4uLl0NCj4gPg0KPiA+PiBJIHZlcmlmaWVkIHRoaXMgb24gWFBTIDkzNzAg RlcgMS4zLjIgKHdoaWNoIGNvbnRhaW5zIHRoaXMgYWx0ZXJuYXRlDQo+ID4+IEhFQkMgaW50ZXJm YWNlKS4NCj4gPj4gUG93ZXIgYnV0dG9uIHdvcmtzIGFnYWluIGZvciB3YWtldXAgZnJvbSBzMmlk bGUuDQo+ID4+DQo+ID4+IFRlc3RlZC1ieTogTWFyaW8gTGltb25jaWVsbG8gPG1hcmlvLmxpbW9u Y2llbGxvQGRlbGwuY29tPg0KPiA+Pg0KPiA+IFNvIHRoZXJlIGFyZSBzb21lIGN1c3RvbWVycyB3 aG8gd2lsbCBoYXZlIGlzc3VlIHdpdGggcG93ZXIgYnV0dG9uDQo+ID4gd2l0aG91dCB0aGlzIHBh dGNoLCBzbyBpdCBzaG91bGQgYmUgYWxzbyBtYXJrZWQgZm9yIHN0YWJsZSBhbHNvLg0KPiA+IEFs c28gdGhpcyBtYXkgYmUgYSBjYW5kaWRhdGUgZm9yIDQuMTgtcmNYLg0KPiA+DQo+IA0KPiBJJ20g bm90IHN1cmUgR3JlZyB3aWxsIHRha2UgdGhpcyBzZWxsaW5nIHBvaW50IGZvciByYXRoZXIgYmln IHBhdGNoLg0KPiBGcm9tIGNoYW5nZWxvZywgaG9uZXN0bHksIEkgZG9uJ3Qgc2VlIGFueSByZWdy ZXNzaW9uIGRlc2NyaXB0aW9uLA0KPiBsb29rcyBsaWtlICJpdCB3YXNuJ3Qgd29ya2luZyBiZWZv cmUgY2hhbmdlIGFueXdheSIuDQo+IA0KDQpKdXN0IGZvciBhZGRpbmcgc29tZSBjb250ZXh0Lg0K DQpTb21lIHBsYXRmb3JtcyBoYXZlIG1vdmVkIHRvIGRpZmZlcmVudCBpbnRlcmZhY2UgaW4gQVNM IGluIEZXIHVwZ3JhZGUNCmR1ZSB0byBkZWZpY2llbmNpZXMvYnVncyBwcmVzZW50IHdpdGggb2xk IGludGVyZmFjZS4gIFNvIHllcyBpdCdzIHBsYXRmb3JtIEZXDQpjaGFuZ2UgaW4gYmVoYXZpb3Ig dGhhdCBsZWFkcyB0byBMaW51eCBrZXJuZWwgcmVncmVzc2lvbi4gIFdpbmRvd3MgZHJpdmVyIGhh cyBzdXBwb3J0ZWQNCmJvdGggaW50ZXJmYWNlcyBmb3IgYSBsb25nIHRpbWUuICBMaW51eCBrZXJu ZWwgaG93ZXZlciBkb2Vzbid0IHN1cHBvcnQgdGhpcyBpbnRlcmZhY2UgdW50aWwgbm93Lg0KDQo+ IEZvciBub3csIEkgcHVzaGVkIHRoaXMgdG8gbXkgcmV2aWV3IGFuZCB0ZXN0aW5nIHF1ZXVlIGFz IGlzLCB0aGFua3MhDQoNCklmIG5vdCBzdGFibGUgSSB0aGluayBpdCB3b3VsZCBhdCBsZWFzdCBi ZSBpZGVhbCB0byB0cnkgdG8gYnJpbmcgdGhpcyB0byA0LjE4LXJjWCBpZiBwb3NzaWJsZSBmb3IN CmNvbXBhdGliaWxpdHkgd2l0aCBtb3JlIHBsYXRmb3JtcyB0aGF0IHdpbGwgY29tZSB3aXRoIHRo aXMgb3RoZXIgaW50ZXJmYWNlIGluc3RlYWQuDQoNCj4gDQo+ID4gVGhhbmtzLA0KPiA+IFNyaW5p dmFzDQo+ID4NCj4gPj4gPiAtLS0NCj4gPj4gPiBBY2NpZGVudGx5IHNlbnQgdGhlIHBhdGNoIHdp dGhvdXQgY2hhbmdlIG9mIHZlcnNpb24sIHNvIHBsZWFzZQ0KPiA+PiA+IGlnbm9yZQ0KPiA+PiA+ IHRoZSBwcmV2aW91cyBvbmUgc2VudCB0b2RheS4NCj4gPj4gPiB2MjoNCj4gPj4gPiAgICAgTWlu b3IgY2hhbmdlcyBzdWdnZXN0ZWQgYnkgQW5keQ0KPiA+PiA+DQo+ID4+ID4gIGRyaXZlcnMvcGxh dGZvcm0veDg2L2ludGVsLWhpZC5jIHwgMTc4DQo+ID4+ID4gKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0NCj4gPj4gPiAtDQo+ID4+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxNTcg aW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pDQo+ID4+ID4NCj4gPj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50ZWwtaGlkLmMNCj4gPj4gPiBiL2RyaXZlcnMvcGxh dGZvcm0veDg2L2ludGVsLWhpZC5jDQo+ID4+ID4gaW5kZXggYjVhZGJhMjI3NzgzLi42Y2Y5Yjdm YTViZjAgMTAwNjQ0DQo+ID4+ID4gLS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50ZWwtaGlk LmMNCj4gPj4gPiArKysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbC1oaWQuYw0KPiA+PiA+ IEBAIC05NiwxMyArOTYsMTQwIEBAIHN0cnVjdCBpbnRlbF9oaWRfcHJpdiB7DQo+ID4+ID4gICAg IGJvb2wgd2FrZXVwX21vZGU7DQo+ID4+ID4gIH07DQo+ID4+ID4NCj4gPj4gPiAtc3RhdGljIGlu dCBpbnRlbF9oaWRfc2V0X2VuYWJsZShzdHJ1Y3QgZGV2aWNlICpkZXZpY2UsIGJvb2wNCj4gPj4g PiBlbmFibGUpDQo+ID4+ID4gKyNkZWZpbmUgSElEX0VWRU5UX0ZJTFRFUl9VVUlEICAgICAgImVl ZWM1NmIzLTQ0NDItNDA4Zi1hNzkyLQ0KPiA+PiA+IDRlZGQ0ZDc1ODA1NCINCj4gPj4gPiArDQo+ ID4+ID4gK2VudW0gaW50ZWxfaGlkX2RzbV9mbl9jb2RlcyB7DQo+ID4+ID4gKyAgIElOVEVMX0hJ RF9EU01fRk5fSU5WQUxJRCwNCj4gPj4gPiArICAgSU5URUxfSElEX0RTTV9CVE5MX0ZOLA0KPiA+ PiA+ICsgICBJTlRFTF9ISURfRFNNX0hETU1fRk4sDQo+ID4+ID4gKyAgIElOVEVMX0hJRF9EU01f SERTTV9GTiwNCj4gPj4gPiArICAgSU5URUxfSElEX0RTTV9IREVNX0ZOLA0KPiA+PiA+ICsgICBJ TlRFTF9ISURfRFNNX0JUTlNfRk4sDQo+ID4+ID4gKyAgIElOVEVMX0hJRF9EU01fQlRORV9GTiwN Cj4gPj4gPiArICAgSU5URUxfSElEX0RTTV9IRUJDX1YxX0ZOLA0KPiA+PiA+ICsgICBJTlRFTF9I SURfRFNNX1ZHQlNfRk4sDQo+ID4+ID4gKyAgIElOVEVMX0hJRF9EU01fSEVCQ19WMl9GTiwNCj4g Pj4gPiArICAgSU5URUxfSElEX0RTTV9GTl9NQVgNCj4gPj4gPiArfTsNCj4gPj4gPiArDQo+ID4+ ID4gK3N0YXRpYyBjb25zdCBjaGFyDQo+ID4+ID4gKmludGVsX2hpZF9kc21fZm5fdG9fbWV0aG9k W0lOVEVMX0hJRF9EU01fRk5fTUFYXSA9IHsNCj4gPj4gPiArICAgTlVMTCwNCj4gPj4gPiArICAg IkJUTkwiLA0KPiA+PiA+ICsgICAiSERNTSIsDQo+ID4+ID4gKyAgICJIRFNNIiwNCj4gPj4gPiAr ICAgIkhERU0iLA0KPiA+PiA+ICsgICAiQlROUyIsDQo+ID4+ID4gKyAgICJCVE5FIiwNCj4gPj4g PiArICAgIkhFQkMiLA0KPiA+PiA+ICsgICAiVkdCUyIsDQo+ID4+ID4gKyAgICJIRUJDIg0KPiA+ PiA+ICt9Ow0KPiA+PiA+ICsNCj4gPj4gPiArc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnRl bF9oaWRfZHNtX2ZuX21hc2s7DQo+ID4+ID4gK3N0YXRpYyBndWlkX3QgaW50ZWxfZHNtX2d1aWQ7 DQo+ID4+ID4gKw0KPiA+PiA+ICtzdGF0aWMgYm9vbCBpbnRlbF9oaWRfZXhlY3V0ZV9tZXRob2Qo YWNwaV9oYW5kbGUgaGFuZGxlLA0KPiA+PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGVudW0gaW50ZWxfaGlkX2RzbV9mbl9jb2Rlcw0KPiA+PiA+IGZuX2luZGV4LA0KPiA+PiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBhcmcp DQo+ID4+ID4gIHsNCj4gPj4gPiArICAgdW5pb24gYWNwaV9vYmplY3QgKm9iaiwgYXJndjQsIHJl cTsNCj4gPj4gPiAgICAgYWNwaV9zdGF0dXMgc3RhdHVzOw0KPiA+PiA+ICsgICBjaGFyICptZXRo b2RfbmFtZTsNCj4gPj4gPg0KPiA+PiA+IC0gICBzdGF0dXMgPSBhY3BpX2V4ZWN1dGVfc2ltcGxl X21ldGhvZChBQ1BJX0hBTkRMRShkZXZpY2UpLA0KPiA+PiA+ICJIRFNNIiwNCj4gPj4gPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlKTsNCj4gPj4gPiAtICAg aWYgKEFDUElfRkFJTFVSRShzdGF0dXMpKSB7DQo+ID4+ID4gKyAgIGlmIChmbl9pbmRleCA8PSBJ TlRFTF9ISURfRFNNX0ZOX0lOVkFMSUQgfHwNCj4gPj4gPiArICAgICAgIGZuX2luZGV4ID49IElO VEVMX0hJRF9EU01fRk5fTUFYKQ0KPiA+PiA+ICsgICAgICAgICAgIHJldHVybiBmYWxzZTsNCj4g Pj4gPiArDQo+ID4+ID4gKyAgIG1ldGhvZF9uYW1lID0gKGNoYXINCj4gPj4gPiAqKWludGVsX2hp ZF9kc21fZm5fdG9fbWV0aG9kW2ZuX2luZGV4XTsNCj4gPj4gPiArDQo+ID4+ID4gKyAgIGlmICgh KGludGVsX2hpZF9kc21fZm5fbWFzayAmIGZuX2luZGV4KSkNCj4gPj4gPiArICAgICAgICAgICBn b3RvIHNraXBfZHNtX2V4ZWM7DQo+ID4+ID4gKw0KPiA+PiA+ICsgICAvKiBBbGwgbWV0aG9kcyBl eHBlY3RzIGEgcGFja2FnZSB3aXRoIG9uZSBpbnRlZ2VyIGVsZW1lbnQNCj4gPj4gPiAqLw0KPiA+ PiA+ICsgICByZXEudHlwZSA9IEFDUElfVFlQRV9JTlRFR0VSOw0KPiA+PiA+ICsgICByZXEuaW50 ZWdlci52YWx1ZSA9IGFyZzsNCj4gPj4gPiArDQo+ID4+ID4gKyAgIGFyZ3Y0LnR5cGUgPSBBQ1BJ X1RZUEVfUEFDS0FHRTsNCj4gPj4gPiArICAgYXJndjQucGFja2FnZS5jb3VudCA9IDE7DQo+ID4+ ID4gKyAgIGFyZ3Y0LnBhY2thZ2UuZWxlbWVudHMgPSAmcmVxOw0KPiA+PiA+ICsNCj4gPj4gPiAr ICAgb2JqID0gYWNwaV9ldmFsdWF0ZV9kc20oaGFuZGxlLCAmaW50ZWxfZHNtX2d1aWQsIDEsDQo+ ID4+ID4gZm5faW5kZXgsICZhcmd2NCk7DQo+ID4+ID4gKyAgIGlmIChvYmopIHsNCj4gPj4gPiAr ICAgICAgICAgICBhY3BpX2hhbmRsZV9kZWJ1ZyhoYW5kbGUsICJFeGVjIERTTSBGbiBjb2RlOg0K PiA+PiA+ICVkWyVzXQ0KPiA+PiA+IHN1Y2Nlc3NcbiIsDQo+ID4+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZm5faW5kZXgsIG1ldGhvZF9uYW1lKTsNCj4gPj4gPiArICAgICAgICAg ICBBQ1BJX0ZSRUUob2JqKTsNCj4gPj4gPiArICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCj4gPj4g PiArICAgfQ0KPiA+PiA+ICsNCj4gPj4gPiArc2tpcF9kc21fZXhlYzoNCj4gPj4gPiArICAgc3Rh dHVzID0gYWNwaV9leGVjdXRlX3NpbXBsZV9tZXRob2QoaGFuZGxlLCBtZXRob2RfbmFtZSwNCj4g Pj4gPiBhcmcpOw0KPiA+PiA+ICsgICBpZiAoQUNQSV9TVUNDRVNTKHN0YXR1cykpDQo+ID4+ID4g KyAgICAgICAgICAgcmV0dXJuIHRydWU7DQo+ID4+ID4gKw0KPiA+PiA+ICsgICByZXR1cm4gZmFs c2U7DQo+ID4+ID4gK30NCj4gPj4gPiArDQo+ID4+ID4gK3N0YXRpYyBib29sIGludGVsX2hpZF9l dmFsdWF0ZV9tZXRob2QoYWNwaV9oYW5kbGUgaGFuZGxlLA0KPiA+PiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBlbnVtIGludGVsX2hpZF9kc21fZm5fY29kZXMNCj4gPj4gPiBm bl9pbmRleCwNCj4gPj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgbG9uZyBsb25nICpyZXN1bHQpDQo+ID4+ID4gK3sNCj4gPj4gPiArICAgdW5pb24gYWNwaV9v YmplY3QgKm9iajsNCj4gPj4gPiArICAgYWNwaV9zdGF0dXMgc3RhdHVzOw0KPiA+PiA+ICsgICBj aGFyICptZXRob2RfbmFtZTsNCj4gPj4gPiArDQo+ID4+ID4gKyAgIGlmIChmbl9pbmRleCA8PSBJ TlRFTF9ISURfRFNNX0ZOX0lOVkFMSUQgfHwNCj4gPj4gPiArICAgICAgIGZuX2luZGV4ID49IElO VEVMX0hJRF9EU01fRk5fTUFYKQ0KPiA+PiA+ICsgICAgICAgICAgIHJldHVybiBmYWxzZTsNCj4g Pj4gPiArDQo+ID4+ID4gKyAgIG1ldGhvZF9uYW1lID0gKGNoYXINCj4gPj4gPiAqKWludGVsX2hp ZF9kc21fZm5fdG9fbWV0aG9kW2ZuX2luZGV4XTsNCj4gPj4gPiArDQo+ID4+ID4gKyAgIGlmICgh KGludGVsX2hpZF9kc21fZm5fbWFzayAmIGZuX2luZGV4KSkNCj4gPj4gPiArICAgICAgICAgICBn b3RvIHNraXBfZHNtX2V2YWw7DQo+ID4+ID4gKw0KPiA+PiA+ICsgICBvYmogPSBhY3BpX2V2YWx1 YXRlX2RzbV90eXBlZChoYW5kbGUsICZpbnRlbF9kc21fZ3VpZCwNCj4gPj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMSwgZm5faW5kZXgsDQo+ID4+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsICBBQ1BJX1RZUEVfSU5URUdFUik7DQo+ID4+ID4g KyAgIGlmIChvYmopIHsNCj4gPj4gPiArICAgICAgICAgICAqcmVzdWx0ID0gb2JqLT5pbnRlZ2Vy LnZhbHVlOw0KPiA+PiA+ICsgICAgICAgICAgIGFjcGlfaGFuZGxlX2RlYnVnKGhhbmRsZSwNCj4g Pj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRXZhbCBEU00gRm4gY29kZTogJWRb JXNdDQo+ID4+ID4gcmVzdWx0czogMHglbGx4XG4iLA0KPiA+PiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZuX2luZGV4LCBtZXRob2RfbmFtZSwgKnJlc3VsdCk7DQo+ID4+ID4gKyAg ICAgICAgICAgQUNQSV9GUkVFKG9iaik7DQo+ID4+ID4gKyAgICAgICAgICAgcmV0dXJuIHRydWU7 DQo+ID4+ID4gKyAgIH0NCj4gPj4gPiArDQo+ID4+ID4gK3NraXBfZHNtX2V2YWw6DQo+ID4+ID4g KyAgIHN0YXR1cyA9IGFjcGlfZXZhbHVhdGVfaW50ZWdlcihoYW5kbGUsIG1ldGhvZF9uYW1lLCBO VUxMLA0KPiA+PiA+IHJlc3VsdCk7DQo+ID4+ID4gKyAgIGlmIChBQ1BJX1NVQ0NFU1Moc3RhdHVz KSkNCj4gPj4gPiArICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCj4gPj4gPiArDQo+ID4+ID4gKyAg IHJldHVybiBmYWxzZTsNCj4gPj4gPiArfQ0KPiA+PiA+ICsNCj4gPj4gPiArc3RhdGljIHZvaWQg aW50ZWxfaGlkX2luaXRfZHNtKGFjcGlfaGFuZGxlIGhhbmRsZSkNCj4gPj4gPiArew0KPiA+PiA+ ICsgICB1bmlvbiBhY3BpX29iamVjdCAqb2JqOw0KPiA+PiA+ICsNCj4gPj4gPiArICAgZ3VpZF9w YXJzZShISURfRVZFTlRfRklMVEVSX1VVSUQsICZpbnRlbF9kc21fZ3VpZCk7DQo+ID4+ID4gKw0K PiA+PiA+ICsgICBvYmogPSBhY3BpX2V2YWx1YXRlX2RzbV90eXBlZChoYW5kbGUsICZpbnRlbF9k c21fZ3VpZCwgMSwNCj4gPj4gPiAwLCBOVUxMLA0KPiA+PiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBQ1BJX1RZUEVfQlVGRkVSKTsNCj4gPj4gPiArICAgaWYgKG9iaikgew0K PiA+PiA+ICsgICAgICAgICAgIGludGVsX2hpZF9kc21fZm5fbWFzayA9ICpvYmotPmJ1ZmZlci5w b2ludGVyOw0KPiA+PiA+ICsgICAgICAgICAgIEFDUElfRlJFRShvYmopOw0KPiA+PiA+ICsgICB9 DQo+ID4+ID4gKw0KPiA+PiA+ICsgICBhY3BpX2hhbmRsZV9kZWJ1ZyhoYW5kbGUsICJpbnRlbF9o aWRfZHNtX2ZuX21hc2sgPQ0KPiA+PiA+ICVsbHhcbiIsDQo+ID4+ID4gKyAgICAgICAgICAgICAg ICAgICAgIGludGVsX2hpZF9kc21fZm5fbWFzayk7DQo+ID4+ID4gK30NCj4gPj4gPiArDQo+ID4+ ID4gK3N0YXRpYyBpbnQgaW50ZWxfaGlkX3NldF9lbmFibGUoc3RydWN0IGRldmljZSAqZGV2aWNl LCBib29sDQo+ID4+ID4gZW5hYmxlKQ0KPiA+PiA+ICt7DQo+ID4+ID4gKyAgIGFjcGlfaGFuZGxl IGhhbmRsZSA9IEFDUElfSEFORExFKGRldmljZSk7DQo+ID4+ID4gKw0KPiA+PiA+ICsgICAvKiBF bmFibGV8ZGlzYWJsZSBmZWF0dXJlcyAtIHBvd2VyIGJ1dHRvbiBpcyBhbHdheXMNCj4gPj4gPiBl bmFibGVkICovDQo+ID4+ID4gKyAgIGlmICghaW50ZWxfaGlkX2V4ZWN1dGVfbWV0aG9kKGhhbmRs ZSwNCj4gPj4gPiBJTlRFTF9ISURfRFNNX0hEU01fRk4sDQo+ID4+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVuYWJsZSkpIHsNCj4gPj4gPiAgICAgICAgICAgICBkZXZfd2Fy bihkZXZpY2UsICJmYWlsZWQgdG8gJXNhYmxlIGhvdGtleXNcbiIsDQo+ID4+ID4gICAgICAgICAg ICAgICAgICAgICAgZW5hYmxlID8gImVuIiA6ICJkaXMiKTsNCj4gPj4gPiAgICAgICAgICAgICBy ZXR1cm4gLUVJTzsNCj4gPj4gPiBAQCAtMTI5LDkgKzI1Niw4IEBAIHN0YXRpYyB2b2lkIGludGVs X2J1dHRvbl9hcnJheV9lbmFibGUoc3RydWN0DQo+ID4+ID4gZGV2aWNlDQo+ID4+ID4gKmRldmlj ZSwgYm9vbCBlbmFibGUpDQo+ID4+ID4gICAgIH0NCj4gPj4gPg0KPiA+PiA+ICAgICAvKiBFbmFi bGV8ZGlzYWJsZSBmZWF0dXJlcyAtIHBvd2VyIGJ1dHRvbiBpcyBhbHdheXMNCj4gPj4gPiBlbmFi bGVkICovDQo+ID4+ID4gLSAgIHN0YXR1cyA9IGFjcGlfZXhlY3V0ZV9zaW1wbGVfbWV0aG9kKGhh bmRsZSwgIkJUTkUiLA0KPiA+PiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlbmFibGUgPyBidXR0b25fY2FwIDoNCj4gPj4gPiAxKTsNCj4gPj4gPiAtICAgaWYgKEFD UElfRkFJTFVSRShzdGF0dXMpKQ0KPiA+PiA+ICsgICBpZiAoIWludGVsX2hpZF9leGVjdXRlX21l dGhvZChoYW5kbGUsDQo+ID4+ID4gSU5URUxfSElEX0RTTV9CVE5FX0ZOLA0KPiA+PiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUgPyBidXR0b25fY2FwIDogMSkpDQo+ ID4+ID4gICAgICAgICAgICAgZGV2X3dhcm4oZGV2aWNlLCAiZmFpbGVkIHRvIHNldCBidXR0b24N Cj4gPj4gPiBjYXBhYmlsaXR5XG4iKTsNCj4gPj4gPiAgfQ0KPiA+PiA+DQo+ID4+ID4gQEAgLTIx Nyw3ICszNDMsNiBAQCBzdGF0aWMgdm9pZCBub3RpZnlfaGFuZGxlcihhY3BpX2hhbmRsZSBoYW5k bGUsDQo+ID4+ID4gdTMyIGV2ZW50LA0KPiA+PiA+IHZvaWQgKmNvbnRleHQpDQo+ID4+ID4gICAg IHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldmljZSA9IGNvbnRleHQ7DQo+ID4+ID4gICAgIHN0 cnVjdCBpbnRlbF9oaWRfcHJpdiAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YSgmZGV2aWNlLQ0KPiA+ PiA+ID5kZXYpOw0KPiA+PiA+ICAgICB1bnNpZ25lZCBsb25nIGxvbmcgZXZfaW5kZXg7DQo+ID4+ ID4gLSAgIGFjcGlfc3RhdHVzIHN0YXR1czsNCj4gPj4gPg0KPiA+PiA+ICAgICBpZiAocHJpdi0+ d2FrZXVwX21vZGUpIHsNCj4gPj4gPiAgICAgICAgICAgICAvKg0KPiA+PiA+IEBAIC0yNjksOCAr Mzk0LDggQEAgc3RhdGljIHZvaWQgbm90aWZ5X2hhbmRsZXIoYWNwaV9oYW5kbGUgaGFuZGxlLA0K PiA+PiA+IHUzMiBldmVudCwNCj4gPj4gPiB2b2lkICpjb250ZXh0KQ0KPiA+PiA+ICAgICAgICAg ICAgIHJldHVybjsNCj4gPj4gPiAgICAgfQ0KPiA+PiA+DQo+ID4+ID4gLSAgIHN0YXR1cyA9IGFj cGlfZXZhbHVhdGVfaW50ZWdlcihoYW5kbGUsICJIREVNIiwgTlVMTCwNCj4gPj4gPiAmZXZfaW5k ZXgpOw0KPiA+PiA+IC0gICBpZiAoQUNQSV9GQUlMVVJFKHN0YXR1cykpIHsNCj4gPj4gPiArICAg aWYgKCFpbnRlbF9oaWRfZXZhbHVhdGVfbWV0aG9kKGhhbmRsZSwNCj4gPj4gPiBJTlRFTF9ISURf RFNNX0hERU1fRk4sDQo+ID4+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm ZXZfaW5kZXgpKSB7DQo+ID4+ID4gICAgICAgICAgICAgZGV2X3dhcm4oJmRldmljZS0+ZGV2LCAi ZmFpbGVkIHRvIGdldCBldmVudA0KPiA+PiA+IGluZGV4XG4iKTsNCj4gPj4gPiAgICAgICAgICAg ICByZXR1cm47DQo+ID4+ID4gICAgIH0NCj4gPj4gPiBAQCAtMjg0LDE3ICs0MDksMjQgQEAgc3Rh dGljIGJvb2wgYnV0dG9uX2FycmF5X3ByZXNlbnQoc3RydWN0DQo+ID4+ID4gcGxhdGZvcm1fZGV2 aWNlDQo+ID4+ID4gKmRldmljZSkNCj4gPj4gPiAgew0KPiA+PiA+ICAgICBhY3BpX2hhbmRsZSBo YW5kbGUgPSBBQ1BJX0hBTkRMRSgmZGV2aWNlLT5kZXYpOw0KPiA+PiA+ICAgICB1bnNpZ25lZCBs b25nIGxvbmcgZXZlbnRfY2FwOw0KPiA+PiA+IC0gICBhY3BpX3N0YXR1cyBzdGF0dXM7DQo+ID4+ ID4gLSAgIGJvb2wgc3VwcG9ydGVkID0gZmFsc2U7DQo+ID4+ID4NCj4gPj4gPiAtICAgc3RhdHVz ID0gYWNwaV9ldmFsdWF0ZV9pbnRlZ2VyKGhhbmRsZSwgIkhFQkMiLCBOVUxMLA0KPiA+PiA+ICZl dmVudF9jYXApOw0KPiA+PiA+IC0gICBpZiAoQUNQSV9TVUNDRVNTKHN0YXR1cykgJiYgKGV2ZW50 X2NhcCAmIDB4MjAwMDApKQ0KPiA+PiA+IC0gICAgICAgICAgIHN1cHBvcnRlZCA9IHRydWU7DQo+ ID4+ID4gKyAgIGlmIChpbnRlbF9oaWRfZXZhbHVhdGVfbWV0aG9kKGhhbmRsZSwNCj4gPj4gPiBJ TlRFTF9ISURfRFNNX0hFQkNfVjJfRk4sDQo+ID4+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZldmVudF9jYXApKSB7DQo+ID4+ID4gKyAgICAgICAgICAgLyogQ2hlY2sgcHJl c2VuY2Ugb2YgNSBidXR0b24gYXJyYXkgb3IgdjIgcG93ZXINCj4gPj4gPiBidXR0b24gKi8NCj4g Pj4gPiArICAgICAgICAgICBpZiAoZXZlbnRfY2FwICYgMHg2MDAwMCkNCj4gPj4gPiArICAgICAg ICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KPiA+PiA+ICsgICB9DQo+ID4+ID4gKw0KPiA+PiA+ ICsgICBpZiAoaW50ZWxfaGlkX2V2YWx1YXRlX21ldGhvZChoYW5kbGUsDQo+ID4+ID4gSU5URUxf SElEX0RTTV9IRUJDX1YxX0ZOLA0KPiA+PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmZXZlbnRfY2FwKSkgew0KPiA+PiA+ICsgICAgICAgICAgIGlmIChldmVudF9jYXAgJiAw eDIwMDAwKQ0KPiA+PiA+ICsgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQo+ID4+ID4g KyAgIH0NCj4gPj4gPg0KPiA+PiA+ICAgICBpZiAoZG1pX2NoZWNrX3N5c3RlbShidXR0b25fYXJy YXlfdGFibGUpKQ0KPiA+PiA+IC0gICAgICAgICAgIHN1cHBvcnRlZCA9IHRydWU7DQo+ID4+ID4g KyAgICAgICAgICAgcmV0dXJuIHRydWU7DQo+ID4+ID4NCj4gPj4gPiAtICAgcmV0dXJuIHN1cHBv cnRlZDsNCj4gPj4gPiArICAgcmV0dXJuIGZhbHNlOw0KPiA+PiA+ICB9DQo+ID4+ID4NCj4gPj4g PiAgc3RhdGljIGludCBpbnRlbF9oaWRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2 aWNlKQ0KPiA+PiA+IEBAIC0zMDUsOCArNDM3LDkgQEAgc3RhdGljIGludCBpbnRlbF9oaWRfcHJv YmUoc3RydWN0DQo+ID4+ID4gcGxhdGZvcm1fZGV2aWNlICpkZXZpY2UpDQo+ID4+ID4gICAgIGFj cGlfc3RhdHVzIHN0YXR1czsNCj4gPj4gPiAgICAgaW50IGVycjsNCj4gPj4gPg0KPiA+PiA+IC0g ICBzdGF0dXMgPSBhY3BpX2V2YWx1YXRlX2ludGVnZXIoaGFuZGxlLCAiSERNTSIsIE5VTEwsDQo+ ID4+ID4gJm1vZGUpOw0KPiA+PiA+IC0gICBpZiAoQUNQSV9GQUlMVVJFKHN0YXR1cykpIHsNCj4g Pj4gPiArICAgaW50ZWxfaGlkX2luaXRfZHNtKGhhbmRsZSk7DQo+ID4+ID4gKw0KPiA+PiA+ICsg ICBpZiAoIWludGVsX2hpZF9ldmFsdWF0ZV9tZXRob2QoaGFuZGxlLA0KPiA+PiA+IElOVEVMX0hJ RF9EU01fSERNTV9GTiwNCj4gPj4gPiAmbW9kZSkpIHsNCj4gPj4gPiAgICAgICAgICAgICBkZXZf d2FybigmZGV2aWNlLT5kZXYsICJmYWlsZWQgdG8gcmVhZCBtb2RlXG4iKTsNCj4gPj4gPiAgICAg ICAgICAgICByZXR1cm4gLUVOT0RFVjsNCj4gPj4gPiAgICAgfQ0KPiA+PiA+IEBAIC0zNTIsMTMg KzQ4NSwxNiBAQCBzdGF0aWMgaW50IGludGVsX2hpZF9wcm9iZShzdHJ1Y3QNCj4gPj4gPiBwbGF0 Zm9ybV9kZXZpY2UNCj4gPj4gPiAqZGV2aWNlKQ0KPiA+PiA+ICAgICAgICAgICAgIGdvdG8gZXJy X3JlbW92ZV9ub3RpZnk7DQo+ID4+ID4NCj4gPj4gPiAgICAgaWYgKHByaXYtPmFycmF5KSB7DQo+ ID4+ID4gKyAgICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGR1bW15Ow0KPiA+PiA+ICsNCj4g Pj4gPiAgICAgICAgICAgICBpbnRlbF9idXR0b25fYXJyYXlfZW5hYmxlKCZkZXZpY2UtPmRldiwg dHJ1ZSk7DQo+ID4+ID4NCj4gPj4gPiAgICAgICAgICAgICAvKiBDYWxsIGJ1dHRvbiBsb2FkIG1l dGhvZCB0byBlbmFibGUgSElEIHBvd2VyDQo+ID4+ID4gYnV0dG9uICovDQo+ID4+ID4gLSAgICAg ICAgICAgc3RhdHVzID0gYWNwaV9ldmFsdWF0ZV9vYmplY3QoaGFuZGxlLCAiQlROTCIsDQo+ID4+ ID4gTlVMTCwgTlVMTCk7DQo+ID4+ID4gLSAgICAgICAgICAgaWYgKEFDUElfRkFJTFVSRShzdGF0 dXMpKQ0KPiA+PiA+ICsgICAgICAgICAgIGlmICghaW50ZWxfaGlkX2V2YWx1YXRlX21ldGhvZCho YW5kbGUsDQo+ID4+ID4gSU5URUxfSElEX0RTTV9CVE5MX0ZOLA0KPiA+PiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZHVtbXkpKSB7DQo+ID4+ID4gICAgICAg ICAgICAgICAgICAgICBkZXZfd2FybigmZGV2aWNlLT5kZXYsDQo+ID4+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiZmFpbGVkIHRvIGVuYWJsZSBISUQgcG93ZXINCj4gPj4gPiBidXR0 b25cbiIpOw0KPiA+PiA+ICsgICAgICAgICAgIH0NCj4gPj4gPiAgICAgfQ0KPiA+PiA+DQo+ID4+ ID4gICAgIGRldmljZV9pbml0X3dha2V1cCgmZGV2aWNlLT5kZXYsIHRydWUpOw0KPiA+PiA+IC0t DQo+ID4+ID4gMi4xNC4xDQo+ID4+DQo+ID4+DQo+IA0KPiANCj4gDQo+IC0tDQo+IFdpdGggQmVz dCBSZWdhcmRzLA0KPiBBbmR5IFNoZXZjaGVua28NCg==