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

Commit 48853389 authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

Merge branch 'next' into for-linus

Prepare second round of updates for 4.1 merge window.
parents 85a36858 c9eeb508
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -94,6 +94,10 @@ PS/2 packet format

Note that the device never signals overflow condition.

For protocol version 2 devices when the trackpoint is used, and no fingers
are on the touchpad, the M R L bits signal the combined status of both the
pointingstick and touchpad buttons.

ALPS Absolute Mode - Protocol Version 1
--------------------------------------

@@ -107,7 +111,7 @@ ALPS Absolute Mode - Protocol Version 1
ALPS Absolute Mode - Protocol Version 2
---------------------------------------

 byte 0:  1    ?    ?    ?    1    ?    ?    ?
 byte 0:  1    ?    ?    ?    1  PSM  PSR  PSL
 byte 1:  0   x6   x5   x4   x3   x2   x1   x0
 byte 2:  0  x10   x9   x8   x7    ?  fin  ges
 byte 3:  0   y9   y8   y7    1    M    R    L
@@ -115,7 +119,8 @@ ALPS Absolute Mode - Protocol Version 2
 byte 5:  0   z6   z5   z4   z3   z2   z1   z0

Protocol Version 2 DualPoint devices send standard PS/2 mouse packets for
the DualPoint Stick.
the DualPoint Stick. For non interleaved dualpoint devices the pointingstick
buttons get reported separately in the PSM, PSR and PSL bits.

Dualpoint device -- interleaved packet format
---------------------------------------------
+8 −0
Original line number Diff line number Diff line
@@ -10530,6 +10530,14 @@ L: linux-kernel@vger.kernel.org
S:	Maintained
F:	drivers/misc/vmw_balloon.c

VMWARE VMMOUSE SUBDRIVER
M:	"VMware Graphics" <linux-graphics-maintainer@vmware.com>
M:	"VMware, Inc." <pv-drivers@vmware.com>
L:	linux-input@vger.kernel.org
S:	Maintained
F:	drivers/input/mouse/vmmouse.c
F:	drivers/input/mouse/vmmouse.h

VMWARE VMXNET3 ETHERNET DRIVER
M:	Shreyas Bhatewara <sbhatewara@vmware.com>
M:	"VMware, Inc." <pv-drivers@vmware.com>
+4 −6
Original line number Diff line number Diff line
@@ -23,8 +23,6 @@

/* #define DEBUG */

#define pr_fmt(fmt) KBUILD_BASENAME ": " fmt

#include <linux/input.h>
#include <linux/module.h>
#include <linux/mutex.h>
@@ -116,7 +114,7 @@ int input_ff_upload(struct input_dev *dev, struct ff_effect *effect,

	if (effect->type < FF_EFFECT_MIN || effect->type > FF_EFFECT_MAX ||
	    !test_bit(effect->type, dev->ffbit)) {
		pr_debug("invalid or not supported effect type in upload\n");
		dev_dbg(&dev->dev, "invalid or not supported effect type in upload\n");
		return -EINVAL;
	}

@@ -124,7 +122,7 @@ int input_ff_upload(struct input_dev *dev, struct ff_effect *effect,
	    (effect->u.periodic.waveform < FF_WAVEFORM_MIN ||
	     effect->u.periodic.waveform > FF_WAVEFORM_MAX ||
	     !test_bit(effect->u.periodic.waveform, dev->ffbit))) {
		pr_debug("invalid or not supported wave form in upload\n");
		dev_dbg(&dev->dev, "invalid or not supported wave form in upload\n");
		return -EINVAL;
	}

@@ -246,7 +244,7 @@ static int flush_effects(struct input_dev *dev, struct file *file)
	struct ff_device *ff = dev->ff;
	int i;

	pr_debug("flushing now\n");
	dev_dbg(&dev->dev, "flushing now\n");

	mutex_lock(&ff->mutex);

@@ -316,7 +314,7 @@ int input_ff_create(struct input_dev *dev, unsigned int max_effects)
	int i;

	if (!max_effects) {
		pr_err("cannot allocate device without any effects\n");
		dev_err(&dev->dev, "cannot allocate device without any effects\n");
		return -EINVAL;
	}

+20 −1
Original line number Diff line number Diff line
@@ -31,12 +31,14 @@
 *  - the iForce driver    drivers/char/joystick/iforce.c
 *  - the skeleton-driver  drivers/usb/usb-skeleton.c
 *  - Xbox 360 information http://www.free60.org/wiki/Gamepad
 *  - Xbox One information https://github.com/quantus/xbox-one-controller-protocol
 *
 * Thanks to:
 *  - ITO Takayuki for providing essential xpad information on his website
 *  - Vojtech Pavlik     - iforce driver / input subsystem
 *  - Greg Kroah-Hartman - usb-skeleton driver
 *  - XBOX Linux project - extra USB id's
 *  - Pekka Pöyry (quantus) - Xbox One controller reverse engineering
 *
 * TODO:
 *  - fine tune axes (especially trigger axes)
@@ -828,6 +830,23 @@ static int xpad_play_effect(struct input_dev *dev, void *data, struct ff_effect

			return usb_submit_urb(xpad->irq_out, GFP_ATOMIC);

		case XTYPE_XBOXONE:
			xpad->odata[0] = 0x09; /* activate rumble */
			xpad->odata[1] = 0x08;
			xpad->odata[2] = 0x00;
			xpad->odata[3] = 0x08; /* continuous effect */
			xpad->odata[4] = 0x00; /* simple rumble mode */
			xpad->odata[5] = 0x03; /* L and R actuator only */
			xpad->odata[6] = 0x00; /* TODO: LT actuator */
			xpad->odata[7] = 0x00; /* TODO: RT actuator */
			xpad->odata[8] = strong / 256;	/* left actuator */
			xpad->odata[9] = weak / 256;	/* right actuator */
			xpad->odata[10] = 0x80;	/* length of pulse */
			xpad->odata[11] = 0x00;	/* stop period of pulse */
			xpad->irq_out->transfer_buffer_length = 12;

			return usb_submit_urb(xpad->irq_out, GFP_ATOMIC);

		default:
			dev_dbg(&xpad->dev->dev,
				"%s - rumble command sent to unsupported xpad type: %d\n",
@@ -841,7 +860,7 @@ static int xpad_play_effect(struct input_dev *dev, void *data, struct ff_effect

static int xpad_init_ff(struct usb_xpad *xpad)
{
	if (xpad->xtype == XTYPE_UNKNOWN || xpad->xtype == XTYPE_XBOXONE)
	if (xpad->xtype == XTYPE_UNKNOWN)
		return 0;

	input_set_capability(xpad->dev, EV_FF, FF_RUMBLE);
+2 −2
Original line number Diff line number Diff line
/*
 * LM8333 keypad driver
 * Copyright (C) 2012 Wolfram Sang, Pengutronix <w.sang@pengutronix.de>
 * Copyright (C) 2012 Wolfram Sang, Pengutronix <kernel@pengutronix.de>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
@@ -231,6 +231,6 @@ static struct i2c_driver lm8333_driver = {
};
module_i2c_driver(lm8333_driver);

MODULE_AUTHOR("Wolfram Sang <w.sang@pengutronix.de>");
MODULE_AUTHOR("Wolfram Sang <kernel@pengutronix.de>");
MODULE_DESCRIPTION("LM8333 keyboard driver");
MODULE_LICENSE("GPL v2");
Loading