From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: [PATCH v3 1/4] drm/panel: Make of_drm_find_panel() return an ERR_PTR() instead of NULL Date: Wed, 9 May 2018 15:00:39 +0200 Message-ID: <20180509130042.9435-2-boris.brezillon@bootlin.com> References: <20180509130042.9435-1-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id AAA386E002 for ; Wed, 9 May 2018 13:00:49 +0000 (UTC) In-Reply-To: <20180509130042.9435-1-boris.brezillon@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding , dri-devel@lists.freedesktop.org, Eric Anholt Cc: David Airlie , Boris Brezillon List-Id: dri-devel@lists.freedesktop.org UmlnaHQgbm93LCB0aGUgRFJNIHBhbmVsIGxvZ2ljIHJldHVybnMgTlVMTCB3aGVuIGEgcGFuZWwg cG9pbnRpbmcgdG8KdGhlIHBhc3NlZCBPRiBub2RlIGlzIG5vdCBwcmVzZW50IGluIHRoZSBsaXN0 IG9mIHJlZ2lzdGVyZWQgcGFuZWxzLgoKTW9zdCBkcml2ZXJzIGludGVycHJldCB0aGlzIE5VTEwg dmFsdWUgYXMgLUVQUk9CRV9ERUZFUiwgYnV0IHdlIGFyZQphYm91dCB0byBtb2RpZnkgdGhlIHNl bWFudGljIG9mIG9mX2RybV9maW5kX3BhbmVsKCkgYW5kIGxldCB0aGUKZnJhbWV3b3JrIHJldHVy biAtRU5PREVWIHdoZW4gdGhlIGRldmljZSBub2RlIHdlJ3JlIHBvaW50aW5nIHRvIGhhcwphIHN0 YXR1cyBwcm9wZXJ0eSB0aGF0IGlzIG5vdCBlcXVhbCB0byAib2theSIgb3IgIm9rIi4KCkxldCdz IGZpcnN0IHBhdGNoIHRoZSBvZl9kcm1fZmluZF9wYW5lbCgpIGltcGxlbWVudGF0aW9uIHRvIHJl dHVybgpFUlJfUFRSKC1FUFJPQkVfREVGRVIpIGluc3RlYWQgb2YgTlVMTCBhbmQgcGF0Y2ggYWxs IGNhbGxlcnMgdG8gcmVwbGFjZQp0aGUgJyFwYW5lbCcgY2hlY2sgYnkgYW4gJ0lTX0VSUihwYW5l bCknIG9uZS4KClNpZ25lZC1vZmYtYnk6IEJvcmlzIEJyZXppbGxvbiA8Ym9yaXMuYnJlemlsbG9u QGJvb3RsaW4uY29tPgotLS0KQ2hhbmdlcyBpbiB2MzoKLSBSZXdvcmsgZXJyb3IgaGFuZGxpbmcg aW4gYSBmZXcgZHJpdmVycyBhcyBzdWdnZXN0ZWQgYnkgVGhpZXJyeQotIFJldHVybiAtRU5PREVW IHdoZW4gQ09ORklHX09GIG9yIENPTkZJR19EUk1fUEFORUwgYXJlIG5vdCBlbmFibGVkCgpDaGFu Z2VzIGluIHYyOgotIE5ldyBjb21taXQKLS0tCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2NkbnMt ZHNpLmMgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2x2 ZHMtZW5jb2Rlci5jICAgICAgICAgICAgICAgfCA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1f b2YuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQgKysrLQogZHJpdmVycy9ncHUvZHJt L2RybV9wYW5lbC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgNiArKysrLS0KIGRyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RwLmMgICAgICAgICAgICAgICAgICB8IDYgKysrKy0tCiBk cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHBpLmMgICAgICAgICAgICAgfCA0ICsr LS0KIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kc2kuYyAgICAgICAgICAgICB8 IDMgKysrCiBkcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9yZ2IuYyAgICAgICAg ICAgfCA1ICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9tZHA0X2xjZGNfZW5j b2Rlci5jICAgfCA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfbHZk c19jb25uZWN0b3IuYyB8IDUgKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9ob3N0 LmMgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJf bHZkcy5jICAgICAgICAgICAgICAgICB8IDQgKystLQogZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L2R3LW1pcGktZHNpLmMgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy9ncHUvZHJtL3N0aS9z dGlfZHZvLmMgICAgICAgICAgICAgICAgICAgICAgIHwgNCArKystCiBkcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNmlfbWlwaV9kc2kuYyAgICAgICAgICAgICAgfCA0ICsrLS0KIGRyaXZlcnMvZ3B1 L2RybS90ZWdyYS9kc2kuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDMgKysrCiBkcml2ZXJz L2dwdS9kcm0vdGVncmEvb3V0cHV0LmMgICAgICAgICAgICAgICAgICAgICAgfCA0ICsrLS0KIGlu Y2x1ZGUvZHJtL2RybV9wYW5lbC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0K IDE4IGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvY2Rucy1kc2kuYyBiL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvY2Rucy1kc2kuYwppbmRleCBjMjU1ZmMzZTFiZTUuLjJjNTk5MWNmNTM5NyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9jZG5zLWRzaS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvY2Rucy1kc2kuYwpAQCAtMTE1Miw3ICsxMTUyLDcgQEAgc3RhdGlj IGludCBjZG5zX2RzaV9hdHRhY2goc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsCiAJCW5wID0g b2Zfbm9kZV9nZXQoZGV2LT5kZXYub2Zfbm9kZSk7CiAKIAlwYW5lbCA9IG9mX2RybV9maW5kX3Bh bmVsKG5wKTsKLQlpZiAocGFuZWwpIHsKKwlpZiAoIUlTX0VSUihwYW5lbCkpIHsKIAkJYnJpZGdl ID0gZHJtX3BhbmVsX2JyaWRnZV9hZGQocGFuZWwsIERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kpOwog CX0gZWxzZSB7CiAJCWJyaWRnZSA9IG9mX2RybV9maW5kX2JyaWRnZShkZXYtPmRldi5vZl9ub2Rl KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbHZkcy1lbmNvZGVyLmMgYi9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL2x2ZHMtZW5jb2Rlci5jCmluZGV4IDc1YjBkM2Y2ZTRkZS4u ZjU2YzkyZjdhZjdjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2x2ZHMtZW5j b2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbHZkcy1lbmNvZGVyLmMKQEAgLTY4 LDkgKzY4LDkgQEAgc3RhdGljIGludCBsdmRzX2VuY29kZXJfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKIAogCXBhbmVsID0gb2ZfZHJtX2ZpbmRfcGFuZWwocGFuZWxfbm9kZSk7 CiAJb2Zfbm9kZV9wdXQocGFuZWxfbm9kZSk7Ci0JaWYgKCFwYW5lbCkgeworCWlmIChJU19FUlIo cGFuZWwpKSB7CiAJCWRldl9kYmcoJnBkZXYtPmRldiwgInBhbmVsIG5vdCBmb3VuZCwgZGVmZXJy aW5nIHByb2JlXG4iKTsKLQkJcmV0dXJuIC1FUFJPQkVfREVGRVI7CisJCXJldHVybiBQVFJfRVJS KHBhbmVsKTsKIAl9CiAKIAlsdmRzX2VuY29kZXItPnBhbmVsX2JyaWRnZSA9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX29mLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX29mLmMKaW5k ZXggMWZlMTIyNDYxMjk4Li44MWQzZjc2YzQzZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fb2YuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX29mLmMKQEAgLTI0MCw4ICsyNDAs MTAgQEAgaW50IGRybV9vZl9maW5kX3BhbmVsX29yX2JyaWRnZShjb25zdCBzdHJ1Y3QgZGV2aWNl X25vZGUgKm5wLAogCiAJaWYgKHBhbmVsKSB7CiAJCSpwYW5lbCA9IG9mX2RybV9maW5kX3BhbmVs KHJlbW90ZSk7Ci0JCWlmICgqcGFuZWwpCisJCWlmICghSVNfRVJSKCpwYW5lbCkpCiAJCQlyZXQg PSAwOworCQllbHNlCisJCQkqcGFuZWwgPSBOVUxMOwogCX0KIAogCS8qIE5vIHBhbmVsIGZvdW5k IHlldCwgY2hlY2sgZm9yIGEgYnJpZGdlIG5leHQuICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMKaW5kZXggMzA4 ZDQ0MmE1MzFiLi40OTY0MmQ3OWRmOGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f cGFuZWwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMKQEAgLTEzNSw3ICsxMzUs OSBAQCBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9kZXRhY2gpOwogICogdHJlZSBub2RlLiBJZiBh IG1hdGNoaW5nIHBhbmVsIGlzIGZvdW5kLCByZXR1cm4gYSBwb2ludGVyIHRvIGl0LgogICoKICAq IFJldHVybjogQSBwb2ludGVyIHRvIHRoZSBwYW5lbCByZWdpc3RlcmVkIGZvciB0aGUgc3BlY2lm aWVkIGRldmljZSB0cmVlCi0gKiBub2RlIG9yIE5VTEwgaWYgbm8gcGFuZWwgbWF0Y2hpbmcgdGhl IGRldmljZSB0cmVlIG5vZGUgY2FuIGJlIGZvdW5kLgorICogbm9kZSBvciBhbiBFUlJfUFRSKCkg aWYgbm8gcGFuZWwgbWF0Y2hpbmcgdGhlIGRldmljZSB0cmVlIG5vZGUgY2FuIGJlIGZvdW5kLgor ICogVGhlIG9ubHkgZXJyb3IgdGhhdCBjYW4gYmUgcmVwb3J0ZWQgaXMgLUVQUk9CRV9ERUZFUiwg bWVhbmluZyB0aGF0IHRoZSBwYW5lbAorICogZGV2aWNlIGhhcyBub3QgYmVlbiBwcm9iZWQgeWV0 LCBhbmQgdGhlIGNhbGxlciBzaG91bGQgcmV0cnkgbGF0ZXIuCiAgKi8KIHN0cnVjdCBkcm1fcGFu ZWwgKm9mX2RybV9maW5kX3BhbmVsKGNvbnN0IHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCiB7CkBA IC0xNTEsNyArMTUzLDcgQEAgc3RydWN0IGRybV9wYW5lbCAqb2ZfZHJtX2ZpbmRfcGFuZWwoY29u c3Qgc3RydWN0IGRldmljZV9ub2RlICpucCkKIAl9CiAKIAltdXRleF91bmxvY2soJnBhbmVsX2xv Y2spOwotCXJldHVybiBOVUxMOworCXJldHVybiBFUlJfUFRSKC1FUFJPQkVfREVGRVIpOwogfQog RVhQT1JUX1NZTUJPTChvZl9kcm1fZmluZF9wYW5lbCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19kcC5jCmluZGV4IDg2MzMwZjM5Njc4NC4uYWY3YWIxY2ViNTBmIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX2RwLmMKQEAgLTIzMiw5ICsyMzIsMTEgQEAgc3RhdGljIGludCBleHlu b3NfZHBfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlucCA9IG9mX3BhcnNl X3BoYW5kbGUoZGV2LT5vZl9ub2RlLCAicGFuZWwiLCAwKTsKIAlpZiAobnApIHsKIAkJZHAtPnBs YXRfZGF0YS5wYW5lbCA9IG9mX2RybV9maW5kX3BhbmVsKG5wKTsKKwogCQlvZl9ub2RlX3B1dChu cCk7Ci0JCWlmICghZHAtPnBsYXRfZGF0YS5wYW5lbCkKLQkJCXJldHVybiAtRVBST0JFX0RFRkVS OworCQlpZiAoSVNfRVJSKGRwLT5wbGF0X2RhdGEucGFuZWwpKQorCQkJcmV0dXJuIFBUUl9FUlIo ZHAtPnBsYXRfZGF0YS5wYW5lbCk7CisKIAkJZ290byBvdXQ7CiAJfQogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHBpLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZXh5bm9zL2V4eW5vc19kcm1fZHBpLmMKaW5kZXggNjY5NDVlMGRjNTdmLi41ODg3ZTg1MjJiNzAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcGkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHBpLmMKQEAgLTI0MCw4ICsyNDAs OCBAQCBzdHJ1Y3QgZHJtX2VuY29kZXIgKmV4eW5vc19kcGlfcHJvYmUoc3RydWN0IGRldmljZSAq ZGV2KQogCiAJaWYgKGN0eC0+cGFuZWxfbm9kZSkgewogCQljdHgtPnBhbmVsID0gb2ZfZHJtX2Zp bmRfcGFuZWwoY3R4LT5wYW5lbF9ub2RlKTsKLQkJaWYgKCFjdHgtPnBhbmVsKQotCQkJcmV0dXJu IEVSUl9QVFIoLUVQUk9CRV9ERUZFUik7CisJCWlmIChJU19FUlIoY3R4LT5wYW5lbCkpCisJCQly ZXR1cm4gRVJSX0NBU1QoY3R4LT5wYW5lbCk7CiAJfQogCiAJcmV0dXJuICZjdHgtPmVuY29kZXI7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHNpLmMgYi9k cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHNpLmMKaW5kZXggNzkwNGZmYTlhYmZi Li4yN2Q0MGRhNzcxODEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHNpLmMK QEAgLTE1MzksNiArMTUzOSw5IEBAIHN0YXRpYyBpbnQgZXh5bm9zX2RzaV9ob3N0X2F0dGFjaChz dHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwKIAlkc2ktPmZvcm1hdCA9IGRldmljZS0+Zm9ybWF0 OwogCWRzaS0+bW9kZV9mbGFncyA9IGRldmljZS0+bW9kZV9mbGFnczsKIAlkc2ktPnBhbmVsID0g b2ZfZHJtX2ZpbmRfcGFuZWwoZGV2aWNlLT5kZXYub2Zfbm9kZSk7CisJaWYgKElTX0VSUihkc2kt PnBhbmVsKSkKKwkJZHNpLT5wYW5lbCA9IE5VTEw7CisKIAlpZiAoZHNpLT5wYW5lbCkgewogCQlk cm1fcGFuZWxfYXR0YWNoKGRzaS0+cGFuZWwsICZkc2ktPmNvbm5lY3Rvcik7CiAJCWRzaS0+Y29u bmVjdG9yLnN0YXR1cyA9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcmdiLmMgYi9kcml2ZXJzL2dwdS9k cm0vZnNsLWRjdS9mc2xfZGN1X2RybV9yZ2IuYwppbmRleCBjNTQ4MDZkMDhkZDcuLjY4MWUyYTA3 ZDAzYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcmdi LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcmdiLmMKQEAgLTE0 OCw4ICsxNDgsOSBAQCBpbnQgZnNsX2RjdV9jcmVhdGVfb3V0cHV0cyhzdHJ1Y3QgZnNsX2RjdV9k cm1fZGV2aWNlICpmc2xfZGV2KQogCWlmIChwYW5lbF9ub2RlKSB7CiAJCWZzbF9kZXYtPmNvbm5l Y3Rvci5wYW5lbCA9IG9mX2RybV9maW5kX3BhbmVsKHBhbmVsX25vZGUpOwogCQlvZl9ub2RlX3B1 dChwYW5lbF9ub2RlKTsKLQkJaWYgKCFmc2xfZGV2LT5jb25uZWN0b3IucGFuZWwpCi0JCQlyZXR1 cm4gLUVQUk9CRV9ERUZFUjsKKwkJaWYgKElTX0VSUihmc2xfZGV2LT5jb25uZWN0b3IucGFuZWwp KQorCQkJcmV0dXJuIFBUUl9FUlIoZnNsX2Rldi0+Y29ubmVjdG9yLnBhbmVsKTsKKwogCQlyZXR1 cm4gZnNsX2RjdV9hdHRhY2hfcGFuZWwoZnNsX2RldiwgZnNsX2Rldi0+Y29ubmVjdG9yLnBhbmVs KTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRf bGNkY19lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9tZHA0X2xjZGNf ZW5jb2Rlci5jCmluZGV4IDRhNjQ1OTI2ZWRiNy4uMmJmYjM5MDgyZjU0IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9tZHA0X2xjZGNfZW5jb2Rlci5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfbGNkY19lbmNvZGVyLmMKQEAgLTM0MSw3 ICszNDEsNyBAQCBzdGF0aWMgdm9pZCBtZHA0X2xjZGNfZW5jb2Rlcl9kaXNhYmxlKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlcikKIAltZHA0X3dyaXRlKG1kcDRfa21zLCBSRUdfTURQNF9MQ0RD X0VOQUJMRSwgMCk7CiAKIAlwYW5lbCA9IG9mX2RybV9maW5kX3BhbmVsKG1kcDRfbGNkY19lbmNv ZGVyLT5wYW5lbF9ub2RlKTsKLQlpZiAocGFuZWwpIHsKKwlpZiAoIUlTX0VSUihwYW5lbCkpIHsK IAkJZHJtX3BhbmVsX2Rpc2FibGUocGFuZWwpOwogCQlkcm1fcGFuZWxfdW5wcmVwYXJlKHBhbmVs KTsKIAl9CkBAIC00MTAsNyArNDEwLDcgQEAgc3RhdGljIHZvaWQgbWRwNF9sY2RjX2VuY29kZXJf ZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAkJZGV2X2VycihkZXYtPmRldiwg ImZhaWxlZCB0byBlbmFibGUgbGNkY19jbGs6ICVkXG4iLCByZXQpOwogCiAJcGFuZWwgPSBvZl9k cm1fZmluZF9wYW5lbChtZHA0X2xjZGNfZW5jb2Rlci0+cGFuZWxfbm9kZSk7Ci0JaWYgKHBhbmVs KSB7CisJaWYgKCFJU19FUlIocGFuZWwpKSB7CiAJCWRybV9wYW5lbF9wcmVwYXJlKHBhbmVsKTsK IAkJZHJtX3BhbmVsX2VuYWJsZShwYW5lbCk7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jCmluZGV4IGUzYjFjODZiN2FhZS4u MzJmYmE1NjY0YjBlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9t ZHA0X2x2ZHNfY29ubmVjdG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQv bWRwNF9sdmRzX2Nvbm5lY3Rvci5jCkBAIC0zNCw5ICszNCwxMiBAQCBzdGF0aWMgZW51bSBkcm1f Y29ubmVjdG9yX3N0YXR1cyBtZHA0X2x2ZHNfY29ubmVjdG9yX2RldGVjdCgKIAlzdHJ1Y3QgbWRw NF9sdmRzX2Nvbm5lY3RvciAqbWRwNF9sdmRzX2Nvbm5lY3RvciA9CiAJCQl0b19tZHA0X2x2ZHNf Y29ubmVjdG9yKGNvbm5lY3Rvcik7CiAKLQlpZiAoIW1kcDRfbHZkc19jb25uZWN0b3ItPnBhbmVs KQorCWlmICghbWRwNF9sdmRzX2Nvbm5lY3Rvci0+cGFuZWwpIHsKIAkJbWRwNF9sdmRzX2Nvbm5l Y3Rvci0+cGFuZWwgPQogCQkJb2ZfZHJtX2ZpbmRfcGFuZWwobWRwNF9sdmRzX2Nvbm5lY3Rvci0+ cGFuZWxfbm9kZSk7CisJCWlmIChJU19FUlIobWRwNF9sdmRzX2Nvbm5lY3Rvci0+cGFuZWwpKQor CQkJbWRwNF9sdmRzX2Nvbm5lY3Rvci0+cGFuZWwgPSBOVUxMOworCX0KIAogCXJldHVybiBtZHA0 X2x2ZHNfY29ubmVjdG9yLT5wYW5lbCA/CiAJCQljb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZCA6 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfaG9zdC5jIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kc2kvZHNpX2hvc3QuYwppbmRleCA3YTAzYTk0ODk3MDguLmZmZmM4MGI3 Mzk2NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX2hvc3QuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfaG9zdC5jCkBAIC0xODgxLDcgKzE4ODEsNyBA QCBpbnQgbXNtX2RzaV9ob3N0X3JlZ2lzdGVyKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LCBi b29sIGNoZWNrX2RlZmVyKQogCQkgKiBvdXRwdXQKIAkJICovCiAJCWlmIChjaGVja19kZWZlciAm JiBtc21faG9zdC0+ZGV2aWNlX25vZGUpIHsKLQkJCWlmICghb2ZfZHJtX2ZpbmRfcGFuZWwobXNt X2hvc3QtPmRldmljZV9ub2RlKSkKKwkJCWlmIChJU19FUlIob2ZfZHJtX2ZpbmRfcGFuZWwobXNt X2hvc3QtPmRldmljZV9ub2RlKSkpCiAJCQkJaWYgKCFvZl9kcm1fZmluZF9icmlkZ2UobXNtX2hv c3QtPmRldmljZV9ub2RlKSkKIAkJCQkJcmV0dXJuIC1FUFJPQkVfREVGRVI7CiAJCX0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jIGIvZHJpdmVycy9ncHUv ZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMKaW5kZXggM2QyZDNiYmQxMzQyLi5jZTdmYjAwOTA5YzQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCkBAIC00MzEsOCArNDMxLDggQEAgc3Rh dGljIGludCByY2FyX2x2ZHNfcGFyc2VfZHQoc3RydWN0IHJjYXJfbHZkcyAqbHZkcykKIAkJCXJl dCA9IC1FUFJPQkVfREVGRVI7CiAJfSBlbHNlIHsKIAkJbHZkcy0+cGFuZWwgPSBvZl9kcm1fZmlu ZF9wYW5lbChyZW1vdGUpOwotCQlpZiAoIWx2ZHMtPnBhbmVsKQotCQkJcmV0ID0gLUVQUk9CRV9E RUZFUjsKKwkJaWYgKElTX0VSUihsdmRzLT5wYW5lbCkpCisJCQlyZXQgPSBQVFJfRVJSKGx2ZHMt PnBhbmVsKTsKIAl9CiAKIGRvbmU6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvZHctbWlwaS1kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRzaS5j CmluZGV4IGQ1M2Q1YTA5NTQ3Zi4uMDE2NDJhYWY2MTI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvZHctbWlwaS1kc2kuYwpAQCAtNTk1LDcgKzU5NSw3IEBAIHN0YXRpYyBpbnQgZHdfbWlwaV9k c2lfaG9zdF9hdHRhY2goc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsCiAJZHNpLT5mb3JtYXQg PSBkZXZpY2UtPmZvcm1hdDsKIAlkc2ktPm1vZGVfZmxhZ3MgPSBkZXZpY2UtPm1vZGVfZmxhZ3M7 CiAJZHNpLT5wYW5lbCA9IG9mX2RybV9maW5kX3BhbmVsKGRldmljZS0+ZGV2Lm9mX25vZGUpOwot CWlmIChkc2ktPnBhbmVsKQorCWlmICghSVNfRVJSKGRzaS0+cGFuZWwpKQogCQlyZXR1cm4gZHJt X3BhbmVsX2F0dGFjaChkc2ktPnBhbmVsLCAmZHNpLT5jb25uZWN0b3IpOwogCiAJcmV0dXJuIC1F SU5WQUw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYyBiL2RyaXZl cnMvZ3B1L2RybS9zdGkvc3RpX2R2by5jCmluZGV4IGE1OTc5Y2QyNWNjNy4uMDMwZGE1NWE4ZDMw IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vc3RpL3N0aV9kdm8uYwpAQCAtMzg3LDcgKzM4Nyw5IEBAIHN0aV9kdm9fY29ubmVj dG9yX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQog CiAJaWYgKCFkdm8tPnBhbmVsKSB7CiAJCWR2by0+cGFuZWwgPSBvZl9kcm1fZmluZF9wYW5lbChk dm8tPnBhbmVsX25vZGUpOwotCQlpZiAoZHZvLT5wYW5lbCkKKwkJaWYgKElTX0VSUihkdm8tPnBh bmVsKSkKKwkJCWR2by0+cGFuZWwgPSBOVUxMOworCQllbHNlCiAJCQlkcm1fcGFuZWxfYXR0YWNo KGR2by0+cGFuZWwsIGNvbm5lY3Rvcik7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW42aV9t aXBpX2RzaS5jCmluZGV4IGJmYmY3NjFmMGMxZC4uY2UzODhkN2NlYmFhIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYwpAQCAtODEyLDggKzgxMiw4IEBAIHN0YXRpYyBpbnQg c3VuNmlfZHNpX2F0dGFjaChzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwKIAogCWRzaS0+ZGV2 aWNlID0gZGV2aWNlOwogCWRzaS0+cGFuZWwgPSBvZl9kcm1fZmluZF9wYW5lbChkZXZpY2UtPmRl di5vZl9ub2RlKTsKLQlpZiAoIWRzaS0+cGFuZWwpCi0JCXJldHVybiAtRUlOVkFMOworCWlmIChJ U19FUlIoZHNpLT5wYW5lbCkpCisJCXJldHVybiBQVFJfRVJSKGRzaS0+cGFuZWwpOwogCiAJZGV2 X2luZm8oaG9zdC0+ZGV2LCAiQXR0YWNoZWQgZGV2aWNlICVzXG4iLCBkZXZpY2UtPm5hbWUpOwog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHNpLmMgYi9kcml2ZXJzL2dwdS9k cm0vdGVncmEvZHNpLmMKaW5kZXggODdjNWQ4OWJjOWJhLi5hZDg4ZWMyMzAzMjkgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVn cmEvZHNpLmMKQEAgLTE0MTEsNiArMTQxMSw5IEBAIHN0YXRpYyBpbnQgdGVncmFfZHNpX2hvc3Rf YXR0YWNoKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAogCQlzdHJ1Y3QgdGVncmFfb3V0cHV0 ICpvdXRwdXQgPSAmZHNpLT5vdXRwdXQ7CiAKIAkJb3V0cHV0LT5wYW5lbCA9IG9mX2RybV9maW5k X3BhbmVsKGRldmljZS0+ZGV2Lm9mX25vZGUpOworCQlpZiAoSVNfRVJSKG91dHB1dC0+cGFuZWwp KQorCQkJb3V0cHV0LT5wYW5lbCA9IE5VTEw7CisKIAkJaWYgKG91dHB1dC0+cGFuZWwgJiYgb3V0 cHV0LT5jb25uZWN0b3IuZGV2KSB7CiAJCQlkcm1fcGFuZWxfYXR0YWNoKG91dHB1dC0+cGFuZWws ICZvdXRwdXQtPmNvbm5lY3Rvcik7CiAJCQlkcm1faGVscGVyX2hwZF9pcnFfZXZlbnQob3V0cHV0 LT5jb25uZWN0b3IuZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9vdXRw dXQuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9vdXRwdXQuYwppbmRleCA2NzZmZDM5NDgzNmYu LmM4ZTNjZDYzM2I1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL291dHB1dC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9vdXRwdXQuYwpAQCAtMTExLDggKzExMSw4IEBA IGludCB0ZWdyYV9vdXRwdXRfcHJvYmUoc3RydWN0IHRlZ3JhX291dHB1dCAqb3V0cHV0KQogCWlm IChwYW5lbCkgewogCQlvdXRwdXQtPnBhbmVsID0gb2ZfZHJtX2ZpbmRfcGFuZWwocGFuZWwpOwog CQlvZl9ub2RlX3B1dChwYW5lbCk7Ci0JCWlmICghb3V0cHV0LT5wYW5lbCkKLQkJCXJldHVybiAt RVBST0JFX0RFRkVSOworCQlpZiAoSVNfRVJSKG91dHB1dC0+cGFuZWwpKQorCQkJcmV0dXJuIFBU Ul9FUlIob3V0cHV0LT5wYW5lbCk7CiAJfQogCiAJb3V0cHV0LT5lZGlkID0gb2ZfZ2V0X3Byb3Bl cnR5KG91dHB1dC0+b2Zfbm9kZSwgIm52aWRpYSxlZGlkIiwgJnNpemUpOwpkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0vZHJtX3BhbmVsLmggYi9pbmNsdWRlL2RybS9kcm1fcGFuZWwuaAppbmRleCAx NGFjMjQwYTFmNjQuLjc3NzgxNDc1NWZhNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3Bh bmVsLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgKQEAgLTE5OSw3ICsxOTksNyBAQCBz dHJ1Y3QgZHJtX3BhbmVsICpvZl9kcm1fZmluZF9wYW5lbChjb25zdCBzdHJ1Y3QgZGV2aWNlX25v ZGUgKm5wKTsKICNlbHNlCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBkcm1fcGFuZWwgKm9mX2RybV9m aW5kX3BhbmVsKGNvbnN0IHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCiB7Ci0JcmV0dXJuIE5VTEw7 CisJcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7CiB9CiAjZW5kaWYKIAotLSAKMi4xNC4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK