From nobody Wed Oct 8 04:10:19 2025 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E5226245003 for ; Wed, 2 Jul 2025 09:14:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447655; cv=none; b=fPF56P7YpKv6yCl2FmfJH7/WwWNSNjPjkkmfpnyaR7xezKuzYOl5gv1SKhvwxmRHe4dmf4HQ8tJPuCmGGmKsGprno+gu+OFswycOEx4an5QG3mrOzW0mKEuheWsJr/o01tDtZ9qK2Qd7l7J8t1/MtGKFv3x9oQE9mFU8z5caiLE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447655; c=relaxed/simple; bh=vlWos34yRED/o/ej5hygk3znQ4/3QzLL9YsUqSMGkEk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=n8+Ncc61oZbIY/XDk34UUEQnahaVGowJH4BnpkK8OSggDDtclQbbsoiQK1U/zI8y38c/k/mBJ4IE84CFXmhBi9rAiRfCbHV+mYC5PzpI8HSbYiNkQlwRxs7/cOkPsZh9Zn5ychub2rm/TdgJt0Sh07o55V8O98YpYEp76abByO0= 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=0xj1xrtP; arc=none smtp.client-ip=209.85.221.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="0xj1xrtP" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-3a588da60dfso2648561f8f.1 for ; Wed, 02 Jul 2025 02:14:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751447652; x=1752052452; 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=1YZckgbGxJ1hnYLvQegjvXHpxK5P631feiXbEW2g4Cw=; b=0xj1xrtPJMC04YUKqyVYo9cUW5+74PZKNGEJpdVwLy05vfxQ/QG/FgONOTsfc5lfGE qwWr1mQwXqvMmqGM/8GdAwiNH97jXzKICcdrNvkzPStrXshiZKlmPOHkrib3PqLhQoDE ekqIcn5oGnCDUWXLwKZ+J3FxbCsauuyqgA6g4Oz6G/cXIlq9P2jNAkKqb180OvnRVdSO aWq6vovTe5usH3lDFf3neIChOmRQ24Ip849eHAX1WQpICmYnnCoNYO6z7vLrRtl6RzUo dDadXylPFDtckhSt+eN7bOU5ljcMQittboEtDBe3UHpqBuK0Kq/5r+cdP25c31FSv4Xl onzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751447652; x=1752052452; 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=1YZckgbGxJ1hnYLvQegjvXHpxK5P631feiXbEW2g4Cw=; b=fQQ8xc7a5VoGuoCrhlZroQoGmL1UHbzNNSPocNfCZ5Fk8jQpfHiLxdybGpNdFH77V7 fFLKiVMzZpC3MlczWMGUz5vRWXvqRZNT+JnxXrta8ahn7adHvrTD70O+cFtG7xvXITyJ 9WgfEFGvHiHL46C1Kw5UlVpgAmFPFS3B27tNfulnIIxXYaJTK4uoTCDv3XRD91DVH+87 Meja5g0Z0spdeYsimL3OuAHpOR/h7qnXiYeod4dXJEVyNsGZHXdNjbgcFpsxqVpI1CVp B1H8eIHgbRIYOhLLk/aAzV8FQ4vpgk04Wo3/JJqSPSgeT3GYKE/eKfcarhjdWirL1xc9 4Jzw== X-Forwarded-Encrypted: i=1; AJvYcCUmpaEqGFyuODiTNSqVB+tghr/YiSg14jbaF8yUHqBDSYslSbc5bQIB8KBWVXKQTend7oxnpc/N1riPe2g=@vger.kernel.org X-Gm-Message-State: AOJu0Yz0tWc2lE3z5+xBi60PR+irf64vohc5TQipFvFJnKYWnTIzwBDl Iao0QCw10EmfZKzRfR0F3ugA3Gi9tj70pb2Ueeof4x6hsDsx2/T7XxQezMXOsazN0EU= X-Gm-Gg: ASbGnctZoenfC9z6TukJz6PAI0KbFuCc6MB9SLXNYF7wa6p/A87RHeXrAAOfp/uUh5e 8ndudassR6usMkw6CKyf9ioFEwgfjb5MlE2Kg5e3DAZQcrh35YfduWqONIKD2rmcW5kZQF75imx nyLiywP2LD/6ZjM4hrUcVEOhoQzM8q5A66MenXFGF3czcYK4JuCEZy4fMMKIL06OsIADNArREC+ vA0/1MX0nV8EOrMU8V76Plk/7evuqbJFyr14vbuCNvgXF9mcmyhr7Y3VdrjgdyNm2dVJQVU5TiT 37LF0UJi6/W2lfJygKx2TZkPbjf2YRiR8Cx50tAtLJgYOM/y/KOYoQ== X-Google-Smtp-Source: AGHT+IFLfzi/BCJ/h+mSdQ9xGwiNV5G7jBvFCAXe3W2of4zOmeQyAuTVDpN9h6oQsHMDpXT+EB5rNg== X-Received: by 2002:a05:6000:1ac8:b0:3a4:e5bc:9892 with SMTP id ffacd0b85a97d-3b1ffdcdb14mr1602151f8f.21.1751447652166; Wed, 02 Jul 2025 02:14:12 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8827:d0e:25e:834a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e6f8bsm16027213f8f.17.2025.07.02.02.14.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 02:14:11 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 02 Jul 2025 11:14:02 +0200 Subject: [PATCH 01/12] gpio: tegra186: don't call the set() callback directly 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: <20250702-gpiochip-set-rv-gpio-round3-v1-1-0d23be74f71d@linaro.org> References: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> In-Reply-To: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Robert Richter , Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren Cc: linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2460; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=7sWctEykrkqk6kYWh/FDX1BbGBSXDLqJlAMoLkCHSyw=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoZPhfHAx9yu9sVGaYUJpQKy3p/DsY1uFA2E2PJ dw2rteNfFSJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGT4XwAKCRARpy6gFHHX crrWEADNO3YgH2sFCwknhWS5gSLq6uoC3TtC/1AZ+gw/8JXgB0xDrRk44uWBlNhzIxcjeyA3a1D NOC17eX9+Gizfeu9aBdfT0XFJ6Y4+ubDnN3VTUtJlvtfAnrGfSIGo1ePdBhBvNUPO/UH2IyULa6 sPuMfT6h9nyhD6EOa7b/avX/5aEDV/iP/3V4YzAb8ScflVzJECzdNfMbmUySMGO03AUF/2HAGSa h6lfs6AtQhvHX/y3y+USH4Y3wTlIIs7tvkfPdN7sTP/ecxeMUaoIb/fHDoywq+aql5JufdNJ2Iv kHwzqJT72tp7EHKlr1SCkC+DQPThqRm1RTHUHZMad3FKwtNfWzcBU8hN19jofknqGEJrYI2Cht2 GCmjx/Mtp//IVxDPqD/U27l0xEj+E2AWnI3V5rV9T6/TAmPcGiEgMSM30Gdf6W23s+frYX2ffwm l+yZ7yil38/vgV+vuXTMqrqZ9LVTcF9SNYWWMzizIKaoxOAvJCvyy/4wYmfICH8JKYIzL5xlOZM CoUltAKCdelNK54P+IlbpB4x7G9VWaNnlj25J3abIsSqfGjJX6hWy45nz18pjia9MghfMNTsIlf CjxWNWrxMmH9AxcXn0ZFiu9s5BEGHvGFhUA/dH4m+2BcBABYCetZWNV7GxCU6JkEVVpz59rx/uV dgKFr/7YNY00LLQ== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Drivers should not dereference GPIO chip callbacks directly. Move the module's set() function higher to make it available to the direction_output() callback and call it instead. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-tegra186.c | 42 +++++++++++++++++++++-------------------= -- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/drivers/gpio/gpio-tegra186.c b/drivers/gpio/gpio-tegra186.c index d27bfac6c9f53d23806725f5fc89fd0331f4afb0..04effccf9ecdf0828bc50455dac= e3ba8e8bdbbef 100644 --- a/drivers/gpio/gpio-tegra186.c +++ b/drivers/gpio/gpio-tegra186.c @@ -202,6 +202,26 @@ static int tegra186_init_valid_mask(struct gpio_chip *= chip, return 0; } =20 +static void tegra186_gpio_set(struct gpio_chip *chip, unsigned int offset, + int level) +{ + struct tegra_gpio *gpio =3D gpiochip_get_data(chip); + void __iomem *base; + u32 value; + + base =3D tegra186_gpio_get_base(gpio, offset); + if (WARN_ON(base =3D=3D NULL)) + return; + + value =3D readl(base + TEGRA186_GPIO_OUTPUT_VALUE); + if (level =3D=3D 0) + value &=3D ~TEGRA186_GPIO_OUTPUT_VALUE_HIGH; + else + value |=3D TEGRA186_GPIO_OUTPUT_VALUE_HIGH; + + writel(value, base + TEGRA186_GPIO_OUTPUT_VALUE); +} + static int tegra186_gpio_get_direction(struct gpio_chip *chip, unsigned int offset) { @@ -251,7 +271,7 @@ static int tegra186_gpio_direction_output(struct gpio_c= hip *chip, u32 value; =20 /* configure output level first */ - chip->set(chip, offset, level); + tegra186_gpio_set(chip, offset, level); =20 base =3D tegra186_gpio_get_base(gpio, offset); if (WARN_ON(base =3D=3D NULL)) @@ -359,26 +379,6 @@ static int tegra186_gpio_get(struct gpio_chip *chip, u= nsigned int offset) return value & BIT(0); } =20 -static void tegra186_gpio_set(struct gpio_chip *chip, unsigned int offset, - int level) -{ - struct tegra_gpio *gpio =3D gpiochip_get_data(chip); - void __iomem *base; - u32 value; - - base =3D tegra186_gpio_get_base(gpio, offset); - if (WARN_ON(base =3D=3D NULL)) - return; - - value =3D readl(base + TEGRA186_GPIO_OUTPUT_VALUE); - if (level =3D=3D 0) - value &=3D ~TEGRA186_GPIO_OUTPUT_VALUE_HIGH; - else - value |=3D TEGRA186_GPIO_OUTPUT_VALUE_HIGH; - - writel(value, base + TEGRA186_GPIO_OUTPUT_VALUE); -} - static int tegra186_gpio_set_config(struct gpio_chip *chip, unsigned int offset, unsigned long config) --=20 2.48.1 From nobody Wed Oct 8 04:10:19 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 18F072472A6 for ; Wed, 2 Jul 2025 09:14:15 +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=1751447656; cv=none; b=TgcEkLeIIklQ98v4ngqfE6atHf8L0fCLmFQJ6Gg/mk62UB9HyWl6TlSGMLG9NpFcb4pZvg9zV1/foCJUWnl6i4GMuRlg/gtRuMR603IgKr4egHtuwdhMBSxiOGvTNFbhEbW0CJP7GAQsjWYppmSlOFcUqlK6cU9Ezbwoo9wZKag= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447656; c=relaxed/simple; bh=TMRIo9TPA0ZFKhS8jQstrYMHvTJA2pZgAqok2b7oY/8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pUbfFCIGhqC011OGs6jpMD3rJWVZ6pXCRMnTgMeBIOSqbFek8Zw59mSEGZeBYYnf/fQtb3EOmNPDXTv31TZ98wE+nikkgc7alFqKruaWVZPghFH9ieapnNLHLI2EQkZrS7yM5D6btK8V3LCP7l5HQNWrMXrq8BD8mL1fLj8vDK4= 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=zGgE2KDO; 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="zGgE2KDO" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-3a5257748e1so2790987f8f.2 for ; Wed, 02 Jul 2025 02:14:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751447653; x=1752052453; 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=bVir3rUZYULJ4/8xSOUlL3W6Rf9lDxNjt/qxu7kHiu8=; b=zGgE2KDO+tE8IIQGbY0UbCD7fglCYo4LNhQSGuYBUPUGCYVHUoOcf4Hwft8sSMfHYr VwQOARNd/7FnmxZgRBMWb/3xXI6bFYGKbb7tXwl4aXsxi/QIypp8eq8hTJh8Pq5ZN55k xY8ZVlTpCZTnGT5cFZto/85MsJSKig1i1COpZwm2xULxrIosb6bRbVq1M9ODRmv0zvYE gf08D4k7YNs4/iCQLSCIvDVL1Z3j8qqOQ++CViVxlzt3FIrt7/AexqDYK6IX8vBSgse7 RPwOXYHPtcIKJ+d+u4Nd0WRIzaEoGGmsom/61AZpRagNRMSf+7edd3fEs6VuM1qggCbN oWAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751447653; x=1752052453; 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=bVir3rUZYULJ4/8xSOUlL3W6Rf9lDxNjt/qxu7kHiu8=; b=wpMnhY0xnZdHLP7aM6iUevr2tBponuv6eG124MuOVlbqsdYJpoGJXW08QOVSTKjUht UwNtEUPPjoLFUm228dMOKqkVXO8Mgbs77QJSrF4eP+HsKXSmQqTBwMrv4zZN7x+dBmF+ nHKOFDT+hKeKYDfH9NOmdy6Mpmb8/xaLxNie42stzkGvDJHYYoN66t7sd3tRJ4QdYVZr /unaLTCE7E0dFL6hl7GlzPcI8E1BPBBA1P8ZcRcz8LyW+y+r0lp3vjHumEP0gv4xWd2e coi2yO+o+X2F3vGB7MD1pOSag3XpojZ0XuPq3fyH5LmPaiUCwYOHwMc6M/OzaeoXYV3f LR6A== X-Forwarded-Encrypted: i=1; AJvYcCWISgmIKyp+a9e6x6T6jymEqRFSOfhdK68T1Ad6rWplwCdt/KmhAwUWQENbtX187LO5ft5XBNnXrp9GdI0=@vger.kernel.org X-Gm-Message-State: AOJu0YzgQiO4UA21LNPYM0TvxQZnW5GwypolvgPe/XgJf2N4SX1fY6ID AZ/RPGiSlZjegL2CFwRsR6cwcf1D6tsOPXTHmLvxCtmXQsUlwv7xlw1GBJgIHCBvF6w= X-Gm-Gg: ASbGncvXHCcgY4APDVGquHemu0IqZiPDDuH1fFt2UgqVLOLe3MYioU7j7MnjcjzXjWq 0HRgLqkrCPEq0I/KbUOb2gK8N6lJW2nzF6CgD1qrh10UIlMIWgQORJr0T2zEDV/Eir8yNb1dVNF Tc6pNMEpzskTBfMpM2B43wrBY8amM0pCT6DzJ4NlAGT4IWN4edsQ/40jy0xJaEdaaZUNJeBo2jn 0CCXVcdHbLyxNGs3QEhxpTPuN3qZjWOFWTfgOrHj9zUEVTotEbov9t2sKTYcdH/NHIWzo0w+BPM xgaPfGOtNPEUvVqSJpWLSXrQneZn2b8Z1pCutyyCcCMRBtkpKP8iXA== X-Google-Smtp-Source: AGHT+IHTFHI4Hlm1o7BuZuSwgCjf1+jXg/EPypGdkpteiLfDWEvxu7PK8IVEsRQiVFD1JBEFyDhBGQ== X-Received: by 2002:a05:6000:70c:b0:3a5:3930:f57 with SMTP id ffacd0b85a97d-3b2019b7d4cmr1188241f8f.51.1751447653385; Wed, 02 Jul 2025 02:14:13 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8827:d0e:25e:834a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e6f8bsm16027213f8f.17.2025.07.02.02.14.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 02:14:12 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 02 Jul 2025 11:14:03 +0200 Subject: [PATCH 02/12] gpio: tegra186: 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: <20250702-gpiochip-set-rv-gpio-round3-v1-2-0d23be74f71d@linaro.org> References: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> In-Reply-To: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Robert Richter , Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren Cc: linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2473; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=I1aUJ/2ZhyjiGLXTH4Z0j2soMk66wyb2rpoPn8Y66kY=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoZPhf2Fu3UiFP8D+PTH8iTpIRS5LmLgiyXJECD U6H2X5w1fCJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGT4XwAKCRARpy6gFHHX cirND/9snpIMhH3Hn+ESMXCOzJaZuLS7Uqvvrk1NFGS1DHPXfd4jtTjkda3wCMHLZAi9820mB8b XUv3Qa/NRqy48vx0Vp6Ej8t0dMDVrsPayuZx5OxVDABxDN3qKFdF38A7pwryL19l+qMrXGjwVC0 vP4I3b154iN9rV9IS+W1Rr+FK0LP/14i+2wh3r14rjMLekPnVdlwgFqRJ0aJ3HqnuE8XUOErGGG gqfvhdN997LZMKLG/l+viEqSDMEjRNBeX0S0e8ApeoZ7rQZtZa87UG9cEegwfNooJ7Ma+q+2B8G QzSJSAq6RxIIW0OJOVdlMFK1jRrhseEWHyFBPci+QJySErO3MJEq8IIXozTJOjWe9c0SZ7Snq61 OZNl2k5iQ0orzCS283fYWu30G1OnXJ7Gp1b2c/u+E50TnKEy0Ho5dzUjj+3nEe2z+SoVwdpxhnF wdTQPfzy1Udm9tKJLbajPwlIP9iPEuH+7YBC/LITzx41SYO3yAmXBDuTfI1XNmiAZ7XrW+4AAK4 YP3s3ocPU5wMFVEktvpxuijgSiw2elilQvtN1muq0LEYuxGrQB/DTiapHawUXMwV1Sc6phGGgoH kspRRREgnFWm3S+pdNHDhDWoXNaGK16JcmGBlKCLgIppMV2ywQ2sPSOwbo6ti9SoRap9CX0PtAR zsCDI98RGHBM5MQ== 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-tegra186.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/gpio/gpio-tegra186.c b/drivers/gpio/gpio-tegra186.c index 04effccf9ecdf0828bc50455dace3ba8e8bdbbef..f902da15c419588a2716a3fbae2= 5d5c7637cdfc2 100644 --- a/drivers/gpio/gpio-tegra186.c +++ b/drivers/gpio/gpio-tegra186.c @@ -202,8 +202,8 @@ static int tegra186_init_valid_mask(struct gpio_chip *c= hip, return 0; } =20 -static void tegra186_gpio_set(struct gpio_chip *chip, unsigned int offset, - int level) +static int tegra186_gpio_set(struct gpio_chip *chip, unsigned int offset, + int level) { struct tegra_gpio *gpio =3D gpiochip_get_data(chip); void __iomem *base; @@ -211,7 +211,7 @@ static void tegra186_gpio_set(struct gpio_chip *chip, u= nsigned int offset, =20 base =3D tegra186_gpio_get_base(gpio, offset); if (WARN_ON(base =3D=3D NULL)) - return; + return -ENODEV; =20 value =3D readl(base + TEGRA186_GPIO_OUTPUT_VALUE); if (level =3D=3D 0) @@ -220,6 +220,8 @@ static void tegra186_gpio_set(struct gpio_chip *chip, u= nsigned int offset, value |=3D TEGRA186_GPIO_OUTPUT_VALUE_HIGH; =20 writel(value, base + TEGRA186_GPIO_OUTPUT_VALUE); + + return 0; } =20 static int tegra186_gpio_get_direction(struct gpio_chip *chip, @@ -269,9 +271,12 @@ static int tegra186_gpio_direction_output(struct gpio_= chip *chip, struct tegra_gpio *gpio =3D gpiochip_get_data(chip); void __iomem *base; u32 value; + int ret; =20 /* configure output level first */ - tegra186_gpio_set(chip, offset, level); + ret =3D tegra186_gpio_set(chip, offset, level); + if (ret) + return ret; =20 base =3D tegra186_gpio_get_base(gpio, offset); if (WARN_ON(base =3D=3D NULL)) @@ -886,7 +891,7 @@ static int tegra186_gpio_probe(struct platform_device *= pdev) gpio->gpio.direction_input =3D tegra186_gpio_direction_input; gpio->gpio.direction_output =3D tegra186_gpio_direction_output; gpio->gpio.get =3D tegra186_gpio_get; - gpio->gpio.set =3D tegra186_gpio_set; + gpio->gpio.set_rv =3D tegra186_gpio_set; gpio->gpio.set_config =3D tegra186_gpio_set_config; gpio->gpio.add_pin_ranges =3D tegra186_gpio_add_pin_ranges; gpio->gpio.init_valid_mask =3D tegra186_init_valid_mask; --=20 2.48.1 From nobody Wed Oct 8 04:10:19 2025 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.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 4322924886F for ; Wed, 2 Jul 2025 09:14:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447657; cv=none; b=J/6XbCAbgUHJw9KrewUQaW5a5HPFaxfGthoLVjLOgBDjU4PIIp75T+N64NuECraEgt7wTLgjneh5dAExtHYaP5EzDJPx26x5HlvZE/jkwnJXWt5WdIsbOviHcp/necTt3y53FWGgATqCbMisnIz6dMhEXN5I3DDRqDjhrKxGmZo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447657; c=relaxed/simple; bh=+nVfuvhqkPVOVmugfFAWLkW4UOX/+j89Gr6pFORnwZc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rqnpIU59s9USqYiEet2ATHsC0mvGlkoCgfm+l2N9l6bXOMzOojspvL9ZlFnvmf7FbDb/8qZaHl8SUaChm6b1CcwhrHd8aBhP0XWt/gLirMgA8ZxEoYPwWmsRYeByvmw6vx/uYnFxv0vHA5nP7Rb0WG2qIia8TO55VBjS45tz9uo= 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=KKDCfopX; arc=none smtp.client-ip=209.85.221.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="KKDCfopX" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-3a4f72cba73so4853507f8f.1 for ; Wed, 02 Jul 2025 02:14:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751447654; x=1752052454; 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=9px667tsfsWvUcAYLU3o61szQ9B4CZ4odfTl2msW8zY=; b=KKDCfopXZPHGH8oT0E61+DZR1+mgHhNbUsthAdhfpq+5QlntbOF1rTh4RwTLhMeKKl TwxnM3npbJJFxChHHQXZZu+U3qzYVsTjkVrACmtoWCVJwZFeCWLAih1nYFaZRh/J1B0R OvdpsjQ5eAhDLe2/pCvzaaovQC4vamBrGywzglgnKCDd7tDpAPr7s6yMS/ABn9jAV2kM J/9JU2NknuHtRKOtfDJpSQtb4DY44xXjeRoYCJ9CXacUzYGwwbl6JpFxOLaOSeabBb7O /yPSXb0S+HLQdeSGfFJh8hcUkxxVbvToyEugze08T6Fy4d51qZIyq7BLSpS/93vBWhMY gXrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751447654; x=1752052454; 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=9px667tsfsWvUcAYLU3o61szQ9B4CZ4odfTl2msW8zY=; b=H+uuHK6YHyWNEU6+5hoyT+Sc+1jFFI2n0m8KHctKbhnDPOHu6V8OidBoogHKR8wYso wLZTE0Vce4yyTxRywImIW8i6AR5kbfx89v3ACe3Zr4edPBLluKeKWKYCpxZmjZf7iwOu FkmdKDAN57/nlnaBOYH21E7IuDCEx8PJkNNgEvnsW4CmbqQhTFwAFopcmWQxVHRXP+kL eFf8vQ6KsGBcMdOfOIP+0oqDiI5jFPUFpl0s3DzF1/izXgoVt1D/hq7mglp8j+iDP56m byhWI25mP5UM1gLKTOPbCJ9arMAnB4VvkHr6mW45yoTDHv/a1hGvNK2DZ+JNzkRYhrJP ktrw== X-Forwarded-Encrypted: i=1; AJvYcCVJvgaR0VkQP+GK6t2LA0C240YB86/219TRCGasSdAtTwHiyaReGCwFqc9oNcKB/c1MJsinO4RQ70gbNwk=@vger.kernel.org X-Gm-Message-State: AOJu0Yxx7ix5rQZDB1pfDhF3vZ+0kDZ8EJ8QlqHHQOD/SR+HvhMTaTRl J9iFH/Jho/TMbDHuRZuhOb/bsOAeH1cX2917ECnbZTqTFCGbx1/STdqH2RiliM1VNgQ= X-Gm-Gg: ASbGncsq5zd3UCV9IIbi3MJxTyqZPWZcQUN8MSFOs3a6IepA2+s5vo8lmUCymAB3uZd ps9H+RY3hdJiekLJgn4+daYhxdxVXhyVs2w8e4vBsC0SQiCVhhCofhprc6fs4RxjWEdcf1Ek8AK ZQqNOhCg745grPJZASSuFk7MSMq5bsvdCZbKyIlcY4Oo9JNyJd/QVRiZQ8VYDufMFe91n1jF42n 3WEfo7grsjlN59Ij67UliAzLiuc0Z2+0ypNvlRm876/7z3howiM+WmkswFBEGuF/Qr23ueYBMM4 P5jGOHn/e2cQzN1di3ypEF3mjVPAGNj2mjS3AB049A8JOLDAOaFKHqZeLHEDmMra X-Google-Smtp-Source: AGHT+IH1QC/cjAF6tAcY4UP7T/bOkdOaaWCl+W55z+nwhrvgmRvt0U0bCNjMBdcWT3uUlVMnIYmNSg== X-Received: by 2002:a05:6000:1786:b0:3a5:1241:afde with SMTP id ffacd0b85a97d-3b1f698b0b6mr1658079f8f.9.1751447654412; Wed, 02 Jul 2025 02:14:14 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8827:d0e:25e:834a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e6f8bsm16027213f8f.17.2025.07.02.02.14.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 02:14:13 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 02 Jul 2025 11:14:04 +0200 Subject: [PATCH 03/12] gpio: tegra: 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: <20250702-gpiochip-set-rv-gpio-round3-v1-3-0d23be74f71d@linaro.org> References: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> In-Reply-To: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Robert Richter , Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren Cc: linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1547; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=HP7Yi8c7fDJPX4fseLL/Dk6Apx29Ju0fVjgFf8RTbyo=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoZPhf8gmKFSaXX7IeqCZpSR62rItMoRyX3Ll52 GaBrA8i2KeJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGT4XwAKCRARpy6gFHHX cpipD/9ZCqiP/Ka35haybWi/fJQD7VgmwcJH6e8qA5gI0s6RYK6nB9Ug6hf3Qhm4Tgu4VnPmKTb GKAMNU03hZi8K5XloglBm0mvgD6A0KNpvFgvW/8vU4oXNcrjaXnuSaLPO3x0sTQAOHSWSyUeIXB YQyYHZLCJYEyrxd92RKqXeowUhQ7dV8x+ZdaSTnT8fexROi0K0NL7Mx6/1ECe5vKlzHMCeAcEcj +Husx1YJ/H3oz9DyUg8VDlSC/AKoJoL+u35VTgFWXUecIBiTKGJzSDVFshKf7+pGq3w/JpL+oxY IGmdZ7wkj4i1NhcFxg2+lL6rJ8SMdr6fsKMSsS3D68gihWiKZI3Pk0MWrZUlHlUYop6mA3DROGa 4wiQfCpd8I9BkWbUx4WmRWneDBKf8Nmm/Iyi2WufNwY/wojH+gKqCwcuPP4tJp0v/YMrdeGN/j+ 8gWVbpOfAsrKUOmysuSU1mijLwUdBF1jXLk7uIzLNRA+L+SDoXfNdAbMlK+vxusSd51sKvMjBQ8 ehM/EyjRiEv8T/C9K+euAqiRO/LzhVUftgXOgSZExEh0THuwLawJbMWe8E7ymA7ItudFcZkvUbS Vp6FXC3mUe4j63quBVYmrFEDeIRQKuofv5dZg09XMkhpnunTPqBqXIuqFrcDq1rHPHHeraf4/sc 603ds1BGz2FtQiA== 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-tegra.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c index 9ad286adf2632f300ee981185ea32d79ca012df5..126fd12550aa8e6bb812bb38a56= d37c38114cd15 100644 --- a/drivers/gpio/gpio-tegra.c +++ b/drivers/gpio/gpio-tegra.c @@ -146,12 +146,14 @@ static void tegra_gpio_free(struct gpio_chip *chip, u= nsigned int offset) tegra_gpio_disable(tgi, offset); } =20 -static void tegra_gpio_set(struct gpio_chip *chip, unsigned int offset, - int value) +static int tegra_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct tegra_gpio_info *tgi =3D gpiochip_get_data(chip); =20 tegra_gpio_mask_write(tgi, GPIO_MSK_OUT(tgi, offset), offset, value); + + return 0; } =20 static int tegra_gpio_get(struct gpio_chip *chip, unsigned int offset) @@ -718,7 +720,7 @@ static int tegra_gpio_probe(struct platform_device *pde= v) tgi->gc.direction_input =3D tegra_gpio_direction_input; tgi->gc.get =3D tegra_gpio_get; tgi->gc.direction_output =3D tegra_gpio_direction_output; - tgi->gc.set =3D tegra_gpio_set; + tgi->gc.set_rv =3D tegra_gpio_set; tgi->gc.get_direction =3D tegra_gpio_get_direction; tgi->gc.base =3D 0; tgi->gc.ngpio =3D tgi->bank_count * 32; --=20 2.48.1 From nobody Wed Oct 8 04:10:19 2025 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7EE9E24BD04 for ; Wed, 2 Jul 2025 09:14:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447660; cv=none; b=dzON6cvcCa7s3qj3GYGqtqyCYugxwgzlKIlhm5wJM0nHKZqY5s9l1+Z/gHdsUK7vaNKDHmRh8cHBok/55VGndhBdWkyRXQ+dyoZyB2zsHX81N7f1jDpU039+GUuNrM4k8cl7XcFVBKVmdh949JGgUS/d6fOFqXXdZBYLAtN/c+0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447660; c=relaxed/simple; bh=PnY3cDY0PN7ZXV/E8YltXHdHfPXrlFGAY0vU2G2n/fI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RMC1iNs/5d1X8z8AGBJY3KYt+s80v8P4oVCuufnTKiJnAXU6xt3IEUIHuE8k/++DF4pWwFroB3PvQstCNKEz07+CiBAhA2gMNLZDzOhgGTBfyUocB+koMQjD7u6MEwxztgP/WU322N6ty+sQza8C2nvh0C6Wouy+YjYwB9+gDzc= 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=vy/dlG9x; arc=none smtp.client-ip=209.85.128.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="vy/dlG9x" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-451dbe494d6so44434005e9.1 for ; Wed, 02 Jul 2025 02:14:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751447656; x=1752052456; 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=gUEUklA3BurrfmixuDf8vbdIh4R5xkMKm43bDMdhoHw=; b=vy/dlG9xf0c8B46mY4RGKzdRBQTm9deO6X/lUi10TZP+GMqX55GURFv6H0QfGvTsMs tUJFMKAJnsP+kh3PyZeYgXHtSLJJr5b7RYL8nds8In7Ax6APJW/KkG5/VPmywdqfc5PW kmqi2pzx+3dFXlu5mZcIOHBD0v+bYQlXAPFA+FVu04f8n7kz+Rc1uwjkrWqc4SBjuN5S N3H/2gTmEr9naXhm8R4gosAAZXLtN2adq3keIaqFx/ZOoDu2VsxHxHAEoV4Yq9XJ1Iia y02PEYkAEB1EJykSyo/hnQDR4V2YImNR6yV95lwNhBapFhINlvMEuakf2Lfkl90LgFIT Sn/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751447656; x=1752052456; 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=gUEUklA3BurrfmixuDf8vbdIh4R5xkMKm43bDMdhoHw=; b=hkoTEo1ABwgg4CYdxCXC5Ru/jSZ1Gz2M94ykPneHsD/kfEVkVoutcIlez6PjiK1uvl 7qqsIknwTffqEgP7R0a2wfw/tSQzTbDHFIzz1iZterN3ppb1hg4bjQTGfTrkeRE+m3rx BdgY25jw2kZMCCVv5Udvf0NgF28D9VX6pChY+zQ5EUJtA/+TG8JdfGf1+8juT91D4Tm6 JXZ+rO2jYIHUi9dEo6T6fD0mnrAb/fhucZAOSajiokQ2PLK/sq9H/MqdguEETh5DvdQr 4dZlytEBMbW0OLgecQ7MUOFNsFr85MxAaQydrVEkrp1pstL1dgK+Ulm6OstR1taARFNV +h7w== X-Forwarded-Encrypted: i=1; AJvYcCXhYe+o04stCuKT/U+eDn5cwiXFM28434Ak4Emf9LspT8ucU1RqDr5lKq3DaH77s003sv8IZDVEHZ4T/+w=@vger.kernel.org X-Gm-Message-State: AOJu0Yx2F8E8SQJ+nRjWsK0GGKPu6KqTOAQ47hLwPdBzu5NWy8XkRe1v IjWfJrQdYRBKkbXST0cKGgWsRaF47d7uPNth1SsDclqpKIG5fcK2ALp6k0VfNivJYS0= X-Gm-Gg: ASbGncsRbSeS0xldAXHkr/sMLlSGKDkVp7q3eJKE+Wff4zi8uVS+x9j0MgFOHKG9/D2 5esu2HorEb2RBi0WGaSNhWN/6tgmUX/XpSHVmlIk2h/uk49WkpAPQlPxaeoEPxQvkgNTtD84bCk J1gztd1LW1H4eFWfSpHpy7Lvum2qlclEvoMmfkDseS6oNr8JTEl3eOvOrF1Bygn9zI7eFJcbTNY AwUCSAv33t8TtFQI8r2C/qVODZHaxmGfvvZM8fi8afnVYoOd4sfMitbb3YtMafX89nLBLXIgbb/ 0iNIIDMEJD3l31zF9JKR51jEK/9l4WXqa17NFlilGJ2421oUROLgPmx/RU51Hyhi X-Google-Smtp-Source: AGHT+IF3yQMlh0CO5QqkB989AOdLnKhbtuXBds/WRv6FgUi0LgiNCmdiY8uDqmLHTmv20hYB6TXs1w== X-Received: by 2002:a05:600c:1d04:b0:43c:fdbe:4398 with SMTP id 5b1f17b1804b1-454a5629234mr9687425e9.6.1751447655450; Wed, 02 Jul 2025 02:14:15 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8827:d0e:25e:834a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e6f8bsm16027213f8f.17.2025.07.02.02.14.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 02:14:15 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 02 Jul 2025 11:14:05 +0200 Subject: [PATCH 04/12] gpio: thunderx: 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: <20250702-gpiochip-set-rv-gpio-round3-v1-4-0d23be74f71d@linaro.org> References: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> In-Reply-To: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Robert Richter , Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren Cc: linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2578; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=G0fFtgDkg5d/ZDEdFwzcLRDF+AwziOGhhqiJcYzEKbY=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoZPhg2rri/An++ouHF7TQgAz2SF90haXoniwux ALfVfrEVYaJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGT4YAAKCRARpy6gFHHX crIGEAC0qKug87b46x+VLSigXbJbceWR3kG43qHFO0d16GdoIqcjtz8VjbidjhFaHaqCeMdW3Pe EKYDrLn4aqfAry1xsN+Scj/GZzNejdpeRoj6/NPzvDW4MCvMy4cQ/NFbzvjjWcPitQKHm7EROzf bhorte02dyQJ5J1/jet2QiJm7Wuo0Znx0qARXegBGnbxHbsFqbWfSXIxHLCIlosP62HjW/1KLIl ee1WLkDN/y+xM8s13bXXDkFqDSkvknLUHZH2ALj87/DRKJlnKeIFdphgdsnjqntm44QWhJCfrdf +yKPdA5su/Npk8zEe6G7zl2p7j/omH2QNBOUM8+C0+H/fpr9LrqwKL+lG72cEazWvUoNrD4cDU/ tH0cAKmfyaZI6ZgWJypTVByI+nWlK96gB0rnj7uufHfFmveMpwoWuQ68/s6T/2EeoxxERdxacDy GSSy/trn/HRpBshIiNhyLfWoKQVFjGRzUA76G7KynuCdgUAadN/PJ7ygz9RkBlXtm2JR09jAmEE Ptdm7h4j7C8BJhsIwrv46BBJH+rEpK+vjcvIII79jc5+xWK4Wmez7nMfFSvN7dIvgiDoQ7feHjr tryHQWIg4JfRjiZdm9q5K7hWdzSYdmjtaNThSb+Y+1Eds3UoXVsRRGUFlBh0C9so9KBOGjuQYsE El9TKafigFHQ2fA== 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-thunderx.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/drivers/gpio/gpio-thunderx.c b/drivers/gpio/gpio-thunderx.c index 5b851e904c11f5381cd4890828ecd956b78e2f00..eb6a1f0279c09a832ac71d76de8= f696d9c28dd17 100644 --- a/drivers/gpio/gpio-thunderx.c +++ b/drivers/gpio/gpio-thunderx.c @@ -116,8 +116,8 @@ static int thunderx_gpio_dir_in(struct gpio_chip *chip,= unsigned int line) return 0; } =20 -static void thunderx_gpio_set(struct gpio_chip *chip, unsigned int line, - int value) +static int thunderx_gpio_set(struct gpio_chip *chip, unsigned int line, + int value) { struct thunderx_gpio *txgpio =3D gpiochip_get_data(chip); int bank =3D line / 64; @@ -127,6 +127,8 @@ static void thunderx_gpio_set(struct gpio_chip *chip, u= nsigned int line, (bank * GPIO_2ND_BANK) + (value ? GPIO_TX_SET : GPIO_TX_CLR); =20 writeq(BIT_ULL(bank_bit), reg); + + return 0; } =20 static int thunderx_gpio_dir_out(struct gpio_chip *chip, unsigned int line, @@ -269,9 +271,9 @@ static int thunderx_gpio_get(struct gpio_chip *chip, un= signed int line) return masked_bits !=3D 0; } =20 -static void thunderx_gpio_set_multiple(struct gpio_chip *chip, - unsigned long *mask, - unsigned long *bits) +static int thunderx_gpio_set_multiple(struct gpio_chip *chip, + unsigned long *mask, + unsigned long *bits) { int bank; u64 set_bits, clear_bits; @@ -283,6 +285,8 @@ static void thunderx_gpio_set_multiple(struct gpio_chip= *chip, writeq(set_bits, txgpio->register_base + (bank * GPIO_2ND_BANK) + GPIO_T= X_SET); writeq(clear_bits, txgpio->register_base + (bank * GPIO_2ND_BANK) + GPIO= _TX_CLR); } + + return 0; } =20 static void thunderx_gpio_irq_ack(struct irq_data *d) @@ -529,8 +533,8 @@ static int thunderx_gpio_probe(struct pci_dev *pdev, chip->direction_input =3D thunderx_gpio_dir_in; chip->get =3D thunderx_gpio_get; chip->direction_output =3D thunderx_gpio_dir_out; - chip->set =3D thunderx_gpio_set; - chip->set_multiple =3D thunderx_gpio_set_multiple; + chip->set_rv =3D thunderx_gpio_set; + chip->set_multiple_rv =3D thunderx_gpio_set_multiple; chip->set_config =3D thunderx_gpio_set_config; girq =3D &chip->irq; gpio_irq_chip_set_chip(girq, &thunderx_gpio_irq_chip); --=20 2.48.1 From nobody Wed Oct 8 04:10:19 2025 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.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 61B6624BC0A for ; Wed, 2 Jul 2025 09:14:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447660; cv=none; b=DY2wS8zCydfSid0fIfsIidgJIw6a3PN6N7f8nlOej07Q+MyrXk74k4unpydPPcFQHeRjDX6vC1ns4aVUYrBXHE/h2Vy1tne1sQbFULPmnT20hMzQHcvAGFV46dfraUJK1UqlGOI+ZlunHiwTixubHKHAJkdadODCaL//fKZsvaU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447660; c=relaxed/simple; bh=B1ndyCLlQ4ODPRpMSNjb1k1WG8/IUdEqzvCtKASm/ms=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bvEn0t4YG2IVVVdKKVNlpCbRUazkS1iN0xwIKeY9olRkQ9Mc/6bs3nrVTBwkWEv7gN+6m7lWBtrHni25nmldUY3vvNurgRyseoFKr8sr+e/SQQR04RrY5tN69iDkmqdCrs9Cn7YiuAW5IJ33nzGfaYgic+AT44ZuGDd+AYvL9i0= 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=wRgALTSk; arc=none smtp.client-ip=209.85.221.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="wRgALTSk" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-3a507e88b0aso3268016f8f.1 for ; Wed, 02 Jul 2025 02:14:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751447657; x=1752052457; 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=OgVeELJ5kbUgF10HS6VshSVIN6iNDw21kmNN6tTpH10=; b=wRgALTSkjr7fg1e2rFvccfBLF+acrH83zg+2y/HbrmeQ/POeZZmCphS7aAxVDMpPBm ljjc+oHyIOPBSGy15mPTEyQEsOxFUR7gHEqAlIL00gugz/Z5m/Kmd/IcFjcRofpd/DMv OOJ7yGJWXxNezIBYM7eAaTi81t7pV/P97ekGM/dOV26AobYXk2FVjREIylAGn1DwllXm aKg9EjoRIZ8HZzYjP8XtPXqbTHuE9XCCgo+aesun8JgFyqt7ZZR8DBmZ85OzXqz/JsWv dePj+om4Gq/DtU+mT8PqD8qs3QUGd56NRunv9u6slcPU2gZLb8sOOwOYEnpRv/J6Uc5w WlAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751447657; x=1752052457; 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=OgVeELJ5kbUgF10HS6VshSVIN6iNDw21kmNN6tTpH10=; b=ob72qj15k1H0Z/5O1RHBqlDanZtDYl+0AiAUeANcUtD9b4FV7kvKj9AJk3sLIrzlW5 qXiAQlmnLZzo+MXe3baeCr2U7xrMva2ubKn8Sp0zLKtF4oN9RvVtcHGcaz4lQMaiYVmT TPM2UcUen5eH3ghHwr9BoqZYppGekJOLy5IrzgssOgMgmFITSlS67UEo0abxIsC2dMam rVCoOGwklimrGa7HPG7jfibV66EGw42gkGslNM3maVUqIA5ehiMdTOl8iY5k6VQTqMG0 yuRcOBirl4s0qAytL8m7b4LENbCCwb+BtVRGWNhwJL3myQkWT1+NHLsWYo9Bytlq9E0F 3w9A== X-Forwarded-Encrypted: i=1; AJvYcCXV/XYM6c3t8xX7oHp/ZtuoVn6/Dg2V59AplFndvA+YoifwVgMTta9Y5dt7hXwkPpbgWd06fw4+F24qiDs=@vger.kernel.org X-Gm-Message-State: AOJu0Yw1Qst8e902qrSIAWQQAjXzMmsqu/frz6G/K/QXEFNz9SVXObQl NBr0htnA4QBp6vy6AbrSQN4mNicY3MkuZaff1lsB001cIg98t5OefDguzzomObHEsAk= X-Gm-Gg: ASbGncsbwVbx1gRdWWXJ2UXEcbbGIj7mR2TNP/t6VOIRVhPx3OAqRgWc8W23xBFdUIZ kE9Rqid7fEZXT2SrNAF9NUbM3o/Na0RhhTpuiJ7hjuOig1o/UoZlY+3f0OqLjhPeNF/y6YoMrEe nMERsM9B5Uo0dgrQJkppETA+JOm9zVSaHtcszH/dAb3uK9Ed+F9ptxogwtt2wl5mC2v+cBU077v XT89luvrwZtj0n058T6J6Cy1G4ODHV9VPntFX/qQfBkWpotnXz0DiYB1PWZ07xG2WasVbsBh2k2 GM/H/0RKBhbe7A3nAbVnlk2MCr2Ok4M7E8NPZL+K0zPLl6Y9f/6bFw== X-Google-Smtp-Source: AGHT+IHZW19OYyWsuJKRkKyJd4B15hzcvnXr7azzlTLLvYuao6zKW6NrUTf0WAA9IH/OMkzj0HZ9IA== X-Received: by 2002:a05:6000:645:b0:3b1:3466:6734 with SMTP id ffacd0b85a97d-3b200c3cf30mr1339455f8f.44.1751447656753; Wed, 02 Jul 2025 02:14:16 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8827:d0e:25e:834a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e6f8bsm16027213f8f.17.2025.07.02.02.14.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 02:14:16 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 02 Jul 2025 11:14:06 +0200 Subject: [PATCH 05/12] gpio: timberdale: 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: <20250702-gpiochip-set-rv-gpio-round3-v1-5-0d23be74f71d@linaro.org> References: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> In-Reply-To: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Robert Richter , Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren Cc: linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1524; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=SJAWbb0fuUiKjfO6048fqxHmqK6VaXLHP3IKnd4QdRQ=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoZPhgr+kuNKvnHEXh4veawT2GvyWoNtkyJcLJY /sHOOMH5AKJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGT4YAAKCRARpy6gFHHX coK7EACBDroouAgZcdK45re/MRBT6JnD4umGGm0FhYtbUI1CGtys92ajBjsb7KqyfYCPRzJLqJS flVDGJgZDJFhZMDOCsA2NDW6DUllXxWObAr4YXlZ6vvGhsmrXbKf54E1s0rDuocALdsB26oPCHG OcgSwkW9uvd5nlTVlMKkuMKg79C0RmGA5czawUZ+pPc52a1PEW9YP40Y+ACO8IUy6MEdXmgQ+el 5mDRaALSvG2IPP8i836BT8WAGnYGZByJbAWOaoGoQncY5xq0TfiB658GN5TirNh90HeMWGsdzhj 6Lg/MNHuSGe/NzICFF2asycCsOtgszboQ16BGW88MBiSRG00E2c6hpDLhFVvkC4Bo3ONN0yvlpn 1rHARKMOvH4T3YRDUATnOhnx4XBqUTNLjpL5suBXeOo0Tm205pGCXezmldvaNm9y+KPF0qmXvas ZvIQsAK9k8qYGQ0ohPaR0I5P+hDKAtQBD76S9UBMvoNibBDLn+0tVT8tSfBqKRgG6S9ogho29Oe bOBeXnKd72RgsWsqwbzo77eXzQRvQ3izKOCSkvcYE00ofzzD2kgPnVR8FNGLI5N/NJBwGXmsWHc Pu/LrYTigoYANyx+3+oGKdpypceUPD2IWIs35Prw4v2/AKIHyQe3NC6FlLREf9obSDj65x7N6ed 7DZrjAPsmPOCg/Q== 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-timberdale.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-timberdale.c b/drivers/gpio/gpio-timberdale.c index cb303a26f4d3cd77368b5bdac42aa42821b39345..fbb883089189095cdc0101d864a= b90dd042c73a3 100644 --- a/drivers/gpio/gpio-timberdale.c +++ b/drivers/gpio/gpio-timberdale.c @@ -80,10 +80,9 @@ static int timbgpio_gpio_direction_output(struct gpio_ch= ip *gpio, return timbgpio_update_bit(gpio, nr, TGPIODIR, false); } =20 -static void timbgpio_gpio_set(struct gpio_chip *gpio, - unsigned nr, int val) +static int timbgpio_gpio_set(struct gpio_chip *gpio, unsigned int nr, int = val) { - timbgpio_update_bit(gpio, nr, TGPIOVAL, val !=3D 0); + return timbgpio_update_bit(gpio, nr, TGPIOVAL, val !=3D 0); } =20 static int timbgpio_to_irq(struct gpio_chip *gpio, unsigned offset) @@ -254,7 +253,7 @@ static int timbgpio_probe(struct platform_device *pdev) gc->direction_input =3D timbgpio_gpio_direction_input; gc->get =3D timbgpio_gpio_get; gc->direction_output =3D timbgpio_gpio_direction_output; - gc->set =3D timbgpio_gpio_set; + gc->set_rv =3D timbgpio_gpio_set; gc->to_irq =3D (irq >=3D 0 && tgpio->irq_base > 0) ? timbgpio_to_irq : NU= LL; gc->dbg_show =3D NULL; gc->base =3D pdata->gpio_base; --=20 2.48.1 From nobody Wed Oct 8 04:10:19 2025 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.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 DE13924DD07 for ; Wed, 2 Jul 2025 09:14:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447663; cv=none; b=a6PWNJHUT4B5DHUjOmi9Rw8YALA5y8YnMgpanoq6FtZRr3ufhSSYtQ6fBIStfUUjnRshqevux2YvytRqxlmBIdmeV513Fi76q6WxRFCCCYXUBPxgoHlPvctsMdGvCrDigmr7m+WmuK21TiggDZ35dp5hvSlIcVaFtYuz5Lztj5w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447663; c=relaxed/simple; bh=0CCgAR7foY2vxCqdRkiozRErh1uOjEAG7LJkHNRhIK4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Y62AklIMHAYou3OIRJIBw5GOmwjUiSYuUM8wipUpSZMK5euH7E524TLkMonlvM23fENOjDe8U3VVQDGBJu4nZqewNre5sJWylZwsoARAihEDYonzQEZZhyL4tBovoIhC85iaRpgRdA6m5ZlNJIYwcTgcd3deAtVBi8xBqY6A3DE= 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=Zpy9n9FH; arc=none smtp.client-ip=209.85.128.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="Zpy9n9FH" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-453634d8609so46635775e9.3 for ; Wed, 02 Jul 2025 02:14:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751447658; x=1752052458; 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=xguh4M4nOAOg3jvcV1f4QrvwNJW5HUqyDFT0g+MG0Rc=; b=Zpy9n9FHCTbxvUDtGhLgUoroOkOY9vViqmfde4vR42x8rZUzjCSR6WQ8woZBF8NAyw /Zn/IafBpHzyQmeNqqT7claoiUJasqL99prbDABtjLFvWxfl24/UKiC1Tj14lH5hlnTP sZyiyLoVe7jg50FssUOkkgPMRXVko11rtM8AqjqTJOhZ6i8RLHBD/JrF/v6Ba2Pftuwn HhimK2kQ0Kf0xyyAcqn+bRZ2s2+0VCcut5bHzQA2Ip0K7uAx0zH0Zmfbjgb88mYW2X9r aUKuILVP5eZ30prNL/p+eNjsae3dORMBHBAOSoKVgKt3vMgY4QPEaUJjR7SF0M9TQ6hB c8wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751447658; x=1752052458; 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=xguh4M4nOAOg3jvcV1f4QrvwNJW5HUqyDFT0g+MG0Rc=; b=feHTzpYda2iEnqL1bx6dniumHnnw457PSrL1nVDh5cYwx7XywWcViAfYOItVI/2/U8 H9Lxaax7JuWrPb9+dBHe358z6EdQavQwNG/oK6sjXgo/FXa+t8Oy84nRPn/j4B/gvfIw LX9kNbdlW1MLBtmeX+1opjCmp9e97DHMzVhr2QlZh0bpb7l/o94+znYnJK+a6aTK2H2L kdujyQ1c8dX7m4twiWY9veP7iI+MUm5N0Qar3CCMxGquI83lhvLT2mzbzVBHWLnsHFOZ UBp4cppTVZB4f8WPgrpbFWWrRoG7HBy7gTldealRrNbtRtpZr4qXxGpWOauBxFfyHO6V Xgxg== X-Forwarded-Encrypted: i=1; AJvYcCUYT8aFQVbalwgqRSL5c1xOVksWu8/6rLQ7bsD2iVtJdRfmQc8KtmPao+sfBb0IebZqHvP6MsslZZR0GCI=@vger.kernel.org X-Gm-Message-State: AOJu0YyyD6a5yt8O9I1DY1pl8OrbBQsr0KZ2iXchBItBZ33JZHx0RdIR gfQmDmyv3weZs29pG3R0VBuYik0RaF53JhByvK7lDHUuBX8f+8izZ4jhZTxG4pZj+Xk= X-Gm-Gg: ASbGncvCqJTiPkOmdJ7pjnZONbx5eSpb4ZhraGu94N+PTALEqpJ9Qq/g8BEWevD8H1g ZvEa+8/kiSx9DiURT93PBMETrBIHqHh3yzsGsGN8YxoMuq5AbzmjdrdkfA8cIPwX8I9UP17c1pH 9b7VXMqFd49WM9XACf+ebo76ee7q2E24h435w+83r7bk46b42B2OASGWWhcVVg70aj3xb1YzjBn HDCPo8qej3xk0RYrgjgDBAbLR+5djanmrY7NSycYvw5g0MVAiOM8M8/tyx3XyUAZzbJ3QtVA1j2 V7aq3V4gNJExyzT20IKLKHOIDvYm6Bivzg3EwLJCIJgKD0fhCZvtPw== X-Google-Smtp-Source: AGHT+IEXvngW9mjQtt3YSAmlmwkbD2tvrxwjMjiWhrjK76Kp8IWo7gPPAbTysgens+18N1YeNadKqg== X-Received: by 2002:a05:600c:a103:b0:43c:e478:889 with SMTP id 5b1f17b1804b1-454a3b2cc68mr17009165e9.0.1751447657988; Wed, 02 Jul 2025 02:14:17 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8827:d0e:25e:834a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e6f8bsm16027213f8f.17.2025.07.02.02.14.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 02:14:17 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 02 Jul 2025 11:14:07 +0200 Subject: [PATCH 06/12] gpio: tpic2810: 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: <20250702-gpiochip-set-rv-gpio-round3-v1-6-0d23be74f71d@linaro.org> References: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> In-Reply-To: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Robert Richter , Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren Cc: linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1320; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=yyp/YnlXDWgxwlppC69ZfL2rHq28Ii46y9ZnAqGL1yA=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoZPhg7FInADuBbdiXQdvt/4LhjRMKfYO/arKSK aofS/o0JvOJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGT4YAAKCRARpy6gFHHX cpiVD/9wvqtQ+aGJD4IyDh5H1/QsJoiPCZcYJleGc1e0SCIECesq5ijEDRnHNrv16NwnLyd5wIX Of9/lebFxeSrMGodNrIs0mwNYu3jHcdbR+onVKwjAN4w6ouQ3LT9y86EiUpqZ+PNhd99UIBqhZw RexExp4FYJLnDlnxS3VsFMFaBlw+w1bGje1cmF+gO0jpCHd0mfvMONNvAEAmgy0JrB9W9ZTEQ+M UDuUAinUEiaAmccpkIEuR4kdV/Jcpvvy8Szc1r6TQUpmNmo2a6dl5Rhwvo/QRfnzqPmzqth/hyw ct+shspnI+iZhM2b9/A5moAyV+MdWnCSmyXPwK3Nt8zqVDmccRT8y8hCN6mXA3ZHuq/GQlpPb1C XB30iN1l64I8tyKy1r6D/gtrqEr9T7m/ALI5tCIW1MVYq13ziF0jjBxzj7v7S2tcXWhtV/1tbLF mIyzwu/LiHkDMM6i5lrrlD1GAgM2Xd7i89CA8Ar2CN7Azxu11hhUonqe8rS2MB8uz0XHtXHGcyM /lVMu+sHzrl3hfclphuYg7CzVSI2Y5FYE0neoiHuapgcwGLAjGnlOf5EikBq8C1oRnnhTXV9pbw MRVwqgwKX/Mv39ndl9IoMShNv7yx5qBojqXvXU5LwJjZyzfpBC5mIm+EJ5S4h4Qe3TobEEZhPeL GpkEGD0unnOAAsg== 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 implementation of the latter in the driver so drop it. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-tpic2810.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/drivers/gpio/gpio-tpic2810.c b/drivers/gpio/gpio-tpic2810.c index effb7b8ff81fd51664b7f51a124aaafbf3504feb..e99725bd3d63d47ed6dbb800aac= ac14b1ee96b9c 100644 --- a/drivers/gpio/gpio-tpic2810.c +++ b/drivers/gpio/gpio-tpic2810.c @@ -34,13 +34,6 @@ static int tpic2810_get_direction(struct gpio_chip *chip, return GPIO_LINE_DIRECTION_OUT; } =20 -static int tpic2810_direction_input(struct gpio_chip *chip, - unsigned offset) -{ - /* This device is output only */ - return -EINVAL; -} - static int tpic2810_direction_output(struct gpio_chip *chip, unsigned offset, int value) { @@ -83,7 +76,6 @@ static const struct gpio_chip template_chip =3D { .label =3D "tpic2810", .owner =3D THIS_MODULE, .get_direction =3D tpic2810_get_direction, - .direction_input =3D tpic2810_direction_input, .direction_output =3D tpic2810_direction_output, .set =3D tpic2810_set, .set_multiple =3D tpic2810_set_multiple, --=20 2.48.1 From nobody Wed Oct 8 04:10:19 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 CFE4524EF88 for ; Wed, 2 Jul 2025 09:14:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447663; cv=none; b=aSJrLtTB570NM3ekkNTcwblvfi9SqDM9Xv+EppxtUEHKzahPd0uvkz1KuWTv1ME5aD9Wq9q5B5fz6RBNKjNTeKP6tzTonFgAS5xYM9azc+SwHbwIZd8PN6etBK9M6cG+nX/GwNabVfl9Pz5z07tSRjCvyucLmmUvkZ1w9awkExY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447663; c=relaxed/simple; bh=AtKzvSC4sftTRbKyzIfOqOrpUeYmC33cBATLXCZyJ/4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GWa0TNZYf17ceiTfcxEIDjv5ZMV3COCO9fITwFKyiP2y55e9J/K+X2IgNwlEWsWjZiJsOuob8bBjvIZyHZnEpQv0QhRrIwh5VqBvZ81hZJBCLH69tclDk2EDq/dIaoVe6NWvXdIqSmwJ7WjtiySkgaiVTM/urcSxKiwqz1Mu09A= 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=h6aruusI; 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="h6aruusI" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-4531e146a24so38868225e9.0 for ; Wed, 02 Jul 2025 02:14:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751447659; x=1752052459; 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=R/k64Aq9LqhL9zar14GfYtjAuA/biACIXxn9m/XHbCg=; b=h6aruusIcXAEBkfoCROxs1lGHDOl5G0aCmSGJyCOjLnBYL98ksrutvRMe9F4YFqP0A QmuTv2KegzSCZQiZH/3vAATm1UyHRtu53kmQ/43PLxNFqKpe8M5FXd5lAHvKJdhkczhv +ZYdxgnkQUeLZdsAe5DzBBZler6vECU/Uo/VCYuFaB2wAVuJi0FvxN9jjYlU/uloXKdb FchsYxVTeqbsATi+gIwPjxlj0KSc9wS9g4PnWVXigozZOfags8LlEd1GTadytzR7Vqdr 2b6FbsWL+NSMXpbwRbGq0Cjubxpz/GmhrCtsYKVWvfMl9o13PYhFR8kfPU7W3HHgv1l/ wWYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751447659; x=1752052459; 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=R/k64Aq9LqhL9zar14GfYtjAuA/biACIXxn9m/XHbCg=; b=DNq8H21YSkGvqZpdOSGwnMEnAa8dM65qFHuMidjZCQ1Beecv982aN0IHhQVZQu8M1s CQHH8DsAdaPiJOy9cWj6uUDyWJjM5ew13s1bdFAGkZ2u9QWTg7D6N1kJ2hne/658ICUG SOQebLP2L8jIis5j1d1BGIrnp9yshL2+WC8XeLp6y9GcRWoSpj4TfyVOP8eABOdUrf1J kXdph8gzwuMp0umPC7YI+dmaKjZ49dKfYzqz1LI2Vsw2TJj91KJFEdnBJhHI9IOyZ3oi xRoqAj1zAomCuQuz9839r5uH3VICgN76bn0d+qHS93m0Od4J31WikA/EWe02TvKpk7lf 4h9g== X-Forwarded-Encrypted: i=1; AJvYcCUpGSIQA+RwKubWo5PhRXGO1QQtnSumLTNVZbl/XQmpdFyF7EwG6tSuKxAKUb0pCQNyrA+waBa/To2TOaY=@vger.kernel.org X-Gm-Message-State: AOJu0YwDraamGOzomuCNz6SO0P0+bqKunaUWAxxkUU8AXrl1c1j6I8eE cNuE03sx7OIhP6ueXIBr3q1CSlS+J4cTT9SLU2RMxsKbQsehucS7zTpO4yUdeo54swo= X-Gm-Gg: ASbGncvWvIUdlCxbUbTMOV5jaF+qRY233mJkBrsfHMtuASckFyPQ5ug866Nw510Gs0N e78mhUYjtVpQN+733e49jnGvbFodWH8VOHo+yYc1ozKMH9K/2zTonQvsh03niDOerJT9DxOQaXo xEkipZV+Iw5k9FCh67/o7ZMF9gTAzKq7PeqMyKPCjkk/pAhf/aNCdliRKeofWC5mwShZLbPHegO 3mRTQKZDLg5VJXHuNs0ABimtIgz1SBPR7WTuVhKqOhEzzWtz8DID7A4vIZ925Hoot4zB7pojqJZ uTW01x6a4IaGubqeVuhJUOwQI2G84Iq3Q3+8VFtG+xoA+HyOJ46j3w== X-Google-Smtp-Source: AGHT+IEEPdCtls1SI4YxsmNkvWfOddHwKn/CGfoP5bHMuByd0o0c/RD/VcKeInDYlHuMXK02lWPmhw== X-Received: by 2002:a05:6000:4287:b0:3a5:67d5:a400 with SMTP id ffacd0b85a97d-3b1ff9f58fdmr1425851f8f.33.1751447659026; Wed, 02 Jul 2025 02:14:19 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8827:d0e:25e:834a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e6f8bsm16027213f8f.17.2025.07.02.02.14.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 02:14:18 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 02 Jul 2025 11:14:08 +0200 Subject: [PATCH 07/12] gpio: tpic2810: 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: <20250702-gpiochip-set-rv-gpio-round3-v1-7-0d23be74f71d@linaro.org> References: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> In-Reply-To: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Robert Richter , Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren Cc: linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2377; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=AiessNDFOwkTh1mOuj71zNRifUb9saWF8hZ/eMG7BxI=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoZPhgHiCNmf3we7lOXA8cPKAG2r0SDRRU4u2JU x3FcUdMS4+JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGT4YAAKCRARpy6gFHHX ct3AD/9n45TuB9NIqrD3u14PoA0hct8Lxv5LYKBFtuWowdiZQ0EJHmizsCk3cFG7yduhQjEog3s E2l7Bbqyzc4RxvdSY7VaexJiKVwryML0GZWQm+JbRVHSTKlRozSC9bhYzDIGAUZ+tU1MiG1UX5h B3JrBwBFvGL1TkJl6/swUiUMbBzYweKKcyEJ456qssiEnAt6S4mDFYSZeuMNxOT+/rxBH9Top9G z6ZpyxmGvwFqEVSUGCM1ATy4qKE+5uiG6v2fggg7QsPGx3lxIrp6MKEpNOrxhk1UzVkn94pDNhV S2u/KjFz9Ci2rtxKYRWkjBZsEb116l3sARaoxuSfkL44GkP2r11uHhEKVuIHkyvEhe9xPVcqrKH B/ozP1REs3LUxaOArlEd4zrrGoQWCxIHTzyST4Csn64bH2poF0xxAfx4aB7g3jTUQwL7O5KjOU7 s66zgRodBPkr5TXq5sUMg1uZjCbAkBkf3XINiwOlywiksxKPCLVFlrP2lVWzw7W3yvB9ePvjOk4 1SEpRPW1bWWN6sl2shvjQz6LHGT8XWgK3YljmlQQjWlcTTQhI3UlCjYLhnHMrgMiVJxVNsXrLRh qRhTJ7C1v7LsgK8VqWFN8j79sgrHy1yThf8yz6xZLkmTDBrxtBPc8bJaAiEUpaIg2qPdoyIuMAH m0WilpLg/IRRrRw== 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-tpic2810.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/gpio/gpio-tpic2810.c b/drivers/gpio/gpio-tpic2810.c index e99725bd3d63d47ed6dbb800aacac14b1ee96b9c..d5b8568ab0613be569654482777= 04336fd520090 100644 --- a/drivers/gpio/gpio-tpic2810.c +++ b/drivers/gpio/gpio-tpic2810.c @@ -25,7 +25,7 @@ struct tpic2810 { struct mutex lock; }; =20 -static void tpic2810_set(struct gpio_chip *chip, unsigned offset, int valu= e); +static int tpic2810_set(struct gpio_chip *chip, unsigned int offset, int v= alue); =20 static int tpic2810_get_direction(struct gpio_chip *chip, unsigned offset) @@ -38,8 +38,7 @@ static int tpic2810_direction_output(struct gpio_chip *ch= ip, unsigned offset, int value) { /* This device always output */ - tpic2810_set(chip, offset, value); - return 0; + return tpic2810_set(chip, offset, value); } =20 static void tpic2810_set_mask_bits(struct gpio_chip *chip, u8 mask, u8 bit= s) @@ -61,15 +60,19 @@ static void tpic2810_set_mask_bits(struct gpio_chip *ch= ip, u8 mask, u8 bits) mutex_unlock(&gpio->lock); } =20 -static void tpic2810_set(struct gpio_chip *chip, unsigned offset, int valu= e) +static int tpic2810_set(struct gpio_chip *chip, unsigned int offset, int v= alue) { tpic2810_set_mask_bits(chip, BIT(offset), value ? BIT(offset) : 0); + + return 0; } =20 -static void tpic2810_set_multiple(struct gpio_chip *chip, unsigned long *m= ask, - unsigned long *bits) +static int tpic2810_set_multiple(struct gpio_chip *chip, unsigned long *ma= sk, + unsigned long *bits) { tpic2810_set_mask_bits(chip, *mask, *bits); + + return 0; } =20 static const struct gpio_chip template_chip =3D { @@ -77,8 +80,8 @@ static const struct gpio_chip template_chip =3D { .owner =3D THIS_MODULE, .get_direction =3D tpic2810_get_direction, .direction_output =3D tpic2810_direction_output, - .set =3D tpic2810_set, - .set_multiple =3D tpic2810_set_multiple, + .set_rv =3D tpic2810_set, + .set_multiple_rv =3D tpic2810_set_multiple, .base =3D -1, .ngpio =3D 8, .can_sleep =3D true, --=20 2.48.1 From nobody Wed Oct 8 04:10:19 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 45274252917 for ; Wed, 2 Jul 2025 09:14:22 +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=1751447664; cv=none; b=WntP4Nw9BKoUPFcwEwWjJrhJ/XchcHC2r7oX1OefbtDQkGG5BBLbRx5s8o7ZeK+Qo4CdJk3/RkClaAPgiUUqVhUJ/ZTzUb94tX/t3bddcpWhdE54TzooiFm6SoaUPnQEST9VkRdUZkQSVsG/qZ+KI9IX+RAqZJ753LvPp6+dqEs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447664; c=relaxed/simple; bh=fn+DiZ9hmHtFHZaBJ0yup2wbdgRWJbZj6dBaX7075Nw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LJKk+om88wAM1vXc2Jx0Rqc5WX79DBrmnJnVDqEjiyui/es9pUQbkdtBBcgHh8PkJPWrEiyp+foqkfL+H8QdED5pTMHrjpqNQbQIWI0+iK79j/I3MggXPSfLa9QMRvurBnMmYtS4BlZkzbucOTO6WOQC7KfbwFjUGxb9sL7WvNc= 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=PdyOoA3J; 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="PdyOoA3J" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-3a54700a463so3981282f8f.1 for ; Wed, 02 Jul 2025 02:14:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751447660; x=1752052460; 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=9gFRDPHlPBhPYpwnAB3nm+bI/7JOZSpr774UIl84njE=; b=PdyOoA3JqE1LYv8PpTeZ4+vPGgJFMCkhYFZsXFK6XBGePfGBquuY3wGrOWdBMUpRU5 6+yR5Iov5si0myNhDnzXUHk5kM2GsB+dgzXcbRgvvtuc2uLzG6Z9UoRVnh4E7gd72YS6 Vz3D5adQr/RmtbM0tzx5ZLu2xGI47h5QLPqanapKiqL9QjRQ+uzuJKLQ0dnGhji2gGfs OF39+fbmm4HB/g8AtH421VkAB5BJGhRgf4hu8QGOR/bwmNEyqwGVeGtqIZDrLM2eWViU GA5Go9qLs3v7VKsxLMO5tn0KDamfdOwdjecOgx74g3CCVl/gReNgPP3W3iS5ucrzyLLS KFVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751447660; x=1752052460; 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=9gFRDPHlPBhPYpwnAB3nm+bI/7JOZSpr774UIl84njE=; b=fjH5/CVv7vOh4hKTlQ1vMGJnRLBqU+ijAB4OkifSCuGfp/Fd82hGTw1myahm4PXn3T jUSnf8+yHSHNiZlF0A2X0r+nPRv4uqsoX18cTPiGGh+U7kyW3e20cK6opT4cS61CCHEG oQOKHFIqOC5MN3xc3huPVqS4UmuunnAFAMvompMz0VjBB+fltfsTBq64bOvhBiHnlGzL gjNL77K/DEztQtiB1sOc/EEC5CW62LGTk4tel0YB7dd9qt7b+HwzwQUN1ko+hummnEE2 781Ves5aubu0ZDE7zFhSdEo2tZd3s5euhDre4TyPOuf1rDgmlvzzeSclCfav08E958nr p03Q== X-Forwarded-Encrypted: i=1; AJvYcCUeY2usE9fQ7x0gdEVuG58cf3cOEvpDaOyThtMrWi0WuJ+rnP8b3ZyxF5+xhA0orP6F7ONtSpA+Ca7ZO4k=@vger.kernel.org X-Gm-Message-State: AOJu0YwOdugLzUCM8xoJP9ic4TR7V4BK64EhJwZ0ETkz0P48Hg+9Ewrj mjO/f8AF/g885sW7hl7oo2m5BZRj8BNhUlfNzW+93/rjnk9cpvKOgUxlXNnt5PGi24s= X-Gm-Gg: ASbGncvJFPv0J8Tjg5+tHbLBL3J744q4tXZddnk+SWG+93RF4kNtG+fe5rDgLBsMjZP 0Xf62fclrWiPxAFofA2EVSquMG2T4OGeQdSw0or2GKEqhInXE1yXPsGv7HXjiiPPl9FRCgrKK1f LJ7hGjo69yOaH5FRMzzpK8RmwqUelD7NcyqamHLG/mV07kV5rIprepWImg+72pCPhCv7L+JuBfv hADSTG/jexmisE//X0hLnX/+Zbe45FV0yyAdI6d9X1N8ANCc1BdiEUm6BCewcvXttYAxXYNO2er EgnDhsV0FYJbUdWZDFp2iNJgchXma9Hm8tf8WaJg3Rl1Gc545wlw+g== X-Google-Smtp-Source: AGHT+IEaKvOgBVbQc3AVstYfDGLuebZpjD9V4E0weFw4hA6msx2v2pc2O9+iMPDV7d2cD14iSyrodw== X-Received: by 2002:a05:6000:471a:b0:3a4:ebfc:8c7 with SMTP id ffacd0b85a97d-3b1f62b4593mr1675354f8f.8.1751447660238; Wed, 02 Jul 2025 02:14:20 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8827:d0e:25e:834a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e6f8bsm16027213f8f.17.2025.07.02.02.14.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 02:14:19 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 02 Jul 2025 11:14:09 +0200 Subject: [PATCH 08/12] gpio: tps65086: 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: <20250702-gpiochip-set-rv-gpio-round3-v1-8-0d23be74f71d@linaro.org> References: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> In-Reply-To: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Robert Richter , Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren Cc: linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2104; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=RiT9KYPZUPjJUkrlmsJNGrBCQ+q5tQCHFo0GQajIRV4=; b=kA0DAAoBEacuoBRx13IByyZiAGhk+GCiyW/Cax+5pbuuzScmqmztCTHWKXzuJP8YZ3ecqf9mU okCMwQAAQoAHRYhBBad62wLw8RgE9LHnxGnLqAUcddyBQJoZPhgAAoJEBGnLqAUcddyZxcQALhn HzumMruTT5i8skOXaq7vBezQ67+D44ywos/R/9YyECsugqcOYF5gnZLm0c/JZs25cGpEU/pLe6c NsIvsTOJG+l9To2DUUtoW3SHChZ8f2miugnn4C9+H4dN/PyZFRDg/eJbGEn5VGivT2c6Qw+dJgi Lg1RKTy/qT5pEZixB1wQ8swCHiSUwDWjPxDAhtzZai/pVF5i/bO+ULtZhHdm0Sp2OLyBWKWcqT1 oqpSO9oh94luYrY5iVwMxnjs2KvXJd7lG6xV/95tPZ5u+MI4/p5gQ1NO1qK8u0NLOaGi03YdKkW dVpf2aB5P2ibvpbU1PyqfhTZRCYaJgdiJWYzwK1uuaf09ddKByZy3QM4EhnlYxjYhMwtmGnxQOz bduT62luwT8SEn8bZGligtnyFqcnmIuN+um4aoi4Zy6iAb5FPC/2f8/J7j89ohcUfDtNgXV6H+h Rk4lDbQyEHZqKv7AWN8v3InNCoPuERGio04kWmqITxo6ZdRFTOmlcSQDR9r0UMEYgDWkZTRfxKi yyNEAUt4Qe6Z4iPyg6G0JLTX50N6/XpQLw+8l23lJa0UFVWS/Xw9OGWMn8yuJcdg353ZJERKFhA kDEeJLIei7hTx9otZ3g9MMixXBcNIxyCSGqF8jEzbDEg5DD9B5MKR3TOx1dTqj9sVG1/lSMuVxI DH0kD 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-tps65086.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/gpio/gpio-tps65086.c b/drivers/gpio/gpio-tps65086.c index 8f5827554e1e89b2cc2cac0e43521246fc986408..08fa061b73efcffd5f68724ae3f= dc54515d45adb 100644 --- a/drivers/gpio/gpio-tps65086.c +++ b/drivers/gpio/gpio-tps65086.c @@ -37,10 +37,8 @@ static int tps65086_gpio_direction_output(struct gpio_ch= ip *chip, struct tps65086_gpio *gpio =3D gpiochip_get_data(chip); =20 /* Set the initial value */ - regmap_update_bits(gpio->tps->regmap, TPS65086_GPOCTRL, - BIT(4 + offset), value ? BIT(4 + offset) : 0); - - return 0; + return regmap_update_bits(gpio->tps->regmap, TPS65086_GPOCTRL, + BIT(4 + offset), value ? BIT(4 + offset) : 0); } =20 static int tps65086_gpio_get(struct gpio_chip *chip, unsigned offset) @@ -55,13 +53,13 @@ static int tps65086_gpio_get(struct gpio_chip *chip, un= signed offset) return val & BIT(4 + offset); } =20 -static void tps65086_gpio_set(struct gpio_chip *chip, unsigned offset, - int value) +static int tps65086_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct tps65086_gpio *gpio =3D gpiochip_get_data(chip); =20 - regmap_update_bits(gpio->tps->regmap, TPS65086_GPOCTRL, - BIT(4 + offset), value ? BIT(4 + offset) : 0); + return regmap_update_bits(gpio->tps->regmap, TPS65086_GPOCTRL, + BIT(4 + offset), value ? BIT(4 + offset) : 0); } =20 static const struct gpio_chip template_chip =3D { @@ -71,7 +69,7 @@ static const struct gpio_chip template_chip =3D { .direction_input =3D tps65086_gpio_direction_input, .direction_output =3D tps65086_gpio_direction_output, .get =3D tps65086_gpio_get, - .set =3D tps65086_gpio_set, + .set_rv =3D tps65086_gpio_set, .base =3D -1, .ngpio =3D 4, .can_sleep =3D true, --=20 2.48.1 From nobody Wed Oct 8 04:10:19 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 1599324DD1F for ; Wed, 2 Jul 2025 09:14:22 +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=1751447665; cv=none; b=enhYEws8iU2MYwr4sHC+3gRxjf7vmCaljHeRVHwnasvR1vr9U+G0fF3Kg+Jf98DC9yEB6td2vK3PAYut3gVQtnmIIAc6YU8krwyz3F6SsfMzQzNLVwfdzNbD3LRaREyHUgbKT7pTOZMtm2ucBOw5ErlsvB5s14Q9aNbjRgaIXu8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447665; c=relaxed/simple; bh=RkJAhHI9guhFeGcgAo0p+bb9aQhe35Qaf3tHDdTBIcE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FICcs6zD7qFFX0/xkcBSW4zKYshxQWBxdVWxjlXXcBCbY2wBJXXVIXuhw0Af3fe/vOu+VOrnc59PDLkXFHsFxQczbybWGbXVs6QKO9ZNxTzBY9AqUdP/2WMsIlIWOPGgP2Wo/IYlTh6UHqCZdwTKy+Rpbx0jQjjEbR/hK5SrdVk= 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=OQsQnP4K; 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="OQsQnP4K" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-450cfb790f7so55181245e9.0 for ; Wed, 02 Jul 2025 02:14:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751447661; x=1752052461; 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=9PbvP7ii94AY3d065syIHwar8NBZworl3T0ee2JlaVU=; b=OQsQnP4KRRNHT+M7psK8vg7yyPO3Ldg62k9zn96bFhn2EPQ8CcARz5631zKTir3I/e lITguTP2coD4pQ2cbg4AvQN+rhFskUgCDzVlOAh0aT8BnJ74vjUOcmj0aIPipp6ftwE+ LZBda/rEJP5amyE9fZV2NhvBMnZmtKMdb3FH3uq2uccX9idtj1E2oCqJ5hgqhiNg20ar kr948xlQomhnV3mq1yUnCfzMg3iAuyUTZZSPilpVbAwoJsDFkTh3Clb9lE2MBWzDC0qh Si5K7f7+87koN9Usy7A2TtbmLCA5+T/BO2cc8VkKd4328rxqwh4yy9oUOLJNUJv6QcMM Go9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751447661; x=1752052461; 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=9PbvP7ii94AY3d065syIHwar8NBZworl3T0ee2JlaVU=; b=F5gztNyYMglQqeK9qTcpYkblfQ9nehzPBPGsaJ//VfRwDxmeQRghxcfdX65WFPPM5y j6M8Bay8wWbVQsS9hkmkt/HwD0Ij9d4F2d/mx64VCzMLxilGgSDLpe/JK04OxEP4TUcq e4QMpy24ilu/C8H3BUaeJYkeaiOxeT3Q7SnY0JJuf9EZKVTGHLLVbbwzxaWv44vR64Hw Y6lDbLssLMNa6I9wopg9rwj/yuPgf3WtO9Z76TktrokM25uZMsKSPQ4yFNFGhJSNGCdT F5NojHk1wXo/h8JP3V6IDn3KTbkyLp7ObpGq0AaTZCXB9F35RwkFtqiUscQGrMvhG2Dw XKjw== X-Forwarded-Encrypted: i=1; AJvYcCUTnCOtDXmCj1FYDuynif5FJCfVYvDpHt4ZHg5mX6gSeMWIqC1B/yJKqaGx47IWfSjtl30fURiI6ZQej8g=@vger.kernel.org X-Gm-Message-State: AOJu0Ywpk2L2NPi+6XT/buYvS3uQ2QE130hKOrOA4PqmTsgZyq++8iQC DkfVzWucQ5EIsEkWI2OavndsudOBA+2M0o/atu5HwSo+ekEK7CkK7Wkg3mqVet8waqE= X-Gm-Gg: ASbGncshV/kVlM3d/AObKtSN5flrZHgu/kQuUqvwd/4TtkGGoO/1LMPLsYSdXLuzIFi giFSJgoXY1wShHx3puOf4dbKeYv02meAL7ftrsfFJkF+e8q9jGE3aBE0D8F/n90vWHWujLR/0of /w7zAbJfvWDfMPU3KFwp/peRs22glWzxH7ShB6VTY7pQc9iYet+neg+/PibAL3q8Mw0UzP9C852 3cXkSoSUQnJVOD2cMV9bMPvtGRIrswvCaovPSIaEnG52Z2FW8PPj7VPXEzpFLMgRZgS36AP872N IC4y4281V3NJ7zGPRRqx2tDycFmMv4hvdO4fEinOmCamIKkihvVcNA== X-Google-Smtp-Source: AGHT+IGsbQpNGpsWwygDJDy3w5MbAg5foRLDcgsBAjfS4y6V4+H+CNdcJLnsDTe/iGDKUgTVRhzcmA== X-Received: by 2002:a05:600c:c109:b0:441:a715:664a with SMTP id 5b1f17b1804b1-454a3a4b4c1mr11962395e9.20.1751447661251; Wed, 02 Jul 2025 02:14:21 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8827:d0e:25e:834a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e6f8bsm16027213f8f.17.2025.07.02.02.14.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 02:14:20 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 02 Jul 2025 11:14:10 +0200 Subject: [PATCH 09/12] gpio: tps65218: 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: <20250702-gpiochip-set-rv-gpio-round3-v1-9-0d23be74f71d@linaro.org> References: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> In-Reply-To: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Robert Richter , Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren Cc: linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1287; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=zWboDg3N5zb2XaEN8szzzSbn3MNGMgClzlNJIPkFkw0=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoZPhh62c0BZgIE/W4nLb0zSNR0o9OQNiyi80Tk T9Q+te1SxeJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGT4YQAKCRARpy6gFHHX cmhoEADSugLmkmZIlBjfyk6OsGwx0kWZkz3LDtgzG7vF4qCBoUG4qyO1UbUJDB10WokBoagJCGD 2e7Z+XEcLJ6lar/VXAkUrVFYRMu8W0MyMZsExZ6QTuPNBF+b9+1B/umRU6CUTi685wEFahmg9Uk yNSKWLWOvz2DOZ/6ajvV/LQIzGe05CIFyAVAeDxwN2zE89jtNZuiCNfeFhhE6caIGxM865QUKH5 4ssfYViRBXxJ1Rl9aVjBLbWUIX6n6ZxWxBbT9i6xpDV5RGzKQDQgcWqQTrRwjuJ099eJUqyRkFD qCYveWbmcA/hr/iiM5dOx3ZFT3B11TVZmfeggQrSAUSar5dtZKrEzhE2sGyPls8GwK/u++b2PK9 v5mzQyRNmFd6Pa1Nnt7NrGu5mAKUCFLAJDW/Vj1tPM8M3tYVVG9tqJEby5I1TjslidTtLIVDnsm bh/ItfgNTqBzXh/2RB7MmPYLN92Ml3OkUiGu0rpBH9P7ALFYBY0b9OJ7khmI9xARo7XlncCCQDm CrC4FpK4vx/HhQcRDnFNAMjMASQ8oW6+bIppzr4q8ntbz7M2RUUOmKkS+lZBadAc7iDrelqQ2v/ NGCYVWUUQG63xkfeQ23Ewj/KhqyAmLBhMeGWn/5N7bZV9gsLfUuo04zHZyoL4nu1ILRZiWB0Ymu 3IXsWxrJhSVu+TQ== 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 implementation of the latter in the driver so drop it. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-tps65218.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/gpio/gpio-tps65218.c b/drivers/gpio/gpio-tps65218.c index d7d9d50dcddf432c0825246d8ff54a5c980b0ae4..68e4f0a19f4eb945b33e5992fdf= 30a29a40bfc1e 100644 --- a/drivers/gpio/gpio-tps65218.c +++ b/drivers/gpio/gpio-tps65218.c @@ -59,11 +59,6 @@ static int tps65218_gpio_output(struct gpio_chip *gc, un= signed offset, return 0; } =20 -static int tps65218_gpio_input(struct gpio_chip *gc, unsigned offset) -{ - return -EPERM; -} - static int tps65218_gpio_request(struct gpio_chip *gc, unsigned offset) { struct tps65218_gpio *tps65218_gpio =3D gpiochip_get_data(gc); @@ -174,7 +169,6 @@ static const struct gpio_chip template_chip =3D { .owner =3D THIS_MODULE, .request =3D tps65218_gpio_request, .direction_output =3D tps65218_gpio_output, - .direction_input =3D tps65218_gpio_input, .get =3D tps65218_gpio_get, .set =3D tps65218_gpio_set, .set_config =3D tps65218_gpio_set_config, --=20 2.48.1 From nobody Wed Oct 8 04:10:19 2025 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 023EE24EF7F for ; Wed, 2 Jul 2025 09:14:23 +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=1751447666; cv=none; b=JYLCCfdBZg9A7gi8n4s8eogQLICWoSI/RMmicTRjX//d1aYHP1G2N0BBQ/CRFOjLp9F3LuwARxgbiExEl2G9gv6PktsQ9NDzVQ+bXr+criGY6u+ExMJZCm40kpmZKfS3gxu9L8AvesgX8WN9DG1hUl3zVMV4Me/IiP4u1ohSSkI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447666; c=relaxed/simple; bh=DguSM7EjLtrwVpT0x9yjX3iDCS5eIB2Mafki1V+bITE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Fdyztwc63vGyz1KJUiN9d+sSV2DXrs2dQ9NgEqTOs0BfGC4pUhHl+Ku1YwcsCOC9LDikXKLk4qduIe/Mn1T7BURjaP/3MrGFYed8IQBJbMCQ48y9EhKUXVRorg4BtXhVefgiveLiptYzS8P9F4/CCR80IeH2gJRqTrq/beprT18= 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=deGiJ0Wn; 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="deGiJ0Wn" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-3a54700a46eso3509783f8f.1 for ; Wed, 02 Jul 2025 02:14:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751447662; x=1752052462; 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=gpx2zRD2zETOgoqOp3qUcnPAf5yA0X9HjvfLuJL1NY0=; b=deGiJ0WnYhydWqGGsIG5V/SWs4qWXLsGJb6XlikUry/llBeFnpLRnylo26yJ1a5M5A /FjVI87Z2YMqiDO4gSMSuaM6+PyPP37rHibMtBkEF8jWkzd+4DsXmb39qNzcVB1kVUCA r1cLroc0hhbv3JVEXnr8kZAo/FntXqNW6GnaOoobIZ/GiXEvW7NST/tx+mZoV69P7gmq D7j3dPHVXQlBIaZVggB9L3GyW+zXzXY+XqDAeYJhpNq9JKns33DJ7GPJ6TXPw4+Rgxk4 eLZkPYaweqbkeE7J1fU7iftNOVs4gkHcjs4zCaZO/5EnVLazr+R2BTnduC3P3DiOjtuj hODQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751447662; x=1752052462; 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=gpx2zRD2zETOgoqOp3qUcnPAf5yA0X9HjvfLuJL1NY0=; b=RbcHliSuU8oJGmusXe+bCh4LdD8u+yO2e6xeAIRaR4/hevOZh3k84LZFd9/YGM2SDN tYsW/gy6+fDMGSDltawFK+AQoacJk+EmNPI2IhROXMA+MXRuSsgwOWPcRoVkQyVlp4tb Q+hEZ0wVun3t1HUC02dGWsACo/1qcyekUzmH5ow4YKCP4ijn86Clzkhe98UjKsUxylff qzB8EAAiIsn4ZFIUFYPICSRi5Q6Ti48GHlhxlyaH9gZLnHqCoiqjGE+zTdnrIyTpBBDp 4BvJUk2+ERPyRZULZyvCvvvgP04QF0W0vzDAyyU8HqV85u1g9Rt14jpztHydpLADN0vN GTWg== X-Forwarded-Encrypted: i=1; AJvYcCUndC2hL7lhz6kddSRZnUVS1HZtz64Yg6Sg3nrqWABuXy9g1pRcwXoC6a/oIgQH6OwrojWivlS1gityseQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yyw66i2PG7NrsXlRT9ezTzKngLBGDbXXhIgVLLmlSBol98EL0Ao /mlbea3rLnSTLITesvP8+xzcyIRWrD4VO8qvjjVI19WmowgJfYb9JVDQzTBPXOqHKVQ= X-Gm-Gg: ASbGnct0KeeAZKfWFv0rVyfEpG7Kf6WptfygGGk0V9FoUg3vWoH14mPsv5wdy5W1KLg ta2DXmFUNYol6RkaPl5IZO85WqxtdAxO6evY+l/Y1ql3GRNzSEHvPHW3h1C6xiEoEEGdWTg0O8c 5RVsBxX9uGW//0cSipl/a30drKmoEMcUy8sbKqDQgpH1y3ln5MGj9tDduoB/mwLzXJQ0fz056I6 drVRnfDVnmha0qMRTNgDKF0lV0NXtqqwEQWwdfmk62BpAivGZH9xbsKePkTVc8zAc7YyDR2CvmZ a6RVmGvz1PQ5SkRJHd9NAFuHEBAC3OTtEFzcPszVnbhzZGhEEYkq7C8vdvAEbks9 X-Google-Smtp-Source: AGHT+IGVlrwZBWWDYlC/97CvbiHdRC8yezOYirmKDD5NIJ7Sc5+XMfy9yrxtEVYeo1wrlkHfZ9kXzQ== X-Received: by 2002:a5d:5c12:0:b0:3a5:52cc:346e with SMTP id ffacd0b85a97d-3b1fd74c02cmr1405354f8f.6.1751447662245; Wed, 02 Jul 2025 02:14:22 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8827:d0e:25e:834a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e6f8bsm16027213f8f.17.2025.07.02.02.14.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 02:14:21 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 02 Jul 2025 11:14:11 +0200 Subject: [PATCH 10/12] gpio: tps65218: 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: <20250702-gpiochip-set-rv-gpio-round3-v1-10-0d23be74f71d@linaro.org> References: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> In-Reply-To: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Robert Richter , Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren Cc: linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2346; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=Kj1Uc078M3RGsYFWnX/pxEd96G+25cnoGzALzF84Zao=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoZPhhiaZaWrELXTwJFn30XUF5omE+BRuB2Etak C24B5i59vGJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGT4YQAKCRARpy6gFHHX cpa0EADcu4X3M7EjtlErW4yrfl3kbML5suesL9nYnC7QAOJ2pjROvgvkpbErlcxBLY1LLejY0PI 6RCNZ4qhb/Xnxyfa/NIdW1eNSapxwp7bXQ77oeVzl2SXfaA81rsPG7W6utSW/pd2p3iw8d6vSa5 +JdGW3NbP96Rc7Uh8jyhKvXwHx3Om/C6SV5i1JU0i4Zov9uV7i/KvtTBG0CRr8mDe5iZekQoS23 YxdZ9l1K5NfUXokCr1W7M48LiAi29DYuZTydb4rupaSDpX4z+clv8rNpZOFJ8CbZ+Wx/U5s8nKo JLPogSlkKEs2OezM8zQDypAejrgdZQnmVEMuF0ASzlghXQ7BIVv2mLKSkpiN8lxx2S78eNWPdtF AFz4WtbJO0F53M/sUkCX6MedGyNZuZXwTCPr3oJ3ufpfaBmWO7ijwibvW5oLo/hJplJq/SVLYsy qzBQt7ju4HHRvQNeoMe8I2754EYNiWcyZuDbjxBdDtEq+1p68k9rbTnDf8uWQg5E6dRY4iMMUKk J5ycZ2EUp+QJVndO/iCk1MWW8FtKRQBStObnZ2z3+MYZCVDgBZccjlEH06/QcyxJq0JpcqvTPKk vsd7wirRNBst7l6HEsJVXqW/OVYYtKTQstoQw7AoExOgJAAJ+ef5M7MM3ERljiU0m7CwbhY3cJ9 clwtEVGfiY9g8Rw== 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-tps65218.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/drivers/gpio/gpio-tps65218.c b/drivers/gpio/gpio-tps65218.c index 68e4f0a19f4eb945b33e5992fdf30a29a40bfc1e..49cd7754ed053bcdbf25a4e51e2= 27287257a5f03 100644 --- a/drivers/gpio/gpio-tps65218.c +++ b/drivers/gpio/gpio-tps65218.c @@ -34,29 +34,28 @@ static int tps65218_gpio_get(struct gpio_chip *gc, unsi= gned offset) return !!(val & (TPS65218_ENABLE2_GPIO1 << offset)); } =20 -static void tps65218_gpio_set(struct gpio_chip *gc, unsigned offset, - int value) +static int tps65218_gpio_set(struct gpio_chip *gc, unsigned int offset, + int value) { struct tps65218_gpio *tps65218_gpio =3D gpiochip_get_data(gc); struct tps65218 *tps65218 =3D tps65218_gpio->tps65218; =20 if (value) - tps65218_set_bits(tps65218, TPS65218_REG_ENABLE2, - TPS65218_ENABLE2_GPIO1 << offset, - TPS65218_ENABLE2_GPIO1 << offset, - TPS65218_PROTECT_L1); - else - tps65218_clear_bits(tps65218, TPS65218_REG_ENABLE2, - TPS65218_ENABLE2_GPIO1 << offset, - TPS65218_PROTECT_L1); + return tps65218_set_bits(tps65218, TPS65218_REG_ENABLE2, + TPS65218_ENABLE2_GPIO1 << offset, + TPS65218_ENABLE2_GPIO1 << offset, + TPS65218_PROTECT_L1); + + return tps65218_clear_bits(tps65218, TPS65218_REG_ENABLE2, + TPS65218_ENABLE2_GPIO1 << offset, + TPS65218_PROTECT_L1); } =20 static int tps65218_gpio_output(struct gpio_chip *gc, unsigned offset, int value) { /* Only drives GPOs */ - tps65218_gpio_set(gc, offset, value); - return 0; + return tps65218_gpio_set(gc, offset, value); } =20 static int tps65218_gpio_request(struct gpio_chip *gc, unsigned offset) @@ -170,7 +169,7 @@ static const struct gpio_chip template_chip =3D { .request =3D tps65218_gpio_request, .direction_output =3D tps65218_gpio_output, .get =3D tps65218_gpio_get, - .set =3D tps65218_gpio_set, + .set_rv =3D tps65218_gpio_set, .set_config =3D tps65218_gpio_set_config, .can_sleep =3D true, .ngpio =3D 3, --=20 2.48.1 From nobody Wed Oct 8 04:10:19 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 93D2925485F for ; Wed, 2 Jul 2025 09:14:25 +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=1751447667; cv=none; b=SPWOuHcyXnAH7DMZs0gaNAEUzNBN2H6vOfjr7PVNr0tICCZ2DUHhRPB2djSHJpLDfHuJkJ0F2yqKepn+ANbi5He9ah9gPc+K4p6gQ8yxVmYgVC6END08GvPEcA3lPjz1r7fltJe/psCvJtGckEumza3epBaQXdpWRO98De5DYr4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447667; c=relaxed/simple; bh=zlthjUjwq5kDtYtL7penfgsSNjjQNd/Dl8SDMbL+tqA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jfP3/TQ2WHiMi50OYYrCarkmA1W3affloNLChiF0h5R8VJeT9ysSAhOo0rC+Y8olWQdwbOJDCK8eRTeQSoWdHV+9ozd//R1yAcW3SgPLT+86gRwZeB8i3Wnv5g2di4SPySbkw6QUDgu9EbcjeD676eijsHDEYao/Kpd6/+p2OuM= 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=Mipy57cn; 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="Mipy57cn" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-450cb2ddd46so39215635e9.2 for ; Wed, 02 Jul 2025 02:14:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751447663; x=1752052463; 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=7Beea6MWuIodOhS1JOBYs442Wl5O3mTLhF3pIS//cII=; b=Mipy57cn3th6VN35g6wz02LZB1zF3TR29UuUH2Td2KHaz7XBrN8AbHoPJKuhhUd3Zt E2O9yRgmamB5Z3cyylWX4AJziHhKtgswsdcO+Kmrg2E1hVOVuoOWu13Yueyt1q9S1Ocx +RNWypmCNewePLP0Z6jWBd/VoWeWLXoVwHxqomiP4CRrG7yQ8SUCBIfhj7tkbLRT+BWC 6iylPpXsg+xVI1zxf+9vyV5tvrwwo+EIEihzejcprfhd+YoMY6ryjk1vtu+uwfv7SSBK KKYB8Drrb5JwYrj4BNJ+OrHCeDlIAlV7FHkkqjwzqPhsKlHK83ajyRsRMnrPrsPuicgH gq7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751447663; x=1752052463; 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=7Beea6MWuIodOhS1JOBYs442Wl5O3mTLhF3pIS//cII=; b=GQzu5WdaRI/ppNtnOZo780mt5xgVMQP7EoW89Q4FSUD4RMxldGyCAKqelLynJOM6yZ kH+Rt/pf70IP+W2JQsCFJQukvF6ZSAYBGZ7HU1O0U5fdbBzPEMElUp4ytRnjzGiBRLtn pRzFV4CawlXRl9GMbgaeZ2SmL2pMJiBK7exS/xdtfSOiq8rw/ZpGX1Eq6dcpJOo8pCtv V2xH28tMGv6uLCXHedCeVSGsvXLZ9X6GYKS5lpirMBCzeHSLWXujksWTPN/s64Vnknfg CgT7D9kN7QPJj53AfxH4bCwh+qol1miZPnj7ZsGJLURyDQ7IUZ2S3XZCAVR5ac/KeKFv B0fg== X-Forwarded-Encrypted: i=1; AJvYcCVddLGvrf9VllEq8smdw0GZmmTCltrSvoFkUQB27uOYGtn8Zv2gQ2qThMFGFVMhMwArPsuL1UW+kTvRgRU=@vger.kernel.org X-Gm-Message-State: AOJu0YzcsS13LMH3R6rO3EJnClujXm53FpmTvdGpVWezwCrhAyDD6pdU ZoVjBR4LqMU8Qvg+tRfAH3Q9GzlRFgKTtJ8cPYU3OZ5m6OjRo19raTJgENvo9lRrgC8= X-Gm-Gg: ASbGncsZyqpIfgealgxS+xMvHFMmlkH6jJ3Q22EKn5IIL2VWW9xQPgq5EvuaWYZaBaV nVF6V/zBUvSATV0PqmdGRuzV0ThufSgnMX/DQZZh2OqdvF25blzeI//Cg8pd7LLW5is1AqtMcaT bvKOiQsHCHKORA0lvHHLD2X9YlUbGhUGDxXTpUzF7DKdoMx6uhcxGXqkS7InGOxmdKgU4A1jBay zWIgBI6pAAnIciNX1VIigFIeXC/xeLCI8Q6SJHN0/ZgvyKWprpwXGkMRg7mtu/BXkcQwLxGo3qb tNgpE3it4IOqVLbY7kDERF0X5RbeuJ0+DBGLjZQLwXL6YQD6diF8Gpb1uqo4B8Yr X-Google-Smtp-Source: AGHT+IHTSI3aM2zQ1ucQGM3nDAOwtarY+pS3lvCIulkk0w22xSsj+UmP+PVinA2YlEUeVq0N/7O5tA== X-Received: by 2002:a05:600c:3b8a:b0:450:6b55:cf91 with SMTP id 5b1f17b1804b1-454a5629244mr10682265e9.6.1751447663551; Wed, 02 Jul 2025 02:14:23 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8827:d0e:25e:834a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e6f8bsm16027213f8f.17.2025.07.02.02.14.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 02:14:22 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 02 Jul 2025 11:14:12 +0200 Subject: [PATCH 11/12] gpio: tps65219: 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: <20250702-gpiochip-set-rv-gpio-round3-v1-11-0d23be74f71d@linaro.org> References: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> In-Reply-To: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Robert Richter , Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren Cc: linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1898; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=gYzTAjrXOQcnBCzz+IiEk8V1vOdl46MTbVqVbgJp18U=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoZPhhTuCcy7zCVK3wPoNbLGYDt0ecT1kLOGmcN u7KeYMohcKJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGT4YQAKCRARpy6gFHHX clLoD/0Xn7UR+cgNXXw0DEy11wr+cjIV4QvBlKWr1mURUb9ZAnGz7AH7YNRG5aJW99xkGYV0e18 7MW+z4G+Wjba/F6DKUZIrk3QhhwW7y0AJnGDYUwC8aHp5EZBj6CX5A/wook7GQupf2+YJJ2dBJF 2DvGno6M+oZfzLKFrQ+09VK6Cs5/PiwHG0jySML2lFIYRT0ExfP6jf09+FWg4AKulFqguRyW1kP 782K7gT/+cwDNXGBJWEQgBJWfpWKQUy87cHKvlC4k57wpOt19gN500HXRYjYiiNdB/XowgB+X5e Kuw74eECcF7Zrfo5PZzi27VXaVdAlYhyaNG5u/PGFsW42LtMacB7W41wYtOPin78Y3eAhxVRYxl 4zs/UL72Q1elQ0ElcNmR4JYgAhdbP3kkhjVkDDvYWH2zb+jNfQzeG0ulswaEndqgQKvrdMrJcDF raj9Ov3Y8llR46WQ78n8axYE4DjpV4CCdwLc4Z9or6C2rrGSeDzI3UBQ3u93AtO8ZU+pGqHhiwu DKhE3LN/7T9gYiQZ8T0VVAVSkGMGza+fjgCi7bA1/Bw+wWBRFkuqlItq1oOwznMXxDvXsPiEFkW RCoN+bF5guwedbJoBMdsLYbyqmooDmCTlyCsEolI0x4P0s3CpHtxT80Pv3WtOZl+3q1KKURzuIc GNurOoVmGWtn3vw== 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-tps65219.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/gpio/gpio-tps65219.c b/drivers/gpio/gpio-tps65219.c index 526640c39a11faf7837847d7eccf0aa33d482ffb..630cb41e77a4ef212305e710e98= 8999c98cfbe66 100644 --- a/drivers/gpio/gpio-tps65219.c +++ b/drivers/gpio/gpio-tps65219.c @@ -65,10 +65,9 @@ static int tps65219_gpio_get(struct gpio_chip *gc, unsig= ned int offset) return ret; } =20 -static void tps65219_gpio_set(struct gpio_chip *gc, unsigned int offset, i= nt value) +static int tps65219_gpio_set(struct gpio_chip *gc, unsigned int offset, in= t value) { struct tps65219_gpio *gpio =3D gpiochip_get_data(gc); - struct device *dev =3D gpio->tps->dev; int v, mask, bit; =20 bit =3D (offset =3D=3D TPS65219_GPIO0_IDX) ? TPS65219_GPIO0_OFFSET : offs= et - 1; @@ -76,8 +75,8 @@ static void tps65219_gpio_set(struct gpio_chip *gc, unsig= ned int offset, int val mask =3D BIT(bit); v =3D value ? mask : 0; =20 - if (regmap_update_bits(gpio->tps->regmap, TPS65219_REG_GENERAL_CONFIG, ma= sk, v)) - dev_err(dev, "GPIO%d, set to value %d failed.\n", offset, value); + return regmap_update_bits(gpio->tps->regmap, + TPS65219_REG_GENERAL_CONFIG, mask, v); } =20 static int tps65219_gpio_change_direction(struct gpio_chip *gc, unsigned i= nt offset, @@ -147,7 +146,7 @@ static const struct gpio_chip tps65219_template_chip = =3D { .direction_input =3D tps65219_gpio_direction_input, .direction_output =3D tps65219_gpio_direction_output, .get =3D tps65219_gpio_get, - .set =3D tps65219_gpio_set, + .set_rv =3D tps65219_gpio_set, .base =3D -1, .ngpio =3D 3, .can_sleep =3D true, --=20 2.48.1 From nobody Wed Oct 8 04:10:19 2025 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C5B825525A for ; Wed, 2 Jul 2025 09:14:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447668; cv=none; b=hJEetyDGYCPlKWA+4z/8WF++Y1crDWso1pcN7IB7SYvwJ5m+aEnAG3+g8ONbkYa6FlJrVXLsA2V35T/f4PTa1UrR6tEyzTGgArY+ru9NIbiARIGo2TjrooPNqO3eK6pek8LqZe0OwExFu/deYQ62/yJzh+DUi9ojGO4VGnHUxrE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751447668; c=relaxed/simple; bh=NN72aqjpwJSv2irviEDiSUqnOMzC4st1teZcnfhIUJs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Zbjzai8Et/yNT7all3guU/4XoB//Na9ghKUl6PWPzn+IYUwi4a30gLf5Pn1sBW1PHa3n9IlS9LgiU8eZFC8XG6LkXV3S3hOMpO4qdIYhGjx/piz09qU4LvSlrZd9z97dq7HoExpHP/F7rXyfEzKqEg39gXsu2Z5J9GziW8UOF9M= 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=g/bBa63l; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="g/bBa63l" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-3a54690d369so3939428f8f.3 for ; Wed, 02 Jul 2025 02:14:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751447665; x=1752052465; 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=Zmv3tRKIBVq49AP27DBsRvEkqxDC0NdKZdExvK5QdPc=; b=g/bBa63lD/jr6iRfDzYLsFEwsb9Dksnzy+gQCdTT3JluZVP8StBAnYHpmzyaLlaktn 0pkR+aoGn4kxpAIZaLJaswAKVkEESQDR2k1PKQS2CTjITRb3EfPFRvAesnunaGkmG6if Tffs+uCl4Lcp6Ti59LkwGVHNqQhDXhKNqJ+fQZMyX+dnHOQzwqNb4+3ixg0CnhKgP65P ul5Y0g8zUy99e231hoiEYKR3XQHLZ6MrpD8r0BNhc93LrDlsk79it6I4mMhrpDXDV0ad PHXUx2Er89zMRCiZGNNe2gM3Kc3q22ksIZV6onkNXCgwdPWCHtJzf+nNzEgjefX3AerQ T8Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751447665; x=1752052465; 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=Zmv3tRKIBVq49AP27DBsRvEkqxDC0NdKZdExvK5QdPc=; b=PVS/VldltbqVWuBLJCYfFoA1ootCvVVxCEgUto5m5+5+KSxjue0umgsDHi889PnZh4 3njXsSwehDKAh+TjnugNiAVGVvyYnFekJiRVwsDvoe88ztWu+xzl3r/WzaIm5F/23/s1 D9JBlxg18RULG/8vi6Mjklf1rA+sNtv/NiHOXXuFm9RvuiW3Uu4UL8Ajhgi2zKuFPBZA 6N9ulMPq7tyBo5+3EcfSfWbfspkJqm6GQeDKT90oeAm1QKeky1E9YfJKo9GU20ko2CB5 s/qqsX7UozrGHsacldiwB+tRbGWVscSqB1EgNroriQd48zgmpxJmFAmG7fkVLjB4NtPb 1FRw== X-Forwarded-Encrypted: i=1; AJvYcCVW4G9ak2yJQ7hrI8Z+gMWo/2VmGz7W/zPDM5l0ou0HUDAEaCruB+ComLN2rOuqLCLfOjR8eKhWPNRXANk=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5reD4DogNv/3kN5A9kuqF+A3c9dzscMGcFOJV6rpapdhtrPJQ T17gs+uZD0z2HVFlYtIpiD3mmQeP9ShLts3n6pTb6B49Rn5WQcpvqUBh44RW66DZ0+s= X-Gm-Gg: ASbGncv8R+GqsCLi2iCy27t3SEuniylMFIo+FqOgVvjhNYJLzVX4mB7PIufLq7bcMbj r3KeblXElbclY+zE3Tp0B2w/9mYdSE6XoBpvtQumPMAoHCg1Undc/wh2Ts94BzAQ2KmTpJNf6Ii 9CO8Ctcy7DDEAgsi/JniOUdCGRboVOZsDzYsNBvzluA0lkemkEBzq+AWgV69E40yYSGVYyF9S8p 7Ik7IVrMuXMg+3eTRu01v7RxEzEzia18gjll3GyFZZr7e8WrJOnbBbwvr1vGfvyRv6TJI+z7fjn /SR7cCKcS+ZMYJtH3fqEkHnN6de9FFvwmi40I1bpofUM4oDo11hNxg== X-Google-Smtp-Source: AGHT+IGTmm4jTikwN2VGwBNAxx51rzCBt9ao4TX3exq/7NZm6Hiin2DGw8Q7fWQBOSkwwMPNJ/w3zw== X-Received: by 2002:a05:6000:2509:b0:3a4:f7ae:77ca with SMTP id ffacd0b85a97d-3b1fdc20aa1mr1411408f8f.3.1751447664576; Wed, 02 Jul 2025 02:14:24 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:8827:d0e:25e:834a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a88c7e6f8bsm16027213f8f.17.2025.07.02.02.14.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 02:14:24 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 02 Jul 2025 11:14:13 +0200 Subject: [PATCH 12/12] gpio: tps6586x: 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: <20250702-gpiochip-set-rv-gpio-round3-v1-12-0d23be74f71d@linaro.org> References: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> In-Reply-To: <20250702-gpiochip-set-rv-gpio-round3-v1-0-0d23be74f71d@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Thierry Reding , Jonathan Hunter , Robert Richter , Aaro Koskinen , Andreas Kemnade , Kevin Hilman , Roger Quadros , Tony Lindgren Cc: linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2077; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=dzEZyQb/TffciTBuglIB85TDIVsqFc54rkSmHofFPX8=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoZPhhtYULyctCIg0hBfEEWvehjyvTXWYFEXCBG SErYwBkd42JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGT4YQAKCRARpy6gFHHX cjVFEACPDNGwDFvzi5UCZgFldPon9+X/rScnJUb2vh/WsnJHJyD/0LaFIwkAQtbCOo1CqKXzY75 D6wnIjv5S7bEKT2CTsx1I2Z8T+Sn7pBZ82Kmz33kLiX6cKNG2ghc7Vxmy1T66bOQIQNQZ3UgURT s5YaykSkWDjUQOv//cCjbByPlw8IpEo3oVT6a6hpZSO1AsmWzBTRfv1l1JxAWexfPzwqBLJg8fb DGCEXceEl5X6LtC2WvCRbtUQDGNf9qcM2XFLIvYANLs1LFw8VVfmPN44DlwBxbACf2G/Ig5Btlz tblCQgh2mbB8V/O9UmbJ60UmJ5iEb/Z2rG8GoIYr10rxm/yGz1A1z6VFH06Uepa1UPkjqQQyHXn kYFjn1grhI6OzTB7nUqKd8+ktUppIJBeaPAB7yoU11sr96MdVvBopa2syhHl7EI6RVdc6QmCwxl I9UVisYsVV9WOHJCCmE7xrSOBM1ySQMdrHFZpDJcxoWV+W7iuMwKVe05/2zXzgcM2nLZEfL/ISC eigHTL3e+d7vFQidKXf2qWeEz09CdSozw/8fhwUg2HwIu/9EyLrw3bNlJ3CN2iqlUTQ/PeYoegZ YQj2GmsteV+0fJm3FWKKc7FdD3dlU25KwVEsfqD8jQicxUcPJ4Mn8cTvqexel3TncXL9NSIkmBG YNjyg562TerE/NA== 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-tps6586x.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/gpio/gpio-tps6586x.c b/drivers/gpio/gpio-tps6586x.c index d277aa951143ccf9560bd77d461786f120e46a52..f1ced092f38a5e491378fec2d80= dcc1eb1182cbd 100644 --- a/drivers/gpio/gpio-tps6586x.c +++ b/drivers/gpio/gpio-tps6586x.c @@ -40,13 +40,13 @@ static int tps6586x_gpio_get(struct gpio_chip *gc, unsi= gned offset) return !!(val & (1 << offset)); } =20 -static void tps6586x_gpio_set(struct gpio_chip *gc, unsigned offset, - int value) +static int tps6586x_gpio_set(struct gpio_chip *gc, unsigned int offset, + int value) { struct tps6586x_gpio *tps6586x_gpio =3D gpiochip_get_data(gc); =20 - tps6586x_update(tps6586x_gpio->parent, TPS6586X_GPIOSET2, - value << offset, 1 << offset); + return tps6586x_update(tps6586x_gpio->parent, TPS6586X_GPIOSET2, + value << offset, 1 << offset); } =20 static int tps6586x_gpio_output(struct gpio_chip *gc, unsigned offset, @@ -54,8 +54,11 @@ static int tps6586x_gpio_output(struct gpio_chip *gc, un= signed offset, { struct tps6586x_gpio *tps6586x_gpio =3D gpiochip_get_data(gc); uint8_t val, mask; + int ret; =20 - tps6586x_gpio_set(gc, offset, value); + ret =3D tps6586x_gpio_set(gc, offset, value); + if (ret) + return ret; =20 val =3D 0x1 << (offset * 2); mask =3D 0x3 << (offset * 2); @@ -95,7 +98,7 @@ static int tps6586x_gpio_probe(struct platform_device *pd= ev) =20 /* FIXME: add handling of GPIOs as dedicated inputs */ tps6586x_gpio->gpio_chip.direction_output =3D tps6586x_gpio_output; - tps6586x_gpio->gpio_chip.set =3D tps6586x_gpio_set; + tps6586x_gpio->gpio_chip.set_rv =3D tps6586x_gpio_set; tps6586x_gpio->gpio_chip.get =3D tps6586x_gpio_get; tps6586x_gpio->gpio_chip.to_irq =3D tps6586x_gpio_to_irq; =20 --=20 2.48.1