From mboxrd@z Thu Jan 1 00:00:00 1970 From: lee.jones@linaro.org (Lee Jones) Date: Tue, 22 Jul 2014 08:09:27 +0100 Subject: [RFC V2] devicetree: Dialog Semiconductor consolidate existing vendor prefixes to standardise on 'dlg' In-Reply-To: <201407151520.s6FFKcjB009745@swsrvapps-01.diasemi.com> References: <201407151520.s6FFKcjB009745@swsrvapps-01.diasemi.com> Message-ID: <20140722070927.GC28529@lee--X1> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, 15 Jul 2014, Opensource [Steve Twiss] wrote: > From: Opensource [Steve Twiss] > > This patch series updates the device tree vendor prefix for > Dialog Semiconductor. > > Various methods are currently used throughout the kernel: 'diasemi', > 'dialog' and 'dlg'. Others have also been suggested. > > This patch set aims to consolidate the usage of the vendor prefix to > use a common standard. The prefix 'dlg' is used. > > Here is my working for justifying this change: > > ./arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi > Has the following entry: > compatible = "dialog,da9063"; > However the DA9063 driver does not support device tree yet so > it would be safe to rename this. > > ./arch/arm/boot/dts/imx53-smd.dts > Has the following entry: > compatible = "dialog,da9053", "dialog,da9052"; > However, the existing driver files for DA9053 define a different > compatible string with the "dlg" prefix. See the entries below. > None of these would have allowed the "dialog" prefix. > { .compatible = "dlg,da9052", .data = &da9052_i2c_id[0] }, > { .compatible = "dlg,da9053-aa", .data = &da9052_i2c_id[1] }, > { .compatible = "dlg,da9053-ba", .data = &da9052_i2c_id[2] }, > { .compatible = "dlg,da9053-bb", .data = &da9052_i2c_id[3] }, > { .compatible = "dlg,da9053-bc", .data = &da9052_i2c_id[4] }, > In this particular case the change for DA9053 did not match up > with the expected compatibility strings and therefore I have > retained the more general "dlg,da9053" because I do not know > which silicon variant (-aa, -ba, -bb, or -bc) is the correct > one to use. > > ./devicetree/bindings/i2c/trivial-devices.txt > Has the following entry: > dialog,da9053 DA9053: flexible system level PMIC with multicore support > Instead of depreciating this "dialog" line I am just replacing it > with a "dlg" because the existing driver DA9053 does not support > the dialog keyword. > > ./drivers/mfd/da9055-core.c > Has the following entries for the mfd cells > .of_compatible = "dialog,da9055-gpio", etc... > In this case, the driver does not actually pass in any platform data > to any of the mfd cells and so they are not actually used > yet in the driver. Nobody else references this information. > > ./devicetree/bindings/regulator/da9210.txt > Has the following two entries in the binding file: > - compatible: must be "diasemi,da9210" > compatible = "diasemi,da9210"; > However the DA9210 driver does not support device tree. > > ./arch/arm/boot/dts/r8a7790-lager.dts > ./arch/arm/boot/dts/r8a7791-koelsch.dts > These two files have the following entries: > compatible = "diasemi,da9210"; > These both reference the "diasemi,da9210" but the device > driver does not support device tree > > The remaining files in the kernel I have found correctly references > the driver files compatibility information and so did not need to > be changed. > > ./devicetree/bindings/mfd/da9052-i2c.txt > - compatible : Should be "dlg,da9052", "dlg,da9053-aa", > "dlg,da9053-ab", or "dlg,da9053-bb" > > ./devicetree/bindings/mfd/da9055.txt > compatible = "dlg,da9055-pmic"; > > ./arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi > compatible = "dlg,da9053-aa", "dlg,da9052"; > > ./arch/arm/boot/dts/imx53-qsb.dts > compatible = "dlg,da9053-aa", "dlg,da9052"; > > ./devicetree/bindings/sound/da9055.txt > - compatible: "dlg,da9055-codec" > compatible = "dlg,da9055-codec"; > > > Signed-off-by: Opensource [Steve Twiss] > --- > Checks performed with linux-next/next-20140715/scripts/checkpatch.pl > trivial-devices.txt total: 0 errors, 0 warnings, 89 lines checked > da9210.txt total: 0 errors, 0 warnings, 21 lines checked > vendor-prefixes.txt total: 0 errors, 0 warnings, 149 lines checked > imx53-smd.dts total: 0 errors, 2 warnings, 279 lines checked > imx6qdl-phytec-pfla02.dtsi total: 0 errors, 2 warnings, 357 lines checked > r8a7790-lager.dts total: 0 errors, 3 warnings, 403 lines checked > r8a7791-koelsch.dts total: 0 errors, 4 warnings, 461 lines checked > da9055-core.c total: 0 errors, 0 warnings, 428 lines checked > > This e-mail is in response to the previous threads here: > https://lkml.org/lkml/2014/6/11/262 > http://comments.gmane.org/gmane.linux.ports.arm.kernel/341358 > > Changes since RFC V1 > - addition of changes to DTS files referencing "diasemi,da9210" > arch/arm/boot/dts/r8a7790-lager.dts > arch/arm/boot/dts/r8a7791-koelsch.dts > > This RFC V2 does not answer the response to RFC V1 from Mark Brown: > http://www.spinics.net/lists/arm-kernel/msg347615.html > > This patch applies against linux-next and next-20140715 > > Regards, > Steve Twiss, Dialog Semiconductor Ltd. > > > > .../devicetree/bindings/i2c/trivial-devices.txt | 2 +- > .../devicetree/bindings/regulator/da9210.txt | 4 ++-- > .../devicetree/bindings/vendor-prefixes.txt | 1 + > arch/arm/boot/dts/imx53-smd.dts | 2 +- > arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi | 2 +- > arch/arm/boot/dts/r8a7790-lager.dts | 2 +- > arch/arm/boot/dts/r8a7791-koelsch.dts | 2 +- > drivers/mfd/da9055-core.c | 26 ++++++++++---------- For the MFD changes: Acked-by: Lee Jones Which tree is this patch going into? Do you want me to take it and supply an IB for the other Maintainers to pull from? > 8 files changed, 21 insertions(+), 20 deletions(-) -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lee Jones Subject: Re: [RFC V2] devicetree: Dialog Semiconductor consolidate existing vendor prefixes to standardise on 'dlg' Date: Tue, 22 Jul 2014 08:09:27 +0100 Message-ID: <20140722070927.GC28529@lee--X1> References: <201407151520.s6FFKcjB009745@swsrvapps-01.diasemi.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <201407151520.s6FFKcjB009745@swsrvapps-01.diasemi.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: "Opensource [Steve Twiss]" Cc: Mark Rutland , Andrew Lunn , LINUX SH , Thierry Reding , Russell King , Samuel Ortiz , Mark Brown , Magnus Damm , Jason Gunthorpe , Shawn Guo , Philipp Zabel , Florian Vaussard , DEVICE TREE , Jason Cooper , Pawel Moll , Ian Campbell , Arnaud Ebalard , Rob Herring , LINUX ARM KERNEL , Martin Fuzzey , Support Opensource , LINUX KERNEL List-Id: devicetree@vger.kernel.org T24gVHVlLCAxNSBKdWwgMjAxNCwgT3BlbnNvdXJjZSBbU3RldmUgVHdpc3NdIHdyb3RlOgoKPiBG cm9tOiBPcGVuc291cmNlIFtTdGV2ZSBUd2lzc10gPHN0d2lzcy5vcGVuc291cmNlQGRpYXNlbWku Y29tPgo+IAo+IFRoaXMgcGF0Y2ggc2VyaWVzIHVwZGF0ZXMgdGhlIGRldmljZSB0cmVlIHZlbmRv ciBwcmVmaXggZm9yCj4gRGlhbG9nIFNlbWljb25kdWN0b3IuCj4gCj4gVmFyaW91cyBtZXRob2Rz IGFyZSBjdXJyZW50bHkgdXNlZCB0aHJvdWdob3V0IHRoZSBrZXJuZWw6ICdkaWFzZW1pJywKPiAn ZGlhbG9nJyBhbmQgJ2RsZycuIE90aGVycyBoYXZlIGFsc28gYmVlbiBzdWdnZXN0ZWQuCj4gCj4g VGhpcyBwYXRjaCBzZXQgYWltcyB0byBjb25zb2xpZGF0ZSB0aGUgdXNhZ2Ugb2YgdGhlIHZlbmRv ciBwcmVmaXggdG8KPiB1c2UgYSBjb21tb24gc3RhbmRhcmQuIFRoZSBwcmVmaXggJ2RsZycgaXMg dXNlZC4KPiAKPiBIZXJlIGlzIG15IHdvcmtpbmcgZm9yIGp1c3RpZnlpbmcgdGhpcyBjaGFuZ2U6 Cj4gCj4gLi9hcmNoL2FybS9ib290L2R0cy9pbXg2cWRsLXBoeXRlYy1wZmxhMDIuZHRzaQo+IAlI YXMgdGhlIGZvbGxvd2luZyBlbnRyeToKPiAJY29tcGF0aWJsZSA9ICJkaWFsb2csZGE5MDYzIjsK PiAJSG93ZXZlciB0aGUgREE5MDYzIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IGRldmljZSB0cmVl IHlldCBzbwo+IAlpdCB3b3VsZCBiZSBzYWZlIHRvIHJlbmFtZSB0aGlzLgo+IAo+IC4vYXJjaC9h cm0vYm9vdC9kdHMvaW14NTMtc21kLmR0cwo+IAlIYXMgdGhlIGZvbGxvd2luZyBlbnRyeToKPiAJ Y29tcGF0aWJsZSA9ICJkaWFsb2csZGE5MDUzIiwgImRpYWxvZyxkYTkwNTIiOwo+IAlIb3dldmVy LCB0aGUgZXhpc3RpbmcgZHJpdmVyIGZpbGVzIGZvciBEQTkwNTMgZGVmaW5lIGEgZGlmZmVyZW50 Cj4gCWNvbXBhdGlibGUgc3RyaW5nIHdpdGggdGhlICJkbGciIHByZWZpeC4gU2VlIHRoZSBlbnRy aWVzIGJlbG93Lgo+IAlOb25lIG9mIHRoZXNlIHdvdWxkIGhhdmUgYWxsb3dlZCB0aGUgImRpYWxv ZyIgcHJlZml4Lgo+IAl7IC5jb21wYXRpYmxlID0gImRsZyxkYTkwNTIiLCAuZGF0YSA9ICZkYTkw NTJfaTJjX2lkWzBdIH0sCj4gCXsgLmNvbXBhdGlibGUgPSAiZGxnLGRhOTA1My1hYSIsIC5kYXRh ID0gJmRhOTA1Ml9pMmNfaWRbMV0gfSwKPiAJeyAuY29tcGF0aWJsZSA9ICJkbGcsZGE5MDUzLWJh IiwgLmRhdGEgPSAmZGE5MDUyX2kyY19pZFsyXSB9LAo+IAl7IC5jb21wYXRpYmxlID0gImRsZyxk YTkwNTMtYmIiLCAuZGF0YSA9ICZkYTkwNTJfaTJjX2lkWzNdIH0sCj4gCXsgLmNvbXBhdGlibGUg PSAiZGxnLGRhOTA1My1iYyIsIC5kYXRhID0gJmRhOTA1Ml9pMmNfaWRbNF0gfSwKPiAJSW4gdGhp cyBwYXJ0aWN1bGFyIGNhc2UgdGhlIGNoYW5nZSBmb3IgREE5MDUzIGRpZCBub3QgbWF0Y2ggdXAK PiAJd2l0aCB0aGUgZXhwZWN0ZWQgY29tcGF0aWJpbGl0eSBzdHJpbmdzIGFuZCB0aGVyZWZvcmUg SSBoYXZlCj4gCXJldGFpbmVkIHRoZSBtb3JlIGdlbmVyYWwgImRsZyxkYTkwNTMiIGJlY2F1c2Ug SSBkbyBub3Qga25vdwo+IAl3aGljaCBzaWxpY29uIHZhcmlhbnQgKC1hYSwgLWJhLCAtYmIsIG9y IC1iYykgaXMgdGhlIGNvcnJlY3QKPiAJb25lIHRvIHVzZS4KPiAKPiAuL2RldmljZXRyZWUvYmlu ZGluZ3MvaTJjL3RyaXZpYWwtZGV2aWNlcy50eHQKPiAJSGFzIHRoZSBmb2xsb3dpbmcgZW50cnk6 Cj4gCWRpYWxvZyxkYTkwNTMgIERBOTA1MzogZmxleGlibGUgc3lzdGVtIGxldmVsIFBNSUMgd2l0 aCBtdWx0aWNvcmUgc3VwcG9ydAo+IAlJbnN0ZWFkIG9mIGRlcHJlY2lhdGluZyB0aGlzICJkaWFs b2ciIGxpbmUgSSBhbSBqdXN0IHJlcGxhY2luZyBpdAo+IAl3aXRoIGEgImRsZyIgYmVjYXVzZSB0 aGUgZXhpc3RpbmcgZHJpdmVyIERBOTA1MyBkb2VzIG5vdCBzdXBwb3J0Cj4gCXRoZSBkaWFsb2cg a2V5d29yZC4KPiAKPiAuL2RyaXZlcnMvbWZkL2RhOTA1NS1jb3JlLmMKPiAJSGFzIHRoZSBmb2xs b3dpbmcgZW50cmllcyBmb3IgdGhlIG1mZCBjZWxscyAKPiAJCS5vZl9jb21wYXRpYmxlID0gImRp YWxvZyxkYTkwNTUtZ3BpbyIsIGV0Yy4uLgo+IAlJbiB0aGlzIGNhc2UsIHRoZSBkcml2ZXIgZG9l cyBub3QgYWN0dWFsbHkgcGFzcyBpbiBhbnkgcGxhdGZvcm0gZGF0YQo+IAl0byBhbnkgb2YgdGhl IG1mZCBjZWxscyBhbmQgc28gdGhleSBhcmUgbm90IGFjdHVhbGx5IHVzZWQKPiAJeWV0IGluIHRo ZSBkcml2ZXIuIE5vYm9keSBlbHNlIHJlZmVyZW5jZXMgdGhpcyBpbmZvcm1hdGlvbi4KPiAKPiAu L2RldmljZXRyZWUvYmluZGluZ3MvcmVndWxhdG9yL2RhOTIxMC50eHQKPiAJSGFzIHRoZSBmb2xs b3dpbmcgdHdvIGVudHJpZXMgaW4gdGhlIGJpbmRpbmcgZmlsZToKPiAJLSBjb21wYXRpYmxlOglt dXN0IGJlICJkaWFzZW1pLGRhOTIxMCIKPiAJY29tcGF0aWJsZSA9ICJkaWFzZW1pLGRhOTIxMCI7 Cj4gCUhvd2V2ZXIgdGhlIERBOTIxMCBkcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCBkZXZpY2UgdHJl ZS4KPiAKPiAuL2FyY2gvYXJtL2Jvb3QvZHRzL3I4YTc3OTAtbGFnZXIuZHRzCj4gLi9hcmNoL2Fy bS9ib290L2R0cy9yOGE3NzkxLWtvZWxzY2guZHRzCj4gCVRoZXNlIHR3byBmaWxlcyBoYXZlIHRo ZSBmb2xsb3dpbmcgZW50cmllczoKPiAJY29tcGF0aWJsZSA9ICJkaWFzZW1pLGRhOTIxMCI7Cj4g CVRoZXNlIGJvdGggcmVmZXJlbmNlIHRoZSAiZGlhc2VtaSxkYTkyMTAiIGJ1dCB0aGUgZGV2aWNl Cj4gCWRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IGRldmljZSB0cmVlCj4gCj4gVGhlIHJlbWFpbmlu ZyBmaWxlcyBpbiB0aGUga2VybmVsIEkgaGF2ZSBmb3VuZCBjb3JyZWN0bHkgcmVmZXJlbmNlcwo+ IHRoZSBkcml2ZXIgZmlsZXMgY29tcGF0aWJpbGl0eSBpbmZvcm1hdGlvbiBhbmQgc28gZGlkIG5v dCBuZWVkIHRvCj4gYmUgY2hhbmdlZC4KPiAKPiAuL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2Rh OTA1Mi1pMmMudHh0Cj4gCS0gY29tcGF0aWJsZSA6IFNob3VsZCBiZSAiZGxnLGRhOTA1MiIsICJk bGcsZGE5MDUzLWFhIiwKPiAJCSAiZGxnLGRhOTA1My1hYiIsIG9yICJkbGcsZGE5MDUzLWJiIgo+ IAo+IC4vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvZGE5MDU1LnR4dAo+IAljb21wYXRpYmxlID0g ImRsZyxkYTkwNTUtcG1pYyI7Cj4gCj4gLi9hcmNoL2FybS9ib290L2R0cy9pbXg1My12b2lwYWMt ZG1tLTY2OC5kdHNpCj4gCWNvbXBhdGlibGUgPSAiZGxnLGRhOTA1My1hYSIsICJkbGcsZGE5MDUy IjsKPiAKPiAuL2FyY2gvYXJtL2Jvb3QvZHRzL2lteDUzLXFzYi5kdHMKPiAJY29tcGF0aWJsZSA9 ICJkbGcsZGE5MDUzLWFhIiwgImRsZyxkYTkwNTIiOwo+IAo+IC4vZGV2aWNldHJlZS9iaW5kaW5n cy9zb3VuZC9kYTkwNTUudHh0Cj4gCS0gY29tcGF0aWJsZTogImRsZyxkYTkwNTUtY29kZWMiCj4g CWNvbXBhdGlibGUgPSAiZGxnLGRhOTA1NS1jb2RlYyI7Cj4gCj4gCj4gU2lnbmVkLW9mZi1ieTog T3BlbnNvdXJjZSBbU3RldmUgVHdpc3NdIDxzdHdpc3Mub3BlbnNvdXJjZUBkaWFzZW1pLmNvbT4K PiAtLS0KPiBDaGVja3MgcGVyZm9ybWVkIHdpdGggbGludXgtbmV4dC9uZXh0LTIwMTQwNzE1L3Nj cmlwdHMvY2hlY2twYXRjaC5wbAo+ICB0cml2aWFsLWRldmljZXMudHh0ICAgICAgIHRvdGFsOiAw IGVycm9ycywgMCB3YXJuaW5ncywgODkgbGluZXMgY2hlY2tlZAo+ICBkYTkyMTAudHh0ICAgICAg ICAgICAgICAgIHRvdGFsOiAwIGVycm9ycywgMCB3YXJuaW5ncywgMjEgbGluZXMgY2hlY2tlZAo+ ICB2ZW5kb3ItcHJlZml4ZXMudHh0ICAgICAgIHRvdGFsOiAwIGVycm9ycywgMCB3YXJuaW5ncywg MTQ5IGxpbmVzIGNoZWNrZWQKPiAgaW14NTMtc21kLmR0cyAgICAgICAgICAgICB0b3RhbDogMCBl cnJvcnMsIDIgd2FybmluZ3MsIDI3OSBsaW5lcyBjaGVja2VkCj4gIGlteDZxZGwtcGh5dGVjLXBm bGEwMi5kdHNpIHRvdGFsOiAwIGVycm9ycywgMiB3YXJuaW5ncywgMzU3IGxpbmVzIGNoZWNrZWQK PiAgcjhhNzc5MC1sYWdlci5kdHMgICAgICAgICB0b3RhbDogMCBlcnJvcnMsIDMgd2FybmluZ3Ms IDQwMyBsaW5lcyBjaGVja2VkCj4gIHI4YTc3OTEta29lbHNjaC5kdHMgICAgICAgdG90YWw6IDAg ZXJyb3JzLCA0IHdhcm5pbmdzLCA0NjEgbGluZXMgY2hlY2tlZAo+ICBkYTkwNTUtY29yZS5jICAg ICAgICAgICAgIHRvdGFsOiAwIGVycm9ycywgMCB3YXJuaW5ncywgNDI4IGxpbmVzIGNoZWNrZWQK PiAKPiBUaGlzIGUtbWFpbCBpcyBpbiByZXNwb25zZSB0byB0aGUgcHJldmlvdXMgdGhyZWFkcyBo ZXJlOgo+IGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDE0LzYvMTEvMjYyCj4gaHR0cDovL2NvbW1l bnRzLmdtYW5lLm9yZy9nbWFuZS5saW51eC5wb3J0cy5hcm0ua2VybmVsLzM0MTM1OAo+IAo+IENo YW5nZXMgc2luY2UgUkZDIFYxCj4gLSBhZGRpdGlvbiBvZiBjaGFuZ2VzIHRvIERUUyBmaWxlcyBy ZWZlcmVuY2luZyAiZGlhc2VtaSxkYTkyMTAiCj4gICAgYXJjaC9hcm0vYm9vdC9kdHMvcjhhNzc5 MC1sYWdlci5kdHMKPiAgICBhcmNoL2FybS9ib290L2R0cy9yOGE3NzkxLWtvZWxzY2guZHRzCj4g Cj4gVGhpcyBSRkMgVjIgZG9lcyBub3QgYW5zd2VyIHRoZSByZXNwb25zZSB0byBSRkMgVjEgZnJv bSBNYXJrIEJyb3duOgo+IGh0dHA6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvYXJtLWtlcm5lbC9t c2czNDc2MTUuaHRtbAo+IAo+IFRoaXMgcGF0Y2ggYXBwbGllcyBhZ2FpbnN0IGxpbnV4LW5leHQg YW5kIG5leHQtMjAxNDA3MTUgCj4gCj4gUmVnYXJkcywKPiBTdGV2ZSBUd2lzcywgRGlhbG9nIFNl bWljb25kdWN0b3IgTHRkLgo+IAo+IAo+IAo+ICAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy9pMmMv dHJpdmlhbC1kZXZpY2VzLnR4dCAgICB8ICAyICstCj4gIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdz L3JlZ3VsYXRvci9kYTkyMTAudHh0ICAgICAgIHwgIDQgKystLQo+ICAuLi4vZGV2aWNldHJlZS9i aW5kaW5ncy92ZW5kb3ItcHJlZml4ZXMudHh0ICAgICAgICB8ICAxICsKPiAgYXJjaC9hcm0vYm9v dC9kdHMvaW14NTMtc21kLmR0cyAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBhcmNoL2Fy bS9ib290L2R0cy9pbXg2cWRsLXBoeXRlYy1wZmxhMDIuZHRzaSAgICAgICB8ICAyICstCj4gIGFy Y2gvYXJtL2Jvb3QvZHRzL3I4YTc3OTAtbGFnZXIuZHRzICAgICAgICAgICAgICAgIHwgIDIgKy0K PiAgYXJjaC9hcm0vYm9vdC9kdHMvcjhhNzc5MS1rb2Vsc2NoLmR0cyAgICAgICAgICAgICAgfCAg MiArLQo+ICBkcml2ZXJzL21mZC9kYTkwNTUtY29yZS5jICAgICAgICAgICAgICAgICAgICAgICAg ICB8IDI2ICsrKysrKysrKystLS0tLS0tLS0tCgpGb3IgdGhlIE1GRCBjaGFuZ2VzOgoKICBBY2tl ZC1ieTogTGVlIEpvbmVzIDxsZWUuam9uZXNAbGluYXJvLm9yZz4KCldoaWNoIHRyZWUgaXMgdGhp cyBwYXRjaCBnb2luZyBpbnRvPyAgRG8geW91IHdhbnQgbWUgdG8gdGFrZSBpdCBhbmQKc3VwcGx5 IGFuIElCIGZvciB0aGUgb3RoZXIgTWFpbnRhaW5lcnMgdG8gcHVsbCBmcm9tPwoKPiAgOCBmaWxl cyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCi0tIApMZWUgSm9u ZXMKTGluYXJvIFNUTWljcm9lbGVjdHJvbmljcyBMYW5kaW5nIFRlYW0gTGVhZApMaW5hcm8ub3Jn IOKUgiBPcGVuIHNvdXJjZSBzb2Z0d2FyZSBmb3IgQVJNIFNvQ3MKRm9sbG93IExpbmFybzogRmFj ZWJvb2sgfCBUd2l0dGVyIHwgQmxvZwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=