From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8F5CCC04EBF for ; Tue, 4 Dec 2018 20:45:53 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5CFDF2081C for ; Tue, 4 Dec 2018 20:45:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="SsbTkaeJ"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="Wn/ZzqXQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5CFDF2081C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=1iV3DRd5xdR+3bh1JewpcNKG64LkJ+3u3WVbOdi/smc=; b=SsbTkaeJJkf9Vf yw7Vkwwd4ykZnyhg/3aktdWCCfzrHJALdJgWf9F27pcHFf1pxskF6PVpCfiR46dKJP7wmkwRSPGTH yTx3RxaLsj0y21pR4JHtPHKoBkJTRe5P4+U+GrSsmo5AuS81jJGhaD9m9+Ydv3kriHc61apeCDjrS CWdGp3vCyDNHPxVVelcVhMQgsWQKx53iWdtV3UkfH4moC+bzCNJ7HLUWlGEMsY4WRZbv1XL2qtm/z EB7XodpOvqFwdpTVtgHUqH3k1g4BH4GxhUa8bflWmupMhPIxKSEJ8kxiUDNgqRyDAxWSorLbCHrOP cHg0kFFtwPpenA2BE7pw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gUHZn-0002ae-VD; Tue, 04 Dec 2018 20:45:51 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gUHZh-0002MQ-PD; Tue, 04 Dec 2018 20:45:49 +0000 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0CC1420850; Tue, 4 Dec 2018 20:45:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543956335; bh=HmjuJHkDrYNR8NPIHtzxbmWq9hBB6THigmUOeQ0PSJc=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Wn/ZzqXQRqKtJeADQZ1t4WulJ+MjXHJO2nYJ/kLhGP2O4MWHy0WHB2bHvxLjBhBFv aURpYLun+5VafKAHePojUm/hv4JbjpXllm0+LFZYIzBsOCKxeSySOQxcMdutbLW9QM vM/GqGcRGVOyKWZJdZAkjlO6AdRGvsbHyko6ahrg= Received: by mail-wr1-f41.google.com with SMTP id v13so17387263wrw.5; Tue, 04 Dec 2018 12:45:34 -0800 (PST) X-Gm-Message-State: AA+aEWZkdRLWkreHyhU31so9TRWZR4g5lqGRZtwOtluEL2Qdf39Mibhm qomdpOgSgpZuJZWWMnyh6rAE7pypwAJbmBuNQtY= X-Google-Smtp-Source: AFSGD/V6bVA4gf7RKzW/jP3CW5k0DEj4H2UHgDWAg0ccYLKzj6SiUVs2GunoGiI4H3h861KuYwCl4y/z291xIDHcaFA= X-Received: by 2002:adf:b243:: with SMTP id y3mr4839148wra.184.1543956333467; Tue, 04 Dec 2018 12:45:33 -0800 (PST) MIME-Version: 1.0 References: <1543843974-4054-1-git-send-email-qii.wang@mediatek.com> <1543843974-4054-4-git-send-email-qii.wang@mediatek.com> In-Reply-To: <1543843974-4054-4-git-send-email-qii.wang@mediatek.com> From: Sean Wang Date: Tue, 4 Dec 2018 12:45:22 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 3/5] i2c: mediatek: Add offsets array for new i2c registers To: qii.wang@mediatek.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181204_124546_405493_616541BB X-CRM114-Status: GOOD ( 19.69 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, ryder.lee@mediatek.com, srv_heupstream@mediatek.com, wsa@the-dreams.de, leilk.liu@mediatek.com, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-i2c@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org PHFpaS53YW5nQG1lZGlhdGVrLmNvbT4g5pa8IDIwMTjlubQxMuaciDPml6Ug6YCx5LiAIOS4iuWN iDU6MzXlr6vpgZPvvJoKPgo+IEZyb206IHFpaSB3YW5nIDxxaWkud2FuZ0BtZWRpYXRlay5jb20+ Cj4KPiBOZXcgaTJjIHJlZ2lzdGVycyB3b3VsZCBoYXZlIGRpZmZlcmVudCBvZmZzZXRzLCBzbyB3 ZSB1c2UgZGlmZmVyZW50Cj4gb2Zmc2V0cyBhcnJheSB0byBkaXN0aW5ndWlzaCBkaWZmZXJlbnQg aTJjIHJlZ2lzdGVycyB2ZXJzaW9uLgo+Cj4gU2lnbmVkLW9mZi1ieTogcWlpIHdhbmcgPHFpaS53 YW5nQG1lZGlhdGVrLmNvbT4KClRoZXkgYXJlIGFsbW9zdCAxIHRvIDEgZnVuY3Rpb24gdHJhbnNs YXRpb24gYmVpbmcgdGFrZW4gaGVyZSwgc28KUmV2aWV3ZWQtYnk6IFNlYW4gV2FuZyA8c2Vhbi53 YW5nQGtlcm5lbC5vcmc+Cgo+IC0tLQo+ICBkcml2ZXJzL2kyYy9idXNzZXMvaTJjLW10NjV4eC5j IHwgIDE2MyArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxl IGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspLCA1OSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW10NjV4eC5jIGIvZHJpdmVycy9pMmMvYnVzc2Vz L2kyYy1tdDY1eHguYwo+IGluZGV4IDY2MGRlMWUuLjQyOGFjOTkgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9pMmMvYnVzc2VzL2kyYy1tdDY1eHguYwo+ICsrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9p MmMtbXQ2NXh4LmMKPiBAQCAtMTA2LDM0ICsxMDYsNjIgQEAgZW51bSBtdGtfdHJhbnNfb3Agewo+ ICB9Owo+Cj4gIGVudW0gSTJDX1JFR1NfT0ZGU0VUIHsKPiAtICAgICAgIE9GRlNFVF9EQVRBX1BP UlQgPSAweDAsCj4gLSAgICAgICBPRkZTRVRfU0xBVkVfQUREUiA9IDB4MDQsCj4gLSAgICAgICBP RkZTRVRfSU5UUl9NQVNLID0gMHgwOCwKPiAtICAgICAgIE9GRlNFVF9JTlRSX1NUQVQgPSAweDBj LAo+IC0gICAgICAgT0ZGU0VUX0NPTlRST0wgPSAweDEwLAo+IC0gICAgICAgT0ZGU0VUX1RSQU5T RkVSX0xFTiA9IDB4MTQsCj4gLSAgICAgICBPRkZTRVRfVFJBTlNBQ19MRU4gPSAweDE4LAo+IC0g ICAgICAgT0ZGU0VUX0RFTEFZX0xFTiA9IDB4MWMsCj4gLSAgICAgICBPRkZTRVRfVElNSU5HID0g MHgyMCwKPiAtICAgICAgIE9GRlNFVF9TVEFSVCA9IDB4MjQsCj4gLSAgICAgICBPRkZTRVRfRVhU X0NPTkYgPSAweDI4LAo+IC0gICAgICAgT0ZGU0VUX0ZJRk9fU1RBVCA9IDB4MzAsCj4gLSAgICAg ICBPRkZTRVRfRklGT19USFJFU0ggPSAweDM0LAo+IC0gICAgICAgT0ZGU0VUX0ZJRk9fQUREUl9D TFIgPSAweDM4LAo+IC0gICAgICAgT0ZGU0VUX0lPX0NPTkZJRyA9IDB4NDAsCj4gLSAgICAgICBP RkZTRVRfUlNWX0RFQlVHID0gMHg0NCwKPiAtICAgICAgIE9GRlNFVF9IUyA9IDB4NDgsCj4gLSAg ICAgICBPRkZTRVRfU09GVFJFU0VUID0gMHg1MCwKPiAtICAgICAgIE9GRlNFVF9EQ01fRU4gPSAw eDU0LAo+IC0gICAgICAgT0ZGU0VUX1BBVEhfRElSID0gMHg2MCwKPiAtICAgICAgIE9GRlNFVF9E RUJVR1NUQVQgPSAweDY0LAo+IC0gICAgICAgT0ZGU0VUX0RFQlVHQ1RSTCA9IDB4NjgsCj4gLSAg ICAgICBPRkZTRVRfVFJBTlNGRVJfTEVOX0FVWCA9IDB4NmMsCj4gLSAgICAgICBPRkZTRVRfQ0xP Q0tfRElWID0gMHg3MCwKPiArICAgICAgIE9GRlNFVF9EQVRBX1BPUlQsCj4gKyAgICAgICBPRkZT RVRfU0xBVkVfQUREUiwKPiArICAgICAgIE9GRlNFVF9JTlRSX01BU0ssCj4gKyAgICAgICBPRkZT RVRfSU5UUl9TVEFULAo+ICsgICAgICAgT0ZGU0VUX0NPTlRST0wsCj4gKyAgICAgICBPRkZTRVRf VFJBTlNGRVJfTEVOLAo+ICsgICAgICAgT0ZGU0VUX1RSQU5TQUNfTEVOLAo+ICsgICAgICAgT0ZG U0VUX0RFTEFZX0xFTiwKPiArICAgICAgIE9GRlNFVF9USU1JTkcsCj4gKyAgICAgICBPRkZTRVRf U1RBUlQsCj4gKyAgICAgICBPRkZTRVRfRVhUX0NPTkYsCj4gKyAgICAgICBPRkZTRVRfRklGT19T VEFULAo+ICsgICAgICAgT0ZGU0VUX0ZJRk9fVEhSRVNILAo+ICsgICAgICAgT0ZGU0VUX0ZJRk9f QUREUl9DTFIsCj4gKyAgICAgICBPRkZTRVRfSU9fQ09ORklHLAo+ICsgICAgICAgT0ZGU0VUX1JT Vl9ERUJVRywKPiArICAgICAgIE9GRlNFVF9IUywKPiArICAgICAgIE9GRlNFVF9TT0ZUUkVTRVQs Cj4gKyAgICAgICBPRkZTRVRfRENNX0VOLAo+ICsgICAgICAgT0ZGU0VUX1BBVEhfRElSLAo+ICsg ICAgICAgT0ZGU0VUX0RFQlVHU1RBVCwKPiArICAgICAgIE9GRlNFVF9ERUJVR0NUUkwsCj4gKyAg ICAgICBPRkZTRVRfVFJBTlNGRVJfTEVOX0FVWCwKPiArICAgICAgIE9GRlNFVF9DTE9DS19ESVYs Cj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3QgdTE2IG10X2kyY19yZWdzX3YxW10gPSB7Cj4gKyAg ICAgICBbT0ZGU0VUX0RBVEFfUE9SVF0gPSAweDAsCj4gKyAgICAgICBbT0ZGU0VUX1NMQVZFX0FE RFJdID0gMHg0LAo+ICsgICAgICAgW09GRlNFVF9JTlRSX01BU0tdID0gMHg4LAo+ICsgICAgICAg W09GRlNFVF9JTlRSX1NUQVRdID0gMHhjLAo+ICsgICAgICAgW09GRlNFVF9DT05UUk9MXSA9IDB4 MTAsCj4gKyAgICAgICBbT0ZGU0VUX1RSQU5TRkVSX0xFTl0gPSAweDE0LAo+ICsgICAgICAgW09G RlNFVF9UUkFOU0FDX0xFTl0gPSAweDE4LAo+ICsgICAgICAgW09GRlNFVF9ERUxBWV9MRU5dID0g MHgxYywKPiArICAgICAgIFtPRkZTRVRfVElNSU5HXSA9IDB4MjAsCj4gKyAgICAgICBbT0ZGU0VU X1NUQVJUXSA9IDB4MjQsCj4gKyAgICAgICBbT0ZGU0VUX0VYVF9DT05GXSA9IDB4MjgsCj4gKyAg ICAgICBbT0ZGU0VUX0ZJRk9fU1RBVF0gPSAweDMwLAo+ICsgICAgICAgW09GRlNFVF9GSUZPX1RI UkVTSF0gPSAweDM0LAo+ICsgICAgICAgW09GRlNFVF9GSUZPX0FERFJfQ0xSXSA9IDB4MzgsCj4g KyAgICAgICBbT0ZGU0VUX0lPX0NPTkZJR10gPSAweDQwLAo+ICsgICAgICAgW09GRlNFVF9SU1Zf REVCVUddID0gMHg0NCwKPiArICAgICAgIFtPRkZTRVRfSFNdID0gMHg0OCwKPiArICAgICAgIFtP RkZTRVRfU09GVFJFU0VUXSA9IDB4NTAsCj4gKyAgICAgICBbT0ZGU0VUX0RDTV9FTl0gPSAweDU0 LAo+ICsgICAgICAgW09GRlNFVF9QQVRIX0RJUl0gPSAweDYwLAo+ICsgICAgICAgW09GRlNFVF9E RUJVR1NUQVRdID0gMHg2NCwKPiArICAgICAgIFtPRkZTRVRfREVCVUdDVFJMXSA9IDB4NjgsCj4g KyAgICAgICBbT0ZGU0VUX1RSQU5TRkVSX0xFTl9BVVhdID0gMHg2YywKPiArICAgICAgIFtPRkZT RVRfQ0xPQ0tfRElWXSA9IDB4NzAsCj4gIH07Cj4KPiAgc3RydWN0IG10a19pMmNfY29tcGF0aWJs ZSB7Cj4gICAgICAgICBjb25zdCBzdHJ1Y3QgaTJjX2FkYXB0ZXJfcXVpcmtzICpxdWlya3M7Cj4g KyAgICAgICBjb25zdCB1MTYgKnJlZ3M7Cj4gICAgICAgICB1bnNpZ25lZCBjaGFyIHBtaWNfaTJj OiAxOwo+ICAgICAgICAgdW5zaWduZWQgY2hhciBkY206IDE7Cj4gICAgICAgICB1bnNpZ25lZCBj aGFyIGF1dG9fcmVzdGFydDogMTsKPiBAQCAtMTgxLDYgKzIwOSw3IEBAIHN0cnVjdCBtdGtfaTJj IHsKPiAgfTsKPgo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19pMmNfY29tcGF0aWJsZSBtdDI3 MTJfY29tcGF0ID0gewo+ICsgICAgICAgLnJlZ3MgPSBtdF9pMmNfcmVnc192MSwKPiAgICAgICAg IC5wbWljX2kyYyA9IDAsCj4gICAgICAgICAuZGNtID0gMSwKPiAgICAgICAgIC5hdXRvX3Jlc3Rh cnQgPSAxLAo+IEBAIC0xOTEsNiArMjIwLDcgQEAgc3RydWN0IG10a19pMmMgewo+Cj4gIHN0YXRp YyBjb25zdCBzdHJ1Y3QgbXRrX2kyY19jb21wYXRpYmxlIG10NjU3N19jb21wYXQgPSB7Cj4gICAg ICAgICAucXVpcmtzID0gJm10NjU3N19pMmNfcXVpcmtzLAo+ICsgICAgICAgLnJlZ3MgPSBtdF9p MmNfcmVnc192MSwKPiAgICAgICAgIC5wbWljX2kyYyA9IDAsCj4gICAgICAgICAuZGNtID0gMSwK PiAgICAgICAgIC5hdXRvX3Jlc3RhcnQgPSAwLAo+IEBAIC0yMDEsNiArMjMxLDcgQEAgc3RydWN0 IG10a19pMmMgewo+Cj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2kyY19jb21wYXRpYmxlIG10 NjU4OV9jb21wYXQgPSB7Cj4gICAgICAgICAucXVpcmtzID0gJm10NjU3N19pMmNfcXVpcmtzLAo+ ICsgICAgICAgLnJlZ3MgPSBtdF9pMmNfcmVnc192MSwKPiAgICAgICAgIC5wbWljX2kyYyA9IDEs Cj4gICAgICAgICAuZGNtID0gMCwKPiAgICAgICAgIC5hdXRvX3Jlc3RhcnQgPSAwLAo+IEBAIC0y MTEsNiArMjQyLDcgQEAgc3RydWN0IG10a19pMmMgewo+Cj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg bXRrX2kyY19jb21wYXRpYmxlIG10NzYyMl9jb21wYXQgPSB7Cj4gICAgICAgICAucXVpcmtzID0g Jm10NzYyMl9pMmNfcXVpcmtzLAo+ICsgICAgICAgLnJlZ3MgPSBtdF9pMmNfcmVnc192MSwKPiAg ICAgICAgIC5wbWljX2kyYyA9IDAsCj4gICAgICAgICAuZGNtID0gMSwKPiAgICAgICAgIC5hdXRv X3Jlc3RhcnQgPSAxLAo+IEBAIC0yMjAsNiArMjUyLDcgQEAgc3RydWN0IG10a19pMmMgewo+ICB9 Owo+Cj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2kyY19jb21wYXRpYmxlIG10ODE3M19jb21w YXQgPSB7Cj4gKyAgICAgICAucmVncyA9IG10X2kyY19yZWdzX3YxLAo+ICAgICAgICAgLnBtaWNf aTJjID0gMCwKPiAgICAgICAgIC5kY20gPSAxLAo+ICAgICAgICAgLmF1dG9fcmVzdGFydCA9IDEs Cj4gQEAgLTIzOCw2ICsyNzEsMTcgQEAgc3RydWN0IG10a19pMmMgewo+ICB9Owo+ICBNT0RVTEVf REVWSUNFX1RBQkxFKG9mLCBtdGtfaTJjX29mX21hdGNoKTsKPgo+ICtzdGF0aWMgdTE2IG10a19p MmNfcmVhZHcoc3RydWN0IG10a19pMmMgKmkyYywgZW51bSBJMkNfUkVHU19PRkZTRVQgcmVnKQo+ ICt7Cj4gKyAgICAgICByZXR1cm4gcmVhZHcoaTJjLT5iYXNlICsgaTJjLT5kZXZfY29tcC0+cmVn c1tyZWddKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgbXRrX2kyY193cml0ZXcoc3RydWN0IG10 a19pMmMgKmkyYywgdTE2IHZhbCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIEky Q19SRUdTX09GRlNFVCByZWcpCj4gK3sKPiArICAgICAgIHdyaXRldyh2YWwsIGkyYy0+YmFzZSAr IGkyYy0+ZGV2X2NvbXAtPnJlZ3NbcmVnXSk7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgbXRrX2ky Y19jbG9ja19lbmFibGUoc3RydWN0IG10a19pMmMgKmkyYykKPiAgewo+ICAgICAgICAgaW50IHJl dDsKPiBAQCAtMjc4LDMxICszMjIsMzEgQEAgc3RhdGljIHZvaWQgbXRrX2kyY19pbml0X2h3KHN0 cnVjdCBtdGtfaTJjICppMmMpCj4gIHsKPiAgICAgICAgIHUxNiBjb250cm9sX3JlZzsKPgo+IC0g ICAgICAgd3JpdGV3KEkyQ19TT0ZUX1JTVCwgaTJjLT5iYXNlICsgT0ZGU0VUX1NPRlRSRVNFVCk7 Cj4gKyAgICAgICBtdGtfaTJjX3dyaXRldyhpMmMsIEkyQ19TT0ZUX1JTVCwgT0ZGU0VUX1NPRlRS RVNFVCk7Cj4KPiAgICAgICAgIC8qIFNldCBpb2NvbmZpZyAqLwo+ICAgICAgICAgaWYgKGkyYy0+ dXNlX3B1c2hfcHVsbCkKPiAtICAgICAgICAgICAgICAgd3JpdGV3KEkyQ19JT19DT05GSUdfUFVT SF9QVUxMLCBpMmMtPmJhc2UgKyBPRkZTRVRfSU9fQ09ORklHKTsKPiArICAgICAgICAgICAgICAg bXRrX2kyY193cml0ZXcoaTJjLCBJMkNfSU9fQ09ORklHX1BVU0hfUFVMTCwgT0ZGU0VUX0lPX0NP TkZJRyk7Cj4gICAgICAgICBlbHNlCj4gLSAgICAgICAgICAgICAgIHdyaXRldyhJMkNfSU9fQ09O RklHX09QRU5fRFJBSU4sIGkyYy0+YmFzZSArIE9GRlNFVF9JT19DT05GSUcpOwo+ICsgICAgICAg ICAgICAgICBtdGtfaTJjX3dyaXRldyhpMmMsIEkyQ19JT19DT05GSUdfT1BFTl9EUkFJTiwgT0ZG U0VUX0lPX0NPTkZJRyk7Cj4KPiAgICAgICAgIGlmIChpMmMtPmRldl9jb21wLT5kY20pCj4gLSAg ICAgICAgICAgICAgIHdyaXRldyhJMkNfRENNX0RJU0FCTEUsIGkyYy0+YmFzZSArIE9GRlNFVF9E Q01fRU4pOwo+ICsgICAgICAgICAgICAgICBtdGtfaTJjX3dyaXRldyhpMmMsIEkyQ19EQ01fRElT QUJMRSwgT0ZGU0VUX0RDTV9FTik7Cj4KPiAgICAgICAgIGlmIChpMmMtPmRldl9jb21wLT50aW1p bmdfYWRqdXN0KQo+IC0gICAgICAgICAgICAgICB3cml0ZXcoSTJDX0RFRkFVTFRfQ0xLX0RJViAt IDEsIGkyYy0+YmFzZSArIE9GRlNFVF9DTE9DS19ESVYpOwo+ICsgICAgICAgICAgICAgICBtdGtf aTJjX3dyaXRldyhpMmMsIEkyQ19ERUZBVUxUX0NMS19ESVYgLSAxLCBPRkZTRVRfQ0xPQ0tfRElW KTsKPgo+IC0gICAgICAgd3JpdGV3KGkyYy0+dGltaW5nX3JlZywgaTJjLT5iYXNlICsgT0ZGU0VU X1RJTUlORyk7Cj4gLSAgICAgICB3cml0ZXcoaTJjLT5oaWdoX3NwZWVkX3JlZywgaTJjLT5iYXNl ICsgT0ZGU0VUX0hTKTsKPiArICAgICAgIG10a19pMmNfd3JpdGV3KGkyYywgaTJjLT50aW1pbmdf cmVnLCBPRkZTRVRfVElNSU5HKTsKPiArICAgICAgIG10a19pMmNfd3JpdGV3KGkyYywgaTJjLT5o aWdoX3NwZWVkX3JlZywgT0ZGU0VUX0hTKTsKPgo+ICAgICAgICAgLyogSWYgdXNlIGkyYyBwaW4g ZnJvbSBQTUlDIG10NjM5NyBzaWRlLCBuZWVkIHNldCBQQVRIX0RJUiBmaXJzdCAqLwo+ICAgICAg ICAgaWYgKGkyYy0+aGF2ZV9wbWljKQo+IC0gICAgICAgICAgICAgICB3cml0ZXcoSTJDX0NPTlRS T0xfV1JBUFBFUiwgaTJjLT5iYXNlICsgT0ZGU0VUX1BBVEhfRElSKTsKPiArICAgICAgICAgICAg ICAgbXRrX2kyY193cml0ZXcoaTJjLCBJMkNfQ09OVFJPTF9XUkFQUEVSLCBPRkZTRVRfUEFUSF9E SVIpOwo+Cj4gICAgICAgICBjb250cm9sX3JlZyA9IEkyQ19DT05UUk9MX0FDS0VSUl9ERVRfRU4g fAo+ICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ09OVFJPTF9DTEtfRVhUX0VOIHwgSTJDX0NP TlRST0xfRE1BX0VOOwo+IC0gICAgICAgd3JpdGV3KGNvbnRyb2xfcmVnLCBpMmMtPmJhc2UgKyBP RkZTRVRfQ09OVFJPTCk7Cj4gLSAgICAgICB3cml0ZXcoSTJDX0RFTEFZX0xFTiwgaTJjLT5iYXNl ICsgT0ZGU0VUX0RFTEFZX0xFTik7Cj4gKyAgICAgICBtdGtfaTJjX3dyaXRldyhpMmMsIGNvbnRy b2xfcmVnLCBPRkZTRVRfQ09OVFJPTCk7Cj4gKyAgICAgICBtdGtfaTJjX3dyaXRldyhpMmMsIEky Q19ERUxBWV9MRU4sIE9GRlNFVF9ERUxBWV9MRU4pOwo+Cj4gICAgICAgICB3cml0ZWwoSTJDX0RN QV9IQVJEX1JTVCwgaTJjLT5wZG1hYmFzZSArIE9GRlNFVF9SU1QpOwo+ICAgICAgICAgdWRlbGF5 KDUwKTsKPiBAQCAtNDU0LDcgKzQ5OCw3IEBAIHN0YXRpYyBpbnQgbXRrX2kyY19kb190cmFuc2Zl cihzdHJ1Y3QgbXRrX2kyYyAqaTJjLCBzdHJ1Y3QgaTJjX21zZyAqbXNncywKPgo+ICAgICAgICAg cmVpbml0X2NvbXBsZXRpb24oJmkyYy0+bXNnX2NvbXBsZXRlKTsKPgo+IC0gICAgICAgY29udHJv bF9yZWcgPSByZWFkdyhpMmMtPmJhc2UgKyBPRkZTRVRfQ09OVFJPTCkgJgo+ICsgICAgICAgY29u dHJvbF9yZWcgPSBtdGtfaTJjX3JlYWR3KGkyYywgT0ZGU0VUX0NPTlRST0wpICYKPiAgICAgICAg ICAgICAgICAgICAgICAgICB+KEkyQ19DT05UUk9MX0RJUl9DSEFOR0UgfCBJMkNfQ09OVFJPTF9S Uyk7Cj4gICAgICAgICBpZiAoKGkyYy0+c3BlZWRfaHogPiBNQVhfRlNfTU9ERV9TUEVFRCkgfHwg KGxlZnRfbnVtID49IDEpKQo+ICAgICAgICAgICAgICAgICBjb250cm9sX3JlZyB8PSBJMkNfQ09O VFJPTF9SUzsKPiBAQCAtNDYyLDQwICs1MDYsNDEgQEAgc3RhdGljIGludCBtdGtfaTJjX2RvX3Ry YW5zZmVyKHN0cnVjdCBtdGtfaTJjICppMmMsIHN0cnVjdCBpMmNfbXNnICptc2dzLAo+ICAgICAg ICAgaWYgKGkyYy0+b3AgPT0gSTJDX01BU1RFUl9XUlJEKQo+ICAgICAgICAgICAgICAgICBjb250 cm9sX3JlZyB8PSBJMkNfQ09OVFJPTF9ESVJfQ0hBTkdFIHwgSTJDX0NPTlRST0xfUlM7Cj4KPiAt ICAgICAgIHdyaXRldyhjb250cm9sX3JlZywgaTJjLT5iYXNlICsgT0ZGU0VUX0NPTlRST0wpOwo+ ICsgICAgICAgbXRrX2kyY193cml0ZXcoaTJjLCBjb250cm9sX3JlZywgT0ZGU0VUX0NPTlRST0wp Owo+Cj4gICAgICAgICAvKiBzZXQgc3RhcnQgY29uZGl0aW9uICovCj4gICAgICAgICBpZiAoaTJj LT5zcGVlZF9oeiA8PSBJMkNfREVGQVVMVF9TUEVFRCkKPiAtICAgICAgICAgICAgICAgd3JpdGV3 KEkyQ19TVF9TVEFSVF9DT04sIGkyYy0+YmFzZSArIE9GRlNFVF9FWFRfQ09ORik7Cj4gKyAgICAg ICAgICAgICAgIG10a19pMmNfd3JpdGV3KGkyYywgSTJDX1NUX1NUQVJUX0NPTiwgT0ZGU0VUX0VY VF9DT05GKTsKPiAgICAgICAgIGVsc2UKPiAtICAgICAgICAgICAgICAgd3JpdGV3KEkyQ19GU19T VEFSVF9DT04sIGkyYy0+YmFzZSArIE9GRlNFVF9FWFRfQ09ORik7Cj4gKyAgICAgICAgICAgICAg IG10a19pMmNfd3JpdGV3KGkyYywgSTJDX0ZTX1NUQVJUX0NPTiwgT0ZGU0VUX0VYVF9DT05GKTsK Pgo+ICAgICAgICAgYWRkcl9yZWcgPSBpMmNfOGJpdF9hZGRyX2Zyb21fbXNnKG1zZ3MpOwo+IC0g ICAgICAgd3JpdGV3KGFkZHJfcmVnLCBpMmMtPmJhc2UgKyBPRkZTRVRfU0xBVkVfQUREUik7Cj4g KyAgICAgICBtdGtfaTJjX3dyaXRldyhpMmMsIGFkZHJfcmVnLCBPRkZTRVRfU0xBVkVfQUREUik7 Cj4KPiAgICAgICAgIC8qIENsZWFyIGludGVycnVwdCBzdGF0dXMgKi8KPiAtICAgICAgIHdyaXRl dyhyZXN0YXJ0X2ZsYWcgfCBJMkNfSFNfTkFDS0VSUiB8IEkyQ19BQ0tFUlIgfAo+IC0gICAgICAg ICAgICAgIEkyQ19UUkFOU0FDX0NPTVAsIGkyYy0+YmFzZSArIE9GRlNFVF9JTlRSX1NUQVQpOwo+ IC0gICAgICAgd3JpdGV3KEkyQ19GSUZPX0FERFJfQ0xSLCBpMmMtPmJhc2UgKyBPRkZTRVRfRklG T19BRERSX0NMUik7Cj4gKyAgICAgICBtdGtfaTJjX3dyaXRldyhpMmMsIHJlc3RhcnRfZmxhZyB8 IEkyQ19IU19OQUNLRVJSIHwgSTJDX0FDS0VSUiB8Cj4gKyAgICAgICAgICAgICAgSTJDX1RSQU5T QUNfQ09NUCwgT0ZGU0VUX0lOVFJfU1RBVCk7Cj4gKwo+ICsgICAgICAgbXRrX2kyY193cml0ZXco aTJjLCBJMkNfRklGT19BRERSX0NMUiwgT0ZGU0VUX0ZJRk9fQUREUl9DTFIpOwo+Cj4gICAgICAg ICAvKiBFbmFibGUgaW50ZXJydXB0ICovCj4gLSAgICAgICB3cml0ZXcocmVzdGFydF9mbGFnIHwg STJDX0hTX05BQ0tFUlIgfCBJMkNfQUNLRVJSIHwKPiAtICAgICAgICAgICAgICBJMkNfVFJBTlNB Q19DT01QLCBpMmMtPmJhc2UgKyBPRkZTRVRfSU5UUl9NQVNLKTsKPiArICAgICAgIG10a19pMmNf d3JpdGV3KGkyYywgcmVzdGFydF9mbGFnIHwgSTJDX0hTX05BQ0tFUlIgfCBJMkNfQUNLRVJSIHwK PiArICAgICAgICAgICAgICBJMkNfVFJBTlNBQ19DT01QLCBPRkZTRVRfSU5UUl9NQVNLKTsKPgo+ ICAgICAgICAgLyogU2V0IHRyYW5zZmVyIGFuZCB0cmFuc2FjdGlvbiBsZW4gKi8KPiAgICAgICAg IGlmIChpMmMtPm9wID09IEkyQ19NQVNURVJfV1JSRCkgewo+ICAgICAgICAgICAgICAgICBpZiAo aTJjLT5kZXZfY29tcC0+YXV4X2xlbl9yZWcpIHsKPiAtICAgICAgICAgICAgICAgICAgICAgICB3 cml0ZXcobXNncy0+bGVuLCBpMmMtPmJhc2UgKyBPRkZTRVRfVFJBTlNGRVJfTEVOKTsKPiAtICAg ICAgICAgICAgICAgICAgICAgICB3cml0ZXcoKG1zZ3MgKyAxKS0+bGVuLCBpMmMtPmJhc2UgKwo+ IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPRkZTRVRfVFJBTlNGRVJfTEVOX0FVWCk7 Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgbXRrX2kyY193cml0ZXcoaTJjLCBtc2dzLT5sZW4s IE9GRlNFVF9UUkFOU0ZFUl9MRU4pOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIG10a19pMmNf d3JpdGV3KGkyYywgKG1zZ3MgKyAxKS0+bGVuLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT0ZGU0VUX1RSQU5TRkVSX0xFTl9BVVgpOwo+ICAgICAgICAgICAg ICAgICB9IGVsc2Ugewo+IC0gICAgICAgICAgICAgICAgICAgICAgIHdyaXRldyhtc2dzLT5sZW4g fCAoKG1zZ3MgKyAxKS0+bGVuKSA8PCA4LAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpMmMtPmJhc2UgKyBPRkZTRVRfVFJBTlNGRVJfTEVOKTsKPiArICAgICAgICAgICAgICAgICAg ICAgICBtdGtfaTJjX3dyaXRldyhpMmMsIG1zZ3MtPmxlbiB8ICgobXNncyArIDEpLT5sZW4pIDw8 IDgsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPRkZTRVRf VFJBTlNGRVJfTEVOKTsKPiAgICAgICAgICAgICAgICAgfQo+IC0gICAgICAgICAgICAgICB3cml0 ZXcoSTJDX1dSUkRfVFJBTkFDX1ZBTFVFLCBpMmMtPmJhc2UgKyBPRkZTRVRfVFJBTlNBQ19MRU4p Owo+ICsgICAgICAgICAgICAgICBtdGtfaTJjX3dyaXRldyhpMmMsIEkyQ19XUlJEX1RSQU5BQ19W QUxVRSwgT0ZGU0VUX1RSQU5TQUNfTEVOKTsKPiAgICAgICAgIH0gZWxzZSB7Cj4gLSAgICAgICAg ICAgICAgIHdyaXRldyhtc2dzLT5sZW4sIGkyYy0+YmFzZSArIE9GRlNFVF9UUkFOU0ZFUl9MRU4p Owo+IC0gICAgICAgICAgICAgICB3cml0ZXcobnVtLCBpMmMtPmJhc2UgKyBPRkZTRVRfVFJBTlNB Q19MRU4pOwo+ICsgICAgICAgICAgICAgICBtdGtfaTJjX3dyaXRldyhpMmMsIG1zZ3MtPmxlbiwg T0ZGU0VUX1RSQU5TRkVSX0xFTik7Cj4gKyAgICAgICAgICAgICAgIG10a19pMmNfd3JpdGV3KGky YywgbnVtLCBPRkZTRVRfVFJBTlNBQ19MRU4pOwo+ICAgICAgICAgfQo+Cj4gICAgICAgICAvKiBQ cmVwYXJlIGJ1ZmZlciBkYXRhIHRvIHN0YXJ0IHRyYW5zZmVyICovCj4gQEAgLTYwNywxNCArNjUy LDE0IEBAIHN0YXRpYyBpbnQgbXRrX2kyY19kb190cmFuc2ZlcihzdHJ1Y3QgbXRrX2kyYyAqaTJj LCBzdHJ1Y3QgaTJjX21zZyAqbXNncywKPiAgICAgICAgICAgICAgICAgaWYgKGxlZnRfbnVtID49 IDEpCj4gICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRfcmVnIHw9IEkyQ19SU19NVUxfQ05G RzsKPiAgICAgICAgIH0KPiAtICAgICAgIHdyaXRldyhzdGFydF9yZWcsIGkyYy0+YmFzZSArIE9G RlNFVF9TVEFSVCk7Cj4gKyAgICAgICBtdGtfaTJjX3dyaXRldyhpMmMsIHN0YXJ0X3JlZywgT0ZG U0VUX1NUQVJUKTsKPgo+ICAgICAgICAgcmV0ID0gd2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0 KCZpMmMtPm1zZ19jb21wbGV0ZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpMmMtPmFkYXAudGltZW91dCk7Cj4KPiAgICAgICAgIC8qIENsZWFyIGludGVycnVw dCBtYXNrICovCj4gLSAgICAgICB3cml0ZXcofihyZXN0YXJ0X2ZsYWcgfCBJMkNfSFNfTkFDS0VS UiB8IEkyQ19BQ0tFUlIgfAo+IC0gICAgICAgICAgICAgIEkyQ19UUkFOU0FDX0NPTVApLCBpMmMt PmJhc2UgKyBPRkZTRVRfSU5UUl9NQVNLKTsKPiArICAgICAgIG10a19pMmNfd3JpdGV3KGkyYywg fihyZXN0YXJ0X2ZsYWcgfCBJMkNfSFNfTkFDS0VSUiB8IEkyQ19BQ0tFUlIgfAo+ICsgICAgICAg ICAgICAgIEkyQ19UUkFOU0FDX0NPTVApLCBPRkZTRVRfSU5UUl9NQVNLKTsKPgo+ICAgICAgICAg aWYgKGkyYy0+b3AgPT0gSTJDX01BU1RFUl9XUikgewo+ICAgICAgICAgICAgICAgICBkbWFfdW5t YXBfc2luZ2xlKGkyYy0+ZGV2LCB3cGFkZHIsCj4gQEAgLTcyNCw4ICs3NjksOCBAQCBzdGF0aWMg aXJxcmV0dXJuX3QgbXRrX2kyY19pcnEoaW50IGlycW5vLCB2b2lkICpkZXZfaWQpCj4gICAgICAg ICBpZiAoaTJjLT5hdXRvX3Jlc3RhcnQpCj4gICAgICAgICAgICAgICAgIHJlc3RhcnRfZmxhZyA9 IEkyQ19SU19UUkFOU0ZFUjsKPgo+IC0gICAgICAgaW50cl9zdGF0ID0gcmVhZHcoaTJjLT5iYXNl ICsgT0ZGU0VUX0lOVFJfU1RBVCk7Cj4gLSAgICAgICB3cml0ZXcoaW50cl9zdGF0LCBpMmMtPmJh c2UgKyBPRkZTRVRfSU5UUl9TVEFUKTsKPiArICAgICAgIGludHJfc3RhdCA9IG10a19pMmNfcmVh ZHcoaTJjLCBPRkZTRVRfSU5UUl9TVEFUKTsKPiArICAgICAgIG10a19pMmNfd3JpdGV3KGkyYywg aW50cl9zdGF0LCBPRkZTRVRfSU5UUl9TVEFUKTsKPgo+ICAgICAgICAgLyoKPiAgICAgICAgICAq IHdoZW4gb2NjdXJzIGFjayBlcnJvciwgaTJjIGNvbnRyb2xsZXIgZ2VuZXJhdGUgdHdvIGludGVy cnVwdHMKPiBAQCAtNzM3LDggKzc4Miw4IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBtdGtfaTJjX2ly cShpbnQgaXJxbm8sIHZvaWQgKmRldl9pZCkKPiAgICAgICAgIGlmIChpMmMtPmlnbm9yZV9yZXN0 YXJ0X2lycSAmJiAoaTJjLT5pcnFfc3RhdCAmIHJlc3RhcnRfZmxhZykpIHsKPiAgICAgICAgICAg ICAgICAgaTJjLT5pZ25vcmVfcmVzdGFydF9pcnEgPSBmYWxzZTsKPiAgICAgICAgICAgICAgICAg aTJjLT5pcnFfc3RhdCA9IDA7Cj4gLSAgICAgICAgICAgICAgIHdyaXRldyhJMkNfUlNfTVVMX0NO RkcgfCBJMkNfUlNfTVVMX1RSSUcgfCBJMkNfVFJBTlNBQ19TVEFSVCwKPiAtICAgICAgICAgICAg ICAgICAgICAgIGkyYy0+YmFzZSArIE9GRlNFVF9TVEFSVCk7Cj4gKyAgICAgICAgICAgICAgIG10 a19pMmNfd3JpdGV3KGkyYywgSTJDX1JTX01VTF9DTkZHIHwgSTJDX1JTX01VTF9UUklHIHwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfVFJBTlNBQ19TVEFSVCwgT0ZG U0VUX1NUQVJUKTsKPiAgICAgICAgIH0gZWxzZSB7Cj4gICAgICAgICAgICAgICAgIGlmIChpMmMt PmlycV9zdGF0ICYgKEkyQ19UUkFOU0FDX0NPTVAgfCByZXN0YXJ0X2ZsYWcpKQo+ICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbXBsZXRlKCZpMmMtPm1zZ19jb21wbGV0ZSk7Cj4gLS0KPiAxLjcu OS41Cj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gTGludXgtbWVkaWF0ZWsgbWFpbGluZyBsaXN0Cj4gTGludXgtbWVkaWF0ZWtAbGlzdHMuaW5m cmFkZWFkLm9yZwo+IGh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8v bGludXgtbWVkaWF0ZWsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFybS1rZXJuZWwK