Skip to content

Commit 865fdb0

Browse files
committed
Merge tag 'input-for-v6.4-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov: - a new driver for Novatek touch controllers - a new driver for power button for NXP BBNSM - a skeleton KUnit tests for the input core - improvements to Xpad game controller driver to support more devices - improvements to edt-ft5x06, hideep and other drivers * tag 'input-for-v6.4-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (42 commits) Revert "Input: xpad - fix support for some third-party controllers" dt-bindings: input: pwm-beeper: convert to dt schema Input: xpad - fix PowerA EnWired Controller guide button Input: xpad - add constants for GIP interface numbers Input: synaptics-rmi4 - fix function name in kerneldoc Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe Input: edt-ft5x06 - select REGMAP_I2C Input: melfas_mip4 - report palm touches Input: cma3000_d0x - remove unneeded code Input: edt-ft5x06 - calculate points data length only once Input: edt-ft5x06 - unify the crc check Input: edt-ft5x06 - convert to use regmap API Input: edt-ft5x06 - don't print error messages with dev_dbg() Input: edt-ft5x06 - remove code duplication Input: edt-ft5x06 - don't recalculate the CRC Input: edt-ft5x06 - add spaces to ensure format specification Input: edt-ft5x06 - remove unnecessary blank lines Input: edt-ft5x06 - fix indentation Input: tsc2007 - enable cansleep pendown GPIO Input: Add KUnit tests for some of the input core helper functions ...
2 parents c8c655c + 9a87ffc commit 865fdb0

37 files changed

Lines changed: 1067 additions & 324 deletions

Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ properties:
4545
when the keyboard has a custom design for the top row keys.
4646
4747
dependencies:
48-
function-row-phsymap: [ 'linux,keymap' ]
48+
function-row-physmap: [ 'linux,keymap' ]
4949
google,needs-ghost-filter: [ 'linux,keymap' ]
5050

5151
required:

Documentation/devicetree/bindings/input/pwm-beeper.txt

Lines changed: 0 additions & 24 deletions
This file was deleted.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/pwm-beeper.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: PWM beeper
8+
9+
maintainers:
10+
- Sascha Hauer <s.hauer@pengutronix.de>
11+
12+
properties:
13+
compatible:
14+
const: pwm-beeper
15+
16+
pwms:
17+
maxItems: 1
18+
19+
amp-supply:
20+
description: an amplifier for the beeper
21+
22+
beeper-hz:
23+
description: bell frequency in Hz
24+
minimum: 10
25+
maximum: 10000
26+
27+
required:
28+
- compatible
29+
- pwms
30+
31+
unevaluatedProperties: false
32+
33+
examples:
34+
- |
35+
#include <dt-bindings/gpio/gpio.h>
36+
beeper {
37+
compatible = "pwm-beeper";
38+
pwms = <&pwm0>;
39+
amp-supply = <&beeper_amp>;
40+
beeper-hz = <1000>;
41+
};

MAINTAINERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14877,6 +14877,12 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/wtarreau/nolibc.git
1487714877
F: tools/include/nolibc/
1487814878
F: tools/testing/selftests/nolibc/
1487914879

14880+
NOVATEK NVT-TS I2C TOUCHSCREEN DRIVER
14881+
M: Hans de Goede <hdegoede@redhat.com>
14882+
L: linux-input@vger.kernel.org
14883+
S: Maintained
14884+
F: drivers/input/touchscreen/novatek-nvt-ts.c
14885+
1488014886
NSDEPS
1488114887
M: Matthias Maennich <maennich@google.com>
1488214888
S: Maintained

arch/arm/mach-pxa/spitz.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include <linux/spi/pxa2xx_spi.h>
2626
#include <linux/mtd/sharpsl.h>
2727
#include <linux/mtd/physmap.h>
28+
#include <linux/input-event-codes.h>
2829
#include <linux/input/matrix_keypad.h>
2930
#include <linux/regulator/machine.h>
3031
#include <linux/io.h>

drivers/input/Kconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,16 @@ config INPUT_EVBUG
166166
To compile this driver as a module, choose M here: the
167167
module will be called evbug.
168168

169+
config INPUT_KUNIT_TEST
170+
tristate "KUnit tests for Input" if !KUNIT_ALL_TESTS
171+
depends on INPUT && KUNIT=y
172+
default KUNIT_ALL_TESTS
173+
help
174+
Say Y here if you want to build the KUnit tests for the input
175+
subsystem.
176+
177+
If in doubt, say "N".
178+
169179
config INPUT_APMPOWER
170180
tristate "Input Power Event -> APM Bridge" if EXPERT
171181
depends on INPUT && APM_EMULATION

drivers/input/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ obj-$(CONFIG_INPUT_JOYSTICK) += joystick/
2626
obj-$(CONFIG_INPUT_TABLET) += tablet/
2727
obj-$(CONFIG_INPUT_TOUCHSCREEN) += touchscreen/
2828
obj-$(CONFIG_INPUT_MISC) += misc/
29+
obj-$(CONFIG_INPUT_KUNIT_TEST) += tests/
2930

