Skip to content

Commit

Permalink
Merge tag 'char-misc-3.17-rc1' of git://git.kernel.org/pub/scm/linux/…
Browse files Browse the repository at this point in the history
…kernel/git/gregkh/char-misc

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
  ...
  • Loading branch information
torvalds committed Aug 5, 2014
2 parents 98a96f2 + 16eb2bf commit 2521129
Show file tree
Hide file tree
Showing 140 changed files with 8,646 additions and 1,083 deletions.
16 changes: 16 additions & 0 deletions Documentation/ABI/testing/sysfs-class-mei
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
What: /sys/class/mei/
Date: May 2014
KernelVersion: 3.17
Contact: Tomas Winkler <[email protected]>
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 <[email protected]>
Description:
The /sys/class/mei/meiN directory is created for
each probed mei device

9 changes: 9 additions & 0 deletions Documentation/ABI/testing/sysfs-driver-genwqe
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,15 @@ Date: Oct 2013
Contact: [email protected]
Description: Interface to set the next bitstream to be used.

What: /sys/class/genwqe/genwqe<n>_card/reload_bitstream
Date: May 2014
Contact: [email protected]
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: [email protected]
Expand Down
23 changes: 23 additions & 0 deletions Documentation/devicetree/bindings/extcon/extcon-sm5502.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@

* 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>;
};
67 changes: 41 additions & 26 deletions Documentation/mic/mic_overview.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,35 +17,50 @@ 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
the host to initiate DMA's to/from the card using the MIC DMA engine and
the fact that the virtio block storage backend can only be on the host.

|
+----------+ | +----------+
| Card OS | | | Host OS |
+----------+ | +----------+
|
+-------+ +--------+ +------+ | +---------+ +--------+ +--------+
| Virtio| |Virtio | |Virtio| | |Virtio | |Virtio | |Virtio |
| Net | |Console | |Block | | |Net | |Console | |Block |
| Driver| |Driver | |Driver| | |backend | |backend | |backend |
+-------+ +--------+ +------+ | +---------+ +--------+ +--------+
| | | | | | |
| | | |User | | |
| | | |------|------------|---------|-------
+-------------------+ |Kernel +--------------------------+
| | | Virtio over PCIe IOCTLs |
| | +--------------------------+
+--------------+ | |
|Intel MIC | | +---------------+
|Card Driver | | |Intel MIC |
+--------------+ | |Host Driver |
| | +---------------+
| | |
+-------------------------------------------------------------+
| |
| PCIe Bus |
+-------------------------------------------------------------+
|
+----------+ | +----------+
| Card OS | | | Host OS |
+----------+ | +----------+
|
+-------+ +--------+ +------+ | +---------+ +--------+ +--------+
| Virtio| |Virtio | |Virtio| | |Virtio | |Virtio | |Virtio |
| Net | |Console | |Block | | |Net | |Console | |Block |
| Driver| |Driver | |Driver| | |backend | |backend | |backend |
+-------+ +--------+ +------+ | +---------+ +--------+ +--------+
| | | | | | |
| | | |User | | |
| | | |------|------------|---------|-------
+-------------------+ |Kernel +--------------------------+
| | | Virtio over PCIe IOCTLs |
| | +--------------------------+
+-----------+ | | | +-----------+
| MIC DMA | | | | | MIC DMA |
| Driver | | | | | Driver |
+-----------+ | | | +-----------+
| | | | |
+---------------+ | | | +----------------+
|MIC virtual Bus| | | | |MIC virtual Bus |
+---------------+ | | | +----------------+
| | | | |
| +--------------+ | +---------------+ |
| |Intel MIC | | |Intel MIC | |
+---|Card Driver | | |Host Driver | |
+--------------+ | +---------------+-----+
| | |
+-------------------------------------------------------------+
| |
| PCIe Bus |
+-------------------------------------------------------------+
14 changes: 7 additions & 7 deletions Documentation/mic/mpssd/mpss
Original file line number Diff line number Diff line change
Expand Up @@ -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 "
Expand Down Expand Up @@ -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
Expand Down
25 changes: 25 additions & 0 deletions Documentation/w1/slaves/w1_ds2406
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
w1_ds2406 kernel driver
=======================

Supported chips:
* Maxim DS2406 (and other family 0x12) addressable switches

Author: Scott Alfter <[email protected]>

Description
-----------

The w1_ds2406 driver allows connected devices to be switched on and off.
These chips also provide 128 bytes of OTP EPROM, but reading/writing it is
not supported. In TSOC-6 form, the DS2406 provides two switch outputs and
can be provided with power on a dedicated input. In TO-92 form, it provides
one output and uses parasitic power only.

The driver provides two sysfs files. state is readable; it gives the
current state of each switch, with PIO A in bit 0 and PIO B in bit 1. The
driver ORs this state with 0x30, so shell scripts get an ASCII 0/1/2/3 to
work with. output is writable; bits 0 and 1 control PIO A and B,
respectively. Bits 2-7 are ignored, so it's safe to write ASCII data.

CRCs are checked on read and write. Failed checks cause an I/O error to be
returned. On a failed write, the switch status is not changed.
5 changes: 5 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -7844,6 +7844,11 @@ S: Maintained
F: include/linux/mmc/dw_mmc.h
F: drivers/mmc/host/dw_mmc*

THUNDERBOLT DRIVER
M: Andreas Noever <[email protected]>
S: Maintained
F: drivers/thunderbolt/

TIMEKEEPING, CLOCKSOURCE CORE, NTP
M: John Stultz <[email protected]>
M: Thomas Gleixner <[email protected]>
Expand Down
2 changes: 2 additions & 0 deletions drivers/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -178,4 +178,6 @@ source "drivers/mcb/Kconfig"

source "drivers/ras/Kconfig"

source "drivers/thunderbolt/Kconfig"

endmenu
1 change: 1 addition & 0 deletions drivers/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -159,3 +159,4 @@ obj-$(CONFIG_FMC) += fmc/
obj-$(CONFIG_POWERCAP) += powercap/
obj-$(CONFIG_MCB) += mcb/
obj-$(CONFIG_RAS) += ras/
obj-$(CONFIG_THUNDERBOLT) += thunderbolt/
2 changes: 1 addition & 1 deletion drivers/char/bsr.c
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ static int bsr_add_node(struct device_node *bn)
}

cur->bsr_device = device_create(bsr_class, NULL, cur->bsr_dev,
cur, cur->bsr_name);
cur, "%s", cur->bsr_name);
if (IS_ERR(cur->bsr_device)) {
printk(KERN_ERR "device_create failed for %s\n",
cur->bsr_name);
Expand Down
2 changes: 1 addition & 1 deletion drivers/char/dsp56k.c
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ static long dsp56k_ioctl(struct file *file, unsigned int cmd,
return put_user(status, &hf->status);
}
case DSP56K_HOST_CMD:
if (arg > 31 || arg < 0)
if (arg > 31)
return -EINVAL;
mutex_lock(&dsp56k_mutex);
dsp56k_host_interface.cvr = (u_char)((arg & DSP56K_CVR_HV_MASK) |
Expand Down
Loading

0 comments on commit 2521129

Please sign in to comment.