From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: [PATCH v2 2/6] drm/panel: Make of_drm_find_panel() return an ERR_PTR() instead of NULL Date: Thu, 3 May 2018 18:40:05 +0200 Message-ID: <20180503164009.14395-3-boris.brezillon@bootlin.com> References: <20180503164009.14395-1-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180503164009.14395-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: David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org, Thierry Reding , Eric Anholt , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , devicetree@vger.kernel.org Cc: Boris Brezillon List-Id: devicetree@vger.kernel.org UmlnaHQgbm93LCB0aGUgRFJNIHBhbmVsIGxvZ2ljIHJldHVybnMgTlVMTCB3aGVuIGEgcGFuZWwg cG9pbnRpbmcgdG8KdGhlIHBhc3NlZCBPRiBub2RlIGlzIG5vdCBwcmVzZW50IGluIHRoZSBsaXN0 IG9mIHJlZ2lzdGVyZWQgcGFuZWxzLgoKTW9zdCBkcml2ZXJzIGludGVycHJldCB0aGlzIE5VTEwg dmFsdWUgYXMgLUVQUk9CRV9ERUZFUiwgYnV0IHdlIGFyZQphYm91dCB0byBtb2RpZnkgdGhlIHNl bWFudGljIG9mIG9mX2RybV9maW5kX3BhbmVsKCkgYW5kIGxldCB0aGUKZnJhbWV3b3JrIHJldHVy biAtRU5PREVWIHdoZW4gdGhlIGRldmljZSBub2RlIHdlJ3JlIHBvaW50aW5nIHRvIGhhcwphIHN0 YXR1cyBwcm9wZXJ0eSB0aGF0IGlzIG5vdCBlcXVhbCB0byAib2theSIgb3IgIm9rIi4KCkxldCdz IGZpcnN0IHBhdGNoIHRoZSBvZl9kcm1fZmluZF9wYW5lbCgpIGltcGxlbWVudGF0aW9uIHRvIHJl dHVybgpFUlJfUFRSKC1FUFJPQkVfREVGRVIpIGluc3RlYWQgb2YgTlVMTCBhbmQgcGF0Y2ggYWxs IGNhbGxlcnMgdG8gcmVwbGFjZQp0aGUgJyFwYW5lbCcgY2hlY2sgYnkgYW4gJ0lTX0VSUihwYW5l bCknIG9uZS4KClNpZ25lZC1vZmYtYnk6IEJvcmlzIEJyZXppbGxvbiA8Ym9yaXMuYnJlemlsbG9u QGJvb3RsaW4uY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvY2Rucy1kc2kuYyAgICAg ICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2x2ZHMtZW5jb2Rl ci5jICAgICAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX29mLmMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysrKystLQogZHJpdmVycy9ncHUvZHJtL2Ry bV9wYW5lbC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKy0tCiBkcml2ZXJzL2dw dS9kcm0vZXh5bm9zL2V4eW5vc19kcC5jICAgICAgICAgICAgICAgICAgfCAgOSArKysrKystLS0K IGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcGkuYyAgICAgICAgICAgICB8ICA5 ICsrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RzaS5jICAgICAg ICAgICAgIHwgIDYgKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9y Z2IuYyAgICAgICAgICAgfCAgOCArKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21k cDQvbWRwNF9sY2RjX2VuY29kZXIuYyAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jIHwgMTAgKysrKysrKy0tLQogZHJpdmVycy9n cHUvZHJtL21zbS9kc2kvZHNpX2hvc3QuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jICAgICAgICAgICAgICAgICB8ICA5ICsrKysr Ky0tLQogZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMgICAgICAgICAgICAg IHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2R2by5jICAgICAgICAgICAgICAgICAg ICAgICB8ICA3ICsrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW42aV9taXBpX2RzaS5j ICAgICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9kc2kuYyAgICAg ICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKystLQogZHJpdmVycy9ncHUvZHJtL3RlZ3JhL291 dHB1dC5jICAgICAgICAgICAgICAgICAgICAgIHwgMTggKysrKysrKysrKystLS0tLS0tCiBpbmNs dWRlL2RybS9kcm1fcGFuZWwuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQog MTggZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9jZG5zLWRzaS5jIGIvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9jZG5zLWRzaS5jCmluZGV4IGMyNTVmYzNlMWJlNS4uMmM1OTkxY2Y1Mzk3IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2NkbnMtZHNpLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9jZG5zLWRzaS5jCkBAIC0xMTUyLDcgKzExNTIsNyBAQCBzdGF0aWMg aW50IGNkbnNfZHNpX2F0dGFjaChzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwKIAkJbnAgPSBv Zl9ub2RlX2dldChkZXYtPmRldi5vZl9ub2RlKTsKIAogCXBhbmVsID0gb2ZfZHJtX2ZpbmRfcGFu ZWwobnApOwotCWlmIChwYW5lbCkgeworCWlmICghSVNfRVJSKHBhbmVsKSkgewogCQlicmlkZ2Ug PSBkcm1fcGFuZWxfYnJpZGdlX2FkZChwYW5lbCwgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7CiAJ fSBlbHNlIHsKIAkJYnJpZGdlID0gb2ZfZHJtX2ZpbmRfYnJpZGdlKGRldi0+ZGV2Lm9mX25vZGUp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9sdmRzLWVuY29kZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2UvbHZkcy1lbmNvZGVyLmMKaW5kZXggNzViMGQzZjZlNGRlLi5m NTZjOTJmN2FmN2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbHZkcy1lbmNv ZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9sdmRzLWVuY29kZXIuYwpAQCAtNjgs OSArNjgsOSBAQCBzdGF0aWMgaW50IGx2ZHNfZW5jb2Rlcl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQogCiAJcGFuZWwgPSBvZl9kcm1fZmluZF9wYW5lbChwYW5lbF9ub2RlKTsK IAlvZl9ub2RlX3B1dChwYW5lbF9ub2RlKTsKLQlpZiAoIXBhbmVsKSB7CisJaWYgKElTX0VSUihw YW5lbCkpIHsKIAkJZGV2X2RiZygmcGRldi0+ZGV2LCAicGFuZWwgbm90IGZvdW5kLCBkZWZlcnJp bmcgcHJvYmVcbiIpOwotCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsKKwkJcmV0dXJuIFBUUl9FUlIo cGFuZWwpOwogCX0KIAogCWx2ZHNfZW5jb2Rlci0+cGFuZWxfYnJpZGdlID0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fb2YuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fb2YuYwppbmRl eCAxZmUxMjI0NjEyOTguLmY0MTNmYWU2ZjZkYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9vZi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fb2YuYwpAQCAtMjM5LDkgKzIzOSwx MyBAQCBpbnQgZHJtX29mX2ZpbmRfcGFuZWxfb3JfYnJpZGdlKGNvbnN0IHN0cnVjdCBkZXZpY2Vf bm9kZSAqbnAsCiAJCXJldHVybiAtRU5PREVWOwogCiAJaWYgKHBhbmVsKSB7Ci0JCSpwYW5lbCA9 IG9mX2RybV9maW5kX3BhbmVsKHJlbW90ZSk7Ci0JCWlmICgqcGFuZWwpCisJCXN0cnVjdCBkcm1f cGFuZWwgKnRtcF9wYW5lbDsKKworCQl0bXBfcGFuZWwgPSBvZl9kcm1fZmluZF9wYW5lbChyZW1v dGUpOworCQlpZiAoIUlTX0VSUih0bXBfcGFuZWwpKSB7CisJCQkqcGFuZWwgPSB0bXBfcGFuZWw7 CiAJCQlyZXQgPSAwOworCQl9CiAJfQogCiAJLyogTm8gcGFuZWwgZm91bmQgeWV0LCBjaGVjayBm b3IgYSBicmlkZ2UgbmV4dC4gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFu ZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwppbmRleCAzMDhkNDQyYTUzMWIuLjJk OWUyNjg0YzZjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwpAQCAtMTM1LDcgKzEzNSw5IEBAIEVYUE9SVF9T WU1CT0woZHJtX3BhbmVsX2RldGFjaCk7CiAgKiB0cmVlIG5vZGUuIElmIGEgbWF0Y2hpbmcgcGFu ZWwgaXMgZm91bmQsIHJldHVybiBhIHBvaW50ZXIgdG8gaXQuCiAgKgogICogUmV0dXJuOiBBIHBv aW50ZXIgdG8gdGhlIHBhbmVsIHJlZ2lzdGVyZWQgZm9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlIHRy ZWUKLSAqIG5vZGUgb3IgTlVMTCBpZiBubyBwYW5lbCBtYXRjaGluZyB0aGUgZGV2aWNlIHRyZWUg bm9kZSBjYW4gYmUgZm91bmQuCisgKiBub2RlIG9yIGFuIEVSUl9QVFIoKSBpZiBubyBwYW5lbCBt YXRjaGluZyB0aGUgZGV2aWNlIHRyZWUgbm9kZSBjYW4gYmUgZm91bmQuCisgKiBUaGUgb25seSBl cnJvciB0aGF0IGNhbiBiZSByZXBvcnRlZCBpcyAtRVBST0JFX0RFRkVSLCBtZWFuaW5nIHRoYXQg dGhlIHBhbmVsCisgKiBkZXZpY2UgaGFzIG5vdCBiZWVuIHByb2JlZCB5ZXQsIGFuZCB0aGUgY2Fs bGVyIHNob3VsZCByZS1yZXRyeSBsYXRlci4KICAqLwogc3RydWN0IGRybV9wYW5lbCAqb2ZfZHJt X2ZpbmRfcGFuZWwoY29uc3Qgc3RydWN0IGRldmljZV9ub2RlICpucCkKIHsKQEAgLTE1MSw3ICsx NTMsNyBAQCBzdHJ1Y3QgZHJtX3BhbmVsICpvZl9kcm1fZmluZF9wYW5lbChjb25zdCBzdHJ1Y3Qg ZGV2aWNlX25vZGUgKm5wKQogCX0KIAogCW11dGV4X3VubG9jaygmcGFuZWxfbG9jayk7Ci0JcmV0 dXJuIE5VTEw7CisJcmV0dXJuIEVSUl9QVFIoLUVQUk9CRV9ERUZFUik7CiB9CiBFWFBPUlRfU1lN Qk9MKG9mX2RybV9maW5kX3BhbmVsKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2Rw LmMKaW5kZXggODYzMzBmMzk2Nzg0Li45NjJjYWQwMjc2ZTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9l eHlub3NfZHAuYwpAQCAtMjMxLDEwICsyMzEsMTMgQEAgc3RhdGljIGludCBleHlub3NfZHBfcHJv YmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkvKiBUaGlzIGlzIGZvciB0aGUgYmFj a3dhcmQgY29tcGF0aWJpbGl0eS4gKi8KIAlucCA9IG9mX3BhcnNlX3BoYW5kbGUoZGV2LT5vZl9u b2RlLCAicGFuZWwiLCAwKTsKIAlpZiAobnApIHsKLQkJZHAtPnBsYXRfZGF0YS5wYW5lbCA9IG9m X2RybV9maW5kX3BhbmVsKG5wKTsKKwkJc3RydWN0IGRybV9wYW5lbCAqcGFuZWwgPSBvZl9kcm1f ZmluZF9wYW5lbChucCk7CisKIAkJb2Zfbm9kZV9wdXQobnApOwotCQlpZiAoIWRwLT5wbGF0X2Rh dGEucGFuZWwpCi0JCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsKKwkJaWYgKElTX0VSUihwYW5lbCkp CisJCQlyZXR1cm4gUFRSX0VSUihwYW5lbCk7CisKKwkJZHAtPnBsYXRfZGF0YS5wYW5lbCA9IHBh bmVsOwogCQlnb3RvIG91dDsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX2RybV9kcGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9k cGkuYwppbmRleCA2Njk0NWUwZGM1N2YuLmU5YzdkMWMxY2Y4ZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RwaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9l eHlub3MvZXh5bm9zX2RybV9kcGkuYwpAQCAtMjM5LDkgKzIzOSwxMiBAQCBzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmV4eW5vc19kcGlfcHJvYmUoc3RydWN0IGRldmljZSAqZGV2KQogCX0KIAogCWlmIChj dHgtPnBhbmVsX25vZGUpIHsKLQkJY3R4LT5wYW5lbCA9IG9mX2RybV9maW5kX3BhbmVsKGN0eC0+ cGFuZWxfbm9kZSk7Ci0JCWlmICghY3R4LT5wYW5lbCkKLQkJCXJldHVybiBFUlJfUFRSKC1FUFJP QkVfREVGRVIpOworCQlzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCA9IG9mX2RybV9maW5kX3BhbmVs KGN0eC0+cGFuZWxfbm9kZSk7CisKKwkJaWYgKElTX0VSUihwYW5lbCkpCisJCQlyZXR1cm4gRVJS X0NBU1QocGFuZWwpOworCisJCWN0eC0+cGFuZWwgPSBwYW5lbDsKIAl9CiAKIAlyZXR1cm4gJmN0 eC0+ZW5jb2RlcjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2Ry bV9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kc2kuYwppbmRleCA3 OTA0ZmZhOWFiZmIuLjk2MjA2ZGViODZhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHJtX2RzaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV9kc2kuYwpAQCAtMTUyMCw2ICsxNTIwLDcgQEAgc3RhdGljIGludCBleHlub3NfZHNpX2hv c3RfYXR0YWNoKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAogewogCXN0cnVjdCBleHlub3Nf ZHNpICpkc2kgPSBob3N0X3RvX2RzaShob3N0KTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0g ZHNpLT5jb25uZWN0b3IuZGV2OworCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsOwogCiAJLyoKIAkg KiBUaGlzIGlzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uIGFuZCBzaG91bGQgYmUgbWFkZSBieSBtb3Jl IGdlbmVyaWMgd2F5LgpAQCAtMTUzOCw4ICsxNTM5LDkgQEAgc3RhdGljIGludCBleHlub3NfZHNp X2hvc3RfYXR0YWNoKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAogCWRzaS0+bGFuZXMgPSBk ZXZpY2UtPmxhbmVzOwogCWRzaS0+Zm9ybWF0ID0gZGV2aWNlLT5mb3JtYXQ7CiAJZHNpLT5tb2Rl X2ZsYWdzID0gZGV2aWNlLT5tb2RlX2ZsYWdzOwotCWRzaS0+cGFuZWwgPSBvZl9kcm1fZmluZF9w YW5lbChkZXZpY2UtPmRldi5vZl9ub2RlKTsKLQlpZiAoZHNpLT5wYW5lbCkgeworCXBhbmVsID0g b2ZfZHJtX2ZpbmRfcGFuZWwoZGV2aWNlLT5kZXYub2Zfbm9kZSk7CisJaWYgKCFJU19FUlIocGFu ZWwpKSB7CisJCWRzaS0+cGFuZWwgPSBwYW5lbDsKIAkJZHJtX3BhbmVsX2F0dGFjaChkc2ktPnBh bmVsLCAmZHNpLT5jb25uZWN0b3IpOwogCQlkc2ktPmNvbm5lY3Rvci5zdGF0dXMgPSBjb25uZWN0 b3Jfc3RhdHVzX2Nvbm5lY3RlZDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZnNs LWRjdS9mc2xfZGN1X2RybV9yZ2IuYyBiL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3Vf ZHJtX3JnYi5jCmluZGV4IGM1NDgwNmQwOGRkNy4uNzc1M2IzMDkzNDcyIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9yZ2IuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9yZ2IuYwpAQCAtMTQ2LDEwICsxNDYsMTIgQEAgaW50 IGZzbF9kY3VfY3JlYXRlX291dHB1dHMoc3RydWN0IGZzbF9kY3VfZHJtX2RldmljZSAqZnNsX2Rl dikKIAkvKiBUaGlzIGlzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5ICovCiAJcGFuZWxfbm9k ZSA9IG9mX3BhcnNlX3BoYW5kbGUoZnNsX2Rldi0+bnAsICJmc2wscGFuZWwiLCAwKTsKIAlpZiAo cGFuZWxfbm9kZSkgewotCQlmc2xfZGV2LT5jb25uZWN0b3IucGFuZWwgPSBvZl9kcm1fZmluZF9w YW5lbChwYW5lbF9ub2RlKTsKKwkJcGFuZWwgPSBvZl9kcm1fZmluZF9wYW5lbChwYW5lbF9ub2Rl KTsKIAkJb2Zfbm9kZV9wdXQocGFuZWxfbm9kZSk7Ci0JCWlmICghZnNsX2Rldi0+Y29ubmVjdG9y LnBhbmVsKQotCQkJcmV0dXJuIC1FUFJPQkVfREVGRVI7CisJCWlmIChJU19FUlIocGFuZWwpKQor CQkJcmV0dXJuIFBUUl9FUlIocGFuZWwpOworCisJCWZzbF9kZXYtPmNvbm5lY3Rvci5wYW5lbCA9 IHBhbmVsOwogCQlyZXR1cm4gZnNsX2RjdV9hdHRhY2hfcGFuZWwoZnNsX2RldiwgZnNsX2Rldi0+ Y29ubmVjdG9yLnBhbmVsKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9tZHA0L21kcDRfbGNkY19lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av bWRwNC9tZHA0X2xjZGNfZW5jb2Rlci5jCmluZGV4IDRhNjQ1OTI2ZWRiNy4uMmJmYjM5MDgyZjU0 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9tZHA0X2xjZGNfZW5j b2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfbGNkY19lbmNv ZGVyLmMKQEAgLTM0MSw3ICszNDEsNyBAQCBzdGF0aWMgdm9pZCBtZHA0X2xjZGNfZW5jb2Rlcl9k aXNhYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAltZHA0X3dyaXRlKG1kcDRfa21z LCBSRUdfTURQNF9MQ0RDX0VOQUJMRSwgMCk7CiAKIAlwYW5lbCA9IG9mX2RybV9maW5kX3BhbmVs KG1kcDRfbGNkY19lbmNvZGVyLT5wYW5lbF9ub2RlKTsKLQlpZiAocGFuZWwpIHsKKwlpZiAoIUlT X0VSUihwYW5lbCkpIHsKIAkJZHJtX3BhbmVsX2Rpc2FibGUocGFuZWwpOwogCQlkcm1fcGFuZWxf dW5wcmVwYXJlKHBhbmVsKTsKIAl9CkBAIC00MTAsNyArNDEwLDcgQEAgc3RhdGljIHZvaWQgbWRw NF9sY2RjX2VuY29kZXJfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAkJZGV2 X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBlbmFibGUgbGNkY19jbGs6ICVkXG4iLCByZXQpOwog CiAJcGFuZWwgPSBvZl9kcm1fZmluZF9wYW5lbChtZHA0X2xjZGNfZW5jb2Rlci0+cGFuZWxfbm9k ZSk7Ci0JaWYgKHBhbmVsKSB7CisJaWYgKCFJU19FUlIocGFuZWwpKSB7CiAJCWRybV9wYW5lbF9w cmVwYXJlKHBhbmVsKTsKIAkJZHJtX3BhbmVsX2VuYWJsZShwYW5lbCk7CiAJfQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jCmluZGV4 IGUzYjFjODZiN2FhZS4uYzdkZDcyYjQyOGY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvbWRwNC9tZHA0X2x2ZHNfY29ubmVjdG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jCkBAIC0zNCw5ICszNCwxMyBAQCBz dGF0aWMgZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBtZHA0X2x2ZHNfY29ubmVjdG9yX2RldGVj dCgKIAlzdHJ1Y3QgbWRwNF9sdmRzX2Nvbm5lY3RvciAqbWRwNF9sdmRzX2Nvbm5lY3RvciA9CiAJ CQl0b19tZHA0X2x2ZHNfY29ubmVjdG9yKGNvbm5lY3Rvcik7CiAKLQlpZiAoIW1kcDRfbHZkc19j b25uZWN0b3ItPnBhbmVsKQotCQltZHA0X2x2ZHNfY29ubmVjdG9yLT5wYW5lbCA9Ci0JCQlvZl9k cm1fZmluZF9wYW5lbChtZHA0X2x2ZHNfY29ubmVjdG9yLT5wYW5lbF9ub2RlKTsKKwlpZiAoIW1k cDRfbHZkc19jb25uZWN0b3ItPnBhbmVsKSB7CisJCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsOwor CisJCXBhbmVsID0gb2ZfZHJtX2ZpbmRfcGFuZWwobWRwNF9sdmRzX2Nvbm5lY3Rvci0+cGFuZWxf bm9kZSk7CisJCWlmICghSVNfRVJSKHBhbmVsKSkKKwkJCW1kcDRfbHZkc19jb25uZWN0b3ItPnBh bmVsID0gcGFuZWw7CisJfQogCiAJcmV0dXJuIG1kcDRfbHZkc19jb25uZWN0b3ItPnBhbmVsID8K IAkJCWNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkIDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vZHNpL2RzaV9ob3N0LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfaG9z dC5jCmluZGV4IDdhMDNhOTQ4OTcwOC4uZmZmYzgwYjczOTY2IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2RzaS9kc2lfaG9zdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNp L2RzaV9ob3N0LmMKQEAgLTE4ODEsNyArMTg4MSw3IEBAIGludCBtc21fZHNpX2hvc3RfcmVnaXN0 ZXIoc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsIGJvb2wgY2hlY2tfZGVmZXIpCiAJCSAqIG91 dHB1dAogCQkgKi8KIAkJaWYgKGNoZWNrX2RlZmVyICYmIG1zbV9ob3N0LT5kZXZpY2Vfbm9kZSkg ewotCQkJaWYgKCFvZl9kcm1fZmluZF9wYW5lbChtc21faG9zdC0+ZGV2aWNlX25vZGUpKQorCQkJ aWYgKElTX0VSUihvZl9kcm1fZmluZF9wYW5lbChtc21faG9zdC0+ZGV2aWNlX25vZGUpKSkKIAkJ CQlpZiAoIW9mX2RybV9maW5kX2JyaWRnZShtc21faG9zdC0+ZGV2aWNlX25vZGUpKQogCQkJCQly ZXR1cm4gLUVQUk9CRV9ERUZFUjsKIAkJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Jj YXItZHUvcmNhcl9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2x2ZHMuYwpp bmRleCAzZDJkM2JiZDEzNDIuLmQ3N2I4ZjhiY2Y5NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNh cl9sdmRzLmMKQEAgLTQzMCw5ICs0MzAsMTIgQEAgc3RhdGljIGludCByY2FyX2x2ZHNfcGFyc2Vf ZHQoc3RydWN0IHJjYXJfbHZkcyAqbHZkcykKIAkJaWYgKCFsdmRzLT5uZXh0X2JyaWRnZSkKIAkJ CXJldCA9IC1FUFJPQkVfREVGRVI7CiAJfSBlbHNlIHsKLQkJbHZkcy0+cGFuZWwgPSBvZl9kcm1f ZmluZF9wYW5lbChyZW1vdGUpOwotCQlpZiAoIWx2ZHMtPnBhbmVsKQotCQkJcmV0ID0gLUVQUk9C RV9ERUZFUjsKKwkJc3RydWN0IGRybV9wYW5lbCAqcGFuZWwgPSBvZl9kcm1fZmluZF9wYW5lbChy ZW1vdGUpOworCisJCWlmIChJU19FUlIocGFuZWwpKQorCQkJcmV0ID0gUFRSX0VSUihwYW5lbCk7 CisJCWVsc2UKKwkJCWx2ZHMtPnBhbmVsID0gcGFuZWw7CiAJfQogCiBkb25lOgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMgYi9kcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYwppbmRleCBkNTNkNWEwOTU0N2YuLjAxNjQyYWFmNjEy NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMKQEAgLTU5NSw3ICs1OTUs NyBAQCBzdGF0aWMgaW50IGR3X21pcGlfZHNpX2hvc3RfYXR0YWNoKHN0cnVjdCBtaXBpX2RzaV9o b3N0ICpob3N0LAogCWRzaS0+Zm9ybWF0ID0gZGV2aWNlLT5mb3JtYXQ7CiAJZHNpLT5tb2RlX2Zs YWdzID0gZGV2aWNlLT5tb2RlX2ZsYWdzOwogCWRzaS0+cGFuZWwgPSBvZl9kcm1fZmluZF9wYW5l bChkZXZpY2UtPmRldi5vZl9ub2RlKTsKLQlpZiAoZHNpLT5wYW5lbCkKKwlpZiAoIUlTX0VSUihk c2ktPnBhbmVsKSkKIAkJcmV0dXJuIGRybV9wYW5lbF9hdHRhY2goZHNpLT5wYW5lbCwgJmRzaS0+ Y29ubmVjdG9yKTsKIAogCXJldHVybiAtRUlOVkFMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3N0aS9zdGlfZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYwppbmRleCBh NTk3OWNkMjVjYzcuLjM1NzljMGUxY2ExYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0 aS9zdGlfZHZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHZvLmMKQEAgLTM4Niw5 ICszODYsMTIgQEAgc3RpX2R2b19jb25uZWN0b3JfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCiAJRFJNX0RFQlVHX0RSSVZFUigiXG4iKTsKIAogCWlm ICghZHZvLT5wYW5lbCkgewotCQlkdm8tPnBhbmVsID0gb2ZfZHJtX2ZpbmRfcGFuZWwoZHZvLT5w YW5lbF9ub2RlKTsKLQkJaWYgKGR2by0+cGFuZWwpCisJCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVs ID0gb2ZfZHJtX2ZpbmRfcGFuZWwoZHZvLT5wYW5lbF9ub2RlKTsKKworCQlpZiAoIUlTX0VSUihw YW5lbCkpIHsKKwkJCWR2by0+cGFuZWwgPSBwYW5lbDsKIAkJCWRybV9wYW5lbF9hdHRhY2goZHZv LT5wYW5lbCwgY29ubmVjdG9yKTsKKwkJfQogCX0KIAogCWlmIChkdm8tPnBhbmVsKQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjZpX21pcGlfZHNpLmMgYi9kcml2ZXJzL2dw dS9kcm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYwppbmRleCBiZmJmNzYxZjBjMWQuLmNlMzg4ZDdj ZWJhYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjZpX21pcGlfZHNpLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjZpX21pcGlfZHNpLmMKQEAgLTgxMiw4ICs4 MTIsOCBAQCBzdGF0aWMgaW50IHN1bjZpX2RzaV9hdHRhY2goc3RydWN0IG1pcGlfZHNpX2hvc3Qg Kmhvc3QsCiAKIAlkc2ktPmRldmljZSA9IGRldmljZTsKIAlkc2ktPnBhbmVsID0gb2ZfZHJtX2Zp bmRfcGFuZWwoZGV2aWNlLT5kZXYub2Zfbm9kZSk7Ci0JaWYgKCFkc2ktPnBhbmVsKQotCQlyZXR1 cm4gLUVJTlZBTDsKKwlpZiAoSVNfRVJSKGRzaS0+cGFuZWwpKQorCQlyZXR1cm4gUFRSX0VSUihk c2ktPnBhbmVsKTsKIAogCWRldl9pbmZvKGhvc3QtPmRldiwgIkF0dGFjaGVkIGRldmljZSAlc1xu IiwgZGV2aWNlLT5uYW1lKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2Rz aS5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RzaS5jCmluZGV4IDg3YzVkODliYzliYS4uMGIx ZWVlNGIyZmIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHNpLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RzaS5jCkBAIC0xNDA5LDkgKzE0MDksMTEgQEAgc3RhdGlj IGludCB0ZWdyYV9kc2lfaG9zdF9hdHRhY2goc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsCiAJ ICovCiAJaWYgKCFkc2ktPm1hc3RlcikgewogCQlzdHJ1Y3QgdGVncmFfb3V0cHV0ICpvdXRwdXQg PSAmZHNpLT5vdXRwdXQ7CisJCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsOwogCi0JCW91dHB1dC0+ cGFuZWwgPSBvZl9kcm1fZmluZF9wYW5lbChkZXZpY2UtPmRldi5vZl9ub2RlKTsKLQkJaWYgKG91 dHB1dC0+cGFuZWwgJiYgb3V0cHV0LT5jb25uZWN0b3IuZGV2KSB7CisJCXBhbmVsID0gb2ZfZHJt X2ZpbmRfcGFuZWwoZGV2aWNlLT5kZXYub2Zfbm9kZSk7CisJCWlmICghSVNfRVJSKHBhbmVsKSAm JiBvdXRwdXQtPmNvbm5lY3Rvci5kZXYpIHsKKwkJCW91dHB1dC0+cGFuZWwgPSBwYW5lbDsKIAkJ CWRybV9wYW5lbF9hdHRhY2gob3V0cHV0LT5wYW5lbCwgJm91dHB1dC0+Y29ubmVjdG9yKTsKIAkJ CWRybV9oZWxwZXJfaHBkX2lycV9ldmVudChvdXRwdXQtPmNvbm5lY3Rvci5kZXYpOwogCQl9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvb3V0cHV0LmMgYi9kcml2ZXJzL2dwdS9k cm0vdGVncmEvb3V0cHV0LmMKaW5kZXggNjc2ZmQzOTQ4MzZmLi4yMWQ4NzM3ZjhiNDkgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9vdXRwdXQuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vdGVncmEvb3V0cHV0LmMKQEAgLTEwMSwxOCArMTAxLDIyIEBAIHN0YXRpYyBpcnFyZXR1cm5f dCBocGRfaXJxKGludCBpcnEsIHZvaWQgKmRhdGEpCiAKIGludCB0ZWdyYV9vdXRwdXRfcHJvYmUo c3RydWN0IHRlZ3JhX291dHB1dCAqb3V0cHV0KQogewotCXN0cnVjdCBkZXZpY2Vfbm9kZSAqZGRj LCAqcGFuZWw7CisJc3RydWN0IGRldmljZV9ub2RlICpkZGMsICpwYW5lbG5wOwogCWludCBlcnIs IHNpemU7CiAKIAlpZiAoIW91dHB1dC0+b2Zfbm9kZSkKIAkJb3V0cHV0LT5vZl9ub2RlID0gb3V0 cHV0LT5kZXYtPm9mX25vZGU7CiAKLQlwYW5lbCA9IG9mX3BhcnNlX3BoYW5kbGUob3V0cHV0LT5v Zl9ub2RlLCAibnZpZGlhLHBhbmVsIiwgMCk7Ci0JaWYgKHBhbmVsKSB7Ci0JCW91dHB1dC0+cGFu ZWwgPSBvZl9kcm1fZmluZF9wYW5lbChwYW5lbCk7Ci0JCW9mX25vZGVfcHV0KHBhbmVsKTsKLQkJ aWYgKCFvdXRwdXQtPnBhbmVsKQotCQkJcmV0dXJuIC1FUFJPQkVfREVGRVI7CisJcGFuZWxucCA9 IG9mX3BhcnNlX3BoYW5kbGUob3V0cHV0LT5vZl9ub2RlLCAibnZpZGlhLHBhbmVsIiwgMCk7CisJ aWYgKHBhbmVsbnApIHsKKwkJc3RydWN0IGRybV9wYW5lbCAqcGFuZWwgPSBvZl9kcm1fZmluZF9w YW5lbChwYW5lbG5wKTsKKworCQlvZl9ub2RlX3B1dChwYW5lbG5wKTsKKworCQlpZiAoSVNfRVJS KHBhbmVsKSkKKwkJCXJldHVybiBQVFJfRVJSKHBhbmVsKTsKKworCQlvdXRwdXQtPnBhbmVsID0g cGFuZWw7CiAJfQogCiAJb3V0cHV0LT5lZGlkID0gb2ZfZ2V0X3Byb3BlcnR5KG91dHB1dC0+b2Zf bm9kZSwgIm52aWRpYSxlZGlkIiwgJnNpemUpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJt X3BhbmVsLmggYi9pbmNsdWRlL2RybS9kcm1fcGFuZWwuaAppbmRleCAxNGFjMjQwYTFmNjQuLjNi YjkxNTE5NDYyZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgKKysrIGIvaW5j bHVkZS9kcm0vZHJtX3BhbmVsLmgKQEAgLTE5OSw3ICsxOTksNyBAQCBzdHJ1Y3QgZHJtX3BhbmVs ICpvZl9kcm1fZmluZF9wYW5lbChjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKTsKICNlbHNl CiBzdGF0aWMgaW5saW5lIHN0cnVjdCBkcm1fcGFuZWwgKm9mX2RybV9maW5kX3BhbmVsKGNvbnN0 IHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCiB7Ci0JcmV0dXJuIE5VTEw7CisJcmV0dXJuIEVSUl9Q VFIoLUVOT1RTVVBQKTsKIH0KICNlbmRpZgogCi0tIAoyLjE0LjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=