From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH 3/7] drm/vc4: Use common helpers for debugfs setup by the driver components. Date: Wed, 20 Feb 2019 13:03:39 -0800 Message-ID: <20190220210343.28157-3-eric@anholt.net> References: <20190220210343.28157-1-eric@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from anholt.net (anholt.net [50.246.234.109]) by gabe.freedesktop.org (Postfix) with ESMTP id 13CDA89317 for ; Wed, 20 Feb 2019 21:03:59 +0000 (UTC) In-Reply-To: <20190220210343.28157-1-eric@anholt.net> 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: Paul Kocialkowski , Maxime Ripard , linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org VGhlIGdsb2JhbCBsaXN0IG9mIGFsbCBkZWJ1Z2ZzIGVudHJpZXMgZm9yIHRoZSBkcml2ZXIgd2Fz IHBhaW5mdWw6IHRoZQpsaXN0IGNvdWxkbid0IHNlZSBpbnRvIHRoZSBjb21wb25lbnRzJyBzdHJ1 Y3RzLCBzbyBlYWNoIGNvbXBvbmVudCBoYWQKaXRzIG93biBkZWJ1Z3Mgc2hvdyBmdW5jdGlvbiB0 byBmaW5kIHRoZSBjb21wb25lbnQsIHRoZW4gZmluZCB0aGUKcmVnc2V0IGFuZCBkdW1wIGl0LiAg VGhlIGNvbXBvbmVudHMgYWxzbyBoYWQgdG8gYmUgY2FyZWZ1bCB0byBjaGVjawp0aGF0IHRoZXkg d2VyZSBhY3R1YWxseSByZWdpc3RlcmVkIGluIHZjNCBiZWZvcmUgZGVyZWZlcmVuY2luZwp0aGVt c2VsdmVzLCBpbiBjYXNlIHRoZXkgd2VyZW4ndCBwcm9iZWQgb24gYSBwYXJ0aWN1bGFyIHBsYXRm b3JtLgpUaGV5IHJvdXRpbmVseSBmYWlsZWQgYXQgdGhhdC4KCkluc3RlYWQsIHdlIGNhbiBoYXZl IHRoZSBjb21wb25lbnRzIGFkZCB0aGVpciBkZWJ1Z2ZzIGNhbGxiYWNrcyB0byBhCmxpdHRsZSBs aXN0IGluIHZjNCB0byBiZSByZWdpc3RlcmVkIGF0IGRybV9kZXZfcmVnaXN0ZXIoKSB0aW1lLCB3 aGljaApnZXRzIHZjNF9kZWJ1Z2ZzLmMgb3V0IG9mIHRoZSBidXNpbmVzcyBvZiBrbm93aW5nIHRo ZSB3aG9sZSBsaXN0IG9mCmNvbXBvbmVudHMuCgpUaGFua3MgdG8gdGhpcyBjaGFuZ2UsIGRzaTAg KGlmIGl0IGV4aXN0ZWQpIHdvdWxkIHJlZ2lzdGVyIGl0cyBub2RlLgoKU2lnbmVkLW9mZi1ieTog RXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vdmM0L3Zj NF9iby5jICAgICAgfCAgNiArLS0KIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYyAgICB8 IDMzICsrKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZGVidWdmcy5jIHwgODQg KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRf ZHBpLmMgICAgIHwgMjAgKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5jICAg ICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5oICAgICB8IDM4ICsrKysrKysr KystLS0tCiBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kc2kuYyAgICAgfCAyNCArKy0tLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYyAgICB8ICA2ICstLQogZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfaHZzLmMgICAgIHwgMTYgKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vdmM0L3Zj NF90eHAuYyAgICAgfCAyMCArLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfdjNkLmMg ICAgIHwgMTkgKystLS0tLQogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfdmVjLmMgICAgIHwgMjAg Ky0tLS0tLS0KIDEyIGZpbGVzIGNoYW5nZWQsIDEyNSBpbnNlcnRpb25zKCspLCAxNjIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfYm8uYyBiL2RyaXZl cnMvZ3B1L2RybS92YzQvdmM0X2JvLmMKaW5kZXggOTJlM2Y5OGQ4NDc4Li44YzUwOWQ1NjBiZjAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2JvLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL3ZjNC92YzRfYm8uYwpAQCAtNjYsOCArNjYsNyBAQCBzdGF0aWMgdm9pZCB2YzRfYm9f c3RhdHNfZHVtcChzdHJ1Y3QgdmM0X2RldiAqdmM0KQogCW11dGV4X3VubG9jaygmdmM0LT5wdXJn ZWFibGUubG9jayk7CiB9CiAKLSNpZmRlZiBDT05GSUdfREVCVUdfRlMKLWludCB2YzRfYm9fc3Rh dHNfZGVidWdmcyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKK3N0YXRpYyBpbnQg dmM0X2JvX3N0YXRzX2RlYnVnZnMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCiB7 CiAJc3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUgPSAoc3RydWN0IGRybV9pbmZvX25vZGUgKilt LT5wcml2YXRlOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2OwpA QCAtOTksNyArOTgsNiBAQCBpbnQgdmM0X2JvX3N0YXRzX2RlYnVnZnMoc3RydWN0IHNlcV9maWxl ICptLCB2b2lkICp1bnVzZWQpCiAKIAlyZXR1cm4gMDsKIH0KLSNlbmRpZgogCiAvKiBUYWtlcyBv d25lcnNoaXAgb2YgKm5hbWUgYW5kIHJldHVybnMgdGhlIGFwcHJvcHJpYXRlIHNsb3QgZm9yIGl0 IGluCiAgKiB0aGUgYm9fbGFiZWxzW10gYXJyYXksIGV4dGVuZGluZyBpdCBhcyBuZWNlc3Nhcnku CkBAIC0xMDI1LDYgKzEwMjMsOCBAQCBpbnQgdmM0X2JvX2NhY2hlX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAogCW11dGV4X2luaXQoJnZjNC0+Ym9fbG9jayk7CiAKKwl2YzRfZGVidWdm c19hZGRfZmlsZShkZXYsICJib19zdGF0cyIsIHZjNF9ib19zdGF0c19kZWJ1Z2ZzLCBOVUxMKTsK KwogCUlOSVRfTElTVF9IRUFEKCZ2YzQtPmJvX2NhY2hlLnRpbWVfbGlzdCk7CiAKIAlJTklUX1dP UksoJnZjNC0+Ym9fY2FjaGUudGltZV93b3JrLCB2YzRfYm9fY2FjaGVfdGltZV93b3JrKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X2NydGMuYwppbmRleCA2ZDcwNzIwMjYwNTYuLjlhNjJmMTJhY2E1NCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X2NydGMuYwpAQCAtODQsMzMgKzg0LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBk ZWJ1Z2ZzX3JlZzMyIGNydGNfcmVnc1tdID0gewogCVZDNF9SRUczMihQVl9IQUNUX0FDVCksCiB9 OwogCi0jaWZkZWYgQ09ORklHX0RFQlVHX0ZTCi1pbnQgdmM0X2NydGNfZGVidWdmc19yZWdzKHN0 cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQotewotCXN0cnVjdCBkcm1faW5mb19ub2Rl ICpub2RlID0gKHN0cnVjdCBkcm1faW5mb19ub2RlICopbS0+cHJpdmF0ZTsKLQlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gbm9kZS0+bWlub3ItPmRldjsKLQlpbnQgY3J0Y19pbmRleCA9ICh1aW50 cHRyX3Qpbm9kZS0+aW5mb19lbnQtPmRhdGE7Ci0Jc3RydWN0IGRybV9wcmludGVyIHAgPSBkcm1f c2VxX2ZpbGVfcHJpbnRlcihtKTsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Ci0Jc3RydWN0IHZj NF9jcnRjICp2YzRfY3J0YzsKLQlpbnQgaTsKLQotCWkgPSAwOwotCWxpc3RfZm9yX2VhY2hfZW50 cnkoY3J0YywgJmRldi0+bW9kZV9jb25maWcuY3J0Y19saXN0LCBoZWFkKSB7Ci0JCWlmIChpID09 IGNydGNfaW5kZXgpCi0JCQlicmVhazsKLQkJaSsrOwotCX0KLQlpZiAoIWNydGMpCi0JCXJldHVy biAwOwotCXZjNF9jcnRjID0gdG9fdmM0X2NydGMoY3J0Yyk7Ci0KLQlkcm1fcHJpbnRfcmVnc2V0 MzIoJnAsICZ2YzRfY3J0Yy0+cmVnc2V0KTsKLQotCXJldHVybiAwOwotfQotI2VuZGlmCi0KIGJv b2wgdmM0X2NydGNfZ2V0X3NjYW5vdXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWdu ZWQgaW50IGNydGNfaWQsCiAJCQkgICAgIGJvb2wgaW5fdmJsYW5rX2lycSwgaW50ICp2cG9zLCBp bnQgKmhwb3MsCiAJCQkgICAgIGt0aW1lX3QgKnN0aW1lLCBrdGltZV90ICpldGltZSwKQEAgLTEw NjIsNiArMTAzNSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNz IHZjNF9jcnRjX2hlbHBlcl9mdW5jcyA9IHsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCB2YzRfY3J0 Y19kYXRhIHB2MF9kYXRhID0gewogCS5odnNfY2hhbm5lbCA9IDAsCisJLmRlYnVnZnNfbmFtZSA9 ICJjcnRjMF9yZWdzIiwKIAkuZW5jb2Rlcl90eXBlcyA9IHsKIAkJW1BWX0NPTlRST0xfQ0xLX1NF TEVDVF9EU0ldID0gVkM0X0VOQ09ERVJfVFlQRV9EU0kwLAogCQlbUFZfQ09OVFJPTF9DTEtfU0VM RUNUX0RQSV9TTUlfSERNSV0gPSBWQzRfRU5DT0RFUl9UWVBFX0RQSSwKQEAgLTEwNzAsNiArMTA0 NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdmM0X2NydGNfZGF0YSBwdjBfZGF0YSA9IHsKIAog c3RhdGljIGNvbnN0IHN0cnVjdCB2YzRfY3J0Y19kYXRhIHB2MV9kYXRhID0gewogCS5odnNfY2hh bm5lbCA9IDIsCisJLmRlYnVnZnNfbmFtZSA9ICJjcnRjMV9yZWdzIiwKIAkuZW5jb2Rlcl90eXBl cyA9IHsKIAkJW1BWX0NPTlRST0xfQ0xLX1NFTEVDVF9EU0ldID0gVkM0X0VOQ09ERVJfVFlQRV9E U0kxLAogCQlbUFZfQ09OVFJPTF9DTEtfU0VMRUNUX0RQSV9TTUlfSERNSV0gPSBWQzRfRU5DT0RF Ul9UWVBFX1NNSSwKQEAgLTEwNzgsNiArMTA1Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdmM0 X2NydGNfZGF0YSBwdjFfZGF0YSA9IHsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCB2YzRfY3J0Y19k YXRhIHB2Ml9kYXRhID0gewogCS5odnNfY2hhbm5lbCA9IDEsCisJLmRlYnVnZnNfbmFtZSA9ICJj cnRjMl9yZWdzIiwKIAkuZW5jb2Rlcl90eXBlcyA9IHsKIAkJW1BWX0NPTlRST0xfQ0xLX1NFTEVD VF9EUElfU01JX0hETUldID0gVkM0X0VOQ09ERVJfVFlQRV9IRE1JLAogCQlbUFZfQ09OVFJPTF9D TEtfU0VMRUNUX1ZFQ10gPSBWQzRfRU5DT0RFUl9UWVBFX1ZFQywKQEAgLTEyMzksNiArMTIxNSw5 IEBAIHN0YXRpYyBpbnQgdmM0X2NydGNfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBk ZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKIAogCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYs IHZjNF9jcnRjKTsKIAorCXZjNF9kZWJ1Z2ZzX2FkZF9yZWdzZXQzMihkcm0sIHZjNF9jcnRjLT5k YXRhLT5kZWJ1Z2ZzX25hbWUsCisJCQkJICZ2YzRfY3J0Yy0+cmVnc2V0KTsKKwogCXJldHVybiAw OwogCiBlcnJfZGVzdHJveV9wbGFuZXM6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0 L3ZjNF9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kZWJ1Z2ZzLmMKaW5kZXgg N2EwMDAzZGU3MWFiLi5lYWQ3MjcxYjQzNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kZWJ1Z2ZzLmMK QEAgLTE1LDI2ICsxNSw3NiBAQAogI2luY2x1ZGUgInZjNF9kcnYuaCIKICNpbmNsdWRlICJ2YzRf cmVncy5oIgogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pbmZvX2xpc3QgdmM0X2RlYnVnZnNf bGlzdFtdID0gewotCXsiYm9fc3RhdHMiLCB2YzRfYm9fc3RhdHNfZGVidWdmcywgMH0sCi0JeyJk cGlfcmVncyIsIHZjNF9kcGlfZGVidWdmc19yZWdzLCAwfSwKLQl7ImRzaTFfcmVncyIsIHZjNF9k c2lfZGVidWdmc19yZWdzLCAwLCAodm9pZCAqKSh1aW50cHRyX3QpMX0sCi0JeyJoZG1pX3JlZ3Mi LCB2YzRfaGRtaV9kZWJ1Z2ZzX3JlZ3MsIDB9LAotCXsidmVjX3JlZ3MiLCB2YzRfdmVjX2RlYnVn ZnNfcmVncywgMH0sCi0JeyJ0eHBfcmVncyIsIHZjNF90eHBfZGVidWdmc19yZWdzLCAwfSwKLQl7 Imh2c19yZWdzIiwgdmM0X2h2c19kZWJ1Z2ZzX3JlZ3MsIDB9LAotCXsiY3J0YzBfcmVncyIsIHZj NF9jcnRjX2RlYnVnZnNfcmVncywgMCwgKHZvaWQgKikodWludHB0cl90KTB9LAotCXsiY3J0YzFf cmVncyIsIHZjNF9jcnRjX2RlYnVnZnNfcmVncywgMCwgKHZvaWQgKikodWludHB0cl90KTF9LAot CXsiY3J0YzJfcmVncyIsIHZjNF9jcnRjX2RlYnVnZnNfcmVncywgMCwgKHZvaWQgKikodWludHB0 cl90KTJ9LAotCXsidjNkX2lkZW50IiwgdmM0X3YzZF9kZWJ1Z2ZzX2lkZW50LCAwfSwKLQl7InYz ZF9yZWdzIiwgdmM0X3YzZF9kZWJ1Z2ZzX3JlZ3MsIDB9LAorc3RydWN0IHZjNF9kZWJ1Z2ZzX2lu Zm9fZW50cnkgeworCXN0cnVjdCBsaXN0X2hlYWQgbGluazsKKwlzdHJ1Y3QgZHJtX2luZm9fbGlz dCBpbmZvOwogfTsKIAotI2RlZmluZSBWQzRfREVCVUdGU19FTlRSSUVTIEFSUkFZX1NJWkUodmM0 X2RlYnVnZnNfbGlzdCkKLQorLyoqCisgKiBDYWxsZWQgYXQgZHJtX2Rldl9yZWdpc3RlcigpIHRp bWUgb24gZWFjaCBvZiB0aGUgbWlub3JzIHJlZ2lzdGVyZWQKKyAqIGJ5IHRoZSBEUk0gZGV2aWNl LCB0byBhdHRhY2ggdGhlIGRlYnVnZnMgZmlsZXMuCisgKi8KIGludAogdmM0X2RlYnVnZnNfaW5p dChzdHJ1Y3QgZHJtX21pbm9yICptaW5vcikKIHsKLQlyZXR1cm4gZHJtX2RlYnVnZnNfY3JlYXRl X2ZpbGVzKHZjNF9kZWJ1Z2ZzX2xpc3QsIFZDNF9ERUJVR0ZTX0VOVFJJRVMsCi0JCQkJCW1pbm9y LT5kZWJ1Z2ZzX3Jvb3QsIG1pbm9yKTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbWlub3It PmRldjsKKwlzdHJ1Y3QgdmM0X2RldiAqdmM0ID0gdG9fdmM0X2RldihkZXYpOworCXN0cnVjdCB2 YzRfZGVidWdmc19pbmZvX2VudHJ5ICplbnRyeTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoZW50 cnksICZ2YzQtPmRlYnVnZnNfbGlzdCwgbGluaykgeworCQlpbnQgcmV0ID0gZHJtX2RlYnVnZnNf Y3JlYXRlX2ZpbGVzKCZlbnRyeS0+aW5mbywgMSwKKwkJCQkJCSAgIG1pbm9yLT5kZWJ1Z2ZzX3Jv b3QsIG1pbm9yKTsKKworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXR1cm4g MDsKK30KKworaW50IHZjNF9kZWJ1Z2ZzX3JlZ3NldDMyKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9p ZCAqdW51c2VkKQoreworCXN0cnVjdCBkcm1faW5mb19ub2RlICpub2RlID0gKHN0cnVjdCBkcm1f aW5mb19ub2RlICopbS0+cHJpdmF0ZTsKKwlzdHJ1Y3QgZGVidWdmc19yZWdzZXQzMiAqcmVnc2V0 ID0gbm9kZS0+aW5mb19lbnQtPmRhdGE7CisJc3RydWN0IGRybV9wcmludGVyIHAgPSBkcm1fc2Vx X2ZpbGVfcHJpbnRlcihtKTsKKworCWRybV9wcmludF9yZWdzZXQzMigmcCwgcmVnc2V0KTsKKwor CXJldHVybiAwOworfQorCisvKioKKyAqIFJlZ2lzdGVycyBhIGRlYnVnZnMgZmlsZSB3aXRoIGEg Y2FsbGJhY2sgZnVuY3Rpb24gZm9yIGEgdmM0IGNvbXBvbmVudC4KKyAqCisgKiBUaGlzIGlzIGxp a2UgZHJtX2RlYnVnZnNfY3JlYXRlX2ZpbGVzKCksIGJ1dCB0aGF0IGNhbiBvbmx5IGJlCisgKiBj YWxsZWQgYSBnaXZlbiBEUk0gbWlub3IsIHdoaWxlIHRoZSB2YXJpb3VzIFZDNCBjb21wb25lbnRz IHdhbnQgdG8KKyAqIHJlZ2lzdGVyIHRoZWlyIGRlYnVnZnMgZmlsZXMgZHVyaW5nIHRoZSBjb21w b25lbnQgYmluZCBwcm9jZXNzLiAgV2UKKyAqIHRyYWNrIHRoZSByZXF1ZXN0IGFuZCBkZWxheSBp dCB0byBiZSBjYWxsZWQgb24gZWFjaCBtaW5vciBkdXJpbmcKKyAqIHZjNF9kZWJ1Z2ZzX2luaXQo KS4KKyAqLwordm9pZCB2YzRfZGVidWdmc19hZGRfZmlsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAorCQkJICBjb25zdCBjaGFyICpuYW1lLAorCQkJICBpbnQgKCpzaG93KShzdHJ1Y3Qgc2VxX2Zp bGUqLCB2b2lkKiksCisJCQkgIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IHZjNF9kZXYgKnZjNCA9 IHRvX3ZjNF9kZXYoZGV2KTsKKworCXN0cnVjdCB2YzRfZGVidWdmc19pbmZvX2VudHJ5ICplbnRy eSA9CisJCWRldm1fa3phbGxvYyhkZXYtPmRldiwgc2l6ZW9mKCplbnRyeSksIEdGUF9LRVJORUwp OworCisJaWYgKCFlbnRyeSkKKwkJcmV0dXJuOworCisJZW50cnktPmluZm8ubmFtZSA9IG5hbWU7 CisJZW50cnktPmluZm8uc2hvdyA9IHNob3c7CisJZW50cnktPmluZm8uZGF0YSA9IGRhdGE7CisK KwlsaXN0X2FkZCgmZW50cnktPmxpbmssICZ2YzQtPmRlYnVnZnNfbGlzdCk7Cit9CisKK3ZvaWQg dmM0X2RlYnVnZnNfYWRkX3JlZ3NldDMyKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCisJCQkgICAg ICBjb25zdCBjaGFyICpuYW1lLAorCQkJICAgICAgc3RydWN0IGRlYnVnZnNfcmVnc2V0MzIgKnJl Z3NldCkKK3sKKwl2YzRfZGVidWdmc19hZGRfZmlsZShkcm0sIG5hbWUsIHZjNF9kZWJ1Z2ZzX3Jl Z3NldDMyLCByZWdzZXQpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRf ZHBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcGkuYwppbmRleCA4YmUyMjY0ZjQ5NmEu LjM0ZjkwY2E4ZjQ3OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHBpLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHBpLmMKQEAgLTEyNSwyNCArMTI1LDYgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBkZWJ1Z2ZzX3JlZzMyIGRwaV9yZWdzW10gPSB7CiAJVkM0X1JF RzMyKERQSV9JRCksCiB9OwogCi0jaWZkZWYgQ09ORklHX0RFQlVHX0ZTCi1pbnQgdmM0X2RwaV9k ZWJ1Z2ZzX3JlZ3Moc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCi17Ci0Jc3RydWN0 IGRybV9pbmZvX25vZGUgKm5vZGUgPSAoc3RydWN0IGRybV9pbmZvX25vZGUgKiltLT5wcml2YXRl OwotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2OwotCXN0cnVjdCB2 YzRfZGV2ICp2YzQgPSB0b192YzRfZGV2KGRldik7Ci0Jc3RydWN0IHZjNF9kcGkgKmRwaSA9IHZj NC0+ZHBpOwotCXN0cnVjdCBkcm1fcHJpbnRlciBwID0gZHJtX3NlcV9maWxlX3ByaW50ZXIobSk7 Ci0KLQlpZiAoIWRwaSkKLQkJcmV0dXJuIDA7Ci0KLQlkcm1fcHJpbnRfcmVnc2V0MzIoJnAsICZk cGktPnJlZ3NldCk7Ci0KLQlyZXR1cm4gMDsKLX0KLSNlbmRpZgotCiBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9lbmNvZGVyX2Z1bmNzIHZjNF9kcGlfZW5jb2Rlcl9mdW5jcyA9IHsKIAkuZGVzdHJv eSA9IGRybV9lbmNvZGVyX2NsZWFudXAsCiB9OwpAQCAtMzQ5LDYgKzMzMSw4IEBAIHN0YXRpYyBp bnQgdmM0X2RwaV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVy LCB2b2lkICpkYXRhKQogCiAJdmM0LT5kcGkgPSBkcGk7CiAKKwl2YzRfZGVidWdmc19hZGRfcmVn c2V0MzIoZHJtLCAiZHBpX3JlZ3MiLCAmZHBpLT5yZWdzZXQpOworCiAJcmV0dXJuIDA7CiAKIGVy cl9kZXN0cm95X2VuY29kZXI6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9k cnYuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5jCmluZGV4IDUyNTc2ZGVlODA5ZS4u MTkyN2QxYjc1NmY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuYwpAQCAtMjY1LDYgKzI2NSw3IEBAIHN0 YXRpYyBpbnQgdmM0X2RybV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAlwbGF0Zm9ybV9zZXRf ZHJ2ZGF0YShwZGV2LCBkcm0pOwogCXZjNC0+ZGV2ID0gZHJtOwogCWRybS0+ZGV2X3ByaXZhdGUg PSB2YzQ7CisJSU5JVF9MSVNUX0hFQUQoJnZjNC0+ZGVidWdmc19saXN0KTsKIAogCXJldCA9IHZj NF9ib19jYWNoZV9pbml0KGRybSk7CiAJaWYgKHJldCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS92YzQvdmM0X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmgKaW5kZXgg NTExYWQ4ODRkOWMzLi40OTVjNWExM2E5NDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5oCkBAIC0yMDAs NiArMjAwLDExIEBAIHN0cnVjdCB2YzRfZGV2IHsKIAogCXN0cnVjdCBkcm1fbW9kZXNldF9sb2Nr IGN0bV9zdGF0ZV9sb2NrOwogCXN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogY3RtX21hbmFnZXI7CisK KwkvKiBMaXN0IG9mIHZjNF9kZWJ1Z2ZzX2luZm9fZW50cnkgZm9yIGFkZGluZyB0byBkZWJ1Z2Zz IG9uY2UKKwkgKiB0aGUgbWlub3IgaXMgYXZhaWxhYmxlIChhZnRlciBkcm1fZGV2X3JlZ2lzdGVy KCkpLgorCSAqLworCXN0cnVjdCBsaXN0X2hlYWQgZGVidWdmc19saXN0OwogfTsKIAogc3RhdGlj IGlubGluZSBzdHJ1Y3QgdmM0X2RldiAqCkBAIC00MDgsNiArNDEzLDcgQEAgc3RydWN0IHZjNF9j cnRjX2RhdGEgewogCWludCBodnNfY2hhbm5lbDsKIAogCWVudW0gdmM0X2VuY29kZXJfdHlwZSBl bmNvZGVyX3R5cGVzWzRdOworCWNvbnN0IGNoYXIgKmRlYnVnZnNfbmFtZTsKIH07CiAKIHN0cnVj dCB2YzRfY3J0YyB7CkBAIC02OTQsNyArNzAwLDYgQEAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICp2 YzRfcHJpbWVfaW1wb3J0X3NnX3RhYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiB2b2lkICp2 YzRfcHJpbWVfdm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaik7CiBpbnQgdmM0X2JvX2Nh Y2hlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lkIHZjNF9ib19jYWNoZV9kZXN0 cm95KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwotaW50IHZjNF9ib19zdGF0c19kZWJ1Z2ZzKHN0 cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqYXJnKTsKIGludCB2YzRfYm9faW5jX3VzZWNudChzdHJ1 Y3QgdmM0X2JvICpibyk7CiB2b2lkIHZjNF9ib19kZWNfdXNlY250KHN0cnVjdCB2YzRfYm8gKmJv KTsKIHZvaWQgdmM0X2JvX2FkZF90b19wdXJnZWFibGVfcG9vbChzdHJ1Y3QgdmM0X2JvICpibyk7 CkBAIC03MDIsNyArNzA3LDYgQEAgdm9pZCB2YzRfYm9fcmVtb3ZlX2Zyb21fcHVyZ2VhYmxlX3Bv b2woc3RydWN0IHZjNF9ibyAqYm8pOwogCiAvKiB2YzRfY3J0Yy5jICovCiBleHRlcm4gc3RydWN0 IHBsYXRmb3JtX2RyaXZlciB2YzRfY3J0Y19kcml2ZXI7Ci1pbnQgdmM0X2NydGNfZGVidWdmc19y ZWdzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqYXJnKTsKIGJvb2wgdmM0X2NydGNfZ2V0X3Nj YW5vdXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGNydGNfaWQsCiAJ CQkgICAgIGJvb2wgaW5fdmJsYW5rX2lycSwgaW50ICp2cG9zLCBpbnQgKmhwb3MsCiAJCQkgICAg IGt0aW1lX3QgKnN0aW1lLCBrdGltZV90ICpldGltZSwKQEAgLTcxNSwxNyArNzE5LDM3IEBAIHZv aWQgdmM0X2NydGNfZ2V0X21hcmdpbnMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwKIAog LyogdmM0X2RlYnVnZnMuYyAqLwogaW50IHZjNF9kZWJ1Z2ZzX2luaXQoc3RydWN0IGRybV9taW5v ciAqbWlub3IpOworI2lmZGVmIENPTkZJR19ERUJVR19GUwordm9pZCB2YzRfZGVidWdmc19hZGRf ZmlsZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAorCQkJICBjb25zdCBjaGFyICpmaWxlbmFtZSwK KwkJCSAgaW50ICgqc2hvdykoc3RydWN0IHNlcV9maWxlKiwgdm9pZCopLAorCQkJICB2b2lkICpk YXRhKTsKK3ZvaWQgdmM0X2RlYnVnZnNfYWRkX3JlZ3NldDMyKHN0cnVjdCBkcm1fZGV2aWNlICpk cm0sCisJCQkgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCSAgICAgIHN0cnVjdCBkZWJ1 Z2ZzX3JlZ3NldDMyICpyZWdzZXQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCB2YzRfZGVi dWdmc19hZGRfZmlsZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAorCQkJCQljb25zdCBjaGFyICpm aWxlbmFtZSwKKwkJCQkJaW50ICgqc2hvdykoc3RydWN0IHNlcV9maWxlKiwgdm9pZCopLAorCQkJ CQl2b2lkICpkYXRhKQoreworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdmM0X2RlYnVnZnNfYWRk X3JlZ3NldDMyKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCisJCQkJCSAgICBjb25zdCBjaGFyICpm aWxlbmFtZSwKKwkJCQkJICAgIHN0cnVjdCBkZWJ1Z2ZzX3JlZ3NldDMyICpyZWdzZXQpCit7Cit9 CisjZW5kaWYKIAogLyogdmM0X2Rydi5jICovCiB2b2lkIF9faW9tZW0gKnZjNF9pb3JlbWFwX3Jl Z3Moc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LCBpbnQgaW5kZXgpOwogCiAvKiB2YzRfZHBp LmMgKi8KIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHZjNF9kcGlfZHJpdmVyOwotaW50 IHZjNF9kcGlfZGVidWdmc19yZWdzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKTsK IAogLyogdmM0X2RzaS5jICovCiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciB2YzRfZHNp X2RyaXZlcjsKLWludCB2YzRfZHNpX2RlYnVnZnNfcmVncyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZv aWQgKnVudXNlZCk7CiAKIC8qIHZjNF9mZW5jZS5jICovCiBleHRlcm4gY29uc3Qgc3RydWN0IGRt YV9mZW5jZV9vcHMgdmM0X2ZlbmNlX29wczsKQEAgLTc1MywxNSArNzc3LDEyIEBAIGludCB2YzRf Z2VtX21hZHZpc2VfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAog LyogdmM0X2hkbWkuYyAqLwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgdmM0X2hkbWlf ZHJpdmVyOwotaW50IHZjNF9oZG1pX2RlYnVnZnNfcmVncyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZv aWQgKnVudXNlZCk7CiAKIC8qIHZjNF92ZWMuYyAqLwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9k cml2ZXIgdmM0X3ZlY19kcml2ZXI7Ci1pbnQgdmM0X3ZlY19kZWJ1Z2ZzX3JlZ3Moc3RydWN0IHNl cV9maWxlICptLCB2b2lkICp1bnVzZWQpOwogCiAvKiB2YzRfdHhwLmMgKi8KIGV4dGVybiBzdHJ1 Y3QgcGxhdGZvcm1fZHJpdmVyIHZjNF90eHBfZHJpdmVyOwotaW50IHZjNF90eHBfZGVidWdmc19y ZWdzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKTsKIAogLyogdmM0X2lycS5jICov CiBpcnFyZXR1cm5fdCB2YzRfaXJxKGludCBpcnEsIHZvaWQgKmFyZyk7CkBAIC03NzMsNyArNzk0 LDYgQEAgdm9pZCB2YzRfaXJxX3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogLyogdmM0 X2h2cy5jICovCiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciB2YzRfaHZzX2RyaXZlcjsK IHZvaWQgdmM0X2h2c19kdW1wX3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwotaW50IHZj NF9odnNfZGVidWdmc19yZWdzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKTsKIAog LyogdmM0X2ttcy5jICovCiBpbnQgdmM0X2ttc19sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp OwpAQCAtNzg4LDggKzgwOCw2IEBAIHZvaWQgdmM0X3BsYW5lX2FzeW5jX3NldF9mYihzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKIAogLyogdmM0X3YzZC5jICovCiBleHRlcm4gc3RydWN0IHBsYXRm b3JtX2RyaXZlciB2YzRfdjNkX2RyaXZlcjsKLWludCB2YzRfdjNkX2RlYnVnZnNfaWRlbnQoc3Ry dWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpOwotaW50IHZjNF92M2RfZGVidWdmc19yZWdz KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKTsKIGludCB2YzRfdjNkX2dldF9iaW5f c2xvdChzdHJ1Y3QgdmM0X2RldiAqdmM0KTsKIAogLyogdmM0X3ZhbGlkYXRlLmMgKi8KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL3Zj NC92YzRfZHNpLmMKaW5kZXggODA2Y2ZhYTJhNmE3Li45NDEyNzA5MDY3ZjUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RzaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQv dmM0X2RzaS5jCkBAIC02NTcsMjUgKzY1Nyw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGVidWdm c19yZWczMiBkc2kxX3JlZ3NbXSA9IHsKIAlWQzRfUkVHMzIoRFNJMV9JRCksCiB9OwogCi0jaWZk ZWYgQ09ORklHX0RFQlVHX0ZTCi1pbnQgdmM0X2RzaV9kZWJ1Z2ZzX3JlZ3Moc3RydWN0IHNlcV9m aWxlICptLCB2b2lkICp1bnVzZWQpCi17Ci0Jc3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUgPSAo c3RydWN0IGRybV9pbmZvX25vZGUgKiltLT5wcml2YXRlOwotCXN0cnVjdCBkcm1fZGV2aWNlICpk cm0gPSBub2RlLT5taW5vci0+ZGV2OwotCXN0cnVjdCB2YzRfZGV2ICp2YzQgPSB0b192YzRfZGV2 KGRybSk7Ci0JaW50IGRzaV9pbmRleCA9ICh1aW50cHRyX3Qpbm9kZS0+aW5mb19lbnQtPmRhdGE7 Ci0Jc3RydWN0IHZjNF9kc2kgKmRzaSA9IChkc2lfaW5kZXggPT0gMSA/IHZjNC0+ZHNpMSA6IE5V TEwpOwotCXN0cnVjdCBkcm1fcHJpbnRlciBwID0gZHJtX3NlcV9maWxlX3ByaW50ZXIobSk7Ci0K LQlpZiAoIWRzaSkKLQkJcmV0dXJuIDA7Ci0KLQlkcm1fcHJpbnRfcmVnc2V0MzIoJnAsICZkc2kt PnJlZ3NldCk7Ci0KLQlyZXR1cm4gMDsKLX0KLSNlbmRpZgotCiBzdGF0aWMgdm9pZCB2YzRfZHNp X2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJZHJtX2Vu Y29kZXJfY2xlYW51cChlbmNvZGVyKTsKQEAgLTE2MzcsNiArMTYxOCwxMSBAQCBzdGF0aWMgaW50 IHZjNF9kc2lfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwg dm9pZCAqZGF0YSkKIAkgKi8KIAlkc2ktPmVuY29kZXItPmJyaWRnZSA9IE5VTEw7CiAKKwlpZiAo ZHNpLT5wb3J0ID09IDApCisJCXZjNF9kZWJ1Z2ZzX2FkZF9yZWdzZXQzMihkcm0sICJkc2kwX3Jl Z3MiLCAmZHNpLT5yZWdzZXQpOworCWVsc2UKKwkJdmM0X2RlYnVnZnNfYWRkX3JlZ3NldDMyKGRy bSwgImRzaTFfcmVncyIsICZkc2ktPnJlZ3NldCk7CisKIAlwbV9ydW50aW1lX2VuYWJsZShkZXYp OwogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1p LmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMKaW5kZXggMzhjOTE3MmNmZTUyLi45 OWZjODU2OWUwZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMKQEAgLTE4Nyw4ICsxODcsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGRlYnVnZnNfcmVnMzIgaGRfcmVnc1tdID0gewogCVZDNF9SRUcz MihWQzRfSERfRlJBTUVfQ09VTlQpLAogfTsKIAotI2lmZGVmIENPTkZJR19ERUJVR19GUwotaW50 IHZjNF9oZG1pX2RlYnVnZnNfcmVncyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkK K3N0YXRpYyBpbnQgdmM0X2hkbWlfZGVidWdmc19yZWdzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9p ZCAqdW51c2VkKQogewogCXN0cnVjdCBkcm1faW5mb19ub2RlICpub2RlID0gKHN0cnVjdCBkcm1f aW5mb19ub2RlICopbS0+cHJpdmF0ZTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbm9kZS0+ bWlub3ItPmRldjsKQEAgLTIwMSw3ICsyMDAsNiBAQCBpbnQgdmM0X2hkbWlfZGVidWdmc19yZWdz KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQogCiAJcmV0dXJuIDA7CiB9Ci0jZW5k aWYgLyogQ09ORklHX0RFQlVHX0ZTICovCiAKIHN0YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3Rh dHVzCiB2YzRfaGRtaV9jb25uZWN0b3JfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsIGJvb2wgZm9yY2UpCkBAIC0xNDMyLDYgKzE0MzAsOCBAQCBzdGF0aWMgaW50IHZjNF9o ZG1pX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQg KmRhdGEpCiAJaWYgKHJldCkKIAkJZ290byBlcnJfZGVzdHJveV9lbmNvZGVyOwogCisJdmM0X2Rl YnVnZnNfYWRkX2ZpbGUoZHJtLCAiaGRtaV9yZWdzIiwgdmM0X2hkbWlfZGVidWdmc19yZWdzLCBo ZG1pKTsKKwogCXJldHVybiAwOwogCiAjaWZkZWYgQ09ORklHX0RSTV9WQzRfSERNSV9DRUMKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2h2cy5jIGIvZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfaHZzLmMKaW5kZXggNDU0MDVmNzZjZDQwLi43YThkNzFmYmYwNGQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2h2cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X2h2cy5jCkBAIC03OSwyMCArNzksNiBAQCB2b2lkIHZjNF9odnNfZHVtcF9zdGF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCX0KIH0KIAotI2lmZGVmIENPTkZJR19ERUJVR19GUwot aW50IHZjNF9odnNfZGVidWdmc19yZWdzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2Vk KQotewotCXN0cnVjdCBkcm1faW5mb19ub2RlICpub2RlID0gKHN0cnVjdCBkcm1faW5mb19ub2Rl ICopbS0+cHJpdmF0ZTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbm9kZS0+bWlub3ItPmRl djsKLQlzdHJ1Y3QgdmM0X2RldiAqdmM0ID0gdG9fdmM0X2RldihkZXYpOwotCXN0cnVjdCBkcm1f cHJpbnRlciBwID0gZHJtX3NlcV9maWxlX3ByaW50ZXIobSk7Ci0KLQlkcm1fcHJpbnRfcmVnc2V0 MzIoJnAsICZ2YzQtPmh2cy0+cmVnc2V0KTsKLQotCXJldHVybiAwOwotfQotI2VuZGlmCi0KIC8q IFRoZSBmaWx0ZXIga2VybmVsIGlzIGNvbXBvc2VkIG9mIGR3b3JkcyBlYWNoIGNvbnRhaW5pbmcg MyA5LWJpdAogICogc2lnbmVkIGludGVnZXJzIHBhY2tlZCBuZXh0IHRvIGVhY2ggb3RoZXIuCiAg Ki8KQEAgLTIyMSw2ICsyMDcsOCBAQCBzdGF0aWMgaW50IHZjNF9odnNfYmluZChzdHJ1Y3QgZGV2 aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKIAogCUhWU19XUklU RShTQ0FMRVJfRElTUENUUkwsIGRpc3BjdHJsKTsKIAorCXZjNF9kZWJ1Z2ZzX2FkZF9yZWdzZXQz Mihkcm0sICJodnNfcmVncyIsICZodnMtPnJlZ3NldCk7CisKIAlyZXR1cm4gMDsKIH0KIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfdHhwLmMgYi9kcml2ZXJzL2dwdS9kcm0v dmM0L3ZjNF90eHAuYwppbmRleCBjOGY4MDA2NGMxNzkuLjEyMjBmNGE1YWFjNCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfdHhwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Zj NC92YzRfdHhwLmMKQEAgLTE2OSwyNCArMTY5LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkZWJ1 Z2ZzX3JlZzMyIHR4cF9yZWdzW10gPSB7CiAJVkM0X1JFRzMyKFRYUF9QUk9HUkVTUyksCiB9Owog Ci0jaWZkZWYgQ09ORklHX0RFQlVHX0ZTCi1pbnQgdmM0X3R4cF9kZWJ1Z2ZzX3JlZ3Moc3RydWN0 IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCi17Ci0Jc3RydWN0IGRybV9pbmZvX25vZGUgKm5v ZGUgPSAoc3RydWN0IGRybV9pbmZvX25vZGUgKiltLT5wcml2YXRlOwotCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2OwotCXN0cnVjdCB2YzRfZGV2ICp2YzQgPSB0b192 YzRfZGV2KGRldik7Ci0Jc3RydWN0IHZjNF90eHAgKnR4cCA9IHZjNC0+dHhwOwotCXN0cnVjdCBk cm1fcHJpbnRlciBwID0gZHJtX3NlcV9maWxlX3ByaW50ZXIobSk7Ci0KLQlpZiAoIXR4cCkKLQkJ cmV0dXJuIDA7Ci0KLQlkcm1fcHJpbnRfcmVnc2V0MzIoJnAsICZ0eHAtPnJlZ3NldCk7Ci0KLQly ZXR1cm4gMDsKLX0KLSNlbmRpZgotCiBzdGF0aWMgaW50IHZjNF90eHBfY29ubmVjdG9yX2dldF9t b2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewogCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKQEAgLTQyNCw2ICs0MDYsOCBAQCBzdGF0aWMgaW50 IHZjNF90eHBfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwg dm9pZCAqZGF0YSkKIAlkZXZfc2V0X2RydmRhdGEoZGV2LCB0eHApOwogCXZjNC0+dHhwID0gdHhw OwogCisJdmM0X2RlYnVnZnNfYWRkX3JlZ3NldDMyKGRybSwgInR4cF9yZWdzIiwgJnR4cC0+cmVn c2V0KTsKKwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0 L3ZjNF92M2QuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3YzZC5jCmluZGV4IGUxZTcyOGU5 NTU2Mi4uZjAwODU4NGViNzM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF92 M2QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF92M2QuYwpAQCAtMjIsNyArMjIsNiBA QAogI2luY2x1ZGUgInZjNF9kcnYuaCIKICNpbmNsdWRlICJ2YzRfcmVncy5oIgogCi0jaWZkZWYg Q09ORklHX0RFQlVHX0ZTCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRlYnVnZnNfcmVnMzIgdjNkX3Jl Z3NbXSA9IHsKIAlWQzRfUkVHMzIoVjNEX0lERU5UMCksCiAJVkM0X1JFRzMyKFYzRF9JREVOVDEp LApAQCAtMTA0LDE5ICsxMDMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRlYnVnZnNfcmVnMzIg djNkX3JlZ3NbXSA9IHsKIAlWQzRfUkVHMzIoVjNEX0VSUlNUQVQpLAogfTsKIAotaW50IHZjNF92 M2RfZGVidWdmc19yZWdzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQotewotCXN0 cnVjdCBkcm1faW5mb19ub2RlICpub2RlID0gKHN0cnVjdCBkcm1faW5mb19ub2RlICopbS0+cHJp dmF0ZTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbm9kZS0+bWlub3ItPmRldjsKLQlzdHJ1 Y3QgdmM0X2RldiAqdmM0ID0gdG9fdmM0X2RldihkZXYpOwotCXN0cnVjdCBkcm1fcHJpbnRlciBw ID0gZHJtX3NlcV9maWxlX3ByaW50ZXIobSk7Ci0KLQlkcm1fcHJpbnRfcmVnc2V0MzIoJnAsICZ2 YzQtPnYzZC0+cmVnc2V0KTsKLQotCXJldHVybiAwOwotfQotCi1pbnQgdmM0X3YzZF9kZWJ1Z2Zz X2lkZW50KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQorc3RhdGljIGludCB2YzRf djNkX2RlYnVnZnNfaWRlbnQoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCiB7CiAJ c3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUgPSAoc3RydWN0IGRybV9pbmZvX25vZGUgKiltLT5w cml2YXRlOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2OwpAQCAt MTM2LDcgKzEyMyw2IEBAIGludCB2YzRfdjNkX2RlYnVnZnNfaWRlbnQoc3RydWN0IHNlcV9maWxl ICptLCB2b2lkICp1bnVzZWQpCiAKIAlyZXR1cm4gMDsKIH0KLSNlbmRpZiAvKiBDT05GSUdfREVC VUdfRlMgKi8KIAogc3RhdGljIHZvaWQgdmM0X3YzZF9pbml0X2h3KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiB7CkBAIC00MDQsNiArMzkwLDkgQEAgc3RhdGljIGludCB2YzRfdjNkX2JpbmQoc3Ry dWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCiAJcG1f cnVudGltZV9zZXRfYXV0b3N1c3BlbmRfZGVsYXkoZGV2LCA0MCk7IC8qIGEgbGl0dGxlIG92ZXIg MiBmcmFtZXMuICovCiAJcG1fcnVudGltZV9lbmFibGUoZGV2KTsKIAorCXZjNF9kZWJ1Z2ZzX2Fk ZF9maWxlKGRybSwgInYzZF9pZGVudCIsIHZjNF92M2RfZGVidWdmc19pZGVudCwgTlVMTCk7CisJ dmM0X2RlYnVnZnNfYWRkX3JlZ3NldDMyKGRybSwgInYzZF9yZWdzIiwgJnYzZC0+cmVnc2V0KTsK KwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF92 ZWMuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3ZlYy5jCmluZGV4IDgzMjI3ZDI0NDBhYS4u MGEyN2U0OGZhYjMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF92ZWMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF92ZWMuYwpAQCAtMjUyLDI0ICsyNTIsNiBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGRlYnVnZnNfcmVnMzIgdmVjX3JlZ3NbXSA9IHsKIAlWQzRfUkVH MzIoVkVDX0RBQ19NSVNDKSwKIH07CiAKLSNpZmRlZiBDT05GSUdfREVCVUdfRlMKLWludCB2YzRf dmVjX2RlYnVnZnNfcmVncyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKLXsKLQlz dHJ1Y3QgZHJtX2luZm9fbm9kZSAqbm9kZSA9IChzdHJ1Y3QgZHJtX2luZm9fbm9kZSAqKW0tPnBy aXZhdGU7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG5vZGUtPm1pbm9yLT5kZXY7Ci0Jc3Ry dWN0IHZjNF9kZXYgKnZjNCA9IHRvX3ZjNF9kZXYoZGV2KTsKLQlzdHJ1Y3QgdmM0X3ZlYyAqdmVj ID0gdmM0LT52ZWM7Ci0Jc3RydWN0IGRybV9wcmludGVyIHAgPSBkcm1fc2VxX2ZpbGVfcHJpbnRl cihtKTsKLQotCWlmICghdmVjKQotCQlyZXR1cm4gMDsKLQotCWRybV9wcmludF9yZWdzZXQzMigm cCwgJnZlYy0+cmVnc2V0KTsKLQotCXJldHVybiAwOwotfQotI2VuZGlmCi0KIHN0YXRpYyB2b2lk IHZjNF92ZWNfbnRzY19tb2RlX3NldChzdHJ1Y3QgdmM0X3ZlYyAqdmVjKQogewogCVZFQ19XUklU RShWRUNfQ09ORklHMCwgVkVDX0NPTkZJRzBfTlRTQ19TVEQgfCBWRUNfQ09ORklHMF9QREVOKTsK QEAgLTYwOSw2ICs1OTEsOCBAQCBzdGF0aWMgaW50IHZjNF92ZWNfYmluZChzdHJ1Y3QgZGV2aWNl ICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKIAogCXZjNC0+dmVjID0g dmVjOwogCisJdmM0X2RlYnVnZnNfYWRkX3JlZ3NldDMyKGRybSwgInZlY19yZWdzIiwgJnZlYy0+ cmVnc2V0KTsKKwogCXJldHVybiAwOwogCiBlcnJfZGVzdHJveV9lbmNvZGVyOgotLSAKMi4yMC4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=