From nobody Thu Apr 2 12:41:27 2026 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 0F1E21643B for ; Wed, 11 Feb 2026 17:34:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770831269; cv=none; b=L4A8Cfucqii7rMLFzZxXrJS1pDkiEDh3A0Hm8+RJX2Dvm4DZgK+991FxAEldb/V3bMxUIID/OcvgMvgf6GaS5GWou9zvnFicFsg2oTwU20g8IlpA7ViBufe3Rps96s3K7Y0dg4re754k/+lcx9hlOLaBzY+ew5GiGoILrFRcZco= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770831269; c=relaxed/simple; bh=B35W/wwKBO3Nf3zh7OtfXnLc3eCK7kEDavT8yq8z8ck=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NcCiEF3qARZAiFy/lJCThX8JIS5Ipu91ZhtlUXimHM2mLn+/Y4cr8eDWVQyTn1pFpRhQtLfwmb0IJO50ATeyPynBJ8KYMDP5uNaZXZ1T/Paoty2cUP49SJOAWRhDPQFNVlLsxklRrdCkrTGtH7qmmcM1LlW1ExDU0U45pv3DZik= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=k3yw4Rls; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="k3yw4Rls" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-4806f3fc50bso64566385e9.0 for ; Wed, 11 Feb 2026 09:34:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1770831265; x=1771436065; 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=IXarn4uDm4FdMVdtkYEZm68FznhquSU537u2m3QOY98=; b=k3yw4RlsK4MH550+QxnKI3yhfiQmtj5k/uX2wdNGcdR+lk8NuU4JdeJh13eXMXU7SI zwjWrN9SIkHgQOXhYq4wHl7wYGNywbvYgrEgDXCVCF5Et14LoOj/b8RAtuSpEYSg+CAK nE3Ayx4pV6rXA+hXxweA6LmuvfWJoZAl0PT7M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770831265; x=1771436065; 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=IXarn4uDm4FdMVdtkYEZm68FznhquSU537u2m3QOY98=; b=wgiajH7iFth6w0elN+ZLSmpuXFWI1meENPa7exYkzTTShpzWQk8yvRajK54Zut8fW3 pQoG3p8aayuGpIKN7T0btSN8W/WvOVUVuizC/tgbFRVAQOiwmX5m2fQT/P4nC74v91MJ OpUREwtY5XR9RqV3XYhvrVIuwbyPECFV74zcbmPvtlBaJsiK9bYEKav5umvc2MsKhXLO YvP9Z4BEY3gr3en1IbsQJbPYQ8yq6uh3duhgN7ptcKj8RoJWUVLGs+G9NYQJjlHM1YwP 2UdJuZpHVtQYuTz7D0/T01gLZ8tO46+yHKlQQ717z92xfJ/84ijM+xlAP0PzgKyfNB1J 2qRw== X-Forwarded-Encrypted: i=1; AJvYcCWVmzxl/jHx0k+Gh5JmBNNkYtows0h4PYFcBw59S7FdxC3q0enQcpOHmclatVHoJvyXWFIs6Xh4aaCOVyY=@vger.kernel.org X-Gm-Message-State: AOJu0YyaPO/ckl2Pi3bedkoYMgI+FLiwMw0sP94KjwytE3cp+u9vUQpq I2+g03HhwvbPqSDkhsuax8QHvuTiQ0VTRBcRFsqTUcEZK09/SHA5Eq1hWGcLqe+dAg== X-Gm-Gg: AZuq6aJIdHr9eP4dD5btaUzvfWr51E/sUVR9cNZ2ebSgbD/GMb01Y2W+khE9/HPblVq v5X5MdjkRi18z1eviFC5+hBy5EcpJ3Atw2BPThSyxgUKwLtgSkZH5emP+qJYAiA/mNW0nZeabLf OsdFIlecU1uKWdUuQvt8tJXPnD+SSKUrKAJ0scMHsIHHyMQD/vOiCWMkaivk9qO2A/4yCrLh1iD uEc0i/wybDqDgl6RT4JT+uYKBOpxVjfAooO8xf9HBi0YS1f1dkg1orqQC+owyW96+GwfSk7gL6L mArdfKap8mxbAe2XYI/78IAkMf0AOOULP70v7WpaCAA7wRHQXa4I/ZwUG7T+PKKrFb946idcobt X3RNX0WiUJ24hQmQRvFLPndtRe+b1QWvUrtGpgecJM89FGQJUF/OeBRm6XqAqIvq75fdF+YD7Ym 8zQ2u5R5tbpucrgMbGXisEVULdSnw= X-Received: by 2002:a05:6000:2c05:b0:435:e440:f518 with SMTP id ffacd0b85a97d-4378acb17dcmr384254f8f.54.1770831265487; Wed, 11 Feb 2026 09:34:25 -0800 (PST) Received: from balto-ws ([37.228.206.31]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43783d50f24sm5885498f8f.14.2026.02.11.09.34.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Feb 2026 09:34:25 -0800 (PST) From: Fabio Baltieri To: Dmitry Torokhov , Benson Leung , Guenter Roeck Cc: Fabio Baltieri , Tzung-Bi Shih , Simon Glass , linux-input@vger.kernel.org, chrome-platform@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v7 1/2] Input: export input_default_setkeycode Date: Wed, 11 Feb 2026 17:34:20 +0000 Message-ID: <20260211173421.1206478-2-fabiobaltieri@chromium.org> X-Mailer: git-send-email 2.53.0.239.g8d8fc8a987-goog In-Reply-To: <20260211173421.1206478-1-fabiobaltieri@chromium.org> References: <20260211173421.1206478-1-fabiobaltieri@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Export input_default_setkeycode so that a driver can set a custom setkeycode handler to do take some driver specific action but still call the default handler at some point. Signed-off-by: Fabio Baltieri --- drivers/input/input.c | 9 ++++++--- include/linux/input.h | 4 ++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/input/input.c b/drivers/input/input.c index a500e1e276c2..d3a1878f25db 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -800,14 +800,16 @@ static int input_default_getkeycode(struct input_dev = *dev, return 0; } =20 -static int input_default_setkeycode(struct input_dev *dev, - const struct input_keymap_entry *ke, - unsigned int *old_keycode) +int input_default_setkeycode(struct input_dev *dev, + const struct input_keymap_entry *ke, + unsigned int *old_keycode) { unsigned int index; int error; int i; =20 + lockdep_assert_held(&dev->event_lock); + if (!dev->keycodesize) return -EINVAL; =20 @@ -861,6 +863,7 @@ static int input_default_setkeycode(struct input_dev *d= ev, __set_bit(ke->keycode, dev->keybit); return 0; } +EXPORT_SYMBOL(input_default_setkeycode); =20 /** * input_get_keycode - retrieve keycode currently mapped to a given scanco= de diff --git a/include/linux/input.h b/include/linux/input.h index 7d7cb0593a63..06ca62328db1 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -517,6 +517,10 @@ INPUT_GENERATE_ABS_ACCESSORS(res, resolution) int input_scancode_to_scalar(const struct input_keymap_entry *ke, unsigned int *scancode); =20 +int input_default_setkeycode(struct input_dev *dev, + const struct input_keymap_entry *ke, + unsigned int *old_keycode); + int input_get_keycode(struct input_dev *dev, struct input_keymap_entry *ke= ); int input_set_keycode(struct input_dev *dev, const struct input_keymap_entry *ke); --=20 2.53.0.239.g8d8fc8a987-goog