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

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

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

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

Chanwoo writes:

Update extcon for 3.12

This patchset add new file for OF helper API and modify small fix of extcon-palmas
driver. Also, extcon core dirver use power_efficient_wq instead of system_wq.

Detailed description for patchset:
1. Add new file for OF helper API
- Add OF(OpenFirmware) Helper API which is of_extcon_get_extcon_device().
  This helper API get the extcon device name on extcon consumer device.
- Add usase case about OF helper API of extcon in dwc3-omap.c. dwc3-omap driver
  use extcon subsystem to detect the state of USB/USB-Host cable so dwc3-omap
  call of_extcon_get_extcon_device() to need extcon device name.

2. Modify extcon-palmas.c driver
- Provide option to select whether interrupt is used or not
- Support suspend/resume for palmas driver
- Update palmas interrupt register to detect ID pin
- Code clean to remove unused data
- Rename filename for device tree binding (extcon-twl.txt -> extcon-palmas.txt)

3. Use power_effcient_wq on extcon core driver/extcon-arizona instead of system_wq
- extcon core driver(extcon-gpio.c/extcon-adc-jack.c) use power_effcient_wq
instead of system_wq.
parents 00663d73 1a82e81e
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
EXTCON FOR TWL CHIPS
EXTCON FOR PALMAS/TWL CHIPS


PALMAS USB COMPARATOR
PALMAS USB COMPARATOR
Required Properties:
Required Properties:
 - compatible : Should be "ti,palmas-usb" or "ti,twl6035-usb"
 - compatible : Should be "ti,palmas-usb" or "ti,twl6035-usb"
 - vbus-supply : phandle to the regulator device tree node.


Optional Properties:
Optional Properties:
 - ti,wakeup : To enable the wakeup comparator in probe
 - ti,wakeup : To enable the wakeup comparator in probe
 - ti,enable-id-detection: Perform ID detection.
 - ti,enable-vbus-detection: Perform VBUS detection.


palmas-usb {
palmas-usb {
       compatible = "ti,twl6035-usb", "ti,palmas-usb";
       compatible = "ti,twl6035-usb", "ti,palmas-usb";
       vbus-supply = <&smps10_reg>;
       ti,wakeup;
       ti,wakeup;
};
};
+5 −0
Original line number Original line Diff line number Diff line
@@ -53,6 +53,11 @@ OMAP DWC3 GLUE
   It should be set to "1" for HW mode and "2" for SW mode.
   It should be set to "1" for HW mode and "2" for SW mode.
 - ranges: the child address space are mapped 1:1 onto the parent address space
 - ranges: the child address space are mapped 1:1 onto the parent address space


Optional Properties:
 - extcon : phandle for the extcon device omap dwc3 uses to detect
   connect/disconnect events.
 - vbus-supply : phandle to the regulator device tree node if needed.

Sub-nodes:
Sub-nodes:
The dwc3 core should be added as subnode to omap dwc3 glue.
The dwc3 core should be added as subnode to omap dwc3 glue.
- dwc3 :
- dwc3 :
+4 −0
Original line number Original line Diff line number Diff line
@@ -14,6 +14,10 @@ if EXTCON


comment "Extcon Device Drivers"
comment "Extcon Device Drivers"


config OF_EXTCON
	def_tristate y
	depends on OF

config EXTCON_GPIO
config EXTCON_GPIO
	tristate "GPIO extcon support"
	tristate "GPIO extcon support"
	depends on GPIOLIB
	depends on GPIOLIB
+2 −0
Original line number Original line Diff line number Diff line
@@ -2,6 +2,8 @@
# Makefile for external connector class (extcon) devices
# Makefile for external connector class (extcon) devices
#
#


obj-$(CONFIG_OF_EXTCON)		+= of_extcon.o

obj-$(CONFIG_EXTCON)		+= extcon-class.o
obj-$(CONFIG_EXTCON)		+= extcon-class.o
obj-$(CONFIG_EXTCON_GPIO)	+= extcon-gpio.o
obj-$(CONFIG_EXTCON_GPIO)	+= extcon-gpio.o
obj-$(CONFIG_EXTCON_ADC_JACK)	+= extcon-adc-jack.o
obj-$(CONFIG_EXTCON_ADC_JACK)	+= extcon-adc-jack.o
+2 −1
Original line number Original line Diff line number Diff line
@@ -87,7 +87,8 @@ static irqreturn_t adc_jack_irq_thread(int irq, void *_data)
{
{
	struct adc_jack_data *data = _data;
	struct adc_jack_data *data = _data;


	schedule_delayed_work(&data->handler, data->handling_delay);
	queue_delayed_work(system_power_efficient_wq,
			   &data->handler, data->handling_delay);
	return IRQ_HANDLED;
	return IRQ_HANDLED;
}
}


Loading