Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934443AbbEOOt3 (ORCPT ); Fri, 15 May 2015 10:49:29 -0400 Received: from devils.ext.ti.com ([198.47.26.153]:44191 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752314AbbEOOt0 (ORCPT ); Fri, 15 May 2015 10:49:26 -0400 Message-ID: <5556075F.8060808@ti.com> Date: Fri, 15 May 2015 17:49:03 +0300 From: Roger Quadros User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Chanwoo Choi , CC: , , , , , , , , Subject: Re: [PATCH 1/2] extcon: Use the unique id for external connector instead of string References: <1431700278-30465-1-git-send-email-cw00.choi@samsung.com> <1431700278-30465-2-git-send-email-cw00.choi@samsung.com> In-Reply-To: <1431700278-30465-2-git-send-email-cw00.choi@samsung.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4598 Lines: 115 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 > Cc: MyungJoo Ham > Cc: Krzysztof Kozlowski > Cc: Charles Keepax > Cc: Graeme Gregory > Cc: Kishon Vijay Abraham I > Cc: Jaewon Kim > Cc: Roger Quadros > Cc: Ramakrishna Pallala for drivers/extcon/extcon-usb-gpio.c Acked-by: Roger Quadros 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(-) > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/