From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH v3 2/3] drm/msm: Centralize connector registration/unregistration Date: Mon, 2 May 2016 11:05:53 +0530 Message-ID: <1462167354-3014-3-git-send-email-architt@codeaurora.org> References: <1461579402-14301-1-git-send-email-architt@codeaurora.org> <1462167354-3014-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1462167354-3014-1-git-send-email-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: robdclark@gmail.com Cc: linux-arm-msm@vger.kernel.org, twp@codeaurora.org, dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org TW92ZSB0aGUgZHJtX2Nvbm5lY3RvciByZWdpc3RyYXRpb24gZnJvbSB0aGUgZW5jb2RlcihIRE1J L0RTSSBldGMpIGRyaXZlcnMKdG8gdGhlIG1zbSBwbGF0Zm9ybSBkcml2ZXIuIFRoaXMgd2lsbCBz aW1wbGlmeSB0aGUgdGFzayBvZiBlbnN1cmluZyB0aGF0CnRoZSBjb25uZWN0b3JzIGFyZSByZWdp c3RlcmVkIG9ubHkgYWZ0ZXIgdGhlIGRybV9kZXZpY2UgaXRzZWxmIGlzCnJlZ2lzdGVyZWQuCgpU aGUgY29ubmVjdG9ycycgZGVzdHJveSBvcHMgYXJlIG1hZGUgdG8gdXNlIGt6YWxsb2MgaW5zdGVh ZCBvZgpkZXZtX2t6YWxsb2MgdG8gZW5zdXJlIHRoYXQgdGhhdCB0aGUgY29ubmVjdG9ycyBjYW4g YmUgc3VjY2Vzc2Z1bGx5CnVucmVnaXN0ZXJlZCB3aGVuIHRoZSBtc20gZHJpdmVyIG1vZHVsZSBp cyByZW1vdmVkLiBUaGUgbWVtb3J5IGZvciB0aGUKY29ubmVjdG9ycyBpcyB1bmFsbG9jYXRlZCB3 aGVuIGRybV9tb2RlX2NvbmZpZ19jbGVhbnVwKCkgaXMgY2FsbGVkCmR1cmluZyBlaXRoZXIgZHVy aW5nIGFuIGVycm9yIG9yIGR1cmluZyBkcml2ZXIgcmVtb3ZlLgoKU2lnbmVkLW9mZi1ieTogQXJj aGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v bXNtL2RzaS9kc2lfbWFuYWdlci5jICAgICAgICAgICAgICB8IDI3ICsrKysrKysrLS0tLS0tLS0t LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZWRwL2VkcF9jb25uZWN0b3IuYyAgICAgICAgICAg IHwgMjAgKysrKy0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWlfY29u bmVjdG9yLmMgICAgICAgICAgfCAxNyArKystLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNC9tZHA0X2x2ZHNfY29ubmVjdG9yLmMgfCAxNiArKy0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYyAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsrKysr KysKIDUgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgNjIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMKaW5kZXggNThiYTdlYy4uYzhkMWYxOSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jCkBAIC0xOTgsOSArMTk4LDEzIEBA IHN0YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIGRzaV9tZ3JfY29ubmVjdG9yX2RldGVj dCgKIAogc3RhdGljIHZvaWQgZHNpX21ncl9jb25uZWN0b3JfZGVzdHJveShzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKQogeworCXN0cnVjdCBkc2lfY29ubmVjdG9yICpkc2lfY29ubmVj dG9yID0gdG9fZHNpX2Nvbm5lY3Rvcihjb25uZWN0b3IpOworCiAJREJHKCIiKTsKLQlkcm1fY29u bmVjdG9yX3VucmVnaXN0ZXIoY29ubmVjdG9yKTsKKwogCWRybV9jb25uZWN0b3JfY2xlYW51cChj b25uZWN0b3IpOworCisJa2ZyZWUoZHNpX2Nvbm5lY3Rvcik7CiB9CiAKIHN0YXRpYyB2b2lkIGRz aV9kdWFsX2Nvbm5lY3Rvcl9maXhfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKQEAgLTUzOCwxMiArNTQyLDkgQEAgc3RydWN0IGRybV9jb25uZWN0b3IgKm1zbV9kc2lfbWFu YWdlcl9jb25uZWN0b3JfaW5pdCh1OCBpZCkKIAlzdHJ1Y3QgZHNpX2Nvbm5lY3RvciAqZHNpX2Nv bm5lY3RvcjsKIAlpbnQgcmV0LCBpOwogCi0JZHNpX2Nvbm5lY3RvciA9IGRldm1fa3phbGxvYyht c21fZHNpLT5kZXYtPmRldiwKLQkJCQlzaXplb2YoKmRzaV9jb25uZWN0b3IpLCBHRlBfS0VSTkVM KTsKLQlpZiAoIWRzaV9jb25uZWN0b3IpIHsKLQkJcmV0ID0gLUVOT01FTTsKLQkJZ290byBmYWls OwotCX0KKwlkc2lfY29ubmVjdG9yID0ga3phbGxvYyhzaXplb2YoKmRzaV9jb25uZWN0b3IpLCBH RlBfS0VSTkVMKTsKKwlpZiAoIWRzaV9jb25uZWN0b3IpCisJCXJldHVybiBFUlJfUFRSKC1FTk9N RU0pOwogCiAJZHNpX2Nvbm5lY3Rvci0+aWQgPSBpZDsKIApAQCAtNTUyLDcgKzU1Myw3IEBAIHN0 cnVjdCBkcm1fY29ubmVjdG9yICptc21fZHNpX21hbmFnZXJfY29ubmVjdG9yX2luaXQodTggaWQp CiAJcmV0ID0gZHJtX2Nvbm5lY3Rvcl9pbml0KG1zbV9kc2ktPmRldiwgY29ubmVjdG9yLAogCQkJ JmRzaV9tZ3JfY29ubmVjdG9yX2Z1bmNzLCBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKIAlpZiAo cmV0KQotCQlnb3RvIGZhaWw7CisJCXJldHVybiBFUlJfUFRSKHJldCk7CiAKIAlkcm1fY29ubmVj dG9yX2hlbHBlcl9hZGQoY29ubmVjdG9yLCAmZHNpX21ncl9jb25uX2hlbHBlcl9mdW5jcyk7CiAK QEAgLTU2NSwyMSArNTY2LDExIEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yICptc21fZHNpX21hbmFn ZXJfY29ubmVjdG9yX2luaXQodTggaWQpCiAJY29ubmVjdG9yLT5pbnRlcmxhY2VfYWxsb3dlZCA9 IDA7CiAJY29ubmVjdG9yLT5kb3VibGVzY2FuX2FsbG93ZWQgPSAwOwogCi0JcmV0ID0gZHJtX2Nv bm5lY3Rvcl9yZWdpc3Rlcihjb25uZWN0b3IpOwotCWlmIChyZXQpCi0JCWdvdG8gZmFpbDsKLQog CWZvciAoaSA9IDA7IGkgPCBNU01fRFNJX0VOQ09ERVJfTlVNOyBpKyspCiAJCWRybV9tb2RlX2Nv bm5lY3Rvcl9hdHRhY2hfZW5jb2Rlcihjb25uZWN0b3IsCiAJCQkJCQltc21fZHNpLT5lbmNvZGVy c1tpXSk7CiAKIAlyZXR1cm4gY29ubmVjdG9yOwotCi1mYWlsOgotCWlmIChjb25uZWN0b3IpCi0J CWRzaV9tZ3JfY29ubmVjdG9yX2Rlc3Ryb3koY29ubmVjdG9yKTsKLQotCXJldHVybiBFUlJfUFRS KHJldCk7CiB9CiAKIC8qIGluaXRpYWxpemUgYnJpZGdlICovCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2VkcC9lZHBfY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Vk cC9lZHBfY29ubmVjdG9yLmMKaW5kZXggYjRkMWI0Ni4uNzIzNjBjZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL21zbS9lZHAvZWRwX2Nvbm5lY3Rvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZWRwL2VkcF9jb25uZWN0b3IuYwpAQCAtMzcsNyArMzcsNyBAQCBzdGF0aWMgdm9pZCBl ZHBfY29ubmVjdG9yX2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlz dHJ1Y3QgZWRwX2Nvbm5lY3RvciAqZWRwX2Nvbm5lY3RvciA9IHRvX2VkcF9jb25uZWN0b3IoY29u bmVjdG9yKTsKIAogCURCRygiIik7Ci0JZHJtX2Nvbm5lY3Rvcl91bnJlZ2lzdGVyKGNvbm5lY3Rv cik7CisKIAlkcm1fY29ubmVjdG9yX2NsZWFudXAoY29ubmVjdG9yKTsKIAogCWtmcmVlKGVkcF9j b25uZWN0b3IpOwpAQCAtMTI0LDEwICsxMjQsOCBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqbXNt X2VkcF9jb25uZWN0b3JfaW5pdChzdHJ1Y3QgbXNtX2VkcCAqZWRwKQogCWludCByZXQ7CiAKIAll ZHBfY29ubmVjdG9yID0ga3phbGxvYyhzaXplb2YoKmVkcF9jb25uZWN0b3IpLCBHRlBfS0VSTkVM KTsKLQlpZiAoIWVkcF9jb25uZWN0b3IpIHsKLQkJcmV0ID0gLUVOT01FTTsKLQkJZ290byBmYWls OwotCX0KKwlpZiAoIWVkcF9jb25uZWN0b3IpCisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwog CiAJZWRwX2Nvbm5lY3Rvci0+ZWRwID0gZWRwOwogCkBAIC0xMzYsNyArMTM0LDcgQEAgc3RydWN0 IGRybV9jb25uZWN0b3IgKm1zbV9lZHBfY29ubmVjdG9yX2luaXQoc3RydWN0IG1zbV9lZHAgKmVk cCkKIAlyZXQgPSBkcm1fY29ubmVjdG9yX2luaXQoZWRwLT5kZXYsIGNvbm5lY3RvciwgJmVkcF9j b25uZWN0b3JfZnVuY3MsCiAJCQlEUk1fTU9ERV9DT05ORUNUT1JfZURQKTsKIAlpZiAocmV0KQot CQlnb3RvIGZhaWw7CisJCXJldHVybiBFUlJfUFRSKHJldCk7CiAKIAlkcm1fY29ubmVjdG9yX2hl bHBlcl9hZGQoY29ubmVjdG9yLCAmZWRwX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MpOwogCkBAIC0x NDcsMTcgKzE0NSw3IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yICptc21fZWRwX2Nvbm5lY3Rvcl9p bml0KHN0cnVjdCBtc21fZWRwICplZHApCiAJY29ubmVjdG9yLT5pbnRlcmxhY2VfYWxsb3dlZCA9 IGZhbHNlOwogCWNvbm5lY3Rvci0+ZG91Ymxlc2Nhbl9hbGxvd2VkID0gZmFsc2U7CiAKLQlyZXQg PSBkcm1fY29ubmVjdG9yX3JlZ2lzdGVyKGNvbm5lY3Rvcik7Ci0JaWYgKHJldCkKLQkJZ290byBm YWlsOwotCiAJZHJtX21vZGVfY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKGNvbm5lY3RvciwgZWRw LT5lbmNvZGVyKTsKIAogCXJldHVybiBjb25uZWN0b3I7Ci0KLWZhaWw6Ci0JaWYgKGNvbm5lY3Rv cikKLQkJZWRwX2Nvbm5lY3Rvcl9kZXN0cm95KGNvbm5lY3Rvcik7Ci0KLQlyZXR1cm4gRVJSX1BU UihyZXQpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWlfY29u bmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaV9jb25uZWN0b3IuYwppbmRl eCBlMzUwYjJlLi5iMTVkNzI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkv aGRtaV9jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaV9jb25u ZWN0b3IuYwpAQCAtMzQ2LDcgKzM0Niw2IEBAIHN0YXRpYyB2b2lkIGhkbWlfY29ubmVjdG9yX2Rl c3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogCWhkcF9kaXNhYmxlKGhk bWlfY29ubmVjdG9yKTsKIAotCWRybV9jb25uZWN0b3JfdW5yZWdpc3Rlcihjb25uZWN0b3IpOwog CWRybV9jb25uZWN0b3JfY2xlYW51cChjb25uZWN0b3IpOwogCiAJa2ZyZWUoaGRtaV9jb25uZWN0 b3IpOwpAQCAtNDM4LDEwICs0MzcsOCBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqbXNtX2hkbWlf Y29ubmVjdG9yX2luaXQoc3RydWN0IGhkbWkgKmhkbWkpCiAJaW50IHJldDsKIAogCWhkbWlfY29u bmVjdG9yID0ga3phbGxvYyhzaXplb2YoKmhkbWlfY29ubmVjdG9yKSwgR0ZQX0tFUk5FTCk7Ci0J aWYgKCFoZG1pX2Nvbm5lY3RvcikgewotCQlyZXQgPSAtRU5PTUVNOwotCQlnb3RvIGZhaWw7Ci0J fQorCWlmICghaGRtaV9jb25uZWN0b3IpCisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCiAJ aGRtaV9jb25uZWN0b3ItPmhkbWkgPSBoZG1pOwogCUlOSVRfV09SSygmaGRtaV9jb25uZWN0b3It PmhwZF93b3JrLCBtc21faGRtaV9ob3RwbHVnX3dvcmspOwpAQCAtNDU4LDIxICs0NTUsMTMgQEAg c3RydWN0IGRybV9jb25uZWN0b3IgKm1zbV9oZG1pX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBoZG1p ICpoZG1pKQogCWNvbm5lY3Rvci0+aW50ZXJsYWNlX2FsbG93ZWQgPSAwOwogCWNvbm5lY3Rvci0+ ZG91Ymxlc2Nhbl9hbGxvd2VkID0gMDsKIAotCWRybV9jb25uZWN0b3JfcmVnaXN0ZXIoY29ubmVj dG9yKTsKLQogCXJldCA9IGhwZF9lbmFibGUoaGRtaV9jb25uZWN0b3IpOwogCWlmIChyZXQpIHsK IAkJZGV2X2VycigmaGRtaS0+cGRldi0+ZGV2LCAiZmFpbGVkIHRvIGVuYWJsZSBIUEQ6ICVkXG4i LCByZXQpOwotCQlnb3RvIGZhaWw7CisJCXJldHVybiBFUlJfUFRSKHJldCk7CiAJfQogCiAJZHJt X21vZGVfY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKGNvbm5lY3RvciwgaGRtaS0+ZW5jb2Rlcik7 CiAKIAlyZXR1cm4gY29ubmVjdG9yOwotCi1mYWlsOgotCWlmIChjb25uZWN0b3IpCi0JCWhkbWlf Y29ubmVjdG9yX2Rlc3Ryb3koY29ubmVjdG9yKTsKLQotCXJldHVybiBFUlJfUFRSKHJldCk7CiB9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfbHZkc19jb25u ZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rv ci5jCmluZGV4IGU3M2UxNzQuLjI2NDhjZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9t c20vbWRwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vbWRwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jCkBAIC00OCw3ICs0OCw2IEBAIHN0YXRp YyB2b2lkIG1kcDRfbHZkc19jb25uZWN0b3JfZGVzdHJveShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogCXN0cnVjdCBtZHA0X2x2ZHNfY29ubmVjdG9yICptZHA0X2x2ZHNfY29ubmVj dG9yID0KIAkJCXRvX21kcDRfbHZkc19jb25uZWN0b3IoY29ubmVjdG9yKTsKIAotCWRybV9jb25u ZWN0b3JfdW5yZWdpc3Rlcihjb25uZWN0b3IpOwogCWRybV9jb25uZWN0b3JfY2xlYW51cChjb25u ZWN0b3IpOwogCiAJa2ZyZWUobWRwNF9sdmRzX2Nvbm5lY3Rvcik7CkBAIC0xMjEsMTMgKzEyMCwx MCBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqbWRwNF9sdmRzX2Nvbm5lY3Rvcl9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiB7CiAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9 IE5VTEw7CiAJc3RydWN0IG1kcDRfbHZkc19jb25uZWN0b3IgKm1kcDRfbHZkc19jb25uZWN0b3I7 Ci0JaW50IHJldDsKIAogCW1kcDRfbHZkc19jb25uZWN0b3IgPSBremFsbG9jKHNpemVvZigqbWRw NF9sdmRzX2Nvbm5lY3RvciksIEdGUF9LRVJORUwpOwotCWlmICghbWRwNF9sdmRzX2Nvbm5lY3Rv cikgewotCQlyZXQgPSAtRU5PTUVNOwotCQlnb3RvIGZhaWw7Ci0JfQorCWlmICghbWRwNF9sdmRz X2Nvbm5lY3RvcikKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKIAltZHA0X2x2ZHNfY29u bmVjdG9yLT5lbmNvZGVyID0gZW5jb2RlcjsKIAltZHA0X2x2ZHNfY29ubmVjdG9yLT5wYW5lbF9u b2RlID0gcGFuZWxfbm9kZTsKQEAgLTE0MywxNSArMTM5LDcgQEAgc3RydWN0IGRybV9jb25uZWN0 b3IgKm1kcDRfbHZkc19jb25uZWN0b3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWNv bm5lY3Rvci0+aW50ZXJsYWNlX2FsbG93ZWQgPSAwOwogCWNvbm5lY3Rvci0+ZG91Ymxlc2Nhbl9h bGxvd2VkID0gMDsKIAotCWRybV9jb25uZWN0b3JfcmVnaXN0ZXIoY29ubmVjdG9yKTsKLQogCWRy bV9tb2RlX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2Rlcihjb25uZWN0b3IsIGVuY29kZXIpOwogCiAJ cmV0dXJuIGNvbm5lY3RvcjsKLQotZmFpbDoKLQlpZiAoY29ubmVjdG9yKQotCQltZHA0X2x2ZHNf Y29ubmVjdG9yX2Rlc3Ryb3koY29ubmVjdG9yKTsKLQotCXJldHVybiBFUlJfUFRSKHJldCk7CiB9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2Rydi5jCmluZGV4IGMwM2I5NjcuLjhjNWIyNTcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNt X2Rydi5jCkBAIC0xOTcsNiArMTk3LDggQEAgc3RhdGljIGludCBtc21fdW5sb2FkKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiAKIAlkcm1fa21zX2hlbHBlcl9wb2xsX2ZpbmkoZGV2KTsKIAorCWRy bV9jb25uZWN0b3JfdW5yZWdpc3Rlcl9hbGwoZGV2KTsKKwogI2lmZGVmIENPTkZJR19EUk1fRkJE RVZfRU1VTEFUSU9OCiAJaWYgKGZiZGV2ICYmIHByaXYtPmZiZGV2KQogCQltc21fZmJkZXZfZnJl ZShkZXYpOwpAQCAtNDEwLDYgKzQxMiwxMiBAQCBzdGF0aWMgaW50IG1zbV9sb2FkKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAJCWdvdG8gZmFpbDsKIAl9CiAK KwlyZXQgPSBkcm1fY29ubmVjdG9yX3JlZ2lzdGVyX2FsbChkZXYpOworCWlmIChyZXQpIHsKKwkJ ZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBjb25uZWN0b3JzXG4iKTsKKwkJ Z290byBmYWlsOworCX0KKwogCWRybV9tb2RlX2NvbmZpZ19yZXNldChkZXYpOwogCiAjaWZkZWYg Q09ORklHX0RSTV9GQkRFVl9FTVVMQVRJT04KLS0gClRoZSBRdWFsY29tbSBJbm5vdmF0aW9uIENl bnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBBdXJvcmEgRm9ydW0sCmhvc3RlZCBi eSBUaGUgTGludXggRm91bmRhdGlvbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==