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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 747C0C54E49 for ; Thu, 29 Feb 2024 18:12:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=DQZZR03SGl05t61J6FtJkzcJ53vFts1ADMwtEpUwUmU=; b=R4oEFGQwMDdH5E KmUsJrIeJeJEPQfiWWT5fckBN6q4vI9x632gAObeB/VBT35UGowg+m28IM34AvnAPtqs59pSuzDO0 JaxXMwYLuQt/UI1Uoq4ir4GnDyd6pfqnFH0Tncjp2yKxKmp+R0lDkv42YUv+Npt5VQsTGKp6HBAMM oHQoDINo8lWsfKtBLuV+f6s8v99zBQu+gSnP4eO2+B6UtK9pCk1+v+FCF4RWf+vLj42U4WRgBUXQ8 /FRc+W1uyTR3A3xt48oZRDzq8tYNyPHY2lRoEi4CZmEgNdxXFSxy3/QCpV3/a+zbC5TU3/DhQsZb5 ZxaBUrDRDda1/e9QvguA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rfkt5-0000000Edgu-2IUu; Thu, 29 Feb 2024 18:12:07 +0000 Received: from relay3-d.mail.gandi.net ([2001:4b98:dc4:8::223]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rfkry-0000000Ed7V-1rN3 for linux-arm-kernel@lists.infradead.org; Thu, 29 Feb 2024 18:11:01 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 4D4C56000C; Thu, 29 Feb 2024 18:10:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1709230257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dhbJWAePeOlXAq18CeK+BoWzpOuEusDTkmL/xbVCgow=; b=Cpk14BfTCsFsOT/2tbMt0Vk1Ye2bt8g6YUDNumx8MIh2aiob7GdyK7qkaCvlqqEj2ipnIH iKN6jI5I/KE/Rm/n5JZnpRrXFr6uQjlFj3l08/yZuDzSkDlEiV4WxhvamL3IUYefC9mzl5 Gi0EKaaGvlarxBTJ8/pJk3/woOtadfI6z/1W1j+NVIRXBPhrkCoMbx5YmDROX+R7xwYtMT 8I4NA4T4BJDAEFO2tD0k5liRSPVLm2qnGdrCagoYYigkgrRdQYe/wKk4asJDBnwCAO0MWL biPHbX4EFuIjkoFK0C1DiRrj1X7RShSSHXFnWuxsXeKJTdtX5yUJg7sz0gkGGg== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Thu, 29 Feb 2024 19:10:54 +0100 Subject: [PATCH v2 06/11] i2c: nomadik: support short xfer timeouts using waitqueue & hrtimer MIME-Version: 1.0 Message-Id: <20240229-mbly-i2c-v2-6-b32ed18c098c@bootlin.com> References: <20240229-mbly-i2c-v2-0-b32ed18c098c@bootlin.com> In-Reply-To: <20240229-mbly-i2c-v2-0-b32ed18c098c@bootlin.com> To: Linus Walleij , Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thomas Bogendoerfer Cc: linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, Gregory Clement , Vladimir Kondratiev , Thomas Petazzoni , Tawfik Bayouk , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.13.0 X-GND-Sasl: theo.lebrun@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240229_101058_788993_5D3B1BD7 X-CRM114-Status: GOOD ( 19.23 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org UmVwbGFjZSB0aGUgY29tcGxldGlvbiBieSBhIHdhaXRxdWV1ZSBmb3Igc3luY2hyb25pemF0aW9u IGZyb20gSVJRCmhhbmRsZXIgdG8gdGFzay4gRm9yIHNob3J0IHRpbWVvdXRzLCB1c2UgaHJ0aW1l cnMsIGVsc2UgdXNlIHRpbWVycy4KVXNlY2FzZTogYXZvaWQgYmxvY2tpbmcgdGhlIEkyQyBidXMg Zm9yIHRvbyBsb25nIHdoZW4gYW4gaXNzdWUgb2NjdXJzLgoKVGhlIHRocmVzaG9sZCBwaWNrZWQg aXMgb25lIGppZmZ5OiBpZiB0aW1lb3V0IGlzIGJlbG93IHRoYXQsIHVzZQpocnRpbWVycy4gVGhp cyB0aHJlc2hvbGQgaXMgTk9UIGNvbmZpZ3VyYWJsZS4KCkltcGxlbWVudCBiZWhhdmlvciBidXQg ZG8gTk9UIGNoYW5nZSBmZXRjaGluZyBvZiB0aW1lb3V0LiBUaGlzIG1lYW5zIHRoZQp0aW1lb3V0 IGlzIHVuY2hhbmdlZCAoMjAwbXMpIGFuZCB0aGUgaHJ0aW1lciBjYXNlIHdpbGwgbmV2ZXIgdHJp Z2dlci4KCkEgd2FpdHF1ZXVlIGlzIHVzZWQgYmVjYXVzZSBpdCBzdXBwb3J0cyBib3RoIGRlc2ly ZWQgdGltZW91dCBhcHByb2FjaGVzLgpTZWUgd2FpdF9ldmVudF90aW1lb3V0KCkgYW5kIHdhaXRf ZXZlbnRfaHJ0aW1lb3V0KCkuIEFuIGF0b21pYyBib29sZWFuCnNlcnZlcyBhcyBzeW5jaHJvbml6 YXRpb24gY29uZGl0aW9uLgoKUmV2aWV3ZWQtYnk6IExpbnVzIFdhbGxlaWogPGxpbnVzLndhbGxl aWpAbGluYXJvLm9yZz4KU2lnbmVkLW9mZi1ieTogVGjDqW8gTGVicnVuIDx0aGVvLmxlYnJ1bkBi b290bGluLmNvbT4KLS0tCiBkcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5vbWFkaWsuYyB8IDcwICsr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0 OCBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2ky Yy9idXNzZXMvaTJjLW5vbWFkaWsuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbm9tYWRpay5j CmluZGV4IGFhNjhhYjQwMmIxMC4uZTY4YjhlMGQ3OTE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2ky Yy9idXNzZXMvaTJjLW5vbWFkaWsuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5vbWFk aWsuYwpAQCAtMTYyLDEwICsxNjIsMTEgQEAgc3RydWN0IGkyY19ubWtfY2xpZW50IHsKICAqIEBj bGtfZnJlcTogY2xvY2sgZnJlcXVlbmN5IGZvciB0aGUgb3BlcmF0aW9uIG1vZGUKICAqIEB0ZnQ6 IFR4IEZJRk8gVGhyZXNob2xkIGluIGJ5dGVzCiAgKiBAcmZ0OiBSeCBGSUZPIFRocmVzaG9sZCBp biBieXRlcwotICogQHRpbWVvdXQ6IFNsYXZlIHJlc3BvbnNlIHRpbWVvdXQgKG1zKQorICogQHRp bWVvdXRfdXNlY3M6IFNsYXZlIHJlc3BvbnNlIHRpbWVvdXQKICAqIEBzbTogc3BlZWQgbW9kZQog ICogQHN0b3A6IHN0b3AgY29uZGl0aW9uLgotICogQHhmZXJfY29tcGxldGU6IGFja25vd2xlZGdl IGNvbXBsZXRpb24gZm9yIGEgSTJDIG1lc3NhZ2UuCisgKiBAeGZlcl93cTogeGZlciBkb25lIHdh aXQgcXVldWUuCisgKiBAeGZlcl9kb25lOiB4ZmVyIGRvbmUgYm9vbGVhbi4KICAqIEByZXN1bHQ6 IGNvbnRyb2xsZXIgcHJvcG9nYXRlZCByZXN1bHQuCiAgKi8KIHN0cnVjdCBubWtfaTJjX2RldiB7 CkBAIC0xNzksMTAgKzE4MCwxMSBAQCBzdHJ1Y3Qgbm1rX2kyY19kZXYgewogCXUzMgkJCQljbGtf ZnJlcTsKIAl1bnNpZ25lZCBjaGFyCQkJdGZ0OwogCXVuc2lnbmVkIGNoYXIJCQlyZnQ7Ci0JaW50 CQkJCXRpbWVvdXQ7CisJaW50CQkJCXRpbWVvdXRfdXNlY3M7CiAJZW51bSBpMmNfZnJlcV9tb2Rl CQlzbTsKIAlpbnQJCQkJc3RvcDsKLQlzdHJ1Y3QgY29tcGxldGlvbgkJeGZlcl9jb21wbGV0ZTsK KwlzdHJ1Y3Qgd2FpdF9xdWV1ZV9oZWFkCQl4ZmVyX3dxOworCWJvb2wJCQkJeGZlcl9kb25lOwog CWludAkJCQlyZXN1bHQ7CiB9OwogCkBAIC00MzQsNiArNDM2LDIyIEBAIHN0YXRpYyB2b2lkIHNl dHVwX2kyY19jb250cm9sbGVyKHN0cnVjdCBubWtfaTJjX2RldiAqcHJpdikKIAl3cml0ZWwocHJp di0+cmZ0LCBwcml2LT52aXJ0YmFzZSArIEkyQ19SRlRSKTsKIH0KIAorc3RhdGljIGJvb2wgbm1r X2kyY193YWl0X3hmZXJfZG9uZShzdHJ1Y3Qgbm1rX2kyY19kZXYgKnByaXYpCit7CisJaWYgKHBy aXYtPnRpbWVvdXRfdXNlY3MgPCBqaWZmaWVzX3RvX3VzZWNzKDEpKSB7CisJCXVuc2lnbmVkIGxv bmcgdGltZW91dF91c2VjcyA9IHByaXYtPnRpbWVvdXRfdXNlY3M7CisJCWt0aW1lX3QgdGltZW91 dCA9IGt0aW1lX3NldCgwLCB0aW1lb3V0X3VzZWNzICogTlNFQ19QRVJfVVNFQyk7CisKKwkJd2Fp dF9ldmVudF9ocnRpbWVvdXQocHJpdi0+eGZlcl93cSwgcHJpdi0+eGZlcl9kb25lLCB0aW1lb3V0 KTsKKwl9IGVsc2UgeworCQl1bnNpZ25lZCBsb25nIHRpbWVvdXQgPSB1c2Vjc190b19qaWZmaWVz KHByaXYtPnRpbWVvdXRfdXNlY3MpOworCisJCXdhaXRfZXZlbnRfdGltZW91dChwcml2LT54ZmVy X3dxLCBwcml2LT54ZmVyX2RvbmUsIHRpbWVvdXQpOworCX0KKworCXJldHVybiBwcml2LT54ZmVy X2RvbmU7Cit9CisKIC8qKgogICogcmVhZF9pMmMoKSAtIFJlYWQgZnJvbSBJMkMgY2xpZW50IGRl dmljZQogICogQHByaXY6IHByaXZhdGUgZGF0YSBvZiBJMkMgRHJpdmVyCkBAIC00NDUsOSArNDYz LDkgQEAgc3RhdGljIHZvaWQgc2V0dXBfaTJjX2NvbnRyb2xsZXIoc3RydWN0IG5ta19pMmNfZGV2 ICpwcml2KQogICovCiBzdGF0aWMgaW50IHJlYWRfaTJjKHN0cnVjdCBubWtfaTJjX2RldiAqcHJp diwgdTE2IGZsYWdzKQogewotCWludCBzdGF0dXMgPSAwOwogCXUzMiBtY3IsIGlycV9tYXNrOwot CXVuc2lnbmVkIGxvbmcgdGltZW91dDsKKwlpbnQgc3RhdHVzID0gMDsKKwlib29sIHhmZXJfZG9u ZTsKIAogCW1jciA9IGxvYWRfaTJjX21jcl9yZWcocHJpdiwgZmxhZ3MpOwogCXdyaXRlbChtY3Is IHByaXYtPnZpcnRiYXNlICsgSTJDX01DUik7CkBAIC00NTksNyArNDc3LDggQEAgc3RhdGljIGlu dCByZWFkX2kyYyhzdHJ1Y3Qgbm1rX2kyY19kZXYgKnByaXYsIHUxNiBmbGFncykKIAkvKiBlbmFi bGUgdGhlIGNvbnRyb2xsZXIgKi8KIAlpMmNfc2V0X2JpdChwcml2LT52aXJ0YmFzZSArIEkyQ19D UiwgSTJDX0NSX1BFKTsKIAotCWluaXRfY29tcGxldGlvbigmcHJpdi0+eGZlcl9jb21wbGV0ZSk7 CisJaW5pdF93YWl0cXVldWVfaGVhZCgmcHJpdi0+eGZlcl93cSk7CisJcHJpdi0+eGZlcl9kb25l ID0gZmFsc2U7CiAKIAkvKiBlbmFibGUgaW50ZXJydXB0cyBieSBzZXR0aW5nIHRoZSBtYXNrICov CiAJaXJxX21hc2sgPSAoSTJDX0lUX1JYRk5GIHwgSTJDX0lUX1JYRkYgfApAQCAtNDc1LDEwICs0 OTQsOSBAQCBzdGF0aWMgaW50IHJlYWRfaTJjKHN0cnVjdCBubWtfaTJjX2RldiAqcHJpdiwgdTE2 IGZsYWdzKQogCXdyaXRlbChyZWFkbChwcml2LT52aXJ0YmFzZSArIEkyQ19JTVNDUikgfCBpcnFf bWFzaywKIAkgICAgICAgcHJpdi0+dmlydGJhc2UgKyBJMkNfSU1TQ1IpOwogCi0JdGltZW91dCA9 IHdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91dCgKLQkJJnByaXYtPnhmZXJfY29tcGxldGUsIHBy aXYtPmFkYXAudGltZW91dCk7CisJeGZlcl9kb25lID0gbm1rX2kyY193YWl0X3hmZXJfZG9uZShw cml2KTsKIAotCWlmICh0aW1lb3V0ID09IDApIHsKKwlpZiAoIXhmZXJfZG9uZSkgewogCQkvKiBD b250cm9sbGVyIHRpbWVkIG91dCAqLwogCQlkZXZfZXJyKCZwcml2LT5hZGV2LT5kZXYsICJyZWFk IGZyb20gc2xhdmUgMHgleCB0aW1lZCBvdXRcbiIsCiAJCQlwcml2LT5jbGkuc2xhdmVfYWRyKTsK QEAgLTUxMyw5ICs1MzEsOSBAQCBzdGF0aWMgdm9pZCBmaWxsX3R4X2ZpZm8oc3RydWN0IG5ta19p MmNfZGV2ICpwcml2LCBpbnQgbm9fYnl0ZXMpCiAgKi8KIHN0YXRpYyBpbnQgd3JpdGVfaTJjKHN0 cnVjdCBubWtfaTJjX2RldiAqcHJpdiwgdTE2IGZsYWdzKQogewotCXUzMiBzdGF0dXMgPSAwOwog CXUzMiBtY3IsIGlycV9tYXNrOwotCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKKwl1MzIgc3RhdHVz ID0gMDsKKwlib29sIHhmZXJfZG9uZTsKIAogCW1jciA9IGxvYWRfaTJjX21jcl9yZWcocHJpdiwg ZmxhZ3MpOwogCkBAIC01MjgsNyArNTQ2LDggQEAgc3RhdGljIGludCB3cml0ZV9pMmMoc3RydWN0 IG5ta19pMmNfZGV2ICpwcml2LCB1MTYgZmxhZ3MpCiAJLyogZW5hYmxlIHRoZSBjb250cm9sbGVy ICovCiAJaTJjX3NldF9iaXQocHJpdi0+dmlydGJhc2UgKyBJMkNfQ1IsIEkyQ19DUl9QRSk7CiAK LQlpbml0X2NvbXBsZXRpb24oJnByaXYtPnhmZXJfY29tcGxldGUpOworCWluaXRfd2FpdHF1ZXVl X2hlYWQoJnByaXYtPnhmZXJfd3EpOworCXByaXYtPnhmZXJfZG9uZSA9IGZhbHNlOwogCiAJLyog ZW5hYmxlIGludGVycnVwdHMgYnkgc2V0dGluZ3MgdGhlIG1hc2tzICovCiAJaXJxX21hc2sgPSAo STJDX0lUX1RYRk9WUiB8IEkyQ19JVF9NQUwgfCBJMkNfSVRfQkVSUik7CkBAIC01NTQsMTAgKzU3 Myw5IEBAIHN0YXRpYyBpbnQgd3JpdGVfaTJjKHN0cnVjdCBubWtfaTJjX2RldiAqcHJpdiwgdTE2 IGZsYWdzKQogCXdyaXRlbChyZWFkbChwcml2LT52aXJ0YmFzZSArIEkyQ19JTVNDUikgfCBpcnFf bWFzaywKIAkgICAgICAgcHJpdi0+dmlydGJhc2UgKyBJMkNfSU1TQ1IpOwogCi0JdGltZW91dCA9 IHdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91dCgKLQkJJnByaXYtPnhmZXJfY29tcGxldGUsIHBy aXYtPmFkYXAudGltZW91dCk7CisJeGZlcl9kb25lID0gbm1rX2kyY193YWl0X3hmZXJfZG9uZShw cml2KTsKIAotCWlmICh0aW1lb3V0ID09IDApIHsKKwlpZiAoIXhmZXJfZG9uZSkgewogCQkvKiBD b250cm9sbGVyIHRpbWVkIG91dCAqLwogCQlkZXZfZXJyKCZwcml2LT5hZGV2LT5kZXYsICJ3cml0 ZSB0byBzbGF2ZSAweCV4IHRpbWVkIG91dFxuIiwKIAkJCXByaXYtPmNsaS5zbGF2ZV9hZHIpOwpA QCAtODA3LDcgKzgyNSw5IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBpMmNfaXJxX2hhbmRsZXIoaW50 IGlycSwgdm9pZCAqYXJnKQogCQkJCXByaXYtPmNsaS5jb3VudCk7CiAJCQlpbml0X2h3KHByaXYp OwogCQl9Ci0JCWNvbXBsZXRlKCZwcml2LT54ZmVyX2NvbXBsZXRlKTsKKwkJcHJpdi0+eGZlcl9k b25lID0gdHJ1ZTsKKwkJd2FrZV91cCgmcHJpdi0+eGZlcl93cSk7CisKIAogCQlicmVhazsKIApA QCAtODE3LDcgKzgzNyw5IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBpMmNfaXJxX2hhbmRsZXIoaW50 IGlycSwgdm9pZCAqYXJnKQogCQlpbml0X2h3KHByaXYpOwogCiAJCWkyY19zZXRfYml0KHByaXYt PnZpcnRiYXNlICsgSTJDX0lDUiwgSTJDX0lUX01BTCk7Ci0JCWNvbXBsZXRlKCZwcml2LT54ZmVy X2NvbXBsZXRlKTsKKwkJcHJpdi0+eGZlcl9kb25lID0gdHJ1ZTsKKwkJd2FrZV91cCgmcHJpdi0+ eGZlcl93cSk7CisKIAogCQlicmVhazsKIApAQCAtODM0LDcgKzg1Niw5IEBAIHN0YXRpYyBpcnFy ZXR1cm5fdCBpMmNfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKQogCQkJaW5pdF9odyhw cml2KTsKIAogCQlpMmNfc2V0X2JpdChwcml2LT52aXJ0YmFzZSArIEkyQ19JQ1IsIEkyQ19JVF9C RVJSKTsKLQkJY29tcGxldGUoJnByaXYtPnhmZXJfY29tcGxldGUpOworCQlwcml2LT54ZmVyX2Rv bmUgPSB0cnVlOworCQl3YWtlX3VwKCZwcml2LT54ZmVyX3dxKTsKKwogCX0KIAlicmVhazsKIApA QCAtODQ4LDcgKzg3Miw5IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBpMmNfaXJxX2hhbmRsZXIoaW50 IGlycSwgdm9pZCAqYXJnKQogCQlpbml0X2h3KHByaXYpOwogCiAJCWRldl9lcnIoZGV2LCAiVHgg RmlmbyBPdmVyIHJ1blxuIik7Ci0JCWNvbXBsZXRlKCZwcml2LT54ZmVyX2NvbXBsZXRlKTsKKwkJ cHJpdi0+eGZlcl9kb25lID0gdHJ1ZTsKKwkJd2FrZV91cCgmcHJpdi0+eGZlcl93cSk7CisKIAog CQlicmVhazsKIApAQCAtOTQ5LDcgKzk3NSw3IEBAIHN0YXRpYyB2b2lkIG5ta19pMmNfb2ZfcHJv YmUoc3RydWN0IGRldmljZV9ub2RlICpucCwKIAkJcHJpdi0+c20gPSBJMkNfRlJFUV9NT0RFX0ZB U1Q7CiAJcHJpdi0+dGZ0ID0gMTsgLyogVHggRklGTyB0aHJlc2hvbGQgKi8KIAlwcml2LT5yZnQg PSA4OyAvKiBSeCBGSUZPIHRocmVzaG9sZCAqLwotCXByaXYtPnRpbWVvdXQgPSAyMDA7IC8qIFNs YXZlIHJlc3BvbnNlIHRpbWVvdXQobXMpICovCisJcHJpdi0+dGltZW91dF91c2VjcyA9IDIwMCAq IFVTRUNfUEVSX01TRUM7IC8qIFNsYXZlIHJlc3BvbnNlIHRpbWVvdXQgKi8KIH0KIAogc3RhdGlj IGludCBubWtfaTJjX3Byb2JlKHN0cnVjdCBhbWJhX2RldmljZSAqYWRldiwgY29uc3Qgc3RydWN0 IGFtYmFfaWQgKmlkKQpAQCAtMTAwOSw3ICsxMDM1LDcgQEAgc3RhdGljIGludCBubWtfaTJjX3By b2JlKHN0cnVjdCBhbWJhX2RldmljZSAqYWRldiwgY29uc3Qgc3RydWN0IGFtYmFfaWQgKmlkKQog CWFkYXAtPm93bmVyID0gVEhJU19NT0RVTEU7CiAJYWRhcC0+Y2xhc3MgPSBJMkNfQ0xBU1NfREVQ UkVDQVRFRDsKIAlhZGFwLT5hbGdvID0gJm5ta19pMmNfYWxnbzsKLQlhZGFwLT50aW1lb3V0ID0g bXNlY3NfdG9famlmZmllcyhwcml2LT50aW1lb3V0KTsKKwlhZGFwLT50aW1lb3V0ID0gdXNlY3Nf dG9famlmZmllcyhwcml2LT50aW1lb3V0X3VzZWNzKTsKIAlzbnByaW50ZihhZGFwLT5uYW1lLCBz aXplb2YoYWRhcC0+bmFtZSksCiAJCSAiTm9tYWRpayBJMkMgYXQgJXBSIiwgJmFkZXYtPnJlcyk7 CiAKCi0tIAoyLjQ0LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1hcm0ta2VybmVsCg==