From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: [PATCH v2 2/4] drm/panel: Initialise panel dev and funcs through drm_panel_init() Date: Fri, 23 Aug 2019 22:32:43 +0300 Message-ID: <20190823193245.23876-3-laurent.pinchart@ideasonboard.com> References: <20190823193245.23876-1-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 177EC6ED22 for ; Fri, 23 Aug 2019 19:33:03 +0000 (UTC) In-Reply-To: <20190823193245.23876-1-laurent.pinchart@ideasonboard.com> 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: Alexandre Belloni , Neil Armstrong , Maxime Ripard , =?UTF-8?q?Guido=20G=C3=BCnther?= , Philippe Cornu , Paul Cercueil , Thierry Reding , Sam Ravnborg , Yannick Fertre , Stefan Mavrodiev , Tomi Valkeinen , Ludovic Desroches , Jagan Teki , Robert Chiras , Jonas Karlman , Jyri Sarha , Sean Paul , Jernej Skrabec , Purism Kernel Team , Boris Brezillon , Nicolas Ferre , Vincent Abriou List-Id: dri-devel@lists.freedesktop.org SW5zdGVhZCBvZiByZXF1aXJpbmcgYWxsIGRyaXZlcnMgdG8gc2V0IHRoZSBkZXYgYW5kIGZ1bmNz IGZpZWxkcyBvZgpkcm1fcGFuZWwgbWFudWFsbHkgYWZ0ZXIgY2FsbGluZyBkcm1fcGFuZWxfaW5p dCgpLCBwYXNzIHRoZSBkYXRhIGFzCmFyZ3VtZW50cyB0byB0aGUgZnVuY3Rpb24uIFRoaXMgc2lt cGxpZmllcyB0aGUgcGFuZWwgZHJpdmVycywgYW5kIHdpbGwKaGVscCBmdXR1cmUgcmVmYWN0b3Jp bmcgd2hlbiBhZGRpbmcgbmV3IGFyZ3VtZW50cyB0byBkcm1fcGFuZWxfaW5pdCgpLgoKVGhlIHBh bmVsIGRyaXZlcnMgaGF2ZSBiZWVuIHVwZGF0ZWQgd2l0aCB0aGUgZm9sbG93aW5nIENvY2NpbmVs bGUKc2VtYW50aWMgcGF0Y2gsIHdpdGggbWFudWFsIGluc3BlY3Rpb24gdG8gdmVyaWZ5IHRoYXQg bm8gY2FsbCB0bwpkcm1fcGFuZWxfaW5pdCgpIHdpdGggYSBzaW5nbGUgYXJndW1lbnQgc3RpbGwg ZXhpc3RzLgoKQEAKZXhwcmVzc2lvbiBwYW5lbDsKZXhwcmVzc2lvbiBkZXZpY2U7CmlkZW50aWZp ZXIgb3BzOwpAQAogZHJtX3BhbmVsX2luaXQoJnBhbmVsCisJLCBkZXZpY2UsICZvcHMKICk7CiAu Li4KKAotcGFuZWwuZGV2ID0gZGV2aWNlOwotcGFuZWwuZnVuY3MgPSAmb3BzOwp8Ci1wYW5lbC5m dW5jcyA9ICZvcHM7Ci1wYW5lbC5kZXYgPSBkZXZpY2U7CikKClN1Z2dlc3RlZC1ieTogU2FtIFJh dm5ib3JnIDxzYW1AcmF2bmJvcmcub3JnPgpTaWduZWQtb2ZmLWJ5OiBMYXVyZW50IFBpbmNoYXJ0 IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2RybV9wYW5lbC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKy0tLQog ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWFybS12ZXJzYXRpbGUuYyAgICAgICAgICAgfCAg NCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtZmVpeWFuZy1meTA3MDI0ZGkyNmEz MGQuYyB8ICA0ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0ZWstaWxpOTMy Mi5jICAgICAgICAgIHwgIDQgKy0tLQogZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRl ay1pbGk5ODgxYy5jICAgICAgICAgfCAgNCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtaW5ub2x1eC1wMDc5emNhLmMgICAgICAgICB8ICA0ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1qZGktbHQwNzBtZTA1MDAwLmMgICAgICAgIHwgIDQgKy0tLQogZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLWtpbmdkaXNwbGF5LWtkMDk3ZDA0LmMgICAgfCAgNSArKy0tLQog ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWxnLWxiMDM1cTAyLmMgICAgICAgICAgICAgfCAg NCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbGctbGc0NTczLmMgICAgICAgICAg ICAgICB8ICA0ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sdmRzLmMgICAgICAg ICAgICAgICAgICAgIHwgIDQgKy0tLQogZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW5lYy1u bDgwNDhobDExLmMgICAgICAgICAgfCAgNCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtbm92YXRlay1udDM5MDE2LmMgICAgICAgICB8ICA0ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1vbGltZXgtbGNkLW9saW51eGluby5jICAgIHwgIDQgKy0tLQogZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLW9yaXNldGVjaC1vdG04MDA5YS5jICAgICAgfCAgNCArLS0tCiBk cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3NkLW9zZDEwMXQyNTg3LTUzdHMuYyAgICB8ICA1 ICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcGFuYXNvbmljLXZ2eDEwZjAzNG4w MC5jICB8ICA1ICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmFzcGJlcnJ5cGkt dG91Y2hzY3JlZW4uYyB8ICA0ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlk aXVtLXJtNjcxOTEuYyAgICAgICAgIHwgIDQgKy0tLQogZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXJheWRpdW0tcm02ODIwMC5jICAgICAgICAgfCAgNCArLS0tCiBkcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtcm9ja3RlY2gtamgwNTduMDA5MDAuYyAgICB8ICA0ICstLS0KIGRyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1yb25iby1yYjA3MGQzMC5jICAgICAgICAgIHwgIDQgKy0tLQog ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctbGQ5MDQwLmMgICAgICAgICAgfCAg NCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmQxNmQwLmMgICAg ICAgICB8ICA0ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTNo YTIuYyAgICAgICAgIHwgIDQgKy0tLQogZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1 bmctczZlNjNqMHgwMy5jICAgICAgfCAgNCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtc2Ftc3VuZy1zNmU2M20wLmMgICAgICAgICB8ICA0ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1zYW1zdW5nLXM2ZThhYTAuYyAgICAgICAgIHwgIDQgKy0tLQogZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXNlaWtvLTQzd3ZmMWcuYyAgICAgICAgICAgfCAgNCArLS0tCiBk cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHExMDFyMXN4MDEuYyAgICAgICB8ICA0 ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1sczAzN3Y3ZHcwMS5jICAg ICAgIHwgIDQgKy0tLQogZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDQzdDFs ZTAxLmMgICAgICAgfCAgNSArKy0tLQogZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBs ZS5jICAgICAgICAgICAgICAgICAgfCAgNCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtc2l0cm9uaXgtc3Q3NzAxLmMgICAgICAgICB8ICA0ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1zaXRyb25peC1zdDc3ODl2LmMgICAgICAgIHwgIDQgKy0tLQogZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXNvbnktYWN4NTY1YWttLmMgICAgICAgICAgfCAgNCArLS0tCiBk cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRkMDI4dHRlYzEuYyAgICAgICAgICB8ICA0 ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwNDNtdGVhMS5jICAgICAg ICAgIHwgIDQgKy0tLQogZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10cGcxMTAuYyAg ICAgICAgICAgICAgfCAgNCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHJ1bHkt bnQzNTU5Ny5jICAgICAgICAgICB8ICA0ICstLS0KIGluY2x1ZGUvZHJtL2RybV9wYW5lbC5oICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCiA0MSBmaWxlcyBjaGFuZ2VkLCA1 MyBpbnNlcnRpb25zKCspLCAxMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9wYW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jCmluZGV4IDZi MGJmNDIwMzljZi4uYmEyZmFkNGM5NjQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X3BhbmVsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jCkBAIC00NCwxMyArNDQs MTggQEAgc3RhdGljIExJU1RfSEVBRChwYW5lbF9saXN0KTsKIC8qKgogICogZHJtX3BhbmVsX2lu aXQgLSBpbml0aWFsaXplIGEgcGFuZWwKICAqIEBwYW5lbDogRFJNIHBhbmVsCisgKiBAZGV2OiBw YXJlbnQgZGV2aWNlIG9mIHRoZSBwYW5lbAorICogQGZ1bmNzOiBwYW5lbCBvcGVyYXRpb25zCiAg KgotICogU2V0cyB1cCBpbnRlcm5hbCBmaWVsZHMgb2YgdGhlIHBhbmVsIHNvIHRoYXQgaXQgY2Fu IHN1YnNlcXVlbnRseSBiZSBhZGRlZAotICogdG8gdGhlIHJlZ2lzdHJ5LgorICogSW5pdGlhbGl6 ZSB0aGUgcGFuZWwgc3RydWN0dXJlIGZvciBzdWJzZXF1ZW50IHJlZ2lzdHJhdGlvbiB3aXRoCisg KiBkcm1fcGFuZWxfYWRkKCkuCiAgKi8KLXZvaWQgZHJtX3BhbmVsX2luaXQoc3RydWN0IGRybV9w YW5lbCAqcGFuZWwpCit2b2lkIGRybV9wYW5lbF9pbml0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVs LCBzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNz ICpmdW5jcykKIHsKIAlJTklUX0xJU1RfSEVBRCgmcGFuZWwtPmxpc3QpOworCXBhbmVsLT5kZXYg PSBkZXY7CisJcGFuZWwtPmZ1bmNzID0gZnVuY3M7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9wYW5l bF9pbml0KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWFybS12 ZXJzYXRpbGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1hcm0tdmVyc2F0aWxlLmMK aW5kZXggNWY3MmM5MjJhMDRiLi5hNDMzM2VkMGYyMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC1hcm0tdmVyc2F0aWxlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLWFybS12ZXJzYXRpbGUuYwpAQCAtMzUwLDkgKzM1MCw3IEBAIHN0YXRpYyBpbnQg dmVyc2F0aWxlX3BhbmVsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCQlk ZXZfaW5mbyhkZXYsICJwYW5lbCBtb3VudGVkIG9uIElCMiBkYXVnaHRlcmJvYXJkXG4iKTsKIAl9 CiAKLQlkcm1fcGFuZWxfaW5pdCgmdnBhbmVsLT5wYW5lbCk7Ci0JdnBhbmVsLT5wYW5lbC5kZXYg PSBkZXY7Ci0JdnBhbmVsLT5wYW5lbC5mdW5jcyA9ICZ2ZXJzYXRpbGVfcGFuZWxfZHJtX2Z1bmNz OworCWRybV9wYW5lbF9pbml0KCZ2cGFuZWwtPnBhbmVsLCBkZXYsICZ2ZXJzYXRpbGVfcGFuZWxf ZHJtX2Z1bmNzKTsKIAogCXJldHVybiBkcm1fcGFuZWxfYWRkKCZ2cGFuZWwtPnBhbmVsKTsKIH0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1mZWl5YW5nLWZ5MDcwMjRk aTI2YTMwZC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWZlaXlhbmctZnkwNzAyNGRp MjZhMzBkLmMKaW5kZXggZGFiZjU5ZTBmNTZmLi43ZDVkNzQ1NWJjMDEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1mZWl5YW5nLWZ5MDcwMjRkaTI2YTMwZC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1mZWl5YW5nLWZ5MDcwMjRkaTI2YTMwZC5jCkBA IC0yMDQsOSArMjA0LDcgQEAgc3RhdGljIGludCBmZWl5YW5nX2RzaV9wcm9iZShzdHJ1Y3QgbWlw aV9kc2lfZGV2aWNlICpkc2kpCiAJbWlwaV9kc2lfc2V0X2RydmRhdGEoZHNpLCBjdHgpOwogCWN0 eC0+ZHNpID0gZHNpOwogCi0JZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwpOwotCWN0eC0+cGFu ZWwuZGV2ID0gJmRzaS0+ZGV2OwotCWN0eC0+cGFuZWwuZnVuY3MgPSAmZmVpeWFuZ19mdW5jczsK Kwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgJmRzaS0+ZGV2LCAmZmVpeWFuZ19mdW5jcyk7 CiAKIAljdHgtPmR2ZGQgPSBkZXZtX3JlZ3VsYXRvcl9nZXQoJmRzaS0+ZGV2LCAiZHZkZCIpOwog CWlmIChJU19FUlIoY3R4LT5kdmRkKSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLWlsaXRlay1pbGk5MzIyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt aWxpdGVrLWlsaTkzMjIuYwppbmRleCAzYzU4ZjYzYWRiZjcuLmFkMjQwNWJhYTBhYyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5MzIyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5MzIyLmMKQEAgLTg5NSw5ICs4 OTUsNyBAQCBzdGF0aWMgaW50IGlsaTkzMjJfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkK IAkJaWxpLT5pbnB1dCA9IGlsaS0+Y29uZi0+aW5wdXQ7CiAJfQogCi0JZHJtX3BhbmVsX2luaXQo JmlsaS0+cGFuZWwpOwotCWlsaS0+cGFuZWwuZGV2ID0gZGV2OwotCWlsaS0+cGFuZWwuZnVuY3Mg PSAmaWxpOTMyMl9kcm1fZnVuY3M7CisJZHJtX3BhbmVsX2luaXQoJmlsaS0+cGFuZWwsIGRldiwg JmlsaTkzMjJfZHJtX2Z1bmNzKTsKIAogCXJldHVybiBkcm1fcGFuZWxfYWRkKCZpbGktPnBhbmVs KTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0ZWstaWxp OTg4MWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0ZWstaWxpOTg4MWMuYwpp bmRleCAzYWQ0YTQ2YzRlOTQuLjFkNzE0Zjk2MWMwMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5ODgxYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1pbGl0ZWstaWxpOTg4MWMuYwpAQCAtNDMzLDkgKzQzMyw3IEBAIHN0YXRpYyBp bnQgaWxpOTg4MWNfZHNpX3Byb2JlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKIAltaXBp X2RzaV9zZXRfZHJ2ZGF0YShkc2ksIGN0eCk7CiAJY3R4LT5kc2kgPSBkc2k7CiAKLQlkcm1fcGFu ZWxfaW5pdCgmY3R4LT5wYW5lbCk7Ci0JY3R4LT5wYW5lbC5kZXYgPSAmZHNpLT5kZXY7Ci0JY3R4 LT5wYW5lbC5mdW5jcyA9ICZpbGk5ODgxY19mdW5jczsKKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5w YW5lbCwgJmRzaS0+ZGV2LCAmaWxpOTg4MWNfZnVuY3MpOwogCiAJY3R4LT5wb3dlciA9IGRldm1f cmVndWxhdG9yX2dldCgmZHNpLT5kZXYsICJwb3dlciIpOwogCWlmIChJU19FUlIoY3R4LT5wb3dl cikpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbm5vbHV4LXAw Nzl6Y2EuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbm5vbHV4LXAwNzl6Y2EuYwpp bmRleCBkOTJkMWM5ODg3OGMuLjIwNTRhZmMzMWYyMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLWlubm9sdXgtcDA3OXpjYS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1pbm5vbHV4LXAwNzl6Y2EuYwpAQCAtNDg3LDkgKzQ4Nyw3IEBAIHN0YXRpYyBp bnQgaW5ub2x1eF9wYW5lbF9hZGQoc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpLAogCWlmIChJ U19FUlIoaW5ub2x1eC0+YmFja2xpZ2h0KSkKIAkJcmV0dXJuIFBUUl9FUlIoaW5ub2x1eC0+YmFj a2xpZ2h0KTsKIAotCWRybV9wYW5lbF9pbml0KCZpbm5vbHV4LT5iYXNlKTsKLQlpbm5vbHV4LT5i YXNlLmZ1bmNzID0gJmlubm9sdXhfcGFuZWxfZnVuY3M7Ci0JaW5ub2x1eC0+YmFzZS5kZXYgPSBk ZXY7CisJZHJtX3BhbmVsX2luaXQoJmlubm9sdXgtPmJhc2UsIGRldiwgJmlubm9sdXhfcGFuZWxf ZnVuY3MpOwogCiAJZXJyID0gZHJtX3BhbmVsX2FkZCgmaW5ub2x1eC0+YmFzZSk7CiAJaWYgKGVy ciA8IDApCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtamRpLWx0MDcw bWUwNTAwMC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWpkaS1sdDA3MG1lMDUwMDAu YwppbmRleCBmZjNlODllNjFlM2YuLjdiZmRiZmJjODY4ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLWpkaS1sdDA3MG1lMDUwMDAuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtamRpLWx0MDcwbWUwNTAwMC5jCkBAIC00MzcsOSArNDM3LDcgQEAgc3Rh dGljIGludCBqZGlfcGFuZWxfYWRkKHN0cnVjdCBqZGlfcGFuZWwgKmpkaSkKIAkJcmV0dXJuIHJl dDsKIAl9CiAKLQlkcm1fcGFuZWxfaW5pdCgmamRpLT5iYXNlKTsKLQlqZGktPmJhc2UuZnVuY3Mg PSAmamRpX3BhbmVsX2Z1bmNzOwotCWpkaS0+YmFzZS5kZXYgPSAmamRpLT5kc2ktPmRldjsKKwlk cm1fcGFuZWxfaW5pdCgmamRpLT5iYXNlLCAmamRpLT5kc2ktPmRldiwgJmpkaV9wYW5lbF9mdW5j cyk7CiAKIAlyZXQgPSBkcm1fcGFuZWxfYWRkKCZqZGktPmJhc2UpOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwta2luZ2Rpc3BsYXkta2QwOTdkMDQuYyBiL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1raW5nZGlzcGxheS1rZDA5N2QwNC5jCmluZGV4IDNhYzA0 ZWI4ZDBmZS4uYTQ3ODg1YTFhOGFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwta2luZ2Rpc3BsYXkta2QwOTdkMDQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwta2luZ2Rpc3BsYXkta2QwOTdkMDQuYwpAQCAtMzkxLDkgKzM5MSw4IEBAIHN0YXRpYyBp bnQga2luZ2Rpc3BsYXlfcGFuZWxfYWRkKHN0cnVjdCBraW5nZGlzcGxheV9wYW5lbCAqa2luZ2Rp c3BsYXkpCiAJaWYgKElTX0VSUihraW5nZGlzcGxheS0+YmFja2xpZ2h0KSkKIAkJcmV0dXJuIFBU Ul9FUlIoa2luZ2Rpc3BsYXktPmJhY2tsaWdodCk7CiAKLQlkcm1fcGFuZWxfaW5pdCgma2luZ2Rp c3BsYXktPmJhc2UpOwotCWtpbmdkaXNwbGF5LT5iYXNlLmZ1bmNzID0gJmtpbmdkaXNwbGF5X3Bh bmVsX2Z1bmNzOwotCWtpbmdkaXNwbGF5LT5iYXNlLmRldiA9ICZraW5nZGlzcGxheS0+bGluay0+ ZGV2OworCWRybV9wYW5lbF9pbml0KCZraW5nZGlzcGxheS0+YmFzZSwgJmtpbmdkaXNwbGF5LT5s aW5rLT5kZXYsCisJCSAgICAgICAma2luZ2Rpc3BsYXlfcGFuZWxfZnVuY3MpOwogCiAJcmV0dXJu IGRybV9wYW5lbF9hZGQoJmtpbmdkaXNwbGF5LT5iYXNlKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sZy1sYjAzNXEwMi5jIGIvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLWxnLWxiMDM1cTAyLmMKaW5kZXggZmM4MmE1MjViMDcxLi4yOGMzMjA1ZGY0ODIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sZy1sYjAzNXEwMi5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sZy1sYjAzNXEwMi5jCkBAIC0xOTYsOSAr MTk2LDcgQEAgc3RhdGljIGludCBsYjAzNXEwMl9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3Bp KQogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCi0JZHJtX3BhbmVsX2luaXQoJmxjZC0+ cGFuZWwpOwotCWxjZC0+cGFuZWwuZGV2ID0gJmxjZC0+c3BpLT5kZXY7Ci0JbGNkLT5wYW5lbC5m dW5jcyA9ICZsYjAzNXEwMl9mdW5jczsKKwlkcm1fcGFuZWxfaW5pdCgmbGNkLT5wYW5lbCwgJmxj ZC0+c3BpLT5kZXYsICZsYjAzNXEwMl9mdW5jcyk7CiAKIAlyZXR1cm4gZHJtX3BhbmVsX2FkZCgm bGNkLT5wYW5lbCk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt bGctbGc0NTczLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbGctbGc0NTczLmMKaW5k ZXggNDFiZjAyZDEyMmExLi42MDhmMmRlOTE2NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1sZy1sZzQ1NzMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtbGctbGc0NTczLmMKQEAgLTI1OSw5ICsyNTksNyBAQCBzdGF0aWMgaW50IGxnNDU3M19wcm9i ZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQogCQlyZXR1cm4gcmV0OwogCX0KIAotCWRybV9wYW5l bF9pbml0KCZjdHgtPnBhbmVsKTsKLQljdHgtPnBhbmVsLmRldiA9ICZzcGktPmRldjsKLQljdHgt PnBhbmVsLmZ1bmNzID0gJmxnNDU3M19kcm1fZnVuY3M7CisJZHJtX3BhbmVsX2luaXQoJmN0eC0+ cGFuZWwsICZzcGktPmRldiwgJmxnNDU3M19kcm1fZnVuY3MpOwogCiAJcmV0dXJuIGRybV9wYW5l bF9hZGQoJmN0eC0+cGFuZWwpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLWx2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sdmRzLmMKaW5kZXgg YWQ0N2NjOTU0NTllLi4zZGMxYWMyYTZiMDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1sdmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWx2ZHMu YwpAQCAtMjYwLDkgKzI2MCw3IEBAIHN0YXRpYyBpbnQgcGFuZWxfbHZkc19wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCSAqLwogCiAJLyogUmVnaXN0ZXIgdGhlIHBhbmVsLiAq LwotCWRybV9wYW5lbF9pbml0KCZsdmRzLT5wYW5lbCk7Ci0JbHZkcy0+cGFuZWwuZGV2ID0gbHZk cy0+ZGV2OwotCWx2ZHMtPnBhbmVsLmZ1bmNzID0gJnBhbmVsX2x2ZHNfZnVuY3M7CisJZHJtX3Bh bmVsX2luaXQoJmx2ZHMtPnBhbmVsLCBsdmRzLT5kZXYsICZwYW5lbF9sdmRzX2Z1bmNzKTsKIAog CXJldCA9IGRybV9wYW5lbF9hZGQoJmx2ZHMtPnBhbmVsKTsKIAlpZiAocmV0IDwgMCkKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1uZWMtbmw4MDQ4aGwxMS5jIGIvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW5lYy1ubDgwNDhobDExLmMKaW5kZXggMjk5YjIxN2M4 M2UxLi5iNjc2MzZmZGJjMjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1uZWMtbmw4MDQ4aGwxMS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1uZWMt bmw4MDQ4aGwxMS5jCkBAIC0yMDUsOSArMjA1LDcgQEAgc3RhdGljIGludCBubDgwNDhfcHJvYmUo c3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAot CWRybV9wYW5lbF9pbml0KCZsY2QtPnBhbmVsKTsKLQlsY2QtPnBhbmVsLmRldiA9ICZsY2QtPnNw aS0+ZGV2OwotCWxjZC0+cGFuZWwuZnVuY3MgPSAmbmw4MDQ4X2Z1bmNzOworCWRybV9wYW5lbF9p bml0KCZsY2QtPnBhbmVsLCAmbGNkLT5zcGktPmRldiwgJm5sODA0OF9mdW5jcyk7CiAKIAlyZXR1 cm4gZHJtX3BhbmVsX2FkZCgmbGNkLT5wYW5lbCk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtbm92YXRlay1udDM5MDE2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtbm92YXRlay1udDM5MDE2LmMKaW5kZXggMmFkMTA2M2IwNjhkLi42NGNmZTExMWFh YWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ub3ZhdGVrLW50Mzkw MTYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbm92YXRlay1udDM5MDE2LmMK QEAgLTI5Miw5ICsyOTIsNyBAQCBzdGF0aWMgaW50IG50MzkwMTZfcHJvYmUoc3RydWN0IHNwaV9k ZXZpY2UgKnNwaSkKIAkJcmV0dXJuIGVycjsKIAl9CiAKLQlkcm1fcGFuZWxfaW5pdCgmcGFuZWwt PmRybV9wYW5lbCk7Ci0JcGFuZWwtPmRybV9wYW5lbC5kZXYgPSBkZXY7Ci0JcGFuZWwtPmRybV9w YW5lbC5mdW5jcyA9ICZudDM5MDE2X2Z1bmNzOworCWRybV9wYW5lbF9pbml0KCZwYW5lbC0+ZHJt X3BhbmVsLCBkZXYsICZudDM5MDE2X2Z1bmNzKTsKIAogCWVyciA9IGRybV9wYW5lbF9hZGQoJnBh bmVsLT5kcm1fcGFuZWwpOwogCWlmIChlcnIgPCAwKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtb2xpbWV4LWxjZC1vbGludXhpbm8uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1vbGltZXgtbGNkLW9saW51eGluby5jCmluZGV4IDJiYWUxZGIzZmYzNC4u ZjJkNmE0ZWMwMDQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb2xp bWV4LWxjZC1vbGludXhpbm8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb2xp bWV4LWxjZC1vbGludXhpbm8uYwpAQCAtMjg4LDkgKzI4OCw3IEBAIHN0YXRpYyBpbnQgbGNkX29s aW51eGlub19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAogCWlmIChJU19FUlIobGNk LT5iYWNrbGlnaHQpKQogCQlyZXR1cm4gUFRSX0VSUihsY2QtPmJhY2tsaWdodCk7CiAKLQlkcm1f cGFuZWxfaW5pdCgmbGNkLT5wYW5lbCk7Ci0JbGNkLT5wYW5lbC5kZXYgPSBkZXY7Ci0JbGNkLT5w YW5lbC5mdW5jcyA9ICZsY2Rfb2xpbnV4aW5vX2Z1bmNzOworCWRybV9wYW5lbF9pbml0KCZsY2Qt PnBhbmVsLCBkZXYsICZsY2Rfb2xpbnV4aW5vX2Z1bmNzKTsKIAogCXJldHVybiBkcm1fcGFuZWxf YWRkKCZsY2QtPnBhbmVsKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1vcmlzZXRlY2gtb3RtODAwOWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1v cmlzZXRlY2gtb3RtODAwOWEuYwppbmRleCBjN2I0OGRmODg2OWEuLjhiNjBkNWU0ZDc3NSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9yaXNldGVjaC1vdG04MDA5YS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1vcmlzZXRlY2gtb3RtODAwOWEuYwpA QCAtNDU1LDkgKzQ1NSw3IEBAIHN0YXRpYyBpbnQgb3RtODAwOWFfcHJvYmUoc3RydWN0IG1pcGlf ZHNpX2RldmljZSAqZHNpKQogCWRzaS0+bW9kZV9mbGFncyA9IE1JUElfRFNJX01PREVfVklERU8g fCBNSVBJX0RTSV9NT0RFX1ZJREVPX0JVUlNUIHwKIAkJCSAgTUlQSV9EU0lfTU9ERV9MUE07CiAK LQlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCk7Ci0JY3R4LT5wYW5lbC5kZXYgPSBkZXY7Ci0J Y3R4LT5wYW5lbC5mdW5jcyA9ICZvdG04MDA5YV9kcm1fZnVuY3M7CisJZHJtX3BhbmVsX2luaXQo JmN0eC0+cGFuZWwsIGRldiwgJm90bTgwMDlhX2RybV9mdW5jcyk7CiAKIAljdHgtPmJsX2RldiA9 IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihkZXYsIGRldl9uYW1lKGRldiksCiAJCQkJ CQkgICAgIGRzaS0+aG9zdC0+ZGV2LCBjdHgsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtb3NkLW9zZDEwMXQyNTg3LTUzdHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1vc2Qtb3NkMTAxdDI1ODctNTN0cy5jCmluZGV4IGUwZTIwZWNmZjkxNi4uMzhmMTE0 YjAzYjg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3NkLW9zZDEw MXQyNTg3LTUzdHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3NkLW9zZDEw MXQyNTg3LTUzdHMuYwpAQCAtMTY2LDkgKzE2Niw4IEBAIHN0YXRpYyBpbnQgb3NkMTAxdDI1ODdf cGFuZWxfYWRkKHN0cnVjdCBvc2QxMDF0MjU4N19wYW5lbCAqb3NkMTAxdDI1ODcpCiAJaWYgKElT X0VSUihvc2QxMDF0MjU4Ny0+YmFja2xpZ2h0KSkKIAkJcmV0dXJuIFBUUl9FUlIob3NkMTAxdDI1 ODctPmJhY2tsaWdodCk7CiAKLQlkcm1fcGFuZWxfaW5pdCgmb3NkMTAxdDI1ODctPmJhc2UpOwot CW9zZDEwMXQyNTg3LT5iYXNlLmZ1bmNzID0gJm9zZDEwMXQyNTg3X3BhbmVsX2Z1bmNzOwotCW9z ZDEwMXQyNTg3LT5iYXNlLmRldiA9ICZvc2QxMDF0MjU4Ny0+ZHNpLT5kZXY7CisJZHJtX3BhbmVs X2luaXQoJm9zZDEwMXQyNTg3LT5iYXNlLCAmb3NkMTAxdDI1ODctPmRzaS0+ZGV2LAorCQkgICAg ICAgJm9zZDEwMXQyNTg3X3BhbmVsX2Z1bmNzKTsKIAogCXJldHVybiBkcm1fcGFuZWxfYWRkKCZv c2QxMDF0MjU4Ny0+YmFzZSk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtcGFuYXNvbmljLXZ2eDEwZjAzNG4wMC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXBhbmFzb25pYy12dngxMGYwMzRuMDAuYwppbmRleCAzZGZmMGIzZjczYzIuLjYwMzViZjQ1 ODA3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXBhbmFzb25pYy12 dngxMGYwMzRuMDAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcGFuYXNvbmlj LXZ2eDEwZjAzNG4wMC5jCkBAIC0yMjMsOSArMjIzLDggQEAgc3RhdGljIGludCB3dXhnYV9udF9w YW5lbF9hZGQoc3RydWN0IHd1eGdhX250X3BhbmVsICp3dXhnYV9udCkKIAkJCXJldHVybiAtRVBS T0JFX0RFRkVSOwogCX0KIAotCWRybV9wYW5lbF9pbml0KCZ3dXhnYV9udC0+YmFzZSk7Ci0Jd3V4 Z2FfbnQtPmJhc2UuZnVuY3MgPSAmd3V4Z2FfbnRfcGFuZWxfZnVuY3M7Ci0Jd3V4Z2FfbnQtPmJh c2UuZGV2ID0gJnd1eGdhX250LT5kc2ktPmRldjsKKwlkcm1fcGFuZWxfaW5pdCgmd3V4Z2FfbnQt PmJhc2UsICZ3dXhnYV9udC0+ZHNpLT5kZXYsCisJCSAgICAgICAmd3V4Z2FfbnRfcGFuZWxfZnVu Y3MpOwogCiAJcmV0ID0gZHJtX3BhbmVsX2FkZCgmd3V4Z2FfbnQtPmJhc2UpOwogCWlmIChyZXQg PCAwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJyeXBp LXRvdWNoc2NyZWVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmFzcGJlcnJ5cGkt dG91Y2hzY3JlZW4uYwppbmRleCAyYWE4OWVhZWNmNmYuLjIzYTgwMTQyN2U0MiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJyeXBpLXRvdWNoc2NyZWVuLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJyeXBpLXRvdWNoc2NyZWVu LmMKQEAgLTQyNiw5ICs0MjYsNyBAQCBzdGF0aWMgaW50IHJwaV90b3VjaHNjcmVlbl9wcm9iZShz dHJ1Y3QgaTJjX2NsaWVudCAqaTJjLAogCQlyZXR1cm4gUFRSX0VSUih0cy0+ZHNpKTsKIAl9CiAK LQlkcm1fcGFuZWxfaW5pdCgmdHMtPmJhc2UpOwotCXRzLT5iYXNlLmRldiA9IGRldjsKLQl0cy0+ YmFzZS5mdW5jcyA9ICZycGlfdG91Y2hzY3JlZW5fZnVuY3M7CisJZHJtX3BhbmVsX2luaXQoJnRz LT5iYXNlLCBkZXYsICZycGlfdG91Y2hzY3JlZW5fZnVuY3MpOwogCiAJLyogVGhpcyBhcHBlYXJz IGxhc3QsIGFzIGl0J3Mgd2hhdCB3aWxsIHVuYmxvY2sgdGhlIERTSSBob3N0CiAJICogZHJpdmVy J3MgY29tcG9uZW50IGJpbmQgZnVuY3Rpb24uCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY3MTkxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtcmF5ZGl1bS1ybTY3MTkxLmMKaW5kZXggNmE1ZDM3MDA2MTAzLi5mODJhMWY2OWYxM2IgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVtLXJtNjcxOTEuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY3MTkxLmMKQEAgLTYw Niw5ICs2MDYsNyBAQCBzdGF0aWMgaW50IHJhZF9wYW5lbF9wcm9iZShzdHJ1Y3QgbWlwaV9kc2lf ZGV2aWNlICpkc2kpCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCWRybV9wYW5lbF9pbml0 KCZwYW5lbC0+cGFuZWwpOwotCXBhbmVsLT5wYW5lbC5mdW5jcyA9ICZyYWRfcGFuZWxfZnVuY3M7 Ci0JcGFuZWwtPnBhbmVsLmRldiA9IGRldjsKKwlkcm1fcGFuZWxfaW5pdCgmcGFuZWwtPnBhbmVs LCBkZXYsICZyYWRfcGFuZWxfZnVuY3MpOwogCWRldl9zZXRfZHJ2ZGF0YShkZXYsIHBhbmVsKTsK IAogCXJldCA9IGRybV9wYW5lbF9hZGQoJnBhbmVsLT5wYW5lbCk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY4MjAwLmMgYi9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY4MjAwLmMKaW5kZXggYmE4ODk2MjVhZDQzLi5mMDA0 Yjc4ZmI4YmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVt LXJtNjgyMDAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY4 MjAwLmMKQEAgLTQwNCw5ICs0MDQsNyBAQCBzdGF0aWMgaW50IHJtNjgyMDBfcHJvYmUoc3RydWN0 IG1pcGlfZHNpX2RldmljZSAqZHNpKQogCWRzaS0+bW9kZV9mbGFncyA9IE1JUElfRFNJX01PREVf VklERU8gfCBNSVBJX0RTSV9NT0RFX1ZJREVPX0JVUlNUIHwKIAkJCSAgTUlQSV9EU0lfTU9ERV9M UE07CiAKLQlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCk7Ci0JY3R4LT5wYW5lbC5kZXYgPSBk ZXY7Ci0JY3R4LT5wYW5lbC5mdW5jcyA9ICZybTY4MjAwX2RybV9mdW5jczsKKwlkcm1fcGFuZWxf aW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAmcm02ODIwMF9kcm1fZnVuY3MpOwogCiAJZHJtX3BhbmVs X2FkZCgmY3R4LT5wYW5lbCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1yb2NrdGVjaC1qaDA1N24wMDkwMC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LXJvY2t0ZWNoLWpoMDU3bjAwOTAwLmMKaW5kZXggYjkxMDk5MjIzOTdmLi5kN2Y1NjM3NGYyZjEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb2NrdGVjaC1qaDA1N24w MDkwMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb2NrdGVjaC1qaDA1N24w MDkwMC5jCkBAIC0zNDMsOSArMzQzLDcgQEAgc3RhdGljIGludCBqaDA1N25fcHJvYmUoc3RydWN0 IG1pcGlfZHNpX2RldmljZSAqZHNpKQogCQlyZXR1cm4gcmV0OwogCX0KIAotCWRybV9wYW5lbF9p bml0KCZjdHgtPnBhbmVsKTsKLQljdHgtPnBhbmVsLmRldiA9IGRldjsKLQljdHgtPnBhbmVsLmZ1 bmNzID0gJmpoMDU3bl9kcm1fZnVuY3M7CisJZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsIGRl diwgJmpoMDU3bl9kcm1fZnVuY3MpOwogCiAJZHJtX3BhbmVsX2FkZCgmY3R4LT5wYW5lbCk7CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb25iby1yYjA3MGQzMC5j IGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJvbmJvLXJiMDcwZDMwLmMKaW5kZXggM2Mx NTc2NGYwYzAzLi44NzA4ZmJiZTc2MzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1yb25iby1yYjA3MGQzMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1yb25iby1yYjA3MGQzMC5jCkBAIC0xNzMsOSArMTczLDcgQEAgc3RhdGljIGludCByYjA3MGQz MF9wYW5lbF9kc2lfcHJvYmUoc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpKQogCW1pcGlfZHNp X3NldF9kcnZkYXRhKGRzaSwgY3R4KTsKIAljdHgtPmRzaSA9IGRzaTsKIAotCWRybV9wYW5lbF9p bml0KCZjdHgtPnBhbmVsKTsKLQljdHgtPnBhbmVsLmRldiA9ICZkc2ktPmRldjsKLQljdHgtPnBh bmVsLmZ1bmNzID0gJnJiMDcwZDMwX3BhbmVsX2Z1bmNzOworCWRybV9wYW5lbF9pbml0KCZjdHgt PnBhbmVsLCAmZHNpLT5kZXYsICZyYjA3MGQzMF9wYW5lbF9mdW5jcyk7CiAKIAljdHgtPmdwaW9z LnJlc2V0ID0gZGV2bV9ncGlvZF9nZXQoJmRzaS0+ZGV2LCAicmVzZXQiLCBHUElPRF9PVVRfTE9X KTsKIAlpZiAoSVNfRVJSKGN0eC0+Z3Bpb3MucmVzZXQpKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1sZDkwNDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9w YW5lbC9wYW5lbC1zYW1zdW5nLWxkOTA0MC5jCmluZGV4IDNiZTkwMmRjZWRjMC4uNzFhMjkyZGJl YzQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1sZDkw NDAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1sZDkwNDAuYwpA QCAtMzUxLDkgKzM1MSw3IEBAIHN0YXRpYyBpbnQgbGQ5MDQwX3Byb2JlKHN0cnVjdCBzcGlfZGV2 aWNlICpzcGkpCiAJCXJldHVybiByZXQ7CiAJfQogCi0JZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFu ZWwpOwotCWN0eC0+cGFuZWwuZGV2ID0gZGV2OwotCWN0eC0+cGFuZWwuZnVuY3MgPSAmbGQ5MDQw X2RybV9mdW5jczsKKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAmbGQ5MDQwX2Ry bV9mdW5jcyk7CiAKIAlyZXR1cm4gZHJtX3BhbmVsX2FkZCgmY3R4LT5wYW5lbCk7CiB9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmQxNmQwLmMgYi9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmQxNmQwLmMKaW5kZXggZjc1YmVm MjRlMDUwLi40ZDI1Yzk2ZTg0MmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1zYW1zdW5nLXM2ZDE2ZDAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt c2Ftc3VuZy1zNmQxNmQwLmMKQEAgLTIxNSw5ICsyMTUsNyBAQCBzdGF0aWMgaW50IHM2ZDE2ZDBf cHJvYmUoc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpKQogCQlyZXR1cm4gcmV0OwogCX0KIAot CWRybV9wYW5lbF9pbml0KCZzNi0+cGFuZWwpOwotCXM2LT5wYW5lbC5kZXYgPSBkZXY7Ci0JczYt PnBhbmVsLmZ1bmNzID0gJnM2ZDE2ZDBfZHJtX2Z1bmNzOworCWRybV9wYW5lbF9pbml0KCZzNi0+ cGFuZWwsIGRldiwgJnM2ZDE2ZDBfZHJtX2Z1bmNzKTsKIAogCXJldCA9IGRybV9wYW5lbF9hZGQo JnM2LT5wYW5lbCk7CiAJaWYgKHJldCA8IDApCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmUzaGEyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtc2Ftc3VuZy1zNmUzaGEyLmMKaW5kZXggYjkyM2RlMjNlZDY1Li40MmEzYWFhYjQ5ZWIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTNoYTIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmUzaGEyLmMKQEAgLTcz Miw5ICs3MzIsNyBAQCBzdGF0aWMgaW50IHM2ZTNoYTJfcHJvYmUoc3RydWN0IG1pcGlfZHNpX2Rl dmljZSAqZHNpKQogCWN0eC0+YmxfZGV2LT5wcm9wcy5icmlnaHRuZXNzID0gUzZFM0hBMl9ERUZB VUxUX0JSSUdIVE5FU1M7CiAJY3R4LT5ibF9kZXYtPnByb3BzLnBvd2VyID0gRkJfQkxBTktfUE9X RVJET1dOOwogCi0JZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwpOwotCWN0eC0+cGFuZWwuZGV2 ID0gZGV2OwotCWN0eC0+cGFuZWwuZnVuY3MgPSAmczZlM2hhMl9kcm1fZnVuY3M7CisJZHJtX3Bh bmVsX2luaXQoJmN0eC0+cGFuZWwsIGRldiwgJnM2ZTNoYTJfZHJtX2Z1bmNzKTsKIAogCXJldCA9 IGRybV9wYW5lbF9hZGQoJmN0eC0+cGFuZWwpOwogCWlmIChyZXQgPCAwKQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNqMHgwMy5jIGIvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNqMHgwMy5jCmluZGV4IGNkOTBmYTcw MGM0OS4uYjRkODc5YmY0ZDAzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtc2Ftc3VuZy1zNmU2M2oweDAzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LXNhbXN1bmctczZlNjNqMHgwMy5jCkBAIC00NjYsOSArNDY2LDcgQEAgc3RhdGljIGludCBzNmU2 M2oweDAzX3Byb2JlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKIAkJcmV0dXJuIFBUUl9F UlIoY3R4LT5yZXNldF9ncGlvKTsKIAl9CiAKLQlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCk7 Ci0JY3R4LT5wYW5lbC5kZXYgPSBkZXY7Ci0JY3R4LT5wYW5lbC5mdW5jcyA9ICZzNmU2M2oweDAz X2Z1bmNzOworCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYsICZzNmU2M2oweDAzX2Z1 bmNzKTsKIAogCWN0eC0+YmxfZGV2ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigiczZlNjNq MHgwMyIsIGRldiwgY3R4LAogCQkJCQkJJnM2ZTYzajB4MDNfYmxfb3BzLCBOVUxMKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYzbTAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYzbTAuYwppbmRleCAxNDJkMzk1 ZWE1MTIuLjYxMjU5YzI4MzNhYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXNhbXN1bmctczZlNjNtMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1z YW1zdW5nLXM2ZTYzbTAuYwpAQCAtNDczLDkgKzQ3Myw3IEBAIHN0YXRpYyBpbnQgczZlNjNtMF9w cm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQogCQlyZXR1cm4gcmV0OwogCX0KIAotCWRybV9w YW5lbF9pbml0KCZjdHgtPnBhbmVsKTsKLQljdHgtPnBhbmVsLmRldiA9IGRldjsKLQljdHgtPnBh bmVsLmZ1bmNzID0gJnM2ZTYzbTBfZHJtX2Z1bmNzOworCWRybV9wYW5lbF9pbml0KCZjdHgtPnBh bmVsLCBkZXYsICZzNmU2M20wX2RybV9mdW5jcyk7CiAKIAlyZXQgPSBzNmU2M20wX2JhY2tsaWdo dF9yZWdpc3RlcihjdHgpOwogCWlmIChyZXQgPCAwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGFhMC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXNhbXN1bmctczZlOGFhMC5jCmluZGV4IDgxODU4MjY3NzIzYS4uMzVkYmZmYWJkNTI2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU4YWEw LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlOGFhMC5jCkBA IC0xMDE3LDkgKzEwMTcsNyBAQCBzdGF0aWMgaW50IHM2ZThhYTBfcHJvYmUoc3RydWN0IG1pcGlf ZHNpX2RldmljZSAqZHNpKQogCiAJY3R4LT5icmlnaHRuZXNzID0gR0FNTUFfTEVWRUxfTlVNIC0g MTsKIAotCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsKTsKLQljdHgtPnBhbmVsLmRldiA9IGRl djsKLQljdHgtPnBhbmVsLmZ1bmNzID0gJnM2ZThhYTBfZHJtX2Z1bmNzOworCWRybV9wYW5lbF9p bml0KCZjdHgtPnBhbmVsLCBkZXYsICZzNmU4YWEwX2RybV9mdW5jcyk7CiAKIAlyZXQgPSBkcm1f cGFuZWxfYWRkKCZjdHgtPnBhbmVsKTsKIAlpZiAocmV0IDwgMCkKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zZWlrby00M3d2ZjFnLmMgYi9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtc2Vpa28tNDN3dmYxZy5jCmluZGV4IDE4YjIyYjEyOTRmYi4uMDgzM2QwYzAz YWRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Vpa28tNDN3dmYx Zy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zZWlrby00M3d2ZjFnLmMKQEAg LTI3NCw5ICsyNzQsNyBAQCBzdGF0aWMgaW50IHNlaWtvX3BhbmVsX3Byb2JlKHN0cnVjdCBkZXZp Y2UgKmRldiwKIAkJCXJldHVybiAtRVBST0JFX0RFRkVSOwogCX0KIAotCWRybV9wYW5lbF9pbml0 KCZwYW5lbC0+YmFzZSk7Ci0JcGFuZWwtPmJhc2UuZGV2ID0gZGV2OwotCXBhbmVsLT5iYXNlLmZ1 bmNzID0gJnNlaWtvX3BhbmVsX2Z1bmNzOworCWRybV9wYW5lbF9pbml0KCZwYW5lbC0+YmFzZSwg ZGV2LCAmc2Vpa29fcGFuZWxfZnVuY3MpOwogCiAJZXJyID0gZHJtX3BhbmVsX2FkZCgmcGFuZWwt PmJhc2UpOwogCWlmIChlcnIgPCAwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXNoYXJwLWxxMTAxcjFzeDAxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt c2hhcnAtbHExMDFyMXN4MDEuYwppbmRleCBlOTEwYjRhZDEzMTAuLjg3YTU4Y2I0ZDk0NSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxxMTAxcjFzeDAxLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxxMTAxcjFzeDAxLmMKQEAg LTMyOSw5ICszMjksNyBAQCBzdGF0aWMgaW50IHNoYXJwX3BhbmVsX2FkZChzdHJ1Y3Qgc2hhcnBf cGFuZWwgKnNoYXJwKQogCWlmIChJU19FUlIoc2hhcnAtPmJhY2tsaWdodCkpCiAJCXJldHVybiBQ VFJfRVJSKHNoYXJwLT5iYWNrbGlnaHQpOwogCi0JZHJtX3BhbmVsX2luaXQoJnNoYXJwLT5iYXNl KTsKLQlzaGFycC0+YmFzZS5mdW5jcyA9ICZzaGFycF9wYW5lbF9mdW5jczsKLQlzaGFycC0+YmFz ZS5kZXYgPSAmc2hhcnAtPmxpbmsxLT5kZXY7CisJZHJtX3BhbmVsX2luaXQoJnNoYXJwLT5iYXNl LCAmc2hhcnAtPmxpbmsxLT5kZXYsICZzaGFycF9wYW5lbF9mdW5jcyk7CiAKIAlyZXR1cm4gZHJt X3BhbmVsX2FkZCgmc2hhcnAtPmJhc2UpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLXNoYXJwLWxzMDM3djdkdzAxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtc2hhcnAtbHMwMzd2N2R3MDEuYwppbmRleCA0NmNkOWEyNTAxMjkuLjk2ZTNkZWIwZTMw NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDM3djdk dzAxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDM3djdkdzAx LmMKQEAgLTE4NSw5ICsxODUsNyBAQCBzdGF0aWMgaW50IGxzMDM3djdkdzAxX3Byb2JlKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCXJldHVybiBQVFJfRVJSKGxjZC0+dWRfZ3Bpbyk7 CiAJfQogCi0JZHJtX3BhbmVsX2luaXQoJmxjZC0+cGFuZWwpOwotCWxjZC0+cGFuZWwuZGV2ID0g JnBkZXYtPmRldjsKLQlsY2QtPnBhbmVsLmZ1bmNzID0gJmxzMDM3djdkdzAxX2Z1bmNzOworCWRy bV9wYW5lbF9pbml0KCZsY2QtPnBhbmVsLCAmcGRldi0+ZGV2LCAmbHMwMzd2N2R3MDFfZnVuY3Mp OwogCiAJcmV0dXJuIGRybV9wYW5lbF9hZGQoJmxjZC0+cGFuZWwpOwogfQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDQzdDFsZTAxLmMgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMwNDN0MWxlMDEuYwppbmRleCBjMzlhYmRlOWY5 ZjEuLmZmYTg0NGVlODJhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LXNoYXJwLWxzMDQzdDFsZTAxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNo YXJwLWxzMDQzdDFsZTAxLmMKQEAgLTI2NCw5ICsyNjQsOCBAQCBzdGF0aWMgaW50IHNoYXJwX250 X3BhbmVsX2FkZChzdHJ1Y3Qgc2hhcnBfbnRfcGFuZWwgKnNoYXJwX250KQogCWlmIChJU19FUlIo c2hhcnBfbnQtPmJhY2tsaWdodCkpCiAJCXJldHVybiBQVFJfRVJSKHNoYXJwX250LT5iYWNrbGln aHQpOwogCi0JZHJtX3BhbmVsX2luaXQoJnNoYXJwX250LT5iYXNlKTsKLQlzaGFycF9udC0+YmFz ZS5mdW5jcyA9ICZzaGFycF9udF9wYW5lbF9mdW5jczsKLQlzaGFycF9udC0+YmFzZS5kZXYgPSAm c2hhcnBfbnQtPmRzaS0+ZGV2OworCWRybV9wYW5lbF9pbml0KCZzaGFycF9udC0+YmFzZSwgJnNo YXJwX250LT5kc2ktPmRldiwKKwkJICAgICAgICZzaGFycF9udF9wYW5lbF9mdW5jcyk7CiAKIAly ZXR1cm4gZHJtX3BhbmVsX2FkZCgmc2hhcnBfbnQtPmJhc2UpOwogfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXNpbXBsZS5jCmluZGV4IDI4ZmE2YmE3Yjc2Ny4uYjM2YzEzMGQ1Y2YwIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jCkBAIC00NjQsOSArNDY0LDcgQEAgc3RhdGljIGlu dCBwYW5lbF9zaW1wbGVfcHJvYmUoc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBzdHJ1Y3QgcGFu ZWxfZGVzYyAqZGVzYykKIAlpZiAoIW9mX2dldF9kaXNwbGF5X3RpbWluZyhkZXYtPm9mX25vZGUs ICJwYW5lbC10aW1pbmciLCAmZHQpKQogCQlwYW5lbF9zaW1wbGVfcGFyc2VfcGFuZWxfdGltaW5n X25vZGUoZGV2LCBwYW5lbCwgJmR0KTsKIAotCWRybV9wYW5lbF9pbml0KCZwYW5lbC0+YmFzZSk7 Ci0JcGFuZWwtPmJhc2UuZGV2ID0gZGV2OwotCXBhbmVsLT5iYXNlLmZ1bmNzID0gJnBhbmVsX3Np bXBsZV9mdW5jczsKKwlkcm1fcGFuZWxfaW5pdCgmcGFuZWwtPmJhc2UsIGRldiwgJnBhbmVsX3Np bXBsZV9mdW5jcyk7CiAKIAllcnIgPSBkcm1fcGFuZWxfYWRkKCZwYW5lbC0+YmFzZSk7CiAJaWYg KGVyciA8IDApCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9u aXgtc3Q3NzAxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3NzAx LmMKaW5kZXggMDljNWQ5YTZmOWZhLi4zZjdiY2QyNGFhODEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3MDEuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3NzAxLmMKQEAgLTM2OSw3ICszNjksNyBAQCBzdGF0 aWMgaW50IHN0NzcwMV9kc2lfcHJvYmUoc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpKQogCWlm IChJU19FUlIoc3Q3NzAxLT5iYWNrbGlnaHQpKQogCQlyZXR1cm4gUFRSX0VSUihzdDc3MDEtPmJh Y2tsaWdodCk7CiAKLQlkcm1fcGFuZWxfaW5pdCgmc3Q3NzAxLT5wYW5lbCk7CisJZHJtX3BhbmVs X2luaXQoJnN0NzcwMS0+cGFuZWwsICZkc2ktPmRldiwgJnN0NzcwMV9mdW5jcyk7CiAKIAkvKioK IAkgKiBPbmNlIHNsZWVwIG91dCBoYXMgYmVlbiBpc3N1ZWQsIFNUNzcwMSBJQyByZXF1aXJlZCB0 byB3YWl0IDEyMG1zCkBAIC0zODEsOCArMzgxLDYgQEAgc3RhdGljIGludCBzdDc3MDFfZHNpX3By b2JlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKIAkgKiB0czg1NTBiIGFuZCB0aGVyZSBp cyBubyB2YWxpZCBkb2N1bWVudGF0aW9uIGZvciB0aGF0LgogCSAqLwogCXN0NzcwMS0+c2xlZXBf ZGVsYXkgPSAxMjAgKyBkZXNjLT5wYW5lbF9zbGVlcF9kZWxheTsKLQlzdDc3MDEtPnBhbmVsLmZ1 bmNzID0gJnN0NzcwMV9mdW5jczsKLQlzdDc3MDEtPnBhbmVsLmRldiA9ICZkc2ktPmRldjsKIAog CXJldCA9IGRybV9wYW5lbF9hZGQoJnN0NzcwMS0+cGFuZWwpOwogCWlmIChyZXQgPCAwKQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4LXN0Nzc4OXYuYyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3ODl2LmMKaW5kZXggM2Iy NjEyYWU5MzFlLi4yZWVhZWVlMGRkN2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1zaXRyb25peC1zdDc3ODl2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXNpdHJvbml4LXN0Nzc4OXYuYwpAQCAtMzgxLDkgKzM4MSw3IEBAIHN0YXRpYyBpbnQgc3Q3 Nzg5dl9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQogCXNwaV9zZXRfZHJ2ZGF0YShzcGks IGN0eCk7CiAJY3R4LT5zcGkgPSBzcGk7CiAKLQlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCk7 Ci0JY3R4LT5wYW5lbC5kZXYgPSAmc3BpLT5kZXY7Ci0JY3R4LT5wYW5lbC5mdW5jcyA9ICZzdDc3 ODl2X2RybV9mdW5jczsKKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgJnNwaS0+ZGV2LCAm c3Q3Nzg5dl9kcm1fZnVuY3MpOwogCiAJY3R4LT5wb3dlciA9IGRldm1fcmVndWxhdG9yX2dldCgm c3BpLT5kZXYsICJwb3dlciIpOwogCWlmIChJU19FUlIoY3R4LT5wb3dlcikpCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc29ueS1hY3g1NjVha20uYyBiL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1zb255LWFjeDU2NWFrbS5jCmluZGV4IDMwNTI1OWI1ODc2Ny4u NWEyNzcyYjA0Yjc1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc29u eS1hY3g1NjVha20uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc29ueS1hY3g1 NjVha20uYwpAQCAtNjQ4LDkgKzY0OCw3IEBAIHN0YXRpYyBpbnQgYWN4NTY1YWttX3Byb2JlKHN0 cnVjdCBzcGlfZGV2aWNlICpzcGkpCiAJCQlyZXR1cm4gcmV0OwogCX0KIAotCWRybV9wYW5lbF9p bml0KCZsY2QtPnBhbmVsKTsKLQlsY2QtPnBhbmVsLmRldiA9ICZsY2QtPnNwaS0+ZGV2OwotCWxj ZC0+cGFuZWwuZnVuY3MgPSAmYWN4NTY1YWttX2Z1bmNzOworCWRybV9wYW5lbF9pbml0KCZsY2Qt PnBhbmVsLCAmbGNkLT5zcGktPmRldiwgJmFjeDU2NWFrbV9mdW5jcyk7CiAKIAlyZXQgPSBkcm1f cGFuZWxfYWRkKCZsY2QtPnBhbmVsKTsKIAlpZiAocmV0IDwgMCkgewpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDAyOHR0ZWMxLmMgYi9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtdHBvLXRkMDI4dHRlYzEuYwppbmRleCBkN2IyZTM0NjI2ZWYuLjhiMTE0 OGQ3NGU3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDAy OHR0ZWMxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDAyOHR0ZWMx LmMKQEAgLTM0Nyw5ICszNDcsNyBAQCBzdGF0aWMgaW50IHRkMDI4dHRlYzFfcHJvYmUoc3RydWN0 IHNwaV9kZXZpY2UgKnNwaSkKIAkJcmV0dXJuIHJldDsKIAl9CiAKLQlkcm1fcGFuZWxfaW5pdCgm bGNkLT5wYW5lbCk7Ci0JbGNkLT5wYW5lbC5kZXYgPSAmbGNkLT5zcGktPmRldjsKLQlsY2QtPnBh bmVsLmZ1bmNzID0gJnRkMDI4dHRlYzFfZnVuY3M7CisJZHJtX3BhbmVsX2luaXQoJmxjZC0+cGFu ZWwsICZsY2QtPnNwaS0+ZGV2LCAmdGQwMjh0dGVjMV9mdW5jcyk7CiAKIAlyZXR1cm4gZHJtX3Bh bmVsX2FkZCgmbGNkLT5wYW5lbCk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtdHBvLXRkMDQzbXRlYTEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10 cG8tdGQwNDNtdGVhMS5jCmluZGV4IDg0MzcwNTYyOTEwZi4uYmJmMGMyZTFjOTBmIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRkMDQzbXRlYTEuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRkMDQzbXRlYTEuYwpAQCAtNDU4LDkgKzQ1 OCw3IEBAIHN0YXRpYyBpbnQgdGQwNDNtdGVhMV9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3Bp KQogCQlyZXR1cm4gcmV0OwogCX0KIAotCWRybV9wYW5lbF9pbml0KCZsY2QtPnBhbmVsKTsKLQls Y2QtPnBhbmVsLmRldiA9ICZsY2QtPnNwaS0+ZGV2OwotCWxjZC0+cGFuZWwuZnVuY3MgPSAmdGQw NDNtdGVhMV9mdW5jczsKKwlkcm1fcGFuZWxfaW5pdCgmbGNkLT5wYW5lbCwgJmxjZC0+c3BpLT5k ZXYsICZ0ZDA0M210ZWExX2Z1bmNzKTsKIAogCXJldCA9IGRybV9wYW5lbF9hZGQoJmxjZC0+cGFu ZWwpOwogCWlmIChyZXQgPCAwKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtdHBvLXRwZzExMC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10cGcx MTAuYwppbmRleCA3MTU5MWU1ZjU5MzguLjI1NTI0YzI2YjI0MSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10cGcxMTAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtdHBvLXRwZzExMC5jCkBAIC00NTcsOSArNDU3LDcgQEAgc3RhdGljIGludCB0 cGcxMTBfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKIAlpZiAocmV0KQogCQlyZXR1cm4g cmV0OwogCi0JZHJtX3BhbmVsX2luaXQoJnRwZy0+cGFuZWwpOwotCXRwZy0+cGFuZWwuZGV2ID0g ZGV2OwotCXRwZy0+cGFuZWwuZnVuY3MgPSAmdHBnMTEwX2RybV9mdW5jczsKKwlkcm1fcGFuZWxf aW5pdCgmdHBnLT5wYW5lbCwgZGV2LCAmdHBnMTEwX2RybV9mdW5jcyk7CiAJc3BpX3NldF9kcnZk YXRhKHNwaSwgdHBnKTsKIAogCXJldHVybiBkcm1fcGFuZWxfYWRkKCZ0cGctPnBhbmVsKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cnVseS1udDM1NTk3LmMgYi9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHJ1bHktbnQzNTU5Ny5jCmluZGV4IDc3ZTEzMTFi N2M2OS4uYzM3MTRiZTc4ODM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtdHJ1bHktbnQzNTU5Ny5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cnVs eS1udDM1NTk3LmMKQEAgLTUxOCw5ICs1MTgsNyBAQCBzdGF0aWMgaW50IHRydWx5X250MzU1OTdf cGFuZWxfYWRkKHN0cnVjdCB0cnVseV9udDM1NTk3ICpjdHgpCiAJLyogZHVhbCBwb3J0ICovCiAJ Z3Bpb2Rfc2V0X3ZhbHVlKGN0eC0+bW9kZV9ncGlvLCAwKTsKIAotCWRybV9wYW5lbF9pbml0KCZj dHgtPnBhbmVsKTsKLQljdHgtPnBhbmVsLmRldiA9IGRldjsKLQljdHgtPnBhbmVsLmZ1bmNzID0g JnRydWx5X250MzU1OTdfZHJtX2Z1bmNzOworCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBk ZXYsICZ0cnVseV9udDM1NTk3X2RybV9mdW5jcyk7CiAJZHJtX3BhbmVsX2FkZCgmY3R4LT5wYW5l bCk7CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oIGIv aW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgKaW5kZXggNjI0YmQxNWVjZmFiLi40YjljNjU2ZGMxNWUg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oCisrKyBiL2luY2x1ZGUvZHJtL2Ry bV9wYW5lbC5oCkBAIC0xNDcsNyArMTQ3LDggQEAgc3RydWN0IGRybV9wYW5lbCB7CiAJc3RydWN0 IGxpc3RfaGVhZCBsaXN0OwogfTsKIAotdm9pZCBkcm1fcGFuZWxfaW5pdChzdHJ1Y3QgZHJtX3Bh bmVsICpwYW5lbCk7Cit2b2lkIGRybV9wYW5lbF9pbml0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVs LCBzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNz ICpmdW5jcyk7CiAKIGludCBkcm1fcGFuZWxfYWRkKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsK IHZvaWQgZHJtX3BhbmVsX3JlbW92ZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCk7Ci0tIApSZWdh cmRzLAoKTGF1cmVudCBQaW5jaGFydAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVs