From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id DF990A0096 for ; Fri, 12 Apr 2019 14:30:13 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B6C701B1CE; Fri, 12 Apr 2019 14:29:29 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80070.outbound.protection.outlook.com [40.107.8.70]) by dpdk.org (Postfix) with ESMTP id 3820C1B10D for ; Fri, 12 Apr 2019 14:29:04 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wbrEkz04S1mDOd2tZmXNaN98LgYcyXVsJJwc12B769Q=; b=P10w30D99pRemwerKOsBIvdQCdNeJiw/6QIKqqtUiOG5GJqucWkRYf88ziBiCmh4OhslMhWYsEuIBv3WLpsjcM7ZlZriFNDt2TSeg+JGd/mdsMQhvAezJhAO7g65NAWHXc6Wl6eDTukNI6q79zIaI8JBPRauitNnzhf+Ln3zatg= Received: from VE1PR04MB6365.eurprd04.prod.outlook.com (10.255.118.78) by VE1PR04MB6702.eurprd04.prod.outlook.com (20.179.235.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.17; Fri, 12 Apr 2019 12:29:02 +0000 Received: from VE1PR04MB6365.eurprd04.prod.outlook.com ([fe80::f5ad:f178:4c55:13e0]) by VE1PR04MB6365.eurprd04.prod.outlook.com ([fe80::f5ad:f178:4c55:13e0%3]) with mapi id 15.20.1792.016; Fri, 12 Apr 2019 12:29:02 +0000 From: Gagandeep Singh To: "dev@dpdk.org" , "ferruh.yigit@intel.com" CC: Gagandeep Singh Thread-Topic: [PATCH v4 07/13] net/enetc: remove forward declarations Thread-Index: AQHU8StPATlkdRk51kmW+0L3x88vNA== Date: Fri, 12 Apr 2019 12:29:02 +0000 Message-ID: <20190412122840.1908-8-g.singh@nxp.com> References: <20190412105105.24351-1-g.singh@nxp.com> <20190412122840.1908-1-g.singh@nxp.com> In-Reply-To: <20190412122840.1908-1-g.singh@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BMXPR01CA0029.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:c::15) To VE1PR04MB6365.eurprd04.prod.outlook.com (2603:10a6:803:12a::14) x-mailer: git-send-email 2.19.1 authentication-results: spf=none (sender IP is ) smtp.mailfrom=G.Singh@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [92.120.0.8] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5b4e72c8-2f99-4a08-bebe-08d6bf427202 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600139)(711020)(4605104)(4618075)(2017052603328)(7193020); SRVR:VE1PR04MB6702; x-ms-traffictypediagnostic: VE1PR04MB6702: x-microsoft-antispam-prvs: x-forefront-prvs: 0005B05917 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(396003)(376002)(366004)(39860400002)(346002)(199004)(189003)(476003)(102836004)(97736004)(2616005)(5660300002)(52116002)(6486002)(76176011)(36756003)(11346002)(486006)(446003)(26005)(6506007)(386003)(256004)(14444005)(186003)(2906002)(4326008)(8936002)(50226002)(3846002)(14454004)(53936002)(86362001)(105586002)(478600001)(66066001)(106356001)(6116002)(1076003)(72206003)(81166006)(316002)(110136005)(81156014)(68736007)(25786009)(305945005)(7736002)(99286004)(2501003)(8676002)(71190400001)(71200400001)(6436002)(6512007); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR04MB6702; H:VE1PR04MB6365.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: GqbiLuBmRivLTMZw/eVYfb0HqZc5aC3WLH4HDaImfezYM4erZI4WQDectKsOC8R0cw5cG8Ubo9sj0hqm+Fgvz6AtdNdXLj8i8x3zuWunoIo4SWWOSwfNczbpSwjK6Cyij5ZQr+b0qc+UbVdAvWehiJMXw8lpemdXGU2sV6sBlzqRv4sQNcuI2mB6GPHzEzwBVB+WACW+cJEG0hMOkGW8XkoqY/T0A9T0/r2DhALBbRYIw8GX6KTMoOb9dEir0vhmACrlQ+qI2sIT1vWiuiwMGzCLexkr5gG1Il0k+NIKUl9lTLQB0Pbd55OhnLCiJzzdFxf2WZGjzDGHd+1+CZtrSd+C/zpXfbzJGkGKmUZHqvyLL1sCaxws9WWS6Ro5G06XAxthGTWG/JjTefmKwAL/zQGgdSPKBSJCqZEmdXWGTt0= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b4e72c8-2f99-4a08-bebe-08d6bf427202 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Apr 2019 12:29:02.4746 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6702 Subject: [dpdk-dev] [PATCH v4 07/13] net/enetc: remove forward declarations X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190412122902.Y3TRjRUTuRJpi-pU8U_2wgqxmzZwUq5D8sPuG9X2W7o@z> UmVtb3ZlIHVubmVlZGVkIGZvcndhcmQgZGVjbGFyYXRpb25zIGFuZCByZS1vcmRlciB0aGUgY29k ZS4NCg0KU2lnbmVkLW9mZi1ieTogR2FnYW5kZWVwIFNpbmdoIDxnLnNpbmdoQG54cC5jb20+DQot LS0NCiBkcml2ZXJzL25ldC9lbmV0Yy9lbmV0Y19ldGhkZXYuYyB8IDIzNyArKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tDQogMSBmaWxlIGNoYW5nZWQsIDEwNyBpbnNlcnRpb25zKCspLCAx MzAgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9lbmV0Yy9lbmV0Y19l dGhkZXYuYyBiL2RyaXZlcnMvbmV0L2VuZXRjL2VuZXRjX2V0aGRldi5jDQppbmRleCAyZDhjNGU2 MDQuLmQwZjllMmIzNSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2VuZXRjL2VuZXRjX2V0aGRl di5jDQorKysgYi9kcml2ZXJzL25ldC9lbmV0Yy9lbmV0Y19ldGhkZXYuYw0KQEAgLTEwLDExNSAr MTAsNiBAQA0KIA0KIGludCBlbmV0Y19sb2d0eXBlX3BtZDsNCiANCi0vKiBGdW5jdGlvbnMgUHJv dG90eXBlcyAqLw0KLXN0YXRpYyBpbnQgZW5ldGNfZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmRldik7DQotc3RhdGljIGludCBlbmV0Y19kZXZfc3RhcnQoc3RydWN0IHJ0ZV9ldGhf ZGV2ICpkZXYpOw0KLXN0YXRpYyB2b2lkIGVuZXRjX2Rldl9zdG9wKHN0cnVjdCBydGVfZXRoX2Rl diAqZGV2KTsNCi1zdGF0aWMgdm9pZCBlbmV0Y19kZXZfY2xvc2Uoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYpOw0KLXN0YXRpYyB2b2lkIGVuZXRjX2Rldl9pbmZvc19nZXQoc3RydWN0IHJ0ZV9ldGhf ZGV2ICpkZXYsDQotCQkJCXN0cnVjdCBydGVfZXRoX2Rldl9pbmZvICpkZXZfaW5mbyk7DQotc3Rh dGljIGludCBlbmV0Y19saW5rX3VwZGF0ZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgaW50IHdh aXRfdG9fY29tcGxldGUpOw0KLXN0YXRpYyBpbnQgZW5ldGNfaGFyZHdhcmVfaW5pdChzdHJ1Y3Qg ZW5ldGNfZXRoX2h3ICpodyk7DQotc3RhdGljIGludCBlbmV0Y19yeF9xdWV1ZV9zZXR1cChzdHJ1 Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDE2X3QgcnhfcXVldWVfaWQsDQotCQl1aW50MTZfdCBu Yl9yeF9kZXNjLCB1bnNpZ25lZCBpbnQgc29ja2V0X2lkLA0KLQkJY29uc3Qgc3RydWN0IHJ0ZV9l dGhfcnhjb25mICpyeF9jb25mLA0KLQkJc3RydWN0IHJ0ZV9tZW1wb29sICptYl9wb29sKTsNCi1z dGF0aWMgdm9pZCBlbmV0Y19yeF9xdWV1ZV9yZWxlYXNlKHZvaWQgKnJ4cSk7DQotc3RhdGljIGlu dCBlbmV0Y190eF9xdWV1ZV9zZXR1cChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDE2X3Qg dHhfcXVldWVfaWQsDQotCQl1aW50MTZfdCBuYl90eF9kZXNjLCB1bnNpZ25lZCBpbnQgc29ja2V0 X2lkLA0KLQkJY29uc3Qgc3RydWN0IHJ0ZV9ldGhfdHhjb25mICp0eF9jb25mKTsNCi1zdGF0aWMg dm9pZCBlbmV0Y190eF9xdWV1ZV9yZWxlYXNlKHZvaWQgKnR4cSk7DQotc3RhdGljIGNvbnN0IHVp bnQzMl90ICplbmV0Y19zdXBwb3J0ZWRfcHR5cGVzX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRl dik7DQotc3RhdGljIGludCBlbmV0Y19zdGF0c19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYs DQotCQlzdHJ1Y3QgcnRlX2V0aF9zdGF0cyAqc3RhdHMpOw0KLXN0YXRpYyB2b2lkIGVuZXRjX3N0 YXRzX3Jlc2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KTsNCi0NCi0vKg0KLSAqIFRoZSBzZXQg b2YgUENJIGRldmljZXMgdGhpcyBkcml2ZXIgc3VwcG9ydHMNCi0gKi8NCi1zdGF0aWMgY29uc3Qg c3RydWN0IHJ0ZV9wY2lfaWQgcGNpX2lkX2VuZXRjX21hcFtdID0gew0KLQl7IFJURV9QQ0lfREVW SUNFKFBDSV9WRU5ET1JfSURfRlJFRVNDQUxFLCBFTkVUQ19ERVZfSUQpIH0sDQotCXsgUlRFX1BD SV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9GUkVFU0NBTEUsIEVORVRDX0RFVl9JRF9WRikgfSwNCi0J eyAudmVuZG9yX2lkID0gMCwgLyogc2VudGluZWwgKi8gfSwNCi19Ow0KLQ0KLS8qIEZlYXR1cmVz IHN1cHBvcnRlZCBieSB0aGlzIGRyaXZlciAqLw0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRoX2Rl dl9vcHMgZW5ldGNfb3BzID0gew0KLQkuZGV2X2NvbmZpZ3VyZSAgICAgICAgPSBlbmV0Y19kZXZf Y29uZmlndXJlLA0KLQkuZGV2X3N0YXJ0ICAgICAgICAgICAgPSBlbmV0Y19kZXZfc3RhcnQsDQot CS5kZXZfc3RvcCAgICAgICAgICAgICA9IGVuZXRjX2Rldl9zdG9wLA0KLQkuZGV2X2Nsb3NlICAg ICAgICAgICAgPSBlbmV0Y19kZXZfY2xvc2UsDQotCS5saW5rX3VwZGF0ZSAgICAgICAgICA9IGVu ZXRjX2xpbmtfdXBkYXRlLA0KLQkuc3RhdHNfZ2V0ICAgICAgICAgICAgPSBlbmV0Y19zdGF0c19n ZXQsDQotCS5zdGF0c19yZXNldCAgICAgICAgICA9IGVuZXRjX3N0YXRzX3Jlc2V0LA0KLQkuZGV2 X2luZm9zX2dldCAgICAgICAgPSBlbmV0Y19kZXZfaW5mb3NfZ2V0LA0KLQkucnhfcXVldWVfc2V0 dXAgICAgICAgPSBlbmV0Y19yeF9xdWV1ZV9zZXR1cCwNCi0JLnJ4X3F1ZXVlX3JlbGVhc2UgICAg ID0gZW5ldGNfcnhfcXVldWVfcmVsZWFzZSwNCi0JLnR4X3F1ZXVlX3NldHVwICAgICAgID0gZW5l dGNfdHhfcXVldWVfc2V0dXAsDQotCS50eF9xdWV1ZV9yZWxlYXNlICAgICA9IGVuZXRjX3R4X3F1 ZXVlX3JlbGVhc2UsDQotCS5kZXZfc3VwcG9ydGVkX3B0eXBlc19nZXQgPSBlbmV0Y19zdXBwb3J0 ZWRfcHR5cGVzX2dldCwNCi19Ow0KLQ0KLS8qKg0KLSAqIEluaXRpYWxpc2F0aW9uIG9mIHRoZSBl bmV0YyBkZXZpY2UNCi0gKg0KLSAqIEBwYXJhbSBldGhfZGV2DQotICogICAtIFBvaW50ZXIgdG8g dGhlIHN0cnVjdHVyZSBydGVfZXRoX2Rldg0KLSAqDQotICogQHJldHVybg0KLSAqICAgLSBPbiBz dWNjZXNzLCB6ZXJvLg0KLSAqICAgLSBPbiBmYWlsdXJlLCBuZWdhdGl2ZSB2YWx1ZS4NCi0gKi8N Ci1zdGF0aWMgaW50DQotZW5ldGNfZGV2X2luaXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2 KQ0KLXsNCi0JaW50IGVycm9yID0gMDsNCi0Jc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2 ID0gUlRFX0VUSF9ERVZfVE9fUENJKGV0aF9kZXYpOw0KLQlzdHJ1Y3QgZW5ldGNfZXRoX2h3ICpo dyA9DQotCQlFTkVUQ19ERVZfUFJJVkFURV9UT19IVyhldGhfZGV2LT5kYXRhLT5kZXZfcHJpdmF0 ZSk7DQotDQotCVBNRF9JTklUX0ZVTkNfVFJBQ0UoKTsNCi0JZXRoX2Rldi0+ZGV2X29wcyA9ICZl bmV0Y19vcHM7DQotCWV0aF9kZXYtPnJ4X3BrdF9idXJzdCA9ICZlbmV0Y19yZWN2X3BrdHM7DQot CWV0aF9kZXYtPnR4X3BrdF9idXJzdCA9ICZlbmV0Y194bWl0X3BrdHM7DQotDQotCS8qIFJldHJp ZXZpbmcgYW5kIHN0b3JpbmcgdGhlIEhXIGJhc2UgYWRkcmVzcyBvZiBkZXZpY2UgKi8NCi0JaHct Pmh3LnJlZyA9ICh2b2lkICopcGNpX2Rldi0+bWVtX3Jlc291cmNlWzBdLmFkZHI7DQotCWh3LT5k ZXZpY2VfaWQgPSBwY2lfZGV2LT5pZC5kZXZpY2VfaWQ7DQotDQotCWVycm9yID0gZW5ldGNfaGFy ZHdhcmVfaW5pdChodyk7DQotCWlmIChlcnJvciAhPSAwKSB7DQotCQlFTkVUQ19QTURfRVJSKCJI YXJkd2FyZSBpbml0aWFsaXphdGlvbiBmYWlsZWQiKTsNCi0JCXJldHVybiAtMTsNCi0JfQ0KLQ0K LQkvKiBBbGxvY2F0ZSBtZW1vcnkgZm9yIHN0b3JpbmcgTUFDIGFkZHJlc3NlcyAqLw0KLQlldGhf ZGV2LT5kYXRhLT5tYWNfYWRkcnMgPSBydGVfem1hbGxvYygiZW5ldGNfZXRoIiwgRVRIRVJfQURE Ul9MRU4sIDApOw0KLQlpZiAoIWV0aF9kZXYtPmRhdGEtPm1hY19hZGRycykgew0KLQkJRU5FVENf UE1EX0VSUigiRmFpbGVkIHRvIGFsbG9jYXRlICVkIGJ5dGVzIG5lZWRlZCB0byAiDQotCQkJICAg ICAgInN0b3JlIE1BQyBhZGRyZXNzZXMiLA0KLQkJCSAgICAgIEVUSEVSX0FERFJfTEVOICogMSk7 DQotCQllcnJvciA9IC1FTk9NRU07DQotCQlyZXR1cm4gLTE7DQotCX0NCi0NCi0JLyogQ29weSB0 aGUgcGVybWFuZW50IE1BQyBhZGRyZXNzICovDQotCWV0aGVyX2FkZHJfY29weSgoc3RydWN0IGV0 aGVyX2FkZHIgKilody0+bWFjLmFkZHIsDQotCQkJJmV0aF9kZXYtPmRhdGEtPm1hY19hZGRyc1sw XSk7DQotDQotCUVORVRDX1BNRF9ERUJVRygicG9ydF9pZCAlZCB2ZW5kb3JJRD0weCV4IGRldmlj ZUlEPTB4JXgiLA0KLQkJCWV0aF9kZXYtPmRhdGEtPnBvcnRfaWQsIHBjaV9kZXYtPmlkLnZlbmRv cl9pZCwNCi0JCQlwY2lfZGV2LT5pZC5kZXZpY2VfaWQpOw0KLQlyZXR1cm4gMDsNCi19DQotDQot c3RhdGljIGludA0KLWVuZXRjX2Rldl91bmluaXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2 IF9fcnRlX3VudXNlZCkNCi17DQotCVBNRF9JTklUX0ZVTkNfVFJBQ0UoKTsNCi0JcmV0dXJuIDA7 DQotfQ0KLQ0KIHN0YXRpYyBpbnQNCiBlbmV0Y19kZXZfY29uZmlndXJlKHN0cnVjdCBydGVfZXRo X2RldiAqZGV2IF9fcnRlX3VudXNlZCkNCiB7DQpAQCAtMTc5LDI3ICs3MCw2IEBAIGVuZXRjX2Rl dl9zdG9wKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KIAkJICAgICAgdmFsICYgKH4oRU5FVENf UE0wX1RYX0VOIHwgRU5FVENfUE0wX1JYX0VOKSkpOw0KIH0NCiANCi1zdGF0aWMgdm9pZA0KLWVu ZXRjX2Rldl9jbG9zZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCi17DQotCXVpbnQxNl90IGk7 DQotDQotCVBNRF9JTklUX0ZVTkNfVFJBQ0UoKTsNCi0JZW5ldGNfZGV2X3N0b3AoZGV2KTsNCi0N Ci0JZm9yIChpID0gMDsgaSA8IGRldi0+ZGF0YS0+bmJfcnhfcXVldWVzOyBpKyspIHsNCi0JCWVu ZXRjX3J4X3F1ZXVlX3JlbGVhc2UoZGV2LT5kYXRhLT5yeF9xdWV1ZXNbaV0pOw0KLQkJZGV2LT5k YXRhLT5yeF9xdWV1ZXNbaV0gPSBOVUxMOw0KLQl9DQotCWRldi0+ZGF0YS0+bmJfcnhfcXVldWVz ID0gMDsNCi0NCi0JZm9yIChpID0gMDsgaSA8IGRldi0+ZGF0YS0+bmJfdHhfcXVldWVzOyBpKysp IHsNCi0JCWVuZXRjX3R4X3F1ZXVlX3JlbGVhc2UoZGV2LT5kYXRhLT50eF9xdWV1ZXNbaV0pOw0K LQkJZGV2LT5kYXRhLT50eF9xdWV1ZXNbaV0gPSBOVUxMOw0KLQl9DQotCWRldi0+ZGF0YS0+bmJf dHhfcXVldWVzID0gMDsNCi19DQotDQogc3RhdGljIGNvbnN0IHVpbnQzMl90ICoNCiBlbmV0Y19z dXBwb3J0ZWRfcHR5cGVzX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiBfX3J0ZV91bnVzZWQp DQogew0KQEAgLTY0OCw2ICs1MTgsMTEzIEBAIGVuZXRjX3N0YXRzX3Jlc2V0KHN0cnVjdCBydGVf ZXRoX2RldiAqZGV2KQ0KIAllbmV0Y19wb3J0X3dyKGVuZXRjX2h3LCBFTkVUQ19QTTBfU1RBVF9D T05GSUcsIEVORVRDX0NMRUFSX1NUQVRTKTsNCiB9DQogDQorc3RhdGljIHZvaWQNCitlbmV0Y19k ZXZfY2xvc2Uoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQorew0KKwl1aW50MTZfdCBpOw0KKw0K KwlQTURfSU5JVF9GVU5DX1RSQUNFKCk7DQorCWVuZXRjX2Rldl9zdG9wKGRldik7DQorDQorCWZv ciAoaSA9IDA7IGkgPCBkZXYtPmRhdGEtPm5iX3J4X3F1ZXVlczsgaSsrKSB7DQorCQllbmV0Y19y eF9xdWV1ZV9yZWxlYXNlKGRldi0+ZGF0YS0+cnhfcXVldWVzW2ldKTsNCisJCWRldi0+ZGF0YS0+ cnhfcXVldWVzW2ldID0gTlVMTDsNCisJfQ0KKwlkZXYtPmRhdGEtPm5iX3J4X3F1ZXVlcyA9IDA7 DQorDQorCWZvciAoaSA9IDA7IGkgPCBkZXYtPmRhdGEtPm5iX3R4X3F1ZXVlczsgaSsrKSB7DQor CQllbmV0Y190eF9xdWV1ZV9yZWxlYXNlKGRldi0+ZGF0YS0+dHhfcXVldWVzW2ldKTsNCisJCWRl di0+ZGF0YS0+dHhfcXVldWVzW2ldID0gTlVMTDsNCisJfQ0KKwlkZXYtPmRhdGEtPm5iX3R4X3F1 ZXVlcyA9IDA7DQorfQ0KKw0KKy8qDQorICogVGhlIHNldCBvZiBQQ0kgZGV2aWNlcyB0aGlzIGRy aXZlciBzdXBwb3J0cw0KKyAqLw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcnRlX3BjaV9pZCBwY2lf aWRfZW5ldGNfbWFwW10gPSB7DQorCXsgUlRFX1BDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9GUkVF U0NBTEUsIEVORVRDX0RFVl9JRCkgfSwNCisJeyBSVEVfUENJX0RFVklDRShQQ0lfVkVORE9SX0lE X0ZSRUVTQ0FMRSwgRU5FVENfREVWX0lEX1ZGKSB9LA0KKwl7IC52ZW5kb3JfaWQgPSAwLCAvKiBz ZW50aW5lbCAqLyB9LA0KK307DQorDQorLyogRmVhdHVyZXMgc3VwcG9ydGVkIGJ5IHRoaXMgZHJp dmVyICovDQorc3RhdGljIGNvbnN0IHN0cnVjdCBldGhfZGV2X29wcyBlbmV0Y19vcHMgPSB7DQor CS5kZXZfY29uZmlndXJlICAgICAgICA9IGVuZXRjX2Rldl9jb25maWd1cmUsDQorCS5kZXZfc3Rh cnQgICAgICAgICAgICA9IGVuZXRjX2Rldl9zdGFydCwNCisJLmRldl9zdG9wICAgICAgICAgICAg ID0gZW5ldGNfZGV2X3N0b3AsDQorCS5kZXZfY2xvc2UgICAgICAgICAgICA9IGVuZXRjX2Rldl9j bG9zZSwNCisJLmxpbmtfdXBkYXRlICAgICAgICAgID0gZW5ldGNfbGlua191cGRhdGUsDQorCS5z dGF0c19nZXQgICAgICAgICAgICA9IGVuZXRjX3N0YXRzX2dldCwNCisJLnN0YXRzX3Jlc2V0ICAg ICAgICAgID0gZW5ldGNfc3RhdHNfcmVzZXQsDQorCS5kZXZfaW5mb3NfZ2V0ICAgICAgICA9IGVu ZXRjX2Rldl9pbmZvc19nZXQsDQorCS5yeF9xdWV1ZV9zZXR1cCAgICAgICA9IGVuZXRjX3J4X3F1 ZXVlX3NldHVwLA0KKwkucnhfcXVldWVfcmVsZWFzZSAgICAgPSBlbmV0Y19yeF9xdWV1ZV9yZWxl YXNlLA0KKwkudHhfcXVldWVfc2V0dXAgICAgICAgPSBlbmV0Y190eF9xdWV1ZV9zZXR1cCwNCisJ LnR4X3F1ZXVlX3JlbGVhc2UgICAgID0gZW5ldGNfdHhfcXVldWVfcmVsZWFzZSwNCisJLmRldl9z dXBwb3J0ZWRfcHR5cGVzX2dldCA9IGVuZXRjX3N1cHBvcnRlZF9wdHlwZXNfZ2V0LA0KK307DQor DQorLyoqDQorICogSW5pdGlhbGlzYXRpb24gb2YgdGhlIGVuZXRjIGRldmljZQ0KKyAqDQorICog QHBhcmFtIGV0aF9kZXYNCisgKiAgIC0gUG9pbnRlciB0byB0aGUgc3RydWN0dXJlIHJ0ZV9ldGhf ZGV2DQorICoNCisgKiBAcmV0dXJuDQorICogICAtIE9uIHN1Y2Nlc3MsIHplcm8uDQorICogICAt IE9uIGZhaWx1cmUsIG5lZ2F0aXZlIHZhbHVlLg0KKyAqLw0KK3N0YXRpYyBpbnQNCitlbmV0Y19k ZXZfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYpDQorew0KKwlpbnQgZXJyb3IgPSAw Ow0KKwlzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYgPSBSVEVfRVRIX0RFVl9UT19QQ0ko ZXRoX2Rldik7DQorCXN0cnVjdCBlbmV0Y19ldGhfaHcgKmh3ID0NCisJCUVORVRDX0RFVl9QUklW QVRFX1RPX0hXKGV0aF9kZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCisNCisJUE1EX0lOSVRfRlVO Q19UUkFDRSgpOw0KKwlldGhfZGV2LT5kZXZfb3BzID0gJmVuZXRjX29wczsNCisJZXRoX2Rldi0+ cnhfcGt0X2J1cnN0ID0gJmVuZXRjX3JlY3ZfcGt0czsNCisJZXRoX2Rldi0+dHhfcGt0X2J1cnN0 ID0gJmVuZXRjX3htaXRfcGt0czsNCisNCisJLyogUmV0cmlldmluZyBhbmQgc3RvcmluZyB0aGUg SFcgYmFzZSBhZGRyZXNzIG9mIGRldmljZSAqLw0KKwlody0+aHcucmVnID0gKHZvaWQgKilwY2lf ZGV2LT5tZW1fcmVzb3VyY2VbMF0uYWRkcjsNCisJaHctPmRldmljZV9pZCA9IHBjaV9kZXYtPmlk LmRldmljZV9pZDsNCisNCisJZXJyb3IgPSBlbmV0Y19oYXJkd2FyZV9pbml0KGh3KTsNCisJaWYg KGVycm9yICE9IDApIHsNCisJCUVORVRDX1BNRF9FUlIoIkhhcmR3YXJlIGluaXRpYWxpemF0aW9u IGZhaWxlZCIpOw0KKwkJcmV0dXJuIC0xOw0KKwl9DQorDQorCS8qIEFsbG9jYXRlIG1lbW9yeSBm b3Igc3RvcmluZyBNQUMgYWRkcmVzc2VzICovDQorCWV0aF9kZXYtPmRhdGEtPm1hY19hZGRycyA9 IHJ0ZV96bWFsbG9jKCJlbmV0Y19ldGgiLCBFVEhFUl9BRERSX0xFTiwgMCk7DQorCWlmICghZXRo X2Rldi0+ZGF0YS0+bWFjX2FkZHJzKSB7DQorCQlFTkVUQ19QTURfRVJSKCJGYWlsZWQgdG8gYWxs b2NhdGUgJWQgYnl0ZXMgbmVlZGVkIHRvICINCisJCQkgICAgICAic3RvcmUgTUFDIGFkZHJlc3Nl cyIsDQorCQkJICAgICAgRVRIRVJfQUREUl9MRU4gKiAxKTsNCisJCWVycm9yID0gLUVOT01FTTsN CisJCXJldHVybiAtMTsNCisJfQ0KKw0KKwkvKiBDb3B5IHRoZSBwZXJtYW5lbnQgTUFDIGFkZHJl c3MgKi8NCisJZXRoZXJfYWRkcl9jb3B5KChzdHJ1Y3QgZXRoZXJfYWRkciAqKWh3LT5tYWMuYWRk ciwNCisJCQkmZXRoX2Rldi0+ZGF0YS0+bWFjX2FkZHJzWzBdKTsNCisNCisJRU5FVENfUE1EX0RF QlVHKCJwb3J0X2lkICVkIHZlbmRvcklEPTB4JXggZGV2aWNlSUQ9MHgleCIsDQorCQkJZXRoX2Rl di0+ZGF0YS0+cG9ydF9pZCwgcGNpX2Rldi0+aWQudmVuZG9yX2lkLA0KKwkJCXBjaV9kZXYtPmlk LmRldmljZV9pZCk7DQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50DQorZW5ldGNfZGV2 X3VuaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYgX19ydGVfdW51c2VkKQ0KK3sNCisJ UE1EX0lOSVRfRlVOQ19UUkFDRSgpOw0KKwlyZXR1cm4gMDsNCit9DQorDQogc3RhdGljIGludA0K IGVuZXRjX3BjaV9wcm9iZShzdHJ1Y3QgcnRlX3BjaV9kcml2ZXIgKnBjaV9kcnYgX19ydGVfdW51 c2VkLA0KIAkJCSAgIHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2RldikNCi0tIA0KMi4xOS4x DQoNCg==