From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jingoo Han" Subject: Re: [PATCH v11 02/19] drm: bridge: analogix/dp: fix some obvious code style Date: Tue, 22 Dec 2015 21:05:57 +0900 Message-ID: <000601d13cb1$2466a640$6d33f2c0$@com> References: <1450236018-1118-1-git-send-email-ykk@rock-chips.com> <1450236377-1644-1-git-send-email-ykk@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1450236377-1644-1-git-send-email-ykk@rock-chips.com> Content-Language: ko List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: 'Yakir Yang' , 'Inki Dae' , 'Mark Yao' , 'Heiko Stuebner' Cc: devicetree@vger.kernel.org, 'Krzysztof Kozlowski' , linux-samsung-soc@vger.kernel.org, 'Russell King' , linux-rockchip@lists.infradead.org, 'Jingoo Han' , emil.l.velikov@gmail.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, 'Kishon Vijay Abraham I' , javier@osg.samsung.com, 'Rob Herring' , 'Andy Yan' , 'Thierry Reding' , 'Gustavo Padovan' , linux-arm-kernel@lists.infradead.org List-Id: linux-rockchip.vger.kernel.org T24gV2VkbmVzZGF5LCBEZWNlbWJlciAxNiwgMjAxNSAxMjoyNiBQTSwgWWFraXIgWWFuZyB3cm90 ZToKPiAKPiBGaXggc29tZSBvYnZpb3VzIGFsaWdubWVudCBwcm9ibGVtcywgbGlrZSBhbGlnbm1l bnQgYW5kIGxpbmUKPiBvdmVyIDgwIGNoYXJhY3RlcnMgcHJvYmxlbXMsIG1ha2UgdGhpcyBlYXN5 IHRvIGJlIG1haW50YWluZWQKPiBsYXRlci4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBZYWtpciBZYW5n IDx5a2tAcm9jay1jaGlwcy5jb20+Cj4gUmV2aWV3ZWQtYnk6IEtyenlzenRvZiBLb3psb3dza2kg PGsua296bG93c2tpQHNhbXN1bmcuY29tPgo+IFRlc3RlZC1ieTogSmF2aWVyIE1hcnRpbmV6IENh bmlsbGFzIDxqYXZpZXJAb3NnLnNhbXN1bmcuY29tPgoKQWNrZWQtYnk6IEppbmdvbyBIYW4gPGpp bmdvb2hhbjFAZ21haWwuY29tPgoKQmVzdCByZWdhcmRzLApKaW5nb28gSGFuCgo+IC0tLQo+IENo YW5nZXMgaW4gdjExOiBOb25lCj4gQ2hhbmdlcyBpbiB2MTA6IE5vbmUKPiBDaGFuZ2VzIGluIHY5 OiBOb25lCj4gQ2hhbmdlcyBpbiB2ODogTm9uZQo+IENoYW5nZXMgaW4gdjc6IE5vbmUKPiBDaGFu Z2VzIGluIHY2OiBOb25lCj4gQ2hhbmdlcyBpbiB2NToKPiAtIFJlc2VxdWVuY2UgdGhpcyBwYXRj aCBhZnRlciBhbmFsb2dpeF9kcCBkcml2ZXIgaGF2ZSBiZWVuIHNwbGl0Cj4gICBmcm9tIGV4eW5v c19kcCBjb2RlLCBhbmQgcmVwaHJhc2UgcmVhc29uYWJsZSBjb21taXQgbWVzc2FnZSwgYW5kCj4g ICByZW1vdmUgc29tZSBjb250cm92ZXJzaWFsIHN0eWxlIChLcnp5c3p0b2YpCj4gICAgIC0JCWFu YWxvZ2l4X2RwX3dyaXRlX2J5dGVfdG9fZHBjZCgKPiAgICAgLSAJCQkJZHAsIERQX1RFU1RfUkVT UE9OU0UsCj4gICAgICsJCWFuYWxvZ2l4X2RwX3dyaXRlX2J5dGVfdG9fZHBjZChkcCwKPiAgICAg KwkJCQlEUF9URVNUX1JFU1BPTlNFLAo+IAkJCQlEUF9URVNUX0VESURfQ0hFQ0tTVU1fV1JJVEUp Owo+IAo+IENoYW5nZXMgaW4gdjQ6IE5vbmUKPiBDaGFuZ2VzIGluIHYzOiBOb25lCj4gQ2hhbmdl cyBpbiB2MjoKPiAtIEltcHJvdmVkIGNvbW1pdCBtZXNzYWdlIG1vcmUgcmVhZGFibGUsIGFuZCBh dm9pZCB1c2luZyBzb21lCj4gICB1bmNvbW1vbiBzdHlsZSBsaWtlIGJlbGxvdzogKEpvZSBQcmVj aGVzKQo+ICAgICAtICByZXR2YWwgPSBleHlub3NfZHBfcmVhZF9ieXRlc19mcm9tX2kyYyguLi4K PiAgIAkJCQkgIC4uLik7Cj4gICAgICsgIHJldHZhbCA9Cj4gICAgICsgIGV4eW5vc19kcF9yZWFk X2J5dGVzX2Zyb21faTJjKC4uLi4uLik7Cj4gCj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5h bG9naXgvYW5hbG9naXhfZHBfY29yZS5jIHwgMTI5ICsrKysrKysrKystLS0tLS0tLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuaCB8ICA3MiAr KysrKystLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9k cF9yZWcuYyAgfCAxMjQgKysrKysrKysrKy0tLS0tLS0tLS0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAx NjMgaW5zZXJ0aW9ucygrKSwgMTYyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuYwo+IGIvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMKPiBpbmRleCBmYjhi ZGE4Li40YTA1YzJiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9n aXgvYW5hbG9naXhfZHBfY29yZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFs b2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMKPiBAQCAtNjEsNyArNjEsNyBAQCBzdGF0aWMgaW50IGFu YWxvZ2l4X2RwX2RldGVjdF9ocGQoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApCj4gCj4g IAl3aGlsZSAoYW5hbG9naXhfZHBfZ2V0X3BsdWdfaW5fc3RhdHVzKGRwKSAhPSAwKSB7Cj4gIAkJ dGltZW91dF9sb29wKys7Cj4gLQkJaWYgKERQX1RJTUVPVVRfTE9PUF9DT1VOVCA8IHRpbWVvdXRf bG9vcCkgewo+ICsJCWlmICh0aW1lb3V0X2xvb3AgPiBEUF9USU1FT1VUX0xPT1BfQ09VTlQpIHsK PiAgCQkJZGV2X2VycihkcC0+ZGV2LCAiZmFpbGVkIHRvIGdldCBocGQgcGx1ZyBzdGF0dXNcbiIp Owo+ICAJCQlyZXR1cm4gLUVUSU1FRE9VVDsKPiAgCQl9Cj4gQEAgLTk4LDggKzk4LDggQEAgc3Rh dGljIGludCBhbmFsb2dpeF9kcF9yZWFkX2VkaWQoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAq ZHApCj4gCj4gIAkvKiBSZWFkIEV4dGVuc2lvbiBGbGFnLCBOdW1iZXIgb2YgMTI4LWJ5dGUgRURJ RCBleHRlbnNpb24gYmxvY2tzICovCj4gIAlyZXR2YWwgPSBhbmFsb2dpeF9kcF9yZWFkX2J5dGVf ZnJvbV9pMmMoZHAsIEkyQ19FRElEX0RFVklDRV9BRERSLAo+IC0JCQkJRURJRF9FWFRFTlNJT05f RkxBRywKPiAtCQkJCSZleHRlbmRfYmxvY2spOwo+ICsJCQkJCQlFRElEX0VYVEVOU0lPTl9GTEFH LAo+ICsJCQkJCQkmZXh0ZW5kX2Jsb2NrKTsKPiAgCWlmIChyZXR2YWwpCj4gIAkJcmV0dXJuIHJl dHZhbDsKPiAKPiBAQCAtMTA3LDcgKzEwNyw4IEBAIHN0YXRpYyBpbnQgYW5hbG9naXhfZHBfcmVh ZF9lZGlkKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKQo+ICAJCWRldl9kYmcoZHAtPmRl diwgIkVESUQgZGF0YSBpbmNsdWRlcyBhIHNpbmdsZSBleHRlbnNpb24hXG4iKTsKPiAKPiAgCQkv KiBSZWFkIEVESUQgZGF0YSAqLwo+IC0JCXJldHZhbCA9IGFuYWxvZ2l4X2RwX3JlYWRfYnl0ZXNf ZnJvbV9pMmMoZHAsIEkyQ19FRElEX0RFVklDRV9BRERSLAo+ICsJCXJldHZhbCA9IGFuYWxvZ2l4 X2RwX3JlYWRfYnl0ZXNfZnJvbV9pMmMoZHAsCj4gKwkJCQkJCUkyQ19FRElEX0RFVklDRV9BRERS LAo+ICAJCQkJCQlFRElEX0hFQURFUl9QQVRURVJOLAo+ICAJCQkJCQlFRElEX0JMT0NLX0xFTkdU SCwKPiAgCQkJCQkJJmVkaWRbRURJRF9IRUFERVJfUEFUVEVSTl0pOwo+IEBAIC0xMzgsNyArMTM5 LDcgQEAgc3RhdGljIGludCBhbmFsb2dpeF9kcF9yZWFkX2VkaWQoc3RydWN0IGFuYWxvZ2l4X2Rw X2RldmljZSAqZHApCj4gIAkJfQo+IAo+ICAJCWFuYWxvZ2l4X2RwX3JlYWRfYnl0ZV9mcm9tX2Rw Y2QoZHAsIERQX1RFU1RfUkVRVUVTVCwKPiAtCQkJCQkmdGVzdF92ZWN0b3IpOwo+ICsJCQkJCQkm dGVzdF92ZWN0b3IpOwo+ICAJCWlmICh0ZXN0X3ZlY3RvciAmIERQX1RFU1RfTElOS19FRElEX1JF QUQpIHsKPiAgCQkJYW5hbG9naXhfZHBfd3JpdGVfYnl0ZV90b19kcGNkKGRwLAo+ICAJCQkJRFBf VEVTVF9FRElEX0NIRUNLU1VNLAo+IEBAIC0xNTIsMTAgKzE1Myw4IEBAIHN0YXRpYyBpbnQgYW5h bG9naXhfZHBfcmVhZF9lZGlkKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKQo+IAo+ICAJ CS8qIFJlYWQgRURJRCBkYXRhICovCj4gIAkJcmV0dmFsID0gYW5hbG9naXhfZHBfcmVhZF9ieXRl c19mcm9tX2kyYyhkcCwKPiAtCQkJCUkyQ19FRElEX0RFVklDRV9BRERSLAo+IC0JCQkJRURJRF9I RUFERVJfUEFUVEVSTiwKPiAtCQkJCUVESURfQkxPQ0tfTEVOR1RILAo+IC0JCQkJJmVkaWRbRURJ RF9IRUFERVJfUEFUVEVSTl0pOwo+ICsJCQkJSTJDX0VESURfREVWSUNFX0FERFIsIEVESURfSEVB REVSX1BBVFRFUk4sCj4gKwkJCQlFRElEX0JMT0NLX0xFTkdUSCwgJmVkaWRbRURJRF9IRUFERVJf UEFUVEVSTl0pOwo+ICAJCWlmIChyZXR2YWwgIT0gMCkgewo+ICAJCQlkZXZfZXJyKGRwLT5kZXYs ICJFRElEIFJlYWQgZmFpbGVkIVxuIik7Cj4gIAkJCXJldHVybiAtRUlPOwo+IEBAIC0xNjYsMTYg KzE2NSwxMyBAQCBzdGF0aWMgaW50IGFuYWxvZ2l4X2RwX3JlYWRfZWRpZChzdHJ1Y3QgYW5hbG9n aXhfZHBfZGV2aWNlICpkcCkKPiAgCQkJcmV0dXJuIC1FSU87Cj4gIAkJfQo+IAo+IC0JCWFuYWxv Z2l4X2RwX3JlYWRfYnl0ZV9mcm9tX2RwY2QoZHAsCj4gLQkJCURQX1RFU1RfUkVRVUVTVCwKPiAt CQkJJnRlc3RfdmVjdG9yKTsKPiArCQlhbmFsb2dpeF9kcF9yZWFkX2J5dGVfZnJvbV9kcGNkKGRw LCBEUF9URVNUX1JFUVVFU1QsCj4gKwkJCQkJCSZ0ZXN0X3ZlY3Rvcik7Cj4gIAkJaWYgKHRlc3Rf dmVjdG9yICYgRFBfVEVTVF9MSU5LX0VESURfUkVBRCkgewo+ICAJCQlhbmFsb2dpeF9kcF93cml0 ZV9ieXRlX3RvX2RwY2QoZHAsCj4gLQkJCQlEUF9URVNUX0VESURfQ0hFQ0tTVU0sCj4gLQkJCQll ZGlkW0VESURfQ0hFQ0tTVU1dKTsKPiArCQkJCURQX1RFU1RfRURJRF9DSEVDS1NVTSwgZWRpZFtF RElEX0NIRUNLU1VNXSk7Cj4gIAkJCWFuYWxvZ2l4X2RwX3dyaXRlX2J5dGVfdG9fZHBjZChkcCwK PiAtCQkJCURQX1RFU1RfUkVTUE9OU0UsCj4gLQkJCQlEUF9URVNUX0VESURfQ0hFQ0tTVU1fV1JJ VEUpOwo+ICsJCQkJRFBfVEVTVF9SRVNQT05TRSwgRFBfVEVTVF9FRElEX0NIRUNLU1VNX1dSSVRF KTsKPiAgCQl9Cj4gIAl9Cj4gCj4gQEAgLTE5MCw4ICsxODYsNyBAQCBzdGF0aWMgaW50IGFuYWxv Z2l4X2RwX2hhbmRsZV9lZGlkKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKQo+ICAJaW50 IHJldHZhbDsKPiAKPiAgCS8qIFJlYWQgRFBDRCBEUF9EUENEX1JFVn5SRUNFSVZFX1BPUlQxX0NB UF8xICovCj4gLQlyZXR2YWwgPSBhbmFsb2dpeF9kcF9yZWFkX2J5dGVzX2Zyb21fZHBjZChkcCwg RFBfRFBDRF9SRVYsCj4gLQkJCQkxMiwgYnVmKTsKPiArCXJldHZhbCA9IGFuYWxvZ2l4X2RwX3Jl YWRfYnl0ZXNfZnJvbV9kcGNkKGRwLCBEUF9EUENEX1JFViwgMTIsIGJ1Zik7Cj4gIAlpZiAocmV0 dmFsKQo+ICAJCXJldHVybiByZXR2YWw7Cj4gCj4gQEAgLTIwNSw4ICsyMDAsOSBAQCBzdGF0aWMg aW50IGFuYWxvZ2l4X2RwX2hhbmRsZV9lZGlkKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRw KQo+ICAJcmV0dXJuIHJldHZhbDsKPiAgfQo+IAo+IC1zdGF0aWMgdm9pZCBhbmFsb2dpeF9kcF9l bmFibGVfcnhfdG9fZW5oYW5jZWRfbW9kZShzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwK PiAtCQkJCQkJYm9vbCBlbmFibGUpCj4gK3N0YXRpYyB2b2lkCj4gK2FuYWxvZ2l4X2RwX2VuYWJs ZV9yeF90b19lbmhhbmNlZF9tb2RlKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+ICsJ CQkJICAgICAgIGJvb2wgZW5hYmxlKQo+ICB7Cj4gIAl1OCBkYXRhOwo+IAo+IEBAIC0yMTQsMTEg KzIxMCwxMSBAQCBzdGF0aWMgdm9pZCBhbmFsb2dpeF9kcF9lbmFibGVfcnhfdG9fZW5oYW5jZWRf bW9kZShzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcAo+IAo+ICAJaWYgKGVuYWJsZSkKPiAg CQlhbmFsb2dpeF9kcF93cml0ZV9ieXRlX3RvX2RwY2QoZHAsIERQX0xBTkVfQ09VTlRfU0VULAo+ IC0JCQlEUF9MQU5FX0NPVU5UX0VOSEFOQ0VEX0ZSQU1FX0VOIHwKPiAtCQkJRFBDRF9MQU5FX0NP VU5UX1NFVChkYXRhKSk7Cj4gKwkJCQkJICAgICAgIERQX0xBTkVfQ09VTlRfRU5IQU5DRURfRlJB TUVfRU4gfAo+ICsJCQkJCSAgICAgICBEUENEX0xBTkVfQ09VTlRfU0VUKGRhdGEpKTsKPiAgCWVs c2UKPiAgCQlhbmFsb2dpeF9kcF93cml0ZV9ieXRlX3RvX2RwY2QoZHAsIERQX0xBTkVfQ09VTlRf U0VULAo+IC0JCQlEUENEX0xBTkVfQ09VTlRfU0VUKGRhdGEpKTsKPiArCQkJCQkgICAgICAgRFBD RF9MQU5FX0NPVU5UX1NFVChkYXRhKSk7Cj4gIH0KPiAKPiAgc3RhdGljIGludCBhbmFsb2dpeF9k cF9pc19lbmhhbmNlZF9tb2RlX2F2YWlsYWJsZShzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpk cCkKPiBAQCAtMjQ1LDEzICsyNDEsMTMgQEAgc3RhdGljIHZvaWQgYW5hbG9naXhfZHBfdHJhaW5p bmdfcGF0dGVybl9kaXMoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApCj4gIHsKPiAgCWFu YWxvZ2l4X2RwX3NldF90cmFpbmluZ19wYXR0ZXJuKGRwLCBEUF9OT05FKTsKPiAKPiAtCWFuYWxv Z2l4X2RwX3dyaXRlX2J5dGVfdG9fZHBjZChkcCwKPiAtCQlEUF9UUkFJTklOR19QQVRURVJOX1NF VCwKPiAtCQlEUF9UUkFJTklOR19QQVRURVJOX0RJU0FCTEUpOwo+ICsJYW5hbG9naXhfZHBfd3Jp dGVfYnl0ZV90b19kcGNkKGRwLCBEUF9UUkFJTklOR19QQVRURVJOX1NFVCwKPiArCQkJCSAgICAg ICBEUF9UUkFJTklOR19QQVRURVJOX0RJU0FCTEUpOwo+ICB9Cj4gCj4gLXN0YXRpYyB2b2lkIGFu YWxvZ2l4X2RwX3NldF9sYW5lX2xhbmVfcHJlX2VtcGhhc2lzKHN0cnVjdCBhbmFsb2dpeF9kcF9k ZXZpY2UgKmRwLAo+IC0JCQkJCWludCBwcmVfZW1waGFzaXMsIGludCBsYW5lKQo+ICtzdGF0aWMg dm9pZAo+ICthbmFsb2dpeF9kcF9zZXRfbGFuZV9sYW5lX3ByZV9lbXBoYXNpcyhzdHJ1Y3QgYW5h bG9naXhfZHBfZGV2aWNlICpkcCwKPiArCQkJCSAgICAgICBpbnQgcHJlX2VtcGhhc2lzLCBpbnQg bGFuZSkKPiAgewo+ICAJc3dpdGNoIChsYW5lKSB7Cj4gIAljYXNlIDA6Cj4gQEAgLTI5MSw4ICsy ODcsNyBAQCBzdGF0aWMgaW50IGFuYWxvZ2l4X2RwX2xpbmtfc3RhcnQoc3RydWN0IGFuYWxvZ2l4 X2RwX2RldmljZSAqZHApCj4gIAkvKiBTZXR1cCBSWCBjb25maWd1cmF0aW9uICovCj4gIAlidWZb MF0gPSBkcC0+bGlua190cmFpbi5saW5rX3JhdGU7Cj4gIAlidWZbMV0gPSBkcC0+bGlua190cmFp bi5sYW5lX2NvdW50Owo+IC0JcmV0dmFsID0gYW5hbG9naXhfZHBfd3JpdGVfYnl0ZXNfdG9fZHBj ZChkcCwgRFBfTElOS19CV19TRVQsCj4gLQkJCQkyLCBidWYpOwo+ICsJcmV0dmFsID0gYW5hbG9n aXhfZHBfd3JpdGVfYnl0ZXNfdG9fZHBjZChkcCwgRFBfTElOS19CV19TRVQsIDIsIGJ1Zik7Cj4g IAlpZiAocmV0dmFsKQo+ICAJCXJldHVybiByZXR2YWw7Cj4gCj4gQEAgLTMyOCw3ICszMjMsNyBA QCBzdGF0aWMgaW50IGFuYWxvZ2l4X2RwX2xpbmtfc3RhcnQoc3RydWN0IGFuYWxvZ2l4X2RwX2Rl dmljZSAqZHApCj4gIAkJCSAgICBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzA7Cj4gCj4g IAlyZXR2YWwgPSBhbmFsb2dpeF9kcF93cml0ZV9ieXRlc190b19kcGNkKGRwLCBEUF9UUkFJTklO R19MQU5FMF9TRVQsCj4gLQkJCWxhbmVfY291bnQsIGJ1Zik7Cj4gKwkJCQkJCSBsYW5lX2NvdW50 LCBidWYpOwo+IAo+ICAJcmV0dXJuIHJldHZhbDsKPiAgfQo+IEBAIC0zMzYsNyArMzMxLDcgQEAg c3RhdGljIGludCBhbmFsb2dpeF9kcF9saW5rX3N0YXJ0KHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZp Y2UgKmRwKQo+ICBzdGF0aWMgdW5zaWduZWQgY2hhciBhbmFsb2dpeF9kcF9nZXRfbGFuZV9zdGF0 dXModTggbGlua19zdGF0dXNbMl0sIGludCBsYW5lKQo+ICB7Cj4gIAlpbnQgc2hpZnQgPSAobGFu ZSAmIDEpICogNDsKPiAtCXU4IGxpbmtfdmFsdWUgPSBsaW5rX3N0YXR1c1tsYW5lPj4xXTsKPiAr CXU4IGxpbmtfdmFsdWUgPSBsaW5rX3N0YXR1c1tsYW5lID4+IDFdOwo+IAo+ICAJcmV0dXJuIChs aW5rX3ZhbHVlID4+IHNoaWZ0KSAmIDB4ZjsKPiAgfQo+IEBAIC0zNTUsNyArMzUwLDcgQEAgc3Rh dGljIGludCBhbmFsb2dpeF9kcF9jbG9ja19yZWNvdmVyeV9vayh1OCBsaW5rX3N0YXR1c1syXSwg aW50IGxhbmVfY291bnQpCj4gIH0KPiAKPiAgc3RhdGljIGludCBhbmFsb2dpeF9kcF9jaGFubmVs X2VxX29rKHU4IGxpbmtfc3RhdHVzWzJdLCB1OCBsaW5rX2FsaWduLAo+IC0JCQkJaW50IGxhbmVf Y291bnQpCj4gKwkJCQkgICAgIGludCBsYW5lX2NvdW50KQo+ICB7Cj4gIAlpbnQgbGFuZTsKPiAg CXU4IGxhbmVfc3RhdHVzOwo+IEBAIC0zNzMsMTEgKzM2OCwxMSBAQCBzdGF0aWMgaW50IGFuYWxv Z2l4X2RwX2NoYW5uZWxfZXFfb2sodTggbGlua19zdGF0dXNbMl0sIHU4IGxpbmtfYWxpZ24sCj4g IAlyZXR1cm4gMDsKPiAgfQo+IAo+IC1zdGF0aWMgdW5zaWduZWQgY2hhciBhbmFsb2dpeF9kcF9n ZXRfYWRqdXN0X3JlcXVlc3Rfdm9sdGFnZSh1OCBhZGp1c3RfcmVxdWVzdFsyXSwKPiAtCQkJCQkJ CWludCBsYW5lKQo+ICtzdGF0aWMgdW5zaWduZWQgY2hhcgo+ICthbmFsb2dpeF9kcF9nZXRfYWRq dXN0X3JlcXVlc3Rfdm9sdGFnZSh1OCBhZGp1c3RfcmVxdWVzdFsyXSwgaW50IGxhbmUpCj4gIHsK PiAgCWludCBzaGlmdCA9IChsYW5lICYgMSkgKiA0Owo+IC0JdTggbGlua192YWx1ZSA9IGFkanVz dF9yZXF1ZXN0W2xhbmU+PjFdOwo+ICsJdTggbGlua192YWx1ZSA9IGFkanVzdF9yZXF1ZXN0W2xh bmUgPj4gMV07Cj4gCj4gIAlyZXR1cm4gKGxpbmtfdmFsdWUgPj4gc2hpZnQpICYgMHgzOwo+ICB9 Cj4gQEAgLTM4NywxMyArMzgyLDEzIEBAIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGFuYWxvZ2l4X2Rw X2dldF9hZGp1c3RfcmVxdWVzdF9wcmVfZW1waGFzaXMoCj4gIAkJCQkJaW50IGxhbmUpCj4gIHsK PiAgCWludCBzaGlmdCA9IChsYW5lICYgMSkgKiA0Owo+IC0JdTggbGlua192YWx1ZSA9IGFkanVz dF9yZXF1ZXN0W2xhbmU+PjFdOwo+ICsJdTggbGlua192YWx1ZSA9IGFkanVzdF9yZXF1ZXN0W2xh bmUgPj4gMV07Cj4gCj4gIAlyZXR1cm4gKChsaW5rX3ZhbHVlID4+IHNoaWZ0KSAmIDB4YykgPj4g MjsKPiAgfQo+IAo+ICBzdGF0aWMgdm9pZCBhbmFsb2dpeF9kcF9zZXRfbGFuZV9saW5rX3RyYWlu aW5nKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+IC0JCQkJCXU4IHRyYWluaW5nX2xh bmVfc2V0LCBpbnQgbGFuZSkKPiArCQkJCQkgICAgICAgdTggdHJhaW5pbmdfbGFuZV9zZXQsIGlu dCBsYW5lKQo+ICB7Cj4gIAlzd2l0Y2ggKGxhbmUpIHsKPiAgCWNhc2UgMDoKPiBAQCAtNDEzLDkg KzQwOCw5IEBAIHN0YXRpYyB2b2lkIGFuYWxvZ2l4X2RwX3NldF9sYW5lX2xpbmtfdHJhaW5pbmco c3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gIAl9Cj4gIH0KPiAKPiAtc3RhdGljIHVu c2lnbmVkIGludCBhbmFsb2dpeF9kcF9nZXRfbGFuZV9saW5rX3RyYWluaW5nKAo+IC0JCQkJc3Ry dWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gLQkJCQlpbnQgbGFuZSkKPiArc3RhdGljIHVu c2lnbmVkIGludAo+ICthbmFsb2dpeF9kcF9nZXRfbGFuZV9saW5rX3RyYWluaW5nKHN0cnVjdCBh bmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+ICsJCQkJICAgaW50IGxhbmUpCj4gIHsKPiAgCXUzMiBy ZWc7Cj4gCj4gQEAgLTQ0OSw3ICs0NDQsNyBAQCBzdGF0aWMgdm9pZCBhbmFsb2dpeF9kcF9yZWR1 Y2VfbGlua19yYXRlKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKQo+ICB9Cj4gCj4gIHN0 YXRpYyB2b2lkIGFuYWxvZ2l4X2RwX2dldF9hZGp1c3RfdHJhaW5pbmdfbGFuZShzdHJ1Y3QgYW5h bG9naXhfZHBfZGV2aWNlICpkcCwKPiAtCQkJCQl1OCBhZGp1c3RfcmVxdWVzdFsyXSkKPiArCQkJ CQkJIHU4IGFkanVzdF9yZXF1ZXN0WzJdKQo+ICB7Cj4gIAlpbnQgbGFuZSwgbGFuZV9jb3VudDsK PiAgCXU4IHZvbHRhZ2Vfc3dpbmcsIHByZV9lbXBoYXNpcywgdHJhaW5pbmdfbGFuZTsKPiBAQCAt NjIyLDcgKzYxNyw3IEBAIHN0YXRpYyBpbnQgYW5hbG9naXhfZHBfcHJvY2Vzc19lcXVhbGl6ZXJf dHJhaW5pbmcoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApCj4gIH0KPiAKPiAgc3RhdGlj IHZvaWQgYW5hbG9naXhfZHBfZ2V0X21heF9yeF9iYW5kd2lkdGgoc3RydWN0IGFuYWxvZ2l4X2Rw X2RldmljZSAqZHAsCj4gLQkJCQkJdTggKmJhbmR3aWR0aCkKPiArCQkJCQkgICAgIHU4ICpiYW5k d2lkdGgpCj4gIHsKPiAgCXU4IGRhdGE7Cj4gCj4gQEAgLTYzNSw3ICs2MzAsNyBAQCBzdGF0aWMg dm9pZCBhbmFsb2dpeF9kcF9nZXRfbWF4X3J4X2JhbmR3aWR0aChzdHJ1Y3QgYW5hbG9naXhfZHBf ZGV2aWNlICpkcCwKPiAgfQo+IAo+ICBzdGF0aWMgdm9pZCBhbmFsb2dpeF9kcF9nZXRfbWF4X3J4 X2xhbmVfY291bnQoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gLQkJCQkJdTggKmxh bmVfY291bnQpCj4gKwkJCQkJICAgICAgdTggKmxhbmVfY291bnQpCj4gIHsKPiAgCXU4IGRhdGE7 Cj4gCj4gQEAgLTY0OCw4ICs2NDMsOCBAQCBzdGF0aWMgdm9pZCBhbmFsb2dpeF9kcF9nZXRfbWF4 X3J4X2xhbmVfY291bnQoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gIH0KPiAKPiAg c3RhdGljIHZvaWQgYW5hbG9naXhfZHBfaW5pdF90cmFpbmluZyhzdHJ1Y3QgYW5hbG9naXhfZHBf ZGV2aWNlICpkcCwKPiAtCQkJZW51bSBsaW5rX2xhbmVfY291bnRfdHlwZSBtYXhfbGFuZSwKPiAt CQkJZW51bSBsaW5rX3JhdGVfdHlwZSBtYXhfcmF0ZSkKPiArCQkJCSAgICAgIGVudW0gbGlua19s YW5lX2NvdW50X3R5cGUgbWF4X2xhbmUsCj4gKwkJCQkgICAgICBlbnVtIGxpbmtfcmF0ZV90eXBl IG1heF9yYXRlKQo+ICB7Cj4gIAkvKgo+ICAJICogTUFDUk9fUlNUIG11c3QgYmUgYXBwbGllZCBh ZnRlciB0aGUgUExMX0xPQ0sgdG8gYXZvaWQKPiBAQCAtNjYyLDcgKzY1Nyw3IEBAIHN0YXRpYyB2 b2lkIGFuYWxvZ2l4X2RwX2luaXRfdHJhaW5pbmcoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAq ZHAsCj4gIAlhbmFsb2dpeF9kcF9nZXRfbWF4X3J4X2xhbmVfY291bnQoZHAsICZkcC0+bGlua190 cmFpbi5sYW5lX2NvdW50KTsKPiAKPiAgCWlmICgoZHAtPmxpbmtfdHJhaW4ubGlua19yYXRlICE9 IExJTktfUkFURV8xXzYyR0JQUykgJiYKPiAtCSAgIChkcC0+bGlua190cmFpbi5saW5rX3JhdGUg IT0gTElOS19SQVRFXzJfNzBHQlBTKSkgewo+ICsJICAgIChkcC0+bGlua190cmFpbi5saW5rX3Jh dGUgIT0gTElOS19SQVRFXzJfNzBHQlBTKSkgewo+ICAJCWRldl9lcnIoZHAtPmRldiwgIlJ4IE1h eCBMaW5rIFJhdGUgaXMgYWJub3JtYWwgOiV4ICFcbiIsCj4gIAkJCWRwLT5saW5rX3RyYWluLmxp bmtfcmF0ZSk7Cj4gIAkJZHAtPmxpbmtfdHJhaW4ubGlua19yYXRlID0gTElOS19SQVRFXzFfNjJH QlBTOwo+IEBAIC03MjIsOCArNzE3LDcgQEAgc3RhdGljIGludCBhbmFsb2dpeF9kcF9zd19saW5r X3RyYWluaW5nKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKQo+ICB9Cj4gCj4gIHN0YXRp YyBpbnQgYW5hbG9naXhfZHBfc2V0X2xpbmtfdHJhaW4oc3RydWN0IGFuYWxvZ2l4X2RwX2Rldmlj ZSAqZHAsCj4gLQkJCQl1MzIgY291bnQsCj4gLQkJCQl1MzIgYnd0eXBlKQo+ICsJCQkJICAgICAg dTMyIGNvdW50LCB1MzIgYnd0eXBlKQo+ICB7Cj4gIAlpbnQgaTsKPiAgCWludCByZXR2YWw7Cj4g QEAgLTc1OSw3ICs3NTMsNyBAQCBzdGF0aWMgaW50IGFuYWxvZ2l4X2RwX2NvbmZpZ192aWRlbyhz dHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCkKPiAgCQl0aW1lb3V0X2xvb3ArKzsKPiAgCQlp ZiAoYW5hbG9naXhfZHBfaXNfc2xhdmVfdmlkZW9fc3RyZWFtX2Nsb2NrX29uKGRwKSA9PSAwKQo+ ICAJCQlicmVhazsKPiAtCQlpZiAoRFBfVElNRU9VVF9MT09QX0NPVU5UIDwgdGltZW91dF9sb29w KSB7Cj4gKwkJaWYgKHRpbWVvdXRfbG9vcCA+IERQX1RJTUVPVVRfTE9PUF9DT1VOVCkgewo+ICAJ CQlkZXZfZXJyKGRwLT5kZXYsICJUaW1lb3V0IG9mIHZpZGVvIHN0cmVhbWNsayBva1xuIik7Cj4g IAkJCXJldHVybiAtRVRJTUVET1VUOwo+ICAJCX0KPiBAQCAtNzkwLDcgKzc4NCw3IEBAIHN0YXRp YyBpbnQgYW5hbG9naXhfZHBfY29uZmlnX3ZpZGVvKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2Ug KmRwKQo+ICAJCX0gZWxzZSBpZiAoZG9uZV9jb3VudCkgewo+ICAJCQlkb25lX2NvdW50ID0gMDsK PiAgCQl9Cj4gLQkJaWYgKERQX1RJTUVPVVRfTE9PUF9DT1VOVCA8IHRpbWVvdXRfbG9vcCkgewo+ ICsJCWlmICh0aW1lb3V0X2xvb3AgPiBEUF9USU1FT1VUX0xPT1BfQ09VTlQpIHsKPiAgCQkJZGV2 X2VycihkcC0+ZGV2LCAiVGltZW91dCBvZiB2aWRlbyBzdHJlYW1jbGsgb2tcbiIpOwo+ICAJCQly ZXR1cm4gLUVUSU1FRE9VVDsKPiAgCQl9Cj4gQEAgLTgwNCwyNSArNzk4LDI0IEBAIHN0YXRpYyBp bnQgYW5hbG9naXhfZHBfY29uZmlnX3ZpZGVvKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRw KQo+ICAJcmV0dXJuIHJldHZhbDsKPiAgfQo+IAo+IC1zdGF0aWMgdm9pZCBhbmFsb2dpeF9kcF9l bmFibGVfc2NyYW1ibGUoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsIGJvb2wgZW5hYmxl KQo+ICtzdGF0aWMgdm9pZCBhbmFsb2dpeF9kcF9lbmFibGVfc2NyYW1ibGUoc3RydWN0IGFuYWxv Z2l4X2RwX2RldmljZSAqZHAsCj4gKwkJCQkJYm9vbCBlbmFibGUpCj4gIHsKPiAgCXU4IGRhdGE7 Cj4gCj4gIAlpZiAoZW5hYmxlKSB7Cj4gIAkJYW5hbG9naXhfZHBfZW5hYmxlX3NjcmFtYmxpbmco ZHApOwo+IAo+IC0JCWFuYWxvZ2l4X2RwX3JlYWRfYnl0ZV9mcm9tX2RwY2QoZHAsCj4gLQkJCURQ X1RSQUlOSU5HX1BBVFRFUk5fU0VULAo+IC0JCQkmZGF0YSk7Cj4gKwkJYW5hbG9naXhfZHBfcmVh ZF9ieXRlX2Zyb21fZHBjZChkcCwgRFBfVFJBSU5JTkdfUEFUVEVSTl9TRVQsCj4gKwkJCQkJCSZk YXRhKTsKPiAgCQlhbmFsb2dpeF9kcF93cml0ZV9ieXRlX3RvX2RwY2QoZHAsCj4gIAkJCURQX1RS QUlOSU5HX1BBVFRFUk5fU0VULAo+ICAJCQkodTgpKGRhdGEgJiB+RFBfTElOS19TQ1JBTUJMSU5H X0RJU0FCTEUpKTsKPiAgCX0gZWxzZSB7Cj4gIAkJYW5hbG9naXhfZHBfZGlzYWJsZV9zY3JhbWJs aW5nKGRwKTsKPiAKPiAtCQlhbmFsb2dpeF9kcF9yZWFkX2J5dGVfZnJvbV9kcGNkKGRwLAo+IC0J CQlEUF9UUkFJTklOR19QQVRURVJOX1NFVCwKPiAtCQkJJmRhdGEpOwo+ICsJCWFuYWxvZ2l4X2Rw X3JlYWRfYnl0ZV9mcm9tX2RwY2QoZHAsIERQX1RSQUlOSU5HX1BBVFRFUk5fU0VULAo+ICsJCQkJ CQkmZGF0YSk7Cj4gIAkJYW5hbG9naXhfZHBfd3JpdGVfYnl0ZV90b19kcGNkKGRwLAo+ICAJCQlE UF9UUkFJTklOR19QQVRURVJOX1NFVCwKPiAgCQkJKHU4KShkYXRhIHwgRFBfTElOS19TQ1JBTUJM SU5HX0RJU0FCTEUpKTsKPiBAQCAtODk1LDcgKzg4OCw3IEBAIHN0YXRpYyB2b2lkIGFuYWxvZ2l4 X2RwX2NvbW1pdChzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCkKPiAgCX0KPiAKPiAgCXJl dCA9IGFuYWxvZ2l4X2RwX3NldF9saW5rX3RyYWluKGRwLCBkcC0+dmlkZW9faW5mby0+bGFuZV9j b3VudCwKPiAtCQkJCQlkcC0+dmlkZW9faW5mby0+bGlua19yYXRlKTsKPiArCQkJCQkgZHAtPnZp ZGVvX2luZm8tPmxpbmtfcmF0ZSk7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJZGV2X2VycihkcC0+ZGV2 LCAidW5hYmxlIHRvIGRvIGxpbmsgdHJhaW5cbiIpOwo+ICAJCXJldHVybjsKPiBAQCAtMTA4NSw4 ICsxMDc4LDggQEAgc3RhdGljIHN0cnVjdCB2aWRlb19pbmZvICphbmFsb2dpeF9kcF9kdF9wYXJz ZV9wZGF0YShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKmRwX25v ZGUgPSBkZXYtPm9mX25vZGU7Cj4gIAlzdHJ1Y3QgdmlkZW9faW5mbyAqZHBfdmlkZW9fY29uZmln Owo+IAo+IC0JZHBfdmlkZW9fY29uZmlnID0gZGV2bV9remFsbG9jKGRldiwKPiAtCQkJCXNpemVv ZigqZHBfdmlkZW9fY29uZmlnKSwgR0ZQX0tFUk5FTCk7Cj4gKwlkcF92aWRlb19jb25maWcgPSBk ZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKmRwX3ZpZGVvX2NvbmZpZyksCj4gKwkJCQkgICAgICAg R0ZQX0tFUk5FTCk7Cj4gIAlpZiAoIWRwX3ZpZGVvX2NvbmZpZykKPiAgCQlyZXR1cm4gRVJSX1BU UigtRU5PTUVNKTsKPiAKPiBAQCAtMTEwMCwzNyArMTA5MywzNyBAQCBzdGF0aWMgc3RydWN0IHZp ZGVvX2luZm8gKmFuYWxvZ2l4X2RwX2R0X3BhcnNlX3BkYXRhKHN0cnVjdCBkZXZpY2UgKmRldikK PiAgCQlvZl9wcm9wZXJ0eV9yZWFkX2Jvb2woZHBfbm9kZSwgImludGVybGFjZWQiKTsKPiAKPiAg CWlmIChvZl9wcm9wZXJ0eV9yZWFkX3UzMihkcF9ub2RlLCAic2Ftc3VuZyxjb2xvci1zcGFjZSIs Cj4gLQkJCQkmZHBfdmlkZW9fY29uZmlnLT5jb2xvcl9zcGFjZSkpIHsKPiArCQkJCSAmZHBfdmlk ZW9fY29uZmlnLT5jb2xvcl9zcGFjZSkpIHsKPiAgCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBn ZXQgY29sb3Itc3BhY2VcbiIpOwo+ICAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwo+ICAJfQo+ IAo+ICAJaWYgKG9mX3Byb3BlcnR5X3JlYWRfdTMyKGRwX25vZGUsICJzYW1zdW5nLGR5bmFtaWMt cmFuZ2UiLAo+IC0JCQkJJmRwX3ZpZGVvX2NvbmZpZy0+ZHluYW1pY19yYW5nZSkpIHsKPiArCQkJ CSAmZHBfdmlkZW9fY29uZmlnLT5keW5hbWljX3JhbmdlKSkgewo+ICAJCWRldl9lcnIoZGV2LCAi ZmFpbGVkIHRvIGdldCBkeW5hbWljLXJhbmdlXG4iKTsKPiAgCQlyZXR1cm4gRVJSX1BUUigtRUlO VkFMKTsKPiAgCX0KPiAKPiAgCWlmIChvZl9wcm9wZXJ0eV9yZWFkX3UzMihkcF9ub2RlLCAic2Ft c3VuZyx5Y2Jjci1jb2VmZiIsCj4gLQkJCQkmZHBfdmlkZW9fY29uZmlnLT55Y2Jjcl9jb2VmZikp IHsKPiArCQkJCSAmZHBfdmlkZW9fY29uZmlnLT55Y2Jjcl9jb2VmZikpIHsKPiAgCQlkZXZfZXJy KGRldiwgImZhaWxlZCB0byBnZXQgeWNiY3ItY29lZmZcbiIpOwo+ICAJCXJldHVybiBFUlJfUFRS KC1FSU5WQUwpOwo+ICAJfQo+IAo+ICAJaWYgKG9mX3Byb3BlcnR5X3JlYWRfdTMyKGRwX25vZGUs ICJzYW1zdW5nLGNvbG9yLWRlcHRoIiwKPiAtCQkJCSZkcF92aWRlb19jb25maWctPmNvbG9yX2Rl cHRoKSkgewo+ICsJCQkJICZkcF92aWRlb19jb25maWctPmNvbG9yX2RlcHRoKSkgewo+ICAJCWRl dl9lcnIoZGV2LCAiZmFpbGVkIHRvIGdldCBjb2xvci1kZXB0aFxuIik7Cj4gIAkJcmV0dXJuIEVS Ul9QVFIoLUVJTlZBTCk7Cj4gIAl9Cj4gCj4gIAlpZiAob2ZfcHJvcGVydHlfcmVhZF91MzIoZHBf bm9kZSwgInNhbXN1bmcsbGluay1yYXRlIiwKPiAtCQkJCSZkcF92aWRlb19jb25maWctPmxpbmtf cmF0ZSkpIHsKPiArCQkJCSAmZHBfdmlkZW9fY29uZmlnLT5saW5rX3JhdGUpKSB7Cj4gIAkJZGV2 X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IGxpbmstcmF0ZVxuIik7Cj4gIAkJcmV0dXJuIEVSUl9Q VFIoLUVJTlZBTCk7Cj4gIAl9Cj4gCj4gIAlpZiAob2ZfcHJvcGVydHlfcmVhZF91MzIoZHBfbm9k ZSwgInNhbXN1bmcsbGFuZS1jb3VudCIsCj4gLQkJCQkmZHBfdmlkZW9fY29uZmlnLT5sYW5lX2Nv dW50KSkgewo+ICsJCQkJICZkcF92aWRlb19jb25maWctPmxhbmVfY291bnQpKSB7Cj4gIAkJZGV2 X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IGxhbmUtY291bnRcbiIpOwo+ICAJCXJldHVybiBFUlJf UFRSKC1FSU5WQUwpOwo+ICAJfQo+IEBAIC0xMjM5LDcgKzEyMzIsNyBAQCBpbnQgYW5hbG9naXhf ZHBfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LAo+ ICAJcG1fcnVudGltZV9lbmFibGUoZGV2KTsKPiAKPiAgCXJldCA9IGRldm1fcmVxdWVzdF9pcnEo JnBkZXYtPmRldiwgZHAtPmlycSwgYW5hbG9naXhfZHBfaXJxX2hhbmRsZXIsCj4gLQkJCWlycV9m bGFncywgImFuYWxvZ2l4LWRwIiwgZHApOwo+ICsJCQkgICAgICAgaXJxX2ZsYWdzLCAiYW5hbG9n aXgtZHAiLCBkcCk7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFp bGVkIHRvIHJlcXVlc3QgaXJxXG4iKTsKPiAgCQlnb3RvIGVycl9kaXNhYmxlX3BtX3J1bnRpbWU7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhf ZHBfY29yZS5oCj4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2Rw X2NvcmUuaAo+IGluZGV4IDE5MjUyMTYuLjhlODQyMDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmgKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuaAo+IEBAIC0xODcsNTAg KzE4Nyw1NSBAQCBpbnQgYW5hbG9naXhfZHBfZ2V0X3BsdWdfaW5fc3RhdHVzKHN0cnVjdCBhbmFs b2dpeF9kcF9kZXZpY2UgKmRwKTsKPiAgdm9pZCBhbmFsb2dpeF9kcF9lbmFibGVfc3dfZnVuY3Rp b24oc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApOwo+ICBpbnQgYW5hbG9naXhfZHBfc3Rh cnRfYXV4X3RyYW5zYWN0aW9uKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKTsKPiAgaW50 IGFuYWxvZ2l4X2RwX3dyaXRlX2J5dGVfdG9fZHBjZChzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNl ICpkcCwKPiAtCQkJCXVuc2lnbmVkIGludCByZWdfYWRkciwKPiAtCQkJCXVuc2lnbmVkIGNoYXIg ZGF0YSk7Cj4gKwkJCQkgICB1bnNpZ25lZCBpbnQgcmVnX2FkZHIsCj4gKwkJCQkgICB1bnNpZ25l ZCBjaGFyIGRhdGEpOwo+ICBpbnQgYW5hbG9naXhfZHBfcmVhZF9ieXRlX2Zyb21fZHBjZChzdHJ1 Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwKPiAtCQkJCXVuc2lnbmVkIGludCByZWdfYWRkciwK PiAtCQkJCXVuc2lnbmVkIGNoYXIgKmRhdGEpOwo+ICsJCQkJICAgIHVuc2lnbmVkIGludCByZWdf YWRkciwKPiArCQkJCSAgICB1bnNpZ25lZCBjaGFyICpkYXRhKTsKPiAgaW50IGFuYWxvZ2l4X2Rw X3dyaXRlX2J5dGVzX3RvX2RwY2Qoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gLQkJ CQl1bnNpZ25lZCBpbnQgcmVnX2FkZHIsCj4gLQkJCQl1bnNpZ25lZCBpbnQgY291bnQsCj4gLQkJ CQl1bnNpZ25lZCBjaGFyIGRhdGFbXSk7Cj4gKwkJCQkgICAgdW5zaWduZWQgaW50IHJlZ19hZGRy LAo+ICsJCQkJICAgIHVuc2lnbmVkIGludCBjb3VudCwKPiArCQkJCSAgICB1bnNpZ25lZCBjaGFy IGRhdGFbXSk7Cj4gIGludCBhbmFsb2dpeF9kcF9yZWFkX2J5dGVzX2Zyb21fZHBjZChzdHJ1Y3Qg YW5hbG9naXhfZHBfZGV2aWNlICpkcCwKPiAtCQkJCXVuc2lnbmVkIGludCByZWdfYWRkciwKPiAt CQkJCXVuc2lnbmVkIGludCBjb3VudCwKPiAtCQkJCXVuc2lnbmVkIGNoYXIgZGF0YVtdKTsKPiAr CQkJCSAgICAgdW5zaWduZWQgaW50IHJlZ19hZGRyLAo+ICsJCQkJICAgICB1bnNpZ25lZCBpbnQg Y291bnQsCj4gKwkJCQkgICAgIHVuc2lnbmVkIGNoYXIgZGF0YVtdKTsKPiAgaW50IGFuYWxvZ2l4 X2RwX3NlbGVjdF9pMmNfZGV2aWNlKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+IC0J CQkJdW5zaWduZWQgaW50IGRldmljZV9hZGRyLAo+IC0JCQkJdW5zaWduZWQgaW50IHJlZ19hZGRy KTsKPiArCQkJCSAgdW5zaWduZWQgaW50IGRldmljZV9hZGRyLAo+ICsJCQkJICB1bnNpZ25lZCBp bnQgcmVnX2FkZHIpOwo+ICBpbnQgYW5hbG9naXhfZHBfcmVhZF9ieXRlX2Zyb21faTJjKHN0cnVj dCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+IC0JCQkJdW5zaWduZWQgaW50IGRldmljZV9hZGRy LAo+IC0JCQkJdW5zaWduZWQgaW50IHJlZ19hZGRyLAo+IC0JCQkJdW5zaWduZWQgaW50ICpkYXRh KTsKPiArCQkJCSAgIHVuc2lnbmVkIGludCBkZXZpY2VfYWRkciwKPiArCQkJCSAgIHVuc2lnbmVk IGludCByZWdfYWRkciwKPiArCQkJCSAgIHVuc2lnbmVkIGludCAqZGF0YSk7Cj4gIGludCBhbmFs b2dpeF9kcF9yZWFkX2J5dGVzX2Zyb21faTJjKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRw LAo+IC0JCQkJdW5zaWduZWQgaW50IGRldmljZV9hZGRyLAo+IC0JCQkJdW5zaWduZWQgaW50IHJl Z19hZGRyLAo+IC0JCQkJdW5zaWduZWQgaW50IGNvdW50LAo+IC0JCQkJdW5zaWduZWQgY2hhciBl ZGlkW10pOwo+ICsJCQkJICAgIHVuc2lnbmVkIGludCBkZXZpY2VfYWRkciwKPiArCQkJCSAgICB1 bnNpZ25lZCBpbnQgcmVnX2FkZHIsCj4gKwkJCQkgICAgdW5zaWduZWQgaW50IGNvdW50LAo+ICsJ CQkJICAgIHVuc2lnbmVkIGNoYXIgZWRpZFtdKTsKPiAgdm9pZCBhbmFsb2dpeF9kcF9zZXRfbGlu a19iYW5kd2lkdGgoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsIHUzMiBid3R5cGUpOwo+ ICB2b2lkIGFuYWxvZ2l4X2RwX2dldF9saW5rX2JhbmR3aWR0aChzdHJ1Y3QgYW5hbG9naXhfZHBf ZGV2aWNlICpkcCwgdTMyICpid3R5cGUpOwo+ICB2b2lkIGFuYWxvZ2l4X2RwX3NldF9sYW5lX2Nv dW50KHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLCB1MzIgY291bnQpOwo+ICB2b2lkIGFu YWxvZ2l4X2RwX2dldF9sYW5lX2NvdW50KHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLCB1 MzIgKmNvdW50KTsKPiAtdm9pZCBhbmFsb2dpeF9kcF9lbmFibGVfZW5oYW5jZWRfbW9kZShzdHJ1 Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwgYm9vbCBlbmFibGUpOwo+ICt2b2lkIGFuYWxvZ2l4 X2RwX2VuYWJsZV9lbmhhbmNlZF9tb2RlKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+ ICsJCQkJICAgICAgYm9vbCBlbmFibGUpOwo+ICB2b2lkIGFuYWxvZ2l4X2RwX3NldF90cmFpbmlu Z19wYXR0ZXJuKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+IC0JCQkJZW51bSBwYXR0 ZXJuX3NldCBwYXR0ZXJuKTsKPiAtdm9pZCBhbmFsb2dpeF9kcF9zZXRfbGFuZTBfcHJlX2VtcGhh c2lzKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLCB1MzIgbGV2ZWwpOwo+IC12b2lkIGFu YWxvZ2l4X2RwX3NldF9sYW5lMV9wcmVfZW1waGFzaXMoc3RydWN0IGFuYWxvZ2l4X2RwX2Rldmlj ZSAqZHAsIHUzMiBsZXZlbCk7Cj4gLXZvaWQgYW5hbG9naXhfZHBfc2V0X2xhbmUyX3ByZV9lbXBo YXNpcyhzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwgdTMyIGxldmVsKTsKPiAtdm9pZCBh bmFsb2dpeF9kcF9zZXRfbGFuZTNfcHJlX2VtcGhhc2lzKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZp Y2UgKmRwLCB1MzIgbGV2ZWwpOwo+ICsJCQkJICAgICAgZW51bSBwYXR0ZXJuX3NldCBwYXR0ZXJu KTsKPiArdm9pZCBhbmFsb2dpeF9kcF9zZXRfbGFuZTBfcHJlX2VtcGhhc2lzKHN0cnVjdCBhbmFs b2dpeF9kcF9kZXZpY2UgKmRwLAo+ICsJCQkJCXUzMiBsZXZlbCk7Cj4gK3ZvaWQgYW5hbG9naXhf ZHBfc2V0X2xhbmUxX3ByZV9lbXBoYXNpcyhzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwK PiArCQkJCQl1MzIgbGV2ZWwpOwo+ICt2b2lkIGFuYWxvZ2l4X2RwX3NldF9sYW5lMl9wcmVfZW1w aGFzaXMoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gKwkJCQkJdTMyIGxldmVsKTsK PiArdm9pZCBhbmFsb2dpeF9kcF9zZXRfbGFuZTNfcHJlX2VtcGhhc2lzKHN0cnVjdCBhbmFsb2dp eF9kcF9kZXZpY2UgKmRwLAo+ICsJCQkJCXUzMiBsZXZlbCk7Cj4gIHZvaWQgYW5hbG9naXhfZHBf c2V0X2xhbmUwX2xpbmtfdHJhaW5pbmcoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4g LQkJCQl1MzIgdHJhaW5pbmdfbGFuZSk7Cj4gKwkJCQkJIHUzMiB0cmFpbmluZ19sYW5lKTsKPiAg dm9pZCBhbmFsb2dpeF9kcF9zZXRfbGFuZTFfbGlua190cmFpbmluZyhzdHJ1Y3QgYW5hbG9naXhf ZHBfZGV2aWNlICpkcCwKPiAtCQkJCXUzMiB0cmFpbmluZ19sYW5lKTsKPiArCQkJCQkgdTMyIHRy YWluaW5nX2xhbmUpOwo+ICB2b2lkIGFuYWxvZ2l4X2RwX3NldF9sYW5lMl9saW5rX3RyYWluaW5n KHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+IC0JCQkJdTMyIHRyYWluaW5nX2xhbmUp Owo+ICsJCQkJCSB1MzIgdHJhaW5pbmdfbGFuZSk7Cj4gIHZvaWQgYW5hbG9naXhfZHBfc2V0X2xh bmUzX2xpbmtfdHJhaW5pbmcoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gLQkJCQl1 MzIgdHJhaW5pbmdfbGFuZSk7Cj4gKwkJCQkJIHUzMiB0cmFpbmluZ19sYW5lKTsKPiAgdTMyIGFu YWxvZ2l4X2RwX2dldF9sYW5lMF9saW5rX3RyYWluaW5nKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZp Y2UgKmRwKTsKPiAgdTMyIGFuYWxvZ2l4X2RwX2dldF9sYW5lMV9saW5rX3RyYWluaW5nKHN0cnVj dCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKTsKPiAgdTMyIGFuYWxvZ2l4X2RwX2dldF9sYW5lMl9s aW5rX3RyYWluaW5nKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKTsKPiBAQCAtMjQxLDEx ICsyNDYsMTIgQEAgdm9pZCBhbmFsb2dpeF9kcF9pbml0X3ZpZGVvKHN0cnVjdCBhbmFsb2dpeF9k cF9kZXZpY2UgKmRwKTsKPiAgdm9pZCBhbmFsb2dpeF9kcF9zZXRfdmlkZW9fY29sb3JfZm9ybWF0 KHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKTsKPiAgaW50IGFuYWxvZ2l4X2RwX2lzX3Ns YXZlX3ZpZGVvX3N0cmVhbV9jbG9ja19vbihzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCk7 Cj4gIHZvaWQgYW5hbG9naXhfZHBfc2V0X3ZpZGVvX2NyX21uKHN0cnVjdCBhbmFsb2dpeF9kcF9k ZXZpY2UgKmRwLAo+IC0JCQllbnVtIGNsb2NrX3JlY292ZXJ5X21fdmFsdWVfdHlwZSB0eXBlLAo+ IC0JCQl1MzIgbV92YWx1ZSwKPiAtCQkJdTMyIG5fdmFsdWUpOwo+ICsJCQkJIGVudW0gY2xvY2tf cmVjb3ZlcnlfbV92YWx1ZV90eXBlIHR5cGUsCj4gKwkJCQkgdTMyIG1fdmFsdWUsCj4gKwkJCQkg dTMyIG5fdmFsdWUpOwo+ICB2b2lkIGFuYWxvZ2l4X2RwX3NldF92aWRlb190aW1pbmdfbW9kZShz dHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwgdTMyIHR5cGUpOwo+IC12b2lkIGFuYWxvZ2l4 X2RwX2VuYWJsZV92aWRlb19tYXN0ZXIoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsIGJv b2wgZW5hYmxlKTsKPiArdm9pZCBhbmFsb2dpeF9kcF9lbmFibGVfdmlkZW9fbWFzdGVyKHN0cnVj dCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+ICsJCQkJICAgICBib29sIGVuYWJsZSk7Cj4gIHZv aWQgYW5hbG9naXhfZHBfc3RhcnRfdmlkZW8oc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAp Owo+ICBpbnQgYW5hbG9naXhfZHBfaXNfdmlkZW9fc3RyZWFtX29uKHN0cnVjdCBhbmFsb2dpeF9k cF9kZXZpY2UgKmRwKTsKPiAgdm9pZCBhbmFsb2dpeF9kcF9jb25maWdfdmlkZW9fc2xhdmVfbW9k ZShzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfcmVnLmMKPiBiL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfcmVnLmMKPiBpbmRleCA0NDJjYzY2Li5h Mzg4YzBhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5h bG9naXhfZHBfcmVnLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2Fu YWxvZ2l4X2RwX3JlZy5jCj4gQEAgLTU0LDEwICs1NCwxMCBAQCB2b2lkIGFuYWxvZ2l4X2RwX2xh bmVfc3dhcChzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwgYm9vbCBlbmFibGUpCj4gCj4g IAlpZiAoZW5hYmxlKQo+ICAJCXJlZyA9IExBTkUzX01BUF9MT0dJQ19MQU5FXzAgfCBMQU5FMl9N QVBfTE9HSUNfTEFORV8xIHwKPiAtCQkJTEFORTFfTUFQX0xPR0lDX0xBTkVfMiB8IExBTkUwX01B UF9MT0dJQ19MQU5FXzM7Cj4gKwkJICAgICAgTEFORTFfTUFQX0xPR0lDX0xBTkVfMiB8IExBTkUw X01BUF9MT0dJQ19MQU5FXzM7Cj4gIAllbHNlCj4gIAkJcmVnID0gTEFORTNfTUFQX0xPR0lDX0xB TkVfMyB8IExBTkUyX01BUF9MT0dJQ19MQU5FXzIgfAo+IC0JCQlMQU5FMV9NQVBfTE9HSUNfTEFO RV8xIHwgTEFORTBfTUFQX0xPR0lDX0xBTkVfMDsKPiArCQkgICAgICBMQU5FMV9NQVBfTE9HSUNf TEFORV8xIHwgTEFORTBfTUFQX0xPR0lDX0xBTkVfMDsKPiAKPiAgCXdyaXRlbChyZWcsIGRwLT5y ZWdfYmFzZSArIEFOQUxPR0lYX0RQX0xBTkVfTUFQKTsKPiAgfQo+IEBAIC0yMDIsOCArMjAyLDgg QEAgdm9pZCBhbmFsb2dpeF9kcF9zZXRfcGxsX3Bvd2VyX2Rvd24oc3RydWN0IGFuYWxvZ2l4X2Rw X2RldmljZSAqZHAsIGJvb2wgZW5hYmxlKQo+ICB9Cj4gCj4gIHZvaWQgYW5hbG9naXhfZHBfc2V0 X2FuYWxvZ19wb3dlcl9kb3duKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+IC0JCQkJ ZW51bSBhbmFsb2dfcG93ZXJfYmxvY2sgYmxvY2ssCj4gLQkJCQlib29sIGVuYWJsZSkKPiArCQkJ CSAgICAgICBlbnVtIGFuYWxvZ19wb3dlcl9ibG9jayBibG9jaywKPiArCQkJCSAgICAgICBib29s IGVuYWJsZSkKPiAgewo+ICAJdTMyIHJlZzsKPiAKPiBAQCAtMzk5LDggKzM5OSw4IEBAIHZvaWQg YW5hbG9naXhfZHBfaW5pdF9hdXgoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApCj4gIAlh bmFsb2dpeF9kcF9yZXNldF9hdXgoZHApOwo+IAo+ICAJLyogRGlzYWJsZSBBVVggdHJhbnNhY3Rp b24gSC9XIHJldHJ5ICovCj4gLQlyZWcgPSBBVVhfQklUX1BFUklPRF9FWFBFQ1RFRF9ERUxBWSgz KSB8IEFVWF9IV19SRVRSWV9DT1VOVF9TRUwoMCl8Cj4gLQkJQVVYX0hXX1JFVFJZX0lOVEVSVkFM XzYwMF9NSUNST1NFQ09ORFM7Cj4gKwlyZWcgPSBBVVhfQklUX1BFUklPRF9FWFBFQ1RFRF9ERUxB WSgzKSB8IEFVWF9IV19SRVRSWV9DT1VOVF9TRUwoMCkgfAo+ICsJICAgICAgQVVYX0hXX1JFVFJZ X0lOVEVSVkFMXzYwMF9NSUNST1NFQ09ORFM7Cj4gIAl3cml0ZWwocmVnLCBkcC0+cmVnX2Jhc2Ug KyBBTkFMT0dJWF9EUF9BVVhfSFdfUkVUUllfQ1RMKTsKPiAKPiAgCS8qIFJlY2VpdmUgQVVYIENo YW5uZWwgREVGRVIgY29tbWFuZHMgZXF1YWwgdG8gREVGRkVSX0NPVU5UKjY0ICovCj4gQEAgLTQ4 Myw4ICs0ODMsOCBAQCBpbnQgYW5hbG9naXhfZHBfc3RhcnRfYXV4X3RyYW5zYWN0aW9uKHN0cnVj dCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKQo+ICB9Cj4gCj4gIGludCBhbmFsb2dpeF9kcF93cml0 ZV9ieXRlX3RvX2RwY2Qoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gLQkJCQl1bnNp Z25lZCBpbnQgcmVnX2FkZHIsCj4gLQkJCQl1bnNpZ25lZCBjaGFyIGRhdGEpCj4gKwkJCQkgICB1 bnNpZ25lZCBpbnQgcmVnX2FkZHIsCj4gKwkJCQkgICB1bnNpZ25lZCBjaGFyIGRhdGEpCj4gIHsK PiAgCXUzMiByZWc7Cj4gIAlpbnQgaTsKPiBAQCAtNTE5LDE3ICs1MTksMTYgQEAgaW50IGFuYWxv Z2l4X2RwX3dyaXRlX2J5dGVfdG9fZHBjZChzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwK PiAgCQlyZXR2YWwgPSBhbmFsb2dpeF9kcF9zdGFydF9hdXhfdHJhbnNhY3Rpb24oZHApOwo+ICAJ CWlmIChyZXR2YWwgPT0gMCkKPiAgCQkJYnJlYWs7Cj4gLQkJZWxzZQo+IC0JCQlkZXZfZGJnKGRw LT5kZXYsICIlczogQXV4IFRyYW5zYWN0aW9uIGZhaWwhXG4iLAo+IC0JCQkJX19mdW5jX18pOwo+ ICsKPiArCQlkZXZfZGJnKGRwLT5kZXYsICIlczogQXV4IFRyYW5zYWN0aW9uIGZhaWwhXG4iLCBf X2Z1bmNfXyk7Cj4gIAl9Cj4gCj4gIAlyZXR1cm4gcmV0dmFsOwo+ICB9Cj4gCj4gIGludCBhbmFs b2dpeF9kcF9yZWFkX2J5dGVfZnJvbV9kcGNkKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRw LAo+IC0JCQkJdW5zaWduZWQgaW50IHJlZ19hZGRyLAo+IC0JCQkJdW5zaWduZWQgY2hhciAqZGF0 YSkKPiArCQkJCSAgICB1bnNpZ25lZCBpbnQgcmVnX2FkZHIsCj4gKwkJCQkgICAgdW5zaWduZWQg Y2hhciAqZGF0YSkKPiAgewo+ICAJdTMyIHJlZzsKPiAgCWludCBpOwo+IEBAIC01NjAsOSArNTU5 LDggQEAgaW50IGFuYWxvZ2l4X2RwX3JlYWRfYnl0ZV9mcm9tX2RwY2Qoc3RydWN0IGFuYWxvZ2l4 X2RwX2RldmljZSAqZHAsCj4gIAkJcmV0dmFsID0gYW5hbG9naXhfZHBfc3RhcnRfYXV4X3RyYW5z YWN0aW9uKGRwKTsKPiAgCQlpZiAocmV0dmFsID09IDApCj4gIAkJCWJyZWFrOwo+IC0JCWVsc2UK PiAtCQkJZGV2X2RiZyhkcC0+ZGV2LCAiJXM6IEF1eCBUcmFuc2FjdGlvbiBmYWlsIVxuIiwKPiAt CQkJCV9fZnVuY19fKTsKPiArCj4gKwkJZGV2X2RiZyhkcC0+ZGV2LCAiJXM6IEF1eCBUcmFuc2Fj dGlvbiBmYWlsIVxuIiwgX19mdW5jX18pOwo+ICAJfQo+IAo+ICAJLyogUmVhZCBkYXRhIGJ1ZmZl ciAqLwo+IEBAIC01NzMsOSArNTcxLDkgQEAgaW50IGFuYWxvZ2l4X2RwX3JlYWRfYnl0ZV9mcm9t X2RwY2Qoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gIH0KPiAKPiAgaW50IGFuYWxv Z2l4X2RwX3dyaXRlX2J5dGVzX3RvX2RwY2Qoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAs Cj4gLQkJCQl1bnNpZ25lZCBpbnQgcmVnX2FkZHIsCj4gLQkJCQl1bnNpZ25lZCBpbnQgY291bnQs Cj4gLQkJCQl1bnNpZ25lZCBjaGFyIGRhdGFbXSkKPiArCQkJCSAgICB1bnNpZ25lZCBpbnQgcmVn X2FkZHIsCj4gKwkJCQkgICAgdW5zaWduZWQgaW50IGNvdW50LAo+ICsJCQkJICAgIHVuc2lnbmVk IGNoYXIgZGF0YVtdKQo+ICB7Cj4gIAl1MzIgcmVnOwo+ICAJdW5zaWduZWQgaW50IHN0YXJ0X29m ZnNldDsKPiBAQCAtNjA4LDggKzYwNiw5IEBAIGludCBhbmFsb2dpeF9kcF93cml0ZV9ieXRlc190 b19kcGNkKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+ICAJCQlmb3IgKGN1cl9kYXRh X2lkeCA9IDA7IGN1cl9kYXRhX2lkeCA8IGN1cl9kYXRhX2NvdW50Owo+ICAJCQkgICAgIGN1cl9k YXRhX2lkeCsrKSB7Cj4gIAkJCQlyZWcgPSBkYXRhW3N0YXJ0X29mZnNldCArIGN1cl9kYXRhX2lk eF07Cj4gLQkJCQl3cml0ZWwocmVnLCBkcC0+cmVnX2Jhc2UgKyBBTkFMT0dJWF9EUF9CVUZfREFU QV8wCj4gLQkJCQkJCQkgICsgNCAqIGN1cl9kYXRhX2lkeCk7Cj4gKwkJCQl3cml0ZWwocmVnLCBk cC0+cmVnX2Jhc2UgKwo+ICsJCQkJICAgICAgIEFOQUxPR0lYX0RQX0JVRl9EQVRBXzAgKwo+ICsJ CQkJICAgICAgIDQgKiBjdXJfZGF0YV9pZHgpOwo+ICAJCQl9Cj4gCj4gIAkJCS8qCj4gQEAgLTYy NSw5ICs2MjQsOSBAQCBpbnQgYW5hbG9naXhfZHBfd3JpdGVfYnl0ZXNfdG9fZHBjZChzdHJ1Y3Qg YW5hbG9naXhfZHBfZGV2aWNlICpkcCwKPiAgCQkJcmV0dmFsID0gYW5hbG9naXhfZHBfc3RhcnRf YXV4X3RyYW5zYWN0aW9uKGRwKTsKPiAgCQkJaWYgKHJldHZhbCA9PSAwKQo+ICAJCQkJYnJlYWs7 Cj4gLQkJCWVsc2UKPiAtCQkJCWRldl9kYmcoZHAtPmRldiwgIiVzOiBBdXggVHJhbnNhY3Rpb24g ZmFpbCFcbiIsCj4gLQkJCQkJX19mdW5jX18pOwo+ICsKPiArCQkJZGV2X2RiZyhkcC0+ZGV2LCAi JXM6IEF1eCBUcmFuc2FjdGlvbiBmYWlsIVxuIiwKPiArCQkJCV9fZnVuY19fKTsKPiAgCQl9Cj4g Cj4gIAkJc3RhcnRfb2Zmc2V0ICs9IGN1cl9kYXRhX2NvdW50Owo+IEBAIC02MzcsOSArNjM2LDkg QEAgaW50IGFuYWxvZ2l4X2RwX3dyaXRlX2J5dGVzX3RvX2RwY2Qoc3RydWN0IGFuYWxvZ2l4X2Rw X2RldmljZSAqZHAsCj4gIH0KPiAKPiAgaW50IGFuYWxvZ2l4X2RwX3JlYWRfYnl0ZXNfZnJvbV9k cGNkKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+IC0JCQkJdW5zaWduZWQgaW50IHJl Z19hZGRyLAo+IC0JCQkJdW5zaWduZWQgaW50IGNvdW50LAo+IC0JCQkJdW5zaWduZWQgY2hhciBk YXRhW10pCj4gKwkJCQkgICAgIHVuc2lnbmVkIGludCByZWdfYWRkciwKPiArCQkJCSAgICAgdW5z aWduZWQgaW50IGNvdW50LAo+ICsJCQkJICAgICB1bnNpZ25lZCBjaGFyIGRhdGFbXSkKPiAgewo+ ICAJdTMyIHJlZzsKPiAgCXVuc2lnbmVkIGludCBzdGFydF9vZmZzZXQ7Cj4gQEAgLTY4Myw5ICs2 ODIsOSBAQCBpbnQgYW5hbG9naXhfZHBfcmVhZF9ieXRlc19mcm9tX2RwY2Qoc3RydWN0IGFuYWxv Z2l4X2RwX2RldmljZSAqZHAsCj4gIAkJCXJldHZhbCA9IGFuYWxvZ2l4X2RwX3N0YXJ0X2F1eF90 cmFuc2FjdGlvbihkcCk7Cj4gIAkJCWlmIChyZXR2YWwgPT0gMCkKPiAgCQkJCWJyZWFrOwo+IC0J CQllbHNlCj4gLQkJCQlkZXZfZGJnKGRwLT5kZXYsICIlczogQXV4IFRyYW5zYWN0aW9uIGZhaWwh XG4iLAo+IC0JCQkJCV9fZnVuY19fKTsKPiArCj4gKwkJCWRldl9kYmcoZHAtPmRldiwgIiVzOiBB dXggVHJhbnNhY3Rpb24gZmFpbCFcbiIsCj4gKwkJCQlfX2Z1bmNfXyk7Cj4gIAkJfQo+IAo+ICAJ CWZvciAoY3VyX2RhdGFfaWR4ID0gMDsgY3VyX2RhdGFfaWR4IDwgY3VyX2RhdGFfY291bnQ7Cj4g QEAgLTcwMyw4ICs3MDIsOCBAQCBpbnQgYW5hbG9naXhfZHBfcmVhZF9ieXRlc19mcm9tX2RwY2Qo c3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gIH0KPiAKPiAgaW50IGFuYWxvZ2l4X2Rw X3NlbGVjdF9pMmNfZGV2aWNlKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+IC0JCQkJ dW5zaWduZWQgaW50IGRldmljZV9hZGRyLAo+IC0JCQkJdW5zaWduZWQgaW50IHJlZ19hZGRyKQo+ ICsJCQkJICB1bnNpZ25lZCBpbnQgZGV2aWNlX2FkZHIsCj4gKwkJCQkgIHVuc2lnbmVkIGludCBy ZWdfYWRkcikKPiAgewo+ICAJdTMyIHJlZzsKPiAgCWludCByZXR2YWw7Cj4gQEAgLTczNiw5ICs3 MzUsOSBAQCBpbnQgYW5hbG9naXhfZHBfc2VsZWN0X2kyY19kZXZpY2Uoc3RydWN0IGFuYWxvZ2l4 X2RwX2RldmljZSAqZHAsCj4gIH0KPiAKPiAgaW50IGFuYWxvZ2l4X2RwX3JlYWRfYnl0ZV9mcm9t X2kyYyhzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwKPiAtCQkJCXVuc2lnbmVkIGludCBk ZXZpY2VfYWRkciwKPiAtCQkJCXVuc2lnbmVkIGludCByZWdfYWRkciwKPiAtCQkJCXVuc2lnbmVk IGludCAqZGF0YSkKPiArCQkJCSAgIHVuc2lnbmVkIGludCBkZXZpY2VfYWRkciwKPiArCQkJCSAg IHVuc2lnbmVkIGludCByZWdfYWRkciwKPiArCQkJCSAgIHVuc2lnbmVkIGludCAqZGF0YSkKPiAg ewo+ICAJdTMyIHJlZzsKPiAgCWludCBpOwo+IEBAIC03NTAsNyArNzQ5LDggQEAgaW50IGFuYWxv Z2l4X2RwX3JlYWRfYnl0ZV9mcm9tX2kyYyhzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwK PiAgCQl3cml0ZWwocmVnLCBkcC0+cmVnX2Jhc2UgKyBBTkFMT0dJWF9EUF9CVUZGRVJfREFUQV9D VEwpOwo+IAo+ICAJCS8qIFNlbGVjdCBFRElEIGRldmljZSAqLwo+IC0JCXJldHZhbCA9IGFuYWxv Z2l4X2RwX3NlbGVjdF9pMmNfZGV2aWNlKGRwLCBkZXZpY2VfYWRkciwgcmVnX2FkZHIpOwo+ICsJ CXJldHZhbCA9IGFuYWxvZ2l4X2RwX3NlbGVjdF9pMmNfZGV2aWNlKGRwLCBkZXZpY2VfYWRkciwK PiArCQkJCQkJICAgICAgIHJlZ19hZGRyKTsKPiAgCQlpZiAocmV0dmFsICE9IDApCj4gIAkJCWNv bnRpbnVlOwo+IAo+IEBAIC03NjcsOSArNzY3LDggQEAgaW50IGFuYWxvZ2l4X2RwX3JlYWRfYnl0 ZV9mcm9tX2kyYyhzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwKPiAgCQlyZXR2YWwgPSBh bmFsb2dpeF9kcF9zdGFydF9hdXhfdHJhbnNhY3Rpb24oZHApOwo+ICAJCWlmIChyZXR2YWwgPT0g MCkKPiAgCQkJYnJlYWs7Cj4gLQkJZWxzZQo+IC0JCQlkZXZfZGJnKGRwLT5kZXYsICIlczogQXV4 IFRyYW5zYWN0aW9uIGZhaWwhXG4iLAo+IC0JCQkJX19mdW5jX18pOwo+ICsKPiArCQlkZXZfZGJn KGRwLT5kZXYsICIlczogQXV4IFRyYW5zYWN0aW9uIGZhaWwhXG4iLCBfX2Z1bmNfXyk7Cj4gIAl9 Cj4gCj4gIAkvKiBSZWFkIGRhdGEgKi8KPiBAQCAtNzgwLDEwICs3NzksMTAgQEAgaW50IGFuYWxv Z2l4X2RwX3JlYWRfYnl0ZV9mcm9tX2kyYyhzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwK PiAgfQo+IAo+ICBpbnQgYW5hbG9naXhfZHBfcmVhZF9ieXRlc19mcm9tX2kyYyhzdHJ1Y3QgYW5h bG9naXhfZHBfZGV2aWNlICpkcCwKPiAtCQkJCXVuc2lnbmVkIGludCBkZXZpY2VfYWRkciwKPiAt CQkJCXVuc2lnbmVkIGludCByZWdfYWRkciwKPiAtCQkJCXVuc2lnbmVkIGludCBjb3VudCwKPiAt CQkJCXVuc2lnbmVkIGNoYXIgZWRpZFtdKQo+ICsJCQkJICAgIHVuc2lnbmVkIGludCBkZXZpY2Vf YWRkciwKPiArCQkJCSAgICB1bnNpZ25lZCBpbnQgcmVnX2FkZHIsCj4gKwkJCQkgICAgdW5zaWdu ZWQgaW50IGNvdW50LAo+ICsJCQkJICAgIHVuc2lnbmVkIGNoYXIgZWRpZFtdKQo+ICB7Cj4gIAl1 MzIgcmVnOwo+ICAJdW5zaWduZWQgaW50IGksIGo7Cj4gQEAgLTgyOCwxNSArODI3LDE0IEBAIGlu dCBhbmFsb2dpeF9kcF9yZWFkX2J5dGVzX2Zyb21faTJjKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZp Y2UgKmRwLAo+ICAJCQkJcmV0dmFsID0gYW5hbG9naXhfZHBfc3RhcnRfYXV4X3RyYW5zYWN0aW9u KGRwKTsKPiAgCQkJCWlmIChyZXR2YWwgPT0gMCkKPiAgCQkJCQlicmVhazsKPiAtCQkJCWVsc2UK PiAtCQkJCQlkZXZfZGJnKGRwLT5kZXYsCj4gLQkJCQkJCSIlczogQXV4IFRyYW5zYWN0aW9uIGZh aWwhXG4iLAo+IC0JCQkJCQlfX2Z1bmNfXyk7Cj4gKwo+ICsJCQkJZGV2X2RiZyhkcC0+ZGV2LCAi JXM6IEF1eCBUcmFuc2FjdGlvbiBmYWlsIVxuIiwKPiArCQkJCQlfX2Z1bmNfXyk7Cj4gIAkJCX0K PiAgCQkJLyogQ2hlY2sgaWYgUnggc2VuZHMgZGVmZXIgKi8KPiAgCQkJcmVnID0gcmVhZGwoZHAt PnJlZ19iYXNlICsgQU5BTE9HSVhfRFBfQVVYX1JYX0NPTU0pOwo+ICAJCQlpZiAocmVnID09IEFV WF9SWF9DT01NX0FVWF9ERUZFUiB8fAo+IC0JCQkJcmVnID09IEFVWF9SWF9DT01NX0kyQ19ERUZF Uikgewo+ICsJCQkgICAgcmVnID09IEFVWF9SWF9DT01NX0kyQ19ERUZFUikgewo+ICAJCQkJZGV2 X2VycihkcC0+ZGV2LCAiRGVmZXI6ICVkXG5cbiIsIHJlZyk7Cj4gIAkJCQlkZWZlciA9IDE7Cj4g IAkJCX0KPiBAQCAtODg1LDcgKzg4Myw4IEBAIHZvaWQgYW5hbG9naXhfZHBfZ2V0X2xhbmVfY291 bnQoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsIHUzMiAqY291bnQpCj4gIAkqY291bnQg PSByZWc7Cj4gIH0KPiAKPiAtdm9pZCBhbmFsb2dpeF9kcF9lbmFibGVfZW5oYW5jZWRfbW9kZShz dHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwgYm9vbCBlbmFibGUpCj4gK3ZvaWQgYW5hbG9n aXhfZHBfZW5hYmxlX2VuaGFuY2VkX21vZGUoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAs Cj4gKwkJCQkgICAgICBib29sIGVuYWJsZSkKPiAgewo+ICAJdTMyIHJlZzsKPiAKPiBAQCAtOTAx LDcgKzkwMCw3IEBAIHZvaWQgYW5hbG9naXhfZHBfZW5hYmxlX2VuaGFuY2VkX21vZGUoc3RydWN0 IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsIGJvb2wgZW5hYmxlCj4gIH0KPiAKPiAgdm9pZCBhbmFs b2dpeF9kcF9zZXRfdHJhaW5pbmdfcGF0dGVybihzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpk cCwKPiAtCQkJCWVudW0gcGF0dGVybl9zZXQgcGF0dGVybikKPiArCQkJCSAgICAgIGVudW0gcGF0 dGVybl9zZXQgcGF0dGVybikKPiAgewo+ICAJdTMyIHJlZzsKPiAKPiBAQCAtOTMzLDcgKzkzMiw4 IEBAIHZvaWQgYW5hbG9naXhfZHBfc2V0X3RyYWluaW5nX3BhdHRlcm4oc3RydWN0IGFuYWxvZ2l4 X2RwX2RldmljZSAqZHAsCj4gIAl9Cj4gIH0KPiAKPiAtdm9pZCBhbmFsb2dpeF9kcF9zZXRfbGFu ZTBfcHJlX2VtcGhhc2lzKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLCB1MzIgbGV2ZWwp Cj4gK3ZvaWQgYW5hbG9naXhfZHBfc2V0X2xhbmUwX3ByZV9lbXBoYXNpcyhzdHJ1Y3QgYW5hbG9n aXhfZHBfZGV2aWNlICpkcCwKPiArCQkJCQl1MzIgbGV2ZWwpCj4gIHsKPiAgCXUzMiByZWc7Cj4g Cj4gQEAgLTk0Myw3ICs5NDMsOCBAQCB2b2lkIGFuYWxvZ2l4X2RwX3NldF9sYW5lMF9wcmVfZW1w aGFzaXMoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsIHUzMiBsZXZlbAo+ICAJd3JpdGVs KHJlZywgZHAtPnJlZ19iYXNlICsgQU5BTE9HSVhfRFBfTE4wX0xJTktfVFJBSU5JTkdfQ1RMKTsK PiAgfQo+IAo+IC12b2lkIGFuYWxvZ2l4X2RwX3NldF9sYW5lMV9wcmVfZW1waGFzaXMoc3RydWN0 IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsIHUzMiBsZXZlbCkKPiArdm9pZCBhbmFsb2dpeF9kcF9z ZXRfbGFuZTFfcHJlX2VtcGhhc2lzKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+ICsJ CQkJCXUzMiBsZXZlbCkKPiAgewo+ICAJdTMyIHJlZzsKPiAKPiBAQCAtOTUzLDcgKzk1NCw4IEBA IHZvaWQgYW5hbG9naXhfZHBfc2V0X2xhbmUxX3ByZV9lbXBoYXNpcyhzdHJ1Y3QgYW5hbG9naXhf ZHBfZGV2aWNlICpkcCwgdTMyIGxldmVsCj4gIAl3cml0ZWwocmVnLCBkcC0+cmVnX2Jhc2UgKyBB TkFMT0dJWF9EUF9MTjFfTElOS19UUkFJTklOR19DVEwpOwo+ICB9Cj4gCj4gLXZvaWQgYW5hbG9n aXhfZHBfc2V0X2xhbmUyX3ByZV9lbXBoYXNpcyhzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpk cCwgdTMyIGxldmVsKQo+ICt2b2lkIGFuYWxvZ2l4X2RwX3NldF9sYW5lMl9wcmVfZW1waGFzaXMo c3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gKwkJCQkJdTMyIGxldmVsKQo+ICB7Cj4g IAl1MzIgcmVnOwo+IAo+IEBAIC05NjMsNyArOTY1LDggQEAgdm9pZCBhbmFsb2dpeF9kcF9zZXRf bGFuZTJfcHJlX2VtcGhhc2lzKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLCB1MzIgbGV2 ZWwKPiAgCXdyaXRlbChyZWcsIGRwLT5yZWdfYmFzZSArIEFOQUxPR0lYX0RQX0xOMl9MSU5LX1RS QUlOSU5HX0NUTCk7Cj4gIH0KPiAKPiAtdm9pZCBhbmFsb2dpeF9kcF9zZXRfbGFuZTNfcHJlX2Vt cGhhc2lzKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLCB1MzIgbGV2ZWwpCj4gK3ZvaWQg YW5hbG9naXhfZHBfc2V0X2xhbmUzX3ByZV9lbXBoYXNpcyhzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2 aWNlICpkcCwKPiArCQkJCQl1MzIgbGV2ZWwpCj4gIHsKPiAgCXUzMiByZWc7Cj4gCj4gQEAgLTk3 NCw3ICs5NzcsNyBAQCB2b2lkIGFuYWxvZ2l4X2RwX3NldF9sYW5lM19wcmVfZW1waGFzaXMoc3Ry dWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsIHUzMiBsZXZlbAo+ICB9Cj4gCj4gIHZvaWQgYW5h bG9naXhfZHBfc2V0X2xhbmUwX2xpbmtfdHJhaW5pbmcoc3RydWN0IGFuYWxvZ2l4X2RwX2Rldmlj ZSAqZHAsCj4gLQkJCQkJdTMyIHRyYWluaW5nX2xhbmUpCj4gKwkJCQkJIHUzMiB0cmFpbmluZ19s YW5lKQo+ICB7Cj4gIAl1MzIgcmVnOwo+IAo+IEBAIC05ODMsNyArOTg2LDcgQEAgdm9pZCBhbmFs b2dpeF9kcF9zZXRfbGFuZTBfbGlua190cmFpbmluZyhzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNl ICpkcCwKPiAgfQo+IAo+ICB2b2lkIGFuYWxvZ2l4X2RwX3NldF9sYW5lMV9saW5rX3RyYWluaW5n KHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+IC0JCQkJCXUzMiB0cmFpbmluZ19sYW5l KQo+ICsJCQkJCSB1MzIgdHJhaW5pbmdfbGFuZSkKPiAgewo+ICAJdTMyIHJlZzsKPiAKPiBAQCAt MTAwMSw3ICsxMDA0LDcgQEAgdm9pZCBhbmFsb2dpeF9kcF9zZXRfbGFuZTJfbGlua190cmFpbmlu ZyhzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwKPiAgfQo+IAo+ICB2b2lkIGFuYWxvZ2l4 X2RwX3NldF9sYW5lM19saW5rX3RyYWluaW5nKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRw LAo+IC0JCQkJCXUzMiB0cmFpbmluZ19sYW5lKQo+ICsJCQkJCSB1MzIgdHJhaW5pbmdfbGFuZSkK PiAgewo+ICAJdTMyIHJlZzsKPiAKPiBAQCAtMTEyNSw5ICsxMTI4LDggQEAgaW50IGFuYWxvZ2l4 X2RwX2lzX3NsYXZlX3ZpZGVvX3N0cmVhbV9jbG9ja19vbihzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2 aWNlICpkcCkKPiAgfQo+IAo+ICB2b2lkIGFuYWxvZ2l4X2RwX3NldF92aWRlb19jcl9tbihzdHJ1 Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCwKPiAtCQllbnVtIGNsb2NrX3JlY292ZXJ5X21fdmFs dWVfdHlwZSB0eXBlLAo+IC0JCXUzMiBtX3ZhbHVlLAo+IC0JCXUzMiBuX3ZhbHVlKQo+ICsJCQkJ IGVudW0gY2xvY2tfcmVjb3ZlcnlfbV92YWx1ZV90eXBlIHR5cGUsCj4gKwkJCQkgdTMyIG1fdmFs dWUsIHUzMiBuX3ZhbHVlKQo+ICB7Cj4gIAl1MzIgcmVnOwo+IAo+IEBAIC0xMjIxLDcgKzEyMjMs NyBAQCB2b2lkIGFuYWxvZ2l4X2RwX2NvbmZpZ192aWRlb19zbGF2ZV9tb2RlKHN0cnVjdCBhbmFs b2dpeF9kcF9kZXZpY2UgKmRwKQo+ICAJdTMyIHJlZzsKPiAKPiAgCXJlZyA9IHJlYWRsKGRwLT5y ZWdfYmFzZSArIEFOQUxPR0lYX0RQX0ZVTkNfRU5fMSk7Cj4gLQlyZWcgJj0gfihNQVNURVJfVklE X0ZVTkNfRU5fTnxTTEFWRV9WSURfRlVOQ19FTl9OKTsKPiArCXJlZyAmPSB+KE1BU1RFUl9WSURf RlVOQ19FTl9OIHwgU0xBVkVfVklEX0ZVTkNfRU5fTik7Cj4gIAlyZWcgfD0gTUFTVEVSX1ZJRF9G VU5DX0VOX047Cj4gIAl3cml0ZWwocmVnLCBkcC0+cmVnX2Jhc2UgKyBBTkFMT0dJWF9EUF9GVU5D X0VOXzEpOwo+IAo+IC0tCj4gMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: jingoohan1@gmail.com (Jingoo Han) Date: Tue, 22 Dec 2015 21:05:57 +0900 Subject: [PATCH v11 02/19] drm: bridge: analogix/dp: fix some obvious code style In-Reply-To: <1450236377-1644-1-git-send-email-ykk@rock-chips.com> References: <1450236018-1118-1-git-send-email-ykk@rock-chips.com> <1450236377-1644-1-git-send-email-ykk@rock-chips.com> Message-ID: <000601d13cb1$2466a640$6d33f2c0$@com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wednesday, December 16, 2015 12:26 PM, Yakir Yang wrote: > > Fix some obvious alignment problems, like alignment and line > over 80 characters problems, make this easy to be maintained > later. > > Signed-off-by: Yakir Yang > Reviewed-by: Krzysztof Kozlowski > Tested-by: Javier Martinez Canillas Acked-by: Jingoo Han Best regards, Jingoo Han > --- > Changes in v11: None > Changes in v10: None > Changes in v9: None > Changes in v8: None > Changes in v7: None > Changes in v6: None > Changes in v5: > - Resequence this patch after analogix_dp driver have been split > from exynos_dp code, and rephrase reasonable commit message, and > remove some controversial style (Krzysztof) > - analogix_dp_write_byte_to_dpcd( > - dp, DP_TEST_RESPONSE, > + analogix_dp_write_byte_to_dpcd(dp, > + DP_TEST_RESPONSE, > DP_TEST_EDID_CHECKSUM_WRITE); > > Changes in v4: None > Changes in v3: None > Changes in v2: > - Improved commit message more readable, and avoid using some > uncommon style like bellow: (Joe Preches) > - retval = exynos_dp_read_bytes_from_i2c(... > ...); > + retval = > + exynos_dp_read_bytes_from_i2c(......); > > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 129 ++++++++++----------- > drivers/gpu/drm/bridge/analogix/analogix_dp_core.h | 72 ++++++------ > drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c | 124 ++++++++++---------- > 3 files changed, 163 insertions(+), 162 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > index fb8bda8..4a05c2b 100644 > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > @@ -61,7 +61,7 @@ static int analogix_dp_detect_hpd(struct analogix_dp_device *dp) > > while (analogix_dp_get_plug_in_status(dp) != 0) { > timeout_loop++; > - if (DP_TIMEOUT_LOOP_COUNT < timeout_loop) { > + if (timeout_loop > DP_TIMEOUT_LOOP_COUNT) { > dev_err(dp->dev, "failed to get hpd plug status\n"); > return -ETIMEDOUT; > } > @@ -98,8 +98,8 @@ static int analogix_dp_read_edid(struct analogix_dp_device *dp) > > /* Read Extension Flag, Number of 128-byte EDID extension blocks */ > retval = analogix_dp_read_byte_from_i2c(dp, I2C_EDID_DEVICE_ADDR, > - EDID_EXTENSION_FLAG, > - &extend_block); > + EDID_EXTENSION_FLAG, > + &extend_block); > if (retval) > return retval; > > @@ -107,7 +107,8 @@ static int analogix_dp_read_edid(struct analogix_dp_device *dp) > dev_dbg(dp->dev, "EDID data includes a single extension!\n"); > > /* Read EDID data */ > - retval = analogix_dp_read_bytes_from_i2c(dp, I2C_EDID_DEVICE_ADDR, > + retval = analogix_dp_read_bytes_from_i2c(dp, > + I2C_EDID_DEVICE_ADDR, > EDID_HEADER_PATTERN, > EDID_BLOCK_LENGTH, > &edid[EDID_HEADER_PATTERN]); > @@ -138,7 +139,7 @@ static int analogix_dp_read_edid(struct analogix_dp_device *dp) > } > > analogix_dp_read_byte_from_dpcd(dp, DP_TEST_REQUEST, > - &test_vector); > + &test_vector); > if (test_vector & DP_TEST_LINK_EDID_READ) { > analogix_dp_write_byte_to_dpcd(dp, > DP_TEST_EDID_CHECKSUM, > @@ -152,10 +153,8 @@ static int analogix_dp_read_edid(struct analogix_dp_device *dp) > > /* Read EDID data */ > retval = analogix_dp_read_bytes_from_i2c(dp, > - I2C_EDID_DEVICE_ADDR, > - EDID_HEADER_PATTERN, > - EDID_BLOCK_LENGTH, > - &edid[EDID_HEADER_PATTERN]); > + I2C_EDID_DEVICE_ADDR, EDID_HEADER_PATTERN, > + EDID_BLOCK_LENGTH, &edid[EDID_HEADER_PATTERN]); > if (retval != 0) { > dev_err(dp->dev, "EDID Read failed!\n"); > return -EIO; > @@ -166,16 +165,13 @@ static int analogix_dp_read_edid(struct analogix_dp_device *dp) > return -EIO; > } > > - analogix_dp_read_byte_from_dpcd(dp, > - DP_TEST_REQUEST, > - &test_vector); > + analogix_dp_read_byte_from_dpcd(dp, DP_TEST_REQUEST, > + &test_vector); > if (test_vector & DP_TEST_LINK_EDID_READ) { > analogix_dp_write_byte_to_dpcd(dp, > - DP_TEST_EDID_CHECKSUM, > - edid[EDID_CHECKSUM]); > + DP_TEST_EDID_CHECKSUM, edid[EDID_CHECKSUM]); > analogix_dp_write_byte_to_dpcd(dp, > - DP_TEST_RESPONSE, > - DP_TEST_EDID_CHECKSUM_WRITE); > + DP_TEST_RESPONSE, DP_TEST_EDID_CHECKSUM_WRITE); > } > } > > @@ -190,8 +186,7 @@ static int analogix_dp_handle_edid(struct analogix_dp_device *dp) > int retval; > > /* Read DPCD DP_DPCD_REV~RECEIVE_PORT1_CAP_1 */ > - retval = analogix_dp_read_bytes_from_dpcd(dp, DP_DPCD_REV, > - 12, buf); > + retval = analogix_dp_read_bytes_from_dpcd(dp, DP_DPCD_REV, 12, buf); > if (retval) > return retval; > > @@ -205,8 +200,9 @@ static int analogix_dp_handle_edid(struct analogix_dp_device *dp) > return retval; > } > > -static void analogix_dp_enable_rx_to_enhanced_mode(struct analogix_dp_device *dp, > - bool enable) > +static void > +analogix_dp_enable_rx_to_enhanced_mode(struct analogix_dp_device *dp, > + bool enable) > { > u8 data; > > @@ -214,11 +210,11 @@ static void analogix_dp_enable_rx_to_enhanced_mode(struct analogix_dp_device *dp > > if (enable) > analogix_dp_write_byte_to_dpcd(dp, DP_LANE_COUNT_SET, > - DP_LANE_COUNT_ENHANCED_FRAME_EN | > - DPCD_LANE_COUNT_SET(data)); > + DP_LANE_COUNT_ENHANCED_FRAME_EN | > + DPCD_LANE_COUNT_SET(data)); > else > analogix_dp_write_byte_to_dpcd(dp, DP_LANE_COUNT_SET, > - DPCD_LANE_COUNT_SET(data)); > + DPCD_LANE_COUNT_SET(data)); > } > > static int analogix_dp_is_enhanced_mode_available(struct analogix_dp_device *dp) > @@ -245,13 +241,13 @@ static void analogix_dp_training_pattern_dis(struct analogix_dp_device *dp) > { > analogix_dp_set_training_pattern(dp, DP_NONE); > > - analogix_dp_write_byte_to_dpcd(dp, > - DP_TRAINING_PATTERN_SET, > - DP_TRAINING_PATTERN_DISABLE); > + analogix_dp_write_byte_to_dpcd(dp, DP_TRAINING_PATTERN_SET, > + DP_TRAINING_PATTERN_DISABLE); > } > > -static void analogix_dp_set_lane_lane_pre_emphasis(struct analogix_dp_device *dp, > - int pre_emphasis, int lane) > +static void > +analogix_dp_set_lane_lane_pre_emphasis(struct analogix_dp_device *dp, > + int pre_emphasis, int lane) > { > switch (lane) { > case 0: > @@ -291,8 +287,7 @@ static int analogix_dp_link_start(struct analogix_dp_device *dp) > /* Setup RX configuration */ > buf[0] = dp->link_train.link_rate; > buf[1] = dp->link_train.lane_count; > - retval = analogix_dp_write_bytes_to_dpcd(dp, DP_LINK_BW_SET, > - 2, buf); > + retval = analogix_dp_write_bytes_to_dpcd(dp, DP_LINK_BW_SET, 2, buf); > if (retval) > return retval; > > @@ -328,7 +323,7 @@ static int analogix_dp_link_start(struct analogix_dp_device *dp) > DP_TRAIN_VOLTAGE_SWING_LEVEL_0; > > retval = analogix_dp_write_bytes_to_dpcd(dp, DP_TRAINING_LANE0_SET, > - lane_count, buf); > + lane_count, buf); > > return retval; > } > @@ -336,7 +331,7 @@ static int analogix_dp_link_start(struct analogix_dp_device *dp) > static unsigned char analogix_dp_get_lane_status(u8 link_status[2], int lane) > { > int shift = (lane & 1) * 4; > - u8 link_value = link_status[lane>>1]; > + u8 link_value = link_status[lane >> 1]; > > return (link_value >> shift) & 0xf; > } > @@ -355,7 +350,7 @@ static int analogix_dp_clock_recovery_ok(u8 link_status[2], int lane_count) > } > > static int analogix_dp_channel_eq_ok(u8 link_status[2], u8 link_align, > - int lane_count) > + int lane_count) > { > int lane; > u8 lane_status; > @@ -373,11 +368,11 @@ static int analogix_dp_channel_eq_ok(u8 link_status[2], u8 link_align, > return 0; > } > > -static unsigned char analogix_dp_get_adjust_request_voltage(u8 adjust_request[2], > - int lane) > +static unsigned char > +analogix_dp_get_adjust_request_voltage(u8 adjust_request[2], int lane) > { > int shift = (lane & 1) * 4; > - u8 link_value = adjust_request[lane>>1]; > + u8 link_value = adjust_request[lane >> 1]; > > return (link_value >> shift) & 0x3; > } > @@ -387,13 +382,13 @@ static unsigned char analogix_dp_get_adjust_request_pre_emphasis( > int lane) > { > int shift = (lane & 1) * 4; > - u8 link_value = adjust_request[lane>>1]; > + u8 link_value = adjust_request[lane >> 1]; > > return ((link_value >> shift) & 0xc) >> 2; > } > > static void analogix_dp_set_lane_link_training(struct analogix_dp_device *dp, > - u8 training_lane_set, int lane) > + u8 training_lane_set, int lane) > { > switch (lane) { > case 0: > @@ -413,9 +408,9 @@ static void analogix_dp_set_lane_link_training(struct analogix_dp_device *dp, > } > } > > -static unsigned int analogix_dp_get_lane_link_training( > - struct analogix_dp_device *dp, > - int lane) > +static unsigned int > +analogix_dp_get_lane_link_training(struct analogix_dp_device *dp, > + int lane) > { > u32 reg; > > @@ -449,7 +444,7 @@ static void analogix_dp_reduce_link_rate(struct analogix_dp_device *dp) > } > > static void analogix_dp_get_adjust_training_lane(struct analogix_dp_device *dp, > - u8 adjust_request[2]) > + u8 adjust_request[2]) > { > int lane, lane_count; > u8 voltage_swing, pre_emphasis, training_lane; > @@ -622,7 +617,7 @@ static int analogix_dp_process_equalizer_training(struct analogix_dp_device *dp) > } > > static void analogix_dp_get_max_rx_bandwidth(struct analogix_dp_device *dp, > - u8 *bandwidth) > + u8 *bandwidth) > { > u8 data; > > @@ -635,7 +630,7 @@ static void analogix_dp_get_max_rx_bandwidth(struct analogix_dp_device *dp, > } > > static void analogix_dp_get_max_rx_lane_count(struct analogix_dp_device *dp, > - u8 *lane_count) > + u8 *lane_count) > { > u8 data; > > @@ -648,8 +643,8 @@ static void analogix_dp_get_max_rx_lane_count(struct analogix_dp_device *dp, > } > > static void analogix_dp_init_training(struct analogix_dp_device *dp, > - enum link_lane_count_type max_lane, > - enum link_rate_type max_rate) > + enum link_lane_count_type max_lane, > + enum link_rate_type max_rate) > { > /* > * MACRO_RST must be applied after the PLL_LOCK to avoid > @@ -662,7 +657,7 @@ static void analogix_dp_init_training(struct analogix_dp_device *dp, > analogix_dp_get_max_rx_lane_count(dp, &dp->link_train.lane_count); > > if ((dp->link_train.link_rate != LINK_RATE_1_62GBPS) && > - (dp->link_train.link_rate != LINK_RATE_2_70GBPS)) { > + (dp->link_train.link_rate != LINK_RATE_2_70GBPS)) { > dev_err(dp->dev, "Rx Max Link Rate is abnormal :%x !\n", > dp->link_train.link_rate); > dp->link_train.link_rate = LINK_RATE_1_62GBPS; > @@ -722,8 +717,7 @@ static int analogix_dp_sw_link_training(struct analogix_dp_device *dp) > } > > static int analogix_dp_set_link_train(struct analogix_dp_device *dp, > - u32 count, > - u32 bwtype) > + u32 count, u32 bwtype) > { > int i; > int retval; > @@ -759,7 +753,7 @@ static int analogix_dp_config_video(struct analogix_dp_device *dp) > timeout_loop++; > if (analogix_dp_is_slave_video_stream_clock_on(dp) == 0) > break; > - if (DP_TIMEOUT_LOOP_COUNT < timeout_loop) { > + if (timeout_loop > DP_TIMEOUT_LOOP_COUNT) { > dev_err(dp->dev, "Timeout of video streamclk ok\n"); > return -ETIMEDOUT; > } > @@ -790,7 +784,7 @@ static int analogix_dp_config_video(struct analogix_dp_device *dp) > } else if (done_count) { > done_count = 0; > } > - if (DP_TIMEOUT_LOOP_COUNT < timeout_loop) { > + if (timeout_loop > DP_TIMEOUT_LOOP_COUNT) { > dev_err(dp->dev, "Timeout of video streamclk ok\n"); > return -ETIMEDOUT; > } > @@ -804,25 +798,24 @@ static int analogix_dp_config_video(struct analogix_dp_device *dp) > return retval; > } > > -static void analogix_dp_enable_scramble(struct analogix_dp_device *dp, bool enable) > +static void analogix_dp_enable_scramble(struct analogix_dp_device *dp, > + bool enable) > { > u8 data; > > if (enable) { > analogix_dp_enable_scrambling(dp); > > - analogix_dp_read_byte_from_dpcd(dp, > - DP_TRAINING_PATTERN_SET, > - &data); > + analogix_dp_read_byte_from_dpcd(dp, DP_TRAINING_PATTERN_SET, > + &data); > analogix_dp_write_byte_to_dpcd(dp, > DP_TRAINING_PATTERN_SET, > (u8)(data & ~DP_LINK_SCRAMBLING_DISABLE)); > } else { > analogix_dp_disable_scrambling(dp); > > - analogix_dp_read_byte_from_dpcd(dp, > - DP_TRAINING_PATTERN_SET, > - &data); > + analogix_dp_read_byte_from_dpcd(dp, DP_TRAINING_PATTERN_SET, > + &data); > analogix_dp_write_byte_to_dpcd(dp, > DP_TRAINING_PATTERN_SET, > (u8)(data | DP_LINK_SCRAMBLING_DISABLE)); > @@ -895,7 +888,7 @@ static void analogix_dp_commit(struct analogix_dp_device *dp) > } > > ret = analogix_dp_set_link_train(dp, dp->video_info->lane_count, > - dp->video_info->link_rate); > + dp->video_info->link_rate); > if (ret) { > dev_err(dp->dev, "unable to do link train\n"); > return; > @@ -1085,8 +1078,8 @@ static struct video_info *analogix_dp_dt_parse_pdata(struct device *dev) > struct device_node *dp_node = dev->of_node; > struct video_info *dp_video_config; > > - dp_video_config = devm_kzalloc(dev, > - sizeof(*dp_video_config), GFP_KERNEL); > + dp_video_config = devm_kzalloc(dev, sizeof(*dp_video_config), > + GFP_KERNEL); > if (!dp_video_config) > return ERR_PTR(-ENOMEM); > > @@ -1100,37 +1093,37 @@ static struct video_info *analogix_dp_dt_parse_pdata(struct device *dev) > of_property_read_bool(dp_node, "interlaced"); > > if (of_property_read_u32(dp_node, "samsung,color-space", > - &dp_video_config->color_space)) { > + &dp_video_config->color_space)) { > dev_err(dev, "failed to get color-space\n"); > return ERR_PTR(-EINVAL); > } > > if (of_property_read_u32(dp_node, "samsung,dynamic-range", > - &dp_video_config->dynamic_range)) { > + &dp_video_config->dynamic_range)) { > dev_err(dev, "failed to get dynamic-range\n"); > return ERR_PTR(-EINVAL); > } > > if (of_property_read_u32(dp_node, "samsung,ycbcr-coeff", > - &dp_video_config->ycbcr_coeff)) { > + &dp_video_config->ycbcr_coeff)) { > dev_err(dev, "failed to get ycbcr-coeff\n"); > return ERR_PTR(-EINVAL); > } > > if (of_property_read_u32(dp_node, "samsung,color-depth", > - &dp_video_config->color_depth)) { > + &dp_video_config->color_depth)) { > dev_err(dev, "failed to get color-depth\n"); > return ERR_PTR(-EINVAL); > } > > if (of_property_read_u32(dp_node, "samsung,link-rate", > - &dp_video_config->link_rate)) { > + &dp_video_config->link_rate)) { > dev_err(dev, "failed to get link-rate\n"); > return ERR_PTR(-EINVAL); > } > > if (of_property_read_u32(dp_node, "samsung,lane-count", > - &dp_video_config->lane_count)) { > + &dp_video_config->lane_count)) { > dev_err(dev, "failed to get lane-count\n"); > return ERR_PTR(-EINVAL); > } > @@ -1239,7 +1232,7 @@ int analogix_dp_bind(struct device *dev, struct drm_device *drm_dev, > pm_runtime_enable(dev); > > ret = devm_request_irq(&pdev->dev, dp->irq, analogix_dp_irq_handler, > - irq_flags, "analogix-dp", dp); > + irq_flags, "analogix-dp", dp); > if (ret) { > dev_err(&pdev->dev, "failed to request irq\n"); > goto err_disable_pm_runtime; > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h > b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h > index 1925216..8e84208 100644 > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h > @@ -187,50 +187,55 @@ int analogix_dp_get_plug_in_status(struct analogix_dp_device *dp); > void analogix_dp_enable_sw_function(struct analogix_dp_device *dp); > int analogix_dp_start_aux_transaction(struct analogix_dp_device *dp); > int analogix_dp_write_byte_to_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned char data); > + unsigned int reg_addr, > + unsigned char data); > int analogix_dp_read_byte_from_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned char *data); > + unsigned int reg_addr, > + unsigned char *data); > int analogix_dp_write_bytes_to_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned int count, > - unsigned char data[]); > + unsigned int reg_addr, > + unsigned int count, > + unsigned char data[]); > int analogix_dp_read_bytes_from_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned int count, > - unsigned char data[]); > + unsigned int reg_addr, > + unsigned int count, > + unsigned char data[]); > int analogix_dp_select_i2c_device(struct analogix_dp_device *dp, > - unsigned int device_addr, > - unsigned int reg_addr); > + unsigned int device_addr, > + unsigned int reg_addr); > int analogix_dp_read_byte_from_i2c(struct analogix_dp_device *dp, > - unsigned int device_addr, > - unsigned int reg_addr, > - unsigned int *data); > + unsigned int device_addr, > + unsigned int reg_addr, > + unsigned int *data); > int analogix_dp_read_bytes_from_i2c(struct analogix_dp_device *dp, > - unsigned int device_addr, > - unsigned int reg_addr, > - unsigned int count, > - unsigned char edid[]); > + unsigned int device_addr, > + unsigned int reg_addr, > + unsigned int count, > + unsigned char edid[]); > void analogix_dp_set_link_bandwidth(struct analogix_dp_device *dp, u32 bwtype); > void analogix_dp_get_link_bandwidth(struct analogix_dp_device *dp, u32 *bwtype); > void analogix_dp_set_lane_count(struct analogix_dp_device *dp, u32 count); > void analogix_dp_get_lane_count(struct analogix_dp_device *dp, u32 *count); > -void analogix_dp_enable_enhanced_mode(struct analogix_dp_device *dp, bool enable); > +void analogix_dp_enable_enhanced_mode(struct analogix_dp_device *dp, > + bool enable); > void analogix_dp_set_training_pattern(struct analogix_dp_device *dp, > - enum pattern_set pattern); > -void analogix_dp_set_lane0_pre_emphasis(struct analogix_dp_device *dp, u32 level); > -void analogix_dp_set_lane1_pre_emphasis(struct analogix_dp_device *dp, u32 level); > -void analogix_dp_set_lane2_pre_emphasis(struct analogix_dp_device *dp, u32 level); > -void analogix_dp_set_lane3_pre_emphasis(struct analogix_dp_device *dp, u32 level); > + enum pattern_set pattern); > +void analogix_dp_set_lane0_pre_emphasis(struct analogix_dp_device *dp, > + u32 level); > +void analogix_dp_set_lane1_pre_emphasis(struct analogix_dp_device *dp, > + u32 level); > +void analogix_dp_set_lane2_pre_emphasis(struct analogix_dp_device *dp, > + u32 level); > +void analogix_dp_set_lane3_pre_emphasis(struct analogix_dp_device *dp, > + u32 level); > void analogix_dp_set_lane0_link_training(struct analogix_dp_device *dp, > - u32 training_lane); > + u32 training_lane); > void analogix_dp_set_lane1_link_training(struct analogix_dp_device *dp, > - u32 training_lane); > + u32 training_lane); > void analogix_dp_set_lane2_link_training(struct analogix_dp_device *dp, > - u32 training_lane); > + u32 training_lane); > void analogix_dp_set_lane3_link_training(struct analogix_dp_device *dp, > - u32 training_lane); > + u32 training_lane); > u32 analogix_dp_get_lane0_link_training(struct analogix_dp_device *dp); > u32 analogix_dp_get_lane1_link_training(struct analogix_dp_device *dp); > u32 analogix_dp_get_lane2_link_training(struct analogix_dp_device *dp); > @@ -241,11 +246,12 @@ void analogix_dp_init_video(struct analogix_dp_device *dp); > void analogix_dp_set_video_color_format(struct analogix_dp_device *dp); > int analogix_dp_is_slave_video_stream_clock_on(struct analogix_dp_device *dp); > void analogix_dp_set_video_cr_mn(struct analogix_dp_device *dp, > - enum clock_recovery_m_value_type type, > - u32 m_value, > - u32 n_value); > + enum clock_recovery_m_value_type type, > + u32 m_value, > + u32 n_value); > void analogix_dp_set_video_timing_mode(struct analogix_dp_device *dp, u32 type); > -void analogix_dp_enable_video_master(struct analogix_dp_device *dp, bool enable); > +void analogix_dp_enable_video_master(struct analogix_dp_device *dp, > + bool enable); > void analogix_dp_start_video(struct analogix_dp_device *dp); > int analogix_dp_is_video_stream_on(struct analogix_dp_device *dp); > void analogix_dp_config_video_slave_mode(struct analogix_dp_device *dp); > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c > b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c > index 442cc66..a388c0a 100644 > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c > @@ -54,10 +54,10 @@ void analogix_dp_lane_swap(struct analogix_dp_device *dp, bool enable) > > if (enable) > reg = LANE3_MAP_LOGIC_LANE_0 | LANE2_MAP_LOGIC_LANE_1 | > - LANE1_MAP_LOGIC_LANE_2 | LANE0_MAP_LOGIC_LANE_3; > + LANE1_MAP_LOGIC_LANE_2 | LANE0_MAP_LOGIC_LANE_3; > else > reg = LANE3_MAP_LOGIC_LANE_3 | LANE2_MAP_LOGIC_LANE_2 | > - LANE1_MAP_LOGIC_LANE_1 | LANE0_MAP_LOGIC_LANE_0; > + LANE1_MAP_LOGIC_LANE_1 | LANE0_MAP_LOGIC_LANE_0; > > writel(reg, dp->reg_base + ANALOGIX_DP_LANE_MAP); > } > @@ -202,8 +202,8 @@ void analogix_dp_set_pll_power_down(struct analogix_dp_device *dp, bool enable) > } > > void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, > - enum analog_power_block block, > - bool enable) > + enum analog_power_block block, > + bool enable) > { > u32 reg; > > @@ -399,8 +399,8 @@ void analogix_dp_init_aux(struct analogix_dp_device *dp) > analogix_dp_reset_aux(dp); > > /* Disable AUX transaction H/W retry */ > - reg = AUX_BIT_PERIOD_EXPECTED_DELAY(3) | AUX_HW_RETRY_COUNT_SEL(0)| > - AUX_HW_RETRY_INTERVAL_600_MICROSECONDS; > + reg = AUX_BIT_PERIOD_EXPECTED_DELAY(3) | AUX_HW_RETRY_COUNT_SEL(0) | > + AUX_HW_RETRY_INTERVAL_600_MICROSECONDS; > writel(reg, dp->reg_base + ANALOGIX_DP_AUX_HW_RETRY_CTL); > > /* Receive AUX Channel DEFER commands equal to DEFFER_COUNT*64 */ > @@ -483,8 +483,8 @@ int analogix_dp_start_aux_transaction(struct analogix_dp_device *dp) > } > > int analogix_dp_write_byte_to_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned char data) > + unsigned int reg_addr, > + unsigned char data) > { > u32 reg; > int i; > @@ -519,17 +519,16 @@ int analogix_dp_write_byte_to_dpcd(struct analogix_dp_device *dp, > retval = analogix_dp_start_aux_transaction(dp); > if (retval == 0) > break; > - else > - dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > - __func__); > + > + dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", __func__); > } > > return retval; > } > > int analogix_dp_read_byte_from_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned char *data) > + unsigned int reg_addr, > + unsigned char *data) > { > u32 reg; > int i; > @@ -560,9 +559,8 @@ int analogix_dp_read_byte_from_dpcd(struct analogix_dp_device *dp, > retval = analogix_dp_start_aux_transaction(dp); > if (retval == 0) > break; > - else > - dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > - __func__); > + > + dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", __func__); > } > > /* Read data buffer */ > @@ -573,9 +571,9 @@ int analogix_dp_read_byte_from_dpcd(struct analogix_dp_device *dp, > } > > int analogix_dp_write_bytes_to_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned int count, > - unsigned char data[]) > + unsigned int reg_addr, > + unsigned int count, > + unsigned char data[]) > { > u32 reg; > unsigned int start_offset; > @@ -608,8 +606,9 @@ int analogix_dp_write_bytes_to_dpcd(struct analogix_dp_device *dp, > for (cur_data_idx = 0; cur_data_idx < cur_data_count; > cur_data_idx++) { > reg = data[start_offset + cur_data_idx]; > - writel(reg, dp->reg_base + ANALOGIX_DP_BUF_DATA_0 > - + 4 * cur_data_idx); > + writel(reg, dp->reg_base + > + ANALOGIX_DP_BUF_DATA_0 + > + 4 * cur_data_idx); > } > > /* > @@ -625,9 +624,9 @@ int analogix_dp_write_bytes_to_dpcd(struct analogix_dp_device *dp, > retval = analogix_dp_start_aux_transaction(dp); > if (retval == 0) > break; > - else > - dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > - __func__); > + > + dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > + __func__); > } > > start_offset += cur_data_count; > @@ -637,9 +636,9 @@ int analogix_dp_write_bytes_to_dpcd(struct analogix_dp_device *dp, > } > > int analogix_dp_read_bytes_from_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned int count, > - unsigned char data[]) > + unsigned int reg_addr, > + unsigned int count, > + unsigned char data[]) > { > u32 reg; > unsigned int start_offset; > @@ -683,9 +682,9 @@ int analogix_dp_read_bytes_from_dpcd(struct analogix_dp_device *dp, > retval = analogix_dp_start_aux_transaction(dp); > if (retval == 0) > break; > - else > - dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > - __func__); > + > + dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > + __func__); > } > > for (cur_data_idx = 0; cur_data_idx < cur_data_count; > @@ -703,8 +702,8 @@ int analogix_dp_read_bytes_from_dpcd(struct analogix_dp_device *dp, > } > > int analogix_dp_select_i2c_device(struct analogix_dp_device *dp, > - unsigned int device_addr, > - unsigned int reg_addr) > + unsigned int device_addr, > + unsigned int reg_addr) > { > u32 reg; > int retval; > @@ -736,9 +735,9 @@ int analogix_dp_select_i2c_device(struct analogix_dp_device *dp, > } > > int analogix_dp_read_byte_from_i2c(struct analogix_dp_device *dp, > - unsigned int device_addr, > - unsigned int reg_addr, > - unsigned int *data) > + unsigned int device_addr, > + unsigned int reg_addr, > + unsigned int *data) > { > u32 reg; > int i; > @@ -750,7 +749,8 @@ int analogix_dp_read_byte_from_i2c(struct analogix_dp_device *dp, > writel(reg, dp->reg_base + ANALOGIX_DP_BUFFER_DATA_CTL); > > /* Select EDID device */ > - retval = analogix_dp_select_i2c_device(dp, device_addr, reg_addr); > + retval = analogix_dp_select_i2c_device(dp, device_addr, > + reg_addr); > if (retval != 0) > continue; > > @@ -767,9 +767,8 @@ int analogix_dp_read_byte_from_i2c(struct analogix_dp_device *dp, > retval = analogix_dp_start_aux_transaction(dp); > if (retval == 0) > break; > - else > - dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > - __func__); > + > + dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", __func__); > } > > /* Read data */ > @@ -780,10 +779,10 @@ int analogix_dp_read_byte_from_i2c(struct analogix_dp_device *dp, > } > > int analogix_dp_read_bytes_from_i2c(struct analogix_dp_device *dp, > - unsigned int device_addr, > - unsigned int reg_addr, > - unsigned int count, > - unsigned char edid[]) > + unsigned int device_addr, > + unsigned int reg_addr, > + unsigned int count, > + unsigned char edid[]) > { > u32 reg; > unsigned int i, j; > @@ -828,15 +827,14 @@ int analogix_dp_read_bytes_from_i2c(struct analogix_dp_device *dp, > retval = analogix_dp_start_aux_transaction(dp); > if (retval == 0) > break; > - else > - dev_dbg(dp->dev, > - "%s: Aux Transaction fail!\n", > - __func__); > + > + dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > + __func__); > } > /* Check if Rx sends defer */ > reg = readl(dp->reg_base + ANALOGIX_DP_AUX_RX_COMM); > if (reg == AUX_RX_COMM_AUX_DEFER || > - reg == AUX_RX_COMM_I2C_DEFER) { > + reg == AUX_RX_COMM_I2C_DEFER) { > dev_err(dp->dev, "Defer: %d\n\n", reg); > defer = 1; > } > @@ -885,7 +883,8 @@ void analogix_dp_get_lane_count(struct analogix_dp_device *dp, u32 *count) > *count = reg; > } > > -void analogix_dp_enable_enhanced_mode(struct analogix_dp_device *dp, bool enable) > +void analogix_dp_enable_enhanced_mode(struct analogix_dp_device *dp, > + bool enable) > { > u32 reg; > > @@ -901,7 +900,7 @@ void analogix_dp_enable_enhanced_mode(struct analogix_dp_device *dp, bool enable > } > > void analogix_dp_set_training_pattern(struct analogix_dp_device *dp, > - enum pattern_set pattern) > + enum pattern_set pattern) > { > u32 reg; > > @@ -933,7 +932,8 @@ void analogix_dp_set_training_pattern(struct analogix_dp_device *dp, > } > } > > -void analogix_dp_set_lane0_pre_emphasis(struct analogix_dp_device *dp, u32 level) > +void analogix_dp_set_lane0_pre_emphasis(struct analogix_dp_device *dp, > + u32 level) > { > u32 reg; > > @@ -943,7 +943,8 @@ void analogix_dp_set_lane0_pre_emphasis(struct analogix_dp_device *dp, u32 level > writel(reg, dp->reg_base + ANALOGIX_DP_LN0_LINK_TRAINING_CTL); > } > > -void analogix_dp_set_lane1_pre_emphasis(struct analogix_dp_device *dp, u32 level) > +void analogix_dp_set_lane1_pre_emphasis(struct analogix_dp_device *dp, > + u32 level) > { > u32 reg; > > @@ -953,7 +954,8 @@ void analogix_dp_set_lane1_pre_emphasis(struct analogix_dp_device *dp, u32 level > writel(reg, dp->reg_base + ANALOGIX_DP_LN1_LINK_TRAINING_CTL); > } > > -void analogix_dp_set_lane2_pre_emphasis(struct analogix_dp_device *dp, u32 level) > +void analogix_dp_set_lane2_pre_emphasis(struct analogix_dp_device *dp, > + u32 level) > { > u32 reg; > > @@ -963,7 +965,8 @@ void analogix_dp_set_lane2_pre_emphasis(struct analogix_dp_device *dp, u32 level > writel(reg, dp->reg_base + ANALOGIX_DP_LN2_LINK_TRAINING_CTL); > } > > -void analogix_dp_set_lane3_pre_emphasis(struct analogix_dp_device *dp, u32 level) > +void analogix_dp_set_lane3_pre_emphasis(struct analogix_dp_device *dp, > + u32 level) > { > u32 reg; > > @@ -974,7 +977,7 @@ void analogix_dp_set_lane3_pre_emphasis(struct analogix_dp_device *dp, u32 level > } > > void analogix_dp_set_lane0_link_training(struct analogix_dp_device *dp, > - u32 training_lane) > + u32 training_lane) > { > u32 reg; > > @@ -983,7 +986,7 @@ void analogix_dp_set_lane0_link_training(struct analogix_dp_device *dp, > } > > void analogix_dp_set_lane1_link_training(struct analogix_dp_device *dp, > - u32 training_lane) > + u32 training_lane) > { > u32 reg; > > @@ -1001,7 +1004,7 @@ void analogix_dp_set_lane2_link_training(struct analogix_dp_device *dp, > } > > void analogix_dp_set_lane3_link_training(struct analogix_dp_device *dp, > - u32 training_lane) > + u32 training_lane) > { > u32 reg; > > @@ -1125,9 +1128,8 @@ int analogix_dp_is_slave_video_stream_clock_on(struct analogix_dp_device *dp) > } > > void analogix_dp_set_video_cr_mn(struct analogix_dp_device *dp, > - enum clock_recovery_m_value_type type, > - u32 m_value, > - u32 n_value) > + enum clock_recovery_m_value_type type, > + u32 m_value, u32 n_value) > { > u32 reg; > > @@ -1221,7 +1223,7 @@ void analogix_dp_config_video_slave_mode(struct analogix_dp_device *dp) > u32 reg; > > reg = readl(dp->reg_base + ANALOGIX_DP_FUNC_EN_1); > - reg &= ~(MASTER_VID_FUNC_EN_N|SLAVE_VID_FUNC_EN_N); > + reg &= ~(MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N); > reg |= MASTER_VID_FUNC_EN_N; > writel(reg, dp->reg_base + ANALOGIX_DP_FUNC_EN_1); > > -- > 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932878AbbLVMGQ (ORCPT ); Tue, 22 Dec 2015 07:06:16 -0500 Received: from mail-pf0-f180.google.com ([209.85.192.180]:35190 "EHLO mail-pf0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755051AbbLVMGI (ORCPT ); Tue, 22 Dec 2015 07:06:08 -0500 From: "Jingoo Han" To: "'Yakir Yang'" , "'Inki Dae'" , "'Mark Yao'" , "'Heiko Stuebner'" Cc: "'Thierry Reding'" , "'Krzysztof Kozlowski'" , "'Rob Herring'" , "'Russell King'" , , "'Gustavo Padovan'" , "'Kishon Vijay Abraham I'" , , "'Andy Yan'" , , , , , , , "'Jingoo Han'" References: <1450236018-1118-1-git-send-email-ykk@rock-chips.com> <1450236377-1644-1-git-send-email-ykk@rock-chips.com> In-Reply-To: <1450236377-1644-1-git-send-email-ykk@rock-chips.com> Subject: Re: [PATCH v11 02/19] drm: bridge: analogix/dp: fix some obvious code style Date: Tue, 22 Dec 2015 21:05:57 +0900 Message-ID: <000601d13cb1$2466a640$6d33f2c0$@com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AdE3swVq6DlwiIR7TI+B3pbDcALP3gE/Y63w Content-Language: ko Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wednesday, December 16, 2015 12:26 PM, Yakir Yang wrote: > > Fix some obvious alignment problems, like alignment and line > over 80 characters problems, make this easy to be maintained > later. > > Signed-off-by: Yakir Yang > Reviewed-by: Krzysztof Kozlowski > Tested-by: Javier Martinez Canillas Acked-by: Jingoo Han Best regards, Jingoo Han > --- > Changes in v11: None > Changes in v10: None > Changes in v9: None > Changes in v8: None > Changes in v7: None > Changes in v6: None > Changes in v5: > - Resequence this patch after analogix_dp driver have been split > from exynos_dp code, and rephrase reasonable commit message, and > remove some controversial style (Krzysztof) > - analogix_dp_write_byte_to_dpcd( > - dp, DP_TEST_RESPONSE, > + analogix_dp_write_byte_to_dpcd(dp, > + DP_TEST_RESPONSE, > DP_TEST_EDID_CHECKSUM_WRITE); > > Changes in v4: None > Changes in v3: None > Changes in v2: > - Improved commit message more readable, and avoid using some > uncommon style like bellow: (Joe Preches) > - retval = exynos_dp_read_bytes_from_i2c(... > ...); > + retval = > + exynos_dp_read_bytes_from_i2c(......); > > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 129 ++++++++++----------- > drivers/gpu/drm/bridge/analogix/analogix_dp_core.h | 72 ++++++------ > drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c | 124 ++++++++++---------- > 3 files changed, 163 insertions(+), 162 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > index fb8bda8..4a05c2b 100644 > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > @@ -61,7 +61,7 @@ static int analogix_dp_detect_hpd(struct analogix_dp_device *dp) > > while (analogix_dp_get_plug_in_status(dp) != 0) { > timeout_loop++; > - if (DP_TIMEOUT_LOOP_COUNT < timeout_loop) { > + if (timeout_loop > DP_TIMEOUT_LOOP_COUNT) { > dev_err(dp->dev, "failed to get hpd plug status\n"); > return -ETIMEDOUT; > } > @@ -98,8 +98,8 @@ static int analogix_dp_read_edid(struct analogix_dp_device *dp) > > /* Read Extension Flag, Number of 128-byte EDID extension blocks */ > retval = analogix_dp_read_byte_from_i2c(dp, I2C_EDID_DEVICE_ADDR, > - EDID_EXTENSION_FLAG, > - &extend_block); > + EDID_EXTENSION_FLAG, > + &extend_block); > if (retval) > return retval; > > @@ -107,7 +107,8 @@ static int analogix_dp_read_edid(struct analogix_dp_device *dp) > dev_dbg(dp->dev, "EDID data includes a single extension!\n"); > > /* Read EDID data */ > - retval = analogix_dp_read_bytes_from_i2c(dp, I2C_EDID_DEVICE_ADDR, > + retval = analogix_dp_read_bytes_from_i2c(dp, > + I2C_EDID_DEVICE_ADDR, > EDID_HEADER_PATTERN, > EDID_BLOCK_LENGTH, > &edid[EDID_HEADER_PATTERN]); > @@ -138,7 +139,7 @@ static int analogix_dp_read_edid(struct analogix_dp_device *dp) > } > > analogix_dp_read_byte_from_dpcd(dp, DP_TEST_REQUEST, > - &test_vector); > + &test_vector); > if (test_vector & DP_TEST_LINK_EDID_READ) { > analogix_dp_write_byte_to_dpcd(dp, > DP_TEST_EDID_CHECKSUM, > @@ -152,10 +153,8 @@ static int analogix_dp_read_edid(struct analogix_dp_device *dp) > > /* Read EDID data */ > retval = analogix_dp_read_bytes_from_i2c(dp, > - I2C_EDID_DEVICE_ADDR, > - EDID_HEADER_PATTERN, > - EDID_BLOCK_LENGTH, > - &edid[EDID_HEADER_PATTERN]); > + I2C_EDID_DEVICE_ADDR, EDID_HEADER_PATTERN, > + EDID_BLOCK_LENGTH, &edid[EDID_HEADER_PATTERN]); > if (retval != 0) { > dev_err(dp->dev, "EDID Read failed!\n"); > return -EIO; > @@ -166,16 +165,13 @@ static int analogix_dp_read_edid(struct analogix_dp_device *dp) > return -EIO; > } > > - analogix_dp_read_byte_from_dpcd(dp, > - DP_TEST_REQUEST, > - &test_vector); > + analogix_dp_read_byte_from_dpcd(dp, DP_TEST_REQUEST, > + &test_vector); > if (test_vector & DP_TEST_LINK_EDID_READ) { > analogix_dp_write_byte_to_dpcd(dp, > - DP_TEST_EDID_CHECKSUM, > - edid[EDID_CHECKSUM]); > + DP_TEST_EDID_CHECKSUM, edid[EDID_CHECKSUM]); > analogix_dp_write_byte_to_dpcd(dp, > - DP_TEST_RESPONSE, > - DP_TEST_EDID_CHECKSUM_WRITE); > + DP_TEST_RESPONSE, DP_TEST_EDID_CHECKSUM_WRITE); > } > } > > @@ -190,8 +186,7 @@ static int analogix_dp_handle_edid(struct analogix_dp_device *dp) > int retval; > > /* Read DPCD DP_DPCD_REV~RECEIVE_PORT1_CAP_1 */ > - retval = analogix_dp_read_bytes_from_dpcd(dp, DP_DPCD_REV, > - 12, buf); > + retval = analogix_dp_read_bytes_from_dpcd(dp, DP_DPCD_REV, 12, buf); > if (retval) > return retval; > > @@ -205,8 +200,9 @@ static int analogix_dp_handle_edid(struct analogix_dp_device *dp) > return retval; > } > > -static void analogix_dp_enable_rx_to_enhanced_mode(struct analogix_dp_device *dp, > - bool enable) > +static void > +analogix_dp_enable_rx_to_enhanced_mode(struct analogix_dp_device *dp, > + bool enable) > { > u8 data; > > @@ -214,11 +210,11 @@ static void analogix_dp_enable_rx_to_enhanced_mode(struct analogix_dp_device *dp > > if (enable) > analogix_dp_write_byte_to_dpcd(dp, DP_LANE_COUNT_SET, > - DP_LANE_COUNT_ENHANCED_FRAME_EN | > - DPCD_LANE_COUNT_SET(data)); > + DP_LANE_COUNT_ENHANCED_FRAME_EN | > + DPCD_LANE_COUNT_SET(data)); > else > analogix_dp_write_byte_to_dpcd(dp, DP_LANE_COUNT_SET, > - DPCD_LANE_COUNT_SET(data)); > + DPCD_LANE_COUNT_SET(data)); > } > > static int analogix_dp_is_enhanced_mode_available(struct analogix_dp_device *dp) > @@ -245,13 +241,13 @@ static void analogix_dp_training_pattern_dis(struct analogix_dp_device *dp) > { > analogix_dp_set_training_pattern(dp, DP_NONE); > > - analogix_dp_write_byte_to_dpcd(dp, > - DP_TRAINING_PATTERN_SET, > - DP_TRAINING_PATTERN_DISABLE); > + analogix_dp_write_byte_to_dpcd(dp, DP_TRAINING_PATTERN_SET, > + DP_TRAINING_PATTERN_DISABLE); > } > > -static void analogix_dp_set_lane_lane_pre_emphasis(struct analogix_dp_device *dp, > - int pre_emphasis, int lane) > +static void > +analogix_dp_set_lane_lane_pre_emphasis(struct analogix_dp_device *dp, > + int pre_emphasis, int lane) > { > switch (lane) { > case 0: > @@ -291,8 +287,7 @@ static int analogix_dp_link_start(struct analogix_dp_device *dp) > /* Setup RX configuration */ > buf[0] = dp->link_train.link_rate; > buf[1] = dp->link_train.lane_count; > - retval = analogix_dp_write_bytes_to_dpcd(dp, DP_LINK_BW_SET, > - 2, buf); > + retval = analogix_dp_write_bytes_to_dpcd(dp, DP_LINK_BW_SET, 2, buf); > if (retval) > return retval; > > @@ -328,7 +323,7 @@ static int analogix_dp_link_start(struct analogix_dp_device *dp) > DP_TRAIN_VOLTAGE_SWING_LEVEL_0; > > retval = analogix_dp_write_bytes_to_dpcd(dp, DP_TRAINING_LANE0_SET, > - lane_count, buf); > + lane_count, buf); > > return retval; > } > @@ -336,7 +331,7 @@ static int analogix_dp_link_start(struct analogix_dp_device *dp) > static unsigned char analogix_dp_get_lane_status(u8 link_status[2], int lane) > { > int shift = (lane & 1) * 4; > - u8 link_value = link_status[lane>>1]; > + u8 link_value = link_status[lane >> 1]; > > return (link_value >> shift) & 0xf; > } > @@ -355,7 +350,7 @@ static int analogix_dp_clock_recovery_ok(u8 link_status[2], int lane_count) > } > > static int analogix_dp_channel_eq_ok(u8 link_status[2], u8 link_align, > - int lane_count) > + int lane_count) > { > int lane; > u8 lane_status; > @@ -373,11 +368,11 @@ static int analogix_dp_channel_eq_ok(u8 link_status[2], u8 link_align, > return 0; > } > > -static unsigned char analogix_dp_get_adjust_request_voltage(u8 adjust_request[2], > - int lane) > +static unsigned char > +analogix_dp_get_adjust_request_voltage(u8 adjust_request[2], int lane) > { > int shift = (lane & 1) * 4; > - u8 link_value = adjust_request[lane>>1]; > + u8 link_value = adjust_request[lane >> 1]; > > return (link_value >> shift) & 0x3; > } > @@ -387,13 +382,13 @@ static unsigned char analogix_dp_get_adjust_request_pre_emphasis( > int lane) > { > int shift = (lane & 1) * 4; > - u8 link_value = adjust_request[lane>>1]; > + u8 link_value = adjust_request[lane >> 1]; > > return ((link_value >> shift) & 0xc) >> 2; > } > > static void analogix_dp_set_lane_link_training(struct analogix_dp_device *dp, > - u8 training_lane_set, int lane) > + u8 training_lane_set, int lane) > { > switch (lane) { > case 0: > @@ -413,9 +408,9 @@ static void analogix_dp_set_lane_link_training(struct analogix_dp_device *dp, > } > } > > -static unsigned int analogix_dp_get_lane_link_training( > - struct analogix_dp_device *dp, > - int lane) > +static unsigned int > +analogix_dp_get_lane_link_training(struct analogix_dp_device *dp, > + int lane) > { > u32 reg; > > @@ -449,7 +444,7 @@ static void analogix_dp_reduce_link_rate(struct analogix_dp_device *dp) > } > > static void analogix_dp_get_adjust_training_lane(struct analogix_dp_device *dp, > - u8 adjust_request[2]) > + u8 adjust_request[2]) > { > int lane, lane_count; > u8 voltage_swing, pre_emphasis, training_lane; > @@ -622,7 +617,7 @@ static int analogix_dp_process_equalizer_training(struct analogix_dp_device *dp) > } > > static void analogix_dp_get_max_rx_bandwidth(struct analogix_dp_device *dp, > - u8 *bandwidth) > + u8 *bandwidth) > { > u8 data; > > @@ -635,7 +630,7 @@ static void analogix_dp_get_max_rx_bandwidth(struct analogix_dp_device *dp, > } > > static void analogix_dp_get_max_rx_lane_count(struct analogix_dp_device *dp, > - u8 *lane_count) > + u8 *lane_count) > { > u8 data; > > @@ -648,8 +643,8 @@ static void analogix_dp_get_max_rx_lane_count(struct analogix_dp_device *dp, > } > > static void analogix_dp_init_training(struct analogix_dp_device *dp, > - enum link_lane_count_type max_lane, > - enum link_rate_type max_rate) > + enum link_lane_count_type max_lane, > + enum link_rate_type max_rate) > { > /* > * MACRO_RST must be applied after the PLL_LOCK to avoid > @@ -662,7 +657,7 @@ static void analogix_dp_init_training(struct analogix_dp_device *dp, > analogix_dp_get_max_rx_lane_count(dp, &dp->link_train.lane_count); > > if ((dp->link_train.link_rate != LINK_RATE_1_62GBPS) && > - (dp->link_train.link_rate != LINK_RATE_2_70GBPS)) { > + (dp->link_train.link_rate != LINK_RATE_2_70GBPS)) { > dev_err(dp->dev, "Rx Max Link Rate is abnormal :%x !\n", > dp->link_train.link_rate); > dp->link_train.link_rate = LINK_RATE_1_62GBPS; > @@ -722,8 +717,7 @@ static int analogix_dp_sw_link_training(struct analogix_dp_device *dp) > } > > static int analogix_dp_set_link_train(struct analogix_dp_device *dp, > - u32 count, > - u32 bwtype) > + u32 count, u32 bwtype) > { > int i; > int retval; > @@ -759,7 +753,7 @@ static int analogix_dp_config_video(struct analogix_dp_device *dp) > timeout_loop++; > if (analogix_dp_is_slave_video_stream_clock_on(dp) == 0) > break; > - if (DP_TIMEOUT_LOOP_COUNT < timeout_loop) { > + if (timeout_loop > DP_TIMEOUT_LOOP_COUNT) { > dev_err(dp->dev, "Timeout of video streamclk ok\n"); > return -ETIMEDOUT; > } > @@ -790,7 +784,7 @@ static int analogix_dp_config_video(struct analogix_dp_device *dp) > } else if (done_count) { > done_count = 0; > } > - if (DP_TIMEOUT_LOOP_COUNT < timeout_loop) { > + if (timeout_loop > DP_TIMEOUT_LOOP_COUNT) { > dev_err(dp->dev, "Timeout of video streamclk ok\n"); > return -ETIMEDOUT; > } > @@ -804,25 +798,24 @@ static int analogix_dp_config_video(struct analogix_dp_device *dp) > return retval; > } > > -static void analogix_dp_enable_scramble(struct analogix_dp_device *dp, bool enable) > +static void analogix_dp_enable_scramble(struct analogix_dp_device *dp, > + bool enable) > { > u8 data; > > if (enable) { > analogix_dp_enable_scrambling(dp); > > - analogix_dp_read_byte_from_dpcd(dp, > - DP_TRAINING_PATTERN_SET, > - &data); > + analogix_dp_read_byte_from_dpcd(dp, DP_TRAINING_PATTERN_SET, > + &data); > analogix_dp_write_byte_to_dpcd(dp, > DP_TRAINING_PATTERN_SET, > (u8)(data & ~DP_LINK_SCRAMBLING_DISABLE)); > } else { > analogix_dp_disable_scrambling(dp); > > - analogix_dp_read_byte_from_dpcd(dp, > - DP_TRAINING_PATTERN_SET, > - &data); > + analogix_dp_read_byte_from_dpcd(dp, DP_TRAINING_PATTERN_SET, > + &data); > analogix_dp_write_byte_to_dpcd(dp, > DP_TRAINING_PATTERN_SET, > (u8)(data | DP_LINK_SCRAMBLING_DISABLE)); > @@ -895,7 +888,7 @@ static void analogix_dp_commit(struct analogix_dp_device *dp) > } > > ret = analogix_dp_set_link_train(dp, dp->video_info->lane_count, > - dp->video_info->link_rate); > + dp->video_info->link_rate); > if (ret) { > dev_err(dp->dev, "unable to do link train\n"); > return; > @@ -1085,8 +1078,8 @@ static struct video_info *analogix_dp_dt_parse_pdata(struct device *dev) > struct device_node *dp_node = dev->of_node; > struct video_info *dp_video_config; > > - dp_video_config = devm_kzalloc(dev, > - sizeof(*dp_video_config), GFP_KERNEL); > + dp_video_config = devm_kzalloc(dev, sizeof(*dp_video_config), > + GFP_KERNEL); > if (!dp_video_config) > return ERR_PTR(-ENOMEM); > > @@ -1100,37 +1093,37 @@ static struct video_info *analogix_dp_dt_parse_pdata(struct device *dev) > of_property_read_bool(dp_node, "interlaced"); > > if (of_property_read_u32(dp_node, "samsung,color-space", > - &dp_video_config->color_space)) { > + &dp_video_config->color_space)) { > dev_err(dev, "failed to get color-space\n"); > return ERR_PTR(-EINVAL); > } > > if (of_property_read_u32(dp_node, "samsung,dynamic-range", > - &dp_video_config->dynamic_range)) { > + &dp_video_config->dynamic_range)) { > dev_err(dev, "failed to get dynamic-range\n"); > return ERR_PTR(-EINVAL); > } > > if (of_property_read_u32(dp_node, "samsung,ycbcr-coeff", > - &dp_video_config->ycbcr_coeff)) { > + &dp_video_config->ycbcr_coeff)) { > dev_err(dev, "failed to get ycbcr-coeff\n"); > return ERR_PTR(-EINVAL); > } > > if (of_property_read_u32(dp_node, "samsung,color-depth", > - &dp_video_config->color_depth)) { > + &dp_video_config->color_depth)) { > dev_err(dev, "failed to get color-depth\n"); > return ERR_PTR(-EINVAL); > } > > if (of_property_read_u32(dp_node, "samsung,link-rate", > - &dp_video_config->link_rate)) { > + &dp_video_config->link_rate)) { > dev_err(dev, "failed to get link-rate\n"); > return ERR_PTR(-EINVAL); > } > > if (of_property_read_u32(dp_node, "samsung,lane-count", > - &dp_video_config->lane_count)) { > + &dp_video_config->lane_count)) { > dev_err(dev, "failed to get lane-count\n"); > return ERR_PTR(-EINVAL); > } > @@ -1239,7 +1232,7 @@ int analogix_dp_bind(struct device *dev, struct drm_device *drm_dev, > pm_runtime_enable(dev); > > ret = devm_request_irq(&pdev->dev, dp->irq, analogix_dp_irq_handler, > - irq_flags, "analogix-dp", dp); > + irq_flags, "analogix-dp", dp); > if (ret) { > dev_err(&pdev->dev, "failed to request irq\n"); > goto err_disable_pm_runtime; > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h > b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h > index 1925216..8e84208 100644 > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h > @@ -187,50 +187,55 @@ int analogix_dp_get_plug_in_status(struct analogix_dp_device *dp); > void analogix_dp_enable_sw_function(struct analogix_dp_device *dp); > int analogix_dp_start_aux_transaction(struct analogix_dp_device *dp); > int analogix_dp_write_byte_to_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned char data); > + unsigned int reg_addr, > + unsigned char data); > int analogix_dp_read_byte_from_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned char *data); > + unsigned int reg_addr, > + unsigned char *data); > int analogix_dp_write_bytes_to_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned int count, > - unsigned char data[]); > + unsigned int reg_addr, > + unsigned int count, > + unsigned char data[]); > int analogix_dp_read_bytes_from_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned int count, > - unsigned char data[]); > + unsigned int reg_addr, > + unsigned int count, > + unsigned char data[]); > int analogix_dp_select_i2c_device(struct analogix_dp_device *dp, > - unsigned int device_addr, > - unsigned int reg_addr); > + unsigned int device_addr, > + unsigned int reg_addr); > int analogix_dp_read_byte_from_i2c(struct analogix_dp_device *dp, > - unsigned int device_addr, > - unsigned int reg_addr, > - unsigned int *data); > + unsigned int device_addr, > + unsigned int reg_addr, > + unsigned int *data); > int analogix_dp_read_bytes_from_i2c(struct analogix_dp_device *dp, > - unsigned int device_addr, > - unsigned int reg_addr, > - unsigned int count, > - unsigned char edid[]); > + unsigned int device_addr, > + unsigned int reg_addr, > + unsigned int count, > + unsigned char edid[]); > void analogix_dp_set_link_bandwidth(struct analogix_dp_device *dp, u32 bwtype); > void analogix_dp_get_link_bandwidth(struct analogix_dp_device *dp, u32 *bwtype); > void analogix_dp_set_lane_count(struct analogix_dp_device *dp, u32 count); > void analogix_dp_get_lane_count(struct analogix_dp_device *dp, u32 *count); > -void analogix_dp_enable_enhanced_mode(struct analogix_dp_device *dp, bool enable); > +void analogix_dp_enable_enhanced_mode(struct analogix_dp_device *dp, > + bool enable); > void analogix_dp_set_training_pattern(struct analogix_dp_device *dp, > - enum pattern_set pattern); > -void analogix_dp_set_lane0_pre_emphasis(struct analogix_dp_device *dp, u32 level); > -void analogix_dp_set_lane1_pre_emphasis(struct analogix_dp_device *dp, u32 level); > -void analogix_dp_set_lane2_pre_emphasis(struct analogix_dp_device *dp, u32 level); > -void analogix_dp_set_lane3_pre_emphasis(struct analogix_dp_device *dp, u32 level); > + enum pattern_set pattern); > +void analogix_dp_set_lane0_pre_emphasis(struct analogix_dp_device *dp, > + u32 level); > +void analogix_dp_set_lane1_pre_emphasis(struct analogix_dp_device *dp, > + u32 level); > +void analogix_dp_set_lane2_pre_emphasis(struct analogix_dp_device *dp, > + u32 level); > +void analogix_dp_set_lane3_pre_emphasis(struct analogix_dp_device *dp, > + u32 level); > void analogix_dp_set_lane0_link_training(struct analogix_dp_device *dp, > - u32 training_lane); > + u32 training_lane); > void analogix_dp_set_lane1_link_training(struct analogix_dp_device *dp, > - u32 training_lane); > + u32 training_lane); > void analogix_dp_set_lane2_link_training(struct analogix_dp_device *dp, > - u32 training_lane); > + u32 training_lane); > void analogix_dp_set_lane3_link_training(struct analogix_dp_device *dp, > - u32 training_lane); > + u32 training_lane); > u32 analogix_dp_get_lane0_link_training(struct analogix_dp_device *dp); > u32 analogix_dp_get_lane1_link_training(struct analogix_dp_device *dp); > u32 analogix_dp_get_lane2_link_training(struct analogix_dp_device *dp); > @@ -241,11 +246,12 @@ void analogix_dp_init_video(struct analogix_dp_device *dp); > void analogix_dp_set_video_color_format(struct analogix_dp_device *dp); > int analogix_dp_is_slave_video_stream_clock_on(struct analogix_dp_device *dp); > void analogix_dp_set_video_cr_mn(struct analogix_dp_device *dp, > - enum clock_recovery_m_value_type type, > - u32 m_value, > - u32 n_value); > + enum clock_recovery_m_value_type type, > + u32 m_value, > + u32 n_value); > void analogix_dp_set_video_timing_mode(struct analogix_dp_device *dp, u32 type); > -void analogix_dp_enable_video_master(struct analogix_dp_device *dp, bool enable); > +void analogix_dp_enable_video_master(struct analogix_dp_device *dp, > + bool enable); > void analogix_dp_start_video(struct analogix_dp_device *dp); > int analogix_dp_is_video_stream_on(struct analogix_dp_device *dp); > void analogix_dp_config_video_slave_mode(struct analogix_dp_device *dp); > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c > b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c > index 442cc66..a388c0a 100644 > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c > @@ -54,10 +54,10 @@ void analogix_dp_lane_swap(struct analogix_dp_device *dp, bool enable) > > if (enable) > reg = LANE3_MAP_LOGIC_LANE_0 | LANE2_MAP_LOGIC_LANE_1 | > - LANE1_MAP_LOGIC_LANE_2 | LANE0_MAP_LOGIC_LANE_3; > + LANE1_MAP_LOGIC_LANE_2 | LANE0_MAP_LOGIC_LANE_3; > else > reg = LANE3_MAP_LOGIC_LANE_3 | LANE2_MAP_LOGIC_LANE_2 | > - LANE1_MAP_LOGIC_LANE_1 | LANE0_MAP_LOGIC_LANE_0; > + LANE1_MAP_LOGIC_LANE_1 | LANE0_MAP_LOGIC_LANE_0; > > writel(reg, dp->reg_base + ANALOGIX_DP_LANE_MAP); > } > @@ -202,8 +202,8 @@ void analogix_dp_set_pll_power_down(struct analogix_dp_device *dp, bool enable) > } > > void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, > - enum analog_power_block block, > - bool enable) > + enum analog_power_block block, > + bool enable) > { > u32 reg; > > @@ -399,8 +399,8 @@ void analogix_dp_init_aux(struct analogix_dp_device *dp) > analogix_dp_reset_aux(dp); > > /* Disable AUX transaction H/W retry */ > - reg = AUX_BIT_PERIOD_EXPECTED_DELAY(3) | AUX_HW_RETRY_COUNT_SEL(0)| > - AUX_HW_RETRY_INTERVAL_600_MICROSECONDS; > + reg = AUX_BIT_PERIOD_EXPECTED_DELAY(3) | AUX_HW_RETRY_COUNT_SEL(0) | > + AUX_HW_RETRY_INTERVAL_600_MICROSECONDS; > writel(reg, dp->reg_base + ANALOGIX_DP_AUX_HW_RETRY_CTL); > > /* Receive AUX Channel DEFER commands equal to DEFFER_COUNT*64 */ > @@ -483,8 +483,8 @@ int analogix_dp_start_aux_transaction(struct analogix_dp_device *dp) > } > > int analogix_dp_write_byte_to_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned char data) > + unsigned int reg_addr, > + unsigned char data) > { > u32 reg; > int i; > @@ -519,17 +519,16 @@ int analogix_dp_write_byte_to_dpcd(struct analogix_dp_device *dp, > retval = analogix_dp_start_aux_transaction(dp); > if (retval == 0) > break; > - else > - dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > - __func__); > + > + dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", __func__); > } > > return retval; > } > > int analogix_dp_read_byte_from_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned char *data) > + unsigned int reg_addr, > + unsigned char *data) > { > u32 reg; > int i; > @@ -560,9 +559,8 @@ int analogix_dp_read_byte_from_dpcd(struct analogix_dp_device *dp, > retval = analogix_dp_start_aux_transaction(dp); > if (retval == 0) > break; > - else > - dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > - __func__); > + > + dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", __func__); > } > > /* Read data buffer */ > @@ -573,9 +571,9 @@ int analogix_dp_read_byte_from_dpcd(struct analogix_dp_device *dp, > } > > int analogix_dp_write_bytes_to_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned int count, > - unsigned char data[]) > + unsigned int reg_addr, > + unsigned int count, > + unsigned char data[]) > { > u32 reg; > unsigned int start_offset; > @@ -608,8 +606,9 @@ int analogix_dp_write_bytes_to_dpcd(struct analogix_dp_device *dp, > for (cur_data_idx = 0; cur_data_idx < cur_data_count; > cur_data_idx++) { > reg = data[start_offset + cur_data_idx]; > - writel(reg, dp->reg_base + ANALOGIX_DP_BUF_DATA_0 > - + 4 * cur_data_idx); > + writel(reg, dp->reg_base + > + ANALOGIX_DP_BUF_DATA_0 + > + 4 * cur_data_idx); > } > > /* > @@ -625,9 +624,9 @@ int analogix_dp_write_bytes_to_dpcd(struct analogix_dp_device *dp, > retval = analogix_dp_start_aux_transaction(dp); > if (retval == 0) > break; > - else > - dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > - __func__); > + > + dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > + __func__); > } > > start_offset += cur_data_count; > @@ -637,9 +636,9 @@ int analogix_dp_write_bytes_to_dpcd(struct analogix_dp_device *dp, > } > > int analogix_dp_read_bytes_from_dpcd(struct analogix_dp_device *dp, > - unsigned int reg_addr, > - unsigned int count, > - unsigned char data[]) > + unsigned int reg_addr, > + unsigned int count, > + unsigned char data[]) > { > u32 reg; > unsigned int start_offset; > @@ -683,9 +682,9 @@ int analogix_dp_read_bytes_from_dpcd(struct analogix_dp_device *dp, > retval = analogix_dp_start_aux_transaction(dp); > if (retval == 0) > break; > - else > - dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > - __func__); > + > + dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > + __func__); > } > > for (cur_data_idx = 0; cur_data_idx < cur_data_count; > @@ -703,8 +702,8 @@ int analogix_dp_read_bytes_from_dpcd(struct analogix_dp_device *dp, > } > > int analogix_dp_select_i2c_device(struct analogix_dp_device *dp, > - unsigned int device_addr, > - unsigned int reg_addr) > + unsigned int device_addr, > + unsigned int reg_addr) > { > u32 reg; > int retval; > @@ -736,9 +735,9 @@ int analogix_dp_select_i2c_device(struct analogix_dp_device *dp, > } > > int analogix_dp_read_byte_from_i2c(struct analogix_dp_device *dp, > - unsigned int device_addr, > - unsigned int reg_addr, > - unsigned int *data) > + unsigned int device_addr, > + unsigned int reg_addr, > + unsigned int *data) > { > u32 reg; > int i; > @@ -750,7 +749,8 @@ int analogix_dp_read_byte_from_i2c(struct analogix_dp_device *dp, > writel(reg, dp->reg_base + ANALOGIX_DP_BUFFER_DATA_CTL); > > /* Select EDID device */ > - retval = analogix_dp_select_i2c_device(dp, device_addr, reg_addr); > + retval = analogix_dp_select_i2c_device(dp, device_addr, > + reg_addr); > if (retval != 0) > continue; > > @@ -767,9 +767,8 @@ int analogix_dp_read_byte_from_i2c(struct analogix_dp_device *dp, > retval = analogix_dp_start_aux_transaction(dp); > if (retval == 0) > break; > - else > - dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > - __func__); > + > + dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", __func__); > } > > /* Read data */ > @@ -780,10 +779,10 @@ int analogix_dp_read_byte_from_i2c(struct analogix_dp_device *dp, > } > > int analogix_dp_read_bytes_from_i2c(struct analogix_dp_device *dp, > - unsigned int device_addr, > - unsigned int reg_addr, > - unsigned int count, > - unsigned char edid[]) > + unsigned int device_addr, > + unsigned int reg_addr, > + unsigned int count, > + unsigned char edid[]) > { > u32 reg; > unsigned int i, j; > @@ -828,15 +827,14 @@ int analogix_dp_read_bytes_from_i2c(struct analogix_dp_device *dp, > retval = analogix_dp_start_aux_transaction(dp); > if (retval == 0) > break; > - else > - dev_dbg(dp->dev, > - "%s: Aux Transaction fail!\n", > - __func__); > + > + dev_dbg(dp->dev, "%s: Aux Transaction fail!\n", > + __func__); > } > /* Check if Rx sends defer */ > reg = readl(dp->reg_base + ANALOGIX_DP_AUX_RX_COMM); > if (reg == AUX_RX_COMM_AUX_DEFER || > - reg == AUX_RX_COMM_I2C_DEFER) { > + reg == AUX_RX_COMM_I2C_DEFER) { > dev_err(dp->dev, "Defer: %d\n\n", reg); > defer = 1; > } > @@ -885,7 +883,8 @@ void analogix_dp_get_lane_count(struct analogix_dp_device *dp, u32 *count) > *count = reg; > } > > -void analogix_dp_enable_enhanced_mode(struct analogix_dp_device *dp, bool enable) > +void analogix_dp_enable_enhanced_mode(struct analogix_dp_device *dp, > + bool enable) > { > u32 reg; > > @@ -901,7 +900,7 @@ void analogix_dp_enable_enhanced_mode(struct analogix_dp_device *dp, bool enable > } > > void analogix_dp_set_training_pattern(struct analogix_dp_device *dp, > - enum pattern_set pattern) > + enum pattern_set pattern) > { > u32 reg; > > @@ -933,7 +932,8 @@ void analogix_dp_set_training_pattern(struct analogix_dp_device *dp, > } > } > > -void analogix_dp_set_lane0_pre_emphasis(struct analogix_dp_device *dp, u32 level) > +void analogix_dp_set_lane0_pre_emphasis(struct analogix_dp_device *dp, > + u32 level) > { > u32 reg; > > @@ -943,7 +943,8 @@ void analogix_dp_set_lane0_pre_emphasis(struct analogix_dp_device *dp, u32 level > writel(reg, dp->reg_base + ANALOGIX_DP_LN0_LINK_TRAINING_CTL); > } > > -void analogix_dp_set_lane1_pre_emphasis(struct analogix_dp_device *dp, u32 level) > +void analogix_dp_set_lane1_pre_emphasis(struct analogix_dp_device *dp, > + u32 level) > { > u32 reg; > > @@ -953,7 +954,8 @@ void analogix_dp_set_lane1_pre_emphasis(struct analogix_dp_device *dp, u32 level > writel(reg, dp->reg_base + ANALOGIX_DP_LN1_LINK_TRAINING_CTL); > } > > -void analogix_dp_set_lane2_pre_emphasis(struct analogix_dp_device *dp, u32 level) > +void analogix_dp_set_lane2_pre_emphasis(struct analogix_dp_device *dp, > + u32 level) > { > u32 reg; > > @@ -963,7 +965,8 @@ void analogix_dp_set_lane2_pre_emphasis(struct analogix_dp_device *dp, u32 level > writel(reg, dp->reg_base + ANALOGIX_DP_LN2_LINK_TRAINING_CTL); > } > > -void analogix_dp_set_lane3_pre_emphasis(struct analogix_dp_device *dp, u32 level) > +void analogix_dp_set_lane3_pre_emphasis(struct analogix_dp_device *dp, > + u32 level) > { > u32 reg; > > @@ -974,7 +977,7 @@ void analogix_dp_set_lane3_pre_emphasis(struct analogix_dp_device *dp, u32 level > } > > void analogix_dp_set_lane0_link_training(struct analogix_dp_device *dp, > - u32 training_lane) > + u32 training_lane) > { > u32 reg; > > @@ -983,7 +986,7 @@ void analogix_dp_set_lane0_link_training(struct analogix_dp_device *dp, > } > > void analogix_dp_set_lane1_link_training(struct analogix_dp_device *dp, > - u32 training_lane) > + u32 training_lane) > { > u32 reg; > > @@ -1001,7 +1004,7 @@ void analogix_dp_set_lane2_link_training(struct analogix_dp_device *dp, > } > > void analogix_dp_set_lane3_link_training(struct analogix_dp_device *dp, > - u32 training_lane) > + u32 training_lane) > { > u32 reg; > > @@ -1125,9 +1128,8 @@ int analogix_dp_is_slave_video_stream_clock_on(struct analogix_dp_device *dp) > } > > void analogix_dp_set_video_cr_mn(struct analogix_dp_device *dp, > - enum clock_recovery_m_value_type type, > - u32 m_value, > - u32 n_value) > + enum clock_recovery_m_value_type type, > + u32 m_value, u32 n_value) > { > u32 reg; > > @@ -1221,7 +1223,7 @@ void analogix_dp_config_video_slave_mode(struct analogix_dp_device *dp) > u32 reg; > > reg = readl(dp->reg_base + ANALOGIX_DP_FUNC_EN_1); > - reg &= ~(MASTER_VID_FUNC_EN_N|SLAVE_VID_FUNC_EN_N); > + reg &= ~(MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N); > reg |= MASTER_VID_FUNC_EN_N; > writel(reg, dp->reg_base + ANALOGIX_DP_FUNC_EN_1); > > -- > 1.9.1