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

Commit 2521129a authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull char / misc driver patches from Greg KH:
 "Here's the big driver misc / char pull request for 3.17-rc1.

  Lots of things in here, the thunderbolt support for Apple laptops,
  some other new drivers, testing fixes, and other good things.  All
  have been in linux-next for a long time"

* tag 'char-misc-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (119 commits)
  misc: bh1780: Introduce the use of devm_kzalloc
  Lattice ECP3 FPGA: Correct endianness
  drivers/misc/ti-st: Load firmware from ti-connectivity directory.
  dt-bindings: extcon: Add support for SM5502 MUIC device
  extcon: sm5502: Change internal hardware switch according to cable type
  extcon: sm5502: Detect cable state after completing platform booting
  extcon: sm5502: Add support new SM5502 extcon device driver
  extcon: arizona: Get MICVDD against extcon device
  extcon: Remove unnecessary OOM messages
  misc: vexpress: Fix sparse non static symbol warnings
  mei: drop unused hw dependent fw status functions
  misc: bh1770glc: Use managed functions
  pcmcia: remove DEFINE_PCI_DEVICE_TABLE usage
  misc: remove DEFINE_PCI_DEVICE_TABLE usage
  ipack: Replace DEFINE_PCI_DEVICE_TABLE macro use
  drivers/char/dsp56k.c: drop check for negativity of unsigned parameter
  mei: fix return value on disconnect timeout
  mei: don't schedule suspend in pm idle
  mei: start disconnect request timer consistently
  mei: reset client connection state on timeout
  ...
parents 98a96f20 16eb2bfc
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
What:		/sys/class/mei/
Date:		May 2014
KernelVersion:	3.17
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:
		The mei/ class sub-directory belongs to mei device class


What:		/sys/class/mei/meiN/
Date:		May 2014
KernelVersion:	3.17
Contact:	Tomas Winkler <tomas.winkler@intel.com>
Description:
		The /sys/class/mei/meiN directory is created for
		each probed mei device
+9 −0
Original line number Diff line number Diff line
@@ -25,6 +25,15 @@ Date: Oct 2013
Contact:        haver@linux.vnet.ibm.com
Description:    Interface to set the next bitstream to be used.

What:           /sys/class/genwqe/genwqe<n>_card/reload_bitstream
Date:           May 2014
Contact:        klebers@linux.vnet.ibm.com
Description:    Interface to trigger a PCIe card reset to reload the bitstream.
                  sudo sh -c 'echo 1 > \
                    /sys/class/genwqe/genwqe0_card/reload_bitstream'
                If successfully, the card will come back with the bitstream set
                on 'next_bitstream'.

What:           /sys/class/genwqe/genwqe<n>_card/tempsens
Date:           Oct 2013
Contact:        haver@linux.vnet.ibm.com
+23 −0
Original line number Diff line number Diff line

* SM5502 MUIC (Micro-USB Interface Controller) device

The Silicon Mitus SM5502 is a MUIC (Micro-USB Interface Controller) device
which can detect the state of external accessory when external accessory is
attached or detached and button is pressed or released. It is interfaced to
the host controller using an I2C interface.

Required properties:
- compatible: Should be "siliconmitus,sm5502-muic"
- reg: Specifies the I2C slave address of the MUIC block. It should be 0x25
- interrupt-parent: Specifies the phandle of the interrupt controller to which
  the interrupts from sm5502 are delivered to.
- interrupts: Interrupt specifiers for detection interrupt sources.

Example:

	sm5502@25 {
		compatible = "siliconmitus,sm5502-muic";
		interrupt-parent = <&gpx1>;
		interrupts = <5 0>;
		reg = <0x25>;
	};
+41 −26
Original line number Diff line number Diff line
@@ -17,6 +17,13 @@ for applications. A key benefit of our solution is that it leverages
the standard virtio framework for network, disk and console devices,
though in our case the virtio framework is used across a PCIe bus.

MIC PCIe card has a dma controller with 8 channels. These channels are
shared between the host s/w and the card s/w. 0 to 3 are used by host
and 4 to 7 by card. As the dma device doesn't show up as PCIe device,
a virtual bus called mic bus is created and virtual dma devices are
created on it by the host/card drivers. On host the channels are private
and used only by the host driver to transfer data for the virtio devices.

Here is a block diagram of the various components described above. The
virtio backends are situated on the host rather than the card given better
single threaded performance for the host compared to MIC, the ability of
@@ -39,11 +46,19 @@ the fact that the virtio block storage backend can only be on the host.
            +-------------------+     |Kernel +--------------------------+
                      |               |       | Virtio over PCIe IOCTLs  |
                      |               |       +--------------------------+
      +--------------+        |                   |
      |Intel MIC     |        |            +---------------+
      |Card Driver   |        |            |Intel MIC      |
      +--------------+        |            |Host Driver    |
              |               |            +---------------+
+-----------+         |               |                   |  +-----------+
| MIC DMA   |         |               |                   |  | MIC DMA   |
| Driver    |         |               |                   |  | Driver    |
+-----------+         |               |                   |  +-----------+
      |               |               |                   |        |
+---------------+     |               |                   |  +----------------+
|MIC virtual Bus|     |               |                   |  |MIC virtual Bus |
+---------------+     |               |                   |  +----------------+
      |               |               |                   |              |
      |   +--------------+            |            +---------------+     |
      |   |Intel MIC     |            |            |Intel MIC      |     |
      +---|Card Driver   |            |            |Host Driver    |     |
          +--------------+            |            +---------------+-----+
                      |               |                   |
             +-------------------------------------------------------------+
             |                                                             |
+7 −7
Original line number Diff line number Diff line
@@ -48,18 +48,18 @@ start()
	fi

	echo -e $"Starting MPSS Stack"
	echo -e $"Loading MIC_HOST Module"
	echo -e $"Loading MIC_X100_DMA & MIC_HOST Modules"

	# Ensure the driver is loaded
	if [ ! -d "$sysfs" ]; then
		modprobe mic_host
	for f in "mic_host" "mic_x100_dma"
	do
		modprobe $f
		RETVAL=$?
		if [ $RETVAL -ne 0 ]; then
			failure
			echo
			return $RETVAL
		fi
	fi
	done

	# Start the daemon
	echo -n $"Starting MPSSD "
@@ -170,8 +170,8 @@ unload()
	stop

	sleep 5
	echo -n $"Removing MIC_HOST Module: "
	modprobe -r mic_host
	echo -n $"Removing MIC_HOST & MIC_X100_DMA Modules: "
	modprobe -r mic_host mic_x100_dma
	RETVAL=$?
	[ $RETVAL -ne 0 ] && failure || success
	echo
Loading