From patchwork Tue Feb 11 14:35:08 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: 864265 Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179]) (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 586552505DE; Tue, 11 Feb 2025 14:35:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739284524; cv=none; b=PdiE9AQBUpRHTyi6IUB2+tv2K7aB7I32uITXDrItPYhb0+8hs9ZxGtpUBjksKht9Gvy5ogYh0WKMi9NWOp50p62KQUXL2QJ+eq3/NjoIH95R/hUHcZ18xWnD9BREeD9epXwoSC+x259cYJf5SO5DjSepVbcTNjtvkhyn2TQUI8w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739284524; c=relaxed/simple; bh=eUbxUt5xpTtxEzNiYKqCsSF7kyQ0xB70W44K9/NfqI8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Eg0WyoT73izvniUdlnx6iEGldDnAdXbZzTwDmAXmYKWpZmRW+nBMa0hZ9vTMkusgEQLz7+fCtfnkTiiycKYIwhIpW8rXjgwcmyVXYzvfAyzyTqpb0PGrRNpkU6nmvDcl5X29ZeWkM40SmbqimQzYE/QMkvk+zxsE/wsKu0XiKqM= 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=c2eR1oic; arc=none smtp.client-ip=209.85.208.179 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="c2eR1oic" Received: by mail-lj1-f179.google.com with SMTP id 38308e7fff4ca-308f29cca65so1484491fa.2; Tue, 11 Feb 2025 06:35:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739284520; x=1739889320; 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=c2eR1oic98G2ANtjzhRlaG9aVtV8wK3+ivYAoMWq/XA24VF/IrWw/Y7eUcCTWDxs6K 4m0ikRpFZ9LL4h4lZFhddVe9RkFobIcu+ttaelym6fb2bD1MUptkXe5F/TEL8IHJZtjM ZtXq7FFTxXxMDa6GcVe8A+L4fjjZdSdxdXoj1UsxnKHJ4Zk8CJankLC5yxif+296cdnb lQG2EuYmwoAhwk+cvN3JKtDmDD9u808uAg7FUhsWXXBgWNgWudtL7CFjI6IEK3SngANL aNJLSa55Xb63UWDTmuMmWpjnMk3esndG6KDwmkwJctYUVniw5DcaN5D9kswQE2pSpszv 4h3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739284520; x=1739889320; 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=ozNbk3XcRKWwUYzr05aKJY9bflFl0fE5IJ8iK6FI8taKciJ5AASvA6w8NASQ6utH5P ccEZCKt9pbgiHd/NWbHa9WHWTNgrf+TGkd6RIJH0mXlrAjJ4mrC0qFTKefa7MfT8iuHi VbfbI+kVvf/4UQJpWepCadeAbIHL1rUlrmCi4wYz1bV3BBbq88KVVnERR59K4XBTCOIT tsuOFi6cODlBuvodQj7/r6Q7mMUGH8OJ2mJ8F+wxYx30pGJPtLicTes2DHckQ9vqyYWD Bjx8ZJIUtK2wOfA1VT944Pa6G4R6yck+MfDAt9l6nDmIkmfEqddtodbZGJg4R22YODhO ovJA== X-Forwarded-Encrypted: i=1; AJvYcCWZi1qxODvhgvPy0qn3DOHW8fg/SD/LNIamB0J8Mpk08kIp51AB4aMBFske+qmM4G2vT6SaXEJ92GRDEw==@vger.kernel.org, AJvYcCXe6dovT7MczxOUOIfSWasC9x6QDsAA0wcAXoVNgNl/WXOofcUkmwbgX6IFTNUc5v7PGIP8ec5kKYv1@vger.kernel.org X-Gm-Message-State: AOJu0YxiqoHw1zYnE+G7p+ausM9Wf+jcsAjGRnlgRJd+ht5heglhe3TE NVG0D6kqZR1IuMRA3y+XeqYomWJpRlFp6BtO7NC/ZCBzSFcx+sNCMbN1CftY X-Gm-Gg: ASbGnctXWv1mi1qwPc+Kn9aaMdI6Wfxq81VQjy2Ss3NL/nLjxgoL3uFIylGWpJbeG7+ h4+gz/9rRoTGeDzOF3P3i5cjpVhAfwZlrCSFKGyM2G5gXyupv/nCy06Hg62iSbPi/WVmhpdV44b RlYbA61s5CPtRZZfpwXDgNUXFwgZu3LrmcFV0n27MZ4+SLcKwinxseKF07q9/uaB5PTMj9og2nG YvTjNJYORuLnKzlzxuTD/n8EboM4PoM1JFt/6KO1WLQL4vohyqKuvgDrnqAHk8JiZ88l4tUnp1/ BU2DjoEi8iEtma7oBW1P2ZfQAHRUUjTM3liuP3T0zF8dEJiytfta5dWMNOmzKg== X-Google-Smtp-Source: AGHT+IHbxSnhzn1tWsqu6FOSdXVq+lRf+ogN4EO+v55qwd7onSxqzzqK4W2LtiKSN/k7p+6f/trcMQ== X-Received: by 2002:a2e:be86:0:b0:308:f79d:f0d4 with SMTP id 38308e7fff4ca-308fbe2be0dmr2914341fa.3.1739284520092; Tue, 11 Feb 2025 06:35:20 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-308ee4173edsm6132191fa.0.2025.02.11.06.35.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 06:35:19 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v4 2/6] HID: pidff: Make sure to fetch pool before checking SIMULTANEOUS_MAX Date: Tue, 11 Feb 2025 15:35:08 +0100 Message-ID: <20250211143512.720818-3-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250211143512.720818-1-tomasz.pakula.oficjalny@gmail.com> References: <20250211143512.720818-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:35:10 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: 864264 Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) (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 C295A250C03; Tue, 11 Feb 2025 14:35:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739284526; cv=none; b=pV9jf6bNPstwLofbA0DCfK7guY9txawmUvH790QhB1Ohn+FrwNhx54Bi+P1jwwbUS2tSul5e6yuIYpEVVGU7qS020tkq8f9ggfs5vY/EMDYFZEE2kXBYp+/Ex5tG82JvzUl3i2gnmfkYFTO4Y74cFAHgo8x3IfvbmbLYR6htmZA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739284526; c=relaxed/simple; bh=M9WPL+4kweCWgWjygIKmUoc1um6eqqxRR5AeEaAqTc0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Y1Ftb1nTQCx45y/24FgubOXVmNULWof29sRIIwQ66FDCWIif/8zkQv/KhwrmfaQns5b6w2KNCRBY+uuRJ+iLQemh+9OhG4a70X47fxfrODs7OEEG4/eAebF0SPu+eT8V/FklMXGqPh1aQk9dDkc6BUWhFh2Dhen5CvyNmlSgqYk= 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=VeZeXkwV; arc=none smtp.client-ip=209.85.208.178 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="VeZeXkwV" Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-307e4ac2eb5so3950571fa.2; Tue, 11 Feb 2025 06:35:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739284523; x=1739889323; 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=VeZeXkwVpvUtNKwD/bdoBuoeiNtEWJ73e9GdTku5rawPdT6hGzc8tyXdqfEaaGyEzF jpEVQ4vLcQrKLU3LGq2YkHoeopdMwb2EW8EVf3wSTFDZQoCRxCdk1RgzknDi+y/A1T7F ZxDa3jjQ8alXXzaVB8xhUjkgjp19riztM8LmmaRokKDv+3HnsWEQGNYQkzK9xkcwdQdK Qb911cAVL9cckQCKtA2PtJmUXMMhxrtNII5rQIOoq9QAXY0nazBqbA62nhHv3BL/FnI0 IPLtFsjjD6zczg8w3wJXC17VzZpjyfHt1h3RUahx7lz20KZaUjMug4TdU3Tzeod5REt+ PpkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739284523; x=1739889323; 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=TLPThVng3rgYv8gUnGGZbYTK4cJ+uI8yO4bEKQnmc1gzu0c4ePjekQauhMabCJgZc1 hkGqgmQT9puInEffO/U8kSuvshVGBU9eqv8oGnFdgktEtXJzDCIVka8TvYsOBcXt05bz N/TxYhX/pto9gVDYVMAGhXXIZwYH5wgM18qJQgnM5PxwBE1/DwsLzYSciioqa4Q7M7X2 qyHNxyGiSZTTfgXzb3cHCAV7Oeg/lmzWDURMgowz9UAbf6Q1eZz25LkxHFXTbAjJZhOm YTYT6JRPSiEjm2JwZtrt/NKaOqL+ULqo8uCE0SdDSsiRYSpNUYutMOoCtU64Gt8dK2/w c2tQ== X-Forwarded-Encrypted: i=1; AJvYcCUiQVFt3cNVGARlfHIJti35tVzuo58F/4tJU1n10eRWZXHjgddb6/zlqsHbpTc9Q63uP7iA37m3VgiRzw==@vger.kernel.org, AJvYcCXa30Guijd17YRP+LmNwtbu3VifMSZXRAiWZDSCs9YV+jwUJLf5usfhboDh/IqIKdEx9QolADbJ71HP@vger.kernel.org X-Gm-Message-State: AOJu0YwqMGHnf7uscqNEQvUAZqsEAvWOATJeDplKirRpnXOB7n7mWZxQ hQONv0JgoMD6Ez39a0cX4oNJKVx4wHDksIkefD2Ct9uVIbqZpVW+Hw/SAKdq X-Gm-Gg: ASbGncuvJK8GQAvO/FjymbpY4R9dz5kGs078Gfvwd6doCo2ZxkcXTb/uC7Egpqn/BNt f7OPfmrBdZrW26/54RjEadX+Q68MAlR0iUikz+c70TJH6sfg8vQ/zmg7JiPa+M7q0aDqC7VhSsd ZuH/jM8l7fYa8Y7yhBcCxsVAOynejGgfXXLM4N21xmnZ0Qp9+akmRnv9bnlCj5c250q5kxp9hzN tGGfu79o+z8C47JBYA/rV89IaJWMjBTRV164dEzN0QdKM4Gnv/5Wf4kMeFivVsdmEDr05bJ5NIQ x0KAY/Rhefs3A7pD5lGVkLkCQQKr61Yz1dbOZW6Ci/mQG9olUhvHQMLEygADpg== X-Google-Smtp-Source: AGHT+IE3oQH8niAPreLtPjMpq9e9pcp5fjXC09dFFTz6Xk/POjcSvz0J2qP29sZYVkazN/pKrNeBOw== X-Received: by 2002:a05:651c:2104:b0:308:f0c9:c4ce with SMTP id 38308e7fff4ca-308fbe168aemr3733051fa.2.1739284522508; Tue, 11 Feb 2025 06:35:22 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-308ee4173edsm6132191fa.0.2025.02.11.06.35.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 06:35:21 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v4 4/6] HID: pidff: Comment and code style update Date: Tue, 11 Feb 2025 15:35:10 +0100 Message-ID: <20250211143512.720818-5-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250211143512.720818-1-tomasz.pakula.oficjalny@gmail.com> References: <20250211143512.720818-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:35:12 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: 864263 Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179]) (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 1A0382505B9; Tue, 11 Feb 2025 14:35:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739284528; cv=none; b=lRQU90Ig3lVPoxbOZBqQM6R5nLpqWwRiSDZdSHolkIA+d4H+0KSi0NSqgMM9URTVggWm6ieor03njeLwGt0nJxfSmvtSBNc8FD1saxepCA/7p9pecsu9EVouEuAKH/pUL+EqQiUcgHbwLZeRspoEnqrUIYdXCC65ik08TNwknQU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739284528; 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=T05Lt9wc37pNKkUz0eNpSOobl0oxrrtKCKlroTdAnJbH2g8cyEceBXyUvRCcau2ruuDUI8kNYoc8/dxKul01doOJsvPWWXT0ftII9E+Ru6iMGtFratK4KgTY0l7l3iaIbvM3DYDc0NrkOobQonKHdGOkA2KpiCUDMBY3W8nnzQ8= 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=TVF1mtES; arc=none smtp.client-ip=209.85.208.179 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="TVF1mtES" Received: by mail-lj1-f179.google.com with SMTP id 38308e7fff4ca-307de92bce2so4452361fa.3; Tue, 11 Feb 2025 06:35:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739284525; x=1739889325; 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=TVF1mtESAGs/gaEyUScHGpAl6irHFhIlsN/u4EZDQjYLDzOreAxL8l6hqxwnmOFSVJ 94PledUkNk6DPl1hqCUUHAaOag8ns76nU5pKj0ED+DqIWTP25uG0Fn4s2uyEBRi6T/RT tAsWHY/KtsTR/4u6qBHIn5Urnu+D0o4UNuCRbxuIZ1C6Ccdn2bU6eUKspC6YnRgZo0sZ gqxlMyo3us1N8C/DTpA7oZovtyeDjIWagj8HfbkuiCIi0ZcNes+zHRGtWNrCfO4UYI4L Fmsa3FrZYWfQnKEzGIMaF3T1rzoX/5qPs0EzD+z6LCAHiSt7cSVSkLlUEVZjjkCKBNsl gqxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739284525; x=1739889325; 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=ln8PvX1F5GC/A2oZoWD9DYbwsATJn+bljGit5PwciZKrGh7fz9/TmQcYzfzk69cSm0 INth66uSRLR2m3uvr09qOxZPAu3DcEcvP4MDzWgWHdOv4XzEs8T1femiRwioRtKu0npI 6NXsnuqhTAaTfBthOG1MkfIJzE6Ywe5hs6IDibkZHBEfViJsVHCflSlRKVwkMV2YGOQ0 TV/QgslADZUdHZ/GrRU98MO7YxSi4xNM0OmsvUe8cvJDsT4KFWLCJafGTOlLmxnvxbRT 9d0pjPUZqwyd8j5oF854AIfBHyWXc8Yo5LzA5nY6IsrUOXC70YU9aU8jw/NbuNap26Rg SMoQ== X-Forwarded-Encrypted: i=1; AJvYcCW9SFMO7nBr3kgRBTXpP6LrOcnc4vM7I2x6PNehZbm3IcmiZ56Xd5HV6niNqlb+aguutQRmE9vmbj2W7w==@vger.kernel.org, AJvYcCXAh1a1ML51wAc4V80pWdrGh/DnmEEITscF08YVKEYamVr5Uq1G6kH+J2frN1PrQPWRNved3pgVfziY@vger.kernel.org X-Gm-Message-State: AOJu0Yy8saox0zl1yeZ1uEboGQyHF1eozbs1M+NtPo3nsidlfTJsi8TV /yWtIRT4xMZOCUcVHxxVXwvUvoMVkS91Ia0tEMlW/zlH+peLAyH8ofdKL3tA X-Gm-Gg: ASbGncvGaFpn6o13dcbocU3pU4jJNvk7pWY7iK4oxcGkNIadILau2AAeMQHAMZYrA5Z 6a63VXCPOtOsggFKt9nA79HnmVrgQaFK3qgYQUvc+u/4DODPbvKfMPjahjTbo0FEe6L55afkpqp AHlzMODUXgjkjyGwKGl1WCeQQ+1s6PFyBPBnxtAFk1j+IASsH55LsHFO+Fsfp8bjY8n7Jaek8/T MQmndb2q+pldRi4XZTkwVXB2kxET6DeniRPTBdaVOlBqEccd1OXqJ56WYvqxqcp6OVUCc6zUF9W wIWkrOfJYXimpvEwWkRhidfupPByPAo+5p9gfpJthg3YrYiJ5H23xzY51Inghg== X-Google-Smtp-Source: AGHT+IFrSBEY1ri0yQOEvjtjV4z1ZTwp8pKMzLc86Umz+MpMi+zKCcIl8U+px1w6OyVqrq1h0QtfdA== X-Received: by 2002:a2e:b888:0:b0:308:e956:689 with SMTP id 38308e7fff4ca-308fbe46cb8mr3688291fa.5.1739284524916; Tue, 11 Feb 2025 06:35:24 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-308ee4173edsm6132191fa.0.2025.02.11.06.35.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 06:35:24 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v4 6/6] HID: pidff: Remove redundant call to pidff_find_special_keys Date: Tue, 11 Feb 2025 15:35:12 +0100 Message-ID: <20250211143512.720818-7-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250211143512.720818-1-tomasz.pakula.oficjalny@gmail.com> References: <20250211143512.720818-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,