From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH] drm/i915/backlight: prefer dev_priv over dev pointer Date: Fri, 18 Dec 2015 10:51:35 +0200 Message-ID: <1450428695-28831-1-git-send-email-jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id BC5EF6EA38 for ; Fri, 18 Dec 2015 00:52:02 -0800 (PST) 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 Cc: jani.nikula@intel.com List-Id: intel-gfx@lists.freedesktop.org VXNlIGRldl9wcml2IHJhdGhlciB0aGFuIGRldiBwb2ludGVyIHdoZXJlIGFwcGxpY2FibGUuIFJl bW92ZSBwbGVudHkgb2YKdW5uZWNlc3NhcnkgdGVtcCB2YXJpYWJsZXMuIE5vIGZ1bmN0aW9uYWwg Y2hhbmdlcy4KClNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyB8IDE1NiArKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTggaW5zZXJ0 aW9ucygrKSwgOTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKaW5k ZXggZjViNGM5OGRlNjA4Li4yMWVlNjQ3N2JmOTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BhbmVsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFu ZWwuYwpAQCAtNDYxLDggKzQ2MSw3IEBAIHN0YXRpYyBpbmxpbmUgdTMyIHNjYWxlX2h3X3RvX3Vz ZXIoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogc3RhdGljIHUzMiBpbnRlbF9w YW5lbF9jb21wdXRlX2JyaWdodG5lc3Moc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y LAogCQkJCQkgIHUzMiB2YWwpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rv ci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29u bmVjdG9yLT5wYW5lbDsKIAogCVdBUk5fT04ocGFuZWwtPmJhY2tsaWdodC5tYXggPT0gMCk7CkBA IC00ODAsNDUgKzQ3OSw0MCBAQCBzdGF0aWMgdTMyIGludGVsX3BhbmVsX2NvbXB1dGVfYnJpZ2h0 bmVzcyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCiAKIHN0YXRpYyB1MzIgbHB0 X2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKIAog CXJldHVybiBJOTE1X1JFQUQoQkxDX1BXTV9QQ0hfQ1RMMikgJiBCQUNLTElHSFRfRFVUWV9DWUNM RV9NQVNLOwogfQogCiBzdGF0aWMgdTMyIHBjaF9nZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvcikKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVj dG9yLT5iYXNlLmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY29ubmVjdG9yLT5iYXNlLmRldik7CiAKIAlyZXR1cm4gSTkxNV9SRUFEKEJMQ19QV01fQ1BV X0NUTCkgJiBCQUNLTElHSFRfRFVUWV9DWUNMRV9NQVNLOwogfQogCiBzdGF0aWMgdTMyIGk5eHhf Z2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiB7Ci0Jc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCXN0 cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKIAl1MzIgdmFsOwog CiAJdmFsID0gSTkxNV9SRUFEKEJMQ19QV01fQ1RMKSAmIEJBQ0tMSUdIVF9EVVRZX0NZQ0xFX01B U0s7Ci0JaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgNCkKKwlpZiAoSU5URUxfSU5GTyhkZXZf cHJpdiktPmdlbiA8IDQpCiAJCXZhbCA+Pj0gMTsKIAogCWlmIChwYW5lbC0+YmFja2xpZ2h0LmNv bWJpbmF0aW9uX21vZGUpIHsKIAkJdTggbGJwYzsKIAotCQlwY2lfcmVhZF9jb25maWdfYnl0ZShk ZXYtPnBkZXYsIFBDSV9MQlBDLCAmbGJwYyk7CisJCXBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldl9w cml2LT5kZXYtPnBkZXYsIFBDSV9MQlBDLCAmbGJwYyk7CiAJCXZhbCAqPSBsYnBjOwogCX0KIAog CXJldHVybiB2YWw7CiB9CiAKLXN0YXRpYyB1MzIgX3Zsdl9nZXRfYmFja2xpZ2h0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlKQorc3RhdGljIHUzMiBfdmx2X2dldF9iYWNr bGlnaHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBpcGUgcGlwZSkK IHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl OwotCiAJaWYgKFdBUk5fT04ocGlwZSAhPSBQSVBFX0EgJiYgcGlwZSAhPSBQSVBFX0IpKQogCQly ZXR1cm4gMDsKIApAQCAtNTI3LDE3ICs1MjEsMTYgQEAgc3RhdGljIHUzMiBfdmx2X2dldF9iYWNr bGlnaHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwaXBlIHBpcGUpCiAKIHN0YXRpYyB1 MzIgdmx2X2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQog ewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OworCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRl dik7CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9nZXRfcGlwZV9mcm9tX2Nvbm5lY3Rvcihjb25u ZWN0b3IpOwogCi0JcmV0dXJuIF92bHZfZ2V0X2JhY2tsaWdodChkZXYsIHBpcGUpOworCXJldHVy biBfdmx2X2dldF9iYWNrbGlnaHQoZGV2X3ByaXYsIHBpcGUpOwogfQogCiBzdGF0aWMgdTMyIGJ4 dF9nZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKLQlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwog CXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCiAJcmV0dXJu IEk5MTVfUkVBRChCWFRfQkxDX1BXTV9EVVRZKHBhbmVsLT5iYWNrbGlnaHQuY29udHJvbGxlcikp OwogfQpAQCAtNTUzLDggKzU0Niw3IEBAIHN0YXRpYyB1MzIgcHdtX2dldF9iYWNrbGlnaHQoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCiBzdGF0aWMgdTMyIGludGVsX3BhbmVs X2dldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKIAlz dHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CiAJdTMyIHZhbCA9 IDA7CiAKQEAgLTU3MywxNiArNTY1LDE0IEBAIHN0YXRpYyB1MzIgaW50ZWxfcGFuZWxfZ2V0X2Jh Y2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAKIHN0YXRpYyB2b2lk IGxwdF9zZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMy IGxldmVsKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2 OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3It PmJhc2UuZGV2KTsKIAl1MzIgdmFsID0gSTkxNV9SRUFEKEJMQ19QV01fUENIX0NUTDIpICYgfkJB Q0tMSUdIVF9EVVRZX0NZQ0xFX01BU0s7CiAJSTkxNV9XUklURShCTENfUFdNX1BDSF9DVEwyLCB2 YWwgfCBsZXZlbCk7CiB9CiAKIHN0YXRpYyB2b2lkIHBjaF9zZXRfYmFja2xpZ2h0KHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIGxldmVsKQogewotCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKIAl1MzIgdG1wOwogCiAJ dG1wID0gSTkxNV9SRUFEKEJMQ19QV01fQ1BVX0NUTCkgJiB+QkFDS0xJR0hUX0RVVFlfQ1lDTEVf TUFTSzsKQEAgLTU5MSw4ICs1ODEsNyBAQCBzdGF0aWMgdm9pZCBwY2hfc2V0X2JhY2tsaWdodChz dHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIHUzMiBsZXZlbCkKIAogc3RhdGljIHZv aWQgaTl4eF9zZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvciwg dTMyIGxldmVsKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2Uu ZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0 b3ItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+ cGFuZWw7CiAJdTMyIHRtcCwgbWFzazsKIApAQCAtNjAzLDEwICs1OTIsMTAgQEAgc3RhdGljIHZv aWQgaTl4eF9zZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvciwg dTMyIGxldmVsKQogCiAJCWxicGMgPSBsZXZlbCAqIDB4ZmUgLyBwYW5lbC0+YmFja2xpZ2h0Lm1h eCArIDE7CiAJCWxldmVsIC89IGxicGM7Ci0JCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYtPnBk ZXYsIFBDSV9MQlBDLCBsYnBjKTsKKwkJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldl9wcml2LT5k ZXYtPnBkZXYsIFBDSV9MQlBDLCBsYnBjKTsKIAl9CiAKLQlpZiAoSVNfR0VONChkZXYpKSB7CisJ aWYgKElTX0dFTjQoZGV2X3ByaXYpKSB7CiAJCW1hc2sgPSBCQUNLTElHSFRfRFVUWV9DWUNMRV9N QVNLOwogCX0gZWxzZSB7CiAJCWxldmVsIDw8PSAxOwpAQCAtNjE5LDggKzYwOCw3IEBAIHN0YXRp YyB2b2lkIGk5eHhfc2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IsIHUzMiBsZXZlbCkKIAogc3RhdGljIHZvaWQgdmx2X3NldF9iYWNrbGlnaHQoc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgbGV2ZWwpCiB7Ci0Jc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBl ID0gaW50ZWxfZ2V0X3BpcGVfZnJvbV9jb25uZWN0b3IoY29ubmVjdG9yKTsKIAl1MzIgdG1wOwog CkBAIC02MzMsOCArNjIxLDcgQEAgc3RhdGljIHZvaWQgdmx2X3NldF9iYWNrbGlnaHQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgbGV2ZWwpCiAKIHN0YXRpYyB2b2lkIGJ4 dF9zZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIGxl dmVsKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2Owot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJh c2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7 CiAKIAlJOTE1X1dSSVRFKEJYVF9CTENfUFdNX0RVVFkocGFuZWwtPmJhY2tsaWdodC5jb250cm9s bGVyKSwgbGV2ZWwpOwpAQCAtNjYzLDggKzY1MCw3IEBAIGludGVsX3BhbmVsX2FjdHVhbGx5X3Nl dF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgbGV2ZWwp CiBzdGF0aWMgdm9pZCBpbnRlbF9wYW5lbF9zZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkgICAgICB1MzIgdXNlcl9sZXZlbCwgdTMyIHVzZXJfbWF4 KQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwotCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2Uu ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CiAJ dTMyIGh3X2xldmVsOwogCkBAIC02OTAsOCArNjc2LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcGFu ZWxfc2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCiB2b2lk IGludGVsX3BhbmVsX3NldF9iYWNrbGlnaHRfYWNwaShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IsCiAJCQkJICAgIHUzMiB1c2VyX2xldmVsLCB1MzIgdXNlcl9tYXgpCiB7Ci0Jc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCXN0 cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKIAllbnVtIHBpcGUg cGlwZSA9IGludGVsX2dldF9waXBlX2Zyb21fY29ubmVjdG9yKGNvbm5lY3Rvcik7CiAJdTMyIGh3 X2xldmVsOwpAQCAtNzI2LDggKzcxMSw3IEBAIHZvaWQgaW50ZWxfcGFuZWxfc2V0X2JhY2tsaWdo dF9hY3BpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAogc3RhdGljIHZvaWQg bHB0X2Rpc2FibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikK IHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRl dik7CiAJdTMyIHRtcDsKIAogCWludGVsX3BhbmVsX2FjdHVhbGx5X3NldF9iYWNrbGlnaHQoY29u bmVjdG9yLCAwKTsKQEAgLTc1Miw4ICs3MzYsNyBAQCBzdGF0aWMgdm9pZCBscHRfZGlzYWJsZV9i YWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCiBzdGF0aWMgdm9p ZCBwY2hfZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwotCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2Uu ZGV2KTsKIAl1MzIgdG1wOwogCiAJaW50ZWxfcGFuZWxfYWN0dWFsbHlfc2V0X2JhY2tsaWdodChj b25uZWN0b3IsIDApOwpAQCAtNzcyLDggKzc1NSw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfZGlzYWJs ZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCiBzdGF0aWMg dm9pZCBpOTY1X2Rpc2FibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvcikKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsK LQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5i YXNlLmRldik7CiAJdTMyIHRtcDsKIAogCWludGVsX3BhbmVsX2FjdHVhbGx5X3NldF9iYWNrbGln aHQoY29ubmVjdG9yLCAwKTsKQEAgLTc4NCw4ICs3NjYsNyBAQCBzdGF0aWMgdm9pZCBpOTY1X2Rp c2FibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogc3Rh dGljIHZvaWQgdmx2X2Rpc2FibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNv bm5lY3RvcikKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRl djsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9y LT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9nZXRfcGlwZV9mcm9tX2Nvbm5l Y3Rvcihjb25uZWN0b3IpOwogCXUzMiB0bXA7CiAKQEAgLTgwMCw4ICs3ODEsNyBAQCBzdGF0aWMg dm9pZCB2bHZfZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yKQogCiBzdGF0aWMgdm9pZCBieHRfZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0 b3ItPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjb25uZWN0b3ItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNv bm5lY3Rvci0+cGFuZWw7CiAJdTMyIHRtcCwgdmFsOwogCkBAIC04MzAsOCArODEwLDcgQEAgc3Rh dGljIHZvaWQgcHdtX2Rpc2FibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNv bm5lY3RvcikKIAogdm9pZCBpbnRlbF9wYW5lbF9kaXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNv bm5lY3Rvci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwg PSAmY29ubmVjdG9yLT5wYW5lbDsKIAogCWlmICghcGFuZWwtPmJhY2tsaWdodC5wcmVzZW50KQpA QCAtODQzLDcgKzgyMiw3IEBAIHZvaWQgaW50ZWxfcGFuZWxfZGlzYWJsZV9iYWNrbGlnaHQoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCSAqIGJhY2tsaWdodC4gVGhpcyB3aWxs IGxlYXZlIHRoZSBiYWNrbGlnaHQgb24gdW5uZWNlc3NhcmlseSB3aGVuCiAJICogYW5vdGhlciBj bGllbnQgaXMgbm90IGFjdGl2YXRlZC4KIAkgKi8KLQlpZiAoZGV2LT5zd2l0Y2hfcG93ZXJfc3Rh dGUgPT0gRFJNX1NXSVRDSF9QT1dFUl9DSEFOR0lORykgeworCWlmIChkZXZfcHJpdi0+ZGV2LT5z d2l0Y2hfcG93ZXJfc3RhdGUgPT0gRFJNX1NXSVRDSF9QT1dFUl9DSEFOR0lORykgewogCQlEUk1f REVCVUdfRFJJVkVSKCJTa2lwcGluZyBiYWNrbGlnaHQgZGlzYWJsZSBvbiB2Z2Egc3dpdGNoXG4i KTsKIAkJcmV0dXJuOwogCX0KQEAgLTg2MCw4ICs4MzksNyBAQCB2b2lkIGludGVsX3BhbmVsX2Rp c2FibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogc3Rh dGljIHZvaWQgbHB0X2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2 OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3It PmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFu ZWw7CiAJdTMyIHBjaF9jdGwxLCBwY2hfY3RsMjsKIApAQCAtODkzLDggKzg3MSw3IEBAIHN0YXRp YyB2b2lkIGxwdF9lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvcikKIAogc3RhdGljIHZvaWQgcGNoX2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0 b3ItPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjb25uZWN0b3ItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNv bm5lY3Rvci0+cGFuZWw7CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9nZXRfcGlwZV9mcm9tX2Nv bm5lY3Rvcihjb25uZWN0b3IpOwogCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9CkBA IC05NDAsOCArOTE3LDcgQEAgc3RhdGljIHZvaWQgcGNoX2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCiBzdGF0aWMgdm9pZCBpOXh4X2VuYWJsZV9i YWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKIAlzdHJ1Y3Qg aW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CiAJdTMyIGN0bCwgZnJlcTsK IApAQCAtOTU4LDcgKzkzNCw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfZW5hYmxlX2JhY2tsaWdodChz dHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJY3RsID0gZnJlcSA8PCAxNzsKIAlp ZiAocGFuZWwtPmJhY2tsaWdodC5jb21iaW5hdGlvbl9tb2RlKQogCQljdGwgfD0gQkxNX0xFR0FD WV9NT0RFOwotCWlmIChJU19QSU5FVklFVyhkZXYpICYmIHBhbmVsLT5iYWNrbGlnaHQuYWN0aXZl X2xvd19wd20pCisJaWYgKElTX1BJTkVWSUVXKGRldl9wcml2KSAmJiBwYW5lbC0+YmFja2xpZ2h0 LmFjdGl2ZV9sb3dfcHdtKQogCQljdGwgfD0gQkxNX1BPTEFSSVRZX1BOVjsKIAogCUk5MTVfV1JJ VEUoQkxDX1BXTV9DVEwsIGN0bCk7CkBAIC05NzIsMTQgKzk0OCwxMyBAQCBzdGF0aWMgdm9pZCBp OXh4X2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQog CSAqIDg1NWdtIG9ubHksIGJ1dCBjaGVja2luZyBmb3IgZ2VuMiBpcyBzYWZlLCBhcyA4NTVnbSBp cyB0aGUgb25seSBnZW4yCiAJICogdGhhdCBoYXMgYmFja2xpZ2h0LgogCSAqLwotCWlmIChJU19H RU4yKGRldikpCisJaWYgKElTX0dFTjIoZGV2X3ByaXYpKQogCQlJOTE1X1dSSVRFKEJMQ19ISVNU X0NUTCwgQkxNX0hJU1RPR1JBTV9FTkFCTEUpOwogfQogCiBzdGF0aWMgdm9pZCBpOTY1X2VuYWJs ZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKIAlzdHJ1 Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CiAJZW51bSBwaXBlIHBp cGUgPSBpbnRlbF9nZXRfcGlwZV9mcm9tX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwogCXUzMiBjdGws IGN0bDIsIGZyZXE7CkBAIC0xMDEyLDggKzk4Nyw3IEBAIHN0YXRpYyB2b2lkIGk5NjVfZW5hYmxl X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAKIHN0YXRpYyB2 b2lkIHZsdl9lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv cikKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNl LmRldik7CiAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwog CWVudW0gcGlwZSBwaXBlID0gaW50ZWxfZ2V0X3BpcGVfZnJvbV9jb25uZWN0b3IoY29ubmVjdG9y KTsKIAl1MzIgY3RsLCBjdGwyOwpAQCAtMTA0NCw4ICsxMDE4LDcgQEAgc3RhdGljIHZvaWQgdmx2 X2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCiBz dGF0aWMgdm9pZCBieHRfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5k ZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rv ci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5w YW5lbDsKIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2dldF9waXBlX2Zyb21fY29ubmVjdG9yKGNv bm5lY3Rvcik7CiAJdTMyIHB3bV9jdGwsIHZhbDsKQEAgLTExMDIsOCArMTA3NSw3IEBAIHN0YXRp YyB2b2lkIHB3bV9lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvcikKIAogdm9pZCBpbnRlbF9wYW5lbF9lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvcikKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVj dG9yLT5iYXNlLmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY29ubmVjdG9yLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZj b25uZWN0b3ItPnBhbmVsOwogCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfZ2V0X3BpcGVfZnJvbV9j b25uZWN0b3IoY29ubmVjdG9yKTsKIApAQCAtMTI3OCw4ICsxMjUwLDcgQEAgc3RhdGljIHUzMiBi eHRfaHpfdG9fcHdtKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIHB3bV9m cmVxX2h6KQogICovCiBzdGF0aWMgdTMyIHNwdF9oel90b19wd20oc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yLCB1MzIgcHdtX2ZyZXFfaHopCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCXUzMiBtdWwsIGNsb2NrOwog CiAJaWYgKEk5MTVfUkVBRChTT1VUSF9DSElDS0VOMSkgJiBTUFRfUFdNX0dSQU5VTEFSSVRZKQpA QCAtMTI5OSw4ICsxMjcwLDcgQEAgc3RhdGljIHUzMiBzcHRfaHpfdG9fcHdtKHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIHB3bV9mcmVxX2h6KQogICovCiBzdGF0aWMgdTMy IGxwdF9oel90b19wd20oc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgcHdt X2ZyZXFfaHopCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5k ZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rv ci0+YmFzZS5kZXYpOwogCXUzMiBtdWwsIGNsb2NrOwogCiAJaWYgKEk5MTVfUkVBRChTT1VUSF9D SElDS0VOMikgJiBMUFRfUFdNX0dSQU5VTEFSSVRZKQpAQCAtMTM5Myw4ICsxMzYzLDcgQEAgc3Rh dGljIHUzMiB2bHZfaHpfdG9fcHdtKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvciwg dTMyIHB3bV9mcmVxX2h6KQogCiBzdGF0aWMgdTMyIGdldF9iYWNrbGlnaHRfbWF4X3ZidChzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9wYW5lbCAq cGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKIAl1MTYgcHdtX2ZyZXFfaHogPSBkZXZfcHJpdi0+ dmJ0LmJhY2tsaWdodC5wd21fZnJlcV9oejsKIAl1MzIgcHdtOwpAQCAtMTQyNyw4ICsxMzk2LDcg QEAgc3RhdGljIHUzMiBnZXRfYmFja2xpZ2h0X21heF92YnQoc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKQogICovCiBzdGF0aWMgdTMyIGdldF9iYWNrbGlnaHRfbWluX3ZidChzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9wYW5lbCAq cGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKIAlpbnQgbWluOwogCkBAIC0xNDUzLDggKzE0MjEs NyBAQCBzdGF0aWMgdTMyIGdldF9iYWNrbGlnaHRfbWluX3ZidChzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICpjb25uZWN0b3IpCiAKIHN0YXRpYyBpbnQgbHB0X3NldHVwX2JhY2tsaWdodChzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIGVudW0gcGlwZSB1bnVzZWQpCiB7Ci0Jc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCXN0cnVj dCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKIAl1MzIgcGNoX2N0bDEs IHBjaF9jdGwyLCB2YWw7CiAKQEAgLTE0ODMsOCArMTQ1MCw3IEBAIHN0YXRpYyBpbnQgbHB0X3Nl dHVwX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIGVudW0gcGlw ZSB1bnVzCiAKIHN0YXRpYyBpbnQgcGNoX3NldHVwX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yICpjb25uZWN0b3IsIGVudW0gcGlwZSB1bnVzZWQpCiB7Ci0Jc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9w YW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKIAl1MzIgY3B1X2N0bDIsIHBjaF9jdGwx LCBwY2hfY3RsMiwgdmFsOwogCkBAIC0xNTE0LDE3ICsxNDgwLDE2IEBAIHN0YXRpYyBpbnQgcGNo X3NldHVwX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIGVudW0g cGlwZSB1bnVzCiAKIHN0YXRpYyBpbnQgaTl4eF9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yLCBlbnVtIHBpcGUgdW51c2VkKQogewotCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50 ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CiAJdTMyIGN0bCwgdmFsOwogCiAJ Y3RsID0gSTkxNV9SRUFEKEJMQ19QV01fQ1RMKTsKIAotCWlmIChJU19HRU4yKGRldikgfHwgSVNf STkxNUdNKGRldikgfHwgSVNfSTk0NUdNKGRldikpCisJaWYgKElTX0dFTjIoZGV2X3ByaXYpIHx8 IElTX0k5MTVHTShkZXZfcHJpdikgfHwgSVNfSTk0NUdNKGRldl9wcml2KSkKIAkJcGFuZWwtPmJh Y2tsaWdodC5jb21iaW5hdGlvbl9tb2RlID0gY3RsICYgQkxNX0xFR0FDWV9NT0RFOwogCi0JaWYg KElTX1BJTkVWSUVXKGRldikpCisJaWYgKElTX1BJTkVWSUVXKGRldl9wcml2KSkKIAkJcGFuZWwt PmJhY2tsaWdodC5hY3RpdmVfbG93X3B3bSA9IGN0bCAmIEJMTV9QT0xBUklUWV9QTlY7CiAKIAlw YW5lbC0+YmFja2xpZ2h0Lm1heCA9IGN0bCA+PiAxNzsKQEAgLTE1NTIsOCArMTUxNyw3IEBAIHN0 YXRpYyBpbnQgaTl4eF9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yLCBlbnVtIHBpcGUgdW51CiAKIHN0YXRpYyBpbnQgaTk2NV9zZXR1cF9iYWNrbGlnaHQo c3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBlbnVtIHBpcGUgdW51c2VkKQogewot CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2OwotCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsK IAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7CiAJdTMyIGN0 bCwgY3RsMiwgdmFsOwogCkBAIC0xNTg2LDggKzE1NTAsNyBAQCBzdGF0aWMgaW50IGk5NjVfc2V0 dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBl IHVudQogCiBzdGF0aWMgaW50IHZsdl9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yLCBlbnVtIHBpcGUgcGlwZSkKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX3BhbmVs ICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwogCXUzMiBjdGwsIGN0bDIsIHZhbDsKIApAQCAt MTYwOCw3ICsxNTcxLDcgQEAgc3RhdGljIGludCB2bHZfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHBpcGUKIAogCXBhbmVsLT5iYWNr bGlnaHQubWluID0gZ2V0X2JhY2tsaWdodF9taW5fdmJ0KGNvbm5lY3Rvcik7CiAKLQl2YWwgPSBf dmx2X2dldF9iYWNrbGlnaHQoZGV2LCBwaXBlKTsKKwl2YWwgPSBfdmx2X2dldF9iYWNrbGlnaHQo ZGV2X3ByaXYsIHBpcGUpOwogCXBhbmVsLT5iYWNrbGlnaHQubGV2ZWwgPSBpbnRlbF9wYW5lbF9j b21wdXRlX2JyaWdodG5lc3MoY29ubmVjdG9yLCB2YWwpOwogCiAJcGFuZWwtPmJhY2tsaWdodC5l bmFibGVkID0gKGN0bDIgJiBCTE1fUFdNX0VOQUJMRSkgJiYKQEAgLTE2MjAsOCArMTU4Myw3IEBA IHN0YXRpYyBpbnQgdmx2X3NldHVwX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IsIGVudW0gcGlwZSBwaXBlCiBzdGF0aWMgaW50CiBieHRfc2V0dXBfYmFja2xpZ2h0 KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHVudXNlZCkKIHsK LQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7 CiAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwogCXUzMiBw d21fY3RsLCB2YWw7CiAKQEAgLTE2OTksOCArMTY2MSw3IEBAIHN0YXRpYyBpbnQgcHdtX3NldHVw X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCiAKIGludCBpbnRl bF9wYW5lbF9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvciwg ZW51bSBwaXBlIHBpcGUpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ ZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0 b3ItPmRldik7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0gdG9f aW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7CiAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9 ICZpbnRlbF9jb25uZWN0b3ItPnBhbmVsOwogCWludCByZXQ7CkBAIC0xNzU1LDM2ICsxNzE2LDM1 IEBAIHZvaWQgaW50ZWxfcGFuZWxfZGVzdHJveV9iYWNrbGlnaHQoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKIHN0YXRpYyB2b2lkCiBpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9m dW5jcyhzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsKQogewotCXN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmludGVsX2Nvbm5lY3RvciA9CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y ID0KIAkJY29udGFpbmVyX29mKHBhbmVsLCBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yLCBwYW5lbCk7 Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2Nvbm5lY3Rvci0+YmFzZS5kZXY7Ci0J c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFz ZS5kZXYpOwogCi0JaWYgKElTX0JST1hUT04oZGV2KSkgeworCWlmIChJU19CUk9YVE9OKGRldl9w cml2KSkgewogCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gYnh0X3NldHVwX2JhY2tsaWdodDsK IAkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSBieHRfZW5hYmxlX2JhY2tsaWdodDsKIAkJcGFu ZWwtPmJhY2tsaWdodC5kaXNhYmxlID0gYnh0X2Rpc2FibGVfYmFja2xpZ2h0OwogCQlwYW5lbC0+ YmFja2xpZ2h0LnNldCA9IGJ4dF9zZXRfYmFja2xpZ2h0OwogCQlwYW5lbC0+YmFja2xpZ2h0Lmdl dCA9IGJ4dF9nZXRfYmFja2xpZ2h0OwogCQlwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSA9IGJ4 dF9oel90b19wd207Ci0JfSBlbHNlIGlmIChIQVNfUENIX0xQVChkZXYpIHx8IEhBU19QQ0hfU1BU KGRldikpIHsKKwl9IGVsc2UgaWYgKEhBU19QQ0hfTFBUKGRldl9wcml2KSB8fCBIQVNfUENIX1NQ VChkZXZfcHJpdikpIHsKIAkJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IGxwdF9zZXR1cF9iYWNr bGlnaHQ7CiAJCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0gbHB0X2VuYWJsZV9iYWNrbGlnaHQ7 CiAJCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IGxwdF9kaXNhYmxlX2JhY2tsaWdodDsKIAkJ cGFuZWwtPmJhY2tsaWdodC5zZXQgPSBscHRfc2V0X2JhY2tsaWdodDsKIAkJcGFuZWwtPmJhY2ts aWdodC5nZXQgPSBscHRfZ2V0X2JhY2tsaWdodDsKLQkJaWYgKEhBU19QQ0hfTFBUKGRldikpCisJ CWlmIChIQVNfUENIX0xQVChkZXZfcHJpdikpCiAJCQlwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3 bSA9IGxwdF9oel90b19wd207CiAJCWVsc2UKIAkJCXBhbmVsLT5iYWNrbGlnaHQuaHpfdG9fcHdt ID0gc3B0X2h6X3RvX3B3bTsKLQl9IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgeworCX0g ZWxzZSBpZiAoSEFTX1BDSF9TUExJVChkZXZfcHJpdikpIHsKIAkJcGFuZWwtPmJhY2tsaWdodC5z ZXR1cCA9IHBjaF9zZXR1cF9iYWNrbGlnaHQ7CiAJCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlID0g cGNoX2VuYWJsZV9iYWNrbGlnaHQ7CiAJCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IHBjaF9k aXNhYmxlX2JhY2tsaWdodDsKIAkJcGFuZWwtPmJhY2tsaWdodC5zZXQgPSBwY2hfc2V0X2JhY2ts aWdodDsKIAkJcGFuZWwtPmJhY2tsaWdodC5nZXQgPSBwY2hfZ2V0X2JhY2tsaWdodDsKIAkJcGFu ZWwtPmJhY2tsaWdodC5oel90b19wd20gPSBwY2hfaHpfdG9fcHdtOwotCX0gZWxzZSBpZiAoSVNf VkFMTEVZVklFVyhkZXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2KSkgeworCX0gZWxzZSBpZiAoSVNf VkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpIHsKIAkJaWYg KGRldl9wcml2LT52YnQuaGFzX21pcGkpIHsKIAkJCXBhbmVsLT5iYWNrbGlnaHQuc2V0dXAgPSBw d21fc2V0dXBfYmFja2xpZ2h0OwogCQkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSBwd21fZW5h YmxlX2JhY2tsaWdodDsKQEAgLTE3OTksNyArMTc1OSw3IEBAIGludGVsX3BhbmVsX2luaXRfYmFj a2xpZ2h0X2Z1bmNzKHN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwpCiAJCQlwYW5lbC0+YmFja2xp Z2h0LmdldCA9IHZsdl9nZXRfYmFja2xpZ2h0OwogCQkJcGFuZWwtPmJhY2tsaWdodC5oel90b19w d20gPSB2bHZfaHpfdG9fcHdtOwogCQl9Ci0JfSBlbHNlIGlmIChJU19HRU40KGRldikpIHsKKwl9 IGVsc2UgaWYgKElTX0dFTjQoZGV2X3ByaXYpKSB7CiAJCXBhbmVsLT5iYWNrbGlnaHQuc2V0dXAg PSBpOTY1X3NldHVwX2JhY2tsaWdodDsKIAkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSBpOTY1 X2VuYWJsZV9iYWNrbGlnaHQ7CiAJCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IGk5NjVfZGlz YWJsZV9iYWNrbGlnaHQ7Ci0tIAoyLjEuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK