[PATCH] ZF MachZ Watchdog driver for 2.4

Fernando Fuganti (fuganti@conectiva.com.br)
Fri, 2 Mar 2001 16:15:12 -0300 (EST)


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: <Pine.LNX.4.21.0103021615120.991@ze.distro.conectiva>
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/