From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Subject: [PATCH 2/2] pwm: ensure pwm_apply_state() doesn't modify the state argument Date: Tue, 12 Mar 2019 09:35:37 +0100 Message-ID: <20190312083537.23748-3-u.kleine-koenig@pengutronix.de> References: <20190312083537.23748-1-u.kleine-koenig@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190312083537.23748-1-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+glpar-linux-rockchip=m.gmane.org-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org To: Thierry Reding , Heiko Stuebner Cc: linux-pwm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org, linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: linux-pwm@vger.kernel.org SXQgaXMgc3VycHJpc2luZyBmb3IgYSBQV00gY29uc3VtZXIgd2hlbiB0aGUgdmFyaWFibGUgaG9s ZGluZyB0aGUKcmVxdWVzdGVkIHN0YXRlIGlzIG1vZGlmaWVkIGJ5IHB3bV9hcHBseV9zdGF0ZSgp LiBDb25zaWRlciBmb3IgZXhhbXBsZSBhCmRyaXZlciBkb2luZzoKCiAgICAgICAgI2RlZmluZSBQ RVJJT0QgNTAwMDAwMAogICAgICAgICNkZWZpbmUgRFVUWV9MSVRUTEUgMTAKICAgICAgICAuLi4K ICAgICAgICBzdHJ1Y3QgcHdtX3N0YXRlIHN0YXRlID0gewogICAgICAgICAgICAgICAgLnBlcmlv ZCA9IFBFUklPRCwKICAgICAgICAgICAgICAgIC5kdXR5X2N5Y2xlID0gRFVUWV9MSVRUTEUsCiAg ICAgICAgICAgICAgICAucG9sYXJpdHkgPSBQV01fUE9MQVJJVFlfTk9STUFMLAogICAgICAgICAg ICAgICAgLmVuYWJsZWQgPSB0cnVlLAogICAgICAgIH07CgogICAgICAgIHB3bV9hcHBseV9zdGF0 ZShteXB3bSwgJnN0YXRlKTsKICAgICAgICAuLi4KICAgICAgICBzdGF0ZS5kdXR5X2N5Y2xlID0g UEVSSU9EIC8gMjsKICAgICAgICBwd21fYXBwbHlfc3RhdGUobXlwd20sICZzdGF0ZSk7CgpGb3Ig c3VyZSB0aGUgc2Vjb25kIGNhbGwgdG8gcHdtX2FwcGx5X3N0YXRlKCkgc2hvdWxkIHN0aWxsIGhh dmUKc3RhdGUucGVyaW9kID0gUEVSSU9EIGFuZCBub3Qgc29tZXRoaW5nIHRoZSBoYXJkd2FyZSBk cml2ZXIgY2hvc2UgZm9yIGEKcmVhc29uIHRoYXQgZG9lc24ndCBuZWNlc3NhcmlseSBhcHBseSB0 byB0aGUgc2Vjb25kIGNhbGwuCgpTbyBkZWNsYXJlIHRoZSBzdGF0ZSBhcmd1bWVudCBhcyBhIHBv aW50ZXIgdG8gYSBjb25zdCB0eXBlIGFuZCBhZGFwdCBhbGwKZHJpdmVycycgLmFwcGx5IGNhbGxi YWNrcy4KClNpZ25lZC1vZmYtYnk6IFV3ZSBLbGVpbmUtS8O2bmlnIDx1LmtsZWluZS1rb2VuaWdA cGVuZ3V0cm9uaXguZGU+Ci0tLQogZHJpdmVycy9wd20vY29yZS5jICAgICAgICAgICAgfCAgMiAr LQogZHJpdmVycy9wd20vcHdtLWF0bWVsLWhsY2RjLmMgfCAgMiArLQogZHJpdmVycy9wd20vcHdt LWF0bWVsLmMgICAgICAgfCAgMiArLQogZHJpdmVycy9wd20vcHdtLWJjbS1pcHJvYy5jICAgfCAg MiArLQogZHJpdmVycy9wd20vcHdtLWNyb3MtZWMuYyAgICAgfCAgMiArLQogZHJpdmVycy9wd20v cHdtLWhpYnZ0LmMgICAgICAgfCAgMiArLQogZHJpdmVycy9wd20vcHdtLWlteDI3LmMgICAgICAg fCAgMiArLQogZHJpdmVycy9wd20vcHdtLWxwc3MuYyAgICAgICAgfCAgMiArLQogZHJpdmVycy9w d20vcHdtLW1lc29uLmMgICAgICAgfCAgMiArLQogZHJpdmVycy9wd20vcHdtLXJjYXIuYyAgICAg ICAgfCAgMiArLQogZHJpdmVycy9wd20vcHdtLXJvY2tjaGlwLmMgICAgfCAgNCArKy0tCiBkcml2 ZXJzL3B3bS9wd20tc3RtMzItbHAuYyAgICB8ICAyICstCiBkcml2ZXJzL3B3bS9wd20tc3VuNGku YyAgICAgICB8IDEwICsrLS0tLS0tLS0KIGRyaXZlcnMvcHdtL3B3bS16eC5jICAgICAgICAgIHwg IDIgKy0KIGluY2x1ZGUvbGludXgvcHdtLmggICAgICAgICAgIHwgIDQgKystLQogMTUgZmlsZXMg Y2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9wd20vY29yZS5jIGIvZHJpdmVycy9wd20vY29yZS5jCmluZGV4IDMxNDkyMDQ1Njdm My4uZTU0N2MzMjE3ZmNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3B3bS9jb3JlLmMKKysrIGIvZHJp dmVycy9wd20vY29yZS5jCkBAIC00NjQsNyArNDY0LDcgQEAgRVhQT1JUX1NZTUJPTF9HUEwocHdt X2ZyZWUpOwogICoJICAgaWYgdGhlIHJlcXVlc3RlZCBjb25maWcgaXMgbm90IGFjaGlldmFibGUs IGZvciBleGFtcGxlLAogICoJICAgLT5kdXR5X2N5Y2xlIGFuZCAtPnBlcmlvZCBtaWdodCBiZSBh cHByb3hpbWF0ZWQuCiAgKi8KLWludCBwd21fYXBwbHlfc3RhdGUoc3RydWN0IHB3bV9kZXZpY2Ug KnB3bSwgc3RydWN0IHB3bV9zdGF0ZSAqc3RhdGUpCitpbnQgcHdtX2FwcGx5X3N0YXRlKHN0cnVj dCBwd21fZGV2aWNlICpwd20sIGNvbnN0IHN0cnVjdCBwd21fc3RhdGUgKnN0YXRlKQogewogCWlu dCBlcnI7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcHdtL3B3bS1hdG1lbC1obGNkYy5jIGIvZHJp dmVycy9wd20vcHdtLWF0bWVsLWhsY2RjLmMKaW5kZXggNTRjNjYzM2Q5YjVkLi4yMGYzZmViNmNl NGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcHdtL3B3bS1hdG1lbC1obGNkYy5jCisrKyBiL2RyaXZl cnMvcHdtL3B3bS1hdG1lbC1obGNkYy5jCkBAIC01MCw3ICs1MCw3IEBAIHN0YXRpYyBpbmxpbmUg c3RydWN0IGF0bWVsX2hsY2RjX3B3bSAqdG9fYXRtZWxfaGxjZGNfcHdtKHN0cnVjdCBwd21fY2hp cCAqY2hpcCkKIH0KIAogc3RhdGljIGludCBhdG1lbF9obGNkY19wd21fYXBwbHkoc3RydWN0IHB3 bV9jaGlwICpjLCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLAotCQkJCSBzdHJ1Y3QgcHdtX3N0YXRl ICpzdGF0ZSkKKwkJCQkgY29uc3Qgc3RydWN0IHB3bV9zdGF0ZSAqc3RhdGUpCiB7CiAJc3RydWN0 IGF0bWVsX2hsY2RjX3B3bSAqY2hpcCA9IHRvX2F0bWVsX2hsY2RjX3B3bShjKTsKIAlzdHJ1Y3Qg YXRtZWxfaGxjZGMgKmhsY2RjID0gY2hpcC0+aGxjZGM7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3B3 bS9wd20tYXRtZWwuYyBiL2RyaXZlcnMvcHdtL3B3bS1hdG1lbC5jCmluZGV4IGE5ZmQ2ZjBkNDA4 Yy4uYzE4NWQzZDczZDRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3B3bS9wd20tYXRtZWwuYworKysg Yi9kcml2ZXJzL3B3bS9wd20tYXRtZWwuYwpAQCAtMjEwLDcgKzIxMCw3IEBAIHN0YXRpYyB2b2lk IGF0bWVsX3B3bV9kaXNhYmxlKHN0cnVjdCBwd21fY2hpcCAqY2hpcCwgc3RydWN0IHB3bV9kZXZp Y2UgKnB3bSwKIH0KIAogc3RhdGljIGludCBhdG1lbF9wd21fYXBwbHkoc3RydWN0IHB3bV9jaGlw ICpjaGlwLCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLAotCQkJICAgc3RydWN0IHB3bV9zdGF0ZSAq c3RhdGUpCisJCQkgICBjb25zdCBzdHJ1Y3QgcHdtX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3Qg YXRtZWxfcHdtX2NoaXAgKmF0bWVsX3B3bSA9IHRvX2F0bWVsX3B3bV9jaGlwKGNoaXApOwogCXN0 cnVjdCBwd21fc3RhdGUgY3N0YXRlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wd20vcHdtLWJjbS1p cHJvYy5jIGIvZHJpdmVycy9wd20vcHdtLWJjbS1pcHJvYy5jCmluZGV4IGQ5NjFhODIwN2IxYy4u NTZjMzhjZmFlOTJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3B3bS9wd20tYmNtLWlwcm9jLmMKKysr IGIvZHJpdmVycy9wd20vcHdtLWJjbS1pcHJvYy5jCkBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGlj IHZvaWQgaXByb2NfcHdtY19nZXRfc3RhdGUoc3RydWN0IHB3bV9jaGlwICpjaGlwLCBzdHJ1Y3Qg cHdtX2RldmljZSAqcHdtLAogfQogCiBzdGF0aWMgaW50IGlwcm9jX3B3bWNfYXBwbHkoc3RydWN0 IHB3bV9jaGlwICpjaGlwLCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLAotCQkJICAgIHN0cnVjdCBw d21fc3RhdGUgKnN0YXRlKQorCQkJICAgIGNvbnN0IHN0cnVjdCBwd21fc3RhdGUgKnN0YXRlKQog ewogCXVuc2lnbmVkIGxvbmcgcHJlc2NhbGUgPSBJUFJPQ19QV01fUFJFU0NBTEVfTUlOOwogCXN0 cnVjdCBpcHJvY19wd21jICppcCA9IHRvX2lwcm9jX3B3bWMoY2hpcCk7CmRpZmYgLS1naXQgYS9k cml2ZXJzL3B3bS9wd20tY3Jvcy1lYy5jIGIvZHJpdmVycy9wd20vcHdtLWNyb3MtZWMuYwppbmRl eCA5OGY2YWM2Y2Y2YWIuLmRiNWZhYTc5YzMzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9wd20vcHdt LWNyb3MtZWMuYworKysgYi9kcml2ZXJzL3B3bS9wd20tY3Jvcy1lYy5jCkBAIC05Myw3ICs5Myw3 IEBAIHN0YXRpYyBpbnQgY3Jvc19lY19wd21fZ2V0X2R1dHkoc3RydWN0IGNyb3NfZWNfZGV2aWNl ICplYywgdTggaW5kZXgpCiB9CiAKIHN0YXRpYyBpbnQgY3Jvc19lY19wd21fYXBwbHkoc3RydWN0 IHB3bV9jaGlwICpjaGlwLCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLAotCQkJICAgICBzdHJ1Y3Qg cHdtX3N0YXRlICpzdGF0ZSkKKwkJCSAgICAgY29uc3Qgc3RydWN0IHB3bV9zdGF0ZSAqc3RhdGUp CiB7CiAJc3RydWN0IGNyb3NfZWNfcHdtX2RldmljZSAqZWNfcHdtID0gcHdtX3RvX2Nyb3NfZWNf cHdtKGNoaXApOwogCWludCBkdXR5X2N5Y2xlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wd20vcHdt LWhpYnZ0LmMgYi9kcml2ZXJzL3B3bS9wd20taGlidnQuYwppbmRleCBhMGIwOTYwM2QxM2QuLjA4 NmRmZDM4NTBlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9wd20vcHdtLWhpYnZ0LmMKKysrIGIvZHJp dmVycy9wd20vcHdtLWhpYnZ0LmMKQEAgLTE2MSw3ICsxNjEsNyBAQCBzdGF0aWMgdm9pZCBoaWJ2 dF9wd21fZ2V0X3N0YXRlKHN0cnVjdCBwd21fY2hpcCAqY2hpcCwgc3RydWN0IHB3bV9kZXZpY2Ug KnB3bSwKIH0KIAogc3RhdGljIGludCBoaWJ2dF9wd21fYXBwbHkoc3RydWN0IHB3bV9jaGlwICpj aGlwLCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLAotCQkJCXN0cnVjdCBwd21fc3RhdGUgKnN0YXRl KQorCQkJICAgY29uc3Qgc3RydWN0IHB3bV9zdGF0ZSAqc3RhdGUpCiB7CiAJc3RydWN0IGhpYnZ0 X3B3bV9jaGlwICpoaV9wd21fY2hpcCA9IHRvX2hpYnZ0X3B3bV9jaGlwKGNoaXApOwogCmRpZmYg LS1naXQgYS9kcml2ZXJzL3B3bS9wd20taW14MjcuYyBiL2RyaXZlcnMvcHdtL3B3bS1pbXgyNy5j CmluZGV4IDgwNjEzMDY1NDIxMS4uZWVmYzY5MTMzZmE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL3B3 bS9wd20taW14MjcuYworKysgYi9kcml2ZXJzL3B3bS9wd20taW14MjcuYwpAQCAtMjA1LDcgKzIw NSw3IEBAIHN0YXRpYyB2b2lkIHB3bV9pbXgyN193YWl0X2ZpZm9fc2xvdChzdHJ1Y3QgcHdtX2No aXAgKmNoaXAsCiB9CiAKIHN0YXRpYyBpbnQgcHdtX2lteDI3X2FwcGx5KHN0cnVjdCBwd21fY2hp cCAqY2hpcCwgc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwKLQkJCSAgIHN0cnVjdCBwd21fc3RhdGUg KnN0YXRlKQorCQkJICAgY29uc3Qgc3RydWN0IHB3bV9zdGF0ZSAqc3RhdGUpCiB7CiAJdW5zaWdu ZWQgbG9uZyBwZXJpb2RfY3ljbGVzLCBkdXR5X2N5Y2xlcywgcHJlc2NhbGU7CiAJc3RydWN0IHB3 bV9pbXgyN19jaGlwICppbXggPSB0b19wd21faW14MjdfY2hpcChjaGlwKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvcHdtL3B3bS1scHNzLmMgYi9kcml2ZXJzL3B3bS9wd20tbHBzcy5jCmluZGV4IDJh YzNhMmFhOWU1My4uM2I3ZTdlZTBkYThjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3B3bS9wd20tbHBz cy5jCisrKyBiL2RyaXZlcnMvcHdtL3B3bS1scHNzLmMKQEAgLTEyNSw3ICsxMjUsNyBAQCBzdGF0 aWMgaW5saW5lIHZvaWQgcHdtX2xwc3NfY29uZF9lbmFibGUoc3RydWN0IHB3bV9kZXZpY2UgKnB3 bSwgYm9vbCBjb25kKQogfQogCiBzdGF0aWMgaW50IHB3bV9scHNzX2FwcGx5KHN0cnVjdCBwd21f Y2hpcCAqY2hpcCwgc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwKLQkJCSAgc3RydWN0IHB3bV9zdGF0 ZSAqc3RhdGUpCisJCQkgIGNvbnN0IHN0cnVjdCBwd21fc3RhdGUgKnN0YXRlKQogewogCXN0cnVj dCBwd21fbHBzc19jaGlwICpscHdtID0gdG9fbHB3bShjaGlwKTsKIAlpbnQgcmV0OwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9wd20vcHdtLW1lc29uLmMgYi9kcml2ZXJzL3B3bS9wd20tbWVzb24uYwpp bmRleCBjMWVkNjQxYjNlMjYuLjcyZGVmODc3MjU5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9wd20v cHdtLW1lc29uLmMKKysrIGIvZHJpdmVycy9wd20vcHdtLW1lc29uLmMKQEAgLTI5Miw3ICsyOTIs NyBAQCBzdGF0aWMgdm9pZCBtZXNvbl9wd21fZGlzYWJsZShzdHJ1Y3QgbWVzb25fcHdtICptZXNv biwgdW5zaWduZWQgaW50IGlkKQogfQogCiBzdGF0aWMgaW50IG1lc29uX3B3bV9hcHBseShzdHJ1 Y3QgcHdtX2NoaXAgKmNoaXAsIHN0cnVjdCBwd21fZGV2aWNlICpwd20sCi0JCQkgICBzdHJ1Y3Qg cHdtX3N0YXRlICpzdGF0ZSkKKwkJCSAgIGNvbnN0IHN0cnVjdCBwd21fc3RhdGUgKnN0YXRlKQog ewogCXN0cnVjdCBtZXNvbl9wd21fY2hhbm5lbCAqY2hhbm5lbCA9IHB3bV9nZXRfY2hpcF9kYXRh KHB3bSk7CiAJc3RydWN0IG1lc29uX3B3bSAqbWVzb24gPSB0b19tZXNvbl9wd20oY2hpcCk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL3B3bS9wd20tcmNhci5jIGIvZHJpdmVycy9wd20vcHdtLXJjYXIu YwppbmRleCBjZmU3ZGQxYjQ0OGUuLjkxYWIxODg5ZWI2NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9w d20vcHdtLXJjYXIuYworKysgYi9kcml2ZXJzL3B3bS9wd20tcmNhci5jCkBAIC0xNTgsNyArMTU4 LDcgQEAgc3RhdGljIHZvaWQgcmNhcl9wd21fZGlzYWJsZShzdHJ1Y3QgcmNhcl9wd21fY2hpcCAq cnApCiB9CiAKIHN0YXRpYyBpbnQgcmNhcl9wd21fYXBwbHkoc3RydWN0IHB3bV9jaGlwICpjaGlw LCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLAotCQkJICBzdHJ1Y3QgcHdtX3N0YXRlICpzdGF0ZSkK KwkJCSAgY29uc3Qgc3RydWN0IHB3bV9zdGF0ZSAqc3RhdGUpCiB7CiAJc3RydWN0IHJjYXJfcHdt X2NoaXAgKnJwID0gdG9fcmNhcl9wd21fY2hpcChjaGlwKTsKIAlzdHJ1Y3QgcHdtX3N0YXRlIGN1 cl9zdGF0ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcHdtL3B3bS1yb2NrY2hpcC5jIGIvZHJpdmVy cy9wd20vcHdtLXJvY2tjaGlwLmMKaW5kZXggMTYxODZiY2Q5OWUwLi4xNTAxNTQxZDgwMWUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvcHdtL3B3bS1yb2NrY2hpcC5jCisrKyBiL2RyaXZlcnMvcHdtL3B3 bS1yb2NrY2hpcC5jCkBAIC0xMDIsNyArMTAyLDcgQEAgc3RhdGljIHZvaWQgcm9ja2NoaXBfcHdt X2dldF9zdGF0ZShzdHJ1Y3QgcHdtX2NoaXAgKmNoaXAsCiB9CiAKIHN0YXRpYyB2b2lkIHJvY2tj aGlwX3B3bV9jb25maWcoc3RydWN0IHB3bV9jaGlwICpjaGlwLCBzdHJ1Y3QgcHdtX2RldmljZSAq cHdtLAotCQkJICAgICAgIHN0cnVjdCBwd21fc3RhdGUgKnN0YXRlKQorCQkJICAgICAgIGNvbnN0 IHN0cnVjdCBwd21fc3RhdGUgKnN0YXRlKQogewogCXN0cnVjdCByb2NrY2hpcF9wd21fY2hpcCAq cGMgPSB0b19yb2NrY2hpcF9wd21fY2hpcChjaGlwKTsKIAl1bnNpZ25lZCBsb25nIHBlcmlvZCwg ZHV0eTsKQEAgLTE4Niw3ICsxODYsNyBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX3B3bV9lbmFibGUo c3RydWN0IHB3bV9jaGlwICpjaGlwLAogfQogCiBzdGF0aWMgaW50IHJvY2tjaGlwX3B3bV9hcHBs eShzdHJ1Y3QgcHdtX2NoaXAgKmNoaXAsIHN0cnVjdCBwd21fZGV2aWNlICpwd20sCi0JCQkgICAg ICBzdHJ1Y3QgcHdtX3N0YXRlICpzdGF0ZSkKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBwd21fc3Rh dGUgKnN0YXRlKQogewogCXN0cnVjdCByb2NrY2hpcF9wd21fY2hpcCAqcGMgPSB0b19yb2NrY2hp cF9wd21fY2hpcChjaGlwKTsKIAlzdHJ1Y3QgcHdtX3N0YXRlIGN1cnN0YXRlOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9wd20vcHdtLXN0bTMyLWxwLmMgYi9kcml2ZXJzL3B3bS9wd20tc3RtMzItbHAu YwppbmRleCAwMDU5YjI0Y2ZkYzMuLjExYzUyOTVjNmE4NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9w d20vcHdtLXN0bTMyLWxwLmMKKysrIGIvZHJpdmVycy9wd20vcHdtLXN0bTMyLWxwLmMKQEAgLTMx LDcgKzMxLDcgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3Qgc3RtMzJfcHdtX2xwICp0b19zdG0zMl9w d21fbHAoc3RydWN0IHB3bV9jaGlwICpjaGlwKQogI2RlZmluZSBTVE0zMl9MUFRJTV9NQVhfUFJF U0NBTEVSCTEyOAogCiBzdGF0aWMgaW50IHN0bTMyX3B3bV9scF9hcHBseShzdHJ1Y3QgcHdtX2No aXAgKmNoaXAsIHN0cnVjdCBwd21fZGV2aWNlICpwd20sCi0JCQkgICAgICBzdHJ1Y3QgcHdtX3N0 YXRlICpzdGF0ZSkKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBwd21fc3RhdGUgKnN0YXRlKQogewog CXN0cnVjdCBzdG0zMl9wd21fbHAgKnByaXYgPSB0b19zdG0zMl9wd21fbHAoY2hpcCk7CiAJdW5z aWduZWQgbG9uZyBsb25nIHByZCwgZGl2LCBkdHk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3B3bS9w d20tc3VuNGkuYyBiL2RyaXZlcnMvcHdtL3B3bS1zdW40aS5jCmluZGV4IDQ3MGQ0ZjcxZTdlYi4u NTJkYWNlOWY3MzllIDEwMDY0NAotLS0gYS9kcml2ZXJzL3B3bS9wd20tc3VuNGkuYworKysgYi9k cml2ZXJzL3B3bS9wd20tc3VuNGkuYwpAQCAtMTQ2LDcgKzE0Niw3IEBAIHN0YXRpYyB2b2lkIHN1 bjRpX3B3bV9nZXRfc3RhdGUoc3RydWN0IHB3bV9jaGlwICpjaGlwLAogfQogCiBzdGF0aWMgaW50 IHN1bjRpX3B3bV9jYWxjdWxhdGUoc3RydWN0IHN1bjRpX3B3bV9jaGlwICpzdW40aV9wd20sCi0J CQkgICAgICAgc3RydWN0IHB3bV9zdGF0ZSAqc3RhdGUsCisJCQkgICAgICAgY29uc3Qgc3RydWN0 IHB3bV9zdGF0ZSAqc3RhdGUsCiAJCQkgICAgICAgdTMyICpkdHksIHUzMiAqcHJkLCB1bnNpZ25l ZCBpbnQgKnByc2NscikKIHsKIAl1NjQgY2xrX3JhdGUsIGRpdiA9IDA7CkBAIC0xOTMsMTcgKzE5 MywxMSBAQCBzdGF0aWMgaW50IHN1bjRpX3B3bV9jYWxjdWxhdGUoc3RydWN0IHN1bjRpX3B3bV9j aGlwICpzdW40aV9wd20sCiAJKmR0eSA9IGRpdjsKIAkqcHJzY2xyID0gcHJlc2NhbGVyOwogCi0J ZGl2ID0gKHU2NClwdmFsICogTlNFQ19QRVJfU0VDICogKnByZDsKLQlzdGF0ZS0+cGVyaW9kID0g RElWX1JPVU5EX0NMT1NFU1RfVUxMKGRpdiwgY2xrX3JhdGUpOwotCi0JZGl2ID0gKHU2NClwdmFs ICogTlNFQ19QRVJfU0VDICogKmR0eTsKLQlzdGF0ZS0+ZHV0eV9jeWNsZSA9IERJVl9ST1VORF9D TE9TRVNUX1VMTChkaXYsIGNsa19yYXRlKTsKLQogCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50 IHN1bjRpX3B3bV9hcHBseShzdHJ1Y3QgcHdtX2NoaXAgKmNoaXAsIHN0cnVjdCBwd21fZGV2aWNl ICpwd20sCi0JCQkgICBzdHJ1Y3QgcHdtX3N0YXRlICpzdGF0ZSkKKwkJCSAgIGNvbnN0IHN0cnVj dCBwd21fc3RhdGUgKnN0YXRlKQogewogCXN0cnVjdCBzdW40aV9wd21fY2hpcCAqc3VuNGlfcHdt ID0gdG9fc3VuNGlfcHdtX2NoaXAoY2hpcCk7CiAJc3RydWN0IHB3bV9zdGF0ZSBjc3RhdGU7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL3B3bS9wd20tenguYyBiL2RyaXZlcnMvcHdtL3B3bS16eC5jCmlu ZGV4IDVkMjdjMTZlZGZiMS4uZDZkYTkzOWEyZTU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3B3bS9w d20tenguYworKysgYi9kcml2ZXJzL3B3bS9wd20tenguYwpAQCAtMTUxLDcgKzE1MSw3IEBAIHN0 YXRpYyBpbnQgenhfcHdtX2NvbmZpZyhzdHJ1Y3QgcHdtX2NoaXAgKmNoaXAsIHN0cnVjdCBwd21f ZGV2aWNlICpwd20sCiB9CiAKIHN0YXRpYyBpbnQgenhfcHdtX2FwcGx5KHN0cnVjdCBwd21fY2hp cCAqY2hpcCwgc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwKLQkJCXN0cnVjdCBwd21fc3RhdGUgKnN0 YXRlKQorCQkJY29uc3Qgc3RydWN0IHB3bV9zdGF0ZSAqc3RhdGUpCiB7CiAJc3RydWN0IHp4X3B3 bV9jaGlwICp6cGMgPSB0b196eF9wd21fY2hpcChjaGlwKTsKIAlzdHJ1Y3QgcHdtX3N0YXRlIGNz dGF0ZTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcHdtLmggYi9pbmNsdWRlL2xpbnV4L3B3 bS5oCmluZGV4IGI2MjhhYmZmZmFjYy4uNzUyNTc4Nzk4NWJiIDEwMDY0NAotLS0gYS9pbmNsdWRl L2xpbnV4L3B3bS5oCisrKyBiL2luY2x1ZGUvbGludXgvcHdtLmgKQEAgLTI2Miw3ICsyNjIsNyBA QCBzdHJ1Y3QgcHdtX29wcyB7CiAJaW50ICgqY2FwdHVyZSkoc3RydWN0IHB3bV9jaGlwICpjaGlw LCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLAogCQkgICAgICAgc3RydWN0IHB3bV9jYXB0dXJlICpy ZXN1bHQsIHVuc2lnbmVkIGxvbmcgdGltZW91dCk7CiAJaW50ICgqYXBwbHkpKHN0cnVjdCBwd21f Y2hpcCAqY2hpcCwgc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwKLQkJICAgICBzdHJ1Y3QgcHdtX3N0 YXRlICpzdGF0ZSk7CisJCSAgICAgY29uc3Qgc3RydWN0IHB3bV9zdGF0ZSAqc3RhdGUpOwogCXZv aWQgKCpnZXRfc3RhdGUpKHN0cnVjdCBwd21fY2hpcCAqY2hpcCwgc3RydWN0IHB3bV9kZXZpY2Ug KnB3bSwKIAkJCSAgc3RydWN0IHB3bV9zdGF0ZSAqc3RhdGUpOwogCXN0cnVjdCBtb2R1bGUgKm93 bmVyOwpAQCAtMzE2LDcgKzMxNiw3IEBAIHN0cnVjdCBwd21fY2FwdHVyZSB7CiAvKiBQV00gdXNl ciBBUElzICovCiBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtX3JlcXVlc3QoaW50IHB3bV9pZCwgY29u c3QgY2hhciAqbGFiZWwpOwogdm9pZCBwd21fZnJlZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKTsK LWludCBwd21fYXBwbHlfc3RhdGUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwgc3RydWN0IHB3bV9z dGF0ZSAqc3RhdGUpOworaW50IHB3bV9hcHBseV9zdGF0ZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdt LCBjb25zdCBzdHJ1Y3QgcHdtX3N0YXRlICpzdGF0ZSk7CiBpbnQgcHdtX2FkanVzdF9jb25maWco c3RydWN0IHB3bV9kZXZpY2UgKnB3bSk7CiAKIC8qKgotLSAKMi4yMC4xCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGlu ZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yb2NrY2hpcAo=