Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp401678rwd; Wed, 24 May 2023 20:56:37 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5iR7YhKMwm/WV3U4kvfDe7X0eIH38TCCeQ2h4oSukQS2w4efX0bmQ+gzLXAHOicKIZI82d X-Received: by 2002:a17:902:e5ce:b0:1ac:6d4c:c24b with SMTP id u14-20020a170902e5ce00b001ac6d4cc24bmr366381plf.3.1684986997208; Wed, 24 May 2023 20:56:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684986997; cv=none; d=google.com; s=arc-20160816; b=O6BiWezHfX2jAuUnfrvdEPUAthIh0P5PiciY2z7HZS0tOM4O3I/U168XzOtIjPQj9n +zRTkGuWsrVXe/VK5y3//M/UsyuF4nT2g1nXmcsXNa52uR3yA/iR6wn735T3TzZvdKiZ J97xnhbvfGF/rOCZuBsoryDJNheGnbwDS5gsjEsj47MeH29s2FYXbBTECBkAKYp4p1cS GNYIG3EHzRNQbMzRNUVH6dR9HZfHe+nsjteZ6gq3pVCwc2PdAKktQYD2Mrit3RiZQlPs xpQpT95aIUXLvVgg5T93o82mrwbpiFQjbcPeBtk30Bf4mt1LY/Fvxf06Q8Tctuy9gAhZ UTng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:mime-version :content-transfer-encoding:references:in-reply-to:subject:cc:to:from :date; bh=GwG/+qQRrnJ6MdK3IGLsPIEb3iNLvbkr6oqyPh9o/0M=; b=kATzzpPswdgf3rSNl317Y2olv/hHScQGv7zgmOtrbR3Bv3X1ocyg45ik8zwyLfDivG zOC+pA30F+0j/KHsneDsp8nkkhb9SFyDXqyqnoaqK69TuLUA+SbcK/xC48KUeYLAG1k4 CLDnDCQc33U9AB/zqI27nEO2mNjKL52XWlIYI9tIbRuS8lNSD8dSMzEGlaggL0UN8OMQ XeMq2S+rIHYLRvDYymkstMyfcVccxSQ1kmX9V5kufqyLtUUW+RVsJLWGHoAAxX7fJf5g PPztaQcn+waX+ggszwLU6gixtuo6q3oKkdzwOBdWUBKgbIkUG9izJCAl+iJXTxaFNZ3O vMDA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y17-20020a170902b49100b001a677821130si496089plr.13.2023.05.24.20.56.22; Wed, 24 May 2023 20:56:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233181AbjEYDe6 (ORCPT + 99 others); Wed, 24 May 2023 23:34:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59788 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229530AbjEYDe5 (ORCPT ); Wed, 24 May 2023 23:34:57 -0400 Received: from hust.edu.cn (mail.hust.edu.cn [202.114.0.240]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 0A34DE2; Wed, 24 May 2023 20:34:54 -0700 (PDT) Received: from m202171703$hust.edu.cn ( [172.16.0.254] ) by ajax-webmail-app1 (Coremail) ; Thu, 25 May 2023 11:33:42 +0800 (GMT+08:00) X-Originating-IP: [172.16.0.254] Date: Thu, 25 May 2023 11:33:42 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: =?UTF-8?B?5byg572R?= To: "Christophe JAILLET" Cc: "Peter Korsgaard" , "Andrew Lunn" , hust-os-kernel-patches@googlegroups.com, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, "Dan Carpenter" Subject: Re: Re: [PATCH v3] i2c: ocores: use devm_ managed clks X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20220802(cbd923c5) Copyright (c) 2002-2023 www.mailtech.cn hust In-Reply-To: <68c4b991-6af9-36e8-354c-7c3b232ba4c2@wanadoo.fr> References: <5572a733.abc0.18846f13b0b.Coremail.m202171703@hust.edu.cn> <20230524154318.2259-1-silver_code@hust.edu.cn> <68c4b991-6af9-36e8-354c-7c3b232ba4c2@wanadoo.fr> Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=UTF-8 MIME-Version: 1.0 Message-ID: <5cceb5b5.c1fe.18850f830e0.Coremail.m202171703@hust.edu.cn> X-Coremail-Locale: zh_CN X-CM-TRANSID: FgEQrABnFJkW125kJYl2Ag--.24180W X-CM-SenderInfo: rpsqjiqxrxijo6kx23oohg3hdfq/1tbiAQoAAGRrClNO0gATsS X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VWxJw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU= X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_MSPIKE_H2, SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgIENocmlzdG9waGUsCgpUaGFua3MgZm9yIHlvdXIgc3VnZ2VzdGlvbnMuIEhvd2V2ZXIsIGJv dGggY2xrX2dldF9yYXRlIGFuZCBjbGtfcHJlcGFyZV9lbmFibGUgCndpbGwgcmV0dXJuIDAgaWYg aTJjLT5jbGsgaXMgTlVMTCwgc28gSSB0aGluayB3ZSBtYXkgbm90IG5lZWQgdG8gdGFrZSB0aGlz IGlzc3VlIAppbnRvIGFjY291bnQuCgpSZWdhcmRzLApXYW5nIFpoYW5nCgoiQ2hyaXN0b3BoZSBK QUlMTEVUIiA8Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI+5YaZ6YGT77yaCj4gTGUgMjQv MDUvMjAyMyDDoCAxNzo0MywgV2FuZyBaaGFuZyBhIMOpY3JpdMKgOg0KPiA+IFdoaWxlIGl0IGlz IG5vdCBlbnRpcmVseSBjbGVhciB3aHkgdGhlIG9yaWdpbmFsIGF1dGhvciBpbXBsZW1lbnRlZCB0 aGlzDQo+ID4gYmVoYXZpb3IsIHRoZXJlIG1heSBoYXZlIGJlZW4gY2VydGFpbiBjaXJjdW1zdGFu Y2VzIG9yIGlzc3VlcyB0aGF0IHdlcmUgbm90DQo+ID4gYXBwYXJlbnQgdG8gdXMuIEl0J3MgcG9z c2libGUgdGhhdCB0aGV5IHdlcmUgdHJ5aW5nIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGJ5DQo+ID4g ZW1wbG95aW5nIGFuIHVuY29udmVudGlvbmFsIHNvbHV0aW9uLlVzaW5nIGBkZXZtX2Nsa19nZXRf ZW5hYmxlZCgpYCByYXRoZXINCj4gPiB0aGFuIGRldm1fY2xrX2dldCgpIGNhbiBhdXRvbWF0aWNh bGx5IHRyYWNrIHRoZSB1c2FnZSBvZiBjbG9ja3MgYW5kIGZyZWUNCj4gPiB0aGVtIHdoZW4gdGhl eSBhcmUgbm8gbG9uZ2VyIG5lZWRlZCBvciBhbiBlcnJvciBvY2N1cnMuDQo+ID4gDQo+ID4gZml4 aW5nIGl0IGJ5IGNoYW5naW5nIGBvY29yZXNfaTJjX29mX3Byb2JlYCB0byB1c2UNCj4gPiBgZGV2 bV9jbGtfZ2V0X29wdGlvbmFsX2VuYWJsZWQoKWAgcmF0aGVyIHRoYW4gYGRldm1fY2xrX2dldCgp YCwgY2hhbmdpbmcNCj4gPiBgZ290byBlcnJfY2xrJyB0byBkaXJlY3QgcmV0dXJuIGFuZCByZW1v dmluZyBgZXJyX2Nsa2AuDQo+ID4gDQo+ID4gU2lnbmVkLW9mZi1ieTogV2FuZyBaaGFuZyA8c2ls dmVyX2NvZGVAaHVzdC5lZHUuY24+DQo+ID4gUmV2aWV3ZWQtYnk6IEFuZHJldyBMdW5uIDxhbmRy ZXdAbHVubi5jaD4NCj4gPiAtLS0NCj4gPiB2Mi0+djM6IHVzZSBgZGV2bV9jbGtfZ2V0X29wdGlv bmFsX2VuYWJsZWQoKWAgdG8gbWFuYWdlIGNsa3MNCj4gPiB2MS0+djI6IGNoYW5nZSBgb2NvcmVz X2kyY19vZl9wcm9iZWAgdG8gdXNlIGBkZXZtX2Nsa19nZXRfZW5hYmxlZCgpYA0KPiA+IC0tLQ0K PiA+ICAgZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1vY29yZXMuYyB8IDU3ICsrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICAgMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMo KyksIDM1IGRlbGV0aW9ucygtKQ0KPiA+IA0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9i dXNzZXMvaTJjLW9jb3Jlcy5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1vY29yZXMuYw0KPiA+ IGluZGV4IDJlNTc1ODU2YzVjZC4uMzE2ZDcyY2RlM2I5IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZl cnMvaTJjL2J1c3Nlcy9pMmMtb2NvcmVzLmMNCj4gPiArKysgYi9kcml2ZXJzL2kyYy9idXNzZXMv aTJjLW9jb3Jlcy5jDQo+ID4gQEAgLTU1MiwxNiArNTUyLDE0IEBAIHN0YXRpYyBpbnQgb2NvcmVz X2kyY19vZl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LA0KPiA+ICAgCQkJCQkJ CSZjbG9ja19mcmVxdWVuY3kpOw0KPiA+ICAgCWkyYy0+YnVzX2Nsb2NrX2toeiA9IDEwMDsNCj4g PiAgIA0KPiA+IC0JaTJjLT5jbGsgPSBkZXZtX2Nsa19nZXQoJnBkZXYtPmRldiwgTlVMTCk7DQo+ ID4gKwlpMmMtPmNsayA9IGRldm1fY2xrX2dldF9vcHRpb25hbF9lbmFibGVkKCZwZGV2LT5kZXYs IE5VTEwpOw0KPiA+ICAgDQo+ID4gLQlpZiAoIUlTX0VSUihpMmMtPmNsaykpIHsNCj4gPiAtCQlp bnQgcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGkyYy0+Y2xrKTsNCj4gPiAtDQo+ID4gLQkJaWYg KHJldCkgew0KPiA+IC0JCQlkZXZfZXJyKCZwZGV2LT5kZXYsDQo+ID4gLQkJCQkiY2xrX3ByZXBh cmVfZW5hYmxlIGZhaWxlZDogJWRcbiIsIHJldCk7DQo+ID4gLQkJCXJldHVybiByZXQ7DQo+ID4g LQkJfQ0KPiA+ICsJaWYgKElTX0VSUihpMmMtPmNsaykpIHsNCj4gPiArCQlkZXZfZXJyKCZwZGV2 LT5kZXYsDQo+ID4gKwkJCSJkZXZtX2Nsa19nZXRfb3B0aW9uYWxfZW5hYmxlZCBmYWlsZWRcbiIp Ow0KPiANCj4gTWF5YmUgZGV2X2Vycl9wcm9iZSgpIHdvdWxkIGJlIG5pY2UgaGVyZS4gVGhpcyB3 b3VsZCBsb2cgdGhlIGVycm9yIGNvZGUsIA0KPiBhbmQgZmlsdGVyIC1FUFJPQkVfREVGRVIsIHNo b3VsZCBpdCBoYXBwZW4uDQo+IA0KPiA+ICsJCXJldHVybiBQVFJfRVJSKGkyYy0+Y2xrKTsNCj4g PiArCX0NCj4gPiArCWlmIChpMmMtPmNsaykgew0KPiA+ICAgCQlpMmMtPmlwX2Nsb2NrX2toeiA9 IGNsa19nZXRfcmF0ZShpMmMtPmNsaykgLyAxMDAwOw0KPiA+ICAgCQlpZiAoY2xvY2tfZnJlcXVl bmN5X3ByZXNlbnQpDQo+ID4gICAJCQlpMmMtPmJ1c19jbG9ja19raHogPSBjbG9ja19mcmVxdWVu Y3kgLyAxMDAwOw0KPiA+IEBAIC01NzMsNyArNTcxLDYgQEAgc3RhdGljIGludCBvY29yZXNfaTJj X29mX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsDQo+ID4gICAJCQlpZiAoIWNs b2NrX2ZyZXF1ZW5jeV9wcmVzZW50KSB7DQo+ID4gICAJCQkJZGV2X2VycigmcGRldi0+ZGV2LA0K PiA+ICAgCQkJCQkiTWlzc2luZyByZXF1aXJlZCBwYXJhbWV0ZXIgJ29wZW5jb3JlcyxpcC1jbG9j ay1mcmVxdWVuY3knXG4iKTsNCj4gPiAtCQkJCWNsa19kaXNhYmxlX3VucHJlcGFyZShpMmMtPmNs ayk7DQo+ID4gICAJCQkJcmV0dXJuIC1FTk9ERVY7DQo+ID4gICAJCQl9DQo+ID4gICAJCQlpMmMt PmlwX2Nsb2NrX2toeiA9IGNsb2NrX2ZyZXF1ZW5jeSAvIDEwMDA7DQo+ID4gQEAgLTY3OCw4ICs2 NzUsNyBAQCBzdGF0aWMgaW50IG9jb3Jlc19pMmNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikNCj4gPiAgIAkJZGVmYXVsdDoNCj4gPiAgIAkJCWRldl9lcnIoJnBkZXYtPmRldiwg IlVuc3VwcG9ydGVkIEkvTyB3aWR0aCAoJWQpXG4iLA0KPiA+ICAgCQkJCWkyYy0+cmVnX2lvX3dp ZHRoKTsNCj4gPiAtCQkJcmV0ID0gLUVJTlZBTDsNCj4gPiAtCQkJZ290byBlcnJfY2xrOw0KPiA+ ICsJCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiAgIAkJfQ0KPiA+ICAgCX0NCj4gPiAgIA0KPiA+IEBA IC03MTAsMTMgKzcwNiwxMyBAQCBzdGF0aWMgaW50IG9jb3Jlc19pMmNfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikNCj4gPiAgIAkJCQkJCSAgIHBkZXYtPm5hbWUsIGkyYyk7DQo+ ID4gICAJCWlmIChyZXQpIHsNCj4gPiAgIAkJCWRldl9lcnIoJnBkZXYtPmRldiwgIkNhbm5vdCBj bGFpbSBJUlFcbiIpOw0KPiA+IC0JCQlnb3RvIGVycl9jbGs7DQo+ID4gKwkJCXJldHVybiByZXQ7 DQo+ID4gICAJCX0NCj4gPiAgIAl9DQo+ID4gICANCj4gPiAgIAlyZXQgPSBvY29yZXNfaW5pdCgm cGRldi0+ZGV2LCBpMmMpOw0KPiA+ICAgCWlmIChyZXQpDQo+ID4gLQkJZ290byBlcnJfY2xrOw0K PiA+ICsJCXJldHVybiByZXQ7DQo+ID4gICANCj4gPiAgIAkvKiBob29rIHVwIGRyaXZlciB0byB0 cmVlICovDQo+ID4gICAJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgaTJjKTsNCj4gPiBAQCAt NzI4LDcgKzcyNCw3IEBAIHN0YXRpYyBpbnQgb2NvcmVzX2kyY19wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQ0KPiA+ICAgCS8qIGFkZCBpMmMgYWRhcHRlciB0byBpMmMgdHJlZSAq Lw0KPiA+ICAgCXJldCA9IGkyY19hZGRfYWRhcHRlcigmaTJjLT5hZGFwKTsNCj4gPiAgIAlpZiAo cmV0KQ0KPiA+IC0JCWdvdG8gZXJyX2NsazsNCj4gPiArCQlyZXR1cm4gcmV0Ow0KPiA+ICAgDQo+ ID4gICAJLyogYWRkIGluIGtub3duIGRldmljZXMgdG8gdGhlIGJ1cyAqLw0KPiA+ICAgCWlmIChw ZGF0YSkgew0KPiA+IEBAIC03MzcsMTAgKzczMyw2IEBAIHN0YXRpYyBpbnQgb2NvcmVzX2kyY19w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiA+ICAgCX0NCj4gPiAgIA0KPiA+ ICAgCXJldHVybiAwOw0KPiA+IC0NCj4gPiAtZXJyX2NsazoNCj4gPiAtCWNsa19kaXNhYmxlX3Vu cHJlcGFyZShpMmMtPmNsayk7DQo+ID4gLQlyZXR1cm4gcmV0Ow0KPiA+ICAgfQ0KPiA+ICAgDQo+ ID4gICBzdGF0aWMgaW50IG9jb3Jlc19pMmNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpDQo+ID4gQEAgLTc1NSw5ICs3NDcsNiBAQCBzdGF0aWMgaW50IG9jb3Jlc19pMmNfcmVt b3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ID4gICAJLyogcmVtb3ZlIGFkYXB0 ZXIgJiBkYXRhICovDQo+ID4gICAJaTJjX2RlbF9hZGFwdGVyKCZpMmMtPmFkYXApOw0KPiA+ICAg DQo+ID4gLQlpZiAoIUlTX0VSUihpMmMtPmNsaykpDQo+ID4gLQkJY2xrX2Rpc2FibGVfdW5wcmVw YXJlKGkyYy0+Y2xrKTsNCj4gPiAtDQo+ID4gICAJcmV0dXJuIDA7DQo+ID4gICB9DQo+ID4gICAN Cj4gPiBAQCAtNzcxLDggKzc2MCw3IEBAIHN0YXRpYyBpbnQgb2NvcmVzX2kyY19zdXNwZW5kKHN0 cnVjdCBkZXZpY2UgKmRldikNCj4gPiAgIAljdHJsICY9IH4oT0NJMkNfQ1RSTF9FTiB8IE9DSTJD X0NUUkxfSUVOKTsNCj4gPiAgIAlvY19zZXRyZWcoaTJjLCBPQ0kyQ19DT05UUk9MLCBjdHJsKTsN Cj4gPiAgIA0KPiA+IC0JaWYgKCFJU19FUlIoaTJjLT5jbGspKQ0KPiA+IC0JCWNsa19kaXNhYmxl X3VucHJlcGFyZShpMmMtPmNsayk7DQo+ID4gKwljbGtfZGlzYWJsZV91bnByZXBhcmUoaTJjLT5j bGspOw0KPiA+ICAgCXJldHVybiAwOw0KPiA+ICAgfQ0KPiA+ICAgDQo+ID4gQEAgLTc4MCwxOSAr NzY4LDE4IEBAIHN0YXRpYyBpbnQgb2NvcmVzX2kyY19yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2 KQ0KPiA+ICAgew0KPiA+ICAgCXN0cnVjdCBvY29yZXNfaTJjICppMmMgPSBkZXZfZ2V0X2RydmRh dGEoZGV2KTsNCj4gPiAgIA0KPiA+IC0JaWYgKCFJU19FUlIoaTJjLT5jbGspKSB7DQo+ID4gLQkJ dW5zaWduZWQgbG9uZyByYXRlOw0KPiA+IC0JCWludCByZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUo aTJjLT5jbGspOw0KPiA+ICsJdW5zaWduZWQgbG9uZyByYXRlOw0KPiA+ICsJaW50IHJldCA9IGNs a19wcmVwYXJlX2VuYWJsZShpMmMtPmNsayk7DQo+ID4gICANCj4gPiAtCQlpZiAocmV0KSB7DQo+ ID4gLQkJCWRldl9lcnIoZGV2LA0KPiA+IC0JCQkJImNsa19wcmVwYXJlX2VuYWJsZSBmYWlsZWQ6 ICVkXG4iLCByZXQpOw0KPiA+IC0JCQlyZXR1cm4gcmV0Ow0KPiA+IC0JCX0NCj4gPiAtCQlyYXRl ID0gY2xrX2dldF9yYXRlKGkyYy0+Y2xrKSAvIDEwMDA7DQo+ID4gLQkJaWYgKHJhdGUpDQo+ID4g LQkJCWkyYy0+aXBfY2xvY2tfa2h6ID0gcmF0ZTsNCj4gPiArCWlmIChyZXQpIHsNCj4gPiArCQlk ZXZfZXJyKGRldiwNCj4gPiArCQkJImNsa19wcmVwYXJlX2VuYWJsZSBmYWlsZWQ6ICVkXG4iLCBy ZXQpOw0KPiA+ICsJCXJldHVybiByZXQ7DQo+ID4gICAJfQ0KPiA+ICsJcmF0ZSA9IGNsa19nZXRf cmF0ZShpMmMtPmNsaykgLyAxMDAwOw0KPiANCj4gTm93IChiZWNhdXNlIG9mIHRoZSBkZXZtX2Ns a19nZXRfb3B0aW9uYWxfZW5hYmxlZCgpKSwgaTJjLT5jbGsgY2FuIGJlIA0KPiBOVUxMLCBzbyB0 aGlzIHdvdWxkIGRlZmVyZW5jZSBhIE5VTEwgcG9pbnRlci4NCj4gDQo+IENKDQo+IA0KPiANCj4g PiArCWlmIChyYXRlKQ0KPiA+ICsJCWkyYy0+aXBfY2xvY2tfa2h6ID0gcmF0ZTsNCj4gPiArDQo+ ID4gICAJcmV0dXJuIG9jb3Jlc19pbml0KGRldiwgaTJjKTsNCj4gPiAgIH0NCj4gPiAgIA0K