From nobody Fri Jan 9 00:33:11 2026 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.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 886821C3BF7 for ; Sun, 4 Jan 2026 21:31:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767562299; cv=none; b=mO/kk/XRzQtVHv7/2pYEH1mkiTPqk9zhM5zL/fnAFSFfxyqFaIlUxk84sNkMtvs6oly9KGzoIH0nIdneBCT5SQT72W+KciLcnyTrPbJaJtxI3UYYijiAWEPlZaWtJgNJcwF5HGnoqoCpZ0zeMEhuLYOLYfYbEtQ8/ZLokS1qdwE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767562299; c=relaxed/simple; bh=f/uwheFHSzT2MnHEE13G2RW3ofjy0vNjvK4QXFqbQkI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ooqyv25gySX52X84lXFajrjse7Ba2X0ps3XbqsjLjfvIP+opVHjn1qFOvZAP/5Tv12ogbUhG27rJR13AWfi/Hr0rXTlQeZPvkk15XTBk6viJf1oDe2XSq5iosuhzuEEeWbrClWcTCQL0AxktV12ODRpSDxVn5oHR/dVvtvHxag4= 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=jzrYKwEe; arc=none smtp.client-ip=209.85.208.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="jzrYKwEe" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-64b5eb14e88so3104173a12.2 for ; Sun, 04 Jan 2026 13:31:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767562296; x=1768167096; 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=J1ju9uJ8HtmgaH2DMl24DFV+9KpxYvqpDWRQN/CQZFw=; b=jzrYKwEefYi6T1sJ/ERtENot+z3voBmVCNU0Il+yUUsksJ1Fu/S4RYve24asGgIX+g uQHxhFMcbJZvhwVrJxws8HBbPj9MJ3y81RDu0J2FPLLq+WxQrxhY2rvpSmEMDPrdZrze yGrq6Hdok5bXzEryBaRalHr12FJuPeFtA5ZjvMEJAsknMrSfJgftGnIBgOuh6ce77Kty U+YFoTRZU6wvGle9XzOdhgVBXzJrJYnSF+KlCbsOdmBIGUOZTWT+TvqBLGiwRjOTNUiN BFvkumgk4hsZ8eVqkRZiT8z+IrYigLKYL+w5NRon9mRol3ezev1NXYpHXQ72Rd/mzqMw nAPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767562296; x=1768167096; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=J1ju9uJ8HtmgaH2DMl24DFV+9KpxYvqpDWRQN/CQZFw=; b=JdYOJLiWjMUxtH9aPJ67VRd/QzDiu3H61it1nVl6tmuiddBie0tJhPKnVUMlWMfzZv Gi+lHkUcX6JdrQCgjrKTdgyrMublDAQGWVuCUnBJGrg2Tuyg1bKBOSaQlMnPv3RUfAvU 9DXNq2Qvay/5HH16bJvbFeM14GQPqM74aexcN4yK7pBId2I/XtjSQ8grRjmy9IMbgg2s EIW3vA6rS1qSfkftEpaaJc+56Y0krlomqqvtOmwgn959AMu+Acp2thPw4A0C8huRAfK6 s65+6q6eBFZAW+D4FzNfptFd0Xv5CznhpFMhwIFXurq7+/zws3zkZuyWpZr2Kqk8GQQ+ rBTA== X-Forwarded-Encrypted: i=1; AJvYcCX7z9j8Xc8J/VisXVVOH1T8GtFVc/XQ4xhRI6t7lc1Jnvhl1KedDs9t65ePL9404Tp/VNmcYiqtvA/EJd4=@vger.kernel.org X-Gm-Message-State: AOJu0YyvtTg04k+B12NLi4EODDgQbYhmil0F1CU7Bi7Y463U+TL+j82c XjIQIQbNpGpv/ciHR5P2iKmIJiC0npQ6GGKa/I4f21rYxx1LJgOnZY5i X-Gm-Gg: AY/fxX6IhmFPDVnqeTug8zl9v4BwSCWXOINLC8DwmV8V/Pq4aOHDcl25VzmHfqIvAJU 97A9SQp0osOCe9NzQonMDSh55wgR+H2OBeI3DH371v8RqsMdW31XZ4d9Xjc4aW+N6S8Obfux6dZ bX149ouaM5esRd64z53qntn0Y7YtraR4m4hkgHg3ZA+RvBgkef/S2wVpXNJB+NOd6sClFewwCJb 7aBvl4RJ4JMLrFtp4VWEF8uNRapjvx6YM0Xz7UsH8oG16yCjYZRgvjF2WwMZgiCyOEW8IqvY233 SlBcXyjgrZbAw4I9B5CImPHE2nfqI07VDVOPOotkI8Efh2ORWYqZ8y+S321hMeu+I/M5ZEOjg/o QKxoM031LfPcxMFRkN/zIHStqnqsRknfzbs1hBL8ITmHjqH4Mlycmat/qg8jLgOQOwlQMd+eWY3 ApMhhnkNVE3vA5iGGUw1RDms3HffFVwMm7Z0m644pS+I4U31vaqolfFl+Ay4lG8Jfw X-Google-Smtp-Source: AGHT+IH2FCylLobZ0wkmnV3e/fGGLODdTT8iSPZe82AXEhgV2cQNmF9xtamMrKBG4lju1W+Of3dwhg== X-Received: by 2002:a05:6402:268a:b0:64b:76cb:5521 with SMTP id 4fb4d7f45d1cf-64b8e94bf43mr26815872a12.2.1767562295814; Sun, 04 Jan 2026 13:31:35 -0800 (PST) Received: from laptok.lan (87-205-5-123.static.ip.netia.com.pl. [87.205.5.123]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-64b9105a9c4sm51947772a12.12.2026.01.04.13.31.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Jan 2026 13:31:35 -0800 (PST) From: =?UTF-8?q?Tomasz=20Paku=C5=82a?= To: dmitry.torokhov@gmail.com, corbet@lwn.net, jikos@kernel.org, bentiss@kernel.org Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, vi@endrift.com, linux-kernel@altimeter.info, peter.hutterer@who-t.net Subject: [RFC PATCH 2/6] Input: Add info about EV_BTN Date: Sun, 4 Jan 2026 22:31:28 +0100 Message-ID: <20260104213132.163904-3-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260104213132.163904-1-tomasz.pakula.oficjalny@gmail.com> References: <20260104213132.163904-1-tomasz.pakula.oficjalny@gmail.com> 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: quoted-printable Add necessary bits to modalias etc. Store the number of buttons. Signed-off-by: Tomasz Paku=C5=82a --- drivers/input/input.c | 10 ++++++++++ include/linux/input.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/drivers/input/input.c b/drivers/input/input.c index a500e1e276c2..e926327443bb 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -258,6 +258,10 @@ static int input_get_disposition(struct input_dev *dev, } break; =20 + case EV_BTN: + disposition =3D INPUT_PASS_TO_HANDLERS; + break; + case EV_ABS: if (is_event_supported(code, dev->absbit, ABS_MAX)) disposition =3D input_handle_abs_event(dev, code, &value); @@ -1124,6 +1128,8 @@ static int input_devices_seq_show(struct seq_file *se= q, void *v) input_seq_print_bitmap(seq, "FF", dev->ffbit, FF_MAX); if (test_bit(EV_SW, dev->evbit)) input_seq_print_bitmap(seq, "SW", dev->swbit, SW_MAX); + if (test_bit(EV_BTN, dev->evbit)) + seq_printf(seq, "I: BTN=3D%u\n", dev->button_count); =20 seq_putc(seq, '\n'); =20 @@ -1347,6 +1353,7 @@ static int input_print_modalias_parts(char *buf, int = size, int full_len, 'f', id->ffbit, 0, FF_MAX); len +=3D input_print_modalias_bits(buf + len, size - len, 'w', id->swbit, 0, SW_MAX); + len +=3D snprintf(buf + len, size - len, "t%u", id->button_count); =20 return len; } @@ -1679,6 +1686,8 @@ static int input_dev_uevent(const struct device *devi= ce, struct kobj_uevent_env INPUT_ADD_HOTPLUG_BM_VAR("FF=3D", dev->ffbit, FF_MAX); if (test_bit(EV_SW, dev->evbit)) INPUT_ADD_HOTPLUG_BM_VAR("SW=3D", dev->swbit, SW_MAX); + if (test_bit(EV_BTN, dev->evbit)) + INPUT_ADD_HOTPLUG_VAR("BTN=3D%u", dev->button_count); =20 INPUT_ADD_HOTPLUG_MODALIAS_VAR(dev); =20 @@ -2113,6 +2122,7 @@ void input_set_capability(struct input_dev *dev, unsi= gned int type, unsigned int break; =20 case EV_PWR: + case EV_BTN: /* do nothing */ break; =20 diff --git a/include/linux/input.h b/include/linux/input.h index 7d7cb0593a63..f6389de4a4d1 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -59,6 +59,7 @@ enum input_clock_type { * @sndbit: bitmap of sound effects supported by the device * @ffbit: bitmap of force feedback effects supported by the device * @swbit: bitmap of switches present on the device + * @button_count: number of generic buttons present on the device. * @hint_events_per_packet: average number of events generated by the * device in a packet (between EV_SYN/SYN_REPORT events). Used by * event handlers to estimate size of the buffer needed to hold @@ -152,6 +153,7 @@ struct input_dev { unsigned long ffbit[BITS_TO_LONGS(FF_CNT)]; unsigned long swbit[BITS_TO_LONGS(SW_CNT)]; =20 + unsigned int button_count; unsigned int hint_events_per_packet; =20 unsigned int keycodemax; --=20 2.52.0