Received: by 2002:ab2:6857:0:b0:1ef:ffd0:ce49 with SMTP id l23csp2752191lqp; Mon, 25 Mar 2024 08:17:34 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUNkCMU+DBg1kwrEU+KGr1WN2wsXjNq4DG5k4GlIQmcT3rUsmiZgdYB9jbWwr5Cynk+N2NLUUY46wfhQXGNBOwHR4F3vRzo0F6g9WeICg== X-Google-Smtp-Source: AGHT+IGxjucUOW7/BOQfkC2FFbgmUBTa0ZIhSKFpfe+TyucniBHmQ+JsOaIWBgwvUwuOWDIPhxUb X-Received: by 2002:a17:902:ea0e:b0:1e0:b60f:5de3 with SMTP id s14-20020a170902ea0e00b001e0b60f5de3mr5693863plg.7.1711379854526; Mon, 25 Mar 2024 08:17:34 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711379854; cv=pass; d=google.com; s=arc-20160816; b=U1cnXD/A4gpgw2veTmbKDT2CcgFGVVyA9Jd5Aj3f1J9oDgTv327lBEODEXOSEn/6EC wElqd84buq8EzPg5azeb/3GOQdVL9AgYwR952t3zsiGXfoeZTcJnhr5dKuhu/dctxqc3 Kvd8ClcVwqWxr/7xYX9ecP6WAs8hRBZ2++wh7GNQUGUJE4E0//kLf19GN5iuEkU3AGX2 ulRMKOJiRjgkZI7NvUOSDICvi589JlSWzaE7AdIwXpi1qmBYHrS+dPRQJ5Ykb9emM4D8 TIxzTh/4r+bS6Ku5Z0T9hmTLYGVYc9+EOaRtgFMu/1cB4EqP0T2/63PKECt4+yKNIJTA eHfQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:content-id:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from; bh=Rg9Dkjqh2+4xyVRxCQJZZ2VbWGmyVffXWW8+QSjaDBo=; fh=kBLmLEeVEdrAEAQzRzcGqqHqTFKyXMdHbAbFavRX484=; b=cdLmA3/3F9liR5n1ASlgZNG3HEUpyKUnE78kgU2/OV5B3WSeOc6oinOsAUWRU5tqIj eemc6NSDvdfh2F/CPT5ZFH0SlyfhmMQbgCZs8747QnGN2yxlNOFO6RPpWTRSiYZIh1Dh 8mEmJAEn+g4LJDru41e8hQeiZfFL5daqrnGoRHq0lYhCFAd4Q7PsCdkjHODrz1DennIn bpi21LqkaoFftanto893+uCWexWj8ga2SzbVrdD0vHppmH6UbaF//nRiXoIPjtvdW0jj eV0UbxiqwHai6EPmvZIhfj/lhiWcn/IKT7EBoGj7yoBsy563bKkAV2djI0AHjjIMAgvB kttg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=actia.se); spf=pass (google.com: domain of linux-kernel+bounces-116989-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-116989-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id x23-20020a1709027c1700b001defa2d8e0bsi5320400pll.414.2024.03.25.08.17.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Mar 2024 08:17:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-116989-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=actia.se); spf=pass (google.com: domain of linux-kernel+bounces-116989-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-116989-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id A281F2E5F7F for ; Mon, 25 Mar 2024 15:08:59 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9FB9F1482E0; Mon, 25 Mar 2024 12:21:01 +0000 (UTC) Received: from mail.actia.se (mail.actia.se [212.181.117.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6A9E13FD9D; Mon, 25 Mar 2024 12:20:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.181.117.226 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711369238; cv=none; b=fhSOj77RCMx7X/IhCBFu4w8jwtQbCNl0v6HgDC3PQVatK3rOicpd3S4j+gQIZLEZHuR6PIi8HEZpcdx1QeWTVpb9cWBh+Sxim4Kf7l5NlrjM+TO9ZIulbwBIz61I71fT82D9cQoL2+CX9/HevQA26abUbzZKXJ1KkiF/i6vWmZo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711369238; c=relaxed/simple; bh=Rg9Dkjqh2+4xyVRxCQJZZ2VbWGmyVffXWW8+QSjaDBo=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=jqPrAV82oetY/O2fEA1dO0jtdZ7UDNkFyD5ZLL2pTTO3DP0qAlas2oxXuDYREzf4By8czV647bWhcgFvEZ3hXqN1YPdVLbEeaY1/mKYhp2nvRsjfSkti6pCm33/FycFJtR2j54EGtvUzZLDwAD8Dtx1JVNpcRtOew9F23ltsLdk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=actia.se; spf=pass smtp.mailfrom=actia.se; arc=none smtp.client-ip=212.181.117.226 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=actia.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=actia.se Received: from S036ANL.actianordic.se (10.12.31.117) by S036ANL.actianordic.se (10.12.31.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.37; Mon, 25 Mar 2024 13:20:25 +0100 Received: from S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69]) by S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69%4]) with mapi id 15.01.2507.037; Mon, 25 Mar 2024 13:20:25 +0100 From: John Ernberg To: Florian Fainelli , "Russell King (Oracle)" CC: Maxime Chevallier , Wei Fang , Shenwei Wang , Clark Wang , NXP Linux Team , "David S. Miller" , Eric Dumazet , "Jakub Kicinski" , Paolo Abeni , Heiner Kallweit , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Andrew Lunn Subject: Re: [PATCH net v3 2/2] net: fec: Suspend the PHY on probe Thread-Topic: [PATCH net v3 2/2] net: fec: Suspend the PHY on probe Thread-Index: AQHab8t46xO1JP3Hxke5Lu7SCFbkbbEq8XCAgBPPogCAAAPagIACAISAgAAYuQCAAAV2gIAAKfWAgAFUdICAAAMfgIAGCB+A Date: Mon, 25 Mar 2024 12:20:25 +0000 Message-ID: References: <20240306133734.4144808-1-john.ernberg@actia.se> <20240306133734.4144808-3-john.ernberg@actia.se> <20240306190539.4ab9f369@device-28.home> <9490ed31-dede-4a14-9c62-5ef83e30593a@actia.se> <7f0e5f8b-fb85-4f2b-8d77-4170366a1b55@gmail.com> <27453913-d4a3-4535-8cf5-2f5f3eb6c7b7@gmail.com> In-Reply-To: <27453913-d4a3-4535-8cf5-2f5f3eb6c7b7@gmail.com> Accept-Language: en-US, sv-SE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-esetresult: clean, is OK x-esetid: 37303A2958D729556C7166 Content-Type: text/plain; charset="utf-8" Content-ID: <4D39503E4B285940B69F7EBCEAD034A6@actia.se> Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 SGkgRmxvcmlhbiwNCg0KT24gMy8yMS8yNCAxNzoxMywgRmxvcmlhbiBGYWluZWxsaSB3cm90ZToN Cj4gT24gMy8yMS8yNCAwOTowMiwgSm9obiBFcm5iZXJnIHdyb3RlOg0KPj4gSGkgUnVzc2VsbCwN Cj4+DQo+PiBPbiAzLzIwLzI0IDIwOjQ0LCBSdXNzZWxsIEtpbmcgKE9yYWNsZSkgd3JvdGU6DQo+ Pj4gT24gV2VkLCBNYXIgMjAsIDIwMjQgYXQgMTA6MTM6NTVBTSAtMDcwMCwgRmxvcmlhbiBGYWlu ZWxsaSB3cm90ZToNCj4+Pj4NCj4+Pj4NCj4+Pj4gT24gMy8yMC8yMDI0IDk6NTQgQU0sIFJ1c3Nl bGwgS2luZyAoT3JhY2xlKSB3cm90ZToNCj4+Pj4+IE9uIFdlZCwgTWFyIDIwLCAyMDI0IGF0IDAz OjI1OjU0UE0gKzAwMDAsIEpvaG4gRXJuYmVyZyB3cm90ZToNCj4+Pj4+PiBIaSBSdXNzZWwsDQo+ Pj4+Pg0KPj4+Pj4gR3Jvd2wuIEhpIFBldGVyLg0KPj4+Pj4NCj4+Pj4+PiBXaGF0IHdlIHJlYWxs eSB3YW50IGlzIHRoZSBQSFkgdG8gYmUgc3VzcGVuZGVkIG9uIHN1c3BlbmQgdG8gUkFNDQo+Pj4+ Pj4gcmVnYXJkbGVzcyBvZiB1cyBoYXZpbmcgaGFkIGFuIGluaXRpYWwgbGluayB1cCBvciBub3Qu DQo+Pj4+Pg0KPj4+Pj4gU28gd2hhdCB5b3UncmUgYXNraW5nIGlzIGZvciB0aGUgUEhZIHRvIGJl IHN1c3BlbmRlZCB3aGVuIHRoZSBzeXN0ZW0NCj4+Pj4+IGlzIGVudGVyaW5nIHN1c3BlbmQsIHdo aWNoIGlzIGEgbG9uZyB0aW1lIGFmdGVyIHRoZSBzeXN0ZW0gYm9vdGVkIGFuZA0KPj4+Pj4gdGh1 cyBwaHlfcHJvYmUoKSB3YXMgY2FsbGVkLCBhbmQgY291bGQgYmUgc29tZSB0aW1lIGJlZm9yZSB0 aGUgc3lzdGVtDQo+Pj4+PiByZXN1bWVzLg0KPj4+Pj4NCj4+Pj4+IEknbSBub3Qgc3VyZSB3aGF0 IHRoZSByZWxldmFuY2UgaXMgb2YgcGh5X3Byb2JlKCkgdGhhdCB3YXMgYnJvdWdodCB1cA0KPj4+ Pj4gcHJldmlvdXNseSB0aGVuLg0KPj4+Pj4NCj4+Pj4+PiBUaGlzIHdvcmtlZCBwcmlvciB0byA0 YzBkMmU5NmJhMDUgKCJuZXQ6IHBoeTogY29uc2lkZXIgdGhhdCANCj4+Pj4+PiBzdXNwZW5kMnJh bQ0KPj4+Pj4+IG1heSBjdXQNCj4+Pj4+PiBvZmYgUEhZIHBvd2VyIikgd2hpY2ggd2FzIGFkZGVk IGluIExpbnV4IDUuMTEsIGFuZCA1NTdkNWRjODNmNjggDQo+Pj4+Pj4gKCJuZXQ6DQo+Pj4+Pj4g ZmVjOiB1c2UNCj4+Pj4+PiBtYWMtbWFuYWdlZCBQSFkgUE0iKSB3aGljaCB3YXMgYWRkZWQgaW4g TGludXggNS4xMi4NCj4+Pj4+DQo+Pj4+PiBMb29raW5nIGF0IHRoZSBmb3JtZXIgY29tbWl0LCB0 aGF0IGxvb2tzIHRvIG1lIGxpa2UgaXQgaXMgb25seQ0KPj4+Pj4gYWZmZWN0aW5nIHRoZSByZXN1 bWUgcGF0aHMsIG5vdCB0aGUgc3VzcGVuZCBwYXRocywgc28gd291bGRuJ3QgaGF2ZQ0KPj4+Pj4g YW55IGltcGFjdCBpdHNlbGYgb24gd2hhdCBoYXBwZW5zIHdoZW4gc3VzcGVuZCBoYXBwZW5zLg0K Pj4+Pj4NCj4+Pj4+IFRoZSBsYXR0ZXIgY29tbWl0IHN0YXRlcyB0aGF0IGl0IGlzIGEgd29yayBh cm91bmQgZm9yIGFuIGlzc3VlIHdpdGggYQ0KPj4+Pj4gcGFydGljdWxhciBQSFkuIFdoYXQgaGFw cGVucyBpZiB5b3UgcmV2ZXJ0IGp1c3QgdGhpcyBjb21taXQsIGRvZXMgeW91cg0KPj4+Pj4gcHJv YmxlbSB0aGVuIGdvIGF3YXk/DQo+Pg0KPj4gT3VyIFBIWSBkb2VzIG5vdCBiZWdpbiB3b3JraW5n IGFnYWluIHdpdGhvdXQgcmV2ZXJ0aW5nIGJvdGguIA0KPj4gcGh5X2luaXRfaHcoKQ0KPj4gd2ls bCByZW1haW4gYW4gaXNzdWUgaWYgaXQgb2NjdXJzIGFmdGVyIHBoeV9zdGFydCgpLg0KPj4NCj4+ IFRoZSBjb21taXQgbWVzc2FnZSBpbiA1NTdkNWRjODNmNjggaXMgbm90IGV4cGxhaW5pbmcgbmVh cmx5IGVub3VnaCwgSQ0KPj4gc3BlbnQgYQ0KPj4gZmV3IGRheXMgb24gaXQgYmVmb3JlIEkgcHJv dmVkIHRoYXQgY29tbWl0IHRvIGJlIG5lYXJseSBjb3JyZWN0IChTZWUgDQo+PiB3aG9sZQ0KPj4g dGhyZWFkIGF0IFsxXSksIGl0IGhhcHBlbmVkIHRvIGp1c3QgZXhwbG9kZSB3aXRoIHRoYXQgUEhZ LiBUaGUgaXNzdWUgaXMgYQ0KPj4gc2VxdWVuY2luZyBpc3N1ZSB0aGF0IHdhcyBtYWRlIG1vcmUg cHJvbWluZW50IGJ5IDRjMGQyZTk2YmEwNSwgYnV0IGl0DQo+PiBleGlzdGVkDQo+PiBzaW5jZSBh cm91bmQgMjAwOC4gQmVjYXVzZSBGRUMgaXMgYm90aCBNRElPIGNvbnRyb2xsZXIgYW5kIE1BQywg DQo+PiBtZWFuaW5nIHRoZQ0KPj4gcmVzdW1lIG9mIHRoZSBsaW5rIGluIGEgbGluayB1cCBjYXNl IHJ1bnMgcGh5X3N0YXJ0KCkgaW4gdGhlIEZFQyByZXN1bWUNCj4+IGZ1bmN0aW9uLCB3aGljaCB3 aWxsIHRyaWdnZXIgYSBtZGlvIGJ1cyByZXN1bWUgd2hlbiBpdCBjb21wbGV0ZXMsIGluIHR1cm4N Cj4+IGNhbGxpbmcgcGh5X2luaXRfaHcoKSAoYmVmb3JlIDRjMGQyZTk2YmEwNSBpdCB3YXMgcGh5 X3Jlc3VtZSgpIHdoaWNoDQo+PiB3YXNuJ3QgYQ0KPj4gcHJvYmxlbSBidXQgc3RpbGwgd3Jvbmcg c2VxdWVuY2Ugd2lzZSkuDQo+Pg0KPj4+Pj4NCj4+Pj4+IEFsc28sIHBsZWFzZSBjbGFyaWZ5LiBJ dCBzZWVtcyB0aGF0IHlvdSBhcmUgcmVwb3J0aW5nIGEgcmVncmVzc2lvbiAtDQo+Pj4+PiBpdCB1 c2VkIHRvIHdvcmsgZm9yIHlvdSBwcmlvciB0byA1NTdkNWRjODNmNjgsIGJ1dCA1NTdkNWRjODNm Njggc3RvcHMNCj4+Pj4+IGl0IHdvcmtpbmcgZm9yIHlvdT8NCj4+Pj4+DQo+Pj4+Pj4gU2luY2Ug RkVDIHJlcXVpcmVzIG1hY19tYW5hZ2VkX3BtIHRoZSBnZW5lcmljIFBNIHN1c3BlbmQtcmVzdW1l IHBhdGhzDQo+Pj4+Pj4gYXJlIG5vdA0KPj4+Pj4+IHRha2VuLiBUaGUgcmVzdW1lIHNlcXVlbmNp bmcgd2l0aCBnZW5lcmljIFBNIGhhcyBiZWVuIGJyb2tlbiB3aXRoIHRoZQ0KPj4+Pj4+IEZFQyBz aW5jZQ0KPj4+Pj4+IGdlbmVyaWMgUE0gb2YgdGhlIG1kaW8gYnVzIHdhcyBhZGRlZCwgYXMgdGhl IEZFQyB3aWxsIGRvIHBoeV9zdGFydCgpDQo+Pj4+Pj4gKHZpYSBGRUMNCj4+Pj4+PiByZXN1bWUp IGFuZCB0aGVuIGdlbmVyaWMgUE0gcnVucyBwaHlfaW5pdF9odygpIHZpYSBtZGlvIGJ1cyByZXN1 bWUNCj4+Pj4+PiAocHJldmlvdXNseToNCj4+Pj4+PiBsZXNzIGRhbWFnaW5nIHBoeV9yZXN1bWUo KSkgZHVlIHRvIGhvdyB0aGUgRkVDIElQIGJsb2NrIHdvcmtzLg0KPj4+Pj4NCj4+Pj4+IFRoYXQg c3VnZ2VzdHMgdGhhdCBldmVuIHdpdGggNTU3ZDVkYzgzZjY4IHJldmVydGVkLCBpdCdzIGJyb2tl bi4NCj4+Pj4+IERpZ2dpbmcgaW50byB0aGUgaGlzdG9yeSwgd2hhdCB5b3UncmUgcmVmZXJyaW5n IHRvIGRhdGVzIGZyb20gSmFudWFyeQ0KPj4+Pj4gMjAxNiwgc28gYXJlIHlvdSByZXBvcnRpbmcg YSByZWdyZXNzaW9uIHRoYXQgb2NjdXJlZCA4IF95ZWFyc18gYWdvLA0KPj4+Pj4gYXQgd2hpY2gg cG9pbnQgSSdkIHF1ZXN0aW9uIHdoeSBpdCdzIHRha2VuIDggeWVhcnMuDQo+Pg0KPj4gQSByZXZl cnQgb2YgdGhvc2UgaXMgYWJzb2x1dGVseSB3cm9uZy4gVGhvc2UgY29tbWl0cyBhcmUgZml4aW5n IGJpZ2dlcg0KPj4gaXNzdWVzLg0KPj4NCj4+Pj4+DQo+Pj4+PiBHaXZlbiB0aGUgdGltZSB0aGF0 IGhhcyBwYXNzZWQsIEkgZG9uJ3QgdGhpbmsgcmV2ZXJ0aW5nIGNvbW1pdHMgaXMNCj4+Pj4+IGEg c2FuZSBhcHByb2FjaC4gUXVpdGUgd2hhdCB0aGUgcmlnaHQgc29sdXRpb24gaXMgdGhvdWdoLCBJ J20gbm90DQo+Pj4+PiBzdXJlLg0KPj4+Pj4NCj4+Pj4+IMKgwqAgRnJvbSB0aGUgZGVzY3JpcHRp b24gYW5kIHRoZSBjb21taXRzIHBvaW50ZWQgdG8sIEkganVzdCBkb24ndCBzZWUNCj4+Pj4+IHRo YXQgdGhlcmUgaXMgYW55dGhpbmcgdGhhdCBjb3VsZCd2ZSBjaGFuZ2VkIHdpdGggcmVzcGVjdCB0 byB0aGUgZmlyc3QNCj4+Pj4+IGJvb3QgLSBpZiB0aGF0IGhhcyBjaGFuZ2VkLCB0aGVuIEkgdGhp bmsgbW9yZSByZXNlYXJjaCBpbnRvIHdoYXQgDQo+Pj4+PiBjYXVzZWQNCj4+Pj4+IGl0IGlzIG5l ZWRlZC4NCj4+Pj4+DQo+Pj4+PiBJZiBpdCdzIHRoZSBzdWJzZXF1ZW50IHN0YXRlIGFmdGVyIGEg c3VzcGVuZC1yZXN1bWUgY3ljbGUsIHRoZW4geWVzLA0KPj4+Pj4gSSB3b3VsZCBhZ3JlZSB0aGF0 IGl0cyBwb3NzaWJsZSB0aGF0IHRoZXNlIGNoYW5nZXMgYnJva2UgdGhpcyBmb3IgeW91Lg0KPj4+ Pj4gV291bGQgY2xlYXJpbmcgbmRldi0+cGh5ZGV2LT5tYWNfbWFuYWdlZF9wbSBqdXN0IGJlZm9y ZQ0KPj4+Pj4gcGh5X2Rpc2Nvbm5lY3QoKSBpbiBmZWNfZW5ldF9jbG9zZSgpIGZpeCBpdCBmb3Ig eW91LCBzbyB0aGUgc3VzcGVuZC8NCj4+Pj4+IHJlc3VtZSBwYXRocyBmb3IgdGhlIFBIWSBnZXQg dXNlZCB3aGVuIHRoZSBuZXR3b3JrIGludGVyZmFjZSBpcyBkb3duPw0KPj4+Pj4NCj4+Pj4+IE1h eWJlLCBob3dldmVyLCB0aGF0J3Mgc29tZXRoaW5nIHRoYXQgc2hvdWxkIGhhcHBlbiBpbiBhbnkg Y2FzZSBpbnNpZGUNCj4+Pj4+IHBoeWxpYiBvbiBwaHlfZGlzY29ubmVjdCgpIGFzIGEgbWF0dGVy IG9mIGNvdXJzZSwgc2luY2UgdGhlIFBIWSB3aWxsDQo+Pj4+PiBhdCB0aGF0IHBvaW50IGJlIG5v IGxvbmdlciB1bmRlciB0aGUgY29udHJvbCBvZiB0aGUgbmV0d29yayBkcml2ZXIgZm9yDQo+Pj4+ PiBQTSBwdXJwb3Nlcy4gQ291bGQgeW91IGdpdmUgdGhpcyBpZGVhIGEgdHJ5IHBsZWFzZT8NCj4+ Pj4+DQo+Pj4+DQo+Pj4+IE9uIHBoeV9kaXNjb25uZWN0KCkgd2Ugd2lsbCBkbyBhIHBoeV9kZXRh Y2goKSB3aGljaCBjYWxscyANCj4+Pj4gcGh5X3N1c3BlbmQoKS4NCj4+Pj4gR2l2ZW4gdGhhdCBw aHlfZGlzY29ubmVjdCgpIGlzIGNhbGxlZCBmcm9tIGZlY19lbmV0X2Nsb3NlKCksIHdlIA0KPj4+ PiBzdGlsbCBoYXZlIGENCj4+Pj4gTURJTyBidXMgcmVnaXN0ZXJlZCBhbmQgd2UgYXJlIG5vdCB0 cnlpbmcgdG8gc3VzcGVuZCB0aGUgTURJTyBidXMsIA0KPj4+PiBzbyB3ZQ0KPj4+PiBzaG91bGQg aGF2ZSBhbiBlZmZlY3RpdmUgcGh5X3N1c3BlbmQoKSBjYWxsIGhlcmUsIHdoYXQgYW0gSSBtaXNz aW5nPw0KPj4+DQo+Pj4gSSBkaWRuJ3QgbG9vayB0aGVyZSwgYnV0IGlmIHRoYXQgaXMgdGhlIGNh c2UsIHRoZW4gd2hhdCBpcyBKb2huJ3MNCj4+PiBwcm9ibGVtIC0gSSBjYW4ndCBmaWd1cmUgaXQg b3V0LCBzb21ldGhpbmcgaXNuJ3QgYWRkaW5nIHVwIGhlcmUuDQo+Pj4NCj4+DQo+PiBJIGNvdWxk IGluc3RlYWQgYWRkIGV4dHJhIHBoeV9zdXNwZW5kKCkgaW4gdGhlIHN1c3BlbmQgcGF0aCBpZiB0 aGUgDQo+PiBsaW5rIGlzDQo+PiBkb3duIGFuZCB0aGUgRkVDIGlzIHVwIGFuZCBydW5uaW5nLiBJ IHJlamVjdGVkIGl0IG9yaWdpbmFsbHkgdGhpbmtpbmcgDQo+PiBpdCB3YXMNCj4+IGEgbXVjaCBk aXJ0aWVyIGZpeCwgYnV0IG1heWJlIHRoYXQgaXMgdGhlIG1vcmUgY29ycmVjdCB0aGluZyB0byBk bz8NCj4gDQo+IFRoaXMgZG9lcyBub3Qgc2VlbSBsaWtlIHRoZSBwcm9wZXIgc29sdXRpb24sIHRo ZSBvbmx5IHRpbWUgd2hlcmUgYW4gDQo+IGV4cGxpY2l0IHBoeV9zdXNwZW5kKCkgc2hvdWxkIGJl IGRvbmUgaW4gdGhlIEV0aGVybmV0IE1BQydzIC0+c3VzcGVuZCgpIA0KPiByb3V0aW5lIGlzIGlm IHRoZSBuZXR3b3JrIGRldmljZSB3YXMgYnJvdWdodCB1cCBhdCB0aGUgdGltZSANCj4gKG5ldGlm X3J1bm5pbm5nKCkgcmV0dXJucyB0cnVlKSAqYW5kKiB5b3Ugc2V0IG1hY19tYW5hZ2VkX3BtID0g dHJ1ZSANCj4gYmVjYXVzZSB5b3UgbXVzdCBwcmVjaXNlbHkgY29udHJvbCB0aGUgb3JkZXIgaW4g d2hpY2ggdGhlIE1BQyBhbmQgdGhlIA0KPiBQSFkgZ2V0IHN1c3BlbmRlZCB3aXRoIHJlc3BlY3Qg dG8gZWFjaCBvdGhlciAodHlwaWNhbGx5IGJlY2F1c2UgdGhlIFBIWSANCj4gc3VwcGxpZXMgYSBS WCBjbG9jayBiYWNrIHRvIHRoZSBNQUMsIGFuZCBzb21lIG9mIHRoZSBNQUMgbG9naWMgZGVwZW5k cyANCj4gdXBvbiBpdCB0byBvcGVyYXRlIHByb3Blcmx5LCBlLmcuOiBwZXJmb3JtIGEgcHJvcGVy IEZJRk8gZmx1c2ggZXRjLikuDQoNCkknbSBoYXZpbmcgc29tZSB0cm91YmxlIHVuZGVyc3RhbmRp bmcgeW91ciBtZXNzYWdlIGluIGNvbnRleHQgb2YgbXkgbW9zdCANCnJlY2VudCByZXBseSB0byBS dXNzZWxsLCBzbyBwbGVhc2UgYmVhciB3aXRoIG1lIGhlcmUgYXMgSSB3aWxsIA0KcG90ZW50aWFs bHkgYXNrIGEgcmVhbGx5IGR1bWIgcXVlc3Rpb246DQoNCkRvIEkgdW5kZXJzdGFuZCB0aGlzIGNv cnJlY3RseSBhcyB3aGF0IHVzZWQgdG8gd29yayBpbiA1LjEwIHdhcyBuZXZlciANCm1lYW50IHRv IHdvcmsgYW5kIHRoZSBiZWhhdmlvciBub3cgaXMgdGhlIGNvcnJlY3Qgb25lIGluIHRoZSBGRUMg Y2FzZT8gDQpNZWFuaW5nIHRoYXQgaWYgdGhlIGxpbmsgaGFzIG5ldmVyIGJlZW4gdXAgdGhlIFBI WSBtdXN0IG5ldmVyIGJlIGhhbmRsZWQgDQpmcm9tIGEgcG93ZXIgbWFuYWdlbWVudCBwZXJzcGVj dGl2ZT8NCg0KVGhlIG9ubHkgUEhZIGV4YW1wbGVzIEkgaGF2ZSBjb21lIGFjcm9zcyAodGhvdWdo IG5vdCBtYW55IGluIHRvdGFsKSB0aGUgDQpQSFkgaGFzIGRvbmUgc29tZSBpbml0aWFsIGNvbmZp Z3VyYXRpb24gb2YgaXRzZWxmIGFmdGVyIFBPUiBvciByZWxlYXNlIA0Kb2YgdGhlIHJlc2V0IGxp bmUuDQoNCj4gDQo+ICBGcm9tIHRoZXJlLCBJIHNlZSB0d28gZGlzdGluY3QgY2FzZXM6DQo+IA0K PiAtIHRoZSBuZXR3b3JrIGRldmljZSBkcml2ZXIgcHJvYmVkLCBidXQgdGhlIG5ldHdvcmsgZGV2 aWNlIHdhcyBuZXZlciANCj4gYnJvdWdodCB1cCBpbiB0aGUgZmlyc3QgcGxhY2UgaW4gdGhhdCBj YXNlLCBJIGRvIG5vdCBzZWUgYSBwYXRoIHdoZXJlYnkgDQo+IHRoZSBQSFkgd291bGQgaGF2ZSBi ZWVuIHN1c3BlbmRlZCwgdW5sZXNzIHRoZSBib290IGZpcm13YXJlIGFscmVhZHkgdG9vayANCj4g Y2FyZSBvZiB0aGF0ICh3aGljaCBhcmd1YWJseSBpdCBzaG91bGQgaWYgeW91IGFyZSB0cnlpbmcg dG8gYmUgYXMgcG93ZXIgDQo+IGVmZmljaWVudCBhcyBwb3NzaWJsZSksIGFsdGhvdWdoIGFyZ3Vh Ymx5IHRoZXJlIGNvdWxkIGJlIGEgcGF0aCB3aXRoaW4gDQo+IHRoZSBrZXJuZWwgd2hlcmUgdGhp cyBpcyBhbHNvIGRvbmUuIEl0IGNvdWxkIGdldCByZWFsbHkgY29tcGxpY2F0ZWQgaG93ZXZlcg0K DQpHZW5lcmljIFBNIHZpYSBtZGlvX2J1c19waHlfc3VzcGVuZCgpIHdpbGwgc3VzcGVuZCB0aGUg UEhZIGlmIGl0IGhhcyBhIA0KLnN1c3BlbmQgY2FsbGJhY2sgYW5kIG1hY19tYW5hZ2VkX3BtIGlz bid0IHNldC4NCg0KbWRpb19idXNfcGh5X21heV9zdXNwZW5kKCkgd2lsbCBzZWUgdGhhdCBuZXRk ZXYgaXMgTlVMTCwgd2hpY2ggbWVhbnMgaXQgDQpyZXR1cm5zIHRoZSBpbnZlcnNlIG9mIHBoeS0+ c3VzcGVuZGVkICh3aGljaCBpcyBmYWxzZSksIG1lYW5pbmcgdGhlIA0KZnVuY3Rpb24gcmV0dXJu cyB0cnVlLiBUaHVzIHBoeV9zdXNwZW5kKCkgaXMgY2FsbGVkLg0KDQo+IA0KPiAtIHRoZSBuZXR3 b3JrIGRldmljZSBkcml2ZXIgcHJvYmVkLCBhbmQgdGhlIG5ldHdvcmsgZGV2aWNlIHdhcyBicm91 Z2h0IA0KPiB1cCBhdCBsZWFzdCBvbmNlIChyZWdhcmRsZXNzIG9mIHdoZXRoZXIgYSBsaW5rIHN0 YXRlIHdhcyBkZXRlY3RlZCBvciANCj4gbm90KSwgc3VjaCB0aGF0IHRoZSBQSFkgaGFzIGdvbmUg dGhyb3VnaCBhIHBoeV9zdGFydCgpL3BoeV9zdG9wKCkgY3ljbGUsIA0KPiBhbmQgdXBvbiBwaHlf c3RvcCgpIGEgcGh5X3N1c3BlbmQoKSBoYXMgYmVlbiBjYWxsZWQNCj4gDQo+IEl0IGlzIHNhZmUg dG8gYXNzdW1lIHlvdSBmYWxsIGluIHRoZSBmaXJzdCBjYXNlIG9ubHksIG9yIGRvIHlvdSBhbHNv IHNlZSANCj4gYSBwcm9ibGVtIGluIHRoZSBzZWNvbmQgY2FzZSBhcyB3ZWxsPw0KDQpUaGVyZSBp cyBvbmx5IGEgcHJvYmxlbSBpbiB0aGUgZmlyc3QgY2FzZS4gVGhlIHNlY29uZCBjYXNlIGlzIHdv cmtpbmcgYXMgDQpleHBlY3RlZC4NCg0KPiANCj4gSWYgdGhlIGZpcnN0IGNhc2UsIEkgYW0gYSBi aXQgdG9ybiBhcyB0byBob3cgdG8gYmVzdCBnbyBhYm91dCBpdC4gVGhlIA0KPiBpbml0aWFsIHN0 YXRlIG9mIHRoZSBQSFkgdXBvbiBrZXJuZWwgYm9vdCBjYW4gYmUgYSB0YWQgZGlmZmljdWx0IHRv IHdvcmsgDQo+IHdpdGg6DQo+IA0KPiAtIHNvbWUgcGVvcGxlIHdhbnQgdG8gY29uc2VydmUgcG93 ZXIgYXMgbXVjaCBhcyBwb3NzaWJsZSAobGlrZSB5b3UsIGxpa2UgDQo+IG1lKSBhbmQgd291bGQg bm90IG1pbmQgc2VlaW5nIGEgbGluayBicmVhayB0byBhY2hpZXZlIHRoYXQgc3RhdGUsIG5vciBk byANCj4gdGhleSBtaW5kIGEgcGFydGlhbCBvciBmdWxsIHJlY29uZmlndXJhdGlvbiBvZiB0aGUg UEhZIGJ5IGl0cyBkcml2ZXINCg0KRm9yIHRoZXNlIGRldmljZXMgd2hlcmUgd2Ugc2VlIHdoYXQg d2UgY29uc2lkZXIgYW4gaXNzdWUgd2Ugb25seSByZWFsbHkgDQpjYXJlIGFib3V0IHBvd2VyIGNv bnN1bXB0aW9uIGluIHN1c3BlbmQgdG8gUkFNLg0KDQo+IA0KPiAtIHNvbWUgcGVvcGxlIHdhbnQg dG8gYXZvaWQgYSBsaW5rIGJyZWFrIGFuZCBqdXN0IGluaGVyaXQgdGhlIGV4aXN0aW5nIA0KPiBv cGVyYXRpb25hbCBtb2RlIG9mIHRoZSBQSFkgc3VjaCB0aGF0IHRoZXkgY2FuIGhhdmUgYSB3b3Jr aW5nIGxpbmsgYXMgDQo+IHF1aWNrbHkgYXMgcG9zc2libGUNCg0KVGhhbmtzISAvLyBKb2huIEVy bmJlcmc=