Messages in this thread | | | Date | Fri, 15 May 2015 17:49:03 +0300 | From | Roger Quadros <> | Subject | Re: [PATCH 1/2] extcon: Use the unique id for external connector instead of string |
| |
On 15/05/15 17:31, 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>
for drivers/extcon/extcon-usb-gpio.c Acked-by: Roger Quadros <rogerq@ti.com>
cheers, -roger
> --- > drivers/extcon/extcon-arizona.c | 38 +++----- > drivers/extcon/extcon-axp288.c | 24 ++--- > drivers/extcon/extcon-max14577.c | 45 ++++----- > drivers/extcon/extcon-max77693.c | 95 +++++++++---------- > drivers/extcon/extcon-max77843.c | 56 +++++------ > drivers/extcon/extcon-max8997.c | 59 +++++------- > drivers/extcon/extcon-palmas.c | 22 +++-- > drivers/extcon/extcon-rt8973a.c | 40 +++----- > drivers/extcon/extcon-sm5502.c | 32 ++----- > drivers/extcon/extcon-usb-gpio.c | 32 ++----- > drivers/extcon/extcon.c | 166 ++++++++++++++++++++------------- > include/linux/extcon.h | 92 +++++++++--------- > include/linux/extcon/extcon-adc-jack.h | 5 +- > 13 files changed, 326 insertions(+), 380 deletions(-) >
| |