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 6D48CC433EF for ; Tue, 19 Jul 2022 17:50:33 +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:MIME-Version:In-Reply-To:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=sRA6JLdKMxt+PNqb78PE2ISMdJlG1nvb0O/w2iy8URI=; b=d48+KLhUZCVKu9 02B3GRdq3N/WlycgZXwlZQgOvIOuSqoGaELQ7jcX56/Cwa6/wG+oYMYhGYauK3n12ifV1dFt98VHk XcKJ0m5fBYjwgPdJctN2fN/zxfONH12aF7hABbc/Aq8YHtC/MQgmeNW1jjBZuIR9ACuLu2siMJZpR iM8OUT8ZlUFIgW26FXVRUENWHEnpQVU6QqM3CzcMV2oaitVIxkkJOo7p/LYjut/kfu2uwRSQUYe4I 7mJZpRKp/WvBncwh15fd7/eOcsOzMAV6xPzjvJro+FFrSVOrSeyS691HYPuZp9Duvl/EwgInrflx5 hBLbfSGf439ZgiXEZFQw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oDrLW-00Axhx-JA; Tue, 19 Jul 2022 17:49:22 +0000 Received: from mail-bn7nam10on2114.outbound.protection.outlook.com ([40.107.92.114] helo=NAM10-BN7-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oDrLS-00Axdk-9n for linux-arm-kernel@lists.infradead.org; Tue, 19 Jul 2022 17:49:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=muANlnVVu1K6OmzgtFBnTS5uSMiK4e1Fi1Acb0f4nSNb9UKoP3tRWTOV1KQ9/RUMbtU9Gcbqhu1o+oJlqkTSruOcHRtOct4vn3kCEJSkkgNhmnDlPFrhFern9/5kE1DUUBkcgPvIPlb/UBXY+Qy+1fuJ1+d3twudn94Dt4FEFUEOFMUe/tOTKnb/697QqpHnG5+DMYHIvYYXpnuL5cAj9CASwjqzKfL5WyOfV0uDbe2YvV69gu6pmtxWf9JVFsOSyg76Lu5Z9+eMZoYDnPfkjwN3CM8/QzNOXtYNpiSH0pIQu0oVDAYdEUPMRwaFLEoGaBPgzZ6CcxSoxQVEZGQ0Ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MOOdx8i7OJZEpkAmlQX6dRyv1uptdBTzGeWQSNeBhYA=; b=KgPr6dIj+uOVoTezI9kDMmuIGcv1i332hEW4CYEwyDJMHHNM/bjSNc3Uz1lIWvUfDYU6GRtPr19VPb9Aq0rP+P6xJzWPzzrTPaC+LjTpJV6niHLqt1zI0qiVICMAALCnwR2pRynF+k1c/8hjXpUdPiXT2cjAEz7KZSFqa9nsxi9RMCA2bkqqvRU3mScnGLppgn/ajC9zA9ujfjIe/z0sLIayD64VBnbmMpCSzQF/miDT9KfPRwYgBrHYduqAkjNsCsjew0am0MroA3/3ASNi/s2NMA8ex8oKU589yjo8g+ILysqoKstO4IIDx0TA4cUozDkxKu1DzlFhINS57ChAOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=in-advantage.com; dmarc=pass action=none header.from=in-advantage.com; dkim=pass header.d=in-advantage.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inadvantage.onmicrosoft.com; s=selector2-inadvantage-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MOOdx8i7OJZEpkAmlQX6dRyv1uptdBTzGeWQSNeBhYA=; b=BIQGTonxE4uQ2zzpBlmvut6Z6/ajYFbbfwLZJriiNQ2Cs3Gik13qST5eHxHZ4TnMy9VoMRd0pcDpRHbOjowrseeidD9M7S3C4cg5aS0wioMDE/KNCRyta/B1X1YkjJf+WifI83kEM48CNwiE9EKKNynD9CLhmnWKv4f7vcFdsbQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=in-advantage.com; Received: from MWHPR1001MB2351.namprd10.prod.outlook.com (2603:10b6:301:35::37) by BN0PR10MB4982.namprd10.prod.outlook.com (2603:10b6:408:12c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.17; Tue, 19 Jul 2022 17:49:08 +0000 Received: from MWHPR1001MB2351.namprd10.prod.outlook.com ([fe80::7451:2903:45de:3912]) by MWHPR1001MB2351.namprd10.prod.outlook.com ([fe80::7451:2903:45de:3912%7]) with mapi id 15.20.5438.023; Tue, 19 Jul 2022 17:49:08 +0000 Date: Tue, 19 Jul 2022 10:49:03 -0700 From: Colin Foster To: Lee Jones Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, Vladimir Oltean , Rob Herring , Krzysztof Kozlowski , Andrew Lunn , Heiner Kallweit , Russell King , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Lars Povlsen , Steen Hegelund , UNGLinuxDriver@microchip.com, Linus Walleij , Wolfram Sang , Terry Bowman , Andy Shevchenko , katie.morris@in-advantage.com Subject: Re: [PATCH v13 net-next 9/9] mfd: ocelot: add support for the vsc7512 chip via spi Message-ID: References: <20220705204743.3224692-1-colin.foster@in-advantage.com> <20220705204743.3224692-10-colin.foster@in-advantage.com> Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: SJ0PR05CA0096.namprd05.prod.outlook.com (2603:10b6:a03:334::11) To MWHPR1001MB2351.namprd10.prod.outlook.com (2603:10b6:301:35::37) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 397b0d79-35bb-4d03-f385-08da69aefad4 X-MS-TrafficTypeDiagnostic: BN0PR10MB4982:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: v/cM2ONAVSB+XhsBCSphIyzGHq53YaN6nKpA4fBE3CzlFYrHzFi0s3z0WY+yUGq3pRXozKSFvXMOv90VFCCZOCRGmqZi4xsgfb/HrivJLtxCKWQvq9uCl0ovkz9BxBifEBBTCSkrlgcoNZpm0CNMoBIxn0IukGdC9nd/bseE7dcq8tIsjrtATN3ehfCROmyjk0tiV1qEUoBLV470a37LkLk0R877/LDED1yHEyQKf+s/ZEGPY04KSStP2OZIm5gYjwyIrFSKyUTHFculmCpAnBMPECgiQKk9CL04nVQb43mfzREX17xTVYgCuyioIbrJIePbvZ4Zk7iidBZnaYrVOPhDfcnLux/FK2LJn6nrSXhAA7lrKEToQaA+ghdRfYncoWGQiVyHg5AhHroL8zpZe8rP65fSXfk+cKqfqMerVlkId7JV+ByydFkVLx7vxlD1O429e+n1PucOwCncMgxMWUbQt+guGejZYxwLkghlUJebpFe9NdfC0x0lErEY2XarM8l8LYbJb9aV/ljfwu2wQNy1K6HOqtJwKNpWln9ETln14tsoaybrtblLSJP+Rb08m0RXhrMo5kwvwlKm9abc8JJWSNBt7Y8AIqkD69VOF+2rjWpiKIyxBlgIk1Nc8sTIovBLhsYGK3nZvwoLKlfiEMnE5f8wYqbVIfYBgTxLk/ZRJdAPiK5SDsMGrgkRBMhEE/bf4AgIcmXuDvqxUtz6QlKSmFOugzoOUXn281t6cOjyyq5Ztt5Jtfh+enZGPlcdm4NZAs41teeADXMw0n40WQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2351.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(7916004)(39830400003)(396003)(376002)(366004)(136003)(346002)(86362001)(66476007)(38100700002)(66556008)(54906003)(316002)(66946007)(8676002)(2906002)(4326008)(6916009)(30864003)(8936002)(186003)(107886003)(5660300002)(33716001)(7416002)(9686003)(6486002)(966005)(478600001)(6512007)(83380400001)(26005)(6666004)(41300700001)(6506007)(44832011);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RmhZSk1KTDVxQUpEemxlZEc4bkIraDVCNGJWK1R2MEs3NkRIbVRNQVo2Y25a?= =?utf-8?B?ajZCcm1vNXEyTHkrQmp6dTZrN0F5c1FSVGh4V0I4QlJaUnhjQnNJU2hFckJT?= =?utf-8?B?dHA4SjYrb1lKWS80ZklCWU5XTTIxM0hjM1dzMnNEVmw4LzRaTUNvMVEzRmh3?= =?utf-8?B?Y3N3VWsrNU4vWXhmQVJZVGE3ekhnamRBOUd6ai93TUFuTm1aVjA4UGpwTTg4?= =?utf-8?B?UUNwNFJPWDNIMGdjWjh2aXRQSjlvdjdST2drNDdSWXpTKzIwa0dBQjI4d0dR?= =?utf-8?B?dG5zNUh6YVBCRmk0cXpVR1gyOXlXWUZZRG1Td2pkb0hnRHVKUlAxRlpDdXV4?= =?utf-8?B?R1h0U0VCZkQraEYrY3JzdkhCK1hOL1dOVjZuaWFQZVNjWlRkL0lJRFVBQnYx?= =?utf-8?B?bUZjaEYxRGpzZTVQMjJQUGN3N25xMkRleTlmNzBEOGRJdHJKZEoydHUvaCtv?= =?utf-8?B?TmlqandpeGFxQUhidDFNdVR6ZlMyTWhVRXg2RjQ1OFFsTW1xdTdTV3B3Wkp3?= =?utf-8?B?NktuaHFNeHV1K2ZjWUtMbE5jVXFnVHBkNjB1Z3YzOXFuaWFuSE96YzJqV3Zu?= =?utf-8?B?TUxCUkxGb28vbXhvamQ0STNzVE1mUDc5Z2VyQk5mQmJOdlZ6MTYwcmtPRkJt?= =?utf-8?B?b1Z3OGlhRjdBMk9XZUdXSWE1UkFCb2ZjeUYzbXZYL3BDQmJPTkc4MzBkOVdj?= =?utf-8?B?RnVTM0xOOW0waHd5OE9tYmpTdkUwazJkanhPd1pveFB6WTFvamJEclduVUZE?= =?utf-8?B?eFJwK1VmSHlvbmlmYVZtamN4OXpJTnhrN284Q0lmYXdZMG5jaTl5cU1BYlNs?= =?utf-8?B?UUtPODZYV1FkNS9XMjlYV2pWcy9ON0hLVkQ2KzNVQjlUUVlkeEZuMVVlQStx?= =?utf-8?B?eU5oMkpwK0pCUkZ6VEFnVGc3NUkyVC8zQTZnVFhGTUNLN3JGQ0VYNEN6TnJO?= =?utf-8?B?b2dGbWpRamZibnZJMGZNbGdWeTRTRHlDNGVUeWp6MlpyYmJYc1pUaEdtT2xz?= =?utf-8?B?WWJvVHpqaFY3NzhZbHdvVklrYTVKYXRrajNUNEZIY2hGVURNelFnUUlaOFdh?= =?utf-8?B?c0NmSVJUT05IRVJVYk9zdXUyMTRIOVdoUUwvVHZZaUdxNFZRcFdlUCt0S0pZ?= =?utf-8?B?RXRJcktRaXQ1ZlRUNllRK1h6U3ZWMjVxWmYxZmxOTFFQdnFZb2lUMTV1elhW?= =?utf-8?B?Vjh1eUhWZFhVbmRoMEdTMUN0b2xMTHYwMitjNlozWGxaRXYrUlBsSGNzcUMx?= =?utf-8?B?UGt6bEF2R3p1TnZxMk1aMGhxR2F6dUZhNCs5d08zNVl1S2ZyVi9HUTkra2Jr?= =?utf-8?B?ZldSR2NyV3kvUjFNR2oxbFUxajZMVTZ4SjQxN0tIRVNncDV3WnRMUStMS214?= =?utf-8?B?MXRVbHhXN3V6MjNVYjdDN1czejhmL2ZEYUQ0YzQ2UlgwUmIvQlB5bkFKMGpR?= =?utf-8?B?bitIK0tVTnNYQjlJdUtxWXBGWm5nNitydjhVSmtCYkw1RU9RL2h0MkFLQXNI?= =?utf-8?B?RDBzQkVQN2xuVTEzTnYybVBrWWgzQ1d4V29FSjQwOUUyZzd5MmM5NWtGSkE2?= =?utf-8?B?OHUxNmxEVHdmUFY2NXpEb1pDaDhsYnZFYU5iSUsrbTN1Q012bkVHWlBIZWt5?= =?utf-8?B?NGpwLzdXUzZmQktGcVlWcXRpMU1nRW05eS82MjJhUG9CYmxYdlY2aUFJSVZW?= =?utf-8?B?a25tWEhQcFdHMWpNYnRXNGNxK2ZQUkErSUNxMy9VdkI3OEZWSEhGczRhVWkr?= =?utf-8?B?alg3N0Nxd1pTcGl1OGFMRTJyYjAxSlk2YWlFSHF5T1J5TU1HUUFFSER2dXM3?= =?utf-8?B?UlNjYTcxUnlpdTNXU2N3MGdLQUVwQUc2UFJYUW9EUjVhUER2UUxXc1ZPVXR2?= =?utf-8?B?YnY1S0FDR1ZPYmNGUkRNOGdtV1kvck1nZjFiTVhBdHRkVUlHckFGT3lScWZH?= =?utf-8?B?aEJPR2VrRmNxQmo0bzJKQlhkQlQ4WTRpTWJhb1JaSlVGYkc2NkRxc3BGUHNF?= =?utf-8?B?bW9HbVJ5NXZqMGphVldxSlZwamVocUZuOXBxbzFvb1VienpBNHM4Mi80NUd5?= =?utf-8?B?eXkyckRwNzY4UDRoZ3NBeWJlWUtPY29YRlM2U0VuKzUxQlkrT0lMZzFUbGps?= =?utf-8?B?YmRZTzBxU1M1UHJCMXBYNm5SMHdzTVAxVXRHNWZJejBDMk96dHF0bGNQSlB6?= =?utf-8?B?UVE9PQ==?= X-OriginatorOrg: in-advantage.com X-MS-Exchange-CrossTenant-Network-Message-Id: 397b0d79-35bb-4d03-f385-08da69aefad4 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2351.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jul 2022 17:49:08.3113 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 48e842ca-fbd8-4633-a79d-0c955a7d3aae X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FUsaNOn8pBPCGmA1YLbanZ5QeNloMz7lMfSW3wGoW+P0ZJV9+EluY5Kn+WntbPilBeAhq4HBAxGT2utgJeVEraq0upWZGLjkgfJ7AjJh6N4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB4982 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220719_104918_656863_8BAC22C2 X-CRM114-Status: GOOD ( 36.18 ) 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 T24gTW9uLCBKdWwgMTgsIDIwMjIgYXQgMDM6MTg6MjhQTSArMDEwMCwgTGVlIEpvbmVzIHdyb3Rl Ogo+IE9uIFR1ZSwgMDUgSnVsIDIwMjIsIENvbGluIEZvc3RlciB3cm90ZToKPiAKPiA+ICtNT0RV TEVfSU1QT1JUX05TKE1GRF9PQ0VMT1RfU1BJKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21m ZC9vY2Vsb3Qtc3BpLmMgYi9kcml2ZXJzL21mZC9vY2Vsb3Qtc3BpLmMKPiA+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0Cj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjBjMWM1MjE1YzcwNgo+ID4gLS0tIC9k ZXYvbnVsbAo+ID4gKysrIGIvZHJpdmVycy9tZmQvb2NlbG90LXNwaS5jCj4gPiBAQCAtMCwwICsx LDMxNyBAQAo+ID4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMCBPUiBNSVQp Cj4gPiArLyoKPiA+ICsgKiBTUEkgY29yZSBkcml2ZXIgZm9yIHRoZSBPY2Vsb3QgY2hpcCBmYW1p bHkuCj4gPiArICoKPiA+ICsgKiBUaGlzIGRyaXZlciB3aWxsIGhhbmRsZSBldmVyeXRoaW5nIG5l Y2Vzc2FyeSB0byBhbGxvdyBmb3IgY29tbXVuaWNhdGlvbiBvdmVyCj4gPiArICogU1BJIHRvIHRo ZSBWU0M3NTExLCBWU0M3NTEyLCBWU0M3NTEzIGFuZCBWU0M3NTE0IGNoaXBzLiBUaGUgbWFpbiBm dW5jdGlvbnMKPiA+ICsgKiBhcmUgdG8gcHJlcGFyZSB0aGUgY2hpcCdzIFNQSSBpbnRlcmZhY2Ug Zm9yIGEgc3BlY2lmaWMgYnVzIHNwZWVkLCBhbmQgYSBob3N0Cj4gPiArICogcHJvY2Vzc29yJ3Mg ZW5kaWFubmVzcy4gVGhpcyB3aWxsIGNyZWF0ZSBhbmQgZGlzdHJpYnV0ZSByZWdtYXBzIGZvciBh bnkKPiA+ICsgKiBjaGlsZHJlbi4KPiA+ICsgKgo+ID4gKyAqIENvcHlyaWdodCAyMDIxLCAyMDIy IElubm92YXRpdmUgQWR2YW50YWdlIEluYy4KPiA+ICsgKgo+ID4gKyAqIEF1dGhvcjogQ29saW4g Rm9zdGVyIDxjb2xpbi5mb3N0ZXJAaW4tYWR2YW50YWdlLmNvbT4KPiA+ICsgKi8KPiA+ICsKPiA+ ICsjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L2tjb25maWcu aD4KPiA+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L3Jl Z21hcC5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+Cj4gPiArCj4gPiArI2luY2x1 ZGUgPGFzbS9ieXRlb3JkZXIuaD4KPiA+ICsKPiA+ICsjaW5jbHVkZSAib2NlbG90LmgiCj4gPiAr Cj4gPiArI2RlZmluZSBSRUdfREVWX0NQVU9SR19JRl9DVFJMCQkweDAwMDAKPiA+ICsjZGVmaW5l IFJFR19ERVZfQ1BVT1JHX0lGX0NGR1NUQVQJMHgwMDA0Cj4gPiArCj4gPiArI2RlZmluZSBDRkdT VEFUX0lGX05VTV9WQ09SRQkJKDAgPDwgMjQpCj4gPiArI2RlZmluZSBDRkdTVEFUX0lGX05VTV9W UkFQCQkoMSA8PCAyNCkKPiA+ICsjZGVmaW5lIENGR1NUQVRfSUZfTlVNX1NJCQkoMiA8PCAyNCkK PiA+ICsjZGVmaW5lIENGR1NUQVRfSUZfTlVNX01JSU0JCSgzIDw8IDI0KQo+ID4gKwo+ID4gKyNk ZWZpbmUgVlNDNzUxMl9ERVZDUFVfT1JHX1JFU19TVEFSVAkweDcxMDAwMDAwCj4gPiArI2RlZmlu ZSBWU0M3NTEyX0RFVkNQVV9PUkdfUkVTX1NJWkUJMHgzOAo+ID4gKwo+ID4gKyNkZWZpbmUgVlND NzUxMl9DSElQX1JFR1NfUkVTX1NUQVJUCTB4NzEwNzAwMDAKPiA+ICsjZGVmaW5lIFZTQzc1MTJf Q0hJUF9SRUdTX1JFU19TSVpFCTB4MTQKPiA+ICsKPiA+ICtzdHJ1Y3Qgc3BpX2RldmljZTsKPiAK PiBXaHkgbm90IGp1c3QgI2luY2x1ZGU/CgpJIG1pcy11bmRlcnN0b29kIHRoaXMgdG8gbWVhbiBk cml2ZXJzL21mZC9vY2Vsb3Qtc3BpLmMgd2hlbiBpdCBtZWFudApkcml2ZXJzL21mZC9vY2Vsb3Qu aC4gVGhhbmtzLgoKaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wcm9qZWN0L25ldGRldmJw Zi9wYXRjaC8yMDIyMDcwMTE5MjYwOS4zOTcwMzE3LTEwLWNvbGluLmZvc3RlckBpbi1hZHZhbnRh Z2UuY29tLyMyNDkyMTA1NwoKIiIiCllvdSBtaXNzZWQgYSBsb3Qgb2YgZm9yd2FyZCBkZWNsYXJh dGlvbnMgdGhhdCBhcmUgdXNlZCBpbiB0aGlzIGZpbGUuCgpMaWtlCgpzdHJ1Y3Qgc3BpX2Rldmlj ZTsKIiIiCgoKPiA+ICtzdGF0aWMgaW50IG9jZWxvdF9zcGlfcmVnbWFwX2J1c19yZWFkKHZvaWQg KmNvbnRleHQsCj4gPiArCQkJCSAgICAgIGNvbnN0IHZvaWQgKnJlZywgc2l6ZV90IHJlZ19zaXpl LAo+ID4gKwkJCQkgICAgICB2b2lkICp2YWwsIHNpemVfdCB2YWxfc2l6ZSkKPiA+ICt7Cj4gPiAr CXN0cnVjdCBvY2Vsb3RfZGRhdGEgKmRkYXRhID0gY29udGV4dDsKPiA+ICsJc3RydWN0IHNwaV90 cmFuc2ZlciB0eCwgcGFkZGluZywgcng7Cj4gPiArCXN0cnVjdCBzcGlfZGV2aWNlICpzcGkgPSBk ZGF0YS0+c3BpOwo+ID4gKwlzdHJ1Y3Qgc3BpX21lc3NhZ2UgbXNnOwo+ID4gKwo+ID4gKwlzcGkg PSBkZGF0YS0+c3BpOwo+IAo+IERyb3AgdGhpcyBsaW5lLgoKWWVzIC0gYW5kIGFjdHVhbGx5IHNp bmNlIEknbSByZW1vdmluZyBkZGF0YS0+c3BpIGFsdG9nZXRoZXIgaXQnbGwgYmVjb21lCnRvX3Nw aV9kZXZpY2UoZGRhdGEtPmRldikgIChvYnZpb3VzbHkgd2l0aG91dCB0aGUgZG91YmxlLWFzc2ln bm1lbnQgdGhhdAp5b3UncmUgcG9pbnRpbmcgb3V0IGhlcmUpCgo+IAo+ID4gKwlzcGlfbWVzc2Fn ZV9pbml0KCZtc2cpOwo+ID4gKwo+ID4gKwltZW1zZXQoJnR4LCAwLCBzaXplb2YodHgpKTsKPiA+ ICsKPiA+ICsJdHgudHhfYnVmID0gcmVnOwo+ID4gKwl0eC5sZW4gPSByZWdfc2l6ZTsKPiA+ICsK PiA+ICsJc3BpX21lc3NhZ2VfYWRkX3RhaWwoJnR4LCAmbXNnKTsKPiA+ICsKPiA+ICsJaWYgKGRk YXRhLT5zcGlfcGFkZGluZ19ieXRlcykgewo+ID4gKwkJbWVtc2V0KCZwYWRkaW5nLCAwLCBzaXpl b2YocGFkZGluZykpOwo+ID4gKwo+ID4gKwkJcGFkZGluZy5sZW4gPSBkZGF0YS0+c3BpX3BhZGRp bmdfYnl0ZXM7Cj4gPiArCQlwYWRkaW5nLnR4X2J1ZiA9IGRkYXRhLT5kdW1teV9idWY7Cj4gPiAr CQlwYWRkaW5nLmR1bW15X2RhdGEgPSAxOwo+ID4gKwo+ID4gKwkJc3BpX21lc3NhZ2VfYWRkX3Rh aWwoJnBhZGRpbmcsICZtc2cpOwo+ID4gKwl9Cj4gPiArCj4gPiArCW1lbXNldCgmcngsIDAsIHNp emVvZihyeCkpOwo+ID4gKwlyeC5yeF9idWYgPSB2YWw7Cj4gPiArCXJ4LmxlbiA9IHZhbF9zaXpl Owo+ID4gKwo+ID4gKwlzcGlfbWVzc2FnZV9hZGRfdGFpbCgmcngsICZtc2cpOwo+ID4gKwo+ID4g KwlyZXR1cm4gc3BpX3N5bmMoc3BpLCAmbXNnKTsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIGlu dCBvY2Vsb3Rfc3BpX3JlZ21hcF9idXNfd3JpdGUodm9pZCAqY29udGV4dCwgY29uc3Qgdm9pZCAq ZGF0YSwKPiA+ICsJCQkJICAgICAgIHNpemVfdCBjb3VudCkKPiA+ICt7Cj4gPiArCXN0cnVjdCBv Y2Vsb3RfZGRhdGEgKmRkYXRhID0gY29udGV4dDsKPiA+ICsJc3RydWN0IHNwaV9kZXZpY2UgKnNw aSA9IGRkYXRhLT5zcGk7CgpBcyBhYm92ZSwgSSdtIGNoYW5naW5nIHRvIHRvX3NwaV9kZXZpY2Uo ZGRhdGEtPmRldikKCj4gPiArCj4gPiArCXJldHVybiBzcGlfd3JpdGUoc3BpLCBkYXRhLCBjb3Vu dCk7Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2J1cyBvY2Vs b3Rfc3BpX3JlZ21hcF9idXMgPSB7Cj4gPiArCS53cml0ZSA9IG9jZWxvdF9zcGlfcmVnbWFwX2J1 c193cml0ZSwKPiA+ICsJLnJlYWQgPSBvY2Vsb3Rfc3BpX3JlZ21hcF9idXNfcmVhZCwKPiA+ICt9 Owo+ID4gKwo+ID4gK3N0cnVjdCByZWdtYXAgKgo+ID4gK29jZWxvdF9zcGlfaW5pdF9yZWdtYXAo c3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBzdHJ1Y3QgcmVzb3VyY2UgKnJlcykKPiAKPiBPbmUg bGluZSwgYWxvbmcgd2l0aCBhbGwgdGhlIG90aGVycy4KPiAKPiA+ICt7Cj4gPiArCXN0cnVjdCBv Y2Vsb3RfZGRhdGEgKmRkYXRhID0gZGV2X2dldF9kcnZkYXRhKGRldik7Cj4gPiArCXN0cnVjdCBy ZWdtYXBfY29uZmlnIHJlZ21hcF9jb25maWc7Cj4gPiArCj4gPiArCW1lbWNweSgmcmVnbWFwX2Nv bmZpZywgJm9jZWxvdF9zcGlfcmVnbWFwX2NvbmZpZywKPiA+ICsJICAgICAgIHNpemVvZihyZWdt YXBfY29uZmlnKSk7Cj4gPiArCj4gPiArCXJlZ21hcF9jb25maWcubmFtZSA9IHJlcy0+bmFtZTsK PiA+ICsJcmVnbWFwX2NvbmZpZy5tYXhfcmVnaXN0ZXIgPSByZXMtPmVuZCAtIHJlcy0+c3RhcnQ7 Cj4gPiArCXJlZ21hcF9jb25maWcucmVnX2Jhc2UgPSByZXMtPnN0YXJ0Owo+ID4gKwo+ID4gKwly ZXR1cm4gZGV2bV9yZWdtYXBfaW5pdChkZXYsICZvY2Vsb3Rfc3BpX3JlZ21hcF9idXMsIGRkYXRh LAo+ID4gKwkJCQkmcmVnbWFwX2NvbmZpZyk7Cj4gPiArfQo+ID4gK0VYUE9SVF9TWU1CT0xfTlMo b2NlbG90X3NwaV9pbml0X3JlZ21hcCwgTUZEX09DRUxPVF9TUEkpOwo+ID4gKwo+ID4gK3N0YXRp YyBpbnQgb2NlbG90X3NwaV9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+ID4gK3sKPiA+ ICsJc3RydWN0IGRldmljZSAqZGV2ID0gJnNwaS0+ZGV2Owo+ID4gKwlzdHJ1Y3Qgb2NlbG90X2Rk YXRhICpkZGF0YTsKPiA+ICsJc3RydWN0IHJlZ21hcCAqcjsKPiA+ICsJaW50IGVycjsKPiA+ICsK PiA+ICsJZGRhdGEgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKmRkYXRhKSwgR0ZQX0tFUk5F TCk7Cj4gPiArCWlmICghZGRhdGEpCj4gPiArCQlyZXR1cm4gLUVOT01FTTsKPiA+ICsKPiA+ICsJ ZGRhdGEtPmRldiA9IGRldjsKPiAKPiBIb3cgYXJlIHlvdSBmZXRjaGluZyBkZGF0YSBpZiB5b3Ug ZG9uJ3QgYWxyZWFkeSBoYXZlICdkZXYnPwoKSSBkb24ndCB0aGluayBJIGZ1bGx5IHVuZGVyc3Rh bmQgdGhpcyBxdWVzdGlvbi4uLgoKCkFyZSB5b3Ugc2F5aW5nIGRkYXRhIGRvZXNuJ3QgbmVlZCBh IGRldiBpbnN0YW5jZT8gU28gaW5zdGVhZCBvZjoKCmRldm1fcmVnbWFwX2luaXQoZGV2LCAmYnVz LCBkZGF0YSwgJnJlZ21hcF9jb25maWcpOwoKSXQgY291bGQgYmU6CgpkZXZtX3JlZ21hcF9pbml0 KGRldiwgJmJ1cywgZGV2LCAmcmVnbWFwX2NvbmZpZyk7CgoKSW4gdGhhdCBjYXNlLCB0aGUgY29u dGV4dCBpbnRvIG9jZWxvdF9zcGlfcmVnbWFwX2J1c197cmVhZCx3cml0ZX0gd291bGQKYmUgZGV2 LCBpbnN0ZWFkIG9mIGRkYXRhLgoKVGhlbiBJIGdldCBkZGF0YSBmcm9tIGRldmljZSB2aWE6Cgpz dGF0aWMgaW50IG9jZWxvdF9zcGlfcmVnbWFwX2J1c193cml0ZSh2b2lkICpjb250ZXh0LC4uLikK ewogICAgc3RydWN0IGRldmljZSAqZGV2ID0gY29udGV4dDsKICAgIHN0cnVjdCBvY2Vsb3RfZGRh dGEgKmRkYXRhID0gZGV2X2dldF9kcnZkYXRhKGRldik7CiAgICBzdHJ1Y3Qgc3BpX2RldmljZSAq c3BpID0gdG9fc3BpX2RldmljZShkZXYpOwoKICAgIC8qIGRkYXRhIGlzbid0IGFjdHVhbGx5IG5l ZWRlZCBmb3IgYnVzX3dyaXRlLCBqdXN0IG1ha2luZyBhIHBvaW50ICovCiAgICAuLi4KfQoKCkkg aGF2ZW4ndCB0ZXN0ZWQgdGhpcyB5ZXQsIGJ1dCBJIHRoaW5rIHRoaXMgaXMgd2hhdCB5b3UncmUg c3VnZ2VzdGluZy4KU28gbm93IEkndmUgcmVtb3ZlZCBib3RoIHNwaSBhbmQgZGV2IGZyb20gdGhl IGRkYXRhIHN0cnVjdCAoYXMgSSBtZW50aW9uCmJlbG93KS4gQ29vbC4KCj4gCj4gPiArCWRldl9z ZXRfZHJ2ZGF0YShkZXYsIGRkYXRhKTsKPiAKPiBUaGlzIHNob3VsZCB1c2UgdGhlIHNwaV8qIHZh cmlhbnQuCgpBZ3JlZWQuCgo+IAo+ID4gKwlpZiAoc3BpLT5tYXhfc3BlZWRfaHogPD0gNTAwMDAw KSB7Cj4gPiArCQlkZGF0YS0+c3BpX3BhZGRpbmdfYnl0ZXMgPSAwOwo+ID4gKwl9IGVsc2Ugewo+ ID4gKwkJLyoKPiA+ICsJCSAqIENhbGN1bGF0aW9uIHRha2VuIGZyb20gdGhlIG1hbnVhbCBmb3Ig SUZfQ0ZHU1RBVDpJRl9DRkcuCj4gPiArCQkgKiBSZWdpc3RlciBhY2Nlc3MgdGltZSBpcyAxdXMs IHNvIHdlIG5lZWQgdG8gY29uZmlndXJlIGFuZCBzZW5kCj4gPiArCQkgKiBvdXQgZW5vdWdoIHBh ZGRpbmcgYnl0ZXMgYmV0d2VlbiB0aGUgcmVhZCByZXF1ZXN0IGFuZCBkYXRhCj4gPiArCQkgKiB0 cmFuc21pc3Npb24gdGhhdCBsYXN0cyBhdCBsZWFzdCAxIG1pY3Jvc2Vjb25kLgo+ID4gKwkJICov Cj4gPiArCQlkZGF0YS0+c3BpX3BhZGRpbmdfYnl0ZXMgPSAxICsKPiA+ICsJCQkoc3BpLT5tYXhf c3BlZWRfaHogLyAxMDAwMDAwICsgMikgLyA4Owo+ID4gKwo+ID4gKwkJZGRhdGEtPmR1bW15X2J1 ZiA9IGRldm1fa3phbGxvYyhkZXYsIGRkYXRhLT5zcGlfcGFkZGluZ19ieXRlcywKPiA+ICsJCQkJ CQlHRlBfS0VSTkVMKTsKPiA+ICsJCWlmICghZGRhdGEtPmR1bW15X2J1ZikKPiA+ICsJCQlyZXR1 cm4gLUVOT01FTTsKPiA+ICsJfQo+ID4gKwo+ID4gKwlkZGF0YS0+c3BpID0gc3BpOwo+IAo+IElm IHlvdSBoYXZlICdzcGknIHlvdSBkZWZpbml0ZWx5IGRvIG5vdCBuZWVkICdkZXYnLgo+IAo+IFlv dSBjYW4gZGVyaXZlIG9uZSBmcm9tIHRoZSBvdGhlci4KCkdvb2QgcG9pbnQuIEFzIEkgaW1wbGll ZCBhYm92ZSwgSSdtIGRyb3BwaW5nICJzcGkiIGZyb20gdGhlIGRkYXRhIHN0cnVjdAphbmQgd2ls bCByZWNvdmVyIHNwaSBmcm9tIHRvX3NwaV9kZXZpY2UoZGV2KQoKVGhhdCBkb2VzIHNvbWUgbmlj ZSB0aGluZ3MgbGlrZSByZW1vdmVzICJzdHJ1Y3Qgc3BpX2RldmljZSIgZnJvbQpkcml2ZXJzL21m ZC9vY2Vsb3QuaAoKPiA+ICsJc3BpLT5iaXRzX3Blcl93b3JkID0gODsKPiA+ICsKPiA+ICsJZXJy ID0gc3BpX3NldHVwKHNwaSk7Cj4gPiArCWlmIChlcnIgPCAwKQo+ID4gKwkJcmV0dXJuIGRldl9l cnJfcHJvYmUoJnNwaS0+ZGV2LCBlcnIsCj4gPiArCQkJCSAgICAgIkVycm9yIHBlcmZvcm1pbmcg U1BJIHNldHVwXG4iKTsKPiA+ICsKPiA+ICsJciA9IG9jZWxvdF9zcGlfaW5pdF9yZWdtYXAoZGV2 LCAmdnNjNzUxMl9kZXZfY3B1b3JnX3Jlc291cmNlKTsKPiA+ICsJaWYgKElTX0VSUihyKSkKPiA+ ICsJCXJldHVybiBQVFJfRVJSKHIpOwo+ID4gKwo+ID4gKwlkZGF0YS0+Y3B1b3JnX3JlZ21hcCA9 IHI7Cj4gPiArCj4gPiArCXIgPSBvY2Vsb3Rfc3BpX2luaXRfcmVnbWFwKGRldiwgJnZzYzc1MTJf Z2NiX3Jlc291cmNlKTsKPiA+ICsJaWYgKElTX0VSUihyKSkKPiA+ICsJCXJldHVybiBQVFJfRVJS KHIpOwo+ID4gKwo+ID4gKwlkZGF0YS0+Z2NiX3JlZ21hcCA9IHI7Cj4gPiArCj4gPiArCS8qCj4g PiArCSAqIFRoZSBjaGlwIG11c3QgYmUgc2V0IHVwIGZvciBTUEkgYmVmb3JlIGl0IGdldHMgaW5p dGlhbGl6ZWQgYW5kIHJlc2V0Lgo+ID4gKwkgKiBUaGlzIG11c3QgYmUgZG9uZSBiZWZvcmUgY2Fs bGluZyBpbml0LCBhbmQgYWZ0ZXIgYSBjaGlwIHJlc2V0IGlzCj4gPiArCSAqIHBlcmZvcm1lZC4K PiA+ICsJICovCj4gPiArCWVyciA9IG9jZWxvdF9zcGlfaW5pdGlhbGl6ZShkZXYpOwo+ID4gKwlp ZiAoZXJyKQo+ID4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBlcnIsICJFcnJvciBpbml0 aWFsaXppbmcgU1BJIGJ1c1xuIik7Cj4gPiArCj4gPiArCWVyciA9IG9jZWxvdF9jaGlwX3Jlc2V0 KGRldik7Cj4gPiArCWlmIChlcnIpCj4gPiArCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYsIGVy ciwgIkVycm9yIHJlc2V0dGluZyBkZXZpY2VcbiIpOwo+ID4gKwo+ID4gKwkvKgo+ID4gKwkgKiBB IGNoaXAgcmVzZXQgd2lsbCBjbGVhciB0aGUgU1BJIGNvbmZpZ3VyYXRpb24sIHNvIGl0IG5lZWRz IHRvIGJlIGRvbmUKPiA+ICsJICogYWdhaW4gYmVmb3JlIHdlIGNhbiBhY2Nlc3MgYW55IHJlZ2lz dGVycwo+ID4gKwkgKi8KPiA+ICsJZXJyID0gb2NlbG90X3NwaV9pbml0aWFsaXplKGRldik7Cj4g PiArCWlmIChlcnIpCj4gPiArCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYsIGVyciwKPiA+ICsJ CQkJICAgICAiRXJyb3IgaW5pdGlhbGl6aW5nIFNQSSBidXMgYWZ0ZXIgcmVzZXRcbiIpOwo+ID4g Kwo+ID4gKwllcnIgPSBvY2Vsb3RfY29yZV9pbml0KGRldik7Cj4gPiArCWlmIChlcnIgPCAwKQo+ ID4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBlcnIsCj4gPiArCQkJCSAgICAgIkVycm9y IGluaXRpYWxpemluZyBPY2Vsb3QgY29yZVxuIik7Cj4gPiArCj4gPiArCXJldHVybiAwOwo+ID4g K30KPiA+ICsKPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHNwaV9kZXZpY2VfaWQgb2NlbG90X3Nw aV9pZHNbXSA9IHsKPiA+ICsJeyAidnNjNzUxMiIsIDAgfSwKPiA+ICsJeyB9Cj4gPiArfTsKPiA+ ICsKPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvY2Vsb3Rfc3BpX29mX21h dGNoW10gPSB7Cj4gPiArCXsgLmNvbXBhdGlibGUgPSAibXNjYyx2c2M3NTEyIiB9LAo+ID4gKwl7 IH0KPiA+ICt9Owo+ID4gK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG9jZWxvdF9zcGlfb2ZfbWF0 Y2gpOwo+ID4gKwo+ID4gK3N0YXRpYyBzdHJ1Y3Qgc3BpX2RyaXZlciBvY2Vsb3Rfc3BpX2RyaXZl ciA9IHsKPiA+ICsJLmRyaXZlciA9IHsKPiA+ICsJCS5uYW1lID0gIm9jZWxvdC1zb2MiLAo+ID4g KwkJLm9mX21hdGNoX3RhYmxlID0gb2NlbG90X3NwaV9vZl9tYXRjaCwKPiA+ICsJfSwKPiA+ICsJ LmlkX3RhYmxlID0gb2NlbG90X3NwaV9pZHMsCj4gPiArCS5wcm9iZSA9IG9jZWxvdF9zcGlfcHJv YmUsCj4gPiArfTsKPiA+ICttb2R1bGVfc3BpX2RyaXZlcihvY2Vsb3Rfc3BpX2RyaXZlcik7Cj4g PiArCj4gPiArTU9EVUxFX0RFU0NSSVBUSU9OKCJTUEkgQ29udHJvbGxlZCBPY2Vsb3QgQ2hpcCBE cml2ZXIiKTsKPiA+ICtNT0RVTEVfQVVUSE9SKCJDb2xpbiBGb3N0ZXIgPGNvbGluLmZvc3RlckBp bi1hZHZhbnRhZ2UuY29tPiIpOwo+ID4gK01PRFVMRV9MSUNFTlNFKCJEdWFsIE1JVC9HUEwiKTsK PiA+ICtNT0RVTEVfSU1QT1JUX05TKE1GRF9PQ0VMT1QpOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWZkL29jZWxvdC5oIGIvZHJpdmVycy9tZmQvb2NlbG90LmgKPiA+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0Cj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLmM4NmJkNjk5MGEzYwo+ID4gLS0tIC9kZXYv bnVsbAo+ID4gKysrIGIvZHJpdmVycy9tZmQvb2NlbG90LmgKPiA+IEBAIC0wLDAgKzEsMzQgQEAK PiA+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCBPUiBNSVQgKi8KPiA+ICsv KiBDb3B5cmlnaHQgMjAyMSwgMjAyMiBJbm5vdmF0aXZlIEFkdmFudGFnZSBJbmMuICovCj4gPiAr Cj4gPiArI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KPiA+ICsKPiA+ICtzdHJ1Y3QgZGV2aWNl Owo+ID4gK3N0cnVjdCBzcGlfZGV2aWNlOwo+ID4gK3N0cnVjdCByZWdtYXA7Cj4gPiArc3RydWN0 IHJlc291cmNlOwo+ID4gKwo+ID4gK3N0cnVjdCBvY2Vsb3RfZGRhdGEgewo+ID4gKwlzdHJ1Y3Qg ZGV2aWNlICpkZXY7Cj4gPiArCXN0cnVjdCByZWdtYXAgKmdjYl9yZWdtYXA7Cj4gPiArCXN0cnVj dCByZWdtYXAgKmNwdW9yZ19yZWdtYXA7Cj4gPiArCWludCBzcGlfcGFkZGluZ19ieXRlczsKPiA+ ICsJc3RydWN0IHNwaV9kZXZpY2UgKnNwaTsKPiA+ICsJdm9pZCAqZHVtbXlfYnVmOwo+ID4gK307 Cj4gCj4gVGhpcyBsb29rcyBsaWtlIGl0IGRlc2VydmVzIGEgZG9jIGhlYWRlci4KCldpbGwgZG8h Cgo+IAo+ID4gK2ludCBvY2Vsb3RfY2hpcF9yZXNldChzdHJ1Y3QgZGV2aWNlICpkZXYpOwo+ID4g K2ludCBvY2Vsb3RfY29yZV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldik7Cj4gPiArCj4gPiArLyog U1BJLXNwZWNpZmljIHJvdXRpbmVzIHRoYXQgd29uJ3QgYmUgbmVjZXNzYXJ5IGZvciBvdGhlciBp bnRlcmZhY2VzICovCj4gPiArc3RydWN0IHJlZ21hcCAqb2NlbG90X3NwaV9pbml0X3JlZ21hcChz dHJ1Y3QgZGV2aWNlICpkZXYsCj4gPiArCQkJCSAgICAgIGNvbnN0IHN0cnVjdCByZXNvdXJjZSAq cmVzKTsKPiA+ICsKPiA+ICsjZGVmaW5lIE9DRUxPVF9TUElfQllURV9PUkRFUl9MRSAweDAwMDAw MDAwCj4gPiArI2RlZmluZSBPQ0VMT1RfU1BJX0JZVEVfT1JERVJfQkUgMHg4MTgxODE4MQo+ID4g Kwo+ID4gKyNpZmRlZiBfX0xJVFRMRV9FTkRJQU4KPiA+ICsjZGVmaW5lIE9DRUxPVF9TUElfQllU RV9PUkRFUiBPQ0VMT1RfU1BJX0JZVEVfT1JERVJfTEUKPiA+ICsjZWxzZQo+ID4gKyNkZWZpbmUg T0NFTE9UX1NQSV9CWVRFX09SREVSIE9DRUxPVF9TUElfQllURV9PUkRFUl9CRQo+ID4gKyNlbmRp Zgo+IAo+IC0tIAo+IExlZSBKb25lcyBb5p2O55C85pavXQo+IFByaW5jaXBhbCBUZWNobmljYWwg TGVhZCAtIERldmVsb3BlciBTZXJ2aWNlcwo+IExpbmFyby5vcmcg4pSCIE9wZW4gc291cmNlIHNv ZnR3YXJlIGZvciBBcm0gU29Dcwo+IEZvbGxvdyBMaW5hcm86IEZhY2Vib29rIHwgVHdpdHRlciB8 IEJsb2cKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFk ZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LWFybS1rZXJuZWwK