From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) (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 2B9004084E; Tue, 20 Aug 2024 07:06:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.14 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724137576; cv=fail; b=I1dHuzcmKgYwXnKtCdWmij2dikixAeCEkDleuRuhqyQ+ULK2XWNaOtJSP/lkclTNGmSB49iKtjoZMRh4UYVIO8Uep6aDn2bZCJ5BxZTDY1HSynTv4nJZkkB8uSxIZ85CzX6d9Arxr/6fUmFV/sSByejd+XzPwDTY1qsZkBXvWXM= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724137576; c=relaxed/simple; bh=AVaI6YQatvi4sY5iz+E3r5Yk5HEzI8USzcDJzzPvqQM=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=PDB22Y0sHC7jLjhBY967D49/hjs/ebnbx7lEb4MbUMZXjOhAG2UA7Y9tltqZuVYLnDMgduiFS8Miwc6v5cay2hFM9SGE5Mn6WNT0aA18NgSa18WxlL1hIvJUzbQ/PjhKWn7ZehngmqWi08bR9N2RESmfBSAqs9iMQh7yuzMuUF4= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=BsauF6tl; arc=fail smtp.client-ip=198.175.65.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="BsauF6tl" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1724137574; x=1755673574; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=AVaI6YQatvi4sY5iz+E3r5Yk5HEzI8USzcDJzzPvqQM=; b=BsauF6tlo05Xy98tV+XR7YsWI68WWkyEA1L3w+nYCLTgk/zE1y8fI9fI KZDxnTisSuLLwCzUeWMqsYQEx77/5hHAttbJwzqVsQCDRaFAiOmNCCGAi IeJlg+cbZomIf5UXIu/s8qBSavHjVDtHpt6w8/aoJX5psrycSiiB/Ln1Z rz56padYMDEOqHKcDffWFYjSCsljy2Qbk3jiQwEW2OnBLICleBp/B3xSh uuZDi/AXFPckfafJouPab6LRaC0/kM0vtipndZC0GQxzbmBFXdwGgIrN/ jXv4IFTz61przNI+/LzOjlxjxrhe2TVUPWjYdXMyibZJ/hjQO5PVivHWa g==; X-CSE-ConnectionGUID: WMFzPyM5S5GO22VGSbnH/Q== X-CSE-MsgGUID: OSySxbCrRrmtjVtRhV0j+A== X-IronPort-AV: E=McAfee;i="6700,10204,11169"; a="26215843" X-IronPort-AV: E=Sophos;i="6.10,161,1719903600"; d="scan'208";a="26215843" Received: from orviesa003.jf.intel.com ([10.64.159.143]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Aug 2024 00:06:13 -0700 X-CSE-ConnectionGUID: 3znu9U/NS92D3rKvuv0Kcg== X-CSE-MsgGUID: 6jFiaaqQT1KluKTSsX9WPQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,161,1719903600"; d="scan'208";a="65453383" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orviesa003.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 20 Aug 2024 00:06:13 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 20 Aug 2024 00:06:12 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Tue, 20 Aug 2024 00:06:12 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.173) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 20 Aug 2024 00:06:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ryqEO9FiacUHcz3li17FJmEe+S6q16K9BIyTAaPLH8lWRntNqK+0FNeyazXe/dopuGt3HX8LjSx38f28hMEVdc0noQ3bNko7fkMpeIzc9RKjZy9awOUul6o/k6g4Jitx7IlsBSzXplqhPhy2krFhqjAiRZ5Fhf/zrqX6ujy2aWMMeC16uMQ/H0udEQTr2f6SZMYOTZ9Gk7imyevak2M97i5NK0XD20ZM8hx8XF0AAs79Ha5d9TLy4ZTgZO67YlxpcMg3RooGlG6gSvNX20gguP5kxVGYfI4cD93XZJ2oHLH44sHDG4V1NNFaUoqEcGRyJd0ntEWIbHoRAwTujb7K8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=AVaI6YQatvi4sY5iz+E3r5Yk5HEzI8USzcDJzzPvqQM=; b=rXE5AZm/4eDPTlY/pcfv6rish70Tjwem/KjkPpLChGEpJoFfQvkaYURcGKYLhiF3KMg4rI0TqTxZJXK4T7cGE0Et1lWxvx0k1RxTN6FwcfIB9l+FUbRVvtZFuQ9M3h7C6WQaVn9fSLpLiMQyGj4ufJux4O8dw0ybOaSQXHJWAF5UZ5QNT/Gp8MP6PNxaS6oLnqHKaz11thsrd5+fdWDXvlo72zez7JsJovKdwIi9RU95iHrPtox0CnqeCcEscJycBEkENdPT6UkdezNgjFqKOGYQPLkSVZ/kOL8dd16uLAu2uCixZJ7LOcxFyqcmu99o5BmWcla8ooueXMZXk3mV5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SJ0PR11MB6622.namprd11.prod.outlook.com (2603:10b6:a03:478::6) by PH0PR11MB5125.namprd11.prod.outlook.com (2603:10b6:510:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.20; Tue, 20 Aug 2024 07:06:04 +0000 Received: from SJ0PR11MB6622.namprd11.prod.outlook.com ([fe80::727d:4413:2b65:8b3d]) by SJ0PR11MB6622.namprd11.prod.outlook.com ([fe80::727d:4413:2b65:8b3d%4]) with mapi id 15.20.7875.019; Tue, 20 Aug 2024 07:06:04 +0000 From: "Zhang, Rui" To: "linux-pm@vger.kernel.org" , "rjw@rjwysocki.net" CC: "lukasz.luba@arm.com" , "linux-kernel@vger.kernel.org" , "daniel.lezcano@linaro.org" Subject: Re: [PATCH v3 06/14] thermal: core: Introduce .should_bind() thermal zone callback Thread-Topic: [PATCH v3 06/14] thermal: core: Introduce .should_bind() thermal zone callback Thread-Index: AQHa8lKtJzsaFNQi80OpQwyn7xcIv7IvujCA Date: Tue, 20 Aug 2024 07:06:04 +0000 Message-ID: <6455a53ba12c090b6ed0048491457af104bf914d.camel@intel.com> References: <2205737.irdbgypaU6@rjwysocki.net> <9334403.CDJkKcVGEf@rjwysocki.net> In-Reply-To: <9334403.CDJkKcVGEf@rjwysocki.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4-0ubuntu2 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR11MB6622:EE_|PH0PR11MB5125:EE_ x-ms-office365-filtering-correlation-id: 8c8cb616-8a80-45c9-9a52-08dcc0e68e7d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?RkRyWFhuRTNFTzFWMkx4QnlEUkJsYnFDeWI2c3U4L0xDU1I1OU96Q1d6UmZq?= =?utf-8?B?dGpSZ3dOQy9xMHllbU5VVUdtdTRQU1lnaHVZRXJsWnhGSUkxdmRyU1U5UHdm?= =?utf-8?B?cjMxQUh3ZEt1Z1c2R1cvQ2FDNGxHZjA0ODE3OTMrVDA0dHJidXY5bHQyVGdY?= =?utf-8?B?R1I4SWswUjUwN2pWTDhZT1ZCU0xqbWRFYWxtMUdBSzk5K0ZzdU43OEk1Q2NJ?= =?utf-8?B?Z0ZUb1lTMWI2d3BjRmRxWndOUlF6V0NsZ1VLVFdud2l1cW91aldvcHBtalpZ?= =?utf-8?B?L281OExmNGhhaWZCV1cyRlE2cXFJTE9PTDNQV1ZGUmJRWHBlbjFDUjIyRGho?= =?utf-8?B?YW96NWtWYzNoYzBZSG4xbUxtbE5qOWZxbHdsSG13cG8wTGE2M3g1QTdHdXUz?= =?utf-8?B?K3owT3E3cEhJZHZPVlFDbjRRZ1BnaDd3Titjb2ZsNE4yQzFRZ1Y5MWlVRG1s?= =?utf-8?B?bDV0NHFGZjFUZVkyOEUvMy8vQzFNMFJrVmo4VVpwWTZNOXlaVmFsS01rQkh4?= =?utf-8?B?WmMyL29qVEt5clBJZGJWOGdpNzI5bm9QaWZIRkFQV3ZRSys1QjNQRjRMUTBV?= =?utf-8?B?TW13Y1dkZHVwMlN6QzN2ZEpMMCtXa2lBREdsUXpTU3gyVlJKRUNYQUltQzhD?= =?utf-8?B?MWlZWVY0dnpRRTJGSTY3WVBhcFVKbG4wZU4rQ1BWbXVUMzJNTGpySXc3RGtp?= =?utf-8?B?dUh3RndvcFBZN1FrVWZVc0hhZkV1TGh5dmRBSU9ZKzFwdm4wTlVOZU9DWm01?= =?utf-8?B?ZWZJSEVEK2o3R2RzSmVteU1TQ2tVNnVpOUExV0JhdkpQeGozOTM3WktrcXE2?= =?utf-8?B?NnpNUzVhT0JGeTFYcjlZVnFQWlNyUWN0Rm5TZzNKZ2tiQUxqNlBNcE1BZlhJ?= =?utf-8?B?emVXZzBBcTVFN1dLMGZsUlpMUlU3WjM5ZEpoc2VrY05oSXpiYUNIUjc2c3Z0?= =?utf-8?B?TjBIeDdWQ1pSa2FobUx2NVpwNWl6eXN2eUY2c3FOclNQM1VLSmlaREVNd1ZV?= =?utf-8?B?akpmR29CcS9HR1lWQjZ1S1N3TW9VZmdibWhJejJNNHF3YW1qMzJtMjkrelN1?= =?utf-8?B?akM0Q2xxU0Z5dHEyTFlnRkpPNEk2aUEzVUZQUXJTSnVXNEJVa29ReENqQk4v?= =?utf-8?B?c2JNa0xZbTZVU2paNzdiSkMrK29lN1FKWVpVc2xLUHUvRmgxNzUvNE8zMmN0?= =?utf-8?B?UUVRaHAvaS9vTEpybHJmcTc2U2doZHlRb0tFSTNIZTlrRnBUZjVtUVJOVHJP?= =?utf-8?B?dmcrYWFKZzdPczB3MUpwbGYzdmFWZytGeGF0eUJPTkd5QWRqM2Q2dGhzczV4?= =?utf-8?B?SGx5N2tyWjRWUU5qZmRycERXZ2VBd0dyZUFHVys0RFlyeThzSmxzTmhiaDhm?= =?utf-8?B?bWpVSU51ZTE5ZUtqempXbS9Qdnd0STBhN2w0OURUM1ovcEJBbTZHcmtuVkhS?= =?utf-8?B?MHJLR2g0QXRBd3FGSHhTRVFtTytOMEUyZ1MvK3dnNndPcmdsS0tLYTljOThY?= =?utf-8?B?aHFEWjNwZ2J3SzFoc2NobUNmcmlUL2RXQ0NuT0xEUGNabGxIQTcvNk1KZUVM?= =?utf-8?B?anVzb0hwaUM1N05pOGV2WDJHRERWbnYzVE1MbVdTRlIvZGRYR0ZkamhlVVJj?= =?utf-8?B?c0hrTWVncFBsSUlZelpoZmY2OVNhT3ZWbWJRS1hoYUV6OTFNc3lONVpIT1dR?= =?utf-8?B?V3MzbzlkOTdjNTdsTXZldkxPOGJPYzU2eUlmSldhQllSS3hvZmJJWWpibzRZ?= =?utf-8?B?c2ViRitaaEFNc3kxUEtDaERESlkxZXAyMGtldjRzcVExaFloQ01BL2x4Ky9W?= =?utf-8?Q?W53/9Y6ISuy+fksTIAvZcWYSaEoZJc0ouasBw=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB6622.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aTJYUFhucTI0d21Vd0tvK0RWdzUyRkNWU01ISjZENjdXRkdydVNYeEtEMVRm?= =?utf-8?B?TkxhdlFKY3NKVHJpQ2dHSEh3OXpYK0RnOTh0eDBMM3laL214K1BOaDh1VTZ4?= =?utf-8?B?Y2V5WTBCbTl5SmI4d21ON3Nwa1ZHRVhudEwxZ3E5OG5iOWlSSlpqOEMybU5Y?= =?utf-8?B?RHVpa1hDOVUxRFBESDZaUkloWXQreSs4eWJPa082dnVRWWY2NklXRkE4eUhr?= =?utf-8?B?VkJyTDVBMkpIeDBKM2Uzc2tsZGE0bFRzTFVVK1hDSVdHZCs0QkJ2bjMvUVda?= =?utf-8?B?UEgwU3pUNUZJSzREUkFOZU9QZ2swYUlIMittM3F4RXNJMnpZZU5IV1hLUmcy?= =?utf-8?B?cnluYnpMUmIrSmRFajA2eDhCTzJuaUthTm9JNVJ5S09ZNkNkbzlrejVaSnkr?= =?utf-8?B?Ri9NYlZIVG9qdENpN1o5UmZJUnVabEtITC9HNXUzcG5KempBSG9aTWhJU3l5?= =?utf-8?B?MUNkbmRVK2lSYllTRjVCVHd4OGVXVFErM3ZSa3NYeWx0UXQzazVQeXY2QlFY?= =?utf-8?B?QXE2N1MraFJBb28yQjJiQW11aVFGaEo4R045bjMvczcwdXJIdkE0T1hRU1pQ?= =?utf-8?B?ODZtdmZDTFZYdkVGcnVnNGJMcSt3Y3hodUpUa2RLMFNmSEErYjVoNzd5UGFW?= =?utf-8?B?ODY0dWF4ZTl5dGoxRTVGZkdJS3lleTBjSEVobDYxeWV3ZWtSZ3FKaTJvcHZi?= =?utf-8?B?d1hGR3ZmM2FENnlkQk5PNlQ5NUFieWY4WHg3aXhDOUJJVEI5Si9LZEl6bTdH?= =?utf-8?B?R0x0SnFXSjlWYlpGUE4xYkJpbWdJOEVHMFhBSldqQ1k0Lzc2a0xvK0F3UWcv?= =?utf-8?B?djBLRmxHeW8yQno2c243dVZUR21XVGNmdW8wYVZSL1REdTY5dHU1c3ZZbFdC?= =?utf-8?B?bjRCdVV6VURMWHlKUlk2OFg5dWNRZU9rUVZpRmsvQkpOZWlaMThNam12Y2N4?= =?utf-8?B?WXhNVnBVYVh5cUF4dTNHTTduanRMSWV0Z1FVNDNHbGVkOGpCUjZ6L0R6eWFo?= =?utf-8?B?cjZIaFMrYkNIbFU3R1ljRk8vSytzU3RWU29LRDJxVlVVaHRISE9WUVB4TE5L?= =?utf-8?B?MEc3YXBmQXVRV3RieGdnM2U1YVh6c2hObHIzN2d1YkhaZDNFY29KSnFyVERk?= =?utf-8?B?YTVHZzBySGREU0Y0dldMU0tmb0YvQzRRZUNzS3d6cjNKWDg1YVBIbTlTVDYw?= =?utf-8?B?VUptdU9yZnRMMFNGVmhQNTIrZ2huL3pUNlZaL3Fxc0MvQkhsWVF0VlpLa216?= =?utf-8?B?SzdrVmY2Yml0KzVUbU5QbHhTS1hMNCtMNGZ0Q0d3S2VDWjNkeWlwRHovMmxz?= =?utf-8?B?d3lBR3EyNkhkbzBZY0FEOWQxa2Vqc0FPcjV4ODVLS1o1QlJBZEF5ZTZ3SFV0?= =?utf-8?B?VFV1Y3ZidXBwL0dPMWdnbFNZVjdTek9yWWpDYnhWcDExa0F2Y1Y0N1ZjSnpF?= =?utf-8?B?RWdaemFYcFVrVnFJSEhSMm9tRW1GV3A2bTJueTRaR0kzN1Jqd2pjblJMM0tG?= =?utf-8?B?UG9TbGpVYWpvdWxsU1lONHUxb2kweU0wSUhnSzZ6SldtWEtlS3ltVEJoYk85?= =?utf-8?B?ckFNSHNjdUNyRW5GQ0k0bmsxSjZEQjRhYTRkMk5uTE8rTFhkenBJWEkvRmNN?= =?utf-8?B?S0wvV3NDZUswbnRrdzFRdUR0SnRoN094cFFaQzVSVFMvY2pGQUxabXhWUkNp?= =?utf-8?B?WUdPalRmZWFiK2tEeTdXUmZHWWZpZXdUc05FMVVWVkFmSW5yMGVQTTdOWWRX?= =?utf-8?B?UUdJUkJHZjFyYjZBUnljOFVkSXgxUWh6aHAyV21kMEkzUk1rclZnVjd1NEJL?= =?utf-8?B?eVpraXNLdkUveHF3bi9ONmFIT0Fqcm0vMWdvZHBHb0kxUUhVWFZhK0hGMm1J?= =?utf-8?B?MVlhRXpncGJwcy9KZWo0dzg5UGtQYXZKK2c0cHFUZ0xPenI4MlNoOW1lL2Z1?= =?utf-8?B?bDNKcm9iRlRGRDNVTEFWWWFuRVZlVllRNFVrTVpsMTI0VVBoRkg5dmJIdGhX?= =?utf-8?B?SWhIaVZXMXdUVVZWNEt6WlJHcXJjMWpRMVR6Z3BNWE45ZS8vSU14L29hcGJB?= =?utf-8?B?dkg4U0pTMElYb1c2N1c1bXNWd3RZSXZ3L0orSlh5ZVFodmU5NCt6UzJ1OVpS?= =?utf-8?B?TnRDTVZmU3NZbzNqcFAxMkNJRGFUbFMvdFIwRE53WUQ1bzh6OTU2MWozMHpl?= =?utf-8?B?N1E9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <15D9C62296B93746BDC568CC517C68BE@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB6622.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8c8cb616-8a80-45c9-9a52-08dcc0e68e7d X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Aug 2024 07:06:04.5305 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: SUldKv6NmA5twz5kFLV2BO6xtmNw5rkY4JWN1tG7mLySKfgpYk+HfiLf5BsDWtHIEsBywedqX7zUD2C8avffEQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5125 X-OriginatorOrg: intel.com T24gTW9uLCAyMDI0LTA4LTE5IGF0IDE4OjAwICswMjAwLCBSYWZhZWwgSi4gV3lzb2NraSB3cm90 ZToKPiBGcm9tOiBSYWZhZWwgSi4gV3lzb2NraSA8cmFmYWVsLmoud3lzb2NraUBpbnRlbC5jb20+ Cj4gCj4gVGhlIGN1cnJlbnQgZGVzaWduIG9mIHRoZSBjb2RlIGJpbmRpbmcgY29vbGluZyBkZXZp Y2VzIHRvIHRyaXAgcG9pbnRzCj4gaW4KPiB0aGVybWFsIHpvbmVzIGlzIGNvbnZvbHV0ZWQgYW5k IGhhcmQgdG8gZm9sbG93Lgo+IAo+IE5hbWVseSwgYSBkcml2ZXIgdGhhdCByZWdpc3RlcnMgYSB0 aGVybWFsIHpvbmUgY2FuIHByb3ZpZGUgLmJpbmQoKQo+IGFuZCAudW5iaW5kKCkgb3BlcmF0aW9u cyBmb3IgaXQsIHdoaWNoIGFyZSByZXF1aXJlZCB0byBjYWxsIGVpdGhlcgo+IHRoZXJtYWxfYmlu ZF9jZGV2X3RvX3RyaXAoKSBhbmQgdGhlcm1hbF91bmJpbmRfY2Rldl9mcm9tX3RyaXAoKSwKPiBy ZXNwZWN0aXZlbHksIG9yIHRoZXJtYWxfem9uZV9iaW5kX2Nvb2xpbmdfZGV2aWNlKCkgYW5kCj4g dGhlcm1hbF96b25lX3VuYmluZF9jb29saW5nX2RldmljZSgpLCByZXNwZWN0aXZlbHksIGZvciBl dmVyeQo+IHJlbGV2YW50Cj4gdHJpcCBwb2ludCBhbmQgdGhlIGdpdmVuIGNvb2xpbmcgZGV2aWNl LsKgIE1vcmVvdmVyLCBpZiAuYmluZCgpIGlzCj4gcHJvdmlkZWQgYW5kIC51bmJpbmQoKSBpcyBu b3QsIHRoZSBjbGVhbnVwIG5lY2Vzc2FyeSBkdXJpbmcgdGhlCj4gcmVtb3ZhbAo+IG9mIGEgdGhl cm1hbCB6b25lIG9yIGEgY29vbGluZyBkZXZpY2UgbWF5IG5vdCBiZSBjYXJyaWVkIG91dC4KPiAK PiBJbiBvdGhlciB3b3JkcywgdGhlIGNvcmUgcmVsaWVzIG9uIHRoZSB0aGVybWFsIHpvbmUgb3du ZXJzIHRvIGRvIHRoZQo+IHJpZ2h0IHRoaW5nLCB3aGljaCBpcyBlcnJvciBwcm9uZSBhbmQgZmFy IGZyb20gb2J2aW91cywgZXZlbiB0aG91Z2gKPiBhbGwKPiBvZiB0aGF0IGlzIG5vdCByZWFsbHkg bmVjZXNzYXJ5LsKgIFNwZWNpZmljYWxseSwgaWYgdGhlIGNvcmUgY291bGQgYXNrCj4gdGhlIHRo ZXJtYWwgem9uZSBvd25lciwgdGhyb3VnaCBhIHNwZWNpYWwgdGhlcm1hbCB6b25lIGNhbGxiYWNr LAo+IHdoZXRoZXIKPiBvciBub3QgYSBnaXZlbiBjb29saW5nIGRldmljZSBzaG91bGQgYmUgYm91 bmQgdG8gYSBnaXZlbiB0cmlwIHBvaW50Cj4gaW4KPiB0aGUgZ2l2ZW4gdGhlcm1hbCB6b25lLCBp dCBtaWdodCBhcyB3ZWxsIGNhcnJ5IG91dCBhbGwgb2YgdGhlIGJpbmRpbmcKPiBhbmQgdW5iaW5k aW5nIGJ5IGl0c2VsZi7CoCBJbiBwYXJ0aWN1bGFyLCB0aGUgdW5iaW5kaW5nIGNhbiBiZSBkb25l Cj4gYXV0b21hdGljYWxseSB3aXRob3V0IGludm9sdmluZyB0aGUgdGhlcm1hbCB6b25lIG93bmVy IGF0IGFsbCBiZWNhdXNlCj4gYWxsIG9mIHRoZSB0aGVybWFsIGluc3RhbmNlcyBhc3NvY2lhdGVk IHdpdGggYSB0aGVybWFsIHpvbmUgb3IKPiBjb29saW5nCj4gZGV2aWNlIGdvaW5nIGF3YXkgbXVz dCBiZSBkZWxldGVkIHJlZ2FyZGxlc3MuCj4gCj4gQWNjb3JkaW5nbHksIGludHJvZHVjZSBhIG5l dyB0aGVybWFsIHpvbmUgb3BlcmF0aW9uLCAuc2hvdWxkX2JpbmQoKSwKPiB0aGF0IGNhbiBiZSBp bnZva2VkIGJ5IHRoZSB0aGVybWFsIGNvcmUgZm9yIGEgZ2l2ZW4gdGhlcm1hbCB6b25lLAo+IHRy aXAgcG9pbnQgYW5kIGNvb2xpbmcgZGV2aWNlIGNvbWJpbmF0aW9uIGluIG9yZGVyIHRvIGNoZWNr IHdoZXRoZXIKPiBvciBub3QgdGhlIGNvb2xpbmcgZGV2aWNlIHNob3VsZCBiZSBib3VuZCB0byB0 aGUgdHJpcCBwb2ludCBhdCBoYW5kLgo+IEl0IHRha2VzIGFuIGFkZGl0aW9uYWwgY29vbGluZ19z cGVjIGFyZ3VtZW50IGFsbG93aW5nIHRoZSB0aGVybWFsCj4gem9uZSBvd25lciB0byBzcGVjaWZ5 IHRoZSBoaWdoZXN0IGFuZCBsb3dlc3QgY29vbGluZyBzdGF0ZXMgb2YgdGhlCj4gY29vbGluZyBk ZXZpY2UgYW5kIGl0cyB3ZWlnaHQgZm9yIHRoZSBnaXZlbiB0cmlwIHBvaW50IGJpbmRpbmcuCj4g Cj4gTWFrZSB0aGUgdGhlcm1hbCBjb3JlIHVzZSB0aGlzIG9wZXJhdGlvbiwgaWYgcHJlc2VudCwg aW4gdGhlIGFic2VuY2UKPiBvZgo+IC5iaW5kKCkgYW5kIC51bmJpbmQoKS7CoCBOb3RlIHRoYXQg LnNob3VsZF9iaW5kKCkgd2lsbCBiZSBjYWxsZWQgdW5kZXIKPiB0aGUgdGhlcm1hbCB6b25lIGxv Y2suCj4gCj4gTm8gaW50ZW50aW9uYWwgZnVuY3Rpb25hbCBpbXBhY3QuCj4gCj4gU2lnbmVkLW9m Zi1ieTogUmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29ja2lAaW50ZWwuY29tPgoKUmV2 aWV3ZWQtYnk6IFpoYW5nIFJ1aSA8cnVpLnpoYW5nQGludGVsLmNvbT4KCnRoYW5rcywKcnVpCgo+ IC0tLQo+IAo+IHYxIC0+IHYzOiBObyBjaGFuZ2VzIChwcmV2aW91c2x5IFswOC8xN10pCj4gCj4g LS0tCj4gwqBkcml2ZXJzL3RoZXJtYWwvdGhlcm1hbF9jb3JlLmMgfMKgIDEwNgo+ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCj4gwqBpbmNsdWRlL2xpbnV4L3RoZXJt YWwuaMKgwqDCoMKgwqDCoMKgIHzCoMKgIDEwICsrKwo+IMKgMiBmaWxlcyBjaGFuZ2VkLCA5MiBp bnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKPiAKPiBJbmRleDogbGludXgtcG0vaW5jbHVk ZS9saW51eC90aGVybWFsLmgKPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gLS0tIGxpbnV4LXBtLm9yaWcvaW5jbHVk ZS9saW51eC90aGVybWFsLmgKPiArKysgbGludXgtcG0vaW5jbHVkZS9saW51eC90aGVybWFsLmgK PiBAQCAtODUsMTEgKzg1LDIxIEBAIHN0cnVjdCB0aGVybWFsX3RyaXAgewo+IMKgCj4gwqBzdHJ1 Y3QgdGhlcm1hbF96b25lX2RldmljZTsKPiDCoAo+ICtzdHJ1Y3QgY29vbGluZ19zcGVjIHsKPiAr wqDCoMKgwqDCoMKgwqB1bnNpZ25lZCBsb25nIHVwcGVyO8KgwqDCoMKgLyogSGlnaGVzdCBjb29s aW5nIHN0YXRlwqAgKi8KPiArwqDCoMKgwqDCoMKgwqB1bnNpZ25lZCBsb25nIGxvd2VyO8KgwqDC oMKgLyogTG93ZXN0IGNvb2xpbmcgc3RhdGXCoCAqLwo+ICvCoMKgwqDCoMKgwqDCoHVuc2lnbmVk IGludCB3ZWlnaHQ7wqDCoMKgwqAvKiBDb29saW5nIGRldmljZSB3ZWlnaHQgKi8KPiArfTsKPiAr Cj4gwqBzdHJ1Y3QgdGhlcm1hbF96b25lX2RldmljZV9vcHMgewo+IMKgwqDCoMKgwqDCoMKgwqBp bnQgKCpiaW5kKSAoc3RydWN0IHRoZXJtYWxfem9uZV9kZXZpY2UgKiwKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCB0aGVybWFsX2Nvb2xpbmdfZGV2aWNl ICopOwo+IMKgwqDCoMKgwqDCoMKgwqBpbnQgKCp1bmJpbmQpIChzdHJ1Y3QgdGhlcm1hbF96b25l X2RldmljZSAqLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHN0cnVjdCB0aGVybWFsX2Nvb2xpbmdfZGV2aWNlICopOwo+ICvCoMKgwqDCoMKgwqDCoGJvb2wg KCpzaG91bGRfYmluZCkgKHN0cnVjdCB0aGVybWFsX3pvbmVfZGV2aWNlICosCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBzdHJ1 Y3QgdGhlcm1hbF90cmlwICosCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgdGhlcm1hbF9jb29saW5nX2RldmljZSAqLAo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3Ry dWN0IGNvb2xpbmdfc3BlYyAqKTsKPiDCoMKgwqDCoMKgwqDCoMKgaW50ICgqZ2V0X3RlbXApIChz dHJ1Y3QgdGhlcm1hbF96b25lX2RldmljZSAqLCBpbnQgKik7Cj4gwqDCoMKgwqDCoMKgwqDCoGlu dCAoKnNldF90cmlwcykgKHN0cnVjdCB0aGVybWFsX3pvbmVfZGV2aWNlICosIGludCwgaW50KTsK PiDCoMKgwqDCoMKgwqDCoMKgaW50ICgqY2hhbmdlX21vZGUpIChzdHJ1Y3QgdGhlcm1hbF96b25l X2RldmljZSAqLAo+IEluZGV4OiBsaW51eC1wbS9kcml2ZXJzL3RoZXJtYWwvdGhlcm1hbF9jb3Jl LmMKPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Cj4gLS0tIGxpbnV4LXBtLm9yaWcvZHJpdmVycy90aGVybWFsL3RoZXJt YWxfY29yZS5jCj4gKysrIGxpbnV4LXBtL2RyaXZlcnMvdGhlcm1hbC90aGVybWFsX2NvcmUuYwo+ IEBAIC05OTEsMTIgKzk5MSw2MSBAQCBzdGF0aWMgc3RydWN0IGNsYXNzICp0aGVybWFsX2NsYXNz Owo+IMKgCj4gwqBzdGF0aWMgaW5saW5lCj4gwqB2b2lkIHByaW50X2JpbmRfZXJyX21zZyhzdHJ1 Y3QgdGhlcm1hbF96b25lX2RldmljZSAqdHosCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBjb25zdCBzdHJ1Y3QgdGhlcm1hbF90cmlwICp0cmlwLAo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB0aGVy bWFsX2Nvb2xpbmdfZGV2aWNlICpjZGV2LCBpbnQgcmV0KQo+IMKgewo+ICvCoMKgwqDCoMKgwqDC oGlmICh0cmlwKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl9lcnIoJnR6 LT5kZXZpY2UsICJiaW5kaW5nIGNkZXYgJXMgdG8gdHJpcCAlZAo+IGZhaWxlZDogJWRcbiIsCj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBjZGV2LT50eXBl LCB0aGVybWFsX3pvbmVfdHJpcF9pZCh0eiwgdHJpcCksCj4gcmV0KTsKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuOwo+ICvCoMKgwqDCoMKgwqDCoH0KPiArCj4gwqDCoMKg wqDCoMKgwqDCoGRldl9lcnIoJnR6LT5kZXZpY2UsICJiaW5kaW5nIHpvbmUgJXMgd2l0aCBjZGV2 ICVzCj4gZmFpbGVkOiVkXG4iLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdHot PnR5cGUsIGNkZXYtPnR5cGUsIHJldCk7Cj4gwqB9Cj4gwqAKPiArc3RhdGljIHZvaWQgdGhlcm1h bF96b25lX2NkZXZfYmluZGluZyhzdHJ1Y3QgdGhlcm1hbF96b25lX2RldmljZQo+ICp0eiwKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHN0cnVjdCB0aGVybWFsX2Nvb2xpbmdfZGV2aWNlCj4gKmNkZXYpCj4g K3sKPiArwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdGhlcm1hbF90cmlwX2Rlc2MgKnRkOwo+ICvCoMKg wqDCoMKgwqDCoGludCByZXQ7Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoC8qCj4gK8KgwqDCoMKgwqDC oMKgICogT2xkLXN0eWxlIGJpbmRpbmcuIFRoZSAuYmluZCgpIGNhbGxiYWNrIGlzIGV4cGVjdGVk IHRvCj4gY2FsbAo+ICvCoMKgwqDCoMKgwqDCoCAqIHRoZXJtYWxfYmluZF9jZGV2X3RvX3RyaXAo KSB1bmRlciB0aGUgdGhlcm1hbCB6b25lIGxvY2suCj4gK8KgwqDCoMKgwqDCoMKgICovCj4gK8Kg wqDCoMKgwqDCoMKgaWYgKHR6LT5vcHMuYmluZCkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqByZXQgPSB0ei0+b3BzLmJpbmQodHosIGNkZXYpOwo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBpZiAocmV0KQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgcHJpbnRfYmluZF9lcnJfbXNnKHR6LCBOVUxMLCBjZGV2LCByZXQpOwo+ ICsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuOwo+ICvCoMKgwqDCoMKg wqDCoH0KPiArCj4gK8KgwqDCoMKgwqDCoMKgaWYgKCF0ei0+b3BzLnNob3VsZF9iaW5kKQo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm47Cj4gKwo+ICvCoMKgwqDCoMKgwqDC oG11dGV4X2xvY2soJnR6LT5sb2NrKTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgZm9yX2VhY2hfdHJp cF9kZXNjKHR6LCB0ZCkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg dGhlcm1hbF90cmlwICp0cmlwID0gJnRkLT50cmlwOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgY29vbGluZ19zcGVjIGMgPSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAudXBwZXIgPSBUSEVSTUFMX05PX0xJTUlULAo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmxvd2VyID0gVEhF Uk1BTF9OT19MSU1JVCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoC53ZWlnaHQgPSBUSEVSTUFMX1dFSUdIVF9ERUZBVUxUCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoH07Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBp ZiAodHotPm9wcy5zaG91bGRfYmluZCh0eiwgdHJpcCwgY2RldiwgJmMpKSB7Cj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXQgPSB0aGVybWFsX2JpbmRf Y2Rldl90b190cmlwKHR6LCB0cmlwLAo+IGNkZXYsIGMudXBwZXIsCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYy5sb3dlciwKPiBjLndlaWdo dCk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAo cmV0KQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHByaW50X2JpbmRfZXJyX21zZyh0eiwgdHJpcCwgY2RldiwKPiByZXQpOwo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgfQo+ICsK PiArwqDCoMKgwqDCoMKgwqBtdXRleF91bmxvY2soJnR6LT5sb2NrKTsKPiArfQo+ICsKPiDCoC8q Kgo+IMKgICogX190aGVybWFsX2Nvb2xpbmdfZGV2aWNlX3JlZ2lzdGVyKCkgLSByZWdpc3RlciBh IG5ldyB0aGVybWFsCj4gY29vbGluZyBkZXZpY2UKPiDCoCAqIEBucDrCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGEgcG9pbnRlciB0byBhIGRldmljZSB0cmVlIG5vZGUuCj4gQEAgLTEw OTIsMTMgKzExNDEsOCBAQCBfX3RoZXJtYWxfY29vbGluZ19kZXZpY2VfcmVnaXN0ZXIoc3RydWN0 Cj4gwqDCoMKgwqDCoMKgwqDCoGxpc3RfYWRkKCZjZGV2LT5ub2RlLCAmdGhlcm1hbF9jZGV2X2xp c3QpOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoC8qIFVwZGF0ZSBiaW5kaW5nIGluZm9ybWF0aW9u IGZvciAndGhpcycgbmV3IGNkZXYgKi8KPiAtwqDCoMKgwqDCoMKgwqBsaXN0X2Zvcl9lYWNoX2Vu dHJ5KHBvcywgJnRoZXJtYWxfdHpfbGlzdCwgbm9kZSkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBpZiAocG9zLT5vcHMuYmluZCkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0ID0gcG9zLT5vcHMuYmluZChwb3MsIGNkZXYpOwo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKHJldCkK PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBwcmludF9iaW5kX2Vycl9tc2cocG9zLCBjZGV2LCByZXQpOwo+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gLcKgwqDCoMKgwqDCoMKgfQo+ICvCoMKgwqDCoMKgwqDC oGxpc3RfZm9yX2VhY2hfZW50cnkocG9zLCAmdGhlcm1hbF90el9saXN0LCBub2RlKQo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0aGVybWFsX3pvbmVfY2Rldl9iaW5kaW5nKHBvcywg Y2Rldik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgbGlzdF9mb3JfZWFjaF9lbnRyeShwb3MsICZ0 aGVybWFsX3R6X2xpc3QsIG5vZGUpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBp ZiAoYXRvbWljX2NtcHhjaGcoJnBvcy0+bmVlZF91cGRhdGUsIDEsIDApKQo+IEBAIC0xMjk5LDYg KzEzNDMsMjggQEAgdW5sb2NrX2xpc3Q6Cj4gwqB9Cj4gwqBFWFBPUlRfU1lNQk9MX0dQTCh0aGVy bWFsX2Nvb2xpbmdfZGV2aWNlX3VwZGF0ZSk7Cj4gwqAKPiArc3RhdGljIHZvaWQgdGhlcm1hbF96 b25lX2NkZXZfdW5iaW5kaW5nKHN0cnVjdCB0aGVybWFsX3pvbmVfZGV2aWNlCj4gKnR6LAo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgdGhlcm1hbF9jb29saW5nX2RldmljZQo+ICpjZGV2 KQo+ICt7Cj4gK8KgwqDCoMKgwqDCoMKgc3RydWN0IHRoZXJtYWxfdHJpcF9kZXNjICp0ZDsKPiAr Cj4gK8KgwqDCoMKgwqDCoMKgLyoKPiArwqDCoMKgwqDCoMKgwqAgKiBPbGQtc3R5bGUgdW5iaW5k aW5nLsKgIFRoZSAudW5iaW5kIGNhbGxiYWNrIGlzIGV4cGVjdGVkIHRvCj4gY2FsbAo+ICvCoMKg wqDCoMKgwqDCoCAqIHRoZXJtYWxfdW5iaW5kX2NkZXZfZnJvbV90cmlwKCkgdW5kZXIgdGhlIHRo ZXJtYWwgem9uZQo+IGxvY2suCj4gK8KgwqDCoMKgwqDCoMKgICovCj4gK8KgwqDCoMKgwqDCoMKg aWYgKHR6LT5vcHMudW5iaW5kKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHR6 LT5vcHMudW5iaW5kKHR6LCBjZGV2KTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuOwo+ICvCoMKgwqDCoMKgwqDCoH0KPiArCj4gK8KgwqDCoMKgwqDCoMKgbXV0ZXhfbG9j aygmdHotPmxvY2spOwo+ICsKPiArwqDCoMKgwqDCoMKgwqBmb3JfZWFjaF90cmlwX2Rlc2ModHos IHRkKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0aGVybWFsX3VuYmluZF9jZGV2 X2Zyb21fdHJpcCh0eiwgJnRkLT50cmlwLCBjZGV2KTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgbXV0 ZXhfdW5sb2NrKCZ0ei0+bG9jayk7Cj4gK30KPiArCj4gwqAvKioKPiDCoCAqIHRoZXJtYWxfY29v bGluZ19kZXZpY2VfdW5yZWdpc3RlciAtIHJlbW92ZXMgYSB0aGVybWFsIGNvb2xpbmcKPiBkZXZp Y2UKPiDCoCAqIEBjZGV2OsKgwqDCoMKgwqDCoHRoZSB0aGVybWFsIGNvb2xpbmcgZGV2aWNlIHRv IHJlbW92ZS4KPiBAQCAtMTMyNSwxMCArMTM5MSw4IEBAIHZvaWQgdGhlcm1hbF9jb29saW5nX2Rl dmljZV91bnJlZ2lzdGVyKHMKPiDCoMKgwqDCoMKgwqDCoMKgbGlzdF9kZWwoJmNkZXYtPm5vZGUp Owo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoC8qIFVuYmluZCBhbGwgdGhlcm1hbCB6b25lcyBhc3Nv Y2lhdGVkIHdpdGggJ3RoaXMnIGNkZXYgKi8KPiAtwqDCoMKgwqDCoMKgwqBsaXN0X2Zvcl9lYWNo X2VudHJ5KHR6LCAmdGhlcm1hbF90el9saXN0LCBub2RlKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGlmICh0ei0+b3BzLnVuYmluZCkKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHR6LT5vcHMudW5iaW5kKHR6LCBjZGV2KTsKPiAtwqDC oMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgbGlzdF9mb3JfZWFjaF9lbnRyeSh0eiwgJnRo ZXJtYWxfdHpfbGlzdCwgbm9kZSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGhl cm1hbF96b25lX2NkZXZfdW5iaW5kaW5nKHR6LCBjZGV2KTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKg wqBtdXRleF91bmxvY2soJnRoZXJtYWxfbGlzdF9sb2NrKTsKPiDCoAo+IEBAIC0xNDAzLDYgKzE0 NjcsNyBAQCB0aGVybWFsX3pvbmVfZGV2aWNlX3JlZ2lzdGVyX3dpdGhfdHJpcHMoCj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqB1bnNpZ25lZCBpbnQgcG9sbGluZ19kZWxheSkKPiDCoHsKPiDCoMKg wqDCoMKgwqDCoMKgY29uc3Qgc3RydWN0IHRoZXJtYWxfdHJpcCAqdHJpcCA9IHRyaXBzOwo+ICvC oMKgwqDCoMKgwqDCoHN0cnVjdCB0aGVybWFsX2Nvb2xpbmdfZGV2aWNlICpjZGV2Owo+IMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3QgdGhlcm1hbF96b25lX2RldmljZSAqdHo7Cj4gwqDCoMKgwqDCoMKg wqDCoHN0cnVjdCB0aGVybWFsX3RyaXBfZGVzYyAqdGQ7Cj4gwqDCoMKgwqDCoMKgwqDCoGludCBp ZDsKPiBAQCAtMTQyNSw4ICsxNDkwLDkgQEAgdGhlcm1hbF96b25lX2RldmljZV9yZWdpc3Rlcl93 aXRoX3RyaXBzKAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIEVSUl9Q VFIoLUVJTlZBTCk7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+IC3CoMKgwqDCoMKgwqDCoGlm ICghb3BzIHx8ICFvcHMtPmdldF90ZW1wKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHByX2VycigiVGhlcm1hbCB6b25lIGRldmljZSBvcHMgbm90IGRlZmluZWRcbiIpOwo+ICvC oMKgwqDCoMKgwqDCoGlmICghb3BzIHx8ICFvcHMtPmdldF90ZW1wIHx8IChvcHMtPnNob3VsZF9i aW5kICYmIG9wcy0+YmluZCkKPiB8fAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCAob3BzLT5zaG91 bGRfYmluZCAmJiBvcHMtPnVuYmluZCkpIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgcHJfZXJyKCJUaGVybWFsIHpvbmUgZGV2aWNlIG9wcyBub3QgZGVmaW5lZCBvcgo+IGludmFs aWRcbiIpOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIEVSUl9QVFIo LUVJTlZBTCk7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+IEBAIC0xNTM5LDE1ICsxNjA1LDgg QEAgdGhlcm1hbF96b25lX2RldmljZV9yZWdpc3Rlcl93aXRoX3RyaXBzKAo+IMKgwqDCoMKgwqDC oMKgwqBtdXRleF91bmxvY2soJnR6LT5sb2NrKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqAvKiBC aW5kIGNvb2xpbmcgZGV2aWNlcyBmb3IgdGhpcyB6b25lICovCj4gLcKgwqDCoMKgwqDCoMKgaWYg KHR6LT5vcHMuYmluZCkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg dGhlcm1hbF9jb29saW5nX2RldmljZSAqY2RldjsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGxpc3RfZm9yX2VhY2hfZW50cnkoY2RldiwgJnRoZXJtYWxfY2Rldl9saXN0LCBu b2RlKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBy ZXN1bHQgPSB0ei0+b3BzLmJpbmQodHosIGNkZXYpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKHJlc3VsdCkKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBwcmludF9iaW5kX2Vy cl9tc2codHosIGNkZXYsIHJlc3VsdCk7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oH0KPiAtwqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgbGlzdF9mb3JfZWFjaF9lbnRy eShjZGV2LCAmdGhlcm1hbF9jZGV2X2xpc3QsIG5vZGUpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHRoZXJtYWxfem9uZV9jZGV2X2JpbmRpbmcodHosIGNkZXYpOwo+IMKgCj4gwqDC oMKgwqDCoMKgwqDCoG11dGV4X3VubG9jaygmdGhlcm1hbF9saXN0X2xvY2spOwo+IMKgCj4gQEAg LTE2NDEsOCArMTcwMCw3IEBAIHZvaWQgdGhlcm1hbF96b25lX2RldmljZV91bnJlZ2lzdGVyKHN0 cnUKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqAvKiBVbmJpbmQgYWxsIGNkZXZzIGFzc29jaWF0ZWQg d2l0aCAndGhpcycgdGhlcm1hbCB6b25lICovCj4gwqDCoMKgwqDCoMKgwqDCoGxpc3RfZm9yX2Vh Y2hfZW50cnkoY2RldiwgJnRoZXJtYWxfY2Rldl9saXN0LCBub2RlKQo+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBpZiAodHotPm9wcy51bmJpbmQpCj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0ei0+b3BzLnVuYmluZCh0eiwgY2Rldik7Cj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRoZXJtYWxfem9uZV9jZGV2X3VuYmluZGlu Zyh0eiwgY2Rldik7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgbXV0ZXhfdW5sb2NrKCZ0aGVybWFs X2xpc3RfbG9jayk7Cj4gwqAKPiAKPiAKPiAKCg==