From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marta Lofstedt Subject: [PATCH 4/6] drm: link connectors to backlight devices Date: Mon, 24 Oct 2016 16:08:51 +0300 Message-ID: <20161024130853.13124-5-marta.lofstedt@intel.com> References: <1410364463-12692-1-git-send-email-dh.herrmann@gmail.com> <20161024130853.13124-1-marta.lofstedt@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3D12C6E424 for ; Mon, 24 Oct 2016 13:06:12 +0000 (UTC) In-Reply-To: <20161024130853.13124-1-marta.lofstedt@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2aWQgSGVycm1hbm4gPGRoLmhlcnJtYW5uIGF0IGdtYWlsLmNvbT4KCkJhY2tsaWdo dCBkZXZpY2VzIGhhdmUgYWx3YXlzIGJlZW4gbWFuYWdlZCBpbmRlcGVuZGVudGx5IG9mIGRpc3Bs YXkKY29udHJvbGxlcnMuIFRoZXkncmUgb2Z0ZW4gY29udHJvbGxlZCB2aWEgZGlmZmVyZW50IGhh cmR3YXJlIGludGVyZmFjZXMKYW5kIHRoZWlyIHJlbGF0aW9uc2hpcCB0byBkaXNwbGF5LWNvbnRy b2xsZXJzIHZhcmllcyB2YXN0bHkgYmV0d2VlbgpkaWZmZXJlbnQgYm9hcmRzLiBIb3dldmVyLCBk aXNwbGF5IGJyaWdodG5lc3MgaXMgb2J2aW91c2x5IGEgcHJvcGVydHkgb2YKYSBkaXNwbGF5LCBh bmQgdGh1cyBvZiBhIERSTSBjb25uZWN0b3IuIFRoZXJlZm9yZSwgaXQnZCBiZSByZWFsbHkKYXBw cmVjaWF0ZWQgaWYgdXNlci1zcGFjZSBBUElzIHdvdWxkIGhpZ2hsaWdodCB0aGlzIHJlbGF0aW9u c2hpcC4KClRoZSBtYWluIHJ1bnRpbWUgdXNlcnMgb2YgYmFja2xpZ2h0IGludGVyZmFjZXMgYXJl IHVzZXItc3BhY2UgY29tcG9zaXRvcnMuCkJ1dCBjdXJyZW50bHkgdGhleSBoYXZlIHRvIGp1bXAg dGhyb3VnaCBob29wcyB0byBmaW5kIHRoZSBjb3JyZWN0CmJhY2tsaWdodCBkZXZpY2UgZm9yIGEg Z2l2ZW4gY29ubmVjdG9yLiBGdXJ0aGVybW9yZSwgdGhleSBuZWVkIHJvb3QKcHJpdmlsZWdlcyB0 byB3cml0ZSB0byBzeXNmcy4gc3lzZnMgaGFzIG5ldmVyIGJlZW4gZGVzaWduZWQgYXMgcnVuLXRp bWUKbm9uLXJvb3QgQVBJLiBJdCBkb2VzIG5vdCBwcm92aWRlIGZpbGUtY29udGV4dHMsIHJ1bi10 aW1lIG1hbmFnZW1lbnQgb3IKYW55IGtpbmQgb2YgQVBJIGNvbnRyb2wuIFRoZXJlIGlzIG5vIHdh eSB0byBjb250cm9sIGFjY2VzcyB0byBzeXNmcyB2aWEKZGlmZmVyZW50IGxpbmtzIChpbiB0aGF0 IGNhc2U6IG1vdW50cykuIENoYXItZGV2cyBwcm92aWRlIGFsbCB0aGlzIQoKU28gZmFyLCBiYWNr bGlnaHQgQVBJcyBoYXZlIGJlZW4gZmFpcmx5IHRyaXZpYWwsIHNvIGFkZGluZyBjaGFyLWRldnMg dG8KYmFja2xpZ2h0cyBpcyByYXRoZXIgaGVhdnktd2VpZ2h0LiBUaGVyZWZvcmUsIHRoaXMgcGF0 Y2ggaW50cm9kdWNlcyBhIG5ldwpBUEkgaW50ZXJmYWNlIHRvIG1vZGlmeSBiYWNrbGlnaHQgYnJp Z2h0bmVzcyB2aWEgRFJNOiBBICJCUklHSFRORVNTIgpwcm9wZXJ0eSBvbiBEUk0gY29ubmVjdG9y cy4KCkluc3RlYWQgb2YgYWRkaW5nIGJhY2tsaWdodCBoYXJkd2FyZSBzdXBwb3J0IHRvIERSTSwg d2UgcmVseSBvbiB0aGUKYmFja2xpZ2h0LWNsYXNzIGFuZCBzaW1wbHkgYWRkIGEgbmV3IEFQSS4g RWFjaCBEUk0gQ29ubmVjdG9yIGNhbgpvcHRpb25hbGx5IGJlIGxpbmtlZCB0byBhIGJhY2tsaWdo dCBjbGFzcyBkZXZpY2UuIE1vZGlmeWluZyB0aGUgY29ubmVjdG9yCnByb3BlcnR5IHdpbGwgaGF2 ZSB0aGUgc2FtZSBlZmZlY3QgYXMgd3JpdGluZyBpbnRvIHRoZSAiYnJpZ2h0bmVzcyIgc3lzZnMK ZmlsZSBvZiB0aGUgbGlua2VkIGJhY2tsaWdodCBjbGFzcyBkZXZpY2UuIEhvd2V2ZXIsIHdlIG5v dyBjYW4gbWFuYWdlCmFjY2VzcyB0byBiYWNrbGlnaHQgZGV2aWNlcyB2aWEgdGhlIHNhbWUgaW50 ZXJmYWNlIGFzIGFjY2VzcyB0bwptb2RlLXNldHRpbmcgb24gdGhlIHVuZGVybHlpbmcgZGlzcGxh eS4gRnVydGhlcm1vcmUsIHRoZSBjb25uZWN0aW9uCmJldHdlZW4gZGlzcGxheXMgYW5kIHRoZWly IGJhY2tsaWdodCBkZXZpY2VzIGFyZSB2aXNpYmxlIGluIHVzZXItc3BhY2UuCgpPYnZpb3VzbHks IG1hdGNoaW5nIGJhY2tsaWdodHMgdG8gZGlzcGxheXMgY2Fubm90IGJlIHNvbHZlZCBtYWdpY2Fs bHkKd2l0aCB0aGlzIGxpbmsuIFRoZXJlZm9yZSwgd2UgYWxzbyBhZGQgYSB1c2VyLXNwYWNlIGF0 dHJpYnV0ZSB0byBEUk0KY29ubmVjdG9ycyBjYWxsZWQgJ2JhY2tsaWdodCcuIElmIGEgRFJNIGRy aXZlciBpcyBpbmNhcGFibGUgb2YgbWF0Y2hpbmcKZXhpc3RpbmcgYmFja2xpZ2h0cyB0byBhIGNv bm5lY3Rvciwgb3IgaWYgYSBnaXZlbiBib2FyZCBoYXMganVzdCBjcmFwcHkKYmFja2xpZ2h0IGRy aXZlcnMsIHVkZXYgY2FuIHdyaXRlIHRoZSBuYW1lIG9mIGEgYmFja2xpZ2h0LWRldmljZSBpbnRv IHRoaXMKYXR0cmlidXRlIGFuZCB0aGUgY29ubmVjdG9yLXByb3BlcnR5IHdpbGwgYmUgcmUtbGlu a2VkIHRvIHRoaXMgYmFja2xpZ2h0CmRldmljZS4gVGhlIHVkZXYgaHdkYiBjYW4gYmUgZWFzaWx5 IGVtcGxveWVkIHRvIHRyYWNrIHN1Y2ggcXVpcmtzIGFuZApmaXh1cHMgZm9yIGRpZmZlcmVudCBi b2FyZCtHUFUgY29tYmluYXRpb25zLgpOb3RlIHRoYXQgdGhlIG5hbWUgd3JpdHRlbiBpbnRvIHRo ZSAnYmFja2xpZ2h0JyBhdHRyaWJ1dGUgaXMgc2F2ZWQgb24gdGhlCmNvbm5lY3Rvciwgc28gaW4g Y2FzZSB0aGUgcmVhbCBiYWNrbGlnaHQgZGV2aWNlIGlzIHByb2JlZCBhZnRlciB0aGUgRFJNCmNh cmQsIHRoZSBiYWNrbGlnaHQgd2lsbCBzdGlsbCBnZXQgcHJvcGVybHkgYXR0YWNoZWQgb25jZSBw cm9iZWQuCgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBIZXJybWFubiA8ZGguaGVycm1hbm4gYXQgZ21h aWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9LY29uZmlnICAgICAgICAgICAgIHwgICAxICsK IGRyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSAgICAgICAgICAgIHwgICAyICstCiBkcml2ZXJzL2dw dS9kcm0vZHJtX2JhY2tsaWdodC5jICAgICB8IDM4NyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICAgIHwgIDExICsK IGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jICAgICAgICAgIHwgICA2ICsKIGRyaXZlcnMvZ3B1 L2RybS9kcm1fZHJ2LmMgICAgICAgICAgIHwgICA4ICsKIGRyaXZlcnMvZ3B1L2RybS9kcm1fc3lz ZnMuYyAgICAgICAgIHwgIDU0ICsrKysrCiBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9iYWNrbGln aHQuYyB8ICAgMyArCiBpbmNsdWRlL2RybS9kcm1fYmFja2xpZ2h0LmggICAgICAgICB8ICA0NCAr KysrCiBpbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggICAgICAgICB8ICAgMyArCiBpbmNsdWRl L2RybS9kcm1fY3J0Yy5oICAgICAgICAgICAgICB8ICAgNSArCiBpbmNsdWRlL2xpbnV4L2JhY2ts aWdodC5oICAgICAgICAgICB8ICAgMSArCiAxMiBmaWxlcyBjaGFuZ2VkLCA1MjQgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9k cm1fYmFja2xpZ2h0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2RybS9kcm1fYmFja2xp Z2h0LmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vS2NvbmZpZyBiL2RyaXZlcnMvZ3B1 L2RybS9LY29uZmlnCmluZGV4IDQ4MzA1OWEuLjFjZTZhMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9LY29uZmlnCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCkBAIC0xMiw2ICsx Miw3IEBAIG1lbnVjb25maWcgRFJNCiAJc2VsZWN0IEkyQwogCXNlbGVjdCBJMkNfQUxHT0JJVAog CXNlbGVjdCBETUFfU0hBUkVEX0JVRkZFUgorCXNlbGVjdCBCQUNLTElHSFRfQ0xBU1NfREVWSUNF CiAJaGVscAogCSAgS2VybmVsLWxldmVsIHN1cHBvcnQgZm9yIHRoZSBEaXJlY3QgUmVuZGVyaW5n IEluZnJhc3RydWN0dXJlIChEUkkpCiAJICBpbnRyb2R1Y2VkIGluIFhGcmVlODYgNC4wLiBJZiB5 b3Ugc2F5IFkgaGVyZSwgeW91IG5lZWQgdG8gc2VsZWN0CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUKaW5kZXggNzQ1NzlkMi4u ZjAxNjg0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9NYWtlZmlsZQpAQCAtMTUsNyArMTUsNyBAQCBkcm0teSAgICAgICA6PQlkcm1f YXV0aC5vIGRybV9idWZzLm8gZHJtX2NhY2hlLm8gXAogCQlkcm1fbW9kZXNldF9sb2NrLm8gZHJt X2F0b21pYy5vIGRybV9icmlkZ2UubyBcCiAJCWRybV9mcmFtZWJ1ZmZlci5vIGRybV9jb25uZWN0 b3IubyBkcm1fYmxlbmQubyBcCiAJCWRybV9lbmNvZGVyLm8gZHJtX21vZGVfb2JqZWN0Lm8gZHJt X3Byb3BlcnR5Lm8gXAotCQlkcm1fcGxhbmUubyBkcm1fY29sb3JfbWdtdC5vCisJCWRybV9wbGFu ZS5vIGRybV9jb2xvcl9tZ210Lm8gZHJtX2JhY2tsaWdodC5vCiAKIGRybS0kKENPTkZJR19DT01Q QVQpICs9IGRybV9pb2MzMi5vCiBkcm0tJChDT05GSUdfRFJNX0dFTV9DTUFfSEVMUEVSKSArPSBk cm1fZ2VtX2NtYV9oZWxwZXIubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9iYWNr bGlnaHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYmFja2xpZ2h0LmMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uOTJkMjMxYQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fYmFja2xpZ2h0LmMKQEAgLTAsMCArMSwzODcgQEAKKy8qCisgKiBEUk0gQmFj a2xpZ2h0IEhlbHBlcnMKKyAqIENvcHlyaWdodCAoYykgMjAxNCBEYXZpZCBIZXJybWFubgorICov CisKKyNpbmNsdWRlIDxsaW51eC9iYWNrbGlnaHQuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgor I2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9tYXRoNjQuaD4KKyNpbmNs dWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUg PGxpbnV4L25vdGlmaWVyLmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxp bnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8ZHJtL2RybVAuaD4KKyNpbmNsdWRlIDxkcm0vZHJt X2JhY2tsaWdodC5oPgorCisvKioKKyAqIERPQzogQmFja2xpZ2h0IERldmljZXMKKyAqCisgKiBC YWNrbGlnaHQgZGV2aWNlcyBoYXZlIGFsd2F5cyBiZWVuIG1hbmFnZWQgYXMgYSBzZXBhcmF0ZSBz dWJzeXN0ZW0sCisgKiBpbmRlcGVuZGVudCBvZiBEUk0uIFRoZXkgYXJlIHVzdWFsbHkgY29udHJv bGxlZCB2aWEgc2VwYXJhdGUgaGFyZHdhcmUKKyAqIGludGVyZmFjZXMgdGhhbiB0aGUgZGlzcGxh eSBjb250cm9sbGVyLCBzbyB0aGUgc3BsaXQgd29ya3Mgb3V0IGZpbmUuCisgKiBIb3dldmVyLCBi YWNrbGlnaHQgYnJpZ2h0bmVzcyBpcyBhIHByb3BlcnR5IG9mIGEgZGlzcGxheSwgYW5kIHRodXMg YQorICogcHJvcGVydHkgb2YgYSBEUk0gY29ubmVjdG9yLiBXZSBhbHJlYWR5IG1hbmFnZSBEUE1T IHN0YXRlcyB2aWEgY29ubmVjdG9yCisgKiBwcm9wZXJ0aWVzLCBzbyBpdCBpcyBuYXR1cmFsIHRv IGtlZXAgYnJpZ2h0bmVzcyBjb250cm9sIGF0IHRoZSBzYW1lIHBsYWNlLgorICoKKyAqIFRoaXMg RFJNIGJhY2tsaWdodCBpbnRlcmZhY2UgaW1wbGVtZW50cyBnZW5lcmljIGJhY2tsaWdodCBwcm9w ZXJ0aWVzIG9uCisgKiBjb25uZWN0b3JzLiBJdCBkb2VzIG5vdCBoYW5kbGUgYW55IGhhcmR3YXJl IGJhY2tlbmRzIGJ1dCBzaW1wbHkgZm9yd2FyZHMKKyAqIHRoZSByZXF1ZXN0cyB0byBhbiBhdmFp bGFibGUgYW5kIGxpbmtlZCBiYWNrbGlnaHQgZGV2aWNlLiBUaGUgbGlua3MgYmV0d2VlbgorICog Y29ubmVjdG9ycyBhbmQgYmFja2xpZ2h0IGRldmljZXMgaGF2ZSB0byBiZSBlc3RhYmxpc2hlZCBi eSBEUk0gZHJpdmVycyBhbmQKKyAqIGNhbiBiZSBtb2RpZmllZCBieSB1c2VyLXNwYWNlIHZpYSBz eXNmcyAoYW5kIHVkZXYgcnVsZXMpLiBUaGUgbmFtZSBvZiB0aGUKKyAqIGJhY2tsaWdodCBkZXZp Y2UgY2FuIGJlIHdyaXR0ZW4gdG8gYSBzeXNmcyBhdHRyaWJ1dGUgY2FsbGVkICdiYWNrbGlnaHQn LgorICogVGhlIGRldmljZSBpcyBsb29rZWQgdXAgYW5kIGxpbmtlZCB0byB0aGUgY29ubmVjdG9y IChyZXBsYWNpbmcgYSBwb3NzaWJsZQorICogcHJldmlvdXMgYmFja2xpZ2h0IGRldmljZSkuIEEg J2NoYW5nZScgdWV2ZW50IGlzIHNlbnQgd2hlbmV2ZXIgYSBsaW5rIGlzCisgKiBtb2RpZmllZC4K KyAqCisgKiBEcml2ZXJzIGhhdmUgdG8gY2FsbCBkcm1fYmFja2xpZ2h0X2FsbG9jKCkgYWZ0ZXIg YWxsb2NhdGluZyBhIGNvbm5lY3RvciB2aWEKKyAqIGRybV9jb25uZWN0b3JfaW5pdCgpLiBUaGlz IHdpbGwgYXV0b21hdGljYWxseSBhZGQgYSBiYWNrbGlnaHQgZGV2aWNlIHRvIHRoZQorICogZ2l2 ZW4gY29ubmVjdG9yLiBObyBoYXJkd2FyZSBkZXZpY2UgaXMgbGlua2VkIHRvIHRoZSBjb25uZWN0 b3IgYnkgZGVmYXVsdC4KKyAqIERyaXZlcnMgY2FuIHNldCB1cCBhIGRlZmF1bHQgZGV2aWNlIHZp YSBkcm1fYmFja2xpZ2h0X3NldF9uYW1lKCksIGJ1dCBhcmUKKyAqIGZyZWUgdG8gbGVhdmUgaXQg ZW1wdHkuIFVzZXItc3BhY2Ugd2lsbCB0aGVuIGhhdmUgdG8gc2V0IHVwIHRoZSBsaW5rLgorICov CisKK3N0cnVjdCBkcm1fYmFja2xpZ2h0IHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKKwljaGFyICpsaW5rX25hbWU7CisJc3RydWN0 IGJhY2tsaWdodF9kZXZpY2UgKmxpbms7CisJc3RydWN0IHdvcmtfc3RydWN0IHdvcms7CisJdW5z aWduZWQgaW50IHNldF92YWx1ZTsKKwlib29sIGNoYW5nZWQgOiAxOworfTsKKworc3RhdGljIExJ U1RfSEVBRChkcm1fYmFja2xpZ2h0X2xpc3QpOworc3RhdGljIERFRklORV9TUElOTE9DSyhkcm1f YmFja2xpZ2h0X2xvY2spOworCisvKiBjYWxsZXIgbXVzdCBob2xkIEBkcm1fYmFja2xpZ2h0X2xv Y2sgKi8KK3N0YXRpYyBib29sIF9fZHJtX2JhY2tsaWdodF9pc19yZWdpc3RlcmVkKHN0cnVjdCBk cm1fYmFja2xpZ2h0ICpiKQoreworCS8qIGEgZGV2aWNlIGlzIGxpdmUgaWYgaXQgaXMgbGlua2Vk IHRvIEBkcm1fYmFja2xpZ2h0X2xpc3QgKi8KKwlyZXR1cm4gIWxpc3RfZW1wdHkoJmItPmxpc3Qp OworfQorCisvKiBjYWxsZXIgbXVzdCBob2xkIEBkcm1fYmFja2xpZ2h0X2xvY2sgKi8KK3N0YXRp YyB2b2lkIF9fZHJtX2JhY2tsaWdodF9zY2hlZHVsZShzdHJ1Y3QgZHJtX2JhY2tsaWdodCAqYikK K3sKKwlpZiAoX19kcm1fYmFja2xpZ2h0X2lzX3JlZ2lzdGVyZWQoYikpCisJCXNjaGVkdWxlX3dv cmsoJmItPndvcmspOworfQorCitzdGF0aWMgdm9pZCBfX2RybV9iYWNrbGlnaHRfd29ya2VyKHN0 cnVjdCB3b3JrX3N0cnVjdCAqdykKK3sKKwlzdHJ1Y3QgZHJtX2JhY2tsaWdodCAqYiA9IGNvbnRh aW5lcl9vZih3LCBzdHJ1Y3QgZHJtX2JhY2tsaWdodCwgd29yayk7CisJc3RhdGljIGNoYXIgKmVw W10gPSB7ICJCQUNLTElHSFQ9MSIsIE5VTEwgfTsKKwlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAq YmQ7CisJYm9vbCBzZW5kX3VldmVudDsKKwl1bnNpZ25lZCBpbnQgdjsKKworCXNwaW5fbG9jaygm ZHJtX2JhY2tsaWdodF9sb2NrKTsKKwlzZW5kX3VldmVudCA9IGItPmNoYW5nZWQ7CisJYi0+Y2hh bmdlZCA9IGZhbHNlOworCXYgPSBiLT5zZXRfdmFsdWU7CisJYmQgPSBiLT5saW5rOworCWJhY2ts aWdodF9kZXZpY2VfcmVmKGJkKTsKKwlzcGluX3VubG9jaygmZHJtX2JhY2tsaWdodF9sb2NrKTsK KworCWlmIChiZCkgeworCQliYWNrbGlnaHRfc2V0X2JyaWdodG5lc3MoYmQsIHYsIEJBQ0tMSUdI VF9VUERBVEVfRFJNKTsKKwkJYmFja2xpZ2h0X2RldmljZV91bnJlZihiZCk7CisJfQorCisJaWYg KHNlbmRfdWV2ZW50KQorCQlrb2JqZWN0X3VldmVudF9lbnYoJmItPmNvbm5lY3Rvci0+a2Rldi0+ a29iaiwgS09CSl9DSEFOR0UsIGVwKTsKK30KKworLyogY2FsbGVyIG11c3QgaG9sZCBAZHJtX2Jh Y2tsaWdodF9sb2NrICovCitzdGF0aWMgdm9pZCBfX2RybV9iYWNrbGlnaHRfcHJvcF9jaGFuZ2Vk KHN0cnVjdCBkcm1fYmFja2xpZ2h0ICpiLCB1aW50NjRfdCB2KQoreworCXVpbnQ2NF90IG1heDsK KworCWlmICghYi0+bGluaykKKwkJcmV0dXJuOworCisJbWF4ID0gYi0+bGluay0+cHJvcHMubWF4 X2JyaWdodG5lc3M7CisJaWYgKHYgPj0gVTE2X01BWCkKKwkJYi0+c2V0X3ZhbHVlID0gbWF4Owor CWVsc2UKKwkJYi0+c2V0X3ZhbHVlID0gKHYgKiBtYXgpID4+IDE2OworCV9fZHJtX2JhY2tsaWdo dF9zY2hlZHVsZShiKTsKK30KKworLyogY2FsbGVyIG11c3QgaG9sZCBAZHJtX2JhY2tsaWdodF9s b2NrICovCitzdGF0aWMgdm9pZCBfX2RybV9iYWNrbGlnaHRfcmVhbF9jaGFuZ2VkKHN0cnVjdCBk cm1fYmFja2xpZ2h0ICpiLCB1aW50NjRfdCB2KQoreworCXN0cnVjdCBkcm1fbW9kZV9jb25maWcg KmNvbmZpZyA9ICZiLT5jb25uZWN0b3ItPmRldi0+bW9kZV9jb25maWc7CisJdW5zaWduZWQgaW50 IG1heCwgc2V0OworCisJaWYgKCFiLT5saW5rKQorCQlyZXR1cm47CisKKwlzZXQgPSB2OworCW1h eCA9IGItPmxpbmstPnByb3BzLm1heF9icmlnaHRuZXNzOworCWlmIChtYXggPCAxKQorCQlyZXR1 cm47CisKKwlpZiAoc2V0ID49IG1heCkKKwkJc2V0ID0gVTE2X01BWDsKKwllbHNlIGlmIChtYXgg PD0gVTE2X01BWCkKKwkJc2V0ID0gKHNldCA8PCAxNikgLyBtYXg7CisJZWxzZQorCQlzZXQgPSBk aXZfdTY0KHYgPDwgMTYsIG1heCk7CisKKwlkcm1fb2JqZWN0X3Byb3BlcnR5X3NldF92YWx1ZSgm Yi0+Y29ubmVjdG9yLT5iYXNlLAorCQkJCSAgICAgIGNvbmZpZy0+YnJpZ2h0bmVzc19wcm9wZXJ0 eSwgdik7Cit9CisKKy8qIGNhbGxlciBtdXN0IGhvbGQgQGRybV9iYWNrbGlnaHRfbG9jayAqLwor c3RhdGljIHZvaWQgX19kcm1fYmFja2xpZ2h0X2xpbmsoc3RydWN0IGRybV9iYWNrbGlnaHQgKmIs CisJCQkJIHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpiZCkKK3sKKwlpZiAoYmQgIT0gYi0+bGlu aykgeworCQliYWNrbGlnaHRfZGV2aWNlX3VucmVmKGItPmxpbmspOworCQliLT5saW5rID0gYmQ7 CisJCWJhY2tsaWdodF9kZXZpY2VfcmVmKGItPmxpbmspOworCQlpZiAoYmQpCisJCQlfX2RybV9i YWNrbGlnaHRfcmVhbF9jaGFuZ2VkKGIsIGJkLT5wcm9wcy5icmlnaHRuZXNzKTsKKwkJYi0+Y2hh bmdlZCA9IHRydWU7CisJCV9fZHJtX2JhY2tsaWdodF9zY2hlZHVsZShiKTsKKwl9Cit9CisKKy8q IGNhbGxlciBtdXN0IGhvbGQgQGRybV9iYWNrbGlnaHRfbG9jayAqLworc3RhdGljIHZvaWQgX19k cm1fYmFja2xpZ2h0X2xvb2t1cChzdHJ1Y3QgZHJtX2JhY2tsaWdodCAqYikKK3sKKwlzdHJ1Y3Qg YmFja2xpZ2h0X2RldmljZSAqYmQ7CisKKwlpZiAoYi0+bGlua19uYW1lKQorCQliZCA9IGJhY2ts aWdodF9kZXZpY2VfbG9va3VwKGItPmxpbmtfbmFtZSk7CisJZWxzZQorCQliZCA9IE5VTEw7CisK KwlfX2RybV9iYWNrbGlnaHRfbGluayhiLCBiZCk7CisJYmFja2xpZ2h0X2RldmljZV91bnJlZihi ZCk7Cit9CisKKy8qKgorICogZHJtX2JhY2tsaWdodF9hbGxvYyAtIGFkZCBiYWNrbGlnaHQgY2Fw YWJpbGl0eSB0byBhIGNvbm5lY3RvcgorICogQGNvbm5lY3RvcjogY29ubmVjdG9yIHRvIGFkZCBi YWNrbGlnaHQgdG8KKyAqCisgKiBUaGlzIGFsbG9jYXRlcyBhIG5ldyBEUk0tYmFja2xpZ2h0IGRl dmljZSBhbmQgbGlua3MgaXQgdG8gQGNvbm5lY3Rvci4gVGhpcworICogKm11c3QqIGJlIGNhbGxl ZCBiZWZvcmUgcmVnaXN0ZXJpbmcgdGhlIGNvbm5lY3Rvci4gVGhlIGJhY2tsaWdodCBkZXZpY2Ug d2lsbAorICogYmUgYXV0b21hdGljYWxseSByZWdpc3RlcmVkIGluIHN5bmMgd2l0aCB0aGUgY29u bmVjdG9yLiBJdCB3aWxsIGFsc28gZ2V0CisgKiByZW1vdmVkIG9uY2UgdGhlIGNvbm5lY3RvciBp cyByZW1vdmVkLgorICoKKyAqIFRoZSBjb25uZWN0b3Igd2lsbCBub3QgaGF2ZSBhbnkgaGFyZHdh cmUgYmFja2xpZ2h0IGxpbmtlZCBieSBkZWZhdWx0LiBZb3UKKyAqIG5lZWQgdG8gY2FsbCBkcm1f YmFja2xpZ2h0X3NldF9uYW1lKCkgaWYgeW91IHdhbnQgdG8gc2V0IGEgZGVmYXVsdAorICogYmFj a2xpZ2h0LiBVc2VyLXNwYWNlIGNhbiBvdmVyd3JpdGUgdGhvc2UgdmlhIHN5c2ZzLgorICoKKyAq IFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgor ICovCitpbnQgZHJtX2JhY2tsaWdodF9hbGxvYyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQoreworCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZjb25uZWN0b3ItPmRl di0+bW9kZV9jb25maWc7CisJc3RydWN0IGRybV9iYWNrbGlnaHQgKmI7CisKKwliID0ga3phbGxv YyhzaXplb2YoKmIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWIpCisJCXJldHVybiAtRU5PTUVNOwor CisJSU5JVF9MSVNUX0hFQUQoJmItPmxpc3QpOworCUlOSVRfV09SSygmYi0+d29yaywgX19kcm1f YmFja2xpZ2h0X3dvcmtlcik7CisJYi0+Y29ubmVjdG9yID0gY29ubmVjdG9yOworCWNvbm5lY3Rv ci0+YmFja2xpZ2h0ID0gYjsKKworCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0 b3ItPmJhc2UsCisJCQkJICAgY29uZmlnLT5icmlnaHRuZXNzX3Byb3BlcnR5LCBVMTZfTUFYKTsK KworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChkcm1fYmFja2xpZ2h0X2FsbG9jKTsKKwor dm9pZCBkcm1fYmFja2xpZ2h0X2ZyZWUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikK K3sKKwlzdHJ1Y3QgZHJtX2JhY2tsaWdodCAqYiA9IGNvbm5lY3Rvci0+YmFja2xpZ2h0OworCisJ aWYgKGIpIHsKKwkJV0FSTl9PTihfX2RybV9iYWNrbGlnaHRfaXNfcmVnaXN0ZXJlZChiKSk7CisJ CVdBUk5fT04oYi0+bGluayk7CisKKwkJa2ZyZWUoYi0+bGlua19uYW1lKTsKKwkJa2ZyZWUoYik7 CisJCWNvbm5lY3Rvci0+YmFja2xpZ2h0ID0gTlVMTDsKKwl9Cit9CisKK3ZvaWQgZHJtX2JhY2ts aWdodF9yZWdpc3RlcihzdHJ1Y3QgZHJtX2JhY2tsaWdodCAqYikKK3sKKwlpZiAoIWIpCisJCXJl dHVybjsKKworCVdBUk5fT04oX19kcm1fYmFja2xpZ2h0X2lzX3JlZ2lzdGVyZWQoYikpOworCisJ c3Bpbl9sb2NrKCZkcm1fYmFja2xpZ2h0X2xvY2spOworCWxpc3RfYWRkKCZiLT5saXN0LCAmZHJt X2JhY2tsaWdodF9saXN0KTsKKwlfX2RybV9iYWNrbGlnaHRfbG9va3VwKGIpOworCXNwaW5fdW5s b2NrKCZkcm1fYmFja2xpZ2h0X2xvY2spOworfQorCit2b2lkIGRybV9iYWNrbGlnaHRfdW5yZWdp c3RlcihzdHJ1Y3QgZHJtX2JhY2tsaWdodCAqYikKK3sKKwlpZiAoIWIpCisJCXJldHVybjsKKwor CVdBUk5fT04oIV9fZHJtX2JhY2tsaWdodF9pc19yZWdpc3RlcmVkKGIpKTsKKworCXNwaW5fbG9j aygmZHJtX2JhY2tsaWdodF9sb2NrKTsKKwlsaXN0X2RlbF9pbml0KCZiLT5saXN0KTsKKwlfX2Ry bV9iYWNrbGlnaHRfbGluayhiLCBOVUxMKTsKKwlzcGluX3VubG9jaygmZHJtX2JhY2tsaWdodF9s b2NrKTsKKworCWNhbmNlbF93b3JrX3N5bmMoJmItPndvcmspOworfQorCisvKioKKyAqIGRybV9i YWNrbGlnaHRfZ2V0X25hbWUgLSByZXRyaWV2ZSBuYW1lIG9mIGxpbmtlZCBiYWNrbGlnaHQgZGV2 aWNlCisgKiBAYjogRFJNIGJhY2tsaWdodCB0byByZXRyaWV2ZSBuYW1lIG9mCisgKiBAYnVmOiB0 YXJnZXQgYnVmZmVyIGZvciBuYW1lCisgKiBAbWF4OiBzaXplIG9mIHRoZSB0YXJnZXQgYnVmZmVy CisgKgorICogVGhpcyByZXRyaWV2ZXMgdGhlIG5hbWUgb2YgdGhlIGJhY2tsaWdodCBkZXZpY2Ug bGlua2VkIHRvIEBiIGFuZCB3cml0ZXMgaXQKKyAqIGludG8gQGJ1Zi4gSWYgQGJ1ZiBpcyBOVUxM IG9yIEBtYXggaXMgMCwgbm8gbmFtZSB3aWxsIGJlIHJldHJpZXZlZCwgYnV0IHRoaXMKKyAqIGZ1 bmN0aW9uIG9ubHkgdGVzdHMgd2hldGhlciBhIGxpbmsgaXMgc2V0LgorICogT3RoZXJ3aXNlLCB0 aGUgbmFtZSB3aWxsIGFsd2F5cyBiZSB3cml0dGVuIGludG8gQGJ1ZiBhbmQgd2lsbCBhbHdheXMg YmUKKyAqIHplcm8tdGVybWluYXRlZCAodHJ1bmNhdGVkIGlmIHRvbyBsb25nKS4KKyAqCisgKiBJ ZiBubyBiYWNrbGlnaHQgZGV2aWNlIGlzIGxpbmtlZCB0byBAYiwgdGhpcyByZXR1cm5zIC1FTk9F TlQuIE90aGVyd2lzZSwgdGhlCisgKiBsZW5ndGggb2YgdGhlIHdyaXR0ZW4gbmFtZSAoZXhjbHVk aW5nIHRoZSB0ZXJtaW5hdGluZyAwIGNoYXJhY3RlcikgaXMKKyAqIHJldHVybmVkLgorICogTm90 ZSB0aGF0IGlmIGEgZGV2aWNlIG5hbWUgaGFzIGJlZW4gc2V0IGJ1dCB0aGUgdW5kZXJseWluZyBi YWNrbGlnaHQgZGV2aWNlCisgKiBkb2VzIG5vdCBleGlzdCwgdGhpcyB3aWxsIHN0aWxsIHJldHVy biB0aGUgbGlua2VkIG5hbWUuIC1FTk9FTlQgaXMgb25seQorICogcmV0dXJuZWQgaWYgbm8gZGV2 aWNlIG5hbWUgaGFzIGJlZW4gc2V0LCB5ZXQgKG9yIGhhcyBiZWVuIGNsZWFyZWQpLgorICoKKyAq IFJldHVybnM6IE9uIHN1Y2Nlc3MgdGhlIGxlbmd0aCBvZiB0aGUgd3JpdHRlbiBuYW1lLCBvbiBm YWlsdXJlIGEgbmVnYXRpdmUKKyAqICAgICAgICAgIGVycm9yIGNvZGUuCisgKi8KK2ludCBkcm1f YmFja2xpZ2h0X2dldF9uYW1lKHN0cnVjdCBkcm1fYmFja2xpZ2h0ICpiLCBjaGFyICpidWYsIHNp emVfdCBtYXgpCit7CisJaW50IHI7CisKKwlzcGluX2xvY2soJmRybV9iYWNrbGlnaHRfbG9jayk7 CisKKwlpZiAoIWItPmxpbmtfbmFtZSkgeworCQlyID0gLUVOT0VOVDsKKwkJZ290byB1bmxvY2s7 CisJfQorCisJciA9IDA7CisJaWYgKGJ1ZiAmJiBtYXggPiAwKSB7CisJCXIgPSBzdHJsZW4oYi0+ bGlua19uYW1lKTsKKwkJaWYgKHIgKyAxID4gbWF4KQorCQkJciA9IG1heCAtIDE7CisJCWJ1Zlty XSA9IDA7CisJCW1lbWNweShidWYsIGItPmxpbmtfbmFtZSwgcik7CisJfQorCit1bmxvY2s6CisJ c3Bpbl91bmxvY2soJmRybV9iYWNrbGlnaHRfbG9jayk7CisJcmV0dXJuIHI7Cit9CitFWFBPUlRf U1lNQk9MKGRybV9iYWNrbGlnaHRfZ2V0X25hbWUpOworCisvKioKKyAqIGRybV9iYWNrbGlnaHRf c2V0X25hbWUgLSBDaGFuZ2UgdGhlIGRldmljZSBsaW5rIG9mIGEgRFJNIGJhY2tsaWdodAorICog QGI6IERSTSBiYWNrbGlnaHQgdG8gbW9kaWZ5CisgKiBAbmFtZTogbmFtZSBvZiBiYWNrbGlnaHQg ZGV2aWNlCisgKgorICogVGhpcyBjaGFuZ2VzIHRoZSBiYWNrbGlnaHQgZGV2aWNlLWxpbmsgb24g QGIgdG8gdGhlIGhhcmR3YXJlIGRldmljZSB3aXRoCisgKiBuYW1lIEBuYW1lLiBAbmFtZSBpcyBz dG9yZWQgb24gdGhlIGJhY2tsaWdodCBkZXZpY2UsIGV2ZW4gaWYgbm8gc3VjaAorICogaGFyZHdh cmUgZGV2aWNlIGlzIHJlZ2lzdGVyZWQsIHlldC4gSWYgYSBiYWNrbGlnaHQgZGV2aWNlIGFwcGVh cnMgbGF0ZXIgb24sCisgKiBpdCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgbGlua2VkIHRvIGFsbCBt YXRjaGluZyBEUk0gYmFja2xpZ2h0IGRldmljZXMuIElmIGEKKyAqIHJlYWwgaGFyZHdhcmUgYmFj a2xpZ2h0IGRldmljZSBhbHJlYWR5IGV4aXN0cyB3aXRoIHN1Y2ggYSBuYW1lLCBpdCBpcyBsaW5r ZWQKKyAqIHdpdGggaW1tZWRpYXRlIGVmZmVjdC4KKyAqCisgKiBXaGVuZXZlciBhIHJlYWwgaGFy ZHdhcmUgYmFja2xpZ2h0IGlzIGxpbmtlZCBvciB1bmxpbmtlZCBmcm9tIGEgRFJNIGNvbm5lY3Rv cgorICogYW4gdWV2ZW50IHdpdGggIkJBQ0tMSUdIVD0xIiBpcyBnZW5lcmF0ZWQgb24gdGhlIGNv bm5lY3Rvci4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIGNv ZGUgb24gZmFpbHVyZS4KKyAqLworaW50IGRybV9iYWNrbGlnaHRfc2V0X25hbWUoc3RydWN0IGRy bV9iYWNrbGlnaHQgKmIsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJY2hhciAqbmFtZWNvcHk7CisK KwlpZiAobmFtZSAmJiAqbmFtZSkgeworCQluYW1lY29weSA9IGtzdHJkdXAobmFtZSwgR0ZQX0tF Uk5FTCk7CisJCWlmICghbmFtZWNvcHkpCisJCQlyZXR1cm4gLUVOT01FTTsKKwl9IGVsc2Ugewor CQluYW1lY29weSA9IE5VTEw7CisJfQorCisJc3Bpbl9sb2NrKCZkcm1fYmFja2xpZ2h0X2xvY2sp OworCisJa2ZyZWUoYi0+bGlua19uYW1lKTsKKwliLT5saW5rX25hbWUgPSBuYW1lY29weTsKKwlp ZiAoX19kcm1fYmFja2xpZ2h0X2lzX3JlZ2lzdGVyZWQoYikpCisJCV9fZHJtX2JhY2tsaWdodF9s b29rdXAoYik7CisKKwlzcGluX3VubG9jaygmZHJtX2JhY2tsaWdodF9sb2NrKTsKKworCXJldHVy biAwOworfQorRVhQT1JUX1NZTUJPTChkcm1fYmFja2xpZ2h0X3NldF9uYW1lKTsKKwordm9pZCBk cm1fYmFja2xpZ2h0X3NldF9icmlnaHRuZXNzKHN0cnVjdCBkcm1fYmFja2xpZ2h0ICpiLCB1aW50 NjRfdCB2YWx1ZSkKK3sKKwlzcGluX2xvY2soJmRybV9iYWNrbGlnaHRfbG9jayk7CisJX19kcm1f YmFja2xpZ2h0X3Byb3BfY2hhbmdlZChiLCB2YWx1ZSk7CisJc3Bpbl91bmxvY2soJmRybV9iYWNr bGlnaHRfbG9jayk7Cit9CisKK3N0YXRpYyBpbnQgZHJtX2JhY2tsaWdodF9ub3RpZnkoc3RydWN0 IG5vdGlmaWVyX2Jsb2NrICpzZWxmLAorCQkJCXVuc2lnbmVkIGxvbmcgZXZlbnQsIHZvaWQgKmRh dGEpCit7CisJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJkID0gZGF0YTsKKwlzdHJ1Y3QgZHJt X2JhY2tsaWdodCAqYjsKKwljb25zdCBjaGFyICpuYW1lOworCisJc3Bpbl9sb2NrKCZkcm1fYmFj a2xpZ2h0X2xvY2spOworCisJc3dpdGNoIChldmVudCkgeworCWNhc2UgQkFDS0xJR0hUX1JFR0lT VEVSRUQ6CisJCW5hbWUgPSBkZXZfbmFtZSgmYmQtPmRldik7CisJCWlmICghbmFtZSkKKwkJCWJy ZWFrOworCisJCWxpc3RfZm9yX2VhY2hfZW50cnkoYiwgJmRybV9iYWNrbGlnaHRfbGlzdCwgbGlz dCkKKwkJCWlmICghYi0+bGluayAmJiAhc3RyY21wKG5hbWUsIGItPmxpbmtfbmFtZSkpCisJCQkJ X19kcm1fYmFja2xpZ2h0X2xpbmsoYiwgYmQpOworCisJCWJyZWFrOworCWNhc2UgQkFDS0xJR0hU X1VOUkVHSVNURVJFRDoKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeShiLCAmZHJtX2JhY2tsaWdodF9s aXN0LCBsaXN0KQorCQkJaWYgKGItPmxpbmsgPT0gYmQpCisJCQkJX19kcm1fYmFja2xpZ2h0X2xp bmsoYiwgTlVMTCk7CisKKwkJYnJlYWs7CisJfQorCisJc3Bpbl91bmxvY2soJmRybV9iYWNrbGln aHRfbG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9j ayBkcm1fYmFja2xpZ2h0X25vdGlmaWVyID0geworCS5ub3RpZmllcl9jYWxsID0gZHJtX2JhY2ts aWdodF9ub3RpZnksCit9OworCitpbnQgZHJtX2JhY2tsaWdodF9pbml0KHZvaWQpCit7CisJcmV0 dXJuIGJhY2tsaWdodF9yZWdpc3Rlcl9ub3RpZmllcigmZHJtX2JhY2tsaWdodF9ub3RpZmllcik7 Cit9CisKK3ZvaWQgZHJtX2JhY2tsaWdodF9leGl0KHZvaWQpCit7CisJYmFja2xpZ2h0X3VucmVn aXN0ZXJfbm90aWZpZXIoJmRybV9iYWNrbGlnaHRfbm90aWZpZXIpOworfQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29u bmVjdG9yLmMKaW5kZXggMmRiN2ZiNS4uYmIwMmM3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5j CkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KICNpbmNsdWRlIDxkcm0v ZHJtX2Nvbm5lY3Rvci5oPgogI2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgorI2luY2x1ZGUgPGRy bS9kcm1fYmFja2xpZ2h0Lmg+CiAKICNpbmNsdWRlICJkcm1fY3J0Y19pbnRlcm5hbC5oIgogI2lu Y2x1ZGUgImRybV9pbnRlcm5hbC5oIgpAQCAtMzI0LDYgKzMyNSw3IEBAIHZvaWQgZHJtX2Nvbm5l Y3Rvcl9jbGVhbnVwKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2OwogCXN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlLCAqdDsKIAorCWRybV9iYWNrbGlnaHRfZnJlZShjb25uZWN0b3IpOwogCS8qIFRoZSBj b25uZWN0b3Igc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdXNlcnNwYWNlIGxvbmcgYmVm b3JlCiAJICogaXQgaXMgZmluYWxseSBkZXN0cm95ZWQuCiAJICovCkBAIC0zNzksNiArMzgxLDcg QEAgaW50IGRybV9jb25uZWN0b3JfcmVnaXN0ZXIoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKIAlpZiAoY29ubmVjdG9yLT5yZWdpc3RlcmVkKQogCQlyZXR1cm4gMDsKIAorCWRybV9i YWNrbGlnaHRfcmVnaXN0ZXIoY29ubmVjdG9yLT5iYWNrbGlnaHQpOwogCXJldCA9IGRybV9zeXNm c19jb25uZWN0b3JfYWRkKGNvbm5lY3Rvcik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKQEAg LTQxNSw2ICs0MTgsOCBAQCBFWFBPUlRfU1lNQk9MKGRybV9jb25uZWN0b3JfcmVnaXN0ZXIpOwog ICovCiB2b2lkIGRybV9jb25uZWN0b3JfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogeworCWRybV9iYWNrbGlnaHRfdW5yZWdpc3Rlcihjb25uZWN0b3ItPmJhY2ts aWdodCk7CisKIAlpZiAoIWNvbm5lY3Rvci0+cmVnaXN0ZXJlZCkKIAkJcmV0dXJuOwogCkBAIC05 NTcsMTAgKzk2MiwxNiBAQCBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3NldF9vYmpfcHJvcChzdHJ1 Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmosCiB7CiAJaW50IHJldCA9IC1FSU5WQUw7CiAJc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IG9ial90b19jb25uZWN0b3Iob2JqKTsKKwlzdHJ1 Y3QgZHJtX21vZGVfY29uZmlnICpjb25maWcgPSAmY29ubmVjdG9yLT5kZXYtPm1vZGVfY29uZmln OwogCiAJLyogRG8gRFBNUyBvdXJzZWx2ZXMgKi8KIAlpZiAocHJvcGVydHkgPT0gY29ubmVjdG9y LT5kZXYtPm1vZGVfY29uZmlnLmRwbXNfcHJvcGVydHkpIHsKIAkJcmV0ID0gKCpjb25uZWN0b3It PmZ1bmNzLT5kcG1zKShjb25uZWN0b3IsIChpbnQpdmFsdWUpOworCX0gZWxzZSBpZiAocHJvcGVy dHkgPT0gY29uZmlnLT5icmlnaHRuZXNzX3Byb3BlcnR5KSB7CisJCWlmIChjb25uZWN0b3ItPmJh Y2tsaWdodCkKKwkJCWRybV9iYWNrbGlnaHRfc2V0X2JyaWdodG5lc3MoY29ubmVjdG9yLT5iYWNr bGlnaHQsCisJCQkJCQkgICAgIHZhbHVlKTsKKwkJcmV0ID0gMDsKIAl9IGVsc2UgaWYgKGNvbm5l Y3Rvci0+ZnVuY3MtPnNldF9wcm9wZXJ0eSkKIAkJcmV0ID0gY29ubmVjdG9yLT5mdW5jcy0+c2V0 X3Byb3BlcnR5KGNvbm5lY3RvciwgcHJvcGVydHksIHZhbHVlKTsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwppbmRl eCAxMzQ0MWUyLi42NGY0MWZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwpAQCAtNDEsNiArNDEsNyBAQAogI2lu Y2x1ZGUgPGRybS9kcm1fYXRvbWljLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9hdXRoLmg+CiAjaW5j bHVkZSA8ZHJtL2RybV9kZWJ1Z2ZzX2NyYy5oPgorI2luY2x1ZGUgPGRybS9kcm1fYmFja2xpZ2h0 Lmg+CiAKICNpbmNsdWRlICJkcm1fY3J0Y19pbnRlcm5hbC5oIgogI2luY2x1ZGUgImRybV9pbnRl cm5hbC5oIgpAQCAtNDUxLDYgKzQ1MiwxMSBAQCBzdGF0aWMgaW50IGRybV9tb2RlX2NyZWF0ZV9z dGFuZGFyZF9wcm9wZXJ0aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCXJldHVybiAtRU5P TUVNOwogCWRldi0+bW9kZV9jb25maWcuZ2FtbWFfbHV0X3NpemVfcHJvcGVydHkgPSBwcm9wOwog CisJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2UoZGV2LCBEUk1fTU9ERV9QUk9QX1JB TkdFLCAiQlJJR0hUTkVTUyIsIDAsIFUxNl9NQVgpOworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1F Tk9NRU07CisJZGV2LT5tb2RlX2NvbmZpZy5icmlnaHRuZXNzX3Byb3BlcnR5ID0gcHJvcDsKKwog CXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwppbmRleCA2ZWZkYmE0Li45OTU1M2ZlIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZHJ2LmMKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb3VudC5oPgogI2luY2x1 ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxkcm0vZHJtUC5oPgorI2luY2x1ZGUgPGRybS9k cm1fYmFja2xpZ2h0Lmg+CiAjaW5jbHVkZSAiZHJtX2NydGNfaW50ZXJuYWwuaCIKICNpbmNsdWRl ICJkcm1fbGVnYWN5LmgiCiAjaW5jbHVkZSAiZHJtX2ludGVybmFsLmgiCkBAIC04MjYsNiArODI3 LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZHJtX3N0dWJfZm9wcyA9 IHsKIAogc3RhdGljIHZvaWQgZHJtX2NvcmVfZXhpdCh2b2lkKQogeworCWRybV9iYWNrbGlnaHRf ZXhpdCgpOwogCXVucmVnaXN0ZXJfY2hyZGV2KERSTV9NQUpPUiwgImRybSIpOwogCWRlYnVnZnNf cmVtb3ZlKGRybV9kZWJ1Z2ZzX3Jvb3QpOwogCWRybV9zeXNmc19kZXN0cm95KCk7CkBAIC04NTUs NiArODU3LDEyIEBAIHN0YXRpYyBpbnQgX19pbml0IGRybV9jb3JlX2luaXQodm9pZCkKIAkJZ290 byBlcnJvcjsKIAl9CiAKKwlyZXQgPSBkcm1fYmFja2xpZ2h0X2luaXQoKTsKKwlpZiAocmV0IDwg MCkgeworCQlEUk1fRVJST1IoIkNhbm5vdCBpbml0aWFsaXplIGJhY2tsaWdodCBpbnRlcmZhY2Vc biIpOworCQlnb3RvIGVycm9yOworCX0KKwogCXJldCA9IHJlZ2lzdGVyX2NocmRldihEUk1fTUFK T1IsICJkcm0iLCAmZHJtX3N0dWJfZm9wcyk7CiAJaWYgKHJldCA8IDApCiAJCWdvdG8gZXJyb3I7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX3N5c2ZzLmMKaW5kZXggOWEzNzE5Ni4uNjg1MjExZSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9zeXNmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3lzZnMuYwpA QCAtMjAsNiArMjAsNyBAQAogCiAjaW5jbHVkZSA8ZHJtL2RybV9zeXNmcy5oPgogI2luY2x1ZGUg PGRybS9kcm1QLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9iYWNrbGlnaHQuaD4KICNpbmNsdWRlICJk cm1faW50ZXJuYWwuaCIKIAogI2RlZmluZSB0b19kcm1fbWlub3IoZCkgZGV2X2dldF9kcnZkYXRh KGQpCkBAIC0yMTUsMTYgKzIxNiw2OSBAQCBzdGF0aWMgc3NpemVfdCBtb2Rlc19zaG93KHN0cnVj dCBkZXZpY2UgKmRldmljZSwKIAlyZXR1cm4gd3JpdHRlbjsKIH0KIAorc3RhdGljIHNzaXplX3Qg YmFja2xpZ2h0X3Nob3coc3RydWN0IGRldmljZSAqZGV2aWNlLAorCQkJICAgICAgc3RydWN0IGRl dmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkgICAgICBjaGFyICpidWYpCit7CisJc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHRvX2RybV9jb25uZWN0b3IoZGV2aWNlKTsKKwlpbnQg cjsKKworCWlmICghY29ubmVjdG9yLT5iYWNrbGlnaHQpCisJCXJldHVybiAtRU5PVFNVUFA7CisK KwlyID0gZHJtX2JhY2tsaWdodF9nZXRfbmFtZShjb25uZWN0b3ItPmJhY2tsaWdodCwgYnVmLCBQ QUdFX1NJWkUpOworCWlmIChyIDwgMCkKKwkJcmV0dXJuIHI7CisKKwlpZiAociArIDEgPCBQQUdF X1NJWkUpIHsKKwkJYnVmW3IrK10gPSAnXG4nOworCQlidWZbcl0gPSAwOworCX0KKworCXJldHVy biByOworfQorCitzdGF0aWMgc3NpemVfdCBiYWNrbGlnaHRfc3RvcmUoc3RydWN0IGRldmljZSAq ZGV2aWNlLAorCQkJICAgICAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkJICAg ICAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IHNpemUpCit7CisJc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciA9IHRvX2RybV9jb25uZWN0b3IoZGV2aWNlKTsKKwljb25zdCBjaGFyICp0 OworCWNoYXIgKm5hbWU7CisJc2l6ZV90IGxlbjsKKwlpbnQgcjsKKworCWlmICghY29ubmVjdG9y LT5iYWNrbGlnaHQpCisJCXJldHVybiAtRU5PVFNVUFA7CisKKwl0ID0gc3RyY2hybnVsKGJ1Ziwg J1xuJyk7CisJbGVuID0gdCAtIGJ1ZjsKKworCW5hbWUgPSBrc3RybmR1cChidWYsIGxlbiwgR0ZQ X1RFTVBPUkFSWSk7CisJaWYgKCFuYW1lKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXIgPSBkcm1f YmFja2xpZ2h0X3NldF9uYW1lKGNvbm5lY3Rvci0+YmFja2xpZ2h0LCBuYW1lKTsKKwlrZnJlZShu YW1lKTsKKworCWlmIChyIDwgMCkKKwkJcmV0dXJuIHI7CisKKwlyZXR1cm4gbGVuOworfQorCiBz dGF0aWMgREVWSUNFX0FUVFJfUlcoc3RhdHVzKTsKIHN0YXRpYyBERVZJQ0VfQVRUUl9STyhlbmFi bGVkKTsKIHN0YXRpYyBERVZJQ0VfQVRUUl9STyhkcG1zKTsKIHN0YXRpYyBERVZJQ0VfQVRUUl9S Tyhtb2Rlcyk7CitzdGF0aWMgREVWSUNFX0FUVFJfUlcoYmFja2xpZ2h0KTsKIAogc3RhdGljIHN0 cnVjdCBhdHRyaWJ1dGUgKmNvbm5lY3Rvcl9kZXZfYXR0cnNbXSA9IHsKIAkmZGV2X2F0dHJfc3Rh dHVzLmF0dHIsCiAJJmRldl9hdHRyX2VuYWJsZWQuYXR0ciwKIAkmZGV2X2F0dHJfZHBtcy5hdHRy LAogCSZkZXZfYXR0cl9tb2Rlcy5hdHRyLAorCSZkZXZfYXR0cl9iYWNrbGlnaHQuYXR0ciwKIAlO VUxMCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9iYWNrbGlnaHQu YyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2JhY2tsaWdodC5jCmluZGV4IGM3YjMzNWMuLmM2 MzAzZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2JhY2tsaWdodC5jCisr KyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2JhY2tsaWdodC5jCkBAIC0xMTMsNiArMTEzLDkg QEAgc3RhdGljIHZvaWQgYmFja2xpZ2h0X2dlbmVyYXRlX2V2ZW50KHN0cnVjdCBiYWNrbGlnaHRf ZGV2aWNlICpiZCwKIAljYXNlIEJBQ0tMSUdIVF9VUERBVEVfSE9US0VZOgogCQllbnZwWzBdID0g IlNPVVJDRT1ob3RrZXkiOwogCQlicmVhazsKKwljYXNlIEJBQ0tMSUdIVF9VUERBVEVfRFJNOgor CQllbnZwWzBdID0gIlNPVVJDRT1kcm0iOworCQlicmVhazsKIAlkZWZhdWx0OgogCQllbnZwWzBd ID0gIlNPVVJDRT11bmtub3duIjsKIAkJYnJlYWs7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9k cm1fYmFja2xpZ2h0LmggYi9pbmNsdWRlL2RybS9kcm1fYmFja2xpZ2h0LmgKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjM0YzZiZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1 ZGUvZHJtL2RybV9iYWNrbGlnaHQuaApAQCAtMCwwICsxLDQ0IEBACisjaWZuZGVmIF9fRFJNX0JB Q0tMSUdIVF9IX18KKyNkZWZpbmUgX19EUk1fQkFDS0xJR0hUX0hfXworCisvKgorICogQ29weXJp Z2h0IChjKSAyMDE0IERhdmlkIEhlcnJtYW5uIDxkaC5oZXJybWFubiBhdCBnbWFpbC5jb20+Cisg KgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu eSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2Np YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGlu IHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1p dGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz aCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg U29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUg aXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u czoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlh bCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJ REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAq IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Yg TUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E IE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQ09QWVJJR0hUIEhP TERFUihTKSBPUiBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IK KyAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRP UlQgT1IgT1RIRVJXSVNFLAorICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP TiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCisgKiBPVEhFUiBERUFMSU5HUyBJTiBU SEUgU09GVFdBUkUuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUg PGxpbnV4L3R5cGVzLmg+CisKK3N0cnVjdCBkcm1fYmFja2xpZ2h0Oworc3RydWN0IGRybV9jb25u ZWN0b3I7CisKK2ludCBkcm1fYmFja2xpZ2h0X2luaXQodm9pZCk7Cit2b2lkIGRybV9iYWNrbGln aHRfZXhpdCh2b2lkKTsKKworaW50IGRybV9iYWNrbGlnaHRfYWxsb2Moc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3Rvcik7Cit2b2lkIGRybV9iYWNrbGlnaHRfZnJlZShzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKTsKK3ZvaWQgZHJtX2JhY2tsaWdodF9yZWdpc3RlcihzdHJ1Y3Qg ZHJtX2JhY2tsaWdodCAqYik7Cit2b2lkIGRybV9iYWNrbGlnaHRfdW5yZWdpc3RlcihzdHJ1Y3Qg ZHJtX2JhY2tsaWdodCAqYik7CisKK2ludCBkcm1fYmFja2xpZ2h0X2dldF9uYW1lKHN0cnVjdCBk cm1fYmFja2xpZ2h0ICpiLCBjaGFyICpidWYsIHNpemVfdCBtYXgpOworaW50IGRybV9iYWNrbGln aHRfc2V0X25hbWUoc3RydWN0IGRybV9iYWNrbGlnaHQgKmIsIGNvbnN0IGNoYXIgKm5hbWUpOwor dm9pZCBkcm1fYmFja2xpZ2h0X3NldF9icmlnaHRuZXNzKHN0cnVjdCBkcm1fYmFja2xpZ2h0ICpi LCB1aW50NjRfdCB2YWx1ZSk7CisKKyNlbmRpZiAvKiBfX0RSTV9CQUNLTElHSFRfSF9fICovCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1f Y29ubmVjdG9yLmgKaW5kZXggYWM5ZDdkOC4uMjhlNWQ2NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9k cm0vZHJtX2Nvbm5lY3Rvci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaApAQCAt NjgyLDYgKzY4Miw5IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yIHsKIAl1aW50OF90IG51bV9oX3Rp bGUsIG51bV92X3RpbGU7CiAJdWludDhfdCB0aWxlX2hfbG9jLCB0aWxlX3ZfbG9jOwogCXVpbnQx Nl90IHRpbGVfaF9zaXplLCB0aWxlX3Zfc2l6ZTsKKworCS8qIGJhY2tsaWdodCBsaW5rICovCisJ c3RydWN0IGRybV9iYWNrbGlnaHQgKmJhY2tsaWdodDsKIH07CiAKICNkZWZpbmUgb2JqX3RvX2Nv bm5lY3Rvcih4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGRybV9jb25uZWN0b3IsIGJhc2UpCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMu aAppbmRleCAyODRjMWIzLi5hNzBlNGI0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0 Yy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKQEAgLTExNDAsNiArMTE0MCwxMSBAQCBz dHJ1Y3QgZHJtX21vZGVfY29uZmlnIHsKIAkgKi8KIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpkcG1z X3Byb3BlcnR5OwogCS8qKgorCSAqIEBicmlnaHRuZXNzX3Byb3BlcnR5OiBEZWZhdWx0IGNvbm5l Y3RvciBwcm9wZXJ0eSB0byBjb250cm9sIHRoZQorCSAqIGNvbm5lY3RvcidzIGJhY2tsaWdodCBi cmlnaHRuZXNzLgorCSAqLworICAgICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpicmlnaHRuZXNz X3Byb3BlcnR5OworICAgICAgICAvKioKIAkgKiBAcGF0aF9wcm9wZXJ0eTogRGVmYXVsdCBjb25u ZWN0b3IgcHJvcGVydHkgdG8gaG9sZCB0aGUgRFAgTVNUIHBhdGgKIAkgKiBmb3IgdGhlIHBvcnQu CiAJICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2JhY2tsaWdodC5oIGIvaW5jbHVkZS9s aW51eC9iYWNrbGlnaHQuaAppbmRleCA4OTVjNDY2MS4uNGI5YjhjYSAxMDA2NDQKLS0tIGEvaW5j bHVkZS9saW51eC9iYWNrbGlnaHQuaAorKysgYi9pbmNsdWRlL2xpbnV4L2JhY2tsaWdodC5oCkBA IC0zMSw2ICszMSw3IEBACiBlbnVtIGJhY2tsaWdodF91cGRhdGVfcmVhc29uIHsKIAlCQUNLTElH SFRfVVBEQVRFX0hPVEtFWSwKIAlCQUNLTElHSFRfVVBEQVRFX1NZU0ZTLAorCUJBQ0tMSUdIVF9V UERBVEVfRFJNLAogfTsKIAogZW51bSBiYWNrbGlnaHRfdHlwZSB7Ci0tIAoyLjkuMwoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==