aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChanwoo Choi <cw00.choi@samsung.com>2015-10-03 01:15:13 -0400
committerChanwoo Choi <cw00.choi@samsung.com>2015-10-15 19:30:09 -0400
commit11eecf910bd81d36425020743b2df73651c5b466 (patch)
treeccd2a1b7401285dacd118453c88bd88c5e44e5c4
parentde992acb93df41fd6cd0ea975ae192363033694a (diff)
extcon: Modify the id and name of external connector
This patch modifies the id and name of external connector with the additional prefix to clarify both attribute and meaning of external connector as following: - EXTCON_CHG_* mean the charger connector. - EXTCON_JACK_* mean the jack connector. - EXTCON_DISP_* mean the display port connector. Following table show the new name of external connector with old name: -------------------------------------------------- Old extcon name | New extcon name | -------------------------------------------------- EXTCON_TA | EXTCON_CHG_USB_DCP | EXTCON_CHARGE_DOWNSTREAM| EXTCON_CHG_USB_CDP | EXTCON_FAST_CHARGER | EXTCON_CHG_USB_FAST | EXTCON_SLOW_CHARGER | EXTCON_CHG_USB_SLOW | -------------------------------------------------- EXTCON_MICROPHONE | EXTCON_JACK_MICROPHONE | EXTCON_HEADPHONE | EXTCON_JACK_HEADPHONE | EXTCON_LINE_IN | EXTCON_JACK_LINE_IN | EXTCON_LINE_OUT | EXTCON_JACK_LINE_OUT | EXTCON_VIDEO_IN | EXTCON_JACK_VIDEO_IN | EXTCON_VIDEO_OUT | EXTCON_JACK_VIDEO_OUT | EXTCON_SPDIF_IN | EXTCON_JACK_SPDIF_IN | EXTCON_SPDIF_OUT | EXTCON_JACK_SPDIF_OUT | -------------------------------------------------- EXTCON_HMDI | EXTCON_DISP_HDMI | EXTCON_MHL | EXTCON_DISP_MHL | EXTCON_DVI | EXTCON_DISP_DVI | EXTCON_VGA | EXTCON_DISP_VGA | -------------------------------------------------- And, when altering the name of USB charger connector, EXTCON refers to the "Battery Charging v1.2 Spec and Adopters Agreement"[1] to use the standard name of USB charging port as following. Following name of USB charging port are already used in power_supply subsystem. We chan check it on patch[2]. - EXTCON_CHG_USB_SDP /* Standard Downstream Port */ - EXTCON_CHG_USB_DCP /* Dedicated Charging Port */ - EXTCON_CHG_USB_CDP /* Charging Downstream Port */ - EXTCON_CHG_USB_ACA /* Accessory Charger Adapter */ [1] www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip [2] commit 85efc8a18ced ("power_supply: Add types for USB chargers") Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> [ckeepax: For the Arizona changes] Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Reviewed-by: Roger Quadros <rogerq@ti.com>
-rw-r--r--drivers/extcon/extcon-arizona.c18
-rw-r--r--drivers/extcon/extcon-axp288.c12
-rw-r--r--drivers/extcon/extcon-max14577.c17
-rw-r--r--drivers/extcon/extcon-max77693.c32
-rw-r--r--drivers/extcon/extcon-max77843.c27
-rw-r--r--drivers/extcon/extcon-max8997.c21
-rw-r--r--drivers/extcon/extcon-rt8973a.c4
-rw-r--r--drivers/extcon/extcon-sm5502.c4
-rw-r--r--drivers/extcon/extcon.c61
-rw-r--r--include/linux/extcon.h62
10 files changed, 139 insertions, 119 deletions
diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index a1ab0a56b798..e4890dd4fefd 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -137,9 +137,9 @@ static const int arizona_micd_levels[] = {
137 137
138static const unsigned int arizona_cable[] = { 138static const unsigned int arizona_cable[] = {
139 EXTCON_MECHANICAL, 139 EXTCON_MECHANICAL,
140 EXTCON_MICROPHONE, 140 EXTCON_JACK_MICROPHONE,
141 EXTCON_HEADPHONE, 141 EXTCON_JACK_HEADPHONE,
142 EXTCON_LINE_OUT, 142 EXTCON_JACK_LINE_OUT,
143 EXTCON_NONE, 143 EXTCON_NONE,
144}; 144};
145 145
@@ -600,7 +600,7 @@ static irqreturn_t arizona_hpdet_irq(int irq, void *data)
600 struct arizona_extcon_info *info = data; 600 struct arizona_extcon_info *info = data;
601 struct arizona *arizona = info->arizona; 601 struct arizona *arizona = info->arizona;
602 int id_gpio = arizona->pdata.hpdet_id_gpio; 602 int id_gpio = arizona->pdata.hpdet_id_gpio;
603 unsigned int report = EXTCON_HEADPHONE; 603 unsigned int report = EXTCON_JACK_HEADPHONE;
604 int ret, reading; 604 int ret, reading;
605 bool mic = false; 605 bool mic = false;
606 606
@@ -645,9 +645,9 @@ static irqreturn_t arizona_hpdet_irq(int irq, void *data)
645 645
646 /* Report high impedence cables as line outputs */ 646 /* Report high impedence cables as line outputs */
647 if (reading >= 5000) 647 if (reading >= 5000)
648 report = EXTCON_LINE_OUT; 648 report = EXTCON_JACK_LINE_OUT;
649 else 649 else
650 report = EXTCON_HEADPHONE; 650 report = EXTCON_JACK_HEADPHONE;
651 651
652 ret = extcon_set_cable_state_(info->edev, report, true); 652 ret = extcon_set_cable_state_(info->edev, report, true);
653 if (ret != 0) 653 if (ret != 0)
@@ -732,7 +732,7 @@ err:
732 ARIZONA_ACCDET_MODE_MASK, ARIZONA_ACCDET_MODE_MIC); 732 ARIZONA_ACCDET_MODE_MASK, ARIZONA_ACCDET_MODE_MIC);
733 733
734 /* Just report headphone */ 734 /* Just report headphone */
735 ret = extcon_set_cable_state_(info->edev, EXTCON_HEADPHONE, true); 735 ret = extcon_set_cable_state_(info->edev, EXTCON_JACK_HEADPHONE, true);
736 if (ret != 0) 736 if (ret != 0)
737 dev_err(arizona->dev, "Failed to report headphone: %d\n", ret); 737 dev_err(arizona->dev, "Failed to report headphone: %d\n", ret);
738 738
@@ -789,7 +789,7 @@ err:
789 ARIZONA_ACCDET_MODE_MASK, ARIZONA_ACCDET_MODE_MIC); 789 ARIZONA_ACCDET_MODE_MASK, ARIZONA_ACCDET_MODE_MIC);
790 790
791 /* Just report headphone */ 791 /* Just report headphone */
792 ret = extcon_set_cable_state_(info->edev, EXTCON_HEADPHONE, true); 792 ret = extcon_set_cable_state_(info->edev, EXTCON_JACK_HEADPHONE, true);
793 if (ret != 0) 793 if (ret != 0)
794 dev_err(arizona->dev, "Failed to report headphone: %d\n", ret); 794 dev_err(arizona->dev, "Failed to report headphone: %d\n", ret);
795 795
@@ -915,7 +915,7 @@ static void arizona_micd_detect(struct work_struct *work)
915 arizona_identify_headphone(info); 915 arizona_identify_headphone(info);
916 916
917 ret = extcon_set_cable_state_(info->edev, 917 ret = extcon_set_cable_state_(info->edev,
918 EXTCON_MICROPHONE, true); 918 EXTCON_JACK_MICROPHONE, true);
919 if (ret != 0) 919 if (ret != 0)
920 dev_err(arizona->dev, "Headset report failed: %d\n", 920 dev_err(arizona->dev, "Headset report failed: %d\n",
921 ret); 921 ret);
diff --git a/drivers/extcon/extcon-axp288.c b/drivers/extcon/extcon-axp288.c
index 9668d6a94e38..fd55c2f2080a 100644
--- a/drivers/extcon/extcon-axp288.c
+++ b/drivers/extcon/extcon-axp288.c
@@ -102,9 +102,9 @@ enum axp288_extcon_irq {
102}; 102};
103 103
104static const unsigned int axp288_extcon_cables[] = { 104static const unsigned int axp288_extcon_cables[] = {
105 EXTCON_SLOW_CHARGER, 105 EXTCON_CHG_USB_SDP,
106 EXTCON_CHARGE_DOWNSTREAM, 106 EXTCON_CHG_USB_CDP,
107 EXTCON_FAST_CHARGER, 107 EXTCON_CHG_USB_DCP,
108 EXTCON_NONE, 108 EXTCON_NONE,
109}; 109};
110 110
@@ -192,18 +192,18 @@ static int axp288_handle_chrg_det_event(struct axp288_extcon_info *info)
192 dev_dbg(info->dev, "sdp cable is connecetd\n"); 192 dev_dbg(info->dev, "sdp cable is connecetd\n");
193 notify_otg = true; 193 notify_otg = true;
194 notify_charger = true; 194 notify_charger = true;
195 cable = EXTCON_SLOW_CHARGER; 195 cable = EXTCON_CHG_USB_SDP;
196 break; 196 break;
197 case DET_STAT_CDP: 197 case DET_STAT_CDP:
198 dev_dbg(info->dev, "cdp cable is connecetd\n"); 198 dev_dbg(info->dev, "cdp cable is connecetd\n");
199 notify_otg = true; 199 notify_otg = true;
200 notify_charger = true; 200 notify_charger = true;
201 cable = EXTCON_CHARGE_DOWNSTREAM; 201 cable = EXTCON_CHG_USB_CDP;
202 break; 202 break;
203 case DET_STAT_DCP: 203 case DET_STAT_DCP:
204 dev_dbg(info->dev, "dcp cable is connecetd\n"); 204 dev_dbg(info->dev, "dcp cable is connecetd\n");
205 notify_charger = true; 205 notify_charger = true;
206 cable = EXTCON_FAST_CHARGER; 206 cable = EXTCON_CHG_USB_DCP;
207 break; 207 break;
208 default: 208 default:
209 dev_warn(info->dev, 209 dev_warn(info->dev,
diff --git a/drivers/extcon/extcon-max14577.c b/drivers/extcon/extcon-max14577.c
index df0659d98e5a..601dbd996487 100644
--- a/drivers/extcon/extcon-max14577.c
+++ b/drivers/extcon/extcon-max14577.c
@@ -150,10 +150,10 @@ enum max14577_muic_acc_type {
150 150
151static const unsigned int max14577_extcon_cable[] = { 151static const unsigned int max14577_extcon_cable[] = {
152 EXTCON_USB, 152 EXTCON_USB,
153 EXTCON_TA, 153 EXTCON_CHG_USB_DCP,
154 EXTCON_FAST_CHARGER, 154 EXTCON_CHG_USB_FAST,
155 EXTCON_SLOW_CHARGER, 155 EXTCON_CHG_USB_SLOW,
156 EXTCON_CHARGE_DOWNSTREAM, 156 EXTCON_CHG_USB_CDP,
157 EXTCON_JIG, 157 EXTCON_JIG,
158 EXTCON_NONE, 158 EXTCON_NONE,
159}; 159};
@@ -456,18 +456,19 @@ static int max14577_muic_chg_handler(struct max14577_muic_info *info)
456 extcon_set_cable_state_(info->edev, EXTCON_USB, attached); 456 extcon_set_cable_state_(info->edev, EXTCON_USB, attached);
457 break; 457 break;
458 case MAX14577_CHARGER_TYPE_DEDICATED_CHG: 458 case MAX14577_CHARGER_TYPE_DEDICATED_CHG:
459 extcon_set_cable_state_(info->edev, EXTCON_TA, attached); 459 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
460 attached);
460 break; 461 break;
461 case MAX14577_CHARGER_TYPE_DOWNSTREAM_PORT: 462 case MAX14577_CHARGER_TYPE_DOWNSTREAM_PORT:
462 extcon_set_cable_state_(info->edev, EXTCON_CHARGE_DOWNSTREAM, 463 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_CDP,
463 attached); 464 attached);
464 break; 465 break;
465 case MAX14577_CHARGER_TYPE_SPECIAL_500MA: 466 case MAX14577_CHARGER_TYPE_SPECIAL_500MA:
466 extcon_set_cable_state_(info->edev, EXTCON_SLOW_CHARGER, 467 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SLOW,
467 attached); 468 attached);
468 break; 469 break;
469 case MAX14577_CHARGER_TYPE_SPECIAL_1A: 470 case MAX14577_CHARGER_TYPE_SPECIAL_1A:
470 extcon_set_cable_state_(info->edev, EXTCON_FAST_CHARGER, 471 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_FAST,
471 attached); 472 attached);
472 break; 473 break;
473 case MAX14577_CHARGER_TYPE_NONE: 474 case MAX14577_CHARGER_TYPE_NONE:
diff --git a/drivers/extcon/extcon-max77693.c b/drivers/extcon/extcon-max77693.c
index 35b9e118b2fb..44c499e1beee 100644
--- a/drivers/extcon/extcon-max77693.c
+++ b/drivers/extcon/extcon-max77693.c
@@ -204,11 +204,11 @@ enum max77693_muic_acc_type {
204static const unsigned int max77693_extcon_cable[] = { 204static const unsigned int max77693_extcon_cable[] = {
205 EXTCON_USB, 205 EXTCON_USB,
206 EXTCON_USB_HOST, 206 EXTCON_USB_HOST,
207 EXTCON_TA, 207 EXTCON_CHG_USB_DCP,
208 EXTCON_FAST_CHARGER, 208 EXTCON_CHG_USB_FAST,
209 EXTCON_SLOW_CHARGER, 209 EXTCON_CHG_USB_SLOW,
210 EXTCON_CHARGE_DOWNSTREAM, 210 EXTCON_CHG_USB_CDP,
211 EXTCON_MHL, 211 EXTCON_DISP_MHL,
212 EXTCON_JIG, 212 EXTCON_JIG,
213 EXTCON_DOCK, 213 EXTCON_DOCK,
214 EXTCON_NONE, 214 EXTCON_NONE,
@@ -505,7 +505,7 @@ static int max77693_muic_dock_handler(struct max77693_muic_info *info,
505 return ret; 505 return ret;
506 506
507 extcon_set_cable_state_(info->edev, EXTCON_DOCK, attached); 507 extcon_set_cable_state_(info->edev, EXTCON_DOCK, attached);
508 extcon_set_cable_state_(info->edev, EXTCON_MHL, attached); 508 extcon_set_cable_state_(info->edev, EXTCON_DISP_MHL, attached);
509 goto out; 509 goto out;
510 case MAX77693_MUIC_ADC_AUDIO_MODE_REMOTE: /* Dock-Desk */ 510 case MAX77693_MUIC_ADC_AUDIO_MODE_REMOTE: /* Dock-Desk */
511 dock_id = EXTCON_DOCK; 511 dock_id = EXTCON_DOCK;
@@ -605,7 +605,7 @@ static int max77693_muic_adc_ground_handler(struct max77693_muic_info *info)
605 case MAX77693_MUIC_GND_MHL: 605 case MAX77693_MUIC_GND_MHL:
606 case MAX77693_MUIC_GND_MHL_VB: 606 case MAX77693_MUIC_GND_MHL_VB:
607 /* MHL or MHL with USB/TA cable */ 607 /* MHL or MHL with USB/TA cable */
608 extcon_set_cable_state_(info->edev, EXTCON_MHL, attached); 608 extcon_set_cable_state_(info->edev, EXTCON_DISP_MHL, attached);
609 break; 609 break;
610 default: 610 default:
611 dev_err(info->dev, "failed to detect %s cable of gnd type\n", 611 dev_err(info->dev, "failed to detect %s cable of gnd type\n",
@@ -801,10 +801,11 @@ static int max77693_muic_chg_handler(struct max77693_muic_info *info)
801 * - Support charging through micro-usb port without 801 * - Support charging through micro-usb port without
802 * data connection 802 * data connection
803 */ 803 */
804 extcon_set_cable_state_(info->edev, EXTCON_TA, attached); 804 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
805 attached);
805 if (!cable_attached) 806 if (!cable_attached)
806 extcon_set_cable_state_(info->edev, EXTCON_MHL, 807 extcon_set_cable_state_(info->edev,
807 cable_attached); 808 EXTCON_DISP_MHL, cable_attached);
808 break; 809 break;
809 } 810 }
810 811
@@ -862,7 +863,7 @@ static int max77693_muic_chg_handler(struct max77693_muic_info *info)
862 863
863 extcon_set_cable_state_(info->edev, EXTCON_DOCK, 864 extcon_set_cable_state_(info->edev, EXTCON_DOCK,
864 attached); 865 attached);
865 extcon_set_cable_state_(info->edev, EXTCON_MHL, 866 extcon_set_cable_state_(info->edev, EXTCON_DISP_MHL,
866 attached); 867 attached);
867 break; 868 break;
868 } 869 }
@@ -901,20 +902,21 @@ static int max77693_muic_chg_handler(struct max77693_muic_info *info)
901 break; 902 break;
902 case MAX77693_CHARGER_TYPE_DEDICATED_CHG: 903 case MAX77693_CHARGER_TYPE_DEDICATED_CHG:
903 /* Only TA cable */ 904 /* Only TA cable */
904 extcon_set_cable_state_(info->edev, EXTCON_TA, attached); 905 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
906 attached);
905 break; 907 break;
906 } 908 }
907 break; 909 break;
908 case MAX77693_CHARGER_TYPE_DOWNSTREAM_PORT: 910 case MAX77693_CHARGER_TYPE_DOWNSTREAM_PORT:
909 extcon_set_cable_state_(info->edev, EXTCON_CHARGE_DOWNSTREAM, 911 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_CDP,
910 attached); 912 attached);
911 break; 913 break;
912 case MAX77693_CHARGER_TYPE_APPLE_500MA: 914 case MAX77693_CHARGER_TYPE_APPLE_500MA:
913 extcon_set_cable_state_(info->edev, EXTCON_SLOW_CHARGER, 915 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SLOW,
914 attached); 916 attached);
915 break; 917 break;
916 case MAX77693_CHARGER_TYPE_APPLE_1A_2A: 918 case MAX77693_CHARGER_TYPE_APPLE_1A_2A:
917 extcon_set_cable_state_(info->edev, EXTCON_FAST_CHARGER, 919 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_FAST,
918 attached); 920 attached);
919 break; 921 break;
920 case MAX77693_CHARGER_TYPE_DEAD_BATTERY: 922 case MAX77693_CHARGER_TYPE_DEAD_BATTERY:
diff --git a/drivers/extcon/extcon-max77843.c b/drivers/extcon/extcon-max77843.c
index fdd928542c19..9f9ea334399c 100644
--- a/drivers/extcon/extcon-max77843.c
+++ b/drivers/extcon/extcon-max77843.c
@@ -122,11 +122,11 @@ enum max77843_muic_charger_type {
122static const unsigned int max77843_extcon_cable[] = { 122static const unsigned int max77843_extcon_cable[] = {
123 EXTCON_USB, 123 EXTCON_USB,
124 EXTCON_USB_HOST, 124 EXTCON_USB_HOST,
125 EXTCON_TA, 125 EXTCON_CHG_USB_DCP,
126 EXTCON_CHARGE_DOWNSTREAM, 126 EXTCON_CHG_USB_CDP,
127 EXTCON_FAST_CHARGER, 127 EXTCON_CHG_USB_FAST,
128 EXTCON_SLOW_CHARGER, 128 EXTCON_CHG_USB_SLOW,
129 EXTCON_MHL, 129 EXTCON_DISP_MHL,
130 EXTCON_JIG, 130 EXTCON_JIG,
131 EXTCON_NONE, 131 EXTCON_NONE,
132}; 132};
@@ -355,7 +355,7 @@ static int max77843_muic_adc_gnd_handler(struct max77843_muic_info *info)
355 if (ret < 0) 355 if (ret < 0)
356 return ret; 356 return ret;
357 357
358 extcon_set_cable_state_(info->edev, EXTCON_MHL, attached); 358 extcon_set_cable_state_(info->edev, EXTCON_DISP_MHL, attached);
359 break; 359 break;
360 default: 360 default:
361 dev_err(info->dev, "failed to detect %s accessory(gnd:0x%x)\n", 361 dev_err(info->dev, "failed to detect %s accessory(gnd:0x%x)\n",
@@ -494,7 +494,7 @@ static int max77843_muic_chg_handler(struct max77843_muic_info *info)
494 if (ret < 0) 494 if (ret < 0)
495 return ret; 495 return ret;
496 496
497 extcon_set_cable_state_(info->edev, EXTCON_CHARGE_DOWNSTREAM, 497 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_CDP,
498 attached); 498 attached);
499 break; 499 break;
500 case MAX77843_MUIC_CHG_DEDICATED: 500 case MAX77843_MUIC_CHG_DEDICATED:
@@ -504,7 +504,8 @@ static int max77843_muic_chg_handler(struct max77843_muic_info *info)
504 if (ret < 0) 504 if (ret < 0)
505 return ret; 505 return ret;
506 506
507 extcon_set_cable_state_(info->edev, EXTCON_TA, attached); 507 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
508 attached);
508 break; 509 break;
509 case MAX77843_MUIC_CHG_SPECIAL_500MA: 510 case MAX77843_MUIC_CHG_SPECIAL_500MA:
510 ret = max77843_muic_set_path(info, 511 ret = max77843_muic_set_path(info,
@@ -513,7 +514,7 @@ static int max77843_muic_chg_handler(struct max77843_muic_info *info)
513 if (ret < 0) 514 if (ret < 0)
514 return ret; 515 return ret;
515 516
516 extcon_set_cable_state_(info->edev, EXTCON_SLOW_CHARGER, 517 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SLOW,
517 attached); 518 attached);
518 break; 519 break;
519 case MAX77843_MUIC_CHG_SPECIAL_1A: 520 case MAX77843_MUIC_CHG_SPECIAL_1A:
@@ -523,7 +524,7 @@ static int max77843_muic_chg_handler(struct max77843_muic_info *info)
523 if (ret < 0) 524 if (ret < 0)
524 return ret; 525 return ret;
525 526
526 extcon_set_cable_state_(info->edev, EXTCON_FAST_CHARGER, 527 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_FAST,
527 attached); 528 attached);
528 break; 529 break;
529 case MAX77843_MUIC_CHG_GND: 530 case MAX77843_MUIC_CHG_GND:
@@ -532,9 +533,11 @@ static int max77843_muic_chg_handler(struct max77843_muic_info *info)
532 533
533 /* Charger cable on MHL accessory is attach or detach */ 534 /* Charger cable on MHL accessory is attach or detach */
534 if (gnd_type == MAX77843_MUIC_GND_MHL_VB) 535 if (gnd_type == MAX77843_MUIC_GND_MHL_VB)
535 extcon_set_cable_state_(info->edev, EXTCON_TA, true); 536 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
537 true);
536 else if (gnd_type == MAX77843_MUIC_GND_MHL) 538 else if (gnd_type == MAX77843_MUIC_GND_MHL)
537 extcon_set_cable_state_(info->edev, EXTCON_TA, false); 539 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
540 false);
538 break; 541 break;
539 case MAX77843_MUIC_CHG_NONE: 542 case MAX77843_MUIC_CHG_NONE:
540 break; 543 break;
diff --git a/drivers/extcon/extcon-max8997.c b/drivers/extcon/extcon-max8997.c
index 7b1ef200b121..b2b13b3dce14 100644
--- a/drivers/extcon/extcon-max8997.c
+++ b/drivers/extcon/extcon-max8997.c
@@ -148,11 +148,11 @@ struct max8997_muic_info {
148static const unsigned int max8997_extcon_cable[] = { 148static const unsigned int max8997_extcon_cable[] = {
149 EXTCON_USB, 149 EXTCON_USB,
150 EXTCON_USB_HOST, 150 EXTCON_USB_HOST,
151 EXTCON_TA, 151 EXTCON_CHG_USB_DCP,
152 EXTCON_FAST_CHARGER, 152 EXTCON_CHG_USB_FAST,
153 EXTCON_SLOW_CHARGER, 153 EXTCON_CHG_USB_SLOW,
154 EXTCON_CHARGE_DOWNSTREAM, 154 EXTCON_CHG_USB_CDP,
155 EXTCON_MHL, 155 EXTCON_DISP_MHL,
156 EXTCON_DOCK, 156 EXTCON_DOCK,
157 EXTCON_JIG, 157 EXTCON_JIG,
158 EXTCON_NONE, 158 EXTCON_NONE,
@@ -403,7 +403,7 @@ static int max8997_muic_adc_handler(struct max8997_muic_info *info)
403 return ret; 403 return ret;
404 break; 404 break;
405 case MAX8997_MUIC_ADC_MHL: 405 case MAX8997_MUIC_ADC_MHL:
406 extcon_set_cable_state_(info->edev, EXTCON_MHL, attached); 406 extcon_set_cable_state_(info->edev, EXTCON_DISP_MHL, attached);
407 break; 407 break;
408 case MAX8997_MUIC_ADC_FACTORY_MODE_USB_OFF: 408 case MAX8997_MUIC_ADC_FACTORY_MODE_USB_OFF:
409 case MAX8997_MUIC_ADC_FACTORY_MODE_USB_ON: 409 case MAX8997_MUIC_ADC_FACTORY_MODE_USB_ON:
@@ -486,18 +486,19 @@ static int max8997_muic_chg_handler(struct max8997_muic_info *info)
486 } 486 }
487 break; 487 break;
488 case MAX8997_CHARGER_TYPE_DOWNSTREAM_PORT: 488 case MAX8997_CHARGER_TYPE_DOWNSTREAM_PORT:
489 extcon_set_cable_state_(info->edev, EXTCON_CHARGE_DOWNSTREAM, 489 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_CDP,
490 attached); 490 attached);
491 break; 491 break;
492 case MAX8997_CHARGER_TYPE_DEDICATED_CHG: 492 case MAX8997_CHARGER_TYPE_DEDICATED_CHG:
493 extcon_set_cable_state_(info->edev, EXTCON_TA, attached); 493 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
494 attached);
494 break; 495 break;
495 case MAX8997_CHARGER_TYPE_500MA: 496 case MAX8997_CHARGER_TYPE_500MA:
496 extcon_set_cable_state_(info->edev, EXTCON_SLOW_CHARGER, 497 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SLOW,
497 attached); 498 attached);
498 break; 499 break;
499 case MAX8997_CHARGER_TYPE_1A: 500 case MAX8997_CHARGER_TYPE_1A:
500 extcon_set_cable_state_(info->edev, EXTCON_FAST_CHARGER, 501 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_FAST,
501 attached); 502 attached);
502 break; 503 break;
503 default: 504 default:
diff --git a/drivers/extcon/extcon-rt8973a.c b/drivers/extcon/extcon-rt8973a.c
index 1bc3737ea01c..36bf1d63791c 100644
--- a/drivers/extcon/extcon-rt8973a.c
+++ b/drivers/extcon/extcon-rt8973a.c
@@ -93,7 +93,7 @@ static struct reg_data rt8973a_reg_data[] = {
93static const unsigned int rt8973a_extcon_cable[] = { 93static const unsigned int rt8973a_extcon_cable[] = {
94 EXTCON_USB, 94 EXTCON_USB,
95 EXTCON_USB_HOST, 95 EXTCON_USB_HOST,
96 EXTCON_TA, 96 EXTCON_CHG_USB_DCP,
97 EXTCON_JIG, 97 EXTCON_JIG,
98 EXTCON_NONE, 98 EXTCON_NONE,
99}; 99};
@@ -333,7 +333,7 @@ static int rt8973a_muic_cable_handler(struct rt8973a_muic_info *info,
333 con_sw = DM_DP_SWITCH_USB; 333 con_sw = DM_DP_SWITCH_USB;
334 break; 334 break;
335 case RT8973A_MUIC_ADC_TA: 335 case RT8973A_MUIC_ADC_TA:
336 id = EXTCON_TA; 336 id = EXTCON_CHG_USB_DCP;
337 con_sw = DM_DP_SWITCH_OPEN; 337 con_sw = DM_DP_SWITCH_OPEN;
338 break; 338 break;
339 case RT8973A_MUIC_ADC_FACTORY_MODE_BOOT_OFF_USB: 339 case RT8973A_MUIC_ADC_FACTORY_MODE_BOOT_OFF_USB:
diff --git a/drivers/extcon/extcon-sm5502.c b/drivers/extcon/extcon-sm5502.c
index 2945091bfd0e..7aac3cc7efd7 100644
--- a/drivers/extcon/extcon-sm5502.c
+++ b/drivers/extcon/extcon-sm5502.c
@@ -95,7 +95,7 @@ static struct reg_data sm5502_reg_data[] = {
95static const unsigned int sm5502_extcon_cable[] = { 95static const unsigned int sm5502_extcon_cable[] = {
96 EXTCON_USB, 96 EXTCON_USB,
97 EXTCON_USB_HOST, 97 EXTCON_USB_HOST,
98 EXTCON_TA, 98 EXTCON_CHG_USB_DCP,
99 EXTCON_NONE, 99 EXTCON_NONE,
100}; 100};
101 101
@@ -389,7 +389,7 @@ static int sm5502_muic_cable_handler(struct sm5502_muic_info *info,
389 vbus_sw = VBUSIN_SWITCH_VBUSOUT_WITH_USB; 389 vbus_sw = VBUSIN_SWITCH_VBUSOUT_WITH_USB;
390 break; 390 break;
391 case SM5502_MUIC_ADC_OPEN_TA: 391 case SM5502_MUIC_ADC_OPEN_TA:
392 id = EXTCON_TA; 392 id = EXTCON_CHG_USB_DCP;
393 con_sw = DM_DP_SWITCH_OPEN; 393 con_sw = DM_DP_SWITCH_OPEN;
394 vbus_sw = VBUSIN_SWITCH_VBUSOUT; 394 vbus_sw = VBUSIN_SWITCH_VBUSOUT;
395 break; 395 break;
diff --git a/drivers/extcon/extcon.c b/drivers/extcon/extcon.c
index 8dd0af1d50bc..21a123cadf78 100644
--- a/drivers/extcon/extcon.c
+++ b/drivers/extcon/extcon.c
@@ -39,37 +39,40 @@
39#define CABLE_NAME_MAX 30 39#define CABLE_NAME_MAX 30
40 40
41static const char *extcon_name[] = { 41static const char *extcon_name[] = {
42 [EXTCON_NONE] = "NONE", 42 [EXTCON_NONE] = "NONE",
43 43
44 /* USB external connector */ 44 /* USB external connector */
45 [EXTCON_USB] = "USB", 45 [EXTCON_USB] = "USB",
46 [EXTCON_USB_HOST] = "USB-HOST", 46 [EXTCON_USB_HOST] = "USB-HOST",
47 47
48 /* Charger external connector */ 48 /* Charging external connector */
49 [EXTCON_TA] = "TA", 49 [EXTCON_CHG_USB_SDP] = "SDP",
50 [EXTCON_FAST_CHARGER] = "FAST-CHARGER", 50 [EXTCON_CHG_USB_DCP] = "DCP",
51 [EXTCON_SLOW_CHARGER] = "SLOW-CHARGER", 51 [EXTCON_CHG_USB_CDP] = "CDP",
52 [EXTCON_CHARGE_DOWNSTREAM] = "CHARGE-DOWNSTREAM", 52 [EXTCON_CHG_USB_ACA] = "ACA",
53 53 [EXTCON_CHG_USB_FAST] = "FAST-CHARGER",
54 /* Audio/Video external connector */ 54 [EXTCON_CHG_USB_SLOW] = "SLOW-CHARGER",
55 [EXTCON_LINE_IN] = "LINE-IN", 55
56 [EXTCON_LINE_OUT] = "LINE-OUT", 56 /* Jack external connector */
57 [EXTCON_MICROPHONE] = "MICROPHONE", 57 [EXTCON_JACK_MICROPHONE] = "MICROPHONE",
58 [EXTCON_HEADPHONE] = "HEADPHONE", 58 [EXTCON_JACK_HEADPHONE] = "HEADPHONE",
59 59 [EXTCON_JACK_LINE_IN] = "LINE-IN",
60 [EXTCON_HDMI] = "HDMI", 60 [EXTCON_JACK_LINE_OUT] = "LINE-OUT",
61 [EXTCON_MHL] = "MHL", 61 [EXTCON_JACK_VIDEO_IN] = "VIDEO-IN",
62 [EXTCON_DVI] = "DVI", 62 [EXTCON_JACK_VIDEO_OUT] = "VIDEO-OUT",
63 [EXTCON_VGA] = "VGA", 63 [EXTCON_JACK_SPDIF_IN] = "SPDIF-IN",
64 [EXTCON_SPDIF_IN] = "SPDIF-IN", 64 [EXTCON_JACK_SPDIF_OUT] = "SPDIF-OUT",
65 [EXTCON_SPDIF_OUT] = "SPDIF-OUT", 65
66 [EXTCON_VIDEO_IN] = "VIDEO-IN", 66 /* Display external connector */
67 [EXTCON_VIDEO_OUT] = "VIDEO-OUT", 67 [EXTCON_DISP_HDMI] = "HDMI",
68 68 [EXTCON_DISP_MHL] = "MHL",
69 /* Etc external connector */ 69 [EXTCON_DISP_DVI] = "DVI",
70 [EXTCON_DOCK] = "DOCK", 70 [EXTCON_DISP_VGA] = "VGA",
71 [EXTCON_JIG] = "JIG", 71
72 [EXTCON_MECHANICAL] = "MECHANICAL", 72 /* Miscellaneous external connector */
73 [EXTCON_DOCK] = "DOCK",
74 [EXTCON_JIG] = "JIG",
75 [EXTCON_MECHANICAL] = "MECHANICAL",
73 76
74 NULL, 77 NULL,
75}; 78};
diff --git a/include/linux/extcon.h b/include/linux/extcon.h
index c0f8c4fc5d45..7abf674c388c 100644
--- a/include/linux/extcon.h
+++ b/include/linux/extcon.h
@@ -31,32 +31,42 @@
31/* 31/*
32 * Define the unique id of supported external connectors 32 * Define the unique id of supported external connectors
33 */ 33 */
34#define EXTCON_NONE 0 34#define EXTCON_NONE 0
35 35
36#define EXTCON_USB 1 /* USB connector */ 36/* USB external connector */
37#define EXTCON_USB_HOST 2 37#define EXTCON_USB 1
38 38#define EXTCON_USB_HOST 2
39#define EXTCON_TA 3 /* Charger connector */ 39
40#define EXTCON_FAST_CHARGER 4 40/* Charging external connector */
41#define EXTCON_SLOW_CHARGER 5 41#define EXTCON_CHG_USB_SDP 5 /* Standard Downstream Port */
42#define EXTCON_CHARGE_DOWNSTREAM 6 42#define EXTCON_CHG_USB_DCP 6 /* Dedicated Charging Port */
43 43#define EXTCON_CHG_USB_CDP 7 /* Charging Downstream Port */
44#define EXTCON_LINE_IN 7 /* Audio/Video connector */ 44#define EXTCON_CHG_USB_ACA 8 /* Accessory Charger Adapter */
45#define EXTCON_LINE_OUT 8 45#define EXTCON_CHG_USB_FAST 9
46#define EXTCON_MICROPHONE 9 46#define EXTCON_CHG_USB_SLOW 10
47#define EXTCON_HEADPHONE 10 47
48#define EXTCON_HDMI 11 48/* Jack external connector */
49#define EXTCON_MHL 12 49#define EXTCON_JACK_MICROPHONE 20
50#define EXTCON_DVI 13 50#define EXTCON_JACK_HEADPHONE 21
51#define EXTCON_VGA 14 51#define EXTCON_JACK_LINE_IN 22
52#define EXTCON_SPDIF_IN 15 52#define EXTCON_JACK_LINE_OUT 23
53#define EXTCON_SPDIF_OUT 16 53#define EXTCON_JACK_VIDEO_IN 24
54#define EXTCON_VIDEO_IN 17 54#define EXTCON_JACK_VIDEO_OUT 25
55#define EXTCON_VIDEO_OUT 18 55#define EXTCON_JACK_SPDIF_IN 26 /* Sony Philips Digital InterFace */
56 56#define EXTCON_JACK_SPDIF_OUT 27
57#define EXTCON_DOCK 19 /* Misc connector */ 57
58#define EXTCON_JIG 20 58/* Display external connector */
59#define EXTCON_MECHANICAL 21 59#define EXTCON_DISP_HDMI 40 /* High-Definition Multimedia Interface */
60#define EXTCON_DISP_MHL 41 /* Mobile High-Definition Link */
61#define EXTCON_DISP_DVI 42 /* Digital Visual Interface */
62#define EXTCON_DISP_VGA 43 /* Video Graphics Array */
63
64/* Miscellaneous external connector */
65#define EXTCON_DOCK 60
66#define EXTCON_JIG 61
67#define EXTCON_MECHANICAL 62
68
69#define EXTCON_NUM 63
60 70
61struct extcon_cable; 71struct extcon_cable;
62 72