From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Zhong Subject: Re: [v5 PATCH 1/5] extcon: Add Type-C and DP support Date: Wed, 13 Jul 2016 09:39:38 +0800 Message-ID: <57859BDA.7080309@rock-chips.com> References: <1468336188-565-1-git-send-email-zyw@rock-chips.com> <1468336188-565-2-git-send-email-zyw@rock-chips.com> <57859532.1010002@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <57859532.1010002-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+glpar-linux-rockchip=m.gmane.org-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org To: Chanwoo Choi , dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, tfiga-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org, yzq-TNX95d0MmH7DzftRWevZcw@public.gmane.org, groeck-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, myungjoo.ham-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org, wulf-TNX95d0MmH7DzftRWevZcw@public.gmane.org, marcheu-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-rockchip.vger.kernel.org SGkgQ2hhbndvbyBDaG9pCgoKT24gMDcvMTMvMjAxNiAwOToxMSBBTSwgQ2hhbndvbyBDaG9pIHdy b3RlOgo+IEhpIENocmlzLAo+Cj4gSSdtIG5vdyBkZXZlbG9waW5nIHRoZSBleHRjb24gcHJvcGVy dHkgb24gZXh0Y29uLXRlc3QgYnJhbmNoLgo+IEJ1dCwgaXQgaGFzIG5vdCBiZWVuIGNvbXBsZXRl ZC4KPgo+IE9uIG5leHQgdmVyc2lvbiwgSSdsbCByZW1vdmUgdGhlIG5vdGlmaWNhdGlvbiBhYm91 dCBleHRjb24gcHJvcGVydHkKPiBhbmQgb25seSBzdXBwb3J0IHRoZSBmb2xsb3dpbmcgdHdvIGZ1 bmN0aW9ucy4KPiAtIGV4dGNvbl9zZXRfY2FibGVfcHJvcGVydHkoKQo+IC0gZXh0Y29uX2dldF9j YWJsZV9wcm9wZXJ0eSgpCj4KPiBCZWNhdXNlIHRoZSBudW1iZXIgb2YgcHJvcGVydGllcyB3b3Vs ZCBiZSByaXNlbiBhbmQgdGhlIGFsbCBwcm9wZXJ0aWVzCj4gZGVwZW5kIG9uIHRoZSBzcGVjaWZp YyBleHRlcm5hbCBjb25uZWN0b3IoZS5nLiwgRVhUQ09OX1BST1BfVVNCX1ZCVVMKPiBkZXBlbmQg b24gdGhlIEVYVENPTl9UWVBFX1VTQiB0eXBlKS4gV2hlbiB0aGUgc3BlY2lmaWMgZXh0ZXJuYWwg Y29ubmVjdG9yCj4gaXMgZGV0YWNoZWQsIGV4dGNvbiBmcmFtZXdvcmsgc2hvdWxkIG1ha2UgdGhl IHByb3BlcnR5IHN0YXRlIGFzIGRlZmF1bHQgc3RhdGUuCgpZZXMsIEkgdGhpbmsgZ2V0dGluZyB0 aGUgbm90aWZpY2F0aW9uIGZyb20gY2FibGUgc3RhdGUgaXMgZW5vdWdoLCAKYWN0dWFsbHkgSSBh bSB1c2luZyBpdCBsaWtlIHlvdSBzYWlkLgoKPgo+IEl0IG1heSBzZW5kIHRoZSB0b28gbWFueSBu b3RpZmljYXRpb24gZm9yIGV4dGNvbiBwcm9wZXJ0eS4KPiBGb3IgZXhhbXBsZSwgQXNzdW1lIHRo YXQgRVhUQ09OX1RZUEVfVVNCIGhhcyB0aGUgb3ZlciAyMCBwcm9wZXJ0aWVzLAo+IHdoZW4gRVhU Q09OX1VTQiBvciBFWFRDT05fVVNCX0hPU1QgaXMgZGV0YWNoZWQsIGV4dGNvbiBzaG91bGQgc2Vu ZAo+IHRoZSBub3RpZmljYXRpb24gZm9yIHRoZSBvdmVyIDIwIHByb3BlcnRpZXMgYW5kIG9uZSBt b3JlIG5vdGlmaWNhaXRvbgo+IGZvciBzdGF0ZSBvZiBleHRlcm5hbCBjb25uZWN0b3IuCj4KPiBT bywgSSdsbCBzZW5kIHRoZSBSRkMgcGF0Y2hzZXQgd2l0aG91dCB0aGUgbm90aWZpY2F0aW9uIG9m IHByb2VydHkuCj4KPiBMYXN0bHksCj4gSSBoYXZlIGEgY29tbWVudCBvbiBiZWxvdy4KPgo+IFRo YW5rcywKPiBDaGFud29vIENob2kKPgo+IE9uIDIwMTbrhYQgMDfsm5QgMTPsnbwgMDA6MDksIENo cmlzIFpob25nIHdyb3RlOgo+PiBBZGQgRVhUQ09OX0RJU1BfRFAgZm9yIHRoZSBEaXNwbGF5IGV4 dGVybmFsIGNvbm5lY3Rvci4gRm9yIFR5cGUtQwo+PiBjb25uZWN0b3IgdGhlIERpc3BsYXlQb3J0 IGNhbiB3b3JrIGFzIGFuIEFsdGVybmF0ZSBNb2RlKFZFU0EgRGlzcGxheVBvcnQKPj4gQWx0IE1v ZGUgb24gVVNCIFR5cGUtQyBTdGFuZGFyZCkuIFRoZSBUeXBlLUMgc3VwcG9ydCBib3RoIG5vcm1h bCBhbmQKPj4gZmxpcHBlZCBvcmllbnRhdGlvbiwgc28gYWRkIGEgcHJvcGVydHkgdG8gZXh0Y29u Lgo+Pgo+PiBTaWduZS1vZmYtYnk6IENocmlzIFpob25nIDx6eXdAcm9jay1jaGlwcy5jb20+Cj4+ Cj4+IFNpZ25lZC1vZmYtYnk6IENocmlzIFpob25nIDx6eXdAcm9jay1jaGlwcy5jb20+Cj4+IC0t LQo+Pgo+PiBDaGFuZ2VzIGluIHY1Ogo+PiAtIHN1cHBvcnQgZ2V0IHByb3BlcnR5Cj4+Cj4+IENo YW5nZXMgaW4gdjQ6IE5vbmUKPj4gQ2hhbmdlcyBpbiB2MzogTm9uZQo+PiBDaGFuZ2VzIGluIHYy OiBOb25lCj4+IENoYW5nZXMgaW4gdjE6IE5vbmUKPj4KPj4gICBkcml2ZXJzL2V4dGNvbi9leHRj b24uYyB8IDI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gICBpbmNsdWRlL2xpbnV4 L2V4dGNvbi5oICB8IDEzICsrKysrKysrKysrKysKPj4gICAyIGZpbGVzIGNoYW5nZWQsIDQxIGlu c2VydGlvbnMoKykKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZXh0Y29uL2V4dGNvbi5jIGIv ZHJpdmVycy9leHRjb24vZXh0Y29uLmMKPj4gaW5kZXggYTExMTdkYi4uMjU5MWIyOCAxMDA2NDQK Pj4gLS0tIGEvZHJpdmVycy9leHRjb24vZXh0Y29uLmMKPj4gKysrIGIvZHJpdmVycy9leHRjb24v ZXh0Y29uLmMKPj4gQEAgLTE1Nyw2ICsxNTcsMTEgQEAgc3RydWN0IF9fZXh0Y29uX2luZm8gewo+ PiAgIAkJLmlkID0gRVhUQ09OX0RJU1BfVkdBLAo+PiAgIAkJLm5hbWUgPSAiVkdBIiwKPj4gICAJ fSwKPj4gKwlbRVhUQ09OX0RJU1BfRFBdID0gewo+PiArCQkudHlwZSA9IEVYVENPTl9UWVBFX0RJ U1AsCj4+ICsJCS5pZCA9IEVYVENPTl9ESVNQX0RQLAo+PiArCQkubmFtZSA9ICJEUCIsCj4+ICsJ fSwKPj4gICAKPj4gICAJLyogTWlzY2VsbGFuZW91cyBleHRlcm5hbCBjb25uZWN0b3IgKi8KPj4g ICAJW0VYVENPTl9ET0NLXSA9IHsKPj4gQEAgLTI3MCw2ICsyNzUsNyBAQCBzdGF0aWMgYm9vbCBp c19leHRjb25fcHJvcGVydHlfc3VwcG9ydGVkKHVuc2lnbmVkIGludCBpZCwKPj4gICAJCXN3aXRj aCAocHJvcCkgewo+PiAgIAkJY2FzZSBFWFRDT05fUFJPUF9VU0JfSUQ6Cj4+ICAgCQljYXNlIEVY VENPTl9QUk9QX1VTQl9WQlVTOgo+PiArCQljYXNlIEVYVENPTl9QUk9QX1RZUEVDX1BPTEFSSVRZ Ogo+PiAgIAkJCXJldHVybiB0cnVlOwo+PiAgIAkJZGVmYXVsdDoKPj4gICAJCQlicmVhazsKPj4g QEAgLTI4Niw2ICsyOTIsOCBAQCBzdGF0aWMgYm9vbCBpc19leHRjb25fcHJvcGVydHlfc3VwcG9y dGVkKHVuc2lnbmVkIGludCBpZCwKPj4gICAJCX0KPj4gICAJY2FzZSBFWFRDT05fVFlQRV9ESVNQ Ogo+PiAgIAkJc3dpdGNoIChwcm9wKSB7Cj4+ICsJCWNhc2UgRVhUQ09OX1BST1BfVFlQRUNfUE9M QVJJVFk6Cj4gU2hvdWxkIEVYVENPTl9QUk9QX1RZUEVDX1BPTEFSSVRZIHByb3BlcnR5IGFkZCB0 byBib3RoIEVYVENPTl9UWVBFX1VTQiBhbmQgRVhUQ09OX1RZUF9ESVNQPwo+IEVYVENPTl9QUk9Q X1RZUEVDX1BPTEFSSVRZIGlzIHRoZSBwcm9wZXJ0eSBvZiBVU0IgQy10eXBlPwoKaXQgaXMgZm9y IFVTQiBUeXBlLUMsIEJ1dCBhdCBEaXNwbGF5IFBvcnQgYWx0IG1vZGUsIGJvdGggRVhUQ09OX1VT QiBhbmQgCkVYVENPTl9VU0JfSE9TVCBtYXkgYmUgZGV0YWNoZWQuIERvZXMgaXQgc3VwcG9ydCBz ZXQgdGhlIHByb3BlcnR5IHRvIGEgCmRldGFjaGVkIGNhYmxlLCBpZiBzbywgSSB0aGluayBtb3Zl IHRoaXMgY2FzZSB0byBFWFRDT05fVVNCIGlzIGZpbmUuCgpUaGFua3MKQ2hyaXMKPgo+PiArCQkJ cmV0dXJuIHRydWU7Cj4+ICAgCQlkZWZhdWx0Ogo+PiAgIAkJCWJyZWFrOwo+PiAgIAkJfQo+PiBA QCAtNTQ3LDYgKzU1NSwyNiBAQCBpbnQgZXh0Y29uX2dldF9jYWJsZV9wcm9wZXJ0eShzdHJ1Y3Qg ZXh0Y29uX2RldiAqZWRldiwgdW5zaWduZWQgaW50IGlkLAo+PiAgIAkJCQllbnVtIGV4dGNvbl9w cm9wZXJ0eSBwcm9wLAo+PiAgIAkJCQl1bmlvbiBleHRjb25fcHJvcGVydHlfdmFsdWUgKnZhbCkK Pj4gICB7Cj4+ICsJc3RydWN0IGV4dGNvbl9jYWJsZSAqY2FibGU7Cj4+ICsJaW50IGluZGV4Owo+ PiArCj4+ICsJaWYgKCFlZGV2KQo+PiArCQlyZXR1cm4gLUVJTlZBTDsKPj4gKwo+PiArCS8qIENo ZWNrIHRoZSBwcm9wZXJ0eSB3aGV0aGVyIGlzIHN1cHBvcnRlZCBvciBub3QgKi8KPj4gKwlpZiAo IWlzX2V4dGNvbl9wcm9wZXJ0eV9zdXBwb3J0ZWQoaWQsIHByb3ApKQo+PiArCQlyZXR1cm4gLUVJ TlZBTDsKPj4gKwo+PiArCS8qIEZpbmQgdGhlIGNhYmxlIGluZGV4IG9mIGV4dGVybmFsIGNvbm5l Y3RvciBieSB1c2luZyBpZCAqLwo+PiArCWluZGV4ID0gZmluZF9jYWJsZV9pbmRleF9ieV9pZChl ZGV2LCBpZCk7Cj4+ICsJaWYgKGluZGV4IDwgMCkKPj4gKwkJcmV0dXJuIGluZGV4Owo+PiArCj4+ ICsJLyogU3RvcmUgdGhlIHByb3BlcnR5IHZhbHVlICovCj4+ICsJY2FibGUgPSAmZWRldi0+Y2Fi bGVzW2luZGV4XTsKPj4gKwo+PiArCXZhbC0+aW50dmFsID0gY2FibGUtPnByb3B2YWxbcHJvcF0u aW50dmFsOwo+PiArCj4+ICAgCXJldHVybiAwOwo+PiAgIH0KPiBBZnRlciBJIGRldmVsb3AgaXQg YWJvdXQgZ2V0X2NhYmxlX3Byb3BlcnR5LCBJJ2xsIHNlbmQgUkZDIHBhdGNoc2V0Lgo+Cj4+ICAg Cj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2V4dGNvbi5oIGIvaW5jbHVkZS9saW51eC9l eHRjb24uaAo+PiBpbmRleCBmNmYwYThkLi41MGVmODdmIDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRl L2xpbnV4L2V4dGNvbi5oCj4+ICsrKyBiL2luY2x1ZGUvbGludXgvZXh0Y29uLmgKPj4gQEAgLTc3 LDYgKzc3LDcgQEAgZW51bSBleHRjb25fdHlwZSB7Cj4+ICAgI2RlZmluZSBFWFRDT05fRElTUF9N SEwJCTQxCS8qIE1vYmlsZSBIaWdoLURlZmluaXRpb24gTGluayAqLwo+PiAgICNkZWZpbmUgRVhU Q09OX0RJU1BfRFZJCQk0MgkvKiBEaWdpdGFsIFZpc3VhbCBJbnRlcmZhY2UgKi8KPj4gICAjZGVm aW5lIEVYVENPTl9ESVNQX1ZHQQkJNDMJLyogVmlkZW8gR3JhcGhpY3MgQXJyYXkgKi8KPj4gKyNk ZWZpbmUgRVhUQ09OX0RJU1BfRFAJCTQ0CS8qIERpc3BsYXlQb3J0ICovCj4+ICAgCj4+ICAgLyog TWlzY2VsbGFuZW91cyBleHRlcm5hbCBjb25uZWN0b3IgKi8KPj4gICAjZGVmaW5lIEVYVENPTl9E T0NLCQk2MAo+PiBAQCAtMTA4LDkgKzEwOSwxMyBAQCBlbnVtIGV4dGNvbl9wcm9wZXJ0eSB7Cj4+ ICAgCSAqIC0gRVhUQ09OX1BST1BfVVNCX1VTQgo+PiAgIAkgKiBAdHlwZToJaW50ZWdlciAoaW50 IHZhbHVlKQo+PiAgIAkgKiBAdmFsdWU6CTAgKGxvdykgb3IgMSAoaGlnaCkKPj4gKwkgKiAtIEVY VENPTl9QUk9QX1RZUEVDX1BPTEFSSVRZLAo+PiArCSAqIEB0eXBlOglpbnRlZ2VyIChpbnQgdmFs dWUpCj4+ICsJICogQHZhbHVlOgkwIChub3JtYWwpIG9yIDEgKGZsaXApCj4+ICAgCSAqLwo+PiAg IAlFWFRDT05fUFJPUF9VU0JfSUQgPSAwLAo+PiAgIAlFWFRDT05fUFJPUF9VU0JfVkJVUywKPj4g KwlFWFRDT05fUFJPUF9UWVBFQ19QT0xBUklUWSwKPj4gICAKPj4gICAJLyogUHJvcGVydGllcyBv ZiBFWFRDT05fVFlQRV9DSEcuICovCj4+ICAgCS8qIFByb3BlcnRpZXMgb2YgRVhUQ09OX1RZUEVf SkFDSy4gKi8KPj4gQEAgLTIyNSw2ICsyMzAsMTQgQEAgZXh0ZXJuIGludCBleHRjb25fZ2V0X2Nh YmxlX3N0YXRlXyhzdHJ1Y3QgZXh0Y29uX2RldiAqZWRldiwgdW5zaWduZWQgaW50IGlkKTsKPj4g ICBleHRlcm4gaW50IGV4dGNvbl9zZXRfY2FibGVfc3RhdGVfKHN0cnVjdCBleHRjb25fZGV2ICpl ZGV2LCB1bnNpZ25lZCBpbnQgaWQsCj4+ICAgCQkJCSAgIGJvb2wgY2FibGVfc3RhdGUpOwo+PiAg IAo+PiArZXh0ZXJuIGludCBleHRjb25fZ2V0X2NhYmxlX3Byb3BlcnR5KHN0cnVjdCBleHRjb25f ZGV2ICplZGV2LCB1bnNpZ25lZCBpbnQgaWQsCj4+ICsJCQkJICAgICBlbnVtIGV4dGNvbl9wcm9w ZXJ0eSBwcm9wLAo+PiArCQkJCSAgICAgdW5pb24gZXh0Y29uX3Byb3BlcnR5X3ZhbHVlICp2YWwp Owo+PiArCj4+ICtleHRlcm4gaW50IGV4dGNvbl9zZXRfY2FibGVfcHJvcGVydHkoc3RydWN0IGV4 dGNvbl9kZXYgKmVkZXYsIHVuc2lnbmVkIGludCBpZCwKPj4gKwkJCQkgICAgIGVudW0gZXh0Y29u X3Byb3BlcnR5IHByb3AsCj4+ICsJCQkJICAgICB1bmlvbiBleHRjb25fcHJvcGVydHlfdmFsdWUg dmFsKTsKPj4gKwo+IGRpdHRvLgo+Cj4gVGhhbmtzLAo+IENoYW53b28gQ2hvaQo+Cj4KPgoKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1yb2Nr Y2hpcCBtYWlsaW5nIGxpc3QKTGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751113AbcGMBlD (ORCPT ); Tue, 12 Jul 2016 21:41:03 -0400 Received: from regular1.263xmail.com ([211.150.99.131]:34084 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750875AbcGMBk7 (ORCPT ); Tue, 12 Jul 2016 21:40:59 -0400 X-263anti-spam: KSV:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: zyw@rock-chips.com X-FST-TO: linux-kernel@vger.kernel.org X-SENDER-IP: 103.29.142.67 X-LOGIN-NAME: zyw@rock-chips.com X-UNIQUE-TAG: <1b319a13f3848d205d2bf41ffabb221e> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [v5 PATCH 1/5] extcon: Add Type-C and DP support To: Chanwoo Choi , dianders@chromium.org, tfiga@chromium.org, heiko@sntech.de, yzq@rock-chips.com, groeck@chromium.org, myungjoo.ham@samsung.com, wulf@rock-chips.com, marcheu@chromium.org References: <1468336188-565-1-git-send-email-zyw@rock-chips.com> <1468336188-565-2-git-send-email-zyw@rock-chips.com> <57859532.1010002@samsung.com> Cc: linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org From: Chris Zhong Message-ID: <57859BDA.7080309@rock-chips.com> Date: Wed, 13 Jul 2016 09:39:38 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <57859532.1010002@samsung.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Chanwoo Choi On 07/13/2016 09:11 AM, Chanwoo Choi wrote: > Hi Chris, > > I'm now developing the extcon property on extcon-test branch. > But, it has not been completed. > > On next version, I'll remove the notification about extcon property > and only support the following two functions. > - extcon_set_cable_property() > - extcon_get_cable_property() > > Because the number of properties would be risen and the all properties > depend on the specific external connector(e.g., EXTCON_PROP_USB_VBUS > depend on the EXTCON_TYPE_USB type). When the specific external connector > is detached, extcon framework should make the property state as default state. Yes, I think getting the notification from cable state is enough, actually I am using it like you said. > > It may send the too many notification for extcon property. > For example, Assume that EXTCON_TYPE_USB has the over 20 properties, > when EXTCON_USB or EXTCON_USB_HOST is detached, extcon should send > the notification for the over 20 properties and one more notificaiton > for state of external connector. > > So, I'll send the RFC patchset without the notification of proerty. > > Lastly, > I have a comment on below. > > Thanks, > Chanwoo Choi > > On 2016년 07월 13일 00:09, Chris Zhong wrote: >> Add EXTCON_DISP_DP for the Display external connector. For Type-C >> connector the DisplayPort can work as an Alternate Mode(VESA DisplayPort >> Alt Mode on USB Type-C Standard). The Type-C support both normal and >> flipped orientation, so add a property to extcon. >> >> Signe-off-by: Chris Zhong >> >> Signed-off-by: Chris Zhong >> --- >> >> Changes in v5: >> - support get property >> >> Changes in v4: None >> Changes in v3: None >> Changes in v2: None >> Changes in v1: None >> >> drivers/extcon/extcon.c | 28 ++++++++++++++++++++++++++++ >> include/linux/extcon.h | 13 +++++++++++++ >> 2 files changed, 41 insertions(+) >> >> diff --git a/drivers/extcon/extcon.c b/drivers/extcon/extcon.c >> index a1117db..2591b28 100644 >> --- a/drivers/extcon/extcon.c >> +++ b/drivers/extcon/extcon.c >> @@ -157,6 +157,11 @@ struct __extcon_info { >> .id = EXTCON_DISP_VGA, >> .name = "VGA", >> }, >> + [EXTCON_DISP_DP] = { >> + .type = EXTCON_TYPE_DISP, >> + .id = EXTCON_DISP_DP, >> + .name = "DP", >> + }, >> >> /* Miscellaneous external connector */ >> [EXTCON_DOCK] = { >> @@ -270,6 +275,7 @@ static bool is_extcon_property_supported(unsigned int id, >> switch (prop) { >> case EXTCON_PROP_USB_ID: >> case EXTCON_PROP_USB_VBUS: >> + case EXTCON_PROP_TYPEC_POLARITY: >> return true; >> default: >> break; >> @@ -286,6 +292,8 @@ static bool is_extcon_property_supported(unsigned int id, >> } >> case EXTCON_TYPE_DISP: >> switch (prop) { >> + case EXTCON_PROP_TYPEC_POLARITY: > Should EXTCON_PROP_TYPEC_POLARITY property add to both EXTCON_TYPE_USB and EXTCON_TYP_DISP? > EXTCON_PROP_TYPEC_POLARITY is the property of USB C-type? it is for USB Type-C, But at Display Port alt mode, both EXTCON_USB and EXTCON_USB_HOST may be detached. Does it support set the property to a detached cable, if so, I think move this case to EXTCON_USB is fine. Thanks Chris > >> + return true; >> default: >> break; >> } >> @@ -547,6 +555,26 @@ int extcon_get_cable_property(struct extcon_dev *edev, unsigned int id, >> enum extcon_property prop, >> union extcon_property_value *val) >> { >> + struct extcon_cable *cable; >> + int index; >> + >> + if (!edev) >> + return -EINVAL; >> + >> + /* Check the property whether is supported or not */ >> + if (!is_extcon_property_supported(id, prop)) >> + return -EINVAL; >> + >> + /* Find the cable index of external connector by using id */ >> + index = find_cable_index_by_id(edev, id); >> + if (index < 0) >> + return index; >> + >> + /* Store the property value */ >> + cable = &edev->cables[index]; >> + >> + val->intval = cable->propval[prop].intval; >> + >> return 0; >> } > After I develop it about get_cable_property, I'll send RFC patchset. > >> >> diff --git a/include/linux/extcon.h b/include/linux/extcon.h >> index f6f0a8d..50ef87f 100644 >> --- a/include/linux/extcon.h >> +++ b/include/linux/extcon.h >> @@ -77,6 +77,7 @@ enum extcon_type { >> #define EXTCON_DISP_MHL 41 /* Mobile High-Definition Link */ >> #define EXTCON_DISP_DVI 42 /* Digital Visual Interface */ >> #define EXTCON_DISP_VGA 43 /* Video Graphics Array */ >> +#define EXTCON_DISP_DP 44 /* DisplayPort */ >> >> /* Miscellaneous external connector */ >> #define EXTCON_DOCK 60 >> @@ -108,9 +109,13 @@ enum extcon_property { >> * - EXTCON_PROP_USB_USB >> * @type: integer (int value) >> * @value: 0 (low) or 1 (high) >> + * - EXTCON_PROP_TYPEC_POLARITY, >> + * @type: integer (int value) >> + * @value: 0 (normal) or 1 (flip) >> */ >> EXTCON_PROP_USB_ID = 0, >> EXTCON_PROP_USB_VBUS, >> + EXTCON_PROP_TYPEC_POLARITY, >> >> /* Properties of EXTCON_TYPE_CHG. */ >> /* Properties of EXTCON_TYPE_JACK. */ >> @@ -225,6 +230,14 @@ extern int extcon_get_cable_state_(struct extcon_dev *edev, unsigned int id); >> extern int extcon_set_cable_state_(struct extcon_dev *edev, unsigned int id, >> bool cable_state); >> >> +extern int extcon_get_cable_property(struct extcon_dev *edev, unsigned int id, >> + enum extcon_property prop, >> + union extcon_property_value *val); >> + >> +extern int extcon_set_cable_property(struct extcon_dev *edev, unsigned int id, >> + enum extcon_property prop, >> + union extcon_property_value val); >> + > ditto. > > Thanks, > Chanwoo Choi > > >