Re: [PATCH 0/4] extcon: Modify the name of unused external connector

From: Krzysztof Kozlowski
Date: Wed Apr 29 2015 - 22:10:39 EST

On 28.04.2015 17:40, Chanwoo Choi wrote:
On Tue, Apr 28, 2015 at 12:43 PM, Krzysztof Kozlowski
<k.kozlowski@xxxxxxxxxxx> wrote:
On 27.04.2015 21:31, Chanwoo Choi wrote:

This patchset alter the unused name of external connector (jig/dock/MHL)
following. The name of jig cable and dock device include the non-standard
information. On user-space side, this information are not necessary. The
core will support the other method to inform the specific H/W information
kernel device driver and framework. For example, extcon core have the plan
to add
the notifier chain for USB ID/VBUS pin state. If extcon consumer (kernel
driver and framework) use the notifer chain for USB ID/VBUS, they can get
state of both JIG and USB when JIG-USB-ON cable is attached.

And last patch removes the unused 'num_cables' filed on extcon-adc-jack.c.

1. jig cable name
- JIG-USB-ON -->|
- JIG-USB-OFF -->|
- JIG-UART-ON -->|
- JIG-UART-OFF -->|--> JIG

2. dock device name
- Dock-Smart -->|
- Dock-Desk -->|
- Dock-Audio -->|
- Dock-Card -->|--> DOCK

3. MHL-TA cable name
- MHL-TA -> TA


That makes sense but isn't such change a break of interface with user-space?
The user-space may expect Dock-xxx for Dock.

I guess it's possible. But, the "Dock-{Smart|Desk|Audio}" device name are not
standard. Their name are only used for Samsung Galaxy S3 (releaesd 3.0
kernel) and it is not for mainline kernel.

So, I want to make the standard cable name for mainline kernel and user-space.
The extcon driver will send the event of 'dock' device with specific
external connector which is connected to 'dock' device.

For example, Dock-Smart means the Dock device with MHL cable. When
Dock-Smart is attached, extcon driver will send the two external
connector state of
both 'DOCK' and 'MHL'. So, the user-space process will detect the kind of dock
by catching both 'DOCK' and 'MHL' uevent.

Okay, one more concern - for Dock-Smart the extcon will send two consecutive events (first DOCK, then MHL). So to distinguish this from two separate connections of Dock and MHL (user first connects some Dock, disconnects, connects MHL), the driver always has to call extcon_set_cable_state(edev, "Dock", false) after disconnection.

Without the "disconnect" state this case would mean for userspace "Dock+MHL".

This looks like an important part of API for extcon and for driver implementations. So it should be documented somewhere?

Best regards,
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at