Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Thu, 1 Mar 2001 16:35:52 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Thu, 1 Mar 2001 16:35:43 -0500 Received: from brutus.conectiva.com.br ([200.250.58.146]:29423 "HELO burns.conectiva") by vger.kernel.org with SMTP id ; Thu, 1 Mar 2001 16:35:28 -0500 Date: Thu, 1 Mar 2001 19:37:46 -0300 (EST) From: Fernando Fuganti To: Alan Cox cc: Linux Kernel Subject: ZF MachZ Watchdog driver Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="663313-242575627-983485804=:991" Content-ID: Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --663313-242575627-983485804=:991 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: Hi ! This is the driver for the builtin watchdog device on the embedded MachZ processor made by ZFmicro. The patch is against 2.2.19pre16 and the driver is based on sbc60xxwdt.c. Fernando Fuganti --663313-242575627-983485804=:991 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="zfmachzwdt.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="zfmachzwdt.patch" ZGlmZiAtTnJ1IGxpbnV4LTIuMi4xOXByZTE2Lm9yaWcvRG9jdW1lbnRhdGlv bi9Db25maWd1cmUuaGVscCBsaW51eC0yLjIuMTlwcmUxNi9Eb2N1bWVudGF0 aW9uL0NvbmZpZ3VyZS5oZWxwDQotLS0gbGludXgtMi4yLjE5cHJlMTYub3Jp Zy9Eb2N1bWVudGF0aW9uL0NvbmZpZ3VyZS5oZWxwCVRodSBNYXIgIDEgMTI6 NDQ6MDkgMjAwMQ0KKysrIGxpbnV4LTIuMi4xOXByZTE2L0RvY3VtZW50YXRp b24vQ29uZmlndXJlLmhlbHAJVGh1IE1hciAgMSAxNzoyMTozNiAyMDAxDQpA QCAtMTA1MzUsNiArMTA1MzUsMTkgQEANCiAgWW91IGNhbiBjb21waWxlIHRo aXMgZHJpdmVyIGRpcmVjdGx5IGludG8gdGhlIGtlcm5lbCwgb3IgdXNlDQog IGl0IGFzIGEgbW9kdWxlLiAgVGhlIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBz YmM2MHh4d2R0Lm8uDQogDQorWkYgTWFjaFogV2F0Y2hkb2cNCitDT05GSUdf TUFDSFpfV0RUDQorICBJZiB5b3UgYXJlIHVzaW5nIGEgWkYgTWljcm8gTWFj aFogcHJvY2Vzc29yLCBzYXkgWSBoZXJlLCBvdGhlcndpc2UgTi4NCisgIFRo aXMgaXMgdGhlIGRyaXZlciBmb3IgdGhlIHdhdGNoZG9nIHRpbWVyIGJ1aWx0 aW4gb24gdGhhdCBwcm9jZXNzb3INCisgIHVzaW5nIFpGLUxvZ2ljIGludGVy ZmFjZS4gVGhpcyB3YXRjaGRvZyBzaW1wbHkgd2F0Y2hlcyB5b3VyIGtlcm5l bCB0byANCisgIG1ha2Ugc3VyZSBpdCBkb2Vzbid0IGZyZWV6ZSwgYW5kIGlm IGl0IGRvZXMsIGl0IHJlYm9vdHMgeW91ciBjb21wdXRlciANCisgIGFmdGVy IGEgY2VydGFpbiBhbW91bnQgb2YgdGltZS4gDQorDQorICBUaGlzIGRyaXZl ciBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZSAoID0gY29kZSB3aGlj aCBjYW4gYmUNCisgIGluc2VydGVkIGluIGFuZCByZW1vdmVkIGZyb20gdGhl IHJ1bm5pbmcga2VybmVsIHdoZW5ldmVyIHlvdSB3YW50KS4NCisgIFRoZSBt b2R1bGUgaXMgY2FsbGVkIG1hY2h6d2Quby4gSWYgeW91IHdhbnQgdG8gY29t cGlsZSBpdCBhcyBhIG1vZHVsZSwNCisgIHNheSBNIGhlcmUgYW5kIHJlYWQg RG9jdW1lbnRhdGlvbi9tb2R1bGVzLnR4dC4NCisNCiBDT05GSUdfTUlDUk9D T0RFDQogICAvZGV2L2NwdS9taWNyb2NvZGUgLSBJbnRlbCBJQTMyIENQVSBt aWNyb2NvZGUgc3VwcG9ydA0KIA0KZGlmZiAtTnJ1IGxpbnV4LTIuMi4xOXBy ZTE2Lm9yaWcvZHJpdmVycy9jaGFyL0NvbmZpZy5pbiBsaW51eC0yLjIuMTlw cmUxNi9kcml2ZXJzL2NoYXIvQ29uZmlnLmluDQotLS0gbGludXgtMi4yLjE5 cHJlMTYub3JpZy9kcml2ZXJzL2NoYXIvQ29uZmlnLmluCVRodSBNYXIgIDEg MTI6NDQ6MTEgMjAwMQ0KKysrIGxpbnV4LTIuMi4xOXByZTE2L2RyaXZlcnMv Y2hhci9Db25maWcuaW4JVGh1IE1hciAgMSAxNzoyMTozNiAyMDAxDQpAQCAt MTE0LDYgKzExNCw3IEBADQogICAgICBmaQ0KICAgZmkNCiAgIHRyaXN0YXRl ICcgICBXRFQgUENJIFdhdGNoZG9nIHRpbWVyJyBDT05GSUdfV0RUUENJDQor ICB0cmlzdGF0ZSAnICAgWkYgTWFjaFogV2F0Y2hkb2cnIENPTkZJR19NQUNI Wl9XRFQNCiAgIGVuZG1lbnUNCiBmaQ0KIA0KZGlmZiAtTnJ1IGxpbnV4LTIu Mi4xOXByZTE2Lm9yaWcvZHJpdmVycy9jaGFyL01ha2VmaWxlIGxpbnV4LTIu Mi4xOXByZTE2L2RyaXZlcnMvY2hhci9NYWtlZmlsZQ0KLS0tIGxpbnV4LTIu Mi4xOXByZTE2Lm9yaWcvZHJpdmVycy9jaGFyL01ha2VmaWxlCVRodSBNYXIg IDEgMTI6NDQ6MTEgMjAwMQ0KKysrIGxpbnV4LTIuMi4xOXByZTE2L2RyaXZl cnMvY2hhci9NYWtlZmlsZQlUaHUgTWFyICAxIDE3OjIxOjM2IDIwMDENCkBA IC0zNjcsNiArMzY3LDE0IEBADQogICBlbmRpZg0KIGVuZGlmDQogDQoraWZl cSAoJChDT05GSUdfTUFDSFpfV0RUKSx5KQ0KK09fT0JKUyArPSBtYWNoendk Lm8NCitlbHNlDQorICBpZmVxICgkKENPTkZJR19NQUNIWl9XRFQpLG0pDQor ICAgIE1fT0JKUyArPSBtYWNoendkLm8NCisgIGVuZGlmDQorZW5kaWYNCisN CiBpZmVxICgkKENPTkZJR19SVEMpLHkpDQogT19PQkpTICs9IHJ0Yy5vDQog ZW5kaWYNCmRpZmYgLU5ydSBsaW51eC0yLjIuMTlwcmUxNi5vcmlnL2RyaXZl cnMvY2hhci9tYWNoendkLmMgbGludXgtMi4yLjE5cHJlMTYvZHJpdmVycy9j aGFyL21hY2h6d2QuYw0KLS0tIGxpbnV4LTIuMi4xOXByZTE2Lm9yaWcvZHJp dmVycy9jaGFyL21hY2h6d2QuYwlXZWQgRGVjIDMxIDIxOjAwOjAwIDE5NjkN CisrKyBsaW51eC0yLjIuMTlwcmUxNi9kcml2ZXJzL2NoYXIvbWFjaHp3ZC5j CVRodSBNYXIgIDEgMTc6MjE6MzYgMjAwMQ0KQEAgLTAsMCArMSw1NDUgQEAN CisvKg0KKyAqICBNYWNoWiBaRi1Mb2dpYyBXYXRjaGRvZyBUaW1lciBkcml2 ZXIgZm9yIExpbnV4DQorICogIA0KKyAqIA0KKyAqICBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yDQorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQorICogIGFzIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv bg0KKyAqICAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLg0KKyAqDQorICogIFRoZSBhdXRob3IgZG9l cyBOT1QgYWRtaXQgbGlhYmlsaXR5IG5vciBwcm92aWRlIHdhcnJhbnR5IGZv cg0KKyAqICBhbnkgb2YgdGhpcyBzb2Z0d2FyZS4gVGhpcyBtYXRlcmlhbCBp cyBwcm92aWRlZCAiQVMtSVMiIGluDQorICogIHRoZSBob3BlIHRoYXQgaXQg bWF5IGJlIHVzZWZ1bCBmb3Igb3RoZXJzLg0KKyAqDQorICogIEF1dGhvcjog RmVybmFuZG8gRnVnYW50aSA8ZnVnYW50aUBjb25lY3RpdmEuY29tLmJyPg0K KyAqDQorICogIEJhc2VkIG9uIHNiYzYweHh3ZHQuYyBieSBKYWtvYiBPZXN0 ZXJnYWFyZA0KKyAqIA0KKyAqDQorICogIFdlIGhhdmUgdHdvIHRpbWVycyAo d2QjMSwgd2QjMikgZHJpdmVuIGJ5IGEgMzIgS0h6IGNsb2NrIHdpdGggdGhl IA0KKyAqICBmb2xsb3dpbmcgcGVyaW9kczoNCisgKiAgICAgIHdkIzEgLSAy IHNlY29uZHM7DQorICogICAgICB3ZCMyIC0gNy4yIG1zOw0KKyAqICBBZnRl ciB0aGUgZXhwaXJhdGlvbiBvZiB3ZCMxLCBpdCBjYW4gZ2VuZXJhdGUgYSBO TUksIFNDSSwgU01JLCBvciANCisgKiAgYSBzeXN0ZW0gUkVTRVQgYW5kIGl0 IHN0YXJ0cyB3ZCMyIHRoYXQgdW5jb25kaXRpb25hbHkgd2lsbCBSRVNFVCAN CisgKiAgdGhlIHN5c3RlbSB3aGVuIHRoZSBjb3VudGVyIHJlYWNoZXMgemVy by4NCisgKg0KKyAqLw0KKw0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4N CisjaW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPg0KKyNpbmNsdWRlIDxsaW51 eC90eXBlcy5oPg0KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPg0KKyNpbmNs dWRlIDxsaW51eC9rZXJuZWwuaD4NCisjaW5jbHVkZSA8bGludXgvdGltZXIu aD4NCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4NCisjaW5jbHVkZSA8bGlu dXgvbWlzY2RldmljZS5oPg0KKyNpbmNsdWRlIDxsaW51eC93YXRjaGRvZy5o Pg0KKyNpbmNsdWRlIDxsaW51eC9tYWxsb2MuaD4NCisjaW5jbHVkZSA8bGlu dXgvaW9wb3J0Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2ZjbnRsLmg+DQorI2lu Y2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+DQorI2luY2x1ZGUgPGFzbS9pby5o Pg0KKyNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPg0KKyNpbmNsdWRlIDxhc20v c3lzdGVtLmg+DQorI2luY2x1ZGUgPGxpbnV4L25vdGlmaWVyLmg+DQorI2lu Y2x1ZGUgPGxpbnV4L3JlYm9vdC5oPg0KKyNpbmNsdWRlIDxsaW51eC9pbml0 Lmg+DQorDQorDQorLyogcG9ydHMgKi8NCisjZGVmaW5lIFpGX0lPQkFTRQkw eDIxOA0KKyNkZWZpbmUgSU5ERVgJCTB4MjE4DQorI2RlZmluZSBEQVRBX0IJ CTB4MjE5DQorI2RlZmluZSBEQVRBX1cJCTB4MjFBDQorI2RlZmluZSBEQVRB X0QJCTB4MjFBDQorDQorLyogaW5kZXhlcyAqLwkJCS8qIHNpemUgKi8NCisj ZGVmaW5lIFpGTF9WRVJTSU9OCTB4MDIJLyogMTYgICAqLw0KKyNkZWZpbmUg Q09OVFJPTCAJMHgxMAkvKiAxNiAgICovCQ0KKyNkZWZpbmUgU1RBVFVTCQkw eDEyCS8qIDggICAgKi8NCisjZGVmaW5lIENPVU5URVJfMQkweDBDCS8qIDE2 ICAgKi8NCisjZGVmaW5lIENPVU5URVJfMgkweDBFCS8qIDggICAgKi8NCisj ZGVmaW5lIFBVTFNFX0xFTgkweDBGCS8qIDggICAgKi8NCisNCisvKiBjb250 cm9scyAqLw0KKyNkZWZpbmUgRU5BQkxFX1dEMQkweDAwMDENCisjZGVmaW5l IEVOQUJMRV9XRDIJMHgwMDAyDQorI2RlZmluZSBSRVNFVF9XRDEJMHgwMDEw DQorI2RlZmluZSBSRVNFVF9XRDIJMHgwMDIwDQorI2RlZmluZSBHRU5fU0NJ CQkweDAxMDANCisjZGVmaW5lIEdFTl9OTUkJCTB4MDIwMA0KKyNkZWZpbmUg R0VOX1NNSQkJMHgwNDAwDQorI2RlZmluZSBHRU5fUkVTRVQJMHgwODAwDQor DQorDQorLyogdXRpbGl0aWVzICovDQorDQorI2RlZmluZSBXRDEJMA0KKyNk ZWZpbmUgV0QyCTENCisNCisjZGVmaW5lIHpmX3dyaXRldyhwb3J0LCBkYXRh KSAgeyBvdXRiKHBvcnQsIElOREVYKTsgb3V0dyhkYXRhLCBEQVRBX1cpOyB9 DQorI2RlZmluZSB6Zl93cml0ZWIocG9ydCwgZGF0YSkgIHsgb3V0Yihwb3J0 LCBJTkRFWCk7IG91dGIoZGF0YSwgREFUQV9CKTsgfQ0KKyNkZWZpbmUgemZf Z2V0X1pGTF92ZXJzaW9uKCkgICB6Zl9yZWFkdyhaRkxfVkVSU0lPTikNCisN CisNCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgemZfcmVhZHcodW5zaWduZWQg Y2hhciBwb3J0KQ0KK3sNCisJb3V0Yihwb3J0LCBJTkRFWCk7DQorCXJldHVy biBpbncoREFUQV9XKTsNCit9DQorDQorc3RhdGljIHVuc2lnbmVkIHNob3J0 IHpmX3JlYWRiKHVuc2lnbmVkIGNoYXIgcG9ydCkNCit7DQorCW91dGIocG9y dCwgSU5ERVgpOw0KKwlyZXR1cm4gaW5iKERBVEFfQik7DQorfQ0KKw0KKw0K K01PRFVMRV9BVVRIT1IoIkZlcm5hbmRvIEZ1Z2FudGkgPGZ1Z2FudGlAY29u ZWN0aXZhLmNvbS5icj4iKTsNCitNT0RVTEVfREVTQ1JJUFRJT04oIk1hY2ha IFpGLUxvZ2ljIFdhdGNoZG9nIGRyaXZlciIpOw0KK01PRFVMRV9QQVJNKGFj dGlvbiwgImkiKTsNCitNT0RVTEVfUEFSTV9ERVNDKGFjdGlvbiwgImFmdGVy IHdhdGNoZG9nIHJlc2V0cywgZ2VuZXJhdGU6IDAgPSBSRVNFVCgqKSAgMSA9 IFNNSSAgMiA9IE5NSSAgMyA9IFNDSSIpOw0KKw0KKyNkZWZpbmUgUEZYICJt YWNoendkIg0KKw0KK3N0YXRpYyBzdHJ1Y3Qgd2F0Y2hkb2dfaW5mbyB6Zl9p bmZvID0gew0KKwlvcHRpb25zOgkJV0RJT0ZfS0VFUEFMSVZFUElORywgDQor CWZpcm13YXJlX3ZlcnNpb246CTEsIA0KKwlpZGVudGl0eToJCSJaRi1Mb2dp YyB3YXRjaGRvZyINCit9Ow0KKw0KKw0KKy8qDQorICogYWN0aW9uIHJlZmVy cyB0byBhY3Rpb24gdGFrZW4gd2hlbiB3YXRjaGRvZyByZXNldHMNCisgKiAw ID0gR0VOX1JFU0VUDQorICogMSA9IEdFTl9TTUkNCisgKiAyID0gR0VOX05N SQ0KKyAqIDMgPSBHRU5fU0NJDQorICogZGVmYXVsdHMgdG8gR0VOX1JFU0VU ICgwKQ0KKyAqLw0KK3N0YXRpYyBpbnQgYWN0aW9uID0gMDsNCitzdGF0aWMg aW50IHpmX2FjdGlvbiA9IEdFTl9SRVNFVDsNCitzdGF0aWMgaW50IHpmX2lz X29wZW4gPSAwOw0KK3N0YXRpYyBpbnQgemZfZXhwZWN0X2Nsb3NlID0gMDsN CitzdGF0aWMgc3BpbmxvY2tfdCB6Zl9sb2NrOw0KK3N0YXRpYyBzdHJ1Y3Qg dGltZXJfbGlzdCB6Zl90aW1lcjsNCitzdGF0aWMgdW5zaWduZWQgbG9uZyBu ZXh0X2hlYXJ0YmVhdCA9IDA7DQorDQorDQorLyogdGltZW91dCBmb3IgdXNl ciBsYW5kIGhlYXJ0IGJlYXQgKDEwIHNlY29uZHMpICovDQorI2RlZmluZSBa Rl9VU0VSX1RJTUVPIChIWioxMCkNCisNCisvKiB0aW1lb3V0IGZvciBoYXJk d2FyZSB3YXRjaGRvZyAofjUwMG1zKSAqLw0KKyNkZWZpbmUgWkZfSFdfVElN RU8gKEhaLzIpDQorDQorLyogbnVtYmVyIG9mIHRpY2tzIG9uIFdEIzEgKGRy aXZlbiBieSBhIDMyS0h6IGNsb2NrLCAycykgKi8NCisjZGVmaW5lIFpGX0NU SU1FT1VUIDB4ZmZmZg0KKw0KKyNpZm5kZWYgWkZfREVCVUcNCisjCWRlZmlu ZSBkcHJpbnRrKGZvcm1hdCwgYXJncy4uLikNCisjZWxzZQ0KKyMJZGVmaW5l IGRwcmludGsoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoS0VSTl9ERUJVRyBQ RlggIjoiIF9fRlVOQ1RJT05fXyAiOiVkOiAiIGZvcm1hdCwgX19MSU5FX18g LCAjIyBhcmdzKQ0KKyNlbmRpZg0KKw0KKw0KKy8qIFNUQVRVUyByZWdpc3Rl ciBmdW5jdGlvbnMgKi8NCisNCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNo YXIgemZfZ2V0X3N0YXR1cyh2b2lkKQ0KK3sNCisJcmV0dXJuIHpmX3JlYWRi KFNUQVRVUyk7DQorfQ0KKw0KK3N0YXRpYyBpbmxpbmUgdm9pZCB6Zl9zZXRf c3RhdHVzKHVuc2lnbmVkIGNoYXIgbmV3KQ0KK3sNCisJemZfd3JpdGViKFNU QVRVUywgbmV3KTsNCit9DQorDQorDQorLyogQ09OVFJPTCByZWdpc3RlciBm dW5jdGlvbnMgKi8NCisNCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHNob3J0 IHpmX2dldF9jb250cm9sKHZvaWQpDQorew0KKwlyZXR1cm4gemZfcmVhZHco Q09OVFJPTCk7DQorfQ0KKw0KK3N0YXRpYyBpbmxpbmUgdm9pZCB6Zl9zZXRf Y29udHJvbCh1bnNpZ25lZCBzaG9ydCBuZXcpDQorew0KKwl6Zl93cml0ZXco Q09OVFJPTCwgbmV3KTsNCit9DQorDQorDQorLyogV0QjPyBjb3VudGVyIGZ1 bmN0aW9ucyAqLw0KKy8qDQorICoJSnVzdCBnZXQgY3VycmVudCBjb3VudGVy IHZhbHVlDQorICovDQorDQoraW5saW5lIHVuc2lnbmVkIHNob3J0IHpmX2dl dF90aW1lcih1bnNpZ25lZCBjaGFyIG4pDQorew0KKwlzd2l0Y2gobil7DQor CQljYXNlIFdEMToNCisJCQlyZXR1cm4gemZfcmVhZHcoQ09VTlRFUl8xKTsN CisJCWNhc2UgV0QyOg0KKwkJCXJldHVybiB6Zl9yZWFkYihDT1VOVEVSXzIp Ow0KKwkJZGVmYXVsdDoNCisJCQlyZXR1cm4gMDsNCisJfQ0KK30NCisNCisv Kg0KKyAqCUp1c3Qgc2V0IGNvdW50ZXIgdmFsdWUNCisgKi8NCisNCitzdGF0 aWMgaW5saW5lIHZvaWQgemZfc2V0X3RpbWVyKHVuc2lnbmVkIHNob3J0IG5l dywgdW5zaWduZWQgY2hhciBuKQ0KK3sNCisJc3dpdGNoKG4pew0KKwkJY2Fz ZSBXRDE6DQorCQkJemZfd3JpdGV3KENPVU5URVJfMSwgbmV3KTsNCisJCWNh c2UgV0QyOg0KKwkJCXpmX3dyaXRlYihDT1VOVEVSXzIsIG5ldyA+IDB4ZmYg PyAweGZmIDogbmV3KTsNCisJCWRlZmF1bHQ6DQorCQkJcmV0dXJuOw0KKwl9 DQorfQ0KKw0KKy8qDQorICogc3RvcCBoYXJkd2FyZSB0aW1lcg0KKyAqLw0K K3N0YXRpYyB2b2lkIHpmX3RpbWVyX29mZih2b2lkKQ0KK3sNCisJdW5zaWdu ZWQgaW50IGN0cmxfcmVnID0gMDsNCisNCisJLyogc3RvcCBpbnRlcm5hbCBw aW5nICovDQorCWRlbF90aW1lcigmemZfdGltZXIpOw0KKw0KKwkvKiBzdG9w IHdhdGNoZG9nIHRpbWVyICovCQ0KKwljdHJsX3JlZyA9IHpmX2dldF9jb250 cm9sKCk7DQorCWN0cmxfcmVnIHw9IChFTkFCTEVfV0QxfEVOQUJMRV9XRDIp OwkvKiBkaXNhYmxlIHdkMSBhbmQgd2QyICovDQorCWN0cmxfcmVnICY9IH4o RU5BQkxFX1dEMXxFTkFCTEVfV0QyKTsNCisJemZfc2V0X2NvbnRyb2woY3Ry bF9yZWcpOw0KKw0KKwlwcmludGsoUEZYICI6IFdhdGNoZG9nIHRpbWVyIGlz IG5vdyBkaXNhYmxlZFxuIik7DQorfQ0KKw0KKw0KKy8qDQorICogc3RhcnQg aGFyZHdhcmUgdGltZXIgDQorICovDQorc3RhdGljIHZvaWQgemZfdGltZXJf b24odm9pZCkNCit7DQorCXVuc2lnbmVkIGludCBjdHJsX3JlZyA9IDA7DQor DQorCXpmX3dyaXRlYihQVUxTRV9MRU4sIDB4ZmYpOw0KKw0KKwl6Zl9zZXRf dGltZXIoWkZfQ1RJTUVPVVQsIFdEMSk7DQorDQorCS8qIHVzZXIgbGFuZCBw aW5nICovDQorCW5leHRfaGVhcnRiZWF0ID0gamlmZmllcyArIFpGX1VTRVJf VElNRU87DQorDQorCS8qIHN0YXJ0IHRoZSB0aW1lciBmb3IgaW50ZXJuYWwg cGluZyAqLw0KKwl6Zl90aW1lci5leHBpcmVzID0gamlmZmllcyArIFpGX0hX X1RJTUVPOw0KKw0KKwlhZGRfdGltZXIoJnpmX3RpbWVyKTsNCisNCisJLyog c3RhcnQgd2F0Y2hkb2cgdGltZXIgKi8NCisJY3RybF9yZWcgPSB6Zl9nZXRf Y29udHJvbCgpOw0KKwljdHJsX3JlZyB8PSAoRU5BQkxFX1dEMXx6Zl9hY3Rp b24pOw0KKwl6Zl9zZXRfY29udHJvbChjdHJsX3JlZyk7DQorDQorCXByaW50 ayhQRlggIjogV2F0Y2hkb2cgdGltZXIgaXMgbm93IGVuYWJsZWRcbiIpOw0K K30NCisNCisNCitzdGF0aWMgdm9pZCB6Zl9waW5nKHVuc2lnbmVkIGxvbmcg ZGF0YSkNCit7DQorCXVuc2lnbmVkIGludCBjdHJsX3JlZyA9IDA7DQorDQor CXpmX3dyaXRlYihDT1VOVEVSXzIsIDB4ZmYpOw0KKw0KKwlpZih0aW1lX2Jl Zm9yZShqaWZmaWVzLCBuZXh0X2hlYXJ0YmVhdCkpew0KKw0KKwkJZHByaW50 aygidGltZV9iZWZvcmU6ICVsZFxuIiwgbmV4dF9oZWFydGJlYXQgLSBqaWZm aWVzKTsNCisJCQ0KKwkJLyogDQorCQkgKiByZXNldCBldmVudCBpcyBhY3Rp dmF0ZWQgYnkgdHJhbnNpdGlvbiBmcm9tIDAgdG8gMSBvbg0KKwkJICogUkVT RVRfV0QxIGJpdCBhbmQgd2UgYXNzdW1lIHRoYXQgaXQgaXMgYWxyZWFkeSB6 ZXJvLi4uDQorCQkgKi8NCisJCWN0cmxfcmVnID0gemZfZ2V0X2NvbnRyb2wo KTsgICAgDQorCQljdHJsX3JlZyB8PSBSRVNFVF9XRDE7CQkNCisJCXpmX3Nl dF9jb250cm9sKGN0cmxfcmVnKTsJDQorCQkNCisJCS8qIC4uLmFuZCBub3Ro aW5nIGNoYW5nZXMgdW50aWwgaGVyZSAqLw0KKwkJY3RybF9yZWcgJj0gfihS RVNFVF9XRDEpOw0KKwkJemZfc2V0X2NvbnRyb2woY3RybF9yZWcpOwkJDQor DQorCQl6Zl90aW1lci5leHBpcmVzID0gamlmZmllcyArIFpGX0hXX1RJTUVP Ow0KKwkJYWRkX3RpbWVyKCZ6Zl90aW1lcik7DQorCX1lbHNlew0KKwkJcHJp bnRrKFBGWCAiOiBJIHdpbGwgcmVzZXQgeW91ciBtYWNoaW5lXG4iKTsNCisJ fQ0KK30NCisNCitzdGF0aWMgc3NpemVfdCB6Zl93cml0ZShzdHJ1Y3QgZmls ZSAqZmlsZSwgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgY291bnQsIA0KKwkJ CQkJCQkJbG9mZl90ICpwcG9zKQ0KK3sNCisJLyogIENhbid0IHNlZWsgKHB3 cml0ZSkgb24gdGhpcyBkZXZpY2UgICovDQorCWlmIChwcG9zICE9ICZmaWxl LT5mX3BvcykNCisJCXJldHVybiAtRVNQSVBFOw0KKw0KKwkvKiBTZWUgaWYg d2UgZ290IHRoZSBtYWdpYyBjaGFyYWN0ZXIgKi8NCisJaWYoY291bnQpew0K Kw0KKy8qDQorICogbm8gbmVlZCB0byBjaGVjayBmb3IgY2xvc2UgY29uZmly bWF0aW9uDQorICogbm8gd2F5IHRvIGRpc2FibGUgd2F0Y2hkb2cgOykNCisg Ki8NCisjaWZuZGVmIENPTkZJR19XQVRDSERPR19OT1dBWU9VVA0KKwkJc2l6 ZV90IG9mczsNCisNCisJCS8qIA0KKwkJICogbm90ZToganVzdCBpbiBjYXNl IHNvbWVvbmUgd3JvdGUgdGhlIG1hZ2ljIGNoYXJhY3Rlcg0KKwkJICogZml2 ZSBtb250aHMgYWdvLi4uDQorCQkgKi8NCisJCXpmX2V4cGVjdF9jbG9zZSA9 IDA7DQorDQorCQkvKiBub3cgc2NhbiAqLw0KKwkJZm9yKG9mcyA9IDA7IG9m cyAhPSBjb3VudDsgb2ZzKyspew0KKwkJCWlmKGJ1ZltvZnNdID09ICdWJyl7 DQorCQkJCXpmX2V4cGVjdF9jbG9zZSA9IDE7DQorCQkJCWRwcmludGsoInpm X2V4cGVjdF9jbG9zZSAxXG4iKTsNCisJCQl9DQorCQl9DQorI2VuZGlmDQor CQkvKg0KKwkJICogV2VsbCwgYW55aG93IHNvbWVvbmUgd3JvdGUgdG8gdXMs DQorCQkgKiB3ZSBzaG91bGQgcmV0dXJuIHRoYXQgZmF2b3VyDQorCQkgKi8N CisJCW5leHRfaGVhcnRiZWF0ID0gamlmZmllcyArIFpGX1VTRVJfVElNRU87 DQorCQlkcHJpbnRrKCJ1c2VyIHBpbmcgYXQgJWxkXG4iLCBqaWZmaWVzKTsN CisJCQ0KKwkJcmV0dXJuIDE7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0K Kw0KK3N0YXRpYyBzc2l6ZV90IHpmX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUs IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50LCANCisJCQkJCQkJbG9mZl90ICpw cG9zKQ0KK3sNCisJcmV0dXJuIC1FSU5WQUw7DQorfQ0KKw0KKw0KKw0KK3N0 YXRpYyBpbnQgemZfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0 IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsDQorCXVuc2lnbmVkIGxv bmcgYXJnKQ0KK3sNCisJaW50IHJldDsNCisJCQ0KKwlzd2l0Y2goY21kKXsN CisJCWNhc2UgV0RJT0NfR0VUU1VQUE9SVDoNCisJCQlyZXQgPSBjb3B5X3Rv X3VzZXIoKHN0cnVjdCB3YXRjaGRvZ19pbmZvICopYXJnLCANCisJCQkJCQkm emZfaW5mbywgc2l6ZW9mKHpmX2luZm8pKTsNCisJCQlpZihyZXQpDQorCQkJ CXJldHVybiAtRUZBVUxUOw0KKwkJCWJyZWFrOw0KKwkgIA0KKwkJY2FzZSBX RElPQ19HRVRTVEFUVVM6DQorCQkJcmV0ID0gY29weV90b191c2VyKChpbnQg KilhcmcsICZ6Zl9pc19vcGVuLA0KKwkJCQkJCQkJc2l6ZW9mKGludCkpOw0K KwkJCWlmKHJldCkNCisJCQkJcmV0dXJuIC1FRkFVTFQ7DQorCQkJYnJlYWs7 DQorDQorCQljYXNlIFdESU9DX0tFRVBBTElWRToNCisJCQl6Zl9waW5nKDAp Ow0KKwkJCWJyZWFrOw0KKw0KKwkJZGVmYXVsdDoNCisJCQlyZXR1cm4gLUVO T0lPQ1RMQ01EOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0 aWMgaW50IHpmX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZp bGUgKmZpbGUpDQorew0KKwlzd2l0Y2goTUlOT1IoaW5vZGUtPmlfcmRldikp ew0KKwkJY2FzZSBXQVRDSERPR19NSU5PUjoNCisJCQlzcGluX2xvY2soJnpm X2xvY2spOw0KKwkJCWlmKHpmX2lzX29wZW4pew0KKwkJCQlzcGluX3VubG9j aygmemZfbG9jayk7DQorCQkJCXJldHVybiAtRUJVU1k7DQorCQkJfQ0KKw0K KyNpZmRlZiBDT05GSUdfV0FUQ0hET0dfTk9XQVlPVVQNCisJCQlNT0RfSU5D X1VTRV9DT1VOVDsNCisjZW5kaWYNCisJCQl6Zl9pc19vcGVuID0gMTsNCisN CisJCQlzcGluX3VubG9jaygmemZfbG9jayk7DQorDQorCQkJemZfdGltZXJf b24oKTsNCisNCisJCQlyZXR1cm4gMDsNCisJCWRlZmF1bHQ6DQorCQkJcmV0 dXJuIC1FTk9ERVY7DQorCX0NCit9DQorDQorc3RhdGljIGludCB6Zl9jbG9z ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkNCit7 DQorCWlmKE1JTk9SKGlub2RlLT5pX3JkZXYpID09IFdBVENIRE9HX01JTk9S KXsNCisNCisJCWlmKHpmX2V4cGVjdF9jbG9zZSl7DQorCQkJemZfdGltZXJf b2ZmKCk7DQorCQl9IGVsc2Ugew0KKwkJCWRlbF90aW1lcigmemZfdGltZXIp Ow0KKwkJCXByaW50ayhQRlggIjogZGV2aWNlIGZpbGUgY2xvc2VkIHVuZXhw ZWN0ZWRseS4gV2lsbCBub3Qgc3RvcCB0aGUgV0RUIVxuIik7DQorCQl9DQor CQkNCisJCXNwaW5fbG9jaygmemZfbG9jayk7DQorCQl6Zl9pc19vcGVuID0g MDsNCisJCXNwaW5fdW5sb2NrKCZ6Zl9sb2NrKTsNCisNCisJCXpmX2V4cGVj dF9jbG9zZSA9IDA7DQorCX0NCisJDQorCXJldHVybiAwOw0KK30NCisNCisv Kg0KKyAqIE5vdGlmaWVyIGZvciBzeXN0ZW0gZG93bg0KKyAqLw0KKw0KK3N0 YXRpYyBpbnQgemZfbm90aWZ5X3N5cyhzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sg KnRoaXMsIHVuc2lnbmVkIGxvbmcgY29kZSwNCisJCQkJCQkJCXZvaWQgKnVu dXNlZCkNCit7DQorCWlmKGNvZGUgPT0gU1lTX0RPV04gfHwgY29kZSA9PSBT WVNfSEFMVCl7DQorCQl6Zl90aW1lcl9vZmYoKTsJCQ0KKwl9DQorCQ0KKwly ZXR1cm4gTk9USUZZX0RPTkU7DQorfQ0KKw0KKw0KKw0KKw0KK3N0YXRpYyBz dHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHpmX2ZvcHMgPSB7DQorI2lmIExJTlVY X1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDMsMzQpDQorCW93 bmVyOiAgICAgICAgICBUSElTX01PRFVMRSwNCisjZW5kaWYNCisJcmVhZDog ICAgICAgICAgIHpmX3JlYWQsDQorCXdyaXRlOiAgICAgICAgICB6Zl93cml0 ZSwNCisJaW9jdGw6ICAgICAgICAgIHpmX2lvY3RsLA0KKwlvcGVuOiAgICAg ICAgICAgemZfb3BlbiwNCisJcmVsZWFzZTogICAgICAgIHpmX2Nsb3NlLA0K K307DQorDQorc3RhdGljIHN0cnVjdCBtaXNjZGV2aWNlIHpmX21pc2NkZXYg PSB7DQorCVdBVENIRE9HX01JTk9SLA0KKwkid2F0Y2hkb2ciLA0KKwkmemZf Zm9wcw0KK307DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorDQor LyoNCisgKiBUaGUgZGV2aWNlIG5lZWRzIHRvIGxlYXJuIGFib3V0IHNvZnQg c2h1dGRvd25zIGluIG9yZGVyIHRvDQorICogdHVybiB0aGUgdGltZWJvbWIg cmVnaXN0ZXJzIG9mZi4NCisgKi8NCitzdGF0aWMgc3RydWN0IG5vdGlmaWVy X2Jsb2NrIHpmX25vdGlmaWVyID0gew0KKwl6Zl9ub3RpZnlfc3lzLA0KKwlO VUxMLA0KKwkwDQorfTsNCisNCitzdGF0aWMgdm9pZCBfX2luaXQgemZfc2hv d19hY3Rpb24oaW50IGFjdCkNCit7DQorCWNoYXIgKnN0cltdID0geyAiUkVT RVQiLCAiU01JIiwgIk5NSSIsICJTQ0kiIH07DQorCQ0KKwlwcmludGsoUEZY ICI6IFdhdGNoZG9nIHVzaW5nIGFjdGlvbiA9ICVzXG4iLCBzdHJbYWN0XSk7 DQorfQ0KKw0KK2ludCBfX2luaXQgemZfaW5pdCh2b2lkKQ0KK3sNCisJaW50 IHJldDsNCisJDQorCXByaW50ayhQRlggIjogTWFjaFogWkYtTG9naWMgV2F0 Y2hkb2cgZHJpdmVyIGluaXRpYWxpemluZy5cbiIpOw0KKw0KKwlyZXQgPSB6 Zl9nZXRfWkZMX3ZlcnNpb24oKTsNCisJcHJpbnRrKCIlI3hcbiIsIHJldCk7 DQorCWlmKCghcmV0KSB8fCAocmV0ICE9IDB4ZmZmZikpew0KKwkJcHJpbnRr KFBGWCAiOiBubyBaRi1Mb2dpYyBmb3VuZFxuIik7DQorCQlyZXR1cm4gLUVO T0RFVjsNCisJfQ0KKw0KKwlpZigoYWN0aW9uIDw9IDMpICYmIChhY3Rpb24g Pj0gMCkpew0KKwkJemZfYWN0aW9uID0gemZfYWN0aW9uPj5hY3Rpb247DQor CX0gZWxzZQ0KKwkJYWN0aW9uID0gMDsNCisJDQorCXpmX3Nob3dfYWN0aW9u KGFjdGlvbik7DQorDQorCXNwaW5fbG9ja19pbml0KCZ6Zl9sb2NrKTsNCisJ DQorCXJldCA9IG1pc2NfcmVnaXN0ZXIoJnpmX21pc2NkZXYpOw0KKwlpZiAo cmV0KXsNCisJCXByaW50ayhLRVJOX0VSUiAiY2FuJ3QgbWlzY19yZWdpc3Rl ciBvbiBtaW5vcj0lZFxuIiwNCisJCQkJCQkJV0FUQ0hET0dfTUlOT1IpOw0K KwkJZ290byBvdXQ7DQorCX0NCisNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF IDwgS0VSTkVMX1ZFUlNJT04oMiwzLDMpDQorCWlmKGNoZWNrX3JlZ2lvbiha Rl9JT0JBU0UsIDMpKXsNCisjZWxzZQ0KKwlpZighcmVxdWVzdF9yZWdpb24o WkZfSU9CQVNFLCAzLCAiTWFjaFogWkZMIFdEVCIpKXsNCisjZW5kaWYNCisN CisJCXByaW50ayhLRVJOX0VSUiAiY2Fubm90IHJlc2VydmUgSS9PIHBvcnRz IGF0ICVkXG4iLA0KKwkJCQkJCQlaRl9JT0JBU0UpOw0KKwkJcmV0ID0gLUVC VVNZOw0KKwkJZ290byBub19yZWdpb247DQorCX0NCisNCisjaWYgTElOVVhf VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiwzLDMpDQorCXJlcXVl c3RfcmVnaW9uKFpGX0lPQkFTRSwgMywgIk1hY2haIFpGTCBXRFQiKTsNCisj ZGVmaW5lIF9fZXhpdA0KKyNlbmRpZg0KKw0KKwlyZXQgPSByZWdpc3Rlcl9y ZWJvb3Rfbm90aWZpZXIoJnpmX25vdGlmaWVyKTsNCisJaWYocmV0KXsNCisJ CXByaW50ayhLRVJOX0VSUiAiY2FuJ3QgcmVnaXN0ZXIgcmVib290IG5vdGlm aWVyIChlcnI9JWQpXG4iLA0KKwkJCQkJCQkJCXJldCk7DQorCQlnb3RvIG5v X3JlYm9vdDsNCisJfQ0KKwkNCisJemZfc2V0X3N0YXR1cygwKTsNCisJemZf c2V0X2NvbnRyb2woMCk7DQorDQorCS8qIHRoaXMgaXMgdGhlIHRpbWVyIHRo YXQgd2lsbCBkbyB0aGUgaGFyZCB3b3JrICovDQorCWluaXRfdGltZXIoJnpm X3RpbWVyKTsNCisJemZfdGltZXIuZnVuY3Rpb24gPSB6Zl9waW5nOw0KKwl6 Zl90aW1lci5kYXRhID0gMDsNCisJDQorCXJldHVybiAwOw0KKw0KK25vX3Jl Ym9vdDoNCisJcmVsZWFzZV9yZWdpb24oWkZfSU9CQVNFLCAzKTsNCitub19y ZWdpb246DQorCW1pc2NfZGVyZWdpc3RlcigmemZfbWlzY2Rldik7DQorb3V0 Og0KKwlyZXR1cm4gcmV0Ow0KK30NCisNCisJDQordm9pZCBfX2V4aXQgemZf ZXhpdCh2b2lkKQ0KK3sNCisJemZfdGltZXJfb2ZmKCk7DQorCQ0KKwltaXNj X2RlcmVnaXN0ZXIoJnpmX21pc2NkZXYpOw0KKwl1bnJlZ2lzdGVyX3JlYm9v dF9ub3RpZmllcigmemZfbm90aWZpZXIpOw0KKwlyZWxlYXNlX3JlZ2lvbiha Rl9JT0JBU0UsIDMpOw0KK30NCisNCittb2R1bGVfaW5pdCh6Zl9pbml0KTsN Cittb2R1bGVfZXhpdCh6Zl9leGl0KTsNCg== --663313-242575627-983485804=:991-- - 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/