Merge tag 'extcon-next-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Sep 2016 15:17:31 +0000 (17:17 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Sep 2016 15:17:31 +0000 (17:17 +0200)
commit4d719209be3676936c27184cb9bff10f93f8fa64
treeb0d505eb954fcb48cefb1de49e6652ff209ccf24
parent050bc4e846af24e77af82d0fa5f718e0919d15a4
parent38085c987f52674c2cc84fa0c0788eb71137cb2b
Merge tag 'extcon-next-for-4.9' of git://git./linux/kernel/git/chanwoo/extcon into usb-testing

Chanwoo writes:

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.