From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dy1-f175.google.com (mail-dy1-f175.google.com [74.125.82.175]) (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 EF8EE3CEBBD for ; Tue, 16 Jun 2026 05:09:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781586564; cv=none; b=uDxQxVkyvE9DpMG6QB66Yx7D1ie0yxxOh7m+gZI0U7GrupTkI73rqeiFqBnoCjIOwPyQ1vRlz0fPR4JFojeE8w6SkjJ3YFWbpB1xp2PHblIeF3PNhV6YLTgW0XUsODPcMGHFvsSEHSIouV3sngmpONkm/HEJvSXMBLmNBxSDBYA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781586564; c=relaxed/simple; bh=GK1wI3225NMgDBnEbowYiQwyqWCPx8A8P1f0dLfreGs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OLz9hyZJp/ePNoxRimjdZlPeH1A9PxgWioZb1PCxyyQktdzkIUB2myMovESjGd0Xbo5R4iPL9GKwVHEXzSs8ybQHJ5Jti1j4V3lJrxbMTiKgK79pPV2hxXDLPB/hQgQZ9dag8PTFIRmCjMY+4+D80281Dg8D5wDgwh4pljlTQzY= 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=XVo3FZbc; arc=none smtp.client-ip=74.125.82.175 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="XVo3FZbc" Received: by mail-dy1-f175.google.com with SMTP id 5a478bee46e88-30759632453so6205096eec.1 for ; Mon, 15 Jun 2026 22:09:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781586560; x=1782191360; 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=/OxpBqSdgh4p6bWdT2Yy06CYj/kPqc8D4aKFBYfJucc=; b=XVo3FZbcpjyZz1ihkqkOg5mFkTZ1LJ1hBgP7H1xm+IKMaSG76/T/Ia1JfykPP21Fbn Boz/s6r/0+4rI0YPZ1pEK5TtTQVvYZePkmMG3WQN7WyPWew44XfS56c+w+oBVCBIm3XU d3H/TTp1BmqCBsQC6C9qkPh46hCf2G8rrAv3ZT3rD/WfHDvi1riiAcJp+TlaQ1DL7/M+ 4thDlE5xFzc+mBnUJu5ML0htH/zxFnGYhPjUJLElUVgEB6MeJIkULZF4ffzNEaihdVtk b20mFbZeD2Vvi1r+AL0K7fjcSKvrKmVyiMBPNiLtLgUSB5IQKroF9s0LizfIHT3wGKHa iAkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781586560; x=1782191360; 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=/OxpBqSdgh4p6bWdT2Yy06CYj/kPqc8D4aKFBYfJucc=; b=jVInvgZq8Jkpufa0UJxFsrZHur/a2ZeypLc/HiRUCTQx38G/tDWZ5njxz3+P/AChxI xBjzUegnPDPkdJ4ZqeFhAkipV3kGJvy3IZC7DJ8Vu15ZGeiRuHpYzV0ybiCRLKwxcO7B XZvgum7uHsVVIyR+DESiP/t3Adi9rjMjnZDDSgd0juRx1nEuQxSgGDZftTm7DuJ7Q6nM uLmt46emsafX5g+wXmwCjPxM2C26q5yreXBguk5dzXWXPpLj7Sz2zxsGm9AiFThuLoJa gQ0BEeEjD9eVSeOZ2qiKt2//h9JmiE+oCpCPsYtrA0r6ebm3p04K+km6xuR4yUob15Fg cPsw== X-Forwarded-Encrypted: i=1; AFNElJ9+d5rfcEN9yIh+hqxuZhRwXV1WyNRgHNttfGtlnA7vRpYsHqai/82/ca493pERTswurpGc6RLoK/bqp1Q=@vger.kernel.org X-Gm-Message-State: AOJu0YxIYKeptqQuY29ACf3RNpTv8HDnk3e6TvPpwjMNpYEsqds+9BeO OXJWCPDdEHyiMWe4Q0EwJcIFVeKguCZAyTbzfWCCMH+fyVgEFE1yrNSa X-Gm-Gg: Acq92OH8eE6o5Q5lczhkX1xZfFlfXLo1dZWTjMQQ24uhFBXjQtQiRcqoONHTtRwuZ1X mu4iIGkFfVM7s2RjOkW4cj31wRQuJfLlm9dWd6FXqBETNthATOr1G6h2Y79tv1b5ZOpXgB13lmq KBVSHJglpoGc5xwW8Y2+jIfV3LgnkgqVc+pU3iy8hcoy1u3kpjEUR+Z6M9KoZHHD70ZSYsSoggn nZBNEhEt4p8LiJBo/ZxaudBMvfaRMq9iBYrYJNSoicwwIlj5c7lfD32y9zSe5P34zFbosSzvIRM rkvVj/GHLjQUvvMRdhUpuozZootOmCOC5Lt5de80wPoaRpsr3XeMzYsOb+HdC9z3WCC/ekLMMNS cyQ4pbKggWZDbpLk7px4fpJiSHUau24DLqTdEVSdu+CsPoczOfWTt84gsyvmV331l7hp0pITR/c SabOj4JT2lB5B1mHrSeWncc9evVEGF5dtBzdXh/uqpZUATnG7SPawJyDd8MRGy/tZ6cLwqUeWt3 i+cIwCCWg4jW8g= X-Received: by 2002:a05:7300:2148:b0:2f5:5dd3:1fcf with SMTP id 5a478bee46e88-3081ff97b78mr11427671eec.10.1781586560112; Mon, 15 Jun 2026 22:09:20 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:3714:f5c2:9b83:3df1]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3081ea4fe55sm17266615eec.25.2026.06.15.22.09.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Jun 2026 22:09:19 -0700 (PDT) From: Dmitry Torokhov To: linux-input@vger.kernel.org Cc: Linus Walleij , Bryam Vargas , linux-kernel@vger.kernel.org Subject: [PATCH 4/6] Input: mms114 - replace udelay with usleep_range Date: Mon, 15 Jun 2026 22:09:09 -0700 Message-ID: <20260616050912.1531241-4-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.54.0.1136.gdb2ca164c4-goog In-Reply-To: <20260616050912.1531241-1-dmitry.torokhov@gmail.com> References: <20260616050912.1531241-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 The driver currently uses udelay(MMS114_I2C_DELAY) (50us) to ensure a mandatory delay between I2C transfers in __mms114_read_reg() and mms114_write_reg(). Both functions invoke underlying I2C core operations (i2c_transfer, i2c_master_send) which acquire mutexes and sleep. Furthermore, the interrupt handler mms114_interrupt() is registered as a threaded IRQ handler. Since the entire execution path is fully sleepable, busy-waiting with udelay() for 50us unnecessarily wastes CPU cycles. Replace udelay() with usleep_range() to allow the CPU to enter low-power states or execute other tasks during the delay. Assisted-by: Antigravity:gemini-3.5-flash Signed-off-by: Dmitry Torokhov --- drivers/input/touchscreen/mms114.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/input/touchscreen/mms114.c b/drivers/input/touchscreen/mms114.c index c2e006ac1196..c59aec8f2feb 100644 --- a/drivers/input/touchscreen/mms114.c +++ b/drivers/input/touchscreen/mms114.c @@ -116,7 +116,7 @@ static int __mms114_read_reg(struct mms114_data *data, u8 reg, "%s: i2c transfer failed (%d)\n", __func__, error); return error < 0 ? error : -EIO; } - udelay(MMS114_I2C_DELAY); + usleep_range(MMS114_I2C_DELAY, MMS114_I2C_DELAY + 50); return 0; } @@ -148,7 +148,7 @@ static int mms114_write_reg(struct mms114_data *data, u8 reg, u8 val) "%s: i2c send failed (%d)\n", __func__, error); return error < 0 ? error : -EIO; } - udelay(MMS114_I2C_DELAY); + usleep_range(MMS114_I2C_DELAY, MMS114_I2C_DELAY + 50); if (reg == MMS114_MODE_CONTROL) data->cache_mode_control = val; -- 2.54.0.1136.gdb2ca164c4-goog