Re: [PATCH] extcon: Modify the id and name of external connector

From: Roger Quadros
Date: Mon Oct 05 2015 - 04:26:32 EST


Chanwoo,

On 04/10/15 06:45, Chanwoo Choi wrote:
> This patch modifies the id and name of external connector with the additional
> prefix to clarify both attribute and meaning of external connector as following:
> - EXTCON_CHG_* mean the charger connector.
> - EXTCON_JACK_* mean the jack connector.
> - EXTCON_DISP_* mean the display port connector.
>
> Following table show the new name of external connector with old name:
> -------------------------------------------------
> Old extcon name | New extcon name |
> -------------------------------------------------
> EXTCON_TA | EXTCON_CHG_USB_DCP |
> EXTCON_FAST_CHARGER | EXTCON_CHG_USB_FAST |
> EXTCON_SLOW_CHARGER | EXTCON_CHG_USB_SLOW |
> EXTCON_CHARGE_DOWNSTREAM| EXTCON_CHG_USB_CDP |
> -------------------------------------------------
> EXTCON_MICROPHONE | EXTCON_JACK_MICROPHONE|
> EXTCON_HEADPHONE | EXTCON_JACK_HEADPHONE |
> EXTCON_LINE_IN | EXTCON_JACK_LINE_IN |
> EXTCON_LINE_OUT | EXTCON_JACK_LINE_OUT |
> EXTCON_VIDEO_IN | EXTCON_JACK_VIDEO_IN |
> EXTCON_VIDEO_OUT | EXTCON_JACK_VIDEO_OUT |
> EXTCON_SPDIF_IN | EXTCON_JACK_SPDIF_IN |
> EXTCON_SPDIF_OUT | EXTCON_JACK_SPDIF_OUT |
> -------------------------------------------------
> EXTCON_HMDI | EXTCON_DISP_HDMI |
> EXTCON_MHL | EXTCON_DISP_MHL |
> EXTCON_DVI | EXTCON_DISP_DVI |
> EXTCON_VGA | EXTCON_DISP_VGA |
> -------------------------------------------------
>
> And, when altering the name of USB charger connector, EXTCON refers to the
> "USB battery charging specification"[1] to use the standard name of USB
> charging port as following. Following name of USB charging port are already used
> in power_supply subsystem. We chan check it on patch[2].
> - EXTCON_CHG_USB /* Standard Downstream Port */
> - EXTCON_CHG_USB_DCP /* Dedicated Charging Port */
> - EXTCON_CHG_USB_CDP /* Charging Downstream Port */
> - EXTCON_CHG_USB_ACA /* Accessory Charging Adapter */
>
> [1] http://www.usb.org/developers/docs/devclass_docs/USB_Battery_Charging_1.2.pdf
> [2] commit 85efc8a18ce ("[PATCH] power_supply: Add types for USB chargers")
>
> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
> ---
> drivers/extcon/extcon-arizona.c | 18 ++++++------
> drivers/extcon/extcon-axp288.c | 12 ++++----
> drivers/extcon/extcon-max14577.c | 18 ++++++------
> drivers/extcon/extcon-max77693.c | 32 +++++++++++----------
> drivers/extcon/extcon-max77843.c | 27 ++++++++++--------
> drivers/extcon/extcon-max8997.c | 21 +++++++-------
> drivers/extcon/extcon-rt8973a.c | 4 +--
> drivers/extcon/extcon-sm5502.c | 4 +--
> drivers/extcon/extcon.c | 60 ++++++++++++++++++++-------------------
> include/linux/extcon.h | 61 +++++++++++++++++++++++-----------------
> 10 files changed, 138 insertions(+), 119 deletions(-)
>

<snip>

