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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 59AF4CD6115 for ; Mon, 9 Oct 2023 17:47:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References:Cc: To:From:Subject:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=uRh+gejkhglsqI2eIzk2VGG12wbnIgjFqxRuXthw96I=; b=r0dU6ytnMEfyOt gFla4D/Gbsn6scxIcCbaYKmeu2tAQv/5/h6ZZu40wumuBZuCC2Yf4ts65jDE7oXCPtVwLmW0OsyS7 DMDrOpHXFTdSpla5lzT0C/qHeI4jFVbSPjfiAmbtycBG5zG1eGvovPZHVQ/yU5NGOHRl0vZvhFga4 t8He1ZxvRlwoDUSsHxGf36zL2pUyYYVrvO7szLaL/E3JQM+IiwB//ignNMEPBidaXxwbjSo5VcmTd I//PgLnlyUsS+sO18rOMgys4QnP6MpQaQjl39dNgiga7uthl1r0Y6yr23hqFnsgnrKEmF2ZOPH1Cy drUuqQiOOvcbHcUFemIA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qpuL6-00BLBN-2C; Mon, 09 Oct 2023 17:46:44 +0000 Received: from mail-mw2nam10on20609.outbound.protection.outlook.com ([2a01:111:f400:7e89::609] helo=NAM10-MW2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qpuL2-00BLAO-2Y for linux-arm-kernel@lists.infradead.org; Mon, 09 Oct 2023 17:46:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RCxovDdVrXyk/nnCBcoJhzBnPWn9vDMfCwpyaKsf2TMeRCxhp++6Vtehd7KMtAFMCJ5mXVEuwtwqAHgHWe5/Hlt65A9Rj5aWEiSBAYGJv5kNnNhCrfiBe+d7dXhErapj2ozNF+m2ktc/uiHu6YM0ASBEiMIFFHqZoDGqh9ZkS8NKl7cvEu6uOGOUxWFRVNIrPl1/TLoSTlBvIOtQ0IjQRo4rBGalWzgUWqgezqYY+U6dJ4suhljrO4cdE+peqFbGvHMdxp16OQhNhyAab3RAsgbnt0tVaw2GI7cPMRsy647FhU0u76VELwl/u3IfKB5p0pX43h2GOZTJPft3qq/rBA== 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=hgPoizulzTeD8xeGBXMrepjQQEusDby8l0YcbpWXQI0=; b=fWlR9XOFjr4We3sJ5r8X/90M5bUprzRvZlGK9oLbI6X3c7UzkpfoRyMefqX8x5aXQTlqP7OahuBhyPoYQ6soi7OSbQp8hcdrUmZxlonFvFTeHGCETRh/te++rlzsDjsOUlAKgUveFaQZ0q3y/eB4pVQY9n//4X3FtBpA6EsykAFHKNqiAO1f7mDZh3m6ZuG2axz3lsr0huMTwJS15k0kR24Z5FSWsz2VRRyCsXIChB9F1rFBgG9hB06Q1By/zF0ub3RD/4hQ37daf5n7GfsKsIxVX7w2BlDo/Xi/Jw47LnqklVVu0IjViTJTEFttxlMSUHTdua2v8cxSIpK+MR5NKg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hgPoizulzTeD8xeGBXMrepjQQEusDby8l0YcbpWXQI0=; b=lCTbUt0TOmd2byJ98tsN5/jKhcwGH9qMtpIetHrFgv9GboH0KCH7gYr0q60XZOGWSs8/uFkXS94dD1IY1/oeMD8Y2t0GbN0w3Wi6GOxj4iqM50U1rPHTfwz5EYX/Oj7lbsbUkLVV0bnzuSaeEJVRbZ7CNuC6N8nTLRlF9JY06bo8o/fOMROW6cYYyTpNGGNXFHEZjCbK+10X5N6t9NShWRBzYOrn5W2k2RVHlObMAF40IQDfsDoK6iu5q4WeX1zuNzrDJMcMO8LtxGIepaTo/loAJpY4MDb8dm71cebmevlRFaMKhbPaNdAyzaSsjy3gjS/d7LHq9w5Ts/g7GqMCag== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA1PR12MB6604.namprd12.prod.outlook.com (2603:10b6:208:3a0::7) by DS7PR12MB8323.namprd12.prod.outlook.com (2603:10b6:8:da::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.36; Mon, 9 Oct 2023 17:46:33 +0000 Received: from IA1PR12MB6604.namprd12.prod.outlook.com ([fe80::8814:146:e28e:6eea]) by IA1PR12MB6604.namprd12.prod.outlook.com ([fe80::8814:146:e28e:6eea%4]) with mapi id 15.20.6863.032; Mon, 9 Oct 2023 17:46:33 +0000 Message-ID: Date: Mon, 9 Oct 2023 10:46:28 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [RFT PATCH 14/21] hte: tegra194: don't access struct gpio_chip Content-Language: en-US From: Dipen Patel To: Bartosz Golaszewski Cc: Linus Walleij , Aaro Koskinen , Janusz Krzysztofik , Tony Lindgren , Russell King , Mika Westerberg , Andy Shevchenko , Thierry Reding , Jonathan Hunter , Hans de Goede , Mark Gross , linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-acpi@vger.kernel.org, timestamp@lists.linux.dev, linux-tegra@vger.kernel.org, platform-driver-x86@vger.kernel.org, Bartosz Golaszewski References: <20230905185309.131295-1-brgl@bgdev.pl> <20230905185309.131295-15-brgl@bgdev.pl> <36b17290-c643-8d8e-e82b-49afa6b34fbb@nvidia.com> <3624e973-d09a-d211-c6d0-d0ffb8c20c4b@nvidia.com> <90b5f887-8af4-a80d-ea4d-cf2199752de4@nvidia.com> <0e7cae42-0b81-c038-8beb-49102feea8a6@nvidia.com> <647d3b52-1daf-175d-d5c2-45653dd2604c@nvidia.com> <3a54df71-d5cc-f538-75b8-f2193e27d65b@nvidia.com> In-Reply-To: <3a54df71-d5cc-f538-75b8-f2193e27d65b@nvidia.com> X-ClientProxiedBy: SJ0PR03CA0275.namprd03.prod.outlook.com (2603:10b6:a03:39e::10) To IA1PR12MB6604.namprd12.prod.outlook.com (2603:10b6:208:3a0::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA1PR12MB6604:EE_|DS7PR12MB8323:EE_ X-MS-Office365-Filtering-Correlation-Id: dfc6035b-2f15-4580-0a16-08dbc8efad37 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MHuVX08q9G4/93LkdqaSox1tWdPt2kcptrlkzhM6/f0kozPZ61bC4CMrYxjxNZmwUeCw7RVCD8KzanJtbBW9z8Pujo6oiPv055dyW9B6HlF9+RcEZ6UmuHtWyUnmDMcZoZ9Kp8kZOCzx9xO1VXg4J8kSLxm8XhAnbpE0A8Q3aQUsM5bYetMtMVNPiDp4RsX7qD/lL/g3mLt9hmjX4JUuFnHzia9PiY/2VRNLFlbEkfNkZNqAlG3sePL0ePuMbeDMmTvqM0s0S9rkEDZbJGXk59VORPjSm4RnSEGtuVPJVeVDLzHr+qFJUZYsk4XCuLWw1NJMGidTsZ+8juvZ9222ypEByw74HIU64im+ERXa1SlNFRyhkwpWr64EBzwrKtBvvQl3/MDPwh8/LnJLE9FTQcsBDoWscu4G4L8Ozu4HygSbGSPr6QN5nUAjTcgcRXdYSsRwiil9a9hFmfhaMYz5bzEgYaxZCEY4eTvYIkXlfEy4XLKPJoEpPo4p5F3mz22lBypwLJ273zWz7B25B4OVq9pTFk9AwnXeCDeYQwMoGmEygKJk2vwXi4+bp+JWF0Fl6brjWfzSxF0y3RFhnDg5rLUBYFjH1fjXsTNDjJpSqcBZoDuIekQ+hPM6DwxV/Bs4oUOSKc7lfTlcUupUPzJpBnA+F3jbGDcmOZxxQQup5dB0MHUV0cV309hcoP5ebYlH X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR12MB6604.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(39860400002)(376002)(136003)(346002)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(2906002)(6506007)(53546011)(83380400001)(2616005)(7416002)(26005)(66476007)(316002)(54906003)(6916009)(66946007)(66556008)(8936002)(4326008)(5660300002)(41300700001)(6666004)(966005)(478600001)(6512007)(6486002)(8676002)(36756003)(38100700002)(86362001)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bFN5UHZGN3A1MkFiWDYrK3p2bUU3ODBvNjJydCtNSGF5cnU0NVpJcHBacGNp?= =?utf-8?B?bXBSck1ianhQaUVlUWdjMnlDT2JRMUlMQktEUC91U0REcGw3R3lJeDJqaWlx?= =?utf-8?B?My91UVhBRmZiTHA1Vi9vLzZReHVpYmU1dFpXYUNJMzJxeVFiOElQbFMxa2xl?= =?utf-8?B?Y3ZRaVBmNjJGcldTeTBYdDFDU2hNcXEzMFo3Q0J3MC94NU1NSHMrZGlobDJU?= =?utf-8?B?V1hsbThxVDNrR0hNaXRzN0h3MTZjUEkrQzJpbHN4dHFrTUcvUVFyc1ZrQm1j?= =?utf-8?B?aGNHTjJoZnIxTFYwb2YyWGIzZllqNmViWDIyb0dSSmd2cmV0SWtLZHZ5Y1M1?= =?utf-8?B?ZXYwclZzTDk2NWtpbGtaOGVtdVJaZ3haSzFnWFByYVZOMXpBWTdDSklaeEJ6?= =?utf-8?B?Mm1OdjVONG4ySG9XU09OamJURyt6dzBtT05UQzBVcVNZcnI3ZDErbmNKZkNz?= =?utf-8?B?SkVQbFJSTGF4aThvaGFnbTJlemtYVjVIUWJKWDhFNUNEbFY4eEIwbEFmQXpZ?= =?utf-8?B?cVh0RWlGbGdZVEljYWI0WDdoN0xScndVWmh4bXZmcGJ0YXpPdjRTaGtCNVQx?= =?utf-8?B?L2hnSHJSVHFRK2xIc0dKK3ZmVUFKbzdnYmNDb2RJS0JqWVJDTHp5N3FJK0FR?= =?utf-8?B?WlhoRi8xeVY1OHd0VWVQQXl6MTZHb2RYTEhaRjBmVERXcGV4eVcreDVrc213?= =?utf-8?B?YU5ReVZ4RERaQzNZTXh1SlBnd1dxUE5aNXJ3RzVZdDRjN2NPaUtKazQrTTZV?= =?utf-8?B?elZOQURuSFQ3b0lIN1FoVDJUTXYrMU5kbnVuUUl2bXJvTzVMT3dyVXd1RWFr?= =?utf-8?B?bFdOczN6TjhEZkxpTHlRRUZCRUpvQVNEdzV0WFRnRkI5amI4VFVzd3FXZ051?= =?utf-8?B?TklRT3JLZTB5MGM3akVrZkRyT2ZxbmMyTmV3SkNEOUU4NXNpQkt3MHRkRlhX?= =?utf-8?B?VmgvZWU4dm1oaHB2ZnZZbDkxai9weXl2bDVjQmliZzRzL2ZuT3hFNTBiZ1ZR?= =?utf-8?B?cWtEaWQ4UHlmRXlBRjFQN2xwWFpNWVRRajlXWG5wWEwxd1A0cmhkK3RnWUpQ?= =?utf-8?B?NWt5TytqTk5yeDAwRCtHZGJPYmFMbFlLM2JNWWhtVXdjVW4zUmxVWUtyUStO?= =?utf-8?B?RDNXeEwwNlRyaWNtRjZ5MzZXMHV3ZUZadEs5YWxyak56aXlLR3BpY0tDUkhP?= =?utf-8?B?RmtYMS9OZXl4TkNSdXpNeDJYanJoV1ppNWJnaVNyd2tmNUIrVTdRMVBsUnFw?= =?utf-8?B?aVZsUnVhTFl2R2pQTDJOUjByNVVOVGQ0aXRkWXRiTGh4RTROVVIzakdBWGtX?= =?utf-8?B?Mk5Mb2U1WVo3dTZiQzJONHY5T2dEdUNkNmlWNDdaVUVlMUMrYTFPZ0J3dWh0?= =?utf-8?B?TEgvc0tuaTVkcm9nMkFuR0tzaEJXMll1a3NhK0dkSHhaTDlXN0d0d1NLR0xx?= =?utf-8?B?OXJSZFg3WWxQMWVvYnVlaUxwTWQvNGEycEM4VkRMZUZCa2VHN3cwTEJaMS9D?= =?utf-8?B?RzhjS1lvWEJZWGM0OG41NEN1UFpzajQ5ZW9TVWJ4R2J2ZTNlalhKRHBYTHhN?= =?utf-8?B?ZkJjb040ZDVkbzQ2QzhKdzhkZUI4ZGRDckRwd3FlZVdTVDJSTzE5VTU5SVlx?= =?utf-8?B?Q0o4RjVIWUp2NlljS1RIdmRXUXR4VmloV2VGamVaSnF1dTNYKzd6ZTFUSjIz?= =?utf-8?B?TWlVNnNuYmJjdk1iMW9TVURrRktjVzVzNExleDdIQ05PR2JjWHVnVktmRGVy?= =?utf-8?B?c1hxcmFDWktzRUpGU2ZlL1RaNGJQOTZ1UDMyL1lFb24ya2F5TEJKdVZ5Z0NW?= =?utf-8?B?SmtTZU5XRjBNT0NSdjFPaGRBTFIvbnNEWUdsUTFKWk14dlB2QlZ4WUpxV2RC?= =?utf-8?B?bzI5aE5YYVNmL1AvZVBlZkl4SEVNRllWWjBjZ2pEVlIxLzZ1T0hnajNWY2JC?= =?utf-8?B?L3RySk5xVUdFc1Rsb2UxRWduWkxHcjE1REdHMDJNdUtiK1BLOE9NR1E1bXNt?= =?utf-8?B?M0t5b0dKc0lBSjFSeDd2NmkrbFZSMkI3S0tQNnU4YUVwTThaa09VQkE4VEhB?= =?utf-8?B?UEZTcy96YTVvOEMxRlhseHJMVG5ZaDBycTgrQjh1eWkrRzJpc1FDa3RQbUxG?= =?utf-8?Q?gwXee6et4NSSGsJfDzyvwBmc+?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: dfc6035b-2f15-4580-0a16-08dbc8efad37 X-MS-Exchange-CrossTenant-AuthSource: IA1PR12MB6604.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2023 17:46:33.4220 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /E0s9DozjuZtUT6tZrNsgiOJAvhQaiTm4qbG3mafOWcx7tz4mRZe9weGXp3SQHvsJfUiKFjC+i/ums9glf1Udg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8323 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231009_104640_912786_EE5F138B X-CRM114-Status: GOOD ( 27.29 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTAvOS8yMyA5OjM0IEFNLCBEaXBlbiBQYXRlbCB3cm90ZToKPiBPbiAxMC84LzIzIDExOjQ4 IFBNLCBCYXJ0b3N6IEdvbGFzemV3c2tpIHdyb3RlOgo+PiBPbiBUaHUsIE9jdCA1LCAyMDIzIGF0 IDk6NDPigK9QTSBEaXBlbiBQYXRlbCA8ZGlwZW5wQG52aWRpYS5jb20+IHdyb3RlOgo+Pj4KPj4+ IE9uIDEwLzUvMjMgMTI6MDUgUE0sIEJhcnRvc3ogR29sYXN6ZXdza2kgd3JvdGU6Cj4+Pj4gT24g VGh1LCBPY3QgNSwgMjAyMyBhdCA4OjEy4oCvUE0gRGlwZW4gUGF0ZWwgPGRpcGVucEBudmlkaWEu Y29tPiB3cm90ZToKPj4+Pj4KPj4+Pj4gT24gMTAvNS8yMyA2OjQ4IEFNLCBCYXJ0b3N6IEdvbGFz emV3c2tpIHdyb3RlOgo+Pj4+Pj4gT24gVGh1LCBPY3QgNSwgMjAyMyBhdCAxOjUy4oCvQU0gRGlw ZW4gUGF0ZWwgPGRpcGVucEBudmlkaWEuY29tPiB3cm90ZToKPj4+Pj4+Pgo+Pj4+Pj4+IE9uIDEw LzQvMjMgMzo1NCBQTSwgRGlwZW4gUGF0ZWwgd3JvdGU6Cj4+Pj4+Pj4+IE9uIDEwLzQvMjMgMToz MyBQTSwgRGlwZW4gUGF0ZWwgd3JvdGU6Cj4+Pj4+Pj4+PiBPbiAxMC80LzIzIDE6MzAgUE0sIERp cGVuIFBhdGVsIHdyb3RlOgo+Pj4+Pj4+Pj4+IE9uIDEwLzQvMjMgNTowMCBBTSwgQmFydG9zeiBH b2xhc3pld3NraSB3cm90ZToKPj4+Pj4+Pj4+Pj4gT24gVGh1LCBTZXAgNywgMjAyMyBhdCA5OjI4 4oCvQU0gTGludXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPiB3cm90ZToKPj4+ Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+PiBPbiBUdWUsIFNlcCA1LCAyMDIzIGF0IDg6NTPigK9QTSBC YXJ0b3N6IEdvbGFzemV3c2tpIDxicmdsQGJnZGV2LnBsPiB3cm90ZToKPj4+Pj4+Pj4+Pj4+Cj4+ Pj4+Pj4+Pj4+Pj4gRnJvbTogQmFydG9zeiBHb2xhc3pld3NraSA8YmFydG9zei5nb2xhc3pld3Nr aUBsaW5hcm8ub3JnPgo+Pj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+Pj4gVXNpbmcgc3RydWN0IGdw aW9fY2hpcCBpcyBub3Qgc2FmZSBhcyBpdCB3aWxsIGRpc2FwcGVhciBpZiB0aGUKPj4+Pj4+Pj4+ Pj4+PiB1bmRlcmx5aW5nIGRyaXZlciBpcyB1bmJvdW5kIGZvciBhbnkgcmVhc29uLiBTd2l0Y2gg dG8gdXNpbmcgcmVmZXJlbmNlCj4+Pj4+Pj4+Pj4+Pj4gY291bnRlZCBzdHJ1Y3QgZ3Bpb19kZXZp Y2UgYW5kIGl0cyBkZWRpY2F0ZWQgYWNjZXNzb3JzLgo+Pj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+ Pj4gU2lnbmVkLW9mZi1ieTogQmFydG9zeiBHb2xhc3pld3NraSA8YmFydG9zei5nb2xhc3pld3Nr aUBsaW5hcm8ub3JnPgo+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+IEFzIEFuZHkgcG9pbnRzIG91 dCBhZGQgPGxpbnV4L2NsZWFudXAuaD4sIHdpdGggdGhhdCBmaXhlZDoKPj4+Pj4+Pj4+Pj4+IFJl dmlld2VkLWJ5OiBMaW51cyBXYWxsZWlqIDxsaW51cy53YWxsZWlqQGxpbmFyby5vcmc+Cj4+Pj4+ Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+Pj4gSSB0aGluayB0aGlzIGNhbiBiZSBtZXJnZWQgaW50byB0aGUg Z3BpbyB0cmVlIGFmdGVyIGxlYXZpbmcgc29tZQo+Pj4+Pj4+Pj4+Pj4gc2xhY2sgZm9yIHRoZSBI VEUgbWFpbnRhaW5lciB0byBsb29rIGF0IGl0LCB0aGluZ3MgbG9vayBzbyBtdWNoCj4+Pj4+Pj4+ Pj4+PiBiZXR0ZXIgYWZ0ZXIgdGhpcy4KPj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+PiBZb3VycywK Pj4+Pj4+Pj4+Pj4+IExpbnVzIFdhbGxlaWoKPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4gRGlwZW4s Cj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IGlmIHlvdSBjb3VsZCBnaXZlIHRoaXMgcGF0Y2ggYSB0 ZXN0IGFuZCBwb3NzaWJseSBhY2sgaXQgZm9yIG1lIHRvIHRha2UKPj4+Pj4+Pj4+Pj4gaXQgdGhy b3VnaCB0aGUgR1BJTyB0cmVlIChvciBnbyB0aGUgaW1tdXRhYmxlIHRhZyBmcm9tIEhURSByb3V0 ZSkgdGhlbgo+Pj4+Pj4+Pj4+PiBpdCB3b3VsZCBiZSBncmVhdC4gVGhpcyBpcyB0aGUgbGFzdCB1 c2VyIG9mIGdwaW9jaGlwX2ZpbmQoKSB0cmVld2lkZSwKPj4+Pj4+Pj4+Pj4gc28gd2l0aCBpdCB3 ZSBjb3VsZCByZW1vdmUgaXQgZW50aXJlbHkgZm9yIHY2LjcuCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+ PiBQcm9ncmVzcyBzbyBmYXIgZm9yIHRoZSBSRlQuLi4KPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+IEkg dHJpZWQgYXBwbHlpbmcgdGhlIHBhdGNoIHNlcmllcyBvbiA2LjYtcmMxIGFuZCBpdCBkaWQgbm90 IGFwcGx5IGNsZWFubHksCj4+Pj4+Pj4+Pj4gc29tZSBwYXRjaGVzIEkgbmVlZGVkIHRvIG1hbnVh bGx5IGFwcGx5IGFuZCBjb3JyZWN0LiBXaXRoIGFsbCB0aGlzLCBpdCBmYWlsZWQKPj4+Pj4+Pj4+ PiBjb21waWxhdGlvbiBhdCBzb21lIHNwaS9zcGktYmNtMjgzNSBkcml2ZXIuIEkgZGlzYWJsZWQg dGhhdCBhbmQgd2FzIGFibGUgdG8KPj4+Pj4+Pj4+PiBjb21waWxlLiBJIHRob3VnaHQgSSBzaG91 bGQgbGV0IHlvdSBrbm93IHRoaXMgcGFydC4KPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+IE5vdywgSSB0 cmllZCB0byB0ZXN0IHRoZSBodGUgYW5kIGl0IHNlZW1zIHRvIGZhaWwgZmluZGluZyB0aGUgZ3Bp byBkZXZpY2UsCj4+Pj4+Pj4+Pj4gcm91Z2hseSBhcm91bmQgdGhpcyBwbGFjZSBbMV0uIEkgdGhv dWdodCBpdCB3b3VsZCBiZSB5b3VyIHBhdGNoIHNlcmllcyBzbwo+Pj4+Pj4+Pj4+IHRyaWVkIHRv IGp1c3QgdXNlIDYuNnJjMSB3aXRob3V0IHlvdXIgcGF0Y2hlcyBhbmQgaXQgc3RpbGwgZmFpbGVk IGF0IHRoZQo+Pj4+Pj4+Pj4+IHNhbWUgcGxhY2UuIEkgaGF2ZSB0byB0cmFjZSBiYWNrIG5vdyBm cm9tIHdoaWNoIGtlcm5lbCB2ZXJzaW9uIGl0IGJyb2tlLgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IFsx XS4KPj4+Pj4+Pj4+IGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwv Z2l0L3BhdGVsZGlwZW4xOTg0L2xpbnV4LmdpdC90cmVlL2RyaXZlcnMvaHRlL2h0ZS10ZWdyYTE5 NC5jP2g9Zm9yLW5leHQjbjc4MQo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IG9mIGNvdXJzZSB3aXRoIHlv dXIgcGF0Y2hlcyBpdCB3b3VsZCBmYWlsIGZvciB0aGUgZ2RldiBpbnN0ZWFkIG9mIHRoZSBjaGlw Lgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBTbWFsbCB1cGRhdGU6Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+IEkgcHV0 IHNvbWUgZGVidWdnaW5nIHByaW50cyBpbiB0aGUgZ3BpbyBtYXRjaCBmdW5jdGlvbiBpbiB0aGUg aHRlLXRlZ3JhMTk0LmMgYXMKPj4+Pj4+Pj4gYmVsb3c6Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+IHN0YXRp YyBpbnQgdGVncmFfZ3Bpb2NoaXBfbWF0Y2goc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdm9pZCAq ZGF0YSkKPj4+Pj4+Pj4gIHsKPj4+Pj4+Pj4gKyAgICAgICBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5v ZGUgPSBkYXRhOwo+Pj4+Pj4+PiArICAgICAgIHN0cnVjdCBmd25vZGVfaGFuZGxlICpmdyA9IG9m X25vZGVfdG9fZndub2RlKGRhdGEpOwo+Pj4+Pj4+PiArICAgICAgIGlmICghZncgfHwgIWNoaXAt PmZ3bm9kZSkKPj4+Pj4+Pj4gKyAgICAgICAgICAgICAgIHByX2VycigiZGlwZW4gcGF0ZWw6IGZ3 IGlzIG51bGxcbiIpOwo+Pj4+Pj4+Pgo+Pj4+Pj4+PiAtICAgICAgIHByX2VycigiJXM6JWRcbiIs IF9fZnVuY19fLCBfX0xJTkVfXyk7Cj4+Pj4+Pj4+ICsgICAgICAgcHJfZXJyKCJkaXBlbiBwYXRl bCwgJXM6JWQ6ICVzLCAlcywgJXMsIG1hdGNoPzolZCwgZndub2RlIG5hbWU6JXNcbiIsCj4+Pj4+ Pj4+IF9fZnVuY19fLCBfX0xJTkVfXywgY2hpcC0+bGFiZWwsIG5vZGUtPm5hbWUsIG5vZGUtPmZ1 bGxfbmFtZSwgKGNoaXAtPmZ3bm9kZSA9PQo+Pj4+Pj4+PiBmdyksIGZ3LT5kZXYtPmluaXRfbmFt ZSk7Cj4+Pj4+Pj4+ICAgICAgICAgcmV0dXJuIGNoaXAtPmZ3bm9kZSA9PSBvZl9ub2RlX3RvX2Z3 bm9kZShkYXRhKTsKPj4+Pj4+Pj4gIH0KPj4+Pj4+Pj4KPj4+Pj4+Pj4gVGhlIG91dHB1dCBvZiB0 aGUgcHJpbnRmcyBsb29rcyBsaWtlIGJlbG93Ogo+Pj4+Pj4+PiBbICAgIDMuOTU1MTk0XSBkaXBl biBwYXRlbDogZncgaXMgbnVsbCAtLS0tLT4gdGhpcyBtZXNzYWdlIHN0YXJ0ZWQgYXBwZWFyaW5n Cj4+Pj4+Pj4+IHdoZW4gSSBhZGRlZCAhY2hpcC0+Zndub2RlIHRlc3QgaW4gdGhlIGlmIGNvbmRp dGlvbiBsaW5lLgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBbICAgIDMuOTU4ODY0XSBkaXBlbiBwYXRlbCwg dGVncmFfZ3Bpb2NoaXBfbWF0Y2g6Njg5OiB0ZWdyYTIzNC1ncGlvLCBncGlvLAo+Pj4+Pj4+PiBn cGlvQGMyZjAwMDAsIG1hdGNoPzowLCBmd25vZGUgbmFtZToobnVsbCkKPj4+Pj4+Pj4KPj4+Pj4+ Pj4gSSBjb25jbHVkZSB0aGF0IGNoaXAtPmZ3bm9kZSBpcyBlbXB0eS4gQW55IGlkZWEgaW4gd2hp Y2ggY29uZGl0aW9ucyB0aGF0IG5vZGUKPj4+Pj4+Pj4gd291bGQgYmUgZW1wdHk/Cj4+Pj4+Pj4K Pj4+Pj4+PiBzb3JyeSBmb3Igc3BhbW1pbmcsIG9uZSBsYXN0IG1lc3NhZ2UgYmVmb3JlIEkgc2ln biBvZmYgZm9yIHRoZSBkYXkuLi4uCj4+Pj4+Pj4KPj4+Pj4+PiBTZWVtcywgYWRkaW5nIGJlbG93 IGluIHRoZSB0ZWdyYSBncGlvIGRyaXZlciByZXNvbHZlZCB0aGUgaXNzdWUgSSBhbSBmYWNpbmcs IEkKPj4+Pj4+PiB3YXMgYWJsZSB0byB2ZXJpZnkgeW91ciBwYXRjaCBzZXJpZXMuCj4+Pj4+Pj4K Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncGlvL2dwaW8tdGVncmExODYuYyBiL2RyaXZl cnMvZ3Bpby9ncGlvLXRlZ3JhMTg2LmMKPj4+Pj4+PiBpbmRleCBkODdkZDA2ZGI0MGQuLmE1NmMx NTlkNzEzNiAxMDA2NDQKPj4+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwaW8vZ3Bpby10ZWdyYTE4Ni5j Cj4+Pj4+Pj4gKysrIGIvZHJpdmVycy9ncGlvL2dwaW8tdGVncmExODYuYwo+Pj4+Pj4+IEBAIC05 ODksNiArOTg5LDggQEAgc3RhdGljIGludCB0ZWdyYTE4Nl9ncGlvX3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCj4+Pj4+Pj4gICAgICAgICAgICAgICAgIG9mZnNldCArPSBwb3J0 LT5waW5zOwo+Pj4+Pj4+ICAgICAgICAgfQo+Pj4+Pj4+Cj4+Pj4+Pj4gKyAgICAgICBncGlvLT5n cGlvLmZ3bm9kZSA9IG9mX25vZGVfdG9fZndub2RlKHBkZXYtPmRldi5vZl9ub2RlKTsKPj4+Pj4+ PiArCj4+Pj4+Pj4gICAgICAgICByZXR1cm4gZGV2bV9ncGlvY2hpcF9hZGRfZGF0YSgmcGRldi0+ ZGV2LCAmZ3Bpby0+Z3BpbywgZ3Bpbyk7Cj4+Pj4+Pj4gIH0KPj4+Pj4+Pgo+Pj4+Pj4+IE5vdywg ZmV3IGZvbGxvdyB1cCBxdWVzdGlvbnM6Cj4+Pj4+Pj4gMSkgaXMgdGhpcyB0aGUgY29ycmVjdCB3 YXkgb2Ygc2V0dGluZyB0aGUgY2hpcCBmd25vZGUgaW4gdGhlIGdwaW8gZHJpdmVyPwo+Pj4+Pj4K Pj4+Pj4+IFlvdSBzaG91bGRuJ3QgbmVlZCB0aGlzLiBUaGlzIGRyaXZlciBhbHJlYWR5IGRvZXM6 Cj4+Pj4+Pgo+Pj4+Pj4gICAgIGdwaW8tPmdwaW8ucGFyZW50ID0gJnBkZXYtPmRldjsKPj4+Pj4+ Cj4+Pj4+PiBzbyBmd25vZGUgc2hvdWxkIGJlIGFzc2lnbmVkIGluIGdwaW9jaGlwX2FkZF9kYXRh X3dpdGhfa2V5KCkuIENhbiB5b3UKPj4+Pj4+IGNoZWNrIHdoeSB0aGlzIGRvZXNuJ3QgaGFwcGVu Pwo+Pj4+Pgo+Pj4+PiBJIGRvIG5vdCBzZWUgYW55d2hlcmUgY2hpcC0+Zndub2RlIGJlaW5nIHNl dCBpbiB0aGUgZ3Bpb2NoaXBfYWRkXyogZnVuY3Rpb24uCj4+Pj4+IFRoZSBvbmx5IHJlZmVyZW5j ZSBJIHNlZSBpcyBoZXJlIFsxXS4gRG9lcyBpdCBtZWFuIEkgbmVlZCB0byBjaGFuZ2UgbXkgbWF0 Y2gKPj4+Pj4gZnVuY3Rpb24gZnJvbToKPj4+Pj4KPj4+Pj4gY2hpcC0+Zndub2RlID09IG9mX25v ZGVfdG9fZndub2RlKGRhdGEpCj4+Pj4+Cj4+Pj4+IHRvOgo+Pj4+PiBkZXZfZndub2RlKGNoaXAt PnBhcmVudCkgPT0gb2Zfbm9kZV90b19md25vZGUoZGF0YSk/Cj4+Pj4KPj4+PiBObyEgY2hpcC0+ Zndub2RlIGlzIG9ubHkgdXNlZCB0byBsZXQgR1BJT0xJQiBrbm93IHdoaWNoIGZ3bm9kZSB0bwo+ Pj4+IGFzc2lnbiB0byB0aGUgR1BJTyBkZXZpY2UgKHN0cnVjdCBncGlvX2RldmljZSkuCj4+PiBX aGF0IGRvIHlvdSBzdWdnZXN0IEkgc2hvdWxkIHVzZSBmb3IgdGhlIG1hdGNoIGFzIEkgZG8gbm90 IHNlZSBjaGlwLT5md25vZGUKPj4+IGJlaW5nIHNldD8KPj4+Cj4+Cj4+IFRoaXMgaXMgbW9zdCBs aWtlbHkgZ29pbmcgdG8gYmUgYSBsb25nZXIgZGlzY3Vzc2lvbi4gSSBzdWdnZXN0IHRoYXQgaW4K Pj4gdGhlIG1lYW50aW1lIHlvdSBqdXN0IGFzc2lnbiB0aGUgZ2MtPmZ3bm9kZSBwb2ludGVyIGV4 cGxpY2l0bHkgZnJvbQo+PiB0aGUgcGxhdGZvcm0gZGV2aWNlIGluIHRoZSB0ZWdyYSBHUElPIGRy aXZlciBhbmQgdXNlIGl0IGluIHRoZSBsb29rdXAKPj4gZnVuY3Rpb24uIE5vdGUgdGhhdCB0aGlz IGlzIE5PVCB3cm9uZyBvciBhIGhhY2suIEl0J3MganVzdCB0aGF0IG1vc3QKPj4gZGV2aWNlcyBk b24ndCBuZWVkIHRvIGJlIGxvb2tlZCB1cCB1c2luZyBncGlvX2RldmljZV9maW5kKCkuCj4gCj4g U3VyZSwgYXQgdGhlIHNhbWUgdGltZSwgSSBhbSBhbHNvIGZpbmQgdG8gdXNlIGFueSBvdGhlciBt ZXRob2Qvcy4KCihDb3JyZWN0aW9uKSBJIGFtIGFsc28gZmluZSoKCldpdGggcGF0Y2gKaHR0cHM6 Ly9wYXRjaHdvcmsub3psYWJzLm9yZy9wcm9qZWN0L2xpbnV4LWdwaW8vcGF0Y2gvMjAyMzEwMDkx NzM4NTguNzIzNjg2LTEtZGlwZW5wQG52aWRpYS5jb20vCgpUZXN0ZWQtYnk6IERpcGVuIFBhdGVs IDxkaXBlbnBAbnZpZGlhLmNvbT4KCj4+Cj4+IEJhcnQKPj4KPj4+Pgo+Pj4+IEJhcnQKPj4+Pgo+ Pj4+Pgo+Pj4+PiBbMV06Cj4+Pj4+IGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51 eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4LmdpdC90cmVlL2RyaXZlcnMvZ3Bpby9ncGlvbGli LmM/aD12Ni42LXJjMSNuNzY3Cj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4gQmFydAo+Pj4+Pj4KPj4+Pj4+ PiAyKSBPciBzaG91bGQgSSB1c2Ugc29tZXRoaW5nIGVsc2UgaW4gaHRlIG1hdGNoaW5nIGZ1bmN0 aW9uIGluc3RlYWQgb2YgZndub2RlIHNvCj4+Pj4+Pj4gdG8gYXZvaWQgYWRkaW5nIGFib3ZlIGxp bmUgaW4gdGhlIGdwaW8gZHJpdmVyPwo+Pj4+Pj4+Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4KPj4+Pj4+ Pj4+Pj4KPj4+Pj4+Pj4+Pj4gQmFydAo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+ Pj4+Cj4+Pj4+Cj4+Pgo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK