From: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
To: Chanwoo Choi <cw00.choi@samsung.com>
Cc: linux-kernel@vger.kernel.org, myungjoo.ham@samsung.com,
k.kozlowski@samsung.com, gg@slimlogic.co.uk, kishon@ti.com,
jaewon02.kim@samsung.com, rogerq@ti.com,
ramakrishna.pallala@intel.com, george.cherian@ti.com,
balbi@ti.com, aaro.koskinen@iki.fi
Subject: Re: [PATCH 1/2] extcon: Use the unique id for external connector instead of string
Date: Fri, 15 May 2015 16:16:32 +0100 [thread overview]
Message-ID: <20150515151632.GM3480@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <1431700278-30465-2-git-send-email-cw00.choi@samsung.com>
On Fri, May 15, 2015 at 11:31:17PM +0900, Chanwoo Choi wrote:
> This patch uses the unique id to identify the type of external connector instead
> of string name. The string name have the many potential issues. So, this patch
> defines the 'extcon' enumeration which includes all supported external connector
> on EXTCON subsystem. If new external connector is necessary, the unique id of
> new connector have to be added in 'extcon' enumeration. There are current
> supported external connector in 'enum extcon' as following:
>
> enum extcon {
> EXTCON_NONE = 0x0, /* NONE */
>
> /* USB external connector */
> EXTCON_USB = 0x1, /* USB */
> EXTCON_USB_HOST = 0x2, /* USB-HOST */
>
> /* Charger external connector */
> EXTCON_TA = 0x10, /* TA */
> EXTCON_FAST_CHARGER = 0x11, /* FAST-CHARGER */
> EXTCON_SLOW_CHARGER = 0x12, /* SLOW-CHARGER */
> EXTCON_CHARGE_DOWNSTREAM= 0x13, /* CHARGE-DOWNSTREAM */
>
> /* Audio and video external connector */
> EXTCON_LINE_IN = 0x20, /* LINE-IN */
> EXTCON_LINE_OUT = 0x21, /* LINE-OUT */
> EXTCON_MICROPHONE = 0x22, /* MICROPHONE */
> EXTCON_HEADPHONE = 0x23, /* HEADPHONE */
>
> EXTCON_HDMI = 0x30, /* HDMI */
> EXTCON_MHL = 0x31, /* MHL */
> EXTCON_DVI = 0x32, /* DVI */
> EXTCON_VGA = 0x33, /* VGA */
> EXTCON_SPDIF_IN = 0x34, /* SPDIF-IN */
> EXTCON_SPDIF_OUT = 0x35, /* SPDIF-OUT */
> EXTCON_VIDEO_IN = 0x36, /* VIDEO-IN */
> EXTCON_VIDEO_OUT = 0x37, /* VIDEO-OUT */
>
> /* Miscellaneous external connector */
> EXTCON_DOCK = 0x50, /* DOCK */
> EXTCON_JIG = 0x51, /* JIG */
> EXTCON_MECHANICAL = 0x52, /* MECHANICAL */
>
> __EXTCON_END,
> };
>
> For exmaple in extcon-arizoan.c:
> To use unique id removes the potential issue about handling
> the inconsistent name of external connector with string.
> - Previously, use the string to register the type of arizona jack connector
> static const char *arizona_cable[] = {
> "Mechanical",
> "Microphone",
> "Headphone",
> "Line-out",
> };
> - Newly, use the unique id to register the type of arizona jack connector
> static const enum extcon arizona_cable[] = {
> EXTCON_MECHANICAL,
> EXTCON_MICROPHONE,
> EXTCON_HEADPHONE,
> EXTCON_LINE_OUT,
>
> EXTCON_NONE,
> };
>
> And this patch modify the prototype of extcon_{get|set}_cable_state_() which
> uses the 'enum extcon id' instead of 'cable_index'. Because although one more
> extcon drivers support USB cable, each extcon driver might has the differnt
> 'cable_index' for USB cable. All extcon drivers can use the unique id number
> for same external connector with modified extcon_{get|set}_cable_state_().
>
> - Previously, use 'cable_index' on these functions:
> extcon_get_cable_state_(struct extcon_dev*, int cable_index)
> extcon_set_cable_state_(struct extcon_dev*, int cable_index, bool state)
>
> -Newly, use 'enum extcon id' on these functions:
> extcon_get_cable_state_(struct extcon_dev*, enum extcon id)
> extcon_set_cable_state_(struct extcon_dev*, enum extcon id, bool state)
>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Cc: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
> Cc: Graeme Gregory <gg@slimlogic.co.uk>
> Cc: Kishon Vijay Abraham I <kishon@ti.com>
> Cc: Jaewon Kim <jaewon02.kim@samsung.com>
> Cc: Roger Quadros <rogerq@ti.com>
> Cc: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
> ---
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Thanks,
Charles
next prev parent reply other threads:[~2015-05-15 15:16 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-15 14:31 [PATCH 0/2] extcon: Use the unique id for each cable and update the extcon notifier Chanwoo Choi
2015-05-15 14:31 ` [PATCH 1/2] extcon: Use the unique id for external connector instead of string Chanwoo Choi
2015-05-15 14:49 ` Roger Quadros
2015-05-15 15:16 ` Charles Keepax [this message]
2015-05-15 15:57 ` Pallala, Ramakrishna
2015-05-17 7:10 ` Krzysztof Kozlowski
2015-05-17 7:53 ` Chanwoo Choi
2015-05-17 9:09 ` Krzysztof Kozlowski
2015-05-19 12:28 ` Chanwoo Choi
2015-05-20 3:24 ` Krzysztof Kozlowski
2015-05-20 3:48 ` Chanwoo Choi
2015-05-15 14:31 ` [PATCH 2/2] extcon: Update the prototype of extcon_register_notifier() with enum extcon Chanwoo Choi
2015-05-17 7:41 ` Krzysztof Kozlowski
2015-05-17 7:58 ` Chanwoo Choi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150515151632.GM3480@opensource.wolfsonmicro.com \
--to=ckeepax@opensource.wolfsonmicro.com \
--cc=aaro.koskinen@iki.fi \
--cc=balbi@ti.com \
--cc=cw00.choi@samsung.com \
--cc=george.cherian@ti.com \
--cc=gg@slimlogic.co.uk \
--cc=jaewon02.kim@samsung.com \
--cc=k.kozlowski@samsung.com \
--cc=kishon@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=myungjoo.ham@samsung.com \
--cc=ramakrishna.pallala@intel.com \
--cc=rogerq@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox