Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933006AbWKLRU7 (ORCPT ); Sun, 12 Nov 2006 12:20:59 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S933007AbWKLRU6 (ORCPT ); Sun, 12 Nov 2006 12:20:58 -0500 Received: from bay0-omc1-s7.bay0.hotmail.com ([65.54.246.79]:21853 "EHLO bay0-omc1-s7.bay0.hotmail.com") by vger.kernel.org with ESMTP id S933006AbWKLRU5 (ORCPT ); Sun, 12 Nov 2006 12:20:57 -0500 Message-ID: X-Originating-IP: [80.178.43.168] X-Originating-Email: [yan_952@hotmail.com] From: "Burman Yan" To: trivial@kernel.org Cc: linux-kernel@vger.kernel.org Subject: [PATH] Replace kmalloc+memset with kzalloc 1/17 Date: Sun, 12 Nov 2006 19:20:53 +0200 Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_5c21_6b5c_22ef" X-OriginalArrivalTime: 12 Nov 2006 17:20:56.0989 (UTC) FILETIME=[EA4CB4D0:01C7067E] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 30651 Lines: 517 This is a multi-part message in MIME format. ------=_NextPart_000_5c21_6b5c_22ef Content-Type: text/plain; format=flowed Hi. This is the first part of the patches I made that do trivial change of replacing kmalloc and memset with kzalloc Yan Burman _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ ------=_NextPart_000_5c21_6b5c_22ef Content-Type: application/octet-stream; name="kzalloc_acpi.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kzalloc_acpi.patch" UmVwbGFjZSBrbWFsbG9jK21lbXNldCB3aXRoIGt6YWxsb2MgClBhdGNoIDEv MTcKClNpZ25lZC1vZmYtYnk6IFlhbiBCdXJtYW4gPHlhbl85NTJAaG90bWFp bC5jb20+CgpkaWZmIC1ydWJwIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9hcmNo L2lhNjQva2VybmVsL2NwdWZyZXEvYWNwaS1jcHVmcmVxLmMgbGludXgtMi42 LjE5LXJjNV9remFsbG9jL2FyY2gvaWE2NC9rZXJuZWwvY3B1ZnJlcS9hY3Bp LWNwdWZyZXEuYwotLS0gbGludXgtMi42LjE5LXJjNV9vcmlnL2FyY2gvaWE2 NC9rZXJuZWwvY3B1ZnJlcS9hY3BpLWNwdWZyZXEuYwkyMDA2LTExLTA5IDEy OjE2OjIyLjAwMDAwMDAwMCArMDIwMAorKysgbGludXgtMi42LjE5LXJjNV9r emFsbG9jL2FyY2gvaWE2NC9rZXJuZWwvY3B1ZnJlcS9hY3BpLWNwdWZyZXEu YwkyMDA2LTExLTExIDIyOjQ0OjA0LjAwMDAwMDAwMCArMDIwMApAQCAtMjc5 LDEyICsyNzksMTAgQEAgYWNwaV9jcHVmcmVxX2NwdV9pbml0ICgKIAogCWRw cmludGsoImFjcGlfY3B1ZnJlcV9jcHVfaW5pdFxuIik7CiAKLQlkYXRhID0g a21hbGxvYyhzaXplb2Yoc3RydWN0IGNwdWZyZXFfYWNwaV9pbyksIEdGUF9L RVJORUwpOworCWRhdGEgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgY3B1ZnJl cV9hY3BpX2lvKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFkYXRhKQogCQlyZXR1 cm4gKC1FTk9NRU0pOwogCi0JbWVtc2V0KGRhdGEsIDAsIHNpemVvZihzdHJ1 Y3QgY3B1ZnJlcV9hY3BpX2lvKSk7Ci0KIAlhY3BpX2lvX2RhdGFbY3B1XSA9 IGRhdGE7CiAKIAlyZXN1bHQgPSBhY3BpX3Byb2Nlc3Nvcl9yZWdpc3Rlcl9w ZXJmb3JtYW5jZSgmZGF0YS0+YWNwaV9kYXRhLCBjcHUpOwpkaWZmIC1ydWJw IGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9kcml2ZXJzL2FjcGkvYWMuYyBsaW51 eC0yLjYuMTktcmM1X2t6YWxsb2MvZHJpdmVycy9hY3BpL2FjLmMKLS0tIGxp bnV4LTIuNi4xOS1yYzVfb3JpZy9kcml2ZXJzL2FjcGkvYWMuYwkyMDA2LTEx LTA5IDEyOjE2OjIxLjAwMDAwMDAwMCArMDIwMAorKysgbGludXgtMi42LjE5 LXJjNV9remFsbG9jL2RyaXZlcnMvYWNwaS9hYy5jCTIwMDYtMTEtMTEgMjI6 NDQ6MDQuMDAwMDAwMDAwICswMjAwCkBAIC0yMjEsMTAgKzIyMSw5IEBAIHN0 YXRpYyBpbnQgYWNwaV9hY19hZGQoc3RydWN0IGFjcGlfZGV2aWMKIAlpZiAo IWRldmljZSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlhYyA9IGttYWxsb2Mo c2l6ZW9mKHN0cnVjdCBhY3BpX2FjKSwgR0ZQX0tFUk5FTCk7CisJYWMgPSBr emFsbG9jKHNpemVvZihzdHJ1Y3QgYWNwaV9hYyksIEdGUF9LRVJORUwpOwog CWlmICghYWMpCiAJCXJldHVybiAtRU5PTUVNOwotCW1lbXNldChhYywgMCwg c2l6ZW9mKHN0cnVjdCBhY3BpX2FjKSk7CiAKIAlhYy0+ZGV2aWNlID0gZGV2 aWNlOwogCXN0cmNweShhY3BpX2RldmljZV9uYW1lKGRldmljZSksIEFDUElf QUNfREVWSUNFX05BTUUpOwpkaWZmIC1ydWJwIGxpbnV4LTIuNi4xOS1yYzVf b3JpZy9kcml2ZXJzL2FjcGkvYWNwaV9tZW1ob3RwbHVnLmMgbGludXgtMi42 LjE5LXJjNV9remFsbG9jL2RyaXZlcnMvYWNwaS9hY3BpX21lbWhvdHBsdWcu YwotLS0gbGludXgtMi42LjE5LXJjNV9vcmlnL2RyaXZlcnMvYWNwaS9hY3Bp X21lbWhvdHBsdWcuYwkyMDA2LTExLTA5IDEyOjE2OjIxLjAwMDAwMDAwMCAr MDIwMAorKysgbGludXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZlcnMvYWNw aS9hY3BpX21lbWhvdHBsdWcuYwkyMDA2LTExLTExIDIyOjQ0OjA0LjAwMDAw MDAwMCArMDIwMApAQCAtMzk1LDEwICszOTUsOSBAQCBzdGF0aWMgaW50IGFj cGlfbWVtb3J5X2RldmljZV9hZGQoc3RydWN0CiAJaWYgKCFkZXZpY2UpCiAJ CXJldHVybiAtRUlOVkFMOwogCi0JbWVtX2RldmljZSA9IGttYWxsb2Moc2l6 ZW9mKHN0cnVjdCBhY3BpX21lbW9yeV9kZXZpY2UpLCBHRlBfS0VSTkVMKTsK KwltZW1fZGV2aWNlID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGFjcGlfbWVt b3J5X2RldmljZSksIEdGUF9LRVJORUwpOwogCWlmICghbWVtX2RldmljZSkK IAkJcmV0dXJuIC1FTk9NRU07Ci0JbWVtc2V0KG1lbV9kZXZpY2UsIDAsIHNp emVvZihzdHJ1Y3QgYWNwaV9tZW1vcnlfZGV2aWNlKSk7CiAKIAlJTklUX0xJ U1RfSEVBRCgmbWVtX2RldmljZS0+cmVzX2xpc3QpOwogCW1lbV9kZXZpY2Ut PmRldmljZSA9IGRldmljZTsKZGlmZiAtcnVicCBsaW51eC0yLjYuMTktcmM1 X29yaWcvZHJpdmVycy9hY3BpL2FzdXNfYWNwaS5jIGxpbnV4LTIuNi4xOS1y YzVfa3phbGxvYy9kcml2ZXJzL2FjcGkvYXN1c19hY3BpLmMKLS0tIGxpbnV4 LTIuNi4xOS1yYzVfb3JpZy9kcml2ZXJzL2FjcGkvYXN1c19hY3BpLmMJMjAw Ni0xMS0wOSAxMjoxNjoyMS4wMDAwMDAwMDAgKzAyMDAKKysrIGxpbnV4LTIu Ni4xOS1yYzVfa3phbGxvYy9kcml2ZXJzL2FjcGkvYXN1c19hY3BpLmMJMjAw Ni0xMS0xMSAyMjo0NDowNC4wMDAwMDAwMDAgKzAyMDAKQEAgLTEyNTMsMTAg KzEyNTMsOSBAQCBzdGF0aWMgaW50IGFzdXNfaG90a19hZGQoc3RydWN0IGFj cGlfZGV2CiAJICAgICAgIEFTVVNfQUNQSV9WRVJTSU9OKTsKIAogCWhvdGsg PQotCSAgICAoc3RydWN0IGFzdXNfaG90ayAqKWttYWxsb2Moc2l6ZW9mKHN0 cnVjdCBhc3VzX2hvdGspLCBHRlBfS0VSTkVMKTsKKwkgICAgKHN0cnVjdCBh c3VzX2hvdGsgKilremFsbG9jKHNpemVvZihzdHJ1Y3QgYXN1c19ob3RrKSwg R0ZQX0tFUk5FTCk7CiAJaWYgKCFob3RrKQogCQlyZXR1cm4gLUVOT01FTTsK LQltZW1zZXQoaG90aywgMCwgc2l6ZW9mKHN0cnVjdCBhc3VzX2hvdGspKTsK IAogCWhvdGstPmhhbmRsZSA9IGRldmljZS0+aGFuZGxlOwogCXN0cmNweShh Y3BpX2RldmljZV9uYW1lKGRldmljZSksIEFDUElfSE9US19ERVZJQ0VfTkFN RSk7CmRpZmYgLXJ1YnAgbGludXgtMi42LjE5LXJjNV9vcmlnL2RyaXZlcnMv YWNwaS9iYXR0ZXJ5LmMgbGludXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZl cnMvYWNwaS9iYXR0ZXJ5LmMKLS0tIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9k cml2ZXJzL2FjcGkvYmF0dGVyeS5jCTIwMDYtMTEtMDkgMTI6MTY6MjEuMDAw MDAwMDAwICswMjAwCisrKyBsaW51eC0yLjYuMTktcmM1X2t6YWxsb2MvZHJp dmVycy9hY3BpL2JhdHRlcnkuYwkyMDA2LTExLTExIDIyOjQ0OjA0LjAwMDAw MDAwMCArMDIwMApAQCAtMTYwLDEyICsxNjAsMTEgQEAgYWNwaV9iYXR0ZXJ5 X2dldF9pbmZvKHN0cnVjdCBhY3BpX2JhdHRlcgogCQlnb3RvIGVuZDsKIAl9 CiAKLQlkYXRhLnBvaW50ZXIgPSBrbWFsbG9jKGRhdGEubGVuZ3RoLCBHRlBf S0VSTkVMKTsKKwlkYXRhLnBvaW50ZXIgPSBremFsbG9jKGRhdGEubGVuZ3Ro LCBHRlBfS0VSTkVMKTsKIAlpZiAoIWRhdGEucG9pbnRlcikgewogCQlyZXN1 bHQgPSAtRU5PTUVNOwogCQlnb3RvIGVuZDsKIAl9Ci0JbWVtc2V0KGRhdGEu cG9pbnRlciwgMCwgZGF0YS5sZW5ndGgpOwogCiAJc3RhdHVzID0gYWNwaV9l eHRyYWN0X3BhY2thZ2UocGFja2FnZSwgJmZvcm1hdCwgJmRhdGEpOwogCWlm IChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkgewpAQCAtMjIwLDEyICsyMTksMTEg QEAgYWNwaV9iYXR0ZXJ5X2dldF9zdGF0dXMoc3RydWN0IGFjcGlfYmF0dAog CQlnb3RvIGVuZDsKIAl9CiAKLQlkYXRhLnBvaW50ZXIgPSBrbWFsbG9jKGRh dGEubGVuZ3RoLCBHRlBfS0VSTkVMKTsKKwlkYXRhLnBvaW50ZXIgPSBremFs bG9jKGRhdGEubGVuZ3RoLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWRhdGEucG9p bnRlcikgewogCQlyZXN1bHQgPSAtRU5PTUVNOwogCQlnb3RvIGVuZDsKIAl9 Ci0JbWVtc2V0KGRhdGEucG9pbnRlciwgMCwgZGF0YS5sZW5ndGgpOwogCiAJ c3RhdHVzID0gYWNwaV9leHRyYWN0X3BhY2thZ2UocGFja2FnZSwgJmZvcm1h dCwgJmRhdGEpOwogCWlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkgewpAQCAt Njk0LDEwICs2OTIsOSBAQCBzdGF0aWMgaW50IGFjcGlfYmF0dGVyeV9hZGQo c3RydWN0IGFjcGlfCiAJaWYgKCFkZXZpY2UpCiAJCXJldHVybiAtRUlOVkFM OwogCi0JYmF0dGVyeSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhY3BpX2Jh dHRlcnkpLCBHRlBfS0VSTkVMKTsKKwliYXR0ZXJ5ID0ga3phbGxvYyhzaXpl b2Yoc3RydWN0IGFjcGlfYmF0dGVyeSksIEdGUF9LRVJORUwpOwogCWlmICgh YmF0dGVyeSkKIAkJcmV0dXJuIC1FTk9NRU07Ci0JbWVtc2V0KGJhdHRlcnks IDAsIHNpemVvZihzdHJ1Y3QgYWNwaV9iYXR0ZXJ5KSk7CiAKIAliYXR0ZXJ5 LT5kZXZpY2UgPSBkZXZpY2U7CiAJc3RyY3B5KGFjcGlfZGV2aWNlX25hbWUo ZGV2aWNlKSwgQUNQSV9CQVRURVJZX0RFVklDRV9OQU1FKTsKZGlmZiAtcnVi cCBsaW51eC0yLjYuMTktcmM1X29yaWcvZHJpdmVycy9hY3BpL2J1dHRvbi5j IGxpbnV4LTIuNi4xOS1yYzVfa3phbGxvYy9kcml2ZXJzL2FjcGkvYnV0dG9u LmMKLS0tIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9kcml2ZXJzL2FjcGkvYnV0 dG9uLmMJMjAwNi0xMS0wOSAxMjoxNjoyMS4wMDAwMDAwMDAgKzAyMDAKKysr IGxpbnV4LTIuNi4xOS1yYzVfa3phbGxvYy9kcml2ZXJzL2FjcGkvYnV0dG9u LmMJMjAwNi0xMS0xMSAyMjo0NDowNC4wMDAwMDAwMDAgKzAyMDAKQEAgLTI5 NiwxMCArMjk2LDkgQEAgc3RhdGljIGludCBhY3BpX2J1dHRvbl9hZGQoc3Ry dWN0IGFjcGlfZAogCWlmICghZGV2aWNlKQogCQlyZXR1cm4gLUVJTlZBTDsK IAotCWJ1dHRvbiA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhY3BpX2J1dHRv biksIEdGUF9LRVJORUwpOworCWJ1dHRvbiA9IGt6YWxsb2Moc2l6ZW9mKHN0 cnVjdCBhY3BpX2J1dHRvbiksIEdGUF9LRVJORUwpOwogCWlmICghYnV0dG9u KQogCQlyZXR1cm4gLUVOT01FTTsKLQltZW1zZXQoYnV0dG9uLCAwLCBzaXpl b2Yoc3RydWN0IGFjcGlfYnV0dG9uKSk7CiAKIAlidXR0b24tPmRldmljZSA9 IGRldmljZTsKIAlhY3BpX2RyaXZlcl9kYXRhKGRldmljZSkgPSBidXR0b247 CmRpZmYgLXJ1YnAgbGludXgtMi42LjE5LXJjNV9vcmlnL2RyaXZlcnMvYWNw aS9jb250YWluZXIuYyBsaW51eC0yLjYuMTktcmM1X2t6YWxsb2MvZHJpdmVy cy9hY3BpL2NvbnRhaW5lci5jCi0tLSBsaW51eC0yLjYuMTktcmM1X29yaWcv ZHJpdmVycy9hY3BpL2NvbnRhaW5lci5jCTIwMDYtMTEtMDkgMTI6MTY6MjEu MDAwMDAwMDAwICswMjAwCisrKyBsaW51eC0yLjYuMTktcmM1X2t6YWxsb2Mv ZHJpdmVycy9hY3BpL2NvbnRhaW5lci5jCTIwMDYtMTEtMTEgMjI6NDQ6MDQu MDAwMDAwMDAwICswMjAwCkBAIC05NiwxMSArOTYsMTAgQEAgc3RhdGljIGlu dCBhY3BpX2NvbnRhaW5lcl9hZGQoc3RydWN0IGFjcAogCQlyZXR1cm4gLUVJ TlZBTDsKIAl9CiAKLQljb250YWluZXIgPSBrbWFsbG9jKHNpemVvZihzdHJ1 Y3QgYWNwaV9jb250YWluZXIpLCBHRlBfS0VSTkVMKTsKKwljb250YWluZXIg PSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYWNwaV9jb250YWluZXIpLCBHRlBf S0VSTkVMKTsKIAlpZiAoIWNvbnRhaW5lcikKIAkJcmV0dXJuIC1FTk9NRU07 CiAKLQltZW1zZXQoY29udGFpbmVyLCAwLCBzaXplb2Yoc3RydWN0IGFjcGlf Y29udGFpbmVyKSk7CiAJY29udGFpbmVyLT5oYW5kbGUgPSBkZXZpY2UtPmhh bmRsZTsKIAlzdHJjcHkoYWNwaV9kZXZpY2VfbmFtZShkZXZpY2UpLCBBQ1BJ X0NPTlRBSU5FUl9ERVZJQ0VfTkFNRSk7CiAJc3RyY3B5KGFjcGlfZGV2aWNl X2NsYXNzKGRldmljZSksIEFDUElfQ09OVEFJTkVSX0NMQVNTKTsKZGlmZiAt cnVicCBsaW51eC0yLjYuMTktcmM1X29yaWcvZHJpdmVycy9hY3BpL2VjLmMg bGludXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZlcnMvYWNwaS9lYy5jCi0t LSBsaW51eC0yLjYuMTktcmM1X29yaWcvZHJpdmVycy9hY3BpL2VjLmMJMjAw Ni0xMS0wOSAxMjoxNjoyMS4wMDAwMDAwMDAgKzAyMDAKKysrIGxpbnV4LTIu Ni4xOS1yYzVfa3phbGxvYy9kcml2ZXJzL2FjcGkvZWMuYwkyMDA2LTExLTEx IDIyOjQ0OjA0LjAwMDAwMDAwMCArMDIwMApAQCAtNjUyLDEwICs2NTIsOSBA QCBzdGF0aWMgaW50IGFjcGlfZWNfYWRkKHN0cnVjdCBhY3BpX2RldmljCiAJ aWYgKCFkZXZpY2UpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JZWMgPSBrbWFs bG9jKHNpemVvZihzdHJ1Y3QgYWNwaV9lYyksIEdGUF9LRVJORUwpOworCWVj ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGFjcGlfZWMpLCBHRlBfS0VSTkVM KTsKIAlpZiAoIWVjKQogCQlyZXR1cm4gLUVOT01FTTsKLQltZW1zZXQoZWMs IDAsIHNpemVvZihzdHJ1Y3QgYWNwaV9lYykpOwogCiAJZWMtPmhhbmRsZSA9 IGRldmljZS0+aGFuZGxlOwogCWVjLT51aWQgPSAtMTsKQEAgLTg4NCwxMiAr ODgzLDExIEBAIHN0YXRpYyBpbnQgX19pbml0IGFjcGlfZWNfZmFrZV9lY2R0 KHZvaWQKIAogCUFDUElfREVCVUdfUFJJTlQoKEFDUElfREJfSU5GTywgIlRy eSB0byBtYWtlIGFuIGZha2UgRUNEVCIpKTsKIAotCWVjX2VjZHQgPSBrbWFs bG9jKHNpemVvZihzdHJ1Y3QgYWNwaV9lYyksIEdGUF9LRVJORUwpOworCWVj X2VjZHQgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYWNwaV9lYyksIEdGUF9L RVJORUwpOwogCWlmICghZWNfZWNkdCkgewogCQlyZXQgPSAtRU5PTUVNOwog CQlnb3RvIGVycm9yOwogCX0KLQltZW1zZXQoZWNfZWNkdCwgMCwgc2l6ZW9m KHN0cnVjdCBhY3BpX2VjKSk7CiAKIAlzdGF0dXMgPSBhY3BpX2dldF9kZXZp Y2VzKEFDUElfRUNfSElELAogCQkJCSAgYWNwaV9mYWtlX2VjZHRfY2FsbGJh Y2ssIE5VTEwsIE5VTEwpOwpAQCAtOTIxLDEwICs5MTksOSBAQCBzdGF0aWMg aW50IF9faW5pdCBhY3BpX2VjX2dldF9yZWFsX2VjZHQoCiAJLyoKIAkgKiBH ZW5lcmF0ZSBhIHRlbXBvcmFyeSBlYyBjb250ZXh0IHRvIHVzZSB1bnRpbCB0 aGUgbmFtZXNwYWNlIGlzIHNjYW5uZWQKIAkgKi8KLQllY19lY2R0ID0ga21h bGxvYyhzaXplb2Yoc3RydWN0IGFjcGlfZWMpLCBHRlBfS0VSTkVMKTsKKwll Y19lY2R0ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGFjcGlfZWMpLCBHRlBf S0VSTkVMKTsKIAlpZiAoIWVjX2VjZHQpCiAJCXJldHVybiAtRU5PTUVNOwot CW1lbXNldChlY19lY2R0LCAwLCBzaXplb2Yoc3RydWN0IGFjcGlfZWMpKTsK IAogCWluaXRfTVVURVgoJmVjX2VjZHQtPnNlbSk7CiAJaWYgKGFjcGlfZWNf bW9kZSA9PSBFQ19JTlRSKSB7CmRpZmYgLXJ1YnAgbGludXgtMi42LjE5LXJj NV9vcmlnL2RyaXZlcnMvYWNwaS9mYW4uYyBsaW51eC0yLjYuMTktcmM1X2t6 YWxsb2MvZHJpdmVycy9hY3BpL2Zhbi5jCi0tLSBsaW51eC0yLjYuMTktcmM1 X29yaWcvZHJpdmVycy9hY3BpL2Zhbi5jCTIwMDYtMTEtMDkgMTI6MTY6MjEu MDAwMDAwMDAwICswMjAwCisrKyBsaW51eC0yLjYuMTktcmM1X2t6YWxsb2Mv ZHJpdmVycy9hY3BpL2Zhbi5jCTIwMDYtMTEtMTEgMjI6NDQ6MDQuMDAwMDAw MDAwICswMjAwCkBAIC0xODYsMTAgKzE4Niw5IEBAIHN0YXRpYyBpbnQgYWNw aV9mYW5fYWRkKHN0cnVjdCBhY3BpX2RldmkKIAlpZiAoIWRldmljZSkKIAkJ cmV0dXJuIC1FSU5WQUw7CiAKLQlmYW4gPSBrbWFsbG9jKHNpemVvZihzdHJ1 Y3QgYWNwaV9mYW4pLCBHRlBfS0VSTkVMKTsKKwlmYW4gPSBremFsbG9jKHNp emVvZihzdHJ1Y3QgYWNwaV9mYW4pLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWZh bikKIAkJcmV0dXJuIC1FTk9NRU07Ci0JbWVtc2V0KGZhbiwgMCwgc2l6ZW9m KHN0cnVjdCBhY3BpX2ZhbikpOwogCiAJZmFuLT5kZXZpY2UgPSBkZXZpY2U7 CiAJc3RyY3B5KGFjcGlfZGV2aWNlX25hbWUoZGV2aWNlKSwgIkZhbiIpOwpk aWZmIC1ydWJwIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9kcml2ZXJzL2FjcGkv aTJjX2VjLmMgbGludXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZlcnMvYWNw aS9pMmNfZWMuYwotLS0gbGludXgtMi42LjE5LXJjNV9vcmlnL2RyaXZlcnMv YWNwaS9pMmNfZWMuYwkyMDA2LTExLTA5IDEyOjE2OjIxLjAwMDAwMDAwMCAr MDIwMAorKysgbGludXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZlcnMvYWNw aS9pMmNfZWMuYwkyMDA2LTExLTExIDIyOjQ0OjA0LjAwMDAwMDAwMCArMDIw MApAQCAtMzA5LDE4ICszMDksMTYgQEAgc3RhdGljIGludCBhY3BpX2VjX2hj X2FkZChzdHJ1Y3QgYWNwaV9kZQogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAK LQllY19oYyA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhY3BpX2VjX2hjKSwg R0ZQX0tFUk5FTCk7CisJZWNfaGMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qg YWNwaV9lY19oYyksIEdGUF9LRVJORUwpOwogCWlmICghZWNfaGMpIHsKIAkJ cmV0dXJuIC1FTk9NRU07CiAJfQotCW1lbXNldChlY19oYywgMCwgc2l6ZW9m KHN0cnVjdCBhY3BpX2VjX2hjKSk7CiAKLQlzbWJ1cyA9IGttYWxsb2Moc2l6 ZW9mKHN0cnVjdCBhY3BpX2VjX3NtYnVzKSwgR0ZQX0tFUk5FTCk7CisJc21i dXMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYWNwaV9lY19zbWJ1cyksIEdG UF9LRVJORUwpOwogCWlmICghc21idXMpIHsKIAkJa2ZyZWUoZWNfaGMpOwog CQlyZXR1cm4gLUVOT01FTTsKIAl9Ci0JbWVtc2V0KHNtYnVzLCAwLCBzaXpl b2Yoc3RydWN0IGFjcGlfZWNfc21idXMpKTsKIAogCWVjX2hjLT5oYW5kbGUg PSBkZXZpY2UtPmhhbmRsZTsKIAlzdHJjcHkoYWNwaV9kZXZpY2VfbmFtZShk ZXZpY2UpLCBBQ1BJX0VDX0hDX0RFVklDRV9OQU1FKTsKZGlmZiAtcnVicCBs aW51eC0yLjYuMTktcmM1X29yaWcvZHJpdmVycy9hY3BpL2libV9hY3BpLmMg bGludXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZlcnMvYWNwaS9pYm1fYWNw aS5jCi0tLSBsaW51eC0yLjYuMTktcmM1X29yaWcvZHJpdmVycy9hY3BpL2li bV9hY3BpLmMJMjAwNi0xMS0wOSAxMjoxNjoyMS4wMDAwMDAwMDAgKzAyMDAK KysrIGxpbnV4LTIuNi4xOS1yYzVfa3phbGxvYy9kcml2ZXJzL2FjcGkvaWJt X2FjcGkuYwkyMDA2LTExLTExIDIyOjQ0OjA0LjAwMDAwMDAwMCArMDIwMApA QCAtMTgxOCwxMyArMTgxOCwxMiBAQCBzdGF0aWMgaW50IF9faW5pdCByZWdp c3Rlcl9kcml2ZXIoc3RydWN0CiB7CiAJaW50IHJldDsKIAotCWlibS0+ZHJp dmVyID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGFjcGlfZHJpdmVyKSwgR0ZQ X0tFUk5FTCk7CisJaWJtLT5kcml2ZXIgPSBremFsbG9jKHNpemVvZihzdHJ1 Y3QgYWNwaV9kcml2ZXIpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWlibS0+ZHJp dmVyKSB7CiAJCXByaW50ayhJQk1fRVJSICJrbWFsbG9jKGlibS0+ZHJpdmVy KSBmYWlsZWRcbiIpOwogCQlyZXR1cm4gLTE7CiAJfQogCi0JbWVtc2V0KGli bS0+ZHJpdmVyLCAwLCBzaXplb2Yoc3RydWN0IGFjcGlfZHJpdmVyKSk7CiAJ c3ByaW50ZihpYm0tPmRyaXZlci0+bmFtZSwgIiVzLyVzIiwgSUJNX05BTUUs IGlibS0+bmFtZSk7CiAJaWJtLT5kcml2ZXItPmlkcyA9IGlibS0+aGlkOwog CWlibS0+ZHJpdmVyLT5vcHMuYWRkID0gJmlibV9kZXZpY2VfYWRkOwpkaWZm IC1ydWJwIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9kcml2ZXJzL2FjcGkvcGNp X2JpbmQuYyBsaW51eC0yLjYuMTktcmM1X2t6YWxsb2MvZHJpdmVycy9hY3Bp L3BjaV9iaW5kLmMKLS0tIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9kcml2ZXJz L2FjcGkvcGNpX2JpbmQuYwkyMDA2LTExLTA5IDEyOjE2OjIxLjAwMDAwMDAw MCArMDIwMAorKysgbGludXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZlcnMv YWNwaS9wY2lfYmluZC5jCTIwMDYtMTEtMTEgMjI6NDQ6MDQuMDAwMDAwMDAw ICswMjAwCkBAIC0xMjIsMTkgKzEyMiwxNyBAQCBpbnQgYWNwaV9wY2lfYmlu ZChzdHJ1Y3QgYWNwaV9kZXZpY2UgKmRlCiAJaWYgKCFkZXZpY2UgfHwgIWRl dmljZS0+cGFyZW50KQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCXBhdGhuYW1l ID0ga21hbGxvYyhBQ1BJX1BBVEhOQU1FX01BWCwgR0ZQX0tFUk5FTCk7CisJ cGF0aG5hbWUgPSBremFsbG9jKEFDUElfUEFUSE5BTUVfTUFYLCBHRlBfS0VS TkVMKTsKIAlpZiAoIXBhdGhuYW1lKQogCQlyZXR1cm4gLUVOT01FTTsKLQlt ZW1zZXQocGF0aG5hbWUsIDAsIEFDUElfUEFUSE5BTUVfTUFYKTsKIAlidWZm ZXIubGVuZ3RoID0gQUNQSV9QQVRITkFNRV9NQVg7CiAJYnVmZmVyLnBvaW50 ZXIgPSBwYXRobmFtZTsKIAotCWRhdGEgPSBrbWFsbG9jKHNpemVvZihzdHJ1 Y3QgYWNwaV9wY2lfZGF0YSksIEdGUF9LRVJORUwpOworCWRhdGEgPSBremFs bG9jKHNpemVvZihzdHJ1Y3QgYWNwaV9wY2lfZGF0YSksIEdGUF9LRVJORUwp OwogCWlmICghZGF0YSkgewogCQlrZnJlZShwYXRobmFtZSk7CiAJCXJldHVy biAtRU5PTUVNOwogCX0KLQltZW1zZXQoZGF0YSwgMCwgc2l6ZW9mKHN0cnVj dCBhY3BpX3BjaV9kYXRhKSk7CiAKIAlhY3BpX2dldF9uYW1lKGRldmljZS0+ aGFuZGxlLCBBQ1BJX0ZVTExfUEFUSE5BTUUsICZidWZmZXIpOwogCUFDUElf REVCVUdfUFJJTlQoKEFDUElfREJfSU5GTywgIkJpbmRpbmcgUENJIGRldmlj ZSBbJXNdLi4uXG4iLApAQCAtMjgxLDEwICsyNzksOSBAQCBpbnQgYWNwaV9w Y2lfdW5iaW5kKHN0cnVjdCBhY3BpX2RldmljZSAqCiAJaWYgKCFkZXZpY2Ug fHwgIWRldmljZS0+cGFyZW50KQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCXBh dGhuYW1lID0gKGNoYXIgKilrbWFsbG9jKEFDUElfUEFUSE5BTUVfTUFYLCBH RlBfS0VSTkVMKTsKKwlwYXRobmFtZSA9IChjaGFyICopa3phbGxvYyhBQ1BJ X1BBVEhOQU1FX01BWCwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFwYXRobmFtZSkK IAkJcmV0dXJuIC1FTk9NRU07Ci0JbWVtc2V0KHBhdGhuYW1lLCAwLCBBQ1BJ X1BBVEhOQU1FX01BWCk7CiAKIAlidWZmZXIubGVuZ3RoID0gQUNQSV9QQVRI TkFNRV9NQVg7CiAJYnVmZmVyLnBvaW50ZXIgPSBwYXRobmFtZTsKQEAgLTMz MiwxMCArMzI5LDkgQEAgYWNwaV9wY2lfYmluZF9yb290KHN0cnVjdCBhY3Bp X2RldmljZSAqZAogCXN0cnVjdCBhY3BpX2J1ZmZlciBidWZmZXIgPSB7IDAs IE5VTEwgfTsKIAogCi0JcGF0aG5hbWUgPSAoY2hhciAqKWttYWxsb2MoQUNQ SV9QQVRITkFNRV9NQVgsIEdGUF9LRVJORUwpOworCXBhdGhuYW1lID0gKGNo YXIgKilremFsbG9jKEFDUElfUEFUSE5BTUVfTUFYLCBHRlBfS0VSTkVMKTsK IAlpZiAoIXBhdGhuYW1lKQogCQlyZXR1cm4gLUVOT01FTTsKLQltZW1zZXQo cGF0aG5hbWUsIDAsIEFDUElfUEFUSE5BTUVfTUFYKTsKIAogCWJ1ZmZlci5s ZW5ndGggPSBBQ1BJX1BBVEhOQU1FX01BWDsKIAlidWZmZXIucG9pbnRlciA9 IHBhdGhuYW1lOwpAQCAtMzQ1LDEyICszNDEsMTEgQEAgYWNwaV9wY2lfYmlu ZF9yb290KHN0cnVjdCBhY3BpX2RldmljZSAqZAogCQlyZXR1cm4gLUVJTlZB TDsKIAl9CiAKLQlkYXRhID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGFjcGlf cGNpX2RhdGEpLCBHRlBfS0VSTkVMKTsKKwlkYXRhID0ga3phbGxvYyhzaXpl b2Yoc3RydWN0IGFjcGlfcGNpX2RhdGEpLCBHRlBfS0VSTkVMKTsKIAlpZiAo IWRhdGEpIHsKIAkJa2ZyZWUocGF0aG5hbWUpOwogCQlyZXR1cm4gLUVOT01F TTsKIAl9Ci0JbWVtc2V0KGRhdGEsIDAsIHNpemVvZihzdHJ1Y3QgYWNwaV9w Y2lfZGF0YSkpOwogCiAJZGF0YS0+aWQgPSAqaWQ7CiAJZGF0YS0+YnVzID0g YnVzOwpkaWZmIC1ydWJwIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9kcml2ZXJz L2FjcGkvcGNpX2lycS5jIGxpbnV4LTIuNi4xOS1yYzVfa3phbGxvYy9kcml2 ZXJzL2FjcGkvcGNpX2lycS5jCi0tLSBsaW51eC0yLjYuMTktcmM1X29yaWcv ZHJpdmVycy9hY3BpL3BjaV9pcnEuYwkyMDA2LTExLTA5IDEyOjE2OjIxLjAw MDAwMDAwMCArMDIwMAorKysgbGludXgtMi42LjE5LXJjNV9remFsbG9jL2Ry aXZlcnMvYWNwaS9wY2lfaXJxLmMJMjAwNi0xMS0xMSAyMjo0NDowNC4wMDAw MDAwMDAgKzAyMDAKQEAgLTg5LDEwICs4OSw5IEBAIGFjcGlfcGNpX2lycV9h ZGRfZW50cnkoYWNwaV9oYW5kbGUgaGFuZGwKIAlpZiAoIXBydCkKIAkJcmV0 dXJuIC1FSU5WQUw7CiAKLQllbnRyeSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVj dCBhY3BpX3BydF9lbnRyeSksIEdGUF9LRVJORUwpOworCWVudHJ5ID0ga3ph bGxvYyhzaXplb2Yoc3RydWN0IGFjcGlfcHJ0X2VudHJ5KSwgR0ZQX0tFUk5F TCk7CiAJaWYgKCFlbnRyeSkKIAkJcmV0dXJuIC1FTk9NRU07Ci0JbWVtc2V0 KGVudHJ5LCAwLCBzaXplb2Yoc3RydWN0IGFjcGlfcHJ0X2VudHJ5KSk7CiAK IAllbnRyeS0+aWQuc2VnbWVudCA9IHNlZ21lbnQ7CiAJZW50cnktPmlkLmJ1 cyA9IGJ1czsKQEAgLTE2MSwxMCArMTYwLDkgQEAgaW50IGFjcGlfcGNpX2ly cV9hZGRfcHJ0KGFjcGlfaGFuZGxlIGhhbgogCXN0YXRpYyBpbnQgZmlyc3Rf dGltZSA9IDE7CiAKIAotCXBhdGhuYW1lID0gKGNoYXIgKilrbWFsbG9jKEFD UElfUEFUSE5BTUVfTUFYLCBHRlBfS0VSTkVMKTsKKwlwYXRobmFtZSA9IChj aGFyICopa3phbGxvYyhBQ1BJX1BBVEhOQU1FX01BWCwgR0ZQX0tFUk5FTCk7 CiAJaWYgKCFwYXRobmFtZSkKIAkJcmV0dXJuIC1FTk9NRU07Ci0JbWVtc2V0 KHBhdGhuYW1lLCAwLCBBQ1BJX1BBVEhOQU1FX01BWCk7CiAKIAlpZiAoZmly c3RfdGltZSkgewogCQlhY3BpX3BydC5jb3VudCA9IDA7CkBAIC0xOTgsMTEg KzE5NiwxMCBAQCBpbnQgYWNwaV9wY2lfaXJxX2FkZF9wcnQoYWNwaV9oYW5k bGUgaGFuCiAJCXJldHVybiAtRU5PREVWOwogCX0KIAotCXBydCA9IGttYWxs b2MoYnVmZmVyLmxlbmd0aCwgR0ZQX0tFUk5FTCk7CisJcHJ0ID0ga3phbGxv YyhidWZmZXIubGVuZ3RoLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXBydCkgewog CQlyZXR1cm4gLUVOT01FTTsKIAl9Ci0JbWVtc2V0KHBydCwgMCwgYnVmZmVy Lmxlbmd0aCk7CiAJYnVmZmVyLnBvaW50ZXIgPSBwcnQ7CiAKIAlzdGF0dXMg PSBhY3BpX2dldF9pcnFfcm91dGluZ190YWJsZShoYW5kbGUsICZidWZmZXIp OwpkaWZmIC1ydWJwIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9kcml2ZXJzL2Fj cGkvcGNpX2xpbmsuYyBsaW51eC0yLjYuMTktcmM1X2t6YWxsb2MvZHJpdmVy cy9hY3BpL3BjaV9saW5rLmMKLS0tIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9k cml2ZXJzL2FjcGkvcGNpX2xpbmsuYwkyMDA2LTExLTA5IDEyOjE2OjIxLjAw MDAwMDAwMCArMDIwMAorKysgbGludXgtMi42LjE5LXJjNV9remFsbG9jL2Ry aXZlcnMvYWNwaS9wY2lfbGluay5jCTIwMDYtMTEtMTEgMjI6NDQ6MDQuMDAw MDAwMDAwICswMjAwCkBAIC0zMDcsMTEgKzMwNywxMCBAQCBzdGF0aWMgaW50 IGFjcGlfcGNpX2xpbmtfc2V0KHN0cnVjdCBhY3BpCiAJaWYgKCFsaW5rIHx8 ICFpcnEpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JcmVzb3VyY2UgPSBrbWFs bG9jKHNpemVvZigqcmVzb3VyY2UpICsgMSwgaXJxc19kaXNhYmxlZCgpID8g R0ZQX0FUT01JQzogR0ZQX0tFUk5FTCk7CisJcmVzb3VyY2UgPSBremFsbG9j KHNpemVvZigqcmVzb3VyY2UpICsgMSwgaXJxc19kaXNhYmxlZCgpID8gR0ZQ X0FUT01JQzogR0ZQX0tFUk5FTCk7CiAJaWYgKCFyZXNvdXJjZSkKIAkJcmV0 dXJuIC1FTk9NRU07CiAKLQltZW1zZXQocmVzb3VyY2UsIDAsIHNpemVvZigq cmVzb3VyY2UpICsgMSk7CiAJYnVmZmVyLmxlbmd0aCA9IHNpemVvZigqcmVz b3VyY2UpICsgMTsKIAlidWZmZXIucG9pbnRlciA9IHJlc291cmNlOwogCkBA IC03MTgsMTAgKzcxNyw5IEBAIHN0YXRpYyBpbnQgYWNwaV9wY2lfbGlua19h ZGQoc3RydWN0IGFjcGkKIAlpZiAoIWRldmljZSkKIAkJcmV0dXJuIC1FSU5W QUw7CiAKLQlsaW5rID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGFjcGlfcGNp X2xpbmspLCBHRlBfS0VSTkVMKTsKKwlsaW5rID0ga3phbGxvYyhzaXplb2Yo c3RydWN0IGFjcGlfcGNpX2xpbmspLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWxp bmspCiAJCXJldHVybiAtRU5PTUVNOwotCW1lbXNldChsaW5rLCAwLCBzaXpl b2Yoc3RydWN0IGFjcGlfcGNpX2xpbmspKTsKIAogCWxpbmstPmRldmljZSA9 IGRldmljZTsKIAlzdHJjcHkoYWNwaV9kZXZpY2VfbmFtZShkZXZpY2UpLCBB Q1BJX1BDSV9MSU5LX0RFVklDRV9OQU1FKTsKZGlmZiAtcnVicCBsaW51eC0y LjYuMTktcmM1X29yaWcvZHJpdmVycy9hY3BpL3BjaV9yb290LmMgbGludXgt Mi42LjE5LXJjNV9remFsbG9jL2RyaXZlcnMvYWNwaS9wY2lfcm9vdC5jCi0t LSBsaW51eC0yLjYuMTktcmM1X29yaWcvZHJpdmVycy9hY3BpL3BjaV9yb290 LmMJMjAwNi0xMS0wOSAxMjoxNjoyMS4wMDAwMDAwMDAgKzAyMDAKKysrIGxp bnV4LTIuNi4xOS1yYzVfa3phbGxvYy9kcml2ZXJzL2FjcGkvcGNpX3Jvb3Qu YwkyMDA2LTExLTExIDIyOjQ0OjA0LjAwMDAwMDAwMCArMDIwMApAQCAtMTY0 LDEwICsxNjQsOSBAQCBzdGF0aWMgaW50IGFjcGlfcGNpX3Jvb3RfYWRkKHN0 cnVjdCBhY3BpCiAJaWYgKCFkZXZpY2UpCiAJCXJldHVybiAtRUlOVkFMOwog Ci0Jcm9vdCA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhY3BpX3BjaV9yb290 KSwgR0ZQX0tFUk5FTCk7CisJcm9vdCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVj dCBhY3BpX3BjaV9yb290KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFyb290KQog CQlyZXR1cm4gLUVOT01FTTsKLQltZW1zZXQocm9vdCwgMCwgc2l6ZW9mKHN0 cnVjdCBhY3BpX3BjaV9yb290KSk7CiAJSU5JVF9MSVNUX0hFQUQoJnJvb3Qt Pm5vZGUpOwogCiAJcm9vdC0+ZGV2aWNlID0gZGV2aWNlOwpkaWZmIC1ydWJw IGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9kcml2ZXJzL2FjcGkvcG93ZXIuYyBs aW51eC0yLjYuMTktcmM1X2t6YWxsb2MvZHJpdmVycy9hY3BpL3Bvd2VyLmMK LS0tIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9kcml2ZXJzL2FjcGkvcG93ZXIu YwkyMDA2LTExLTA5IDEyOjE2OjIxLjAwMDAwMDAwMCArMDIwMAorKysgbGlu dXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZlcnMvYWNwaS9wb3dlci5jCTIw MDYtMTEtMTEgMjI6NDQ6MDQuMDAwMDAwMDAwICswMjAwCkBAIC01MzIsMTAg KzUzMiw5IEBAIHN0YXRpYyBpbnQgYWNwaV9wb3dlcl9hZGQoc3RydWN0IGFj cGlfZGUKIAlpZiAoIWRldmljZSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQly ZXNvdXJjZSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhY3BpX3Bvd2VyX3Jl c291cmNlKSwgR0ZQX0tFUk5FTCk7CisJcmVzb3VyY2UgPSBremFsbG9jKHNp emVvZihzdHJ1Y3QgYWNwaV9wb3dlcl9yZXNvdXJjZSksIEdGUF9LRVJORUwp OwogCWlmICghcmVzb3VyY2UpCiAJCXJldHVybiAtRU5PTUVNOwotCW1lbXNl dChyZXNvdXJjZSwgMCwgc2l6ZW9mKHN0cnVjdCBhY3BpX3Bvd2VyX3Jlc291 cmNlKSk7CiAKIAlyZXNvdXJjZS0+ZGV2aWNlID0gZGV2aWNlOwogCXN0cmNw eShyZXNvdXJjZS0+bmFtZSwgZGV2aWNlLT5wbnAuYnVzX2lkKTsKZGlmZiAt cnVicCBsaW51eC0yLjYuMTktcmM1X29yaWcvZHJpdmVycy9hY3BpL3Byb2Nl c3Nvcl9jb3JlLmMgbGludXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZlcnMv YWNwaS9wcm9jZXNzb3JfY29yZS5jCi0tLSBsaW51eC0yLjYuMTktcmM1X29y aWcvZHJpdmVycy9hY3BpL3Byb2Nlc3Nvcl9jb3JlLmMJMjAwNi0xMS0wOSAx MjoxNjoyMS4wMDAwMDAwMDAgKzAyMDAKKysrIGxpbnV4LTIuNi4xOS1yYzVf a3phbGxvYy9kcml2ZXJzL2FjcGkvcHJvY2Vzc29yX2NvcmUuYwkyMDA2LTEx LTExIDIyOjQ0OjA0LjAwMDAwMDAwMCArMDIwMApAQCAtNjE1LDEwICs2MTUs OSBAQCBzdGF0aWMgaW50IGFjcGlfcHJvY2Vzc29yX2FkZChzdHJ1Y3QgYWNw CiAJaWYgKCFkZXZpY2UpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JcHIgPSBr bWFsbG9jKHNpemVvZihzdHJ1Y3QgYWNwaV9wcm9jZXNzb3IpLCBHRlBfS0VS TkVMKTsKKwlwciA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBhY3BpX3Byb2Nl c3NvciksIEdGUF9LRVJORUwpOwogCWlmICghcHIpCiAJCXJldHVybiAtRU5P TUVNOwotCW1lbXNldChwciwgMCwgc2l6ZW9mKHN0cnVjdCBhY3BpX3Byb2Nl c3NvcikpOwogCiAJcHItPmhhbmRsZSA9IGRldmljZS0+aGFuZGxlOwogCXN0 cmNweShhY3BpX2RldmljZV9uYW1lKGRldmljZSksIEFDUElfUFJPQ0VTU09S X0RFVklDRV9OQU1FKTsKZGlmZiAtcnVicCBsaW51eC0yLjYuMTktcmM1X29y aWcvZHJpdmVycy9hY3BpL3Nicy5jIGxpbnV4LTIuNi4xOS1yYzVfa3phbGxv Yy9kcml2ZXJzL2FjcGkvc2JzLmMKLS0tIGxpbnV4LTIuNi4xOS1yYzVfb3Jp Zy9kcml2ZXJzL2FjcGkvc2JzLmMJMjAwNi0xMS0wOSAxMjoxNjoyMS4wMDAw MDAwMDAgKzAyMDAKKysrIGxpbnV4LTIuNi4xOS1yYzVfa3phbGxvYy9kcml2 ZXJzL2FjcGkvc2JzLmMJMjAwNi0xMS0xMSAyMjo0NDowNC4wMDAwMDAwMDAg KzAyMDAKQEAgLTE1NzYsMTIgKzE1NzYsMTEgQEAgc3RhdGljIGludCBhY3Bp X3Nic19hZGQoc3RydWN0IGFjcGlfZGV2aQogCWludCBpZCwgY250OwogCWFj cGlfc3RhdHVzIHN0YXR1cyA9IEFFX09LOwogCi0Jc2JzID0ga21hbGxvYyhz aXplb2Yoc3RydWN0IGFjcGlfc2JzKSwgR0ZQX0tFUk5FTCk7CisJc2JzID0g a3phbGxvYyhzaXplb2Yoc3RydWN0IGFjcGlfc2JzKSwgR0ZQX0tFUk5FTCk7 CiAJaWYgKCFzYnMpIHsKIAkJQUNQSV9ERUJVR19QUklOVCgoQUNQSV9EQl9F UlJPUiwgImttYWxsb2MoKSBmYWlsZWRcbiIpKTsKIAkJcmV0dXJuIC1FTk9N RU07CiAJfQotCW1lbXNldChzYnMsIDAsIHNpemVvZihzdHJ1Y3QgYWNwaV9z YnMpKTsKIAogCWNudCA9IDA7CiAJd2hpbGUgKGNudCA8IDEwKSB7CmRpZmYg LXJ1YnAgbGludXgtMi42LjE5LXJjNV9vcmlnL2RyaXZlcnMvYWNwaS9zY2Fu LmMgbGludXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZlcnMvYWNwaS9zY2Fu LmMKLS0tIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9kcml2ZXJzL2FjcGkvc2Nh bi5jCTIwMDYtMTEtMDkgMTI6MTY6MjEuMDAwMDAwMDAwICswMjAwCisrKyBs aW51eC0yLjYuMTktcmM1X2t6YWxsb2MvZHJpdmVycy9hY3BpL3NjYW4uYwky MDA2LTExLTExIDIyOjQ0OjA0LjAwMDAwMDAwMCArMDIwMApAQCAtOTg0LDEy ICs5ODQsMTEgQEAgYWNwaV9hZGRfc2luZ2xlX29iamVjdChzdHJ1Y3QgYWNw aV9kZXZpYwogCWlmICghY2hpbGQpCiAJCXJldHVybiAtRUlOVkFMOwogCi0J ZGV2aWNlID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGFjcGlfZGV2aWNlKSwg R0ZQX0tFUk5FTCk7CisJZGV2aWNlID0ga3phbGxvYyhzaXplb2Yoc3RydWN0 IGFjcGlfZGV2aWNlKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFkZXZpY2UpIHsK IAkJcHJpbnRrKEtFUk5fRVJSIFBSRUZJWCAiTWVtb3J5IGFsbG9jYXRpb24g ZXJyb3JcbiIpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9Ci0JbWVtc2V0KGRl dmljZSwgMCwgc2l6ZW9mKHN0cnVjdCBhY3BpX2RldmljZSkpOwogCiAJZGV2 aWNlLT5oYW5kbGUgPSBoYW5kbGU7CiAJZGV2aWNlLT5wYXJlbnQgPSBwYXJl bnQ7CmRpZmYgLXJ1YnAgbGludXgtMi42LjE5LXJjNV9vcmlnL2RyaXZlcnMv YWNwaS90aGVybWFsLmMgbGludXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZl cnMvYWNwaS90aGVybWFsLmMKLS0tIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9k cml2ZXJzL2FjcGkvdGhlcm1hbC5jCTIwMDYtMTEtMDkgMTI6MTY6MjEuMDAw MDAwMDAwICswMjAwCisrKyBsaW51eC0yLjYuMTktcmM1X2t6YWxsb2MvZHJp dmVycy9hY3BpL3RoZXJtYWwuYwkyMDA2LTExLTExIDIyOjQ0OjA0LjAwMDAw MDAwMCArMDIwMApAQCAtOTAyLDEyICs5MDIsMTAgQEAgYWNwaV90aGVybWFs X3dyaXRlX3RyaXBfcG9pbnRzKHN0cnVjdCBmaQogCWludCBpID0gMDsKIAog Ci0JbGltaXRfc3RyaW5nID0ga21hbGxvYyhBQ1BJX1RIRVJNQUxfTUFYX0xJ TUlUX1NUUl9MRU4sIEdGUF9LRVJORUwpOworCWxpbWl0X3N0cmluZyA9IGt6 YWxsb2MoQUNQSV9USEVSTUFMX01BWF9MSU1JVF9TVFJfTEVOLCBHRlBfS0VS TkVMKTsKIAlpZiAoIWxpbWl0X3N0cmluZykKIAkJcmV0dXJuIC1FTk9NRU07 CiAKLQltZW1zZXQobGltaXRfc3RyaW5nLCAwLCBBQ1BJX1RIRVJNQUxfTUFY X0xJTUlUX1NUUl9MRU4pOwotCiAJYWN0aXZlID0ga21hbGxvYyhBQ1BJX1RI RVJNQUxfTUFYX0FDVElWRSAqIHNpemVvZihpbnQpLCBHRlBfS0VSTkVMKTsK IAlpZiAoIWFjdGl2ZSkgewogCQlrZnJlZShsaW1pdF9zdHJpbmcpOwpAQCAt MTI3MSwxMCArMTI2OSw5IEBAIHN0YXRpYyBpbnQgYWNwaV90aGVybWFsX2Fk ZChzdHJ1Y3QgYWNwaV8KIAlpZiAoIWRldmljZSkKIAkJcmV0dXJuIC1FSU5W QUw7CiAKLQl0eiA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhY3BpX3RoZXJt YWwpLCBHRlBfS0VSTkVMKTsKKwl0eiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVj dCBhY3BpX3RoZXJtYWwpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXR6KQogCQly ZXR1cm4gLUVOT01FTTsKLQltZW1zZXQodHosIDAsIHNpemVvZihzdHJ1Y3Qg YWNwaV90aGVybWFsKSk7CiAKIAl0ei0+ZGV2aWNlID0gZGV2aWNlOwogCXN0 cmNweSh0ei0+bmFtZSwgZGV2aWNlLT5wbnAuYnVzX2lkKTsKZGlmZiAtcnVi cCBsaW51eC0yLjYuMTktcmM1X29yaWcvZHJpdmVycy9hY3BpL3V0aWxzLmMg bGludXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZlcnMvYWNwaS91dGlscy5j Ci0tLSBsaW51eC0yLjYuMTktcmM1X29yaWcvZHJpdmVycy9hY3BpL3V0aWxz LmMJMjAwNi0xMS0wOSAxMjoxNjoyMS4wMDAwMDAwMDAgKzAyMDAKKysrIGxp bnV4LTIuNi4xOS1yYzVfa3phbGxvYy9kcml2ZXJzL2FjcGkvdXRpbHMuYwky MDA2LTExLTExIDIyOjQ0OjA0LjAwMDAwMDAwMCArMDIwMApAQCAtMjYyLDEx ICsyNjIsMTAgQEAgYWNwaV9ldmFsdWF0ZV9pbnRlZ2VyKGFjcGlfaGFuZGxl IGhhbmRsZQogCWlmICghZGF0YSkKIAkJcmV0dXJuIEFFX0JBRF9QQVJBTUVU RVI7CiAKLQllbGVtZW50ID0ga21hbGxvYyhzaXplb2YodW5pb24gYWNwaV9v YmplY3QpLCBpcnFzX2Rpc2FibGVkKCkgPyBHRlBfQVRPTUlDOiBHRlBfS0VS TkVMKTsKKwllbGVtZW50ID0ga3phbGxvYyhzaXplb2YodW5pb24gYWNwaV9v YmplY3QpLCBpcnFzX2Rpc2FibGVkKCkgPyBHRlBfQVRPTUlDOiBHRlBfS0VS TkVMKTsKIAlpZiAoIWVsZW1lbnQpCiAJCXJldHVybiBBRV9OT19NRU1PUlk7 CiAKLQltZW1zZXQoZWxlbWVudCwgMCwgc2l6ZW9mKHVuaW9uIGFjcGlfb2Jq ZWN0KSk7CiAJYnVmZmVyLmxlbmd0aCA9IHNpemVvZih1bmlvbiBhY3BpX29i amVjdCk7CiAJYnVmZmVyLnBvaW50ZXIgPSBlbGVtZW50OwogCXN0YXR1cyA9 IGFjcGlfZXZhbHVhdGVfb2JqZWN0KGhhbmRsZSwgcGF0aG5hbWUsIGFyZ3Vt ZW50cywgJmJ1ZmZlcik7CkBAIC0zMjEsMTIgKzMyMCwxMSBAQCBhY3BpX2V2 YWx1YXRlX3N0cmluZyhhY3BpX2hhbmRsZSBoYW5kbGUsCiAJCXJldHVybiBB RV9CQURfREFUQTsKIAl9CiAKLQkqZGF0YSA9IGttYWxsb2MoZWxlbWVudC0+ c3RyaW5nLmxlbmd0aCArIDEsIEdGUF9LRVJORUwpOworCSpkYXRhID0ga3ph bGxvYyhlbGVtZW50LT5zdHJpbmcubGVuZ3RoICsgMSwgR0ZQX0tFUk5FTCk7 CiAJaWYgKCFkYXRhKSB7CiAJCXByaW50ayhLRVJOX0VSUiBQUkVGSVggIk1l bW9yeSBhbGxvY2F0aW9uXG4iKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQot CW1lbXNldCgqZGF0YSwgMCwgZWxlbWVudC0+c3RyaW5nLmxlbmd0aCArIDEp OwogCiAJbWVtY3B5KCpkYXRhLCBlbGVtZW50LT5zdHJpbmcucG9pbnRlciwg ZWxlbWVudC0+c3RyaW5nLmxlbmd0aCk7CiAKZGlmZiAtcnVicCBsaW51eC0y LjYuMTktcmM1X29yaWcvZHJpdmVycy9hY3BpL3ZpZGVvLmMgbGludXgtMi42 LjE5LXJjNV9remFsbG9jL2RyaXZlcnMvYWNwaS92aWRlby5jCi0tLSBsaW51 eC0yLjYuMTktcmM1X29yaWcvZHJpdmVycy9hY3BpL3ZpZGVvLmMJMjAwNi0x MS0wOSAxMjoxNjoyMS4wMDAwMDAwMDAgKzAyMDAKKysrIGxpbnV4LTIuNi4x OS1yYzVfa3phbGxvYy9kcml2ZXJzL2FjcGkvdmlkZW8uYwkyMDA2LTExLTEx IDIyOjQ0OjA0LjAwMDAwMDAwMCArMDIwMApAQCAtNTMyLDExICs1MzIsMTAg QEAgc3RhdGljIHZvaWQgYWNwaV92aWRlb19kZXZpY2VfZmluZF9jYXAocwog CQlpbnQgY291bnQgPSAwOwogCQl1bmlvbiBhY3BpX29iamVjdCAqbzsKIAot CQliciA9IGttYWxsb2Moc2l6ZW9mKCpiciksIEdGUF9LRVJORUwpOworCQli ciA9IGt6YWxsb2Moc2l6ZW9mKCpiciksIEdGUF9LRVJORUwpOwogCQlpZiAo IWJyKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgImNhbid0IGFsbG9jYXRlIG1l bW9yeVxuIik7CiAJCX0gZWxzZSB7Ci0JCQltZW1zZXQoYnIsIDAsIHNpemVv ZigqYnIpKTsKIAkJCWJyLT5sZXZlbHMgPSBrbWFsbG9jKG9iai0+cGFja2Fn ZS5jb3VudCAqCiAJCQkJCSAgICAgc2l6ZW9mICooYnItPmxldmVscyksIEdG UF9LRVJORUwpOwogCQkJaWYgKCFici0+bGV2ZWxzKQpAQCAtMTI2MywxMiAr MTI2MiwxMCBAQCBhY3BpX3ZpZGVvX2J1c19nZXRfb25lX2RldmljZShzdHJ1 Y3QgYWNwCiAJICAgIGFjcGlfZXZhbHVhdGVfaW50ZWdlcihkZXZpY2UtPmhh bmRsZSwgIl9BRFIiLCBOVUxMLCAmZGV2aWNlX2lkKTsKIAlpZiAoQUNQSV9T VUNDRVNTKHN0YXR1cykpIHsKIAotCQlkYXRhID0ga21hbGxvYyhzaXplb2Yo c3RydWN0IGFjcGlfdmlkZW9fZGV2aWNlKSwgR0ZQX0tFUk5FTCk7CisJCWRh dGEgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYWNwaV92aWRlb19kZXZpY2Up LCBHRlBfS0VSTkVMKTsKIAkJaWYgKCFkYXRhKQogCQkJcmV0dXJuIC1FTk9N RU07CiAKLQkJbWVtc2V0KGRhdGEsIDAsIHNpemVvZihzdHJ1Y3QgYWNwaV92 aWRlb19kZXZpY2UpKTsKLQogCQlzdHJjcHkoYWNwaV9kZXZpY2VfbmFtZShk ZXZpY2UpLCBBQ1BJX1ZJREVPX0RFVklDRV9OQU1FKTsKIAkJc3RyY3B5KGFj cGlfZGV2aWNlX2NsYXNzKGRldmljZSksIEFDUElfVklERU9fQ0xBU1MpOwog CQlhY3BpX2RyaXZlcl9kYXRhKGRldmljZSkgPSBkYXRhOwpAQCAtMTY5Niwx MCArMTY5Myw5IEBAIHN0YXRpYyBpbnQgYWNwaV92aWRlb19idXNfYWRkKHN0 cnVjdCBhY3AKIAlpZiAoIWRldmljZSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAK LQl2aWRlbyA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhY3BpX3ZpZGVvX2J1 cyksIEdGUF9LRVJORUwpOworCXZpZGVvID0ga3phbGxvYyhzaXplb2Yoc3Ry dWN0IGFjcGlfdmlkZW9fYnVzKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCF2aWRl bykKIAkJcmV0dXJuIC1FTk9NRU07Ci0JbWVtc2V0KHZpZGVvLCAwLCBzaXpl b2Yoc3RydWN0IGFjcGlfdmlkZW9fYnVzKSk7CiAKIAl2aWRlby0+ZGV2aWNl ID0gZGV2aWNlOwogCXN0cmNweShhY3BpX2RldmljZV9uYW1lKGRldmljZSks IEFDUElfVklERU9fQlVTX05BTUUpOwpkaWZmIC1ydWJwIGxpbnV4LTIuNi4x OS1yYzVfb3JpZy9kcml2ZXJzL3BjaS9ob3RwbHVnL2FjcGlwaHBfaWJtLmMg bGludXgtMi42LjE5LXJjNV9remFsbG9jL2RyaXZlcnMvcGNpL2hvdHBsdWcv YWNwaXBocF9pYm0uYwotLS0gbGludXgtMi42LjE5LXJjNV9vcmlnL2RyaXZl cnMvcGNpL2hvdHBsdWcvYWNwaXBocF9pYm0uYwkyMDA2LTExLTA5IDEyOjE2 OjIxLjAwMDAwMDAwMCArMDIwMAorKysgbGludXgtMi42LjE5LXJjNV9remFs bG9jL2RyaXZlcnMvcGNpL2hvdHBsdWcvYWNwaXBocF9pYm0uYwkyMDA2LTEx LTExIDIyOjQ0OjA0LjAwMDAwMDAwMCArMDIwMApAQCAtMzE5LDEzICszMTks MTIgQEAgc3RhdGljIGludCBpYm1fZ2V0X3RhYmxlX2Zyb21fYWNwaShjaGFy IAogCWlmIChidWZwID09IE5VTEwpCiAJCWdvdG8gcmVhZF90YWJsZV9kb25l OwogCi0JbGJ1ZiA9IGttYWxsb2Moc2l6ZSwgR0ZQX0tFUk5FTCk7CisJbGJ1 ZiA9IGt6YWxsb2Moc2l6ZSwgR0ZQX0tFUk5FTCk7CiAJZGJnKCIlczogZWxl bWVudCBjb3VudDogJWksIEFTTCB0YWJsZSBzaXplOiAlaSwgJnRhYmxlID0g MHglcFxuIiwKIAkJCV9fRlVOQ1RJT05fXywgcGFja2FnZS0+cGFja2FnZS5j b3VudCwgc2l6ZSwgbGJ1Zik7CiAKIAlpZiAobGJ1ZikgewogCQkqYnVmcCA9 IGxidWY7Ci0JCW1lbXNldChsYnVmLCAwLCBzaXplKTsKIAl9IGVsc2Ugewog CQlzaXplID0gLUVOT01FTTsKIAkJZ290byByZWFkX3RhYmxlX2RvbmU7Cg== ------=_NextPart_000_5c21_6b5c_22ef-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/