From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH v4 1/7] drm/i2c: adv7511: Convert to drm_bridge Date: Mon, 16 May 2016 16:11:04 +0530 Message-ID: <1463395270-3100-2-git-send-email-architt@codeaurora.org> References: <1457521038-5906-1-git-send-email-architt@codeaurora.org> <1463395270-3100-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1463395270-3100-1-git-send-email-architt@codeaurora.org> 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, laurent.pinchart@ideasonboard.com, xinliang.liu@linaro.org Cc: linux-arm-msm@vger.kernel.org, amit.kucheria@linaro.org, srinivas.kandagatla@linaro.org, treding@nvidia.com List-Id: linux-arm-msm@vger.kernel.org V2UgZG9uJ3Qgd2FudCB0byB1c2UgdGhlIG9sZCBpMmMgc2xhdmUgZW5jb2RlciBpbnRlcmZhY2Ug YW55bW9yZS4KClJlbW92ZSB0aGF0IGFuZCBtYWtlIHRoZSBpMmMgZHJpdmVyIGNyZWF0ZSBhIGRy bV9icmlkZ2UgZW50aXR5IGluc3RlYWQuCkNvbnZlcnRpbmcgdG8gYnJpZGdlcyBoZWxwcyBiZWNh dXNlIHRoZSBrbXMgZHJpdmVycyBkb24ndCBuZWVkIHRvCmV4cmFjdCBlbmNvZGVyIHNsYXZlIG9w cyBmcm9tIHRoaXMgZHJpdmVyIGFuZCB1c2UgaXQgd2l0aGluIHRoZWlyCm93biBlbmNvZGVyL2Nv bm5lY3RvciBvcHMuCgpUaGUgZHJpdmVyIG5vdyBjcmVhdGVzIGl0cyBvd24gY29ubmVjdG9yIHdo ZW4gYSBrbXMgZHJpdmVyIGF0dGFjaGVzCml0c2VsZiB0byB0aGUgYnJpZGdlLiBUaGVyZWZvcmUs IGttcyBkcml2ZXJzIGRvbid0IG5lZWQgdG8gY3JlYXRlCnRoZWlyIG93biBjb25uZWN0b3JzIGFu eW1vcmUuCgpUaGUgb2xkIGVuY29kZXIgc2xhdmUgb3BzIGFyZSBub3cgdXNlZCBieSB0aGUgbmV3 IGJyaWRnZSBhbmQgY29ubmVjdG9yCmVudGl0aWVzLgoKU2lnbmVkLW9mZi1ieTogQXJjaGl0IFRh bmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTJjL2Fk djc1MTEuYyB8IDIyMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCAxNDggaW5zZXJ0aW9ucygrKSwgNzQgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2kyYy9hZHY3NTExLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTJjL2Fkdjc1MTEuYwppbmRleCBhMDIxMTJiLi5mZWM1NjI3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTJjL2Fkdjc1MTEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL2Fkdjc1MTEu YwpAQCAtMTQsOSArMTQsMTAgQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAKICNpbmNsdWRl IDxkcm0vZHJtUC5oPgorI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljLmg+CisjaW5jbHVkZSA8ZHJt L2RybV9hdG9taWNfaGVscGVyLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgog I2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgotI2luY2x1ZGUgPGRybS9kcm1fZW5jb2Rlcl9zbGF2 ZS5oPgogCiAjaW5jbHVkZSAiYWR2NzUxMS5oIgogCkBAIC0zNiw3ICszNyw4IEBAIHN0cnVjdCBh ZHY3NTExIHsKIAlib29sIGVkaWRfcmVhZDsKIAogCXdhaXRfcXVldWVfaGVhZF90IHdxOwotCXN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKKwlzdHJ1Y3QgZHJtX2JyaWRnZSBicmlkZ2U7CisJ c3RydWN0IGRybV9jb25uZWN0b3IgY29ubmVjdG9yOwogCiAJYm9vbCBlbWJlZGRlZF9zeW5jOwog CWVudW0gYWR2NzUxMV9zeW5jX3BvbGFyaXR5IHZzeW5jX3BvbGFyaXR5OwpAQCAtNDgsMTEgKzUw LDYgQEAgc3RydWN0IGFkdjc1MTEgewogCXN0cnVjdCBncGlvX2Rlc2MgKmdwaW9fcGQ7CiB9Owog Ci1zdGF0aWMgc3RydWN0IGFkdjc1MTEgKmVuY29kZXJfdG9fYWR2NzUxMShzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIpCi17Ci0JcmV0dXJuIHRvX2VuY29kZXJfc2xhdmUoZW5jb2RlciktPnNs YXZlX3ByaXY7Ci19Ci0KIC8qIEFESSByZWNvbW1lbmRlZCB2YWx1ZXMgZm9yIHByb3BlciBvcGVy YXRpb24uICovCiBzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ19zZXF1ZW5jZSBhZHY3NTExX2ZpeGVk X3JlZ2lzdGVyc1tdID0gewogCXsgMHg5OCwgMHgwMyB9LApAQCAtNDQ2LDggKzQ0Myw4IEBAIHN0 YXRpYyBpbnQgYWR2NzUxMV9pcnFfcHJvY2VzcyhzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSkKIAly ZWdtYXBfd3JpdGUoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19JTlQoMCksIGlycTApOwog CXJlZ21hcF93cml0ZShhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX0lOVCgxKSwgaXJxMSk7 CiAKLQlpZiAoaXJxMCAmIEFEVjc1MTFfSU5UMF9IUEQgJiYgYWR2NzUxMS0+ZW5jb2RlcikKLQkJ ZHJtX2hlbHBlcl9ocGRfaXJxX2V2ZW50KGFkdjc1MTEtPmVuY29kZXItPmRldik7CisJaWYgKGly cTAgJiBBRFY3NTExX0lOVDBfSFBEICYmIGFkdjc1MTEtPmJyaWRnZS5lbmNvZGVyKQorCQlkcm1f aGVscGVyX2hwZF9pcnFfZXZlbnQoYWR2NzUxMS0+Y29ubmVjdG9yLmRldik7CiAKIAlpZiAoaXJx MCAmIEFEVjc1MTFfSU5UMF9FRElEX1JFQURZIHx8IGlycTEgJiBBRFY3NTExX0lOVDFfRERDX0VS Uk9SKSB7CiAJCWFkdjc1MTEtPmVkaWRfcmVhZCA9IHRydWU7CkBAIC01NjMsMTMgKzU2MCwxMiBA QCBzdGF0aWMgaW50IGFkdjc1MTFfZ2V0X2VkaWRfYmxvY2sodm9pZCAqZGF0YSwgdTggKmJ1Ziwg dW5zaWduZWQgaW50IGJsb2NrLAogfQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICogRW5j b2RlciBvcGVyYXRpb25zCisgKiBBRFY3NXh4IGhlbHBlcnMKICAqLwogCi1zdGF0aWMgaW50IGFk djc1MTFfZ2V0X21vZGVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKK3N0YXRpYyBpbnQg YWR2NzUxMV9nZXRfbW9kZXMoc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEsCiAJCQkgICAgIHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiB7Ci0Jc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEg PSBlbmNvZGVyX3RvX2Fkdjc1MTEoZW5jb2Rlcik7CiAJc3RydWN0IGVkaWQgKmVkaWQ7CiAJdW5z aWduZWQgaW50IGNvdW50OwogCkBAIC02MDYsMjEgKzYwMiw5IEBAIHN0YXRpYyBpbnQgYWR2NzUx MV9nZXRfbW9kZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiBjb3VudDsK IH0KIAotc3RhdGljIHZvaWQgYWR2NzUxMV9lbmNvZGVyX2RwbXMoc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyLCBpbnQgbW9kZSkKLXsKLQlzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSA9IGVuY29k ZXJfdG9fYWR2NzUxMShlbmNvZGVyKTsKLQotCWlmIChtb2RlID09IERSTV9NT0RFX0RQTVNfT04p Ci0JCWFkdjc1MTFfcG93ZXJfb24oYWR2NzUxMSk7Ci0JZWxzZQotCQlhZHY3NTExX3Bvd2VyX29m ZihhZHY3NTExKTsKLX0KLQogc3RhdGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMKLWFkdjc1 MTFfZW5jb2Rlcl9kZXRlY3Qoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAotCQkgICAgICAg c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKK2Fkdjc1MTFfZGV0ZWN0KHN0cnVjdCBh ZHY3NTExICphZHY3NTExLCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0 cnVjdCBhZHY3NTExICphZHY3NTExID0gZW5jb2Rlcl90b19hZHY3NTExKGVuY29kZXIpOwogCWVu dW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgc3RhdHVzOwogCXVuc2lnbmVkIGludCB2YWw7CiAJYm9v bCBocGQ7CkBAIC02NDQsNyArNjI4LDcgQEAgYWR2NzUxMV9lbmNvZGVyX2RldGVjdChzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJaWYgKHN0YXR1cyA9PSBjb25uZWN0b3Jfc3RhdHVzX2Nv bm5lY3RlZCAmJiBocGQgJiYgYWR2NzUxMS0+cG93ZXJlZCkgewogCQlyZWdjYWNoZV9tYXJrX2Rp cnR5KGFkdjc1MTEtPnJlZ21hcCk7CiAJCWFkdjc1MTFfcG93ZXJfb24oYWR2NzUxMSk7Ci0JCWFk djc1MTFfZ2V0X21vZGVzKGVuY29kZXIsIGNvbm5lY3Rvcik7CisJCWFkdjc1MTFfZ2V0X21vZGVz KGFkdjc1MTEsIGNvbm5lY3Rvcik7CiAJCWlmIChhZHY3NTExLT5zdGF0dXMgPT0gY29ubmVjdG9y X3N0YXR1c19jb25uZWN0ZWQpCiAJCQlzdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5l Y3RlZDsKIAl9IGVsc2UgewpAQCAtNjU4LDggKzY0Miw4IEBAIGFkdjc1MTFfZW5jb2Rlcl9kZXRl Y3Qoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiBzdGF0dXM7CiB9CiAKLXN0 YXRpYyBpbnQgYWR2NzUxMV9lbmNvZGVyX21vZGVfdmFsaWQoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLAotCQkJCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQorc3RhdGlj IGludCBhZHY3NTExX21vZGVfdmFsaWQoc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEsCisJCQkgICAg ICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKIHsKIAlpZiAobW9kZS0+Y2xvY2sgPiAx NjUwMDApCiAJCXJldHVybiBNT0RFX0NMT0NLX0hJR0g7CkBAIC02NjcsMTEgKzY1MSwxMCBAQCBz dGF0aWMgaW50IGFkdjc1MTFfZW5jb2Rlcl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwKIAlyZXR1cm4gTU9ERV9PSzsKIH0KIAotc3RhdGljIHZvaWQgYWR2NzUxMV9lbmNv ZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKLQkJCQkgICAgIHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAotCQkJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKmFkal9tb2RlKQorc3RhdGljIHZvaWQgYWR2NzUxMV9tb2RlX3NldChzdHJ1Y3QgYWR2NzUx MSAqYWR2NzUxMSwKKwkJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCisJCQkg ICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGpfbW9kZSkKIHsKLQlzdHJ1Y3QgYWR2NzUx MSAqYWR2NzUxMSA9IGVuY29kZXJfdG9fYWR2NzUxMShlbmNvZGVyKTsKIAl1bnNpZ25lZCBpbnQg bG93X3JlZnJlc2hfcmF0ZTsKIAl1bnNpZ25lZCBpbnQgaHN5bmNfcG9sYXJpdHkgPSAwOwogCXVu c2lnbmVkIGludCB2c3luY19wb2xhcml0eSA9IDA7CkBAIC03NjIsMTIgKzc0NSwxMjAgQEAgc3Rh dGljIHZvaWQgYWR2NzUxMV9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKIAlhZHY3NTExLT5mX3RtZHMgPSBtb2RlLT5jbG9jazsKIH0KIAotc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fZW5jb2Rlcl9zbGF2ZV9mdW5jcyBhZHY3NTExX2VuY29kZXJfZnVuY3MgPSB7 Ci0JLmRwbXMgPSBhZHY3NTExX2VuY29kZXJfZHBtcywKLQkubW9kZV92YWxpZCA9IGFkdjc1MTFf ZW5jb2Rlcl9tb2RlX3ZhbGlkLAotCS5tb2RlX3NldCA9IGFkdjc1MTFfZW5jb2Rlcl9tb2RlX3Nl dCwKLQkuZGV0ZWN0ID0gYWR2NzUxMV9lbmNvZGVyX2RldGVjdCwKLQkuZ2V0X21vZGVzID0gYWR2 NzUxMV9nZXRfbW9kZXMsCisvKiBDb25uZWN0b3IgZnVuY3MgKi8KK3N0YXRpYyBzdHJ1Y3QgYWR2 NzUxMSAqY29ubmVjdG9yX3RvX2Fkdjc1MTEoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKGNvbm5lY3Rvciwgc3RydWN0IGFkdjc1MTEsIGNv bm5lY3Rvcik7Cit9CisKK3N0YXRpYyBpbnQgYWR2NzUxMV9jb25uZWN0b3JfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJc3RydWN0IGFkdjc1MTEgKmFkdiA9 IGNvbm5lY3Rvcl90b19hZHY3NTExKGNvbm5lY3Rvcik7CisKKwlyZXR1cm4gYWR2NzUxMV9nZXRf bW9kZXMoYWR2LCBjb25uZWN0b3IpOworfQorCitzdGF0aWMgc3RydWN0IGRybV9lbmNvZGVyICoK K2Fkdjc1MTFfY29ubmVjdG9yX2Jlc3RfZW5jb2RlcihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQoreworCXN0cnVjdCBhZHY3NTExICphZHYgPSBjb25uZWN0b3JfdG9fYWR2NzUxMShj b25uZWN0b3IpOworCisJcmV0dXJuIGFkdi0+YnJpZGdlLmVuY29kZXI7Cit9CisKK3N0YXRpYyBl bnVtIGRybV9tb2RlX3N0YXR1cworYWR2NzUxMV9jb25uZWN0b3JfbW9kZV92YWxpZChzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCQkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSkKK3sKKwlzdHJ1Y3QgYWR2NzUxMSAqYWR2ID0gY29ubmVjdG9yX3RvX2Fkdjc1MTEo Y29ubmVjdG9yKTsKKworCXJldHVybiBhZHY3NTExX21vZGVfdmFsaWQoYWR2LCBtb2RlKTsKK30K Kworc3RhdGljIHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyBhZHY3NTExX2Nvbm5l Y3Rvcl9oZWxwZXJfZnVuY3MgPSB7CisJLmdldF9tb2RlcyA9IGFkdjc1MTFfY29ubmVjdG9yX2dl dF9tb2RlcywKKwkuYmVzdF9lbmNvZGVyID0gYWR2NzUxMV9jb25uZWN0b3JfYmVzdF9lbmNvZGVy LAorCS5tb2RlX3ZhbGlkID0gYWR2NzUxMV9jb25uZWN0b3JfbW9kZV92YWxpZCwKK307CisKK3N0 YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzCithZHY3NTExX2Nvbm5lY3Rvcl9kZXRlY3Qo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKK3sKKwlzdHJ1Y3Qg YWR2NzUxMSAqYWR2ID0gY29ubmVjdG9yX3RvX2Fkdjc1MTEoY29ubmVjdG9yKTsKKworCXJldHVy biBhZHY3NTExX2RldGVjdChhZHYsIGNvbm5lY3Rvcik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9mdW5jcyBhZHY3NTExX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKKwkuZHBtcyA9IGRy bV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zLAorCS5maWxsX21vZGVzID0gZHJtX2hlbHBl cl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLAorCS5kZXRlY3QgPSBhZHY3NTExX2Nvbm5l Y3Rvcl9kZXRlY3QsCisJLmRlc3Ryb3kgPSBkcm1fY29ubmVjdG9yX2NsZWFudXAsCisJLnJlc2V0 ID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX3Jlc2V0LAorCS5hdG9taWNfZHVwbGljYXRl X3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZSwKKwku YXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJv eV9zdGF0ZSwKK307CisKKy8qIEJyaWRnZSBmdW5jcyAqLworc3RhdGljIHN0cnVjdCBhZHY3NTEx ICpicmlkZ2VfdG9fYWR2NzUxMShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQoreworCXJldHVy biBjb250YWluZXJfb2YoYnJpZGdlLCBzdHJ1Y3QgYWR2NzUxMSwgYnJpZGdlKTsKK30KKworc3Rh dGljIHZvaWQgYWR2NzUxMV9icmlkZ2VfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Up Cit7CisJc3RydWN0IGFkdjc1MTEgKmFkdiA9IGJyaWRnZV90b19hZHY3NTExKGJyaWRnZSk7CisK KwlhZHY3NTExX3Bvd2VyX29uKGFkdik7Cit9CisKK3N0YXRpYyB2b2lkIGFkdjc1MTFfYnJpZGdl X2Rpc2FibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKK3sKKwlzdHJ1Y3QgYWR2NzUxMSAq YWR2ID0gYnJpZGdlX3RvX2Fkdjc1MTEoYnJpZGdlKTsKKworCWFkdjc1MTFfcG93ZXJfb2ZmKGFk dik7Cit9CisKK3N0YXRpYyB2b2lkIGFkdjc1MTFfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1f YnJpZGdlICpicmlkZ2UsCisJCQkJICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAor CQkJCSAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqX21vZGUpCit7CisJc3RydWN0IGFk djc1MTEgKmFkdiA9IGJyaWRnZV90b19hZHY3NTExKGJyaWRnZSk7CisKKwlhZHY3NTExX21vZGVf c2V0KGFkdiwgbW9kZSwgYWRqX21vZGUpOworfQorCitzdGF0aWMgaW50IGFkdjc1MTFfYnJpZGdl X2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQoreworCXN0cnVjdCBhZHY3NTExICph ZHYgPSBicmlkZ2VfdG9fYWR2NzUxMShicmlkZ2UpOworCWludCByZXQ7CisKKwlpZiAoIWJyaWRn ZS0+ZW5jb2RlcikgeworCQlEUk1fRVJST1IoIlBhcmVudCBlbmNvZGVyIG9iamVjdCBub3QgZm91 bmQiKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJYWR2LT5jb25uZWN0b3IucG9sbGVkID0g RFJNX0NPTk5FQ1RPUl9QT0xMX0hQRDsKKworCXJldCA9IGRybV9jb25uZWN0b3JfaW5pdChicmlk Z2UtPmRldiwgJmFkdi0+Y29ubmVjdG9yLAorCQkJCSAmYWR2NzUxMV9jb25uZWN0b3JfZnVuY3Ms CisJCQkJIERSTV9NT0RFX0NPTk5FQ1RPUl9IRE1JQSk7CisJaWYgKHJldCkgeworCQlEUk1fRVJS T1IoIkZhaWxlZCB0byBpbml0aWFsaXplIGNvbm5lY3RvciB3aXRoIGRybVxuIik7CisJCXJldHVy biByZXQ7CisJfQorCWRybV9jb25uZWN0b3JfaGVscGVyX2FkZCgmYWR2LT5jb25uZWN0b3IsCisJ CQkJICZhZHY3NTExX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MpOworCWRybV9tb2RlX2Nvbm5lY3Rv cl9hdHRhY2hfZW5jb2RlcigmYWR2LT5jb25uZWN0b3IsIGJyaWRnZS0+ZW5jb2Rlcik7CisKKwly ZXR1cm4gcmV0OworfQorCitzdGF0aWMgc3RydWN0IGRybV9icmlkZ2VfZnVuY3MgYWR2NzUxMV9i cmlkZ2VfZnVuY3MgPSB7CisJLmVuYWJsZSA9IGFkdjc1MTFfYnJpZGdlX2VuYWJsZSwKKwkuZGlz YWJsZSA9IGFkdjc1MTFfYnJpZGdlX2Rpc2FibGUsCisJLm1vZGVfc2V0ID0gYWR2NzUxMV9icmlk Z2VfbW9kZV9zZXQsCisJLmF0dGFjaCA9IGFkdjc1MTFfYnJpZGdlX2F0dGFjaCwKIH07CiAKIC8q IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC05NDQsNiArMTAzNSwxNSBAQCBzdGF0aWMgaW50IGFk djc1MTFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmkyYywgY29uc3Qgc3RydWN0IGkyY19kZXZp Y2VfaWQgKmlkKQogCiAJYWR2NzUxMV9zZXRfbGlua19jb25maWcoYWR2NzUxMSwgJmxpbmtfY29u ZmlnKTsKIAorCWFkdjc1MTEtPmJyaWRnZS5mdW5jcyA9ICZhZHY3NTExX2JyaWRnZV9mdW5jczsK KwlhZHY3NTExLT5icmlkZ2Uub2Zfbm9kZSA9IGRldi0+b2Zfbm9kZTsKKworCXJldCA9IGRybV9i cmlkZ2VfYWRkKCZhZHY3NTExLT5icmlkZ2UpOworCWlmIChyZXQpIHsKKwkJZGV2X2VycihkZXYs ICJmYWlsZWQgdG8gYWRkIGFkdjc1MTEgYnJpZGdlXG4iKTsKKwkJZ290byBlcnJfaTJjX3VucmVn aXN0ZXJfZGV2aWNlOworCX0KKwogCXJldHVybiAwOwogCiBlcnJfaTJjX3VucmVnaXN0ZXJfZGV2 aWNlOgpAQCAtOTU2LDYgKzEwNTYsOCBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcmVtb3ZlKHN0cnVj dCBpMmNfY2xpZW50ICppMmMpCiB7CiAJc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEgPSBpMmNfZ2V0 X2NsaWVudGRhdGEoaTJjKTsKIAorCWRybV9icmlkZ2VfcmVtb3ZlKCZhZHY3NTExLT5icmlkZ2Up OworCiAJaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGFkdjc1MTEtPmkyY19lZGlkKTsKIAogCWtmcmVl KGFkdjc1MTEtPmVkaWQpOwpAQCAtOTYzLDIwICsxMDY1LDYgQEAgc3RhdGljIGludCBhZHY3NTEx X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMg aW50IGFkdjc1MTFfZW5jb2Rlcl9pbml0KHN0cnVjdCBpMmNfY2xpZW50ICppMmMsIHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCi0JCQkJc3RydWN0IGRybV9lbmNvZGVyX3NsYXZlICplbmNvZGVyKQot ewotCi0Jc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsK LQotCWVuY29kZXItPnNsYXZlX3ByaXYgPSBhZHY3NTExOwotCWVuY29kZXItPnNsYXZlX2Z1bmNz ID0gJmFkdjc1MTFfZW5jb2Rlcl9mdW5jczsKLQotCWFkdjc1MTEtPmVuY29kZXIgPSAmZW5jb2Rl ci0+YmFzZTsKLQotCXJldHVybiAwOwotfQotCiBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZp Y2VfaWQgYWR2NzUxMV9pMmNfaWRzW10gPSB7CiAJeyAiYWR2NzUxMSIsIDAgfSwKIAl7ICJhZHY3 NTExdyIsIDAgfSwKQEAgLTk5MywzMSArMTA4MSwxNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9m X2RldmljZV9pZCBhZHY3NTExX29mX2lkc1tdID0gewogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUo b2YsIGFkdjc1MTFfb2ZfaWRzKTsKIAotc3RhdGljIHN0cnVjdCBkcm1faTJjX2VuY29kZXJfZHJp dmVyIGFkdjc1MTFfZHJpdmVyID0gewotCS5pMmNfZHJpdmVyID0gewotCQkuZHJpdmVyID0gewot CQkJLm5hbWUgPSAiYWR2NzUxMSIsCi0JCQkub2ZfbWF0Y2hfdGFibGUgPSBhZHY3NTExX29mX2lk cywKLQkJfSwKLQkJLmlkX3RhYmxlID0gYWR2NzUxMV9pMmNfaWRzLAotCQkucHJvYmUgPSBhZHY3 NTExX3Byb2JlLAotCQkucmVtb3ZlID0gYWR2NzUxMV9yZW1vdmUsCitzdGF0aWMgc3RydWN0IGky Y19kcml2ZXIgYWR2NzUxMV9kcml2ZXIgPSB7CisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAiYWR2 NzUxMSIsCisJCS5vZl9tYXRjaF90YWJsZSA9IGFkdjc1MTFfb2ZfaWRzLAogCX0sCi0KLQkuZW5j b2Rlcl9pbml0ID0gYWR2NzUxMV9lbmNvZGVyX2luaXQsCisJLmlkX3RhYmxlID0gYWR2NzUxMV9p MmNfaWRzLAorCS5wcm9iZSA9IGFkdjc1MTFfcHJvYmUsCisJLnJlbW92ZSA9IGFkdjc1MTFfcmVt b3ZlLAogfTsKIAotc3RhdGljIGludCBfX2luaXQgYWR2NzUxMV9pbml0KHZvaWQpCi17Ci0JcmV0 dXJuIGRybV9pMmNfZW5jb2Rlcl9yZWdpc3RlcihUSElTX01PRFVMRSwgJmFkdjc1MTFfZHJpdmVy KTsKLX0KLW1vZHVsZV9pbml0KGFkdjc1MTFfaW5pdCk7Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBh ZHY3NTExX2V4aXQodm9pZCkKLXsKLQlkcm1faTJjX2VuY29kZXJfdW5yZWdpc3RlcigmYWR2NzUx MV9kcml2ZXIpOwotfQotbW9kdWxlX2V4aXQoYWR2NzUxMV9leGl0KTsKK21vZHVsZV9pMmNfZHJp dmVyKGFkdjc1MTFfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiTGFycy1QZXRlciBDbGF1c2Vu IDxsYXJzQG1ldGFmb28uZGU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkFEVjc1MTEgSERNSSB0 cmFuc21pdHRlciBkcml2ZXIiKTsKLS0gClRoZSBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwg SW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBBdXJvcmEgRm9ydW0sCmhvc3RlZCBieSBUaGUg TGludXggRm91bmRhdGlvbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg==