From patchwork Wed Feb 26 15:28:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Markus Burri X-Patchwork-Id: 13992680 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2046.outbound.protection.outlook.com [40.107.241.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 42B2C22F165; Wed, 26 Feb 2025 15:29:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583755; cv=fail; b=Rtxp2BXx2Z3Y2hOLMiizu1qmuBkIm0rspltCFNkRK99VkPtPtNht7OcyX/EvWMoUf6M0cvE+FL3TnblmSNaRRUQcvk6RCAVsWc55zY3QLYXONkqQJ5XB811Dxp0NIVHNABgyKgfMpzFsidyNpFVtXozPId0UXB95+FDbO4CD+FM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583755; c=relaxed/simple; bh=4zxzajqMYeqboauBzwLHMFFhen+VsT5Zz+3TgMSPz+Q=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=fYeAObSpiVpRDWjgrN+IgFlie9hE31FY5NNplKEsutIleMGOhyLyl94y/YPPl/FUdfLo44U2/s7RVt6QkQymp+3/lDdc3Rsrwc0/N8zXGDN9N0f3uP5aQ8QVZ3Ix5zQQCa821P7bY4F3hnCggnHrMthpqolrmc427r9ZsUp3Goo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com; spf=pass smtp.mailfrom=mt.com; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b=uO0+N0VQ; arc=fail smtp.client-ip=40.107.241.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mt.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b="uO0+N0VQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=p/MjwDcnyf/rW8Iw2W/XrlLuwLoNMrMHHftt2qQsxVDHXSYY7vTq0zPjSSslrNh73/Xl2EGISUqsNhYHNx7G4ajxw+kfPrAo180jQGcaAZvdYvTKlp8eVySCJl70xtAWSOO7c3F4IC73ihDulTamxJjwLT4f4nLzu3uxVAUVyfN0GM4hEAO9j1+IZhdauVid1ZNbb1PhCaGJmbXi79FihsNT3iLvPnjh5rWGMxCl65QsopOw6uJcsL16xxZTCX5rRRiOJ5EtEi+BBHP2VhNtAmiFjN2CVafVsUbci2WLbBOKbOo5tmhJFt0trkHPiRnhNb5XJ1YAiu8wdAiof9NWTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CD3uGpn5h6bgj9jBf5Y8YRD2GBXFQ7WQpSm1tJ82+iI=; b=nU1u6dvGLLhSGNcPMEKTGoyd9td8jwJ8icOdW/coBElVMI2x6mfkZuvIlUNQohVLvDWnN+8q1VIAW9cHF5us9D+gSVWzWjxuJYwAemRF+IOsTOSTkh9NCrklVFt7smJwsdga31SLpDjLM7f8Ka+0UjaiINbN+qRR/6xo+Z7U2Hy5nF1Ie9GdkCX2qORLxtL/VWd95NiO+jDghcesd1tKrUzGB22hlkAzVesOMgPwzO2RwVzd3ACCY1bIkVefyj/z4c1/LY19KUNgTVeChxqrERIq5klbr8BfP/huHwC0Y4hVn/jKBpT8/Em6dLlIqsA90TMSVvunVpxAf/Dx0xRgfg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mt.com; dmarc=pass action=none header.from=mt.com; dkim=pass header.d=mt.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mt.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CD3uGpn5h6bgj9jBf5Y8YRD2GBXFQ7WQpSm1tJ82+iI=; b=uO0+N0VQUwXb3fNLt5QyZ1Z/uYxntCc9wfWZidk3Yyl0mXsPZL0JUofRQ7dovipd5NVrb9kCNfrppaRdbGVdW9hKpVx1NLE0Zw6UPE8PzZF5DgasWJyu5lnqk70mfTEhqe82hMqtfcCjkgnYSzFnwzc9Ct4w2jhCiqugAsbgbOO4/qOJSKriWjo8pELDj7zmcmttGYJpgpyklfxFXhO8IjhIke0CYnV7hMG9c4vwEuQlLRt7Y+VBl+bDnzQPwiF7DQ5q+1EbnBRZBwpX4yoAAok5zFzyN9Yw0mqvey04VwHPBIpEHlQ4iiYC3zMoYcCX8YY6mjAOj3aq+d+gU35vyw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mt.com; Received: from DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) by DU0PR03MB8218.eurprd03.prod.outlook.com (2603:10a6:10:321::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Wed, 26 Feb 2025 15:29:10 +0000 Received: from DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a]) by DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a%5]) with mapi id 15.20.8356.010; Wed, 26 Feb 2025 15:29:10 +0000 From: Markus Burri To: linux-kernel@vger.kernel.org Cc: Markus Burri , Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Marek Vasut , linux-input@vger.kernel.org, devicetree@vger.kernel.org, Markus Burri , Manuel Traut Subject: [PATCH v6 1/3] Input: matrix_keypad - add function for reading row state Date: Wed, 26 Feb 2025 16:28:41 +0100 Message-Id: <20250226152843.43932-2-markus.burri@mt.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250226152843.43932-1-markus.burri@mt.com> References: <20250226152843.43932-1-markus.burri@mt.com> X-ClientProxiedBy: ZRAP278CA0013.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:10::23) To DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR03MB5399:EE_|DU0PR03MB8218:EE_ X-MS-Office365-Filtering-Correlation-Id: f5a885b0-be51-407e-e905-08dd567a510e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|52116014|366016|38350700014; X-Microsoft-Antispam-Message-Info: njyXIjofhh8Ni2mZ1HqhBFYB1QY02cTpqpJjWtJx4sIMyESRCh0pxg8we8rJ3K3l75YzhtOTA8J2ylXS4RY2igfMVDyBdpb4nq5uwPk1bEFVTwHPdrG76gx/8CLjoPtkb9+S1umOf2SEXlT/lYsbWjgZECPp7nPefg3236SUKUeBgJepREElwCHmbCG+wmPngUXKm+hmmA09c8fdmdWAzmjKYN6TkSM5FwqHqUke0sWP71xeyYuRkeEDn5S/6Uls3APc47X5bnLi2QP2yLE4MLpI9eCr4VdbVG2KI1NoZijMoMfnF09aaW1jRnpltmx0AF0kewpxsvnkcDbbaD5qccGqA5qaGn+5hTtS40PdHBK2KYBjC7emDyLVPKqpdOueExMmb9baTES2Mv4XwqM9gOo5hqXqfdRjNUdtOR6pLZWr8MWJT/2TCibDKjpy49Dme3ZBuN0L264dk4GyDi68ukAHkG9bSMp/tjXh1P/ILQfTrIgMRbZGz3NiYWK7Y6BIblB8Vb6tCDkAmIczQQbTuxwr7wBmWGeTpLfAJt9RFicfkqn6+TvvuricO0poS5b0NKVRUThF7tTvws2eOmyaBX4RgqC0gddkAt1xmYI4NMrdEGqkc6D9CXD7UUJqYvrMevrMciNL21xY2QAxOikAcx6zlr7miWmLtTMaEqOQweJ3N+5SqJCXtKVk1/dSP7taoreg8HMMxvlze0XvQvodmLnlM867BsV6LnWYiWRIQKECHIo8OMeGoN+RNI8ELFrAGc7C1v5BzQQ5gCYGqGC/ubH6ZJrxPDPT/CMxgj6Kjah9WG/efqmFUb8GsiVaaQ/soYbJqzBLH7pf0vD3h9rKhnbp5JJAdhqAQvs57oUMfimPce6spp2jHij2Mohy19Hb82n0OD1qCjNik97osNPOTIlLjOqf73SF82ibaYbfLvbGOlHlRrfe+LmrkZa2MRXsX2e9Stfm0XaFvf6AdfGQSxYVkWU2IBAjz6UnqGIkqjCi2Z7ML2su7rWDlFiBbZ5vSoDkKaToQCsJroy2xZP67mJwLG/gPVXUk2l1PIK2QsmKT1rRxMbcd0RLLiP4lR5zLp6i3JiVznJ7/jDob79kBbj7TneZdAvcocL4L0fy8sy/uNlMqnxGNpdN6iIfxyyrEfgRnagkCsrmWPJF8CB7ecpbTZmBvMyMHTz4uYAK3/V3eSQKk7FO95/jvzTVZIyPffiB2PzQPqev/6M/v7TtrEKvlEz4k3somCZPtRwgT0+Pu4VxZr3/8WBbaJ3yPxITpXl88tYdv/Dh+r6/2LWlXUK79vAEF3unQmS2CRaBJ+sK/ZpXAc5taBSYYGYWRKAjXjMptvA/mBE1+WmyBy9nCQbn4dFuzjVn9NJhOkSQ3RnS+4zCk7ZHGkY0Bpr9cYcP3X0hrNdZ6XdPYQywkR3pDaRCrRJLT0aaSlr6h2rnNuCHV5mf0RU5pkEU8RwMBcRZ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR03MB5399.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: OTYsXmycUFZa+Vc/XCYazqxPbLWN/UPMEM9KzyPcCxon6yljcbYKCL/C+r4zUq4PaYp7jSKzQQt88ZXiNFYjEni95bqDmkRcZy9Fm2/RbaNIz8Vre/nm44/XU8yrzvsH3OL/IetUmriwmOdMvnwRpGhnU2UoIRbf8aVku2Ff+3ZUMb0wfsyzwKERmFqGAjaAEQl4HL1x4OW1etRdt0eYac/S71/l51EGpz4WqLf9nVCx27rozuuikO+WvHfJSYBpRTZ8XBccDnEza7R8kS5fDbAvC5jkqOygsnCQ3njXTcA2PQT5PQrpARTSw3H7KBZPG+/W3qkahGkvWDeO4d3lslBUiBAgfc0FP5kKpVbumEIOo0gsbiBmhhbLGRfbbGEhHkzcSG8HiVoL83YVgHURO6LDQPERD5+ZfHlz1wzhdEzrwnk8XNPwv+baar2mTjvXj3v9k+jNp7XE3RpVJ0t8F3JmXIYEdIsPk2U1e1ZC5jegLvfD4qB5rGDGROWH8zZe5JYUgU36bFxA7p9cjVev9MFfxGwlV+BQ7g31LAzLn5pSlqDHbdMK40PgBTDPvzzl1dM8QmcZTMbgQZ0EA7saIG1jRCl4H7f98dHXIYsYHy3rQrWt/Edd0im1hcyBz7ZY8W0TZMoNN9uG25E+4tiVgxRI3rfIocMHX6pHadteJPXIu42tC/5DpJ3kdvNogEitMaEpsFX9UhT8tT18ZDgf1gwLVNDbZEhsTskRaiqzHawHjUXKQ1eLgEJs7/yQydF6l9tBuTiwKUrbhbC1GhpEXWmjBf/eByWgskKCvLVN8q/L0EHu+yZF+1UUWuzP3UU1cGdaO1iK+wdn2bmyGIdJysDk3P363rwQOtLUuv/5ZH9KhyfNGGwmt63p3AoZ1h+0pbba+oH0LEFxJd+VBp9W5gXXn6Mtci5R2Tyq9BB8mrmXIL3NDlfaJ5GMLY77jV4sr503nbgo0nvAmoF4INmxK+8MOd5P4hAcDDKHofw/nAZFnnF+eIm/0k8V07w+ZwdtHWFQkSB8diyFExOIrK3cmtf0rcqZVrj+nUN/TDLGCDZnLCLD2EQQADiU8MMdPqZ2QdArGPd+l83rSnCeXBTc/4b+eJzL3ag+sQwvmhGXyqrifty9StNN4srymtrndVi5PYvgBuIKcVFQ3qzLzUNTI6iF33PSBmzx8SkmoN5nFjr2AAPekmgvBM0pRSvUJNM3mKVF6eL+cA3rldW4SQrQna/mwMoGdqkDXWhV5NmGdvoa53T/Nab8Di3eXAB5nfVkdtN3S7MQWnebEj7CR0c405+x2bTUZbqUEQS5Fr9wOFvl6aqQFJH3cUazpBlq/wDQKAKTdz091u2DsxJJAOdH6P+VSRYDrFENRy5UxG74FfXeEiIgR2TeTVo8Faas91kSdlrbA7q718jyGcTFqp75EEgTtByi9nf5FEkHlBIu+NzmG7fLPizd/XQjEMeTsH9Y12V9EqLHc45mqA5XPs7+ncAM68iP0uZnA330EWNqi+hLhuby5/pd9I7/daX2YH3vupVoBIht5YFoZ4u+5T1cY9pGIqBFsscTKqLH1L0iSg7tPN8hq0uSzGx2LSGrGGaz X-OriginatorOrg: mt.com X-MS-Exchange-CrossTenant-Network-Message-Id: f5a885b0-be51-407e-e905-08dd567a510e X-MS-Exchange-CrossTenant-AuthSource: DBBPR03MB5399.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:29:10.3587 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fb4c0aee-6cd2-482f-a1a5-717e7c02496b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hSrAjJbA+fUsE0o4vLJCjgrNJWkl366HI0MRnktpdWTng18ZW3XkbyHYKQZuEDPYm+EdJlTj8Kkd6Sqz7bDz1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8218 Move the evaluation of a row state into separate function. It will be also used by a change later in this series. Signed-off-by: Markus Burri --- drivers/input/keyboard/matrix_keypad.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/input/keyboard/matrix_keypad.c b/drivers/input/keyboard/matrix_keypad.c index e46473cb8..fdb349966 100644 --- a/drivers/input/keyboard/matrix_keypad.c +++ b/drivers/input/keyboard/matrix_keypad.c @@ -104,6 +104,16 @@ static void disable_row_irqs(struct matrix_keypad *keypad) disable_irq_nosync(keypad->row_irqs[i]); } +static uint32_t read_row_state(struct matrix_keypad *keypad) +{ + int row; + u32 row_state = 0; + + for (row = 0; row < keypad->num_row_gpios; row++) + row_state |= row_asserted(keypad, row) ? BIT(row) : 0; + return row_state; +} + /* * This gets the keys from keyboard and reports it to input subsystem */ @@ -129,9 +139,7 @@ static void matrix_keypad_scan(struct work_struct *work) activate_col(keypad, col, true); - for (row = 0; row < keypad->num_row_gpios; row++) - new_state[col] |= - row_asserted(keypad, row) ? BIT(row) : 0; + new_state[col] = read_row_state(keypad); activate_col(keypad, col, false); } From patchwork Wed Feb 26 15:28:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Markus Burri X-Patchwork-Id: 13992681 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2061.outbound.protection.outlook.com [40.107.20.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 42EBA22A4D8; Wed, 26 Feb 2025 15:29:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.61 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583768; cv=fail; b=gYIcZPMa/8rytFDfG4vquicFRwfKQCPYXiJkUgTLoMh5s5vP8Rao3Bny3C4Dr1WpqJqYUu395z9QOsG3ucDInON2zSyFucMq6XygrwBpODcZGQEYvgj6tqBVCAj3FYIuJLzxGiwPvuAWULPgcMIi9JQ/O4nG8WsNe6ni0gnclSo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583768; c=relaxed/simple; bh=F40z4En3IHsolODL83PPxSysQDWjodPKGte38lcrirs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=oDTVIVwJuTv6E4BWWzvcudNqUMkqocaNpWy/YjNVioovYKGeZeFVlgM5yVOKTsp09q5K+jrZPtxWR4bM2RrdLu1CFnGIjMTiHwabpDQFfKpw5tz5eUWEZ51mMDAxFOLaVox+qQ3fYEY03sWOpv0Uk0+uedYonThWSnh3LmBT3lA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com; spf=pass smtp.mailfrom=mt.com; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b=pHQlrFKM; arc=fail smtp.client-ip=40.107.20.61 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mt.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b="pHQlrFKM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OYLt807kWAaMD8GDa8n1EgBewO7gksKR6XIe8S7C4B2Hgr2c6/xqJcybDpHv+UotBCqShthNLcJ51MT4MfsM0q7M7kI3kAsOtAUZRrzLkjUtIfJCE/qyyKeBG3VSXEjn4cXx8jO0fIsjKCJsNNnsrcMjJwTbJrZ+D/wB30UgJaMSaXFFVhGPY7lh70+jKcpT03KYfOw98cacPY+CGUlghxTaqNwVjGMcJOqmvsWCumgbjr9xg7fiqWOq1Zv8hPS4CDNklRo7dkZ9GrbotLtj+FORGfbZ36L7klJIeccxtCp/XP/LxyXOZTP0/wY46uyKcArlYIg14n/Ii1+zKVgmug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Fgn5ME1PJvRVuA9yxp/e/wyd4ESffrBfiDUvxiNJy08=; b=Ybpe5h8txsWYLelk/5j9VgsdwfHt7TeGKfyFO5Sm9D4bpXR26kfhcDHwXA1UCCbgrZao427CLkvbC3lB2Kg0E2COldA15dPIzst3OZb2l3yrQmqlWKKb4tHxiIwPygKn6jGw++zyqCy1zwQN5wAfGKQKWYH2Kc2boBFEpLoX95MM9i4le+Iic0S0bX1klQJ+PjXAh7d6Ckoax9KMZLRMiuv8VmHKcRpaPYpwZbtyMJkftp9Xs+gCABf18ukoG/po846WnzIiPsonvrGbwGVjgfPZVjW/NvR14H6Q4jsBs5mZzYG5ugOxHAtSIddMG5V8L9ax0MzH7qZszBlSBzICLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mt.com; dmarc=pass action=none header.from=mt.com; dkim=pass header.d=mt.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mt.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Fgn5ME1PJvRVuA9yxp/e/wyd4ESffrBfiDUvxiNJy08=; b=pHQlrFKMvTZjbaNLvCpkIs3vlUIPlJIaCEHmDOHiTX4DlkkSKZtC+cV5zUFMGdqzxMIFwTeVJAqsjHbWZMMZgAXc+n1/3jTb5URQDoVKvuvPhbccOqQUlzat9bxwK63dcf2bjX7qfC7BAM3ofrhxAdbsFAUE8ktulvcVCUQuwrkgNzL/+f6OtKOtwo8mpFEDZMApiaFX7jm48/HudOJC1BeE2gjnPhMZfdMfGIJqUyN7zjr09lUD7ehwiOYY1c6/Mv+Dy7RrS0WI9Q2lHFbRiswIxfhQbVjCNvIxtM+Nk06diH53t44ZFyAqVbVA90U2Bp6n/4/IvR9V8yZJ7eglKw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mt.com; Received: from DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) by DU0PR03MB8218.eurprd03.prod.outlook.com (2603:10a6:10:321::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Wed, 26 Feb 2025 15:29:24 +0000 Received: from DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a]) by DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a%5]) with mapi id 15.20.8356.010; Wed, 26 Feb 2025 15:29:24 +0000 From: Markus Burri To: linux-kernel@vger.kernel.org Cc: Markus Burri , Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Marek Vasut , linux-input@vger.kernel.org, devicetree@vger.kernel.org, Markus Burri , Manuel Traut Subject: [PATCH v6 2/3] dt-bindings: input: matrix_keypad - add missing property Date: Wed, 26 Feb 2025 16:28:42 +0100 Message-Id: <20250226152843.43932-3-markus.burri@mt.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250226152843.43932-1-markus.burri@mt.com> References: <20250226152843.43932-1-markus.burri@mt.com> X-ClientProxiedBy: ZR0P278CA0072.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:21::23) To DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR03MB5399:EE_|DU0PR03MB8218:EE_ X-MS-Office365-Filtering-Correlation-Id: ff190659-45a7-4ce1-9e44-08dd567a5925 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: 06HsAuD4DyUjNPs0pH/OyiBS+3MAGgDOMSE54A9uYQXvA7zQRiCmxdFmXD0PLy8rcKzdGA6LgJbPQeOOjzjKtcU4u1zg+B0vWesQh770F/LyBySXR+pkawxVQz+F/qYsfS4cbtpEWplI350NnrSV4uR8iiFktOJ4FSnnjJ24W2Cc5IJXJy8MEbnIN9ZqiBia2FyaY2BhkMw/mrQ7XYugdiNaJp6T7+FUJlkVy+khdlOxKAZumaXeoPR6F1o+PlpbsE8zN6lHVClahIqZHLaROFMj8HXYlrVfu7vC59xBWT1zHGMpF+zyUjB8nVxnCeLr/2aeC0pmuTbRGfx7836cWkpQ+5JHDaxBhsWHmKk5nfSUV4klhTiNQvdOC/Waklhcj4DfMES/JDm++doWJZy4ylzznMuH/LHkBv88Urz1cZvD4PV3k5yXDwgWT74+MF1DfTKKnhjsM6i0FheM9ugcm/bIwzDq8uvXTkHvfSXEqzwdGDFYENetgqhl+ofIIfPhrIIjWPL3j/8htBd1MhyMtTuXtNbic0TH4vNZboTemvwjhqn5I9YX4QqMJdS/qyiFB35NES1z1rbKnZmnhKj0dG9CseSeFoL0cxnOTYRM1RGMNQGJe6HrfQ0MvRwR4Hrw+efXEIDL3kgLf0tHyCW0WeU9gE/X4MUUpZgaXsel/lvVs5tOwK/r2wtrJMMDL6oqFpBJrnwTgKFFU884srUZbHWhA/NlPC0yPbyKWTcghMGJNwn2KvS6KaV9o78uFCm62NdJp17nuVqtUE97MJEpfQMlzdj8IUzPysa5AWLPCWYMMYChe1ynIj/X92GxyHshNTVujb61qe5zQXSHZNjg4m8UubQaZPLUjTZhDBpZc0XNdRo/xcX2Ij4zJ6DxJ0SeUTNOXbJROlEHqEm2h8s9Bq3HsHG8X3rVbwXoOaUVW51/DA+5xmaHuOroFPtaeii1wakalsVfbcKeWvF7FO16wAR5jNy4AITN+/KmdyfZqHuN/xcGpBXK3XBfTGJAh5xWEra4Kipua88/x1j2PJkm4Iug4NMsoBMN3jyK9u3B2jm6DNCzKSiAgb2vqH0I5ZNJOEjZdqjmwtETpRa2j69A3d95WnGkNYhmNNZqTWUI1ewudhcl9I+yxg5+vuSFOqE9nH4GLRfI6bSa1sxKukcrdoWD21/MpOwqbEk8O3aF6P5jqRLD/RYPqP9iRhXuUZWx50eOzJpytCWcROQbYjFFYdprkqTBiJsi7aJ8TDRuOC65BqxLYBgq11NgdQKinjxCgvR5g9OJOvna+0/Mxn1faqq0Kye2izHJpQ/YCy3IQ6Wz/Ti5bSUyeNzNw+VRWY7zHFB14uuNX1DJcyD2YMgbtrm2Z1BMsh4aECIRywySS7LS1DTTT8ZhM2Vrlu4+rGw5Ty+ePfExxqNFm8zbOcNCQKWWK6SvWrVciXbWEMwWtSe0wbL5UShfhHD3GyOl/0Kv X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR03MB5399.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: OW6mJfGbbW61QvoCvHh9EBrHmgTSUXShPoWin4ZILWmVmnmyDJ3rsNhJG7O/kpm+Qx3vQP5a6WYJed9DbKsbIY/a9ndvq4GLP9q1eATK+pPLStvpXbogYcnGqeUWRKW8mpuzRXbzj6DwAr/iYLcaedIiGWolZ6N74zYs1tA2jhDh9lyq/YQyhOed4IrlV9vb1ZC4bKyVj3NtfCKBvMZlTM9X761zgc1oU7ciLPGL1/6aANkKzAd8LWXfSIJIeauobW/4pRt+2bS3mmVecqtwGK/FJEpCEjenkLTP2xQr7lxFvJseN77/OTp9Gd0WQ073w2XBZ3oxd8vX8dwH8b/Cn4Ejhwak8Y/zqm/9JCqPlAVwj4lrSmWz88HxjduJrx/MWx8IN9jUc/vapzNTMaJH26Nsq1S7SXu7naYi+uUk6P9qN+c2+9g3y2C+JwkK0mZgoAQXFpo9RnU/sA3utUlSlPXbacub6h/qZeVCkli7CU8dh1qVe6XoDTViWgbSqmmXKQe5PQsP097aKYlUVS4uu4/pUVrKR1ePV6ppPCdtxUpHnSFxXwfNMSrmhaou8SU6p8OexVfM/W7YHyQiakjk2obbvOs9Xhn2lLZtaO0lHEWrTEvUmymjlVU1/BCxl8r/NyNB5zd34JN4y2lnl3DZyX4ko8nMDhtHnekx3WVxvUtv8w6nWcHYkDUWoFuylAKwO4Z2RbuDdTcdnvGwrkHCXb1gDVUM9+mO/hkcUKsCa1tfR3pgc1d0XsfhEs9XrREFO32BEVfQPH63AZO6kjr24nGbEnBiQ14GvSD7ZfJWruSPhyG321ep2Hg0NIAtA+IvkH8QkToQi7f7l7czd+B8pSu9TuEOt+IKJ0W4YworZK18j4f0cdm/V1fpOZmsN7hVv3j0wHGrJHQqEeOIRCR6UjkL+TEurn0spzJNmEJxw7SW0VSQU9SPzgo/kt6LNCSwJ0vZl9TvRx7+G9kfK6Ac8FTKDvOgNMfwXPJckLKGX0rbhusCKMsgZc6rt5hBLiSSouFy4A6JJj4wnxzOnWp1FtKIpqeIKiEE2vag7a3FnzjcwVwCP99oHivcg57rM881gC8AeN3HzU70Enm3tdEo5+YMgoIGgpjBM88TZoZYe8Dp4GAx9ZHdxFfztOVlQu/meFY9cRiW2gXl3eMOwEBEQkjmva6yhG4dHUaIeuYYeaFwPXCfrz2t+D9JAfiyvsKfdMGrEnCAUE4gz689AMg0VHocGxh58siIiwouNbyMcrB0p1m6wTgLZyf32dN5olsJOdQf0Opc9/vwz3leije1MyAGZCyRgUgbkz9rJXOvzm9jlJQZjf50D5NAjy2T761OMEhC6vMTot1QcbbsQErqhDUj5JEepFEuMfgT6kqbIjq4OdF1tX/cKeoEjIZV+di9OYbnPaCVUI+psYnhubQYZLqQH1oDrm8QUTroy30Ye6EhqfUAVlRD52EY3fAOck8pxlq4sGoTqYnJzBOxCTZCYag2fWmzKMCizDo+Rgql0j3iVinFwCXpbk8jN6jXmKU+soeos/bPPhc2u4xoaC2tTyaeRvimrRAedC0XfimiJbnWcvJnyFZUYXrecy/OBSDs X-OriginatorOrg: mt.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff190659-45a7-4ce1-9e44-08dd567a5925 X-MS-Exchange-CrossTenant-AuthSource: DBBPR03MB5399.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:29:23.9490 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fb4c0aee-6cd2-482f-a1a5-717e7c02496b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1YsSFBSP2Dtb8bVAFA2AqUDty/owU6VuyLqjZ7kaMFNUxcObTD3nG2tTNNpC3xD8X9dOdSrrGm8B9i1N5vH3lQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8218 The property is implemented in the driver but not described in dt-bindings. Add missing property 'gpio-activelow' to DT schema. Signed-off-by: Markus Burri Reviewed-by: Rob Herring (Arm) --- .../devicetree/bindings/input/gpio-matrix-keypad.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml b/Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml index 4a5893edf..73bb153ed 100644 --- a/Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml +++ b/Documentation/devicetree/bindings/input/gpio-matrix-keypad.yaml @@ -40,6 +40,11 @@ properties: type: boolean description: Do not enable autorepeat feature. + gpio-activelow: + type: boolean + description: + Force GPIO polarity to active low. + In the absence of this property GPIOs are treated as active high. debounce-delay-ms: description: Debounce interval in milliseconds. From patchwork Wed Feb 26 15:28:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Markus Burri X-Patchwork-Id: 13992682 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2066.outbound.protection.outlook.com [40.107.22.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BBE2122A4E8; Wed, 26 Feb 2025 15:29:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583779; cv=fail; b=PxPywBktHvTzjOjQbzZXcX3myJOrjiNBOxAqMTIghqvOevC7Uw7o+u5bpfcJPoLrbvaxwa3KETF5iUk+QmT9bqsYO1o0mBrD+hbwEA5EJoddAmIPH5qMjdCCFDgNvVIX0n43a0MHJ3EosS4WyoGSFnFAnMmPqpgKkBTGZw6xIOQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583779; c=relaxed/simple; bh=y2HxHuRFLKn8DTghO+TgZ4Z9JNjEebt+HpbJu8eOd0U=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=b7osAOwwPxKmv2dyr8SdhU3D84PCMH0lgOvrGiUEidWiGArl2VlnkZdBR7n/+4uNs8fgg0jXG0fyExLjx3VFqHk5fPZi0zFL+exEL6u34xjGHiA9nC1PAyks93k1ZlrkiA6SSbC6jIREjDCQ0mqdgVR1/xiglY6AStPH1kiLhBs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com; spf=pass smtp.mailfrom=mt.com; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b=LmlyTE8z; arc=fail smtp.client-ip=40.107.22.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mt.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mt.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mt.com header.i=@mt.com header.b="LmlyTE8z" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=osd2usyBVnAVUZsHkC3Wvz2WwaqlpUPnUfWogLSmG4jc006rARvsHR2mv7hoJ6Xl6PY5T5n1ORqZppZbSt+7L9bn822srLjERR12pdPyGClhf5oFdwldNF/UJqCVBlXbJmxlBASEqMEssnKBems/uewxLSSKEkV7rVh0xwDwxC6ayDRcymdfGws8MIqkSRiyNBiAhUQusYrZpIG1iGn2FvcG0ba7rEIKw5We604vsSGeEpd/MmrOWJA7yl3U6VZdPJOQwb42E+W8DdmWTLZT7w5hC1P4pK7795E1esOCPZv0iLfU8J+4bUcK8+rucf0e81FRlT4tbTTgEWog2Fjkrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QB2kpU5Uv0L30YKYAGkR1NVDT6pOy/h1j/mnSrcsLgI=; b=yHpUgWHRewerPoPqBOLCuH+Ctre/9lFd5WUWHmowCF6qSlbIp6wwgb+X/0leprdvm4+dTq8cbQkfVuaXqeagA00JeQym4sSeKnbuKoFutnNoNwsyUs+AGe/mn+EWRXqnpTDNuS0lYpm3UNwZRhr5ZeNZ/rk2iSEwQ1HS+/1lY5nUVysMbGnZiAQapuZf4q5B+JOLmvOi9FaUhuBUH4BXMmQ2PI/kVpt9WoFlMqLSf6RC9nC4x7ZdmRW16nWX1lCTCtEOfnXrMXgmrAMpvGwY+aCregjpt58CEf5q/z9+oGDh6NFn2YkwypE294XnkbDQHMi/GJpKFWhGVMqMh4mLAw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mt.com; dmarc=pass action=none header.from=mt.com; dkim=pass header.d=mt.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mt.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QB2kpU5Uv0L30YKYAGkR1NVDT6pOy/h1j/mnSrcsLgI=; b=LmlyTE8z/iPPPJ1D2xo9U6WfOIKk4xalG8iWJjjTS6ENRNSmDOGMolTkJlgpSPeMJM09Qfit4hB+4Ta/nGnVB5p7y0Ty3rMjk0OQPxVwoM0R2Uqa+8SoKGQnseLsNZHayLr0Hh/ZfQtJrSjfLVm6GUKaDQjbejI5skBz1ek8GTLDNNJCsQYRJrhLJ9/W4aRRFPUbcl7SvFhV4Szl1HeL4rGgPrDkX5LKjOyfwHLsuWadw+IEJhOheeiJj2rVHSdP+yv1MZ/KWl0H6pYVTh01uC6jz/MIVORb21H/OvEuRSX1KCiVhftbk2ujnAOGmA4AB4bmAmr3ccrbmNBCdFAiRg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mt.com; Received: from DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) by DB9PR03MB7194.eurprd03.prod.outlook.com (2603:10a6:10:22c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.18; Wed, 26 Feb 2025 15:29:35 +0000 Received: from DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a]) by DBBPR03MB5399.eurprd03.prod.outlook.com ([fe80::2fec:64f5:1893:f53a%5]) with mapi id 15.20.8356.010; Wed, 26 Feb 2025 15:29:35 +0000 From: Markus Burri To: linux-kernel@vger.kernel.org Cc: Markus Burri , Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Marek Vasut , linux-input@vger.kernel.org, devicetree@vger.kernel.org, Markus Burri , Manuel Traut Subject: [PATCH v6 3/3] Input: matrix_keypad - detect change during scan Date: Wed, 26 Feb 2025 16:28:43 +0100 Message-Id: <20250226152843.43932-4-markus.burri@mt.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250226152843.43932-1-markus.burri@mt.com> References: <20250226152843.43932-1-markus.burri@mt.com> X-ClientProxiedBy: ZR2P278CA0048.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:53::13) To DBBPR03MB5399.eurprd03.prod.outlook.com (2603:10a6:10:f5::22) Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR03MB5399:EE_|DB9PR03MB7194:EE_ X-MS-Office365-Filtering-Correlation-Id: ac2d55bb-1559-43f1-0b0b-08dd567a5fdf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: Qotn3rrdkhY2QIsOcJJoM8z/7gGDMZSzn1dDmP+fZewBrcOaiMZta+gaFhoeJ6N+ctXC25Z6UcLLw8SVlCOy8m+E1m5V4zTrHmQZyXyKqYzsnJXV3sPa/o+SRavEgWRdtSazwAhVrpUwU4Rx8SSi2XFkmECvKsyIudkhusiXrbnTsDY3vKcwFrhC5QnW8+zmbETnvbQfjGb3CWHtw8LGW+BoutVuCbku9WVvYQQZe+OmSTshh9bmyZgytKYKCiDeWFxbfQM2WJRXGlp/jawVnZwRO+B/QEf7CrYJow+AkdmrSzYwMum0CPTC+LGzmySWvNWruMidqzxedn+ZqLTZrYLdJDtIlMNXEOAr+2GGxwL2ea2hfBXslycAX21ELoNgqYU1RGUVh4BQVlpHdSHQ5QjMcQXgb3iGoGWWd6NFx0qCf/AjVuITLA+x87XEniXvZle3HDjoXnPplQjFhxbgfkzByhsV7IPto2bglB5o77CFh/ifs1arTrElnoXu+79RrkAYsBMT0g1ERx+HDJUsgwV5+tr+mOL75gxBmr3OHdb69NXLjZoEzsG9htzVCJk4Z39ooXFA+J6JuTYnFkFRnvTV58gMT9JnlJY3N2/eEjzG4Vb5SbTUoIIPDANjqKqnUAZKZ1WFFQp4voy8ZUoJ0yj14sUPSZJ6lrcR8JH4bdo8RmHFTvYxTtoP+884J2B5KnB+Tcz0pRuJk2qWp0djL1ZttG3es5XhYA6wzUiDI7B3m0o2tsozTGSIrrgBHFcAxLl2Ca4LoouwFrPY0fXfwqQfx0V7gU7c/NFW3uVImt0PPwlaREc/WwVHjFo0jEWkqliANYzeIcHkf4whO3mw/gcRi561Gg3AIlsVuw1B1zfnAJS7PN2sewFXcLKcWq6lcfcutpWegoWh3DS8WOw4V6ZrGyturCSnJdBo1XqiA91UpdI/+0kXs/RS+LzdMVSIiZV19xa3Xtdy2tHFVE8v9nnfVyT3NU+KdIFjDG5c2OwQI6+UlmHtqtTzRj0ThQs15jM83JsfWWQ8kfMCRXoZdLBpwfKdf6hFrWcDWx4V++TXD6DWsO0360DoexJdqFZcRV1XirKbFi/zG1RPVY5iQKISUT5sskAY9Ue8XIxh8F0uP84W9AnuHSOAS0B5/x8fj5SapD+RdG399PYp3Sg20cv0MsQ2slsvTabz8VtY9UpSOz64T6c87M8VlYCSt0YqkoL+DN9b554zS7dERUvOhhaZqq95+FOC45TVzIXpu/xWro6opLvek5h3gpVsVxGeX9UMZtiY2Ynm7EVHatMCCnObpsdX9SXbOowf3tJMK6UVDQ/+LS6gQ50ZrdXBXHAlNJAD2Tgkphi5TZ4/Tn1BjVEWPuWfLncYNUn3bIZQ5VsEOIvqKQHLrHdxCfj/W/dOzgC9+ZMK7Ucqp/mHWFYCfrUF5CllPK/7GqfPTRuRdstKsdR+BWC0cYXcqQ5W6G7h X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR03MB5399.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Pz8QKmgpU/M5WGrZ4/MdsL/2keESa5qD9J7LclEwTMpSvAEO24vm5VtKFgNedZSU5gLhSjqEiSna0zmLQyXDIlY60bQE0Pyh8mShFzvqxwq5aS1XDjJDs0Ij9pIzGrG16nWUVo0nBgNGWOXwhClE8VpJ6ZbY421Tr/yF+DylDwImiN7U0f/0tc7PUqIrSKy4huq04/0RVAG/vV9f5wRFV6wf4OVkCRWiAdvU1jrVw24em9MRp8UMP+hofMgYExCH5veOWf19kkyrnFPYVc3yqQlJBht/1GKC08m23FGn2l33sxrjdVz1fcRsxBpZdDzoG4hdQ9ynM37G+8tQpjMaPR/rg9I6ZZ5Ez7fr7lXzL0EJShSPfX8/90nx+OpiNmQJu80TYoz+IQQhMF10x8S4U8mbJPid9hHJl9gsT2bYGNnnYT3WOgEcVBKBJMtyyCtyANvFJZjpHGaKGJA/7fXElf16CAQ/4GRhkiGSCmYEQIuS1wrwTsKRafbhFr6xIYNmQ7+TSpS8pIOqavogRKJm9nNUBzJsUADq3Dm6qOVQ/NRxANhfUtgjwGj/RU2Wek2dW/R9AO4YXhziJNYhAfPG/lNJ/Utgr6ngS9jDv+PRnPKsMGzLFjeMxjh6cmNoQdmY/JGTkQFk1uItWGC83KmHIXDMxaC20DSRCPvSDZm+b8Wa5YNEbev3PSLl6vYrHVWYTV3wRNUhOnkoq0lE1idtjGgpaYMqTtcWb+t7yJVQeomx8BLH94BUguzpnhgLcdullFh9tYbn8j8kS05zeaYX/KTS9KyHBqasGJ5BctAtxEVrjSki8WhD11ALpv3KQ9zc+i1o67RNBnrhPezZp7aEq/X/Flh60SehTsZdOnjdFOhFlG35sX8xpniNEReatZ3QKxR9mj2P/cDTfX+GVyG0AawvBHyEQPimOzWhPFAWQB+HVDMZu/Ltot0XCuWB3z86dTDwvvv21WInELuXtpypjs5NiNxzaAyW3JkwBoAW/nyR7AT696tot15omnNFFFtB9qlFPd5vt5sUoa4NwPn9y2i0GmX797rzBqzliHUK8FfSAOA7Ns+ZVg3zjgEAyhLKomPB7Yj0GaUOepI5EwPbowcN6JH63ropYLBsBrn6tFdf5rvPBxGRC6dRXqc+X4SJtQPGxJYDehv2c9DvDdfPaShmxCu67dO7Y0c68syJjOHMPmDDN7Ey6b2ThV7EeHc/oFrHrLt8eYoDkN45h7uks2RU/0J7VQTapCU3iUrrm/WMmhS3iBy/Uvqdw6smE/rK9HyJfRvDSa8GHGMqrTGjUYxAffCOvttzGoBaeyVSJ2gN5dIjAXrRxNqNqsZo6ylDaLhzPhYQsRdOi8OKq1netJIQgREXqd6pSrypQeVMfedfcXAO9/boCW9mjbqWyPuPw+SokFfSx3o208Tfh09oXlWZUQ+ZpaSluf9Y3pcLkaY5kf/NOkEmX7bY933VGCxWRmxT4b/Ieo655AEaTxBNkLH6cTyim6Gx9IrcVqBfXhkKtsgmN/8Eu7rTr73uulZ1sx/j9v4Ddt7HvuPRNcfqtpr+BDpcz6fXi1W8BST8ieWF+Fi9s379PIad8aFVLFil X-OriginatorOrg: mt.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac2d55bb-1559-43f1-0b0b-08dd567a5fdf X-MS-Exchange-CrossTenant-AuthSource: DBBPR03MB5399.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:29:35.2037 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fb4c0aee-6cd2-482f-a1a5-717e7c02496b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TxgTX8JH6M2MPBrJDoZCavRaumM3ceoyBbuZ19oZb7grsjTxlA+yz21tltSR2+eKG74U8seMIOnoc7wIAMMGiw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7194 For a setup where the matrix keypad is connected over a slow interface (e.g. a gpio-expansion over i2c), the scan can take a longer time to read. Interrupts need to be disabled during scan. And therefore changes in this period are not detected. To improve this situation, scan the matrix again if the row state changed during interrupts disabled. The rescan is repeated until no change is detected anymore. Signed-off-by: Markus Burri --- drivers/input/keyboard/matrix_keypad.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/input/keyboard/matrix_keypad.c b/drivers/input/keyboard/matrix_keypad.c index fdb349966..e50a6fea9 100644 --- a/drivers/input/keyboard/matrix_keypad.c +++ b/drivers/input/keyboard/matrix_keypad.c @@ -125,6 +125,10 @@ static void matrix_keypad_scan(struct work_struct *work) const unsigned short *keycodes = input_dev->keycode; uint32_t new_state[MATRIX_MAX_COLS]; int row, col, code; + u32 init_row_state, new_row_state; + + /* read initial row state to detect changes between scan */ + init_row_state = read_row_state(keypad); /* de-activate all columns for scanning */ activate_all_cols(keypad, false); @@ -173,6 +177,18 @@ static void matrix_keypad_scan(struct work_struct *work) keypad->scan_pending = false; enable_row_irqs(keypad); } + + /* read new row state and detect if value has changed */ + new_row_state = read_row_state(keypad); + if (init_row_state != new_row_state) { + guard(spinlock_irq)(&keypad->lock); + if (unlikely(keypad->scan_pending || keypad->stopped)) + return; + disable_row_irqs(keypad); + keypad->scan_pending = true; + schedule_delayed_work(&keypad->work, + msecs_to_jiffies(keypad->debounce_ms)); + } } static irqreturn_t matrix_keypad_interrupt(int irq, void *id)