From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chanwoo Choi Subject: Re: [PATCH v1 2/5] extcon: Return -EPROBE_DEFER when extcon device is not found Date: Wed, 14 Nov 2018 20:05:50 +0900 Message-ID: <5BEC018E.8020102@samsung.com> References: <20181110181101.24557-1-andriy.shevchenko@linux.intel.com> <20181110181101.24557-2-andriy.shevchenko@linux.intel.com> <5BE8C821.5080002@samsung.com> <5BEB63C3.1020504@samsung.com> <5BEBE741.6050101@samsung.com> <20181114093652.GK10650@smile.fi.intel.com> <5BEBEF7C.7060003@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8BIT Return-path: In-reply-to: Sender: linux-kernel-owner@vger.kernel.org To: Andy Shevchenko Cc: MyungJoo Ham , USB , Felipe Balbi , Guenter Roeck , "Krogerus, Heikki" , rogerq@ti.com, Linux PM , "Rafael J. Wysocki" , Sebastian Reichel , Linux OMAP Mailing List , Darren Hart , Platform Driver , Greg Kroah-Hartman , Linux Kernel Mailing List , Chen-Yu Tsai , Hans de Goede List-Id: linux-omap@vger.kernel.org On 2018년 11월 14일 19:20, Andy Shevchenko wrote: > On Wed, Nov 14, 2018 at 11:48 AM Chanwoo Choi wrote: >> >> On 2018년 11월 14일 18:36, Andy Shevchenko wrote: >>> On Wed, Nov 14, 2018 at 06:13:37PM +0900, Chanwoo Choi wrote: >>>> On 2018년 11월 14일 17:35, Andy Shevchenko wrote: >>>>> On Wed, Nov 14, 2018 at 1:53 AM Chanwoo Choi wrote: >>>>> >>>>>> I was thinking about again to change from NULL to EPROBE_DEFER. >>>>>> >>>>>> extcon_get_extcon_dev() function was almost called in the probe function. >>>>>> But, this function might be called on other position instead of probe. >>>>> >>>>> *Might be* sounds like a theoretical thing, care to share what is in you mind? >>>>> Current users and more important the new coming one are *all* doing the same. >>>>> >>>>>> ENODEV is more correct error instead of EPROBE_DEFER. >>>>> >>>>> So, you are proposing to continue duplicating conversion from ENODEV >>>>> to EPROBE_DEFER in *each* caller? >>>> >>>> The extcon core don't know the caller situation is in either probe() or other position >>>> in the caller driver. The caller driver should decide the kind of error value >>>> by using the return value of extcon_get_extcon_dev(). >>>> >>>> extcon_get_extcon_dev() function cannot be modified for only one case. >>>> If some device driver call extcon_get_extcon_dev() out of probe() fuction, >>>> EPROBE_DEFER is not always correct. >>> >>> I agree with this, but look at the current state of affairs. All users do the same. >>> If we need to have another case we may consider this later. >> >> Because we know the potential wrong case of this change, I can't agree this change. >> If extcon_get_extcon_dev() returns ENODEV instead of EPROBE_DEFER, >> it is clear and then there are no problem on both current and future. > > Changing NULL to -ENODEV is a trading bad to worse. > I would not go that way, so, it's your call. If you think that this change is not necessary, just keep the current code without the modification. Please drop this patch on next version. > >>> API inside the kernel are not carved in the stone. > > Only can repeat myself (see above). While I see *theoretical* > rationale on your side, mine has *practical* proofs. > So, I'm giving up on this and will duplicate same what it's done in 4 > current callers. > I think that it is more important for removing the potential wrong case instead of removing the duplicate code. The many device drivers already decided the proper error value by using the return value of function of kernel framework. -- Best Regards, Chanwoo Choi Samsung Electronics 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: <5BEC018E.8020102@samsung.com> Date: Wed, 14 Nov 2018 20:05:50 +0900 To: Andy Shevchenko Cc: MyungJoo Ham , USB , Felipe Balbi , Guenter Roeck , "Krogerus, Heikki" , rogerq@ti.com, Linux PM , "Rafael J. Wysocki" , Sebastian Reichel , Linux OMAP Mailing List , Darren Hart , Platform Driver , Greg Kroah-Hartman , Linux Kernel Mailing List , Chen-Yu Tsai , Hans de Goede List-ID: T24gMjAxOOuFhCAxMeyblCAxNOydvCAxOToyMCwgQW5keSBTaGV2Y2hlbmtvIHdyb3RlOgo+IE9u IFdlZCwgTm92IDE0LCAyMDE4IGF0IDExOjQ4IEFNIENoYW53b28gQ2hvaSA8Y3cwMC5jaG9pQHNh bXN1bmcuY29tPiB3cm90ZToKPj4KPj4gT24gMjAxOOuFhCAxMeyblCAxNOydvCAxODozNiwgQW5k eSBTaGV2Y2hlbmtvIHdyb3RlOgo+Pj4gT24gV2VkLCBOb3YgMTQsIDIwMTggYXQgMDY6MTM6MzdQ TSArMDkwMCwgQ2hhbndvbyBDaG9pIHdyb3RlOgo+Pj4+IE9uIDIwMTjrhYQgMTHsm5QgMTTsnbwg MTc6MzUsIEFuZHkgU2hldmNoZW5rbyB3cm90ZToKPj4+Pj4gT24gV2VkLCBOb3YgMTQsIDIwMTgg YXQgMTo1MyBBTSBDaGFud29vIENob2kgPGN3MDAuY2hvaUBzYW1zdW5nLmNvbT4gd3JvdGU6Cj4+ Pj4+Cj4+Pj4+PiBJIHdhcyB0aGlua2luZyBhYm91dCBhZ2FpbiB0byBjaGFuZ2UgZnJvbSBOVUxM IHRvIEVQUk9CRV9ERUZFUi4KPj4+Pj4+Cj4+Pj4+PiBleHRjb25fZ2V0X2V4dGNvbl9kZXYoKSBm dW5jdGlvbiB3YXMgYWxtb3N0IGNhbGxlZCBpbiB0aGUgcHJvYmUgZnVuY3Rpb24uCj4+Pj4+PiBC dXQsIHRoaXMgZnVuY3Rpb24gbWlnaHQgYmUgY2FsbGVkIG9uIG90aGVyIHBvc2l0aW9uIGluc3Rl YWQgb2YgcHJvYmUuCj4+Pj4+Cj4+Pj4+ICpNaWdodCBiZSogc291bmRzIGxpa2UgYSB0aGVvcmV0 aWNhbCB0aGluZywgY2FyZSB0byBzaGFyZSB3aGF0IGlzIGluIHlvdSBtaW5kPwo+Pj4+PiBDdXJy ZW50IHVzZXJzIGFuZCBtb3JlIGltcG9ydGFudCB0aGUgbmV3IGNvbWluZyBvbmUgYXJlICphbGwq IGRvaW5nIHRoZSBzYW1lLgo+Pj4+Pgo+Pj4+Pj4gRU5PREVWIGlzIG1vcmUgY29ycmVjdCBlcnJv ciBpbnN0ZWFkIG9mIEVQUk9CRV9ERUZFUi4KPj4+Pj4KPj4+Pj4gU28sIHlvdSBhcmUgcHJvcG9z aW5nIHRvIGNvbnRpbnVlIGR1cGxpY2F0aW5nIGNvbnZlcnNpb24gZnJvbSBFTk9ERVYKPj4+Pj4g dG8gRVBST0JFX0RFRkVSIGluICplYWNoKiBjYWxsZXI/Cj4+Pj4KPj4+PiBUaGUgZXh0Y29uIGNv cmUgZG9uJ3Qga25vdyB0aGUgY2FsbGVyIHNpdHVhdGlvbiBpcyBpbiBlaXRoZXIgcHJvYmUoKSBv ciBvdGhlciBwb3NpdGlvbgo+Pj4+IGluIHRoZSBjYWxsZXIgZHJpdmVyLiBUaGUgY2FsbGVyIGRy aXZlciBzaG91bGQgZGVjaWRlIHRoZSBraW5kIG9mIGVycm9yIHZhbHVlCj4+Pj4gYnkgdXNpbmcg dGhlIHJldHVybiB2YWx1ZSBvZiBleHRjb25fZ2V0X2V4dGNvbl9kZXYoKS4KPj4+Pgo+Pj4+IGV4 dGNvbl9nZXRfZXh0Y29uX2RldigpIGZ1bmN0aW9uIGNhbm5vdCBiZSBtb2RpZmllZCBmb3Igb25s eSBvbmUgY2FzZS4KPj4+PiBJZiBzb21lIGRldmljZSBkcml2ZXIgY2FsbCBleHRjb25fZ2V0X2V4 dGNvbl9kZXYoKSBvdXQgb2YgcHJvYmUoKSBmdWN0aW9uLAo+Pj4+IEVQUk9CRV9ERUZFUiBpcyBu b3QgYWx3YXlzIGNvcnJlY3QuCj4+Pgo+Pj4gSSBhZ3JlZSB3aXRoIHRoaXMsIGJ1dCBsb29rIGF0 IHRoZSBjdXJyZW50IHN0YXRlIG9mIGFmZmFpcnMuIEFsbCB1c2VycyBkbyB0aGUgc2FtZS4KPj4+ IElmIHdlIG5lZWQgdG8gaGF2ZSBhbm90aGVyIGNhc2Ugd2UgbWF5IGNvbnNpZGVyIHRoaXMgbGF0 ZXIuCj4+Cj4+IEJlY2F1c2Ugd2Uga25vdyB0aGUgcG90ZW50aWFsIHdyb25nIGNhc2Ugb2YgdGhp cyBjaGFuZ2UsIEkgY2FuJ3QgYWdyZWUgdGhpcyBjaGFuZ2UuCj4+IElmIGV4dGNvbl9nZXRfZXh0 Y29uX2RldigpIHJldHVybnMgRU5PREVWIGluc3RlYWQgb2YgRVBST0JFX0RFRkVSLAo+PiBpdCBp cyBjbGVhciBhbmQgdGhlbiB0aGVyZSBhcmUgbm8gcHJvYmxlbSBvbiBib3RoIGN1cnJlbnQgYW5k IGZ1dHVyZS4KPiAKPiBDaGFuZ2luZyBOVUxMIHRvIC1FTk9ERVYgaXMgYSB0cmFkaW5nIGJhZCB0 byB3b3JzZS4KPiBJIHdvdWxkIG5vdCBnbyB0aGF0IHdheSwgc28sIGl0J3MgeW91ciBjYWxsLgoK SWYgeW91IHRoaW5rIHRoYXQgdGhpcyBjaGFuZ2UgaXMgbm90IG5lY2Vzc2FyeSwganVzdCBrZWVw IHRoZSBjdXJyZW50IGNvZGUKd2l0aG91dCB0aGUgbW9kaWZpY2F0aW9uLiBQbGVhc2UgZHJvcCB0 aGlzIHBhdGNoIG9uIG5leHQgdmVyc2lvbi4KCj4gCj4+PiBBUEkgaW5zaWRlIHRoZSBrZXJuZWwg YXJlIG5vdCBjYXJ2ZWQgaW4gdGhlIHN0b25lLgo+IAo+IE9ubHkgY2FuIHJlcGVhdCBteXNlbGYg KHNlZSBhYm92ZSkuIFdoaWxlIEkgc2VlICp0aGVvcmV0aWNhbCoKPiByYXRpb25hbGUgb24geW91 ciBzaWRlLCBtaW5lIGhhcyAqcHJhY3RpY2FsKiBwcm9vZnMuCj4gU28sIEknbSBnaXZpbmcgdXAg b24gdGhpcyBhbmQgd2lsbCBkdXBsaWNhdGUgc2FtZSB3aGF0IGl0J3MgZG9uZSBpbiA0Cj4gY3Vy cmVudCBjYWxsZXJzLgo+IAoKSSB0aGluayB0aGF0IGl0IGlzIG1vcmUgaW1wb3J0YW50IGZvciBy ZW1vdmluZyB0aGUgcG90ZW50aWFsIHdyb25nIGNhc2UKaW5zdGVhZCBvZiByZW1vdmluZyB0aGUg ZHVwbGljYXRlIGNvZGUuIFRoZSBtYW55IGRldmljZSBkcml2ZXJzIGFscmVhZHkKZGVjaWRlZCB0 aGUgcHJvcGVyIGVycm9yIHZhbHVlIGJ5IHVzaW5nIHRoZSByZXR1cm4gdmFsdWUgb2YgZnVuY3Rp b24gb2YgCmtlcm5lbCBmcmFtZXdvcmsuCg==