From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 1/1] drm/i915: make backlight hooks connector specific Date: Mon, 14 Sep 2015 16:17:43 +0200 Message-ID: <20150914141743.GK3383@phenom.ffwll.local> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f180.google.com (mail-wi0-f180.google.com [209.85.212.180]) by gabe.freedesktop.org (Postfix) with ESMTPS id 31FE26E196 for ; Mon, 14 Sep 2015 07:15:00 -0700 (PDT) Received: by wicge5 with SMTP id ge5so144815110wic.0 for ; Mon, 14 Sep 2015 07:14:58 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: m.deepak@intel.com, yetundex.adebisi@intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBTZXAgMTQsIDIwMTUgYXQgMDI6MDM6NDhQTSArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gUHJldmlvdXNseSB3ZSd2ZSByZWxpZWQgb24gaGF2aW5nIGJhc2ljYWxseSBvbmUgYmFj a2xpZ2h0IGFuZCBvbmUKPiBiYWNrbGlnaHQgdHlwZSBwZXIgcGxhdGZvcm0uIFRoaXMgaXMgYWxy ZWFkeSBhIGJpdCBxdWlya3kgd2l0aCBQTUlDIFBXTQo+IHN1cHBvcnQgb24gVkxWL0NIViBwbGF0 Zm9ybXMgd2l0aCBNSVBJIERTSS4gSW4gdGhlIGZvcmVzZWVhYmxlIGZ1dHVyZQo+IHdlJ2xsIGhh dmUgYXQgbGVhc3QgRFBDRCBiYXNlZCBiYWNrbGlnaHQgY29udHJvbCBvbiBlRFAgYW5kIERDUyBj b21tYW5kCj4gYmFzZWQgYmFja2xpZ2h0IGNvbnRyb2wgb24gTUlQSSBEU0kuIEJhY2tsaWdodCBp cyBiZWNvbWluZyBtb3JlIGFuZCBtb3JlCj4gY29ubmVjdG9yIHNwZWNpZmljLCBzbyByZWZsZWN0 IHRoaXMgZmFjdCBieSBtYWtpbmcgdGhlIGJhY2tsaWdodCBjb250cm9sCj4gaG9va3MgY29ubmVj dG9yIHNwZWNpZmljLgo+IAo+IFRoaXMgZW5hYmxlcyBmdXJ0aGVyIHdvcmsgdG8gcmV1c2UgZ2Vu ZXJpYyBiYWNrbGlnaHQgY29kZSBpbgo+IGludGVsX3BhbmVsLmMgd2hpbGUgYWRkaW5nIG1vcmUg c3BlY2lmaWMgYmFja2xpZ2h0IGNvZGUgYWNjZXNzZWQgdmlhIHRoZQo+IGhvb2tzLgo+IAo+IENj OiBEZWVwYWsgTSA8bS5kZWVwYWtAaW50ZWwuY29tPgo+IENjOiBZZXR1bmRlIEFkZWJpc2kgPHll dHVuZGV4LmFkZWJpc2lAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxq YW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggICAgICB8ICAgOSAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jIHwgICAyIC0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgIHwgICAy ICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAxMyArKystCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgICB8IDExNiArKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLQo+ICA1IGZpbGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMo KyksIDY4IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDE3 NGYzOWQwYmY0Ni4uODEzMDIzYjQzOGIyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4g QEAgLTY2NCwxNSArNjY0LDYgQEAgc3RydWN0IGRybV9pOTE1X2Rpc3BsYXlfZnVuY3Mgewo+ICAJ LyogcmVuZGVyIGNsb2NrIGluY3JlYXNlL2RlY3JlYXNlICovCj4gIAkvKiBkaXNwbGF5IGNsb2Nr IGluY3JlYXNlL2RlY3JlYXNlICovCj4gIAkvKiBwbGwgY2xvY2sgaW5jcmVhc2UvZGVjcmVhc2Ug Ki8KPiAtCj4gLQlpbnQgKCpzZXR1cF9iYWNrbGlnaHQpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3RvciwgZW51bSBwaXBlIHBpcGUpOwo+IC0JdWludDMyX3QgKCpnZXRfYmFja2xpZ2h0 KShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpOwo+IC0Jdm9pZCAoKnNldF9iYWNr bGlnaHQpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJICAgICAgdWlu dDMyX3QgbGV2ZWwpOwo+IC0Jdm9pZCAoKmRpc2FibGVfYmFja2xpZ2h0KShzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IpOwo+IC0Jdm9pZCAoKmVuYWJsZV9iYWNrbGlnaHQpKHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gLQl1aW50MzJfdCAoKmJhY2tsaWdodF9o el90b19wd20pKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJCQl1aW50 MzJfdCBoeik7Cj4gIH07Cj4gIAo+ICBlbnVtIGZvcmNld2FrZV9kb21haW5faWQgewo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCBmYzAwODY3NDhiNzEuLjE1ZGU0Y2Nj MzkwMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTQ1MjAs OCArMTQ1MjAsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9pbml0X2Rpc3BsYXkoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5xdWV1ZV9mbGlwID0gaW50ZWxfZGVm YXVsdF9xdWV1ZV9mbGlwOwo+ICAJfQo+ICAKPiAtCWludGVsX3BhbmVsX2luaXRfYmFja2xpZ2h0 X2Z1bmNzKGRldik7Cj4gLQo+ICAJbXV0ZXhfaW5pdCgmZGV2X3ByaXYtPnBwc19tdXRleCk7Cj4g IH0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggYTY4NzI1MDhhZGVjLi5mYTFh NTI0ODQ0ZDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtNTk5MCw3ICs1OTkw LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfZWRwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsCj4gIAl9Cj4gIAo+ICAJaW50ZWxfcGFuZWxfaW5pdCgmaW50ZWxfY29ubmVj dG9yLT5wYW5lbCwgZml4ZWRfbW9kZSwgZG93bmNsb2NrX21vZGUpOwo+IC0JaW50ZWxfY29ubmVj dG9yLT5wYW5lbC5iYWNrbGlnaHRfcG93ZXIgPSBpbnRlbF9lZHBfYmFja2xpZ2h0X3Bvd2VyOwo+ ICsJaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5iYWNrbGlnaHQucG93ZXIgPSBpbnRlbF9lZHBfYmFj a2xpZ2h0X3Bvd2VyOwo+ICAJaW50ZWxfcGFuZWxfc2V0dXBfYmFja2xpZ2h0KGNvbm5lY3Rvciwg cGlwZSk7Cj4gIAo+ICAJcmV0dXJuIHRydWU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBp bmRleCAwMmE3NTVhNTBhOTYuLjM1YTY1Y2ExMDViMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCj4gQEAgLTE4Miw5ICsxODIsMTcgQEAgc3RydWN0IGludGVsX3BhbmVsIHsKPiAgCQlz dHJ1Y3QgcHdtX2RldmljZSAqcHdtOwo+ICAKPiAgCQlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAq ZGV2aWNlOwo+IC0JfSBiYWNrbGlnaHQ7Cj4gIAo+IC0Jdm9pZCAoKmJhY2tsaWdodF9wb3dlciko c3RydWN0IGludGVsX2Nvbm5lY3RvciAqLCBib29sIGVuYWJsZSk7Cj4gKwkJLyogQ29ubmVjdG9y IGFuZCBwbGF0Zm9ybSBzcGVjaWZpYyBiYWNrbGlnaHQgZnVuY3Rpb25zICovCj4gKwkJaW50ICgq c2V0dXApKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHBpcGUp Owo+ICsJCXVpbnQzMl90ICgqZ2V0KShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Ip Owo+ICsJCXZvaWQgKCpzZXQpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdWlu dDMyX3QgbGV2ZWwpOwo+ICsJCXZvaWQgKCpkaXNhYmxlKShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICpjb25uZWN0b3IpOwo+ICsJCXZvaWQgKCplbmFibGUpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3Rvcik7Cj4gKwkJdWludDMyX3QgKCpoel90b19wd20pKHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPiArCQkJCSAgICAgIHVpbnQzMl90IGh6KTsKPiArCQl2b2lkICgq cG93ZXIpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKiwgYm9vbCBlbmFibGUpOwo+ICsJfSBiYWNr bGlnaHQ7CgpGb3IgdGhlIGludGVyZmFjZSwgY291bGQgd2UganVzdCBhZGQgYSBzdHJ1Y3QgYmFj a2xpZ2h0X2RldmljZSBpbnN0ZWFkPwpZZXMgdGhlcmUncyBubyB1c2VmdWwga2VybmVsLWludGVy bmFsIGludGVyZmFjZSBmb3IgdGhhdCwgYnV0IHdlIHByb2JhYmx5Cm5lZWQgdG8gZml4IHRoaXMg c29vbmVyIG9yIGxhdGVyIGFueXdheS4gQW5kIGl0IHdvdWxkIGZ1dHVyZS1wcm9vZiB0aGluZ3MK Y29uc2lkZXJhYmxlIEkgdGhpbmsuCi1EYW5pZWwKCj4gIH07Cj4gIAo+ICBzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yIHsKPiBAQCAtMTMyMiw3ICsxMzMwLDYgQEAgaW50IGludGVsX3BhbmVsX3NldHVw X2JhY2tsaWdodChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBlbnVtIHBpcGUgcGlw ZSkKPiAgdm9pZCBpbnRlbF9wYW5lbF9lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3Rvcik7Cj4gIHZvaWQgaW50ZWxfcGFuZWxfZGlzYWJsZV9iYWNrbGlnaHQo c3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAgdm9pZCBpbnRlbF9wYW5lbF9k ZXN0cm95X2JhY2tsaWdodChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAtdm9p ZCBpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KTsKPiAgZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBpbnRlbF9wYW5lbF9kZXRlY3Qoc3RydWN0 IGRybV9kZXZpY2UgKmRldik7Cj4gIGV4dGVybiBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqaW50 ZWxfZmluZF9wYW5lbF9kb3duY2xvY2soCj4gIAkJCQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+IGluZGV4IDIwMzQ0MzhhMDY2NC4uOWFkYjYy YjFiOTlmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4gQEAgLTU2Niw3ICs1 NjYsNyBAQCBzdGF0aWMgdTMyIGludGVsX3BhbmVsX2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmJhY2tsaWdo dF9sb2NrKTsKPiAgCj4gIAlpZiAocGFuZWwtPmJhY2tsaWdodC5lbmFibGVkKSB7Cj4gLQkJdmFs ID0gZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2JhY2tsaWdodChjb25uZWN0b3IpOwo+ICsJCXZhbCA9 IHBhbmVsLT5iYWNrbGlnaHQuZ2V0KGNvbm5lY3Rvcik7Cj4gIAkJdmFsID0gaW50ZWxfcGFuZWxf Y29tcHV0ZV9icmlnaHRuZXNzKGNvbm5lY3RvciwgdmFsKTsKPiAgCX0KPiAgCj4gQEAgLTY1NSwx MyArNjU1LDEyIEBAIHN0YXRpYyB2b2lkIHB3bV9zZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIGxldmVsKQo+ICBzdGF0aWMgdm9pZAo+ICBpbnRlbF9w YW5lbF9hY3R1YWxseV9zZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvciwgdTMyIGxldmVsKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVj dG9yLT5iYXNlLmRldjsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rv ci0+cGFuZWw7Cj4gIAo+ICAJRFJNX0RFQlVHX0RSSVZFUigic2V0IGJhY2tsaWdodCBQV00gPSAl ZFxuIiwgbGV2ZWwpOwo+ICAKPiAgCWxldmVsID0gaW50ZWxfcGFuZWxfY29tcHV0ZV9icmlnaHRu ZXNzKGNvbm5lY3RvciwgbGV2ZWwpOwo+IC0JZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2JhY2tsaWdo dChjb25uZWN0b3IsIGxldmVsKTsKPiArCXBhbmVsLT5iYWNrbGlnaHQuc2V0KGNvbm5lY3Rvciwg bGV2ZWwpOwo+ICB9Cj4gIAo+ICAvKiBzZXQgYmFja2xpZ2h0IGJyaWdodG5lc3MgdG8gbGV2ZWwg aW4gcmFuZ2UgWzAuLm1heF0sIHNjYWxpbmcgd3J0IGh3IG1pbiAqLwo+IEBAIC04MzYsNyArODM1 LDcgQEAgdm9pZCBpbnRlbF9wYW5lbF9kaXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yICpjb25uZWN0b3IpCj4gIAlpZiAocGFuZWwtPmJhY2tsaWdodC5kZXZpY2UpCj4gIAkJ cGFuZWwtPmJhY2tsaWdodC5kZXZpY2UtPnByb3BzLnBvd2VyID0gRkJfQkxBTktfUE9XRVJET1dO Owo+ICAJcGFuZWwtPmJhY2tsaWdodC5lbmFibGVkID0gZmFsc2U7Cj4gLQlkZXZfcHJpdi0+ZGlz cGxheS5kaXNhYmxlX2JhY2tsaWdodChjb25uZWN0b3IpOwo+ICsJcGFuZWwtPmJhY2tsaWdodC5k aXNhYmxlKGNvbm5lY3Rvcik7Cj4gIAo+ICAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+YmFja2xp Z2h0X2xvY2spOwo+ICB9Cj4gQEAgLTEwODUsNyArMTA4NCw3IEBAIHZvaWQgaW50ZWxfcGFuZWxf ZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAkJ CQkJCSBwYW5lbC0+YmFja2xpZ2h0LmRldmljZS0+cHJvcHMubWF4X2JyaWdodG5lc3MpOwo+ICAJ fQo+ICAKPiAtCWRldl9wcml2LT5kaXNwbGF5LmVuYWJsZV9iYWNrbGlnaHQoY29ubmVjdG9yKTsK PiArCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlKGNvbm5lY3Rvcik7Cj4gIAlwYW5lbC0+YmFja2xp Z2h0LmVuYWJsZWQgPSB0cnVlOwo+ICAJaWYgKHBhbmVsLT5iYWNrbGlnaHQuZGV2aWNlKQo+ICAJ CXBhbmVsLT5iYWNrbGlnaHQuZGV2aWNlLT5wcm9wcy5wb3dlciA9IEZCX0JMQU5LX1VOQkxBTks7 Cj4gQEAgLTExMTMsMTAgKzExMTIsMTAgQEAgc3RhdGljIGludCBpbnRlbF9iYWNrbGlnaHRfZGV2 aWNlX3VwZGF0ZV9zdGF0dXMoc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJkKQo+ICAJICogY2Fs bGJhY2sgbmVlZHMgdG8gdGFrZSB0aGlzIGludG8gYWNjb3VudC4KPiAgCSAqLwo+ICAJaWYgKHBh bmVsLT5iYWNrbGlnaHQuZW5hYmxlZCkgewo+IC0JCWlmIChwYW5lbC0+YmFja2xpZ2h0X3Bvd2Vy KSB7Cj4gKwkJaWYgKHBhbmVsLT5iYWNrbGlnaHQucG93ZXIpIHsKPiAgCQkJYm9vbCBlbmFibGUg PSBiZC0+cHJvcHMucG93ZXIgPT0gRkJfQkxBTktfVU5CTEFOSyAmJgo+ICAJCQkJYmQtPnByb3Bz LmJyaWdodG5lc3MgIT0gMDsKPiAtCQkJcGFuZWwtPmJhY2tsaWdodF9wb3dlcihjb25uZWN0b3Is IGVuYWJsZSk7Cj4gKwkJCXBhbmVsLT5iYWNrbGlnaHQucG93ZXIoY29ubmVjdG9yLCBlbmFibGUp Owo+ICAJCX0KPiAgCX0gZWxzZSB7Cj4gIAkJYmQtPnByb3BzLnBvd2VyID0gRkJfQkxBTktfUE9X RVJET1dOOwo+IEBAIC0xMzQxLDYgKzEzNDAsNyBAQCBzdGF0aWMgdTMyIGdldF9iYWNrbGlnaHRf bWF4X3ZidChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHsKPiAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2Owo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXN0cnVjdCBpbnRl bF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKPiAgCXUxNiBwd21fZnJlcV9oeiA9 IGRldl9wcml2LT52YnQuYmFja2xpZ2h0LnB3bV9mcmVxX2h6Owo+ICAJdTMyIHB3bTsKPiAgCj4g QEAgLTEzNDksMTIgKzEzNDksMTIgQEAgc3RhdGljIHUzMiBnZXRfYmFja2xpZ2h0X21heF92YnQo c3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJCXJldHVybiAwOwo+ICAJfQo+ ICAKPiAtCWlmICghZGV2X3ByaXYtPmRpc3BsYXkuYmFja2xpZ2h0X2h6X3RvX3B3bSkgewo+ICsJ aWYgKCFwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSkgewo+ICAJCURSTV9ERUJVR19LTVMoImJh Y2tsaWdodCBmcmVxdWVuY3kgc2V0dGluZyBmcm9tIFZCVCBjdXJyZW50bHkgbm90IHN1cHBvcnRl ZCBvbiB0aGlzIHBsYXRmb3JtXG4iKTsKPiAgCQlyZXR1cm4gMDsKPiAgCX0KPiAgCj4gLQlwd20g PSBkZXZfcHJpdi0+ZGlzcGxheS5iYWNrbGlnaHRfaHpfdG9fcHdtKGNvbm5lY3RvciwgcHdtX2Zy ZXFfaHopOwo+ICsJcHdtID0gcGFuZWwtPmJhY2tsaWdodC5oel90b19wd20oY29ubmVjdG9yLCBw d21fZnJlcV9oeik7Cj4gIAlpZiAoIXB3bSkgewo+ICAJCURSTV9ERUJVR19LTVMoImJhY2tsaWdo dCBmcmVxdWVuY3kgY29udmVyc2lvbiBmYWlsZWRcbiIpOwo+ICAJCXJldHVybiAwOwo+IEBAIC0x NjM5LDkgKzE2MzksMTMgQEAgaW50IGludGVsX3BhbmVsX3NldHVwX2JhY2tsaWdodChzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBlbnVtIHBpcGUgcGlwZSkKPiAgCQl9Cj4gIAl9Cj4g IAo+ICsJLyogZW5zdXJlIGludGVsX3BhbmVsIGhhcyBiZWVuIGluaXRpYWxpemVkIGZpcnN0ICov Cj4gKwlpZiAoV0FSTl9PTighcGFuZWwtPmJhY2tsaWdodC5zZXR1cCkpCj4gKwkJcmV0dXJuIC1F Tk9ERVY7Cj4gKwo+ICAJLyogc2V0IGxldmVsIGFuZCBtYXggaW4gcGFuZWwgc3RydWN0ICovCj4g IAltdXRleF9sb2NrKCZkZXZfcHJpdi0+YmFja2xpZ2h0X2xvY2spOwo+IC0JcmV0ID0gZGV2X3By aXYtPmRpc3BsYXkuc2V0dXBfYmFja2xpZ2h0KGludGVsX2Nvbm5lY3RvciwgcGlwZSk7Cj4gKwly ZXQgPSBwYW5lbC0+YmFja2xpZ2h0LnNldHVwKGludGVsX2Nvbm5lY3RvciwgcGlwZSk7Cj4gIAlt dXRleF91bmxvY2soJmRldl9wcml2LT5iYWNrbGlnaHRfbG9jayk7Cj4gIAo+ICAJaWYgKHJldCkg ewo+IEBAIC0xNjczLDYyICsxNjc3LDY2IEBAIHZvaWQgaW50ZWxfcGFuZWxfZGVzdHJveV9iYWNr bGlnaHQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgfQo+ICAKPiAgLyogU2V0 IHVwIGNoaXAgc3BlY2lmaWMgYmFja2xpZ2h0IGZ1bmN0aW9ucyAqLwo+IC12b2lkIGludGVsX3Bh bmVsX2luaXRfYmFja2xpZ2h0X2Z1bmNzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gK3N0YXRp YyB2b2lkCj4gK2ludGVsX3BhbmVsX2luaXRfYmFja2xpZ2h0X2Z1bmNzKHN0cnVjdCBpbnRlbF9w YW5lbCAqcGFuZWwpCj4gIHsKPiArCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5l Y3RvciA9Cj4gKwkJY29udGFpbmVyX29mKHBhbmVsLCBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yLCBw YW5lbCk7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfY29ubmVjdG9yLT5iYXNl LmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7Cj4gIAo+ICAJaWYgKElTX0JST1hUT04oZGV2KSkgewo+IC0JCWRldl9wcml2LT5kaXNw bGF5LnNldHVwX2JhY2tsaWdodCA9IGJ4dF9zZXR1cF9iYWNrbGlnaHQ7Cj4gLQkJZGV2X3ByaXYt PmRpc3BsYXkuZW5hYmxlX2JhY2tsaWdodCA9IGJ4dF9lbmFibGVfYmFja2xpZ2h0Owo+IC0JCWRl dl9wcml2LT5kaXNwbGF5LmRpc2FibGVfYmFja2xpZ2h0ID0gYnh0X2Rpc2FibGVfYmFja2xpZ2h0 Owo+IC0JCWRldl9wcml2LT5kaXNwbGF5LnNldF9iYWNrbGlnaHQgPSBieHRfc2V0X2JhY2tsaWdo dDsKPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfYmFja2xpZ2h0ID0gYnh0X2dldF9iYWNrbGln aHQ7Cj4gKwkJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IGJ4dF9zZXR1cF9iYWNrbGlnaHQ7Cj4g KwkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSBieHRfZW5hYmxlX2JhY2tsaWdodDsKPiArCQlw YW5lbC0+YmFja2xpZ2h0LmRpc2FibGUgPSBieHRfZGlzYWJsZV9iYWNrbGlnaHQ7Cj4gKwkJcGFu ZWwtPmJhY2tsaWdodC5zZXQgPSBieHRfc2V0X2JhY2tsaWdodDsKPiArCQlwYW5lbC0+YmFja2xp Z2h0LmdldCA9IGJ4dF9nZXRfYmFja2xpZ2h0Owo+ICAJfSBlbHNlIGlmIChIQVNfUENIX0xQVChk ZXYpIHx8IEhBU19QQ0hfU1BUKGRldikpIHsKPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5zZXR1cF9i YWNrbGlnaHQgPSBscHRfc2V0dXBfYmFja2xpZ2h0Owo+IC0JCWRldl9wcml2LT5kaXNwbGF5LmVu YWJsZV9iYWNrbGlnaHQgPSBscHRfZW5hYmxlX2JhY2tsaWdodDsKPiAtCQlkZXZfcHJpdi0+ZGlz cGxheS5kaXNhYmxlX2JhY2tsaWdodCA9IGxwdF9kaXNhYmxlX2JhY2tsaWdodDsKPiAtCQlkZXZf cHJpdi0+ZGlzcGxheS5zZXRfYmFja2xpZ2h0ID0gbHB0X3NldF9iYWNrbGlnaHQ7Cj4gLQkJZGV2 X3ByaXYtPmRpc3BsYXkuZ2V0X2JhY2tsaWdodCA9IGxwdF9nZXRfYmFja2xpZ2h0Owo+ICsJCXBh bmVsLT5iYWNrbGlnaHQuc2V0dXAgPSBscHRfc2V0dXBfYmFja2xpZ2h0Owo+ICsJCXBhbmVsLT5i YWNrbGlnaHQuZW5hYmxlID0gbHB0X2VuYWJsZV9iYWNrbGlnaHQ7Cj4gKwkJcGFuZWwtPmJhY2ts aWdodC5kaXNhYmxlID0gbHB0X2Rpc2FibGVfYmFja2xpZ2h0Owo+ICsJCXBhbmVsLT5iYWNrbGln aHQuc2V0ID0gbHB0X3NldF9iYWNrbGlnaHQ7Cj4gKwkJcGFuZWwtPmJhY2tsaWdodC5nZXQgPSBs cHRfZ2V0X2JhY2tsaWdodDsKPiAgCQlpZiAoSEFTX1BDSF9MUFQoZGV2KSkKPiAtCQkJZGV2X3By aXYtPmRpc3BsYXkuYmFja2xpZ2h0X2h6X3RvX3B3bSA9IGxwdF9oel90b19wd207Cj4gKwkJCXBh bmVsLT5iYWNrbGlnaHQuaHpfdG9fcHdtID0gbHB0X2h6X3RvX3B3bTsKPiAgCQllbHNlCj4gLQkJ CWRldl9wcml2LT5kaXNwbGF5LmJhY2tsaWdodF9oel90b19wd20gPSBzcHRfaHpfdG9fcHdtOwo+ ICsJCQlwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSA9IHNwdF9oel90b19wd207Cj4gIAl9IGVs c2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+IC0JCWRldl9wcml2LT5kaXNwbGF5LnNldHVw X2JhY2tsaWdodCA9IHBjaF9zZXR1cF9iYWNrbGlnaHQ7Cj4gLQkJZGV2X3ByaXYtPmRpc3BsYXku ZW5hYmxlX2JhY2tsaWdodCA9IHBjaF9lbmFibGVfYmFja2xpZ2h0Owo+IC0JCWRldl9wcml2LT5k aXNwbGF5LmRpc2FibGVfYmFja2xpZ2h0ID0gcGNoX2Rpc2FibGVfYmFja2xpZ2h0Owo+IC0JCWRl dl9wcml2LT5kaXNwbGF5LnNldF9iYWNrbGlnaHQgPSBwY2hfc2V0X2JhY2tsaWdodDsKPiAtCQlk ZXZfcHJpdi0+ZGlzcGxheS5nZXRfYmFja2xpZ2h0ID0gcGNoX2dldF9iYWNrbGlnaHQ7Cj4gLQkJ ZGV2X3ByaXYtPmRpc3BsYXkuYmFja2xpZ2h0X2h6X3RvX3B3bSA9IHBjaF9oel90b19wd207Cj4g KwkJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IHBjaF9zZXR1cF9iYWNrbGlnaHQ7Cj4gKwkJcGFu ZWwtPmJhY2tsaWdodC5lbmFibGUgPSBwY2hfZW5hYmxlX2JhY2tsaWdodDsKPiArCQlwYW5lbC0+ YmFja2xpZ2h0LmRpc2FibGUgPSBwY2hfZGlzYWJsZV9iYWNrbGlnaHQ7Cj4gKwkJcGFuZWwtPmJh Y2tsaWdodC5zZXQgPSBwY2hfc2V0X2JhY2tsaWdodDsKPiArCQlwYW5lbC0+YmFja2xpZ2h0Lmdl dCA9IHBjaF9nZXRfYmFja2xpZ2h0Owo+ICsJCXBhbmVsLT5iYWNrbGlnaHQuaHpfdG9fcHdtID0g cGNoX2h6X3RvX3B3bTsKPiAgCX0gZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXYpKSB7Cj4gIAkJ aWYgKGRldl9wcml2LT52YnQuaGFzX21pcGkpIHsKPiAtCQkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0 dXBfYmFja2xpZ2h0ID0gcHdtX3NldHVwX2JhY2tsaWdodDsKPiAtCQkJZGV2X3ByaXYtPmRpc3Bs YXkuZW5hYmxlX2JhY2tsaWdodCA9IHB3bV9lbmFibGVfYmFja2xpZ2h0Owo+IC0JCQlkZXZfcHJp di0+ZGlzcGxheS5kaXNhYmxlX2JhY2tsaWdodCA9IHB3bV9kaXNhYmxlX2JhY2tsaWdodDsKPiAt CQkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2JhY2tsaWdodCA9IHB3bV9zZXRfYmFja2xpZ2h0Owo+ IC0JCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfYmFja2xpZ2h0ID0gcHdtX2dldF9iYWNrbGlnaHQ7 Cj4gKwkJCXBhbmVsLT5iYWNrbGlnaHQuc2V0dXAgPSBwd21fc2V0dXBfYmFja2xpZ2h0Owo+ICsJ CQlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IHB3bV9lbmFibGVfYmFja2xpZ2h0Owo+ICsJCQlw YW5lbC0+YmFja2xpZ2h0LmRpc2FibGUgPSBwd21fZGlzYWJsZV9iYWNrbGlnaHQ7Cj4gKwkJCXBh bmVsLT5iYWNrbGlnaHQuc2V0ID0gcHdtX3NldF9iYWNrbGlnaHQ7Cj4gKwkJCXBhbmVsLT5iYWNr bGlnaHQuZ2V0ID0gcHdtX2dldF9iYWNrbGlnaHQ7Cj4gIAkJfSBlbHNlIHsKPiAtCQkJZGV2X3By aXYtPmRpc3BsYXkuc2V0dXBfYmFja2xpZ2h0ID0gdmx2X3NldHVwX2JhY2tsaWdodDsKPiAtCQkJ ZGV2X3ByaXYtPmRpc3BsYXkuZW5hYmxlX2JhY2tsaWdodCA9IHZsdl9lbmFibGVfYmFja2xpZ2h0 Owo+IC0JCQlkZXZfcHJpdi0+ZGlzcGxheS5kaXNhYmxlX2JhY2tsaWdodCA9IHZsdl9kaXNhYmxl X2JhY2tsaWdodDsKPiAtCQkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2JhY2tsaWdodCA9IHZsdl9z ZXRfYmFja2xpZ2h0Owo+IC0JCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfYmFja2xpZ2h0ID0gdmx2 X2dldF9iYWNrbGlnaHQ7Cj4gLQkJCWRldl9wcml2LT5kaXNwbGF5LmJhY2tsaWdodF9oel90b19w d20gPSB2bHZfaHpfdG9fcHdtOwo+ICsJCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gdmx2X3Nl dHVwX2JhY2tsaWdodDsKPiArCQkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSB2bHZfZW5hYmxl X2JhY2tsaWdodDsKPiArCQkJcGFuZWwtPmJhY2tsaWdodC5kaXNhYmxlID0gdmx2X2Rpc2FibGVf YmFja2xpZ2h0Owo+ICsJCQlwYW5lbC0+YmFja2xpZ2h0LnNldCA9IHZsdl9zZXRfYmFja2xpZ2h0 Owo+ICsJCQlwYW5lbC0+YmFja2xpZ2h0LmdldCA9IHZsdl9nZXRfYmFja2xpZ2h0Owo+ICsJCQlw YW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSA9IHZsdl9oel90b19wd207Cj4gIAkJfQo+ICAJfSBl bHNlIGlmIChJU19HRU40KGRldikpIHsKPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5zZXR1cF9iYWNr bGlnaHQgPSBpOTY1X3NldHVwX2JhY2tsaWdodDsKPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5lbmFi bGVfYmFja2xpZ2h0ID0gaTk2NV9lbmFibGVfYmFja2xpZ2h0Owo+IC0JCWRldl9wcml2LT5kaXNw bGF5LmRpc2FibGVfYmFja2xpZ2h0ID0gaTk2NV9kaXNhYmxlX2JhY2tsaWdodDsKPiAtCQlkZXZf cHJpdi0+ZGlzcGxheS5zZXRfYmFja2xpZ2h0ID0gaTl4eF9zZXRfYmFja2xpZ2h0Owo+IC0JCWRl dl9wcml2LT5kaXNwbGF5LmdldF9iYWNrbGlnaHQgPSBpOXh4X2dldF9iYWNrbGlnaHQ7Cj4gLQkJ ZGV2X3ByaXYtPmRpc3BsYXkuYmFja2xpZ2h0X2h6X3RvX3B3bSA9IGk5NjVfaHpfdG9fcHdtOwo+ ICsJCXBhbmVsLT5iYWNrbGlnaHQuc2V0dXAgPSBpOTY1X3NldHVwX2JhY2tsaWdodDsKPiArCQlw YW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IGk5NjVfZW5hYmxlX2JhY2tsaWdodDsKPiArCQlwYW5l bC0+YmFja2xpZ2h0LmRpc2FibGUgPSBpOTY1X2Rpc2FibGVfYmFja2xpZ2h0Owo+ICsJCXBhbmVs LT5iYWNrbGlnaHQuc2V0ID0gaTl4eF9zZXRfYmFja2xpZ2h0Owo+ICsJCXBhbmVsLT5iYWNrbGln aHQuZ2V0ID0gaTl4eF9nZXRfYmFja2xpZ2h0Owo+ICsJCXBhbmVsLT5iYWNrbGlnaHQuaHpfdG9f cHdtID0gaTk2NV9oel90b19wd207Cj4gIAl9IGVsc2Ugewo+IC0JCWRldl9wcml2LT5kaXNwbGF5 LnNldHVwX2JhY2tsaWdodCA9IGk5eHhfc2V0dXBfYmFja2xpZ2h0Owo+IC0JCWRldl9wcml2LT5k aXNwbGF5LmVuYWJsZV9iYWNrbGlnaHQgPSBpOXh4X2VuYWJsZV9iYWNrbGlnaHQ7Cj4gLQkJZGV2 X3ByaXYtPmRpc3BsYXkuZGlzYWJsZV9iYWNrbGlnaHQgPSBpOXh4X2Rpc2FibGVfYmFja2xpZ2h0 Owo+IC0JCWRldl9wcml2LT5kaXNwbGF5LnNldF9iYWNrbGlnaHQgPSBpOXh4X3NldF9iYWNrbGln aHQ7Cj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2JhY2tsaWdodCA9IGk5eHhfZ2V0X2JhY2ts aWdodDsKPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5iYWNrbGlnaHRfaHpfdG9fcHdtID0gaTl4eF9o el90b19wd207Cj4gKwkJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IGk5eHhfc2V0dXBfYmFja2xp Z2h0Owo+ICsJCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0gaTl4eF9lbmFibGVfYmFja2xpZ2h0 Owo+ICsJCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IGk5eHhfZGlzYWJsZV9iYWNrbGlnaHQ7 Cj4gKwkJcGFuZWwtPmJhY2tsaWdodC5zZXQgPSBpOXh4X3NldF9iYWNrbGlnaHQ7Cj4gKwkJcGFu ZWwtPmJhY2tsaWdodC5nZXQgPSBpOXh4X2dldF9iYWNrbGlnaHQ7Cj4gKwkJcGFuZWwtPmJhY2ts aWdodC5oel90b19wd20gPSBpOXh4X2h6X3RvX3B3bTsKPiAgCX0KPiAgfQo+ICAKPiBAQCAtMTcz Niw2ICsxNzQ0LDggQEAgaW50IGludGVsX3BhbmVsX2luaXQoc3RydWN0IGludGVsX3BhbmVsICpw YW5lbCwKPiAgCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpmaXhlZF9tb2RlLAo+ICAJ CSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmRvd25jbG9ja19tb2RlKQo+ICB7Cj4gKwlp bnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9mdW5jcyhwYW5lbCk7Cj4gKwo+ICAJcGFuZWwtPmZp eGVkX21vZGUgPSBmaXhlZF9tb2RlOwo+ICAJcGFuZWwtPmRvd25jbG9ja19tb2RlID0gZG93bmNs b2NrX21vZGU7Cj4gIAo+IC0tIAo+IDIuMS40Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVu Z2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=