From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH v3 1/7] drm/i2c: adv7511: Convert to drm_bridge Date: Wed, 9 Mar 2016 16:27:12 +0530 Message-ID: <1457521038-5906-2-git-send-email-architt@codeaurora.org> References: <1441625800-1858-1-git-send-email-architt@codeaurora.org> <1457521038-5906-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: <1457521038-5906-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 Cc: andy.green@linaro.org, linux-arm-msm@vger.kernel.org, amit.kucheria@linaro.org, srinivas.kandagatla@linaro.org, laurent.pinchart@ideasonboard.com, treding@nvidia.com List-Id: linux-arm-msm@vger.kernel.org V2UgZG9uJ3Qgd2FudCB0byB1c2UgdGhlIG9sZCBpMmMgc2xhdmUgZW5jb2RlciBpbnRlcmZhY2Ug YW55bW9yZS4KClJlbW92ZSB0aGF0IGFuZCBtYWtlIHRoZSBpMmMgZHJpdmVyIGNyZWF0ZSBhIGRy bV9icmlkZ2UgZW50aXR5IGluc3RlYWQuCkNvbnZlcnRpbmcgdG8gYnJpZGdlcyBoZWxwcyBiZWNh dXNlIHRoZSBrbXMgZHJpdmVycyBkb24ndCBuZWVkIHRvCmV4cmFjdCBlbmNvZGVyIHNsYXZlIG9w cyBmcm9tIHRoaXMgZHJpdmVyIGFuZCB1c2UgaXQgd2l0aGluIHRoZWlyCm93biBlbmNvZGVyL2Nv bm5lY3RvciBvcHMuCgpUaGUgZHJpdmVyIG5vdyBjcmVhdGVzIGl0cyBvd24gY29ubmVjdG9yIHdo ZW4gYSBrbXMgZHJpdmVyIGF0dGFjaGVzCml0c2VsZiB0byB0aGUgYnJpZGdlLiBUaGVyZWZvcmUs IGttcyBkcml2ZXJzIGRvbid0IG5lZWQgdG8gY3JlYXRlCnRoZWlyIG93biBjb25uZWN0b3JzIGFu eW1vcmUuCgpUaGUgb2xkIGVuY29kZXIgc2xhdmUgb3BzIGFyZSBub3cgdXNlZCBieSB0aGUgbmV3 IGJyaWRnZSBhbmQgY29ubmVjdG9yCmVudGl0aWVzLgoKU2lnbmVkLW9mZi1ieTogQXJjaGl0IFRh bmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KLS0tCnYzOgotIFJlbW92ZSBjYWxscyB0byBj b25uZWN0b3JfcmVnaXN0ZXIgYW5kIGhwZCBoZWxwZXIgaW4gYnJpZGdlX2F0dGFjaAotIFJlbW92 ZSBub29wIGJyaWRnZSBvcHMKCiBkcml2ZXJzL2dwdS9kcm0vaTJjL2Fkdjc1MTEuYyB8IDIyMiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAxNDggaW5zZXJ0aW9ucygrKSwgNzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2kyYy9hZHY3NTExLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL2Fkdjc1MTEuYwpp bmRleCBhMDIxMTJiLi5mZWM1NjI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTJjL2Fk djc1MTEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL2Fkdjc1MTEuYwpAQCAtMTQsOSArMTQs MTAgQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAKICNpbmNsdWRlIDxkcm0vZHJtUC5oPgor I2luY2x1ZGUgPGRybS9kcm1fYXRvbWljLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWNfaGVs cGVyLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgogI2luY2x1ZGUgPGRybS9k cm1fZWRpZC5oPgotI2luY2x1ZGUgPGRybS9kcm1fZW5jb2Rlcl9zbGF2ZS5oPgogCiAjaW5jbHVk ZSAiYWR2NzUxMS5oIgogCkBAIC0zNiw3ICszNyw4IEBAIHN0cnVjdCBhZHY3NTExIHsKIAlib29s IGVkaWRfcmVhZDsKIAogCXdhaXRfcXVldWVfaGVhZF90IHdxOwotCXN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlcjsKKwlzdHJ1Y3QgZHJtX2JyaWRnZSBicmlkZ2U7CisJc3RydWN0IGRybV9jb25u ZWN0b3IgY29ubmVjdG9yOwogCiAJYm9vbCBlbWJlZGRlZF9zeW5jOwogCWVudW0gYWR2NzUxMV9z eW5jX3BvbGFyaXR5IHZzeW5jX3BvbGFyaXR5OwpAQCAtNDgsMTEgKzUwLDYgQEAgc3RydWN0IGFk djc1MTEgewogCXN0cnVjdCBncGlvX2Rlc2MgKmdwaW9fcGQ7CiB9OwogCi1zdGF0aWMgc3RydWN0 IGFkdjc1MTEgKmVuY29kZXJfdG9fYWR2NzUxMShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIp Ci17Ci0JcmV0dXJuIHRvX2VuY29kZXJfc2xhdmUoZW5jb2RlciktPnNsYXZlX3ByaXY7Ci19Ci0K IC8qIEFESSByZWNvbW1lbmRlZCB2YWx1ZXMgZm9yIHByb3BlciBvcGVyYXRpb24uICovCiBzdGF0 aWMgY29uc3Qgc3RydWN0IHJlZ19zZXF1ZW5jZSBhZHY3NTExX2ZpeGVkX3JlZ2lzdGVyc1tdID0g ewogCXsgMHg5OCwgMHgwMyB9LApAQCAtNDQ2LDggKzQ0Myw4IEBAIHN0YXRpYyBpbnQgYWR2NzUx MV9pcnFfcHJvY2VzcyhzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSkKIAlyZWdtYXBfd3JpdGUoYWR2 NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19JTlQoMCksIGlycTApOwogCXJlZ21hcF93cml0ZShh ZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX0lOVCgxKSwgaXJxMSk7CiAKLQlpZiAoaXJxMCAm IEFEVjc1MTFfSU5UMF9IUEQgJiYgYWR2NzUxMS0+ZW5jb2RlcikKLQkJZHJtX2hlbHBlcl9ocGRf aXJxX2V2ZW50KGFkdjc1MTEtPmVuY29kZXItPmRldik7CisJaWYgKGlycTAgJiBBRFY3NTExX0lO VDBfSFBEICYmIGFkdjc1MTEtPmJyaWRnZS5lbmNvZGVyKQorCQlkcm1faGVscGVyX2hwZF9pcnFf ZXZlbnQoYWR2NzUxMS0+Y29ubmVjdG9yLmRldik7CiAKIAlpZiAoaXJxMCAmIEFEVjc1MTFfSU5U MF9FRElEX1JFQURZIHx8IGlycTEgJiBBRFY3NTExX0lOVDFfRERDX0VSUk9SKSB7CiAJCWFkdjc1 MTEtPmVkaWRfcmVhZCA9IHRydWU7CkBAIC01NjMsMTMgKzU2MCwxMiBAQCBzdGF0aWMgaW50IGFk djc1MTFfZ2V0X2VkaWRfYmxvY2sodm9pZCAqZGF0YSwgdTggKmJ1ZiwgdW5zaWduZWQgaW50IGJs b2NrLAogfQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICogRW5jb2RlciBvcGVyYXRpb25z CisgKiBBRFY3NXh4IGhlbHBlcnMKICAqLwogCi1zdGF0aWMgaW50IGFkdjc1MTFfZ2V0X21vZGVz KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKK3N0YXRpYyBpbnQgYWR2NzUxMV9nZXRfbW9k ZXMoc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEsCiAJCQkgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IpCiB7Ci0Jc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEgPSBlbmNvZGVyX3RvX2Fk djc1MTEoZW5jb2Rlcik7CiAJc3RydWN0IGVkaWQgKmVkaWQ7CiAJdW5zaWduZWQgaW50IGNvdW50 OwogCkBAIC02MDYsMjEgKzYwMiw5IEBAIHN0YXRpYyBpbnQgYWR2NzUxMV9nZXRfbW9kZXMoc3Ry dWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiBjb3VudDsKIH0KIAotc3RhdGljIHZv aWQgYWR2NzUxMV9lbmNvZGVyX2RwbXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBpbnQg bW9kZSkKLXsKLQlzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSA9IGVuY29kZXJfdG9fYWR2NzUxMShl bmNvZGVyKTsKLQotCWlmIChtb2RlID09IERSTV9NT0RFX0RQTVNfT04pCi0JCWFkdjc1MTFfcG93 ZXJfb24oYWR2NzUxMSk7Ci0JZWxzZQotCQlhZHY3NTExX3Bvd2VyX29mZihhZHY3NTExKTsKLX0K LQogc3RhdGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMKLWFkdjc1MTFfZW5jb2Rlcl9kZXRl Y3Qoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAotCQkgICAgICAgc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKK2Fkdjc1MTFfZGV0ZWN0KHN0cnVjdCBhZHY3NTExICphZHY3NTEx LCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0cnVjdCBhZHY3NTExICph ZHY3NTExID0gZW5jb2Rlcl90b19hZHY3NTExKGVuY29kZXIpOwogCWVudW0gZHJtX2Nvbm5lY3Rv cl9zdGF0dXMgc3RhdHVzOwogCXVuc2lnbmVkIGludCB2YWw7CiAJYm9vbCBocGQ7CkBAIC02NDQs NyArNjI4LDcgQEAgYWR2NzUxMV9lbmNvZGVyX2RldGVjdChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsCiAJaWYgKHN0YXR1cyA9PSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZCAmJiBocGQg JiYgYWR2NzUxMS0+cG93ZXJlZCkgewogCQlyZWdjYWNoZV9tYXJrX2RpcnR5KGFkdjc1MTEtPnJl Z21hcCk7CiAJCWFkdjc1MTFfcG93ZXJfb24oYWR2NzUxMSk7Ci0JCWFkdjc1MTFfZ2V0X21vZGVz KGVuY29kZXIsIGNvbm5lY3Rvcik7CisJCWFkdjc1MTFfZ2V0X21vZGVzKGFkdjc1MTEsIGNvbm5l Y3Rvcik7CiAJCWlmIChhZHY3NTExLT5zdGF0dXMgPT0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0 ZWQpCiAJCQlzdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKIAl9IGVsc2Ug ewpAQCAtNjU4LDggKzY0Miw4IEBAIGFkdjc1MTFfZW5jb2Rlcl9kZXRlY3Qoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLAogCXJldHVybiBzdGF0dXM7CiB9CiAKLXN0YXRpYyBpbnQgYWR2NzUx MV9lbmNvZGVyX21vZGVfdmFsaWQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAotCQkJCSAg ICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQorc3RhdGljIGludCBhZHY3NTExX21v ZGVfdmFsaWQoc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEsCisJCQkgICAgICBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKIHsKIAlpZiAobW9kZS0+Y2xvY2sgPiAxNjUwMDApCiAJCXJldHVy biBNT0RFX0NMT0NLX0hJR0g7CkBAIC02NjcsMTEgKzY1MSwxMCBAQCBzdGF0aWMgaW50IGFkdjc1 MTFfZW5jb2Rlcl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1 cm4gTU9ERV9PSzsKIH0KIAotc3RhdGljIHZvaWQgYWR2NzUxMV9lbmNvZGVyX21vZGVfc2V0KHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKLQkJCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlLAotCQkJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkal9tb2RlKQor c3RhdGljIHZvaWQgYWR2NzUxMV9tb2RlX3NldChzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSwKKwkJ CSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCisJCQkgICAgIHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGpfbW9kZSkKIHsKLQlzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSA9IGVu Y29kZXJfdG9fYWR2NzUxMShlbmNvZGVyKTsKIAl1bnNpZ25lZCBpbnQgbG93X3JlZnJlc2hfcmF0 ZTsKIAl1bnNpZ25lZCBpbnQgaHN5bmNfcG9sYXJpdHkgPSAwOwogCXVuc2lnbmVkIGludCB2c3lu Y19wb2xhcml0eSA9IDA7CkBAIC03NjIsMTIgKzc0NSwxMjAgQEAgc3RhdGljIHZvaWQgYWR2NzUx MV9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlhZHY3NTEx LT5mX3RtZHMgPSBtb2RlLT5jbG9jazsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5j b2Rlcl9zbGF2ZV9mdW5jcyBhZHY3NTExX2VuY29kZXJfZnVuY3MgPSB7Ci0JLmRwbXMgPSBhZHY3 NTExX2VuY29kZXJfZHBtcywKLQkubW9kZV92YWxpZCA9IGFkdjc1MTFfZW5jb2Rlcl9tb2RlX3Zh bGlkLAotCS5tb2RlX3NldCA9IGFkdjc1MTFfZW5jb2Rlcl9tb2RlX3NldCwKLQkuZGV0ZWN0ID0g YWR2NzUxMV9lbmNvZGVyX2RldGVjdCwKLQkuZ2V0X21vZGVzID0gYWR2NzUxMV9nZXRfbW9kZXMs CisvKiBDb25uZWN0b3IgZnVuY3MgKi8KK3N0YXRpYyBzdHJ1Y3QgYWR2NzUxMSAqY29ubmVjdG9y X3RvX2Fkdjc1MTEoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlyZXR1cm4g Y29udGFpbmVyX29mKGNvbm5lY3Rvciwgc3RydWN0IGFkdjc1MTEsIGNvbm5lY3Rvcik7Cit9CisK K3N0YXRpYyBpbnQgYWR2NzUxMV9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpCit7CisJc3RydWN0IGFkdjc1MTEgKmFkdiA9IGNvbm5lY3Rvcl90b19h ZHY3NTExKGNvbm5lY3Rvcik7CisKKwlyZXR1cm4gYWR2NzUxMV9nZXRfbW9kZXMoYWR2LCBjb25u ZWN0b3IpOworfQorCitzdGF0aWMgc3RydWN0IGRybV9lbmNvZGVyICoKK2Fkdjc1MTFfY29ubmVj dG9yX2Jlc3RfZW5jb2RlcihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0 cnVjdCBhZHY3NTExICphZHYgPSBjb25uZWN0b3JfdG9fYWR2NzUxMShjb25uZWN0b3IpOworCisJ cmV0dXJuIGFkdi0+YnJpZGdlLmVuY29kZXI7Cit9CisKK3N0YXRpYyBlbnVtIGRybV9tb2RlX3N0 YXR1cworYWR2NzUxMV9jb25uZWN0b3JfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAorCQkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKK3sKKwlz dHJ1Y3QgYWR2NzUxMSAqYWR2ID0gY29ubmVjdG9yX3RvX2Fkdjc1MTEoY29ubmVjdG9yKTsKKwor CXJldHVybiBhZHY3NTExX21vZGVfdmFsaWQoYWR2LCBtb2RlKTsKK30KKworc3RhdGljIHN0cnVj dCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyBhZHY3NTExX2Nvbm5lY3Rvcl9oZWxwZXJfZnVu Y3MgPSB7CisJLmdldF9tb2RlcyA9IGFkdjc1MTFfY29ubmVjdG9yX2dldF9tb2RlcywKKwkuYmVz dF9lbmNvZGVyID0gYWR2NzUxMV9jb25uZWN0b3JfYmVzdF9lbmNvZGVyLAorCS5tb2RlX3ZhbGlk ID0gYWR2NzUxMV9jb25uZWN0b3JfbW9kZV92YWxpZCwKK307CisKK3N0YXRpYyBlbnVtIGRybV9j b25uZWN0b3Jfc3RhdHVzCithZHY3NTExX2Nvbm5lY3Rvcl9kZXRlY3Qoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKK3sKKwlzdHJ1Y3QgYWR2NzUxMSAqYWR2ID0g Y29ubmVjdG9yX3RvX2Fkdjc1MTEoY29ubmVjdG9yKTsKKworCXJldHVybiBhZHY3NTExX2RldGVj dChhZHYsIGNvbm5lY3Rvcik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5j cyBhZHY3NTExX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKKwkuZHBtcyA9IGRybV9hdG9taWNfaGVscGVy X2Nvbm5lY3Rvcl9kcG1zLAorCS5maWxsX21vZGVzID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVf Y29ubmVjdG9yX21vZGVzLAorCS5kZXRlY3QgPSBhZHY3NTExX2Nvbm5lY3Rvcl9kZXRlY3QsCisJ LmRlc3Ryb3kgPSBkcm1fY29ubmVjdG9yX2NsZWFudXAsCisJLnJlc2V0ID0gZHJtX2F0b21pY19o ZWxwZXJfY29ubmVjdG9yX3Jlc2V0LAorCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gZHJtX2F0 b21pY19oZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZSwKKwkuYXRvbWljX2Rlc3Ryb3lf c3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZSwKK307CisK Ky8qIEJyaWRnZSBmdW5jcyAqLworc3RhdGljIHN0cnVjdCBhZHY3NTExICpicmlkZ2VfdG9fYWR2 NzUxMShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQoreworCXJldHVybiBjb250YWluZXJfb2Yo YnJpZGdlLCBzdHJ1Y3QgYWR2NzUxMSwgYnJpZGdlKTsKK30KKworc3RhdGljIHZvaWQgYWR2NzUx MV9icmlkZ2VfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCit7CisJc3RydWN0IGFk djc1MTEgKmFkdiA9IGJyaWRnZV90b19hZHY3NTExKGJyaWRnZSk7CisKKwlhZHY3NTExX3Bvd2Vy X29uKGFkdik7Cit9CisKK3N0YXRpYyB2b2lkIGFkdjc1MTFfYnJpZGdlX2Rpc2FibGUoc3RydWN0 IGRybV9icmlkZ2UgKmJyaWRnZSkKK3sKKwlzdHJ1Y3QgYWR2NzUxMSAqYWR2ID0gYnJpZGdlX3Rv X2Fkdjc1MTEoYnJpZGdlKTsKKworCWFkdjc1MTFfcG93ZXJfb2ZmKGFkdik7Cit9CisKK3N0YXRp YyB2b2lkIGFkdjc1MTFfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Us CisJCQkJICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAorCQkJCSAgICBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqYWRqX21vZGUpCit7CisJc3RydWN0IGFkdjc1MTEgKmFkdiA9IGJy aWRnZV90b19hZHY3NTExKGJyaWRnZSk7CisKKwlhZHY3NTExX21vZGVfc2V0KGFkdiwgbW9kZSwg YWRqX21vZGUpOworfQorCitzdGF0aWMgaW50IGFkdjc1MTFfYnJpZGdlX2F0dGFjaChzdHJ1Y3Qg ZHJtX2JyaWRnZSAqYnJpZGdlKQoreworCXN0cnVjdCBhZHY3NTExICphZHYgPSBicmlkZ2VfdG9f YWR2NzUxMShicmlkZ2UpOworCWludCByZXQ7CisKKwlpZiAoIWJyaWRnZS0+ZW5jb2Rlcikgewor CQlEUk1fRVJST1IoIlBhcmVudCBlbmNvZGVyIG9iamVjdCBub3QgZm91bmQiKTsKKwkJcmV0dXJu IC1FTk9ERVY7CisJfQorCisJYWR2LT5jb25uZWN0b3IucG9sbGVkID0gRFJNX0NPTk5FQ1RPUl9Q T0xMX0hQRDsKKworCXJldCA9IGRybV9jb25uZWN0b3JfaW5pdChicmlkZ2UtPmRldiwgJmFkdi0+ Y29ubmVjdG9yLAorCQkJCSAmYWR2NzUxMV9jb25uZWN0b3JfZnVuY3MsCisJCQkJIERSTV9NT0RF X0NPTk5FQ1RPUl9IRE1JQSk7CisJaWYgKHJldCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBp bml0aWFsaXplIGNvbm5lY3RvciB3aXRoIGRybVxuIik7CisJCXJldHVybiByZXQ7CisJfQorCWRy bV9jb25uZWN0b3JfaGVscGVyX2FkZCgmYWR2LT5jb25uZWN0b3IsCisJCQkJICZhZHY3NTExX2Nv bm5lY3Rvcl9oZWxwZXJfZnVuY3MpOworCWRybV9tb2RlX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2Rl cigmYWR2LT5jb25uZWN0b3IsIGJyaWRnZS0+ZW5jb2Rlcik7CisKKwlyZXR1cm4gcmV0OworfQor CitzdGF0aWMgc3RydWN0IGRybV9icmlkZ2VfZnVuY3MgYWR2NzUxMV9icmlkZ2VfZnVuY3MgPSB7 CisJLmVuYWJsZSA9IGFkdjc1MTFfYnJpZGdlX2VuYWJsZSwKKwkuZGlzYWJsZSA9IGFkdjc1MTFf YnJpZGdlX2Rpc2FibGUsCisJLm1vZGVfc2V0ID0gYWR2NzUxMV9icmlkZ2VfbW9kZV9zZXQsCisJ LmF0dGFjaCA9IGFkdjc1MTFfYnJpZGdlX2F0dGFjaCwKIH07CiAKIC8qIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCkBAIC05NDQsNiArMTAzNSwxNSBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcHJvYmUoc3Ry dWN0IGkyY19jbGllbnQgKmkyYywgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlkKQogCiAJ YWR2NzUxMV9zZXRfbGlua19jb25maWcoYWR2NzUxMSwgJmxpbmtfY29uZmlnKTsKIAorCWFkdjc1 MTEtPmJyaWRnZS5mdW5jcyA9ICZhZHY3NTExX2JyaWRnZV9mdW5jczsKKwlhZHY3NTExLT5icmlk Z2Uub2Zfbm9kZSA9IGRldi0+b2Zfbm9kZTsKKworCXJldCA9IGRybV9icmlkZ2VfYWRkKCZhZHY3 NTExLT5icmlkZ2UpOworCWlmIChyZXQpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWRk IGFkdjc1MTEgYnJpZGdlXG4iKTsKKwkJZ290byBlcnJfaTJjX3VucmVnaXN0ZXJfZGV2aWNlOwor CX0KKwogCXJldHVybiAwOwogCiBlcnJfaTJjX3VucmVnaXN0ZXJfZGV2aWNlOgpAQCAtOTU2LDYg KzEwNTYsOCBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpp MmMpCiB7CiAJc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoaTJj KTsKIAorCWRybV9icmlkZ2VfcmVtb3ZlKCZhZHY3NTExLT5icmlkZ2UpOworCiAJaTJjX3VucmVn aXN0ZXJfZGV2aWNlKGFkdjc1MTEtPmkyY19lZGlkKTsKIAogCWtmcmVlKGFkdjc1MTEtPmVkaWQp OwpAQCAtOTYzLDIwICsxMDY1LDYgQEAgc3RhdGljIGludCBhZHY3NTExX3JlbW92ZShzdHJ1Y3Qg aTJjX2NsaWVudCAqaTJjKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGFkdjc1MTFfZW5j b2Rlcl9pbml0KHN0cnVjdCBpMmNfY2xpZW50ICppMmMsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Ci0JCQkJc3RydWN0IGRybV9lbmNvZGVyX3NsYXZlICplbmNvZGVyKQotewotCi0Jc3RydWN0IGFk djc1MTEgKmFkdjc1MTEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsKLQotCWVuY29kZXItPnNs YXZlX3ByaXYgPSBhZHY3NTExOwotCWVuY29kZXItPnNsYXZlX2Z1bmNzID0gJmFkdjc1MTFfZW5j b2Rlcl9mdW5jczsKLQotCWFkdjc1MTEtPmVuY29kZXIgPSAmZW5jb2Rlci0+YmFzZTsKLQotCXJl dHVybiAwOwotfQotCiBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgYWR2NzUxMV9p MmNfaWRzW10gPSB7CiAJeyAiYWR2NzUxMSIsIDAgfSwKIAl7ICJhZHY3NTExdyIsIDAgfSwKQEAg LTk5MywzMSArMTA4MSwxNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBhZHY3 NTExX29mX2lkc1tdID0gewogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGFkdjc1MTFfb2Zf aWRzKTsKIAotc3RhdGljIHN0cnVjdCBkcm1faTJjX2VuY29kZXJfZHJpdmVyIGFkdjc1MTFfZHJp dmVyID0gewotCS5pMmNfZHJpdmVyID0gewotCQkuZHJpdmVyID0gewotCQkJLm5hbWUgPSAiYWR2 NzUxMSIsCi0JCQkub2ZfbWF0Y2hfdGFibGUgPSBhZHY3NTExX29mX2lkcywKLQkJfSwKLQkJLmlk X3RhYmxlID0gYWR2NzUxMV9pMmNfaWRzLAotCQkucHJvYmUgPSBhZHY3NTExX3Byb2JlLAotCQku cmVtb3ZlID0gYWR2NzUxMV9yZW1vdmUsCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgYWR2NzUx MV9kcml2ZXIgPSB7CisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAiYWR2NzUxMSIsCisJCS5vZl9t YXRjaF90YWJsZSA9IGFkdjc1MTFfb2ZfaWRzLAogCX0sCi0KLQkuZW5jb2Rlcl9pbml0ID0gYWR2 NzUxMV9lbmNvZGVyX2luaXQsCisJLmlkX3RhYmxlID0gYWR2NzUxMV9pMmNfaWRzLAorCS5wcm9i ZSA9IGFkdjc1MTFfcHJvYmUsCisJLnJlbW92ZSA9IGFkdjc1MTFfcmVtb3ZlLAogfTsKIAotc3Rh dGljIGludCBfX2luaXQgYWR2NzUxMV9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGRybV9pMmNfZW5j b2Rlcl9yZWdpc3RlcihUSElTX01PRFVMRSwgJmFkdjc1MTFfZHJpdmVyKTsKLX0KLW1vZHVsZV9p bml0KGFkdjc1MTFfaW5pdCk7Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBhZHY3NTExX2V4aXQodm9p ZCkKLXsKLQlkcm1faTJjX2VuY29kZXJfdW5yZWdpc3RlcigmYWR2NzUxMV9kcml2ZXIpOwotfQot bW9kdWxlX2V4aXQoYWR2NzUxMV9leGl0KTsKK21vZHVsZV9pMmNfZHJpdmVyKGFkdjc1MTFfZHJp dmVyKTsKIAogTU9EVUxFX0FVVEhPUigiTGFycy1QZXRlciBDbGF1c2VuIDxsYXJzQG1ldGFmb28u ZGU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkFEVjc1MTEgSERNSSB0cmFuc21pdHRlciBkcml2 ZXIiKTsKLS0gClRoZSBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJl ciBvZiB0aGUgQ29kZSBBdXJvcmEgRm9ydW0sCmhvc3RlZCBieSBUaGUgTGludXggRm91bmRhdGlv bgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==