From patchwork Tue Feb 11 14:02:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Tomasz_Paku=C5=82a?= X-Patchwork-Id: 864269 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7EF0424C664; Tue, 11 Feb 2025 14:03:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739282584; cv=none; b=NGgiK+zynsLNF5fbIU21ECQoaJrO/O5D0iK2/yNZeg35GV1xZL/NxRmlK3McjneSb75e/EgdcQfWe6cJEREFzoNCBxlraOwrE85379dpCUHEoJ1fBfOm8IdNTvHVUV0l8kQ7jmEePvdniracLuTGbCrS69ynvjrHx6q4y1yB2QE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739282584; c=relaxed/simple; bh=rXfdeBMTBbtfJmYSRFooYj8KDxEnwCU5eVGSMsWbnNc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=kpaL37VJC/7bnZAYZxm3/3EyB9F9+kFYWJMfmYq4H2vA/wd9ouB8yKcdQoUeXUYZDUk+Fr2hc2uwK96lymnia6gPXRzAUyRf9b8Y32P/6i4gfyajTkT49BKom2wO4fN/U1SPyQPyTZOxmen0hkOWEHBI/rEF3pqzgfwjQBMcG08= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=InKwrOwO; arc=none smtp.client-ip=209.85.167.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="InKwrOwO" Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-5450268e513so557363e87.3; Tue, 11 Feb 2025 06:03:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739282580; x=1739887380; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=s3jtMK7Cdw1QSg+0fiYiiJDikVdcPsB7CP5Wzet0gf8=; b=InKwrOwOgLu+RESNoFDtkR0EjLmEc4pYTomJ3gbrzZQOuz0KMU+uwOPDCtWytV29ya 8Uhq5PnjGOyaqLkgntkuyJBTPaiLD9zzZxYhbV/G5esWd2cyQgI1RU/5lFia2qMzV5GR m33pRnQXOxZv8xRbu1i9SrWmcIp4OYzJ05LhhDSVoGX61Rfbjq6fqjTaiepWT67iHsBP TOEimJ0SADBU9kx9oFlgrDsQpUCrCrzZiu74TKEfeGSFFFFHSoYy6ZKXu/VOhC/RkUpJ QemlLD7gxmcgMkrTclWxVzQIcTXAgHpSlgrFaszDrBnbXsJk4C2EXS28iLszPER6gOGN 43BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739282580; x=1739887380; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=s3jtMK7Cdw1QSg+0fiYiiJDikVdcPsB7CP5Wzet0gf8=; b=YfOzKftNynSHLfyiMH0b855+u1vhF8FR8qTrqYi5EN5nsAE/RRVcf6svVsUZOzqnQ9 LzmxPuTp562taWPSN2wdcarNwtn9+7UK0MtxCQR1LlfLWVrjPO5DUSDcHtCR2JOfDYVU PKGe2IJ0KvsKtkftdttHH4KgIG88J5rI7hnsB1XnCSHjywjug47NEOP7PPPhVRkyguKN X2yFlyxWmUSGZbiWfdZS3u2vCm2enbNrcefJju7LgGtuEpNi5Ys+ulAEZjoDbK49qkaQ 6rH76ihGL6TS+7aiNmdcaeT5w0tbdjCNzkPhZjK4NtbcyqUQGmFV74JBgPfkybA4hFsw fVEw== X-Forwarded-Encrypted: i=1; AJvYcCUQiT9ued4JHZ4zguFG5+8nmlIQhwzx8aIE109MRQzvPWUHY+0/selNulZiFG3m7K6CJNXeycHBp6L0@vger.kernel.org, AJvYcCX9JK8UNuHYoisXgHvpkvpxQc+3wjVaPDE4TzDxVbBFVXFQnBBqG9bFAGXyqR++gskVXlASjM4Y9zMQJQ==@vger.kernel.org X-Gm-Message-State: AOJu0YyQmnyS1wUod1s7IFaN9s0HqpsnYV+XKR9Q9gxNxWg3OYebxXYQ eqxZdJyxPjEOXTeKhHueLQQ76CX4HnrKXe9ulj/qV/ADnDIUqsG9MSnqM2u1 X-Gm-Gg: ASbGnct1eD3LKap4XssdCA22u8kKQYpDhFDTzHV0x7HWKwwa7sf14Uo/yN+A/wjCzd9 1DajE64DHZWJnsTi+GRiXIfA4Xft7uU/3UubEOx8DJH9/dBpI+5STItY8pb6JYF568iyvWOtu1q htLnDdbcdTeT3a0+/rj7aHpVJ3nJ1tg60sIJ3UVBVO7d9VFBLm0viSBqGaLvslnTO0dwvJ90Np5 R+Wx8/fHrd+dxzTvuQsFVb8NSNqg7GmYHQe/yaxIYlQXQ7lDaLm5jiP43WJwW67lkNchKQMKbg6 bdu6+D2pPpn9bha67Oxu10y+WL01l4UzLQRHwhixd5avU4sl8SWYQc4stp2qrA== X-Google-Smtp-Source: AGHT+IH1D4AMGufWjQwGssvu6ILYKgy4YLH0BrY3nShVfo0iJwi3qqyLT2MsgIpVXk3Em0kUcwajkQ== X-Received: by 2002:a05:6512:3444:b0:545:842:fd34 with SMTP id 2adb3069b0e04-54513ad6c1amr256299e87.6.1739282580240; Tue, 11 Feb 2025 06:03:00 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545014af0d0sm1118721e87.184.2025.02.11.06.02.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 06:02:59 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: anssi.hannula@gmail.com, oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v3 1/6] MAINTAINERS: Update hid-universal-pidff entry Date: Tue, 11 Feb 2025 15:02:47 +0100 Message-ID: <20250211140252.702104-2-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250211140252.702104-1-tomasz.pakula.oficjalny@gmail.com> References: <20250211140252.702104-1-tomasz.pakula.oficjalny@gmail.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Add Oleg Makarenko as co-maintainer Signed-off-by: Tomasz Pakuła --- MAINTAINERS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index a7c37bb8f083..df40587f6ada 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -10258,9 +10258,10 @@ F: include/linux/hid-sensor-* HID UNIVERSAL PIDFF DRIVER M: Tomasz Pakuła +M: Oleg Makarenko L: linux-input@vger.kernel.org S: Maintained -B: https://github.com/Lawstorant/hid-universal-pidff/issues +B: https://github.com/JacKeTUs/universal-pidff/issues F: drivers/hid/hid-universal-pidff.c HID VRC-2 CAR CONTROLLER DRIVER From patchwork Tue Feb 11 14:02:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Tomasz_Paku=C5=82a?= X-Patchwork-Id: 864679 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8FF2224C698; Tue, 11 Feb 2025 14:03:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739282586; cv=none; b=kVRyx5Y2xs5y2bz8YUUIlCsvyDZfi0i4MmTD2wdSHTzEErA50QARHofbbd2zzBWi+XhJjHGXSux1i04kEd2CXZfZkPwhXocOWanKX/T0Jz4jmnNIjmyIEDHLTTjrrpaubyD0Tu8ne04g7DxeYhnO4cbsqKQSK0Usbj3dqptT27U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739282586; c=relaxed/simple; bh=eUbxUt5xpTtxEzNiYKqCsSF7kyQ0xB70W44K9/NfqI8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=WGwEN4X4Bj/xb+7aP+0m6cVOajCM1Fwd4Mud0UD5wbpSUDULVPKhGLdRswZfmGVOmUeltr7sKzm/3jZhjNEuLfFMFRP888SLb53LSWTW2ZmPDduxZ5A0sIAy/Z2OSWy7vsOadp0Gp/sikY/fQwP3hBLc9AH/8Fa6azGvphFOq7U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=delR3+b1; arc=none smtp.client-ip=209.85.167.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="delR3+b1" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-5450e09b65fso250285e87.3; Tue, 11 Feb 2025 06:03:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739282583; x=1739887383; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KSNQINkXkN6zTTIn4J3zlyOnrY9qbrfu5RjfBEk7Udo=; b=delR3+b1DVqb5vs2ByU5cxrYZ11LsaB+uZNFfl5rbPNOiMDlz55CFOPXNaQVSmL37R j/ZZpza0RERYOzuJM/QGEa8z7c9BhBqWE+50uP6cBlKb600Rq1KhqSSdd+kQNPgOdUd/ zOsRoEtLvRQ+0w1/Slg9iaH0TFM0g5Kq5wrjbTP8M6FHQxcS939VM2bbacDQars3ReoA 0wmbo7b+Vkdwf2pCt8S7P4QpL97P4/7f/MwdU5Xl82lvUMt6Ez/oWRGrDKtJ2GP7AyXC P9e0JHjeZ8dHJDwGdYbbRh9Et9b7AeLdfUkt1yKwE8DASqtisq0euqRAnu9cgcg9dAF2 yL/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739282583; x=1739887383; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KSNQINkXkN6zTTIn4J3zlyOnrY9qbrfu5RjfBEk7Udo=; b=k0rG6J/r+/781yW6Rdp1Alvj1Py5SXuL44XLw3jP1C9ymKIqkGoqRxDgv7nroMcRBr 65kGer3mhtpbpLh6C88p0rSfvTMQvXG5zixpPSALgJ5RoOJcfb4r1dbKA7Qj5YqzwqUW HXyYyBP4j5BbI1J1UsXVfjoyiCtiBe0H5O7ZincYJP5blyCH/Oi6/E3euE9Kfsv8pniT OKwzCeqEteeb+eYB3tDAc5sdQJS+3gBWBqKo3PwlhYis7S9X2DPBi6xR5rq4muVzLebv XP/xIS9mUY6HBmBnFpp5glsFqeuMeH7XnZn0kgwCaxqbmYnpr6rFUWdes5NQYOfvElGT oftQ== X-Forwarded-Encrypted: i=1; AJvYcCWPPyG47pWKFuBst8cAX93ZkIHXismQuxDm828yH93EV8h84PGnvPzXWkJJ2St8+eemyNulIFWeFp67@vger.kernel.org, AJvYcCXpX5X2QzDkr4eF/tNwpRlvgJL0pWWN1MIZ5eOzT+a4Q8cOkWU41smgHDh+pv6Yph8kYjdfCLA5H+NxiQ==@vger.kernel.org X-Gm-Message-State: AOJu0YwnOgLwhtBVL9HeYmFiY+14g9HBQiuStHDNUKWqfZGVxN/mcpQG RIaJe+mg2Ofe1cCzwsnfMaAhsGafjyZZPRH68dYeq/5fvTF6+Dh9 X-Gm-Gg: ASbGncu94RJy51uzUyih0PbbACc0eFvITlga91FPGxrmlSPL8pRcOh4XlBb+sMZbbHq hVBGoO4GwxqGhadyI6EiTif4buRAxOcza9Pg2RnEPEV/O09d/CigqkRdHzjhT7PVJ1Wp/+m4XLb new9SFKLiMfY5D9+H6Z5+RmwxJBjNt+ij3lxeTcJ6kzGu98nKhIahnDX6J+nw7L/LyH6EiT6bF9 S+2CguhAuzUATymZ1wIb3/2fAgtKCI/Fo2GukmQ/65DfvGrY5+poxCHCcrwJhCI7CZVEI226lai oFvT5i439sHZxCeyRnZ49KkAaA8jZkiT2cUc8fOH16j/7/jGSZ9D4TOHP8WA6w== X-Google-Smtp-Source: AGHT+IFMwKZtZNvbeY1OPx+TfviYiHqhlkhU9e99ji237Ci+JASpfPOndVu+FqBJhHKDkXMuYqbdaw== X-Received: by 2002:ac2:57c2:0:b0:545:fa6:3590 with SMTP id 2adb3069b0e04-54513ad2d75mr237245e87.1.1739282581958; Tue, 11 Feb 2025 06:03:01 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545014af0d0sm1118721e87.184.2025.02.11.06.03.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 06:03:00 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: anssi.hannula@gmail.com, oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v3 2/6] HID: pidff: Make sure to fetch pool before checking SIMULTANEOUS_MAX Date: Tue, 11 Feb 2025 15:02:48 +0100 Message-ID: <20250211140252.702104-3-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250211140252.702104-1-tomasz.pakula.oficjalny@gmail.com> References: <20250211140252.702104-1-tomasz.pakula.oficjalny@gmail.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 As noted by Anssi some 20 years ago, pool report is sometimes messed up. This worked fine on many devices but casued oops on VRS DirectForce PRO. Here, we're making sure pool report is refetched before trying to access any of it's fields. While loop was replaced with a for loop + exit conditions were moved aroud to decrease the possibility of creating an infinite loop scenario. Signed-off-by: Tomasz Pakuła --- drivers/hid/usbhid/hid-pidff.c | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/drivers/hid/usbhid/hid-pidff.c b/drivers/hid/usbhid/hid-pidff.c index f23381b6e344..503f643b59ca 100644 --- a/drivers/hid/usbhid/hid-pidff.c +++ b/drivers/hid/usbhid/hid-pidff.c @@ -604,28 +604,25 @@ static void pidff_reset(struct pidff_device *pidff) } /* - * Refetch pool report + * Fetch pool report */ static void pidff_fetch_pool(struct pidff_device *pidff) { - if (!pidff->pool[PID_SIMULTANEOUS_MAX].value) - return; + int i; + struct hid_device *hid = pidff->hid; - int i = 0; - while (pidff->pool[PID_SIMULTANEOUS_MAX].value[0] < 2) { - hid_dbg(pidff->hid, "pid_pool requested again\n"); - hid_hw_request(pidff->hid, pidff->reports[PID_POOL], - HID_REQ_GET_REPORT); - hid_hw_wait(pidff->hid); + /* Repeat if PID_SIMULTANEOUS_MAX < 2 to make sure it's correct */ + for(i = 0; i < 20; i++) { + hid_hw_request(hid, pidff->reports[PID_POOL], HID_REQ_GET_REPORT); + hid_hw_wait(hid); - /* break after 20 tries with SIMULTANEOUS_MAX < 2 */ - if (i++ > 20) { - hid_warn(pidff->hid, - "device reports %d simultaneous effects\n", - pidff->pool[PID_SIMULTANEOUS_MAX].value[0]); - break; - } + if (!pidff->pool[PID_SIMULTANEOUS_MAX].value) + return; + if (pidff->pool[PID_SIMULTANEOUS_MAX].value[0] >= 2) + return; } + hid_warn(hid, "device reports %d simultaneous effects\n", + pidff->pool[PID_SIMULTANEOUS_MAX].value[0]); } /* From patchwork Tue Feb 11 14:02:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Tomasz_Paku=C5=82a?= X-Patchwork-Id: 864268 Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 52B5E2441A1; Tue, 11 Feb 2025 14:03:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739282588; cv=none; b=aRK8JpPcjbzfR7eLmo1oFwPHMp3NzpP8kiub9Q2NRMu8UtB6ngat2wkp/3DbR8ezZ9suDJXP+uLgyEYXF6izEoM5hckYOVZPw8F/RSkiWy1h5SUK8MPWlVCC9vU6A+j+dlhkEpJ3sD3/qVdZG+0AQ50WVkMswpt8dT+5SDHWg6k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739282588; c=relaxed/simple; bh=63N2CLR+q6W1xHPej8KWz2+AOl28NpDYsKe9GLcAMvY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=UdoKd5Fu34GC2Ne44jjbV0FmcbTojulY7nD48CZoLVYpwJY+/2JHXZHgP/S3mpdkzhJOv7M2sEDVHMTpQ+FHKRb2RuhlRr5yGvSXp9xNxafnu8bOmqedtm4cs3wOuUykAkrNTcJQZXoUVdEM5wyFwq87sTCOpRKmK2WRnFH/hD4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=N4g0L0EJ; arc=none smtp.client-ip=209.85.167.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="N4g0L0EJ" Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-5440ff3314aso705670e87.1; Tue, 11 Feb 2025 06:03:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739282584; x=1739887384; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Kdkw8SKc2jEdMzydhzBcIQXPPdM4NJNLnID5/f9u6lI=; b=N4g0L0EJdGDrJ9lnmWvg5ukvE5Eq2E4TZi/8J6qD88oZpAgPMJOwq9n4U/c8SXRKVl 1aA6kuDuPCqixko1hT5Mn9EsDLtlAPhVMtkh1ihCMTjSvTV0UuvvgkiuwLzuYvzIA3KO TbXJM4JvJTo6Ctsaq2Ys12CPC/bq7mIwoGyUjba6Xpy5HR6C+zj6p1/h7vzHO+5AUGqi NBkVqk+AxYUm+PRV/vDNQZq2mkLtsirjuIFJKqXzqSRc/MH3Iqbc78Gin896zBGucoSe p6Vt4swzEUGfsNEXD0LTIdDeiuLKPPBrBd6JoDaj6f4ae7gzlJns7muosnC7VhkPwwYg SyeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739282584; x=1739887384; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Kdkw8SKc2jEdMzydhzBcIQXPPdM4NJNLnID5/f9u6lI=; b=qgQ2NDg+JfC/Mw21O0EPBugPnDP1bUwkqPblrcsPXfDwXRXN7ZVDgjKkQSVBYaf5z4 RZQELBzUuaAL8s0GM0U20pYy4tg2AnvHq9f+i7739LuXJoXWUzvs6Cs5mwwiSfpS/baV OzSNtlfmdkY+yGLDphxrOXXECDzdEP9m8F6wzgt8v0Qpyaz7GbjpgcviPIVKBnwN6vMr 5PPNNAKEBXQgo0gHHyM9+I3HTj2Amtj0osyqIjpPhMYVJElqKp3HVjfgOEBHO7TMQDZs 4o9XXF44WQE58FbT9aWa9xONccJchScQ0izmVw8tRs7cdi563p518ks0cYX56lUcmUm/ O4Xg== X-Forwarded-Encrypted: i=1; AJvYcCVR136w4AxBwvlxL5guJglSfOkEoqQ1M7/f3oq2BpOWgnhitkjwqjfNLNaIP+G1nUkypjcop4iPHnuc@vger.kernel.org, AJvYcCX9AOxCQjbfUPS8YrmTz/62n0OVf01PHiwctL8nnfHuq1RUEIeYL+qxdPIFHt44L8JXENpuXNC9dl2m2g==@vger.kernel.org X-Gm-Message-State: AOJu0YzWh3+5axTSHZEfUS41mSlyP4WTNLv9DlXeb+T2XYHfgNZK/UDV q8iVrybDUIDcnOFksvPC82vho4SMgUZXV6avhjSWDcK1nk4E4dWK0pQUkx7V X-Gm-Gg: ASbGnctdeG1pepiCQZRS/nPdVMgdeg8NbfNHCVp/yPYRxDst96WGgYpJKUG4ctzhJ/s T2Q2K0UU11hRBE00Dbk6PTI80up5UxAOwCjfBN6BCSRbLTsP9OrjOOCz5O4H6tEw3439r2Ly/ou P1zLmgUJTPlvhCGsKgc4jmZ5Ehd15ayTPDOqxa6TMKXBCAW79Bq2MFgikAcuQNU+dmU3LW2grqL jM0GebXgCwX1iqVonqGJ7oRgwDu+SBYjAqnH/txhmk1NpS2vroCUmyohl1ZdAHvZw0VvuDkAy/p sLH7s5M0gzOpacJan907bWzkKRA5Z/Sdjvgj2bVmXVUqWKLWCwDC3UEAwJFwzg== X-Google-Smtp-Source: AGHT+IHH8gH4G6sKyI0ElizdtDU74O3PAcuWsz7olTLvRZO8nglM+XSs4e2xuPCqL20jKFhQQWsu1A== X-Received: by 2002:ac2:57c2:0:b0:545:fa6:3590 with SMTP id 2adb3069b0e04-54513ad2d75mr237292e87.1.1739282584055; Tue, 11 Feb 2025 06:03:04 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545014af0d0sm1118721e87.184.2025.02.11.06.03.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 06:03:02 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: anssi.hannula@gmail.com, oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v3 3/6] HID: hid-universal-pidff: Add Asetek wheelbases support Date: Tue, 11 Feb 2025 15:02:49 +0100 Message-ID: <20250211140252.702104-4-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250211140252.702104-1-tomasz.pakula.oficjalny@gmail.com> References: <20250211140252.702104-1-tomasz.pakula.oficjalny@gmail.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Adds Asetek vendor id and product ids for: - Invicta - Forte - La Prima - Tony Kanaan v2: - Misc spelling fix in driver loaded info v3: - Chanage Oleg's name order Signed-off-by: Tomasz Pakuła --- drivers/hid/hid-ids.h | 6 ++++++ drivers/hid/hid-universal-pidff.c | 10 +++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index dbac05649e9d..860adabbc625 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -189,6 +189,12 @@ #define USB_DEVICE_ID_APPLE_TOUCHBAR_BACKLIGHT 0x8102 #define USB_DEVICE_ID_APPLE_TOUCHBAR_DISPLAY 0x8302 +#define USB_VENDOR_ID_ASETEK 0x2433 +#define USB_DEVICE_ID_ASETEK_INVICTA 0xf300 +#define USB_DEVICE_ID_ASETEK_FORTE 0xf301 +#define USB_DEVICE_ID_ASETEK_LA_PRIMA 0xf303 +#define USB_DEVICE_ID_ASETEK_TONY_KANAAN 0xf306 + #define USB_VENDOR_ID_ASUS 0x0486 #define USB_DEVICE_ID_ASUS_T91MT 0x0185 #define USB_DEVICE_ID_ASUSTEK_MULTITOUCH_YFO 0x0186 diff --git a/drivers/hid/hid-universal-pidff.c b/drivers/hid/hid-universal-pidff.c index 1b713b741d19..5b89ec7b5c26 100644 --- a/drivers/hid/hid-universal-pidff.c +++ b/drivers/hid/hid-universal-pidff.c @@ -4,7 +4,7 @@ * hid-pidff wrapper for PID-enabled devices * Handles device reports, quirks and extends usable button range * - * Copyright (c) 2024, 2025 Makarenko Oleg + * Copyright (c) 2024, 2025 Oleg Makarenko * Copyright (c) 2024, 2025 Tomasz Pakuła */ @@ -104,7 +104,7 @@ static int universal_pidff_probe(struct hid_device *hdev, goto err; } - hid_info(hdev, "Universal pidff driver loaded sucesfully!"); + hid_info(hdev, "Universal pidff driver loaded sucessfully!"); return 0; err: @@ -179,6 +179,10 @@ static const struct hid_device_id universal_pidff_devices[] = { .driver_data = HID_PIDFF_QUIRK_PERIODIC_SINE_ONLY }, { HID_USB_DEVICE(USB_VENDOR_ID_LITE_STAR, USB_DEVICE_LITE_STAR_GT987_FF), .driver_data = HID_PIDFF_QUIRK_PERIODIC_SINE_ONLY }, + { HID_USB_DEVICE(USB_VENDOR_ID_ASETEK, USB_DEVICE_ID_ASETEK_INVICTA) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ASETEK, USB_DEVICE_ID_ASETEK_FORTE) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ASETEK, USB_DEVICE_ID_ASETEK_LA_PRIMA) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ASETEK, USB_DEVICE_ID_ASETEK_TONY_KANAAN) }, { } }; MODULE_DEVICE_TABLE(hid, universal_pidff_devices); @@ -194,5 +198,5 @@ module_hid_driver(universal_pidff); MODULE_DESCRIPTION("Universal driver for USB PID Force Feedback devices"); MODULE_LICENSE("GPL"); -MODULE_AUTHOR("Makarenko Oleg "); +MODULE_AUTHOR("Oleg Makarenko "); MODULE_AUTHOR("Tomasz Pakuła "); From patchwork Tue Feb 11 14:02:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Tomasz_Paku=C5=82a?= X-Patchwork-Id: 864678 Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BED3224CECB; Tue, 11 Feb 2025 14:03:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739282589; cv=none; b=ohTc9OAeNtAjXdUMF8SJeO9wC+pN5S+gDFtRv700vBIVrV1zlvKo92XpL+eONsF+eqe+xnzAg9T9jU+uB+/r1eQbSebfw74juL0RUYwdBuJ3AobMFuj5snQ/yXErO4FF47Emzp/IDojOzXUJAdueBSWH1HxBT09v75MChnBnrok= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739282589; c=relaxed/simple; bh=M9WPL+4kweCWgWjygIKmUoc1um6eqqxRR5AeEaAqTc0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=YigWfi8tIDXUZ6oSzRgzG57yKNT+wi5TUQVIoXW+8mZaaQkmplya4YmI40M6/KXdnJledaXZRFHr4HgcuvPdOjG55CtwF7WY45prwZTDdHRE+q7170OF1qWNs1mn2cwQ8KwCQ8baVWAZkOFVkdIyHmoAWokGsRKP0nPd4MlKZRA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=UFELzzVa; arc=none smtp.client-ip=209.85.167.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UFELzzVa" Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-54500ad66a6so488731e87.2; Tue, 11 Feb 2025 06:03:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739282586; x=1739887386; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZKCqqk95xHc52Uxa1Lo1nVI5gf0jsVsMcqbVtjY5cOI=; b=UFELzzVaN3IOKhC76bFjvnz5NjASzWXNxe1O+b1ZsT5SzXXEXRNBVRyhHFiCdD+g8L 8OhyrR7sTB6wZ0kkujyR72m9eCRU/7hRO9WlrQkhBYgIu8+cthdDWkLvT0LxwfUSTjUe KaheZDV003fa26CJDXxeXz5rQFW8PIyUKWNFaTBSCGRT6hBqardgbzOXn6yJL6oniRDI PvzlaRNTOpQxoLgV1Dqrq08kvPbq2cDf+23G+Pwj4fStzId2PeoeiBqqnXgVfauuYged rKid/J2od0cU3ZwodiPIOzNvO7MSu8mAB32AO89rDSni1WNvPLDy9K9Y9OAG5gpMVeEQ 0Vdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739282586; x=1739887386; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZKCqqk95xHc52Uxa1Lo1nVI5gf0jsVsMcqbVtjY5cOI=; b=jY7gNKSyAs9K/mcwzdut+++GQ37+jRbMz1cLhL5DO/9DuVJOMCI5mXO78pHSl72/f1 9h4wikja6P+v4WaR4phDugmIhDIMnFXlPm9UtNYB/7qCpBe4jZfGd4edQ62sDttMTbM5 b2uFq0CpZ5CyEdYGZZ4/Bz+mx0BNMbvfOi45zk0UpCJ4HpD9DZQkXbm+9sT/WYEu9Nsi Y//6wIdpEeS5iv/SWHx3g9Ze3VsbKmqcaqcH6NW0XBCS76L9SUFJOjz+tYy+WkEcybUj 2ZZUOPpG31vDrUo2x2KKLT3/QM3unE54Adm/P0UDQel7hmg/+UDIJ18L/I0FPtkmpmCp +jkA== X-Forwarded-Encrypted: i=1; AJvYcCUyD9Bv2AUGofo9w9nVvGtFyxBApMvwzbgGI3lnK39bDeRnxrnEPjEVrVFuNB59xQCLsKf0JaRiefldqQ==@vger.kernel.org, AJvYcCX2uyK2QSl/Ca0luKYsnYY8QLQaCUU6DbH+kL5l88BZnJ0fGBSDC17FdpOe/+hfcGJe4zF8V0ZF6YFK@vger.kernel.org X-Gm-Message-State: AOJu0YyOxqyWrH1v7c9wTuSiqCICa3qpOfzVvuJVjCreUsT7/25WvFTX Jqp9kEPgLpIAX5zcVG1MQPM7m+NqN4ybDsgXiR6IMXYjeAihAET7wp+FdehT X-Gm-Gg: ASbGncuE6Lw0BT9TAvmsEDHOUcykol3blVExgy+0fNXm5drClISgOd0x4i6cASsrw6y m6Ap0tHtnPXBlBD68jW3xHyxHseOqU+bbahlYLLDZ2IVaK39krecjof411PgaXB9nioz49WB37G e/AgTFvNtBR6WtdbLkPW9ER5Uu5PMUS8rOfdZI/WodS6sJ72taZlmfx9tgonnadOHlBPM+KjZtA iJWRJ8GILCMlRqOD0XWr2o4T3o5KnYPrnpzL0QqBv4VUER0yKj8fior7xn7/dEprMIJ3ELf9Kac XZGsg49MhpJpPmd5yn7M/WfUTyYpnewCned4isqSHzbM9s/bkRG87QGnWW8Qrw== X-Google-Smtp-Source: AGHT+IHdCwDL85Br2dEHipAgPQz8thvJhxpwPHgl80tQ7iQPP0je9N++sloiHPJq15WQGfczfpVEAw== X-Received: by 2002:a05:6512:344a:b0:545:d54:2eb4 with SMTP id 2adb3069b0e04-54513b38d26mr238140e87.8.1739282585589; Tue, 11 Feb 2025 06:03:05 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545014af0d0sm1118721e87.184.2025.02.11.06.03.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 06:03:04 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: anssi.hannula@gmail.com, oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v3 4/6] HID: pidff: Comment and code style update Date: Tue, 11 Feb 2025 15:02:50 +0100 Message-ID: <20250211140252.702104-5-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250211140252.702104-1-tomasz.pakula.oficjalny@gmail.com> References: <20250211140252.702104-1-tomasz.pakula.oficjalny@gmail.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Update comments to fully conform to the Linux comment styling. Define Linux infinite effect duration (0) as FF_INFINITE Chanage Oleg's name order Signed-off-by: Tomasz Pakuła --- drivers/hid/usbhid/hid-pidff.c | 57 +++++++++++++++------------------- 1 file changed, 25 insertions(+), 32 deletions(-) diff --git a/drivers/hid/usbhid/hid-pidff.c b/drivers/hid/usbhid/hid-pidff.c index 503f643b59ca..e2508a4d754d 100644 --- a/drivers/hid/usbhid/hid-pidff.c +++ b/drivers/hid/usbhid/hid-pidff.c @@ -3,13 +3,9 @@ * Force feedback driver for USB HID PID compliant devices * * Copyright (c) 2005, 2006 Anssi Hannula + * Upgraded 2025 by Oleg Makarenko and Tomasz Pakuła */ -/* - */ - -/* #define DEBUG */ - #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include "hid-pidff.h" @@ -25,9 +21,9 @@ /* Linux Force Feedback API uses miliseconds as time unit */ #define FF_TIME_EXPONENT -3 +#define FF_INFINITE 0 /* Report usage table used to put reports into an array */ - #define PID_SET_EFFECT 0 #define PID_EFFECT_OPERATION 1 #define PID_DEVICE_GAIN 2 @@ -48,12 +44,12 @@ static const u8 pidff_reports[] = { 0x21, 0x77, 0x7d, 0x7f, 0x89, 0x90, 0x96, 0xab, 0x5a, 0x5f, 0x6e, 0x73, 0x74 }; - -/* device_control is really 0x95, but 0x96 specified as it is the usage of -the only field in that report */ +/* + * device_control is really 0x95, but 0x96 specified + * as it is the usage of the only field in that report. + */ /* PID special fields */ - #define PID_EFFECT_TYPE 0x25 #define PID_DIRECTION 0x57 #define PID_EFFECT_OPERATION_ARRAY 0x78 @@ -61,7 +57,6 @@ the only field in that report */ #define PID_DEVICE_CONTROL_ARRAY 0x96 /* Value usage tables used to put fields and values into arrays */ - #define PID_EFFECT_BLOCK_INDEX 0 #define PID_DURATION 1 @@ -119,7 +114,6 @@ static const u8 pidff_device_gain[] = { 0x7e }; static const u8 pidff_pool[] = { 0x80, 0x83, 0xa9 }; /* Special field key tables used to put special field keys into arrays */ - #define PID_ENABLE_ACTUATORS 0 #define PID_DISABLE_ACTUATORS 1 #define PID_STOP_ALL_EFFECTS 2 @@ -176,8 +170,10 @@ struct pidff_device { struct pidff_usage effect_operation[sizeof(pidff_effect_operation)]; struct pidff_usage block_free[sizeof(pidff_block_free)]; - /* Special field is a field that is not composed of - usage<->value pairs that pidff_usage values are */ + /* + * Special field is a field that is not composed of + * usage<->value pairs that pidff_usage values are + */ /* Special field in create_new_effect */ struct hid_field *create_new_effect_type; @@ -222,7 +218,7 @@ static s32 pidff_clamp(s32 i, struct hid_field *field) static int pidff_rescale(int i, int max, struct hid_field *field) { return i * (field->logical_maximum - field->logical_minimum) / max + - field->logical_minimum; + field->logical_minimum; } /* @@ -282,9 +278,8 @@ static void pidff_set_time(struct pidff_usage *usage, u16 time) static void pidff_set_duration(struct pidff_usage *usage, u16 duration) { - /* Convert infinite length from Linux API (0) - to PID standard (NULL) if needed */ - if (duration == 0) + /* Infinite value conversion from Linux API -> PID */ + if (duration == FF_INFINITE) duration = PID_INFINITE; if (duration == PID_INFINITE) { @@ -302,16 +297,16 @@ static void pidff_set_envelope_report(struct pidff_device *pidff, struct ff_envelope *envelope) { pidff->set_envelope[PID_EFFECT_BLOCK_INDEX].value[0] = - pidff->block_load[PID_EFFECT_BLOCK_INDEX].value[0]; + pidff->block_load[PID_EFFECT_BLOCK_INDEX].value[0]; pidff->set_envelope[PID_ATTACK_LEVEL].value[0] = - pidff_rescale(envelope->attack_level > - S16_MAX ? S16_MAX : envelope->attack_level, S16_MAX, - pidff->set_envelope[PID_ATTACK_LEVEL].field); + pidff_rescale(envelope->attack_level > + S16_MAX ? S16_MAX : envelope->attack_level, S16_MAX, + pidff->set_envelope[PID_ATTACK_LEVEL].field); pidff->set_envelope[PID_FADE_LEVEL].value[0] = - pidff_rescale(envelope->fade_level > - S16_MAX ? S16_MAX : envelope->fade_level, S16_MAX, - pidff->set_envelope[PID_FADE_LEVEL].field); + pidff_rescale(envelope->fade_level > + S16_MAX ? S16_MAX : envelope->fade_level, S16_MAX, + pidff->set_envelope[PID_FADE_LEVEL].field); pidff_set_time(&pidff->set_envelope[PID_ATTACK_TIME], envelope->attack_length); @@ -702,9 +697,7 @@ static void pidff_playback_pid(struct pidff_device *pidff, int pid_id, int n) static int pidff_playback(struct input_dev *dev, int effect_id, int value) { struct pidff_device *pidff = dev->ff->private; - pidff_playback_pid(pidff, pidff->pid_id[effect_id], value); - return 0; } @@ -732,8 +725,11 @@ static int pidff_erase_effect(struct input_dev *dev, int effect_id) hid_dbg(pidff->hid, "starting to erase %d/%d\n", effect_id, pidff->pid_id[effect_id]); - /* Wait for the queue to clear. We do not want a full fifo to - prevent the effect removal. */ + + /* + * Wait for the queue to clear. We do not want + * a full fifo to prevent the effect removal. + */ hid_hw_wait(pidff->hid); pidff_playback_pid(pidff, pid_id, 0); pidff_erase_pid(pidff, pid_id); @@ -1239,7 +1235,6 @@ static int pidff_find_effects(struct pidff_device *pidff, set_bit(FF_FRICTION, dev->ffbit); return 0; - } #define PIDFF_FIND_FIELDS(name, report, strict) \ @@ -1370,12 +1365,10 @@ static int pidff_check_autocenter(struct pidff_device *pidff, hid_notice(pidff->hid, "device has unknown autocenter control method\n"); } - pidff_erase_pid(pidff, pidff->block_load[PID_EFFECT_BLOCK_INDEX].value[0]); return 0; - } /* From patchwork Tue Feb 11 14:02:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Tomasz_Paku=C5=82a?= X-Patchwork-Id: 864677 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CD78924CEC3; Tue, 11 Feb 2025 14:03:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739282592; cv=none; b=Biy7svdKMEMgeAkrfEM319Yk3+NkuokgCspvhhIbSSZzxuOcFudTLPyhKenqEI+AyNYDUx75lanp1YgbMP6abemyy5rQ9sC84mUSY4eoD9qqNKqHRxLtnEoJjMUxbaHbcpcTjRLh8d18jP7zJ4ajacS5FUMbxZRausGDDq4cVis= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739282592; c=relaxed/simple; bh=kNGRVi3mkE4Ik7DuVSzb0dE3caW/bhvIv27XtZ4uEmE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Jugcu3bzAOENGS2AIxSWA0PUuEOXa7wkf5t329kVd5ABi5l6j0gV19rQKR8tkFKzO/KR7B3dsRsLv4BbmMNsGZ7IFuaTrCk6nNIZJiHTzFNWPoWRfcMmJQ0oDvE5zD/4d/6G/anA5NgZIyyt2rJUzjWp23Pnhk4KBYOoDlP1xAA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kP4DFTwa; arc=none smtp.client-ip=209.85.167.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kP4DFTwa" Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-5450e08f300so283387e87.0; Tue, 11 Feb 2025 06:03:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739282589; x=1739887389; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=w2CWaXsm/K/mNvLz1mhLGG+mDBgTiXMcIaNXAmCgOmw=; b=kP4DFTwaG6UktNTEHN1ylbocF4K8KRWmONtKoM9fp+T7Sht9ZDElW/qGwYlqljNei5 eosxH/Ouq4djLJ3c4YAsDvqFnRpVBXcRSsy3tQRG1N5KHkAhF/VSbMHG7M4ko0DsJoJ3 Dy/Q4biFr5ii+7lgxBA9IAiXFDHxYJMHXL63+Yji7JFE9FySvcG7fIMLxx9cppbr/92c xh9CGbLtIhmDeTX9PBh9rahVP8oXiV1PVjI2/EQtQFKRS85P1cEmw2tIJ/fcyhEa0EtW rALqyjeiLcEXERRjU6Vg1z/0aVJz/8fZG/0IUYZ5K7DEl/e7zzqGtYmnxakW+SL1Nijw hCdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739282589; x=1739887389; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=w2CWaXsm/K/mNvLz1mhLGG+mDBgTiXMcIaNXAmCgOmw=; b=c6bTtJhsIlKOonQx/v7g4YMvco1gEFpKtu2GOMWBVT94nN0JNWDcDO/sxS8rV8qp3y wpjju9HLY44zcFP9FRi9tHH0czIm8n6UvrgtLEoYIi9c0J6vf4qoB9CUh+iAZC63UpNp Ah/n/pnZotzdU2nc786/1kI+G2BQNmM6IFfys2DO9JpSLNuwBr8knZru9uwrIE6FXNgm 68Ccmi2S/7AbKpihL6HDX+ZGTzQYmhRa9kQSUqi6bLY8/6SG8Ow9I82aBJoClp74uTzI swwG7TFzGvOVGC1dqNHIqYc3yriuIn7VaiDKfWfzsh9O6nHNkMnDIHO9ANfOCOdRvOU2 lgqA== X-Forwarded-Encrypted: i=1; AJvYcCVTM+DMDptXguuGQQO2sbVk3xIomSZzmytlgEiHwz8LM+o/P2v43WvnfqUpk8ZxgzlwfHp2Y32tdaZM@vger.kernel.org, AJvYcCXgX/vNIs0xjzexyNErEDL5/29si2gdLh4qDZe5+EqqekP0Nwal0vZdhhWSx7VaMCtu9ZHaBBJ0e4InRw==@vger.kernel.org X-Gm-Message-State: AOJu0YxTSl5JVsh5u/CWjkJ7Lgb0mOcdMlYQkaPk4i880yzkowl7XOGr 75VlPdDbSkRSkJLGLEWqUEzdFayPuNqHvZsqN7ajewhD35dkgPOl X-Gm-Gg: ASbGncs5USk7aQXXTv1YHlozfpiwqGhLRAZ/AwLnD+be5lQIH6ynIctTOjbDVULiKyu WE53i+nRWA3n3lA+bQHVKA0EmXgtk1SXCQYjD4C5NFyiTXW8G3Q1mCDrptWF5OSQCW8jihNlN/2 krwbW9ca4d0UrruPAnPyXvNUBHJdR7bjOEmTydh/D053mRrzsQCdrJGRLyTFXQRf93xAhG7nOG6 wdgjw3XsYDvjy02D0OLk20oOb0PIGvK5JnqxF/ocASjwl229xg22zEd96sS5AXDPXdvMF6vc70x EEF2vhGEi7bOH/Si/1/xb5Jb4vP+a5xQNAL7dwYhGYZnArpd0KNVYUFvqFrVHA== X-Google-Smtp-Source: AGHT+IHVPqTnF/S9xuKkuuUBxGGreITBRohMmM0gNs1PnjpP+f5eajnP/XaxJNiaIPpKHi4xf84zRg== X-Received: by 2002:a05:6512:b22:b0:545:ece:82d5 with SMTP id 2adb3069b0e04-5450ece849dmr827307e87.13.1739282587061; Tue, 11 Feb 2025 06:03:07 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545014af0d0sm1118721e87.184.2025.02.11.06.03.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 06:03:06 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: anssi.hannula@gmail.com, oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v3 5/6] HID: pidff: Support device error response from PID_BLOCK_LOAD Date: Tue, 11 Feb 2025 15:02:51 +0100 Message-ID: <20250211140252.702104-6-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250211140252.702104-1-tomasz.pakula.oficjalny@gmail.com> References: <20250211140252.702104-1-tomasz.pakula.oficjalny@gmail.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 If an error happens on the device, the driver will no longer fall into the trap of reading this status 60 times before it decides that this reply won't change to success/memory full. Greatly reduces communication overhead during device error situation. Signed-off-by: Tomasz Pakuła --- drivers/hid/usbhid/hid-pidff.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/hid/usbhid/hid-pidff.c b/drivers/hid/usbhid/hid-pidff.c index e2508a4d754d..d5734cbf745d 100644 --- a/drivers/hid/usbhid/hid-pidff.c +++ b/drivers/hid/usbhid/hid-pidff.c @@ -138,7 +138,8 @@ static const u8 pidff_effect_types[] = { #define PID_BLOCK_LOAD_SUCCESS 0 #define PID_BLOCK_LOAD_FULL 1 -static const u8 pidff_block_load_status[] = { 0x8c, 0x8d }; +#define PID_BLOCK_LOAD_ERROR 2 +static const u8 pidff_block_load_status[] = { 0x8c, 0x8d, 0x8e}; #define PID_EFFECT_START 0 #define PID_EFFECT_STOP 1 @@ -666,6 +667,11 @@ static int pidff_request_effect_upload(struct pidff_device *pidff, int efnum) pidff->block_load[PID_RAM_POOL_AVAILABLE].value[0] : -1); return -ENOSPC; } + if (pidff->block_load_status->value[0] == + pidff->status_id[PID_BLOCK_LOAD_ERROR]) { + hid_dbg(pidff->hid, "device error during effect creation\n"); + return -EREMOTEIO; + } } hid_err(pidff->hid, "pid_block_load failed 60 times\n"); return -EIO; From patchwork Tue Feb 11 14:02:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Tomasz_Paku=C5=82a?= X-Patchwork-Id: 864267 Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 38C2724CEE4; Tue, 11 Feb 2025 14:03:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739282591; cv=none; b=ofXEw8SUWFulghdLMgTciK+AEes2Kq00XXNUdkY3jahLZdxrNS/e36g7eOm13yYbaiyjB8nwGIUYHAtlrK2VrmdRXoePIDc7pyYUt1sL6ryUgiYX18hybR4xDkByKDJvKN/fZ6fl55g/p2Tg7RukmdkRHMc4qlgdMhoQQ3F1G0A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739282591; c=relaxed/simple; bh=WiU2yqu46XQLx8UhQf+E8j+pvd7+tZjLoi4sx8jhKrs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=V+MBUgVTbO0LC4Jssv43XFJfsk2SfVubOhQfYYuuP+ePdCjMGbZFT9tvA6DR6It62Y+T2jLQh9u/VFHdamcN3mHXc6Wt9MrNfUxv5KI1DakpbjaCQypq5jVdDVnHqn8px/lBpD2bGX+O0Vv1Ohp0zmIZ/oU2SDtmNqK+ktqWVV4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DxIEjZlZ; arc=none smtp.client-ip=209.85.167.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DxIEjZlZ" Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-5450268e513so557411e87.3; Tue, 11 Feb 2025 06:03:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739282588; x=1739887388; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kJIT5gm5Fkeir9qgPIT3wEjMUvphUfF3iLU1bg6b6Vk=; b=DxIEjZlZ/3IKLgczxWoWz/WEupty5YtmDkz/8xR+uvol4ZePusGK1gtsNTd0FUOJoO dEwrifckhJWPU0evsW/3xGwNNbzVoOaKwsvBXxnzvAc4MGibcpOYZfchSCkEZygfGfWs RlNr8QHc42SsmIse1Mk6sCCcx2Jv1k0PVSz9DM6O+DfBpfw/kOB2vY4RCCabEmBLaT9w pTVX2BfnHPA+BONnFGhMSLQSaQiW+JZv0y6zEP2ve5mMHqxch3mj3lzhKPv2zDrSHXmj IDoNTld1DGvMXmjQ7OEUFGiwQJRYfa8CxeVPn6vwO1D4cmA7kS9Th2/lMsP5IXPYF5cn 5Img== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739282588; x=1739887388; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kJIT5gm5Fkeir9qgPIT3wEjMUvphUfF3iLU1bg6b6Vk=; b=T+m1jshlCZwvKMTiiLWsLBiOWu2KRFB7bywRy9mwMy7sm2pagvuIPKs/ceNQKMLaea ARBbLNpPkNuoYXC39fJRNpOpuHWP0HnZkyxkiUmiMCYdkDT/EGRc/kPnVtmCS5gAR9T+ tXX+PdDLOWzsckE9Zht0FFc1TNFPtgp0FpwCmBw7/n7Mg26YysBTlVPY9st5tCokseMB UjjZknkgbWWxV0IWiGGBbI4TBMnSmRvmk5puTi+d0qykT0FCQ2oxwEIfc1cfTOdyTg2p W/pFQLC/bDDEG7gQxMHpe/sFRVDL16dPjDoTgbSgX31PnLkXjeKiCT96PVwXTCDm/SAV LRbQ== X-Forwarded-Encrypted: i=1; AJvYcCUfFO+9f14zEk8cwi1VBpFePp8adAwhq07Yik2XpNOQCzml18kO8fjzcFyRLPMcTnoiU/qtjR+Mlw4bWA==@vger.kernel.org, AJvYcCVYhEJTWhsOhtdU8YW/JjtVSIpYz/Di3jPUXZxkxLWVHA2OpEr5G+7FzyAuybRuCwPG09uiMBiCGWJ0@vger.kernel.org X-Gm-Message-State: AOJu0YxxDiQN4UwP9Wun1gY+fORjY0GpLh6bUY9Q/tha3J128u/84eSr 6QfQCcVDugHigTiIU2wxrEkxYLEn5liwGnlO5KXWTpW5+YTfpw0D X-Gm-Gg: ASbGncuXbVoWvdVxm+eshjlVp8qnrNDVo+Q+9nZsuVxtk3M2vP3f/DiNYfMLCUbkd71 8NBCQndP/mEc2bcB1ZCbO0JxqRE6mofZdvexab69T9wWBqbWOHdP/Ak8HxZKX3xJKPP1M8qauJf 85ZArfvbEdjdrkAa5HUztw4u3EKg726zA2LIbIQLD4zKFF++ocvoc42cnLvOoAueYTG6Kq6BSSa 2lUduFa1rE5vg84kJqkr9mOjlLW3st4K4E9edslI6tQxv0BhwIL1NS7yPqYNOknB/oNCM+mTScQ i8K7LtYCE+83VRx+K9K5H9523fXr2PLPs38SWBwIA0nspC4n5QMFWN2BD6mLWQ== X-Google-Smtp-Source: AGHT+IFzFlOWkNa5ydaof8tikiAB44S1unXQPHm/P2AAyEalcpIgJkFY3cf8TCG6dFojlELSDedg/g== X-Received: by 2002:a05:6512:2252:b0:545:6f8:232a with SMTP id 2adb3069b0e04-54513b5179dmr328757e87.13.1739282588081; Tue, 11 Feb 2025 06:03:08 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545014af0d0sm1118721e87.184.2025.02.11.06.03.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 06:03:07 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: anssi.hannula@gmail.com, oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v3 6/6] HID: pidff: Remove redundant call to pidff_find_special_keys Date: Tue, 11 Feb 2025 15:02:52 +0100 Message-ID: <20250211140252.702104-7-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250211140252.702104-1-tomasz.pakula.oficjalny@gmail.com> References: <20250211140252.702104-1-tomasz.pakula.oficjalny@gmail.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Probably left out as a mistake after Anssi created the helper macro Signed-off-by: Tomasz Pakuła --- drivers/hid/usbhid/hid-pidff.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/hid/usbhid/hid-pidff.c b/drivers/hid/usbhid/hid-pidff.c index d5734cbf745d..6f6c47bd57ea 100644 --- a/drivers/hid/usbhid/hid-pidff.c +++ b/drivers/hid/usbhid/hid-pidff.c @@ -1159,10 +1159,6 @@ static int pidff_find_special_fields(struct pidff_device *pidff) return -1; } - pidff_find_special_keys(pidff->control_id, pidff->device_control, - pidff_device_control, - sizeof(pidff_device_control)); - PIDFF_FIND_SPECIAL_KEYS(control_id, device_control, device_control); if (!PIDFF_FIND_SPECIAL_KEYS(type_id, create_new_effect_type,