From patchwork Tue Apr 8 07:21:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879903 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 91A2B1FE45C for ; Tue, 8 Apr 2025 07:21:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096878; cv=none; b=r1lprSx2jHpdK6DUVBo969ERSY4jBPVWs4ImJzVN/UU6idjgmbg9oV8pUaAUfDNU1NXrrQPXed3FNWfAplMoz5Bt/fBHLmK2aMQBWqhCOc3bLmlkSpKwclqocJ/h8je18intViEOHFzChxmMvnuF/u9GxfGABGMMdJ3QWfU6e/o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096878; c=relaxed/simple; bh=rCa8o43PCU+Q3/Q8/g6YbDCo6E6p7FBCgwy8cSfadu4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d3yBMnAGFblkl8apWg+vhx2joZE/OThmXZemCHx53URIYo8gidImMawrrVq7kqTwcrbHjzb4jMfqdiy81MXdQW0mF5wG2XsI20hhzLVa8d9bjVQs3fa8Vf3gkyT0sj+BVCqPlt35uAXV/uukxpqqDhJpQz7K0Rso6lUmFcGMITw= 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=n3GEVPJ6; arc=none smtp.client-ip=209.85.128.45 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="n3GEVPJ6" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-43d07ca6a80so26475295e9.1 for ; Tue, 08 Apr 2025 00:21:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096874; x=1744701674; 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=6wE8TQ/kC5Gw6LravAsHxdU7HVea2/Xz35EGN35IBRE=; b=n3GEVPJ6zWSCmcsYKx7yLej8EQLOsVJ1OFIGsodl1geSBYtnTz+TbKqFFYAw2eo7E6 sIx5VA5k9uWxHq6FzpW6jxcBrK4nmyjcWvx+R1l12q33es+X0IKys66J7tTU50SrhIVF ffnf16Q6vnPh0+0tYS2VgR6RtwAbLuFm0EacMrejfEaGURpasFX+M9hhqi5wQ+AnFd2s pF13QydxKwOLhT5rAFAGXRRJBmrdf9bfucfHGAVMdVa5Yqi69TW5yCBdJ49IeQhUuRvW A26hLoax+dqfDbO5l1Ri09GFBwhV0l2bIWMjLElGbgg9OSwG078Qy/cnfxLpv0m47Lk2 92Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096874; x=1744701674; 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=6wE8TQ/kC5Gw6LravAsHxdU7HVea2/Xz35EGN35IBRE=; b=wh9Kbp7z4kDW8o2xlYnQad0n/a8/czLlrcZEMMjhBM3uTx/SiLTR3waFwF1TlghoDZ 10KIib7NVxvx/Ic6J4Fi6oAutwpPkKabQxhOqcIAgwdvKrsrwonXmv/6D0fJA7wx9/oF GA1xuATJncaEo/APNNkozhT4/JVKoZAwZQKg1H4gI5wp6BvWZi21u0mugw8eqHi3JOQb U7BgTpJsyvhnXUkzbDtv+G7S8+b0e+9dgYke3yJWZd4VfebHX7+w9u7LNYAV91+6eJvP 01VFlhNzVaobLtPExC6jenjLDcYNHuGi3KZt3uurUqJSI8owwyLPW4jj+vV7MXqEvhnj QoEg== X-Forwarded-Encrypted: i=1; AJvYcCV3NkB7FPG423zcFDq9metaAsOXq8CnsKHfOHgW3HxnvwbnqZx/wkj3joHic095GOZw3i+XZAEZO36v@vger.kernel.org X-Gm-Message-State: AOJu0YywTPpcir6TN8d0YCkSCwMkDf6CaJwFzV458snZP6PJ4ahD/sJB ba6WDDPAEn0cbCrDXbtUbHvRJyXjPWHHprX/ZeyhKm2gY4olVetyX/u+CIQDjfI= X-Gm-Gg: ASbGnctvPfekgLo7T7QlzbLL71MEgdoK+26x1vlm65evmTdgg0ygsIh5zoge8pGz0g2 B9oVNxHmtKlBYJpXx5LL4Duca2XiIQUUiWe+qZfo0NG9G5cDRdB4VVOhNfbnYy7AWkXMcrnkrAH 5aB6q4gTVr8VmbaLBUVWZOCLAEB24vCKVMK/Btjgp9foScTJm37jUW4rV6mBupyrvInI/SPUFAb 5RGLxWnsy5loMpAbGLaJ9HEQjtj1zE+3pw5DMsQb5o3gNDS/XHjXBSPGgTvHHG53Nr3Kcc2JNqD dy+GgHypEtK94eXYJTk6eQ1WSzy1Bgm2Oqx+cA== X-Google-Smtp-Source: AGHT+IGlERrHqVi1qC8FfhdvuV397D2yqL6s1YKuhUH7GEN8bWhP/1UK6ZgmfnUxwxq/O6rNRgufNQ== X-Received: by 2002:a05:600c:198b:b0:43c:fae1:5151 with SMTP id 5b1f17b1804b1-43ecf9fed70mr120686755e9.25.1744096873779; Tue, 08 Apr 2025 00:21:13 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec342a1fesm154404135e9.3.2025.04.08.00.21.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:21:12 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:21:09 +0200 Subject: [PATCH 1/5] powerpc: sysdev/gpio: 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: <20250408-gpiochip-set-rv-powerpc-v1-1-73dc1ebc6ef1@linaro.org> References: <20250408-gpiochip-set-rv-powerpc-v1-0-73dc1ebc6ef1@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-powerpc-v1-0-73dc1ebc6ef1@linaro.org> To: Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Linus Walleij , Bartosz Golaszewski , Anatolij Gustschin Cc: linuxppc-dev@lists.ozlabs.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=1582; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=i76qJt+Prqn6FRHBSKnAuC1THRUFVaV9XqqCXjg0eY0=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M5mUvt+4lLGPJCp7pGcUJyi3hfa1RzNMiZSk SZvUFz9DguJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TOZgAKCRARpy6gFHHX ci49EACpix94RiRhas3jBzoubO7P2DaiD1iTemCLusg5lAl2gI8c3y5nVaHmJL1Gjj6vWvQI4Fz ifbjRgY/H3TcJ61f9NDS+Rg0PZgEUGamwwyBaUHwh++ghPvV2TQk7sgh843biDJ/svliUX41LFy cAWB54sEvynIQ6XKNELIZvx4CHHm5oUdJmLRkRS+EGbcWmmzQMF+/wH6YuZ8B9u4zuGqhuJvyk0 ygvfj1ao7GWWqOIWex+pJNBhid+tra5Vx8RboCWRFNhS0F4BHjEsin/gCnZNYq3EHfMBEwD5VPs qYm1w/Mp0Z/RpgVtT8lj4s7O9BzPRlvbKkqAznjKaS6m0O/8h7WnJMlThB27vCy6FBimgXKax34 5aDjK+GalcUNKpJDuYQ+2+MzSK1n5X8X+tBBYF4FS7u0UOFIQISgZJ5NcGaYcOgXTww6OSV6EoV ryoVFRuGfFpuaA+H203Rq11yvGzYQFUAJPDOkUrzGrLV2aUcahCv+lAXTpwsKn1yuw8YBrz4eqr 1RfGYuIXMZHdLm01+nyz1/6pFME3V3KXUej4ekjMPuqk9imHyOnFMcs0dQG2GhtBspFHtUNhKO/ 9hy2Ub4uqPQMlrUaQmBxun1yvG/j+y2es37MygmZzk2V+4WDnGOV1S4IatJqadFXi9zc2SQaCxm bEe9bf2DxYVQy0w== 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 --- arch/powerpc/sysdev/cpm_common.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/sysdev/cpm_common.c b/arch/powerpc/sysdev/cpm_common.c index 47db732981a8..e22fc638dbc7 100644 --- a/arch/powerpc/sysdev/cpm_common.c +++ b/arch/powerpc/sysdev/cpm_common.c @@ -138,7 +138,7 @@ static void __cpm2_gpio32_set(struct of_mm_gpio_chip *mm_gc, u32 pin_mask, out_be32(&iop->dat, cpm2_gc->cpdata); } -static void cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) +static int cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) { struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); struct cpm2_gpio32_chip *cpm2_gc = gpiochip_get_data(gc); @@ -150,6 +150,8 @@ static void cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) __cpm2_gpio32_set(mm_gc, pin_mask, value); spin_unlock_irqrestore(&cpm2_gc->lock, flags); + + return 0; } static int cpm2_gpio32_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) @@ -208,7 +210,7 @@ int cpm2_gpiochip_add32(struct device *dev) gc->direction_input = cpm2_gpio32_dir_in; gc->direction_output = cpm2_gpio32_dir_out; gc->get = cpm2_gpio32_get; - gc->set = cpm2_gpio32_set; + gc->set_rv = cpm2_gpio32_set; gc->parent = dev; gc->owner = THIS_MODULE; From patchwork Tue Apr 8 07:21:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879130 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 5E70C261589 for ; Tue, 8 Apr 2025 07:21:16 +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=1744096878; cv=none; b=KKn5mhNM910e+vj1A84yH1IVqumRqVwvHKMDtUBNbGPDeV177j8pDrwJRvHC1pYEUx0aaKfXdDS29u1UttLPd1wvh05KppK1xsK84MDDp/Lo1BSt74CBub4yuW+RjIp+1ILcq58sc6Rp4IHV+eNbX6cD/fhzgImrZQRK8kZEtN0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096878; c=relaxed/simple; bh=PUo56Q2yzjhFctr4qJbBVg4rRJDOKkYPse+T2INVimA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=j+zagGvN4R0oVYh1Gc4A++DM3T7tXNYkSCWKZ5Kck0APZwhK92h3wbI6JHlHx2ZF5EPGgdQ/BAQbCViD9DjQvhPXVHkU5bof+NmlSsdnxbTp0jOsfi2q82TfyF8KexfP8wV1WAfjyX/1YdqEhtKJ/XHhzWmKxMA3t/vI0bk6Tsc= 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=v2zFM1d+; 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="v2zFM1d+" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-39c2688619bso3139112f8f.1 for ; Tue, 08 Apr 2025 00:21:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096874; x=1744701674; 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=9EKgQ1cgxpU6DSJVVu3CokqxSFGqHBUMN7AY5XSvKwI=; b=v2zFM1d+8ZszMR9EihxGe/FBGY+JPPpsc+/6nzozbkgMILd6UOc+i0vd0+p88oPn0r lrk+psdo9IF/lUl8TRA0u3sJERmPfbEybrPRgP80FCPNtGcEjGNZkEJMMxImY3LbNYUN 8QKLMwQ+pkFXEXi1IqIr80qdu5fxpH35UNKYtbE5UgUgNJq1cUpacAEcvRTZ9yHbl4x2 X6EzBRpkUO/dTZ1KxIX8zaIeMGsFlfEsv29CFmT0WYy+6S7y+Far1Bm0QDDwR5et2g+w nLbmQ131DuBcIMS5YDGMOEcE7CqzV38EvyzQMvGCuAUmnOG/HEfU1ZN+Ol8V6Wr5j0wd 1Liw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096874; x=1744701674; 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=9EKgQ1cgxpU6DSJVVu3CokqxSFGqHBUMN7AY5XSvKwI=; b=le7EgDNRYaZ1NYZY7Z0jVo8XqfhUt6ZfgwOAj4g9h8omlhI3XBplZFLBM5ac1bibn/ wYZAoEhzxAbVrEGX9P9nNgh0/Lelnp+4Y9ECBDUj6/iGzasSu0DRxvLOXHkDVIVo6Z2Y C4fdxt+TC0zLvHVfZJjm97sGfrhtGdITzjAbOdMCpvcPsRi3y1QTXVbp8M7Ne8avjXet h8CKpCCVENEKXQNp3GMMZ8H/H6Z7K9jIDuOzQaAetry4XqsC95Qj72PCMm/tAYNFIEcK vi1bcgfsCTbiE7rxNF8bGFH6+ND5mjwFqy+EFcJOmucKcOj+noZFc6+G37O1WaH1FTuM GjeQ== X-Forwarded-Encrypted: i=1; AJvYcCUEryPWSaEIS/PJnD7EuD3qWF14LkVPNRzTbcQKKxdTjT1HED8mQyukMN1h8jaLUEQ0QoLXw8tG+pO6@vger.kernel.org X-Gm-Message-State: AOJu0YznSIJG89CZ/1ANMt0O6MvCZOuX6IYAWWkzH4RT+RWG3Xm4ibfI gsspOOF8dfH195Fvex5sMq4nXOdj/rZl2lmwUlkIzlJL7E1VWZjaCTjg/U2ATFU= X-Gm-Gg: ASbGncs2nyqzD5jlLc0H9R6uCB6c/79WwA7dG64DbLxKbsJsFjoHLzg/XcajtrkOKzY Ho05TS423C9sCoWVCggrv/87YcugsrzB8ix7PcpDW2cG3s+ir/vKd64/TlKG86vKaWiFIkYRmIo m/UT+bmc2YwEgWYWbXd//M7KXlYuhpVxqd1d/1rOgUbJ4MZKpJckpkWYpTYSHuYHCQ2ZRnvyLRi TqSAlioD0WsmaReyiPDeYiuSOG044B6Vlv+xTgSTF8rcgjzk3Uhg7N9qoFtzDsXx/NLgcwSUaVk UXCuWi1axzWVUhEtH1oEE2ErZ3FjjDMCMYb8eA== X-Google-Smtp-Source: AGHT+IGfBvpH0yFkliZLtXlbOsc/im0FjsnYwDk1DO3Fnkg/Amyk0+BzHkIllruNLf+k0vJRb3h3JA== X-Received: by 2002:a05:6000:40c8:b0:39c:142d:c0a with SMTP id ffacd0b85a97d-39cb35bda23mr12921572f8f.19.1744096874610; Tue, 08 Apr 2025 00:21:14 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec342a1fesm154404135e9.3.2025.04.08.00.21.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:21:14 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:21:10 +0200 Subject: [PATCH 2/5] powerpc: 83xx/gpio: 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: <20250408-gpiochip-set-rv-powerpc-v1-2-73dc1ebc6ef1@linaro.org> References: <20250408-gpiochip-set-rv-powerpc-v1-0-73dc1ebc6ef1@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-powerpc-v1-0-73dc1ebc6ef1@linaro.org> To: Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Linus Walleij , Bartosz Golaszewski , Anatolij Gustschin Cc: linuxppc-dev@lists.ozlabs.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=1493; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=T4A59REGiz5eXob5HMd6JwbPWhPT8lTp1DmdLIdpCvw=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M5mXcX7kY466l0OiK8NIg5nd6PegVrBTz5Aa R0NwF85CWSJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TOZgAKCRARpy6gFHHX crwFEACOditebqDnaphThATlEMjgOgAWyDQeAEeb+QxdPhrDCGrM945fOgEEDGXhJGdoD7do5iE Hz6qaTwsLtEacAQodx1V+cgO+UD/vFMjHmaZZ3Bg52U+0J/qzYK58L9l4koz+PARYWiDbcNmQIx yu5/cZhXO+enA3bpZPQUcKmDtfOujhymNXkYMzBfZVv0sBfALvPPkv7c15AOlCtwVUvLwzubEiJ gNYvdIxXjMSzhvV5t+KOVFZpWbv0smNiEp2tNOHU0DAZZ7ogu03DBk9d9AscS9tCGF/1a6pWueM fzvvLxDfmPqXTrW1DG4fQ8Y36utZEXUfpiGAPqYsjICMIwmMYaxYBLIHTmuRulXpkrdErKJcwXN oM3jjdlHR6TpE4w5cbXxJY+tl1SiGNA0xaZZSQj4WCpTKXxH1qnqeNvImuYdQ7Im8665DuOIcfc /OYBh5JBhAZPqe+JlDjrQpQUTqXDT2MM6s/d7JJ1ys8EwTq5KY3EZaZAorGAGCsAmscyuz/uefG QTQJS3NFuVkw6wzzSFFHTUm8hz+PVpLWLnhoZOXLx8kP8ljszTFiKp7coboOT4J02tUzkWzQ0Ue CM+5pjZQ+VmDEp9OswqiqyPLiMTIGPgCBK7L3F+2CIwHDk/lKvNn6nZd/Ktm805r2AJOItWe44I 73ElfPLII2F36nA== 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 --- arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c b/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c index 4d8fa9ed1a67..d4ba6dbb86b2 100644 --- a/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c +++ b/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c @@ -92,7 +92,7 @@ static void mcu_power_off(void) mutex_unlock(&mcu->lock); } -static void mcu_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) +static int mcu_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) { struct mcu *mcu = gpiochip_get_data(gc); u8 bit = 1 << (4 + gpio); @@ -105,6 +105,8 @@ static void mcu_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) i2c_smbus_write_byte_data(mcu->client, MCU_REG_CTRL, mcu->reg_ctrl); mutex_unlock(&mcu->lock); + + return 0; } static int mcu_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) @@ -123,7 +125,7 @@ static int mcu_gpiochip_add(struct mcu *mcu) gc->can_sleep = 1; gc->ngpio = MCU_NUM_GPIO; gc->base = -1; - gc->set = mcu_gpio_set; + gc->set_rv = mcu_gpio_set; gc->direction_output = mcu_gpio_dir_out; gc->parent = dev; From patchwork Tue Apr 8 07:21: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: 879129 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 6E9972620E4 for ; Tue, 8 Apr 2025 07:21:17 +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=1744096879; cv=none; b=iKBElkjdYn5Y12G90KBZjUv9G4hkax+CtCYo2UuzVrUMBS3kSD8cW0FSoPkt8Wr42aySaXEmqhXisrgvbC5H2816V4pJHfTDNnqF0SGknF47HvG2Q52gWW8gNju9eItXu4tVwaLyZnY32duPIiQoeEU85zJp44FUZdjSSBWyu30= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096879; c=relaxed/simple; bh=Z8NuRiiGre336HaXLG/p2D9NiyCslGW/FZNW9rsdegA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=M888VZiF8ls5Lo7N1z8Olpx7wnA/58kZ0G6KkSC/a6zh5450lOt0+0w2pWydTaRVoBfnkNN+iaKbwpH+78imXoIqsVixDDFICIfXS2TfQ/xus02B0he/6vPq/K0jXYeJz3ZEl5amrNK1GZfAef7xI8LLD46VTczmeYlehCZZHjg= 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=ZIIVnpyl; 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="ZIIVnpyl" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-43cfb6e9031so47292855e9.0 for ; Tue, 08 Apr 2025 00:21:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096876; x=1744701676; 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=k5VNPwmH2aw3WXLnBPncXSTUgUkesspgvkr7nkorUo4=; b=ZIIVnpylzxesCTIqs+EPKUi348pnFN7m+yGw7Fjp5hj12zguTNyQNKrW8ccnCw6zdZ BYQMkWzAPBWcgilvs4dK/weYpHLqmMB5IbOPv87Q5CbaoHLhP6rFjSJIXt/6f1Yc2bmv YDoer9pusvy5G2EQQKxKuIX+F3BFg4qI/TslcqYOGxZOL40P5cM3JR4pTUT5GLvMd10w H1eBIRsWeLWQ8Rqq/HkwnJV8OmliUYldt2/6mmw52kN1VvOrCvVfPFjdMhwMrDKqo7Fe 9M4rk7CP66alTs+D7lWEdDYLi8CEg8R6ey3ykQw0GZkvxz7mD18ckKvsUkkWSul/xCpP 6aPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096876; x=1744701676; 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=k5VNPwmH2aw3WXLnBPncXSTUgUkesspgvkr7nkorUo4=; b=dxHrs1zlImaHMV6vQOSfmcUm97PEO9NxRrtxsBAdk+ptrcB4CMZXH8MIg87qs09R9W QyHnGbFmu1UMLjDEg5KYUBqhEqOwEebeCvrOfNG0sZwaODsGGX6mmcj7M0ZgnrSmp8Nq ERVU0upmpRVyd+bjw+M42GR75B0oUBK++xQ5ddYgmeEgFZdSJQin3PCKwxCDVOG0eHYf EDiP7xBnv33wr3z1/NFMNYwYuagoRbhKAzLrkDeOZ8UeTYxaHN+PeC83X6d55wB2qPvY cOmYlHH1ROWnv7PrThmaBhm9PHuhl+ogR9QcYhQ0Q/3STs1K7htofERozyAzEWgYPllT BvfA== X-Forwarded-Encrypted: i=1; AJvYcCVugejYm2JXuWlUVFmNmY5m+k9x0aKtLW6oIakjEsuOQCVIJYwRsVXqdvQ3VV+v9N2hOMt4AOfZ3IXJ@vger.kernel.org X-Gm-Message-State: AOJu0YwJCmXRus5FqRY/1kEOXCQDSAY6d6t0ZL7iluGhlHLBMy9/Q1We sjOqa3BzEh6qbhH98b3MlPTRIPpNHwhe7PNvcEMpxsUQPzZTTuJ2HfiqPRGSrhE= X-Gm-Gg: ASbGncsQA8Jvvjii5modalhRcMSkeLh9q1WP4Sl+jQyqO0OAPDQ7EVgeyjQqQfm68iZ MX5NKorfoi16dx8Gn3Y7ioOcu8tjrtyRGBQO/ddGDo3NuLXr8FAGYJlJhCcmW2BNdDN/OB92aRZ fFJeICT9s4Nnx2lGPPYgHRaLPETv6pZ35D/nPLxmp85T3+qmHbDPB6n136nhamEJNwdDe4NdWAU oF0nkr9MpudWQifVMRDsgRvInNtlxK0v4lSYqhdZO4JactpPDzKJ+Z3nynizRIqgwBSFcP5QRlA 4AbsiX7qoWjdvQ8cxPsfV7NGiyttb3vAoQKpyQ== X-Google-Smtp-Source: AGHT+IH4VtW25T5J+PjGlIaZ6M22QPow4uOtnfupdUllT2Fkt12p4tk7DF0T4P47TDZZTHY0VBHcAw== X-Received: by 2002:a05:600c:3103:b0:43d:300f:fa4a with SMTP id 5b1f17b1804b1-43ecf89dd3emr156314595e9.12.1744096875649; Tue, 08 Apr 2025 00:21:15 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec342a1fesm154404135e9.3.2025.04.08.00.21.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:21:15 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:21:11 +0200 Subject: [PATCH 3/5] powerpc: 44x/gpio: 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: <20250408-gpiochip-set-rv-powerpc-v1-3-73dc1ebc6ef1@linaro.org> References: <20250408-gpiochip-set-rv-powerpc-v1-0-73dc1ebc6ef1@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-powerpc-v1-0-73dc1ebc6ef1@linaro.org> To: Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Linus Walleij , Bartosz Golaszewski , Anatolij Gustschin Cc: linuxppc-dev@lists.ozlabs.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=1553; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=LL68VEJKE/MtZ6G9TyrymTnHIDLdTmXeqNGFDYstqEM=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M5msWyg7dgLldXdctL+ZK3AKOwzmS8REEK9k 9AhwWrSKiaJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TOZgAKCRARpy6gFHHX cigSD/9n9tAkmdjxn5eCjtFyUMEDYwobZytzV5we7jp4QTTClSMwVsjxPVdAuelo19SzpC5P1u0 M63rtFA7UKIfwCv0qVMtTIjOfE5qekRqcE3rpWVC57w0YF1CCGAPPzX4gSvo4ldTxlu7j9Olyrg ZQn3QFnmn1IZKayoceAC15tLVl/eZ3IIX19k0JbnpHAUOesg3uiENYp7k5EMprGRKfUJp9sVGBi jw84x4E9W3dLHqOBTZgyxW8Ro/FZRteiUscoL10ecKjUZZ9toN1tt4dPuJr6U0hoGXZoVudteyo QSuCQ0tEqeHw4rm+fcKwwN/uE0U5ytmA3sr/g/eKPGTI487XQvuglX53vuusbrdEv8QlU4d3ReS Swe/4oyn+0HH1lqg1HVljkPFwE7PLSiRNCC5zvR2mqieXeCtTGiml4ml3rtCjWSnuwYP31q8ceh pDDlxxguynZwDlBEAy0HRpWqynT06o/p2vpwEpHkCKj71/iV/+H/3obtyjiI5e/WfMNvDBjszrg fl6TFPIiat950nUVd8hSd5ClC2Q8MY6OaTz6z5BdELRjbZy7cy3TDLR9zL+yfbANqQyfEVoJAWz wayOYSs1wPhwIm6pa0PfDng2DFrmIImzJSvnJrJTXLCD6abuuSpjIY7MGu2mTBoj2F5pJQiRBIh h/cCOIUgu6sJ2Qg== 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 --- arch/powerpc/platforms/44x/gpio.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/platforms/44x/gpio.c b/arch/powerpc/platforms/44x/gpio.c index e5f2319e5cbe..d540e261d85a 100644 --- a/arch/powerpc/platforms/44x/gpio.c +++ b/arch/powerpc/platforms/44x/gpio.c @@ -75,8 +75,7 @@ __ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) clrbits32(®s->or, GPIO_MASK(gpio)); } -static void -ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) +static int ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) { struct ppc4xx_gpio_chip *chip = gpiochip_get_data(gc); unsigned long flags; @@ -88,6 +87,8 @@ ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) spin_unlock_irqrestore(&chip->lock, flags); pr_debug("%s: gpio: %d val: %d\n", __func__, gpio, val); + + return 0; } static int ppc4xx_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) @@ -179,7 +180,7 @@ static int __init ppc4xx_add_gpiochips(void) gc->direction_input = ppc4xx_gpio_dir_in; gc->direction_output = ppc4xx_gpio_dir_out; gc->get = ppc4xx_gpio_get; - gc->set = ppc4xx_gpio_set; + gc->set_rv = ppc4xx_gpio_set; ret = of_mm_gpiochip_add_data(np, mm_gc, ppc4xx_gc); if (ret) From patchwork Tue Apr 8 07:21: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: 879902 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.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 870E7263899 for ; Tue, 8 Apr 2025 07:21:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096880; cv=none; b=tJ3GYDvoohwHT75aJh4psVTXa0gQEFIQv1QoTY/yrFowx0K3c8QHZpLdBKTRlroelhMM1xVBBF/Du8YP0mSmw3vQTfiB8loS44gbyvXRMcKW3DEcalPYJhjPe16Q3XLS7s9b4OIRGfPqyPJZIzi6hQXPRen24s+nChjsNvoYfRE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096880; c=relaxed/simple; bh=ExeqpQJOlBzFpXFbPqDRMvjXumW+0LAUpb+LYyPognM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nLzz3qlmGOBVNmIC+YqE9Ym8eZyVZNhicFKCiwutcqJ8JlY04yDPOaWSWrc/D3s0lrtbEzyLrRsf3XFE1n4jYRYlpKBSuCxLTrqp8I7OUE7Mni2RZGNnblMUr2vyXAek46N7kLSxNtjPTKcNP4xOfxUIrjBLvctuPZjad2y643s= 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=JNH6rl3w; arc=none smtp.client-ip=209.85.128.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="JNH6rl3w" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-43edecbfb94so32327895e9.1 for ; Tue, 08 Apr 2025 00:21:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096877; x=1744701677; 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=A0cSllrBnTQSAVrux+ZYY4miSWlQmvTzHbS9nTbIcjU=; b=JNH6rl3wpXBzqJuRUubAYjikI/sm9g6SS/hAVsu95KrCDbi3kR+2dfoD+Lu9Dij6Dn pfLChDRvCd06mEvUalceCd+OTgaNwY3J/U1t4CxL3MTUOY9q5eRINszhUeSOGdSNqEq6 45IKKIXNZEdQRdDLv86/rPmIcumPSGwXkB2YQf2m4OAF2+4NAzWiurzLHm6Q8lsm5eiK sHx03WruXnpXjMpP0S5og/JQa91HA1N+O+8dsEvukNUIy+zy6wpy2OfAvPUf21RFgH+O Krgx7zrHiOcJvhMS8N+fJSsYBz42nv2fXzI1LC57QGNxvdz3mHgQ6QORodhPdQ5JNK4z +t7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096877; x=1744701677; 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=A0cSllrBnTQSAVrux+ZYY4miSWlQmvTzHbS9nTbIcjU=; b=l2MVD85pvHulI2a1MVOGTYotH6lTmiMvYiz/5+DnuaysKrEcyiuQoReJ+Z3EAeOtMz m+7D8vOqLM1dW6bz1Cr7x9gc13CKa7XdNGs7esVVkHQQZ/Fg+lh0FfJEeYlz+J2X3p3w GkgrM8zrJ7FjCPqmSjxlOl/DhLuSIM3DVy6UPRDoSHifLF+Tdx4J1t+7CQ6tNz/6koMB sM5sMvCUmcetNjdLLjUIy/a/FtSP8lJPNpFtNmPfzUmk6aHMJhuWsThUBb2xYm/dG9cW y4EPkkZ+DcNTfsRhy3FY17KpKCynMRB+hspq4f8cs4W7Hg2sPA9bYp2g/HhNf+332/nZ YQLg== X-Forwarded-Encrypted: i=1; AJvYcCWzN00eJuxD8JvOqCVGsKgWmPpQQV3cuhqgaTPpVqkVxkTrv11bVdMj/Pvn81arCcfufuCfJmZc0Eqr@vger.kernel.org X-Gm-Message-State: AOJu0YxauhDRLyTRPWSlbS7HsrpmsAAEWEw0EFq+DFCp6+uwJOsfXV4n rBYgjoBtOjtVyVMfzds9BKEMEd0UCsQEX+Tdf3dTzBuqtC534zGuyo78obaLXto= X-Gm-Gg: ASbGncsUOw6gcCabwN1CMn+C5ezHgP6ZVFaLkY2nESyKmIs7Ae9TSRpCIErVqqa0HAu CTI+YA44reToTjIMcnxGyjmPmn/dJOIGPNLOSB3tQrvuf1S8nRF9vUgDkBVQvWYBJJX+6XrdYvr psaNwYcsSh0jTz8Rc7qgo0fbAilJ8fGRIKwOL5y6kh7OWmICcp9hHYd131luBsShFAUm39+FYio TLh3wS7U7RIEpsSVjdMBgq0EBU8kQdtGHkcklwh+Frv+1b/7qwAAcO6Vrw6wVxVGT3MFf4Mz5B2 I0nNrmYBepW8mbXBuBtqQbdJKWFuUqmtmKC0EA== X-Google-Smtp-Source: AGHT+IHxFkxaFTSuHg6XALBk3AAm7ho5zuZR9ashDUFieaG7O18TykGWwZO57XfJMNPuLDY705cc5A== X-Received: by 2002:a05:600c:350b:b0:43c:eeee:b713 with SMTP id 5b1f17b1804b1-43ed0d6b07cmr111746535e9.20.1744096876732; Tue, 08 Apr 2025 00:21:16 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec342a1fesm154404135e9.3.2025.04.08.00.21.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:21:16 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:21:12 +0200 Subject: [PATCH 4/5] powerpc: 52xx/gpio: 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: <20250408-gpiochip-set-rv-powerpc-v1-4-73dc1ebc6ef1@linaro.org> References: <20250408-gpiochip-set-rv-powerpc-v1-0-73dc1ebc6ef1@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-powerpc-v1-0-73dc1ebc6ef1@linaro.org> To: Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Linus Walleij , Bartosz Golaszewski , Anatolij Gustschin Cc: linuxppc-dev@lists.ozlabs.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=1625; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=bkSnAWn1tiNFi+Tzj5ivTeMtlGuzsIZFtgns6Zf14Mg=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M5nMXBRd9uglf1v9JiIXSvv4QhJX+qgqtx4m oLBvLI77c6JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TOZwAKCRARpy6gFHHX crylEADOeJxsWbM8Qlpy6KWQ5pDNGZ3Sy1k7KSHEPtibqX4pDvTT+rvmj+q5af7AgQhGAUKw60n LoN2ym6kJ2RXpauVosz5GOIuD6As//tXeflYzn4L4q7tSQ1ZA6iCGZbGotMwSu8NwBHyXTh7iGw p8nDWS/nYvlDuiCHYxbe2WCCbgybgMj3XcjObVtwCetpjsE+CoTEj3zOrqTngJegY0UbSin12eq HVwyU7f+GzY8meh7nWc0FgPtjEShmVm8VVoumvIt/q2ZxUFoHRFLJEGd9MfiGlbKxV1T+bg8nbD 9YWAAOGffBxFue29AEjZ0S0Ciw/B1mdJZ6/1E+gGLsmkOv5QL/olUtd3VKu0KHupILfFpI7ShzA DY3Z8pr4rM0WucQgr3md7/4ypm8sDejAmXmQxYioeJBqzn5ZGltf27cA2fKUUv85ErtlArU70dc JZVpZGrzOGFpjN7DkjE7ooUKnLrJOdnupdTN9vttPO4e2wmkOrxUci/Uz3v/bFK9oK68mRF9TxY V9Vx9GoLXc/b328iPklYO+jI3w94HroEu9u1NozvlDnMhdQ84NGOqO0s/pP18LzdQYUofYogx7u ysTM4W+pb8qN2owxenJroMDNUulxqeU/BQIJSEUv9vrmVSjZlU0jRwFaf/GsJpgZeEIR3RpQf/l 49lOQDFjVUPv1kw== 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 --- arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c index 1ea591ec6083..c96af6b0eab4 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c @@ -280,7 +280,7 @@ static int mpc52xx_gpt_gpio_get(struct gpio_chip *gc, unsigned int gpio) return (in_be32(&gpt->regs->status) >> 8) & 1; } -static void +static int mpc52xx_gpt_gpio_set(struct gpio_chip *gc, unsigned int gpio, int v) { struct mpc52xx_gpt_priv *gpt = gpiochip_get_data(gc); @@ -293,6 +293,8 @@ mpc52xx_gpt_gpio_set(struct gpio_chip *gc, unsigned int gpio, int v) raw_spin_lock_irqsave(&gpt->lock, flags); clrsetbits_be32(&gpt->regs->mode, MPC52xx_GPT_MODE_GPIO_MASK, r); raw_spin_unlock_irqrestore(&gpt->lock, flags); + + return 0; } static int mpc52xx_gpt_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) @@ -334,7 +336,7 @@ static void mpc52xx_gpt_gpio_setup(struct mpc52xx_gpt_priv *gpt) gpt->gc.direction_input = mpc52xx_gpt_gpio_dir_in; gpt->gc.direction_output = mpc52xx_gpt_gpio_dir_out; gpt->gc.get = mpc52xx_gpt_gpio_get; - gpt->gc.set = mpc52xx_gpt_gpio_set; + gpt->gc.set_rv = mpc52xx_gpt_gpio_set; gpt->gc.base = -1; gpt->gc.parent = gpt->dev; From patchwork Tue Apr 8 07:21:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879128 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 3A4802638B6 for ; Tue, 8 Apr 2025 07:21:19 +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=1744096881; cv=none; b=Ck9mxgL74LCLZuDjlLjxaqrrc0aM1Ys7EpCu4YijYROyXgSS9EIUWtatexNVdCPL1Lb3qTpa3o8PZ6q67Qq1bMfAzxTbqzhhmrO5+5+qXD4+agyfbHeyvxfSWS29YrphtUzbeimx6aHUQ+j0/KrmEBYcLtsFPdtjF8V9AzmWEOU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096881; c=relaxed/simple; bh=4s0EUcwB+s1Xq3ZkAByVjtUfgJ3yw9YYZaLLaWHs2rg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gWJUZhC9FwOgD5U+RLGn5h2u1+aRDD00Hr0nkD+qREDBCIAOoOJ3YdvcuKo1JMBzUmOxToGISirbJGbB/7rW9ircK0omuY8EuSMPj0fSvFO9/4/d6gZdkZFX3CCct/OLEGRd5QQdjp51CDvt7iHyku5BH8/C1kkNwCPP0m2Cgbc= 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=quGaDhoC; 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="quGaDhoC" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-43edecbfb46so22912025e9.0 for ; Tue, 08 Apr 2025 00:21:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096877; x=1744701677; 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=XvshZe5PSemjV/2XZOVRqNiaOz/McPkdhU5QyFybI6E=; b=quGaDhoCHE9RbEo1BVmtUoW/KmBnoNsw4d2HaTG0Qiywvn0htviUTe3C3zuk1GaFsK eHmjhxisq0udmrrIKbRbObXxQ/IbkSFsCWVz+g1LIzMy5FumT7CjKhbthO0CAgtH+zWf 19VAqvoiVDwkroocVCqGV3683gAHp1k7lEPD0BXrPzqmOFkBoHWGqGE/1UkWcpw6zeDu doDzaLNoiwIZM1dNZkz2gFTMEXjN9yMfxYxAFmXG3PgQMHNy2MDdBKvf6E5umxoFoz0e T6tmmtbb1sySOwIaZkLFkBZCeJqzdLqh7ClE4PLCnRLQcdwtnnI/3I17BHUerpS3p0Va FoLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096877; x=1744701677; 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=XvshZe5PSemjV/2XZOVRqNiaOz/McPkdhU5QyFybI6E=; b=L7SiWQGSai3RKKk7Pa2FqnvVM8rQHk5m6BagyA+8a0LLB+ALfmlqYtU2xFlnuzXurD Ts5NM8tDVdPLcOZsts2uKiEI8y39+Of8SXtivdoh2bza2dce6bWWFBFhwv/E83uxw3c5 5lVvJ7Ljn2m39/dwYC0zIzNA8nOvGEP9b4MBy4ldT2jOBiak8hiIDOI1fCfcy1/sX8J0 NwkXGjkV7+6JGL4zdefqW8dvmQ9lWFpzljikcoQSYvLfITu+Z6Cyt1sdetbPINWvTLis Qoq20M1T0W42VwNLf3336rucA8d7PF4EHJYb+4yikcc6gCCjG+5F0t/37IZq11sGHZNq CJ8A== X-Forwarded-Encrypted: i=1; AJvYcCUWokS/YOzi/Ty1H+28qKfQA2s6mKsGcPGwdKdeE0zJPYbfj0hXg2OnrPFihGK80uPAz1rpcskL4g07@vger.kernel.org X-Gm-Message-State: AOJu0YyPTwRoq2AKkg+TxJTQCjPC1bTH4N0Z2bFJ0mkUWyngc0xonYTC OQc064yGNOvoLegY1NhqBboHbVs8a1ut/18JZY9L6QGIlqrb4DUrOmJkgIqaXWvEybQg6Pf6DRN 5r28= X-Gm-Gg: ASbGnctTRB7UWvMyST07klVTTXJpqBVAG/LkmJMeWowW/V0wiYn4Zpuaibisco3YErW 2/I9rZel9TAaxmXULvR3JgTnnvpc5htSjt0nXz9vMUo3tDxlpZjaOkW8HQ5nSOKxAfGF+6IlVMR dZTKrQ/k6xbUPJwyPIvTumWJy0wmm5qp3Q0LE33D4ZBTy/l7YCSru71jtihRnH1yZmTI3jEv/VG MUnzMmFxv+L2itUbNwi1bimkdbX8/h2W9lO6cPsXv3jI7ARw7PQVzxhcBzOyiVfl/LymKIz+xC9 QDdlLRUcym/1mzoRCc1KsUivhuKX4/HE2MOXcw== X-Google-Smtp-Source: AGHT+IGrW4uYgQjk5NoZkfCg5Q4JZQulnqw+Rx7LKQ7tq7TOQnOVz0pPCRyGYatMVBjG1AXtl+w6yw== X-Received: by 2002:a05:600c:1553:b0:43c:f6c6:578c with SMTP id 5b1f17b1804b1-43ecf8d24dbmr138973775e9.15.1744096877570; Tue, 08 Apr 2025 00:21:17 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec342a1fesm154404135e9.3.2025.04.08.00.21.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:21:17 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:21:13 +0200 Subject: [PATCH 5/5] powerpc: 8xx/gpio: 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: <20250408-gpiochip-set-rv-powerpc-v1-5-73dc1ebc6ef1@linaro.org> References: <20250408-gpiochip-set-rv-powerpc-v1-0-73dc1ebc6ef1@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-powerpc-v1-0-73dc1ebc6ef1@linaro.org> To: Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Linus Walleij , Bartosz Golaszewski , Anatolij Gustschin Cc: linuxppc-dev@lists.ozlabs.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=2602; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=j7/vT2sqk3w0eq9R3JA6vJfjNNyoaO3ADhKnGJw1wQk=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M5nw+RlBM7GRxu/xO7Dk2MaKAuqw17eaEkTq XAGkLPLyfuJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TOZwAKCRARpy6gFHHX ctefD/9qKiesq1chihFiqBhxfgS5v/Ytom4gLe+8YrTB+nRv7zmH8mj621N8fmJEbmW4PziTnaC vseQz//WwbagqW+fKFpYGuCiAkZXD4qUxW1vkLOhI7yt0C56r8TBtz4knXs3tTi/hqp2+ipJWgX UVXU9RFrMW0oUnHD2IwDauVEQbv9YoRr3gfIruX2Jfin+8P3yNoHLKEv3t5jQ6ewz8qH8LPwodY yCpL0ONxgxBy8fc7de+R6lduiUbdf3fPTwkoWK1QAkR/AUfy+Ni8/XAdJOIw2wdnWgDQRKYF+ER cjAWXp/TWSAgCAlZG3yKF1skJJOT6Blym2rjQZ8rrOSppsjkPKZnOeo9Y3x7TBzP7CViN/RA3HG bNyL9Ie92Cb4W4sSw51ovD0kquBZmhMSoS0kOhM3ojN36mrccJ80rNzoxdbyXSf7uUqH7/ntBXM NPh0rmGrYqwlSh+jhXcsZriiy46/LsMHpY7pQydNt7l8Wo9BGHg9SQAu2J4d4JxMtGb5l5R1UL0 8/k2a6xn6UmqcZdk/PR6QWHHxARvz3jgR8F/ypWXfvC9nPns2Bf8mJStATofB5n1rDgOKeLvomB dV7fXkj7MYSi07D2C+6gI9xd+WtEvQT9lspoQyQEV0Q7eWLUuAeISFqApvAq7AhAWHdcwsXfXgV C2BzXkHLmqZ5Ogg== 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 --- arch/powerpc/platforms/8xx/cpm1.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/platforms/8xx/cpm1.c b/arch/powerpc/platforms/8xx/cpm1.c index 1dc095ad48fc..7462c221115c 100644 --- a/arch/powerpc/platforms/8xx/cpm1.c +++ b/arch/powerpc/platforms/8xx/cpm1.c @@ -417,7 +417,7 @@ static void __cpm1_gpio16_set(struct cpm1_gpio16_chip *cpm1_gc, u16 pin_mask, in out_be16(&iop->dat, cpm1_gc->cpdata); } -static void cpm1_gpio16_set(struct gpio_chip *gc, unsigned int gpio, int value) +static int cpm1_gpio16_set(struct gpio_chip *gc, unsigned int gpio, int value) { struct cpm1_gpio16_chip *cpm1_gc = gpiochip_get_data(gc); unsigned long flags; @@ -428,6 +428,8 @@ static void cpm1_gpio16_set(struct gpio_chip *gc, unsigned int gpio, int value) __cpm1_gpio16_set(cpm1_gc, pin_mask, value); spin_unlock_irqrestore(&cpm1_gc->lock, flags); + + return 0; } static int cpm1_gpio16_to_irq(struct gpio_chip *gc, unsigned int gpio) @@ -497,7 +499,7 @@ int cpm1_gpiochip_add16(struct device *dev) gc->direction_input = cpm1_gpio16_dir_in; gc->direction_output = cpm1_gpio16_dir_out; gc->get = cpm1_gpio16_get; - gc->set = cpm1_gpio16_set; + gc->set_rv = cpm1_gpio16_set; gc->to_irq = cpm1_gpio16_to_irq; gc->parent = dev; gc->owner = THIS_MODULE; @@ -554,7 +556,7 @@ static void __cpm1_gpio32_set(struct cpm1_gpio32_chip *cpm1_gc, u32 pin_mask, in out_be32(&iop->dat, cpm1_gc->cpdata); } -static void cpm1_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) +static int cpm1_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) { struct cpm1_gpio32_chip *cpm1_gc = gpiochip_get_data(gc); unsigned long flags; @@ -565,6 +567,8 @@ static void cpm1_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) __cpm1_gpio32_set(cpm1_gc, pin_mask, value); spin_unlock_irqrestore(&cpm1_gc->lock, flags); + + return 0; } static int cpm1_gpio32_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) @@ -618,7 +622,7 @@ int cpm1_gpiochip_add32(struct device *dev) gc->direction_input = cpm1_gpio32_dir_in; gc->direction_output = cpm1_gpio32_dir_out; gc->get = cpm1_gpio32_get; - gc->set = cpm1_gpio32_set; + gc->set_rv = cpm1_gpio32_set; gc->parent = dev; gc->owner = THIS_MODULE;