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=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 7B7DCC3A59E for ; Wed, 21 Aug 2019 14:47:09 +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 4542E206BA for ; Wed, 21 Aug 2019 14:47:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="EwK0GIV0"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=vdorst.com header.i=@vdorst.com header.b="jbFZtfn6" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4542E206BA Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=vdorst.com 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:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=OTRs+zYFLEU2Q+c4N3za2tC/CuATHUEbs33FY9lLZS4=; b=EwK0GIV0mw3PCf wCjWTLPGkJCj+RADg76UbwxhKNROXCrk0w0AVsfWgs2gJiKmp5AQZ9g8zlSHphTUH42Q9ZNNcOSEh 95b+1nwYWeyBwbCfY87WKfpvkt4gUYihs0PeMj78WNTFpkoZFXiVl84KwcSIxXaLhbCF0wriapirg LE72v4/+nkJ1ty9WhjiGjgoJ5/l/r5C86LKLOKBczQ7gNV738n1hGLcRH7o48tPNpzmR1R+vkEjGi 8g94qLec4wa97WPBCusX0nZrwrX0V44QNckFO15XTrgrjGg4q9oQpkHSPEXNixVsrpc6NkkqZjOr2 b+ewWUr9BWRn9Fe4wPQQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1i0Rt6-0000NB-Lw; Wed, 21 Aug 2019 14:47:00 +0000 Received: from mx.0dd.nl ([5.2.79.48]) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1i0Rs4-0007lA-Dv; Wed, 21 Aug 2019 14:46:01 +0000 Received: from mail.vdorst.com (mail.vdorst.com [IPv6:fd01::250]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx.0dd.nl (Postfix) with ESMTPS id BC2825FD0B; Wed, 21 Aug 2019 16:45:55 +0200 (CEST) Authentication-Results: mx.0dd.nl; dkim=pass (2048-bit key) header.d=vdorst.com header.i=@vdorst.com header.b="jbFZtfn6"; dkim-atps=neutral Received: from pc-rene.vdorst.com (pc-rene.vdorst.com [192.168.2.125]) by mail.vdorst.com (Postfix) with ESMTPA id 7921B1D8290D; Wed, 21 Aug 2019 16:45:55 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mail.vdorst.com 7921B1D8290D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vdorst.com; s=default; t=1566398755; bh=WjUyhkkSc41bkCYdBLB91qBDwA9xAXIqXJgZXuc+Epw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jbFZtfn6t2ZyT5/2lEJHtblbfdsCfNPF0xcmvhRW+ozQk5e/ORSSKR0O6CQXq2Rvv DO9TDvJii9OHjkAOuSd19EDVkTjVX6MO24uiBbQrFeY+2tVmX/PsFQwmPqfw6HfNI8 79TpYQphQg1GJmRGFUcxDuHuL7ewP8NLPlCofqMJRSIU3AXbL47a11vzehWEdcl+eS FGcVRiGqQoU88fN7fTUoLlRT39cIB8c71B1a45mUgiC/cmRVd8cL9ZmPt2I8iU1Q+Z eUwpshnQJMqBiKU0GR4I2pqvdNUmOL6CmZA1VNel2iH+P0dJXDJAi8z8EgYVfARrgE oh2bkl5tScZjA== From: =?UTF-8?q?Ren=C3=A9=20van=20Dorst?= To: Sean Wang , Andrew Lunn , Vivien Didelot , Florian Fainelli , "David S . Miller" , Matthias Brugger Subject: [PATCH net-next v2 1/3] net: dsa: mt7530: Convert to PHYLINK API Date: Wed, 21 Aug 2019 16:45:45 +0200 Message-Id: <20190821144547.15113-2-opensource@vdorst.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190821144547.15113-1-opensource@vdorst.com> References: <20190821144547.15113-1-opensource@vdorst.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190821_074557_040585_79F49ABA X-CRM114-Status: GOOD ( 19.35 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Frank Wunderlich , netdev@vger.kernel.org, linux-mips@vger.kernel.org, =?UTF-8?q?Ren=C3=A9=20van=20Dorst?= , linux-mediatek@lists.infradead.org, John Crispin , 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 Q29udmVydCBtdDc1MzAgdG8gUEhZTElOSyBBUEkKClNpZ25lZC1vZmYtYnk6IFJlbsOpIHZhbiBE b3JzdCA8b3BlbnNvdXJjZUB2ZG9yc3QuY29tPgoKdjEtPnYyOgoqIFJlZmFjdG9yICJ1bnN1cHBv cnRlZCIgcGh5X2ludGVyZmFjZSBwYXJ0IGluCiAgbXQ3NTMwX3BoeWxpbmtfbWFjX3ZhbGlkYXRl KCkgc3VnZ2VzdGVkIGJ5IFJ1c3NlbGwgS2luZwoqIFJlcG9ydCBhbmQgcmV0dXJuIHdoZW4gcGh5 bGluayB0cmllcyB0byB1c2UgYXV0b25lZ19pbmJhbmQgaW4KICBtdDc1MzBfcGh5bGlua19tYWNf Y29uZmlnKCkgc3VnZ2VzdGVkIGJ5IFJ1c3NlbGwgS2luZwoqIFJlZmFjdG9yIHBvcnQgNiBzZXR1 cCBpbiBtdDc1MzBfcGh5bGlua19tYWNfY29uZmlnKCkKcmZjLT52MToKKiBSZW5hbWVkIFA1X01P REVfKiB0byBQNV9JTlRGX1NFTF8qLiBmaXRzIHRoZSBmdW5jdGlvbiBtb3JlCiogQ29udmVydCBp Zi1zdGF0ZW1lbnQgZm9yIHNwZWVkIGJpdHMgdG8gYSBzd2l0Y2ggc3VnZ2VzdGVkIGJ5CiAgRGFu aWVsIFNhbnRvcwoqIFJlZmFjdG9yIGZsb3dfY29udHJvbCBwYXVzZSBiaXRzIGFuZCBkb24ndCB1 c2Ugc3RhdGUtPmxpbmsgaW4KICBtdDc1MzBfcGh5bGlua19tYWNfY29uZmlnKCkgc3VnZ2VzdGVk IGJ5IFJ1c3NlbGwgS2luZwoqIE1vdmUgTUFDIHR4L3J4IGVuL2Rpc2FibGUgdG8gbXQ3NTMwX3Bo eWxpbmtfbWFjX2xpbmtfdXAvZG93bigpCiAgc3VnZ2VzdGVkIGJ5IFJ1c3NlbGwgS2luZwoqIEFs d2F5cyBzdXBwb3J0IFBIWV9JTlRFUkZBQ0VfTU9ERV9OQSBpbiBtdDc1MzBfcGh5bGlua192YWxp ZGF0ZSgpCiAgc3VnZ2VzdGVkIGJ5IFJ1c3NlbGwgS2luZwoqIEFkZGVkIHBoeWxpbmtfc2V0X3Bv cnRfbW9kZXMoKSBpbiBtdDc1MzBfcGh5bGlua192YWxpZGF0ZSgpIHN1Z2dlc3RlZAogIGJ5IFJ1 c3NlbGwgS2luZwoqIFJlbW92ZSBkZXZfZXJyIG9uIHRoZSBlbmQgb2YgbXQ3NTMwX3BoeWxpbmtf bWFjX2NvbmZpZygpIHN1Z2dlc3RlZCBieQogIFJ1c3NlbGwgS2luZwotLS0KIGRyaXZlcnMvbmV0 L2RzYS9tdDc1MzAuYyB8IDI2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0KIGRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuaCB8ICAzMiArKystLQogMiBmaWxlcyBjaGFuZ2Vk LCAyMTEgaW5zZXJ0aW9ucygrKSwgODcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZHNhL210NzUzMC5jIGIvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jCmluZGV4IGM0OGUy OTQ4NmIxMC4uZWNjMTNiNTdlNjE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvbXQ3NTMw LmMKKysrIGIvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jCkBAIC0xMyw3ICsxMyw3IEBACiAjaW5j bHVkZSA8bGludXgvb2ZfbWRpby5oPgogI2luY2x1ZGUgPGxpbnV4L29mX25ldC5oPgogI2luY2x1 ZGUgPGxpbnV4L29mX3BsYXRmb3JtLmg+Ci0jaW5jbHVkZSA8bGludXgvcGh5Lmg+CisjaW5jbHVk ZSA8bGludXgvcGh5bGluay5oPgogI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgogI2luY2x1ZGUg PGxpbnV4L3JlZ3VsYXRvci9jb25zdW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L3Jlc2V0Lmg+CkBA IC02MzMsNjMgKzYzMyw2IEBAIG10NzUzMF9nZXRfc3NldF9jb3VudChzdHJ1Y3QgZHNhX3N3aXRj aCAqZHMsIGludCBwb3J0LCBpbnQgc3NldCkKIAlyZXR1cm4gQVJSQVlfU0laRShtdDc1MzBfbWli KTsKIH0KIAotc3RhdGljIHZvaWQgbXQ3NTMwX2FkanVzdF9saW5rKHN0cnVjdCBkc2Ffc3dpdGNo ICpkcywgaW50IHBvcnQsCi0JCQkgICAgICAgc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldikKLXsK LQlzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYgPSBkcy0+cHJpdjsKLQotCWlmIChwaHlfaXNfcHNl dWRvX2ZpeGVkX2xpbmsocGh5ZGV2KSkgewotCQlkZXZfZGJnKHByaXYtPmRldiwgInBoeS1tb2Rl IGZvciBtYXN0ZXIgZGV2aWNlID0gJXhcbiIsCi0JCQlwaHlkZXYtPmludGVyZmFjZSk7Ci0KLQkJ LyogU2V0dXAgVFggY2lyY3VpdCBpbmNsdWluZyByZWxldmFudCBQQUQgYW5kIGRyaXZpbmcgKi8K LQkJbXQ3NTMwX3BhZF9jbGtfc2V0dXAoZHMsIHBoeWRldi0+aW50ZXJmYWNlKTsKLQotCQlpZiAo cHJpdi0+aWQgPT0gSURfTVQ3NTMwKSB7Ci0JCQkvKiBTZXR1cCBSWCBjaXJjdWl0LCByZWxldmFu dCBQQUQgYW5kIGRyaXZpbmcgb24gdGhlCi0JCQkgKiBob3N0IHdoaWNoIG11c3QgYmUgcGxhY2Vk IGFmdGVyIHRoZSBzZXR1cCBvbiB0aGUKLQkJCSAqIGRldmljZSBzaWRlIGlzIGFsbCBmaW5pc2hl ZC4KLQkJCSAqLwotCQkJbXQ3NjIzX3BhZF9jbGtfc2V0dXAoZHMpOwotCQl9Ci0JfSBlbHNlIHsK LQkJdTE2IGxjbF9hZHYgPSAwLCBybXRfYWR2ID0gMDsKLQkJdTggZmxvd2N0cmw7Ci0JCXUzMiBt Y3IgPSBQTUNSX1VTRVJQX0xJTksgfCBQTUNSX0ZPUkNFX01PREU7Ci0KLQkJc3dpdGNoIChwaHlk ZXYtPnNwZWVkKSB7Ci0JCWNhc2UgU1BFRURfMTAwMDoKLQkJCW1jciB8PSBQTUNSX0ZPUkNFX1NQ RUVEXzEwMDA7Ci0JCQlicmVhazsKLQkJY2FzZSBTUEVFRF8xMDA6Ci0JCQltY3IgfD0gUE1DUl9G T1JDRV9TUEVFRF8xMDA7Ci0JCQlicmVhazsKLQkJfQotCi0JCWlmIChwaHlkZXYtPmxpbmspCi0J CQltY3IgfD0gUE1DUl9GT1JDRV9MTks7Ci0KLQkJaWYgKHBoeWRldi0+ZHVwbGV4KSB7Ci0JCQlt Y3IgfD0gUE1DUl9GT1JDRV9GRFg7Ci0KLQkJCWlmIChwaHlkZXYtPnBhdXNlKQotCQkJCXJtdF9h ZHYgPSBMUEFfUEFVU0VfQ0FQOwotCQkJaWYgKHBoeWRldi0+YXN5bV9wYXVzZSkKLQkJCQlybXRf YWR2IHw9IExQQV9QQVVTRV9BU1lNOwotCi0JCQlsY2xfYWR2ID0gbGlua21vZGVfYWR2X3RvX2xj bF9hZHZfdCgKLQkJCQlwaHlkZXYtPmFkdmVydGlzaW5nKTsKLQkJCWZsb3djdHJsID0gbWlpX3Jl c29sdmVfZmxvd2N0cmxfZmR4KGxjbF9hZHYsIHJtdF9hZHYpOwotCi0JCQlpZiAoZmxvd2N0cmwg JiBGTE9XX0NUUkxfVFgpCi0JCQkJbWNyIHw9IFBNQ1JfVFhfRkNfRU47Ci0JCQlpZiAoZmxvd2N0 cmwgJiBGTE9XX0NUUkxfUlgpCi0JCQkJbWNyIHw9IFBNQ1JfUlhfRkNfRU47Ci0JCX0KLQkJbXQ3 NTMwX3dyaXRlKHByaXYsIE1UNzUzMF9QTUNSX1AocG9ydCksIG1jcik7Ci0JfQotfQotCiBzdGF0 aWMgaW50CiBtdDc1MzBfY3B1X3BvcnRfZW5hYmxlKHN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdiwK IAkJICAgICAgIGludCBwb3J0KQpAQCAtNjk4LDkgKzY0MSw2IEBAIG10NzUzMF9jcHVfcG9ydF9l bmFibGUoc3RydWN0IG10NzUzMF9wcml2ICpwcml2LAogCW10NzUzMF93cml0ZShwcml2LCBNVDc1 MzBfUFZDX1AocG9ydCksCiAJCSAgICAgUE9SVF9TUEVDX1RBRyk7CiAKLQkvKiBTZXR1cCB0aGUg TUFDIGJ5IGRlZmF1bHQgZm9yIHRoZSBjcHUgcG9ydCAqLwotCW10NzUzMF93cml0ZShwcml2LCBN VDc1MzBfUE1DUl9QKHBvcnQpLCBQTUNSX0NQVVBfTElOSyk7Ci0KIAkvKiBEaXNhYmxlIGF1dG8g bGVhcm5pbmcgb24gdGhlIGNwdSBwb3J0ICovCiAJbXQ3NTMwX3NldChwcml2LCBNVDc1MzBfUFND X1AocG9ydCksIFNBX0RJUyk7CiAKQEAgLTczMSw5ICs2NzEsNiBAQCBtdDc1MzBfcG9ydF9lbmFi bGUoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwKIAogCW11dGV4X2xvY2soJnByaXYt PnJlZ19tdXRleCk7CiAKLQkvKiBTZXR1cCB0aGUgTUFDIGZvciB0aGUgdXNlciBwb3J0ICovCi0J bXQ3NTMwX3dyaXRlKHByaXYsIE1UNzUzMF9QTUNSX1AocG9ydCksIFBNQ1JfVVNFUlBfTElOSyk7 Ci0KIAkvKiBBbGxvdyB0aGUgdXNlciBwb3J0IGdldHMgY29ubmVjdGVkIHRvIHRoZSBjcHUgcG9y dCBhbmQgYWxzbwogCSAqIHJlc3RvcmUgdGhlIHBvcnQgbWF0cml4IGlmIHRoZSBwb3J0IGlzIHRo ZSBtZW1iZXIgb2YgYSBjZXJ0YWluCiAJICogYnJpZGdlLgpAQCAtNzQyLDcgKzY3OSw3IEBAIG10 NzUzMF9wb3J0X2VuYWJsZShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LAogCXByaXYt PnBvcnRzW3BvcnRdLmVuYWJsZSA9IHRydWU7CiAJbXQ3NTMwX3Jtdyhwcml2LCBNVDc1MzBfUENS X1AocG9ydCksIFBDUl9NQVRSSVhfTUFTSywKIAkJICAgcHJpdi0+cG9ydHNbcG9ydF0ucG0pOwot CW10NzUzMF9wb3J0X3NldF9zdGF0dXMocHJpdiwgcG9ydCwgMSk7CisJbXQ3NTMwX3BvcnRfc2V0 X3N0YXR1cyhwcml2LCBwb3J0LCAwKTsKIAogCW11dGV4X3VubG9jaygmcHJpdi0+cmVnX211dGV4 KTsKIApAQCAtMTIzMiwxMCArMTE2OSwxMCBAQCBzdGF0aWMgaW50CiBtdDc1MzBfc2V0dXAoc3Ry dWN0IGRzYV9zd2l0Y2ggKmRzKQogewogCXN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdiA9IGRzLT5w cml2OwotCWludCByZXQsIGk7Ci0JdTMyIGlkLCB2YWw7Ci0Jc3RydWN0IGRldmljZV9ub2RlICpk bjsKIAlzdHJ1Y3QgbXQ3NTMwX2R1bW15X3BvbGwgcDsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKmRu OworCXUzMiBpZCwgdmFsOworCWludCByZXQsIGk7CiAKIAkvKiBUaGUgcGFyZW50IG5vZGUgb2Yg bWFzdGVyIG5ldGRldiB3aGljaCBob2xkcyB0aGUgY29tbW9uIHN5c3RlbQogCSAqIGNvbnRyb2xs ZXIgYWxzbyBpcyB0aGUgY29udGFpbmVyIGZvciB0d28gR01BQ3Mgbm9kZXMgcmVwcmVzZW50aW5n CkBAIC0xMzA1LDYgKzEyNDIsOCBAQCBtdDc1MzBfc2V0dXAoc3RydWN0IGRzYV9zd2l0Y2ggKmRz KQogCXZhbCB8PSBNSFdUUkFQX01BTlVBTDsKIAltdDc1MzBfd3JpdGUocHJpdiwgTVQ3NTMwX01I V1RSQVAsIHZhbCk7CiAKKwlwcml2LT5wNl9pbnRlcmZhY2UgPSBQSFlfSU5URVJGQUNFX01PREVf TkE7CisKIAkvKiBFbmFibGUgYW5kIHJlc2V0IE1JQiBjb3VudGVycyAqLwogCW10NzUzMF9taWJf cmVzZXQoZHMpOwogCkBAIC0xMzI5LDYgKzEyNjgsMTkxIEBAIG10NzUzMF9zZXR1cChzdHJ1Y3Qg ZHNhX3N3aXRjaCAqZHMpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIG10NzUzMF9waHls aW5rX21hY19jb25maWcoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwKKwkJCQkgICAg ICB1bnNpZ25lZCBpbnQgbW9kZSwKKwkJCQkgICAgICBjb25zdCBzdHJ1Y3QgcGh5bGlua19saW5r X3N0YXRlICpzdGF0ZSkKK3sKKwlzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYgPSBkcy0+cHJpdjsK Kwl1MzIgbWNyX2N1ciwgbWNyX25ldzsKKworCXN3aXRjaCAocG9ydCkgeworCWNhc2UgMDogLyog SW50ZXJuYWwgcGh5ICovCisJY2FzZSAxOgorCWNhc2UgMjoKKwljYXNlIDM6CisJY2FzZSA0Ogor CQlpZiAoc3RhdGUtPmludGVyZmFjZSAhPSBQSFlfSU5URVJGQUNFX01PREVfR01JSSkKKwkJCXJl dHVybjsKKwkJYnJlYWs7CisJLyogY2FzZSA1OiBQb3J0IDUgaXMgbm90IHN1cHBvcnRlZCEgKi8K KwljYXNlIDY6IC8qIDFzdCBjcHUgcG9ydCAqLworCQlpZiAocHJpdi0+cDZfaW50ZXJmYWNlID09 IHN0YXRlLT5pbnRlcmZhY2UpCisJCQlicmVhazsKKworCQlpZiAoc3RhdGUtPmludGVyZmFjZSAh PSBQSFlfSU5URVJGQUNFX01PREVfUkdNSUkgJiYKKwkJICAgIHN0YXRlLT5pbnRlcmZhY2UgIT0g UEhZX0lOVEVSRkFDRV9NT0RFX1RSR01JSSkKKwkJCXJldHVybjsKKworCQkvKiBTZXR1cCBUWCBj aXJjdWl0IGluY2x1aW5nIHJlbGV2YW50IFBBRCBhbmQgZHJpdmluZyAqLworCQltdDc1MzBfcGFk X2Nsa19zZXR1cChkcywgc3RhdGUtPmludGVyZmFjZSk7CisKKwkJaWYgKHByaXYtPmlkID09IElE X01UNzUzMCkgeworCQkJLyogU2V0dXAgUlggY2lyY3VpdCwgcmVsZXZhbnQgUEFEIGFuZCBkcml2 aW5nIG9uIHRoZQorCQkJICogaG9zdCB3aGljaCBtdXN0IGJlIHBsYWNlZCBhZnRlciB0aGUgc2V0 dXAgb24gdGhlCisJCQkgKiBkZXZpY2Ugc2lkZSBpcyBhbGwgZmluaXNoZWQuCisJCQkgKi8KKwkJ CW10NzYyM19wYWRfY2xrX3NldHVwKGRzKTsKKwkJfQorCisJCXByaXYtPnA2X2ludGVyZmFjZSA9 IHN0YXRlLT5pbnRlcmZhY2U7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl9lcnIoZHMtPmRl diwgIiVzOiB1bnN1cHBvcnRlZCBwb3J0OiAlaVxuIiwgX19mdW5jX18sIHBvcnQpOworCQlyZXR1 cm47CisJfQorCisJaWYgKHBoeWxpbmtfYXV0b25lZ19pbmJhbmQobW9kZSkpIHsKKwkJZGV2X2Vy cihkcy0+ZGV2LCAiJXM6IGluLWJhbmQgbmVnb3RpYXRpb24gdW5zdXBwb3J0ZWRcbiIsCisJCQlf X2Z1bmNfXyk7CisJCXJldHVybjsKKwl9CisKKwltY3JfY3VyID0gbXQ3NTMwX3JlYWQocHJpdiwg TVQ3NTMwX1BNQ1JfUChwb3J0KSk7CisJbWNyX25ldyA9IG1jcl9jdXI7CisJbWNyX25ldyAmPSB+ KFBNQ1JfRk9SQ0VfU1BFRURfMTAwMCB8IFBNQ1JfRk9SQ0VfU1BFRURfMTAwIHwKKwkJICAgICBQ TUNSX0ZPUkNFX0ZEWCB8IFBNQ1JfVFhfRkNfRU4gfCBQTUNSX1JYX0ZDX0VOKTsKKwltY3JfbmV3 IHw9IFBNQ1JfSUZHX1hNSVQoMSkgfCBQTUNSX01BQ19NT0RFIHwgUE1DUl9CQUNLT0ZGX0VOIHwK KwkJICAgUE1DUl9CQUNLUFJfRU4gfCBQTUNSX0ZPUkNFX01PREUgfCBQTUNSX0ZPUkNFX0xOSzsK KworCXN3aXRjaCAoc3RhdGUtPnNwZWVkKSB7CisJY2FzZSBTUEVFRF8xMDAwOgorCQltY3JfbmV3 IHw9IFBNQ1JfRk9SQ0VfU1BFRURfMTAwMDsKKwkJYnJlYWs7CisJY2FzZSBTUEVFRF8xMDA6CisJ CW1jcl9uZXcgfD0gUE1DUl9GT1JDRV9TUEVFRF8xMDA7CisJCWJyZWFrOworCX0KKwlpZiAoc3Rh dGUtPmR1cGxleCA9PSBEVVBMRVhfRlVMTCkgeworCQltY3JfbmV3IHw9IFBNQ1JfRk9SQ0VfRkRY OworCQlpZiAoc3RhdGUtPnBhdXNlICYgTUxPX1BBVVNFX1RYKQorCQkJbWNyX25ldyB8PSBQTUNS X1RYX0ZDX0VOOworCQlpZiAoc3RhdGUtPnBhdXNlICYgTUxPX1BBVVNFX1JYKQorCQkJbWNyX25l dyB8PSBQTUNSX1JYX0ZDX0VOOworCX0KKworCWlmIChtY3JfbmV3ICE9IG1jcl9jdXIpCisJCW10 NzUzMF93cml0ZShwcml2LCBNVDc1MzBfUE1DUl9QKHBvcnQpLCBtY3JfbmV3KTsKK30KKworc3Rh dGljIHZvaWQgbXQ3NTMwX3BoeWxpbmtfbWFjX2xpbmtfZG93bihzdHJ1Y3QgZHNhX3N3aXRjaCAq ZHMsIGludCBwb3J0LAorCQkJCQkgdW5zaWduZWQgaW50IG1vZGUsCisJCQkJCSBwaHlfaW50ZXJm YWNlX3QgaW50ZXJmYWNlKQoreworCXN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdiA9IGRzLT5wcml2 OworCisJbXQ3NTMwX3BvcnRfc2V0X3N0YXR1cyhwcml2LCBwb3J0LCAwKTsKK30KKworc3RhdGlj IHZvaWQgbXQ3NTMwX3BoeWxpbmtfbWFjX2xpbmtfdXAoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBp bnQgcG9ydCwKKwkJCQkgICAgICAgdW5zaWduZWQgaW50IG1vZGUsCisJCQkJICAgICAgIHBoeV9p bnRlcmZhY2VfdCBpbnRlcmZhY2UsCisJCQkJICAgICAgIHN0cnVjdCBwaHlfZGV2aWNlICpwaHlk ZXYpCit7CisJc3RydWN0IG10NzUzMF9wcml2ICpwcml2ID0gZHMtPnByaXY7CisKKwltdDc1MzBf cG9ydF9zZXRfc3RhdHVzKHByaXYsIHBvcnQsIDEpOworfQorCitzdGF0aWMgdm9pZCBtdDc1MzBf cGh5bGlua192YWxpZGF0ZShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LAorCQkJCSAg ICB1bnNpZ25lZCBsb25nICpzdXBwb3J0ZWQsCisJCQkJICAgIHN0cnVjdCBwaHlsaW5rX2xpbmtf c3RhdGUgKnN0YXRlKQoreworCV9fRVRIVE9PTF9ERUNMQVJFX0xJTktfTU9ERV9NQVNLKG1hc2sp ID0geyAwLCB9OworCisJc3dpdGNoIChwb3J0KSB7CisJY2FzZSAwOiAvKiBJbnRlcm5hbCBwaHkg Ki8KKwljYXNlIDE6CisJY2FzZSAyOgorCWNhc2UgMzoKKwljYXNlIDQ6CisJCWlmIChzdGF0ZS0+ aW50ZXJmYWNlICE9IFBIWV9JTlRFUkZBQ0VfTU9ERV9OQSAmJgorCQkgICAgc3RhdGUtPmludGVy ZmFjZSAhPSBQSFlfSU5URVJGQUNFX01PREVfR01JSSkKKwkJCWdvdG8gdW5zdXBwb3J0ZWQ7CisJ CWJyZWFrOworCS8qIGNhc2UgNTogUG9ydCA1IG5vdCBzdXBwb3J0ZWQhICovCisJY2FzZSA2OiAv KiAxc3QgY3B1IHBvcnQgKi8KKwkJaWYgKHN0YXRlLT5pbnRlcmZhY2UgIT0gUEhZX0lOVEVSRkFD RV9NT0RFX05BICYmCisJCSAgICBzdGF0ZS0+aW50ZXJmYWNlICE9IFBIWV9JTlRFUkZBQ0VfTU9E RV9SR01JSSAmJgorCQkgICAgc3RhdGUtPmludGVyZmFjZSAhPSBQSFlfSU5URVJGQUNFX01PREVf VFJHTUlJKQorCQkJZ290byB1bnN1cHBvcnRlZDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZGV2 X2Vycihkcy0+ZGV2LCAiJXM6IHVuc3VwcG9ydGVkIHBvcnQ6ICVpXG4iLCBfX2Z1bmNfXywgcG9y dCk7Cit1bnN1cHBvcnRlZDoKKwkJbGlua21vZGVfemVybyhzdXBwb3J0ZWQpOworCQlyZXR1cm47 CisJfQorCisJcGh5bGlua19zZXRfcG9ydF9tb2RlcyhtYXNrKTsKKwlwaHlsaW5rX3NldChtYXNr LCBBdXRvbmVnKTsKKworCWlmIChzdGF0ZS0+aW50ZXJmYWNlICE9IFBIWV9JTlRFUkZBQ0VfTU9E RV9UUkdNSUkpIHsKKwkJcGh5bGlua19zZXQobWFzaywgMTBiYXNlVF9IYWxmKTsKKwkJcGh5bGlu a19zZXQobWFzaywgMTBiYXNlVF9GdWxsKTsKKwkJcGh5bGlua19zZXQobWFzaywgMTAwYmFzZVRf SGFsZik7CisJCXBoeWxpbmtfc2V0KG1hc2ssIDEwMGJhc2VUX0Z1bGwpOworCQlwaHlsaW5rX3Nl dChtYXNrLCAxMDAwYmFzZVRfSGFsZik7CisJfQorCisJcGh5bGlua19zZXQobWFzaywgMTAwMGJh c2VUX0Z1bGwpOworCisJcGh5bGlua19zZXQobWFzaywgUGF1c2UpOworCXBoeWxpbmtfc2V0KG1h c2ssIEFzeW1fUGF1c2UpOworCisJbGlua21vZGVfYW5kKHN1cHBvcnRlZCwgc3VwcG9ydGVkLCBt YXNrKTsKKwlsaW5rbW9kZV9hbmQoc3RhdGUtPmFkdmVydGlzaW5nLCBzdGF0ZS0+YWR2ZXJ0aXNp bmcsIG1hc2spOworfQorCitzdGF0aWMgaW50CittdDc1MzBfcGh5bGlua19tYWNfbGlua19zdGF0 ZShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LAorCQkJICAgICAgc3RydWN0IHBoeWxp bmtfbGlua19zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0IG10NzUzMF9wcml2ICpwcml2ID0gZHMt PnByaXY7CisJdTMyIHBtc3I7CisKKwlpZiAocG9ydCA8IDAgfHwgcG9ydCA+PSBNVDc1MzBfTlVN X1BPUlRTKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXBtc3IgPSBtdDc1MzBfcmVhZChwcml2LCBN VDc1MzBfUE1TUl9QKHBvcnQpKTsKKworCXN0YXRlLT5saW5rID0gKHBtc3IgJiBQTVNSX0xJTksp OworCXN0YXRlLT5hbl9jb21wbGV0ZSA9IHN0YXRlLT5saW5rOworCXN0YXRlLT5kdXBsZXggPSAh IShwbXNyICYgUE1TUl9EUFgpOworCisJc3dpdGNoIChwbXNyICYgUE1TUl9TUEVFRF9NQVNLKSB7 CisJY2FzZSBQTVNSX1NQRUVEXzEwOgorCQlzdGF0ZS0+c3BlZWQgPSBTUEVFRF8xMDsKKwkJYnJl YWs7CisJY2FzZSBQTVNSX1NQRUVEXzEwMDoKKwkJc3RhdGUtPnNwZWVkID0gU1BFRURfMTAwOwor CQlicmVhazsKKwljYXNlIFBNU1JfU1BFRURfMTAwMDoKKwkJc3RhdGUtPnNwZWVkID0gU1BFRURf MTAwMDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJc3RhdGUtPnNwZWVkID0gU1BFRURfVU5LTk9X TjsKKwkJYnJlYWs7CisJfQorCisJc3RhdGUtPnBhdXNlICY9IH4oTUxPX1BBVVNFX1JYIHwgTUxP X1BBVVNFX1RYKTsKKwlpZiAocG1zciAmIFBNU1JfUlhfRkMpCisJCXN0YXRlLT5wYXVzZSB8PSBN TE9fUEFVU0VfUlg7CisJaWYgKHBtc3IgJiBQTVNSX1RYX0ZDKQorCQlzdGF0ZS0+cGF1c2UgfD0g TUxPX1BBVVNFX1RYOworCisJcmV0dXJuIDE7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHNh X3N3aXRjaF9vcHMgbXQ3NTMwX3N3aXRjaF9vcHMgPSB7CiAJLmdldF90YWdfcHJvdG9jb2wJPSBt dGtfZ2V0X3RhZ19wcm90b2NvbCwKIAkuc2V0dXAJCQk9IG10NzUzMF9zZXR1cCwKQEAgLTEzMzcs NyArMTQ2MSw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHNhX3N3aXRjaF9vcHMgbXQ3NTMwX3N3 aXRjaF9vcHMgPSB7CiAJLnBoeV93cml0ZQkJPSBtdDc1MzBfcGh5X3dyaXRlLAogCS5nZXRfZXRo dG9vbF9zdGF0cwk9IG10NzUzMF9nZXRfZXRodG9vbF9zdGF0cywKIAkuZ2V0X3NzZXRfY291bnQJ CT0gbXQ3NTMwX2dldF9zc2V0X2NvdW50LAotCS5hZGp1c3RfbGluawkJPSBtdDc1MzBfYWRqdXN0 X2xpbmssCiAJLnBvcnRfZW5hYmxlCQk9IG10NzUzMF9wb3J0X2VuYWJsZSwKIAkucG9ydF9kaXNh YmxlCQk9IG10NzUzMF9wb3J0X2Rpc2FibGUsCiAJLnBvcnRfc3RwX3N0YXRlX3NldAk9IG10NzUz MF9zdHBfc3RhdGVfc2V0LApAQCAtMTM1MCw2ICsxNDczLDExIEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHNhX3N3aXRjaF9vcHMgbXQ3NTMwX3N3aXRjaF9vcHMgPSB7CiAJLnBvcnRfdmxhbl9wcmVw YXJlCT0gbXQ3NTMwX3BvcnRfdmxhbl9wcmVwYXJlLAogCS5wb3J0X3ZsYW5fYWRkCQk9IG10NzUz MF9wb3J0X3ZsYW5fYWRkLAogCS5wb3J0X3ZsYW5fZGVsCQk9IG10NzUzMF9wb3J0X3ZsYW5fZGVs LAorCS5waHlsaW5rX3ZhbGlkYXRlCT0gbXQ3NTMwX3BoeWxpbmtfdmFsaWRhdGUsCisJLnBoeWxp bmtfbWFjX2xpbmtfc3RhdGUgPSBtdDc1MzBfcGh5bGlua19tYWNfbGlua19zdGF0ZSwKKwkucGh5 bGlua19tYWNfY29uZmlnCT0gbXQ3NTMwX3BoeWxpbmtfbWFjX2NvbmZpZywKKwkucGh5bGlua19t YWNfbGlua19kb3duCT0gbXQ3NTMwX3BoeWxpbmtfbWFjX2xpbmtfZG93biwKKwkucGh5bGlua19t YWNfbGlua191cAk9IG10NzUzMF9waHlsaW5rX21hY19saW5rX3VwLAogfTsKIAogc3RhdGljIGNv bnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXQ3NTMwX29mX21hdGNoW10gPSB7CmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmggYi9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmgKaW5k ZXggYmZhYzkwZjQ4MTAyLi4xMDdkZDA0YWNlZGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2Rz YS9tdDc1MzAuaAorKysgYi9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmgKQEAgLTE5OCwyNiArMTk4 LDIwIEBAIGVudW0gbXQ3NTMwX3ZsYW5fcG9ydF9hdHRyIHsKICNkZWZpbmUgIFBNQ1JfRk9SQ0Vf U1BFRURfMTAwCQlCSVQoMikKICNkZWZpbmUgIFBNQ1JfRk9SQ0VfRkRYCQkJQklUKDEpCiAjZGVm aW5lICBQTUNSX0ZPUkNFX0xOSwkJCUJJVCgwKQotI2RlZmluZSAgUE1DUl9DT01NT05fTElOSwkJ KFBNQ1JfSUZHX1hNSVQoMSkgfCBQTUNSX01BQ19NT0RFIHwgXAotCQkJCQkgUE1DUl9CQUNLT0ZG X0VOIHwgUE1DUl9CQUNLUFJfRU4gfCBcCi0JCQkJCSBQTUNSX1RYX0VOIHwgUE1DUl9SWF9FTiB8 IFwKLQkJCQkJIFBNQ1JfVFhfRkNfRU4gfCBQTUNSX1JYX0ZDX0VOKQotI2RlZmluZSAgUE1DUl9D UFVQX0xJTksJCQkoUE1DUl9DT01NT05fTElOSyB8IFBNQ1JfRk9SQ0VfTU9ERSB8IFwKLQkJCQkJ IFBNQ1JfRk9SQ0VfU1BFRURfMTAwMCB8IFwKLQkJCQkJIFBNQ1JfRk9SQ0VfRkRYIHwgXAotCQkJ CQkgUE1DUl9GT1JDRV9MTkspCi0jZGVmaW5lICBQTUNSX1VTRVJQX0xJTksJCVBNQ1JfQ09NTU9O X0xJTksKLSNkZWZpbmUgIFBNQ1JfRklYRURfTElOSwkJKFBNQ1JfSUZHX1hNSVQoMSkgfCBQTUNS X01BQ19NT0RFIHwgXAotCQkJCQkgUE1DUl9GT1JDRV9NT0RFIHwgUE1DUl9UWF9FTiB8IFwKLQkJ CQkJIFBNQ1JfUlhfRU4gfCBQTUNSX0JBQ0tQUl9FTiB8IFwKLQkJCQkJIFBNQ1JfQkFDS09GRl9F TiB8IFwKLQkJCQkJIFBNQ1JfRk9SQ0VfU1BFRURfMTAwMCB8IFwKLQkJCQkJIFBNQ1JfRk9SQ0Vf RkRYIHwgXAotCQkJCQkgUE1DUl9GT1JDRV9MTkspCi0jZGVmaW5lIFBNQ1JfRklYRURfTElOS19G QwkJKFBNQ1JfRklYRURfTElOSyB8IFwKLQkJCQkJIFBNQ1JfVFhfRkNfRU4gfCBQTUNSX1JYX0ZD X0VOKQorI2RlZmluZSAgUE1DUl9TUEVFRF9NQVNLCQkoUE1DUl9GT1JDRV9TUEVFRF8xMDAgfCBc CisJCQkJCSBQTUNSX0ZPUkNFX1NQRUVEXzEwMDApCiAKICNkZWZpbmUgTVQ3NTMwX1BNU1JfUCh4 KQkJKDB4MzAwOCArICh4KSAqIDB4MTAwKQorI2RlZmluZSAgUE1TUl9FRUUxRwkJCUJJVCg3KQor I2RlZmluZSAgUE1TUl9FRUUxMDBNCQkJQklUKDYpCisjZGVmaW5lICBQTVNSX1JYX0ZDCQkJQklU KDUpCisjZGVmaW5lICBQTVNSX1RYX0ZDCQkJQklUKDQpCisjZGVmaW5lICBQTVNSX1NQRUVEXzEw MDAJCUJJVCgzKQorI2RlZmluZSAgUE1TUl9TUEVFRF8xMDAJCQlCSVQoMikKKyNkZWZpbmUgIFBN U1JfU1BFRURfMTAJCQkweDAwCisjZGVmaW5lICBQTVNSX1NQRUVEX01BU0sJCShQTVNSX1NQRUVE XzEwMCB8IFBNU1JfU1BFRURfMTAwMCkKKyNkZWZpbmUgIFBNU1JfRFBYCQkJQklUKDEpCisjZGVm aW5lICBQTVNSX0xJTksJCQlCSVQoMCkKIAogLyogUmVnaXN0ZXIgZm9yIE1JQiAqLwogI2RlZmlu ZSBNVDc1MzBfUE9SVF9NSUJfQ09VTlRFUih4KQkoMHg0MDAwICsgKHgpICogMHgxMDApCkBAIC00 MjMsNiArNDE3LDcgQEAgc3RydWN0IG10NzUzMF9wb3J0IHsKICAqIEBwb3J0czoJCUhvbGRpbmcg dGhlIHN0YXRlIGFtb25nIHBvcnRzCiAgKiBAcmVnX211dGV4OgkJVGhlIGxvY2sgZm9yIHByb3Rl Y3RpbmcgYW1vbmcgcHJvY2VzcyBhY2Nlc3NpbmcKICAqCQkJcmVnaXN0ZXJzCisgKiBAcDZfaW50 ZXJmYWNlCUhvbGRpbmcgdGhlIGN1cnJlbnQgcG9ydCA2IGludGVyZmFjZQogICovCiBzdHJ1Y3Qg bXQ3NTMwX3ByaXYgewogCXN0cnVjdCBkZXZpY2UJCSpkZXY7CkBAIC00MzUsNiArNDMwLDcgQEAg c3RydWN0IG10NzUzMF9wcml2IHsKIAlzdHJ1Y3QgZ3Bpb19kZXNjCSpyZXNldDsKIAl1bnNpZ25l ZCBpbnQJCWlkOwogCWJvb2wJCQltY207CisJcGh5X2ludGVyZmFjZV90CQlwNl9pbnRlcmZhY2U7 CiAKIAlzdHJ1Y3QgbXQ3NTMwX3BvcnQJcG9ydHNbTVQ3NTMwX05VTV9QT1JUU107CiAJLyogcHJv dGVjdCBhbW9uZyBwcm9jZXNzZXMgZm9yIHJlZ2lzdGVycyBhY2Nlc3MqLwotLSAKMi4yMC4xCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJt LWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtl cm5lbAo=