Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp798481imu; Thu, 13 Dec 2018 04:47:55 -0800 (PST) X-Google-Smtp-Source: AFSGD/VgONfyCeSJXNgN8t7mj3pf9mU5nFwD9NfFaRvjjg3NfXmGYADXHRMtnuDvPC7AIpv6gkxH X-Received: by 2002:a63:de04:: with SMTP id f4mr21363823pgg.292.1544705275772; Thu, 13 Dec 2018 04:47:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544705275; cv=none; d=google.com; s=arc-20160816; b=FQ67signs5lj3ymcXwx5lBwHuSiXVbSPf0xsQx3lTheN8zl4MIIgpiJ23CuMlW5QYC Ka+CpLHRADEKy3pfJ40tsqX8pb9HZ8aIu6OF0tvVER4I/wfFOiuJQGM0omII5pOdIEQW u/ryZEqEOijvA1LGaLHwiOP0Mw5jcCifs79DM+pItni/7G7ddrOwfhtD3r/6z4ChVLFt J4ygVAoBqtEOWh9rjgW2xAhnV1w5JIiblQib6TlhAszqz4X6wDwXVA7GEi32bTYusLy2 n9D0cTxXyiYfLeOqiwgc/cPYwKwzYr8JjxTcY8UAy+mTFyct7uUnUcHLWrXerq3BKxHK 6Haw== 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-id:spamdiagnosticmetadata:spamdiagnosticoutput:user-agent :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=sgJxFoU3EJaDu2xlP3SevJE8we1RK0f3S7imxkQMdh0=; b=FbPeuK8RAvVo4skM1McspdWGV16+KukuXLcXeOSURpRS5KU/ty3STf1MELT/lyIfSo Y+hJ6auQ1rBxY9O3uocOkufrm9D6uatr+zIRNhKCztAJGVuNxpO8BUXSaH6QjFfzE+TS MwQAfTdoUcwgeqws09jCH1Amgj+ASvKRxxYvmUkxl+pL6odM/Dc/4oWTBRp+nwp8ItvN KmxBk0eSrzAVoFIJPQzt111S+ka9HD+MZlisSPPoUw0RgOXclHH0z9siHW9CJBAxHnvq xFGldjjnrQ5wev4CZShCBLObgvt8uFYnDcZFKD3OxHJ8cRTYVDE5Yd8ltbdAQ3Ajh2ow yejg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nokia.onmicrosoft.com header.s=selector1-nokia-com header.b=tMjN7rFR; 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=nokia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z3si1408675pln.430.2018.12.13.04.47.39; Thu, 13 Dec 2018 04:47:55 -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=@nokia.onmicrosoft.com header.s=selector1-nokia-com header.b=tMjN7rFR; 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=nokia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729145AbeLMMpm (ORCPT + 99 others); Thu, 13 Dec 2018 07:45:42 -0500 Received: from mail-eopbgr60139.outbound.protection.outlook.com ([40.107.6.139]:10375 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728517AbeLMMpm (ORCPT ); Thu, 13 Dec 2018 07:45:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sgJxFoU3EJaDu2xlP3SevJE8we1RK0f3S7imxkQMdh0=; b=tMjN7rFRSu6g3uHDlzryGFu6illHEJ9LEw3qzVvmM0H3vq6F1mKzAyd8jhbbDLVU8PXVNGXfTnAxCWSKHooqZcbRRPgzD7Mph7GtGB7mSRlzlAunHQUiHdjsFCjx9qaXwdlauQ9scbzFtHe0+Ndm1HbD/LVMje74EqmRmrc2zpU= Received: from VI1PR07MB5088.eurprd07.prod.outlook.com (20.177.203.160) by VI1PR07MB4127.eurprd07.prod.outlook.com (52.134.21.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1446.8; Thu, 13 Dec 2018 12:45:31 +0000 Received: from VI1PR07MB5088.eurprd07.prod.outlook.com ([fe80::3512:aeb7:a1a4:1132]) by VI1PR07MB5088.eurprd07.prod.outlook.com ([fe80::3512:aeb7:a1a4:1132%4]) with mapi id 15.20.1446.010; Thu, 13 Dec 2018 12:45:31 +0000 From: "Sverdlin, Alexander (Nokia - DE/Ulm)" To: "Adamski, Krzysztof (Nokia - PL/Wroclaw)" , Wolfram Sang CC: "linux-i2c@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Linus Walleij , Guenter Roeck , Tobias Jordan , Peter Rosin Subject: Re: [PATCH v2] i2c: axxia: support sequence command mode Thread-Topic: [PATCH v2] i2c: axxia: support sequence command mode Thread-Index: AQHUkty4Wm0dhdK350uQLPiB4SOUtqV8nbiA Date: Thu, 13 Dec 2018 12:45:31 +0000 Message-ID: <2b970778-dd77-816a-063c-210643ddaf0c@nokia.com> References: <20181211200435.abk3jdsmltz7c26w@ninjato> <20181213120926.GA10479@localhost.localdomain> In-Reply-To: <20181213120926.GA10479@localhost.localdomain> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [131.228.2.16] user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.2 x-clientproxiedby: HE1P191CA0012.EURP191.PROD.OUTLOOK.COM (2603:10a6:3:cf::22) To VI1PR07MB5088.eurprd07.prod.outlook.com (2603:10a6:803:9e::32) x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;VI1PR07MB4127;6:P7I1GZiabXZj3okuJ13I/9YGjoDAriv6Z/nwltfUxahkUINqBGClR3S6RzWrxWK3rOo66/JG0x3F15bHkF4cEgDrWcTvLEJK7k91W/jh+MLxFRBQhVi3rUvwHx2NcXZL9DlIZqkBxLhuoHqXM/kavZ4UcL46+cRGapevSDpcOk4kKwjU6oiTO0tjqq3NJOegEZ6lMCi5RLMGVgX4+X/tZReQZSFZbPurS1BLseUbiX/m24nvgwqsCNmcfu+nM7UVK2hF182JvwMkq6CrI5VtKZIx2QTh4hGDVN6F8aDaxtqCY3zmP9BVMeslCnC88SjaHEKHBdofB5B0obUOVcqDkc+amSKMQpCENc/gSRL79s93S9XVlzUsNKyI0s+pPcjOxv/cjXmG0pYX6+I1u/lK2i3duf7+TcQgd9JZYwTfTvDKauBptTgWvZx+kv86dop2uWanAgZvSEoOGWH/ROFP6w==;5:2rtjzVLFilIFxz6XXnfs+iD52l/gXNIuMevpDNNUOV2+Cyteam2so4//AvQqGHElDe5x9Is4IjxOYmKrOmoOFXFV6P8UmZAyUdpA9f58NUZCDsq5aNLX+0oqT8y0kgctoSP8UeP90dnekvnzO3wpW/aqyiyf8LRgh+G7xNH30co=;7:osazsJOMqTDRxonB7z7dmygzeWifgrVVLaw801iFk/0nI1e11y0eBBKXeGci1XocW5pjHyfL5OPDII1HyUTaEvujwVmLJf+3mlrN5+81NoKGOMFqYvo/KxNK7sgWd9JRQe+9Sp9c51/QA6amM4+Ufw== x-ms-office365-filtering-correlation-id: 06798d7c-54e6-43bf-9692-08d660f8ddee x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390098)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7193020);SRVR:VI1PR07MB4127; x-ms-traffictypediagnostic: VI1PR07MB4127: authentication-results: spf=none (sender IP is ) smtp.mailfrom=alexander.sverdlin@nokia.com; x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(3230021)(999002)(11241501185)(806100)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231475)(944501520)(52105112)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123564045)(20161123562045)(201708071742011)(7699051)(76991095);SRVR:VI1PR07MB4127;BCL:0;PCL:0;RULEID:;SRVR:VI1PR07MB4127; x-forefront-prvs: 088552DE73 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(979002)(396003)(136003)(39860400002)(376002)(366004)(346002)(199004)(189003)(65806001)(65956001)(8936002)(105586002)(53936002)(81166006)(81156014)(8676002)(4326008)(551934003)(6512007)(65826007)(5660300001)(2906002)(36756003)(106356001)(7736002)(66066001)(305945005)(14454004)(6246003)(97736004)(6116002)(25786009)(3846002)(476003)(316002)(478600001)(54906003)(64126003)(256004)(386003)(6486002)(186003)(53546011)(6506007)(102836004)(14444005)(31696002)(76176011)(71190400001)(99286004)(26005)(446003)(6436002)(58126008)(229853002)(11346002)(486006)(71200400001)(575784001)(86362001)(52116002)(2616005)(110136005)(68736007)(31686004)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR07MB4127;H:VI1PR07MB5088.eurprd07.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: nokia.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: QS1/vRY0ur3l51Z1+rQC8dIB8J8KhNWZgo8lSHijfoPl3V2svtdRwCQ3AG+a55Xoq7hVctq65dvgme7/466Y0R4+DAVDjwqqjWrQNa8X0XvHG+xrvM7EnoYjKT738oD7B5YblcwyC4FwwlNXXN+tCq3pkBQP816bWJXPYOsWHdmg7/9Gb48qVGYhxqGrzAOHMIL6Ef8oVnjLN9/xkp352uPGLNub/zP2uc+8DPDv1LUDkfSanO2BJ7JozcSs61v1aOWdRdFvBYV32W57s9WRckcaLHTEmO4uqqh8a/cgABsuRp+yb+NIwSaRMBX4MlGw spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <579FB5A56272E34AB8D80E5662F9D457@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06798d7c-54e6-43bf-9692-08d660f8ddee X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2018 12:45:31.4654 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB4127 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkhDQoNCk9uIDEzLzEyLzIwMTggMTM6MDksIEFkYW1za2ksIEtyenlzenRvZiAoTm9raWEgLSBQ TC9Xcm9jbGF3KSB3cm90ZToNCj4gSW4gb3JkZXIgdG8gY29tcGx5IHdpdGggU01CdXMgc3BlY2lm aWNhdGlvbiwgdGhlIEF4eGlhIEnCskMgbW9kdWxlIHdpbGwNCj4gYWJvcnQgdGhlIG11bHRpIG1l c3NhZ2UgdHJhbnNmZXIgaWYgdGhlIGRlbGF5IGJldHdlZW4gZmluaXNoaW5nIHNlbmRpbmcNCj4g b25lIG1lc3NhZ2UgYW5kIHN0YXJ0aW5nIGFub3RoZXIgaXMgbG9uZ2VyIHRoYW4gMjVtcy4gVW5m b3J0dW5hdGVseSBpdA0KPiBpc24ndCB0aGF0IGhhcmQgdG8gdHJpZ2dlciB0aGlzIHNpdHVhdGlv biBvbiBhIGJ1c3kgc3lzdGVtLiBJbiBvcmRlciB0bw0KPiBmaXggdGhpcyBwcm9ibGVtLCB3ZSBz aG91bGQgbWFrZSBzdXJlIGhhcmR3YXJlIGRvZXMgd2hvbGUgdHJhbnNhY3Rpb24NCj4gd2l0aG91 dCB3YWl0aW5nIGZvciBzb2Z0d2FyZSB0byBmaWxsIHNvbWUgZGF0YS4NCj4gDQo+IEZvcnR1bmF0 ZWx5LCBpbiBhZGRpdGlvbiB0byBNYW51YWwgbW9kZSB0aGF0IGlzIGN1cnJlbnRseSB1c2VkIGJ5 IHRoZQ0KPiBkcml2ZXIgdG8gcGVyZm9ybSBJwrJDIHRyYW5zZmVycywgdGhlIG1vZHVsZSBzdXBw b3J0cyBhbHNvIHNvIGNhbGxlZA0KPiBTZXF1ZW5jZSBtb2RlLiBJbiB0aGlzIG1vZGUsIHRoZSBt b2R1bGUgYXV0b21hdGljYWxseSBwZXJmb3Jtcw0KPiBwcmVkZWZpbmVkIHNlcXVlbmNlIG9mIG9w ZXJhdGlvbnMgLSBpdCBzZW5kcyBhIHNsYXZlIGFkZHJlc3MsIHRyYW5zbWl0cw0KPiBzcGVjaWZp ZWQgbnVtYmVyIG9mIGJ5dGVzIGZyb20gdGhlIEZJRk8sIGNoYW5nZXMgdHJhbnNmZXIgZGlyZWN0 aW9uLA0KPiByZXNlbmRzIHRoZSBzbGF2ZSBhZGRyZXNzIGFuZCB0aGVuIHJlYWRzIHNwZWNpZmll ZCBudW1iZXIgb2YgYnl0ZXMgdG8NCj4gRklGTy4gV2hpbGUgdmVyeSBpbmZsZXhpYmxlLCB0aGlz IGRvZXMgZml0IGEgbW9zdCBjb21tb24gY2FzZSBvZiBtdWx0aQ0KPiBtZXNzYWdlIHRyYW5zZmVy IC0gdGhlIG9uZSB3aGVyZSB5b3UgZmlyc3Qgd3JpdGUgYSByZWdpc3RlciBudW1iZXIgeW91DQo+ IHdhbnQgdG8gcmVhZCBhbmQgdGhlbiByZWFkIGl0Lg0KPiANCj4gVG8gdXNlIHRoaXMgbW9kZSBl ZmZlY3RpdmVseSwgYSBudW1iZXIgb2YgY29uZGl0aW9ucyBtdXN0IGJlIG1ldCB0bw0KPiBlbnN1 cmUgdGhlIHRyYW5zYWN0aW9uIGRvZXMgZml0IHRoZSBwcmVkZWZpbmVkIHNlcXVlbmNlLiBJbiBj YXNlIHRoaXMgaXMNCj4gbm90IHRoZSBjYXNlLCBhIGZhbGxiYWNrIHRvIG1hbnVhbCBtb2RlIGlz IHVzZWQuDQo+IA0KPiBUaGUgaW5pdGlhbGl6YXRpb24gb2YgdGhpcyBtb2RlIGlzIHZlcnkgc2lt aWxhciB0byBNYW51YWwgbW9kZS4gVGhlIG1vc3QNCj4gbm90YWJsZSBkaWZmZXJlbmNlIGlzIGRp ZmZlcmVudCBiaXQgaW4gdGhlIE1hc3RlciBJbnRlcnJ1cHQgU3RhdHVzDQo+IGRlc2lnbmF0aW5n IGZpbmlzaGluZyBvZiB0cmFuc2FjdGlvbi4gQWxzbyBzb21lIG9mIHRoZSBlcnJvcnMsIGxpa2Ug VFNTLA0KPiBjYW5ub3QgaGFwcGVuIGluIHRoaXMgbW9kZS4NCj4gDQo+IFdoaWxlIGl0IGlzIHBv c3NpYmxlIHRvIHN1cHBvcnQgdHJhbnNhY3Rpb25zIHJlcXVlc3RpbmcgYSByZWFkIG9mIGFueQ0K PiBzaXplIChSRkwgaW50ZXJydXB0IHdpbGwgYmUgZ2VuZXJhdGVkIHdoZW4gRklGTyBzaXplIGlz IG5vdCBlbm91Z2gpIHRoZQ0KPiBURkwgaW50ZXJydXB0IGlzIG5vdCBhdmFpbGFibGUgaW4gdGhp cyBtb2RlLCB0aHVzIHRoZSB3cml0ZSBwYXJ0IG9mIHRoZQ0KPiB0cmFuc2FjdGlvbiBjYW5ub3Qg ZXhjZWVkIEZJRk9fU0laRSAoOCkuDQo+IA0KPiBOb3RlIHRoYXQgaW4gY2FzZSBvZiBhIE5BSyBk dXJpbmcgdHJhbnNhY3Rpb24sIHRoZSBOQS9ORCBzdGF0dXMgYml0cw0KPiB3aWxsIGJlIHNldCBi ZWZvcmUgU1RPUCBjb21tYW5kIGlzIGdlbmVyYXRlZCwgdHJpZ2dlcmluZyBhbiBpbnRlcnJ1cHQN Cj4gd2hpbGUgdGhlIGNvbnRyb2xsZXIgaXMgc3RpbGwgYnVzeS4gQ3VycmVudCBzb2x1dGlvbiBm b3IgdGhpcyBwcm9ibGVtIGlzDQo+IHRvIGFjdGl2ZWx5IHdhaXQgZm9yIHRoaXMgY29tbWFuZCB0 byBzdG9wIGJlZm9yZSBsZWF2aW5nIHhmZXIgY2FsbGJhY2suDQoNClJldmlld2VkLWJ5OiBBbGV4 YW5kZXIgU3ZlcmRsaW4gPGFsZXhhbmRlci5zdmVyZGxpbkBub2tpYS5jb20+DQoNCj4gU2lnbmVk LW9mZi1ieTogS3J6eXN6dG9mIEFkYW1za2kgPGtyenlzenRvZi5hZGFtc2tpQG5va2lhLmNvbT4N Cj4gLS0tDQo+IA0KPiBTb3JyeSBmb3IgdGhvc2UgcHJvYmxlbXMgSSBzdGlsbCBkb24ndCBrbm93 IHdoeSBteSBjaGVja3BhdGNoIGRpZCBub3QNCj4gY29tcGxhaW4gYWJvdXQgaXQgKGhhdmUgdG8g dmVyaWZ5IHRoYXQpIGFuZCBJIGRpZCBhZGQgc21hdGNoIHRvIG15DQo+IGFyc2VuYWwgbm93Lg0K PiANCj4gQ2hhbmdlcyBpbiB2MjoNCj4gLSBhZGRlZCB0aW1lb3V0IHRvIGF4eGlhX2kyY19oYW5k bGVfc2VxX25haygpDQo+IC0gY2hhbmdlZCB1ZGVsYXkgdG8gdXNsZWVwX3JhbmdlIGluIGF4eGlh X2kyY19oYW5kbGVfc2VxX25haygpDQo+IA0KPiAgZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1heHhp YS5jIHwgMTA4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQ0KPiAgMSBmaWxlIGNo YW5nZWQsIDEwMSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYXh4aWEuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9p MmMtYXh4aWEuYw0KPiBpbmRleCAzNTI1ODMyMWU4MWIuLjAzZjFjZTc1YTMyZSAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1heHhpYS5jDQo+ICsrKyBiL2RyaXZlcnMvaTJj L2J1c3Nlcy9pMmMtYXh4aWEuYw0KPiBAQCAtMTIsNiArMTIsNyBAQA0KPiAgICovDQo+ICAjaW5j bHVkZSA8bGludXgvY2xrLmg+DQo+ICAjaW5jbHVkZSA8bGludXgvY2xrZGV2Lmg+DQo+ICsjaW5j bHVkZSA8bGludXgvZGVsYXkuaD4NCj4gICNpbmNsdWRlIDxsaW51eC9lcnIuaD4NCj4gICNpbmNs dWRlIDxsaW51eC9pMmMuaD4NCj4gICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+DQo+IEBAIC0yNSw2 ICsyNiw3IEBADQo+ICAjZGVmaW5lIEkyQ19YRkVSX1RJTUVPVVQgICAgKG1zZWNzX3RvX2ppZmZp ZXMoMjUwKSkNCj4gICNkZWZpbmUgSTJDX1NUT1BfVElNRU9VVCAgICAobXNlY3NfdG9famlmZmll cygxMDApKQ0KPiAgI2RlZmluZSBGSUZPX1NJWkUgICAgICAgICAgIDgNCj4gKyNkZWZpbmUgU0VR X0xFTiAgICAgICAgICAgICAyDQo+ICANCj4gICNkZWZpbmUgR0xPQkFMX0NPTlRST0wJCTB4MDAN Cj4gICNkZWZpbmUgICBHTE9CQUxfTVNUX0VOICAgICAgICAgQklUKDApDQo+IEBAIC01MSw2ICs1 Myw3IEBADQo+ICAjZGVmaW5lICAgQ01EX0JVU1kJCSgxPDwzKQ0KPiAgI2RlZmluZSAgIENNRF9N QU5VQUwJCSgweDAwIHwgQ01EX0JVU1kpDQo+ICAjZGVmaW5lICAgQ01EX0FVVE8JCSgweDAxIHwg Q01EX0JVU1kpDQo+ICsjZGVmaW5lICAgQ01EX1NFUVVFTkNFCQkoMHgwMiB8IENNRF9CVVNZKQ0K PiAgI2RlZmluZSBNU1RfUlhfWEZFUgkJMHgyYw0KPiAgI2RlZmluZSBNU1RfVFhfWEZFUgkJMHgz MA0KPiAgI2RlZmluZSBNU1RfQUREUl8xCQkweDM0DQo+IEBAIC04Nyw3ICs5MCw5IEBADQo+ICAg KiBheHhpYV9pMmNfZGV2IC0gSTJDIGRldmljZSBjb250ZXh0DQo+ICAgKiBAYmFzZTogcG9pbnRl ciB0byByZWdpc3RlciBzdHJ1Y3QNCj4gICAqIEBtc2c6IHBvaW50ZXIgdG8gY3VycmVudCBtZXNz YWdlDQo+IC0gKiBAbXNnX3hmcmQ6IG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCBpbiBtc2cN Cj4gKyAqIEBtc2dfcjogcG9pbnRlciB0byBjdXJyZW50IHJlYWQgbWVzc2FnZSAoc2VxdWVuY2Ug dHJhbnNmZXIpDQo+ICsgKiBAbXNnX3hmcmQ6IG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCBp biB0eF9maWZvDQo+ICsgKiBAbXNnX3hmcmRfcjogbnVtYmVyIG9mIGJ5dGVzIHRyYW5zZmVycmVk IGluIHJ4X2ZpZm8NCj4gICAqIEBtc2dfZXJyOiBlcnJvciBjb2RlIGZvciBjb21wbGV0ZWQgbWVz c2FnZQ0KPiAgICogQG1zZ19jb21wbGV0ZTogeGZlciBjb21wbGV0aW9uIG9iamVjdA0KPiAgICog QGRldjogZGV2aWNlIHJlZmVyZW5jZQ0KPiBAQCAtOTgsNyArMTAzLDkgQEANCj4gIHN0cnVjdCBh eHhpYV9pMmNfZGV2IHsNCj4gIAl2b2lkIF9faW9tZW0gKmJhc2U7DQo+ICAJc3RydWN0IGkyY19t c2cgKm1zZzsNCj4gKwlzdHJ1Y3QgaTJjX21zZyAqbXNnX3I7DQo+ICAJc2l6ZV90IG1zZ194ZnJk Ow0KPiArCXNpemVfdCBtc2dfeGZyZF9yOw0KPiAgCWludCBtc2dfZXJyOw0KPiAgCXN0cnVjdCBj b21wbGV0aW9uIG1zZ19jb21wbGV0ZTsNCj4gIAlzdHJ1Y3QgZGV2aWNlICpkZXY7DQo+IEBAIC0y MjcsMTQgKzIzNCwxNCBAQCBzdGF0aWMgaW50IGkyY19tX3JlY3ZfbGVuKGNvbnN0IHN0cnVjdCBp MmNfbXNnICptc2cpDQo+ICAgKi8NCj4gIHN0YXRpYyBpbnQgYXh4aWFfaTJjX2VtcHR5X3J4X2Zp Zm8oc3RydWN0IGF4eGlhX2kyY19kZXYgKmlkZXYpDQo+ICB7DQo+IC0Jc3RydWN0IGkyY19tc2cg Km1zZyA9IGlkZXYtPm1zZzsNCj4gKwlzdHJ1Y3QgaTJjX21zZyAqbXNnID0gaWRldi0+bXNnX3I7 DQo+ICAJc2l6ZV90IHJ4X2ZpZm9fYXZhaWwgPSByZWFkbChpZGV2LT5iYXNlICsgTVNUX1JYX0ZJ Rk8pOw0KPiAtCWludCBieXRlc190b190cmFuc2ZlciA9IG1pbihyeF9maWZvX2F2YWlsLCBtc2ct PmxlbiAtIGlkZXYtPm1zZ194ZnJkKTsNCj4gKwlpbnQgYnl0ZXNfdG9fdHJhbnNmZXIgPSBtaW4o cnhfZmlmb19hdmFpbCwgbXNnLT5sZW4gLSBpZGV2LT5tc2dfeGZyZF9yKTsNCj4gIA0KPiAgCXdo aWxlIChieXRlc190b190cmFuc2Zlci0tID4gMCkgew0KPiAgCQlpbnQgYyA9IHJlYWRsKGlkZXYt PmJhc2UgKyBNU1RfREFUQSk7DQo+ICANCj4gLQkJaWYgKGlkZXYtPm1zZ194ZnJkID09IDAgJiYg aTJjX21fcmVjdl9sZW4obXNnKSkgew0KPiArCQlpZiAoaWRldi0+bXNnX3hmcmRfciA9PSAwICYm IGkyY19tX3JlY3ZfbGVuKG1zZykpIHsNCj4gIAkJCS8qDQo+ICAJCQkgKiBDaGVjayBsZW5ndGgg Ynl0ZSBmb3IgU01CdXMgYmxvY2sgcmVhZA0KPiAgCQkJICovDQo+IEBAIC0yNDcsNyArMjU0LDcg QEAgc3RhdGljIGludCBheHhpYV9pMmNfZW1wdHlfcnhfZmlmbyhzdHJ1Y3QgYXh4aWFfaTJjX2Rl diAqaWRldikNCj4gIAkJCW1zZy0+bGVuID0gMSArIGM7DQo+ICAJCQl3cml0ZWwobXNnLT5sZW4s IGlkZXYtPmJhc2UgKyBNU1RfUlhfWEZFUik7DQo+ICAJCX0NCj4gLQkJbXNnLT5idWZbaWRldi0+ bXNnX3hmcmQrK10gPSBjOw0KPiArCQltc2ctPmJ1ZltpZGV2LT5tc2dfeGZyZF9yKytdID0gYzsN Cj4gIAl9DQo+ICANCj4gIAlyZXR1cm4gMDsNCj4gQEAgLTI4Nyw3ICsyOTQsNyBAQCBzdGF0aWMg aXJxcmV0dXJuX3QgYXh4aWFfaTJjX2lzcihpbnQgaXJxLCB2b2lkICpfZGV2KQ0KPiAgCX0NCj4g IA0KPiAgCS8qIFJYIEZJRk8gbmVlZHMgc2VydmljZT8gKi8NCj4gLQlpZiAoaTJjX21fcmQoaWRl di0+bXNnKSAmJiAoc3RhdHVzICYgTVNUX1NUQVRVU19SRkwpKQ0KPiArCWlmIChpMmNfbV9yZChp ZGV2LT5tc2dfcikgJiYgKHN0YXR1cyAmIE1TVF9TVEFUVVNfUkZMKSkNCj4gIAkJYXh4aWFfaTJj X2VtcHR5X3J4X2ZpZm8oaWRldik7DQo+ICANCj4gIAkvKiBUWCBGSUZPIG5lZWRzIHNlcnZpY2U/ ICovDQo+IEBAIC0zMjAsOSArMzI3LDEyIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBheHhpYV9pMmNf aXNyKGludCBpcnEsIHZvaWQgKl9kZXYpDQo+ICAJfSBlbHNlIGlmIChzdGF0dXMgJiBNU1RfU1RB VFVTX1NOUykgew0KPiAgCQkvKiBUcmFuc2ZlciBkb25lICovDQo+ICAJCWkyY19pbnRfZGlzYWJs ZShpZGV2LCB+TVNUX1NUQVRVU19UU1MpOw0KPiAtCQlpZiAoaTJjX21fcmQoaWRldi0+bXNnKSAm JiBpZGV2LT5tc2dfeGZyZCA8IGlkZXYtPm1zZy0+bGVuKQ0KPiArCQlpZiAoaTJjX21fcmQoaWRl di0+bXNnX3IpICYmIGlkZXYtPm1zZ194ZnJkX3IgPCBpZGV2LT5tc2dfci0+bGVuKQ0KPiAgCQkJ YXh4aWFfaTJjX2VtcHR5X3J4X2ZpZm8oaWRldik7DQo+ICAJCWNvbXBsZXRlKCZpZGV2LT5tc2df Y29tcGxldGUpOw0KPiArCX0gZWxzZSBpZiAoc3RhdHVzICYgTVNUX1NUQVRVU19TUykgew0KPiAr CQkvKiBBdXRvL1NlcXVlbmNlIHRyYW5zZmVyIGRvbmUgKi8NCj4gKwkJY29tcGxldGUoJmlkZXYt Pm1zZ19jb21wbGV0ZSk7DQo+ICAJfSBlbHNlIGlmIChzdGF0dXMgJiBNU1RfU1RBVFVTX1RTUykg ew0KPiAgCQkvKiBUcmFuc2ZlciB0aW1lb3V0ICovDQo+ICAJCWlkZXYtPm1zZ19lcnIgPSAtRVRJ TUVET1VUOw0KPiBAQCAtMzYzLDYgKzM3Myw3MCBAQCBzdGF0aWMgdm9pZCBheHhpYV9pMmNfc2V0 X2FkZHIoc3RydWN0IGF4eGlhX2kyY19kZXYgKmlkZXYsIHN0cnVjdCBpMmNfbXNnICptc2cpDQo+ ICAJd3JpdGVsKGFkZHJfMiwgaWRldi0+YmFzZSArIE1TVF9BRERSXzIpOw0KPiAgfQ0KPiAgDQo+ ICsvKiBUaGUgTkFLIGludGVycnVwdCB3aWxsIGJlIHNlbnQgX2JlZm9yZV8gaXNzdWluZyBTVE9Q IGNvbW1hbmQNCj4gKyAqIHNvIHRoZSBjb250cm9sbGVyIG1pZ2h0IHN0aWxsIGJlIGJ1c3kgcHJv Y2Vzc2luZyBpdC4gTm8NCj4gKyAqIGludGVycnVwdCB3aWxsIGJlIHNlbnQgYXQgdGhlIGVuZCBz byB3ZSBoYXZlIHRvIHBvbGwgZm9yIGl0DQo+ICsgKi8NCj4gK3N0YXRpYyBpbnQgYXh4aWFfaTJj X2hhbmRsZV9zZXFfbmFrKHN0cnVjdCBheHhpYV9pMmNfZGV2ICppZGV2KQ0KPiArew0KPiArCXVu c2lnbmVkIGxvbmcgdGltZW91dCA9IGppZmZpZXMgKyBJMkNfWEZFUl9USU1FT1VUOw0KPiArDQo+ ICsJZG8gew0KPiArCQlpZiAoKHJlYWRsKGlkZXYtPmJhc2UgKyBNU1RfQ09NTUFORCkgJiBDTURf QlVTWSkgPT0gMCkNCj4gKwkJCXJldHVybiAwOw0KPiArCQl1c2xlZXBfcmFuZ2UoMSwgMTAwKTsN Cj4gKwl9IHdoaWxlICh0aW1lX2JlZm9yZShqaWZmaWVzLCB0aW1lb3V0KSk7DQo+ICsNCj4gKwly ZXR1cm4gLUVUSU1FRE9VVDsNCj4gK30NCj4gKw0KPiArc3RhdGljIGludCBheHhpYV9pMmNfeGZl cl9zZXEoc3RydWN0IGF4eGlhX2kyY19kZXYgKmlkZXYsIHN0cnVjdCBpMmNfbXNnIG1zZ3NbXSkN Cj4gK3sNCj4gKwl1MzIgaW50X21hc2sgPSBNU1RfU1RBVFVTX0VSUiB8IE1TVF9TVEFUVVNfU1Mg fCBNU1RfU1RBVFVTX1JGTDsNCj4gKwl1MzIgcmxlbiA9IGkyY19tX3JlY3ZfbGVuKCZtc2dzWzFd KSA/IEkyQ19TTUJVU19CTE9DS19NQVggOiBtc2dzWzFdLmxlbjsNCj4gKwl1bnNpZ25lZCBsb25n IHRpbWVfbGVmdDsNCj4gKw0KPiArCWF4eGlhX2kyY19zZXRfYWRkcihpZGV2LCAmbXNnc1swXSk7 DQo+ICsNCj4gKwl3cml0ZWwobXNnc1swXS5sZW4sIGlkZXYtPmJhc2UgKyBNU1RfVFhfWEZFUik7 DQo+ICsJd3JpdGVsKHJsZW4sIGlkZXYtPmJhc2UgKyBNU1RfUlhfWEZFUik7DQo+ICsNCj4gKwlp ZGV2LT5tc2cgPSAmbXNnc1swXTsNCj4gKwlpZGV2LT5tc2dfciA9ICZtc2dzWzFdOw0KPiArCWlk ZXYtPm1zZ194ZnJkID0gMDsNCj4gKwlpZGV2LT5tc2dfeGZyZF9yID0gMDsNCj4gKwlheHhpYV9p MmNfZmlsbF90eF9maWZvKGlkZXYpOw0KPiArDQo+ICsJd3JpdGVsKENNRF9TRVFVRU5DRSwgaWRl di0+YmFzZSArIE1TVF9DT01NQU5EKTsNCj4gKw0KPiArCXJlaW5pdF9jb21wbGV0aW9uKCZpZGV2 LT5tc2dfY29tcGxldGUpOw0KPiArCWkyY19pbnRfZW5hYmxlKGlkZXYsIGludF9tYXNrKTsNCj4g Kw0KPiArCXRpbWVfbGVmdCA9IHdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91dCgmaWRldi0+bXNn X2NvbXBsZXRlLA0KPiArCQkJCQkJSTJDX1hGRVJfVElNRU9VVCk7DQo+ICsNCj4gKwlpMmNfaW50 X2Rpc2FibGUoaWRldiwgaW50X21hc2spOw0KPiArDQo+ICsJYXh4aWFfaTJjX2VtcHR5X3J4X2Zp Zm8oaWRldik7DQo+ICsNCj4gKwlpZiAoaWRldi0+bXNnX2VyciA9PSAtRU5YSU8pIHsNCj4gKwkJ aWYgKGF4eGlhX2kyY19oYW5kbGVfc2VxX25hayhpZGV2KSkNCj4gKwkJCWF4eGlhX2kyY19pbml0 KGlkZXYpOw0KPiArCX0gZWxzZSBpZiAocmVhZGwoaWRldi0+YmFzZSArIE1TVF9DT01NQU5EKSAm IENNRF9CVVNZKQ0KPiArCQlkZXZfd2FybihpZGV2LT5kZXYsICJidXN5IGFmdGVyIHhmZXJcbiIp Ow0KPiArDQo+ICsJaWYgKHRpbWVfbGVmdCA9PSAwKSB7DQo+ICsJCWlkZXYtPm1zZ19lcnIgPSAt RVRJTUVET1VUOw0KPiArCQlpMmNfcmVjb3Zlcl9idXMoJmlkZXYtPmFkYXB0ZXIpOw0KPiArCQlh eHhpYV9pMmNfaW5pdChpZGV2KTsNCj4gKwl9DQo+ICsNCj4gKwlpZiAodW5saWtlbHkoaWRldi0+ bXNnX2VycikgJiYgaWRldi0+bXNnX2VyciAhPSAtRU5YSU8pDQo+ICsJCWF4eGlhX2kyY19pbml0 KGlkZXYpOw0KPiArDQo+ICsJcmV0dXJuIGlkZXYtPm1zZ19lcnI7DQo+ICt9DQo+ICsNCj4gIHN0 YXRpYyBpbnQgYXh4aWFfaTJjX3hmZXJfbXNnKHN0cnVjdCBheHhpYV9pMmNfZGV2ICppZGV2LCBz dHJ1Y3QgaTJjX21zZyAqbXNnKQ0KPiAgew0KPiAgCXUzMiBpbnRfbWFzayA9IE1TVF9TVEFUVVNf RVJSIHwgTVNUX1NUQVRVU19TTlM7DQo+IEBAIC0zNzEsNyArNDQ1LDkgQEAgc3RhdGljIGludCBh eHhpYV9pMmNfeGZlcl9tc2coc3RydWN0IGF4eGlhX2kyY19kZXYgKmlkZXYsIHN0cnVjdCBpMmNf bXNnICptc2cpDQo+ICAJdW5zaWduZWQgaW50IHd0X3ZhbHVlOw0KPiAgDQo+ICAJaWRldi0+bXNn ID0gbXNnOw0KPiArCWlkZXYtPm1zZ19yID0gbXNnOw0KPiAgCWlkZXYtPm1zZ194ZnJkID0gMDsN Cj4gKwlpZGV2LT5tc2dfeGZyZF9yID0gMDsNCj4gIAlyZWluaXRfY29tcGxldGlvbigmaWRldi0+ bXNnX2NvbXBsZXRlKTsNCj4gIA0KPiAgCWF4eGlhX2kyY19zZXRfYWRkcihpZGV2LCBtc2cpOw0K PiBAQCAtNDUyLDYgKzUyOCwxOCBAQCBzdGF0aWMgaW50IGF4eGlhX2kyY19zdG9wKHN0cnVjdCBh eHhpYV9pMmNfZGV2ICppZGV2KQ0KPiAgCXJldHVybiAwOw0KPiAgfQ0KPiAgDQo+ICsvKiBUaGlz IGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGUgbXNnc1tdIGFycmF5IGNvbnRhaW5zIG1lc3NhZ2VzIGNv bXBhdGlibGUgd2l0aA0KPiArICogU2VxdWVuY2UgbW9kZSBvZiBvcGVyYXRpb24uIFRoaXMgbW9k ZSBhc3N1bWVzIHRoZXJlIHdpbGwgYmUgZXhhY3RseSBvbmUNCj4gKyAqIHdyaXRlIG9mIG5vbi16 ZXJvIGxlbmd0aCBmb2xsb3dlZCBieSBleGFjdGx5IG9uZSByZWFkIG9mIG5vbi16ZXJvIGxlbmd0 aCwNCj4gKyAqIGJvdGggdGFyZ2V0ZWQgYXQgdGhlIHNhbWUgY2xpZW50IGRldmljZS4NCj4gKyAq Lw0KPiArc3RhdGljIGJvb2wgYXh4aWFfaTJjX3NlcXVlbmNlX29rKHN0cnVjdCBpMmNfbXNnIG1z Z3NbXSwgaW50IG51bSkNCj4gK3sNCj4gKwlyZXR1cm4gbnVtID09IFNFUV9MRU4gJiYgIWkyY19t X3JkKCZtc2dzWzBdKSAmJiBpMmNfbV9yZCgmbXNnc1sxXSkgJiYNCj4gKwkgICAgICAgbXNnc1sw XS5sZW4gPiAwICYmIG1zZ3NbMF0ubGVuIDw9IEZJRk9fU0laRSAmJg0KPiArCSAgICAgICBtc2dz WzFdLmxlbiA+IDAgJiYgbXNnc1swXS5hZGRyID09IG1zZ3NbMV0uYWRkcjsNCj4gK30NCj4gKw0K PiAgc3RhdGljIGludA0KPiAgYXh4aWFfaTJjX3hmZXIoc3RydWN0IGkyY19hZGFwdGVyICphZGFw LCBzdHJ1Y3QgaTJjX21zZyBtc2dzW10sIGludCBudW0pDQo+ICB7DQo+IEBAIC00NjAsNiArNTQ4 LDEyIEBAIGF4eGlhX2kyY194ZmVyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgc3RydWN0IGky Y19tc2cgbXNnc1tdLCBpbnQgbnVtKQ0KPiAgCWludCByZXQgPSAwOw0KPiAgDQo+ICAJaWRldi0+ bXNnX2VyciA9IDA7DQo+ICsNCj4gKwlpZiAoYXh4aWFfaTJjX3NlcXVlbmNlX29rKG1zZ3MsIG51 bSkpIHsNCj4gKwkJcmV0ID0gYXh4aWFfaTJjX3hmZXJfc2VxKGlkZXYsIG1zZ3MpOw0KPiArCQly ZXR1cm4gcmV0ID8gOiBTRVFfTEVOOw0KPiArCX0NCj4gKw0KPiAgCWkyY19pbnRfZW5hYmxlKGlk ZXYsIE1TVF9TVEFUVVNfVFNTKTsNCj4gIA0KPiAgCWZvciAoaSA9IDA7IHJldCA9PSAwICYmIGkg PCBudW07ICsraSkNCj4gDQoNCi0tIA0KQmVzdCByZWdhcmRzLA0KQWxleGFuZGVyIFN2ZXJkbGlu Lg0K