From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Rosin Subject: Re: [PATCH v2 5/5] i2c: mux: pca9541: add support for PCA9641 Date: Thu, 7 Mar 2019 21:16:23 +0000 Message-ID: <0105c583-6b33-066a-fefd-00c2a3090178@axentia.se> References: <20190306231521.29367-1-peda@axentia.se> <20190306231521.29367-6-peda@axentia.se> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190306231521.29367-6-peda@axentia.se> Content-Language: en-US Content-ID: <9B5FD957ECD2A3469D1A14781CDF58FF@eurprd02.prod.outlook.com> Sender: linux-kernel-owner@vger.kernel.org To: "linux-kernel@vger.kernel.org" Cc: Rob Herring , Mark Rutland , Guenter Roeck , "linux-i2c@vger.kernel.org" , "devicetree@vger.kernel.org" , Ken Chen , Pradeep Srinivasan List-Id: devicetree@vger.kernel.org SGkhDQoNCkkgc2hvdWxkIGhhdmUgcmVhZCBLZW5zIGNvZGUgbW9yZSBjYXJlZnVsbHksIGJlZm9y ZSBzaWduaW5nIG9mZiBvbiBpdC4uLg0KDQpSZXZpZXcgY29tbWVudHMgaW5saW5lLi4uDQoNCk9u IDIwMTktMDMtMDcgMDA6MTUsIFBldGVyIFJvc2luIHdyb3RlOg0KPiBIZWF2aWx5IGJhc2VkIG9u IGNvZGUgZnJvbSBLZW4gQ2hlbiA8Y2hlbi5rZW55eUBpbnZlbnRlYy5jb20+Lg0KPiANCj4gU2ln bmVkLW9mZi1ieTogUGV0ZXIgUm9zaW4gPHBlZGFAYXhlbnRpYS5zZT4NCj4gLS0tDQo+ICBkcml2 ZXJzL2kyYy9tdXhlcy9LY29uZmlnICAgICAgICAgICB8ICAgNiArLQ0KPiAgZHJpdmVycy9pMmMv bXV4ZXMvaTJjLW11eC1wY2E5NTQxLmMgfCAxMzcgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tDQo+ICAyIGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNlcnRpb25zKCspLCA3IGRlbGV0 aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL211eGVzL0tjb25maWcgYi9k cml2ZXJzL2kyYy9tdXhlcy9LY29uZmlnDQo+IGluZGV4IDUyYTRhOTIyZTdlNi4uODUzMjg0MWRl NWRiIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2kyYy9tdXhlcy9LY29uZmlnDQo+ICsrKyBiL2Ry aXZlcnMvaTJjL211eGVzL0tjb25maWcNCj4gQEAgLTU1LDEwICs1NSwxMCBAQCBjb25maWcgSTJD X01VWF9MVEM0MzA2DQo+ICAJICB3aWxsIGJlIGNhbGxlZCBpMmMtbXV4LWx0YzQzMDYuDQo+ICAN Cj4gIGNvbmZpZyBJMkNfTVVYX1BDQTk1NDENCj4gLQl0cmlzdGF0ZSAiTlhQIFBDQTk1NDEgSTJD IE1hc3RlciBTZWxlY3RvciINCj4gKwl0cmlzdGF0ZSAiTlhQIFBDQTk1NDEvUENBOTY0MSBJMkMg TWFzdGVyIFNlbGVjdG9ycyINCj4gIAloZWxwDQo+IC0JICBJZiB5b3Ugc2F5IHllcyBoZXJlIHlv dSBnZXQgc3VwcG9ydCBmb3IgdGhlIE5YUCBQQ0E5NTQxDQo+IC0JICBJMkMgTWFzdGVyIFNlbGVj dG9yLg0KPiArCSAgSWYgeW91IHNheSB5ZXMgaGVyZSB5b3UgZ2V0IHN1cHBvcnQgZm9yIHRoZSBO WFAgUENBOTU0MS9QQ0E5NjQxDQo+ICsJICBJMkMgTWFzdGVyIFNlbGVjdG9ycy4NCj4gIA0KPiAg CSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhl IG1vZHVsZQ0KPiAgCSAgd2lsbCBiZSBjYWxsZWQgaTJjLW11eC1wY2E5NTQxLg0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9pMmMvbXV4ZXMvaTJjLW11eC1wY2E5NTQxLmMgYi9kcml2ZXJzL2kyYy9t dXhlcy9pMmMtbXV4LXBjYTk1NDEuYw0KPiBpbmRleCA1ZWIzNmUzMjIzZDUuLjVkNGUwYzkyZTk3 OCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9pMmMvbXV4ZXMvaTJjLW11eC1wY2E5NTQxLmMNCj4g KysrIGIvZHJpdmVycy9pMmMvbXV4ZXMvaTJjLW11eC1wY2E5NTQxLmMNCj4gQEAgLTEsNSArMSw1 IEBADQo+ICAvKg0KPiAtICogSTJDIG11bHRpcGxleGVyIGRyaXZlciBmb3IgUENBOTU0MSBidXMg bWFzdGVyIHNlbGVjdG9yDQo+ICsgKiBJMkMgbXVsdGlwbGV4ZXIgZHJpdmVyIGZvciBQQ0E5NTQx L1BDQTk2NDEgYnVzIG1hc3RlciBzZWxlY3RvcnMNCj4gICAqDQo+ICAgKiBDb3B5cmlnaHQgKGMp IDIwMTAgRXJpY3Nzb24gQUIuDQo+ICAgKg0KPiBAQCAtMjgsOCArMjgsOCBAQA0KPiAgI2luY2x1 ZGUgPGxpbnV4L3NsYWIuaD4NCj4gIA0KPiAgLyoNCj4gLSAqIFRoZSBQQ0E5NTQxIGlzIGEgYnVz IG1hc3RlciBzZWxlY3Rvci4gSXQgc3VwcG9ydHMgdHdvIEkyQyBtYXN0ZXJzIGNvbm5lY3RlZA0K PiAtICogdG8gYSBzaW5nbGUgc2xhdmUgYnVzLg0KPiArICogVGhlIFBDQTk1NDEgYW5kIFBDQTk2 NDEgYXJlIGJ1cyBtYXN0ZXIgc2VsZWN0b3IuIFRoZXkgc3VwcG9ydCB0d28gSTJDIG1hc3RlcnMN Cj4gKyAqIGNvbm5lY3RlZCB0byBhIHNpbmdsZSBzbGF2ZSBidXMuDQo+ICAgKg0KPiAgICogQmVm b3JlIGVhY2ggYnVzIHRyYW5zYWN0aW9uLCBhIG1hc3RlciBoYXMgdG8gYWNxdWlyZSBidXMgb3du ZXJzaGlwLiBBZnRlciB0aGUNCj4gICAqIHRyYW5zYWN0aW9uIGlzIGNvbXBsZXRlLCBidXMgb3du ZXJzaGlwIGhhcyB0byBiZSByZWxlYXNlZC4gVGhpcyBmaXRzIHdlbGwNCj4gQEAgLTYzLDYgKzYz LDMzIEBADQo+ICAjZGVmaW5lIFBDQTk1NDFfQlVTT04JKFBDQTk1NDFfQ1RMX0JVU09OIHwgUENB OTU0MV9DVExfTkJVU09OKQ0KPiAgI2RlZmluZSBQQ0E5NTQxX01ZQlVTCShQQ0E5NTQxX0NUTF9N WUJVUyB8IFBDQTk1NDFfQ1RMX05NWUJVUykNCj4gIA0KPiArI2RlZmluZSBQQ0E5NjQxX0lECQkJ MHgwMA0KPiArI2RlZmluZSBQQ0E5NjQxX0lEX01BR0lDCQkweDM4DQo+ICsNCj4gKyNkZWZpbmUg UENBOTY0MV9DT05UUk9MCQkJMHgwMQ0KPiArI2RlZmluZSBQQ0E5NjQxX1NUQVRVUwkJCTB4MDIN Cj4gKyNkZWZpbmUgUENBOTY0MV9USU1FCQkJMHgwMw0KPiArDQo+ICsjZGVmaW5lIFBDQTk2NDFf Q1RMX0xPQ0tfUkVRCQlCSVQoMCkNCj4gKyNkZWZpbmUgUENBOTY0MV9DVExfTE9DS19HUkFOVAkJ QklUKDEpDQo+ICsjZGVmaW5lIFBDQTk2NDFfQ1RMX0JVU19DT05ORUNUCQlCSVQoMikNCj4gKyNk ZWZpbmUgUENBOTY0MV9DVExfQlVTX0lOSVQJCUJJVCgzKQ0KPiArI2RlZmluZSBQQ0E5NjQxX0NU TF9TTUJVU19TV1JTVAkJQklUKDQpDQo+ICsjZGVmaW5lIFBDQTk2NDFfQ1RMX0lETEVfVElNRVJf RElTCUJJVCg1KQ0KPiArI2RlZmluZSBQQ0E5NjQxX0NUTF9TTUJVU19ESVMJCUJJVCg2KQ0KPiAr I2RlZmluZSBQQ0E5NjQxX0NUTF9QUklPUklUWQkJQklUKDcpDQo+ICsNCj4gKyNkZWZpbmUgUENB OTY0MV9TVFNfT1RIRVJfTE9DSwkJQklUKDApDQo+ICsjZGVmaW5lIFBDQTk2NDFfU1RTX0JVU19J TklUX0ZBSUwJQklUKDEpDQo+ICsjZGVmaW5lIFBDQTk2NDFfU1RTX0JVU19IVU5HCQlCSVQoMikN Cj4gKyNkZWZpbmUgUENBOTY0MV9TVFNfTUJPWF9FTVBUWQkJQklUKDMpDQo+ICsjZGVmaW5lIFBD QTk2NDFfU1RTX01CT1hfRlVMTAkJQklUKDQpDQo+ICsjZGVmaW5lIFBDQTk2NDFfU1RTX1RFU1Rf SU5UCQlCSVQoNSkNCj4gKyNkZWZpbmUgUENBOTY0MV9TVFNfU0NMX0lPCQlCSVQoNikNCj4gKyNk ZWZpbmUgUENBOTY0MV9TVFNfU0RBX0lPCQlCSVQoNykNCj4gKw0KPiArI2RlZmluZSBQQ0E5NjQx X1JFU19USU1FCQkweDAzDQoNClRoaXMgYXBwZWFycyB0byBiZSB0aGUgc2FtZSB0aGluZyBhcyBQ Q0E5NjQxX1RJTUUgYWJvdmUuIFRoZQ0KcmVnaXN0ZXIgaXMgY2FsbGVkIFBDQTk2NDFfUlQgaW4g bXkgZGF0YSBzaGVldC4NCg0KPiArDQo+ICAvKiBhcmJpdHJhdGlvbiB0aW1lb3V0cywgaW4gamlm ZmllcyAqLw0KPiAgI2RlZmluZSBBUkJfVElNRU9VVAkoSFogLyA4KQkvKiAxMjUgbXMgdW50aWwg Zm9yY2luZyBidXMgb3duZXJzaGlwICovDQo+ICAjZGVmaW5lIEFSQjJfVElNRU9VVAkoSFogLyA0 KQkvKiAyNTAgbXMgdW50aWwgYWNxdWlzaXRpb24gZmFpbHVyZSAqLw0KPiBAQCAtNzMsNiArMTAw LDcgQEANCj4gIA0KPiAgZW51bSBjaGlwX25hbWUgew0KPiAgCXBjYTk1NDEsDQo+ICsJcGNhOTY0 MSwNCj4gIH07DQo+ICANCj4gIHN0cnVjdCBjaGlwX2Rlc2Mgew0KPiBAQCAtMTAyLDYgKzEzMCwy MSBAQCBzdGF0aWMgYm9vbCBwY2E5NTQxX2J1c29mZihpbnQgY3RsKQ0KPiAgCXJldHVybiAoY3Rs ICYgUENBOTU0MV9CVVNPTikgPT0gUENBOTU0MV9CVVNPTjsNCj4gIH0NCj4gIA0KPiArc3RhdGlj IGJvb2wgcGNhOTY0MV9sb2NrX2dyYW50KGludCBjdGwpDQo+ICt7DQo+ICsJcmV0dXJuICEhKGN0 bCAmIFBDQTk2NDFfQ1RMX0xPQ0tfR1JBTlQpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgYm9vbCBw Y2E5NjQxX290aGVyX2xvY2soaW50IHN0cykNCj4gK3sNCj4gKwlyZXR1cm4gISEoc3RzICYgUENB OTY0MV9TVFNfT1RIRVJfTE9DSyk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBib29sIHBjYTk2NDFf YnVzb2ZmKGludCBjdGwsIGludCBzdHMpDQo+ICt7DQo+ICsJcmV0dXJuICFwY2E5NjQxX2xvY2tf Z3JhbnQoY3RsKSAmJiAhcGNhOTY0MV9vdGhlcl9sb2NrKHN0cyk7DQo+ICt9DQo+ICsNCj4gIC8q DQo+ICAgKiBXcml0ZSB0byBjaGlwIHJlZ2lzdGVyLiBEb24ndCB1c2UgaTJjX3RyYW5zZmVyKCkv aTJjX3NtYnVzX3hmZXIoKQ0KPiAgICogYXMgdGhleSB3aWxsIHRyeSB0byBsb2NrIHRoZSBhZGFw dGVyIGEgc2Vjb25kIHRpbWUuDQo+IEBAIC0yNTYsNiArMjk5LDg2IEBAIHN0YXRpYyBpbnQgcGNh OTU0MV9hcmJpdHJhdGUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkNCj4gIAlyZXR1cm4gMDsN Cj4gIH0NCj4gIA0KPiArLyogUmVsZWFzZSBidXMuICovDQo+ICtzdGF0aWMgdm9pZCBwY2E5NjQx X3JlbGVhc2VfYnVzKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpDQo+ICt7DQo+ICsJcGNhOTU0 MV9yZWdfd3JpdGUoY2xpZW50LCBQQ0E5NjQxX0NPTlRST0wsIDApOw0KDQpTaG91bGQgdGhpcyBy ZWxlYXNlIGJ1cyBmdW5jdGlvbiByZWFsbHkgImNsb2JiZXIiIHRoZSBjb250cm9sIGJpdHMNClBD QTk2NDFfQ1RMX0lETEVfVElNRVJfRElTLCBQQ0E5NjQxX0NUTF9TTUJVU19ESVMsIFBDQTk2NDFf Q1RMX1BSSU9SSVRZPw0KWWVzIHllcywgdGhlIGRyaXZlciBuZXZlciBzZXRzIHRoZXNlIGJpdHMg c28gdGhleSBhcmUgbGlrZWx5IHplcm8uIEJ1dA0KdGhlIGRyaXZlciBkb2Vzbid0IHJlc2V0IHRo ZSBjaGlwIGVpdGhlciwgc28gc29tZSBib290c3RyYXAgY29kZSBtaWdodA0KaGF2ZSBjb25maWd1 cmVkIHRob3NlIGJpdHMuLi4NCg0KQWxzbyByZWxhdGVkIHRvIGJ1cyByZWxlYXNlLCBzaW5jZSB0 aGUgZHJpdmVyIGRvZXMgbm90IHRvdWNoIHRoZQ0KcmVzZXJ2ZSB0aW1lIHJlZ2lzdGVyLCBhbmQg dGhlbiBjbGVhcnMgdGhlIGFib3ZlIGJpdHMsIHRoZSBvbmx5IHdheQ0KdG8gcmVsZWFzZSB0aGUg YnVzIGlzIGlmIGV2ZXJ5dGhpbmcgY29udGludWVzIHRvIHdvcmsgYW5kIHRoZSBhYm92ZQ0KcGNh OTY0MV9yZWxlYXNlX2J1cyBpcyBpbiBmYWN0IGhhcHBlbmluZy4gQnV0IGlmIHRoZSBrZXJuZWwg Y3Jhc2hlcw0Kd2hpbGUgaG9nZ2luZyB0aGUgYnVzLCBhbmQgZmFpbHMgdG8gY29tZSB1cCwgdGhl biB0aGUgb3RoZXIgbWFzdGVyDQpoYXMgbm8gd2F5IG9mIHN0ZWFsaW5nIHRoZSBvd25lcnNoaXAu IEkgcmVhbGx5IGZlZWwgdGhhdCB0aGUgZHJpdmVyDQpzaG91bGQgbWFrZSB1c2Ugb2YgdGhlIHRp bWVycyBzbyB0aGF0IHRoZSBhcmJpdGVyIHJlbGVhc2VzIHRoZSBidXMNCmF1dG9tYXRpY2FsbHkg b24gY2F0YXN0cm9waGljIGZhaWx1cmUuIEJ1dCBtYXliZSBJIHBsYWluIGFuZCBzaW1wbGUNCmp1 c3QgbWlzdW5kZXJzdGFuZCB0aGUgZGF0YXNoZWV0Pw0KDQo+ICt9DQo+ICsNCj4gKy8qDQo+ICsg KiBDaGFubmVsIGFyYml0cmF0aW9uDQo+ICsgKg0KPiArICogUmV0dXJuIHZhbHVlczoNCj4gKyAq ICA8MDogZXJyb3INCj4gKyAqICAwIDogYnVzIG5vdCBhY3F1aXJlZA0KPiArICogIDEgOiBidXMg YWNxdWlyZWQNCj4gKyAqLw0KPiArc3RhdGljIGludCBwY2E5NjQxX2FyYml0cmF0ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50KQ0KPiArew0KPiArCXN0cnVjdCBpMmNfbXV4X2NvcmUgKm11eGMg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsNCj4gKwlzdHJ1Y3QgcGNhOTU0MSAqZGF0YSA9 IGkyY19tdXhfcHJpdihtdXhjKTsNCj4gKwlpbnQgcmVnX2N0bCwgcmVnX3N0czsNCj4gKw0KPiAr CXJlZ19jdGwgPSBwY2E5NTQxX3JlZ19yZWFkKGNsaWVudCwgUENBOTY0MV9DT05UUk9MKTsNCj4g KwlpZiAocmVnX2N0bCA8IDApDQo+ICsJCXJldHVybiByZWdfY3RsOw0KPiArCXJlZ19zdHMgPSBw Y2E5NTQxX3JlZ19yZWFkKGNsaWVudCwgUENBOTY0MV9TVEFUVVMpOw0KPiArDQo+ICsJaWYgKHBj YTk2NDFfYnVzb2ZmKHJlZ19jdGwsIHJlZ19zdHMpKSB7DQo+ICsJCS8qDQo+ICsJCSAqIEJ1cyBp cyBvZmYuIFJlcXVlc3Qgb3duZXJzaGlwIG9yIHR1cm4gaXQgb24gdW5sZXNzDQo+ICsJCSAqIG90 aGVyIG1hc3RlciByZXF1ZXN0ZWQgb3duZXJzaGlwLg0KPiArCQkgKi8NCj4gKwkJcmVnX2N0bCB8 PSBQQ0E5NjQxX0NUTF9MT0NLX1JFUTsNCj4gKwkJcGNhOTU0MV9yZWdfd3JpdGUoY2xpZW50LCBQ Q0E5NjQxX0NPTlRST0wsIHJlZ19jdGwpOw0KPiArCQlyZWdfY3RsID0gcGNhOTU0MV9yZWdfcmVh ZChjbGllbnQsIFBDQTk2NDFfQ09OVFJPTCk7DQo+ICsNCj4gKwkJaWYgKHBjYTk2NDFfbG9ja19n cmFudChyZWdfY3RsKSkgew0KPiArCQkJLyoNCj4gKwkJCSAqIE90aGVyIG1hc3RlciBkaWQgbm90 IHJlcXVlc3Qgb3duZXJzaGlwLA0KPiArCQkJICogb3IgYXJiaXRyYXRpb24gdGltZW91dCBleHBp cmVkLiBUYWtlIHRoZSBidXMuDQo+ICsJCQkgKi8NCj4gKwkJCXJlZ19jdGwgfD0gUENBOTY0MV9D VExfQlVTX0NPTk5FQ1QgfA0KPiArCQkJCVBDQTk2NDFfQ1RMX0xPQ0tfUkVROw0KPiArCQkJcGNh OTU0MV9yZWdfd3JpdGUoY2xpZW50LCBQQ0E5NjQxX0NPTlRST0wsIHJlZ19jdGwpOw0KPiArCQkJ ZGF0YS0+c2VsZWN0X3RpbWVvdXQgPSBTRUxFQ1RfREVMQVlfU0hPUlQ7DQo+ICsNCj4gKwkJCXJl dHVybiAxOw0KPiArCQl9DQo+ICsNCj4gKwkJLyoNCj4gKwkJICogT3RoZXIgbWFzdGVyIHJlcXVl c3RlZCBvd25lcnNoaXAuDQo+ICsJCSAqIFNldCBleHRyYSBsb25nIHRpbWVvdXQgdG8gZ2l2ZSBp dCB0aW1lIHRvIGFjcXVpcmUgaXQuDQo+ICsJCSAqLw0KPiArCQlkYXRhLT5zZWxlY3RfdGltZW91 dCA9IFNFTEVDVF9ERUxBWV9MT05HICogMjsNCj4gKw0KPiArCQlyZXR1cm4gMDsNCj4gKwl9DQo+ ICsNCj4gKwlpZiAocGNhOTY0MV9sb2NrX2dyYW50KHJlZ19jdGwpKSB7DQo+ICsJCS8qDQo+ICsJ CSAqIEJ1cyBpcyBvbiwgYW5kIHdlIG93biBpdC4gV2UgYXJlIGRvbmUgd2l0aCBhY3F1aXNpdGlv bi4NCj4gKwkJICovDQo+ICsJCXJlZ19jdGwgfD0gUENBOTY0MV9DVExfQlVTX0NPTk5FQ1QgfCBQ Q0E5NjQxX0NUTF9MT0NLX1JFUTsNCj4gKwkJcGNhOTU0MV9yZWdfd3JpdGUoY2xpZW50LCBQQ0E5 NjQxX0NPTlRST0wsIHJlZ19jdGwpOw0KPiArDQo+ICsJCXJldHVybiAxOw0KPiArCX0NCj4gKw0K PiArCWlmIChwY2E5NjQxX290aGVyX2xvY2socmVnX3N0cykpIHsNCj4gKwkJLyoNCj4gKwkJICog T3RoZXIgbWFzdGVyIG93bnMgdGhlIGJ1cy4NCj4gKwkJICogSWYgYXJiaXRyYXRpb24gdGltZW91 dCBoYXMgZXhwaXJlZCwgZm9yY2Ugb3duZXJzaGlwLg0KPiArCQkgKiBPdGhlcndpc2UgcmVxdWVz dCBpdC4NCg0KVGhpcyBjb21tZW50IGlzIHN0YWxlLiBSZWFkaW5nIHRoZSBkYXRhIHNoZWV0LCBJ IGZpbmQgbm8gd2F5IHRvIGZvcmNlDQpvd25lcnNoaXAgd2l0aCB0aGUgUENBOTY0MSAoYXMgaW5k aWNhdGVkIGFib3ZlIGluIHRoZSByZWxlYXNlX2J1cw0KcmV2aWV3IGNvbW1lbnQpLiBCdXQgSSBo YXZlIG9ubHkgYnJvd3NlZCB0aGUgZGF0YSBzaGVldCBzbyBJIGNvdWxkDQplYXNpbHkgYmUgbWlz dGFrZW4uLi4NCg0KW3RpbWUgcGFzc2VzXQ0KDQpBaGhoLCB3YWl0LCBpdCBjb3VsZCByZXNldCB0 aGUgY2hpcCB0byBnZXQgYSBuZXcgY2hhbmNlIHRvIGdldCBvd25lcnNoaXAuDQpCdXQgdGhhdCB3 aWxsIHJlc2V0IGFsbCByZWdpc3RlcnMgZm9yIHRoZSBvdGhlciBtYXN0ZXIgYXMgd2VsbCwgc2lu Y2UgSQ0KcmVhZCBpdCBhcyBpZiB0aGUgcmVzZXQgaXMgY2hpcC1nbG9iYWwgYW5kIG5vdCBtYXN0 ZXItbG9jYWwgd2l0aCBtaW5pbWFsDQplZmZlY3RzIG9uIHRoZSBvdGhlciBtYXN0ZXIuIFNvLCBh IGJpZyBoYW1tZXIgaW5kZWVkLg0KDQpDaGVlcnMsDQpQZXRlcg0KDQo+ICsJCSAqLw0KPiArCQlk YXRhLT5zZWxlY3RfdGltZW91dCA9IFNFTEVDVF9ERUxBWV9MT05HOw0KPiArCQlyZWdfY3RsIHw9 IFBDQTk2NDFfQ1RMX0xPQ0tfUkVROw0KPiArCQlwY2E5NTQxX3JlZ193cml0ZShjbGllbnQsIFBD QTk2NDFfQ09OVFJPTCwgcmVnX2N0bCk7DQo+ICsJfQ0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9 DQo+ICsNCj4gIHN0YXRpYyBpbnQgcGNhOTU0MV9zZWxlY3RfY2hhbihzdHJ1Y3QgaTJjX211eF9j b3JlICptdXhjLCB1MzIgY2hhbikNCj4gIHsNCj4gIAlzdHJ1Y3QgcGNhOTU0MSAqZGF0YSA9IGky Y19tdXhfcHJpdihtdXhjKTsNCj4gQEAgLTI5NSwxMCArNDE4LDE1IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgY2hpcF9kZXNjIGNoaXBzW10gPSB7DQo+ICAJCS5hcmJpdHJhdGUgPSBwY2E5NTQxX2Fy Yml0cmF0ZSwNCj4gIAkJLnJlbGVhc2VfYnVzID0gcGNhOTU0MV9yZWxlYXNlX2J1cywNCj4gIAl9 LA0KPiArCVtwY2E5NjQxXSA9IHsNCj4gKwkJLmFyYml0cmF0ZSA9IHBjYTk2NDFfYXJiaXRyYXRl LA0KPiArCQkucmVsZWFzZV9idXMgPSBwY2E5NjQxX3JlbGVhc2VfYnVzLA0KPiArCX0sDQo+ICB9 Ow0KPiAgDQo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgcGNhOTU0MV9pZFtd ID0gew0KPiAgCXsgInBjYTk1NDEiLCBwY2E5NTQxIH0sDQo+ICsJeyAicGNhOTY0MSIsIHBjYTk2 NDEgfSwNCj4gIAl7fQ0KPiAgfTsNCj4gIA0KPiBAQCAtMzA3LDYgKzQzNSw3IEBAIE1PRFVMRV9E RVZJQ0VfVEFCTEUoaTJjLCBwY2E5NTQxX2lkKTsNCj4gICNpZmRlZiBDT05GSUdfT0YNCj4gIHN0 YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHBjYTk1NDFfb2ZfbWF0Y2hbXSA9IHsNCj4g IAl7IC5jb21wYXRpYmxlID0gIm54cCxwY2E5NTQxIiwgLmRhdGEgPSAmY2hpcHNbcGNhOTU0MV0g fSwNCj4gKwl7IC5jb21wYXRpYmxlID0gIm54cCxwY2E5NjQxIiwgLmRhdGEgPSAmY2hpcHNbcGNh OTY0MV0gfSwNCj4gIAl7fQ0KPiAgfTsNCj4gIE1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHBjYTk1 NDFfb2ZfbWF0Y2gpOw0KPiBAQCAtMzkyLDUgKzUyMSw1IEBAIHN0YXRpYyBzdHJ1Y3QgaTJjX2Ry aXZlciBwY2E5NTQxX2RyaXZlciA9IHsNCj4gIG1vZHVsZV9pMmNfZHJpdmVyKHBjYTk1NDFfZHJp dmVyKTsNCj4gIA0KPiAgTU9EVUxFX0FVVEhPUigiR3VlbnRlciBSb2VjayA8bGludXhAcm9lY2st dXMubmV0PiIpOw0KPiAtTU9EVUxFX0RFU0NSSVBUSU9OKCJQQ0E5NTQxIEkyQyBtYXN0ZXIgc2Vs ZWN0b3IgZHJpdmVyIik7DQo+ICtNT0RVTEVfREVTQ1JJUFRJT04oIlBDQTk1NDEvUENBOTY0MSBJ MkMgbWFzdGVyIHNlbGVjdG9yIGRyaXZlciIpOw0KPiAgTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIp Ow0KPiANCg0K