From mboxrd@z Thu Jan 1 00:00:00 1970 From: Grant Likely Subject: [PATCH v2 07/14] of/reconfig: Always use the same structure for notifiers Date: Mon, 24 Nov 2014 22:33:35 +0000 Message-ID: <1416868422-22103-8-git-send-email-grant.likely@linaro.org> References: <1416868422-22103-1-git-send-email-grant.likely@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1416868422-22103-1-git-send-email-grant.likely@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" To: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Pantelis Antoniou Cc: Wolfram Sang , Rob Herring , Mark Brown , Grant Likely , linuxppc-dev@lists.ozlabs.org List-Id: devicetree@vger.kernel.org VGhlIE9GX1JFQ09ORklHIG5vdGlmaWVyIGNhbGxiYWNrIHVzZXMgYSBkaWZmZXJlbnQgc3RydWN0 dXJlIGRlcGVuZGluZwpvbiB3aGV0aGVyIGl0IGlzIGEgbm9kZSBjaGFuZ2Ugb3IgYSBwcm9wZXJ0 eSBjaGFuZ2UuIFRoaXMgaXMgc2lsbHksIGFuZApub3QgdmVyeSBzYWZlLiBSZXdvcmsgdGhlIGNv ZGUgdG8gdXNlIHRoZSBzYW1lIGRhdGEgc3RydWN0dXJlIHJlZ2FyZGxlc3MKb2YgdGhlIHR5cGUg b2Ygbm90aWZpZXIuCgpTaWduZWQtb2ZmLWJ5OiBHcmFudCBMaWtlbHkgPGdyYW50Lmxpa2VseUBs aW5hcm8ub3JnPgpDYzogQmVuamFtaW4gSGVycmVuc2NobWlkdCA8YmVuaEBrZXJuZWwuY3Jhc2hp bmcub3JnPgpDYzogUm9iIEhlcnJpbmcgPHJvYmgrZHRAa2VybmVsLm9yZz4KQ2M6IFBhbnRlbGlz IEFudG9uaW91IDxwYW50ZWxpcy5hbnRvbmlvdUBrb25zdWxrby5jb20+CkNjOiA8bGludXhwcGMt ZGV2QGxpc3RzLm96bGFicy5vcmc+Ci0tLQogYXJjaC9wb3dlcnBjL21tL251bWEuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMyArLQogYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wc2VyaWVz L2hvdHBsdWctY3B1LmMgICAgfCAgNyArKystLQogYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wc2Vy aWVzL2hvdHBsdWctbWVtb3J5LmMgfCAxNSArKysrKy0tLS0KIGFyY2gvcG93ZXJwYy9wbGF0Zm9y bXMvcHNlcmllcy9pb21tdS5jICAgICAgICAgIHwgIDUgKy0tCiBhcmNoL3Bvd2VycGMvcGxhdGZv cm1zL3BzZXJpZXMvc2V0dXAuYyAgICAgICAgICB8ICA1ICstLQogZHJpdmVycy9jcnlwdG8vbngv bngtODQyLmMgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLS0KIGRyaXZlcnMvb2YvZHluYW1p Yy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNDEgKysrKysrKysrKysrKy0tLS0tLS0t LS0tLQogaW5jbHVkZS9saW51eC9vZi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAy MyArKysrKysrKy0tLS0tLQogOCBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCA0OSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvbW0vbnVtYS5jIGIvYXJjaC9w b3dlcnBjL21tL251bWEuYwppbmRleCBiOWQxZGZkYmU1YmIuLjlmZTYwMDJjMWQ1YSAxMDA2NDQK LS0tIGEvYXJjaC9wb3dlcnBjL21tL251bWEuYworKysgYi9hcmNoL3Bvd2VycGMvbW0vbnVtYS5j CkBAIC0xNzExLDEyICsxNzExLDExIEBAIHN0YXRpYyB2b2lkIHN0YWdlX3RvcG9sb2d5X3VwZGF0 ZShpbnQgY29yZV9pZCkKIHN0YXRpYyBpbnQgZHRfdXBkYXRlX2NhbGxiYWNrKHN0cnVjdCBub3Rp Zmllcl9ibG9jayAqbmIsCiAJCQkJdW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmRhdGEpCiB7 Ci0Jc3RydWN0IG9mX3Byb3BfcmVjb25maWcgKnVwZGF0ZTsKKwlzdHJ1Y3Qgb2ZfcmVjb25maWdf ZGF0YSAqdXBkYXRlID0gZGF0YTsKIAlpbnQgcmMgPSBOT1RJRllfRE9ORTsKIAogCXN3aXRjaCAo YWN0aW9uKSB7CiAJY2FzZSBPRl9SRUNPTkZJR19VUERBVEVfUFJPUEVSVFk6Ci0JCXVwZGF0ZSA9 IChzdHJ1Y3Qgb2ZfcHJvcF9yZWNvbmZpZyAqKWRhdGE7CiAJCWlmICghb2ZfcHJvcF9jbXAodXBk YXRlLT5kbi0+dHlwZSwgImNwdSIpICYmCiAJCSAgICAhb2ZfcHJvcF9jbXAodXBkYXRlLT5wcm9w LT5uYW1lLCAiaWJtLGFzc29jaWF0aXZpdHkiKSkgewogCQkJdTMyIGNvcmVfaWQ7CmRpZmYgLS1n aXQgYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMvaG90cGx1Zy1jcHUuYyBiL2FyY2gv cG93ZXJwYy9wbGF0Zm9ybXMvcHNlcmllcy9ob3RwbHVnLWNwdS5jCmluZGV4IDVjMzc1ZjkzYzY2 OS4uZjMwY2Y0ZDEzNmE0IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJp ZXMvaG90cGx1Zy1jcHUuYworKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMvaG90 cGx1Zy1jcHUuYwpAQCAtMzQwLDE2ICszNDAsMTcgQEAgc3RhdGljIHZvaWQgcHNlcmllc19yZW1v dmVfcHJvY2Vzc29yKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCiB9CiAKIHN0YXRpYyBpbnQgcHNl cmllc19zbXBfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYiwKLQkJCQl1bnNpZ25l ZCBsb25nIGFjdGlvbiwgdm9pZCAqbm9kZSkKKwkJCQl1bnNpZ25lZCBsb25nIGFjdGlvbiwgdm9p ZCAqZGF0YSkKIHsKKwlzdHJ1Y3Qgb2ZfcmVjb25maWdfZGF0YSAqcmQgPSBkYXRhOwogCWludCBl cnIgPSAwOwogCiAJc3dpdGNoIChhY3Rpb24pIHsKIAljYXNlIE9GX1JFQ09ORklHX0FUVEFDSF9O T0RFOgotCQllcnIgPSBwc2VyaWVzX2FkZF9wcm9jZXNzb3Iobm9kZSk7CisJCWVyciA9IHBzZXJp ZXNfYWRkX3Byb2Nlc3NvcihyZC0+ZG4pOwogCQlicmVhazsKIAljYXNlIE9GX1JFQ09ORklHX0RF VEFDSF9OT0RFOgotCQlwc2VyaWVzX3JlbW92ZV9wcm9jZXNzb3Iobm9kZSk7CisJCXBzZXJpZXNf cmVtb3ZlX3Byb2Nlc3NvcihyZC0+ZG4pOwogCQlicmVhazsKIAl9CiAJcmV0dXJuIG5vdGlmaWVy X2Zyb21fZXJybm8oZXJyKTsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHNl cmllcy9ob3RwbHVnLW1lbW9yeS5jIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wc2VyaWVzL2hv dHBsdWctbWVtb3J5LmMKaW5kZXggM2M0YzBkY2Q5MGQzLi4xYmJiNzhmYWI1MzAgMTAwNjQ0Ci0t LSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHNlcmllcy9ob3RwbHVnLW1lbW9yeS5jCisrKyBi L2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHNlcmllcy9ob3RwbHVnLW1lbW9yeS5jCkBAIC0xODMs NyArMTgzLDcgQEAgc3RhdGljIGludCBwc2VyaWVzX2FkZF9tZW1fbm9kZShzdHJ1Y3QgZGV2aWNl X25vZGUgKm5wKQogCXJldHVybiAocmV0IDwgMCkgPyAtRUlOVkFMIDogMDsKIH0KIAotc3RhdGlj IGludCBwc2VyaWVzX3VwZGF0ZV9kcmNvbmZfbWVtb3J5KHN0cnVjdCBvZl9wcm9wX3JlY29uZmln ICpwcikKK3N0YXRpYyBpbnQgcHNlcmllc191cGRhdGVfZHJjb25mX21lbW9yeShzdHJ1Y3Qgb2Zf cmVjb25maWdfZGF0YSAqcHIpCiB7CiAJc3RydWN0IG9mX2RyY29uZl9jZWxsICpuZXdfZHJtZW0s ICpvbGRfZHJtZW07CiAJdW5zaWduZWQgbG9uZyBtZW1ibG9ja19zaXplOwpAQCAtMjMyLDIyICsy MzIsMjEgQEAgc3RhdGljIGludCBwc2VyaWVzX3VwZGF0ZV9kcmNvbmZfbWVtb3J5KHN0cnVjdCBv Zl9wcm9wX3JlY29uZmlnICpwcikKIH0KIAogc3RhdGljIGludCBwc2VyaWVzX21lbW9yeV9ub3Rp ZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLAotCQkJCSAgIHVuc2lnbmVkIGxvbmcgYWN0 aW9uLCB2b2lkICpub2RlKQorCQkJCSAgIHVuc2lnbmVkIGxvbmcgYWN0aW9uLCB2b2lkICpkYXRh KQogewotCXN0cnVjdCBvZl9wcm9wX3JlY29uZmlnICpwcjsKKwlzdHJ1Y3Qgb2ZfcmVjb25maWdf ZGF0YSAqcmQgPSBkYXRhOwogCWludCBlcnIgPSAwOwogCiAJc3dpdGNoIChhY3Rpb24pIHsKIAlj YXNlIE9GX1JFQ09ORklHX0FUVEFDSF9OT0RFOgotCQllcnIgPSBwc2VyaWVzX2FkZF9tZW1fbm9k ZShub2RlKTsKKwkJZXJyID0gcHNlcmllc19hZGRfbWVtX25vZGUocmQtPmRuKTsKIAkJYnJlYWs7 CiAJY2FzZSBPRl9SRUNPTkZJR19ERVRBQ0hfTk9ERToKLQkJZXJyID0gcHNlcmllc19yZW1vdmVf bWVtX25vZGUobm9kZSk7CisJCWVyciA9IHBzZXJpZXNfcmVtb3ZlX21lbV9ub2RlKHJkLT5kbik7 CiAJCWJyZWFrOwogCWNhc2UgT0ZfUkVDT05GSUdfVVBEQVRFX1BST1BFUlRZOgotCQlwciA9IChz dHJ1Y3Qgb2ZfcHJvcF9yZWNvbmZpZyAqKW5vZGU7Ci0JCWlmICghc3RyY21wKHByLT5wcm9wLT5u YW1lLCAiaWJtLGR5bmFtaWMtbWVtb3J5IikpCi0JCQllcnIgPSBwc2VyaWVzX3VwZGF0ZV9kcmNv bmZfbWVtb3J5KHByKTsKKwkJaWYgKCFzdHJjbXAocmQtPnByb3AtPm5hbWUsICJpYm0sZHluYW1p Yy1tZW1vcnkiKSkKKwkJCWVyciA9IHBzZXJpZXNfdXBkYXRlX2RyY29uZl9tZW1vcnkocmQpOwog CQlicmVhazsKIAl9CiAJcmV0dXJuIG5vdGlmaWVyX2Zyb21fZXJybm8oZXJyKTsKZGlmZiAtLWdp dCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHNlcmllcy9pb21tdS5jIGIvYXJjaC9wb3dlcnBj L3BsYXRmb3Jtcy9wc2VyaWVzL2lvbW11LmMKaW5kZXggZTMyZTAwOTc2YTk0Li4zZTViZmRhZmVl NjMgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHNlcmllcy9pb21tdS5jCisr KyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHNlcmllcy9pb21tdS5jCkBAIC0xMjUxLDEwICsx MjUxLDExIEBAIHN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgaW9tbXVfbWVtX25iID0gewog CS5ub3RpZmllcl9jYWxsID0gaW9tbXVfbWVtX25vdGlmaWVyLAogfTsKIAotc3RhdGljIGludCBp b21tdV9yZWNvbmZpZ19ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1bnNpZ25l ZCBsb25nIGFjdGlvbiwgdm9pZCAqbm9kZSkKK3N0YXRpYyBpbnQgaW9tbXVfcmVjb25maWdfbm90 aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYiwgdW5zaWduZWQgbG9uZyBhY3Rpb24sIHZv aWQgKmRhdGEpCiB7CiAJaW50IGVyciA9IE5PVElGWV9PSzsKLQlzdHJ1Y3QgZGV2aWNlX25vZGUg Km5wID0gbm9kZTsKKwlzdHJ1Y3Qgb2ZfcmVjb25maWdfZGF0YSAqcmQgPSBkYXRhOworCXN0cnVj dCBkZXZpY2Vfbm9kZSAqbnAgPSByZC0+ZG47CiAJc3RydWN0IHBjaV9kbiAqcGNpID0gUENJX0RO KG5wKTsKIAlzdHJ1Y3QgZGlyZWN0X3dpbmRvdyAqd2luZG93OwogCmRpZmYgLS1naXQgYS9hcmNo L3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMvc2V0dXAuYyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9y bXMvcHNlcmllcy9zZXR1cC5jCmluZGV4IDEyNWM1ODllZWVmNS4uZWQ4YTkwMDIyYTNkIDEwMDY0 NAotLS0gYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMvc2V0dXAuYworKysgYi9hcmNo L3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMvc2V0dXAuYwpAQCAtMjUxLDkgKzI1MSwxMCBAQCBz dGF0aWMgdm9pZCBfX2luaXQgcHNlcmllc19kaXNjb3Zlcl9waWModm9pZCkKIAkgICAgICAgIiBp bnRlcnJ1cHQtY29udHJvbGxlclxuIik7CiB9CiAKLXN0YXRpYyBpbnQgcGNpX2RuX3JlY29uZmln X25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgYWN0aW9u LCB2b2lkICpub2RlKQorc3RhdGljIGludCBwY2lfZG5fcmVjb25maWdfbm90aWZpZXIoc3RydWN0 IG5vdGlmaWVyX2Jsb2NrICpuYiwgdW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmRhdGEpCiB7 Ci0Jc3RydWN0IGRldmljZV9ub2RlICpucCA9IG5vZGU7CisJc3RydWN0IG9mX3JlY29uZmlnX2Rh dGEgKnJkID0gZGF0YTsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gcmQtPmRuOwogCXN0cnVj dCBwY2lfZG4gKnBjaSA9IE5VTEw7CiAJaW50IGVyciA9IE5PVElGWV9PSzsKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9jcnlwdG8vbngvbngtODQyLmMgYi9kcml2ZXJzL2NyeXB0by9ueC9ueC04NDIu YwppbmRleCAwNjE0MDdkNTk1MjAuLjg4NzE5NmU5YjUwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9j cnlwdG8vbngvbngtODQyLmMKKysrIGIvZHJpdmVycy9jcnlwdG8vbngvbngtODQyLmMKQEAgLTEw MDksOSArMTAwOSw5IEBAIGVycm9yX291dDoKICAqCQlub3RpZmllcl90b19lcnJubygpIHRvIGRl Y29kZSB0aGlzIHZhbHVlCiAgKi8KIHN0YXRpYyBpbnQgbng4NDJfT0Zfbm90aWZpZXIoc3RydWN0 IG5vdGlmaWVyX2Jsb2NrICpucCwgdW5zaWduZWQgbG9uZyBhY3Rpb24sCi0JCQkgICAgIHZvaWQg KnVwZGF0ZSkKKwkJCSAgICAgdm9pZCAqZGF0YSkKIHsKLQlzdHJ1Y3Qgb2ZfcHJvcF9yZWNvbmZp ZyAqdXBkID0gdXBkYXRlOworCXN0cnVjdCBvZl9yZWNvbmZpZ19kYXRhICp1cGQgPSBkYXRhOwog CXN0cnVjdCBueDg0Ml9kZXZkYXRhICpsb2NhbF9kZXZkYXRhOwogCXN0cnVjdCBkZXZpY2Vfbm9k ZSAqbm9kZSA9IE5VTEw7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvb2YvZHluYW1pYy5jIGIvZHJp dmVycy9vZi9keW5hbWljLmMKaW5kZXggY2MxMDY1MjlkY2E4Li4zMzUxZWY0MDgxMjUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvb2YvZHluYW1pYy5jCisrKyBiL2RyaXZlcnMvb2YvZHluYW1pYy5jCkBA IC04NywxOCArODcsMTcgQEAgY29uc3QgY2hhciAqYWN0aW9uX25hbWVzW10gPSB7CiB9OwogI2Vu ZGlmCiAKLWludCBvZl9yZWNvbmZpZ19ub3RpZnkodW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQg KnApCitpbnQgb2ZfcmVjb25maWdfbm90aWZ5KHVuc2lnbmVkIGxvbmcgYWN0aW9uLCBzdHJ1Y3Qg b2ZfcmVjb25maWdfZGF0YSAqcCkKIHsKIAlpbnQgcmM7CiAjaWZkZWYgREVCVUcKLQlzdHJ1Y3Qg ZGV2aWNlX25vZGUgKmRuID0gcDsKLQlzdHJ1Y3Qgb2ZfcHJvcF9yZWNvbmZpZyAqcHIgPSBwOwor CXN0cnVjdCBvZl9yZWNvbmZpZ19kYXRhICpwciA9IHA7CiAKIAlzd2l0Y2ggKGFjdGlvbikgewog CWNhc2UgT0ZfUkVDT05GSUdfQVRUQUNIX05PREU6CiAJY2FzZSBPRl9SRUNPTkZJR19ERVRBQ0hf Tk9ERToKIAkJcHJfZGVidWcoIm9mL25vdGlmeSAlLTE1cyAlc1xuIiwgYWN0aW9uX25hbWVzW2Fj dGlvbl0sCi0JCQlkbi0+ZnVsbF9uYW1lKTsKKwkJCXByLT5kbi0+ZnVsbF9uYW1lKTsKIAkJYnJl YWs7CiAJY2FzZSBPRl9SRUNPTkZJR19BRERfUFJPUEVSVFk6CiAJY2FzZSBPRl9SRUNPTkZJR19S RU1PVkVfUFJPUEVSVFk6CkBAIC0xMjIsMzEgKzEyMSwyMiBAQCBpbnQgb2ZfcmVjb25maWdfbm90 aWZ5KHVuc2lnbmVkIGxvbmcgYWN0aW9uLCB2b2lkICpwKQogICogUmV0dXJucyAwIG9uIGRldmlj ZSBnb2luZyBmcm9tIGVuYWJsZWQgdG8gZGlzYWJsZWQsIDEgb24gZGV2aWNlCiAgKiBnb2luZyBm cm9tIGRpc2FibGVkIHRvIGVuYWJsZWQgYW5kIC0xIG9uIG5vIGNoYW5nZS4KICAqLwotaW50IG9m X3JlY29uZmlnX2dldF9zdGF0ZV9jaGFuZ2UodW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmFy ZykKK2ludCBvZl9yZWNvbmZpZ19nZXRfc3RhdGVfY2hhbmdlKHVuc2lnbmVkIGxvbmcgYWN0aW9u LCBzdHJ1Y3Qgb2ZfcmVjb25maWdfZGF0YSAqcHIpCiB7Ci0Jc3RydWN0IGRldmljZV9ub2RlICpk bjsKLQlzdHJ1Y3QgcHJvcGVydHkgKnByb3AsICpvbGRfcHJvcDsKLQlzdHJ1Y3Qgb2ZfcHJvcF9y ZWNvbmZpZyAqcHI7CisJc3RydWN0IHByb3BlcnR5ICpwcm9wLCAqb2xkX3Byb3AgPSBOVUxMOwog CWludCBpc19zdGF0dXMsIHN0YXR1c19zdGF0ZSwgb2xkX3N0YXR1c19zdGF0ZSwgcHJldl9zdGF0 ZSwgbmV3X3N0YXRlOwogCiAJLyogZmlndXJlIG91dCBpZiBhIGRldmljZSBzaG91bGQgYmUgY3Jl YXRlZCBvciBkZXN0cm95ZWQgKi8KLQlkbiA9IE5VTEw7Ci0JcHJvcCA9IG9sZF9wcm9wID0gTlVM TDsKIAlzd2l0Y2ggKGFjdGlvbikgewogCWNhc2UgT0ZfUkVDT05GSUdfQVRUQUNIX05PREU6CiAJ Y2FzZSBPRl9SRUNPTkZJR19ERVRBQ0hfTk9ERToKLQkJZG4gPSBhcmc7Ci0JCXByb3AgPSBvZl9m aW5kX3Byb3BlcnR5KGRuLCAic3RhdHVzIiwgTlVMTCk7CisJCXByb3AgPSBvZl9maW5kX3Byb3Bl cnR5KHByLT5kbiwgInN0YXR1cyIsIE5VTEwpOwogCQlicmVhazsKIAljYXNlIE9GX1JFQ09ORklH X0FERF9QUk9QRVJUWToKIAljYXNlIE9GX1JFQ09ORklHX1JFTU9WRV9QUk9QRVJUWToKLQkJcHIg PSBhcmc7Ci0JCWRuID0gcHItPmRuOwogCQlwcm9wID0gcHItPnByb3A7CiAJCWJyZWFrOwogCWNh c2UgT0ZfUkVDT05GSUdfVVBEQVRFX1BST1BFUlRZOgotCQlwciA9IGFyZzsKLQkJZG4gPSBwci0+ ZG47CiAJCXByb3AgPSBwci0+cHJvcDsKIAkJb2xkX3Byb3AgPSBwci0+b2xkX3Byb3A7CiAJCWJy ZWFrOwpAQCAtMjEyLDcgKzIwMiw3IEBAIEVYUE9SVF9TWU1CT0xfR1BMKG9mX3JlY29uZmlnX2dl dF9zdGF0ZV9jaGFuZ2UpOwogaW50IG9mX3Byb3BlcnR5X25vdGlmeShpbnQgYWN0aW9uLCBzdHJ1 Y3QgZGV2aWNlX25vZGUgKm5wLAogCQkgICAgICAgc3RydWN0IHByb3BlcnR5ICpwcm9wLCBzdHJ1 Y3QgcHJvcGVydHkgKm9sZHByb3ApCiB7Ci0Jc3RydWN0IG9mX3Byb3BfcmVjb25maWcgcHI7CisJ c3RydWN0IG9mX3JlY29uZmlnX2RhdGEgcHI7CiAKIAkvKiBvbmx5IGNhbGwgbm90aWZpZXJzIGlm IHRoZSBub2RlIGlzIGF0dGFjaGVkICovCiAJaWYgKCFvZl9ub2RlX2lzX2F0dGFjaGVkKG5wKSkK QEAgLTI1MCw4ICsyNDAsMTIgQEAgdm9pZCBfX29mX2F0dGFjaF9ub2RlKHN0cnVjdCBkZXZpY2Vf bm9kZSAqbnApCiAgKi8KIGludCBvZl9hdHRhY2hfbm9kZShzdHJ1Y3QgZGV2aWNlX25vZGUgKm5w KQogeworCXN0cnVjdCBvZl9yZWNvbmZpZ19kYXRhIHJkOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7 CiAKKwltZW1zZXQoJnJkLCAwLCBzaXplb2YocmQpKTsKKwlyZC5kbiA9IG5wOworCiAJbXV0ZXhf bG9jaygmb2ZfbXV0ZXgpOwogCXJhd19zcGluX2xvY2tfaXJxc2F2ZSgmZGV2dHJlZV9sb2NrLCBm bGFncyk7CiAJX19vZl9hdHRhY2hfbm9kZShucCk7CkBAIC0yNjAsNyArMjU0LDcgQEAgaW50IG9m X2F0dGFjaF9ub2RlKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCiAJX19vZl9hdHRhY2hfbm9kZV9z eXNmcyhucCk7CiAJbXV0ZXhfdW5sb2NrKCZvZl9tdXRleCk7CiAKLQlvZl9yZWNvbmZpZ19ub3Rp ZnkoT0ZfUkVDT05GSUdfQVRUQUNIX05PREUsIG5wKTsKKwlvZl9yZWNvbmZpZ19ub3RpZnkoT0Zf UkVDT05GSUdfQVRUQUNIX05PREUsICZyZCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTI5OCw5ICsy OTIsMTMgQEAgdm9pZCBfX29mX2RldGFjaF9ub2RlKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCiAg Ki8KIGludCBvZl9kZXRhY2hfbm9kZShzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKQogeworCXN0cnVj dCBvZl9yZWNvbmZpZ19kYXRhIHJkOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHJjID0g MDsKIAorCW1lbXNldCgmcmQsIDAsIHNpemVvZihyZCkpOworCXJkLmRuID0gbnA7CisKIAltdXRl eF9sb2NrKCZvZl9tdXRleCk7CiAJcmF3X3NwaW5fbG9ja19pcnFzYXZlKCZkZXZ0cmVlX2xvY2ss IGZsYWdzKTsKIAlfX29mX2RldGFjaF9ub2RlKG5wKTsKQEAgLTMwOSw3ICszMDcsNyBAQCBpbnQg b2ZfZGV0YWNoX25vZGUoc3RydWN0IGRldmljZV9ub2RlICpucCkKIAlfX29mX2RldGFjaF9ub2Rl X3N5c2ZzKG5wKTsKIAltdXRleF91bmxvY2soJm9mX211dGV4KTsKIAotCW9mX3JlY29uZmlnX25v dGlmeShPRl9SRUNPTkZJR19ERVRBQ0hfTk9ERSwgbnApOworCW9mX3JlY29uZmlnX25vdGlmeShP Rl9SRUNPTkZJR19ERVRBQ0hfTk9ERSwgJnJkKTsKIAogCXJldHVybiByYzsKIH0KQEAgLTUwNSw2 ICs1MDMsNyBAQCBzdGF0aWMgdm9pZCBfX29mX2NoYW5nZXNldF9lbnRyeV9pbnZlcnQoc3RydWN0 IG9mX2NoYW5nZXNldF9lbnRyeSAqY2UsCiAKIHN0YXRpYyB2b2lkIF9fb2ZfY2hhbmdlc2V0X2Vu dHJ5X25vdGlmeShzdHJ1Y3Qgb2ZfY2hhbmdlc2V0X2VudHJ5ICpjZSwgYm9vbCByZXZlcnQpCiB7 CisJc3RydWN0IG9mX3JlY29uZmlnX2RhdGEgcmQ7CiAJc3RydWN0IG9mX2NoYW5nZXNldF9lbnRy eSBjZV9pbnZlcnRlZDsKIAlpbnQgcmV0OwogCkBAIC01MTYsNyArNTE1LDkgQEAgc3RhdGljIHZv aWQgX19vZl9jaGFuZ2VzZXRfZW50cnlfbm90aWZ5KHN0cnVjdCBvZl9jaGFuZ2VzZXRfZW50cnkg KmNlLCBib29sIHJldmUKIAlzd2l0Y2ggKGNlLT5hY3Rpb24pIHsKIAljYXNlIE9GX1JFQ09ORklH X0FUVEFDSF9OT0RFOgogCWNhc2UgT0ZfUkVDT05GSUdfREVUQUNIX05PREU6Ci0JCXJldCA9IG9m X3JlY29uZmlnX25vdGlmeShjZS0+YWN0aW9uLCBjZS0+bnApOworCQltZW1zZXQoJnJkLCAwLCBz aXplb2YocmQpKTsKKwkJcmQuZG4gPSBjZS0+bnA7CisJCXJldCA9IG9mX3JlY29uZmlnX25vdGlm eShjZS0+YWN0aW9uLCAmcmQpOwogCQlicmVhazsKIAljYXNlIE9GX1JFQ09ORklHX0FERF9QUk9Q RVJUWToKIAljYXNlIE9GX1JFQ09ORklHX1JFTU9WRV9QUk9QRVJUWToKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvbGludXgvb2YuaCBiL2luY2x1ZGUvbGludXgvb2YuaAppbmRleCBiNTllZTIxOTMzYTQu LmZlMWRlYzg3ZmQ2OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9vZi5oCisrKyBiL2luY2x1 ZGUvbGludXgvb2YuaApAQCAtNzMsNiArNzMsMTIgQEAgc3RydWN0IG9mX3BoYW5kbGVfYXJncyB7 CiAJdWludDMyX3QgYXJnc1tNQVhfUEhBTkRMRV9BUkdTXTsKIH07CiAKK3N0cnVjdCBvZl9yZWNv bmZpZ19kYXRhIHsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUJKmRuOworCXN0cnVjdCBwcm9wZXJ0eQkJ KnByb3A7CisJc3RydWN0IHByb3BlcnR5CQkqb2xkX3Byb3A7Cit9OworCiAvKiBpbml0aWFsaXpl IGEgbm9kZSAqLwogZXh0ZXJuIHN0cnVjdCBrb2JqX3R5cGUgb2Zfbm9kZV9rdHlwZTsKIHN0YXRp YyBpbmxpbmUgdm9pZCBvZl9ub2RlX2luaXQoc3RydWN0IGRldmljZV9ub2RlICpub2RlKQpAQCAt MzE4LDEyICszMjQsNiBAQCBleHRlcm4gaW50IG9mX3VwZGF0ZV9wcm9wZXJ0eShzdHJ1Y3QgZGV2 aWNlX25vZGUgKm5wLCBzdHJ1Y3QgcHJvcGVydHkgKm5ld3Byb3ApOwogI2RlZmluZSBPRl9SRUNP TkZJR19SRU1PVkVfUFJPUEVSVFkJMHgwMDA0CiAjZGVmaW5lIE9GX1JFQ09ORklHX1VQREFURV9Q Uk9QRVJUWQkweDAwMDUKIAotc3RydWN0IG9mX3Byb3BfcmVjb25maWcgewotCXN0cnVjdCBkZXZp Y2Vfbm9kZQkqZG47Ci0Jc3RydWN0IHByb3BlcnR5CQkqcHJvcDsKLQlzdHJ1Y3QgcHJvcGVydHkJ CSpvbGRfcHJvcDsKLX07Ci0KIGV4dGVybiBpbnQgb2ZfYXR0YWNoX25vZGUoc3RydWN0IGRldmlj ZV9ub2RlICopOwogZXh0ZXJuIGludCBvZl9kZXRhY2hfbm9kZShzdHJ1Y3QgZGV2aWNlX25vZGUg Kik7CiAKQEAgLTg5Miw4ICs4OTIsOSBAQCBlbnVtIG9mX3JlY29uZmlnX2NoYW5nZSB7CiAjaWZk ZWYgQ09ORklHX09GX0RZTkFNSUMKIGV4dGVybiBpbnQgb2ZfcmVjb25maWdfbm90aWZpZXJfcmVn aXN0ZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICopOwogZXh0ZXJuIGludCBvZl9yZWNvbmZpZ19u b3RpZmllcl91bnJlZ2lzdGVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqKTsKLWV4dGVybiBpbnQg b2ZfcmVjb25maWdfbm90aWZ5KHVuc2lnbmVkIGxvbmcsIHZvaWQgKik7Ci1leHRlcm4gaW50IG9m X3JlY29uZmlnX2dldF9zdGF0ZV9jaGFuZ2UodW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmFy Zyk7CitleHRlcm4gaW50IG9mX3JlY29uZmlnX25vdGlmeSh1bnNpZ25lZCBsb25nLCBzdHJ1Y3Qg b2ZfcmVjb25maWdfZGF0YSAqcmQpOworZXh0ZXJuIGludCBvZl9yZWNvbmZpZ19nZXRfc3RhdGVf Y2hhbmdlKHVuc2lnbmVkIGxvbmcgYWN0aW9uLAorCQkJCQlzdHJ1Y3Qgb2ZfcmVjb25maWdfZGF0 YSAqYXJnKTsKIAogZXh0ZXJuIHZvaWQgb2ZfY2hhbmdlc2V0X2luaXQoc3RydWN0IG9mX2NoYW5n ZXNldCAqb2NzKTsKIGV4dGVybiB2b2lkIG9mX2NoYW5nZXNldF9kZXN0cm95KHN0cnVjdCBvZl9j aGFuZ2VzZXQgKm9jcyk7CkBAIC05NDEsMTEgKzk0MiwxMyBAQCBzdGF0aWMgaW5saW5lIGludCBv Zl9yZWNvbmZpZ19ub3RpZmllcl91bnJlZ2lzdGVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIp CiB7CiAJcmV0dXJuIC1FSU5WQUw7CiB9Ci1zdGF0aWMgaW5saW5lIGludCBvZl9yZWNvbmZpZ19u b3RpZnkodW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmFyZykKK3N0YXRpYyBpbmxpbmUgaW50 IG9mX3JlY29uZmlnX25vdGlmeSh1bnNpZ25lZCBsb25nIGFjdGlvbiwKKwkJCQkgICAgIHN0cnVj dCBvZl9yZWNvbmZpZ19kYXRhICphcmcpCiB7CiAJcmV0dXJuIC1FSU5WQUw7CiB9Ci1zdGF0aWMg aW5saW5lIGludCBvZl9yZWNvbmZpZ19nZXRfc3RhdGVfY2hhbmdlKHVuc2lnbmVkIGxvbmcgYWN0 aW9uLCB2b2lkICphcmcpCitzdGF0aWMgaW5saW5lIGludCBvZl9yZWNvbmZpZ19nZXRfc3RhdGVf Y2hhbmdlKHVuc2lnbmVkIGxvbmcgYWN0aW9uLAorCQkJCQkJc3RydWN0IG9mX3JlY29uZmlnX2Rh dGEgKmFyZykKIHsKIAlyZXR1cm4gLUVJTlZBTDsKIH0KLS0gCjEuOS4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eHBwYy1kZXYgbWFpbGluZyBs aXN0CkxpbnV4cHBjLWRldkBsaXN0cy5vemxhYnMub3JnCmh0dHBzOi8vbGlzdHMub3psYWJzLm9y Zy9saXN0aW5mby9saW51eHBwYy1kZXY=