From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7D1A0C77B7A for ; Wed, 31 May 2023 13:44:54 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CB48410E4E0; Wed, 31 May 2023 13:44:53 +0000 (UTC) Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01on2138.outbound.protection.outlook.com [40.107.113.138]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1155410E4E0 for ; Wed, 31 May 2023 13:44:51 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iq3pmMMyhjhYrBKhVNnbypijVOrypyxGlqomwmxrvTjQKIFJbKsQ4MxncWdcznAOk/DLNxSrCHm6nmpr/7I1QBUYyqW49WPxaOpmuaBsX4pq/nO2k3EkCrz3T07etXpwfy5K8HRNd2Haljef/epHMv1fK9Fxd3OJ8BujCokdSJkpqZn0d8jJNcx1CZHzP559BBJT2oP3txBMF6LSpx35OAQrbFtgZBBUoPNLeXG1LE/PjvLeNiJJQ9zHviGHOx2rdBoiO4yBeME4O+p6vdJ1zuhlmP/Ej5vZBCjWS4yN+eyjfCmjWYNWP1mV2NEp/onrKVAIZs/oxlHVyEi8pk2Duw== 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=MTEgEWGkM9RhMxbiY3h+MyZAGB5AG5FoGVi7MmyXzd8=; b=HJ7WYDVx9IK5pVfMWe29B15+xwEKyBais3Qw353BOEeIhaEU8mmyStM6mS8P7QDTuA3ZG6aAgLiCZju64Juhx1kG2W8my3f8nisAncInMxAOUPgwlBOVIO+9eh5BXNweZ/Dr8FyDFy4Ay0PbM6teK2Uuwjs7wCRecAucgoZh5QAyma0e/pVD2PzhXde4LuGHoRIIPJTheXjJUBXF6BJGs6qDn4ymvBD/m7FJWIM1M4f+74A4EzHfFF0flvrHb6E3yvLvamu5cJDtzDWXtLjB9wQRCpoBhDJQRB/GLVW5I8TiWbKUa5h+gChx38KCa+qZV0M4Z9MtTUxzTEJQWI7+Tg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MTEgEWGkM9RhMxbiY3h+MyZAGB5AG5FoGVi7MmyXzd8=; b=v3mkpPyJDdKFO7/IldQnxyVNN3f+GasxOTlNSiCbDZfP35CiOZrDVv+URd7vJK+Ak+EOleZW6LqzR6+uI3ogCHJzkSiHSCX38sWrJAC1o70X5c6uBZm9SJYGlbHuWVQcyc/whSni5tc6cYvJhxkqPqyL+FgcDiPBSedeppgl7hY= Received: from OS0PR01MB5922.jpnprd01.prod.outlook.com (2603:1096:604:bb::5) by OSZPR01MB8797.jpnprd01.prod.outlook.com (2603:1096:604:159::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.22; Wed, 31 May 2023 13:44:47 +0000 Received: from OS0PR01MB5922.jpnprd01.prod.outlook.com ([fe80::bd0a:a38d:b4d2:5d2]) by OS0PR01MB5922.jpnprd01.prod.outlook.com ([fe80::bd0a:a38d:b4d2:5d2%6]) with mapi id 15.20.6455.020; Wed, 31 May 2023 13:44:47 +0000 From: Biju Das To: Laurent Pinchart Subject: RE: [PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device API Thread-Topic: [PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device API Thread-Index: AQHZjJbXGsyu+Gf1qUyolpKmZgFmTa9w75gAgAALD6CAAyijgIAAApUwgAAqgYCAAADfgIAAHxkAgAABmUA= Date: Wed, 31 May 2023 13:44:47 +0000 Message-ID: References: <20230522101849.297499-1-biju.das.jz@bp.renesas.com> <20230522101849.297499-2-biju.das.jz@bp.renesas.com> <20230529080552.GJ25984@pendragon.ideasonboard.com> <20230531085941.GA27043@pendragon.ideasonboard.com> <20230531114103.GD27043@pendragon.ideasonboard.com> <20230531133528.GH27043@pendragon.ideasonboard.com> In-Reply-To: <20230531133528.GH27043@pendragon.ideasonboard.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: OS0PR01MB5922:EE_|OSZPR01MB8797:EE_ x-ms-office365-filtering-correlation-id: 9c405e13-f6e7-4a41-60fc-08db61dd3332 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: N5WAFALAAcNERQ6/NgTDtfdII8dnxiq96u8TSKdiViH07fW3ktwG2DBrVeTxQOWXayvMPlnrR+W/IjvjAVok6wkVIjF6CBefq9dp3gp1rWBFbtBNqwB7ICq5eOwxwnBVEMyNkDM4j+OT+PZkLZzkf/aGib1/zDWLgVH7TEEtnsvC+7TzeV/HnYEVpzHTW76U+O8Mnfuw4bcxZ+XCuQzNF+LAVqZb44scoruoiFfP8wdSWyB6HsswtYYCJpTFGbtv0y3iie4vHlweyeP5hJ0onJE5IgH84SguTq/qiTkSmDzsk/E7CooJiZMSWrdq/J80yqkJtcBTaiyPiDHhof46Zu8JjFtAzDV6Ys6OPhT90jEiHUeWE60zuCLxlb0EsacT3uOQXQX+cgD+YcRV6AyjhkgukXpsim/5nWKDaqQXRu/e0gJh+mlh6Tyn9Y7x7ba6XiYVQv+LwhzpDtyzqBmo8n47aQiavW9yOrijEf0JE6xxkG6TdZbthSJCfEaTQe23IV8w4zQyy2jtwR4xmnahdf41dKYH11d0FpvdaJ32/56HedGw7ntXcHImnz9EnG0OcjN5rGp5+EZPegRcanVte3Dm+IiYEPn2S7VI7VEPFqFWpCE4NhKZnDO7yN61o4Mr x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:OS0PR01MB5922.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(136003)(346002)(39860400002)(376002)(366004)(396003)(451199021)(5660300002)(52536014)(38100700002)(8676002)(122000001)(8936002)(55016003)(76116006)(26005)(83380400001)(66556008)(66476007)(66446008)(6506007)(66946007)(9686003)(64756008)(41300700001)(86362001)(33656002)(71200400001)(186003)(316002)(6916009)(4326008)(7696005)(38070700005)(7416002)(478600001)(54906003)(2906002)(30864003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UUZybVpPVnF3VGo1ZitUQ2FuZ0FRVnA4anU5R1RwZ1htUndVLzB4VUFWMVNJ?= =?utf-8?B?Rk9CNHppNUVTQUs4dFRYMUFpZjA1NzIrYWYvTHdzVjlMbExQMHhRa2ZaUzlx?= =?utf-8?B?VTA5NlhmS21taExPRGlSSWxSb3lKVjVoRkF4Zm44UE1mZUx1NlZJVUJJYW9I?= =?utf-8?B?Z3VnWHhRNFdsa1lLcHYzRkhER0NGQUR6QlBPbW81Z0YzeXd0Y0lYdytLSGsw?= =?utf-8?B?by9HRklkWlBIMGdOaEdDUVBrM0dNcU9jQkVKTUNaYmRHV3ZGWU9aR1ZScGVj?= =?utf-8?B?Y2dpb05rRFVyWmdOMUpOVU5jclBBZ0dRTkc2TkVDMlQ0MWZFTFlZTDZyL1hi?= =?utf-8?B?VE4vR21VSUNCdFZBbVdSWUFZeGJ2NzNvOUNsbFpKRnMwK28rNUtYWkEySnJl?= =?utf-8?B?UmRhSmpCdFVHa1BxcGk5ZDFMRnlPeDFzVWdzbmlJVlpGQnBrK3hjK0RTTjl2?= =?utf-8?B?a2hHdHAxaExoMnI0RlYvUWVvUG1abmRxeU1HY3h0VlAwWkdDV1orK2VkZllL?= =?utf-8?B?VURPK1hFQzZ2RWtCZTJEWmh2MDhWQ1U5dS9Md3UzaXZKL3h2eG5PZ21LeUUr?= =?utf-8?B?Z09ybGF4cXFYSE8wc3BNbVpJTC9YeS9tLyt1Z2MrQnVvOUVuNTVHQlhwTTVv?= =?utf-8?B?VndBZCtJQmg5Nk9ZN0FYWWNrc2RGU0kyZW00dUExOW1ML04wK01MQ3EvZy9C?= =?utf-8?B?dE5wK3FMUEF3T2crbzBycHpwbElTRFMrdUdsZ1kwbnordjFFTk5vNDVMWk1v?= =?utf-8?B?QTRLQnNldVJwRE80OTJQNlpyeHNtOVBlQ2tqdW95aHlHZHdaMVdzalV1cVJo?= =?utf-8?B?aHA3Mk9YQXh2NE9vMGQ5UHhLMll6YitmM1daQjJRQmkxbk9vTVMvUTdKVDRC?= =?utf-8?B?YVQwZ1dIdStvU25xbjYvd1dvTWlKQythM3diaExkcDZIb1JSNVkxb25haFNU?= =?utf-8?B?VDdRQ2VlcUI4cE9wdXcrWi9VdEFoTlU2TWJHMjdCNmJRZXhnNGN2RHVRNlZY?= =?utf-8?B?dnFWV1lza0tJTjBxS0JEd0hmOTg4cWs0QkNIMFhjUUJ0SUdicnZ5SUY2dURt?= =?utf-8?B?U2ZlUHNIVlE2a041Q2c3RFpJc2Y4eW5SOFViR25TZGV5cHBaUVhnVzNvdmgw?= =?utf-8?B?Q2hQTHNGcEx4YnkyVFJNa2NYbGMwZGdhWllWd3pVbnhXMTZmNDlwYnNQcWJU?= =?utf-8?B?UTdaajdKV1pEQ1JVZi83bGttR1NjSGZpTjNyem83eW5RbFlUaUVUcDNmbVB0?= =?utf-8?B?d2k3c05tMTJzQllLK21RN0UzUWFkdjhnRzBHa3owREpkNHAwQk1FYUJhQmsy?= =?utf-8?B?Z2hBUGhZRmRvRkVDcmVRZExSNXA0bUlTOHFNbGJSL3J6TUhPMDdoRzlKTHhL?= =?utf-8?B?NkdvRUZiRkVQOVpVbEMrY1h5b2ZlZGMxUGhMNGlkSjB0QkxKZUYvT0VpcUFk?= =?utf-8?B?eVgveU4yS1JmOWwyOW1iNjNYVWo4QVRmbkF2V0JEa1VmQjF0anlUZElia3NQ?= =?utf-8?B?b0tWb24yTVorOHpWZHZ2alRzS1JBamxmejlsdHN1VXY1Zk1nRENBd3B1VURW?= =?utf-8?B?K0czL21mTHBqbUdON1lZNnBsYWUzQ1BxVlFlSmtVSkcvMlpMOG1qcjRNZU9P?= =?utf-8?B?Z3pOM2dWdjdoWWdTZ1hKbTVJczRLdzZaazhkQnRqVk1JUHA5RzY0MVBBQmdY?= =?utf-8?B?TFNlRHBpU0hZejVVanVkSUxiMEVJWE01dWZnVGdFWEhvNEhna3dsRzlNN2ZF?= =?utf-8?B?RkFFampXc09tNnZiSzlla0REejlZUitWMHd3bHIzQklRQUUzazZ5OU5Dd3Fu?= =?utf-8?B?K3N1dVdZUU0wSTZyMFdXTWh3RGNENUxHbkNhV1hPZmNRdk1rV1NpQTRlTjNL?= =?utf-8?B?ZXNDeW1lTkVqU3pIMHk5QUk5M2tGVzUyVVhCZ2J4Z2ttYkg5QUF4dEcvSTRo?= =?utf-8?B?QnFIblFxNHdmWjJOWEFHaGlSSjk0dytWNFVVYlFuWDdZTkVHTXRDTGRUU0RN?= =?utf-8?B?WGhSL0dQcEZ0dEtrYUg4R2pwM1plOHFvVUYyektoVWkrdVBUSldQZzI2OGNL?= =?utf-8?B?eXk2eDdrMThiYkFqWkhZU2h2Sjg4aW1CTkRFN3VGT1M3VzNMT2JxVGVLY21r?= =?utf-8?Q?FeQlU86dNZw+/4Ss465vZMwHP?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS0PR01MB5922.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c405e13-f6e7-4a41-60fc-08db61dd3332 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 May 2023 13:44:47.7332 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: qWXCzugWUoJ8kJJqznSbHClYEgKPYaxzSkl4hhCK5KSo9ZsqvVAf8doxYetAUWESfGjM1ISb+Axq9j09vOkltkkCL3KELecK4sUohqP3fcA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSZPR01MB8797 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Corey Minyard , Alexandre Belloni , Andrzej Hajda , Geert Uytterhoeven , Antonio Borneo , "dri-devel@lists.freedesktop.org" , Wolfram Sang , "linux-i2c@vger.kernel.org" , Krzysztof Kozlowski , =?utf-8?B?TWFyZWsgQmVow7pu?= , "linux-renesas-soc@vger.kernel.org" , Robert Foss , Jonas Karlman , Kieran Bingham , Jernej Skrabec , =?utf-8?B?VXdlIEtsZWluZS1Lw7ZuaWc=?= , "linux-media@vger.kernel.org" , Alessandro Zummo , Jiasheng Jiang , Abhinav Kumar , Fabrizio Castro , Rob Herring , Ahmad Fatoum , Mauro Carvalho Chehab , Neil Armstrong , Wolfram Sang , Hans Verkuil Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGkgTGF1cmVudCwNCg0KVGhhbmtzIGZvciB0aGUgZmVlZGJhY2suDQoNCj4gU3ViamVjdDogUmU6 IFtQQVRDSCB2NSAwMS8xMV0gaTJjOiBFbmhhbmNlIGkyY19uZXdfYW5jaWxsYXJ5X2RldmljZSBB UEkNCj4gDQo+IE9uIFdlZCwgTWF5IDMxLCAyMDIzIGF0IDEyOjUzOjE4UE0gKzAwMDAsIEJpanUg RGFzIHdyb3RlOg0KPiA+ID4gU3ViamVjdDogUmU6IFtQQVRDSCB2NSAwMS8xMV0gaTJjOiBFbmhh bmNlIGkyY19uZXdfYW5jaWxsYXJ5X2RldmljZQ0KPiA+ID4gQVBJIE9uIFdlZCwgTWF5IDMxLCAy MDIzIGF0IDA5OjM0OjA2QU0gKzAwMDAsIEJpanUgRGFzIHdyb3RlOg0KPiA+ID4gPiA+IFN1Ympl Y3Q6IFJlOiBbUEFUQ0ggdjUgMDEvMTFdIGkyYzogRW5oYW5jZQ0KPiA+ID4gPiA+IGkyY19uZXdf YW5jaWxsYXJ5X2RldmljZSBBUEkgT24gTW9uLCBNYXkgMjksIDIwMjMgYXQgMDk6MDA6NDNBTQ0K PiArMDAwMCwgQmlqdSBEYXMgd3JvdGU6DQo+ID4gPiA+ID4gPiA+IFN1YmplY3Q6IFJlOiBbUEFU Q0ggdjUgMDEvMTFdIGkyYzogRW5oYW5jZQ0KPiA+ID4gPiA+ID4gPiBpMmNfbmV3X2FuY2lsbGFy eV9kZXZpY2UgQVBJIE9uIE1vbiwgTWF5IDIyLCAyMDIzIGF0DQo+IDExOjE4OjM5QU0gKzAxMDAs IEJpanUgRGFzIHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+IFJlbmVzYXMgUE1JQyBSQUEyMTUzMDAg ZXhwb3NlcyB0d28gc2VwYXJhdGUgaTJjIGRldmljZXMsDQo+ID4gPiA+ID4gPiA+ID4gb25lIGZv ciB0aGUgbWFpbiBkZXZpY2UgYW5kIGFub3RoZXIgZm9yIHJ0YyBkZXZpY2UuDQo+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBFbmhhbmNlIGkyY19uZXdfYW5jaWxsYXJ5X2RldmljZSgp IHRvIGluc3RhbnRpYXRlIGEgcmVhbA0KPiBkZXZpY2UuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+IERvZXNuJ3QgaXQgYWxyZWFkeSBpbnN0YW50aWF0ZSBhIHJlYWwgZGV2aWNlID8NCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gQW5kIHRoYXQgZnVuY3Rpb24gY2FsbHMgaTJjX25ld19jbGll bnRfZGV2aWNlKCksIHdoaWNoIGFsbG9jYXRlcw0KPiA+ID4gPiA+IGEgc3RydWN0IGkyY19jbGll bnQgdGhhdCBlbWJlZHMgYSBzdHJ1Y3QgZGV2aWNlLCBhbmQgcmVnaXN0ZXJzDQo+ID4gPiA+ID4g dGhhdCBkZXZpY2Ugd2l0aCB0aGUga2VybmVsIGRldmljZSBjb3JlLiBIb3cgaXMgdGhhdCBkaWZm ZXJlbnQsDQo+ID4gPiA+ID4gaW4gdGVybXMgb2YgaW5zdGFudGlhdGluZyBhICJyZWFsIGRldmlj ZSIsIGZyb20gd2hhdCB0aGlzIHBhdGNoDQo+IGRvZXMgPw0KPiA+ID4gPg0KPiA+ID4gPiBUaGVy ZSBpcyBhIGRpZmZlcmVuY2UsIHJpZ2h0PyBpdCBpbnN0YW50aWF0ZXMgbmV3ICJpMmMgZHVtbXkN Cj4gY2xpZW50Ig0KPiA+ID4gPiBkcml2ZXIgYW5kIGEgInJlYWwgaTJjIGNsaWVudCBkZXZpY2Ui IGRyaXZlciBsaWtlIHJ0YyBkZXZpY2UNCj4gPiA+IGNsaWVudChydGMtaXNsMjEwOCk/Pw0KPiA+ ID4NCj4gPiA+IEkgZG9uJ3Qgc2VlIGhvdyB0aGVyZSdzIGEgZGlmZmVyZW5jZSBpbiBiZWhhdmlv dXIgaW4gdGhlIGNvZGUgeW91DQo+ID4gPiBoYXZlIGltcGxlbWVudGVkLCBzb3JyeS4NCj4gPg0K PiA+IFdpbGwgcmV3b3JkLA0KPiA+DQo+ID4gRW5oYW5jZSBpMmNfbmV3X2FuY2lsbGFyeV9kZXZp Y2UoKSB0byBpbnN0YW50aWF0ZSBhICJJMkMgY2xpZW50DQo+IGRldmljZSINCj4gPiBhcGFydCBm cm9tIHRoZSBhbHJlYWR5IHN1cHBvcnRlZCAiSTJDIGR1bW15IGNsaWVudCBkZXZpY2UiLg0KPiA+ DQo+ID4gPiA+ID4gPiA+ID4gKGVnOiBJbnN0YW50aWF0ZSBydGMgZGV2aWNlIGZyb20gUE1JQyBk cml2ZXIpDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBBZGRlZCBoZWxwZXIgZnVu Y3Rpb24gX19pMmNfbmV3X2R1bW15X2RldmljZSB0byBzaGFyZSB0aGUNCj4gPiA+ID4gPiA+ID4g PiBjb2RlIGJldHdlZW4gaTJjX25ld19kdW1teV9kZXZpY2UgYW5kDQo+IGkyY19uZXdfYW5jaWxs YXJ5X2RldmljZSgpLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gQWxzbyBhZGRl ZCBoZWxwZXIgZnVuY3Rpb24gX19pMmNfbmV3X2NsaWVudF9kZXZpY2UoKSB0bw0KPiA+ID4gPiA+ ID4gPiA+IHBhc3MgcGFyZW50IGRldiBwYXJhbWV0ZXIsIHNvIHRoYXQgdGhlIGFuY2lsbGFyeSBk ZXZpY2UNCj4gPiA+ID4gPiA+ID4gPiBjYW4gYXNzaWduIGl0cyBwYXJlbnQgZHVyaW5nIGNyZWF0 aW9uLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gU3VnZ2VzdGVkLWJ5OiBHZWVy dCBVeXR0ZXJob2V2ZW4gPGdlZXJ0K3JlbmVzYXNAZ2xpZGVyLmJlPg0KPiA+ID4gPiA+ID4gPiA+ IFNpZ25lZC1vZmYtYnk6IEJpanUgRGFzIDxiaWp1LmRhcy5qekBicC5yZW5lc2FzLmNvbT4NCj4g PiA+ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiA+ID4gPiB2NC0+djU6DQo+ID4gPiA+ID4gPiA+ ID4gICogUmVwbGFjZWQgcGFyYW1ldGVyIGRldi0+cGFyZW50IGluDQo+IF9faTJjX25ld19jbGll bnRfZGV2aWNlKCkgYW5kDQo+ID4gPiA+ID4gPiA+ID4gICAgX19pMmNfbmV3X2R1bW15X2Rldmlj ZSgpLg0KPiA+ID4gPiA+ID4gPiA+ICAqIEltcHJvdmVkIGVycm9yIG1lc3NhZ2UgaW4gX19pMmNf bmV3X2R1bW15X2RldmljZSgpIGJ5DQo+IHByaW50aW5nIGRldmljZSBuYW1lLg0KPiA+ID4gPiA+ ID4gPiA+ICAqIFVwZGF0ZWQgY29tbWVudCBmb3IgYW5jaWxsYXJ5J3MgZGV2aWNlIHBhcmVudA0K PiA+ID4gPiA+ID4gPiA+ICAqIERyb3BwZWQgYXV4X2RldmljZV9uYW1lIGNoZWNrIGluDQo+IGky Y19uZXdfYW5jaWxsYXJ5X2RldmljZSgpLg0KPiA+ID4gPiA+ID4gPiA+IHYzLT52NDoNCj4gPiA+ ID4gPiA+ID4gPiAgKiBEcm9wcGVkIFJiIHRhZyBmcm9tIEdlZXJ0IGFzIHRoZXJlIGFyZSBuZXcg Y2hhbmdlcy4NCj4gPiA+ID4gPiA+ID4gPiAgKiBJbnRyb2R1Y2VkIF9faTJjX25ld19kdW1teV9k ZXZpY2UoKSB0byBzaGFyZSB0aGUgY29kZQ0KPiBiZXR3ZWVuDQo+ID4gPiA+ID4gPiA+ID4gICAg aTJjX25ld19kdW1teV9kZXZpY2UgYW5kIGkyY19uZXdfYW5jaWxsYXJ5X2RldmljZSgpLg0KPiA+ ID4gPiA+ID4gPiA+ICAqIEludHJvZHVjZWQgX19pMmNfbmV3X2NsaWVudF9kZXZpY2UoKSB0byBw YXNzIHBhcmVudCBkZXYNCj4gPiA+ID4gPiA+ID4gPiAgICBwYXJhbWV0ZXIsIHNvIHRoYXQgdGhl IGFuY2lsbGFyeSBkZXZpY2UgY2FuIGFzc2lnbiBpdHMNCj4gcGFyZW50IGR1cmluZw0KPiA+ID4g PiA+ID4gPiA+ICAgIGNyZWF0aW9uLg0KPiA+ID4gPiA+ID4gPiA+IHYzOg0KPiA+ID4gPiA+ID4g PiA+ICAqIE5ldyBwYXRjaA0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gUmVmOg0K PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jIHwgIDYgKy0NCj4gPiA+ ID4gPiA+ID4gPiAgZHJpdmVycy9pMmMvaTJjLWNvcmUtYmFzZS5jICAgICAgICAgICAgICAgICAg fCA5Mg0KPiArKysrKysrKysrKysrLS0tLS0tLQ0KPiA+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL21l ZGlhL2kyYy9hZHY3NDh4L2Fkdjc0OHgtY29yZS5jICAgICB8ICAyICstDQo+ID4gPiA+ID4gPiA+ ID4gIGRyaXZlcnMvbWVkaWEvaTJjL2Fkdjc2MDQuYyAgICAgICAgICAgICAgICAgIHwgIDMgKy0N Cj4gPiA+ID4gPiA+ID4gPiAgaW5jbHVkZS9saW51eC9pMmMuaCAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMyArLQ0KPiA+ID4gPiA+ID4gPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDY5IGluc2Vy dGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Ry di5jDQo+ID4gPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2 NzUxMV9kcnYuYw0KPiA+ID4gPiA+ID4gPiA+IGluZGV4IGRkY2VhZmE3YjYzNy4uODYzMDZiMDEw YTBhIDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv YWR2NzUxMS9hZHY3NTExX2Rydi5jDQo+ID4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMNCj4gPiA+ID4gPiA+ID4gPiBAQCAtMTA3 Miw3ICsxMDcyLDcgQEAgc3RhdGljIGludA0KPiA+ID4gPiA+ID4gPiA+IGFkdjc1MTFfaW5pdF9j ZWNfcmVnbWFwKHN0cnVjdCBhZHY3NTExICphZHYpDQo+ID4gPiA+ID4gPiA+ID4gIAlpbnQgcmV0 Ow0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gIAlhZHYtPmkyY19jZWMgPSBpMmNf bmV3X2FuY2lsbGFyeV9kZXZpY2UoYWR2LT5pMmNfbWFpbiwNCj4gImNlYyIsDQo+ID4gPiA+ID4g PiA+ID4gLQ0KPiAJQURWNzUxMV9DRUNfSTJDX0FERFJfREVGQVVMVCk7DQo+ID4gPiA+ID4gPiA+ ID4gKwkJCQkgICAgQURWNzUxMV9DRUNfSTJDX0FERFJfREVGQVVMVCwNCj4gTlVMTCk7DQo+ID4g PiA+ID4gPiA+ID4gIAlpZiAoSVNfRVJSKGFkdi0+aTJjX2NlYykpDQo+ID4gPiA+ID4gPiA+ID4g IAkJcmV0dXJuIFBUUl9FUlIoYWR2LT5pMmNfY2VjKTsNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiA+IEBAIC0xMjYxLDcgKzEyNjEsNyBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcHJvYmUo c3RydWN0DQo+IGkyY19jbGllbnQgKmkyYykNCj4gPiA+ID4gPiA+ID4gPiAgCWFkdjc1MTFfcGFj a2V0X2Rpc2FibGUoYWR2NzUxMSwgMHhmZmZmKTsNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+ICAJYWR2NzUxMS0+aTJjX2VkaWQgPSBpMmNfbmV3X2FuY2lsbGFyeV9kZXZpY2UoaTJj LA0KPiAiZWRpZCIsDQo+ID4gPiA+ID4gPiA+ID4gLQ0KPiAJQURWNzUxMV9FRElEX0kyQ19BRERS X0RFRkFVTFQpOw0KPiA+ID4gPiA+ID4gPiA+ICsJCQkJCUFEVjc1MTFfRURJRF9JMkNfQUREUl9E RUZBVUxULA0KPiBOVUxMKTsNCj4gPiA+ID4gPiA+ID4gPiAgCWlmIChJU19FUlIoYWR2NzUxMS0+ aTJjX2VkaWQpKSB7DQo+ID4gPiA+ID4gPiA+ID4gIAkJcmV0ID0gUFRSX0VSUihhZHY3NTExLT5p MmNfZWRpZCk7DQo+ID4gPiA+ID4gPiA+ID4gIAkJZ290byB1bmluaXRfcmVndWxhdG9yczsgQEAg LTEyNzEsNyArMTI3MSw3IEBADQo+IHN0YXRpYw0KPiA+ID4gPiA+ID4gPiA+IGludCBhZHY3NTEx X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpDQo+ID4gPiA+ID4gPiA+ID4gIAkJICAgICBh ZHY3NTExLT5pMmNfZWRpZC0+YWRkciA8PCAxKTsNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+ICAJYWR2NzUxMS0+aTJjX3BhY2tldCA9IGkyY19uZXdfYW5jaWxsYXJ5X2RldmljZShp MmMsDQo+ICJwYWNrZXQiLA0KPiA+ID4gPiA+ID4gPiA+IC0NCj4gCUFEVjc1MTFfUEFDS0VUX0ky Q19BRERSX0RFRkFVTFQpOw0KPiA+ID4gPiA+ID4gPiA+ICsNCj4gCUFEVjc1MTFfUEFDS0VUX0ky Q19BRERSX0RFRkFVTFQsIE5VTEwpOw0KPiA+ID4gPiA+ID4gPiA+ICAJaWYgKElTX0VSUihhZHY3 NTExLT5pMmNfcGFja2V0KSkgew0KPiA+ID4gPiA+ID4gPiA+ICAJCXJldCA9IFBUUl9FUlIoYWR2 NzUxMS0+aTJjX3BhY2tldCk7DQo+ID4gPiA+ID4gPiA+ID4gIAkJZ290byBlcnJfaTJjX3VucmVn aXN0ZXJfZWRpZDsgZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4gPiA+IGEvZHJpdmVycy9pMmMvaTJj LWNvcmUtYmFzZS5jDQo+ID4gPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2kyYy9pMmMtY29yZS1iYXNl LmMgaW5kZXgNCj4gPiA+ID4gPiA+ID4gPiBhZTNhZjczOGIwM2YuLjM0NDJhYTgwMjkwZg0KPiA+ ID4gPiA+ID4gPiA+IDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvaTJjL2ky Yy1jb3JlLWJhc2UuY3Z2Y2NjDQo+ID4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9pMmMvaTJj LWNvcmUtYmFzZS5jY2t2bHJnbnVsa2oNCj4gPiA+ID4gPiA+ID4gPiBAQCAtODkzLDI0ICs4OTMs MTAgQEAgaW50IGkyY19kZXZfaXJxX2Zyb21fcmVzb3VyY2VzKGNvbnN0DQo+IHN0cnVjdCByZXNv dXJjZSAqcmVzb3VyY2VzLA0KPiA+ID4gPiA+ID4gPiA+ICAJcmV0dXJuIDA7DQo+ID4gPiA+ID4g PiA+ID4gIH0NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IC0vKioNCj4gPiA+ID4g PiA+ID4gPiAtICogaTJjX25ld19jbGllbnRfZGV2aWNlIC0gaW5zdGFudGlhdGUgYW4gaTJjIGRl dmljZQ0KPiA+ID4gPiA+ID4gPiA+IC0gKiBAYWRhcDogdGhlIGFkYXB0ZXIgbWFuYWdpbmcgdGhl IGRldmljZQ0KPiA+ID4gPiA+ID4gPiA+IC0gKiBAaW5mbzogZGVzY3JpYmVzIG9uZSBJMkMgZGV2 aWNlOyBidXNfbnVtIGlzIGlnbm9yZWQNCj4gPiA+ID4gPiA+ID4gPiAtICogQ29udGV4dDogY2Fu IHNsZWVwDQo+ID4gPiA+ID4gPiA+ID4gLSAqDQo+ID4gPiA+ID4gPiA+ID4gLSAqIENyZWF0ZSBh biBpMmMgZGV2aWNlLiBCaW5kaW5nIGlzIGhhbmRsZWQgdGhyb3VnaA0KPiA+ID4gPiA+ID4gPiA+ IGRyaXZlciBtb2RlbA0KPiA+ID4gPiA+ID4gPiA+IC0gKiBwcm9iZSgpL3JlbW92ZSgpIG1ldGhv ZHMuICBBIGRyaXZlciBtYXkgYmUgYm91bmQgdG8NCj4gPiA+ID4gPiA+ID4gPiB0aGlzIGRldmlj ZSB3aGVuIHdlDQo+ID4gPiA+ID4gPiA+ID4gLSAqIHJldHVybiBmcm9tIHRoaXMgZnVuY3Rpb24s IG9yIGFueSBsYXRlciBtb21lbnQgKGUuZy4NCj4gPiA+ID4gPiA+ID4gPiBtYXliZSBob3RwbHVn Z2luZyB3aWxsDQo+ID4gPiA+ID4gPiA+ID4gLSAqIGxvYWQgdGhlIGRyaXZlciBtb2R1bGUpLiAg VGhpcyBjYWxsIGlzIG5vdCBhcHByb3ByaWF0ZQ0KPiA+ID4gPiA+ID4gPiA+IGZvciB1c2UgYnkg bWFpbmJvYXJkDQo+ID4gPiA+ID4gPiA+ID4gLSAqIGluaXRpYWxpemF0aW9uIGxvZ2ljLCB3aGlj aCB1c3VhbGx5IHJ1bnMgZHVyaW5nIGFuDQo+ID4gPiA+ID4gPiA+ID4gYXJjaF9pbml0Y2FsbCgp IGxvbmcNCj4gPiA+ID4gPiA+ID4gPiAtICogYmVmb3JlIGFueSBpMmNfYWRhcHRlciBjb3VsZCBl eGlzdC4NCj4gPiA+ID4gPiA+ID4gPiAtICoNCj4gPiA+ID4gPiA+ID4gPiAtICogVGhpcyByZXR1 cm5zIHRoZSBuZXcgaTJjIGNsaWVudCwgd2hpY2ggbWF5IGJlIHNhdmVkDQo+ID4gPiA+ID4gPiA+ ID4gZm9yIGxhdGVyIHVzZSB3aXRoDQo+ID4gPiA+ID4gPiA+ID4gLSAqIGkyY191bnJlZ2lzdGVy X2RldmljZSgpOyBvciBhbiBFUlJfUFRSIHRvIGRlc2NyaWJlIHRoZQ0KPiBlcnJvci4NCj4gPiA+ ID4gPiA+ID4gPiAtICovDQo+ID4gPiA+ID4gPiA+ID4gLXN0cnVjdCBpMmNfY2xpZW50ICoNCj4g PiA+ID4gPiA+ID4gPiAtaTJjX25ld19jbGllbnRfZGV2aWNlKHN0cnVjdCBpMmNfYWRhcHRlciAq YWRhcCwgc3RydWN0DQo+ID4gPiA+ID4gPiA+ID4gaTJjX2JvYXJkX2luZm8gY29uc3QgKmluZm8p DQo+ID4gPiA+ID4gPiA+ID4gK3N0YXRpYyBzdHJ1Y3QgaTJjX2NsaWVudCAqIF9faTJjX25ld19j bGllbnRfZGV2aWNlKHN0cnVjdA0KPiA+ID4gPiA+ID4gPiA+ICtpMmNfYWRhcHRlciAqYWRhcCwN Cj4gPiA+ID4gPiA+ID4gPiArCQkJc3RydWN0IGkyY19ib2FyZF9pbmZvIGNvbnN0ICppbmZvLA0K PiA+ID4gPiA+ID4gPiA+ICsJCQlzdHJ1Y3QgZGV2aWNlICpwYXJlbnQpDQo+ID4gPiA+ID4gPiA+ ID4gIHsNCj4gPiA+ID4gPiA+ID4gPiAgCXN0cnVjdCBpMmNfY2xpZW50CSpjbGllbnQ7DQo+ID4g PiA+ID4gPiA+ID4gIAlpbnQJCQlzdGF0dXM7DQo+ID4gPiA+ID4gPiA+ID4gQEAgLTk0NCw3ICs5 MzAsNyBAQCBpMmNfbmV3X2NsaWVudF9kZXZpY2Uoc3RydWN0DQo+IGkyY19hZGFwdGVyICphZGFw LCBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gY29uc3QgKmluZg0KPiA+ID4gPiA+ID4gPiA+ICAJaWYg KHN0YXR1cykNCj4gPiA+ID4gPiA+ID4gPiAgCQlnb3RvIG91dF9lcnI7DQo+ID4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gPiAtCWNsaWVudC0+ZGV2LnBhcmVudCA9ICZjbGllbnQtPmFkYXB0 ZXItPmRldjsNCj4gPiA+ID4gPiA+ID4gPiArCWNsaWVudC0+ZGV2LnBhcmVudCA9IHBhcmVudCA/ IHBhcmVudCA6DQo+ID4gPiA+ID4gPiA+ID4gKyZjbGllbnQtPmFkYXB0ZXItPmRldjsNCj4gPiA+ ID4gPiA+ID4gPiAgCWNsaWVudC0+ZGV2LmJ1cyA9ICZpMmNfYnVzX3R5cGU7DQo+ID4gPiA+ID4g PiA+ID4gIAljbGllbnQtPmRldi50eXBlID0gJmkyY19jbGllbnRfdHlwZTsNCj4gPiA+ID4gPiA+ ID4gPiAgCWNsaWVudC0+ZGV2Lm9mX25vZGUgPSBvZl9ub2RlX2dldChpbmZvLT5vZl9ub2RlKTsg QEANCj4gPiA+ID4gPiA+ID4gPiAtOTg0LDYNCj4gPiA+ID4gPiA+ID4gPiArOTcwLDI4IEBAIGky Y19uZXdfY2xpZW50X2RldmljZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsDQo+ID4gPiA+ID4g PiA+ID4gK3N0cnVjdCBpMmNfYm9hcmRfaW5mbyBjb25zdCAqaW5mDQo+ID4gPiA+ID4gPiA+ID4g IAlrZnJlZShjbGllbnQpOw0KPiA+ID4gPiA+ID4gPiA+ICAJcmV0dXJuIEVSUl9QVFIoc3RhdHVz KTsNCj4gPiA+ID4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4g PiArLyoqDQo+ID4gPiA+ID4gPiA+ID4gKyAqIGkyY19uZXdfY2xpZW50X2RldmljZSAtIGluc3Rh bnRpYXRlIGFuIGkyYyBkZXZpY2UNCj4gPiA+ID4gPiA+ID4gPiArICogQGFkYXA6IHRoZSBhZGFw dGVyIG1hbmFnaW5nIHRoZSBkZXZpY2UNCj4gPiA+ID4gPiA+ID4gPiArICogQGluZm86IGRlc2Ny aWJlcyBvbmUgSTJDIGRldmljZTsgYnVzX251bSBpcyBpZ25vcmVkDQo+ID4gPiA+ID4gPiA+ID4g KyAqIENvbnRleHQ6IGNhbiBzbGVlcA0KPiA+ID4gPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ID4g PiA+ICsgKiBDcmVhdGUgYW4gaTJjIGRldmljZS4gQmluZGluZyBpcyBoYW5kbGVkIHRocm91Z2gN Cj4gPiA+ID4gPiA+ID4gPiArZHJpdmVyIG1vZGVsDQo+ID4gPiA+ID4gPiA+ID4gKyAqIHByb2Jl KCkvcmVtb3ZlKCkgbWV0aG9kcy4gIEEgZHJpdmVyIG1heSBiZSBib3VuZCB0bw0KPiA+ID4gPiA+ ID4gPiA+ICt0aGlzIGRldmljZSB3aGVuIHdlDQo+ID4gPiA+ID4gPiA+ID4gKyAqIHJldHVybiBm cm9tIHRoaXMgZnVuY3Rpb24sIG9yIGFueSBsYXRlciBtb21lbnQgKGUuZy4NCj4gPiA+ID4gPiA+ ID4gPiArbWF5YmUgaG90cGx1Z2dpbmcgd2lsbA0KPiA+ID4gPiA+ID4gPiA+ICsgKiBsb2FkIHRo ZSBkcml2ZXIgbW9kdWxlKS4gIFRoaXMgY2FsbCBpcyBub3QgYXBwcm9wcmlhdGUNCj4gPiA+ID4g PiA+ID4gPiArZm9yIHVzZSBieSBtYWluYm9hcmQNCj4gPiA+ID4gPiA+ID4gPiArICogaW5pdGlh bGl6YXRpb24gbG9naWMsIHdoaWNoIHVzdWFsbHkgcnVucyBkdXJpbmcgYW4NCj4gPiA+ID4gPiA+ ID4gPiArYXJjaF9pbml0Y2FsbCgpIGxvbmcNCj4gPiA+ID4gPiA+ID4gPiArICogYmVmb3JlIGFu eSBpMmNfYWRhcHRlciBjb3VsZCBleGlzdC4NCj4gPiA+ID4gPiA+ID4gPiArICoNCj4gPiA+ID4g PiA+ID4gPiArICogVGhpcyByZXR1cm5zIHRoZSBuZXcgaTJjIGNsaWVudCwgd2hpY2ggbWF5IGJl IHNhdmVkDQo+ID4gPiA+ID4gPiA+ID4gK2ZvciBsYXRlciB1c2Ugd2l0aA0KPiA+ID4gPiA+ID4g PiA+ICsgKiBpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoKTsgb3IgYW4gRVJSX1BUUiB0byBkZXNjcmli ZSB0aGUNCj4gZXJyb3IuDQo+ID4gPiA+ID4gPiA+ID4gKyAqLw0KPiA+ID4gPiA+ID4gPiA+ICtz dHJ1Y3QgaTJjX2NsaWVudCAqDQo+ID4gPiA+ID4gPiA+ID4gK2kyY19uZXdfY2xpZW50X2Rldmlj ZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHN0cnVjdA0KPiA+ID4gPiA+ID4gPiA+ICtpMmNf Ym9hcmRfaW5mbyBjb25zdCAqaW5mbykgew0KPiA+ID4gPiA+ID4gPiA+ICsJcmV0dXJuIF9faTJj X25ld19jbGllbnRfZGV2aWNlKGFkYXAsIGluZm8sIE5VTEwpOyB9DQo+ID4gPiA+ID4gPiA+ID4g IEVYUE9SVF9TWU1CT0xfR1BMKGkyY19uZXdfY2xpZW50X2RldmljZSk7DQo+ID4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gPiAgLyoqDQo+ID4gPiA+ID4gPiA+ID4gQEAgLTEwNTQsNiArMTA2 MiwyNiBAQCBzdGF0aWMgc3RydWN0IGkyY19kcml2ZXINCj4gZHVtbXlfZHJpdmVyID0gew0KPiA+ ID4gPiA+ID4gPiA+ICAJLmlkX3RhYmxlCT0gZHVtbXlfaWQsDQo+ID4gPiA+ID4gPiA+ID4gIH07 DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiArc3RhdGljIHN0cnVjdCBpMmNfY2xp ZW50ICpfX2kyY19uZXdfZHVtbXlfZGV2aWNlKHN0cnVjdA0KPiBpMmNfYWRhcHRlciAqYWRhcHRl ciwNCj4gPiA+ID4gPiA+ID4gPiArCQkJCQkJIHUxNiBhZGRyZXNzLCBjb25zdCBjaGFyDQo+ICpu YW1lLA0KPiA+ID4gPiA+ID4gPiA+ICsJCQkJCQkgc3RydWN0IGRldmljZSAqcGFyZW50KSB7DQo+ ID4gPiA+ID4gPiA+ID4gKwlzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gaW5mbyA9IHsNCj4gPiA+ID4g PiA+ID4gPiArCQlJMkNfQk9BUkRfSU5GTygiZHVtbXkiLCBhZGRyZXNzKSwNCj4gPiA+ID4gPiA+ ID4gPiArCX07DQo+ID4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiA+ICsJaWYgKG5hbWUp IHsNCj4gPiA+ID4gPiA+ID4gPiArCQlzc2l6ZV90IHJldCA9IHN0cnNjcHkoaW5mby50eXBlLCBu YW1lLA0KPiA+ID4gPiA+ID4gPiA+ICtzaXplb2YoaW5mby50eXBlKSk7DQo+ID4gPiA+ID4gPiA+ ID4gKw0KPiA+ID4gPiA+ID4gPiA+ICsJCWlmIChyZXQgPCAwKQ0KPiA+ID4gPiA+ID4gPiA+ICsJ CQlyZXR1cm4gRVJSX1BUUihkZXZfZXJyX3Byb2JlKCZhZGFwdGVyLQ0KPiA+ZGV2LCByZXQsDQo+ ID4gPiA+ID4gPiA+ID4gKwkJCQkJCSAgICAgIkludmFsaWQgZGV2aWNlDQo+IG5hbWU6ICVzXG4i LA0KPiA+ID4gPiA+ID4gPiA+ICsJCQkJCQkgICAgIG5hbWUpKTsNCj4gPiA+ID4gPiA+ID4gPiAr CX0NCj4gPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ID4gKwlyZXR1cm4gX19pMmNfbmV3 X2NsaWVudF9kZXZpY2UoYWRhcHRlciwgJmluZm8sDQo+IHBhcmVudCk7DQo+ID4gPiA+ID4gPiA+ ID4gK30NCj4gPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ID4gIC8qKg0KPiA+ID4gPiA+ ID4gPiA+ICAgKiBpMmNfbmV3X2R1bW15X2RldmljZSAtIHJldHVybiBhIG5ldyBpMmMgZGV2aWNl IGJvdW5kDQo+IHRvIGEgZHVtbXkgZHJpdmVyDQo+ID4gPiA+ID4gPiA+ID4gICAqIEBhZGFwdGVy OiB0aGUgYWRhcHRlciBtYW5hZ2luZyB0aGUgZGV2aWNlIEBAIC0xMDc0LDExDQo+ID4gPiA+ID4g PiA+ID4gKzExMDIsNyBAQCBzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgZHVtbXlfZHJpdmVyID0g ew0KPiA+ID4gPiA+ID4gPiA+ICAgKi8NCj4gPiA+ID4gPiA+ID4gPiAgc3RydWN0IGkyY19jbGll bnQgKmkyY19uZXdfZHVtbXlfZGV2aWNlKHN0cnVjdA0KPiBpMmNfYWRhcHRlciAqYWRhcHRlciwg dTE2IGFkZHJlc3MpICB7DQo+ID4gPiA+ID4gPiA+ID4gLQlzdHJ1Y3QgaTJjX2JvYXJkX2luZm8g aW5mbyA9IHsNCj4gPiA+ID4gPiA+ID4gPiAtCQlJMkNfQk9BUkRfSU5GTygiZHVtbXkiLCBhZGRy ZXNzKSwNCj4gPiA+ID4gPiA+ID4gPiAtCX07DQo+ID4gPiA+ID4gPiA+ID4gLQ0KPiA+ID4gPiA+ ID4gPiA+IC0JcmV0dXJuIGkyY19uZXdfY2xpZW50X2RldmljZShhZGFwdGVyLCAmaW5mbyk7DQo+ ID4gPiA+ID4gPiA+ID4gKwlyZXR1cm4gX19pMmNfbmV3X2R1bW15X2RldmljZShhZGFwdGVyLCBh ZGRyZXNzLCBOVUxMLA0KPiA+ID4gPiA+ID4gPiA+ICtOVUxMKTsNCj4gPiA+ID4gPiA+ID4gPiAg fQ0KPiA+ID4gPiA+ID4gPiA+ICBFWFBPUlRfU1lNQk9MX0dQTChpMmNfbmV3X2R1bW15X2Rldmlj ZSk7DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBAQCAtMTEyMiwxNSArMTE0Niwx OSBAQA0KPiBFWFBPUlRfU1lNQk9MX0dQTChkZXZtX2kyY19uZXdfZHVtbXlfZGV2aWNlKTsNCj4g PiA+ID4gPiA+ID4gPiAgICogQGNsaWVudDogSGFuZGxlIHRvIHRoZSBwcmltYXJ5IGNsaWVudA0K PiA+ID4gPiA+ID4gPiA+ICAgKiBAbmFtZTogSGFuZGxlIHRvIHNwZWNpZnkgd2hpY2ggc2Vjb25k YXJ5IGFkZHJlc3MgdG8NCj4gZ2V0DQo+ID4gPiA+ID4gPiA+ID4gICAqIEBkZWZhdWx0X2FkZHI6 IFVzZWQgYXMgYSBmYWxsYmFjayBpZiBubyBzZWNvbmRhcnkNCj4gPiA+ID4gPiA+ID4gPiBhZGRy ZXNzIHdhcyBzcGVjaWZpZWQNCj4gPiA+ID4gPiA+ID4gPiArICogQGF1eF9kZXZpY2VfbmFtZTog QW5jaWxsYXJ5IGRldmljZSBuYW1lDQo+ID4gPiA+ID4gPiA+ID4gICAqIENvbnRleHQ6IGNhbiBz bGVlcA0KPiA+ID4gPiA+ID4gPiA+ICAgKg0KPiA+ID4gPiA+ID4gPiA+ICAgKiBJMkMgY2xpZW50 cyBjYW4gYmUgY29tcG9zZWQgb2YgbXVsdGlwbGUgSTJDIHNsYXZlcw0KPiBib3VuZCB0b2dldGhl ciBpbiBhIHNpbmdsZQ0KPiA+ID4gPiA+ID4gPiA+ICAgKiBjb21wb25lbnQuIFRoZSBJMkMgY2xp ZW50IGRyaXZlciB0aGVuIGJpbmRzIHRvIHRoZQ0KPiA+ID4gPiA+ID4gPiA+IG1hc3RlciBJMkMg c2xhdmUgYW5kIG5lZWRzDQo+ID4gPiA+ID4gPiA+ID4gLSAqIHRvIGNyZWF0ZSBJMkMgZHVtbXkg Y2xpZW50cyB0byBjb21tdW5pY2F0ZSB3aXRoIGFsbA0KPiB0aGUgb3RoZXIgc2xhdmVzLg0KPiA+ ID4gPiA+ID4gPiA+ICsgKiB0byBjcmVhdGUgSTJDIGFuY2lsbGFyeSBjbGllbnRzIHRvIGNvbW11 bmljYXRlIHdpdGgNCj4gYWxsIHRoZSBvdGhlciBzbGF2ZXMuDQo+ID4gPiA+ID4gPiA+ID4gICAq DQo+ID4gPiA+ID4gPiA+ID4gLSAqIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhbmQgcmV0dXJucyBh biBJMkMgZHVtbXkgY2xpZW50DQo+ID4gPiA+ID4gPiA+ID4gd2hvc2UgSTJDIGFkZHJlc3MgaXMN Cj4gPiA+ID4gPiA+ID4gPiAtICogcmV0cmlldmVkIGZyb20gdGhlIHBsYXRmb3JtIGZpcm13YXJl IGJhc2VkIG9uIHRoZQ0KPiA+ID4gPiA+ID4gPiA+IGdpdmVuIHNsYXZlIG5hbWUuIElmIG5vDQo+ ID4gPiA+ID4gPiA+ID4gLSAqIGFkZHJlc3MgaXMgc3BlY2lmaWVkIGJ5IHRoZSBmaXJtd2FyZSBk ZWZhdWx0X2FkZHIgaXMNCj4gdXNlZC4NCj4gPiA+ID4gPiA+ID4gPiArICogVGhpcyBmdW5jdGlv biBjcmVhdGVzIGFuZCByZXR1cm5zIGFuIEkyQyBhbmNpbGxhcnkNCj4gPiA+ID4gPiA+ID4gPiAr IGNsaWVudCB3aG9zZSBJMkMgYWRkcmVzcw0KPiA+ID4gPiA+ID4gPiA+ICsgKiBpcyByZXRyaWV2 ZWQgZnJvbSB0aGUgcGxhdGZvcm0gZmlybXdhcmUgYmFzZWQgb24gdGhlDQo+ID4gPiA+ID4gPiA+ ID4gKyBnaXZlbiBzbGF2ZSBuYW1lLiBpZg0KPiA+ID4gPiA+ID4gPiA+ICsgKiBhdXhfZGV2aWNl X25hbWUgaXMgc3BlY2lmaWVkIGJ5IHRoZSBmaXJtd2FyZSwNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gVW5sZXNzIEknbSBtaXNzaW5nIHNvbWV0aGluZywgYXV4X2RldmljZV9uYW1lIGlz bid0DQo+ID4gPiA+ID4gPiA+IHNwZWNpZmllZCBieSB0aGUgZmlybXdhcmUsIGl0J3MgYSBmdW5j dGlvbiBwYXJhbWV0ZXIuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSXQgaXMgc3BlY2lmaWVk IGluIHRoZSBwbGF0Zm9ybSBmaXJtd2FyZShkZXZpY2UgdHJlZQ0KPiBmaXJtd2FyZSkuDQo+ID4g PiA+ID4NCj4gPiA+ID4gPiBXaGF0IEkgbWVhbnQsIGluIHRoZSBjb250ZXh0IG9mIHRoZSBkb2N1 bWVudGF0aW9uIGhlcmUsIGlzIHRoYXQNCj4gPiA+ID4gPiB0aGUgYWRkcmVzcyBpcyByZXRyaWV2 ZWQgZnJvbSB0aGUgcGxhdGZvcm0gZmlybXdhcmUgYnkgdGhlDQo+ID4gPiA+ID4gaTJjX25ld19h bmNpbGxhcnlfZGV2aWNlKCkgZnVuY3Rpb24sIG5vdCBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIsDQo+ ID4gPiA+ID4gd2hpbGUgdGhlIG5hbWUgaXMgcGFzc2VkIGFzIGEgcGFyYW1ldGVyLiBJdCdzIG5v dCByZWxldmFudCwgZm9yDQo+ID4gPiA+ID4gdGhlIGRvY3VtZW50YXRpb24gb2YgdGhpcyBmdW5j dGlvbiwgd2hlcmUgdGhlIGNhbGxlciBnZXRzIHRoZQ0KPiBuYW1lIGZyb20uDQo+ID4gPiA+DQo+ ID4gPiA+IEFyZSB5b3Ugb2sgd2l0aCB0aGVzZSB3b3JkaW5ncz8NCj4gPiA+ID4NCj4gPiA+ID4g KiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYW5kIHJldHVybnMgYW4gSTJDIGFuY2lsbGFyeSBjbGll bnQgd2hvc2UNCj4gPiA+ID4gSTJDIGFkZHJlc3MNCj4gPiA+ID4gKiBpcyByZXRyaWV2ZWQgZnJv bSB0aGUgcGxhdGZvcm0gZmlybXdhcmUgYmFzZWQgb24gdGhlIGdpdmVuIHNsYXZlDQo+ID4gPiA+ IG5hbWUuIElmDQo+ID4gPiA+ICogYXV4X2RldmljZV9uYW1lIGlzIG5vdCBOVUxMLCB0aGUgYW5j aWxsYXJ5J3MgZGV2aWNlIHBhcmVudA0KPiA+ID4gPiAqIHdpbGwgYmUgc2V0IHRvIHRoZSBwcmlt YXJ5IGRldmljZSBvdGhlcndpc2UgaXQgd2lsbCBiZSBzZXQgdG8NCj4gSTJDIGFkYXB0ZXIuDQo+ ID4gPg0KPiA+ID4gVGhlIHdvcmRpbmcgaXMgYmV0dGVyLCBidXQgdGhpcyBpcyBub3Qgd2hhdCB5 b3UgaGF2ZSBpbXBsZW1lbnRlZCBpbg0KPiA+ID4gdGhlIGNvZGUuIFRoZSBuYW1lIGRvZXNuJ3Qg c2VsZWN0IHdoaWNoIHBhcmVudCBpcyB1c2VkLg0KPiA+DQo+ID4gSXQgaXMgdGhlIHNhbWUgaW1w bGVtZW50ZWQgaW4gdGhlIGNvZGUuDQo+ID4NCj4gPiBGb3IgdGhlIGV4aXN0aW5nIHVzZXJzLCBh dXhfZGV2aWNlX25hbWUgaXMgTlVMTCAtLT4gVGhlIHBhcmVudCBpcyBzZXQNCj4gPiBhcyAiSTJD IGFkYXB0ZXIiLg0KPiA+DQo+ID4gRm9yIGluc3RhbnRpYXRpbmcgYSAiaTJjIGNsaWVudCBkZXZp Y2UiLCBhdXhfZGV2aWNlX25hbWUgaXMgbm90IE5VTEwNCj4gPiAtLT4gVGhlIHBhcmVudCBpcyBz ZXQgYXMgcHJpbWFyeSBkZXZpY2UuDQo+ID4NCj4gPiBUaGUgcHJpbWFyeSBkZXZpY2UgaXMgdGhl IG9uZSBpbnN0YW50aWF0ZWQgdGhlICJpMmMgY2xpZW50IGRldmljZSINCj4gPiB1c2luZyBpMmNf bmV3X2FuY2lsbGFyeV9kZXZpY2UoKS4NCj4gPg0KPiA+IFBsZWFzZSBjb3JyZWN0IG1lIGlmIGFu eXRoaW5nIHdyb25nIGhlcmUuDQo+IA0KPiBCZWZvcmUgeW91ciBwYXRjaDoNCj4gDQo+IHN0cnVj dCBpMmNfY2xpZW50ICppMmNfbmV3X2FuY2lsbGFyeV9kZXZpY2Uoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCwNCj4gCQkJCQkJY29uc3QgY2hhciAqbmFtZSwNCj4gCQkJCQkJdTE2IGRlZmF1bHRf YWRkcikNCj4gew0KPiBbLi4uXQ0KPiAJcmV0dXJuIGkyY19uZXdfZHVtbXlfZGV2aWNlKGNsaWVu dC0+YWRhcHRlciwgYWRkcik7IH0NCj4gDQo+IHN0cnVjdCBpMmNfY2xpZW50ICppMmNfbmV3X2R1 bW15X2RldmljZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIHUxNg0KPiBhZGRyZXNzKSB7 DQo+IAlzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gaW5mbyA9IHsNCj4gCQlJMkNfQk9BUkRfSU5GTygi ZHVtbXkiLCBhZGRyZXNzKSwNCj4gCX07DQo+IA0KPiAJcmV0dXJuIGkyY19uZXdfY2xpZW50X2Rl dmljZShhZGFwdGVyLCAmaW5mbyk7IH0NCj4gDQo+IHN0cnVjdCBpMmNfY2xpZW50ICoNCj4gaTJj X25ld19jbGllbnRfZGV2aWNlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgc3RydWN0IGkyY19i b2FyZF9pbmZvDQo+IGNvbnN0ICppbmZvKSB7DQo+IAlzdHJ1Y3QgaTJjX2NsaWVudAkqY2xpZW50 Ow0KPiAJaW50CQkJc3RhdHVzOw0KPiANCj4gCWNsaWVudCA9IGt6YWxsb2Moc2l6ZW9mICpjbGll bnQsIEdGUF9LRVJORUwpOw0KPiAJaWYgKCFjbGllbnQpDQo+IAkJcmV0dXJuIEVSUl9QVFIoLUVO T01FTSk7DQo+IA0KPiAJY2xpZW50LT5hZGFwdGVyID0gYWRhcDsNCj4gWy4uLl0NCj4gCWNsaWVu dC0+ZGV2LnBhcmVudCA9ICZjbGllbnQtPmFkYXB0ZXItPmRldjsgWy4uLl0NCj4gCXJldHVybiBj bGllbnQ7DQo+IFsuLi5dDQo+IH0NCj4gDQo+IGkyY19uZXdfYW5jaWxsYXJ5X2RldmljZSgpIHJl dHVybnMgYW4gaTJjX2NsaWVudCB3aXRoIGNsaWVudC0+ZGV2LnBhcmVudA0KPiBzZXQgdG8gdGhl IEkyQyBhZGFwdGVyIGRldmljZS4NCj4gDQo+IEFmdGVyIHlvdXIgcGF0Y2g6DQo+IA0KPiBzdHJ1 Y3QgaTJjX2NsaWVudCAqaTJjX25ld19hbmNpbGxhcnlfZGV2aWNlKHN0cnVjdCBpMmNfY2xpZW50 ICpjbGllbnQsDQo+IAkJCQkJICAgIGNvbnN0IGNoYXIgKm5hbWUsDQo+IAkJCQkJICAgIHUxNiBk ZWZhdWx0X2FkZHIsDQo+IAkJCQkJICAgIGNvbnN0IGNoYXIgKmF1eF9kZXZpY2VfbmFtZSkNCj4g ew0KPiBbLi4uXQ0KPiAJcmV0dXJuIF9faTJjX25ld19kdW1teV9kZXZpY2UoY2xpZW50LT5hZGFw dGVyLCBhZGRyLA0KPiBhdXhfZGV2aWNlX25hbWUsDQo+IAkJCQkgICAgICAmY2xpZW50LT5kZXYp Ow0KPiB9DQo+IA0KPiBzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgKl9faTJjX25ld19kdW1teV9k ZXZpY2Uoc3RydWN0IGkyY19hZGFwdGVyDQo+ICphZGFwdGVyLA0KPiAJCQkJCQkgdTE2IGFkZHJl c3MsIGNvbnN0IGNoYXIgKm5hbWUsDQo+IAkJCQkJCSBzdHJ1Y3QgZGV2aWNlICpwYXJlbnQpDQo+ IHsNCj4gCXN0cnVjdCBpMmNfYm9hcmRfaW5mbyBpbmZvID0gew0KPiAJCUkyQ19CT0FSRF9JTkZP KCJkdW1teSIsIGFkZHJlc3MpLA0KPiAJfTsNCj4gDQo+IFsuLi5dDQo+IA0KPiAJcmV0dXJuIF9f aTJjX25ld19jbGllbnRfZGV2aWNlKGFkYXB0ZXIsICZpbmZvLCBwYXJlbnQpOyB9DQo+IA0KPiBz dGF0aWMgc3RydWN0IGkyY19jbGllbnQgKg0KPiBfX2kyY19uZXdfY2xpZW50X2RldmljZShzdHJ1 Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsDQo+IAkJCXN0cnVjdCBpMmNfYm9hcmRfaW5mbyBjb25zdCAq aW5mbywNCj4gCQkJc3RydWN0IGRldmljZSAqcGFyZW50KQ0KPiB7DQo+IAlzdHJ1Y3QgaTJjX2Ns aWVudAkqY2xpZW50Ow0KPiAJaW50CQkJc3RhdHVzOw0KPiANCj4gCWNsaWVudCA9IGt6YWxsb2Mo c2l6ZW9mICpjbGllbnQsIEdGUF9LRVJORUwpOw0KPiAJaWYgKCFjbGllbnQpDQo+IAkJcmV0dXJu IEVSUl9QVFIoLUVOT01FTSk7DQo+IA0KPiAJY2xpZW50LT5hZGFwdGVyID0gYWRhcDsNCj4gWy4u Ll0NCj4gCWNsaWVudC0+ZGV2LnBhcmVudCA9IHBhcmVudCA/IHBhcmVudCA6ICZjbGllbnQtPmFk YXB0ZXItPmRldjsNCj4gWy4uLl0NCj4gCXJldHVybiBjbGllbnQ7DQo+IFsuLi5dDQo+IH0NCj4g DQo+IGkyY19uZXdfYW5jaWxsYXJ5X2RldmljZSgpIHJldHVybnMgYW4gaTJjX2NsaWVudCB3aXRo IGNsaWVudC0+ZGV2LnBhcmVudA0KPiBzZXQgdG8gdGhlIG1haW4gaTJjX2NsaWVudCBkZXZpY2Us ICpyZWdhcmRsZXNzKiBvZiB0aGUgdmFsdWUgb2YgdGhlDQo+IGF1eF9kZXZpY2VfbmFtZSBwYXJh bWV0ZXIuDQo+IA0KPiBUaGUgYmVoYXZpb3VyIG9mIGkyY19uZXdfYW5jaWxsYXJ5X2RldmljZSgp IGhhcyBjaGFuZ2VkIGZvciBleGlzdGluZw0KPiB1c2Vycy4NCg0KT29wcyBtaXNzZWQgaXQuIFRo YW5rcyBmb3IgdGhlIGV4cGxhbmF0aW9uLg0KDQpXaWxsIGZpeCB0aGlzIGluIG5leHQgdmVyc2lv biBiYXNlZCBvbiBjb25jbHVzaW9uIG9mIHRoaXMgdGhyZWFkLg0KDQpDaGVlcnMsDQpCaWp1DQo=