From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SY5PR01CU010.outbound.protection.outlook.com (mail-australiaeastazolkn19012014.outbound.protection.outlook.com [52.103.72.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 AD8713ED3CC; Tue, 28 Jul 2026 18:10:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.72.14 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785262215; cv=fail; b=D2UaDjDT8shd8pVEI3S3C5D3rZNiCBoeVwxijX/HdTKYA0bj9PKBohovdqAdLXWjZoydDb5S1t9AaYCXOM4yDBAhYqZDJhC3oUyvX+5GNoGDBKqSIciN0Cu27l/Au0zqfv5SDY7GJXZ+FdjjQS7O+xfNzxcxgDrIOo8Rc5qJ6j0= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785262215; c=relaxed/simple; bh=3yePC+CKl9dKYkNx0Scnr+zetCkYaGeayn1kaqqiLxk=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=ktdq9sssNeZHHrLa4CeKM60o4DDh61Xjz5xYHTtKJhS4dSBxpq5X2vZJa3gPyJCUqOsgrSxeHnKuD4k2j+iYlWt884aLlYl5ihe4wuVccsIICSxlnMz7bl0fboZ05P+4PusI9AJKXfgyNujcbec4h4BwR41TuIlxOryIb8ech8k= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com; spf=pass smtp.mailfrom=outlook.com; dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b=fa7w9CZZ; arc=fail smtp.client-ip=52.103.72.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=outlook.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b="fa7w9CZZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iLAplEchb37lFV9ZsvzpyvFEfwfHfnVeDzSrl50IuXRaw+7E6y94TFBO5FpjKtg14SjxDya0VsfeKnrR1eWxJyB0+SNvWbYP+J/61bPQ2SyqbzKXm2XEjSomcYLY2dSQ7IRDlLvm/wN7x7zKV+40XArtzD4SsRnb9YCvEupjcjLzUu4gqVHPbx1PwzvYIprNYhULjoOYDmvUtLpjdm2Fus/55QHv7fpLszE257mXBZIYe6m40LRO2mhLjoO5kOYCOmCDVg0a+ntr1njpVAdmOgNp2VyY36DcC4p8K3mY/gVmkQWDP831pWkbOFNZX2pi3Jqb7O3K7kb/tgCm57ZtAQ== 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=3yePC+CKl9dKYkNx0Scnr+zetCkYaGeayn1kaqqiLxk=; b=pG1z1gkGm+KbctpAbAKr1t0RAXrqjr2ETfrvZ86wwOx6sZRXKeWRqTXNS3/4gG+sSMnk/ACWbUbifOsAQuooaoEr6BBqlL1S43JeRL/4HpQMkPwHvRDaB3ged2a63+3jps02l/o9qwmFPANcUilQA9vEl5FeZPXy9courx8vh5NwFwRlQvUXCzNBVNpXA+bx4e4EhSY1Ta0RERB2az2xmd4/sRotF61BFBU0rNwYdJf8rFBWvqwwCUiWJ1rbJXQoBle4YJqd8DGDNLLqpKnDkv41sscdhg3+61hu6dy8x+QWS9OqtQZEjX4aDEGIs26b/GsABn6T4UPNbnepExfv6w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3yePC+CKl9dKYkNx0Scnr+zetCkYaGeayn1kaqqiLxk=; b=fa7w9CZZkFtnKAOabo61nmh+uZP0vTUMNHd6r7IBOrYKRO4WiG2J+Mips8cJPjs9wrt+mr5UBtnEQfWwMNuMpakchTB80zzRjeaP2/p7i7LLhn4s7jQUVjuPaKLPSnSudzL7lsVZ1iMpGlGmw+t89lrFGXtTlLoPHwZSoBCF3EMaIKsrgJapZIVuc32koRTchRyacghJFb39LkDA9mfi4wqnkKDFXRDEjVwWVFBaCJxr0Faxj1vPaPMC4oLh7NV/UM2Q6l8+yS0gKdHFEJAHASkMFBZ2ar2yHOG4mSMm77SF08aV+Nbzc7BHbnNQr3oEjjmVy8xXOdRpY65/l3ZvCg== Received: from SY7PR01MB10809.ausprd01.prod.outlook.com (2603:10c6:10:334::8) by MEYPR01MB6613.ausprd01.prod.outlook.com (2603:10c6:220:116::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.12; Tue, 28 Jul 2026 18:10:06 +0000 Received: from SY7PR01MB10809.ausprd01.prod.outlook.com ([fe80::5ed:40ff:547d:2ada]) by SY7PR01MB10809.ausprd01.prod.outlook.com ([fe80::5ed:40ff:547d:2ada%4]) with mapi id 15.21.0270.009; Tue, 28 Jul 2026 18:10:06 +0000 From: =?utf-8?B?5a2ZIOiqiemTrQ==?= To: "platform-driver-x86@vger.kernel.org" CC: "linux-kernel@vger.kernel.org" , Mingyou Chen , Armin Wolf , Hans de Goede , =?utf-8?B?SWxwbyBKw6RydmluZW4=?= , Nabil Danial , =?utf-8?B?5a2ZIOiqiemTrQ==?= Subject: [RESEND PATCH 4/5] platform/x86: bitland-mifs-wmi: drive lid switch via EC poll on Xiaomi Book Pro 14 Thread-Topic: [RESEND PATCH 4/5] platform/x86: bitland-mifs-wmi: drive lid switch via EC poll on Xiaomi Book Pro 14 Thread-Index: AQHdHrxQBz3j+/+f30aZdDjyohHyVg== Date: Tue, 28 Jul 2026 18:10:04 +0000 Message-ID: <20260728180944.51356-5-wolf109909@outlook.com> References: <20260728180944.51356-1-wolf109909@outlook.com> In-Reply-To: <20260728180944.51356-1-wolf109909@outlook.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SY7PR01MB10809:EE_|MEYPR01MB6613:EE_ x-ms-office365-filtering-correlation-id: b29c7972-2488-4d04-5275-08deecd3743e x-microsoft-antispam: BCL:0;ARA:14566002|6050399003|38102599003|25031999004|12121999013|15080799012|31061999003|41001999006|8062599012|51005399006|8060799015|19110799012|24021099003|3412199025|440099028|26104999009|102099032|40105399003|3430499035|1710799026; x-microsoft-antispam-message-info: =?utf-8?B?aHR4cERrKzVjZDFyaERuV2ZOditnMHc1WUdCN2lTSUxHMkxGSTZLNGszQ0FF?= =?utf-8?B?NHhWWFYyT1owbTcxbGJsK0VKdVo0TlJEd2wzSU56c1V3L0RRbFJjVkc3YmRQ?= =?utf-8?B?ZG5BOURteGgvbXJNK2tJZGZxdnpwTlNHUGR6QWJEMTRhM1FDTThOUHVOSHNQ?= =?utf-8?B?WmxOemI5WGx4MHRNUlRLMVhtRnJHTElPanN0cTNwMkRkWjBWRXkxVFBJb3pt?= =?utf-8?B?eEM3Ni9abTBLTVA0eFhZajM2VHBleGdRSDUrUHBON1I1M3R6SUp1RVViaE5q?= =?utf-8?B?VExmVmN4VitRMHV4TFZBRGdUZE5wSWdPU0JiVC9kNkprc2trTnNHTktKQWVN?= =?utf-8?B?TkdXNUtROG54cklkdk92VkpqTGVTS0V6Vm1VR0swWXVtWWRSSVJscDk0clJv?= =?utf-8?B?b2dNY09iM3B3T01JRjFVQTFlSDM0YnhmbnJyak4zZ1FMUXBnTHFtbmt0TGdr?= =?utf-8?B?akdnZ2k4bUZCbmhlWXhoLzdLZ2NHTC80Qm5KclpJaGNsQVJNQkFOQkh4NHk1?= =?utf-8?B?WW85K1p0WjY5ZWx4SGhHK3BZeURZUWFFaFFkM3FDZmpPaHNsWE5WT2N4OHYv?= =?utf-8?B?Z25DUy8vNGJSZnc3V1NqdzY4VDd1TUZ2NThkTUc5Titzc3c4VTh6Vks5blp3?= =?utf-8?B?bU1jWSsxLzBVSUhWVDBscm16UENJM0dPU3NkTG5YQ1BWd1hpWHA2V0pvMVIx?= =?utf-8?B?U1Ard3RyUW5DVEdkMlBIdG5zMWhVZlBCc3BkYmNjcTFOWjd5N0JnMVlVd2Z1?= =?utf-8?B?cVRJa3hCWTFFOTA3VG9tKy8yZ0dJT0swQTRObm1zeG9KVVY5NFA1enYyak1w?= =?utf-8?B?Q0JsWXRyOFVwT0UxZjZTcm9LZVpRYVBtY3R6RzRva3BnUm52RWxsdGsvSVo2?= =?utf-8?B?YnpwZ1ZhZVQwT3NBaWhkdGdYcVNXRzNQWFpzTVRGbVhBMU5nOUhBVk5nbktJ?= =?utf-8?B?R0JQdllMWU05WG1TeitPanlMdDVJQWc5V0t5NmVUMGFNSHJ6cUQ1dmVsN0Mr?= =?utf-8?B?T3ZlMXlvd0JKYkE4ZG02WTUwU3FtcE9iQTJLaUt4K1dNVzd0SjRoMTZoSTAv?= =?utf-8?B?NndvckhWYTRNVzlQa1Q1MEd0eEUwWVZVNitKVWVWbkdJNUhRak9NU2M1c0F0?= =?utf-8?B?SjZRRVZ2Zy9remdnTGFpbWRUay9aVlZ4aUJjYWZRVEVKWnUrUzc0TEtUS0U4?= =?utf-8?B?dU9HQVdWamduRU1ueUlyZnBkQmJ5L0dxSSt3NUFvTldVVmxLVWcxVkJ1aHRt?= =?utf-8?B?bFJIOCt5blZnM3ErSytCaFRTUDRacUhNTWJIK3diL1hidmFaTVd5MlkxSWl6?= =?utf-8?B?WE8zT0dTaFRiVlhrKzErOG9PMXBLQnhXV1hDWjlCZDBqQ2hRK09ic0Y1bVdI?= =?utf-8?B?dnExVDdUdzFsSW8vdGtLRUcyTVRIOWRKbTcwVmxJWXZjSXZGMmpEUUJKSWpC?= =?utf-8?B?L3RDd0J2Qk4xZnRPaUIzZnczZWs0U3c0d1J3SVNRPT0=?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?alRDZWdCcG1QYjI2blFMdGZtVXI2NE9udkJaNXFKSWtmZnQ2WEhzM09MNXZP?= =?utf-8?B?SzNOVG5qN0RFMFZpdXRPeVZNTXVQZ1hmRng5c1VneEVpaStBMVFBMktpaEVV?= =?utf-8?B?azBvWi9tanJGTHJHQm9VZkQrQmE3anFQeXp0VjdqQ1RLQkdVb2lGcDZVRUE0?= =?utf-8?B?WkRNYW1VbmFxYWtyUFBOQ3lCNGdPZ3I3UW1TUTVCK3lXNXNIK3NmMldDSE1F?= =?utf-8?B?M1hpdFhpK0dvSUtIK0MrS0FnMnNXV2N0dmhac3UvdEdqU1Z5OWw5dzV2MHRi?= =?utf-8?B?VkZMb29PYWE1aUo2YlJGUG02TldsaGV1dlhGUVdQbnhpK0JacWc3a1AyZC94?= =?utf-8?B?amRQeU0yZ0g0SC9ORmI2SkZKVzRhOGhKUEhkZmkwZTR6QWdDVHI3c0ErTUVN?= =?utf-8?B?S0R5YjF3Tkt0cktFUEJDUStyTysyLzBhK2k2MDl5dDVQSk15bzhmR1JyZ0gx?= =?utf-8?B?ckovWTZ6ZTNCb08wZzdCd01hTnlueHN5L2J6enhYNE1MU0tTNnNHeVBzSDll?= =?utf-8?B?TDdBSUpsY1FoUlFCcG9QM0JsUXU5UWlNa0V2MzZGWUI3d0dRcWJhaWF1S3o4?= =?utf-8?B?TkhkVUZLYTQvb1ZrOGdrL2FIeGg1ZFJ0bFhtSDNLZG1EcmdKMTVsM3dKZDVG?= =?utf-8?B?aG16VEk0M0w1QVdOdTdTZUtuYjluLzVQUy9YTWc1V0xYaUZhbitlOVRIb1FI?= =?utf-8?B?dTFlSElIQnNBMXcwdHJTTlgrYys2YTc4OHlDWGduT1J4VkdoNXBNTDArQkpK?= =?utf-8?B?S3ZiQ2J2NSsvcTRDMHJXblVqN3BzQXdWVzhya2x5NGFkeWozdDZoSmdMd2dS?= =?utf-8?B?bkIwdUg5SWFxQ3V0S2FpOTJEMTlZbnBxSDZzVGVkeWFGcm01clBmY3RZVDdp?= =?utf-8?B?M2NyK3RURkY2UFJDblJFWXdza1NmWmh2MFdsWU1aQlJSZGlLTVI5bVg4M3dK?= =?utf-8?B?MGllc3lmMXJTTEdsWWluQktWcnpra3pRV0UySkZ3VHZjOXE2UW5NcElieGty?= =?utf-8?B?Q1ZrRVdHUzlNNkQ0MURXK1RTL2dxQjgrMjE5S1pxdzBZYkJ3ZUR1WUZiRmY3?= =?utf-8?B?dEkzQU1BVlFtV01VQVZoS0RmSjNFQk13Syt0OWdiYVE1MmpqV0tUQmQ2YTVm?= =?utf-8?B?QlVMSElRa0dPdC91ZFZPRmZ0NnlqVzQ5TTBsd1p2Q0JCa1lUMUxlM0ZqWGRo?= =?utf-8?B?MlA3elpMTG0zMmpaRFU0NEs3SGRDYUxrNDJMdHVIcENSNFVYU2dIMVJRQWxh?= =?utf-8?B?N3ZEWUg2V0E1QVlNeS9RQVVwRTZoNng4ZmpjK2NzMytMWGRQZkpNMlZVczgw?= =?utf-8?B?UWNDNWd1L3FHMHJTazRvT2w1SElZMDQxWFhIdGtLUXVFMTFOK1crS2dxN1F0?= =?utf-8?B?Rlc3SHlrMmg2YTJBQWpaS0RqMjVIUXhnS2lJN2V5bUFIZHNBaDdmTElvNGdC?= =?utf-8?B?K0o5MCtVeTE3RmtLL3NaUnc5eHdzdStGNm01SFMwZG52STl6RjNJWi9rakV2?= =?utf-8?B?K1NQa2pheU82Uk9BNUplNGd3VndSQmFiaEdvWTA1OExvZlBxS214L01EVzFU?= =?utf-8?B?MUdFU3dFY0hHVUI1OWM5WENqMWhSWjhjeDVOUEJENkJqaU5wcUdHMVBPWjJU?= =?utf-8?B?TjN1RlV1eXNBWTExanQxRi9DVGcxcGFyYTdmSEd2LzMvQVh6TTQwY2F0bjNx?= =?utf-8?B?MWZBaFpEVWlzMnp5NkhDRGFzbnZENU12TTZKdFA0a29KclYvdUZzRUxUNFN3?= =?utf-8?B?SG9Kby9OOTk2OXZMcXNOWTBUbkx0R0lsOXh1NTVoTzZMWUk2RngxOVV0SE9V?= =?utf-8?B?Z0NVeUpXRkpDVGk3aHlyWGxhY1hvOWxIRFFQTUJIRVBka3lGSVBGRkNjUTho?= =?utf-8?Q?zitQi0Dcjd2h7?= 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: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SY7PR01MB10809.ausprd01.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: b29c7972-2488-4d04-5275-08deecd3743e X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jul 2026 18:10:04.3697 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MEYPR01MB6613 VGhlIFhpYW9taSBCb29rIFBybyAxNCAoMjAyNiwgUGFudGhlciBMYWtlKSBzaGlwcyB3aXRoIGJy b2tlbg0KZmlybXdhcmU6IEVDT04sIHJlZmVyZW5jZWQgYnkgXF9TQi5QQzAwLkxQQ0IuUV9FQy5f U1RBLCBpcyBub3QgZGVmaW5lZA0KaW4gYW55IG9mIHRoZSAzNCBTU0RUcyB0aGUgZmlybXdhcmUg bG9hZHMgKGJvb3QgbG9nOiAiQ291bGQgbm90DQpyZXNvbHZlIHN5bWJvbCBbXF9TQi5QQzAwLkxQ Q0IuUV9FQy5fU1RBLkVDT05dLCBBRV9OT1RfRk9VTkQiKS4gVGhlDQpBQ1BJIEVDIGRyaXZlciB0 aGVyZWZvcmUgbmV2ZXIgYmluZHMgYW5kIG5vbmUgb2YgdGhlIEVDIHF1ZXJ5IGhhbmRsZXJzDQpl eGVjdXRlIC0gaW5jbHVkaW5nIF9RMEMvX1EwRCB3aGljaCBub3RpZnkgdGhlIFBOUDBDMEQgbGlk IGRldmljZS4gQXMNCmEgcmVzdWx0IGNsb3NpbmcgdGhlIGxpZCBnZW5lcmF0ZXMgbm8gU1dfTElE IGV2ZW50OiB0aGUgc2NyZWVuIHN0YXlzDQpvbiBhbmQga2V5cyBkZXByZXNzZWQgYnkgdGhlIGNs b3NlZCBsaWQga2VlcCB0eXBpbmcgaW50byB0aGUgdmlzaWJsZQ0KbG9jayBzY3JlZW4sIGxvY2tp bmcgdGhlIHVzZXIgYWNjb3VudCBhZnRlciByZXBlYXRlZCBmYWlsZWQgbG9naW5zLg0KDQpUaGUg RUMgaXRzZWxmIGlzIGFsaXZlIGFuZCBpdHMgc2hhcmVkLW1lbW9yeSB3aW5kb3cgYXQgMHhGRTBC MDMwMA0KKERTRFQgcmVnaW9uICJFUkFNIikgdHJhY2tzIHRoZSBsaWQgc3RhdGUgYml0IExTVEUg KG9mZnNldCAweDE0LCBiaXQNCjApLiBQb2xsIGl0IGZyb20gYSBkZWxheWVkLXdvcmsgaXRlbSBh bmQsIG9uIGEgY2hhbmdlLCBldmFsdWF0ZSB0aGUNCnZlcnkgQU1MIG1ldGhvZHMgdGhlIEVDIHF1 ZXJ5IHdvdWxkIGhhdmUgcnVuIChfUTBDL19RMEQpLCB3aGljaCB1cGRhdGUNCnRoZSBHRlggQ0xJ RCBmaWVsZCBhbmQgbm90aWZ5IExJRDAgc28gdGhlIGJ1dHRvbiBkcml2ZXIgZW1pdHMgU1dfTElE Lg0KDQpHYXRlIHRoZSBxdWlyayBvbiBib3RoIHRoZSBNSUZTIHYyIGZpcm13YXJlIHZhcmlhbnQg YW5kIERNSSBtYXRjaGluZw0Kc28gbm8gb3RoZXIgbWFjaGluZSBnZXRzIHBvbGxlZC4gVmVyaWZp ZWQgb24gdGhlIGFmZmVjdGVkIG1hY2hpbmU6IGxpZA0KY2xvc2Uvb3BlbiBub3cgcHJvZHVjZSBw cm9wZXIgc3dpdGNoIGV2ZW50cyBoYW5kbGVkIGJ5IHN5c3RlbWQtbG9naW5kDQooTGlkIGNsb3Nl ZCAtPiBzdXNwZW5kIC0+IExpZCBvcGVuZWQgLT4gcmVzdW1lKS4NCg0KU2lnbmVkLW9mZi1ieTog WXVtaW5nIFN1biA8d29sZjEwOTkwOUBvdXRsb29rLmNvbT4NCi0tLQ0KIGRyaXZlcnMvcGxhdGZv cm0veDg2L2JpdGxhbmQtbWlmcy13bWkuYyB8IDk0ICsrKysrKysrKysrKysrKysrKysrKysrKy0N CiAxIGZpbGUgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KDQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvYml0bGFuZC1taWZzLXdtaS5jIGIvZHJpdmVy cy9wbGF0Zm9ybS94ODYvYml0bGFuZC1taWZzLXdtaS5jDQppbmRleCA1ZjdjODVhOC4uNTUwZWU5 ODEgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9iaXRsYW5kLW1pZnMtd21pLmMN CisrKyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2JpdGxhbmQtbWlmcy13bWkuYw0KQEAgLTE0LDYg KzE0LDcgQEANCiAjaW5jbHVkZSA8bGludXgvZGV2X3ByaW50ay5oPg0KICNpbmNsdWRlIDxsaW51 eC9kZXZpY2UuaD4NCiAjaW5jbHVkZSA8bGludXgvZGV2aWNlL2RldnJlcy5oPg0KKyNpbmNsdWRl IDxsaW51eC9kbWkuaD4NCiAjaW5jbHVkZSA8bGludXgvZXJyLmg+DQogI2luY2x1ZGUgPGxpbnV4 L2h3bW9uLmg+DQogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4NCkBAIC0zNCw2ICszNSw3IEBADQog I2luY2x1ZGUgPGxpbnV4L3VuYWxpZ25lZC5oPg0KICNpbmNsdWRlIDxsaW51eC91bml0cy5oPg0K ICNpbmNsdWRlIDxsaW51eC93bWkuaD4NCisjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+DQog DQogI2RlZmluZSBEUlZfTkFNRQkJImJpdGxhbmQtbWlmcy13bWkiDQogI2RlZmluZSBCSVRMQU5E X01JRlNfR1VJRAkiQjYwQkZCNDgtM0U1Qi00OUU0LUEwRTktOENGRkUxQjM0MzRCIg0KQEAgLTE2 MSw2ICsxNjMsMTEgQEAgc3RydWN0IGJpdGxhbmRfbWlmc19vdXRwdXQgew0KICNkZWZpbmUgTUlG U19WMl9FQ19NRU1fU0laRQkweDEwMA0KICNkZWZpbmUgTUlGU19WMl9FQ19SRUdfRkFOMQkweDY5 DQogI2RlZmluZSBNSUZTX1YyX0VDX1JFR19GQU4yCTB4NkINCisjZGVmaW5lIE1JRlNfVjJfRUNf UkVHX0xJRAkweDE0CS8qIGJpdCAwOiBMU1RFLCAxID0gbGlkIG9wZW4gKi8NCisjZGVmaW5lIE1J RlNfVjJfRUNfTElEX09QRU4JQklUKDApDQorDQorLyogSW50ZXJ2YWwgZm9yIHRoZSBsaWQtc3Rh dGUgcG9sbDsgc2VlIGJpdGxhbmRfbWlmc19saWRfcG9sbCgpICovDQorI2RlZmluZSBNSUZTX1Yy X0xJRF9QT0xMX01TCTI1MA0KIA0KIHN0YXRpYyB1MTYgbWlmc19zdGF0dXMoY29uc3Qgc3RydWN0 IGJpdGxhbmRfbWlmc19vdXRwdXQgKm91dCkNCiB7DQpAQCAtMjAwLDYgKzIwNyw5IEBAIHN0cnVj dCBiaXRsYW5kX21pZnNfd21pX2RhdGEgew0KIAlib29sIHByb2ZpbGVfdmFsaWQ7DQogCWJvb2wg aXNfdjI7CS8qIE1JRlMgdjIgZmlybXdhcmU6IFFGQU4gcGVyZi1tb2RlIGNvZGVzICovDQogCXU4 IF9faW9tZW0gKmVjX21lbTsJLyogdjIgRUMgc2hhcmVkLW1lbW9yeSB3aW5kb3cgKi8NCisJc3Ry dWN0IGRlbGF5ZWRfd29yayBsaWRfd29yazsNCisJdTggbGFzdF9saWQ7DQorCWJvb2wgbGlkX3F1 aXJrOw0KIH07DQogDQogc3RhdGljIGludCBiaXRsYW5kX21pZnNfd21pX2NhbGwoc3RydWN0IGJp dGxhbmRfbWlmc193bWlfZGF0YSAqZGF0YSwNCkBAIC0zOTAsNiArNDAwLDkgQEAgc3RhdGljIGlu dCBiaXRsYW5kX21pZnNfd21pX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQ0KIAlpZiAoIWRh dGEtPnBwX2RldikNCiAJCXJldHVybiAwOw0KIA0KKwlpZiAoZGF0YS0+bGlkX3F1aXJrKQ0KKwkJ Y2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZkYXRhLT5saWRfd29yayk7DQorDQogCS8qDQogCSAq IE5ldmVyIGFib3J0IHN1c3BlbmQ6IHNvbWUgZmlybXdhcmUgcmV2aXNpb25zIGFuc3dlciB0aGUg cGVyZi1tb2RlDQogCSAqIHF1ZXJ5IHdpdGggdmFsdWVzIHRoaXMgZHJpdmVyIGNhbm5vdCBtYXAs IG9yIGZhaWwgdGhlIGNhbGwNCkBAIC00MTAsNiArNDIzLDExIEBAIHN0YXRpYyBpbnQgYml0bGFu ZF9taWZzX3dtaV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQ0KIAlpZiAoIWRhdGEtPnBwX2Rl dikNCiAJCXJldHVybiAwOw0KIA0KKwlpZiAoZGF0YS0+bGlkX3F1aXJrKSB7DQorCQlkYXRhLT5s YXN0X2xpZCA9IDB4ZmY7DQorCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmRhdGEtPmxpZF93b3Jr LCAwKTsNCisJfQ0KKw0KIAlpZiAoIWRhdGEtPnByb2ZpbGVfdmFsaWQpDQogCQlyZXR1cm4gMDsN CiANCkBAIC01NDksNiArNTY3LDU3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaHdtb25fY2hpcF9p bmZvIGxhcHRvcF9jaGlwX2luZm8gPSB7DQogCS5pbmZvID0gbGFwdG9wX2h3bW9uX2luZm8sDQog fTsNCiANCisvKg0KKyAqIExpZCBzd2l0Y2ggcXVpcmsgKFhpYW9taSBCb29rIFBybyAxNCAyMDI2 KToNCisgKg0KKyAqIFRoZSBmaXJtd2FyZSBvZiB0aGlzIG1hY2hpbmUgbmV2ZXIgZGVmaW5lcyBF Q09OLCB3aGljaCBpcyByZWZlcmVuY2VkDQorICogYnkgXF9TQi5QQzAwLkxQQ0IuUV9FQy5fU1RB LCBzbyB0aGUgQUNQSSBFQyBkcml2ZXIgbmV2ZXIgYmluZHMgYW5kDQorICogbm9uZSBvZiB0aGUg RUMgcXVlcnkgaGFuZGxlcnMgcnVuLiBUaGlzIGtpbGxzIHRoZSBsaWQgZXZlbnRzDQorICogKF9R MEMvX1EwRCkgYXMgd2VsbCBhcyBldmVyeSBvdGhlciBFQy1kcml2ZW4gZXZlbnQuIFBvbGwgdGhl IGxpZA0KKyAqIHN0YXRlIGJpdCAoTFNURSkgaW4gdGhlIEVDIHNoYXJlZC1tZW1vcnkgd2luZG93 IGFuZCwgb24gYSBjaGFuZ2UsDQorICogZXZhbHVhdGUgdGhlIHZlcnkgQU1MIG1ldGhvZHMgdGhl IEVDIHF1ZXJ5IHdvdWxkIGhhdmUgcnVuOiB0aGV5DQorICogdXBkYXRlIHRoZSBHRlggQ0xJRCBm aWVsZCBhbmQgbm90aWZ5IHRoZSBQTlAwQzBEIGxpZCBkZXZpY2UsIHdoaWNoDQorICogbWFrZXMg dGhlIGJ1dHRvbiBkcml2ZXIgZW1pdCB0aGUgU1dfTElEIGV2ZW50Lg0KKyAqLw0KKyNkZWZpbmUg TUlGU19MSURfQ0xPU0VfTUVUSE9ECSJcXF9TQi5QQzAwLkxQQ0IuUV9FQy5fUTBDIg0KKyNkZWZp bmUgTUlGU19MSURfT1BFTl9NRVRIT0QJIlxcX1NCLlBDMDAuTFBDQi5RX0VDLl9RMEQiDQorDQor c3RhdGljIHZvaWQgYml0bGFuZF9taWZzX2xpZF9wb2xsKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29y aykNCit7DQorCXN0cnVjdCBiaXRsYW5kX21pZnNfd21pX2RhdGEgKmRhdGEgPQ0KKwkJY29udGFp bmVyX29mKHRvX2RlbGF5ZWRfd29yayh3b3JrKSwgc3RydWN0IGJpdGxhbmRfbWlmc193bWlfZGF0 YSwNCisJCQkgICAgIGxpZF93b3JrKTsNCisJdTggbGlkOw0KKw0KKwlsaWQgPSByZWFkYihkYXRh LT5lY19tZW0gKyBNSUZTX1YyX0VDX1JFR19MSUQpICYgTUlGU19WMl9FQ19MSURfT1BFTjsNCisJ aWYgKGxpZCAhPSBkYXRhLT5sYXN0X2xpZCAmJiBkYXRhLT5sYXN0X2xpZCAhPSAweGZmKSB7DQor CQlhY3BpX3N0YXR1cyBzdGF0dXM7DQorCQlhY3BpX3N0cmluZyBtZXRob2QgPSAoYWNwaV9zdHJp bmcpKGxpZCA/IE1JRlNfTElEX09QRU5fTUVUSE9EIDoNCisJCQkJCQkgICAgTUlGU19MSURfQ0xP U0VfTUVUSE9EKTsNCisNCisJCXN0YXR1cyA9IGFjcGlfZXZhbHVhdGVfb2JqZWN0KE5VTEwsIG1l dGhvZCwgTlVMTCwgTlVMTCk7DQorCQlpZiAoQUNQSV9GQUlMVVJFKHN0YXR1cykpDQorCQkJZGV2 X3dhcm4oJmRhdGEtPndkZXYtPmRldiwNCisJCQkJICJsaWQgJXMgQU1MIGZhaWxlZDogJXNcbiIs DQorCQkJCSBsaWQgPyAib3BlbiIgOiAiY2xvc2UiLA0KKwkJCQkgYWNwaV9mb3JtYXRfZXhjZXB0 aW9uKHN0YXR1cykpOw0KKwl9DQorCWRhdGEtPmxhc3RfbGlkID0gbGlkOw0KKw0KKwlzY2hlZHVs ZV9kZWxheWVkX3dvcmsoJmRhdGEtPmxpZF93b3JrLA0KKwkJCSAgICAgIG1zZWNzX3RvX2ppZmZp ZXMoTUlGU19WMl9MSURfUE9MTF9NUykpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IGRt aV9zeXN0ZW1faWQgYml0bGFuZF9taWZzX2xpZF9xdWlya190YWJsZVtdID0gew0KKwl7DQorCQku bWF0Y2hlcyA9IHsNCisJCQlETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJYSUFPTUkiKSwNCisJ CQlETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFNRSwgIlhpYW9taSBCb29rIFBybyAxNCIpLA0KKwkJ fSwNCisJfSwNCisJeyB9DQorfTsNCisNCiBzdGF0aWMgaW50IGxhcHRvcF9rYmRfbGVkX3NldChz dHJ1Y3QgbGVkX2NsYXNzZGV2ICpsZWRfY2RldiwNCiAJCQkgICAgICBlbnVtIGxlZF9icmlnaHRu ZXNzIHZhbHVlKQ0KIHsNCkBAIC04NDMsNiArOTEyLDkgQEAgc3RhdGljIGludCBiaXRsYW5kX21p ZnNfd21pX3Byb2JlKHN0cnVjdCB3bWlfZGV2aWNlICp3ZGV2LCBjb25zdCB2b2lkICpjb250ZXh0 KQ0KIAkJCWlmICghZHJ2X2RhdGEtPmVjX21lbSkNCiAJCQkJZGV2X3dhcm4oJndkZXYtPmRldiwN CiAJCQkJCSAiY2Fubm90IG1hcCBFQyB3aW5kb3csIGZhbiB0YWNoIHVuYXZhaWxhYmxlXG4iKTsN CisNCisJCQlkcnZfZGF0YS0+bGlkX3F1aXJrID0gZHJ2X2RhdGEtPmVjX21lbSAmJg0KKwkJCQlk bWlfY2hlY2tfc3lzdGVtKGJpdGxhbmRfbWlmc19saWRfcXVpcmtfdGFibGUpOw0KIAkJfQ0KIAl9 DQogDQpAQCAtODk3LDkgKzk2OSwyMCBAQCBzdGF0aWMgaW50IGJpdGxhbmRfbWlmc193bWlfcHJv YmUoc3RydWN0IHdtaV9kZXZpY2UgKndkZXYsIGNvbnN0IHZvaWQgKmNvbnRleHQpDQogCWlmIChy ZXQpDQogCQlyZXR1cm4gcmV0Ow0KIA0KLQlyZXR1cm4gZGV2bV9hZGRfYWN0aW9uX29yX3Jlc2V0 KCZ3ZGV2LT5kZXYsDQorCXJldCA9IGRldm1fYWRkX2FjdGlvbl9vcl9yZXNldCgmd2Rldi0+ZGV2 LA0KIAkJCQkgICAgICAgYml0bGFuZF9ub3RpZmllcl91bnJlZ2lzdGVyLA0KIAkJCQkgICAgICAg JmRydl9kYXRhLT5ub3RpZmllcik7DQorCWlmIChyZXQpDQorCQlyZXR1cm4gcmV0Ow0KKw0KKwlp ZiAoZHJ2X2RhdGEtPmxpZF9xdWlyaykgew0KKwkJSU5JVF9ERUxBWUVEX1dPUksoJmRydl9kYXRh LT5saWRfd29yaywgYml0bGFuZF9taWZzX2xpZF9wb2xsKTsNCisJCWRydl9kYXRhLT5sYXN0X2xp ZCA9IDB4ZmY7DQorCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmRydl9kYXRhLT5saWRfd29yaywN CisJCQkJICAgICAgbXNlY3NfdG9famlmZmllcyhNSUZTX1YyX0xJRF9QT0xMX01TKSk7DQorCX0N CisNCisJcmV0dXJuIDA7DQogfQ0KIA0KIHN0YXRpYyB2b2lkIGJpdGxhbmRfbWlmc193bWlfbm90 aWZ5KHN0cnVjdCB3bWlfZGV2aWNlICp3ZGV2LA0KQEAgLTk4Miw2ICsxMDY1LDE0IEBAIHN0YXRp YyB2b2lkIGJpdGxhbmRfbWlmc193bWlfbm90aWZ5KHN0cnVjdCB3bWlfZGV2aWNlICp3ZGV2LA0K IAl9DQogfQ0KIA0KK3N0YXRpYyB2b2lkIGJpdGxhbmRfbWlmc193bWlfcmVtb3ZlKHN0cnVjdCB3 bWlfZGV2aWNlICp3ZGV2KQ0KK3sNCisJc3RydWN0IGJpdGxhbmRfbWlmc193bWlfZGF0YSAqZGF0 YSA9IGRldl9nZXRfZHJ2ZGF0YSgmd2Rldi0+ZGV2KTsNCisNCisJaWYgKGRhdGEtPmxpZF9xdWly aykNCisJCWNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmZGF0YS0+bGlkX3dvcmspOw0KK30NCisN CiBzdGF0aWMgY29uc3Qgc3RydWN0IHdtaV9kZXZpY2VfaWQgYml0bGFuZF9taWZzX3dtaV9pZF90 YWJsZVtdID0gew0KIAl7IEJJVExBTkRfTUlGU19HVUlELCAodm9pZCAqKUJJVExBTkRfV01JX0NP TlRST0wgfSwNCiAJeyBCSVRMQU5EX0VWRU5UX0dVSUQsICh2b2lkICopQklUTEFORF9XTUlfRVZF TlQgfSwNCkBAIC05OTksNiArMTA5MCw3IEBAIHN0YXRpYyBzdHJ1Y3Qgd21pX2RyaXZlciBiaXRs YW5kX21pZnNfd21pX2RyaXZlciA9IHsNCiAJLmlkX3RhYmxlID0gYml0bGFuZF9taWZzX3dtaV9p ZF90YWJsZSwNCiAJLm1pbl9ldmVudF9zaXplID0gc2l6ZW9mKHN0cnVjdCBiaXRsYW5kX21pZnNf ZXZlbnQpLA0KIAkucHJvYmUgPSBiaXRsYW5kX21pZnNfd21pX3Byb2JlLA0KKwkucmVtb3ZlID0g Yml0bGFuZF9taWZzX3dtaV9yZW1vdmUsDQogCS5ub3RpZnlfbmV3ID0gYml0bGFuZF9taWZzX3dt aV9ub3RpZnksDQogfTsNCiANCi0tIA0KMi41NS4wDQoNCg==