From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750893AbWGVLXz (ORCPT ); Sat, 22 Jul 2006 07:23:55 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750886AbWGVLXz (ORCPT ); Sat, 22 Jul 2006 07:23:55 -0400 Received: from out4.smtp.messagingengine.com ([66.111.4.28]:18387 "EHLO out4.smtp.messagingengine.com") by vger.kernel.org with ESMTP id S1750720AbWGVLXy (ORCPT ); Sat, 22 Jul 2006 07:23:54 -0400 Message-Id: <1153567435.16250.266622064@webmail.messagingengine.com> X-Sasl-Enc: RA/BpuFR/3HC+rWeZP7MVbxz+jSbun8YCt5hQNL7JBeJ 1153567435 From: "Komal Shah" To: wim@iguana.be, gdavis@mvista.com Cc: tony@atomide.com, linux-kernel@vger.kernel.org, akpm@osdl.org, dbrownell@users.sourceforge.net, r-woddruff2@ti.com Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1153567435162500"; charset="ISO-8859-1" MIME-Version: 1.0 X-Mailer: MessagingEngine.com Webmail Interface Subject: [PATCH] OMAP: Add Watchdog driver support Date: Sat, 22 Jul 2006 04:23:55 -0700 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org This is a multi-part message in MIME format. --_----------=_1153567435162500 Content-Disposition: inline Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="ISO-8859-1" MIME-Version: 1.0 X-Mailer: MessagingEngine.com Webmail Interface Date: Sat, 22 Jul 2006 11:23:55 UT Wim/George/David, Attached patch addes Texas Instruments (TI) OMAP1/2 (http://www.ti.com/omap) based processors, like OMAP1610/1710/242x. Please give your Signed-off-by: line if driver looks ok ;) ---Komal Shah http://komalshah.blogspot.com -- http://www.fastmail.fm - Send your email first class --_----------=_1153567435162500 Content-Disposition: attachment; filename="0001-OMAP-watchdog-driver-support.patch" Content-Transfer-Encoding: base64 Content-Type: application/octet-stream; name="0001-OMAP-watchdog-driver-support.patch" MIME-Version: 1.0 X-Mailer: MessagingEngine.com Webmail Interface Date: Sat, 22 Jul 2006 11:23:55 UT RnJvbSBub2JvZHkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtv bWFsIFNoYWggPGtvbWFsX3NoYWg4MDIwMDNAeWFob28uY29tPgpEYXRlOiBT YXQsIDIyIEp1bCAyMDA2IDIyOjE0OjQ2ICswNTMwClN1YmplY3Q6IFtQQVRD SF0gT01BUDogQWRkIFdhdGNoZG9nIGRyaXZlciBzdXBwb3J0LgoKQWRkIHdh dGNoZG9nIGRyaXZlciBzdXBwb3J0IGZvciBUZXhhcyBJbnN0cnVtZW50cyhU SSkKT01BUDEvMiAoaHR0cDovL3d3dy50aS5jb20vb21hcCkgYmFzZWQgcHJv Y2Vzc29ycywgbGlrZQpPTUFQMTYxMC8xNzEwLzI0MnguCgpTaWduZWQtb2Zm LWJ5OiBLb21hbCBTaGFoIDxrb21hbF9zaGFoODAyMDAzQHlhaG9vLmNvbT4K Ci0tLQoKIGRyaXZlcnMvY2hhci93YXRjaGRvZy9LY29uZmlnICAgIHwgICAg NyArCiBkcml2ZXJzL2NoYXIvd2F0Y2hkb2cvTWFrZWZpbGUgICB8ICAgIDEg CiBkcml2ZXJzL2NoYXIvd2F0Y2hkb2cvb21hcF93ZHQuYyB8ICAzODUgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMv Y2hhci93YXRjaGRvZy9vbWFwX3dkdC5oIHwgICA2NCArKysrKysKIDQgZmls ZXMgY2hhbmdlZCwgNDU3IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jaGFyL3dhdGNoZG9nL29t YXBfd2R0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2NoYXIvd2F0 Y2hkb2cvb21hcF93ZHQuaAoKZTkxMmU4NDQyOGU2MmViMTVjNzU5NzUwNjYz OTFhNjE0NDdmNmU1MwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3dhdGNo ZG9nL0tjb25maWcgYi9kcml2ZXJzL2NoYXIvd2F0Y2hkb2cvS2NvbmZpZwpp bmRleCBkNTNmNjY0Li4yZDYyN2NjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2No YXIvd2F0Y2hkb2cvS2NvbmZpZworKysgYi9kcml2ZXJzL2NoYXIvd2F0Y2hk b2cvS2NvbmZpZwpAQCAtMTY1LDYgKzE2NSwxMyBAQCBjb25maWcgRVA5M1hY X1dBVENIRE9HCiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9k dWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUKIAkgIG1vZHVsZSB3aWxsIGJlIGNh bGxlZCBlcDkzeHhfd2R0LgogCitjb25maWcgT01BUF9XQVRDSERPRworCXRy aXN0YXRlICJPTUFQIFdhdGNoZG9nIgorCWRlcGVuZHMgb24gV0FUQ0hET0cg JiYgKEFSQ0hfT01BUDE2WFggfHwgQVJDSF9PTUFQMjRYWCkKKwloZWxwCisJ ICBTdXBwb3J0IGZvciBUSSBPTUFQMTYxMC9PTUFQMTcxMC9PTUFQMjQyMCB3 YXRjaGRvZy4gU2F5ICdZJyBoZXJlIHRvIGVuYWJsZSB0aGUKKwkgIE9NQVAx NjEwL09NQVAxNzEwIHdhdGNoZG9nIHRpbWVyLgorCiAjIFg4NiAoaTM4NiAr IGlhNjQgKyB4ODZfNjQpIEFyY2hpdGVjdHVyZQogCiBjb25maWcgQUNRVUlS RV9XRFQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci93YXRjaGRvZy9NYWtl ZmlsZSBiL2RyaXZlcnMvY2hhci93YXRjaGRvZy9NYWtlZmlsZQppbmRleCA2 YWI3N2I2Li5lY2ZiYTViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvd2F0 Y2hkb2cvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9jaGFyL3dhdGNoZG9nL01h a2VmaWxlCkBAIC0zMiw2ICszMiw3IEBAIG9iai0kKENPTkZJR19TM0MyNDEw X1dBVENIRE9HKSArPSBzM2MyNDEKIG9iai0kKENPTkZJR19TQTExMDBfV0FU Q0hET0cpICs9IHNhMTEwMF93ZHQubwogb2JqLSQoQ09ORklHX01QQ09SRV9X QVRDSERPRykgKz0gbXBjb3JlX3dkdC5vCiBvYmotJChDT05GSUdfRVA5M1hY X1dBVENIRE9HKSArPSBlcDkzeHhfd2R0Lm8KK29iai0kKENPTkZJR19PTUFQ X1dBVENIRE9HKSArPSBvbWFwX3dkdC5vCiAKICMgWDg2IChpMzg2ICsgaWE2 NCArIHg4Nl82NCkgQXJjaGl0ZWN0dXJlCiBvYmotJChDT05GSUdfQUNRVUlS RV9XRFQpICs9IGFjcXVpcmV3ZHQubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9j aGFyL3dhdGNoZG9nL29tYXBfd2R0LmMgYi9kcml2ZXJzL2NoYXIvd2F0Y2hk b2cvb21hcF93ZHQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5lNWU3ZjFmCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9jaGFy L3dhdGNoZG9nL29tYXBfd2R0LmMKQEAgLTAsMCArMSwzODUgQEAKKy8qCisg KiBsaW51eC9kcml2ZXJzL2NoYXIvd2F0Y2hkb2cvb21hcF93ZHQuYworICoK KyAqIFdhdGNoZG9nIGRyaXZlciBmb3IgdGhlIFRJIE9NQVAgMTZ4eCAmIDI0 eHggMzJLSHogKG5vbi1zZWN1cmUpIHdhdGNoZG9nCisgKgorICogQXV0aG9y OiBNb250YVZpc3RhIFNvZnR3YXJlLCBJbmMuCisgKgkgPGdkYXZpc0Btdmlz dGEuY29tPiBvciA8c291cmNlQG12aXN0YS5jb20+CisgKgorICogMjAwMyAo YykgTW9udGFWaXN0YSBTb2Z0d2FyZSwgSW5jLiBUaGlzIGZpbGUgaXMgbGlj ZW5zZWQgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgdmVyc2lvbiAyLiBUaGlzIHByb2dyYW0gaXMKKyAq IGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkgd2FycmFudHkgb2YgYW55 IGtpbmQsIHdoZXRoZXIgZXhwcmVzcworICogb3IgaW1wbGllZC4KKyAqCisg KiBIaXN0b3J5OgorICoKKyAqIDIwMDMwNTI3OiBHZW9yZ2UgRy4gRGF2aXMg PGdkYXZpc0BtdmlzdGEuY29tPgorICoJSW5pdGlhbGx5IGJhc2VkIG9uIGxp bnV4LTIuNC4xOS1ybWs3LXB4YTEvZHJpdmVycy9jaGFyL3NhMTEwMF93ZHQu YworICoJKGMpIENvcHlyaWdodCAyMDAwIE9sZWcgRHJva2luIDxncmVlbkBj cmltZWEuZWR1PgorICoJQmFzZWQgb24gU29mdERvZyBkcml2ZXIgYnkgQWxh biBDb3ggPGFsYW5AcmVkaGF0LmNvbT4KKyAqCisgKiBDb3B5cmlnaHQgKGMp IDIwMDQgVGV4YXMgSW5zdHJ1bWVudHMuCisgKgkxLiBNb2RpZmllZCB0byBz dXBwb3J0IE9NQVAxNjEwIDMyLUtIeiB3YXRjaGRvZyB0aW1lcgorICoJMi4g UG9ydGVkIHRvIDIuNiBrZXJuZWwKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIw MDUgRGF2aWQgQnJvd25lbGwKKyAqCVVzZSB0aGUgZHJpdmVyIG1vZGVsIGFu ZCBzdGFuZGFyZCBpZGVudGlmaWVyczsgaGFuZGxlIGJpZ2dlciB0aW1lb3V0 cy4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVk ZSA8bGludXgvY29uZmlnLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4K KyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9m cy5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgv bWlzY2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3dhdGNoZG9nLmg+Cisj aW5jbHVkZSA8bGludXgvcmVib290Lmg+CisjaW5jbHVkZSA8bGludXgvc21w X2xvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8 bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNl Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KKyNpbmNsdWRl IDxsaW51eC9jbGsuaD4KKworI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1 ZGUgPGFzbS91YWNjZXNzLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+ CisjaW5jbHVkZSA8YXNtL2JpdG9wcy5oPgorCisjaW5jbHVkZSA8YXNtL2Fy Y2gvcHJjbS5oPgorCisjaW5jbHVkZSAib21hcF93ZHQuaCIKKworc3RhdGlj IHVuc2lnbmVkIHRpbWVyX21hcmdpbjsKK21vZHVsZV9wYXJhbSh0aW1lcl9t YXJnaW4sIHVpbnQsIDApOworTU9EVUxFX1BBUk1fREVTQyh0aW1lcl9tYXJn aW4sICJpbml0aWFsIHdhdGNoZG9nIHRpbWVvdXQgKGluIHNlY29uZHMpIik7 CisKK3N0YXRpYyBpbnQgb21hcF93ZHRfdXNlcnM7CitzdGF0aWMgc3RydWN0 IGNsayAqYXJtd2R0X2NrID0gTlVMTDsKK3N0YXRpYyBzdHJ1Y3QgY2xrICpt cHVfd2R0X2ljayA9IE5VTEw7CitzdGF0aWMgc3RydWN0IGNsayAqbXB1X3dk dF9mY2sgPSBOVUxMOworCitzdGF0aWMgdW5zaWduZWQgaW50IHdkdF90cmdy X3BhdHRlcm4gPSAweDEyMzQ7CisKK3N0YXRpYyB2b2lkIG9tYXBfd2R0X3Bp bmcodm9pZCkKK3sKKwkvKiB3YWl0IGZvciBwb3N0ZWQgd3JpdGUgdG8gY29t cGxldGUgKi8KKwl3aGlsZSAoKG9tYXBfcmVhZGwoT01BUF9XQVRDSERPR19X UFMpKSAmIDB4MDgpOworCXdkdF90cmdyX3BhdHRlcm4gPSB+d2R0X3RyZ3Jf cGF0dGVybjsKKwlvbWFwX3dyaXRlbCh3ZHRfdHJncl9wYXR0ZXJuLCAoT01B UF9XQVRDSERPR19UR1IpKTsKKwkvKiB3YWl0IGZvciBwb3N0ZWQgd3JpdGUg dG8gY29tcGxldGUgKi8KKwl3aGlsZSAoKG9tYXBfcmVhZGwoT01BUF9XQVRD SERPR19XUFMpKSAmIDB4MDgpOwkKKwkvKiByZWxvYWRlZCBXQ1JSIGZyb20g V0xEUiAqLworfQorCitzdGF0aWMgdm9pZCBvbWFwX3dkdF9lbmFibGUodm9p ZCkKK3sKKwkvKiBTZXF1ZW5jZSB0byBlbmFibGUgdGhlIHdhdGNoZG9nICov CisJb21hcF93cml0ZWwoMHhCQkJCLCBPTUFQX1dBVENIRE9HX1NQUik7CisJ d2hpbGUgKChvbWFwX3JlYWRsKE9NQVBfV0FUQ0hET0dfV1BTKSkgJiAweDEw KSA7CisJb21hcF93cml0ZWwoMHg0NDQ0LCBPTUFQX1dBVENIRE9HX1NQUik7 CisJd2hpbGUgKChvbWFwX3JlYWRsKE9NQVBfV0FUQ0hET0dfV1BTKSkgJiAw eDEwKSA7Cit9CisKK3N0YXRpYyB2b2lkIG9tYXBfd2R0X2Rpc2FibGUodm9p ZCkKK3sKKwkvKiBzZXF1ZW5jZSByZXF1aXJlZCB0byBkaXNhYmxlIHdhdGNo ZG9nICovCisJb21hcF93cml0ZWwoMHhBQUFBLCBPTUFQX1dBVENIRE9HX1NQ Uik7CS8qIFRJTUVSX01PREUgKi8KKwl3aGlsZSAob21hcF9yZWFkbChPTUFQ X1dBVENIRE9HX1dQUykgJiAweDEwKSA7CisJb21hcF93cml0ZWwoMHg1NTU1 LCBPTUFQX1dBVENIRE9HX1NQUik7CS8qIFRJTUVSX01PREUgKi8KKwl3aGls ZSAob21hcF9yZWFkbChPTUFQX1dBVENIRE9HX1dQUykgJiAweDEwKSA7Cit9 CisKK3N0YXRpYyB2b2lkIG9tYXBfd2R0X2FkanVzdF90aW1lb3V0KHVuc2ln bmVkIG5ld190aW1lb3V0KQoreworCWlmIChuZXdfdGltZW91dCA8IFRJTUVS X01BUkdJTl9NSU4pCisJCW5ld190aW1lb3V0ID0gVElNRVJfTUFSR0lOX0RF RkFVTFQ7CisJaWYgKG5ld190aW1lb3V0ID4gVElNRVJfTUFSR0lOX01BWCkK KwkJbmV3X3RpbWVvdXQgPSBUSU1FUl9NQVJHSU5fTUFYOworCXRpbWVyX21h cmdpbiA9IG5ld190aW1lb3V0OworfQorCitzdGF0aWMgdm9pZCBvbWFwX3dk dF9zZXRfdGltZW91dCh2b2lkKQoreworCXUzMiBwcmVfbWFyZ2luID0gR0VU X1dMRFJfVkFMKHRpbWVyX21hcmdpbik7CisKKwkvKiBqdXN0IGNvdW50IHVw IGF0IDMyIEtIeiAqLworCXdoaWxlIChvbWFwX3JlYWRsKE9NQVBfV0FUQ0hE T0dfV1BTKSAmIDB4MDQpCisJCWNvbnRpbnVlOworCW9tYXBfd3JpdGVsKHBy ZV9tYXJnaW4sIE9NQVBfV0FUQ0hET0dfTERSKTsKKwl3aGlsZSAob21hcF9y ZWFkbChPTUFQX1dBVENIRE9HX1dQUykgJiAweDA0KQorCQljb250aW51ZTsK K30KKworLyoKKyAqCUFsbG93IG9ubHkgb25lIHRhc2sgdG8gaG9sZCBpdCBv cGVuCisgKi8KKworc3RhdGljIGludCBvbWFwX3dkdF9vcGVuKHN0cnVjdCBp bm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCWlmICh0ZXN0 X2FuZF9zZXRfYml0KDEsICh1bnNpZ25lZCBsb25nICopJm9tYXBfd2R0X3Vz ZXJzKSkKKwkJcmV0dXJuIC1FQlVTWTsKKworCWlmIChjcHVfaXNfb21hcDE2 eHgoKSkKKwkJY2xrX2VuYWJsZShhcm13ZHRfY2spOwkvKiBFbmFibGUgdGhl IGNsb2NrICovCisKKwlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKKwkJY2xr X2VuYWJsZShtcHVfd2R0X2ljayk7CS8qIEVuYWJsZSB0aGUgaW50ZXJmYWNl IGNsb2NrICovCisJCWNsa19lbmFibGUobXB1X3dkdF9mY2spOwkvKiBFbmFi bGUgdGhlIGZ1bmN0aW9uYWwgY2xvY2sgKi8KKwl9CisKKwkvKiBpbml0aWFs aXplIHByZXNjYWxlciAqLworCXdoaWxlIChvbWFwX3JlYWRsKE9NQVBfV0FU Q0hET0dfV1BTKSAmIDB4MDEpCisJCWNvbnRpbnVlOworCW9tYXBfd3JpdGVs KCgxIDw8IDUpIHwgKFBUViA8PCAyKSwgT01BUF9XQVRDSERPR19DTlRSTCk7 CisJd2hpbGUgKG9tYXBfcmVhZGwoT01BUF9XQVRDSERPR19XUFMpICYgMHgw MSkKKwkJY29udGludWU7CisKKwlvbWFwX3dkdF9zZXRfdGltZW91dCgpOwor CW9tYXBfd2R0X2VuYWJsZSgpOworCXJldHVybiAwOworfQorCitzdGF0aWMg aW50IG9tYXBfd2R0X3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3Ry dWN0IGZpbGUgKmZpbGUpCit7CisJLyoKKwkgKiAgICAgIFNodXQgb2ZmIHRo ZSB0aW1lciB1bmxlc3MgTk9XQVlPVVQgaXMgZGVmaW5lZC4KKwkgKi8KKyNp Zm5kZWYgQ09ORklHX1dBVENIRE9HX05PV0FZT1VUCisJb21hcF93ZHRfZGlz YWJsZSgpOworCisJaWYgKGNwdV9pc19vbWFwMTZ4eCgpKSB7CisJCWNsa19k aXNhYmxlKGFybXdkdF9jayk7CS8qIERpc2FibGUgdGhlIGNsb2NrICovCisJ CWNsa19wdXQoYXJtd2R0X2NrKTsKKwkJYXJtd2R0X2NrID0gTlVMTDsKKwl9 CisKKwlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKKwkJY2xrX2Rpc2FibGUo bXB1X3dkdF9pY2spOwkvKiBEaXNhYmxlIHRoZSBjbG9jayAqLworCQljbGtf ZGlzYWJsZShtcHVfd2R0X2Zjayk7CS8qIERpc2FibGUgdGhlIGNsb2NrICov CisJCWNsa19wdXQobXB1X3dkdF9pY2spOworCQljbGtfcHV0KG1wdV93ZHRf ZmNrKTsKKwkJbXB1X3dkdF9pY2sgPSBOVUxMOworCQltcHVfd2R0X2ZjayA9 IE5VTEw7CisJfQorI2Vsc2UKKwlwcmludGsoS0VSTl9DUklUICJvbWFwX3dk dDogVW5leHBlY3RlZCBjbG9zZSwgbm90IHN0b3BwaW5nIVxuIik7CisjZW5k aWYKKwlvbWFwX3dkdF91c2VycyA9IDA7CisJcmV0dXJuIDA7Cit9CisKK3N0 YXRpYyBzc2l6ZV90CitvbWFwX3dkdF93cml0ZShzdHJ1Y3QgZmlsZSAqZmls ZSwgY29uc3QgY2hhciBfX3VzZXIgKiBkYXRhLAorCXNpemVfdCBsZW4sIGxv ZmZfdCAqIHBwb3MpCit7CisJLyogUmVmcmVzaCBMT0FEX1RJTUUuICovCisJ aWYgKGxlbikKKwkJb21hcF93ZHRfcGluZygpOworCXJldHVybiBsZW47Cit9 CisKK3N0YXRpYyBpbnQKK29tYXBfd2R0X2lvY3RsKHN0cnVjdCBpbm9kZSAq aW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLAorCXVuc2lnbmVkIGludCBjbWQs IHVuc2lnbmVkIGxvbmcgYXJnKQoreworCWludCBuZXdfbWFyZ2luOworCXN0 YXRpYyBzdHJ1Y3Qgd2F0Y2hkb2dfaW5mbyBpZGVudCA9IHsKKwkJLmlkZW50 aXR5ID0gIk9NQVAgV2F0Y2hkb2ciLAorCQkub3B0aW9ucyA9IFdESU9GX1NF VFRJTUVPVVQsCisJCS5maXJtd2FyZV92ZXJzaW9uID0gMCwKKwl9OworCisJ c3dpdGNoIChjbWQpIHsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVOT0lPQ1RM Q01EOworCWNhc2UgV0RJT0NfR0VUU1VQUE9SVDoKKwkJcmV0dXJuIGNvcHlf dG9fdXNlcigoc3RydWN0IHdhdGNoZG9nX2luZm8gX191c2VyICopYXJnLCAm aWRlbnQsCisJCQkJc2l6ZW9mKGlkZW50KSk7CisJY2FzZSBXRElPQ19HRVRT VEFUVVM6CisJCXJldHVybiBwdXRfdXNlcigwLCAoaW50IF9fdXNlciAqKWFy Zyk7CisJY2FzZSBXRElPQ19HRVRCT09UU1RBVFVTOgorCQlpZiAoY3B1X2lz X29tYXAxNnh4KCkpCisJCQlyZXR1cm4gcHV0X3VzZXIob21hcF9yZWFkdyhB Uk1fU1lTU1QpLAorCQkJCQkoaW50IF9fdXNlciAqKWFyZyk7CisJCWlmIChj cHVfaXNfb21hcDI0eHgoKSkKKwkJCXJldHVybiBwdXRfdXNlcihvbWFwX3By Y21fZ2V0X3Jlc2V0X3NvdXJjZXMoKSwKKwkJCQkJKGludCBfX3VzZXIgKilh cmcpOworCWNhc2UgV0RJT0NfS0VFUEFMSVZFOgorCQlvbWFwX3dkdF9waW5n KCk7CisJCXJldHVybiAwOworCWNhc2UgV0RJT0NfU0VUVElNRU9VVDoKKwkJ aWYgKGdldF91c2VyKG5ld19tYXJnaW4sIChpbnQgX191c2VyICopYXJnKSkK KwkJCXJldHVybiAtRUZBVUxUOworCQlvbWFwX3dkdF9hZGp1c3RfdGltZW91 dChuZXdfbWFyZ2luKTsKKworCQlvbWFwX3dkdF9kaXNhYmxlKCk7CisJCW9t YXBfd2R0X3NldF90aW1lb3V0KCk7CisJCW9tYXBfd2R0X2VuYWJsZSgpOwor CisJCW9tYXBfd2R0X3BpbmcoKTsKKwkJLyogRmFsbCAqLworCWNhc2UgV0RJ T0NfR0VUVElNRU9VVDoKKwkJcmV0dXJuIHB1dF91c2VyKHRpbWVyX21hcmdp biwgKGludCBfX3VzZXIgKilhcmcpOworCX0KK30KKworc3RhdGljIHN0cnVj dCBmaWxlX29wZXJhdGlvbnMgb21hcF93ZHRfZm9wcyA9IHsKKwkub3duZXIg PSBUSElTX01PRFVMRSwKKwkud3JpdGUgPSBvbWFwX3dkdF93cml0ZSwKKwku aW9jdGwgPSBvbWFwX3dkdF9pb2N0bCwKKwkub3BlbiA9IG9tYXBfd2R0X29w ZW4sCisJLnJlbGVhc2UgPSBvbWFwX3dkdF9yZWxlYXNlLAorfTsKKworc3Rh dGljIHN0cnVjdCBtaXNjZGV2aWNlIG9tYXBfd2R0X21pc2NkZXYgPSB7CisJ Lm1pbm9yID0gV0FUQ0hET0dfTUlOT1IsCisJLm5hbWUgPSAid2F0Y2hkb2ci LAorCS5mb3BzID0gJm9tYXBfd2R0X2ZvcHMKK307CisKK3N0YXRpYyBpbnQg X19pbml0IG9tYXBfd2R0X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpCit7CisJc3RydWN0IHJlc291cmNlICpyZXMsICptZW07CisJaW50 IHJldDsKKworCS8qIHJlc2VydmUgc3RhdGljIHJlZ2lzdGVyIG1hcHBpbmdz ICovCisJcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVT T1VSQ0VfTUVNLCAwKTsKKwlpZiAoIXJlcykKKwkJcmV0dXJuIC1FTk9FTlQ7 CisKKwltZW0gPSByZXF1ZXN0X21lbV9yZWdpb24ocmVzLT5zdGFydCwgcmVz LT5lbmQgLSByZXMtPnN0YXJ0ICsgMSwKKwkJCQkgcGRldi0+bmFtZSk7CisJ aWYgKG1lbSA9PSBOVUxMKQorCQlyZXR1cm4gLUVCVVNZOworCisJcGxhdGZv cm1fc2V0X2RydmRhdGEocGRldiwgbWVtKTsKKworCW9tYXBfd2R0X3VzZXJz ID0gMDsKKworCWlmIChjcHVfaXNfb21hcDE2eHgoKSkgeworCQlhcm13ZHRf Y2sgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsICJhcm13ZHRfY2siKTsKKwkJaWYg KElTX0VSUihhcm13ZHRfY2spKSB7CisJCQlyZXQgPSBQVFJfRVJSKGFybXdk dF9jayk7CisJCQlhcm13ZHRfY2sgPSBOVUxMOworCQkJZ290byBmYWlsOwor CQl9CisJfQorCisJaWYgKGNwdV9pc19vbWFwMjR4eCgpKSB7CisJCW1wdV93 ZHRfaWNrID0gY2xrX2dldCgmcGRldi0+ZGV2LCAibXB1X3dkdF9pY2siKTsK KwkJaWYgKElTX0VSUihtcHVfd2R0X2ljaykpIHsKKwkJCXJldCA9IFBUUl9F UlIobXB1X3dkdF9pY2spOworCQkJbXB1X3dkdF9pY2sgPSBOVUxMOworCQkJ Z290byBmYWlsOworCQl9CisJCW1wdV93ZHRfZmNrID0gY2xrX2dldCgmcGRl di0+ZGV2LCAibXB1X3dkdF9mY2siKTsKKwkJaWYgKElTX0VSUihtcHVfd2R0 X2ZjaykpIHsKKwkJCXJldCA9IFBUUl9FUlIobXB1X3dkdF9mY2spOworCQkJ bXB1X3dkdF9mY2sgPSBOVUxMOworCQkJZ290byBmYWlsOworCQl9CisJfQor CisJb21hcF93ZHRfZGlzYWJsZSgpOworCW9tYXBfd2R0X2FkanVzdF90aW1l b3V0KHRpbWVyX21hcmdpbik7CisKKwlvbWFwX3dkdF9taXNjZGV2LmRldiA9 ICZwZGV2LT5kZXY7CisJcmV0ID0gbWlzY19yZWdpc3Rlcigmb21hcF93ZHRf bWlzY2Rldik7CisJaWYgKHJldCkKKwkJZ290byBmYWlsOworCisJcHJfaW5m bygiT01BUCBXYXRjaGRvZyBUaW1lcjogaW5pdGlhbCB0aW1lb3V0ICVkIHNl Y1xuIiwgdGltZXJfbWFyZ2luKTsKKworCS8qIGF1dG9nYXRlIE9DUCBpbnRl cmZhY2UgY2xvY2sgKi8KKwlvbWFwX3dyaXRlbCgweDAxLCBPTUFQX1dBVENI RE9HX1NZU19DT05GSUcpOworCXJldHVybiAwOworCitmYWlsOgorCWlmIChh cm13ZHRfY2spCisJCWNsa19wdXQoYXJtd2R0X2NrKTsKKwlpZiAobXB1X3dk dF9pY2spCisJCWNsa19wdXQobXB1X3dkdF9pY2spOworCWlmIChtcHVfd2R0 X2ZjaykKKwkJY2xrX3B1dChtcHVfd2R0X2Zjayk7CisJcmVsZWFzZV9yZXNv dXJjZShtZW0pOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIG9t YXBfd2R0X3NodXRkb3duKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp Cit7CisJb21hcF93ZHRfZGlzYWJsZSgpOworfQorCitzdGF0aWMgaW50IG9t YXBfd2R0X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQor eworCXN0cnVjdCByZXNvdXJjZSAqbWVtID0gcGxhdGZvcm1fZ2V0X2RydmRh dGEocGRldik7CisJbWlzY19kZXJlZ2lzdGVyKCZvbWFwX3dkdF9taXNjZGV2 KTsKKwlyZWxlYXNlX3Jlc291cmNlKG1lbSk7CisJaWYgKGFybXdkdF9jaykK KwkJY2xrX3B1dChhcm13ZHRfY2spOworCWlmIChtcHVfd2R0X2ljaykKKwkJ Y2xrX3B1dChtcHVfd2R0X2ljayk7CisJaWYgKG1wdV93ZHRfZmNrKQorCQlj bGtfcHV0KG1wdV93ZHRfZmNrKTsKKwlyZXR1cm4gMDsKK30KKworI2lmZGVm CUNPTkZJR19QTQorCisvKiBSRVZJU0lUIC4uLiBub3QgY2xlYXIgdGhpcyBp cyB0aGUgYmVzdCB3YXkgdG8gaGFuZGxlIHN5c3RlbSBzdXNwZW5kOyBhbmQK KyAqIGl0J3MgdmVyeSBpbmFwcHJvcHJpYXRlIGZvciBzZWxlY3RpdmUgZGV2 aWNlIHN1c3BlbmQgKGUuZy4gc3VzcGVuZGluZyB0aGlzCisgKiB0aHJvdWdo IHN5c2ZzIHJhdGhlciB0aGFuIGJ5IHN0b3BwaW5nIHRoZSB3YXRjaGRvZyBk YWVtb24pLiAgQWxzbywgdGhpcworICogbWF5IG5vdCBwbGF5IHdlbGwgZW5v dWdoIHdpdGggTk9XQVlPVVQuLi4KKyAqLworCitzdGF0aWMgaW50IG9tYXBf d2R0X3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1f bWVzc2FnZV90IHN0YXRlKQoreworCWlmIChvbWFwX3dkdF91c2VycykKKwkJ b21hcF93ZHRfZGlzYWJsZSgpOworCXJldHVybiAwOworfQorCitzdGF0aWMg aW50IG9tYXBfd2R0X3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQoreworCWlmIChvbWFwX3dkdF91c2VycykgeworCQlvbWFwX3dkdF9l bmFibGUoKTsKKwkJb21hcF93ZHRfcGluZygpOworCX0KKwlyZXR1cm4gMDsK K30KKworI2Vsc2UKKyNkZWZpbmUJb21hcF93ZHRfc3VzcGVuZAlOVUxMCisj ZGVmaW5lCW9tYXBfd2R0X3Jlc3VtZQkJTlVMTAorI2VuZGlmCisKK3N0YXRp YyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG9tYXBfd2R0X2RyaXZlciA9IHsK KwkucHJvYmUJCT0gb21hcF93ZHRfcHJvYmUsCisJLnJlbW92ZQkJPSBvbWFw X3dkdF9yZW1vdmUsCisJLnNodXRkb3duCT0gb21hcF93ZHRfc2h1dGRvd24s CisJLnN1c3BlbmQJPSBvbWFwX3dkdF9zdXNwZW5kLAorCS5yZXN1bWUJCT0g b21hcF93ZHRfcmVzdW1lLAorCS5kcml2ZXIJCT0geworCQkub3duZXIJPSBU SElTX01PRFVMRSwKKwkJLm5hbWUJPSAib21hcF93ZHQiLAorCX0sCit9Owor CitzdGF0aWMgaW50IF9faW5pdCBvbWFwX3dkdF9pbml0KHZvaWQpCit7CisJ cmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3Rlcigmb21hcF93ZHRfZHJp dmVyKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IG9tYXBfd2R0X2V4aXQo dm9pZCkKK3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3Rlcigmb21hcF93 ZHRfZHJpdmVyKTsKK30KKworbW9kdWxlX2luaXQob21hcF93ZHRfaW5pdCk7 Cittb2R1bGVfZXhpdChvbWFwX3dkdF9leGl0KTsKKworTU9EVUxFX0FVVEhP UigiR2VvcmdlIEcuIERhdmlzIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7 CitNT0RVTEVfQUxJQVNfTUlTQ0RFVihXQVRDSERPR19NSU5PUik7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2NoYXIvd2F0Y2hkb2cvb21hcF93ZHQuaCBiL2Ry aXZlcnMvY2hhci93YXRjaGRvZy9vbWFwX3dkdC5oCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyYTUzMmEKLS0tIC9kZXYvbnVsbAor KysgYi9kcml2ZXJzL2NoYXIvd2F0Y2hkb2cvb21hcF93ZHQuaApAQCAtMCww ICsxLDY0IEBACisvKgorICogIGxpbnV4L2RyaXZlcnMvY2hhci93YXRjaGRv Zy9vbWFwX3dkdC5oCisgKgorICogIEJSSUVGIE1PRFVMRSBERVNDUklQVElP TgorICogICAgICBPTUFQIFdhdGNoZG9nIHRpbWVyIHJlZ2lzdGVyIGRlZmlu aXRpb25zCisgKgorICogIENvcHlyaWdodCAoQykgMjAwNCBUZXhhcyBJbnN0 cnVtZW50cy4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlICBpdCBhbmQvb3IgbW9kaWZ5IGl0 CisgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiAgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUg IExpY2Vuc2UsIG9yIChhdCB5b3VyCisgKiAgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KKyAqCisgKiAgVEhJUyAgU09GVFdBUkUgIElTIFBST1ZJREVE ICAgYGBBUyAgSVMnJyBBTkQgICBBTlkgIEVYUFJFU1MgT1IgSU1QTElFRAor ICogIFdBUlJBTlRJRVMsICAgSU5DTFVESU5HLCBCVVQgTk9UICBMSU1JVEVE ICBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorICogIE1FUkNIQU5U QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QVJFIERJU0NMQUlNRUQuICBJTgorICogIE5PICBFVkVOVCAgU0hBTEwgICBU SEUgQVVUSE9SICBCRSAgICBMSUFCTEUgRk9SIEFOWSAgIERJUkVDVCwgSU5E SVJFQ1QsCisgKiAgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiAg Tk9UIExJTUlURUQgICBUTywgUFJPQ1VSRU1FTlQgT0YgIFNVQlNUSVRVVEUg R09PRFMgIE9SIFNFUlZJQ0VTOyBMT1NTIE9GCisgKiAgVVNFLCBEQVRBLCAg T1IgUFJPRklUUzsgT1IgIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF UiBDQVVTRUQgQU5EIE9OCisgKiAgQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks IFdIRVRIRVIgSU4gIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU T1JUCisgKiAgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiAgVEhJ UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU WSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFsb25nCisgKiAgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3Jp dGUgIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisg KiAgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisg Ki8KKworI2lmbmRlZiBfT01BUF9XQVRDSERPR19ICisjZGVmaW5lIF9PTUFQ X1dBVENIRE9HX0gKKworI2RlZmluZSBPTUFQMTYxMF9XQVRDSERPR19CQVNF CQkweGZmZmViMDAwCisjZGVmaW5lIE9NQVAyNDIwX1dBVENIRE9HX0JBU0UJ CTB4NDgwMjIwMDAJLypXRFQgVGltZXIgMiAqLworCisjaWZkZWYgQ09ORklH X0FSQ0hfT01BUDI0WFgKKyNkZWZpbmUgT01BUF9XQVRDSERPR19CQVNFIAkJ T01BUDI0MjBfV0FUQ0hET0dfQkFTRQorI2Vsc2UKKyNkZWZpbmUgT01BUF9X QVRDSERPR19CQVNFIAkJT01BUDE2MTBfV0FUQ0hET0dfQkFTRQorI2RlZmlu ZSBSTV9SU1RTVF9XS1VQCQkJMAorI2VuZGlmCisKKyNkZWZpbmUgT01BUF9X QVRDSERPR19SRVYJCShPTUFQX1dBVENIRE9HX0JBU0UgKyAweDAwKQorI2Rl ZmluZSBPTUFQX1dBVENIRE9HX1NZU19DT05GSUcJKE9NQVBfV0FUQ0hET0df QkFTRSArIDB4MTApCisjZGVmaW5lIE9NQVBfV0FUQ0hET0dfU1RBVFVTCQko T01BUF9XQVRDSERPR19CQVNFICsgMHgxNCkKKyNkZWZpbmUgT01BUF9XQVRD SERPR19DTlRSTAkJKE9NQVBfV0FUQ0hET0dfQkFTRSArIDB4MjQpCisjZGVm aW5lIE9NQVBfV0FUQ0hET0dfQ1JSCQkoT01BUF9XQVRDSERPR19CQVNFICsg MHgyOCkKKyNkZWZpbmUgT01BUF9XQVRDSERPR19MRFIJCShPTUFQX1dBVENI RE9HX0JBU0UgKyAweDJjKQorI2RlZmluZSBPTUFQX1dBVENIRE9HX1RHUgkJ KE9NQVBfV0FUQ0hET0dfQkFTRSArIDB4MzApCisjZGVmaW5lIE9NQVBfV0FU Q0hET0dfV1BTCQkoT01BUF9XQVRDSERPR19CQVNFICsgMHgzNCkKKyNkZWZp bmUgT01BUF9XQVRDSERPR19TUFIJCShPTUFQX1dBVENIRE9HX0JBU0UgKyAw eDQ4KQorCisvKiBVc2luZyB0aGUgcHJlc2NhbGVyLCB0aGUgT01BUCB3YXRj aGRvZyBjb3VsZCBnbyBmb3IgbWFueQorICogbW9udGhzIGJlZm9yZSBmaXJp bmcuICBUaGVzZSBsaW1pdHMgd29yayB3aXRob3V0IHNjYWxpbmcsCisgKiB3 aXRoIHRoZSA2MCBzZWNvbmQgZGVmYXVsdCBhc3N1bWVkIGJ5IG1vc3QgdG9v bHMgYW5kIGRvY3MuCisgKi8KKyNkZWZpbmUgVElNRVJfTUFSR0lOX01BWCAg ICAJKDI0ICogNjAgKiA2MCkJLyogMSBkYXkgKi8KKyNkZWZpbmUgVElNRVJf TUFSR0lOX0RFRkFVTFQJNjAJLyogNjAgc2VjcyAqLworI2RlZmluZSBUSU1F Ul9NQVJHSU5fTUlOCTEKKworI2RlZmluZSBQVFYJCQkwCS8qIHByZXNjYWxl ICovCisjZGVmaW5lIEdFVF9XTERSX1ZBTChzZWNzKQkoMHhmZmZmZmZmZiAt ICgoc2VjcykgKiAoMzI3NjgvKDE8PFBUVikpKSArIDEpCisKKyNlbmRpZgkJ CQkvKiBfT01BUF9XQVRDSERPR19IICovCi0tIAoxLjMuMwoK --_----------=_1153567435162500--