From nobody Wed Oct 8 18:13:10 2025 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.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 072F2284671 for ; Wed, 25 Jun 2025 10:33:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847622; cv=none; b=BTCBjKoI1RNxP1P39xTtkyd+XD66BmT9PlIRngEzKb6tFsDxMhxWoTZg0uBfHsf0A/euD5mhLw9uvgXSN3ZQN6cmEei9NYl5Intyj3O1K8t6gQNy8uc4nTg/PN422bLvWFDHh6ku5jvRQEMEzxzxXuTMT18A4oPWAzvrHyKjOrk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847622; c=relaxed/simple; bh=L076hmic3ZFiAv3xcr6OkGb7q6sA0X7ZsRn/aHUmDrc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HFzpEzx5X9/dNin4DCYHweYqLtq7Squioe+vceUBcYiWoOOljsmUOEw57Ok6TpgCwSXEemwPMPwE4roJ8GVjh6hU4AFq2dQ8UPq5+RCdWyRroPAtVHa8lvk+b7L3lQaRJjrNrkaMZiqv2ezICW4hkuyLyuIxmn0v8fnjezRSSqo= 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=NTJOb2Wu; arc=none smtp.client-ip=209.85.128.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="NTJOb2Wu" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-453398e90e9so43232885e9.1 for ; Wed, 25 Jun 2025 03:33:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1750847619; x=1751452419; 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=BY+Lz6lKMiwYrbR7KuHJ26zaicwVAsUkFljRs2T1XQE=; b=NTJOb2Wurg/X30eWHjXNfNW59QnJwLAPqXmfcf9xhV+cYX2LMRoelG9o8udGqWsQXn UA82cuH1lWWXC6Ilp+nJD7VwCZoyciNsU28JHFwUQC20banG7Uh1EMPb/sn8hWpbBfik gBZdGmO0BtePsK2/FPuA9p7JYn0/8tnWnGBqgQkauBPMkaj6gRGUndqlRUW8emhgt/vm Pp6559jywo8fC3NVUWLb5XGfp5uWtIoHwWGjGluvnhmCGwD7GoqfenvnxdnIFHAKeR/6 SbvRPPvn6HPgjmGxF6g+B22UR/DrcEepNYfdGV/miwF9uHChFG8q+DbD1xf61aPhf8ou REaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750847619; x=1751452419; 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=BY+Lz6lKMiwYrbR7KuHJ26zaicwVAsUkFljRs2T1XQE=; b=C/bdwBx7O3xFOHv5KXNZ1qtBPanbWBYY9E2vCc3t+veLhbF9HDTNSLlQOeBM3C9032 PNEDPwaoXc+yJzLmNQKmUerHFSeSkSxy4dumIwQ8kNuadHI5EpEWB1QSR0ytgqMLwfx7 29hhpetQlhnwNOPthXCONjw50Iln/Xa2ad20L0l6npEiQPZr7np/TMCA2pqCI23w9LCW HLL4ghvZg4+V7B9qS8vqd9sSLmM+o0KJOXBxvtYsmUXodZZl4Lk9G5AO2qR4Dv373oLs ulMxuFAA3Omlo7Atq/MeyYT38TTE8+HK4vWK3TSw6rsNJdz9g1kJ3Lhe+py1B7yf7wsm xjEQ== X-Forwarded-Encrypted: i=1; AJvYcCUGbEf9t+mODmutl+e3Ocan561lzWyI58Q5DR8phCN9BVQtgUibgE6pDorRRta8vFVvwUQ+kQl8qD/fHpo=@vger.kernel.org X-Gm-Message-State: AOJu0YyQt0QjnBiaP8pXVE9INRMjYudqsGYYPCsloi9WqEajTVm+tvRm nEhfO+/8QkgelnTsmEVeCO3RfA7r6sRdimFFbje/fxvzIRzwAUyeGWHZ5N0rdGwaerY= X-Gm-Gg: ASbGncv/OTN4fQ7/nZpKwEkfhdfxoOh6VS13XBlLDMqiBAqvLPLNZKbbtBdG5kFordy 3joeHvbLcWG1Rk2DyB0wc2lQRT1sPbv/1sH7qwnWAiG5wPJLOE7+JkghpxjkHf2+aA9Wrc0gRbg wdiMjLAaZp8t3feq94QzS6wg3nboPIn7KVcJByQqNl2L3vpQVyYBzl89IQtZM/Bec7XFCYR9Q6H HtuPhW5wA6y4as+CIKsFQkH5K6tr9XhHRVCVIvTNtyKiUu+x9zeAFX1cAuH+fSxZZL6o/skhSzl U5yMJUxSPymp98fSuORI/RigaXqhmjYcbgQAaRK98Q4S28Vb7qIQi0xw X-Google-Smtp-Source: AGHT+IH5n3V2Wm0P6CUxi1gveb6IoGY767ZKTPjsevskpMmy1m5PrdgebUCMcoB8UkSLHfSDVjT+Rg== X-Received: by 2002:a05:600c:4513:b0:43c:f6c6:578c with SMTP id 5b1f17b1804b1-45381abd384mr23901585e9.15.1750847619098; Wed, 25 Jun 2025 03:33:39 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:d216:42f3:1e7e:472e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45382373c86sm16133195e9.33.2025.06.25.03.33.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 03:33:38 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 25 Jun 2025 12:33:24 +0200 Subject: [PATCH 01/12] gpio: sama5d2-piobu: 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: <20250625-gpiochip-set-rv-gpio-round2-v1-1-bc110a3b52ff@linaro.org> References: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> In-Reply-To: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> To: Ludovic Desroches , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Thorsten Scherer , Pengutronix Kernel Team , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1638; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=OsKwI/13W1loEUCyUkai3/g1YYcKJASkK3JSsvIY/ec=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoW9B+9KzJ70ZY+HOhiE4zfGY1VbgsiKidRlYmK Rv3Gzq8LI2JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaFvQfgAKCRARpy6gFHHX coFpD/96Zq597g3aZF9Cd8f0q6z9n1kK7v0Gd/AF1oaMMmqa2jvOdxjxS46OrtOECQVVOyuQ95t f7XeyYeGiRy18XEWjZ/0Uuw9OmpXhmjr+pxJE0xgvpMdSdB8cR1UiHRZyeiRPCuQ0lnkRx2Z3RO WuCDT4rXFYkiwkXXncVox+JetZFiI1TMVTZtKIXXH7bLPembV88ZHrP7cWAa4WSEL6rJg5UUq+r LppO5ug+0t6xsRwuaJmcQPx4UxMZmXhPF88VklWn8VagD45ej5ypqtnGBzSj44t1eogzEDGTMTe Zy0yyjYw6Jcd0fZE6Vh/dcNZFx1gHvwxHwFlhg3GtcWI0quHZdD2nQBBA6zVFeI73okPfaiON97 DOnHi0E8m4d1mDRVSJtw+Ct7AbPkTJJhyUQKxnKvUPnDSBpsAi1FWgdu9UA+o4bMAy1/CiqZaT0 BubNZ3V5K/sSLUCdVY4c9fpxJH0lsrGmLG1KqYn67nB1LR81iT85PSRvA2fsptCGUH4dbnh7d+3 jecoaH+kkmqYURLUmE3znM4Z8q5+60nvqU5SAj+M9AiLSAMMNj59Z8wDPE1K4r4hrOR9yjrdwwZ jk93GzPN+Xo67157cGFkbmMSGgD2gvq83xOMW3ChasZQfvwXittXuovyJArX7alaEWz8hoHIXGX xjhSKJU/QASErwA== 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-sama5d2-piobu.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-sama5d2-piobu.c b/drivers/gpio/gpio-sama5d2-= piobu.c index d770a6f3d846640d8ab4c9ae387635118b82cf51..c31244cf5e89108b5a21ff6ff58= 569dbef4bf972 100644 --- a/drivers/gpio/gpio-sama5d2-piobu.c +++ b/drivers/gpio/gpio-sama5d2-piobu.c @@ -169,15 +169,15 @@ static int sama5d2_piobu_get(struct gpio_chip *chip, = unsigned int pin) /* * sama5d2_piobu_set() - gpiochip set */ -static void sama5d2_piobu_set(struct gpio_chip *chip, unsigned int pin, - int value) +static int sama5d2_piobu_set(struct gpio_chip *chip, unsigned int pin, + int value) { if (!value) value =3D PIOBU_LOW; else value =3D PIOBU_HIGH; =20 - sama5d2_piobu_write_value(chip, pin, PIOBU_SOD, value); + return sama5d2_piobu_write_value(chip, pin, PIOBU_SOD, value); } =20 static int sama5d2_piobu_probe(struct platform_device *pdev) @@ -196,7 +196,7 @@ static int sama5d2_piobu_probe(struct platform_device *= pdev) piobu->chip.direction_input =3D sama5d2_piobu_direction_input; piobu->chip.direction_output =3D sama5d2_piobu_direction_output; piobu->chip.get =3D sama5d2_piobu_get; - piobu->chip.set =3D sama5d2_piobu_set; + piobu->chip.set_rv =3D sama5d2_piobu_set; piobu->chip.base =3D -1; piobu->chip.ngpio =3D PIOBU_NUM; piobu->chip.can_sleep =3D 0; --=20 2.48.1 From nobody Wed Oct 8 18:13:10 2025 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.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 66F1A29C353 for ; Wed, 25 Jun 2025 10:33:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847623; cv=none; b=edWUnWCEu02fOPYkvukkjumlI1G/HIewu8cSG61mpOjmonolAG8MSbndTGLBk+EpICIFeCOF+g0P5APzDUS+tOR+4enQcW9hRtwhmGd3jDa5PyCJT9vp1cKdiigInFhpq45G1/cL46YcobgApyzE0GOzQeuj1nurmhrgZYCKOKs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847623; c=relaxed/simple; bh=lbfrKKYsx0Jcx3ahPDZ+tIZDH/lZK6F58WKU5pGoFjk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kMHGi5IcbCB5aM4vzcMX6KZ1TCls5+tB19YCPYO9InDWAn0JA5RGYAQ8wkFwaNDRPAdWbKFLeXKsfawejCU1rkzRMItZuhtO8GjHqd6hBPVRbBQVYyMdjb2C1bhad/+G3skkL/OG1jOOpoTF8kUqD7xajWSspGZZHJRfJp9ERtI= 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=I1AGmqNH; arc=none smtp.client-ip=209.85.128.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="I1AGmqNH" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-451e2f0d9c2so5476025e9.1 for ; Wed, 25 Jun 2025 03:33:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1750847621; x=1751452421; 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=yyMmalZdJ6pbvGscU3TgFwWkO4BumQObBVQ5qABdz2w=; b=I1AGmqNHQj63DL/FQ6I8HIaN5Ch6JWYwSi7IfmQrmHEhXHr5uPt5OpC5dpbnq+3Uyg FjuHnvUAAHc0427NklJmBHEHSKGfmyRR9Sg2ZffcAqWGz4vToxmm9XgfOjLvwL3Efg0R ZRsNxC7ZR5bK7nTxzMyt9d3BJEyad8j0jkGkrsqd1BTCpP7bnuXfLMbkYZ3Jz53ZKrHD gXCq+KEEPjcaDnlFAQi06Fxj8PKHfR67zWmerlGlDwQ7tlA1WJKkZDlsgmgenfC5nM8v V5KWSc3Hm4aZJ3d0ZR4cpBhBxCRNtSXtCOEVD/Znf2YW7C08PrLUYUXzIKlKo+4BGvlH A6IA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750847621; x=1751452421; 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=yyMmalZdJ6pbvGscU3TgFwWkO4BumQObBVQ5qABdz2w=; b=mdebvDGRMlDeZCAOU16YPOrfEdmMmJj9S7tm5fSZikFHffURAAPtBKjCEMwc5jfYfj VBr53dzofTJbHyAwxF7Q8mVXsmRDkZVfD6Yr/qy9q8b4lo+nSc0muEn8tTfWpCnyGVv5 UpeBrqS22/iEvgulMjz0dTjftbjrzo8MoYQF2NI26+/0+SsDBRJ82kFX13cSHGY9pFA2 HeBJY3tqI6orOE/yhmtlj1BxD0phE73cy1lKH2OBk8wN2S1LKZ/DRfnbYmNsfEdhYDzu AsSf6Ev7DSjetU3lSlvVJaTOsVSyqMs0VKnYDn6c4NP3qKmwsbBCmbSQkgGT6unzQ34/ Je1A== X-Forwarded-Encrypted: i=1; AJvYcCVLrMJY/KFzFlhKKcVXZ6jHn2P/Vn978dRqp7OpSPv50Y8V7k8iwO+d18lCoFdrKC3EJzaSerbz4kqgHEU=@vger.kernel.org X-Gm-Message-State: AOJu0YzDvhxNy0C60HyEObbAqV7+xviXtRI/azG21/txB8ZbPTgxIVgi 2YmL/OgH4CiUClphiY2ZJKGQ07zme3q8+QFrrpuXrtk1UrCE9lO03dMZmUMajb9fCwQ= X-Gm-Gg: ASbGncta0mcZFXJw9SyqsSaoKrh1KAnNC/uNf7XeR7YyMBb2w5kqINwdgFSIkSw4api LiYONvOwNxAfDCs0MUNmlexqDgfipz4BmOVG5R1afu0rx2dYzWiKfhw0LPs5QyTfwuNf2ffQftC 7Tl9ROEGNKVu5/DSgs1JM/tR3MHX9i+ga/aFrw6aGCWpxC/fyYa/no5Y+ZK9bedhhFumK20LfzN DgmhnGk4+A4c9z5qv1AIpFAB8o5N8EWZhJiRjdBXFMNflKsoL506gRo11zyqcJD7XhfrFgZaXbo v8gGmUwPvr0MgeD1TGHIT5q79iXdo70ZVGKvu2Khlpoq+9CwMWdCFOEk X-Google-Smtp-Source: AGHT+IGX5kkHK6/RlQAQGngBXm2j4mrTrpDdNI6ZtxmGUqgETkm/4NoVqdH01dVxDSht4AUXDDia+g== X-Received: by 2002:a05:600c:1c1f:b0:43d:5264:3cf0 with SMTP id 5b1f17b1804b1-4537b784539mr66449965e9.11.1750847620649; Wed, 25 Jun 2025 03:33:40 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:d216:42f3:1e7e:472e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45382373c86sm16133195e9.33.2025.06.25.03.33.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 03:33:39 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 25 Jun 2025 12:33:25 +0200 Subject: [PATCH 02/12] gpio: sch311x: 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: <20250625-gpiochip-set-rv-gpio-round2-v1-2-bc110a3b52ff@linaro.org> References: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> In-Reply-To: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> To: Ludovic Desroches , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Thorsten Scherer , Pengutronix Kernel Team , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1622; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=Bm1ZmDU3+64z2/g6/pZk48jzwRhypNvi/L59y0B0Rkc=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoW9B+9/4Ewmd+YvX9HPVEYmxBAdnKtB6+FINBn JAEQO8cyCyJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaFvQfgAKCRARpy6gFHHX ciqYD/921ph5itXKEOUqDoyuMmmgJkixfw98VW/OgdyKVZj1uo+9vDhgAOVGkD/krekgRzgxW4i tGuZFW3nq9IKvvScXoxHU24f/6dqGeijpan24o3x9lA6p2ToC05dRWgl2gPydwhTbOjf/yiGrJg eXiCiQnsto2fqjl17KdY4sLcN+vPguhIT295R6kSncA1df414q1shuAnrXlPaxo5dNi5xcY1Q58 lLXtaeLwJiHFyhTk/nByGZAFlB0B3QS8y5UuImWgevMv2TJ7JY2ucndXH6YWUdhsAta/iwAWMAe O0xWo/AD2N+AUW0jy9smE3pvLoF7MadWEb/A+/U+KUD+T1i7RtZJjIjyym9rmucanI6Vl3aB1TK VjU0tyG5TR/Ih8+YTi/84SBv6imCmwGopVzWS0y0gYE/imeqPb89kCdNXMwOuLSPYPB/w/CyQgX vjOFwLlS2UPEJWOP+t8+9wYxyut+zWUX/ydGxXsnLvXz3oMJPNEusb1siZI7ubyeVc1YwZZe8Yi QIzCICpYNSOY/xzKxdbvA9b/q8KyfuvRden2qr6OQm++gLpzyNhzwIvtAO8KJqLqTHP5fxrX/c/ o91d6WX5k0vnrzu2a5/zFDqLlr+WsqxxVjvBq7Utv9bXVV6Dy0UEnA4hktRgLxR1y+7k1l9nAiY n49AHM8TfJKjUQQ== 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-sch311x.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-sch311x.c b/drivers/gpio/gpio-sch311x.c index ba4fccf3cc94f108f036936bc2d5006fb4d060a3..44fb5fc21fb8aaa7a4edde5605e= 3e23c79ab806e 100644 --- a/drivers/gpio/gpio-sch311x.c +++ b/drivers/gpio/gpio-sch311x.c @@ -178,14 +178,16 @@ static void __sch311x_gpio_set(struct sch311x_gpio_bl= ock *block, outb(data, block->runtime_reg + block->data_reg); } =20 -static void sch311x_gpio_set(struct gpio_chip *chip, unsigned offset, - int value) +static int sch311x_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct sch311x_gpio_block *block =3D gpiochip_get_data(chip); =20 spin_lock(&block->lock); __sch311x_gpio_set(block, offset, value); spin_unlock(&block->lock); + + return 0; } =20 static int sch311x_gpio_direction_in(struct gpio_chip *chip, unsigned offs= et) @@ -295,7 +297,7 @@ static int sch311x_gpio_probe(struct platform_device *p= dev) block->chip.get_direction =3D sch311x_gpio_get_direction; block->chip.set_config =3D sch311x_gpio_set_config; block->chip.get =3D sch311x_gpio_get; - block->chip.set =3D sch311x_gpio_set; + block->chip.set_rv =3D sch311x_gpio_set; block->chip.ngpio =3D 8; block->chip.parent =3D &pdev->dev; block->chip.base =3D sch311x_gpio_blocks[i].base; --=20 2.48.1 From nobody Wed Oct 8 18:13:10 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 0491329E10D for ; Wed, 25 Jun 2025 10:33:43 +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=1750847625; cv=none; b=TNZu1zvYZIRcgFet87x6ZnlG5+waj3GT/MbzE1vOxtiXhi5tyBpXu2L2QKQVUOXCB4Lj4eFm7RF67eC5CdHhwAl04jUiAMWXTY2V8Mq5G5b0RtT2LaWDcRAa9VLYVzZxo15gxbet55ys5PjdW3TKfG323Im3yC7O2nwCwbpw7bU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847625; c=relaxed/simple; bh=Gydu2m6m/KVmNNXd3cOIFdF4KT78S2aE5lznLFI/X1g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lWmdTbzOr+pOThZFm9/0rf9hOWG1s+UsDvgZLZWq4z0eBzGxh4bFrNccxK4ow5ZWRU/3o1teu3m9yASArqcykMKEjR7Z5rwWpcrm+yrH7bZn+SwfV4iDqbZh0RB8xxffzJsyCk0lbchZj5yj3NzCS9jt0TNjwQlzTpC3M7qYm/Y= 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=Avdt/dq1; 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="Avdt/dq1" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-453398e90e9so43233285e9.1 for ; Wed, 25 Jun 2025 03:33:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1750847622; x=1751452422; 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=Fds2MhNytSCnzKU0jjInhjpfsALDR8PAilLtpJ78pio=; b=Avdt/dq1Upq3bcukhtAqlLjz7aLem+AFSOMTVR9Ki1qDQhI4plBRcCAbSqLeG9W5f/ HFDecfkifiKO0Djsri/AYdLBSXcYbYRnXiETTp/93nHo2UX7QGWHWNRDOrWJd+mYc9lY WnaQwTDac6a7xy6nGlaSCQZQbMojJev57CKmzE5bTBYiy/GhFqykiJ3V9C6TIuW1Tc8+ LoriDYFve57P6NiOY2DO2IrZWuu2K+JniBTPcEGYgPaI4QX+M89q8GziOdWZpSFrSciu U9xvJYQApHZAFnkg/v8NvgN78q3w3rOD/Q8dSRQorRTvwTCRG3MRD/oQR314ZpD/zaJH eLtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750847622; x=1751452422; 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=Fds2MhNytSCnzKU0jjInhjpfsALDR8PAilLtpJ78pio=; b=pNVZuMQl3MyYIjjEW+iOJqEmi3tM+u9VW9B2VLdDjD/qLiJFTLpV+m4llU1yASfW7a 2nnbK/cM6fKKH2RkqLbln24LyvySXA1Uiogz9updRI2ZlETW1+/3xeDw1nRIe65XKi5s 8TGQwDIs24sCOTREcuDHPC1n+wDVyNz5Kt4HzulLl8IJJwvCL+6/RlJlHZ2NOvWrD7X3 4KaF1N2lZqo504ZogsrAt8lZNyi4olGdZbAgJyhsJpOXT3oIRO3mds/qWenHWLhD9Ls7 1jUZqLXtXgZrdgGAW1AcHNCND7ibqUI+Jf6UlEvOqou29x2QsVDXepYLy6Gdi1sgX6I5 lVqg== X-Forwarded-Encrypted: i=1; AJvYcCUjUmWgiTcJpgje3sVy1i+Jn4uYUJRs/fx9KTriy8h6dlYNVbUAcYV/3rJqVMv71TPEfY/O203KRfkbGyg=@vger.kernel.org X-Gm-Message-State: AOJu0YwI0LNtbtwNpb8sP1oHoKvW4RVQZhOTaSMsaCROMnMCKiCtaz7Y QymZEm0+xA+CWMNu1lZW+hyOGKXbQC1Bysh+6xHViwCZP7hLHdn7r6kz9JeZv0YZMvo= X-Gm-Gg: ASbGncsPUX93tjt6w3x0OYUU4O5N6xcsitl539vsBI1qyqarN7MxWcg51LErH4Ht3Jm MY1+07se+kn6r/YPFWITP9fH6sI4jZoPkogWS1ZN3Ar6ypibqItr/K9qsEIMTGqPmn1V3NNd6yf m4vpyhiVviB++B0JcaA4OLD8R3chcyrs5Hf/aF2Rqa/FsrRM7dyK+E3g/+6Oi8M/LfZng+iSTZt JcsvDo8EIeygP62zTvE7JmuA5n3hpnG9UD35JKMzMB9BCpK/j1dCt/kfGCnkCfGo8RmCoJPXVT0 ggmUKOkmmQhhwHQO+p+IG9x/2kVrhnI07Bjz/uw7saULQ8+iwJjC5lxp X-Google-Smtp-Source: AGHT+IEB1bVGz7jSwt+k7RvQZQqq75gx1fKExWgNrY0BLqhaHS3PlIlRuoRf4PgDZVjFqYg82xBLcg== X-Received: by 2002:a05:600c:3b22:b0:43d:4e9:27ff with SMTP id 5b1f17b1804b1-45381aaf86amr22139135e9.7.1750847622277; Wed, 25 Jun 2025 03:33:42 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:d216:42f3:1e7e:472e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45382373c86sm16133195e9.33.2025.06.25.03.33.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 03:33:41 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 25 Jun 2025 12:33:26 +0200 Subject: [PATCH 03/12] gpio: sch: 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: <20250625-gpiochip-set-rv-gpio-round2-v1-3-bc110a3b52ff@linaro.org> References: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> In-Reply-To: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> To: Ludovic Desroches , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Thorsten Scherer , Pengutronix Kernel Team , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1977; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=20ZB+p91W6AfddlrDokTU/tosMerfgooAW4ezeKuNp8=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoW9B+lAJkN7YZV3SHnrEA4WiRFC3HboXlPuB0c SAVrMYCTUWJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaFvQfgAKCRARpy6gFHHX cjpIEADH4hG5lCY0NvrLOQRwNpAisiacV4oow9swqvnZ0QQ+EIPY/iPgJ79MDLQsc360Yyjf2VP pMSesR959pD69DRYDL9pgyWkzI2Y6hbZGuSCWrpj2tJBvkg3shRC0HY3f9ljTAoXb6tI/6RlqXF EjP93T8flceHpQNlgbcDnp4AaTQZ44/woZVIVN9ysdatwAZBj3KBJKVlrwfFhAgvwcNTuYrtyYA Sdbq9REuMsneZMleAT7M2kT3ApJ6SNwnBaDL1RSTgWYY4IifB5lLMi45T8VFFBD9Jix4s9BKpfs znIXj0AsnGPpCUD1Bw+SgThvSu4JrBwe0GMYCGYWveGGx3EKSzE6RA9tSZJUtXU8WYK0wSIjbFe tdke11pUAIH8ejvEZQF+hDEaMO40lBLlI0XsBwXqGmDdjw9pmT8sGpzfxafxLLIHLdwGoBblGeI eldYCbtvZK+0WqYln1XRUAFItEiuW3YDTVneQ+rF+SUguZBdPZY6y94ABnxWjEyZZNWaTvk22Ho gFLWeaiHMBwGuvJFUsaVzFIo720p4+YVtajCYePpl+0hO6NxwpVyeeKjoWAXZTixsyeLCFPKEF8 4NPYbZvIQEC3yJVwhXQOQVt0JiSHb1YvcC4IzUGwzsjxcHMB0+ech5K0UC62OdKnCdW/lxCyp0B hJ4tw3aa8/cNsSg== 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 Acked-by: Andy Shevchenko --- drivers/gpio/gpio-sch.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-sch.c b/drivers/gpio/gpio-sch.c index ff0341b1222f7ec2ea0df56b004222946d2418c4..833ffdd98d744948cddc32fd803= 9a9489a654ab4 100644 --- a/drivers/gpio/gpio-sch.c +++ b/drivers/gpio/gpio-sch.c @@ -117,7 +117,7 @@ static int sch_gpio_get(struct gpio_chip *gc, unsigned = int gpio_num) return sch_gpio_reg_get(sch, gpio_num, GLV); } =20 -static void sch_gpio_set(struct gpio_chip *gc, unsigned int gpio_num, int = val) +static int sch_gpio_set(struct gpio_chip *gc, unsigned int gpio_num, int v= al) { struct sch_gpio *sch =3D gpiochip_get_data(gc); unsigned long flags; @@ -125,6 +125,8 @@ static void sch_gpio_set(struct gpio_chip *gc, unsigned= int gpio_num, int val) spin_lock_irqsave(&sch->lock, flags); sch_gpio_reg_set(sch, gpio_num, GLV, val); spin_unlock_irqrestore(&sch->lock, flags); + + return 0; } =20 static int sch_gpio_direction_out(struct gpio_chip *gc, unsigned int gpio_= num, @@ -146,8 +148,7 @@ static int sch_gpio_direction_out(struct gpio_chip *gc,= unsigned int gpio_num, * But we cannot prevent a short low pulse if direction is set to high * and an external pull-up is connected. */ - sch_gpio_set(gc, gpio_num, val); - return 0; + return sch_gpio_set(gc, gpio_num, val); } =20 static int sch_gpio_get_direction(struct gpio_chip *gc, unsigned int gpio_= num) @@ -166,7 +167,7 @@ static const struct gpio_chip sch_gpio_chip =3D { .direction_input =3D sch_gpio_direction_in, .get =3D sch_gpio_get, .direction_output =3D sch_gpio_direction_out, - .set =3D sch_gpio_set, + .set_rv =3D sch_gpio_set, .get_direction =3D sch_gpio_get_direction, }; =20 --=20 2.48.1 From nobody Wed Oct 8 18:13:10 2025 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 009AC2BD58A for ; Wed, 25 Jun 2025 10:33:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847626; cv=none; b=Rz2xrwoEfaV68yptt/RatohEV+pcq+IMEGMrDEYWXS05vorYPFGHp5EYK+i+gKMEZ4pt6/5RwZBW9B5T4shn7Adm+HIYt5gTD4Lwtrzrw7mRreHGQEh413lqjQxjF0gSbPtMbPDku67ME3WjiJRgUMMhNStEbIavzyLqnwZAwHI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847626; c=relaxed/simple; bh=729bTHeMbxQBEWcLQhpwWJ2bHQvRnqwTAVtSem1K0kU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LedOqBGMhBEvhdqpv9lo1iQfrLG5aRJY0d8aGePN1FyEeJPpivkjEW+cTfMBFmEZH/sjOHIMzfZkemUQntZkevRNblJs2pLx1OCKFxDB8eZ8ogRoCymFlFCxxghstYIBc1yRGfoZsytwC54fd+lz5Qze5rjoXFgC2FkvHY8EynY= 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=Jlno8gm7; arc=none smtp.client-ip=209.85.128.54 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="Jlno8gm7" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-45348bff79fso68678655e9.2 for ; Wed, 25 Jun 2025 03:33:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1750847623; x=1751452423; 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=tU449U3rD07cot6WAW8djohd5BFLFtc92RhNFArY8gQ=; b=Jlno8gm7CFFi0GZCfZjZdluLwdqG2VBiuXElRNSfpi68cOZB7+fEfuZu58w4Ao0iCd d030vhujAcvvg047sVlLojsHtELsWIfthdGwpM5tvHTJpaAIvV2/J0vuG7vhbkdIJF7n PqxBoEJhazdV13qjoK7kB1SudLIok/iM7B4iUEN4fk2rIGMXJLxim5yKwXzJmpDiROfG SxbDgQWffhY42pldx1Qyb3WYMAW9u2UO8LCZfaEkYsltMVTI8LxHprvhG03B/Q0sxuN+ ALfmLHqIHed/7EBdcHDQ3G/Dp68qpmzEv9ikwqpfZoHh+fxT740+z4w0jID9cAu3aJMt +kAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750847623; x=1751452423; 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=tU449U3rD07cot6WAW8djohd5BFLFtc92RhNFArY8gQ=; b=doPZZnVT2EeTLtjBAzG0uTbu1qeXftcqVP+Ol5bieVnQzTKBbqpY6zSE3xZ6/x3+3z VqUHyuX/Lnkc2ercZxpJL7YtY464sgRA2VhWJvKyotjgusMgHb+l1VjbZ+4m/Jc09z22 gm+vlDnfJQk6ph5yx9wkgu9zammNj+4uKsUlKH8F1nPM6z5uR9+PCbs46WWj2uUQRTE4 DpnSKIVJ/XJqWsW4djcCC6nu8ttrN2qwJ6iA4NaOVHmxPrb3NcyJq/bgXOJNZp+rIq/M jNLQErIfga82OYqNADlQeiTv+WcCAYNqlcIduj59Sv/ZuOJVrKCBZXEFFSSFCvKSdcuA 0CiQ== X-Forwarded-Encrypted: i=1; AJvYcCX1vYyMo1Na1oBhzFa7nLqz+49M0GzgiRjIkACe2VOtlgISFzRhEadakpRQ1jiPC1LjBs2S4Yom7rSpzBk=@vger.kernel.org X-Gm-Message-State: AOJu0Yw/uO+z1oMw8cBrQYvjiTcr4NlY5LCtlAtNxREEOza9kbAWHwel SsbPOoV/6/mf4Pt8jOj1VhDkLuS2aOyte5hJTKYm+UmK+PSDgs9vtyhRPTIqZGH/IDY= X-Gm-Gg: ASbGnctUyRVHidYP11xjG/OBoo/EOelJtigZuJd0lX2tO3fSiClovPdTwnJnm9NmZ/u kwAyAghK8uPfypDb+sV3S7yDAm6BE6UP+xoGKzs9CUMWA+rkqgsGtledVM4dFjVHBrk3JNgp+4q tf6MLoMD+wdl5vUDnRUykAIXO8m+Sxi50ySnJvvP9PsIPDopYzVL/5GiVRelXnK3xIJVigtpO7K yvyMPlsXsVnOb4OKA+4nY35Px/Mm3K3EbLMQrVymnEQ0li4zyIOHCZOunutgT8R+A0874ZaDy+Y M+kFQxSc9NK0wTiI9TjtZ7k/prUGmz9Zm97aQ0rD5d2XH/GFRMlb875e X-Google-Smtp-Source: AGHT+IExdKWHy0zZaVYCrqx+BP7uJ368HB9lkEt9PPvj6/TYCB40ZTHcV1Ct7Y5lmkJLBkvOCbR3KA== X-Received: by 2002:a05:600c:4689:b0:450:30e4:bdf6 with SMTP id 5b1f17b1804b1-453837b27admr15033695e9.19.1750847623364; Wed, 25 Jun 2025 03:33:43 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:d216:42f3:1e7e:472e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45382373c86sm16133195e9.33.2025.06.25.03.33.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 03:33:42 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 25 Jun 2025 12:33:27 +0200 Subject: [PATCH 04/12] gpio: siox: 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: <20250625-gpiochip-set-rv-gpio-round2-v1-4-bc110a3b52ff@linaro.org> References: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> In-Reply-To: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> To: Ludovic Desroches , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Thorsten Scherer , Pengutronix Kernel Team , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1858; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=bJcwe6Hr5XvIVx8G6ghZMJiYUF0XZL199iB3coJfAfk=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoW9B+PQpCwI9SoOycpwUWmzmglijqLdeB/U5Eg kE1VEMdyMKJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaFvQfgAKCRARpy6gFHHX cuFFEADfNeOln1AAQDWFM9wsl7uEhDwfsbG71W4/R7OgBczrNFkK+UtKviXp2HJ9O01kv/hOWs7 6EHhIBxDrY3pFDdCE+Wy+NSeUrjAmu+c6e318/1GLlFKuByq4RPXekslFzg6vFxqLpDcBZj90CU c1wUFWCZZtASvlEycZTrptz7iDoRsiWrrPfWbca1szxTMpwerPyUpMF0VrP36xurC6WQxW/1h4V Cq8YmYy3rwSH1f4uuM/kkAJe3bLS34cD0HuZjVpU5B/y4k5lwv57dve6LYSEU4Fy4eXI41eQwW2 +Gpch2bEFZmJlkUth7pHVoLmFsvZQPMhWgw0A6jegQII82k8eM45CJRXZArNUsMPuJDlXur4HF+ rBIwKFgRSKQzG7HhSE+xwKGkmdqCXc1C1Wn83SO0y+V3uvW91HAwGZZQOnG8CjBVdxdOcsh2pAx bealDn8ZLONkKw/5Z8zYQEtxUIP1bWTLUPoftc6X7gWjyZG8OX4vs8KCXh1isM5o+f7usuQNiYa vO4UW8hil77mCfWWx4yzX6r87ZS36V6WZqYWVgLkaCiN8/d4JG21eaKqPcLxX3E/veTMsMy/RTy 4ZXlQq5YztpHNAInC0FbcAuM54PMNKASc4AGGwTpKZaAiFtsMzwBpcZ+uKxpP0+H7/IBsqKPnbb bsgrz1crt8iUXww== 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 Acked-by: Thorsten Scherer --- drivers/gpio/gpio-siox.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/gpio/gpio-siox.c b/drivers/gpio/gpio-siox.c index 051bc99bdfb2aa3c8a382f773c5892fed6e0a8b3..95355dda621b40124f470243256= 5b7381c4e6686 100644 --- a/drivers/gpio/gpio-siox.c +++ b/drivers/gpio/gpio-siox.c @@ -160,8 +160,8 @@ static int gpio_siox_get(struct gpio_chip *chip, unsign= ed int offset) return ret; } =20 -static void gpio_siox_set(struct gpio_chip *chip, - unsigned int offset, int value) +static int gpio_siox_set(struct gpio_chip *chip, + unsigned int offset, int value) { struct gpio_siox_ddata *ddata =3D gpiochip_get_data(chip); u8 mask =3D 1 << (19 - offset); @@ -174,6 +174,8 @@ static void gpio_siox_set(struct gpio_chip *chip, ddata->setdata[0] &=3D ~mask; =20 mutex_unlock(&ddata->lock); + + return 0; } =20 static int gpio_siox_direction_input(struct gpio_chip *chip, @@ -191,8 +193,7 @@ static int gpio_siox_direction_output(struct gpio_chip = *chip, if (offset < 12) return -EINVAL; =20 - gpio_siox_set(chip, offset, value); - return 0; + return gpio_siox_set(chip, offset, value); } =20 static int gpio_siox_get_direction(struct gpio_chip *chip, unsigned int of= fset) @@ -236,7 +237,7 @@ static int gpio_siox_probe(struct siox_device *sdevice) gc->parent =3D dev; gc->owner =3D THIS_MODULE; gc->get =3D gpio_siox_get; - gc->set =3D gpio_siox_set; + gc->set_rv =3D gpio_siox_set; gc->direction_input =3D gpio_siox_direction_input; gc->direction_output =3D gpio_siox_direction_output; gc->get_direction =3D gpio_siox_get_direction; --=20 2.48.1 From nobody Wed Oct 8 18:13:10 2025 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 2AE842BEC25 for ; Wed, 25 Jun 2025 10:33:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847628; cv=none; b=msWsVBqVx7dDiahAc7FhTR/GRqpKQ2S5qHgApByVraiZH+z9Lm7CjQAxMzQbxi9xU5VgyC8vKodUC6WYvsPzMlWwJi+TDwUpYXvO73uTw5o60DRwnhJR7M4wtXTzfCEc4DEC+IszweVhuBx3/yX0HZLS55ALocPcYb2S0ui8/ek= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847628; c=relaxed/simple; bh=SQMikfH54IsfeMpR+L/xaq1fah7XLopJ47ae5Iy9WUk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iydG2le8YpC5lIXuqBv+Wjs5YFIxL3lxE/0H1SbsabkTSTPfn8BjVFZ10K1d0V5S8k7F0i8oBXFcviI9HKpMhf5IssgLOfpmMWDVHjGTUfe//wb6o9EJdwOFMROTFi5UMXfrjuCum60A9MX9rEhp33qMZ7fM4/VzstEnZCQe1tk= 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=KPmqjQB0; arc=none smtp.client-ip=209.85.128.46 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="KPmqjQB0" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-45310223677so47814545e9.0 for ; Wed, 25 Jun 2025 03:33:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1750847625; x=1751452425; 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=8zb19l62LN7ssNNUqMMp02ypDTWsuR6UE9OCfe02DEw=; b=KPmqjQB010l80Xfc337CTcAVSAa2Pp5eYwnMPH9aQ6THbHeYAbGNyXTiQDM6ehUbZp 44R+BjLEzN2GwL8qIYBxjOSkWj9wZ9krp6X5jaydtMMnb0iimNvv9u5w3ZbeH0qSo4XR H7JhzKyPNRN9wiiHn4FQRCenUYREGJJnpkve9QKOf7LA9uyjpeATDaHL0gj3YUFkPtrY Cd3CZfp4YZkszPnHwlbsEpE9hmN3C3w10WECdxGrstUSTFkZ7Rn7223reX1J1a6AY5Eg MglUfsrN3u4pMc1D560quUGtVrZmVhtZJC2YnsYfHWfz5Ry6lkivDkCGvLAptb5wzArT U3MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750847625; x=1751452425; 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=8zb19l62LN7ssNNUqMMp02ypDTWsuR6UE9OCfe02DEw=; b=mJjQ+l+m3Zr+yajt984MNzHaScYtSpk7OI+ssnM6CB14KNRb3ZcqMPFNO8q3wvl4uA k1oFhyOugpPvWZ62TsdTREE1TSe4+qVXp7YlkNG07t8EYYPQELtcSzyRtENVqN1n3Zbu WIpLUR3bP/TbjXLk+5N9udiSrwEKTwLQJtiN37ouhjPPzgzfa/m2ry74WUrdxVvWBuak SfMayNlE3OWAXlS1ETgJBLGsGqQxqMqZQEoUCRF0zzHTEBHMO4ffFq0LuYLTC5tdOx3D t9h1vOZmdnKzcFbjKKpgGqm9u6mlYA9vwhY3W6x4VtZakd1CET7e6crMvDaEApGQJ484 5u6g== X-Forwarded-Encrypted: i=1; AJvYcCVw9GelJ2svxaKcx6K4F7sy47thh+DCjkaxK62xDdnbBiQ33p9rRzgOCGc1MLHiOswy5R70VIM8MWpeylU=@vger.kernel.org X-Gm-Message-State: AOJu0YxtjpXg37N6/bP/8hVNolcvZYZKmGUpH4yBHXSPiGPKuWp25FPv mz0IT34j9I3Ew1lYTRYMC6rLFGMDExriS3AUI7PGITfWXR453lzqZdDrf1OzlG1rXpLhWa9e685 mWYnZMy0= X-Gm-Gg: ASbGncvD/jqgpW+ZcFfbYzQ5ec7QJTAuwvAkupm0Fio/DrQmPIiq/A8TcarBuYGgEXj 1QLS6pTU66EK9O61E9m8yFdOvzOkd6RNBkdZYItZy4VyZM2VjuToRnEjiObSgCJCxJ6sWZMEjG8 n7cu2QJ2ym0DjiepvhJjkCJm+bSlp5D6Mx5O5T0kXtmKJ4Up64R1pkIZbLrVpF43eArN4xZZk46 BvtDJciv1rKKXKJclVc4+3ufryaORlUs21sIDt0Q4+OrSJ8fSXBkwJnWFdtqCMKdtlKapWfK09S 4kB1cCouX9eqXB3uGYIvUlmxOgJpL05w5kR8TkTYy0KVANKG5uSA2Ct6 X-Google-Smtp-Source: AGHT+IGE1iP8Q+/UBvqDvrwiy35DOn+9cFNtjYDncbc3WiyZ+/TZLkMjhHK06lIMfzCnTiYjrVT4RA== X-Received: by 2002:a05:600c:37ca:b0:450:cf42:7565 with SMTP id 5b1f17b1804b1-45381ae5157mr21000645e9.23.1750847625330; Wed, 25 Jun 2025 03:33:45 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:d216:42f3:1e7e:472e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45382373c86sm16133195e9.33.2025.06.25.03.33.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 03:33:43 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 25 Jun 2025 12:33:28 +0200 Subject: [PATCH 05/12] gpio: spear-spics: remove unneeded 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: <20250625-gpiochip-set-rv-gpio-round2-v1-5-bc110a3b52ff@linaro.org> References: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> In-Reply-To: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> To: Ludovic Desroches , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Thorsten Scherer , Pengutronix Kernel Team , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1789; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=CY82p8ULaZbPaJLzsSE1jBEx4Q22047mL4oX3JNu98M=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoW9B/VUUd0S0rRYJZkJ/S3qmK/y9uGk/fty3n2 /3rwZgRjn+JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaFvQfwAKCRARpy6gFHHX ckPIEACZJ7YNhLX9LjsVao2rzFSTptRFTG8o45nfPlE3dmbbY3xiZpnoKARBKsndI3htD18t+Su fFS5ueGlSpJvuexYxJjGZPb8EyjUMiMd1ilvCVmZPqFkQS/BllugnD6vUj/l+iTO4mFIGg+Rl2e GFNV9Mhjupn4r+u9nSPYCjv8WfgeHF2mRHMeqM6mACuMrNoK4XShviCejqKJtIHbtXJpmd/kWw4 CyWp++UesKsLwMU4t4a8OU5Lg0uDOUNdfpx3rfp6I0dXwrHYRI1LvvHJfxxTZDaQVvptd+5Zj1x DIy+KmElvIDe8VbtEUqbf2Am9xBq0IMpV7YhioCvnedxP2WRq2uD3OTDtBEPz81V4iq0GroVTN4 /8jPC1gWkufJEJV1fgYHfU/9P7Q9P916XEXQfqN5Kw45PZUy5lQ0mtGXRy45+/eGiq3949p9zSo BFFLAV6nYTA04ChIoJEgBLJtSOIrOz5ffGpNb4RUkW6EfPxKTHYXxCyvsqIItmGrryUpDZXbmYH vvKA1o39bf4Gl6fZK5G7ffc+Fy4l8MFNoKtb5qJK7KcTMxAsuOIa9MrYYE01osnahxcGJ4znoBx CTyeRANlafMQ2TmkDUni5eowtmFeaXK2AZ+O4ZoWgoZ4kUifnBvUg9X2dUs+vzHHawl6x9psUt4 Ky1BQHapjjvhdHA== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski GPIO core can handle output-only chips that don't implement the get() and direction_input() callbacks. There's no need to provide dummy implementations in the driver so drop them. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-spear-spics.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/drivers/gpio/gpio-spear-spics.c b/drivers/gpio/gpio-spear-spic= s.c index 51539185400d329c5a065d7a51c27b2ae24f672c..964b7dcb30b7a5bccda964a637f= 7fec97fe02aa4 100644 --- a/drivers/gpio/gpio-spear-spics.c +++ b/drivers/gpio/gpio-spear-spics.c @@ -51,12 +51,6 @@ struct spear_spics { struct gpio_chip chip; }; =20 -/* gpio framework specific routines */ -static int spics_get_value(struct gpio_chip *chip, unsigned offset) -{ - return -ENXIO; -} - static void spics_set_value(struct gpio_chip *chip, unsigned offset, int v= alue) { struct spear_spics *spics =3D gpiochip_get_data(chip); @@ -76,11 +70,6 @@ static void spics_set_value(struct gpio_chip *chip, unsi= gned offset, int value) writel_relaxed(tmp, spics->base + spics->perip_cfg); } =20 -static int spics_direction_input(struct gpio_chip *chip, unsigned offset) -{ - return -ENXIO; -} - static int spics_direction_output(struct gpio_chip *chip, unsigned offset, int value) { @@ -148,9 +137,7 @@ static int spics_gpio_probe(struct platform_device *pde= v) spics->chip.base =3D -1; spics->chip.request =3D spics_request; spics->chip.free =3D spics_free; - spics->chip.direction_input =3D spics_direction_input; spics->chip.direction_output =3D spics_direction_output; - spics->chip.get =3D spics_get_value; spics->chip.set =3D spics_set_value; spics->chip.label =3D dev_name(&pdev->dev); spics->chip.parent =3D &pdev->dev; --=20 2.48.1 From nobody Wed Oct 8 18:13:10 2025 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 E35242BEFE9 for ; Wed, 25 Jun 2025 10:33:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847629; cv=none; b=jGHaXO4Pzhb/snfro0RYAeoVfJXgG4ih5j/Ibnh1hgeiEBj6wyc37jmAMBNhx5Zlaz5QyS4b6Zy9D8ZJFePuQ5/1wnt23suxB98IydVuWcnQsbR0L3TyEXNd8DF5c70MlKv0D4fiCVPu2h2C1HqWOtdkrjshfB9Gflp+4e8LRKk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847629; c=relaxed/simple; bh=/D31nXRZN62lyyN7INw9F+q2ocTvI4v3vtlufAszE+4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=chsCr3tJSt1Ebwlq93G3h9Ki8d7t7vaTBn90y8OIAqvqEhMSVqKyshKGprR/BbkcA9EOC0WiWh1vu07CC76MQy6sm/lJ8KvT0N5CNH65PLCmWObQ7CLEg6yaOKtejRD1cWBMCRBv14y5VJVyaEgHi1OtD8GvCCU96s/wbfN3h0k= 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=kDkvPJc/; arc=none smtp.client-ip=209.85.128.46 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="kDkvPJc/" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-4530921461aso11642675e9.0 for ; Wed, 25 Jun 2025 03:33:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1750847626; x=1751452426; 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=nyQ3PrYj0vw+ZbLfSxsjtcAJfx4MxDD9O7DR/JlwJVg=; b=kDkvPJc/r1C5cRpU3Ff+58kWFkkeabY6+/Pso5nhoJ+SqWEqIHvj0dI63/N7IRg+w2 xNVomV3VxicrTa2xJg97oWZUw/qG9WwYGvr4vVE5qAmtgTjm0OvLMBiT68RS5UW5Pcw+ ECS43KTCPNz0JoWXW6B1BFeWo8PsUL3dop8TzJru704SQz5Ca15RC0QnrftQvzEbvcLB n8xRqHhOWeCWLu5FHoZfu19VT8RlRjBeiX7XWfBFgYJDab5ypztuaHD/MygyaIRIZ2CF i6aTxVfSlceoS0My7LkYwJm67SFcgmHJL90n23BW0xa5I5LUS+pDRPgL5orx3aHxRHaM WYwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750847626; x=1751452426; 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=nyQ3PrYj0vw+ZbLfSxsjtcAJfx4MxDD9O7DR/JlwJVg=; b=PkCCS9FeWw5K8ALVkmF4W85Mch2c9jsx0ihUfXY5vIig/QQuzP/R//YVlQQ/v8yBJy arGqgpd6RP4uGeZqEBCnzmuS1UEg0Ljg5X9TBIpwsjSFEe9pMzO3KghYhbD7CHMUzaOD veC2s0TITSmpwTEEn2kqnJzxyk8dGU4mq61FRgRhAI5jdghNg71DlEqMXEBUPndUFIVH kDNGOkKY1l201LfEZaEMqMn6KqVGiNYDF5YJtTwwbZ52ca5ap8aZB8VLyDhKs6Rq03qi +eVHt2enln0zzWDUGRTibqsnDYcOSWcjWkOBfmZhKuRNGPWaOTFvx2tqh+AZZv5f33Zp UAEg== X-Forwarded-Encrypted: i=1; AJvYcCVbkHoeWhIPOtEKWRDr8p7yjFSWdD7VcPzSOzEo6h1CCYiKoFa5lX6Oj//zWsCJjquN0TjeMBtu9Xyv1s0=@vger.kernel.org X-Gm-Message-State: AOJu0Yzyhy53BJ89ybFOCBg0C5FBaUiFkb+Bgo1sZYH0MjDGSHUqt4tj vW6VrGE828dhDR3sN06m6EJV/t50leE7GweV7XHLOB1zojBMUvwuiImaH7PjKb2jIT0= X-Gm-Gg: ASbGncu8YY1QpDwcnKRBSEjtFp8268ClWsUEjbQXPSQ3ch41z1jMtw3JxE0LKSukQdl xsY07FD/6Ecnpyk4Q0+dzU/oZznLLhb8OT+fOhKezStwc8uHxcGtR0jU9o4RYpGCRWooU+9XQoW CO9MiEEZnDhny08ikj25KE/z+CEq6E13TvSSb0Ib7vu6zBwHSDbGy/ylmaXDp0IeQsSeIOVG28f MrTF+PkHGucMrnrluhXJSh8qd89x2OFtAx/88qgHPU1KPQI6Z5fqdPQ0F5IebJrsqw9I0wEl98Q J9vP6wgzscvQC6CM9mSnKF81wLfH5+8L420sccKkYFg6VbUVrXzWxWY2 X-Google-Smtp-Source: AGHT+IGJBQOkw6eJT7V+Tc/6OJa3rfu5ZRr5gF6yKyzRI/QtnAOx+SjmcHMjXnKIxCo+GCFyhzPYEw== X-Received: by 2002:a05:600c:c04b:10b0:43b:c0fa:f9dd with SMTP id 5b1f17b1804b1-4538269fd07mr10337845e9.25.1750847626370; Wed, 25 Jun 2025 03:33:46 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:d216:42f3:1e7e:472e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45382373c86sm16133195e9.33.2025.06.25.03.33.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 03:33:45 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 25 Jun 2025 12:33:29 +0200 Subject: [PATCH 06/12] gpio: spear-spics: 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: <20250625-gpiochip-set-rv-gpio-round2-v1-6-bc110a3b52ff@linaro.org> References: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> In-Reply-To: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> To: Ludovic Desroches , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Thorsten Scherer , Pengutronix Kernel Team , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1861; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=vMdNPd5jRPkJ9QwKPdJC9QQNnWlRPg8OHEfjS70PZL8=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoW9B/CBkqsRRCcLd0UFu9RXVYmSHO9jQsckaJE pp2PCUKjOGJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaFvQfwAKCRARpy6gFHHX ctwSD/9Mp/zVOVvyZVeHYqyme3BxhbzcR9pcx5ATfalyilg7HNmKg/32h7u72xZD3I1wE5lhqu7 w1czMVrQqd7UfT4/BpolTbZNq9c4D3ZR6dAUhktF/cx5bXVfMauk7BkwSn/SJ585lE4Rgj7ZYes 0IFjVz8KTIXc/AA23Ck60F7M//fVSTCpR1IWgTGE1a9T/V9chKJksSUZ5JBQZ1ipj4wfDSEQzhf 1lFx4i72i4HLleD2elpfccU1Z0Cor3a0tMywrN+NIfQfzrEG+7Y7qHyaxkLWDEar4rv7Vc+o0V0 jy1ZuwHHuNu4SKKem9Lj4cKuaTkMACootTDGvZUNhooPVv0m2fGdM3yp+5i6jR0GGwXBt9mwBfu QxawwHxMpmWMlppx0csAhOiLpiVq+BSklp/hxYTLzJJl0D5g699IYJyJNdZtHYm5tE+jpt5pT5J DHx9ueCiReim7jnqdaBEvDJcE8BjSaO3VjKA5GfwRzcoJ7qxZdVKxg8K6dHxTXxop8RnO1nd74z g2tQcIMknTnWHIgH6qp0O919ogwx8HRPwKJ765jHeAi13F7btqMOI3SivTQSSRwVxBhG/3zGbp+ YQhLXkbn8Z1A2YZoc4REvxRZeJ3E4dSx3HuNv92T8bO1c9MPNpwQRjNICxgXuDOuXAGDFcdwZ9M etbIQJG4192v+3A== 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-spear-spics.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-spear-spics.c b/drivers/gpio/gpio-spear-spic= s.c index 964b7dcb30b7a5bccda964a637f7fec97fe02aa4..55f0e8afa29143649e868a02edc= 19d920e10c31c 100644 --- a/drivers/gpio/gpio-spear-spics.c +++ b/drivers/gpio/gpio-spear-spics.c @@ -51,7 +51,8 @@ struct spear_spics { struct gpio_chip chip; }; =20 -static void spics_set_value(struct gpio_chip *chip, unsigned offset, int v= alue) +static int spics_set_value(struct gpio_chip *chip, unsigned int offset, + int value) { struct spear_spics *spics =3D gpiochip_get_data(chip); u32 tmp; @@ -68,13 +69,14 @@ static void spics_set_value(struct gpio_chip *chip, uns= igned offset, int value) tmp &=3D ~(0x1 << spics->cs_value_bit); tmp |=3D value << spics->cs_value_bit; writel_relaxed(tmp, spics->base + spics->perip_cfg); + + return 0; } =20 static int spics_direction_output(struct gpio_chip *chip, unsigned offset, int value) { - spics_set_value(chip, offset, value); - return 0; + return spics_set_value(chip, offset, value); } =20 static int spics_request(struct gpio_chip *chip, unsigned offset) @@ -138,7 +140,7 @@ static int spics_gpio_probe(struct platform_device *pde= v) spics->chip.request =3D spics_request; spics->chip.free =3D spics_free; spics->chip.direction_output =3D spics_direction_output; - spics->chip.set =3D spics_set_value; + spics->chip.set_rv =3D spics_set_value; spics->chip.label =3D dev_name(&pdev->dev); spics->chip.parent =3D &pdev->dev; spics->chip.owner =3D THIS_MODULE; --=20 2.48.1 From nobody Wed Oct 8 18:13:10 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 32036298981 for ; Wed, 25 Jun 2025 10:33:49 +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=1750847630; cv=none; b=PufWSOy2FMGuEWmpY/eLo8acTPUafy7SUJe5eClOLZl0+8EgNeuWNRb5b8Pku5S4H30OdBdhxD5k/ZrBOmfwgy6cj80tb2sFqdSI1bzQWCi+U3Jrq+1QdPVC/VmG99vd8JZOnKJl65fkofAAy3io+ACEJIsVPngTZE+4xnMxiOU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847630; c=relaxed/simple; bh=8I9dRWWDYhuA4l+vSi48OR8d0DBnwZ05W+pEhASmVFI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MEPBA31cO6Uoxft03HYgvJTR++ghyccJqGL1cK+P/expKAWo08wnHXxztvMKB5FTgCgxPbF0sdAQgQzjTwiHX/1VewaWp2IiZIW5gEGr8RHr55iOfKd9izvzCAunEb6KpZkWEy74LlUQv/9aSvLD47moZ6Bi2ztYDdX353VjQyI= 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=xSCu69R6; 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="xSCu69R6" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-442fda876a6so57515515e9.0 for ; Wed, 25 Jun 2025 03:33:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1750847627; x=1751452427; 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=7iDWjP9HRVIb7sR3VThhC45lPvgyQWTusyUiyxvyENs=; b=xSCu69R6CUZltjj79cvX7cYrsHaZmUSaey2KS/lq2D4RvQXaWMAPrw4gVlXBnRM3y0 rzsHHCatALjyE9mYkyVqyI2KSTJEGZhDkkjcNlL0Pe02HjZReBYoVNbr3bfFS+Fm8cyn YOmWwMF1cy/aljus4s4KJyRZGdjKQ3zciTW1HZJ0uWp11fuHGf6M43iRBxu5Es/hTsfa QGwzQ7NHz4eYF3O4+zeoxU2s6vEXG1nAnkL8IZzS4xZc0tj7T0WzIhhSvDh2Bpuy2kf7 dzKJN/A7GyEPzogxDVzPU7GokpnQa/NW+s0zSUHzWf60CMewf/QxjA2moDDKf0acsLUt gPyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750847627; x=1751452427; 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=7iDWjP9HRVIb7sR3VThhC45lPvgyQWTusyUiyxvyENs=; b=Bxs19t7MFbwjKvvY1x6dp9i8JyHB+iNOWaN4bhjrd5g0RX1B7vmfT6P1akyrZhIfef BGbcUEXELJs5bDQAHNfIQjhWqr86Fq1EDTb2oFko2kEOWILhg3qdQtD2A9/7zAeuiiZX qlCvzjVr1qFs/VfVS3YaMPnaLuMOLRXrzBdR9ZxTo2cTQSAHT4iyxy6VrC/QPWgZhnRY 9Yy4ToUxf/NnbdK1HbBwSswOfyZtZb9OXH0ZgF05+4eRxhQV9Os+WnejSp1+Pogwv+Eu HbivJRPfoal87IFIhM48j0VgnLW4UqW9IYnH6OJlmQQZ8Z9S7dAaDKrk55uOPFyqDSn+ Y3lw== X-Forwarded-Encrypted: i=1; AJvYcCX4yu+MUpCy7cc+vF6ZzFje8KB00D6+GeIT9wiU+4Iqx6QIgWHHJy1xV5Fmhtt6JgFMVQ8R0QyTEH0vkCI=@vger.kernel.org X-Gm-Message-State: AOJu0YxKh7af5hmd6pcJfak4uMSS9MgJiCGAzfdZZejINGTfKEpPFioe pQ4XwJtcBj8/fuxhpDETl5zPjTmX0xC/Yar7bAC2HpQtFhrH5bfkpDaif5NU4sq61mo= X-Gm-Gg: ASbGncstdQHwxNRIz3mijkKDzjlgv05ZTYHe/74TPCImTt/IsNUvHZp1cOdxjJR2hn7 6YfIEFj7ynuN0d/qYhiqOc0S6p9xG0sJ+Y3xpVz3Bre0+IqSLMeAMUkPQuASc+vYCwhIxkEewZ4 dSgjyajsKngi0u/lcnc9nEpHtehUIzQmtinVszQscY+Hc8b+08FDeuiyESEXPzVw6+Orep+evTU vbUBqoGAF/yxmrkTMX5q1PmqkGdlsnMZlLZeNhVJn4xjIA7tV3nn3712wJzXc74hatoMeT+DOp3 sIJ6Z55ce7jVfAg/3PoUORdqf+TnvTyo64FSLHmVk+5eEQbc25iy+41m X-Google-Smtp-Source: AGHT+IELePDfCHlBYQA947q59vgnMIBS0qmkpmIXczdAGAGH53ivPNqjGgKeUUibjSMbaCpIrdAsng== X-Received: by 2002:a05:600c:a302:b0:43c:fda5:41e9 with SMTP id 5b1f17b1804b1-453821b0a2amr16718975e9.31.1750847627484; Wed, 25 Jun 2025 03:33:47 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:d216:42f3:1e7e:472e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45382373c86sm16133195e9.33.2025.06.25.03.33.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 03:33:46 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 25 Jun 2025 12:33:30 +0200 Subject: [PATCH 07/12] gpio: sprd: 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: <20250625-gpiochip-set-rv-gpio-round2-v1-7-bc110a3b52ff@linaro.org> References: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> In-Reply-To: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> To: Ludovic Desroches , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Thorsten Scherer , Pengutronix Kernel Team , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1462; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=VMUhzabI6TJSSEFS1lhCE2pMbGfsNwLrSf77JeJz6/w=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoW9B/PT5QyhI466mXWQVK5eZlhAG2qptU0Jkjk YBlIjzP9muJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaFvQfwAKCRARpy6gFHHX cmjfD/95UQq01tmrRM1DzYdnerQeB3FFvKTQyd2fjDFNLy9dtXqfSNiftQA7k79L0u6uDb4TdYS zi+7vE56uklzOxkqrdBlFLv1eviupQLOy0Lo1o8B97QDAW8bfdlWushg08bvClpa4i4S4RN3zrF HMSuPvKlhrGDXidpLumdsrLg5XGbkqyAgAF/q32+Bl/OfGwv6000fdWfoydiq7JXLHqObRe7lLt wE0GbE/H4Yg/tSKKRd8ddQgS5zbAvXCKNo7KwXlTqwRg2t1E0c8kOpTf/OdftZ9/3dCfQI0ptMb lxwLYLcofM4g3TqBdVzbd1SK4EAG8zl7gMfAMlgbb1XlD502kJ9t0eBGlf2mjBsHdXZLKx1w0w2 4BS/nXvbFE8KEBYIXWVF8WeAs9XJuUkCDCAOTCu89w+x5npYmQRlHaAsS8PqW2NsCKu/9MGBnX0 x+0WdyPAA8tIxz4FCcsis54cIhLEiNSaCvxWBgdSDMFCu0H6Zvtl9UH0fCdldLPheqqb7cU6PQL QEq13Ow1loF3vWheP8IdWLLxQCfq/+gufdsNv8wP4Azdw4wH7kaT7W4nbGUReg+D4nXT6H1Spt4 QxwERElhaH1l0gwnAEQt7yxu1L25+NykUVwAdwaOCMXFGdE/ffigUG71qFAxkCLEtCL0aOiiugx BB64jdkmLzfuudg== 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 Reviewed-by: Baolin Wang --- drivers/gpio/gpio-sprd.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-sprd.c b/drivers/gpio/gpio-sprd.c index c117c11bfb29a84d814706e383faa19afe513e93..bbd5bf51c0882704a9ead35d9fb= c7d4b9bceec50 100644 --- a/drivers/gpio/gpio-sprd.c +++ b/drivers/gpio/gpio-sprd.c @@ -108,10 +108,12 @@ static int sprd_gpio_get(struct gpio_chip *chip, unsi= gned int offset) return sprd_gpio_read(chip, offset, SPRD_GPIO_DATA); } =20 -static void sprd_gpio_set(struct gpio_chip *chip, unsigned int offset, - int value) +static int sprd_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { sprd_gpio_update(chip, offset, SPRD_GPIO_DATA, value); + + return 0; } =20 static void sprd_gpio_irq_mask(struct irq_data *data) @@ -243,7 +245,7 @@ static int sprd_gpio_probe(struct platform_device *pdev) sprd_gpio->chip.request =3D sprd_gpio_request; sprd_gpio->chip.free =3D sprd_gpio_free; sprd_gpio->chip.get =3D sprd_gpio_get; - sprd_gpio->chip.set =3D sprd_gpio_set; + sprd_gpio->chip.set_rv =3D sprd_gpio_set; sprd_gpio->chip.direction_input =3D sprd_gpio_direction_input; sprd_gpio->chip.direction_output =3D sprd_gpio_direction_output; =20 --=20 2.48.1 From nobody Wed Oct 8 18:13:10 2025 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (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 1E6EB2C08C1 for ; Wed, 25 Jun 2025 10:33:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847631; cv=none; b=LbDUauiLceRBThPSDuesGYM6HmS2VgppXXcamIDlM6Na0lCtIELv0OTkCdmYNjSRJ+LpK7Us5jE40CGqYsHy16un3hiAy+QofUbqDGL7Kvsk/ED7z16v3HvWhBweHTvy72B55mE61eJ7EMKMnlzYd90TseeKQn7tPwllzhW1UPs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847631; c=relaxed/simple; bh=KSrlQBLEsetS9C5DJs+mcQtBGebi+kqWmGzjgbA6Eds=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FCpSiwGNl1DwhAN5OOGgAwQcpR/e4MzMsauEtAKM3H0nj17jhOxX9OWKBqxjZlLO5NSomc2M4iEv3yfzMyNWsjIQsLnBBMfAc1p7ZmR6jgMWnmkywmQTjstWk0ezt5dfm0skzHYUAnb67eqIv9K5X7SDgmNTRVFAEk7aoTpHkRM= 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=dN1XXnWX; arc=none smtp.client-ip=209.85.221.48 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="dN1XXnWX" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-3a575a988f9so857140f8f.0 for ; Wed, 25 Jun 2025 03:33:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1750847628; x=1751452428; 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=UhpR0LfXWV5JvZ7GhUzYmJjVTr5dLe2TK5VmVVpd0/A=; b=dN1XXnWXrnQdtL4Adu66ZWiWc2E8+qryxn9eUzL5TS5A8C+r8Eyik1JzRubxSO8Pa/ yTnRj7mbtZKxeZSKddWzE4SlhkuBW2qq9zuaXnzXrl/6HmpVpvRhCVleRnr5R5JCWNhS 2gsNmWwKWcx0eqOU73FUcF3hmEV+eMEVUQeKtB9iKh9tg9tF8u6NNqFOuKoTkE2dharf 3OtBUPtzB0nb1jw8a29yOUrxcqwz95hxYqcA1EYeBfpO20zVbl+tnihApxTwJsa4wO0R LOuPUXGHH6TKJ0e9ytzA3tF4AVxq1otxVhnwH2DjZvozOxOq2iR3iWYS73rCoi46NFME hxjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750847628; x=1751452428; 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=UhpR0LfXWV5JvZ7GhUzYmJjVTr5dLe2TK5VmVVpd0/A=; b=H61vgO4n0OtATV7c/FpGQjLmP92pq1eUw/8GzZmrCKqmNlblhrsE/IVd4rGGy+huwt J+L7PL6DPDC8Pujtc8xprD2UIDejEjySdFJMjtMKANyLZCBhQuqMNe+OddtP7A0wXIUk X9acr+wgTQAQmxrzFnruBr/7saPTxfXqM4KTSA7m3mJF38oTfGyn6uG8coBS/EFNcBE/ 9d16qVvd1MWs31r2AAJ1/BzBVG8J1H0YIqDlZ0GEw93yIyL+1aQuftG2jblvQ/pFIXyC CX1fbhAk0i/63R7Dbncd1XJQayQe6mmC/4v9t0Jza+1PqML2LC9X7lMfgIrq36bKNNr7 zCxg== X-Forwarded-Encrypted: i=1; AJvYcCVye3vgqScVPhyOxoEx1vfMTCWeZS4hzd0vMZ22EkpATXMwMp37IcA8BVm7SaOptOiNxTHtzlb+X+XSiM4=@vger.kernel.org X-Gm-Message-State: AOJu0YyJbQ7RehADruBqdenQI7mSvhAG0CdCwP/1A7l7ovMhSuJ7ed1s VglCwd/7Mwz/L/W/SvIaCSeQ8khVdymIC9JaQF8mS8fSd5qq4eewQEN2noBu7sKtf+c= X-Gm-Gg: ASbGncuXg2/JMvkM+FNPenj0ncNLq6kj7g+2YMHyEg8BUVuLJePBMbEIYdIxhbbjZt0 SVjnmxBU6aOQs9rvjuUlJxj9xIUJ9t3UnW+wwP59oK2op8BjI8KGHJOLUTkZRuk7llwUSXEjnbB mg54M1bzr9DppGMlMtI3hL92UH2UZVWm2y6XTvjBWeg13p/SRLR4dlsB59gwwDZ6jCwIv8FvQ5t K30duwpWrCgbG1uBN6NDLN/OyNnTgAUB7wfwQJTnHw1VuaMz11TQe8hcQ2e8UF6ehqMSCPkFgKi iHPbHhkrS9vvVJCu5DpyE2sGIgaLXL2nBILLUBAb1A077v47Fus0WdXa6bS9WLbR90o= X-Google-Smtp-Source: AGHT+IF/hKIUSdhayitVn6hZpq9OzhaA692AFTDhpZlmYLAfLk9tzRqaFx2BldzhhLO5wdMy1ojcOw== X-Received: by 2002:a05:6000:2d12:b0:3a5:2848:2e78 with SMTP id ffacd0b85a97d-3a6ed665f25mr1345927f8f.28.1750847628468; Wed, 25 Jun 2025 03:33:48 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:d216:42f3:1e7e:472e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45382373c86sm16133195e9.33.2025.06.25.03.33.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 03:33:48 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 25 Jun 2025 12:33:31 +0200 Subject: [PATCH 08/12] gpio: stmpe: 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: <20250625-gpiochip-set-rv-gpio-round2-v1-8-bc110a3b52ff@linaro.org> References: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> In-Reply-To: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> To: Ludovic Desroches , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Thorsten Scherer , Pengutronix Kernel Team , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2196; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=nrAVZPTBoQ229SHfDIh9dyXdsDhiN887rJ9P45Rfdwg=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoW9B/iPuKORTRq0vxAyvSJlHeJa6L3vnSTVwpw VF0iwgRHxKJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaFvQfwAKCRARpy6gFHHX cmVDEACllLptf5+JN/M7ZjTKKdMSR2YDCttpmE92QMRcSl0mgSLtkXsSSOgucgH/9St3t5k8Tcv vashbOf6BSEiLN4QzPlBMbKV7kVSZ/WngXgf7EOqpYrIHhX3XBFw76oD/K2m4q/DJjlbgk1oWPV Ul2cfoZGdcMqv/wCxuoyf/x8xC/VVOOaPeq4kKA527sfJYtUxhpYZk6tWuh6sNuSGouWv8obOtn T+AykiwimcNihL4N9Zpv/kwCn3PQcDYNP07bGGyiYLHtd+6jg3jLa7l2XM0F60Os42gKe1tsjYg XGWLB8SwYdirUeIjzwtnH+Jb9vE2NHTPe/ATBzfbeRBMdlU75eDFdIUIIqo5NSybT1ZJ9rGS2kD THJr5zG9aVWsxJr+G89JfMthFE4WvgTo6CrnkmL9Kgn5JLDBM0kDUnC3ucXxrUUH3h5YeI7XzIT 7SWkiwDjszDnRlceeSC6n84B8jl7R3b1TEgMy7/XhYi49D880xFWllNeTmDhbFx1yXLrcIozuWg xSTBeC4GmEV6X9ir+3FUxM7q1gjpFDUSSjMvrrb0UiWN1vy5KDkPCDfzNvp/7TphP33HMvXH/30 1WGb3nh6uiL2c7jlf92sSoyAOF/D45madegStRtVXUntyWtIR9nOiQRestzsC+ofFVePlgrAjkQ vVc730AR8Zq3ZOw== 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 Reviewed-by: Linus Walleij --- drivers/gpio/gpio-stmpe.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/gpio/gpio-stmpe.c b/drivers/gpio/gpio-stmpe.c index dce8ff322e4722f6f97a9850772c7fe7defd9989..0a270156e0bea2f2a6914da6743= df6d15b0870f5 100644 --- a/drivers/gpio/gpio-stmpe.c +++ b/drivers/gpio/gpio-stmpe.c @@ -54,7 +54,7 @@ static int stmpe_gpio_get(struct gpio_chip *chip, unsigne= d offset) return !!(ret & mask); } =20 -static void stmpe_gpio_set(struct gpio_chip *chip, unsigned offset, int va= l) +static int stmpe_gpio_set(struct gpio_chip *chip, unsigned int offset, int= val) { struct stmpe_gpio *stmpe_gpio =3D gpiochip_get_data(chip); struct stmpe *stmpe =3D stmpe_gpio->stmpe; @@ -67,9 +67,9 @@ static void stmpe_gpio_set(struct gpio_chip *chip, unsign= ed offset, int val) * For them we need to write 0 to clear and 1 to set. */ if (stmpe->regs[STMPE_IDX_GPSR_LSB] =3D=3D stmpe->regs[STMPE_IDX_GPCR_LSB= ]) - stmpe_set_bits(stmpe, reg, mask, val ? mask : 0); - else - stmpe_reg_write(stmpe, reg, mask); + return stmpe_set_bits(stmpe, reg, mask, val ? mask : 0); + + return stmpe_reg_write(stmpe, reg, mask); } =20 static int stmpe_gpio_get_direction(struct gpio_chip *chip, @@ -98,8 +98,11 @@ static int stmpe_gpio_direction_output(struct gpio_chip = *chip, struct stmpe *stmpe =3D stmpe_gpio->stmpe; u8 reg =3D stmpe->regs[STMPE_IDX_GPDR_LSB + (offset / 8)]; u8 mask =3D BIT(offset % 8); + int ret; =20 - stmpe_gpio_set(chip, offset, val); + ret =3D stmpe_gpio_set(chip, offset, val); + if (ret) + return ret; =20 return stmpe_set_bits(stmpe, reg, mask, mask); } @@ -133,7 +136,7 @@ static const struct gpio_chip template_chip =3D { .direction_input =3D stmpe_gpio_direction_input, .get =3D stmpe_gpio_get, .direction_output =3D stmpe_gpio_direction_output, - .set =3D stmpe_gpio_set, + .set_rv =3D stmpe_gpio_set, .request =3D stmpe_gpio_request, .can_sleep =3D true, }; --=20 2.48.1 From nobody Wed Oct 8 18:13:10 2025 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 74E842C3242 for ; Wed, 25 Jun 2025 10:33:51 +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=1750847632; cv=none; b=uCmKDTC/MptKg4ogDzCW9XmTaaijuQhwM5HTwHDj72zcs4TemJewUU47zVqhRx2i/q/sfg3F6Z2rT9b4OxIO+fjfdoQCv9EkSHxxV3fbSmh9CaHd7J1UMwbmRaG1O/n/DhGUcyo3xOx5BNxBThXtZzgSRGaXvllG4biJaqKyJjY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847632; c=relaxed/simple; bh=PW+v0utVLGCc4tkDWP3j2dlPI/ydKBiUWmzZDvFg+uU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ST0hrJHOtbo+v1Xw4O4+WNKTjwzQfXsC8SYkZUFhEOx7ZmLKzLOq+Q3UQEqu3GGgShhSQpWS8hL+xpmq8AW7uotC+HozNlask0P/KbzrRxlk1xbg2fBcPiaWP5RIjCGFB0odN9n2qi1Qi8Y7SyCISNcOHzsC05Klt4M8oI23/UA= 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=3aTS51wL; 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="3aTS51wL" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-3a4e742dc97so560759f8f.0 for ; Wed, 25 Jun 2025 03:33:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1750847630; x=1751452430; 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=xw3Cm0AyZRtYp2u4Mlp87QA0PGaxAk/S4JFRRmCDuKI=; b=3aTS51wLRuDwavNsZHNC2fJpMvgh71Ijs1luXo44nBqFPeh1uwFJOdpxfPZjfubKyl 4MQtF/G+36z8DzWCLEwK8MvaZa+zlHqUTmU9GFka6MNEqMj7IDGU+Hp0ELY9w+1iDsK2 Y2NxSTn7ZF6R/hubj6VyyD24md09HIE7zMyUFDmMHPlZs28p1s7eVxXQkWJDUz036eAt C7SS1p5naZYhbLFC982Bk5sYKb3xABywDe8FPdP5+dDtSld/6PIA2yqzRER0zE7hUIo7 Bo8soofj6h0m/F52EZx7KfO127Mqb7QqabJo5mQQvVkIuShCY5G0sRWosQHbeB27wU2o 86CA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750847630; x=1751452430; 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=xw3Cm0AyZRtYp2u4Mlp87QA0PGaxAk/S4JFRRmCDuKI=; b=wGX4XFJDGUwBUHLJJ32PXhlKkfFo5MvtQbdRn2q7nyw8FrGqkE1Gi2P3a2KI5bIxVl uDLh3rtoXsCML0urFlBpGZ9Dya6QVCaDT8AVsAb1DhhIbZxxve14FPdAXQ1FvrCDCgCB EqpoubPAsoEswtc6lCED2JqJ4RShB5qquPiad6DbPtiP0dvQzWZthmRvZJuVohtAuIfN VK857mqA0Stmj6eCtQVgP3vR05eEHM59q+9CMkKTDTl9sHseobBFlXLPMoRjlkrX4Itv +FuhtcQnab6BYzk2A2uNqiOzaM4ZGfExVwg+VNZN+zj8aFLKah9ZSevcBBnJSWQGvj5d sOIA== X-Forwarded-Encrypted: i=1; AJvYcCXy609xp1BdLgGcKHSKNVVV5ZDeH1glWHF0PmggRkYAhh80RWFBrhhqYIccTBETEmsiA6DdvBfH073Xpco=@vger.kernel.org X-Gm-Message-State: AOJu0YzzCQGMpjjXYSJCjQPV8+Ug2+Jtv64J/oZuCdMXbneJT5NV081H 1E99hlKlFcOU3DhLN2s7FkXvTz5qw3iKeJOzkOi7ybrz0h/T4f6VhTp/8dWe2s/7uPU= X-Gm-Gg: ASbGncuaAqVWMXmbp5+fPxo2fprb7ngqLBv0bTAumyW3pzBHi9gbJm62XWOcy+oV+22 +cU94sQuzQF2wIZen7KVUO3i+MX2gbguAqOolo8vvmZR7pLpqkPqh2mDVqf1GFQJdrvffxq7TxR xX8Pf7nbUO2qd49QvClUpiB+H1/Zh2GK8t8EAptSnPPHe1gcxYJsvxsUMVfV9Q8tZxLinn0Egmp 3HLDHWh5E7XieOe/v9A/vBuldlqCKY1BYVsgjIlwLZ8G2Ezlm8Aj5R5qD+aiWQdYbJaO9sfNXUd 95lPIdU86XmNxlRc4bh7XMGl/9remK5/4H4zjX4j3D3q9ZjZlBGHXzEF X-Google-Smtp-Source: AGHT+IEwM2t1XefxZU8DghVTXKK8wSS63f829kSWALD3RIefh4AeNCC3TbqP+9rqackkafREvW4tyw== X-Received: by 2002:a05:6000:4024:b0:3a6:d7e6:f281 with SMTP id ffacd0b85a97d-3a6e7206d4fmr6033940f8f.22.1750847629787; Wed, 25 Jun 2025 03:33:49 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:d216:42f3:1e7e:472e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45382373c86sm16133195e9.33.2025.06.25.03.33.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 03:33:49 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 25 Jun 2025 12:33:32 +0200 Subject: [PATCH 09/12] gpio: stp-xway: 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: <20250625-gpiochip-set-rv-gpio-round2-v1-9-bc110a3b52ff@linaro.org> References: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> In-Reply-To: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> To: Ludovic Desroches , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Thorsten Scherer , Pengutronix Kernel Team , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1842; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=iM77eXflH98tEqykW1k+5Ww0CPuJn4LOyCx2J1hnDc4=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoW9CAekDrQa+N2Lkq1WXdL06pphPPFEQKtl/A0 icei1YT42+JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaFvQgAAKCRARpy6gFHHX ckF3D/94LKQv+DwKv8kgiajCz0+LVB02vWQFLuawtrrCD3lT3mQR99okl12W8v4bFRqrQgkZbh6 Mwxo9HqCfHrH9G1wPF88tIC0mVzVRDUcaMkkI/b4FaH2V+0uGdss9BLmJOKb1w4yxHpo1s6ud4Y nFa0ZFobojyWKWFqWgnrLBkO6Ee/kCKcHLOWs07yKRQSDbkiyhWoVo25QrzuqAUbBe5SZitOElx RP9QH+MV5jiCBF1T5PELubMo9gHJaztZHMs3/J/Cv2sgOu6GNRiU5PknjkdXY9Yr3ViaiGNVoq7 KzUxVZLCCPxGNwMAtpYoCs8OazkrmTFJgeDdd8FaN+AUMRpzElDe5gMLKbxG4ywUxzqBDToLP9y ZBvBSYsWfXt7NVRv8ar/BcFa5+wl2NZu6mFOiME3DM19NoL++9oa2pQAWqa2l1pADddWStrecGL fjYRJasuaMjmEYDKKb9nnY7P+EqE9fMlUtwzCvldqXYcMGu6vfuiePHGLGUhvB76UPmHagMWnzu gdyb6iE/IAa2qwFBcjxH2dgglrcOhusiGNqea293LnB6a4b2QeAT87hOs9fiH7zhoAByf0Vuly5 yFmAioTpLemDCiO4jMgJuQy02PedULImyNIjLmPw8V7RS2UW42vPkdfq9THCKWegBxq+langWnB lWhe1Qpcgf94OAQ== 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-stp-xway.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpio/gpio-stp-xway.c b/drivers/gpio/gpio-stp-xway.c index 5a6406d1f03aa75e82423f7c5740fdb3df42dd4b..fdda8de6ca366662aec1fccb475= f0698fb478ef5 100644 --- a/drivers/gpio/gpio-stp-xway.c +++ b/drivers/gpio/gpio-stp-xway.c @@ -113,7 +113,7 @@ static int xway_stp_get(struct gpio_chip *gc, unsigned = int gpio) * * Set the shadow value and call ltq_ebu_apply. */ -static void xway_stp_set(struct gpio_chip *gc, unsigned gpio, int val) +static int xway_stp_set(struct gpio_chip *gc, unsigned int gpio, int val) { struct xway_stp *chip =3D gpiochip_get_data(gc); =20 @@ -124,6 +124,8 @@ static void xway_stp_set(struct gpio_chip *gc, unsigned= gpio, int val) xway_stp_w32(chip->virt, chip->shadow, XWAY_STP_CPU0); if (!chip->reserved) xway_stp_w32_mask(chip->virt, 0, XWAY_STP_CON_SWU, XWAY_STP_CON0); + + return 0; } =20 /** @@ -136,9 +138,7 @@ static void xway_stp_set(struct gpio_chip *gc, unsigned= gpio, int val) */ static int xway_stp_dir_out(struct gpio_chip *gc, unsigned gpio, int val) { - xway_stp_set(gc, gpio, val); - - return 0; + return xway_stp_set(gc, gpio, val); } =20 /** @@ -249,7 +249,7 @@ static int xway_stp_probe(struct platform_device *pdev) chip->gc.label =3D "stp-xway"; chip->gc.direction_output =3D xway_stp_dir_out; chip->gc.get =3D xway_stp_get; - chip->gc.set =3D xway_stp_set; + chip->gc.set_rv =3D xway_stp_set; chip->gc.request =3D xway_stp_request; chip->gc.base =3D -1; chip->gc.owner =3D THIS_MODULE; --=20 2.48.1 From nobody Wed Oct 8 18:13:10 2025 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (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 984562D1F72 for ; Wed, 25 Jun 2025 10:33:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847635; cv=none; b=UnH+397pMTvLl1HvE9MvRihNXyZIhWk/F41Xnboy06UEsknBw/BpCZ7q6O9EL5WcEJqlVuzY0PbQLGhCGbEO5lyNAe0adLU50JvgpaBWCaSkMK7ZVvny0CNvzdZhsgtsrJH7fQ6wOVcOyZ8ogVpnC3Oz+2yljWG1MfOZiwoU6iM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847635; c=relaxed/simple; bh=/R5v1/odu4+g59x92l+r8Nz1efWq5aExO8tpI+Nyoc0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JibmPfwCo5iMzSfQBBoOs4j4UWENhiCMHojCobvhuV9RuSVD1WjQ0zjSJu2MRdXg/LEwvX/UrbSnF8D8aEZnwLUNaRDAJ3SKQAX/Wzo1lQ6lB5XY7cSqjRpVMqZv+29fapCfWo/Tgjc47Mkdh97nvF5/p8gUKk7EBtRf4ueZ/aw= 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=V/TJAhTH; arc=none smtp.client-ip=209.85.221.54 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="V/TJAhTH" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-3a4fd1ba177so506577f8f.0 for ; Wed, 25 Jun 2025 03:33:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1750847631; x=1751452431; 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=JJHIuMYrWN8IdFB2bnihanEiItYdX6hdAm3LOb4QX6U=; b=V/TJAhTHTv84GoEU5sFBIi5SB5XrT/yZyyTRv6i+UBbLSFvylfEKOL4wxeTfRt+qHb VXt1LlcnkuPDDFmfHilHB+Q1rLhMKDFbxQn3qz3RMawU5CaYK4dMtamV3TgdcJilO3AG rQVKarckTgBqPbZ+XaseNoL2tyljQRhqWp82zR5CnnRstwwyyOvOd1L0R4ukN4Y5PKq0 fBrhzbP8osYCG6kDOUWt8yA0dJ4UEuef3K/oJqAgv79h0NBsC1pJCuJVJpq/YQOquqrD tE14srabErRJMbws1PaSnzQ/IOUqJHFM5Ky0iiRCmTTawOMzNtU7Kio4zZkKzNU4mdot 2RDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750847631; x=1751452431; 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=JJHIuMYrWN8IdFB2bnihanEiItYdX6hdAm3LOb4QX6U=; b=UW8LWDIIZPnI8+Q30smuSNF71j5C/sJhXj2pyFGFz9YEJ1yG9fznlUELfPuZ/8Jv6t dE/FIkHK9iLh8pfzXdNw3l7b53l5Yrl9Uj16DysUNAtrxd0xa8xqAVbixkmbXWqRyEYm RbDdL43HAMvwfOhqTcQu3lYfQTvjdfO/QC6J9+1MQarcXU+CRSpPn0MB1rQ1rFIYP6Eh /e5FElPxmgkexygxlfFKdS594hbzgKH4uQKDbYrQpC+irUcowzunA6c8DuwjfQKEv/k8 iFy+0gt2ZwoG/RjTDOsgnYt6eSnRJ7pnvS8bwEt+PUP7hI203T2ICQ+JYElNHXfxzsde T91A== X-Forwarded-Encrypted: i=1; AJvYcCVUa6V1RqMwXE/dRH/tlDoUWjeaR86aDSqeChE97+Vk8FoGtne6lG5SPMu/M5AQSwqDniRmgxbbfmFM0rQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyrKEaKHWHlYn1tQBYpP3AKi6SSPWgQuM0xHCm0HsvyXeseDGnK oKfGg9uOKXXv27dxsRxIgDWtAKo2tCdb/YUS1Cc7D6ommQMyjyXSxsGfg73eob7XxtY= X-Gm-Gg: ASbGncvcmT+1pHyqEFW7qUqZf411/XEwq5yprQliBr3KXuqPkKc/Tu/2jn0ZoZPf+vn zhfKsLIYZ2qZfAokimkZevvvMfFrSRr1WAegN9T9b3lV2ke3qXSH7KKUcMKQTnkgd4Y2UxyhcvJ UyQkAoO5UVwABKMbXgbsKvD5KYoqrwo41+O4F/4hn+JUZpGYEg4tJpRovQcvESTWxU/6SHSl3/H Uu1BRTZ8BZe2KYH6Z1Jtls+aP+XbqNzE3IrSdoXwQZ2v3THlWDE3Xj4YoKFbn4qwXlHh7OHq6Ac md6xLLXdo4nKGYnxK7JOOlVzuFl9raaNFHM6qucmGqxboNezELspwkDm X-Google-Smtp-Source: AGHT+IHVlfqB4inzXZzLgekCnTIjuihgVCYxGd7tprEn7YokvX3NE5HXPw4UxnDwuCjQPML6+E/5Fg== X-Received: by 2002:a5d:5f92:0:b0:3a5:25e2:6129 with SMTP id ffacd0b85a97d-3a6e7206741mr6336631f8f.21.1750847630882; Wed, 25 Jun 2025 03:33:50 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:d216:42f3:1e7e:472e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45382373c86sm16133195e9.33.2025.06.25.03.33.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 03:33:50 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 25 Jun 2025 12:33:33 +0200 Subject: [PATCH 10/12] gpio: syscon: 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: <20250625-gpiochip-set-rv-gpio-round2-v1-10-bc110a3b52ff@linaro.org> References: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> In-Reply-To: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> To: Ludovic Desroches , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Thorsten Scherer , Pengutronix Kernel Team , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4222; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=sjfHOc+5FIElw6Tn67jgDQmefJjmNImROrNF3EFqBFg=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoW9CA83SVJti9vEV1Z0Jj0mn5RsqIkTfAL4+Q6 qHpliBjLBKJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaFvQgAAKCRARpy6gFHHX cmakD/0bM1j6L2o30Tp+dbPHedW5MlBncI7X9OnpYlO059zCAtX6weW1EA7auFfb0pdgDrfc8ju 9P5nzipoqm1g9uh5EW5ZdT7ZJoaL0KAOfmZNC9NMTIotgDYZkC/9K7W7ZJtXNYQiofJYV47yCOZ kL4vOnVBZPiaEyKO0xFm5x7OUnV3dVCovfICjZ96PuxIInIlToYVDkR0g30XRN2sigYYgNdtCIE kerUi0WQNQt5yS4+00WCichtEFr2W/q6AlgHPAoQ/WLm2q1Fs+eUj6D2HCIVFCfNXrMepgTYmHZ FdAGaF9VjhyPnlgQ0zSGcbmIXVlYkf6+/iicvTtJDzo69K4mh1b17ZLpIqg5UMIqOx7LjhijbfO JyQfwsyWY2rZafQjfgE5FrfPlKPGbzs+EiYzCdlYrO0mlbq4/UByZXeNRZ3LOOWOcou8CZQ74kd XPDPaP07F2vdEPMHkbRs2gfZ9dfQdnayC0IIQnzR13Sh5nrdUW2YtalxOl12QBXSWNfkCsDRNfW +F2WqxK7s67FsSnl+Id/m4j6wu+PqYDnwxHKdTXsaXCw6dCmHAF8J2qY3udEZcemFhsuR3Kwc/g 2RQ1p2buy65m4uB9eJE9W4PHCBI/Z8niJDMCY/e9NZMH9aqqOAj44pwau4RDrH9m96Q+0L7S2pJ vIUv+bZN/Ve660A== 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-syscon.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/drivers/gpio/gpio-syscon.c b/drivers/gpio/gpio-syscon.c index 5ab394ec81e69beae2080a3ca7ecf35868e79abf..f86f78655c2420ef91f1248653b= 4943b5d8ed1c0 100644 --- a/drivers/gpio/gpio-syscon.c +++ b/drivers/gpio/gpio-syscon.c @@ -40,8 +40,8 @@ struct syscon_gpio_data { unsigned int bit_count; unsigned int dat_bit_offset; unsigned int dir_bit_offset; - void (*set)(struct gpio_chip *chip, - unsigned offset, int value); + int (*set)(struct gpio_chip *chip, unsigned int offset, + int value); }; =20 struct syscon_gpio_priv { @@ -68,17 +68,17 @@ static int syscon_gpio_get(struct gpio_chip *chip, unsi= gned offset) return !!(val & BIT(offs % SYSCON_REG_BITS)); } =20 -static void syscon_gpio_set(struct gpio_chip *chip, unsigned offset, int v= al) +static int syscon_gpio_set(struct gpio_chip *chip, unsigned int offset, in= t val) { struct syscon_gpio_priv *priv =3D gpiochip_get_data(chip); unsigned int offs; =20 offs =3D priv->dreg_offset + priv->data->dat_bit_offset + offset; =20 - regmap_update_bits(priv->syscon, - (offs / SYSCON_REG_BITS) * SYSCON_REG_SIZE, - BIT(offs % SYSCON_REG_BITS), - val ? BIT(offs % SYSCON_REG_BITS) : 0); + return regmap_update_bits(priv->syscon, + (offs / SYSCON_REG_BITS) * SYSCON_REG_SIZE, + BIT(offs % SYSCON_REG_BITS), + val ? BIT(offs % SYSCON_REG_BITS) : 0); } =20 static int syscon_gpio_dir_in(struct gpio_chip *chip, unsigned offset) @@ -115,9 +115,7 @@ static int syscon_gpio_dir_out(struct gpio_chip *chip, = unsigned offset, int val) BIT(offs % SYSCON_REG_BITS)); } =20 - chip->set(chip, offset, val); - - return 0; + return chip->set_rv(chip, offset, val); } =20 static const struct syscon_gpio_data clps711x_mctrl_gpio =3D { @@ -127,8 +125,8 @@ static const struct syscon_gpio_data clps711x_mctrl_gpi= o =3D { .dat_bit_offset =3D 0x40 * 8 + 8, }; =20 -static void rockchip_gpio_set(struct gpio_chip *chip, unsigned int offset, - int val) +static int rockchip_gpio_set(struct gpio_chip *chip, unsigned int offset, + int val) { struct syscon_gpio_priv *priv =3D gpiochip_get_data(chip); unsigned int offs; @@ -144,6 +142,8 @@ static void rockchip_gpio_set(struct gpio_chip *chip, u= nsigned int offset, data); if (ret < 0) dev_err(chip->parent, "gpio write failed ret(%d)\n", ret); + + return ret; } =20 static const struct syscon_gpio_data rockchip_rk3328_gpio_mute =3D { @@ -156,7 +156,8 @@ static const struct syscon_gpio_data rockchip_rk3328_gp= io_mute =3D { =20 #define KEYSTONE_LOCK_BIT BIT(0) =20 -static void keystone_gpio_set(struct gpio_chip *chip, unsigned offset, int= val) +static int keystone_gpio_set(struct gpio_chip *chip, unsigned int offset, + int val) { struct syscon_gpio_priv *priv =3D gpiochip_get_data(chip); unsigned int offs; @@ -165,7 +166,7 @@ static void keystone_gpio_set(struct gpio_chip *chip, u= nsigned offset, int val) offs =3D priv->dreg_offset + priv->data->dat_bit_offset + offset; =20 if (!val) - return; + return 0; =20 ret =3D regmap_update_bits( priv->syscon, @@ -174,6 +175,8 @@ static void keystone_gpio_set(struct gpio_chip *chip, u= nsigned offset, int val) BIT(offs % SYSCON_REG_BITS) | KEYSTONE_LOCK_BIT); if (ret < 0) dev_err(chip->parent, "gpio write failed ret(%d)\n", ret); + + return ret; } =20 static const struct syscon_gpio_data keystone_dsp_gpio =3D { @@ -248,7 +251,7 @@ static int syscon_gpio_probe(struct platform_device *pd= ev) if (priv->data->flags & GPIO_SYSCON_FEAT_IN) priv->chip.direction_input =3D syscon_gpio_dir_in; if (priv->data->flags & GPIO_SYSCON_FEAT_OUT) { - priv->chip.set =3D priv->data->set ? : syscon_gpio_set; + priv->chip.set_rv =3D priv->data->set ? : syscon_gpio_set; priv->chip.direction_output =3D syscon_gpio_dir_out; } =20 --=20 2.48.1 From nobody Wed Oct 8 18:13:10 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 2B5312D321D for ; Wed, 25 Jun 2025 10:33:53 +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=1750847635; cv=none; b=uPI5nH5QAuV8auSNk1d6cIXEQH5lUZvVmvHR8IdYllcuzu23e5qBl1YpTRL5Li6gnBUyojqIu1b13AqDa/K5dD6EaonTn1FTmdmzvzdLsjApcJD8GtP8GHivfVVzEzkGr04FNdFEj0nJNzcz8Q/VsCW6psmTgWvhXlHy8hL5si8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847635; c=relaxed/simple; bh=oPskcyliwOMdOIg807PyHOObgsieHNOMoG8WkB/cb4A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ND6lfq5C7edfv54ul/ZQGicp0YqO+RjlkiiWTUxsCCkyuM70buFZ1Ry0PNQbQ76iSJ2HnKh0ZupbMZZh/Ia3n95IkYVD9apo+8TTaLs5mmY26cyXyGXtUZNa7hZ6Zm8s/AMKsHBSyWXrBeeuj4Ys86PMplojpkO5tcJMROw3jEM= 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=BHkgeTNo; 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="BHkgeTNo" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-450cb2ddd46so8328145e9.2 for ; Wed, 25 Jun 2025 03:33:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1750847632; x=1751452432; 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=o6ZfGeAkXZ73Y1KWGs+ss+amnyN2DFHuOZR9Jo0dyjk=; b=BHkgeTNociFuJ+rt3G7qJQMXayjOR7Je78/rLTRyO8DIrwUv9tfOlguIeq8m3ASBAW sqv+WcIb0O25KUkj3C9DrtjW9iC4ADdrcc/0uZKl1JKSnLrz4Odnzc5akXK9E6cUqLvB xPEhv+oGSvhNJETie+5R9zzm0JIZL52YuCXtp1MmQLvi/ayAev63a4k7SyxbcNhnyDaH 7mq0HIUdjDftcZBuhByxue3mMGpqda/pzuEJZGyO0OqetZA7D3OVxvrgTqKJj2QfLd6k 2goNwqtVd7O/DhygDhjl6dt0hFinNgmonwgJnQ27OItpuiMi5QNEYK0lP3doRhWgeGZ7 dUJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750847632; x=1751452432; 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=o6ZfGeAkXZ73Y1KWGs+ss+amnyN2DFHuOZR9Jo0dyjk=; b=wMEVFvJioPiG/aqrJWAyzjYmC5R6HJ1+Z78telencdOekVj3klGaU9kcKqV8Ibb9RH fHf6NQt59RYcIrIiaRHcJxjlhu2efARJOAaGC74xuQ378mRyDPPmYwctfp7I3JzPovDO Ev7ycDoQTMcmqZAIxxFvayAGOxrgbyLv/U10wmGOVacVwQMKE1WLSS/E2h6oIXUsyKwN ImlNnuXlkHBXz0Yt0yEL1wxBQTHKabgZOhT+AEGpXrQcVxYoqsXfNkFATDxvUrbYE2LD yATUZbUMHKAMsoYz2g8Jtcj8czMwToDHWdFt62p+/eeAbChN8rh9c+64OQStzKioFRbW i0WA== X-Forwarded-Encrypted: i=1; AJvYcCWY4ef8eCb8VUlcKKK4LAkroOs2pMQR8QVgeCzsSo0F1iSs+PXHK18dRNHDARSZaQL2hk+pGX9slXI5bzg=@vger.kernel.org X-Gm-Message-State: AOJu0YwNc0K/vPn5ynrXvYyLS2oS32zHRXQ4I8KtBBR+IyGpAaVZ7Vjz awMZ1a9A3gmiHPOzciBiLY+HqGx3zPmnKvp9dNbW1hrjYCeb8QBa6IIPXfnEzEFVvgA= X-Gm-Gg: ASbGncv8M8UJsiy+k1ZnGLyMGMOLyJpYX724yCSHu7NlHuPhzLME35MYWe7NPxtIlFC FNnmHhIwfPfctMO14nrowRKC84tmiZSc0f6KHTTHUVDT+uI02NV++rBlxclIzxlAWEuy4cGtmdJ aeCyCMnWT3x4U5nR4kgLm56NJcA9P7lFgj1RRX7xxr2ACgZN8l8Hj9qWfoqI/7EUJ/936xEuzoP KqU1P2u6egry6rXdIOtRHBJp5DA33yptz3bqz3iSvufJWxxRkgaafVr2lVP0oxztc9A9jJFKGKX Zghjs8TzB1DOP3X1tGJ1qDPc89J1lwqI2d2y06KzwwpBJ7QuARsV0HorDXQPSUa6tdY= X-Google-Smtp-Source: AGHT+IGGcN7WUw8zzW4bU1XVR3qpO9sgtito9/eGMkKkDd29OeHegSc8qveoQUTN22kyvswbIXCBvg== X-Received: by 2002:a05:600c:4443:b0:451:edc8:7806 with SMTP id 5b1f17b1804b1-45381af21fdmr18915265e9.32.1750847632081; Wed, 25 Jun 2025 03:33:52 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:d216:42f3:1e7e:472e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45382373c86sm16133195e9.33.2025.06.25.03.33.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 03:33:51 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 25 Jun 2025 12:33:34 +0200 Subject: [PATCH 11/12] gpio: tangier: 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: <20250625-gpiochip-set-rv-gpio-round2-v1-11-bc110a3b52ff@linaro.org> References: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> In-Reply-To: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> To: Ludovic Desroches , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Thorsten Scherer , Pengutronix Kernel Team , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1682; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=UPda8VLJo3OBoIL/W0Ct/orzjZK2QuSKpe06Y6G7WUo=; b=kA0DAAoBEacuoBRx13IByyZiAGhb0ICioo+hAcr5UWIJINtVh6Z8N/KKejk5v7M1jOjhd43zG 4kCMwQAAQoAHRYhBBad62wLw8RgE9LHnxGnLqAUcddyBQJoW9CAAAoJEBGnLqAUcddydWIP/1eE oAzYegzqMKV/tKdTsVzHqG8LAUBTYy84VakX8ZVlCBMOxbOsqhsV9zsazPR8Up7wrITUsChfuxM cwrvui0/hpZ7ORdDbpBzEeoH00USXn8aecQGgCDgEYHHFo9JT9qlFjni0J/EyDHxO1JrQzfuCAR AILY81G6ibxRYHjZJX2OSyLo2mvUDArUHYDF9JglLbCDUSRBEPD1Mdf9fVqDzTKVwu7mvX/tRrM 97xQAAawd2ZCERvP/NXtVvGXt0AG02D2ADMi4EmswH1vMdqbl0PaSEUt6eIK4XbjXPck3OFwpju Kn30+92qMYfPstHocKD3IKjIhx+tDmkFyvxoMmaITqWSuLaph9yNeyZ/Zf1risZLckcYed2DthQ o+zOyM0bGYCXSWlQC+qwNuUvEcvC/8J3cjpCmcoKQHJBlZP9KAR32qoxDJRePob3kfrqL01CCWf mMfiUIf7nBJ6gDCiYFkf5dNtJ+iWYTcwhYbuNTCwVzJGNWfypYncBMpqyrBFKd9+jB35i0BUydO xPW/5f3ASSR8yBBVO+zk9LwuoTxw6vUlF76Go6Tp7eRs6ugeiNUJFj9XVquFifCUsm6RNTsaQz6 IsM0MdJekXnvMTkmwguqfs6dcCqdDtFcujyJ4LtJOoqPAa1z5qYV9wfb3nWM/INEUfs5i5C7agn jNnJO 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 Acked-by: Andy Shevchenko --- drivers/gpio/gpio-tangier.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-tangier.c b/drivers/gpio/gpio-tangier.c index a415e6d361731e809d137a92b6c4658b447c26bd..ce17b98e0623ea6c0c2146430da= 38833dfd16cbe 100644 --- a/drivers/gpio/gpio-tangier.c +++ b/drivers/gpio/gpio-tangier.c @@ -90,7 +90,7 @@ static int tng_gpio_get(struct gpio_chip *chip, unsigned = int offset) return !!(readl(gplr) & BIT(shift)); } =20 -static void tng_gpio_set(struct gpio_chip *chip, unsigned int offset, int = value) +static int tng_gpio_set(struct gpio_chip *chip, unsigned int offset, int v= alue) { struct tng_gpio *priv =3D gpiochip_get_data(chip); void __iomem *reg; @@ -101,6 +101,8 @@ static void tng_gpio_set(struct gpio_chip *chip, unsign= ed int offset, int value) guard(raw_spinlock_irqsave)(&priv->lock); =20 writel(BIT(shift), reg); + + return 0; } =20 static int tng_gpio_direction_input(struct gpio_chip *chip, unsigned int o= ffset) @@ -428,7 +430,7 @@ int devm_tng_gpio_probe(struct device *dev, struct tng_= gpio *gpio) gpio->chip.direction_input =3D tng_gpio_direction_input; gpio->chip.direction_output =3D tng_gpio_direction_output; gpio->chip.get =3D tng_gpio_get; - gpio->chip.set =3D tng_gpio_set; + gpio->chip.set_rv =3D tng_gpio_set; gpio->chip.get_direction =3D tng_gpio_get_direction; gpio->chip.set_config =3D tng_gpio_set_config; gpio->chip.base =3D info->base; --=20 2.48.1 From nobody Wed Oct 8 18:13:10 2025 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (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 25B542D4B66 for ; Wed, 25 Jun 2025 10:33:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847636; cv=none; b=WAb2yvNkt35adG0tRFlnubBVSB7g3tP6K0yyHuQUgZ/DHl0vmoIzmhJOdT+NLqwG7LCT7CrLa/cuzUg+sVnGZsSrg7iPExqVgRlNVfLzTbntfOpdaDTRb55WFzoF1olazzjXTz5rPgO2vMOHl3oPgpI1gQp/xVcdHAorFU+TCMw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750847636; c=relaxed/simple; bh=GEuDJx5QPTHM5tc+m1g3q7+5FM3B/iURX5AMDE0fWQE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VSkloiDP0V99e3oA8HEwIbfaBYe2aI0M/ySQU5PJHr1pAPfjAoa9/HFxDjttz6V1JFSmoNuI65e/A4wZiHt5KwBMz/L1crWMTOZczGStoJp99HHCUIbaOu9gqrP9kUMuXgM6FVzFrhxC8SaveH3HAl5/TdUAPjgRuve99h9hRv0= 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=qooIYMrd; arc=none smtp.client-ip=209.85.221.54 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="qooIYMrd" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-3a54690d369so5585293f8f.3 for ; Wed, 25 Jun 2025 03:33:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1750847633; x=1751452433; 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=NC7Pu9soozWv+X4KdcyQ3wROHwf5kQLULZRPlnwsRdk=; b=qooIYMrdt0EPptZzUHhspOp+T5VCn3xaUQWN8L0lNrYGK01w5G3TTIDe8RcIEFy91E W0YZL0wtW/Pc7EVplWX5KGSoy2bRKWhuh/ultWDElCjPHd0pmMr6kPlaEHKntXUdKmXm pxQBi21vCY/ZPMqApxkhVMmJouYoJTEIHJ9mWudgNHfyJ/zyqPabaTLTocvZxGyZIqGN 3MpbRnM+SVWVoxFEyyude5ebCa79oDVyrnlxTlptUYiiH3W9MHaLjtWUIMYb4mXGipFK LeCN7JZtJQBJvpOOHROwqNjZxfyjyEje8K4UL8v08ticuUDNQNyqqYENF4UIvEc8BvQ1 jGWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750847633; x=1751452433; 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=NC7Pu9soozWv+X4KdcyQ3wROHwf5kQLULZRPlnwsRdk=; b=lKbn6TaQdusutG0uh8oWlkju5zUrpLu6347TGxqpQMSoCLHBnfKtZq9mu0vTx4D/b9 S9TTq1+3TYhLuahzAYnrNVoZU6gSM9YukXGgTgX9xNAFuyKbdQvebXp5vYEp14G0qZc8 yv+hJydS/zhDKxqF9+awSCRg5CXJk4VwKjF7HxCIq4pSNs74YtNjK7pRhE84Lc6xU1rX PTmYZdRm/TN9dPS+TUO3A67chkcTYQaIbzaRDFNWYujh8DwtD9yZJOtfxAZa5tk2ku7i xnMvNEtciLcsfZs2dzzBSWeoC2VzmGp3PCRVWHs0MsDry2wRPX1B30KLSF2lOnLXo6NW lc7g== X-Forwarded-Encrypted: i=1; AJvYcCW3odHhnitSaJwbs0lvbgaTatK44LPOxDD8Uz/x5kXVJCc3RNYTxOvd+z4btBCKGN1kqZNa4+E+Ft35QN4=@vger.kernel.org X-Gm-Message-State: AOJu0Yzu13GinjdDKOcRzeOxNgoeaKaJskZ9FPEct6qR+j31/45mioGH jJv7YV4ASjofi/ji9JqggXbfRw1U3FmePDs7efHRjZqic6Q6PqIj8vC/TAqwWD2or2A= X-Gm-Gg: ASbGncv82ElkQcHswt6IKt8W57T1wuCkcmyX480xwsv9f0LXtO2moJgurqgF+woqMfj wNPtjEkPD2DSzrcUYr5fCH5Rcieru/vhzeFer3P/XFVLLOqTckC4gP7Cx0j4lrf9k6fIpDpS54m 97l9vOVUYujJg39m5IbTZCwWfTO7mj/Z/J2TNfaKetoe6S9crn1b4P/m0aoMtZpg4GyMBuZn3aP KYhXDsEupdxtKkyiZvKYH+3afogDv0AZfrtK0dZz0qgKoGyDETdXKGeLDHRgq+gsqmpuMNOA+7o VLvsy/+d9WHvTZYJetV1Zaxlcaj2FIZcNnKt7qiZMTQViIrCMxZJ+irs X-Google-Smtp-Source: AGHT+IHxR2qvRGmElBXq67F0SKZPrxii/yocT/jg1I7d7lhCDWU0MVv4VQ0cqFQ8XWvWsQzZJx/Yjg== X-Received: by 2002:a5d:6f18:0:b0:3a5:8a68:b823 with SMTP id ffacd0b85a97d-3a6ed60755dmr1812393f8f.23.1750847633454; Wed, 25 Jun 2025 03:33:53 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:d216:42f3:1e7e:472e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45382373c86sm16133195e9.33.2025.06.25.03.33.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 03:33:52 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 25 Jun 2025 12:33:35 +0200 Subject: [PATCH 12/12] gpio: tc3589x: 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: <20250625-gpiochip-set-rv-gpio-round2-v1-12-bc110a3b52ff@linaro.org> References: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> In-Reply-To: <20250625-gpiochip-set-rv-gpio-round2-v1-0-bc110a3b52ff@linaro.org> To: Ludovic Desroches , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Thorsten Scherer , Pengutronix Kernel Team , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2164; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=rb/GoPaCoaNCEXEQPUk26EQjk/xqS/m+eP+cKDaCCqo=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoW9CA575QX9X7E+WHE5PW5iX86bog1E6GPj/k+ 5sFRK+FqfOJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaFvQgAAKCRARpy6gFHHX coHHD/wMH31t1wMzv3QMkuAnqPWJ4IxSDFv1ZkrRfqK+WIEZZxs4GldQzrDhHJxVM9B3Zzy03Fb bvX/ND0cQ3SI+J2zOWX0fHQcj2xA+0ifJsiNXu87Eyad0w5lDmO9bdKEN2LyKDDZim6lcAVsbti hdgbzWxvuI4jmQkAT6cyxZNyHwvcegXwpRUz+zLhzf3kym7keBczoqdjcm0xSu0iFc3uHIeW9jM xMEaTrLbsSbDeZrt61DYlgkMG5qgy6Mu13GvMKDnkI9zpduu/0EsTWrNAsVMUmFb4bnTt70W4iE xNtlJWglIEdv8FdUFf7jeCXtULeoBTpjycxN56IraT4sgqt2HobWV/XKvbp8bia3nQ8mXH6Q2hT 3Hu1kLt+Cw6fVUP+P3uTsvGiB9tGA5YPXuMc5jIRx/j6fNtXgEYRJ/8Bx7ZAYR/Aess6RFci1fn ctW05dqgrdFEBPMNOI1rEPNEutdTpLmiAD3bWHElDMDPL2+0Lq1fFXg0IMcSQTma9yHnfxPK/z+ lULXHRCP0lqNRXlKxW6f1n/G5jg5FdktLY9gGWbukblkSYdXc+plpftzge5t9UC3369vcSOK57E J981JOpgHxMxN2mEgtJm9Ia9ir6wIUceZ6AuLO7I63GooqvnLgso58PnGKlFhj3ehmzut0m3/Rv wBMQPc2MAszYITQ== 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 Reviewed-by: Linus Walleij --- drivers/gpio/gpio-tc3589x.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-tc3589x.c b/drivers/gpio/gpio-tc3589x.c index e62ee7e56908f9125ccb6deb21130a5d9043fbde..0bd32809fd682bac7b16b1f2518= 87abebb44acdc 100644 --- a/drivers/gpio/gpio-tc3589x.c +++ b/drivers/gpio/gpio-tc3589x.c @@ -49,7 +49,7 @@ static int tc3589x_gpio_get(struct gpio_chip *chip, unsig= ned int offset) return !!(ret & mask); } =20 -static void tc3589x_gpio_set(struct gpio_chip *chip, unsigned int offset, = int val) +static int tc3589x_gpio_set(struct gpio_chip *chip, unsigned int offset, i= nt val) { struct tc3589x_gpio *tc3589x_gpio =3D gpiochip_get_data(chip); struct tc3589x *tc3589x =3D tc3589x_gpio->tc3589x; @@ -57,7 +57,7 @@ static void tc3589x_gpio_set(struct gpio_chip *chip, unsi= gned int offset, int va unsigned int pos =3D offset % 8; u8 data[] =3D {val ? BIT(pos) : 0, BIT(pos)}; =20 - tc3589x_block_write(tc3589x, reg, ARRAY_SIZE(data), data); + return tc3589x_block_write(tc3589x, reg, ARRAY_SIZE(data), data); } =20 static int tc3589x_gpio_direction_output(struct gpio_chip *chip, @@ -67,8 +67,11 @@ static int tc3589x_gpio_direction_output(struct gpio_chi= p *chip, struct tc3589x *tc3589x =3D tc3589x_gpio->tc3589x; u8 reg =3D TC3589x_GPIODIR0 + offset / 8; unsigned int pos =3D offset % 8; + int ret; =20 - tc3589x_gpio_set(chip, offset, val); + ret =3D tc3589x_gpio_set(chip, offset, val); + if (ret) + return ret; =20 return tc3589x_set_bits(tc3589x, reg, BIT(pos), BIT(pos)); } @@ -146,7 +149,7 @@ static const struct gpio_chip template_chip =3D { .label =3D "tc3589x", .owner =3D THIS_MODULE, .get =3D tc3589x_gpio_get, - .set =3D tc3589x_gpio_set, + .set_rv =3D tc3589x_gpio_set, .direction_output =3D tc3589x_gpio_direction_output, .direction_input =3D tc3589x_gpio_direction_input, .get_direction =3D tc3589x_gpio_get_direction, --=20 2.48.1