From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: Re: [PATCH v7 1/2] drm/bridge: Add sii902x driver Date: Thu, 9 Jun 2016 09:56:44 +0200 Message-ID: <20160609095644.17c48474@bbrezillon> References: <1465389011-11877-1-git-send-email-boris.brezillon@free-electrons.com> <5759106C.1000704@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5759106C.1000704@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Archit Taneja Cc: Mark Rutland , Meng Yi , Xiubo Li , Pawel Moll , Ian Campbell , Emil Velikov , Alison Wang , Nicolas Ferre , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, Rob Herring , Alexandre Belloni , Kumar Gala , Jean-Christophe Plagniol-Villard , Jianwei Wang List-Id: devicetree@vger.kernel.org SGkgQXJjaGl0LAoKT24gVGh1LCA5IEp1biAyMDE2IDEyOjE1OjAwICswNTMwCkFyY2hpdCBUYW5l amEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+IHdyb3RlOgoKPiBIaSBCb3JpcywKPiAKPiBPbiA2 LzgvMjAxNiA2OjAwIFBNLCBCb3JpcyBCcmV6aWxsb24gd3JvdGU6Cj4gPiBBZGQgYmFzaWMgc3Vw cG9ydCBmb3IgdGhlIHNpaTkwMnggUkdCIC0+IEhETUkgYnJpZGdlLgo+ID4gVGhpcyBkcml2ZXIg ZG9lcyBub3Qgc3VwcG9ydCBhdWRpbyBvdXRwdXQgeWV0Lgo+ID4KPiA+IFNpZ25lZC1vZmYtYnk6 IEJvcmlzIEJyZXppbGxvbiA8Ym9yaXMuYnJlemlsbG9uQGZyZWUtZWxlY3Ryb25zLmNvbT4KPiA+ IFRlc3RlZC1ieTogTmljb2xhcyBGZXJyZSA8bmljb2xhcy5mZXJyZUBhdG1lbC5jb20+Cj4gPiAt LS0KPiA+IEhpIEFyY2hpdCwKPiA+Cj4gPiBJIHJlY2VudGx5IGxlYXJuZWQgeW91IHdlcmUgdGhl IGRybS9icmlkZ2UgbWFpbnRhaW5lciwgYW5kIEkgcmVhbGl6ZQo+ID4geW91IHdlcmUgbm90IGlu IENjIG9mIHRoZSBwcmV2aW91cyB2ZXJzaW9ucy4KPiA+Cj4gPiBPbmNlIHlvdSBoYXZlIHNvbWUg dGltZSwgY291bGQgeW91IHJldmlldyB0aGlzIHNlcmllcywgYW5kIGxldCBtZSBrbm93Cj4gPiB3 aGF0J3MgdGhlIHByb2NlZHVyZSB0byBnZXQgaXQgbWVyZ2VkIChzZW5kIGEgUFIgdG8gRGF2ZSwg b3IgbGV0IHlvdQo+ID4gdGFrZSBpdCBpbnRvIHlvdXIgdHJlZSkuICAKPiAKPiBJJ20gc3RpbGwg aW4gdGhlIHByb2Nlc3Mgb2YgcHJlcGFyaW5nIG15IGFjY291bnQsIGFuZCBmaWd1cmluZyBvdXQK PiBob3cgdG8gbm90IG1lc3MgdXAgc2VuZGluZyBwdWxsIHJlcXVlc3RzLCBldGMuIElmIGl0J3Mg ZG9uZSBmYXN0Cj4gZW5vdWdoLCBJJ2xsIHByZXBhcmUgYSB0cmVlIGFuZCBzdGFydCBjb2xsZWN0 aW5nIHN0dWZmLiBJdCBpdCdzIGdldHRpbmcKPiB0b28gbGF0ZSwgRGFuaWVsL0RhdmUvVGhpZXJy eSBjYW4gcHVsbCBpdCBmb3IgdGhpcyBtZXJnZSB3aW5kb3cuCgpPaywgY29vbCEKCj4gCj4gU29t ZSBjb21tZW50cyBiZWxvdy4KPiAKPiA+Cj4gPiBUaGFua3MsCj4gPgo+ID4gQm9yaXMKPiA+Cj4g PiBDaGFuZ2VzIGluIHY2Ogo+ID4gLSB1c2UgSERNSV9JTkZPRlJBTUVfU0laRShBVkkpCj4gPiAt IGZpeCByZXNldF9ncGlvIGluaXRpYWxpemF0aW9uCj4gPiAtIHJlZHVjZSB0aGUgcmVzZXQgdGlt ZSBiYXNlZCBvbiBNaW5nIGZlZWRiYWNrCj4gPgo+ID4gQ2hhbmdlcyBpbiB2NToKPiA+IC0gZHJv cCB0aGUgYmVzdF9lbmNvZGVyKCkgaW1wbGVtZW50YXRpb24KPiA+Cj4gPiBDaGFuZ2VzIGluIHY0 Ogo+ID4gLSBtYWtlIHJlc2V0IEdQSU8gb3B0aW9uYWwKPiA+IC0gb25seSBzdXBwb3J0IGF0dGFj aGluZyB0byBEUk0gZGV2aWNlcyBzdXBwb3J0aW5nIGF0b21pYyB1cGRhdGVzCj4gPgo+ID4gQ2hh bmdlcyBpbiB2MzoKPiA+IC0gZml4IGdldF9tb2RlcygpIGltcGxlbWVudGF0aW9uIHRvIGF2b2lk IHR1cm5pbmcgdGhlIHNjcmVlbiBpbiBwb3dlcgo+ID4gICAgc2F2ZSBtb2RlCj4gPiAtIHJlbmFt ZSB0aGUgZHJpdmVyIChzaWw5MDJ4IC0+IHNpaTkwMngpCj4gPgo+ID4gQ2hhbmdlcyBpbiB2MjoK PiA+IC0gZml4IGVycm9ycyByZXBvcnRlZCBieSB0aGUga2J1aWxkIHJvYm90Cj4gPgo+ID4gZml4 dXAhIGRybTogYnJpZGdlOiBBZGQgc2lpOTAyeCBkcml2ZXIKPiA+IC0tLQo+ID4gICBkcml2ZXJz L2dwdS9kcm0vYnJpZGdlL0tjb25maWcgICB8ICAgOCArCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvTWFrZWZpbGUgIHwgICAxICsKPiA+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5 MDJ4LmMgfCA0NTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiAg IDMgZmlsZXMgY2hhbmdlZCwgNDY4IGluc2VydGlvbnMoKykKPiA+ICAgY3JlYXRlIG1vZGUgMTAw NjQ0IGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCj4gPgo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvS2NvbmZpZyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv S2NvbmZpZwo+ID4gaW5kZXggOGY3NDIzZi4uYTE0MTkyMTQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL0tjb25maWcKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvS2NvbmZpZwo+ID4gQEAgLTUwLDYgKzUwLDE0IEBAIGNvbmZpZyBEUk1fUEFSQURFX1BTODYy Mgo+ID4gICAJLS0taGVscC0tLQo+ID4gICAJICBQYXJhZGUgZURQLUxWRFMgYnJpZGdlIGNoaXAg ZHJpdmVyLgo+ID4KPiA+ICtjb25maWcgRFJNX1NJSTkwMlgKPiA+ICsJdHJpc3RhdGUgIlNpbGlj b24gSW1hZ2Ugc2lpOTAyeCBSR0IvSERNSSBicmlkZ2UiCj4gPiArCWRlcGVuZHMgb24gT0YKPiA+ ICsJc2VsZWN0IERSTV9LTVNfSEVMUEVSCj4gPiArCXNlbGVjdCBSRUdNQVBfSTJDCj4gPiArCS0t LWhlbHAtLS0KPiA+ICsJICBTaWxpY29uIEltYWdlIHNpaTkwMnggYnJpZGdlIGNoaXAgZHJpdmVy Lgo+ID4gKwo+ID4gICBzb3VyY2UgImRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvS2Nv bmZpZyIKPiA+Cj4gPiAgIGVuZG1lbnUKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9NYWtlZmlsZQo+ID4gaW5k ZXggOTZiMTNiMy4uYmZlYzlmOCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvTWFrZWZpbGUKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvTWFrZWZpbGUKPiA+ IEBAIC01LDQgKzUsNSBAQCBvYmotJChDT05GSUdfRFJNX0RXX0hETUkpICs9IGR3LWhkbWkubwo+ ID4gICBvYmotJChDT05GSUdfRFJNX0RXX0hETUlfQUhCX0FVRElPKSArPSBkdy1oZG1pLWFoYi1h dWRpby5vCj4gPiAgIG9iai0kKENPTkZJR19EUk1fTlhQX1BUTjM0NjApICs9IG54cC1wdG4zNDYw Lm8KPiA+ICAgb2JqLSQoQ09ORklHX0RSTV9QQVJBREVfUFM4NjIyKSArPSBwYXJhZGUtcHM4NjIy Lm8KPiA+ICtvYmotJChDT05GSUdfRFJNX1NJSTkwMlgpICs9IHNpaTkwMngubwo+ID4gICBvYmot JChDT05GSUdfRFJNX0FOQUxPR0lYX0RQKSArPSBhbmFsb2dpeC8KPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv c2lpOTAyeC5jCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggMDAwMDAwMC4uZDQ2 YmY5OAo+ID4gLS0tIC9kZXYvbnVsbAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9z aWk5MDJ4LmMKPiA+IEBAIC0wLDAgKzEsNDU5IEBACj4gPiArLyoKPiA+ICsgKiBDb3B5cmlnaHQg KEMpIDIwMTQgQXRtZWwKPiA+ICsgKgkJICAgICAgQm8gU2hlbiA8dm9pY2Uuc2hlbkBhdG1lbC5j b20+ICAKPiAKPiBNYXliZSBhIG5ld2VyIGNvcHlyaWdodCBoZXJlPwoKU3VyZS4KCj4gCj4gPiAr ICoKPiA+ICsgKiBBdXRob3JzOgkgICAgICBCbyBTaGVuIDx2b2ljZS5zaGVuQGF0bWVsLmNvbT4K PiA+ICsgKgkJICAgICAgQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AZnJlZS1lbGVj dHJvbnMuY29tPgo+ID4gKyAqCQkgICAgICBXdSwgU29uZ2p1biA8U29uZ2p1bi5XdUBhdG1lbC5j b20+Cj4gPiArICoKPiA+ICsgKgo+ID4gKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDExIEZyZWVz Y2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCj4gPiArICoKPiA+ ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQo+ID4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cj4gPiArICogdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKPiA+ ICsgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ID4gKyAqCj4gPiArICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCj4gPiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKPiA+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gPiArICogR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiA+ICsgKi8KPiA+ICsKPiA+ICsjaW5jbHVk ZSA8bGludXgvY29tcG9uZW50Lmg+ICAKPiAKPiBUaGlzIGRvZXNuJ3Qgc2VlbSB0byBiZSBuZWVk ZWQuCj4gCj4gPiArI2luY2x1ZGUgPGxpbnV4L2dwaW8vY29uc3VtZXIuaD4KPiA+ICsjaW5jbHVk ZSA8bGludXgvaTJjLmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ID4gKyNpbmNs dWRlIDxsaW51eC9vZi5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9vZl9ncGlvLmg+ICAKPiAKPiBT YW1lIGZvciB0aGUgdHdvIGFib3ZlLgo+IAo+ID4gKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4K PiA+ICsKPiA+ICsjaW5jbHVkZSA8ZHJtL2RybVAuaD4KPiA+ICsjaW5jbHVkZSA8ZHJtL2RybV9h dG9taWMuaD4gIAo+IAo+IGRybV9hdG9taWMuaCBpc24ndCBuZWVkZWQgZWl0aGVyLgo+IAo+ID4g KyNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KPiA+ICsjaW5jbHVkZSA8ZHJtL2Ry bV9jcnRjX2hlbHBlci5oPgo+ID4gKyNpbmNsdWRlIDxkcm0vZHJtX2VkaWQuaD4KPiA+ICsjaW5j bHVkZSA8ZHJtL2RybV9lbmNvZGVyX3NsYXZlLmg+ICAKPiAKPiBUaGlzIG9uZSBhYm92ZSB0b28u CgpXaWxsIHJlbW92ZSBhbGwgdGhlIHVubmVlZGVkIGluY2x1c2lvbnMuCgo+IAo+ID4gKwo+ID4g KyNkZWZpbmUgU0lMOTAyWF9UUElfVklERU9fREFUQQkJCTB4MAo+ID4gKwo+ID4gKyNkZWZpbmUg U0lMOTAyWF9UUElfUElYRUxfUkVQRVRJVElPTgkJMHg4Cj4gPiArI2RlZmluZSBTSUw5MDJYX1RQ SV9BVklfUElYRUxfUkVQX0JVU18yNEJJVCAgICAgQklUKDUpCj4gPiArI2RlZmluZSBTSUw5MDJY X1RQSV9BVklfUElYRUxfUkVQX1JJU0lOR19FREdFICAgQklUKDQpCj4gPiArI2RlZmluZSBTSUw5 MDJYX1RQSV9BVklfUElYRUxfUkVQXzRYCQkzCj4gPiArI2RlZmluZSBTSUw5MDJYX1RQSV9BVklf UElYRUxfUkVQXzJYCQkxCj4gPiArI2RlZmluZSBTSUw5MDJYX1RQSV9BVklfUElYRUxfUkVQX05P TkUJCTAKPiA+ICsjZGVmaW5lIFNJTDkwMlhfVFBJX0NMS19SQVRJT19IQUxGCQkoMCA8PCA2KQo+ ID4gKyNkZWZpbmUgU0lMOTAyWF9UUElfQ0xLX1JBVElPXzFYCQkoMSA8PCA2KQo+ID4gKyNkZWZp bmUgU0lMOTAyWF9UUElfQ0xLX1JBVElPXzJYCQkoMiA8PCA2KQo+ID4gKyNkZWZpbmUgU0lMOTAy WF9UUElfQ0xLX1JBVElPXzRYCQkoMyA8PCA2KQo+ID4gKwo+ID4gKyNkZWZpbmUgU0lMOTAyWF9U UElfQVZJX0lOX0ZPUk1BVAkJMHg5Cj4gPiArI2RlZmluZSBTSUw5MDJYX1RQSV9BVklfSU5QVVRf QklUTU9ERV8xMkJJVAlCSVQoNykKPiA+ICsjZGVmaW5lIFNJTDkwMlhfVFBJX0FWSV9JTlBVVF9E SVRIRVIJCUJJVCg2KQo+ID4gKyNkZWZpbmUgU0lMOTAyWF9UUElfQVZJX0lOUFVUX1JBTkdFX0xJ TUlURUQJKDIgPDwgMikKPiA+ICsjZGVmaW5lIFNJTDkwMlhfVFBJX0FWSV9JTlBVVF9SQU5HRV9G VUxMCSgxIDw8IDIpCj4gPiArI2RlZmluZSBTSUw5MDJYX1RQSV9BVklfSU5QVVRfUkFOR0VfQVVU TwkoMCA8PCAyKQo+ID4gKyNkZWZpbmUgU0lMOTAyWF9UUElfQVZJX0lOUFVUX0NPTE9SU1BBQ0Vf QkxBQ0sJKDMgPDwgMCkKPiA+ICsjZGVmaW5lIFNJTDkwMlhfVFBJX0FWSV9JTlBVVF9DT0xPUlNQ QUNFX1lVVjQyMgkoMiA8PCAwKQo+ID4gKyNkZWZpbmUgU0lMOTAyWF9UUElfQVZJX0lOUFVUX0NP TE9SU1BBQ0VfWVVWNDQ0CSgxIDw8IDApCj4gPiArI2RlZmluZSBTSUw5MDJYX1RQSV9BVklfSU5Q VVRfQ09MT1JTUEFDRV9SR0IJKDAgPDwgMCkKPiA+ICsKPiA+ICsjZGVmaW5lIFNJTDkwMlhfVFBJ X0FWSV9JTkZPRlJBTUUJCTB4MGMKPiA+ICsKPiA+ICsjZGVmaW5lIFNJTDkwMlhfU1lTX0NUUkxf REFUQQkJCTB4MWEKPiA+ICsjZGVmaW5lIFNJTDkwMlhfU1lTX0NUUkxfUFdSX0RXTgkJQklUKDQp Cj4gPiArI2RlZmluZSBTSUw5MDJYX1NZU19DVFJMX0FWX01VVEUJCUJJVCgzKQo+ID4gKyNkZWZp bmUgU0lMOTAyWF9TWVNfQ1RSTF9ERENfQlVTX1JFUQkJQklUKDIpCj4gPiArI2RlZmluZSBTSUw5 MDJYX1NZU19DVFJMX0REQ19CVVNfR1JURAkJQklUKDEpCj4gPiArI2RlZmluZSBTSUw5MDJYX1NZ U19DVFJMX09VVFBVVF9NT0RFCQlCSVQoMCkKPiA+ICsjZGVmaW5lIFNJTDkwMlhfU1lTX0NUUkxf T1VUUFVUX0hETUkJCTEKPiA+ICsjZGVmaW5lIFNJTDkwMlhfU1lTX0NUUkxfT1VUUFVUX0RWSQkJ MAo+ID4gKwo+ID4gKyNkZWZpbmUgU0lMOTAyWF9SRUdfQ0hJUElEKG4pCQkJKDB4MWIgKyAobikp Cj4gPiArCj4gPiArI2RlZmluZSBTSUw5MDJYX1BXUl9TVEFURV9DVFJMCQkJMHgxZQo+ID4gKyNk ZWZpbmUgU0lMOTAyWF9BVklfUE9XRVJfU1RBVEVfTVNLCQlHRU5NQVNLKDEsIDApCj4gPiArI2Rl ZmluZSBTSUw5MDJYX0FWSV9QT1dFUl9TVEFURV9EKGwpCQkoKGwpICYgU0lMOTAyWF9BVklfUE9X RVJfU1RBVEVfTVNLKQo+ID4gKwo+ID4gKyNkZWZpbmUgU0k5MDJYX0lOVF9FTkFCTEUJCQkweDNj Cj4gPiArI2RlZmluZSBTSTkwMlhfSU5UX1NUQVRVUwkJCTB4M2QKPiA+ICsjZGVmaW5lIFNJOTAy WF9IT1RQTFVHX0VWRU5UCQkJQklUKDApCj4gPiArI2RlZmluZSBTSTkwMlhfUExVR0dFRF9TVEFU VVMJCQlCSVQoMikKPiA+ICsKPiA+ICsjZGVmaW5lIFNJTDkwMlhfUkVHX1RQSV9SUUIJCQkweGM3 ICAKPiAKPiBJIHN1cHBvc2UgdGhlIHJlZ2lzdGVycyBjb3VsZCBiZSByZW5hbWVkIHRvIFNJSTkw MnhfLi4uIHRvbz8KClllcCwgYW5kIEknbGwgYWxzbyBkbyB0aGUgZm9sbG93aW5nIGNoYW5nZTog cy9TSUwvU0lJLwoKPiAKPiA+ICsKPiA+ICtzdHJ1Y3Qgc2lpOTAyeCB7Cj4gPiArCXN0cnVjdCBp MmNfY2xpZW50ICppMmM7Cj4gPiArCXN0cnVjdCByZWdtYXAgKnJlZ21hcDsKPiA+ICsJc3RydWN0 IGRybV9icmlkZ2UgYnJpZGdlOwo+ID4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciBjb25uZWN0b3I7 Cj4gPiArCXN0cnVjdCBncGlvX2Rlc2MgKnJlc2V0X2dwaW87Cj4gPiArCXN0cnVjdCB3b3JrX3N0 cnVjdCBob3RwbHVnX3dvcms7ICAKPiAKPiBob3RwbHVnX3dvcmsgZG9lc24ndCBzZWVtIHRvIGJl IHVzZWQgaW4gdGhlIGRyaXZlci4KCkluZGVlZC4KCj4gCj4gPiArfTsKPiA+ICsKClsuLi5dCgo+ ID4gKwo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBzaWk5MDJ4 X2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiA+ICsJLmRwbXMgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25u ZWN0b3JfZHBtcywKPiA+ICsJLmRldGVjdCA9IHNpaTkwMnhfY29ubmVjdG9yX2RldGVjdCwKPiA+ ICsJLmZpbGxfbW9kZXMgPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMs Cj4gPiArCS5kZXN0cm95ID0gc2lpOTAyeF9jb25uZWN0b3JfZGVzdHJveSwgIAo+IAo+IFlvdSBj YW4gcGFzcyB0aGUgZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwIGhlbHBlciBkaXJlY3RseSBpbnN0ZWFk IG9mCj4gY3JlYXRpbmcgYSBkZXN0cm95IG9wLgoKWWVzLCBJJ2xsIHBhc3MgZHJtX2Nvbm5lY3Rv cl9jbGVhbnVwLgoKPiAKPiA+ICsJLnJlc2V0ID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9y X3Jlc2V0LAo+ID4gKwkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVy X2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUsCj4gPiArCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9 IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kZXN0cm95X3N0YXRlLAo+ID4gK307Cj4gPiAr Cj4gPiArc3RhdGljIGludCBzaWk5MDJ4X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQo+ID4gK3sKPiA+ICsJc3RydWN0IHNpaTkwMnggKnNpaTkwMnggPSBjb25uZWN0 b3JfdG9fc2lpOTAyeChjb25uZWN0b3IpOwo+ID4gKwlzdHJ1Y3QgcmVnbWFwICpyZWdtYXAgPSBz aWk5MDJ4LT5yZWdtYXA7Cj4gPiArCXUzMiBidXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4 ODhfMVgyNDsKPiA+ICsJdW5zaWduZWQgaW50IHN0YXR1czsKPiA+ICsJc3RydWN0IGVkaWQgKmVk aWQ7Cj4gPiArCWludCBudW0gPSAwOwo+ID4gKwlpbnQgcmV0Owo+ID4gKwo+ID4gKwlyZXQgPSBy ZWdtYXBfdXBkYXRlX2JpdHMocmVnbWFwLCBTSUw5MDJYX1NZU19DVFJMX0RBVEEsCj4gPiArCQkJ CSBTSUw5MDJYX1NZU19DVFJMX0REQ19CVVNfUkVRLAo+ID4gKwkJCQkgU0lMOTAyWF9TWVNfQ1RS TF9ERENfQlVTX1JFUSk7Cj4gPiArCWlmIChyZXQpCj4gPiArCQlyZXR1cm4gcmV0Owo+ID4gKwo+ ID4gKwlkbyB7Cj4gPiArCQlyZXQgPSByZWdtYXBfcmVhZChyZWdtYXAsIFNJTDkwMlhfU1lTX0NU UkxfREFUQSwgJnN0YXR1cyk7Cj4gPiArCQlpZiAocmV0KQo+ID4gKwkJCXJldHVybiByZXQ7Cj4g PiArCX0gd2hpbGUgKCEoc3RhdHVzICYgU0lMOTAyWF9TWVNfQ1RSTF9ERENfQlVTX0dSVEQpKTsg IAo+IAo+IENhbiB0aGlzIHJlc3VsdCBpbnRvIGFuIGluZmluaXRlIHdoaWxlIGxvb3A/IE1heWJl IHdlIHNob3VsZCB0aW1lb3V0Cj4gYWZ0ZXIgYSBmZXcgdHJpZXM/IFlvdSBjYW4gaWdub3JlIHRo aXMgY29tbWVudCBpZiBpdCdzIHNvbWV0aGluZwo+IHRoYXQncyBoaWdobHkgdW5wcm9iYWJsZS4K Ck5vLCBJIGd1ZXNzIGl0J3MgYmV0dGVyIHRvIGhhdmUgYSB0aW1lb3V0LgoKPiAKPiA+ICsKPiA+ ICsJcmV0ID0gcmVnbWFwX3dyaXRlKHJlZ21hcCwgU0lMOTAyWF9TWVNfQ1RSTF9EQVRBLCBzdGF0 dXMpOwo+ID4gKwlpZiAocmV0KQo+ID4gKwkJcmV0dXJuIHJldDsKPiA+ICsKPiA+ICsJZWRpZCA9 IGRybV9nZXRfZWRpZChjb25uZWN0b3IsIHNpaTkwMngtPmkyYy0+YWRhcHRlcik7Cj4gPiArCWRy bV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIGVkaWQpOwo+ ID4gKwlpZiAoZWRpZCkgewo+ID4gKwkJbnVtID0gZHJtX2FkZF9lZGlkX21vZGVzKGNvbm5lY3Rv ciwgZWRpZCk7Cj4gPiArCQlrZnJlZShlZGlkKTsKPiA+ICsJfSAgCj4gCj4gU2hvdWxkbid0IHdl IGlkZWFsbHkgY2FsbCBkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkgb25j ZQo+IHdlIGtub3cgZWRpZCBpcyBub24tTlVMTD8KCkhtLCBkcm1fbW9kZV9jb25uZWN0b3JfdXBk YXRlX2VkaWRfcHJvcGVydHkoKSBzZWVtcyB0byB0ZXN0IGVkaWQgdmFsdWUsCmFuZCBJIGd1ZXNz IHlvdSBzdGlsbCB3YW50IHRvIGRyb3AgdGhlIHByZXZpb3VzIGVkaWQgaW5mb3JtYXRpb24gZXZl bgppZiB0aGUgbmV3IG9uZSBpcyBOVUxMLgoKPiAKPiA+ICsKPiA+ICsJcmV0ID0gZHJtX2Rpc3Bs YXlfaW5mb19zZXRfYnVzX2Zvcm1hdHMoJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLAo+ID4gKwkJ CQkJICAgICAgICZidXNfZm9ybWF0LCAxKTsKPiA+ICsJaWYgKHJldCkKPiA+ICsJCXJldHVybiBy ZXQ7Cj4gPiArCj4gPiArCXJlZ21hcF9yZWFkKHJlZ21hcCwgU0lMOTAyWF9TWVNfQ1RSTF9EQVRB LCAmc3RhdHVzKTsKPiA+ICsJaWYgKHJldCkKPiA+ICsJCXJldHVybiByZXQ7Cj4gPiArCj4gPiAr CXJldCA9IHJlZ21hcF91cGRhdGVfYml0cyhyZWdtYXAsIFNJTDkwMlhfU1lTX0NUUkxfREFUQSwK PiA+ICsJCQkJIFNJTDkwMlhfU1lTX0NUUkxfRERDX0JVU19SRVEgfAo+ID4gKwkJCQkgU0lMOTAy WF9TWVNfQ1RSTF9ERENfQlVTX0dSVEQsIDApOwo+ID4gKwlpZiAocmV0KQo+ID4gKwkJcmV0dXJu IHJldDsKPiA+ICsKPiA+ICsJZG8gewo+ID4gKwkJcmV0ID0gcmVnbWFwX3JlYWQocmVnbWFwLCBT SUw5MDJYX1NZU19DVFJMX0RBVEEsICZzdGF0dXMpOwo+ID4gKwkJaWYgKHJldCkKPiA+ICsJCQly ZXR1cm4gcmV0Owo+ID4gKwl9IHdoaWxlIChzdGF0dXMgJiAoU0lMOTAyWF9TWVNfQ1RSTF9ERENf QlVTX1JFUSB8Cj4gPiArCQkJICAgU0lMOTAyWF9TWVNfQ1RSTF9ERENfQlVTX0dSVEQpKTsgIAo+ IAo+IFNhbWUgdGhpbmcgYWJvdXQgdGhlIGluZmluaXRlIGxvb3AgaGVyZS4KPiAKPiA+ICsKPiA+ ICsJcmV0dXJuIG51bTsKPiA+ICt9Cj4gPiArCgpbLi4uXQoKPiA+ICsJCQkgY29uc3Qgc3RydWN0 IGkyY19kZXZpY2VfaWQgKmlkKQo+ID4gK3sKPiA+ICsJc3RydWN0IGRldmljZSAqZGV2ID0gJmNs aWVudC0+ZGV2Owo+ID4gKwl1bnNpZ25lZCBpbnQgc3RhdHVzID0gMDsKPiA+ICsJc3RydWN0IHNp aTkwMnggKnNpaTkwMng7Cj4gPiArCXU4IGNoaXBpZFs0XTsKPiA+ICsJaW50IHJldDsKPiA+ICsK PiA+ICsJc2lpOTAyeCA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigqc2lpOTAyeCksIEdGUF9L RVJORUwpOwo+ID4gKwlpZiAoIXNpaTkwMngpCj4gPiArCQlyZXR1cm4gLUVOT01FTTsKPiA+ICsK PiA+ICsJc2lpOTAyeC0+aTJjID0gY2xpZW50Owo+ID4gKwlzaWk5MDJ4LT5yZWdtYXAgPSBkZXZt X3JlZ21hcF9pbml0X2kyYyhjbGllbnQsICZzaWk5MDJ4X3JlZ21hcF9jb25maWcpOwo+ID4gKwlp ZiAoSVNfRVJSKHNpaTkwMngtPnJlZ21hcCkpCj4gPiArCQlyZXR1cm4gUFRSX0VSUihzaWk5MDJ4 LT5yZWdtYXApOwo+ID4gKwo+ID4gKwlzaWk5MDJ4LT5yZXNldF9ncGlvID0gZGV2bV9ncGlvZF9n ZXRfb3B0aW9uYWwoZGV2LCAicmVzZXQiLAo+ID4gKwkJCQkJCSAgICAgIEdQSU9EX09VVF9MT1cp Owo+ID4gKwlpZiAoSVNfRVJSKHNpaTkwMngtPnJlc2V0X2dwaW8pKSB7Cj4gPiArCQlkZXZfZXJy KGRldiwgIkZhaWxlZCB0byByZXRyaWV2ZS9yZXF1ZXN0IHJlc2V0IGdwaW86ICVsZFxuIiwKPiA+ ICsJCQlQVFJfRVJSKHNpaTkwMngtPnJlc2V0X2dwaW8pKTsKPiA+ICsJCXJldHVybiBQVFJfRVJS KHNpaTkwMngtPnJlc2V0X2dwaW8pOwo+ID4gKwl9Cj4gPiArCj4gPiArCXNpaTkwMnhfcmVzZXQo c2lpOTAyeCk7Cj4gPiArCj4gPiArCXJldCA9IHJlZ21hcF93cml0ZShzaWk5MDJ4LT5yZWdtYXAs IFNJTDkwMlhfUkVHX1RQSV9SUUIsIDB4MCk7Cj4gPiArCWlmIChyZXQpCj4gPiArCQlyZXR1cm4g cmV0OyAgCj4gCj4gSXMgdGhlcmUgYSByZWFzb24gd2h5IHdlJ3JlIGNoZWNraW5nIGZvciB0aGUg cmV0dXJuIHZhbHVlcyBvZiByZWdtYXAKPiBmdW5jcyBpbiBhIGNvdXBsZSBvZiB0aGUgZnVuY3Rp b25zIGJ1dCBub3QgYWxsPyBJJ3ZlIHNlZW4gaXQgaW4gb3RoZXIKPiBkcml2ZXJzIHRvbywganVz dCB3b25kZXJpbmcuLgoKV2VsbCwgSSBndWVzcyB3ZSBzaG91bGQgY2hlY2sgYWxsIHJlZ21hcCBh Y2Nlc3NlcyBldmVyeXdoZXJlLAplc3BlY2lhbGx5IHdoZW4gdGhlIHJlZ21hcCBpcyBhY2Nlc3Nl ZCBvdmVyIGFuIGV4dGVybmFsIGJ1cywgYnV0IHBlb3BsZQp1c3VhbGx5IGFzc3VtZSB0aGF0IHJl Z21hcCBhY2Nlc3NlcyB3aWxsIG5ldmVyIGZhaWwgOi0vLgoKVGhlIHBsYWNlcyB3aGVyZSBJJ20g bm90IGNoZWNraW5nIGl0IGFyZSB0aG9zZSBjYWxsZWQgZnJvbSAndm9pZCBmdW5jKCknCmZ1bmN0 aW9ucywgd2hlcmUgY2hlY2tpbmcgdGhlIHJldHVybiBjb2RlIHdvdWxkIGJlIHVzZWxlc3MuCgo+ IAo+ID4gKwo+ID4gKwlyZXQgPSByZWdtYXBfYnVsa19yZWFkKHNpaTkwMngtPnJlZ21hcCwgU0lM OTAyWF9SRUdfQ0hJUElEKDApLAo+ID4gKwkJCSAgICAgICAmY2hpcGlkLCA0KTsKPiA+ICsJaWYg KHJldCkgewo+ID4gKwkJZGV2X2VycihkZXYsICJyZWdtYXBfcmVhZCBmYWlsZWQgJWRcbiIsIHJl dCk7Cj4gPiArCQlyZXR1cm4gcmV0Owo+ID4gKwl9Cj4gPiArCj4gPiArCWlmIChjaGlwaWRbMF0g IT0gMHhiMCkgewo+ID4gKwkJZGV2X2VycihkZXYsICJJbnZhbGlkIGNoaXBpZDogJTAyeCAoZXhw ZWN0aW5nIDB4YjApXG4iLAo+ID4gKwkJCWNoaXBpZFswXSk7Cj4gPiArCQlyZXR1cm4gLUVJTlZB TDsKPiA+ICsJfQo+ID4gKwo+ID4gKwkvKiBDbGVhciBhbGwgcGVuZGluZyBpbnRlcnJ1cHRzICov Cj4gPiArCXJlZ21hcF9yZWFkKHNpaTkwMngtPnJlZ21hcCwgU0k5MDJYX0lOVF9TVEFUVVMsICZz dGF0dXMpOwo+ID4gKwlyZWdtYXBfd3JpdGUoc2lpOTAyeC0+cmVnbWFwLCBTSTkwMlhfSU5UX1NU QVRVUywgc3RhdHVzKTsKPiA+ICsKPiA+ICsJaWYgKGNsaWVudC0+aXJxID4gMCkgewo+ID4gKwkJ cmVnbWFwX3dyaXRlKHNpaTkwMngtPnJlZ21hcCwgU0k5MDJYX0lOVF9FTkFCTEUsCj4gPiArCQkJ ICAgICBTSTkwMlhfSE9UUExVR19FVkVOVCk7Cj4gPiArCj4gPiArCQlyZXQgPSBkZXZtX3JlcXVl c3RfdGhyZWFkZWRfaXJxKGRldiwgY2xpZW50LT5pcnEsIE5VTEwsCj4gPiArCQkJCQkJc2lpOTAy eF9pbnRlcnJ1cHQsCj4gPiArCQkJCQkJSVJRRl9PTkVTSE9ULCBkZXZfbmFtZShkZXYpLAo+ID4g KwkJCQkJCXNpaTkwMngpOwo+ID4gKwkJaWYgKHJldCkKPiA+ICsJCQlyZXR1cm4gcmV0Owo+ID4g Kwl9Cj4gPiArCj4gPiArCXNpaTkwMngtPmJyaWRnZS5mdW5jcyA9ICZzaWk5MDJ4X2JyaWRnZV9m dW5jczsKPiA+ICsJc2lpOTAyeC0+YnJpZGdlLm9mX25vZGUgPSBkZXYtPm9mX25vZGU7Cj4gPiAr CXJldCA9IGRybV9icmlkZ2VfYWRkKCZzaWk5MDJ4LT5icmlkZ2UpOwo+ID4gKwlpZiAocmV0KSB7 Cj4gPiArCQlkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBhZGQgZHJtX2JyaWRnZVxuIik7Cj4gPiAr CQlyZXR1cm4gcmV0Owo+ID4gKwl9Cj4gPiArCj4gPiArCWkyY19zZXRfY2xpZW50ZGF0YShjbGll bnQsIHNpaTkwMngpOwo+ID4gKwo+ID4gKwlyZXR1cm4gMDsKPiA+ICt9Cj4gPiArCj4gPiArc3Rh dGljIGludCBzaWk5MDJ4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ID4gKwo+ ID4gK3sKPiA+ICsJc3RydWN0IHNpaTkwMnggKnNpaTkwMnggPSBpMmNfZ2V0X2NsaWVudGRhdGEo Y2xpZW50KTsKPiA+ICsKPiA+ICsJZHJtX2JyaWRnZV9yZW1vdmUoJnNpaTkwMngtPmJyaWRnZSk7 Cj4gPiArCj4gPiArCXJldHVybiAwOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgY29uc3Qgc3Ry dWN0IG9mX2RldmljZV9pZCBzaWk5MDJ4X2R0X2lkc1tdID0gewo+ID4gKwl7IC5jb21wYXRpYmxl ID0gInNpbCxzaWk5MDIyIiwgfSwKPiA+ICsJeyB9Cj4gPiArfTsKPiA+ICtNT0RVTEVfREVWSUNF X1RBQkxFKG9mLCBzaWk5MDJ4X2R0X2lkcyk7Cj4gPiArCj4gPiArc3RhdGljIGNvbnN0IHN0cnVj dCBpMmNfZGV2aWNlX2lkIHNpaTkwMnhfaTJjX2lkc1tdID0gewo+ID4gKwl7ICJzaWk5MDIyIiwg MCB9LAo+ID4gKwl7IH0sCj4gPiArfTsKPiA+ICtNT0RVTEVfREVWSUNFX1RBQkxFKGkyYywgc2lp OTAyeF9pMmNfaWRzKTsKPiA+ICsKPiA+ICtzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgc2lpOTAy eF9kcml2ZXIgPSB7Cj4gPiArCS5wcm9iZSA9IHNpaTkwMnhfcHJvYmUsCj4gPiArCS5yZW1vdmUg PSBzaWk5MDJ4X3JlbW92ZSwKPiA+ICsJLmRyaXZlciA9IHsKPiA+ICsJCS5uYW1lID0gInNpaTkw MngiLAo+ID4gKwkJLm9mX21hdGNoX3RhYmxlID0gc2lpOTAyeF9kdF9pZHMsCj4gPiArCX0sCj4g PiArCS5pZF90YWJsZSA9IHNpaTkwMnhfaTJjX2lkcywKPiA+ICt9Owo+ID4gK21vZHVsZV9pMmNf ZHJpdmVyKHNpaTkwMnhfZHJpdmVyKTsKPiA+ICsKPiA+ICtNT0RVTEVfQVVUSE9SKCJCb3JpcyBC cmV6aWxsb24gPGJvcmlzLmJyZXppbGxvbkBmcmVlLWVsZWN0cm9ucy5jb20+Iik7Cj4gPiArTU9E VUxFX0RFU0NSSVBUSU9OKCJTSUw5MDJ4IFJHQiAtPiBIRE1JIGJyaWRnZXMiKTsgIAo+IAo+IFNJ STkwMnggaGVyZS4KPiAKPiBMb29rcyBnb29kIGFwYXJ0IGZyb20gdGhlIG1pbm9yIGNvbW1lbnRz LgoKVGhhbmtzIGZvciB0aGUgcmV2aWV3LgoKUmVnYXJkcywKCkJvcmlzCgotLSAKQm9yaXMgQnJl emlsbG9uLCBGcmVlIEVsZWN0cm9ucwpFbWJlZGRlZCBMaW51eCBhbmQgS2VybmVsIGVuZ2luZWVy aW5nCmh0dHA6Ly9mcmVlLWVsZWN0cm9ucy5jb20KX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==