Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 2 Mar 2001 13:13:26 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 2 Mar 2001 13:13:17 -0500 Received: from brutus.conectiva.com.br ([200.250.58.146]:12538 "HELO burns.conectiva") by vger.kernel.org with SMTP id ; Fri, 2 Mar 2001 13:13:03 -0500 Date: Fri, 2 Mar 2001 16:15:12 -0300 (EST) From: Fernando Fuganti To: Alan Cox cc: Linux Kernel Subject: [PATCH] ZF MachZ Watchdog driver for 2.4 Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="663313-517072126-983560512=:991" 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-517072126-983560512=:991 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi ! here is the patch against 2.4.2-ac8 of the new watchdog driver for the embedded MachZ processor made by ZFmicro. more information on http://cvs.conectiva.com.br/drivers/ZFL-watchdog Fernando Fuganti --663313-517072126-983560512=:991 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="zfmachzwdt-2.4.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="zfmachzwdt-2.4.patch" ZGlmZiAtTnJ1IGxpbnV4LTIuNC4yLWFjOC5vcmlnL0RvY3VtZW50YXRpb24v Q29uZmlndXJlLmhlbHAgbGludXgtMi40LjItYWM4L0RvY3VtZW50YXRpb24v Q29uZmlndXJlLmhlbHANCi0tLSBsaW51eC0yLjQuMi1hYzgub3JpZy9Eb2N1 bWVudGF0aW9uL0NvbmZpZ3VyZS5oZWxwCUZyaSBNYXIgIDIgMTM6MDM6MjUg MjAwMQ0KKysrIGxpbnV4LTIuNC4yLWFjOC9Eb2N1bWVudGF0aW9uL0NvbmZp Z3VyZS5oZWxwCUZyaSBNYXIgIDIgMTM6MDk6MTQgMjAwMQ0KQEAgLTE0MDA3 LDYgKzE0MDA3LDE5IEBADQogICBtb2R1bGUsIHNheSBNIGhlcmUgYW5kIHJl YWQgRG9jdW1lbnRhdGlvbi9tb2R1bGVzLnR4dC4gTW9zdCBwZW9wbGUNCiAg IHdpbGwgc2F5IE4uDQogDQorWkYgTWFjaFogV2F0Y2hkb2cNCitDT05GSUdf TUFDSFpfV0RUDQorICBJZiB5b3UgYXJlIHVzaW5nIGEgWkYgTWljcm8gTWFj aFogcHJvY2Vzc29yLCBzYXkgWSBoZXJlLCBvdGhlcndpc2UgTi4NCisgIFRo aXMgaXMgdGhlIGRyaXZlciBmb3IgdGhlIHdhdGNoZG9nIHRpbWVyIGJ1aWx0 aW4gb24gdGhhdCBwcm9jZXNzb3INCisgIHVzaW5nIFpGLUxvZ2ljIGludGVy ZmFjZS4gVGhpcyB3YXRjaGRvZyBzaW1wbHkgd2F0Y2hlcyB5b3VyIGtlcm5l bCB0bw0KKyAgbWFrZSBzdXJlIGl0IGRvZXNuJ3QgZnJlZXplLCBhbmQgaWYg aXQgZG9lcywgaXQgcmVib290cyB5b3VyIGNvbXB1dGVyDQorICBhZnRlciBh IGNlcnRhaW4gYW1vdW50IG9mIHRpbWUuDQorDQorICBUaGlzIGRyaXZlciBp cyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZSAoID0gY29kZSB3aGljaCBj YW4gYmUNCisgIGluc2VydGVkIGluIGFuZCByZW1vdmVkIGZyb20gdGhlIHJ1 bm5pbmcga2VybmVsIHdoZW5ldmVyIHlvdSB3YW50KS4NCisgIFRoZSBtb2R1 bGUgaXMgY2FsbGVkIG1hY2h6d2Quby4gSWYgeW91IHdhbnQgdG8gY29tcGls ZSBpdCBhcyBhIG1vZHVsZSwNCisgIHNheSBNIGhlcmUgYW5kIHJlYWQgRG9j dW1lbnRhdGlvbi9tb2R1bGVzLnR4dC4NCisNCiBUb3NoaWJhIExhcHRvcCBz dXBwb3J0DQogQ09ORklHX1RPU0hJQkENCiAgIElmIHlvdSBpbnRlbmQgdG8g cnVuIHRoaXMgdGhlIGtlcm5lbCBvbiBhIFRvc2hpYmEgcG9ydGFibGUgc2F5 IHllcw0KZGlmZiAtTnJ1IGxpbnV4LTIuNC4yLWFjOC5vcmlnL2RyaXZlcnMv Y2hhci9Db25maWcuaW4gbGludXgtMi40LjItYWM4L2RyaXZlcnMvY2hhci9D b25maWcuaW4NCi0tLSBsaW51eC0yLjQuMi1hYzgub3JpZy9kcml2ZXJzL2No YXIvQ29uZmlnLmluCUZyaSBNYXIgIDIgMTM6MDM6MzcgMjAwMQ0KKysrIGxp bnV4LTIuNC4yLWFjOC9kcml2ZXJzL2NoYXIvQ29uZmlnLmluCUZyaSBNYXIg IDIgMTM6MDk6MTUgMjAwMQ0KQEAgLTE0Myw2ICsxNDMsNyBAQA0KICAgICAg ICAgIHRyaXN0YXRlICcgIE5ldFdpbmRlciBXQjgzQzk3NyB3YXRjaGRvZycg Q09ORklHXzk3N19XQVRDSERPRw0KICAgICAgIGZpDQogICAgZmkNCisgICB0 cmlzdGF0ZSAnICBaRiBNYWNoWiBXYXRjaGRvZycgQ09ORklHX01BQ0haX1dE VA0KIGZpDQogZW5kbWVudQ0KIA0KZGlmZiAtTnJ1IGxpbnV4LTIuNC4yLWFj OC5vcmlnL2RyaXZlcnMvY2hhci9NYWtlZmlsZSBsaW51eC0yLjQuMi1hYzgv ZHJpdmVycy9jaGFyL01ha2VmaWxlDQotLS0gbGludXgtMi40LjItYWM4Lm9y aWcvZHJpdmVycy9jaGFyL01ha2VmaWxlCUZyaSBNYXIgIDIgMTM6MDM6Mzcg MjAwMQ0KKysrIGxpbnV4LTIuNC4yLWFjOC9kcml2ZXJzL2NoYXIvTWFrZWZp bGUJRnJpIE1hciAgMiAxMzowOToxNSAyMDAxDQpAQCAtMjA2LDYgKzIwNiw3 IEBADQogb2JqLSQoQ09ORklHXzIxMjg1X1dBVENIRE9HKSArPSB3ZHQyODUu bw0KIG9iai0kKENPTkZJR185NzdfV0FUQ0hET0cpICs9IHdkdDk3Ny5vDQog b2JqLSQoQ09ORklHX0k4MTBfVENPKSArPSBpODEwLXRjby5vDQorb2JqLSQo Q09ORklHX01BQ0haX1dEVCkgKz0gbWFjaHp3ZC5vDQogb2JqLSQoQ09ORklH X1NPRlRfV0FUQ0hET0cpICs9IHNvZnRkb2cubw0KIA0KIA0KZGlmZiAtTnJ1 IGxpbnV4LTIuNC4yLWFjOC5vcmlnL2RyaXZlcnMvY2hhci9tYWNoendkLmMg bGludXgtMi40LjItYWM4L2RyaXZlcnMvY2hhci9tYWNoendkLmMNCi0tLSBs aW51eC0yLjQuMi1hYzgub3JpZy9kcml2ZXJzL2NoYXIvbWFjaHp3ZC5jCVdl ZCBEZWMgMzEgMjE6MDA6MDAgMTk2OQ0KKysrIGxpbnV4LTIuNC4yLWFjOC9k cml2ZXJzL2NoYXIvbWFjaHp3ZC5jCUZyaSBNYXIgIDIgMTM6MDk6MTUgMjAw MQ0KQEAgLTAsMCArMSw1NDUgQEANCisvKg0KKyAqICBNYWNoWiBaRi1Mb2dp YyBXYXRjaGRvZyBUaW1lciBkcml2ZXIgZm9yIExpbnV4DQorICogIA0KKyAq IA0KKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yDQorICogIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl DQorICogIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbg0KKyAqICAyIG9mIHRoZSBMaWNlbnNl LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KKyAq DQorICogIFRoZSBhdXRob3IgZG9lcyBOT1QgYWRtaXQgbGlhYmlsaXR5IG5v ciBwcm92aWRlIHdhcnJhbnR5IGZvcg0KKyAqICBhbnkgb2YgdGhpcyBzb2Z0 d2FyZS4gVGhpcyBtYXRlcmlhbCBpcyBwcm92aWRlZCAiQVMtSVMiIGluDQor ICogIHRoZSBob3BlIHRoYXQgaXQgbWF5IGJlIHVzZWZ1bCBmb3Igb3RoZXJz Lg0KKyAqDQorICogIEF1dGhvcjogRmVybmFuZG8gRnVnYW50aSA8ZnVnYW50 aUBjb25lY3RpdmEuY29tLmJyPg0KKyAqDQorICogIEJhc2VkIG9uIHNiYzYw eHh3ZHQuYyBieSBKYWtvYiBPZXN0ZXJnYWFyZA0KKyAqIA0KKyAqDQorICog IFdlIGhhdmUgdHdvIHRpbWVycyAod2QjMSwgd2QjMikgZHJpdmVuIGJ5IGEg MzIgS0h6IGNsb2NrIHdpdGggdGhlIA0KKyAqICBmb2xsb3dpbmcgcGVyaW9k czoNCisgKiAgICAgIHdkIzEgLSAyIHNlY29uZHM7DQorICogICAgICB3ZCMy IC0gNy4yIG1zOw0KKyAqICBBZnRlciB0aGUgZXhwaXJhdGlvbiBvZiB3ZCMx LCBpdCBjYW4gZ2VuZXJhdGUgYSBOTUksIFNDSSwgU01JLCBvciANCisgKiAg YSBzeXN0ZW0gUkVTRVQgYW5kIGl0IHN0YXJ0cyB3ZCMyIHRoYXQgdW5jb25k aXRpb25hbHkgd2lsbCBSRVNFVCANCisgKiAgdGhlIHN5c3RlbSB3aGVuIHRo ZSBjb3VudGVyIHJlYWNoZXMgemVyby4NCisgKg0KKyAqLw0KKw0KKyNpbmNs dWRlIDxsaW51eC9tb2R1bGUuaD4NCisjaW5jbHVkZSA8bGludXgvdmVyc2lv bi5oPg0KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPg0KKyNpbmNsdWRlIDxs aW51eC9lcnJuby5oPg0KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4NCisj aW5jbHVkZSA8bGludXgvdGltZXIuaD4NCisjaW5jbHVkZSA8bGludXgvc2No ZWQuaD4NCisjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPg0KKyNpbmNs dWRlIDxsaW51eC93YXRjaGRvZy5oPg0KKyNpbmNsdWRlIDxsaW51eC9tYWxs b2MuaD4NCisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+DQorI2luY2x1ZGUg PGxpbnV4L2ZjbnRsLmg+DQorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+ DQorI2luY2x1ZGUgPGFzbS9pby5oPg0KKyNpbmNsdWRlIDxhc20vdWFjY2Vz cy5oPg0KKyNpbmNsdWRlIDxhc20vc3lzdGVtLmg+DQorI2luY2x1ZGUgPGxp bnV4L25vdGlmaWVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPg0K KyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+DQorDQorDQorLyogcG9ydHMgKi8N CisjZGVmaW5lIFpGX0lPQkFTRQkweDIxOA0KKyNkZWZpbmUgSU5ERVgJCTB4 MjE4DQorI2RlZmluZSBEQVRBX0IJCTB4MjE5DQorI2RlZmluZSBEQVRBX1cJ CTB4MjFBDQorI2RlZmluZSBEQVRBX0QJCTB4MjFBDQorDQorLyogaW5kZXhl cyAqLwkJCS8qIHNpemUgKi8NCisjZGVmaW5lIFpGTF9WRVJTSU9OCTB4MDIJ LyogMTYgICAqLw0KKyNkZWZpbmUgQ09OVFJPTCAJMHgxMAkvKiAxNiAgICov CQ0KKyNkZWZpbmUgU1RBVFVTCQkweDEyCS8qIDggICAgKi8NCisjZGVmaW5l IENPVU5URVJfMQkweDBDCS8qIDE2ICAgKi8NCisjZGVmaW5lIENPVU5URVJf MgkweDBFCS8qIDggICAgKi8NCisjZGVmaW5lIFBVTFNFX0xFTgkweDBGCS8q IDggICAgKi8NCisNCisvKiBjb250cm9scyAqLw0KKyNkZWZpbmUgRU5BQkxF X1dEMQkweDAwMDENCisjZGVmaW5lIEVOQUJMRV9XRDIJMHgwMDAyDQorI2Rl ZmluZSBSRVNFVF9XRDEJMHgwMDEwDQorI2RlZmluZSBSRVNFVF9XRDIJMHgw MDIwDQorI2RlZmluZSBHRU5fU0NJCQkweDAxMDANCisjZGVmaW5lIEdFTl9O TUkJCTB4MDIwMA0KKyNkZWZpbmUgR0VOX1NNSQkJMHgwNDAwDQorI2RlZmlu ZSBHRU5fUkVTRVQJMHgwODAwDQorDQorDQorLyogdXRpbGl0aWVzICovDQor DQorI2RlZmluZSBXRDEJMA0KKyNkZWZpbmUgV0QyCTENCisNCisjZGVmaW5l IHpmX3dyaXRldyhwb3J0LCBkYXRhKSAgeyBvdXRiKHBvcnQsIElOREVYKTsg b3V0dyhkYXRhLCBEQVRBX1cpOyB9DQorI2RlZmluZSB6Zl93cml0ZWIocG9y dCwgZGF0YSkgIHsgb3V0Yihwb3J0LCBJTkRFWCk7IG91dGIoZGF0YSwgREFU QV9CKTsgfQ0KKyNkZWZpbmUgemZfZ2V0X1pGTF92ZXJzaW9uKCkgICB6Zl9y ZWFkdyhaRkxfVkVSU0lPTikNCisNCisNCitzdGF0aWMgdW5zaWduZWQgc2hv cnQgemZfcmVhZHcodW5zaWduZWQgY2hhciBwb3J0KQ0KK3sNCisJb3V0Yihw b3J0LCBJTkRFWCk7DQorCXJldHVybiBpbncoREFUQV9XKTsNCit9DQorDQor c3RhdGljIHVuc2lnbmVkIHNob3J0IHpmX3JlYWRiKHVuc2lnbmVkIGNoYXIg cG9ydCkNCit7DQorCW91dGIocG9ydCwgSU5ERVgpOw0KKwlyZXR1cm4gaW5i KERBVEFfQik7DQorfQ0KKw0KKw0KK01PRFVMRV9BVVRIT1IoIkZlcm5hbmRv IEZ1Z2FudGkgPGZ1Z2FudGlAY29uZWN0aXZhLmNvbS5icj4iKTsNCitNT0RV TEVfREVTQ1JJUFRJT04oIk1hY2haIFpGLUxvZ2ljIFdhdGNoZG9nIGRyaXZl ciIpOw0KK01PRFVMRV9QQVJNKGFjdGlvbiwgImkiKTsNCitNT0RVTEVfUEFS TV9ERVNDKGFjdGlvbiwgImFmdGVyIHdhdGNoZG9nIHJlc2V0cywgZ2VuZXJh dGU6IDAgPSBSRVNFVCgqKSAgMSA9IFNNSSAgMiA9IE5NSSAgMyA9IFNDSSIp Ow0KKw0KKyNkZWZpbmUgUEZYICJtYWNoendkIg0KKw0KK3N0YXRpYyBzdHJ1 Y3Qgd2F0Y2hkb2dfaW5mbyB6Zl9pbmZvID0gew0KKwlvcHRpb25zOgkJV0RJ T0ZfS0VFUEFMSVZFUElORywgDQorCWZpcm13YXJlX3ZlcnNpb246CTEsIA0K KwlpZGVudGl0eToJCSJaRi1Mb2dpYyB3YXRjaGRvZyINCit9Ow0KKw0KKw0K Ky8qDQorICogYWN0aW9uIHJlZmVycyB0byBhY3Rpb24gdGFrZW4gd2hlbiB3 YXRjaGRvZyByZXNldHMNCisgKiAwID0gR0VOX1JFU0VUDQorICogMSA9IEdF Tl9TTUkNCisgKiAyID0gR0VOX05NSQ0KKyAqIDMgPSBHRU5fU0NJDQorICog ZGVmYXVsdHMgdG8gR0VOX1JFU0VUICgwKQ0KKyAqLw0KK3N0YXRpYyBpbnQg YWN0aW9uID0gMDsNCitzdGF0aWMgaW50IHpmX2FjdGlvbiA9IEdFTl9SRVNF VDsNCitzdGF0aWMgaW50IHpmX2lzX29wZW4gPSAwOw0KK3N0YXRpYyBpbnQg emZfZXhwZWN0X2Nsb3NlID0gMDsNCitzdGF0aWMgc3BpbmxvY2tfdCB6Zl9s b2NrOw0KK3N0YXRpYyBzdHJ1Y3QgdGltZXJfbGlzdCB6Zl90aW1lcjsNCitz dGF0aWMgdW5zaWduZWQgbG9uZyBuZXh0X2hlYXJ0YmVhdCA9IDA7DQorDQor DQorLyogdGltZW91dCBmb3IgdXNlciBsYW5kIGhlYXJ0IGJlYXQgKDEwIHNl Y29uZHMpICovDQorI2RlZmluZSBaRl9VU0VSX1RJTUVPIChIWioxMCkNCisN CisvKiB0aW1lb3V0IGZvciBoYXJkd2FyZSB3YXRjaGRvZyAofjUwMG1zKSAq Lw0KKyNkZWZpbmUgWkZfSFdfVElNRU8gKEhaLzIpDQorDQorLyogbnVtYmVy IG9mIHRpY2tzIG9uIFdEIzEgKGRyaXZlbiBieSBhIDMyS0h6IGNsb2NrLCAy cykgKi8NCisjZGVmaW5lIFpGX0NUSU1FT1VUIDB4ZmZmZg0KKw0KKyNpZm5k ZWYgWkZfREVCVUcNCisjCWRlZmluZSBkcHJpbnRrKGZvcm1hdCwgYXJncy4u LikNCisjZWxzZQ0KKyMJZGVmaW5lIGRwcmludGsoZm9ybWF0LCBhcmdzLi4u KSBwcmludGsoS0VSTl9ERUJVRyBQRlggIjoiIF9fRlVOQ1RJT05fXyAiOiVk OiAiIGZvcm1hdCwgX19MSU5FX18gLCAjIyBhcmdzKQ0KKyNlbmRpZg0KKw0K Kw0KKy8qIFNUQVRVUyByZWdpc3RlciBmdW5jdGlvbnMgKi8NCisNCitzdGF0 aWMgaW5saW5lIHVuc2lnbmVkIGNoYXIgemZfZ2V0X3N0YXR1cyh2b2lkKQ0K K3sNCisJcmV0dXJuIHpmX3JlYWRiKFNUQVRVUyk7DQorfQ0KKw0KK3N0YXRp YyBpbmxpbmUgdm9pZCB6Zl9zZXRfc3RhdHVzKHVuc2lnbmVkIGNoYXIgbmV3 KQ0KK3sNCisJemZfd3JpdGViKFNUQVRVUywgbmV3KTsNCit9DQorDQorDQor LyogQ09OVFJPTCByZWdpc3RlciBmdW5jdGlvbnMgKi8NCisNCitzdGF0aWMg aW5saW5lIHVuc2lnbmVkIHNob3J0IHpmX2dldF9jb250cm9sKHZvaWQpDQor ew0KKwlyZXR1cm4gemZfcmVhZHcoQ09OVFJPTCk7DQorfQ0KKw0KK3N0YXRp YyBpbmxpbmUgdm9pZCB6Zl9zZXRfY29udHJvbCh1bnNpZ25lZCBzaG9ydCBu ZXcpDQorew0KKwl6Zl93cml0ZXcoQ09OVFJPTCwgbmV3KTsNCit9DQorDQor DQorLyogV0QjPyBjb3VudGVyIGZ1bmN0aW9ucyAqLw0KKy8qDQorICoJSnVz dCBnZXQgY3VycmVudCBjb3VudGVyIHZhbHVlDQorICovDQorDQoraW5saW5l IHVuc2lnbmVkIHNob3J0IHpmX2dldF90aW1lcih1bnNpZ25lZCBjaGFyIG4p DQorew0KKwlzd2l0Y2gobil7DQorCQljYXNlIFdEMToNCisJCQlyZXR1cm4g emZfcmVhZHcoQ09VTlRFUl8xKTsNCisJCWNhc2UgV0QyOg0KKwkJCXJldHVy biB6Zl9yZWFkYihDT1VOVEVSXzIpOw0KKwkJZGVmYXVsdDoNCisJCQlyZXR1 cm4gMDsNCisJfQ0KK30NCisNCisvKg0KKyAqCUp1c3Qgc2V0IGNvdW50ZXIg dmFsdWUNCisgKi8NCisNCitzdGF0aWMgaW5saW5lIHZvaWQgemZfc2V0X3Rp bWVyKHVuc2lnbmVkIHNob3J0IG5ldywgdW5zaWduZWQgY2hhciBuKQ0KK3sN CisJc3dpdGNoKG4pew0KKwkJY2FzZSBXRDE6DQorCQkJemZfd3JpdGV3KENP VU5URVJfMSwgbmV3KTsNCisJCWNhc2UgV0QyOg0KKwkJCXpmX3dyaXRlYihD T1VOVEVSXzIsIG5ldyA+IDB4ZmYgPyAweGZmIDogbmV3KTsNCisJCWRlZmF1 bHQ6DQorCQkJcmV0dXJuOw0KKwl9DQorfQ0KKw0KKy8qDQorICogc3RvcCBo YXJkd2FyZSB0aW1lcg0KKyAqLw0KK3N0YXRpYyB2b2lkIHpmX3RpbWVyX29m Zih2b2lkKQ0KK3sNCisJdW5zaWduZWQgaW50IGN0cmxfcmVnID0gMDsNCisN CisJLyogc3RvcCBpbnRlcm5hbCBwaW5nICovDQorCWRlbF90aW1lcigmemZf dGltZXIpOw0KKw0KKwkvKiBzdG9wIHdhdGNoZG9nIHRpbWVyICovCQ0KKwlj dHJsX3JlZyA9IHpmX2dldF9jb250cm9sKCk7DQorCWN0cmxfcmVnIHw9IChF TkFCTEVfV0QxfEVOQUJMRV9XRDIpOwkvKiBkaXNhYmxlIHdkMSBhbmQgd2Qy ICovDQorCWN0cmxfcmVnICY9IH4oRU5BQkxFX1dEMXxFTkFCTEVfV0QyKTsN CisJemZfc2V0X2NvbnRyb2woY3RybF9yZWcpOw0KKw0KKwlwcmludGsoUEZY ICI6IFdhdGNoZG9nIHRpbWVyIGlzIG5vdyBkaXNhYmxlZFxuIik7DQorfQ0K Kw0KKw0KKy8qDQorICogc3RhcnQgaGFyZHdhcmUgdGltZXIgDQorICovDQor c3RhdGljIHZvaWQgemZfdGltZXJfb24odm9pZCkNCit7DQorCXVuc2lnbmVk IGludCBjdHJsX3JlZyA9IDA7DQorDQorCXpmX3dyaXRlYihQVUxTRV9MRU4s IDB4ZmYpOw0KKw0KKwl6Zl9zZXRfdGltZXIoWkZfQ1RJTUVPVVQsIFdEMSk7 DQorDQorCS8qIHVzZXIgbGFuZCBwaW5nICovDQorCW5leHRfaGVhcnRiZWF0 ID0gamlmZmllcyArIFpGX1VTRVJfVElNRU87DQorDQorCS8qIHN0YXJ0IHRo ZSB0aW1lciBmb3IgaW50ZXJuYWwgcGluZyAqLw0KKwl6Zl90aW1lci5leHBp cmVzID0gamlmZmllcyArIFpGX0hXX1RJTUVPOw0KKw0KKwlhZGRfdGltZXIo JnpmX3RpbWVyKTsNCisNCisJLyogc3RhcnQgd2F0Y2hkb2cgdGltZXIgKi8N CisJY3RybF9yZWcgPSB6Zl9nZXRfY29udHJvbCgpOw0KKwljdHJsX3JlZyB8 PSAoRU5BQkxFX1dEMXx6Zl9hY3Rpb24pOw0KKwl6Zl9zZXRfY29udHJvbChj dHJsX3JlZyk7DQorDQorCXByaW50ayhQRlggIjogV2F0Y2hkb2cgdGltZXIg aXMgbm93IGVuYWJsZWRcbiIpOw0KK30NCisNCisNCitzdGF0aWMgdm9pZCB6 Zl9waW5nKHVuc2lnbmVkIGxvbmcgZGF0YSkNCit7DQorCXVuc2lnbmVkIGlu dCBjdHJsX3JlZyA9IDA7DQorDQorCXpmX3dyaXRlYihDT1VOVEVSXzIsIDB4 ZmYpOw0KKw0KKwlpZih0aW1lX2JlZm9yZShqaWZmaWVzLCBuZXh0X2hlYXJ0 YmVhdCkpew0KKw0KKwkJZHByaW50aygidGltZV9iZWZvcmU6ICVsZFxuIiwg bmV4dF9oZWFydGJlYXQgLSBqaWZmaWVzKTsNCisJCQ0KKwkJLyogDQorCQkg KiByZXNldCBldmVudCBpcyBhY3RpdmF0ZWQgYnkgdHJhbnNpdGlvbiBmcm9t IDAgdG8gMSBvbg0KKwkJICogUkVTRVRfV0QxIGJpdCBhbmQgd2UgYXNzdW1l IHRoYXQgaXQgaXMgYWxyZWFkeSB6ZXJvLi4uDQorCQkgKi8NCisJCWN0cmxf cmVnID0gemZfZ2V0X2NvbnRyb2woKTsgICAgDQorCQljdHJsX3JlZyB8PSBS RVNFVF9XRDE7CQkNCisJCXpmX3NldF9jb250cm9sKGN0cmxfcmVnKTsJDQor CQkNCisJCS8qIC4uLmFuZCBub3RoaW5nIGNoYW5nZXMgdW50aWwgaGVyZSAq Lw0KKwkJY3RybF9yZWcgJj0gfihSRVNFVF9XRDEpOw0KKwkJemZfc2V0X2Nv bnRyb2woY3RybF9yZWcpOwkJDQorDQorCQl6Zl90aW1lci5leHBpcmVzID0g amlmZmllcyArIFpGX0hXX1RJTUVPOw0KKwkJYWRkX3RpbWVyKCZ6Zl90aW1l cik7DQorCX1lbHNlew0KKwkJcHJpbnRrKFBGWCAiOiBJIHdpbGwgcmVzZXQg eW91ciBtYWNoaW5lXG4iKTsNCisJfQ0KK30NCisNCitzdGF0aWMgc3NpemVf dCB6Zl93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciAqYnVm LCBzaXplX3QgY291bnQsIA0KKwkJCQkJCQkJbG9mZl90ICpwcG9zKQ0KK3sN CisJLyogIENhbid0IHNlZWsgKHB3cml0ZSkgb24gdGhpcyBkZXZpY2UgICov DQorCWlmIChwcG9zICE9ICZmaWxlLT5mX3BvcykNCisJCXJldHVybiAtRVNQ SVBFOw0KKw0KKwkvKiBTZWUgaWYgd2UgZ290IHRoZSBtYWdpYyBjaGFyYWN0 ZXIgKi8NCisJaWYoY291bnQpew0KKw0KKy8qDQorICogbm8gbmVlZCB0byBj aGVjayBmb3IgY2xvc2UgY29uZmlybWF0aW9uDQorICogbm8gd2F5IHRvIGRp c2FibGUgd2F0Y2hkb2cgOykNCisgKi8NCisjaWZuZGVmIENPTkZJR19XQVRD SERPR19OT1dBWU9VVA0KKwkJc2l6ZV90IG9mczsNCisNCisJCS8qIA0KKwkJ ICogbm90ZToganVzdCBpbiBjYXNlIHNvbWVvbmUgd3JvdGUgdGhlIG1hZ2lj IGNoYXJhY3Rlcg0KKwkJICogZml2ZSBtb250aHMgYWdvLi4uDQorCQkgKi8N CisJCXpmX2V4cGVjdF9jbG9zZSA9IDA7DQorDQorCQkvKiBub3cgc2NhbiAq Lw0KKwkJZm9yKG9mcyA9IDA7IG9mcyAhPSBjb3VudDsgb2ZzKyspew0KKwkJ CWlmKGJ1ZltvZnNdID09ICdWJyl7DQorCQkJCXpmX2V4cGVjdF9jbG9zZSA9 IDE7DQorCQkJCWRwcmludGsoInpmX2V4cGVjdF9jbG9zZSAxXG4iKTsNCisJ CQl9DQorCQl9DQorI2VuZGlmDQorCQkvKg0KKwkJICogV2VsbCwgYW55aG93 IHNvbWVvbmUgd3JvdGUgdG8gdXMsDQorCQkgKiB3ZSBzaG91bGQgcmV0dXJu IHRoYXQgZmF2b3VyDQorCQkgKi8NCisJCW5leHRfaGVhcnRiZWF0ID0gamlm ZmllcyArIFpGX1VTRVJfVElNRU87DQorCQlkcHJpbnRrKCJ1c2VyIHBpbmcg YXQgJWxkXG4iLCBqaWZmaWVzKTsNCisJCQ0KKwkJcmV0dXJuIDE7DQorCX0N CisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBzc2l6ZV90IHpmX3Jl YWQoc3RydWN0IGZpbGUgKmZpbGUsIGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50 LCANCisJCQkJCQkJbG9mZl90ICpwcG9zKQ0KK3sNCisJcmV0dXJuIC1FSU5W QUw7DQorfQ0KKw0KKw0KKw0KK3N0YXRpYyBpbnQgemZfaW9jdGwoc3RydWN0 IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGlu dCBjbWQsDQorCXVuc2lnbmVkIGxvbmcgYXJnKQ0KK3sNCisJaW50IHJldDsN CisJCQ0KKwlzd2l0Y2goY21kKXsNCisJCWNhc2UgV0RJT0NfR0VUU1VQUE9S VDoNCisJCQlyZXQgPSBjb3B5X3RvX3VzZXIoKHN0cnVjdCB3YXRjaGRvZ19p bmZvICopYXJnLCANCisJCQkJCQkmemZfaW5mbywgc2l6ZW9mKHpmX2luZm8p KTsNCisJCQlpZihyZXQpDQorCQkJCXJldHVybiAtRUZBVUxUOw0KKwkJCWJy ZWFrOw0KKwkgIA0KKwkJY2FzZSBXRElPQ19HRVRTVEFUVVM6DQorCQkJcmV0 ID0gY29weV90b191c2VyKChpbnQgKilhcmcsICZ6Zl9pc19vcGVuLA0KKwkJ CQkJCQkJc2l6ZW9mKGludCkpOw0KKwkJCWlmKHJldCkNCisJCQkJcmV0dXJu IC1FRkFVTFQ7DQorCQkJYnJlYWs7DQorDQorCQljYXNlIFdESU9DX0tFRVBB TElWRToNCisJCQl6Zl9waW5nKDApOw0KKwkJCWJyZWFrOw0KKw0KKwkJZGVm YXVsdDoNCisJCQlyZXR1cm4gLUVOT0lPQ1RMQ01EOw0KKwl9DQorDQorCXJl dHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IHpmX29wZW4oc3RydWN0IGlu b2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpDQorew0KKwlzd2l0Y2go TUlOT1IoaW5vZGUtPmlfcmRldikpew0KKwkJY2FzZSBXQVRDSERPR19NSU5P UjoNCisJCQlzcGluX2xvY2soJnpmX2xvY2spOw0KKwkJCWlmKHpmX2lzX29w ZW4pew0KKwkJCQlzcGluX3VubG9jaygmemZfbG9jayk7DQorCQkJCXJldHVy biAtRUJVU1k7DQorCQkJfQ0KKw0KKyNpZmRlZiBDT05GSUdfV0FUQ0hET0df Tk9XQVlPVVQNCisJCQlNT0RfSU5DX1VTRV9DT1VOVDsNCisjZW5kaWYNCisJ CQl6Zl9pc19vcGVuID0gMTsNCisNCisJCQlzcGluX3VubG9jaygmemZfbG9j ayk7DQorDQorCQkJemZfdGltZXJfb24oKTsNCisNCisJCQlyZXR1cm4gMDsN CisJCWRlZmF1bHQ6DQorCQkJcmV0dXJuIC1FTk9ERVY7DQorCX0NCit9DQor DQorc3RhdGljIGludCB6Zl9jbG9zZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBz dHJ1Y3QgZmlsZSAqZmlsZSkNCit7DQorCWlmKE1JTk9SKGlub2RlLT5pX3Jk ZXYpID09IFdBVENIRE9HX01JTk9SKXsNCisNCisJCWlmKHpmX2V4cGVjdF9j bG9zZSl7DQorCQkJemZfdGltZXJfb2ZmKCk7DQorCQl9IGVsc2Ugew0KKwkJ CWRlbF90aW1lcigmemZfdGltZXIpOw0KKwkJCXByaW50ayhQRlggIjogZGV2 aWNlIGZpbGUgY2xvc2VkIHVuZXhwZWN0ZWRseS4gV2lsbCBub3Qgc3RvcCB0 aGUgV0RUIVxuIik7DQorCQl9DQorCQkNCisJCXNwaW5fbG9jaygmemZfbG9j ayk7DQorCQl6Zl9pc19vcGVuID0gMDsNCisJCXNwaW5fdW5sb2NrKCZ6Zl9s b2NrKTsNCisNCisJCXpmX2V4cGVjdF9jbG9zZSA9IDA7DQorCX0NCisJDQor CXJldHVybiAwOw0KK30NCisNCisvKg0KKyAqIE5vdGlmaWVyIGZvciBzeXN0 ZW0gZG93bg0KKyAqLw0KKw0KK3N0YXRpYyBpbnQgemZfbm90aWZ5X3N5cyhz dHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKnRoaXMsIHVuc2lnbmVkIGxvbmcgY29k ZSwNCisJCQkJCQkJCXZvaWQgKnVudXNlZCkNCit7DQorCWlmKGNvZGUgPT0g U1lTX0RPV04gfHwgY29kZSA9PSBTWVNfSEFMVCl7DQorCQl6Zl90aW1lcl9v ZmYoKTsJCQ0KKwl9DQorCQ0KKwlyZXR1cm4gTk9USUZZX0RPTkU7DQorfQ0K Kw0KKw0KKw0KKw0KK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHpm X2ZvcHMgPSB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxf VkVSU0lPTigyLDMsMzQpDQorCW93bmVyOiAgICAgICAgICBUSElTX01PRFVM RSwNCisjZW5kaWYNCisJcmVhZDogICAgICAgICAgIHpmX3JlYWQsDQorCXdy aXRlOiAgICAgICAgICB6Zl93cml0ZSwNCisJaW9jdGw6ICAgICAgICAgIHpm X2lvY3RsLA0KKwlvcGVuOiAgICAgICAgICAgemZfb3BlbiwNCisJcmVsZWFz ZTogICAgICAgIHpmX2Nsb3NlLA0KK307DQorDQorc3RhdGljIHN0cnVjdCBt aXNjZGV2aWNlIHpmX21pc2NkZXYgPSB7DQorCVdBVENIRE9HX01JTk9SLA0K Kwkid2F0Y2hkb2ciLA0KKwkmemZfZm9wcw0KK307DQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgDQorDQorLyoNCisgKiBUaGUgZGV2aWNlIG5lZWRz IHRvIGxlYXJuIGFib3V0IHNvZnQgc2h1dGRvd25zIGluIG9yZGVyIHRvDQor ICogdHVybiB0aGUgdGltZWJvbWIgcmVnaXN0ZXJzIG9mZi4NCisgKi8NCitz dGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHpmX25vdGlmaWVyID0gew0K Kwl6Zl9ub3RpZnlfc3lzLA0KKwlOVUxMLA0KKwkwDQorfTsNCisNCitzdGF0 aWMgdm9pZCBfX2luaXQgemZfc2hvd19hY3Rpb24oaW50IGFjdCkNCit7DQor CWNoYXIgKnN0cltdID0geyAiUkVTRVQiLCAiU01JIiwgIk5NSSIsICJTQ0ki IH07DQorCQ0KKwlwcmludGsoUEZYICI6IFdhdGNoZG9nIHVzaW5nIGFjdGlv biA9ICVzXG4iLCBzdHJbYWN0XSk7DQorfQ0KKw0KK2ludCBfX2luaXQgemZf aW5pdCh2b2lkKQ0KK3sNCisJaW50IHJldDsNCisJDQorCXByaW50ayhQRlgg IjogTWFjaFogWkYtTG9naWMgV2F0Y2hkb2cgZHJpdmVyIGluaXRpYWxpemlu Zy5cbiIpOw0KKw0KKwlyZXQgPSB6Zl9nZXRfWkZMX3ZlcnNpb24oKTsNCisJ cHJpbnRrKCIlI3hcbiIsIHJldCk7DQorCWlmKCghcmV0KSB8fCAocmV0ICE9 IDB4ZmZmZikpew0KKwkJcHJpbnRrKFBGWCAiOiBubyBaRi1Mb2dpYyBmb3Vu ZFxuIik7DQorCQlyZXR1cm4gLUVOT0RFVjsNCisJfQ0KKw0KKwlpZigoYWN0 aW9uIDw9IDMpICYmIChhY3Rpb24gPj0gMCkpew0KKwkJemZfYWN0aW9uID0g emZfYWN0aW9uPj5hY3Rpb247DQorCX0gZWxzZQ0KKwkJYWN0aW9uID0gMDsN CisJDQorCXpmX3Nob3dfYWN0aW9uKGFjdGlvbik7DQorDQorCXNwaW5fbG9j a19pbml0KCZ6Zl9sb2NrKTsNCisJDQorCXJldCA9IG1pc2NfcmVnaXN0ZXIo JnpmX21pc2NkZXYpOw0KKwlpZiAocmV0KXsNCisJCXByaW50ayhLRVJOX0VS UiAiY2FuJ3QgbWlzY19yZWdpc3RlciBvbiBtaW5vcj0lZFxuIiwNCisJCQkJ CQkJV0FUQ0hET0dfTUlOT1IpOw0KKwkJZ290byBvdXQ7DQorCX0NCisNCisj aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiwzLDMp DQorCWlmKGNoZWNrX3JlZ2lvbihaRl9JT0JBU0UsIDMpKXsNCisjZWxzZQ0K KwlpZighcmVxdWVzdF9yZWdpb24oWkZfSU9CQVNFLCAzLCAiTWFjaFogWkZM IFdEVCIpKXsNCisjZW5kaWYNCisNCisJCXByaW50ayhLRVJOX0VSUiAiY2Fu bm90IHJlc2VydmUgSS9PIHBvcnRzIGF0ICVkXG4iLA0KKwkJCQkJCQlaRl9J T0JBU0UpOw0KKwkJcmV0ID0gLUVCVVNZOw0KKwkJZ290byBub19yZWdpb247 DQorCX0NCisNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZF UlNJT04oMiwzLDMpDQorCXJlcXVlc3RfcmVnaW9uKFpGX0lPQkFTRSwgMywg Ik1hY2haIFpGTCBXRFQiKTsNCisjZGVmaW5lIF9fZXhpdA0KKyNlbmRpZg0K Kw0KKwlyZXQgPSByZWdpc3Rlcl9yZWJvb3Rfbm90aWZpZXIoJnpmX25vdGlm aWVyKTsNCisJaWYocmV0KXsNCisJCXByaW50ayhLRVJOX0VSUiAiY2FuJ3Qg cmVnaXN0ZXIgcmVib290IG5vdGlmaWVyIChlcnI9JWQpXG4iLA0KKwkJCQkJ CQkJCXJldCk7DQorCQlnb3RvIG5vX3JlYm9vdDsNCisJfQ0KKwkNCisJemZf c2V0X3N0YXR1cygwKTsNCisJemZfc2V0X2NvbnRyb2woMCk7DQorDQorCS8q IHRoaXMgaXMgdGhlIHRpbWVyIHRoYXQgd2lsbCBkbyB0aGUgaGFyZCB3b3Jr ICovDQorCWluaXRfdGltZXIoJnpmX3RpbWVyKTsNCisJemZfdGltZXIuZnVu Y3Rpb24gPSB6Zl9waW5nOw0KKwl6Zl90aW1lci5kYXRhID0gMDsNCisJDQor CXJldHVybiAwOw0KKw0KK25vX3JlYm9vdDoNCisJcmVsZWFzZV9yZWdpb24o WkZfSU9CQVNFLCAzKTsNCitub19yZWdpb246DQorCW1pc2NfZGVyZWdpc3Rl cigmemZfbWlzY2Rldik7DQorb3V0Og0KKwlyZXR1cm4gcmV0Ow0KK30NCisN CisJDQordm9pZCBfX2V4aXQgemZfZXhpdCh2b2lkKQ0KK3sNCisJemZfdGlt ZXJfb2ZmKCk7DQorCQ0KKwltaXNjX2RlcmVnaXN0ZXIoJnpmX21pc2NkZXYp Ow0KKwl1bnJlZ2lzdGVyX3JlYm9vdF9ub3RpZmllcigmemZfbm90aWZpZXIp Ow0KKwlyZWxlYXNlX3JlZ2lvbihaRl9JT0JBU0UsIDMpOw0KK30NCisNCitt b2R1bGVfaW5pdCh6Zl9pbml0KTsNCittb2R1bGVfZXhpdCh6Zl9leGl0KTsN Cg== --663313-517072126-983560512=: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/