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 BF73EC4332F for ; Tue, 12 Dec 2023 16:49:54 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=DxX3WBm4YJMkZptPHiF83dJBj5iYvYFrzz9uYe1i+iE=; b=1TqiuuUxJD0Mh+ rHTa4cew9s9cDbvlpSkBLmY8ku4VIlfoaqVszv1W5SlvPO5JXRoOYrg+DN0ccTjRll1MKnaFMrqzK rVpMHT3Igf3LVpqyjR23JkmlXFpoZ9TyI1sToq7wpp+GLQLnORy7XbI1IiBF2LZVmTOyLpOHJEFa9 ZlWbW7awiX8vv+m35T8aOWbA73KrdUvyyaBrGeCFeC5TsCDB0YS7keNG6E2bLXwXId0vH90PlyS49 a9f2cqfNKENW6OJHm1be1rRPWFYYaNPPr6I9H2cDbK2IHYkjmhiMZOrLl77DIpSyR7Ip4yRYonflG p+H7wGduHbNsIS072Etg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rD5wo-00CI2D-2D; Tue, 12 Dec 2023 16:49:30 +0000 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rD5wl-00CI1W-1I for linux-arm-kernel@lists.infradead.org; Tue, 12 Dec 2023 16:49:29 +0000 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-6ce934e9d51so3714628b3a.1 for ; Tue, 12 Dec 2023 08:49:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1702399764; x=1703004564; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=O3Qb4Pmctf3QLFWZxDCGFwLHLw9E0QvAVnQNcESZf+I=; b=z2IOdu+RCey+YY5KlkT1+JxiChs0/F2DwofNOgsdKeTyzyO633J0LP1wnoIDo2XhdK svLCpgSzKYJ7O52nwunCZknqmys+w1ga2tNbh5wREq2bHnEAoDZHPMIRsZQb7B5/mIeO 8kgkDQDGx2zpqUBHK6zObq2iluKOjUQuuwDLIvpS5WQUrsmYYOnFXTirpcBBE3XU9quQ z3Kh1+IhP3VT12xJHQnb4jyRzYzeSvDf+enw3QFEcVDizWzuz7lR7KmgI02G0HS/U8tQ GSlFVOJYrWl0Cn3FfoYGBOJTOMTyTw8yAwwBaBOiwn9ABMfr3EVrqbTlYCVAcjkdC++G JfMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702399764; x=1703004564; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=O3Qb4Pmctf3QLFWZxDCGFwLHLw9E0QvAVnQNcESZf+I=; b=hPjeuLfTgcXodAtE/bAuB+8HbXSX4ZQFCcziT81Wz6QiKhvZ1mdd+fTUbSRN1imua9 +TSlkWw5FLEMl96BQc4o2F0VoJgrqOz52PvGpv7Wnw9j7Jp3sDsxY6UT2wqyr4uPcJ5x Kj7C47wb3GZOoUT94k/rxzMtf6y7UeyZx5x/bATTnmRWc4ulVaCmonlxzklS+Sjbu9qi rd1gm7z+179vJRgY/rxaO7DJ6SJdTIPZLDka6yOd5VFtQWA/cUaINFUuIJonm70OQRCH oGN78WOM07+PrbvSNPJZiz8B5W0nIAWi9wgZGa2AX8Ar/2sMwokiilLeTiccpRjyQPmx VeUA== X-Gm-Message-State: AOJu0YwVvWyBocK9yklyOmPqG8GLsnNAfOr7OpNn3LnxsyiME+a/9KKr uv+wX+J6VXZb4CXXl3fR9N6G X-Google-Smtp-Source: AGHT+IEdRCICFtznyHHkBUNYDtZL2BWvbWNge5n8xa4XWLlDEc4bBXuXkjMOrYe3szp98CDGiy/H6w== X-Received: by 2002:a05:6a21:3281:b0:18b:985e:8035 with SMTP id yt1-20020a056a21328100b0018b985e8035mr3756929pzb.12.1702399763615; Tue, 12 Dec 2023 08:49:23 -0800 (PST) Received: from thinkpad ([117.202.189.222]) by smtp.gmail.com with ESMTPSA id v29-20020a63481d000000b005c19c586cb7sm8368570pga.33.2023.12.12.08.49.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Dec 2023 08:49:22 -0800 (PST) Date: Tue, 12 Dec 2023 22:19:13 +0530 From: Manivannan Sadhasivam To: Frank Li Cc: bhelgaas@google.com, conor+dt@kernel.org, devicetree@vger.kernel.org, festevam@gmail.com, helgaas@kernel.org, hongxing.zhu@nxp.com, imx@lists.linux.dev, kernel@pengutronix.de, krzysztof.kozlowski+dt@linaro.org, kw@linux.com, l.stach@pengutronix.de, linux-arm-kernel@lists.infradead.org, linux-imx@nxp.com, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, lpieralisi@kernel.org, robh@kernel.org, s.hauer@pengutronix.de, shawnguo@kernel.org Subject: Re: [PATCH v3 01/13] PCI: imx6: Simplify clock handling by using HAS_CLK_* bitmask Message-ID: <20231212164913.GA21240@thinkpad> References: <20231211215842.134823-1-Frank.Li@nxp.com> <20231211215842.134823-2-Frank.Li@nxp.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20231211215842.134823-2-Frank.Li@nxp.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231212_084927_489729_56CFE671 X-CRM114-Status: GOOD ( 30.16 ) 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 T24gTW9uLCBEZWMgMTEsIDIwMjMgYXQgMDQ6NTg6MzBQTSAtMDUwMCwgRnJhbmsgTGkgd3JvdGU6 Cj4gUmVmYWN0b3JzIHRoZSBjbG9jayBoYW5kbGluZyBsb2dpYyBpbiB0aGUgaW14NiBQQ0kgZHJp dmVyIGJ5IGFkZGluZwo+IEhBU19DTEtfKiBiaXRtYXNrIGRlZmluZSBmb3IgZHJ2ZGF0YTo6Zmxh Z3MgLiBTaW1wbGlmaWVzIHRoZSBjb2RlIGFuZCBtYWtlcwo+IGl0IG1vcmUgbWFpbnRhaW5hYmxl LCBhcyBmdXR1cmUgYWRkaXRpb25zIG9mIFNPQyBzdXBwb3J0IHdpbGwgb25seSByZXF1aXJlCj4g c3RyYWlnaHRmb3J3YXJkIGNoYW5nZXMuIFRoZSBkcnZkYXRhOjpmbGFncyBhbmQgYSBiaXRtYXNr IGVuc3VyZXMgYSBjbGVhbmVyCj4gYW5kIG1vcmUgc2NhbGFibGUgc3dpdGNoLWNhc2Ugc3RydWN0 dXJlIGZvciBoYW5kbGluZyBjbG9ja3MuCj4gCgpJcyB0aGVyZSBhbnkgbmVjZXNzaXR5IHRvIHZh bGlkYXRlIGVhY2ggY2xvY2sgaW4gdGhlIGRyaXZlcj8gSSBtZWFuLCBjYW4ndCB5b3UKanVzdCBy ZWx5IG9uIGRldmljZXRyZWUgdG8gcHJvdmlkZSBlbm91Z2ggY2xvY2tzIGZvciB0aGUgZnVuY3Rp b25pbmcgb2YgdGhlIFBDSWUKY29udHJvbGxlcj8KCklmIHlvdSBjYW4gcmVseSBvbiBkZXZpY2V0 cmVlIChldmVyeW9uZSBzaG91bGQgaW4gYW4gaWRlYWwgd29ybGQpLCB0aGVuIHlvdSBjYW4KanVz dCB1c2UgZGV2bV9jbGtfYnVsa19nZXRfYWxsKCkgdG8gZ2V0IGFsbCBhdmFpbGFibGUgY2xvY2tz IGZvciB0aGUgU29DIGFuZApqdXN0IGVuYWJsZS9kaXNhYmxlIHdoYXRldmVyIGlzIGF2YWlsYWJs ZS4KClRoaXMgd2lsbCBncmVhdGx5IHNpbXBsaWZ5IHRoZSBjb2RlLgoKT25seSBkb3duc2lkZSBv ZiB0aGlzIGFwcHJvYWNoIGlzLCBpZiB0aGUgZGV2aWNldHJlZSBpcyBub3Qgc3VwcGx5aW5nIGVu b3VnaApjbG9ja3MsIHRoZW4gaXQgd2lsbCBiZSBkaWZmaWN1bHQgdG8gZmluZCB3aHkgUENJZSBp cyBub3Qgd29ya2luZy4gQnV0IHRoaXMgYWxzbwptZWFucyB0aGF0IHRoZSBkZXZpY2V0cmVlIGlz IHNjcmV3ZWQuCgotIE1hbmkKCj4gU2lnbmVkLW9mZi1ieTogRnJhbmsgTGkgPEZyYW5rLkxpQG54 cC5jb20+Cj4gLS0tCj4gCj4gTm90ZXM6Cj4gICAgIENoYW5nZSBmcm9tIHYxIHRvIHYzCj4gICAg IC0gbm9uZQo+IAo+ICBkcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2ktaW14Ni5jIHwgODQg KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA0MiBpbnNlcnRp b25zKCspLCA0MiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvY29u dHJvbGxlci9kd2MvcGNpLWlteDYuYyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1p bXg2LmMKPiBpbmRleCA3NDcwMzM2MmFlZWM3Li44YTliNTI3OTM0ZjgwIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1pbXg2LmMKPiArKysgYi9kcml2ZXJzL3Bj aS9jb250cm9sbGVyL2R3Yy9wY2ktaW14Ni5jCj4gQEAgLTYwLDYgKzYwLDEwIEBAIGVudW0gaW14 Nl9wY2llX3ZhcmlhbnRzIHsKPiAgI2RlZmluZSBJTVg2X1BDSUVfRkxBR19JTVg2X1BIWQkJCUJJ VCgwKQo+ICAjZGVmaW5lIElNWDZfUENJRV9GTEFHX0lNWDZfU1BFRURfQ0hBTkdFCUJJVCgxKQo+ ICAjZGVmaW5lIElNWDZfUENJRV9GTEFHX1NVUFBPUlRTX1NVU1BFTkQJCUJJVCgyKQo+ICsjZGVm aW5lIElNWDZfUENJRV9GTEFHX0hBU19DTEtfSU5CT1VORF9BWEkJQklUKDMpCj4gKyNkZWZpbmUg SU1YNl9QQ0lFX0ZMQUdfSEFTX0NMS19BVVgJCUJJVCg0KQo+ICsKPiArI2RlZmluZSBpbXg2X2No ZWNrX2ZsYWcocGNpLCB2YWwpCShwY2ktPmRydmRhdGEtPmZsYWdzICYgdmFsKQo+ICAKPiAgc3Ry dWN0IGlteDZfcGNpZV9kcnZkYXRhIHsKPiAgCWVudW0gaW14Nl9wY2llX3ZhcmlhbnRzIHZhcmlh bnQ7Cj4gQEAgLTU1MCwxOSArNTU0LDIzIEBAIHN0YXRpYyBpbnQgaW14Nl9wY2llX2F0dGFjaF9w ZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gIAo+ICBzdGF0aWMgaW50IGlteDZfcGNpZV9lbmFibGVf cmVmX2NsayhzdHJ1Y3QgaW14Nl9wY2llICppbXg2X3BjaWUpCj4gIHsKPiAtCXN0cnVjdCBkd19w Y2llICpwY2kgPSBpbXg2X3BjaWUtPnBjaTsKPiAtCXN0cnVjdCBkZXZpY2UgKmRldiA9IHBjaS0+ ZGV2Owo+ICAJdW5zaWduZWQgaW50IG9mZnNldDsKPiAgCWludCByZXQgPSAwOwo+ICAKPiAtCXN3 aXRjaCAoaW14Nl9wY2llLT5kcnZkYXRhLT52YXJpYW50KSB7Cj4gLQljYXNlIElNWDZTWDoKPiAr CWlmIChpbXg2X2NoZWNrX2ZsYWcoaW14Nl9wY2llLCBJTVg2X1BDSUVfRkxBR19IQVNfQ0xLX0lO Qk9VTkRfQVhJKSkgewo+ICAJCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShpbXg2X3BjaWUtPnBj aWVfaW5ib3VuZF9heGkpOwo+IC0JCWlmIChyZXQpIHsKPiAtCQkJZGV2X2VycihkZXYsICJ1bmFi bGUgdG8gZW5hYmxlIHBjaWVfYXhpIGNsb2NrXG4iKTsKPiAtCQkJYnJlYWs7Cj4gLQkJfQo+ICsJ CWlmIChyZXQpCj4gKwkJCXJldHVybiByZXQ7Cj4gKwl9Cj4gIAo+ICsJaWYgKGlteDZfY2hlY2tf ZmxhZyhpbXg2X3BjaWUsIElNWDZfUENJRV9GTEFHX0hBU19DTEtfQVVYKSkgewo+ICsJCXJldCA9 IGNsa19wcmVwYXJlX2VuYWJsZShpbXg2X3BjaWUtPnBjaWVfYXV4KTsKPiArCQlpZiAocmV0KQo+ ICsJCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiArCXN3aXRjaCAoaW14Nl9wY2llLT5kcnZkYXRh LT52YXJpYW50KSB7Cj4gKwljYXNlIElNWDZTWDoKPiAgCQlyZWdtYXBfdXBkYXRlX2JpdHMoaW14 Nl9wY2llLT5pb211eGNfZ3ByLCBJT01VWENfR1BSMTIsCj4gIAkJCQkgICBJTVg2U1hfR1BSMTJf UENJRV9URVNUX1BPV0VSRE9XTiwgMCk7Cj4gIAkJYnJlYWs7Cj4gQEAgLTU4OSwxMiArNTk3LDYg QEAgc3RhdGljIGludCBpbXg2X3BjaWVfZW5hYmxlX3JlZl9jbGsoc3RydWN0IGlteDZfcGNpZSAq aW14Nl9wY2llKQo+ICAJY2FzZSBJTVg4TVFfRVA6Cj4gIAljYXNlIElNWDhNUDoKPiAgCWNhc2Ug SU1YOE1QX0VQOgo+IC0JCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShpbXg2X3BjaWUtPnBjaWVf YXV4KTsKPiAtCQlpZiAocmV0KSB7Cj4gLQkJCWRldl9lcnIoZGV2LCAidW5hYmxlIHRvIGVuYWJs ZSBwY2llX2F1eCBjbG9ja1xuIik7Cj4gLQkJCWJyZWFrOwo+IC0JCX0KPiAtCj4gIAkJb2Zmc2V0 ID0gaW14Nl9wY2llX2dycF9vZmZzZXQoaW14Nl9wY2llKTsKPiAgCQkvKgo+ICAJCSAqIFNldCB0 aGUgb3ZlciByaWRlIGxvdyBhbmQgZW5hYmxlZAo+IEBAIC02MTQsMTAgKzYxNiwxMyBAQCBzdGF0 aWMgaW50IGlteDZfcGNpZV9lbmFibGVfcmVmX2NsayhzdHJ1Y3QgaW14Nl9wY2llICppbXg2X3Bj aWUpCj4gIAo+ICBzdGF0aWMgdm9pZCBpbXg2X3BjaWVfZGlzYWJsZV9yZWZfY2xrKHN0cnVjdCBp bXg2X3BjaWUgKmlteDZfcGNpZSkKPiAgewo+IC0Jc3dpdGNoIChpbXg2X3BjaWUtPmRydmRhdGEt PnZhcmlhbnQpIHsKPiAtCWNhc2UgSU1YNlNYOgo+ICsJaWYgKGlteDZfY2hlY2tfZmxhZyhpbXg2 X3BjaWUsIElNWDZfUENJRV9GTEFHX0hBU19DTEtfSU5CT1VORF9BWEkpKQo+ICAJCWNsa19kaXNh YmxlX3VucHJlcGFyZShpbXg2X3BjaWUtPnBjaWVfaW5ib3VuZF9heGkpOwo+IC0JCWJyZWFrOwo+ ICsKPiArCWlmIChpbXg2X2NoZWNrX2ZsYWcoaW14Nl9wY2llLCBJTVg2X1BDSUVfRkxBR19IQVNf Q0xLX0FVWCkpCj4gKwkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGlteDZfcGNpZS0+cGNpZV9hdXgp Owo+ICsKPiArCXN3aXRjaCAoaW14Nl9wY2llLT5kcnZkYXRhLT52YXJpYW50KSB7Cj4gIAljYXNl IElNWDZRUDoKPiAgCWNhc2UgSU1YNlE6Cj4gIAkJcmVnbWFwX3VwZGF0ZV9iaXRzKGlteDZfcGNp ZS0+aW9tdXhjX2dwciwgSU9NVVhDX0dQUjEsCj4gQEAgLTYzMSwxNCArNjM2LDYgQEAgc3RhdGlj IHZvaWQgaW14Nl9wY2llX2Rpc2FibGVfcmVmX2NsayhzdHJ1Y3QgaW14Nl9wY2llICppbXg2X3Bj aWUpCj4gIAkJCQkgICBJTVg3RF9HUFIxMl9QQ0lFX1BIWV9SRUZDTEtfU0VMLAo+ICAJCQkJICAg SU1YN0RfR1BSMTJfUENJRV9QSFlfUkVGQ0xLX1NFTCk7Cj4gIAkJYnJlYWs7Cj4gLQljYXNlIElN WDhNTToKPiAtCWNhc2UgSU1YOE1NX0VQOgo+IC0JY2FzZSBJTVg4TVE6Cj4gLQljYXNlIElNWDhN UV9FUDoKPiAtCWNhc2UgSU1YOE1QOgo+IC0JY2FzZSBJTVg4TVBfRVA6Cj4gLQkJY2xrX2Rpc2Fi bGVfdW5wcmVwYXJlKGlteDZfcGNpZS0+cGNpZV9hdXgpOwo+IC0JCWJyZWFrOwo+ICAJZGVmYXVs dDoKPiAgCQlicmVhazsKPiAgCX0KPiBAQCAtMTMxNiwyMSArMTMxMywyMSBAQCBzdGF0aWMgaW50 IGlteDZfcGNpZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJCXJldHVy biBkZXZfZXJyX3Byb2JlKGRldiwgUFRSX0VSUihpbXg2X3BjaWUtPnBjaWUpLAo+ICAJCQkJICAg ICAicGNpZSBjbG9jayBzb3VyY2UgbWlzc2luZyBvciBpbnZhbGlkXG4iKTsKPiAgCj4gLQlzd2l0 Y2ggKGlteDZfcGNpZS0+ZHJ2ZGF0YS0+dmFyaWFudCkgewo+IC0JY2FzZSBJTVg2U1g6Cj4gLQkJ aW14Nl9wY2llLT5wY2llX2luYm91bmRfYXhpID0gZGV2bV9jbGtfZ2V0KGRldiwKPiAtCQkJCQkJ CSAgICJwY2llX2luYm91bmRfYXhpIik7Cj4gKwlpZiAoaW14Nl9jaGVja19mbGFnKGlteDZfcGNp ZSwgSU1YNl9QQ0lFX0ZMQUdfSEFTX0NMS19JTkJPVU5EX0FYSSkpIHsKPiArCQlpbXg2X3BjaWUt PnBjaWVfaW5ib3VuZF9heGkgPSBkZXZtX2Nsa19nZXQoZGV2LCAicGNpZV9pbmJvdW5kX2F4aSIp Owo+ICAJCWlmIChJU19FUlIoaW14Nl9wY2llLT5wY2llX2luYm91bmRfYXhpKSkKPiAtCQkJcmV0 dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBQVFJfRVJSKGlteDZfcGNpZS0+cGNpZV9pbmJvdW5kX2F4 aSksCj4gLQkJCQkJICAgICAicGNpZV9pbmJvdW5kX2F4aSBjbG9jayBtaXNzaW5nIG9yIGludmFs aWRcbiIpOwo+IC0JCWJyZWFrOwo+IC0JY2FzZSBJTVg4TVE6Cj4gLQljYXNlIElNWDhNUV9FUDoK PiArCQkJZGV2X2Vycl9wcm9iZShkZXYsIFBUUl9FUlIoaW14Nl9wY2llLT5wY2llX2luYm91bmRf YXhpKSwKPiArCQkJCSAgICAgICJwY2llX2luYm91bmRfYXhpIGNsb2NrIG1pc3Npbmcgb3IgaW52 YWxpZFxuIik7Cj4gKwl9Cj4gKwo+ICsJaWYgKGlteDZfY2hlY2tfZmxhZyhpbXg2X3BjaWUsIElN WDZfUENJRV9GTEFHX0hBU19DTEtfQVVYKSkgewo+ICAJCWlteDZfcGNpZS0+cGNpZV9hdXggPSBk ZXZtX2Nsa19nZXQoZGV2LCAicGNpZV9hdXgiKTsKPiAgCQlpZiAoSVNfRVJSKGlteDZfcGNpZS0+ cGNpZV9hdXgpKQo+ICAJCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYsIFBUUl9FUlIoaW14Nl9w Y2llLT5wY2llX2F1eCksCj4gIAkJCQkJICAgICAicGNpZV9hdXggY2xvY2sgc291cmNlIG1pc3Np bmcgb3IgaW52YWxpZFxuIik7Cj4gLQkJZmFsbHRocm91Z2g7Cj4gKwl9Cj4gKwo+ICsJc3dpdGNo IChpbXg2X3BjaWUtPmRydmRhdGEtPnZhcmlhbnQpIHsKPiAgCWNhc2UgSU1YN0Q6Cj4gIAkJaWYg KGRiaV9iYXNlLT5zdGFydCA9PSBJTVg4TVFfUENJRTJfQkFTRV9BRERSKQo+ICAJCQlpbXg2X3Bj aWUtPmNvbnRyb2xsZXJfaWQgPSAxOwo+IEBAIC0xMzUzLDEwICsxMzUwLDYgQEAgc3RhdGljIGlu dCBpbXg2X3BjaWVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCWNhc2Ug SU1YOE1NX0VQOgo+ICAJY2FzZSBJTVg4TVA6Cj4gIAljYXNlIElNWDhNUF9FUDoKPiAtCQlpbXg2 X3BjaWUtPnBjaWVfYXV4ID0gZGV2bV9jbGtfZ2V0KGRldiwgInBjaWVfYXV4Iik7Cj4gLQkJaWYg KElTX0VSUihpbXg2X3BjaWUtPnBjaWVfYXV4KSkKPiAtCQkJcmV0dXJuIGRldl9lcnJfcHJvYmUo ZGV2LCBQVFJfRVJSKGlteDZfcGNpZS0+cGNpZV9hdXgpLAo+IC0JCQkJCSAgICAgInBjaWVfYXV4 IGNsb2NrIHNvdXJjZSBtaXNzaW5nIG9yIGludmFsaWRcbiIpOwo+ICAJCWlteDZfcGNpZS0+YXBw c19yZXNldCA9IGRldm1fcmVzZXRfY29udHJvbF9nZXRfZXhjbHVzaXZlKGRldiwKPiAgCQkJCQkJ CQkJICJhcHBzIik7Cj4gIAkJaWYgKElTX0VSUihpbXg2X3BjaWUtPmFwcHNfcmVzZXQpKQo+IEBA IC0xNDgyLDcgKzE0NzUsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGlteDZfcGNpZV9kcnZkYXRh IGRydmRhdGFbXSA9IHsKPiAgCQkudmFyaWFudCA9IElNWDZTWCwKPiAgCQkuZmxhZ3MgPSBJTVg2 X1BDSUVfRkxBR19JTVg2X1BIWSB8Cj4gIAkJCSBJTVg2X1BDSUVfRkxBR19JTVg2X1NQRUVEX0NI QU5HRSB8Cj4gLQkJCSBJTVg2X1BDSUVfRkxBR19TVVBQT1JUU19TVVNQRU5ELAo+ICsJCQkgSU1Y Nl9QQ0lFX0ZMQUdfU1VQUE9SVFNfU1VTUEVORCB8Cj4gKwkJCSBJTVg2X1BDSUVfRkxBR19IQVNf Q0xLX0lOQk9VTkRfQVhJLAo+ICAJCS5ncHIgPSAiZnNsLGlteDZxLWlvbXV4Yy1ncHIiLAo+ICAJ fSwKPiAgCVtJTVg2UVBdID0gewo+IEBAIC0xNTAwLDMwICsxNDk0LDM2IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgaW14Nl9wY2llX2RydmRhdGEgZHJ2ZGF0YVtdID0gewo+ICAJfSwKPiAgCVtJTVg4 TVFdID0gewo+ICAJCS52YXJpYW50ID0gSU1YOE1RLAo+ICsJCS5mbGFncyA9IElNWDZfUENJRV9G TEFHX0hBU19DTEtfQVVYLAo+ICAJCS5ncHIgPSAiZnNsLGlteDhtcS1pb211eGMtZ3ByIiwKPiAg CX0sCj4gIAlbSU1YOE1NXSA9IHsKPiAgCQkudmFyaWFudCA9IElNWDhNTSwKPiAtCQkuZmxhZ3Mg PSBJTVg2X1BDSUVfRkxBR19TVVBQT1JUU19TVVNQRU5ELAo+ICsJCS5mbGFncyA9IElNWDZfUENJ RV9GTEFHX1NVUFBPUlRTX1NVU1BFTkQgfAo+ICsJCQkgSU1YNl9QQ0lFX0ZMQUdfSEFTX0NMS19B VVgsCj4gIAkJLmdwciA9ICJmc2wsaW14OG1tLWlvbXV4Yy1ncHIiLAo+ICAJfSwKPiAgCVtJTVg4 TVBdID0gewo+ICAJCS52YXJpYW50ID0gSU1YOE1QLAo+IC0JCS5mbGFncyA9IElNWDZfUENJRV9G TEFHX1NVUFBPUlRTX1NVU1BFTkQsCj4gKwkJLmZsYWdzID0gSU1YNl9QQ0lFX0ZMQUdfU1VQUE9S VFNfU1VTUEVORCB8Cj4gKwkJCSBJTVg2X1BDSUVfRkxBR19IQVNfQ0xLX0FVWCwKPiAgCQkuZ3By ID0gImZzbCxpbXg4bXAtaW9tdXhjLWdwciIsCj4gIAl9LAo+ICAJW0lNWDhNUV9FUF0gPSB7Cj4g IAkJLnZhcmlhbnQgPSBJTVg4TVFfRVAsCj4gKwkJLmZsYWdzID0gSU1YNl9QQ0lFX0ZMQUdfSEFT X0NMS19BVVgsCj4gIAkJLm1vZGUgPSBEV19QQ0lFX0VQX1RZUEUsCj4gIAkJLmdwciA9ICJmc2ws aW14OG1xLWlvbXV4Yy1ncHIiLAo+ICAJfSwKPiAgCVtJTVg4TU1fRVBdID0gewo+ICAJCS52YXJp YW50ID0gSU1YOE1NX0VQLAo+ICsJCS5mbGFncyA9IElNWDZfUENJRV9GTEFHX0hBU19DTEtfQVVY LAo+ICAJCS5tb2RlID0gRFdfUENJRV9FUF9UWVBFLAo+ICAJCS5ncHIgPSAiZnNsLGlteDhtbS1p b211eGMtZ3ByIiwKPiAgCX0sCj4gIAlbSU1YOE1QX0VQXSA9IHsKPiAgCQkudmFyaWFudCA9IElN WDhNUF9FUCwKPiArCQkuZmxhZ3MgPSBJTVg2X1BDSUVfRkxBR19IQVNfQ0xLX0FVWCwKPiAgCQku bW9kZSA9IERXX1BDSUVfRVBfVFlQRSwKPiAgCQkuZ3ByID0gImZzbCxpbXg4bXAtaW9tdXhjLWdw ciIsCj4gIAl9LAo+IC0tIAo+IDIuMzQuMQo+IAoKLS0gCuCuruCuo+Cuv+CuteCuo+CvjeCuo+Cu qeCvjSDgrprgrqTgrr7grprgrr/grrXgrq7gr40KCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK