Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 36bebcff authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'extcon-next-for-4.11' of...

Merge tag 'extcon-next-for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next

Chanwoo writes:

Update extcon for 4.11

Detailed description for this pull request:
1. Add the new extcon driver.
- Intel INT3496 ACPI USB id detection driver detects whether
  EXTCON_USB_HOST is attached or detached. (extcon-intel-int3496.c)

2. Add the new type of external connector.
- EXTCON_CHG_USB_PD (USB Power Delivery) provides the increased
  power more than 7.5W to device with larger power demand.

3. Add the description for EXTCON_CHG_USB_(SDP|ACA|SLOW|FAST)
- EXTCON_CHG_USB_SDP should always appear together with EXTCON_USB
- EXTCON_CHG_USB_ACA would normally appear with EXTCON_USB_HOST.
- EXTCON_CHG_USB_SLOW can provide at least 500mA of current at 5V
- EXTCON_CHG_USB_FAST can provide at least 1A of current at 5V.

4. Modify the connector name of EXTCON_USB_HOST
- "USB_HOST" -> "USB-HOST"

5. Update the extcon core
- Move the private extcon structure into driver/extcon directory.
  The 'struct extcon_dev' should be only handled by extcon core
  to prevent the direct access and to maintain the integrity of it.
- Remove the ambigous operation of extcon_register_notifier()
  in case of the 'extcon_dev' instance is NULL. The user of
  extcon_register_notifier() have to specify the correct instance
  of the provider extcon driver.

6. Update the extcon drivers and fix the minor issues
- Update the extcon-axp288 driver to remove the unncessary code.
- Add pinctrl operation during suspend mode to extcon-usb-gpio driver.
- Clean up the extcon-arizona/adc-jack driver.
- Use the dev_dbg() for debug messsage on extcon-palmas driver.
- Return the error code on failure of extcon_sync()
parents 8e27a236 567ab5a8
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
Intel INT3496 ACPI device extcon driver documentation
-----------------------------------------------------

The Intel INT3496 ACPI device extcon driver is a driver for ACPI
devices with an acpi-id of INT3496, such as found for example on
Intel Baytrail and Cherrytrail tablets.

This ACPI device describes how the OS can read the id-pin of the devices'
USB-otg port, as well as how it optionally can enable Vbus output on the
otg port and how it can optionally control the muxing of the data pins
between an USB host and an USB peripheral controller.

The ACPI devices exposes this functionality by returning an array with up
to 3 gpio descriptors from its ACPI _CRS (Current Resource Settings) call:

Index 0: The input gpio for the id-pin, this is always present and valid
Index 1: The output gpio for enabling Vbus output from the device to the otg
         port, write 1 to enable the Vbus output (this gpio descriptor may
         be absent or invalid)
Index 2: The output gpio for muxing of the data pins between the USB host and
         the USB peripheral controller, write 1 to mux to the peripheral
         controller
+10 −0
Original line number Diff line number Diff line
@@ -42,6 +42,16 @@ config EXTCON_GPIO
	  Say Y here to enable GPIO based extcon support. Note that GPIO
	  extcon supports single state per extcon instance.

config EXTCON_INTEL_INT3496
	tristate "Intel INT3496 ACPI device extcon driver"
	depends on GPIOLIB && ACPI
	help
	  Say Y here to enable extcon support for USB OTG ports controlled by
	  an Intel INT3496 ACPI device.

	  This ACPI device is typically found on Intel Baytrail or Cherrytrail
	  based tablets, or other Baytrail / Cherrytrail devices.

config EXTCON_MAX14577
	tristate "Maxim MAX14577/77836 EXTCON Support"
	depends on MFD_MAX14577
+1 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ obj-$(CONFIG_EXTCON_ADC_JACK) += extcon-adc-jack.o
obj-$(CONFIG_EXTCON_ARIZONA)	+= extcon-arizona.o
obj-$(CONFIG_EXTCON_AXP288)	+= extcon-axp288.o
obj-$(CONFIG_EXTCON_GPIO)	+= extcon-gpio.o
obj-$(CONFIG_EXTCON_INTEL_INT3496) += extcon-intel-int3496.o
obj-$(CONFIG_EXTCON_MAX14577)	+= extcon-max14577.o
obj-$(CONFIG_EXTCON_MAX3355)	+= extcon-max3355.o
obj-$(CONFIG_EXTCON_MAX77693)	+= extcon-max77693.o
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * GNU General Public License for more details.
 */

#include <linux/extcon.h>
#include "extcon.h"

static int devm_extcon_dev_match(struct device *dev, void *res, void *data)
{
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ static void adc_jack_handler(struct work_struct *work)

	ret = iio_read_channel_raw(data->chan, &adc_val);
	if (ret < 0) {
		dev_err(&data->edev->dev, "read channel() error: %d\n", ret);
		dev_err(data->dev, "read channel() error: %d\n", ret);
		return;
	}

Loading