From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) (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 81BC138D3F6 for ; Sat, 4 Jul 2026 05:57:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783144663; cv=none; b=V6v5D2vLlBLPohdNKnj2JPOREEMMYxG+1YL6Uhe7DRD13/9ilWtqGDY1YWv5IlnaZN12K9uqC0OkYh2bGxcNSkYjJXNbYe7X/nddU1xsC9ZJ6mIlgTSAnyKTnJ9yRmn3E/H2J6HVjsxF/xUbUrRN/i6JGWp1OaKOd/pagBquUmw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783144663; c=relaxed/simple; bh=xQLsjtj+AicyFGmBbr6l87mq31LJli209Cl3g2Ekxyk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=j4aaqbviImMiajjAnxnhkjBAX8Miy9Kguc0UZUsstJfYRJqRU1vjK2EMxwH8lk2tzYb7Aa/CWncfIKSmvejFhTFaerJvMIa00rBkBA5DjggAkFcO8MZRvsjUutInwVZoc6a6jeAcvVfSrd719fweYhxeSsyLGVL0/D/7vbrKOqc= 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=DBblsMlR; arc=none smtp.client-ip=209.85.216.51 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="DBblsMlR" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-37defb2f231so808548a91.2 for ; Fri, 03 Jul 2026 22:57:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783144658; x=1783749458; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=dWA/4m/UVmnMmxggqt7YCrXYgmO39jWI35he5TtM3O0=; b=DBblsMlRK/TR4mwpkfQYe0ZFSwuJdFHavfj4OoVUcke8DyfNEaxz2JNlszZYex7uH2 CHKhKmqKLZc1/xNyBfZBjjp4vrYefgfiFhy3w5paCC4RbIOJhmuRkRq9n9U6vLWWa2Vm nr4YcbNJq0QuS0aFNBLkVlwbmpUipvqUgfoGONqytH3qu5bxiZPUki8pCrYLWvpCjJIb dkzD7uz0PRzEfmaU4PM/9gFHPLyQ/KAI0ODW5yCBl75wRHQ3XpW9Ue0ljsIm5jbTTa2x VbxairlWOP9V0fy6DnTWwbtwDm70Zc85igfVuzmxHGBM+BOI8l75h55o/2+UvuNpr7Cb o7ZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783144658; x=1783749458; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=dWA/4m/UVmnMmxggqt7YCrXYgmO39jWI35he5TtM3O0=; b=ao3125cr32PonJab1Hn9S0dGTrUsh6VZHPtGj8k5XvhW8AEWkfn528B2ee1lSTCFyM t817pqw/P11DFyNhoySWMJ1W82GWztfJ0rsxcQyvOMu7Xprvfh/jj5tjAIUvBQO30L6m w2W2/ps7Ut+I94laGMQyaMHaka1e/dMgV385z/rEKgpEAquytDh7m6KJ/YhmFNwPeaHs 5mA4HLkzuogt2ZBIVvE693RNBZmIGKFJ2aQW+y8T4u+JNIKREVuNUKK6PO8uUQYSC79J KdLStU8J4rgV+kA6tmiCDJMq0wNB21dtR5Avrx281pFEMCXgIvBFzjT7LyNTd+bQpPvE dkrg== X-Forwarded-Encrypted: i=1; AHgh+RpXoj+Hi15VMIWkYTAjQLEPPBBa44Q9gXJ69ynD0r+7j1IjsMF6Vk2M9Zz3dI8SpfDI+Q0rz88r64Sf3ng=@vger.kernel.org X-Gm-Message-State: AOJu0YzvJSoVQ0w6NveL4k9axf0Ky6sN6beW4mnhyVPaqxd3ptElQb19 ZGxVS1FvcR5A1Z3jO2cxwU/D5GE8JCe6RXR1J6MorHlvM1kOgZ3XydIuNh+C1g== X-Gm-Gg: AfdE7cksz7qoHkEARnO5vuJeHS6C9b8vOoJx4PccZKp8cJ3LHQ6gu+hw4XdBfigTRKN G3p6Lksmo9tme991CqFoCGsaO7F+N9FaHs9OBEZM5ZnFNcIBqRf4fsYQHsYOwq5BHMJwM6b7GLm cc2LLorcPYjtb1fiYbdH009RbT1pPRx3NgNw6QDIJOYuqTTAu9GgOTNaLttpQsmTwsPffDbp696 h+FJUUE/3KmpHDpnqMu3kgTQvf5G+JW7uBuFeruBN9hRvUaf/j1SH3sVT6AlICycjzZ2vvwur7d YTFhBsO9juerAh5axBaZ/TskG3UmmdOKsmtM4u2akeUUEFKbu01y8bgPSXrUy2aOiuz/GhXxdqp nIRzFXomIRrIp6lA2m029c4rmpZ2cl3VRHVEeZVAHww2+CxWaJV4z9vPaTk16IFStqm1+PpbH5d uWlDvN4Uu7Ftt63JHci9zfdGcUcC8Swe5ianPkW0fxdbiNdJ/W9DbxzArp1SEsHmS8v+B8XupF6 6A= X-Received: by 2002:a17:90b:524a:b0:36b:e8b9:46a4 with SMTP id 98e67ed59e1d1-38280d99abemr2441388a91.14.1783144657746; Fri, 03 Jul 2026 22:57:37 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:880:86f9:3b00:6746]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30f0b813cd9sm26262412eec.8.2026.07.03.22.57.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Jul 2026 22:57:36 -0700 (PDT) From: Dmitry Torokhov Date: Fri, 03 Jul 2026 22:57:26 -0700 Subject: [PATCH 03/26] Input: maplecontrol - only enable present axes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260703-b4-maple-cleanup-v1-3-41e424964da5@gmail.com> References: <20260703-b4-maple-cleanup-v1-0-41e424964da5@gmail.com> In-Reply-To: <20260703-b4-maple-cleanup-v1-0-41e424964da5@gmail.com> To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz Cc: Florian Fuchs , Adrian McMenamin , linux-kernel@vger.kernel.org, Dmitry Torokhov , linux-input@vger.kernel.org, linux-mtd@lists.infradead.org, linux-sh@vger.kernel.org X-Mailer: b4 0.16-dev-6911d The driver was unconditionally enabling all possible analog axes and hats on the input device, even if the controller reported it did not have them in its function data. Move the input_set_abs_params() calls inside the capability check loop so that only actually present axes are enabled on the input device. Also, correct the D-pad (hat) axis limits. They were initialized with inverted limits (min=1, max=-1). Correct them to min=-1, max=1, which matches the values (-1, 0, 1) reported by the driver. Assisted-by: Antigravity:gemini-3.5-flash Signed-off-by: Dmitry Torokhov --- drivers/input/joystick/maplecontrol.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/drivers/input/joystick/maplecontrol.c b/drivers/input/joystick/maplecontrol.c index 6293b6e8148b..a498fc322c4d 100644 --- a/drivers/input/joystick/maplecontrol.c +++ b/drivers/input/joystick/maplecontrol.c @@ -118,26 +118,19 @@ static int probe_maple_controller(struct device *dev) idev->close = dc_pad_close; for (i = 0; i < 32; i++) { - if (data & (1 << i)) { + if (data & BIT(i)) { if (btn_bit[i] >= 0) __set_bit(btn_bit[i], idev->keybit); - else if (abs_bit[i] >= 0) - __set_bit(abs_bit[i], idev->absbit); + else if (abs_bit[i] >= ABS_X && abs_bit[i] <= ABS_BRAKE) + input_set_abs_params(idev, abs_bit[i], 0, 255, 0, 0); + else if (abs_bit[i] >= ABS_HAT0X && abs_bit[i] <= ABS_HAT3Y) + input_set_abs_params(idev, abs_bit[i], -1, 1, 0, 0); } } if (idev->keybit[BIT_WORD(BTN_JOYSTICK)]) idev->evbit[0] |= BIT_MASK(EV_KEY); - if (idev->absbit[0]) - idev->evbit[0] |= BIT_MASK(EV_ABS); - - for (i = ABS_X; i <= ABS_BRAKE; i++) - input_set_abs_params(idev, i, 0, 255, 0, 0); - - for (i = ABS_HAT0X; i <= ABS_HAT3Y; i++) - input_set_abs_params(idev, i, 1, -1, 0, 0); - idev->dev.platform_data = pad; idev->dev.parent = &mdev->dev; idev->name = mdev->product_name; -- 2.55.0.rc0.799.gd6f94ed593-goog