From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jyri Sarha Subject: [PATCHv3 2/4] drm/tilcdc: Stop using struct drm_driver load() callback Date: Wed, 2 Nov 2016 17:57:50 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bear.ext.ti.com (bear.ext.ti.com [198.47.19.11]) by gabe.freedesktop.org (Postfix) with ESMTPS id 75E9B6E592 for ; Wed, 2 Nov 2016 15:58:06 +0000 (UTC) In-Reply-To: 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: khilman@baylibre.com, Jyri Sarha , bgolaszewski@baylibre.com, tomi.valkeinen@ti.com, laurent.pinchart@ideasonboard.com List-Id: dri-devel@lists.freedesktop.org U3RvcCB1c2luZyBzdHJ1Y3QgZHJtX2RyaXZlciBsb2FkKCkgYW5kIHVubG9hZCgpIGNhbGxiYWNr cy4gVGhlCmNhbGxiYWNrcyBzaG91bGQgbm90IGJlIHVzZWQgYW55bW9yZS4gSW5zdGVhZCBvZiB1 c2luZyBsb2FkIHRoZQpkcm1fZGV2aWNlIGlzIGFsbG9jYXRlZCB3aXRoIGRybV9kZXZfYWxsb2Mo KSBhbmQgcmVnaXN0ZXJlZCB3aXRoCmRybV9kZXZfcmVnaXN0ZXIoKSBvbmx5IGFmdGVyIHRoZSBk cml2ZXIgaXMgY29tcGxldGVseSBpbml0aWFsaXplZC4KVGhlIGRlaW5pdGlhbGl6YXRpb24gaXMg ZG9uZSBkaXJlY3RseSBlaXRoZXIgaW4gY29tcG9uZW50IHVuYmluZApjYWxsYmFjayBvciBpbiBw bGF0Zm9ybSBkcml2ZXIgZGVtb3ZlIGNhbGxiYWNrLgoKU2lnbmVkLW9mZi1ieTogSnlyaSBTYXJo YSA8anNhcmhhQHRpLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19kcnYu YyB8IDEyNCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA3MCBpbnNlcnRpb25zKCspLCA1NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMv dGlsY2RjX2Rydi5jCmluZGV4IDVjZjUzNGMuLjExZjMyNjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS90aWxjZGMvdGlsY2RjX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMv dGlsY2RjX2Rydi5jCkBAIC0xOTQsMTggKzE5NCwyMiBAQCBzdGF0aWMgaW50IGNwdWZyZXFfdHJh bnNpdGlvbihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLAogICogRFJNIG9wZXJhdGlvbnM6CiAg Ki8KIAotc3RhdGljIGludCB0aWxjZGNfdW5sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCitz dGF0aWMgdm9pZCB0aWxjZGNfZmluaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVj dCB0aWxjZGNfZHJtX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCi0JdGlsY2Rj X3JlbW92ZV9leHRlcm5hbF9lbmNvZGVycyhkZXYpOworCWRybV9tb2Rlc2V0X2xvY2tfY3J0Yyhw cml2LT5jcnRjLCBOVUxMKTsKKwl0aWxjZGNfY3J0Y19kaXNhYmxlKHByaXYtPmNydGMpOworCWRy bV9tb2Rlc2V0X3VubG9ja19jcnRjKHByaXYtPmNydGMpOworCisJZHJtX2Rldl91bnJlZ2lzdGVy KGRldik7CiAKLQlkcm1fZmJkZXZfY21hX2ZpbmkocHJpdi0+ZmJkZXYpOwogCWRybV9rbXNfaGVs cGVyX3BvbGxfZmluaShkZXYpOworCWRybV9mYmRldl9jbWFfZmluaShwcml2LT5mYmRldik7CisJ ZHJtX2lycV91bmluc3RhbGwoZGV2KTsKIAlkcm1fbW9kZV9jb25maWdfY2xlYW51cChkZXYpOwot CWRybV92YmxhbmtfY2xlYW51cChkZXYpOwogCi0JZHJtX2lycV91bmluc3RhbGwoZGV2KTsKKwl0 aWxjZGNfcmVtb3ZlX2V4dGVybmFsX2VuY29kZXJzKGRldik7CiAKICNpZmRlZiBDT05GSUdfQ1BV X0ZSRVEKIAljcHVmcmVxX3VucmVnaXN0ZXJfbm90aWZpZXIoJnByaXYtPmZyZXFfdHJhbnNpdGlv biwKQEAgLTIyNSwyOCArMjI5LDM0IEBAIHN0YXRpYyBpbnQgdGlsY2RjX3VubG9hZChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCiAJcG1fcnVudGltZV9kaXNhYmxlKGRldi0+ZGV2KTsKIAotCXJl dHVybiAwOworCWRybV9kZXZfdW5yZWYoZGV2KTsKIH0KIAotc3RhdGljIGludCB0aWxjZGNfbG9h ZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQorc3RhdGljIGlu dCB0aWxjZGNfaW5pdChzdHJ1Y3QgZHJtX2RyaXZlciAqZGRydiwgc3RydWN0IGRldmljZSAqZGV2 KQogewotCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBkZXYtPnBsYXRmb3JtZGV2Owot CXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOworCXN0cnVjdCBk cm1fZGV2aWNlICpkZGV2OworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSB0b19wbGF0 Zm9ybV9kZXZpY2UoZGV2KTsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBkZXYtPm9mX25v ZGU7CiAJc3RydWN0IHRpbGNkY19kcm1fcHJpdmF0ZSAqcHJpdjsKIAlzdHJ1Y3QgcmVzb3VyY2Ug KnJlczsKIAl1MzIgYnBwID0gMDsKIAlpbnQgcmV0OwogCi0JcHJpdiA9IGRldm1fa3phbGxvYyhk ZXYtPmRldiwgc2l6ZW9mKCpwcml2KSwgR0ZQX0tFUk5FTCk7CisJcHJpdiA9IGRldm1fa3phbGxv YyhkZXYsIHNpemVvZigqcHJpdiksIEdGUF9LRVJORUwpOwogCWlmICghcHJpdikgewotCQlkZXZf ZXJyKGRldi0+ZGV2LCAiZmFpbGVkIHRvIGFsbG9jYXRlIHByaXZhdGUgZGF0YVxuIik7CisJCWRl dl9lcnIoZGV2LCAiZmFpbGVkIHRvIGFsbG9jYXRlIHByaXZhdGUgZGF0YVxuIik7CiAJCXJldHVy biAtRU5PTUVNOwogCX0KIAotCWRldi0+ZGV2X3ByaXZhdGUgPSBwcml2OworCWRkZXYgPSBkcm1f ZGV2X2FsbG9jKGRkcnYsIGRldik7CisJaWYgKElTX0VSUihkZGV2KSkKKwkJcmV0dXJuIFBUUl9F UlIoZGRldik7CisKKwlkZGV2LT5wbGF0Zm9ybWRldiA9IHBkZXY7CisJZGRldi0+ZGV2X3ByaXZh dGUgPSBwcml2OwogCiAJcHJpdi0+aXNfY29tcG9uZW50aXplZCA9Ci0JCXRpbGNkY19nZXRfZXh0 ZXJuYWxfY29tcG9uZW50cyhkZXYtPmRldiwgTlVMTCkgPiAwOworCQl0aWxjZGNfZ2V0X2V4dGVy bmFsX2NvbXBvbmVudHMoZGV2LCBOVUxMKSA+IDA7CiAKIAlwcml2LT53cSA9IGFsbG9jX29yZGVy ZWRfd29ya3F1ZXVlKCJ0aWxjZGMiLCAwKTsKIAlpZiAoIXByaXYtPndxKSB7CkBAIC0yNTYsMjEg KzI2NiwyMSBAQCBzdGF0aWMgaW50IHRpbGNkY19sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAKIAlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRl diwgSU9SRVNPVVJDRV9NRU0sIDApOwogCWlmICghcmVzKSB7Ci0JCWRldl9lcnIoZGV2LT5kZXYs ICJmYWlsZWQgdG8gZ2V0IG1lbW9yeSByZXNvdXJjZVxuIik7CisJCWRldl9lcnIoZGV2LCAiZmFp bGVkIHRvIGdldCBtZW1vcnkgcmVzb3VyY2VcbiIpOwogCQlyZXQgPSAtRUlOVkFMOwogCQlnb3Rv IGZhaWxfZnJlZV93cTsKIAl9CiAKIAlwcml2LT5tbWlvID0gaW9yZW1hcF9ub2NhY2hlKHJlcy0+ c3RhcnQsIHJlc291cmNlX3NpemUocmVzKSk7CiAJaWYgKCFwcml2LT5tbWlvKSB7Ci0JCWRldl9l cnIoZGV2LT5kZXYsICJmYWlsZWQgdG8gaW9yZW1hcFxuIik7CisJCWRldl9lcnIoZGV2LCAiZmFp bGVkIHRvIGlvcmVtYXBcbiIpOwogCQlyZXQgPSAtRU5PTUVNOwogCQlnb3RvIGZhaWxfZnJlZV93 cTsKIAl9CiAKLQlwcml2LT5jbGsgPSBjbGtfZ2V0KGRldi0+ZGV2LCAiZmNrIik7CisJcHJpdi0+ Y2xrID0gY2xrX2dldChkZXYsICJmY2siKTsKIAlpZiAoSVNfRVJSKHByaXYtPmNsaykpIHsKLQkJ ZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBnZXQgZnVuY3Rpb25hbCBjbG9ja1xuIik7CisJ CWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGdldCBmdW5jdGlvbmFsIGNsb2NrXG4iKTsKIAkJcmV0 ID0gLUVOT0RFVjsKIAkJZ290byBmYWlsX2lvdW5tYXA7CiAJfQpAQCAtMjgwLDcgKzI5MCw3IEBA IHN0YXRpYyBpbnQgdGlsY2RjX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQg bG9uZyBmbGFncykKIAlyZXQgPSBjcHVmcmVxX3JlZ2lzdGVyX25vdGlmaWVyKCZwcml2LT5mcmVx X3RyYW5zaXRpb24sCiAJCQlDUFVGUkVRX1RSQU5TSVRJT05fTk9USUZJRVIpOwogCWlmIChyZXQp IHsKLQkJZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBjcHVmcmVxIG5vdGlm aWVyXG4iKTsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgY3B1ZnJlcSBub3Rp ZmllclxuIik7CiAJCWdvdG8gZmFpbF9wdXRfY2xrOwogCX0KICNlbmRpZgpAQCAtMzAxLDExICsz MTEsMTEgQEAgc3RhdGljIGludCB0aWxjZGNfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1 bnNpZ25lZCBsb25nIGZsYWdzKQogCiAJREJHKCJNYXhpbXVtIFBpeGVsIENsb2NrIFZhbHVlICVk S0h6IiwgcHJpdi0+bWF4X3BpeGVsY2xvY2spOwogCi0JcG1fcnVudGltZV9lbmFibGUoZGV2LT5k ZXYpOworCXBtX3J1bnRpbWVfZW5hYmxlKGRldik7CiAKIAkvKiBEZXRlcm1pbmUgTENEIElQIFZl cnNpb24gKi8KLQlwbV9ydW50aW1lX2dldF9zeW5jKGRldi0+ZGV2KTsKLQlzd2l0Y2ggKHRpbGNk Y19yZWFkKGRldiwgTENEQ19QSURfUkVHKSkgeworCXBtX3J1bnRpbWVfZ2V0X3N5bmMoZGV2KTsK Kwlzd2l0Y2ggKHRpbGNkY19yZWFkKGRkZXYsIExDRENfUElEX1JFRykpIHsKIAljYXNlIDB4NGMx MDAxMDI6CiAJCXByaXYtPnJldiA9IDE7CiAJCWJyZWFrOwpAQCAtMzE0LDE0ICszMjQsMTQgQEAg c3RhdGljIGludCB0aWxjZGNfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBs b25nIGZsYWdzKQogCQlwcml2LT5yZXYgPSAyOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlkZXZf d2FybihkZXYtPmRldiwgIlVua25vd24gUElEIFJlZyB2YWx1ZSAweCUwOHgsICIKLQkJCQkiZGVm YXVsdGluZyB0byBMQ0QgcmV2aXNpb24gMVxuIiwKLQkJCQl0aWxjZGNfcmVhZChkZXYsIExDRENf UElEX1JFRykpOworCQlkZXZfd2FybihkZXYsICJVbmtub3duIFBJRCBSZWcgdmFsdWUgMHglMDh4 LCAiCisJCQkiZGVmYXVsdGluZyB0byBMQ0QgcmV2aXNpb24gMVxuIiwKKwkJCXRpbGNkY19yZWFk KGRkZXYsIExDRENfUElEX1JFRykpOwogCQlwcml2LT5yZXYgPSAxOwogCQlicmVhazsKIAl9CiAK LQlwbV9ydW50aW1lX3B1dF9zeW5jKGRldi0+ZGV2KTsKKwlwbV9ydW50aW1lX3B1dF9zeW5jKGRl dik7CiAKIAlpZiAocHJpdi0+cmV2ID09IDEpIHsKIAkJREJHKCJSZXZpc2lvbiAxIExDREMgc3Vw cG9ydHMgb25seSBSR0I1NjUgZm9ybWF0Iik7CkBAIC0zNTQsNzQgKzM2NCw4MiBAQCBzdGF0aWMg aW50IHRpbGNkY19sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgZmxh Z3MpCiAJCX0KIAl9CiAKLQlyZXQgPSBtb2Rlc2V0X2luaXQoZGV2KTsKKwlyZXQgPSBtb2Rlc2V0 X2luaXQoZGRldik7CiAJaWYgKHJldCA8IDApIHsKLQkJZGV2X2VycihkZXYtPmRldiwgImZhaWxl ZCB0byBpbml0aWFsaXplIG1vZGUgc2V0dGluZ1xuIik7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVk IHRvIGluaXRpYWxpemUgbW9kZSBzZXR0aW5nXG4iKTsKIAkJZ290byBmYWlsX2NwdWZyZXFfdW5y ZWdpc3RlcjsKIAl9CiAKLQlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBkZXYpOworCXBsYXRm b3JtX3NldF9kcnZkYXRhKHBkZXYsIGRkZXYpOwogCiAJaWYgKHByaXYtPmlzX2NvbXBvbmVudGl6 ZWQpIHsKLQkJcmV0ID0gY29tcG9uZW50X2JpbmRfYWxsKGRldi0+ZGV2LCBkZXYpOworCQlyZXQg PSBjb21wb25lbnRfYmluZF9hbGwoZGV2LCBkZGV2KTsKIAkJaWYgKHJldCA8IDApCiAJCQlnb3Rv IGZhaWxfbW9kZV9jb25maWdfY2xlYW51cDsKIAotCQlyZXQgPSB0aWxjZGNfYWRkX2V4dGVybmFs X2VuY29kZXJzKGRldik7CisJCXJldCA9IHRpbGNkY19hZGRfZXh0ZXJuYWxfZW5jb2RlcnMoZGRl dik7CiAJCWlmIChyZXQgPCAwKQogCQkJZ290byBmYWlsX2NvbXBvbmVudF9jbGVhbnVwOwogCX0K IAogCWlmICgocHJpdi0+bnVtX2VuY29kZXJzID09IDApIHx8IChwcml2LT5udW1fY29ubmVjdG9y cyA9PSAwKSkgewotCQlkZXZfZXJyKGRldi0+ZGV2LCAibm8gZW5jb2RlcnMvY29ubmVjdG9ycyBm b3VuZFxuIik7CisJCWRldl9lcnIoZGV2LCAibm8gZW5jb2RlcnMvY29ubmVjdG9ycyBmb3VuZFxu Iik7CiAJCXJldCA9IC1FTlhJTzsKIAkJZ290byBmYWlsX2V4dGVybmFsX2NsZWFudXA7CiAJfQog Ci0JcmV0ID0gZHJtX3ZibGFua19pbml0KGRldiwgMSk7CisJcmV0ID0gZHJtX3ZibGFua19pbml0 KGRkZXYsIDEpOwogCWlmIChyZXQgPCAwKSB7Ci0JCWRldl9lcnIoZGV2LT5kZXYsICJmYWlsZWQg dG8gaW5pdGlhbGl6ZSB2YmxhbmtcbiIpOworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBpbml0 aWFsaXplIHZibGFua1xuIik7CiAJCWdvdG8gZmFpbF9leHRlcm5hbF9jbGVhbnVwOwogCX0KIAot CXJldCA9IGRybV9pcnFfaW5zdGFsbChkZXYsIHBsYXRmb3JtX2dldF9pcnEoZGV2LT5wbGF0Zm9y bWRldiwgMCkpOworCXJldCA9IGRybV9pcnFfaW5zdGFsbChkZGV2LCBwbGF0Zm9ybV9nZXRfaXJx KHBkZXYsIDApKTsKIAlpZiAocmV0IDwgMCkgewotCQlkZXZfZXJyKGRldi0+ZGV2LCAiZmFpbGVk IHRvIGluc3RhbGwgSVJRIGhhbmRsZXJcbiIpOworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBp bnN0YWxsIElSUSBoYW5kbGVyXG4iKTsKIAkJZ290byBmYWlsX3ZibGFua19jbGVhbnVwOwogCX0K IAotCWRybV9tb2RlX2NvbmZpZ19yZXNldChkZXYpOworCWRybV9tb2RlX2NvbmZpZ19yZXNldChk ZGV2KTsKIAotCXByaXYtPmZiZGV2ID0gZHJtX2ZiZGV2X2NtYV9pbml0KGRldiwgYnBwLAotCQkJ ZGV2LT5tb2RlX2NvbmZpZy5udW1fY3J0YywKLQkJCWRldi0+bW9kZV9jb25maWcubnVtX2Nvbm5l Y3Rvcik7CisJcHJpdi0+ZmJkZXYgPSBkcm1fZmJkZXZfY21hX2luaXQoZGRldiwgYnBwLAorCQkJ ZGRldi0+bW9kZV9jb25maWcubnVtX2NydGMsCisJCQlkZGV2LT5tb2RlX2NvbmZpZy5udW1fY29u bmVjdG9yKTsKIAlpZiAoSVNfRVJSKHByaXYtPmZiZGV2KSkgewogCQlyZXQgPSBQVFJfRVJSKHBy aXYtPmZiZGV2KTsKIAkJZ290byBmYWlsX2lycV91bmluc3RhbGw7CiAJfQogCi0JZHJtX2ttc19o ZWxwZXJfcG9sbF9pbml0KGRldik7CisJZHJtX2ttc19oZWxwZXJfcG9sbF9pbml0KGRkZXYpOwor CisJcmV0ID0gZHJtX2Rldl9yZWdpc3RlcihkZGV2LCAwKTsKKwlpZiAocmV0KQorCQlnb3RvIGZh aWxfcGxhdGZvcm1faW5pdDsKIAogCXJldHVybiAwOwogCitmYWlsX3BsYXRmb3JtX2luaXQ6CisJ ZHJtX2ttc19oZWxwZXJfcG9sbF9maW5pKGRkZXYpOworCWRybV9mYmRldl9jbWFfZmluaShwcml2 LT5mYmRldik7CisKIGZhaWxfaXJxX3VuaW5zdGFsbDoKLQlkcm1faXJxX3VuaW5zdGFsbChkZXYp OworCWRybV9pcnFfdW5pbnN0YWxsKGRkZXYpOwogCiBmYWlsX3ZibGFua19jbGVhbnVwOgotCWRy bV92YmxhbmtfY2xlYW51cChkZXYpOworCWRybV92YmxhbmtfY2xlYW51cChkZGV2KTsKIAogZmFp bF9jb21wb25lbnRfY2xlYW51cDoKIAlpZiAocHJpdi0+aXNfY29tcG9uZW50aXplZCkKLQkJY29t cG9uZW50X3VuYmluZF9hbGwoZGV2LT5kZXYsIGRldik7CisJCWNvbXBvbmVudF91bmJpbmRfYWxs KGRldiwgZGV2KTsKIAogZmFpbF9tb2RlX2NvbmZpZ19jbGVhbnVwOgotCWRybV9tb2RlX2NvbmZp Z19jbGVhbnVwKGRldik7CisJZHJtX21vZGVfY29uZmlnX2NsZWFudXAoZGRldik7CiAKIGZhaWxf ZXh0ZXJuYWxfY2xlYW51cDoKLQl0aWxjZGNfcmVtb3ZlX2V4dGVybmFsX2VuY29kZXJzKGRldik7 CisJdGlsY2RjX3JlbW92ZV9leHRlcm5hbF9lbmNvZGVycyhkZGV2KTsKIAogZmFpbF9jcHVmcmVx X3VucmVnaXN0ZXI6Ci0JcG1fcnVudGltZV9kaXNhYmxlKGRldi0+ZGV2KTsKKwlwbV9ydW50aW1l X2Rpc2FibGUoZGV2KTsKICNpZmRlZiBDT05GSUdfQ1BVX0ZSRVEKIAljcHVmcmVxX3VucmVnaXN0 ZXJfbm90aWZpZXIoJnByaXYtPmZyZXFfdHJhbnNpdGlvbiwKIAkJCUNQVUZSRVFfVFJBTlNJVElP Tl9OT1RJRklFUik7CkBAIC00MzgsNyArNDU2LDggQEAgc3RhdGljIGludCB0aWxjZGNfbG9hZChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQogCWRlc3Ryb3lfd29y a3F1ZXVlKHByaXYtPndxKTsKIAogZmFpbF91bnNldF9wcml2OgotCWRldi0+ZGV2X3ByaXZhdGUg PSBOVUxMOworCWRkZXYtPmRldl9wcml2YXRlID0gTlVMTDsKKwlkcm1fZGV2X3VucmVmKGRkZXYp OwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTU4NSw4ICs2MDQsNiBAQCBzdGF0aWMgdm9pZCB0aWxj ZGNfZGVidWdmc19jbGVhbnVwKHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yKQogc3RhdGljIHN0cnVj dCBkcm1fZHJpdmVyIHRpbGNkY19kcml2ZXIgPSB7CiAJLmRyaXZlcl9mZWF0dXJlcyAgICA9IChE UklWRVJfSEFWRV9JUlEgfCBEUklWRVJfR0VNIHwgRFJJVkVSX01PREVTRVQgfAogCQkJICAgICAg IERSSVZFUl9QUklNRSB8IERSSVZFUl9BVE9NSUMpLAotCS5sb2FkICAgICAgICAgICAgICAgPSB0 aWxjZGNfbG9hZCwKLQkudW5sb2FkICAgICAgICAgICAgID0gdGlsY2RjX3VubG9hZCwKIAkubGFz dGNsb3NlICAgICAgICAgID0gdGlsY2RjX2xhc3RjbG9zZSwKIAkuaXJxX2hhbmRsZXIgICAgICAg ID0gdGlsY2RjX2lycSwKIAkuZ2V0X3ZibGFua19jb3VudGVyID0gZHJtX3ZibGFua19ub19od19j b3VudGVyLApAQCAtNjYwLDEwICs2NzcsOSBAQCBzdGF0aWMgaW50IHRpbGNkY19wbV9yZXN1bWUo c3RydWN0IGRldmljZSAqZGV2KQogLyoKICAqIFBsYXRmb3JtIGRyaXZlcjoKICAqLwotCiBzdGF0 aWMgaW50IHRpbGNkY19iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKLQlyZXR1cm4gZHJtX3Bs YXRmb3JtX2luaXQoJnRpbGNkY19kcml2ZXIsIHRvX3BsYXRmb3JtX2RldmljZShkZXYpKTsKKwly ZXR1cm4gdGlsY2RjX2luaXQoJnRpbGNkY19kcml2ZXIsIGRldik7CiB9CiAKIHN0YXRpYyB2b2lk IHRpbGNkY191bmJpbmQoc3RydWN0IGRldmljZSAqZGV2KQpAQCAtNjc0LDcgKzY5MCw3IEBAIHN0 YXRpYyB2b2lkIHRpbGNkY191bmJpbmQoc3RydWN0IGRldmljZSAqZGV2KQogCWlmICghZGRldi0+ ZGV2X3ByaXZhdGUpCiAJCXJldHVybjsKIAotCWRybV9wdXRfZGV2KGRldl9nZXRfZHJ2ZGF0YShk ZXYpKTsKKwl0aWxjZGNfZmluaShkZXZfZ2V0X2RydmRhdGEoZGV2KSk7CiB9CiAKIHN0YXRpYyBj b25zdCBzdHJ1Y3QgY29tcG9uZW50X21hc3Rlcl9vcHMgdGlsY2RjX2NvbXBfb3BzID0gewpAQCAt Njk3LDcgKzcxMyw3IEBAIHN0YXRpYyBpbnQgdGlsY2RjX3BkZXZfcHJvYmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAllbHNlIGlm IChyZXQgPT0gMCkKLQkJcmV0dXJuIGRybV9wbGF0Zm9ybV9pbml0KCZ0aWxjZGNfZHJpdmVyLCBw ZGV2KTsKKwkJcmV0dXJuIHRpbGNkY19pbml0KCZ0aWxjZGNfZHJpdmVyLCAmcGRldi0+ZGV2KTsK IAllbHNlCiAJCXJldHVybiBjb21wb25lbnRfbWFzdGVyX2FkZF93aXRoX21hdGNoKCZwZGV2LT5k ZXYsCiAJCQkJCQkgICAgICAgJnRpbGNkY19jb21wX29wcywKQEAgLTcxMiw3ICs3MjgsNyBAQCBz dGF0aWMgaW50IHRpbGNkY19wZGV2X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCWVsc2UgaWYgKHJldCA9PSAwKQotCQlk cm1fcHV0X2RldihwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KSk7CisJCXRpbGNkY19maW5pKHBs YXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpKTsKIAllbHNlCiAJCWNvbXBvbmVudF9tYXN0ZXJfZGVs KCZwZGV2LT5kZXYsICZ0aWxjZGNfY29tcF9vcHMpOwogCi0tIAoxLjkuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==