public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] extcon: Redefine the unique id of supported external connectors without 'enum extcon' type
@ 2015-06-12  2:10 Chanwoo Choi
  2015-06-12  4:27 ` Greg KH
  2015-06-12  4:29 ` Greg KH
  0 siblings, 2 replies; 5+ messages in thread
From: Chanwoo Choi @ 2015-06-12  2:10 UTC (permalink / raw)
  To: gregkh; +Cc: balbi, myungjoo.ham, k.kozlowski, cw00.choi, linux-kernel,
	linux-usb

This patch just redefine the unique id of supported external connectors without
'enum extcon' type. Because unique id would be used on devictree file(*.dts) to
indicate the specific external connectors like key number of input framework.
So, I have the plan to move this definitions to following header file which
includes the unique id of supported external connectors.
- include/dt-bindings/extcon/extcon.h

Fixes: 2a9de9c0f08d ("extcon: Use the unique id for external connector instead of string")
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
---
Dear Greg,

I sent pull-request[1] of extcon for 4.2. This patch[2] in the pull-request[2]
includes the one issue about 'enum extcon'. The 'enum extcon' type is ambiguous
and not clear. So, if you possible, I hope you to pick this patch on char-misc
git repository.

[1] http://www.spinics.net/lists/kernel/msg2005098.html
- [GIT PULL] extcon next for 4.2
[2] commit-id: 2a9de9c0f08d61fbe3764a21d22d0b72df97d6ae
- extcon: Use the unique id for external connector instead of string

 drivers/extcon/extcon-adc-jack.c |  2 +-
 drivers/extcon/extcon-arizona.c  |  4 +-
 drivers/extcon/extcon-axp288.c   |  4 +-
 drivers/extcon/extcon-max14577.c |  2 +-
 drivers/extcon/extcon-max77693.c |  4 +-
 drivers/extcon/extcon-max77843.c |  2 +-
 drivers/extcon/extcon-max8997.c  |  2 +-
 drivers/extcon/extcon-palmas.c   |  2 +-
 drivers/extcon/extcon-rt8973a.c  |  4 +-
 drivers/extcon/extcon-sm5502.c   |  4 +-
 drivers/extcon/extcon-usb-gpio.c |  2 +-
 drivers/extcon/extcon.c          | 24 +++++------
 drivers/usb/phy/phy-tahvo.c      |  2 +-
 include/linux/extcon.h           | 90 +++++++++++++++++++---------------------
 14 files changed, 71 insertions(+), 77 deletions(-)

