Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp580422rwr; Thu, 4 May 2023 07:09:18 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7Ak+Mbp+Zyvthm7VR2pB8/fIwb5APRvDPTZ9mRRRMmXlKgoBV7ZRyLNrVA0iE9FtxWAi51 X-Received: by 2002:a05:6a21:794:b0:f0:d3fc:864 with SMTP id mg20-20020a056a21079400b000f0d3fc0864mr2333664pzb.58.1683209358432; Thu, 04 May 2023 07:09:18 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683209358; cv=pass; d=google.com; s=arc-20160816; b=jkjQV0ART4mBjsldPz37dhFeAipGytAvfHmwYjfmf16b7w40+5GNBK8P+148yivIGw r+CDfQ8so1OcnFvRv+vUsB+CpsxXEVCRAmtQvTn7rJ3XswmenIwV2aKGWDpx0vL2L/Cz deChgtoM4vDSqxsues1EjqfcVpPpwBnGEcy5Cm3tIx/SapmvmHWg7wXSc5FDIi2w2+SK aOPxoNAQGBtftGplv96Sy70U2LEaT4VVVK7NHUHj432smGHeKfomcr1OHDRWJ5wycPRo GhylBT9tF/2nyTkNi92nN+EMnQWq0G8QSQUu3Tl0ckCVLH8VZWgbF391t7l9j6aHrObH KNsg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=3zkYR/cUqUnpNA7SQr7+NLYe5asAAJo/oNS1OjxOMns=; b=ENXb/iFayhCi5gZ1jRe1IUaxlIagDn08zfxyiKg/78OI8B+SjcrAAaQxGPR+6xHUDh scNcLdaA5eKRw6nW2qEldALkCubrv4srZlyyKpgTYlzOoNDI/Z2FCLcilT1XrkLYZfjr k1d6+nuFldO8C9odpfY3mQ2nTvQKk8KCmv3exnjzCFfL9sFXMDigFj2Oo7Q0HZ3bYS9R revcGEQ9Xn2ViEM6K9Ox4iH3KNDY9EAR9ykB5wvLF5PoTr4iAVCF9CbXr7VH79tdCkZb /naayOOsEW5b16DLdnV6hf9iUfS6t9Kch6Th8lvwFZGOkQfZTLSzJmDINNhk8jVn9qUu iA/Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@analog.onmicrosoft.com header.s=selector2-analog-onmicrosoft-com header.b=fPBK5o2O; arc=pass (i=1 spf=pass spfdomain=analog.com dkim=pass dkdomain=analog.com dmarc=pass fromdomain=analog.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=analog.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z4-20020aa79904000000b0062a46a30cb7si970678pff.51.2023.05.04.07.09.02; Thu, 04 May 2023 07:09:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@analog.onmicrosoft.com header.s=selector2-analog-onmicrosoft-com header.b=fPBK5o2O; arc=pass (i=1 spf=pass spfdomain=analog.com dkim=pass dkdomain=analog.com dmarc=pass fromdomain=analog.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=analog.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231260AbjEDNtT (ORCPT + 99 others); Thu, 4 May 2023 09:49:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40650 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231236AbjEDNtQ (ORCPT ); Thu, 4 May 2023 09:49:16 -0400 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F96B869A; Thu, 4 May 2023 06:49:01 -0700 (PDT) Received: from pps.filterd (m0167089.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 344CoFEh016068; Thu, 4 May 2023 09:48:43 -0400 Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2103.outbound.protection.outlook.com [104.47.58.103]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 3qc40yut5n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 04 May 2023 09:48:42 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DQtDujpuf8eAx0MUPvNBoXog7J3Fv78Fj1R6v0q11iMbd+qmzIYskmwO9d/kd1IgLH1WEoknCRSo5SF5zf332ywiI+YRKH7kJQiuZamGYbt+Vuy8nHQcTvfBe2kOAvjKyz1LG0JaXg4eGLOxv2sS+HgX3mnQMTG+5JKt3E9u1WM6Ow/qKtRSdReMpiSe6BGOs+ziNtHuPuKTxTKhFsHOAOChUFLxEQAnHuthEHXKK5Wezmvo4U0JXVSCLQMMDNxTE6mWC4V+qUz1HN7vyM9Y6C4hpp2suUwpKD2kuIQiayVvZIfQUcan1Nai/q9OPKZ2jcfE5O+sGY7y2tARxBdRrg== 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=3zkYR/cUqUnpNA7SQr7+NLYe5asAAJo/oNS1OjxOMns=; b=LKENCrQSHng/4At4LHRiW7TfEPFACwHD9GKSqFnAcDbD8e2okypyplMlgkDSlTLkbFIq3E5rkIPvLe94yF9UtzyGZAVRhhCd+YtImJRPxia67BHpWn/lcEv5b8P36z0USKWOzuXDY5DV/Sp/6dgq5/bs81XAxW3M1fFZN2sv5+ZoZWaNf9OjqSI3O58vwXI+RhJLaylAHQDQ6SoSNYM3OaXbTGHhBhvLgvisU72bzzoJ+wWYQ568kkYOrAwpa9N8ix2Iya3IH1DJFPNVy1wlGxnew06rRdJcjTXES8S7aLg4iOyjvHQRA9sxG8qjUbVtkPJd0cUPb1UUNoqmXYWAag== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.onmicrosoft.com; s=selector2-analog-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3zkYR/cUqUnpNA7SQr7+NLYe5asAAJo/oNS1OjxOMns=; b=fPBK5o2OGNTpbkl1YmnI7B4DjzOtdE62LXUcu6zzmHeGBEaYfbJZthUJ5Wlqe7Zed9Gvb/CzpfNyH2gTi64W9uK9xLQXm3FTYKmP/VsFCLBVWJN1TAHYNKIc8Zxk/JW1owTLMfKwUtJEuRXbVV6DR2GtRguZlvTArYN3tcI8HTw= Received: from PH0PR03MB6771.namprd03.prod.outlook.com (2603:10b6:510:122::17) by MW4PR03MB6989.namprd03.prod.outlook.com (2603:10b6:303:1b8::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Thu, 4 May 2023 13:48:39 +0000 Received: from PH0PR03MB6771.namprd03.prod.outlook.com ([fe80::a9a8:f962:28e3:756c]) by PH0PR03MB6771.namprd03.prod.outlook.com ([fe80::a9a8:f962:28e3:756c%7]) with mapi id 15.20.6363.026; Thu, 4 May 2023 13:48:38 +0000 From: "Matyas, Daniel" To: Guenter Roeck CC: Jean Delvare , Rob Herring , Krzysztof Kozlowski , Jonathan Corbet , "linux-hwmon@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-doc@vger.kernel.org" Subject: RE: [PATCH v4 2/2] hwmon: max31827: add MAX31827 driver Thread-Topic: [PATCH v4 2/2] hwmon: max31827: add MAX31827 driver Thread-Index: AQHZfnTY51g3G0K+RUO/hBR2GMVxhK9KGggAgAAFqnA= Date: Thu, 4 May 2023 13:48:38 +0000 Message-ID: References: <20230504093933.70660-1-daniel.matyas@analog.com> <20230504093933.70660-2-daniel.matyas@analog.com> <350d7329-aeb1-2661-2b76-17e0a395ce0c@roeck-us.net> In-Reply-To: <350d7329-aeb1-2661-2b76-17e0a395ce0c@roeck-us.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: =?utf-8?B?UEcxbGRHRStQR0YwSUc1dFBTSmliMlI1TG5SNGRDSWdjRDBpWXpwY2RYTmxj?= =?utf-8?B?bk5jWkcxaGRIbGhjMXhoY0hCa1lYUmhYSEp2WVcxcGJtZGNNRGxrT0RRNVlq?= =?utf-8?B?WXRNekprTXkwMFlUUXdMVGcxWldVdE5tSTROR0poTWpsbE16VmlYRzF6WjNO?= =?utf-8?B?Y2JYTm5MVFZqWmpSbU5qa3hMV1ZoT0RJdE1URmxaQzFpTm1aakxUQXdaVEF5?= =?utf-8?B?TW1ReE9HRTRZVnhoYldVdGRHVnpkRncxWTJZMFpqWTVNeTFsWVRneUxURXha?= =?utf-8?B?V1F0WWpabVl5MHdNR1V3TWpKa01UaGhPR0ZpYjJSNUxuUjRkQ0lnYzNvOUlq?= =?utf-8?B?UXhPVEkySWlCMFBTSXhNek15TnpZNE1UY3hOVFE0TkRZeU5EUWlJR2c5SW0x?= =?utf-8?B?bFZuZzNiWFpSYkZkM1ltdG9RalZuUTI5b1NtaG5UMk5QUVQwaUlHbGtQU0lp?= =?utf-8?B?SUdKc1BTSXdJaUJpYnowaU1TSWdZMms5SW1OQlFVRkJSVkpJVlRGU1UxSlZS?= =?utf-8?B?azVEWjFWQlFVVnZRMEZCUVd0TWF6aG1hak0zV2tGa0swVm1XR1V6TVdORVNE?= =?utf-8?B?TTBVamxrTjJaV2QwMWpSRUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRklRVUZCUVVSaFFWRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGRlFVRlJRVUpCUVVGQlUycEZXSGgzUVVGQlFVRkJRVUZCUVVGQlFVRkJT?= =?utf-8?B?alJCUVVGQ2FFRkhVVUZoVVVKbVFVaE5RVnBSUW1wQlNGVkJZMmRDYkVGR09F?= =?utf-8?B?RmpRVUo1UVVjNFFXRm5RbXhCUjAxQlpFRkNla0ZHT0VGYVowSm9RVWQzUVdO?= =?utf-8?B?M1FteEJSamhCV21kQ2RrRklUVUZoVVVJd1FVZHJRV1JuUW14QlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVWQlFVRkJRVUZCUVVG?= =?utf-8?B?QlowRkJRVUZCUVc1blFVRkJSMFZCV2tGQ2NFRkdPRUZqZDBKc1FVZE5RV1JS?= =?utf-8?B?UW5sQlIxVkJXSGRDZDBGSVNVRmlkMEp4UVVkVlFWbDNRakJCU0UxQldIZENN?= =?utf-8?B?RUZIYTBGYVVVSjVRVVJGUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRlJR?= =?utf-8?B?VUZCUVVGQlFVRkJRMEZCUVVGQlFVTmxRVUZCUVZsUlFtdEJSMnRCV0hkQ2Vr?= =?utf-8?B?RkhWVUZaZDBJeFFVaEpRVnBSUW1aQlNFRkJZMmRDZGtGSGIwRmFVVUpxUVVo?= =?utf-8?B?UlFXTjNRbVpCU0ZGQllWRkNiRUZJU1VGTlowRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZDUVVGQlFVRkJRVUZCUVVsQlFVRkJRVUZCUFQwaUx6NDhMMjFs?= =?utf-8?Q?dGE+?= x-dg-rorf: true x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR03MB6771:EE_|MW4PR03MB6989:EE_ x-ms-office365-filtering-correlation-id: 58603f68-fb98-45ff-b8aa-08db4ca64398 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: w3oMiXoCJUWIF6ay1H+nkXPiBLH07WrB/6Gc2cciQ05o8xTJGDpJl1M1qpJ1PhdVK24RixInqBN5/ohWEadACz8Rq/te6VtmyQ3QVw3ZwND7OWkr5YmmIlkmvdymtHWXsAdw0ggsqFbBi5XKK75rWfe3eaSN283upFmJTQwm/F+/MwVva22kCkVNjAf/q0pwDGt+jEA+1NE7/MQfTLfyVLs2fAUcOwdEuaLOUvQn+XMYzxV4JHeec+oE6EmUod+0fIWbaOD7S9kR0NWuS2lSb+JLoYHEXdeWjL+2tqH3xAJMKRlpYTVC+gtWRom91bqv3k0Zqf3kwN5/gch05/q5il5RJZjw60LBTqfPFvGDAS9jh9xD9UwjYfhTlKuvHR3Dqgo+XFl4WfxezNt0wcZauadhoKDsz2mR5vPWuMPimsOptj7khntr0a7unYfw2XBjvhaB2BcxlGOSJAAvjUvOVw+rczmlZsCSMwJ4NPzPyR+vCAcxqTauzeT0xZ6xVQOJ1sKvKh7YG7dg5TEUbLI6fTH7BEyuIMTcl87Mvf3xjBagL5SCVH6Z+Z7D7n+7AjppuQ5tCjLDoEhI36/poy/NP7Sxof4pVfZSimLxN6x3VrfeiKuNekIQsYcNt88aLRnj x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6771.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(346002)(136003)(366004)(376002)(39860400002)(451199021)(54906003)(6506007)(478600001)(83380400001)(7696005)(71200400001)(55016003)(26005)(966005)(66476007)(6916009)(316002)(76116006)(66446008)(66556008)(66946007)(64756008)(4326008)(186003)(53546011)(9686003)(41300700001)(5660300002)(52536014)(8676002)(122000001)(66899021)(2906002)(38070700005)(38100700002)(8936002)(30864003)(33656002)(86362001)(559001)(579004)(309714004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UHQ5SjZRMFN4TGN2YkIweUx5YVpZbTZGOFBNUFJiK1htRVBNbkxtQm5lc2JX?= =?utf-8?B?K3B4cWNvejBwdmsxQWpQZ3c3VVl1eklEd28rUU9tQ05ESEY5SEF0TzRwVU1k?= =?utf-8?B?d01CWjNmQytkWWFHM0VEQnVSZHhFc3p0S2pwYlg5Y3A5Y3ZCcUJjOE1iR0c5?= =?utf-8?B?bGoyd3paWTJHM0tDWmdKV1B3enlnRFFFUlV6SEtvMGpvcE5JVTNFKzVCQ2NR?= =?utf-8?B?WFFGY0JXMS9tdHFYQ243bElxSkREOFQ2UEhXNVlIczEyL3BiQ3Rpek5EcjJv?= =?utf-8?B?REtmZ2pLZFFIU29ndC9URFJzTElVN0FiZmsvUlVNa3JYSkU4WE9PTlNWcHVs?= =?utf-8?B?TjZnYXUzQm9pU1dDZWZJZ3p3WTh2cVlQa3FJMnJHK3dqeGpyOFQwYWgwZ1Z6?= =?utf-8?B?Z1B5UHg0a0VsNVpTZko4WVdkajY5V1ZESjNtMG1zNS94WVpKb0FIdmR5Wm1K?= =?utf-8?B?SVQyYytSUzdURHRrZVZzQmZVT01hS29sbFUwT0JnRXpTRXNFVjJRTXc2MWdi?= =?utf-8?B?UEcxcnY2bDI1RGd5UjN3QjFmbEJoSDlwUGxWL0hGMm9ycWVuZjQ3bTRjdW9H?= =?utf-8?B?V0JQNVZZVVFPYTlPTmhHdmFtc0Q0QlE5NzZBeFFtbFRiaFNLWHRxcGxiek5Y?= =?utf-8?B?Tzltdk9vSlV4amhHR2h6SzA5MDlMU2g0TTBOMmMvUlI5UklJTUZLVlA5VU1J?= =?utf-8?B?c0p5NnlsbUFZU2RXeHFYd29xcUswVkRlRXVuemxJc3dMYU1Cdm4vZzNFcWNu?= =?utf-8?B?UE9nU1IxbHFPMjV1Y3R3b2IwOU5mbXl5Y2N0L2sxMG1UNjlMQlVnWXVaZUJl?= =?utf-8?B?Zk9vajAzUFhBbWFCVnpERU44L2lPUDBPK0xuL1M2WGxSNlpMQlhnWW1FcTJM?= =?utf-8?B?bzV6bUNLRktMb1lmNk1Hdm5PV1ZPa3RuMmlLeVNDeWE3Wjc0UHlROVFrcXRz?= =?utf-8?B?VG04VzBwTnZUL1VQdWI5THNJSFpIdms3ZFcyZVNrd052T2U0R3BkV3RhcU5D?= =?utf-8?B?bTRsWjliYXJteC96Qit4OHpQakhXK2pNb2RvbDVNM2VSQlhuQkVrMCttVTBM?= =?utf-8?B?enNML1FoZVc3elNtWEExeDh2bXcreDI4NmlqOXV2Vy96ajZkWUllRnVmejdy?= =?utf-8?B?M05zNTlXZkRqa1I1TGJyZlBHMFFkdDJuN3VrWE5XR3VqT2o2M1orRmNrSy8r?= =?utf-8?B?ZUxCMXdHRUlOc2thdk1CVUU1TGdROHZUQnJ1YmhZV3BiOC90WlFNMzRhZTZl?= =?utf-8?B?dHJBeFFhaWVjTzJ6NGx1ZklXcW9TczNWMHR0MEtPdi9YZHNuRUlYbVd1d3NT?= =?utf-8?B?WlZnYTZXbWhnUElzMVNBMkJHc2ZUZ1BoZFAyMmtZdEJ4UUdOQWtCNnlYRmE3?= =?utf-8?B?ZkVxMmtSeklleVo4cTg0MGhlUnVCbmxEaDFHTi9HeFEwQng3TlBwWDUyRkxz?= =?utf-8?B?YVkveVIvTUdlVzl3cDZka2RyYVZ0VVduaTN1MEthR1k2cFJlQnVqZUdxR0NI?= =?utf-8?B?Wk55UGc2YTJpWXhpb2dOdTJsRTRSZ0pUZmFST2hTZVBBR0VGMGduTERRQkpM?= =?utf-8?B?QzY5dXFpN0dlMWZVWWpPeThKQUZtenMxNVQ1ZFdhOE5LQ0d2RncvVFN2T2dB?= =?utf-8?B?K0M0bDUveFpNLy9JLzlhc09iS2VqOTQyZytOMlE3MmxwL3NaNGhzZWU4OFph?= =?utf-8?B?NzdaSFJKRUtjZUpUUG5PTTRhS09VSUZqQUNnNlpza3V2SnlobTF5NVlVR09a?= =?utf-8?B?VU5XMktQNDNQSUFWU3lzWENMYW1xUnNmRWFNa1FDZ3NsbGNlRHQ2T2VqOFRW?= =?utf-8?B?OFVVaVlMWG5hSTh1OUc0blcxVUFGbWFjaHlYUitMQWE3U0praFRPTnBFeHY3?= =?utf-8?B?U3kwek9qM3VZNUozcjRBdWc4Z2hmQzdTaDVHL2Nra0t5VGFUTG95WFRUdjBi?= =?utf-8?B?eDA3VjVCWmNxWVp1NHpOSmFQVTgxNVRyanZvdmE0WHJEZG1HbHRxVnRSL3la?= =?utf-8?B?ZmVZZlRLb2dxTjNJVHpzWk5PVit0YXJ6eCtHSWdoVEw1RC81d0hMVmExb3BY?= =?utf-8?B?dWxUQUJPSTRHWVZ5YWFFT0JLL1A1SG9sODJUMzc5Q2dWODZWWk52ekhRRzBK?= =?utf-8?Q?y56VEf5ymPynJSEUaLlBcNEHY?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6771.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 58603f68-fb98-45ff-b8aa-08db4ca64398 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2023 13:48:38.4802 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: y6JLclN8PtVl10GC9TCh+f5d17loNaFsbogJxl8YJ+RDkKnuOwT80JFCG6lGlHxjCyUqQzB3cUnVO5hdzbGePQekgX8JJXMnSo8v8P6/IT0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6989 X-Proofpoint-ORIG-GUID: y6JHhqeGfuHuRtxiMjAsPxNMsA4NbE13 X-Proofpoint-GUID: y6JHhqeGfuHuRtxiMjAsPxNMsA4NbE13 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-04_09,2023-05-04_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxscore=0 malwarescore=0 adultscore=0 clxscore=1015 suspectscore=0 spamscore=0 phishscore=0 mlxlogscore=999 impostorscore=0 bulkscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305040113 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBHdWVudGVyIFJvZWNrIDxncm9l Y2s3QGdtYWlsLmNvbT4gT24gQmVoYWxmIE9mIEd1ZW50ZXIgUm9lY2sNClNlbnQ6IFRodXJzZGF5 LCBNYXkgNCwgMjAyMyA0OjIyIFBNDQpUbzogTWF0eWFzLCBEYW5pZWwgPERhbmllbC5NYXR5YXNA YW5hbG9nLmNvbT4NCkNjOiBKZWFuIERlbHZhcmUgPGpkZWx2YXJlQHN1c2UuY29tPjsgUm9iIEhl cnJpbmcgPHJvYmgrZHRAa2VybmVsLm9yZz47IEtyenlzenRvZiBLb3psb3dza2kgPGtyenlzenRv Zi5rb3psb3dza2krZHRAbGluYXJvLm9yZz47IEpvbmF0aGFuIENvcmJldCA8Y29yYmV0QGx3bi5u ZXQ+OyBsaW51eC1od21vbkB2Z2VyLmtlcm5lbC5vcmc7IGRldmljZXRyZWVAdmdlci5rZXJuZWwu b3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBsaW51eC1kb2NAdmdlci5rZXJuZWwu b3JnDQpTdWJqZWN0OiBSZTogW1BBVENIIHY0IDIvMl0gaHdtb246IG1heDMxODI3OiBhZGQgTUFY MzE4MjcgZHJpdmVyDQoNCltFeHRlcm5hbF0NCg0KT24gNS80LzIzIDAyOjM5LCBEYW5pZWwgTWF0 eWFzIHdyb3RlOg0KPiBNQVgzMTgyNyBpcyBhIGxvdy1wb3dlciB0ZW1wZXJhdHVyZSBzd2l0Y2gg d2l0aCBJMkMgaW50ZXJmYWNlLg0KPiANCj4gVGhlIGRldmljZSBpcyBhIMKxMcKwQyBhY2N1cmFj eSBmcm9tIC00MMKwQyB0byArMTI1wrBDDQo+ICgxMiBiaXRzKSBsb2NhbCB0ZW1wZXJhdHVyZSBz d2l0Y2ggYW5kIHNlbnNvciB3aXRoIEkyQy9TTS0gQnVzIA0KPiBpbnRlcmZhY2UuIFRoZSBjb21i aW5hdGlvbiBvZiBzbWFsbCA2LWJ1bXAgd2FmZXItbGV2LSBlbCBwYWNrYWdlIChXTFApIA0KPiBh bmQgaGlnaCBhY2N1cmFjeSBtYWtlcyB0aGlzIHRlbXBlci0gYXR1cmUgc2Vuc29yL3N3aXRjaCBp ZGVhbCBmb3IgYSANCj4gd2lkZSByYW5nZSBvZiBhcHBsaWNhdGlvbnMuDQo+IA0KPiBTaWduZWQt b2ZmLWJ5OiBEYW5pZWwgTWF0eWFzIDxkYW5pZWwubWF0eWFzQGFuYWxvZy5jb20+DQoNClRoYW5r cyB0byBtaXNzaW5nIGNoYW5nZSBsb2csIHRoaXMgcmV2aWV3IGlzIGluY29tcGxldGUgYW5kIGp1 c3QgbWVudGlvbnMgYSBmZXcgb2J2aW91cyBwcm9ibGVtcy4NCg0KU2hvdWxkIEkgd3JpdGUgdGhl IGNoYW5nZWxvZyBhcyBhIGNvdmVyIGxldHRlciBvciBzaG91bGQgSSBqdXN0IGFkZCBpdCBhdCB0 aGUgZW5kIG9mIHRoZSB1c3VhbCBjb21taXQgbWVzc2FnZT8NCg0KPiAtLS0NCj4gICBEb2N1bWVu dGF0aW9uL2h3bW9uL2luZGV4LnJzdCAgICB8ICAgMSArDQo+ICAgRG9jdW1lbnRhdGlvbi9od21v bi9tYXgzMTgyNy5yc3QgfCAgODMgKysrKysrDQo+ICAgTUFJTlRBSU5FUlMgICAgICAgICAgICAg ICAgICAgICAgfCAgIDIgKw0KPiAgIGRyaXZlcnMvaHdtb24vS2NvbmZpZyAgICAgICAgICAgIHwg IDExICsNCj4gICBkcml2ZXJzL2h3bW9uL01ha2VmaWxlICAgICAgICAgICB8ICAgMiArLQ0KPiAg IGRyaXZlcnMvaHdtb24vbWF4MzE4MjcuYyAgICAgICAgIHwgNDI4ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysNCj4gICA2IGZpbGVzIGNoYW5nZWQsIDUyNiBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pDQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vaHdtb24v bWF4MzE4MjcucnN0DQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHdtb24vbWF4MzE4 MjcuYw0KPiANCj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaHdtb24vaW5kZXgucnN0IA0K PiBiL0RvY3VtZW50YXRpb24vaHdtb24vaW5kZXgucnN0IGluZGV4IGYxZmU3NWY1OTZhNS4uOTY1 YTgzMGVhNzY2IA0KPiAxMDA2NDQNCj4gLS0tIGEvRG9jdW1lbnRhdGlvbi9od21vbi9pbmRleC5y c3QNCj4gKysrIGIvRG9jdW1lbnRhdGlvbi9od21vbi9pbmRleC5yc3QNCj4gQEAgLTEzOSw2ICsx MzksNyBAQCBIYXJkd2FyZSBNb25pdG9yaW5nIEtlcm5lbCBEcml2ZXJzDQo+ICAgICAgbWF4MzE3 NjANCj4gICAgICBtYXgzMTc4NQ0KPiAgICAgIG1heDMxNzkwDQo+ICsgICBtYXgzMTgyNw0KPiAg ICAgIG1heDM0NDQwDQo+ICAgICAgbWF4NjYyMA0KPiAgICAgIG1heDY2MzkNCj4gZGlmZiAtLWdp dCBhL0RvY3VtZW50YXRpb24vaHdtb24vbWF4MzE4MjcucnN0IA0KPiBiL0RvY3VtZW50YXRpb24v aHdtb24vbWF4MzE4MjcucnN0DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAwMC4uNWI5NGFkNjJiYWEzDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvRG9jdW1lbnRh dGlvbi9od21vbi9tYXgzMTgyNy5yc3QNCj4gQEAgLTAsMCArMSw4MyBAQA0KPiArLi4gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCj4gKw0KPiArS2VybmVsIGRyaXZlciBtYXgzMTgy Nw0KPiArPT09PT09PT09PT09PT09PT09PT09PQ0KPiArDQo+ICtTdXBwb3J0ZWQgY2hpcHM6DQo+ ICsNCj4gKyAgKiBNYXhpbSBNQVgzMTgyNw0KPiArDQo+ICsgICAgUHJlZml4OiAnbWF4MzE4Mjcn DQo+ICsNCj4gKyAgICBBZGRyZXNzZXMgc2Nhbm5lZDogSTJDIDB4NDAgLSAweDVmDQo+ICsNCj4g KyAgICBEYXRhc2hlZXQ6IFB1YmxpY2x5IGF2YWlsYWJsZSBhdCB0aGUgQW5hbG9nIERldmljZXMg d2Vic2l0ZQ0KPiArDQo+ICsgICogTWF4aW0gTUFYMzE4MjgNCj4gKw0KPiArICAgIFByZWZpeDog J21heDMxODI4Jw0KPiArDQo+ICsgICAgQWRkcmVzc2VzIHNjYW5uZWQ6IEkyQyAweDQwIC0gMHg1 Zg0KPiArDQo+ICsgICAgRGF0YXNoZWV0OiBQdWJsaWNseSBhdmFpbGFibGUgYXQgdGhlIEFuYWxv ZyBEZXZpY2VzIHdlYnNpdGUNCj4gKw0KPiArICAqIE1heGltIE1BWDMxODI5DQo+ICsNCj4gKyAg ICBQcmVmaXg6ICdtYXgzMTgyOScNCj4gKw0KPiArICAgIEFkZHJlc3NlcyBzY2FubmVkOiBJMkMg MHg0MCAtIDB4NWYNCj4gKw0KPiArICAgIERhdGFzaGVldDogUHVibGljbHkgYXZhaWxhYmxlIGF0 IHRoZSBBbmFsb2cgRGV2aWNlcyB3ZWJzaXRlDQo+ICsNCj4gKw0KPiArQXV0aG9yczoNCj4gKwkt IERhbmllbCBNYXR5YXMgPGRhbmllbC5tYXR5YXNAYW5hbG9nLmNvbT4NCj4gKw0KPiArRGVzY3Jp cHRpb24NCj4gKy0tLS0tLS0tLS0tDQo+ICsNCj4gK1RoZSBjaGlwcyBzdXBwb3J0ZWQgYnkgdGhp cyBkcml2ZXIgYXJlIHF1aXRlIHNpbWlsYXIuIFRoZSBvbmx5IA0KPiArZGlmZmVyZW5jZSBiZXR3 ZWVuIHRoZW0gaXMgZm91bmQgaW4gdGhlIGRlZmF1bHQgcG93ZXItb24gYmVoYXZpb3VyIG9mIA0K PiArdGhlIGNoaXBzLiBXaGlsZSB0aGUgTUFYMzE4MjcncyBmYXVsdCBxdWV1ZSBpcyBzZXQgdG8g MSwgdGhlIG90aGVyIA0KPiArdHdvIGNoaXAncyBmYXVsdCBxdWV1ZSBpcyBzZXQgdG8gNC4gQmVz aWRlcyB0aGlzLCB0aGUgTUFYMzE4MjkncyANCj4gK2FsYXJtIGFjdGl2ZSBzdGF0ZSBpcyBoaWdo LCB3aGlsZSB0aGUgb3RoZXIgdHdvIGNoaXAncyBhbGFybXMgYXJlIA0KPiArYWN0aXZlIG9uIGxv dy4gSXQgaXMgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCB0aGUgY2hpcHMgY2FuIGJlIA0KPiArY29u ZmlndXJlZCB0byBvcGVyYXRlIGluIHRoZSBzYW1lIG1hbm5lciB3aXRoIDEgd3JpdGUgb3BlcmF0 aW9uIHRvIA0KPiArdGhlIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuIEZyb20gaGVyZSBvbiwgd2Ug d2lsbCByZWZlciB0byBhbGwgdGhlc2UgY2hpcHMgYXMgTUFYMzE4MjcuDQo+ICsNCj4gK01BWDMx ODI3IGltcGxlbWVudHMgYSB0ZW1wZXJhdHVyZSBzZW5zb3Igd2l0aCBhIDYgV0xQIHBhY2thZ2lu ZyANCj4gK3NjaGVtZS4gVGhpcyBzZW5zb3IgbWVhc3VyZXMgdGhlIHRlbXBlcmF0dXJlIG9mIHRo ZSBjaGlwIGl0c2VsZi4NCj4gKw0KPiArTUFYMzE4MjcgaGFzIGxvdyBhbmQgb3ZlciB0ZW1wZXJh dHVyZSBhbGFybXMgd2l0aCBhbiBlZmZlY3RpdmUgdmFsdWUgDQo+ICthbmQgYSBoeXN0ZXJlc2lz IHZhbHVlOiAtNDAgYW5kIC0zMCBkZWdyZWVzIGZvciB1bmRlciB0ZW1wZXJhdHVyZSANCj4gK2Fs YXJtIGFuZCArMTAwIGFuZA0KPiArKzkwIGRlZ3JlZXMgZm9yIG92ZXIgdGVtcGVyYXR1cmUgYWxh cm0uDQo+ICsNCj4gK1RoZSBhbGFybSBjYW4gYmUgY29uZmlndXJlZCBpbiBjb21wYXJhdG9yIGFu ZCBpbnRlcnJ1cHQgbW9kZS4gDQo+ICtDdXJyZW50bHkgb25seSBjb21wYXJhdG9yIG1vZGUgaXMg aW1wbGVtZW50ZWQuIEluIENvbXBhcmF0b3IgbW9kZSwgDQo+ICt0aGUgT1QvVVQgc3RhdHVzIGJp dHMgaGF2ZSBhIHZhbHVlIG9mIDEgd2hlbiB0aGUgdGVtcGVyYXR1cmUgcmlzZXMgDQo+ICthYm92 ZSB0aGUgVEggdmFsdWUgb3IgZmFsbHMgYmVsb3cgVEwsIHdoaWNoIGlzIGFsc28gc3ViamVjdCB0 byB0aGUgDQo+ICtGYXVsdCBRdWV1ZSBzZWxlY3Rpb24uIE9UIHN0YXR1cyByZXR1cm5zIHRvIDAg d2hlbiB0aGUgdGVtcGVyYXR1cmUgZHJvcHMgYmVsb3cgdGhlIFRIX0hZU1QgdmFsdWUgb3Igd2hl biBzaHV0ZG93biBtb2RlIGlzIGVudGVyZWQuDQo+ICtTaW1pbGFybHksIFVUIHN0YXR1cyByZXR1 cm5zIHRvIDAgd2hlbiB0aGUgdGVtcGVyYXR1cmUgcmlzZXMgYWJvdmUgDQo+ICtUTF9IWVNUIHZh bHVlIG9yIHdoZW4gc2h1dGRvd24gbW9kZSBpcyBlbnRlcmVkLg0KPiArDQo+ICtQdXR0aW5nIHRo ZSBNQVgzMTgyNyBpbnRvIHNodXRkb3duIG1vZGUgYWxzbyByZXNldHMgdGhlIE9UL1VUIHN0YXR1 cyANCj4gK2JpdHMuIE5vdGUgdGhhdCBpZiB0aGUgbW9kZSBpcyBjaGFuZ2VkIHdoaWxlIE9UL1VU IHN0YXR1cyBiaXRzIGFyZSANCj4gK3NldCwgYW4gT1QvVVQgc3RhdHVzIHJlc2V0IG1heSBiZSBy ZXF1aXJlZCBiZWZvcmUgaXQgYmVnaW5zIHRvIGJlaGF2ZSANCj4gK25vcm1hbGx5LiBUbyBwcmV2 ZW50IHRoaXMsIGl0IGlzIHJlY29tbWVuZGVkIHRvIHBlcmZvcm0gYSByZWFkIG9mIHRoZSANCj4g K2NvbmZpZ3VyYXRpb24vc3RhdHVzIHJlZ2lzdGVyIHRvIGNsZWFyIHRoZSBzdGF0dXMgYml0cyBi ZWZvcmUgY2hhbmdpbmcgdGhlIG9wZXJhdGluZyBtb2RlLg0KPiArDQo+ICtUaGUgY29udmVyc2lv bnMgY2FuIGJlIG1hbnVhbCB3aXRoIHRoZSBvbmUtc2hvdCBmdW5jdGlvbmFsaXR5IGFuZCANCj4g K2F1dG9tYXRpYyB3aXRoIGEgc2V0IGZyZXF1ZW5jeS4gV2hlbiBwb3dlcmVkIG9uLCB0aGUgY2hp cCBtZWFzdXJlcyB0ZW1wZXJhdHVyZXMgd2l0aCAxIGNvbnYvcy4NCj4gK0VuYWJsaW5nIHRoZSBk ZXZpY2Ugd2hlbiBpdCBpcyBhbHJlYWR5IGVuYWJsZWQgaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiAN Cj4gK3NldHRpbmcgdGhlIGNvbnZlcnNpb24gZnJlcXVlbmN5IHRvIDEgY29udi9zLiBUaGUgY29u dmVyc2lvbiB0aW1lIA0KPiArdmFyaWVzIGRlcGVuZGluZyBvbiB0aGUgcmVzb2x1dGlvbi4gVGhl IGNvbnZlcnNpb24gdGltZSBkb3VibGVzIHdpdGggDQo+ICtldmVyeSBiaXQgb2YgaW5jcmVhc2Vk IHJlc29sdXRpb24uIEZvciAxMCBiaXQgcmVzb2x1dGlvbiAzNW1zIGFyZSANCj4gK25lZWRlZCwg d2hpbGUgZm9yIDEyIGJpdCByZXNvbHV0aW9uDQo+ICsoZGVmYXVsdCkgMTQwbXMuIFdoZW4gY2hp cCBpcyBpbiBzaHV0ZG93biBtb2RlIGFuZCBhIHJlYWQgb3BlcmF0aW9uIA0KPiAraXMgcmVxdWVz dGVkLCBvbmUtc2hvdCBpcyB0cmlnZ2VyZWQsIHRoZSBkZXZpY2Ugd2FpdHMgZm9yIDE0MCANCj4g Kyhjb252ZXJzaW9uIHRpbWUpICsgMQ0KPiArKGVycm9yKSBtcywgYW5kIG9ubHkgYWZ0ZXIgdGhh dCBpcyB0aGUgdGVtcGVyYXR1cmUgdmFsdWUgcmVnaXN0ZXIgcmVhZC4NCj4gKw0KPiArTm90ZXMN Cj4gKy0tLS0tDQo+ICsNCj4gK0N1cnJlbnRseSBmYXVsdCBxdWV1ZSwgYWxhcm0gcG9sYXJpdHkg YW5kIHJlc29sdXRpb24gY2Fubm90IGJlIG1vZGlmaWVkLg0KPiArUEVDIGlzIG5vdCBpbXBsZW1l bnRlZCBlaXRoZXIuDQo+IGRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTIGlu ZGV4IA0KPiAwOTk3YTA0OTBjOTcuLmZhYmM4ODY5YjEzYiAxMDA2NDQNCj4gLS0tIGEvTUFJTlRB SU5FUlMNCj4gKysrIGIvTUFJTlRBSU5FUlMNCj4gQEAgLTEyNTQxLDYgKzEyNTQxLDggQEAgTDoJ bGludXgtaHdtb25Admdlci5rZXJuZWwub3JnDQo+ICAgUzoJU3VwcG9ydGVkDQo+ICAgVzoJaHR0 cDovL2V6LmFuYWxvZy5jb20vY29tbXVuaXR5L2xpbnV4LWRldmljZS1kcml2ZXJzDQo+ICAgRjoJ RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2h3bW9uL2FkaSxtYXgzMTgyNy55YW1s DQo+ICtGOglEb2N1bWVudGF0aW9uL2h3bW9uL21heDMxODI3LnJzdA0KPiArRjoJZHJpdmVycy9o d21vbi9tYXgzMTgyNy5jDQo+ICAgDQo+ICAgTUFYNjY1MCBIQVJEV0FSRSBNT05JVE9SIEFORCBG QU4gQ09OVFJPTExFUiBEUklWRVINCj4gICBMOglsaW51eC1od21vbkB2Z2VyLmtlcm5lbC5vcmcN Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vS2NvbmZpZyBiL2RyaXZlcnMvaHdtb24vS2Nv bmZpZyBpbmRleCANCj4gNWIzYjc2NDc3YjBlLi4xZTg1NDZiM2E4ZjIgMTAwNjQ0DQo+IC0tLSBh L2RyaXZlcnMvaHdtb24vS2NvbmZpZw0KPiArKysgYi9kcml2ZXJzL2h3bW9uL0tjb25maWcNCj4g QEAgLTEwOTcsNiArMTA5NywxNyBAQCBjb25maWcgU0VOU09SU19NQVgzMTc2MA0KPiAgIAkgIFRo aXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiBJZiBzbywgdGhlIG1vZHVs ZQ0KPiAgIAkgIHdpbGwgYmUgY2FsbGVkIG1heDMxNzYwLg0KPiAgIA0KPiArY29uZmlnIE1BWDMx ODI3DQo+ICsJdHJpc3RhdGUgIk1BWDMxODI3IGxvdy1wb3dlciB0ZW1wZXJhdHVyZSBzd2l0Y2gg YW5kIHNpbWlsYXIgZGV2aWNlcyINCj4gKwlkZXBlbmRzIG9uIEkyQw0KPiArCXNlbGVjdCBSRUdN QVBfSTJDDQo+ICsJaGVscA0KPiArCSAgSWYgeW91IHNheSB5ZXMgaGVyZSB5b3UgZ2V0IHN1cHBv cnQgZm9yIE1BWDMxODI3LCBNQVgzMTgyOCBhbmQNCj4gKwkgIE1BWDMxODI5IGxvdy1wb3dlciB0 ZW1wZXJhdHVyZSBzd2l0Y2hlcyBhbmQgc2Vuc29ycyBjb25uZWN0ZWQgd2l0aCBJMkMuDQo+ICsN Cj4gKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28s IHRoZSBtb2R1bGUNCj4gKwkgIHdpbGwgYmUgY2FsbGVkIG1heDMxODI3Lg0KPiArDQo+ICAgY29u ZmlnIFNFTlNPUlNfTUFYNjYyMA0KPiAgIAl0cmlzdGF0ZSAiTWF4aW0gTUFYNjYyMCBmYW4gY29u dHJvbGxlciINCj4gICAJZGVwZW5kcyBvbiBJMkMNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdt b24vTWFrZWZpbGUgYi9kcml2ZXJzL2h3bW9uL01ha2VmaWxlIGluZGV4IA0KPiA4ODcxMmI1MDMx YzguLmRmYjlhYWY5NzliYiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9od21vbi9NYWtlZmlsZQ0K PiArKysgYi9kcml2ZXJzL2h3bW9uL01ha2VmaWxlDQo+IEBAIC0xNDksNiArMTQ5LDcgQEAgb2Jq LSQoQ09ORklHX1NFTlNPUlNfTUFYNjY0MikJKz0gbWF4NjY0Mi5vDQo+ICAgb2JqLSQoQ09ORklH X1NFTlNPUlNfTUFYNjY1MCkJKz0gbWF4NjY1MC5vDQo+ICAgb2JqLSQoQ09ORklHX1NFTlNPUlNf TUFYNjY5NykJKz0gbWF4NjY5Ny5vDQo+ICAgb2JqLSQoQ09ORklHX1NFTlNPUlNfTUFYMzE3OTAp CSs9IG1heDMxNzkwLm8NCj4gK29iai0kKENPTkZJR19NQVgzMTgyNykgKz0gbWF4MzE4Mjcubw0K PiAgIG9iai0kKENPTkZJR19TRU5TT1JTX01DMTM3ODNfQURDKSs9IG1jMTM3ODMtYWRjLm8NCj4g ICBvYmotJChDT05GSUdfU0VOU09SU19NQzM0VlI1MDApCSs9IG1jMzR2cjUwMC5vDQo+ICAgb2Jq LSQoQ09ORklHX1NFTlNPUlNfTUNQMzAyMSkJKz0gbWNwMzAyMS5vDQo+IEBAIC0yMjMsNCArMjI0 LDMgQEAgb2JqLSQoQ09ORklHX1NFTlNPUlNfUEVDSSkJKz0gcGVjaS8NCj4gICBvYmotJChDT05G SUdfUE1CVVMpCQkrPSBwbWJ1cy8NCj4gICANCj4gICBjY2ZsYWdzLSQoQ09ORklHX0hXTU9OX0RF QlVHX0NISVApIDo9IC1EREVCVUcNCj4gLQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9t YXgzMTgyNy5jIGIvZHJpdmVycy9od21vbi9tYXgzMTgyNy5jIG5ldyANCj4gZmlsZSBtb2RlIDEw MDY0NCBpbmRleCAwMDAwMDAwMDAwMDAuLjQ4YWI2MmY3NmY3Yg0KPiAtLS0gL2Rldi9udWxsDQo+ ICsrKyBiL2RyaXZlcnMvaHdtb24vbWF4MzE4MjcuYw0KPiBAQCAtMCwwICsxLDQyOCBAQA0KPiAr Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCj4gKy8qDQo+ICsgKiBtYXgzMTgy Ny5jIC0gU3VwcG9ydCBmb3IgTWF4aW0gTG93LVBvd2VyIFN3aXRjaA0KPiArICoNCj4gKyAqIENv cHlyaWdodCAoYykgMjAyMyBEYW5pZWwgTWF0eWFzIDxkYW5pZWwubWF0eWFzQGFuYWxvZy5jb20+ ICAqLw0KPiArDQo+ICsjaW5jbHVkZSA8bGludXgvYml0ZmllbGQuaD4NCj4gKyNpbmNsdWRlIDxs aW51eC9kZWxheS5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L2h3bW9uLmg+DQo+ICsjaW5jbHVkZSA8 bGludXgvaTJjLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4NCj4gKyNpbmNsdWRlIDxs aW51eC9yZWdtYXAuaD4NCj4gKw0KPiArI2RlZmluZSBNQVgzMTgyN19UX1JFRwkweDANCj4gKyNk ZWZpbmUgTUFYMzE4MjdfQ09ORklHVVJBVElPTl9SRUcJMHgyDQo+ICsjZGVmaW5lIE1BWDMxODI3 X1RIX1JFRwkweDQNCj4gKyNkZWZpbmUgTUFYMzE4MjdfVExfUkVHIDB4Ng0KPiArI2RlZmluZSBN QVgzMTgyN19USF9IWVNUX1JFRwkweDgNCj4gKyNkZWZpbmUgTUFYMzE4MjdfVExfSFlTVF9SRUcJ MHhBDQo+ICsNCj4gKyNkZWZpbmUgTUFYMzE4MjdfQ09ORklHVVJBVElPTl8xU0hPVF9NQVNLCUJJ VCgwKQ0KPiArI2RlZmluZSBNQVgzMTgyN19DT05GSUdVUkFUSU9OX0NOVl9SQVRFX01BU0sJR0VO TUFTSygzLCAxKQ0KPiArI2RlZmluZSBNQVgzMTgyN19DT05GSUdVUkFUSU9OX1VfVEVNUF9TVEFU X01BU0sgQklUKDE0KSAjZGVmaW5lIA0KPiArTUFYMzE4MjdfQ09ORklHVVJBVElPTl9PX1RFTVBf U1RBVF9NQVNLIEJJVCgxNSkNCj4gKw0KPiArI2RlZmluZSBNQVgzMTgyN18xMl9CSVRfQ05WX1RJ TUUJMTQxDQo+ICsNCj4gKyNkZWZpbmUgTUFYMzE4MjdfQ05WXzFfRElWXzY0X0haCTB4MQ0KPiAr I2RlZmluZSBNQVgzMTgyN19DTlZfMV9ESVZfMzJfSFoJMHgyDQo+ICsjZGVmaW5lIE1BWDMxODI3 X0NOVl8xX0RJVl8xNl9IWgkweDMNCj4gKyNkZWZpbmUgTUFYMzE4MjdfQ05WXzFfRElWXzRfSFoJ CTB4NA0KPiArI2RlZmluZSBNQVgzMTgyN19DTlZfMV9IWgkweDUNCj4gKyNkZWZpbmUgTUFYMzE4 MjdfQ05WXzRfSFoJMHg2DQo+ICsjZGVmaW5lIE1BWDMxODI3X0NOVl84X0haCTB4Nw0KPiArDQo+ ICsjZGVmaW5lIExPTkdfTUFTSwkweEZGRkZGRkZGRkZGRkZGRkYNCj4gKw0KDQpUaGlzIHdvdWxk IGJlIFVMTE9OR19NQVgsIGJ1dCBJIGRvbid0IHJlYWxseSBzZWUgLi4NCg0KPiArI2RlZmluZSBN QVgzMTgyN18xNl9CSVRfVE9fTV9ER1IoeCkJKChsb25nKSh+KH4oeCkgJiBMT05HX01BU0spKSAq IDEwMDAgPj4gNCkNCg0KLi4uIHRoZSBwb2ludCBoZXJlLiBNYXNraW5nIGFueXRoaW5nIGFnYWlu c3QgMHhGRkZGRkZGRkZGRkZGRkZGIGRvZXNuJ3QgZG8gYW55IGdvb2QsIGFuZCB0aGUgcmVnaXN0 ZXIgdmFsdWVzIGFyZSByZWFsbHkgMTMgYml0IHdpZGUgd2l0aCB0aGUgdXBwZXIgNCBiaXQgcmVm bGVjdGluZyB0aGUgc2lnbi4gVXNpbmcgb25lIG9mIHRoZSBzaWduX2V4dGVuZCgpIHZhcmlhbnRz IHdvdWxkIGJlIG1vcmUgYXBwcm9wcmlhdGUgdG8gY2FsY3VsYXRlIHRoZSB0ZW1wZXJhdHVyZS4g SSBhbHNvIGRvbid0IHVuZGVyc3RhbmQgdGhlIHNoaWZ0IHNpbmNlIHRlbXBlcmF0dXJlIHZhbHVl cyBhcmUgc3VwcG9zZWRseSAtIHBlciBkYXRhc2hlZXQgLSBhbGlnbmVkIHRvIGJpdCAwLg0KDQo+ ICsjZGVmaW5lIE1BWDMxODI3X01fREdSX1RPXzE2X0JJVCh4KQkoKCh4KSA8PCA0KSAvIDEwMDAp DQoNClNhbWUgaGVyZS4gVGhpcyBzZWVtcyB0byBkcm9wIHRoZSBsb3dlciA0IHRlbXBlcmF0dXJl IGJpdHMgKGZyYWN0aW9ucykgZm9yIG5vIGdvb2QgcmVhc29uLg0KDQpJIGFtIGRvaW5nIHRoZSBz aGlmdCwgYmVjYXVzZSB0aGUgdmFsdWUgb2YgTFNCIGlzIG5vdCAxLCBidXQgMC4wNjI1LiBUaHVz LCBJIGFtIGRpdmlkaW5nIGJ5IDE2ICg+PiA0KSB3aGVuIGNvbnZlcnRpbmcgdG8gbWlsbGktZGVn cmVlcywgYW5kIEkgYW0gbXVsdGlwbHlpbmcgYnkgMTYgKDw8IDQpLCB3aGVuIGNvbnZlcnRpbmcg dG8gMTYgYml0IGZvcm1hdC4NCg0KPiArI2RlZmluZSBNQVgzMTgyN19ERVZJQ0VfRU5BQkxFKHgp CSgoeCkgPyAweEEgOiAweDApDQo+ICsNCj4gK3N0cnVjdCBtYXgzMTgyN19zdGF0ZSB7DQo+ICsJ LyoNCj4gKwkgKiBQcmV2ZW50IHNpbXVsdGFuZW91cyBhY2Nlc3MgdG8gdGhlIGkyYyBjbGllbnQu DQo+ICsJICovDQo+ICsJc3RydWN0IG11dGV4IGxvY2s7DQo+ICsJc3RydWN0IHJlZ21hcCAqcmVn bWFwOw0KPiArCWJvb2wgZW5hYmxlOw0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVj dCByZWdtYXBfY29uZmlnIG1heDMxODI3X3JlZ21hcCA9IHsNCj4gKwkucmVnX2JpdHMgPSA4LA0K PiArCS52YWxfYml0cyA9IDE2LA0KPiArCS5tYXhfcmVnaXN0ZXIgPSAweEEsDQo+ICt9Ow0KPiAr DQo+ICtzdGF0aWMgaW50IHdyaXRlX2FsYXJtX3ZhbChzdHJ1Y3QgbWF4MzE4Mjdfc3RhdGUgKnN0 LCB1bnNpZ25lZCBpbnQgcmVnLA0KPiArCQkJICAgbG9uZyB2YWwpDQo+ICt7DQo+ICsJdW5zaWdu ZWQgaW50IGNmZzsNCj4gKwl1bnNpZ25lZCBpbnQgdG1wOw0KPiArCWludCByZXQ7DQo+ICsNCj4g Kwl2YWwgPSBNQVgzMTgyN19NX0RHUl9UT18xNl9CSVQodmFsKTsNCj4gKw0KPiArCS8qDQo+ICsJ ICogQmVmb3JlIHRoZSBUZW1wZXJhdHVyZSBUaHJlc2hvbGQgQWxhcm0gYW5kIEFsYXJtIEh5c3Rl cmVzaXMgVGhyZXNob2xkDQo+ICsJICogcmVnaXN0ZXIgdmFsdWVzIGFyZSBjaGFuZ2VkIG92ZXIg STJDLCB0aGUgcGFydCBtdXN0IGJlIGluIHNodXRkb3duDQo+ICsJICogbW9kZS4NCj4gKwkgKg0K PiArCSAqIE11dGV4IGlzIHVzZWQgdG8gZW5zdXJlLCB0aGF0IHNvbWUgb3RoZXIgcHJvY2VzcyBk b2Vzbid0IGNoYW5nZSB0aGUNCj4gKwkgKiBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPiArCSAq Lw0KPiArCW11dGV4X2xvY2soJnN0LT5sb2NrKTsNCj4gKw0KPiArCWlmICghc3QtPmVuYWJsZSkN Cj4gKwkJcmV0dXJuIHJlZ21hcF93cml0ZShzdC0+cmVnbWFwLCByZWcsIHZhbCk7DQo+ICsNCg0K SGFuZyBndWFyYW50ZWVkIGhlcmUuDQoNCj4gKwlyZXQgPSByZWdtYXBfcmVhZChzdC0+cmVnbWFw LCBNQVgzMTgyN19DT05GSUdVUkFUSU9OX1JFRywgJmNmZyk7DQo+ICsJaWYgKHJldCkNCj4gKwkJ cmV0dXJuIHJldDsNCg0KLi4uIGFuZCBoZXJlIGFuZCBldmVyeXdoZXJlIGVsc2Ugd2hlcmUgdGhl IGZ1bmN0aW9uIHJldHVybnMgd2l0aG91dCByZWxlYXNpbmcgdGhlIG11dGV4Lg0KDQo+ICsNCj4g Kwl0bXAgPSBjZmcgJiB+KE1BWDMxODI3X0NPTkZJR1VSQVRJT05fMVNIT1RfTUFTSyB8DQo+ICsJ CSAgICAgIE1BWDMxODI3X0NPTkZJR1VSQVRJT05fQ05WX1JBVEVfTUFTSyk7DQo+ICsJcmV0ID0g cmVnbWFwX3dyaXRlKHN0LT5yZWdtYXAsIE1BWDMxODI3X0NPTkZJR1VSQVRJT05fUkVHLCB0bXAp Ow0KPiArCWlmIChyZXQpDQo+ICsJCXJldHVybiByZXQ7DQo+ICsNCj4gKwlyZXQgPSByZWdtYXBf d3JpdGUoc3QtPnJlZ21hcCwgcmVnLCB2YWwpOw0KPiArCWlmIChyZXQpDQo+ICsJCXJldHVybiBy ZXQ7DQo+ICsNCj4gKwlyZXQgPSByZWdtYXBfd3JpdGUoc3QtPnJlZ21hcCwgTUFYMzE4MjdfQ09O RklHVVJBVElPTl9SRUcsIGNmZyk7DQo+ICsNCj4gKwltdXRleF91bmxvY2soJnN0LT5sb2NrKTsN Cj4gKw0KPiArCXJldHVybiByZXQ7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB1bW9kZV90IG1heDMx ODI3X2lzX3Zpc2libGUoY29uc3Qgdm9pZCAqc3RhdGUsDQo+ICsJCQkJICAgZW51bSBod21vbl9z ZW5zb3JfdHlwZXMgdHlwZSwgdTMyIGF0dHIsDQo+ICsJCQkJICAgaW50IGNoYW5uZWwpDQo+ICt7 DQo+ICsJaWYgKHR5cGUgPT0gaHdtb25fdGVtcCkgew0KPiArCQlzd2l0Y2ggKGF0dHIpIHsNCj4g KwkJY2FzZSBod21vbl90ZW1wX2VuYWJsZToNCj4gKwkJY2FzZSBod21vbl90ZW1wX21heDoNCj4g KwkJY2FzZSBod21vbl90ZW1wX21pbjoNCj4gKwkJY2FzZSBod21vbl90ZW1wX21heF9oeXN0Og0K PiArCQljYXNlIGh3bW9uX3RlbXBfbWluX2h5c3Q6DQo+ICsJCQlyZXR1cm4gMDY0NDsNCj4gKwkJ Y2FzZSBod21vbl90ZW1wX2lucHV0Og0KPiArCQljYXNlIGh3bW9uX3RlbXBfbWluX2FsYXJtOg0K PiArCQljYXNlIGh3bW9uX3RlbXBfbWF4X2FsYXJtOg0KPiArCQkJcmV0dXJuIDA0NDQ7DQo+ICsJ CWRlZmF1bHQ6DQo+ICsJCQlyZXR1cm4gMDsNCj4gKwkJfQ0KPiArCX0gZWxzZSBpZiAodHlwZSA9 PSBod21vbl9jaGlwKSB7DQo+ICsJCWlmIChhdHRyID09IGh3bW9uX2NoaXBfdXBkYXRlX2ludGVy dmFsKQ0KPiArCQkJcmV0dXJuIDA2NDQ7DQo+ICsJfQ0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9 DQo+ICsNCj4gK3N0YXRpYyBpbnQgbWF4MzE4MjdfcmVhZChzdHJ1Y3QgZGV2aWNlICpkZXYsIGVu dW0gaHdtb25fc2Vuc29yX3R5cGVzIHR5cGUsDQo+ICsJCQkgdTMyIGF0dHIsIGludCBjaGFubmVs LCBsb25nICp2YWwpIHsNCj4gKwlzdHJ1Y3QgbWF4MzE4Mjdfc3RhdGUgKnN0ID0gZGV2X2dldF9k cnZkYXRhKGRldik7DQo+ICsJdW5zaWduZWQgaW50IHV2YWw7DQo+ICsJaW50IHJldDsNCj4gKw0K PiArCXN3aXRjaCAodHlwZSkgew0KPiArCWNhc2UgaHdtb25fdGVtcDoNCj4gKwkJc3dpdGNoIChh dHRyKSB7DQo+ICsJCWNhc2UgaHdtb25fdGVtcF9lbmFibGU6DQo+ICsJCQlyZXQgPSByZWdtYXBf cmVhZChzdC0+cmVnbWFwLA0KPiArCQkJCQkgIE1BWDMxODI3X0NPTkZJR1VSQVRJT05fUkVHLCAm dXZhbCk7DQo+ICsJCQl1dmFsID0gRklFTERfR0VUKE1BWDMxODI3X0NPTkZJR1VSQVRJT05fMVNI T1RfTUFTSyB8DQo+ICsJCQkJCSBNQVgzMTgyN19DT05GSUdVUkFUSU9OX0NOVl9SQVRFX01BU0ss DQo+ICsJCQkJCSB1dmFsKTsNCj4gKwkJCSp2YWwgPSAhIXV2YWw7DQo+ICsNCj4gKwkJCWJyZWFr Ow0KPiArCQljYXNlIGh3bW9uX3RlbXBfaW5wdXQ6DQo+ICsJCQltdXRleF9sb2NrKCZzdC0+bG9j ayk7DQo+ICsNCj4gKwkJCWlmICghc3QtPmVuYWJsZSkgew0KPiArCQkJCS8qDQo+ICsJCQkJICog VGhpcyBvcGVyYXRpb24gcmVxdWlyZXMgbXV0ZXggcHJvdGVjdGlvbiwNCj4gKwkJCQkgKiBiZWNh dXNlIHRoZSBjaGlwIGNvbmZpZ3VyYXRpb24gc2hvdWxkIG5vdA0KPiArCQkJCSAqIGJlIGNoYW5n ZWQgZHVyaW5nIHRoZSBjb252ZXJzaW9uIHByb2Nlc3MuDQo+ICsJCQkJICovDQo+ICsNCj4gKwkJ CQlyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMoc3QtPnJlZ21hcCwNCj4gKwkJCQkJCQkgTUFYMzE4 MjdfQ09ORklHVVJBVElPTl9SRUcsDQo+ICsJCQkJCQkJIE1BWDMxODI3X0NPTkZJR1VSQVRJT05f MVNIT1RfTUFTSywNCj4gKwkJCQkJCQkgMSk7DQo+ICsJCQkJaWYgKHJldCkNCj4gKwkJCQkJcmV0 dXJuIHJldDsNCg0KQW5vdGhlciBoYW5nIGR1ZSB0byBsYWNraW5nIG11dGV4X3VubG9jaygpLg0K DQo+ICsNCj4gKwkJCQltc2xlZXAoTUFYMzE4MjdfMTJfQklUX0NOVl9USU1FKTsNCj4gKwkJCX0N Cj4gKwkJCXJldCA9IHJlZ21hcF9yZWFkKHN0LT5yZWdtYXAsIE1BWDMxODI3X1RfUkVHLCAmdXZh bCk7DQo+ICsNCj4gKwkJCW11dGV4X3VubG9jaygmc3QtPmxvY2spOw0KPiArDQo+ICsJCQkqdmFs ID0gTUFYMzE4MjdfMTZfQklUX1RPX01fREdSKHV2YWwpOw0KPiArDQo+ICsJCQlicmVhazsNCj4g KwkJY2FzZSBod21vbl90ZW1wX21heDoNCj4gKwkJCXJldCA9IHJlZ21hcF9yZWFkKHN0LT5yZWdt YXAsIE1BWDMxODI3X1RIX1JFRywgJnV2YWwpOw0KPiArCQkJKnZhbCA9IE1BWDMxODI3XzE2X0JJ VF9UT19NX0RHUih1dmFsKTsNCj4gKwkJCWJyZWFrOw0KPiArCQljYXNlIGh3bW9uX3RlbXBfbWF4 X2h5c3Q6DQo+ICsJCQlyZXQgPSByZWdtYXBfcmVhZChzdC0+cmVnbWFwLCBNQVgzMTgyN19USF9I WVNUX1JFRywNCj4gKwkJCQkJICAmdXZhbCk7DQo+ICsJCQkqdmFsID0gTUFYMzE4MjdfMTZfQklU X1RPX01fREdSKHV2YWwpOw0KPiArCQkJYnJlYWs7DQo+ICsJCWNhc2UgaHdtb25fdGVtcF9tYXhf YWxhcm06DQo+ICsJCQlyZXQgPSByZWdtYXBfcmVhZChzdC0+cmVnbWFwLA0KPiArCQkJCQkgIE1B WDMxODI3X0NPTkZJR1VSQVRJT05fUkVHLCAmdXZhbCk7DQo+ICsJCQkqdmFsID0gRklFTERfR0VU KE1BWDMxODI3X0NPTkZJR1VSQVRJT05fT19URU1QX1NUQVRfTUFTSywNCj4gKwkJCQkJIHV2YWwp Ow0KPiArCQkJYnJlYWs7DQo+ICsJCWNhc2UgaHdtb25fdGVtcF9taW46DQo+ICsJCQlyZXQgPSBy ZWdtYXBfcmVhZChzdC0+cmVnbWFwLCBNQVgzMTgyN19UTF9SRUcsICZ1dmFsKTsNCj4gKwkJCSp2 YWwgPSBNQVgzMTgyN18xNl9CSVRfVE9fTV9ER1IodXZhbCk7DQo+ICsJCQlicmVhazsNCj4gKwkJ Y2FzZSBod21vbl90ZW1wX21pbl9oeXN0Og0KPiArCQkJcmV0ID0gcmVnbWFwX3JlYWQoc3QtPnJl Z21hcCwgTUFYMzE4MjdfVExfSFlTVF9SRUcsDQo+ICsJCQkJCSAgJnV2YWwpOw0KPiArCQkJKnZh bCA9IE1BWDMxODI3XzE2X0JJVF9UT19NX0RHUih1dmFsKTsNCj4gKwkJCWJyZWFrOw0KPiArCQlj YXNlIGh3bW9uX3RlbXBfbWluX2FsYXJtOg0KPiArCQkJcmV0ID0gcmVnbWFwX3JlYWQoc3QtPnJl Z21hcCwNCj4gKwkJCQkJICBNQVgzMTgyN19DT05GSUdVUkFUSU9OX1JFRywgJnV2YWwpOw0KPiAr CQkJKnZhbCA9IEZJRUxEX0dFVChNQVgzMTgyN19DT05GSUdVUkFUSU9OX1VfVEVNUF9TVEFUX01B U0ssDQo+ICsJCQkJCSB1dmFsKTsNCj4gKwkJCWJyZWFrOw0KPiArCQlkZWZhdWx0Og0KPiArCQkJ cmV0ID0gLUVPUE5PVFNVUFA7DQo+ICsJCQlicmVhazsNCj4gKwkJfQ0KPiArDQo+ICsJCWJyZWFr Ow0KPiArDQo+ICsJY2FzZSBod21vbl9jaGlwOg0KPiArCQlpZiAoYXR0ciA9PSBod21vbl9jaGlw X3VwZGF0ZV9pbnRlcnZhbCkgew0KPiArCQkJcmV0ID0gcmVnbWFwX3JlYWQoc3QtPnJlZ21hcCwN Cj4gKwkJCQkJICBNQVgzMTgyN19DT05GSUdVUkFUSU9OX1JFRywgJnV2YWwpOw0KPiArCQkJdXZh bCA9IEZJRUxEX0dFVChNQVgzMTgyN19DT05GSUdVUkFUSU9OX0NOVl9SQVRFX01BU0ssDQo+ICsJ CQkJCSB1dmFsKTsNCj4gKwkJCXN3aXRjaCAodXZhbCkgew0KPiArCQkJY2FzZSBNQVgzMTgyN19D TlZfMV9ESVZfNjRfSFo6DQo+ICsJCQkJKnZhbCA9IDY0MDAwOw0KPiArCQkJCWJyZWFrOw0KPiAr CQkJY2FzZSBNQVgzMTgyN19DTlZfMV9ESVZfMzJfSFo6DQo+ICsJCQkJKnZhbCA9IDMyMDAwOw0K PiArCQkJCWJyZWFrOw0KPiArCQkJY2FzZSBNQVgzMTgyN19DTlZfMV9ESVZfMTZfSFo6DQo+ICsJ CQkJKnZhbCA9IDE2MDAwOw0KPiArCQkJCWJyZWFrOw0KPiArCQkJY2FzZSBNQVgzMTgyN19DTlZf MV9ESVZfNF9IWjoNCj4gKwkJCQkqdmFsID0gNDAwMDsNCj4gKwkJCQlicmVhazsNCj4gKwkJCWNh c2UgTUFYMzE4MjdfQ05WXzFfSFo6DQo+ICsJCQkJKnZhbCA9IDEwMDA7DQo+ICsJCQkJYnJlYWs7 DQo+ICsJCQljYXNlIE1BWDMxODI3X0NOVl80X0haOg0KPiArCQkJCSp2YWwgPSAyNTA7DQo+ICsJ CQkJYnJlYWs7DQo+ICsJCQljYXNlIE1BWDMxODI3X0NOVl84X0haOg0KPiArCQkJCSp2YWwgPSAx MjU7DQo+ICsJCQkJYnJlYWs7DQo+ICsJCQlkZWZhdWx0Og0KPiArCQkJCSp2YWwgPSAwOw0KPiAr CQkJCWJyZWFrOw0KPiArCQkJfQ0KPiArCQl9DQo+ICsJCWJyZWFrOw0KPiArDQo+ICsJZGVmYXVs dDoNCj4gKwkJcmV0ID0gLUVPUE5PVFNVUFA7DQo+ICsJCWJyZWFrOw0KPiArCX0NCj4gKw0KPiAr CWlmIChyZXQpDQo+ICsJCXJldHVybiByZXQ7DQo+ICsNCj4gKwlyZXR1cm4gMDsNCg0KanVzdA0K CXJldHVybiByZXQ7DQoNCndvdWxkIGRvIHRoZSBzYW1lLg0KDQo+ICt9DQo+ICsNCj4gK3N0YXRp YyBpbnQgbWF4MzE4Mjdfd3JpdGUoc3RydWN0IGRldmljZSAqZGV2LCBlbnVtIGh3bW9uX3NlbnNv cl90eXBlcyB0eXBlLA0KPiArCQkJICB1MzIgYXR0ciwgaW50IGNoYW5uZWwsIGxvbmcgdmFsKSB7 DQo+ICsJc3RydWN0IG1heDMxODI3X3N0YXRlICpzdCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0K PiArDQo+ICsJc3dpdGNoICh0eXBlKSB7DQo+ICsJY2FzZSBod21vbl90ZW1wOg0KPiArCQlzd2l0 Y2ggKGF0dHIpIHsNCj4gKwkJY2FzZSBod21vbl90ZW1wX2VuYWJsZToNCj4gKwkJCWlmICh2YWwg Pj4gMSkNCj4gKwkJCQlyZXR1cm4gLUVPUE5PVFNVUFA7DQo+ICsNCj4gKwkJCXN0LT5lbmFibGUg PSB2YWw7DQo+ICsNCj4gKwkJCXJldHVybiByZWdtYXBfdXBkYXRlX2JpdHMoc3QtPnJlZ21hcCwN Cj4gKwkJCQkJCSAgTUFYMzE4MjdfQ09ORklHVVJBVElPTl9SRUcsDQo+ICsJCQkJCQkgIE1BWDMx ODI3X0NPTkZJR1VSQVRJT05fMVNIT1RfTUFTSyB8DQo+ICsJCQkJCQkgIE1BWDMxODI3X0NPTkZJ R1VSQVRJT05fQ05WX1JBVEVfTUFTSywNCj4gKwkJCQkJCSAgTUFYMzE4MjdfREVWSUNFX0VOQUJM RSh2YWwpKTsNCj4gKw0KPiArCQljYXNlIGh3bW9uX3RlbXBfbWF4Og0KPiArCQkJcmV0dXJuIHdy aXRlX2FsYXJtX3ZhbChzdCwgTUFYMzE4MjdfVEhfUkVHLCB2YWwpOw0KPiArDQo+ICsJCWNhc2Ug aHdtb25fdGVtcF9tYXhfaHlzdDoNCj4gKwkJCXJldHVybiB3cml0ZV9hbGFybV92YWwoc3QsIE1B WDMxODI3X1RIX0hZU1RfUkVHLCB2YWwpOw0KPiArDQo+ICsJCWNhc2UgaHdtb25fdGVtcF9taW46 DQo+ICsJCQlyZXR1cm4gd3JpdGVfYWxhcm1fdmFsKHN0LCBNQVgzMTgyN19UTF9SRUcsIHZhbCk7 DQo+ICsNCj4gKwkJY2FzZSBod21vbl90ZW1wX21pbl9oeXN0Og0KPiArCQkJcmV0dXJuIHdyaXRl X2FsYXJtX3ZhbChzdCwgTUFYMzE4MjdfVExfSFlTVF9SRUcsIHZhbCk7DQo+ICsNCj4gKwkJZGVm YXVsdDoNCj4gKwkJCXJldHVybiAtRU9QTk9UU1VQUDsNCj4gKwkJfQ0KPiArDQo+ICsJY2FzZSBo d21vbl9jaGlwOg0KPiArCQlpZiAoYXR0ciA9PSBod21vbl9jaGlwX3VwZGF0ZV9pbnRlcnZhbCkg ew0KPiArCQkJc3dpdGNoICh2YWwpIHsNCj4gKwkJCWNhc2UgMTI1Og0KPiArCQkJCXZhbCA9IE1B WDMxODI3X0NOVl84X0haOw0KPiArCQkJCWJyZWFrOw0KPiArCQkJY2FzZSAyNTA6DQo+ICsJCQkJ dmFsID0gTUFYMzE4MjdfQ05WXzRfSFo7DQo+ICsJCQkJYnJlYWs7DQo+ICsJCQljYXNlIDEwMDA6 DQo+ICsJCQkJdmFsID0gTUFYMzE4MjdfQ05WXzFfSFo7DQo+ICsJCQkJYnJlYWs7DQo+ICsJCQlj YXNlIDQwMDA6DQo+ICsJCQkJdmFsID0gTUFYMzE4MjdfQ05WXzFfRElWXzRfSFo7DQo+ICsJCQkJ YnJlYWs7DQo+ICsJCQljYXNlIDE2MDAwOg0KPiArCQkJCXZhbCA9IE1BWDMxODI3X0NOVl8xX0RJ Vl8xNl9IWjsNCj4gKwkJCQlicmVhazsNCj4gKwkJCWNhc2UgMzIwMDA6DQo+ICsJCQkJdmFsID0g TUFYMzE4MjdfQ05WXzFfRElWXzMyX0haOw0KPiArCQkJCWJyZWFrOw0KPiArCQkJY2FzZSA2NDAw MDoNCj4gKwkJCQl2YWwgPSBNQVgzMTgyN19DTlZfMV9ESVZfNjRfSFo7DQo+ICsJCQkJYnJlYWs7 DQo+ICsJCQlkZWZhdWx0Og0KPiArCQkJCXZhbCA9IDA7DQo+ICsJCQkJYnJlYWs7DQo+ICsJCQl9 DQo+ICsNCj4gKwkJCWlmICghdmFsKQ0KPiArCQkJCXJldHVybiAtRU9QTk9UU1VQUDsNCg0KTWln aHQgYXMgd2VsbCByZXR1cm4gZnJvbSBkZWZhdWx0OiBhYm92ZS4NCg0KVHJ1ZSwgYnV0IEkgd3Jv dGUgaXQgbGlrZSB0aGlzIGZvciBjb25zaXN0ZW5jeTogaW4gYSBzd2l0Y2ggc3RhdGVtZW50IEkg YW0gZWl0aGVyIHJldHVybmluZywgZWl0aGVyIGJyZWFraW5nLiBTaG91bGQgSSBzdGlsbCBjaGFu Z2UgaXQ/DQoNCj4gKw0KPiArCQkJdmFsID0gRklFTERfUFJFUChNQVgzMTgyN19DT05GSUdVUkFU SU9OX0NOVl9SQVRFX01BU0ssDQo+ICsJCQkJCSB2YWwpOw0KPiArDQo+ICsJCQlyZXR1cm4gcmVn bWFwX3VwZGF0ZV9iaXRzKHN0LT5yZWdtYXAsDQo+ICsJCQkJCQkgIE1BWDMxODI3X0NPTkZJR1VS QVRJT05fUkVHLA0KPiArCQkJCQkJICBNQVgzMTgyN19DT05GSUdVUkFUSU9OX0NOVl9SQVRFX01B U0ssDQo+ICsJCQkJCQkgIHZhbCk7DQo+ICsJCX0NCj4gKwkJYnJlYWs7DQo+ICsNCj4gKwlkZWZh dWx0Og0KPiArCQlyZXR1cm4gLUVPUE5PVFNVUFA7DQo+ICsJfQ0KPiArDQo+ICsJcmV0dXJuIC1F T1BOT1RTVVBQOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50IG1heDMxODI3X2luaXRfY2xpZW50 KHN0cnVjdCBtYXgzMTgyN19zdGF0ZSAqc3QpIHsNCj4gKwlzdC0+ZW5hYmxlID0gdHJ1ZTsNCj4g Kw0KPiArCXJldHVybiByZWdtYXBfdXBkYXRlX2JpdHMoc3QtPnJlZ21hcCwgTUFYMzE4MjdfQ09O RklHVVJBVElPTl9SRUcsDQo+ICsJCQkJICBNQVgzMTgyN19DT05GSUdVUkFUSU9OXzFTSE9UX01B U0sgfA0KPiArCQkJCQkgIE1BWDMxODI3X0NPTkZJR1VSQVRJT05fQ05WX1JBVEVfTUFTSywNCj4g KwkJCQkgIE1BWDMxODI3X0RFVklDRV9FTkFCTEUoMSkpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMg Y29uc3Qgc3RydWN0IGh3bW9uX2NoYW5uZWxfaW5mbyAqbWF4MzE4MjdfaW5mb1tdID0gew0KPiAr CUhXTU9OX0NIQU5ORUxfSU5GTyh0ZW1wLCBIV01PTl9UX0VOQUJMRSB8IEhXTU9OX1RfSU5QVVQg fCBIV01PTl9UX01JTiB8DQo+ICsJCQkJCSBIV01PTl9UX01JTl9IWVNUIHwgSFdNT05fVF9NSU5f QUxBUk0gfA0KPiArCQkJCQkgSFdNT05fVF9NQVggfCBIV01PTl9UX01BWF9IWVNUIHwNCj4gKwkJ CQkJIEhXTU9OX1RfTUFYX0FMQVJNKSwNCj4gKwlIV01PTl9DSEFOTkVMX0lORk8oY2hpcCwgSFdN T05fQ19VUERBVEVfSU5URVJWQUwpLA0KPiArCU5VTEwsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMg Y29uc3Qgc3RydWN0IGh3bW9uX29wcyBtYXgzMTgyN19od21vbl9vcHMgPSB7DQo+ICsJLmlzX3Zp c2libGUgPSBtYXgzMTgyN19pc192aXNpYmxlLA0KPiArCS5yZWFkID0gbWF4MzE4MjdfcmVhZCwN Cj4gKwkud3JpdGUgPSBtYXgzMTgyN193cml0ZSwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25z dCBzdHJ1Y3QgaHdtb25fY2hpcF9pbmZvIG1heDMxODI3X2NoaXBfaW5mbyA9IHsNCj4gKwkub3Bz ID0gJm1heDMxODI3X2h3bW9uX29wcywNCj4gKwkuaW5mbyA9IG1heDMxODI3X2luZm8sDQo+ICt9 Ow0KPiArDQo+ICtzdGF0aWMgaW50IG1heDMxODI3X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpj bGllbnQpIHsNCj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmY2xpZW50LT5kZXY7DQo+ICsJc3Ry dWN0IGRldmljZSAqaHdtb25fZGV2Ow0KPiArCXN0cnVjdCBtYXgzMTgyN19zdGF0ZSAqc3Q7DQo+ ICsJaW50IGVycjsNCj4gKw0KPiArCWlmICghaTJjX2NoZWNrX2Z1bmN0aW9uYWxpdHkoY2xpZW50 LT5hZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19XT1JEX0RBVEEpKQ0KPiArCQlyZXR1cm4gLUVPUE5P VFNVUFA7DQo+ICsNCj4gKwlzdCA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigqc3QpLCBHRlBf S0VSTkVMKTsNCj4gKwlpZiAoIXN0KQ0KPiArCQlyZXR1cm4gLUVOT01FTTsNCj4gKw0KPiArCW11 dGV4X2luaXQoJnN0LT5sb2NrKTsNCj4gKw0KPiArCXN0LT5yZWdtYXAgPSBkZXZtX3JlZ21hcF9p bml0X2kyYyhjbGllbnQsICZtYXgzMTgyN19yZWdtYXApOw0KPiArCWlmIChJU19FUlIoc3QtPnJl Z21hcCkpDQo+ICsJCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgUFRSX0VSUihzdC0+cmVnbWFw KSwNCj4gKwkJCQkgICAgICJGYWlsZWQgdG8gYWxsb2NhdGUgcmVnbWFwLlxuIik7DQo+ICsNCj4g KwllcnIgPSBtYXgzMTgyN19pbml0X2NsaWVudChzdCk7DQo+ICsJaWYgKGVycikNCj4gKwkJcmV0 dXJuIGVycjsNCj4gKw0KPiArCWh3bW9uX2RldiA9IGRldm1faHdtb25fZGV2aWNlX3JlZ2lzdGVy X3dpdGhfaW5mbyhkZXYsIGNsaWVudC0+bmFtZSwgc3QsDQo+ICsJCQkJCQkJICZtYXgzMTgyN19j aGlwX2luZm8sDQo+ICsJCQkJCQkJIE5VTEwpOw0KPiArDQo+ICsJcmV0dXJuIFBUUl9FUlJfT1Jf WkVSTyhod21vbl9kZXYpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19k ZXZpY2VfaWQgbWF4MzE4MjdfaTJjX2lkc1tdID0gew0KPiArCXsgIm1heDMxODI3IiwgMCB9LA0K PiArCXsgfQ0KPiArfTsNCj4gK01PRFVMRV9ERVZJQ0VfVEFCTEUoaTJjLCBtYXgzMTgyN19pMmNf aWRzKTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWF4MzE4Mjdf b2ZfbWF0Y2hbXSA9IHsNCj4gKwl7IC5jb21wYXRpYmxlID0gIm1heDMxODI3IiB9LA0KPiArCXsg fQ0KPiArfTsNCj4gK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG1heDMxODI3X29mX21hdGNoKTsN Cj4gKw0KPiArc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIG1heDMxODI3X2RyaXZlciA9IHsNCj4g KwkuY2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04sDQo+ICsJLmRyaXZlciA9IHsNCj4gKwkJLm5hbWUg PSAibWF4MzE4MjciLA0KPiArCQkub2ZfbWF0Y2hfdGFibGUgPSBtYXgzMTgyN19vZl9tYXRjaCwN Cj4gKwl9LA0KPiArCS5wcm9iZV9uZXcgPSBtYXgzMTgyN19wcm9iZSwNCj4gKwkuaWRfdGFibGUg PSBtYXgzMTgyN19pMmNfaWRzLA0KPiArfTsNCj4gK21vZHVsZV9pMmNfZHJpdmVyKG1heDMxODI3 X2RyaXZlcik7DQo+ICsNCj4gK01PRFVMRV9BVVRIT1IoIkRhbmllbCBNYXR5YXMgPGRhbmllbC5t YXR5YXNAYW5hbG9nLmNvbT4iKTsgDQo+ICtNT0RVTEVfREVTQ1JJUFRJT04oIk1heGltIE1BWDMx ODI3IGxvdy1wb3dlciB0ZW1wZXJhdHVyZSBzd2l0Y2ggDQo+ICtkcml2ZXIiKTsgTU9EVUxFX0xJ Q0VOU0UoIkdQTCIpOw0KDQo=