From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752177AbbETGBN (ORCPT ); Wed, 20 May 2015 02:01:13 -0400 Received: from mailout3.w1.samsung.com ([210.118.77.13]:58322 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751019AbbETGBL (ORCPT ); Wed, 20 May 2015 02:01:11 -0400 X-AuditID: cbfec7f5-f794b6d000001495-bc-555c2324137b Message-id: <555C2320.1050808@samsung.com> Date: Wed, 20 May 2015 15:01:04 +0900 From: Krzysztof Kozlowski User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-version: 1.0 To: Chanwoo Choi , linux-kernel@vger.kernel.org Cc: myungjoo.ham@samsung.com, ckeepax@opensource.wolfsonmicro.com, gg@slimlogic.co.uk, kishon@ti.com, jaewon02.kim@samsung.com, rogerq@ti.com, ramakrishna.pallala@intel.com, balbi@ti.com, aaro.koskinen@iki.fi Subject: Re: [PATCH v3 1/3] extcon: Use the unique id for external connector instead of string References: <1432096866-30084-1-git-send-email-cw00.choi@samsung.com> <1432096866-30084-2-git-send-email-cw00.choi@samsung.com> In-reply-to: <1432096866-30084-2-git-send-email-cw00.choi@samsung.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrJLMWRmVeSWpSXmKPExsVy+t/xa7oqyjGhBit6LC3WvHCwOHi/3uLf lBvsFte/PGe16N/iYrGj4QirxesXhhYXnvawWVzeNYfN4nbjCjaLhW9uMln0PNJy4PE4/HUh i8fiPS+ZPF5O/M3m0bdlFaPH1Cl/GT2O39jO5PF5k1wAexSXTUpqTmZZapG+XQJXxvI1D1kK jitU3Dv3nLmBsUGqi5GDQ0LARGL5e44uRk4gU0ziwr31bF2MXBxCAksZJWYfnAvlPGWUWPh5 IytIFa+AlsTD/t9MIDaLgKrE663XGUFsNgFjic3Ll7CB2KICERJvL59kgqgXlPgx+R4LiC0i 4Cbx7dMfZpChzAJXGCX+71wLNlRYIEHi95RJjBDbGhklVi+9xQyS4ATqOP16NTPIqcwCehL3 L2qBhJkF5CU2r3nLPIFRYBaSHbMQqmYhqVrAyLyKUTS1NLmgOCk910ivODG3uDQvXS85P3cT IyRCvu5gXHrM6hCjAAejEg/viUPRoUKsiWXFlbmHGCU4mJVEeJdyxYQK8aYkVlalFuXHF5Xm pBYfYpTmYFES5525632IkEB6YklqdmpqQWoRTJaJg1OqgVFL52ZA6xbP9u720KDpRf35VlaX XnMsWpQ6z6gqZOnq2rTgI/nf9+67c3/9PXamUnG3aUrh3Z8uhchvsd7mui3Pcqpp0B/2LSap Uyd/Nnqy6s+yQCen1LOmax12BD4/MTHtYKNLFIvooxsGZzcJrVz7veNn3UTDwzv+3el8UuE8 0ZnxHU/2oYtKLMUZiYZazEXFiQDD/yKfjAIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 20.05.2015 13:41, 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, > > /* USB external connector */ > EXTCON_USB = 0x1, > EXTCON_USB_HOST = 0x2, > > /* Charger external connector */ > EXTCON_TA = 0x10, > EXTCON_FAST_CHARGER = 0x11, > EXTCON_SLOW_CHARGER = 0x12, > EXTCON_CHARGE_DOWNSTREAM = 0x13, > > /* Audio and video external connector */ > EXTCON_LINE_IN = 0x20, > EXTCON_LINE_OUT = 0x21, > EXTCON_MICROPHONE = 0x22, > EXTCON_HEADPHONE = 0x23, > > EXTCON_HDMI = 0x30, > EXTCON_MHL = 0x31, > EXTCON_DVI = 0x32, > EXTCON_VGA = 0x33, > EXTCON_SPDIF_IN = 0x34, > EXTCON_SPDIF_OUT = 0x35, > EXTCON_VIDEO_IN = 0x36, > EXTCON_VIDEO_OUT = 0x37, > > /* Miscellaneous external connector */ > EXTCON_DOCK = 0x50, > EXTCON_JIG = 0x51, > EXTCON_MECHANICAL = 0x52, > > EXTCON_END, > }; > > For example in extcon-arizona.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 > Acked-by: Roger Quadros > Acked-by: Charles Keepax > Acked-by: Ramakrishna Pallala > Cc: MyungJoo Ham > Cc: Krzysztof Kozlowski > Cc: Graeme Gregory > Cc: Kishon Vijay Abraham I > Cc: Jaewon Kim > --- > 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 | 159 ++++++++++++++++++--------------- > include/linux/extcon.h | 111 ++++++++++------------- > include/linux/extcon/extcon-adc-jack.h | 5 +- > 13 files changed, 313 insertions(+), 405 deletions(-) Reviewed-by: Krzysztof Kozlowski Best regards, Krzysztof