From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH] gpu: Convert to using %pOF instead of full_name Date: Thu, 20 Jul 2017 09:53:52 -0400 Message-ID: <20170720135352.ayyq26jm2yqzfcf3@art_vandelay> References: <20170718214339.7774-24-robh@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170718214339.7774-24-robh@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Herring Cc: Neil Armstrong , dri-devel@lists.freedesktop.org, Thierry Reding , Laurent Pinchart , Daniel Vetter , linux-samsung-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, Kevin Hilman , Russell King , Krzysztof Kozlowski , Xinliang Liu , Javier Martinez Canillas , Xinwei Kong , Kukjin Kim , devicetree@vger.kernel.org, Chen Feng , Tomi Valkeinen , Carlo Caione , Jyri Sarha , Matthias Brugger , linux-amlogic@lists.infradead.org, Chen-Yu Tsai , linux-arm-kernel@lists.infradead.org, Se List-Id: devicetree@vger.kernel.org T24gVHVlLCBKdWwgMTgsIDIwMTcgYXQgMDQ6NDM6MDRQTSAtMDUwMCwgUm9iIEhlcnJpbmcgd3Jv dGU6Cj4gTm93IHRoYXQgd2UgaGF2ZSBhIGN1c3RvbSBwcmludGYgZm9ybWF0IHNwZWNpZmllciwg Y29udmVydCB1c2VycyBvZgo+IGZ1bGxfbmFtZSB0byB1c2UgJXBPRiBpbnN0ZWFkLiBUaGlzIGlz IHByZXBhcmF0aW9uIHRvIHJlbW92ZSBzdG9yaW5nCj4gb2YgdGhlIGZ1bGwgcGF0aCBzdHJpbmcg Zm9yIGVhY2ggbm9kZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBSb2IgSGVycmluZyA8cm9iaEBrZXJu ZWwub3JnPgoKSGkgUm9iLApUaGFua3MgZm9yIHNlbmRpbmcgdGhpcyBwYXRjaCwgYW5kIHRoYW5r cyB0byBMYXVyZW50LCBQaGlsaXBwLCBhbmQgTWF4aW1lIGZvcgpyZXZpZXdzL2Fja3MuCgpJJ3Zl IGFwcGxpZWQgaXQgdG8gZHJtLW1pc2MtbmV4dC4KClNlYW4KCgo+IENjOiBSdXNzZWxsIEtpbmcg PGxpbnV4QGFybWxpbnV4Lm9yZy51az4KPiBDYzogRGF2aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4 LmllPgo+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiBDYzog SmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPiBDYzogU2VhbiBQYXVs IDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Cj4gQ2M6IElua2kgRGFlIDxpbmtpLmRhZUBzYW1zdW5n LmNvbT4KPiBDYzogSm9vbnlvdW5nIFNoaW0gPGp5MDkyMi5zaGltQHNhbXN1bmcuY29tPgo+IENj OiBTZXVuZy1Xb28gS2ltIDxzdzAzMTIua2ltQHNhbXN1bmcuY29tPgo+IENjOiBLeXVuZ21pbiBQ YXJrIDxreXVuZ21pbi5wYXJrQHNhbXN1bmcuY29tPgo+IENjOiBLdWtqaW4gS2ltIDxrZ2VuZUBr ZXJuZWwub3JnPgo+IENjOiBLcnp5c3p0b2YgS296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+Cj4g Q2M6IEphdmllciBNYXJ0aW5leiBDYW5pbGxhcyA8amF2aWVyQG9zZy5zYW1zdW5nLmNvbT4KPiBD YzogWGlubGlhbmcgTGl1IDx6LmxpdXhpbmxpYW5nQGhpc2lsaWNvbi5jb20+Cj4gQ2M6IFJvbmdy b25nIFpvdSA8em91cm9uZ3JvbmdAZ21haWwuY29tPgo+IENjOiBYaW53ZWkgS29uZyA8a29uZy5r b25neGlud2VpQGhpc2lsaWNvbi5jb20+Cj4gQ2M6IENoZW4gRmVuZyA8cHVjay5jaGVuQGhpc2ls aWNvbi5jb20+Cj4gQ2M6IENLIEh1IDxjay5odUBtZWRpYXRlay5jb20+Cj4gQ2M6IFBoaWxpcHAg WmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4gQ2M6IE1hdHRoaWFzIEJydWdnZXIgPG1h dHRoaWFzLmJnZ0BnbWFpbC5jb20+Cj4gQ2M6IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJh eWxpYnJlLmNvbT4KPiBDYzogQ2FybG8gQ2Fpb25lIDxjYXJsb0BjYWlvbmUub3JnPgo+IENjOiBL ZXZpbiBIaWxtYW4gPGtoaWxtYW5AYmF5bGlicmUuY29tPgo+IENjOiBUaGllcnJ5IFJlZGluZyA8 dGhpZXJyeS5yZWRpbmdAZ21haWwuY29tPgo+IENjOiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50 LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Cj4gQ2M6IE1hcmsgWWFvIDxtYXJrLnlhb0Byb2Nr LWNoaXBzLmNvbT4KPiBDYzogSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVjaC5kZT4KPiBDYzog TWF4aW1lIFJpcGFyZCA8bWF4aW1lLnJpcGFyZEBmcmVlLWVsZWN0cm9ucy5jb20+Cj4gQ2M6IENo ZW4tWXUgVHNhaSA8d2Vuc0Bjc2llLm9yZz4KPiBDYzogSnlyaSBTYXJoYSA8anNhcmhhQHRpLmNv bT4KPiBDYzogVG9taSBWYWxrZWluZW4gPHRvbWkudmFsa2VpbmVuQHRpLmNvbT4KPiBDYzogZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IENjOiBsaW51eC1hcm0ta2VybmVsQGxpc3Rz LmluZnJhZGVhZC5vcmcKPiBDYzogbGludXgtc2Ftc3VuZy1zb2NAdmdlci5rZXJuZWwub3JnCj4g Q2M6IGxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKPiBDYzogbGludXgtYW1sb2dp Y0BsaXN0cy5pbmZyYWRlYWQub3JnCj4gQ2M6IGxpbnV4LXJlbmVzYXMtc29jQHZnZXIua2VybmVs Lm9yZwo+IENjOiBsaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnCj4gLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYyAgICAgICAgICAgIHwgIDMgKy0tCj4g IGRyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2Rydi5jICAgICAgICAgICAgIHwgIDQgKyst LQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX21pcGlfZHNpLmMgICAgICAgICAgICAgICAgICB8ICA2 ICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMgICAgICAgICAgICAgICAgICAg ICB8ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9vZi5jICAgICAgICAgICAgICAgICAg ICAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kc2ku YyAgICAgICAgIHwgIDMgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2ly aW5fZHJtX2FkZS5jIHwgIDMgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlz cF9jb2xvci5jICAgICAgIHwgIDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2Rpc3Bfb3ZsLmMgICAgICAgICB8ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kaXNwX3JkbWEuYyAgICAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHBpLmMgICAgICAgICAgICAgIHwgIDYgKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYyAgICAgICAgIHwgIDcgKysrLS0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jICAgICB8ICA2ICsrLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYyAgICAgICAgICB8IDE2ICsrKysr KysrLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYyAgICAgICAg ICAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jICAg ICAgICAgICAgIHwgIDggKysrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX2Ry di5jICAgICAgICAgICAgICAgfCAgNSArKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtbHZkcy5jICAgICAgICAgICAgICB8IDE2ICsrKysrKysrLS0tLS0tLS0KPiAgZHJpdmVycy9n cHUvZHJtL3JjYXItZHUvcmNhcl9kdV9lbmNvZGVyLmMgICAgICAgfCAgNCArKy0tCj4gIGRyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfa21zLmMgICAgICAgICAgIHwgMTYgKysrKysrKyst LS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jICAg ICB8ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3Au YyAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9zdG0vbHRkYy5jICAgICAgICAgICAg ICAgICAgICAgIHwgIDMgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9kcnYuYyAg ICAgICAgICAgICAgIHwgIDkgKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGls Y2RjX2NydGMuYyAgICAgICAgICAgIHwgIDQgKystLQo+ICBkcml2ZXJzL2dwdS9pcHUtdjMvaXB1 LWNvbW1vbi5jICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KPiAgMjYgZmlsZXMgY2hhbmdlZCwg NzMgaW5zZXJ0aW9ucygrKSwgODIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEv YXJtYWRhX2NydGMuYwo+IGluZGV4IDRmZTE5ZmRlODRmOS4uODU5NzdjMDg4NzllIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYwo+IEBAIC0xMzI5LDggKzEzMjksNyBAQCBh cm1hZGFfbGNkX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIs IHZvaWQgKmRhdGEpCj4gIAkJcG9ydCA9IG9mX2dldF9jaGlsZF9ieV9uYW1lKHBhcmVudCwgInBv cnQiKTsKPiAgCQlvZl9ub2RlX3B1dChucCk7Cj4gIAkJaWYgKCFwb3J0KSB7Cj4gLQkJCWRldl9l cnIoZGV2LCAibm8gcG9ydCBub2RlIGZvdW5kIGluICVzXG4iLAo+IC0JCQkJcGFyZW50LT5mdWxs X25hbWUpOwo+ICsJCQlkZXZfZXJyKGRldiwgIm5vIHBvcnQgbm9kZSBmb3VuZCBpbiAlcE9GXG4i LCBwYXJlbnQpOwo+ICAJCQlyZXR1cm4gLUVOWElPOwo+ICAJCX0KPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJt YWRhL2FybWFkYV9kcnYuYwo+IGluZGV4IGU2MThmYWI3ZjUxOS4uMGIzMjI3YzAzOWQ3IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2Rydi5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZHJ2LmMKPiBAQCAtMjMyLDggKzIzMiw4IEBAIHN0 YXRpYyB2b2lkIGFybWFkYV9hZGRfZW5kcG9pbnRzKHN0cnVjdCBkZXZpY2UgKmRldiwKPiAgCQkJ b2Zfbm9kZV9wdXQocmVtb3RlKTsKPiAgCQkJY29udGludWU7Cj4gIAkJfSBlbHNlIGlmICghb2Zf ZGV2aWNlX2lzX2F2YWlsYWJsZShyZW1vdGUtPnBhcmVudCkpIHsKPiAtCQkJZGV2X3dhcm4oZGV2 LCAicGFyZW50IGRldmljZSBvZiAlcyBpcyBub3QgYXZhaWxhYmxlXG4iLAo+IC0JCQkJIHJlbW90 ZS0+ZnVsbF9uYW1lKTsKPiArCQkJZGV2X3dhcm4oZGV2LCAicGFyZW50IGRldmljZSBvZiAlcE9G IGlzIG5vdCBhdmFpbGFibGVcbiIsCj4gKwkJCQkgcmVtb3RlKTsKPiAgCQkJb2Zfbm9kZV9wdXQo cmVtb3RlKTsKPiAgCQkJY29udGludWU7Cj4gIAkJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX21pcGlfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21pcGlfZHNpLmMKPiBp bmRleCAxMTYwYTU3OWUwZGMuLjRiNDcyMjZiOTBkNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX21pcGlfZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21pcGlfZHNp LmMKPiBAQCAtMTY1LDE0ICsxNjUsMTQgQEAgb2ZfbWlwaV9kc2lfZGV2aWNlX2FkZChzdHJ1Y3Qg bWlwaV9kc2lfaG9zdCAqaG9zdCwgc3RydWN0IGRldmljZV9ub2RlICpub2RlKQo+ICAJdTMyIHJl ZzsKPiAKPiAgCWlmIChvZl9tb2RhbGlhc19ub2RlKG5vZGUsIGluZm8udHlwZSwgc2l6ZW9mKGlu Zm8udHlwZSkpIDwgMCkgewo+IC0JCWRldl9lcnIoZGV2LCAibW9kYWxpYXMgZmFpbHVyZSBvbiAl c1xuIiwgbm9kZS0+ZnVsbF9uYW1lKTsKPiArCQlkZXZfZXJyKGRldiwgIm1vZGFsaWFzIGZhaWx1 cmUgb24gJXBPRlxuIiwgbm9kZSk7Cj4gIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7Cj4gIAl9 Cj4gCj4gIAlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihub2RlLCAicmVnIiwgJnJlZyk7Cj4g IAlpZiAocmV0KSB7Cj4gLQkJZGV2X2VycihkZXYsICJkZXZpY2Ugbm9kZSAlcyBoYXMgbm8gdmFs aWQgcmVnIHByb3BlcnR5OiAlZFxuIiwKPiAtCQkJbm9kZS0+ZnVsbF9uYW1lLCByZXQpOwo+ICsJ CWRldl9lcnIoZGV2LCAiZGV2aWNlIG5vZGUgJXBPRiBoYXMgbm8gdmFsaWQgcmVnIHByb3BlcnR5 OiAlZFxuIiwKPiArCQkJbm9kZSwgcmV0KTsKPiAgCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsK PiAgCX0KPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCj4gaW5kZXggZjI0OTNiOWI4MmU2Li5hN2YyYTgxYzc2 ZjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCj4gQEAgLTcwOSw4ICs3MDksOCBAQCBpbnQgb2ZfZ2V0 X2RybV9kaXNwbGF5X21vZGUoc3RydWN0IGRldmljZV9ub2RlICpucCwKPiAgCWlmIChidXNfZmxh Z3MpCj4gIAkJZHJtX2J1c19mbGFnc19mcm9tX3ZpZGVvbW9kZSgmdm0sIGJ1c19mbGFncyk7Cj4g Cj4gLQlwcl9kZWJ1ZygiJXM6IGdvdCAlZHglZCBkaXNwbGF5IG1vZGUgZnJvbSAlc1xuIiwKPiAt CQlvZl9ub2RlX2Z1bGxfbmFtZShucCksIHZtLmhhY3RpdmUsIHZtLnZhY3RpdmUsIG5wLT5uYW1l KTsKPiArCXByX2RlYnVnKCIlcE9GOiBnb3QgJWR4JWQgZGlzcGxheSBtb2RlIGZyb20gJXNcbiIs Cj4gKwkJbnAsIHZtLmhhY3RpdmUsIHZtLnZhY3RpdmUsIG5wLT5uYW1lKTsKPiAgCWRybV9tb2Rl X2RlYnVnX3ByaW50bW9kZWxpbmUoZG1vZGUpOwo+IAo+ICAJcmV0dXJuIDA7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fb2YuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fb2YuYwo+ IGluZGV4IDIxMjBmMzNiZGY0YS4uOGRhZmJkZmNkMmVhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fb2YuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fb2YuYwo+IEBAIC0x NjAsOCArMTYwLDggQEAgaW50IGRybV9vZl9jb21wb25lbnRfcHJvYmUoc3RydWN0IGRldmljZSAq ZGV2LAo+ICAJCQkJb2Zfbm9kZV9wdXQocmVtb3RlKTsKPiAgCQkJCWNvbnRpbnVlOwo+ICAJCQl9 IGVsc2UgaWYgKCFvZl9kZXZpY2VfaXNfYXZhaWxhYmxlKHJlbW90ZS0+cGFyZW50KSkgewo+IC0J CQkJZGV2X3dhcm4oZGV2LCAicGFyZW50IGRldmljZSBvZiAlcyBpcyBub3QgYXZhaWxhYmxlXG4i LAo+IC0JCQkJCSByZW1vdGUtPmZ1bGxfbmFtZSk7Cj4gKwkJCQlkZXZfd2FybihkZXYsICJwYXJl bnQgZGV2aWNlIG9mICVwT0YgaXMgbm90IGF2YWlsYWJsZVxuIiwKPiArCQkJCQkgcmVtb3RlKTsK PiAgCQkJCW9mX25vZGVfcHV0KHJlbW90ZSk7Cj4gIAkJCQljb250aW51ZTsKPiAgCQkJfQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHNpLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHNpLmMKPiBpbmRleCBhMTFiNzk1OTZlMmYu LmY1ODBiZTE3MDA4OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5v c19kcm1fZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHNp LmMKPiBAQCAtMTYxOCw4ICsxNjE4LDcgQEAgc3RhdGljIGludCBleHlub3NfZHNpX29mX3JlYWRf dTMyKGNvbnN0IHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsCj4gIAlpbnQgcmV0ID0gb2ZfcHJvcGVy dHlfcmVhZF91MzIobnAsIHByb3BuYW1lLCBvdXRfdmFsdWUpOwo+IAo+ICAJaWYgKHJldCA8IDAp Cj4gLQkJcHJfZXJyKCIlczogZmFpbGVkIHRvIGdldCAnJXMnIHByb3BlcnR5XG4iLCBucC0+ZnVs bF9uYW1lLAo+IC0JCSAgICAgICBwcm9wbmFtZSk7Cj4gKwkJcHJfZXJyKCIlcE9GOiBmYWlsZWQg dG8gZ2V0ICclcycgcHJvcGVydHlcbiIsIG5wLCBwcm9wbmFtZSk7Cj4gCj4gIAlyZXR1cm4gcmV0 Owo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2ly aW5fZHJtX2FkZS5jIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1f YWRlLmMKPiBpbmRleCBjOTZjMjI4YTk4OTguLmE5ZTZkYjAyNDEzMSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9hZGUuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJtX2FkZS5jCj4gQEAgLTU4Myw4 ICs1ODMsNyBAQCBzdGF0aWMgaW50IGFkZV9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJICovCj4gIAlwb3J0ID0gb2ZfZ2V0X2NoaWxk X2J5X25hbWUoZGV2LT5kZXYtPm9mX25vZGUsICJwb3J0Iik7Cj4gIAlpZiAoIXBvcnQpIHsKPiAt CQlEUk1fRVJST1IoIm5vIHBvcnQgbm9kZSBmb3VuZCBpbiAlc1xuIiwKPiAtCQkJICBkZXYtPmRl di0+b2Zfbm9kZS0+ZnVsbF9uYW1lKTsKPiArCQlEUk1fRVJST1IoIm5vIHBvcnQgbm9kZSBmb3Vu ZCBpbiAlcE9GXG4iLCBkZXYtPmRldi0+b2Zfbm9kZSk7Cj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4g IAl9Cj4gIAlvZl9ub2RlX3B1dChwb3J0KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kaXNwX2NvbG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2Rpc3BfY29sb3IuYwo+IGluZGV4IGVmNzlhNmQ1NTY0Ni4uZjYwOWI2MmI4YmU2IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9jb2xvci5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX2NvbG9yLmMKPiBAQCAtODQsOCArODQs OCBAQCBzdGF0aWMgaW50IG10a19kaXNwX2NvbG9yX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBz dHJ1Y3QgZGV2aWNlICptYXN0ZXIsCj4gCj4gIAlyZXQgPSBtdGtfZGRwX2NvbXBfcmVnaXN0ZXIo ZHJtX2RldiwgJnByaXYtPmRkcF9jb21wKTsKPiAgCWlmIChyZXQgPCAwKSB7Cj4gLQkJZGV2X2Vy cihkZXYsICJGYWlsZWQgdG8gcmVnaXN0ZXIgY29tcG9uZW50ICVzOiAlZFxuIiwKPiAtCQkJZGV2 LT5vZl9ub2RlLT5mdWxsX25hbWUsIHJldCk7Cj4gKwkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8g cmVnaXN0ZXIgY29tcG9uZW50ICVwT0Y6ICVkXG4iLAo+ICsJCQlkZXYtPm9mX25vZGUsIHJldCk7 Cj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kaXNwX292bC5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19k aXNwX292bC5jCj4gaW5kZXggMzViYzViYWJkYmY3Li45Nzg3ODJhNzc2MjkgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX292bC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX292bC5jCj4gQEAgLTIzNSw4ICsyMzUsOCBAQCBz dGF0aWMgaW50IG10a19kaXNwX292bF9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRl dmljZSAqbWFzdGVyLAo+IAo+ICAJcmV0ID0gbXRrX2RkcF9jb21wX3JlZ2lzdGVyKGRybV9kZXYs ICZwcml2LT5kZHBfY29tcCk7Cj4gIAlpZiAocmV0IDwgMCkgewo+IC0JCWRldl9lcnIoZGV2LCAi RmFpbGVkIHRvIHJlZ2lzdGVyIGNvbXBvbmVudCAlczogJWRcbiIsCj4gLQkJCWRldi0+b2Zfbm9k ZS0+ZnVsbF9uYW1lLCByZXQpOwo+ICsJCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIHJlZ2lzdGVy IGNvbXBvbmVudCAlcE9GOiAlZFxuIiwKPiArCQkJZGV2LT5vZl9ub2RlLCByZXQpOwo+ICAJCXJl dHVybiByZXQ7Cj4gIAl9Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZGlzcF9yZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfcmRt YS5jCj4gaW5kZXggYjY4YTUxMzc2ZjgzLi41ODU5NDNjODFlMWYgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX3JkbWEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZGlzcF9yZG1hLmMKPiBAQCAtMTU1LDggKzE1NSw4IEBAIHN0YXRp YyBpbnQgbXRrX2Rpc3BfcmRtYV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmlj ZSAqbWFzdGVyLAo+IAo+ICAJcmV0ID0gbXRrX2RkcF9jb21wX3JlZ2lzdGVyKGRybV9kZXYsICZw cml2LT5kZHBfY29tcCk7Cj4gIAlpZiAocmV0IDwgMCkgewo+IC0JCWRldl9lcnIoZGV2LCAiRmFp bGVkIHRvIHJlZ2lzdGVyIGNvbXBvbmVudCAlczogJWRcbiIsCj4gLQkJCWRldi0+b2Zfbm9kZS0+ ZnVsbF9uYW1lLCByZXQpOwo+ICsJCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIHJlZ2lzdGVyIGNv bXBvbmVudCAlcE9GOiAlZFxuIiwKPiArCQkJZGV2LT5vZl9ub2RlLCByZXQpOwo+ICAJCXJldHVy biByZXQ7Cj4gIAl9Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jCj4gaW5kZXggMzJj YTM1MWVjZDA5Li5lODBhNjAzZTVmYjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBp LmMKPiBAQCAtNjA1LDggKzYwNSw4IEBAIHN0YXRpYyBpbnQgbXRrX2RwaV9iaW5kKHN0cnVjdCBk ZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQo+IAo+ICAJcmV0 ID0gbXRrX2RkcF9jb21wX3JlZ2lzdGVyKGRybV9kZXYsICZkcGktPmRkcF9jb21wKTsKPiAgCWlm IChyZXQgPCAwKSB7Cj4gLQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gcmVnaXN0ZXIgY29tcG9u ZW50ICVzOiAlZFxuIiwKPiAtCQkJZGV2LT5vZl9ub2RlLT5mdWxsX25hbWUsIHJldCk7Cj4gKwkJ ZGV2X2VycihkZXYsICJGYWlsZWQgdG8gcmVnaXN0ZXIgY29tcG9uZW50ICVwT0Y6ICVkXG4iLAo+ ICsJCQlkZXYtPm9mX25vZGUsIHJldCk7Cj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAKPiBAQCAt NzEwLDcgKzcxMCw3IEBAIHN0YXRpYyBpbnQgbXRrX2RwaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQo+ICAJaWYgKCFicmlkZ2Vfbm9kZSkKPiAgCQlyZXR1cm4gLUVOT0RFVjsK PiAKPiAtCWRldl9pbmZvKGRldiwgIkZvdW5kIGJyaWRnZSBub2RlOiAlc1xuIiwgYnJpZGdlX25v ZGUtPmZ1bGxfbmFtZSk7Cj4gKwlkZXZfaW5mbyhkZXYsICJGb3VuZCBicmlkZ2Ugbm9kZTogJXBP RlxuIiwgYnJpZGdlX25vZGUpOwo+IAo+ICAJZHBpLT5icmlkZ2UgPSBvZl9kcm1fZmluZF9icmlk Z2UoYnJpZGdlX25vZGUpOwo+ICAJb2Zfbm9kZV9wdXQoYnJpZGdlX25vZGUpOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMgYi9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPiBpbmRleCBjYjMyYzkzNjlmM2EuLjlmYTJl M2QyMTdjMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9j cnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPiBA QCAtNTc3LDggKzU3Nyw3IEBAIGludCBtdGtfZHJtX2NydGNfY3JlYXRlKHN0cnVjdCBkcm1fZGV2 aWNlICpkcm1fZGV2LAo+ICAJCW5vZGUgPSBwcml2LT5jb21wX25vZGVbY29tcF9pZF07Cj4gIAkJ Y29tcCA9IHByaXYtPmRkcF9jb21wW2NvbXBfaWRdOwo+ICAJCWlmICghY29tcCkgewo+IC0JCQlk ZXZfZXJyKGRldiwgIkNvbXBvbmVudCAlcyBub3QgaW5pdGlhbGl6ZWRcbiIsCj4gLQkJCQlub2Rl LT5mdWxsX25hbWUpOwo+ICsJCQlkZXZfZXJyKGRldiwgIkNvbXBvbmVudCAlcE9GIG5vdCBpbml0 aWFsaXplZFxuIiwgbm9kZSk7Cj4gIAkJCXJldCA9IC1FTk9ERVY7Cj4gIAkJCWdvdG8gdW5wcmVw YXJlOwo+ICAJCX0KPiBAQCAtNTg2LDggKzU4NSw4IEBAIGludCBtdGtfZHJtX2NydGNfY3JlYXRl KHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LAo+ICAJCXJldCA9IGNsa19wcmVwYXJlKGNvbXAt PmNsayk7Cj4gIAkJaWYgKHJldCkgewo+ICAJCQlkZXZfZXJyKGRldiwKPiAtCQkJCSJGYWlsZWQg dG8gcHJlcGFyZSBjbG9jayBmb3IgY29tcG9uZW50ICVzOiAlZFxuIiwKPiAtCQkJCW5vZGUtPmZ1 bGxfbmFtZSwgcmV0KTsKPiArCQkJCSJGYWlsZWQgdG8gcHJlcGFyZSBjbG9jayBmb3IgY29tcG9u ZW50ICVwT0Y6ICVkXG4iLAo+ICsJCQkJbm9kZSwgcmV0KTsKPiAgCQkJZ290byB1bnByZXBhcmU7 Cj4gIAkJfQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Ry bV9kZHBfY29tcC5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAu Ywo+IGluZGV4IDA3ZDdlYTIyNjhlZi4uNDY3MjMxN2UzYWQxIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jCj4gQEAgLTI5NSwxNSArMjk1LDEzIEBA IGludCBtdGtfZGRwX2NvbXBfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2Vf bm9kZSAqbm9kZSwKPiAgCWxhcmJfbm9kZSA9IG9mX3BhcnNlX3BoYW5kbGUobm9kZSwgIm1lZGlh dGVrLGxhcmIiLCAwKTsKPiAgCWlmICghbGFyYl9ub2RlKSB7Cj4gIAkJZGV2X2VycihkZXYsCj4g LQkJCSJNaXNzaW5nIG1lZGlhZGVrLGxhcmIgcGhhbmRsZSBpbiAlcyBub2RlXG4iLAo+IC0JCQlu b2RlLT5mdWxsX25hbWUpOwo+ICsJCQkiTWlzc2luZyBtZWRpYWRlayxsYXJiIHBoYW5kbGUgaW4g JXBPRiBub2RlXG4iLCBub2RlKTsKPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCX0KPiAKPiAgCWxh cmJfcGRldiA9IG9mX2ZpbmRfZGV2aWNlX2J5X25vZGUobGFyYl9ub2RlKTsKPiAgCWlmICghbGFy Yl9wZGV2KSB7Cj4gLQkJZGV2X3dhcm4oZGV2LCAiV2FpdGluZyBmb3IgbGFyYiBkZXZpY2UgJXNc biIsCj4gLQkJCSBsYXJiX25vZGUtPmZ1bGxfbmFtZSk7Cj4gKwkJZGV2X3dhcm4oZGV2LCAiV2Fp dGluZyBmb3IgbGFyYiBkZXZpY2UgJXBPRlxuIiwgbGFyYl9ub2RlKTsKPiAgCQlvZl9ub2RlX3B1 dChsYXJiX25vZGUpOwo+ICAJCXJldHVybiAtRVBST0JFX0RFRkVSOwo+ICAJfQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jCj4gaW5kZXggNDFkMmNmZmU5NTNlLi5iNjc5MjM1 ODlkYzIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2 LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYwo+IEBAIC0x ODcsOCArMTg3LDggQEAgc3RhdGljIGludCBtdGtfZHJtX2ttc19pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkcm0pCj4gCj4gIAlwZGV2ID0gb2ZfZmluZF9kZXZpY2VfYnlfbm9kZShwcml2YXRlLT5t dXRleF9ub2RlKTsKPiAgCWlmICghcGRldikgewo+IC0JCWRldl9lcnIoZHJtLT5kZXYsICJXYWl0 aW5nIGZvciBkaXNwLW11dGV4IGRldmljZSAlc1xuIiwKPiAtCQkJcHJpdmF0ZS0+bXV0ZXhfbm9k ZS0+ZnVsbF9uYW1lKTsKPiArCQlkZXZfZXJyKGRybS0+ZGV2LCAiV2FpdGluZyBmb3IgZGlzcC1t dXRleCBkZXZpY2UgJXBPRlxuIiwKPiArCQkJcHJpdmF0ZS0+bXV0ZXhfbm9kZSk7Cj4gIAkJb2Zf bm9kZV9wdXQocHJpdmF0ZS0+bXV0ZXhfbm9kZSk7Cj4gIAkJcmV0dXJuIC1FUFJPQkVfREVGRVI7 Cj4gIAl9Cj4gQEAgLTQxNyw4ICs0MTcsOCBAQCBzdGF0aWMgaW50IG10a19kcm1fcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCQkJY29udGludWU7Cj4gCj4gIAkJaWYgKCFv Zl9kZXZpY2VfaXNfYXZhaWxhYmxlKG5vZGUpKSB7Cj4gLQkJCWRldl9kYmcoZGV2LCAiU2tpcHBp bmcgZGlzYWJsZWQgY29tcG9uZW50ICVzXG4iLAo+IC0JCQkJbm9kZS0+ZnVsbF9uYW1lKTsKPiAr CQkJZGV2X2RiZyhkZXYsICJTa2lwcGluZyBkaXNhYmxlZCBjb21wb25lbnQgJXBPRlxuIiwKPiAr CQkJCW5vZGUpOwo+ICAJCQljb250aW51ZTsKPiAgCQl9Cj4gCj4gQEAgLTQzMSw4ICs0MzEsOCBA QCBzdGF0aWMgaW50IG10a19kcm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK PiAKPiAgCQljb21wX2lkID0gbXRrX2RkcF9jb21wX2dldF9pZChub2RlLCBjb21wX3R5cGUpOwo+ ICAJCWlmIChjb21wX2lkIDwgMCkgewo+IC0JCQlkZXZfd2FybihkZXYsICJTa2lwcGluZyB1bmtu b3duIGNvbXBvbmVudCAlc1xuIiwKPiAtCQkJCSBub2RlLT5mdWxsX25hbWUpOwo+ICsJCQlkZXZf d2FybihkZXYsICJTa2lwcGluZyB1bmtub3duIGNvbXBvbmVudCAlcE9GXG4iLAo+ICsJCQkJIG5v ZGUpOwo+ICAJCQljb250aW51ZTsKPiAgCQl9Cj4gCj4gQEAgLTQ0OCw4ICs0NDgsOCBAQCBzdGF0 aWMgaW50IG10a19kcm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCQkg ICAgY29tcF90eXBlID09IE1US19ESVNQX1JETUEgfHwKPiAgCQkgICAgY29tcF90eXBlID09IE1U S19EU0kgfHwKPiAgCQkgICAgY29tcF90eXBlID09IE1US19EUEkpIHsKPiAtCQkJZGV2X2luZm8o ZGV2LCAiQWRkaW5nIGNvbXBvbmVudCBtYXRjaCBmb3IgJXNcbiIsCj4gLQkJCQkgbm9kZS0+ZnVs bF9uYW1lKTsKPiArCQkJZGV2X2luZm8oZGV2LCAiQWRkaW5nIGNvbXBvbmVudCBtYXRjaCBmb3Ig JXBPRlxuIiwKPiArCQkJCSBub2RlKTsKPiAgCQkJZHJtX29mX2NvbXBvbmVudF9tYXRjaF9hZGQo ZGV2LCAmbWF0Y2gsIGNvbXBhcmVfb2YsCj4gIAkJCQkJCSAgIG5vZGUpOwo+ICAJCX0gZWxzZSB7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMgYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCj4gaW5kZXggOTcyNTNjOGY4MTNiLi5hMzFi ZDJhODJkZTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2ku Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMKPiBAQCAtMTA0OCw4 ICsxMDQ4LDggQEAgc3RhdGljIGludCBtdGtfZHNpX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBz dHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCj4gCj4gIAlyZXQgPSBtdGtfZGRwX2Nv bXBfcmVnaXN0ZXIoZHJtLCAmZHNpLT5kZHBfY29tcCk7Cj4gIAlpZiAocmV0IDwgMCkgewo+IC0J CWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIHJlZ2lzdGVyIGNvbXBvbmVudCAlczogJWRcbiIsCj4g LQkJCWRldi0+b2Zfbm9kZS0+ZnVsbF9uYW1lLCByZXQpOwo+ICsJCWRldl9lcnIoZGV2LCAiRmFp bGVkIHRvIHJlZ2lzdGVyIGNvbXBvbmVudCAlcE9GOiAlZFxuIiwKPiArCQkJZGV2LT5vZl9ub2Rl LCByZXQpOwo+ICAJCXJldHVybiByZXQ7Cj4gIAl9Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19oZG1pLmMKPiBpbmRleCA3MWViNGZiYmZjODUuLmZlZjI0NmMyNTc3YyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCj4gQEAgLTE0NTYsOCArMTQ1Niw4IEBAIHN0YXRpYyBp bnQgbXRrX2hkbWlfZHRfcGFyc2VfcGRhdGEoc3RydWN0IG10a19oZG1pICpoZG1pLAo+IAo+ICAJ Y2VjX3BkZXYgPSBvZl9maW5kX2RldmljZV9ieV9ub2RlKGNlY19ucCk7Cj4gIAlpZiAoIWNlY19w ZGV2KSB7Cj4gLQkJZGV2X2VycihoZG1pLT5kZXYsICJXYWl0aW5nIGZvciBDRUMgZGV2aWNlICVz XG4iLAo+IC0JCQljZWNfbnAtPmZ1bGxfbmFtZSk7Cj4gKwkJZGV2X2VycihoZG1pLT5kZXYsICJX YWl0aW5nIGZvciBDRUMgZGV2aWNlICVwT0ZcbiIsCj4gKwkJCWNlY19ucCk7Cj4gIAkJcmV0dXJu IC1FUFJPQkVfREVGRVI7Cj4gIAl9Cj4gIAloZG1pLT5jZWNfZGV2ID0gJmNlY19wZGV2LT5kZXY7 Cj4gQEAgLTE1MDEsOCArMTUwMSw4IEBAIHN0YXRpYyBpbnQgbXRrX2hkbWlfZHRfcGFyc2VfcGRh dGEoc3RydWN0IG10a19oZG1pICpoZG1pLAo+IAo+ICAJaTJjX25wID0gb2ZfcGFyc2VfcGhhbmRs ZShyZW1vdGUsICJkZGMtaTJjLWJ1cyIsIDApOwo+ICAJaWYgKCFpMmNfbnApIHsKPiAtCQlkZXZf ZXJyKGRldiwgIkZhaWxlZCB0byBmaW5kIGRkYy1pMmMtYnVzIG5vZGUgaW4gJXNcbiIsCj4gLQkJ CXJlbW90ZS0+ZnVsbF9uYW1lKTsKPiArCQlkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBmaW5kIGRk Yy1pMmMtYnVzIG5vZGUgaW4gJXBPRlxuIiwKPiArCQkJcmVtb3RlKTsKPiAgCQlvZl9ub2RlX3B1 dChyZW1vdGUpOwo+ICAJCXJldHVybiAtRUlOVkFMOwo+ICAJfQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVz b25fZHJ2LmMKPiBpbmRleCA0ZDk4ZmFjOTI3OTUuLjUzNzVlNmRjY2RkNyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vbWVzb24vbWVzb25fZHJ2LmMKPiBAQCAtMzAzLDkgKzMwMyw4IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgY29tcG9uZW50X21hc3Rlcl9vcHMgbWVzb25fZHJ2X21hc3Rlcl9vcHMgPSB7Cj4gCj4g IHN0YXRpYyBpbnQgY29tcGFyZV9vZihzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCj4g IHsKPiAtCURSTV9ERUJVR19EUklWRVIoIkNvbXBhcmluZyBvZiBub2RlICVzIHdpdGggJXNcbiIs Cj4gLQkJCSBvZl9ub2RlX2Z1bGxfbmFtZShkZXYtPm9mX25vZGUpLAo+IC0JCQkgb2Zfbm9kZV9m dWxsX25hbWUoZGF0YSkpOwo+ICsJRFJNX0RFQlVHX0RSSVZFUigiQ29tcGFyaW5nIG9mIG5vZGUg JXBPRiB3aXRoICVwT0ZcbiIsCj4gKwkJCSBkZXYtPm9mX25vZGUsIGRhdGEpOwo+IAo+ICAJcmV0 dXJuIGRldi0+b2Zfbm9kZSA9PSBkYXRhOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC1sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbHZk cy5jCj4gaW5kZXggMzIxNmFhOWE4OGQ2Li5lMmQ1N2MwMTIwMGIgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWx2ZHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1sdmRzLmMKPiBAQCAtMTQzLDE0ICsxNDMsMTQgQEAgc3RhdGljIGludCBwYW5l bF9sdmRzX3BhcnNlX2R0KHN0cnVjdCBwYW5lbF9sdmRzICpsdmRzKQo+IAo+ICAJcmV0ID0gb2Zf cHJvcGVydHlfcmVhZF91MzIobnAsICJ3aWR0aC1tbSIsICZsdmRzLT53aWR0aCk7Cj4gIAlpZiAo cmV0IDwgMCkgewo+IC0JCWRldl9lcnIobHZkcy0+ZGV2LCAiJXM6IGludmFsaWQgb3IgbWlzc2lu ZyAlcyBEVCBwcm9wZXJ0eVxuIiwKPiAtCQkJb2Zfbm9kZV9mdWxsX25hbWUobnApLCAid2lkdGgt bW0iKTsKPiArCQlkZXZfZXJyKGx2ZHMtPmRldiwgIiVwT0Y6IGludmFsaWQgb3IgbWlzc2luZyAl cyBEVCBwcm9wZXJ0eVxuIiwKPiArCQkJbnAsICJ3aWR0aC1tbSIpOwo+ICAJCXJldHVybiAtRU5P REVWOwo+ICAJfQo+ICAJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIobnAsICJoZWlnaHQtbW0i LCAmbHZkcy0+aGVpZ2h0KTsKPiAgCWlmIChyZXQgPCAwKSB7Cj4gLQkJZGV2X2VycihsdmRzLT5k ZXYsICIlczogaW52YWxpZCBvciBtaXNzaW5nICVzIERUIHByb3BlcnR5XG4iLAo+IC0JCQlvZl9u b2RlX2Z1bGxfbmFtZShucCksICJoZWlnaHQtbW0iKTsKPiArCQlkZXZfZXJyKGx2ZHMtPmRldiwg IiVwT0Y6IGludmFsaWQgb3IgbWlzc2luZyAlcyBEVCBwcm9wZXJ0eVxuIiwKPiArCQkJbnAsICJo ZWlnaHQtbW0iKTsKPiAgCQlyZXR1cm4gLUVOT0RFVjsKPiAgCX0KPiAKPiBAQCAtMTU4LDggKzE1 OCw4IEBAIHN0YXRpYyBpbnQgcGFuZWxfbHZkc19wYXJzZV9kdChzdHJ1Y3QgcGFuZWxfbHZkcyAq bHZkcykKPiAKPiAgCXJldCA9IG9mX3Byb3BlcnR5X3JlYWRfc3RyaW5nKG5wLCAiZGF0YS1tYXBw aW5nIiwgJm1hcHBpbmcpOwo+ICAJaWYgKHJldCA8IDApIHsKPiAtCQlkZXZfZXJyKGx2ZHMtPmRl diwgIiVzOiBpbnZhbGlkIG9yIG1pc3NpbmcgJXMgRFQgcHJvcGVydHlcbiIsCj4gLQkJCW9mX25v ZGVfZnVsbF9uYW1lKG5wKSwgImRhdGEtbWFwcGluZyIpOwo+ICsJCWRldl9lcnIobHZkcy0+ZGV2 LCAiJXBPRjogaW52YWxpZCBvciBtaXNzaW5nICVzIERUIHByb3BlcnR5XG4iLAo+ICsJCQlucCwg ImRhdGEtbWFwcGluZyIpOwo+ICAJCXJldHVybiAtRU5PREVWOwo+ICAJfQo+IAo+IEBAIC0xNzAs OCArMTcwLDggQEAgc3RhdGljIGludCBwYW5lbF9sdmRzX3BhcnNlX2R0KHN0cnVjdCBwYW5lbF9s dmRzICpsdmRzKQo+ICAJfSBlbHNlIGlmICghc3RyY21wKG1hcHBpbmcsICJ2ZXNhLTI0IikpIHsK PiAgCQlsdmRzLT5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfU1BXRzsK PiAgCX0gZWxzZSB7Cj4gLQkJZGV2X2VycihsdmRzLT5kZXYsICIlczogaW52YWxpZCBvciBtaXNz aW5nICVzIERUIHByb3BlcnR5XG4iLAo+IC0JCQlvZl9ub2RlX2Z1bGxfbmFtZShucCksICJkYXRh LW1hcHBpbmciKTsKPiArCQlkZXZfZXJyKGx2ZHMtPmRldiwgIiVwT0Y6IGludmFsaWQgb3IgbWlz c2luZyAlcyBEVCBwcm9wZXJ0eVxuIiwKPiArCQkJbnAsICJkYXRhLW1hcHBpbmciKTsKPiAgCQly ZXR1cm4gLUVJTlZBTDsKPiAgCX0KPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Jj YXItZHUvcmNhcl9kdV9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1 X2VuY29kZXIuYwo+IGluZGV4IDNlMDQ4ZGQ5OGI2NC4uYmE4ZDI4MDRjMWQxIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZW5jb2Rlci5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9lbmNvZGVyLmMKPiBAQCAtMTg2LDggKzE4Niw4 IEBAIGludCByY2FyX2R1X2VuY29kZXJfaW5pdChzdHJ1Y3QgcmNhcl9kdV9kZXZpY2UgKnJjZHUs Cj4gIAl9Cj4gCj4gIAlpZiAoZW5jX25vZGUpIHsKPiAtCQlkZXZfZGJnKHJjZHUtPmRldiwgImlu aXRpYWxpemluZyBlbmNvZGVyICVzIGZvciBvdXRwdXQgJXVcbiIsCj4gLQkJCW9mX25vZGVfZnVs bF9uYW1lKGVuY19ub2RlKSwgb3V0cHV0KTsKPiArCQlkZXZfZGJnKHJjZHUtPmRldiwgImluaXRp YWxpemluZyBlbmNvZGVyICVwT0YgZm9yIG91dHB1dCAldVxuIiwKPiArCQkJZW5jX25vZGUsIG91 dHB1dCk7Cj4gCj4gIAkJLyogTG9jYXRlIHRoZSBEUk0gYnJpZGdlIGZyb20gdGhlIGVuY29kZXIg RFQgbm9kZS4gKi8KPiAgCQlicmlkZ2UgPSBvZl9kcm1fZmluZF9icmlkZ2UoZW5jX25vZGUpOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jIGIvZHJp dmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9rbXMuYwo+IGluZGV4IGY0MTI1YzhjYTkwMi4u NWQ2ODFlYTUzYmU2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJf ZHVfa21zLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jCj4g QEAgLTI5NywxNSArMjk3LDE1IEBAIHN0YXRpYyBpbnQgcmNhcl9kdV9lbmNvZGVyc19pbml0X29u ZShzdHJ1Y3QgcmNhcl9kdV9kZXZpY2UgKnJjZHUsCj4gIAkgKi8KPiAgCWVudGl0eSA9IG9mX2dy YXBoX2dldF9yZW1vdGVfcG9ydF9wYXJlbnQoZXAtPmxvY2FsX25vZGUpOwo+ICAJaWYgKCFlbnRp dHkpIHsKPiAtCQlkZXZfZGJnKHJjZHUtPmRldiwgInVuY29ubmVjdGVkIGVuZHBvaW50ICVzLCBz a2lwcGluZ1xuIiwKPiAtCQkJZXAtPmxvY2FsX25vZGUtPmZ1bGxfbmFtZSk7Cj4gKwkJZGV2X2Ri ZyhyY2R1LT5kZXYsICJ1bmNvbm5lY3RlZCBlbmRwb2ludCAlcE9GLCBza2lwcGluZ1xuIiwKPiAr CQkJZXAtPmxvY2FsX25vZGUpOwo+ICAJCXJldHVybiAtRU5PREVWOwo+ICAJfQo+IAo+ICAJaWYg KCFvZl9kZXZpY2VfaXNfYXZhaWxhYmxlKGVudGl0eSkpIHsKPiAgCQlkZXZfZGJnKHJjZHUtPmRl diwKPiAtCQkJImNvbm5lY3RlZCBlbnRpdHkgJXMgaXMgZGlzYWJsZWQsIHNraXBwaW5nXG4iLAo+ IC0JCQllbnRpdHktPmZ1bGxfbmFtZSk7Cj4gKwkJCSJjb25uZWN0ZWQgZW50aXR5ICVwT0YgaXMg ZGlzYWJsZWQsIHNraXBwaW5nXG4iLAo+ICsJCQllbnRpdHkpOwo+ICAJCXJldHVybiAtRU5PREVW Owo+ICAJfQo+IAo+IEBAIC0zMjUsOCArMzI1LDggQEAgc3RhdGljIGludCByY2FyX2R1X2VuY29k ZXJzX2luaXRfb25lKHN0cnVjdCByY2FyX2R1X2RldmljZSAqcmNkdSwKPiAKPiAgCQlpZiAoIWNv bm5lY3Rvcikgewo+ICAJCQlkZXZfd2FybihyY2R1LT5kZXYsCj4gLQkJCQkgIm5vIGNvbm5lY3Rv ciBmb3IgZW5jb2RlciAlcywgc2tpcHBpbmdcbiIsCj4gLQkJCQkgZW5jb2Rlci0+ZnVsbF9uYW1l KTsKPiArCQkJCSAibm8gY29ubmVjdG9yIGZvciBlbmNvZGVyICVwT0YsIHNraXBwaW5nXG4iLAo+ ICsJCQkJIGVuY29kZXIpOwo+ICAJCQlvZl9ub2RlX3B1dChlbnRpdHlfZXBfbm9kZSk7Cj4gIAkJ CW9mX25vZGVfcHV0KGVuY29kZXIpOwo+ICAJCQlyZXR1cm4gLUVOT0RFVjsKPiBAQCAtMzQ4LDgg KzM0OCw4IEBAIHN0YXRpYyBpbnQgcmNhcl9kdV9lbmNvZGVyc19pbml0X29uZShzdHJ1Y3QgcmNh cl9kdV9kZXZpY2UgKnJjZHUsCj4gIAlyZXQgPSByY2FyX2R1X2VuY29kZXJfaW5pdChyY2R1LCBv dXRwdXQsIGVuY29kZXIsIGNvbm5lY3Rvcik7Cj4gIAlpZiAocmV0ICYmIHJldCAhPSAtRVBST0JF X0RFRkVSKQo+ICAJCWRldl93YXJuKHJjZHUtPmRldiwKPiAtCQkJICJmYWlsZWQgdG8gaW5pdGlh bGl6ZSBlbmNvZGVyICVzIG9uIG91dHB1dCAldSAoJWQpLCBza2lwcGluZ1xuIiwKPiAtCQkJIG9m X25vZGVfZnVsbF9uYW1lKGVuY29kZXIpLCBvdXRwdXQsIHJldCk7Cj4gKwkJCSAiZmFpbGVkIHRv IGluaXRpYWxpemUgZW5jb2RlciAlcE9GIG9uIG91dHB1dCAldSAoJWQpLCBza2lwcGluZ1xuIiwK PiArCQkJIGVuY29kZXIsIG91dHB1dCwgcmV0KTsKPiAKPiAgCW9mX25vZGVfcHV0KGVuY29kZXIp Owo+ICAJb2Zfbm9kZV9wdXQoY29ubmVjdG9yKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9yb2NrY2hpcF9kcm1fZHJ2LmMKPiBpbmRleCBjNmIxYjdmM2EyYTMuLjAyNDEwNDI5ZWRmNyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuYwo+IEBA IC0zNzAsOCArMzcwLDggQEAgc3RhdGljIGludCByb2NrY2hpcF9kcm1fcGxhdGZvcm1fb2ZfcHJv YmUoc3RydWN0IGRldmljZSAqZGV2KQo+IAo+ICAJCWlvbW11ID0gb2ZfcGFyc2VfcGhhbmRsZShw b3J0LT5wYXJlbnQsICJpb21tdXMiLCAwKTsKPiAgCQlpZiAoIWlvbW11IHx8ICFvZl9kZXZpY2Vf aXNfYXZhaWxhYmxlKGlvbW11LT5wYXJlbnQpKSB7Cj4gLQkJCWRldl9kYmcoZGV2LCAibm8gaW9t bXUgYXR0YWNoZWQgZm9yICVzLCB1c2luZyBub24taW9tbXUgYnVmZmVyc1xuIiwKPiAtCQkJCXBv cnQtPnBhcmVudC0+ZnVsbF9uYW1lKTsKPiArCQkJZGV2X2RiZyhkZXYsICJubyBpb21tdSBhdHRh Y2hlZCBmb3IgJXBPRiwgdXNpbmcgbm9uLWlvbW11IGJ1ZmZlcnNcbiIsCj4gKwkJCQlwb3J0LT5w YXJlbnQpOwo+ICAJCQkvKgo+ICAJCQkgKiBpZiB0aGVyZSBpcyBhIGNydGMgbm90IHN1cHBvcnQg aW9tbXUsIGZvcmNlIHNldCBhbGwKPiAgCQkJICogY3J0YyB1c2Ugbm9uLWlvbW11IGJ1ZmZlci4K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3Au YyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKPiBpbmRleCA1 ZDQ1MDMzMmMyZmQuLmFhMzQwN2YxM2JiZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v cm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tj aGlwL3JvY2tjaGlwX2RybV92b3AuYwo+IEBAIC0xMzQwLDggKzEzNDAsOCBAQCBzdGF0aWMgaW50 IHZvcF9jcmVhdGVfY3J0YyhzdHJ1Y3Qgdm9wICp2b3ApCj4gCj4gIAlwb3J0ID0gb2ZfZ2V0X2No aWxkX2J5X25hbWUoZGV2LT5vZl9ub2RlLCAicG9ydCIpOwo+ICAJaWYgKCFwb3J0KSB7Cj4gLQkJ RFJNX0RFVl9FUlJPUih2b3AtPmRldiwgIm5vIHBvcnQgbm9kZSBmb3VuZCBpbiAlc1xuIiwKPiAt CQkJICAgICAgZGV2LT5vZl9ub2RlLT5mdWxsX25hbWUpOwo+ICsJCURSTV9ERVZfRVJST1Iodm9w LT5kZXYsICJubyBwb3J0IG5vZGUgZm91bmQgaW4gJXBPRlxuIiwKPiArCQkJICAgICAgZGV2LT5v Zl9ub2RlKTsKPiAgCQlyZXQgPSAtRU5PRU5UOwo+ICAJCWdvdG8gZXJyX2NsZWFudXBfY3J0YzsK PiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0bS9sdGRjLmMgYi9kcml2ZXJz L2dwdS9kcm0vc3RtL2x0ZGMuYwo+IGluZGV4IDFiOTQ4M2Q0ZjJhNC4uY2Q0ZTc0NzQzZDc3IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdG0vbHRkYy5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3N0bS9sdGRjLmMKPiBAQCAtOTk1LDggKzk5NSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJt X3BhbmVsICpsdGRjX2dldF9wYW5lbChzdHJ1Y3QgZHJtX2RldmljZSAqZGRldikKPiAgCQkJcGFu ZWwgPSBvZl9kcm1fZmluZF9wYW5lbChwb3J0KTsKPiAgCQkJb2Zfbm9kZV9wdXQocG9ydCk7Cj4g IAkJCWlmIChwYW5lbCkgewo+IC0JCQkJRFJNX0RFQlVHX0RSSVZFUigicmVtb3RlIHBhbmVsICVz XG4iLAo+IC0JCQkJCQkgcG9ydC0+ZnVsbF9uYW1lKTsKPiArCQkJCURSTV9ERUJVR19EUklWRVIo InJlbW90ZSBwYW5lbCAlcE9GXG4iLCBwb3J0KTsKPiAgCQkJfSBlbHNlIHsKPiAgCQkJCURSTV9E RUJVR19EUklWRVIoInBhbmVsIG1pc3NpbmdcbiIpOwo+ICAJCQkJb2Zfbm9kZV9wdXQoZW50aXR5 KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Rydi5jIGIvZHJp dmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Rydi5jCj4gaW5kZXggYWJjN2Q4ZmUwNmI0Li44OWNk NTkwNzIzYWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Rydi5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Rydi5jCj4gQEAgLTE4Nyw5ICsx ODcsOSBAQCBzdGF0aWMgYm9vbCBzdW40aV9kcnZfbm9kZV9pc190Y29uKHN0cnVjdCBkZXZpY2Vf bm9kZSAqbm9kZSkKPiAKPiAgc3RhdGljIGludCBjb21wYXJlX29mKHN0cnVjdCBkZXZpY2UgKmRl diwgdm9pZCAqZGF0YSkKPiAgewo+IC0JRFJNX0RFQlVHX0RSSVZFUigiQ29tcGFyaW5nIG9mIG5v ZGUgJXMgd2l0aCAlc1xuIiwKPiAtCQkJIG9mX25vZGVfZnVsbF9uYW1lKGRldi0+b2Zfbm9kZSks Cj4gLQkJCSBvZl9ub2RlX2Z1bGxfbmFtZShkYXRhKSk7Cj4gKwlEUk1fREVCVUdfRFJJVkVSKCJD b21wYXJpbmcgb2Ygbm9kZSAlcE9GIHdpdGggJXBPRlxuIiwKPiArCQkJIGRldi0+b2Zfbm9kZSwK PiArCQkJIGRhdGEpOwo+IAo+ICAJcmV0dXJuIGRldi0+b2Zfbm9kZSA9PSBkYXRhOwo+ICB9Cj4g QEAgLTIxOSw4ICsyMTksNyBAQCBzdGF0aWMgaW50IHN1bjRpX2Rydl9hZGRfZW5kcG9pbnRzKHN0 cnVjdCBkZXZpY2UgKmRldiwKPiAKPiAgCWlmICghc3VuNGlfZHJ2X25vZGVfaXNfZnJvbnRlbmQo bm9kZSkpIHsKPiAgCQkvKiBBZGQgY3VycmVudCBjb21wb25lbnQgKi8KPiAtCQlEUk1fREVCVUdf RFJJVkVSKCJBZGRpbmcgY29tcG9uZW50ICVzXG4iLAo+IC0JCQkJIG9mX25vZGVfZnVsbF9uYW1l KG5vZGUpKTsKPiArCQlEUk1fREVCVUdfRFJJVkVSKCJBZGRpbmcgY29tcG9uZW50ICVwT0ZcbiIs IG5vZGUpOwo+ICAJCWRybV9vZl9jb21wb25lbnRfbWF0Y2hfYWRkKGRldiwgbWF0Y2gsIGNvbXBh cmVfb2YsIG5vZGUpOwo+ICAJCWNvdW50Kys7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS90aWxjZGMvdGlsY2RjX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGls Y2RjX2NydGMuYwo+IGluZGV4IGQ1MjRlZDBkNTE0Ni4uODQxNmMxZmEwZGQ4IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS90aWxjZGMvdGlsY2RjX2NydGMuYwo+IEBAIC0xMDM4LDggKzEwMzgsOCBAQCBpbnQg dGlsY2RjX2NydGNfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlpZiAocHJpdi0+ aXNfY29tcG9uZW50aXplZCkgewo+ICAJCWNydGMtPnBvcnQgPSBvZl9ncmFwaF9nZXRfcG9ydF9i eV9pZChkZXYtPmRldi0+b2Zfbm9kZSwgMCk7Cj4gIAkJaWYgKCFjcnRjLT5wb3J0KSB7IC8qIFRo aXMgc2hvdWxkIG5ldmVyIGhhcHBlbiAqLwo+IC0JCQlkZXZfZXJyKGRldi0+ZGV2LCAiUG9ydCBu b2RlIG5vdCBmb3VuZCBpbiAlc1xuIiwKPiAtCQkJCWRldi0+ZGV2LT5vZl9ub2RlLT5mdWxsX25h bWUpOwo+ICsJCQlkZXZfZXJyKGRldi0+ZGV2LCAiUG9ydCBub2RlIG5vdCBmb3VuZCBpbiAlcE9G XG4iLAo+ICsJCQkJZGV2LT5kZXYtPm9mX25vZGUpOwo+ICAJCQlyZXQgPSAtRUlOVkFMOwo+ICAJ CQlnb3RvIGZhaWw7Cj4gIAkJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9pcHUtdjMvaXB1 LWNvbW1vbi5jIGIvZHJpdmVycy9ncHUvaXB1LXYzL2lwdS1jb21tb24uYwo+IGluZGV4IDk2MGQ4 MTZhZDdmNy4uNmE1NzNkMjFkM2NjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2lwdS12My9p cHUtY29tbW9uLmMKPiArKysgYi9kcml2ZXJzL2dwdS9pcHUtdjMvaXB1LWNvbW1vbi5jCj4gQEAg LTEyMTcsOCArMTIxNyw4IEBAIHN0YXRpYyBpbnQgaXB1X2FkZF9jbGllbnRfZGV2aWNlcyhzdHJ1 Y3QgaXB1X3NvYyAqaXB1LCB1bnNpZ25lZCBsb25nIGlwdV9iYXNlKQo+ICAJCW9mX25vZGUgPSBv Zl9ncmFwaF9nZXRfcG9ydF9ieV9pZChkZXYtPm9mX25vZGUsIGkpOwo+ICAJCWlmICghb2Zfbm9k ZSkgewo+ICAJCQlkZXZfaW5mbyhkZXYsCj4gLQkJCQkgIm5vIHBvcnRAJWQgbm9kZSBpbiAlcywg bm90IHVzaW5nICVzJWRcbiIsCj4gLQkJCQkgaSwgZGV2LT5vZl9ub2RlLT5mdWxsX25hbWUsCj4g KwkJCQkgIm5vIHBvcnRAJWQgbm9kZSBpbiAlcE9GLCBub3QgdXNpbmcgJXMlZFxuIiwKPiArCQkJ CSBpLCBkZXYtPm9mX25vZGUsCj4gIAkJCQkgKGkgLyAyKSA/ICJESSIgOiAiQ1NJIiwgaSAlIDIp Owo+ICAJCQljb250aW51ZTsKPiAgCQl9Cj4gLS0KPiAyLjExLjAKPiAKCi0tIApTZWFuIFBhdWws IFNvZnR3YXJlIEVuZ2luZWVyLCBHb29nbGUgLyBDaHJvbWl1bSBPUwpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK