Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752837AbdLFHLl (ORCPT ); Wed, 6 Dec 2017 02:11:41 -0500 Received: from mail-db5eur01on0096.outbound.protection.outlook.com ([104.47.2.96]:60576 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752599AbdLFHLc (ORCPT ); Wed, 6 Dec 2017 02:11:32 -0500 From: "Zhang, Sean C. (NSB - CN/Hangzhou)" To: David Daney , Jan Glauber , "david.daney@cavium.com" CC: "wsa@the-dreams.de" , "linux-i2c@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: RE: [Bug fix] octeon-i2c driver updates Thread-Topic: [Bug fix] octeon-i2c driver updates Thread-Index: AdNkUCeee/NagH5vSSOVY6BQA+iQtgA1XBAAAIGIfNAAlKHYwABDc2cAAMFMnTAAFbYKgAAd/rBA Date: Wed, 6 Dec 2017 07:11:28 +0000 Message-ID: References: <20171124131026.GA30811@hc> <20171201100630.GA3632@hc> <6f5215be-69c6-192d-7056-c0e6b29f3a33@caviumnetworks.com> In-Reply-To: <6f5215be-69c6-192d-7056-c0e6b29f3a33@caviumnetworks.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [131.228.32.170] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;VI1PR0702MB3615;6:dX+8luTuKOW6R55DJXTdjeBDcGI/3wkfgkWwGoprl7cbl8Lp3/5p2bUKrFC363bjIj32C83XP72K+HyfoWvhKcsZSdnicTs7faOf9F6vJoN01cmkCXUYM5OXuXXa6jhMFwNZI1GcM5x1vpMB/LodmymTNtF5FwAuTkmFDfTttHQYEWhl7H1c8triW+hqPgvns/EbLuoNglPxDDsvT44nkk/DEhRLUdYmUWozcP7DfB2QzD6PH1Ao9RYKvoBXieMxGtQpcQvUq5FY66ImoAbWXl543ITqNq/FmE/nuRel62qY7ZRXrYdwmqrsDDE+PiikMKeHKGv18feDNlr1qAK7IBIAD+U9OSEnQulipXqG+o4=;5:ZU/xmAmEYo/C3uEEv15unZJK8/w9Wf41R5sOy39vIA+BeDb2PeGNIgpFdSp/wRjdnkRVxPC8NGeesv3G9L4VTcO/5NdZaGcCS813rAdv6z8H+7/srQ4YiguX4p8LFAyBGDrXBTJvfVbzyD6zPTU01IB2Rk4nSvph7gHHmYdvxiU=;24:V4OXbFVPO7EkJy8lUeedUSeX0v90rdnrWbcyGUN01/RvZi0TCWG2bN/CZAmY1eQSvo6owcLv6uT45wpT1YTK8RximpyaPFiwH3PD2izY13w=;7:ucUTEjmJ6irfB4dQYpucPFBQxrCYMeniwrJqqnlRo8DlT8KJz2gBTvaafmF0fd/IGdFhBbKP582Dj/in9V3iWXNlka8WDKHZnzBl78QjDjT48UMQpUDwFH8wp3y3t0JfXcPY3TddKB1j/mKjd6rqEYpF0RBdoN1WtOFmdRiksHImG/fxxWMKjkZTc/rOn6n0NLNyBm5Zi/u5abqPrIgc5ofg2PzKBrtndYBBEnATPyLA5/hY7VlNXfktFWaHMrzX x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 91e02019-6f91-4417-8f4d-08d53c78920a x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603286)(49563074);SRVR:VI1PR0702MB3615; x-ms-traffictypediagnostic: VI1PR0702MB3615: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(9452136761055)(82608151540597)(788757137089); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(102415395)(6040450)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(3231022)(6055026)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123560025)(20161123562025)(20161123555025)(6072148)(201708071742011);SRVR:VI1PR0702MB3615;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:VI1PR0702MB3615; x-forefront-prvs: 05134F8B4F x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(376002)(346002)(39860400002)(366004)(51874003)(199004)(189003)(13464003)(54094003)(24454002)(31014005)(53546010)(2906002)(316002)(110136005)(54906003)(66066001)(53936002)(9686003)(305945005)(8936002)(8676002)(5250100002)(14454004)(81166006)(81156014)(3280700002)(478600001)(3660700001)(5890100001)(2501003)(76176011)(7696005)(102836003)(6116002)(3846002)(575784001)(86362001)(5660300001)(93886005)(97736004)(99936001)(2950100002)(106356001)(99286004)(105586002)(33656002)(4326008)(101416001)(6246003)(229853002)(74316002)(7736002)(68736007)(6436002)(25786009)(15650500001)(2900100001)(55016002)(6506006);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR0702MB3615;H:VI1PR0702MB3615.eurprd07.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:0;MX:1;LANG:en; authentication-results: spf=none (sender IP is ) smtp.mailfrom=sean.c.zhang@nokia-sbell.com; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_003_VI1PR0702MB3615C722824329CD6635DB148E320VI1PR0702MB3615_" MIME-Version: 1.0 X-OriginatorOrg: nokia-sbell.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91e02019-6f91-4417-8f4d-08d53c78920a X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2017 07:11:28.5450 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0702MB3615 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 28103 Lines: 378 --_003_VI1PR0702MB3615C722824329CD6635DB148E320VI1PR0702MB3615_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgRGF2aWQsDQoNCkluIGZhY3QsIGluIGN1cnJlbnQgb2N0ZW9uX2kyY19wcm9iZSgpLCB0aGVy ZSBoYXMgdGhlIGJ1cyByZXNldCB1bmNvbmRpdGlvbmFsbHksDQpJdCBpcyByZXNldCBieSBvY3Rl b25faTJjX2luaXRfbG93bGV2ZWwoKSB1bmNvbmRpdGlvbmFsbHkuIA0KSW4gbXkgcGF0Y2gsIEkg cmVwbGFjZSBpdCBieSBvY3Rlb25faTJjX3JlY292ZXJ5KCksIHdoaWNoIHdpbGwgYmUgZXhlY3V0 ZWQNCnVuZGVyIHRocmVlIGNvbmRpdGlvbnMuDQoNCisgICAgICAgLyoNCisgICAgICAgICogVHJ5 IHRvIHJlY292ZXIgYnVzIGluIHRocmVlIGNvbmRpdGlvbnM6IFRXU0kgY29yZSBzdGF0dXMNCisg ICAgICAgICogbm90IElETEUsIFNEQSBzdHVjayBsb3cgb3IgVFdTSV9DVExfSUZMRyBub3QgY2xl YXJlZA0KKyAgICAgICAgKi8NCisgICAgICAgaWYgKChvY3Rlb25faTJjX3N0YXRfcmVhZChpMmMp ICE9IFNUQVRfSURMRSkgfHwNCisgICAgICAgICAgICAgICAhKG9jdGVvbl9pMmNfcmVhZF9pbnQo aTJjKSAmIFRXU0lfSU5UX1NEQV9PVlIpIHx8DQorICAgICAgICAgICAgICAgKG9jdGVvbl9pMmNf Y3RsX3JlYWQoaTJjKSAmIFRXU0lfQ1RMX0lGTEcpKSB7DQorICAgICAgICAgICAgICAgcmVzdWx0 ID0gb2N0ZW9uX2kyY19yZWNvdmVyeShpMmMpOw0KKyAgICAgICAgICAgICAgIGlmIChyZXN1bHQp IHsNCisgICAgICAgICAgICAgICAgICAgICAgIGRldl9lcnIoaTJjLT5kZXYsICJvY3Rlb24gaTJj IHJlY292ZXJ5IGZhaWxlZFxuIik7DQorICAgICAgICAgICAgICAgICAgICAgICBnb3RvICBvdXQ7 DQorICAgICAgICAgICAgICAgfQ0KKyAgICAgICB9DQorDQoNCkF0dGFjaGVkIGltcHJvdmVkIHBh dGNoIGFuZCBDIGZpbGUgZm9yIHlvdXIgcmV2aWV3LiBUaGFua3MgaW4gYWR2YW5jZS4NCg0KQlIs DQpTZWFuIFpoYW5nDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBEYXZpZCBE YW5leSBbbWFpbHRvOmRkYW5leUBjYXZpdW1uZXR3b3Jrcy5jb21dIA0KU2VudDogV2VkbmVzZGF5 LCBEZWNlbWJlciAwNiwgMjAxNyAxMjo0MyBBTQ0KVG86IFpoYW5nLCBTZWFuIEMuIChOU0IgLSBD Ti9IYW5nemhvdSkgPHNlYW4uYy56aGFuZ0Bub2tpYS1zYmVsbC5jb20+OyBKYW4gR2xhdWJlciA8 amFuLmdsYXViZXJAY2F2aXVtbmV0d29ya3MuY29tPjsgZGF2aWQuZGFuZXlAY2F2aXVtLmNvbQ0K Q2M6IHdzYUB0aGUtZHJlYW1zLmRlOyBsaW51eC1pMmNAdmdlci5rZXJuZWwub3JnOyBsaW51eC1r ZXJuZWxAdmdlci5rZXJuZWwub3JnDQpTdWJqZWN0OiBSZTogW0J1ZyBmaXhdIG9jdGVvbi1pMmMg ZHJpdmVyIHVwZGF0ZXMNCg0KT24gMTIvMDQvMjAxNyAxMDo0NCBQTSwgWmhhbmcsIFNlYW4gQy4g KE5TQiAtIENOL0hhbmd6aG91KSB3cm90ZToNCj4gSGkgSmFuLA0KPiANCj4gVGhhbmtzIGZvciB5 b3VyIGNvbW1lbnRzLCBJIGdldCB5b3VyIHBvaW50IGZvciB0aGUgc2Vjb25kIHBvaW50IChyZXRy eSBvZiBTVEFSVCBhZnRlciByZWNvdmVyeSkuDQo+IA0KPiBIaSBEYXZpZCwNCj4gRm9yIHRoZSBp c3N1ZSBhcyB0aGUgZmlyc3Qgb25lLCB3b3VsZCB5b3UgZ2l2ZSB5b3VyIGZ1cnRoZXIgY29tbWVu dHM/IFRoYW5rcyBpbiBhZHZhbmNlLg0KPiANCj4gSSBoYXZlIGFuIGVudmlyb25tZW50IHdpdGgg Q042NzgwIChUV1NJIGNvcmUgaGFzIHByb3BlcnR5OiBjb21wYXRpYmxlIA0KPiA9ICJjYXZpdW0s b2N0ZW9uLTM4NjAtdHdzaSIpLCBBbmQgZW5jb3VudGVyIGJlbG93IHByb2JsZW06DQo+IER1cmlu ZyBpMmMtb2N0ZW9uIGRyaXZlciBwcm9iaW5nLCB0aGlzIFRXU0kgY29yZSBvcmlnaW5hbCBzdGF0 dXMgaXMgDQo+IDB4MjAgKHRoaXMgbWF5IGluZHVjZWQgYnkgdWJvb3QpLCBBbmQgb2N0ZW9uX2ky Y19pbml0X2xvd2xldmVsKCkgDQo+IGZ1bmN0aW9uIGluIG9jdGVvbl9pMmNfcHJvYmUoKSBpcyBu b3QgZW5vdWdoIHRvIHJlY292ZXIgdGhlIEkyQyBidXMsIA0KPiBJZiBnbyB3aXRob3V0IGZ1bGwg cmVjb3Zlcnkgb2Ygb2N0ZW9uX2kyY19yZWNvdmVyeSgpLCB0aGUgZm9sbG93aW5nIA0KPiBvY3Rl b25faTJjX2hsY193cml0ZSgpLCBvY3Rlb25faTJjX2hsY19yZWFkKCksIG9jdGVvbl9pMmNfaGxj X2NvbXBfcmVhZCgpIGFuZCBvY3Rlb25faTJjX2hsY19jb21wX3dyaXRlKCkgd2lsbCBnb2VzIGVy cm9yLCBiZWNhdXNlIHRoZXNlIGZ1bmN0aW9ucyBoYXMgbm8gYnVzIHJlY292ZXJ5IHN0ZXAuDQo+ IFdoaWxlIGFmdGVyIHJlcGxhY2Ugb2N0ZW9uX2kyY19pbml0X2xvd2xldmVsKCkgd2l0aCANCj4g b2N0ZW9uX2kyY19yZWNvdmVyeSgpIGluIG9jdGVvbl9pMmNfcHJvYmUoKSwgdGhlIHByb2JsZW0g aGFzIGdvbmUuDQo+IA0KPiBPbmNlIG1vcmUsIHRoaXMgb2N0ZW9uX2kyY19yZWNvdmVyeSgpIGNh biBhbHNvIHJlY292ZXIgZGVhZCBsb2NrIChJMkMgDQo+IHNsYXZlIGRldmljZSBzdHVjayBsb3cg U0NMKSBpc3N1ZSwgc28gSSB0aGluayB1c2Ugb2N0ZW9uX2kyY19yZWNvdmVyeSgpIGluc3RlYWQg d2lsbCBiZSBzdHJvbmdlci4NCg0KSSBkb24ndCB3YW50IHRvIGRvIGEgYnVzIHJlc2V0IHVuY29u ZGl0aW9uYWxseSwgYXMgaXQgaXMgY3VycmVudGx5IHdvcmtpbmcgd2VsbCBvbiBtYW55IHN5c3Rl bXMuDQoNClBlcmhhcHMgeW91IGNvdWxkIGFkZCBhIG1vZHVsZSBwYXJhbWV0ZXIgdG8gZW5hYmxl IHRoZSByZWNvdmVyeSBtb2RlIG9uIHByb2JlIGFzIGFuIG9wdGlvbi4gIFdvdWxkIHRoYXQgd29y ayBvciBiZSBhY2NlcHRhYmxlPw0KDQpUaGFua3MsDQpEYXZpZCBEYW5leQ0KDQoNCg0KPiANCj4g QlIsDQo+IFNlYW4gWmhhbmcNCj4gDQo+IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiBGcm9tOiBKYW4gR2xhdWJlciBbbWFpbHRvOmphbi5nbGF1YmVyQGNhdml1bW5ldHdvcmtzLmNv bV0NCj4gU2VudDogRnJpZGF5LCBEZWNlbWJlciAwMSwgMjAxNyA2OjA3IFBNDQo+IFRvOiBaaGFu ZywgU2VhbiBDLiAoTlNCIC0gQ04vSGFuZ3pob3UpIDxzZWFuLmMuemhhbmdAbm9raWEtc2JlbGwu Y29tPg0KPiBDYzogZGF2aWQuZGFuZXlAY2F2aXVtLmNvbTsgd3NhQHRoZS1kcmVhbXMuZGU7IA0K PiBsaW51eC1pMmNAdmdlci5rZXJuZWwub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3Jn DQo+IFN1YmplY3Q6IFJlOiBbQnVnIGZpeF0gb2N0ZW9uLWkyYyBkcml2ZXIgdXBkYXRlcw0KPiAN Cj4gSGkgU2VhbiwNCj4gDQo+IGFzIHlvdSB0cnkgdG8gc29sdmUgdHdvIGRpZmZlcmVudCBpc3N1 ZXMgSSBzdWdnZXN0IHRoYXQgeW91IGNyZWF0ZSBvbmUgDQo+IHBhdGNoIHBlciBpc3N1ZS4NCj4g DQo+IEZvciB0aGUgc2Vjb25kIHBvaW50IChyZXRyeSBvZiBTVEFSVCBhZnRlciByZWNvdmVyeSkg SSB3b3VsZCBzdGlsbCANCj4gbGlrZSB0byBoZWFyIFdvbGZyYW0ncyBvcGluaW9uLiBJIHdvdWxk IGFzc3VtZSB0aGF0IGFueSBpMmMgdXNlciANCj4gc2hvdWxkIGJlIHdlbGwgYXdhcmUgb2YgLUVB R0FJTiwgc28gSSB3b25kZXIgaWYgaXQgaXMgd29ydGggdGhlIA0KPiBhZGRpdGlvbmFsIGNvbXBs ZXhpdHkgb2YgdGhlIHJldHJ5IGxvZ2ljLg0KPiANCj4gQWxzbywgdGhlIGZpcnN0IGlzc3VlIGNo YW5nZXMgT2N0ZW9uIE1JUFMgd2hpY2ggSSdtIG5vdCBhYmxlIHRvIHRlc3QsIA0KPiBzbyBEYXZp ZCBuZWVkcyB0byBiZSBpbnZvbHZlZCBoZXJlLg0KPiANCj4gdGhhbmtzLA0KPiBKYW4NCj4gDQo+ IE9uIFRodSwgTm92IDMwLCAyMDE3IGF0IDAxOjU2OjA5QU0gKzAwMDAsIFpoYW5nLCBTZWFuIEMu IChOU0IgLSBDTi9IYW5nemhvdSkgd3JvdGU6DQo+PiBIaSBKYW4sDQo+Pg0KPj4gQW55IG90aGVy IGNvbW1lbnRzIGZvciB0aGlzIHBhdGNoPw0KPj4NCj4+IEJSLA0KPj4gU2VhbiBaaGFuZw0KPj4N Cj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiBGcm9tOiBaaGFuZywgU2VhbiBDLiAo TlNCIC0gQ04vSGFuZ3pob3UpDQo+PiBTZW50OiBNb25kYXksIE5vdmVtYmVyIDI3LCAyMDE3IDQ6 MzggUE0NCj4+IFRvOiAnSmFuIEdsYXViZXInIDxqYW4uZ2xhdWJlckBjYXZpdW1uZXR3b3Jrcy5j b20+DQo+PiBDYzogZGF2aWQuZGFuZXlAY2F2aXVtLmNvbTsgd3NhQHRoZS1kcmVhbXMuZGU7IA0K Pj4gbGludXgtaTJjQHZnZXIua2VybmVsLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9y Zw0KPj4gU3ViamVjdDogUkU6IFtCdWcgZml4XSBvY3Rlb24taTJjIGRyaXZlciB1cGRhdGVzDQo+ Pg0KPj4gSGkgSmFuLA0KPj4NCj4+IFRoZXJlIGFyZSB0d28gcG9pbnRzIGluIHRoaXMgcGF0Y2gu DQo+Pg0KPj4gUG9pbnQgMS4gQXMgeW91IHNlZSwgcmVwbGFjZWQgb2N0ZW9uX2kyY19pbml0X2xv d2xldmVsKCkgYnkgcmVjb3ZlciBidXMgc3RhdHVzIGlmIFRXU0kgY29udHJvbGxlciBpcyBub3Qg SURMRS4NCj4+IFBsZWFzZSB0YWtlIGEgc2NlbmFyaW8gbGlrZSB0aGlzOiB3aGVuIHN5c3RlbSBz b2Z0IHJlc2V0IHdpdGhvdXQgSTJDIA0KPj4gc2xhdmUgcmVzZXQsIG1heWJlIG1ha2UgdGhpcyBJ MkMgYnVzIGRlYWQgbG9jayBvY2N1cnJlZCAoSTJDIHNsYXZlIA0KPj4gZGV2aWNlIHN0dWNrIGxv dyBTQ0wpIGluIGNoYW5jZS4gVGhlbiBkdXJpbmcgc3lzdGVtIGdvZXMgdXAgYW5kIEkyQyANCj4+ IHNsYXZlIGRldmljZSBjcmVhdGluZyBwcm9jZXNzLCBpZiB0aGlzIEkyQyBzbGF2ZSBkZXZpY2Ug aGFzIGEgcmVnaXN0ZXIgd2l0aCBsZXNzIHRoYW4gOCBieXRlcyB0byByZWFkLCBidXQgSTJDIGJ1 cyB3YXMgc3RpbGwgc3R1Y2sgbG93IFNDTCBieSBsYXN0IHN5c3RlbSByZXNldCwgdGhlbiB0aGUg cmVhZCB3aWxsIGZhaWxlZCBhbmQgdGhpcyBJMkMgc2xhdmUgZGV2aWNlIGNhbm5vdCBiZSBjcmVh dGVkLg0KPj4gSWYgYnVzIHJlY292ZXJlZCBiZWZvcmUgdGhlIHJlYWRpbmcgcHJvY2VzcywgdGhp cyBmYWlsdXJlIGNhbiBiZSBmaXhlZC4NCj4+DQo+PiBGdW5jdGlvbiBmbG93IGV4cGxhbmF0aW9u IHNob3duIGFzIGJlbG93Og0KPj4NCj4+IGEuIFN5c3RlbSByZXNldCB3aXRob3V0IEkyQyBzbGF2 ZSBkZXZpY2UgcmVzZXQgLS1tYWtlIFNDTCBzdHVjayBsb3cgDQo+PiBieSBJMkMgc2xhdmUgZGV2 aWNlIC4uLi4uLg0KPj4gYi4gb2N0ZW9uX2kyY19wcm9iZe+8iO+8iQ0KPj4gLS0gb2N0ZW9uX2ky Y19pbml0X2xvd2xldmVsICAvL3Jlc2V0IFRXU0kgY29yZSwgYnV0IFNDTCBzdGlsbCBzdHVjayBs b3cgYnkuDQo+PiAuLi4uLi4NCj4+DQo+PiBjLiBBbm90aGVyIEkyQyBzbGF2ZSBkZXZpY2UgY3Jl YXRpbmcgcHJvY2Vzcw0KPj4gb2N0ZW9uX2kyY194ZmVyKCkNCj4+IC0tIG9jdGVvbl9pMmNfaGxj X2NvbXBfcmVhZCgpIC8vZmFpbGVkIGR1ZSB0byBTQ0wgc3R1Y2sgbG93Lg0KPj4NCj4+IElmIGZ1 bGwgcmVjb3ZlcnkgZXhlY3V0ZWQgaW4gb2N0ZW9uX2kyY19wcm9iZe+8iCksIGFib3ZlIGZhaWx1 cmUgY2FuIGJlIGF2b2lkZWQuDQo+Pg0KPj4NCj4+IFBvaW50IDIuIG9jdGVvbl9pMmNfcmVjb3Zl cnkoKSBpcyB1c2VkIGluIG9jdGVvbl9pMmNfc3RhcnQoKSBlcnJvciANCj4+IGJyYW5jaCwgaW4g dGhlIGNhc2Ugb2Ygb2N0ZW9uX2kyY19yZWNvdmVyeSgpIHN1Y2Nlc3NmdWwsIA0KPj4gb2N0ZW9u X2kyY19zdGFydCgpIHdpbGwgcmV0dXJuIC1FQUdBSU4sIGFuZCB0aGVuIG9jdGVvbl9pMmNfeGZl cigpIA0KPj4gcmV0dXJuIHdpdGggZXJyb3IuIEkgdW5kZXJzdGFuZCB0aGlzIGxpa2UNCj4+IHRo aXM6IGlmIG9jdGVvbl9pMmNfcmVjb3ZlcnkoKSBzdWNjZXNzZnVsLCB0aGVuIGkyYyBTVEFSVCBz aWduYWwgY2FuIA0KPj4gYmUgc2VudCBhZ2FpbiwgYW5kIGFsbCBmb2xsb3dpbmcgc3RlcCBjYW4g YmUgY29udGludWUsDQo+PiBvY3Rlb25faTJjX3hmZXIoKSBzaG91bGQgbm90IHJldHVybiBlcnJv ciBmcm9tIHRoaXMgY29uZGl0aW9uLg0KPj4NCj4+IEJSLA0KPj4gU2VhbiBaaGFuZw0KPj4NCj4+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiBGcm9tOiBKYW4gR2xhdWJlciBbbWFpbHRv Omphbi5nbGF1YmVyQGNhdml1bW5ldHdvcmtzLmNvbV0NCj4+IFNlbnQ6IEZyaWRheSwgTm92ZW1i ZXIgMjQsIDIwMTcgOToxMCBQTQ0KPj4gVG86IFpoYW5nLCBTZWFuIEMuIChOU0IgLSBDTi9IYW5n emhvdSkgPHNlYW4uYy56aGFuZ0Bub2tpYS1zYmVsbC5jb20+DQo+PiBDYzogZGF2aWQuZGFuZXlA Y2F2aXVtLmNvbTsgd3NhQHRoZS1kcmVhbXMuZGU7IA0KPj4gbGludXgtaTJjQHZnZXIua2VybmVs Lm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZw0KPj4gU3ViamVjdDogUmU6IFtCdWcg Zml4XSBvY3Rlb24taTJjIGRyaXZlciB1cGRhdGVzDQo+Pg0KPj4gT24gVGh1LCBOb3YgMjMsIDIw MTcgYXQgMTE6NDI6MzZBTSArMDAwMCwgWmhhbmcsIFNlYW4gQy4gKE5TQiAtIENOL0hhbmd6aG91 KSB3cm90ZToNCj4+PiBEZWFyIE1haW50YWluZXIsDQo+Pj4NCj4+PiBGb3Igb2N0ZW9uIFRXU0kg Y29udHJvbGxlciwgSSBmb3VuZCBiZWxvdyB0d28gY2FzZXMsIG1heWJlIGNhbiBiZSBpbXByb3Zl ZC4NCj4+DQo+PiBIaSBTZWFuLA0KPj4NCj4+IGZvcm0gdGhlIGRlc2NyaXB0aW9uIGJlbG93IHRo aXMgbG9va3MgbGlrZSB5b3UncmUgZml4aW5nIGEgYnVnLiBDYW4gDQo+PiB5b3UgZWxhYm9yYXRl IG9uIHdoZW4gdGhlIEkyQyBidXMgZGVhZCBsb2NrIG9jY3Vycy4gSXMgaXQgYWx3YXlzIGhhcHBl bmluZz8NCj4+DQo+PiBXaGF0IEkgZG9uJ3QgbGlrZSBhYm91dCB0aGUgcGF0Y2ggaXMgdGhhdCB5 b3UncmUgcmVtb3ZpbmcNCj4+IG9jdGVvbl9pMmNfaW5pdF9sb3dsZXZlbCgpIGZyb20gdGhlIHBy b2JlIGFuZCByZXBsYWNpbmcgaXQgYnkgDQo+PiBfYWx3YXlzXyBnb2luZyB0aHJvdWdoIGEgZnVs bCByZWNvdmVyeS4gV2h5IGlzIHRoaXMgbmVjY2Vzc2FyeT8NCj4+DQo+PiBSZWdhcmRzLA0KPj4g SmFuDQo+Pg0KPj4+DQo+Pj4gPkZyb20gMDlkOWYwY2U2NThkN2Y2YTUwZDFhZjM1MmRkZTYxOWMy OWJjOGJjZiBNb24gU2VwIDE3IDAwOjAwOjAwIA0KPj4+ID4yMDAxDQo+Pj4gRnJvbTogaGd0NDYz IDxzZWFuLmMuemhhbmdAbm9raWEuY29tPg0KPj4+IERhdGU6IFRodSwgMjMgTm92IDIwMTcgMTg6 NDY6MDkgKzA4MDANCj4+PiBTdWJqZWN0OiBbUEFUQ0hdIERyaXZlciB1cGRhdGVzOg0KPj4+ICAg LSBJbiB0aGUgY2FzZSBvZiBJMkMgYnVzIGRlYWQgbG9jayBvY2N1cnJlZCBkdXJpbmcgZHJpdmVy IHByb2JpbmcsDQo+Pj4gICAgIGl0IGlzIGJldHRlciB0cnkgdG8gcmVjb3ZlcnkgaXQuIHNvIGFk ZGVkIGJ1cyByZWNvdmVyeSBzdGVwIGluDQo+Pj4gICAgIG9jdGVvbl9pMmNfcHJvYmUoKTsNCj4+ PiAgIC0gVGhlIHB1cnBvc2Ugb2YgZnVuY3Rpb24gb2N0ZW9uX2kyY19zdGFydCgpIGlzIHRvIHNl bmQgU1RBUlQsIHNvIGFmdGVyDQo+Pj4gICAgIGJ1cyByZWNvdmVyeSwgYWxzbyBuZWVkIHRyeSB0 byBzZW5kIFNUQVJUIGFnYWluLg0KPj4+DQo+Pj4gU2lnbmVkLW9mZi1ieTogaGd0NDYzIDxzZWFu LmMuemhhbmdAbm9raWEuY29tPg0KPj4+IC0tLQ0KPj4+ICAgZHJpdmVycy9pMmMvYnVzc2VzL2ky Yy1vY3Rlb24tY29yZS5jICAgIHwgICAzMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst DQo+Pj4gICBkcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9jdGVvbi1wbGF0ZHJ2LmMgfCAgIDE1ICsr KysrKysrKy0tLS0tLQ0KPj4+ICAgMiBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCA3 IGRlbGV0aW9ucygtKQ0KPj4+DQo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9p MmMtb2N0ZW9uLWNvcmUuYyANCj4+PiBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb2N0ZW9uLWNv cmUuYw0KPj4+IGluZGV4IDFkODc3NTcuLjNhZTFlMDMgMTAwNjQ0DQo+Pj4gLS0tIGEvZHJpdmVy cy9pMmMvYnVzc2VzL2kyYy1vY3Rlb24tY29yZS5jDQo+Pj4gKysrIGIvZHJpdmVycy9pMmMvYnVz c2VzL2kyYy1vY3Rlb24tY29yZS5jDQo+Pj4gQEAgLTI1NSw2ICsyNTUsMzUgQEAgc3RhdGljIGlu dCBvY3Rlb25faTJjX3JlY292ZXJ5KHN0cnVjdCBvY3Rlb25faTJjICppMmMpDQo+Pj4gICAgICAg ICAgcmV0dXJuIHJldDsNCj4+PiAgIH0NCj4+PiAgIA0KPj4+ICsvKg0KPj4+ICsgKiBvY3Rlb25f aTJjX3N0YXJ0X3JldHJ5IC0gc2VuZCBTVEFSVCB0byB0aGUgYnVzIGFmdGVyIGJ1cyByZWNvdmVy eS4NCj4+PiArICogQGkyYzogVGhlIHN0cnVjdCBvY3Rlb25faTJjDQo+Pj4gKyAqDQo+Pj4gKyAq IFJldHVybnMgMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UgYSBuZWdhdGl2ZSBlcnJuby4NCj4+PiAr ICovDQo+Pj4gK3N0YXRpYyBpbnQgb2N0ZW9uX2kyY19zdGFydF9yZXRyeShzdHJ1Y3Qgb2N0ZW9u X2kyYyAqaTJjKSB7DQo+Pj4gKyAgICAgICBpbnQgcmV0Ow0KPj4+ICsgICAgICAgdTggc3RhdDsN Cj4+PiArDQo+Pj4gKyAgICAgICByZXQgPSBvY3Rlb25faTJjX3JlY292ZXJ5KGkyYyk7DQo+Pj4g KyAgICAgICBpZiAocmV0KQ0KPj4+ICsgICAgICAgICAgICAgICBnb3RvIGVycm9yOw0KPj4+ICsN Cj4+PiArICAgICAgIG9jdGVvbl9pMmNfY3RsX3dyaXRlKGkyYywgVFdTSV9DVExfRU5BQiB8IFRX U0lfQ1RMX1NUQSk7DQo+Pj4gKyAgICAgICByZXQgPSBvY3Rlb25faTJjX3dhaXQoaTJjKTsNCj4+ PiArICAgICAgIGlmIChyZXQpDQo+Pj4gKyAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7DQo+Pj4g Kw0KPj4+ICsgICAgICAgc3RhdCA9IG9jdGVvbl9pMmNfc3RhdF9yZWFkKGkyYyk7DQo+Pj4gKyAg ICAgICBpZiAoc3RhdCA9PSBTVEFUX1NUQVJUIHx8IHN0YXQgPT0gU1RBVF9SRVBfU1RBUlQpDQo+ Pj4gKyAgICAgICAgICAgICAgIC8qIFNUQVJUIHN1Y2Nlc3NmdWwsIGJhaWwgb3V0ICovDQo+Pj4g KyAgICAgICAgICAgICAgIHJldHVybiAwOw0KPj4+ICsNCj4+PiArZXJyb3I6DQo+Pj4gKyAgICAg ICByZXR1cm4gKHJldCkgPyByZXQgOiAtRUFHQUlOOyB9DQo+Pj4gKw0KPj4+ICAgLyoqDQo+Pj4g ICAgKiBvY3Rlb25faTJjX3N0YXJ0IC0gc2VuZCBTVEFSVCB0byB0aGUgYnVzDQo+Pj4gICAgKiBA aTJjOiBUaGUgc3RydWN0IG9jdGVvbl9pMmMNCj4+PiBAQCAtMjgwLDcgKzMwOSw3IEBAIHN0YXRp YyBpbnQgb2N0ZW9uX2kyY19zdGFydChzdHJ1Y3Qgb2N0ZW9uX2kyYyANCj4+PiAqaTJjKQ0KPj4+ ICAgDQo+Pj4gICBlcnJvcjoNCj4+PiAgICAgICAgICAvKiBTVEFSVCBmYWlsZWQsIHRyeSB0byBy ZWNvdmVyICovDQo+Pj4gLSAgICAgICByZXQgPSBvY3Rlb25faTJjX3JlY292ZXJ5KGkyYyk7DQo+ Pj4gKyAgICAgICByZXQgPSBvY3Rlb25faTJjX3N0YXJ0X3JldHJ5KGkyYyk7DQo+Pj4gICAgICAg ICAgcmV0dXJuIChyZXQpID8gcmV0IDogLUVBR0FJTjsNCj4+PiAgIH0NCj4+PiAgIA0KPj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9jdGVvbi1wbGF0ZHJ2LmMgDQo+Pj4g Yi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9jdGVvbi1wbGF0ZHJ2LmMNCj4+PiBpbmRleCA2NGJk YTgzLi45ODA2M2FmIDEwMDY0NA0KPj4+IC0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb2N0 ZW9uLXBsYXRkcnYuYw0KPj4+ICsrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb2N0ZW9uLXBs YXRkcnYuYw0KPj4+IEBAIC0yMjgsMTIgKzIyOCw2IEBAIHN0YXRpYyBpbnQgb2N0ZW9uX2kyY19w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPj4+ICAgICAgICAgIGlmIChPQ1RF T05fSVNfTU9ERUwoT0NURU9OX0NOMzhYWCkpDQo+Pj4gICAgICAgICAgICAgICAgICBpMmMtPmJy b2tlbl9pcnFfY2hlY2sgPSB0cnVlOw0KPj4+ICAgDQo+Pj4gLSAgICAgICByZXN1bHQgPSBvY3Rl b25faTJjX2luaXRfbG93bGV2ZWwoaTJjKTsNCj4+PiAtICAgICAgIGlmIChyZXN1bHQpIHsNCj4+ PiAtICAgICAgICAgICAgICAgZGV2X2VycihpMmMtPmRldiwgImluaXQgbG93IGxldmVsIGZhaWxl ZFxuIik7DQo+Pj4gLSAgICAgICAgICAgICAgIGdvdG8gIG91dDsNCj4+PiAtICAgICAgIH0NCj4+ PiAtDQo+Pj4gICAgICAgICAgb2N0ZW9uX2kyY19zZXRfY2xvY2soaTJjKTsNCj4+PiAgIA0KPj4+ ICAgICAgICAgIGkyYy0+YWRhcCA9IG9jdGVvbl9pMmNfb3BzOyBAQCAtMjQ1LDYgKzIzOSwxNSBA QCBzdGF0aWMgaW50IA0KPj4+IG9jdGVvbl9pMmNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikNCj4+PiAgICAgICAgICBpMmNfc2V0X2FkYXBkYXRhKCZpMmMtPmFkYXAsIGkyYyk7 DQo+Pj4gICAgICAgICAgcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgaTJjKTsNCj4+PiAgIA0K Pj4+ICsgICAgICAgc3RhdCA9IG9jdGVvbl9pMmNfc3RhdF9yZWFkKGkyYyk7DQo+Pj4gKyAgICAg ICBpZiAoc3RhdCAhPSBTVEFUX0lETEUpIHsNCj4+PiArICAgICAgICAgICAgICAgcmVzdWx0ID0g b2N0ZW9uX2kyY19yZWNvdmVyeShpMmMpOw0KPj4+ICsgICAgICAgICAgICAgICBpZiAocmVzdWx0 KSB7DQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgZGV2X2VycihpMmMtPmRldiwgIm9jdGVv biBpMmMgcmVjb3ZlcnkgZmFpbGVkXG4iKTsNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICBn b3RvICBvdXQ7DQo+Pj4gKyAgICAgICAgICAgICAgIH0NCj4+PiArICAgICAgIH0NCj4+PiArDQo+ Pj4gICAgICAgICAgcmVzdWx0ID0gaTJjX2FkZF9hZGFwdGVyKCZpMmMtPmFkYXApOw0KPj4+ICAg ICAgICAgIGlmIChyZXN1bHQgPCAwKQ0KPj4+ICAgICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+ Pj4NCj4+Pg0KPj4+IEF0dGFjaGVkIHBhdGNoIGZvciB5b3UgcmV2aWV3LiBUaGFua3MgaW4gYWR2 YW5jZS4NCj4+Pg0KPj4+IEJSLA0KPj4+IFNlYW4gWmhhbmcNCj4+DQo+Pg0KDQo= --_003_VI1PR0702MB3615C722824329CD6635DB148E320VI1PR0702MB3615_ Content-Type: application/octet-stream; name="0001-Driver-updates.patch" Content-Description: 0001-Driver-updates.patch Content-Disposition: attachment; filename="0001-Driver-updates.patch"; size=1725; creation-date="Wed, 06 Dec 2017 06:55:23 GMT"; modification-date="Wed, 06 Dec 2017 06:55:23 GMT" Content-Transfer-Encoding: base64 RnJvbSA2MTViOWU0NWY1YzkzYjI3ZmY2NDg3YmI0MTAwZGE1MjlkNzJkMGNkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBoZ3Q0NjMgPHNlYW4uYy56aGFuZ0Bub2tpYS5jb20+CkRhdGU6 IFdlZCwgNiBEZWMgMjAxNyAxNDo1MjoxNCArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIERyaXZlciB1 cGRhdGVzOgogIC0gSW4gdGhlIGNhc2Ugb2YgSTJDIGJ1cyBkZWFkIGxvY2sgb2NjdXJyZWQgZHVy aW5nIGRyaXZlciBwcm9iaW5nLAogICAgaXQgaXMgYmV0dGVyIHRyeSB0byByZWNvdmVyeSBpdC4g c28gYWRkZWQgYnVzIHJlY292ZXJ5IHN0ZXAgaW4KICAgIG9jdGVvbl9pMmNfcHJvYmUoKTsKClNp Z25lZC1vZmYtYnk6IGhndDQ2MyA8c2Vhbi5jLnpoYW5nQG5va2lhLmNvbT4KLS0tCiBkcml2ZXJz L2kyYy9idXNzZXMvaTJjLW9jdGVvbi1wbGF0ZHJ2LmMgfCAgIDIwICsrKysrKysrKysrKysrLS0t LS0tCiAxIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1vY3Rlb24tcGxhdGRydi5jIGIvZHJp dmVycy9pMmMvYnVzc2VzL2kyYy1vY3Rlb24tcGxhdGRydi5jCmluZGV4IDY0YmRhODMuLmYzNjRl YTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb2N0ZW9uLXBsYXRkcnYuYwor KysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9jdGVvbi1wbGF0ZHJ2LmMKQEAgLTIyOCwxMiAr MjI4LDYgQEAgc3RhdGljIGludCBvY3Rlb25faTJjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpCiAJaWYgKE9DVEVPTl9JU19NT0RFTChPQ1RFT05fQ04zOFhYKSkKIAkJaTJjLT5i cm9rZW5faXJxX2NoZWNrID0gdHJ1ZTsKIAotCXJlc3VsdCA9IG9jdGVvbl9pMmNfaW5pdF9sb3ds ZXZlbChpMmMpOwotCWlmIChyZXN1bHQpIHsKLQkJZGV2X2VycihpMmMtPmRldiwgImluaXQgbG93 IGxldmVsIGZhaWxlZFxuIik7Ci0JCWdvdG8gIG91dDsKLQl9Ci0KIAlvY3Rlb25faTJjX3NldF9j bG9jayhpMmMpOwogCiAJaTJjLT5hZGFwID0gb2N0ZW9uX2kyY19vcHM7CkBAIC0yNDUsNiArMjM5 LDIwIEBAIHN0YXRpYyBpbnQgb2N0ZW9uX2kyY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQogCWkyY19zZXRfYWRhcGRhdGEoJmkyYy0+YWRhcCwgaTJjKTsKIAlwbGF0Zm9ybV9z ZXRfZHJ2ZGF0YShwZGV2LCBpMmMpOwogCisJLyoKKwkgKiBUcnkgdG8gcmVjb3ZlciBidXMgaW4g dGhyZWUgY29uZGl0aW9uczogVFdTSSBjb3JlIHN0YXR1cworCSAqIG5vdCBJRExFLCBTREEgc3R1 Y2tlZCBsb3cgb3IgVFdTSV9DVExfSUZMRyBub3QgY2xlYXJlZAorCSAqLworCWlmICgob2N0ZW9u X2kyY19zdGF0X3JlYWQoaTJjKSAhPSBTVEFUX0lETEUpIHx8CisJCSEob2N0ZW9uX2kyY19yZWFk X2ludChpMmMpICYgVFdTSV9JTlRfU0RBX09WUikgfHwKKwkJKG9jdGVvbl9pMmNfY3RsX3JlYWQo aTJjKSAmIFRXU0lfQ1RMX0lGTEcpKSB7CisJCXJlc3VsdCA9IG9jdGVvbl9pMmNfcmVjb3Zlcnko aTJjKTsKKwkJaWYgKHJlc3VsdCkgeworCQkJZGV2X2VycihpMmMtPmRldiwgIm9jdGVvbiBpMmMg cmVjb3ZlcnkgZmFpbGVkXG4iKTsKKwkJCWdvdG8gIG91dDsKKwkJfQorCX0KKwogCXJlc3VsdCA9 IGkyY19hZGRfYWRhcHRlcigmaTJjLT5hZGFwKTsKIAlpZiAocmVzdWx0IDwgMCkKIAkJZ290byBv dXQ7Ci0tIAoxLjcuMQoK --_003_VI1PR0702MB3615C722824329CD6635DB148E320VI1PR0702MB3615_ Content-Type: text/plain; name="i2c-octeon-platdrv.c" Content-Description: i2c-octeon-platdrv.c Content-Disposition: attachment; filename="i2c-octeon-platdrv.c"; size=7529; creation-date="Wed, 06 Dec 2017 06:56:00 GMT"; modification-date="Wed, 06 Dec 2017 06:56:00 GMT" Content-Transfer-Encoding: base64 LyoKICogKEMpIENvcHlyaWdodCAyMDA5LTIwMTAKICogTm9raWEgU2llbWVucyBOZXR3b3Jrcywg bWljaGFlbC5sYXduaWNrLmV4dEBuc24uY29tCiAqCiAqIFBvcnRpb25zIENvcHlyaWdodCAoQykg MjAxMCAtIDIwMTYgQ2F2aXVtLCBJbmMuCiAqCiAqIFRoaXMgaXMgYSBkcml2ZXIgZm9yIHRoZSBp MmMgYWRhcHRlciBpbiBDYXZpdW0gTmV0d29ya3MnIE9DVEVPTiBwcm9jZXNzb3JzLgogKgogKiBU aGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMKICogTGljZW5zZSB2ZXJzaW9uIDIuIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMg aXMiIHdpdGhvdXQgYW55CiAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mg b3IgaW1wbGllZC4KICovCgojaW5jbHVkZSA8bGludXgvYXRvbWljLmg+CiNpbmNsdWRlIDxsaW51 eC9kZWxheS5oPgojaW5jbHVkZSA8bGludXgvaTJjLmg+CiNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1 cHQuaD4KI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KI2lu Y2x1ZGUgPGxpbnV4L21vZHVsZS5oPgojaW5jbHVkZSA8bGludXgvb2YuaD4KI2luY2x1ZGUgPGxp bnV4L3BsYXRmb3JtX2RldmljZS5oPgojaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KI2luY2x1ZGUg PGxpbnV4L3NsYWIuaD4KCiNpbmNsdWRlIDxhc20vb2N0ZW9uL29jdGVvbi5oPgojaW5jbHVkZSAi aTJjLW9jdGVvbi1jb3JlLmgiCgojZGVmaW5lIERSVl9OQU1FICJpMmMtb2N0ZW9uIgoKLyoqCiAq IG9jdGVvbl9pMmNfaW50X2VuYWJsZSAtIGVuYWJsZSB0aGUgQ09SRSBpbnRlcnJ1cHQKICogQGky YzogVGhlIHN0cnVjdCBvY3Rlb25faTJjCiAqCiAqIFRoZSBpbnRlcnJ1cHQgd2lsbCBiZSBhc3Nl cnRlZCB3aGVuIHRoZXJlIGlzIG5vbi1TVEFUX0lETEUgc3RhdGUgaW4KICogdGhlIFNXX1RXU0lf RU9QX1RXU0lfU1RBVCByZWdpc3Rlci4KICovCnN0YXRpYyB2b2lkIG9jdGVvbl9pMmNfaW50X2Vu YWJsZShzdHJ1Y3Qgb2N0ZW9uX2kyYyAqaTJjKQp7CglvY3Rlb25faTJjX3dyaXRlX2ludChpMmMs IFRXU0lfSU5UX0NPUkVfRU4pOwp9CgovKiBkaXNhYmxlIHRoZSBDT1JFIGludGVycnVwdCAqLwpz dGF0aWMgdm9pZCBvY3Rlb25faTJjX2ludF9kaXNhYmxlKHN0cnVjdCBvY3Rlb25faTJjICppMmMp CnsKCS8qIGNsZWFyIFRTL1NUL0lGTEcgZXZlbnRzICovCglvY3Rlb25faTJjX3dyaXRlX2ludChp MmMsIDApOwp9CgovKioKICogb2N0ZW9uX2kyY19pbnRfZW5hYmxlNzggLSBlbmFibGUgdGhlIENP UkUgaW50ZXJydXB0CiAqIEBpMmM6IFRoZSBzdHJ1Y3Qgb2N0ZW9uX2kyYwogKgogKiBUaGUgaW50 ZXJydXB0IHdpbGwgYmUgYXNzZXJ0ZWQgd2hlbiB0aGVyZSBpcyBub24tU1RBVF9JRExFIHN0YXRl IGluIHRoZQogKiBTV19UV1NJX0VPUF9UV1NJX1NUQVQgcmVnaXN0ZXIuCiAqLwpzdGF0aWMgdm9p ZCBvY3Rlb25faTJjX2ludF9lbmFibGU3OChzdHJ1Y3Qgb2N0ZW9uX2kyYyAqaTJjKQp7CglhdG9t aWNfaW5jX3JldHVybigmaTJjLT5pbnRfZW5hYmxlX2NudCk7CgllbmFibGVfaXJxKGkyYy0+aXJx KTsKfQoKc3RhdGljIHZvaWQgX19vY3Rlb25faTJjX2lycV9kaXNhYmxlKGF0b21pY190ICpjbnQs IGludCBpcnEpCnsKCWludCBjb3VudDsKCgkvKgoJICogVGhlIGludGVycnVwdCBjYW4gYmUgZGlz YWJsZWQgaW4gdHdvIHBsYWNlcywgYnV0IHdlIG9ubHkKCSAqIHdhbnQgdG8gbWFrZSB0aGUgZGlz YWJsZV9pcnFfbm9zeW5jKCkgY2FsbCBvbmNlLCBzbyBrZWVwCgkgKiB0cmFjayB3aXRoIHRoZSBh dG9taWMgdmFyaWFibGUuCgkgKi8KCWNvdW50ID0gYXRvbWljX2RlY19pZl9wb3NpdGl2ZShjbnQp OwoJaWYgKGNvdW50ID49IDApCgkJZGlzYWJsZV9pcnFfbm9zeW5jKGlycSk7Cn0KCi8qIGRpc2Fi bGUgdGhlIENPUkUgaW50ZXJydXB0ICovCnN0YXRpYyB2b2lkIG9jdGVvbl9pMmNfaW50X2Rpc2Fi bGU3OChzdHJ1Y3Qgb2N0ZW9uX2kyYyAqaTJjKQp7CglfX29jdGVvbl9pMmNfaXJxX2Rpc2FibGUo JmkyYy0+aW50X2VuYWJsZV9jbnQsIGkyYy0+aXJxKTsKfQoKLyoqCiAqIG9jdGVvbl9pMmNfaGxj X2ludF9lbmFibGU3OCAtIGVuYWJsZSB0aGUgU1QgaW50ZXJydXB0CiAqIEBpMmM6IFRoZSBzdHJ1 Y3Qgb2N0ZW9uX2kyYwogKgogKiBUaGUgaW50ZXJydXB0IHdpbGwgYmUgYXNzZXJ0ZWQgd2hlbiB0 aGVyZSBpcyBub24tU1RBVF9JRExFIHN0YXRlIGluCiAqIHRoZSBTV19UV1NJX0VPUF9UV1NJX1NU QVQgcmVnaXN0ZXIuCiAqLwpzdGF0aWMgdm9pZCBvY3Rlb25faTJjX2hsY19pbnRfZW5hYmxlNzgo c3RydWN0IG9jdGVvbl9pMmMgKmkyYykKewoJYXRvbWljX2luY19yZXR1cm4oJmkyYy0+aGxjX2lu dF9lbmFibGVfY250KTsKCWVuYWJsZV9pcnEoaTJjLT5obGNfaXJxKTsKfQoKLyogZGlzYWJsZSB0 aGUgU1QgaW50ZXJydXB0ICovCnN0YXRpYyB2b2lkIG9jdGVvbl9pMmNfaGxjX2ludF9kaXNhYmxl Nzgoc3RydWN0IG9jdGVvbl9pMmMgKmkyYykKewoJX19vY3Rlb25faTJjX2lycV9kaXNhYmxlKCZp MmMtPmhsY19pbnRfZW5hYmxlX2NudCwgaTJjLT5obGNfaXJxKTsKfQoKLyogSExDIGludGVycnVw dCBzZXJ2aWNlIHJvdXRpbmUgKi8Kc3RhdGljIGlycXJldHVybl90IG9jdGVvbl9pMmNfaGxjX2lz cjc4KGludCBpcnEsIHZvaWQgKmRldl9pZCkKewoJc3RydWN0IG9jdGVvbl9pMmMgKmkyYyA9IGRl dl9pZDsKCglpMmMtPmhsY19pbnRfZGlzYWJsZShpMmMpOwoJd2FrZV91cCgmaTJjLT5xdWV1ZSk7 CgoJcmV0dXJuIElSUV9IQU5ETEVEOwp9CgpzdGF0aWMgdm9pZCBvY3Rlb25faTJjX2hsY19pbnRf ZW5hYmxlKHN0cnVjdCBvY3Rlb25faTJjICppMmMpCnsKCW9jdGVvbl9pMmNfd3JpdGVfaW50KGky YywgVFdTSV9JTlRfU1RfRU4pOwp9CgpzdGF0aWMgdTMyIG9jdGVvbl9pMmNfZnVuY3Rpb25hbGl0 eShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCnsKCXJldHVybiBJMkNfRlVOQ19JMkMgfCAoSTJD X0ZVTkNfU01CVVNfRU1VTCAmIH5JMkNfRlVOQ19TTUJVU19RVUlDSykgfAoJICAgICAgIEkyQ19G VU5DX1NNQlVTX1JFQURfQkxPQ0tfREFUQSB8IEkyQ19TTUJVU19CTE9DS19QUk9DX0NBTEw7Cn0K CnN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2FsZ29yaXRobSBvY3Rlb25faTJjX2FsZ28gPSB7Cgku bWFzdGVyX3hmZXIgPSBvY3Rlb25faTJjX3hmZXIsCgkuZnVuY3Rpb25hbGl0eSA9IG9jdGVvbl9p MmNfZnVuY3Rpb25hbGl0eSwKfTsKCnN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2FkYXB0ZXIgb2N0 ZW9uX2kyY19vcHMgPSB7Cgkub3duZXIgPSBUSElTX01PRFVMRSwKCS5uYW1lID0gIk9DVEVPTiBh ZGFwdGVyIiwKCS5hbGdvID0gJm9jdGVvbl9pMmNfYWxnbywKfTsKCnN0YXRpYyBpbnQgb2N0ZW9u X2kyY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQp7CglzdHJ1Y3QgZGV2aWNl X25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsKCWludCBpcnEsIHJlc3VsdCA9IDAsIGhs Y19pcnEgPSAwOwoJc3RydWN0IHJlc291cmNlICpyZXNfbWVtOwoJc3RydWN0IG9jdGVvbl9pMmMg KmkyYzsKCWJvb2wgY243OHh4X3N0eWxlOwoKCWNuNzh4eF9zdHlsZSA9IG9mX2RldmljZV9pc19j b21wYXRpYmxlKG5vZGUsICJjYXZpdW0sb2N0ZW9uLTc4OTAtdHdzaSIpOwoJaWYgKGNuNzh4eF9z dHlsZSkgewoJCWhsY19pcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOwoJCWlmIChobGNf aXJxIDwgMCkKCQkJcmV0dXJuIGhsY19pcnE7CgoJCWlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRl diwgMik7CgkJaWYgKGlycSA8IDApCgkJCXJldHVybiBpcnE7Cgl9IGVsc2UgewoJCS8qIEFsbCBh ZGFwdG9ycyBoYXZlIGFuIGlycS4gICovCgkJaXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAw KTsKCQlpZiAoaXJxIDwgMCkKCQkJcmV0dXJuIGlycTsKCX0KCglpMmMgPSBkZXZtX2t6YWxsb2Mo JnBkZXYtPmRldiwgc2l6ZW9mKCppMmMpLCBHRlBfS0VSTkVMKTsKCWlmICghaTJjKSB7CgkJcmVz dWx0ID0gLUVOT01FTTsKCQlnb3RvIG91dDsKCX0KCWkyYy0+ZGV2ID0gJnBkZXYtPmRldjsKCglp MmMtPnJvZmYuc3dfdHdzaSA9IDB4MDA7CglpMmMtPnJvZmYudHdzaV9pbnQgPSAweDEwOwoJaTJj LT5yb2ZmLnN3X3R3c2lfZXh0ID0gMHgxODsKCglyZXNfbWVtID0gcGxhdGZvcm1fZ2V0X3Jlc291 cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKCWkyYy0+dHdzaV9iYXNlID0gZGV2bV9pb3Jl bWFwX3Jlc291cmNlKCZwZGV2LT5kZXYsIHJlc19tZW0pOwoJaWYgKElTX0VSUihpMmMtPnR3c2lf YmFzZSkpIHsKCQlyZXN1bHQgPSBQVFJfRVJSKGkyYy0+dHdzaV9iYXNlKTsKCQlnb3RvIG91dDsK CX0KCgkvKgoJICogImNsb2NrLXJhdGUiIGlzIGEgbGVnYWN5IGJpbmRpbmcsIHRoZSBvZmZpY2lh bCBiaW5kaW5nIGlzCgkgKiAiY2xvY2stZnJlcXVlbmN5Ii4gIFRyeSB0aGUgb2ZmaWNpYWwgb25l IGZpcnN0IGFuZCB0aGVuCgkgKiBmYWxsIGJhY2sgaWYgaXQgZG9lc24ndCBleGlzdC4KCSAqLwoJ aWYgKG9mX3Byb3BlcnR5X3JlYWRfdTMyKG5vZGUsICJjbG9jay1mcmVxdWVuY3kiLCAmaTJjLT50 d3NpX2ZyZXEpICYmCgkgICAgb2ZfcHJvcGVydHlfcmVhZF91MzIobm9kZSwgImNsb2NrLXJhdGUi LCAmaTJjLT50d3NpX2ZyZXEpKSB7CgkJZGV2X2VycihpMmMtPmRldiwKCQkJIm5vIEkyQyAnY2xv Y2stcmF0ZScgb3IgJ2Nsb2NrLWZyZXF1ZW5jeScgcHJvcGVydHlcbiIpOwoJCXJlc3VsdCA9IC1F TlhJTzsKCQlnb3RvIG91dDsKCX0KCglpMmMtPnN5c19mcmVxID0gb2N0ZW9uX2dldF9pb19jbG9j a19yYXRlKCk7CgoJaW5pdF93YWl0cXVldWVfaGVhZCgmaTJjLT5xdWV1ZSk7CgoJaTJjLT5pcnEg PSBpcnE7CgoJaWYgKGNuNzh4eF9zdHlsZSkgewoJCWkyYy0+aGxjX2lycSA9IGhsY19pcnE7CgoJ CWkyYy0+aW50X2VuYWJsZSA9IG9jdGVvbl9pMmNfaW50X2VuYWJsZTc4OwoJCWkyYy0+aW50X2Rp c2FibGUgPSBvY3Rlb25faTJjX2ludF9kaXNhYmxlNzg7CgkJaTJjLT5obGNfaW50X2VuYWJsZSA9 IG9jdGVvbl9pMmNfaGxjX2ludF9lbmFibGU3ODsKCQlpMmMtPmhsY19pbnRfZGlzYWJsZSA9IG9j dGVvbl9pMmNfaGxjX2ludF9kaXNhYmxlNzg7CgoJCWlycV9zZXRfc3RhdHVzX2ZsYWdzKGkyYy0+ aXJxLCBJUlFfTk9BVVRPRU4pOwoJCWlycV9zZXRfc3RhdHVzX2ZsYWdzKGkyYy0+aGxjX2lycSwg SVJRX05PQVVUT0VOKTsKCgkJcmVzdWx0ID0gZGV2bV9yZXF1ZXN0X2lycSgmcGRldi0+ZGV2LCBp MmMtPmhsY19pcnEsCgkJCQkJICBvY3Rlb25faTJjX2hsY19pc3I3OCwgMCwKCQkJCQkgIERSVl9O QU1FLCBpMmMpOwoJCWlmIChyZXN1bHQgPCAwKSB7CgkJCWRldl9lcnIoaTJjLT5kZXYsICJmYWls ZWQgdG8gYXR0YWNoIGludGVycnVwdFxuIik7CgkJCWdvdG8gb3V0OwoJCX0KCX0gZWxzZSB7CgkJ aTJjLT5pbnRfZW5hYmxlID0gb2N0ZW9uX2kyY19pbnRfZW5hYmxlOwoJCWkyYy0+aW50X2Rpc2Fi bGUgPSBvY3Rlb25faTJjX2ludF9kaXNhYmxlOwoJCWkyYy0+aGxjX2ludF9lbmFibGUgPSBvY3Rl b25faTJjX2hsY19pbnRfZW5hYmxlOwoJCWkyYy0+aGxjX2ludF9kaXNhYmxlID0gb2N0ZW9uX2ky Y19pbnRfZGlzYWJsZTsKCX0KCglyZXN1bHQgPSBkZXZtX3JlcXVlc3RfaXJxKCZwZGV2LT5kZXYs IGkyYy0+aXJxLAoJCQkJICBvY3Rlb25faTJjX2lzciwgMCwgRFJWX05BTUUsIGkyYyk7CglpZiAo cmVzdWx0IDwgMCkgewoJCWRldl9lcnIoaTJjLT5kZXYsICJmYWlsZWQgdG8gYXR0YWNoIGludGVy cnVwdFxuIik7CgkJZ290byBvdXQ7Cgl9CgoJaWYgKE9DVEVPTl9JU19NT0RFTChPQ1RFT05fQ04z OFhYKSkKCQlpMmMtPmJyb2tlbl9pcnFfY2hlY2sgPSB0cnVlOwoKCW9jdGVvbl9pMmNfc2V0X2Ns b2NrKGkyYyk7CgoJaTJjLT5hZGFwID0gb2N0ZW9uX2kyY19vcHM7CglpMmMtPmFkYXAudGltZW91 dCA9IG1zZWNzX3RvX2ppZmZpZXMoMik7CglpMmMtPmFkYXAucmV0cmllcyA9IDU7CglpMmMtPmFk YXAuYnVzX3JlY292ZXJ5X2luZm8gPSAmb2N0ZW9uX2kyY19yZWNvdmVyeV9pbmZvOwoJaTJjLT5h ZGFwLmRldi5wYXJlbnQgPSAmcGRldi0+ZGV2OwoJaTJjLT5hZGFwLmRldi5vZl9ub2RlID0gbm9k ZTsKCWkyY19zZXRfYWRhcGRhdGEoJmkyYy0+YWRhcCwgaTJjKTsKCXBsYXRmb3JtX3NldF9kcnZk YXRhKHBkZXYsIGkyYyk7CgoJLyoKCSAqIFRyeSB0byByZWNvdmVyIGJ1cyBpbiB0aHJlZSBjb25k aXRpb25zOiBUV1NJIGNvcmUgc3RhdHVzCgkgKiBub3QgSURMRSwgU0RBIHN0dWNrZWQgbG93IG9y IFRXU0lfQ1RMX0lGTEcgbm90IGNsZWFyZWQKCSAqLwoJaWYgKChvY3Rlb25faTJjX3N0YXRfcmVh ZChpMmMpICE9IFNUQVRfSURMRSkgfHwKCQkhKG9jdGVvbl9pMmNfcmVhZF9pbnQoaTJjKSAmIFRX U0lfSU5UX1NEQV9PVlIpIHx8CgkJKG9jdGVvbl9pMmNfY3RsX3JlYWQoaTJjKSAmIFRXU0lfQ1RM X0lGTEcpKSB7CgkJcmVzdWx0ID0gb2N0ZW9uX2kyY19yZWNvdmVyeShpMmMpOwoJCWlmIChyZXN1 bHQpIHsKCQkJZGV2X2VycihpMmMtPmRldiwgIm9jdGVvbiBpMmMgcmVjb3ZlcnkgZmFpbGVkXG4i KTsKCQkJZ290byAgb3V0OwoJCX0KCX0KCglyZXN1bHQgPSBpMmNfYWRkX2FkYXB0ZXIoJmkyYy0+ YWRhcCk7CglpZiAocmVzdWx0IDwgMCkKCQlnb3RvIG91dDsKCWRldl9pbmZvKGkyYy0+ZGV2LCAi cHJvYmVkXG4iKTsKCXJldHVybiAwOwoKb3V0OgoJcmV0dXJuIHJlc3VsdDsKfTsKCnN0YXRpYyBp bnQgb2N0ZW9uX2kyY19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKewoJc3Ry dWN0IG9jdGVvbl9pMmMgKmkyYyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwoKCWkyY19k ZWxfYWRhcHRlcigmaTJjLT5hZGFwKTsKCXJldHVybiAwOwp9OwoKc3RhdGljIGNvbnN0IHN0cnVj dCBvZl9kZXZpY2VfaWQgb2N0ZW9uX2kyY19tYXRjaFtdID0gewoJeyAuY29tcGF0aWJsZSA9ICJj YXZpdW0sb2N0ZW9uLTM4NjAtdHdzaSIsIH0sCgl7IC5jb21wYXRpYmxlID0gImNhdml1bSxvY3Rl b24tNzg5MC10d3NpIiwgfSwKCXt9LAp9OwpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBvY3Rlb25f aTJjX21hdGNoKTsKCnN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG9jdGVvbl9pMmNfZHJp dmVyID0gewoJLnByb2JlCQk9IG9jdGVvbl9pMmNfcHJvYmUsCgkucmVtb3ZlCQk9IG9jdGVvbl9p MmNfcmVtb3ZlLAoJLmRyaXZlcgkJPSB7CgkJLm5hbWUJPSBEUlZfTkFNRSwKCQkub2ZfbWF0Y2hf dGFibGUgPSBvY3Rlb25faTJjX21hdGNoLAoJfSwKfTsKCm1vZHVsZV9wbGF0Zm9ybV9kcml2ZXIo b2N0ZW9uX2kyY19kcml2ZXIpOwoKTU9EVUxFX0FVVEhPUigiTWljaGFlbCBMYXduaWNrIDxtaWNo YWVsLmxhd25pY2suZXh0QG5zbi5jb20+Iik7Ck1PRFVMRV9ERVNDUklQVElPTigiSTJDLUJ1cyBh ZGFwdGVyIGZvciBDYXZpdW0gT0NURU9OIHByb2Nlc3NvcnMiKTsKTU9EVUxFX0xJQ0VOU0UoIkdQ TCIpOwo= --_003_VI1PR0702MB3615C722824329CD6635DB148E320VI1PR0702MB3615_--