> diff --git a/drivers/extcon/extcon.c b/drivers/extcon/extcon.c
> index 8dd0af1..505a028 100644
> --- a/drivers/extcon/extcon.c
> +++ b/drivers/extcon/extcon.c
> @@ -39,37 +39,39 @@
> #define CABLE_NAME_MAX 30
>
> static const char *extcon_name[] = {
> - [EXTCON_NONE] = "NONE",
> + [EXTCON_NONE] = "EXTCON_NONE",
>
> /* USB external connector */
> - [EXTCON_USB] = "USB",
> - [EXTCON_USB_HOST] = "USB-HOST",
> -
> - /* Charger external connector */
> - [EXTCON_TA] = "TA",
> - [EXTCON_FAST_CHARGER] = "FAST-CHARGER",
> - [EXTCON_SLOW_CHARGER] = "SLOW-CHARGER",
> - [EXTCON_CHARGE_DOWNSTREAM] = "CHARGE-DOWNSTREAM",
> -
> - /* Audio/Video external connector */
> - [EXTCON_LINE_IN] = "LINE-IN",
> - [EXTCON_LINE_OUT] = "LINE-OUT",
> - [EXTCON_MICROPHONE] = "MICROPHONE",
> - [EXTCON_HEADPHONE] = "HEADPHONE",
> -
> - [EXTCON_HDMI] = "HDMI",
> - [EXTCON_MHL] = "MHL",
> - [EXTCON_DVI] = "DVI",
> - [EXTCON_VGA] = "VGA",
> - [EXTCON_SPDIF_IN] = "SPDIF-IN",
> - [EXTCON_SPDIF_OUT] = "SPDIF-OUT",
> - [EXTCON_VIDEO_IN] = "VIDEO-IN",
> - [EXTCON_VIDEO_OUT] = "VIDEO-OUT",
> -
> - /* Etc external connector */
> - [EXTCON_DOCK] = "DOCK",
> - [EXTCON_JIG] = "JIG",
> - [EXTCON_MECHANICAL] = "MECHANICAL",
> + [EXTCON_USB] = "EXTCON_USB",
> + [EXTCON_USB_HOST] = "EXTCON_USB_HOST",
> +
> + /* Charging external connector */
> + [EXTCON_CHG_USB] = "EXTCON_CHG_USB",
> + [EXTCON_CHG_USB_FAST] = "EXTCON_CHG_USB_FAST",
> + [EXTCON_CHG_USB_SLOW] = "EXTCON_CHG_USB_SLOW",

How does FAST & SLOW correlate to USB specifications?

> + [EXTCON_CHG_USB_DCP] = "EXTCON_CHG_USB_DCP",
> + [EXTCON_CHG_USB_CDP] = "EXTCON_CHG_USB_CDP",

What about USB ACA?

> +
> + /* Jack external connector */
> + [EXTCON_JACK_MICROPHONE] = "EXTCON_JACK_MICROPHONE",
> + [EXTCON_JACK_HEADPHONE] = "EXTCON_JACK_HEADPHONE",
> + [EXTCON_JACK_LINE_IN] = "EXTCON_JACK_LINE_IN",
> + [EXTCON_JACK_LINE_OUT] = "EXTCON_JACK_LINE_OUT",
> + [EXTCON_JACK_VIDEO_IN] = "EXTCON_JACK_VIDEO_IN",
> + [EXTCON_JACK_VIDEO_OUT] = "EXTCON_JACK_VIDEO_OUT",
> + [EXTCON_JACK_SPDIF_IN] = "EXTCON_JACK_SPDIF_IN",
> + [EXTCON_JACK_SPDIF_OUT] = "EXTCON_JACK_SPDIF_OUT",
> +
> + /* Display external connector */
> + [EXTCON_DISP_HDMI] = "EXTCON_DISP_HDMI",
> + [EXTCON_DISP_MHL] = "EXTCON_DISP_MHL",
> + [EXTCON_DISP_DVI] = "EXTCON_DISP_DVI",
> + [EXTCON_DISP_VGA] = "EXTCON_DISP_VGA",
> +
> + /* Miscellaneous external connector */
> + [EXTCON_DOCK] = "EXTCON_DOCK",
> + [EXTCON_JIG] = "EXTCON_JIG",
> + [EXTCON_MECHANICAL] = "EXTCON_MECHANICAL",
>
> NULL,
> };
> diff --git a/include/linux/extcon.h b/include/linux/extcon.h
> index c0f8c4f..6d5285c 100644
> --- a/include/linux/extcon.h
> +++ b/include/linux/extcon.h
> @@ -31,32 +31,41 @@
> /*
> * Define the unique id of supported external connectors
> */
> -#define EXTCON_NONE 0
> -
> -#define EXTCON_USB 1 /* USB connector */
> -#define EXTCON_USB_HOST 2
> -
> -#define EXTCON_TA 3 /* Charger connector */
> -#define EXTCON_FAST_CHARGER 4
> -#define EXTCON_SLOW_CHARGER 5
> -#define EXTCON_CHARGE_DOWNSTREAM 6
> -
> -#define EXTCON_LINE_IN 7 /* Audio/Video connector */
> -#define EXTCON_LINE_OUT 8
> -#define EXTCON_MICROPHONE 9
> -#define EXTCON_HEADPHONE 10
> -#define EXTCON_HDMI 11
> -#define EXTCON_MHL 12
> -#define EXTCON_DVI 13
> -#define EXTCON_VGA 14
> -#define EXTCON_SPDIF_IN 15
> -#define EXTCON_SPDIF_OUT 16
> -#define EXTCON_VIDEO_IN 17
> -#define EXTCON_VIDEO_OUT 18
> -
> -#define EXTCON_DOCK 19 /* Misc connector */
> -#define EXTCON_JIG 20
> -#define EXTCON_MECHANICAL 21
> +#define EXTCON_NONE 0
> +
> +/* USB external connector */
> +#define EXTCON_USB 1 /* Universal Serial Bus */
> +#define EXTCON_USB_HOST 2
> +
> +/* Charging external connector */
> +#define EXTCON_CHG_USB 5 /* Standard Downstream Port */
> +#define EXTCON_CHG_USB_FAST 6
> +#define EXTCON_CHG_USB_SLOW 7
> +#define EXTCON_CHG_USB_DCP 8 /* Dedicated Charging Port */
> +#define EXTCON_CHG_USB_CDP 9 /* Charging Downstream Port */
> +
> +/* Jack external connector */
> +#define EXTCON_JACK_MICROPHONE 20
> +#define EXTCON_JACK_HEADPHONE 21
> +#define EXTCON_JACK_LINE_IN 22
> +#define EXTCON_JACK_LINE_OUT 23
> +#define EXTCON_JACK_VIDEO_IN 24
> +#define EXTCON_JACK_VIDEO_OUT 25
> +#define EXTCON_JACK_SPDIF_IN 26 /* Sony Philips Digital InterFace */
> +#define EXTCON_JACK_SPDIF_OUT 27
> +
> +/* Display external connector */
> +#define EXTCON_DISP_HDMI 40 /* High-Definition Multimedia Interface */
> +#define EXTCON_DISP_MHL 41 /* Mobile High-Definition Link */
> +#define EXTCON_DISP_DVI 42 /* Digital Visual Inteface */
> +#define EXTCON_DISP_VGA 43 /* Video Graphics Array */
> +
> +/* Miscellaneous external connector */
> +#define EXTCON_DOCK 60
> +#define EXTCON_JIG 61
> +#define EXTCON_MECHANICAL 62
> +
> +#define EXTCON_NUM 63
>
> struct extcon_cable;
>
>

cheers,
-roger
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/