From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Weinehall Subject: [PATCH 2/4] drm/i915: Consistent struct device naming Date: Mon, 1 Aug 2016 18:38:53 +0300 Message-ID: <1470065935-9861-3-git-send-email-david.weinehall@linux.intel.com> References: <1470065935-9861-1-git-send-email-david.weinehall@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 6559E6E34A for ; Mon, 1 Aug 2016 15:39:03 +0000 (UTC) In-Reply-To: <1470065935-9861-1-git-send-email-david.weinehall@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org V2UgY3VycmVudGx5IGhhdmUgYSBtaXggb2Ygc3RydWN0IGRldmljZSAqZGV2aWNlLCBzdHJ1Y3Qg ZGV2aWNlICprZGV2LAphbmQgc3RydWN0IGRldmljZSAqZGV2ICh0aGUgbGF0dGVyIGZvcmNpbmcg dXMgdG8gcmVmZXIgdG8Kc3RydWN0IGRybV9kZXZpY2UgYXMgc29tZXRoaW5nIGVsc2UgdGhhbiB0 aGUgbm9ybWFsIGRldikuCgpUbyBzaW1wbGlmeSB0aGluZ3MsIGFsd2F5cyB1c2Uga2RldiB3aGVu IHJlZmVycmluZyB0byBzdHJ1Y3QgZGV2aWNlLgoKU2lnbmVkLW9mZi1ieTogRGF2aWQgV2VpbmVo YWxsIDxkYXZpZC53ZWluZWhhbGxAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICB8IDk2ICsrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDQgKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jICAgICB8ICA2ICstLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jICAgICAgIHwgNjIgKysrKysrKysrKy0tLS0tLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jICAgICAgfCAzOCArKysrKyst LS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAzNiArKysr KystLS0tLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCspLCAxMjEgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggODNhZmRkMDU5N2I1Li5iMTg2ZTM0 MmY1NDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtNzcsNyArNzcsNyBAQCBfX2k5MTVf cHJpbnRrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgY29uc3QgY2hhciAqbGV2 ZWwsCiAJICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCiB7CiAJc3RhdGljIGJvb2wgc2hvd25f YnVnX29uY2U7Ci0Jc3RydWN0IGRldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRybS5kZXY7CisJc3Ry dWN0IGRldmljZSAqa2RldiA9IGRldl9wcml2LT5kcm0uZGV2OwogCWJvb2wgaXNfZXJyb3IgPSBs ZXZlbFsxXSA8PSBLRVJOX0VSUlsxXTsKIAlib29sIGlzX2RlYnVnID0gbGV2ZWxbMV0gPT0gS0VS Tl9ERUJVR1sxXTsKIAlzdHJ1Y3QgdmFfZm9ybWF0IHZhZjsKQEAgLTkxLDExICs5MSwxMSBAQCBf X2k5MTVfcHJpbnRrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgY29uc3QgY2hh ciAqbGV2ZWwsCiAJdmFmLmZtdCA9IGZtdDsKIAl2YWYudmEgPSAmYXJnczsKIAotCWRldl9wcmlu dGsobGV2ZWwsIGRldiwgIlsiIERSTV9OQU1FICI6JXBzXSAlcFYiLAorCWRldl9wcmludGsobGV2 ZWwsIGtkZXYsICJbIiBEUk1fTkFNRSAiOiVwc10gJXBWIiwKIAkJICAgX19idWlsdGluX3JldHVy bl9hZGRyZXNzKDApLCAmdmFmKTsKIAogCWlmIChpc19lcnJvciAmJiAhc2hvd25fYnVnX29uY2Up IHsKLQkJZGV2X25vdGljZShkZXYsICIlcyIsIEZET19CVUdfTVNHKTsKKwkJZGV2X25vdGljZShr ZGV2LCAiJXMiLCBGRE9fQlVHX01TRyk7CiAJCXNob3duX2J1Z19vbmNlID0gdHJ1ZTsKIAl9CiAK QEAgLTE0NzUsOSArMTQ3NSw5IEBAIG91dDoKIAlyZXR1cm4gZXJyb3I7CiB9CiAKLXN0YXRpYyBp bnQgaTkxNV9kcm1fc3VzcGVuZF9sYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LCBib29s IGhpYmVybmF0aW9uKQorc3RhdGljIGludCBpOTE1X2RybV9zdXNwZW5kX2xhdGUoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgYm9vbCBoaWJlcm5hdGlvbikKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRybV9kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlib29sIGZ3X2NzcjsKIAlpbnQgcmV0Owog CkBAIC0xNTExLDcgKzE1MTEsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHJtX3N1c3BlbmRfbGF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwgYm9vbCBoaWJlcm5hdGlvbikKIAkJZ290byBvdXQ7 CiAJfQogCi0JcGNpX2Rpc2FibGVfZGV2aWNlKGRybV9kZXYtPnBkZXYpOworCXBjaV9kaXNhYmxl X2RldmljZShkZXYtPnBkZXYpOwogCS8qCiAJICogRHVyaW5nIGhpYmVybmF0aW9uIG9uIHNvbWUg cGxhdGZvcm1zIHRoZSBCSU9TIG1heSB0cnkgdG8gYWNjZXNzCiAJICogdGhlIGRldmljZSBldmVu IHRob3VnaCBpdCdzIGFscmVhZHkgaW4gRDMgYW5kIGhhbmcgdGhlIG1hY2hpbmUuIFNvCkBAIC0x NTI1LDcgKzE1MjUsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHJtX3N1c3BlbmRfbGF0ZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZHJtX2RldiwgYm9vbCBoaWJlcm5hdGlvbikKIAkgKiBBY2VyIEFzcGlyZSAx ODMwVAogCSAqLwogCWlmICghKGhpYmVybmF0aW9uICYmIElOVEVMX0lORk8oZGV2X3ByaXYpLT5n ZW4gPCA2KSkKLQkJcGNpX3NldF9wb3dlcl9zdGF0ZShkcm1fZGV2LT5wZGV2LCBQQ0lfRDNob3Qp OworCQlwY2lfc2V0X3Bvd2VyX3N0YXRlKGRldi0+cGRldiwgUENJX0QzaG90KTsKIAogCWRldl9w cml2LT5zdXNwZW5kZWRfdG9faWRsZSA9IHN1c3BlbmRfdG9faWRsZShkZXZfcHJpdik7CiAKQEAg LTE4MjIsMjUgKzE4MjIsMjUgQEAgZXJyb3I6CiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGlu dCBpOTE1X3BtX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQorc3RhdGljIGludCBpOTE1X3Bt X3N1c3BlbmQoc3RydWN0IGRldmljZSAqa2RldikKIHsKLQlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9 IHRvX3BjaV9kZXYoZGV2KTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiA9IHBjaV9nZXRf ZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IHRvX3BjaV9kZXYoa2Rldik7 CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBjaV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAotCWlm ICghZHJtX2RldikgewotCQlkZXZfZXJyKGRldiwgIkRSTSBub3QgaW5pdGlhbGl6ZWQsIGFib3J0 aW5nIHN1c3BlbmQuXG4iKTsKKwlpZiAoIWRldikgeworCQlkZXZfZXJyKGtkZXYsICJEUk0gbm90 IGluaXRpYWxpemVkLCBhYm9ydGluZyBzdXNwZW5kLlxuIik7CiAJCXJldHVybiAtRU5PREVWOwog CX0KIAotCWlmIChkcm1fZGV2LT5zd2l0Y2hfcG93ZXJfc3RhdGUgPT0gRFJNX1NXSVRDSF9QT1dF Ul9PRkYpCisJaWYgKGRldi0+c3dpdGNoX3Bvd2VyX3N0YXRlID09IERSTV9TV0lUQ0hfUE9XRVJf T0ZGKQogCQlyZXR1cm4gMDsKIAotCXJldHVybiBpOTE1X2RybV9zdXNwZW5kKGRybV9kZXYpOwor CXJldHVybiBpOTE1X2RybV9zdXNwZW5kKGRldik7CiB9CiAKLXN0YXRpYyBpbnQgaTkxNV9wbV9z dXNwZW5kX2xhdGUoc3RydWN0IGRldmljZSAqZGV2KQorc3RhdGljIGludCBpOTE1X3BtX3N1c3Bl bmRfbGF0ZShzdHJ1Y3QgZGV2aWNlICprZGV2KQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1f ZGV2ID0gJmRldl90b19pOTE1KGRldiktPmRybTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g JmtkZXZfdG9faTkxNShrZGV2KS0+ZHJtOwogCiAJLyoKIAkgKiBXZSBoYXZlIGEgc3VzcGVuZCBv cmRlcmluZyBpc3N1ZSB3aXRoIHRoZSBzbmQtaGRhIGRyaXZlciBhbHNvCkBAIC0xODUxLDU3ICsx ODUxLDU3IEBAIHN0YXRpYyBpbnQgaTkxNV9wbV9zdXNwZW5kX2xhdGUoc3RydWN0IGRldmljZSAq ZGV2KQogCSAqIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBzb2x2ZWQgd2l0aCBhIHNwZWNpYWwgaGRt aSBzaW5rIGRldmljZSBvcgogCSAqIHNpbWlsYXIgc28gdGhhdCBwb3dlciBkb21haW5zIGNhbiBi ZSBlbXBsb3llZC4KIAkgKi8KLQlpZiAoZHJtX2Rldi0+c3dpdGNoX3Bvd2VyX3N0YXRlID09IERS TV9TV0lUQ0hfUE9XRVJfT0ZGKQorCWlmIChkZXYtPnN3aXRjaF9wb3dlcl9zdGF0ZSA9PSBEUk1f U1dJVENIX1BPV0VSX09GRikKIAkJcmV0dXJuIDA7CiAKLQlyZXR1cm4gaTkxNV9kcm1fc3VzcGVu ZF9sYXRlKGRybV9kZXYsIGZhbHNlKTsKKwlyZXR1cm4gaTkxNV9kcm1fc3VzcGVuZF9sYXRlKGRl diwgZmFsc2UpOwogfQogCi1zdGF0aWMgaW50IGk5MTVfcG1fcG93ZXJvZmZfbGF0ZShzdHJ1Y3Qg ZGV2aWNlICpkZXYpCitzdGF0aWMgaW50IGk5MTVfcG1fcG93ZXJvZmZfbGF0ZShzdHJ1Y3QgZGV2 aWNlICprZGV2KQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0gJmRldl90b19pOTE1 KGRldiktPmRybTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gJmtkZXZfdG9faTkxNShrZGV2 KS0+ZHJtOwogCi0JaWYgKGRybV9kZXYtPnN3aXRjaF9wb3dlcl9zdGF0ZSA9PSBEUk1fU1dJVENI X1BPV0VSX09GRikKKwlpZiAoZGV2LT5zd2l0Y2hfcG93ZXJfc3RhdGUgPT0gRFJNX1NXSVRDSF9Q T1dFUl9PRkYpCiAJCXJldHVybiAwOwogCi0JcmV0dXJuIGk5MTVfZHJtX3N1c3BlbmRfbGF0ZShk cm1fZGV2LCB0cnVlKTsKKwlyZXR1cm4gaTkxNV9kcm1fc3VzcGVuZF9sYXRlKGRldiwgdHJ1ZSk7 CiB9CiAKLXN0YXRpYyBpbnQgaTkxNV9wbV9yZXN1bWVfZWFybHkoc3RydWN0IGRldmljZSAqZGV2 KQorc3RhdGljIGludCBpOTE1X3BtX3Jlc3VtZV9lYXJseShzdHJ1Y3QgZGV2aWNlICprZGV2KQog ewotCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0gJmRldl90b19pOTE1KGRldiktPmRybTsK KwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gJmtkZXZfdG9faTkxNShrZGV2KS0+ZHJtOwogCi0J aWYgKGRybV9kZXYtPnN3aXRjaF9wb3dlcl9zdGF0ZSA9PSBEUk1fU1dJVENIX1BPV0VSX09GRikK KwlpZiAoZGV2LT5zd2l0Y2hfcG93ZXJfc3RhdGUgPT0gRFJNX1NXSVRDSF9QT1dFUl9PRkYpCiAJ CXJldHVybiAwOwogCi0JcmV0dXJuIGk5MTVfZHJtX3Jlc3VtZV9lYXJseShkcm1fZGV2KTsKKwly ZXR1cm4gaTkxNV9kcm1fcmVzdW1lX2Vhcmx5KGRldik7CiB9CiAKLXN0YXRpYyBpbnQgaTkxNV9w bV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQorc3RhdGljIGludCBpOTE1X3BtX3Jlc3VtZShz dHJ1Y3QgZGV2aWNlICprZGV2KQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0gJmRl dl90b19pOTE1KGRldiktPmRybTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gJmtkZXZfdG9f aTkxNShrZGV2KS0+ZHJtOwogCi0JaWYgKGRybV9kZXYtPnN3aXRjaF9wb3dlcl9zdGF0ZSA9PSBE Uk1fU1dJVENIX1BPV0VSX09GRikKKwlpZiAoZGV2LT5zd2l0Y2hfcG93ZXJfc3RhdGUgPT0gRFJN X1NXSVRDSF9QT1dFUl9PRkYpCiAJCXJldHVybiAwOwogCi0JcmV0dXJuIGk5MTVfZHJtX3Jlc3Vt ZShkcm1fZGV2KTsKKwlyZXR1cm4gaTkxNV9kcm1fcmVzdW1lKGRldik7CiB9CiAKIC8qIGZyZWV6 ZTogYmVmb3JlIGNyZWF0aW5nIHRoZSBoaWJlcm5hdGlvbl9pbWFnZSAqLwotc3RhdGljIGludCBp OTE1X3BtX2ZyZWV6ZShzdHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0aWMgaW50IGk5MTVfcG1fZnJl ZXplKHN0cnVjdCBkZXZpY2UgKmtkZXYpCiB7Ci0JcmV0dXJuIGk5MTVfcG1fc3VzcGVuZChkZXYp OworCXJldHVybiBpOTE1X3BtX3N1c3BlbmQoa2Rldik7CiB9CiAKLXN0YXRpYyBpbnQgaTkxNV9w bV9mcmVlemVfbGF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0aWMgaW50IGk5MTVfcG1fZnJl ZXplX2xhdGUoc3RydWN0IGRldmljZSAqa2RldikKIHsKIAlpbnQgcmV0OwogCi0JcmV0ID0gaTkx NV9wbV9zdXNwZW5kX2xhdGUoZGV2KTsKKwlyZXQgPSBpOTE1X3BtX3N1c3BlbmRfbGF0ZShrZGV2 KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCi0JcmV0ID0gaTkxNV9nZW1fZnJlZXplX2xh dGUoZGV2X3RvX2k5MTUoZGV2KSk7CisJcmV0ID0gaTkxNV9nZW1fZnJlZXplX2xhdGUoa2Rldl90 b19pOTE1KGtkZXYpKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0xOTA5LDI1ICsx OTA5LDI1IEBAIHN0YXRpYyBpbnQgaTkxNV9wbV9mcmVlemVfbGF0ZShzdHJ1Y3QgZGV2aWNlICpk ZXYpCiB9CiAKIC8qIHRoYXc6IGNhbGxlZCBhZnRlciBjcmVhdGluZyB0aGUgaGliZXJuYXRpb24g aW1hZ2UsIGJ1dCBiZWZvcmUgdHVybmluZyBvZmYuICovCi1zdGF0aWMgaW50IGk5MTVfcG1fdGhh d19lYXJseShzdHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0aWMgaW50IGk5MTVfcG1fdGhhd19lYXJs eShzdHJ1Y3QgZGV2aWNlICprZGV2KQogewotCXJldHVybiBpOTE1X3BtX3Jlc3VtZV9lYXJseShk ZXYpOworCXJldHVybiBpOTE1X3BtX3Jlc3VtZV9lYXJseShrZGV2KTsKIH0KIAotc3RhdGljIGlu dCBpOTE1X3BtX3RoYXcoc3RydWN0IGRldmljZSAqZGV2KQorc3RhdGljIGludCBpOTE1X3BtX3Ro YXcoc3RydWN0IGRldmljZSAqa2RldikKIHsKLQlyZXR1cm4gaTkxNV9wbV9yZXN1bWUoZGV2KTsK KwlyZXR1cm4gaTkxNV9wbV9yZXN1bWUoa2Rldik7CiB9CiAKIC8qIHJlc3RvcmU6IGNhbGxlZCBh ZnRlciBsb2FkaW5nIHRoZSBoaWJlcm5hdGlvbiBpbWFnZS4gKi8KLXN0YXRpYyBpbnQgaTkxNV9w bV9yZXN0b3JlX2Vhcmx5KHN0cnVjdCBkZXZpY2UgKmRldikKK3N0YXRpYyBpbnQgaTkxNV9wbV9y ZXN0b3JlX2Vhcmx5KHN0cnVjdCBkZXZpY2UgKmtkZXYpCiB7Ci0JcmV0dXJuIGk5MTVfcG1fcmVz dW1lX2Vhcmx5KGRldik7CisJcmV0dXJuIGk5MTVfcG1fcmVzdW1lX2Vhcmx5KGtkZXYpOwogfQog Ci1zdGF0aWMgaW50IGk5MTVfcG1fcmVzdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0aWMg aW50IGk5MTVfcG1fcmVzdG9yZShzdHJ1Y3QgZGV2aWNlICprZGV2KQogewotCXJldHVybiBpOTE1 X3BtX3Jlc3VtZShkZXYpOworCXJldHVybiBpOTE1X3BtX3Jlc3VtZShrZGV2KTsKIH0KIAogLyoK QEAgLTIyODksOSArMjI4OSw5IEBAIHN0YXRpYyBpbnQgdmx2X3Jlc3VtZV9wcmVwYXJlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMg aW50IGludGVsX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXZpY2UpCitzdGF0aWMg aW50IGludGVsX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICprZGV2KQogewotCXN0cnVj dCBwY2lfZGV2ICpwZGV2ID0gdG9fcGNpX2RldihkZXZpY2UpOworCXN0cnVjdCBwY2lfZGV2ICpw ZGV2ID0gdG9fcGNpX2RldihrZGV2KTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGNpX2dl dF9kcnZkYXRhKHBkZXYpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZGV2KTsKIAlpbnQgcmV0OwpAQCAtMjMxNyw3ICsyMzE3LDcgQEAgc3RhdGljIGludCBp bnRlbF9ydW50aW1lX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2aWNlKQogCQkgKiBCdW1wIHRo ZSBleHBpcmF0aW9uIHRpbWVzdGFtcCwgb3RoZXJ3aXNlIHRoZSBzdXNwZW5kIHdvbid0CiAJCSAq IGJlIHJlc2NoZWR1bGVkLgogCQkgKi8KLQkJcG1fcnVudGltZV9tYXJrX2xhc3RfYnVzeShkZXZp Y2UpOworCQlwbV9ydW50aW1lX21hcmtfbGFzdF9idXN5KGtkZXYpOwogCiAJCXJldHVybiAtRUFH QUlOOwogCX0KQEAgLTIzOTYsOSArMjM5Niw5IEBAIHN0YXRpYyBpbnQgaW50ZWxfcnVudGltZV9z dXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldmljZSkKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGlu dCBpbnRlbF9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXZpY2UpCitzdGF0aWMgaW50 IGludGVsX3J1bnRpbWVfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmtkZXYpCiB7Ci0Jc3RydWN0IHBj aV9kZXYgKnBkZXYgPSB0b19wY2lfZGV2KGRldmljZSk7CisJc3RydWN0IHBjaV9kZXYgKnBkZXYg PSB0b19wY2lfZGV2KGtkZXYpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwY2lfZ2V0X2Ry dmRhdGEocGRldik7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShkZXYpOwogCWludCByZXQgPSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggODhjM2Fj ZGE3MTk0Li5kZDg3ZGJjMTdiODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjA2Nyw5 ICsyMDY3LDkgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqdG9faTkx NShjb25zdCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXJldHVybiBjb250YWluZXJfb2YoZGV2 LCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgZHJtKTsKIH0KIAotc3RhdGljIGlubGluZSBzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3RvX2k5MTUoc3RydWN0IGRldmljZSAqZGV2KQorc3Rh dGljIGlubGluZSBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqa2Rldl90b19pOTE1KHN0cnVjdCBk ZXZpY2UgKmtkZXYpCiB7Ci0JcmV0dXJuIHRvX2k5MTUoZGV2X2dldF9kcnZkYXRhKGRldikpOwor CXJldHVybiB0b19pOTE1KGRldl9nZXRfZHJ2ZGF0YShrZGV2KSk7CiB9CiAKIHN0YXRpYyBpbmxp bmUgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmd1Y190b19pOTE1KHN0cnVjdCBpbnRlbF9ndWMg Kmd1YykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggMzhlN2Q5OTJhMjBkLi4x ZTQ4ZGJhM2M0OGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0zMjQsMTYg KzMyNCwxNiBAQCBzdGF0aWMgZ2VuNl9wdGVfdCBpcmlzX3B0ZV9lbmNvZGUoZG1hX2FkZHJfdCBh ZGRyLAogc3RhdGljIGludCBfX3NldHVwX3BhZ2VfZG1hKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CiAJCQkgICAgc3RydWN0IGk5MTVfcGFnZV9kbWEgKnAsIGdmcF90IGZsYWdzKQogewotCXN0cnVj dCBkZXZpY2UgKmRldmljZSA9ICZkZXYtPnBkZXYtPmRldjsKKwlzdHJ1Y3QgZGV2aWNlICprZGV2 ID0gJmRldi0+cGRldi0+ZGV2OwogCiAJcC0+cGFnZSA9IGFsbG9jX3BhZ2UoZmxhZ3MpOwogCWlm ICghcC0+cGFnZSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlwLT5kYWRkciA9IGRtYV9tYXBfcGFn ZShkZXZpY2UsCisJcC0+ZGFkZHIgPSBkbWFfbWFwX3BhZ2Uoa2RldiwKIAkJCQlwLT5wYWdlLCAw LCA0MDk2LCBQQ0lfRE1BX0JJRElSRUNUSU9OQUwpOwogCi0JaWYgKGRtYV9tYXBwaW5nX2Vycm9y KGRldmljZSwgcC0+ZGFkZHIpKSB7CisJaWYgKGRtYV9tYXBwaW5nX2Vycm9yKGtkZXYsIHAtPmRh ZGRyKSkgewogCQlfX2ZyZWVfcGFnZShwLT5wYWdlKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCmluZGV4IGYxZmZkZTdmN2MwYi4uMWU2NzljZTM5NGI4 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVk ZSAiaW50ZWxfZHJ2LmgiCiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKIAotI2RlZmluZSBkZXZfdG9f ZHJtX21pbm9yKGQpIGRldl9nZXRfZHJ2ZGF0YSgoZCkpCisjZGVmaW5lIGtkZXZfdG9fZHJtX21p bm9yKGQpIGRldl9nZXRfZHJ2ZGF0YSgoZCkpCiAKICNpZmRlZiBDT05GSUdfUE0KIHN0YXRpYyB1 MzIgY2FsY19yZXNpZGVuY3koc3RydWN0IGRybV9kZXZpY2UgKmRldiwKQEAgLTg0LDcgKzg0LDcg QEAgc2hvd19yYzZfbXMoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1 dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHN0YXRpYyBzc2l6ZV90CiBzaG93X3JjNnBfbXMoc3RydWN0 IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikK IHsKLQlzdHJ1Y3QgZHJtX21pbm9yICpkbWlub3IgPSBkZXZfdG9fZHJtX21pbm9yKGtkZXYpOwor CXN0cnVjdCBkcm1fbWlub3IgKmRtaW5vciA9IGtkZXZfdG9fZHJtX21pbm9yKGtkZXYpOwogCXUz MiByYzZwX3Jlc2lkZW5jeSA9IGNhbGNfcmVzaWRlbmN5KGRtaW5vci0+ZGV2LCBHRU42X0dUX0dG WF9SQzZwKTsKIAlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsICIldVxuIiwgcmM2cF9y ZXNpZGVuY3kpOwogfQpAQCAtOTIsNyArOTIsNyBAQCBzaG93X3JjNnBfbXMoc3RydWN0IGRldmlj ZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHN0YXRp YyBzc2l6ZV90CiBzaG93X3JjNnBwX21zKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBkZXZp Y2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCiB7Ci0Jc3RydWN0IGRybV9taW5vciAqZG1p bm9yID0gZGV2X3RvX2RybV9taW5vcihrZGV2KTsKKwlzdHJ1Y3QgZHJtX21pbm9yICpkbWlub3Ig PSBrZGV2X3RvX2RybV9taW5vcihrZGV2KTsKIAl1MzIgcmM2cHBfcmVzaWRlbmN5ID0gY2FsY19y ZXNpZGVuY3koZG1pbm9yLT5kZXYsIEdFTjZfR1RfR0ZYX1JDNnBwKTsKIAlyZXR1cm4gc25wcmlu dGYoYnVmLCBQQUdFX1NJWkUsICIldVxuIiwgcmM2cHBfcmVzaWRlbmN5KTsKIH0KQEAgLTE2Mywy MiArMTYzLDIyIEBAIGk5MTVfbDNfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgc3RydWN0IGtvYmpl Y3QgKmtvYmosCiAJICAgICBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmLAog CSAgICAgbG9mZl90IG9mZnNldCwgc2l6ZV90IGNvdW50KQogewotCXN0cnVjdCBkZXZpY2UgKmRl diA9IGtvYmpfdG9fZGV2KGtvYmopOwotCXN0cnVjdCBkcm1fbWlub3IgKmRtaW5vciA9IGRldl90 b19kcm1fbWlub3IoZGV2KTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiA9IGRtaW5vci0+ ZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZHJtX2Rl dik7CisJc3RydWN0IGRldmljZSAqa2RldiA9IGtvYmpfdG9fZGV2KGtvYmopOworCXN0cnVjdCBk cm1fbWlub3IgKmRtaW5vciA9IGtkZXZfdG9fZHJtX21pbm9yKGtkZXYpOworCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBkbWlub3ItPmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGRldik7CiAJaW50IHNsaWNlID0gKGludCkodWludHB0cl90KWF0dHIt PnByaXZhdGU7CiAJaW50IHJldDsKIAogCWNvdW50ID0gcm91bmRfZG93bihjb3VudCwgNCk7CiAK LQlyZXQgPSBsM19hY2Nlc3NfdmFsaWQoZHJtX2Rldiwgb2Zmc2V0KTsKKwlyZXQgPSBsM19hY2Nl c3NfdmFsaWQoZGV2LCBvZmZzZXQpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKIAljb3Vu dCA9IG1pbl90KHNpemVfdCwgR0VON19MM0xPR19TSVpFIC0gb2Zmc2V0LCBjb3VudCk7CiAKLQly ZXQgPSBpOTE1X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZShkcm1fZGV2KTsKKwlyZXQgPSBpOTE1 X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZShkZXYpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7 CiAKQEAgLTE4OSw3ICsxODksNyBAQCBpOTE1X2wzX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIHN0 cnVjdCBrb2JqZWN0ICprb2JqLAogCWVsc2UKIAkJbWVtc2V0KGJ1ZiwgMCwgY291bnQpOwogCi0J bXV0ZXhfdW5sb2NrKCZkcm1fZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCW11dGV4X3VubG9jaygmZGV2 LT5zdHJ1Y3RfbXV0ZXgpOwogCiAJcmV0dXJuIGNvdW50OwogfQpAQCAtMTk5LDMwICsxOTksMzAg QEAgaTkxNV9sM193cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgc3RydWN0IGtvYmplY3QgKmtvYmos CiAJICAgICAgc3RydWN0IGJpbl9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZiwKIAkgICAgICBs b2ZmX3Qgb2Zmc2V0LCBzaXplX3QgY291bnQpCiB7Ci0Jc3RydWN0IGRldmljZSAqZGV2ID0ga29i al90b19kZXYoa29iaik7Ci0Jc3RydWN0IGRybV9taW5vciAqZG1pbm9yID0gZGV2X3RvX2RybV9t aW5vcihkZXYpOwotCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0gZG1pbm9yLT5kZXY7Ci0J c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkcm1fZGV2KTsKKwlz dHJ1Y3QgZGV2aWNlICprZGV2ID0ga29ial90b19kZXYoa29iaik7CisJc3RydWN0IGRybV9taW5v ciAqZG1pbm9yID0ga2Rldl90b19kcm1fbWlub3Ioa2Rldik7CisJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGRtaW5vci0+ZGV2OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4OwogCXUzMiAqdGVt cCA9IE5VTEw7IC8qIEp1c3QgaGVyZSB0byBtYWtlIGhhbmRsaW5nIGZhaWx1cmVzIGVhc3kgKi8K IAlpbnQgc2xpY2UgPSAoaW50KSh1aW50cHRyX3QpYXR0ci0+cHJpdmF0ZTsKIAlpbnQgcmV0Owog Ci0JaWYgKCFIQVNfSFdfQ09OVEVYVFMoZHJtX2RldikpCisJaWYgKCFIQVNfSFdfQ09OVEVYVFMo ZGV2KSkKIAkJcmV0dXJuIC1FTlhJTzsKIAotCXJldCA9IGwzX2FjY2Vzc192YWxpZChkcm1fZGV2 LCBvZmZzZXQpOworCXJldCA9IGwzX2FjY2Vzc192YWxpZChkZXYsIG9mZnNldCk7CiAJaWYgKHJl dCkKIAkJcmV0dXJuIHJldDsKIAotCXJldCA9IGk5MTVfbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxl KGRybV9kZXYpOworCXJldCA9IGk5MTVfbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKGRldik7CiAJ aWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAogCWlmICghZGV2X3ByaXYtPmwzX3Bhcml0eS5yZW1h cF9pbmZvW3NsaWNlXSkgewogCQl0ZW1wID0ga3phbGxvYyhHRU43X0wzTE9HX1NJWkUsIEdGUF9L RVJORUwpOwogCQlpZiAoIXRlbXApIHsKLQkJCW11dGV4X3VubG9jaygmZHJtX2Rldi0+c3RydWN0 X211dGV4KTsKKwkJCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCQkJcmV0dXJu IC1FTk9NRU07CiAJCX0KIAl9CkBAIC0yNDAsNyArMjQwLDcgQEAgaTkxNV9sM193cml0ZShzdHJ1 Y3QgZmlsZSAqZmlscCwgc3RydWN0IGtvYmplY3QgKmtvYmosCiAJbGlzdF9mb3JfZWFjaF9lbnRy eShjdHgsICZkZXZfcHJpdi0+Y29udGV4dF9saXN0LCBsaW5rKQogCQljdHgtPnJlbWFwX3NsaWNl IHw9ICgxPDxzbGljZSk7CiAKLQltdXRleF91bmxvY2soJmRybV9kZXYtPnN0cnVjdF9tdXRleCk7 CisJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAKIAlyZXR1cm4gY291bnQ7CiB9 CkBAIC0yNjYsNyArMjY2LDcgQEAgc3RhdGljIHN0cnVjdCBiaW5fYXR0cmlidXRlIGRwZl9hdHRy c18xID0gewogc3RhdGljIHNzaXplX3QgZ3RfYWN0X2ZyZXFfbWh6X3Nob3coc3RydWN0IGRldmlj ZSAqa2RldiwKIAkJCQkgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1 ZikKIHsKLQlzdHJ1Y3QgZHJtX21pbm9yICptaW5vciA9IGRldl90b19kcm1fbWlub3Ioa2Rldik7 CisJc3RydWN0IGRybV9taW5vciAqbWlub3IgPSBrZGV2X3RvX2RybV9taW5vcihrZGV2KTsKIAlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbWlub3ItPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJaW50IHJldDsKQEAgLTI5OCw3ICsyOTgs NyBAQCBzdGF0aWMgc3NpemVfdCBndF9hY3RfZnJlcV9taHpfc2hvdyhzdHJ1Y3QgZGV2aWNlICpr ZGV2LAogc3RhdGljIHNzaXplX3QgZ3RfY3VyX2ZyZXFfbWh6X3Nob3coc3RydWN0IGRldmljZSAq a2RldiwKIAkJCQkgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikK IHsKLQlzdHJ1Y3QgZHJtX21pbm9yICptaW5vciA9IGRldl90b19kcm1fbWlub3Ioa2Rldik7CisJ c3RydWN0IGRybV9taW5vciAqbWlub3IgPSBrZGV2X3RvX2RybV9taW5vcihrZGV2KTsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gbWlub3ItPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAKQEAgLTMwOSw3ICszMDksNyBAQCBzdGF0aWMg c3NpemVfdCBndF9jdXJfZnJlcV9taHpfc2hvdyhzdHJ1Y3QgZGV2aWNlICprZGV2LAogCiBzdGF0 aWMgc3NpemVfdCBndF9ib29zdF9mcmVxX21oel9zaG93KHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0 cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCiB7Ci0Jc3RydWN0IGRybV9t aW5vciAqbWlub3IgPSBkZXZfdG9fZHJtX21pbm9yKGtkZXYpOworCXN0cnVjdCBkcm1fbWlub3Ig Km1pbm9yID0ga2Rldl90b19kcm1fbWlub3Ioa2Rldik7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShtaW5vci0+ZGV2KTsKIAogCXJldHVybiBzbnByaW50Zihi dWYsIFBBR0VfU0laRSwgIiVkXG4iLApAQCAtMzIxLDcgKzMyMSw3IEBAIHN0YXRpYyBzc2l6ZV90 IGd0X2Jvb3N0X2ZyZXFfbWh6X3N0b3JlKHN0cnVjdCBkZXZpY2UgKmtkZXYsCiAJCQkJICAgICAg IHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAogCQkJCSAgICAgICBjb25zdCBjaGFyICpi dWYsIHNpemVfdCBjb3VudCkKIHsKLQlzdHJ1Y3QgZHJtX21pbm9yICptaW5vciA9IGRldl90b19k cm1fbWlub3Ioa2Rldik7CisJc3RydWN0IGRybV9taW5vciAqbWlub3IgPSBrZGV2X3RvX2RybV9t aW5vcihrZGV2KTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbWlub3ItPmRldjsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJdTMyIHZhbDsK QEAgLTM0Niw3ICszNDYsNyBAQCBzdGF0aWMgc3NpemVfdCBndF9ib29zdF9mcmVxX21oel9zdG9y ZShzdHJ1Y3QgZGV2aWNlICprZGV2LAogc3RhdGljIHNzaXplX3Qgdmx2X3JwZV9mcmVxX21oel9z aG93KHN0cnVjdCBkZXZpY2UgKmtkZXYsCiAJCQkJICAgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0 ZSAqYXR0ciwgY2hhciAqYnVmKQogewotCXN0cnVjdCBkcm1fbWlub3IgKm1pbm9yID0gZGV2X3Rv X2RybV9taW5vcihrZGV2KTsKKwlzdHJ1Y3QgZHJtX21pbm9yICptaW5vciA9IGtkZXZfdG9fZHJt X21pbm9yKGtkZXYpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBtaW5vci0+ZGV2OwogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIApAQCAtMzU3 LDcgKzM1Nyw3IEBAIHN0YXRpYyBzc2l6ZV90IHZsdl9ycGVfZnJlcV9taHpfc2hvdyhzdHJ1Y3Qg ZGV2aWNlICprZGV2LAogCiBzdGF0aWMgc3NpemVfdCBndF9tYXhfZnJlcV9taHpfc2hvdyhzdHJ1 Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVm KQogewotCXN0cnVjdCBkcm1fbWlub3IgKm1pbm9yID0gZGV2X3RvX2RybV9taW5vcihrZGV2KTsK KwlzdHJ1Y3QgZHJtX21pbm9yICptaW5vciA9IGtkZXZfdG9fZHJtX21pbm9yKGtkZXYpOwogCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBtaW5vci0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIApAQCAtMzcwLDcgKzM3MCw3IEBAIHN0YXRp YyBzc2l6ZV90IGd0X21heF9mcmVxX21oel9zdG9yZShzdHJ1Y3QgZGV2aWNlICprZGV2LAogCQkJ CSAgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCiAJCQkJICAgICBjb25zdCBjaGFy ICpidWYsIHNpemVfdCBjb3VudCkKIHsKLQlzdHJ1Y3QgZHJtX21pbm9yICptaW5vciA9IGRldl90 b19kcm1fbWlub3Ioa2Rldik7CisJc3RydWN0IGRybV9taW5vciAqbWlub3IgPSBrZGV2X3RvX2Ry bV9taW5vcihrZGV2KTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbWlub3ItPmRldjsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJdTMyIHZh bDsKQEAgLTQxOCw3ICs0MTgsNyBAQCBzdGF0aWMgc3NpemVfdCBndF9tYXhfZnJlcV9taHpfc3Rv cmUoc3RydWN0IGRldmljZSAqa2RldiwKIAogc3RhdGljIHNzaXplX3QgZ3RfbWluX2ZyZXFfbWh6 X3Nob3coc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIs IGNoYXIgKmJ1ZikKIHsKLQlzdHJ1Y3QgZHJtX21pbm9yICptaW5vciA9IGRldl90b19kcm1fbWlu b3Ioa2Rldik7CisJc3RydWN0IGRybV9taW5vciAqbWlub3IgPSBrZGV2X3RvX2RybV9taW5vcihr ZGV2KTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbWlub3ItPmRldjsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAKQEAgLTQzMSw3ICs0MzEs NyBAQCBzdGF0aWMgc3NpemVfdCBndF9taW5fZnJlcV9taHpfc3RvcmUoc3RydWN0IGRldmljZSAq a2RldiwKIAkJCQkgICAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAogCQkJCSAgICAg Y29uc3QgY2hhciAqYnVmLCBzaXplX3QgY291bnQpCiB7Ci0Jc3RydWN0IGRybV9taW5vciAqbWlu b3IgPSBkZXZfdG9fZHJtX21pbm9yKGtkZXYpOworCXN0cnVjdCBkcm1fbWlub3IgKm1pbm9yID0g a2Rldl90b19kcm1fbWlub3Ioa2Rldik7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG1pbm9y LT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp OwogCXUzMiB2YWw7CkBAIC00OTAsNyArNDkwLDcgQEAgc3RhdGljIERFVklDRV9BVFRSKGd0X1JQ bl9mcmVxX21oeiwgU19JUlVHTywgZ3RfcnBfbWh6X3Nob3csIE5VTEwpOwogLyogRm9yIG5vdyB3 ZSBoYXZlIGEgc3RhdGljIG51bWJlciBvZiBSUCBzdGF0ZXMgKi8KIHN0YXRpYyBzc2l6ZV90IGd0 X3JwX21oel9zaG93KHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRl ICphdHRyLCBjaGFyICpidWYpCiB7Ci0Jc3RydWN0IGRybV9taW5vciAqbWlub3IgPSBkZXZfdG9f ZHJtX21pbm9yKGtkZXYpOworCXN0cnVjdCBkcm1fbWlub3IgKm1pbm9yID0ga2Rldl90b19kcm1f bWlub3Ioa2Rldik7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG1pbm9yLT5kZXY7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXUzMiB2YWw7 CkBAIC01MzgsNyArNTM4LDcgQEAgc3RhdGljIHNzaXplX3QgZXJyb3Jfc3RhdGVfcmVhZChzdHJ1 Y3QgZmlsZSAqZmlscCwgc3RydWN0IGtvYmplY3QgKmtvYmosCiB7CiAKIAlzdHJ1Y3QgZGV2aWNl ICprZGV2ID0ga29ial90b19kZXYoa29iaik7Ci0Jc3RydWN0IGRybV9taW5vciAqbWlub3IgPSBk ZXZfdG9fZHJtX21pbm9yKGtkZXYpOworCXN0cnVjdCBkcm1fbWlub3IgKm1pbm9yID0ga2Rldl90 b19kcm1fbWlub3Ioa2Rldik7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG1pbm9yLT5kZXY7 CiAJc3RydWN0IGk5MTVfZXJyb3Jfc3RhdGVfZmlsZV9wcml2IGVycm9yX3ByaXY7CiAJc3RydWN0 IGRybV9pOTE1X2Vycm9yX3N0YXRlX2J1ZiBlcnJvcl9zdHI7CkBAIC01NzMsNyArNTczLDcgQEAg c3RhdGljIHNzaXplX3QgZXJyb3Jfc3RhdGVfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVj dCBrb2JqZWN0ICprb2JqLAogCQkJCSBsb2ZmX3Qgb2ZmLCBzaXplX3QgY291bnQpCiB7CiAJc3Ry dWN0IGRldmljZSAqa2RldiA9IGtvYmpfdG9fZGV2KGtvYmopOwotCXN0cnVjdCBkcm1fbWlub3Ig Km1pbm9yID0gZGV2X3RvX2RybV9taW5vcihrZGV2KTsKKwlzdHJ1Y3QgZHJtX21pbm9yICptaW5v ciA9IGtkZXZfdG9fZHJtX21pbm9yKGtkZXYpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBt aW5vci0+ZGV2OwogCWludCByZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCmluZGV4 IDY3MDBhN2JlN2Y3OC4uZTkzM2FlODVmZTFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9hdWRpby5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlv LmMKQEAgLTU4MSwyMCArNTgxLDIwIEBAIHZvaWQgaW50ZWxfaW5pdF9hdWRpb19ob29rcyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJfQogfQogCi1zdGF0aWMgdm9pZCBpOTE1 X2F1ZGlvX2NvbXBvbmVudF9nZXRfcG93ZXIoc3RydWN0IGRldmljZSAqZGV2KQorc3RhdGljIHZv aWQgaTkxNV9hdWRpb19jb21wb25lbnRfZ2V0X3Bvd2VyKHN0cnVjdCBkZXZpY2UgKmtkZXYpCiB7 Ci0JaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3RvX2k5MTUoZGV2KSwgUE9XRVJfRE9NQUlO X0FVRElPKTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChrZGV2X3RvX2k5MTUoa2RldiksIFBP V0VSX0RPTUFJTl9BVURJTyk7CiB9CiAKLXN0YXRpYyB2b2lkIGk5MTVfYXVkaW9fY29tcG9uZW50 X3B1dF9wb3dlcihzdHJ1Y3QgZGV2aWNlICpkZXYpCitzdGF0aWMgdm9pZCBpOTE1X2F1ZGlvX2Nv bXBvbmVudF9wdXRfcG93ZXIoc3RydWN0IGRldmljZSAqa2RldikKIHsKLQlpbnRlbF9kaXNwbGF5 X3Bvd2VyX3B1dChkZXZfdG9faTkxNShkZXYpLCBQT1dFUl9ET01BSU5fQVVESU8pOworCWludGVs X2Rpc3BsYXlfcG93ZXJfcHV0KGtkZXZfdG9faTkxNShrZGV2KSwgUE9XRVJfRE9NQUlOX0FVRElP KTsKIH0KIAotc3RhdGljIHZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfY29kZWNfd2FrZV9vdmVy cmlkZShzdHJ1Y3QgZGV2aWNlICpkZXYsCitzdGF0aWMgdm9pZCBpOTE1X2F1ZGlvX2NvbXBvbmVu dF9jb2RlY193YWtlX292ZXJyaWRlKHN0cnVjdCBkZXZpY2UgKmtkZXYsCiAJCQkJCQkgICAgIGJv b2wgZW5hYmxlKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldl90 b19pOTE1KGRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0ga2Rldl90 b19pOTE1KGtkZXYpOwogCXUzMiB0bXA7CiAKIAlpZiAoIUlTX1NLWUxBS0UoZGV2X3ByaXYpICYm ICFJU19LQUJZTEFLRShkZXZfcHJpdikpCkBAIC02MTgsOSArNjE4LDkgQEAgc3RhdGljIHZvaWQg aTkxNV9hdWRpb19jb21wb25lbnRfY29kZWNfd2FrZV9vdmVycmlkZShzdHJ1Y3QgZGV2aWNlICpk ZXYsCiB9CiAKIC8qIEdldCBDRENMSyBpbiBrSHogICovCi1zdGF0aWMgaW50IGk5MTVfYXVkaW9f Y29tcG9uZW50X2dldF9jZGNsa19mcmVxKHN0cnVjdCBkZXZpY2UgKmRldikKK3N0YXRpYyBpbnQg aTkxNV9hdWRpb19jb21wb25lbnRfZ2V0X2NkY2xrX2ZyZXEoc3RydWN0IGRldmljZSAqa2RldikK IHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXZfdG9faTkxNShkZXYp OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGtkZXZfdG9faTkxNShrZGV2 KTsKIAogCWlmIChXQVJOX09OX09OQ0UoIUhBU19EREkoZGV2X3ByaXYpKSkKIAkJcmV0dXJuIC1F Tk9ERVY7CkBAIC02MjgsMTAgKzYyOCwxMCBAQCBzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9u ZW50X2dldF9jZGNsa19mcmVxKHN0cnVjdCBkZXZpY2UgKmRldikKIAlyZXR1cm4gZGV2X3ByaXYt PmNkY2xrX2ZyZXE7CiB9CiAKLXN0YXRpYyBpbnQgaTkxNV9hdWRpb19jb21wb25lbnRfc3luY19h dWRpb19yYXRlKHN0cnVjdCBkZXZpY2UgKmRldiwKK3N0YXRpYyBpbnQgaTkxNV9hdWRpb19jb21w b25lbnRfc3luY19hdWRpb19yYXRlKHN0cnVjdCBkZXZpY2UgKmtkZXYsCiAJCQkJCQlpbnQgcG9y dCwgaW50IHJhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 X3RvX2k5MTUoZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBrZGV2 X3RvX2k5MTUoa2Rldik7CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXI7CiAJ c3RydWN0IGludGVsX2NydGMgKmNydGM7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7 CkBAIC03MDEsMTEgKzcwMSwxMSBAQCBzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9uZW50X3N5 bmNfYXVkaW9fcmF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJcmV0dXJuIGVycjsKIH0KIAotc3Rh dGljIGludCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfZWxkKHN0cnVjdCBkZXZpY2UgKmRldiwg aW50IHBvcnQsCitzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9uZW50X2dldF9lbGQoc3RydWN0 IGRldmljZSAqa2RldiwgaW50IHBvcnQsCiAJCQkJCWJvb2wgKmVuYWJsZWQsCiAJCQkJCXVuc2ln bmVkIGNoYXIgKmJ1ZiwgaW50IG1heF9ieXRlcykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXZfdG9faTkxNShkZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGtkZXZfdG9faTkxNShrZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq aW50ZWxfZW5jb2RlcjsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dDsKIAljb25zdCB1OCAqZWxkOwpAQCAtNzM5LDExICs3MzksMTEgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9vcHMgaTkxNV9hdWRpb19jb21wb25lbnRfb3BzID0g ewogCS5nZXRfZWxkCT0gaTkxNV9hdWRpb19jb21wb25lbnRfZ2V0X2VsZCwKIH07CiAKLXN0YXRp YyBpbnQgaTkxNV9hdWRpb19jb21wb25lbnRfYmluZChzdHJ1Y3QgZGV2aWNlICppOTE1X2RldiwK LQkJCQkgICAgIHN0cnVjdCBkZXZpY2UgKmhkYV9kZXYsIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50 IGk5MTVfYXVkaW9fY29tcG9uZW50X2JpbmQoc3RydWN0IGRldmljZSAqaTkxNV9rZGV2LAorCQkJ CSAgICAgc3RydWN0IGRldmljZSAqaGRhX2tkZXYsIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IGk5 MTVfYXVkaW9fY29tcG9uZW50ICphY29tcCA9IGRhdGE7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2X3RvX2k5MTUoaTkxNV9kZXYpOworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGtkZXZfdG9faTkxNShpOTE1X2tkZXYpOwogCWludCBpOwogCiAJ aWYgKFdBUk5fT04oYWNvbXAtPm9wcyB8fCBhY29tcC0+ZGV2KSkKQEAgLTc1MSw3ICs3NTEsNyBA QCBzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9uZW50X2JpbmQoc3RydWN0IGRldmljZSAqaTkx NV9kZXYsCiAKIAlkcm1fbW9kZXNldF9sb2NrX2FsbCgmZGV2X3ByaXYtPmRybSk7CiAJYWNvbXAt Pm9wcyA9ICZpOTE1X2F1ZGlvX2NvbXBvbmVudF9vcHM7Ci0JYWNvbXAtPmRldiA9IGk5MTVfZGV2 OworCWFjb21wLT5kZXYgPSBpOTE1X2tkZXY7CiAJQlVJTERfQlVHX09OKE1BWF9QT1JUUyAhPSBJ OTE1X01BWF9QT1JUUyk7CiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWNvbXAtPmF1ZF9z YW1wbGVfcmF0ZSk7IGkrKykKIAkJYWNvbXAtPmF1ZF9zYW1wbGVfcmF0ZVtpXSA9IDA7CkBAIC03 NjEsMTEgKzc2MSwxMSBAQCBzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9uZW50X2JpbmQoc3Ry dWN0IGRldmljZSAqaTkxNV9kZXYsCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGk5MTVf YXVkaW9fY29tcG9uZW50X3VuYmluZChzdHJ1Y3QgZGV2aWNlICppOTE1X2RldiwKLQkJCQkJc3Ry dWN0IGRldmljZSAqaGRhX2Rldiwgdm9pZCAqZGF0YSkKK3N0YXRpYyB2b2lkIGk5MTVfYXVkaW9f Y29tcG9uZW50X3VuYmluZChzdHJ1Y3QgZGV2aWNlICppOTE1X2tkZXYsCisJCQkJCXN0cnVjdCBk ZXZpY2UgKmhkYV9rZGV2LCB2b2lkICpkYXRhKQogewogCXN0cnVjdCBpOTE1X2F1ZGlvX2NvbXBv bmVudCAqYWNvbXAgPSBkYXRhOwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldl90b19pOTE1KGk5MTVfZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBrZGV2X3RvX2k5MTUoaTkxNV9rZGV2KTsKIAogCWRybV9tb2Rlc2V0X2xvY2tfYWxsKCZk ZXZfcHJpdi0+ZHJtKTsKIAlhY29tcC0+b3BzID0gTlVMTDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3J1bnRpbWVfcG0uYwppbmRleCAxYzYwM2JiZTU3ODQuLjBkZDQ0MjlhNGY4NyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwpAQCAtMjI4NCw3ICsyMjg0LDcgQEAg aW50IGludGVsX3Bvd2VyX2RvbWFpbnNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAgKi8KIHZvaWQgaW50ZWxfcG93ZXJfZG9tYWluc19maW5pKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIHsKLQlzdHJ1Y3QgZGV2aWNlICpkZXZpY2UgPSAmZGV2X3By aXYtPmRybS5wZGV2LT5kZXY7CisJc3RydWN0IGRldmljZSAqa2RldiA9ICZkZXZfcHJpdi0+ZHJt LnBkZXYtPmRldjsKIAogCS8qCiAJICogVGhlIGk5MTUua28gbW9kdWxlIGlzIHN0aWxsIG5vdCBw cmVwYXJlZCB0byBiZSBsb2FkZWQgd2hlbgpAQCAtMjMwNiw3ICsyMzA2LDcgQEAgdm9pZCBpbnRl bF9wb3dlcl9kb21haW5zX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog CSAqIHRoZSBwbGF0Zm9ybSBkb2Vzbid0IHN1cHBvcnQgcnVudGltZSBQTS4KIAkgKi8KIAlpZiAo IUhBU19SVU5USU1FX1BNKGRldl9wcml2KSkKLQkJcG1fcnVudGltZV9wdXQoZGV2aWNlKTsKKwkJ cG1fcnVudGltZV9wdXQoa2Rldik7CiB9CiAKIHN0YXRpYyB2b2lkIGludGVsX3Bvd2VyX2RvbWFp bnNfc3luY19odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCkBAIC0yNjQ4LDkg KzI2NDgsOSBAQCB2b2lkIGludGVsX3Bvd2VyX2RvbWFpbnNfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB2b2lkIGludGVsX3J1bnRpbWVfcG1fZ2V0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g JmRldl9wcml2LT5kcm07Ci0Jc3RydWN0IGRldmljZSAqZGV2aWNlID0gJmRldi0+cGRldi0+ZGV2 OworCXN0cnVjdCBkZXZpY2UgKmtkZXYgPSAmZGV2LT5wZGV2LT5kZXY7CiAKLQlwbV9ydW50aW1l X2dldF9zeW5jKGRldmljZSk7CisJcG1fcnVudGltZV9nZXRfc3luYyhrZGV2KTsKIAogCWF0b21p Y19pbmMoJmRldl9wcml2LT5wbS53YWtlcmVmX2NvdW50KTsKIAlhc3NlcnRfcnBtX3dha2Vsb2Nr X2hlbGQoZGV2X3ByaXYpOwpAQCAtMjY2OSwxMCArMjY2OSwxMCBAQCB2b2lkIGludGVsX3J1bnRp bWVfcG1fZ2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIGJvb2wgaW50ZWxf cnVudGltZV9wbV9nZXRfaWZfaW5fdXNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gJmRldl9wcml2LT5kcm07Ci0Jc3RydWN0 IGRldmljZSAqZGV2aWNlID0gJmRldi0+cGRldi0+ZGV2OworCXN0cnVjdCBkZXZpY2UgKmtkZXYg PSAmZGV2LT5wZGV2LT5kZXY7CiAKIAlpZiAoSVNfRU5BQkxFRChDT05GSUdfUE0pKSB7Ci0JCWlu dCByZXQgPSBwbV9ydW50aW1lX2dldF9pZl9pbl91c2UoZGV2aWNlKTsKKwkJaW50IHJldCA9IHBt X3J1bnRpbWVfZ2V0X2lmX2luX3VzZShrZGV2KTsKIAogCQkvKgogCQkgKiBJbiBjYXNlcyBydW50 aW1lIFBNIGlzIGRpc2FibGVkIGJ5IHRoZSBSUE0gY29yZSBhbmQgd2UgZ2V0CkBAIC0yNzExLDEw ICsyNzExLDEwIEBAIGJvb2wgaW50ZWxfcnVudGltZV9wbV9nZXRfaWZfaW5fdXNlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHZvaWQgaW50ZWxfcnVudGltZV9wbV9nZXRfbm9y ZXN1bWUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSAmZGV2X3ByaXYtPmRybTsKLQlzdHJ1Y3QgZGV2aWNlICpkZXZpY2UgPSAm ZGV2LT5wZGV2LT5kZXY7CisJc3RydWN0IGRldmljZSAqa2RldiA9ICZkZXYtPnBkZXYtPmRldjsK IAogCWFzc2VydF9ycG1fd2FrZWxvY2tfaGVsZChkZXZfcHJpdik7Ci0JcG1fcnVudGltZV9nZXRf bm9yZXN1bWUoZGV2aWNlKTsKKwlwbV9ydW50aW1lX2dldF9ub3Jlc3VtZShrZGV2KTsKIAogCWF0 b21pY19pbmMoJmRldl9wcml2LT5wbS53YWtlcmVmX2NvdW50KTsKIH0KQEAgLTI3MzAsMTQgKzI3 MzAsMTQgQEAgdm9pZCBpbnRlbF9ydW50aW1lX3BtX2dldF9ub3Jlc3VtZShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB2b2lkIGludGVsX3J1bnRpbWVfcG1fcHV0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g JmRldl9wcml2LT5kcm07Ci0Jc3RydWN0IGRldmljZSAqZGV2aWNlID0gJmRldi0+cGRldi0+ZGV2 OworCXN0cnVjdCBkZXZpY2UgKmtkZXYgPSAmZGV2LT5wZGV2LT5kZXY7CiAKIAlhc3NlcnRfcnBt X3dha2Vsb2NrX2hlbGQoZGV2X3ByaXYpOwogCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZkZXZf cHJpdi0+cG0ud2FrZXJlZl9jb3VudCkpCiAJCWF0b21pY19pbmMoJmRldl9wcml2LT5wbS5hdG9t aWNfc2VxKTsKIAotCXBtX3J1bnRpbWVfbWFya19sYXN0X2J1c3koZGV2aWNlKTsKLQlwbV9ydW50 aW1lX3B1dF9hdXRvc3VzcGVuZChkZXZpY2UpOworCXBtX3J1bnRpbWVfbWFya19sYXN0X2J1c3ko a2Rldik7CisJcG1fcnVudGltZV9wdXRfYXV0b3N1c3BlbmQoa2Rldik7CiB9CiAKIC8qKgpAQCAt Mjc1MywxMCArMjc1MywxMCBAQCB2b2lkIGludGVsX3J1bnRpbWVfcG1fcHV0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHZvaWQgaW50ZWxfcnVudGltZV9wbV9lbmFibGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSAmZGV2X3ByaXYtPmRybTsKLQlzdHJ1Y3QgZGV2aWNlICpkZXZpY2UgPSAmZGV2LT5wZGV2 LT5kZXY7CisJc3RydWN0IGRldmljZSAqa2RldiA9ICZkZXYtPnBkZXYtPmRldjsKIAotCXBtX3J1 bnRpbWVfc2V0X2F1dG9zdXNwZW5kX2RlbGF5KGRldmljZSwgMTAwMDApOyAvKiAxMHMgKi8KLQlw bV9ydW50aW1lX21hcmtfbGFzdF9idXN5KGRldmljZSk7CisJcG1fcnVudGltZV9zZXRfYXV0b3N1 c3BlbmRfZGVsYXkoa2RldiwgMTAwMDApOyAvKiAxMHMgKi8KKwlwbV9ydW50aW1lX21hcmtfbGFz dF9idXN5KGtkZXYpOwogCiAJLyoKIAkgKiBUYWtlIGEgcGVybWFuZW50IHJlZmVyZW5jZSB0byBk aXNhYmxlIHRoZSBSUE0gZnVuY3Rpb25hbGl0eSBhbmQgZHJvcApAQCAtMjc2NSwxMCArMjc2NSwx MCBAQCB2b2lkIGludGVsX3J1bnRpbWVfcG1fZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIAkgKiBwbGF0Zm9ybXMgd2l0aG91dCBSUE0gc3VwcG9ydC4KIAkgKi8KIAlp ZiAoIUhBU19SVU5USU1FX1BNKGRldikpIHsKLQkJcG1fcnVudGltZV9kb250X3VzZV9hdXRvc3Vz cGVuZChkZXZpY2UpOwotCQlwbV9ydW50aW1lX2dldF9zeW5jKGRldmljZSk7CisJCXBtX3J1bnRp bWVfZG9udF91c2VfYXV0b3N1c3BlbmQoa2Rldik7CisJCXBtX3J1bnRpbWVfZ2V0X3N5bmMoa2Rl dik7CiAJfSBlbHNlIHsKLQkJcG1fcnVudGltZV91c2VfYXV0b3N1c3BlbmQoZGV2aWNlKTsKKwkJ cG1fcnVudGltZV91c2VfYXV0b3N1c3BlbmQoa2Rldik7CiAJfQogCiAJLyoKQEAgLTI3NzYsNiAr Mjc3Niw2IEBAIHZvaWQgaW50ZWxfcnVudGltZV9wbV9lbmFibGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogCSAqIFdlIGRyb3AgdGhhdCBoZXJlIGFuZCB3aWxsIHJlYWNxdWly ZSBpdCBkdXJpbmcgdW5sb2FkaW5nIGluCiAJICogaW50ZWxfcG93ZXJfZG9tYWluc19maW5pKCku CiAJICovCi0JcG1fcnVudGltZV9wdXRfYXV0b3N1c3BlbmQoZGV2aWNlKTsKKwlwbV9ydW50aW1l X3B1dF9hdXRvc3VzcGVuZChrZGV2KTsKIH0KIAotLSAKMi44LjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=