From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: Re: [PATCH v2 3/4] drm/panel: Add and fill drm_panel type field Date: Mon, 26 Aug 2019 09:46:16 +0200 Message-ID: <20190826094616.2afa0cab@collabora.com> References: <20190823193245.23876-1-laurent.pinchart@ideasonboard.com> <20190823193245.23876-4-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3218B6E1B7 for ; Mon, 26 Aug 2019 07:46:23 +0000 (UTC) In-Reply-To: <20190823193245.23876-4-laurent.pinchart@ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: Alexandre Belloni , Neil Armstrong , Maxime Ripard , Guido =?UTF-8?B?R8O8bnRoZXI=?= , dri-devel@lists.freedesktop.org, Philippe Cornu , Paul Cercueil , Thierry Reding , Sam Ravnborg , Yannick Fertre , Stefan Mavrodiev , Tomi Valkeinen , Ludovic Desroches , Jagan Teki , Robert Chiras , Jonas Karlman , Jyri Sarha , Sean Paul , Jernej Skrabec , Purism Kernel Team , Boris Brezillon , Nicolas Ferre , Vi List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCAyMyBBdWcgMjAxOSAyMjozMjo0NCArMDMwMApMYXVyZW50IFBpbmNoYXJ0IDxsYXVy ZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+IHdyb3RlOgoKPiBBZGQgYSB0eXBlIGZpZWxk IHRvIHRoZSBkcm1fcGFuZWwgc3RydWN0dXJlIHRvIHJlcG9ydCB0aGUgcGFuZWwgdHlwZSwKPiB1 c2luZyBEUk1fTU9ERV9DT05ORUNUT1JfKiBtYWNyb3MgKHRoZSB2YWx1ZXMgdGhhdCBtYWtlIHNl bnNlIGFyZSBMVkRTLAo+IGVEUCwgRFNJIGFuZCBEUEkpLiBUaGlzIHdpbGwgYmUgdXNlZCB0byBp bml0aWFsaXNlIHRoZSBjb3JyZXNwb25kaW5nCj4gY29ubmVjdG9yIHR5cGUuCj4gCj4gVXBkYXRl IGFsbCBwYW5lbCBkcml2ZXJzIGFjY29yZGluZ2x5LiBUaGUgcGFuZWwtc2ltcGxlIGRyaXZlciBv bmx5Cj4gc3BlY2lmaWVzIHRoZSB0eXBlIGZvciB0aGUga25vd24gdG8gYmUgTFZEUyBwYW5lbHMs IHdoaWxlIGFsbCBvdGhlcgo+IHBhbmVscyBhcmUgbGVmdCBhcyB1bmtub3duIGFuZCB3aWxsIGJl IGNvbnZlcnRlZCBvbiBhIGNhc2UtYnktY2FzZQo+IGJhc2lzIGFzIHRoZXkgYWxsIG5lZWQgdG8g YmUgY2FyZWZ1bGx5IHJldmlld2VkLgo+IAo+IFNpZ25lZC1vZmYtYnk6IExhdXJlbnQgUGluY2hh cnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KClJldmlld2VkLWJ5OiBCb3Jp cyBCcmV6aWxsb24gPGJvcmlzLmJyZXppbGxvbkBjb2xsYWJvcmEuY29tPgoKPiAtLS0KPiBDaGFu Z2VzIHNpbmNlIHYxOgo+IAo+IC0gUmVuYW1lIHRoZSB0eXBlIGZpZWxkIHRvIGNvbm5lY3Rvcl90 eXBlCj4gLSBQYXNzIHRoZSB0eXBlIHRvIHRoZSBkcm1fcGFuZWxfaW5pdCgpIGZ1bmN0aW9uCj4g LSBLZWVwIGNvbm5lY3RvciB0eXBlIGFzIHVua25vd24gZm9yIG5vbi1MVkRTIHBhbmVscyBpbiBw YW5lbC1zaW1wbGUKPiAtIEZsYWcgdGhlIHRvc2hpYmFfbHQwODlhYzI5MDAwIHBhbmVsIGFzIExW RFMgYXMgcmVwb3J0ZWQgYnkgQm9yaXMKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9wYW5l bC5jICAgICAgICAgICAgICAgICAgIHwgIDUgKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtYXJtLXZlcnNhdGlsZS5jICAgfCAgMyArKy0KPiAgLi4uL2RybS9wYW5lbC9wYW5lbC1m ZWl5YW5nLWZ5MDcwMjRkaTI2YTMwZC5jIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1pbGl0ZWstaWxpOTMyMi5jICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtaWxpdGVrLWlsaTk4ODFjLmMgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLWlubm9sdXgtcDA3OXpjYS5jIHwgIDMgKystCj4gIC4uLi9ncHUvZHJtL3BhbmVs L3BhbmVsLWpkaS1sdDA3MG1lMDUwMDAuYyAgICB8ICAzICsrLQo+ICAuLi4vZHJtL3BhbmVsL3Bh bmVsLWtpbmdkaXNwbGF5LWtkMDk3ZDA0LmMgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtbGctbGIwMzVxMDIuYyAgICAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLWxnLWxnNDU3My5jICAgICAgIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1sdmRzLmMgICAgICAgICAgICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtbmVjLW5sODA0OGhsMTEuYyAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLW5vdmF0ZWstbnQzOTAxNi5jIHwgIDMgKystCj4gIC4uLi9kcm0vcGFu ZWwvcGFuZWwtb2xpbWV4LWxjZC1vbGludXhpbm8uYyAgICB8ICAzICsrLQo+ICAuLi4vZ3B1L2Ry bS9wYW5lbC9wYW5lbC1vcmlzZXRlY2gtb3RtODAwOWEuYyAgfCAgMyArKy0KPiAgLi4uL2RybS9w YW5lbC9wYW5lbC1vc2Qtb3NkMTAxdDI1ODctNTN0cy5jICAgIHwgIDIgKy0KPiAgLi4uL2RybS9w YW5lbC9wYW5lbC1wYW5hc29uaWMtdnZ4MTBmMDM0bjAwLmMgIHwgIDIgKy0KPiAgLi4uL2RybS9w YW5lbC9wYW5lbC1yYXNwYmVycnlwaS10b3VjaHNjcmVlbi5jIHwgIDMgKystCj4gIGRyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVtLXJtNjcxOTEuYyB8ICAzICsrLQo+ICBkcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY4MjAwLmMgfCAgMyArKy0KPiAgLi4uL2Ry bS9wYW5lbC9wYW5lbC1yb2NrdGVjaC1qaDA1N24wMDkwMC5jICAgIHwgIDMgKystCj4gIGRyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb25iby1yYjA3MGQzMC5jICB8ICAzICsrLQo+ICBkcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1sZDkwNDAuYyAgfCAgMyArKy0KPiAgZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZkMTZkMC5jIHwgIDMgKystCj4gIGRy aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTNoYTIuYyB8ICAzICsrLQo+ICAu Li4vZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYzajB4MDMuYyAgfCAgMyArKy0KPiAg ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNtMC5jIHwgIDMgKystCj4g IGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZThhYTAuYyB8ICAzICsrLQo+ ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Vpa28tNDN3dmYxZy5jICAgfCAgMyArKy0K PiAgLi4uL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHExMDFyMXN4MDEuYyAgIHwgIDMgKyst Cj4gIC4uLi9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDM3djdkdzAxLmMgICB8ICAzICsr LQo+ICAuLi4vZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1sczA0M3QxbGUwMS5jICAgfCAgMiAr LQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMgICAgICAgICAgfCAyNiAr KysrKysrKysrKysrKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25p eC1zdDc3MDEuYyB8ICAzICsrLQo+ICAuLi4vZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1z dDc3ODl2LmMgICAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNvbnkt YWN4NTY1YWttLmMgIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8t dGQwMjh0dGVjMS5jICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBv LXRkMDQzbXRlYTEuYyAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRw by10cGcxMTAuYyAgICAgIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10 cnVseS1udDM1NTk3LmMgICB8ICAzICsrLQo+ICBpbmNsdWRlL2RybS9kcm1fcGFuZWwuaCAgICAg ICAgICAgICAgICAgICAgICAgfCAxMiArKysrKysrKy0KPiAgNDEgZmlsZXMgY2hhbmdlZCwgMTEy IGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZHJtX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMKPiBpbmRl eCBiYTJmYWQ0Yzk2NDguLmVkNzk4NWMwNTM1YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX3BhbmVsLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMKPiBAQCAt NDYsMTYgKzQ2LDE5IEBAIHN0YXRpYyBMSVNUX0hFQUQocGFuZWxfbGlzdCk7Cj4gICAqIEBwYW5l bDogRFJNIHBhbmVsCj4gICAqIEBkZXY6IHBhcmVudCBkZXZpY2Ugb2YgdGhlIHBhbmVsCj4gICAq IEBmdW5jczogcGFuZWwgb3BlcmF0aW9ucwo+ICsgKiBAY29ubmVjdG9yX3R5cGU6IHRoZSBjb25u ZWN0b3IgdHlwZSAoRFJNX01PREVfQ09OTkVDVE9SXyopIGNvcnJlc3BvbmRpbmcgdG8KPiArICoJ dGhlIHBhbmVsIGludGVyZmFjZQo+ICAgKgo+ICAgKiBJbml0aWFsaXplIHRoZSBwYW5lbCBzdHJ1 Y3R1cmUgZm9yIHN1YnNlcXVlbnQgcmVnaXN0cmF0aW9uIHdpdGgKPiAgICogZHJtX3BhbmVsX2Fk ZCgpLgo+ICAgKi8KPiAgdm9pZCBkcm1fcGFuZWxfaW5pdChzdHJ1Y3QgZHJtX3BhbmVsICpwYW5l bCwgc3RydWN0IGRldmljZSAqZGV2LAo+IC0JCSAgICBjb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1 bmNzICpmdW5jcykKPiArCQkgICAgY29uc3Qgc3RydWN0IGRybV9wYW5lbF9mdW5jcyAqZnVuY3Ms IGludCBjb25uZWN0b3JfdHlwZSkKPiAgewo+ICAJSU5JVF9MSVNUX0hFQUQoJnBhbmVsLT5saXN0 KTsKPiAgCXBhbmVsLT5kZXYgPSBkZXY7Cj4gIAlwYW5lbC0+ZnVuY3MgPSBmdW5jczsKPiArCXBh bmVsLT5jb25uZWN0b3JfdHlwZSA9IGNvbm5lY3Rvcl90eXBlOwo+ICB9Cj4gIEVYUE9SVF9TWU1C T0woZHJtX3BhbmVsX2luaXQpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLWFybS12ZXJzYXRpbGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1h cm0tdmVyc2F0aWxlLmMKPiBpbmRleCBhNDMzM2VkMGYyMGMuLmEwNTc0ZGMwM2UxNiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYXJtLXZlcnNhdGlsZS5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWFybS12ZXJzYXRpbGUuYwo+IEBAIC0zNTAs NyArMzUwLDggQEAgc3RhdGljIGludCB2ZXJzYXRpbGVfcGFuZWxfcHJvYmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKPiAgCQkJZGV2X2luZm8oZGV2LCAicGFuZWwgbW91bnRlZCBvbiBJ QjIgZGF1Z2h0ZXJib2FyZFxuIik7Cj4gIAl9Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJnZwYW5l bC0+cGFuZWwsIGRldiwgJnZlcnNhdGlsZV9wYW5lbF9kcm1fZnVuY3MpOwo+ICsJZHJtX3BhbmVs X2luaXQoJnZwYW5lbC0+cGFuZWwsIGRldiwgJnZlcnNhdGlsZV9wYW5lbF9kcm1fZnVuY3MsCj4g KwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EUEkpOwo+ICAKPiAgCXJldHVybiBkcm1fcGFu ZWxfYWRkKCZ2cGFuZWwtPnBhbmVsKTsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtZmVpeWFuZy1meTA3MDI0ZGkyNmEzMGQuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1mZWl5YW5nLWZ5MDcwMjRkaTI2YTMwZC5jCj4gaW5kZXggN2Q1ZDc0NTVi YzAxLi45OGYxODRiODExODcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLWZlaXlhbmctZnkwNzAyNGRpMjZhMzBkLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtZmVpeWFuZy1meTA3MDI0ZGkyNmEzMGQuYwo+IEBAIC0yMDQsNyArMjA0LDggQEAg c3RhdGljIGludCBmZWl5YW5nX2RzaV9wcm9iZShzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2kp Cj4gIAltaXBpX2RzaV9zZXRfZHJ2ZGF0YShkc2ksIGN0eCk7Cj4gIAljdHgtPmRzaSA9IGRzaTsK PiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgJmRzaS0+ZGV2LCAmZmVpeWFuZ19m dW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgJmRzaS0+ZGV2LCAmZmVpeWFu Z19mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4gIAo+ICAJY3R4 LT5kdmRkID0gZGV2bV9yZWd1bGF0b3JfZ2V0KCZkc2ktPmRldiwgImR2ZGQiKTsKPiAgCWlmIChJ U19FUlIoY3R4LT5kdmRkKSkgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtaWxpdGVrLWlsaTkzMjIuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0 ZWstaWxpOTMyMi5jCj4gaW5kZXggYWQyNDA1YmFhMGFjLi4yNDk1NWJlYzE5NTggMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5MzIyLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaWxpdGVrLWlsaTkzMjIuYwo+IEBAIC04OTUs NyArODk1LDggQEAgc3RhdGljIGludCBpbGk5MzIyX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpz cGkpCj4gIAkJaWxpLT5pbnB1dCA9IGlsaS0+Y29uZi0+aW5wdXQ7Cj4gIAl9Cj4gIAo+IC0JZHJt X3BhbmVsX2luaXQoJmlsaS0+cGFuZWwsIGRldiwgJmlsaTkzMjJfZHJtX2Z1bmNzKTsKPiArCWRy bV9wYW5lbF9pbml0KCZpbGktPnBhbmVsLCBkZXYsICZpbGk5MzIyX2RybV9mdW5jcywKPiArCQkg ICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4gIAo+ICAJcmV0dXJuIGRybV9wYW5lbF9h ZGQoJmlsaS0+cGFuZWwpOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1pbGl0ZWstaWxpOTg4MWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1p bGl0ZWstaWxpOTg4MWMuYwo+IGluZGV4IDFkNzE0Zjk2MWMwMC4uZTg3ODllNDYwYTE2IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0ZWstaWxpOTg4MWMuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0ZWstaWxpOTg4MWMuYwo+IEBA IC00MzMsNyArNDMzLDggQEAgc3RhdGljIGludCBpbGk5ODgxY19kc2lfcHJvYmUoc3RydWN0IG1p cGlfZHNpX2RldmljZSAqZHNpKQo+ICAJbWlwaV9kc2lfc2V0X2RydmRhdGEoZHNpLCBjdHgpOwo+ ICAJY3R4LT5kc2kgPSBkc2k7Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsICZk c2ktPmRldiwgJmlsaTk4ODFjX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVs LCAmZHNpLT5kZXYsICZpbGk5ODgxY19mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVD VE9SX0RTSSk7Cj4gIAo+ICAJY3R4LT5wb3dlciA9IGRldm1fcmVndWxhdG9yX2dldCgmZHNpLT5k ZXYsICJwb3dlciIpOwo+ICAJaWYgKElTX0VSUihjdHgtPnBvd2VyKSkgewo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaW5ub2x1eC1wMDc5emNhLmMgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtaW5ub2x1eC1wMDc5emNhLmMKPiBpbmRleCAyMDU0YWZjMzFm MjAuLjQ2YmZlYjk4MmIwNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtaW5ub2x1eC1wMDc5emNhLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt aW5ub2x1eC1wMDc5emNhLmMKPiBAQCAtNDg3LDcgKzQ4Nyw4IEBAIHN0YXRpYyBpbnQgaW5ub2x1 eF9wYW5lbF9hZGQoc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpLAo+ICAJaWYgKElTX0VSUihp bm5vbHV4LT5iYWNrbGlnaHQpKQo+ICAJCXJldHVybiBQVFJfRVJSKGlubm9sdXgtPmJhY2tsaWdo dCk7Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJmlubm9sdXgtPmJhc2UsIGRldiwgJmlubm9sdXhf cGFuZWxfZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2luaXQoJmlubm9sdXgtPmJhc2UsIGRldiwgJmlu bm9sdXhfcGFuZWxfZnVuY3MKPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4g IAo+ICAJZXJyID0gZHJtX3BhbmVsX2FkZCgmaW5ub2x1eC0+YmFzZSk7Cj4gIAlpZiAoZXJyIDwg MCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWpkaS1sdDA3MG1l MDUwMDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1qZGktbHQwNzBtZTA1MDAwLmMK PiBpbmRleCA3YmZkYmZiYzg2OGUuLjU2MzY0YTkzZjBiOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtamRpLWx0MDcwbWUwNTAwMC5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLWpkaS1sdDA3MG1lMDUwMDAuYwo+IEBAIC00MzcsNyArNDM3LDgg QEAgc3RhdGljIGludCBqZGlfcGFuZWxfYWRkKHN0cnVjdCBqZGlfcGFuZWwgKmpkaSkKPiAgCQly ZXR1cm4gcmV0Owo+ICAJfQo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZqZGktPmJhc2UsICZqZGkt PmRzaS0+ZGV2LCAmamRpX3BhbmVsX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZqZGktPmJh c2UsICZqZGktPmRzaS0+ZGV2LCAmamRpX3BhbmVsX2Z1bmNzLAo+ICsJCSAgICAgICBEUk1fTU9E RV9DT05ORUNUT1JfRFNJKTsKPiAgCj4gIAlyZXQgPSBkcm1fcGFuZWxfYWRkKCZqZGktPmJhc2Up Owo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWtpbmdkaXNw bGF5LWtkMDk3ZDA0LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwta2luZ2Rpc3BsYXkt a2QwOTdkMDQuYwo+IGluZGV4IGE0Nzg4NWExYThhYS4uNDVmOTY1NTZlYzhjIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1raW5nZGlzcGxheS1rZDA5N2QwNC5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWtpbmdkaXNwbGF5LWtkMDk3ZDA0LmMK PiBAQCAtMzkyLDcgKzM5Miw3IEBAIHN0YXRpYyBpbnQga2luZ2Rpc3BsYXlfcGFuZWxfYWRkKHN0 cnVjdCBraW5nZGlzcGxheV9wYW5lbCAqa2luZ2Rpc3BsYXkpCj4gIAkJcmV0dXJuIFBUUl9FUlIo a2luZ2Rpc3BsYXktPmJhY2tsaWdodCk7Cj4gIAo+ICAJZHJtX3BhbmVsX2luaXQoJmtpbmdkaXNw bGF5LT5iYXNlLCAma2luZ2Rpc3BsYXktPmxpbmstPmRldiwKPiAtCQkgICAgICAgJmtpbmdkaXNw bGF5X3BhbmVsX2Z1bmNzKTsKPiArCQkgICAgICAgJmtpbmdkaXNwbGF5X3BhbmVsX2Z1bmNzLCBE Uk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiAgCj4gIAlyZXR1cm4gZHJtX3BhbmVsX2FkZCgma2lu Z2Rpc3BsYXktPmJhc2UpOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1sZy1sYjAzNXEwMi5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWxnLWxi MDM1cTAyLmMKPiBpbmRleCAyOGMzMjA1ZGY0ODIuLmY5ODRhNTE4OWZiZiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbGctbGIwMzVxMDIuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sZy1sYjAzNXEwMi5jCj4gQEAgLTE5Niw3ICsxOTYsOCBA QCBzdGF0aWMgaW50IGxiMDM1cTAyX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4gIAlp ZiAocmV0IDwgMCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZsY2Qt PnBhbmVsLCAmbGNkLT5zcGktPmRldiwgJmxiMDM1cTAyX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9p bml0KCZsY2QtPnBhbmVsLCAmbGNkLT5zcGktPmRldiwgJmxiMDM1cTAyX2Z1bmNzLAo+ICsJCSAg ICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFBJKTsKPiAgCj4gIAlyZXR1cm4gZHJtX3BhbmVsX2Fk ZCgmbGNkLT5wYW5lbCk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLWxnLWxnNDU3My5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWxnLWxnNDU3 My5jCj4gaW5kZXggNjA4ZjJkZTkxNjYyLi5kYjQ4NjVhNGMyYjkgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWxnLWxnNDU3My5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLWxnLWxnNDU3My5jCj4gQEAgLTI1OSw3ICsyNTksOCBAQCBzdGF0aWMg aW50IGxnNDU3M19wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+ICAJCXJldHVybiByZXQ7 Cj4gIAl9Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsICZzcGktPmRldiwgJmxn NDU3M19kcm1fZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsICZzcGktPmRl diwgJmxnNDU3M19kcm1fZnVuY3MsCj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EUEkp Owo+ICAKPiAgCXJldHVybiBkcm1fcGFuZWxfYWRkKCZjdHgtPnBhbmVsKTsKPiAgfQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbHZkcy5jIGIvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLWx2ZHMuYwo+IGluZGV4IDNkYzFhYzJhNmIwMy4uY2FiM2ZiNDE3N2Uz IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sdmRzLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbHZkcy5jCj4gQEAgLTI2MCw3ICsyNjAsOCBA QCBzdGF0aWMgaW50IHBhbmVsX2x2ZHNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKPiAgCSAqLwo+ICAKPiAgCS8qIFJlZ2lzdGVyIHRoZSBwYW5lbC4gKi8KPiAtCWRybV9wYW5l bF9pbml0KCZsdmRzLT5wYW5lbCwgbHZkcy0+ZGV2LCAmcGFuZWxfbHZkc19mdW5jcyk7Cj4gKwlk cm1fcGFuZWxfaW5pdCgmbHZkcy0+cGFuZWwsIGx2ZHMtPmRldiwgJnBhbmVsX2x2ZHNfZnVuY3Ms Cj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTKTsKPiAgCj4gIAlyZXQgPSBkcm1f cGFuZWxfYWRkKCZsdmRzLT5wYW5lbCk7Cj4gIAlpZiAocmV0IDwgMCkKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW5lYy1ubDgwNDhobDExLmMgYi9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtbmVjLW5sODA0OGhsMTEuYwo+IGluZGV4IGI2NzYzNmZkYmMyMS4u YzRiYzdmYTg1ZmFkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1u ZWMtbmw4MDQ4aGwxMS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW5lYy1u bDgwNDhobDExLmMKPiBAQCAtMjA1LDcgKzIwNSw4IEBAIHN0YXRpYyBpbnQgbmw4MDQ4X3Byb2Jl KHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4gIAlpZiAocmV0IDwgMCkKPiAgCQlyZXR1cm4gcmV0 Owo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZsY2QtPnBhbmVsLCAmbGNkLT5zcGktPmRldiwgJm5s ODA0OF9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmbGNkLT5wYW5lbCwgJmxjZC0+c3BpLT5k ZXYsICZubDgwNDhfZnVuY3MsCj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EUEkpOwo+ ICAKPiAgCXJldHVybiBkcm1fcGFuZWxfYWRkKCZsY2QtPnBhbmVsKTsKPiAgfQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbm92YXRlay1udDM5MDE2LmMgYi9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbm92YXRlay1udDM5MDE2LmMKPiBpbmRleCA2NGNmZTEx MWFhYWQuLjYwY2NlZGNlNTMwYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtbm92YXRlay1udDM5MDE2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtbm92YXRlay1udDM5MDE2LmMKPiBAQCAtMjkyLDcgKzI5Miw4IEBAIHN0YXRpYyBpbnQgbnQz OTAxNl9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+ICAJCXJldHVybiBlcnI7Cj4gIAl9 Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJnBhbmVsLT5kcm1fcGFuZWwsIGRldiwgJm50MzkwMTZf ZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2luaXQoJnBhbmVsLT5kcm1fcGFuZWwsIGRldiwgJm50Mzkw MTZfZnVuY3MsCj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EUEkpOwo+ICAKPiAgCWVy ciA9IGRybV9wYW5lbF9hZGQoJnBhbmVsLT5kcm1fcGFuZWwpOwo+ICAJaWYgKGVyciA8IDApIHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9saW1leC1sY2Qtb2xp bnV4aW5vLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb2xpbWV4LWxjZC1vbGludXhp bm8uYwo+IGluZGV4IGYyZDZhNGVjMDA0Ni4uZjJhNzJlZTZlZTA3IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1vbGltZXgtbGNkLW9saW51eGluby5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9saW1leC1sY2Qtb2xpbnV4aW5vLmMKPiBAQCAt Mjg4LDcgKzI4OCw4IEBAIHN0YXRpYyBpbnQgbGNkX29saW51eGlub19wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50LAo+ICAJaWYgKElTX0VSUihsY2QtPmJhY2tsaWdodCkpCj4gIAkJcmV0 dXJuIFBUUl9FUlIobGNkLT5iYWNrbGlnaHQpOwo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZsY2Qt PnBhbmVsLCBkZXYsICZsY2Rfb2xpbnV4aW5vX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZs Y2QtPnBhbmVsLCBkZXYsICZsY2Rfb2xpbnV4aW5vX2Z1bmNzLAo+ICsJCSAgICAgICBEUk1fTU9E RV9DT05ORUNUT1JfRFBJKTsKPiAgCj4gIAlyZXR1cm4gZHJtX3BhbmVsX2FkZCgmbGNkLT5wYW5l bCk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9yaXNl dGVjaC1vdG04MDA5YS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9yaXNldGVjaC1v dG04MDA5YS5jCj4gaW5kZXggOGI2MGQ1ZTRkNzc1Li5iZjFmOTI4YjIxNWYgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9yaXNldGVjaC1vdG04MDA5YS5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9yaXNldGVjaC1vdG04MDA5YS5jCj4gQEAg LTQ1NSw3ICs0NTUsOCBAQCBzdGF0aWMgaW50IG90bTgwMDlhX3Byb2JlKHN0cnVjdCBtaXBpX2Rz aV9kZXZpY2UgKmRzaSkKPiAgCWRzaS0+bW9kZV9mbGFncyA9IE1JUElfRFNJX01PREVfVklERU8g fCBNSVBJX0RTSV9NT0RFX1ZJREVPX0JVUlNUIHwKPiAgCQkJICBNSVBJX0RTSV9NT0RFX0xQTTsK PiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAmb3RtODAwOWFfZHJtX2Z1 bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYsICZvdG04MDA5YV9kcm1f ZnVuY3MsCj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kpOwo+ICAKPiAgCWN0eC0+ YmxfZGV2ID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKGRldiwgZGV2X25hbWUoZGV2 KSwKPiAgCQkJCQkJICAgICBkc2ktPmhvc3QtPmRldiwgY3R4LAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3NkLW9zZDEwMXQyNTg3LTUzdHMuYyBiL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1vc2Qtb3NkMTAxdDI1ODctNTN0cy5jCj4gaW5kZXggMzhmMTE0 YjAzYjg5Li4yYjQwOTEzODk5ZDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLW9zZC1vc2QxMDF0MjU4Ny01M3RzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtb3NkLW9zZDEwMXQyNTg3LTUzdHMuYwo+IEBAIC0xNjcsNyArMTY3LDcgQEAgc3Rh dGljIGludCBvc2QxMDF0MjU4N19wYW5lbF9hZGQoc3RydWN0IG9zZDEwMXQyNTg3X3BhbmVsICpv c2QxMDF0MjU4NykKPiAgCQlyZXR1cm4gUFRSX0VSUihvc2QxMDF0MjU4Ny0+YmFja2xpZ2h0KTsK PiAgCj4gIAlkcm1fcGFuZWxfaW5pdCgmb3NkMTAxdDI1ODctPmJhc2UsICZvc2QxMDF0MjU4Ny0+ ZHNpLT5kZXYsCj4gLQkJICAgICAgICZvc2QxMDF0MjU4N19wYW5lbF9mdW5jcyk7Cj4gKwkJICAg ICAgICZvc2QxMDF0MjU4N19wYW5lbF9mdW5jcywgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4g IAo+ICAJcmV0dXJuIGRybV9wYW5lbF9hZGQoJm9zZDEwMXQyNTg3LT5iYXNlKTsKPiAgfQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcGFuYXNvbmljLXZ2eDEwZjAz NG4wMC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXBhbmFzb25pYy12dngxMGYwMzRu MDAuYwo+IGluZGV4IDYwMzViZjQ1ODA3NC4uNjY0NjA1MDcxZDM0IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1wYW5hc29uaWMtdnZ4MTBmMDM0bjAwLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcGFuYXNvbmljLXZ2eDEwZjAzNG4wMC5jCj4g QEAgLTIyNCw3ICsyMjQsNyBAQCBzdGF0aWMgaW50IHd1eGdhX250X3BhbmVsX2FkZChzdHJ1Y3Qg d3V4Z2FfbnRfcGFuZWwgKnd1eGdhX250KQo+ICAJfQo+ICAKPiAgCWRybV9wYW5lbF9pbml0KCZ3 dXhnYV9udC0+YmFzZSwgJnd1eGdhX250LT5kc2ktPmRldiwKPiAtCQkgICAgICAgJnd1eGdhX250 X3BhbmVsX2Z1bmNzKTsKPiArCQkgICAgICAgJnd1eGdhX250X3BhbmVsX2Z1bmNzLCBEUk1fTU9E RV9DT05ORUNUT1JfRFNJKTsKPiAgCj4gIAlyZXQgPSBkcm1fcGFuZWxfYWRkKCZ3dXhnYV9udC0+ YmFzZSk7Cj4gIAlpZiAocmV0IDwgMCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXJhc3BiZXJyeXBpLXRvdWNoc2NyZWVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtcmFzcGJlcnJ5cGktdG91Y2hzY3JlZW4uYwo+IGluZGV4IDIzYTgwMTQyN2U0Mi4u MDk4MjRlOTJmYzc4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1y YXNwYmVycnlwaS10b3VjaHNjcmVlbi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXJhc3BiZXJyeXBpLXRvdWNoc2NyZWVuLmMKPiBAQCAtNDI2LDcgKzQyNiw4IEBAIHN0YXRp YyBpbnQgcnBpX3RvdWNoc2NyZWVuX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMsCj4gIAkJ cmV0dXJuIFBUUl9FUlIodHMtPmRzaSk7Cj4gIAl9Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJnRz LT5iYXNlLCBkZXYsICZycGlfdG91Y2hzY3JlZW5fZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2luaXQo JnRzLT5iYXNlLCBkZXYsICZycGlfdG91Y2hzY3JlZW5fZnVuY3MsCj4gKwkJICAgICAgIERSTV9N T0RFX0NPTk5FQ1RPUl9EU0kpOwo+ICAKPiAgCS8qIFRoaXMgYXBwZWFycyBsYXN0LCBhcyBpdCdz IHdoYXQgd2lsbCB1bmJsb2NrIHRoZSBEU0kgaG9zdAo+ICAJICogZHJpdmVyJ3MgY29tcG9uZW50 IGJpbmQgZnVuY3Rpb24uCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1yYXlkaXVtLXJtNjcxOTEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVt LXJtNjcxOTEuYwo+IGluZGV4IGY4MmExZjY5ZjEzYi4uZmQ2N2ZjNjE4NWM0IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVtLXJtNjcxOTEuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVtLXJtNjcxOTEuYwo+IEBAIC02MDYs NyArNjA2LDggQEAgc3RhdGljIGludCByYWRfcGFuZWxfcHJvYmUoc3RydWN0IG1pcGlfZHNpX2Rl dmljZSAqZHNpKQo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiAtCWRybV9wYW5l bF9pbml0KCZwYW5lbC0+cGFuZWwsIGRldiwgJnJhZF9wYW5lbF9mdW5jcyk7Cj4gKwlkcm1fcGFu ZWxfaW5pdCgmcGFuZWwtPnBhbmVsLCBkZXYsICZyYWRfcGFuZWxfZnVuY3MsCj4gKwkJICAgICAg IERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kpOwo+ICAJZGV2X3NldF9kcnZkYXRhKGRldiwgcGFuZWwp Owo+ICAKPiAgCXJldCA9IGRybV9wYW5lbF9hZGQoJnBhbmVsLT5wYW5lbCk7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVtLXJtNjgyMDAuYyBiL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVtLXJtNjgyMDAuYwo+IGluZGV4IGYwMDRiNzhm YjhiYy4uOTk0ZTg1NTcyMWY0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1yYXlkaXVtLXJtNjgyMDAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1yYXlkaXVtLXJtNjgyMDAuYwo+IEBAIC00MDQsNyArNDA0LDggQEAgc3RhdGljIGludCBybTY4 MjAwX3Byb2JlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKPiAgCWRzaS0+bW9kZV9mbGFn cyA9IE1JUElfRFNJX01PREVfVklERU8gfCBNSVBJX0RTSV9NT0RFX1ZJREVPX0JVUlNUIHwKPiAg CQkJICBNSVBJX0RTSV9NT0RFX0xQTTsKPiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5l bCwgZGV2LCAmcm02ODIwMF9kcm1fZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFu ZWwsIGRldiwgJnJtNjgyMDBfZHJtX2Z1bmNzLAo+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNU T1JfRFNJKTsKPiAgCj4gIAlkcm1fcGFuZWxfYWRkKCZjdHgtPnBhbmVsKTsKPiAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb2NrdGVjaC1qaDA1N24wMDkwMC5j IGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJvY2t0ZWNoLWpoMDU3bjAwOTAwLmMKPiBp bmRleCBkN2Y1NjM3NGYyZjEuLjMxMjM0Yjc5ZDNiMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtcm9ja3RlY2gtamgwNTduMDA5MDAuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1yb2NrdGVjaC1qaDA1N24wMDkwMC5jCj4gQEAgLTM0Myw3ICsz NDMsOCBAQCBzdGF0aWMgaW50IGpoMDU3bl9wcm9iZShzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpk c2kpCj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmY3R4LT5w YW5lbCwgZGV2LCAmamgwNTduX2RybV9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5w YW5lbCwgZGV2LCAmamgwNTduX2RybV9mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVD VE9SX0RTSSk7Cj4gIAo+ICAJZHJtX3BhbmVsX2FkZCgmY3R4LT5wYW5lbCk7Cj4gIAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcm9uYm8tcmIwNzBkMzAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb25iby1yYjA3MGQzMC5jCj4gaW5kZXggODcwOGZi YmU3NjM3Li4xNzBhNWNkYTIxYjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXJvbmJvLXJiMDcwZDMwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtcm9uYm8tcmIwNzBkMzAuYwo+IEBAIC0xNzMsNyArMTczLDggQEAgc3RhdGljIGludCByYjA3 MGQzMF9wYW5lbF9kc2lfcHJvYmUoc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpKQo+ICAJbWlw aV9kc2lfc2V0X2RydmRhdGEoZHNpLCBjdHgpOwo+ICAJY3R4LT5kc2kgPSBkc2k7Cj4gIAo+IC0J ZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsICZkc2ktPmRldiwgJnJiMDcwZDMwX3BhbmVsX2Z1 bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCAmZHNpLT5kZXYsICZyYjA3MGQz MF9wYW5lbF9mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4gIAo+ ICAJY3R4LT5ncGlvcy5yZXNldCA9IGRldm1fZ3Bpb2RfZ2V0KCZkc2ktPmRldiwgInJlc2V0Iiwg R1BJT0RfT1VUX0xPVyk7Cj4gIAlpZiAoSVNfRVJSKGN0eC0+Z3Bpb3MucmVzZXQpKSB7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLWxkOTA0MC5jIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctbGQ5MDQwLmMKPiBpbmRleCA3MWEy OTJkYmVjNDcuLjI1MDgwOWJhMzdjNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtc2Ftc3VuZy1sZDkwNDAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1zYW1zdW5nLWxkOTA0MC5jCj4gQEAgLTM1MSw3ICszNTEsOCBAQCBzdGF0aWMgaW50IGxk OTA0MF9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+ICAJCXJldHVybiByZXQ7Cj4gIAl9 Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsIGRldiwgJmxkOTA0MF9kcm1fZnVu Y3MpOwo+ICsJZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsIGRldiwgJmxkOTA0MF9kcm1fZnVu Y3MsCj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EUEkpOwo+ICAKPiAgCXJldHVybiBk cm1fcGFuZWxfYWRkKCZjdHgtPnBhbmVsKTsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmQxNmQwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtc2Ftc3VuZy1zNmQxNmQwLmMKPiBpbmRleCA0ZDI1Yzk2ZTg0MmMuLmUzYTAzOTdl OTUzZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1z NmQxNmQwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmQx NmQwLmMKPiBAQCAtMjE1LDcgKzIxNSw4IEBAIHN0YXRpYyBpbnQgczZkMTZkMF9wcm9iZShzdHJ1 Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2kpCj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAgCj4gLQlk cm1fcGFuZWxfaW5pdCgmczYtPnBhbmVsLCBkZXYsICZzNmQxNmQwX2RybV9mdW5jcyk7Cj4gKwlk cm1fcGFuZWxfaW5pdCgmczYtPnBhbmVsLCBkZXYsICZzNmQxNmQwX2RybV9mdW5jcywKPiArCQkg ICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4gIAo+ICAJcmV0ID0gZHJtX3BhbmVsX2Fk ZCgmczYtPnBhbmVsKTsKPiAgCWlmIChyZXQgPCAwKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmUzaGEyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtc2Ftc3VuZy1zNmUzaGEyLmMKPiBpbmRleCA0MmEzYWFhYjQ5ZWIuLjkzOGFiNzJj NTU0MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1z NmUzaGEyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmUz aGEyLmMKPiBAQCAtNzMyLDcgKzczMiw4IEBAIHN0YXRpYyBpbnQgczZlM2hhMl9wcm9iZShzdHJ1 Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2kpCj4gIAljdHgtPmJsX2Rldi0+cHJvcHMuYnJpZ2h0bmVz cyA9IFM2RTNIQTJfREVGQVVMVF9CUklHSFRORVNTOwo+ICAJY3R4LT5ibF9kZXYtPnByb3BzLnBv d2VyID0gRkJfQkxBTktfUE9XRVJET1dOOwo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZjdHgtPnBh bmVsLCBkZXYsICZzNmUzaGEyX2RybV9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5w YW5lbCwgZGV2LCAmczZlM2hhMl9kcm1fZnVuY3MsCj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5F Q1RPUl9EU0kpOwo+ICAKPiAgCXJldCA9IGRybV9wYW5lbF9hZGQoJmN0eC0+cGFuZWwpOwo+ICAJ aWYgKHJldCA8IDApCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1z YW1zdW5nLXM2ZTYzajB4MDMuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5n LXM2ZTYzajB4MDMuYwo+IGluZGV4IGI0ZDg3OWJmNGQwMy4uYTYwNjM1ZTkyMjZkIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYzajB4MDMuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYzajB4MDMuYwo+ IEBAIC00NjYsNyArNDY2LDggQEAgc3RhdGljIGludCBzNmU2M2oweDAzX3Byb2JlKHN0cnVjdCBt aXBpX2RzaV9kZXZpY2UgKmRzaSkKPiAgCQlyZXR1cm4gUFRSX0VSUihjdHgtPnJlc2V0X2dwaW8p Owo+ICAJfQo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYsICZzNmU2M2ow eDAzX2Z1bmNzKTsKPiArCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYsICZzNmU2M2ow eDAzX2Z1bmNzLAo+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiAgCj4gIAlj dHgtPmJsX2RldiA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoInM2ZTYzajB4MDMiLCBkZXYs IGN0eCwKPiAgCQkJCQkJJnM2ZTYzajB4MDNfYmxfb3BzLCBOVUxMKTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNtMC5jIGIvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNtMC5jCj4gaW5kZXggNjEyNTljMjgzM2Fi Li5iYTAxYWYwYjE0ZmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LXNhbXN1bmctczZlNjNtMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNh bXN1bmctczZlNjNtMC5jCj4gQEAgLTQ3Myw3ICs0NzMsOCBAQCBzdGF0aWMgaW50IHM2ZTYzbTBf cHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKPiAgCQlyZXR1cm4gcmV0Owo+ICAJfQo+ICAK PiAtCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYsICZzNmU2M20wX2RybV9mdW5jcyk7 Cj4gKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAmczZlNjNtMF9kcm1fZnVuY3Ms Cj4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EUEkpOwo+ICAKPiAgCXJldCA9IHM2ZTYz bTBfYmFja2xpZ2h0X3JlZ2lzdGVyKGN0eCk7Cj4gIAlpZiAocmV0IDwgMCkKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGFhMC5jIGIvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGFhMC5jCj4gaW5kZXggMzVkYmZmYWJk NTI2Li5kYmNlZDY1MDEyMDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXNhbXN1bmctczZlOGFhMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LXNhbXN1bmctczZlOGFhMC5jCj4gQEAgLTEwMTcsNyArMTAxNyw4IEBAIHN0YXRpYyBpbnQgczZl OGFhMF9wcm9iZShzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2kpCj4gIAo+ICAJY3R4LT5icmln aHRuZXNzID0gR0FNTUFfTEVWRUxfTlVNIC0gMTsKPiAgCj4gLQlkcm1fcGFuZWxfaW5pdCgmY3R4 LT5wYW5lbCwgZGV2LCAmczZlOGFhMF9kcm1fZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2luaXQoJmN0 eC0+cGFuZWwsIGRldiwgJnM2ZThhYTBfZHJtX2Z1bmNzLAo+ICsJCSAgICAgICBEUk1fTU9ERV9D T05ORUNUT1JfRFNJKTsKPiAgCj4gIAlyZXQgPSBkcm1fcGFuZWxfYWRkKCZjdHgtPnBhbmVsKTsK PiAgCWlmIChyZXQgPCAwKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtc2Vpa28tNDN3dmYxZy5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNlaWtvLTQz d3ZmMWcuYwo+IGluZGV4IDA4MzNkMGMwM2FkYy4uYjM2MTliYTQ0M2JkIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zZWlrby00M3d2ZjFnLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Vpa28tNDN3dmYxZy5jCj4gQEAgLTI3NCw3ICsyNzQs OCBAQCBzdGF0aWMgaW50IHNlaWtvX3BhbmVsX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldiwKPiAg CQkJcmV0dXJuIC1FUFJPQkVfREVGRVI7Cj4gIAl9Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJnBh bmVsLT5iYXNlLCBkZXYsICZzZWlrb19wYW5lbF9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgm cGFuZWwtPmJhc2UsIGRldiwgJnNlaWtvX3BhbmVsX2Z1bmNzLAo+ICsJCSAgICAgICBEUk1fTU9E RV9DT05ORUNUT1JfRFBJKTsKPiAgCj4gIAllcnIgPSBkcm1fcGFuZWxfYWRkKCZwYW5lbC0+YmFz ZSk7Cj4gIAlpZiAoZXJyIDwgMCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXNoYXJwLWxxMTAxcjFzeDAxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt c2hhcnAtbHExMDFyMXN4MDEuYwo+IGluZGV4IDg3YTU4Y2I0ZDk0NS4uNWUxMzZjM2JhMTg1IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1scTEwMXIxc3gw MS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxxMTAxcjFzeDAx LmMKPiBAQCAtMzI5LDcgKzMyOSw4IEBAIHN0YXRpYyBpbnQgc2hhcnBfcGFuZWxfYWRkKHN0cnVj dCBzaGFycF9wYW5lbCAqc2hhcnApCj4gIAlpZiAoSVNfRVJSKHNoYXJwLT5iYWNrbGlnaHQpKQo+ ICAJCXJldHVybiBQVFJfRVJSKHNoYXJwLT5iYWNrbGlnaHQpOwo+ICAKPiAtCWRybV9wYW5lbF9p bml0KCZzaGFycC0+YmFzZSwgJnNoYXJwLT5saW5rMS0+ZGV2LCAmc2hhcnBfcGFuZWxfZnVuY3Mp Owo+ICsJZHJtX3BhbmVsX2luaXQoJnNoYXJwLT5iYXNlLCAmc2hhcnAtPmxpbmsxLT5kZXYsICZz aGFycF9wYW5lbF9mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4g IAo+ICAJcmV0dXJuIGRybV9wYW5lbF9hZGQoJnNoYXJwLT5iYXNlKTsKPiAgfQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMwMzd2N2R3MDEuYyBiL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1sczAzN3Y3ZHcwMS5jCj4gaW5kZXggOTZl M2RlYjBlMzA1Li5lZWFiNzk5OGM3ZGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXNoYXJwLWxzMDM3djdkdzAxLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtc2hhcnAtbHMwMzd2N2R3MDEuYwo+IEBAIC0xODUsNyArMTg1LDggQEAgc3RhdGlj IGludCBsczAzN3Y3ZHcwMV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJ CXJldHVybiBQVFJfRVJSKGxjZC0+dWRfZ3Bpbyk7Cj4gIAl9Cj4gIAo+IC0JZHJtX3BhbmVsX2lu aXQoJmxjZC0+cGFuZWwsICZwZGV2LT5kZXYsICZsczAzN3Y3ZHcwMV9mdW5jcyk7Cj4gKwlkcm1f cGFuZWxfaW5pdCgmbGNkLT5wYW5lbCwgJnBkZXYtPmRldiwgJmxzMDM3djdkdzAxX2Z1bmNzLAo+ ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFBJKTsKPiAgCj4gIAlyZXR1cm4gZHJtX3Bh bmVsX2FkZCgmbGNkLT5wYW5lbCk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLXNoYXJwLWxzMDQzdDFsZTAxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtc2hhcnAtbHMwNDN0MWxlMDEuYwo+IGluZGV4IGZmYTg0NGVlODJhZC4uYjk2M2JhNGFi NTg5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1sczA0 M3QxbGUwMS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDQz dDFsZTAxLmMKPiBAQCAtMjY1LDcgKzI2NSw3IEBAIHN0YXRpYyBpbnQgc2hhcnBfbnRfcGFuZWxf YWRkKHN0cnVjdCBzaGFycF9udF9wYW5lbCAqc2hhcnBfbnQpCj4gIAkJcmV0dXJuIFBUUl9FUlIo c2hhcnBfbnQtPmJhY2tsaWdodCk7Cj4gIAo+ICAJZHJtX3BhbmVsX2luaXQoJnNoYXJwX250LT5i YXNlLCAmc2hhcnBfbnQtPmRzaS0+ZGV2LAo+IC0JCSAgICAgICAmc2hhcnBfbnRfcGFuZWxfZnVu Y3MpOwo+ICsJCSAgICAgICAmc2hhcnBfbnRfcGFuZWxfZnVuY3MsIERSTV9NT0RFX0NPTk5FQ1RP Ul9EU0kpOwo+ICAKPiAgCXJldHVybiBkcm1fcGFuZWxfYWRkKCZzaGFycF9udC0+YmFzZSk7Cj4g IH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jCj4gaW5kZXggYjM2YzEzMGQ1Y2Yw Li40YjkyYjI3ZWJhODYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LXNpbXBsZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jCj4g QEAgLTk0LDYgKzk0LDcgQEAgc3RydWN0IHBhbmVsX2Rlc2Mgewo+ICAKPiAgCXUzMiBidXNfZm9y bWF0Owo+ICAJdTMyIGJ1c19mbGFnczsKPiArCWludCBjb25uZWN0b3JfdHlwZTsKPiAgfTsKPiAg Cj4gIHN0cnVjdCBwYW5lbF9zaW1wbGUgewo+IEBAIC00NjQsNyArNDY1LDggQEAgc3RhdGljIGlu dCBwYW5lbF9zaW1wbGVfcHJvYmUoc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBzdHJ1Y3QgcGFu ZWxfZGVzYyAqZGVzYykKPiAgCWlmICghb2ZfZ2V0X2Rpc3BsYXlfdGltaW5nKGRldi0+b2Zfbm9k ZSwgInBhbmVsLXRpbWluZyIsICZkdCkpCj4gIAkJcGFuZWxfc2ltcGxlX3BhcnNlX3BhbmVsX3Rp bWluZ19ub2RlKGRldiwgcGFuZWwsICZkdCk7Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJnBhbmVs LT5iYXNlLCBkZXYsICZwYW5lbF9zaW1wbGVfZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2luaXQoJnBh bmVsLT5iYXNlLCBkZXYsICZwYW5lbF9zaW1wbGVfZnVuY3MsCj4gKwkJICAgICAgIGRlc2MtPmNv bm5lY3Rvcl90eXBlKTsKPiAgCj4gIAllcnIgPSBkcm1fcGFuZWxfYWRkKCZwYW5lbC0+YmFzZSk7 Cj4gIAlpZiAoZXJyIDwgMCkKPiBAQCAtODMxLDYgKzgzMyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgcGFuZWxfZGVzYyBhdW9fZzEzM2hhbjAxID0gewo+ICAJCS51bnByZXBhcmUgPSAxMDAwLAo+ ICAJfSwKPiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfSkVJREEs Cj4gKwkuY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUywKPiAgfTsKPiAg Cj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGlzcGxheV90aW1pbmcgYXVvX2cxODVoYW4wMV90aW1p bmdzID0gewo+IEBAIC04NjAsNiArODYzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9k ZXNjIGF1b19nMTg1aGFuMDEgPSB7Cj4gIAkJLnVucHJlcGFyZSA9IDEwMDAsCj4gIAl9LAo+ICAJ LmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9TUFdHLAo+ICsJLmNvbm5l Y3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIH07Cj4gIAo+ICBzdGF0aWMg Y29uc3Qgc3RydWN0IGRpc3BsYXlfdGltaW5nIGF1b19wMzIwaHZuMDNfdGltaW5ncyA9IHsKPiBA QCAtODg4LDYgKzg5Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBhdW9fcDMy MGh2bjAzID0gewo+ICAJCS51bnByZXBhcmUgPSA1MDAsCj4gIAl9LAo+ICAJLmJ1c19mb3JtYXQg PSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9TUFdHLAo+ICsJLmNvbm5lY3Rvcl90eXBlID0g RFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgYXVvX3QyMTVodm4wMV9tb2RlID0gewo+IEBAIC0xMjAzLDYgKzEy MDgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgZGxjX2RsYzA3MDB5emdfMSA9 IHsKPiAgCQkuZGlzYWJsZSA9IDIwMCwKPiAgCX0sCj4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JV U19GTVRfUkdCNjY2XzFYN1gzX1NQV0csCj4gKwkuY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9D T05ORUNUT1JfTFZEUywKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGlzcGxheV90 aW1pbmcgZGxjX2RsYzEwMTBnaWdfdGltaW5nID0gewo+IEBAIC0xMjMzLDYgKzEyMzksNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgZGxjX2RsYzEwMTBnaWcgPSB7Cj4gIAkJLnVu cHJlcGFyZSA9IDYwLAo+ICAJfSwKPiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4 ODhfMVg3WDRfU1BXRywKPiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9M VkRTLAo+ICB9Owo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGVk dF9ldDAzNTAxMmRtNl9tb2RlID0gewo+IEBAIC0xNDk5LDYgKzE1MDYsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IHBhbmVsX2Rlc2MgaGFubnN0YXJfaHNkMDcwcHd3MSA9IHsKPiAgCQkuaGVpZ2h0 ID0gOTQsCj4gIAl9LAo+ICAJLmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjY2Nl8xWDdY M19TUFdHLAo+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4g IH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRpc3BsYXlfdGltaW5nIGhhbm5zdGFyX2hz ZDEwMHB4bjFfdGltaW5nID0gewo+IEBAIC0xNTIzLDYgKzE1MzEsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHBhbmVsX2Rlc2MgaGFubnN0YXJfaHNkMTAwcHhuMSA9IHsKPiAgCQkuaGVpZ2h0ID0g MTUyLAo+ICAJfSwKPiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I2NjZfMVg3WDNf U1BXRywKPiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTLAo+ICB9 Owo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGhpdGFjaGlfdHgy M2QzOHZtMGNhYV9tb2RlID0gewo+IEBAIC0xNjI5LDYgKzE2MzgsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHBhbmVsX2Rlc2MgaW5ub2x1eF9nMDcweTJfbDAxID0gewo+ICAJCS51bnByZXBhcmUg PSA4MDAsCj4gIAl9LAo+ICAJLmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDdY NF9TUFdHLAo+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4g IH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRpc3BsYXlfdGltaW5nIGlubm9sdXhfZzEw MWljZV9sMDFfdGltaW5nID0gewo+IEBAIC0xNjU3LDYgKzE2NjcsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHBhbmVsX2Rlc2MgaW5ub2x1eF9nMTAxaWNlX2wwMSA9IHsKPiAgCQkuZGlzYWJsZSA9 IDIwMCwKPiAgCX0sCj4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCODg4XzFYN1g0 X1NQV0csCj4gKwkuY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUywKPiAg fTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGlzcGxheV90aW1pbmcgaW5ub2x1eF9nMTIx aTFfbDAxX3RpbWluZyA9IHsKPiBAQCAtMTY4NCw2ICsxNjk1LDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBwYW5lbF9kZXNjIGlubm9sdXhfZzEyMWkxX2wwMSA9IHsKPiAgCQkuZGlzYWJsZSA9IDIw LAo+ICAJfSwKPiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfU1BX RywKPiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTLAo+ICB9Owo+ ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGlubm9sdXhfZzEyMXgx X2wwM19tb2RlID0gewo+IEBAIC0xODY3LDYgKzE4NzksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IHBhbmVsX2Rlc2Mga29lX3R4MzFkMjAwdm0wYmFhID0gewo+ICAJCS5oZWlnaHQgPSAxMDksCj4g IAl9LAo+ICAJLmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjY2Nl8xWDdYM19TUFdHLAo+ ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIH07Cj4gIAo+ ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRpc3BsYXlfdGltaW5nIGt5b190Y2cxMjF4Z2xwX3RpbWlu ZyA9IHsKPiBAQCAtMTg5MSw2ICsxOTA0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9k ZXNjIGt5b190Y2cxMjF4Z2xwID0gewo+ICAJCS5oZWlnaHQgPSAxODQsCj4gIAl9LAo+ICAJLmJ1 c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9TUFdHLAo+ICsJLmNvbm5lY3Rv cl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIH07Cj4gIAo+ICBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgbGVtYWtlcl9ibDAzNV9yZ2JfMDAyX21vZGUgPSB7 Cj4gQEAgLTE5MzksNiArMTk1Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBs Z19sYjA3MHd2OCA9IHsKPiAgCQkuaGVpZ2h0ID0gOTEsCj4gIAl9LAo+ICAJLmJ1c19mb3JtYXQg PSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9TUFdHLAo+ICsJLmNvbm5lY3Rvcl90eXBlID0g RFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgbGdfbHAwNzlxeDFfc3Awdl9tb2RlID0gewo+IEBAIC0yMDYxLDYg KzIwNzYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgbWl0c3ViaXNoaV9hYTA3 MG1jMDEgPSB7Cj4gIAkJLmRpc2FibGUgPSA0MDAsCj4gIAl9LAo+ICAJLmJ1c19mb3JtYXQgPSBN RURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9TUFdHLAo+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJN X01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIAkuYnVzX2ZsYWdzID0gRFJNX0JVU19GTEFHX0RFX0hJ R0gsCj4gIH07Cj4gIAo+IEBAIC0yMDg5LDYgKzIxMDUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IHBhbmVsX2Rlc2MgbmVjX25sMTI4ODBiYzIwXzA1ID0gewo+ICAJCS5kaXNhYmxlID0gNTAsCj4g IAl9LAo+ICAJLmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9TUFdHLAo+ ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIH07Cj4gIAo+ ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgbmVjX25sNDgyN2hjMTlfMDVi X21vZGUgPSB7Cj4gQEAgLTIxOTEsNiArMjIwOCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFu ZWxfZGVzYyBubHRfbmwxOTIxMDhhYzE4XzAyZCA9IHsKPiAgCQkudW5wcmVwYXJlID0gNTAwLAo+ ICAJfSwKPiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfU1BXRywK PiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTLAo+ICB9Owo+ICAK PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIG52ZF85MTI4X21vZGUgPSB7 Cj4gQEAgLTIyMTQsNiArMjIzMiw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBu dmRfOTEyOCA9IHsKPiAgCQkuaGVpZ2h0ID0gODgsCj4gIAl9LAo+ICAJLmJ1c19mb3JtYXQgPSBN RURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9TUFdHLAo+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJN X01PREVfQ09OTkVDVE9SX0xWRFMsCj4gIH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRp c3BsYXlfdGltaW5nIG9rYXlhX3JzODAwNDgwdF83eDBncF90aW1pbmcgPSB7Cj4gQEAgLTI2MjYs NiArMjY0NSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBzaGFycF9scTEwMWsx bHkwNCA9IHsKPiAgCQkuaGVpZ2h0ID0gMTM2LAo+ICAJfSwKPiAgCS5idXNfZm9ybWF0ID0gTUVE SUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfSkVJREEsCj4gKwkuY29ubmVjdG9yX3R5cGUgPSBEUk1f TU9ERV9DT05ORUNUT1JfTFZEUywKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGlz cGxheV90aW1pbmcgc2hhcnBfbHExMjNwMWp4MzFfdGltaW5nID0gewo+IEBAIC0yODA1LDYgKzI4 MjUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgdGlhbm1hX3RtMDcwamRoZzMw ID0gewo+ICAJCS5oZWlnaHQgPSA5NSwKPiAgCX0sCj4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JV U19GTVRfUkdCODg4XzFYN1g0X1NQV0csCj4gKwkuY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9D T05ORUNUT1JfTFZEUywKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGlzcGxheV90 aW1pbmcgdGlhbm1hX3RtMDcwcnZoZzcxX3RpbWluZyA9IHsKPiBAQCAtMjgyOSw2ICsyODUwLDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIHRpYW5tYV90bTA3MHJ2aGc3MSA9IHsK PiAgCQkuaGVpZ2h0ID0gODYsCj4gIAl9LAo+ICAJLmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1U X1JHQjg4OF8xWDdYNF9TUFdHLAo+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVD VE9SX0xWRFMsCj4gIH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgdGlfbnNwaXJlX2N4X2xjZF9tb2RlW10gPSB7Cj4gQEAgLTI5MTEsNiArMjkzMyw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyB0b3NoaWJhX2x0MDg5YWMyOTAwMCA9IHsKPiAg CX0sCj4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCODg4XzFYMjQsCj4gIAkuYnVz X2ZsYWdzID0gRFJNX0JVU19GTEFHX0RFX0hJR0ggfCBEUk1fQlVTX0ZMQUdfUElYREFUQV9EUklW RV9QT1NFREdFLAo+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMs Cj4gIH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgdHBrX2Yw N2FfMDEwMl9tb2RlID0gewo+IEBAIC0yOTgxLDYgKzMwMDQsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHBhbmVsX2Rlc2MgdXJ0X3Vtc2hfODU5Nm1kX2x2ZHMgPSB7Cj4gIAkJLmhlaWdodCA9IDkx LAo+ICAJfSwKPiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I2NjZfMVg3WDNfU1BX RywKPiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTLAo+ICB9Owo+ ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIHVydF91bXNoXzg1OTZtZF9wYXJh bGxlbCA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJv bml4LXN0NzcwMS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4LXN0Nzcw MS5jCj4gaW5kZXggM2Y3YmNkMjRhYTgxLi5lZTNmMjNmNDU3NTUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4LXN0NzcwMS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4LXN0NzcwMS5jCj4gQEAgLTM2OSw3ICszNjks OCBAQCBzdGF0aWMgaW50IHN0NzcwMV9kc2lfcHJvYmUoc3RydWN0IG1pcGlfZHNpX2RldmljZSAq ZHNpKQo+ICAJaWYgKElTX0VSUihzdDc3MDEtPmJhY2tsaWdodCkpCj4gIAkJcmV0dXJuIFBUUl9F UlIoc3Q3NzAxLT5iYWNrbGlnaHQpOwo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZzdDc3MDEtPnBh bmVsLCAmZHNpLT5kZXYsICZzdDc3MDFfZnVuY3MpOwo+ICsJZHJtX3BhbmVsX2luaXQoJnN0Nzcw MS0+cGFuZWwsICZkc2ktPmRldiwgJnN0NzcwMV9mdW5jcywKPiArCQkgICAgICAgRFJNX01PREVf Q09OTkVDVE9SX0RTSSk7Cj4gIAo+ICAJLyoqCj4gIAkgKiBPbmNlIHNsZWVwIG91dCBoYXMgYmVl biBpc3N1ZWQsIFNUNzcwMSBJQyByZXF1aXJlZCB0byB3YWl0IDEyMG1zCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3ODl2LmMgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3Nzg5di5jCj4gaW5kZXggMmVlYWVlZTBk ZDdmLi4xMDhhODViYjY2NjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXNpdHJvbml4LXN0Nzc4OXYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1zaXRyb25peC1zdDc3ODl2LmMKPiBAQCAtMzgxLDcgKzM4MSw4IEBAIHN0YXRpYyBpbnQgc3Q3 Nzg5dl9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+ICAJc3BpX3NldF9kcnZkYXRhKHNw aSwgY3R4KTsKPiAgCWN0eC0+c3BpID0gc3BpOwo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZjdHgt PnBhbmVsLCAmc3BpLT5kZXYsICZzdDc3ODl2X2RybV9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5p dCgmY3R4LT5wYW5lbCwgJnNwaS0+ZGV2LCAmc3Q3Nzg5dl9kcm1fZnVuY3MsCj4gKwkJICAgICAg IERSTV9NT0RFX0NPTk5FQ1RPUl9EUEkpOwo+ICAKPiAgCWN0eC0+cG93ZXIgPSBkZXZtX3JlZ3Vs YXRvcl9nZXQoJnNwaS0+ZGV2LCAicG93ZXIiKTsKPiAgCWlmIChJU19FUlIoY3R4LT5wb3dlcikp Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zb255LWFjeDU2NWFr bS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNvbnktYWN4NTY1YWttLmMKPiBpbmRl eCA1YTI3NzJiMDRiNzUuLjZmNWNlNTg2N2ZmOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc29ueS1hY3g1NjVha20uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1zb255LWFjeDU2NWFrbS5jCj4gQEAgLTY0OCw3ICs2NDgsOCBAQCBzdGF0aWMg aW50IGFjeDU2NWFrbV9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+ICAJCQlyZXR1cm4g cmV0Owo+ICAJfQo+ICAKPiAtCWRybV9wYW5lbF9pbml0KCZsY2QtPnBhbmVsLCAmbGNkLT5zcGkt PmRldiwgJmFjeDU2NWFrbV9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmbGNkLT5wYW5lbCwg JmxjZC0+c3BpLT5kZXYsICZhY3g1NjVha21fZnVuY3MsCj4gKwkJICAgICAgIERSTV9NT0RFX0NP Tk5FQ1RPUl9EUEkpOwo+ICAKPiAgCXJldCA9IGRybV9wYW5lbF9hZGQoJmxjZC0+cGFuZWwpOwo+ ICAJaWYgKHJldCA8IDApIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXRwby10ZDAyOHR0ZWMxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRk MDI4dHRlYzEuYwo+IGluZGV4IDhiMTE0OGQ3NGU3Yi4uMWQwOGQwM2Y1MDlkIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwMjh0dGVjMS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDAyOHR0ZWMxLmMKPiBAQCAtMzQ3LDcg KzM0Nyw4IEBAIHN0YXRpYyBpbnQgdGQwMjh0dGVjMV9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAq c3BpKQo+ICAJCXJldHVybiByZXQ7Cj4gIAl9Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQoJmxjZC0+ cGFuZWwsICZsY2QtPnNwaS0+ZGV2LCAmdGQwMjh0dGVjMV9mdW5jcyk7Cj4gKwlkcm1fcGFuZWxf aW5pdCgmbGNkLT5wYW5lbCwgJmxjZC0+c3BpLT5kZXYsICZ0ZDAyOHR0ZWMxX2Z1bmNzLAo+ICsJ CSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFBJKTsKPiAgCj4gIAlyZXR1cm4gZHJtX3BhbmVs X2FkZCgmbGNkLT5wYW5lbCk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXRwby10ZDA0M210ZWExLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt dHBvLXRkMDQzbXRlYTEuYwo+IGluZGV4IGJiZjBjMmUxYzkwZi4uNDE2YWViZDIzYjZhIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwNDNtdGVhMS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDA0M210ZWExLmMKPiBAQCAt NDU4LDcgKzQ1OCw4IEBAIHN0YXRpYyBpbnQgdGQwNDNtdGVhMV9wcm9iZShzdHJ1Y3Qgc3BpX2Rl dmljZSAqc3BpKQo+ICAJCXJldHVybiByZXQ7Cj4gIAl9Cj4gIAo+IC0JZHJtX3BhbmVsX2luaXQo JmxjZC0+cGFuZWwsICZsY2QtPnNwaS0+ZGV2LCAmdGQwNDNtdGVhMV9mdW5jcyk7Cj4gKwlkcm1f cGFuZWxfaW5pdCgmbGNkLT5wYW5lbCwgJmxjZC0+c3BpLT5kZXYsICZ0ZDA0M210ZWExX2Z1bmNz LAo+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFBJKTsKPiAgCj4gIAlyZXQgPSBkcm1f cGFuZWxfYWRkKCZsY2QtPnBhbmVsKTsKPiAgCWlmIChyZXQgPCAwKSB7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdHBnMTEwLmMgYi9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtdHBvLXRwZzExMC5jCj4gaW5kZXggMjU1MjRjMjZiMjQxLi4xYTU0MThh ZTJjY2YgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10cGcx MTAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdHBnMTEwLmMKPiBA QCAtNDU3LDcgKzQ1Nyw4IEBAIHN0YXRpYyBpbnQgdHBnMTEwX3Byb2JlKHN0cnVjdCBzcGlfZGV2 aWNlICpzcGkpCj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiByZXQ7Cj4gIAo+IC0JZHJtX3BhbmVs X2luaXQoJnRwZy0+cGFuZWwsIGRldiwgJnRwZzExMF9kcm1fZnVuY3MpOwo+ICsJZHJtX3BhbmVs X2luaXQoJnRwZy0+cGFuZWwsIGRldiwgJnRwZzExMF9kcm1fZnVuY3MsCj4gKwkJICAgICAgIERS TV9NT0RFX0NPTk5FQ1RPUl9EUEkpOwo+ICAJc3BpX3NldF9kcnZkYXRhKHNwaSwgdHBnKTsKPiAg Cj4gIAlyZXR1cm4gZHJtX3BhbmVsX2FkZCgmdHBnLT5wYW5lbCk7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cnVseS1udDM1NTk3LmMgYi9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtdHJ1bHktbnQzNTU5Ny5jCj4gaW5kZXggYzM3MTRiZTc4ODM3Li4wZmVl YTI0NTZlMTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRydWx5 LW50MzU1OTcuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cnVseS1udDM1 NTk3LmMKPiBAQCAtNTE4LDcgKzUxOCw4IEBAIHN0YXRpYyBpbnQgdHJ1bHlfbnQzNTU5N19wYW5l bF9hZGQoc3RydWN0IHRydWx5X250MzU1OTcgKmN0eCkKPiAgCS8qIGR1YWwgcG9ydCAqLwo+ICAJ Z3Bpb2Rfc2V0X3ZhbHVlKGN0eC0+bW9kZV9ncGlvLCAwKTsKPiAgCj4gLQlkcm1fcGFuZWxfaW5p dCgmY3R4LT5wYW5lbCwgZGV2LCAmdHJ1bHlfbnQzNTU5N19kcm1fZnVuY3MpOwo+ICsJZHJtX3Bh bmVsX2luaXQoJmN0eC0+cGFuZWwsIGRldiwgJnRydWx5X250MzU1OTdfZHJtX2Z1bmNzLAo+ICsJ CSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiAgCWRybV9wYW5lbF9hZGQoJmN0eC0+ cGFuZWwpOwo+ICAKPiAgCXJldHVybiAwOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f cGFuZWwuaCBiL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oCj4gaW5kZXggNGI5YzY1NmRjMTVlLi5j ZThkYTY0MDIyYjQgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgKPiArKysg Yi9pbmNsdWRlL2RybS9kcm1fcGFuZWwuaAo+IEBAIC0xMzksNiArMTM5LDE1IEBAIHN0cnVjdCBk cm1fcGFuZWwgewo+ICAJICovCj4gIAljb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzICpmdW5j czsKPiAgCj4gKwkvKioKPiArCSAqIEBjb25uZWN0b3JfdHlwZToKPiArCSAqCj4gKwkgKiBUeXBl IG9mIHRoZSBwYW5lbCBhcyBhIERSTV9NT0RFX0NPTk5FQ1RPUl8qIHZhbHVlLiBUaGlzIGlzIHVz ZWQgdG8KPiArCSAqIGluaXRpYWxpc2UgdGhlIGRybV9jb25uZWN0b3IgY29ycmVzcG9uZGluZyB0 byB0aGUgcGFuZWwgd2l0aCB0aGUKPiArCSAqIGNvcnJlY3QgY29ubmVjdG9yIHR5cGUuCj4gKwkg Ki8KPiArCWludCBjb25uZWN0b3JfdHlwZTsKPiArCj4gIAkvKioKPiAgCSAqIEBsaXN0Ogo+ICAJ ICoKPiBAQCAtMTQ4LDcgKzE1Nyw4IEBAIHN0cnVjdCBkcm1fcGFuZWwgewo+ICB9Owo+ICAKPiAg dm9pZCBkcm1fcGFuZWxfaW5pdChzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwgc3RydWN0IGRldmlj ZSAqZGV2LAo+IC0JCSAgICBjb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzICpmdW5jcyk7Cj4g KwkJICAgIGNvbnN0IHN0cnVjdCBkcm1fcGFuZWxfZnVuY3MgKmZ1bmNzLAo+ICsJCSAgICBpbnQg Y29ubmVjdG9yX3R5cGUpOwo+ICAKPiAgaW50IGRybV9wYW5lbF9hZGQoc3RydWN0IGRybV9wYW5l bCAqcGFuZWwpOwo+ICB2b2lkIGRybV9wYW5lbF9yZW1vdmUoc3RydWN0IGRybV9wYW5lbCAqcGFu ZWwpOwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs