From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: [PATCH v1 03/19] drm/panel: samsung: use DRM_DEV* Date: Thu, 31 Jan 2019 20:26:03 +0100 Message-ID: <20190131192619.9763-4-sam@ravnborg.org> References: <20190131192619.9763-1-sam@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf1-x141.google.com (mail-lf1-x141.google.com [IPv6:2a00:1450:4864:20::141]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1EBC96ED45 for ; Thu, 31 Jan 2019 19:26:39 +0000 (UTC) Received: by mail-lf1-x141.google.com with SMTP id v5so3220541lfe.7 for ; Thu, 31 Jan 2019 11:26:39 -0800 (PST) In-Reply-To: <20190131192619.9763-1-sam@ravnborg.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding , dri-devel@lists.freedesktop.org Cc: Stefan Mavrodiev , David Airlie , linux-kernel@vger.kernel.org, Sam Ravnborg List-Id: dri-devel@lists.freedesktop.org SW50cm9kdWNlIHVzZSBvZiBEUk1fREVWKiBmb3IgbG9nZ2luZy4KVGhpcyBtYWtlcyBsb2dnaW5n IGluIHRoZSBkcm0gc3Vic3lzdGVtIG1vcmUgY29uc2lzdGVudC4KClNpZ25lZC1vZmYtYnk6IFNh bSBSYXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KQ2M6IFRoaWVycnkgUmVkaW5nIDx0aGllcnJ5 LnJlZGluZ0BnbWFpbC5jb20+CkNjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+CkNj OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXNhbXN1bmctbGQ5MDQwLmMgICAgIHwgMTIgKysrKystLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTNoYTIuYyAgICB8IDE1ICsrKysrKystLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU2M2oweDAzLmMgfCAg OCArKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGFhMC5j ICAgIHwgMjYgKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDMyIGlu c2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1zYW1zdW5nLWxkOTA0MC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXNhbXN1bmctbGQ5MDQwLmMKaW5kZXggN2QyN2I3OWQwYjJhLi5mZWM2MzljMTlkNzQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLWxkOTA0MC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLWxkOTA0MC5jCkBAIC0xNDks NyArMTQ5LDcgQEAgc3RhdGljIHZvaWQgbGQ5MDQwX2Rjc193cml0ZShzdHJ1Y3QgbGQ5MDQwICpj dHgsIGNvbnN0IHU4ICpkYXRhLCBzaXplX3QgbGVuKQogCWlmIChjdHgtPmVycm9yIDwgMCB8fCBs ZW4gPT0gMCkKIAkJcmV0dXJuOwogCi0JZGV2X2RiZyhjdHgtPmRldiwgIndyaXRpbmcgZGNzIHNl cTogJSpwaFxuIiwgKGludClsZW4sIGRhdGEpOworCURSTV9ERVZfREVCVUcoY3R4LT5kZXYsICJ3 cml0aW5nIGRjcyBzZXE6ICUqcGhcbiIsIChpbnQpbGVuLCBkYXRhKTsKIAlyZXQgPSBsZDkwNDBf c3BpX3dyaXRlX3dvcmQoY3R4LCAqZGF0YSk7CiAKIAl3aGlsZSAoIXJldCAmJiAtLWxlbikgewpA QCAtMTU4LDggKzE1OCw4IEBAIHN0YXRpYyB2b2lkIGxkOTA0MF9kY3Nfd3JpdGUoc3RydWN0IGxk OTA0MCAqY3R4LCBjb25zdCB1OCAqZGF0YSwgc2l6ZV90IGxlbikKIAl9CiAKIAlpZiAocmV0KSB7 Ci0JCWRldl9lcnIoY3R4LT5kZXYsICJlcnJvciAlZCB3cml0aW5nIGRjcyBzZXE6ICUqcGhcbiIs IHJldCwKLQkJCShpbnQpbGVuLCBkYXRhKTsKKwkJRFJNX0RFVl9FUlJPUihjdHgtPmRldiwgImVy cm9yICVkIHdyaXRpbmcgZGNzIHNlcTogJSpwaFxuIiwKKwkJCSAgICAgIHJldCwgKGludClsZW4s IGRhdGEpOwogCQljdHgtPmVycm9yID0gcmV0OwogCX0KIApAQCAtMzQyLDE1ICszNDIsMTUgQEAg c3RhdGljIGludCBsZDkwNDBfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKIAogCWN0eC0+ cmVzZXRfZ3BpbyA9IGRldm1fZ3Bpb2RfZ2V0KGRldiwgInJlc2V0IiwgR1BJT0RfT1VUX0hJR0gp OwogCWlmIChJU19FUlIoY3R4LT5yZXNldF9ncGlvKSkgewotCQlkZXZfZXJyKGRldiwgImNhbm5v dCBnZXQgcmVzZXQtZ3Bpb3MgJWxkXG4iLAotCQkJUFRSX0VSUihjdHgtPnJlc2V0X2dwaW8pKTsK KwkJRFJNX0RFVl9FUlJPUihkZXYsICJjYW5ub3QgZ2V0IHJlc2V0LWdwaW9zICVsZFxuIiwKKwkJ CSAgICAgIFBUUl9FUlIoY3R4LT5yZXNldF9ncGlvKSk7CiAJCXJldHVybiBQVFJfRVJSKGN0eC0+ cmVzZXRfZ3Bpbyk7CiAJfQogCiAJc3BpLT5iaXRzX3Blcl93b3JkID0gOTsKIAlyZXQgPSBzcGlf c2V0dXAoc3BpKTsKIAlpZiAocmV0IDwgMCkgewotCQlkZXZfZXJyKGRldiwgInNwaSBzZXR1cCBm YWlsZWQuXG4iKTsKKwkJRFJNX0RFVl9FUlJPUihkZXYsICJzcGkgc2V0dXAgZmFpbGVkLlxuIik7 CiAJCXJldHVybiByZXQ7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtc2Ftc3VuZy1zNmUzaGEyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ft c3VuZy1zNmUzaGEyLmMKaW5kZXggODEzYWZlZTgyZWM5Li5lMmYyZWUyNTI0MDkgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTNoYTIuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmUzaGEyLmMKQEAgLTQ1OCw3ICs0 NTgsOCBAQCBzdGF0aWMgaW50IHM2ZTNoYTJfc2V0X2JyaWdodG5lc3Moc3RydWN0IGJhY2tsaWdo dF9kZXZpY2UgKmJsX2RldikKIAogCWlmIChicmlnaHRuZXNzIDwgUzZFM0hBMl9NSU5fQlJJR0hU TkVTUyB8fAogCQlicmlnaHRuZXNzID4gYmxfZGV2LT5wcm9wcy5tYXhfYnJpZ2h0bmVzcykgewot CQlkZXZfZXJyKGN0eC0+ZGV2LCAiSW52YWxpZCBicmlnaHRuZXNzOiAldVxuIiwgYnJpZ2h0bmVz cyk7CisJCURSTV9ERVZfRVJST1IoY3R4LT5kZXYsICJJbnZhbGlkIGJyaWdodG5lc3M6ICV1XG4i LAorCQkJICAgICAgYnJpZ2h0bmVzcyk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIApAQCAtNzA2 LDI4ICs3MDcsMjggQEAgc3RhdGljIGludCBzNmUzaGEyX3Byb2JlKHN0cnVjdCBtaXBpX2RzaV9k ZXZpY2UgKmRzaSkKIAlyZXQgPSBkZXZtX3JlZ3VsYXRvcl9idWxrX2dldChkZXYsIEFSUkFZX1NJ WkUoY3R4LT5zdXBwbGllcyksCiAJCQkJICAgICAgY3R4LT5zdXBwbGllcyk7CiAJaWYgKHJldCA8 IDApIHsKLQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IHJlZ3VsYXRvcnM6ICVkXG4iLCBy ZXQpOworCQlEUk1fREVWX0VSUk9SKGRldiwgImZhaWxlZCB0byBnZXQgcmVndWxhdG9yczogJWRc biIsIHJldCk7CiAJCXJldHVybiByZXQ7CiAJfQogCiAJY3R4LT5yZXNldF9ncGlvID0gZGV2bV9n cGlvZF9nZXQoZGV2LCAicmVzZXQiLCBHUElPRF9PVVRfTE9XKTsKIAlpZiAoSVNfRVJSKGN0eC0+ cmVzZXRfZ3BpbykpIHsKLQkJZGV2X2VycihkZXYsICJjYW5ub3QgZ2V0IHJlc2V0LWdwaW9zICVs ZFxuIiwKLQkJCVBUUl9FUlIoY3R4LT5yZXNldF9ncGlvKSk7CisJCURSTV9ERVZfRVJST1IoZGV2 LCAiY2Fubm90IGdldCByZXNldC1ncGlvcyAlbGRcbiIsCisJCQkgICAgICBQVFJfRVJSKGN0eC0+ cmVzZXRfZ3BpbykpOwogCQlyZXR1cm4gUFRSX0VSUihjdHgtPnJlc2V0X2dwaW8pOwogCX0KIAog CWN0eC0+ZW5hYmxlX2dwaW8gPSBkZXZtX2dwaW9kX2dldChkZXYsICJlbmFibGUiLCBHUElPRF9P VVRfSElHSCk7CiAJaWYgKElTX0VSUihjdHgtPmVuYWJsZV9ncGlvKSkgewotCQlkZXZfZXJyKGRl diwgImNhbm5vdCBnZXQgZW5hYmxlLWdwaW9zICVsZFxuIiwKLQkJCVBUUl9FUlIoY3R4LT5lbmFi bGVfZ3BpbykpOworCQlEUk1fREVWX0VSUk9SKGRldiwgImNhbm5vdCBnZXQgZW5hYmxlLWdwaW9z ICVsZFxuIiwKKwkJCSAgICAgIFBUUl9FUlIoY3R4LT5lbmFibGVfZ3BpbykpOwogCQlyZXR1cm4g UFRSX0VSUihjdHgtPmVuYWJsZV9ncGlvKTsKIAl9CiAKIAljdHgtPmJsX2RldiA9IGJhY2tsaWdo dF9kZXZpY2VfcmVnaXN0ZXIoInM2ZTNoYTIiLCBkZXYsIGN0eCwKIAkJCQkJCSZzNmUzaGEyX2Js X29wcywgTlVMTCk7CiAJaWYgKElTX0VSUihjdHgtPmJsX2RldikpIHsKLQkJZGV2X2VycihkZXYs ICJmYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0IGRldmljZVxuIik7CisJCURSTV9ERVZfRVJS T1IoZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIGJhY2tsaWdodCBkZXZpY2VcbiIpOwogCQlyZXR1 cm4gUFRSX0VSUihjdHgtPmJsX2Rldik7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU2M2oweDAzLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtc2Ftc3VuZy1zNmU2M2oweDAzLmMKaW5kZXggZjFjODAwMGUwMzg2Li5kZDUwZjQw ODk5MjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2 ZTYzajB4MDMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU2 M2oweDAzLmMKQEAgLTQ1OCwxNCArNDU4LDE0IEBAIHN0YXRpYyBpbnQgczZlNjNqMHgwM19wcm9i ZShzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2kpCiAJcmV0ID0gZGV2bV9yZWd1bGF0b3JfYnVs a19nZXQoZGV2LCBBUlJBWV9TSVpFKGN0eC0+c3VwcGxpZXMpLAogCQkJCSAgICAgIGN0eC0+c3Vw cGxpZXMpOwogCWlmIChyZXQgPCAwKSB7Ci0JCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGdldCBy ZWd1bGF0b3JzOiAlZFxuIiwgcmV0KTsKKwkJRFJNX0RFVl9FUlJPUihkZXYsICJmYWlsZWQgdG8g Z2V0IHJlZ3VsYXRvcnM6ICVkXG4iLCByZXQpOwogCQlyZXR1cm4gcmV0OwogCX0KIAogCWN0eC0+ cmVzZXRfZ3BpbyA9IGRldm1fZ3Bpb2RfZ2V0KGRldiwgInJlc2V0IiwgR1BJT0RfT1VUX0xPVyk7 CiAJaWYgKElTX0VSUihjdHgtPnJlc2V0X2dwaW8pKSB7Ci0JCWRldl9lcnIoZGV2LCAiY2Fubm90 IGdldCByZXNldC1ncGlvOiAlbGRcbiIsCi0JCQkJUFRSX0VSUihjdHgtPnJlc2V0X2dwaW8pKTsK KwkJRFJNX0RFVl9FUlJPUihkZXYsICJjYW5ub3QgZ2V0IHJlc2V0LWdwaW86ICVsZFxuIiwKKwkJ CSAgICAgIFBUUl9FUlIoY3R4LT5yZXNldF9ncGlvKSk7CiAJCXJldHVybiBQVFJfRVJSKGN0eC0+ cmVzZXRfZ3Bpbyk7CiAJfQogCkBAIC00NzYsNyArNDc2LDcgQEAgc3RhdGljIGludCBzNmU2M2ow eDAzX3Byb2JlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKIAljdHgtPmJsX2RldiA9IGJh Y2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoInM2ZTYzajB4MDMiLCBkZXYsIGN0eCwKIAkJCQkJCSZz NmU2M2oweDAzX2JsX29wcywgTlVMTCk7CiAJaWYgKElTX0VSUihjdHgtPmJsX2RldikpIHsKLQkJ ZGV2X2VycihkZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0IGRldmljZVxuIik7CisJ CURSTV9ERVZfRVJST1IoZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIGJhY2tsaWdodCBkZXZpY2Vc biIpOwogCQlyZXR1cm4gUFRSX0VSUihjdHgtPmJsX2Rldik7CiAJfQogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU4YWEwLmMgYi9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU4YWEwLmMKaW5kZXggYjI1MmQyM2YzODZmLi5l M2UwNzY2YzNhMTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1z dW5nLXM2ZThhYTAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1z NmU4YWEwLmMKQEAgLTE0Nyw4ICsxNDcsOCBAQCBzdGF0aWMgdm9pZCBzNmU4YWEwX2Rjc193cml0 ZShzdHJ1Y3QgczZlOGFhMCAqY3R4LCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgbGVuKQogCiAJ cmV0ID0gbWlwaV9kc2lfZGNzX3dyaXRlX2J1ZmZlcihkc2ksIGRhdGEsIGxlbik7CiAJaWYgKHJl dCA8IDApIHsKLQkJZGV2X2VycihjdHgtPmRldiwgImVycm9yICV6ZCB3cml0aW5nIGRjcyBzZXE6 ICUqcGhcbiIsIHJldCwKLQkJCShpbnQpbGVuLCBkYXRhKTsKKwkJRFJNX0RFVl9FUlJPUihjdHgt PmRldiwgImVycm9yICV6ZCB3cml0aW5nIGRjcyBzZXE6ICUqcGhcbiIsCisJCQkgICAgICByZXQs IChpbnQpbGVuLCBkYXRhKTsKIAkJY3R4LT5lcnJvciA9IHJldDsKIAl9CiB9CkBAIC0xNjMsNyAr MTYzLDggQEAgc3RhdGljIGludCBzNmU4YWEwX2Rjc19yZWFkKHN0cnVjdCBzNmU4YWEwICpjdHgs IHU4IGNtZCwgdm9pZCAqZGF0YSwgc2l6ZV90IGxlbikKIAogCXJldCA9IG1pcGlfZHNpX2Rjc19y ZWFkKGRzaSwgY21kLCBkYXRhLCBsZW4pOwogCWlmIChyZXQgPCAwKSB7Ci0JCWRldl9lcnIoY3R4 LT5kZXYsICJlcnJvciAlZCByZWFkaW5nIGRjcyBzZXEoJSN4KVxuIiwgcmV0LCBjbWQpOworCQlE Uk1fREVWX0VSUk9SKGN0eC0+ZGV2LCAiZXJyb3IgJWQgcmVhZGluZyBkY3Mgc2VxKCUjeClcbiIs CisJCQkgICAgICByZXQsIGNtZCk7CiAJCWN0eC0+ZXJyb3IgPSByZXQ7CiAJfQogCkBAIC04MTQs OSArODE1LDkgQEAgc3RhdGljIHZvaWQgczZlOGFhMF9zZXRfbWF4aW11bV9yZXR1cm5fcGFja2V0 X3NpemUoc3RydWN0IHM2ZThhYTAgKmN0eCwKIAogCXJldCA9IG1pcGlfZHNpX3NldF9tYXhpbXVt X3JldHVybl9wYWNrZXRfc2l6ZShkc2ksIHNpemUpOwogCWlmIChyZXQgPCAwKSB7Ci0JCWRldl9l cnIoY3R4LT5kZXYsCi0JCQkiZXJyb3IgJWQgc2V0dGluZyBtYXhpbXVtIHJldHVybiBwYWNrZXQg c2l6ZSB0byAlZFxuIiwKLQkJCXJldCwgc2l6ZSk7CisJCURSTV9ERVZfRVJST1IoY3R4LT5kZXYs CisJCQkgICAgICAiZXJyb3IgJWQgc2V0dGluZyBtYXhpbXVtIHJldHVybiBwYWNrZXQgc2l6ZSB0 byAlZFxuIiwKKwkJCSAgICAgIHJldCwgc2l6ZSk7CiAJCWN0eC0+ZXJyb3IgPSByZXQ7CiAJfQog fQpAQCAtODI1LDIyICs4MjYsMjMgQEAgc3RhdGljIHZvaWQgczZlOGFhMF9yZWFkX210cF9pZChz dHJ1Y3QgczZlOGFhMCAqY3R4KQogewogCXU4IGlkWzNdOwogCWludCByZXQsIGk7CisJc3RydWN0 IGRldmljZSAqZGV2ID0gY3R4LT5kZXY7CiAKIAlyZXQgPSBzNmU4YWEwX2Rjc19yZWFkKGN0eCwg MHhkMSwgaWQsIEFSUkFZX1NJWkUoaWQpKTsKIAlpZiAocmV0IDwgMCB8fCByZXQgPCBBUlJBWV9T SVpFKGlkKSB8fCBpZFswXSA9PSAweDAwKSB7Ci0JCWRldl9lcnIoY3R4LT5kZXYsICJyZWFkIGlk IGZhaWxlZFxuIik7CisJCURSTV9ERVZfRVJST1IoZGV2LCAicmVhZCBpZCBmYWlsZWRcbiIpOwog CQljdHgtPmVycm9yID0gLUVJTzsKIAkJcmV0dXJuOwogCX0KIAotCWRldl9pbmZvKGN0eC0+ZGV2 LCAiSUQ6IDB4JTJ4LCAweCUyeCwgMHglMnhcbiIsIGlkWzBdLCBpZFsxXSwgaWRbMl0pOworCURS TV9ERVZfSU5GTyhkZXYsICJJRDogMHglMngsIDB4JTJ4LCAweCUyeFxuIiwgaWRbMF0sIGlkWzFd LCBpZFsyXSk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzNmU4YWEwX3ZhcmlhbnRz KTsgKytpKSB7CiAJCWlmIChpZFsxXSA9PSBzNmU4YWEwX3ZhcmlhbnRzW2ldLnZlcnNpb24pCiAJ CQlicmVhazsKIAl9CiAJaWYgKGkgPj0gQVJSQVlfU0laRShzNmU4YWEwX3ZhcmlhbnRzKSkgewot CQlkZXZfZXJyKGN0eC0+ZGV2LCAidW5zdXBwb3J0ZWQgZGlzcGxheSB2ZXJzaW9uICVkXG4iLCBp ZFsxXSk7CisJCURSTV9ERVZfRVJST1IoZGV2LCAidW5zdXBwb3J0ZWQgZGlzcGxheSB2ZXJzaW9u ICVkXG4iLCBpZFsxXSk7CiAJCWN0eC0+ZXJyb3IgPSAtRUlOVkFMOwogCQlyZXR1cm47CiAJfQpA QCAtMTAwNywxNCArMTAwOSwxNCBAQCBzdGF0aWMgaW50IHM2ZThhYTBfcHJvYmUoc3RydWN0IG1p cGlfZHNpX2RldmljZSAqZHNpKQogCXJldCA9IGRldm1fcmVndWxhdG9yX2J1bGtfZ2V0KGRldiwg QVJSQVlfU0laRShjdHgtPnN1cHBsaWVzKSwKIAkJCQkgICAgICBjdHgtPnN1cHBsaWVzKTsKIAlp ZiAocmV0IDwgMCkgewotCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBnZXQgcmVndWxhdG9yczog JWRcbiIsIHJldCk7CisJCURSTV9ERVZfRVJST1IoZGV2LCAiZmFpbGVkIHRvIGdldCByZWd1bGF0 b3JzOiAlZFxuIiwgcmV0KTsKIAkJcmV0dXJuIHJldDsKIAl9CiAKIAljdHgtPnJlc2V0X2dwaW8g PSBkZXZtX2dwaW9kX2dldChkZXYsICJyZXNldCIsIEdQSU9EX09VVF9ISUdIKTsKIAlpZiAoSVNf RVJSKGN0eC0+cmVzZXRfZ3BpbykpIHsKLQkJZGV2X2VycihkZXYsICJjYW5ub3QgZ2V0IHJlc2V0 LWdwaW9zICVsZFxuIiwKLQkJCVBUUl9FUlIoY3R4LT5yZXNldF9ncGlvKSk7CisJCURSTV9ERVZf RVJST1IoZGV2LCAiY2Fubm90IGdldCByZXNldC1ncGlvcyAlbGRcbiIsCisJCQkgICAgICBQVFJf RVJSKGN0eC0+cmVzZXRfZ3BpbykpOwogCQlyZXR1cm4gUFRSX0VSUihjdHgtPnJlc2V0X2dwaW8p OwogCX0KIAotLSAKMi4xMi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK