From patchwork Wed Apr 23 07:15:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 885140 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.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 787D61DE4E3 for ; Wed, 23 Apr 2025 07:15:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392522; cv=none; b=A8AzUwE6g0qmG0dD3AE6j//5DqUvqubwYEG8ljrfPD7nHq2XyVdXtDcWkJZ3s3qh3vhmoOBRxJW0+QGvX3edBDLnmLc3mSDC9jpSj3x7i8K95TUsOV1sv/v5cn06HME26gAU9EYqiG2+XwZ3ty8JATDN1M0PjNCMxDgkXbHP454= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392522; c=relaxed/simple; bh=2cFJXYo0w8FqSMoLTGOzW7U788xqfufg1/ACcV2UDhI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Lb+t6K1nFrPPhVRmTQ9vTKb6HugpvHzapEXSYFBgVHamG99xthwk/aa+7f2JOd7e4z4u0S5qMzYi0aCvBqQiSNyL5WuaTbDWsugnmyyp9gJAT68ZGYy5zRNGuwtP8coix/Xi8afOROzBi5FkDXaq3pilGaD5xKP6kJRtCKD4C6k= 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=cZX0wPgz; arc=none smtp.client-ip=209.85.221.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="cZX0wPgz" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-39bf44be22fso4156600f8f.0 for ; Wed, 23 Apr 2025 00:15:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392518; x=1745997318; 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=1jpIbuhGqJno2oGiD2+OmhnBmP+B6R6TyA8FsjUZXAA=; b=cZX0wPgzyn2GdQ6bS+2KAx9wR76eRw2cJUmq28vK7LArhApUA2/i7BcKdkrFUmyPmL K/SsUgM2m60rn1JKy1XIW36en07Lecq2wLwAOg/d82HaUQUuTTUgdyyx+DQK6Ntj+8vq aJ9kh/RY1hws9Do78EJIzMlgkrb6KcymRWnCHmbJaJ/tRItth2zVfPxuMe3zSy+CvjlT SwXFed4whBxJPj2KsASqyyHpMCvxM9fiGv+YgStZCMBHRuUGUZFpvw8hJ4siWhecPvoa +rmq4Ow5l7Ey9g1EYenuOuSP8AzCyNSh02IzgnlhmDEC37Mmbu5qPpmX+sLnVSSK/wZd rT+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392518; x=1745997318; 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=1jpIbuhGqJno2oGiD2+OmhnBmP+B6R6TyA8FsjUZXAA=; b=hQcJ2vjkzKTw30A5qS6cSi90K4UMQkpSXH0vgs737jHiBbqc4gvzlmI1WvwP5bI4hP tAAY8LxjCVYbYzWQVpcfI+heN0anPJbzJKjYLyAV+vLY/Icn89i+wGjyvm5Ax8oJANsp /NeQKX+9igiAPyxsNIDxyGbvDHIrnCuFgA54xCG3tt7TOEM82qfsZWQoHJBOkq7aGS7J 9egYRvQ2vGpO3Gz6G9PqimaJ96zMPyS3YN63BEGM7exaOtMemJEihR98gZPpvRjggyHO 4yk4aWATwmpEdlrUVi2bJ0anC/k2Mpjr4vsA86OXtA0JAKXzBeIbF+pVb2fX/IB/2A6Y +UXQ== X-Gm-Message-State: AOJu0YzF4sl39lBRD/qG7nMdP4/5h8Xwc8E9Pao56Ni8Sqwd5rLZliIu EOJqiqPWv3yBUfZ1qBNEeqlB028Hp3ncNnDCzku4N0UhrdpvFpM5Jf3xHyb+RYw= X-Gm-Gg: ASbGnct6/kU0tPiNDR+b0vEzbksETs0PFHj0PTAJvOtorNLV7BHyWV6wJQ11HMcfSkA OWOI6TnM0Zt4BtOpTotbvukZqybbbfXz9Noz4vKjTi2dj9lYXItr8/2aFurEdx2L+uWUvCQWSEe UeaU+Uhabnesj6hsLhZ67v0LOpvESGo1hZ/RhaPc6+daEUhBrvQ9HXsgaP3CV6bNMhDfBK9AhQ3 WEjVFs6WvnIu4qeo+DE65ACsZYBy4B2udub69gahQg4XOsCQzV3ESMsRw9gdb4byJfkpB/4dj3F km3xO+l3RJWLAKNq8Xo6CGoJDhXhcqr95w== X-Google-Smtp-Source: AGHT+IGnUpS9ou6nffd7s4SVUQaTSNl4pQx4m4r5Zz5uifmJEfnPn7s/u9+lgkiPgaAvunq1Xc6dfA== X-Received: by 2002:a05:6000:4310:b0:39c:119f:27c4 with SMTP id ffacd0b85a97d-39efba5b778mr13229816f8f.30.1745392518529; Wed, 23 Apr 2025 00:15:18 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:18 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:04 +0200 Subject: [PATCH 02/12] gpio: imx-scu: use lock guards Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250423-gpiochip-set-rv-gpio-part2-v1-2-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1992; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=MkOnT4yNUZeyHThpCK5EaJBEstX46Cy8bj/Sje8L+og=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOBKq6/ZTVbZPDWRuhYrH8TZUsVagJXdkY5i QrnwxvwAYeJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTgQAKCRARpy6gFHHX ckEeD/9l4SbUhQKoQaEIERaYqDCzXTHhqB5KuenMgC5r/g5sYiqxqQjudVfEJavtD4haF+6aS9o xBIvX9GLhKUl5ZIikmZsrdlMshgyIY28XvfD/BydQE7ZJUgLGaEW4ZjytZz1E/tb5W1O/0WR0NY hshNdM49zRWRWZX1Nj4xFECkTnuriQt6vmLJPjpTRc9vO6lI6hRu44vwjuC1+TrsGWo8E6drr5H shZ1C+A2LYp6h2edfZQsuuJb5IDheLLXrvKO4LqnN15DZFRU6Y6wTy/WreZUw6PZm7I0cUftKdc 0ScZ/KPtiTI0XPv3J5Q/skCvJBb8trn1KYQCEEo4Mr2kmHiKvQbTocvrnd9vHZm6iiCV9DUqHgE tZMYBL/xY6sxHdGwez2RZp3AwIv45VDRo9qEEPgDwPAjZSPISB9pOVdqLbIcTQqz4dAWvTiPBb2 tlYO46y6cpcw+IgSpYcXNJJR69S76gYbbfqTlXnIbrvHyPBN/aFH/dMKoKT5FPIz1PhwVILoE2Y 6dyGGas9foRrvCR4ndO+4uzKrs8XDjvws3vVumzhIUtsJ0W7NHvpiVOHfg7OW3efAMUSP8oyphB byaiS/R0pIxiZ+DHEKog1C2cE0qzDut0dyfGx+V+wagrqQ3BRdYAo1aT06StAe6hSgK/ej4OGdU +WVTqdlbOWnq5cw== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Simplify the code by using lock guards from cleanup.h with the driver's mutex. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-imx-scu.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/drivers/gpio/gpio-imx-scu.c b/drivers/gpio/gpio-imx-scu.c index 403d03f18122..99df95e65820 100644 --- a/drivers/gpio/gpio-imx-scu.c +++ b/drivers/gpio/gpio-imx-scu.c @@ -6,8 +6,10 @@ * to control the PIN resources on SCU domain. */ +#include #include #include +#include #include #include #include @@ -37,13 +39,11 @@ static int imx_scu_gpio_get(struct gpio_chip *chip, unsigned int offset) int level; int err; - mutex_lock(&priv->lock); - - /* to read PIN state via scu api */ - err = imx_sc_misc_get_control(priv->handle, - scu_rsrc_arr[offset], 0, &level); - mutex_unlock(&priv->lock); - + scoped_guard(mutex, &priv->lock) { + /* to read PIN state via scu api */ + err = imx_sc_misc_get_control(priv->handle, + scu_rsrc_arr[offset], 0, &level); + } if (err) { dev_err(priv->dev, "SCU get failed: %d\n", err); return err; @@ -57,13 +57,11 @@ static void imx_scu_gpio_set(struct gpio_chip *chip, unsigned int offset, int va struct scu_gpio_priv *priv = gpiochip_get_data(chip); int err; - mutex_lock(&priv->lock); - - /* to set PIN output level via scu api */ - err = imx_sc_misc_set_control(priv->handle, - scu_rsrc_arr[offset], 0, value); - mutex_unlock(&priv->lock); - + scoped_guard(mutex, &priv->lock) { + /* to set PIN output level via scu api */ + err = imx_sc_misc_set_control(priv->handle, + scu_rsrc_arr[offset], 0, value); + } if (err) dev_err(priv->dev, "SCU set (%d) failed: %d\n", scu_rsrc_arr[offset], err); From patchwork Wed Apr 23 07:15:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 885139 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 22037267716 for ; Wed, 23 Apr 2025 07:15: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=1745392524; cv=none; b=WoyN8wUP7nDBNnJwTs3cwBzH3fSnce4RCD1NF2vPMcL/ttCe2w5TSACtX7XGXIUvMMIEwDyatfYDWVgD268PmXS9CUQcTRAoX/UdrLV+YHE/Fn4B/U8m07mXx1RfJEXis2z9p4Crowmav3ej9qLgY4LfMOjy12GUMlTznCMWv5U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392524; c=relaxed/simple; bh=580JJg8Ww3ZiyIW4O3yV2fBLgEg8aiONXpvmsEP9WsY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DjyjorKydCjUy7tBGFPHk5srrYWfmqmwgQ8CbAGx1sPe8bql1ov06kiyDYAY8pwguQwhUvtbjOPm4RSPXam3KbWJRKCZa89hwqa6cFHHsO6ia7qslWCsXLRlUDevlA1iX7m+k8UeQwqoCLeMHtYSKlfsOCxqf/v1nKeYfMh7uvM= 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=jxNoPTEn; 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="jxNoPTEn" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-43d04ea9d9aso28371605e9.3 for ; Wed, 23 Apr 2025 00:15:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392520; x=1745997320; 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=G2qxZ5SNufiuhH2/QCBic5ml0Ty+5BazjFOvOXbBOTw=; b=jxNoPTEnq/+0Tcaixz3OevV5NG8vqTM9uQvGcOsjPSrn2mrGiOo/D+JGRWVdRjP/Mm KENxEqxLdWgJ6aYajFmmljwqpp6LK7NndDyKwvAjmqviJ7BiwpOXmP8L3b80VKWlXfgK gGhcDL0IsHnLn7gSZzCPAs1T5FE4s/Ke6GMH1ATbXV+mxxaNtEvMMoWNo3fT28+J07K0 Iuv1rGIzDPu7Mlb574+KAMhD5kOmxfmldnf6MoUjhYhWJkPb4mn+B8Ju7xBGuRuyvwdJ 5uWGPj7+wruYp8WDR4Vjjyv9VxguYtxOrhjwmR38PZKdJX1UAS/mdwvqfKd3bAtb1rQS 6yBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392520; x=1745997320; 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=G2qxZ5SNufiuhH2/QCBic5ml0Ty+5BazjFOvOXbBOTw=; b=T2jjYMfdUN/hFX6etN513XdVKUi59naMl2jZ9+Ne6vv+HMyhIxILyXCcrGSh2kmeGV 6gS9fPM1bArOqHMXdej1tUt7qqW7Yd5IRPvtEgGJtBNJ7WbPWd/9rHgO+C+V2mUoCy0D 6pcJWex9HGAfvnYIiODWSNjdXVIrtx1wcJ9UNqFeqlHD75j8CEuFqmo4rieiehzapa62 NZg8JDeAJPMdg/5GQG1sM0KS72wg8L+wKfWGmv1khb29bO/13qmxdbczpAVzaM/O4TPY iQ6wYGlx0hjlfyMhngKK8n16EXcBnwM6oH8Hw5dCNoEDLvYZoggCraESbQym4KrhyKfI dGfA== X-Gm-Message-State: AOJu0YxFw24/JJOownCIDv3vk81sI3BFRjQXBz9is5ytLQQkEeUPzS1d vr8qOGal3t4dPactd0+NpzjmtCl4E5MJiPzWlSrVcYgF2F6hGWS8gVWiRck2Lj0= X-Gm-Gg: ASbGncvX/5Hvvs7gZ+LNAlq9GA4ycURDr01n/+hWghoMipzIElnh5hPm+gFv8WtBezf J/FHuV2G2t1B4O+Pzaqs8rM9nfQ2bQ4Tv75GnoX1Li+0qO2tn/JiOjZoVccZ/Fv3ir3Q4bt/hEN MmRb7DSW7eOYwRaD6BcBQdG8/9PcmNg0X8VEbX2n103n5rb2glTv+UN3fV1FlxDNaZxqS8iMOD1 hXqkzFJbAhLB9hnIe/UpLRIp0fnM1VnkDGQOLiB+nlqM9KmIcjuz/ucGCpXGqQPo+vehoBsejS1 2zLC3q8UfxgLMjylTvmbeKDkuo/bWM4gyw== X-Google-Smtp-Source: AGHT+IGX9aP5FGs6mIYBjE2Fy/Cf3MYPL+aEO76HfSyqqWsd5X9AWMYdMfxaiJI4eGNh/jiqHeIceA== X-Received: by 2002:a05:600c:4fcf:b0:440:6a37:be0d with SMTP id 5b1f17b1804b1-4406abb245cmr171540525e9.15.1745392520323; Wed, 23 Apr 2025 00:15:20 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:19 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:06 +0200 Subject: [PATCH 04/12] gpio: imx-scu: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250423-gpiochip-set-rv-gpio-part2-v1-4-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1536; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=FRmNocCMgDCqyKK3swLP6cODkyyIC7OT79L9GAY0bjI=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOB/Ov6sr/uWpQe44AZ9kTd5SkCbX39gaQdU ccSZyRED5+JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTgQAKCRARpy6gFHHX cggXEADC9I9dAp8L1/RZQY0dK85ZOpEVf6XAJMrSnBsXrkLU6zw7OZw5gZkWmuoJf4VcHq/ObGx OOhgSlr0WVXDo6p+71iJY1PXUy7IXdkfl3o8/f7H3TRHoczV9Tlc72JuZl/EJopVg3cpI5xRoPS zq7H8TZvPbwH49XwIanfFJCXAORxh8P8YSWVm1rn/oqrMUM35wIXkPe5Mvqq8DWJYWbmHgh5z3L /tq3HhHxfZGOGDZRbGsT1shgiAcVugWAKTafplG8JXQ93NdJjlrlM4Lno+p0DWjUd9JLjleYD+r ZochpLmjlXyaxqH1xATLYR4ZZDAMuji1wbopYnOvFT7HxoAqnRxFkPTSvkBS39wNw8TwsG5XuOO 5TlTkSEfB4W3GyMmWqhv4AvCnIyll2p7V0/2Vkq8OfR2fHJEpKwZfwsWdfBeCFK6BsLwiTZge23 bDWGLZfvXivk+h26DY325XhI+4ZtK/PJaabjA/YAF40tVztEJgXYxNx/7SGj6vFpKTj9MS1hlFz NkdXl9BY3YDy32+JDNv7DYgBWB0L7/hVA1cEX9nz8gQDN3Nq0+toSuigcaC02VYkZgp/cCKC4ZH bgMWCHgNflrBiDi5V/EsYMZBTaQQiiaoYLijx72aN++D6tnudp9Y0o/dqxjScLYfu8xNbjfcupu LRcbpKCJb1Q4l3g== 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/gpio/gpio-imx-scu.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-imx-scu.c b/drivers/gpio/gpio-imx-scu.c index cf98b948f804..1693dbf1b777 100644 --- a/drivers/gpio/gpio-imx-scu.c +++ b/drivers/gpio/gpio-imx-scu.c @@ -52,7 +52,8 @@ static int imx_scu_gpio_get(struct gpio_chip *chip, unsigned int offset) return level; } -static void imx_scu_gpio_set(struct gpio_chip *chip, unsigned int offset, int value) +static int imx_scu_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct scu_gpio_priv *priv = gpiochip_get_data(chip); int err; @@ -65,6 +66,8 @@ static void imx_scu_gpio_set(struct gpio_chip *chip, unsigned int offset, int va if (err) dev_err(priv->dev, "SCU set (%d) failed: %d\n", scu_rsrc_arr[offset], err); + + return err; } static int imx_scu_gpio_get_direction(struct gpio_chip *chip, unsigned int offset) @@ -99,7 +102,7 @@ static int imx_scu_gpio_probe(struct platform_device *pdev) gc->ngpio = ARRAY_SIZE(scu_rsrc_arr); gc->label = dev_name(dev); gc->get = imx_scu_gpio_get; - gc->set = imx_scu_gpio_set; + gc->set_rv = imx_scu_gpio_set; gc->get_direction = imx_scu_gpio_get_direction; platform_set_drvdata(pdev, priv); From patchwork Wed Apr 23 07:15:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 885138 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (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 A3E772676DF for ; Wed, 23 Apr 2025 07:15:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392526; cv=none; b=uivBJBROBWo18GeNCS4xlRyGdo7YrWXhJgPg3inM2lj4k6vNFO2/RBcKlypPq4tdmGN7mNwDSze0F8VKmcPd42wLkC+N+Oa1MXZVRy2rMG7sy5zYeu3hgXbgJOa+qK6GBwZltYV1X4TXKw7pXifxhlrtz5BaJDfnxcSf5iUngt4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392526; c=relaxed/simple; bh=Yz8WOxIm3KcX8ffshwPSeQmdmfycny0IGC1PIWIi2Ws=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jfnJ59E49Mx5RWijjmz5Kr9p64DqmRzN6CbIctPuBov8bkAJrSQgkWcWKucWSqo9Hzt5/1rEuixSUxH+plo93o+P9HriSwRMbAgz/FYhHhUZ3l0SNmpHNcTvpeXs1zo8ZqUF775XV8GtLx3QcompZqLVZiQr2810By21gHvanHg= 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=s8Inao+H; arc=none smtp.client-ip=209.85.221.44 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="s8Inao+H" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-39c0e0bc733so4781703f8f.1 for ; Wed, 23 Apr 2025 00:15:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392523; x=1745997323; 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=cOrKi22/dqfrB3rRPsto8GuhAZh+Tay+I6m8tbaX9ss=; b=s8Inao+HBsn/qzLtzG0AMkI1+V8LEHbhpySNhCFQ9yC5vzrTw+H7usY45Gl34JGaLC jDVat0KzWvoeuxvPOC+bZGlGBICNLhrs6W5wg9Bbd+d6AESBynP9eVgWIWvpk5qbSWzN snYRWUDRyS2tml6DR+MJoLNKsYdKihC6AgC8X5WmMr4+Q0hZ/8z7JJmfN2/IU5bC3shf iqcVkHFRif89BDi7VvJE6AXSAkD1CPrc47chrDl6T1dxCTsxm81L+XdjEDKRITP+Mcim iSHD5RYikTfe3KM3cCv+YG8g26wp+rwXn8+QAwzEw9fep1aR/d98YOB11hB2MNnXodXJ JsSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392523; x=1745997323; 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=cOrKi22/dqfrB3rRPsto8GuhAZh+Tay+I6m8tbaX9ss=; b=OOivNW7F8hTp7YDQeRbd5EJD0raL8pTlwc5JGtkr+/aNSWc8zs++7Zel2NDZBHkwmq 6tNyImmI4BpqKPpCzdlrZtmPBj++ncejgnJs08Uzew/xoJLhLtmHq8RdyQA/o3UyWxfJ BXs2K4nxFzX9FPiB3geZRsbNFJFHx8lMhVT73p8SvHjVRWiUtRiRHOEuWPjiUBD/FY9I 2DMPzr4goE36ENf8IBAdijWwMw0+xNxXnJOTiSYntX3zUfix8KLvFvu2eq7iBveaZOh3 zg8Jw1IYV9nV7H0jHBTy225vONLhV3+lwWaUi2bJvMThUhpIpZ5BtJiW+M2fZR6lixbS no2Q== X-Gm-Message-State: AOJu0Yy5vhGztmfI4j8GIwO1eEUbE2NwPkEWgXFIW6/LbNnN6MsGsFhK 6mUwM4Dh9uUQQ+Trvkq6pkEruYKKmrlEy3QF6QPrxGwgU3DaOyGsQqqAE4AnXvU= X-Gm-Gg: ASbGnct7WAiwXlT5A/hZf55q9p/F8/Jj+jJU8QgrbyUPFSnv66BdB6x8YgRudlShhw3 kCr1GqSCkzxm6azPae1vXte9oIKD5am1CHBYT9BIlWPJd6/W1rJBiw5Qxl66Gw7d+W5+109y1uF Hf0yASNpihnDumuFKcImZw/tehHDwFAfc7JUd+G8aRvQ7ArRVuRrr9z5PFZYSTEi7P459KQjhTc tYDCDLU8MU4ISoPejE8EfLrkR6tmat+8DkhCBP0muAoHWDUe8Z3uABN42X4yTx285uiOyfgra7T RGapf4CugQ/Sq1Gk8Q14y5Cq1NUCnHXfIoAqJ11Howfs X-Google-Smtp-Source: AGHT+IHdkGntLIJpgevULhTBulmEF5ptbiFqEcKnuw1ZYC5LO7PfKcAh/nJQn8PlRTrDNV7n7jcsNA== X-Received: by 2002:a05:6000:1ac9:b0:39b:fa24:950a with SMTP id ffacd0b85a97d-39efbadeb66mr15392672f8f.36.1745392522799; Wed, 23 Apr 2025 00:15:22 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:22 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:08 +0200 Subject: [PATCH 06/12] gpio: janz-ttl: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250423-gpiochip-set-rv-gpio-part2-v1-6-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1427; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=oGCmkNdKxO8RV4qMx171fBCKku3RxsPW1rRe6wl5k5U=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOC3ZB4v8rJEF242h0kCZt7/M/4vNi5Q9Irc rSkGUQUQIuJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTggAKCRARpy6gFHHX ci9aD/wMJoqanBDyhWyV2ciSgT4vnvNazG6/H6xjmAw90A83pI0LeE/uBgMTjVvQcXkJ5sq9IYL pMQSAJDO+V6stHMm3pb8C6op4t6h3Uc3VyntOGzonCdXOhYHjtd3z7+1O1AgceR1Sfh+XqzK8Ap RDabrPY6r0T60Q66e9DKH6C/GuUq++t7HdI6+p8bK+4hyg1KsZ2riCv/y6Jv9RDUwkDHeAgSPMi n+xeuvQH4kpG2kutaopWhLWTNt4QLNFjzcR3NR6t7PXKfsVZmXpG3wGWmCs1pazlZaoVTuidua3 JPPn+8N1sO/TF+0t1fMuq7nmhzaXJy6wvGv7qUVzk4yVVZYqHd0TzaWfpTdXmtfcrTyGKVM1zQh WpNYEX+OG/GZqgllUCdo2g2HfGMcvoyyOtsArAdwuUMDRgyasslD5iMmf72CTQBi2h0boA/y5HD JAcVLK498gmhcjsDh8Z2B3G2OWMC4JnTWtyh5nR7PXGa+bL3h23eyxp58LPtNBE49yPAfgYZnkH EYbwRzldFMMFKj+1mPfhV0R4xDhTYuItjYD0wgpt8WkyqXqstGuhJJmEXA71c5ieMeTYtvYPDba LmT0B9ncjdETBR3ARAWI6mdFerI79rP7ovhcgTOb0S2D4kUYBribi4KtAcjp5K+gjNU5ZXZAJ5i 2pDfSwy4Bdlnp6g== 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/gpio/gpio-janz-ttl.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-janz-ttl.c b/drivers/gpio/gpio-janz-ttl.c index cdf50e4ea165..9f548eda3888 100644 --- a/drivers/gpio/gpio-janz-ttl.c +++ b/drivers/gpio/gpio-janz-ttl.c @@ -76,7 +76,7 @@ static int ttl_get_value(struct gpio_chip *gpio, unsigned offset) return !!ret; } -static void ttl_set_value(struct gpio_chip *gpio, unsigned offset, int value) +static int ttl_set_value(struct gpio_chip *gpio, unsigned int offset, int value) { struct ttl_module *mod = dev_get_drvdata(gpio->parent); void __iomem *port; @@ -103,6 +103,8 @@ static void ttl_set_value(struct gpio_chip *gpio, unsigned offset, int value) iowrite16be(*shadow, port); spin_unlock(&mod->lock); + + return 0; } static void ttl_write_reg(struct ttl_module *mod, u8 reg, u16 val) @@ -169,7 +171,7 @@ static int ttl_probe(struct platform_device *pdev) gpio->parent = &pdev->dev; gpio->label = pdev->name; gpio->get = ttl_get_value; - gpio->set = ttl_set_value; + gpio->set_rv = ttl_set_value; gpio->owner = THIS_MODULE; /* request dynamic allocation */ From patchwork Wed Apr 23 07:15:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 885137 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (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 684DD26982F for ; Wed, 23 Apr 2025 07:15:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392529; cv=none; b=lFjpgZjBMsWlSQuXJvhAAi5J2u9B1CwVWb25s9zJd43fyW+rDgl8mDdjcub/708JGTygIXBpgiP7pcHX8PdqJP8/x84W6ycdcK13Y5cYjjM2B6PxSdQ3jfWZMlJqH4mR2qGbYNVzL3Ixd19QCLIBqvnGGpi+Mp78D0DnDNxh4Ts= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392529; c=relaxed/simple; bh=dRmgJRa861MmI7blzQlLwpGi6JFHMnyAWY0K50sqM2g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=W9+g8Im2hbgr439CgzZ5uQlpv18oTi2lA1Dsf/JLq+tnLTutbpV32d9+YkD12GQ6Q7mkERfrMQHn9+GwU0eDUnLud3/Rfi8xts9+VeFttw3bj2uyvAeHqV0Xe7XEr8eYxuzrIJFARIzjP6m0FdyOAWsk//Shn2Tm3yt/D6jwqoU= 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=nANj4de8; arc=none smtp.client-ip=209.85.221.42 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="nANj4de8" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-39c1ef4acf2so3925844f8f.0 for ; Wed, 23 Apr 2025 00:15:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392526; x=1745997326; 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=8ir3eyI8qcGGsO3Ggl/orTJMx3W1xOxCUBEIWWxHP8U=; b=nANj4de82SsjnCkhPuDL7SHPTXUSjaVsPwVhpcApbskINOGTGOra7rZ/kW/0xeCJIc 30RrWf/4woyVQm95rPt2TqepHHBltrPg4TZWQQSD49AU2HCnSqfMdNga/z67FJSnWcgo +Y030nBkiJ+8DP915XbWfdKGb2zpIUPff0tVpgUOb2HP5jUyCapExwT3RlfNq68A/8ba KRgEs+tiMT1NyL/6WCWcafXazVtUcAoAJOS6FIdrfoqVV7RHrbldbJs9/5QT0AWhQdoa gbsp3wSEQa/eyYC5eYD0kkKu2AqNn8A3CPcf1qgsFGvtyIBbuVc4XVf7Nunf0cAcCxWl HwOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392526; x=1745997326; 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=8ir3eyI8qcGGsO3Ggl/orTJMx3W1xOxCUBEIWWxHP8U=; b=BM+6Lr3VbGsgVMvmNMF5+vCHF25auBAM3kwbKCbD1DnIUUItLiGRHMXofVBJArsjzN yqn8MZgUJrZlcxA6G4QglU2M4tMIN34mqMebs0GWGqYnlQSIvklHbR8l3l1RRSlrbhEI UZ37OdRTv6AXMc95XY3nGMLiYpb+12r3Fs5C4dsOI5dOUQ4/K1GYS+UZD6SPx1qkC1KR t+rLUXD3AzeW/7BBn01//MwLou+ASqJ/3nnOXAO7ANDVkOLPmAEGn3JAQXN4OVZ6C/Nw bDuAkfRVHKyLNGPUq2Vm1yNcBOoeJl7m4mB0cWw51WE8YiJWPhQkK5a9vrJyCn/jXKU2 44KQ== X-Gm-Message-State: AOJu0Yz1tEOIlrM8e+c0nxBiaUoWU1EtRWEWX1OzeqwA4eoOW8n6vKgT JaE+uynVyrFdOAI+tCn2d1HMvxJ2SUL3UfZy1VB5IT/7pTyR7MBYJQ3g20oAcXE= X-Gm-Gg: ASbGncvztuMUf3Gzv826kZOru9n6HpcK3tZkX+PYZ6BsS1K0to6LDfSgxADkLjzytQ2 TLS9k+aCi6tckh2Sus40CwjIRl4HOGAAkID/Cq8BB6lIZCyOg1qTHAwsV+BWbjXoSX8lMgV7IXo NFu4PgIhpFcYAM11pOUTWSgt4evVlr70f3gQ2ktIcVGUNmB4LwQm6xf1pgSMXViWhFweG9mNmYP xi9pHOK2XbNKJjIjRCcyzWtE89l7Pcgr9oMPBsts7KpaLpOZjTVMF+RI2HgbZKaKt0+/v7RUPD/ FryfeKm7uhscj997ssA70I7WTa//RQ//cw== X-Google-Smtp-Source: AGHT+IF6SVfs8RHa2BnADJcSY6J1I9halvCK1KnXR67dc661aBEXTvglED7nQaJPJMMIX/l2j+WJCw== X-Received: by 2002:a05:6000:c08:b0:3a0:65bc:3543 with SMTP id ffacd0b85a97d-3a065bc358amr1886761f8f.35.1745392525708; Wed, 23 Apr 2025 00:15:25 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:25 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:11 +0200 Subject: [PATCH 09/12] gpio: logicvc: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250423-gpiochip-set-rv-gpio-part2-v1-9-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1906; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=uEXyapUiU2zuU+gAX/AtJAOANlE8Iy85z/xFY4aI4tc=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOCCFWE0JSqUtSesVr7mzuU1M/ku4tksaurU rUbPU9KQmOJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTggAKCRARpy6gFHHX cmecD/oDvN3BKxrxrluO97/IgXHtepSYXO/eBzaKqLSk46iZdLfN1ELs7wHsUUCRmq2Hcej463z TxWtZwr07ZL908O8pz8zRVVcnJO1yFup+nI+BE7cZ4T7/Pj19/VGw1ho5Th1IVliSLTPDxKv3wE UV75Y1wlMk68b6hXi8hM23v4fz6OXZgdEVCnYPAxYhtntLyBaB4BtG+ThkjKk6d4ss+PUJ17Gdk EyPqUiuMp1mEwIusQp7OsSs4yIpAHNJhCDzNJ/uRmyPQ1f2yXkEz2FVHWApJJxXonw1VRWvpFLq ZG8F8Bk+K0XoBf++3dofAzsCvMyggHSEyAewsW0QmB8skAO926oR8QpVD9gstdjpzKls8ei2q9W Xg9m3Lcquv19Yw9wnZFpRpnNn+XtgJ4cj+83IztRU33NvxcbvFbB9Z9XMNcBj9sz0iAgA6txYgw h5wILlAHqzeoFU7ibGssNASTrg8bH0JSP0ViL5PctN/ye5/i1xGUryRXb650M4S6KRQCSjgL/VK i0RmEiBUqd0Dvr2K5qGV16O1j39J7oVtu60wglI9huydbBqbJG3pMQvi8Bae5FR1Zdj6/a+GLdJ Lcqd053up9xLuw11VFAGN9he49iS8D/z83e2oMdox2G/EHa7hq+p5yQKWQz9+oNDKRmkWne24k1 NSW65Qz796zVw2Q== 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/gpio/gpio-logicvc.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/gpio/gpio-logicvc.c b/drivers/gpio/gpio-logicvc.c index 05d62011f335..19cd2847467c 100644 --- a/drivers/gpio/gpio-logicvc.c +++ b/drivers/gpio/gpio-logicvc.c @@ -61,23 +61,22 @@ static int logicvc_gpio_get(struct gpio_chip *chip, unsigned offset) return !!(value & bit); } -static void logicvc_gpio_set(struct gpio_chip *chip, unsigned offset, int value) +static int logicvc_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct logicvc_gpio *logicvc = gpiochip_get_data(chip); unsigned int reg, bit; logicvc_gpio_offset(logicvc, offset, ®, &bit); - regmap_update_bits(logicvc->regmap, reg, bit, value ? bit : 0); + return regmap_update_bits(logicvc->regmap, reg, bit, value ? bit : 0); } static int logicvc_gpio_direction_output(struct gpio_chip *chip, unsigned offset, int value) { /* Pins are always configured as output, so just set the value. */ - logicvc_gpio_set(chip, offset, value); - - return 0; + return logicvc_gpio_set(chip, offset, value); } static struct regmap_config logicvc_gpio_regmap_config = { @@ -135,7 +134,7 @@ static int logicvc_gpio_probe(struct platform_device *pdev) logicvc->chip.ngpio = LOGICVC_CTRL_GPIO_BITS + LOGICVC_POWER_CTRL_GPIO_BITS; logicvc->chip.get = logicvc_gpio_get; - logicvc->chip.set = logicvc_gpio_set; + logicvc->chip.set_rv = logicvc_gpio_set; logicvc->chip.direction_output = logicvc_gpio_direction_output; return devm_gpiochip_add_data(dev, &logicvc->chip, logicvc); From patchwork Wed Apr 23 07:15:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 885136 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.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 A132D269B18 for ; Wed, 23 Apr 2025 07:15:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392530; cv=none; b=rmy8rrcwmuitjv4ZvbHnFACM+185JouGeGmrinYh4wF8slAA6ewdgfcb9Ydc8IsYFYNhTwrVRjKSqIgaHXgnsNsv+myE3NIj9+VeVvF2O1jGqrQs95TYSJEZr2XFltpduKT6w1xiEsNPTKd+qgK1TQS2SU2P8bOcps9/tiRzJ1g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392530; c=relaxed/simple; bh=3YefCFbAihyHh6K+CQ9C1No+vZq4v8zZ85pWhxL3XB4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GMoWAHUFXczS1MdAMuPYss63ylx5Cq8kKg7oYkykr2OWEXMANSQyg0KR4ji/t21BncDpCoYU5M1QIsn7e3uStYHHoJcM+63HizWTvMyL5gRJGDfx2rF5iQsQZPqp2NXj3RfJh/K+DlPiQNuqPuWopm/gNnhpDgDK/zjOzVncaFM= 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=b6VoklWq; arc=none smtp.client-ip=209.85.221.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="b6VoklWq" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-39c1ef4ae3aso383931f8f.1 for ; Wed, 23 Apr 2025 00:15:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392527; x=1745997327; 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=KuO8LXLaj6tGmiK61iwiXl1Q+QX1pLUQ0uBHuTCHujA=; b=b6VoklWqY0rMILQndXC3c/erKO9L84QBAG+WzdaX+xMds9l08NacY1ysLNv1aKEFQh lJfR7olEFvhIP5gsL4dSwd4Q50mnonk0EtmqvpynemsPKraD+K0eKe9YXVKPNUSe8TC0 T3WG+RxGkgqVR1uR02lNYMdHh/AbZ1qtmZId05g02un3wNIKNynaoFN4u+elbx1LJxNk gc07ZY8qaXM/lsWfUmiKmn3UHVGjmRUHpe9OIgNiDoNqy03wuJzSLXoD2lAnUBzgslPh smfWYVTfYNJKvGG/8jG6k6j8Je98hpVuiBkv7WydXVA4WDNC4iL2e8RtW8ZBFxnvgJGB f+yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392527; x=1745997327; 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=KuO8LXLaj6tGmiK61iwiXl1Q+QX1pLUQ0uBHuTCHujA=; b=T7XoO+DB9qvf6b/9ZEfdoTClKrjtE32zHg/psQyTEjgaGHlF5oPQzeR8uGvadfGPZk wZhcxhrkx0OdFR9SHOGACC75ZXmKhRAq9QigXrowam2+PxpT9DxRaGRz5HXjj71rR/HJ r7gaUy5QtzjaCP+9gV7wVqYCzjPLly/nwYk3jsdGjKxRJpHVQ4DqmkTbI6KcU2vYaAiB vjiw6cUbW33MpEXLZpNDMmrb9NSd00MO1IlwfHpmCNai8XoWU3D/4n7ub1fvZTphSTDd 60kh7xqnb5Pnci0wa9FyvSd8zpsRc6lA2gLTEnNCF2JoI16SZl+Ff4nXoVpKeLjrWv1A IW7Q== X-Gm-Message-State: AOJu0YzwnxR/d48JyZQAHgg3CprBe2wjdzddlJXtoT7OAmAJ1HboLvBE bYECMC9s54CXKM+2QGDuuqijbEEUt3LGpovBc3bp5g//dCL/ygZZGgl10hhkq10= X-Gm-Gg: ASbGncsS+zDiV7R/xgMfbOpUFR9zeb5PapW83hLJc4tW+Y4Gkpxn29sUT2i7CdbTxXJ 1B5GAgYg1av+frPLbQRJ9kuO1laTkdm1ayYjI4V2J5nthwJcAa9NVkvICOXo9+fvBcJDf46RoC/ 0QViyXRq0eV8PDyUxfDN44jFILEeiZBy/sdJe8wP6VutRTnCETpYbHZ6fN1Nt39fK5NcFskC2eF roy2369azNc6URkDGR/Sf4XOMrwG8fvqHFgbDEcENZEvGlxShTeC6NkA9vR9yRPLz1I5gGbgIrp DAl4M84Yz62x1LahnnM2m7/trl6srSuirg== X-Google-Smtp-Source: AGHT+IEJRBYVe9vXo1X/mEloHEs7WsK7MXg+lLpQw/AFSEfrHU1wIu1UQhzy4bP2erJ227bIHP3Apg== X-Received: by 2002:a05:6000:4021:b0:391:952:c74a with SMTP id ffacd0b85a97d-3a06723a77emr1339241f8f.8.1745392526817; Wed, 23 Apr 2025 00:15:26 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:26 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:12 +0200 Subject: [PATCH 10/12] gpio: loongson-64bit: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250423-gpiochip-set-rv-gpio-part2-v1-10-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1726; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=sigjjIPTEY3ikG0qReuX5eSm0UPDZcBac77WahmCDlo=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOC4b/5tUNY2cHVsO6pHKhqejDv85KHLO6gw b2r1E71uD+JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTggAKCRARpy6gFHHX chWAD/9un4OKo68l/qCfaj3bETsvGglEXhCUTJemJZqJFSZuU/K+Qldmd41zqaqM+EkjJpwS2BR cy1gvC6hQF5drLpuYsUOiQGdjyoDKrNObRhJQmnC2IhOrvyu1bUPl81+e4j+lvq3tIKqM5dtgZU 9zgjBrcKB2gTl8SHuyLswt0FYgUshgyLQ9O4McyxSF4diZjdC+5c2gIhKKtdlhQjZmlBXqY9UWn 35S+Xm81VR+EzOSPUaTiLS9vvOyg4JZjmgaaaUrsNWf7+tmAUMMg2HwaC78AMqVgIsbfNXApPM2 +k/535/Cg1jNF76IFdB3/lfiK7P3WLjMOBbPG66lqwMc48NEmKwrkjDSHwdhH7gHqrcy9bB8P19 wzP0WrsER1d+nNz3P74oJFSO2KDf5F0qkl59SGD0m47YvV54m/byQMrVM0wz9k6+aMOlJjSAONZ gyusViuBzXKGErs2QWF7i1s0Cn3gGi/9LZo7UhiTBZDL7aoKLbJCoZjmHoCuQEXoibNzf5lWRo/ m1vj3a6HQsGSe6c5P3oA6OSFznrzG9HBXR9rRF+5wOegFmNVzy6AdRp6zF9uOcol+30SbMglzu1 tT37Iuw5qBsxXN0tB40X+ZW/WZ0uOF1Qh+USPi2u062RO8LVv4bLaasO/UGGAuI8v5FJmpgUR+9 kUvTSREDdS8oLoA== 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/gpio/gpio-loongson-64bit.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-loongson-64bit.c b/drivers/gpio/gpio-loongson-64bit.c index a9a93036f08f..26227669f026 100644 --- a/drivers/gpio/gpio-loongson-64bit.c +++ b/drivers/gpio/gpio-loongson-64bit.c @@ -105,7 +105,7 @@ static int loongson_gpio_get_direction(struct gpio_chip *chip, unsigned int pin) return GPIO_LINE_DIRECTION_OUT; } -static void loongson_gpio_set(struct gpio_chip *chip, unsigned int pin, int value) +static int loongson_gpio_set(struct gpio_chip *chip, unsigned int pin, int value) { unsigned long flags; struct loongson_gpio_chip *lgpio = to_loongson_gpio_chip(chip); @@ -113,6 +113,8 @@ static void loongson_gpio_set(struct gpio_chip *chip, unsigned int pin, int valu spin_lock_irqsave(&lgpio->lock, flags); loongson_commit_level(lgpio, pin, value); spin_unlock_irqrestore(&lgpio->lock, flags); + + return 0; } static int loongson_gpio_to_irq(struct gpio_chip *chip, unsigned int offset) @@ -155,7 +157,7 @@ static int loongson_gpio_init(struct device *dev, struct loongson_gpio_chip *lgp lgpio->chip.get = loongson_gpio_get; lgpio->chip.get_direction = loongson_gpio_get_direction; lgpio->chip.direction_output = loongson_gpio_direction_output; - lgpio->chip.set = loongson_gpio_set; + lgpio->chip.set_rv = loongson_gpio_set; lgpio->chip.parent = dev; spin_lock_init(&lgpio->lock); } From patchwork Wed Apr 23 07:15:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 885135 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 46656268C66 for ; Wed, 23 Apr 2025 07:15:32 +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=1745392534; cv=none; b=lgKL/rMEFfN/uH0379SwShK13m+Li9GEND6lDrM5SeZabqc4zgYMjS9qMhGKUJ1bAby+hZag/HQ8zHDg0AGAW3eyCPEOr1IJl/COlD7P52q7Rj4C11388wmSjTSiGNhJiie6Owpu6I1t3ouXfH1nUidAVFAODC5xMaj5iFYn54k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392534; c=relaxed/simple; bh=sl1wLB7qfa5cmKKEREVGzg9gBscjJ57jgLR48mBriYo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hYEZw94dstQBeIaRMkCTLP08JlL0VlFYQ5zUX4A7N7plxPLR7p7NMEUK3qO7eZMDFrl+RUyaDLws5TUQdP7y06W9+BKdGjSVh5G8bvnzqI7VX8ro3kJEbcDpdTHtZ71CVI6aol1O8ljg8yrmetmbyeCt1T6TSBuLn7zEp+C2v0w= 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=EUXrCIz1; arc=none smtp.client-ip=209.85.221.43 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="EUXrCIz1" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-39ee682e0ddso3476382f8f.1 for ; Wed, 23 Apr 2025 00:15:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392530; x=1745997330; 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=nDPnLb9e7MtlJKq+kitIrFY2UoRe6RaLIN9ni7aHQLA=; b=EUXrCIz1QczbbF8JGDvEMx8FQke4ZE25ZZJtrKL6vHnHd/TDwagaMyiGlf+8Mf4YoI SK9qJckfvV/IFPufgnXf3YRQ5aDB7neBR6KdtyeWzvgLSPRV3P2HHOGPqcWikfG6rzgw PaZ3HwzVWSiA3ZR0E5Wx5WGzjhLxPML4CrZSEsVk0ehfLmDYovnIpS8iOyR46BXNLc85 FsOeJGsSYqPB3c+j0Pm1nrpN661niMxQppOYtDe2KPkRHZriVddMyOy5Uzx9qTdgz48n UB+HYTRuvQlYCJ/o+5W0t3qvrf7MfuoWS6bwvB/FKd2cXisIYe4pS50awrJaJbOglxLX 3sHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392530; x=1745997330; 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=nDPnLb9e7MtlJKq+kitIrFY2UoRe6RaLIN9ni7aHQLA=; b=VQRlx9bEjflPy9nuXCfI2BChWuHiXlAem7fUiWtVorIB0zbU07uREDK+32EFoESPl0 zKkRU9rQbbVxkvJaWJtRVRf8vVhNRIMgIm1n83taQdfSwJA03OuSbFCwQi8HqWnZH+Z2 Eqnta0TwQUDZ2k89JgMMlBcrIpCRgHFlSTX3VtpvjOWIH2xSjGrbSpqYLH5DqGUL2OT1 xcEOWgLxi4+e0a8X6RNJ08am/6WWsHc1+onSLd8pdP1Jb/rrdaGqcbDKR46sBhSVNd1h L7uCExDN2wutUQv+22iOiCJiMXZ/B94m/Wz6BKWylVQNTnRz/dS9IuaJ+qi7f47JW6JJ M+5A== X-Gm-Message-State: AOJu0YzUABKESQX4G4k/9UG0fhzsgIsoBj1zE31krOrQroIfwLuDWg7z WejKRfKAengzhWb7zwMWnFzSlgeqmW6XY6nGX45ksw5lNB6Rp91n7ksN1vIIJVo= X-Gm-Gg: ASbGncvL1M9G4VLVWA7hULJihL3efhLgOSs7gVU/PgUacb1CAmhLjKlxVDwLPRTmY3z 6gBezBWsFKa9P1FXRBj7ex2d+ZSjBhcZGlDKtTZfjGOy9UIsTxodWoCb8AjR5Lh0rlon9x3zda7 piBCamn4rBPo/8D04a9jdmbHOiS85T4MN50cvyaX27zDpbNlmT6oJcMvIyDNiSF23kD+oOxSIik 28DGfw/pEUVWQDpRNbnhUvyi78E3Y+UNOXLiF3taf9/8HdolE3g/pruIoL0LL/nK+/xN7NQtI/H JbxHlmi6K39hu3W+VuG4fPOr6DXYO31YKA== X-Google-Smtp-Source: AGHT+IG4ElSHC7IwlTsGTLIS8AFpJo6V3IEFvD0t8DPJXLGCbfVBAFrUXLFfWQ80OqkPgdRhHCCGkA== X-Received: by 2002:a5d:47cf:0:b0:391:3b11:d604 with SMTP id ffacd0b85a97d-39efbaf6f60mr15814842f8f.54.1745392528677; Wed, 23 Apr 2025 00:15:28 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:28 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:14 +0200 Subject: [PATCH 12/12] gpio: lp3943: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250423-gpiochip-set-rv-gpio-part2-v1-12-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1908; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=FKv0jedtK8ZiOafLuePhziFUAqITUizBRiw5s9uuJh4=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJODsx6BmS5Uu3epYT6N1MlKACyMV3s6UBiz6 5RntwZ/tcOJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTgwAKCRARpy6gFHHX ckvDD/9EH2Cq8MY5MoOXZTt6EMH1AEYUaKFr0FsHiSrhY9sp8VAZlwuAebQrfiTazzJ54yI1HAA zxk/F2yLuHJo5SxVJs7u6h+/0wf5MNJhKNr05ZJQdTzhn3M0KsE2MJDCzvf189nXA3B5BlBysbF KLaDTCGPJBGO9DjOm3BakFKHwT+YN53PZFKNlZkpjg2q9EkmGgondq0BFDC21gw5BDK8NCpBYwd YEYQ38fp/o/YGTlg4Dia8DPwYwmzI2mzyG7H/HnGGlWbqd/OqaHf4zx39t+kcKq6JQtdnn0s9SK 1/SEkXmveDecJYUqkS7ckKP3EUD7nZcEReypoLwPhYn8Gi3veJVeEXns3Bfz9tnQororc28L1b5 z+ZS+HTK2fV2O2HThQThzilNSepFKOq6Q23mFIiRnP7JpEKRRd27GgfknT6+xC6Dya2e4ZZ+KKO +UuGlTDBQFU48+cNeuJVfJYXNZroT6fbFjMpPUAZ0B/FU622qgWCjtX2Okt8O5bHdu9l88Xv2wV FHf/+EB8a06+atxP5WHtqCSfEv48CirSDeUCg1w+qeQicvBiJ7JmJKXm/u3OEGPAH3toIq3ktI8 KTWWXlFIIUkIlVM15leFB/hrsHmBZgrOaLWx4zbAy8YNfAKZh4e3P9pPkKNRtXI58kWPncyMps6 vqDvC+FesU7V9xQ== 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/gpio/gpio-lp3943.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-lp3943.c b/drivers/gpio/gpio-lp3943.c index 8e58242f5123..52ab3ac4844c 100644 --- a/drivers/gpio/gpio-lp3943.c +++ b/drivers/gpio/gpio-lp3943.c @@ -147,7 +147,8 @@ static int lp3943_gpio_get(struct gpio_chip *chip, unsigned int offset) return lp3943_get_gpio_out_status(lp3943_gpio, chip, offset); } -static void lp3943_gpio_set(struct gpio_chip *chip, unsigned int offset, int value) +static int lp3943_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct lp3943_gpio *lp3943_gpio = gpiochip_get_data(chip); u8 data; @@ -157,15 +158,19 @@ static void lp3943_gpio_set(struct gpio_chip *chip, unsigned int offset, int val else data = LP3943_GPIO_OUT_LOW; - lp3943_gpio_set_mode(lp3943_gpio, offset, data); + return lp3943_gpio_set_mode(lp3943_gpio, offset, data); } static int lp3943_gpio_direction_output(struct gpio_chip *chip, unsigned int offset, int value) { struct lp3943_gpio *lp3943_gpio = gpiochip_get_data(chip); + int ret; + + ret = lp3943_gpio_set(chip, offset, value); + if (ret) + return ret; - lp3943_gpio_set(chip, offset, value); lp3943_gpio->input_mask &= ~BIT(offset); return 0; @@ -179,7 +184,7 @@ static const struct gpio_chip lp3943_gpio_chip = { .direction_input = lp3943_gpio_direction_input, .get = lp3943_gpio_get, .direction_output = lp3943_gpio_direction_output, - .set = lp3943_gpio_set, + .set_rv = lp3943_gpio_set, .base = -1, .ngpio = LP3943_MAX_GPIO, .can_sleep = 1,