Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966230AbWKNSw5 (ORCPT ); Tue, 14 Nov 2006 13:52:57 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S933478AbWKNSw5 (ORCPT ); Tue, 14 Nov 2006 13:52:57 -0500 Received: from bay0-omc3-s13.bay0.hotmail.com ([65.54.246.213]:24004 "EHLO bay0-omc3-s13.bay0.hotmail.com") by vger.kernel.org with ESMTP id S933474AbWKNSwx (ORCPT ); Tue, 14 Nov 2006 13:52:53 -0500 Message-ID: X-Originating-IP: [80.178.1.111] X-Originating-Email: [yan_952@hotmail.com] From: "Burman Yan" To: linux-kernel@vger.kernel.org Subject: [PATCH 2.6.19-rc5] hwmon: HP Mobile data protection system 3D driver version 0.5 Date: Tue, 14 Nov 2006 20:52:50 +0200 Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_36fe_4e00_5cb" X-OriginalArrivalTime: 14 Nov 2006 18:52:52.0782 (UTC) FILETIME=[16CB6CE0:01C7081E] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 34034 Lines: 575 This is a multi-part message in MIME format. ------=_NextPart_000_36fe_4e00_5cb Content-Type: text/plain; format=flowed Hi. I took into account previous remarks, so here is the new version of the driver for the accelerometer present in HP nc6400 laptops. See documentation in the patch for complete feature list. At this point I don't think there is anything more that can be added to this driver and also it works stable for me no matter how I tried to abuse it. Regards 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_36fe_4e00_5cb Content-Type: application/octet-stream; name="mdps-0.5.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="mdps-0.5.patch" SFAgTW9iaWxlIERhdGEgUHJvdGVjdGlvbiBTeXN0ZW0gM0QgQUNQSSBkcml2 ZXIuIFNpbWlsYXIgdG8gaGRhcHMgaW4gZnVuY3Rpb25hbGl0eS4KVGhpcyBk cml2ZXIgcHJvdmlkZXMgNCBraW5kcyBvZiBmdW5jdGlvbmFsaXR5OgoxKSBD cmVhdGVzIGEgbWlzYyBkZXZpY2UgL2Rldi9hY2NlbCB0aGF0IGFjdHMgc2lt aWxhciB0byAvZGV2L3J0YyBhbmQgdW5ibG9ja3MKdGhlIHByb2Nlc3MgcmVh ZGluZyBmcm9tIGl0IHdoZW4gdGhlIGRldmljZSBkZXRlY3RzIGZyZWUtZmFs bCBpbnRlcnJ1cHQKMikgRnVuY3Rpb25zIGFzIGFuIGlucHV0IGNsYXNzIGRl dmljZSB0byBwcm92aWRlIHNpbWlsYXIgZnVuY3Rpb25hbGl0eSB0bwpoZGFw cywgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byB1c2UgdGhlIGxhcHRvcCBhcyBh IGpveXN0aWNrCjMpIFByb3ZpZGVzIGFuIGludGVyZmFjZSBzaW1pbGFyIHRv IGhkYXBzLCBzbyB0aGF0IGhkYXBzZCBjb3VsZCB3b3JrIHdpdGggaXQKNCkg TWFrZXMgaXQgcG9zc2libGUgdG8gcG93ZXIgdGhlIGRldmljZSBvZmYuCgpG b3IgY29tbWVudHMgbWFpbCB0bzogeWFuXzk1MkBob3RtYWlsLmNvbQoKU2ln bmVkLW9mZi1ieTogWWFuIEJ1cm1hbiA8eWFuXzk1MkBob3RtYWlsLmNvbT4K CmRpZmYgLU5ydWJwIGxpbnV4LTIuNi4xOS1yYzVfb3JpZy9Eb2N1bWVudGF0 aW9uL2h3bW9uL21kcHMgbGludXgtMi42LjE5LXJjNV9tZHBzL0RvY3VtZW50 YXRpb24vaHdtb24vbWRwcwotLS0gbGludXgtMi42LjE5LXJjNV9vcmlnL0Rv Y3VtZW50YXRpb24vaHdtb24vbWRwcwkxOTcwLTAxLTAxIDAyOjAwOjAwLjAw MDAwMDAwMCArMDIwMAorKysgbGludXgtMi42LjE5LXJjNV9tZHBzL0RvY3Vt ZW50YXRpb24vaHdtb24vbWRwcwkyMDA2LTExLTE0IDIwOjI2OjU1LjAwMDAw MDAwMCArMDIwMApAQCAtMCwwICsxLDQ1IEBACitLZXJuZWwgZHJpdmVyIG1k cHMKKz09PT09PT09PT09PT09PT09PQorCitTdXBwb3J0ZWQgY2hpcHM6CisK KyAgKiBTVE1pY3JvZWxlY3Ryb25pY3MgTElTM0xWMDJETCBhbmQgTElTM0xW MDJEUQorCitBdXRob3I6CisgICAgICAgIFlhbiBCdXJtYW4gPHlhbl85NTJA aG90bWFpbC5jb20+CisKKworRGVzY3JpcHRpb24KKy0tLS0tLS0tLS0tCisK K1RoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZSBIUCBNb2Jp bGUgRGF0YSBQcm90ZWN0aW9uCitTeXN0ZW0gM0QgKG1kcHMpLCB3aGljaCBp cyBhbiBhY2NlbGVyb21ldGVyLiBPbmx5IEhQIG5jNjQwMCBhbmQgbmM2NDIw CithcmUgc3VwcG9ydGVkIHJpZ2h0IG5vdywgYnV0IGl0IG1heSB3b3JrIG9u IG90aGVyIG1vZGVscyBhcyB3ZWxsLiBUaGUKK2FjY2VsZXJvbWV0ZXIgZGF0 YSBpcyByZWFkYWJsZSB2aWEgL3N5cy9kZXZpY2VzL3BsYXRmb3JtL21kcHMu CisKK1N5c2ZzIGF0dHJpYnV0ZXMgdW5kZXIgL3N5cy9kZXZpY2VzL3BsYXRm b3JtL21kcHMvOgorcG9zaXRpb24gLSAyRCBwb3NpdGlvbiB0aGF0IHRoZSBh Y2NlbGVyb21ldGVyIHJlcG9ydHMuIEZvcm1hdDogIih4LHkpIgorcG9zaXRp b24zZCAtIDNEIHBvc2l0aW9uIHRoYXQgdGhlIGFjY2VsZXJvbWV0ZXIgcmVw b3J0cy4gRm9ybWF0OiAiKHgseSx6KSIKK2NhbGlicmF0ZSAtIHJlYWQ6IHZh bHVlcyAoeCwgeSkgdGhhdCBhcmUgdXNlZCBhcyB0aGUgYmFzZSBmb3IgaW5w dXQgY2xhc3MgZGV2aWNlIG9wZXJhdGlvbi4KKyAgICAgICAgICAgIHdyaXRl OiBmb3JjZXMgdGhlIGJhc2UgdG8gYmUgcmVjYWxpYnJhdGVkLgorcmF0ZSAt IHJlcG9ydHMgdGhlIHNhbXBsaW5nIHJhdGUgb2YgdGhlIGFjY2VsZXJvbWV0 ZXIgZGV2aWNlIGluIEhaCitzdGF0ZSAtIHJlYWQ6IHRoZSBjdXJyZW50IHBv d2VyIHN0YXRlIG9mIHRoZSBhY2NlbGVyb21ldGVyIGRldmljZQorICAgICAg ICB3cml0ZTogIjAiIG9yICIxIiB0byBwb3dlciBvbi9vZmYgdGhlIGRldmlj ZQoram95c3RpY2sgLSB3aGV0aGVyIHRoZSBpbnB1dCBjbGFzcyBkZXZpY2Ug aXMgYWN0aXZlIG9yIG5vdAorCitMb2FkIHRpbWUgcGFyYW1ldGVyczoKK2Jv b2wgam95c3RpY2sgLSB3aGV0aGVyIHRvIGVuYWJsZSB0aGUgaW5wdXQgY2xh c3MgZGV2aWNlIG9yIG5vdCAoZGVmYXVsdCAxKQorYm9vbCBwb3dlcl9vZmYg LSB3aGV0aGVyIHRvIHBvd2VyIG9mZiB0aGUgZGV2aWNlIG9uIG1vZHVsZSBs b2FkIChkZWZhdWx0IDApCisKK1RoaXMgZHJpdmVyIGFsc28gcHJvdmlkZXMg YW4gYWJzb2x1dGUgaW5wdXQgY2xhc3MgZGV2aWNlLCBhbGxvd2luZwordGhl IGxhcHRvcCB0byBhY3QgYXMgYSBwaW5iYWxsIG1hY2hpbmUtZXNxdWUgam95 c3RpY2suCisKK0Fub3RoZXIgZmVhdHVyZSBvZiB0aGUgZHJpdmVyIGlzIG1p c2MgZGV2aWNlIGNhbGxlZCBtZHBzIHRoYXQgYWN0cworc2ltaWxhciB0byAv ZGV2L3J0YyBhbmQgcmVhY3RzIG9uIGZyZWUtZmFsbCBpbnRlcnJ1cHRzIHJl Y2VpdmVkIGZyb20KK3RoZSBkZXZpY2UuCisKK1RoZSBkZXZpY2UgaXMgYSBt aXNjIGNoYXJhY3RlciBkZXZpY2UgbmFtZWQgYWNjZWwuIEl0IHN1cHBvcnRz IGJsb2NraW5nIG9wZXJhdGlvbnMsCitwb2xsL3NlbGVjdCBhbmQgZmFzeW5j IG9wZXJhdGlvbiBtb2Rlcy4KK1lvdSBtdXN0IHJlYWQgNCBieXRlcyBmcm9t IHRoZSBkZXZpY2UuIFRoZSByZXN1bHQgaXMgbnVtYmVyIG9mIGZyZWUtZmFs bCBpbnRlcnJ1cHRzIHNpbmNlCit0aGUgbGFzdCBzdWNjZXNzZnVsIHJlYWQu CisKZGlmZiAtTnJ1YnAgbGludXgtMi42LjE5LXJjNV9vcmlnL2RyaXZlcnMv aHdtb24vS2NvbmZpZyBsaW51eC0yLjYuMTktcmM1X21kcHMvZHJpdmVycy9o d21vbi9LY29uZmlnCi0tLSBsaW51eC0yLjYuMTktcmM1X29yaWcvZHJpdmVy cy9od21vbi9LY29uZmlnCTIwMDYtMTEtMDkgMTI6MTY6MjEuMDAwMDAwMDAw ICswMjAwCisrKyBsaW51eC0yLjYuMTktcmM1X21kcHMvZHJpdmVycy9od21v bi9LY29uZmlnCTIwMDYtMTEtMTQgMjA6MzE6NTYuMDAwMDAwMDAwICswMjAw CkBAIC01MzAsNiArNTMwLDI2IEBAIGNvbmZpZyBTRU5TT1JTX0hEQVBTCiAJ ICBTYXkgWSBoZXJlIGlmIHlvdSBoYXZlIGFuIGFwcGxpY2FibGUgbGFwdG9w IGFuZCB3YW50IHRvIGV4cGVyaWVuY2UKIAkgIHRoZSBhd2Vzb21lIHBvd2Vy IG9mIGhkYXBzLgogCitjb25maWcgU0VOU09SU19NRFBTCisgICAgICAgIHRy aXN0YXRlICJIUCBNb2JpbGUgRGF0YSBQcm90ZWN0aW9uIFN5c3RlbSAzRCAo bWRwcykiCisgICAgICAgIGRlcGVuZHMgb24gQUNQSSAmJiBIV01PTiAmJiBJ TlBVVCAmJiBYODYKKyAgICAgICAgZGVmYXVsdCBuCisgICAgICAgIGhlbHAK KyAgICAgICAgICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0 aGUgSFAgTW9iaWxlIERhdGEgUHJvdGVjdGlvbgorICAgICAgICAgIFN5c3Rl bSAzRCAobWRwcyksIHdoaWNoIGlzIGFuIGFjY2VsZXJvbWV0ZXIuIE9ubHkg SFAgbmM2NDAwIGFuZCBuYzY0MjAKKyAgICAgICAgICBhcmUgc3VwcG9ydGVk IHJpZ2h0IG5vdywgYnV0IGl0IG1heSB3b3JrIG9uIG90aGVyIG1vZGVscyBh cyB3ZWxsLiBUaGUKKyAgICAgICAgICBhY2NlbGVyb21ldGVyIGRhdGEgaXMg cmVhZGFibGUgdmlhIC9zeXMvZGV2aWNlcy9wbGF0Zm9ybS9tZHBzLgorCisg ICAgICAgICAgVGhpcyBkcml2ZXIgYWxzbyBwcm92aWRlcyBhbiBhYnNvbHV0 ZSBpbnB1dCBjbGFzcyBkZXZpY2UsIGFsbG93aW5nCisgICAgICAgICAgdGhl IGxhcHRvcCB0byBhY3QgYXMgYSBwaW5iYWxsIG1hY2hpbmUtZXNxdWUgam95 c3RpY2suCisKKyAgICAgICAgICBBbm90aGVyIGZlYXR1cmUgb2YgdGhlIGRy aXZlciBpcyBtaXNjIGRldmljZSBjYWxsZWQgbWRwcyB0aGF0IGFjdHMKKyAg ICAgICAgICBzaW1pbGFyIHRvIC9kZXYvcnRjIGFuZCByZWFjdHMgb24gZnJl ZS1mYWxsIGludGVycnVwdHMgcmVjZWl2ZWQgZnJvbQorICAgICAgICAgIHRo ZSBkZXZpY2UuCisKKyAgICAgICAgICBUaGlzIGRyaXZlciBjYW4gYWxzbyBi ZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisgICAg ICAgICAgd2lsbCBiZSBjYWxsZWQgbWRwcy4KKwogY29uZmlnIEhXTU9OX0RF QlVHX0NISVAKIAlib29sICJIYXJkd2FyZSBNb25pdG9yaW5nIENoaXAgZGVi dWdnaW5nIG1lc3NhZ2VzIgogCWRlcGVuZHMgb24gSFdNT04KZGlmZiAtTnJ1 YnAgbGludXgtMi42LjE5LXJjNV9vcmlnL2RyaXZlcnMvaHdtb24vbWRwcy5j IGxpbnV4LTIuNi4xOS1yYzVfbWRwcy9kcml2ZXJzL2h3bW9uL21kcHMuYwot LS0gbGludXgtMi42LjE5LXJjNV9vcmlnL2RyaXZlcnMvaHdtb24vbWRwcy5j CTE5NzAtMDEtMDEgMDI6MDA6MDAuMDAwMDAwMDAwICswMjAwCisrKyBsaW51 eC0yLjYuMTktcmM1X21kcHMvZHJpdmVycy9od21vbi9tZHBzLmMJMjAwNi0x MS0xNCAyMDoyMzoxNy4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSw3MzIg QEAKKy8qCisgKiAgbWRwcy5jIC0gSFAgTW9iaWxlIERhdGEgUHJvdGVjdGlv biBTeXN0ZW0gM0QgQUNQSSBkcml2ZXIKKyAqCisgKiAgQ29weXJpZ2h0IChD KSAyMDA2IFlhbiBCdXJtYW4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2Yg dGhlIExpY2Vuc2UsIG9yCisgKiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0 d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwg U3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLwor CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgv aW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUg PGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2 aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVk ZSA8bGludXgvaW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+ CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9z cGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNp bmNsdWRlIDxsaW51eC93YWl0Lmg+CisjaW5jbHVkZSA8bGludXgvcG9sbC5o PgorI2luY2x1ZGUgPGxpbnV4L2ZyZWV6ZXIuaD4KKworI2luY2x1ZGUgPGFj cGkvYWNwaV9kcml2ZXJzLmg+CisjaW5jbHVkZSA8YWNwaS9hY25hbWVzcC5o PgorCisjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxhc20v YXRvbWljLmg+CisKKyNkZWZpbmUgVkVSU0lPTiAiMC41IgorCisjZGVmaW5l IERSSVZFUl9OQU1FICAgICAibWRwcyIKKyNkZWZpbmUgQUNQSV9NRFBTX0NM QVNTICJhY2NlbGVyb21ldGVyIgorI2RlZmluZSBBQ1BJX01EUFNfSUQgICAg IkhQUTAwMDQiCisKKy8qIFRoZSBhY3R1YWwgY2hpcCBpcyBTVE1pY3JvZWxl Y3Ryb25pY3MgTElTM0xWMDJETCBvciBMSVMzTFYwMkRRICovCisKKyNkZWZp bmUgTURQU19XSE9fQU1fSSAgICAgICAgMHgwRiAvKnIgICAgICAwMDExMTAx MCAqLworI2RlZmluZSBNRFBTX09GRlNFVF9YICAgICAgICAweDE2IC8qcncg ICAgICAgICAgICAgICovCisjZGVmaW5lIE1EUFNfT0ZGU0VUX1kgICAgICAg IDB4MTcgLypydyAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgTURQU19PRkZT RVRfWiAgICAgICAgMHgxOCAvKnJ3ICAgICAgICAgICAgICAqLworI2RlZmlu ZSBNRFBTX0dBSU5fWCAgICAgICAgICAweDE5IC8qcncgICAgICAgICAgICAg ICovCisjZGVmaW5lIE1EUFNfR0FJTl9ZICAgICAgICAgIDB4MUEgLypydyAg ICAgICAgICAgICAgKi8KKyNkZWZpbmUgTURQU19HQUlOX1ogICAgICAgICAg MHgxQiAvKnJ3ICAgICAgICAgICAgICAqLworI2RlZmluZSBNRFBTX0NUUkxf UkVHMSAgICAgICAweDIwIC8qcncgICAgIDAwMDAwMTExICovCisjZGVmaW5l IE1EUFNfQ1RSTF9SRUcyICAgICAgIDB4MjEgLypydyAgICAgMDAwMDAwMDAg Ki8KKyNkZWZpbmUgTURQU19DVFJMX1JFRzMgICAgICAgMHgyMiAvKnJ3ICAg ICAwMDAwMTAwMCAqLworI2RlZmluZSBNRFBTX0hQX0ZJTFRFUiBSRVNFVCAw eDIzIC8qciAgICAgICAgICAgICAgICovCisjZGVmaW5lIE1EUFNfU1RBVFVT X1JFRyAgICAgIDB4MjcgLypydyAgICAgMDAwMDAwMDAgKi8KKyNkZWZpbmUg TURQU19PVVRYX0wgICAgICAgICAgMHgyOCAvKnIgICAgICAgICAgICAgICAq LworI2RlZmluZSBNRFBTX09VVFhfSCAgICAgICAgICAweDI5IC8qciAgICAg ICAgICAgICAgICovCisjZGVmaW5lIE1EUFNfT1VUWV9MICAgICAgICAgIDB4 MkEgLypyICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgTURQU19PVVRZX0gg ICAgICAgICAgMHgyQiAvKnIgICAgICAgICAgICAgICAqLworI2RlZmluZSBN RFBTX09VVFpfTCAgICAgICAgICAweDJDIC8qciAgICAgICAgICAgICAgICov CisjZGVmaW5lIE1EUFNfT1VUWl9IICAgICAgICAgIDB4MkQgLypyICAgICAg ICAgICAgICAgKi8KKyNkZWZpbmUgTURQU19GRl9XVV9DRkcgICAgICAgMHgz MCAvKnJ3ICAgICAwMDAwMDAwMCAqLworI2RlZmluZSBNRFBTX0ZGX1dVX1NS QyAgICAgICAweDMxIC8qcncgICAgIDAwMDAwMDAwICovCisjZGVmaW5lIE1E UFNfRkZfV1VfQUNLICAgICAgIDB4MzIgLypyICAgICAgICAgICAgICAgKi8K KyNkZWZpbmUgTURQU19GRl9XVV9USFNfTCAgICAgMHgzNCAvKnJ3ICAgICAw MDAwMDAwMCAqLworI2RlZmluZSBNRFBTX0ZGX1dVX1RIU19IICAgICAweDM1 IC8qcncgICAgIDAwMDAwMDAwICovCisjZGVmaW5lIE1EUFNfRkZfV1VfRFVS QVRJT04gIDB4MzYgLypydyAgICAgMDAwMDAwMDAgKi8KKyNkZWZpbmUgTURQ U19ERF9DRkcgICAgICAgICAgMHgzOCAvKnJ3ICAgICAwMDAwMDAwMCAqLwor I2RlZmluZSBNRFBTX0REX1NSQyAgICAgICAgICAweDM5IC8qcncgICAgIDAw MDAwMDAwICovCisjZGVmaW5lIE1EUFNfRERfQUNLICAgICAgICAgIDB4M0Eg LypyICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgTURQU19ERF9USFNJX0wg ICAgICAgMHgzQyAvKnJ3ICAgICAwMDAwMDAwMCAqLworI2RlZmluZSBNRFBT X0REX1RIU0lfSCAgICAgICAweDNEIC8qcncgICAgIDAwMDAwMDAwICovCisj ZGVmaW5lIE1EUFNfRERfVEhTRV9MICAgICAgIDB4M0UgLypydyAgICAgMDAw MDAwMDAgKi8KKyNkZWZpbmUgTURQU19ERF9USFNFX0ggICAgICAgMHgzRiAv KnJ3ICAgICAwMDAwMDAwMCAqLworCisjZGVmaW5lIE1EUFNfSUQgMHgzQQor CisvKiBqb3lzdGljayBkZXZpY2UgcG9sbCBpbnRlcnZhbCBpbiBtaWxsaXNl Y29uZHMgKi8KKyNkZWZpbmUgTURQU19QT0xMX0lOVEVSVkFMIDMwCisKK3N0 YXRpYyB1bnNpZ25lZCBpbnQgam95c3RpY2sgPSAxOworbW9kdWxlX3BhcmFt KGpveXN0aWNrLCBib29sLCBTX0lSVUdPKTsKK01PRFVMRV9QQVJNX0RFU0Mo am95c3RpY2ssICJFbmFibGUgdGhlIGlucHV0IGRldmljZSBvbiBtb2R1bGUg bG9hZCIpOworCitzdGF0aWMgdW5zaWduZWQgaW50IHBvd2VyX29mZjsKK21v ZHVsZV9wYXJhbShwb3dlcl9vZmYsIGJvb2wsIFNfSVJVR08pOworTU9EVUxF X1BBUk1fREVTQyhwb3dlcl9vZmYsICJUdXJuIG9mZiBkZXZpY2Ugb24gbW9k dWxlIGxvYWQiKTsKKworc3RydWN0IGFjcGlfbWRwcworeworCXN0cnVjdCBh Y3BpX2RldmljZSAgICAgKmRldmljZTsgICAgLyogVGhlIEFDUEkgZGV2aWNl ICovCisJdTMyICAgICAgICAgICAgICAgICAgICAgaXJxOyAgICAgICAvKiBJ UlEgbnVtYmVyICovCisJc3RydWN0IGlucHV0X2RldiAgICAgICAqaWRldjsg ICAgICAvKiBpbnB1dCBkZXZpY2UgKi8KKwlzdHJ1Y3QgdGFza19zdHJ1Y3Qg ICAgICprdGhyZWFkOyAgIC8qIGt0aHJlYWQgZm9yIGlucHV0ICovCisJaW50 ICAgICAgICAgICAgICAgICAgICAgeGNhbGliOyAgICAvKiBjYWxpYnJhdGVk IG51bGwgdmFsdWUgZm9yIHggKi8KKwlpbnQgICAgICAgICAgICAgICAgICAg ICB5Y2FsaWI7ICAgIC8qIGNhbGlicmF0ZWQgbnVsbCB2YWx1ZSBmb3IgeSAq LworCWludCAgICAgICAgICAgICAgICAgICAgIGlzX29uOyAgICAgLyogd2hl dGhlciB0aGUgZGV2aWNlIGlzIG9uIG9yIG9mZiAqLworCXN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXY7ICAgICAgLyogcGxhdGZvcm0gZGV2aWNlICov CisJdTMyICAgICAgICAgICAgICAgICAgICAgY291bnQ7ICAgICAvKiBob3cg bWFueSB0aW1lcyB3ZSBnb3QgaW50ZXJydXB0cyBhZnRlciB0aGUgbGFzdCBy ZWFkICovCisJc3RydWN0IGZhc3luY19zdHJ1Y3QgICAqYXN5bmNfcXVldWU7 Cit9OworCisvKiBLZWVwIHRyYWNrIG9mIHdoZXRoZXIgdGhlIGRldmljZSB3 YXMgYWxyZWFkeSBvcGVuZWQgKi8KK3N0YXRpYyBhdG9taWNfdCBtZHBzX2F2 YWlsYWJsZSA9IEFUT01JQ19JTklUKDEpOworCitzdGF0aWMgREVDTEFSRV9X QUlUX1FVRVVFX0hFQUQobWRwc193YWl0KTsKKworc3RhdGljIHN0cnVjdCBh Y3BpX21kcHMgbWRwczsKKworc3RhdGljIGludCBtZHBzX2FkZChzdHJ1Y3Qg YWNwaV9kZXZpY2UqIGRldmljZSk7CitzdGF0aWMgaW50IG1kcHNfcmVtb3Zl KHN0cnVjdCBhY3BpX2RldmljZSAqZGV2aWNlLCBpbnQgdHlwZSk7CitzdGF0 aWMgaW50IG1kcHNfc3VzcGVuZChzdHJ1Y3QgYWNwaV9kZXZpY2UgKmRldmlj ZSwgaW50IHN0YXRlKTsKK3N0YXRpYyBpbnQgbWRwc19yZXN1bWUoc3RydWN0 IGFjcGlfZGV2aWNlICpkZXZpY2UsIGludCBzdGF0ZSk7CitzdGF0aWMgaW50 IG1kcHNfcmVtb3ZlX2ZzKHZvaWQpOworc3RhdGljIGludCBtZHBzX2FkZF9m cyhzdHJ1Y3QgYWNwaV9kZXZpY2UgKmRldmljZSk7CitzdGF0aWMgdm9pZCBt ZHBzX2pveXN0aWNrX2VuYWJsZSh2b2lkKTsKK3N0YXRpYyB2b2lkIG1kcHNf am95c3RpY2tfZGlzYWJsZSh2b2lkKTsKKworc3RhdGljIHN0cnVjdCBhY3Bp X2RyaXZlciBtZHBzX2RyaXZlciA9Cit7CisJLm5hbWUgID0gRFJJVkVSX05B TUUsCisJLmNsYXNzID0gQUNQSV9NRFBTX0NMQVNTLAorCS5pZHMgICA9IEFD UElfTURQU19JRCwKKwkub3BzID0geworCQkuYWRkICAgICA9IG1kcHNfYWRk LAorCQkucmVtb3ZlICA9IG1kcHNfcmVtb3ZlLAorI2lmZGVmIENPTkZJR19Q TQorCQkuc3VzcGVuZCA9IG1kcHNfc3VzcGVuZCwKKwkJLnJlc3VtZSAgPSBt ZHBzX3Jlc3VtZQorI2VuZGlmCisJfQorfTsKKworLyogVGhpcyBsb2NrIHBy b3RlY3RzIGFjY2VzcyB0byB0aGUgaW50ZXJydXB0IGNvdW50ZXIgZm9yIHRo ZSBtaXNjIGNoYXIgZGV2aWNlICovCitzdGF0aWMgREVGSU5FX1NQSU5MT0NL KG1kcHNfbG9jayk7CisKKy8qKiBDcmVhdGUgYSBzaW5nbGUgdmFsdWUgZnJv bSAyIGJ5dGVzIHJlY2VpdmVkIGZyb20gdGhlIGFjY2VsZXJvbWV0ZXIKKyAq IEBwYXJhbSBoaSB0aGUgaGlnaCBieXRlCisgKiBAcGFyYW0gbG8gdGhlIGxv dyBieXRlCisgKiBAcmV0dXJuIHRoZSByZXN1bHRpbmcgdmFsdWUKKyAqLwor c3RhdGljIGlubGluZSBzMTYgbWRwc19nbHVlX2J5dGVzKHVuc2lnbmVkIGxv bmcgaGksIHVuc2lnbmVkIGxvbmcgbG8pCit7CisJLyogSW4gIjEyIGJpdCBy aWdodCBqdXN0aWZpZWQiIG1vZGUsIGJpdCA2LCBiaXQgNywgYml0IDggPSBi aXQgNSAqLworCWlmIChoaSAmIDB4MTApCisJCWhpIHw9IDB4RTA7CisJcmV0 dXJuIChzMTYpKChoaSA8PCA4KSB8IGxvKTsKK30KKworc3RhdGljIGFjcGlf c3RhdHVzIHJlYWRfYWNwaV9pbnRfcGFyYW0oYWNwaV9oYW5kbGUgaGFuZGxl LCBhY3BpX3N0cmluZyBtZXRob2QsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgdmFsLCB1bnNpZ25lZCBsb25nICpyZXQp Cit7CisJdW5pb24gYWNwaV9vYmplY3QgYXJnMCA9IHsgQUNQSV9UWVBFX0lO VEVHRVIgfTsKKwlzdHJ1Y3QgYWNwaV9vYmplY3RfbGlzdCBhcmdzID0geyAx LCAmYXJnMCB9OworCisJYXJnMC5pbnRlZ2VyLnZhbHVlID0gdmFsOworCisJ cmV0dXJuIGFjcGlfZXZhbHVhdGVfaW50ZWdlcihoYW5kbGUsIG1ldGhvZCwg JmFyZ3MsIHJldCk7Cit9CisKKy8qKiBBQ1BJIF9TVEEgbWV0aG9kOiBnZXQg ZGV2aWNlIHN0YXR1cworICogQHBhcmFtIGhhbmRsZSB0aGUgaGFuZGxlIG9m IHRoZSBkZXZpY2UKKyAqIEBwYXJhbVtvdXRdIHJldCByZXN1bHQgb2YgdGhl IG9wZXJhdGlvbgorICogQHJldHVybiBBRV9PSyBvbiBzdWNjZXNzCisgKi8K K3N0YXRpYyBpbmxpbmUgYWNwaV9zdGF0dXMgbWRwc19fU1RBKGFjcGlfaGFu ZGxlIGhhbmRsZSwgdW5zaWduZWQgbG9uZyAqcmV0KQoreworCXJldHVybiBh Y3BpX2V2YWx1YXRlX2ludGVnZXIoaGFuZGxlLCBNRVRIT0RfTkFNRV9fU1RB LCBOVUxMLCByZXQpOworfQorCisvKiogQUNQSSBBTFJEIG1ldGhvZDogcmVh ZCBhIHJlZ2lzdGVyCisgKiBAcGFyYW0gaGFuZGxlIHRoZSBoYW5kbGUgb2Yg dGhlIGRldmljZQorICogQHBhcmFtIHJlZyB0aGUgcmVnaXN0ZXIgdG8gcmVh ZAorICogQHBhcmFtW291dF0gcmV0IHJlc3VsdCBvZiB0aGUgb3BlcmF0aW9u CisgKiBAcmV0dXJuIEFFX09LIG9uIHN1Y2Nlc3MKKyAqLworc3RhdGljIGlu bGluZSBhY3BpX3N0YXR1cyBtZHBzX0FMUkQoYWNwaV9oYW5kbGUgaGFuZGxl LCBpbnQgcmVnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgbG9uZyAqcmV0KQoreworCXJldHVybiByZWFkX2FjcGlf aW50X3BhcmFtKGhhbmRsZSwgIkFMUkQiLCByZWcsIHJldCk7Cit9CisKKy8q KiBBQ1BJIF9JTkkgbWV0aG9kOiBpbml0aWFsaXplIHRoZSBkZXZpY2UuCisg KiBAcGFyYW0gaGFuZGxlIHRoZSBoYW5kbGUgb2YgdGhlIGRldmljZQorICog QHJldHVybiAwIG9uIHN1Y2Nlc3MKKyAqLworc3RhdGljIGlubGluZSBhY3Bp X3N0YXR1cyBtZHBzX19JTkkoYWNwaV9oYW5kbGUgaGFuZGxlKQoreworCXJl dHVybiBhY3BpX2V2YWx1YXRlX29iamVjdChoYW5kbGUsIE1FVEhPRF9OQU1F X19JTkksIE5VTEwsIE5VTEwpOworfQorCisvKiogQUNQSSBBTFdSIG1ldGhv ZDogd3JpdGUgdG8gYSByZWdpc3RlcgorICogQHBhcmFtIGhhbmRsZSB0aGUg aGFuZGxlIG9mIHRoZSBkZXZpY2UKKyAqIEBwYXJhbSByZWcgdGhlIHJlZ2lz dGVyIHRvIHdyaXRlIHRvCisgKiBAcGFyYW0gdmFsIHRoZSB2YWx1ZSB0byB3 cml0ZQorICogQHBhcmFtW291dF0gcmV0IHJlc3VsdCBvZiB0aGUgb3BlcmF0 aW9uCisgKiBAcmV0dXJuIEFFX09LIG9uIHN1Y2Nlc3MKKyAqLworc3RhdGlj IGFjcGlfc3RhdHVzIG1kcHNfQUxXUihhY3BpX2hhbmRsZSBoYW5kbGUsIGlu dCByZWcsIGludCB2YWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGxvbmcgKnJldCkKK3sKKwl1bmlvbiBhY3BpX29iamVjdCBp bl9vYmpbMl07CisJc3RydWN0IGFjcGlfb2JqZWN0X2xpc3QgYXJnczsKKwor CWFyZ3MuY291bnQgICAgICAgICAgICAgID0gMjsKKwlhcmdzLnBvaW50ZXIg ICAgICAgICAgICA9IGluX29iajsKKwlpbl9vYmpbMF0udHlwZSAgICAgICAg ICA9IEFDUElfVFlQRV9JTlRFR0VSOworCWluX29ialswXS5pbnRlZ2VyLnZh bHVlID0gcmVnOworCWluX29ialsxXS50eXBlICAgICAgICAgID0gQUNQSV9U WVBFX0lOVEVHRVI7CisJaW5fb2JqWzFdLmludGVnZXIudmFsdWUgPSB2YWw7 CisKKwlyZXR1cm4gYWNwaV9ldmFsdWF0ZV9pbnRlZ2VyKGhhbmRsZSwgIkFM V1IiLCAmYXJncywgcmV0KTsKK30KKworLyoqIEdldCBYIGFuZCBZIGF4aXMg dmFsdWVzIGZyb20gdGhlIGFjY2VsZW9tdGVyCisgKiBAcGFyYW0gaGFuZGxl IHRoZSBoYW5kbGUgdG8gdGhlIGRldmljZQorICogQHBhcmFtW291dF0geCB3 aGVyZSB0byBzdG9yZSB0aGUgWCBheGlzIHZhbHVlCisgKiBAcGFyYW1bb3V0 XSB5IHdoZXJlIHRvIHN0b3JlIHRoZSBZIGF4aXMgdmFsdWUKKyAqLworc3Rh dGljIHZvaWQgbWRwc19nZXRfeHkoYWNwaV9oYW5kbGUgaGFuZGxlLCBpbnQg KngsIGludCAqeSkKK3sKKwl1bnNpZ25lZCBsb25nIHhfbG8sIHhfaGksIHlf bG8sIHlfaGk7CisKKwltZHBzX0FMUkQobWRwcy5kZXZpY2UtPmhhbmRsZSwg TURQU19PVVRYX0wsICZ4X2xvKTsKKwltZHBzX0FMUkQobWRwcy5kZXZpY2Ut PmhhbmRsZSwgTURQU19PVVRYX0gsICZ4X2hpKTsKKwltZHBzX0FMUkQobWRw cy5kZXZpY2UtPmhhbmRsZSwgTURQU19PVVRZX0wsICZ5X2xvKTsKKwltZHBz X0FMUkQobWRwcy5kZXZpY2UtPmhhbmRsZSwgTURQU19PVVRZX0gsICZ5X2hp KTsKKworCSp4ID0gbWRwc19nbHVlX2J5dGVzKHhfaGksIHhfbG8pOworCSp5 ID0gbWRwc19nbHVlX2J5dGVzKHlfaGksIHlfbG8pOworfQorCisvKiogS3Ro cmVhZCBwb2xsaW5nIGZ1bmN0aW9uCisgKiBAcGFyYW0gZGF0YSB1bnVzZWQg LSBoZXJlIHRvIGNvbmZvcm0gdG8gdGhyZWFkZm4gcHJvdG90eXBlCisgKiBA cmV0dXJuIDAgdW51c2VkIC0gaGVyZSB0byBjb25mb3JtIHRvIHRocmVhZGZu IHByb3RvdHlwZQorICovCitzdGF0aWMgaW50IG1kcHNfam95c3RpY2tfa3Ro cmVhZCh2b2lkICpkYXRhKQoreworCWludCB4LCB5OworCisJd2hpbGUgKCFr dGhyZWFkX3Nob3VsZF9zdG9wKCkpIHsKKwkJbWRwc19nZXRfeHkobWRwcy5k ZXZpY2UtPmhhbmRsZSwgJngsICZ5KTsKKworCQkvKiBuZWVkIHRvIGludmVy dCB0aGUgWCBheGlzIGZvciB0aGlzIHRvIGxvb2sgbmF0dXJhbCAqLworCQlp bnB1dF9yZXBvcnRfYWJzKG1kcHMuaWRldiwgQUJTX1gsIC0oeCAtIG1kcHMu eGNhbGliKSk7CisJCWlucHV0X3JlcG9ydF9hYnMobWRwcy5pZGV2LCBBQlNf WSwgeSAtIG1kcHMueWNhbGliKTsKKworCQlpbnB1dF9zeW5jKG1kcHMuaWRl dik7CisKKwkJdHJ5X3RvX2ZyZWV6ZSgpOworCQltc2xlZXBfaW50ZXJydXB0 aWJsZShNRFBTX1BPTExfSU5URVJWQUwpOworCX0KKworCXJldHVybiAwOwor fQorCitzdGF0aWMgaW5saW5lIHZvaWQgbWRwc19wb3dlcm9mZihhY3BpX2hh bmRsZSBoYW5kbGUpCit7CisJdW5zaWduZWQgbG9uZyByZXQ7CisJbWRwcy5p c19vbiA9IDA7CisJLyogZGlzYWJsZSBYLFksWiBheGlzIGFuZCBwb3dlciBk b3duICovCisJbWRwc19BTFdSKGhhbmRsZSwgTURQU19DVFJMX1JFRzEsIDB4 MDAsICZyZXQpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgbWRwc19wb3dl cm9uKGFjcGlfaGFuZGxlIGhhbmRsZSkKK3sKKwltZHBzLmlzX29uID0gMTsK KwltZHBzX19JTkkoaGFuZGxlKTsKK30KKworI2lmZGVmIENPTkZJR19QTQor c3RhdGljIGludCBtZHBzX3N1c3BlbmQoc3RydWN0IGFjcGlfZGV2aWNlICpk ZXZpY2UsIGludCBzdGF0ZSkKK3sKKwkvKiBtYWtlIHN1cmUgdGhlIGRldmlj ZSBpcyBvZmYgd2hlbiB3ZSBzdXNwZW5kICovCisJbWRwc19wb3dlcm9mZiht ZHBzLmRldmljZS0+aGFuZGxlKTsKKworCXJldHVybiAwOworfQorI2VuZGlm CisKK3N0YXRpYyBpbnQgbWRwc19yZXN1bWUoc3RydWN0IGFjcGlfZGV2aWNl ICpkZXZpY2UsIGludCBzdGF0ZSkKK3sKKwkvKiBtYWtlIHN1cmUgdGhlIGRl dmljZSB3ZW50IG9ubGluZSAqLworCW1kcHNfcG93ZXJvbihtZHBzLmRldmlj ZS0+aGFuZGxlKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaXJxcmV0 dXJuX3QgbWRwc19pcnEoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXNw aW5fbG9jaygmbWRwc19sb2NrKTsKKwkrK21kcHMuY291bnQ7CisJc3Bpbl91 bmxvY2soJm1kcHNfbG9jayk7CisKKwl3YWtlX3VwX2ludGVycnVwdGlibGUo Jm1kcHNfd2FpdCk7CisKKwlraWxsX2Zhc3luYygmbWRwcy5hc3luY19xdWV1 ZSwgU0lHSU8sIFBPTExfSU4pOworCisJcmV0dXJuIElSUV9IQU5ETEVEOwor fQorCitzdGF0aWMgaW50IG1kcHNfbWlzY19vcGVuKHN0cnVjdCBpbm9kZSAq aW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCWlmICghYXRvbWljX2Rl Y19hbmRfdGVzdCgmbWRwc19hdmFpbGFibGUpKSB7CisJCWF0b21pY19pbmMo Jm1kcHNfYXZhaWxhYmxlKTsKKwkJcmV0dXJuIC1FQlVTWTsgLyogYWxyZWFk eSBvcGVuICovCisJfQorCisJc3Bpbl9sb2NrX2lycSgmbWRwc19sb2NrKTsK KwltZHBzLmNvdW50ID0gMDsKKwlzcGluX3VubG9ja19pcnEoJm1kcHNfbG9j ayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNzaXplX3QgbWRwc19t aXNjX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsIGNoYXIgX191c2VyICpidWYs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBjb3Vu dCwgbG9mZl90ICpwb3MpCit7CisJREVDTEFSRV9XQUlUUVVFVUUod2FpdCwg Y3VycmVudCk7CisJdTMyIGRhdGE7CisJc3NpemVfdCByZXR2YWwgPSBjb3Vu dDsKKworCWlmIChjb3VudCAhPSBzaXplb2YodTMyKSkKKwkJcmV0dXJuIC1F SU5WQUw7CisKKwlhZGRfd2FpdF9xdWV1ZSgmbWRwc193YWl0LCAmd2FpdCk7 CisJZm9yICg7OykgeworCQlzZXRfY3VycmVudF9zdGF0ZShUQVNLX0lOVEVS UlVQVElCTEUpOworCQlzcGluX2xvY2tfaXJxKCZtZHBzX2xvY2spOworCQlk YXRhID0gbWRwcy5jb3VudDsKKwkJbWRwcy5jb3VudCA9IDA7CisJCXNwaW5f dW5sb2NrX2lycSgmbWRwc19sb2NrKTsKKworCQlpZiAoZGF0YSkKKwkJCWJy ZWFrOworCisJCWlmIChmaWxlLT5mX2ZsYWdzICYgT19OT05CTE9DSykgewor CQkJcmV0dmFsID0gLUVBR0FJTjsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJ aWYgKHNpZ25hbF9wZW5kaW5nKGN1cnJlbnQpKSB7CisJCQlyZXR2YWwgPSAt RVJFU1RBUlRTWVM7CisJCQlnb3RvIG91dDsKKwkJfQorCisJCXNjaGVkdWxl KCk7CisJfQorCisJaWYgKGNvcHlfdG9fdXNlcihidWYsICZkYXRhLCBzaXpl b2YoZGF0YSkpKQorCQlyZXR2YWwgPSAtRUZBVUxUOworCitvdXQ6CisJc2V0 X2N1cnJlbnRfc3RhdGUoVEFTS19SVU5OSU5HKTsKKwlyZW1vdmVfd2FpdF9x dWV1ZSgmbWRwc193YWl0LCAmd2FpdCk7CisKKwlyZXR1cm4gcmV0dmFsOwor fQorCitzdGF0aWMgdW5zaWduZWQgaW50IG1kcHNfbWlzY19wb2xsKHN0cnVj dCBmaWxlICpmaWxlLCBwb2xsX3RhYmxlICp3YWl0KQoreworCXUzMiBkYXRh OworCisJcG9sbF93YWl0KGZpbGUsICZtZHBzX3dhaXQsIHdhaXQpOworCisJ c3Bpbl9sb2NrX2lycSgmbWRwc19sb2NrKTsKKwlkYXRhID0gbWRwcy5jb3Vu dDsKKwlzcGluX3VubG9ja19pcnEoJm1kcHNfbG9jayk7CisKKwlpZiAoZGF0 YSkKKwkJcmV0dXJuIFBPTExJTiB8IFBPTExSRE5PUk07CisKKwlyZXR1cm4g MDsKK30KKworc3RhdGljIGludCBtZHBzX21pc2NfZmFzeW5jKGludCBmZCwg c3RydWN0IGZpbGUgKmZpbGUsIGludCBvbikKK3sKKyAgICAgICAgcmV0dXJu IGZhc3luY19oZWxwZXIoZmQsIGZpbGUsIG9uLCAmbWRwcy5hc3luY19xdWV1 ZSk7Cit9CisKK3N0YXRpYyBpbnQgbWRwc19taXNjX3JlbGVhc2Uoc3RydWN0 IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJZmFzeW5j X2hlbHBlcigtMSwgZmlsZSwgMCwgJm1kcHMuYXN5bmNfcXVldWUpOworCisJ YXRvbWljX2luYygmbWRwc19hdmFpbGFibGUpOyAvKiByZWxlYXNlIHRoZSBk ZXZpY2UgKi8KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVj dCBmaWxlX29wZXJhdGlvbnMgbWRwc19taXNjX2ZvcHMgPSB7CisJLm93bmVy ICAgPSBUSElTX01PRFVMRSwKKwkubGxzZWVrICA9IG5vX2xsc2VlaywKKwku cmVhZCAgICA9IG1kcHNfbWlzY19yZWFkLAorCS5vcGVuICAgID0gbWRwc19t aXNjX29wZW4sCisJLnJlbGVhc2UgPSBtZHBzX21pc2NfcmVsZWFzZSwKKwku cG9sbCAgICA9IG1kcHNfbWlzY19wb2xsLAorCS5mYXN5bmMgID0gbWRwc19t aXNjX2Zhc3luYywKK307CisKK3N0YXRpYyBzdHJ1Y3QgbWlzY2RldmljZSBt ZHBzX21pc2NfZGV2aWNlID0geworCS5taW5vciAgID0gTUlTQ19EWU5BTUlD X01JTk9SLAorCS5uYW1lICAgID0gImFjY2VsIiwKKwkuZm9wcyAgICA9ICZt ZHBzX21pc2NfZm9wcywKK307CisKK3N0YXRpYyBhY3BpX3N0YXR1cworbWRw c19nZXRfcmVzb3VyY2Uoc3RydWN0IGFjcGlfcmVzb3VyY2UgKnJlc291cmNl LCB2b2lkICpjb250ZXh0KQoreworCWlmIChyZXNvdXJjZS0+dHlwZSA9PSBB Q1BJX1JFU09VUkNFX1RZUEVfRVhURU5ERURfSVJRKSB7CisJCXN0cnVjdCBh Y3BpX3Jlc291cmNlX2V4dGVuZGVkX2lycSogaXJxOworCQl1MzIqIGRldmlj ZV9pcnEgPSBjb250ZXh0OworCisJCWlycSA9ICZyZXNvdXJjZS0+ZGF0YS5l eHRlbmRlZF9pcnE7CisJCSpkZXZpY2VfaXJxID0gaXJxLT5pbnRlcnJ1cHRz WzBdOworCX0KKworCXJldHVybiBBRV9PSzsKK30KKworc3RhdGljIHZvaWQg bWRwc19lbnVtX3Jlc291cmNlcyhzdHJ1Y3QgYWNwaV9kZXZpY2UgKmRldmlj ZSkKK3sKKwlhY3BpX3N0YXR1cyBzdGF0dXM7CisKKwlzdGF0dXMgPSBhY3Bp X3dhbGtfcmVzb3VyY2VzKGRldmljZS0+aGFuZGxlLCBNRVRIT0RfTkFNRV9f Q1JTLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWRwc19nZXRf cmVzb3VyY2UsICZtZHBzLmlycSk7CisJaWYgKEFDUElfRkFJTFVSRShzdGF0 dXMpKQorCQlwcmludGsoS0VSTl9ERUJVRyAibWRwczogRXJyb3IgZ2V0dGlu ZyByZXNvdXJjZXNcbiIpOworfQorCitzdGF0aWMgaW50IG1kcHNfYWRkKHN0 cnVjdCBhY3BpX2RldmljZSAqZGV2aWNlKQoreworCXVuc2lnbmVkIGxvbmcg dmFsOworCWludCByZXQ7CisKKwlpZiAoIWRldmljZSkKKwkJcmV0dXJuIC1F SU5WQUw7CisKKwltZHBzLmRldmljZSA9IGRldmljZTsKKwlzdHJjcHkoYWNw aV9kZXZpY2VfbmFtZShkZXZpY2UpLCBEUklWRVJfTkFNRSk7CisJc3RyY3B5 KGFjcGlfZGV2aWNlX2NsYXNzKGRldmljZSksIEFDUElfTURQU19DTEFTUyk7 CisJYWNwaV9kcml2ZXJfZGF0YShkZXZpY2UpID0gJm1kcHM7CisKKwltZHBz X0FMUkQoZGV2aWNlLT5oYW5kbGUsIE1EUFNfV0hPX0FNX0ksICZ2YWwpOwor CWlmICh2YWwgIT0gTURQU19JRCkgeworCQlwcmludGsoS0VSTl9JTkZPICJt ZHBzOiBBY2NlbGVyb21ldGVyIGNoaXAgbm90IExJUzNMVjAyRHtMLFF9XG4i KTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJbWRwc19lbnVtX3Jlc291 cmNlcyhkZXZpY2UpOyAvKiBvYnRhaW4gSVJRIG51bWVyIG9mIG91ciBkZXZp Y2UgZnJvbSBBQ1BJICovCisJbWRwc19hZGRfZnMoZGV2aWNlKTsKKwltZHBz X3Jlc3VtZShkZXZpY2UsIDMpOworCisJaWYgKGpveXN0aWNrKQorCQltZHBz X2pveXN0aWNrX2VuYWJsZSgpOworCisJaWYgKHBvd2VyX29mZikgLyogc2Vl IGlmIHVzZXIgd2FudGVkIHRvIHBvd2VyIG9mZiB0aGUgZGV2aWNlIG9uIGxv YWQgKi8KKwkJbWRwc19wb3dlcm9mZihtZHBzLmRldmljZS0+aGFuZGxlKTsK KworCWlmIChtZHBzLmlycSkgeworCQlyZXQgPSByZXF1ZXN0X2lycShtZHBz LmlycSwgbWRwc19pcnEsIDAsICJtZHBzIiwgbWRwc19pcnEpOworCQlpZiAo cmV0KSB7CisJCQlwcmludGsoS0VSTl9JTkZPICJtZHBzOiAoSVJRJWQpIGFs bG9jYXRpb24gZmFpbGVkXG4iLCBtZHBzLmlycSk7CisJCQltZHBzLmlycSA9 IDA7CisJCX0gZWxzZSB7CisJCQlyZXQgPSBtaXNjX3JlZ2lzdGVyKCZtZHBz X21pc2NfZGV2aWNlKTsKKwkJCWlmIChyZXQpIHsKKwkJCQlmcmVlX2lycSht ZHBzLmlycSwgbWRwc19pcnEpOworCQkJCW1kcHMuaXJxID0gMDsKKwkJCQlw cmludGsoS0VSTl9FUlIgIm1kcHM6IG1pc2NfcmVnaXN0ZXIgZmFpbGVkXG4i KTsKKwkJCX0KKwkJfQorCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMg aW50IG1kcHNfcmVtb3ZlKHN0cnVjdCBhY3BpX2RldmljZSAqZGV2aWNlLCBp bnQgdHlwZSkKK3sKKwlpZiAoIWRldmljZSkKKwkJcmV0dXJuIC1FSU5WQUw7 CisKKwlpZiAobWRwcy5pcnEpIHsKKwkJbWlzY19kZXJlZ2lzdGVyKCZtZHBz X21pc2NfZGV2aWNlKTsKKwkJZnJlZV9pcnEobWRwcy5pcnEsIG1kcHNfaXJx KTsKKwkJbWRwcy5pcnEgPSAwOworCX0KKworCWlmIChqb3lzdGljaykKKwkJ bWRwc19qb3lzdGlja19kaXNhYmxlKCk7CisKKwlyZXR1cm4gbWRwc19yZW1v dmVfZnMoKTsKK30KKworc3RhdGljIHZvaWQgbWRwc19jYWxpYnJhdGVfam95 c3RpY2sodm9pZCkKK3sKKwlpbnQgeCwgeTsKKwltZHBzX2dldF94eShtZHBz LmRldmljZS0+aGFuZGxlLCAmeCwgJnkpOworCisJbWRwcy54Y2FsaWIgPSB4 OworCW1kcHMueWNhbGliID0geTsKK30KKworc3RhdGljIGludCBtZHBzX2pv eXN0aWNrX29wZW4oc3RydWN0IGlucHV0X2RldiAqZGV2KQoreworCW1kcHMu a3RocmVhZCA9IGt0aHJlYWRfcnVuKG1kcHNfam95c3RpY2tfa3RocmVhZCwg TlVMTCwgImttZHBzIik7CisJaWYgKElTX0VSUihtZHBzLmt0aHJlYWQpKQor CQlyZXR1cm4gUFRSX0VSUihtZHBzLmt0aHJlYWQpOworCisJcmV0dXJuIDA7 Cit9CisKK3N0YXRpYyB2b2lkIG1kcHNfam95c3RpY2tfY2xvc2Uoc3RydWN0 IGlucHV0X2RldiAqZGV2KQoreworCWt0aHJlYWRfc3RvcChtZHBzLmt0aHJl YWQpOworfQorCitzdGF0aWMgdm9pZCBtZHBzX2pveXN0aWNrX2VuYWJsZSh2 b2lkKQoreworCWlmIChtZHBzLmlkZXYpCisJCXJldHVybjsKKworCW1kcHMu aWRldiA9IGlucHV0X2FsbG9jYXRlX2RldmljZSgpOworCWlmICghbWRwcy5p ZGV2KQorCQlyZXR1cm47CisKKwltZHBzX2NhbGlicmF0ZV9qb3lzdGljaygp OworCisJbWRwcy5pZGV2LT5uYW1lICAgICAgID0gIkhQIE1vYmlsZSBEYXRh IFByb3RlY3Rpb24gU3lzdGVtIjsKKwltZHBzLmlkZXYtPmlkLmJ1c3R5cGUg PSBCVVNfSE9TVDsKKwltZHBzLmlkZXYtPmlkLnZlbmRvciAgPSAwOworCisJ c2V0X2JpdChFVl9BQlMsIG1kcHMuaWRldi0+ZXZiaXQpOworCXNldF9iaXQo RVZfS0VZLCBtZHBzLmlkZXYtPmV2Yml0KTsKKworCWlucHV0X3NldF9hYnNf cGFyYW1zKG1kcHMuaWRldiwgQUJTX1gsIC0yMDQ4LCAyMDQ4LCAzLCAwKTsK KwlpbnB1dF9zZXRfYWJzX3BhcmFtcyhtZHBzLmlkZXYsIEFCU19ZLCAtMjA0 OCwgMjA0OCwgMywgMCk7CisKKwltZHBzLmlkZXYtPm9wZW4gID0gbWRwc19q b3lzdGlja19vcGVuOworCW1kcHMuaWRldi0+Y2xvc2UgPSBtZHBzX2pveXN0 aWNrX2Nsb3NlOworCisJaWYgKGlucHV0X3JlZ2lzdGVyX2RldmljZShtZHBz LmlkZXYpKSB7CisJCWlucHV0X2ZyZWVfZGV2aWNlKG1kcHMuaWRldik7CisJ CW1kcHMuaWRldiA9IE5VTEw7CisJfQorfQorCitzdGF0aWMgdm9pZCBtZHBz X2pveXN0aWNrX2Rpc2FibGUodm9pZCkKK3sKKwlpZiAoIW1kcHMuaWRldikK KwkJcmV0dXJuOworCisJaW5wdXRfdW5yZWdpc3Rlcl9kZXZpY2UobWRwcy5p ZGV2KTsKKwltZHBzLmlkZXYgPSBOVUxMOworfQorCisvKiBTeXNmcyBzdHVm ZiAqLworc3RhdGljIHNzaXplX3QgbWRwc19wb3NpdGlvbl9zaG93KHN0cnVj dCBkZXZpY2UgKmRldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVm KQoreworCWludCB4LCB5OworCW1kcHNfZ2V0X3h5KG1kcHMuZGV2aWNlLT5o YW5kbGUsICZ4LCAmeSk7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiKCVkLCVk KVxuIiwgeCwgeSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IG1kcHNfcG9zaXRp b24zZF9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRl ICphdHRyLCBjaGFyICpidWYpCit7CisJdW5zaWduZWQgbG9uZyB6X2xvLCB6 X2hpOworCWludCB4LCB5LCB6OworCisJbWRwc19nZXRfeHkobWRwcy5kZXZp Y2UtPmhhbmRsZSwgJngsICZ5KTsKKworCW1kcHNfQUxSRChtZHBzLmRldmlj ZS0+aGFuZGxlLCBNRFBTX09VVFpfTCwgJnpfbG8pOworCW1kcHNfQUxSRCht ZHBzLmRldmljZS0+aGFuZGxlLCBNRFBTX09VVFpfSCwgJnpfaGkpOworCXog PSBtZHBzX2dsdWVfYnl0ZXMoel9oaSwgel9sbyk7CisKKwlyZXR1cm4gc3By aW50ZihidWYsICIoJWQsJWQsJWQpXG4iLCB4LCB5LCB6KTsKK30KKworc3Rh dGljIHNzaXplX3QgbWRwc19zdGF0ZV9zaG93KHN0cnVjdCBkZXZpY2UgKmRl diwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZGV2 aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXJldHVybiBz cHJpbnRmKGJ1ZiwgIiVzXG4iLCAobWRwcy5pc19vbiA/ICJvbiIgOiAib2Zm IikpOworfQorCitzdGF0aWMgc3NpemVfdCBtZHBzX2pveXN0aWNrX3Nob3co c3RydWN0IGRldmljZSAqZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpi dWYpCit7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJXNcbiIsIChqb3lzdGlj ayA/ICJlbmFibGVkIiA6ICJkaXNhYmxlZCIpKTsKK30KKworc3RhdGljIHNz aXplX3QgbWRwc19jYWxpYnJhdGVfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBk ZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJcmV0dXJu IHNwcmludGYoYnVmLCAiKCVkLCVkKVxuIiwgbWRwcy54Y2FsaWIsIG1kcHMu eWNhbGliKTsKK30KKworc3RhdGljIHNzaXplX3QgbWRwc19jYWxpYnJhdGVf c3RvcmUoc3RydWN0IGRldmljZSAqZGV2LAorICAgICAgICAgICAgICAgICAg IHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjb25zdCBjaGFyICpi dWYsIHNpemVfdCBjb3VudCkKK3sKKwltZHBzX2NhbGlicmF0ZV9qb3lzdGlj aygpOworCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIHNzaXplX3QgbWRw c19yYXRlX3Nob3coc3RydWN0IGRldmljZSAqZGV2LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0 dHIsIGNoYXIgKmJ1ZikKK3sKKwl1bnNpZ25lZCBsb25nIGN0cmw7CisJaW50 IHJhdGUgPSAwOworCisJbWRwc19BTFJEKG1kcHMuZGV2aWNlLT5oYW5kbGUs IE1EUFNfQ1RSTF9SRUcxLCAmY3RybCk7CisKKwkvKiBnZXQgdGhlIHNhbXBs aW5nIHJhdGUgb2YgdGhlIGFjY2VsZXJvbWV0ZXIgaW4gSFogKi8KKwlzd2l0 Y2ggKGN0cmwgJiAweDMwKQorCXsKKwljYXNlIDB4MDA6CisJCXJhdGUgPSA0 MDsKKwkJYnJlYWs7CisKKwljYXNlIDB4MTA6CisJCXJhdGUgPSAxNjA7CisJ CWJyZWFrOworCisJY2FzZSAweDIwOgorCQlyYXRlID0gNjQwOworCQlicmVh azsKKworCWNhc2UgMHgzMDoKKwkJcmF0ZSA9IDI1NjA7CisJCWJyZWFrOwor CX0KKworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCByYXRlKTsKK30K Kworc3RhdGljIHNzaXplX3QgbWRwc19zdGF0ZV9zdG9yZShzdHJ1Y3QgZGV2 aWNlICpkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3Qg Y291bnQpCit7CisJaW50IHN0YXRlOworCWlmIChzc2NhbmYoYnVmLCAiJWQi LCAmc3RhdGUpICE9IDEgfHwgKHN0YXRlICE9IDEgJiYgc3RhdGUgIT0gMCkp CisJCXJldHVybiAtRUlOVkFMOworCisJbWRwcy5pc19vbiA9IHN0YXRlOwor CisJaWYgKG1kcHMuaXNfb24pCisJCW1kcHNfcG93ZXJvbihtZHBzLmRldmlj ZS0+aGFuZGxlKTsKKwllbHNlCisJCW1kcHNfcG93ZXJvZmYobWRwcy5kZXZp Y2UtPmhhbmRsZSk7CisKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBE RVZJQ0VfQVRUUihwb3NpdGlvbiwgU19JUlVHTywgbWRwc19wb3NpdGlvbl9z aG93LCBOVUxMKTsKK3N0YXRpYyBERVZJQ0VfQVRUUihwb3NpdGlvbjNkLCBT X0lSVUdPLCBtZHBzX3Bvc2l0aW9uM2Rfc2hvdywgTlVMTCk7CitzdGF0aWMg REVWSUNFX0FUVFIoY2FsaWJyYXRlLCBTX0lSVUdPfFNfSVdVU1IsIG1kcHNf Y2FsaWJyYXRlX3Nob3csIG1kcHNfY2FsaWJyYXRlX3N0b3JlKTsKK3N0YXRp YyBERVZJQ0VfQVRUUihyYXRlLCBTX0lSVUdPLCBtZHBzX3JhdGVfc2hvdywg TlVMTCk7CitzdGF0aWMgREVWSUNFX0FUVFIoc3RhdGUsIFNfSVJVR098U19J V1VTUiwgbWRwc19zdGF0ZV9zaG93LCBtZHBzX3N0YXRlX3N0b3JlKTsKK3N0 YXRpYyBERVZJQ0VfQVRUUihqb3lzdGljaywgU19JUlVHTywgbWRwc19qb3lz dGlja19zaG93LCBOVUxMKTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUg Km1kcHNfYXR0cmlidXRlc1tdID0geworCSZkZXZfYXR0cl9wb3NpdGlvbi5h dHRyLAorCSZkZXZfYXR0cl9wb3NpdGlvbjNkLmF0dHIsCisJJmRldl9hdHRy X2NhbGlicmF0ZS5hdHRyLAorCSZkZXZfYXR0cl9yYXRlLmF0dHIsCisJJmRl dl9hdHRyX3N0YXRlLmF0dHIsCisJJmRldl9hdHRyX2pveXN0aWNrLmF0dHIs CisJTlVMTAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAg bWRwc19hdHRyaWJ1dGVfZ3JvdXAgPSB7CisJLmF0dHJzID0gbWRwc19hdHRy aWJ1dGVzCit9OworCitzdGF0aWMgaW50IG1kcHNfYWRkX2ZzKHN0cnVjdCBh Y3BpX2RldmljZSAqZGV2aWNlKQoreworCW1kcHMucGRldiA9IHBsYXRmb3Jt X2RldmljZV9yZWdpc3Rlcl9zaW1wbGUoRFJJVkVSX05BTUUsIC0xLCBOVUxM LCAwKTsKKwlpZiAoSVNfRVJSKG1kcHMucGRldikpCisJCXJldHVybiBQVFJf RVJSKG1kcHMucGRldik7CisKKwlyZXR1cm4gc3lzZnNfY3JlYXRlX2dyb3Vw KCZtZHBzLnBkZXYtPmRldi5rb2JqLCAmbWRwc19hdHRyaWJ1dGVfZ3JvdXAp OworfQorCitzdGF0aWMgaW50IG1kcHNfcmVtb3ZlX2ZzKHZvaWQpCit7CisJ c3lzZnNfcmVtb3ZlX2dyb3VwKCZtZHBzLnBkZXYtPmRldi5rb2JqLCAmbWRw c19hdHRyaWJ1dGVfZ3JvdXApOworCXBsYXRmb3JtX2RldmljZV91bnJlZ2lz dGVyKG1kcHMucGRldik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQg X19pbml0IG1kcHNfaW5pdF9tb2R1bGUodm9pZCkKK3sKKwlpbnQgcmV0Owor CWFjcGlfc3RhdHVzIHN0YXR1czsKKwlhY3BpX2hhbmRsZSBoYW5kbGUgPSAw OworCisJaWYgKGFjcGlfZGlzYWJsZWQpCisJCXJldHVybiAtRU5PREVWOwor CisJLyogZGV2aWNlIGRldGVjdGlvbjogc2VlIGlmIG91ciBkZXZpY2UgaXMg cHJlc2VudCBpbiBBQ1BJICovCisJc3RhdHVzID0gYWNwaV9nZXRfaGFuZGxl KE5VTEwsICJcXF9TQi5DMDAyLkFDRUwiLCAmaGFuZGxlKTsKKwlpZiAoQUNQ SV9GQUlMVVJFKHN0YXR1cykpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJtZHBz OiBIUCBNb2JpbGUgRGF0YSBQcm90ZWN0aW9uIFN5c3RlbSAzRCBkZXZpY2Ug bm90IGZvdW5kXG4iKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJcmV0 ID0gYWNwaV9idXNfcmVnaXN0ZXJfZHJpdmVyKCZtZHBzX2RyaXZlcik7CisJ aWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisJCisJcHJpbnRrKEtFUk5f SU5GTyAibWRwczogKCIgVkVSU0lPTiAiKSBsb2FkZWQuXG4iKTsKKworCXJl dHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgbWRwc19leGl0X21v ZHVsZSh2b2lkKQoreworCWFjcGlfYnVzX3VucmVnaXN0ZXJfZHJpdmVyKCZt ZHBzX2RyaXZlcik7Cit9CisKK01PRFVMRV9ERVNDUklQVElPTigiSFAgdGhy ZWUtYXhpcyBkaWdpdGFsIGFjY2VsZXJvbWV0ZXIgQUNQSSBkcml2ZXIiKTsK K01PRFVMRV9BVVRIT1IoIllhbiBCdXJtYW4gKHlhbl85NTJAaG90bWFpbC5j b20pIik7CitNT0RVTEVfVkVSU0lPTihWRVJTSU9OKTsKK01PRFVMRV9MSUNF TlNFKCJHUEwiKTsKKworbW9kdWxlX2luaXQobWRwc19pbml0X21vZHVsZSk7 Cittb2R1bGVfZXhpdChtZHBzX2V4aXRfbW9kdWxlKTsK ------=_NextPart_000_36fe_4e00_5cb-- - 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/