Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

extcon: Add the EXTCON_CHG_USB_SDP to support SDP charing port

This patch adds the new EXTCON_CHG_USB_SDP connector to support SDP (Standard
Downstream Port) USB charging port. The commit 11eecf910bd8 ("extcon: Modify
the id and name of external connector") add the new EXTCON_CHG_USB_SDP
connector which support the both data transfer and usb charging at the same
time.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

+28 -1
+3
drivers/extcon/extcon-max14577.c
··· 150 150 151 151 static const unsigned int max14577_extcon_cable[] = { 152 152 EXTCON_USB, 153 + EXTCON_CHG_USB_SDP, 153 154 EXTCON_CHG_USB_DCP, 154 155 EXTCON_CHG_USB_FAST, 155 156 EXTCON_CHG_USB_SLOW, ··· 455 454 return ret; 456 455 457 456 extcon_set_cable_state_(info->edev, EXTCON_USB, attached); 457 + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, 458 + attached); 458 459 break; 459 460 case MAX14577_CHARGER_TYPE_DEDICATED_CHG: 460 461 extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
+11 -1
drivers/extcon/extcon-max77693.c
··· 204 204 static const unsigned int max77693_extcon_cable[] = { 205 205 EXTCON_USB, 206 206 EXTCON_USB_HOST, 207 + EXTCON_CHG_USB_SDP, 207 208 EXTCON_CHG_USB_DCP, 208 209 EXTCON_CHG_USB_FAST, 209 210 EXTCON_CHG_USB_SLOW, ··· 513 512 break; 514 513 case MAX77693_MUIC_ADC_AV_CABLE_NOLOAD: /* Dock-Audio */ 515 514 dock_id = EXTCON_DOCK; 516 - if (!attached) 515 + if (!attached) { 517 516 extcon_set_cable_state_(info->edev, EXTCON_USB, false); 517 + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, 518 + false); 519 + } 518 520 break; 519 521 default: 520 522 dev_err(info->dev, "failed to detect %s dock device\n", ··· 605 601 if (ret < 0) 606 602 return ret; 607 603 extcon_set_cable_state_(info->edev, EXTCON_USB, attached); 604 + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, 605 + attached); 608 606 break; 609 607 case MAX77693_MUIC_GND_MHL: 610 608 case MAX77693_MUIC_GND_MHL_VB: ··· 836 830 */ 837 831 extcon_set_cable_state_(info->edev, EXTCON_USB, 838 832 attached); 833 + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, 834 + attached); 839 835 840 836 if (!cable_attached) 841 837 extcon_set_cable_state_(info->edev, EXTCON_DOCK, ··· 906 898 return ret; 907 899 908 900 extcon_set_cable_state_(info->edev, EXTCON_USB, 901 + attached); 902 + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, 909 903 attached); 910 904 break; 911 905 case MAX77693_CHARGER_TYPE_DEDICATED_CHG:
+3
drivers/extcon/extcon-max77843.c
··· 122 122 static const unsigned int max77843_extcon_cable[] = { 123 123 EXTCON_USB, 124 124 EXTCON_USB_HOST, 125 + EXTCON_CHG_USB_SDP, 125 126 EXTCON_CHG_USB_DCP, 126 127 EXTCON_CHG_USB_CDP, 127 128 EXTCON_CHG_USB_FAST, ··· 487 486 return ret; 488 487 489 488 extcon_set_cable_state_(info->edev, EXTCON_USB, attached); 489 + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, 490 + attached); 490 491 break; 491 492 case MAX77843_MUIC_CHG_DOWNSTREAM: 492 493 ret = max77843_muic_set_path(info,
+3
drivers/extcon/extcon-max8997.c
··· 148 148 static const unsigned int max8997_extcon_cable[] = { 149 149 EXTCON_USB, 150 150 EXTCON_USB_HOST, 151 + EXTCON_CHG_USB_SDP, 151 152 EXTCON_CHG_USB_DCP, 152 153 EXTCON_CHG_USB_FAST, 153 154 EXTCON_CHG_USB_SLOW, ··· 335 334 break; 336 335 case MAX8997_USB_DEVICE: 337 336 extcon_set_cable_state_(info->edev, EXTCON_USB, attached); 337 + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, 338 + attached); 338 339 break; 339 340 default: 340 341 dev_err(info->dev, "failed to detect %s usb cable\n",
+4
drivers/extcon/extcon-rt8973a.c
··· 93 93 static const unsigned int rt8973a_extcon_cable[] = { 94 94 EXTCON_USB, 95 95 EXTCON_USB_HOST, 96 + EXTCON_CHG_USB_SDP, 96 97 EXTCON_CHG_USB_DCP, 97 98 EXTCON_JIG, 98 99 EXTCON_NONE, ··· 399 398 400 399 /* Change the state of external accessory */ 401 400 extcon_set_cable_state_(info->edev, id, attached); 401 + if (id == EXTCON_USB) 402 + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, 403 + attached); 402 404 403 405 return 0; 404 406 }
+4
drivers/extcon/extcon-sm5502.c
··· 95 95 static const unsigned int sm5502_extcon_cable[] = { 96 96 EXTCON_USB, 97 97 EXTCON_USB_HOST, 98 + EXTCON_CHG_USB_SDP, 98 99 EXTCON_CHG_USB_DCP, 99 100 EXTCON_NONE, 100 101 }; ··· 412 411 413 412 /* Change the state of external accessory */ 414 413 extcon_set_cable_state_(info->edev, id, attached); 414 + if (id == EXTCON_USB) 415 + extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP, 416 + attached); 415 417 416 418 return 0; 417 419 }