From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inki Dae Subject: [RFC PATCH 1/3] drm/exynos: make kms drivers to be independent modules Date: Wed, 19 Nov 2014 00:26:42 +0900 Message-ID: <1416324404-28153-2-git-send-email-inki.dae@samsung.com> References: <1416324404-28153-1-git-send-email-inki.dae@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <1416324404-28153-1-git-send-email-inki.dae@samsung.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 Cc: linux-samsung-soc@vger.kernel.org List-Id: linux-samsung-soc@vger.kernel.org VGhpcyBwYXRjaCBtYWtlcyBrbXMgZHJpdmVycyB0byBiZSBpbmRlcGVuZGVudCBtb2R1bGVzLgpG b3IgdGhpcywgaXQgcmVtb3ZlcyBhbGwgcmVnaXN0ZXIgY29kZXMgdG8ga21zIGRyaXZlcnMKZnJv bSBleHlub3NfZHJtX2RydiBtb2R1bGUgYW5kIGFkZHMgbW9kdWxlX2luaXQvZXhpdApmb3IgZWFj aCBrbXMgZHJpdmVyIHNvIHRoYXQgZWFjaCBrbXMgZHJpdmVyIGNhbiBiZQpjYWxsZWQgaW5kZXBl bmRlbnRseS4KClNpZ25lZC1vZmYtYnk6IElua2kgRGFlIDxpbmtpLmRhZUBzYW1zdW5nLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL0tjb25maWcgICAgICAgICAgIHwgICAgOCArKyst LS0KIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RwX2NvcmUuYyAgfCAgIDEzICsrKysr KysrKwogZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5jICB8ICAgNDMgKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5v c19kcm1fZHJ2LmggIHwgICAgNSAtLS0tCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19k cm1fZHNpLmMgIHwgICAxMyArKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV9maW1kLmMgfCAgIDEzICsrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfaGRtaS5jICAgICB8ICAgMTMgKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4 eW5vc19taXhlci5jICAgIHwgICAxMyArKysrKysrKysKIDggZmlsZXMgY2hhbmdlZCwgNzIgaW5z ZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2V4eW5vcy9LY29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9LY29uZmlnCmluZGV4IDdm OWY2ZjkuLjNkNWZhNjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvS2NvbmZp ZworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL0tjb25maWcKQEAgLTI1LDcgKzI1LDcgQEAg Y29uZmlnIERSTV9FWFlOT1NfRE1BQlVGCiAJICBDaG9vc2UgdGhpcyBvcHRpb24gaWYgeW91IHdh bnQgdG8gdXNlIERNQUJVRiBmZWF0dXJlIGZvciBEUk0uCiAKIGNvbmZpZyBEUk1fRVhZTk9TX0ZJ TUQKLQlib29sICJFeHlub3MgRFJNIEZJTUQiCisJdHJpc3RhdGUgIkV4eW5vcyBEUk0gRklNRCIK IAlkZXBlbmRzIG9uIERSTV9FWFlOT1MgJiYgIUZCX1MzQwogCXNlbGVjdCBGQl9NT0RFX0hFTFBF UlMKIAlzZWxlY3QgTUZEX1NZU0NPTgpAQCAtNDEsNyArNDEsNyBAQCBjb25maWcgRFJNX0VYWU5P U19EUEkKIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBFeHlub3MgcGFyYWxsZWwgb3V0cHV0 LgogCiBjb25maWcgRFJNX0VYWU5PU19EU0kKLQlib29sICJFWFlOT1MgRFJNIE1JUEktRFNJIGRy aXZlciBzdXBwb3J0IgorCXRyaXN0YXRlICJFWFlOT1MgRFJNIE1JUEktRFNJIGRyaXZlciBzdXBw b3J0IgogCWRlcGVuZHMgb24gRFJNX0VYWU5PU19GSU1ECiAJc2VsZWN0IERSTV9NSVBJX0RTSQog CXNlbGVjdCBEUk1fUEFORUwKQEAgLTUwLDcgKzUwLDcgQEAgY29uZmlnIERSTV9FWFlOT1NfRFNJ CiAJICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3IgRXh5bm9zIE1JUEktRFNJIGRldmljZS4KIAog Y29uZmlnIERSTV9FWFlOT1NfRFAKLQlib29sICJFWFlOT1MgRFJNIERQIGRyaXZlciBzdXBwb3J0 IgorCXRyaXN0YXRlICJFWFlOT1MgRFJNIERQIGRyaXZlciBzdXBwb3J0IgogCWRlcGVuZHMgb24g RFJNX0VYWU5PU19GSU1EICYmIEFSQ0hfRVhZTk9TICYmIChEUk1fUFROMzQ2MD1uIHx8IERSTV9Q VE4zNDYwPXkgfHwgRFJNX1BUTjM0NjA9RFJNX0VYWU5PUykKIAlkZWZhdWx0IERSTV9FWFlOT1MK IAlzZWxlY3QgRFJNX1BBTkVMCkBAIC01OCw3ICs1OCw3IEBAIGNvbmZpZyBEUk1fRVhZTk9TX0RQ CiAJICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3IgRFAgZGV2aWNlLgogCiBjb25maWcgRFJNX0VY WU5PU19IRE1JCi0JYm9vbCAiRXh5bm9zIERSTSBIRE1JIgorCXRyaXN0YXRlICJFeHlub3MgRFJN IEhETUkiCiAJZGVwZW5kcyBvbiBEUk1fRVhZTk9TICYmICFWSURFT19TQU1TVU5HX1M1UF9UVgog CWhlbHAKIAkgIENob29zZSB0aGlzIG9wdGlvbiBpZiB5b3Ugd2FudCB0byB1c2UgRXh5bm9zIEhE TUkgZm9yIERSTS4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2Rw X2NvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RwX2NvcmUuYwppbmRleCBl ZDgxOGI5Li5iMDhkOTdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5v c19kcF9jb3JlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHBfY29yZS5j CkBAIC0xNDA4LDYgKzE0MDgsMTkgQEAgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBkcF9kcml2ZXIg PSB7CiAJfSwKIH07CiAKK3N0YXRpYyBpbnQgZXh5bm9zX2RwX2luaXQodm9pZCkKK3sKKwlyZXR1 cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZkcF9kcml2ZXIpOworfQorCitzdGF0aWMgdm9p ZCBleHlub3NfZHBfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZk cF9kcml2ZXIpOworfQorCittb2R1bGVfaW5pdChleHlub3NfZHBfaW5pdCk7Cittb2R1bGVfZXhp dChleHlub3NfZHBfZXhpdCk7CisKIE1PRFVMRV9BVVRIT1IoIkppbmdvbyBIYW4gPGpnMS5oYW5A c2Ftc3VuZy5jb20+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIlNhbXN1bmcgU29DIERQIERyaXZl ciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfZHJtX2Rydi5jCmluZGV4IGVhYjEyZjAuLjAyZDQ3NzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5 bm9zL2V4eW5vc19kcm1fZHJ2LmMKQEAgLTQ4NCwxMiArNDg0LDYgQEAgc3RhdGljIHN0cnVjdCBj b21wb25lbnRfbWF0Y2ggKmV4eW5vc19kcm1fbWF0Y2hfYWRkKHN0cnVjdCBkZXZpY2UgKmRldikK IAogCW11dGV4X2xvY2soJmRybV9jb21wb25lbnRfbG9jayk7CiAKLQkvKiBEbyBub3QgcmV0cnkg dG8gcHJvYmUgaWYgdGhlcmUgaXMgbm8gYW55IGttcyBkcml2ZXIgcmVnaXRlcmVkLiAqLwotCWlm IChsaXN0X2VtcHR5KCZkcm1fY29tcG9uZW50X2xpc3QpKSB7Ci0JCW11dGV4X3VubG9jaygmZHJt X2NvbXBvbmVudF9sb2NrKTsKLQkJcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7Ci0JfQotCiAJbGlz dF9mb3JfZWFjaF9lbnRyeShjZGV2LCAmZHJtX2NvbXBvbmVudF9saXN0LCBsaXN0KSB7CiAJCS8q CiAJCSAqIEFkZCBjb21wb25lbnRzIHRvIG1hc3RlciBvbmx5IGluIGNhc2UgdGhhdCBjcnRjIGFu ZApAQCAtNTQ1LDIyICs1MzksNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbXBvbmVudF9tYXN0 ZXJfb3BzIGV4eW5vc19kcm1fb3BzID0gewogCS51bmJpbmQJCT0gZXh5bm9zX2RybV91bmJpbmQs CiB9OwogCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqY29uc3QgZXh5bm9zX2RybV9r bXNfZHJpdmVyc1tdID0gewotI2lmZGVmIENPTkZJR19EUk1fRVhZTk9TX0ZJTUQKLQkmZmltZF9k cml2ZXIsCi0jZW5kaWYKLSNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19EUAotCSZkcF9kcml2ZXIs Ci0jZW5kaWYKLSNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19EU0kKLQkmZHNpX2RyaXZlciwKLSNl bmRpZgotI2lmZGVmIENPTkZJR19EUk1fRVhZTk9TX0hETUkKLQkmbWl4ZXJfZHJpdmVyLAotCSZo ZG1pX2RyaXZlciwKLSNlbmRpZgotfTsKLQogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIg KmNvbnN0IGV4eW5vc19kcm1fbm9uX2ttc19kcml2ZXJzW10gPSB7CiAjaWZkZWYgQ09ORklHX0RS TV9FWFlOT1NfRzJECiAJJmcyZF9kcml2ZXIsCkBAIC01ODcsMjIgKzU2NSwxNCBAQCBzdGF0aWMg aW50IGV4eW5vc19kcm1fcGxhdGZvcm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKIAlwZGV2LT5kZXYuY29oZXJlbnRfZG1hX21hc2sgPSBETUFfQklUX01BU0soMzIpOwogCWV4 eW5vc19kcm1fZHJpdmVyLm51bV9pb2N0bHMgPSBBUlJBWV9TSVpFKGV4eW5vc19pb2N0bHMpOwog Ci0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZXh5bm9zX2RybV9rbXNfZHJpdmVycyk7ICsr aSkgewotCQlyZXQgPSBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoZXh5bm9zX2RybV9rbXNfZHJp dmVyc1tpXSk7Ci0JCWlmIChyZXQgPCAwKQotCQkJZ290byBlcnJfdW5yZWdpc3Rlcl9rbXNfZHJp dmVyczsKLQl9Ci0KIAltYXRjaCA9IGV4eW5vc19kcm1fbWF0Y2hfYWRkKCZwZGV2LT5kZXYpOwot CWlmIChJU19FUlIobWF0Y2gpKSB7Ci0JCXJldCA9IFBUUl9FUlIobWF0Y2gpOwotCQlnb3RvIGVy cl91bnJlZ2lzdGVyX2ttc19kcml2ZXJzOwotCX0KKwlpZiAoSVNfRVJSKG1hdGNoKSkKKwkJcmV0 dXJuIFBUUl9FUlIobWF0Y2gpOwogCiAJcmV0ID0gY29tcG9uZW50X21hc3Rlcl9hZGRfd2l0aF9t YXRjaCgmcGRldi0+ZGV2LCAmZXh5bm9zX2RybV9vcHMsCiAJCQkJCQltYXRjaCk7CiAJaWYgKHJl dCA8IDApCi0JCWdvdG8gZXJyX3VucmVnaXN0ZXJfa21zX2RyaXZlcnM7CisJCXJldHVybiByZXQ7 CiAKIAlmb3IgKGogPSAwOyBqIDwgQVJSQVlfU0laRShleHlub3NfZHJtX25vbl9rbXNfZHJpdmVy cyk7ICsraikgewogCQlyZXQgPSBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoZXh5bm9zX2RybV9u b25fa21zX2RyaXZlcnNbal0pOwpAQCAtNjMyLDEwICs2MDIsNiBAQCBlcnJfdW5yZWdpc3Rlcl9u b25fa21zX2RyaXZlcnM6CiBlcnJfZGVsX2NvbXBvbmVudF9tYXN0ZXI6CiAJY29tcG9uZW50X21h c3Rlcl9kZWwoJnBkZXYtPmRldiwgJmV4eW5vc19kcm1fb3BzKTsKIAotZXJyX3VucmVnaXN0ZXJf a21zX2RyaXZlcnM6Ci0Jd2hpbGUgKC0taSA+PSAwKQotCQlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdp c3RlcihleHlub3NfZHJtX2ttc19kcml2ZXJzW2ldKTsKLQogCXJldHVybiByZXQ7CiB9CiAKQEAg LTY1NCw5ICs2MjAsNiBAQCBzdGF0aWMgaW50IGV4eW5vc19kcm1fcGxhdGZvcm1fcmVtb3ZlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAKIAljb21wb25lbnRfbWFzdGVyX2RlbCgmcGRl di0+ZGV2LCAmZXh5bm9zX2RybV9vcHMpOwogCi0JZm9yIChpID0gQVJSQVlfU0laRShleHlub3Nf ZHJtX2ttc19kcml2ZXJzKSAtIDE7IGkgPj0gMDsgLS1pKQotCQlwbGF0Zm9ybV9kcml2ZXJfdW5y ZWdpc3RlcihleHlub3NfZHJtX2ttc19kcml2ZXJzW2ldKTsKLQogCXJldHVybiAwOwogfQogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmgKaW5kZXggMjYyYTQ1OS4uMzUyYTlm OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuaApAQCAtMzMxLDExICsz MzEsNiBAQCBpbnQgZXh5bm9zX2RybV9jb21wb25lbnRfYWRkKHN0cnVjdCBkZXZpY2UgKmRldiwK IHZvaWQgZXh5bm9zX2RybV9jb21wb25lbnRfZGVsKHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJCQll bnVtIGV4eW5vc19kcm1fZGV2aWNlX3R5cGUgZGV2X3R5cGUpOwogCi1leHRlcm4gc3RydWN0IHBs YXRmb3JtX2RyaXZlciBmaW1kX2RyaXZlcjsKLWV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVy IGRwX2RyaXZlcjsKLWV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGRzaV9kcml2ZXI7Ci1l eHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtaXhlcl9kcml2ZXI7Ci1leHRlcm4gc3RydWN0 IHBsYXRmb3JtX2RyaXZlciBoZG1pX2RyaXZlcjsKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJp dmVyIGV4eW5vc19kcm1fY29tbW9uX2hkbWlfZHJpdmVyOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9y bV9kcml2ZXIgdmlkaV9kcml2ZXI7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBnMmRf ZHJpdmVyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rz aS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RzaS5jCmluZGV4IDY2ZDQy N2UuLmViYzMzODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2Ry bV9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHNpLmMKQEAg LTE3OTksNiArMTc5OSwxOSBAQCBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGRzaV9kcml2ZXIgPSB7 CiAJfSwKIH07CiAKK3N0YXRpYyBpbnQgZXh5bm9zX2RzaV9kcml2ZXJfaW5pdCh2b2lkKQorewor CXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoJmRzaV9kcml2ZXIpOworfQorCitzdGF0 aWMgdm9pZCBleHlub3NfZHNpX2RyaXZlcl9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVy X3VucmVnaXN0ZXIoJmRzaV9kcml2ZXIpOworfQorCittb2R1bGVfaW5pdChleHlub3NfZHNpX2Ry aXZlcl9pbml0KTsKK21vZHVsZV9leGl0KGV4eW5vc19kc2lfZHJpdmVyX2V4aXQpOworCiBNT0RV TEVfQVVUSE9SKCJUb21hc3ogRmlnYSA8dC5maWdhQHNhbXN1bmcuY29tPiIpOwogTU9EVUxFX0FV VEhPUigiQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4iKTsKIE1PRFVMRV9ERVND UklQVElPTigiU2Ftc3VuZyBTb0MgTUlQSSBEU0kgTWFzdGVyIik7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZmltZC5jIGIvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHJtX2ZpbWQuYwppbmRleCAwNjczYTM5Li5lZWQ1MWM2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZmltZC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9maW1kLmMKQEAgLTEyNDAsMyArMTI0MCwxNiBAQCBz dHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGZpbWRfZHJpdmVyID0gewogCQkub2ZfbWF0Y2hfdGFibGUg PSBmaW1kX2RyaXZlcl9kdF9tYXRjaCwKIAl9LAogfTsKKworc3RhdGljIGludCBleHlub3NfZHJt X2ZpbWRfaW5pdCh2b2lkKQoreworCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoJmZp bWRfZHJpdmVyKTsKK30KKworc3RhdGljIHZvaWQgZXh5bm9zX2RybV9maW1kX2V4aXQodm9pZCkK K3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmZmltZF9kcml2ZXIpOworfQorCittb2R1 bGVfaW5pdChleHlub3NfZHJtX2ZpbWRfaW5pdCk7Cittb2R1bGVfZXhpdChleHlub3NfZHJtX2Zp bWRfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1p LmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMKaW5kZXggNTYzYTE5ZS4u ODMxOThmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYwpAQCAtMjUzNywzICsy NTM3LDE2IEBAIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgaGRtaV9kcml2ZXIgPSB7CiAJCS5vZl9t YXRjaF90YWJsZSA9IGhkbWlfbWF0Y2hfdHlwZXMsCiAJfSwKIH07CisKK3N0YXRpYyBpbnQgaGRt aV9pbml0KHZvaWQpCit7CisJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmaGRtaV9k cml2ZXIpOworfQorCitzdGF0aWMgdm9pZCBoZG1pX2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9k cml2ZXJfdW5yZWdpc3RlcigmaGRtaV9kcml2ZXIpOworfQorCittb2R1bGVfaW5pdChoZG1pX2lu aXQpOworbW9kdWxlX2V4aXQoaGRtaV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX21peGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19t aXhlci5jCmluZGV4IGE0MWM4NGUuLjRkODEyZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX21peGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfbWl4ZXIuYwpAQCAtMTM0OSwzICsxMzQ5LDE2IEBAIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIg bWl4ZXJfZHJpdmVyID0gewogCS5yZW1vdmUgPSBtaXhlcl9yZW1vdmUsCiAJLmlkX3RhYmxlCT0g bWl4ZXJfZHJpdmVyX3R5cGVzLAogfTsKKworc3RhdGljIGludCBtaXhlcl9pbml0KHZvaWQpCit7 CisJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmbWl4ZXJfZHJpdmVyKTsKK30KKwor c3RhdGljIHZvaWQgbWl4ZXJfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lz dGVyKCZtaXhlcl9kcml2ZXIpOworfQorCittb2R1bGVfaW5pdChtaXhlcl9pbml0KTsKK21vZHVs ZV9leGl0KG1peGVyX2V4aXQpOwotLSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK