From patchwork Tue Apr 8 07:17:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879901 Received: from mail-lj1-f180.google.com (mail-lj1-f180.google.com [209.85.208.180]) (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 A0379261579 for ; Tue, 8 Apr 2025 07:23:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096991; cv=none; b=nrlFrgtqpz2mZmmvxD7ygplzzJo0CyfWCLoGBuLKNtLIhebyc2UnUFIk34XNKu46uviBV/IHj2EWJ2NTkGycfJ2f9V2rx2kYLiuqNxrEn3S7SojvstgoxZ8tnEHduLGCApguI6Vg1698VZqtelWHgdS+enstO7TFDBFMNd1SJ3I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096991; c=relaxed/simple; bh=oFDJBxlaVibC5gJZK7MUiCXZSDcBAlZc/J2265/ifHQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KH6TuJYlUZ160tQUtdGU5LS/FOHsHlmCsC+k66PbspihJ+poDFGhSXu0Z5vyg+VfwJMMmvu6yf/jFOB8v6FLND5JHzhiwVpX4UjVPjIhu6Wta/BkCICzKjHaoPb+mbV7EPW4Q8ZLNpwMuyt6YOFCiGvth8yncDr+TD9lVISzPOw= 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=m2FBcXMs; arc=none smtp.client-ip=209.85.208.180 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="m2FBcXMs" Received: by mail-lj1-f180.google.com with SMTP id 38308e7fff4ca-30db3f3c907so47595081fa.1 for ; Tue, 08 Apr 2025 00:23:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096988; x=1744701788; 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=6bblWb/A3f8Vp31ZlZJvX8Y6uILdxWWSmqIBQEBD8XE=; b=m2FBcXMsTgUZt+ROH1fx4qrDAgOngmqIeHm0pSUnykfrXp0lep/rfcqx9XPkT/bT/6 +vtGVpdM3bwEPRpHTVrp6Ae9vyP49/w2B1Nci9dXeinMv9fbiYWLD7pEEdSEd2JwBYfB h+RlqzWDwOshKbd0FFZo2kIosUhrbTtP5Qktmtq1ZMfxAOxZt/vmF76Id4RtizuxGaXy bDapLImQP1Ziz7ciGR7d4NExJJrIl3iT+X0FL+kdLPg88lue5qcwy0ZjqfH9Jyz09V45 8NDJ4iXKM+a+loYLp5KV9uBevjlzx5A5YTsSiZkgxX9WgnykGmKNMkaT8tbWk050JGVB Jo1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096988; x=1744701788; 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=6bblWb/A3f8Vp31ZlZJvX8Y6uILdxWWSmqIBQEBD8XE=; b=QwNhCp0LUJqz0HR0lIwLjnboxiJcMyywkXOjxyRhjcBwCMRKYSzJ0sL8dd+0kW4FmT vj939QIzY14KldmYBO3BiWTY+5hlp+XGeT2HODXmOH8hrLGZmrUWS/VX6L3mJn+EtS80 Q+qzmnr4hqhA8CNyyG95aTl8Y/DmKyndXPUaLXu/iMJTy3l1+HDcXThB1B4C/8hO5H5F 7hGUhc+VxWGRgQuqDqlQp8yjKlSKWeOukMzT1jq84uzm4ldlL4qgnd9N3C8Q/xJfwAKL 2ZDlQiFp0KTwQjYbM453UFyd2U/eYYT2eJhRk4ixExu8h75pkR01FahNPgYAv1fxBH0/ i3tA== X-Forwarded-Encrypted: i=1; AJvYcCWpOf+QjZebvt0s9sx1T1Z216fosivGYDv/MK+OQCMO5FQRhBUzNnVNrmeghO4MVvxQxqL3kwgZERqS@vger.kernel.org X-Gm-Message-State: AOJu0Yx1hNrETaP1DDL9oduSYF78NEqJsV0IYnY3zU2k4OK1vsSmX4RX /Q7UKpmFgeFERJXDLLijhU+uhvquBZSxZWVEygLUI8zK4JiPB9yl8OK4dYF9o7VQD64dkmEnK9c PCrw= X-Gm-Gg: ASbGncup8ufp+jUUjDeC++oPre+yB09hmL5z7ZJpn8OteiUROSZB26KoLmv82PasQ9h QwEXvKYmft9rfE6iRWFxC4sCU6jRnDtCPwC0ueyOMh6ToomAsLBlggHUncwiLBkACikTq6tka9C fc0S5/Lh+mLbYSjF0hyHojZedVqku7W6ZXPzTMWFsO9P4ojg5lzQkFT+oItSuaxMJe+PEYVuLXA jgjJlc1kLZOksh0LU0gYt95s1bYu8gifoaueywzh9WGZaSLJ5aq6tdx2ejSV5QVw8esaGRyjAWV aTjTuZILj796yj+dmqe1rGAGtG0621od//SfZA== X-Google-Smtp-Source: AGHT+IHqIWuX5sWz9MJQWDS2IT6lTfF85m614lClDoVvdHMGky/Ix50ZxwKNqFgfUZCLhjcPg/Mzog== X-Received: by 2002:a05:6000:4313:b0:39c:2669:d786 with SMTP id ffacd0b85a97d-39cb359830amr12025582f8f.19.1744096669312; Tue, 08 Apr 2025 00:17:49 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d5d1sm14257694f8f.77.2025.04.08.00.17.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:17:48 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:17:38 +0200 Subject: [PATCH 01/10] pinctrl: at91-pio4: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-pinctrl-part1-v1-1-c9d521d7c8c7@linaro.org> References: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> To: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Bartosz Golaszewski , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Xianwei Zhao , Patrick Rudolph Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2256; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=6oXQdDn+JiYI7kPrR9MR4Ulr8BlxDaIdgOQst72f6aI=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M2ZS1CVSr+OpPpLt+g73dsnxK7Cn+5jOBkEm S4RhLYFpI2JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TNmQAKCRARpy6gFHHX ckshEADgmKAecLNRDwbY5cLUNohPOOEtx7wPD6IeqZgsOFSImxcR1AYiTklwNvcEyx4WnHhAmzb oG3lzRmS0xFVCzQi9mX4uHbuIJXP1MxN2ddsgnB6lg1CEj1b4qv6DNNxxtBQ0ipnDwRNuawQcwH aeYqABy61n2vfrZJBJVOSi9TQAkdSEJwgvanfueiX/vJnvVKET+cxjJqHSgRCxlPdre/sm0kKMI CCPKVMovBcpT7OOGP0j4+p0kCB6NCqevlaTewuoV/h4tWjYpF6SH9gESREPjsk7R213eO+DWr4n UFTfB1ByxQw7vd5agHmcng2yl1ZV7SUNOsT5kf6nSoI4cvkeO4ons+t63tePlkRUDoQumIQzhga N/mIkjV7W2xjVvZrcZEGS63D38/fzY4sA7sVuWaWgZwWrCrfhPajPxotxjxOsvTWXSWJkfh6ixI f2yLdNBgi9wSYNat2UoYPTLeRh3lzFjphWxPajFb+ZQczTx/bXcjtpDXNQewa78BXhZ30rEIrF/ M3gIErsXpEjyv3RmSJV7CGPdxfLwaxjHq9SZNfNqeeYValUtoqirxITK0jSaQrmdUBMmUx/IqJs XwWZMdG3msE++lZ6NvgjhT2WFVsie3VhFAI2l/WdsxXhiwXItFE0r0m2V8VtqyUKn2/YCh5ew2+ nnZya7p1LkYH6fg== 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: Claudiu Beznea --- drivers/pinctrl/pinctrl-at91-pio4.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c index 8b01d312305a..5db839fa9b3f 100644 --- a/drivers/pinctrl/pinctrl-at91-pio4.c +++ b/drivers/pinctrl/pinctrl-at91-pio4.c @@ -390,7 +390,7 @@ static int atmel_gpio_direction_output(struct gpio_chip *chip, return 0; } -static void atmel_gpio_set(struct gpio_chip *chip, unsigned int offset, int val) +static int atmel_gpio_set(struct gpio_chip *chip, unsigned int offset, int val) { struct atmel_pioctrl *atmel_pioctrl = gpiochip_get_data(chip); struct atmel_pin *pin = atmel_pioctrl->pins[offset]; @@ -398,10 +398,12 @@ static void atmel_gpio_set(struct gpio_chip *chip, unsigned int offset, int val) atmel_gpio_write(atmel_pioctrl, pin->bank, val ? ATMEL_PIO_SODR : ATMEL_PIO_CODR, BIT(pin->line)); + + return 0; } -static void atmel_gpio_set_multiple(struct gpio_chip *chip, unsigned long *mask, - unsigned long *bits) +static int atmel_gpio_set_multiple(struct gpio_chip *chip, unsigned long *mask, + unsigned long *bits) { struct atmel_pioctrl *atmel_pioctrl = gpiochip_get_data(chip); unsigned int bank; @@ -431,6 +433,8 @@ static void atmel_gpio_set_multiple(struct gpio_chip *chip, unsigned long *mask, bits[word] >>= ATMEL_PIO_NPINS_PER_BANK; #endif } + + return 0; } static struct gpio_chip atmel_gpio_chip = { @@ -438,8 +442,8 @@ static struct gpio_chip atmel_gpio_chip = { .get = atmel_gpio_get, .get_multiple = atmel_gpio_get_multiple, .direction_output = atmel_gpio_direction_output, - .set = atmel_gpio_set, - .set_multiple = atmel_gpio_set_multiple, + .set_rv = atmel_gpio_set, + .set_multiple_rv = atmel_gpio_set_multiple, .to_irq = atmel_gpio_to_irq, .base = 0, }; From patchwork Tue Apr 8 07:17:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879911 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DC298261591 for ; Tue, 8 Apr 2025 07:17:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096675; cv=none; b=OWfQ7RIrIL+sr3H4taDDzHWgeXpGiR1/ojRXHRcDI5Wduw5NXkdiUjp6E4Ksw04WVQFUdAFbD5KuhbNc8oe8p6+u6IjO9Ok1wRanKdx2SGxtnX4kuITaxsQzElcKK5Mm8iHYvpSs9FCJoBXHylkrBG8XrpWNB6IMMVB9IaGyFlU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096675; c=relaxed/simple; bh=rMoLNEgc8ra7f81mpaEJiXyRA6uVb804TO4wJizq22k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HVrYXJtE7VCojzVucn7Fjf1CqRSulmWEHiGxNPAOJC2q23VUKbGBBTWOry+9qNv3qI3S82ITcm3yfKtWRn/89DAGGTLAejfo2jKowlhU9A9a55XGCgGNiSZbfTwAjPZ25+fx3VYzr4CT6EjPGdzFnuxcs00azIknXhVl0FQluXo= 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=EFSvf1WQ; arc=none smtp.client-ip=209.85.221.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="EFSvf1WQ" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-3914bc3e01aso3067822f8f.2 for ; Tue, 08 Apr 2025 00:17:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096672; x=1744701472; 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=KHbdZ8I5zBJbhRifEOkTpCnTw3e9jVPzpvQJpqCzg30=; b=EFSvf1WQKpEWCnApfQNGOOGMqEPzX8xFBMhVaRCe5FcN7KbsgavU1TM5dOBX1Xqrys g/PoAYz4JYnwhdiicpg2SWpK+rTaPNhZB4P82Ykiz/MkHreacbO3pttwLm85pOdOZv0t CJ75QlsVMV6iiSDK8esSOVZWssltvx1DA6QxIIRO+GEH+GoU+AdLZZQpYEyP0dL6wuVl LVRtHQ3VpdFSRnxtV0jVylfSf+2ExtS9Cy+o0k+L+vzImzF1RBKckaAuUN3hrAol6CfL BpbneKOSVU3a4i8EgAR6DCZoB1UiQfk/1k+FMzJbzxHw+FVEaaUHVBmOBWEaq8A0Ss3Z TJhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096672; x=1744701472; 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=KHbdZ8I5zBJbhRifEOkTpCnTw3e9jVPzpvQJpqCzg30=; b=ro1O0uQuo9tMRz/AXiXYBSuFL3ckdVqOQxUN2DNTk2oC1UTZVKhvwDcnS4b0payXhf sFgVTtLYMlOxfBN/zs5xjWlu7oo7un+izdheLiPzB8P8e+4ywzNiz1o+ivGgVkUibWg3 63w/MImUJvNKC/KXv8cDHnXkPSQpI9qjKmTluBL3RXnn64oL8kfUEXcHtriIE4q7t/oJ FgFT/HOvDIa7Ey9E4ef/JO4ZT4aOvjZxkpP4g5HpsD5O0tb+j4nw2KzZ76j5nKrw+Dos LK5/wmX83iQjs1Ayce9I0PI54sU58JizNwj2yVLAVbfZd4IxYW6SXJblVkc03t6N4dgO Bcuw== X-Forwarded-Encrypted: i=1; AJvYcCWYcr//TNwj0KwH94uEC5gplRd1T+St6EdWSQxAtkHpjxh0UXpGvdo/4nAm938pqRhQmqpLjTQABXFN@vger.kernel.org X-Gm-Message-State: AOJu0YwMRNEJzmDaq76r1OQD8HYGui1QIAMyEavqXUtfu7EjALi+zr6T TAYRxQsG7h//MWheFSVZy3kSJEPlTb2ce1nWogCC33IH5ek11E7mdcUVteW/1go= X-Gm-Gg: ASbGncs50wyk9mN4pEx/EULbvvIP/Q83FMEYHMYU/XtR5odaNTXWVBGsZHOUtF6Juch 7sjyVUGDPZBKHbcflzJp3M6zFhSKsBxF3EZaJ+bqQNqkdg5+nSnirGImkyjfhYHeA/xS4khgmkB TGGg3jUQAQZQD+CUD4oAOnxR2wrQ06JjH9hz3ZWDL5uiq+xeq/FcMlpjjzoO3NsMJNgeJ4EoBgm 9tv10xhsRsVrEEJgQjq1aVaqhjwFqLDN5HX6oEusRFhkOilOq9ndBfXFSDX7wNbX14volegGnsh jL+cHisnLd/S7i2Xk9g7Bra9Vdvt1diSTYEvog== X-Google-Smtp-Source: AGHT+IG66JLNMA6/+F4yvPGqakGWzMF6ZtCNetVsbjFv2aPqMbejsIAN56v674i7htexv9OZa2w1UA== X-Received: by 2002:a5d:5f96:0:b0:390:f2f1:2a17 with SMTP id ffacd0b85a97d-39d1466229bmr14181138f8f.53.1744096672155; Tue, 08 Apr 2025 00:17:52 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d5d1sm14257694f8f.77.2025.04.08.00.17.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:17:51 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:17:39 +0200 Subject: [PATCH 02/10] pinctrl: rk805: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-pinctrl-part1-v1-2-c9d521d7c8c7@linaro.org> References: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> To: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Bartosz Golaszewski , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Xianwei Zhao , Patrick Rudolph Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2092; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=sUTrzWuOo7PVik1QzFjSyEGMbbgvgdGB1epc3LKWdY4=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M2ZtGmml6ycwEzk3KhRs/YW0AQqsaUfB686c +V6uDVoAR+JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TNmQAKCRARpy6gFHHX cttsEACbtqoZ/RYzP/rSItzAm6RyIKDSI67qmiaM3eZO+Qwuz4UvIvJ/GL6pV94KgneXWwmwPKo P7ywI2W0szbMsr9K+DM7p2BGeLSS8pyImHtM3ITgmaayPUvVb3Y7MrTj+v9MYNRnjYl5sGRlIjK 1EmAEesdJqsGiDikg07oXYnqGVad+4NJ2zxDtQ5n7tB3ShEJusRuIFA35sixjIGRTR4Nr+0DmSH ARiPMtTFkfjtgsXBEDCv0PRzyup4961wgfvFgQ7GRwqsXxRacjsZAEmoYduAjZjqdJ1dny8C8i/ Evwq8RUqfgTcjvwjmVDu3klH9BEGNcZX9frolFeag0oRT7/RZHWm0ZxaKaU4rlH/E0Io6pd73nU sw0vsjb8AZuD4il5knSflEdQN3RuRoPp/QdnpHdPim0zwLKdIVMyzNu6p2O0tRQGmQi3tJnf6+/ +iwIO4FrFQOgX9vh4VdG91Tuu+BBuoCRJMWkbcnWF5dZaX6tREBxwtDhCsxPH58+4G5NQgX0XN+ IJgHJLn/R/KYnp/l1eWewkxcLXRRPGbcaEUJ5lTHuvd6fGpdv0Af4X3rK0WZJ6UwBJw5u6pQLY5 8YdLZCYvmvA8jSXhIocYAmemyaGKAMW/JnBi6mtMkH5dOwmpnp+SvX5iwwf+9a5m+kDEg4dWidg WpA2txNtQ9d547g== 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/pinctrl/pinctrl-rk805.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/pinctrl/pinctrl-rk805.c b/drivers/pinctrl/pinctrl-rk805.c index c42f1bf93404..fc0e330b1d11 100644 --- a/drivers/pinctrl/pinctrl-rk805.c +++ b/drivers/pinctrl/pinctrl-rk805.c @@ -325,26 +325,26 @@ static int rk805_gpio_get(struct gpio_chip *chip, unsigned int offset) return !!(val & pci->pin_cfg[offset].val_msk); } -static void rk805_gpio_set(struct gpio_chip *chip, - unsigned int offset, - int value) +static int rk805_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct rk805_pctrl_info *pci = gpiochip_get_data(chip); - int ret; - ret = regmap_update_bits(pci->rk808->regmap, - pci->pin_cfg[offset].reg, - pci->pin_cfg[offset].val_msk, - value ? pci->pin_cfg[offset].val_msk : 0); - if (ret) - dev_err(pci->dev, "set gpio%d value %d failed\n", - offset, value); + return regmap_update_bits(pci->rk808->regmap, + pci->pin_cfg[offset].reg, + pci->pin_cfg[offset].val_msk, + value ? pci->pin_cfg[offset].val_msk : 0); } static int rk805_gpio_direction_output(struct gpio_chip *chip, unsigned int offset, int value) { - rk805_gpio_set(chip, offset, value); + int ret; + + ret = rk805_gpio_set(chip, offset, value); + if (ret) + return ret; + return pinctrl_gpio_direction_output(chip, offset); } @@ -378,7 +378,7 @@ static const struct gpio_chip rk805_gpio_chip = { .free = gpiochip_generic_free, .get_direction = rk805_gpio_get_direction, .get = rk805_gpio_get, - .set = rk805_gpio_set, + .set_rv = rk805_gpio_set, .direction_input = pinctrl_gpio_direction_input, .direction_output = rk805_gpio_direction_output, .can_sleep = true, From patchwork Tue Apr 8 07:17:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879137 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8DDF325F981 for ; Tue, 8 Apr 2025 07:17:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096677; cv=none; b=d6tHDQ6JLn6g+dbtFSFE0WaRbnfZJC+M/UPF0IyljJfyp7Spf7wVeylfJdLCb5dCAKIMBozBkUuAysErLpczam3kSQ3xpSZRwqWaDI2pgx9qUz7L3syvSV/rrQUixBm8d/Rwmi2+FCE4twJVWeoMt1a4Rl1m9ObDNnQ1GLNKqhg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096677; c=relaxed/simple; bh=mm+CYE4HlFqyXrmHXF0COUC9+WgpXE6WtAJk1HFSlKk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lLYwtcX8SlkvVJ8sUdSJAf7T+61nG56lCFhNuUQwZ3NECnPV+2iHBg5EMbEiLKdD+WAhzanAI1d1I8uFbEUp+33O+2FPSOoH9LfElqIskq+XUwol/EGzUxwVGpMMoEEKQWgBYkORaXjQe6DPyRjqfzb7o9aTU41mouycuMHvy9M= 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=ZULZqffn; arc=none smtp.client-ip=209.85.128.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="ZULZqffn" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-43cf680d351so36280115e9.0 for ; Tue, 08 Apr 2025 00:17:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096674; x=1744701474; 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=kgKpi2eMQzrwoQvXzcbqAzy5xxQOgpVGvK0+n6zqybM=; b=ZULZqffngMELte3ct9tsSzgXaFDt3iCneO9p0Cys3zktRJcTIi9pCuWcJAJyE2Yc4x XTIUfkGue3oSXimwM3L0JUP4h7bvXsGLsNcVbX/356VXDtoZ+TuN+CcJXn7T4xHW/nYl aIWZSUIEN8A2+lIKrSGAgTKngWExfavu20MR4QipvwKZRsAURaZ/Vhs8odG00CrgGbVu Xt5vqXpPyJk0S81NSa3qnYkgSCye3ti2ynlfjcXVtCztgBtZP8crVMeZrjomD6VJTWEO GeD4JmbOOC83qZ9+iWzuRWIAhXcp8KOZZ+79Ohgpfy0UUmi8cHngEK3HiXGFCY1osUjU Ka9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096674; x=1744701474; 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=kgKpi2eMQzrwoQvXzcbqAzy5xxQOgpVGvK0+n6zqybM=; b=BkTQXIHq+j2CQ2sImhFmJ0bDIycKw+ixkXPShVJhWBNFYh+aFzv3L0BoYP2AjKoxrX 5MhBxNrrUOFmnFkW83qswpAS9Kt1rbFDL7FDPyyMQrnO2Y5sfibrrQl1osCSpnsAuuLC B5PNL1wFQPr+I7bwfVAkpy/+qni40FTPVcMYlpj8rUg+91AjR/Qs/7piufgYrXWzoa/H uYB77eMQZ/aXsbCcrbC1LnxL3zQbJYdELFjiWEpkRbO4eNde+z+qzo5KMZJogR9yyVVS LK8te3aVPG9ZKw40iT7yvFJRzX8+Zg/1Ua0kJ1L0yGOV3yoLW9TtPIruI/O9SBqVMLBZ Icmw== X-Forwarded-Encrypted: i=1; AJvYcCX8aTs4MJP+uw8nEWwSHpO2zlnKwdT81k3InPB7BCVokZonJhk6Ef5PmfP+CZjBRf0KEeV1ZR4kII6Y@vger.kernel.org X-Gm-Message-State: AOJu0YzJoZO9OXUwjaue9zO2NS3md5gGwsfqUgH4Vd6LGKYQDX8zl0IY jbKk7ycnul8KP+InpWatEsju6h3juD2fsksUzUYiLb3v4FbhbCzcGPgGSEMgBiA= X-Gm-Gg: ASbGncv4h6G34qKH/aDZJJra2Ss6e0Zurh9MPD/inRY0isRP138v+sDRorcfZi1LAcz Ee9eUg9/ZXaC6vygh/0vGSwPdQ73xTaWBtrX4+gAzqiX1yL1Kqcog/+a+gBIeqT+MlVcYuZ4MOt Nyvov/KqBJPKvK0yOO7OYxCV1IoFQCcLQBAQqLsWp2OM11vN4Cn2wvrwIbtchXwvOya0BJG/0Ey z9wXPKqfTNVNIPiKJcdqBIrw1V6xnA4hZ2/LV+66KXKrwcMcu+oXZKk0f9LgMNM2kZUGsx1XoLN uK2X0mDFtwFC9vRsazi/QNxERmKRRz6aba7VEA== X-Google-Smtp-Source: AGHT+IFIDoEgtgjZmRm76oLe4qBixaJVFcxIWBxSgP9eQc/+muRPjB5OZ4DhcXqFSFfMWbn8IPCLNw== X-Received: by 2002:a05:6000:2484:b0:38d:ae1e:2f3c with SMTP id ffacd0b85a97d-39d820eb1f9mr1593525f8f.25.1744096673169; Tue, 08 Apr 2025 00:17:53 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d5d1sm14257694f8f.77.2025.04.08.00.17.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:17:52 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:17:40 +0200 Subject: [PATCH 03/10] pinctrl: abx500: enable building modules with COMPILE_TEST=y Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-pinctrl-part1-v1-3-c9d521d7c8c7@linaro.org> References: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> To: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Bartosz Golaszewski , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Xianwei Zhao , Patrick Rudolph Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1197; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=7gT59a+ieEBoRyUfHtp8d/jvYbZrPQXR8M3Rkb54480=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M2Z62HjgrUOk13umM6zCKtt5wsF8hMyPqGii +FbeYzWZu2JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TNmQAKCRARpy6gFHHX cr+9D/4pVK6myjhrhbvOnoR4PHJ367IIWOAh/Zh8cc762qftCq98AjRSHWjpi3KMWk+T1SoewR6 yd9FAaYyN5ggStwHN8ifchYiv+JA8sO+i6UuSIOQUVQzey/SsbW1SeTgmZ3o/GsdKPG/HjoxejZ M1kbfrXMCRWGU5zTxGwLAZl126dUhXDTKScOqGDG6ZLFctZH0MSBmu4Nu7uWpRWQK3R+Xr6OGfa +BSLVhz77RThlP5bmwNejIlKFQNdlTKOpKLwZ4d0FEN5QJPa8Epbb+Vvkputkda+ERCCbCEvjf9 8ZSHC0SCNCcLyorbyOA6rgYWiPo+GZMHSqoF/Pl1OFZzp2mCtAXPyQrKJ2wv0I5KYUJSLuNstbX pAA8HtMWVKN2o8VTfFf0kYbEFAo7BM5D+3B86ctemR78XtjX9vA/33qPRw6qbRuWNjF2jLMxwGg 7sr3CLWFwcyqt8oNdhyjEWmfnIO2z+BYPCo7Btr52pKon7rbGIyJAAG4gxmUqgjRO/PJ06aCPjV erKdtcafZvxLT9Mf2jX/+expNbOTo5PKgOvekHmSlI2xdATbBZgMQPxFNUNJVlXLL3UGV8fR/Zh +ApMwVs12NjHuf/sT9aZDxPH2zbKJvARpXLKynmGD52HIn+u06LPHHbZH2+obwAez7+Tde1ydSJ G1AuErL37JcATMA== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Increase the build coverage by enabling the abx500 modules with COMPILE_TEST=y. Signed-off-by: Bartosz Golaszewski --- drivers/pinctrl/nomadik/Kconfig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/pinctrl/nomadik/Kconfig b/drivers/pinctrl/nomadik/Kconfig index aafecf348670..2c1f8a4f5d24 100644 --- a/drivers/pinctrl/nomadik/Kconfig +++ b/drivers/pinctrl/nomadik/Kconfig @@ -1,20 +1,20 @@ # SPDX-License-Identifier: GPL-2.0-only -if ARCH_U8500 +if (ARCH_U8500 || COMPILE_TEST) config PINCTRL_ABX500 bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions" - depends on AB8500_CORE + depends on AB8500_CORE || COMPILE_TEST select GENERIC_PINCONF help Select this to enable the ABx500 family IC GPIO driver config PINCTRL_AB8500 bool "AB8500 pin controller driver" - depends on PINCTRL_ABX500 && ARCH_U8500 + depends on PINCTRL_ABX500 && (ARCH_U8500 || COMPILE_TEST) config PINCTRL_AB8505 bool "AB8505 pin controller driver" - depends on PINCTRL_ABX500 && ARCH_U8500 + depends on PINCTRL_ABX500 && (ARCH_U8500 || COMPILE_TEST) endif From patchwork Tue Apr 8 07:17:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879910 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 BF80E2620C9 for ; Tue, 8 Apr 2025 07:17:55 +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=1744096677; cv=none; b=o8wHMWD3GZwWYuWhb4ShgAD0tRRXligDootbk2B6tx+r3fy1y8ZARMnJ6tfQi9lB7rS4zUZ6g2eWaV0ePk8NtvyLtC5zcAk9eyZoGB+xkx1fBjT0+P63gdTn7wH2VBj1TyuU8cv463dclSwZdLWT67m7qrjpjVrqbSJOP0gzdss= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096677; c=relaxed/simple; bh=LUO169XweHthkl0x5gh4EBHKDTlbmHW+O/3cx40pVA8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=c6DaSeF76TUcMLcdZI79oB8MNLA4FV1gq3oX15H2DxKRnaCjotf+GcS96dIGvso5Odahwhc8aF0/YY7DgpFd1skpA1C2bkev2KUkFfQcVth7CkZKv0vHlBP2RLvw45dm49kKu8Pq4iVNPE8MXvyQ9dUjSknkNugAcpAPNCWYbxs= 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=FaONou+0; 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="FaONou+0" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-43cf680d351so36280145e9.0 for ; Tue, 08 Apr 2025 00:17:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096674; x=1744701474; 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=oinSzm+bMahZJYAUWu862y4MPTAeTqz9q0Fj/pnJpP0=; b=FaONou+0YTurmuYaYSXwBHKij0TZN3e8kqnDwuXMsizfcukkSI38P9lncuk8f12AnC OqlKutqRLQZ4MZxL+U26IIaJ/xlTr9WIfNm3RfId/qyXj0WVDdtJ4Uz9xYuYYfTG3ipA dVWb4fx1q3ESavS23D/nQf/bZnYCeOAPBOzE5gH0vK3DsOujCnHwL7AXUoTotbAIrXha elaZjMnx6eWnnAIld60LwBTt0CJ64YLM6JnWBAwVBZN1MAYDlsEN0FE2wGlOr7jxC4Im bA1Sw2Ji1Fg7zY9iAbAajzQGocUQGJKqTmXhuJbk5tBtvLgukD08E0Y8McvYEVZhfSCs 2a2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096674; x=1744701474; 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=oinSzm+bMahZJYAUWu862y4MPTAeTqz9q0Fj/pnJpP0=; b=Fq4OtMIMYRuNYnue62015wMjjDcosqReIwovkKjN+q+F48xfHsDABN1zH2itqOX36N JGsFT0OBjzTD7vpXvUrH7Hpb3/bk1Xtnv6xJfX4anL+daqKQ8uDCZb/4TFOx0tr78Agg rYlJ2Die7GOvEeZdYDN8d0pruJFg1XaXNeh15iJU4PHu5quCWgSi85iLpSkQesHuhgnn 1efy2fhNPM8y3sccW+LvBFwzXMCuTB01FI94IzuRQ7JYfulubG7YuN/3N8GGnZ5gQ0cI dC33tnl4k72B7K0bO4R2eKWQIoP09t0+uTEZU4e3ycSvNkk6RQWEnoUIoS6geaMJwnlC KCaA== X-Forwarded-Encrypted: i=1; AJvYcCUhptRCuVIU1XqNAhXRXhlSQtpjuAaw56JtrPRIFNBEKSa6JiDNkrGZVEQLeH3/Z1K7B+BW7n/grSFc@vger.kernel.org X-Gm-Message-State: AOJu0YyP3yp+UZ83xmiyo+BBgtYlmgGRFNdwhhU5NLHw1UuzhKFe4+jy fqXgtdvIhtb0x0JD+EvftuFLb4U4WCG1kKwxIv4kysEeX/DxohXiZNf3mgLfYuc= X-Gm-Gg: ASbGncuJx+2gZaPE/eL0xLFpjP2q7eVQbJzWm1sYcvZshwfsrJ8j/HWdPKt4OMctEfT Ukkogz35wPoDwfaza37/21ubKsDTvt/tjBps+ryNSGe2FL0tG5yGRg4xjPzBLpiFGGsYLCG8pSu fv0htxDFJuun5awlObRU05N02dxXLqqL/zpaTckS3QimdqYzDEN0QwZEsClUx7au9Z2IA9uECFQ djMBpNK/4mBSecCPpnyPfbtQ51J10Jrcu6HeX8Rf5XfL98ZwpjxUJlRHSyjLlbQlHkuXhNe3KQe 4yudxtsQ1jj0paKCCfSzPgYmFb9Pp/iLqMzoQA== X-Google-Smtp-Source: AGHT+IHrjnllwruX19f7P/GJ6q4XihZ8rfCQK9jOXGEEswSMIiSKCV482ACd4hwI02zSsicA1Cwvhg== X-Received: by 2002:a05:6000:2289:b0:39c:30f7:a599 with SMTP id ffacd0b85a97d-39d820f7f4emr1793514f8f.18.1744096674126; Tue, 08 Apr 2025 00:17:54 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d5d1sm14257694f8f.77.2025.04.08.00.17.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:17:53 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:17:41 +0200 Subject: [PATCH 04/10] pinctrl: abx500: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-pinctrl-part1-v1-4-c9d521d7c8c7@linaro.org> References: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> To: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Bartosz Golaszewski , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Xianwei Zhao , Patrick Rudolph Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1591; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=nW8gbeASZZPGvCfMjx4XcSCJQKXVyNGKry+o6wrAY6k=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M2ZVzNUI3VgRQMzfUNu5ztBdbgFOzKCX2cTD gqJRJh5fnqJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TNmQAKCRARpy6gFHHX ckcMD/9lHTxFJCt7mJF9tP1pyTVlOFcI4iTV1L1QK53z5FW2Z3SMIbsg/WP0Ox+KZTEQhQIH3rM wwqGzcFbxbursx8+r7+ZvVqkU4QZIBUyACF7u1pek1/n8JBWnexyzkfimQ/4dv84Mg8fblHxX6/ e9AxG0M296lr/4pAiXZ1OD25/6m9fmgaetnGniuV57A4pLBJe9hlfZ2YzB5mYUgkf1H//Jbwa+A 6XaU8J7I4WJxHP8tl6QsF4nWHGmtgm2fhT82RFptXXjqk4O4soM7AG+Ss+tjQK6UQz9anNLU6Lm rmqduN1o+po7YG+d9QycugTfQLY+ldfFNdSba874x5yFE0yN5u6hWFUlf7kqCSA9/ShGC3h1b1d P3SrzAAp/KzpaZ0qz4k3uHr8AWzjtoebNiQLf0np9Rhj6QlsXMPTjpRvO8qu6TwbjgMUVwXs+ML LAU2zu2R1fixy6aGTWSrsqOHHB7OOlUsUa2Gx4LvWVk5suCmM1xbfDPoByv89XnsFLphWZVxUvK aJGTZoxqeRJVCy+Hfx8X9v29LWuxTlLQC6oNMkvVpk9Pycf8fKsnjpKqnwNQ8Of16WN8gMmVTAb w4ONrOgUNVqfGiBiUJqcKD1U3JafBOwIdNX7SuEwqraaSC6bMhiSiynASp0nnYhkZEAuJMLEqV9 8aWIUWj5E3JEMig== 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/pinctrl/nomadik/pinctrl-abx500.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/pinctrl/nomadik/pinctrl-abx500.c b/drivers/pinctrl/nomadik/pinctrl-abx500.c index 8cd4ba5cf0bd..2f55f83127cf 100644 --- a/drivers/pinctrl/nomadik/pinctrl-abx500.c +++ b/drivers/pinctrl/nomadik/pinctrl-abx500.c @@ -167,14 +167,10 @@ static int abx500_gpio_get(struct gpio_chip *chip, unsigned offset) return bit; } -static void abx500_gpio_set(struct gpio_chip *chip, unsigned offset, int val) +static int abx500_gpio_set(struct gpio_chip *chip, unsigned int offset, + int val) { - struct abx500_pinctrl *pct = gpiochip_get_data(chip); - int ret; - - ret = abx500_gpio_set_bits(chip, AB8500_GPIO_OUT1_REG, offset, val); - if (ret < 0) - dev_err(pct->dev, "%s write failed (%d)\n", __func__, ret); + return abx500_gpio_set_bits(chip, AB8500_GPIO_OUT1_REG, offset, val); } static int abx500_gpio_direction_output(struct gpio_chip *chip, @@ -540,7 +536,7 @@ static const struct gpio_chip abx500gpio_chip = { .direction_input = abx500_gpio_direction_input, .get = abx500_gpio_get, .direction_output = abx500_gpio_direction_output, - .set = abx500_gpio_set, + .set_rv = abx500_gpio_set, .to_irq = abx500_gpio_to_irq, .dbg_show = abx500_gpio_dbg_show, }; From patchwork Tue Apr 8 07:17:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879136 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.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 D90572620D1 for ; Tue, 8 Apr 2025 07:17:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096678; cv=none; b=W7qg49/47A4DKr3fW/El7G/usROz6MJD/mJHCV3dfTUUWvkOa3uMZKZlJC6OiAuCVwuMkv1H1vxPQnWmB67TVmsJx+0UGyB2QrttOwzuHsUTrhoDItBR/CLYpALfd0MAe9/Np+O/2cWPsjo8C3SsIg/4c9ijnn6caeWGzY5GAT0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096678; c=relaxed/simple; bh=MyfYoAl7StVsO4BW3rx1l2AiXfWRq1lVePaWfhahBeg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CWKA2HDzni5WtsIOMpoqeql5AMpS6aNGlNhfJGX4yNvZ7QDjNbkUi5lsQ01iDyj3/LNu8+Bi3V3RdqW4D/ivU2bkhRg+sf+djbdbBH/eoEecWoU7f8v0spuCe5PNsdGnPifkyCVn5UGk2iIWlaSHiTY7PxsENHYEAy/a62ItyOM= 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=JOB7cEOy; arc=none smtp.client-ip=209.85.221.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="JOB7cEOy" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-39129fc51f8so4195759f8f.0 for ; Tue, 08 Apr 2025 00:17:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096675; x=1744701475; 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=WVFJWADW/y0RMccjVQrvsZvTL6Kql3Z12L3/megvx2A=; b=JOB7cEOyJmtN5yX5YsH9OtLzPST66qUwqQ/+1oeJ8tddyJnSX8KUj45gR6UuERNBj1 H9SBFzz7TfqC00EdMfEbTmmzNwCgJwIKM4tJp+JyZAuFemvaAqbjG5TfbEZLqKCCKzVx S+3m4pgl9Q9uuEHndfdXUZAjHTeDdcfKDy7xoOakjqdnS27hdJavgmH6NS9IHq5j8ZWP HJHtK5M+TbPMmFzEo1gDOKeBYzZhmqaPgI/O2O/BAAspf4uXVPn+e16P9xP9W3M788l6 z8/h0z0OMBBXHdZUuRk3JaFFaLKvGEpdaOCymHJdYKINEHh3hb7ZLFXPcvFo+2kTNsQr UakA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096675; x=1744701475; 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=WVFJWADW/y0RMccjVQrvsZvTL6Kql3Z12L3/megvx2A=; b=dI2lsJR5pCv9Q2RoUBpL+2bQdJA6DKeYvzhc1GltKpYZXUwyheDhZe03LY1l9rR8uD EOQiIZBdoJllYZgZNgoYy+L4anLL4rQ0Y1MAV2JzvcV0ogqVCrB73fzCRmyy+EDdDNqN SeDYMh/uiTunT2kACrtOpP+5jmJ1gNG5eNR215Dzruat4bXQWh1wi4E4LT98OSqw5SlA mYNy+8BpighrxM6GEMN2MM/amGoBsoehC/QyED4yTzY+LNfffbg5jEJ1RiADse+yp7/3 nJ7PlgOw/U1TZA3avS4qeU+4GnGhsCzZ5YML3sTOXY37/cSsvchE3rxgYvLxqHTXst3d mZsQ== X-Forwarded-Encrypted: i=1; AJvYcCV8vLmkTcVS9tBw+TxK7xsFyqQeQ27DvDXso0LylX5b1WuXtONZaDfx+anz8rrV2uB0FNsVhe8qlwj3@vger.kernel.org X-Gm-Message-State: AOJu0YxaW+FCcEPiCOXTe0DZ1QBfq9pP8/yzPWRTZYCTE89hLnr6Nqod dOy6d85d0Pvv2fudTIGvtFa2RKIg/aOIvxbxvwxeuukmhNqw7nrUDROhasH8COI= X-Gm-Gg: ASbGncumNg/4A+bChhirZmA3uGQUk8t5XhaqPJ2ztntY85/K76QkWDbuv84EX6iBsHx e4ULhrZ82xXYvMQ7yVB2lP9RjlLVzYMBza9wkPomQUhETs/n+NJoROBUXms5N4kOtkwCvVtLtwJ 2Xg8gjKYVKcSNSMWI3HF15TgNRPcLx/fB4BWB72oWfEK94/S3PDmHMkUrSf9u8T88EIsTe0Ozt3 QinOZ3oLUSrppwAMtrOB/NXknEZpC2wwLs+feJ/kQJT/wdkXIGCpfOKM4vsxmbcIjm2LAu9ISW4 Upmbj1qM1LKLi+KsIR6hQgsmF4qEXqW5JdEvow== X-Google-Smtp-Source: AGHT+IGb12K5x3MyGax1/meWBHx/ceb2e/LqJgU9QQIZHIFbzKHDCky62yygJ2VTuSCj50YJyfE4bw== X-Received: by 2002:a05:6000:4313:b0:38f:2413:2622 with SMTP id ffacd0b85a97d-39d0de679d1mr13305391f8f.47.1744096675082; Tue, 08 Apr 2025 00:17:55 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d5d1sm14257694f8f.77.2025.04.08.00.17.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:17:54 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:17:42 +0200 Subject: [PATCH 05/10] pinctrl: meson: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-pinctrl-part1-v1-5-c9d521d7c8c7@linaro.org> References: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> To: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Bartosz Golaszewski , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Xianwei Zhao , Patrick Rudolph Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1477; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=S3igGGikbfII9kNPL0KKjqnS8YUnpBiOi6WZKLdujUk=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M2a21smivbrNX7hovJ5AmOVQjkGrJhwqOgTw 9GIegrUEM2JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TNmgAKCRARpy6gFHHX ci67EADKEh90ymTKMGsCY74l9LHK8QIQ4v/81+Rc6Eqfw4wVjL+lPNaGTcSBP2utqyO2KrQMMFw Ud7MCMHcZm7kzMCKgZhr4Q5hxKegKb2tXZsgsyhV8YdIebBSZmZS3xjHm1FTslGntrxTtZfUcgD 9Ncx7bkinKF9GE+JhCUYTwm5rX/ImXZPua18/+263zoA9IcowGvpu+sHiPYBinPQTG/NzQUeczO GStvT8lo/PvFW5C2evtDAAac3WkpMH72Zd++nH3ZSzFjmh6wa+JuZj4++IaVtdQvf34/rVmBvxm 6lfHwsxcLCcvsiKLGQvJ0pyMUTgjTXWuCVx1yI4OFqh/vGStiEpFn/FM4m6cgY2+8721nFS0XSg skTUnIqE+icmuFIxh33ZNyBinNKoXfA262Dd1FT4UU/UGWwK/zVzRXebNxxuWVofBCrpGfvckJj 5An31hmmubXfJwwqfo1WCobGVNTYhODCiiFTT1nEEdIOgEF1ogNVoLg7ND2vY3mbvxs/m59mrBt Ghvcu71zj2ubCbOCger+FJ91d0OXgTTDx3l6RxskE+/H9YiT3YVPYtaxsW15NZ/wrgk3dpqh3Pb pxgF2SOpd2n46VLipFyjCU5PmDaB9KG2fyxu5yKFQym8Uk1AbdlkcgldvEzqzVK06tjwV4yQehq CrMwCr4lgCvIlLQ== 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: Neil Armstrong Reviewed-by: Martin Blumenstingl --- drivers/pinctrl/meson/pinctrl-meson.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c index 253a0cc57e39..e7485c82089c 100644 --- a/drivers/pinctrl/meson/pinctrl-meson.c +++ b/drivers/pinctrl/meson/pinctrl-meson.c @@ -580,9 +580,9 @@ static int meson_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, gpio, value); } -static void meson_gpio_set(struct gpio_chip *chip, unsigned gpio, int value) +static int meson_gpio_set(struct gpio_chip *chip, unsigned int gpio, int value) { - meson_pinconf_set_drive(gpiochip_get_data(chip), gpio, value); + return meson_pinconf_set_drive(gpiochip_get_data(chip), gpio, value); } static int meson_gpio_get(struct gpio_chip *chip, unsigned gpio) @@ -616,7 +616,7 @@ static int meson_gpiolib_register(struct meson_pinctrl *pc) pc->chip.direction_input = meson_gpio_direction_input; pc->chip.direction_output = meson_gpio_direction_output; pc->chip.get = meson_gpio_get; - pc->chip.set = meson_gpio_set; + pc->chip.set_rv = meson_gpio_set; pc->chip.base = -1; pc->chip.ngpio = pc->data->num_pins; pc->chip.can_sleep = false; From patchwork Tue Apr 8 07:17:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879909 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 268552627E9 for ; Tue, 8 Apr 2025 07:18:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096682; cv=none; b=E+iR0twEvnNVaQaC5vnALRC7KvoZwUbQjANcnY4g844wlvf5uVfix08mbA0uo0XQmy4pE0PO4m2uckk1Vk7Fv/Bz1b3bqlqVWrV9O21ELJS9kPKvNlmxMYxX4TS2vy4RKQjsWXgjUXHCqB3zF5opdIizLgmCF/utFUJlkRiN8fw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096682; c=relaxed/simple; bh=hmSxWGIiK/DtDwGKJHp041KAlwlf/8OprB/NVG8dke8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XER3jP2t6r2XPdGDTOCqa7fEiduw+zT7ERfbst2dWgEmmZ4lZPOVaobf0otBTh0Sb8RfB5RkS2PIZ+X9CM56Dk4eAH4WXfWxMkLcjXm+SkF/YspaRvTQNnKUdJUqQWKqYMe44coarTS7Yng9kwooqi2r8p6wBzFiYv9EVW0RbOs= 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=ujfFkcB+; arc=none smtp.client-ip=209.85.221.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="ujfFkcB+" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-39c31e4c3e5so3176666f8f.0 for ; Tue, 08 Apr 2025 00:18:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096679; x=1744701479; 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=XOjNNeHzyY58LMv3k+FTJZV8HBjSzUrYs1slCEoFb4s=; b=ujfFkcB+q1mh1USArFphDpRCbF/XqbeOwSSpXAxgab3QpUxi4qUVBw1n4QNPhzoQpw WsBy/WjnM+5lNj3ZXN0tXmrWigtnnCafVZGnE5T4ed2S7QwdKntBJM1b2HHJTRj7ehBd qFwS4gmCNV81cGQkEvXPkNhoIHf1WCcFBzvcEGRPzjev1uIbOAzbTZF7mbbjI7/OmmKS /a2Mxb1b+iWgKWqqUL0kMMI3GAAgxbVr7siBluBtubgHY2C8HC2Js3JBpEHWSA4pjyqu U++VB9Ngn2zm5CN6a7GJm8H470tT8R+LRb9qD/hx4ZFj0sSh/lJlFWMuHiGWIU+jd4bw yrSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096679; x=1744701479; 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=XOjNNeHzyY58LMv3k+FTJZV8HBjSzUrYs1slCEoFb4s=; b=viZl1w0OM4guu+m9fm2Peqhi4fre5hHgOkiPaRw2kBOg/qZ0l+4AT9tQ2oqJER7Ks8 BcIo4VFWmvP4XX/o9fHFacTRLIPdv55qDBO0mMbLOrntP9reynHDi9iNdftyujejpTpx pIjq8L1vUQSM21ugmBY4qP44bu8t62HNfz+I1Nq/+PHQ7hpHUMRBWHIgxnI8btun6hiR Ij4Jmt7j6wCxHjRxM9NdC0Qe3+E3LLv27G2QUcAaFy9g5tm9HQRSUJj/2SBg0MorPkjq KkXHfkNFTeYCSnWOIvaihN8ACWRD+3iCLp+h+ytXKwhy1aAbVBW5Ybenm3JRlDfQW5qC I6CA== X-Forwarded-Encrypted: i=1; AJvYcCWx5rSqgAc+Kuh1XV/z2blVmiHrK0qHZIgTORfsHUFXGSJPkfiGO3l03H4q/zGNS9FDIluX+EMVWHLb@vger.kernel.org X-Gm-Message-State: AOJu0YzW+HOJhuTfCU4CmCduA4lKtbAdXarcq24NIy4aAgCVRf85l4BV S1YLCvCA9ktV9JWLeO4cPorWKKUJJBZurKso/aIOjmhWQIi6u9uw8JUlvV4kGZM= X-Gm-Gg: ASbGncsS5NOC7aMga44cL1u9b0E6T+Evb4f+1mcsFeGb/GDZKkYVtuMx+g60S3VT6hj /ypKYL+aT6OswGvmU4LACeLANN6jzMGNSYm2jcglJJ6hbsiWTgHLfn/I0/30pb2cGgRRtJVhwvB QJjOgN/2aLcySMYKyg2xipUpECbQrfgBh/ZehZ8XbHasjjpu4TV7xNcnvubONk6XTwfBEGGlrBx 28VSezsmcxW6ZIEWHYkBS49am/kRt5Web+ethTkC1NEzlW8i8gbXvw4j1+jc99QteFNDkamgwjo 5P3FGvkivlkrlRCgIlNZc4X9k4fJ1Q6Q9OYyCQ== X-Google-Smtp-Source: AGHT+IGDlv/Wz2Tv0JI+8Hx2njCPUM9rczyDR5EAPHa4oqor0nd3oFYHO3dEgeKjIpQ3eleoyeURtg== X-Received: by 2002:a5d:59ae:0:b0:39c:27cc:7ba3 with SMTP id ffacd0b85a97d-39cb35aa8ecmr14702868f8f.33.1744096676320; Tue, 08 Apr 2025 00:17:56 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d5d1sm14257694f8f.77.2025.04.08.00.17.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:17:55 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:17:43 +0200 Subject: [PATCH 06/10] pinctrl: amlogic-a4: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-pinctrl-part1-v1-6-c9d521d7c8c7@linaro.org> References: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> To: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Bartosz Golaszewski , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Xianwei Zhao , Patrick Rudolph Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1680; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=zFDAJ44H3rDElvqiaNPmVwvOeCsvopBV8K2+vzPv+N0=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M2aCcCPhwuF/Scl+dWhUvbWutpdgADlyzo6E dkwEIOpAkiJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TNmgAKCRARpy6gFHHX cnRjEACRE1eo2DpKjHGbPlQbMpv86tO6SMwS6frSIq+KfYxOaODnxG0vYoNPl1XeTMMPfKWxuKo MspJKWTkvUN0QuIxmjcZ8vBjIh2Ssf2biltkgH+3Ut1/ExIvxXr/M7gT0UOy2/r94+c7DkVzBEK MXr/4KXQXVZ4OSvLf588xywzpAYfsAPShtYaqDz9OdGk8uc9fPG5lzGH4ccc++V5cuv0ZlY9tD3 ZXnb+hLdVs0BvC1ESV29eq9xcIkTRj/KhdzH4WdJDJB4Fx4xRvCBxuTrv9+Hv2FE6VyVgnX8Knt wPQY7lA3cwjzj0sWtwauKnLeZ0x1DD6IMexNhfxrfvgGpEXh0w3i09yOn6vnAvTxetgrzUoiZsq 5210n+9CVXDRsBqfEUuqtBOx2/HJBwMibEOeyf/tK8wVBtbrEFq1ji769lP5H/PGJUFNT0bPXLd vnKVHrJiJUiyX0REr7gSm1AjTYXZb/jNq6PcBIY1JG8vYGaruh/7KsvN5PbWlmeIxn2DIKitoEB 5c3paQ4gObhMQ1lHal6NduGavNkTb99awzhp7MjrFLQ7vHEkk6LWPVdn1/obav1Qnh7bwi6/RYI rfIeivF5Tge1zaLyASFLrEOQUIffbwsDEofBTf4iFicbK3EDjEXXtUNKuD4DDgO+q2/1XPzUYDj IgJ4xDux3XMrr+w== 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/pinctrl/meson/pinctrl-amlogic-a4.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/pinctrl/meson/pinctrl-amlogic-a4.c b/drivers/pinctrl/meson/pinctrl-amlogic-a4.c index ee7bbc72f9b3..a76f266b4b94 100644 --- a/drivers/pinctrl/meson/pinctrl-amlogic-a4.c +++ b/drivers/pinctrl/meson/pinctrl-amlogic-a4.c @@ -806,15 +806,15 @@ static int aml_gpio_direction_output(struct gpio_chip *chip, unsigned int gpio, value ? BIT(bit) : 0); } -static void aml_gpio_set(struct gpio_chip *chip, unsigned int gpio, int value) +static int aml_gpio_set(struct gpio_chip *chip, unsigned int gpio, int value) { struct aml_gpio_bank *bank = gpiochip_get_data(chip); unsigned int bit, reg; aml_gpio_calc_reg_and_bit(bank, AML_REG_OUT, gpio, ®, &bit); - regmap_update_bits(bank->reg_gpio, reg, BIT(bit), - value ? BIT(bit) : 0); + return regmap_update_bits(bank->reg_gpio, reg, BIT(bit), + value ? BIT(bit) : 0); } static int aml_gpio_get(struct gpio_chip *chip, unsigned int gpio) @@ -832,7 +832,7 @@ static const struct gpio_chip aml_gpio_template = { .request = gpiochip_generic_request, .free = gpiochip_generic_free, .set_config = gpiochip_generic_config, - .set = aml_gpio_set, + .set_rv = aml_gpio_set, .get = aml_gpio_get, .direction_input = aml_gpio_direction_input, .direction_output = aml_gpio_direction_output, From patchwork Tue Apr 8 07:17:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879135 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 302122627E9 for ; Tue, 8 Apr 2025 07:18:04 +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=1744096686; cv=none; b=u01bgQNoF4YvpmAQgkqZIW0+OA3helSEisL4JueDKOdiGq49f83QcEW/umd+SCUvtZhqnIFEtFklmEVIqvpCz6uyNwmPJK+OfEDDfaiAdCaPPef2aPyMjppgqmR0FY7EGhjbNbrF/I+OdgZbrUdMwwHGH35As0aPemRZqkftfRg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096686; c=relaxed/simple; bh=1pHaIND2KYP7IQR016ZtHvkE+J/KYHTFCXPcGNsWjjg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Q09SAYBnPt5ObVBU91gn4kL7vvj7c1tBUZlfGrh0eySRs4ZpuvD17SMrf5DytCouJ/hbg5YyBaCMn7TXTiaWO/JyYbTRdhJk+BNPVdMDWecCBAFwJhFjA98Wa0n3zq0jiu8QNJaFSPj0CVRPC3MIDUZ9dNX/RQzwKwY/9UtNMMw= 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=oyTNfoQa; 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="oyTNfoQa" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-43cfba466b2so51229055e9.3 for ; Tue, 08 Apr 2025 00:18:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096683; x=1744701483; 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=o6prcSe997utkmrj2Wk6sqfMRushEUX5sURGCDCfQ/A=; b=oyTNfoQasWqkpKFFgStR5lp1UIsFGowc9BTa3OAGslNhVssOg4RyDXmgnYwWHUIY04 TSAeS3+mZl33harPH41KAiTWUn133iEW+TnaPM6Lee421IfBtuawtCNlDOvDnEdbd+a/ XiCvtcHbSegL7qp65z8awfFuMoIxHWhtsl9dP8gdy8P24gImwEyXpIxOAS+vp5ZfDHTf L4CIZNz8ozTGP83wdQ/1ynDu1rJ0F88H3CPDek8LVb2sKC+RyLlhKdQd7UelSQBEf2Gn +MHd+A0vIugLv1QYBxXH7L4RCItqgYVgo5C990ePOek6r3ppa4H5c8/E10P2YOsNnkJG scsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096683; x=1744701483; 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=o6prcSe997utkmrj2Wk6sqfMRushEUX5sURGCDCfQ/A=; b=okPglHuTd5r+E1xs5UgtKyPZFPbgySzpemRVdQ5PHTnFdDBtF/qiW/k/BjOwCCQMS1 4h4DVjcYsC3m7PuFNszEvy+SzBfB9vGh/mRoOwSRuiKMbOLRsEygW3GgsZYnKnwFWDOK q2yARA5RwgbDDBENMbICO4iEvWEx3bjnhP0zER6Zh0iVLCtFE6N4p78Lf2Uq41zDRswD OR6ZrPotlDzskTPqcNwErTi4oK+zB002uWpgUEhy8zibW5G3spDTSnEM0JDOzEUMqFxo xkt4Lmvb/pT+zIhJqHFAWzJJ3p+pcWm599Zx1fbQKc1WHlxM9GyZvSfTPVth/uj2oYxz 79Jg== X-Forwarded-Encrypted: i=1; AJvYcCU3K/8ae78dXICPjWhC9kMh03VcX7AyI+tfkKP16BG3Z13J1i0183mLUvTLE6McFi15bHXv9iru2v6b@vger.kernel.org X-Gm-Message-State: AOJu0Yy8GjX9SFH1gDXn4PtPmCIb4M0O/fKHj0vgZn89h/o10v3bX1c3 cMqV/8BTjQvXS6bUZln1uJMwuPFwdFtewzlQLzxbuHtBYTKYpN0w2/v74rube/4= X-Gm-Gg: ASbGnctdyHJvLvPws9HNgOK51vyfRta+nig5layTxpljoYfrtP013dsAMfCLyUUa1HO eJj5t9s8mB9ixdLoZm6J4h/NeGFqlaJZppOs0Djwxlb+5TM2J/xnHVl7xQqONXxHoIfeWY4hzQH 9CrgdQ7w9xMwkmGRSpzRBaxmdQ5IuW8d/M9KR4wmmkltUO1Na/UIOvoE4foA0bRZzMBv1VCJDTC M4dg7LQgHy+2o92P+tywOT+0DN4jKvXAtsF4fceC3H/TWk8mPi0RySmj0xUMVfX3wiKMWmiKJot awXgd87wcYjzE92tswc6QH3vi1XC+rhQAxx95A== X-Google-Smtp-Source: AGHT+IHzySH+p8lRsbpEKp8XdjRw3BmN8WdHjMLgCKHMXaLLom4rGv3xsF4growXW8khurtrZ60whA== X-Received: by 2002:a05:6000:1846:b0:390:eb6f:46bf with SMTP id ffacd0b85a97d-39cb36b298fmr15212511f8f.5.1744096677281; Tue, 08 Apr 2025 00:17:57 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d5d1sm14257694f8f.77.2025.04.08.00.17.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:17:57 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:17:44 +0200 Subject: [PATCH 07/10] pinctrl: sx150x: enable building modules with COMPILE_TEST=y Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-pinctrl-part1-v1-7-c9d521d7c8c7@linaro.org> References: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> To: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Bartosz Golaszewski , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Xianwei Zhao , Patrick Rudolph Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=667; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=YmzRn8TzGA6hsDQ4Ls1ViAlvgo7b9jMn9Wlo//Y9vfE=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M2a3aI8tyRJWFB0j50+lYKjuGbu/ifeaeFQ/ 4M0t4m17MyJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TNmgAKCRARpy6gFHHX cnJ4EACh4EPB2PiBQrpFxrQpn3I5/hHOewyCLs6D3bGW26OisrbJ6BrXg5SN88KZnurmvDHsuP3 MvwP+6leXhNTitXtnj5TQxtJin6NVZ0Al8MJyd9xwa21k8YTlRMm7rgA4Vx9CNvjDV9gf5XOdBF o3JYv1QhJr/SgcdkDr5Ox/diUgdt5Z+bjO2zMLW0i90TN8XxW/blNaWT5xnj070aBbwHIva6E+l v1y1VlHp/I4MrpZmV4MtqxBFHCOAQZEOd+itR+n/S8LP50+qens7NAVqfZhfaQQ7KSmLbRKJpm5 kiG1CDXKTkVqJunSULnVtRahqu1J6ZcmwDJeXTo5PtKQZiFIlUHRjOs60Av24wdhwd+FY4ptQOp pU+EYeQcKSLcEMkga3AqSlN+IrU5XJAo9Y4FLczzGc6/9kTe7Y/MLq04J3fmVsp5KDuJR98aytJ 6m/1/sJrIyiE38hKgq9Ta2I/s9/NjynRehGmP87FTcRsCV1bnl97G4/o6CZtPg/knk7WmCFCogS WBIkWDQrNxAYw16mjSeY+350vXO3jYh+7OIbRVqdjqYiZKSAy9A2h4HULcXVra+fEX2z6ALsNmI gsWEWEJpEXYy62lnL9J9OTf1+ihsnQZFt0jOnnge9cZzyJTQW7bhCj2GDkVkcgK5wezSQQbuork C6IVZWbEkEfQnFg== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Increase the build coverage by enabling the sx150x modules with COMPILE_TEST=y. Signed-off-by: Bartosz Golaszewski Reviewed-by: Neil Armstrong --- drivers/pinctrl/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig index 464cc9aca157..94eb41bb9cf2 100644 --- a/drivers/pinctrl/Kconfig +++ b/drivers/pinctrl/Kconfig @@ -541,7 +541,7 @@ config PINCTRL_STMFX config PINCTRL_SX150X bool "Semtech SX150x I2C GPIO expander pinctrl driver" - depends on I2C=y + depends on I2C=y || COMPILE_TEST select PINMUX select PINCONF select GENERIC_PINCONF From patchwork Tue Apr 8 07:17:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879908 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.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 92E1E263C80 for ; Tue, 8 Apr 2025 07:18:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096687; cv=none; b=LcAoctrghqsxxTyXvzarkEu9s/9DTCZ6LiVYdYv0iI27yp1p+LAxQxChmkd4L6EI7ZLOFDY0FdSdwi+Jkgn5Ecf2KmaAOEjiRV9nIQEYYzBpAR9/4BtlnTCXH3jjaJxELaWKHdebdLeSk05AlFoGHpWNIOGvbhtIM7tIdxWtEdw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096687; c=relaxed/simple; bh=4OeEvNCO90SdfkhPZOcSBTLFif5IjDlQ6OH4KtQtVEc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bZRG9kCCq7Aq1Sn2ol5kQ3ge8Zyr/JOFmODwxpytRQ7qagZRed7FzxwC5Tu5rzFY2UYrblN+lzOLHuPHWZEeJtWSZrXAr0cOOztF3XVD7WwRNZVstChRDG6AkCAOs04EUg6SYf2e8rei41TSEgeVR9CIE4YxFkYpKDQgdbHp30c= 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=qo/a5V76; arc=none smtp.client-ip=209.85.221.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="qo/a5V76" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-3913958ebf2so4604003f8f.3 for ; Tue, 08 Apr 2025 00:18:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096684; x=1744701484; 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=XD5pUwvjF21WHvNYwLGg3m0Hf3jMmd7qTIORgnVtv+o=; b=qo/a5V76n2xs0csvYpfsO4UoM42pDDWeoDiANNzRichyV3ra7kfrAAp+hSTeojQTrg Q0sQinyK0F4wdpkVHASBWRYc9URsshWf4GfRH8LWtaboUs2lhROL/KwpMB02njq1zQKA +9p1HRNGvRzK9R+CzZyb0OXs4b5S7s5JOI8aA2hxfrJX/B5GJHStuHD+rUgpJ5W4LUXA cBzYKTE57FTJp/rvq4lL74LHK95x6Q20S0O6LCszaqjfbVGK0j868uPQ6NHTSfOipbxW 9xD9RU6cTKxjBMFXe0O53hF8+8R5+Jo+mwdKSbSfPwnoCpP/ByHevBHbuY072iqyWktp 0AOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096684; x=1744701484; 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=XD5pUwvjF21WHvNYwLGg3m0Hf3jMmd7qTIORgnVtv+o=; b=m3mxoZzK4FSxargL7U+E3z1W0w39wh0YdhkkMmBTHxqe+kpR2fDFL6ijoJRxV29nca 5QFXIAqqdaVe48l9ABx9uJpLxqr43nUS0OYOqczj6hyiNqa4K6TGLJD8foDgajaJPZEB 91QcvHeKPo0k3lyOTberKsXlijPUgKcBRxJ9ks8ntbzo9s5ysEospHDvb8Y5iZyhFxkJ L4pur8pzJhIHwCFE1lwB0T15LrfaONT0GlQyLy2oQ9Rw4+eskvvl+7+XpoIOCgGf/y+S JDt9M0mFkOkvS0HcsbW5oyVxpg9VRJi8f4DfuZukKQ509Wi9G3/AMKUsQGGeaG4od7Rf ozmA== X-Forwarded-Encrypted: i=1; AJvYcCUw6xzpj1NL9xh9oLNs+ecdVU+4v7ci4QlXK2Fw8ghIOxfYoWoh3Zk3jqL8f2cDLVBaXyQy8HTi93c7@vger.kernel.org X-Gm-Message-State: AOJu0YzkW+028hi51jjQL2djGtAmvCB0MHETB+xDCKx7wdIfiR9DzcTG /Exj4QbvyDTtkORBeQYuKfefR+j7Cs+8eXmpsgYPSGDst5sOWo2g7qLdSvODK38= X-Gm-Gg: ASbGncskAoCFDS9U8abM+iM7fhbNoLMr+NLpmQ/pZpyR03EYK/pEKRAabj2b3zJbYSw TR0UJcluzdv40P7hu4TMOkshH62idcctWaj34VO7TkWJs5cLPIT7Bv2j/EgFAI1phetvsdciKLO S+SLpe3CKG75xGnHshMF51T7cOXDdJ5PvjSnrlbo5JX22Ad2DaVGp6oVeiwGwBaojiQWJPtliiC VunZKPEgUwWAVdH1GdULXflylRWxxR5jpEQYkx2AqWXHX1tijMiGHra2uHwH337iBCNFSQePQ8N 7tgOBObbz8B4QGsPrkrOuG7FlXZKGhnBxMKrye5hBcxGOxRq X-Google-Smtp-Source: AGHT+IFABP+0NyYfjrmBkKOY8Qu8GHG07RX08meqZeJWYd12gU6oEH77JekbQo0tofcJZaJ2znOR0A== X-Received: by 2002:a5d:64cb:0:b0:38f:4d20:4a17 with SMTP id ffacd0b85a97d-39d6fc48b9fmr10149766f8f.13.1744096683833; Tue, 08 Apr 2025 00:18:03 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d5d1sm14257694f8f.77.2025.04.08.00.18.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:18:03 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:17:45 +0200 Subject: [PATCH 08/10] pinctrl: sx150x: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-pinctrl-part1-v1-8-c9d521d7c8c7@linaro.org> References: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> To: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Bartosz Golaszewski , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Xianwei Zhao , Patrick Rudolph Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2534; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=nW90rn+BHn4CcA4KM6329dEBeQrDE0H95eIQ6kXIjjg=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M2anp9vmc2BpNT/BOe9JwVC3uov6dAPDjgly g/s/D9FRDaJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TNmgAKCRARpy6gFHHX cjUhEACQA8gdiny3H0cIs/eCXCdyJOM9rKhuf2+4gj2/MdJ4pjxMDZN3V2spjwTYGEBIvnaD2aw 8YI4+5YrJ/gacqwT5jdjBrv5M86+lRF5x86+aNRAFzrvKT1fp2ZQOSVCdFg5c/pDmPEU8HMJu85 eZM4/n8/sw0vlUHZ6wC5A3oX5Sbxxq0ODdGC1dCdre8Msr4AIZF9Rud/U0l/y22pDHy5AKDsEBJ 45mZjH1OmDd53+rAicyRRakUYgVM4hjGDmZuiAYrNQATMYnENj+DH367L8luvpChW7o8fHoDRZ8 SOKri5vWh0/qd01aZY1waCCyH/8jjdOf3v663xcAX+vBZg0z11mfZY544nqEXoIPun+NYhC9goA +elwZSvzY6TjL5X3SaNFiWSrcNSGObk3otEPfb1/Rys5r5iJNEucwjKiGjKDVc0/WJC9BLewaBE yHyUqES98sh2Ku2o6e40CjdKDsXHwa4Nu4U873+GjpDrypUhlpb83ax2OzzkXuHv4mvLvUQu9lx Op0AGrK6iBc7LT0wuW6I63145+LILkjBnDCErF8JdK9Kjq1HYTLQvslx8onmZ3l8ge9yrQfWCGV i29GbD3Msfrbsdl06ZuAND29xiKUyTaL39tudfMlz6CPR/ii5YZmxVuFSe0vVWBkc3Pxb7B/FM8 aL2+h9Qb3cin5zQ== 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/pinctrl/pinctrl-sx150x.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/drivers/pinctrl/pinctrl-sx150x.c b/drivers/pinctrl/pinctrl-sx150x.c index 98262b8ce43a..d3a12c1c0de2 100644 --- a/drivers/pinctrl/pinctrl-sx150x.c +++ b/drivers/pinctrl/pinctrl-sx150x.c @@ -432,24 +432,25 @@ static int sx150x_gpio_oscio_set(struct sx150x_pinctrl *pctl, (value ? 0x1f : 0x10)); } -static void sx150x_gpio_set(struct gpio_chip *chip, unsigned int offset, - int value) +static int sx150x_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct sx150x_pinctrl *pctl = gpiochip_get_data(chip); if (sx150x_pin_is_oscio(pctl, offset)) - sx150x_gpio_oscio_set(pctl, value); - else - __sx150x_gpio_set(pctl, offset, value); + return sx150x_gpio_oscio_set(pctl, value); + + return __sx150x_gpio_set(pctl, offset, value); } -static void sx150x_gpio_set_multiple(struct gpio_chip *chip, - unsigned long *mask, - unsigned long *bits) +static int sx150x_gpio_set_multiple(struct gpio_chip *chip, + unsigned long *mask, + unsigned long *bits) { struct sx150x_pinctrl *pctl = gpiochip_get_data(chip); - regmap_write_bits(pctl->regmap, pctl->data->reg_data, *mask, *bits); + return regmap_write_bits(pctl->regmap, pctl->data->reg_data, *mask, + *bits); } static int sx150x_gpio_direction_input(struct gpio_chip *chip, @@ -1175,7 +1176,7 @@ static int sx150x_probe(struct i2c_client *client) pctl->gpio.direction_input = sx150x_gpio_direction_input; pctl->gpio.direction_output = sx150x_gpio_direction_output; pctl->gpio.get = sx150x_gpio_get; - pctl->gpio.set = sx150x_gpio_set; + pctl->gpio.set_rv = sx150x_gpio_set; pctl->gpio.set_config = gpiochip_generic_config; pctl->gpio.parent = dev; pctl->gpio.can_sleep = true; @@ -1190,7 +1191,7 @@ static int sx150x_probe(struct i2c_client *client) * would require locking that is not in place at this time. */ if (pctl->data->model != SX150X_789) - pctl->gpio.set_multiple = sx150x_gpio_set_multiple; + pctl->gpio.set_multiple_rv = sx150x_gpio_set_multiple; /* Add Interrupt support if an irq is specified */ if (client->irq > 0) { From patchwork Tue Apr 8 07:17:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879134 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.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 C0AF5263C8E for ; Tue, 8 Apr 2025 07:18:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096688; cv=none; b=lSdO03XjQ+f6+iHdRn4X3YSToCKtNsQykNWAt9C6LRrJs/C1PpRcEOLCAXfOIxK8F/qGGopD1u0JXRi6uWMNXkQdALvUQa6SQ0SG3QjgCRb0ADAZlw04RFWOy50gRnjwcaA6WqRSkXdBX1xuhJRQBQiOU79EuWe5UFHYc0jyTP0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096688; c=relaxed/simple; bh=l752bRx9ig6/DZFR1lUNJZhYOvebM+yZK6p05T8xTlk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ScjDRZBPQTtcUu1GQsfJV8tnLu4FsspYgBzhZx2L4HIjRewz1EVzUfWv0Pvwcp6OS7ZPs5y5uBuXUKnQmZPNfdFybk9UyXhajl4kPLA1lJlsyybrcwzKVNjxAiXe0kFFEvLSba1tNcwST//IMHktGj9jWzh4N0mtnYfCET+zr1s= 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=1TvA6aIa; arc=none smtp.client-ip=209.85.128.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="1TvA6aIa" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-43ce71582e9so35475525e9.1 for ; Tue, 08 Apr 2025 00:18:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096685; x=1744701485; 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=5HVOt+4srGnvQwsP1v9+2VHPQ1xwkV/AAlcGkzlseiw=; b=1TvA6aIa/P/3W87lXp1RxZ3twYtkCNekFbF/a681O8Lr/RFQvOiwxiM0DZf+l7sdxx IRMuJvgu3/QwLSgHyUBF3T5tQGTkMopiJj+mMVG11AUkTFPxcGcQhdoTMekzmtbMMf0b dR8bqcNIELHyAcmsVO/jbKX1XEw2ivfHSbdsG2hNfNUAXJAxnKHCxGxIa/fsGosb4+53 9RefJbr/jiCseA0VHteJC+bLPFdn43kyle0fsDO6CwjA0XeXbEEvnk0IGZm1CfCqDHGm g65aG/R1wiDsnIiUX/uZfceuH/rsiY1S8aCKAJXeaMgiT5yNDVBfAuNNFDAXDNY2qlwa 8/Cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096685; x=1744701485; 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=5HVOt+4srGnvQwsP1v9+2VHPQ1xwkV/AAlcGkzlseiw=; b=AyQ9xtpexyz+pBqcD3jywA18UIhFl1upysQSAwGlodQfLDdMTKV1P527qlY1uvC1SH ON9GbqHFoTNqJTTjEtxaEXSxz45mV0ewQ/X/uA6SvQDEZJICOyoSScSj11Iay3Nj8/fj OovH5a1TzyesPho8qDLEc4/55Qw9Sh5Q1UgTUuEuXZPTpsLVuFym+wc8WnFbVDRpgqlb ZUKEg54iau+3dxMw1aDPvePAjzW2auT5/i62RJQ1cWSL1YZYZKTMCg1IDCx1n1bM9jA9 qhja9/CUyZauyiIKbZRQK0lPPSz+/LAT/5/Cio4OUISUk6VXWZTKIRSYU05AK+QeUs8s VPqA== X-Forwarded-Encrypted: i=1; AJvYcCX2K+g9L0w+BDGlsBhNzc4EN7ByDXlUZDU+b+Wnqunw+eHeeJcxFQ0yutw0lw9iqzfxseoYNYWGRtgf@vger.kernel.org X-Gm-Message-State: AOJu0YzxknFvP35ekUIISIhWyHOTemtAD/Shn3h24kG9LKlELdQ3wBtI r7fNOmzapnY9SnQ+7f74FEAWH+PNLmQxEZfRcw2pVRb1Lm7BFFqFZIInbjznzoU= X-Gm-Gg: ASbGncteYhhEsEU4ab+A6FagpW73b2taNHIST4rMXuTGP4M9RoSIN3Gyk0ZpGbW0uem D25WaFEhRHyVJ3BJJ+LEJXiYaM2R8R9G1BVHamhPlxcTgaEv+3vmvudj2Gbao9b9APV7ARfK4sv bvt8GnZyLZ0it3I9Oi7BztWyCR95jC0/AyOHX9udqBlLgDdI7HYvl7SuBhfLdAxA87x0FN9C7nO +THWOqQf1mesQZgcKSYFGLKutLRJCcjxwJAOYpRwdpLiJUMY2s26pCE/qPY5d1172BQEHsUNLoS E/V00fDJ6uYlZvgftAyQnDjviaLoH0yr3BS6cw== X-Google-Smtp-Source: AGHT+IGSySduYIODYDDBNhKW+V8JxaftIxx0mbfbLM56e4WvjRuBEIilNZOQDJkJo2kY1AIOFFw1zA== X-Received: by 2002:a05:600c:1d28:b0:43d:7de:16e3 with SMTP id 5b1f17b1804b1-43ed0d9d18emr123594385e9.24.1744096684912; Tue, 08 Apr 2025 00:18:04 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d5d1sm14257694f8f.77.2025.04.08.00.18.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:18:04 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:17:46 +0200 Subject: [PATCH 09/10] pinctrl: ocelot: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-pinctrl-part1-v1-9-c9d521d7c8c7@linaro.org> References: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> To: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Bartosz Golaszewski , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Xianwei Zhao , Patrick Rudolph Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1855; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=spvpQCaMJt/FlIsnba8JPp3MhbofiKGgIiv9FJg4rZg=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M2agt3O6aR1vCS8hOqHTDKX4aiCLJ+nYrJpF NCIW4f85ciJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TNmgAKCRARpy6gFHHX cij6EADKyrhyl0qDS61cTLux6MOWrF0i8ovx0ZQmpwIhr0Bg5B+CblqHxvZat19Nu7Z/KQuhoxa 5a4ZjXS8zPhwsmNHcJL8XmmCO7AuZyzbIw/dJAygTYI6OrSzueQYkwP5vZpAyxet7FuT1YH5JCw AKvK5JuGVvzXt/1+S0QhyqRa1DBk/r9qW/PGztC+Q+1JIP2r7feH6HlncUVIUwcUmAtz47d1GKU d9WdVpTnCDHkoQOSX43tLjkyf+bWEUz35UYdBYvlfQ691lbhiEgyJZo8cU56ecomEvyTazRrZel IPsNTSh1TYRxmQ/gG/yks6vYRor8W09Gaw0FrsS6r5ifS5/BdkYI0/W5gX6I54YDaQYReRflW6G e96ttMnq/Z8KuMsKIUEteJbJMqomGgb5fJ9q5gEIw3QafPDTn9G5b99Jco4HVa6RwDPA5/LAXmY ttBiDSb/t7dTmdHdHxNHdzkYKzwk2MxkH34FBOX0/wo+7HoCuAeePRR1D72+DhbDm40qtzwPhIW Tkd+O16r6I0zfcX4kMUD7znBhtCMNTTSCyKjzQofWO3wqRQmC/lxZU+m+9WjsnCobS2jV6bTGb/ 6HE1y+gTQLWisUWQCGbsYviBPph9oEM1aA7O3zarkvGGcMtGx5/W0bKBdZ2nCh/us7+xv45Qh88 jH2gOpx/XG01JmA== 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/pinctrl/pinctrl-ocelot.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/pinctrl/pinctrl-ocelot.c b/drivers/pinctrl/pinctrl-ocelot.c index 329d54b11529..fbb3d43746bb 100644 --- a/drivers/pinctrl/pinctrl-ocelot.c +++ b/drivers/pinctrl/pinctrl-ocelot.c @@ -1950,17 +1950,18 @@ static int ocelot_gpio_get(struct gpio_chip *chip, unsigned int offset) return !!(val & BIT(offset % 32)); } -static void ocelot_gpio_set(struct gpio_chip *chip, unsigned int offset, - int value) +static int ocelot_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct ocelot_pinctrl *info = gpiochip_get_data(chip); if (value) - regmap_write(info->map, REG(OCELOT_GPIO_OUT_SET, info, offset), - BIT(offset % 32)); - else - regmap_write(info->map, REG(OCELOT_GPIO_OUT_CLR, info, offset), - BIT(offset % 32)); + return regmap_write(info->map, + REG(OCELOT_GPIO_OUT_SET, info, offset), + BIT(offset % 32)); + + return regmap_write(info->map, REG(OCELOT_GPIO_OUT_CLR, info, offset), + BIT(offset % 32)); } static int ocelot_gpio_get_direction(struct gpio_chip *chip, @@ -1996,7 +1997,7 @@ static int ocelot_gpio_direction_output(struct gpio_chip *chip, static const struct gpio_chip ocelot_gpiolib_chip = { .request = gpiochip_generic_request, .free = gpiochip_generic_free, - .set = ocelot_gpio_set, + .set_rv = ocelot_gpio_set, .get = ocelot_gpio_get, .get_direction = ocelot_gpio_get_direction, .direction_input = pinctrl_gpio_direction_input, From patchwork Tue Apr 8 07:17:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879907 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B8279263C90 for ; Tue, 8 Apr 2025 07:18:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096690; cv=none; b=YVNs4DShpE9s7vP9gbhCnzfZuf3UN7t6qgboT1VAjxUKg1CiN7BTp/LdqwIb0NvIkpflnN5DtVqGs6/vP0pZfmkS9ns5Sv8FUUIgvTpmyTqJagKqgdJBUZm4opeXqNwGfs3D+oPbe7zVujALvQ0JPrGS7FDG4aFUokaqov9WCqE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744096690; c=relaxed/simple; bh=S1eRm9ruT/z8xa6PV2GYxT3sAM1tH/Z37d9OcC4qqFo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tqkOKloo9XaOvORrrqJyjdwS7MWSPIFdR8Z4R0Q64r1OreQ1RV/NSafBY1EY6nwFrC7uZMF3RL0fHBYY7xOT/6W77aSsv8/nWVs9oScuAYrG5fgNAx8Tj3HBj2/IADnjQoQw4aZ5BMvndSGUdk6uDrVcd7gd4eSI76/ScSi7vFw= 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=lmUj2Ewh; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="lmUj2Ewh" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-43d04dc73b7so56734455e9.3 for ; Tue, 08 Apr 2025 00:18:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744096686; x=1744701486; 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=lsLjcRrGKuzDX9mvNJ2l1Pj3maW/MPJjpEEItwHgjBM=; b=lmUj2Ewhzr4TtxbBgCyouo8GVt1gku318lTNsVJjCswA8TJKI4s/kXDj/GKUiAj7IQ MIecDrh0N0XsujNBxfhy9FV3pfe+rgJccIKUXaZB7E4Xd4akWBaXmXY6IwFswEGCgSxh I88fGg10AvFZr2zphUP7meE3F5eFx+mEd4gVzFuXQC7DuLOtUBMxfdP7xj77lh2lf36o fLFCFk0i5pI50js3SEzAqEtgXUTP8aA1TzkIAkvbZRwVu8S0m3DsOHT/lVAUg5HaN8RF KgLPHpA94P2YiyTIWO5qx/NFWkH7i+9eEsoe0sKn6RX1WSTiEOEhHm7rc8tZZPzzm8tK RO9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744096686; x=1744701486; 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=lsLjcRrGKuzDX9mvNJ2l1Pj3maW/MPJjpEEItwHgjBM=; b=hnQjrTbR94NgJeLq3tpQ8iPtyOHRRglZZ3SX0YtwXauYhSox4J2GyC6fJCzhJBUayI d+vMadidFmq4D/nqt1uiWnJQ1is1byuygVqxPyzi/jOE4uRTeEa84Z03Oa8IP591z7IP s8KK1W2zVTikTCSwGHIKS9tR8M79QXW1aUaNrCMEEq5bMmU7ykLIjgTyfCOBszobKkRa WjX2bAKdHm5tcxzrvOFD1DsIktpxVJ4ouk6QPzSAPpixJM5my1a4ly8s9s3Cfo20aELw 0eKRAl3aAtFvYxSykNmr2IyEVzwPhVVw05gvF5dmEzy1grz8X+xvNidFDY0U58WQRShU 2cJA== X-Forwarded-Encrypted: i=1; AJvYcCUtzSuWi5ADq2+RkqiSqpkkefZZDMbRqteERgYPGByXMZMSl629iwh/yWytByhfGZFdA6sOPXv4iVin@vger.kernel.org X-Gm-Message-State: AOJu0YxH1FpTOMaQrYNRk/DMXz6lyRsc53sKvJMZIHjaH6rhtkCqw3nE DhPkowxJHoq5vI2+pMsqoaaJOO3v08/qRfGCR+e7W3VIsB0ywa0fLzH11R8Ed44= X-Gm-Gg: ASbGncuFJdxOwlEakpCOhYE5hRuLV/uEmyFyhZ7/p25wKnt4K4ZcS1xmjIlAZU6pgMk eJuK1vWougTkoBEsMsf++IR9au3sdfGo1S1hxhTlYlBf2u8O0BJWG1fGigb9R9MJqKkkJyuqBW0 pFqyxEr5If0NvyMBrDEwK0XyNBmMpizzd4wWt1glXHHzO/Sc93cZR7/9ueIj6DF8pFhDGQgXU5T KJ4UZtPU1xC9rDUDr2W2q5nQ0dHHAbBsa70kTOmWgiDmhIz/5zNS89SV1yF9k6bBqKvxvCWs68I gRgRzdsxVigJ22jRMTGTm7yX+m3NJ87/U0x2Pw== X-Google-Smtp-Source: AGHT+IFVLY1WNvAayiNBB006bFO4nSra7Yx4DcKw1yaLoj6yk4wJfEbc8yNlS2Lbk6qsNo9ohgkRog== X-Received: by 2002:a05:6000:40cc:b0:39c:142a:ed6c with SMTP id ffacd0b85a97d-39d0de66a15mr12602862f8f.40.1744096686025; Tue, 08 Apr 2025 00:18:06 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d5d1sm14257694f8f.77.2025.04.08.00.18.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:18:05 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:17:47 +0200 Subject: [PATCH 10/10] pinctrl: cy8c95x0: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-pinctrl-part1-v1-10-c9d521d7c8c7@linaro.org> References: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-pinctrl-part1-v1-0-c9d521d7c8c7@linaro.org> To: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Bartosz Golaszewski , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Xianwei Zhao , Patrick Rudolph Cc: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2609; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=nFz0ZQu1wB25C83nAY0bNQ02w+UniTfC+j0g7wZb9Vw=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9M2b7PYpEd1QYwzkZOLJp94uziWDLFCT9+cRZ 6jtV1w9v+CJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TNmwAKCRARpy6gFHHX cphiEAC83D/t8tFMiLHRxWuKzVZS6TAwB9yfLq3bsdR9gOgBqJaavIsx28w0liHuZZIj8w3UHJ3 te5PhEz/S5S7Osm2h1k+wsZovOT4+g7Tn/BqJ04NbpBDccfDwNlRHz9dp5oTqhX/I9BxlNdAM6j nw2qiHcJBTD+wKKdTworBCco10+UdxKyIVJZ1xIEUUha9S7j83VF0X/lo/D6JFLOPf7hVAxpMUg UAs4h9Zmbh+zfoE3OX3QPGFNlwtL/UHFHuKx8uHYrmKv0tOmFEJL2FpJ1Dpt21Ue0har4mN7d+z XYTh2aZ5lZBpTRONkVjKs17D58wvSoBeJSXBp60u0KOD5isuDZxUWicE89i2IY9+jkffOPFNBBj hwVA2QcAYCAUMMtWb4BzW4sg02wn+SwW/2TRCl5aUXcF7n+rRnYBTlfmliRX2kHJ3PA3532UUS4 0qF0kn7hDbX9yY7oX/aD3N97/Eyh9HrOfWH13ZdvF5Hh+MT56nrovr0kjLQFazEgd8IYV8CEPDg ZoCCrIrePRmAOUTYwyZAb/qrH/mEh2qLVE5EAVKijNbE+LV0QR4DWDglwYmR6LbjrmcfnyoOS3U 1/73A3TxYyCRipzULEk7VLJXFMw5u8ROVTWk+4s4XCehemi1NJRDj9ORfPUJMTW0b8refz8JnQW hv7fa/dGOTU4VTg== 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/pinctrl/pinctrl-cy8c95x0.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/pinctrl/pinctrl-cy8c95x0.c b/drivers/pinctrl/pinctrl-cy8c95x0.c index 3cfbcaee9e65..8a2fd632bdd4 100644 --- a/drivers/pinctrl/pinctrl-cy8c95x0.c +++ b/drivers/pinctrl/pinctrl-cy8c95x0.c @@ -742,14 +742,15 @@ static int cy8c95x0_gpio_get_value(struct gpio_chip *gc, unsigned int off) return reg_val ? 1 : 0; } -static void cy8c95x0_gpio_set_value(struct gpio_chip *gc, unsigned int off, - int val) +static int cy8c95x0_gpio_set_value(struct gpio_chip *gc, unsigned int off, + int val) { struct cy8c95x0_pinctrl *chip = gpiochip_get_data(gc); u8 port = cypress_get_port(chip, off); u8 bit = cypress_get_pin_mask(chip, off); - cy8c95x0_regmap_write_bits(chip, CY8C95X0_OUTPUT, port, bit, val ? bit : 0); + return cy8c95x0_regmap_write_bits(chip, CY8C95X0_OUTPUT, port, bit, + val ? bit : 0); } static int cy8c95x0_gpio_get_direction(struct gpio_chip *gc, unsigned int off) @@ -908,12 +909,12 @@ static int cy8c95x0_gpio_get_multiple(struct gpio_chip *gc, return cy8c95x0_read_regs_mask(chip, CY8C95X0_INPUT, bits, mask); } -static void cy8c95x0_gpio_set_multiple(struct gpio_chip *gc, - unsigned long *mask, unsigned long *bits) +static int cy8c95x0_gpio_set_multiple(struct gpio_chip *gc, + unsigned long *mask, unsigned long *bits) { struct cy8c95x0_pinctrl *chip = gpiochip_get_data(gc); - cy8c95x0_write_regs_mask(chip, CY8C95X0_OUTPUT, bits, mask); + return cy8c95x0_write_regs_mask(chip, CY8C95X0_OUTPUT, bits, mask); } static int cy8c95x0_add_pin_ranges(struct gpio_chip *gc) @@ -938,10 +939,10 @@ static int cy8c95x0_setup_gpiochip(struct cy8c95x0_pinctrl *chip) gc->direction_input = cy8c95x0_gpio_direction_input; gc->direction_output = cy8c95x0_gpio_direction_output; gc->get = cy8c95x0_gpio_get_value; - gc->set = cy8c95x0_gpio_set_value; + gc->set_rv = cy8c95x0_gpio_set_value; gc->get_direction = cy8c95x0_gpio_get_direction; gc->get_multiple = cy8c95x0_gpio_get_multiple; - gc->set_multiple = cy8c95x0_gpio_set_multiple; + gc->set_multiple_rv = cy8c95x0_gpio_set_multiple; gc->set_config = gpiochip_generic_config; gc->can_sleep = true; gc->add_pin_ranges = cy8c95x0_add_pin_ranges;