From nobody Tue Oct 7 19:50:48 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 D9A08285CBD for ; Mon, 7 Jul 2025 07:50:23 +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=1751874625; cv=none; b=I4sxC2pS02Y5HanaSQFHjJoeq2QOo1Ccown8eMwh6xmDQMrj8eDad4EUEwNoWoQe8F5ePgGB40jO2ri8oJ2QkBMywIu4ckrHFA8phxI1/+89xJV9PoF936DgSJo7QwzMou0Zbi0FJgHPnv3JMXh8fcNo8qnENwNl53xjZx93SYI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874625; c=relaxed/simple; bh=wVo3Uj6jmnQf/BSDDMw9sp+FUodCwKCtMimosX22fNg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LvYmaQp5FBCa4kAGf8bFUHIVd3LWhrvtWqzuPEFWNlnJ14n3Xa1KO5xOWyp1ZOnF0XP/o7KddlSW/TG/W5hg/VAGJSIrCvzJaXGbOTbxevhjp0YmuP72GnNHuCgfhr5uh099zRPrrV82pN+nKc2ObQdsDe0MeGaiTts8fblsUFo= 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=n/PFFzRv; 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="n/PFFzRv" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-4530921461aso18235885e9.0 for ; Mon, 07 Jul 2025 00:50:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751874622; x=1752479422; 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=7KIguw26t4x0LRcjdNKl7u8c5ct1I3xgnx7WNCV/df4=; b=n/PFFzRvEDOn8S8ODTT7crQKyqH79gl26adKTFQvBL+X7n37iZoJmYEYEC7PqxTuIe Bg5vAAKOcnVp+Gx8we++hxwmk0vbXYAXWBEfIflHnIki+gdMe+/Pgd8Zl8SwiagrjtGY 2pLbMBsTXVzrVWZzRWbJ+rRoGmyHWm1GNhg3VpmxJk3YLUj5cp2Y6yGbI6+xRXlxokkW kVClN/DXL6eUcIuHsE4gSXE64FA1zJ+yp+Jb5LdM9CvqUfbWCeNoOx0WgJDsotVOK5uV 8g5PivLkS8olQVJ1EmSVBF/yb/9WXRMD0YhQycq5pIZmQD9HM3h0+7LFPWF/2bAbGvrn NW9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751874622; x=1752479422; 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=7KIguw26t4x0LRcjdNKl7u8c5ct1I3xgnx7WNCV/df4=; b=YivY04n49IcVuodNWbrAqDAM+76mdz/tFvhf6EznTkqLcsJzZ4ZOYGBWNyKPmQcfXN 8nfkJe+ltSgCn+Z4PK3zJh2gfPFViM8L/1Q8Y5CWgBU1oobrvkQSIXyzcVkzO4CZrS4v LWhnW5iosNvQi6JjquBVv59KW6gpC31nptOSnFy8xXsHOg5Q4RHnlVvmmXo2lkfi0QCw 0b90ykHH00qI5ZunxQ53NfdXJcnEuJqWbGuLUPodaHV2TSA/wV+Ko85n5R7V8hevKU20 kG+yisM3rYuUFFrrCCKYbjB0t+2yL9q5ImdhAodsXlTRF9Veyc8N+hvlVEqjaQAcapNi ke9w== X-Forwarded-Encrypted: i=1; AJvYcCWyCPSgJDL5Gj0T+aBAsX4rgxUw6zAdI7dFnr8RWXpjdAWSFljdIudyEUMn0XmCFxL8aBgKR0UprEPKdPM=@vger.kernel.org X-Gm-Message-State: AOJu0YzCnFL8kHtjnqwcrb/CD0cnMVVyDNywAd8PKvJploTz4b5UslFh LjQ0nKHxVW1l5Z1oFeO2Etppy4EV7peUONoY/kpumRO7OSFT0kCpsgKi3dHOSF9Ma7c= X-Gm-Gg: ASbGnctQIdBf67jS+6zUNhKhfnNj8/HH+0O5DYGdxlqiyxXtbc1xNbHUhXfYKzT6Tl6 Vs74Jk2WvZRJQf4cWTzmpw4XDNkJ/CZfsYmkDDDSWqqwmh+WM5m8T4CKOEAm7aesc1fo083X+WV sJSLQj4IYfE+iqsX+pVMDEXLgvYUaJOzZeq4bDNTbzMNk97EBsI0Y84b4ZuGX6eIpqQaZZuRVv7 dC73pbE8TDvegwmhSLuiXEwUvYpfsa/7uUxRI9OJIzfN7/DnHqs2EvrXW0EnVGnpNWjI+n+vP2p 4Cc1WV7zfmS/14w0XknEXnCJte/vuUbhexiHhMUCmZ4vYRvllYKQwkSz X-Google-Smtp-Source: AGHT+IH0BRfaJT6Ja/4oOAwTU9Pk8TniKor/Tf4bstFHxPXhtytwSi8RMT0ZGyIHaXzOhXpOamh8gw== X-Received: by 2002:a05:600c:1386:b0:453:5c30:a1fd with SMTP id 5b1f17b1804b1-454bb7f613amr61571815e9.8.1751874622098; Mon, 07 Jul 2025 00:50:22 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:3cf3:a61f:85ed:69db]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454b1893479sm104215455e9.39.2025.07.07.00.50.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:50:21 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Jul 2025 09:50:14 +0200 Subject: [PATCH 01/12] gpio: tps65910: 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: <20250707-gpiochip-set-rv-gpio-round4-v1-1-35668aaaf6d2@linaro.org> References: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> In-Reply-To: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Kunihiko Hayashi , Masami Hiramatsu , Viresh Kumar Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2445; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=PFt654WU5Bje33IYcMH6++mqWC/NhCeC1UEL+Yp3IeI=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoa3w5QHqDYMrZJ+NhTqLDhhpPk4MYxtgOqLT6j l09IjyBav6JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGt8OQAKCRARpy6gFHHX chs7D/47U4VHP5YhUMqlgJvviv29pJWoT7ECD7eEwNL78AHuoyS/KQzoyrTPBim2otsR4VTVKGD lfqBwX7VDQe0JLHsF63g9plpkWjiLM4YMRarfFU2/DS6rKpyflaraI1JPAzyU6Wfa/P9wjWkw10 2gsDHVDkFoHyF9xgJWVOMB+iIBqmTemBD0kyqAmseZ7RY5ym2ke4ea9q7MS0tD65PBMUd3cqZFc Qt/AOSuv1Vx+1i0CGwIi6V1pRjvRQ/MqW4GmP4L/A04D0Q7axr1Tizt2axy7FzHhYqjcWUToj3q WdQsgPuPuD2gdjqZPEjeYJRFEOqo9NfFSrJeQYd6u+j0cXBNP7tC67mvTOrYh1eq460orTbfHe9 i3XiycOdEFQ1Azjlq7BhC1ORmlj0NAuk4UzKU3Dg/FsivFpgOOr4zxqAMDdl/mnVYKD5idAO/1q 43yFE7MRLxwuSYTnOArL/AjYVUebH39gNlVs8eTPHZ685b2GChWc0OX+PN4ooEd0HRDxGWofpkm EQA3PohnW6TPPN81ZY6thUVgu+hiqJ3jfZxacEcACayJcTorzD6W/axrrmeM5QB+C4iQ3BePpDy VGkDtKHecrsrLemuFI+lXY9GYMrIq1zFFzgZ6h6B48Thf7CDqgspOciJAYW6KwcYVYlM7+y6fna eeYYyQNl5cxl3hQ== 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-tps65910.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/drivers/gpio/gpio-tps65910.c b/drivers/gpio/gpio-tps65910.c index 187d21580573fb1d896d90642a537a90aced8276..3204f55394cff12dc1b462cdce6= 0342ed1b32fc1 100644 --- a/drivers/gpio/gpio-tps65910.c +++ b/drivers/gpio/gpio-tps65910.c @@ -36,18 +36,18 @@ static int tps65910_gpio_get(struct gpio_chip *gc, unsi= gned offset) return 0; } =20 -static void tps65910_gpio_set(struct gpio_chip *gc, unsigned offset, - int value) +static int tps65910_gpio_set(struct gpio_chip *gc, unsigned int offset, + int value) { struct tps65910_gpio *tps65910_gpio =3D gpiochip_get_data(gc); struct tps65910 *tps65910 =3D tps65910_gpio->tps65910; =20 if (value) - regmap_set_bits(tps65910->regmap, TPS65910_GPIO0 + offset, - GPIO_SET_MASK); - else - regmap_clear_bits(tps65910->regmap, TPS65910_GPIO0 + offset, - GPIO_SET_MASK); + return regmap_set_bits(tps65910->regmap, + TPS65910_GPIO0 + offset, GPIO_SET_MASK); + + return regmap_clear_bits(tps65910->regmap, TPS65910_GPIO0 + offset, + GPIO_SET_MASK); } =20 static int tps65910_gpio_output(struct gpio_chip *gc, unsigned offset, @@ -55,9 +55,12 @@ static int tps65910_gpio_output(struct gpio_chip *gc, un= signed offset, { struct tps65910_gpio *tps65910_gpio =3D gpiochip_get_data(gc); struct tps65910 *tps65910 =3D tps65910_gpio->tps65910; + int ret; =20 /* Set the initial value */ - tps65910_gpio_set(gc, offset, value); + ret =3D tps65910_gpio_set(gc, offset, value); + if (ret) + return ret; =20 return regmap_set_bits(tps65910->regmap, TPS65910_GPIO0 + offset, GPIO_CFG_MASK); @@ -136,7 +139,7 @@ static int tps65910_gpio_probe(struct platform_device *= pdev) tps65910_gpio->gpio_chip.can_sleep =3D true; tps65910_gpio->gpio_chip.direction_input =3D tps65910_gpio_input; tps65910_gpio->gpio_chip.direction_output =3D tps65910_gpio_output; - tps65910_gpio->gpio_chip.set =3D tps65910_gpio_set; + tps65910_gpio->gpio_chip.set_rv =3D tps65910_gpio_set; tps65910_gpio->gpio_chip.get =3D tps65910_gpio_get; tps65910_gpio->gpio_chip.parent =3D &pdev->dev; =20 --=20 2.48.1 From nobody Tue Oct 7 19:50:48 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 4108321FF30 for ; Mon, 7 Jul 2025 07:50: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=1751874626; cv=none; b=dkSRVBJ43xFUfn1wWy78gHBqFPk2bdwXM4RAr8l2DwL8jDzxxe2irzOoEDJrk9mAwDvYp/aBqh1c+NBx3Imbl/5Ce45gs8XyUixvzgf0IVQt9OJZk18mMGjbpyeKItXs+yQ82vUFE+vNTfY8CatW3UU+iMF7RPLnEFpsCyt2Rws= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874626; c=relaxed/simple; bh=qrjnrOxmW45fhK7/mXNa9JDty8bZczGoHahJSnh7lKE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uPWF8sedZ/EoYzNXaqIm+vGCZa58kdmkBrSza1Ju0UI9PIb6Kdx4PsUaJMRJZWHPf9BUexX0KiNxA8TXllusBFwI9WnrsZytPgS9tb4j5tW/kpiSSh5l7ZKlKPxdk0QZ/yE+QVBeVUiPArJVlkVaHZm4X9EI5k+5gz+WZaz0NgE= 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=aWtqhzVh; 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="aWtqhzVh" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-450cf0120cdso23070725e9.2 for ; Mon, 07 Jul 2025 00:50:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751874623; x=1752479423; 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=tdiCClurppsFxV5YxKYx5Kg1pHWscHH18i/Vt5HSlV0=; b=aWtqhzVh7nMGYzghehORoF3BGaDaWspaEuiuENg+7PACHy5FlP6lY7IpsnQjECYhCJ gzJqjvezS9unlb5l627dEvkLg3mKSoZFzlnX7jnJP+s3H379dLkT+8sDjC/o93Ou2AOJ gLJRmWAAco9kKA4/3VhAW2ouhJKjb22GKObTIzE4se8VJ1UkXYDd7xaBJWkeQftvbXkK sMcNlgUdhYT6ipfnlk8smU66GiX7eB50ErtMbvS1rUhQG1/sIys1wTTHtb68JWPpDfTR zcMQ/NkSZ+XtIUUHWSvUs9sSMA+6A6pBIIHaB2YlxQs/pOx3LYKYHHB3lASOoVHESd5W zSCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751874623; x=1752479423; 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=tdiCClurppsFxV5YxKYx5Kg1pHWscHH18i/Vt5HSlV0=; b=qTxfmOFyo8OKzC7jLrGidx6xIZvlgoKFhKE6lDgG5uwwRNoAHCCKWTGr9QdtmzA7BZ ERGIsLtJXNlNSG3tdkgysyewW+TnHI6iZbk4Px5X/W7GtJkIrSD/oARJRBjJQAv/iAva gjjEhLXLVWk8rlzH4o8hsTHTjbr3JcF/6Uk/QE8HMdCUt/rlbCi90UdtwvINhDg0o7RU AR4CsUipaMztGDPxU0en0EzNj7NHDoY1hFwQeLlpWzYFEZP+k54wuDLDAHDeVetx8NsA rOGljmQe847JlNUgWfuDvwokYjSYKGSZg2OVaVGAIFjPALS4KiBgi39hI5Uop551Y+qZ WwEQ== X-Forwarded-Encrypted: i=1; AJvYcCVtIrHbBKGPV7gwQFlhyzcUgp11p1gMFHvxyqgFi5dhoJ8kKZM/JbIemQ8+PH56NNo9rHZJdkHqFv9cy5E=@vger.kernel.org X-Gm-Message-State: AOJu0YyYknbkZKVH2m9WwbPXJO3ShcKd/TynmUWn3JUkEe2jlKPsFt7O CdpHbXhAAGfbPSYLTeU+NztSU4kQNfMAkZkW+wJaZmZcLFEUJ8yUKTsKfCoJ2kj6/70= X-Gm-Gg: ASbGncujQmGgmoWf+IMhOFCzp6p4e0eFviRvoSik1rtClvY8sx9Ca2W8PtoFng5/E5P UWO3GKmgQCWZWqL2PhZd91Gtjcy7kbwqxnKJDWaLBAsKNgK0rquJLz2ZKx4ZK5kCWP/Bch3XKwx wdY0tsZXrl9ECNjD9hx5qAjgLecXjU64zfFy6ab1sWU/xodlGzc8iaU5S6z3bdBA22VOKMIXFdH jwyPrsgllxwgNiagACoR4wXbej3j2ic0Y7VdidixEQGYwfiPLKlJZ5V73MWqYkZwOThLhr7FiCF kAUJS8lkha05HaU1I25f9Bf9WHC8S6o/GDqucE8+2kZmfSmmQtxDhlKX1Znzjz4dlF8= X-Google-Smtp-Source: AGHT+IEqgmgxIURs05JAfURUG58d/fGTkSoIF5JMBPmDKs1K/hlGMbEHQjWnpi3xLDwDfjzJ7sz0Zw== X-Received: by 2002:a05:600c:3f1a:b0:453:81a:2f3f with SMTP id 5b1f17b1804b1-454b4ec2132mr112400995e9.30.1751874623379; Mon, 07 Jul 2025 00:50:23 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:3cf3:a61f:85ed:69db]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454b1893479sm104215455e9.39.2025.07.07.00.50.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:50:22 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Jul 2025 09:50:15 +0200 Subject: [PATCH 02/12] gpio: tps65912: check the return value of regmap_update_bits() 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: <20250707-gpiochip-set-rv-gpio-round4-v1-2-35668aaaf6d2@linaro.org> References: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> In-Reply-To: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Kunihiko Hayashi , Masami Hiramatsu , Viresh Kumar Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1130; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=+7uULFUSxltf0ex+UB4BzvFmHtS6LSFM3eN2nv7RH+A=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoa3w6rlb0lKZwordYdSaGUHH6WK0vpLXF/FNE6 xp5MrGNYi6JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGt8OgAKCRARpy6gFHHX ckQND/44rNk/9q1R3pU2Outz5DEqJduBUn/8U3Y1HOSmQdGKsD8tdU51T5SNnOeQ2Dd2PYxOG2I 0Z5Lei5qjeqHDokhfnNQPfUbgQSnOQizLklwP3jkkWKYApDwyNBNbIUVM++5E7DUJ3pdwP3Eg4o n/HfqLvpgXbfnkmk5XVHECV1wV45SFW16SA4ii/gEaHUe5R6v8sxCo6J5xzx4EEHknlL9YaunVh 3as6mh3AIsN+adKhxlHOxvL1IGhEyUSP5ye5RCbfhw0ikPXpd2yo3hzWexAV6HDGqe/ASqFlnYk T+J6RT3IZ2EDQlozxOdjtyITvvyctQAnInf5Hn8RLOa97C8/iKwhnY3Wm3mcrWUmvDg3adykPhP oz2mGgsq5Effp4JrGCfyScXay76uJwpzWNEFwNB2WEJgWtUdT3jXRXkKgxmq9bgLkg6SWCMt1Hd 1ow1fsFiOtLq51Z2WQaMjTmrejwCuAYDskBaJYXXmnTJgyp6jsPHa5KRq57W7KmK7fg+jjT7PdX CnltUX1lL+ZtFCCpWPuJYgkn8odAcUppUxhc8LCqb2gSTfd55cMInxCRx5R065/1CepadX101H/ lYsgt+hSV/SPOH4bql717Ym28hXOrQEHkNmRSrwZfhpvfEDZW3K+660pMyexHTAIn4iO0zFeI90 GFasRoCC+NWTPpw== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski regmap_update_bits() can fail, check its return value like we do elsewhere in the driver. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-tps65912.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-tps65912.c b/drivers/gpio/gpio-tps65912.c index fab771cb6a87bf05b1edc3c062f846bea70ca825..bac757c191c2ea0d103eb057771= 0065611fd79aa 100644 --- a/drivers/gpio/gpio-tps65912.c +++ b/drivers/gpio/gpio-tps65912.c @@ -49,10 +49,13 @@ static int tps65912_gpio_direction_output(struct gpio_c= hip *gc, unsigned offset, int value) { struct tps65912_gpio *gpio =3D gpiochip_get_data(gc); + int ret; =20 /* Set the initial value */ - regmap_update_bits(gpio->tps->regmap, TPS65912_GPIO1 + offset, - GPIO_SET_MASK, value ? GPIO_SET_MASK : 0); + ret =3D regmap_update_bits(gpio->tps->regmap, TPS65912_GPIO1 + offset, + GPIO_SET_MASK, value ? GPIO_SET_MASK : 0); + if (ret) + return ret; =20 return regmap_update_bits(gpio->tps->regmap, TPS65912_GPIO1 + offset, GPIO_CFG_MASK, GPIO_CFG_MASK); --=20 2.48.1 From nobody Tue Oct 7 19:50:48 2025 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6442428A1D8 for ; Mon, 7 Jul 2025 07:50:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874627; cv=none; b=DD2uvKmV9cve8eIBXGZhMVwLraqZ3pv7ta1ZFVJ6UzsGpra3gvxjsx1x2nnlfqV2fDshgv7dzs6eLmvvySulULa3GbzEgSFzj/jy/uImJh977AurTLnbCzE3ULUij1SR0g1tu10VrgFDsA6+uUivmK8PXJ3k6arqkrql1akHWGk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874627; c=relaxed/simple; bh=o3ttjvWaE7oBjAWT5UQDQCptRYAsYF8S/9c+FjxVKOo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VIMGrb7noS3FYzbsc34zy2TTG3JmTNqG8ih+qsQcCy90SL39cUEAEDaW6TjCyJ2Un01MiLH7ZNrZhT6anX3Mxbaui7PhZwJIghxmHJlLzUCY3o9i4fQ6YEsNuHBUMbObOxwDnaRhvpm2TX7F1wjZyPvjfto4vvl+w2+QNW41qr4= 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=LpjdJZdp; arc=none smtp.client-ip=209.85.221.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="LpjdJZdp" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-3a510432236so1921292f8f.0 for ; Mon, 07 Jul 2025 00:50:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751874625; x=1752479425; 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=m5D/gCx91/Y//En9n7QYQnwwJaerz4uwu5zS3XJUkJg=; b=LpjdJZdpjvSWdsHDK7KwAohZcc07bR2p2+0LwmZ5Eutof0Xnkizk9ZrQKyLsM9hNyH aqYcPKMcqDYvXnV3Nx1hGb/Ly6x16bylKfIIiDuG2eYU+EW2Cf09eHkxxUnrJ8uccc5o pLt3MkVy85AlpP2xPNpjPYSi76ZPIAK7hLiySS1fg6xDj5PKwQlUnoL+nuLSruRI+cGq G8jHbs4b4cpHqjVvY00h9qfCpt7bVKrDwk3mk4yZhxFneCfEyGSRq1DUcICkc5zN/fva afjrTtqEMTBTy+V5/71XfGDGPZYfizF+QjDEMqjy/NQiDKAUaDu80MJRfocS3ydizql3 nt5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751874625; x=1752479425; 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=m5D/gCx91/Y//En9n7QYQnwwJaerz4uwu5zS3XJUkJg=; b=k8rHPSgjHzEKxoIMnoEkmrRkLiQ47qbNivI9sbvmrwlOcxOLaEv83HaH1YTprlE6HR 4k5/sTkeyw+4pYWYUwcwjo8JskDAn4vxKmY5DJlIfBXXXgeV6Bxx7KRy7b15p1jDp4Ez t3y8gORBecw518nBvBV9A4zhL828h3/AVoH29FDkGHO2r6gSBxvCXcLcsBR76flONdDr PU5qMcIts/uuzo0SnFqnDzXiDmls7VLvdZ1UHp7tLgJyykoRZUVqT4h8frzTkUz8kGSr xyMEkzOcdWWFm5Zq//TXTZKMcDRKE6UK+8s+0cOHYfwfRUMP9hp/otak33ubQs5VJ2rw VK2w== X-Forwarded-Encrypted: i=1; AJvYcCVtQtXGsoX84nrC363RK5oIfkBmAWPQPOcY+o7+gGt+t2iKX+BwLXayAoYgXyE2SL5V95WbFQKFguzNXZ4=@vger.kernel.org X-Gm-Message-State: AOJu0YwT0rd5z6exQDff5RKsRr20xyMiG4eXA46q+lX8iNl17G6E0IrO +IZpmaF77i7RqDS0j0Hx7VdtOVO8lmKjwALJkdZjXEgUd592iE4//2Adl8bNKoCuWMI= X-Gm-Gg: ASbGncvqqRH9VlNa0qLcta5yhqY7btAM/fn/UZWfSsOqEZnDk2CwNK5STVgTpjO40Xn l/R3a8L4TusbOa+7eid8xi9AAUv+JeEqMrpb0UUnOTpHpSK7xhDiIPxyQjrua4Jnn5D/vj/Vi1a snXMNozYbaSURlrrixo1/+WMjo0Y4IsMT2zN5Z2isecuxcRkXQOYEqqRD8Xd6nSTWDkujZbxyFr ZKwhz/8+Fmy+jVawrKVO6VRT1wp1QTIGs74wTbM2JWVZHs5zxlK+4emvx+8pW0vaoFD7IS9yHAj lezvWE6UP5oQNXj41ovcXqT6A/7qGij44AvNbtcQYsBvlWS1qf2uEczk X-Google-Smtp-Source: AGHT+IE9q3D6H1GQiSGZ7AcHRsGtYbQq9ZPf0BYDp6zHpmdTX7TwrerIwRMk4FYZqkacGFOvWKLeNw== X-Received: by 2002:a05:6000:1788:b0:3a4:f379:65bc with SMTP id ffacd0b85a97d-3b497038e7emr8999552f8f.40.1751874624545; Mon, 07 Jul 2025 00:50:24 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:3cf3:a61f:85ed:69db]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454b1893479sm104215455e9.39.2025.07.07.00.50.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:50:23 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Jul 2025 09:50:16 +0200 Subject: [PATCH 03/12] gpio: tps65912: 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: <20250707-gpiochip-set-rv-gpio-round4-v1-3-35668aaaf6d2@linaro.org> References: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> In-Reply-To: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Kunihiko Hayashi , Masami Hiramatsu , Viresh Kumar Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1569; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=njAvtdVnxWRlINwsdw8tywJxxxUNxg5ByBiqLbpLFkc=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoa3w6MMvFmoVqaXM5v/0/S4TOBonUxrVRC0Rfy oCggMgQFOCJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGt8OgAKCRARpy6gFHHX csJWD/0e0mBypz9MzWTZzbT4hEw7e0gkI0Ba1/PVBmUVVodHFTL3Stjt0WmK646DDRMpHqBHTiY Iq9ZzKlhSx5O2rvppnDdI/MzSktt0Lv3hl4GO6zPP9WBYvdv6LBfSRFi2a3p/lUV6api0DmI+s2 PISctwGoDbaZnZeOTYZ981yBhivTw7yjHcMNVFPMMnPfHG5D96v1ONuWJFgEuQ3x8H6DVTDJLMK qPgqpOLr19TG2cLGAeEui+ES+KxO+OgrzsSTuz9ujFuCtRhLKU3cXLcQof2fx9fwg/cHWlopiTf m2HJYDx/jMQIWHsiwjOaNjjmw9Le4rwzjvUZUR2QhD1Sjh6QJrGiU+myMmijns5Xhd5+LB7Hc9n hJ2rPXYZ91ttj1Ozdee1UOwXBBsbLYDonURUnLr4Re/6nFMeYKjYPpAO1mLV0amLGLXzv/X/1+L 0BQroNJK0NtWuTz9hZ/RCkyKxvnjWazk83nQtoE1guYFenIfZzKeMNn4ogIbzT5a1/4R2VxzCEJ IlKZuHBNjtx0/J8Gtqzv1EkZo72E58dgRnxmzUSb+zxNYbKTtIsOxbEqVTeC1YVEF4bWfdgEP1Q U7IRchb1/aaSwRZ09j2dPlDS987IdvdVB3gySxb0S2tQxyN/vd1SbtrGPxXizFKMr07xx2eF+SO a1O0y5m9g0Y+bvg== 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-tps65912.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpio/gpio-tps65912.c b/drivers/gpio/gpio-tps65912.c index bac757c191c2ea0d103eb0577710065611fd79aa..d586ccfbfc56c17ca18f5c2b04a= 807305dd66890 100644 --- a/drivers/gpio/gpio-tps65912.c +++ b/drivers/gpio/gpio-tps65912.c @@ -76,13 +76,13 @@ static int tps65912_gpio_get(struct gpio_chip *gc, unsi= gned offset) return 0; } =20 -static void tps65912_gpio_set(struct gpio_chip *gc, unsigned offset, - int value) +static int tps65912_gpio_set(struct gpio_chip *gc, unsigned int offset, + int value) { struct tps65912_gpio *gpio =3D gpiochip_get_data(gc); =20 - regmap_update_bits(gpio->tps->regmap, TPS65912_GPIO1 + offset, - GPIO_SET_MASK, value ? GPIO_SET_MASK : 0); + return regmap_update_bits(gpio->tps->regmap, TPS65912_GPIO1 + offset, + GPIO_SET_MASK, value ? GPIO_SET_MASK : 0); } =20 static const struct gpio_chip template_chip =3D { @@ -92,7 +92,7 @@ static const struct gpio_chip template_chip =3D { .direction_input =3D tps65912_gpio_direction_input, .direction_output =3D tps65912_gpio_direction_output, .get =3D tps65912_gpio_get, - .set =3D tps65912_gpio_set, + .set_rv =3D tps65912_gpio_set, .base =3D -1, .ngpio =3D 5, .can_sleep =3D true, --=20 2.48.1 From nobody Tue Oct 7 19:50:48 2025 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6EBF828A407 for ; Mon, 7 Jul 2025 07:50:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874629; cv=none; b=fUzytVTDojaSBjmOlDIKaidq9j5APupCtlF0h8CkLoLnUj0GFuANh/aIssH3auHJM+gB5oert3g2cBq6ZCnpRrP8852chw0ZKRFFkiwk1HiN0Wn/IdE/UvCdr0SzQNK01t48TppRjLLccUJi70R+PvX3KKhBinlGzz2qj/7EhV4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874629; c=relaxed/simple; bh=qw91wZbbYo21BMmQdy4lJbuT8urm2Cy3wB4y42B3HP4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pRpH+GV+GKtVI5HBTGfaCGqqRryxnDTsjuP3Uf19G6jqK2pNRFO8ym47IQxSppX/pHoIvRMRD1aQibFHuYubp8pIr+yjdJ/l9+a80z2Vj6jjZJZHk/CKAjLbVkYbF4Y5QkRzJSNZ4mGYmi3xbHWb07OnYT/xTPvrQO+wB1oSydA= 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=CBKCCBak; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="CBKCCBak" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4538bc52a8dso20955155e9.2 for ; Mon, 07 Jul 2025 00:50:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751874626; x=1752479426; 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=owEraWtJk7venlb8RdKv9EQUsLOSykpZFSy3CByRBtY=; b=CBKCCBakRA0qu4XHPZTpj2HHUJsrg70Pao+7oO5Cf/i0BCfMEjWUqmK/f1H3AUDQZ4 /VfqJ4aujkeZy1WVj4s6ZO72vvCqd7v3C739FUjj6rIbs/b0TVimJu7XT1Tlpm8j7UG+ BvBWCtEFAx1SBUVmQpgK1YpOz9vlEfuxKNe9K2+Ni6xyEIlnYWpxrQK+kPJZAEkYNmpU R0aq42BuqnM8t/QTo0jTq5W8/1ZXK8gGEzDRvHWkViW3zyuAsI+g5D4hQlVStBAimbEO YBygeiysS/Uh4eZPtJeZhD/oIZ/JZ4A3pLGZye3PGHyuGYd59kl4IbWOm5HoVWpTnAMj 11DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751874626; x=1752479426; 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=owEraWtJk7venlb8RdKv9EQUsLOSykpZFSy3CByRBtY=; b=v1KgCMiDm5C1j7Nee1aJF7f+zH8frSgIzwqcCFS3THeVOuYxfDruwwtD7t6PRAh7yi dhDkNW9PzuRk1LAtUAQfIc9FvYUGt9wg34zXfWk8hhWoJMpXW1cHsOL0EYhO4Ml37wnt jC3L4g+N4S3apR0nKsjESTZIwXFQppeqSUCvbLXTCKXgUPpTmd4qFJou1dCwXBM1CgpV VRyMVEhusB0xn4QohfcKI7hmUpH9xNoAvTCrl8PjB05vsCWfMcE9kwpk82sfNUJaCb4/ P1Lv+x1Liau3AyujKLxDBrRYKoxmSf1Pw+6ruMoMV1WvmMk7yBg3rG0EE8ItBOeDzhaD VHfg== X-Forwarded-Encrypted: i=1; AJvYcCXyAh+nsA5M7VwuCir9ALANgup2zX/N1mfK5Ri+CRFf7tBAO1QQn2eD9qh2MXaom6VRmvMBzbVFLxlzZ7w=@vger.kernel.org X-Gm-Message-State: AOJu0YwdEBdNOrzdCL5+uV9WR34cWQ03AI/ziErzVL/NApmtqrrsMT2b 4PJCrtIDi8NmL2duleI+ZxFrGpa/6M+Xwk6IDsZAfaI1SSd4gydmYZ4PXhMa1u4bve1zsddl0DT x4mQ+LrM= X-Gm-Gg: ASbGncsTCgCau+IekJ+ep1wgTNnU5WYSRrDWuLgOJLattXwekX7zFa3StdoErA9Bs4+ iOWSqAbr1SZu1ARjWGkce6bQCExbr6EWs96ywsL69Usue3EgsNsY6NOJis9WOnlliJBhj4swo2p cVJOjiPT4Nw/wNFal12ev9rnV3tPQxrl6PmrhDQ7Yp2DA+scFl6xgb0wLCyrou1/PapnwnMq8DD tey7sratNFUCWxZtCSqWiGFgWsQcVVqsmR3xv03glnthosYkkSSkSPL3I+M2P7VNqkQL7PS6sEw QWuPu6EbEzW3cqBrYCp51AcVyhIxPn1Ntl/CK2hI9pLVS7Cu78yfIYd5 X-Google-Smtp-Source: AGHT+IHcLAdEzsYO6A/XPeJMQOyMyLhg3wuM/Yxmsuk4VJlAur6oeQiGzHyOLYpkD1eISNiDrgZeDw== X-Received: by 2002:a05:6000:2910:b0:3a4:f63b:4bfc with SMTP id ffacd0b85a97d-3b49aa7748cmr4980896f8f.34.1751874625808; Mon, 07 Jul 2025 00:50:25 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:3cf3:a61f:85ed:69db]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454b1893479sm104215455e9.39.2025.07.07.00.50.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:50:25 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Jul 2025 09:50:17 +0200 Subject: [PATCH 04/12] gpio: tps68470: 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: <20250707-gpiochip-set-rv-gpio-round4-v1-4-35668aaaf6d2@linaro.org> References: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> In-Reply-To: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Kunihiko Hayashi , Masami Hiramatsu , Viresh Kumar Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2364; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=kbZlw0Gflv8gFE21sTPxvu5J+D1q02/GNnK0E//zR6Q=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoa3w6Qiuf9YTwbK1bK+qsw0alzUiL3Ps+RmwD5 en/aypaFgaJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGt8OgAKCRARpy6gFHHX ctgGEACWZF3GkmtOU1lcrcGxOt+PD7o21FLW6YY0zxGTvt1wqNCGZp9poRkY/LZfSCp3ZCSylD2 6NKfGD3rh/jwb1Da79u8yrz8yLle2lcp+RxNaRQx7QEyX9vNYYoW4NbnBZcBIcY+AU/6/5pN/an gL/stbN7EZ7eonR/d+ivYWJ1WAS2/lmEhgy+KpM7dF42vlbYblVYg+PO2LwzC87po7HEPYb2LTy scELTrQDhw/7137Hep4J1Uqrh+JfpIeg34Lgxgj4GPa+ouTB3myVdotFWUxAVdIhjHr38Dh4TNb 8SfcQkHOiPRFbmsK/b97SRINPRwJiN3zQp5WaMYDU1bV58SHT+PAcPzth6sCtUnP7eZA9JKiLWU tyEj4I8fd0uFuFcgLzpD1xDJ5nnWVQGM4ALC6keR6Yb6gtpJ5wCGZmYO0UNQdwFswIg++q4IhNq 8SNM2YNBHfSXVbxQBzjhpQdecYJqrGm2+s7rHp4OabVl5rho0u8UM4bJSmAPrfzSneMZeZNuBvk JuP9ioG+07Sb0/BAZeMlqsOPCCNVmSg+KgW5DcC8KauzF4bKlHiFMvNt8kGrRTYbjTGdbjHeFhN 09WNxjJXGw58AijtZ/+lKP8Q+hVbd8lS9H/Ki/Bkh4qANo4/UuKEvPsjoc22ipEeCISokG2Eb9X 0EnpgzbKrQ88bOA== 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-tps68470.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/gpio/gpio-tps68470.c b/drivers/gpio/gpio-tps68470.c index 532deaddfd4e2e2f306f3872e746ad4d85925893..3b8805c854f7dbf4ae96fc06afa= eb775bbdcacb1 100644 --- a/drivers/gpio/gpio-tps68470.c +++ b/drivers/gpio/gpio-tps68470.c @@ -70,8 +70,8 @@ static int tps68470_gpio_get_direction(struct gpio_chip *= gc, GPIO_LINE_DIRECTION_IN; } =20 -static void tps68470_gpio_set(struct gpio_chip *gc, unsigned int offset, - int value) +static int tps68470_gpio_set(struct gpio_chip *gc, unsigned int offset, + int value) { struct tps68470_gpio_data *tps68470_gpio =3D gpiochip_get_data(gc); struct regmap *regmap =3D tps68470_gpio->tps68470_regmap; @@ -82,7 +82,8 @@ static void tps68470_gpio_set(struct gpio_chip *gc, unsig= ned int offset, offset -=3D TPS68470_N_REGULAR_GPIO; } =20 - regmap_update_bits(regmap, reg, BIT(offset), value ? BIT(offset) : 0); + return regmap_update_bits(regmap, reg, BIT(offset), + value ? BIT(offset) : 0); } =20 static int tps68470_gpio_output(struct gpio_chip *gc, unsigned int offset, @@ -90,9 +91,12 @@ static int tps68470_gpio_output(struct gpio_chip *gc, un= signed int offset, { struct tps68470_gpio_data *tps68470_gpio =3D gpiochip_get_data(gc); struct regmap *regmap =3D tps68470_gpio->tps68470_regmap; + int ret; =20 /* Set the initial value */ - tps68470_gpio_set(gc, offset, value); + ret =3D tps68470_gpio_set(gc, offset, value); + if (ret) + return ret; =20 /* rest are always outputs */ if (offset >=3D TPS68470_N_REGULAR_GPIO) @@ -138,7 +142,7 @@ static int tps68470_gpio_probe(struct platform_device *= pdev) tps68470_gpio->gc.direction_output =3D tps68470_gpio_output; tps68470_gpio->gc.get =3D tps68470_gpio_get; tps68470_gpio->gc.get_direction =3D tps68470_gpio_get_direction; - tps68470_gpio->gc.set =3D tps68470_gpio_set; + tps68470_gpio->gc.set_rv =3D tps68470_gpio_set; tps68470_gpio->gc.can_sleep =3D true; tps68470_gpio->gc.names =3D tps68470_names; tps68470_gpio->gc.ngpio =3D TPS68470_N_GPIO; --=20 2.48.1 From nobody Tue Oct 7 19:50:48 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 9838928B7FD for ; Mon, 7 Jul 2025 07:50:29 +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=1751874631; cv=none; b=OsAvr6ur5G5pTFWGOKO0qsTVDUblMRmeMPg5S9tgrXvAbZK5vwuCs6ghgVUtOKS6F40xaI8g3ngHjkWY4wRbeIWqrTign7KIoXYdoiJo+v47xvkwS5FiVqotQQs+qgcTzo2+An10mOng5d1Mk1iylspZArsNK28noqoMFd63tMs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874631; c=relaxed/simple; bh=ns4HPQvyVEmwd6DgqwghvAqtJacXIUmRanS8Kt/6WXc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oD0+4vdKkT23e72wX4UEiXJvUiUvowyA9o5/MzC3cxGIRIGNyK+tL+ex81R1DS/g98hBhdw+NFC8NinJXcg3cithiTfymr4UXZF9hiCKlT72UOXFTobNYeKWpYRTsVXxnr4PTo/Oz278aQFG80tp+RhTfFqbPHgGd6j4zViScbs= 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=r5KW2CEM; 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="r5KW2CEM" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-451d7b50815so21840605e9.2 for ; Mon, 07 Jul 2025 00:50:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751874628; x=1752479428; 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=tEtmO9fJ+uBB8S0davk+ZIXu0Xo38Vmwmt1Jp6drvMw=; b=r5KW2CEMfxIEzB6tlqjxNxON9QH+IRfEl+EEYURHfZQfQCVcI9PskUWze5UklXBAC+ v8CWMtzpd6yNZXZzIQ8M+trVT06dMmLueac0ty/rjZ7PH1ONZn9/0MzIbcK1j4amACLv QMyGN3eP0zxCPrQ4o9bHQAw5x2pb19Vc0AiIKsIASIAJVfuiOfmU20JkrP25TGU0DWgN K2RgavESLWZT+S/miF43agNupibaiXgqv5bGwNkj9uQbMVCT/lUgdIkgXxu4bT6f0Cja qYy/qPLvFcaWgKLD4vmwnI248ySfGy2qyMtxFrxVvVQjABEhpXdUB13aX65HNOMOPm6+ Bp0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751874628; x=1752479428; 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=tEtmO9fJ+uBB8S0davk+ZIXu0Xo38Vmwmt1Jp6drvMw=; b=HF8GEKr/TTXDFX4Raiu9W0t8iaM7ysvAqyvd3qtPEXqDk21vUueatVRDGPh93lZIP2 5DnTZKafzpNgZ7pTbQTA0+T6PS+cVLV/ersSvnZVEvg3nDc2qsMc0hy+0rGr8Y2a9m2a DKGRUyk2rExUjkefGIcVll/w2yIMvOBxOqtOZze9sZLlf6SmLJ6OiMc14gOyTBpdWazz 43vmVeb1S2BlQRGVXacCp1mF1BI8Aa2yi85V0CHsQ6AWz8RVcEZZ4bqwMH6CVXAQJ0yA cWfqH865IJz4XK9xmt/Y0U8GYCOZIp8WL0S6OER6/ykwk7fXbeWioICgAIj75Hl/+t1z puDw== X-Forwarded-Encrypted: i=1; AJvYcCVSDH6AR4LWSSONclt/dHTelLrwSL/T2PmSg3dzSVu0t2HZltM6136Oa0dX1DFv3Ask46Yo3xUg2zS/wKs=@vger.kernel.org X-Gm-Message-State: AOJu0YykSePgTe4EVfWHYOBQycrev6xE57D2mvY6hbU0fZjeX6I6URYw txT0opBOwqO/kRcq57DXRj5h9XyXPQNvZUmVFzt3hDxt0sFzRo/0jChq8xAkIFGqM9o= X-Gm-Gg: ASbGncvfIrHczsiALTOgqXNWR3hgYi+ejzQS6xw4nnKCP1e0QJrnHDYiQwbOJ86dgsa LkBLjDjt8bCU73wL+s2/bnQnpGw8BI9NUMOTUQdiFyn1X9DJOBRi4i1Rh2uW0k8CtXaC36C0b2T a6uZJ++H4zw3wjFZ0GC2a+wZQyCyxkimpf+77kY1htCJ8nvlaMKmLbzyYqfhrKpkuHGmYWc/FAU 13q7QIYmXQHlzdYLLAprvfG65fYriAbyd8OoJwJYr5dGqkppMzTwd+UwvBBYgAaEA2sV4/WGb2c RUy2efCa1ZWlEe1rZ8rZp8ro9+uiiQ+gbVdol07CqvwK1L5eQqY1HYjX X-Google-Smtp-Source: AGHT+IGlE+pJSFOw6vH9Aqv3avNwNGn5mFUP5UKn0Q9HP54n73BXvlRB3Kq5i+TgrQRQO3lRBaB9xw== X-Received: by 2002:a5d:5f55:0:b0:3a4:f52d:8b05 with SMTP id ffacd0b85a97d-3b4964df03fmr10640130f8f.35.1751874628016; Mon, 07 Jul 2025 00:50:28 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:3cf3:a61f:85ed:69db]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454b1893479sm104215455e9.39.2025.07.07.00.50.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:50:27 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Jul 2025 09:50:18 +0200 Subject: [PATCH 05/12] gpio: tqmx86: 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: <20250707-gpiochip-set-rv-gpio-round4-v1-5-35668aaaf6d2@linaro.org> References: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> In-Reply-To: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Kunihiko Hayashi , Masami Hiramatsu , Viresh Kumar Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1554; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=NgRXFxECTIGOfluzrXyJwaqY8NOQtfYF0rMAtRS6Rhg=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoa3w6ErAw3SowptdZuCyqLCjwppWgEQANfdpre IzHnSXPb+6JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGt8OgAKCRARpy6gFHHX chTnD/42+6CRgyNGdp2thzTybYnTiJryeQNSK/Lx2NfE2jcS4iboKz75sI8BXNYY1dR2bcGRQay CPk1u4V3Ya6I8jTXAZUe8S2T6ELuz1oNMQ4yvREaony2TzhBuBG8ffMuDZF0z7Bu/og3xtySKkx oIz3vRU/p6GtI49O5J9DpHQE8SBUg9Wd2K7rmcUklTTcmnOuIA0WY4Rj4reZHNLUeQ2nqBtIsL4 6C24ncTwFj/e2YNxci+6lYlsrG87UZOJemMomVa28JW/JR9pxgVgLCwxQYJgggEIHsFvDPl1dDn V4VczZaTaTRb/CqRNawgRzseqnuZg9sNOhpWEpZtqseGjjXqVDzJt5mf0IZMPIQjGp1FpzTfDm/ xoWSQ9rffO5MdrZBkRQ/XrfL8M2e2TfMcDDrijL4XEi3Ia8xHwhF0YKj7QP9YOoD058yxCg57Uh on8oGG1tn6KJgGp5RWKiW+Kml3l/NFyiNbl+yxLKMo8u9usCBkVOo94NoeTeLpphdQInkVbAO2b xJ5tj+q8rStmfUmkNaL553TMOEdsYEp+4HnnXLmbznSZMuVg1VuJYRXEhGHBfN9iiPdbHPdnT2T MJO5yz11R8Ck8meOOQSEKqfECz0WdrCyazIpGS0a2CScrg/HGmvsjElOlBmKwWqJBTuz7lGtNz+ AzbrtTSPCMbmASw== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski Acked-by: Matthias Schiffer --- drivers/gpio/gpio-tqmx86.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-tqmx86.c b/drivers/gpio/gpio-tqmx86.c index 18f523a15b3c03e083b363a026e751f7367fb080..056799ecce6a256f3438d9fd81e= e4677cdd20125 100644 --- a/drivers/gpio/gpio-tqmx86.c +++ b/drivers/gpio/gpio-tqmx86.c @@ -93,14 +93,16 @@ static void _tqmx86_gpio_set(struct tqmx86_gpio_data *g= pio, unsigned int offset, tqmx86_gpio_write(gpio, bitmap_get_value8(gpio->output, 0), TQMX86_GPIOD); } =20 -static void tqmx86_gpio_set(struct gpio_chip *chip, unsigned int offset, - int value) +static int tqmx86_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct tqmx86_gpio_data *gpio =3D gpiochip_get_data(chip); =20 guard(raw_spinlock_irqsave)(&gpio->spinlock); =20 _tqmx86_gpio_set(gpio, offset, value); + + return 0; } =20 static int tqmx86_gpio_direction_input(struct gpio_chip *chip, @@ -368,7 +370,7 @@ static int tqmx86_gpio_probe(struct platform_device *pd= ev) chip->direction_output =3D tqmx86_gpio_direction_output; chip->get_direction =3D tqmx86_gpio_get_direction; chip->get =3D tqmx86_gpio_get; - chip->set =3D tqmx86_gpio_set; + chip->set_rv =3D tqmx86_gpio_set; chip->ngpio =3D TQMX86_NGPIO; chip->parent =3D pdev->dev.parent; =20 --=20 2.48.1 From nobody Tue Oct 7 19:50:48 2025 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D08E028C026 for ; Mon, 7 Jul 2025 07:50:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874632; cv=none; b=oiSTCSeigcBqX6v2hXfSJT3jL2ce1GZmZEacSt8wOc85upfJK4o9wwaXkr4L264YXhlWlCfU5KJ3EDwuLp2B7Ta2cfRIvThUW/q1LYB84u41FmrOJrG28Bhqy5uL33u4EuqzB/1wpd0wwTgDsinQzDXv1b+8dmDv3K8Sm/ntYkM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874632; c=relaxed/simple; bh=DF8g7z93gK4m1xDXfctS3XNuY6lY/Bdhe4tMyGbYlp0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NWi9mpCfmY2UxROJao/fUA5fSA6NwfEcn+hR0daiP7cY6umJ/KcSqhyJQ5x58JJzV8GMTHIyhnukxhIL8wIuH4WsmxtsuCMEcS+NHrttZNAh96JHWS2oSKsPzhZQoPpV4FzzOco6UokP0ehKUcZMPacldhMgfsMELHE9JflqPqg= 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=mmTA8PcR; arc=none smtp.client-ip=209.85.221.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="mmTA8PcR" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-3a6f2c6715fso2429076f8f.1 for ; Mon, 07 Jul 2025 00:50:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751874629; x=1752479429; 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=qnquyqvd+FVIVtLd1Ux9gRwnVLnxC1Ivy7WluAJ5AJU=; b=mmTA8PcR93vfxFd//KYI6NVVJ9MgwKGnMnMu8UdJtj9YOi9x0yb3D7r2KIzSnRaza4 jbPvsQuhs0cUuBiNMKnYCem/PpVqhamd2Z8BVcXMgfsB5ZCeiJvneHGPEW3qWZXvsrl3 B0vYxeYZRziFlpJysGg7Ae6tISrT5iYCmUNfR2NOsPQJBwV2mlgJbWcoxbLmiisBDDEj XqoiIgSfCI5wTA4JNHnWyIMZdt378O+htxSr8Kd8pWnKT5aSKivvONwa74FmBs5BiOaL 6XPTnVIq/NOWd9VJXQMsinrwKKeWPzAuvzGJ+ToY8ieN706K6kgGxUXl/+Jqyel77XUX sxJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751874629; x=1752479429; 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=qnquyqvd+FVIVtLd1Ux9gRwnVLnxC1Ivy7WluAJ5AJU=; b=tM5LI5+BXOAZQRnlvUBwPZCTJp6Pe1OcqFDduwvjoly42e6TEE36I/yY4k3iCQu8gl rW0Q9Tk6dLvhPidCzHGQTX3sJE0zrY9lp2U6kAWolj8fLx8fwYkDAim+xXNMTBN72ao7 62LQ7i1iNhg7/Iq//VcMXzXrobz+III7/yWdU4cDfGfFHhozQAFaIlJFCaejDG2DOjwk /o30SnX6dVWG48NYCJidmQHoOda4SVe/g9ouL6XfSbaMccYycEHq0F8A5NV+iQVV7UL7 kCsytzxGOgvHP4xuJ+qNI6pGDCBzNa2TXwP/fw2y/QZPUYm/8oxjxb6pO295j4JxKn// liiQ== X-Forwarded-Encrypted: i=1; AJvYcCX3AJE+IIh7rXZkF5ysC5rBb5idKrBcrt7qMicLXv/QxwyVwYaOVxb0PJ4b4jvWaellMVutYXZzGsotR3U=@vger.kernel.org X-Gm-Message-State: AOJu0YztyUMt2pjXFBfruOZSk55vojTVRMaNUrRBkzh8UQuiuqMzMzj5 ogEUWz/2lwRjKWGk83P6zYicWgJBV+VNQeHi7f2ChYzk8N3+OovvjZEQHXesz4HyP3c= X-Gm-Gg: ASbGncvjyvNGxBUtUrasieMtk3R3osnaDfHmVdS1TId7t1mOWROOvp8Sst7GGlLQDl2 Vska7CSMSCWGSnuqiPYEdh0L/MKJfrEvnPweTWdN1lJN3Tl/8FGoLh9HSW6dSublvKwSE/id9o8 y4YnJ7tHXdlhgb2ltGLrwezD+93bq7X9YE2bZJXeoc/nF82LqHGom7k7kKJWPbbDwOzjrECM43T PZDiYUkKEVTS9sVgFqCwFQoum5AyxcF1ZBMs4ZHzbPmP1+IdWMR2PDEf+Pn14tiFfqwlF1cwm+v KCjIMqCDGbuPSutMVrOHibAfJnV6TJjMvsrCLutYbJhqUHiJ5wRA2cx6 X-Google-Smtp-Source: AGHT+IHgxOKlD/HCW2fuVG89O4d1zyNRJfWgVpguHMzHEibk0vk9GJEv0seQmb613A3MAdd1OnnO6g== X-Received: by 2002:a05:6000:18a9:b0:3a5:2cb5:63f8 with SMTP id ffacd0b85a97d-3b497029583mr8019614f8f.29.1751874629034; Mon, 07 Jul 2025 00:50:29 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:3cf3:a61f:85ed:69db]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454b1893479sm104215455e9.39.2025.07.07.00.50.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:50:28 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Jul 2025 09:50:19 +0200 Subject: [PATCH 06/12] gpio: ts4900: 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: <20250707-gpiochip-set-rv-gpio-round4-v1-6-35668aaaf6d2@linaro.org> References: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> In-Reply-To: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Kunihiko Hayashi , Masami Hiramatsu , Viresh Kumar Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1694; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=Hxwco5xikujaT/ZxkZ/bggRaPqpzZXsQM3Uycdv2rNE=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoa3w6jCJ38rKBLEmVT/K9IQDFTn/kWS7yzy5e+ 8+YcbST3eSJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGt8OgAKCRARpy6gFHHX cmJaEACRTemPq7dQtszLFYGQQhrB8GbuvRBdwmylDUTUzHrV0C6NHTU/ixPtpoV82APcyrZBhoA IaeLMDdzRNCMbbppt5EVyfM3nMcxuXYbynZ5TqSETkVvGWRD0PKDVcB0uguMi3/9AGgztW+93S2 1ULcFIewGcEFwSAMT9jPQynovXVkg61ZXo+ag8i/ZHKM6ARelvwNFXZC8itqc6duqYu0RrCZa4x h8GYZsy3uDIPyqlBkdo1sMQTHr0/mtzzpfoI7ej1PZS9bdh/wrA7J+QsyMHSDWA3vtVlxF0OryA nbXpATzt5JDkV5XP0cih30xwTD/AdEfsbCCPH/7bPVxHLnGC7N8q43eYBjEsQYLUZ4l4j5p/rkW duJ/fTvLljmG6LgPNWmchFPUUmum/gk6JSQm8YGGOAEeRFjBsLuLMVGOCUbcw6BeCJBgC6ZPoW9 rkLqRLCW8Ut0txVrIjT9GM6vGuuhNkjSq9sq9S629v/BchbbBqH3PLaVoVEIyL3RUtVTuFFoFjf 8hFON6qCC2J+k1O7URKJ23Z5spVoUEJLuLlwY1pyfiVW4bHpplLH1y9RgylYZ8RJTMiPQfHCTI3 WnZ4OsWJihB8iUPMtsW8teAk7g66+Xd3TPqUF3grAcJgLyc8qrsJCfNsINEmwC10yYtCL82Yfnl UisioaJnKelhkhA== 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-ts4900.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/gpio/gpio-ts4900.c b/drivers/gpio/gpio-ts4900.c index 5c806140fdf0d6e60f2225824aa18d393f61b607..35dd2d09b4d441256f01d9ac762= dd3a2f0a47352 100644 --- a/drivers/gpio/gpio-ts4900.c +++ b/drivers/gpio/gpio-ts4900.c @@ -95,16 +95,16 @@ static int ts4900_gpio_get(struct gpio_chip *chip, unsi= gned int offset) return !!(reg & priv->input_bit); } =20 -static void ts4900_gpio_set(struct gpio_chip *chip, unsigned int offset, - int value) +static int ts4900_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct ts4900_gpio_priv *priv =3D gpiochip_get_data(chip); =20 if (value) - regmap_update_bits(priv->regmap, offset, TS4900_GPIO_OUT, - TS4900_GPIO_OUT); - else - regmap_update_bits(priv->regmap, offset, TS4900_GPIO_OUT, 0); + return regmap_update_bits(priv->regmap, offset, + TS4900_GPIO_OUT, TS4900_GPIO_OUT); + + return regmap_update_bits(priv->regmap, offset, TS4900_GPIO_OUT, 0); } =20 static const struct regmap_config ts4900_regmap_config =3D { @@ -119,7 +119,7 @@ static const struct gpio_chip template_chip =3D { .direction_input =3D ts4900_gpio_direction_input, .direction_output =3D ts4900_gpio_direction_output, .get =3D ts4900_gpio_get, - .set =3D ts4900_gpio_set, + .set_rv =3D ts4900_gpio_set, .base =3D -1, .can_sleep =3D true, }; --=20 2.48.1 From nobody Tue Oct 7 19:50:48 2025 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E9408289E20 for ; Mon, 7 Jul 2025 07:50:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874633; cv=none; b=MnjQ5EjMyQpXG2TrANo+2FACTXRR2E1n4C4R0+vS2VxLb0E189QCIp2uK5QkmSmjogr5xwWUbTyoHf3FqqRZVgCbDas6HoJiNM/+j2H9BufjE9TecKcGvu/QxdWeOcZCaAUtK52RfLnjOMTFF1wafYz/LPMqzU9viYPfD7a7vLk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874633; c=relaxed/simple; bh=U+hDqtuMZ6JF+OOfTMalSXbSfzKpjAOm3HctY+nthUE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=goBnDhj8sFCT1mFjBV5JwgLQXXNT14E3Q6OdlbcoX4BjDQmZPPWRhGTnAyWlQ0ORVAW5vK3r0O4tgrYYRFAQd8NezXmvN9Nng82rmTpbsOQVvmNxEcAKD7qmxf4Si9bYQzncNxei9XJ+t2Cy9sCsgLYo0p5fmTAzAlu8YMhb6c0= 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=JcyzpKpU; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="JcyzpKpU" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-450cf0120cdso23071625e9.2 for ; Mon, 07 Jul 2025 00:50:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751874630; x=1752479430; 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=u+JA5hCDJONRdLbjJGk+bpg/C8XRBbWfR2uFkIyaXac=; b=JcyzpKpUzE6EFc7cwU4gwqptMfPnEqfGagZYRuOk0RJH9v+P3vnzNDebrIonN2M0X3 0x1z0GAMQvxx6KFjVuxAM7tLok5vNJp6Uf3tgxaeV1HRzrfHoWcoOSBiuVmvd7arcaO1 Ek6SQNgldv0wpLtuYYgGeKmY56pp02oYXPg+iUB903OrIYwmroLQxL/zNhFwJgBB8uv9 jbqSHqmB5b1hiQTN8Gwis1hXJE1yDstYKbF9iiif0Jp/UEavMWHXXV8tGO9meTw6qYgX dJfwxfaV+8hQEcePAxuuev9YaI71DZNTRdQK+kygW9wWNY54JW2OcsTZhka8D1oDxLp/ wUwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751874630; x=1752479430; 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=u+JA5hCDJONRdLbjJGk+bpg/C8XRBbWfR2uFkIyaXac=; b=FEqarJneronCGqXW+Zc4LUcpNodQR00ZtjTbKTSgijHE+B2WkTKvmXsaCSAb/Ej9is fZyQSDKRmUnI8qVZhMFGBEs1oYdsikGsvLs4FsF7T2f+yXOmFii9/Dd57J878wdrTXMC jshVJnXRPKgzEGAsxVdfmh29DPir+KjE0Pzqt38c0MEoxx72Q8/enV9I3ap5p9YyyEoE nB3n69kTx1/8ld5aTpB5E1dgWZUe8X3c1bYfAw9/RpFTF8GU3e3pQC0jOvHh1I/aITI9 5sT8EmyYXJkEOgqeR6FVeam3VCPViVhhneGTKdxA0eYFfmw4Y+5L9bPsP/ydrrmCjZNw MUaQ== X-Forwarded-Encrypted: i=1; AJvYcCVVDfEfJFSWiLddjrXlgktS88tQlc15cYQse/4bdvhMZ5JPZz1wTH6jqxhPqFSZ7g7X/MFP8aHrJ0zg0T4=@vger.kernel.org X-Gm-Message-State: AOJu0YyWLN/qs2BAdn4z6WusoXKqvxvfOPWuOSl6ZojAweAorSHRLqJt JLKVpAuK2/cj5mJ+K4UIk2o+WQ8FrWnOeAqYd4wOKYJKWO8ZoGGTovjA7QCA8/HVmY9i2d3NNEr It+WavbU= X-Gm-Gg: ASbGncvDqiNc+PSgHuWpRmRv99IstWlYvPhKMUPqwGZPSqx+PyXXL6maIRQZknIxKTI p1Xp/Ni4qJBh9dcbt5OqJuQWGqIhPfmTaE4Qjshr+fx8wv+0qmSKaEWJHY55YxFTerfFzkYqD3U LsXTJQoIKQT1BV1iTWtZSvYqRP02txs4xz7vzycz5EdZl8OGfYcAbQujjcwE2wiuF8jUp4WEYns TJRreemouvuJxgMtD8YECS64DFytsTmHRNXZs9sq71zoDdDtQeEZO4jonPSoLOfeCJgKCCgOMBm AI80YJScETl5FUzgVUaJB+kUubM+S4zpYPzvUeRTdHs70QIGxEeJpU8h X-Google-Smtp-Source: AGHT+IHBlhSVc9pwEwajWE6AJVXz+4dQ6VQo86G02JHQBXvnIQfQwXZfMZgi+u0WCVRbP0X4BD5n/A== X-Received: by 2002:a05:600c:630f:b0:43c:eeee:b713 with SMTP id 5b1f17b1804b1-454bc4a5dbcmr50148525e9.20.1751874630164; Mon, 07 Jul 2025 00:50:30 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:3cf3:a61f:85ed:69db]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454b1893479sm104215455e9.39.2025.07.07.00.50.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:50:29 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Jul 2025 09:50:20 +0200 Subject: [PATCH 07/12] gpio: twl4030: 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: <20250707-gpiochip-set-rv-gpio-round4-v1-7-35668aaaf6d2@linaro.org> References: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> In-Reply-To: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Kunihiko Hayashi , Masami Hiramatsu , Viresh Kumar Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3195; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=3JDOrR9hQWFdJNurWCS9HHF9izhub7RSmsduqXEIo4Q=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoa3w7CxXxYgJaTdua9NdZqS9G8KYjVQfCYdNfk 2GOraQ2CeKJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGt8OwAKCRARpy6gFHHX cqxYD/0aBgjkJNPm4W7AZUCumlwmMA0qFydna27fs9jkLYlIrVJtgngogU+DST19V5q6cnDiImH wwW+TreR6ojk5TotayIWj/VbBFKk11n+zW8r0R1Tzzqw+LzNqcwJcwUH2OXciSY7ymP/Ga7K45o suOmzS+NUqpuZSKjgGBg2IOgZVOSUuPhwDw1NTMFcQ0/5unrA1oPn7bsfBs219WYyre7nFEoBdv nzB0kOdXwd+vqzVdwjOfjOlDLw6NI2gkEvuFCMD+vGemXldP/ZuX0WGb7LK/mpssPNoCokrvqai QvjodAJCSkKLbS6frryk7/ETMYFnFPvpxEPwdc5dAj0sGrBi6H3uwBYMx9D6h0SYKVv/9skpe1v sVfO+vHdDoNN8SRtawKAjZ/DGAhlD4N4kxKF2mnen8xOwLZy1z8mSCYQaWxGZzStQB1W3aLKCLz +B2IEG26H4uIesiJWUHUdUDopwBrp4WlKdJQK4A6vEJs8U+V5eoHdGB3Ec+ZGeQnk4WmOg4ogRO +TkZFheAA4BTmwoCZutj8iaIpui2gifmFl8o0Rbez9WNv4lQa6CEIt5B8/BP7RgqL24CtHl3ono m7yBXe7J/Yz7aKLhlMcuvrSy7H+5AF0K5YB8GlRfviv+XZyju9xUNXiyUDWzEnaxaLP1KwAilMo vfiX6GFF8XIxngA== 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-twl4030.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/drivers/gpio/gpio-twl4030.c b/drivers/gpio/gpio-twl4030.c index c5d7825f19c18bfa84083aa5a46e48d174b8fce6..e39e39e3ef85b7c60c1f29f78c1= 1d6eeccec6206 100644 --- a/drivers/gpio/gpio-twl4030.c +++ b/drivers/gpio/gpio-twl4030.c @@ -120,7 +120,7 @@ static u8 cached_leden; * external pullup is needed. We could also expose the integrated PWM * as a LED brightness control; we initialize it as "always on". */ -static void twl4030_led_set_value(int led, int value) +static int twl4030_led_set_value(int led, int value) { u8 mask =3D LEDEN_LEDAON | LEDEN_LEDAPWM; =20 @@ -132,8 +132,8 @@ static void twl4030_led_set_value(int led, int value) else cached_leden |=3D mask; =20 - WARN_ON_ONCE(twl_i2c_write_u8(TWL4030_MODULE_LED, cached_leden, - TWL4030_LED_LEDEN_REG)); + return twl_i2c_write_u8(TWL4030_MODULE_LED, cached_leden, + TWL4030_LED_LEDEN_REG); } =20 static int twl4030_set_gpio_direction(int gpio, int is_input) @@ -278,7 +278,7 @@ static void twl_free(struct gpio_chip *chip, unsigned o= ffset) =20 mutex_lock(&priv->mutex); if (offset >=3D TWL4030_GPIO_MAX) { - twl4030_led_set_value(offset - TWL4030_GPIO_MAX, 1); + WARN_ON_ONCE(twl4030_led_set_value(offset - TWL4030_GPIO_MAX, 1)); goto out; } =20 @@ -334,15 +334,16 @@ static int twl_get(struct gpio_chip *chip, unsigned o= ffset) return ret; } =20 -static void twl_set(struct gpio_chip *chip, unsigned offset, int value) +static int twl_set(struct gpio_chip *chip, unsigned int offset, int value) { struct gpio_twl4030_priv *priv =3D gpiochip_get_data(chip); + int ret; =20 mutex_lock(&priv->mutex); if (offset < TWL4030_GPIO_MAX) - twl4030_set_gpio_dataout(offset, value); + ret =3D twl4030_set_gpio_dataout(offset, value); else - twl4030_led_set_value(offset - TWL4030_GPIO_MAX, value); + ret =3D twl4030_led_set_value(offset - TWL4030_GPIO_MAX, value); =20 if (value) priv->out_state |=3D BIT(offset); @@ -350,6 +351,8 @@ static void twl_set(struct gpio_chip *chip, unsigned of= fset, int value) priv->out_state &=3D ~BIT(offset); =20 mutex_unlock(&priv->mutex); + + return ret; } =20 static int twl_direction_out(struct gpio_chip *chip, unsigned offset, int = value) @@ -373,9 +376,7 @@ static int twl_direction_out(struct gpio_chip *chip, un= signed offset, int value) priv->direction |=3D BIT(offset); mutex_unlock(&priv->mutex); =20 - twl_set(chip, offset, value); - - return ret; + return twl_set(chip, offset, value); } =20 static int twl_get_direction(struct gpio_chip *chip, unsigned offset) @@ -418,7 +419,7 @@ static const struct gpio_chip template_chip =3D { .direction_output =3D twl_direction_out, .get_direction =3D twl_get_direction, .get =3D twl_get, - .set =3D twl_set, + .set_rv =3D twl_set, .to_irq =3D twl_to_irq, .can_sleep =3D true, }; --=20 2.48.1 From nobody Tue Oct 7 19:50:48 2025 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0223828A407 for ; Mon, 7 Jul 2025 07:50:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874634; cv=none; b=eQQu52bHQVXbt7VKtcnqX7T3nWPHk5FcmHa9Yv3KZ0aB7MW8dm4b2o/92LUyp9QMO3Kkomh+G9syoDYiHfMMwlUTq+/+6w/99l9IToVdQu2cbdw1AJv82eXD/bnHIfoCSV4Hc/iFYLxnMFMtaSLavVzeyHcdtqVoudOYFzmISWM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874634; c=relaxed/simple; bh=7ouLYNojBK8YtI9q7Mvr6a4rawM5cEtpGwkrd35ZmBo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SqU33LoDcuH76AJBorCbVU/pnKio7jf0SVrVwVOEuN2EblC6TNCT145i7sIyr1lM0F1EYfVcyT7BiekvBkNpzU+mLTOawI/Zhi+VRVachYLmr4w3qi4WpYgV00WUB230K9QPoObFUYgWKPOJCBuK8uqjUV+Iy/glRPPWMYBfA0M= 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=ijLl3wTi; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="ijLl3wTi" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-3a4fd1ba177so1879534f8f.0 for ; Mon, 07 Jul 2025 00:50:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751874631; x=1752479431; 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=nKIG6360x9EOzMXFyVuOt0+qxmmOCbAUWOq9FvMmdEc=; b=ijLl3wTiZpsEhz8QzfQFq4GP2CbLt1KlFp4hFHxcSio3jQ03H0Rzmh/o0zfZyM3pY9 lzRP8drK1yp0rHiYK4VUaDpWVU1hJywLmVfwZXzRMLt7FFUL66ltFUBtzjbzYgEqsE/I oqvSRyzahARe6ymWhxoEYHULLNhVgkUPVOKYGGL93Wj8VKqD/3PtutaXXIrCi2kiwq9E 8EAND2+hE48lSOaP16ZQCvZlzIHjPj6iCR0L7rW8nEkXWZkae7V1uaBCUHAKTzzg18E7 tKDLvWXWwfBmtpmGRpATXFUzkw9a8hfJXgxJL2xYiluit94VxMjl/gKSHqkM0Lbm5RV3 k7MA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751874631; x=1752479431; 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=nKIG6360x9EOzMXFyVuOt0+qxmmOCbAUWOq9FvMmdEc=; b=wI+yVOY00o8Glja/LbWXLDGUIPBvjssFpW9IeoiKi77vg/zKClzulXIg9e5Vl3eA9Z TyrxeD9aN7bRBRUmKHAS93R655Ho0Khz/5nno5vg4SA2wwBsOixrANfoL9ZvgjBLCdXI EadFMtG5GvkrvhhBRpQvhCrKHNRFSL0uvIe87E8fudUOpHniTUSO9X/NS0xqu/xGIAcg 5gy5PykXHB6BRmFModG+5YHRU3cAvMsIMhuRVnquj0XalfQInBFzTmg7P2+ooX/r1Rde 0jEerhF1Qju1jfibH5XxyoaYy35R3Ii6yNN0I1gkkFpJEWHWEwTN+vk3A+UUNB2otw1N RG0Q== X-Forwarded-Encrypted: i=1; AJvYcCUuCcjG2Fwz29GfXO6jBm03f2VK7NmdZLLXHuEqupc/qPwYpXCnO2sFUFsAwEkg5CKfI+YIO9IYsDaQcBI=@vger.kernel.org X-Gm-Message-State: AOJu0YwMFWfyhEigHJWr7JIEod2w2BYYYXBbYItaval/Rp7gc8mq0JEW Xfc3XlZTDd6DCywcD4CK/1oSM+KL8CIXMt142DXM1Mbd54Q/AzpIABzjdal1JfLAepY= X-Gm-Gg: ASbGncv0U7QOLYnEarQqoOaO3UFhLo3jyp/3oxb5mzzZJyFGCkjBgpmHImFD0vZOdEX QY9fyPuw1/JKLSQhfTZzKUvg3z/+PtKFdCrODwXIP82SpCbW0hFQUnd0cZ/7U3QFQ2jFJgPWq+s C32i7WV7+jnlE0cTL5Ie+HVFz9XTusdkN0nDgXBxCCBgcZaCxvr22kxZ/oevykM4kHM4sBQETAY 7jKci2lbsvwiezo3S+vCItv2XXZMHHd372ZYk1Aijaxyf9pny1XMxLpJUM+g9zo5IkLFJMes1cm jKNVgmhIExbPdp5NmXWs6V6OmhXchxpaYv9K/k17RCeBX17HVGqmfTJn3D1n6m76bck= X-Google-Smtp-Source: AGHT+IGnSqLeLz4f4OlYPyWFl1B12Re+pZQxqbUbOij/xJOfJOGrlBFuuxidA355YJED2LEeFyFJGw== X-Received: by 2002:a05:6000:200c:b0:3b3:9c56:b825 with SMTP id ffacd0b85a97d-3b4955895fbmr9795564f8f.22.1751874631294; Mon, 07 Jul 2025 00:50:31 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:3cf3:a61f:85ed:69db]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454b1893479sm104215455e9.39.2025.07.07.00.50.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:50:30 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Jul 2025 09:50:21 +0200 Subject: [PATCH 08/12] gpio: twl6040: 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: <20250707-gpiochip-set-rv-gpio-round4-v1-8-35668aaaf6d2@linaro.org> References: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> In-Reply-To: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Kunihiko Hayashi , Masami Hiramatsu , Viresh Kumar Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1686; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=WdoaTovljRVdfcPXoOOpPCv/dUUU3fxtmp6eCVydmWU=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoa3w7TnJ01R7z2+UX47L227yzd8aywcscqE3m4 m+QNrchCa+JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGt8OwAKCRARpy6gFHHX chuuEADWLZ0PhkJxuIIyFZpFqaQyNO+F2toxso5+gZ3uWKMxU46ds+vGbE/iA7kMN9669g+9rLZ C/K5a6cwcsdBh/kjSJXGC2cFI3B3y2rJgdLl2BdKowgiSFuXKgE1wg9ZtDdFfiMeaGfdzTN8wSd 1X5x1jmE2/Dq5yPn12l7WoQrILfZMgB60shK9eXFPgFp2iL73Bk/wmah6skSo0ur2g5j3hSd+rV wa934N/PjDweLSFnkdaHjmSwTjPEZNPCaHW268ZUda/xhgcE1tR9XjIaSkYJKhmd4ga+Mk13fyp IkLIcd+6osDn7hDo/noQL3p5pkJRarD4wQ0pqR8ChCqRLqJb1OURx/Tl/Q7akeXtHetpp1O7rr2 HbjxlvJ1hewJJg4qSvUsCHcUdrN4aDxpAtIy7TFTz+p4dnVf1WW0SrcJlgxBwjQHkwllrf+FYTc 8MEiSlKjzg1qw4AGnMIm62hECJHxHyaAU2yjM3ys8p82rajD0BfXUYQqXcGZXV0dLxv6iVbSSwz 0yq1ZKlyjplFPa9G4x8GUP6XGsN73FRba6S7CRO2yuXeEWR1yCKnudofXyNSdltRl3tn5rAfh/A va4XB4TxLbdGZ74JTSeh+UCzg77MjlSMZWwOnku7Y8m5+E+6otkV2Da6/OULGTFs9otJ7Rn+wH+ tCPE7laRozoAEJA== 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-twl6040.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-twl6040.c b/drivers/gpio/gpio-twl6040.c index b9171bf66168f054e9eddef8417bef6d8f197f3c..b9c0d54d12f43242444f12a2bd8= b6988d1511466 100644 --- a/drivers/gpio/gpio-twl6040.c +++ b/drivers/gpio/gpio-twl6040.c @@ -44,7 +44,8 @@ static int twl6040gpo_direction_out(struct gpio_chip *chi= p, unsigned offset, return 0; } =20 -static void twl6040gpo_set(struct gpio_chip *chip, unsigned offset, int va= lue) +static int twl6040gpo_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct twl6040 *twl6040 =3D gpiochip_get_data(chip); int ret; @@ -52,14 +53,14 @@ static void twl6040gpo_set(struct gpio_chip *chip, unsi= gned offset, int value) =20 ret =3D twl6040_reg_read(twl6040, TWL6040_REG_GPOCTL); if (ret < 0) - return; + return ret; =20 if (value) gpoctl =3D ret | BIT(offset); else gpoctl =3D ret & ~BIT(offset); =20 - twl6040_reg_write(twl6040, TWL6040_REG_GPOCTL, gpoctl); + return twl6040_reg_write(twl6040, TWL6040_REG_GPOCTL, gpoctl); } =20 static struct gpio_chip twl6040gpo_chip =3D { @@ -68,7 +69,7 @@ static struct gpio_chip twl6040gpo_chip =3D { .get =3D twl6040gpo_get, .direction_output =3D twl6040gpo_direction_out, .get_direction =3D twl6040gpo_get_direction, - .set =3D twl6040gpo_set, + .set_rv =3D twl6040gpo_set, .can_sleep =3D true, }; =20 --=20 2.48.1 From nobody Tue Oct 7 19:50:48 2025 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D8C1728D823 for ; Mon, 7 Jul 2025 07:50:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874636; cv=none; b=aH3XX2TU88mBxZ7pz55tOWwEg7v/bVWdChsLP1g8cG7ij14JaPGJEH85FrhSrbpaqU/VwKUbYqsOfbWg9+c1dDnCv5eWIwquEEKAnpDNj1UTSzsfihbHK2azRV2noqC2olLZNxyQ6a0By9LtjunMZPc8E85sicJ4meq6d48YC/s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874636; c=relaxed/simple; bh=bB+qdsup3HKdiJRxvtUZ+z4bOpAuwrIw+6PCi56KZQc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TRnznIbnK1MQaITF16XMy/eFDm928hLh1+76v+FSZqw1dU2y6qlGYhjtoTKSZrSA11d+abUjVTwgD3b6x88oxU/3tF4gDITN6ip/3GhDxQGhNuWGaDpaph3Foy4McdAUdcbE/00jnHzPNaZzz3ZEdovq9d5f/0fEkTgBZDV8im0= 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=V6husbgb; arc=none smtp.client-ip=209.85.221.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="V6husbgb" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-3a4ef2c2ef3so2592239f8f.2 for ; Mon, 07 Jul 2025 00:50:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751874632; x=1752479432; 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=IrEXsrmsMuzA+1ugG+tl/Uw8h+zTajU0t+jnzMkT9nk=; b=V6husbgbwsZh9fIZ6KOakEUxBVr13pKVj9hrOLs6DtLqS7C1NBvt3yqX8BAXLUUEqf F+MenZqZeIZomEqJHwthWEPzy+IHZ7joyn4jefxV2T+RTaQZ6ySGFuAOdIIAcdw/Bd+A uj401mk3iZjqF552X5WrZ4Cc+jeebHxeTWWRqbf8RauRFxzVqYg9jwXOStJzUqBI120F Rf3EPBEfna0AM7LjUrPKsseqlRFpNmGwGw6ztEjZgX7kwV8wRcnFed7lMQl8ZqRqn04C Q8MpWJJAX7L1ZROhssUWvj8+Ns+XSjUqX75WYuZvKU74P1PYHbb31cZVLrc5dd/DVK/E aB6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751874632; x=1752479432; 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=IrEXsrmsMuzA+1ugG+tl/Uw8h+zTajU0t+jnzMkT9nk=; b=eY7voQChYnJQJ8yxuPBd3GX9GCJfhmIBKsb287GXFtcreKXv81awVOI0XQViGo+3wl stP3tGwh2UzYkVu4RS8bD7EBDDXzwQfIO29X/7t9oorJcM5SPCNTkjfJxiHTjV+/2BWC X/b2jwcUbaGp8BsFX5MDLwY98L8Eyvboluk7/mPvIayBqV7P8ZCv816vvjQya5jteFDv IbRmqoejlht28npA8JM4CWPiQUPNwvqAF3CftGI1/94cR+YnIHcy9NUrFcxhr1JeeO+p hLuemRMlDYNZrjCmuUWxY27+tF1NU12lDsMBzY/VLg979E5XiFI19nWMxC7aB20qvz4n +pGg== X-Forwarded-Encrypted: i=1; AJvYcCWZhCzo3h2A3HUYSskb7+gh01PM8o4HC1JxqTCfGuUhfZXTbzjp4hEC0K35Et5ORstKExMQhJ6kMUzZD8A=@vger.kernel.org X-Gm-Message-State: AOJu0YyoIOLWtown8A+UGtcckbou/ocbAgmgpt1EW4WZ/YCuu6Sj4/5a D1wjW2pXc0t5lGhrDmQyHl8OemPWj1YFnR/RtBMAwOcWh2sJx72ObQwLeBnonqCzLmM= X-Gm-Gg: ASbGncv/gNP+5TelPJQrAxNOfAq6Th6jwfS7KSHz+QXh3+EP5eL2dO5dvWVgTxt/EcM 9JEofJHIdARQiuUTtjNVLerfJFBfdAsyQl+/g3FSCwRiWRMQvbRnE+8BZRK2Eo+ViF6mx4/ciQP RuvpZiRKSRZc5XS0m9CC/woOrpMn8M5eJRK9G73iEd0URYqXjn4bUR+20MxC68EUwGdBQlNmo2s yi///rys6IaLNyfUrnZSTj+FdTvdchZAeQVwuv0PmVDXJ7Njzc/74+hPxMPYfBQ5WfV6KUKH6Xa mAl8W4anWDdtKg8MDrUw9N0CEnydH9DybMyMF+4t+e7hQj2JNRwPmqmR X-Google-Smtp-Source: AGHT+IHws7BTgvMwOHb/0fBxy+8f3J4P98k7LhETEkFH9aAE9cXx7D21DbjCELzGj9RNQtFyairGWg== X-Received: by 2002:a05:6000:2008:b0:3a6:da76:38b0 with SMTP id ffacd0b85a97d-3b497013ecamr9654486f8f.25.1751874632251; Mon, 07 Jul 2025 00:50:32 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:3cf3:a61f:85ed:69db]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454b1893479sm104215455e9.39.2025.07.07.00.50.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:50:31 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Jul 2025 09:50:22 +0200 Subject: [PATCH 09/12] gpio: twl6040: set line value in .direction_out() 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: <20250707-gpiochip-set-rv-gpio-round4-v1-9-35668aaaf6d2@linaro.org> References: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> In-Reply-To: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Kunihiko Hayashi , Masami Hiramatsu , Viresh Kumar Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1456; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=Ny+P9Gso1Z/D1GfvAgTj4CRCkIVwJInh/rnW4mX9aZc=; b=kA0DAAoBEacuoBRx13IByyZiAGhrfDui2kwMyLze1B+VgydmH/CxA8d3hCROGBTtuDeM+EhWN IkCMwQAAQoAHRYhBBad62wLw8RgE9LHnxGnLqAUcddyBQJoa3w7AAoJEBGnLqAUcddyJwsQAJux AaGxAEjlCH5FUm7Nx9OKDXdHlFxNrkFQ9QNylf5YpMHGmZ30INP3Is5LpN9xuflbZSf4KsYfYpQ xk3/uhHjyszowQ8Y3fENt7agn/Bk8GER5L8WbW21wYLgDWNKoSgShgk0DhkwIpDh+hOqZRXzrep q8lnDX5prFNHSG+b/63ZD+NovstwhNvVPg+sYHDDJHHmwrXuyuMziumwH9XqXo4xD8b1bxpsIkR oABQK6RNtQddFxJCiCCpg92iodNyCeevtNWB9DEKNT0ZAbqsz/k7vyzutCQarEPdpEhLbZeAAuF sQ3rp7OZJOaOQ0O1GiJmk5uR2iAaghn63kJsUN0KkA53gY9+154bOtjf2XvdjS9rLyRX1vzF3rq Ik1uGkb4XHNmR7IbLxgGiYd/RsLRY+jo4wDAYfPzbU2yQudZDPvxwcjnRCTctgIlRIReri5apYI z8eZYANfP4Q35Z+o/JFxtcEAP8PXEPq/V15Q56Q/71E1o80UOYI4JWXhP65jF/ZKj6MHpSmsJBV 3u6RHZTWBjfMLIZE5dgL9uFk4IMLRAw6GqNC6ZLCWOzB3WQwhY7UnoPLwQRdyHdmAmXt5jfkNwI j4UrJMDJL8THSFsjbsnVckdlMdJ6J8O2nZ2zVuaH9zgWLzcnrSsTQx4C/5iiwNhTIUx/zPDc+DB REiJf X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski It's ok for a GPIO controller to be output-only but the .direction_out() callback must also set the requested line value. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-twl6040.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/gpio/gpio-twl6040.c b/drivers/gpio/gpio-twl6040.c index b9c0d54d12f43242444f12a2bd8b6988d1511466..b2196b62b528cd0a2df2c4a4c48= 69ad172d6e2cd 100644 --- a/drivers/gpio/gpio-twl6040.c +++ b/drivers/gpio/gpio-twl6040.c @@ -37,13 +37,6 @@ static int twl6040gpo_get_direction(struct gpio_chip *ch= ip, unsigned offset) return GPIO_LINE_DIRECTION_OUT; } =20 -static int twl6040gpo_direction_out(struct gpio_chip *chip, unsigned offse= t, - int value) -{ - /* This only drives GPOs, and can't change direction */ - return 0; -} - static int twl6040gpo_set(struct gpio_chip *chip, unsigned int offset, int value) { @@ -63,6 +56,13 @@ static int twl6040gpo_set(struct gpio_chip *chip, unsign= ed int offset, return twl6040_reg_write(twl6040, TWL6040_REG_GPOCTL, gpoctl); } =20 +static int twl6040gpo_direction_out(struct gpio_chip *chip, unsigned int o= ffset, + int value) +{ + /* This only drives GPOs, and can't change direction */ + return twl6040gpo_set(chip, offset, value); +} + static struct gpio_chip twl6040gpo_chip =3D { .label =3D "twl6040", .owner =3D THIS_MODULE, --=20 2.48.1 From nobody Tue Oct 7 19:50:48 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 7034A28DEFC for ; Mon, 7 Jul 2025 07:50:35 +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=1751874638; cv=none; b=FWx9cboj5A7IY2nDCk71KAGaJNFaKRITh1sY3iC0XhGPIhpOfBS6Mt13zVb3zSslu9L696oCDlTB49EcpTPpYvg6ipeVzU4OPxwBEFjGgRrI2LAgP6mzkuSNgbuY0gghYW0snDPmn1dAfMNJ6mAsSAxBw/wQeUV8lBi9mg3UsGk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874638; c=relaxed/simple; bh=fb6kfSNOnqWMYp1xUl+Xkd0XCpgghqi5FOR6XmM78D0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oSI454LvE35GSajbgcMtSsgtPRcxXtagS2P+mJQt6NHGZm0Nw6A/7snEzm2d8fzit81PodnAnYqGTP1RcpUaSnvvzsvXcisvgu3YOaqoSAQKdx1eLVSx2Dy+G7/snYqgcEBT2AYXavnUjzaPMSeIMVRTplnrM/2WEOStjvT0N8w= 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=Unllc2YM; 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="Unllc2YM" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-453398e90e9so17654495e9.1 for ; Mon, 07 Jul 2025 00:50:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751874634; x=1752479434; 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=0OLMIgUvqZFqepdWJ/QtRpBNQs7JrMTTPQY6qVJ+Q4M=; b=Unllc2YMvBb57s6DXR762SLnsYLaMXTegwPxM8oNN1vGcNhvCx8W+bEVTVcJlLaZri q60OyZCPToigeG9Zjuu466u7mvNMEEnfYhh48ZzIOdReyN3CQqhAqm5XhGDQwspwtFSl ew6EQFIqzbJK1IHccJaMLhIGPZVZAgE2vUMkzuOOLW3eaZDfsT74I7CNTkLbQ0YX/CBN R3aHQnpeUM8Ry782bYRjBzG/HmQrXm/4ZEtBwHLLfazLI/RmxhnbpOJj5p/iXrtukhCc i7GcRHmMkHgaxmTiylOo5J9Bt6XF2eluh1ThpL6EyrhepP5Htjhsv3cA0fJWTdGYF3Ji 61Qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751874634; x=1752479434; 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=0OLMIgUvqZFqepdWJ/QtRpBNQs7JrMTTPQY6qVJ+Q4M=; b=NwgUGqU2LsLf2WHxHiY0iSfETYa9g0dk41kBPIdIe9tabvkDDRD3hdNqE/3x/nq1Ly qe/3DZJbEYVPGJmaZnyVpMn7i02shCOl1JK+/H+uVF78/H/OFeP0WPMYgEuQEfffzFee H0ZiuGJkpMcijDfutAGTRbsvaOhUvfjv5rohcy8t1XKPQGneAXYfHsnBePycZ4EkEgYW 1gAFaKyd1lEsvYtZs9lquCaIjB0uiGdSZznpKglObuCgmuim+1FJQo967VO4isAXIlMe 1VqbaH+XCIeoJcsuubtp2sneFcE7iLk9XT+pd7N4w4Ozbjc78afRrjxh9cwXap6EJAIX gTyA== X-Forwarded-Encrypted: i=1; AJvYcCVXWB81lCQDVmc9fgoTIu20iS9eNSlVXSi61i3ZrBYpErKO+eqcne23Qwn29misa2Bppyua+qDd3u4jOqk=@vger.kernel.org X-Gm-Message-State: AOJu0Yyfmle5fz4HkScpPKT/oYpV4Kkc9aGkGXo9BpvG+NO4wfAE8ZRY uEscqn9s9V1V3txLcjjwZ5bPkHtyFSDpMAAx1+LT1Tg6j5JK1tIlt9LPqVwqiqBF5os= X-Gm-Gg: ASbGnct5EQl6y0IccE9kBOofFZKHx3PtCSwinmyA//2ljWMzHRTN5gN32OWWP30b7l8 KphlLSMFz+wNVDC8Ffc2dNi/2z1ytpuW9lnL+Q65qRy2aqOulDTqAJm+ltWW+0bDgP70Jx2TU1v g/6Y88Nb+kL+TY45TYlloqQgTBhtH3S596FwAUX9sCy9IxEWRtP9NiySGzkdukvOVoQ+k/nQ827 C4hgTkg49Igb6s/vKIOkAcF+mbkEaki7KS7vBaxO9AWnKam0ETBj0AkrZIojbG9LW7CTNVcqpRB V63Br1R7jAube24HeTYIfRDRdGkYcpBrJfqQ0GZEoO7AHEW+HXuChwr2 X-Google-Smtp-Source: AGHT+IHAOHk+mHfjKvwjgBKOqjbU1RDQFfLqi0h6aJoDwCDCNVP+Dwq37QC+iDaw8oAhBHzhcT+d9A== X-Received: by 2002:a05:600c:8112:b0:450:cd50:3c64 with SMTP id 5b1f17b1804b1-454b318d3e5mr111532785e9.31.1751874633791; Mon, 07 Jul 2025 00:50:33 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:3cf3:a61f:85ed:69db]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454b1893479sm104215455e9.39.2025.07.07.00.50.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:50:32 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Jul 2025 09:50:23 +0200 Subject: [PATCH 10/12] gpio: uniphier: 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: <20250707-gpiochip-set-rv-gpio-round4-v1-10-35668aaaf6d2@linaro.org> References: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> In-Reply-To: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Kunihiko Hayashi , Masami Hiramatsu , Viresh Kumar Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2143; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=dLGEIzbU8TDVZqvGaRCedogmILNsu70J4+DpSpnnX0Y=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoa3w7DjsCQR2AApkPLj5V687Va9TIBTP7+8Nyc 3+EIfO6ovCJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGt8OwAKCRARpy6gFHHX cg65D/4jQHONt6migIaVd+z868/lBMX+THBOHa21tj8No2H+WWhF+5Be1Z/3NlxIq+iBJqhClYu zF2QfhOEam0By8wx8DDsdWR/peIDZ0iHY2nPDIiQa0IaTIZmR3k21TGkb+2h4kFqGnrM/RyH6hC 4oKyQuqbrrXVH//N8cdoxXQUbGhwKFA/w0DlH0SyKWU9ieKjf4Ux+slf3AyZfGKlzCuYNy4hDVj gKPsZ7IOS5JFO4UCI2c2bmsQO+vNJSiwAT0pZh+qsVLjobRjQ3Tep5ZIIae1Xbb/UfG6XJPeGLB 6gfVK+PbpLUTVN5Cn4PO6BQ6E0ucK7hEkkj/jfvrH+le/UwqLpwGl35UQm3XXcIe//CC3N7Qn3D T8t9IsGnh4HC8R3sqqEIlYLW/mtgmIOimCA4FddOLD2Gx7R3KjheKjhFnLru3Pd2WqEw0whmL4S gUMK4NFq0Qi2btwKP+1XXXY7iqMsb6LndhZpvNwLNyLh7CDLBcpuaDTb4My05fijnvU7zLp2J3R rWsw1aJo6OELmaFqnkRWPl6bdbgtF4q5yILtnCt3uwCcc9tUj7qVbgveDUbrcPPq5V8mwPoRFtR rhfhKMmTGfKVy+soETLeA/IhnGSe8nntXedzByb4Ex5QRUEMlST/3BhjdxOjHCvQhAcNOpFLeho bOroCph+x4wzenQ== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski Acked-by: Kunihiko Hayashi --- drivers/gpio/gpio-uniphier.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/gpio/gpio-uniphier.c b/drivers/gpio/gpio-uniphier.c index d738da8718f9cf52286ebf14dd4d0ae60466db2e..8939556f42b60f32dbf7bff315e= b5bbb6f062256 100644 --- a/drivers/gpio/gpio-uniphier.c +++ b/drivers/gpio/gpio-uniphier.c @@ -138,14 +138,16 @@ static int uniphier_gpio_get(struct gpio_chip *chip, = unsigned int offset) return uniphier_gpio_offset_read(chip, offset, UNIPHIER_GPIO_PORT_DATA); } =20 -static void uniphier_gpio_set(struct gpio_chip *chip, - unsigned int offset, int val) +static int uniphier_gpio_set(struct gpio_chip *chip, + unsigned int offset, int val) { uniphier_gpio_offset_write(chip, offset, UNIPHIER_GPIO_PORT_DATA, val); + + return 0; } =20 -static void uniphier_gpio_set_multiple(struct gpio_chip *chip, - unsigned long *mask, unsigned long *bits) +static int uniphier_gpio_set_multiple(struct gpio_chip *chip, + unsigned long *mask, unsigned long *bits) { unsigned long i, bank, bank_mask, bank_bits; =20 @@ -156,6 +158,8 @@ static void uniphier_gpio_set_multiple(struct gpio_chip= *chip, uniphier_gpio_bank_write(chip, bank, UNIPHIER_GPIO_PORT_DATA, bank_mask, bank_bits); } + + return 0; } =20 static int uniphier_gpio_to_irq(struct gpio_chip *chip, unsigned int offse= t) @@ -382,8 +386,8 @@ static int uniphier_gpio_probe(struct platform_device *= pdev) chip->direction_input =3D uniphier_gpio_direction_input; chip->direction_output =3D uniphier_gpio_direction_output; chip->get =3D uniphier_gpio_get; - chip->set =3D uniphier_gpio_set; - chip->set_multiple =3D uniphier_gpio_set_multiple; + chip->set_rv =3D uniphier_gpio_set; + chip->set_multiple_rv =3D uniphier_gpio_set_multiple; chip->to_irq =3D uniphier_gpio_to_irq; chip->base =3D -1; chip->ngpio =3D ngpios; --=20 2.48.1 From nobody Tue Oct 7 19:50:48 2025 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B036B28A1D6 for ; Mon, 7 Jul 2025 07:50:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874638; cv=none; b=rKI+oXbaJ6nPAFfZNNbs1KuW+Ce9AYKH6w6TawFuq+Z0FdCXZnZwnCj/+6Q1gvK/e8EDiu54q6bAu3YF0+EdeF4KliH4WNd9EA4HdNdGgN86E/uPHnuwN3qhp8ywhpJ9Zryy5rhUk/tUWP/AQrPurpkH6/U+JT96WN/8V7KBvoo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874638; c=relaxed/simple; bh=J3lfSaGSJElFYN8a7NlOaJspSwrbv0Tab0XbH566Gt8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SrbWg0axIBTNmE51dDI1RRXI1ZaX1WqvAoQg3XctfBHjM2qFR/BDSOrx9+DtP6jO4eRkGyLseMHXbW80nhCR/yRnEX9q4HL9pEHlTePzQ6EusostXuy4QEx2GlfASEWSY8Sbqmpj+/LpDXkqcrolhoCPu34MIdcRD2yDgcXkpdU= 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=lQMkXnSE; arc=none smtp.client-ip=209.85.128.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="lQMkXnSE" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-450cf214200so20713385e9.1 for ; Mon, 07 Jul 2025 00:50:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751874635; x=1752479435; 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=5m95BPd+tC0NJEgq1fKV46WFawJx2Vc2kdVjnJZ0X7U=; b=lQMkXnSET9715hSPiqi0jd2OMPePVJtNl+7OmbfaZyiiUZZmvd/P6DPUSCwEBfEkDV UzsX+REO7QRcKTpvZkNGy+BAeKsPWqDnIVm/eUMwaqWmmvBvKLv+Cbyp0FPl6/AjWfsg LTKZKZdVeW1h/0mGveFDf83nsyfnP2BcqEcrpcgA9N2imGz33MgMHCrlHvg+8R8qiSXh vG6I1WNqLye33KWqb8P+8dI9At+eVdLtrdycHO7mctQ2waLpw1WtVVM1tH3sercH8FUz ua9NkygjOX2nyYAY/rSLKN0DWHdCpa9L/Ys4Co1BEUnRw2Ghmq982PiPqkyhYuc5ajdd 17Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751874635; x=1752479435; 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=5m95BPd+tC0NJEgq1fKV46WFawJx2Vc2kdVjnJZ0X7U=; b=GCmHN+2MWsvgMC826wTrwI8p9POUZs7mhDufNicnjlmTRfYi70s1ZyvW4ED0y3CMhf GiZf1/WSnerxQTpzX+9NvAL3r1kRXCQMOxkpVaevbdYSEkoNEh6pJa0druvPwUGBhvne GZjP9nMiG0N535HLpHSLaMFdxB7Xrbi8zoN3KIrJCDyqdYnrEU19YoZd/dm1SV1gawWB u/s9nCpwf6pRzBN8eNGzMDIZJEpNfNd2oeigG4mk6PfqMenRnsUfitGV+UN85IKnM3gT rWyTsxGL+RyBv3ldD0f4q1NlnOlScFD6GEy4ig1aN7ZkSPgQlSZ0AUnM67rXkrL0AiN6 aaFQ== X-Forwarded-Encrypted: i=1; AJvYcCXprovOcHcJapGrRKewc4a4YwYs5vv5QY/tDI04SfJ4OQYOXFfCufiwbTBXDyc8cfYUhrwtH3S+CvbeHXo=@vger.kernel.org X-Gm-Message-State: AOJu0YyiloXyr+jeJ4DPiHzPsS/02m1VJfFDjh0kV7hz8NGFFpcs/Cj/ lHJj8N1ffSzzBI+a0fDy6jfw+MHuuXa66wdJbhyotBdo9nQzEby6BIIPkT+T/n5KlAw= X-Gm-Gg: ASbGncumTb1kR5Wy4I4/OZYT/XhB0U6Lfv6vk1A5ZHph1S7XLvb7r+ZS9ZJGIkD3Qss ICvLS+P6JlVui91RXFp4gvW7V8rbyZmy/8cbci9qXVKXxd1QnmWXXj+pGn7tucxgQiV117UcnAW jwbsFIPjr+SXRwmXOiGzDdpq4gYXfaKOhSuDbemOwadcOVwHd22yrCjotdEao/6+zPoBF4hUMRg /r7mt1jZklY46s1DexP8A6uxqR0YwKZTT+0iKy4KPRhlL1qdRg7d2b+4/7sSn+4wn6SeTgycWsW FGiC+h8FrW2SyIkvqBeSWMaJ+uNxzszabu0YEjQ7R1i0x6KzMmAiAudO X-Google-Smtp-Source: AGHT+IHsI+U/zbDSojMWN6sQm8VqQSx9aNhllH3AxLDc+j6V7DOcunJJMpxwdV+S7DO5xusMHGPzvQ== X-Received: by 2002:a05:6000:1a8a:b0:3a4:d8f8:fba7 with SMTP id ffacd0b85a97d-3b4964f4da0mr9403903f8f.2.1751874634985; Mon, 07 Jul 2025 00:50:34 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:3cf3:a61f:85ed:69db]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454b1893479sm104215455e9.39.2025.07.07.00.50.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:50:34 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Jul 2025 09:50:24 +0200 Subject: [PATCH 11/12] gpio: viperboard: 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: <20250707-gpiochip-set-rv-gpio-round4-v1-11-35668aaaf6d2@linaro.org> References: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> In-Reply-To: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Kunihiko Hayashi , Masami Hiramatsu , Viresh Kumar Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6288; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=hG6ioXzqzHsweEWMJ3BfovvFEd26Ob457d1Hk91Aou8=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoa3w8kR5HfkB64zWwyrPXKAiwMT9HvA9xCgXzs 3pKgIk6+6SJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGt8PAAKCRARpy6gFHHX cpLoEACy+LzB2oIjcjJubbFal3oJ0odHk4EQHj7PZKBDox/S3htDeM1+FAViWFPpp44LwXrHVJd rZLJkEinpuIpyjqfpENeFgXMgEWWCCIOUmcK4azXhS5YPVnFkxl0LhTQez814mKWgJAZM1yuj0R tSvipK4cQBa8UUl1RKXrsb0naRvbfkkApmgloy5RrY7pJTBEU+trqDIVB61vU2mZ6hTjZ9+gogU //5ti98loMrVW9mdvZsWcpJt4vxDoHAm0JBMwOgo4VMqo3ghx/4uTh4Ozm8GPxTSjDu92RY31pZ vRWnd57ryNVnSwOwM1i5pWbpZ9UfSC0OztH1+3BvaTPOREZI8dy1CHM6303RX0ZmDZPYoaHNPKz PVxCW6p5NJK+F3rPr6XQ9L6Q0d/FUuCpbLXvhOvEmGs/Bu0GFv2drMbQlB72t91n/R0DN8+/Qrp jXKsNHqtJ4+NKrRrWLXdTl1ICMclZQ5td0zoqaGNHMMIRfff3g93xTnixkXNdHWQ9P7gtid84w1 6mUrycMIacz+as0MO4Ej+Q3NUmLeslYFrxRKnnztz239jNC/RQCjuhicBVqLCzwG40JLIPWGKf2 bNs9D4gCLrABH/LxryBSFYkDCZw28ipZknYxo3iDkX1Lc7/NnRYdPjMGiVeTSsUWggbTiKxqCEQ FJke3RNIg2OY+yw== 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-viperboard.c | 116 ++++++++++++++++++++++---------------= ---- 1 file changed, 63 insertions(+), 53 deletions(-) diff --git a/drivers/gpio/gpio-viperboard.c b/drivers/gpio/gpio-viperboard.c index e55d28a8a66f25dd0949133c4a7f3bca9b5711dc..3eba77f981d3a502b67a0a7cdea= 51c706d4c3376 100644 --- a/drivers/gpio/gpio-viperboard.c +++ b/drivers/gpio/gpio-viperboard.c @@ -128,45 +128,50 @@ static int vprbrd_gpioa_get(struct gpio_chip *chip, return answer; } =20 -static void vprbrd_gpioa_set(struct gpio_chip *chip, - unsigned int offset, int value) +static int vprbrd_gpioa_set(struct gpio_chip *chip, unsigned int offset, + int value) { - int ret; + int ret =3D 0; struct vprbrd_gpio *gpio =3D gpiochip_get_data(chip); struct vprbrd *vb =3D gpio->vb; struct vprbrd_gpioa_msg *gamsg =3D (struct vprbrd_gpioa_msg *)vb->buf; =20 - if (gpio->gpioa_out & (1 << offset)) { - if (value) - gpio->gpioa_val |=3D (1 << offset); - else - gpio->gpioa_val &=3D ~(1 << offset); + if (!(gpio->gpioa_out & (1 << offset))) + return 0; =20 - mutex_lock(&vb->lock); + if (value) + gpio->gpioa_val |=3D (1 << offset); + else + gpio->gpioa_val &=3D ~(1 << offset); =20 - gamsg->cmd =3D VPRBRD_GPIOA_CMD_SETOUT; - gamsg->clk =3D 0x00; - gamsg->offset =3D offset; - gamsg->t1 =3D 0x00; - gamsg->t2 =3D 0x00; - gamsg->invert =3D 0x00; - gamsg->pwmlevel =3D 0x00; - gamsg->outval =3D value; - gamsg->risefall =3D 0x00; - gamsg->answer =3D 0x00; - gamsg->__fill =3D 0x00; + mutex_lock(&vb->lock); =20 - ret =3D usb_control_msg(vb->usb_dev, - usb_sndctrlpipe(vb->usb_dev, 0), - VPRBRD_USB_REQUEST_GPIOA, VPRBRD_USB_TYPE_OUT, - 0x0000, 0x0000, gamsg, - sizeof(struct vprbrd_gpioa_msg), VPRBRD_USB_TIMEOUT_MS); + gamsg->cmd =3D VPRBRD_GPIOA_CMD_SETOUT; + gamsg->clk =3D 0x00; + gamsg->offset =3D offset; + gamsg->t1 =3D 0x00; + gamsg->t2 =3D 0x00; + gamsg->invert =3D 0x00; + gamsg->pwmlevel =3D 0x00; + gamsg->outval =3D value; + gamsg->risefall =3D 0x00; + gamsg->answer =3D 0x00; + gamsg->__fill =3D 0x00; =20 - mutex_unlock(&vb->lock); + ret =3D usb_control_msg(vb->usb_dev, usb_sndctrlpipe(vb->usb_dev, 0), + VPRBRD_USB_REQUEST_GPIOA, VPRBRD_USB_TYPE_OUT, + 0x0000, 0x0000, gamsg, + sizeof(struct vprbrd_gpioa_msg), + VPRBRD_USB_TIMEOUT_MS); =20 - if (ret !=3D sizeof(struct vprbrd_gpioa_msg)) - dev_err(chip->parent, "usb error setting pin value\n"); + mutex_unlock(&vb->lock); + + if (ret !=3D sizeof(struct vprbrd_gpioa_msg)) { + dev_err(chip->parent, "usb error setting pin value\n"); + return -EREMOTEIO; } + + return 0; } =20 static int vprbrd_gpioa_direction_input(struct gpio_chip *chip, @@ -304,37 +309,42 @@ static int vprbrd_gpiob_get(struct gpio_chip *chip, return (gpio->gpiob_val >> offset) & 0x1; } =20 -static void vprbrd_gpiob_set(struct gpio_chip *chip, - unsigned int offset, int value) +static int vprbrd_gpiob_set(struct gpio_chip *chip, unsigned int offset, + int value) { int ret; struct vprbrd_gpio *gpio =3D gpiochip_get_data(chip); struct vprbrd *vb =3D gpio->vb; struct vprbrd_gpiob_msg *gbmsg =3D (struct vprbrd_gpiob_msg *)vb->buf; =20 - if (gpio->gpiob_out & (1 << offset)) { - if (value) - gpio->gpiob_val |=3D (1 << offset); - else - gpio->gpiob_val &=3D ~(1 << offset); + if (!(gpio->gpiob_out & (1 << offset))) + return 0; =20 - mutex_lock(&vb->lock); + if (value) + gpio->gpiob_val |=3D (1 << offset); + else + gpio->gpiob_val &=3D ~(1 << offset); =20 - gbmsg->cmd =3D VPRBRD_GPIOB_CMD_SETVAL; - gbmsg->val =3D cpu_to_be16(value << offset); - gbmsg->mask =3D cpu_to_be16(0x0001 << offset); + mutex_lock(&vb->lock); =20 - ret =3D usb_control_msg(vb->usb_dev, - usb_sndctrlpipe(vb->usb_dev, 0), - VPRBRD_USB_REQUEST_GPIOB, VPRBRD_USB_TYPE_OUT, - 0x0000, 0x0000, gbmsg, - sizeof(struct vprbrd_gpiob_msg), VPRBRD_USB_TIMEOUT_MS); + gbmsg->cmd =3D VPRBRD_GPIOB_CMD_SETVAL; + gbmsg->val =3D cpu_to_be16(value << offset); + gbmsg->mask =3D cpu_to_be16(0x0001 << offset); =20 - mutex_unlock(&vb->lock); + ret =3D usb_control_msg(vb->usb_dev, usb_sndctrlpipe(vb->usb_dev, 0), + VPRBRD_USB_REQUEST_GPIOB, VPRBRD_USB_TYPE_OUT, + 0x0000, 0x0000, gbmsg, + sizeof(struct vprbrd_gpiob_msg), + VPRBRD_USB_TIMEOUT_MS); =20 - if (ret !=3D sizeof(struct vprbrd_gpiob_msg)) - dev_err(chip->parent, "usb error setting pin value\n"); + mutex_unlock(&vb->lock); + + if (ret !=3D sizeof(struct vprbrd_gpiob_msg)) { + dev_err(chip->parent, "usb error setting pin value\n"); + return -EREMOTEIO; } + + return 0; } =20 static int vprbrd_gpiob_direction_input(struct gpio_chip *chip, @@ -370,14 +380,14 @@ static int vprbrd_gpiob_direction_output(struct gpio_= chip *chip, mutex_lock(&vb->lock); =20 ret =3D vprbrd_gpiob_setdir(vb, offset, 1); - if (ret) + if (ret) { dev_err(chip->parent, "usb error setting pin to output\n"); + return ret; + } =20 mutex_unlock(&vb->lock); =20 - vprbrd_gpiob_set(chip, offset, value); - - return ret; + return vprbrd_gpiob_set(chip, offset, value); } =20 /* ----- end of gpio b chip ----------------------------------------------= */ @@ -400,7 +410,7 @@ static int vprbrd_gpio_probe(struct platform_device *pd= ev) vb_gpio->gpioa.base =3D -1; vb_gpio->gpioa.ngpio =3D 16; vb_gpio->gpioa.can_sleep =3D true; - vb_gpio->gpioa.set =3D vprbrd_gpioa_set; + vb_gpio->gpioa.set_rv =3D vprbrd_gpioa_set; vb_gpio->gpioa.get =3D vprbrd_gpioa_get; vb_gpio->gpioa.direction_input =3D vprbrd_gpioa_direction_input; vb_gpio->gpioa.direction_output =3D vprbrd_gpioa_direction_output; @@ -416,7 +426,7 @@ static int vprbrd_gpio_probe(struct platform_device *pd= ev) vb_gpio->gpiob.base =3D -1; vb_gpio->gpiob.ngpio =3D 16; vb_gpio->gpiob.can_sleep =3D true; - vb_gpio->gpiob.set =3D vprbrd_gpiob_set; + vb_gpio->gpiob.set_rv =3D vprbrd_gpiob_set; vb_gpio->gpiob.get =3D vprbrd_gpiob_get; vb_gpio->gpiob.direction_input =3D vprbrd_gpiob_direction_input; vb_gpio->gpiob.direction_output =3D vprbrd_gpiob_direction_output; --=20 2.48.1 From nobody Tue Oct 7 19:50:48 2025 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CD844290BCD for ; Mon, 7 Jul 2025 07:50:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874639; cv=none; b=BlKX2j/E07oYQuXkPtIErfqqPQmxJBENbE7QxW/lY8kJMR27u9nJK6Agx8RXN3mTQ4pwpxxInSx2FsBzuiGp+9ImVKzSHOZRU3PbbVFxygEC/FBzzu31baB2k7dwJOTU16qesFWaRdwv3KhptJHHVBVmT+XnpDCcGkRsWiSQHIg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751874639; c=relaxed/simple; bh=vtL8c3CWHWi7bD8fUICBWVIWkoJx1ZraepAblph5uFE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RBfqN9iAdMIlavcSUwiZax9qqiZz2dYBV7HfH1hPPTYLiArzMYUbl68sEgSKmHqjw2ZfbavPS4U/G/+81oZxm2Qbf1t+5DrcFZWQfSBLraG+cUqqxJqc5EK5f/YPX1in3xvqq/cuBto4AG/B7AhyPt1E4mauQV+/89O57MfAOHM= 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=Kmc+vrTg; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="Kmc+vrTg" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-451dbe494d6so31210225e9.1 for ; Mon, 07 Jul 2025 00:50:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1751874636; x=1752479436; 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=6SWmN0oZOf47ZBuNC1PAZKMF4JI0fWMJVI0uHHLJq/Q=; b=Kmc+vrTg2y32tf/b4X8XuZqP4fOWXjlIjOQm2M+k4NVkrT5ZpknvrCcyGWpmaSBpm4 oJ2hqalOfk8Qy/+Y7ndncEVShlgtLnOsI6oEkRQllRyn/VljUaHlRxwMLH6JvrM3M1ng M5d0vMQSuNELSJEaJzpCPtVOlgEVCDZBSDFQFeaQaGh93aR1Gui/yqpeCHo2a8op2zgu dJQBrBxjgJ7AnUKyU/jGD6hgqO9261IxOteHpdEfHDHZNWNCteRfRFBJn+ZGf3IeUFo7 n5FW5EotpaYx2Mn9TC4DVuKSciVi1TUDrpu/p/xeAUEoTvY6Brb04aY/wQQGmKs7mocS XurQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751874636; x=1752479436; 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=6SWmN0oZOf47ZBuNC1PAZKMF4JI0fWMJVI0uHHLJq/Q=; b=uZeTCJqUXGi+kzP1XnNukqksNvjnq7dqgaFsyxx1NEPqK8xnqZVFCoQmBP9AloWgbq sxIKIwiRYQV350YLBBrMVxNqM9bKSRsq8olUtMo6Lo3QSC5vkq2eMtO7k5wtZ51MZdgx Mv9DfbBc23bSEOLXc/Jqy/4P3sciWezRVAnUyh6S6CqpdEzA8MDvgMCUMDX/EuADYb3r HHJ1ePyz0uWERD1VFX42396sC+2uyRqoUQbCjkjeF+GclNFEGwRu1VtVegk+ndse8KMK YKjHk57b7fqXrd/vMdRkTJsrrsx+AzjtCPrba35lxNSSo41OEZ3xwdUbHMUSr1fP1pRc nFXw== X-Forwarded-Encrypted: i=1; AJvYcCV783jFHl/A3YOniOpSc9Fk4v/0DUQwpd1uaXFmiB/agnUlGx+DRF4XODFYY+AAUToJKIFkFBF+HylgSXY=@vger.kernel.org X-Gm-Message-State: AOJu0Yz+RLa57tqi6RDxPnkcg8VrkbmX8W2szKqKDDNjpPZSgoRJxd8t ovxfJSFCI8ZEIMSgcVumwasWSm+fJSgjitipWC5FqExXO1g8A2M8OtOSY0JkzWYBEsk= X-Gm-Gg: ASbGncvVchpZMd9E+I7cv8bzvPrdFnANF5CKYds9c07V2D89wpyz4pkK5xIeUlsNmLZ ai8DQ99KkQKU//ln/UQkesVB7Ac+TnQ4UV+OeyQqTNe4qn1pfUKyOh5ZMPZyfQ5oFqCAlPOvLmK NnE5zU/Df7gtkftRpF3biUMrF6oc+ceaYxhyMaP7piLRqnr3hY14WTm4XYmIaPl7SG7ZMD6NQq6 bovX0ZRR8Sr1ZH0JdgLkbPXKqxVkWoJ8t0Kx7hgmz/IxrGMZBmaGBI92pr0nPlPsKpVUg1GQuVl DMU2Pm6KJxDLAsvmnrsMMhCynSv1zYtZy6KOYrw1oOnG0ikAK02lLWIM14Z0nCMQ0tU= X-Google-Smtp-Source: AGHT+IGkf+l7zAbCVq2RM9nxUZWQcOta3ZZ/CUcd1IUsy3YNoRjJEdd3rGBCVueejV8IrTqJPkhe5A== X-Received: by 2002:a05:600c:a4b:b0:453:6b3a:6c06 with SMTP id 5b1f17b1804b1-454b4ec3c54mr96906635e9.29.1751874636031; Mon, 07 Jul 2025 00:50:36 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:3cf3:a61f:85ed:69db]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454b1893479sm104215455e9.39.2025.07.07.00.50.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 00:50:35 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 07 Jul 2025 09:50:25 +0200 Subject: [PATCH 12/12] gpio: virtio: 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: <20250707-gpiochip-set-rv-gpio-round4-v1-12-35668aaaf6d2@linaro.org> References: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> In-Reply-To: <20250707-gpiochip-set-rv-gpio-round4-v1-0-35668aaaf6d2@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Kunihiko Hayashi , Masami Hiramatsu , Viresh Kumar Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1562; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=WBzxcByKBAOQyrVMEQA9NOf7MP8zLdwyhJ5inR/oPcY=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoa3w8yxjQpOYow6Ti0FXaO1aSbr77VEqywPKk3 2RwPz7x3IyJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaGt8PAAKCRARpy6gFHHX coxND/9dppbq95ielLo9QfHw6O8rAfYnIC/QkOGI1bSRtDxVc8ijvATdgEARXzcG8jLM/e8I2oL ksw0hc7ylzWXX8rBjmHKEGYvWg2b7oiQdXuBqzquor1sLAQdezaSegOvOEmiUnA4DmbFu/dv8qR uVzn9tyMLNrYL2hOybxGyigDs8RN7e/I9PvsxwqUdiSM+FmltJD6ijePoyL6eDSDxHYz/seDAiT N9GD7fxPInPTAir4rIV8s10G/GBlxy5IctmxZ5zmTqVI05P8lrgAEgtY+vghcFtiCg058mfCug9 cq3Y8sH6uXXxNDds8lbzNx+IvkP+qofDRCF5kyMEexQuB2s1tkWedNxTfUIEAzlbkEleI41OB7s q/qsCnoLjx1fio/B0+BBmG/rAyDpoiNl6JLMY0wEC37i+mdVajPwqteVW51UFtX8SpSoLKlDTMM mKw0pfW/3cELbn2Br7jE/H+CDShs5JSrBlfpnzozxWBkA5RJJfv9PgxhN3+kH76kJ58vByjHRHy ph5cMFrLy1s0HxEfS/ogCykmPLQRwbYPRWeVpsUPC+RmBo6TZTLPBxHTkhTePdPRNQvalymGYce pBbzqnznTVCAlkTIxCnXwvRO0fkfGIAuYcLHqZv5Mjfp/MGv+hX/9ppwqbeRVhsacoaaKEHCylA uA9yO4B5OLbLQeg== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski Acked-by: Viresh Kumar --- drivers/gpio/gpio-virtio.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-virtio.c b/drivers/gpio/gpio-virtio.c index ac39da17a29bb844b0dd1e36eaf37670261396e8..92b456475d895912c903ad04a9d= 101daab5ceb58 100644 --- a/drivers/gpio/gpio-virtio.c +++ b/drivers/gpio/gpio-virtio.c @@ -194,11 +194,12 @@ static int virtio_gpio_get(struct gpio_chip *gc, unsi= gned int gpio) return ret ? ret : value; } =20 -static void virtio_gpio_set(struct gpio_chip *gc, unsigned int gpio, int v= alue) +static int virtio_gpio_set(struct gpio_chip *gc, unsigned int gpio, int va= lue) { struct virtio_gpio *vgpio =3D gpiochip_get_data(gc); =20 - virtio_gpio_req(vgpio, VIRTIO_GPIO_MSG_SET_VALUE, gpio, value, NULL); + return virtio_gpio_req(vgpio, VIRTIO_GPIO_MSG_SET_VALUE, gpio, value, + NULL); } =20 /* Interrupt handling */ @@ -565,7 +566,7 @@ static int virtio_gpio_probe(struct virtio_device *vdev) vgpio->gc.direction_input =3D virtio_gpio_direction_input; vgpio->gc.direction_output =3D virtio_gpio_direction_output; vgpio->gc.get =3D virtio_gpio_get; - vgpio->gc.set =3D virtio_gpio_set; + vgpio->gc.set_rv =3D virtio_gpio_set; vgpio->gc.ngpio =3D ngpio; vgpio->gc.base =3D -1; /* Allocate base dynamically */ vgpio->gc.label =3D dev_name(dev); --=20 2.48.1