From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: [PATCH v2 06/25] drm/panel: decouple connector from drm_panel Date: Sat, 7 Dec 2019 15:03:34 +0100 Message-ID: <20191207140353.23967-7-sam@ravnborg.org> References: <20191207140353.23967-1-sam@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191207140353.23967-1-sam@ravnborg.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, Thierry Reding , Laurent Pinchart , Linus Walleij , Sam Ravnborg Cc: Hariprasad Kelam , Neil Armstrong , David Airlie , Laurent Pinchart , Marek Vasut , linux-samsung-soc@vger.kernel.org, Vincent Abriou , Jeffrey Hugo , Allison Randal , Krzysztof Kozlowski , Jonathan Hunter , Vasily Khoruzhick , linux-rockchip@lists.infradead.org, Chen-Yu Tsai , Tomi Valkeinen , Matthias Brugger , Jagan Teki , NXP Linux Team , Rob Clark , Jitao Shi , Pengutronix Kernel Team , Jonas Karlman , Sascha Hauer List-Id: linux-tegra@vger.kernel.org VG8gZmFjaWxpdGF0ZSBtb3ZpbmcgY29ubmVjdG9yIGNyZWF0aW9uIHRvIGRpc3BsYXkgZHJpdmVy cywKZGVjb3VwbGUgdGhlIGRybV9jb25uZWN0b3IgZnJvbSBkcm1fcGFuZWwuCgpUaGlzIHBhdGNo IGFkZHMgYSBjb25uZWN0b3IgYXJndW1lbnQgdG8gZHJtX3BhbmVsX2dldF9tb2RlcygpLgoKQWxs IHVzZXJzIG9mIGRybV9wYW5lbF9nZXRfbW9kZXMoKSBhbHJlYWR5IGhhZCB0aGUgY29ubmVjdG9y CmF2YWlsYWJsZSwgc28gdXBkYXRpbmcgdXNlcnMgd2FzIHRyaXZpYWwuCgpXaXRoIHRoaXMgcGF0 Y2ggZHJtX3BhbmVsIG5vIGxvbmdlciBrZWVwcyBhIHJlZmVyZW5jZSB0byB0aGUgZHJtX2Nvbm5l Y3Rvci4KClNpZ25lZC1vZmYtYnk6IFNhbSBSYXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KUmV2 aWV3ZWQtYnk6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJk LmNvbT4KUmV2aWV3ZWQtYnk6IExpbnVzIFdhbGxlaWogPGxpbnVzLndhbGxlaWpAbGluYXJvLm9y Zz4KQWNrZWQtYnk6IEplZmZyZXkgSHVnbyA8amVmZnJleS5sLmh1Z29AZ21haWwuY29tPgpDYzog VGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWlsLmNvbT4KQ2M6IExhdXJlbnQgUGlu Y2hhcnQgPExhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KQ2M6IFNhbSBSYXZuYm9y ZyA8c2FtQHJhdm5ib3JnLm9yZz4KQ2M6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5j b20+CkNjOiBOZWlsIEFybXN0cm9uZyA8bmFybXN0cm9uZ0BiYXlsaWJyZS5jb20+CkNjOiBKb25h cyBLYXJsbWFuIDxqb25hc0Brd2lib28uc2U+CkNjOiBKZXJuZWogU2tyYWJlYyA8amVybmVqLnNr cmFiZWNAc2lvbC5uZXQ+CkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RA bGludXguaW50ZWwuY29tPgpDYzogTWF4aW1lIFJpcGFyZCA8bXJpcGFyZEBrZXJuZWwub3JnPgpD YzogRGF2aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgpDYzogRGFuaWVsIFZldHRlciA8ZGFu aWVsQGZmd2xsLmNoPgpDYzogSW5raSBEYWUgPGlua2kuZGFlQHNhbXN1bmcuY29tPgpDYzogSm9v bnlvdW5nIFNoaW0gPGp5MDkyMi5zaGltQHNhbXN1bmcuY29tPgpDYzogU2V1bmctV29vIEtpbSA8 c3cwMzEyLmtpbUBzYW1zdW5nLmNvbT4KQ2M6IEt5dW5nbWluIFBhcmsgPGt5dW5nbWluLnBhcmtA c2Ftc3VuZy5jb20+CkNjOiBLdWtqaW4gS2ltIDxrZ2VuZUBrZXJuZWwub3JnPgpDYzogS3J6eXN6 dG9mIEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPgpDYzogU3RlZmFuIEFnbmVyIDxzdGVmYW5A YWduZXIuY2g+CkNjOiBBbGlzb24gV2FuZyA8YWxpc29uLndhbmdAbnhwLmNvbT4KQ2M6IFBoaWxp cHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CkNjOiBTaGF3biBHdW8gPHNoYXduZ3Vv QGtlcm5lbC5vcmc+CkNjOiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+CkNj OiBQZW5ndXRyb25peCBLZXJuZWwgVGVhbSA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgpDYzogRmFi aW8gRXN0ZXZhbSA8ZmVzdGV2YW1AZ21haWwuY29tPgpDYzogTlhQIExpbnV4IFRlYW0gPGxpbnV4 LWlteEBueHAuY29tPgpDYzogQ0sgSHUgPGNrLmh1QG1lZGlhdGVrLmNvbT4KQ2M6IE1hdHRoaWFz IEJydWdnZXIgPG1hdHRoaWFzLmJnZ0BnbWFpbC5jb20+CkNjOiBNYXJlayBWYXN1dCA8bWFyZXhA ZGVueC5kZT4KQ2M6IFRvbWkgVmFsa2VpbmVuIDx0b21pLnZhbGtlaW5lbkB0aS5jb20+CkNjOiBL aWVyYW4gQmluZ2hhbSA8a2llcmFuLmJpbmdoYW0rcmVuZXNhc0BpZGVhc29uYm9hcmQuY29tPgpD YzogU2FuZHkgSHVhbmcgPGhqY0Byb2NrLWNoaXBzLmNvbT4KQ2M6ICJIZWlrbyBTdMO8Ym5lciIg PGhlaWtvQHNudGVjaC5kZT4KQ2M6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFy ZEBsaW5hcm8ub3JnPgpDYzogVmluY2VudCBBYnJpb3UgPHZpbmNlbnQuYWJyaW91QHN0LmNvbT4K Q2M6IENoZW4tWXUgVHNhaSA8d2Vuc0Bjc2llLm9yZz4KQ2M6IEpvbmF0aGFuIEh1bnRlciA8am9u YXRoYW5oQG52aWRpYS5jb20+CkNjOiBUb3JzdGVuIER1d2UgPGR1d2VAbHN0LmRlPgpDYzogVmFz aWx5IEtob3J1emhpY2sgPGFuYXJzb3VsQGdtYWlsLmNvbT4KQ2M6IEljZW5vd3kgWmhlbmcgPGlj ZW5vd3lAYW9zYy5pbz4KQ2M6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgpDYzog TGludXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPgpDYzogQm9yaXMgQnJlemls bG9uIDxib3Jpcy5icmV6aWxsb25AY29sbGFib3JhLmNvbT4KQ2M6IEhhcmlwcmFzYWQgS2VsYW0g PGhhcmlwcmFzYWQua2VsYW1AZ21haWwuY29tPgpDYzogQWxleGlvcyBaYXZyYXMgPGFsZXhpb3Mu emF2cmFzQGludGVsLmNvbT4KQ2M6IEJyaWFuIE1hc25leSA8bWFzbmV5YkBvbnN0YXRpb24ub3Jn PgpDYzogUm9iIENsYXJrIDxyb2JkY2xhcmtAY2hyb21pdW0ub3JnPgpDYzogVGhvbWFzIEdsZWl4 bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+CkNjOiBBbGxpc29uIFJhbmRhbCA8YWxsaXNvbkBsb2h1 dG9rLm5ldD4KQ2M6IFNoYXllbm5lIE1vdXJhIDxzaGF5ZW5uZWx1em1vdXJhQGdtYWlsLmNvbT4K Q2M6IEFiaGluYXYgS3VtYXIgPGFiaGluYXZrQGNvZGVhdXJvcmEub3JnPgpDYzogbGludXgtYXJt LWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1zYW1zdW5nLXNvY0B2Z2VyLmtl cm5lbC5vcmcKQ2M6IGxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKQ2M6IGxpbnV4 LXJlbmVzYXMtc29jQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtcm9ja2NoaXBAbGlzdHMuaW5m cmFkZWFkLm9yZwpDYzogbGludXgtdGVncmFAdmdlci5rZXJuZWwub3JnCi0tLQogZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2MzQ1LmMgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhbmVsLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjIyLmMgICAgICAgICAgICAgIHwg IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjQuYyAgICAgICAgICAgICAgICAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY3LmMgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90aS1zbjY1ZHNpODYuYyAgICAg ICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYyAgICAgICAgICAg ICAgICAgICAgICAgICB8IDEwICsrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV9kcGkuYyAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19kcm1fZHNpLmMgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2Zz bC1kY3UvZnNsX2RjdV9kcm1fcmdiLmMgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pbXgvaW14LWxkYi5jICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dw dS9kcm0vaW14L3BhcmFsbGVsLWRpc3BsYXkuYyAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfbHZkc19jb25uZWN0b3IuYyB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jICAgICAgICAgICAgICAgfCAg MiArLQogZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2ZiX291dC5jICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY29ubmVjdG9yLmMgICAgICAg ICAgICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9sdmRz LmMgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYyAgICAg ICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2x2 ZHMuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40 aV9yZ2IuYyAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc3VuNGkv c3VuNmlfbWlwaV9kc2kuYyAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3Rl Z3JhL291dHB1dC5jICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGluY2x1ZGUvZHJtL2Ry bV9wYW5lbC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA5ICstLS0tLS0tLQogMjYg ZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2MzQ1LmMg Yi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4LWFueDYzNDUuYwppbmRl eCBiNGYzYTkyM2E1MmEuLjk5MTdjZTBkODZhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2MzQ1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2MzQ1LmMKQEAgLTQ5Myw3ICs0OTMsNyBAQCBz dGF0aWMgaW50IGFueDYzNDVfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCiAJbXV0ZXhfdW5sb2NrKCZhbng2MzQ1LT5sb2NrKTsKIAogCWlmICghbnVtX21vZGVzICYm IGFueDYzNDUtPnBhbmVsKQotCQludW1fbW9kZXMgKz0gZHJtX3BhbmVsX2dldF9tb2Rlcyhhbng2 MzQ1LT5wYW5lbCk7CisJCW51bV9tb2RlcyArPSBkcm1fcGFuZWxfZ2V0X21vZGVzKGFueDYzNDUt PnBhbmVsLCBjb25uZWN0b3IpOwogCiAJcmV0dXJuIG51bV9tb2RlczsKIH0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jIGIvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMKaW5kZXggYmI0 MTFmZTUyYWU4Li42ZWZmZTUzMmY4MjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCkBAIC0xMTExLDcgKzExMTEsNyBAQCBzdGF0 aWMgaW50IGFuYWxvZ2l4X2RwX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQogCWludCByZXQsIG51bV9tb2RlcyA9IDA7CiAKIAlpZiAoZHAtPnBsYXRfZGF0YS0+cGFu ZWwpIHsKLQkJbnVtX21vZGVzICs9IGRybV9wYW5lbF9nZXRfbW9kZXMoZHAtPnBsYXRfZGF0YS0+ cGFuZWwpOworCQludW1fbW9kZXMgKz0gZHJtX3BhbmVsX2dldF9tb2RlcyhkcC0+cGxhdF9kYXRh LT5wYW5lbCwgY29ubmVjdG9yKTsKIAl9IGVsc2UgewogCQlyZXQgPSBhbmFsb2dpeF9kcF9wcmVw YXJlX3BhbmVsKGRwLCB0cnVlLCBmYWxzZSk7CiAJCWlmIChyZXQpIHsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFu ZWwuYwppbmRleCA1NTRkYTQ3ZjZkNjIuLjE0NDM4OTdmOTk5YiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFu ZWwuYwpAQCAtMzcsNyArMzcsNyBAQCBzdGF0aWMgaW50IHBhbmVsX2JyaWRnZV9jb25uZWN0b3Jf Z2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJc3RydWN0IHBhbmVs X2JyaWRnZSAqcGFuZWxfYnJpZGdlID0KIAkJZHJtX2Nvbm5lY3Rvcl90b19wYW5lbF9icmlkZ2Uo Y29ubmVjdG9yKTsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsX2JyaWRnZS0+ cGFuZWwpOworCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsX2JyaWRnZS0+cGFuZWws IGNvbm5lY3Rvcik7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxw ZXJfZnVuY3MKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFyYWRlLXBzODYy Mi5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjIyLmMKaW5kZXggYjdhNzJk ZmRjYWMzLi4xMGM0N2MwMDhiNDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv cGFyYWRlLXBzODYyMi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFyYWRlLXBzODYy Mi5jCkBAIC00NjEsNyArNDYxLDcgQEAgc3RhdGljIGludCBwczg2MjJfZ2V0X21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAKIAlwczg2MjIgPSBjb25uZWN0b3JfdG9fcHM4 NjIyKGNvbm5lY3Rvcik7CiAKLQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhwczg2MjItPnBh bmVsKTsKKwlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhwczg2MjItPnBhbmVsLCBjb25uZWN0 b3IpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNz IHBzODYyMl9jb25uZWN0b3JfaGVscGVyX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS90YzM1ODc2NC5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc2 NC5jCmluZGV4IGRiMjk4ZjU1MGE1YS4uOTYyMDdmY2ZkZTE5IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90 YzM1ODc2NC5jCkBAIC0yODIsNyArMjgyLDcgQEAgc3RhdGljIGludCB0YzM1ODc2NF9nZXRfbW9k ZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgdGMzNTg3NjQg KmN0eCA9IGNvbm5lY3Rvcl90b190YzM1ODc2NChjb25uZWN0b3IpOwogCi0JcmV0dXJuIGRybV9w YW5lbF9nZXRfbW9kZXMoY3R4LT5wYW5lbCk7CisJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMo Y3R4LT5wYW5lbCwgY29ubmVjdG9yKTsKIH0KIAogc3RhdGljIGNvbnN0CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY3LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L3RjMzU4NzY3LmMKaW5kZXggODAyOTQ3OGZmZWJiLi4zNzA5ZTVhY2U3MjQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjcuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL3RjMzU4NzY3LmMKQEAgLTEzNDYsNyArMTM0Niw3IEBAIHN0YXRpYyBpbnQgdGNfY29u bmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQlyZXR1 cm4gMDsKIAl9CiAKLQljb3VudCA9IGRybV9wYW5lbF9nZXRfbW9kZXModGMtPnBhbmVsKTsKKwlj b3VudCA9IGRybV9wYW5lbF9nZXRfbW9kZXModGMtPnBhbmVsLCBjb25uZWN0b3IpOwogCWlmIChj b3VudCA+IDApCiAJCXJldHVybiBjb3VudDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS90aS1zbjY1ZHNpODYuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGktc242NWRz aTg2LmMKaW5kZXggNDNhYmYwMWViZDRjLi45YTJkZDk4NmFmYTUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvdGktc242NWRzaTg2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS90aS1zbjY1ZHNpODYuYwpAQCAtMjA2LDcgKzIwNiw3IEBAIHN0YXRpYyBpbnQgdGlfc25f YnJpZGdlX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKIHsKIAlzdHJ1Y3QgdGlfc25fYnJpZGdlICpwZGF0YSA9IGNvbm5lY3Rvcl90b190aV9zbl9i cmlkZ2UoY29ubmVjdG9yKTsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBkYXRhLT5w YW5lbCk7CisJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMocGRhdGEtPnBhbmVsLCBjb25uZWN0 b3IpOwogfQogCiBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwppbmRl eCA0Y2FhNzM0YjRmZGUuLjNkYWViZjU2ZGM0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwpAQCAtMTE0LDEw ICsxMTQsOSBAQCBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9yZW1vdmUpOwogICovCiBpbnQgZHJt X3BhbmVsX2F0dGFjaChzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwgc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKIHsKLQlpZiAocGFuZWwtPmNvbm5lY3RvcikKKwlpZiAocGFuZWwtPmRy bSkKIAkJcmV0dXJuIC1FQlVTWTsKIAotCXBhbmVsLT5jb25uZWN0b3IgPSBjb25uZWN0b3I7CiAJ cGFuZWwtPmRybSA9IGNvbm5lY3Rvci0+ZGV2OwogCiAJcmV0dXJuIDA7CkBAIC0xMzYsNyArMTM1 LDYgQEAgRVhQT1JUX1NZTUJPTChkcm1fcGFuZWxfYXR0YWNoKTsKICAqLwogdm9pZCBkcm1fcGFu ZWxfZGV0YWNoKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQogewotCXBhbmVsLT5jb25uZWN0b3Ig PSBOVUxMOwogCXBhbmVsLT5kcm0gPSBOVUxMOwogfQogRVhQT1JUX1NZTUJPTChkcm1fcGFuZWxf ZGV0YWNoKTsKQEAgLTI0OCw2ICsyNDYsNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9kaXNh YmxlKTsKIC8qKgogICogZHJtX3BhbmVsX2dldF9tb2RlcyAtIHByb2JlIHRoZSBhdmFpbGFibGUg ZGlzcGxheSBtb2RlcyBvZiBhIHBhbmVsCiAgKiBAcGFuZWw6IERSTSBwYW5lbAorICogQGNvbm5l Y3RvcjogRFJNIGNvbm5lY3RvcgogICoKICAqIFRoZSBtb2RlcyBwcm9iZWQgZnJvbSB0aGUgcGFu ZWwgYXJlIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gdGhlIGNvbm5lY3RvcgogICogdGhhdCB0aGUg cGFuZWwgaXMgYXR0YWNoZWQgdG8uCkBAIC0yNTUsMTMgKzI1NCwxNCBAQCBFWFBPUlRfU1lNQk9M KGRybV9wYW5lbF9kaXNhYmxlKTsKICAqIFJldHVybjogVGhlIG51bWJlciBvZiBtb2RlcyBhdmFp bGFibGUgZnJvbSB0aGUgcGFuZWwgb24gc3VjY2VzcyBvciBhCiAgKiBuZWdhdGl2ZSBlcnJvciBj b2RlIG9uIGZhaWx1cmUuCiAgKi8KLWludCBkcm1fcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKQoraW50IGRybV9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAq cGFuZWwsCisJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewogCWlmICghcGFu ZWwpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJaWYgKHBhbmVsLT5mdW5jcyAmJiBwYW5lbC0+ZnVu Y3MtPmdldF9tb2RlcykKLQkJcmV0dXJuIHBhbmVsLT5mdW5jcy0+Z2V0X21vZGVzKHBhbmVsLCBw YW5lbC0+Y29ubmVjdG9yKTsKKwkJcmV0dXJuIHBhbmVsLT5mdW5jcy0+Z2V0X21vZGVzKHBhbmVs LCBjb25uZWN0b3IpOwogCiAJcmV0dXJuIC1FT1BOT1RTVVBQOwogfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RwaS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHJtX2RwaS5jCmluZGV4IDU0NzlmZjcxY2JjNi4uNDNmYTBmMjZjMDUyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHBpLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RwaS5jCkBAIC04NSw3ICs4NSw3IEBA IHN0YXRpYyBpbnQgZXh5bm9zX2RwaV9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvcikKIAl9CiAKIAlpZiAoY3R4LT5wYW5lbCkKLQkJcmV0dXJuIGRybV9wYW5lbF9nZXRf bW9kZXMoY3R4LT5wYW5lbCk7CisJCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGN0eC0+cGFu ZWwsIGNvbm5lY3Rvcik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9leHlub3MvZXh5bm9zX2RybV9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV9kc2kuYwppbmRleCBjZWIzNzA4NjRjYzQuLmQxNGQzZjI1ZDM0NCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RzaS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kc2kuYwpAQCAtMTQ2MSw3ICsxNDYxLDcgQEAgc3Rh dGljIGludCBleHlub3NfZHNpX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQogCXN0cnVjdCBleHlub3NfZHNpICpkc2kgPSBjb25uZWN0b3JfdG9fZHNpKGNvbm5lY3Rv cik7CiAKIAlpZiAoZHNpLT5wYW5lbCkKLQkJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMoZHNp LT5wYW5lbCk7CisJCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGRzaS0+cGFuZWwsIGNvbm5l Y3Rvcik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9mc2wt ZGN1L2ZzbF9kY3VfZHJtX3JnYi5jIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9k cm1fcmdiLmMKaW5kZXggODJjOTcyZTljMDI0Li45NTk4ZWUzY2M0ZDIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3JnYi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3JnYi5jCkBAIC02OCw3ICs2OCw3IEBAIHN0YXRpYyBp bnQgZnNsX2RjdV9kcm1fY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogCXN0cnVjdCBmc2xfZGN1X2RybV9jb25uZWN0b3IgKmZzbF9jb25uZWN0b3I7 CiAKIAlmc2xfY29ubmVjdG9yID0gdG9fZnNsX2RjdV9jb25uZWN0b3IoY29ubmVjdG9yKTsKLQly ZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhmc2xfY29ubmVjdG9yLT5wYW5lbCk7CisJcmV0dXJu IGRybV9wYW5lbF9nZXRfbW9kZXMoZnNsX2Nvbm5lY3Rvci0+cGFuZWwsIGNvbm5lY3Rvcik7CiB9 CiAKIHN0YXRpYyBpbnQgZnNsX2RjdV9kcm1fY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pbXgv aW14LWxkYi5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtbGRiLmMKaW5kZXggMjA4MDY5ZmFm MTgzLi44Y2IyNjY1YjJjNzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWxk Yi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWxkYi5jCkBAIC0xMjcsNyArMTI3LDcg QEAgc3RhdGljIGludCBpbXhfbGRiX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKIAlzdHJ1Y3QgaW14X2xkYl9jaGFubmVsICppbXhfbGRiX2NoID0g Y29uX3RvX2lteF9sZGJfY2goY29ubmVjdG9yKTsKIAlpbnQgbnVtX21vZGVzOwogCi0JbnVtX21v ZGVzID0gZHJtX3BhbmVsX2dldF9tb2RlcyhpbXhfbGRiX2NoLT5wYW5lbCk7CisJbnVtX21vZGVz ID0gZHJtX3BhbmVsX2dldF9tb2RlcyhpbXhfbGRiX2NoLT5wYW5lbCwgY29ubmVjdG9yKTsKIAlp ZiAobnVtX21vZGVzID4gMCkKIAkJcmV0dXJuIG51bV9tb2RlczsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14 L3BhcmFsbGVsLWRpc3BsYXkuYwppbmRleCAzNTUxOGU1ZGUzNTYuLjNkY2E0MjQwNTlmNyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMKQEAgLTUwLDcgKzUwLDcgQEAgc3Rh dGljIGludCBpbXhfcGRfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBpbXhwZC0+ZGV2LT5vZl9ub2Rl OwogCWludCBudW1fbW9kZXM7CiAKLQludW1fbW9kZXMgPSBkcm1fcGFuZWxfZ2V0X21vZGVzKGlt eHBkLT5wYW5lbCk7CisJbnVtX21vZGVzID0gZHJtX3BhbmVsX2dldF9tb2RlcyhpbXhwZC0+cGFu ZWwsIGNvbm5lY3Rvcik7CiAJaWYgKG51bV9tb2RlcyA+IDApCiAJCXJldHVybiBudW1fbW9kZXM7 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMgYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCmluZGV4IGU5OTMxYmJiZTg0Ni4uM2I1ZTAx NmQxNmM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMKQEAgLTgyMSw3ICs4MjEsNyBA QCBzdGF0aWMgaW50IG10a19kc2lfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQogewogCXN0cnVjdCBtdGtfZHNpICpkc2kgPSBjb25uZWN0b3JfdG9f ZHNpKGNvbm5lY3Rvcik7CiAKLQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhkc2ktPnBhbmVs KTsKKwlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhkc2ktPnBhbmVsLCBjb25uZWN0b3IpOwog fQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcyBtdGtfZHNp X2VuY29kZXJfaGVscGVyX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jCmluZGV4IDMxYWJkMjM1MmYzZS4uYzdkZjcx ZTJmYWZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9tZHA0X2x2 ZHNfY29ubmVjdG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9s dmRzX2Nvbm5lY3Rvci5jCkBAIC01Myw3ICs1Myw3IEBAIHN0YXRpYyBpbnQgbWRwNF9sdmRzX2Nv bm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlpZiAo cGFuZWwpIHsKIAkJZHJtX3BhbmVsX2F0dGFjaChwYW5lbCwgY29ubmVjdG9yKTsKIAotCQlyZXQg PSBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsKTsKKwkJcmV0ID0gZHJtX3BhbmVsX2dldF9tb2Rl cyhwYW5lbCwgY29ubmVjdG9yKTsKIAogCQlkcm1fcGFuZWxfZGV0YWNoKHBhbmVsKTsKIAl9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYwppbmRleCAyNzFhYTdiYmNhOTIuLjBmYzI5 ZjFiZThjYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jCkBAIC0zMjksNyAr MzI5LDcgQEAgc3RhdGljIGludCBkc2lfbWdyX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkgKiBhdHRhY2hlZCB0byB0aGUgZHJtX3BhbmVsLgog CSAqLwogCWRybV9wYW5lbF9hdHRhY2gocGFuZWwsIGNvbm5lY3Rvcik7Ci0JbnVtID0gZHJtX3Bh bmVsX2dldF9tb2RlcyhwYW5lbCk7CisJbnVtID0gZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5lbCwg Y29ubmVjdG9yKTsKIAlpZiAoIW51bSkKIAkJcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9teHNmYi9teHNmYl9vdXQuYyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNm Yl9vdXQuYwppbmRleCA0ZWI5NDc0NGM1MjYuLjllY2ExNjA1ZDExZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL214c2ZiL214c2ZiX291dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9teHNm Yi9teHNmYl9vdXQuYwpAQCAtMzEsNyArMzEsNyBAQCBzdGF0aWMgaW50IG14c2ZiX3BhbmVsX2dl dF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQkJZHJtX2Nvbm5lY3Rv cl90b19teHNmYl9kcm1fcHJpdmF0ZShjb25uZWN0b3IpOwogCiAJaWYgKG14c2ZiLT5wYW5lbCkK LQkJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMobXhzZmItPnBhbmVsKTsKKwkJcmV0dXJuIGRy bV9wYW5lbF9nZXRfbW9kZXMobXhzZmItPnBhbmVsLCBjb25uZWN0b3IpOwogCiAJcmV0dXJuIDA7 CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5j IGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jb25uZWN0b3IuYwppbmRleCA1Yjg3OTlj NjlmNjguLjk0Y2RlZDM4NzE3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v b21hcF9jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5l Y3Rvci5jCkBAIC0yMjksNyArMjI5LDggQEAgc3RhdGljIGludCBvbWFwX2Nvbm5lY3Rvcl9nZXRf bW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkgKiBvcGVyYXRpb24gdG8g dGhlIHBhbmVsIEFQSS4KIAkgKi8KIAlpZiAob21hcF9jb25uZWN0b3ItPm91dHB1dC0+cGFuZWwp Ci0JCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKG9tYXBfY29ubmVjdG9yLT5vdXRwdXQtPnBh bmVsKTsKKwkJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMob21hcF9jb25uZWN0b3ItPm91dHB1 dC0+cGFuZWwsCisJCQkJCSAgIGNvbm5lY3Rvcik7CiAKIAkvKgogCSAqIFdlIGNhbid0IHJldHJp ZXZlIG1vZGVzLCB3aGljaCBjYW4gaGFwcGVuIGZvciBpbnN0YW5jZSBmb3IgYSBEVkkgb3IKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jIGIvZHJpdmVycy9n cHUvZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMKaW5kZXggOGM2YzE3MmJiZjJlLi4yY2Y0NGI5MTg1 M2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCkBAIC05MSw3ICs5MSw3IEBAIHN0 YXRpYyBpbnQgcmNhcl9sdmRzX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgcmNhcl9sdmRzICpsdmRzID0gY29ubmVjdG9yX3Rv X3JjYXJfbHZkcyhjb25uZWN0b3IpOwogCi0JcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMobHZk cy0+cGFuZWwpOworCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGx2ZHMtPnBhbmVsLCBjb25u ZWN0b3IpOwogfQogCiBzdGF0aWMgaW50IHJjYXJfbHZkc19jb25uZWN0b3JfYXRvbWljX2NoZWNr KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2x2ZHMuYwppbmRleCA4YTRjOWFmMGJhNzMuLjMyNTgxMWQyZTI2ZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2x2ZHMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfbHZkcy5jCkBAIC0yMDEsNyArMjAxLDcgQEAg c3RhdGljIGludCByb2NrY2hpcF9sdmRzX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcikKIAlzdHJ1Y3Qgcm9ja2NoaXBfbHZkcyAqbHZkcyA9IGNvbm5l Y3Rvcl90b19sdmRzKGNvbm5lY3Rvcik7CiAJc3RydWN0IGRybV9wYW5lbCAqcGFuZWwgPSBsdmRz LT5wYW5lbDsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsKTsKKwlyZXR1cm4g ZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5lbCwgY29ubmVjdG9yKTsKIH0KIAogc3RhdGljIGNvbnN0 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYyBiL2RyaXZlcnMvZ3B1 L2RybS9zdGkvc3RpX2R2by5jCmluZGV4IDY4Mjg5YjBiMDYzYS4uZGYyZWU4NmNkNGMxIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vc3RpL3N0aV9kdm8uYwpAQCAtMzM5LDcgKzMzOSw3IEBAIHN0YXRpYyBpbnQgc3RpX2R2b19j b25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJc3Ry dWN0IHN0aV9kdm8gKmR2byA9IGR2b19jb25uZWN0b3ItPmR2bzsKIAogCWlmIChkdm8tPnBhbmVs KQotCQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhkdm8tPnBhbmVsKTsKKwkJcmV0dXJuIGRy bV9wYW5lbF9nZXRfbW9kZXMoZHZvLT5wYW5lbCwgY29ubmVjdG9yKTsKIAogCXJldHVybiAwOwog fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2x2ZHMuYyBiL2RyaXZl cnMvZ3B1L2RybS9zdW40aS9zdW40aV9sdmRzLmMKaW5kZXggMjVhYjJlZjZkNTQ1Li42NWI3YTg3 Mzk2NjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9sdmRzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2x2ZHMuYwpAQCAtNDMsNyArNDMsNyBAQCBz dGF0aWMgaW50IHN1bjRpX2x2ZHNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCiAJc3RydWN0IHN1bjRpX2x2ZHMgKmx2ZHMgPQogCQlkcm1fY29ubmVjdG9yX3RvX3N1 bjRpX2x2ZHMoY29ubmVjdG9yKTsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGx2ZHMt PnBhbmVsKTsKKwlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2RlcyhsdmRzLT5wYW5lbCwgY29ubmVj dG9yKTsKIH0KIAogc3RhdGljIHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyBzdW40 aV9sdmRzX2Nvbl9oZWxwZXJfZnVuY3MgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfcmdiLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfcmdiLmMKaW5k ZXggZTc0YjllZGRjYTAxLi5iMjdmMTZhZjUwZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9zdW40aS9zdW40aV9yZ2IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfcmdi LmMKQEAgLTQ3LDcgKzQ3LDcgQEAgc3RhdGljIGludCBzdW40aV9yZ2JfZ2V0X21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJc3RydWN0IHN1bjRpX3JnYiAqcmdiID0KIAkJ ZHJtX2Nvbm5lY3Rvcl90b19zdW40aV9yZ2IoY29ubmVjdG9yKTsKIAotCXJldHVybiBkcm1fcGFu ZWxfZ2V0X21vZGVzKHJnYi0+cGFuZWwpOworCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHJn Yi0+cGFuZWwsIGNvbm5lY3Rvcik7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW42aV9t aXBpX2RzaS5jCmluZGV4IGM5NThjYTliYWU2My4uNGU4ZjYzNGNjMmRiIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYwpAQCAtNzk1LDcgKzc5NSw3IEBAIHN0YXRpYyBpbnQg c3VuNmlfZHNpX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewog CXN0cnVjdCBzdW42aV9kc2kgKmRzaSA9IGNvbm5lY3Rvcl90b19zdW42aV9kc2koY29ubmVjdG9y KTsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGRzaS0+cGFuZWwpOworCXJldHVybiBk cm1fcGFuZWxfZ2V0X21vZGVzKGRzaS0+cGFuZWwsIGNvbm5lY3Rvcik7CiB9CiAKIHN0YXRpYyBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3Mgc3VuNmlfZHNpX2Nvbm5lY3Rvcl9oZWxw ZXJfZnVuY3MgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvb3V0cHV0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvb3V0cHV0LmMKaW5kZXggNWJkYmY5ZmZjZGExLi40OTQ4 MzczZDhjNzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9vdXRwdXQuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvb3V0cHV0LmMKQEAgLTIzLDcgKzIzLDcgQEAgaW50IHRl Z3JhX291dHB1dF9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCiAJICogaWdub3JlIGFueSBvdGhlciBtZWFucyBvZiBvYnRhaW5pbmcgYSBtb2RlLgog CSAqLwogCWlmIChvdXRwdXQtPnBhbmVsKSB7Ci0JCWVyciA9IGRybV9wYW5lbF9nZXRfbW9kZXMo b3V0cHV0LT5wYW5lbCk7CisJCWVyciA9IGRybV9wYW5lbF9nZXRfbW9kZXMob3V0cHV0LT5wYW5l bCwgY29ubmVjdG9yKTsKIAkJaWYgKGVyciA+IDApCiAJCQlyZXR1cm4gZXJyOwogCX0KZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oIGIvaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgK aW5kZXggZmIwMWI4ZGY4YzJhLi41YzYyZGZlNzNjNjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJt L2RybV9wYW5lbC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oCkBAIC0xMzksMTMgKzEz OSw2IEBAIHN0cnVjdCBkcm1fcGFuZWwgewogCSAqLwogCXN0cnVjdCBkcm1fZGV2aWNlICpkcm07 CiAKLQkvKioKLQkgKiBAY29ubmVjdG9yOgotCSAqCi0JICogRFJNIGNvbm5lY3RvciB0aGF0IHRo ZSBwYW5lbCBpcyBhdHRhY2hlZCB0by4KLQkgKi8KLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yOwotCiAJLyoqCiAJICogQGRldjoKIAkgKgpAQCAtMjA0LDcgKzE5Nyw3IEBAIGludCBk cm1fcGFuZWxfdW5wcmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKIGludCBkcm1fcGFu ZWxfZW5hYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKIGludCBkcm1fcGFuZWxfZGlzYWJs ZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCk7CiAKLWludCBkcm1fcGFuZWxfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKK2ludCBkcm1fcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsLCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIAogI2lm IGRlZmluZWQoQ09ORklHX09GKSAmJiBkZWZpbmVkKENPTkZJR19EUk1fUEFORUwpCiBzdHJ1Y3Qg ZHJtX3BhbmVsICpvZl9kcm1fZmluZF9wYW5lbChjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5w KTsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7EFD7C43603 for ; Sat, 7 Dec 2019 14:07:35 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4949D206D6 for ; Sat, 7 Dec 2019 14:07:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Z3p6pq6k"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="tWhw1BWV" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4949D206D6 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ravnborg.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=qVbpjjpSMuX4/joUmoG8PIu4NNuUe7wfQjtm2gZKw8Q=; b=Z3p6pq6kC5Y3KI w78pT74R048lMlJY4Bkh0EUOae0HXq7R6KJMIEfktPrZWXtSmGcdC5H8yKFt7S4ri/Lemo2JxhNRo F6SIbtahi1ZZrNDUc68s4F0bcsDX3+zyClChlNqqGBZvZoG+E3GZ2RZeb1tsGyWz7UN5QJd7E3UU2 8JZHyo0q10Uf1Lm7jHuRGWY3nqapxbfq6Rjas3jeAoU//pd1Fl8T40l0wbbIVklHeiIttERYcPGcY O9KrI5A8pD3eHYmkbcMNEosu1V1hcJysorkgTbpv+ESfciW8HxbYWe1Fv9+OsVmzZumFzmUJ2WAbZ P/+2/7h7W/G2aagJJGXQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1idajv-0000w2-Mg; Sat, 07 Dec 2019 14:07:19 +0000 Received: from mail-lj1-x242.google.com ([2a00:1450:4864:20::242]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1idah4-0005cG-Qr; Sat, 07 Dec 2019 14:04:26 +0000 Received: by mail-lj1-x242.google.com with SMTP id a13so10680763ljm.10; Sat, 07 Dec 2019 06:04:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8evkGsqdjsxR6zNlKLbjRkRrMXnGbeONdZJG9XNraAU=; b=tWhw1BWV4Yl2ikgOj65djC4gYLZCEkrpXDYcNsZF6C7wn617opaIeQ9W0zB4TuLATQ Gddy20esVBCvho9jBXBxERLH5W1qzHh8r+g91KW4GD7+g2wAR8WDnwmOZmPjzG1pTv7v phUAsS4hYxJhX3cLhiT3Q6NkX+PUzM+Vr3/LcRQGqgZIABQv7ab9B2z9Fw2FfpXme5/1 j/+oUBHrCS03+Mi9M5EkpgOcLOyVrbgNBkWwtFkDB+OisAKZ1mwvYkY90WsJZh6HYZTp sw3TibrcWJ/3MuAGa9kvsDKWly0n71POCIP6B+oW8PiDIWq39hVKF71ubaknqH2T5c5S yXfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=8evkGsqdjsxR6zNlKLbjRkRrMXnGbeONdZJG9XNraAU=; b=X4PI0I5JPavQgg6XtCPdT3DMDTskB2FxYNBg9ndwmKHHZp3uxD/qhLnLQ/AL66+mh7 v2e9SVHpA5qPa61yrZYR1WGDNwE+Naq0URTuXuZpIc5lEUTXuDVPHfseUI1Sw3ff50cj 1zyTrf8cQajYVu+wr/iIxwYt32Pp1wiMsihtMZ4UokkwImOk/sVVCiYGiLZSD0EdU9DT RqL2m/s8pFoTBB8nK1rf/AZO9mISpyinJ9MMLx9OXWrQhQi+smWlEmfssmaqDs8X5sy2 ipa4RGN+rbvarSr0lcWlbhkAM6t1Q4nXaOojnYJH7TULw2fy1+KOk5teMJYwQ7QQxDmk iCpw== X-Gm-Message-State: APjAAAVMFRiNURyCfJT3NZMVUVt2AsPuYyakpvHp0BrZp6Qsf1cm5YYp V6FaXsrSk9TbPneTUmDXlmk= X-Google-Smtp-Source: APXvYqx/+SUnV468LyYnP995w3QVYgJ09FxOnaYpXCmTjBFRMhaMCgkb2I0DIsChTSff65ukPpIL1Q== X-Received: by 2002:a2e:9942:: with SMTP id r2mr11974513ljj.182.1575727460821; Sat, 07 Dec 2019 06:04:20 -0800 (PST) Received: from saturn.lan (18.158-248-194.customer.lyse.net. [158.248.194.18]) by smtp.gmail.com with ESMTPSA id w17sm5644188lfn.22.2019.12.07.06.04.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Dec 2019 06:04:20 -0800 (PST) From: Sam Ravnborg To: dri-devel@lists.freedesktop.org, Thierry Reding , Laurent Pinchart , Linus Walleij , Sam Ravnborg Subject: [PATCH v2 06/25] drm/panel: decouple connector from drm_panel Date: Sat, 7 Dec 2019 15:03:34 +0100 Message-Id: <20191207140353.23967-7-sam@ravnborg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191207140353.23967-1-sam@ravnborg.org> References: <20191207140353.23967-1-sam@ravnborg.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191207_060423_143978_477E5EEC X-CRM114-Status: GOOD ( 18.64 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Hariprasad Kelam , =?UTF-8?q?Heiko=20St=C3=BCbner?= , Neil Armstrong , David Airlie , Stefan Agner , Andrzej Hajda , Laurent Pinchart , Benjamin Gaignard , Fabio Estevam , Marek Vasut , linux-samsung-soc@vger.kernel.org, Joonyoung Shim , Vincent Abriou , Jeffrey Hugo , Allison Randal , Krzysztof Kozlowski , Jonathan Hunter , Vasily Khoruzhick , linux-rockchip@lists.infradead.org, Chen-Yu Tsai , Tomi Valkeinen , Matthias Brugger , Jagan Teki , CK Hu , Philipp Zabel , NXP Linux Team , Rob Clark , Jitao Shi , Pengutronix Kernel Team , Jonas Karlman , Sascha Hauer , Alison Wang , Maarten Lankhorst , Brian Masney , Maxime Ripard , Inki Dae , Alexios Zavras , linux-mediatek@lists.infradead.org, Abhinav Kumar , linux-tegra@vger.kernel.org, Thomas Gleixner , Sean Paul , linux-arm-kernel@lists.infradead.org, Jernej Skrabec , Purism Kernel Team , Kieran Bingham , Seung-Woo Kim , Sandy Huang , linux-renesas-soc@vger.kernel.org, Shayenne Moura , Kyungmin Park , Boris Brezillon , Torsten Duwe , Kukjin Kim , Daniel Vetter , Sean Paul , Icenowy Zheng , Shawn Guo Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org VG8gZmFjaWxpdGF0ZSBtb3ZpbmcgY29ubmVjdG9yIGNyZWF0aW9uIHRvIGRpc3BsYXkgZHJpdmVy cywKZGVjb3VwbGUgdGhlIGRybV9jb25uZWN0b3IgZnJvbSBkcm1fcGFuZWwuCgpUaGlzIHBhdGNo IGFkZHMgYSBjb25uZWN0b3IgYXJndW1lbnQgdG8gZHJtX3BhbmVsX2dldF9tb2RlcygpLgoKQWxs IHVzZXJzIG9mIGRybV9wYW5lbF9nZXRfbW9kZXMoKSBhbHJlYWR5IGhhZCB0aGUgY29ubmVjdG9y CmF2YWlsYWJsZSwgc28gdXBkYXRpbmcgdXNlcnMgd2FzIHRyaXZpYWwuCgpXaXRoIHRoaXMgcGF0 Y2ggZHJtX3BhbmVsIG5vIGxvbmdlciBrZWVwcyBhIHJlZmVyZW5jZSB0byB0aGUgZHJtX2Nvbm5l Y3Rvci4KClNpZ25lZC1vZmYtYnk6IFNhbSBSYXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KUmV2 aWV3ZWQtYnk6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJk LmNvbT4KUmV2aWV3ZWQtYnk6IExpbnVzIFdhbGxlaWogPGxpbnVzLndhbGxlaWpAbGluYXJvLm9y Zz4KQWNrZWQtYnk6IEplZmZyZXkgSHVnbyA8amVmZnJleS5sLmh1Z29AZ21haWwuY29tPgpDYzog VGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWlsLmNvbT4KQ2M6IExhdXJlbnQgUGlu Y2hhcnQgPExhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KQ2M6IFNhbSBSYXZuYm9y ZyA8c2FtQHJhdm5ib3JnLm9yZz4KQ2M6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5j b20+CkNjOiBOZWlsIEFybXN0cm9uZyA8bmFybXN0cm9uZ0BiYXlsaWJyZS5jb20+CkNjOiBKb25h cyBLYXJsbWFuIDxqb25hc0Brd2lib28uc2U+CkNjOiBKZXJuZWogU2tyYWJlYyA8amVybmVqLnNr cmFiZWNAc2lvbC5uZXQ+CkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RA bGludXguaW50ZWwuY29tPgpDYzogTWF4aW1lIFJpcGFyZCA8bXJpcGFyZEBrZXJuZWwub3JnPgpD YzogRGF2aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgpDYzogRGFuaWVsIFZldHRlciA8ZGFu aWVsQGZmd2xsLmNoPgpDYzogSW5raSBEYWUgPGlua2kuZGFlQHNhbXN1bmcuY29tPgpDYzogSm9v bnlvdW5nIFNoaW0gPGp5MDkyMi5zaGltQHNhbXN1bmcuY29tPgpDYzogU2V1bmctV29vIEtpbSA8 c3cwMzEyLmtpbUBzYW1zdW5nLmNvbT4KQ2M6IEt5dW5nbWluIFBhcmsgPGt5dW5nbWluLnBhcmtA c2Ftc3VuZy5jb20+CkNjOiBLdWtqaW4gS2ltIDxrZ2VuZUBrZXJuZWwub3JnPgpDYzogS3J6eXN6 dG9mIEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPgpDYzogU3RlZmFuIEFnbmVyIDxzdGVmYW5A YWduZXIuY2g+CkNjOiBBbGlzb24gV2FuZyA8YWxpc29uLndhbmdAbnhwLmNvbT4KQ2M6IFBoaWxp cHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CkNjOiBTaGF3biBHdW8gPHNoYXduZ3Vv QGtlcm5lbC5vcmc+CkNjOiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+CkNj OiBQZW5ndXRyb25peCBLZXJuZWwgVGVhbSA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgpDYzogRmFi aW8gRXN0ZXZhbSA8ZmVzdGV2YW1AZ21haWwuY29tPgpDYzogTlhQIExpbnV4IFRlYW0gPGxpbnV4 LWlteEBueHAuY29tPgpDYzogQ0sgSHUgPGNrLmh1QG1lZGlhdGVrLmNvbT4KQ2M6IE1hdHRoaWFz IEJydWdnZXIgPG1hdHRoaWFzLmJnZ0BnbWFpbC5jb20+CkNjOiBNYXJlayBWYXN1dCA8bWFyZXhA ZGVueC5kZT4KQ2M6IFRvbWkgVmFsa2VpbmVuIDx0b21pLnZhbGtlaW5lbkB0aS5jb20+CkNjOiBL aWVyYW4gQmluZ2hhbSA8a2llcmFuLmJpbmdoYW0rcmVuZXNhc0BpZGVhc29uYm9hcmQuY29tPgpD YzogU2FuZHkgSHVhbmcgPGhqY0Byb2NrLWNoaXBzLmNvbT4KQ2M6ICJIZWlrbyBTdMO8Ym5lciIg PGhlaWtvQHNudGVjaC5kZT4KQ2M6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFy ZEBsaW5hcm8ub3JnPgpDYzogVmluY2VudCBBYnJpb3UgPHZpbmNlbnQuYWJyaW91QHN0LmNvbT4K Q2M6IENoZW4tWXUgVHNhaSA8d2Vuc0Bjc2llLm9yZz4KQ2M6IEpvbmF0aGFuIEh1bnRlciA8am9u YXRoYW5oQG52aWRpYS5jb20+CkNjOiBUb3JzdGVuIER1d2UgPGR1d2VAbHN0LmRlPgpDYzogVmFz aWx5IEtob3J1emhpY2sgPGFuYXJzb3VsQGdtYWlsLmNvbT4KQ2M6IEljZW5vd3kgWmhlbmcgPGlj ZW5vd3lAYW9zYy5pbz4KQ2M6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgpDYzog TGludXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPgpDYzogQm9yaXMgQnJlemls bG9uIDxib3Jpcy5icmV6aWxsb25AY29sbGFib3JhLmNvbT4KQ2M6IEhhcmlwcmFzYWQgS2VsYW0g PGhhcmlwcmFzYWQua2VsYW1AZ21haWwuY29tPgpDYzogQWxleGlvcyBaYXZyYXMgPGFsZXhpb3Mu emF2cmFzQGludGVsLmNvbT4KQ2M6IEJyaWFuIE1hc25leSA8bWFzbmV5YkBvbnN0YXRpb24ub3Jn PgpDYzogUm9iIENsYXJrIDxyb2JkY2xhcmtAY2hyb21pdW0ub3JnPgpDYzogVGhvbWFzIEdsZWl4 bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+CkNjOiBBbGxpc29uIFJhbmRhbCA8YWxsaXNvbkBsb2h1 dG9rLm5ldD4KQ2M6IFNoYXllbm5lIE1vdXJhIDxzaGF5ZW5uZWx1em1vdXJhQGdtYWlsLmNvbT4K Q2M6IEFiaGluYXYgS3VtYXIgPGFiaGluYXZrQGNvZGVhdXJvcmEub3JnPgpDYzogbGludXgtYXJt LWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1zYW1zdW5nLXNvY0B2Z2VyLmtl cm5lbC5vcmcKQ2M6IGxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKQ2M6IGxpbnV4 LXJlbmVzYXMtc29jQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtcm9ja2NoaXBAbGlzdHMuaW5m cmFkZWFkLm9yZwpDYzogbGludXgtdGVncmFAdmdlci5rZXJuZWwub3JnCi0tLQogZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2MzQ1LmMgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhbmVsLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjIyLmMgICAgICAgICAgICAgIHwg IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjQuYyAgICAgICAgICAgICAgICAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY3LmMgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90aS1zbjY1ZHNpODYuYyAgICAg ICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYyAgICAgICAgICAg ICAgICAgICAgICAgICB8IDEwICsrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV9kcGkuYyAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19kcm1fZHNpLmMgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2Zz bC1kY3UvZnNsX2RjdV9kcm1fcmdiLmMgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pbXgvaW14LWxkYi5jICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dw dS9kcm0vaW14L3BhcmFsbGVsLWRpc3BsYXkuYyAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfbHZkc19jb25uZWN0b3IuYyB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jICAgICAgICAgICAgICAgfCAg MiArLQogZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2ZiX291dC5jICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY29ubmVjdG9yLmMgICAgICAg ICAgICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9sdmRz LmMgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYyAgICAg ICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2x2 ZHMuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40 aV9yZ2IuYyAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc3VuNGkv c3VuNmlfbWlwaV9kc2kuYyAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3Rl Z3JhL291dHB1dC5jICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGluY2x1ZGUvZHJtL2Ry bV9wYW5lbC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA5ICstLS0tLS0tLQogMjYg ZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2MzQ1LmMg Yi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4LWFueDYzNDUuYwppbmRl eCBiNGYzYTkyM2E1MmEuLjk5MTdjZTBkODZhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2MzQ1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2MzQ1LmMKQEAgLTQ5Myw3ICs0OTMsNyBAQCBz dGF0aWMgaW50IGFueDYzNDVfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCiAJbXV0ZXhfdW5sb2NrKCZhbng2MzQ1LT5sb2NrKTsKIAogCWlmICghbnVtX21vZGVzICYm IGFueDYzNDUtPnBhbmVsKQotCQludW1fbW9kZXMgKz0gZHJtX3BhbmVsX2dldF9tb2Rlcyhhbng2 MzQ1LT5wYW5lbCk7CisJCW51bV9tb2RlcyArPSBkcm1fcGFuZWxfZ2V0X21vZGVzKGFueDYzNDUt PnBhbmVsLCBjb25uZWN0b3IpOwogCiAJcmV0dXJuIG51bV9tb2RlczsKIH0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jIGIvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMKaW5kZXggYmI0 MTFmZTUyYWU4Li42ZWZmZTUzMmY4MjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCkBAIC0xMTExLDcgKzExMTEsNyBAQCBzdGF0 aWMgaW50IGFuYWxvZ2l4X2RwX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQogCWludCByZXQsIG51bV9tb2RlcyA9IDA7CiAKIAlpZiAoZHAtPnBsYXRfZGF0YS0+cGFu ZWwpIHsKLQkJbnVtX21vZGVzICs9IGRybV9wYW5lbF9nZXRfbW9kZXMoZHAtPnBsYXRfZGF0YS0+ cGFuZWwpOworCQludW1fbW9kZXMgKz0gZHJtX3BhbmVsX2dldF9tb2RlcyhkcC0+cGxhdF9kYXRh LT5wYW5lbCwgY29ubmVjdG9yKTsKIAl9IGVsc2UgewogCQlyZXQgPSBhbmFsb2dpeF9kcF9wcmVw YXJlX3BhbmVsKGRwLCB0cnVlLCBmYWxzZSk7CiAJCWlmIChyZXQpIHsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFu ZWwuYwppbmRleCA1NTRkYTQ3ZjZkNjIuLjE0NDM4OTdmOTk5YiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFu ZWwuYwpAQCAtMzcsNyArMzcsNyBAQCBzdGF0aWMgaW50IHBhbmVsX2JyaWRnZV9jb25uZWN0b3Jf Z2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJc3RydWN0IHBhbmVs X2JyaWRnZSAqcGFuZWxfYnJpZGdlID0KIAkJZHJtX2Nvbm5lY3Rvcl90b19wYW5lbF9icmlkZ2Uo Y29ubmVjdG9yKTsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsX2JyaWRnZS0+ cGFuZWwpOworCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsX2JyaWRnZS0+cGFuZWws IGNvbm5lY3Rvcik7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxw ZXJfZnVuY3MKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFyYWRlLXBzODYy Mi5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjIyLmMKaW5kZXggYjdhNzJk ZmRjYWMzLi4xMGM0N2MwMDhiNDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv cGFyYWRlLXBzODYyMi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFyYWRlLXBzODYy Mi5jCkBAIC00NjEsNyArNDYxLDcgQEAgc3RhdGljIGludCBwczg2MjJfZ2V0X21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAKIAlwczg2MjIgPSBjb25uZWN0b3JfdG9fcHM4 NjIyKGNvbm5lY3Rvcik7CiAKLQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhwczg2MjItPnBh bmVsKTsKKwlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhwczg2MjItPnBhbmVsLCBjb25uZWN0 b3IpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNz IHBzODYyMl9jb25uZWN0b3JfaGVscGVyX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS90YzM1ODc2NC5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc2 NC5jCmluZGV4IGRiMjk4ZjU1MGE1YS4uOTYyMDdmY2ZkZTE5IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90 YzM1ODc2NC5jCkBAIC0yODIsNyArMjgyLDcgQEAgc3RhdGljIGludCB0YzM1ODc2NF9nZXRfbW9k ZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgdGMzNTg3NjQg KmN0eCA9IGNvbm5lY3Rvcl90b190YzM1ODc2NChjb25uZWN0b3IpOwogCi0JcmV0dXJuIGRybV9w YW5lbF9nZXRfbW9kZXMoY3R4LT5wYW5lbCk7CisJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMo Y3R4LT5wYW5lbCwgY29ubmVjdG9yKTsKIH0KIAogc3RhdGljIGNvbnN0CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY3LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L3RjMzU4NzY3LmMKaW5kZXggODAyOTQ3OGZmZWJiLi4zNzA5ZTVhY2U3MjQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjcuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL3RjMzU4NzY3LmMKQEAgLTEzNDYsNyArMTM0Niw3IEBAIHN0YXRpYyBpbnQgdGNfY29u bmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQlyZXR1 cm4gMDsKIAl9CiAKLQljb3VudCA9IGRybV9wYW5lbF9nZXRfbW9kZXModGMtPnBhbmVsKTsKKwlj b3VudCA9IGRybV9wYW5lbF9nZXRfbW9kZXModGMtPnBhbmVsLCBjb25uZWN0b3IpOwogCWlmIChj b3VudCA+IDApCiAJCXJldHVybiBjb3VudDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS90aS1zbjY1ZHNpODYuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGktc242NWRz aTg2LmMKaW5kZXggNDNhYmYwMWViZDRjLi45YTJkZDk4NmFmYTUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvdGktc242NWRzaTg2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS90aS1zbjY1ZHNpODYuYwpAQCAtMjA2LDcgKzIwNiw3IEBAIHN0YXRpYyBpbnQgdGlfc25f YnJpZGdlX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKIHsKIAlzdHJ1Y3QgdGlfc25fYnJpZGdlICpwZGF0YSA9IGNvbm5lY3Rvcl90b190aV9zbl9i cmlkZ2UoY29ubmVjdG9yKTsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBkYXRhLT5w YW5lbCk7CisJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMocGRhdGEtPnBhbmVsLCBjb25uZWN0 b3IpOwogfQogCiBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwppbmRl eCA0Y2FhNzM0YjRmZGUuLjNkYWViZjU2ZGM0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwpAQCAtMTE0LDEw ICsxMTQsOSBAQCBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9yZW1vdmUpOwogICovCiBpbnQgZHJt X3BhbmVsX2F0dGFjaChzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwgc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKIHsKLQlpZiAocGFuZWwtPmNvbm5lY3RvcikKKwlpZiAocGFuZWwtPmRy bSkKIAkJcmV0dXJuIC1FQlVTWTsKIAotCXBhbmVsLT5jb25uZWN0b3IgPSBjb25uZWN0b3I7CiAJ cGFuZWwtPmRybSA9IGNvbm5lY3Rvci0+ZGV2OwogCiAJcmV0dXJuIDA7CkBAIC0xMzYsNyArMTM1 LDYgQEAgRVhQT1JUX1NZTUJPTChkcm1fcGFuZWxfYXR0YWNoKTsKICAqLwogdm9pZCBkcm1fcGFu ZWxfZGV0YWNoKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQogewotCXBhbmVsLT5jb25uZWN0b3Ig PSBOVUxMOwogCXBhbmVsLT5kcm0gPSBOVUxMOwogfQogRVhQT1JUX1NZTUJPTChkcm1fcGFuZWxf ZGV0YWNoKTsKQEAgLTI0OCw2ICsyNDYsNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9kaXNh YmxlKTsKIC8qKgogICogZHJtX3BhbmVsX2dldF9tb2RlcyAtIHByb2JlIHRoZSBhdmFpbGFibGUg ZGlzcGxheSBtb2RlcyBvZiBhIHBhbmVsCiAgKiBAcGFuZWw6IERSTSBwYW5lbAorICogQGNvbm5l Y3RvcjogRFJNIGNvbm5lY3RvcgogICoKICAqIFRoZSBtb2RlcyBwcm9iZWQgZnJvbSB0aGUgcGFu ZWwgYXJlIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gdGhlIGNvbm5lY3RvcgogICogdGhhdCB0aGUg cGFuZWwgaXMgYXR0YWNoZWQgdG8uCkBAIC0yNTUsMTMgKzI1NCwxNCBAQCBFWFBPUlRfU1lNQk9M KGRybV9wYW5lbF9kaXNhYmxlKTsKICAqIFJldHVybjogVGhlIG51bWJlciBvZiBtb2RlcyBhdmFp bGFibGUgZnJvbSB0aGUgcGFuZWwgb24gc3VjY2VzcyBvciBhCiAgKiBuZWdhdGl2ZSBlcnJvciBj b2RlIG9uIGZhaWx1cmUuCiAgKi8KLWludCBkcm1fcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKQoraW50IGRybV9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAq cGFuZWwsCisJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewogCWlmICghcGFu ZWwpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJaWYgKHBhbmVsLT5mdW5jcyAmJiBwYW5lbC0+ZnVu Y3MtPmdldF9tb2RlcykKLQkJcmV0dXJuIHBhbmVsLT5mdW5jcy0+Z2V0X21vZGVzKHBhbmVsLCBw YW5lbC0+Y29ubmVjdG9yKTsKKwkJcmV0dXJuIHBhbmVsLT5mdW5jcy0+Z2V0X21vZGVzKHBhbmVs LCBjb25uZWN0b3IpOwogCiAJcmV0dXJuIC1FT1BOT1RTVVBQOwogfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RwaS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHJtX2RwaS5jCmluZGV4IDU0NzlmZjcxY2JjNi4uNDNmYTBmMjZjMDUyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHBpLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RwaS5jCkBAIC04NSw3ICs4NSw3IEBA IHN0YXRpYyBpbnQgZXh5bm9zX2RwaV9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvcikKIAl9CiAKIAlpZiAoY3R4LT5wYW5lbCkKLQkJcmV0dXJuIGRybV9wYW5lbF9nZXRf bW9kZXMoY3R4LT5wYW5lbCk7CisJCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGN0eC0+cGFu ZWwsIGNvbm5lY3Rvcik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9leHlub3MvZXh5bm9zX2RybV9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV9kc2kuYwppbmRleCBjZWIzNzA4NjRjYzQuLmQxNGQzZjI1ZDM0NCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RzaS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kc2kuYwpAQCAtMTQ2MSw3ICsxNDYxLDcgQEAgc3Rh dGljIGludCBleHlub3NfZHNpX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQogCXN0cnVjdCBleHlub3NfZHNpICpkc2kgPSBjb25uZWN0b3JfdG9fZHNpKGNvbm5lY3Rv cik7CiAKIAlpZiAoZHNpLT5wYW5lbCkKLQkJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMoZHNp LT5wYW5lbCk7CisJCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGRzaS0+cGFuZWwsIGNvbm5l Y3Rvcik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9mc2wt ZGN1L2ZzbF9kY3VfZHJtX3JnYi5jIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9k cm1fcmdiLmMKaW5kZXggODJjOTcyZTljMDI0Li45NTk4ZWUzY2M0ZDIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3JnYi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3JnYi5jCkBAIC02OCw3ICs2OCw3IEBAIHN0YXRpYyBp bnQgZnNsX2RjdV9kcm1fY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogCXN0cnVjdCBmc2xfZGN1X2RybV9jb25uZWN0b3IgKmZzbF9jb25uZWN0b3I7 CiAKIAlmc2xfY29ubmVjdG9yID0gdG9fZnNsX2RjdV9jb25uZWN0b3IoY29ubmVjdG9yKTsKLQly ZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhmc2xfY29ubmVjdG9yLT5wYW5lbCk7CisJcmV0dXJu IGRybV9wYW5lbF9nZXRfbW9kZXMoZnNsX2Nvbm5lY3Rvci0+cGFuZWwsIGNvbm5lY3Rvcik7CiB9 CiAKIHN0YXRpYyBpbnQgZnNsX2RjdV9kcm1fY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pbXgv aW14LWxkYi5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtbGRiLmMKaW5kZXggMjA4MDY5ZmFm MTgzLi44Y2IyNjY1YjJjNzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWxk Yi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWxkYi5jCkBAIC0xMjcsNyArMTI3LDcg QEAgc3RhdGljIGludCBpbXhfbGRiX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKIAlzdHJ1Y3QgaW14X2xkYl9jaGFubmVsICppbXhfbGRiX2NoID0g Y29uX3RvX2lteF9sZGJfY2goY29ubmVjdG9yKTsKIAlpbnQgbnVtX21vZGVzOwogCi0JbnVtX21v ZGVzID0gZHJtX3BhbmVsX2dldF9tb2RlcyhpbXhfbGRiX2NoLT5wYW5lbCk7CisJbnVtX21vZGVz ID0gZHJtX3BhbmVsX2dldF9tb2RlcyhpbXhfbGRiX2NoLT5wYW5lbCwgY29ubmVjdG9yKTsKIAlp ZiAobnVtX21vZGVzID4gMCkKIAkJcmV0dXJuIG51bV9tb2RlczsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14 L3BhcmFsbGVsLWRpc3BsYXkuYwppbmRleCAzNTUxOGU1ZGUzNTYuLjNkY2E0MjQwNTlmNyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMKQEAgLTUwLDcgKzUwLDcgQEAgc3Rh dGljIGludCBpbXhfcGRfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBpbXhwZC0+ZGV2LT5vZl9ub2Rl OwogCWludCBudW1fbW9kZXM7CiAKLQludW1fbW9kZXMgPSBkcm1fcGFuZWxfZ2V0X21vZGVzKGlt eHBkLT5wYW5lbCk7CisJbnVtX21vZGVzID0gZHJtX3BhbmVsX2dldF9tb2RlcyhpbXhwZC0+cGFu ZWwsIGNvbm5lY3Rvcik7CiAJaWYgKG51bV9tb2RlcyA+IDApCiAJCXJldHVybiBudW1fbW9kZXM7 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMgYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCmluZGV4IGU5OTMxYmJiZTg0Ni4uM2I1ZTAx NmQxNmM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMKQEAgLTgyMSw3ICs4MjEsNyBA QCBzdGF0aWMgaW50IG10a19kc2lfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQogewogCXN0cnVjdCBtdGtfZHNpICpkc2kgPSBjb25uZWN0b3JfdG9f ZHNpKGNvbm5lY3Rvcik7CiAKLQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhkc2ktPnBhbmVs KTsKKwlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhkc2ktPnBhbmVsLCBjb25uZWN0b3IpOwog fQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcyBtdGtfZHNp X2VuY29kZXJfaGVscGVyX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jCmluZGV4IDMxYWJkMjM1MmYzZS4uYzdkZjcx ZTJmYWZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9tZHA0X2x2 ZHNfY29ubmVjdG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9s dmRzX2Nvbm5lY3Rvci5jCkBAIC01Myw3ICs1Myw3IEBAIHN0YXRpYyBpbnQgbWRwNF9sdmRzX2Nv bm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlpZiAo cGFuZWwpIHsKIAkJZHJtX3BhbmVsX2F0dGFjaChwYW5lbCwgY29ubmVjdG9yKTsKIAotCQlyZXQg PSBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsKTsKKwkJcmV0ID0gZHJtX3BhbmVsX2dldF9tb2Rl cyhwYW5lbCwgY29ubmVjdG9yKTsKIAogCQlkcm1fcGFuZWxfZGV0YWNoKHBhbmVsKTsKIAl9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYwppbmRleCAyNzFhYTdiYmNhOTIuLjBmYzI5 ZjFiZThjYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jCkBAIC0zMjksNyAr MzI5LDcgQEAgc3RhdGljIGludCBkc2lfbWdyX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkgKiBhdHRhY2hlZCB0byB0aGUgZHJtX3BhbmVsLgog CSAqLwogCWRybV9wYW5lbF9hdHRhY2gocGFuZWwsIGNvbm5lY3Rvcik7Ci0JbnVtID0gZHJtX3Bh bmVsX2dldF9tb2RlcyhwYW5lbCk7CisJbnVtID0gZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5lbCwg Y29ubmVjdG9yKTsKIAlpZiAoIW51bSkKIAkJcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9teHNmYi9teHNmYl9vdXQuYyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNm Yl9vdXQuYwppbmRleCA0ZWI5NDc0NGM1MjYuLjllY2ExNjA1ZDExZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL214c2ZiL214c2ZiX291dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9teHNm Yi9teHNmYl9vdXQuYwpAQCAtMzEsNyArMzEsNyBAQCBzdGF0aWMgaW50IG14c2ZiX3BhbmVsX2dl dF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQkJZHJtX2Nvbm5lY3Rv cl90b19teHNmYl9kcm1fcHJpdmF0ZShjb25uZWN0b3IpOwogCiAJaWYgKG14c2ZiLT5wYW5lbCkK LQkJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMobXhzZmItPnBhbmVsKTsKKwkJcmV0dXJuIGRy bV9wYW5lbF9nZXRfbW9kZXMobXhzZmItPnBhbmVsLCBjb25uZWN0b3IpOwogCiAJcmV0dXJuIDA7 CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5j IGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jb25uZWN0b3IuYwppbmRleCA1Yjg3OTlj NjlmNjguLjk0Y2RlZDM4NzE3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v b21hcF9jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5l Y3Rvci5jCkBAIC0yMjksNyArMjI5LDggQEAgc3RhdGljIGludCBvbWFwX2Nvbm5lY3Rvcl9nZXRf bW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkgKiBvcGVyYXRpb24gdG8g dGhlIHBhbmVsIEFQSS4KIAkgKi8KIAlpZiAob21hcF9jb25uZWN0b3ItPm91dHB1dC0+cGFuZWwp Ci0JCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKG9tYXBfY29ubmVjdG9yLT5vdXRwdXQtPnBh bmVsKTsKKwkJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMob21hcF9jb25uZWN0b3ItPm91dHB1 dC0+cGFuZWwsCisJCQkJCSAgIGNvbm5lY3Rvcik7CiAKIAkvKgogCSAqIFdlIGNhbid0IHJldHJp ZXZlIG1vZGVzLCB3aGljaCBjYW4gaGFwcGVuIGZvciBpbnN0YW5jZSBmb3IgYSBEVkkgb3IKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jIGIvZHJpdmVycy9n cHUvZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMKaW5kZXggOGM2YzE3MmJiZjJlLi4yY2Y0NGI5MTg1 M2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCkBAIC05MSw3ICs5MSw3IEBAIHN0 YXRpYyBpbnQgcmNhcl9sdmRzX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgcmNhcl9sdmRzICpsdmRzID0gY29ubmVjdG9yX3Rv X3JjYXJfbHZkcyhjb25uZWN0b3IpOwogCi0JcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMobHZk cy0+cGFuZWwpOworCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGx2ZHMtPnBhbmVsLCBjb25u ZWN0b3IpOwogfQogCiBzdGF0aWMgaW50IHJjYXJfbHZkc19jb25uZWN0b3JfYXRvbWljX2NoZWNr KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2x2ZHMuYwppbmRleCA4YTRjOWFmMGJhNzMuLjMyNTgxMWQyZTI2ZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2x2ZHMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfbHZkcy5jCkBAIC0yMDEsNyArMjAxLDcgQEAg c3RhdGljIGludCByb2NrY2hpcF9sdmRzX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcikKIAlzdHJ1Y3Qgcm9ja2NoaXBfbHZkcyAqbHZkcyA9IGNvbm5l Y3Rvcl90b19sdmRzKGNvbm5lY3Rvcik7CiAJc3RydWN0IGRybV9wYW5lbCAqcGFuZWwgPSBsdmRz LT5wYW5lbDsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsKTsKKwlyZXR1cm4g ZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5lbCwgY29ubmVjdG9yKTsKIH0KIAogc3RhdGljIGNvbnN0 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYyBiL2RyaXZlcnMvZ3B1 L2RybS9zdGkvc3RpX2R2by5jCmluZGV4IDY4Mjg5YjBiMDYzYS4uZGYyZWU4NmNkNGMxIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vc3RpL3N0aV9kdm8uYwpAQCAtMzM5LDcgKzMzOSw3IEBAIHN0YXRpYyBpbnQgc3RpX2R2b19j b25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJc3Ry dWN0IHN0aV9kdm8gKmR2byA9IGR2b19jb25uZWN0b3ItPmR2bzsKIAogCWlmIChkdm8tPnBhbmVs KQotCQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhkdm8tPnBhbmVsKTsKKwkJcmV0dXJuIGRy bV9wYW5lbF9nZXRfbW9kZXMoZHZvLT5wYW5lbCwgY29ubmVjdG9yKTsKIAogCXJldHVybiAwOwog fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2x2ZHMuYyBiL2RyaXZl cnMvZ3B1L2RybS9zdW40aS9zdW40aV9sdmRzLmMKaW5kZXggMjVhYjJlZjZkNTQ1Li42NWI3YTg3 Mzk2NjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9sdmRzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2x2ZHMuYwpAQCAtNDMsNyArNDMsNyBAQCBz dGF0aWMgaW50IHN1bjRpX2x2ZHNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCiAJc3RydWN0IHN1bjRpX2x2ZHMgKmx2ZHMgPQogCQlkcm1fY29ubmVjdG9yX3RvX3N1 bjRpX2x2ZHMoY29ubmVjdG9yKTsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGx2ZHMt PnBhbmVsKTsKKwlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2RlcyhsdmRzLT5wYW5lbCwgY29ubmVj dG9yKTsKIH0KIAogc3RhdGljIHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyBzdW40 aV9sdmRzX2Nvbl9oZWxwZXJfZnVuY3MgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfcmdiLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfcmdiLmMKaW5k ZXggZTc0YjllZGRjYTAxLi5iMjdmMTZhZjUwZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9zdW40aS9zdW40aV9yZ2IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfcmdi LmMKQEAgLTQ3LDcgKzQ3LDcgQEAgc3RhdGljIGludCBzdW40aV9yZ2JfZ2V0X21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJc3RydWN0IHN1bjRpX3JnYiAqcmdiID0KIAkJ ZHJtX2Nvbm5lY3Rvcl90b19zdW40aV9yZ2IoY29ubmVjdG9yKTsKIAotCXJldHVybiBkcm1fcGFu ZWxfZ2V0X21vZGVzKHJnYi0+cGFuZWwpOworCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHJn Yi0+cGFuZWwsIGNvbm5lY3Rvcik7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW42aV9t aXBpX2RzaS5jCmluZGV4IGM5NThjYTliYWU2My4uNGU4ZjYzNGNjMmRiIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYwpAQCAtNzk1LDcgKzc5NSw3IEBAIHN0YXRpYyBpbnQg c3VuNmlfZHNpX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewog CXN0cnVjdCBzdW42aV9kc2kgKmRzaSA9IGNvbm5lY3Rvcl90b19zdW42aV9kc2koY29ubmVjdG9y KTsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGRzaS0+cGFuZWwpOworCXJldHVybiBk cm1fcGFuZWxfZ2V0X21vZGVzKGRzaS0+cGFuZWwsIGNvbm5lY3Rvcik7CiB9CiAKIHN0YXRpYyBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3Mgc3VuNmlfZHNpX2Nvbm5lY3Rvcl9oZWxw ZXJfZnVuY3MgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvb3V0cHV0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvb3V0cHV0LmMKaW5kZXggNWJkYmY5ZmZjZGExLi40OTQ4 MzczZDhjNzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9vdXRwdXQuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvb3V0cHV0LmMKQEAgLTIzLDcgKzIzLDcgQEAgaW50IHRl Z3JhX291dHB1dF9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCiAJICogaWdub3JlIGFueSBvdGhlciBtZWFucyBvZiBvYnRhaW5pbmcgYSBtb2RlLgog CSAqLwogCWlmIChvdXRwdXQtPnBhbmVsKSB7Ci0JCWVyciA9IGRybV9wYW5lbF9nZXRfbW9kZXMo b3V0cHV0LT5wYW5lbCk7CisJCWVyciA9IGRybV9wYW5lbF9nZXRfbW9kZXMob3V0cHV0LT5wYW5l bCwgY29ubmVjdG9yKTsKIAkJaWYgKGVyciA+IDApCiAJCQlyZXR1cm4gZXJyOwogCX0KZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oIGIvaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgK aW5kZXggZmIwMWI4ZGY4YzJhLi41YzYyZGZlNzNjNjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJt L2RybV9wYW5lbC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oCkBAIC0xMzksMTMgKzEz OSw2IEBAIHN0cnVjdCBkcm1fcGFuZWwgewogCSAqLwogCXN0cnVjdCBkcm1fZGV2aWNlICpkcm07 CiAKLQkvKioKLQkgKiBAY29ubmVjdG9yOgotCSAqCi0JICogRFJNIGNvbm5lY3RvciB0aGF0IHRo ZSBwYW5lbCBpcyBhdHRhY2hlZCB0by4KLQkgKi8KLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yOwotCiAJLyoqCiAJICogQGRldjoKIAkgKgpAQCAtMjA0LDcgKzE5Nyw3IEBAIGludCBk cm1fcGFuZWxfdW5wcmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKIGludCBkcm1fcGFu ZWxfZW5hYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKIGludCBkcm1fcGFuZWxfZGlzYWJs ZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCk7CiAKLWludCBkcm1fcGFuZWxfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKK2ludCBkcm1fcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsLCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIAogI2lm IGRlZmluZWQoQ09ORklHX09GKSAmJiBkZWZpbmVkKENPTkZJR19EUk1fUEFORUwpCiBzdHJ1Y3Qg ZHJtX3BhbmVsICpvZl9kcm1fZmluZF9wYW5lbChjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5w KTsKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkxpbnV4LW1lZGlhdGVrIG1haWxpbmcgbGlzdApMaW51eC1tZWRpYXRla0BsaXN0cy5p bmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8v bGludXgtbWVkaWF0ZWsK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CE493C2BBE2 for ; Sat, 7 Dec 2019 14:04:25 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AE218217BA for ; Sat, 7 Dec 2019 14:04:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AE218217BA Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ravnborg.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2CBEC6E182; Sat, 7 Dec 2019 14:04:24 +0000 (UTC) Received: from mail-lj1-x244.google.com (mail-lj1-x244.google.com [IPv6:2a00:1450:4864:20::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id DE8AB6E16B for ; Sat, 7 Dec 2019 14:04:22 +0000 (UTC) Received: by mail-lj1-x244.google.com with SMTP id 21so10751037ljr.0 for ; Sat, 07 Dec 2019 06:04:22 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=8evkGsqdjsxR6zNlKLbjRkRrMXnGbeONdZJG9XNraAU=; b=WGYE2+j4BILkma0W5vs9fbNPixzJJctUodjR/ajO3KL0qKLk6hFXJ1fQ0hl7IZcUCn 5HbPHGNa3+0n9wEu9EBoja9G/uogna2pI8aYab8vSa9V1BYLGJ6WRPwrRTWxHFBNsufY sGl7/3ujzYu6fpLCs/mv7TGaBApLY+L7zzibZKduWlfT75pQEi5ZpgnFEEm0uixFSyvu SNvMLmJHs9smoDbzavWe0MrDD6LQWdFlmHv8kUNWJhDOL6PwoB0TDYDzxVgMB6/1RQgS NZswowceYtQLqvcYag+oCJ9Rec921f0gkaGnKHe3YDBJdVnIlBqLxmLrYyD3O9XbTQR/ 5k2A== X-Gm-Message-State: APjAAAUtqe3m/l5/Cto8UUqvozIPQE9LyBR166o3K4UWNz6iEDAuXOnH pJjK30FTOh0lI0ISTBDRVh1KEHl7vdwcfw== X-Google-Smtp-Source: APXvYqx/+SUnV468LyYnP995w3QVYgJ09FxOnaYpXCmTjBFRMhaMCgkb2I0DIsChTSff65ukPpIL1Q== X-Received: by 2002:a2e:9942:: with SMTP id r2mr11974513ljj.182.1575727460821; Sat, 07 Dec 2019 06:04:20 -0800 (PST) Received: from saturn.lan (18.158-248-194.customer.lyse.net. [158.248.194.18]) by smtp.gmail.com with ESMTPSA id w17sm5644188lfn.22.2019.12.07.06.04.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Dec 2019 06:04:20 -0800 (PST) From: Sam Ravnborg To: dri-devel@lists.freedesktop.org, Thierry Reding , Laurent Pinchart , Linus Walleij , Sam Ravnborg Subject: [PATCH v2 06/25] drm/panel: decouple connector from drm_panel Date: Sat, 7 Dec 2019 15:03:34 +0100 Message-Id: <20191207140353.23967-7-sam@ravnborg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191207140353.23967-1-sam@ravnborg.org> References: <20191207140353.23967-1-sam@ravnborg.org> MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8evkGsqdjsxR6zNlKLbjRkRrMXnGbeONdZJG9XNraAU=; b=tWhw1BWV4Yl2ikgOj65djC4gYLZCEkrpXDYcNsZF6C7wn617opaIeQ9W0zB4TuLATQ Gddy20esVBCvho9jBXBxERLH5W1qzHh8r+g91KW4GD7+g2wAR8WDnwmOZmPjzG1pTv7v phUAsS4hYxJhX3cLhiT3Q6NkX+PUzM+Vr3/LcRQGqgZIABQv7ab9B2z9Fw2FfpXme5/1 j/+oUBHrCS03+Mi9M5EkpgOcLOyVrbgNBkWwtFkDB+OisAKZ1mwvYkY90WsJZh6HYZTp sw3TibrcWJ/3MuAGa9kvsDKWly0n71POCIP6B+oW8PiDIWq39hVKF71ubaknqH2T5c5S yXfQ== X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Hariprasad Kelam , Neil Armstrong , David Airlie , Laurent Pinchart , Marek Vasut , linux-samsung-soc@vger.kernel.org, Vincent Abriou , Jeffrey Hugo , Allison Randal , Krzysztof Kozlowski , Jonathan Hunter , Vasily Khoruzhick , linux-rockchip@lists.infradead.org, Chen-Yu Tsai , Tomi Valkeinen , Matthias Brugger , Jagan Teki , NXP Linux Team , Rob Clark , Jitao Shi , Pengutronix Kernel Team , Jonas Karlman , Sascha Hauer , Alison Wang , Brian Masney , Alexios Zavras , linux-mediatek@lists.infradead.org, Abhinav Kumar , linux-tegra@vger.kernel.org, Thomas Gleixner , Sean Paul , linux-arm-kernel@lists.infradead.org, Jernej Skrabec , Purism Kernel Team , Kieran Bingham , Seung-Woo Kim , Sandy Huang , linux-renesas-soc@vger.kernel.org, Shayenne Moura , Kyungmin Park , Boris Brezillon , Torsten Duwe , Kukjin Kim , Sean Paul , Icenowy Zheng , Shawn Guo Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" VG8gZmFjaWxpdGF0ZSBtb3ZpbmcgY29ubmVjdG9yIGNyZWF0aW9uIHRvIGRpc3BsYXkgZHJpdmVy cywKZGVjb3VwbGUgdGhlIGRybV9jb25uZWN0b3IgZnJvbSBkcm1fcGFuZWwuCgpUaGlzIHBhdGNo IGFkZHMgYSBjb25uZWN0b3IgYXJndW1lbnQgdG8gZHJtX3BhbmVsX2dldF9tb2RlcygpLgoKQWxs IHVzZXJzIG9mIGRybV9wYW5lbF9nZXRfbW9kZXMoKSBhbHJlYWR5IGhhZCB0aGUgY29ubmVjdG9y CmF2YWlsYWJsZSwgc28gdXBkYXRpbmcgdXNlcnMgd2FzIHRyaXZpYWwuCgpXaXRoIHRoaXMgcGF0 Y2ggZHJtX3BhbmVsIG5vIGxvbmdlciBrZWVwcyBhIHJlZmVyZW5jZSB0byB0aGUgZHJtX2Nvbm5l Y3Rvci4KClNpZ25lZC1vZmYtYnk6IFNhbSBSYXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KUmV2 aWV3ZWQtYnk6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJk LmNvbT4KUmV2aWV3ZWQtYnk6IExpbnVzIFdhbGxlaWogPGxpbnVzLndhbGxlaWpAbGluYXJvLm9y Zz4KQWNrZWQtYnk6IEplZmZyZXkgSHVnbyA8amVmZnJleS5sLmh1Z29AZ21haWwuY29tPgpDYzog VGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWlsLmNvbT4KQ2M6IExhdXJlbnQgUGlu Y2hhcnQgPExhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KQ2M6IFNhbSBSYXZuYm9y ZyA8c2FtQHJhdm5ib3JnLm9yZz4KQ2M6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5j b20+CkNjOiBOZWlsIEFybXN0cm9uZyA8bmFybXN0cm9uZ0BiYXlsaWJyZS5jb20+CkNjOiBKb25h cyBLYXJsbWFuIDxqb25hc0Brd2lib28uc2U+CkNjOiBKZXJuZWogU2tyYWJlYyA8amVybmVqLnNr cmFiZWNAc2lvbC5uZXQ+CkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RA bGludXguaW50ZWwuY29tPgpDYzogTWF4aW1lIFJpcGFyZCA8bXJpcGFyZEBrZXJuZWwub3JnPgpD YzogRGF2aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgpDYzogRGFuaWVsIFZldHRlciA8ZGFu aWVsQGZmd2xsLmNoPgpDYzogSW5raSBEYWUgPGlua2kuZGFlQHNhbXN1bmcuY29tPgpDYzogSm9v bnlvdW5nIFNoaW0gPGp5MDkyMi5zaGltQHNhbXN1bmcuY29tPgpDYzogU2V1bmctV29vIEtpbSA8 c3cwMzEyLmtpbUBzYW1zdW5nLmNvbT4KQ2M6IEt5dW5nbWluIFBhcmsgPGt5dW5nbWluLnBhcmtA c2Ftc3VuZy5jb20+CkNjOiBLdWtqaW4gS2ltIDxrZ2VuZUBrZXJuZWwub3JnPgpDYzogS3J6eXN6 dG9mIEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPgpDYzogU3RlZmFuIEFnbmVyIDxzdGVmYW5A YWduZXIuY2g+CkNjOiBBbGlzb24gV2FuZyA8YWxpc29uLndhbmdAbnhwLmNvbT4KQ2M6IFBoaWxp cHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CkNjOiBTaGF3biBHdW8gPHNoYXduZ3Vv QGtlcm5lbC5vcmc+CkNjOiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+CkNj OiBQZW5ndXRyb25peCBLZXJuZWwgVGVhbSA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgpDYzogRmFi aW8gRXN0ZXZhbSA8ZmVzdGV2YW1AZ21haWwuY29tPgpDYzogTlhQIExpbnV4IFRlYW0gPGxpbnV4 LWlteEBueHAuY29tPgpDYzogQ0sgSHUgPGNrLmh1QG1lZGlhdGVrLmNvbT4KQ2M6IE1hdHRoaWFz IEJydWdnZXIgPG1hdHRoaWFzLmJnZ0BnbWFpbC5jb20+CkNjOiBNYXJlayBWYXN1dCA8bWFyZXhA ZGVueC5kZT4KQ2M6IFRvbWkgVmFsa2VpbmVuIDx0b21pLnZhbGtlaW5lbkB0aS5jb20+CkNjOiBL aWVyYW4gQmluZ2hhbSA8a2llcmFuLmJpbmdoYW0rcmVuZXNhc0BpZGVhc29uYm9hcmQuY29tPgpD YzogU2FuZHkgSHVhbmcgPGhqY0Byb2NrLWNoaXBzLmNvbT4KQ2M6ICJIZWlrbyBTdMO8Ym5lciIg PGhlaWtvQHNudGVjaC5kZT4KQ2M6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFy ZEBsaW5hcm8ub3JnPgpDYzogVmluY2VudCBBYnJpb3UgPHZpbmNlbnQuYWJyaW91QHN0LmNvbT4K Q2M6IENoZW4tWXUgVHNhaSA8d2Vuc0Bjc2llLm9yZz4KQ2M6IEpvbmF0aGFuIEh1bnRlciA8am9u YXRoYW5oQG52aWRpYS5jb20+CkNjOiBUb3JzdGVuIER1d2UgPGR1d2VAbHN0LmRlPgpDYzogVmFz aWx5IEtob3J1emhpY2sgPGFuYXJzb3VsQGdtYWlsLmNvbT4KQ2M6IEljZW5vd3kgWmhlbmcgPGlj ZW5vd3lAYW9zYy5pbz4KQ2M6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgpDYzog TGludXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPgpDYzogQm9yaXMgQnJlemls bG9uIDxib3Jpcy5icmV6aWxsb25AY29sbGFib3JhLmNvbT4KQ2M6IEhhcmlwcmFzYWQgS2VsYW0g PGhhcmlwcmFzYWQua2VsYW1AZ21haWwuY29tPgpDYzogQWxleGlvcyBaYXZyYXMgPGFsZXhpb3Mu emF2cmFzQGludGVsLmNvbT4KQ2M6IEJyaWFuIE1hc25leSA8bWFzbmV5YkBvbnN0YXRpb24ub3Jn PgpDYzogUm9iIENsYXJrIDxyb2JkY2xhcmtAY2hyb21pdW0ub3JnPgpDYzogVGhvbWFzIEdsZWl4 bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+CkNjOiBBbGxpc29uIFJhbmRhbCA8YWxsaXNvbkBsb2h1 dG9rLm5ldD4KQ2M6IFNoYXllbm5lIE1vdXJhIDxzaGF5ZW5uZWx1em1vdXJhQGdtYWlsLmNvbT4K Q2M6IEFiaGluYXYgS3VtYXIgPGFiaGluYXZrQGNvZGVhdXJvcmEub3JnPgpDYzogbGludXgtYXJt LWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1zYW1zdW5nLXNvY0B2Z2VyLmtl cm5lbC5vcmcKQ2M6IGxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKQ2M6IGxpbnV4 LXJlbmVzYXMtc29jQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtcm9ja2NoaXBAbGlzdHMuaW5m cmFkZWFkLm9yZwpDYzogbGludXgtdGVncmFAdmdlci5rZXJuZWwub3JnCi0tLQogZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2MzQ1LmMgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhbmVsLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjIyLmMgICAgICAgICAgICAgIHwg IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjQuYyAgICAgICAgICAgICAgICAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY3LmMgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90aS1zbjY1ZHNpODYuYyAgICAg ICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYyAgICAgICAgICAg ICAgICAgICAgICAgICB8IDEwICsrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV9kcGkuYyAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19kcm1fZHNpLmMgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2Zz bC1kY3UvZnNsX2RjdV9kcm1fcmdiLmMgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pbXgvaW14LWxkYi5jICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dw dS9kcm0vaW14L3BhcmFsbGVsLWRpc3BsYXkuYyAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfbHZkc19jb25uZWN0b3IuYyB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jICAgICAgICAgICAgICAgfCAg MiArLQogZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2ZiX291dC5jICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY29ubmVjdG9yLmMgICAgICAg ICAgICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9sdmRz LmMgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYyAgICAg ICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2x2 ZHMuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40 aV9yZ2IuYyAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc3VuNGkv c3VuNmlfbWlwaV9kc2kuYyAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3Rl Z3JhL291dHB1dC5jICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGluY2x1ZGUvZHJtL2Ry bV9wYW5lbC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA5ICstLS0tLS0tLQogMjYg ZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2MzQ1LmMg Yi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4LWFueDYzNDUuYwppbmRl eCBiNGYzYTkyM2E1MmEuLjk5MTdjZTBkODZhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2MzQ1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng2MzQ1LmMKQEAgLTQ5Myw3ICs0OTMsNyBAQCBz dGF0aWMgaW50IGFueDYzNDVfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCiAJbXV0ZXhfdW5sb2NrKCZhbng2MzQ1LT5sb2NrKTsKIAogCWlmICghbnVtX21vZGVzICYm IGFueDYzNDUtPnBhbmVsKQotCQludW1fbW9kZXMgKz0gZHJtX3BhbmVsX2dldF9tb2Rlcyhhbng2 MzQ1LT5wYW5lbCk7CisJCW51bV9tb2RlcyArPSBkcm1fcGFuZWxfZ2V0X21vZGVzKGFueDYzNDUt PnBhbmVsLCBjb25uZWN0b3IpOwogCiAJcmV0dXJuIG51bV9tb2RlczsKIH0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jIGIvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMKaW5kZXggYmI0 MTFmZTUyYWU4Li42ZWZmZTUzMmY4MjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCkBAIC0xMTExLDcgKzExMTEsNyBAQCBzdGF0 aWMgaW50IGFuYWxvZ2l4X2RwX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQogCWludCByZXQsIG51bV9tb2RlcyA9IDA7CiAKIAlpZiAoZHAtPnBsYXRfZGF0YS0+cGFu ZWwpIHsKLQkJbnVtX21vZGVzICs9IGRybV9wYW5lbF9nZXRfbW9kZXMoZHAtPnBsYXRfZGF0YS0+ cGFuZWwpOworCQludW1fbW9kZXMgKz0gZHJtX3BhbmVsX2dldF9tb2RlcyhkcC0+cGxhdF9kYXRh LT5wYW5lbCwgY29ubmVjdG9yKTsKIAl9IGVsc2UgewogCQlyZXQgPSBhbmFsb2dpeF9kcF9wcmVw YXJlX3BhbmVsKGRwLCB0cnVlLCBmYWxzZSk7CiAJCWlmIChyZXQpIHsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFu ZWwuYwppbmRleCA1NTRkYTQ3ZjZkNjIuLjE0NDM4OTdmOTk5YiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFu ZWwuYwpAQCAtMzcsNyArMzcsNyBAQCBzdGF0aWMgaW50IHBhbmVsX2JyaWRnZV9jb25uZWN0b3Jf Z2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJc3RydWN0IHBhbmVs X2JyaWRnZSAqcGFuZWxfYnJpZGdlID0KIAkJZHJtX2Nvbm5lY3Rvcl90b19wYW5lbF9icmlkZ2Uo Y29ubmVjdG9yKTsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsX2JyaWRnZS0+ cGFuZWwpOworCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsX2JyaWRnZS0+cGFuZWws IGNvbm5lY3Rvcik7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxw ZXJfZnVuY3MKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFyYWRlLXBzODYy Mi5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjIyLmMKaW5kZXggYjdhNzJk ZmRjYWMzLi4xMGM0N2MwMDhiNDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv cGFyYWRlLXBzODYyMi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFyYWRlLXBzODYy Mi5jCkBAIC00NjEsNyArNDYxLDcgQEAgc3RhdGljIGludCBwczg2MjJfZ2V0X21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAKIAlwczg2MjIgPSBjb25uZWN0b3JfdG9fcHM4 NjIyKGNvbm5lY3Rvcik7CiAKLQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhwczg2MjItPnBh bmVsKTsKKwlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhwczg2MjItPnBhbmVsLCBjb25uZWN0 b3IpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNz IHBzODYyMl9jb25uZWN0b3JfaGVscGVyX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS90YzM1ODc2NC5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc2 NC5jCmluZGV4IGRiMjk4ZjU1MGE1YS4uOTYyMDdmY2ZkZTE5IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90 YzM1ODc2NC5jCkBAIC0yODIsNyArMjgyLDcgQEAgc3RhdGljIGludCB0YzM1ODc2NF9nZXRfbW9k ZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgdGMzNTg3NjQg KmN0eCA9IGNvbm5lY3Rvcl90b190YzM1ODc2NChjb25uZWN0b3IpOwogCi0JcmV0dXJuIGRybV9w YW5lbF9nZXRfbW9kZXMoY3R4LT5wYW5lbCk7CisJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMo Y3R4LT5wYW5lbCwgY29ubmVjdG9yKTsKIH0KIAogc3RhdGljIGNvbnN0CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY3LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L3RjMzU4NzY3LmMKaW5kZXggODAyOTQ3OGZmZWJiLi4zNzA5ZTVhY2U3MjQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjcuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL3RjMzU4NzY3LmMKQEAgLTEzNDYsNyArMTM0Niw3IEBAIHN0YXRpYyBpbnQgdGNfY29u bmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQlyZXR1 cm4gMDsKIAl9CiAKLQljb3VudCA9IGRybV9wYW5lbF9nZXRfbW9kZXModGMtPnBhbmVsKTsKKwlj b3VudCA9IGRybV9wYW5lbF9nZXRfbW9kZXModGMtPnBhbmVsLCBjb25uZWN0b3IpOwogCWlmIChj b3VudCA+IDApCiAJCXJldHVybiBjb3VudDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS90aS1zbjY1ZHNpODYuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGktc242NWRz aTg2LmMKaW5kZXggNDNhYmYwMWViZDRjLi45YTJkZDk4NmFmYTUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvdGktc242NWRzaTg2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS90aS1zbjY1ZHNpODYuYwpAQCAtMjA2LDcgKzIwNiw3IEBAIHN0YXRpYyBpbnQgdGlfc25f YnJpZGdlX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKIHsKIAlzdHJ1Y3QgdGlfc25fYnJpZGdlICpwZGF0YSA9IGNvbm5lY3Rvcl90b190aV9zbl9i cmlkZ2UoY29ubmVjdG9yKTsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBkYXRhLT5w YW5lbCk7CisJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMocGRhdGEtPnBhbmVsLCBjb25uZWN0 b3IpOwogfQogCiBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwppbmRl eCA0Y2FhNzM0YjRmZGUuLjNkYWViZjU2ZGM0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYwpAQCAtMTE0LDEw ICsxMTQsOSBAQCBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9yZW1vdmUpOwogICovCiBpbnQgZHJt X3BhbmVsX2F0dGFjaChzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwgc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKIHsKLQlpZiAocGFuZWwtPmNvbm5lY3RvcikKKwlpZiAocGFuZWwtPmRy bSkKIAkJcmV0dXJuIC1FQlVTWTsKIAotCXBhbmVsLT5jb25uZWN0b3IgPSBjb25uZWN0b3I7CiAJ cGFuZWwtPmRybSA9IGNvbm5lY3Rvci0+ZGV2OwogCiAJcmV0dXJuIDA7CkBAIC0xMzYsNyArMTM1 LDYgQEAgRVhQT1JUX1NZTUJPTChkcm1fcGFuZWxfYXR0YWNoKTsKICAqLwogdm9pZCBkcm1fcGFu ZWxfZGV0YWNoKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQogewotCXBhbmVsLT5jb25uZWN0b3Ig PSBOVUxMOwogCXBhbmVsLT5kcm0gPSBOVUxMOwogfQogRVhQT1JUX1NZTUJPTChkcm1fcGFuZWxf ZGV0YWNoKTsKQEAgLTI0OCw2ICsyNDYsNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9kaXNh YmxlKTsKIC8qKgogICogZHJtX3BhbmVsX2dldF9tb2RlcyAtIHByb2JlIHRoZSBhdmFpbGFibGUg ZGlzcGxheSBtb2RlcyBvZiBhIHBhbmVsCiAgKiBAcGFuZWw6IERSTSBwYW5lbAorICogQGNvbm5l Y3RvcjogRFJNIGNvbm5lY3RvcgogICoKICAqIFRoZSBtb2RlcyBwcm9iZWQgZnJvbSB0aGUgcGFu ZWwgYXJlIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gdGhlIGNvbm5lY3RvcgogICogdGhhdCB0aGUg cGFuZWwgaXMgYXR0YWNoZWQgdG8uCkBAIC0yNTUsMTMgKzI1NCwxNCBAQCBFWFBPUlRfU1lNQk9M KGRybV9wYW5lbF9kaXNhYmxlKTsKICAqIFJldHVybjogVGhlIG51bWJlciBvZiBtb2RlcyBhdmFp bGFibGUgZnJvbSB0aGUgcGFuZWwgb24gc3VjY2VzcyBvciBhCiAgKiBuZWdhdGl2ZSBlcnJvciBj b2RlIG9uIGZhaWx1cmUuCiAgKi8KLWludCBkcm1fcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKQoraW50IGRybV9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAq cGFuZWwsCisJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewogCWlmICghcGFu ZWwpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJaWYgKHBhbmVsLT5mdW5jcyAmJiBwYW5lbC0+ZnVu Y3MtPmdldF9tb2RlcykKLQkJcmV0dXJuIHBhbmVsLT5mdW5jcy0+Z2V0X21vZGVzKHBhbmVsLCBw YW5lbC0+Y29ubmVjdG9yKTsKKwkJcmV0dXJuIHBhbmVsLT5mdW5jcy0+Z2V0X21vZGVzKHBhbmVs LCBjb25uZWN0b3IpOwogCiAJcmV0dXJuIC1FT1BOT1RTVVBQOwogfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RwaS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHJtX2RwaS5jCmluZGV4IDU0NzlmZjcxY2JjNi4uNDNmYTBmMjZjMDUyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHBpLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RwaS5jCkBAIC04NSw3ICs4NSw3IEBA IHN0YXRpYyBpbnQgZXh5bm9zX2RwaV9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvcikKIAl9CiAKIAlpZiAoY3R4LT5wYW5lbCkKLQkJcmV0dXJuIGRybV9wYW5lbF9nZXRf bW9kZXMoY3R4LT5wYW5lbCk7CisJCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGN0eC0+cGFu ZWwsIGNvbm5lY3Rvcik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9leHlub3MvZXh5bm9zX2RybV9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV9kc2kuYwppbmRleCBjZWIzNzA4NjRjYzQuLmQxNGQzZjI1ZDM0NCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RzaS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kc2kuYwpAQCAtMTQ2MSw3ICsxNDYxLDcgQEAgc3Rh dGljIGludCBleHlub3NfZHNpX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQogCXN0cnVjdCBleHlub3NfZHNpICpkc2kgPSBjb25uZWN0b3JfdG9fZHNpKGNvbm5lY3Rv cik7CiAKIAlpZiAoZHNpLT5wYW5lbCkKLQkJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMoZHNp LT5wYW5lbCk7CisJCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGRzaS0+cGFuZWwsIGNvbm5l Y3Rvcik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9mc2wt ZGN1L2ZzbF9kY3VfZHJtX3JnYi5jIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9k cm1fcmdiLmMKaW5kZXggODJjOTcyZTljMDI0Li45NTk4ZWUzY2M0ZDIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3JnYi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3JnYi5jCkBAIC02OCw3ICs2OCw3IEBAIHN0YXRpYyBp bnQgZnNsX2RjdV9kcm1fY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogCXN0cnVjdCBmc2xfZGN1X2RybV9jb25uZWN0b3IgKmZzbF9jb25uZWN0b3I7 CiAKIAlmc2xfY29ubmVjdG9yID0gdG9fZnNsX2RjdV9jb25uZWN0b3IoY29ubmVjdG9yKTsKLQly ZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhmc2xfY29ubmVjdG9yLT5wYW5lbCk7CisJcmV0dXJu IGRybV9wYW5lbF9nZXRfbW9kZXMoZnNsX2Nvbm5lY3Rvci0+cGFuZWwsIGNvbm5lY3Rvcik7CiB9 CiAKIHN0YXRpYyBpbnQgZnNsX2RjdV9kcm1fY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pbXgv aW14LWxkYi5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtbGRiLmMKaW5kZXggMjA4MDY5ZmFm MTgzLi44Y2IyNjY1YjJjNzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWxk Yi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWxkYi5jCkBAIC0xMjcsNyArMTI3LDcg QEAgc3RhdGljIGludCBpbXhfbGRiX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKIAlzdHJ1Y3QgaW14X2xkYl9jaGFubmVsICppbXhfbGRiX2NoID0g Y29uX3RvX2lteF9sZGJfY2goY29ubmVjdG9yKTsKIAlpbnQgbnVtX21vZGVzOwogCi0JbnVtX21v ZGVzID0gZHJtX3BhbmVsX2dldF9tb2RlcyhpbXhfbGRiX2NoLT5wYW5lbCk7CisJbnVtX21vZGVz ID0gZHJtX3BhbmVsX2dldF9tb2RlcyhpbXhfbGRiX2NoLT5wYW5lbCwgY29ubmVjdG9yKTsKIAlp ZiAobnVtX21vZGVzID4gMCkKIAkJcmV0dXJuIG51bV9tb2RlczsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14 L3BhcmFsbGVsLWRpc3BsYXkuYwppbmRleCAzNTUxOGU1ZGUzNTYuLjNkY2E0MjQwNTlmNyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMKQEAgLTUwLDcgKzUwLDcgQEAgc3Rh dGljIGludCBpbXhfcGRfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBpbXhwZC0+ZGV2LT5vZl9ub2Rl OwogCWludCBudW1fbW9kZXM7CiAKLQludW1fbW9kZXMgPSBkcm1fcGFuZWxfZ2V0X21vZGVzKGlt eHBkLT5wYW5lbCk7CisJbnVtX21vZGVzID0gZHJtX3BhbmVsX2dldF9tb2RlcyhpbXhwZC0+cGFu ZWwsIGNvbm5lY3Rvcik7CiAJaWYgKG51bV9tb2RlcyA+IDApCiAJCXJldHVybiBudW1fbW9kZXM7 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMgYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCmluZGV4IGU5OTMxYmJiZTg0Ni4uM2I1ZTAx NmQxNmM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMKQEAgLTgyMSw3ICs4MjEsNyBA QCBzdGF0aWMgaW50IG10a19kc2lfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQogewogCXN0cnVjdCBtdGtfZHNpICpkc2kgPSBjb25uZWN0b3JfdG9f ZHNpKGNvbm5lY3Rvcik7CiAKLQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhkc2ktPnBhbmVs KTsKKwlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhkc2ktPnBhbmVsLCBjb25uZWN0b3IpOwog fQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcyBtdGtfZHNp X2VuY29kZXJfaGVscGVyX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jCmluZGV4IDMxYWJkMjM1MmYzZS4uYzdkZjcx ZTJmYWZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9tZHA0X2x2 ZHNfY29ubmVjdG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9s dmRzX2Nvbm5lY3Rvci5jCkBAIC01Myw3ICs1Myw3IEBAIHN0YXRpYyBpbnQgbWRwNF9sdmRzX2Nv bm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlpZiAo cGFuZWwpIHsKIAkJZHJtX3BhbmVsX2F0dGFjaChwYW5lbCwgY29ubmVjdG9yKTsKIAotCQlyZXQg PSBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsKTsKKwkJcmV0ID0gZHJtX3BhbmVsX2dldF9tb2Rl cyhwYW5lbCwgY29ubmVjdG9yKTsKIAogCQlkcm1fcGFuZWxfZGV0YWNoKHBhbmVsKTsKIAl9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYwppbmRleCAyNzFhYTdiYmNhOTIuLjBmYzI5 ZjFiZThjYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jCkBAIC0zMjksNyAr MzI5LDcgQEAgc3RhdGljIGludCBkc2lfbWdyX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkgKiBhdHRhY2hlZCB0byB0aGUgZHJtX3BhbmVsLgog CSAqLwogCWRybV9wYW5lbF9hdHRhY2gocGFuZWwsIGNvbm5lY3Rvcik7Ci0JbnVtID0gZHJtX3Bh bmVsX2dldF9tb2RlcyhwYW5lbCk7CisJbnVtID0gZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5lbCwg Y29ubmVjdG9yKTsKIAlpZiAoIW51bSkKIAkJcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9teHNmYi9teHNmYl9vdXQuYyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNm Yl9vdXQuYwppbmRleCA0ZWI5NDc0NGM1MjYuLjllY2ExNjA1ZDExZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL214c2ZiL214c2ZiX291dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9teHNm Yi9teHNmYl9vdXQuYwpAQCAtMzEsNyArMzEsNyBAQCBzdGF0aWMgaW50IG14c2ZiX3BhbmVsX2dl dF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQkJZHJtX2Nvbm5lY3Rv cl90b19teHNmYl9kcm1fcHJpdmF0ZShjb25uZWN0b3IpOwogCiAJaWYgKG14c2ZiLT5wYW5lbCkK LQkJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMobXhzZmItPnBhbmVsKTsKKwkJcmV0dXJuIGRy bV9wYW5lbF9nZXRfbW9kZXMobXhzZmItPnBhbmVsLCBjb25uZWN0b3IpOwogCiAJcmV0dXJuIDA7 CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5j IGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jb25uZWN0b3IuYwppbmRleCA1Yjg3OTlj NjlmNjguLjk0Y2RlZDM4NzE3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v b21hcF9jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5l Y3Rvci5jCkBAIC0yMjksNyArMjI5LDggQEAgc3RhdGljIGludCBvbWFwX2Nvbm5lY3Rvcl9nZXRf bW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkgKiBvcGVyYXRpb24gdG8g dGhlIHBhbmVsIEFQSS4KIAkgKi8KIAlpZiAob21hcF9jb25uZWN0b3ItPm91dHB1dC0+cGFuZWwp Ci0JCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKG9tYXBfY29ubmVjdG9yLT5vdXRwdXQtPnBh bmVsKTsKKwkJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMob21hcF9jb25uZWN0b3ItPm91dHB1 dC0+cGFuZWwsCisJCQkJCSAgIGNvbm5lY3Rvcik7CiAKIAkvKgogCSAqIFdlIGNhbid0IHJldHJp ZXZlIG1vZGVzLCB3aGljaCBjYW4gaGFwcGVuIGZvciBpbnN0YW5jZSBmb3IgYSBEVkkgb3IKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jIGIvZHJpdmVycy9n cHUvZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMKaW5kZXggOGM2YzE3MmJiZjJlLi4yY2Y0NGI5MTg1 M2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCkBAIC05MSw3ICs5MSw3IEBAIHN0 YXRpYyBpbnQgcmNhcl9sdmRzX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgcmNhcl9sdmRzICpsdmRzID0gY29ubmVjdG9yX3Rv X3JjYXJfbHZkcyhjb25uZWN0b3IpOwogCi0JcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMobHZk cy0+cGFuZWwpOworCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGx2ZHMtPnBhbmVsLCBjb25u ZWN0b3IpOwogfQogCiBzdGF0aWMgaW50IHJjYXJfbHZkc19jb25uZWN0b3JfYXRvbWljX2NoZWNr KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2x2ZHMuYwppbmRleCA4YTRjOWFmMGJhNzMuLjMyNTgxMWQyZTI2ZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2x2ZHMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfbHZkcy5jCkBAIC0yMDEsNyArMjAxLDcgQEAg c3RhdGljIGludCByb2NrY2hpcF9sdmRzX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcikKIAlzdHJ1Y3Qgcm9ja2NoaXBfbHZkcyAqbHZkcyA9IGNvbm5l Y3Rvcl90b19sdmRzKGNvbm5lY3Rvcik7CiAJc3RydWN0IGRybV9wYW5lbCAqcGFuZWwgPSBsdmRz LT5wYW5lbDsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsKTsKKwlyZXR1cm4g ZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5lbCwgY29ubmVjdG9yKTsKIH0KIAogc3RhdGljIGNvbnN0 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYyBiL2RyaXZlcnMvZ3B1 L2RybS9zdGkvc3RpX2R2by5jCmluZGV4IDY4Mjg5YjBiMDYzYS4uZGYyZWU4NmNkNGMxIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vc3RpL3N0aV9kdm8uYwpAQCAtMzM5LDcgKzMzOSw3IEBAIHN0YXRpYyBpbnQgc3RpX2R2b19j b25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJc3Ry dWN0IHN0aV9kdm8gKmR2byA9IGR2b19jb25uZWN0b3ItPmR2bzsKIAogCWlmIChkdm8tPnBhbmVs KQotCQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhkdm8tPnBhbmVsKTsKKwkJcmV0dXJuIGRy bV9wYW5lbF9nZXRfbW9kZXMoZHZvLT5wYW5lbCwgY29ubmVjdG9yKTsKIAogCXJldHVybiAwOwog fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2x2ZHMuYyBiL2RyaXZl cnMvZ3B1L2RybS9zdW40aS9zdW40aV9sdmRzLmMKaW5kZXggMjVhYjJlZjZkNTQ1Li42NWI3YTg3 Mzk2NjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9sdmRzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2x2ZHMuYwpAQCAtNDMsNyArNDMsNyBAQCBz dGF0aWMgaW50IHN1bjRpX2x2ZHNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCiAJc3RydWN0IHN1bjRpX2x2ZHMgKmx2ZHMgPQogCQlkcm1fY29ubmVjdG9yX3RvX3N1 bjRpX2x2ZHMoY29ubmVjdG9yKTsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGx2ZHMt PnBhbmVsKTsKKwlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2RlcyhsdmRzLT5wYW5lbCwgY29ubmVj dG9yKTsKIH0KIAogc3RhdGljIHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyBzdW40 aV9sdmRzX2Nvbl9oZWxwZXJfZnVuY3MgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfcmdiLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfcmdiLmMKaW5k ZXggZTc0YjllZGRjYTAxLi5iMjdmMTZhZjUwZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9zdW40aS9zdW40aV9yZ2IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfcmdi LmMKQEAgLTQ3LDcgKzQ3LDcgQEAgc3RhdGljIGludCBzdW40aV9yZ2JfZ2V0X21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJc3RydWN0IHN1bjRpX3JnYiAqcmdiID0KIAkJ ZHJtX2Nvbm5lY3Rvcl90b19zdW40aV9yZ2IoY29ubmVjdG9yKTsKIAotCXJldHVybiBkcm1fcGFu ZWxfZ2V0X21vZGVzKHJnYi0+cGFuZWwpOworCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHJn Yi0+cGFuZWwsIGNvbm5lY3Rvcik7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW42aV9t aXBpX2RzaS5jCmluZGV4IGM5NThjYTliYWU2My4uNGU4ZjYzNGNjMmRiIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYwpAQCAtNzk1LDcgKzc5NSw3IEBAIHN0YXRpYyBpbnQg c3VuNmlfZHNpX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewog CXN0cnVjdCBzdW42aV9kc2kgKmRzaSA9IGNvbm5lY3Rvcl90b19zdW42aV9kc2koY29ubmVjdG9y KTsKIAotCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGRzaS0+cGFuZWwpOworCXJldHVybiBk cm1fcGFuZWxfZ2V0X21vZGVzKGRzaS0+cGFuZWwsIGNvbm5lY3Rvcik7CiB9CiAKIHN0YXRpYyBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3Mgc3VuNmlfZHNpX2Nvbm5lY3Rvcl9oZWxw ZXJfZnVuY3MgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvb3V0cHV0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvb3V0cHV0LmMKaW5kZXggNWJkYmY5ZmZjZGExLi40OTQ4 MzczZDhjNzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9vdXRwdXQuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvb3V0cHV0LmMKQEAgLTIzLDcgKzIzLDcgQEAgaW50IHRl Z3JhX291dHB1dF9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCiAJICogaWdub3JlIGFueSBvdGhlciBtZWFucyBvZiBvYnRhaW5pbmcgYSBtb2RlLgog CSAqLwogCWlmIChvdXRwdXQtPnBhbmVsKSB7Ci0JCWVyciA9IGRybV9wYW5lbF9nZXRfbW9kZXMo b3V0cHV0LT5wYW5lbCk7CisJCWVyciA9IGRybV9wYW5lbF9nZXRfbW9kZXMob3V0cHV0LT5wYW5l bCwgY29ubmVjdG9yKTsKIAkJaWYgKGVyciA+IDApCiAJCQlyZXR1cm4gZXJyOwogCX0KZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oIGIvaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgK aW5kZXggZmIwMWI4ZGY4YzJhLi41YzYyZGZlNzNjNjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJt L2RybV9wYW5lbC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oCkBAIC0xMzksMTMgKzEz OSw2IEBAIHN0cnVjdCBkcm1fcGFuZWwgewogCSAqLwogCXN0cnVjdCBkcm1fZGV2aWNlICpkcm07 CiAKLQkvKioKLQkgKiBAY29ubmVjdG9yOgotCSAqCi0JICogRFJNIGNvbm5lY3RvciB0aGF0IHRo ZSBwYW5lbCBpcyBhdHRhY2hlZCB0by4KLQkgKi8KLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yOwotCiAJLyoqCiAJICogQGRldjoKIAkgKgpAQCAtMjA0LDcgKzE5Nyw3IEBAIGludCBk cm1fcGFuZWxfdW5wcmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKIGludCBkcm1fcGFu ZWxfZW5hYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKIGludCBkcm1fcGFuZWxfZGlzYWJs ZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCk7CiAKLWludCBkcm1fcGFuZWxfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKK2ludCBkcm1fcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsLCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIAogI2lm IGRlZmluZWQoQ09ORklHX09GKSAmJiBkZWZpbmVkKENPTkZJR19EUk1fUEFORUwpCiBzdHJ1Y3Qg ZHJtX3BhbmVsICpvZl9kcm1fZmluZF9wYW5lbChjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5w KTsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVs