From nobody Sun Apr 19 17:02:08 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9DC3BC43334 for ; Tue, 28 Jun 2022 16:47:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235615AbiF1QrC (ORCPT ); Tue, 28 Jun 2022 12:47:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60048 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231671AbiF1QpP (ORCPT ); Tue, 28 Jun 2022 12:45:15 -0400 Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 882FEC6A for ; Tue, 28 Jun 2022 09:43:34 -0700 (PDT) Received: by mail-pl1-x62f.google.com with SMTP id n10so11621860plp.0 for ; Tue, 28 Jun 2022 09:43:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=L616Apz0O3ckfCEbvIZpDU5GaP3zUsaezSwA1X17FX8=; b=U0a2hV031iLDTOG4TOlhSzUz+5v6pdnyienS9BWvlKCA5oO75nLGdrL0/7rLRqU0ZU fpzc+1Tt87ztqM7pOrOvl/WHSIJfptscLPPy69vMMm0fR33x63LdKmcroC6Dh71vGN6M NUXT5XwWmJTsuEJ9xhV9QXAqhzU0F/eJXS/2U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=L616Apz0O3ckfCEbvIZpDU5GaP3zUsaezSwA1X17FX8=; b=NOkj9FhdOh8MDBdAb3nFPcJlKhCPHZ75BGcwZqppM9wg1Ry+rrDk6oWurCNEZTs2x1 kLAmoRYNqlgbp1tAtnopzu5j67GwC23ko6vzFUND5SXqoKx55mIiJWv1biUzC5d+ulmA FD2WEpQNOU+YMKMIi18UzhujdGBQQLuGnuDtfbqXLgPTmTkfAWMtyz3q2VD7D1ZG8Rpw NPo7h1V92Mz6cJFpRPsomOiLPNesNglSrSBGR3lp8Vh7HxOct2ZVd3Y8vRXXn/jj1Y2x mkGsh5MujWBGF8cdeEtpUPkj6hBRqKppUDfF/4ww+zc5Yn08/zVs1uHzQJyBJoGGo32L DRKQ== X-Gm-Message-State: AJIora8b90BA2JpkHiUY2u65U+a9AeXL3GC46zqg+TaAIpI9RbvUqDMv t82Hux5BvVqo2dnjWzQsp+sYP/VXHqSpwoLO X-Google-Smtp-Source: AGRyM1vykJyABnbzmmBdF0Doe6szMS+J1NbGEeq3OTxhIx/OL2ur9UP5/TcuTRZRpfKOY1D1+uxjsQ== X-Received: by 2002:a17:90b:350f:b0:1ed:4d69:75f3 with SMTP id ls15-20020a17090b350f00b001ed4d6975f3mr528206pjb.17.1656434613718; Tue, 28 Jun 2022 09:43:33 -0700 (PDT) Received: from rahul_yocto_ubuntu18.ibn.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id mn9-20020a17090b188900b001ec9d45776bsm38248pjb.42.2022.06.28.09.43.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jun 2022 09:43:33 -0700 (PDT) From: Vikas Gupta To: jiri@nvidia.com, kuba@kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net, dsahern@kernel.org, stephen@networkplumber.org, edumazet@google.com, michael.chan@broadcom.com, andrew.gospodarek@broadcom.com, Vikas Gupta Subject: [PATCH net-next v1 1/3] devlink: introduce framework for selftests Date: Tue, 28 Jun 2022 22:12:39 +0530 Message-Id: <20220628164241.44360-2-vikas.gupta@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220628164241.44360-1-vikas.gupta@broadcom.com> References: <20220628164241.44360-1-vikas.gupta@broadcom.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="000000000000c7b70805e284bca3" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable --000000000000c7b70805e284bca3 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWRkIGEgZnJhbWV3b3JrIGZvciBydW5uaW5nIHNlbGZ0ZXN0cy4KRnJhbWV3b3JrIGV4cG9zZXMg ZGV2bGluayBjb21tYW5kcyBhbmQgdGVzdCBzdWl0ZShzKSB0byB0aGUgdXNlcgp0byBleGVjdXRl IGFuZCBxdWVyeSB0aGUgc3VwcG9ydGVkIHRlc3RzIGJ5IHRoZSBkcml2ZXIuCgpUbyBleGVjdXRl IHRlc3RzLCB1c2VycyBjYW4gcHJvdmlkZSBhIHRlc3QgbWFzayBmb3IgZXhlY3V0aW5nCmdyb3Vw IHRlc3RzIG9yIHN0YW5kYWxvbmUgdGVzdHMuIEFQSSBkZXZsaW5rX3NlbGZ0ZXN0X3Jlc3VsdF9w dXQoKSBoZWxwcwpkcml2ZXJzIHRvIHBvcHVsYXRlIHRoZSB0ZXN0IHJlc3VsdHMgYWxvbmcgd2l0 aCB0aGVpciBuYW1lcy4KClRvIHF1ZXJ5IHN1cHBvcnRlZCB0ZXN0cyBieSBkZXZpY2UsIEFQSSBk ZXZsaW5rX3NlbGZ0ZXN0X25hbWVfcHV0KCkKaGVscHMgYSBkcml2ZXIgdG8gcG9wdWxhdGUgdGVz dCBuYW1lcy4KClNpZ25lZC1vZmYtYnk6IFZpa2FzIEd1cHRhIDx2aWthcy5ndXB0YUBicm9hZGNv bS5jb20+ClJldmlld2VkLWJ5OiBNaWNoYWVsIENoYW4gPG1pY2hhZWwuY2hhbkBicm9hZGNvbS5j b20+ClJldmlld2VkLWJ5OiBBbmR5IEdvc3BvZGFyZWsgPGFuZHJldy5nb3Nwb2RhcmVrQGJyb2Fk Y29tLmNvbT4KLS0tCiAuLi4vbmV0d29ya2luZy9kZXZsaW5rL2Rldmxpbmstc2VsZnRlc3RzLnJz dCAgfCAgMzkgKysrKysKIGluY2x1ZGUvbmV0L2RldmxpbmsuaCAgICAgICAgICAgICAgICAgICAg ICAgICB8ICA0MCArKysrKwogaW5jbHVkZS91YXBpL2xpbnV4L2RldmxpbmsuaCAgICAgICAgICAg ICAgICAgIHwgIDI0ICsrKwogbmV0L2NvcmUvZGV2bGluay5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgMTQ3ICsrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAyNTAgaW5z ZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vbmV0d29ya2luZy9k ZXZsaW5rL2Rldmxpbmstc2VsZnRlc3RzLnJzdAoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24v bmV0d29ya2luZy9kZXZsaW5rL2Rldmxpbmstc2VsZnRlc3RzLnJzdCBiL0RvY3VtPQplbnRhdGlv bi9uZXR3b3JraW5nL2RldmxpbmsvZGV2bGluay1zZWxmdGVzdHMucnN0Cm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZGY3YzhmY2FjOWJmCi0tLSAvZGV2L251bGwKKysr IGIvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmxpbmsvZGV2bGluay1zZWxmdGVzdHMucnN0 CkBAIC0wLDAgKzEsMzkgQEAKKy4uIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMC1v bmx5IE9SIEJTRC0yLUNsYXVzZSkKKworLi4gX2Rldmxpbmtfc2VsZnRlc3RzOgorCis9M0Q9M0Q9 M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0QKK0RldmxpbmsgU2Vs ZnRlc3RzCis9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9 M0QKKworVGhlIGBgZGV2bGluay1zZWxmdGVzdHNgYCBBUEkgYWxsb3dzIGV4ZWN1dGluZyBzZWxm dGVzdHMgb24gdGhlIGRldmljZS4KKworVGVzdHMgTWFzaworPTNEPTNEPTNEPTNEPTNEPTNEPTNE PTNEPTNEPTNECitUaGUgYGBkZXZsaW5rLXNlbGZ0ZXN0c2BgIGNvbW1hbmQgc2hvdWxkIGJlIHJ1 biB3aXRoIGEgbWFzayBpbmRpY2F0aW5nCit0aGUgdGVzdHMgdG8gYmUgZXhlY3V0ZWQuCisKK1Rl c3RzIERlc2NyaXB0aW9uCis9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9 M0Q9M0Q9M0Q9M0QKK1RoZSBmb2xsb3dpbmcgaXMgYSBsaXN0IG9mIHRlc3RzIHRoYXQgZHJpdmVy cyBtYXkgZXhlY3V0ZS4KKworLi4gbGlzdC10YWJsZTo6IExpc3Qgb2YgdGVzdHMKKyAgIDp3aWR0 aHM6IDUgOTAKKworICAgKiAtIE5hbWUKKyAgICAgLSBEZXNjcmlwdGlvbgorICAgKiAtIGBgREVW TElOS19TRUxGVEVTVF9GTEFTSGBgCisgICAgIC0gUnVucyBhIGZsYXNoIHRlc3Qgb24gdGhlIGRl dmljZSB3aGljaCBoZWxwcyB0byBsb2cgdGhlIGhlYWx0aCBvZiB0aD0KZSBmbGFzaC4KKyAgICAg ICBzZWUgRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmxpbmsvZGV2bGluay1oZWFsdGgucnN0 CisKK2V4YW1wbGUgdXNhZ2UKKy0tLS0tLS0tLS0tLS0KKworLi4gY29kZTo6IHNoZWxsCisKKyAg ICAjIFF1ZXJ5IHNlbGZ0ZXN0cyBzdXBwb3J0ZWQgb24gdGhlIGRldmljZQorICAgICQgZGV2bGlu ayBkZXYgc2VsZnRlc3RzIHNob3cgREVWCisgICAgIyBFeGVjdXRlcyBzZWxmdGVzdHMgb24gdGhl IGRldmljZQorICAgICQgZGV2bGluayBkZXYgc2VsZnRlc3RzIHJ1biBERVYgdGVzdCB7Zmxhc2gg fCBhbGx9CisKKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvZGV2bGluay5oIGIvaW5jbHVkZS9u ZXQvZGV2bGluay5oCmluZGV4IDJhMmEyYTBjOTNmNy4uNDkzZGFiMzY4MzQwIDEwMDY0NAotLS0g YS9pbmNsdWRlL25ldC9kZXZsaW5rLmgKKysrIGIvaW5jbHVkZS9uZXQvZGV2bGluay5oCkBAIC0x MjE1LDYgKzEyMTUsMTkgQEAgZW51bSB7CiAJREVWTElOS19GX1JFTE9BRCA9M0QgMVVMIDw8IDAs CiB9Owo9MjAKKy8qKgorICogc3RydWN0IGRldmxpbmtfc2VsZnRlc3RfZXhlY19pbmZvIC0gRGV2 bGluayBzZWxmdGVzdCBleGVjdXRpb24gaW5mby4KKyAqIEBuYW1lOiBUZXN0IG5hbWUuCisgKiBA cmVzdWx0OiBUZXN0IHJlc3VsdC4KKyAqLworc3RydWN0IGRldmxpbmtfc2VsZnRlc3RfZXhlY19p bmZvIHsKKwljb25zdCBjaGFyICpuYW1lOworCWJvb2wgcmVzdWx0OworfTsKKworI2RlZmluZSBE RVZMSU5LX1NFTEZURVNUX0ZMQVNIX1RFU1RfTkFNRSBcCisJImZsYXNoIHRlc3QiCisKIHN0cnVj dCBkZXZsaW5rX29wcyB7CiAJLyoqCiAJICogQHN1cHBvcnRlZF9mbGFzaF91cGRhdGVfcGFyYW1z OgpAQCAtMTUwOSw2ICsxNTIyLDI4IEBAIHN0cnVjdCBkZXZsaW5rX29wcyB7CiAJCQkJICAgIHN0 cnVjdCBkZXZsaW5rX3JhdGUgKnBhcmVudCwKIAkJCQkgICAgdm9pZCAqcHJpdl9jaGlsZCwgdm9p ZCAqcHJpdl9wYXJlbnQsCiAJCQkJICAgIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjayk7 CisJLyoqCisJICogc2VsZnRlc3RzX3Nob3coKSAtIFNob3dzIHNlbGZ0ZXN0cyBzdXBwb3J0ZWQg YnkgZGV2aWNlCisJICogQGRldmxpbms6IERldmxpbmsgaW5zdGFuY2UKKwkgKiBAc2tiOiBtZXNz YWdlIHBheWxvYWQKKwkgKiBAZXh0YWNrOiBleHRhY2sgZm9yIHJlcG9ydGluZyBlcnJvciBtZXNz YWdlcworCSAqCisJICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIHZhbHVlIG90aGVy d2lzZS4KKwkgKi8KKworCWludCAoKnNlbGZ0ZXN0c19zaG93KShzdHJ1Y3QgZGV2bGluayAqZGV2 bGluaywgc3RydWN0IHNrX2J1ZmYgKnNrYiwKKwkJCSAgICAgIHN0cnVjdCBuZXRsaW5rX2V4dF9h Y2sgKmV4dGFjayk7CisJLyoqCisJICogc2VsZnRlc3RzX3J1bigpIC0gUnVucyBzZWxmdGVzdHMK KwkgKiBAZGV2bGluazogRGV2bGluayBpbnN0YW5jZQorCSAqIEBza2I6IG1lc3NhZ2UgcGF5bG9h ZAorCSAqIEB0ZXN0c19tYXNrOiB0ZXN0cyB0byBiZSBydW4KKwkgKiBAZXh0YWNrOiBleHRhY2sg Zm9yIHJlcG9ydGluZyBlcnJvciBtZXNzYWdlcworCSAqCisJICogUmV0dXJuOiAwIG9uIHN1Y2Nl c3MsIG5lZ2F0aXZlIHZhbHVlIG90aGVyd2lzZS4KKwkgKi8KKwlpbnQgKCpzZWxmdGVzdHNfcnVu KShzdHJ1Y3QgZGV2bGluayAqZGV2bGluaywgc3RydWN0IHNrX2J1ZmYgKnNrYiwKKwkJCSAgICAg dTMyIHRlc3RzX21hc2ssIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjayk7CiB9Owo9MjAK IHZvaWQgKmRldmxpbmtfcHJpdihzdHJ1Y3QgZGV2bGluayAqZGV2bGluayk7CkBAIC0xNzc0LDYg KzE4MDksMTEgQEAgdm9pZAogZGV2bGlua190cmFwX3BvbGljZXJzX3VucmVnaXN0ZXIoc3RydWN0 IGRldmxpbmsgKmRldmxpbmssCiAJCQkJIGNvbnN0IHN0cnVjdCBkZXZsaW5rX3RyYXBfcG9saWNl ciAqcG9saWNlcnMsCiAJCQkJIHNpemVfdCBwb2xpY2Vyc19jb3VudCk7CitpbnQKK2Rldmxpbmtf c2VsZnRlc3RfcmVzdWx0X3B1dChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAorCQkJICAgIHN0cnVjdCBk ZXZsaW5rX3NlbGZ0ZXN0X2V4ZWNfaW5mbyAqdGVzdCk7CitpbnQKK2Rldmxpbmtfc2VsZnRlc3Rf bmFtZV9wdXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgY29uc3QgY2hhciAqbmFtZSk7Cj0yMAogI2lm IElTX0VOQUJMRUQoQ09ORklHX05FVF9ERVZMSU5LKQo9MjAKZGlmZiAtLWdpdCBhL2luY2x1ZGUv dWFwaS9saW51eC9kZXZsaW5rLmggYi9pbmNsdWRlL3VhcGkvbGludXgvZGV2bGluay5oCmluZGV4 IGIzZDQwYTVkNzJmZi4uNThlMmVmNDAxMGYwIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvbGlu dXgvZGV2bGluay5oCisrKyBiL2luY2x1ZGUvdWFwaS9saW51eC9kZXZsaW5rLmgKQEAgLTEzNiw2 ICsxMzYsOSBAQCBlbnVtIGRldmxpbmtfY29tbWFuZCB7CiAJREVWTElOS19DTURfTElORUNBUkRf TkVXLAogCURFVkxJTktfQ01EX0xJTkVDQVJEX0RFTCwKPTIwCisJREVWTElOS19DTURfU0VMRlRF U1RTX1NIT1csCisJREVWTElOS19DTURfU0VMRlRFU1RTX1JVTiwKKwogCS8qIGFkZCBuZXcgY29t bWFuZHMgYWJvdmUgaGVyZSAqLwogCV9fREVWTElOS19DTURfTUFYLAogCURFVkxJTktfQ01EX01B WCA9M0QgX19ERVZMSU5LX0NNRF9NQVggLSAxCkBAIC0yNzYsNiArMjc5LDIxIEBAIGVudW0gewog I2RlZmluZSBERVZMSU5LX1NVUFBPUlRFRF9GTEFTSF9PVkVSV1JJVEVfU0VDVElPTlMgXAogCShf QklUVUwoX19ERVZMSU5LX0ZMQVNIX09WRVJXUklURV9NQVhfQklUKSAtIDEpCj0yMAorLyogQ29t bW9ubHkgdXNlZCB0ZXN0IGNhc2VzLiBEcml2ZXJzIG1pZ2h0IGludGVycHJldCB0ZXN0IGJpdAor ICogaW4gdGhlaXIgb3duIHdheSBhbmQgaXQgbWF5IG1hcCBzaW5nbGUgdG8gbXVsdGlwbGUgdGVz dHMuCisgKi8KK2VudW0geworCURFVkxJTktfU0VMRlRFU1RfRkxBU0hfQklULAorCisJX19ERVZM SU5LX1NFTEZURVNUX01BWF9CSVQsCisJREVWTElOS19TRUxGVEVTVF9NQVhfQklUID0zRCBfX0RF VkxJTktfU0VMRlRFU1RfTUFYX0JJVCAtIDEKK307CisKKyNkZWZpbmUgREVWTElOS19TRUxGVEVT VF9GTEFTSCBfQklUVUwoREVWTElOS19TRUxGVEVTVF9GTEFTSF9CSVQpCisKKyNkZWZpbmUgREVW TElOS19TVVBQT1JURURfU0VMRlRFU1RTIFwKKwkoX0JJVFVMKF9fREVWTElOS19TRUxGVEVTVF9N QVhfQklUKSAtIDEpCisKIC8qKgogICogZW51bSBkZXZsaW5rX3RyYXBfYWN0aW9uIC0gUGFja2V0 IHRyYXAgYWN0aW9uLgogICogQERFVkxJTktfVFJBUF9BQ1RJT05fRFJPUDogUGFja2V0IGlzIGRy b3BwZWQgYnkgdGhlIGRldmljZSBhbmQgYSBjb3B5IGk9CnMgbm90CkBAIC01NzYsNiArNTk0LDEy IEBAIGVudW0gZGV2bGlua19hdHRyIHsKIAlERVZMSU5LX0FUVFJfTElORUNBUkRfVFlQRSwJCS8q IHN0cmluZyAqLwogCURFVkxJTktfQVRUUl9MSU5FQ0FSRF9TVVBQT1JURURfVFlQRVMsCS8qIG5l c3RlZCAqLwo9MjAKKwlERVZMSU5LX0FUVFJfU0VMRlRFU1RTX01BU0ssCQkvKiBiaXRmaWVsZDMy ICovCisJREVWTElOS19BVFRSX1RFU1RfTkFNRVMsCQkvKiBuZXN0ZWQgKi8KKwlERVZMSU5LX0FU VFJfVEVTVF9OQU1FLAkJCS8qIHN0cmluZyAqLworCURFVkxJTktfQVRUUl9URVNUX1JFU1VMVFMs CQkvKiBuZXN0ZWQgKi8KKwlERVZMSU5LX0FUVFJfVEVTVF9SRVNVTFQsCQkvKiBuZXN0ZWQgKi8K KwlERVZMSU5LX0FUVFJfVEVTVF9SRVNVTFRfVkFMLAkJLyogdTggKi8KIAkvKiBhZGQgbmV3IGF0 dHJpYnV0ZXMgYWJvdmUgaGVyZSwgdXBkYXRlIHRoZSBwb2xpY3kgaW4gZGV2bGluay5jICovCj0y MAogCV9fREVWTElOS19BVFRSX01BWCwKZGlmZiAtLWdpdCBhL25ldC9jb3JlL2RldmxpbmsuYyBi L25ldC9jb3JlL2RldmxpbmsuYwppbmRleCBkYjYxZjNhMzQxY2IuLjNjNGMyN2E3ZGQ0MCAxMDA2 NDQKLS0tIGEvbmV0L2NvcmUvZGV2bGluay5jCisrKyBiL25ldC9jb3JlL2RldmxpbmsuYwpAQCAt NDc5NCw2ICs0Nzk0LDEzOSBAQCBzdGF0aWMgaW50IGRldmxpbmtfbmxfY21kX2ZsYXNoX3VwZGF0 ZShzdHJ1Y3Qgc2tfYnU9CmZmICpza2IsCiAJcmV0dXJuIHJldDsKIH0KPTIwCitpbnQgZGV2bGlu a19zZWxmdGVzdF9uYW1lX3B1dChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBjb25zdCBjaGFyICpuYW1l KQoreworCWlmIChubGFfcHV0X3N0cmluZyhza2IsIERFVkxJTktfQVRUUl9URVNUX05BTUUsIG5h bWUpKQorCQlyZXR1cm4gLUVNU0dTSVpFOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9M X0dQTChkZXZsaW5rX3NlbGZ0ZXN0X25hbWVfcHV0KTsKKworc3RhdGljIGludCBkZXZsaW5rX25s X2NtZF9zZWxmdGVzdHNfc2hvdyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAorCQkJCQkgc3RydWN0IGdl bmxfaW5mbyAqaW5mbykKK3sKKwlzdHJ1Y3QgZGV2bGluayAqZGV2bGluayA9M0QgaW5mby0+dXNl cl9wdHJbMF07CisJc3RydWN0IG5sYXR0ciAgKm5hbWVzX2F0dHI7CisJc3RydWN0IHNrX2J1ZmYg Km1zZzsKKwl2b2lkICpoZHI7CisJaW50IGVycjsKKworCWlmICghZGV2bGluay0+b3BzLT5zZWxm dGVzdHNfc2hvdykKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCisJbXNnID0zRCBubG1zZ19uZXco TkxNU0dfREVGQVVMVF9TSVpFLCBHRlBfS0VSTkVMKTsKKwlpZiAoIW1zZykKKwkJcmV0dXJuIC1F Tk9NRU07CisKKwloZHIgPTNEIGdlbmxtc2dfcHV0KG1zZywgaW5mby0+c25kX3BvcnRpZCwgaW5m by0+c25kX3NlcSwKKwkJCSAgJmRldmxpbmtfbmxfZmFtaWx5LCAwLCBERVZMSU5LX0NNRF9TRUxG VEVTVFNfU0hPVyk7CisJaWYgKCFoZHIpCisJCXJldHVybiAtRU1TR1NJWkU7CisKKwlpZiAoZGV2 bGlua19ubF9wdXRfaGFuZGxlKG1zZywgZGV2bGluaykpCisJCWdvdG8gZ2VubG1zZ19jYW5jZWw7 CisKKwluYW1lc19hdHRyID0zRCBubGFfbmVzdF9zdGFydF9ub2ZsYWcobXNnLCBERVZMSU5LX0FU VFJfVEVTVF9OQU1FUyk7CisJaWYgKCFuYW1lc19hdHRyKQorCQlnb3RvIGdlbmxtc2dfY2FuY2Vs OworCisJZXJyID0zRCAgZGV2bGluay0+b3BzLT5zZWxmdGVzdHNfc2hvdyhkZXZsaW5rLCBtc2cs IGluZm8tPmV4dGFjayk7CisJaWYgKGVycikKKwkJZ290byBuYW1lc19uZXN0X2NhbmNlbDsKKwor CW5sYV9uZXN0X2VuZChtc2csIG5hbWVzX2F0dHIpOworCWdlbmxtc2dfZW5kKG1zZywgaGRyKTsK KworCXJldHVybiBnZW5sbXNnX3JlcGx5KG1zZywgaW5mbyk7CisKK25hbWVzX25lc3RfY2FuY2Vs OgorCW5sYV9uZXN0X2NhbmNlbChtc2csIG5hbWVzX2F0dHIpOworZ2VubG1zZ19jYW5jZWw6CisJ Z2VubG1zZ19jYW5jZWwobXNnLCBoZHIpOworCW5sbXNnX2ZyZWUobXNnKTsKKwlyZXR1cm4gZXJy OworfQorCitpbnQgZGV2bGlua19zZWxmdGVzdF9yZXN1bHRfcHV0KHN0cnVjdCBza19idWZmICpz a2IsCisJCQkJc3RydWN0IGRldmxpbmtfc2VsZnRlc3RfZXhlY19pbmZvICp0ZXN0KQoreworCXN0 cnVjdCBubGF0dHIgKnJlc3VsdF9hdHRyOworCisJcmVzdWx0X2F0dHIgPTNEIG5sYV9uZXN0X3N0 YXJ0X25vZmxhZyhza2IsIERFVkxJTktfQVRUUl9URVNUX1JFU1VMVCk7CisJaWYgKCFyZXN1bHRf YXR0cikKKwkJcmV0dXJuIC1FTVNHU0laRTsKKworCWlmIChubGFfcHV0X3N0cmluZyhza2IsIERF VkxJTktfQVRUUl9URVNUX05BTUUsIHRlc3QtPm5hbWUpIHx8CisJICAgIG5sYV9wdXRfdTgoc2ti LCBERVZMSU5LX0FUVFJfVEVTVF9SRVNVTFRfVkFMLCB0ZXN0LT5yZXN1bHQpKQorCQlnb3RvIG5s YV9wdXRfZmFpbHVyZTsKKworCW5sYV9uZXN0X2VuZChza2IsIHJlc3VsdF9hdHRyKTsKKwlyZXR1 cm4gMDsKKworbmxhX3B1dF9mYWlsdXJlOgorCW5sYV9uZXN0X2NhbmNlbChza2IsIHJlc3VsdF9h dHRyKTsKKwlyZXR1cm4gLUVNU0dTSVpFOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZGV2bGlua19z ZWxmdGVzdF9yZXN1bHRfcHV0KTsKKworc3RhdGljIGludCBkZXZsaW5rX25sX2NtZF9zZWxmdGVz dHNfcnVuKHN0cnVjdCBza19idWZmICpza2IsCisJCQkJCXN0cnVjdCBnZW5sX2luZm8gKmluZm8p Cit7CisJc3RydWN0IGRldmxpbmsgKmRldmxpbmsgPTNEIGluZm8tPnVzZXJfcHRyWzBdOworCXN0 cnVjdCBubGF0dHIgICpubGFfc2VsZnRlc3RzX21hc2s7CisJc3RydWN0IG5sYXR0ciAgKnJlc3Vs dHNfYXR0cjsKKwlzdHJ1Y3QgbmxhX2JpdGZpZWxkMzIgdGVzdHM7CisJc3RydWN0IHNrX2J1ZmYg Km1zZzsKKwl1MzIgdGVzdHNfbWFzazsKKwl2b2lkICpoZHI7CisJaW50IGVycjsKKworCWlmICgh ZGV2bGluay0+b3BzLT5zZWxmdGVzdHNfcnVuKQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisKKwlp ZiAoIWluZm8tPmF0dHJzW0RFVkxJTktfQVRUUl9TRUxGVEVTVFNfTUFTS10pCisJCXJldHVybiAt RUlOVkFMOworCisJbmxhX3NlbGZ0ZXN0c19tYXNrID0zRCBpbmZvLT5hdHRyc1tERVZMSU5LX0FU VFJfU0VMRlRFU1RTX01BU0tdOworCisJdGVzdHMgPTNEIG5sYV9nZXRfYml0ZmllbGQzMihubGFf c2VsZnRlc3RzX21hc2spOworCXRlc3RzX21hc2sgPTNEIHRlc3RzLnZhbHVlICYgdGVzdHMuc2Vs ZWN0b3I7CisKKwltc2cgPTNEIG5sbXNnX25ldyhOTE1TR19ERUZBVUxUX1NJWkUsIEdGUF9LRVJO RUwpOworCWlmICghbXNnKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWhkciA9M0QgZ2VubG1zZ19w dXQobXNnLCBpbmZvLT5zbmRfcG9ydGlkLCBpbmZvLT5zbmRfc2VxLAorCQkJICAmZGV2bGlua19u bF9mYW1pbHksIDAsIERFVkxJTktfQ01EX1NFTEZURVNUU19SVU4pOworCWlmICghaGRyKQorCQly ZXR1cm4gLUVNU0dTSVpFOworCisJaWYgKGRldmxpbmtfbmxfcHV0X2hhbmRsZShtc2csIGRldmxp bmspKQorCQlnb3RvIGdlbmxtc2dfY2FuY2VsOworCisJcmVzdWx0c19hdHRyID0zRCBubGFfbmVz dF9zdGFydF9ub2ZsYWcobXNnLCBERVZMSU5LX0FUVFJfVEVTVF9SRVNVTFRTKTsKKwlpZiAoIXJl c3VsdHNfYXR0cikKKwkJZ290byBnZW5sbXNnX2NhbmNlbDsKKworCWVyciA9M0QgIGRldmxpbmst Pm9wcy0+c2VsZnRlc3RzX3J1bihkZXZsaW5rLCBtc2csIHRlc3RzX21hc2ssCisJCQkJCSAgIGlu Zm8tPmV4dGFjayk7CisJaWYgKGVycikKKwkJZ290byByZXN1bHRzX25lc3RfY2FuY2VsOworCisJ bmxhX25lc3RfZW5kKG1zZywgcmVzdWx0c19hdHRyKTsKKwlnZW5sbXNnX2VuZChtc2csIGhkcik7 CisKKwlyZXR1cm4gZ2VubG1zZ19yZXBseShtc2csIGluZm8pOworCityZXN1bHRzX25lc3RfY2Fu Y2VsOgorCW5sYV9uZXN0X2NhbmNlbChtc2csIHJlc3VsdHNfYXR0cik7CitnZW5sbXNnX2NhbmNl bDoKKwlnZW5sbXNnX2NhbmNlbChtc2csIGhkcik7CisJbmxtc2dfZnJlZShtc2cpOworCXJldHVy biBlcnI7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2bGlua19wYXJhbSBkZXZsaW5rX3Bh cmFtX2dlbmVyaWNbXSA9M0QgewogCXsKIAkJLmlkID0zRCBERVZMSU5LX1BBUkFNX0dFTkVSSUNf SURfSU5UX0VSUl9SRVNFVCwKQEAgLTkwMDAsNiArOTEzMyw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgbmxhX3BvbGljeSBkZXZsaW5rX25sX3BvbGljeVtERVZMPQpJTktfQVRUUl9NQVggKyAxXSA9 M0QgewogCVtERVZMSU5LX0FUVFJfUkFURV9QQVJFTlRfTk9ERV9OQU1FXSA9M0QgeyAudHlwZSA9 M0QgTkxBX05VTF9TVFJJTkcgfSwKIAlbREVWTElOS19BVFRSX0xJTkVDQVJEX0lOREVYXSA9M0Qg eyAudHlwZSA9M0QgTkxBX1UzMiB9LAogCVtERVZMSU5LX0FUVFJfTElORUNBUkRfVFlQRV0gPTNE IHsgLnR5cGUgPTNEIE5MQV9OVUxfU1RSSU5HIH0sCisJW0RFVkxJTktfQVRUUl9TRUxGVEVTVFNf TUFTS10gPTNECisJCU5MQV9QT0xJQ1lfQklURklFTEQzMihERVZMSU5LX1NVUFBPUlRFRF9TRUxG VEVTVFMpLAogfTsKPTIwCiBzdGF0aWMgY29uc3Qgc3RydWN0IGdlbmxfc21hbGxfb3BzIGRldmxp bmtfbmxfb3BzW10gPTNEIHsKQEAgLTkzNjEsNiArOTQ5NiwxOCBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGdlbmxfc21hbGxfb3BzIGRldmxpbmtfbmxfb3BzW10gPQo9M0QgewogCQkuZG9pdCA9M0Qg ZGV2bGlua19ubF9jbWRfdHJhcF9wb2xpY2VyX3NldF9kb2l0LAogCQkuZmxhZ3MgPTNEIEdFTkxf QURNSU5fUEVSTSwKIAl9LAorCXsKKwkJLmNtZCA9M0QgREVWTElOS19DTURfU0VMRlRFU1RTX1NI T1csCisJCS52YWxpZGF0ZSA9M0QgR0VOTF9ET05UX1ZBTElEQVRFX1NUUklDVCB8IEdFTkxfRE9O VF9WQUxJREFURV9EVU1QLAorCQkuZG9pdCA9M0QgZGV2bGlua19ubF9jbWRfc2VsZnRlc3RzX3No b3csCisJCS5mbGFncyA9M0QgR0VOTF9BRE1JTl9QRVJNLAorCX0sCisJeworCQkuY21kID0zRCBE RVZMSU5LX0NNRF9TRUxGVEVTVFNfUlVOLAorCQkudmFsaWRhdGUgPTNEIEdFTkxfRE9OVF9WQUxJ REFURV9TVFJJQ1QgfCBHRU5MX0RPTlRfVkFMSURBVEVfRFVNUCwKKwkJLmRvaXQgPTNEIGRldmxp bmtfbmxfY21kX3NlbGZ0ZXN0c19ydW4sCisJCS5mbGFncyA9M0QgR0VOTF9BRE1JTl9QRVJNLAor CX0sCiB9Owo9MjAKIHN0YXRpYyBzdHJ1Y3QgZ2VubF9mYW1pbHkgZGV2bGlua19ubF9mYW1pbHkg X19yb19hZnRlcl9pbml0ID0zRCB7Ci0tPTIwCjIuMzEuMQo= --000000000000c7b70805e284bca3 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 I7qKxvF8Yo7eGTnHRTa99J+6yTd88AKVuhM5TEhpC8cS7qvrQXJje+Uing2xWC4FH76LEWIFH0Pt x8C1WoCU0ClXHU/XfzH2mYrFANBSCeP1Co6QdEfRAgMBAAGjggHZMIIB1TAOBgNVHQ8BAf8EBAMC BaAwgaMGCCsGAQUFBwEBBIGWMIGTME4GCCsGAQUFBzAChkJodHRwOi8vc2VjdXJlLmdsb2JhbHNp Z24uY29tL2NhY2VydC9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcnQwQQYIKwYBBQUHMAGG NWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwME0G A1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxz aWduLmNvbS9yZXBvc2l0b3J5LzAJBgNVHRMEAjAAMEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6Ly9j cmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAuY3JsMCMGA1UdEQQc MBqBGHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSME GDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUUc6J11rH3s6PyZQ0zIVZHIuP20Yw DQYJKoZIhvcNAQELBQADggEBALvCjXn9gy9a2nU/Ey0nphGZefIP33ggiyuKnmqwBt7Wk/uDHIIc kkIlqtTbo0x0PqphS9A23CxCDjKqZq2WN34fL5MMW83nrK0vqnPloCaxy9/6yuLbottBY4STNuvA mQ//Whh+PE+DZadqiDbxXbos3IH8AeFXH4A1zIqIrc0Um2/CSD/T6pvu9QrchtvemfP0z/f1Bk+8 QbQ4ARVP93WV1I13US69evWXw+mOv9VnejShU9PMcDK203xjXbBOi9Hm+fthrWfwIyGoC5aEf7vd PKkEDt4VZ9RbudZU/c3N8+kURaHNtrvu2K+mQs5w/AF7HYZThqmOzQJnvMRjuL8xggJtMIICaQIB ATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgwYjepatB64S625eswwDQYJ YIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEICkEEjtx4vEYaTeTbG594P0ZmEu9pbPyxnkY h+wCjEgcMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMDYyODE2 NDMzNFowaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFl AwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATAN BgkqhkiG9w0BAQEFAASCAQA5LnDKFxouOXzrQBII9e/KFXeOm7G4Yta4FnzhVWosXQmFumFdlxBR GFu/v9hWOf85MDasxygeDneZBY7PrS3JZho041znnSjADCuuqk2xrUT4ElbIBFt6avwmO8QtZvVt XOpjKcQ9wJpVtkDr1cA3TttODsgCcVSBnIYpJlijrmVAJYZMmj7F8RaFyYUYzp1ezk7Zko4ZW8qM wRbziPTZnPRG7BkgHO147Op6Ev1hkMQMJvjL61LP0iM3nex+NhMyS5PPnyh+3sbrsHbS63/UIilP +rFJbTmIPC3krhuVRhz0ivX4nwEE4hvp6F0u3DYzAeheqNBLQcZtltDEJBQV --000000000000c7b70805e284bca3-- From nobody Sun Apr 19 17:02:08 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 46C1BC43334 for ; Tue, 28 Jun 2022 16:47:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235908AbiF1QrI (ORCPT ); Tue, 28 Jun 2022 12:47:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235451AbiF1QpQ (ORCPT ); Tue, 28 Jun 2022 12:45:16 -0400 Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 082C3CD0 for ; Tue, 28 Jun 2022 09:43:38 -0700 (PDT) Received: by mail-pj1-x1029.google.com with SMTP id w24so13108222pjg.5 for ; Tue, 28 Jun 2022 09:43:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=azmnwrMZHeA43DXmKhCm4zPb23uVlcqIUzKv3vZ1enM=; b=VEIxru17lcuOuYj/wzDNdKtINKZiWHVSR/fs7E0U+9JLY0FO1AIfDKNwEVxBDQjtgP AhqsmYmQkiM/ms1cr0Kds0nCLlNnGV6CV17SXhwBzJp1WQubQB96+cMA3aJPWTjxYox9 Ya32xyXswU0zrugBcK3mdqN+zYnS3nmO3hxrY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=azmnwrMZHeA43DXmKhCm4zPb23uVlcqIUzKv3vZ1enM=; b=00gN+w0HvPcAcDU1gtMWgH62ViKt8/WltzaMU+ZtiYDqGFPyWFG32IaXAAePnYahIh 1MGB400ki503xdQXnh7oYmKw6Rrh+z2rJebTSz007VP+S9wm/FEPfMBbYOyoZUNb7JQj Mq+eHU9ZBg/2RaATGp5Iw5VRbEWDsAauK32z1H4npz5ad4YBt7AT6wHUGwLws+t4SNHS snhUg2plbJX2UjOFVV6uxGJieIpKGHLOUm6nyx5q1ENzAO6Wc/ytlZC+tl053LwAp5G8 rOnr36GIVCAgM/NrSxIViQ4InXlA3WhNZnzymzMRLmgXfmwJQhXI40Qr/8clhyd/1TG0 8dUQ== X-Gm-Message-State: AJIora8dmb1YiGH1Vw3VYfMShAMiYsNLWLZ6Oif5wQdYqfB7kdY3sFql DUfxnVtT8k0tLf1Ab1yLJHJwMRhmUMBnGtKm X-Google-Smtp-Source: AGRyM1tWrlBnsos2hlXFF4uKAUuU3CbAxk9xkRu1NCbcdZHGOD/XpIT81diha3B5BBuJS8MFUpPhCg== X-Received: by 2002:a17:902:ef92:b0:16a:1ef1:22db with SMTP id iz18-20020a170902ef9200b0016a1ef122dbmr4481302plb.2.1656434617347; Tue, 28 Jun 2022 09:43:37 -0700 (PDT) Received: from rahul_yocto_ubuntu18.ibn.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id mn9-20020a17090b188900b001ec9d45776bsm38248pjb.42.2022.06.28.09.43.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jun 2022 09:43:36 -0700 (PDT) From: Vikas Gupta To: jiri@nvidia.com, kuba@kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net, dsahern@kernel.org, stephen@networkplumber.org, edumazet@google.com, michael.chan@broadcom.com, andrew.gospodarek@broadcom.com, Vikas Gupta Subject: [PATCH net-next v1 2/3] bnxt_en: refactor NVM APIs Date: Tue, 28 Jun 2022 22:12:40 +0530 Message-Id: <20220628164241.44360-3-vikas.gupta@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220628164241.44360-1-vikas.gupta@broadcom.com> References: <20220628164241.44360-1-vikas.gupta@broadcom.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="000000000000fba6a405e284bcac" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable --000000000000fba6a405e284bcac MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 bW9kaWZ5IGRlY2xhcmF0aW9uIGZvciBOVk0gQVBJcyBzbyB0aGF0IHRoZXkgY2FuIGJlCnVzZWQg d2l0aCBkZXZsaW5rIGFuZCBldGh0b29sIGJvdGguCgpTaWduZWQtb2ZmLWJ5OiBWaWthcyBHdXB0 YSA8dmlrYXMuZ3VwdGFAYnJvYWRjb20uY29tPgpSZXZpZXdlZC1ieTogTWljaGFlbCBDaGFuIDxt aWNoYWVsLmNoYW5AYnJvYWRjb20uY29tPgpSZXZpZXdlZC1ieTogQW5keSBHb3Nwb2RhcmVrIDxh bmRyZXcuZ29zcG9kYXJla0Bicm9hZGNvbS5jb20+Ci0tLQogLi4uL25ldC9ldGhlcm5ldC9icm9h ZGNvbS9ibnh0L2JueHRfZXRodG9vbC5jIHwgMjQgKysrKysrKysrLS0tLS0tLS0tLQogLi4uL25l dC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5oIHwgMTIgKysrKysrKysrKwog MiBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5j IGIvZHJpdmVycy9uZT0KdC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5jCmlu ZGV4IDcxOTFlNWQ3NDIwOC4uODdlYjUzNjJhZDcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9ldGh0b29sLmMKQEAgLTIxNzYsMTQgKzIxNzYsMTQg QEAgc3RhdGljIHZvaWQgYm54dF9wcmludF9hZG1pbl9lcnIoc3RydWN0IGJueHQgKmJwKQogCW5l dGRldl9pbmZvKGJwLT5kZXYsICJQRiBkb2VzIG5vdCBoYXZlIGFkbWluIHByaXZpbGVnZXMgdG8g Zmxhc2ggb3IgcmVzZXQ9CiB0aGUgZGV2aWNlXG4iKTsKIH0KPTIwCi1zdGF0aWMgaW50IGJueHRf ZmluZF9udnJhbV9pdGVtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiB0eXBlLCB1MTYgb3Jk aT0KbmFsLAotCQkJCXUxNiBleHQsIHUxNiAqaW5kZXgsIHUzMiAqaXRlbV9sZW5ndGgsCi0JCQkJ dTMyICpkYXRhX2xlbmd0aCk7CitpbnQgYm54dF9maW5kX252cmFtX2l0ZW0oc3RydWN0IG5ldF9k ZXZpY2UgKmRldiwgdTE2IHR5cGUsIHUxNiBvcmRpbmFsLAorCQkJIHUxNiBleHQsIHUxNiAqaW5k ZXgsIHUzMiAqaXRlbV9sZW5ndGgsCisJCQkgdTMyICpkYXRhX2xlbmd0aCk7Cj0yMAotc3RhdGlj IGludCBibnh0X2ZsYXNoX252cmFtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBkaXJfdHlw ZSwKLQkJCSAgICB1MTYgZGlyX29yZGluYWwsIHUxNiBkaXJfZXh0LCB1MTYgZGlyX2F0dHIsCi0J CQkgICAgdTMyIGRpcl9pdGVtX2xlbiwgY29uc3QgdTggKmRhdGEsCi0JCQkgICAgc2l6ZV90IGRh dGFfbGVuKQoraW50IGJueHRfZmxhc2hfbnZyYW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2 IGRpcl90eXBlLAorCQkgICAgIHUxNiBkaXJfb3JkaW5hbCwgdTE2IGRpcl9leHQsIHUxNiBkaXJf YXR0ciwKKwkJICAgICB1MzIgZGlyX2l0ZW1fbGVuLCBjb25zdCB1OCAqZGF0YSwKKwkJICAgICBz aXplX3QgZGF0YV9sZW4pCiB7CiAJc3RydWN0IGJueHQgKmJwID0zRCBuZXRkZXZfcHJpdihkZXYp OwogCXN0cnVjdCBod3JtX252bV93cml0ZV9pbnB1dCAqcmVxOwpAQCAtMjgzNiw4ICsyODM2LDgg QEAgc3RhdGljIGludCBibnh0X2dldF9udnJhbV9kaXJlY3Rvcnkoc3RydWN0IG5ldF9kZXZpY2U9 CiAqZGV2LCB1MzIgbGVuLCB1OCAqZGF0YSkKIAlyZXR1cm4gcmM7CiB9Cj0yMAotc3RhdGljIGlu dCBibnh0X2dldF9udnJhbV9pdGVtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiBpbmRleCwg dTMyIG9mZnM9CmV0LAotCQkJICAgICAgIHUzMiBsZW5ndGgsIHU4ICpkYXRhKQoraW50IGJueHRf Z2V0X252cmFtX2l0ZW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIGluZGV4LCB1MzIgb2Zm c2V0LAorCQkJdTMyIGxlbmd0aCwgdTggKmRhdGEpCiB7CiAJc3RydWN0IGJueHQgKmJwID0zRCBu ZXRkZXZfcHJpdihkZXYpOwogCWludCByYzsKQEAgLTI4NzEsOSArMjg3MSw5IEBAIHN0YXRpYyBp bnQgYm54dF9nZXRfbnZyYW1faXRlbShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2PQosIHUzMiBpbmRl eCwgdTMyIG9mZnNldCwKIAlyZXR1cm4gcmM7CiB9Cj0yMAotc3RhdGljIGludCBibnh0X2ZpbmRf bnZyYW1faXRlbShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgdHlwZSwgdTE2IG9yZGk9Cm5h bCwKLQkJCQl1MTYgZXh0LCB1MTYgKmluZGV4LCB1MzIgKml0ZW1fbGVuZ3RoLAotCQkJCXUzMiAq ZGF0YV9sZW5ndGgpCitpbnQgYm54dF9maW5kX252cmFtX2l0ZW0oc3RydWN0IG5ldF9kZXZpY2Ug KmRldiwgdTE2IHR5cGUsIHUxNiBvcmRpbmFsLAorCQkJIHUxNiBleHQsIHUxNiAqaW5kZXgsIHUz MiAqaXRlbV9sZW5ndGgsCisJCQkgdTMyICpkYXRhX2xlbmd0aCkKIHsKIAlzdHJ1Y3QgaHdybV9u dm1fZmluZF9kaXJfZW50cnlfb3V0cHV0ICpvdXRwdXQ7CiAJc3RydWN0IGh3cm1fbnZtX2ZpbmRf ZGlyX2VudHJ5X2lucHV0ICpyZXE7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9i cm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5oIGIvZHJpdmVycy9uZT0KdC9ldGhlcm5ldC9icm9h ZGNvbS9ibnh0L2JueHRfZXRodG9vbC5oCmluZGV4IGE1OTI4NDIxNWU3OC4uYThlY2VmOGFiODJj IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZXRo dG9vbC5oCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9ldGh0 b29sLmgKQEAgLTU4LDUgKzU4LDE3IEBAIGludCBibnh0X2ZsYXNoX3BhY2thZ2VfZnJvbV9md19v Ymooc3RydWN0IG5ldF9kZXZpY2UgKmRlPQp2LCBjb25zdCBzdHJ1Y3QgZmlybXdhcmUKIGludCBi bnh0X2dldF9wa2dpbmZvKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGNoYXIgKnZlciwgaW50IHNp emUpOwogdm9pZCBibnh0X2V0aHRvb2xfaW5pdChzdHJ1Y3QgYm54dCAqYnApOwogdm9pZCBibnh0 X2V0aHRvb2xfZnJlZShzdHJ1Y3QgYm54dCAqYnApOworaW50IGJueHRfZmluZF9udnJhbV9pdGVt KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiB0eXBlLCB1MTYgb3JkaW5hbCwKKwkJCSB1MTYg ZXh0LCB1MTYgKmluZGV4LCB1MzIgKml0ZW1fbGVuZ3RoLAorCQkJIHUzMiAqZGF0YV9sZW5ndGgp OworaW50IGJueHRfZmluZF9udnJhbV9pdGVtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiB0 eXBlLCB1MTYgb3JkaW5hbCwKKwkJCSB1MTYgZXh0LCB1MTYgKmluZGV4LCB1MzIgKml0ZW1fbGVu Z3RoLAorCQkJIHUzMiAqZGF0YV9sZW5ndGgpOworaW50IGJueHRfZmxhc2hfbnZyYW0oc3RydWN0 IG5ldF9kZXZpY2UgKmRldiwgdTE2IGRpcl90eXBlLAorCQkgICAgIHUxNiBkaXJfb3JkaW5hbCwg dTE2IGRpcl9leHQsIHUxNiBkaXJfYXR0ciwKKwkJICAgICB1MzIgZGlyX2l0ZW1fbGVuLCBjb25z dCB1OCAqZGF0YSwKKwkJICAgICBzaXplX3QgZGF0YV9sZW4pOworaW50IGJueHRfZ2V0X252cmFt X2l0ZW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIGluZGV4LCB1MzIgb2Zmc2V0LAorCQkJ dTMyIGxlbmd0aCwgdTggKmRhdGEpOwo9MjAKICNlbmRpZgotLT0yMAoyLjMxLjEK --000000000000fba6a405e284bcac Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 I7qKxvF8Yo7eGTnHRTa99J+6yTd88AKVuhM5TEhpC8cS7qvrQXJje+Uing2xWC4FH76LEWIFH0Pt x8C1WoCU0ClXHU/XfzH2mYrFANBSCeP1Co6QdEfRAgMBAAGjggHZMIIB1TAOBgNVHQ8BAf8EBAMC BaAwgaMGCCsGAQUFBwEBBIGWMIGTME4GCCsGAQUFBzAChkJodHRwOi8vc2VjdXJlLmdsb2JhbHNp Z24uY29tL2NhY2VydC9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcnQwQQYIKwYBBQUHMAGG NWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwME0G A1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxz aWduLmNvbS9yZXBvc2l0b3J5LzAJBgNVHRMEAjAAMEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6Ly9j cmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAuY3JsMCMGA1UdEQQc MBqBGHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSME GDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUUc6J11rH3s6PyZQ0zIVZHIuP20Yw DQYJKoZIhvcNAQELBQADggEBALvCjXn9gy9a2nU/Ey0nphGZefIP33ggiyuKnmqwBt7Wk/uDHIIc kkIlqtTbo0x0PqphS9A23CxCDjKqZq2WN34fL5MMW83nrK0vqnPloCaxy9/6yuLbottBY4STNuvA mQ//Whh+PE+DZadqiDbxXbos3IH8AeFXH4A1zIqIrc0Um2/CSD/T6pvu9QrchtvemfP0z/f1Bk+8 QbQ4ARVP93WV1I13US69evWXw+mOv9VnejShU9PMcDK203xjXbBOi9Hm+fthrWfwIyGoC5aEf7vd PKkEDt4VZ9RbudZU/c3N8+kURaHNtrvu2K+mQs5w/AF7HYZThqmOzQJnvMRjuL8xggJtMIICaQIB ATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgwYjepatB64S625eswwDQYJ YIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEIChy1m/MG2rd7tLtfQn0MOUiEkdR32mZmp/r aCubfblkMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMDYyODE2 NDMzN1owaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFl AwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATAN BgkqhkiG9w0BAQEFAASCAQAgVhf6WSeGSIiblQS3hiKK0wTJvhpxqLs/1e5duSh+fn4kXhKQqIWD MZjaftv5uyzju63Y32YLg/k/NiStD+SOn939ujHZe6ilw7t/sFtnSBpS1TZmSSLH8NhJUwfFDti+ 7QMCg+qkxlSUKCIvI9+DWMaDI+WSOOiW6666BTUwd6dibC8PBM0TKrrhdi+qc/gmrcxFYx1T8Ea7 MGbK4MIWCgm1xPfmqaDnDYq4VmgqvLDwTm5JowsZigibxUI6l3HxUhY5V2MYjdI9/0iYXDaaNjc0 EQYs9n0yboBZgI7khsmfWiMwuheaH6z6bzpeki8FCzEFoQXBnUwdRN0xUl84 --000000000000fba6a405e284bcac-- From nobody Sun Apr 19 17:02:08 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DF67CC433EF for ; Tue, 28 Jun 2022 16:50:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232816AbiF1Qr0 (ORCPT ); Tue, 28 Jun 2022 12:47:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60380 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232518AbiF1QpS (ORCPT ); Tue, 28 Jun 2022 12:45:18 -0400 Received: from mail-pg1-x541.google.com (mail-pg1-x541.google.com [IPv6:2607:f8b0:4864:20::541]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A0163F02 for ; Tue, 28 Jun 2022 09:43:41 -0700 (PDT) Received: by mail-pg1-x541.google.com with SMTP id z14so12765050pgh.0 for ; Tue, 28 Jun 2022 09:43:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=CigKiZg0uMYJOja2S1ioYAwjFvjzwsvhihcuBCgrFS0=; b=BfUSo+JSGYR/osbm80GN5qp4PwENlBR5AgI8OaU/4sEH594hZXjUgzJp7klOPj6+gg VHq9DnqGr2Qi9ZexfpZOmywueR8UM8UbCjsQ22brWP/phqhNhlVmCyHsWeYVrdA0QZ4T Nfwu2BibR7zRMSP6dCqhBj4Rsh/OgQ4dSllGc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=CigKiZg0uMYJOja2S1ioYAwjFvjzwsvhihcuBCgrFS0=; b=Lf0u0dF1Cna52x7m/GJirDrwWOvaxSwo4wqrVtX8YLQGLJwpjXpDSighLzJZu16n69 y+YizCa5aCYJ7KUaHG8ynxju843+UyWoq4cvyZcO+b9c2tD+RwbZBCFbF7coPjxBinSz PVKQ4w4Z1ZLfxiXbFBP0vBZUHIXEw2vws5EN3HKOkJy3u3B7Nn5HKxXb9Wx57flGDK0g ZDELDH9iZa+yGfaubkzoTTipEXtqMbx64Ff+3NbQN7o+REt78D7P5JW07tZJJtLgcEsW OEql2HlL82hz2YqV7zy3ni7Tqs0sXdNE1wjKV1Mb//23C/E/J+6zEnApex1FCDxlyV+P rZcw== X-Gm-Message-State: AJIora8PYXYQG+NrGe0fWl2gQ4icQZMgiaUMfkIjWBe0zRiJeTFPgwGJ XV4B2XNcV6fOi+iJLv6SL1wsUA== X-Google-Smtp-Source: AGRyM1uNdejCd65WOzIt0ueML3WG9HUWGUiNllUk+OIAnoHBv+m+SWGXPG0YwH/Yp9G4680cQYjACA== X-Received: by 2002:a05:6a00:2292:b0:525:6c57:8dd5 with SMTP id f18-20020a056a00229200b005256c578dd5mr4445514pfe.17.1656434621014; Tue, 28 Jun 2022 09:43:41 -0700 (PDT) Received: from rahul_yocto_ubuntu18.ibn.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id mn9-20020a17090b188900b001ec9d45776bsm38248pjb.42.2022.06.28.09.43.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jun 2022 09:43:40 -0700 (PDT) From: Vikas Gupta To: jiri@nvidia.com, kuba@kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net, dsahern@kernel.org, stephen@networkplumber.org, edumazet@google.com, michael.chan@broadcom.com, andrew.gospodarek@broadcom.com, Vikas Gupta Subject: [PATCH net-next v1 3/3] bnxt_en: implement callbacks for devlink selftests Date: Tue, 28 Jun 2022 22:12:41 +0530 Message-Id: <20220628164241.44360-4-vikas.gupta@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220628164241.44360-1-vikas.gupta@broadcom.com> References: <20220628164241.44360-1-vikas.gupta@broadcom.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="00000000000033fb6705e284bd70" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable --00000000000033fb6705e284bd70 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWRkIGNhbGxiYWNrcwo9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0QKLnNl bGZ0ZXN0c19zaG93OiBwb3B1bGF0ZXMgZmxhc2ggdGVzdCBuYW1lLgouc2VsZnRlc3RzX3J1bjog aW1wbGVtZW50cyBhIGZsYXNoIHNlbGZ0ZXN0LgoKU2lnbmVkLW9mZi1ieTogVmlrYXMgR3VwdGEg PHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbT4KUmV2aWV3ZWQtYnk6IE1pY2hhZWwgQ2hhbiA8bWlj aGFlbC5jaGFuQGJyb2FkY29tLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHkgR29zcG9kYXJlayA8YW5k cmV3Lmdvc3BvZGFyZWtAYnJvYWRjb20uY29tPgotLS0KIC4uLi9uZXQvZXRoZXJuZXQvYnJvYWRj b20vYm54dC9ibnh0X2RldmxpbmsuYyB8IDY2ICsrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvYnJvYWRjb20vYm54dC9ibnh0X2RldmxpbmsuYyBiL2RyaXZlcnMvbmU9CnQvZXRoZXJuZXQv YnJvYWRjb20vYm54dC9ibnh0X2RldmxpbmsuYwppbmRleCAzNTI4Y2U5ODQ5ZTYuLjIzMmU5YjFm ZjFhOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0 X2RldmxpbmsuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRf ZGV2bGluay5jCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVkZSAiYm54dF91bHAuaCIKICNpbmNs dWRlICJibnh0X3B0cC5oIgogI2luY2x1ZGUgImJueHRfY29yZWR1bXAuaCIKKyNpbmNsdWRlICJi bnh0X252bV9kZWZzLmgiCisjaW5jbHVkZSAiYm54dF9ldGh0b29sLmgiCj0yMAogc3RhdGljIHZv aWQgX19ibnh0X2Z3X3JlY292ZXIoc3RydWN0IGJueHQgKmJwKQogewpAQCAtNjEwLDYgKzYxMiw2 NyBAQCBzdGF0aWMgaW50IGJueHRfZGxfcmVsb2FkX3VwKHN0cnVjdCBkZXZsaW5rICpkbCwgZW51 bSA9CmRldmxpbmtfcmVsb2FkX2FjdGlvbiBhY3RpCiAJcmV0dXJuIHJjOwogfQo9MjAKK3N0YXRp YyBib29sIGJueHRfbnZtX3Rlc3Qoc3RydWN0IGJueHQgKmJwLCBzdHJ1Y3QgbmV0bGlua19leHRf YWNrICpleHRhY2spCit7CisJdTMyIGRhdGFsZW47CisJdTE2IGluZGV4OworCXU4ICpidWY7CisK KwlpZiAoYm54dF9maW5kX252cmFtX2l0ZW0oYnAtPmRldiwgQk5YX0RJUl9UWVBFX1ZQRCwKKwkJ CQkgQk5YX0RJUl9PUkRJTkFMX0ZJUlNULCBCTlhfRElSX0VYVF9OT05FLAorCQkJCSAmaW5kZXgs IE5VTEwsICZkYXRhbGVuKSB8fCAhZGF0YWxlbikgeworCQlOTF9TRVRfRVJSX01TR19NT0QoZXh0 YWNrLCAibnZtIHRlc3QgdnBkIGVudHJ5IGVycm9yIik7CisJCXJldHVybiBmYWxzZTsKKwl9CisK KwlidWYgPTNEIGt6YWxsb2MoZGF0YWxlbiwgR0ZQX0tFUk5FTCk7CisJaWYgKCFidWYpIHsKKwkJ TkxfU0VUX0VSUl9NU0dfTU9EKGV4dGFjaywgIm5vdCBzdWZmaWNpZW50IG1lbW9yeSBmb3IgbnZt IHRlc3QiKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCWlmIChibnh0X2dldF9udnJhbV9pdGVt KGJwLT5kZXYsIGluZGV4LCAwLCBkYXRhbGVuLCBidWYpKSB7CisJCU5MX1NFVF9FUlJfTVNHX01P RChleHRhY2ssICJudm0gdGVzdCB2cGQgcmVhZCBlcnJvciIpOworCQlnb3RvIGVycjsKKwl9CisK KwlpZiAoYm54dF9mbGFzaF9udnJhbShicC0+ZGV2LCBCTlhfRElSX1RZUEVfVlBELCBCTlhfRElS X09SRElOQUxfRklSU1QsCisJCQkgICAgIEJOWF9ESVJfRVhUX05PTkUsIDAsIDAsIGJ1ZiwgZGF0 YWxlbikpIHsKKwkJTkxfU0VUX0VSUl9NU0dfTU9EKGV4dGFjaywgIm52bSB0ZXN0IHZwZCB3cml0 ZSBlcnJvciIpOworCQlnb3RvIGVycjsKKwl9CisKKwlyZXR1cm4gdHJ1ZTsKKworZXJyOgorCWtm cmVlKGJ1Zik7CisJcmV0dXJuIGZhbHNlOworfQorCitzdGF0aWMgaW50IGJueHRfZGxfc2VsZnRl c3RzX3Nob3coc3RydWN0IGRldmxpbmsgKmRsLCBzdHJ1Y3Qgc2tfYnVmZiAqbXNnLAorCQkJCSAg c3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQoreworCXJldHVybiBkZXZsaW5rX3NlbGZ0 ZXN0X25hbWVfcHV0KG1zZywgREVWTElOS19TRUxGVEVTVF9GTEFTSF9URVNUX05BTUUpOworfQor CitzdGF0aWMgaW50IGJueHRfZGxfc2VsZnRlc3RzX3J1bihzdHJ1Y3QgZGV2bGluayAqZGwsIHN0 cnVjdCBza19idWZmICptc2csCisJCQkJIHUzMiB0ZXN0X21hc2ssIHN0cnVjdCBuZXRsaW5rX2V4 dF9hY2sgKmV4dGFjaykKK3sKKwlzdHJ1Y3QgYm54dCAqYnAgPTNEIGJueHRfZ2V0X2JwX2Zyb21f ZGwoZGwpOworCXN0cnVjdCBkZXZsaW5rX3NlbGZ0ZXN0X2V4ZWNfaW5mbyB0ZXN0OworCWludCBy YzsKKworCWlmICh0ZXN0X21hc2sgJiBERVZMSU5LX1NFTEZURVNUX0ZMQVNIKSB7CisJCXRlc3Qu bmFtZSA9M0QgREVWTElOS19TRUxGVEVTVF9GTEFTSF9URVNUX05BTUU7CisJCXRlc3QucmVzdWx0 ID0zRCBibnh0X252bV90ZXN0KGJwLCBleHRhY2spOworCQlyYyA9M0QgZGV2bGlua19zZWxmdGVz dF9yZXN1bHRfcHV0KG1zZywgJnRlc3QpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJfQor CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2bGlua19vcHMgYm54dF9k bF9vcHMgPTNEIHsKICNpZmRlZiBDT05GSUdfQk5YVF9TUklPVgogCS5lc3dpdGNoX21vZGVfc2V0 ID0zRCBibnh0X2RsX2Vzd2l0Y2hfbW9kZV9zZXQsCkBAIC02MjIsNiArNjg1LDggQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkZXZsaW5rX29wcyBibnh0X2RsX29wcyA9M0QgewogCS5yZWxvYWRfbGlt aXRzCSAgPTNEIEJJVChERVZMSU5LX1JFTE9BRF9MSU1JVF9OT19SRVNFVCksCiAJLnJlbG9hZF9k b3duCSAgPTNEIGJueHRfZGxfcmVsb2FkX2Rvd24sCiAJLnJlbG9hZF91cAkgID0zRCBibnh0X2Rs X3JlbG9hZF91cCwKKwkuc2VsZnRlc3RzX3Nob3cJICA9M0QgYm54dF9kbF9zZWxmdGVzdHNfc2hv dywKKwkuc2VsZnRlc3RzX3J1bgkgID0zRCBibnh0X2RsX3NlbGZ0ZXN0c19ydW4sCiB9Owo9MjAK IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2bGlua19vcHMgYm54dF92Zl9kbF9vcHM7CkBAIC0xMDkx LDYgKzExNTYsNyBAQCBzdGF0aWMgaW50IGJueHRfZGxfbnZtX3BhcmFtX3NldChzdHJ1Y3QgZGV2 bGluayAqZGwsID0KdTMyIGlkLAogCXJldHVybiBibnh0X2h3cm1fbnZtX3JlcShicCwgaWQsIHJl cSwgJmN0eC0+dmFsKTsKIH0KPTIwCisKIHN0YXRpYyBpbnQgYm54dF9kbF9tc2l4X3ZhbGlkYXRl KHN0cnVjdCBkZXZsaW5rICpkbCwgdTMyIGlkLAogCQkJCSB1bmlvbiBkZXZsaW5rX3BhcmFtX3Zh bHVlIHZhbCwKIAkJCQkgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQotLT0yMAoyLjMx LjEK --00000000000033fb6705e284bd70 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 I7qKxvF8Yo7eGTnHRTa99J+6yTd88AKVuhM5TEhpC8cS7qvrQXJje+Uing2xWC4FH76LEWIFH0Pt x8C1WoCU0ClXHU/XfzH2mYrFANBSCeP1Co6QdEfRAgMBAAGjggHZMIIB1TAOBgNVHQ8BAf8EBAMC BaAwgaMGCCsGAQUFBwEBBIGWMIGTME4GCCsGAQUFBzAChkJodHRwOi8vc2VjdXJlLmdsb2JhbHNp Z24uY29tL2NhY2VydC9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcnQwQQYIKwYBBQUHMAGG NWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwME0G A1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxz aWduLmNvbS9yZXBvc2l0b3J5LzAJBgNVHRMEAjAAMEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6Ly9j cmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAuY3JsMCMGA1UdEQQc MBqBGHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSME GDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUUc6J11rH3s6PyZQ0zIVZHIuP20Yw DQYJKoZIhvcNAQELBQADggEBALvCjXn9gy9a2nU/Ey0nphGZefIP33ggiyuKnmqwBt7Wk/uDHIIc kkIlqtTbo0x0PqphS9A23CxCDjKqZq2WN34fL5MMW83nrK0vqnPloCaxy9/6yuLbottBY4STNuvA mQ//Whh+PE+DZadqiDbxXbos3IH8AeFXH4A1zIqIrc0Um2/CSD/T6pvu9QrchtvemfP0z/f1Bk+8 QbQ4ARVP93WV1I13US69evWXw+mOv9VnejShU9PMcDK203xjXbBOi9Hm+fthrWfwIyGoC5aEf7vd PKkEDt4VZ9RbudZU/c3N8+kURaHNtrvu2K+mQs5w/AF7HYZThqmOzQJnvMRjuL8xggJtMIICaQIB ATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgwYjepatB64S625eswwDQYJ YIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEIPJx+IWLo7m8fllyvW+aVQnDo1nE9LPrJMuF pEuPTCGUMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMDYyODE2 NDM0MVowaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFl AwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATAN BgkqhkiG9w0BAQEFAASCAQC0VU6ZMMC1UfIQJptX7hO8JkCrCHSSSD8q7ccAJU5giOaJLt1N5i73 Hrk/E6kyQcnINffLCmPH+uiPK7d3Bv+K7JjHSZqn6l3mCIusd42kgUNKejADnxO03/C71+c/pCBn nrIxLGKXQt3kVtlS3ouwynzPVLY0qBtzmAeOP5RqaMUJZq6xJnmE7KX7Sw2rhMtDe2kzlGcN1xl7 Z/W1DpJpMmxwPOH4TIF7ajS+UfXhowLCLTNLv1rv2qpFIZbVGFqY7ZhMhMcjTxp2IbIZFn7Cv0kf jtFuYBCCcz7/z+c52+VgVehRgcMf0vsVg6FFCHHbSxSe2AVPX9pcaqrUiW2r --00000000000033fb6705e284bd70--