Received: by 2002:a05:7412:8d06:b0:f9:332d:97f1 with SMTP id bj6csp14448rdb; Mon, 18 Dec 2023 07:43:52 -0800 (PST) X-Google-Smtp-Source: AGHT+IG5NQ72CSoIrNolksNxe7MuB3a2SE0jfigriQlgQPKH3jHM7bUYtTBqJ/yRSNgjmhnBROMT X-Received: by 2002:a05:6102:d87:b0:464:4307:ed57 with SMTP id d7-20020a0561020d8700b004644307ed57mr6633749vst.19.1702914232157; Mon, 18 Dec 2023 07:43:52 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1702914232; cv=pass; d=google.com; s=arc-20160816; b=xX/NjKZPdwbp9by9XQQdCiuZ6sfnBb/ZYfIyNZQ7YvhlR5IcwH+GGN/r3iNHPBdWOR hBksE99KlafRaXRrCKftG+K1N7Q2g8U+7o+y0xFUvaEIzaOSwAD4H+10ijSJhUDJ6RKq yJxWBYoO8DtdgrnaiVEsR5Hngu/mOBE5dg/H2MAPglDATfN63r4vd8z95kuj8PGqU/Qe Qr6MxEdJf4VelTXLj9SfL8X7PkxpKI7LlY9OEE98AbHFNYEMzlhL8lPp3rYD6FwVLxu9 CIxGioXrHQ/+tIcIcKFKvox5tZ0VOX4Yqz7UweqSEe9sSHGPiQ0nH15aXy1TVhj1VobP clwA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :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=WBzL7npIXR8WcuKxLTarxPDpsK6Ry6VMPI1A+5LxMBw=; fh=1QJjdPD06pO1ZggQyjEpTDwqBX3tV4p06TVtCPYri8g=; b=jolBOAqejfxgPPdCtIfsi4aZouIBdhsQUvA5bPsah45OXGXRfW3uKxN1Lg1jGlWaEk LNBzs5ziukpNNuVTuYWyeExPP1ySVLclTZ5HfQWp/igMnfn0ybImJN8u/LAZhNjeuDQj JOUinaL0pfGEVhks4abdiuuh8Dt60zsViCAfnFJJsnEJoRTTV0Pn9sMkBJaFdYDv2Phk E75oUeT9ZAXm8Nj/rGOcbOQ9FvARGkIVYSE1flMqEm8zdiS4j3fKOr1rpUFhuyGgxo5o Lk9Es5LgXDEKAc/9vBvF0lDPescylV/XCRzyWdqPngC/9pid7d0iRJiYG0WYU1fjuy1N EzBw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@analog.onmicrosoft.com header.s=selector2-analog-onmicrosoft-com header.b="YpaHZwY/"; 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+bounces-3963-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-3963-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=analog.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id q9-20020a67b909000000b004669dfe345csi204233vsn.340.2023.12.18.07.43.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Dec 2023 07:43:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-3963-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@analog.onmicrosoft.com header.s=selector2-analog-onmicrosoft-com header.b="YpaHZwY/"; 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+bounces-3963-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-3963-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=analog.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id D06321C24E01 for ; Mon, 18 Dec 2023 15:43:51 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id AD2F65BFA0; Mon, 18 Dec 2023 15:38:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=analog.onmicrosoft.com header.i=@analog.onmicrosoft.com header.b="YpaHZwY/" X-Original-To: linux-kernel@vger.kernel.org Received: from mx0b-00128a01.pphosted.com (mx0b-00128a01.pphosted.com [148.163.139.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 79D395A874; Mon, 18 Dec 2023 15:38:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Received: from pps.filterd (m0167091.ppops.net [127.0.0.1]) by mx0b-00128a01.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 3BIDWOM2003532; Mon, 18 Dec 2023 09:55:10 -0500 Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by mx0b-00128a01.pphosted.com (PPS) with ESMTPS id 3v16hbqtjf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 18 Dec 2023 09:55:10 -0500 (EST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GQXvWMZ2Sse1L5UOpE/JUn04G2PMtYY43rJ35bTf9ruqyptquh1KmGVux3j9AFamYi3uBJXTKl3AdXNav7e/Uo9dRKQvrf8GbclL9t5USoIDz3LU3HMqnUcpBh5xLam1euD3du1DqyL3WlDyhmh3XKUtvKTgN3yjr1cUgNlvVtC5la7x9UPamfECByy3zrgNVj4YKq5QxrqZjfe51WYRFD0Wk0/8y6y0yJL2w3Csg6iv0VEPlK5X9fDZU2zUEbtJ2H4C40QmRJXTbhbEWnD5/emcwd15lManowaP01ZGqkWIHnAhI4YSqDFzeFx0m8XF3RL5QpAgpXHD3v0zZ+0Q7w== 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=WBzL7npIXR8WcuKxLTarxPDpsK6Ry6VMPI1A+5LxMBw=; b=J1Tz7NbXtMISwrb8mKDPmV1FW20k+VyTaec9X/vNwyJrt22DRUrmHhHcKXu+wJpSKBXiXwJ0wQxp/2W0hbvxD6wJp3VXcKphUHUioNCzSEM7KFomTQI4+T8C/SD5mctHvZBUAZgZsGf+Ym1IY8Bg5MDyhWeCGNXFGgn/EC2Kwzv6nDgjyFSK13NuxeqWYpRRJMIZ0YsibwDD2TphM7OlQyxIjX07qChxaC8Jw+85RKkPPYPgOeIyV4iONgKqj1LPR1Y/l8YD/dzBgb5i1YaymjaNu+uBkPhqFHEASdrLv5ksNrUN21QEfiLW7M9iI3XVzkPyKtC6KDFZPlfvfV6hPA== 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=WBzL7npIXR8WcuKxLTarxPDpsK6Ry6VMPI1A+5LxMBw=; b=YpaHZwY/Qc/FcUT76aMRup8kQYBEJvFnHweJDs4Xt6k9oiWyfozo5AcY+YyqC+/2nU8dAc+6dMn6GSreRx1oSoy5eOlslZcizqNMrGTEFZH6iAt2ZmyqYn7upSVJGhcIwXDFtMv4RfulU1bCoNNms16qUmSAZXhQGLBnjXa9J3g= Received: from PH0PR03MB6771.namprd03.prod.outlook.com (2603:10b6:510:122::17) by MW4PR03MB6633.namprd03.prod.outlook.com (2603:10b6:303:128::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.38; Mon, 18 Dec 2023 14:55:07 +0000 Received: from PH0PR03MB6771.namprd03.prod.outlook.com ([fe80::defd:60a2:d154:5afc]) by PH0PR03MB6771.namprd03.prod.outlook.com ([fe80::defd:60a2:d154:5afc%4]) with mapi id 15.20.7091.034; Mon, 18 Dec 2023 14:55:06 +0000 From: "Matyas, Daniel" To: Guenter Roeck CC: Jean Delvare , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jonathan Corbet , "linux-hwmon@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-doc@vger.kernel.org" Subject: RE: [PATCH 1/3] hwmon: max31827: Add PEC support Thread-Topic: [PATCH 1/3] hwmon: max31827: Add PEC support Thread-Index: AQHaLpsJwCfUNDapL0KYBUa9I84zGLCo8tIAgAYzjHA= Date: Mon, 18 Dec 2023 14:55:06 +0000 Message-ID: References: <20231214143648.175336-1-daniel.matyas@analog.com> <2e0bf1cf-824d-40c6-9450-7ed4740f2f46@roeck-us.net> In-Reply-To: <2e0bf1cf-824d-40c6-9450-7ed4740f2f46@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?Y2JYTm5MVFpqTnpBMU5qRXhMVGxrWWpVdE1URmxaUzFpTnpVM0xURTRNV1Js?= =?utf-8?B?WVdGbU1UTTBNVnhoYldVdGRHVnpkRncyWXpjd05UWXhNeTA1WkdJMUxURXha?= =?utf-8?B?V1V0WWpjMU55MHhPREZrWldGaFpqRXpOREZpYjJSNUxuUjRkQ0lnYzNvOUlq?= =?utf-8?B?TTNOek00SWlCMFBTSXhNek0wTnpNNE5Ea3dNemt4TmpNeE1UVWlJR2c5SW5C?= =?utf-8?B?d1Jqa3paWFo0TUdsU2JsWm5iM0JUVGxCT2FsTlpNa2R6UVQwaUlHbGtQU0lp?= =?utf-8?B?SUdKc1BTSXdJaUJpYnowaU1TSWdZMms5SW1OQlFVRkJSVkpJVlRGU1UxSlZS?= =?utf-8?B?azVEWjFWQlFVVnZRMEZCUkhKcWMyZDFkMnBJWVVGbVQyNW5SbHBIY1ROV05U?= =?utf-8?B?ZzJaVUZXYTJGeVpGaHJSRUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRklRVUZCUVVSaFFWRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGRlFVRlJRVUpCUVVGQmJFZFVSMVpuUVVGQlFVRkJRVUZCUVVGQlFVRkJT?= =?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_|MW4PR03MB6633:EE_ x-ms-office365-filtering-correlation-id: 80d48457-3c65-44a5-a9e1-08dbffd952ec x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HvWnJ82/xR8TzWpW075dycf4OTC2YG5jZYwuIMXE6V7vxVUTtT4H+pqK9E9VfbYgzCS709birog1thqBkc8FGaW/6P+1CSusAzee++Q+W+67a4+65OD49eTtLz9DcRtXCu0QlXAWSc2Dqhj5pj32+CaHLSSytq3uGd/yIZUbHzTUHlvk9R9kJs+bnyCa34g9iBhuPoNvRUrzF0ON6Q0Ve5JzUAIk4EzsGouUroIGC2nc2sqbyPGS1xAdBcZg2girSsCj94fKVpMopG7B7fXN8g9ve8vRdKRyuoTwCZyMJJ1wblxyfqMzvCtwbwveXbWAh0vuF7TxNfeXGf/WJQLctGgJVxwV/Q/q0qRpfup7aM+Ft/YCA5C6Vexwselm/NGyuJizS90BKpJyyFmyTIxvYO9S/ziMGCpg8N/0/AdxaFkmGFLsXVqxJGWzfcr4Ok04H7+nQpzK5iSjHeyjZm3JS4PI2cJBA1eCkX3PQYP+DaT44C6OF5ZnDTZ5ksItptAKRhgdkP8g0+9tVPrmKlHzxyeLDccb6CSBOVb9YnnqAbzRMJUqjIRfT2ucuNoOMx4eoztUchPajwDauHBROUyh5JLB2X1CmikDQsOm0UlWYfTSVl+SYgBQP49qvBut1QAhm6g3rbdcC6/AJuknbmu6T1QA4krdMgeLHfKPVDwfdZI= 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:(13230031)(376002)(39860400002)(366004)(346002)(136003)(396003)(230173577357003)(230922051799003)(230273577357003)(64100799003)(1800799012)(451199024)(186009)(8676002)(4326008)(8936002)(38100700002)(5660300002)(122000001)(2906002)(52536014)(53546011)(9686003)(7696005)(71200400001)(66946007)(66556008)(6916009)(83380400001)(316002)(64756008)(54906003)(66476007)(30864003)(66446008)(76116006)(7416002)(55016003)(41300700001)(33656002)(478600001)(6506007)(26005)(86362001)(38070700009)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RGNLaFdSSkM1MWxXc2N1Y2FJai9sNThsZGxWdGZGMzFFMlZONkhvc0RTK2hi?= =?utf-8?B?WFZocnFwdUNUTTJFSWNsd1JBVmxVeEl3TzhjK1NDRlNFL2IwbEpENGR4Uytx?= =?utf-8?B?SVdzdGlzRHluTUhnMEordGNXbTlIbS9ua1Yxb1hxZTkranlGakFTaDVCcmla?= =?utf-8?B?VGZrYlZxR28wNXV2amYyNnEzSWliNlh3MzdyY3VITXlZTEplQmtOQXZnbTl0?= =?utf-8?B?REpXWVJmR2ZsM0x0T3ZNVnFvNVJ1TzNTaFNoUjd1OC81ZWhOTVQyVmNGbE9L?= =?utf-8?B?REp2Wk1ZeEZnaWFsM3FqMGIrS3dYYXhDM3VNRElpNWQ4b0UwOFVNWHhKZmF1?= =?utf-8?B?YzZ3YlZwSFZqajJHYWxaTGVRQmkwejltRGVkejMrY2dubFloRklUYS9yUTNn?= =?utf-8?B?a3p4dUZmbWZkQ29UcEcxZ1IrRERkbTE1Uitmd0NnNHhIZnBQcUYwczlEdGVS?= =?utf-8?B?U21vYUcwMHFBZ00wWGpUcklFdnJsd0ZkTHFaVWZTZHJxeGtrMmZrV0RuN2dR?= =?utf-8?B?dUtFa21NQzRrZkQrbTY4L1RRNUxaSUYwWXNYaHFzYUdSWVkvUzRIU2RwY3E1?= =?utf-8?B?cjRCbjFad2ovUlE3NEdHanhCa2hVYW1sS0hlTDAxWTFEcHRQOWV1TWMyVjJv?= =?utf-8?B?MHIvS3N6ZmFiNVo1MlVrUTJhUDEwd3RmTEJvSnFnNFh1cGN2MlROVjhzTUZX?= =?utf-8?B?V2treGEwUzcwQkh6M0FqY0ZUZkVYYytDczN2ZzZvMzhWVE1RemVpZnNwMEVs?= =?utf-8?B?RWVqU2JmYU16SGpBWXM2MUtta3I1MEZoZTFDdmhodG5GUjZiT1U5akVscktU?= =?utf-8?B?UmtjWFNRYlR6RDhrZDM1TXBmNFN5WVpZY3Y5dkZoV2ZEOG4rUUF4S3YvdkJE?= =?utf-8?B?Sm5YM3Q0Z3JsUlB6RVh1My96bE9PQ2hCdHRZOStLelYxMmk5NmFhR2FvOG1P?= =?utf-8?B?Qjlremp0NTVRYW5MZlBzZTdtNXFncnBnSTVvdlh4eDFXYW5Zazc3cytYWnhO?= =?utf-8?B?djZsZ3BINnhabW13aXE2djk1U0lBSFdDOWlMRkh3SnN0Zk5pVVgvTUt3N054?= =?utf-8?B?VytDcU4yZlB1WTJCZUtZWGJiN2tUK2Vsamh2MmFzdG1FcVZwTHUvNFhhQWlO?= =?utf-8?B?cHdPaHNQWnhmTTJxSXJPa3RJUmZkRjhpOGJaaVJscElCY0owcnR5S0dHT3RK?= =?utf-8?B?UjFPN1M0RmI0bWxuMUNhMkJ6bFhuNTRER2FKb2J4SVZlNFI1Rk9iVkNubjZp?= =?utf-8?B?MGJnK1k1ekZna1V2NnVzNE10L2xPejVkaXNuYXhVWVdUb01FTWYzRUt0RGdw?= =?utf-8?B?V1FsWWNmRUlsSWdzckMvOHB3VEVFYXNSRzNGbjdrWUhtUFZnWFArNXpTZDQ5?= =?utf-8?B?T25GY1AvWVkvUDAybXdZRTNBTUhTUzRLVXg4dXlGT3poZHhOVldTWDI5NEtS?= =?utf-8?B?TlBnZ01EVjU0L0RMV3VYeVhKb0QxM2FoWVRJODdQQ0hkY1pLYWpjUXdsME9U?= =?utf-8?B?NS93UWFjZi8zc0U0cnJ5aVZmRXlta2x2bXJmVkdXeEhEZU1FaCtUWi9ZOG56?= =?utf-8?B?MVNLWUppOWdXa2k5eXRSSy9UUEdKdlQ1OXBxdEg5SCt4aGdZc3lzTUpYcXE5?= =?utf-8?B?MnlBWFk3ZGxjM2srUzBIM2Z2ZW81TU1KVGxramx6bmhFa21FK3c5OVlCT2Fk?= =?utf-8?B?eGJ0TFlWVU9DSXFESXFxTG12ZlhPanZ3YmdSV0NjUkplTHRQcW9peU14RzBO?= =?utf-8?B?QjFKbmhLSUR6Z2V6Wm9pS0NpMHdpbzRCZk5uRCtzSHljSWd5VmNKdGdPQjdz?= =?utf-8?B?WW54ME1OWXkyTnFWZXZUM1lhLzA3Y204U0xVQjBrREwvSGhoYzNUc3dScy9s?= =?utf-8?B?ZjIvUUJjaWIrWGFGUlNXQThhVkhyN1JQTHd3bExGeFkraGhMVjFrYkxvY3hj?= =?utf-8?B?Sy91Z3NWM3RWSXVaRzgyWGVicWdyY3BackxyekVFQmxpZkNkd2d5aXUrUTBY?= =?utf-8?B?R3dwcUJUY0xYQUk5Nms1a25obUFZckhmRXU5NEpoNG9aYWxadG0yb2piSHRw?= =?utf-8?B?aWhxOFJQQzhma0JQUnVQamhENTF4dW9mUjdZaUl3VHltQkNzQXF4VEl6ZXdK?= =?utf-8?Q?t7ibwpK4qOtkyWYDC819ZBQ48?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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: 80d48457-3c65-44a5-a9e1-08dbffd952ec X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Dec 2023 14:55:06.6769 (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: ghywJ4Y1k/menDq70bKh/aZQ06u1znq8WZlNcmxwQp5ZJce8AyaQW9OuYOrsx8hlV/zGYIeR/6HCu0ukWNFWsjzRPmBk5LZgkVhmO2dLIS4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6633 X-Proofpoint-GUID: XpJ-B2Gl-d4sqadG2DB3inUmvnOQAVFE X-Proofpoint-ORIG-GUID: XpJ-B2Gl-d4sqadG2DB3inUmvnOQAVFE X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-12-02_01,2023-11-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 impostorscore=0 phishscore=0 clxscore=1015 bulkscore=0 mlxscore=0 mlxlogscore=999 spamscore=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2311290000 definitions=main-2312180108 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogR3VlbnRlciBSb2VjayA8 Z3JvZWNrN0BnbWFpbC5jb20+IE9uIEJlaGFsZiBPZiBHdWVudGVyIFJvZWNrDQo+IFNlbnQ6IFRo dXJzZGF5LCBEZWNlbWJlciAxNCwgMjAyMyA2OjEwIFBNDQo+IFRvOiBNYXR5YXMsIERhbmllbCA8 RGFuaWVsLk1hdHlhc0BhbmFsb2cuY29tPg0KPiBDYzogSmVhbiBEZWx2YXJlIDxqZGVsdmFyZUBz dXNlLmNvbT47IFJvYiBIZXJyaW5nDQo+IDxyb2JoK2R0QGtlcm5lbC5vcmc+OyBLcnp5c3p0b2Yg S296bG93c2tpDQo+IDxrcnp5c3p0b2Yua296bG93c2tpK2R0QGxpbmFyby5vcmc+OyBDb25vciBE b29sZXkNCj4gPGNvbm9yK2R0QGtlcm5lbC5vcmc+OyBKb25hdGhhbiBDb3JiZXQgPGNvcmJldEBs d24ubmV0PjsgbGludXgtDQo+IGh3bW9uQHZnZXIua2VybmVsLm9yZzsgZGV2aWNldHJlZUB2Z2Vy Lmtlcm5lbC5vcmc7IGxpbnV4LQ0KPiBrZXJuZWxAdmdlci5rZXJuZWwub3JnOyBsaW51eC1kb2NA dmdlci5rZXJuZWwub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMS8zXSBod21vbjogbWF4MzE4 Mjc6IEFkZCBQRUMgc3VwcG9ydA0KPiANCj4gW0V4dGVybmFsXQ0KPiANCj4gT24gMTIvMTQvMjMg MDY6MzYsIERhbmllbCBNYXR5YXMgd3JvdGU6DQo+ID4gUmVtb3ZlZCByZWdtYXAgYW5kIHVzZWQg bXkgZnVuY3Rpb25zIHRvIHJlYWQsIHdyaXRlIGFuZCB1cGRhdGUgYml0cy4NCj4gPiBJbiB0aGVz ZSBmdW5jdGlvbnMgaTJjX3NtYnVzXyBoZWxwZXIgZnVuY3Rpb25zIGFyZSB1c2VkLiBUaGVzZSBj aGVjaw0KPiA+IGlmIHRoZXJlIHdlcmUgYW55IFBFQyBlcnJvcnMgZHVyaW5nIHJlYWQuIEluIHRo ZSB3cml0ZSBmdW5jdGlvbiwgaWYNCj4gPiBQRUMgaXMgZW5hYmxlZCwgSSBjaGVjayBmb3IgUEVD IEVycm9yIGJpdCwgdG8gc2VlIGlmIHRoZXJlIHdlcmUgYW55IGVycm9ycy4NCj4gPg0KPiA+IFNp Z25lZC1vZmYtYnk6IERhbmllbCBNYXR5YXMgPGRhbmllbC5tYXR5YXNAYW5hbG9nLmNvbT4NCj4g DQo+IFRoZSAiUEVDIiBhdHRyaWJ1dGUgbmVlZHMgdG8gYmUgYXR0YWNoZWQgdG8gdGhlIEkyQyBk ZXZpY2UuDQo+IFNlZSBsbTkwLmMgb3IgcG1idXNfY29yZS5jIGZvciBleGFtcGxlcy4NCj4gDQo+ IFRoZSBjaGFuZ2VzLCBpZiBpbmRlZWQgbmVlZGVkLCBkbyBub3Qgd2FyYW50IGRyb3BwaW5nIHJl Z21hcC4NCj4gWW91IHdpbGwgbmVlZCB0byBleHBsYWluIHdoeSB0aGUgcmVnX3JlYWQgYW5kIHJl Z193cml0ZSBjYWxsYmFja3MNCj4gcHJvdmlkZWVkIGJ5IHJlZ21hcCBjYW4gbm90IGJlIHVzZWQu DQo+IA0KPiBPbiB0b3Agb2YgdGhhdCwgaXQgaXMgbm90IGNsZWFyIHdoeSByZWdtYXAgY2FuJ3Qg YmUgdXNlZCBpbiB0aGUgZmlyc3QgcGxhY2UuDQo+IEl0IHNlZW1zIHRoYXQgdGhlIG1ham9yIGNo YW5nZSBpcyB0aGF0IG9uZSBuZWVkcyB0byByZWFkIHRoZSBjb25maWd1cmF0aW9uDQo+IHJlZ2lz dGVyIGFmdGVyIGEgd3JpdGUgdG8gc2VlIGlmIHRoZXJlIHdhcyBhIFBFQyBlcnJvci4gSXQgaXMg bm90IGltbWVkaWF0ZWx5DQo+IG9idmlvdXMgd2h5IHRoYXQgYWRkaXRpb25hbCByZWFkIChpZiBp bmRlZWQgbmVjZXNzYXJ5KSB3b3VsZCByZXF1aXJlDQo+IHJlZ21hcCBzdXBwb3J0IHRvIGJlIGRy b3BwZWQuDQo+IA0KDQpJIHRyaWVkIG91dCB3cml0aW5nIGFuZCBhbmQgcmVhZGluZyB3aXRoIHJl Z21hcCwgYnV0IGl0IGlzIG5vdCB3b3JraW5nIHByb3Blcmx5LiBFdmVuIGlmIEkgbW9kaWZ5IHRo ZSBjbGllbnQgZmxhZywgSSBzdGlsbCByZWNlaXZlIG9ubHkgMiBieXRlcyBvZiBkYXRhIChhIHdv cmQpLiBJIHNob3VsZCBiZSByZWNlaXZpbmcgMisxIGJ5dGVzID0gZGF0YSArIENSQy04Lg0KDQpX aXRoIGkyY19zbWJ1cyByZWFkcyBhbmQgd3JpdGVzLCB3aGVuIEkgc2V0IHRoZSBmbGFnLCBJIHJl Y2VpdmUgdGhlIDIrMSBieXRlcywgYXMgZXhwZWN0ZWQuDQoNCkRhbmllbA0KDQo+IFJlZ2FyZGlu ZyAiaWYgaW5kZWVkIG5lY2Vzc2FyeSI6IFRoZXJlIG5lZWRzIHRvIGJlIGEgY29tbWVudCBleHBs YWluaW5nDQo+IHRoYXQgdGhlIGRldmljZSB3aWxsIHJldHVybiBBQ0sgZXZlbiBhZnRlciBhIHBh Y2tldCB3aXRoIGJhZCBQRUMgaXMNCj4gcmVjZWl2ZWQuDQo+IA0KPiA+IC0tLQ0KPiA+ICAgRG9j dW1lbnRhdGlvbi9od21vbi9tYXgzMTgyNy5yc3QgfCAgMTQgKy0NCj4gPiAgIGRyaXZlcnMvaHdt b24vbWF4MzE4MjcuYyAgICAgICAgIHwgMjE5ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0N Cj4gLS0tDQo+ID4gICAyIGZpbGVzIGNoYW5nZWQsIDE3MSBpbnNlcnRpb25zKCspLCA2MiBkZWxl dGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2h3bW9uL21heDMx ODI3LnJzdA0KPiA+IGIvRG9jdW1lbnRhdGlvbi9od21vbi9tYXgzMTgyNy5yc3QNCj4gPiBpbmRl eCA0NGFiOWRjMDY0Y2IuLmVjYmMxZGRiYTZhNyAxMDA2NDQNCj4gPiAtLS0gYS9Eb2N1bWVudGF0 aW9uL2h3bW9uL21heDMxODI3LnJzdA0KPiA+ICsrKyBiL0RvY3VtZW50YXRpb24vaHdtb24vbWF4 MzE4MjcucnN0DQo+ID4gQEAgLTEzMSw3ICsxMzEsMTMgQEAgVGhlIEZhdWx0IFF1ZXVlIGJpdHMg c2VsZWN0IGhvdyBtYW55DQo+IGNvbnNlY3V0aXZlIHRlbXBlcmF0dXJlIGZhdWx0cyBtdXN0IG9j Y3VyDQo+ID4gICBiZWZvcmUgb3ZlcnRlbXBlcmF0dXJlIG9yIHVuZGVydGVtcGVyYXR1cmUgZmF1 bHRzIGFyZSBpbmRpY2F0ZWQgaW4NCj4gdGhlDQo+ID4gICBjb3JyZXNwb25kaW5nIHN0YXR1cyBi aXRzLg0KPiA+DQo+ID4gLU5vdGVzDQo+ID4gLS0tLS0tDQo+ID4gLQ0KPiA+IC1QRUMgaXMgbm90 IGltcGxlbWVudGVkLg0KPiA+ICtQRUMgKHBhY2tldCBlcnJvciBjaGVja2luZykgY2FuIGJlIGVu YWJsZWQgZnJvbSB0aGUgInBlYyIgZGV2aWNlDQo+IGF0dHJpYnV0ZS4NCj4gPiArSWYgUEVDIGlz IGVuYWJsZWQsIGEgUEVDIGJ5dGUgaXMgYXBwZW5kZWQgdG8gdGhlIGVuZCBvZiBlYWNoIG1lc3Nh Z2UNCj4gdHJhbnNmZXIuDQo+ID4gK1RoaXMgaXMgYSBDUkMtOCBieXRlIHRoYXQgaXMgY2FsY3Vs YXRlZCBvbiBhbGwgb2YgdGhlIG1lc3NhZ2UgYnl0ZXMNCj4gPiArKGluY2x1ZGluZyB0aGUgYWRk cmVzcy9yZWFkL3dyaXRlIGJ5dGUpLiBUaGUgbGFzdCBkZXZpY2UgdG8gdHJhbnNtaXQNCj4gPiAr YSBkYXRhIGJ5dGUgYWxzbyB0cmFuc21pdHMgdGhlIFBFQyBieXRlLiBUaGUgbWFzdGVyIHRyYW5z bWl0cyB0aGUgUEVDDQo+ID4gK2J5dGUgYWZ0ZXIgYSB3cml0ZSB0cmFuc2FjdGlvbiwgYW5kIHRo ZSBNQVgzMTgyNyB0cmFuc21pdHMgdGhlIFBFQw0KPiBieXRlIGFmdGVyIGEgcmVhZCB0cmFuc2Fj dGlvbi4NCj4gPiArDQo+ID4gK1RoZSByZWFkIFBFQyBlcnJvciBpcyBoYW5kbGVkIGluc2lkZSB0 aGUNCj4gaTJjX3NtYnVzX3JlYWRfd29yZF9zd2FwcGVkKCkgZnVuY3Rpb24uDQo+ID4gK1RvIGNo ZWNrIGlmIHRoZSB3cml0ZSBoYWQgYW55IFBFQyBlcnJvciBhIHJlYWQgaXMgcGVyZm9ybWVkIG9u IHRoZQ0KPiA+ICtjb25maWd1cmF0aW9uIHJlZ2lzdGVyLCB0byBjaGVjayB0aGUgUEVDIEVycm9y IGJpdC4NCj4gPiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUNCj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9od21vbi9tYXgzMTgyNy5jIGIvZHJpdmVycy9od21vbi9tYXgzMTgyNy5jDQo+IGlu ZGV4DQo+ID4gNzFhZDM5MzRkZmI2Li5kYjkzNDkyMTkzYmQgMTAwNjQ0DQo+ID4gLS0tIGEvZHJp dmVycy9od21vbi9tYXgzMTgyNy5jDQo+ID4gKysrIGIvZHJpdmVycy9od21vbi9tYXgzMTgyNy5j DQo+ID4gQEAgLTExLDggKzExLDggQEANCj4gPiAgICNpbmNsdWRlIDxsaW51eC9od21vbi5oPg0K PiA+ICAgI2luY2x1ZGUgPGxpbnV4L2kyYy5oPg0KPiA+ICAgI2luY2x1ZGUgPGxpbnV4L211dGV4 Lmg+DQo+ID4gLSNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4NCj4gPiAgICNpbmNsdWRlIDxsaW51 eC9yZWd1bGF0b3IvY29uc3VtZXIuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L2h3bW9uLXN5c2Zz Lmg+DQo+ID4gICAjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+DQo+ID4NCj4gPiAgICNkZWZp bmUgTUFYMzE4MjdfVF9SRUcJCQkweDANCj4gPiBAQCAtMjQsMTEgKzI0LDEzIEBADQo+ID4NCj4g PiAgICNkZWZpbmUgTUFYMzE4MjdfQ09ORklHVVJBVElPTl8xU0hPVF9NQVNLCUJJVCgwKQ0KPiA+ ICAgI2RlZmluZSBNQVgzMTgyN19DT05GSUdVUkFUSU9OX0NOVl9SQVRFX01BU0sNCj4gCUdFTk1B U0soMywgMSkNCj4gPiArI2RlZmluZSBNQVgzMTgyN19DT05GSUdVUkFUSU9OX1BFQ19FTl9NQVNL CUJJVCg0KQ0KPiA+ICAgI2RlZmluZSBNQVgzMTgyN19DT05GSUdVUkFUSU9OX1RJTUVPVVRfTUFT SwlCSVQoNSkNCj4gPiAgICNkZWZpbmUgTUFYMzE4MjdfQ09ORklHVVJBVElPTl9SRVNPTFVUSU9O X01BU0sNCj4gCUdFTk1BU0soNywgNikNCj4gPiAgICNkZWZpbmUgTUFYMzE4MjdfQ09ORklHVVJB VElPTl9BTFJNX1BPTF9NQVNLCUJJVCg4KQ0KPiA+ICAgI2RlZmluZSBNQVgzMTgyN19DT05GSUdV UkFUSU9OX0NPTVBfSU5UX01BU0sJQklUKDkpDQo+ID4gICAjZGVmaW5lIE1BWDMxODI3X0NPTkZJ R1VSQVRJT05fRkxUX1FfTUFTSwlHRU5NQVNLKDExLCAxMCkNCj4gPiArI2RlZmluZSBNQVgzMTgy N19DT05GSUdVUkFUSU9OX1BFQ19FUlJfTUFTSwlCSVQoMTMpDQo+ID4gICAjZGVmaW5lIE1BWDMx ODI3X0NPTkZJR1VSQVRJT05fVV9URU1QX1NUQVRfTUFTSwlCSVQoMTQpDQo+ID4gICAjZGVmaW5l IE1BWDMxODI3X0NPTkZJR1VSQVRJT05fT19URU1QX1NUQVRfTUFTSwlCSVQoMTUpDQo+ID4NCj4g PiBAQCAtOTQsMjMgKzk2LDY3IEBAIHN0cnVjdCBtYXgzMTgyN19zdGF0ZSB7DQo+ID4gICAJICog UHJldmVudCBzaW11bHRhbmVvdXMgYWNjZXNzIHRvIHRoZSBpMmMgY2xpZW50Lg0KPiA+ICAgCSAq Lw0KPiA+ICAgCXN0cnVjdCBtdXRleCBsb2NrOw0KPiA+IC0Jc3RydWN0IHJlZ21hcCAqcmVnbWFw Ow0KPiA+ICAgCWJvb2wgZW5hYmxlOw0KPiA+ICAgCXVuc2lnbmVkIGludCByZXNvbHV0aW9uOw0K PiA+ICAgCXVuc2lnbmVkIGludCB1cGRhdGVfaW50ZXJ2YWw7DQo+ID4gKwlzdHJ1Y3QgaTJjX2Ns aWVudCAqY2xpZW50Ow0KPiA+ICAgfTsNCj4gPg0KPiA+IC1zdGF0aWMgY29uc3Qgc3RydWN0IHJl Z21hcF9jb25maWcgbWF4MzE4MjdfcmVnbWFwID0gew0KPiA+IC0JLnJlZ19iaXRzID0gOCwNCj4g PiAtCS52YWxfYml0cyA9IDE2LA0KPiA+IC0JLm1heF9yZWdpc3RlciA9IDB4QSwNCj4gPiAtfTsN Cj4gPiArc3RhdGljIGludCBtYXgzMTgyN19yZWdfcmVhZChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50LCB1OCByZWcsIHUxNg0KPiA+ICsqdmFsKSB7DQo+ID4gKwl1MTYgdG1wID0gaTJjX3NtYnVz X3JlYWRfd29yZF9zd2FwcGVkKGNsaWVudCwgcmVnKTsNCj4gPiArDQo+ID4gKwlpZiAodG1wIDwg MCkNCj4gDQo+IEFuIHUxNiB2YXJpYWJsZSB3aWxsIG5ldmVyIGJlIG5lZ2F0aXZlLg0KPiANCj4g PiArCQlyZXR1cm4gdG1wOw0KPiA+ICsNCj4gPiArCSp2YWwgPSB0bXA7DQo+ID4gKwlyZXR1cm4g MDsNCj4gPiArfQ0KPiANCj4gSWYgcmVnbWFwIGNhbiBpbmRlZWQgbm90IGJlIHVzZWQsIGl0IGlz IHVubmVjZXNzYXJ5IHRvIHByb3ZpZGUgYSBwb2ludGVyIHRvDQo+IHRoZSByZXR1cm4gdmFsdWUu IEluc3RlYWQsIGp1c3QgbGlrZSB3aXRoIHNtYnVzIGNhbGxzLCB0aGUgZXJyb3IgcmV0dXJuIGFu ZA0KPiB0aGUgcmV0dXJuIHZhbHVlIGNhbiBiZSBjb21iaW5lZC4gQWRkaW5nIHRoaXMgZnVuY3Rp b24ganVzdCB0byBzZXBhcmF0ZQ0KPiBlcnJvciBmcm9tIHJldHVybiB2YWx1ZSBhZGRzIHplcm8g dmFsdWUgKGFuZCwgYXMgY2FuIGJlIHNlZW4gZnJvbSB0aGUNCj4gYWJvdmUsIGFjdHVhbGx5IGFk ZHMgYW4gb3Bwb3J0dW5pdHkgdG8gaW50cm9kdWNlIGJ1Z3MpLg0KPiANCj4gPiArDQo+ID4gK3N0 YXRpYyBpbnQgbWF4MzE4MjdfcmVnX3dyaXRlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4 IHJlZywgdTE2DQo+ID4gK3ZhbCkgew0KPiA+ICsJdTE2IGNmZzsNCj4gPiArCWludCByZXQ7DQo+ ID4gKw0KPiA+ICsJcmV0ID0gaTJjX3NtYnVzX3dyaXRlX3dvcmRfc3dhcHBlZChjbGllbnQsIHJl ZywgdmFsKTsNCj4gPiArCWlmIChyZXQpDQo+ID4gKwkJcmV0dXJuIHJldDsNCj4gPiArDQo+ID4g KwkvLyBJZiBQRUMgaXMgbm90IGVuYWJsZWQsIHJldHVybiB3aXRoIHN1Y2Nlc3MNCj4gDQo+IERv IG5vdCBtaXggY29tbWVudCBzdHlsZXMuIFRoZSByZXN0IG9mIHRoZSBkcml2ZXIgZG9lc24ndCB1 c2UgQysrDQo+IGNvbW1lbnRzLg0KPiBCZXNpZGVzLCB0aGUgY29tbWVudCBkb2VzIG5vdCBhZGQg YW55IHZhbHVlLg0KPiANCj4gPiArCWlmICghKGNsaWVudC0+ZmxhZ3MgJiBJMkNfQ0xJRU5UX1BF QykpDQo+ID4gKwkJcmV0dXJuIDA7DQo+ID4gKw0KPiA+ICsJcmV0ID0gbWF4MzE4MjdfcmVnX3Jl YWQoY2xpZW50LA0KPiBNQVgzMTgyN19DT05GSUdVUkFUSU9OX1JFRywgJmNmZyk7DQo+ID4gKwlp ZiAocmV0KQ0KPiA+ICsJCXJldHVybiByZXQ7DQo+ID4gKw0KPiA+ICsJaWYgKGNmZyAmIE1BWDMx ODI3X0NPTkZJR1VSQVRJT05fUEVDX0VSUl9NQVNLKQ0KPiA+ICsJCXJldHVybiAtRUJBRE1TRzsN Cj4gPiArDQo+IA0KPiBFQkFETVNHIGlzICJOb3QgYSBkYXRhIG1lc3NhZ2UiLiBJIGRvbid0IHRo aW5rIHRoYXQgaXMgYXBwcm9wcmlhdGUgaGVyZS4NCj4gDQo+IEkgd291bGQgdmVyeSBtdWNoIHBy ZWZlcg0KPiAJaWYgKGNsaWVudC0+ZmxhZ3MgJiBJMkNfQ0xJRU5UX1BFQykgew0KPiAJCS4uLg0K PiAJfQ0KPiANCj4gPiArCXJldHVybiAwOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50 IG1heDMxODI3X3VwZGF0ZV9iaXRzKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IHJlZywN Cj4gPiArCQkJCXUxNiBtYXNrLCB1MTYgdmFsKQ0KPiA+ICt7DQo+ID4gKwl1MTYgdG1wOw0KPiA+ ICsJaW50IHJldDsNCj4gPiArDQo+ID4gKwlyZXQgPSBtYXgzMTgyN19yZWdfcmVhZChjbGllbnQs IHJlZywgJnRtcCk7DQo+ID4gKwlpZiAocmV0KQ0KPiA+ICsJCXJldHVybiByZXQ7DQo+ID4gKw0K PiA+ICsJdG1wID0gKHRtcCAmIH5tYXNrKSB8ICh2YWwgJiBtYXNrKTsNCj4gPiArCXJldCA9IG1h eDMxODI3X3JlZ193cml0ZShjbGllbnQsIHJlZywgdG1wKTsNCj4gPiArDQo+ID4gKwlyZXR1cm4g cmV0Ow0KPiA+ICt9DQo+ID4NCj4gPiAgIHN0YXRpYyBpbnQgc2h1dGRvd25fd3JpdGUoc3RydWN0 IG1heDMxODI3X3N0YXRlICpzdCwgdW5zaWduZWQgaW50IHJlZywNCj4gPiAgIAkJCSAgdW5zaWdu ZWQgaW50IG1hc2ssIHVuc2lnbmVkIGludCB2YWwpDQo+ID4gICB7DQo+ID4gLQl1bnNpZ25lZCBp bnQgY2ZnOw0KPiA+IC0JdW5zaWduZWQgaW50IGNudl9yYXRlOw0KPiA+ICsJdTE2IGNmZzsNCj4g PiArCXUxNiBjbnZfcmF0ZTsNCj4gDQo+IEkgcmVhbGx5IGRvIG5vdCBzZWUgdGhlIHBvaW50IG9m IHRob3NlIGNoYW5nZXMuIHUxNiBpcyBtb3JlIGV4cGVuc2l2ZSB0aGFuDQo+IHVuc2lnbmVkIGlu dCBvbiBtYW55IGFyY2hpdGVjdHVyZXMuIElmIHJldGFpbmVkLCB5b3UnbGwgaGF2ZSB0byBleHBs YWluIHdoeQ0KPiB0aGlzIGlzIG5lZWRlZCBhbmQgYmVuZWZpY2lhbC4NCj4gDQo+ID4gICAJaW50 IHJldDsNCj4gPg0KPiA+ICAgCS8qDQo+ID4gQEAgLTEyNSwzNCArMTcxLDM0IEBAIHN0YXRpYyBp bnQgc2h1dGRvd25fd3JpdGUoc3RydWN0DQo+IG1heDMxODI3X3N0YXRlDQo+ID4gKnN0LCB1bnNp Z25lZCBpbnQgcmVnLA0KPiA+DQo+ID4gICAJaWYgKCFzdC0+ZW5hYmxlKSB7DQo+ID4gICAJCWlm ICghbWFzaykNCj4gPiAtCQkJcmV0ID0gcmVnbWFwX3dyaXRlKHN0LT5yZWdtYXAsIHJlZywgdmFs KTsNCj4gPiArCQkJcmV0ID0gbWF4MzE4MjdfcmVnX3dyaXRlKHN0LT5jbGllbnQsIHJlZywgdmFs KTsNCj4gPiAgIAkJZWxzZQ0KPiA+IC0JCQlyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMoc3QtPnJl Z21hcCwgcmVnLCBtYXNrLA0KPiB2YWwpOw0KPiA+ICsJCQlyZXQgPSBtYXgzMTgyN191cGRhdGVf Yml0cyhzdC0+Y2xpZW50LCByZWcsDQo+IG1hc2ssIHZhbCk7DQo+ID4gICAJCWdvdG8gdW5sb2Nr Ow0KPiA+ICAgCX0NCj4gPg0KPiA+IC0JcmV0ID0gcmVnbWFwX3JlYWQoc3QtPnJlZ21hcCwNCj4g TUFYMzE4MjdfQ09ORklHVVJBVElPTl9SRUcsICZjZmcpOw0KPiA+ICsJcmV0ID0gbWF4MzE4Mjdf cmVnX3JlYWQoc3QtPmNsaWVudCwNCj4gTUFYMzE4MjdfQ09ORklHVVJBVElPTl9SRUcsDQo+ID4g KyZjZmcpOw0KPiA+ICAgCWlmIChyZXQpDQo+ID4gICAJCWdvdG8gdW5sb2NrOw0KPiA+DQo+ID4g ICAJY252X3JhdGUgPSBNQVgzMTgyN19DT05GSUdVUkFUSU9OX0NOVl9SQVRFX01BU0sgJiBjZmc7 DQo+ID4gICAJY2ZnID0gY2ZnICYgfihNQVgzMTgyN19DT05GSUdVUkFUSU9OXzFTSE9UX01BU0sg fA0KPiA+ICAgCQkgICAgICBNQVgzMTgyN19DT05GSUdVUkFUSU9OX0NOVl9SQVRFX01BU0spOw0K PiA+IC0JcmV0ID0gcmVnbWFwX3dyaXRlKHN0LT5yZWdtYXAsDQo+IE1BWDMxODI3X0NPTkZJR1VS QVRJT05fUkVHLCBjZmcpOw0KPiA+ICsJcmV0ID0gbWF4MzE4MjdfcmVnX3dyaXRlKHN0LT5jbGll bnQsDQo+IE1BWDMxODI3X0NPTkZJR1VSQVRJT05fUkVHLA0KPiA+ICtjZmcpOw0KPiA+ICAgCWlm IChyZXQpDQo+ID4gICAJCWdvdG8gdW5sb2NrOw0KPiA+DQo+ID4gICAJaWYgKCFtYXNrKQ0KPiA+ IC0JCXJldCA9IHJlZ21hcF93cml0ZShzdC0+cmVnbWFwLCByZWcsIHZhbCk7DQo+ID4gKwkJcmV0 ID0gbWF4MzE4MjdfcmVnX3dyaXRlKHN0LT5jbGllbnQsIHJlZywgdmFsKTsNCj4gPiAgIAllbHNl DQo+ID4gLQkJcmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRzKHN0LT5yZWdtYXAsIHJlZywgbWFzaywg dmFsKTsNCj4gPiArCQlyZXQgPSBtYXgzMTgyN191cGRhdGVfYml0cyhzdC0+Y2xpZW50LCByZWcs IG1hc2ssIHZhbCk7DQo+ID4NCj4gPiAgIAlpZiAocmV0KQ0KPiA+ICAgCQlnb3RvIHVubG9jazsN Cj4gPg0KPiA+IC0JcmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRzKHN0LT5yZWdtYXAsDQo+IE1BWDMx ODI3X0NPTkZJR1VSQVRJT05fUkVHLA0KPiA+IC0NCj4gTUFYMzE4MjdfQ09ORklHVVJBVElPTl9D TlZfUkFURV9NQVNLLA0KPiA+IC0JCQkJIGNudl9yYXRlKTsNCj4gPiArCXJldCA9IG1heDMxODI3 X3VwZGF0ZV9iaXRzKHN0LT5jbGllbnQsDQo+IE1BWDMxODI3X0NPTkZJR1VSQVRJT05fUkVHLA0K PiA+ICsNCj4gTUFYMzE4MjdfQ09ORklHVVJBVElPTl9DTlZfUkFURV9NQVNLLA0KPiA+ICsJCQkJ ICAgY252X3JhdGUpOw0KPiA+DQo+ID4gICB1bmxvY2s6DQo+ID4gICAJbXV0ZXhfdW5sb2NrKCZz dC0+bG9jayk7DQo+ID4gQEAgLTE5OCwxNSArMjQ0LDE2IEBAIHN0YXRpYyBpbnQgbWF4MzE4Mjdf cmVhZChzdHJ1Y3QgZGV2aWNlICpkZXYsDQo+IGVudW0gaHdtb25fc2Vuc29yX3R5cGVzIHR5cGUs DQo+ID4gICAJCQkgdTMyIGF0dHIsIGludCBjaGFubmVsLCBsb25nICp2YWwpDQo+ID4gICB7DQo+ ID4gICAJc3RydWN0IG1heDMxODI3X3N0YXRlICpzdCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0K PiA+IC0JdW5zaWduZWQgaW50IHV2YWw7DQo+ID4gKwl1MTYgdXZhbDsNCj4gPiAgIAlpbnQgcmV0 ID0gMDsNCj4gPg0KPiA+ICAgCXN3aXRjaCAodHlwZSkgew0KPiA+ICAgCWNhc2UgaHdtb25fdGVt cDoNCj4gPiAgIAkJc3dpdGNoIChhdHRyKSB7DQo+ID4gICAJCWNhc2UgaHdtb25fdGVtcF9lbmFi bGU6DQo+ID4gLQkJCXJldCA9IHJlZ21hcF9yZWFkKHN0LT5yZWdtYXAsDQo+ID4gLQ0KPiBNQVgz MTgyN19DT05GSUdVUkFUSU9OX1JFRywgJnV2YWwpOw0KPiA+ICsJCQlyZXQgPSBtYXgzMTgyN19y ZWdfcmVhZChzdC0+Y2xpZW50LA0KPiA+ICsNCj4gCU1BWDMxODI3X0NPTkZJR1VSQVRJT05fUkVH LA0KPiA+ICsJCQkJCQkmdXZhbCk7DQo+ID4gICAJCQlpZiAocmV0KQ0KPiA+ICAgCQkJCWJyZWFr Ow0KPiA+DQo+ID4gQEAgLTIyNiwxMCArMjczLDEwIEBAIHN0YXRpYyBpbnQgbWF4MzE4MjdfcmVh ZChzdHJ1Y3QgZGV2aWNlICpkZXYsDQo+IGVudW0gaHdtb25fc2Vuc29yX3R5cGVzIHR5cGUsDQo+ ID4gICAJCQkJICogYmUgY2hhbmdlZCBkdXJpbmcgdGhlIGNvbnZlcnNpb24NCj4gcHJvY2Vzcy4N Cj4gPiAgIAkJCQkgKi8NCj4gPg0KPiA+IC0JCQkJcmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRzKHN0 LT5yZWdtYXAsDQo+ID4gLQ0KPiBNQVgzMTgyN19DT05GSUdVUkFUSU9OX1JFRywNCj4gPiAtDQo+ IE1BWDMxODI3X0NPTkZJR1VSQVRJT05fMVNIT1RfTUFTSywNCj4gPiAtCQkJCQkJCSAxKTsNCj4g PiArCQkJCXJldCA9IG1heDMxODI3X3VwZGF0ZV9iaXRzKHN0LT5jbGllbnQsDQo+ID4gKw0KPiBN QVgzMTgyN19DT05GSUdVUkFUSU9OX1JFRywNCj4gPiArDQo+IE1BWDMxODI3X0NPTkZJR1VSQVRJ T05fMVNIT1RfTUFTSywNCj4gPiArCQkJCQkJCSAgIDEpOw0KPiA+ICAgCQkJCWlmIChyZXQpIHsN Cj4gPiAgIAkJCQkJbXV0ZXhfdW5sb2NrKCZzdC0+bG9jayk7DQo+ID4gICAJCQkJCXJldHVybiBy ZXQ7DQo+ID4gQEAgLTI0Niw3ICsyOTMsOCBAQCBzdGF0aWMgaW50IG1heDMxODI3X3JlYWQoc3Ry dWN0IGRldmljZSAqZGV2LA0KPiBlbnVtIGh3bW9uX3NlbnNvcl90eXBlcyB0eXBlLA0KPiA+ICAg CQkJICAgIHN0LT51cGRhdGVfaW50ZXJ2YWwgPT0gMTI1KQ0KPiA+ICAgCQkJCXVzbGVlcF9yYW5n ZSgxNTAwMCwgMjAwMDApOw0KPiA+DQo+ID4gLQkJCXJldCA9IHJlZ21hcF9yZWFkKHN0LT5yZWdt YXAsDQo+IE1BWDMxODI3X1RfUkVHLCAmdXZhbCk7DQo+ID4gKwkJCXJldCA9IG1heDMxODI3X3Jl Z19yZWFkKHN0LT5jbGllbnQsDQo+IE1BWDMxODI3X1RfUkVHLA0KPiA+ICsJCQkJCQkmdXZhbCk7 DQo+ID4NCj4gPiAgIAkJCW11dGV4X3VubG9jaygmc3QtPmxvY2spOw0KPiA+DQo+ID4gQEAgLTI1 NywyMyArMzA1LDI2IEBAIHN0YXRpYyBpbnQgbWF4MzE4MjdfcmVhZChzdHJ1Y3QgZGV2aWNlICpk ZXYsDQo+ID4gZW51bSBod21vbl9zZW5zb3JfdHlwZXMgdHlwZSwNCj4gPg0KPiA+ICAgCQkJYnJl YWs7DQo+ID4gICAJCWNhc2UgaHdtb25fdGVtcF9tYXg6DQo+ID4gLQkJCXJldCA9IHJlZ21hcF9y ZWFkKHN0LT5yZWdtYXAsDQo+IE1BWDMxODI3X1RIX1JFRywgJnV2YWwpOw0KPiA+ICsJCQlyZXQg PSBtYXgzMTgyN19yZWdfcmVhZChzdC0+Y2xpZW50LA0KPiBNQVgzMTgyN19USF9SRUcsDQo+ID4g KwkJCQkJCSZ1dmFsKTsNCj4gPiAgIAkJCWlmIChyZXQpDQo+ID4gICAJCQkJYnJlYWs7DQo+ID4N Cj4gPiAgIAkJCSp2YWwgPSBNQVgzMTgyN18xNl9CSVRfVE9fTV9ER1IodXZhbCk7DQo+ID4gICAJ CQlicmVhazsNCj4gPiAgIAkJY2FzZSBod21vbl90ZW1wX21heF9oeXN0Og0KPiA+IC0JCQlyZXQg PSByZWdtYXBfcmVhZChzdC0+cmVnbWFwLA0KPiBNQVgzMTgyN19USF9IWVNUX1JFRywNCj4gPiAt CQkJCQkgICZ1dmFsKTsNCj4gPiArCQkJcmV0ID0gbWF4MzE4MjdfcmVnX3JlYWQoc3QtPmNsaWVu dCwNCj4gPiArDQo+IAlNQVgzMTgyN19USF9IWVNUX1JFRywNCj4gPiArCQkJCQkJJnV2YWwpOw0K PiA+ICAgCQkJaWYgKHJldCkNCj4gPiAgIAkJCQlicmVhazsNCj4gPg0KPiA+ICAgCQkJKnZhbCA9 IE1BWDMxODI3XzE2X0JJVF9UT19NX0RHUih1dmFsKTsNCj4gPiAgIAkJCWJyZWFrOw0KPiA+ICAg CQljYXNlIGh3bW9uX3RlbXBfbWF4X2FsYXJtOg0KPiA+IC0JCQlyZXQgPSByZWdtYXBfcmVhZChz dC0+cmVnbWFwLA0KPiA+IC0NCj4gTUFYMzE4MjdfQ09ORklHVVJBVElPTl9SRUcsICZ1dmFsKTsN Cj4gPiArCQkJcmV0ID0gbWF4MzE4MjdfcmVnX3JlYWQoc3QtPmNsaWVudCwNCj4gPiArDQo+IAlN QVgzMTgyN19DT05GSUdVUkFUSU9OX1JFRywNCj4gPiArCQkJCQkJJnV2YWwpOw0KPiA+ICAgCQkJ aWYgKHJldCkNCj4gPiAgIAkJCQlicmVhazsNCj4gPg0KPiA+IEBAIC0yODEsMjMgKzMzMiwyNSBA QCBzdGF0aWMgaW50IG1heDMxODI3X3JlYWQoc3RydWN0IGRldmljZSAqZGV2LA0KPiBlbnVtIGh3 bW9uX3NlbnNvcl90eXBlcyB0eXBlLA0KPiA+ICAgCQkJCQkgdXZhbCk7DQo+ID4gICAJCQlicmVh azsNCj4gPiAgIAkJY2FzZSBod21vbl90ZW1wX21pbjoNCj4gPiAtCQkJcmV0ID0gcmVnbWFwX3Jl YWQoc3QtPnJlZ21hcCwNCj4gTUFYMzE4MjdfVExfUkVHLCAmdXZhbCk7DQo+ID4gKwkJCXJldCA9 IG1heDMxODI3X3JlZ19yZWFkKHN0LT5jbGllbnQsDQo+IE1BWDMxODI3X1RMX1JFRywNCj4gPiAr CQkJCQkJJnV2YWwpOw0KPiA+ICAgCQkJaWYgKHJldCkNCj4gPiAgIAkJCQlicmVhazsNCj4gPg0K PiA+ICAgCQkJKnZhbCA9IE1BWDMxODI3XzE2X0JJVF9UT19NX0RHUih1dmFsKTsNCj4gPiAgIAkJ CWJyZWFrOw0KPiA+ICAgCQljYXNlIGh3bW9uX3RlbXBfbWluX2h5c3Q6DQo+ID4gLQkJCXJldCA9 IHJlZ21hcF9yZWFkKHN0LT5yZWdtYXAsDQo+IE1BWDMxODI3X1RMX0hZU1RfUkVHLA0KPiA+IC0J CQkJCSAgJnV2YWwpOw0KPiA+ICsJCQlyZXQgPSBtYXgzMTgyN19yZWdfcmVhZChzdC0+Y2xpZW50 LA0KPiBNQVgzMTgyN19UTF9IWVNUX1JFRywNCj4gPiArCQkJCQkJJnV2YWwpOw0KPiA+ICAgCQkJ aWYgKHJldCkNCj4gPiAgIAkJCQlicmVhazsNCj4gPg0KPiA+ICAgCQkJKnZhbCA9IE1BWDMxODI3 XzE2X0JJVF9UT19NX0RHUih1dmFsKTsNCj4gPiAgIAkJCWJyZWFrOw0KPiA+ICAgCQljYXNlIGh3 bW9uX3RlbXBfbWluX2FsYXJtOg0KPiA+IC0JCQlyZXQgPSByZWdtYXBfcmVhZChzdC0+cmVnbWFw LA0KPiA+IC0NCj4gTUFYMzE4MjdfQ09ORklHVVJBVElPTl9SRUcsICZ1dmFsKTsNCj4gPiArCQkJ cmV0ID0gbWF4MzE4MjdfcmVnX3JlYWQoc3QtPmNsaWVudCwNCj4gPiArDQo+IAlNQVgzMTgyN19D T05GSUdVUkFUSU9OX1JFRywNCj4gPiArCQkJCQkJJnV2YWwpOw0KPiA+ICAgCQkJaWYgKHJldCkN Cj4gPiAgIAkJCQlicmVhazsNCj4gPg0KPiA+IEBAIC0zMTMsOCArMzY2LDkgQEAgc3RhdGljIGlu dCBtYXgzMTgyN19yZWFkKHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gZW51bQ0KPiA+IGh3bW9uX3Nl bnNvcl90eXBlcyB0eXBlLA0KPiA+DQo+ID4gICAJY2FzZSBod21vbl9jaGlwOg0KPiA+ICAgCQlp ZiAoYXR0ciA9PSBod21vbl9jaGlwX3VwZGF0ZV9pbnRlcnZhbCkgew0KPiA+IC0JCQlyZXQgPSBy ZWdtYXBfcmVhZChzdC0+cmVnbWFwLA0KPiA+IC0NCj4gTUFYMzE4MjdfQ09ORklHVVJBVElPTl9S RUcsICZ1dmFsKTsNCj4gPiArCQkJcmV0ID0gbWF4MzE4MjdfcmVnX3JlYWQoc3QtPmNsaWVudCwN Cj4gPiArDQo+IAlNQVgzMTgyN19DT05GSUdVUkFUSU9OX1JFRywNCj4gPiArCQkJCQkJJnV2YWwp Ow0KPiA+ICAgCQkJaWYgKHJldCkNCj4gPiAgIAkJCQlicmVhazsNCj4gPg0KPiA+IEBAIC0zNTUs MTEgKzQwOSwxMSBAQCBzdGF0aWMgaW50IG1heDMxODI3X3dyaXRlKHN0cnVjdCBkZXZpY2UgKmRl diwNCj4gPiBlbnVtIGh3bW9uX3NlbnNvcl90eXBlcyB0eXBlLA0KPiA+DQo+ID4gICAJCQlzdC0+ ZW5hYmxlID0gdmFsOw0KPiA+DQo+ID4gLQkJCXJldCA9IHJlZ21hcF91cGRhdGVfYml0cyhzdC0+ cmVnbWFwLA0KPiA+IC0NCj4gTUFYMzE4MjdfQ09ORklHVVJBVElPTl9SRUcsDQo+ID4gLQ0KPiBN QVgzMTgyN19DT05GSUdVUkFUSU9OXzFTSE9UX01BU0sgfA0KPiA+IC0NCj4gTUFYMzE4MjdfQ09O RklHVVJBVElPTl9DTlZfUkFURV9NQVNLLA0KPiA+IC0NCj4gTUFYMzE4MjdfREVWSUNFX0VOQUJM RSh2YWwpKTsNCj4gPiArCQkJcmV0ID0gbWF4MzE4MjdfdXBkYXRlX2JpdHMoc3QtPmNsaWVudCwN Cj4gPiArDQo+IE1BWDMxODI3X0NPTkZJR1VSQVRJT05fUkVHLA0KPiA+ICsNCj4gTUFYMzE4Mjdf Q09ORklHVVJBVElPTl8xU0hPVF9NQVNLIHwNCj4gPiArDQo+IE1BWDMxODI3X0NPTkZJR1VSQVRJ T05fQ05WX1JBVEVfTUFTSywNCj4gPiArDQo+IE1BWDMxODI3X0RFVklDRV9FTkFCTEUodmFsKSk7 DQo+ID4NCj4gPiAgIAkJCW11dGV4X3VubG9jaygmc3QtPmxvY2spOw0KPiA+DQo+ID4gQEAgLTQw MiwxMCArNDU2LDEwIEBAIHN0YXRpYyBpbnQgbWF4MzE4Mjdfd3JpdGUoc3RydWN0IGRldmljZSAq ZGV2LA0KPiBlbnVtIGh3bW9uX3NlbnNvcl90eXBlcyB0eXBlLA0KPiA+ICAgCQkJcmVzID0NCj4g RklFTERfUFJFUChNQVgzMTgyN19DT05GSUdVUkFUSU9OX0NOVl9SQVRFX01BU0ssDQo+ID4gICAJ CQkJCSByZXMpOw0KPiA+DQo+ID4gLQkJCXJldCA9IHJlZ21hcF91cGRhdGVfYml0cyhzdC0+cmVn bWFwLA0KPiA+IC0NCj4gTUFYMzE4MjdfQ09ORklHVVJBVElPTl9SRUcsDQo+ID4gLQ0KPiBNQVgz MTgyN19DT05GSUdVUkFUSU9OX0NOVl9SQVRFX01BU0ssDQo+ID4gLQkJCQkJCSByZXMpOw0KPiA+ ICsJCQlyZXQgPSBtYXgzMTgyN191cGRhdGVfYml0cyhzdC0+Y2xpZW50LA0KPiA+ICsNCj4gTUFY MzE4MjdfQ09ORklHVVJBVElPTl9SRUcsDQo+ID4gKw0KPiBNQVgzMTgyN19DT05GSUdVUkFUSU9O X0NOVl9SQVRFX01BU0ssDQo+ID4gKwkJCQkJCSAgIHJlcyk7DQo+ID4gICAJCQlpZiAocmV0KQ0K PiA+ICAgCQkJCXJldHVybiByZXQ7DQo+ID4NCj4gPiBAQCAtNDI1LDEwICs0NzksMTAgQEAgc3Rh dGljIHNzaXplX3QgdGVtcDFfcmVzb2x1dGlvbl9zaG93KHN0cnVjdA0KPiBkZXZpY2UgKmRldiwN Cj4gPiAgIAkJCQkgICAgIGNoYXIgKmJ1ZikNCj4gPiAgIHsNCj4gPiAgIAlzdHJ1Y3QgbWF4MzE4 Mjdfc3RhdGUgKnN0ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gLQl1bnNpZ25lZCBpbnQg dmFsOw0KPiA+ICsJdTE2IHZhbDsNCj4gPiAgIAlpbnQgcmV0Ow0KPiA+DQo+ID4gLQlyZXQgPSBy ZWdtYXBfcmVhZChzdC0+cmVnbWFwLA0KPiBNQVgzMTgyN19DT05GSUdVUkFUSU9OX1JFRywgJnZh bCk7DQo+ID4gKwlyZXQgPSBtYXgzMTgyN19yZWdfcmVhZChzdC0+Y2xpZW50LA0KPiBNQVgzMTgy N19DT05GSUdVUkFUSU9OX1JFRywNCj4gPiArJnZhbCk7DQo+ID4gICAJaWYgKHJldCkNCj4gPiAg IAkJcmV0dXJuIHJldDsNCj4gPg0KPiA+IEBAIC00NzMsMTAgKzUyNyw2MyBAQCBzdGF0aWMgc3Np emVfdCB0ZW1wMV9yZXNvbHV0aW9uX3N0b3JlKHN0cnVjdA0KPiBkZXZpY2UgKmRldiwNCj4gPiAg IAlyZXR1cm4gcmV0ID8gcmV0IDogY291bnQ7DQo+ID4gICB9DQo+ID4NCj4gPiArc3RhdGljIHNz aXplX3QgcGVjX3Nob3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0 ZQ0KPiAqZGV2YXR0ciwNCj4gPiArCQkJY2hhciAqYnVmKQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3Qg bWF4MzE4Mjdfc3RhdGUgKnN0ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKwlzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50ID0gc3QtPmNsaWVudDsNCj4gPiArDQo+ID4gKwlyZXR1cm4gc2Nu cHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJWRcbiIsICEhKGNsaWVudC0+ZmxhZ3MgJg0KPiA+ICtJ MkNfQ0xJRU5UX1BFQykpOyB9DQo+ID4gKw0KPiA+ICtzdGF0aWMgc3NpemVfdCBwZWNfc3RvcmUo c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZQ0KPiAqZGV2YXR0ciwN Cj4gPiArCQkJIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50KQ0KPiA+ICt7DQo+ID4gKwlz dHJ1Y3QgbWF4MzE4Mjdfc3RhdGUgKnN0ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKwlz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50ID0gc3QtPmNsaWVudDsNCj4gPiArCXVuc2lnbmVkIGlu dCB2YWw7DQo+ID4gKwl1MTYgdmFsMjsNCj4gPiArCWludCBlcnI7DQo+ID4gKw0KPiA+ICsJZXJy ID0ga3N0cnRvdWludChidWYsIDEwLCAmdmFsKTsNCj4gPiArCWlmIChlcnIgPCAwKQ0KPiA+ICsJ CXJldHVybiBlcnI7DQo+ID4gKw0KPiA+ICsJdmFsMiA9IEZJRUxEX1BSRVAoTUFYMzE4MjdfQ09O RklHVVJBVElPTl9QRUNfRU5fTUFTSywNCj4gdmFsKTsNCj4gPiArDQo+ID4gKwlpZiAoZXJyKQ0K PiA+ICsJCXJldHVybiBlcnI7DQo+ID4gKw0KPiA+ICsJc3dpdGNoICh2YWwpIHsNCj4gPiArCWNh c2UgMDoNCj4gPiArCQljbGllbnQtPmZsYWdzICY9IH5JMkNfQ0xJRU5UX1BFQzsNCj4gPiArCQll cnIgPSBtYXgzMTgyN191cGRhdGVfYml0cyhjbGllbnQsDQo+IE1BWDMxODI3X0NPTkZJR1VSQVRJ T05fUkVHLA0KPiA+ICsNCj4gTUFYMzE4MjdfQ09ORklHVVJBVElPTl9QRUNfRU5fTUFTSywNCj4g PiArCQkJCQkgICB2YWwyKTsNCj4gPiArCQlpZiAoZXJyKQ0KPiA+ICsJCQlyZXR1cm4gZXJyOw0K PiA+ICsJCWJyZWFrOw0KPiA+ICsJY2FzZSAxOg0KPiA+ICsJCWVyciA9IG1heDMxODI3X3VwZGF0 ZV9iaXRzKGNsaWVudCwNCj4gTUFYMzE4MjdfQ09ORklHVVJBVElPTl9SRUcsDQo+ID4gKw0KPiBN QVgzMTgyN19DT05GSUdVUkFUSU9OX1BFQ19FTl9NQVNLLA0KPiA+ICsJCQkJCSAgIHZhbDIpOw0K PiA+ICsJCWlmIChlcnIpDQo+ID4gKwkJCXJldHVybiBlcnI7DQo+ID4gKwkJY2xpZW50LT5mbGFn cyB8PSBJMkNfQ0xJRU5UX1BFQzsNCj4gPiArCQlicmVhazsNCj4gPiArCWRlZmF1bHQ6DQo+ID4g KwkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJcmV0dXJuIGNvdW50Ow0K PiA+ICt9DQo+ID4gKw0KPiA+ICAgc3RhdGljIERFVklDRV9BVFRSX1JXKHRlbXAxX3Jlc29sdXRp b24pOw0KPiA+ICtzdGF0aWMgREVWSUNFX0FUVFJfUlcocGVjKTsNCj4gPg0KPiA+ICAgc3RhdGlj IHN0cnVjdCBhdHRyaWJ1dGUgKm1heDMxODI3X2F0dHJzW10gPSB7DQo+ID4gICAJJmRldl9hdHRy X3RlbXAxX3Jlc29sdXRpb24uYXR0ciwNCj4gPiArCSZkZXZfYXR0cl9wZWMuYXR0ciwNCj4gPiAg IAlOVUxMDQo+ID4gICB9Ow0KPiA+ICAgQVRUUklCVVRFX0dST1VQUyhtYXgzMTgyNyk7DQo+ID4g QEAgLTQ4OSw5ICs1OTYsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQNCj4g bWF4MzE4MjdfaTJjX2lkc1tdID0gew0KPiA+ICAgfTsNCj4gPiAgIE1PRFVMRV9ERVZJQ0VfVEFC TEUoaTJjLCBtYXgzMTgyN19pMmNfaWRzKTsNCj4gPg0KPiA+IC1zdGF0aWMgaW50IG1heDMxODI3 X2luaXRfY2xpZW50KHN0cnVjdCBtYXgzMTgyN19zdGF0ZSAqc3QsDQo+ID4gLQkJCQlzdHJ1Y3Qg ZGV2aWNlICpkZXYpDQo+ID4gK3N0YXRpYyBpbnQgbWF4MzE4MjdfaW5pdF9jbGllbnQoc3RydWN0 IG1heDMxODI3X3N0YXRlICpzdCkNCj4gPiAgIHsNCj4gPiArCXN0cnVjdCBkZXZpY2UgKmRldiA9 ICZzdC0+Y2xpZW50LT5kZXY7DQo+IA0KPiBOb3cgd2UgYXJlIGFic29sdXRlbHkgZG93biB0byBw ZXJzb25hbCBwcmVmZXJlbmNlIGNoYW5nZXMuDQo+IEkgYW0gbm90IGF0IGFsbCBpbmNsaW5lZCB0 byBhY2NlcHQgc3VjaCBjaGFuZ2VzLCBzb3JyeS4NCj4gDQo+IEluY2x1ZGluZyBzdWNoIGNoYW5n ZXMgbWVhbnMgSSdsbCBoYXZlIHRvIHB1dCBleHRyYSBzY3J1dGlueSBvbiB5b3VyIHBhdGNoDQo+ IHN1Ym1pc3Npb25zIGluIHRoZSBmdXR1cmUgdG8gZW5zdXJlIHRoYXQgeW91IGRvbid0IHRyeSB0 byBzbmVhayBpbiBzaW1pbGFyDQo+IGNoYW5nZXMsIHdoaWNoIEkgZmluZCBxdWl0ZSBmcnVzdHJh dGluZy4gSXMgdGhhdCByZWFsbHkgbmVjZXNzYXJ5ID8NCj4gDQo+IEd1ZW50ZXINCj4gDQo+ID4g ICAJc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmZ3bm9kZTsNCj4gPiAgIAl1bnNpZ25lZCBpbnQgcmVz ID0gMDsNCj4gPiAgIAl1MzIgZGF0YSwgbHNiX2lkeDsNCj4gPiBAQCAtNTc1LDcgKzY4Miw3IEBA IHN0YXRpYyBpbnQgbWF4MzE4MjdfaW5pdF9jbGllbnQoc3RydWN0DQo+IG1heDMxODI3X3N0YXRl ICpzdCwNCj4gPiAgIAkJfQ0KPiA+ICAgCX0NCj4gPg0KPiA+IC0JcmV0dXJuIHJlZ21hcF93cml0 ZShzdC0+cmVnbWFwLA0KPiBNQVgzMTgyN19DT05GSUdVUkFUSU9OX1JFRywgcmVzKTsNCj4gPiAr CXJldHVybiBtYXgzMTgyN19yZWdfd3JpdGUoc3QtPmNsaWVudCwNCj4gTUFYMzE4MjdfQ09ORklH VVJBVElPTl9SRUcsDQo+ID4gK3Jlcyk7DQo+ID4gICB9DQo+ID4NCj4gPiAgIHN0YXRpYyBjb25z dCBzdHJ1Y3QgaHdtb25fY2hhbm5lbF9pbmZvICptYXgzMTgyN19pbmZvW10gPSB7IEBADQo+ID4g LTYxMywxNyArNzIwLDEzIEBAIHN0YXRpYyBpbnQgbWF4MzE4MjdfcHJvYmUoc3RydWN0IGkyY19j bGllbnQNCj4gKmNsaWVudCkNCj4gPiAgIAkJcmV0dXJuIC1FTk9NRU07DQo+ID4NCj4gPiAgIAlt dXRleF9pbml0KCZzdC0+bG9jayk7DQo+ID4gLQ0KPiA+IC0Jc3QtPnJlZ21hcCA9IGRldm1fcmVn bWFwX2luaXRfaTJjKGNsaWVudCwNCj4gJm1heDMxODI3X3JlZ21hcCk7DQo+ID4gLQlpZiAoSVNf RVJSKHN0LT5yZWdtYXApKQ0KPiA+IC0JCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgUFRSX0VS UihzdC0+cmVnbWFwKSwNCj4gPiAtCQkJCSAgICAgIkZhaWxlZCB0byBhbGxvY2F0ZSByZWdtYXAu XG4iKTsNCj4gPiArCXN0LT5jbGllbnQgPSBjbGllbnQ7DQo+ID4NCj4gPiAgIAllcnIgPSBkZXZt X3JlZ3VsYXRvcl9nZXRfZW5hYmxlKGRldiwgInZyZWYiKTsNCj4gPiAgIAlpZiAoZXJyKQ0KPiA+ ICAgCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYsIGVyciwgImZhaWxlZCB0byBlbmFibGUNCj4g cmVndWxhdG9yXG4iKTsNCj4gPg0KPiA+IC0JZXJyID0gbWF4MzE4MjdfaW5pdF9jbGllbnQoc3Qs IGRldik7DQo+ID4gKwllcnIgPSBtYXgzMTgyN19pbml0X2NsaWVudChzdCk7DQo+ID4gICAJaWYg KGVycikNCj4gPiAgIAkJcmV0dXJuIGVycjsNCj4gPg0KDQo=