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 8CFECC0015E for ; Wed, 26 Jul 2023 05:26:52 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C69ED10E412; Wed, 26 Jul 2023 05:26:51 +0000 (UTC) Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2B4E110E412 for ; Wed, 26 Jul 2023 05:26:49 +0000 (UTC) X-UUID: 02c0d3742b7511ee9cb5633481061a41-20230726 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:MIME-Version:Content-Transfer-Encoding:Content-ID:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From; bh=D80viBEX9Vdlktyc1eyAM7MnhhJ84uC0O0qTy5cj/OA=; b=TEVBaFBS2+HaYiY2G2EVfyrLJQwntLQuDBFsrFERC3LqgmbfztsIZWRqPoMRISyMz5PhdGVAOGeHM9j9a57FVCrOmoP2s3nHrw9QQDjJgV1pF5TLqVyJM4UjpF922CW7uWob2PjnRhOKOiHj+ZWb+9bbto0/JAIZ0ySWYPOcy1o=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.29, REQID:161d376e-5223-4744-9ec6-807a743476a3, IP:0, U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:45,FILE:0,BULK:0,RULE:Release_Ham,ACTION :release,TS:45 X-CID-INFO: VERSION:1.1.29, REQID:161d376e-5223-4744-9ec6-807a743476a3, IP:0, URL :0,TC:0,Content:0,EDM:0,RT:0,SF:45,FILE:0,BULK:0,RULE:Release_Ham,ACTION:r elease,TS:45 X-CID-META: VersionHash:e7562a7, CLOUDID:6e47ccb3-a467-4aa9-9e04-f584452e3794, B ulkID:230726132646JAK5REKZ,BulkQuantity:0,Recheck:0,SF:38|29|28|17|19|48|1 02,TC:nil,Content:0,EDM:-3,IP:nil,URL:11|1,File:nil,Bulk:nil,QS:nil,BEC:ni l,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR:NO,DKR:PA,DKP:0,BRR:0,BRE:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_ULN, TF_CID_SPAM_SNR, TF_CID_SPAM_SDM, TF_CID_SPAM_FAS, TF_CID_SPAM_FSD X-UUID: 02c0d3742b7511ee9cb5633481061a41-20230726 Received: from mtkmbs13n1.mediatek.inc [(172.21.101.193)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1514885602; Wed, 26 Jul 2023 13:26:45 +0800 Received: from mtkmbs10n1.mediatek.inc (172.21.101.34) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Wed, 26 Jul 2023 13:26:44 +0800 Received: from APC01-TYZ-obe.outbound.protection.outlook.com (172.21.101.237) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Wed, 26 Jul 2023 13:26:43 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X2TbFH3bo8wkHGjI1VlEmeG3qa5NjDbhzYQsO+5Jzv/k2Pk11Smdu0AfjhrrOdDqDFB5Oad+IATwpguXPQJkE1j1yB5UM3ErpiacW5KF285escPrIpnKCRO/VZdxzjmHDAa2S9rQ3Rki41eXQ+mV6dwaL3fEtIgbRmnDtpiYFAG9jzwe7SO+i4cQVl1FnUdyMgklomMEPDhPaWVD+kzixAncONoToXLDD9S7xWkG2mjwdXSa8zcsZjv4R+b9t+2Oa2rcuM3nzdbxtoV4ugp4iUQciPzKy4ezsQhwdahA7tWKKwQCHbsoT+49pG4sVnttOR4QsXlHGjMGCgcdyvZP8A== 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=LhmNFHqKITvxLqbPzdZ+t3LGV4zfwGsd57n+2L3rMps=; b=f9wacemF4xewp/uLMzNxSwDwQWq4vJHKPLCpyyWZYbmNfc6gYD6gA37g0J+zkoQHe34BO+J+2wKPfOms342SH3fH7wtj4PJhbJLAAtaFUQ7zut5X7ExBOVoOm4wdgPohdAGq/N7LhMabY8WzGcKSDC5iMrDlL34rRJ3A/F3K1F2Vc9XsI6JJAxY0H1lpL6zN8ZTlSp5nJCawurBg6VbCdX/gg9l6E1oEEDs4y4ZcLR7xRGRoUMaO+ou4E/I4SkRoNex3dSsCQxfwPurka1CVgQUT0UBddLDUtCC4RaYYWyQzX4iEK/6imfA+RIhey5hGl0xg45b91AVqyURHnSYqOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mediatek.com; dmarc=pass action=none header.from=mediatek.com; dkim=pass header.d=mediatek.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mediateko365.onmicrosoft.com; s=selector2-mediateko365-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LhmNFHqKITvxLqbPzdZ+t3LGV4zfwGsd57n+2L3rMps=; b=AcXZyG3MHhjLhIzOLMqc6mQkyMVOnIGJxr6DPvXQGFAvs286J9/cTe/RogNeJ3hBMiv/Va2cueBZrkbQoCjC4bGMbtWXMlOvDoar9ndNY/gqunJ8uO2eQesunDPaqyEx6eka8a8AzNybI+dPoN3CWaQMle9WCmVLoaVPOS9Mz7M= Received: from TYZPR03MB6624.apcprd03.prod.outlook.com (2603:1096:400:1f4::13) by JH0PR03MB7933.apcprd03.prod.outlook.com (2603:1096:990:32::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.29; Wed, 26 Jul 2023 05:26:41 +0000 Received: from TYZPR03MB6624.apcprd03.prod.outlook.com ([fe80::d126:7f34:9e4f:a95]) by TYZPR03MB6624.apcprd03.prod.outlook.com ([fe80::d126:7f34:9e4f:a95%4]) with mapi id 15.20.6609.026; Wed, 26 Jul 2023 05:26:40 +0000 From: =?utf-8?B?Q0sgSHUgKOiDoeS/iuWFiSk=?= To: "angelogioacchino.delregno@collabora.com" , "chunkuang.hu@kernel.org" Subject: Re: [PATCH v2 2/6] drm/mediatek: mtk_dpi: Simplify with dev_err_probe() Thread-Topic: [PATCH v2 2/6] drm/mediatek: mtk_dpi: Simplify with dev_err_probe() Thread-Index: AQHZuhYLkCeM7L6Zz0arVZQxVj+UZq/Lj1YA Date: Wed, 26 Jul 2023 05:26:40 +0000 Message-ID: <5c9207a73bcca44457ae0ef30192c7ca2525da91.camel@mediatek.com> References: <20230719075056.72178-1-angelogioacchino.delregno@collabora.com> <20230719075056.72178-3-angelogioacchino.delregno@collabora.com> In-Reply-To: <20230719075056.72178-3-angelogioacchino.delregno@collabora.com> Accept-Language: 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=mediatek.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR03MB6624:EE_|JH0PR03MB7933:EE_ x-ms-office365-filtering-correlation-id: 19c5c98c-db99-47f7-8d36-08db8d98e44b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DQBmGYP0lpMFMRW7kcKpB22AQ1CGtsrc6qqBlLnutXctiUA+0jsGrWZcH7DjDlcx8ByLKK95HW0JKISe3pykJ5M/RCW0ux3w4TD4PM60T0ZGkbEnwyHih+0CWb33oF00fek2fAlxozAEQFsXEWEgLXewGtNuqIJg8sTHzpJ3HaeW+yjuUD6kAMDHzdlZQ1LaGRRu3cSQfQT8t1B8sbtDIDVKC1w/Tsu8MayfhBAHjaXblb74xZsmDRxTHHqJl05fE+TE1yLatBvg7DzuHm3NEmiGeA8W/+MqHQnCmGIqfXHahhEJppm9Xh35ELs823ITHZkjOa14A9KqQmU4e6aw55ybssttR3ItpEwCBpQoxXf6z4v5ZSWH+KSEvhnnQsoTCbuipY/6RGaBIpvTOi5D07T/bTGqLLIdgVugY2rZCbrKmgV/XYWM3qSbKScS+894kLEEMWX+SYFJkaZIM7sYv0Qddk2Iguoz2X+6Vz65gxYbNMhCukilmCGmRlJ4lIIhIbV1eI6NpW9F3ta/jl0mfYgHqt65iqxc0bNFxIqK8xhUCs9iGXXGh6HSzXm2EBUxo5UQh7R6+ioAFPGHsoyW2cxNDIP4UoO6mAY6l8tI0S9EZ+oULZH+lVfQ8Uz6LYeDBNxqdxRL94f/k1ghGqlHOWdf1VI2kFhFdVdw/VoOUxY= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR03MB6624.apcprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(366004)(136003)(376002)(39860400002)(346002)(396003)(451199021)(71200400001)(6486002)(83380400001)(478600001)(26005)(6512007)(6506007)(4326008)(110136005)(66556008)(66476007)(76116006)(64756008)(66946007)(66446008)(122000001)(186003)(38100700002)(54906003)(2616005)(38070700005)(5660300002)(8936002)(8676002)(2906002)(316002)(41300700001)(86362001)(85182001)(36756003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?LzJBWXlJRlNTRWhwUHdnbHFpUytOK1k5YWtKYW8xbEtWaWNRbWsyU0J6S2E0?= =?utf-8?B?cDdYYlUxN3FHL2FEU2ZyeHBhWFhJRUkrNG1YbFAwN2xHR0ZubEwweXB1KzM1?= =?utf-8?B?cGE3a1hZRytYL3RLMUFpUUV3RHZ4WDErL1V1SjBxSDFOTGN3aUZRR2pjNVAy?= =?utf-8?B?UVA3bW1BWno0N2lLVVRLWlpWNGlFeWdqMmFSNnp2UnAwNmhRc09lbTkvN3Ny?= =?utf-8?B?Q25Pekc4aE9zSGJxbHpmYkU4VE1wYUJlc0hWMkdmbC9jQmlrZ1BTS1lPeVgx?= =?utf-8?B?cEdwbFdxOVJHdTVLdHN1WTBIZnptY1Y2NDdlRGs5SkMxV0FVNnk5cGFRc2dl?= =?utf-8?B?YVY2Ryt5Y2FTeVo1SXA0N3FzeTVzYU5kb3VFUzAyNFp3TGtJMFNNdjQwYnp2?= =?utf-8?B?VFZsUHUrUVBsOFppTmhNVEJjeTlzd1hzQkZ3SUlPNUNwellwRUlJaHNkSTFJ?= =?utf-8?B?THBqcUhnNGpEUkVLUHprcTNiK3VhcjFmcjc0cjQ3SElLdWRKQUQ5eFEwRVdZ?= =?utf-8?B?QTJiS0JtaEwvM05FYnVNWitkOExLSkYwSVVqSEZVU2xxYTgyRlFJZkdxcVJ3?= =?utf-8?B?ZkpDdS9LMWk2c3F6bTVHZFdPcENWTEMwUVNrSkN1REwwWXZPMDJ1SHRzdFFG?= =?utf-8?B?WWZGSFl1MnlOM3pXdThaWjQwK2R2VWFXQlhhWmROdU84NGNrd1M4bmx0R2Jz?= =?utf-8?B?NEh5Zy8rOS9ydkdNbzUxVU1Sc2FSdEpycFYxZmVWRm9Pamd1RDBnSnUxRmdz?= =?utf-8?B?S2sreGxITGFtaDZPbGV2K1lma1JPOEYzdVBYKzBHMVZzUG5JRXNvQ1NTandI?= =?utf-8?B?bjZ0MGN4UENNcUM0VXpZbk16YytzUTRnOVVDVzd4WUwwQVgrOFZyaE1ST09S?= =?utf-8?B?SFkvQWpXRFFDeXRVVFBpd0NxTnFpRmt4MWxFa0FtdE1EUmJOUnI3cGIyL3Z3?= =?utf-8?B?RXdaY0xNVXhXTWdBeThtd2sxYlpUM253by9kQjYxMmhRSjZCbHJHbmdsQzdh?= =?utf-8?B?RVg2ZTJlV3FFKzZESUt2MUYvaGlCRWVtdkNZK3hrc3hQUlorbWtSOHFreUV4?= =?utf-8?B?Y2trNWxUelZwZm9IZWdsTWFOR2kvUjBLUFdPbWN6RVR1VFdLUUxtMGpDWWNa?= =?utf-8?B?VkhRS1c3NGxUbEJXTzRPU3YxOTl2akR1ejJhMnVrUDhXbHNOQnJNQ1lMSVhE?= =?utf-8?B?aU5yZXFtaWlGNFZxY2Q5OUFUUUFOK3dEU3N1SEZsaitTTE91WHQ1TkZMSmdL?= =?utf-8?B?Ym9RS3BIV2pWN01TUWlaOXBCaW9XTThwdzdmTWVUM3pnUGJzMU5aTnJ0UmN1?= =?utf-8?B?TUJpMzhlRkpsZ3o1U0FBUERRRlBjUmNjbmtlVSt6ZzZzcDl6V1liRXd3REha?= =?utf-8?B?MXJGQjNpbDZGblJWaUJIenpJRDUvbnpENVYzSnlJcEdmaWlmSllsSWZYZEd5?= =?utf-8?B?eHhpcWJkUDB5WkpSYUdGcGFBOWN4YnlPMCtVN1Vsa0dVbDZSdzR6UnZMSzhR?= =?utf-8?B?UjVZZER0bzR5Vko1QVFLTnE0c202QXlIbWZMN2h0Z0pqVzZGbnZjc1JrYTdR?= =?utf-8?B?VVpKTlRSeEJCMjlLeGNFSi9CUXc1KzN1L1ZyWkM1S0lhY3hFVENVbGNTcjN2?= =?utf-8?B?TVVDK3p5RjlOQW56bEw0YkRyK3FzUktwYllOQ0FueXpCdEJkbGVhTnhtMHZI?= =?utf-8?B?ZmlRQjRaV2J4OEtaRzhKRCswZkR4V2ZUWjJjZ0N4YzEvWTVrU0RvKzc5L1VO?= =?utf-8?B?UUcyYjViLzYrN0pzUFlwTVZvTXJUY2dFTUEwaUI4KzVKNkFsenZCNENLenZV?= =?utf-8?B?WEI2WlpxMDl4TDR6a3lLTXoydHZnZVBRbC94cTdmaFVnd1VHKzZuZ0QycFYv?= =?utf-8?B?c29FQ2xaMFR1b2VrM1lSaXBhTmpaMHhhdkFmNFp1dGh5dks5c0ZlUGZKUWtC?= =?utf-8?B?N1Z2eURabVZ4c05yd0tad2k3NGNjd3VOMngvZkVLQXNVeStXN2xVMWVMdGpY?= =?utf-8?B?Yy9VNDE5aVJHTktETmZ5RUp1MkJZekQvTDVENERMSG84OFZtQWJwVFkyUitO?= =?utf-8?B?NnoxZVhDYmJTUVd5WXRzbzdOdWEzd3pXaTFpaFdKd1JyMms1SVFZbVZhVGdY?= =?utf-8?Q?J3vvNGlcMz6MK/RFfGJGT75cf?= Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR03MB6624.apcprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 19c5c98c-db99-47f7-8d36-08db8d98e44b X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jul 2023 05:26:40.7438 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a7687ede-7a6b-4ef6-bace-642f677fbe31 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 77yevQFS8Tr7k2Bmet0wK49TmkC7J0zinorJVKle4u672wWNrZdH0jjD+XBoFwhgoOjPlH8jFAAwk9WLpRYRtw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: JH0PR03MB7933 Content-Type: multipart/alternative; boundary="__=_Part_Boundary_009_606929243.1248893597" 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: "fshao@chromium.org" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "linux-mediatek@lists.infradead.org" , "matthias.bgg@gmail.com" , "kernel@collabora.com" , "linux-arm-kernel@lists.infradead.org" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" --__=_Part_Boundary_009_606929243.1248893597 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PHByZT4NCkhpLCYjMzI7QW5nZWxvOg0KDQpPbiYjMzI7V2VkLCYjMzI7MjAyMy0wNy0xOSYjMzI7 YXQmIzMyOzA5OjUwJiMzMjsrMDIwMCwmIzMyO0FuZ2Vsb0dpb2FjY2hpbm8mIzMyO0RlbCYjMzI7 UmVnbm8mIzMyO3dyb3RlOg0KJmd0OyYjMzI7VXNlJiMzMjtkZXZfZXJyX3Byb2JlKCkmIzMyO2Fj cm9zcyYjMzI7dGhlJiMzMjtlbnRpcmUmIzMyO3Byb2JlJiMzMjtmdW5jdGlvbiYjMzI7b2YmIzMy O3RoaXMmIzMyO2RyaXZlcg0KJmd0OyYjMzI7dG8mIzMyO3NocmluayYjMzI7dGhlJiMzMjtzaXpl Lg0KDQpSZXZpZXdlZC1ieTomIzMyO0NLJiMzMjtIdSYjMzI7Jmx0O2NrLmh1QG1lZGlhdGVrLmNv bSZndDsNCg0KJmd0OyYjMzI7DQomZ3Q7JiMzMjtTaWduZWQtb2ZmLWJ5OiYjMzI7QW5nZWxvR2lv YWNjaGlubyYjMzI7RGVsJiMzMjtSZWdubyYjMzI7Jmx0Ow0KJmd0OyYjMzI7YW5nZWxvZ2lvYWNj aGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tJmd0Ow0KJmd0OyYjMzI7UmV2aWV3ZWQtYnk6JiMz MjtGZWkmIzMyO1NoYW8mIzMyOyZsdDtmc2hhb0BjaHJvbWl1bS5vcmcmZ3Q7DQomZ3Q7JiMzMjst LS0NCiZndDsmIzMyOyYjMzI7ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYyYjMzI7 fCYjMzI7NDQmIzMyOysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tDQomZ3Q7JiMzMjstLS0tDQom Z3Q7JiMzMjsmIzMyOzEmIzMyO2ZpbGUmIzMyO2NoYW5nZWQsJiMzMjsxNCYjMzI7aW5zZXJ0aW9u cygrKSwmIzMyOzMwJiMzMjtkZWxldGlvbnMoLSkNCiZndDsmIzMyOw0KJmd0OyYjMzI7ZGlmZiYj MzI7LS1naXQmIzMyO2EvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYw0KJmd0OyYj MzI7Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jDQomZ3Q7JiMzMjtpbmRleCYj MzI7NzQwNjhhYTcwZTBjLi4wM2EyYjkwMGJiNTAmIzMyOzEwMDY0NA0KJmd0OyYjMzI7LS0tJiMz MjthL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMNCiZndDsmIzMyOysrKyYjMzI7 Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jDQomZ3Q7JiMzMjtAQCYjMzI7LTEw NDAsMzgmIzMyOysxMDQwLDI0JiMzMjtAQCYjMzI7c3RhdGljJiMzMjtpbnQmIzMyO210a19kcGlf cHJvYmUoc3RydWN0DQomZ3Q7JiMzMjtwbGF0Zm9ybV9kZXZpY2UmIzMyOypwZGV2KQ0KJmd0OyYj MzI7JiMzMjt9DQomZ3Q7JiMzMjsmIzMyO21lbSYjMzI7PSYjMzI7cGxhdGZvcm1fZ2V0X3Jlc291 cmNlKHBkZXYsJiMzMjtJT1JFU09VUkNFX01FTSwmIzMyOzApOw0KJmd0OyYjMzI7JiMzMjtkcGkt Jmd0O3JlZ3MmIzMyOz0mIzMyO2Rldm1faW9yZW1hcF9yZXNvdXJjZShkZXYsJiMzMjttZW0pOw0K Jmd0OyYjMzI7LWlmJiMzMjsoSVNfRVJSKGRwaS0mZ3Q7cmVncykpJiMzMjt7DQomZ3Q7JiMzMjst cmV0JiMzMjs9JiMzMjtQVFJfRVJSKGRwaS0mZ3Q7cmVncyk7DQomZ3Q7JiMzMjstZGV2X2Vycihk ZXYsJiMzMjsmcXVvdDtGYWlsZWQmIzMyO3RvJiMzMjtpb3JlbWFwJiMzMjttZW0mIzMyO3Jlc291 cmNlOiYjMzI7JWQmIzkyO24mcXVvdDssDQomZ3Q7JiMzMjtyZXQpOw0KJmd0OyYjMzI7LXJldHVy biYjMzI7cmV0Ow0KJmd0OyYjMzI7LX0NCiZndDsmIzMyOytpZiYjMzI7KElTX0VSUihkcGktJmd0 O3JlZ3MpKQ0KJmd0OyYjMzI7K3JldHVybiYjMzI7ZGV2X2Vycl9wcm9iZShkZXYsJiMzMjtQVFJf RVJSKGRwaS0mZ3Q7cmVncyksDQomZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyZx dW90O0ZhaWxlZCYjMzI7dG8mIzMyO2lvcmVtYXAmIzMyO21lbQ0KJmd0OyYjMzI7cmVzb3VyY2Um IzkyO24mcXVvdDspOw0KJmd0OyYjMzI7JiMzMjsNCiZndDsmIzMyOyYjMzI7ZHBpLSZndDtlbmdp bmVfY2xrJiMzMjs9JiMzMjtkZXZtX2Nsa19nZXQoZGV2LCYjMzI7JnF1b3Q7ZW5naW5lJnF1b3Q7 KTsNCiZndDsmIzMyOy1pZiYjMzI7KElTX0VSUihkcGktJmd0O2VuZ2luZV9jbGspKSYjMzI7ew0K Jmd0OyYjMzI7LXJldCYjMzI7PSYjMzI7UFRSX0VSUihkcGktJmd0O2VuZ2luZV9jbGspOw0KJmd0 OyYjMzI7LWlmJiMzMjsocmV0JiMzMjshPSYjMzI7LUVQUk9CRV9ERUZFUikNCiZndDsmIzMyOy1k ZXZfZXJyKGRldiwmIzMyOyZxdW90O0ZhaWxlZCYjMzI7dG8mIzMyO2dldCYjMzI7ZW5naW5lJiMz MjtjbG9jazoNCiZndDsmIzMyOyVkJiM5MjtuJnF1b3Q7LCYjMzI7cmV0KTsNCiZndDsmIzMyOy0N CiZndDsmIzMyOy1yZXR1cm4mIzMyO3JldDsNCiZndDsmIzMyOy19DQomZ3Q7JiMzMjsraWYmIzMy OyhJU19FUlIoZHBpLSZndDtlbmdpbmVfY2xrKSkNCiZndDsmIzMyOytyZXR1cm4mIzMyO2Rldl9l cnJfcHJvYmUoZGV2LCYjMzI7UFRSX0VSUihkcGktJmd0O2VuZ2luZV9jbGspLA0KJmd0OyYjMzI7 KyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmcXVvdDtGYWlsZWQmIzMyO3RvJiMzMjtnZXQmIzMy O2VuZ2luZSYjMzI7Y2xvY2smIzkyO24mcXVvdDspOw0KJmd0OyYjMzI7JiMzMjsNCiZndDsmIzMy OyYjMzI7ZHBpLSZndDtwaXhlbF9jbGsmIzMyOz0mIzMyO2Rldm1fY2xrX2dldChkZXYsJiMzMjsm cXVvdDtwaXhlbCZxdW90Oyk7DQomZ3Q7JiMzMjstaWYmIzMyOyhJU19FUlIoZHBpLSZndDtwaXhl bF9jbGspKSYjMzI7ew0KJmd0OyYjMzI7LXJldCYjMzI7PSYjMzI7UFRSX0VSUihkcGktJmd0O3Bp eGVsX2Nsayk7DQomZ3Q7JiMzMjstaWYmIzMyOyhyZXQmIzMyOyE9JiMzMjstRVBST0JFX0RFRkVS KQ0KJmd0OyYjMzI7LWRldl9lcnIoZGV2LCYjMzI7JnF1b3Q7RmFpbGVkJiMzMjt0byYjMzI7Z2V0 JiMzMjtwaXhlbCYjMzI7Y2xvY2s6JiMzMjslZCYjOTI7biZxdW90OywNCiZndDsmIzMyO3JldCk7 DQomZ3Q7JiMzMjstDQomZ3Q7JiMzMjstcmV0dXJuJiMzMjtyZXQ7DQomZ3Q7JiMzMjstfQ0KJmd0 OyYjMzI7K2lmJiMzMjsoSVNfRVJSKGRwaS0mZ3Q7cGl4ZWxfY2xrKSkNCiZndDsmIzMyOytyZXR1 cm4mIzMyO2Rldl9lcnJfcHJvYmUoZGV2LCYjMzI7UFRSX0VSUihkcGktJmd0O3BpeGVsX2Nsayks DQomZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyZxdW90O0ZhaWxlZCYjMzI7dG8m IzMyO2dldCYjMzI7cGl4ZWwmIzMyO2Nsb2NrJiM5MjtuJnF1b3Q7KTsNCiZndDsmIzMyOyYjMzI7 DQomZ3Q7JiMzMjsmIzMyO2RwaS0mZ3Q7dHZkX2NsayYjMzI7PSYjMzI7ZGV2bV9jbGtfZ2V0KGRl diwmIzMyOyZxdW90O3BsbCZxdW90Oyk7DQomZ3Q7JiMzMjstaWYmIzMyOyhJU19FUlIoZHBpLSZn dDt0dmRfY2xrKSkmIzMyO3sNCiZndDsmIzMyOy1yZXQmIzMyOz0mIzMyO1BUUl9FUlIoZHBpLSZn dDt0dmRfY2xrKTsNCiZndDsmIzMyOy1pZiYjMzI7KHJldCYjMzI7IT0mIzMyOy1FUFJPQkVfREVG RVIpDQomZ3Q7JiMzMjstZGV2X2VycihkZXYsJiMzMjsmcXVvdDtGYWlsZWQmIzMyO3RvJiMzMjtn ZXQmIzMyO3R2ZHBsbCYjMzI7Y2xvY2s6DQomZ3Q7JiMzMjslZCYjOTI7biZxdW90OywmIzMyO3Jl dCk7DQomZ3Q7JiMzMjstDQomZ3Q7JiMzMjstcmV0dXJuJiMzMjtyZXQ7DQomZ3Q7JiMzMjstfQ0K Jmd0OyYjMzI7K2lmJiMzMjsoSVNfRVJSKGRwaS0mZ3Q7dHZkX2NsaykpDQomZ3Q7JiMzMjsrcmV0 dXJuJiMzMjtkZXZfZXJyX3Byb2JlKGRldiwmIzMyO1BUUl9FUlIoZHBpLSZndDt0dmRfY2xrKSwN CiZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JnF1b3Q7RmFpbGVkJiMzMjt0byYj MzI7Z2V0JiMzMjt0dmRwbGwmIzMyO2Nsb2NrJiM5MjtuJnF1b3Q7KTsNCiZndDsmIzMyOyYjMzI7 DQomZ3Q7JiMzMjsmIzMyO2RwaS0mZ3Q7aXJxJiMzMjs9JiMzMjtwbGF0Zm9ybV9nZXRfaXJxKHBk ZXYsJiMzMjswKTsNCiZndDsmIzMyOyYjMzI7aWYmIzMyOyhkcGktJmd0O2lycSYjMzI7Jmx0Oz0m IzMyOzApDQomZ3Q7JiMzMjtAQCYjMzI7LTEwOTUsMTAmIzMyOysxMDgxLDgmIzMyO0BAJiMzMjtz dGF0aWMmIzMyO2ludCYjMzI7bXRrX2RwaV9wcm9iZShzdHJ1Y3QNCiZndDsmIzMyO3BsYXRmb3Jt X2RldmljZSYjMzI7KnBkZXYpDQomZ3Q7JiMzMjsmIzMyO3JldHVybiYjMzI7cmV0Ow0KJmd0OyYj MzI7JiMzMjsNCiZndDsmIzMyOyYjMzI7cmV0JiMzMjs9JiMzMjtjb21wb25lbnRfYWRkKGRldiwm IzMyOyZhbXA7bXRrX2RwaV9jb21wb25lbnRfb3BzKTsNCiZndDsmIzMyOy1pZiYjMzI7KHJldCkm IzMyO3sNCiZndDsmIzMyOy1kZXZfZXJyKGRldiwmIzMyOyZxdW90O0ZhaWxlZCYjMzI7dG8mIzMy O2FkZCYjMzI7Y29tcG9uZW50OiYjMzI7JWQmIzkyO24mcXVvdDssJiMzMjtyZXQpOw0KJmd0OyYj MzI7LXJldHVybiYjMzI7cmV0Ow0KJmd0OyYjMzI7LX0NCiZndDsmIzMyOytpZiYjMzI7KHJldCkN CiZndDsmIzMyOytyZXR1cm4mIzMyO2Rldl9lcnJfcHJvYmUoZGV2LCYjMzI7cmV0LCYjMzI7JnF1 b3Q7RmFpbGVkJiMzMjt0byYjMzI7YWRkDQomZ3Q7JiMzMjtjb21wb25lbnQuJiM5MjtuJnF1b3Q7 KTsNCiZndDsmIzMyOyYjMzI7DQomZ3Q7JiMzMjsmIzMyO3JldHVybiYjMzI7MDsNCiZndDsmIzMy OyYjMzI7fQ0KDQo8L3ByZT48IS0tdHlwZTp0ZXh0LS0+PCEtLXstLT48cHJlPioqKioqKioqKioq KiogTUVESUFURUsgQ29uZmlkZW50aWFsaXR5IE5vdGljZSAqKioqKioqKioqKioqKioqKioqKg0K VGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGlzIGUtbWFpbCBtZXNzYWdlIChpbmNsdWRp bmcgYW55IA0KYXR0YWNobWVudHMpIG1heSBiZSBjb25maWRlbnRpYWwsIHByb3ByaWV0YXJ5LCBw cml2aWxlZ2VkLCBvciBvdGhlcndpc2UNCmV4ZW1wdCBmcm9tIGRpc2Nsb3N1cmUgdW5kZXIgYXBw bGljYWJsZSBsYXdzLiBJdCBpcyBpbnRlbmRlZCB0byBiZSANCmNvbnZleWVkIG9ubHkgdG8gdGhl IGRlc2lnbmF0ZWQgcmVjaXBpZW50KHMpLiBBbnkgdXNlLCBkaXNzZW1pbmF0aW9uLCANCmRpc3Ry aWJ1dGlvbiwgcHJpbnRpbmcsIHJldGFpbmluZyBvciBjb3B5aW5nIG9mIHRoaXMgZS1tYWlsIChp bmNsdWRpbmcgaXRzIA0KYXR0YWNobWVudHMpIGJ5IHVuaW50ZW5kZWQgcmVjaXBpZW50KHMpIGlz IHN0cmljdGx5IHByb2hpYml0ZWQgYW5kIG1heSANCmJlIHVubGF3ZnVsLiBJZiB5b3UgYXJlIG5v dCBhbiBpbnRlbmRlZCByZWNpcGllbnQgb2YgdGhpcyBlLW1haWwsIG9yIGJlbGlldmUgDQp0aGF0 IHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgZS1tYWlsIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRo ZSBzZW5kZXIgDQppbW1lZGlhdGVseSAoYnkgcmVwbHlpbmcgdG8gdGhpcyBlLW1haWwpLCBkZWxl dGUgYW55IGFuZCBhbGwgY29waWVzIG9mIA0KdGhpcyBlLW1haWwgKGluY2x1ZGluZyBhbnkgYXR0 YWNobWVudHMpIGZyb20geW91ciBzeXN0ZW0sIGFuZCBkbyBub3QNCmRpc2Nsb3NlIHRoZSBjb250 ZW50IG9mIHRoaXMgZS1tYWlsIHRvIGFueSBvdGhlciBwZXJzb24uIFRoYW5rIHlvdSENCjwvcHJl PjwhLS19LS0+ --__=_Part_Boundary_009_606929243.1248893597 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIEFuZ2VsbzoNCg0KT24gV2VkLCAyMDIzLTA3LTE5IGF0IDA5OjUwICswMjAwLCBBbmdlbG9H aW9hY2NoaW5vIERlbCBSZWdubyB3cm90ZToNCj4gVXNlIGRldl9lcnJfcHJvYmUoKSBhY3Jvc3Mg dGhlIGVudGlyZSBwcm9iZSBmdW5jdGlvbiBvZiB0aGlzIGRyaXZlcg0KPiB0byBzaHJpbmsgdGhl IHNpemUuDQoNClJldmlld2VkLWJ5OiBDSyBIdSA8Y2suaHVAbWVkaWF0ZWsuY29tPg0KDQo+IA0K PiBTaWduZWQtb2ZmLWJ5OiBBbmdlbG9HaW9hY2NoaW5vIERlbCBSZWdubyA8DQo+IGFuZ2Vsb2dp b2FjY2hpbm8uZGVscmVnbm9AY29sbGFib3JhLmNvbT4NCj4gUmV2aWV3ZWQtYnk6IEZlaSBTaGFv IDxmc2hhb0BjaHJvbWl1bS5vcmc+DQo+IC0tLQ0KPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kcGkuYyB8IDQ0ICsrKysrKysrKystLS0tLS0tLS0tLS0tLS0tDQo+IC0tLS0NCj4gIDEg ZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkNCj4gDQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jDQo+IGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYw0KPiBpbmRleCA3NDA2OGFhNzBlMGMuLjAzYTJi OTAwYmI1MCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGku Yw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jDQo+IEBAIC0xMDQw LDM4ICsxMDQwLDI0IEBAIHN0YXRpYyBpbnQgbXRrX2RwaV9wcm9iZShzdHJ1Y3QNCj4gcGxhdGZv cm1fZGV2aWNlICpwZGV2KQ0KPiAgCX0NCj4gIAltZW0gPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2Uo cGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOw0KPiAgCWRwaS0+cmVncyA9IGRldm1faW9yZW1hcF9y ZXNvdXJjZShkZXYsIG1lbSk7DQo+IC0JaWYgKElTX0VSUihkcGktPnJlZ3MpKSB7DQo+IC0JCXJl dCA9IFBUUl9FUlIoZHBpLT5yZWdzKTsNCj4gLQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gaW9y ZW1hcCBtZW0gcmVzb3VyY2U6ICVkXG4iLA0KPiByZXQpOw0KPiAtCQlyZXR1cm4gcmV0Ow0KPiAt CX0NCj4gKwlpZiAoSVNfRVJSKGRwaS0+cmVncykpDQo+ICsJCXJldHVybiBkZXZfZXJyX3Byb2Jl KGRldiwgUFRSX0VSUihkcGktPnJlZ3MpLA0KPiArCQkJCSAgICAgIkZhaWxlZCB0byBpb3JlbWFw IG1lbQ0KPiByZXNvdXJjZVxuIik7DQo+ICANCj4gIAlkcGktPmVuZ2luZV9jbGsgPSBkZXZtX2Ns a19nZXQoZGV2LCAiZW5naW5lIik7DQo+IC0JaWYgKElTX0VSUihkcGktPmVuZ2luZV9jbGspKSB7 DQo+IC0JCXJldCA9IFBUUl9FUlIoZHBpLT5lbmdpbmVfY2xrKTsNCj4gLQkJaWYgKHJldCAhPSAt RVBST0JFX0RFRkVSKQ0KPiAtCQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gZ2V0IGVuZ2luZSBj bG9jazoNCj4gJWRcbiIsIHJldCk7DQo+IC0NCj4gLQkJcmV0dXJuIHJldDsNCj4gLQl9DQo+ICsJ aWYgKElTX0VSUihkcGktPmVuZ2luZV9jbGspKQ0KPiArCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShk ZXYsIFBUUl9FUlIoZHBpLT5lbmdpbmVfY2xrKSwNCj4gKwkJCQkgICAgICJGYWlsZWQgdG8gZ2V0 IGVuZ2luZSBjbG9ja1xuIik7DQo+ICANCj4gIAlkcGktPnBpeGVsX2NsayA9IGRldm1fY2xrX2dl dChkZXYsICJwaXhlbCIpOw0KPiAtCWlmIChJU19FUlIoZHBpLT5waXhlbF9jbGspKSB7DQo+IC0J CXJldCA9IFBUUl9FUlIoZHBpLT5waXhlbF9jbGspOw0KPiAtCQlpZiAocmV0ICE9IC1FUFJPQkVf REVGRVIpDQo+IC0JCQlkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBnZXQgcGl4ZWwgY2xvY2s6ICVk XG4iLA0KPiByZXQpOw0KPiAtDQo+IC0JCXJldHVybiByZXQ7DQo+IC0JfQ0KPiArCWlmIChJU19F UlIoZHBpLT5waXhlbF9jbGspKQ0KPiArCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYsIFBUUl9F UlIoZHBpLT5waXhlbF9jbGspLA0KPiArCQkJCSAgICAgIkZhaWxlZCB0byBnZXQgcGl4ZWwgY2xv Y2tcbiIpOw0KPiAgDQo+ICAJZHBpLT50dmRfY2xrID0gZGV2bV9jbGtfZ2V0KGRldiwgInBsbCIp Ow0KPiAtCWlmIChJU19FUlIoZHBpLT50dmRfY2xrKSkgew0KPiAtCQlyZXQgPSBQVFJfRVJSKGRw aS0+dHZkX2Nsayk7DQo+IC0JCWlmIChyZXQgIT0gLUVQUk9CRV9ERUZFUikNCj4gLQkJCWRldl9l cnIoZGV2LCAiRmFpbGVkIHRvIGdldCB0dmRwbGwgY2xvY2s6DQo+ICVkXG4iLCByZXQpOw0KPiAt DQo+IC0JCXJldHVybiByZXQ7DQo+IC0JfQ0KPiArCWlmIChJU19FUlIoZHBpLT50dmRfY2xrKSkN Cj4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBQVFJfRVJSKGRwaS0+dHZkX2NsayksDQo+ ICsJCQkJICAgICAiRmFpbGVkIHRvIGdldCB0dmRwbGwgY2xvY2tcbiIpOw0KPiAgDQo+ICAJZHBp LT5pcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOw0KPiAgCWlmIChkcGktPmlycSA8PSAw KQ0KPiBAQCAtMTA5NSwxMCArMTA4MSw4IEBAIHN0YXRpYyBpbnQgbXRrX2RwaV9wcm9iZShzdHJ1 Y3QNCj4gcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiAgCQlyZXR1cm4gcmV0Ow0KPiAgDQo+ICAJ cmV0ID0gY29tcG9uZW50X2FkZChkZXYsICZtdGtfZHBpX2NvbXBvbmVudF9vcHMpOw0KPiAtCWlm IChyZXQpIHsNCj4gLQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gYWRkIGNvbXBvbmVudDogJWRc biIsIHJldCk7DQo+IC0JCXJldHVybiByZXQ7DQo+IC0JfQ0KPiArCWlmIChyZXQpDQo+ICsJCXJl dHVybiBkZXZfZXJyX3Byb2JlKGRldiwgcmV0LCAiRmFpbGVkIHRvIGFkZA0KPiBjb21wb25lbnQu XG4iKTsNCj4gIA0KPiAgCXJldHVybiAwOw0KPiAgfQ0K --__=_Part_Boundary_009_606929243.1248893597--