3031
obj-$(CONFIG_INPUT_APMPOWER) += apm-power.o
3132

drivers/input/joystick/xpad.c

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@ static const struct xpad_device {
126126
char *name;
127127
u8 mapping;
128128
u8 xtype;
129-
u8 packet_type;
130129
} xpad_device[] = {
131130
{ 0x0079, 0x18d4, "GPD Win 2 X-Box Controller", 0, XTYPE_XBOX360 },
132131
{ 0x03eb, 0xff01, "Wooting One (Legacy)", 0, XTYPE_XBOX360 },
@@ -475,6 +474,7 @@ static const struct usb_device_id xpad_table[] = {
475474
XPAD_XBOX360_VENDOR(0x0f0d), /* Hori Controllers */
476475
XPAD_XBOXONE_VENDOR(0x0f0d), /* Hori Controllers */
477476
XPAD_XBOX360_VENDOR(0x1038), /* SteelSeries Controllers */
477+
XPAD_XBOXONE_VENDOR(0x10f5), /* Turtle Beach Controllers */
478478
XPAD_XBOX360_VENDOR(0x11c9), /* Nacon GC100XF */
479479
XPAD_XBOX360_VENDOR(0x1209), /* Ardwiino Controllers */
480480
XPAD_XBOX360_VENDOR(0x12ab), /* X-Box 360 dance pads */
@@ -493,6 +493,7 @@ static const struct usb_device_id xpad_table[] = {
493493
XPAD_XBOXONE_VENDOR(0x24c6), /* PowerA Controllers */
494494
XPAD_XBOX360_VENDOR(0x2563), /* OneXPlayer Gamepad */
495495
XPAD_XBOX360_VENDOR(0x260d), /* Dareu H101 */
496+
XPAD_XBOX360_VENDOR(0x2c22), /* Qanba Controllers */
496497
XPAD_XBOX360_VENDOR(0x2dc8), /* 8BitDo Pro 2 Wired Controller */
497498
XPAD_XBOXONE_VENDOR(0x2dc8), /* 8BitDo Pro 2 Wired Controller for Xbox */
498499
XPAD_XBOXONE_VENDOR(0x2e24), /* Hyperkin Duke X-Box One pad */
@@ -559,6 +560,9 @@ struct xboxone_init_packet {
559560
#define GIP_MOTOR_LT BIT(3)
560561
#define GIP_MOTOR_ALL (GIP_MOTOR_R | GIP_MOTOR_L | GIP_MOTOR_RT | GIP_MOTOR_LT)
561562

563+
#define GIP_WIRED_INTF_DATA 0
564+
#define GIP_WIRED_INTF_AUDIO 1
565+
562566
/*
563567
* This packet is required for all Xbox One pads with 2015
564568
* or later firmware installed (or present from the factory).
@@ -1392,6 +1396,21 @@ static int xpad_start_xbox_one(struct usb_xpad *xpad)
13921396
unsigned long flags;
13931397
int retval;
13941398

1399+
if (usb_ifnum_to_if(xpad->udev, GIP_WIRED_INTF_AUDIO)) {
1400+
/*
1401+
* Explicitly disable the audio interface. This is needed
1402+
* for some controllers, such as the PowerA Enhanced Wired
1403+
* Controller for Series X|S (0x20d6:0x200e) to report the
1404+
* guide button.
1405+
*/
1406+
retval = usb_set_interface(xpad->udev,
1407+
GIP_WIRED_INTF_AUDIO, 0);
1408+
if (retval)
1409+
dev_warn(&xpad->dev->dev,
1410+
"unable to disable audio interface: %d\n",
1411+
retval);
1412+
}
1413+
13951414
spin_lock_irqsave(&xpad->odata_lock, flags);
13961415

13971416
/*
@@ -2003,7 +2022,7 @@ static int xpad_probe(struct usb_interface *intf, const struct usb_device_id *id
20032022
}
20042023

20052024
if (xpad->xtype == XTYPE_XBOXONE &&
2006-
intf->cur_altsetting->desc.bInterfaceNumber != 0) {
2025+
intf->cur_altsetting->desc.bInterfaceNumber != GIP_WIRED_INTF_DATA) {
20072026
/*
20082027
* The Xbox One controller lists three interfaces all with the
20092028
* same interface class, subclass and protocol. Differentiate by

drivers/input/keyboard/gpio_keys.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -770,6 +770,9 @@ gpio_keys_get_devtree_pdata(struct device *dev)
770770
&button->type))
771771
button->type = EV_KEY;
772772

773+
fwnode_property_read_u32(child, "linux,input-value",
774+
(u32 *)&button->value);
775+
773776
button->wakeup =
774777
fwnode_property_read_bool(child, "wakeup-source") ||
775778
/* legacy name */

drivers/input/keyboard/iqs62x-keys.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ static int iqs62x_keys_remove(struct platform_device *pdev)
320320
if (ret)
321321
dev_err(&pdev->dev, "Failed to unregister notifier: %d\n", ret);
322322

323-
return ret;
323+
return 0;
324324
}
325325

326326
static struct platform_driver iqs62x_keys_platform_driver = {

0 commit comments

Comments
 (0)