[GIT PULL] extcon next for 4.9

From: Chanwoo Choi
Date: Tue Sep 13 2016 - 03:33:19 EST


Dear Greg,

This is extcon-next pull request for v4.9. I add detailed description of
this pull request on below. Please pull extcon with following updates.

Best Regards,
Chanwoo Choi

The following changes since commit 29b4817d4018df78086157ea3a55c1d9424a7cfc:

Linux 4.8-rc1 (2016-08-07 18:18:00 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git tags/extcon-next-for-4.9

for you to fetch changes up to 38085c987f52674c2cc84fa0c0788eb71137cb2b:

extcon: Add support for qcom SPMI PMIC USB id detection hardware (2016-09-13 11:26:26 +0900)

----------------------------------------------------------------
Update extcon for 4.9

Detailed description for this pull request:
1. Support the extcon property and add the synchronization APIs.
- This feature supports the extcon property for external connector
because each external connector might have the property according to
the H/W design.

- The property name should keep the following style.
: EXTCON_PROP_USB_[property_name]
: EXTCON_PROP_CHG_[property_name]
: EXTCON_PROP_JACK_[property_name]
: EXTCON_PROP_DISP_[property_name]

- Add the new extcon APIs to support the extcon property.
: extcon_set_property()
: extcon_get_property()
: extcon_set_property_capability()
: extcon_get_property_capability()

- Add the new synchronization extcon APIs.
: This feature adds the synchronization extcon APIs to support the noti
for both state and property. When extcon_*_sync() functions is called,
the extcon informs the information from extcon provider to extcon client.

The extcon driver may need to change the both state and multiple properties
at the same time. After setting the data of a external connector,
the extcon send the notification to client driver with the extcon_*_sync().

: extcon_sync()
: extcon_set_state_sync()
: extcon_set_property_sync()

- Change the name of existing APIs.
: extcon_set_cable_state_() -> extcon_set_cable()
: extcon_get_cable_state_() -> extcon_get_cable()

2. Add the extcon type to group the connector into five category.
- EXTCON_TYPE_USB : USB connector
- EXTCON_TYPE_CHG : Charger connector
- EXTCON_TYPE_JACK : Jack connector
- EXTCON_TYPE_DISP : Display connector
- EXTCON_TYPE_MISC : Miscellaneous connector

3. Add the new property for external connector.
- EXTCON_PROP_USB_VBUS
- EXTCON_PROP_USB_TYPEC_POLARITY
- EXTCON_PROP_USB_SS (SuperSpeed)
- EXTCON_PROP_DISP_HPD (Hot Plug Detect)

4. Add the new type of external connector.
- EXTCON_DISP_DP : Display Port
- EXTCON_DISP_HMD : Head Mounted Device
- EXTCON_CHG_WPT : Wireless Power Transfer device

5. Add the new extcon driver.
- Qualcomm SPMI PMIC USB id detection driver detects whether
EXTCON_USB_HOST is attached or detached. (extcon-qcom-spmi-mis.c)

6. Remove the usage of extcon_update_state() and old extcon_set_state()
- Both extcon_update_state() and extcon_set_state() should change the state
of all external connectors with bit masking handling. It may occur the
problem. Instead, extcon provides the extcon_set/get_state() functions.

7. Fix the minor issues on extcon drivers.

----------------------------------------------------------------
Chanwoo Choi (13):
extcon: arizona: Remove the usage of extcon_update_state()
extcon: adc-jack: Remove the usage of extcon_set_state()
extcon: gpio: Remove the usage of extcon_set_state()
extcon: Remove the state_store() to prevent the wrong access
extcon: Block the bit masking operation for cable state except for extcon core
extcon: Add the extcon_type to gather each connector into five category
extcon: Add the support for extcon property according to extcon type
extcon: Add the support for the capability of each property
extcon: Rename the extcon_set/get_state() to maintain the function naming pattern
extcon: Add the synchronization extcon APIs to support the notification
extcon: Add new EXTCON_DISP_HMD for Head-mounted Display device
extcon: Add new EXTCON_CHG_WPT for Wireless Power Transfer device
extcon: Use the extcon_set_state_sync() instead of deprecated functions

Charles Keepax (1):
extcon: arizona: Remove unneeded semi-colon

Chris Zhong (2):
extcon: Add EXTCON_DISP_DP and the property for USB Type-C
extcon: Introduce EXTCON_PROP_DISP_HPD property

Colin Ian King (1):
extcon: axp288: Fix spelling mistake

Guenter Roeck (1):
extcon: Introduce EXTCON_PROP_USB_SS property for SuperSpeed mode

Krzysztof Kozlowski (1):
extcon: max14577: Change Krzysztof Kozlowski's email to kernel.org

Maninder Singh (1):
extcon: Fix compile time warning

Stephen Boyd (2):
extcon: Move extcon_get_edev_by_phandle() errors to dbg level
extcon: Add support for qcom SPMI PMIC USB id detection hardware

Venkat Reddy Talla (1):
extcon: adc-jack: update cable state during boot

.../bindings/extcon/qcom,pm8941-misc.txt | 41 ++
drivers/extcon/Kconfig | 6 +
drivers/extcon/Makefile | 1 +
drivers/extcon/extcon-adc-jack.c | 27 +-
drivers/extcon/extcon-arizona.c | 27 +-
drivers/extcon/extcon-axp288.c | 8 +-
drivers/extcon/extcon-gpio.c | 2 +-
drivers/extcon/extcon-max14577.c | 18 +-
drivers/extcon/extcon-max3355.c | 8 +-
drivers/extcon/extcon-max77693.c | 46 +-
drivers/extcon/extcon-max77843.c | 22 +-
drivers/extcon/extcon-max8997.c | 20 +-
drivers/extcon/extcon-palmas.c | 16 +-
drivers/extcon/extcon-qcom-spmi-misc.c | 170 +++++
drivers/extcon/extcon-rt8973a.c | 4 +-
drivers/extcon/extcon-sm5502.c | 4 +-
drivers/extcon/extcon-usb-gpio.c | 8 +-
drivers/extcon/extcon.c | 774 +++++++++++++++++----
include/linux/extcon.h | 192 ++++-
include/linux/extcon/extcon-adc-jack.h | 4 +-
20 files changed, 1122 insertions(+), 276 deletions(-)
create mode 100644 Documentation/devicetree/bindings/extcon/qcom,pm8941-misc.txt
create mode 100644 drivers/extcon/extcon-qcom-spmi-misc.c