{"id":2197981,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2197981/?format=json","project":{"id":42,"url":"http://patchwork.ozlabs.org/api/1.0/projects/42/?format=json","name":"Linux GPIO development","link_name":"linux-gpio","list_id":"linux-gpio.vger.kernel.org","list_email":"linux-gpio@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260219022929.3558081-3-dmitry.torokhov@gmail.com>","date":"2026-02-19T02:29:26","name":"[v2,2/4] iio: adc: ti-ads7950: do not clobber gpio state in ti_ads7950_get()","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"66781fc320ca2fb60adc23a415a911b6b2ac0bcb","submitter":{"id":695,"url":"http://patchwork.ozlabs.org/api/1.0/people/695/?format=json","name":"Dmitry Torokhov","email":"dmitry.torokhov@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260219022929.3558081-3-dmitry.torokhov@gmail.com/mbox/","series":[{"id":492631,"url":"http://patchwork.ozlabs.org/api/1.0/series/492631/?format=json","date":"2026-02-19T02:29:24","name":"ti-ads7950: fix gpio handling and facelift","version":2,"mbox":"http://patchwork.ozlabs.org/series/492631/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2197981/checks/","tags":{},"headers":{"Return-Path":"\n <linux-gpio+bounces-31836-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20230601 header.b=TGgnh/Bo;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=104.64.211.4; helo=sin.lore.kernel.org;\n envelope-from=linux-gpio+bounces-31836-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"TGgnh/Bo\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=74.125.82.50","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com"],"Received":["from sin.lore.kernel.org (sin.lore.kernel.org [104.64.211.4])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fGclx4mY6z1xvg\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 19 Feb 2026 13:29:49 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 2DC863002B51\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 19 Feb 2026 02:29:42 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 2ABE92773D8;\n\tThu, 19 Feb 2026 02:29:40 +0000 (UTC)","from mail-dl1-f50.google.com (mail-dl1-f50.google.com\n [74.125.82.50])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id CA3F8271448\n\tfor <linux-gpio@vger.kernel.org>; Thu, 19 Feb 2026 02:29:38 +0000 (UTC)","by mail-dl1-f50.google.com with SMTP id\n a92af1059eb24-12721cd256bso463464c88.1\n        for <linux-gpio@vger.kernel.org>;\n Wed, 18 Feb 2026 18:29:38 -0800 (PST)","from dtor-ws.sjc.corp.google.com\n ([2a00:79e0:2ebe:8:265b:f5ad:9e03:677e])\n        by smtp.gmail.com with ESMTPSA id\n 5a478bee46e88-2bacb577bcasm19609433eec.12.2026.02.18.18.29.37\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Wed, 18 Feb 2026 18:29:37 -0800 (PST)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1771468179; cv=none;\n b=i59kYvCSuZ6Jf4YVsreb6rEl56CVCpyVEwEzE9Gjt5Kw90A4j4vTqA2O1kP49AWtIAiROPeqXbsnhkKlGNHF2E0HsFs5iMjwviOHBriuYu9mnNW8Fhm3TXEBfbYwKmR7BGDbXyfZvVjOieiMLNcrrH3nCQ+Kh5o/LGGiV1SdJaM=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1771468179; c=relaxed/simple;\n\tbh=2ptV1Xx56QfDBrLdYoSATcUoNP/8s/g1i+FnXCc7fjY=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=llYFBMJJRxs656CCYthiU6engng7u0sDWQozepSBzQRuFYlXQ87Izcj32dlDZcCw4Z88AlhXdtSAvefnm8gFBuuV+QSta4TV85WIBxrzaoilkJbAOVTTR74q551jLoj1ah5ERYVHBb9WgiFDc2Ox37QQgYk9MsPPWxhpXelwrG8=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=TGgnh/Bo; arc=none smtp.client-ip=74.125.82.50","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20230601; t=1771468178; x=1772072978;\n darn=vger.kernel.org;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=3VoJX5vAwTEOYnmz7o7D9xEfXbcGfOzpGSFIbfxsNUg=;\n        b=TGgnh/Boe6QQ+iF+sZfeqDa9Wi4yFH1/5ElXDenkc7mwKG37f88y9geMJZXtsAEK19\n         b8HaQpzDuL9S4AEd7jmuWYeKLWElhJmXerEusM0ya1zkLhd+yxzWaewXK9+CRdelDtBe\n         a4X/ivCm0IhyfuVxU78C0ZLgO1JT2WwPMOZcqKwbfCNz/B4sHVeSrHjZvfrSizHPnfZt\n         Ub6Cu36wgSM0/sA6dsx43AdUN5OGh52nsFBLmXU00dVdc5xeKWFp0rJBHZLDt932ZoWM\n         as9GuBhog2TyFF+7s84/HjheYU6VOx4eqs1RZRkQHT+LU976XMXKrmVlPSlOMakiUm8a\n         QD4w==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20230601; t=1771468178; x=1772072978;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n         :to:cc:subject:date:message-id:reply-to;\n        bh=3VoJX5vAwTEOYnmz7o7D9xEfXbcGfOzpGSFIbfxsNUg=;\n        b=L8Zcne6eAlcupZzjPgNCtiW2hCXrxzNDtw2+Fr/98LX6Esf7DHANjRr5riUa5zm4DJ\n         JJXvkJ8XOhHwPW5raEBSXb8wqkO7DanDWfvkq70BESmHIus0CYz6O4li0riTZD/3Ce9Y\n         pTjAfFc8JT03LCCna4YfBbYB1r34sc/Svcn/Bm4zGsMHT24DMr06TQ6CPVAjLtrsf2Mg\n         N/+QCr8XGbMXtcHvtjal+KqDTxt/qCi6rBi2itbvzr6FHAfeOIYRAAcOwpwd2GDzWHQM\n         neAuAtqACpQZo1mkDTtviXxotojW0VrEDcU+hrLuJ5oT5XDScEBVtqmEpvySs+NoKud4\n         eSnw==","X-Forwarded-Encrypted":"i=1;\n AJvYcCXGofQHlo5jaDXT+OO/AZS0hTZuNxSpyUilb6epB4kblibT1sf4v4fMhVNb4fHxeh/74g+25vqSoIro@vger.kernel.org","X-Gm-Message-State":"AOJu0YxGJAMgjbcrb3gtCksVwiYg38KbBf5kHe/biVdxrC2HTKs/TzGQ\n\t8xje+F4NcDeG8nsBuoZXRkx7wUTIAtpnEVIQW00sD+pQMYVhKq806xBG","X-Gm-Gg":"AZuq6aKgtG8/DQjJ2itcPy2vZeHbQ20K5R5+SSHY20eyUBAJadmZX45/ydp4Uj9nUKh\n\tCIzkwM0LkBBl2vya3la4oRgbRCWEJW4+f6dainh77cGLhaIoVNghanwNf03NzHKMh+saWEKRzq3\n\t/Y4OQzRkJgpLk//jNVz4hrTxYnIIGA6g6UVleD7hGgGXwz4/4RsIhLAip6uSod02+y6omKqmQD+\n\tJmEf5x/dY6D21LaNAFeAIE/TFuRv2YrmEGoGgV9wL3yPd3oEl+yWzjSDETg9SDfG95eofy3TmIH\n\tUCc8Rk9hdJfdRxq8+4bxnKYh4UwC/QZBQ0TVw5ILrfjjUSocm9sQ+slLvO10JqFG+Fj+/Un/8Bk\n\t8KPalzmCz0KrGt//98qCO7XwGHjTc9DvKx2wY8+3QWldW660LCV9JSP1sMvmx/OcaeE0A8OH93U\n\t93rsF7yDKOq7cjKN8c0jIg3upghxBbJyXXK14pkQMmdmHRhttCUwod91HEF8aWnDcwByzx8Qdim\n\tBw//e2NX5NCSA4=","X-Received":"by 2002:a05:7022:160a:b0:11a:2f10:fa46 with SMTP id\n a92af1059eb24-12741ae3323mr7734818c88.0.1771468177903;\n        Wed, 18 Feb 2026 18:29:37 -0800 (PST)","From":"Dmitry Torokhov <dmitry.torokhov@gmail.com>","To":"Jonathan Cameron <jic23@kernel.org>","Cc":"David Lechner <dlechner@baylibre.com>,\n =?utf-8?q?Nuno_S=C3=A1?= <nuno.sa@analog.com>,\n Andy Shevchenko <andy@kernel.org>, Linus Walleij <linusw@kernel.org>,\n Bartosz Golaszewski <brgl@kernel.org>, linux-iio@vger.kernel.org,\n linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org","Subject":"[PATCH v2 2/4] iio: adc: ti-ads7950: do not clobber gpio state in\n ti_ads7950_get()","Date":"Wed, 18 Feb 2026 18:29:26 -0800","Message-ID":"<20260219022929.3558081-3-dmitry.torokhov@gmail.com>","X-Mailer":"git-send-email 2.53.0.335.g19a08e0c02-goog","In-Reply-To":"<20260219022929.3558081-1-dmitry.torokhov@gmail.com>","References":"<20260219022929.3558081-1-dmitry.torokhov@gmail.com>","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit"},"content":"GPIO state was inadvertently overwritten by the result of sip_sync,\nreuniting in ti_ads7950_get() only returning 0 as gpio state (or error).\n\nFix this by introducing a separate variable to hold the state.\n\nReported-by: David Lechner <dlechner@baylibre.com>\nSigned-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>\n---\n drivers/iio/adc/ti-ads7950.c | 9 +++++----\n 1 file changed, 5 insertions(+), 4 deletions(-)","diff":"diff --git a/drivers/iio/adc/ti-ads7950.c b/drivers/iio/adc/ti-ads7950.c\nindex b8cc39fc39fb..2a7d4a1d9fa9 100644\n--- a/drivers/iio/adc/ti-ads7950.c\n+++ b/drivers/iio/adc/ti-ads7950.c\n@@ -427,13 +427,14 @@ static int ti_ads7950_set(struct gpio_chip *chip, unsigned int offset,\n static int ti_ads7950_get(struct gpio_chip *chip, unsigned int offset)\n {\n \tstruct ti_ads7950_state *st = gpiochip_get_data(chip);\n-\tint ret;\n+\tint ret = 0;\n+\tbool state;\n \n \tmutex_lock(&st->slock);\n \n \t/* If set as output, return the output */\n \tif (st->gpio_cmd_settings_bitmask & BIT(offset)) {\n-\t\tret = (st->cmd_settings_bitmask & BIT(offset)) ? 1 : 0;\n+\t\tstate = st->cmd_settings_bitmask & BIT(offset);\n \t\tgoto out;\n \t}\n \n@@ -444,7 +445,7 @@ static int ti_ads7950_get(struct gpio_chip *chip, unsigned int offset)\n \tif (ret)\n \t\tgoto out;\n \n-\tret = ((st->single_rx >> 12) & BIT(offset)) ? 1 : 0;\n+\tstate = (st->single_rx >> 12) & BIT(offset);\n \n \t/* Revert back to original settings */\n \tst->cmd_settings_bitmask &= ~TI_ADS7950_CR_GPIO_DATA;\n@@ -456,7 +457,7 @@ static int ti_ads7950_get(struct gpio_chip *chip, unsigned int offset)\n out:\n \tmutex_unlock(&st->slock);\n \n-\treturn ret;\n+\treturn ret ?: state;\n }\n \n static int ti_ads7950_get_direction(struct gpio_chip *chip,\n","prefixes":["v2","2/4"]}