diff --git a/drivers/extcon/extcon-adc-jack.c b/drivers/extcon/extcon-adc-jack.c
index 5bf08ec1cacf..7fc0ae1912f8 100644
--- a/drivers/extcon/extcon-adc-jack.c
+++ b/drivers/extcon/extcon-adc-jack.c
@@ -40,7 +40,7 @@
 struct adc_jack_data {
 	struct extcon_dev *edev;
 
-	const char **cable_names;
+	const unsigned int **cable_names;
 	struct adc_jack_cond *adc_conditions;
 	int num_conditions;
 
diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 9262b45a4484..ad87f263056f 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -118,7 +118,7 @@ static const int arizona_micd_levels[] = {
 	1257,
 };
 
-static const enum extcon arizona_cable[] = {
+static const unsigned int arizona_cable[] = {
 	EXTCON_MECHANICAL,
 	EXTCON_MICROPHONE,
 	EXTCON_HEADPHONE,
@@ -552,7 +552,7 @@ static irqreturn_t arizona_hpdet_irq(int irq, void *data)
 	struct arizona_extcon_info *info = data;
 	struct arizona *arizona = info->arizona;
 	int id_gpio = arizona->pdata.hpdet_id_gpio;
-	enum extcon report = EXTCON_HEADPHONE;
+	unsigned int report = EXTCON_HEADPHONE;
 	int ret, reading;
 	bool mic = false;
 
diff --git a/drivers/extcon/extcon-axp288.c b/drivers/extcon/extcon-axp288.c
index 3605aa96c25a..ea962bc547b8 100644
--- a/drivers/extcon/extcon-axp288.c
+++ b/drivers/extcon/extcon-axp288.c
@@ -101,7 +101,7 @@ enum axp288_extcon_irq {
 	EXTCON_IRQ_END,
 };
 
-static const enum extcon axp288_extcon_cables[] = {
+static const unsigned int axp288_extcon_cables[] = {
 	EXTCON_SLOW_CHARGER,
 	EXTCON_CHARGE_DOWNSTREAM,
 	EXTCON_FAST_CHARGER,
@@ -157,7 +157,7 @@ static void axp288_extcon_log_rsi(struct axp288_extcon_info *info)
 static int axp288_handle_chrg_det_event(struct axp288_extcon_info *info)
 {
 	static bool notify_otg, notify_charger;
-	static enum extcon cable;
+	static unsigned int cable;
 	int ret, stat, cfg, pwr_stat;
 	u8 chrg_type;
 	bool vbus_attach = false;
diff --git a/drivers/extcon/extcon-max14577.c b/drivers/extcon/extcon-max14577.c
index e7c3edb5bd4b..df0659d98e5a 100644
--- a/drivers/extcon/extcon-max14577.c
+++ b/drivers/extcon/extcon-max14577.c
@@ -148,7 +148,7 @@ enum max14577_muic_acc_type {
 	MAX14577_MUIC_ADC_OPEN,
 };
 
-static const enum extcon max14577_extcon_cable[] = {
+static const unsigned int max14577_extcon_cable[] = {
 	EXTCON_USB,
 	EXTCON_TA,
 	EXTCON_FAST_CHARGER,
diff --git a/drivers/extcon/extcon-max77693.c b/drivers/extcon/extcon-max77693.c
index 20e796e10e57..f4f3b3d53928 100644
--- a/drivers/extcon/extcon-max77693.c
+++ b/drivers/extcon/extcon-max77693.c
@@ -200,7 +200,7 @@ enum max77693_muic_acc_type {
 /*
  * MAX77693 MUIC device support below list of accessories(external connector)
  */
-static const enum extcon max77693_extcon_cable[] = {
+static const unsigned int max77693_extcon_cable[] = {
 	EXTCON_USB,
 	EXTCON_USB_HOST,
 	EXTCON_TA,
@@ -457,7 +457,7 @@ static int max77693_muic_dock_handler(struct max77693_muic_info *info,
 	int ret = 0;
 	int vbvolt;
 	bool cable_attached;
-	enum extcon dock_id;
+	unsigned int dock_id;
 
 	dev_info(info->dev,
 		"external connector is %s (adc:0x%02x)\n",
diff --git a/drivers/extcon/extcon-max77843.c b/drivers/extcon/extcon-max77843.c
index 11e09d1db5ec..cc5e7bca38c8 100644
--- a/drivers/extcon/extcon-max77843.c
+++ b/drivers/extcon/extcon-max77843.c
@@ -118,7 +118,7 @@ enum max77843_muic_charger_type {
 	MAX77843_MUIC_CHG_GND,
 };
 
-static const enum extcon max77843_extcon_cable[] = {
+static const unsigned int max77843_extcon_cable[] = {
 	EXTCON_USB,
 	EXTCON_USB_HOST,
 	EXTCON_TA,
diff --git a/drivers/extcon/extcon-max8997.c b/drivers/extcon/extcon-max8997.c
index 4d10949c6eb2..7b1ef200b121 100644
--- a/drivers/extcon/extcon-max8997.c
+++ b/drivers/extcon/extcon-max8997.c
@@ -145,7 +145,7 @@ struct max8997_muic_info {
 	int path_uart;
 };
 
-static const enum extcon max8997_extcon_cable[] = {
+static const unsigned int max8997_extcon_cable[] = {
 	EXTCON_USB,
 	EXTCON_USB_HOST,
 	EXTCON_TA,
diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c
index d68954045a33..080d5cc27055 100644
--- a/drivers/extcon/extcon-palmas.c
+++ b/drivers/extcon/extcon-palmas.c
@@ -29,7 +29,7 @@
 #include <linux/of.h>
 #include <linux/of_platform.h>
 
-static const enum extcon palmas_extcon_cable[] = {
+static const unsigned int palmas_extcon_cable[] = {
 	EXTCON_USB,
 	EXTCON_USB_HOST,
 	EXTCON_NONE,
diff --git a/drivers/extcon/extcon-rt8973a.c b/drivers/extcon/extcon-rt8973a.c
index f2a8672cbf82..92c939221a41 100644
--- a/drivers/extcon/extcon-rt8973a.c
+++ b/drivers/extcon/extcon-rt8973a.c
@@ -90,7 +90,7 @@ static struct reg_data rt8973a_reg_data[] = {
 };
 
 /* List of detectable cables */
-static const enum extcon rt8973a_extcon_cable[] = {
+static const unsigned int rt8973a_extcon_cable[] = {
 	EXTCON_USB,
 	EXTCON_USB_HOST,
 	EXTCON_TA,
@@ -300,7 +300,7 @@ static int rt8973a_muic_cable_handler(struct rt8973a_muic_info *info,
 	static unsigned int prev_cable_type;
 	unsigned int con_sw = DM_DP_SWITCH_UART;
 	int ret, cable_type;
-	enum extcon id;
+	unsigned int id;
 	bool attached = false;
 
 	switch (event) {
diff --git a/drivers/extcon/extcon-sm5502.c b/drivers/extcon/extcon-sm5502.c
index 520693d6fa8a..817dece23b4c 100644
--- a/drivers/extcon/extcon-sm5502.c
+++ b/drivers/extcon/extcon-sm5502.c
@@ -92,7 +92,7 @@ static struct reg_data sm5502_reg_data[] = {
 };
 
 /* List of detectable cables */
-static const enum extcon sm5502_extcon_cable[] = {
+static const unsigned int sm5502_extcon_cable[] = {
 	EXTCON_USB,
 	EXTCON_USB_HOST,
 	EXTCON_TA,
@@ -372,7 +372,7 @@ static int sm5502_muic_cable_handler(struct sm5502_muic_info *info,
 	unsigned int cable_type = SM5502_MUIC_ADC_GROUND;
 	unsigned int con_sw = DM_DP_SWITCH_OPEN;
 	unsigned int vbus_sw = VBUSIN_SWITCH_OPEN;
-	enum extcon id;
+	unsigned int id;
 	int ret;
 
 	/* Get the type of attached or detached cable */
diff --git a/drivers/extcon/extcon-usb-gpio.c b/drivers/extcon/extcon-usb-gpio.c
index 14da94cb57fa..a2a44536a608 100644
--- a/drivers/extcon/extcon-usb-gpio.c
+++ b/drivers/extcon/extcon-usb-gpio.c
@@ -39,7 +39,7 @@ struct usb_extcon_info {
 	struct delayed_work wq_detcable;
 };
 
-static const enum extcon usb_extcon_cable[] = {
+static const unsigned int usb_extcon_cable[] = {
 	EXTCON_USB,
 	EXTCON_USB_HOST,
 	EXTCON_NONE,
diff --git a/drivers/extcon/extcon.c b/drivers/extcon/extcon.c
index fafd428cae7f..76157ab9faf3 100644
--- a/drivers/extcon/extcon.c
+++ b/drivers/extcon/extcon.c
@@ -39,6 +39,8 @@
 #define CABLE_NAME_MAX		30
 
 static const char *extcon_name[] =  {
+	[EXTCON_NONE]		= "NONE",
+
 	/* USB external connector */
 	[EXTCON_USB]		= "USB",
 	[EXTCON_USB_HOST]	= "USB-HOST",
@@ -109,7 +111,7 @@ static int check_mutually_exclusive(struct extcon_dev *edev, u32 new_state)
 	return 0;
 }
 
-static int find_cable_index_by_id(struct extcon_dev *edev, const enum extcon id)
+static int find_cable_index_by_id(struct extcon_dev *edev, const unsigned int id)
 {
 	int i;
 
@@ -124,16 +126,14 @@ static int find_cable_index_by_id(struct extcon_dev *edev, const enum extcon id)
 
 static int find_cable_index_by_name(struct extcon_dev *edev, const char *name)
 {
-	enum extcon id = EXTCON_NONE;
-	int i;
+	unsigned int id = EXTCON_NONE;
+	int i = 0;
 
 	if (edev->max_supported == 0)
 		return -EINVAL;
 
 	/* Find the the number of extcon cable */
-	for (i = 0; i < EXTCON_END; i++) {
-		if (!extcon_name[i])
-			continue;
+	while (extcon_name[i]) {
 		if (!strncmp(extcon_name[i], name, CABLE_NAME_MAX)) {
 			id = i;
 			break;
@@ -337,7 +337,7 @@ EXPORT_SYMBOL_GPL(extcon_set_state);
  * @edev:	the extcon device that has the cable.
  * @id:		the unique id of each external connector in extcon enumeration.
  */
-int extcon_get_cable_state_(struct extcon_dev *edev, const enum extcon id)
+int extcon_get_cable_state_(struct extcon_dev *edev, const unsigned int id)
 {
 	int index;
 
@@ -374,7 +374,7 @@ EXPORT_SYMBOL_GPL(extcon_get_cable_state);
  * @state:		the new cable status. The default semantics is
  *			true: attached / false: detached.
  */
-int extcon_set_cable_state_(struct extcon_dev *edev, enum extcon id,
+int extcon_set_cable_state_(struct extcon_dev *edev, unsigned int id,
 				bool cable_state)
 {
 	u32 state;
@@ -539,7 +539,7 @@ EXPORT_SYMBOL_GPL(extcon_unregister_interest);
  * "old_state", not the current state. The current state can be retrieved
  * by looking at the third pameter (edev pointer)'s state value.
  */
-int extcon_register_notifier(struct extcon_dev *edev, enum extcon id,
+int extcon_register_notifier(struct extcon_dev *edev, unsigned int id,
 			     struct notifier_block *nb)
 {
 	unsigned long flags;
@@ -561,7 +561,7 @@ EXPORT_SYMBOL_GPL(extcon_register_notifier);
  * @id:		the unique id of each external connector in extcon enumeration.
  * @nb:		a notifier block to be registered.
  */
-int extcon_unregister_notifier(struct extcon_dev *edev, enum extcon id,
+int extcon_unregister_notifier(struct extcon_dev *edev, unsigned int id,
 				struct notifier_block *nb)
 {
 	unsigned long flags;
@@ -623,7 +623,7 @@ static void dummy_sysfs_dev_release(struct device *dev)
  *
  * Return the pointer of extcon device if success or ERR_PTR(err) if fail
  */
-struct extcon_dev *extcon_dev_allocate(const enum extcon *supported_cable)
+struct extcon_dev *extcon_dev_allocate(const unsigned int *supported_cable)
 {
 	struct extcon_dev *edev;
 
@@ -677,7 +677,7 @@ static void devm_extcon_dev_release(struct device *dev, void *res)
  * or ERR_PTR(err) if fail
  */
 struct extcon_dev *devm_extcon_dev_allocate(struct device *dev,
-					const enum extcon *supported_cable)
+					const unsigned int *supported_cable)
 {
 	struct extcon_dev **ptr, *edev;
 
diff --git a/drivers/usb/phy/phy-tahvo.c b/drivers/usb/phy/phy-tahvo.c
index 1d1bb9ad8ccf..2f777d22184d 100644
--- a/drivers/usb/phy/phy-tahvo.c
+++ b/drivers/usb/phy/phy-tahvo.c
@@ -60,7 +60,7 @@ struct tahvo_usb {
 	struct extcon_dev	extcon;
 };
 
-static const enum extcon tahvo_cable[] = {
+static const unsigned int tahvo_cable[] = {
 	EXTCON_USB,
 	EXTCON_USB_HOST,
 
diff --git a/include/linux/extcon.h b/include/linux/extcon.h
index a7b224b20ecc..b16d929fa75f 100644
--- a/include/linux/extcon.h
+++ b/include/linux/extcon.h
@@ -30,41 +30,35 @@
 #include <linux/notifier.h>
 #include <linux/sysfs.h>
 
-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/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,
-
-	/* Etc external connector */
-	EXTCON_DOCK		= 0x50,
-	EXTCON_JIG		= 0x51,
-	EXTCON_MECHANICAL	= 0x52,
-
-	EXTCON_END,
-};
+/*
+ * 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
 
 struct extcon_cable;
 
@@ -105,7 +99,7 @@ struct extcon_cable;
 struct extcon_dev {
 	/* Optional user initializing data */
 	const char *name;
-	const enum extcon *supported_cable;
+	const unsigned int *supported_cable;
 	const u32 *mutually_exclusive;
 
 	/* Optional callbacks to override class functions */
@@ -182,10 +176,10 @@ extern struct extcon_dev *extcon_get_extcon_dev(const char *extcon_name);
 /*
  * Following APIs control the memory of extcon device.
  */
-extern struct extcon_dev *extcon_dev_allocate(const enum extcon *cable);
+extern struct extcon_dev *extcon_dev_allocate(const unsigned int *cable);
 extern void extcon_dev_free(struct extcon_dev *edev);
 extern struct extcon_dev *devm_extcon_dev_allocate(struct device *dev,
-						   const enum extcon *cable);
+						   const unsigned int *cable);
 extern void devm_extcon_dev_free(struct device *dev, struct extcon_dev *edev);
 
 /*
@@ -206,8 +200,8 @@ extern int extcon_update_state(struct extcon_dev *edev, u32 mask, u32 state);
  * get/set_cable_state access each bit of the 32b encoded state value.
  * They are used to access the status of each cable based on the cable_name.
  */
-extern int extcon_get_cable_state_(struct extcon_dev *edev, enum extcon id);
-extern int extcon_set_cable_state_(struct extcon_dev *edev, enum extcon id,
+extern int extcon_get_cable_state_(struct extcon_dev *edev, unsigned int id);
+extern int extcon_set_cable_state_(struct extcon_dev *edev, unsigned int id,
 				   bool cable_state);
 
 extern int extcon_get_cable_state(struct extcon_dev *edev,
@@ -234,9 +228,9 @@ extern int extcon_unregister_interest(struct extcon_specific_cable_nb *nb);
  * we do not recommend to use this for normal 'notifiee' device drivers who
  * want to be notified by a specific external port of the notifier.
  */
-extern int extcon_register_notifier(struct extcon_dev *edev, enum extcon id,
+extern int extcon_register_notifier(struct extcon_dev *edev, unsigned int id,
 				    struct notifier_block *nb);
-extern int extcon_unregister_notifier(struct extcon_dev *edev, enum extcon id,
+extern int extcon_unregister_notifier(struct extcon_dev *edev, unsigned int id,
 				    struct notifier_block *nb);
 
 /*
@@ -266,7 +260,7 @@ static inline int devm_extcon_dev_register(struct device *dev,
 static inline void devm_extcon_dev_unregister(struct device *dev,
 					      struct extcon_dev *edev) { }
 
-static inline struct extcon_dev *extcon_dev_allocate(const enum extcon *cable)
+static inline struct extcon_dev *extcon_dev_allocate(const unsigned int *cable)
 {
 	return ERR_PTR(-ENOSYS);
 }
@@ -274,7 +268,7 @@ static inline struct extcon_dev *extcon_dev_allocate(const enum extcon *cable)
 static inline void extcon_dev_free(struct extcon_dev *edev) { }
 
 static inline struct extcon_dev *devm_extcon_dev_allocate(struct device *dev,
-						const enum extcon *cable)
+						const unsigned int *cable)
 {
 	return ERR_PTR(-ENOSYS);
 }
@@ -298,13 +292,13 @@ static inline int extcon_update_state(struct extcon_dev *edev, u32 mask,
 }
 
 static inline int extcon_get_cable_state_(struct extcon_dev *edev,
-					  enum extcon id)
+					  unsigned int id)
 {
 	return 0;
 }
 
 static inline int extcon_set_cable_state_(struct extcon_dev *edev,
-					  enum extcon id, bool cable_state)
+					  unsigned int id, bool cable_state)
 {
 	return 0;
 }
@@ -327,14 +321,14 @@ static inline struct extcon_dev *extcon_get_extcon_dev(const char *extcon_name)
 }
 
 static inline int extcon_register_notifier(struct extcon_dev *edev,
-					enum extcon id,
+					unsigned int id,
 					struct notifier_block *nb)
 {
 	return 0;
 }
 
 static inline int extcon_unregister_notifier(struct extcon_dev *edev,
-					enum extcon id,
+					unsigned int id,
 					struct notifier_block *nb)
 {
 	return 0;
-- 
1.8.5.5


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] extcon: Redefine the unique id of supported external connectors without 'enum extcon' type
  2015-06-12  2:10 [PATCH] extcon: Redefine the unique id of supported external connectors without 'enum extcon' type Chanwoo Choi
@ 2015-06-12  4:27 ` Greg KH
  2015-06-12  4:43   ` Chanwoo Choi
  2015-06-12  4:29 ` Greg KH
  1 sibling, 1 reply; 5+ messages in thread
From: Greg KH @ 2015-06-12  4:27 UTC (permalink / raw)
  To: Chanwoo Choi; +Cc: balbi, myungjoo.ham, k.kozlowski, linux-kernel, linux-usb

On Fri, Jun 12, 2015 at 11:10:06AM +0900, Chanwoo Choi wrote:
> This patch just redefine the unique id of supported external connectors without
> 'enum extcon' type. Because unique id would be used on devictree file(*.dts) to
> indicate the specific external connectors like key number of input framework.
> So, I have the plan to move this definitions to following header file which
> includes the unique id of supported external connectors.
> - include/dt-bindings/extcon/extcon.h
> 
> Fixes: 2a9de9c0f08d ("extcon: Use the unique id for external connector instead of string")
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> ---
> Dear Greg,
> 
> I sent pull-request[1] of extcon for 4.2. This patch[2] in the pull-request[2]
> includes the one issue about 'enum extcon'. The 'enum extcon' type is ambiguous
> and not clear. So, if you possible, I hope you to pick this patch on char-misc
> git repository.

I don't understand, I took that pull request, right?

What does that have to do with this patch?

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] extcon: Redefine the unique id of supported external connectors without 'enum extcon' type
  2015-06-12  2:10 [PATCH] extcon: Redefine the unique id of supported external connectors without 'enum extcon' type Chanwoo Choi
  2015-06-12  4:27 ` Greg KH
@ 2015-06-12  4:29 ` Greg KH
  2015-06-12  5:04   ` Chanwoo Choi
  1 sibling, 1 reply; 5+ messages in thread
From: Greg KH @ 2015-06-12  4:29 UTC (permalink / raw)
  To: Chanwoo Choi; +Cc: balbi, myungjoo.ham, k.kozlowski, linux-kernel, linux-usb

On Fri, Jun 12, 2015 at 11:10:06AM +0900, Chanwoo Choi wrote:
> This patch just redefine the unique id of supported external connectors without
> 'enum extcon' type. Because unique id would be used on devictree file(*.dts) to
> indicate the specific external connectors like key number of input framework.
> So, I have the plan to move this definitions to following header file which
> includes the unique id of supported external connectors.
> - include/dt-bindings/extcon/extcon.h

Do we have other such fields in dt-bindings that are not enumerated
types?

What's wrong with keeping this as-is and not changing to an integer?

> Fixes: 2a9de9c0f08d ("extcon: Use the unique id for external connector instead of string")

How is this a bugfix?

confused,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] extcon: Redefine the unique id of supported external connectors without 'enum extcon' type
  2015-06-12  4:27 ` Greg KH
@ 2015-06-12  4:43   ` Chanwoo Choi
  0 siblings, 0 replies; 5+ messages in thread
From: Chanwoo Choi @ 2015-06-12  4:43 UTC (permalink / raw)
  To: Greg KH; +Cc: balbi, myungjoo.ham, k.kozlowski, linux-kernel, linux-usb

Dear Greg,

On 06/12/2015 01:27 PM, Greg KH wrote:
> On Fri, Jun 12, 2015 at 11:10:06AM +0900, Chanwoo Choi wrote:
>> This patch just redefine the unique id of supported external connectors without
>> 'enum extcon' type. Because unique id would be used on devictree file(*.dts) to
>> indicate the specific external connectors like key number of input framework.
>> So, I have the plan to move this definitions to following header file which
>> includes the unique id of supported external connectors.
>> - include/dt-bindings/extcon/extcon.h
>>
>> Fixes: 2a9de9c0f08d ("extcon: Use the unique id for external connector instead of string")
>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>> ---
>> Dear Greg,
>>
>> I sent pull-request[1] of extcon for 4.2. This patch[2] in the pull-request[2]
>> includes the one issue about 'enum extcon'. The 'enum extcon' type is ambiguous
>> and not clear. So, if you possible, I hope you to pick this patch on char-misc
>> git repository.
> 
> I don't understand, I took that pull request, right?
> 
> What does that have to do with this patch?

This patch is based on patch[1] and then patch[1] was merged on char-misc-next branch (char-misc.git) through pull request.
[1] 2a9de9c0f08d ("extcon: Use the unique id for external connector instead of string")

So, after reviewing this patch by you,
if this patch is ok, I hope that this patch will be applied to char-misc-next branch.

I'm sorry about un-clear explanation.

Best Regards,
Chanwoo Choi


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] extcon: Redefine the unique id of supported external connectors without 'enum extcon' type
  2015-06-12  4:29 ` Greg KH
@ 2015-06-12  5:04   ` Chanwoo Choi
  0 siblings, 0 replies; 5+ messages in thread
From: Chanwoo Choi @ 2015-06-12  5:04 UTC (permalink / raw)
  To: Greg KH; +Cc: balbi, myungjoo.ham, k.kozlowski, linux-kernel, linux-usb

Dear Greg,

On 06/12/2015 01:29 PM, Greg KH wrote:
> On Fri, Jun 12, 2015 at 11:10:06AM +0900, Chanwoo Choi wrote:
>> This patch just redefine the unique id of supported external connectors without
>> 'enum extcon' type. Because unique id would be used on devictree file(*.dts) to
>> indicate the specific external connectors like key number of input framework.
>> So, I have the plan to move this definitions to following header file which
>> includes the unique id of supported external connectors.
>> - include/dt-bindings/extcon/extcon.h
> 
> Do we have other such fields in dt-bindings that are not enumerated
> types?

I think that 'integer' type is more appropriate than enumerated type
in header file of includ/dt-bindings/ as following:

- Previous defintions
enum extcon {
	/* USB external connector */
	EXTCON_USB		= 0x1,
	EXTCON_USB_HOST		= 0x2,
	......
};

- New definitions without specific 'enum extcon' type.
#define EXTCON_USB		1
#define EXTCON_USB_HOST 	2
......

> 
> What's wrong with keeping this as-is and not changing to an integer?
> 
>> Fixes: 2a9de9c0f08d ("extcon: Use the unique id for external connector instead of string")
> 
> How is this a bugfix?

It is my mistake. This patch is not bug fix.

Best Regards,
Chanwoo Choi

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-06-12  5:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-12  2:10 [PATCH] extcon: Redefine the unique id of supported external connectors without 'enum extcon' type Chanwoo Choi
2015-06-12  4:27 ` Greg KH
2015-06-12  4:43   ` Chanwoo Choi
2015-06-12  4:29 ` Greg KH
2015-06-12  5:04   ` Chanwoo Choi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox