From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v1,2/5] extcon: Return -EPROBE_DEFER when extcon device is not found From: Chanwoo Choi Message-Id: <5BE8C821.5080002@samsung.com> Date: Mon, 12 Nov 2018 09:24:01 +0900 To: Andy Shevchenko , MyungJoo Ham , linux-usb@vger.kernel.org, Felipe Balbi , Guenter Roeck , Heikki Krogerus , Roger Quadros , linux-pm@vger.kernel.org, "Rafael J. Wysocki" , Sebastian Reichel , linux-omap@vger.kernel.org, Darren Hart , platform-driver-x86@vger.kernel.org, Greg Kroah-Hartman , linux-kernel@vger.kernel.org, Chen-Yu Tsai , Hans de Goede List-ID: SGkgQW5keSwKCk9uIDIwMTjrhYQgMTHsm5QgMTHsnbwgMDM6MTAsIEFuZHkgU2hldmNoZW5rbyB3 cm90ZToKPiBBbGwgY3VycmVudCB1c2VycyBvZiBleHRjb25fZ2V0X2V4dGNvbl9kZXYoKSBBUEkg Y29uc2lkZXJzCj4gYW4gZXh0Y29uIGRldmljZSBhIG1hbmRhdG9yeSB0byBhcHBlYXIuIFRodXMs IHRoZXkgYWxsIGNvbnZlcnQKPiBOVUxMIHBvaW50ZXIgdG8gLUVQUk9CRV9ERUZFUiBlcnJvciBj b2RlLgo+IAo+IFRoZXJlIGlzIG9uZSBtb3JlIGNhbGxlciBhbnRpY2lwYXRlZCB3aXRoIHRoZSBz YW1lIHJlcXVpcmVtZW50cy4KPiAKPiBUbyBkZWNyZWFzZSBhIGNvZGUgZHVwbGljYXRpb24gYW5k IGEgYnVyZGVuIHRvIHRoZSBjYWxsZXJzLAo+IHJldHVybiAtRVBST0JFX0RFRkVSIGRpcmVjdGx5 IGZyb20gZXh0Y29uX2dldF9leHRjb25fZGV2KCkuCj4gCj4gU2lnbmVkLW9mZi1ieTogQW5keSBT aGV2Y2hlbmtvIDxhbmRyaXkuc2hldmNoZW5rb0BsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRy aXZlcnMvZXh0Y29uL2V4dGNvbi1heHAyODguYyAgICAgICAgfCA0ICsrLS0KPiAgZHJpdmVycy9l eHRjb24vZXh0Y29uLmMgICAgICAgICAgICAgICB8IDIgKy0KPiAgZHJpdmVycy9wb3dlci9zdXBw bHkvYXhwMjg4X2NoYXJnZXIuYyB8IDggKysrKy0tLS0KPiAgZHJpdmVycy91c2IvcGh5L3BoeS1v bWFwLW90Zy5jICAgICAgICB8IDYgKysrLS0tCj4gIGRyaXZlcnMvdXNiL3R5cGVjL3RjcG0vZnVz YjMwMi5jICAgICAgfCA0ICsrLS0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCsp LCAxMiBkZWxldGlvbnMoLSkKCkFja2VkLWJ5OiBDaGFud29vIENob2kgPGN3MDAuY2hvaUBzYW1z dW5nLmNvbT4KCkJlc3QgUmVnYXJkcywKQ2hhbndvbyBDaG9pCgo+IAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2V4dGNvbi9leHRjb24tYXhwMjg4LmMgYi9kcml2ZXJzL2V4dGNvbi9leHRjb24tYXhw Mjg4LmMKPiBpbmRleCBhOTgzNzA4Yjc3YTYuLjM0NzJkM2I3NTZlZCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2V4dGNvbi9leHRjb24tYXhwMjg4LmMKPiArKysgYi9kcml2ZXJzL2V4dGNvbi9leHRj b24tYXhwMjg4LmMKPiBAQCAtMzYwLDggKzM2MCw4IEBAIHN0YXRpYyBpbnQgYXhwMjg4X2V4dGNv bl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJCW5hbWUgPSBhY3BpX2Rl dl9nZXRfZmlyc3RfbWF0Y2hfbmFtZSgiSU5UMzQ5NiIsIE5VTEwsIC0xKTsKPiAgCQlpZiAobmFt ZSkgewo+ICAJCQlpbmZvLT5pZF9leHRjb24gPSBleHRjb25fZ2V0X2V4dGNvbl9kZXYobmFtZSk7 Cj4gLQkJCWlmICghaW5mby0+aWRfZXh0Y29uKQo+IC0JCQkJcmV0dXJuIC1FUFJPQkVfREVGRVI7 Cj4gKwkJCWlmIChJU19FUlIoaW5mby0+aWRfZXh0Y29uKSkKPiArCQkJCXJldHVybiBQVFJfRVJS KGluZm8tPmlkX2V4dGNvbik7Cj4gIAo+ICAJCQlkZXZfaW5mbyhkZXYsICJjb250cm9sbGluZyBV U0Igcm9sZVxuIik7Cj4gIAkJfSBlbHNlIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9leHRjb24v ZXh0Y29uLmMgYi9kcml2ZXJzL2V4dGNvbi9leHRjb24uYwo+IGluZGV4IDVhYjA0OThiZTY1Mi4u MmJkMGYyZjMzZjA1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZXh0Y29uL2V4dGNvbi5jCj4gKysr IGIvZHJpdmVycy9leHRjb24vZXh0Y29uLmMKPiBAQCAtODg0LDcgKzg4NCw3IEBAIHN0cnVjdCBl eHRjb25fZGV2ICpleHRjb25fZ2V0X2V4dGNvbl9kZXYoY29uc3QgY2hhciAqZXh0Y29uX25hbWUp Cj4gIAkJaWYgKCFzdHJjbXAoc2QtPm5hbWUsIGV4dGNvbl9uYW1lKSkKPiAgCQkJZ290byBvdXQ7 Cj4gIAl9Cj4gLQlzZCA9IE5VTEw7Cj4gKwlzZCA9IEVSUl9QVFIoLUVQUk9CRV9ERUZFUik7Cj4g IG91dDoKPiAgCW11dGV4X3VubG9jaygmZXh0Y29uX2Rldl9saXN0X2xvY2spOwo+ICAJcmV0dXJu IHNkOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Bvd2VyL3N1cHBseS9heHAyODhfY2hhcmdlci5j IGIvZHJpdmVycy9wb3dlci9zdXBwbHkvYXhwMjg4X2NoYXJnZXIuYwo+IGluZGV4IDczNTY1OGVl MWM2MC4uODU1ODU3N2ZjY2Y1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcG93ZXIvc3VwcGx5L2F4 cDI4OF9jaGFyZ2VyLmMKPiArKysgYi9kcml2ZXJzL3Bvd2VyL3N1cHBseS9heHAyODhfY2hhcmdl ci5jCj4gQEAgLTc2OCwxNyArNzY4LDE3IEBAIHN0YXRpYyBpbnQgYXhwMjg4X2NoYXJnZXJfcHJv YmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCWluZm8tPnJlZ21hcF9pcnFjID0g YXhwMjB4LT5yZWdtYXBfaXJxYzsKPiAgCj4gIAlpbmZvLT5jYWJsZS5lZGV2ID0gZXh0Y29uX2dl dF9leHRjb25fZGV2KEFYUDI4OF9FWFRDT05fREVWX05BTUUpOwo+IC0JaWYgKGluZm8tPmNhYmxl LmVkZXYgPT0gTlVMTCkgewo+ICsJaWYgKElTX0VSUihpbmZvLT5jYWJsZS5lZGV2KSkgewo+ICAJ CWRldl9kYmcoJnBkZXYtPmRldiwgIiVzIGlzIG5vdCByZWFkeSwgcHJvYmUgZGVmZXJyZWRcbiIs Cj4gIAkJCUFYUDI4OF9FWFRDT05fREVWX05BTUUpOwo+IC0JCXJldHVybiAtRVBST0JFX0RFRkVS Owo+ICsJCXJldHVybiBQVFJfRVJSKGluZm8tPmNhYmxlLmVkZXYpOwo+ICAJfQo+ICAKPiAgCWlm IChhY3BpX2Rldl9wcmVzZW50KFVTQl9IT1NUX0VYVENPTl9ISUQsIE5VTEwsIC0xKSkgewo+ICAJ CWluZm8tPm90Zy5jYWJsZSA9IGV4dGNvbl9nZXRfZXh0Y29uX2RldihVU0JfSE9TVF9FWFRDT05f TkFNRSk7Cj4gLQkJaWYgKGluZm8tPm90Zy5jYWJsZSA9PSBOVUxMKSB7Cj4gKwkJaWYgKElTX0VS UihpbmZvLT5vdGcuY2FibGUpKSB7Cj4gIAkJCWRldl9kYmcoZGV2LCAiRVhUQ09OX1VTQl9IT1NU IGlzIG5vdCByZWFkeSwgcHJvYmUgZGVmZXJyZWRcbiIpOwo+IC0JCQlyZXR1cm4gLUVQUk9CRV9E RUZFUjsKPiArCQkJcmV0dXJuIFBUUl9FUlIoaW5mby0+b3RnLmNhYmxlKTsKPiAgCQl9Cj4gIAkJ ZGV2X2luZm8oJnBkZXYtPmRldiwKPiAgCQkJICJVc2luZyAiIFVTQl9IT1NUX0VYVENPTl9ISUQg IiBleHRjb24gZm9yIHVzYi1pZFxuIik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3BoeS9w aHktb21hcC1vdGcuYyBiL2RyaXZlcnMvdXNiL3BoeS9waHktb21hcC1vdGcuYwo+IGluZGV4IGVl MDg2M2M2NTUzZS4uNjA1MzE0ZGRjZDNkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL3BoeS9w aHktb21hcC1vdGcuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL3BoeS9waHktb21hcC1vdGcuYwo+IEBA IC05MSwxMiArOTEsMTIgQEAgc3RhdGljIGludCBvbWFwX290Z19wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQo+ICAJaW50IHJldDsKPiAgCXUzMiByZXY7Cj4gIAo+IC0JaWYgKCFj b25maWcgfHwgIWNvbmZpZy0+ZXh0Y29uKQo+ICsJaWYgKCFjb25maWcpCj4gIAkJcmV0dXJuIC1F Tk9ERVY7Cj4gIAo+ICAJZXh0Y29uID0gZXh0Y29uX2dldF9leHRjb25fZGV2KGNvbmZpZy0+ZXh0 Y29uKTsKPiAtCWlmICghZXh0Y29uKQo+IC0JCXJldHVybiAtRVBST0JFX0RFRkVSOwo+ICsJaWYg KElTX0VSUihleHRjb24pKQo+ICsJCXJldHVybiBQVFJfRVJSKGV4dGNvbik7Cj4gIAo+ICAJb3Rn X2RldiA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LCBzaXplb2YoKm90Z19kZXYpLCBHRlBfS0VS TkVMKTsKPiAgCWlmICghb3RnX2RldikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvdHlwZWMv dGNwbS9mdXNiMzAyLmMgYi9kcml2ZXJzL3VzYi90eXBlYy90Y3BtL2Z1c2IzMDIuYwo+IGluZGV4 IDQzYjY0ZDkzMDlkMC4uNmQzMzIwNjYyMDJiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL3R5 cGVjL3RjcG0vZnVzYjMwMi5jCj4gKysrIGIvZHJpdmVycy91c2IvdHlwZWMvdGNwbS9mdXNiMzAy LmMKPiBAQCAtMTc2Nyw4ICsxNzY3LDggQEAgc3RhdGljIGludCBmdXNiMzAyX3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQsCj4gIAkgKi8KPiAgCWlmIChkZXZpY2VfcHJvcGVydHlfcmVh ZF9zdHJpbmcoZGV2LCAiZmNzLGV4dGNvbi1uYW1lIiwgJm5hbWUpID09IDApIHsKPiAgCQljaGlw LT5leHRjb24gPSBleHRjb25fZ2V0X2V4dGNvbl9kZXYobmFtZSk7Cj4gLQkJaWYgKCFjaGlwLT5l eHRjb24pCj4gLQkJCXJldHVybiAtRVBST0JFX0RFRkVSOwo+ICsJCWlmIChJU19FUlIoY2hpcC0+ ZXh0Y29uKSkKPiArCQkJcmV0dXJuIFBUUl9FUlIoY2hpcC0+ZXh0Y29uKTsKPiAgCX0KPiAgCj4g IAljaGlwLT52YnVzID0gZGV2bV9yZWd1bGF0b3JfZ2V0KGNoaXAtPmRldiwgInZidXMiKTsKPgo=