From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f50.google.com (mail-dl1-f50.google.com [74.125.82.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 22D52347C7 for ; Sun, 22 Feb 2026 00:37:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771720651; cv=none; b=SnjcjJYDpdRW8kRRtRT4Ra14vhmUItvoP1XZwjJFgmh/luqhATH7i3FapBFWMzDW/sJruECfT6RHhpDMqbBXofkZDhd3wtQxxswkRaMeBwK7/m1HQL7X1aYGH2qbttqP9FJYXvrcUIwvlR9TVmSD5BoS/2cRQFetns9OpH/ags8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771720651; c=relaxed/simple; bh=79Tv9tRoMEQ8y2QqVKokbi5C0O0eIUWbIEJdGGLSgh8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VIPjtlz05PLUxb3uWfRtVGR6FpU5OB63IcNADva9KKNb546oD2/HQepiIzJBTN8oq5x8Se0i6JudkbEyOY03zvBVRDVupwTVZenO//BISufhoIl8izM7pUWgndLB0FRPgBxiqvOPLcwvRSECeniaPuTyh8JC/MqLmnXqldcj8Ow= 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=gC9YrZHW; arc=none smtp.client-ip=74.125.82.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="gC9YrZHW" Received: by mail-dl1-f50.google.com with SMTP id a92af1059eb24-12721cd256bso3643305c88.1 for ; Sat, 21 Feb 2026 16:37:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771720649; x=1772325449; 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=F2zPNTCZUxKLns6t4TdoBG+3JsE9yOyBYeDgC9tcG8I=; b=gC9YrZHWj/T/esAtwejv6HRbZAMu+Y6naO3ANcnfMlp5miUVLOX137X8wNjwbQ5/Ol EV985jAcUaqi7pgDHsfXwyRdMfmSh85svG9kCoMIzVS8UMoUx3E6nVmi2coBVK5fR/yI T50hPxpjlpSm5wzMOy5nTjxe+83leNFUNBUnKUoUmnxGEQ9Kf3qFNU7b1sAwGB0HyoMV ozj2Lcv2DMZbtZteOiQziEosXiCKnmqPFwB7wEpP+DTP1zwe38xJRirzx9L7CjG8Wbr0 H1siSdJZux/ju/LvcklQjuSV9YBBfYgkVFkLhdlJmZuVayWrVjdS+0UlKzVFal20xoPu wAbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771720649; x=1772325449; 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=F2zPNTCZUxKLns6t4TdoBG+3JsE9yOyBYeDgC9tcG8I=; b=FTq1ulr07MywArMbXh0IXPixi51VTcp9IJYTWmBNeQKTXM8HQ1gP3255z7Iiig4HZB tBwRcaVKh1tCZm/g3N+GTerbaXp+Vo85N96A8IBLdZP15ozfS8tDLas1C8H1errfp6AS CKgPOeG3aGLhSQEcSubSY/FPHXGaQ0qa44CHjuJm73OAqO5V/E+mgGYVn6IMwxYWewaR sWZ2E2AXQdXkF+9zk3kvGdQFj+o7EFz9wRRtEWQ8QOr78tAOIdlFoXpXh1iIpvFuypzv bbsO3Uw3jxehOmRKDQH4Vp2ZmE+EjozNZJhw/LEJal+BXxLv/KanWWQ4bpgd8YN4zyGS M7fA== X-Forwarded-Encrypted: i=1; AJvYcCVIoyBR4JaHx3wJ5DbkBNGcIQxA8d9cDSLGvvzPlK6UKnOPGFWwWAq5DawRnmqO3yEMnf6fCfdZC+4CfMk=@vger.kernel.org X-Gm-Message-State: AOJu0YyhaR0vNfc6lvaRYLJeulLGRQbR08G5QPD2XPzrP79UcbTPg6ZS 80O2Q92JETCrn/RNllDJ1EuO2SwzdaSpUaTx9wTGeTpn2rwnD/rjeF4t X-Gm-Gg: AZuq6aIpwOIhDpZzfiedijWfF9yakAsZuryuHQFWYQ3J9g0IWrctgqDfIZLvOEkfBqk Ts9OsWIA6JnhmAf2w5d80C3sg3BwUTa6i7H3hKYkZCFq7o+5F3uUezYgruD6/Yet0lfvOnkTmB2 sfq8CxgwaA/9FYEPHDbVZENyXEBBTjU4ssV+RehYuCLnVmcyeqAmxAD9tUrtsVz9jis3FNP1Kch x9Qj9ldcZsVa75+rp874cYucSGwSrZusrUXHVmM9uWC1UoF0/dPKYPxNCk90UCpW/5oNBgDXbxp pu5bK5mxO+lZT9SBJph+un3L1f4SA5oEc5CZOH6H8viHMtm+1p8PVN/BcIiOumVYtaN3RmXE58w +abaXhrIOK10FmYH2tMdiEbnzTd7k7wnOpbpZPH+arulpgTrSBduCIhQndUpyCLTuvXW1PabToB YtOwCXugJbHYIjp4jj3mMheDOgLQbZjuBIfCbRVSim8+AQBmEUtjeu5kLUlfg9HfI3UnHrYDTOs 8RnqY5w0fqhMyMgrvSdjXLN X-Received: by 2002:a05:7022:4182:b0:11b:d561:bc16 with SMTP id a92af1059eb24-1276ad18725mr1911089c88.22.1771720649210; Sat, 21 Feb 2026 16:37:29 -0800 (PST) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:73d:b075:516c:4a69]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2bd7dc167d3sm2383191eec.24.2026.02.21.16.37.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Feb 2026 16:37:28 -0800 (PST) From: Dmitry Torokhov To: Fabio Baltieri , Benson Leung Cc: Guenter Roeck , Simon Glass , Tzung-Bi Shih , linux-input@vger.kernel.org, chrome-platform@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 6/7] Input: cros_ec_keyb - do not allocate keyboard state separately Date: Sat, 21 Feb 2026 16:37:14 -0800 Message-ID: <20260222003717.471977-6-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.53.0.345.g96ddfc5eaa-goog In-Reply-To: <20260222003717.471977-1-dmitry.torokhov@gmail.com> References: <20260222003717.471977-1-dmitry.torokhov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Now that we know the upper bound for the number of columnts, and know that it is pretty small, there is no point in allocating it separately. We are wasting more memory tracking the allocations. Embed valid_keys and old_kb_state directly into cros_ec_keyb structure. Signed-off-by: Dmitry Torokhov --- drivers/input/keyboard/cros_ec_keyb.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/input/keyboard/cros_ec_keyb.c b/drivers/input/keyboard/cros_ec_keyb.c index 1b4ee30e1998..02176aee0530 100644 --- a/drivers/input/keyboard/cros_ec_keyb.c +++ b/drivers/input/keyboard/cros_ec_keyb.c @@ -59,8 +59,8 @@ struct cros_ec_keyb { unsigned int cols; int row_shift; bool ghost_filter; - u8 *valid_keys; - u8 *old_kb_state; + u8 valid_keys[CROS_EC_KEYBOARD_COLS_MAX]; + u8 old_kb_state[CROS_EC_KEYBOARD_COLS_MAX]; struct device *dev; struct cros_ec_device *ec; @@ -750,14 +750,6 @@ static int cros_ec_keyb_register_matrix(struct cros_ec_keyb *ckdev) return -EINVAL; } - ckdev->valid_keys = devm_kzalloc(dev, ckdev->cols, GFP_KERNEL); - if (!ckdev->valid_keys) - return -ENOMEM; - - ckdev->old_kb_state = devm_kzalloc(dev, ckdev->cols, GFP_KERNEL); - if (!ckdev->old_kb_state) - return -ENOMEM; - /* * We call the keyboard matrix 'input0'. Allocate phys before input * dev, to ensure correct tear-down ordering. -- 2.53.0.345.g96ddfc5eaa-goog