From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f67.google.com (mail-dl1-f67.google.com [74.125.82.67]) (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 5DFEE384244 for ; Sat, 9 May 2026 09:03:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.67 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778317422; cv=none; b=ftFLu2lTid5YSE1DUEmd7FB4puT+6MLUA7HAkpt8ADH/43q2vxGneeCOBx6zm3+FU1pasZWQqJRY4dRfCPkB5I6c21EGGkmxkKIvVnP06c1+XXNtgKQTeDG1N4WPmtaET1sZJTY9qe1MfCgA9f3xqKZDc90SygFT6dIv5eQEfuc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778317422; c=relaxed/simple; bh=byOtteQFJj7wH2m03b47SoF27/lgF6IuUDHq8SOBtxQ=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=u/gnkjBcrSr+NF9kXVTxQvw16lpa11p6GGqZTSq4SiGTu9j7Jqi09c7xTXHS2IcDSA453b2xMABHKTkByNJIeK5DuQLOXWcDlYaS5/S1ykHk6vvseYZqQCdtzADzlHWKdOooBAFmsXjdJjNzp6zKGileNi190gyQmsG+yqwpl0g= 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=nnQnep4T; arc=none smtp.client-ip=74.125.82.67 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="nnQnep4T" Received: by mail-dl1-f67.google.com with SMTP id a92af1059eb24-12dca45ca21so4026444c88.1 for ; Sat, 09 May 2026 02:03:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778317420; x=1778922220; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ng77Sr+Aq2eTeCc4veSUx5zjPL7nDApX4AemJNimqX8=; b=nnQnep4TrtHGzH33K6VC6bt0QwBPhNF31syK4cezXEGgmrg7WofEkOz0iQKSMlltmR 2Zn4tlgodUFFlJv3+Bn4L7x6H3+kVxfo3maZKXdj3cgcXp2ZHfu46/atuvVy8m8DLRwN tNwcsoRnsx8abcTNhlJf2oO5VB4TQ06RDzMK0z0jYWrnI+Y5ZPZbRoP6JKQ0QXOJYguY CrA7VQgrxsgxS9rikDQfXDr7xEghMc1GkWHvMnNnU2U0KkcOK2wmQYVkxsmnQ/4WlznG A1hOU54wLmBjdumVq3R2Qphgk7wyryMWGArcHNSA5vRJFxO2hYxwkLshCZkKBldCwNtv u9NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778317420; x=1778922220; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ng77Sr+Aq2eTeCc4veSUx5zjPL7nDApX4AemJNimqX8=; b=YVkvq4agi8oHbcJqBOFClXWlB2c2dnIZCVAOUJIkroW6vpZ+7uge6QhVk5U9FguMxC bhelGqFvEK1Rep9c0LzTl417PRU0PAIFVGzrtbpcWsTuaYq2bLFixs6O/gKQ89vMKrVP Gp/UsjutCdSfrsrLrAPfrUTgs7ECJbVmpDnQcJsAgh9nITIYHBMTXj87A/ftJG01Y3tU QO4dCAkp0qDvbuz0W/uUvo6jHNlSimey1sgH97ibPf00ExVS5zoXDFQFR6MfdKjTe6k3 WuF+HXtbOO98wAYYxXIsQnv6wmydyl8sW3bHGmDEzijdy8GQD34/1u3lOe2yfdzCgg4A xchg== X-Forwarded-Encrypted: i=1; AFNElJ+mfN1tn5ZwVYXR55uxpkj80ujI3SKnPc8uZx+PF3/sIVkvR09BAQAKZ1/HxH00sxqeutxr8hy1WNgeIP0=@vger.kernel.org X-Gm-Message-State: AOJu0YxojWgFXk03dOCmC1YfzBuKrDUkSFxf4jlB/9Pn/S+00upWLM8u Zz5x37zbL1wbgKMqPQRtwRCGQYpccCh3cTCw0Uemacb1TlNoSsLIjYrg X-Gm-Gg: Acq92OGcW2LzHdd1/eLu8iZlkKF3GicrwQH84GM+fdo2Uz6Xpx0OxurtNP1W6sbJatH 0erceXe5ObZ2411D7HwDFSGR3JT+fT8sOG91xSgvWHJwLq442OR8YO+pL5PH1J1Onl6RtI0VlKc rs8Fiuou2gT3RmOkTOjipdonqNAA+PgOWUudBhs+Xd6za9KVsG774D7GoYrdk0/P90rHPDj5Byh jNUCMYJp78VdUfLvXs1uL1aWjWmb669WqORXppftYva/4Ut66gEQtDppyXfHaInLmu3y0GwzY8M VinSleBdO2C58ZBGexj5lFRQOqZ3sZblMhIwehlCFGvf97glrepHoktnAKnECn09e40Ww44Pozv PamDO8DjoIdqil2/CQR7AeBMrUHevVLkCdXblPPyKISa5Kvw2gH/yXXAsruZt36CeQV4LqIgXIf QFErTviZEosjMziN356t0XerUImAV1LTt9jFbUh0GXLCvZej2ainoP3VI= X-Received: by 2002:a05:7022:672a:b0:128:bae0:e043 with SMTP id a92af1059eb24-1318eb4a66bmr7629992c88.31.1778317420273; Sat, 09 May 2026 02:03:40 -0700 (PDT) Received: from localhost.localdomain ([76.32.119.210]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13278758e0csm6116676c88.12.2026.05.09.02.03.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 May 2026 02:03:39 -0700 (PDT) From: Hungyu Lin To: linux-iio@vger.kernel.org, Jonathan Cameron Cc: Lars-Peter Clausen , Michael Hennerich , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Hungyu Lin Subject: [PATCH v2] staging: iio: addac: adt7316: check SPI write errors in probe Date: Sat, 9 May 2026 09:03:20 +0000 Message-Id: <20260509090320.85481-1-dennylin0707@gmail.com> X-Mailer: git-send-email 2.34.1 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 probe function issues three SPI writes to switch the device from the default I2C protocol to SPI protocol, but ignores their return values. Switch the repeated SPI writes to a loop and return an error if any of them fail, as failing to switch the protocol should abort the probe. Signed-off-by: Hungyu Lin --- Changes in v2: - Return error instead of just warning - Clarify that repeated SPI writes are converted to a loop --- drivers/staging/iio/addac/adt7316-spi.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/staging/iio/addac/adt7316-spi.c b/drivers/staging/iio/addac/adt7316-spi.c index f91325d11394..056a4505bf30 100644 --- a/drivers/staging/iio/addac/adt7316-spi.c +++ b/drivers/staging/iio/addac/adt7316-spi.c @@ -98,6 +98,7 @@ static int adt7316_spi_probe(struct spi_device *spi_dev) .multi_read = adt7316_spi_multi_read, .multi_write = adt7316_spi_multi_write, }; + int i, ret; /* don't exceed max specified SPI CLK frequency */ if (spi_dev->max_speed_hz > ADT7316_SPI_MAX_FREQ_HZ) { @@ -107,9 +108,11 @@ static int adt7316_spi_probe(struct spi_device *spi_dev) } /* switch from default I2C protocol to SPI protocol */ - adt7316_spi_write(spi_dev, 0, 0); - adt7316_spi_write(spi_dev, 0, 0); - adt7316_spi_write(spi_dev, 0, 0); + for (i = 0; i < 3; i++) { + ret = adt7316_spi_write(spi_dev, 0, 0); + if (ret) + return ret; + } return adt7316_probe(&spi_dev->dev, &bus, spi_dev->modalias); } -- 2.34.1