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 X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0829CC3A59E for ; Sat, 24 Aug 2019 10:35:46 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id CAFAC20850 for ; Sat, 24 Aug 2019 10:35:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ub9UActc" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CAFAC20850 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject: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=TIF+75MqigGu7vUXbS4p+fwVGaLYLfZYLfvtamb7fzw=; b=ub9UActcVk5tgF MAulcaapBlrLGtKi/RO91WReM50Fo9prSJBvlGIfXwe/J5hdYOhPDqQmV/2GWh4/UcQiCeavF28RB 3W+COVujI+zgJgC36xgtI5YrSMbohajvg8k7AduK7I+AojjugO+9CFUANtaTv9PPf9Bg8zQ2oAWLU HQdwGGfsBB7ZNzOQX0TJCmhik+e6Y0vhi1edVS8zxSrwhKdwUMxNSDsWfB4q2ODSovq1SKFbdxKgJ WOcpRYeZ+xXPJozsZ4Q8hz6hRNw62Dnzf40fvIcKJhZVhpSRtz/uypjSW1E0/QxGSIO723Xe9EVMC BH6GGvc+NJp44kJmQ2XA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1i1TOQ-0005cK-Ol; Sat, 24 Aug 2019 10:35:34 +0000 Received: from relay9-d.mail.gandi.net ([217.70.183.199]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1i1TOL-0005bV-ML for linux-arm-kernel@lists.infradead.org; Sat, 24 Aug 2019 10:35:32 +0000 X-Originating-IP: 91.224.148.103 Received: from xps13 (unknown [91.224.148.103]) (Authenticated sender: miquel.raynal@bootlin.com) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 78EFCFF803; Sat, 24 Aug 2019 10:35:19 +0000 (UTC) Date: Sat, 24 Aug 2019 12:35:12 +0200 From: Miquel Raynal To: Stephen Boyd Subject: Re: [PATCH v5 1/4] clk: core: link consumer with clock driver Message-ID: <20190824123512.24c94ca1@xps13> In-Reply-To: <20190815000301.3ABAF2086C@mail.kernel.org> References: <20190521125114.20357-1-miquel.raynal@bootlin.com> <20190521125114.20357-2-miquel.raynal@bootlin.com> <20190815000301.3ABAF2086C@mail.kernel.org> Organization: Bootlin X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190824_033530_032532_CBFBDB6D X-CRM114-Status: GOOD ( 36.65 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gregory Clement , Antoine Tenart , Michael Turquette , linux-kernel@vger.kernel.org, Russell King , Nadav Haklai , Thomas Petazzoni , Maxime Chevallier , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgU3RlcGhlbiwKClN0ZXBoZW4gQm95ZCA8c2JveWRAa2VybmVsLm9yZz4gd3JvdGUgb24gV2Vk LCAxNCBBdWcgMjAxOSAxNzowMzowMAotMDcwMDoKCj4gUXVvdGluZyBNaXF1ZWwgUmF5bmFsICgy MDE5LTA1LTIxIDA1OjUxOjEwKQo+ID4gT25lIG1ham9yIGNvbmNlcm4gd2hlbiwgZm9yIGluc3Rh bmNlLCBzdXNwZW5kaW5nL3Jlc3VtaW5nIGEgcGxhdGZvcm0KPiA+IGlzIHRvIG5ldmVyIGFjY2Vz cyByZWdpc3RlcnMgYmVmb3JlIHRoZSB1bmRlcmx5aW5nIGNsb2NrIGhhcyBiZWVuCj4gPiByZXN1 bWVkLCBvdGhlcndpc2UgbW9zdCBvZiB0aGUgdGltZSB0aGUga2VybmVsIHdpbGwganVzdCBjcmFz aC4gT25lCj4gPiBzb2x1dGlvbiBpcyB0byB1c2Ugc3lzY29yZSBvcGVyYXRpb25zIHdoZW4gcmVn aXN0ZXJpbmcgY2xvY2sgZHJpdmVycwo+ID4gc3VzcGVuZC9yZXN1bWUgY2FsbGJhY2tzLiBPbmUg cHJvYmxlbSBvZiB1c2luZyBzeXNjb3JlX29wcyBpcyB0aGF0IHRoZQo+ID4gc3VzcGVuZC9yZXN1 bWUgc2NoZWR1bGluZyB3aWxsIGRlcGVuZCBvbiB0aGUgb3JkZXIgb2YgdGhlCj4gPiByZWdpc3Ry YXRpb25zLCB3aGljaCBicmluZ3MgKHVuYWNjZXB0YWJsZSkgcmFuZG9tbmVzcyBpbiB0aGUgcHJv Y2Vzcy4KPiA+IAo+ID4gQSBmZWF0dXJlIGNhbGxlZCBkZXZpY2UgbGlua3MgaGFzIGJlZW4gaW50 cm9kdWNlZCB0byBoYW5kbGUgc3VjaAo+ID4gc2l0dWF0aW9uLiBJdCBjcmVhdGVzIGRlcGVuZGVu Y2llcyBiZXR3ZWVuIGNvbnN1bWVycyBhbmQgcHJvdmlkZXJzLAo+ID4gZW5mb3JjaW5nIGUuZy4g dGhlIHN1c3BlbmQvcmVzdW1lIG9yZGVyIHdoZW4gbmVlZGVkLiBTdWNoIGZlYXR1cmUgaXMKPiA+ IGFscmVhZHkgaW4gdXNlIGZvciByZWd1bGF0b3JzLgo+ID4gCj4gPiBBZGQgZGV2aWNlIGxpbmtz IHN1cHBvcnQgaW4gdGhlIGNsb2NrIHN1YnN5c3RlbSBieSBjcmVhdGluZy9kZWxldGluZwo+ID4g dGhlIGxpbmtzIGF0IGdldC9wdXQgdGltZS4KPiA+IAo+ID4gRXhhbXBsZSBvZiBhIGJvb3QgKEVT UFJFU1NPYmluLCBBMzcwMCBTb0MpIHdpdGggZGV2aWNlcyBsaW5rZWQgdG8gY2xvY2tzOgo+ID4g Cj4gPiBtYXJ2ZWxsLWFybWFkYS0zNzAwLXRiZy1jbG9jayBkMDAxMzIwMC50Ymc6IExpbmtlZCBh cyBhIGNvbnN1bWVyIHRvIGQwMDEzODAwLnBpbmN0cmw6eHRhbC1jbGsKPiA+IG1hcnZlbGwtYXJt YWRhLTM3MDAtdGJnLWNsb2NrIGQwMDEzMjAwLnRiZzogRHJvcHBpbmcgdGhlIGxpbmsgdG8gZDAw MTM4MDAucGluY3RybDp4dGFsLWNsawo+ID4gbWFydmVsbC1hcm1hZGEtMzcwMC10YmctY2xvY2sg ZDAwMTMyMDAudGJnOiBMaW5rZWQgYXMgYSBjb25zdW1lciB0byBkMDAxMzgwMC5waW5jdHJsOnh0 YWwtY2xrCj4gPiBtYXJ2ZWxsLWFybWFkYS0zNzAwLXBlcmlwaC1jbG9jayBkMDAxMzAwMC5uYi1w ZXJpcGgtY2xrOiBMaW5rZWQgYXMgYSBjb25zdW1lciB0byBkMDAxMzIwMC50YmcKPiA+IG1hcnZl bGwtYXJtYWRhLTM3MDAtcGVyaXBoLWNsb2NrIGQwMDEzMDAwLm5iLXBlcmlwaC1jbGs6IExpbmtl ZCBhcyBhIGNvbnN1bWVyIHRvIGQwMDEzODAwLnBpbmN0cmw6eHRhbC1jbGsKPiA+IG1hcnZlbGwt YXJtYWRhLTM3MDAtcGVyaXBoLWNsb2NrIGQwMDE4MDAwLnNiLXBlcmlwaC1jbGs6IExpbmtlZCBh cyBhIGNvbnN1bWVyIHRvIGQwMDEzMjAwLnRiZwo+ID4gbXZuZXRhIGQwMDMwMDAwLmV0aGVybmV0 OiBMaW5rZWQgYXMgYSBjb25zdW1lciB0byBkMDAxODAwMC5zYi1wZXJpcGgtY2xrCj4gPiB4aGNp LWhjZCBkMDA1ODAwMC51c2I6IExpbmtlZCBhcyBhIGNvbnN1bWVyIHRvIGQwMDE4MDAwLnNiLXBl cmlwaC1jbGsKPiA+IHhlbm9uLXNkaGNpIGQwMGQwMDAwLnNkaGNpOiBMaW5rZWQgYXMgYSBjb25z dW1lciB0byBkMDAxMzAwMC5uYi1wZXJpcGgtY2xrCj4gPiB4ZW5vbi1zZGhjaSBkMDBkMDAwMC5z ZGhjaTogRHJvcHBpbmcgdGhlIGxpbmsgdG8gZDAwMTMwMDAubmItcGVyaXBoLWNsawo+ID4gbXZl YnUtdWFydCBkMDAxMjAwMC5zZXJpYWw6IExpbmtlZCBhcyBhIGNvbnN1bWVyIHRvIGQwMDEzODAw LnBpbmN0cmw6eHRhbC1jbGsKPiA+IGFkdmstcGNpZSBkMDA3MDAwMC5wY2llOiBMaW5rZWQgYXMg YSBjb25zdW1lciB0byBkMDAxODAwMC5zYi1wZXJpcGgtY2xrCj4gPiB4ZW5vbi1zZGhjaSBkMDBk MDAwMC5zZGhjaTogTGlua2VkIGFzIGEgY29uc3VtZXIgdG8gZDAwMTMwMDAubmItcGVyaXBoLWNs awo+ID4geGVub24tc2RoY2kgZDAwZDAwMDAuc2RoY2k6IExpbmtlZCBhcyBhIGNvbnN1bWVyIHRv IHJlZ3VsYXRvci4xCj4gPiBjcHUgY3B1MDogTGlua2VkIGFzIGEgY29uc3VtZXIgdG8gZDAwMTMw MDAubmItcGVyaXBoLWNsawo+ID4gY3B1IGNwdTA6IERyb3BwaW5nIHRoZSBsaW5rIHRvIGQwMDEz MDAwLm5iLXBlcmlwaC1jbGsKPiA+IGNwdSBjcHUwOiBMaW5rZWQgYXMgYSBjb25zdW1lciB0byBk MDAxMzAwMC5uYi1wZXJpcGgtY2xrCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IE1pcXVlbCBSYXlu YWwgPG1pcXVlbC5yYXluYWxAYm9vdGxpbi5jb20+Cj4gPiAtLS0gIAo+IAo+IFRoaXMgcGF0Y2gg ZG9lc24ndCBhcHBseS4gVGhpbmdzIGhhdmUgY2hhbmdlZCB1cHN0cmVhbS4KPiAKPiA+IAo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL2Nsay5jIGIvZHJpdmVycy9jbGsvY2xrLmMKPiA+IGlu ZGV4IGVjNmYwNGRjZjVlNi4uZTZiODRhYjQzZjlmIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9j bGsvY2xrLmMKPiA+ICsrKyBiL2RyaXZlcnMvY2xrL2Nsay5jCj4gPiBAQCAtMTY3Niw2ICsxNzEw LDggQEAgc3RhdGljIHZvaWQgY2xrX3JlcGFyZW50KHN0cnVjdCBjbGtfY29yZSAqY29yZSwgc3Ry dWN0IGNsa19jb3JlICpuZXdfcGFyZW50KQo+ID4gIAo+ID4gICAgICAgICAgICAgICAgIGlmICh3 YXNfb3JwaGFuICE9IGJlY29tZXNfb3JwaGFuKQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAg Y2xrX2NvcmVfdXBkYXRlX29ycGhhbl9zdGF0dXMoY29yZSwgYmVjb21lc19vcnBoYW4pOwo+ID4g Kwo+ID4gKyAgICAgICAgICAgICAgIGNsa19saW5rX2hpZXJhcmNoeShjb3JlLCBuZXdfcGFyZW50 KTsgIAo+IAo+IFRoaXMgaXNuJ3QgZ29pbmcgdG8gd29yay4KClN0cmFuZ2UsIEkgZGlkbid0IGhh ZCB0aGF0IHByb2JsZW0gKG9uIE1hcnZlbGwgcGxhdGZvcm1zKS4KCj4gCj4gIEJVRzogc2xlZXBp bmcgZnVuY3Rpb24gY2FsbGVkIGZyb20gaW52YWxpZCBjb250ZXh0IGF0IGtlcm5lbC9sb2NraW5n L211dGV4LmM6OTA5Cj4gIGluX2F0b21pYygpOiAxLCBpcnFzX2Rpc2FibGVkKCk6IDEyOCwgcGlk OiAxLCBuYW1lOiBzd2FwcGVyLzAKPiAgMyBsb2NrcyBoZWxkIGJ5IHN3YXBwZXIvMC8xOgo+ICAg IzA6IChfX19fcHRydmFsX19fXykgKCZkZXYtPm11dGV4KXsuLi4ufSwgYXQ6IF9fZGV2aWNlX2Ry aXZlcl9sb2NrKzB4NDAvMHg0Ywo+ICAgIzE6IChfX19fcHRydmFsX19fXykgKHByZXBhcmVfbG9j ayl7Ky4rLn0sIGF0OiBjbGtfcHJlcGFyZV9sb2NrKzB4MTgvMHg5NAo+ICAgIzI6IChfX19fcHRy dmFsX19fXykgKGVuYWJsZV9sb2NrKXsuLi4ufSwgYXQ6IGNsa19lbmFibGVfbG9jaysweDM0LzB4 ZGMKPiAgaXJxIGV2ZW50IHN0YW1wOiAzMTE1MTYKPiAgaGFyZGlycXMgbGFzdCAgZW5hYmxlZCBh dCAoMzExNTE1KTogWzxmZmZmZmY5MDFmY2U1YzkwPl0gX3Jhd19zcGluX3VubG9ja19pcnFyZXN0 b3JlKzB4NTQvMHg5MAo+ICBoYXJkaXJxcyBsYXN0IGRpc2FibGVkIGF0ICgzMTE1MTYpOiBbPGZm ZmZmZjkwMWY3M2Q0Njg+XSBjbGtfZW5hYmxlX2xvY2srMHgyOC8weGRjCj4gIHNvZnRpcnFzIGxh c3QgIGVuYWJsZWQgYXQgKDMxMTM0OCk6IFs8ZmZmZmZmOTAxZjI4MTg4Yz5dIF9fZG9fc29mdGly cSsweDRjYy8weDUxNAo+ICBzb2Z0aXJxcyBsYXN0IGRpc2FibGVkIGF0ICgzMTEzNDEpOiBbPGZm ZmZmZjkwMWYyZjg5YWM+XSBpcnFfZXhpdCsweGQ4LzB4ZjgKPiAgQ1BVOiA0IFBJRDogMSBDb21t OiBzd2FwcGVyLzAgVGFpbnRlZDogRyAgICAgICAgVyAgICAgICAgIDUuMy4wLXJjNC0wMDAwNS1n NmJlMDZiYmVjODBlZiAjMTAKPiAgSGFyZHdhcmUgbmFtZTogR29vZ2xlIENoZXphIChyZXYzKykg KERUKQo+ICBDYWxsIHRyYWNlOgo+ICAgZHVtcF9iYWNrdHJhY2UrMHgwLzB4MTNjCj4gICBzaG93 X3N0YWNrKzB4MjAvMHgyYwo+ICAgZHVtcF9zdGFjaysweGM0LzB4MTJjCj4gICBfX19taWdodF9z bGVlcCsweDFiNC8weDFjNAo+ICAgX19taWdodF9zbGVlcCsweDUwLzB4ODgKPiAgIF9fbXV0ZXhf bG9ja19jb21tb24rMHg1Yy8weGJmYwo+ICAgbXV0ZXhfbG9ja19uZXN0ZWQrMHg0MC8weDUwCj4g ICBkZXZpY2VfbGlua19hZGQrMHg4OC8weDNhYwo+ICAgY2xrX3JlcGFyZW50KzB4YzQvMHgxMTQK PiAgIF9fY2xrX3NldF9wYXJlbnRfYmVmb3JlKzB4NzQvMHg5MAo+ICAgY2xrX2NoYW5nZV9yYXRl KzB4OTgvMHg4NTQKPiAgIGNsa19jb3JlX3NldF9yYXRlX25vbG9jaysweDFiMC8weDIxYwo+ICAg Y2xrX3NldF9yYXRlKzB4M2MvMHg2Ywo+ICAgb2ZfY2xrX3NldF9kZWZhdWx0cysweDI5Yy8weDM2 NAo+ICAgcGxhdGZvcm1fZHJ2X3Byb2JlKzB4MjgvMHhiMAo+ICAgcmVhbGx5X3Byb2JlKzB4MTMw LzB4MmI0Cj4gICBkcml2ZXJfcHJvYmVfZGV2aWNlKzB4NjQvMHhmYwo+ICAgZGV2aWNlX2RyaXZl cl9hdHRhY2grMHg0Yy8weDZjCj4gICBfX2RyaXZlcl9hdHRhY2grMHhiMC8weGM0Cj4gICBidXNf Zm9yX2VhY2hfZGV2KzB4ODQvMHhjYwo+ICAgZHJpdmVyX2F0dGFjaCsweDJjLzB4MzgKPiAgIGJ1 c19hZGRfZHJpdmVyKzB4ZmMvMHgxZDAKPiAgIGRyaXZlcl9yZWdpc3RlcisweDY0LzB4ZjAKPiAg IF9fcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKzB4NGMvMHg1OAo+ICAgbXNtX2RybV9yZWdpc3Rl cisweDVjLzB4NjAKPiAgIGRvX29uZV9pbml0Y2FsbCsweDFlMC8weDQ3OAo+ICAgZG9faW5pdGNh bGxfbGV2ZWwrMHgyMWMvMHgyNWMKPiAgIGRvX2Jhc2ljX3NldHVwKzB4NjAvMHg3OAo+ICAga2Vy bmVsX2luaXRfZnJlZWFibGUrMHgxMjgvMHgxYjAKPiAgIGtlcm5lbF9pbml0KzB4MTQvMHgxMDAK PiAgIHJldF9mcm9tX2ZvcmsrMHgxMC8weDE4Cj4gCj4gPiAgICAgICAgIH0gZWxzZSB7Cj4gPiAg ICAgICAgICAgICAgICAgaGxpc3RfYWRkX2hlYWQoJmNvcmUtPmNoaWxkX25vZGUsICZjbGtfb3Jw aGFuX2xpc3QpOwo+ID4gICAgICAgICAgICAgICAgIGlmICghd2FzX29ycGhhbikKPiA+IEBAIC0y NDAyLDYgKzI0MzgsOCBAQCBfX2Nsa19pbml0X3BhcmVudChzdHJ1Y3QgY2xrX2NvcmUgKmNvcmUs IGJvb2wgdXBkYXRlX29ycGhhbikKPiA+ICAgICAgICAgaWYgKCFwYXJlbnRfaHcpCj4gPiAgICAg ICAgICAgICAgICAgcmV0dXJuIE5VTEw7Cj4gPiAgCj4gPiArICAgICAgIGNsa19saW5rX2hpZXJh cmNoeShjb3JlLCBwYXJlbnRfaHctPmNvcmUpOwo+ID4gKyAgCj4gCj4gVGhpcyBpcyB0aGUgaHVu ayB0aGF0IGRvZXNuJ3QgYXBwbHkgYW55bW9yZS4KPiAKPiA+ICAgICAgICAgcmV0dXJuIHBhcmVu dF9ody0+Y29yZTsKPiA+ICB9Cj4gPiAgICAKPiAKPiBUaGUgZ2VuZXJhbCB0aG91Z2h0IGlzIHRo YXQgaXQgd291bGQgYmUgZ29vZCB0byBfbm90XyBjYWxsIHRoZSBkZXZpY2UKPiBsaW5rIEFQSXMg ZnJvbSBkZWVwIHdpdGhpbiB0aGUgY2xrIHBhcmVudCBjaGFuZ2luZyBjb2RlIG9yIGV2ZW4gcGFy ZW50Cj4gaW5pdGlhbGl6YXRpb24gY29kZS4gSXQgd291bGQgYmUgYmV0dGVyIHRvIG1ha2UgZGV2 aWNlIGxpbmtzIGJhc2VkIG9uCj4gdGhlIHBvc3NpYmxlIHBhcmVudHMgb2YgYSBjbGsgY29udHJv bGxlciB3aGVuIHRoZSBjbGsgaXMgcmVnaXN0ZXJlZCBhbmQKPiBhZnRlciB0aGUgY2xrIHByZXBh cmUgbG9jayAoaS5lLiB0aGUgcmVnaXN0cmF0aW9uIGxvY2spIGlzIGRyb3BwZWQuIElzCj4gdGhp cyBwb3NzaWJsZT8gVGhlIHByb2JsZW0gaXMgdGhhdCB3ZSdyZSBkZWVwbHkgbmVzdGVkIGluIGxv Y2tzIHRoYXQgYXJlCj4gYWxyZWFkeSBoYXJkIHRvIHJlYXNvbiBhYm91dCBhbmQgZ2V0IG91dCBm cm9tIHVuZGVybmVhdGguIEkgZG9uJ3Qgd2FudAo+IHRvIGdldCBpbnRvIHNvbWUgc29ydCBvZiBB QkJBIGRlYWRsb2NrIHNjZW5hcmlvIHdpdGggdGhlIFBNIGNvcmUuIFRoZQo+IHVzYWdlIG9mIHJ1 bnRpbWUgUE0gaW4gdGhlIGNsayBmcmFtZXdvcmsgaXMgcHJvYmFibHkgYnVzdGVkIHJpZ2h0IG5v dwo+IGJlY2F1c2UgaXQgaXMgdXNlZCB1bmRlciB0aGUgcHJlcGFyZSBsb2NrLiBVZ2guCgpJIHVu ZGVyc3RhbmQuCgo+IAo+IElzIGl0IG5lY2Vzc2FyeSB0byBhZGQgdGhlIGRldmljZSBsaW5rcyBi ZXR3ZWVuIGRpZmZlcmVudCBjbGsKPiBjb250cm9sbGVycyBlaXRoZXI/IEkgbWVhbiwgaXMgaXQg bmVjZXNzYXJ5IHRvIGNyZWF0ZSBsaW5rcyBiZXR3ZWVuIGNsa3MKPiBhbmQgdGhlaXIgcGFyZW50 cyByaWdodCBub3c/ICBNYXliZSB3ZSBjYW4gdGFrZSB0aGUgZWFzeSB3YXkgb3V0IGFuZAo+IGp1 c3QgbWFrZSBsaW5rcyBiZXR3ZWVuIGRldmljZXMgdGhhdCBjYWxsIGNsa19nZXQoKSBhbmQgdGhl IGRldmljZXMgdGhhdAo+IHByb3ZpZGUgdGhvc2UgY2xrcyAodGhlIGNvbnN1bWVyIHNpZGUpLiBJ IHN1cHBvc2UgeW91IG1heSB3YW50IHRvIG9yZGVyCj4gc3VzcGVuZC9yZXN1bWUgb2YgYSBkZXZp Y2Ugd2l0aCB0aGUgcGFyZW50IGNsa3Mgb2Ygc29tZSBjbGsgdGhhdCBpcwo+IGFjcXVpcmVkIGZy b20gY2xrX2dldCgpLiBJIGhvcGUgaXQgaXNuJ3QgcmVxdWlyZWQgdGhvdWdoLCBiZWNhdXNlIHRo aXMKPiBpcyBhIHByb2JsZW0gdG8gZG8gd2l0aCBvcmRlcmluZyBzdXNwZW5kL3Jlc3VtZSBvZiB0 aGUgY2xrIHRyZWUgaXRzZWxmLAo+IHdoaWNoIGlzbid0IHJlYWxseSBzb2x2ZWQgYXQgYWxsLgoK V2hhdCB5b3UgcHJvcG9zZSBpcywgSUlSQyB3aGF0IEkgc2VudCBpbiB0aGUgZWFybHkgdmVyc2lv bi4gSGVyZSBpcwp3aGF0IE1heGltZSBSaXBhcmQgcG9pbnRlZCB3aXRoIHRoaXMgZWFybHkgaW1w bGVtZW50YXRpb246CgogICAgICAgIEkgdGhpbmsgdGhpcyBkb2Vzbid0IGFkZHJlc3MgYWxsIHRo ZSBjYXNlcy4gSW4geW91ciBjYXNlLCB3aGVyZSB5b3UKICAgICAgICBoYXZlIG9uZSBjb25zdW1l ciB0aGF0IGlzIG5vdCBhIGNsb2NrLCBhbmQgb25lIHByb3ZpZGVyIHRoYXQgaXMgYQogICAgICAg IGNsb2NrLCBpdCB3b3JrcyBqdXN0IGZpbmUuCgogICAgICAgIEhvd2V2ZXIsIGlmIHlvdSBoYXZl IGNsb2NrcyBwcm92aWRlcnMgY2hhaW5lZCwgZm9yIGV4YW1wbGUgd2l0aCBvbmUKICAgICAgICBv c2NpbGxhdG9yLCBhIGNsb2NrIGNvbnRyb2xsZXIsIGFuZCBhIGRldmljZSwgdGhlIGxpbmsgd2ls bCBiZSBjcmVhdGVkCiAgICAgICAgYmV0d2VlbiB0aGUgZGV2aWNlIGFuZCB0aGUgY29udHJvbGxl ciwgYnV0IHRoZXJlIHdpbGwgYmUgbm8gbGluawogICAgICAgIGJldHdlZW4gdGhlIGNvbnRyb2xs ZXIgYW5kIHRoZSBvc2NpbGxhdG9yLgoKPiAKPiBXZSBwcm9iYWJseSBuZWVkIHRvIHNvbHZlIHRo YXQgYnkgZG9pbmcgc29tZXRoaW5nIGNsayBwcm92aWRlciBzcGVjaWZpYwo+IGluIHRoZSBjbGsg ZnJhbWV3b3JrIHRvIGZpZ3VyZSBvdXQgYSB3YXkgZm9yIGRldmljZSBkcml2ZXJzIHRoYXQgcHJv dmlkZQo+IGNsa3MgdG8gZ2V0IGNhbGxiYWNrcyB0byBzdXNwZW5kL3Jlc3VtZSBjbGtzIGluIHRo ZSBjbGsgdHJlZSBpbiBzb21lCj4gc29ydCBvZiB0b3BvLXNvcnRlZCBvcmRlci4gVGhhdCB3YXkg d2UgY2FuIHRyYXZlcnNlIHRoZSBjbGsgdHJlZSBhbmQKPiBjYWxsIGRvd24gaW50byBwcm92aWRl ciBkcml2ZXJzIGZvciBlYWNoIGNsayBpdCByZWdpc3RlcmVkIHRvIGRvIHRoaW5ncwo+IGxpa2Ug cmVzdG9yZSB0aGUgY2xrIGZyZXF1ZW5jeSBvciBjbGsgZW5hYmxlL3ByZXBhcmUgc3RhdGUsIGV0 Yy4gSXQKPiBuZWVkcyB0byBiZSBkb25lIGluIGEgY2VydGFpbiBvcmRlciBhbmQgaXQncyBub3Qg cG9zc2libGUgdG8gZmxhdHRlbgo+IHRoYXQgb3JkZXIgaW50byBhIHNlcXVlbnRpYWwgbGlzdCBv ZiBwcm92aWRlcnMgKHRoYXQgY29ycmVzcG9uZCAxOjEgd2l0aAo+IGRldmljZXMpIGdpdmVuIHRo YXQgdGhlcmUgYXJlIGxvb3BzIGJldHdlZW4gcHJvdmlkZXJzLgoKT2sgc28gdGhpcyB3b3VsZCBi ZSBhIGNsb2NrcyBpbnRlcm5hbCBtZWNoYW5pc20gdG8gaGFuZGxlIGNsb2NrCmRlcGVuZGVuY2ll cyB3aXRoaW4gdGhlIGNsb2NrIHRyZWUsIHdpdGggZGV2aWNlIGxpbmtzIHRvIGhhbmRsZQpkZXBl bmRlbmNpZXMgd2l0aCBleHRlcm5hbCBjb25zdW1lcnMgYW5kIGRlcGVuZGVuY2llcy4KCj4gCj4g QnV0IGZyb20gdGhlIHBlcnNwZWN0aXZlIG9mIGEgY29uc3VtZXIgZHJpdmVyIGxpa2UgUENJLCBJ IGRvbid0IHNlZSB3aHkKPiBpdCBuZWVkcyB0byBjYXJlIGFib3V0IHRoZSBjbGsgdHJlZSBzdXNw ZW5kL3Jlc3VtZSBvcmRlcmluZyBkZXRhaWxzLiBJdAo+IHJlYWxseSBvbmx5IGNhcmVzIHRoYXQg dGhlIGNsayBpdCdzIGNvbnN1bWluZywgYXQgdGhlIGVkZ2Ugb2YgdGhlIHRyZWUsCj4gaXMgcmVz dW1lZCBiZWZvcmUgdGhlIGNvbnN1bWVyIGl0c2VsZiwgUENJLCBpcyByZXN1bWVkLiBIb3dldmVy IHRoZQo+IGRlcGVuZGVuY2llcyBvZiB0aGF0IGNsayBpdCdzIGNvbnN1bWluZyBpcyBtYW5hZ2Vk LCBiZSBpdCB3aXRoIGRldmljZQo+IGxpbmtzIG9yIHNvbWV0aGluZyBjbGsgZnJhbWV3b3JrIHNw ZWNpZmljLCBkb2Vzbid0IG1hdHRlciB0byB0aGUgUENJCj4gZHJpdmVyLiBBbmQgb3RoZXIgY2xr cyB0aGF0IGFyZSBwYXJlbnRzIG9yIGdyYW5kcGFyZW50cyBvZiB0aGUgY2xrCj4gY29uc3VtZWQg YnkgUENJIGNvdWxkIGhhdmUgZGV2aWNlIGxpbmsgZGVwZW5kZW5jaWVzIHRoZW1zZWx2ZXMsIG9u Cj4gc29tZXRoaW5nIGxpa2UgYW4gaTJjIGNvbnRyb2xsZXIgb3Igc3VjaC4gRXZlbiB0aGVuLCB3 ZSBkb24ndCBuZWVkIHRvCj4gdXNlIGRldmljZSBsaW5rcyBpbiB0aGUgY2xrIHRyZWUgdG8gZGVz Y3JpYmUgb3JkZXJpbmcgYmV0d2VlbiBjbGtzLiBXZQo+IGNhbiBkbyBpdCB3aXRob3V0IGRldmlj ZSBsaW5rcyBhbmQgYnJlYWsgdGhlIGRldmljZSBsaW5rIGNoYWluIHdoZW4gaXQKPiBjcm9zc2Vz IHRoZSBjbGsgdHJlZS4KPiAKPiAgIFBDSSAtW2RldmljZSBsaW5rXS0+IFBDSSBsZWFmIGNsayBw cm92aWRlciAtW2NsayBmcmFtZXdvcmsgb3JkZXJpbmcgYmxhY2sgYm94XS0+IHBhcmVudCBvZiBs ZWFmIGNsayAtW2RldmljZSBsaW5rXS0+IGkyYyBjb250cm9sbGVyIAo+IAoKSSBnZXQgeW91ciBw b2ludC4gV2VsbCwgdG9vIGJhZCB0aGF0IExvcmVuem8gcmVmdXNlZCB0aGUgUENJIHNlcmllcwpi ZWNhdXNlIG9mIHRoaXMgb25lIGJlY2F1c2UgUENJZSBTMlJBTSB3b24ndCBiZSBzdXBwb3J0ZWQg YXQgYWxsIGV2ZW4gaWYKc29tZWRheSBzb21lb25lIGNvbnRyaWJ1dGVzIHRoZSAiZnJhbWV3b3Jr IG9yZGVyaW5nIGJsYWNrIGJveCIgeW91IGFyZQp0YWxraW5nIGFib3V0LCBhbnl3YXkgSSB3aWxs IG5vdCBoYXZlIHRoZSB0aW1lIHRvIHdvcmsgb24gaXQgSSBhbSBzb3JyeS4KCgpUaGFua3MsCk1p cXXDqGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFk ZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LWFybS1rZXJuZWwK