* [PATCH RESEND v3 0/2] Add a property to turn off the max touch controller in suspend mode
From: Stefan Eichenberger @ 2024-02-09 10:50 UTC (permalink / raw)
To: nick, dmitry.torokhov, robh+dt, krzysztof.kozlowski+dt, conor+dt,
nicolas.ferre, alexandre.belloni, claudiu.beznea, linus.walleij
Cc: linux-input, devicetree, linux-arm-kernel, linux-kernel,
francesco.dolcini
Our hardware has a shared regulator that powers various peripherals such
as the display, touch, USB hub, etc. Since the Maxtouch controller
doesn't currently allow it to be turned off, this regulator has to stay
on in suspend mode. This increases the overall power consumption. In
order to turn off the controller when the system goes into suspend mode,
this series adds a device tree property to the maxtouch driver that
allows the controller to be turned off completely and ensurs that it can
resume from the power off state.
Resend v3:
- Previously I messed up the series because send-email crashed. This is
a resend of the original series:
https://lore.kernel.org/linux-input/20240209084543.14726-1-eichest@gmail.com/T/#t
https://lore.kernel.org/linux-input/20240209084818.14925-1-eichest@gmail.com/T/#u
Changes since v2:
- Add Reviewed-by tags from Linus and Krzysztof to the dt-bindings patch
Changes since v1:
- Rename the property and change the description (Krzysztof, Linus,
Dmitry, Conor)
Stefan Eichenberger (2):
dt-bindings: input: atmel,maxtouch: add poweroff-sleep property
Input: atmel_mxt_ts - support poweroff in suspend
.../bindings/input/atmel,maxtouch.yaml | 6 ++
drivers/input/touchscreen/atmel_mxt_ts.c | 72 ++++++++++++++-----
2 files changed, 61 insertions(+), 17 deletions(-)
--
2.40.1
^ permalink raw reply
* [PATCH v3 2/2] Input: atmel_mxt_ts - support poweroff in suspend
From: Stefan Eichenberger @ 2024-02-09 8:48 UTC (permalink / raw)
To: nick, dmitry.torokhov, robh+dt, krzysztof.kozlowski+dt, conor+dt,
nicolas.ferre, alexandre.belloni, claudiu.beznea, linus.walleij
Cc: linux-input, devicetree, linux-arm-kernel, linux-kernel,
francesco.dolcini, Stefan Eichenberger
From: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Add a new device tree property to indicate that the device should be
powered off in suspend mode. We have a shared regulator that powers the
display, a USB hub and some other peripherals. The maXTouch controller
doesn't normally disable the regulator in suspend mode, so our extra
peripherals stay powered on. This is not desirable as it consumes more
power. With this patch we add the option to disable the regulator in
suspend mode for the maXTouch and accept the longer initialisation time.
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
---
drivers/input/touchscreen/atmel_mxt_ts.c | 72 ++++++++++++++++++------
1 file changed, 55 insertions(+), 17 deletions(-)
diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index 542a31448c8f..2d5655385702 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -317,6 +317,7 @@ struct mxt_data {
struct gpio_desc *reset_gpio;
struct gpio_desc *wake_gpio;
bool use_retrigen_workaround;
+ bool poweroff_sleep;
/* Cached parameters from object table */
u16 T5_address;
@@ -2799,15 +2800,18 @@ static int mxt_configure_objects(struct mxt_data *data,
dev_warn(dev, "Error %d updating config\n", error);
}
- if (data->multitouch) {
- error = mxt_initialize_input_device(data);
- if (error)
- return error;
- } else {
- dev_warn(dev, "No touch object detected\n");
- }
+ /* If input device is not already registered */
+ if (!data->input_dev) {
+ if (data->multitouch) {
+ error = mxt_initialize_input_device(data);
+ if (error)
+ return error;
+ } else {
+ dev_warn(dev, "No touch object detected\n");
+ }
- mxt_debug_init(data);
+ mxt_debug_init(data);
+ }
return 0;
}
@@ -3325,6 +3329,8 @@ static int mxt_probe(struct i2c_client *client)
msleep(MXT_RESET_INVALID_CHG);
}
+ data->poweroff_sleep = device_property_read_bool(&client->dev,
+ "atmel,poweroff-sleep");
/*
* Controllers like mXT1386 have a dedicated WAKE line that could be
* connected to a GPIO or to I2C SCL pin, or permanently asserted low.
@@ -3387,12 +3393,21 @@ static int mxt_suspend(struct device *dev)
if (!input_dev)
return 0;
- mutex_lock(&input_dev->mutex);
+ if (!device_may_wakeup(dev) && data->poweroff_sleep) {
+ if (data->reset_gpio)
+ gpiod_set_value(data->reset_gpio, 1);
- if (input_device_enabled(input_dev))
- mxt_stop(data);
+ regulator_bulk_disable(ARRAY_SIZE(data->regulators),
+ data->regulators);
+ data->T44_address = 0;
+ } else {
+ mutex_lock(&input_dev->mutex);
+
+ if (input_device_enabled(input_dev))
+ mxt_stop(data);
- mutex_unlock(&input_dev->mutex);
+ mutex_unlock(&input_dev->mutex);
+ }
disable_irq(data->irq);
@@ -3408,14 +3423,37 @@ static int mxt_resume(struct device *dev)
if (!input_dev)
return 0;
- enable_irq(data->irq);
+ if (!device_may_wakeup(dev) && data->poweroff_sleep) {
+ int ret;
- mutex_lock(&input_dev->mutex);
+ ret = regulator_bulk_enable(ARRAY_SIZE(data->regulators),
+ data->regulators);
+ if (ret) {
+ dev_err(dev, "failed to enable regulators: %d\n",
+ ret);
+ return ret;
+ }
+ msleep(MXT_BACKUP_TIME);
- if (input_device_enabled(input_dev))
- mxt_start(data);
+ if (data->reset_gpio) {
+ /* Wait a while and then de-assert the RESET GPIO line */
+ msleep(MXT_RESET_GPIO_TIME);
+ gpiod_set_value(data->reset_gpio, 0);
+ msleep(MXT_RESET_INVALID_CHG);
+ }
- mutex_unlock(&input_dev->mutex);
+ /* This also enables the irq again */
+ mxt_initialize(data);
+ } else {
+ enable_irq(data->irq);
+
+ mutex_lock(&input_dev->mutex);
+
+ if (input_device_enabled(input_dev))
+ mxt_start(data);
+
+ mutex_unlock(&input_dev->mutex);
+ }
return 0;
}
--
2.40.1
^ permalink raw reply related
* Re: [PATCH v2] dt-bindings: input: atmel,captouch: convert bindings to YAML
From: Krzysztof Kozlowski @ 2024-02-09 8:47 UTC (permalink / raw)
To: Dharma Balasubiramani, dmitry.torokhov, robh+dt,
krzysztof.kozlowski+dt, conor+dt, nicolas.ferre,
alexandre.belloni, claudiu.beznea, linux-input, devicetree,
linux-arm-kernel, linux-kernel
Cc: hari.prasathge
In-Reply-To: <20240209064755.47516-1-dharma.b@microchip.com>
On 09/02/2024 07:47, Dharma Balasubiramani wrote:
> Convert the Atmel capacitive touchscreen bindings to YAML format.
>
> Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com>
> ---
> Changelog
> v1 -> v2
> - Drop autorepeat property.
> - Use unevaluatedProperties instead of additionalProperties.
> - Use node name "touch@51" instead of "atmel-captouch@51".
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply
* [PATCH v3 1/2] dt-bindings: input: atmel,maxtouch: add poweroff-sleep property
From: Stefan Eichenberger @ 2024-02-09 8:45 UTC (permalink / raw)
To: nick, dmitry.torokhov, robh+dt, krzysztof.kozlowski+dt, conor+dt,
nicolas.ferre, alexandre.belloni, claudiu.beznea, linus.walleij
Cc: linux-input, devicetree, linux-arm-kernel, linux-kernel,
francesco.dolcini, Stefan Eichenberger, Krzysztof Kozlowski
In-Reply-To: <20240209084543.14726-1-eichest@gmail.com>
From: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Add a new property to indicate that the device should power off rather
than use deep sleep. Deep sleep is a feature of the controller that
expects the controller to remain powered in suspend. However, if a
display shares its regulator with the touch controller, we may want to
do a power off so that the display and touch controller do not use any
power.
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
Documentation/devicetree/bindings/input/atmel,maxtouch.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml
index c40799355ed7..8de5f539b30e 100644
--- a/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml
+++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.yaml
@@ -87,6 +87,12 @@ properties:
- 2 # ATMEL_MXT_WAKEUP_GPIO
default: 0
+ atmel,poweroff-sleep:
+ description: |
+ Instead of using the deep sleep feature of the maXTouch controller,
+ poweroff the regulators.
+ type: boolean
+
wakeup-source:
type: boolean
--
2.40.1
^ permalink raw reply related
* [PATCH v3 0/2] Add a property to turn off the max touch controller in suspend mode
From: Stefan Eichenberger @ 2024-02-09 8:45 UTC (permalink / raw)
To: nick, dmitry.torokhov, robh+dt, krzysztof.kozlowski+dt, conor+dt,
nicolas.ferre, alexandre.belloni, claudiu.beznea, linus.walleij
Cc: linux-input, devicetree, linux-arm-kernel, linux-kernel,
francesco.dolcini
Our hardware has a shared regulator that powers various peripherals such
as the display, touch, USB hub, etc. Since the Maxtouch controller
doesn't currently allow it to be turned off, this regulator has to stay
on in suspend mode. This increases the overall power consumption. In
order to turn off the controller when the system goes into suspend mode,
this series adds a device tree property to the maxtouch driver that
allows the controller to be turned off completely and ensurs that it can
resume from the power off state.
Changes since v2:
- Add Reviewed-by tags from Linus and Krzysztof to the dt-bindings patch
Changes since v1:
- Rename the property and change the description (Krzysztof, Linus,
Dmitry, Conor)
Stefan Eichenberger (2):
dt-bindings: input: atmel,maxtouch: add poweroff-sleep property
Input: atmel_mxt_ts - support poweroff in suspend
.../bindings/input/atmel,maxtouch.yaml | 6 ++
drivers/input/touchscreen/atmel_mxt_ts.c | 72 ++++++++++++++-----
2 files changed, 61 insertions(+), 17 deletions(-)
--
2.40.1
^ permalink raw reply
* [PATCH] HID: Intel-ish-hid: Ishtp: Fix sensor reads after ACPI S3 suspend
From: Even Xu @ 2024-02-09 6:52 UTC (permalink / raw)
To: srinivas.pandruvada, jikos, benjamin.tissoires, linux-input; +Cc: Even Xu
After legacy suspend/resume via ACPI S3, sensor read operation fails
with timeout. Also, it will cause delay in resume operation as there
will be retries on failure.
This is caused by commit f645a90e8ff7 ("HID: intel-ish-hid:
ishtp-hid-client: use helper functions for connection"), which used
helper functions to simplify connect, reset and disconnect process.
Also avoid freeing and allocating client buffers again during reconnect
process.
But there is a case, when ISH firmware resets after ACPI S3 suspend,
ishtp bus driver frees client buffers. Since there is no realloc again
during reconnect, there are no client buffers available to send connection
requests to the firmware. Without successful connection to the firmware,
subsequent sensor reads will timeout.
To address this issue, ishtp bus driver does not free client buffers on
warm reset after S3 resume. Simply add the buffers from the read list
to free list of buffers.
Fixes: f645a90e8ff7 ("HID: intel-ish-hid: ishtp-hid-client: use helper functions for connection")
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218442
Signed-off-by: Even Xu <even.xu@intel.com>
---
drivers/hid/intel-ish-hid/ishtp/bus.c | 2 ++
drivers/hid/intel-ish-hid/ishtp/client.c | 4 +++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/hid/intel-ish-hid/ishtp/bus.c b/drivers/hid/intel-ish-hid/ishtp/bus.c
index aa6cb033bb06..03d5601ce807 100644
--- a/drivers/hid/intel-ish-hid/ishtp/bus.c
+++ b/drivers/hid/intel-ish-hid/ishtp/bus.c
@@ -722,6 +722,8 @@ void ishtp_bus_remove_all_clients(struct ishtp_device *ishtp_dev,
spin_lock_irqsave(&ishtp_dev->cl_list_lock, flags);
list_for_each_entry(cl, &ishtp_dev->cl_list, link) {
cl->state = ISHTP_CL_DISCONNECTED;
+ if (warm_reset && cl->device->reference_count)
+ continue;
/*
* Wake any pending process. The waiter would check dev->state
diff --git a/drivers/hid/intel-ish-hid/ishtp/client.c b/drivers/hid/intel-ish-hid/ishtp/client.c
index 82c907f01bd3..8a7f2f6a4f86 100644
--- a/drivers/hid/intel-ish-hid/ishtp/client.c
+++ b/drivers/hid/intel-ish-hid/ishtp/client.c
@@ -49,7 +49,9 @@ static void ishtp_read_list_flush(struct ishtp_cl *cl)
list_for_each_entry_safe(rb, next, &cl->dev->read_list.list, list)
if (rb->cl && ishtp_cl_cmp_id(cl, rb->cl)) {
list_del(&rb->list);
- ishtp_io_rb_free(rb);
+ spin_lock(&cl->free_list_spinlock);
+ list_add_tail(&rb->list, &cl->free_rb_list.list);
+ spin_unlock(&cl->free_list_spinlock);
}
spin_unlock_irqrestore(&cl->dev->read_list_spinlock, flags);
}
--
2.43.0
^ permalink raw reply related
* [PATCH v2] dt-bindings: input: atmel,captouch: convert bindings to YAML
From: Dharma Balasubiramani @ 2024-02-09 6:47 UTC (permalink / raw)
To: dmitry.torokhov, robh+dt, krzysztof.kozlowski+dt, conor+dt,
nicolas.ferre, alexandre.belloni, claudiu.beznea, dharma.b,
linux-input, devicetree, linux-arm-kernel, linux-kernel
Cc: hari.prasathge
Convert the Atmel capacitive touchscreen bindings to YAML format.
Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com>
---
Changelog
v1 -> v2
- Drop autorepeat property.
- Use unevaluatedProperties instead of additionalProperties.
- Use node name "touch@51" instead of "atmel-captouch@51".
---
.../bindings/input/atmel,captouch.txt | 36 -----------
.../bindings/input/atmel,captouch.yaml | 59 +++++++++++++++++++
2 files changed, 59 insertions(+), 36 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/input/atmel,captouch.txt
create mode 100644 Documentation/devicetree/bindings/input/atmel,captouch.yaml
diff --git a/Documentation/devicetree/bindings/input/atmel,captouch.txt b/Documentation/devicetree/bindings/input/atmel,captouch.txt
deleted file mode 100644
index fe9ee5c53bcc..000000000000
--- a/Documentation/devicetree/bindings/input/atmel,captouch.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-Device tree bindings for Atmel capacitive touch device, typically
-an Atmel touch sensor connected to AtmegaXX MCU running firmware
-based on Qtouch library.
-
-The node for this device must be a child of a I2C controller node, as the
-device communicates via I2C.
-
-Required properties:
-
- compatible: Must be "atmel,captouch".
- reg: The I2C slave address of the device.
- interrupts: Property describing the interrupt line the device
- is connected to. The device only has one interrupt
- source.
- linux,keycodes: Specifies an array of numeric keycode values to
- be used for reporting button presses. The array can
- contain up to 8 entries.
-
-Optional properties:
-
- autorepeat: Enables the Linux input system's autorepeat
- feature on the input device.
-
-Example:
-
- atmel-captouch@51 {
- compatible = "atmel,captouch";
- reg = <0x51>;
- interrupt-parent = <&tlmm>;
- interrupts = <67 IRQ_TYPE_EDGE_FALLING>;
- linux,keycodes = <BTN_0>, <BTN_1>,
- <BTN_2>, <BTN_3>,
- <BTN_4>, <BTN_5>,
- <BTN_6>, <BTN_7>;
- autorepeat;
- };
diff --git a/Documentation/devicetree/bindings/input/atmel,captouch.yaml b/Documentation/devicetree/bindings/input/atmel,captouch.yaml
new file mode 100644
index 000000000000..f7477091d5a6
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/atmel,captouch.yaml
@@ -0,0 +1,59 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/atmel,captouch.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel capacitive touch device
+
+maintainers:
+ - Dharma balasubiramani <dharma.b@microchip.com>
+
+description:
+ Atmel capacitive touch device, typically an Atmel touch sensor connected to
+ AtmegaXX MCU running firmware based on Qtouch library.
+
+allOf:
+ - $ref: input.yaml#
+
+properties:
+ compatible:
+ const: atmel,captouch
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ linux,keycodes:
+ minItems: 1
+ maxItems: 8
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - linux,keycodes
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/input/linux-event-codes.h>
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ touch@51 {
+ compatible = "atmel,captouch";
+ reg = <0x51>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <67 IRQ_TYPE_EDGE_FALLING>;
+ linux,keycodes = <BTN_0>, <BTN_1>,
+ <BTN_2>, <BTN_3>,
+ <BTN_4>, <BTN_5>,
+ <BTN_6>, <BTN_7>;
+ autorepeat;
+ };
+ };
base-commit: 0dd3ee31125508cd67f7e7172247f05b7fd1753a
--
2.25.1
^ permalink raw reply related
* Re: [PATCH v3 00/32] spi: get rid of some legacy macros
From: Mark Brown @ 2024-02-08 21:21 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: kernel, Moritz Fischer, Wu Hao, Xu Yilun, Tom Rix, linux-fpga,
linux-kernel, Alexander Aring, Stefan Schmidt, Miquel Raynal,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
linux-wpan, netdev, Lars-Peter Clausen, Michael Hennerich,
Jonathan Cameron, linux-iio, Dmitry Torokhov, Jonathan Cameron,
linux-input, Greg Kroah-Hartman, Andy Shevchenko, Ulf Hansson,
Martin Tuma, Mauro Carvalho Chehab, linux-media, Sergey Kozlov,
Arnd Bergmann, Yang Yingliang, linux-mmc, Richard Weinberger,
Vignesh Raghavendra, Rob Herring, Amit Kumar Mahapatra,
Amit Kumar Mahapatra via Alsa-devel, linux-mtd, Simon Horman,
Ronald Wahl, Benson Leung, Tzung-Bi Shih, Guenter Roeck,
chrome-platform, Michal Simek, Max Filippov, linux-spi,
linux-arm-kernel, Bjorn Andersson, Konrad Dybcio, linux-arm-msm,
Matthias Brugger, AngeloGioacchino Del Regno, linux-mediatek,
Thomas Zimmermann, Javier Martinez Canillas, Sam Ravnborg,
dri-devel, linux-fbdev, linux-staging, Viresh Kumar,
Rui Miguel Silva, Johan Hovold, Alex Elder, greybus-dev,
Peter Huewe, Jarkko Sakkinen, Jason Gunthorpe, linux-integrity,
Herve Codina, Krzysztof Kozlowski, linux-usb, Helge Deller,
Dario Binacchi, Kalle Valo, Dmitry Antipov, libertas-dev,
linux-wireless, Jonathan Corbet, Bjorn Helgaas, James Clark,
linux-doc
In-Reply-To: <cover.1707324793.git.u.kleine-koenig@pengutronix.de>
On Wed, 07 Feb 2024 19:40:14 +0100, Uwe Kleine-König wrote:
> Changes since v2
> (https://lore.kernel.org/linux-spi/cover.1705944943.git.u.kleine-koenig@pengutronix.de):
>
> - Drop patch "mtd: rawnand: fsl_elbc: Let .probe retry if local bus is
> missing" which doesn't belong into this series.
> - Fix a build failure noticed by the kernel build bot in
> drivers/spi/spi-au1550.c. (I failed to catch this because this driver
> is mips only, but not enabled in a mips allmodconfig. That's a bit
> unfortunate, but not easily fixable.)
> - Add the Reviewed-by: and Acked-by: tags I received for v2.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
Thanks!
[01/32] fpga: ice40-spi: Follow renaming of SPI "master" to "controller"
commit: 227ab73b89d66e3064b3c2bcb5fe382b1815763d
[02/32] ieee802154: ca8210: Follow renaming of SPI "master" to "controller"
commit: 167b78446706bb4d19f7dd93ca320aed25ae1bbd
[03/32] iio: adc: ad_sigma_delta: Follow renaming of SPI "master" to "controller"
commit: 2780e7b716a605781dbee753ef4983d775a65427
[04/32] Input: pxspad - follow renaming of SPI "master" to "controller"
commit: a78acec53b8524593afeed7258a442adc3450818
[05/32] Input: synaptics-rmi4 - follow renaming of SPI "master" to "controller"
commit: 1245633c61baf159fcc1303d7f0855f49831b9c1
[06/32] media: mgb4: Follow renaming of SPI "master" to "controller"
commit: 2c2f93fbfba7186cc081e23120f169eac3b5b62a
[07/32] media: netup_unidvb: Follow renaming of SPI "master" to "controller"
commit: cfa13a64bd631d8f04a1c385923706fcef9a63ed
[08/32] media: usb/msi2500: Follow renaming of SPI "master" to "controller"
commit: dd868ae646d5770f80f90dc056d06eb2e6d39c62
[09/32] media: v4l2-subdev: Follow renaming of SPI "master" to "controller"
commit: d920b3a672b7f79cd13b341234aebd49233f836c
[10/32] misc: gehc-achc: Follow renaming of SPI "master" to "controller"
commit: 26dcf09ee5d9ceba2c627ae3ba174a229f25638f
[11/32] mmc: mmc_spi: Follow renaming of SPI "master" to "controller"
commit: b0a6776e53403aa380411f2a43cdefb9f00ff50a
[12/32] mtd: dataflash: Follow renaming of SPI "master" to "controller"
commit: 44ee998db9eef84bf005c39486566a67cb018354
[13/32] net: ks8851: Follow renaming of SPI "master" to "controller"
commit: 1cc711a72ae7fd44e90839f0c8d3226664de55a2
[14/32] net: vertexcom: mse102x: Follow renaming of SPI "master" to "controller"
commit: 7969b98b80c0332f940c547f84650a20aab33841
[15/32] platform/chrome: cros_ec_spi: Follow renaming of SPI "master" to "controller"
commit: 85ad0ec049a771c4910c8aebb2d0bd9ce9311fd9
[16/32] spi: bitbang: Follow renaming of SPI "master" to "controller"
commit: 2259233110d90059187c5ba75537eb93eba8417b
[17/32] spi: cadence-quadspi: Don't emit error message on allocation error
commit: e71011dacc3413bed4118d2c42f10736ffcd762c
[18/32] spi: cadence-quadspi: Follow renaming of SPI "master" to "controller"
commit: 28e59d8bf1ace0ddf05f989a48d6824d75731267
[19/32] spi: cavium: Follow renaming of SPI "master" to "controller"
commit: 1747fbdedba8b6b3fd459895ed5d57e534549884
[20/32] spi: geni-qcom: Follow renaming of SPI "master" to "controller"
commit: 14cea92338a0776c1615994150e738ac0f5fbb2c
[21/32] spi: loopback-test: Follow renaming of SPI "master" to "controller"
commit: 2c2310c17fac13aa7e78756d7f3780c7891f9397
[22/32] spi: slave-mt27xx: Follow renaming of SPI "master" to "controller"
commit: 8197b136bbbe64a7cab1020a4b067020e5977d98
[23/32] spi: spidev: Follow renaming of SPI "master" to "controller"
commit: d934cd6f0e5d0052772612db4b07df60cb9da387
[24/32] staging: fbtft: Follow renaming of SPI "master" to "controller"
commit: bbd25d7260eeeaef89f7371cbadcd33dd7f7bff9
[25/32] staging: greybus: spi: Follow renaming of SPI "master" to "controller"
commit: ee3c668dda3d2783b0fff4091461356fe000e4d8
[26/32] tpm_tis_spi: Follow renaming of SPI "master" to "controller"
commit: b6af14eacc8814b0986e20507df423cebe9fd859
[27/32] usb: gadget: max3420_udc: Follow renaming of SPI "master" to "controller"
commit: 8c716f4a3d4fcbec976247e3443d36cbc24c0512
[28/32] video: fbdev: mmp: Follow renaming of SPI "master" to "controller"
commit: b23031e730e72ec9067b7c38c25e776c5e27e116
[29/32] wifi: libertas: Follow renaming of SPI "master" to "controller"
commit: 30060d57cee194d6b70283f2faf787e2fdc61b6e
[30/32] spi: fsl-lib: Follow renaming of SPI "master" to "controller"
commit: 801185efa2402dce57828930e9684884fc8d62da
[31/32] spi: Drop compat layer from renaming "master" to "controller"
commit: 620d269f29a569ba37419cc03cf1da2d55f6252a
[32/32] Documentation: spi: Update documentation for renaming "master" to "controller"
commit: 76b31eb4c2da3ddb3195cc14f6aad24908adf524
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply
* Re: [PATCH] HID: sony: Remove usage of the deprecated ida_simple_xx() API
From: Christophe JAILLET @ 2024-02-08 17:58 UTC (permalink / raw)
To: Jiri Kosina, Benjamin Tissoires
Cc: linux-kernel, kernel-janitors, linux-input
In-Reply-To: <19b538bc05c11747a3dd9fa204fde91942063d52.1698831460.git.christophe.jaillet@wanadoo.fr>
Le 01/11/2023 à 10:38, Christophe JAILLET a écrit :
> ida_alloc() and ida_free() should be preferred to the deprecated
> ida_simple_get() and ida_simple_remove().
>
> This is less verbose.
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> drivers/hid/hid-sony.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
> index ebc0aa4e4345..55c0ad61d524 100644
> --- a/drivers/hid/hid-sony.c
> +++ b/drivers/hid/hid-sony.c
> @@ -1844,8 +1844,7 @@ static int sony_set_device_id(struct sony_sc *sc)
> * All others are set to -1.
> */
> if (sc->quirks & SIXAXIS_CONTROLLER) {
> - ret = ida_simple_get(&sony_device_id_allocator, 0, 0,
> - GFP_KERNEL);
> + ret = ida_alloc(&sony_device_id_allocator, GFP_KERNEL);
> if (ret < 0) {
> sc->device_id = -1;
> return ret;
> @@ -1861,7 +1860,7 @@ static int sony_set_device_id(struct sony_sc *sc)
> static void sony_release_device_id(struct sony_sc *sc)
> {
> if (sc->device_id >= 0) {
> - ida_simple_remove(&sony_device_id_allocator, sc->device_id);
> + ida_free(&sony_device_id_allocator, sc->device_id);
> sc->device_id = -1;
> }
> }
Hi,
gentle reminder.
All patches to remove the ida_simple API have been sent.
And Matthew Wilcox seems happy with the on going work. (see [1])
Based on next-20240207
$git grep ida_simple_get | wc -l
38
https://elixir.bootlin.com/linux/v6.8-rc3/A/ident/ida_simple_get
50
https://elixir.bootlin.com/linux/v6.7.4/A/ident/ida_simple_get
81
Thanks
CJ
[1]: https://lore.kernel.org/all/ZaqruGVz734zjxrZ@casper.infradead.org/
^ permalink raw reply
* Re: [PATCH v6 RESEND 0/6] Convert DA906{1,2} bindings to json-schema
From: Lee Jones @ 2024-02-08 13:11 UTC (permalink / raw)
To: Wim Van Sebroeck, Guenter Roeck, Dmitry Torokhov, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Biju Das
Cc: Support Opensource, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
Lukasz Luba, Steve Twiss, linux-input, devicetree, linux-pm,
linux-watchdog, Geert Uytterhoeven, Prabhakar Mahadev Lad,
Biju Das, linux-renesas-soc
In-Reply-To: <170739757961.1020645.7945873817461577204.b4-ty@kernel.org>
On Thu, 08 Feb 2024, Lee Jones wrote:
> On Wed, 31 Jan 2024 10:26:50 +0000, Biju Das wrote:
> > Convert the below bindings to json-schema
> > 1) DA906{1,2} mfd bindings
> > 2) DA906{1,2,3} onkey bindings
> > 3) DA906{1,2,3} thermal bindings
> >
> > Document missing gpio child node for da9062 and update MAINTAINERS entries.
> >
> > [...]
>
> Applied, thanks!
>
> [1/6] dt-bindings: mfd: da9062: Update watchdog description
> commit: 12f0a4cc845286f331239c52282aab283a0392e5
> [2/6] dt-bindings: mfd: dlg,da9063: Update watchdog child node
> commit: 19c993f29e8ed2c4e34f4696b9cd0184e404c1fb
> [3/6] dt-bindings: input: Convert da906{1,2,3} onkey to json-schema
> commit: e2fcaf4c067099a1ebcdb37903e630ad0f55ed2e
> [4/6] dt-bindings: thermal: Convert da906{1,2} thermal to json-schema
> commit: fddee1e686de077c80ad9dd61f4a50fa1d8b6605
> [5/6] dt-bindings: mfd: dlg,da9063: Sort child devices
> commit: ae3a0d709c240bc88c741d624d119ae96081d545
> [6/6] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema
> commit: f1eb64bf6d4bef5295ab7633874960fbcfadca46
Building now. Pull-request to follow.
--
Lee Jones [李琼斯]
^ permalink raw reply
* Re: [PATCH v6 RESEND 0/6] Convert DA906{1,2} bindings to json-schema
From: Lee Jones @ 2024-02-08 13:06 UTC (permalink / raw)
To: Lee Jones, Wim Van Sebroeck, Guenter Roeck, Dmitry Torokhov,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Biju Das
Cc: Support Opensource, Rafael J. Wysocki, Daniel Lezcano, Zhang Rui,
Lukasz Luba, Steve Twiss, linux-input, devicetree, linux-pm,
linux-watchdog, Geert Uytterhoeven, Prabhakar Mahadev Lad,
Biju Das, linux-renesas-soc
In-Reply-To: <20240131102656.3379-1-biju.das.jz@bp.renesas.com>
On Wed, 31 Jan 2024 10:26:50 +0000, Biju Das wrote:
> Convert the below bindings to json-schema
> 1) DA906{1,2} mfd bindings
> 2) DA906{1,2,3} onkey bindings
> 3) DA906{1,2,3} thermal bindings
>
> Document missing gpio child node for da9062 and update MAINTAINERS entries.
>
> [...]
Applied, thanks!
[1/6] dt-bindings: mfd: da9062: Update watchdog description
commit: 12f0a4cc845286f331239c52282aab283a0392e5
[2/6] dt-bindings: mfd: dlg,da9063: Update watchdog child node
commit: 19c993f29e8ed2c4e34f4696b9cd0184e404c1fb
[3/6] dt-bindings: input: Convert da906{1,2,3} onkey to json-schema
commit: e2fcaf4c067099a1ebcdb37903e630ad0f55ed2e
[4/6] dt-bindings: thermal: Convert da906{1,2} thermal to json-schema
commit: fddee1e686de077c80ad9dd61f4a50fa1d8b6605
[5/6] dt-bindings: mfd: dlg,da9063: Sort child devices
commit: ae3a0d709c240bc88c741d624d119ae96081d545
[6/6] dt-bindings: mfd: dlg,da9063: Convert da9062 to json-schema
commit: f1eb64bf6d4bef5295ab7633874960fbcfadca46
--
Lee Jones [李琼斯]
^ permalink raw reply
* Re: [PATCH riscv64] kobject: fix WARNING in input_register_device
From: Greg KH @ 2024-02-08 12:25 UTC (permalink / raw)
To: Edward Adam Davis
Cc: linux-input, linux-kernel, linux-usb, rafael,
syzbot+8e41bb0c055b209ebbf4, syzkaller-bugs
In-Reply-To: <tencent_6C6ACF8878B26D482FE56F649498E90EEF0A@qq.com>
On Thu, Feb 08, 2024 at 07:37:56PM +0800, Edward Adam Davis wrote:
> On Thu, 8 Feb 2024 10:56:00, Greg KH wrote:
> > > The input_add_uevent_modalias_var()->input_print_modalias() will add 1684 bytes
> > > of data to env, which will result in insufficient memory allocated to the buf
> > > members of env.
> >
> > What is "env"? And can you wrap your lines at 72 columns please?
> env is an instance of struct kobj_uevent_env.
Also, why is "risc64" in the subject line?
confused,
greg k-h
^ permalink raw reply
* Re: [PATCH riscv64] kobject: fix WARNING in input_register_device
From: Greg KH @ 2024-02-08 12:25 UTC (permalink / raw)
To: Edward Adam Davis
Cc: linux-input, linux-kernel, linux-usb, rafael,
syzbot+8e41bb0c055b209ebbf4, syzkaller-bugs
In-Reply-To: <tencent_6C6ACF8878B26D482FE56F649498E90EEF0A@qq.com>
On Thu, Feb 08, 2024 at 07:37:56PM +0800, Edward Adam Davis wrote:
> On Thu, 8 Feb 2024 10:56:00, Greg KH wrote:
> > > The input_add_uevent_modalias_var()->input_print_modalias() will add 1684 bytes
> > > of data to env, which will result in insufficient memory allocated to the buf
> > > members of env.
> >
> > What is "env"? And can you wrap your lines at 72 columns please?
> env is an instance of struct kobj_uevent_env.
Ok, be specific please in your changelog text, otherwise we can't really
understand what is happening.
> > > Reported-and-tested-by: syzbot+8e41bb0c055b209ebbf4@syzkaller.appspotmail.com
> > > Signed-off-by: Edward Adam Davis <eadavis@qq.com>
> > > ---
> > > include/linux/kobject.h | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/include/linux/kobject.h b/include/linux/kobject.h
> > > index c30affcc43b4..74b37b6459cd 100644
> > > --- a/include/linux/kobject.h
> > > +++ b/include/linux/kobject.h
> > > @@ -30,7 +30,7 @@
> > >
> > > #define UEVENT_HELPER_PATH_LEN 256
> > > #define UEVENT_NUM_ENVP 64 /* number of env pointers */
> > > -#define UEVENT_BUFFER_SIZE 2048 /* buffer for the variables */
> > > +#define UEVENT_BUFFER_SIZE 2560 /* buffer for the variables */
> >
> > That's an odd number, why that? Why not just a page? What happens if
> > some other path wants more?
> An increase of 512 bytes is sufficient for the current issue. Do not consider
> the problem of hypothetical existence.
Why is this 512 bytes sufficient now? What changed to cause this?
And how can we detect this automatically in the future? Shouldn't we
just be truncating the buffer instead of having an overflow?
> > And what's causing the input stack to have so many variables all of a
> > sudden, what changed to cause this? Is this a bugfix for a specific
> > commit that needs to be backported to older kernels? Why did this
> > buffer size all of a sudden be too small?
> The result of my analysis is that several members of struct input_dev are too
> large, such as its member keybit.
And when did that change? What commit id? What prevents it from
growing again and us needing to change this again?
thanks,
greg k-h
^ permalink raw reply
* Re: [PATCH riscv64] kobject: fix WARNING in input_register_device
From: Edward Adam Davis @ 2024-02-08 11:37 UTC (permalink / raw)
To: gregkh
Cc: eadavis, linux-input, linux-kernel, linux-usb, rafael,
syzbot+8e41bb0c055b209ebbf4, syzkaller-bugs
In-Reply-To: <2024020812-snowbound-version-6bfa@gregkh>
On Thu, 8 Feb 2024 10:56:00, Greg KH wrote:
> > The input_add_uevent_modalias_var()->input_print_modalias() will add 1684 bytes
> > of data to env, which will result in insufficient memory allocated to the buf
> > members of env.
>
> What is "env"? And can you wrap your lines at 72 columns please?
env is an instance of struct kobj_uevent_env.
>
> > Reported-and-tested-by: syzbot+8e41bb0c055b209ebbf4@syzkaller.appspotmail.com
> > Signed-off-by: Edward Adam Davis <eadavis@qq.com>
> > ---
> > include/linux/kobject.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/include/linux/kobject.h b/include/linux/kobject.h
> > index c30affcc43b4..74b37b6459cd 100644
> > --- a/include/linux/kobject.h
> > +++ b/include/linux/kobject.h
> > @@ -30,7 +30,7 @@
> >
> > #define UEVENT_HELPER_PATH_LEN 256
> > #define UEVENT_NUM_ENVP 64 /* number of env pointers */
> > -#define UEVENT_BUFFER_SIZE 2048 /* buffer for the variables */
> > +#define UEVENT_BUFFER_SIZE 2560 /* buffer for the variables */
>
> That's an odd number, why that? Why not just a page? What happens if
> some other path wants more?
An increase of 512 bytes is sufficient for the current issue. Do not consider
the problem of hypothetical existence.
>
> And what's causing the input stack to have so many variables all of a
> sudden, what changed to cause this? Is this a bugfix for a specific
> commit that needs to be backported to older kernels? Why did this
> buffer size all of a sudden be too small?
The result of my analysis is that several members of struct input_dev are too
large, such as its member keybit.
thanks,
edward.
^ permalink raw reply
* Re: [PATCH riscv64] kobject: fix WARNING in input_register_device
From: Greg KH @ 2024-02-08 10:56 UTC (permalink / raw)
To: Edward Adam Davis
Cc: syzbot+8e41bb0c055b209ebbf4, linux-input, linux-kernel, linux-usb,
rafael, syzkaller-bugs
In-Reply-To: <tencent_AF9E941B3D4BEF1B2625D4BA18BBDA332108@qq.com>
On Thu, Feb 08, 2024 at 06:46:55PM +0800, Edward Adam Davis wrote:
> The input_add_uevent_modalias_var()->input_print_modalias() will add 1684 bytes
> of data to env, which will result in insufficient memory allocated to the buf
> members of env.
What is "env"? And can you wrap your lines at 72 columns please?
> Reported-and-tested-by: syzbot+8e41bb0c055b209ebbf4@syzkaller.appspotmail.com
> Signed-off-by: Edward Adam Davis <eadavis@qq.com>
> ---
> include/linux/kobject.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/kobject.h b/include/linux/kobject.h
> index c30affcc43b4..74b37b6459cd 100644
> --- a/include/linux/kobject.h
> +++ b/include/linux/kobject.h
> @@ -30,7 +30,7 @@
>
> #define UEVENT_HELPER_PATH_LEN 256
> #define UEVENT_NUM_ENVP 64 /* number of env pointers */
> -#define UEVENT_BUFFER_SIZE 2048 /* buffer for the variables */
> +#define UEVENT_BUFFER_SIZE 2560 /* buffer for the variables */
That's an odd number, why that? Why not just a page? What happens if
some other path wants more?
And what's causing the input stack to have so many variables all of a
sudden, what changed to cause this? Is this a bugfix for a specific
commit that needs to be backported to older kernels? Why did this
buffer size all of a sudden be too small?
thanks,
greg k-h
^ permalink raw reply
* [PATCH riscv64] kobject: fix WARNING in input_register_device
From: Edward Adam Davis @ 2024-02-08 10:46 UTC (permalink / raw)
To: syzbot+8e41bb0c055b209ebbf4
Cc: gregkh, linux-input, linux-kernel, linux-usb, rafael,
syzkaller-bugs
In-Reply-To: <00000000000047631d0610d010c1@google.com>
The input_add_uevent_modalias_var()->input_print_modalias() will add 1684 bytes
of data to env, which will result in insufficient memory allocated to the buf
members of env.
Reported-and-tested-by: syzbot+8e41bb0c055b209ebbf4@syzkaller.appspotmail.com
Signed-off-by: Edward Adam Davis <eadavis@qq.com>
---
include/linux/kobject.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/kobject.h b/include/linux/kobject.h
index c30affcc43b4..74b37b6459cd 100644
--- a/include/linux/kobject.h
+++ b/include/linux/kobject.h
@@ -30,7 +30,7 @@
#define UEVENT_HELPER_PATH_LEN 256
#define UEVENT_NUM_ENVP 64 /* number of env pointers */
-#define UEVENT_BUFFER_SIZE 2048 /* buffer for the variables */
+#define UEVENT_BUFFER_SIZE 2560 /* buffer for the variables */
#ifdef CONFIG_UEVENT_HELPER
/* path to the userspace helper executed on an event */
--
2.43.0
^ permalink raw reply related
* Re: [PATCH] dt-bindings: input: atmel,captouch: convert bindings to YAML
From: Dharma.B @ 2024-02-08 8:36 UTC (permalink / raw)
To: krzysztof.kozlowski, dmitry.torokhov, robh+dt,
krzysztof.kozlowski+dt, conor+dt, Nicolas.Ferre,
alexandre.belloni, claudiu.beznea, linux-input, devicetree,
linux-arm-kernel, linux-kernel
In-Reply-To: <6e703599-0389-435e-b163-55e5a046a8f5@linaro.org>
Hi Krzysztof,
On 08/02/24 12:59 pm, Krzysztof Kozlowski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On 08/02/2024 04:59, Dharma.B@microchip.com wrote:
>>>> +
>>>> +properties:
>>>> + compatible:
>>>> + const: atmel,captouch
>>>> +
>>>> + reg:
>>>> + maxItems: 1
>>>> +
>>>> + interrupts:
>>>> + maxItems: 1
>>>> +
>>>> + linux,keycodes:
>>>> + minItems: 1
>>>> + maxItems: 8
>>>> +
>>>> + autorepeat:
>>>> + type: boolean
>>>
>>> You can drop entire property, coming from input.yaml.
>>
>> Sure, I will drop the 'linux,keycodes' and 'autorepeat' properties.
>
> Why linux,keycodes? Is the size restricted in any other referenced schema?
Sorry, I misinterpreted the statement "entire property(ies) coming from
input.yaml".
The linux,keycodes size should be restricted to maxitems 8 here.
I will drop only the optional property "autorepeat".
Thanks.
>
> Best regards,
> Krzysztof
>
--
With Best Regards,
Dharma B.
^ permalink raw reply
* Re: [PATCH] dt-bindings: input: atmel,captouch: convert bindings to YAML
From: Krzysztof Kozlowski @ 2024-02-08 7:29 UTC (permalink / raw)
To: Dharma.B, dmitry.torokhov, robh+dt, krzysztof.kozlowski+dt,
conor+dt, Nicolas.Ferre, alexandre.belloni, claudiu.beznea,
linux-input, devicetree, linux-arm-kernel, linux-kernel
In-Reply-To: <09c25824-f56b-4598-b8cc-1df992812754@microchip.com>
On 08/02/2024 04:59, Dharma.B@microchip.com wrote:
>>> +
>>> +properties:
>>> + compatible:
>>> + const: atmel,captouch
>>> +
>>> + reg:
>>> + maxItems: 1
>>> +
>>> + interrupts:
>>> + maxItems: 1
>>> +
>>> + linux,keycodes:
>>> + minItems: 1
>>> + maxItems: 8
>>> +
>>> + autorepeat:
>>> + type: boolean
>>
>> You can drop entire property, coming from input.yaml.
>
> Sure, I will drop the 'linux,keycodes' and 'autorepeat' properties.
Why linux,keycodes? Is the size restricted in any other referenced schema?
Best regards,
Krzysztof
^ permalink raw reply
* Re: [PATCH] dt-bindings: input: atmel,captouch: convert bindings to YAML
From: Dharma.B @ 2024-02-08 3:59 UTC (permalink / raw)
To: krzysztof.kozlowski, dmitry.torokhov, robh+dt,
krzysztof.kozlowski+dt, conor+dt, Nicolas.Ferre,
alexandre.belloni, claudiu.beznea, linux-input, devicetree,
linux-arm-kernel, linux-kernel
In-Reply-To: <982e81db-3bf9-49e9-b57f-a91612d62f5c@linaro.org>
Hi Krzysztof,
On 07/02/24 8:45 pm, Krzysztof Kozlowski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On 07/02/2024 10:08, Dharma Balasubiramani wrote:
>> Convert the Atmel capacitive touchscreen bindings to YAML format.
>>
>> Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.co
>
> Thank you for your patch. There is something to discuss/improve.
>
>> +
>> +properties:
>> + compatible:
>> + const: atmel,captouch
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>> + linux,keycodes:
>> + minItems: 1
>> + maxItems: 8
>> +
>> + autorepeat:
>> + type: boolean
>
> You can drop entire property, coming from input.yaml.
Sure, I will drop the 'linux,keycodes' and 'autorepeat' properties.
>
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - interrupts
>> + - linux,keycodes
>> +
>> +additionalProperties: false
>
> Instead:
> unevaluatedProperties: false
Noted, Thanks.
>
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/interrupt-controller/irq.h>
>> + #include <dt-bindings/input/linux-event-codes.h>
>> + i2c {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + atmel-captouch@51 {
>
> Instead:
> touchscreen? touchpad? if none of these, then just "touch@51"
I will go with touch@51.
Thanks.
>
>> + compatible = "atmel,captouch";
>> + reg = <0x51>;
>
>
> Best regards,
> Krzysztof
>
--
With Best Regards,
Dharma B.
^ permalink raw reply
* Re: [PATCH v6 4/5] Input: cs40l50 - Add support for the CS40L50 haptic driver
From: kernel test robot @ 2024-02-08 2:42 UTC (permalink / raw)
To: James Ogletree, dmitry.torokhov, robh+dt, krzysztof.kozlowski+dt,
conor+dt, lee, broonie, jeff
Cc: oe-kbuild-all, patches, linux-sound, linux-input, devicetree,
James Ogletree
In-Reply-To: <20240207003612.4187370-5-jogletre@opensource.cirrus.com>
Hi James,
kernel test robot noticed the following build warnings:
[auto build test WARNING on lee-mfd/for-mfd-next]
[also build test WARNING on lee-mfd/for-mfd-fixes broonie-sound/for-next linus/master v6.8-rc3 next-20240207]
[cannot apply to dtor-input/next dtor-input/for-linus]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/James-Ogletree/firmware-cs_dsp-Add-write-sequencer-interface/20240207-083734
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
patch link: https://lore.kernel.org/r/20240207003612.4187370-5-jogletre%40opensource.cirrus.com
patch subject: [PATCH v6 4/5] Input: cs40l50 - Add support for the CS40L50 haptic driver
config: sh-randconfig-r122-20240207 (https://download.01.org/0day-ci/archive/20240208/202402081011.F6Z941U6-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20240208/202402081011.F6Z941U6-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402081011.F6Z941U6-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/input/misc/cs40l50-vibra.c:245:53: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *__from @@ got signed short [noderef] [usertype] __user *custom_data @@
drivers/input/misc/cs40l50-vibra.c:245:53: sparse: expected void const *__from
drivers/input/misc/cs40l50-vibra.c:245:53: sparse: got signed short [noderef] [usertype] __user *custom_data
drivers/input/misc/cs40l50-vibra.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/xarray.h, ...):
include/linux/page-flags.h:242:46: sparse: sparse: self-comparison always evaluates to false
drivers/input/misc/cs40l50-vibra.c:239:45: sparse: sparse: dereference of noderef expression
vim +245 drivers/input/misc/cs40l50-vibra.c
216
217 static int vibra_upload_owt(struct vibra_work *work_data, struct vibra_effect *effect)
218 {
219 struct ff_periodic_effect add_effect = work_data->effect->u.periodic;
220 u32 len = 2 * add_effect.custom_len, wt_offset, wt_size;
221 struct vibra_info *info = work_data->info;
222 struct owt_header header;
223 u8 *out_data;
224 int error;
225
226 error = regmap_read(info->regmap, info->dsp.owt_size_reg, &wt_size);
227 if (error)
228 return error;
229
230 if ((wt_size * sizeof(u32)) < sizeof(header) + len) {
231 dev_err(info->dev, "No space in OWT bank for effect\n");
232 return -ENOSPC;
233 }
234
235 out_data = kzalloc(sizeof(header) + len, GFP_KERNEL);
236 if (!out_data)
237 return -ENOMEM;
238
239 header.type = add_effect.custom_data[0] == CS40L50_PCM_ID ? CS40L50_TYPE_PCM :
240 CS40L50_TYPE_PWLE;
241 header.offset = sizeof(header) / sizeof(u32);
242 header.data_words = len / sizeof(u32);
243
244 memcpy(out_data, &header, sizeof(header));
> 245 memcpy(out_data + sizeof(header), add_effect.custom_data, len);
246
247 error = regmap_read(info->regmap, info->dsp.owt_offset_reg, &wt_offset);
248 if (error)
249 return error;
250
251 error = regmap_bulk_write(info->regmap, info->dsp.owt_base_reg +
252 (wt_offset * sizeof(u32)), out_data,
253 sizeof(header) + len);
254 if (error)
255 goto err_free;
256
257 error = info->dsp.write(info->dev, info->regmap, info->dsp.push_owt_cmd);
258 err_free:
259 kfree(out_data);
260
261 return error;
262 }
263
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply
* [dtor-input:next] BUILD SUCCESS d03f030115fe930de1222fef294730ba21b93045
From: kernel test robot @ 2024-02-07 23:15 UTC (permalink / raw)
To: Dmitry Torokhov; +Cc: linux-input
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
branch HEAD: d03f030115fe930de1222fef294730ba21b93045 Input: gameport - make gameport_bus const
elapsed time: 1471m
configs tested: 191
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
tested configs:
alpha alldefconfig gcc
alpha allnoconfig gcc
alpha allyesconfig gcc
alpha defconfig gcc
arc allmodconfig gcc
arc allnoconfig gcc
arc allyesconfig gcc
arc defconfig gcc
arc randconfig-001-20240207 gcc
arc randconfig-002-20240207 gcc
arm allmodconfig gcc
arm allnoconfig clang
arm allyesconfig gcc
arm defconfig clang
arm keystone_defconfig gcc
arm neponset_defconfig gcc
arm randconfig-001-20240207 clang
arm randconfig-002-20240207 clang
arm randconfig-003-20240207 clang
arm randconfig-004-20240207 gcc
arm shmobile_defconfig gcc
arm64 allmodconfig clang
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20240207 clang
arm64 randconfig-002-20240207 clang
arm64 randconfig-003-20240207 clang
arm64 randconfig-004-20240207 clang
csky allmodconfig gcc
csky allnoconfig gcc
csky allyesconfig gcc
csky defconfig gcc
csky randconfig-001-20240207 gcc
csky randconfig-002-20240207 gcc
hexagon allmodconfig clang
hexagon allnoconfig clang
hexagon allyesconfig clang
hexagon defconfig clang
hexagon randconfig-001-20240207 clang
hexagon randconfig-002-20240207 clang
i386 allmodconfig gcc
i386 allnoconfig gcc
i386 allyesconfig gcc
i386 buildonly-randconfig-001-20240207 clang
i386 buildonly-randconfig-002-20240207 clang
i386 buildonly-randconfig-003-20240207 clang
i386 buildonly-randconfig-004-20240207 clang
i386 buildonly-randconfig-005-20240207 clang
i386 buildonly-randconfig-006-20240207 clang
i386 defconfig clang
i386 randconfig-001-20240207 gcc
i386 randconfig-002-20240207 clang
i386 randconfig-003-20240207 gcc
i386 randconfig-004-20240207 gcc
i386 randconfig-005-20240207 gcc
i386 randconfig-006-20240207 clang
i386 randconfig-011-20240207 gcc
i386 randconfig-012-20240207 gcc
i386 randconfig-013-20240207 gcc
i386 randconfig-014-20240207 gcc
i386 randconfig-015-20240207 gcc
i386 randconfig-016-20240207 gcc
loongarch allmodconfig gcc
loongarch allnoconfig gcc
loongarch allyesconfig gcc
loongarch defconfig gcc
loongarch randconfig-001-20240207 gcc
loongarch randconfig-002-20240207 gcc
m68k allmodconfig gcc
m68k allnoconfig gcc
m68k allyesconfig gcc
m68k bvme6000_defconfig gcc
m68k defconfig gcc
m68k multi_defconfig gcc
microblaze allmodconfig gcc
microblaze allnoconfig gcc
microblaze allyesconfig gcc
microblaze defconfig gcc
mips allmodconfig gcc
mips allnoconfig gcc
mips allyesconfig gcc
mips loongson3_defconfig gcc
nios2 allmodconfig gcc
nios2 allnoconfig gcc
nios2 allyesconfig gcc
nios2 defconfig gcc
nios2 randconfig-001-20240207 gcc
nios2 randconfig-002-20240207 gcc
openrisc allmodconfig gcc
openrisc allnoconfig gcc
openrisc allyesconfig gcc
openrisc defconfig gcc
openrisc or1ksim_defconfig gcc
parisc allmodconfig gcc
parisc allnoconfig gcc
parisc allyesconfig gcc
parisc defconfig gcc
parisc randconfig-001-20240207 gcc
parisc randconfig-002-20240207 gcc
parisc64 defconfig gcc
powerpc allmodconfig gcc
powerpc allnoconfig gcc
powerpc allyesconfig clang
powerpc ep8248e_defconfig gcc
powerpc ep88xc_defconfig gcc
powerpc mpc8313_rdb_defconfig gcc
powerpc randconfig-001-20240207 clang
powerpc randconfig-002-20240207 clang
powerpc randconfig-003-20240207 gcc
powerpc tqm5200_defconfig gcc
powerpc64 randconfig-001-20240207 clang
powerpc64 randconfig-002-20240207 gcc
powerpc64 randconfig-003-20240207 gcc
riscv allmodconfig clang
riscv allnoconfig gcc
riscv allyesconfig clang
riscv defconfig clang
riscv randconfig-001-20240207 clang
riscv randconfig-002-20240207 gcc
riscv rv32_defconfig clang
s390 allmodconfig clang
s390 allnoconfig clang
s390 allyesconfig gcc
s390 debug_defconfig gcc
s390 defconfig clang
s390 randconfig-001-20240207 gcc
s390 randconfig-002-20240207 gcc
sh allmodconfig gcc
sh allnoconfig gcc
sh allyesconfig gcc
sh defconfig gcc
sh espt_defconfig gcc
sh magicpanelr2_defconfig gcc
sh randconfig-001-20240207 gcc
sh randconfig-002-20240207 gcc
sh se7343_defconfig gcc
sh secureedge5410_defconfig gcc
sh sh2007_defconfig gcc
sh sh7757lcr_defconfig gcc
sh sh7763rdp_defconfig gcc
sh shx3_defconfig gcc
sparc allmodconfig gcc
sparc allnoconfig gcc
sparc allyesconfig gcc
sparc defconfig gcc
sparc64 allmodconfig gcc
sparc64 allyesconfig gcc
sparc64 defconfig gcc
sparc64 randconfig-001-20240207 gcc
sparc64 randconfig-002-20240207 gcc
um allmodconfig clang
um allnoconfig clang
um allyesconfig gcc
um defconfig clang
um randconfig-001-20240207 clang
um randconfig-002-20240207 gcc
um x86_64_defconfig clang
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240207 clang
x86_64 buildonly-randconfig-002-20240207 clang
x86_64 buildonly-randconfig-003-20240207 gcc
x86_64 buildonly-randconfig-004-20240207 clang
x86_64 buildonly-randconfig-005-20240207 clang
x86_64 buildonly-randconfig-006-20240207 clang
x86_64 defconfig gcc
x86_64 randconfig-001-20240207 clang
x86_64 randconfig-002-20240207 gcc
x86_64 randconfig-003-20240207 gcc
x86_64 randconfig-004-20240207 gcc
x86_64 randconfig-005-20240207 clang
x86_64 randconfig-006-20240207 clang
x86_64 randconfig-011-20240207 clang
x86_64 randconfig-012-20240207 gcc
x86_64 randconfig-013-20240207 clang
x86_64 randconfig-014-20240207 clang
x86_64 randconfig-015-20240207 gcc
x86_64 randconfig-016-20240207 gcc
x86_64 randconfig-071-20240207 gcc
x86_64 randconfig-072-20240207 clang
x86_64 randconfig-073-20240207 clang
x86_64 randconfig-074-20240207 gcc
x86_64 randconfig-075-20240207 gcc
x86_64 randconfig-076-20240207 clang
x86_64 rhel-8.3-rust clang
x86_64 rhel-8.3 gcc
xtensa allnoconfig gcc
xtensa allyesconfig gcc
xtensa common_defconfig gcc
xtensa randconfig-001-20240207 gcc
xtensa randconfig-002-20240207 gcc
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply
* Re: [PATCH v6 4/5] Input: cs40l50 - Add support for the CS40L50 haptic driver
From: kernel test robot @ 2024-02-07 21:29 UTC (permalink / raw)
To: James Ogletree, dmitry.torokhov, robh+dt, krzysztof.kozlowski+dt,
conor+dt, lee, broonie, jeff
Cc: oe-kbuild-all, patches, linux-sound, linux-input, devicetree,
James Ogletree
In-Reply-To: <20240207003612.4187370-5-jogletre@opensource.cirrus.com>
Hi James,
kernel test robot noticed the following build warnings:
[auto build test WARNING on lee-mfd/for-mfd-next]
[also build test WARNING on lee-mfd/for-mfd-fixes broonie-sound/for-next linus/master v6.8-rc3 next-20240207]
[cannot apply to dtor-input/next dtor-input/for-linus]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/James-Ogletree/firmware-cs_dsp-Add-write-sequencer-interface/20240207-083734
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
patch link: https://lore.kernel.org/r/20240207003612.4187370-5-jogletre%40opensource.cirrus.com
patch subject: [PATCH v6 4/5] Input: cs40l50 - Add support for the CS40L50 haptic driver
config: alpha-randconfig-r112-20240207 (https://download.01.org/0day-ci/archive/20240208/202402080502.5DJwrbZt-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20240208/202402080502.5DJwrbZt-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402080502.5DJwrbZt-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/input/misc/cs40l50-vibra.c:245:53: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got signed short [noderef] [usertype] __user *custom_data @@
drivers/input/misc/cs40l50-vibra.c:245:53: sparse: expected void const *
drivers/input/misc/cs40l50-vibra.c:245:53: sparse: got signed short [noderef] [usertype] __user *custom_data
>> drivers/input/misc/cs40l50-vibra.c:239:45: sparse: sparse: dereference of noderef expression
drivers/input/misc/cs40l50-vibra.c: note: in included file (through include/linux/input.h):
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
vim +245 drivers/input/misc/cs40l50-vibra.c
216
217 static int vibra_upload_owt(struct vibra_work *work_data, struct vibra_effect *effect)
218 {
219 struct ff_periodic_effect add_effect = work_data->effect->u.periodic;
220 u32 len = 2 * add_effect.custom_len, wt_offset, wt_size;
221 struct vibra_info *info = work_data->info;
222 struct owt_header header;
223 u8 *out_data;
224 int error;
225
226 error = regmap_read(info->regmap, info->dsp.owt_size_reg, &wt_size);
227 if (error)
228 return error;
229
230 if ((wt_size * sizeof(u32)) < sizeof(header) + len) {
231 dev_err(info->dev, "No space in OWT bank for effect\n");
232 return -ENOSPC;
233 }
234
235 out_data = kzalloc(sizeof(header) + len, GFP_KERNEL);
236 if (!out_data)
237 return -ENOMEM;
238
> 239 header.type = add_effect.custom_data[0] == CS40L50_PCM_ID ? CS40L50_TYPE_PCM :
240 CS40L50_TYPE_PWLE;
241 header.offset = sizeof(header) / sizeof(u32);
242 header.data_words = len / sizeof(u32);
243
244 memcpy(out_data, &header, sizeof(header));
> 245 memcpy(out_data + sizeof(header), add_effect.custom_data, len);
246
247 error = regmap_read(info->regmap, info->dsp.owt_offset_reg, &wt_offset);
248 if (error)
249 return error;
250
251 error = regmap_bulk_write(info->regmap, info->dsp.owt_base_reg +
252 (wt_offset * sizeof(u32)), out_data,
253 sizeof(header) + len);
254 if (error)
255 goto err_free;
256
257 error = info->dsp.write(info->dev, info->regmap, info->dsp.push_owt_cmd);
258 err_free:
259 kfree(out_data);
260
261 return error;
262 }
263
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply
* [PATCH AUTOSEL 5.10 16/16] Input: i8042 - add Fujitsu Lifebook U728 to i8042 quirk table
From: Sasha Levin @ 2024-02-07 21:26 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Szilard Fabian, Dmitry Torokhov, Sasha Levin, wse, eshimanovich,
jdenose, linux-input
In-Reply-To: <20240207212700.4287-1-sashal@kernel.org>
From: Szilard Fabian <szfabian@bluemarch.art>
[ Upstream commit 4255447ad34c5c3785fcdcf76cfa0271d6e5ed39 ]
Another Fujitsu-related patch.
In the initial boot stage the integrated keyboard of Fujitsu Lifebook U728
refuses to work and it's not possible to type for example a dm-crypt
passphrase without the help of an external keyboard.
i8042.nomux kernel parameter resolves this issue but using that a PS/2
mouse is detected. This input device is unused even when the i2c-hid-acpi
kernel module is blacklisted making the integrated ELAN touchpad
(04F3:3092) not working at all.
So this notebook uses a hid-over-i2c touchpad which is managed by the
i2c_designware input driver. Since you can't find a PS/2 mouse port on this
computer and you can't connect a PS/2 mouse to it even with an official
port replicator I think it's safe to not use the PS/2 mouse port at all.
Signed-off-by: Szilard Fabian <szfabian@bluemarch.art>
Link: https://lore.kernel.org/r/20240103014717.127307-2-szfabian@bluemarch.art
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/input/serio/i8042-acpipnpio.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/input/serio/i8042-acpipnpio.h b/drivers/input/serio/i8042-acpipnpio.h
index 124ab98ea43a..816711771ffd 100644
--- a/drivers/input/serio/i8042-acpipnpio.h
+++ b/drivers/input/serio/i8042-acpipnpio.h
@@ -625,6 +625,14 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
},
.driver_data = (void *)(SERIO_QUIRK_NOAUX)
},
+ {
+ /* Fujitsu Lifebook U728 */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK U728"),
+ },
+ .driver_data = (void *)(SERIO_QUIRK_NOAUX)
+ },
{
/* Gigabyte M912 */
.matches = {
--
2.43.0
^ permalink raw reply related
* [PATCH AUTOSEL 5.15 23/23] Input: i8042 - add Fujitsu Lifebook U728 to i8042 quirk table
From: Sasha Levin @ 2024-02-07 21:26 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Szilard Fabian, Dmitry Torokhov, Sasha Levin, wse, jdenose,
hdegoede, eshimanovich, linux-input
In-Reply-To: <20240207212611.3793-1-sashal@kernel.org>
From: Szilard Fabian <szfabian@bluemarch.art>
[ Upstream commit 4255447ad34c5c3785fcdcf76cfa0271d6e5ed39 ]
Another Fujitsu-related patch.
In the initial boot stage the integrated keyboard of Fujitsu Lifebook U728
refuses to work and it's not possible to type for example a dm-crypt
passphrase without the help of an external keyboard.
i8042.nomux kernel parameter resolves this issue but using that a PS/2
mouse is detected. This input device is unused even when the i2c-hid-acpi
kernel module is blacklisted making the integrated ELAN touchpad
(04F3:3092) not working at all.
So this notebook uses a hid-over-i2c touchpad which is managed by the
i2c_designware input driver. Since you can't find a PS/2 mouse port on this
computer and you can't connect a PS/2 mouse to it even with an official
port replicator I think it's safe to not use the PS/2 mouse port at all.
Signed-off-by: Szilard Fabian <szfabian@bluemarch.art>
Link: https://lore.kernel.org/r/20240103014717.127307-2-szfabian@bluemarch.art
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/input/serio/i8042-acpipnpio.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/input/serio/i8042-acpipnpio.h b/drivers/input/serio/i8042-acpipnpio.h
index 6af38f53154b..37b87e05cf0b 100644
--- a/drivers/input/serio/i8042-acpipnpio.h
+++ b/drivers/input/serio/i8042-acpipnpio.h
@@ -625,6 +625,14 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
},
.driver_data = (void *)(SERIO_QUIRK_NOAUX)
},
+ {
+ /* Fujitsu Lifebook U728 */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK U728"),
+ },
+ .driver_data = (void *)(SERIO_QUIRK_NOAUX)
+ },
{
/* Gigabyte M912 */
.matches = {
--
2.43.0
^ permalink raw reply related
* [PATCH AUTOSEL 5.15 11/23] Input: xpad - add Lenovo Legion Go controllers
From: Sasha Levin @ 2024-02-07 21:25 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Brenton Simpson, Dmitry Torokhov, Sasha Levin, vi, swyterzone,
luca, slouken, pgriffais, matthias_berndt, christophe.jaillet,
linux-input
In-Reply-To: <20240207212611.3793-1-sashal@kernel.org>
From: Brenton Simpson <appsforartists@google.com>
[ Upstream commit 80441f76ee67002437db61f3b317ed80cce085d2 ]
The Lenovo Legion Go is a handheld gaming system, similar to a Steam Deck.
It has a gamepad (including rear paddles), 3 gyroscopes, a trackpad,
volume buttons, a power button, and 2 LED ring lights.
The Legion Go firmware presents these controls as a USB hub with various
devices attached. In its default state, the gamepad is presented as an
Xbox controller connected to this hub. (By holding a combination of
buttons, it can be changed to use the older DirectInput API.)
This patch teaches the existing Xbox controller module `xpad` to bind to
the controller in the Legion Go, which enables support for the:
- directional pad,
- analog sticks (including clicks),
- X, Y, A, B,
- start and select (or menu and capture),
- shoulder buttons, and
- rumble.
The trackpad, touchscreen, volume controls, and power button are already
supported via existing kernel modules. Two of the face buttons, the
gyroscopes, rear paddles, and LEDs are not.
After this patch lands, the Legion Go will be mostly functional in Linux,
out-of-the-box. The various components of the USB hub can be synthesized
into a single logical controller (including the additional buttons) in
userspace with [Handheld Daemon](https://github.com/hhd-dev/hhd), which
makes the Go fully functional.
Signed-off-by: Brenton Simpson <appsforartists@google.com>
Link: https://lore.kernel.org/r/20240118183546.418064-1-appsforartists@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/input/joystick/xpad.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index 1ff0d4e24fe6..f0b1dac93822 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -276,6 +276,7 @@ static const struct xpad_device {
{ 0x1689, 0xfd00, "Razer Onza Tournament Edition", 0, XTYPE_XBOX360 },
{ 0x1689, 0xfd01, "Razer Onza Classic Edition", 0, XTYPE_XBOX360 },
{ 0x1689, 0xfe00, "Razer Sabertooth", 0, XTYPE_XBOX360 },
+ { 0x17ef, 0x6182, "Lenovo Legion Controller for Windows", 0, XTYPE_XBOX360 },
{ 0x1949, 0x041a, "Amazon Game Controller", 0, XTYPE_XBOX360 },
{ 0x1bad, 0x0002, "Harmonix Rock Band Guitar", 0, XTYPE_XBOX360 },
{ 0x1bad, 0x0003, "Harmonix Rock Band Drumkit", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 },
@@ -464,6 +465,7 @@ static const struct usb_device_id xpad_table[] = {
XPAD_XBOX360_VENDOR(0x15e4), /* Numark X-Box 360 controllers */
XPAD_XBOX360_VENDOR(0x162e), /* Joytech X-Box 360 controllers */
XPAD_XBOX360_VENDOR(0x1689), /* Razer Onza */
+ XPAD_XBOX360_VENDOR(0x17ef), /* Lenovo */
XPAD_XBOX360_VENDOR(0x1949), /* Amazon controllers */
XPAD_XBOX360_VENDOR(0x1bad), /* Harminix Rock Band Guitar and Drums */
XPAD_XBOX360_VENDOR(0x20d6), /* PowerA Controllers */
--
2.43.0
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox