From nobody Tue Dec 16 16:28:09 2025 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (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 00547226883 for ; Mon, 7 Apr 2025 07:18:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010298; cv=none; b=uea0ojcOl9cvG4f+y20MDZD3OMM9hfGQzS3PhJkkN9CoztRjbi2rAeBKUf5BIRmnGwMcvKiQpE3nm/JrjI+OJb/KGsQ3peAh9EIXgX65eI26HGBAfnixD8IHqjUNCaeDI5I8g2I+Rptah6DR/T9RE/XQFj55i+re+QhIJ95HEiE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010298; c=relaxed/simple; bh=qh02EOpLmoVQFOGtxc//WQmmDLs4Qdqs4X8qzXYsbtA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=O7+hm1cJkoTHjeiwknU7D02GimPl/om+8ccEokNn2sU06rUnjoDRlEQMRawP/+G90Q+5vELzzQa9mE8j64zsBGk7ysS216bYMyO/yWv6muoR/ddmlgzRfTn03aFGShv1rItSG8Zn1bxWHZAMH45hulqeO0gQy1T6QwDCGxt4Btc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=DIq5wTZO; arc=none smtp.client-ip=209.85.221.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="DIq5wTZO" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-39c1ef4ae3aso2185227f8f.1 for ; Mon, 07 Apr 2025 00:18:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744010294; x=1744615094; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=oFYbotP5fmTf+KhkIn7tkSgVn5aK/YHRq/3B7g/SlrA=; b=DIq5wTZOM91ezm9VxOmDL/5nW0ZxoLsQEvMVZSavLoBQ2GEVUkyw9rY1qaVik8NcF7 pRu0kSyQt4Ts59tjy8U4L2YzU0PX7MiPDMlmw2qA+XZarO+AThnOfEL4KZ9QqtwsBCjy VxbnoGSNzNtpDeelMypqZKcYbgRKQ1k6K9pfAolmLmJMLmAt/d4ZNKh99iHDu0TvlrOt 0rDBPtqqOh2sefyN/ylagCNHFgtfU99Ryf2hoi9EMuKdEt/QkLnbqX6U7//r7yP3KrhS /wsEw8huEKljfVzdu9soV/MqXBiwHHIlsYrDdvk1yf71K/E3x0cy/EAwL3JdxsfMg7Mq TQKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744010294; x=1744615094; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oFYbotP5fmTf+KhkIn7tkSgVn5aK/YHRq/3B7g/SlrA=; b=FvGcRXOD3mx40WiO33Q54Fswmsk2/9OdNkP+1465lGUCAZNpmXoGDa0a8pPjz832v1 OBMAxmKL41Cp65nc80+QoOZoOPIZBHbpwq6MsPSUq0rewthxVgYlF11Nw8cvKC26pQ0M gPgBIrV9KPqtZ5HW6IzJ1yB4pSEkg498t0WKCriFj5yerl9ukO4FN5wYdgLCl8OCIH2I 5zqepiBXqbABOkwVuAnl9fJzY1NVfA1niMEKyqzxx9tuqHZceJyw4BaDWL/bw6Aq8o32 i0cClBZPjuBriVJkALK+K57OAL20bsVC+LlPSpUNT19WGex1TIF974QkiOD5tn+JPXdI nvZw== X-Forwarded-Encrypted: i=1; AJvYcCV0biVIzNdVtH6zGVxTz5MqmiZS14i4atSs+HR3ZaL0Wqn1kKfxC2KOK7gGAR/6tznFS41DKyBZv9P0hyA=@vger.kernel.org X-Gm-Message-State: AOJu0YzBEAFyacmEkiAbK46LmBN7Zx6qLwjSzEnMKfVjC7d16bLlglAt SSb7ct6yyLaNth6eZSFtYwI5Ygf9H1wZNz+9omppbcIX446cksWM7jpbRv64uBI= X-Gm-Gg: ASbGncvZRPJRAcbNd2ZWhYOFHwTOflLz/reTuOivdoHNX77WFK/47Ma0h0O6hDnHRnW GQrcFjJ5h0NZ0nzyQeCsIcYLvl6vINKqQ9lfnf1bbuEITBwa6+6QetZjKI7DiM1u6xb6RmB45MQ yprkzmzJWNsu3KFoVkENzQomz30OxZrn55+0KqwKlMoK8vWhdciVm2/Qnnp6zSgQbzqgDCtSA5x XHrjzXvA8IlBS679GeqVTBnIbUwyrRbcAbcaIU/fvcjEuH5pG21s8n7jHKJ2lDoZiTp96WLbVh9 SgfelFS8cYO3BTbjNXvwaP4YwNhqwpew3v3UZw== X-Google-Smtp-Source: AGHT+IHdzlVUeS5mJkviPZtuB2uw9FN1NeOxmWH4SG/0ghkS1vaZxYCoVQJ7a8Egu0T4TP8eDMqtxQ== X-Received: by 2002:a5d:59af:0:b0:391:9b2:f496 with SMTP id ffacd0b85a97d-39c2e621a3emr13954581f8f.16.1744010294242; Mon, 07 Apr 2025 00:18:14 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8c64:734d:705a:39a7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec1630f21sm125224455e9.8.2025.04.07.00.18.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 00:18:13 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Apr 2025 09:18:09 +0200 Subject: [PATCH 1/7] iio: dac: ad5592r: destroy mutexes in detach paths 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: quoted-printable Message-Id: <20250407-gpiochip-set-rv-iio-v1-1-8431b003a145@linaro.org> References: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> In-Reply-To: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Linus Walleij , Bartosz Golaszewski , Cosmin Tanislav Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1118; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=XzPoG1yue7TTDzwJnpp3K9VyK//i5C6T3BQHGpW1rkQ=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn83wywmyOOD88VwORmWru81fcLV3QYv1XG/rvC emcVWAZtXCJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/N8MgAKCRARpy6gFHHX cqfFEACz71tG/3HuelbJ6Rrr2frDLyUukL8onqRwqZiYWvP2v00lklCU8eOTbzlcce97uUaYV4i 7mTqzUgEy+rhhPrNgyzc510WcMQQIXDLOSDRj57nwABQeeVOb8JEBS2j/nYoNSbv5XIUMANI0Fn i7FWPzY1+g7HQipYpIRm6/gv+o49kw2yp5uAO3DrHnJBbLVAdOo92D8fsLAwnmTG+xC3oUa543X WGxiY1DUUqC3YdmvJDrqpey0q8sKK36bOFqtpC9MwhkIaQqvEvPai+nTN3K+Em0yy0CNnUN8V2x HjFQPvb1GRLlCZ5lD2xObaYh+ilUynNTA2Oe5bqR1/Ylb/0/jo0GYERiyuB/yVk3FC359a1axap P+bLuCrSMIz+E3/p5vLT020cxg0vR+FcGBExYWBICD6Qzx83IpsYSP93Zh55sds/nKbcbSjSjFQ CqYVE+zd/DlH4f1ZLumoG31oIOa2dreLrWTXvHfG4kVLRbScIOrFdiUjTFMkoxJQCx270gJeWrP uyIfIoImPWueOPQKDC3bfBTaWWtUgDH3fhIY6LMf4XNwYGcXQmHlUEiUa/C6HOkXLUJggNsQUiw K8gwxrpumAVtISXOxq9aN+D/cMWuqi6tFOarPths4eY6Y7covbIKNvTNK/LAz78aR5IRiRgdDIK bqI8blnjoJd/QqQ== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski The locks used here are initialized but never released which causes resource leaks with mutex debugging enabled. Add missing calls to mutex_destroy() or use devres if applicable. Signed-off-by: Bartosz Golaszewski --- drivers/iio/dac/ad5592r-base.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/iio/dac/ad5592r-base.c b/drivers/iio/dac/ad5592r-base.c index 50d19304bacb..fe4c35689d4d 100644 --- a/drivers/iio/dac/ad5592r-base.c +++ b/drivers/iio/dac/ad5592r-base.c @@ -155,6 +155,8 @@ static void ad5592r_gpio_cleanup(struct ad5592r_state *= st) { if (st->gpio_map) gpiochip_remove(&st->gpiochip); + + mutex_destroy(&st->gpio_lock); } =20 static int ad5592r_reset(struct ad5592r_state *st) @@ -622,7 +624,9 @@ int ad5592r_probe(struct device *dev, const char *name, iio_dev->info =3D &ad5592r_info; iio_dev->modes =3D INDIO_DIRECT_MODE; =20 - mutex_init(&st->lock); + ret =3D devm_mutex_init(dev, &st->lock); + if (ret) + goto error_disable_reg; =20 ad5592r_init_scales(st, ad5592r_get_vref(st)); =20 --=20 2.45.2 From nobody Tue Dec 16 16:28:09 2025 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (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 DCE7322A7EA for ; Mon, 7 Apr 2025 07:18:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010298; cv=none; b=Z3s96Jqu6p2PklVpq+fuaiuwSlFRkK2bUK7femr7G9KW/PCJ4c9sUzS9PeOZtujINjGQMFvlmq4+BdnYZMfuj1SmxLy5bmoMRkgRn/NC1m6zct2xzeIN+WF0LjVIs4bPEvWxDsQnZJhp4ZIKsDo833qbPepClT+O2JMqU1gGJX0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010298; c=relaxed/simple; bh=zj5ug8ovlw9ZHzpl55Bg/sdI8fliJrYCQ7ucoIA4J1g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Mj2FZ19guMgvEIvl6JZVkUcb/+2/mWsuyGUrEM/6UmKRPMCHzztwrj25kZBkbKlJG04GY52Q5ctoq0wQx5FqXJjVREpYLIcm5jMDM890Qegv7JY8gZAlElpqq1uFCqXkEmqu12H3lipnzCTBuicgBoz2ICo9DmPeu3nh4oDeSQ8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=YkbkOu9+; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="YkbkOu9+" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-43cfba466b2so39797665e9.3 for ; Mon, 07 Apr 2025 00:18:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744010295; x=1744615095; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=xERYxzCdXFfBQqpEHcpUJZIcd8NycAIVtZHrNbldPXo=; b=YkbkOu9+gUfz5sHPnxvAqEDd2ngzGo0eV4eP2LA0aBXhzE5oL2ByezBTbJnksq2WeE g1bfMjo962y0OuOSYZjUkcV6r3gLIiYCtp12qgo1oStqTQ4l/BAboJH06FFWpYv6r4Gz 5wJJBJHITpCOQvkzvKsQSYZ4mYTP3T9hZ7YYb85YfYIO5pdKLuA+B/blL9F3lDm2J8G2 vOqk7HgUhZ6h+v0TzHrKRQcUsO8T1l/KvGWr08nfLgsXCusxgwmTO7Canc7iqjg86vMi AfQ8QImmaUcZTyVFnYat5vHal/Vx5DmDNjYijDm3aD8Rl4qo2VIHiw6vbXVVHMjj8KzP 51oA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744010295; x=1744615095; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xERYxzCdXFfBQqpEHcpUJZIcd8NycAIVtZHrNbldPXo=; b=WJI2EPL70kR1xvaq8z+F3GCyHpCkTv2I7ctOYLiN8gBnfmQoiN5AYG+hprIwJmjqxS XKUht/qAf8mt5Z6jCDTrUM36DyVvSANiAGq3uG541cjQxFTnFoXFTpXko4BxiDJ+GBE+ t6wr+UNuufTAFUYYo3+PtZ6tAk6f5/Jrn+/h8Qcu6/dQepgeuFjdUwhnM6KbbVHBcwFc KFTM3pL5uFp6r/aou70DgODxvdIGLzy5RmcJR9XqVhAbbVaYchcGWcJ5fgCuR+MDlo7u SMslyFEt7uuMMg+9Id/XTgif8+n7yp0pu0nBGFk9UZ/DNLcteaXUxxrV+VngLpVEEw0v 8Jvw== X-Forwarded-Encrypted: i=1; AJvYcCW3Y20f1Uek6/LoX2bM6A1MFK/P7rPVYZR1q3UzUPiB+zGbq2I/Qe0MBmdAuISkt9jfP47SmBcsi4ep/iM=@vger.kernel.org X-Gm-Message-State: AOJu0YyUp0u7t3zRfTEBSeB7pNkAun33sOGQx6hqedkghNZoZnyNT7ZM UKyAhkdJfTZhBMWDakRYOqIBkf+LxGnNk6TXPm4DbWuX++Ep1+P/gg65upLuOrsxbtvYYsQ6g8r neVk= X-Gm-Gg: ASbGncuHZZ5GKzu4mroimL8Q25xeEbhNUt+aCYqlHIAHX2zqmQWr2sPTmdkcuI0cysx S9+30UuWPsLhGbrjmhEjYAAsr6jjFp3d22JOpDecGa4MXErqbpCaztaVAiTZ0ha/9jpqhIrCH0Z lRrdeEXg9kHWW9F6GxAxJSslkXTF1aIeaZ5oWFWxm/yvADlKVwYpNBNRrBt7NtBWoASMNKCYfK2 HCTAJ+zXyBLc/0GbH6vMrs0dv4SqGyHbyvcrI6jRjO8GTJYI21HTlNVtfxP8n0VMEolMRuA0P/J /d98sU/q57FUNLnHmVclC/alylYyjFuBD3KKYA== X-Google-Smtp-Source: AGHT+IFtRwblBwIEchtvA8k1duTNZwKxIZCvCCS+rybE1gUfbu8eZ5wc9Hm4N7OETrLYq1shI7lMyg== X-Received: by 2002:a05:600c:848d:b0:43c:f969:13c0 with SMTP id 5b1f17b1804b1-43ecfa1874emr97612425e9.29.1744010295108; Mon, 07 Apr 2025 00:18:15 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8c64:734d:705a:39a7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec1630f21sm125224455e9.8.2025.04.07.00.18.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 00:18:14 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Apr 2025 09:18:10 +0200 Subject: [PATCH 2/7] iio: dac: ad5592r: use lock guards 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: quoted-printable Message-Id: <20250407-gpiochip-set-rv-iio-v1-2-8431b003a145@linaro.org> References: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> In-Reply-To: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Linus Walleij , Bartosz Golaszewski , Cosmin Tanislav Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=8324; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=2uyDg2/H9YP2L1NNh1G5LpCHDDV8ztorbvs/2/ecsX4=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn83wy4EKKAN4IT+1wGpxG8/g59bpkVKrkrSsHo anjZ3dgIoWJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/N8MgAKCRARpy6gFHHX cuASEACJFjDu9M7qv5gdKRWtmCsVlBsr60Jlm4BBEqONkXR+siD7+/XLoWtl+eUmVN/0u5mOJ0L tMapa/tA2lJVSR5Z0e5onE37TIgk9IB7rMDr7uv2LS9x9HQnbqN8okLJKDe8MSivhJZjo8G76+v C7wsxYInkHGAwxLu9OWXqTqbRQtpdpTxOExpy4i8QA73SfdXaRnQgMimfqHY/Jx6DhTnhfuQPAP YmJyc2uaQ4ijREHovqMKjbDJhqD4RY8OepQoKYxYhvqTSDj4YtVr/HHUXjQZlC9gdcVVPHnKiRZ 52i07IKFULK6d70Sj/kQ2zsNS5OT8QGfDIjlopJ9D8oaywhllmndXQiO7TgJqNmuPbR7wXbxhMg Td1XCvwqp4FD2EixWUMpjR1fPa5CBE/aCKxj/j/9s/KOOerZtL+ugv5rUnAnldwShHhByP/PgeD VztS6VfQDe6+DVlsaQz4n3oP02o/dRyXVyTOtRtnpbMYG9L0sn4/zznjp0NZM8/xdPVwF0hTP+Y DcS3YTzB3Ksd9zrjSySZy/MJbJTzvYgbviQFWMKz14I1wvM7ccoEfhQlXaoX1AOY/hbUm0UJrpt jtDvJvAPY+vfEpPcW8m+vOFN7QmodINivWh6vRER80kWoP3ngF3LDeuigtOvDIe8ZNi/qSPqykm lzm3OLjDsqXOVpw== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Use lock guards from linux/cleanup.h to simplify the code and remove some labels. Note that we need to initialize some variables even though it's not technically required as scoped_guards() are implemented as for loops. Signed-off-by: Bartosz Golaszewski --- drivers/iio/dac/ad5592r-base.c | 119 ++++++++++++++++---------------------= ---- 1 file changed, 47 insertions(+), 72 deletions(-) diff --git a/drivers/iio/dac/ad5592r-base.c b/drivers/iio/dac/ad5592r-base.c index fe4c35689d4d..bbe3b52c6a12 100644 --- a/drivers/iio/dac/ad5592r-base.c +++ b/drivers/iio/dac/ad5592r-base.c @@ -7,6 +7,7 @@ */ =20 #include +#include #include #include #include @@ -24,16 +25,14 @@ static int ad5592r_gpio_get(struct gpio_chip *chip, uns= igned offset) { struct ad5592r_state *st =3D gpiochip_get_data(chip); int ret =3D 0; - u8 val; + u8 val =3D 0; =20 - mutex_lock(&st->gpio_lock); - - if (st->gpio_out & BIT(offset)) - val =3D st->gpio_val; - else - ret =3D st->ops->gpio_read(st, &val); - - mutex_unlock(&st->gpio_lock); + scoped_guard(mutex, &st->gpio_lock) { + if (st->gpio_out & BIT(offset)) + val =3D st->gpio_val; + else + ret =3D st->ops->gpio_read(st, &val); + } =20 if (ret < 0) return ret; @@ -45,7 +44,7 @@ static void ad5592r_gpio_set(struct gpio_chip *chip, unsi= gned offset, int value) { struct ad5592r_state *st =3D gpiochip_get_data(chip); =20 - mutex_lock(&st->gpio_lock); + guard(mutex)(&st->gpio_lock); =20 if (value) st->gpio_val |=3D BIT(offset); @@ -53,8 +52,6 @@ static void ad5592r_gpio_set(struct gpio_chip *chip, unsi= gned offset, int value) st->gpio_val &=3D ~BIT(offset); =20 st->ops->reg_write(st, AD5592R_REG_GPIO_SET, st->gpio_val); - - mutex_unlock(&st->gpio_lock); } =20 static int ad5592r_gpio_direction_input(struct gpio_chip *chip, unsigned o= ffset) @@ -62,21 +59,16 @@ static int ad5592r_gpio_direction_input(struct gpio_chi= p *chip, unsigned offset) struct ad5592r_state *st =3D gpiochip_get_data(chip); int ret; =20 - mutex_lock(&st->gpio_lock); + guard(mutex)(&st->gpio_lock); =20 st->gpio_out &=3D ~BIT(offset); st->gpio_in |=3D BIT(offset); =20 ret =3D st->ops->reg_write(st, AD5592R_REG_GPIO_OUT_EN, st->gpio_out); if (ret < 0) - goto err_unlock; + return ret; =20 - ret =3D st->ops->reg_write(st, AD5592R_REG_GPIO_IN_EN, st->gpio_in); - -err_unlock: - mutex_unlock(&st->gpio_lock); - - return ret; + return st->ops->reg_write(st, AD5592R_REG_GPIO_IN_EN, st->gpio_in); } =20 static int ad5592r_gpio_direction_output(struct gpio_chip *chip, @@ -85,7 +77,7 @@ static int ad5592r_gpio_direction_output(struct gpio_chip= *chip, struct ad5592r_state *st =3D gpiochip_get_data(chip); int ret; =20 - mutex_lock(&st->gpio_lock); + guard(mutex)(&st->gpio_lock); =20 if (value) st->gpio_val |=3D BIT(offset); @@ -97,18 +89,13 @@ static int ad5592r_gpio_direction_output(struct gpio_ch= ip *chip, =20 ret =3D st->ops->reg_write(st, AD5592R_REG_GPIO_SET, st->gpio_val); if (ret < 0) - goto err_unlock; + return ret; =20 ret =3D st->ops->reg_write(st, AD5592R_REG_GPIO_OUT_EN, st->gpio_out); if (ret < 0) - goto err_unlock; + return ret; =20 - ret =3D st->ops->reg_write(st, AD5592R_REG_GPIO_IN_EN, st->gpio_in); - -err_unlock: - mutex_unlock(&st->gpio_lock); - - return ret; + return st->ops->reg_write(st, AD5592R_REG_GPIO_IN_EN, st->gpio_in); } =20 static int ad5592r_gpio_request(struct gpio_chip *chip, unsigned offset) @@ -171,10 +158,9 @@ static int ad5592r_reset(struct ad5592r_state *st) udelay(1); gpiod_set_value(gpio, 1); } else { - mutex_lock(&st->lock); - /* Writing this magic value resets the device */ - st->ops->reg_write(st, AD5592R_REG_RESET, 0xdac); - mutex_unlock(&st->lock); + scoped_guard(mutex, &st->lock) + /* Writing this magic value resets the device */ + st->ops->reg_write(st, AD5592R_REG_RESET, 0xdac); } =20 udelay(250); @@ -249,45 +235,43 @@ static int ad5592r_set_channel_modes(struct ad5592r_s= tate *st) } } =20 - mutex_lock(&st->lock); + guard(mutex)(&st->lock); =20 /* Pull down unused pins to GND */ ret =3D ops->reg_write(st, AD5592R_REG_PULLDOWN, pulldown); if (ret) - goto err_unlock; + return ret; =20 ret =3D ops->reg_write(st, AD5592R_REG_TRISTATE, tristate); if (ret) - goto err_unlock; + return ret; =20 /* Configure pins that we use */ ret =3D ops->reg_write(st, AD5592R_REG_DAC_EN, dac); if (ret) - goto err_unlock; + return ret; =20 ret =3D ops->reg_write(st, AD5592R_REG_ADC_EN, adc); if (ret) - goto err_unlock; + return ret; =20 ret =3D ops->reg_write(st, AD5592R_REG_GPIO_SET, st->gpio_val); if (ret) - goto err_unlock; + return ret; =20 ret =3D ops->reg_write(st, AD5592R_REG_GPIO_OUT_EN, st->gpio_out); if (ret) - goto err_unlock; + return ret; =20 ret =3D ops->reg_write(st, AD5592R_REG_GPIO_IN_EN, st->gpio_in); if (ret) - goto err_unlock; + return ret; =20 /* Verify that we can read back at least one register */ ret =3D ops->reg_read(st, AD5592R_REG_ADC_EN, &read_back); if (!ret && (read_back & 0xff) !=3D adc) ret =3D -EIO; =20 -err_unlock: - mutex_unlock(&st->lock); return ret; } =20 @@ -316,11 +300,10 @@ static int ad5592r_write_raw(struct iio_dev *iio_dev, if (!chan->output) return -EINVAL; =20 - mutex_lock(&st->lock); + guard(mutex)(&st->lock); ret =3D st->ops->write_dac(st, chan->channel, val); if (!ret) st->cached_dac[chan->channel] =3D val; - mutex_unlock(&st->lock); return ret; case IIO_CHAN_INFO_SCALE: if (chan->type =3D=3D IIO_VOLTAGE) { @@ -335,7 +318,7 @@ static int ad5592r_write_raw(struct iio_dev *iio_dev, else return -EINVAL; =20 - mutex_lock(&st->lock); + guard(mutex)(&st->lock); =20 ret =3D st->ops->reg_read(st, AD5592R_REG_CTRL, &st->cached_gp_ctrl); @@ -360,11 +343,8 @@ static int ad5592r_write_raw(struct iio_dev *iio_dev, ~AD5592R_REG_CTRL_ADC_RANGE; } =20 - ret =3D st->ops->reg_write(st, AD5592R_REG_CTRL, - st->cached_gp_ctrl); - mutex_unlock(&st->lock); - - return ret; + return st->ops->reg_write(st, AD5592R_REG_CTRL, + st->cached_gp_ctrl); } break; default: @@ -379,15 +359,15 @@ static int ad5592r_read_raw(struct iio_dev *iio_dev, int *val, int *val2, long m) { struct ad5592r_state *st =3D iio_priv(iio_dev); - u16 read_val; - int ret, mult; + u16 read_val =3D 0; + int ret =3D 0, mult =3D 0; =20 switch (m) { case IIO_CHAN_INFO_RAW: if (!chan->output) { - mutex_lock(&st->lock); - ret =3D st->ops->read_adc(st, chan->channel, &read_val); - mutex_unlock(&st->lock); + scoped_guard(mutex, &st->lock) + ret =3D st->ops->read_adc(st, chan->channel, + &read_val); if (ret) return ret; =20 @@ -400,9 +380,8 @@ static int ad5592r_read_raw(struct iio_dev *iio_dev, read_val &=3D GENMASK(11, 0); =20 } else { - mutex_lock(&st->lock); - read_val =3D st->cached_dac[chan->channel]; - mutex_unlock(&st->lock); + scoped_guard(mutex, &st->lock) + read_val =3D st->cached_dac[chan->channel]; } =20 dev_dbg(st->dev, "Channel %u read: 0x%04hX\n", @@ -420,16 +399,14 @@ static int ad5592r_read_raw(struct iio_dev *iio_dev, return IIO_VAL_INT_PLUS_NANO; } =20 - mutex_lock(&st->lock); - - if (chan->output) - mult =3D !!(st->cached_gp_ctrl & - AD5592R_REG_CTRL_DAC_RANGE); - else - mult =3D !!(st->cached_gp_ctrl & - AD5592R_REG_CTRL_ADC_RANGE); - - mutex_unlock(&st->lock); + scoped_guard(mutex, &st->lock) { + if (chan->output) + mult =3D !!(st->cached_gp_ctrl & + AD5592R_REG_CTRL_DAC_RANGE); + else + mult =3D !!(st->cached_gp_ctrl & + AD5592R_REG_CTRL_ADC_RANGE); + } =20 *val *=3D ++mult; =20 @@ -439,15 +416,13 @@ static int ad5592r_read_raw(struct iio_dev *iio_dev, case IIO_CHAN_INFO_OFFSET: ret =3D ad5592r_get_vref(st); =20 - mutex_lock(&st->lock); + guard(mutex)(&st->lock); =20 if (st->cached_gp_ctrl & AD5592R_REG_CTRL_ADC_RANGE) *val =3D (-34365 * 25) / ret; else *val =3D (-75365 * 25) / ret; =20 - mutex_unlock(&st->lock); - return IIO_VAL_INT; default: return -EINVAL; --=20 2.45.2 From nobody Tue Dec 16 16:28:09 2025 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (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 BEE2F226CE4 for ; Mon, 7 Apr 2025 07:18:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010300; cv=none; b=V9W6Pq7GOB3nFuVCdTcMrGtxM+rZPCXMxH+qPlCkhqJzuMh+iUR4OdDVQuiuKlCSZflyhIMcK9rmwl3tfimRBqjVAFIBfiv7XkbhVAwhAL2PaXxx3ml5SZQKhOZMXkI6yUOyQ6EsKLNaWmE9LtnpI4H8FPSpHem8smvhhZH3WPI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010300; c=relaxed/simple; bh=yKb2tGGtXxCNUOTqiL21FaJ7Q/pQ18+z3JJG5rRWGF4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=u6q2/3BkMNYCMKWvyy1iB1FEA0atr4uVyIPJh6fmaXCcwo7OJqFAZU4SORsHOobRH0eM0NlmnNXSoBVdjKFVtn7J2+6pGWYhVrVjcZjnuOIfOCilri44On1v88YTC4A4H8u5xFcANt6JNa3wfNv8iep23Av5cQHNzRE/i0HeZh4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=s1j3iBDL; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="s1j3iBDL" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-43cf06eabdaso36784745e9.2 for ; Mon, 07 Apr 2025 00:18:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744010296; x=1744615096; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=0zr9dH4mVj2rqDEhAd/rOCSxsNFKMREWDyIjOpr8UMM=; b=s1j3iBDLJ5a+l0jI1YchpfZOUKYmv1qZHDecXgv2yFM/9wwtBegWvzckNhoPcMiHPP H54FWCc4eeXivo+p1Sl9wdbJyoSc4ego5LtAHa0CgsKbXXpYdBGBYjwolo6Sw/9bR5SG uaL66SCa/+EYvDQvVApuw4FgyRPO7K4C5y9pAKPHfgQ/xHsZ3y6gBNaBodnI661iepST dSfm9w45ZrsM0oMLcEvGIH5KGyPKtHnJPJkhdd+YiPofksF3XY2pUVOHMYzvZkVrA+ZA JMW/mZkTDPYb5BL7MXgnPa7wtk/Am6PV5wz+TP0TnTzTkZ8mM3IxumG3VbH09xBNKUaN pQZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744010296; x=1744615096; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0zr9dH4mVj2rqDEhAd/rOCSxsNFKMREWDyIjOpr8UMM=; b=egVYb64w8g/24x3rZ1Z0BrVNlFx8ZULmAfhJmT0qkewtjy2G1Vd8cSJGnpKp6q/AQp lUYBebtFlc9VdXbtEBWYenPYw7dTsF/1k3AwaQBPX7p1DnQ63Eh51hA9CkjF3BKv1quJ DwulcD86IozJ+QEVDWd1zFn1VrJHMPVB4g4GaKiSph27II6RKkaQFGKYuIOtVEXD7pUv 09jSNTEB23JtpSChXBWmHGC+TNAXf6e8YkC6bG9/rMpPPRwc+Z5vS6fQ7aoLsbzN4r/L 5JWN0ejRfiZNeKy7sLVSXc3yGrqY2K+V2cnA2walLB9CcPThIy9/yQ3B30seXQqfizYU Gmtg== X-Forwarded-Encrypted: i=1; AJvYcCW6GILJ12D2cvDw3ILcsdk/RxcpUgqfiH0dRCVTueZLoXhlhTmCxDPOBk6lhtMmRFZmlKDmi1D93qx28MA=@vger.kernel.org X-Gm-Message-State: AOJu0YwmkgKUFv9w05/uHpQvFlxs8AbqYYyv6j12FWYJeuG/C1KdAWG9 alhpDAMU0od5weUGopRvggvwQa5sjuY0hr6ZSJIZKvB7zjHTy8uyvc4WFml9Z2M= X-Gm-Gg: ASbGncusOLeco+8mEzmGv/+sL0WUJKB/7HHPQc86XtmVSXtCMJf0CmfJ5q9+FUkQrGG Oa5SA9iGbzJ0MGrfmPFtu14h8I2ki4zT+J1tCcRT9GfvH9SmIwzPY0BbhUgvPnnq6bShnYwlulr SNKh7zcedFh7tiB9HVG1c7wdx5XpLRM8J8nwtIOys9k/DftI6OgepjJgq5CjzbiIuHalSzR2uSi geMILgCMlRYCWs4/4H+gseg4/eadn6A0FJ1Q8fdQszEObQOG3I4eTQUWyzuerBX8CfcAR7GOQ1K upSz2jM198B0pMRhzW+23rS88QCTvALWRylaCg== X-Google-Smtp-Source: AGHT+IH/9uwnlRnmaoIBikMBaRB3L0kc3rHBg2XlSEvKBxasD0/FPM+b/UEUjfpSWzqebi/oRdsMRQ== X-Received: by 2002:a05:600c:1d91:b0:439:9424:1b70 with SMTP id 5b1f17b1804b1-43ecfa18d8fmr136443605e9.30.1744010296161; Mon, 07 Apr 2025 00:18:16 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8c64:734d:705a:39a7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec1630f21sm125224455e9.8.2025.04.07.00.18.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 00:18:15 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Apr 2025 09:18:11 +0200 Subject: [PATCH 3/7] iio: dac: ad5592r: use new GPIO line value setter callbacks 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: quoted-printable Message-Id: <20250407-gpiochip-set-rv-iio-v1-3-8431b003a145@linaro.org> References: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> In-Reply-To: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Linus Walleij , Bartosz Golaszewski , Cosmin Tanislav Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1728; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=fvRt+EK60paf1O61oPqPBqlLRQ5+ti2f8yEUANnZO/o=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn83wze9ad+rXzcETMNxt0XZzZFqaeVLzfPfel6 h4IbhEu6pyJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/N8MwAKCRARpy6gFHHX csMuD/9+px1e8RHxtlxU8UJjN1DhM5X64s7PbCqXanGef6mcVLK/TXyjyM8wUQ9EaLRC9JO+o5U biY0C7MiIf+JGLHulKVJfwLs5UTVeciarYmOJTUIEueUJVkOpmbABbaEBifCNqJtBm5rPnf/+9h E+0UfBZCnyusN+wxVG/Bim0jIurBS88YT4rTd7m0hCjvWJcU45PPGM+xEYT46pxGrrSmgGoF/09 4j1vhpjvw3D6NECJyv3D+LTqKXDlcCn3PvFjGThs7r8J/LkYdoSzN21b73UjQvYATT/HlYTOq9f Y1u/hmcx+KBqjBCoeHckFu7FO5vTVlSOcOgAIgXUsR6nJre6rr6/YAyDIAwzYsPfqwcb+XPZpG3 efJjdVb5JTzFCV66OVMUDYdu6j7DVikSdl57dHId7zBso7wS2fp2PKD5w/h5eoM7RwogoRMzJLp tq2H9+YnttGOYtYf0O/Dm0d3XDlHarB97/kD4bmQnpEo98zmUjhlCVnutl/gkdrbAkaFdly3MSP zOnMKJ6mZG82/ezqINko1TiIvs5EWLGddTY1nqZf/6uyy4M6OQCbURa/oNGqAFXVfXUohuXOj7N Xo1sXJTxRuHA98KCv2/QWHw//o+5wKeKK/82LzgZAeTi7oJKdwU2tMt3gS7BBh7HKrrgEqCy1JM uLwC+SKNvaBpvCw== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/iio/dac/ad5592r-base.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/iio/dac/ad5592r-base.c b/drivers/iio/dac/ad5592r-base.c index bbe3b52c6a12..ad650dcd73a0 100644 --- a/drivers/iio/dac/ad5592r-base.c +++ b/drivers/iio/dac/ad5592r-base.c @@ -40,7 +40,8 @@ static int ad5592r_gpio_get(struct gpio_chip *chip, unsig= ned offset) return !!(val & BIT(offset)); } =20 -static void ad5592r_gpio_set(struct gpio_chip *chip, unsigned offset, int = value) +static int ad5592r_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct ad5592r_state *st =3D gpiochip_get_data(chip); =20 @@ -51,7 +52,7 @@ static void ad5592r_gpio_set(struct gpio_chip *chip, unsi= gned offset, int value) else st->gpio_val &=3D ~BIT(offset); =20 - st->ops->reg_write(st, AD5592R_REG_GPIO_SET, st->gpio_val); + return st->ops->reg_write(st, AD5592R_REG_GPIO_SET, st->gpio_val); } =20 static int ad5592r_gpio_direction_input(struct gpio_chip *chip, unsigned o= ffset) @@ -128,7 +129,7 @@ static int ad5592r_gpio_init(struct ad5592r_state *st) st->gpiochip.direction_input =3D ad5592r_gpio_direction_input; st->gpiochip.direction_output =3D ad5592r_gpio_direction_output; st->gpiochip.get =3D ad5592r_gpio_get; - st->gpiochip.set =3D ad5592r_gpio_set; + st->gpiochip.set_rv =3D ad5592r_gpio_set; st->gpiochip.request =3D ad5592r_gpio_request; st->gpiochip.owner =3D THIS_MODULE; st->gpiochip.names =3D ad5592r_gpio_names; --=20 2.45.2 From nobody Tue Dec 16 16:28:09 2025 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (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 9EE7122DFAB for ; Mon, 7 Apr 2025 07:18:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010303; cv=none; b=mVl0H3+55Jx6pASP8nr4ubO2u8N/5HpXQgXx6AskQ84FzkNo27HtmYulaj7hx9VOxLwJFGNrQi4NeREhwSIxC+yeOrDY1bGlZI5fyUt/3LCLWjtTbAFGA/bAIG+hS8OpbF9Wz937ye6ZdD2lHxvdsO53W4hKQsSFTydh8hVi2GE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010303; c=relaxed/simple; bh=JcjRt3IWWdiCtJbwqzp1v4b47hd64XOA+ew6annId/8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=I+6aaprDQAUZry9FUDLI7th5i2RUEfpXG6tWz2wB3yITtP9O0OXKyi+sGWWRO0YD/jdS15zwUwomnl/5RrTRCro/mHE6e/k4VcsRj5KqAEC2u6S8DOd4JRQAqpWTwYxyhaMfg823vl1ckBY8C5UViCbjbckcmNN7dPI2EvXSRr4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=k7LqlBq4; arc=none smtp.client-ip=209.85.128.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="k7LqlBq4" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-43cfebc343dso25277555e9.2 for ; Mon, 07 Apr 2025 00:18:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744010300; x=1744615100; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=XYtkHCFcaSF7UbWnri58lccyI2lE1qpEsdGVCNframM=; b=k7LqlBq4pkHIXQtVt4wzq67HhHkrY1si7SqU3CCi9l0K40cvBX7V7Ogk6uWqXLxS+G 5MtZRQIFSeSlRyikj72XOdzQ2WJ8ssc/CZFPoCXq58a2mlL1GyubZ0vvKozaiY3tGIpQ 5Z5tFSNjvaR61Ff1K+Zg28EvnHBNs778WK7m7K2+p6qgDX+fLL52TExnEPsHi8CjzQS0 9JAlTUcjLoBhXtqMCP7favLAmCuB4ILKMc7kPvxjTMmtr6H3A0aSImltvEDT8lL0Ln/o R/dogjuSWL+U9IqJ7qGCwc7gv56kuPoQBiwdYKt83b7WPz/1wGWmWamlsMcBFZt+nZYS LFaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744010300; x=1744615100; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XYtkHCFcaSF7UbWnri58lccyI2lE1qpEsdGVCNframM=; b=v+ejn5JmX5VZkBOfuH7Jda34JhzcmGfP+lZUWkOe7ebCng88tstD5sG6KkBrRuyLcc Gk76pBA6Rs00r90JRmaUg77+vuV409I7J/GmVMbZAHqAO8xoFZ+2qlQz3pFUgfbZwBgT wYKuh2LL6NUk0ezpDiCDxpWNPr/0QY9dKHazQFjrtpgbuCLNn+HZCVexiII5colPlPq7 sNmMnIK+oxAUdPSn0MgvFST07AZehUrABCdM1L2kTQP1e5iM/m09heXdSRWQEVFbsiTl sYrqPgxvw20jMPFY+NIl1bdjn+GbAzo+0UoJM0blJc4y7xIg60q5x6ElVrp0nGkxr6Qs CZRg== X-Forwarded-Encrypted: i=1; AJvYcCUW+g569bm4qX9yjEmHY+LVeYV606taytA1vyYsUdRd7NNC6T6yU3WpERFI4Kv73DwwvVh0YJVXffgcRJI=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8x1+xeO3E7X8pjm5AoJP9nT5mRFFPKnA8/Q9lhO888ckmEjky 6ofdrBUJ+0btESxMhwu4/zRl8taYIOS/2FeWGmTk52vRGkGPfb0tL6MB/loosR0= X-Gm-Gg: ASbGncucjhAtNup53ANxmin1xh0dCZYqBFjRvnFtxTW57+00B5vgpPml1CsQPrXOOu4 7kibRBidjsioyHhvGfNiNpB0WCVwF50vajio3tqRTjoVxEgZK8beuBW8VmqWo/SiCXF7Of8WoNC eum6BlM9I9WWp61Yb1s+5G5JFm0GUpTMckIsiuslxK2n9ObbH5pcUql5vmhsCpv5X8IctMCSC/5 fCLvPG9qCmGuKqFYoUbsBaKX3kwcN+qMQjODXabDsv+zOeMNuFul+BDZOeISjkKNfkGLhCefpUv NbmyH3ZfkXaEWcZYZUhICH/WkeyTQRBCyNqUftAorXeMYLAY X-Google-Smtp-Source: AGHT+IFJgSB1mfe2t5szPiSLNr2MNwqUf8v+9jwrmbgyH2kFsuYq3Qv/ef4JBN4s56UCzcSRvHeX/g== X-Received: by 2002:a05:600c:1f07:b0:43c:f8fc:f687 with SMTP id 5b1f17b1804b1-43ecfa04a8emr85603395e9.27.1744010297012; Mon, 07 Apr 2025 00:18:17 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8c64:734d:705a:39a7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec1630f21sm125224455e9.8.2025.04.07.00.18.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 00:18:16 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Apr 2025 09:18:12 +0200 Subject: [PATCH 4/7] iio: adc: ti-ads7950: use new GPIO line value setter callbacks 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: quoted-printable Message-Id: <20250407-gpiochip-set-rv-iio-v1-4-8431b003a145@linaro.org> References: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> In-Reply-To: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Linus Walleij , Bartosz Golaszewski , Cosmin Tanislav Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2122; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=2MIhT3UvouiWSb+JqPeZnzmfSS+HLRvIRYg5KBNUdDc=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn83wzY9NMbOxk6VjgP1/KsmPepcYuP2rlT9xHP EzAhaaVp/KJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/N8MwAKCRARpy6gFHHX cnZAEADY4UNBcOSE8f291z41AA1F2ND4+IVzRboTWFLvRw+4K1BaOrnd3ZLW0yDdokNkKCGXp1F 94KNmgK/lYxNmlQfVYU8N5Y1Pt6ss9q9f/d+VWanGAdv2UBp3I3d7OtrwgnmBAPB/lEzwicIsgt sfZsaPf5lNYyx3Jx9NIuCcfVRolZu/jwpY1uJcj8jTfZyM6eoAD2FTlqAR6WXBLaiAO9khXzzvr kqiRECyfrVntEMVIYATjhByrdw/x+NamoagDxFJZ7voEBVjZYLQ5b7zE+3U8B+4NFU/LJi6xCam zvRZ4l5N/ZP98/x0ypvjG+1nIrnNuZRQo+89QBDcgz+HPqC8cq/VyM067dUKJ/cIilIKi9JEjd4 bjRZvUdo1ymKm7HpwilINx+4nFjYu1a9Qji2IOUwvPFGbAFbtc/ndlgcnCO4rcyGy5CcERu1e49 Iu/iqffd0wgl6alpN7j0w44+MEwK3nw0sQSdS5AXD4MgWdJxrybBGmkpxcdsj9ynP8ryR5/t6iA WNIAAmUsJdTVSTJjFQIvAdEC5y+xUZ15rbP0FUmdaJ+wldYlpHskzODfNFucF+MEgxPtzsRFeq1 rf2cGaakRaIjryTMG8EFZSkR2pfnDh7Ls06Ao516+jPWA9WpN922ffqizx2UZg07tGkHTXTltOX nBMHrip0BRIKwDQ== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/iio/adc/ti-ads7950.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/iio/adc/ti-ads7950.c b/drivers/iio/adc/ti-ads7950.c index af28672aa803..0356ccf23fea 100644 --- a/drivers/iio/adc/ti-ads7950.c +++ b/drivers/iio/adc/ti-ads7950.c @@ -403,10 +403,11 @@ static const struct iio_info ti_ads7950_info =3D { .update_scan_mode =3D ti_ads7950_update_scan_mode, }; =20 -static void ti_ads7950_set(struct gpio_chip *chip, unsigned int offset, - int value) +static int ti_ads7950_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct ti_ads7950_state *st =3D gpiochip_get_data(chip); + int ret; =20 mutex_lock(&st->slock); =20 @@ -416,9 +417,11 @@ static void ti_ads7950_set(struct gpio_chip *chip, uns= igned int offset, st->cmd_settings_bitmask &=3D ~BIT(offset); =20 st->single_tx =3D TI_ADS7950_MAN_CMD_SETTINGS(st); - spi_sync(st->spi, &st->scan_single_msg); + ret =3D spi_sync(st->spi, &st->scan_single_msg); =20 mutex_unlock(&st->slock); + + return ret; } =20 static int ti_ads7950_get(struct gpio_chip *chip, unsigned int offset) @@ -499,7 +502,11 @@ static int ti_ads7950_direction_input(struct gpio_chip= *chip, static int ti_ads7950_direction_output(struct gpio_chip *chip, unsigned int offset, int value) { - ti_ads7950_set(chip, offset, value); + int ret; + + ret =3D ti_ads7950_set(chip, offset, value); + if (ret) + return ret; =20 return _ti_ads7950_set_direction(chip, offset, 0); } @@ -641,7 +648,7 @@ static int ti_ads7950_probe(struct spi_device *spi) st->chip.direction_input =3D ti_ads7950_direction_input; st->chip.direction_output =3D ti_ads7950_direction_output; st->chip.get =3D ti_ads7950_get; - st->chip.set =3D ti_ads7950_set; + st->chip.set_rv =3D ti_ads7950_set; =20 ret =3D gpiochip_add_data(&st->chip, st); if (ret) { --=20 2.45.2 From nobody Tue Dec 16 16:28:09 2025 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (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 3E95C22DF86 for ; Mon, 7 Apr 2025 07:18:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010301; cv=none; b=Ghz4Q2+D/9pxvmmCRAYB+xqQzjWRR9i8pfBdT3P5qrWFA0jM8r60ZyngGQsAQ09/ODhNx7+P867ogaArNj3+X+VeiDjXnPeG2umZJPw7OOyegIu9rg3iYxKxwhZQsidLPxVLgwZao/aae7VkQVFbhZiETiOq0/2R478aUdDEAvg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010301; c=relaxed/simple; bh=fa5cTkRDqqhhVl7VbbjXyrlh+4Fb8+6MIvJLxTQ35n0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HSvqOQN7pdpGH3SaqlB4HrEx+xmo8uBx0DELdTuDdpBlPskhq+0fpcurAQJr4gV4bbPawK7Mm7zQ6XHytWMtCNVMB4T1hM8P190x8Qor5xV61Mmvmtvr6+3VV0DRLcpl5DLZms/RE3MGumxGSBdEK5CANxU115NzDNn3MjaiWjM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=UGqeFo4f; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="UGqeFo4f" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-43cef035a3bso25865605e9.1 for ; Mon, 07 Apr 2025 00:18:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744010299; x=1744615099; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=xhxzR9twRT0d+wFu1RoPufbuenYk6hkExQ8ZTUxlkc8=; b=UGqeFo4fl0ioCqwVGldqEvRpW7ZOYntIvSdL9qAOkTyuyZyj4BsLDfukq211+weB/r OPfoomS7DKW9hT/5fSArxPWMZmUIyZvrepOjgmJpVG2dGswD0yZAZwkqfLmSst+r+6cx hS0uOet7yNLn8UFydrGNeA1ytTadbdXsLbH2aOQKGWgUESXM4eoC6WMd9AGvXnK7d3kf xgaKM8nEIWrn3kPrOUnrces0KS15vQytnJwIAa/jMxZY01hNSa9TCPf3yo49GgsjeNPG oDpTuOtJGP85ZnwgSHVV07JRZbggCXmUlsPlVdljssNk9JCokl7EGmRbfKJ+x19lcDrO ZV0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744010299; x=1744615099; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xhxzR9twRT0d+wFu1RoPufbuenYk6hkExQ8ZTUxlkc8=; b=hb04yScBRQN8GgxBcZ7K4oRlkt92j2qyE1aDnKDoBxB/Qts6F0sdCGLGAVYxsGp+dS YvdHhGKENGz8IU7I0qA5M80C8N91J/lXV8rxd+zvKumVKV831PeX2iXchmdKrNCJZ+ek BbLS12TS+UWmP8Mokxr2AkpGgM3oy30WRez9cyKzxsa1K8or+itNga3RQBTCAPXWas2B O9g2f/Kg6AUVrc7Z9NVlJl5rtN3+hRg/IpjecpkGFMIWwdqWI3zcdufENdWL7LZyPGTe vND/QPaASlHyYgU92R9YDKGfgTkHzkVY9ZSLNBBycCu0sJscNS3qB2JVepf2G9IgOtem VVgA== X-Forwarded-Encrypted: i=1; AJvYcCX6CoJlwZg/zarCY2e3l9XqLpycA+cedCPOhpN7MjFE0SH37pnfubfddCDHzTrodVVanvwqRqfW3hs+3Fs=@vger.kernel.org X-Gm-Message-State: AOJu0Yw1dwWEHfH65EZ7OqhjrC3m8AFoRKqh5S+0yTZXmPE8CrcX7nvb R6HFJKoMylb0jabOYhkizLPGFeqhgD2m2BtFphwqSRXSTtPaMj9EZxCHBJlkXig= X-Gm-Gg: ASbGnctguX1kDOLvvpWjD8YnoqxhSc9hb7lma6q6zRjzDJEaNq4GdFFYCZk8G7goIpI pNU7Kc+FlbM6xPT9R0PwjCPHh1GS1eMC1LNt6z1O7b1OyWj/pqNhEWhHwZATx8NEE8cLxcOciyU vnQy5UK6sTxEttYguvJH7w8L7POGgVCFsnvxEvEgoleHND7VpsSZjV58GcB5EQXWqffRW/CRqdD OwvXTebav9cpbN3X9ZPwSiORggiBDL2AOi38fePjwxadKd7CkjlraVDoKaEwiv92xKned8z//mh 2nAyvkGMwcJj0Gg5Oeu8/RyOIudX2XVvSEqKDg== X-Google-Smtp-Source: AGHT+IEEQ3IgiYXXskI8H0hQrZ/0JzuSRwAl1jb0RZVx7lz1HQP/lzeUUQGscgemWEtfywJxfZWEsw== X-Received: by 2002:a05:600c:c9:b0:43c:e7a7:1e76 with SMTP id 5b1f17b1804b1-43ed710c09amr62998745e9.1.1744010298832; Mon, 07 Apr 2025 00:18:18 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8c64:734d:705a:39a7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec1630f21sm125224455e9.8.2025.04.07.00.18.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 00:18:18 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Apr 2025 09:18:13 +0200 Subject: [PATCH 5/7] iio: adc: ad4130: use new GPIO line value setter callbacks 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: quoted-printable Message-Id: <20250407-gpiochip-set-rv-iio-v1-5-8431b003a145@linaro.org> References: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> In-Reply-To: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Linus Walleij , Bartosz Golaszewski , Cosmin Tanislav Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1606; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=9o+4uCrbiIXfKgm+/fV007oYqSqjRct9ZS0ApGPT4xk=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn83wzEtTvFQmxKS+7PuuBvSTB5CU+q0uhl8WJo YELb669MW6JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/N8MwAKCRARpy6gFHHX cuYoD/4oOVVae8g8AEBdQIk/D/lfjmviqihOcm4tLhTCMcEO2AmPpVRe9y8kB3aNPzQvuxolavt 9Ui5KIABZmi3+twx6sLnxcOTiwOTPsOVe/DXk5DYH4aBpzG2tJ8xWLxA9PAgEdHihE8zR8KS6F6 v3wB5m26dF8fRKlAgN87MvGagSO1crfm9PzPesvf/S5H0+p0obq7f/TK5xrtOcSDQh2DA82lNp/ 0jArJg3DX6x+2BfKdifoc5yKzVFhVCBbIFcFb6SYlcKv/tCu+vXlqhp6T8gkkrcfUqA6JiMC3l6 WyUYEFdA3G61IwFBxyAucGVOJSEPXKZj63VRxiBM77vHw7HfxlTuHomWzyUx9+OBcerEYUq73Jh vYSk7/fo2i+GOQtIAMoh2apxTgzqOsIPuO3Zh6RKdVjRFid8fxVbfX1Cm42Y9BT+UUhLed6wGM/ rpgB+ITD7aJDPHgIGFz8YYlMS4mVU1WQUfPNRTr1J7fprQjFxq/jv1vBhabwFZCjHYlvIY6aW6L EtMRdihuGb0w34CZiazMUh01KkAwDLsNdNGHshDqh6ZNI1OyfXsR8W3apRtXitZHc7wOAqudolA 70IHiyciRLcenZfcA6b+go8frxJ9nrRHaFgrXM6mTHtf9f8/G6wuZD6Pk7yKkPEzmOZlDY0pJ96 UIM/PxqKEVUGc5A== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/iio/adc/ad4130.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/iio/adc/ad4130.c b/drivers/iio/adc/ad4130.c index 0f4c9cd6c102..6cf790ff3eb5 100644 --- a/drivers/iio/adc/ad4130.c +++ b/drivers/iio/adc/ad4130.c @@ -522,15 +522,15 @@ static int ad4130_gpio_get_direction(struct gpio_chip= *gc, unsigned int offset) return GPIO_LINE_DIRECTION_OUT; } =20 -static void ad4130_gpio_set(struct gpio_chip *gc, unsigned int offset, - int value) +static int ad4130_gpio_set(struct gpio_chip *gc, unsigned int offset, + int value) { struct ad4130_state *st =3D gpiochip_get_data(gc); unsigned int mask =3D FIELD_PREP(AD4130_IO_CONTROL_GPIO_DATA_MASK, BIT(offset)); =20 - regmap_update_bits(st->regmap, AD4130_IO_CONTROL_REG, mask, - value ? mask : 0); + return regmap_update_bits(st->regmap, AD4130_IO_CONTROL_REG, mask, + value ? mask : 0); } =20 static int ad4130_set_mode(struct ad4130_state *st, enum ad4130_mode mode) @@ -2064,7 +2064,7 @@ static int ad4130_probe(struct spi_device *spi) st->gc.can_sleep =3D true; st->gc.init_valid_mask =3D ad4130_gpio_init_valid_mask; st->gc.get_direction =3D ad4130_gpio_get_direction; - st->gc.set =3D ad4130_gpio_set; + st->gc.set_rv =3D ad4130_gpio_set; =20 ret =3D devm_gpiochip_add_data(dev, &st->gc, st); if (ret) --=20 2.45.2 From nobody Tue Dec 16 16:28:09 2025 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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 602EE22DFA1 for ; Mon, 7 Apr 2025 07:18:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010303; cv=none; b=fX5goGdPaBT8MWOS16zlNck7CTtv/ir/cvofRr70CzFzo671C6lwCb8YvbslU53pdRtxsNGy+OR3nz0JIy2WisD5r+Pc376/KNU7zGIMP7Wnzw5wtEy33io61dt6Mz1ny205QaxQ+BYC5i0CiBHhtcGjffbSlmEni8gYdQ41wtU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010303; c=relaxed/simple; bh=pPqlQo3DRiKCcYkAQJQaHw1DlE2TLJ3LSJd2MBRf7n8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YBSqvNmCxfGO3y4gbO9F7oSnPJdPqMl4qQ0sncJ7eYrRxG/Wv6Gh/5tYTaqhpixdVbpcGJ6aPhLiODBDRHTSlVN46R3NyMTF3EGlejsXfWzzPdETTr5NsWHzFomZC8yTFBoTkBQYYhD8rcPnIgO78Uad/kv093wnnQlvnxDQ8T0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=g9XNPaNQ; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="g9XNPaNQ" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-43d0c18e84eso19958875e9.3 for ; Mon, 07 Apr 2025 00:18:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744010299; x=1744615099; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=iwTUwTMxyTj7zTjMDARLn6ufuL/C/9AMOfMQrrdFbkc=; b=g9XNPaNQC4oYWVm+6h9gAbhMNlt10ukp1wIcvu4SNr744z4QPV+paD/6y+LcBNL+mO 8K5msOvoN3yuPt5BVl4f24CfWLkRv5ILmIeWyZFQfncpP7EMy2A2GwOG91cxJFTIXYA1 n1PSSml65vvaCmurFfs1ad1KC61zMX3osIkMWGI7KG2hofDmChw8yzxE36niBKS8Ed55 4Uh17Ycku4Yb/t7Z+II8+Utl8vcw602jtNeoXXHIVnzlh6VFytv4JUoMx7zn6icsFfem sATjf8LoHbEF88SMhLrZIQwTvrhBbkeoNmroGgdl1rFLWsm/q+d/9rX8eQm4oq1WwgW5 NZfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744010299; x=1744615099; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iwTUwTMxyTj7zTjMDARLn6ufuL/C/9AMOfMQrrdFbkc=; b=MH5/+77+LKwDP619rblLvtdfzvg34vBtKUDlmquL6A26Gx13IExoTNMcBsS/0xOoY/ ZU22qf/K9QOJtK45+a+gNdDw0+pEe4A1/9FdskVMqyIpTz4/1cFHWTUyWtjJfPUiwmww s13gVrEK/VwCanNbwAI0c2Q0E8R9igOT8C72U8IoFn8OtfIUB8ASxJs3EX5xgZCHvZSt ZEpFi6IYUa59yEwm2+ay2RZ8xgIrh3n5CDRw8dgYNhPlVE7jayyMdGgA9ben9105rYU7 q/Vj2Y8OjbLBP3xLYjYvrgEKeP+R0OP0zXA4++VzY+MNeKzAh1+Gh0ALMfbIehd/MCF/ pxGw== X-Forwarded-Encrypted: i=1; AJvYcCWJ4IlMSTGGjRt0Ji98uUTBoTu/2z9SrZ+GajT3lHshOJaBgUlsdvvZD0EBdwfet7lbZvD5Z3AL82f1bws=@vger.kernel.org X-Gm-Message-State: AOJu0YwqFuWsDtMyrmvSweDCAl1nEW9VijsL0erbzsNegvGdkWSKcGXB gipjPt/ABFcwQH+R2yynh+ryxvp/4cauggqezI1RUra5/QIgEaXR/E7SBz/k/iI= X-Gm-Gg: ASbGncupB8aqhtTwMgXMzV4205k4JE/lqfArAHgg+dyOfAw4brEnJXlJfk6eCeNLeE0 pGDpTTp0lbwOD1enExTocR7Mt0k6wsL5YPWr5M9IIgn90HCfX0yI+L9NXSN5FEfnYNQn4ZqHSU2 2Q93iumBlQ7rZSU9Mf0/5B74xQ1RmqraCgek8gvuBVtSN+0SGkLyY13eoToZl5GBKgCPF1w2jK0 s6iKL50LmRLOtp2WCVXmM9wAQ3PTY6LT3rOXQN9Tfuoc0qKAOJ9hIbtz8PH32xpvc+328jFt92N +DKVZ5/X6NWVPFDbb3kWmDqGMjAoojRaMzP5Aw== X-Google-Smtp-Source: AGHT+IENyUPV18NEnfoEqkpsuV3ny2o8e5zb4W3ikuWG0pOkgQW6APi65lXejXodbaP0Kv+lSKhT4A== X-Received: by 2002:a05:600c:4e12:b0:43c:fc04:6d34 with SMTP id 5b1f17b1804b1-43ed0d9cdd5mr81345135e9.20.1744010299665; Mon, 07 Apr 2025 00:18:19 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8c64:734d:705a:39a7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec1630f21sm125224455e9.8.2025.04.07.00.18.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 00:18:19 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Apr 2025 09:18:14 +0200 Subject: [PATCH 6/7] iio: addac: ad74413r: use new GPIO line value setter callbacks 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: quoted-printable Message-Id: <20250407-gpiochip-set-rv-iio-v1-6-8431b003a145@linaro.org> References: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> In-Reply-To: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Linus Walleij , Bartosz Golaszewski , Cosmin Tanislav Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=3029; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=BJlj3nSl7FlGTWhuoQWXENcxnJ6fTBwNzUrL3zDx7YM=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn83wz/6gN2pZ9uZ2J+TYi+fGOTYcTCr9DNcV5+ qpKmZTNKJ6JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/N8MwAKCRARpy6gFHHX cp7nEACa2YrkHZJCjXew4GaYZASgQgQyOjwAV2GmYwTYK44E+6Aw80cdMUo3tuT4PSZquNigb1O nf7NvCHVazoztyDuI3Osn23FD4Fu1RO1UpDQUHTIilQw9SYIHFhTlVFI+UxIPgYDcP9xZON95F+ /7vzLMsdAnRQlRuytyKrF9CBGha/mdaHUMeEsnn/82D614ulI/GvsTjy++aZnW6bdoQuFEmeOCD VslRezlE3Wt+c6nBHDT3fEU/ki3GedAeFuvCTvZFkmaBvtlAqlGf/noKYoAHfwEBUq7X6DRLClJ lXKDnYLzQT6Hk6LjVV+J/WCzWk1Y0auf6lK3+KjmkVNwcETajEg+dPiGGlnYAPM7Nj4zmz0GQtH r7BCw4blQ8UEH+UNkdmRNmqg1Vrtfr2PjLVumVCgZT0f7WXWShrmuoUJ5UdTDZ2VeGEc3myU04m 61cjAit6toCB/KeBd6hfQf0LfbvD5fzdCrKcN5Es7H8qevzJCE+/5vir8yLpnCPQQRp+J+n2GVQ go9JuCjSZYqHaTXQpNJl36LeIrdRfMMxVBaLCFuQL696lXjLG2ko9gg/xN2w7Z6R2piCd8gx5Il xFlq9sf9zFl1/w31j/GR/+XguCtd75ekavgtf1nBdXhOBScmh3uz3fKEbWXRZ3ap+TRa7T0M26c 1dqfu27ctqfFDVQ== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/iio/addac/ad74413r.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/drivers/iio/addac/ad74413r.c b/drivers/iio/addac/ad74413r.c index f14d12b03da6..adfa14c4b06f 100644 --- a/drivers/iio/addac/ad74413r.c +++ b/drivers/iio/addac/ad74413r.c @@ -276,8 +276,8 @@ static int ad74413r_set_comp_drive_strength(struct ad74= 413r_state *st, } =20 =20 -static void ad74413r_gpio_set(struct gpio_chip *chip, - unsigned int offset, int val) +static int ad74413r_gpio_set(struct gpio_chip *chip, unsigned int offset, + int val) { struct ad74413r_state *st =3D gpiochip_get_data(chip); unsigned int real_offset =3D st->gpo_gpio_offsets[offset]; @@ -286,16 +286,16 @@ static void ad74413r_gpio_set(struct gpio_chip *chip, ret =3D ad74413r_set_gpo_config(st, real_offset, AD74413R_GPO_CONFIG_LOGIC); if (ret) - return; + return ret; =20 - regmap_update_bits(st->regmap, AD74413R_REG_GPO_CONFIG_X(real_offset), - AD74413R_GPO_CONFIG_DATA_MASK, - val ? AD74413R_GPO_CONFIG_DATA_MASK : 0); + return regmap_update_bits(st->regmap, + AD74413R_REG_GPO_CONFIG_X(real_offset), + AD74413R_GPO_CONFIG_DATA_MASK, + val ? AD74413R_GPO_CONFIG_DATA_MASK : 0); } =20 -static void ad74413r_gpio_set_multiple(struct gpio_chip *chip, - unsigned long *mask, - unsigned long *bits) +static int ad74413r_gpio_set_multiple(struct gpio_chip *chip, + unsigned long *mask, unsigned long *bits) { struct ad74413r_state *st =3D gpiochip_get_data(chip); unsigned long real_mask =3D 0; @@ -309,15 +309,15 @@ static void ad74413r_gpio_set_multiple(struct gpio_ch= ip *chip, ret =3D ad74413r_set_gpo_config(st, real_offset, AD74413R_GPO_CONFIG_LOGIC_PARALLEL); if (ret) - return; + return ret; =20 real_mask |=3D BIT(real_offset); if (*bits & offset) real_bits |=3D BIT(real_offset); } =20 - regmap_update_bits(st->regmap, AD74413R_REG_GPO_PAR_DATA, - real_mask, real_bits); + return regmap_update_bits(st->regmap, AD74413R_REG_GPO_PAR_DATA, + real_mask, real_bits); } =20 static int ad74413r_gpio_get(struct gpio_chip *chip, unsigned int offset) @@ -1424,8 +1424,8 @@ static int ad74413r_probe(struct spi_device *spi) st->gpo_gpiochip.ngpio =3D st->num_gpo_gpios; st->gpo_gpiochip.parent =3D st->dev; st->gpo_gpiochip.can_sleep =3D true; - st->gpo_gpiochip.set =3D ad74413r_gpio_set; - st->gpo_gpiochip.set_multiple =3D ad74413r_gpio_set_multiple; + st->gpo_gpiochip.set_rv =3D ad74413r_gpio_set; + st->gpo_gpiochip.set_multiple_rv =3D ad74413r_gpio_set_multiple; st->gpo_gpiochip.set_config =3D ad74413r_gpio_set_gpo_config; st->gpo_gpiochip.get_direction =3D ad74413r_gpio_get_gpo_direction; --=20 2.45.2 From nobody Tue Dec 16 16:28:09 2025 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (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 88DDD227B95 for ; Mon, 7 Apr 2025 07:18:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010319; cv=none; b=S77lsGLICHzccAVb8T7mh5Cq0Keb11HiWX82iaow9XaPkG3RM9kHYd904xgzftDnBjqM0dvH3JbyEeZOAOSiayYvy4/LprtsrkjKA8gKf1fhT9W1MnUlsTZttYl4/9EwLGfS9fayOeO/KrggAY/RqMHWB/igedvZmv86/Jeoww4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744010319; c=relaxed/simple; bh=5kdF5oVUy/yps6X9BImufh8OuKxxdQ4BjJ7Qv2H6pxc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TxuNsNPcDPHoU2Vm80ZxhiXJEOLNh3DNktUhr8oMAW7Sy+0v9riWF+xE+aZ3NcbehypDN0+UfcuVKqzmdx/ZsSs3ZgWwcY3ucpmzUGOk2Ohyob1H7BNkeNo/etsEolOQsH8UMPn/SR+gRSfivdR0DpHsjDiXB9IR7Il9HMy3feE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=MatPvXe6; arc=none smtp.client-ip=209.85.128.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="MatPvXe6" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-43cfe574976so26700575e9.1 for ; Mon, 07 Apr 2025 00:18:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744010316; x=1744615116; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=K/lQSP02uZhzaqZfFDZ+bFMWR2NaVs5b5QtoM2HpE7Y=; b=MatPvXe64+0aWbA3s/4/FrI//Kmz2mSQ+u34tLBnNCnLKaEIWKzvISQ0N5dQRbYmz8 3CE0HgUPDiEa7k/+e7KJ5hTk16TIkU8z1vnfagkzDXYINVXVVptPnC07Ai1pPPb4gr+f iLw2/I/XHCnDFV/mxoAdTFxhuEK3OIL+qcgC2GsB6YQiLtpckiHhAFXKHN1BmMBvcTc/ wORUqXBUfMaPiAZSvrXIcdJxW/jSP1Bd8bmaQ2gapuxKDOgYXHq5TjEQEpYo4YwhlGS4 TfSm1Szx4cvwNCGk4SLViWWUXGE2CmAmHSVGp7TETz5QIGwHnSiKh4IocpsCWkzQlXZq SR6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744010316; x=1744615116; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=K/lQSP02uZhzaqZfFDZ+bFMWR2NaVs5b5QtoM2HpE7Y=; b=ZE4zzVW2IdMU2jnDsWY5iC/NQOzI4EDy9hA5HwMGZDGauk+tQ4jNNIm4EQPZYBeVUq 3/nkM0d5qBO6ImlwESrQmwUJQG+PT163m+r+5J4p4xNDYJyWVE8RCZs21e3fmm+47JhF hcCUZzTmyXeK5R3p2wKvFlNCjYP50vxfE+gw/G/anSHS3NR/V9EPVZ5SW3HbWU2++8ip BPlcyv4TrEr3ykzxRpN4YHCbKFJkVlPkC899rk/Xi+iLdA9okB0CPY5y6WjsEF7n+osM jLwD72Iv9JFYZwXGweImFyNC0C2v2ERqzcGuzZnI1GCLfm1iR705Q7rrwkuTVvlmB6es Yl2Q== X-Forwarded-Encrypted: i=1; AJvYcCXLaTRuzBSyZoaUGPp2R7GkJ9yuXEtaNw9OJ0E+iIKxuMHlKSU/hyL0zKAvNEEA7VFtVOF5yONcOlDY8sY=@vger.kernel.org X-Gm-Message-State: AOJu0YyNa41f9O9v6JcpNczdm0RgFvDa1+Pibf6YUk3+RAYOUYaNgduh 391NFjLwfXhBXwtBjvKVNL5e9jb75gkO7tpRVCSJKmvuFCbj9vLpsSfbPy4ZQpM= X-Gm-Gg: ASbGncvG0Jdjt/IEekH/ptvTWieCKuyR4usmm0xSvJYze0MTuGDQqyEXTNV+SmGMzJR uXuzd1qwWE+etSZZ3Kx7YmSlD4Z/aKRL+Tl9KqA5OUvbMg0qrZrwmjrFVqmKNMuOwk/dsp/3/h3 N0da1n0K3J1c2Hf8xLBOoxDd/5dFAVhxQWV13iyLPjGoi5ECDCVP22UaXW/u9orcUZ28Kd33KE6 u9kbet/MlScQj9d9V37opoVn+ZoggZkOPOjrULtRvR2gYt+b2e4SAEIQPQgIpdBHjAogfSbvNXm RQV80md44ZzNVEuGIHuLVh24XDTHOhPNeXqHMw== X-Google-Smtp-Source: AGHT+IHZJ6eZKGM0X4E3G3AiVSKpRFA9oT3UOJNHqKpzBidSstN5tYKbajNmdPvNjyMO/2yji8ci1g== X-Received: by 2002:a05:600c:4f0e:b0:43b:c0fa:f9dd with SMTP id 5b1f17b1804b1-43ecf9c3224mr81160555e9.25.1744010300476; Mon, 07 Apr 2025 00:18:20 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8c64:734d:705a:39a7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec1630f21sm125224455e9.8.2025.04.07.00.18.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Apr 2025 00:18:20 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Apr 2025 09:18:15 +0200 Subject: [PATCH 7/7] iio: addac: ad74115: use new GPIO line value setter callbacks 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: quoted-printable Message-Id: <20250407-gpiochip-set-rv-iio-v1-7-8431b003a145@linaro.org> References: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> In-Reply-To: <20250407-gpiochip-set-rv-iio-v1-0-8431b003a145@linaro.org> To: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Linus Walleij , Bartosz Golaszewski , Cosmin Tanislav Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1869; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=GM/OUTdtJwVfHBffPnM20PvdLToT9f+xlEL0CqiIT9o=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn83w0zT2RcvbxxdDl95J1of6Esp1CJCtG4NnBT 9KjTKwWSzGJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/N8NAAKCRARpy6gFHHX cuv7D/wJ8rQB9Y9DlVg0wZNX4DBaBKetOrAncRCE3OlQmy2QTip8kUA5d2j0dZOLtaYHSuznZ5Y ADpgEA95zc1bdV+9kVNSlvEL3nek/u4FYhCBOq7JyMHxGw7BzrS5yGEClJBcswxBIVyZcuMsLK2 qN93D+ck9WHRZBZE8U8RSOnGXfPUgFTRMSvDOp6DkGPOFfNYauVIudkYRurEjPHNyoezOEQwjxF ymy7wzw+lx0gvHkiCXF1LmnmL/e/j2tvJ9XO11pT9tmabmgyMMUaJI6sL+N3N2oLPq/ma+1fLc0 BnSQks+2lCnB+XVkUTahI+AB+IuIW3yifmZGt3cxK82Wcnjhf2uXswwx8p8W/zCq91/P1rc5L5C OCLyH2t3VJMdgkT+qm5LM+RaLkS/Xuq1JYGj/fWtiQy210zvBS32EghCDXv371F1DL4CS5KgtzO p/hRzaa6j4vd6MSG8NwXNImPXTUQqIvbdV+DENtr/RYKX8PXmky3LRt5MOvxjtP0x1EUw12SUSL ARiECEfbnshwoV1PZN9yywQMSDV3iKFs2vUcSF/5LkHqRa7NDni5yZOlHqWguvxcsxT0Zspi+OV VhrRnAS/zN1qr+lqepcZa8lDehr40lw0wA3gKwdz8haFRXS0asf24nMmq9uvTLBL1aRPJQGnuYt Gw4w2DyrGQIBw6w== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/iio/addac/ad74115.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/drivers/iio/addac/ad74115.c b/drivers/iio/addac/ad74115.c index a7e480f2472d..2a809e07526b 100644 --- a/drivers/iio/addac/ad74115.c +++ b/drivers/iio/addac/ad74115.c @@ -542,18 +542,16 @@ static int ad74115_gpio_get(struct gpio_chip *gc, uns= igned int offset) return FIELD_GET(AD74115_GPIO_CONFIG_GPI_DATA, val); } =20 -static void ad74115_gpio_set(struct gpio_chip *gc, unsigned int offset, in= t value) +static int ad74115_gpio_set(struct gpio_chip *gc, unsigned int offset, + int value) { struct ad74115_state *st =3D gpiochip_get_data(gc); - struct device *dev =3D &st->spi->dev; - int ret; =20 - ret =3D regmap_update_bits(st->regmap, AD74115_GPIO_CONFIG_X_REG(offset), - AD74115_GPIO_CONFIG_GPO_DATA, - FIELD_PREP(AD74115_GPIO_CONFIG_GPO_DATA, value)); - if (ret) - dev_err(dev, "Failed to set GPIO %u output value, err: %d\n", - offset, ret); + return regmap_update_bits(st->regmap, + AD74115_GPIO_CONFIG_X_REG(offset), + AD74115_GPIO_CONFIG_GPO_DATA, + FIELD_PREP(AD74115_GPIO_CONFIG_GPO_DATA, + value)); } =20 static int ad74115_set_comp_debounce(struct ad74115_state *st, unsigned in= t val) @@ -1580,7 +1578,7 @@ static int ad74115_setup_gpio_chip(struct ad74115_sta= te *st) .direction_input =3D ad74115_gpio_direction_input, .direction_output =3D ad74115_gpio_direction_output, .get =3D ad74115_gpio_get, - .set =3D ad74115_gpio_set, + .set_rv =3D ad74115_gpio_set, }; =20 return devm_gpiochip_add_data(dev, &st->gc, st); --=20 2.45.2