From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.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 7A7423BD62E for ; Mon, 11 May 2026 10:12:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778494323; cv=none; b=m7zw6fcGDzSEKar0V2ZB3DcaVSPnuctMlj75HI+8tDc0V1yyMLkHgpwH0/igIRNhWLmA83ppldHrJDgdP5DszvPuv/4yai5rKmiS0o49frYv4FLWeXbSY/Dp7+jzoW0mbBUL4Cd6zXBS5BX4ks30MvunPiZCLFzfKE793Yco+T0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778494323; c=relaxed/simple; bh=AqGNq/GRlF2foyyUDkaLyparD06ULS+XaN7cqGr7uTQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=q3f0PXLlDKy2f6H8BTLczCZlQuHJV5QW+QtPH+M+7lSC1rG/OZ90mlaN0bg17w2CMD0pkMD0UF0gYTb01986+b71kQRyIUcGvo6Gzn/rPJkPWBHNonB0MQgW8JpUVX8kjhXAuHj9sdoT+M2ZszJuqzX7VfJHulvAa/UMNf9EVR8= 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=JFbkp1Jz; arc=none smtp.client-ip=209.85.221.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="JFbkp1Jz" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-44a7c719151so372963f8f.0 for ; Mon, 11 May 2026 03:12:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778494320; x=1779099120; 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=LPG4EaiCI87DBlaCTHV0Yb+wiFmXjnSOWW9fMV9J1hk=; b=JFbkp1JziNCRzowK645CoAPfE7OvulfyYwTLIE1F1w0s4y6Exrj5OmiczzDlkQiq5M SjXpPiEnkguxRiNQmPTJwZe6J8rq0zTPNal/ypXf5lY6ucvJvpkLDvvfBhjPo+0elC/E IJF8xFmPJkEC3QFVArmIzXhHO8RAUizMX9b1ZeC6J7UWP24i9YWBMG7cVQLVfVb4Cog7 vhomHalaTSbdbdqPf3myfHJt0slSYM92dVTYezoBGJGUT50KJgo7ZKYZuevzJRtjF8IG RwwShb7+5tIjwmiJ0lHHN30PST1waaC+/AOiNU2wVWj5n6c8rA5Zrsn118wimBYyV5lh +5kA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778494320; x=1779099120; 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=LPG4EaiCI87DBlaCTHV0Yb+wiFmXjnSOWW9fMV9J1hk=; b=FGnSNlNTjbLGqFb8eaA0YI2zhSxlKtVb/ESXQo2nleDqzsiZ+u/zha8wj41B13T7F5 zrjqsfCemzNe62lbWjdEFiGRwpmOFsOooLd718w5K2HiyH80ipjRWRPW7veleYQ9Qw53 rWfa6mgJbjrXXs4OvAsMahODegoBAedElVQpV7TXx6rMrZwxROVTYqNaP6kGrHDbrHhT G+fIus0dMVcR+xtDX2sFR0nn9SAZZIxldlj9rbVzgvs3c5uHTPmGUqEyAsvLo3+9CMAk GIm5xuefBL40pfKsmwg4l+spGlg0FekP34skYipFs0/bWAoFmbW7C9feK8B4Q5b/+rU0 brGg== X-Forwarded-Encrypted: i=1; AFNElJ9lPmSOcWgHAZ+CVvrSl1Cm4J/TSmqMDbPw6AHrXWpqtvSzZqyx8Sfwd+Wb6/skxMY5J/yt306f4cItVNc=@vger.kernel.org X-Gm-Message-State: AOJu0YxMkTmsuwwBcs1/o9bD0b694zTk6r542MkbGExOVDVOeH2LsHDS T033lIFDC258UE1GzoXd12Ckh2WXGlL8W6rl3P13qHBb8XegXWO1cY+z X-Gm-Gg: Acq92OF5F0S+vewUf1Pi4nX+YOIo92+LxO7DIQYzO2mfz5znwRil45Z6ix4zqpjDPNt 6QOSE1NL/9oFjbGqqVcYaBwP1rBi94CfU89Y2Qm0p2VFqCabZNQPvzrJj26N1ftpSVJ32POvLR1 rGdK0RNI2hCFzRRfDG/Oh8eqbevAc7wBRwc+g5tp6RoAUl0HR7ggItL0awbH9NcOmbex7Ruk3YR QN+xRFYrq1SQ2+Hvv/3XCLoA5D1C6mbvjH9YWxMG26FGEB6qc9/Zfure5N5XLjwlB9d2WpsTtjn cfANxbxeCiFbs0dN3+/dnnTB6AtF8mPug1L1KwBIeaP5MIOjM5IvYb8e3tfrpMJgbGLKZjjB9gs w/sXGrKshEScjQQlz+RPmrvcpJA1ja6/s5a3QQzVEKEAmpJjp/qoyo3XyTJ2gD+ulhAKV4M5dOJ wyEz71fLFwJqk9EVq7s0g4NM+N6zDN+EB2iicHVrw0PmdU X-Received: by 2002:a05:600c:8908:b0:488:93c5:4dc with SMTP id 5b1f17b1804b1-48e51f4fda1mr133136505e9.7.1778494319484; Mon, 11 May 2026 03:11:59 -0700 (PDT) Received: from localhost.localdomain ([82.215.118.79]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48e6f9fc89asm186447285e9.0.2026.05.11.03.11.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 May 2026 03:11:58 -0700 (PDT) From: Stepan Ionichev To: jic23@kernel.org Cc: lars@metafoo.de, Michael.Hennerich@analog.com, alisa.roman@analog.com, dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, sozdayvek@gmail.com Subject: [PATCH v4] iio: adc: ad7192: replace usleep_range() with fsleep() Date: Mon, 11 May 2026 07:55:44 +0500 Message-Id: <20260511025545.41631-1-sozdayvek@gmail.com> X-Mailer: git-send-email 2.33.0.windows.2 In-Reply-To: <20260510113921.50133-1-sozdayvek@gmail.com> References: <20260510113921.50133-1-sozdayvek@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: 8bit The AD7192 datasheet (Rev. A, page 34, RESET section) says: "When a reset is initiated, the user must allow a period of 500 us before accessing any of the on-chip registers." Use fsleep(500) instead of usleep_range(500, 1000). The 500 us minimum stays the same; fsleep() picks the upper slack itself (about +25% on a default config). Add a code comment with the datasheet reference so the "why" of the wait is visible at the call site. Signed-off-by: Stepan Ionichev --- v4: - Move the datasheet citation into a code comment (per Andy) - Add a blank line before the fsleep call (per Andy) - Drop the "No functional change" claim — fsleep's upper bound is about +25%, narrower than the original usleep_range(500, 1000) v3: - Cite AD7192 datasheet for the 500 us minimum - Add changelog (was missing in v2) v2: - Drop the redundant "Wait for at least 500us" comment drivers/iio/adc/ad7192.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c index 8b1664f6b..ba27614c8 100644 --- a/drivers/iio/adc/ad7192.c +++ b/drivers/iio/adc/ad7192.c @@ -576,7 +576,12 @@ static int ad7192_setup(struct iio_dev *indio_dev, struct device *dev) ret = ad_sd_reset(&st->sd); if (ret < 0) return ret; - usleep_range(500, 1000); /* Wait for at least 500us */ + + /* + * Per AD7192 datasheet (Rev. A, page 34, RESET section), allow + * 500 us after a reset before accessing on-chip registers. + */ + fsleep(500); /* write/read test for device presence */ ret = ad_sd_read_reg(&st->sd, AD7192_REG_ID, 1, &id); -- 2.43.0