From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752034AbZHaKxe (ORCPT ); Mon, 31 Aug 2009 06:53:34 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751108AbZHaKxe (ORCPT ); Mon, 31 Aug 2009 06:53:34 -0400 Received: from mail-ew0-f206.google.com ([209.85.219.206]:65399 "EHLO mail-ew0-f206.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751039AbZHaKxc (ORCPT ); Mon, 31 Aug 2009 06:53:32 -0400 MIME-Version: 1.0 In-Reply-To: <20090828174722.GB6162@sortiz.org> References: <1250517469-15899-1-git-send-email-amit.kucheria@verdurent.com> <1250517706-16053-1-git-send-email-amit.kucheria@verdurent.com> <20090828174722.GB6162@sortiz.org> Date: Mon, 31 Aug 2009 13:53:32 +0300 Message-ID: <37786d4b0908310353j37abd47ew1020a66e1caaa991@mail.gmail.com> Subject: Re: [PATCH 1/3] MFD: TWL4030: Add support for TWL4030/5030 dynamic power switching From: Amit Kucheria To: Samuel Ortiz Cc: linux-kernel@vger.kernel.org, dbrownell@users.sourceforge.net, linux-omap@vger.kernel.org Content-Type: multipart/mixed; boundary=0016e64c1ad04ac5a104726dd8b1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --0016e64c1ad04ac5a104726dd8b1 Content-Type: text/plain; charset=ISO-8859-1 On Fri, Aug 28, 2009 at 8:47 PM, Samuel Ortiz wrote: > Hi Amit, > > On Mon, Aug 17, 2009 at 05:01:46PM +0300, Amit Kucheria wrote: >> + >> +#include > You'll have to make your Kconfig entry depend on ARM if you want to include > this file. Too bad you need it just for the special sdp and ldp cases, but I > guess there's no other solution. > > Cheers, > Samuel. Hi Samuel, Modified patch with ARM dependency attached. Regards, Amit --0016e64c1ad04ac5a104726dd8b1 Content-Type: text/x-patch; charset=US-ASCII; name="0001-MFD-TWL4030-Add-support-for-TWL4030-5030-dynamic-pow.patch" Content-Disposition: attachment; filename="0001-MFD-TWL4030-Add-support-for-TWL4030-5030-dynamic-pow.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fz13b1gl0 RnJvbSBlZTBhNGZlZmVkN2IxODY3MjM0ZDk2ZGI2YWNiZjYyYmJkNjBjMGMwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbWl0IEt1Y2hlcmlhIDxhbWl0Lmt1Y2hlcmlhQHZlcmR1cmVu dC5jb20+CkRhdGU6IE1vbiwgNiBKdWwgMjAwOSAxNjo0MjozNyArMDMwMApTdWJqZWN0OiBbUEFU Q0ggMS8zXSBNRkQ6IFRXTDQwMzA6IEFkZCBzdXBwb3J0IGZvciBUV0w0MDMwLzUwMzAgZHluYW1p YyBwb3dlciBzd2l0Y2hpbmcKClRoZSBUV0w0MDMwLzUwMzAgZmFtaWx5IG9mIG11bHRpZnVuY3Rp b24gZGV2aWNlcyBhbGxvd3MgYm9hcmQtc3BlY2lmaWMKY29udHJvbCBvZiB0aGUgdGhlIHZhcmlv dXMgcmVndWxhdG9ycywgY2xvY2sgYW5kIHJlc2V0IGxpbmVzIHRocm91Z2gKJ3NjcmlwdHMnIHRo YXQgYXJlIGxvYWRlZCBpbnRvIGl0cyBtZW1vcnkuIFRoaXMgYWxsb3dzIGZvciBEeW5hbWljIFBv d2VyClN3aXRjaGluZyAoRFBTKS4KCkltcGxlbWVudCBib2FyZC1pbmRlcGVuZGVudCBjb3JlIHN1 cHBvcnQgZm9yIERQUyB0aGF0IGlzIHRoZW4gdXNlZCBieQpib2FyZC1zcGVjaWZpYyBjb2RlIHRv IGxvYWQgY3VzdG9tIERQUyBzY3JpcHRzLgoKU2lnbmVkLW9mZi1ieTogQW1pdCBLdWNoZXJpYSA8 YW1pdC5rdWNoZXJpYUB2ZXJkdXJlbnQuY29tPgpDYzogc2FtZW9AbGludXguaW50ZWwuY29tCkNj OiBkYnJvd25lbGxAdXNlcnMuc291cmNlZm9yZ2UubmV0CkNjOiBsaW51eC1rZXJuZWxAdmdlci5r ZXJuZWwub3JnCkNjOiBsaW51eC1vbWFwQHZnZXIua2VybmVsLm9yZwotLS0KIGRyaXZlcnMvbWZk L0tjb25maWcgICAgICAgICB8ICAgMTMgKysKIGRyaXZlcnMvbWZkL01ha2VmaWxlICAgICAgICB8 ICAgIDEgKwogZHJpdmVycy9tZmQvdHdsNDAzMC1jb3JlLmMgIHwgICAxMCArCiBkcml2ZXJzL21m ZC90d2w0MDMwLXBvd2VyLmMgfCAgNDY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIGluY2x1ZGUvbGludXgvaTJjL3R3bDQwMzAuaCB8ICAgOTQgKysrKysrKyst CiA1IGZpbGVzIGNoYW5nZWQsIDU3NCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21mZC90d2w0MDMwLXBvd2VyLmMKCmRpZmYgLS1naXQg YS9kcml2ZXJzL21mZC9LY29uZmlnIGIvZHJpdmVycy9tZmQvS2NvbmZpZwppbmRleCA0OTFhYzBm Li5jMGYxNjk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL21mZC9LY29uZmlnCisrKyBiL2RyaXZlcnMv bWZkL0tjb25maWcKQEAgLTEwOCw2ICsxMDgsMTkgQEAgY29uZmlnIFRXTDQwMzBfQ09SRQogCSAg aGlnaCBzcGVlZCBVU0IgT1RHIHRyYW5zY2VpdmVyLCBhbiBhdWRpbyBjb2RlYyAob24gbW9zdAog CSAgdmVyc2lvbnMpIGFuZCBtYW55IG90aGVyIGZlYXR1cmVzLgogCitjb25maWcgVFdMNDAzMF9Q T1dFUgorCWJvb2wgIlN1cHBvcnQgcG93ZXIgcmVzb3VyY2VzIG9uIFRXTDQwMzAgZmFtaWx5IGNo aXBzIgorCWRlcGVuZHMgb24gVFdMNDAzMF9DT1JFICYmIEFSTQorCWhlbHAKKwkgIFNheSB5ZXMg aGVyZSBpZiB5b3Ugd2FudCB0byB1c2UgdGhlIHBvd2VyIHJlc291cmNlcyBvbiB0aGUKKwkgIFRX TDQwMzAgZmFtaWx5IGNoaXBzLiAgTW9zdCBvZiB0aGVzZSByZXNvdXJjZXMgYXJlIHJlZ3VsYXRv cnMsCisJICB3aGljaCBoYXZlIGEgc2VwYXJhdGUgZHJpdmVyOyBzb21lIGFyZSBjb250cm9sIHNp Z25hbHMsIHN1Y2gKKwkgIGFzIGNsb2NrIHJlcXVlc3QgaGFuZHNoYWtpbmcuCisKKwkgIFRoaXMg ZHJpdmVyIHVzZXMgYm9hcmQtc3BlY2lmaWMgZGF0YSB0byBpbml0aWFsaXplIHRoZSByZXNvdXJj ZXMKKwkgIGFuZCBsb2FkIHNjcmlwdHMgY29udHJvbGluZyB3aGljaCByZXNvdXJjZXMgYXJlIHN3 aXRjaGVkIG9mZi9vbgorCSAgb3IgcmVzZXQgd2hlbiBhIHNsZWVwLCB3YWtldXAgb3Igd2FybSBy ZXNldCBldmVudCBvY2N1cnMuCisKIGNvbmZpZyBNRkRfVE1JTwogCWJvb2wKIAlkZWZhdWx0IG4K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL01ha2VmaWxlIGIvZHJpdmVycy9tZmQvTWFrZWZpbGUK aW5kZXggNmY4YTlhMS4uODRiOWVkYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZmQvTWFrZWZpbGUK KysrIGIvZHJpdmVycy9tZmQvTWFrZWZpbGUKQEAgLTIzLDYgKzIzLDcgQEAgb2JqLSQoQ09ORklH X1RQUzY1MDEwKQkJKz0gdHBzNjUwMTAubwogb2JqLSQoQ09ORklHX01FTkVMQVVTKQkJKz0gbWVu ZWxhdXMubwogCiBvYmotJChDT05GSUdfVFdMNDAzMF9DT1JFKQkrPSB0d2w0MDMwLWNvcmUubyB0 d2w0MDMwLWlycS5vCitvYmotJChDT05GSUdfVFdMNDAzMF9QT1dFUikgICAgKz0gdHdsNDAzMC1w b3dlci5vCiAKIG9iai0kKENPTkZJR19NRkRfQ09SRSkJCSs9IG1mZC1jb3JlLm8KIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9tZmQvdHdsNDAzMC1jb3JlLmMgYi9kcml2ZXJzL21mZC90d2w0MDMwLWNv cmUuYwppbmRleCBjYTU0OTk2Li4yOGE0NWEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL21mZC90d2w0 MDMwLWNvcmUuYworKysgYi9kcml2ZXJzL21mZC90d2w0MDMwLWNvcmUuYwpAQCAtODksNiArODks MTIgQEAKICNkZWZpbmUgdHdsX2hhc19tYWRjKCkJZmFsc2UKICNlbmRpZgogCisjaWZkZWYgQ09O RklHX1RXTDQwMzBfUE9XRVIKKyNkZWZpbmUgdHdsX2hhc19wb3dlcigpICAgICAgICB0cnVlCisj ZWxzZQorI2RlZmluZSB0d2xfaGFzX3Bvd2VyKCkgICAgICAgIGZhbHNlCisjZW5kaWYKKwogI2lm IGRlZmluZWQoQ09ORklHX1JUQ19EUlZfVFdMNDAzMCkgfHwgZGVmaW5lZChDT05GSUdfUlRDX0RS Vl9UV0w0MDMwX01PRFVMRSkKICNkZWZpbmUgdHdsX2hhc19ydGMoKQl0cnVlCiAjZWxzZQpAQCAt Nzg4LDYgKzc5NCwxMCBAQCB0d2w0MDMwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQs IGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKIAkvKiBzZXR1cCBjbG9jayBmcmFtZXdv cmsgKi8KIAljbG9ja3NfaW5pdCgmY2xpZW50LT5kZXYpOwogCisJLyogbG9hZCBwb3dlciBldmVu dCBzY3JpcHRzICovCisJaWYgKHR3bF9oYXNfcG93ZXIoKSAmJiBwZGF0YS0+cG93ZXIpCisJCXR3 bDQwMzBfcG93ZXJfaW5pdChwZGF0YS0+cG93ZXIpOworCiAJLyogTWF5YmUgaW5pdCB0aGUgVDIg SW50ZXJydXB0IHN1YnN5c3RlbSAqLwogCWlmIChjbGllbnQtPmlycQogCQkJJiYgcGRhdGEtPmly cV9iYXNlCmRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC90d2w0MDMwLXBvd2VyLmMgYi9kcml2ZXJz L21mZC90d2w0MDMwLXBvd2VyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u ZTc2ODhiMAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvbWZkL3R3bDQwMzAtcG93ZXIuYwpA QCAtMCwwICsxLDQ2NiBAQAorLyoKKyAqIGxpbnV4L2RyaXZlcnMvaTJjL2NoaXBzL3R3bDQwMzAt cG93ZXIuYworICoKKyAqIEhhbmRsZSBUV0w0MDMwIFBvd2VyIGluaXRpYWxpemF0aW9uCisgKgor ICogQ29weXJpZ2h0IChDKSAyMDA4IE5va2lhIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQgKEMp IDIwMDYgVGV4YXMgSW5zdHJ1bWVudHMsIEluYworICoKKyAqIFdyaXR0ZW4gYnkgCUthbGxlIEpv a2luaWVtaQorICoJCVBldGVyIERlIFNjaHJpanZlciA8cGV0ZXIuZGUtc2NocmlqdmVyQG5va2lh LmNvbT4KKyAqIFNldmVyYWwgZml4ZXMgYnkgQW1pdCBLdWNoZXJpYSA8YW1pdC5rdWNoZXJpYUB2 ZXJkdXJlbnQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBh bmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwKKyAqIFB1YmxpYyBMaWNlbnNlLiBTZWUg dGhlIGZpbGUgIkNPUFlJTkciIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzCisgKiBhcmNo aXZlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQor ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhl IEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3Vp dGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGlu dXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcG0uaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMv dHdsNDAzMC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorCisjaW5jbHVk ZSA8YXNtL21hY2gtdHlwZXMuaD4KKworc3RhdGljIHU4IHR3bDQwMzBfc3RhcnRfc2NyaXB0X2Fk ZHJlc3MgPSAweDJiOworCisjZGVmaW5lIFBXUl9QMV9TV19FVkVOVFMJMHgxMAorI2RlZmluZSBQ V1JfREVWT0ZGCSgxPDwwKQorCisjZGVmaW5lIFBIWV9UT19PRkZfUE1fTUFTVEVSKHApCQkocCAt IDB4MzYpCisjZGVmaW5lIFBIWV9UT19PRkZfUE1fUkVDRUlWRVIocCkJKHAgLSAweDViKQorCisv KiByZXNvdXJjZSAtIGhmY2xrICovCisjZGVmaW5lIFJfSEZDTEtPVVRfREVWX0dSUCAJUEhZX1RP X09GRl9QTV9SRUNFSVZFUigweGU2KQorCisvKiBQTSBldmVudHMgKi8KKyNkZWZpbmUgUl9QMV9T V19FVkVOVFMJCVBIWV9UT19PRkZfUE1fTUFTVEVSKDB4NDYpCisjZGVmaW5lIFJfUDJfU1dfRVZF TlRTCQlQSFlfVE9fT0ZGX1BNX01BU1RFUigweDQ3KQorI2RlZmluZSBSX1AzX1NXX0VWRU5UUwkJ UEhZX1RPX09GRl9QTV9NQVNURVIoMHg0OCkKKyNkZWZpbmUgUl9DRkdfUDFfVFJBTlNJVElPTglQ SFlfVE9fT0ZGX1BNX01BU1RFUigweDM2KQorI2RlZmluZSBSX0NGR19QMl9UUkFOU0lUSU9OCVBI WV9UT19PRkZfUE1fTUFTVEVSKDB4MzcpCisjZGVmaW5lIFJfQ0ZHX1AzX1RSQU5TSVRJT04JUEhZ X1RPX09GRl9QTV9NQVNURVIoMHgzOCkKKworI2RlZmluZSBMVkxfV0FLRVVQCTB4MDgKKworI2Rl ZmluZSBFTkFCTEVfV0FSTVJFU0VUICgxPDw0KQorCisjZGVmaW5lIEVORF9PRl9TQ1JJUFQJCTB4 M2YKKworI2RlZmluZSBSX1NFUV9BRERfQTJTCQlQSFlfVE9fT0ZGX1BNX01BU1RFUigweDU1KQor I2RlZmluZSBSX1NFUV9BRERfUzJBMTIJCVBIWV9UT19PRkZfUE1fTUFTVEVSKDB4NTYpCisjZGVm aW5lCVJfU0VRX0FERF9TMkEzCQlQSFlfVE9fT0ZGX1BNX01BU1RFUigweDU3KQorI2RlZmluZQlS X1NFUV9BRERfV0FSTQkJUEhZX1RPX09GRl9QTV9NQVNURVIoMHg1OCkKKyNkZWZpbmUgUl9NRU1P UllfQUREUkVTUwlQSFlfVE9fT0ZGX1BNX01BU1RFUigweDU5KQorI2RlZmluZSBSX01FTU9SWV9E QVRBCQlQSFlfVE9fT0ZGX1BNX01BU1RFUigweDVhKQorCisjZGVmaW5lIFJfUFJPVEVDVF9LRVkJ CTB4MEUKKyNkZWZpbmUgS0VZXzEJCQkweEMwCisjZGVmaW5lIEtFWV8yCQkJMHgwQworCisvKiBy ZXNvdXJjZSBjb25maWd1cmF0aW9uIHJlZ2lzdGVycyAqLworCisjZGVmaW5lIERFVkdST1VQX09G RlNFVAkJMAorI2RlZmluZSBUWVBFX09GRlNFVAkJMQorCisvKiBCaXQgcG9zaXRpb25zICovCisj ZGVmaW5lIERFVkdST1VQX1NISUZUCQk1CisjZGVmaW5lIERFVkdST1VQX01BU0sJCSg3IDw8IERF VkdST1VQX1NISUZUKQorI2RlZmluZSBUWVBFX1NISUZUCQkwCisjZGVmaW5lIFRZUEVfTUFTSwkJ KDcgPDwgVFlQRV9TSElGVCkKKyNkZWZpbmUgVFlQRTJfU0hJRlQJCTMKKyNkZWZpbmUgVFlQRTJf TUFTSwkJKDMgPDwgVFlQRTJfU0hJRlQpCisKK3N0YXRpYyB1OCByZXNfY29uZmlnX2FkZHJzW10g PSB7CisJW1JFU19WQVVYMV0JPSAweDE3LAorCVtSRVNfVkFVWDJdCT0gMHgxYiwKKwlbUkVTX1ZB VVgzXQk9IDB4MWYsCisJW1JFU19WQVVYNF0JPSAweDIzLAorCVtSRVNfVk1NQzFdCT0gMHgyNywK KwlbUkVTX1ZNTUMyXQk9IDB4MmIsCisJW1JFU19WUExMMV0JPSAweDJmLAorCVtSRVNfVlBMTDJd CT0gMHgzMywKKwlbUkVTX1ZTSU1dCT0gMHgzNywKKwlbUkVTX1ZEQUNdCT0gMHgzYiwKKwlbUkVT X1ZJTlRBTkExXQk9IDB4M2YsCisJW1JFU19WSU5UQU5BMl0JPSAweDQzLAorCVtSRVNfVklOVERJ R10JPSAweDQ3LAorCVtSRVNfVklPXQk9IDB4NGIsCisJW1JFU19WREQxXQk9IDB4NTUsCisJW1JF U19WREQyXQk9IDB4NjMsCisJW1JFU19WVVNCXzFWNV0JPSAweDcxLAorCVtSRVNfVlVTQl8xVjhd CT0gMHg3NCwKKwlbUkVTX1ZVU0JfM1YxXQk9IDB4NzcsCisJW1JFU19WVVNCQ1BdCT0gMHg3YSwK KwlbUkVTX1JFR0VOXQk9IDB4N2YsCisJW1JFU19OUkVTX1BXUk9OXSA9IDB4ODIsCisJW1JFU19D TEtFTl0JPSAweDg1LAorCVtSRVNfU1lTRU5dCT0gMHg4OCwKKwlbUkVTX0hGQ0xLT1VUXQk9IDB4 OGIsCisJW1JFU18zMktDTEtPVVRdCT0gMHg4ZSwKKwlbUkVTX1JFU0VUXQk9IDB4OTEsCisJW1JF U19NYWluX1JlZl0JPSAweDk0LAorfTsKKworc3RhdGljIGludCBfX2luaXQgdHdsNDAzMF93cml0 ZV9zY3JpcHRfYnl0ZSh1OCBhZGRyZXNzLCB1OCBieXRlKQoreworCWludCBlcnI7CisKKwllcnIg PSB0d2w0MDMwX2kyY193cml0ZV91OChUV0w0MDMwX01PRFVMRV9QTV9NQVNURVIsIGFkZHJlc3Ms CisJCQkJUl9NRU1PUllfQUREUkVTUyk7CisJaWYgKGVycikKKwkJZ290byBvdXQ7CisJZXJyID0g dHdsNDAzMF9pMmNfd3JpdGVfdTgoVFdMNDAzMF9NT0RVTEVfUE1fTUFTVEVSLCBieXRlLAorCQkJ CVJfTUVNT1JZX0RBVEEpOworb3V0OgorCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgX19p bml0IHR3bDQwMzBfd3JpdGVfc2NyaXB0X2lucyh1OCBhZGRyZXNzLCB1MTYgcG1iX21lc3NhZ2Us CisJCQkJCSAgIHU4IGRlbGF5LCB1OCBuZXh0KQoreworCWludCBlcnI7CisKKwlhZGRyZXNzICo9 IDQ7CisJZXJyID0gdHdsNDAzMF93cml0ZV9zY3JpcHRfYnl0ZShhZGRyZXNzKyssIHBtYl9tZXNz YWdlID4+IDgpOworCWlmIChlcnIpCisJCWdvdG8gb3V0OworCWVyciA9IHR3bDQwMzBfd3JpdGVf c2NyaXB0X2J5dGUoYWRkcmVzcysrLCBwbWJfbWVzc2FnZSAmIDB4ZmYpOworCWlmIChlcnIpCisJ CWdvdG8gb3V0OworCWVyciA9IHR3bDQwMzBfd3JpdGVfc2NyaXB0X2J5dGUoYWRkcmVzcysrLCBk ZWxheSk7CisJaWYgKGVycikKKwkJZ290byBvdXQ7CisJZXJyID0gdHdsNDAzMF93cml0ZV9zY3Jp cHRfYnl0ZShhZGRyZXNzKyssIG5leHQpOworb3V0OgorCXJldHVybiBlcnI7Cit9CisKK3N0YXRp YyBpbnQgX19pbml0IHR3bDQwMzBfd3JpdGVfc2NyaXB0KHU4IGFkZHJlc3MsIHN0cnVjdCB0d2w0 MDMwX2lucyAqc2NyaXB0LAorCQkJCSAgICAgICBpbnQgbGVuKQoreworCWludCBlcnI7CisKKwlm b3IgKDsgbGVuOyBsZW4tLSwgYWRkcmVzcysrLCBzY3JpcHQrKykgeworCQlpZiAobGVuID09IDEp IHsKKwkJCWVyciA9IHR3bDQwMzBfd3JpdGVfc2NyaXB0X2lucyhhZGRyZXNzLAorCQkJCQkJc2Ny aXB0LT5wbWJfbWVzc2FnZSwKKwkJCQkJCXNjcmlwdC0+ZGVsYXksCisJCQkJCQlFTkRfT0ZfU0NS SVBUKTsKKwkJCWlmIChlcnIpCisJCQkJYnJlYWs7CisJCX0gZWxzZSB7CisJCQllcnIgPSB0d2w0 MDMwX3dyaXRlX3NjcmlwdF9pbnMoYWRkcmVzcywKKwkJCQkJCXNjcmlwdC0+cG1iX21lc3NhZ2Us CisJCQkJCQlzY3JpcHQtPmRlbGF5LAorCQkJCQkJYWRkcmVzcyArIDEpOworCQkJaWYgKGVycikK KwkJCQlicmVhazsKKwkJfQorCX0KKwlyZXR1cm4gZXJyOworfQorCitzdGF0aWMgaW50IF9faW5p dCB0d2w0MDMwX2NvbmZpZ193YWtldXAzX3NlcXVlbmNlKHU4IGFkZHJlc3MpCit7CisJaW50IGVy cjsKKwl1OCBkYXRhOworCisJLyogU2V0IFNMRUVQIHRvIEFDVElWRSBTRVEgYWRkcmVzcyBmb3Ig UDMgKi8KKwllcnIgPSB0d2w0MDMwX2kyY193cml0ZV91OChUV0w0MDMwX01PRFVMRV9QTV9NQVNU RVIsIGFkZHJlc3MsCisJCQkJUl9TRVFfQUREX1MyQTMpOworCWlmIChlcnIpCisJCWdvdG8gb3V0 OworCisJLyogUDMgTFZMX1dBS0VVUCBzaG91bGQgYmUgb24gTEVWRUwgKi8KKwllcnIgPSB0d2w0 MDMwX2kyY19yZWFkX3U4KFRXTDQwMzBfTU9EVUxFX1BNX01BU1RFUiwgJmRhdGEsCisJCQkJUl9Q M19TV19FVkVOVFMpOworCWlmIChlcnIpCisJCWdvdG8gb3V0OworCWRhdGEgfD0gTFZMX1dBS0VV UDsKKwllcnIgPSB0d2w0MDMwX2kyY193cml0ZV91OChUV0w0MDMwX01PRFVMRV9QTV9NQVNURVIs IGRhdGEsCisJCQkJUl9QM19TV19FVkVOVFMpOworb3V0OgorCWlmIChlcnIpCisJCXByX2Vycigi VFdMNDAzMCB3YWtldXAgc2VxdWVuY2UgZm9yIFAzIGNvbmZpZyBlcnJvclxuIik7CisJcmV0dXJu IGVycjsKK30KKworc3RhdGljIGludCBfX2luaXQgdHdsNDAzMF9jb25maWdfd2FrZXVwMTJfc2Vx dWVuY2UodTggYWRkcmVzcykKK3sKKwlpbnQgZXJyID0gMDsKKwl1OCBkYXRhOworCisJLyogU2V0 IFNMRUVQIHRvIEFDVElWRSBTRVEgYWRkcmVzcyBmb3IgUDEgYW5kIFAyICovCisJZXJyID0gdHds NDAzMF9pMmNfd3JpdGVfdTgoVFdMNDAzMF9NT0RVTEVfUE1fTUFTVEVSLCBhZGRyZXNzLAorCQkJ CVJfU0VRX0FERF9TMkExMik7CisJaWYgKGVycikKKwkJZ290byBvdXQ7CisKKwkvKiBQMS9QMiBM VkxfV0FLRVVQIHNob3VsZCBiZSBvbiBMRVZFTCAqLworCWVyciA9IHR3bDQwMzBfaTJjX3JlYWRf dTgoVFdMNDAzMF9NT0RVTEVfUE1fTUFTVEVSLCAmZGF0YSwKKwkJCQlSX1AxX1NXX0VWRU5UUyk7 CisJaWYgKGVycikKKwkJZ290byBvdXQ7CisKKwlkYXRhIHw9IExWTF9XQUtFVVA7CisJZXJyID0g dHdsNDAzMF9pMmNfd3JpdGVfdTgoVFdMNDAzMF9NT0RVTEVfUE1fTUFTVEVSLCBkYXRhLAorCQkJ CVJfUDFfU1dfRVZFTlRTKTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dDsKKworCWVyciA9IHR3bDQw MzBfaTJjX3JlYWRfdTgoVFdMNDAzMF9NT0RVTEVfUE1fTUFTVEVSLCAmZGF0YSwKKwkJCQlSX1Ay X1NXX0VWRU5UUyk7CisJaWYgKGVycikKKwkJZ290byBvdXQ7CisKKwlkYXRhIHw9IExWTF9XQUtF VVA7CisJZXJyID0gdHdsNDAzMF9pMmNfd3JpdGVfdTgoVFdMNDAzMF9NT0RVTEVfUE1fTUFTVEVS LCBkYXRhLAorCQkJCVJfUDJfU1dfRVZFTlRTKTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dDsKKwor CWlmIChtYWNoaW5lX2lzX29tYXBfMzQzMHNkcCgpIHx8IG1hY2hpbmVfaXNfb21hcF9sZHAoKSkg eworCQkvKiBEaXNhYmxpbmcgQUMgY2hhcmdlciBlZmZlY3Qgb24gc2xlZXAtYWN0aXZlIHRyYW5z aXRpb25zICovCisJCWVyciA9IHR3bDQwMzBfaTJjX3JlYWRfdTgoVFdMNDAzMF9NT0RVTEVfUE1f TUFTVEVSLCAmZGF0YSwKKwkJCQkJUl9DRkdfUDFfVFJBTlNJVElPTik7CisJCWlmIChlcnIpCisJ CQlnb3RvIG91dDsKKwkJZGF0YSAmPSB+KDE8PDEpOworCQllcnIgPSB0d2w0MDMwX2kyY193cml0 ZV91OChUV0w0MDMwX01PRFVMRV9QTV9NQVNURVIsIGRhdGEgLAorCQkJCQlSX0NGR19QMV9UUkFO U0lUSU9OKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gb3V0OworCX0KKworb3V0OgorCWlmIChlcnIp CisJCXByX2VycigiVFdMNDAzMCB3YWtldXAgc2VxdWVuY2UgZm9yIFAxIGFuZCBQMiIgXAorCQkJ ImNvbmZpZyBlcnJvclxuIik7CisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIGludCBfX2luaXQg dHdsNDAzMF9jb25maWdfc2xlZXBfc2VxdWVuY2UodTggYWRkcmVzcykKK3sKKwlpbnQgZXJyOwor CisJLyogU2V0IEFDVElWRSB0byBTTEVFUCBTRVEgYWRkcmVzcyBpbiBUMiBtZW1vcnkqLworCWVy ciA9IHR3bDQwMzBfaTJjX3dyaXRlX3U4KFRXTDQwMzBfTU9EVUxFX1BNX01BU1RFUiwgYWRkcmVz cywKKwkJCQlSX1NFUV9BRERfQTJTKTsKKworCWlmIChlcnIpCisJCXByX2VycigiVFdMNDAzMCBz bGVlcCBzZXF1ZW5jZSBjb25maWcgZXJyb3JcbiIpOworCisJcmV0dXJuIGVycjsKK30KKworc3Rh dGljIGludCBfX2luaXQgdHdsNDAzMF9jb25maWdfd2FybXJlc2V0X3NlcXVlbmNlKHU4IGFkZHJl c3MpCit7CisJaW50IGVycjsKKwl1OCByZF9kYXRhOworCisJLyogU2V0IFdBUk0gUkVTRVQgU0VR IGFkZHJlc3MgZm9yIFAxICovCisJZXJyID0gdHdsNDAzMF9pMmNfd3JpdGVfdTgoVFdMNDAzMF9N T0RVTEVfUE1fTUFTVEVSLCBhZGRyZXNzLAorCQkJCVJfU0VRX0FERF9XQVJNKTsKKwlpZiAoZXJy KQorCQlnb3RvIG91dDsKKworCS8qIFAxL1AyL1AzIGVuYWJsZSBXQVJNUkVTRVQgKi8KKwllcnIg PSB0d2w0MDMwX2kyY19yZWFkX3U4KFRXTDQwMzBfTU9EVUxFX1BNX01BU1RFUiwgJnJkX2RhdGEs CisJCQkJUl9QMV9TV19FVkVOVFMpOworCWlmIChlcnIpCisJCWdvdG8gb3V0OworCisJcmRfZGF0 YSB8PSBFTkFCTEVfV0FSTVJFU0VUOworCWVyciA9IHR3bDQwMzBfaTJjX3dyaXRlX3U4KFRXTDQw MzBfTU9EVUxFX1BNX01BU1RFUiwgcmRfZGF0YSwKKwkJCQlSX1AxX1NXX0VWRU5UUyk7CisJaWYg KGVycikKKwkJZ290byBvdXQ7CisKKwllcnIgPSB0d2w0MDMwX2kyY19yZWFkX3U4KFRXTDQwMzBf TU9EVUxFX1BNX01BU1RFUiwgJnJkX2RhdGEsCisJCQkJUl9QMl9TV19FVkVOVFMpOworCWlmIChl cnIpCisJCWdvdG8gb3V0OworCisJcmRfZGF0YSB8PSBFTkFCTEVfV0FSTVJFU0VUOworCWVyciA9 IHR3bDQwMzBfaTJjX3dyaXRlX3U4KFRXTDQwMzBfTU9EVUxFX1BNX01BU1RFUiwgcmRfZGF0YSwK KwkJCQlSX1AyX1NXX0VWRU5UUyk7CisJaWYgKGVycikKKwkJZ290byBvdXQ7CisKKwllcnIgPSB0 d2w0MDMwX2kyY19yZWFkX3U4KFRXTDQwMzBfTU9EVUxFX1BNX01BU1RFUiwgJnJkX2RhdGEsCisJ CQkJUl9QM19TV19FVkVOVFMpOworCWlmIChlcnIpCisJCWdvdG8gb3V0OworCisJcmRfZGF0YSB8 PSBFTkFCTEVfV0FSTVJFU0VUOworCWVyciA9IHR3bDQwMzBfaTJjX3dyaXRlX3U4KFRXTDQwMzBf TU9EVUxFX1BNX01BU1RFUiwgcmRfZGF0YSwKKwkJCQlSX1AzX1NXX0VWRU5UUyk7CitvdXQ6CisJ aWYgKGVycikKKwkJcHJfZXJyKCJUV0w0MDMwIHdhcm1yZXNldCBzZXEgY29uZmlnIGVycm9yXG4i KTsKKwlyZXR1cm4gZXJyOworfQorCitzdGF0aWMgaW50IF9faW5pdCB0d2w0MDMwX2NvbmZpZ3Vy ZV9yZXNvdXJjZShzdHJ1Y3QgdHdsNDAzMF9yZXNjb25maWcgKnJjb25maWcpCit7CisJaW50IHJj b25maWdfYWRkcjsKKwlpbnQgZXJyOworCXU4IHR5cGU7CisJdTggZ3JwOworCisJaWYgKHJjb25m aWctPnJlc291cmNlID4gVE9UQUxfUkVTT1VSQ0VTKSB7CisJCXByX2VycigiVFdMNDAzMCBSZXNv dXJjZSAlZCBkb2VzIG5vdCBleGlzdFxuIiwKKwkJCXJjb25maWctPnJlc291cmNlKTsKKwkJcmV0 dXJuIC1FSU5WQUw7CisJfQorCisJcmNvbmZpZ19hZGRyID0gcmVzX2NvbmZpZ19hZGRyc1tyY29u ZmlnLT5yZXNvdXJjZV07CisKKwkvKiBTZXQgcmVzb3VyY2UgZ3JvdXAgKi8KKwllcnIgPSB0d2w0 MDMwX2kyY19yZWFkX3U4KFRXTDQwMzBfTU9EVUxFX1BNX1JFQ0VJVkVSLCAmZ3JwLAorCQkJCXJj b25maWdfYWRkciArIERFVkdST1VQX09GRlNFVCk7CisJaWYgKGVycikgeworCQlwcl9lcnIoIlRX TDQwMzAgUmVzb3VyY2UgJWQgZ3JvdXAgY291bGQgbm90IGJlIHJlYWRcbiIsCisJCQlyY29uZmln LT5yZXNvdXJjZSk7CisJCXJldHVybiBlcnI7CisJfQorCisJaWYgKHJjb25maWctPmRldmdyb3Vw ID49IDApIHsKKwkJZ3JwICY9IH5ERVZHUk9VUF9NQVNLOworCQlncnAgfD0gcmNvbmZpZy0+ZGV2 Z3JvdXAgPDwgREVWR1JPVVBfU0hJRlQ7CisJCWVyciA9IHR3bDQwMzBfaTJjX3dyaXRlX3U4KFRX TDQwMzBfTU9EVUxFX1BNX1JFQ0VJVkVSLAorCQkJCQlncnAsIHJjb25maWdfYWRkciArIERFVkdS T1VQX09GRlNFVCk7CisJCWlmIChlcnIgPCAwKSB7CisJCQlwcl9lcnIoIlRXTDQwMzAgZmFpbGVk IHRvIHByb2dyYW0gZGV2Z3JvdXBcbiIpOworCQkJcmV0dXJuIGVycjsKKwkJfQorCX0KKworCS8q IFNldCByZXNvdXJjZSB0eXBlcyAqLworCWVyciA9IHR3bDQwMzBfaTJjX3JlYWRfdTgoVFdMNDAz MF9NT0RVTEVfUE1fUkVDRUlWRVIsICZ0eXBlLAorCQkJCXJjb25maWdfYWRkciArIFRZUEVfT0ZG U0VUKTsKKwlpZiAoZXJyIDwgMCkgeworCQlwcl9lcnIoIlRXTDQwMzAgUmVzb3VyY2UgJWQgdHlw ZSBjb3VsZCBub3QgYmUgcmVhZFxuIiwKKwkJCXJjb25maWctPnJlc291cmNlKTsKKwkJcmV0dXJu IGVycjsKKwl9CisKKwlpZiAocmNvbmZpZy0+dHlwZSA+PSAwKSB7CisJCXR5cGUgJj0gflRZUEVf TUFTSzsKKwkJdHlwZSB8PSByY29uZmlnLT50eXBlIDw8IFRZUEVfU0hJRlQ7CisJfQorCisJaWYg KHJjb25maWctPnR5cGUyID49IDApIHsKKwkJdHlwZSAmPSB+VFlQRTJfTUFTSzsKKwkJdHlwZSB8 PSByY29uZmlnLT50eXBlMiA8PCBUWVBFMl9TSElGVDsKKwl9CisKKwllcnIgPSB0d2w0MDMwX2ky Y193cml0ZV91OChUV0w0MDMwX01PRFVMRV9QTV9SRUNFSVZFUiwKKwkJCQl0eXBlLCByY29uZmln X2FkZHIgKyBUWVBFX09GRlNFVCk7CisJaWYgKGVyciA8IDApIHsKKwkJcHJfZXJyKCJUV0w0MDMw IGZhaWxlZCB0byBwcm9ncmFtIHJlc291cmNlIHR5cGVcbiIpOworCQlyZXR1cm4gZXJyOworCX0K KworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBsb2FkX3R3bDQwMzBfc2NyaXB0 KHN0cnVjdCB0d2w0MDMwX3NjcmlwdCAqdHNjcmlwdCwKKwkgICAgICAgdTggYWRkcmVzcykKK3sK KwlpbnQgZXJyOworCisJLyogTWFrZSBzdXJlIHRoZSBzY3JpcHQgaXNuJ3QgZ29pbmcgYmV5b25k IGxhc3QgdmFsaWQgYWRkcmVzcyAoMHgzZikgKi8KKwlpZiAoKGFkZHJlc3MgKyB0c2NyaXB0LT5z aXplKSA+IEVORF9PRl9TQ1JJUFQpIHsKKwkJcHJfZXJyKCJUV0w0MDMwIHNjcmlwdHMgdG9vIGJp ZyBlcnJvclxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWVyciA9IHR3bDQwMzBfd3Jp dGVfc2NyaXB0KGFkZHJlc3MsIHRzY3JpcHQtPnNjcmlwdCwgdHNjcmlwdC0+c2l6ZSk7CisJaWYg KGVycikKKwkJZ290byBvdXQ7CisKKwlpZiAodHNjcmlwdC0+ZmxhZ3MgJiBUV0w0MDMwX1dSU1Rf U0NSSVBUKSB7CisJCWVyciA9IHR3bDQwMzBfY29uZmlnX3dhcm1yZXNldF9zZXF1ZW5jZShhZGRy ZXNzKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gb3V0OworCX0KKwlpZiAodHNjcmlwdC0+ZmxhZ3Mg JiBUV0w0MDMwX1dBS0VVUDEyX1NDUklQVCkgeworCQllcnIgPSB0d2w0MDMwX2NvbmZpZ193YWtl dXAxMl9zZXF1ZW5jZShhZGRyZXNzKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gb3V0OworCX0KKwlp ZiAodHNjcmlwdC0+ZmxhZ3MgJiBUV0w0MDMwX1dBS0VVUDNfU0NSSVBUKSB7CisJCWVyciA9IHR3 bDQwMzBfY29uZmlnX3dha2V1cDNfc2VxdWVuY2UoYWRkcmVzcyk7CisJCWlmIChlcnIpCisJCQln b3RvIG91dDsKKwl9CisJaWYgKHRzY3JpcHQtPmZsYWdzICYgVFdMNDAzMF9TTEVFUF9TQ1JJUFQp CisJCWVyciA9IHR3bDQwMzBfY29uZmlnX3NsZWVwX3NlcXVlbmNlKGFkZHJlc3MpOworb3V0Ogor CXJldHVybiBlcnI7Cit9CisKK3ZvaWQgX19pbml0IHR3bDQwMzBfcG93ZXJfaW5pdChzdHJ1Y3Qg dHdsNDAzMF9wb3dlcl9kYXRhICp0d2w0MDMwX3NjcmlwdHMpCit7CisJaW50IGVyciA9IDA7CisJ aW50IGk7CisJc3RydWN0IHR3bDQwMzBfcmVzY29uZmlnICpyZXNjb25maWc7CisJdTggYWRkcmVz cyA9IHR3bDQwMzBfc3RhcnRfc2NyaXB0X2FkZHJlc3M7CisKKwllcnIgPSB0d2w0MDMwX2kyY193 cml0ZV91OChUV0w0MDMwX01PRFVMRV9QTV9NQVNURVIsIEtFWV8xLAorCQkJCVJfUFJPVEVDVF9L RVkpOworCWlmIChlcnIpCisJCWdvdG8gdW5sb2NrOworCisJZXJyID0gdHdsNDAzMF9pMmNfd3Jp dGVfdTgoVFdMNDAzMF9NT0RVTEVfUE1fTUFTVEVSLCBLRVlfMiwKKwkJCQlSX1BST1RFQ1RfS0VZ KTsKKwlpZiAoZXJyKQorCQlnb3RvIHVubG9jazsKKworCWZvciAoaSA9IDA7IGkgPCB0d2w0MDMw X3NjcmlwdHMtPm51bTsgaSsrKSB7CisJCWVyciA9IGxvYWRfdHdsNDAzMF9zY3JpcHQodHdsNDAz MF9zY3JpcHRzLT5zY3JpcHRzW2ldLCBhZGRyZXNzKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gbG9h ZDsKKwkJYWRkcmVzcyArPSB0d2w0MDMwX3NjcmlwdHMtPnNjcmlwdHNbaV0tPnNpemU7CisJfQor CisJcmVzY29uZmlnID0gdHdsNDAzMF9zY3JpcHRzLT5yZXNvdXJjZV9jb25maWc7CisJaWYgKHJl c2NvbmZpZykgeworCQl3aGlsZSAocmVzY29uZmlnLT5yZXNvdXJjZSkgeworCQkJZXJyID0gdHds NDAzMF9jb25maWd1cmVfcmVzb3VyY2UocmVzY29uZmlnKTsKKwkJCWlmIChlcnIpCisJCQkJZ290 byByZXNvdXJjZTsKKwkJCXJlc2NvbmZpZysrOworCisJCX0KKwl9CisKKwllcnIgPSB0d2w0MDMw X2kyY193cml0ZV91OChUV0w0MDMwX01PRFVMRV9QTV9NQVNURVIsIDAsIFJfUFJPVEVDVF9LRVkp OworCWlmIChlcnIpCisJCXByX2VycigiVFdMNDAzMCBVbmFibGUgdG8gcmVsb2NrIHJlZ2lzdGVy c1xuIik7CisJcmV0dXJuOworCit1bmxvY2s6CisJaWYgKGVycikKKwkJcHJfZXJyKCJUV0w0MDMw IFVuYWJsZSB0byB1bmxvY2sgcmVnaXN0ZXJzXG4iKTsKKwlyZXR1cm47Citsb2FkOgorCWlmIChl cnIpCisJCXByX2VycigiVFdMNDAzMCBmYWlsZWQgdG8gbG9hZCBzY3JpcHRzXG4iKTsKKwlyZXR1 cm47CityZXNvdXJjZToKKwlpZiAoZXJyKQorCQlwcl9lcnIoIlRXTDQwMzAgZmFpbGVkIHRvIGNv bmZpZ3VyZSByZXNvdXJjZVxuIik7CisJcmV0dXJuOworfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9s aW51eC9pMmMvdHdsNDAzMC5oIGIvaW5jbHVkZS9saW51eC9pMmMvdHdsNDAzMC5oCmluZGV4IDBk YzgwZWYuLmQwYzI0YWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaTJjL3R3bDQwMzAuaAor KysgYi9pbmNsdWRlL2xpbnV4L2kyYy90d2w0MDMwLmgKQEAgLTIyMCwxOSArMjIwLDI4IEBAIGlu dCB0d2w0MDMwX2kyY19yZWFkKHU4IG1vZF9ubywgdTggKnZhbHVlLCB1OCByZWcsIHVuc2lnbmVk IG51bV9ieXRlcyk7CiAKIC8qIFBvd2VyIGJ1cyBtZXNzYWdlIGRlZmluaXRpb25zICovCiAKLSNk ZWZpbmUgREVWX0dSUF9OVUxMCQkweDAKLSNkZWZpbmUgREVWX0dSUF9QMQkJMHgxCi0jZGVmaW5l IERFVl9HUlBfUDIJCTB4MgotI2RlZmluZSBERVZfR1JQX1AzCQkweDQKKy8qIFRoZSBUV0w0MDMw LzUwMzAgc3BsaXRzIGl0cyBwb3dlci1tYW5hZ2VtZW50IHJlc291cmNlcyAodGhlIHZhcmlvdXMK KyAqIHJlZ3VsYXRvcnMsIGNsb2NrIGFuZCByZXNldCBsaW5lcykgaW50byAzIHByb2Nlc3NvciBn cm91cHMgLSBQMSwgUDIgYW5kCisgKiBQMy4gVGhlc2UgZ3JvdXBzIGNhbiB0aGVuIGJlIGNvbmZp Z3VyZWQgdG8gdHJhbnNpdGlvbiBiZXR3ZWVuIHNsZWVwLCB3YWl0LW9uCisgKiBhbmQgYWN0aXZl IHN0YXRlcyBieSBzZW5kaW5nIG1lc3NhZ2VzIHRvIHRoZSBwb3dlciBidXMuICBTZWUgU2VjdGlv biA1LjQuMgorICogUG93ZXIgUmVzb3VyY2VzIG9mIFRXTDQwMzAgVFJNCisgKi8KIAotI2RlZmlu ZSBSRVNfR1JQX1JFUwkJMHgwCi0jZGVmaW5lIFJFU19HUlBfUFAJCTB4MQotI2RlZmluZSBSRVNf R1JQX1JDCQkweDIKKy8qIFByb2Nlc3NvciBncm91cHMgKi8KKyNkZWZpbmUgREVWX0dSUF9OVUxM CQkweDAKKyNkZWZpbmUgREVWX0dSUF9QMQkJMHgxCS8qIFAxOiBhbGwgT01BUCBkZXZpY2VzICov CisjZGVmaW5lIERFVl9HUlBfUDIJCTB4MgkvKiBQMjogYWxsIE1vZGVtIGRldmljZXMgKi8KKyNk ZWZpbmUgREVWX0dSUF9QMwkJMHg0CS8qIFAzOiBhbGwgcGVyaXBoZXJhbCBkZXZpY2VzICovCisK Ky8qIFJlc291cmNlIGdyb3VwcyAqLworI2RlZmluZSBSRVNfR1JQX1JFUwkJMHgwCS8qIFJlc2Vy dmVkICovCisjZGVmaW5lIFJFU19HUlBfUFAJCTB4MQkvKiBQb3dlciBwcm92aWRlcnMgKi8KKyNk ZWZpbmUgUkVTX0dSUF9SQwkJMHgyCS8qIFJlc2V0IGFuZCBjb250cm9sICovCiAjZGVmaW5lIFJF U19HUlBfUFBfUkMJCTB4MwotI2RlZmluZSBSRVNfR1JQX1BSCQkweDQKKyNkZWZpbmUgUkVTX0dS UF9QUgkJMHg0CS8qIFBvd2VyIHJlZmVyZW5jZXMgKi8KICNkZWZpbmUgUkVTX0dSUF9QUF9QUgkJ MHg1CiAjZGVmaW5lIFJFU19HUlBfUkNfUFIJCTB4NgotI2RlZmluZSBSRVNfR1JQX0FMTAkJMHg3 CisjZGVmaW5lIFJFU19HUlBfQUxMCQkweDcJLyogQWxsIHJlc291cmNlIGdyb3VwcyAqLwogCiAj ZGVmaW5lIFJFU19UWVBFMl9SMAkJMHgwCiAKQEAgLTI0Myw2ICsyNTIsNDEgQEAgaW50IHR3bDQw MzBfaTJjX3JlYWQodTggbW9kX25vLCB1OCAqdmFsdWUsIHU4IHJlZywgdW5zaWduZWQgbnVtX2J5 dGVzKTsKICNkZWZpbmUgUkVTX1NUQVRFX1NMRUVQCQkweDgKICNkZWZpbmUgUkVTX1NUQVRFX09G RgkJMHgwCiAKKy8qIFBvd2VyIHJlc291cmNlcyAqLworCisvKiBQb3dlciBwcm92aWRlcnMgKi8K KyNkZWZpbmUgUkVTX1ZBVVgxICAgICAgICAgICAgICAgMQorI2RlZmluZSBSRVNfVkFVWDIgICAg ICAgICAgICAgICAyCisjZGVmaW5lIFJFU19WQVVYMyAgICAgICAgICAgICAgIDMKKyNkZWZpbmUg UkVTX1ZBVVg0ICAgICAgICAgICAgICAgNAorI2RlZmluZSBSRVNfVk1NQzEgICAgICAgICAgICAg ICA1CisjZGVmaW5lIFJFU19WTU1DMiAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgUkVTX1ZQTEwx ICAgICAgICAgICAgICAgNworI2RlZmluZSBSRVNfVlBMTDIgICAgICAgICAgICAgICA4CisjZGVm aW5lIFJFU19WU0lNICAgICAgICAgICAgICAgIDkKKyNkZWZpbmUgUkVTX1ZEQUMgICAgICAgICAg ICAgICAgMTAKKyNkZWZpbmUgUkVTX1ZJTlRBTkExICAgICAgICAgICAgMTEKKyNkZWZpbmUgUkVT X1ZJTlRBTkEyICAgICAgICAgICAgMTIKKyNkZWZpbmUgUkVTX1ZJTlRESUcgICAgICAgICAgICAg MTMKKyNkZWZpbmUgUkVTX1ZJTyAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgUkVTX1ZERDEg ICAgICAgICAgICAgICAgMTUKKyNkZWZpbmUgUkVTX1ZERDIgICAgICAgICAgICAgICAgMTYKKyNk ZWZpbmUgUkVTX1ZVU0JfMVY1ICAgICAgICAgICAgMTcKKyNkZWZpbmUgUkVTX1ZVU0JfMVY4ICAg ICAgICAgICAgMTgKKyNkZWZpbmUgUkVTX1ZVU0JfM1YxICAgICAgICAgICAgMTkKKyNkZWZpbmUg UkVTX1ZVU0JDUCAgICAgICAgICAgICAgMjAKKyNkZWZpbmUgUkVTX1JFR0VOICAgICAgICAgICAg ICAgMjEKKy8qIFJlc2V0IGFuZCBjb250cm9sICovCisjZGVmaW5lIFJFU19OUkVTX1BXUk9OICAg ICAgICAgIDIyCisjZGVmaW5lIFJFU19DTEtFTiAgICAgICAgICAgICAgIDIzCisjZGVmaW5lIFJF U19TWVNFTiAgICAgICAgICAgICAgIDI0CisjZGVmaW5lIFJFU19IRkNMS09VVCAgICAgICAgICAg IDI1CisjZGVmaW5lIFJFU18zMktDTEtPVVQgICAgICAgICAgIDI2CisjZGVmaW5lIFJFU19SRVNF VCAgICAgICAgICAgICAgIDI3CisvKiBQb3dlciBSZWZlcmVuY2UgKi8KKyNkZWZpbmUgUkVTX01h aW5fUmVmICAgICAgICAgICAgMjgKKworI2RlZmluZSBUT1RBTF9SRVNPVVJDRVMJCTI4CiAvKgog ICogUG93ZXIgQnVzIE1lc3NhZ2UgRm9ybWF0IC4uLiB0aGVzZSBjYW4gYmUgc2VudCBpbmRpdmlk dWFsbHkgYnkgTGludXgsCiAgKiBidXQgYXJlIHVzdWFsbHkgcGFydCBvZiBkb3dubG9hZGVkIHNj cmlwdHMgdGhhdCBhcmUgcnVuIHdoZW4gdmFyaW91cwpAQCAtMzIwLDYgKzM2NCwzNiBAQCBzdHJ1 Y3QgdHdsNDAzMF91c2JfZGF0YSB7CiAJZW51bSB0d2w0MDMwX3VzYl9tb2RlCXVzYl9tb2RlOwog fTsKIAorc3RydWN0IHR3bDQwMzBfaW5zIHsKKwl1MTYgcG1iX21lc3NhZ2U7CisJdTggZGVsYXk7 Cit9OworCitzdHJ1Y3QgdHdsNDAzMF9zY3JpcHQgeworCXN0cnVjdCB0d2w0MDMwX2lucyAqc2Ny aXB0OworCXVuc2lnbmVkIHNpemU7CisJdTggZmxhZ3M7CisjZGVmaW5lIFRXTDQwMzBfV1JTVF9T Q1JJUFQJKDE8PDApCisjZGVmaW5lIFRXTDQwMzBfV0FLRVVQMTJfU0NSSVBUCSgxPDwxKQorI2Rl ZmluZSBUV0w0MDMwX1dBS0VVUDNfU0NSSVBUCSgxPDwyKQorI2RlZmluZSBUV0w0MDMwX1NMRUVQ X1NDUklQVAkoMTw8MykKK307CisKK3N0cnVjdCB0d2w0MDMwX3Jlc2NvbmZpZyB7CisJdTggcmVz b3VyY2U7CisJdTggZGV2Z3JvdXA7CS8qIFByb2Nlc3NvciBncm91cCB0aGF0IFBvd2VyIHJlc291 cmNlIGJlbG9uZ3MgdG8gKi8KKwl1OCB0eXBlOwkvKiBQb3dlciByZXNvdXJjZSBhZGRyZXNzZWQs IDYgLyBicm9hZGNhc3QgbWVzc2FnZSAqLworCXU4IHR5cGUyOwkvKiBQb3dlciByZXNvdXJjZSBh ZGRyZXNzZWQsIDMgLyBicm9hZGNhc3QgbWVzc2FnZSAqLworfTsKKworc3RydWN0IHR3bDQwMzBf cG93ZXJfZGF0YSB7CisJc3RydWN0IHR3bDQwMzBfc2NyaXB0ICoqc2NyaXB0czsKKwl1bnNpZ25l ZCBudW07CisJc3RydWN0IHR3bDQwMzBfcmVzY29uZmlnICpyZXNvdXJjZV9jb25maWc7Cit9Owor CitleHRlcm4gdm9pZCB0d2w0MDMwX3Bvd2VyX2luaXQoc3RydWN0IHR3bDQwMzBfcG93ZXJfZGF0 YSAqdHJpdG9uMl9zY3JpcHRzKTsKKwogc3RydWN0IHR3bDQwMzBfcGxhdGZvcm1fZGF0YSB7CiAJ dW5zaWduZWQJCQkJaXJxX2Jhc2UsIGlycV9lbmQ7CiAJc3RydWN0IHR3bDQwMzBfYmNpX3BsYXRm b3JtX2RhdGEJKmJjaTsKQEAgLTMyNyw2ICs0MDEsNyBAQCBzdHJ1Y3QgdHdsNDAzMF9wbGF0Zm9y bV9kYXRhIHsKIAlzdHJ1Y3QgdHdsNDAzMF9tYWRjX3BsYXRmb3JtX2RhdGEJKm1hZGM7CiAJc3Ry dWN0IHR3bDQwMzBfa2V5cGFkX2RhdGEJCSprZXlwYWQ7CiAJc3RydWN0IHR3bDQwMzBfdXNiX2Rh dGEJCQkqdXNiOworCXN0cnVjdCB0d2w0MDMwX3Bvd2VyX2RhdGEJCSpwb3dlcjsKIAogCS8qIExE TyByZWd1bGF0b3JzICovCiAJc3RydWN0IHJlZ3VsYXRvcl9pbml0X2RhdGEJCSp2ZGFjOwpAQCAt MzU3LDcgKzQzMiw2IEBAIGludCB0d2w0MDMwX3NpaF9zZXR1cChpbnQgbW9kdWxlKTsKICNkZWZp bmUgVFdMNDAzMF9WQVVYM19ERVZfR1JQCQkweDFGCiAjZGVmaW5lIFRXTDQwMzBfVkFVWDNfREVE SUNBVEVECQkweDIyCiAKLQogI2lmIGRlZmluZWQoQ09ORklHX1RXTDQwMzBfQkNJX0JBVFRFUlkp IHx8IFwKIAlkZWZpbmVkKENPTkZJR19UV0w0MDMwX0JDSV9CQVRURVJZX01PRFVMRSkKIAlleHRl cm4gaW50IHR3bDQwMzBjaGFyZ2VyX3VzYl9lbihpbnQgZW5hYmxlKTsKLS0gCjEuNi4zLjMKCg== --0016e64c1ad04ac5a104726dd8b1--