From patchwork Tue Apr 8 07:38:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879124 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 320D4263C91 for ; Tue, 8 Apr 2025 07:38:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097910; cv=none; b=ouDh4ctFR++4l3uyeA9QqgU6peoSmIkoYcwd6t5s8eANlAwSoTqkWacTa63AOb1DDz+iLPKdlduh45wn9sDIbw91GMWvIpib8GwZ5UFyZvSIRPWdu3t+gWL3cwiHyx/3VhcsTVYiweQ2GGXsbFEBBoeSMAtlt7xdajwaKoeKQC4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097910; c=relaxed/simple; bh=H1/r13cT2Qzqk1U86sWdRYzAebCzT/guHQtTx86LWdU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qqQHavUKPBVQ6moq3gA19a3TKsK5Ljr+qoFI9SwghiNdS0BT11dHnPOmbI/VeEGkZsZbkUB2HTZpqKfFQlu8PD1MsAFxCkpBwu12VNqpIN4Bs/cw38dRc91UPb5DrpaR9y7NaZfIBoi5En/rw77NapG2pfdCvJQ81NgDnZ/2A50= 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=ylP8jOKj; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="ylP8jOKj" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-39129fc51f8so4208716f8f.0 for ; Tue, 08 Apr 2025 00:38:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097906; x=1744702706; 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=dOnP59hUnqLwlou/8ixKvgPYKb1YxP7pgKnSRZqR8uc=; b=ylP8jOKj7WUDvXH8qBtaGThA4HArqUj9VAd0pNZoW8PpuTBRFHY+FRzvML/sn8sNQZ 80qb4wEov3kmjvJfPYsaA2wgfjX0y0cXva96BfIlDLuxL1NAD7Zt4swM2zIU2OQRJjFs 9UV9QwWUWlCuqUpBcucSGl94NPBvMDXo24LE0BAi8K85P6caGAR1GP6ClTIzla/tfekt rMOFjDrnA6BQ0VLm5tGX9kPC35f0Un/TUyeaaoZ5MCMbWd9/yjMD5UFXX1AXaHOcdf14 mxZAMn+8rrasAu9nDaoIk1vtpjcTlzzc8xzjzwaltWxaUzfYbmxEztaanM5MKFGX/5wW ZStQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097906; x=1744702706; 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=dOnP59hUnqLwlou/8ixKvgPYKb1YxP7pgKnSRZqR8uc=; b=L0GIe+BDWIFYFJJYhG70tNAdQ5AUjbFzw1mu/n2NnTTf2+Umn4zr5ALgjx9TPn4WHW k5v1zSrZNItPlhOiuDfViS7teupqtI8IPpygRSjikW4g48QX4fR7w87Tga2LFuUNbAeU Rvx4EbPbbrZsJCymD/wzCeuSsJ0JHVH2mIEs1rWfUWpG9pN7l7rA1UyXAmSZn8yVF67t ucmAddh/wq8bMNuxnsmqvx3rYXW1pPAeZXKTcQiLJ3dULDWFG7Or/Migl5doHgC/mxhs oPqSUdt/vVRDsoZ0b+Rr/EBy73gj/B5bawqiWXdV+axhw6bhzrHhM+oNMH0UA749J5Mp UvxA== X-Forwarded-Encrypted: i=1; AJvYcCXd/EMN4MXkHxrfvrYZp/aW1F/eWTtGMEs1OzIrsBB+d8K/L7zLyeFKX0mH9+J7sveMLVpU1lJ+s/Ra@vger.kernel.org X-Gm-Message-State: AOJu0YxJEl6+zNqRJu0KL6pRgKJJcQH9sH5ZBuw3mnjRTuXWYH5OKn35 jyVV1SiNj78XrvwI/8FMVAm0woxPgxH1ORc3MeBrign85xWeXjFEau93oatP53Q= X-Gm-Gg: ASbGnctPwhSYYJNbsK9IJcOEf+TCzKcQ8Ou+gqFlLSemWUsbN1shOCKcI8ZAr1sCeGr lw8TEiKqEe8VzbHVSia0bGuz+VO4BNBtoK14MX+O9Md3/yb7HKbYCMU86bX4hEHw7mEsb4VbHh9 N/Xw0iupz1epmzLK//K5Zd0QZLRcY42Pm7bLSIv9FpEdEoU8bwuUj8nq7DSrQJ8EYcMm9sHW4Q6 RYzu1gJrxe6ZxuXBrT/AVX/oeEQUOx7yH9UUn85vN1pLhs0m/kUxoJtD/6n72ANpf2TBZppzxak X1UFpCs3McAwL5snuLMVRfkScJY+6uRM8vEh/g== X-Google-Smtp-Source: AGHT+IG7DQDDtJlKr0AX5fXm/0LslLDepU2Ul+w64BukKBUcPoEM95MldvgUmHprJ30qamN+W88wuw== X-Received: by 2002:a05:6000:1844:b0:39b:f12c:385e with SMTP id ffacd0b85a97d-39d0de17bcfmr13214832f8f.20.1744097906542; Tue, 08 Apr 2025 00:38:26 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c30239813sm13892137f8f.101.2025.04.08.00.38.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:38:26 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:38:19 +0200 Subject: [PATCH 01/12] ASoC: soc-ac97: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-sound-v1-1-dd54b6ca1ef9@linaro.org> References: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , Oder Chiou , Shenghao Ding , Kevin Lu , Baojun Xu , Herve Codina , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2057; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=+s84gxi24INum35RXpjv/Lah+LzIeKYxE5tndjwwncg=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NJtls2wjcS0sj2b+6sSYrrAjLpD1ASs4aSuL YELPn9i8CqJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TSbQAKCRARpy6gFHHX cicrD/4p7G7svsv5v51KuFQmsokFKj2MMyKpLwVKzvPKUR3jJgiiG5jmmC73rdn6kP3B4c3WeX8 ZZgxYEdYkQGY7ctLuTX72ERBUTwGVCuSmrWMJU9qTniEUBObxetXWgGXXFYjCm0VSGF7EV/VPVo dYTGMASWkugoa9q3BCaSobmbCA5T7lEZ0+tU4lNvlBzOFNLaQ+qw4aW7WftW90+h1LxvJna5thl OGyz4C4UdF7og62Qec1SwVv6ciKTNBUf6ZZQJKMhpSgGvgfrHT+qZhfbMaan2H8gPpWsxbSLRFh oVRAz5kmspkuf9VaUNHQ65dI9SR0+9BCgj8fguGQmLhuuoxo/NwV/aU5Vw2XYXYy9nPntrkF2FN oGOgbL+ENh7l4qfjtv7lRX1VEjSqjelGNeLP3SA1c03l09xi2og3veYHlmoFpqyTfK2Aq6rHHuf 04XAWRIWBw/l/+ueNt35bQPmooh0zSXKg0YEaZI/2T1GbjcQ9GJK3RAHrEPqYeeA1xirxknPXpj Kca75P9W/+M1okpl+lgCcCn1qR4wYRXIIz287CYg2FZYX/P5GgBLdqzwWMoM1ddKapjdB/lRnjz 7v0SNq1VDuWhoGZOSA9hTEAwyaFcOmQA1nivp1128qUknVGOWDZaMmA3Z++BWYlg8nwsAE/Jfqd 2LTFtlJV7s0CGsw== 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 --- sound/soc/soc-ac97.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/sound/soc/soc-ac97.c b/sound/soc/soc-ac97.c index 079e4ff5a14e..29790807d785 100644 --- a/sound/soc/soc-ac97.c +++ b/sound/soc/soc-ac97.c @@ -87,8 +87,8 @@ static int snd_soc_ac97_gpio_get(struct gpio_chip *chip, unsigned int offset) return !!(ret & (1 << offset)); } -static void snd_soc_ac97_gpio_set(struct gpio_chip *chip, unsigned int offset, - int value) +static int snd_soc_ac97_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct snd_ac97_gpio_priv *gpio_priv = gpiochip_get_data(chip); struct snd_soc_component *component = gpio_to_component(chip); @@ -98,15 +98,22 @@ static void snd_soc_ac97_gpio_set(struct gpio_chip *chip, unsigned int offset, snd_soc_component_write(component, AC97_GPIO_STATUS, gpio_priv->gpios_set); dev_dbg(component->dev, "set gpio %d to %d\n", offset, !!value); + + return 0; } static int snd_soc_ac97_gpio_direction_out(struct gpio_chip *chip, unsigned offset, int value) { struct snd_soc_component *component = gpio_to_component(chip); + int ret; dev_dbg(component->dev, "set gpio %d to output\n", offset); - snd_soc_ac97_gpio_set(chip, offset, value); + + ret = snd_soc_ac97_gpio_set(chip, offset, value); + if (ret) + return ret; + return snd_soc_component_update_bits(component, AC97_GPIO_CFG, 1 << offset, 0); } @@ -118,7 +125,7 @@ static const struct gpio_chip snd_soc_ac97_gpio_chip = { .direction_input = snd_soc_ac97_gpio_direction_in, .get = snd_soc_ac97_gpio_get, .direction_output = snd_soc_ac97_gpio_direction_out, - .set = snd_soc_ac97_gpio_set, + .set_rv = snd_soc_ac97_gpio_set, .can_sleep = 1, }; From patchwork Tue Apr 8 07:38:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879896 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 428662620CB for ; Tue, 8 Apr 2025 07:38:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097911; cv=none; b=kQQtlftUuHrK/suzrm/MvFixem5MQFQ7mAeuFm6S8Ix7A9Lk8ajCHKvy6R6phCvRtf3+eeAnmG2SGqgpQm9ZiFOeMD/tWKJ2oGSEO5KxFmO2BJM3qlqv8/0EVb71Q7IXFkBuuE4qT0OL32ox6y6NGp82tPJHv/3b6X/BbzP97sM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097911; c=relaxed/simple; bh=odvVZUrS3dbzVw9lDvpqQQ/85WCUEdMbQVAmeGMYZGc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UFXTuAQCI8cU8jtljQkCFQrTsNgcNW9UEE2wrC1HC2c6IGuInzJwWvm4blNbWbLu0V5LJ7MVUI8ia4STfqrfTj4H0JZgu+kK5M7pSb27RG0e9oNKemGTrxeVwscdGC0ETIflD2VlopXOL2XcspTuFqxX/wSY6v4/wXegLuo9nm4= 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=cS8c49fc; arc=none smtp.client-ip=209.85.221.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="cS8c49fc" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-3914bc3e01aso3078111f8f.2 for ; Tue, 08 Apr 2025 00:38:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097907; x=1744702707; 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=vM8Qea3FMtrgDWi17clkzSyShy7K/VLobQ3OM+BTpzw=; b=cS8c49fcSq74m4mT1naL6gWvEmKjSeAr7iW2/xt5Nk/3Lj30pEIpnZW3iAnFq2caxV ecdhc0IuzAgjU4zoWZvdre7KT67w4aqAlVl4NAcVn/tjQ/jYaClaBbRa4Qd83AMaMgYQ W4QmfWMhbblZ37x2z030M80yUu1ue3qYQEf5wHpL/RAtWC4DhQ56KK5xeL0lqcpf2pGo 57ab9YayAFdA55lIcifcJrLl03yQqwK0UQ7s8wOJEJeUSs6NqgVhyVC3f/VP269W0yE0 plWxOUxkbncvsFVS2IahiXM6KYc+lLbc+Nr8jTcgfWQifIU7axjttaH1R6N7zcIh+FNT E34Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097907; x=1744702707; 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=vM8Qea3FMtrgDWi17clkzSyShy7K/VLobQ3OM+BTpzw=; b=Sd6X8i7mZYRLFQ7xEhqgMPTNM6H6/sR6Tgsyf+wxJCY6vSxxO66zo9OAxtwP0IY2DG myH3qUpjWUM8/ijWQfx6YQDby4vWvl42O6LPA3Fp07Mb6wVguXjHgsRHWSfdjofcPcdc 6jVAVE0dsUIc5JLa+n8VOmFc7MfMDsxyjUnmPVnqpPCmar8Ds3RfSrqApYYTrKXGi5cO myT2CuB/Z47zFRi6BqnwVjUicE8PSRAPK750PWQFme1hXGiA2+pQTipp0c/mCCJ37XNe 4BhbxQKWehkCzWs+K25xASYKUtQTrb1CrHwTpLpl80iPEruUnG75fboRlwjnfR2zZuCZ iFfg== X-Forwarded-Encrypted: i=1; AJvYcCU8xY69cYRzOZ2P8a9ttoTJL71xDHCtBqaVVyBI/lFvXfw5sSFxLRR3/tB3MxcXGC3z5RZS0tME5bZc@vger.kernel.org X-Gm-Message-State: AOJu0YwVNx6SlTACW+96A1CEujquMJwq29bVY9bHnmhmGshNe84RJtj3 oeMm4zEF7aAEgYqbLO83HenIXxnhluuFkp1CcXRnVlG9y34Y5Csft29PfzR+qEo= X-Gm-Gg: ASbGncs9/YaCesnK1YZmn58FIHM7Io/nXAoojQaSKaEo72CNtLlztlpKi42TOnY3H/7 Q3cDod4YOZ6z1J67r5EAASjzN7H9QX9MNXHv+SJ9Dbgjb/RJ/LBbU1XcfGTjnTIqruRtbHpsu4c aJqrsuAIQ9Znx4EhjvNRryNUvlxgl1I8aF6HJMj9fYx9wk8BfR9NsGcbcIys/wR844L9Fed9xSS IOCa3vvqJ627iodW63QD9fk7lTmXooqOD5r9rDyGXNxsRWekeUVDn2+E+OVHloLDQKwUxxsPzDr 16WiEm1iL9SU3SYZHVFN1E5nH0pvsCot98epWcEZG830NEMb X-Google-Smtp-Source: AGHT+IHG4Z/ZuFphLMM4BLXvIJni9vAF4RZfbvwi7RnlWhP+eHtEE8msr2+s9dSB8JIiVDJomM+vzA== X-Received: by 2002:a05:6000:2512:b0:391:253b:405d with SMTP id ffacd0b85a97d-39d0de62927mr12155263f8f.41.1744097907542; Tue, 08 Apr 2025 00:38:27 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c30239813sm13892137f8f.101.2025.04.08.00.38.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:38:27 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:38:20 +0200 Subject: [PATCH 02/12] ASoC: ti: davinci-mcasp:: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-sound-v1-2-dd54b6ca1ef9@linaro.org> References: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , Oder Chiou , Shenghao Ding , Kevin Lu , Baojun Xu , Herve Codina , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1670; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=4r1nNQSWxtmth2sTRGpaUPwZfF0gETP2bZXWejf1QY4=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NJtxz6edE9QBclqAj6Xs4+ohVR6fblexPUix T1DRmXYfQCJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TSbQAKCRARpy6gFHHX cn5dEACtbJfAMR6blmJ5wZcZOFlii3iInTRZzxbZjFSWOCktnBrvaRB+jeqQ3IZxcM4fzKhQHs6 N3KJTejg3lD5nx5JVxxA9FRJDkXlDOzpJa/5/eobsWgmQOtYyD2edbPb//P1qw5f0F2G6k+7cET CQ8DZFfEvRtULbVjWYkufogdf6u+2oPkLlsicSTyuH5zouYuKanlMmQXwaZntrm4QgRhe7m8q7b adhDH5smg3VjX3GqZBA4BsfI0fLWJHpp8gtVn9ck85B/l4hXhaoxcAv4EaOZiDSamljQOk6+3l7 D8m7hQTMuB2DmVTypZe4f6hptW+oiIqnrhcO/8dAZZJFBgCYnV11Wdbx9tZjiAvT2yvShU9H2ae GvMZTUu8277850aaeuD6Ig438+uY3Z1F7TtVBBRs/gurlaEcl+hHP9/OfOWVeKf0yIlXFq4H0FK jUCe2rYGiEzQRrJUHgAAj3tY9t0Jge2Yev0Lv9LebKQVxNzB1xVdM418dKMTQOh7xe4meV9YMIU asJa6U6nBxsZyJs4ZZOS7TWzLJTUssSXguWW7ITmLEAwavxzDfV2OlMU04xULphX1f6QaOibmjt +kkXlVFP/GA+1mfY89eommtJmf2iBx/O7Z9j/vKwN9LfxJS9v/hK57pPhqXVat/pH6Cg/ATvSJX RlU2bZozo648+fw== 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 --- sound/soc/ti/davinci-mcasp.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sound/soc/ti/davinci-mcasp.c b/sound/soc/ti/davinci-mcasp.c index a0b8cca31cba..caf1887cc9d1 100644 --- a/sound/soc/ti/davinci-mcasp.c +++ b/sound/soc/ti/davinci-mcasp.c @@ -2157,8 +2157,8 @@ static int davinci_mcasp_gpio_direction_out(struct gpio_chip *chip, return 0; } -static void davinci_mcasp_gpio_set(struct gpio_chip *chip, unsigned offset, - int value) +static int davinci_mcasp_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct davinci_mcasp *mcasp = gpiochip_get_data(chip); @@ -2166,6 +2166,8 @@ static void davinci_mcasp_gpio_set(struct gpio_chip *chip, unsigned offset, mcasp_set_bits(mcasp, DAVINCI_MCASP_PDOUT_REG, BIT(offset)); else mcasp_clr_bits(mcasp, DAVINCI_MCASP_PDOUT_REG, BIT(offset)); + + return 0; } static int davinci_mcasp_gpio_direction_in(struct gpio_chip *chip, @@ -2216,7 +2218,7 @@ static const struct gpio_chip davinci_mcasp_template_chip = { .request = davinci_mcasp_gpio_request, .free = davinci_mcasp_gpio_free, .direction_output = davinci_mcasp_gpio_direction_out, - .set = davinci_mcasp_gpio_set, + .set_rv = davinci_mcasp_gpio_set, .direction_input = davinci_mcasp_gpio_direction_in, .get = davinci_mcasp_gpio_get, .get_direction = davinci_mcasp_gpio_get_direction, From patchwork Tue Apr 8 07:38:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879123 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 53C3F263F48 for ; Tue, 8 Apr 2025 07:38:30 +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=1744097912; cv=none; b=BjfSSZk1DDC1RN9KSlYCQoofSlC0n6lPicXffSG5N13/uVgHlDGzVCM7HJHl/okvXOrparPf/svHgpHuf27dnRpixDCIa6dtZhN9kDdn49ZrMtt8GWixTJPfhZ6niWFe6RmDMpXgRYVlHtc5wfsQ81zK4mExpW8mbHVG7G45OWs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097912; c=relaxed/simple; bh=1IUDawPuMnzL1syBH36aZZ6k9aIzZFFvZJrc5M9W+h0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CXT3UamP28+g6WFbE4QKLVwZzqHal6inpWn1PHsid41aESPvjKr0AJ4CpH+PdS5EbtVEnld2ChaOSCTdy1fFClVgXScoz//ySyQxQnjpS2ujLvmmzmg3Kr55QaXGxK0RfimyyvBPmhhVs1nok3STYPJUH9qi7nK9wDG+dBhIroQ= 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=MOhg8jqE; 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="MOhg8jqE" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-39ac9aea656so4449058f8f.3 for ; Tue, 08 Apr 2025 00:38:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097909; x=1744702709; 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=/qLbnSxZuvxxqgDY8JPrap5c14Fhz4xBCnHroQ52eE8=; b=MOhg8jqEjcQpPV6BaiKAsgGYgaOkkNOP2X1EC6trdGOqOP0dM9DHTYCAjyIufrvGgk idFSLSLXZqvX3CkI8LosZLf+B6345iZSF9BwYLs36LFcG48+Mwo4HT7wwaOKz7iEr/Tt O89Bz3NAVP2dOKHFcVRZjm8OS89Z8OmNvZDqQUQyg6FsJoh5JJfgVw73z6uysXXUO6hV JCyPlO6LgfuwQVqV7QPlst+nrtN7AAjlhBg5Y//WZXDc/KewzqPb61G7bBuvOkJQKdC2 0hDkku5TNsn2UisDSn7HPIU+iFuqmbIpPfFdkZgMFznYChoEw/Xn1bGXvJwzZN4Y9CQ1 4oXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097909; x=1744702709; 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=/qLbnSxZuvxxqgDY8JPrap5c14Fhz4xBCnHroQ52eE8=; b=ZJ4rAR8b1Lm87MBO1TDrGGFfRGO7MisvBbHECqDaFbcr8S7Z7mSy0vU9CpjyjwwNJ9 cv2ltsd4kLJTKlXohB8r4QYqDjIrVouW6otXW6LKyFcKwDSmKcF8GyhfAGB+81dFE2ak cfJ+uNOVGsgfGBXywyEquifZBFfplzVb6AFYP2JYlXlU+NiKUlVv9KWky9jO5IO/PYTc eXp4ja+V05tVCK/uvB4EA9iXlnFRjl/zArpq5enpAVaVP4kDUqGUInXGeZhm1ub6pThV OhfYOYwtwtL3+pwMCP81S3qGQO5CcZfs9X0h4ifq4YTlYgL2OjGfb+gexJhbvJGT2NP2 FTHg== X-Forwarded-Encrypted: i=1; AJvYcCWtCCkl2n8/3D7ZAJ88MT1o/kLMdHVqNZMmG+y/k06FjOZX53JkRo8cGuAKaXN6CGUew/i1+cWWcTbY@vger.kernel.org X-Gm-Message-State: AOJu0YzS/Lzetqr/ns+Q6za7ZWr1FE38B9Tt/v6KR9hrKhMHB9ByDvwf mP1vfC9UwcA2ZXaQLfkbuObWcpG6zaKI0sI2sbPjpna8xVhx8Xs2afgCLppAPdk= X-Gm-Gg: ASbGncvhcs4OyrAAbGYPLSUmiwuzj3zg0Y7ORSme/pcgs9AEW+EgvDBVzAqeBcOCh7R zroS6QH2hi4lV2ohsSC/H7InaNpOBVvAeLQv3iVLcNKGIkMvr53TX7ME6ikWRtxzjlmiKwqa/cI NHIc1RCaYeyIPvpZxWnDZTSQ5Nq3zNpDnbpd1fnChUwH/g77UyAZWCTn8oVYuYruZBNNHw4pZq5 8w686vWTM9ZvRq+WgajTqmWB43XoWYts8pajUbt/5I54jnyEXPjmG8dZhR2vd+TSIwBJuwPzRip CIHLsgCQBYQWiXui9dr8tmD68ofyTbTDNtJk/Q== X-Google-Smtp-Source: AGHT+IHvYGfZ7yR8oB9kGjMs/YRCRLgRd8dQnkUz0sLZd+LtxfPulakxOzObaL6yiBQuQ+UU4Yt92g== X-Received: by 2002:a5d:5f83:0:b0:390:ee01:68fa with SMTP id ffacd0b85a97d-39d0de2564cmr13657198f8f.24.1744097908651; Tue, 08 Apr 2025 00:38:28 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c30239813sm13892137f8f.101.2025.04.08.00.38.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:38:28 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:38:21 +0200 Subject: [PATCH 03/12] ASoC: codecs: wm8962: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-sound-v1-3-dd54b6ca1ef9@linaro.org> References: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , Oder Chiou , Shenghao Ding , Kevin Lu , Baojun Xu , Herve Codina , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1574; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=0wuGbBgNgomJF8AO9tExLloUdiNGvc37irSst6MvvQg=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NJuYHJbAn0GFK6r9Phd4nSelz/JqRjF/cNIt 9N6Zr862BmJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TSbgAKCRARpy6gFHHX cucsD/0YLwi1Yh3e4x+YoiY7EbbSTHrO2YjLooW+nxXbIpy0FsF78TIVsyApbTfSTVUJwWqc+IY qpVzaaJ6IvAnFgcQYh1jhsEvaypV4KbuVLmDMA/dCx+h5KORRTFitTI8E/RdtRHU7KoSRcbrRLU uTFkwsamxnrd2bUU4LhNpsD5pqNRKsWSGbGwYKBlniTUApUl1fVW8ud/Jzji8sNBP6YXQq1/4kl uwnB6BOO2HmUGFKItvFHT9d8Y1sxzHFr0XAb8ywWuSedircQO2/Gd2B3n/L/045cL2I86JNxDbk 2aUt3egi0UQFkpMt0FYJlptnT6Ym184FSm3uEYBPSroON6khC38Vgw1FOw4DxhdN/Hu/NLTJ5Y5 pJnKy2KnEGlqzN/fsQRM3yZGcQe/SIu7Kgn+XQifR4jzU+QcNcy5kRIikigbSMenJcQtgKCMGoI PRKeXNUaFgnvG6iKYu0FdVoJfJQDfEchGz1vyRG1yHcNGVtPvHaQLuig79dLq5iSQzs/0Z+mySJ QjPKB2KRBFF4KVYZ36wK3ycwLLDwH+Qnvh6W6bfrE33fi59dFnEw5fgQZ2GABHHBEHuLG/8Ge5Y KJ4pSxc7IzpYr6yYgbrBWl1FwStcl5ofwY0TGQdl4zC1d2IW9Y4PFbdBtQXn9lTKyy9B8JZo/HM 0ExCgf8kRRRqdxw== 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 --- sound/soc/codecs/wm8962.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 68f746626c33..d69aa8b15629 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -3407,13 +3407,16 @@ static int wm8962_gpio_request(struct gpio_chip *chip, unsigned offset) return 0; } -static void wm8962_gpio_set(struct gpio_chip *chip, unsigned offset, int value) +static int wm8962_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct wm8962_priv *wm8962 = gpiochip_get_data(chip); struct snd_soc_component *component = wm8962->component; - snd_soc_component_update_bits(component, WM8962_GPIO_BASE + offset, - WM8962_GP2_LVL, !!value << WM8962_GP2_LVL_SHIFT); + return snd_soc_component_update_bits(component, + WM8962_GPIO_BASE + offset, + WM8962_GP2_LVL, + !!value << WM8962_GP2_LVL_SHIFT); } static int wm8962_gpio_direction_out(struct gpio_chip *chip, @@ -3439,7 +3442,7 @@ static const struct gpio_chip wm8962_template_chip = { .owner = THIS_MODULE, .request = wm8962_gpio_request, .direction_output = wm8962_gpio_direction_out, - .set = wm8962_gpio_set, + .set_rv = wm8962_gpio_set, .can_sleep = 1, }; From patchwork Tue Apr 8 07:38:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879895 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 6E1702641F6 for ; Tue, 8 Apr 2025 07:38:31 +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=1744097913; cv=none; b=GDP3+piklOvMm943EG3kdM52z47mcxOIthf2O+xuG5LkoIenG02yTYL4Bv3NlHSNBYrjVqDdiODgxEa2kmfH6vUi7KwxRpGrVuWjJkIvJsQ2Dtx4fXEck++WtCr4bcqIB/w+7wrppv1s6gHGqIHmQojnp7HImzs5Cv33yimIobY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097913; c=relaxed/simple; bh=L5T41Ha3vwVgec+LKuywfKYPQFYp4488ZbqdSqHolQc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Cq31sykvuhRkkTsL4wkb9wDD0xOQvpBm0J+cYVqhnAKsgnL1PoIiUyzCSuKQPIb3ULjFnodFIUaZuiogu3g4scT7sesKVZHSE4C9rv5gIukIR1Z+W9cD/C0wIz4EWzcc+2IZI6kNi268E35psnCTIOHtpfuDrAxfbrYFdiwT1QA= 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=n9k4Zg8F; 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="n9k4Zg8F" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-39ac8e7688aso3860068f8f.2 for ; Tue, 08 Apr 2025 00:38:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097910; x=1744702710; 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=kfNXJpntX57p6p2HBzuwOXB3bKScNMDPqsKUXLptGlk=; b=n9k4Zg8Fzv9TYnpvkcRX5oZwtq5Gg4ZgfwQAQNr6Xh2uwyqAYzTIMObHXN8qCfbMnW XAZMAPleouJhR2ZrBo3yMcRJHvaHQEXqBuMiVRQ+yljhn7/1yh/zLDJKDOby+rtF4bJR y6RqJMHVOO9CSuZaPqgNn1RbS6y9qhnizMWfEU4nHNOHI/BtDGZuMyG/0StcD9ZRRKWo MmHxIjRusJe45Gj3AYeZjyRLOuOUWsD+4hnBXKJ1lvKNCYz42Zoc7GjSR2EzQ/lMLlpk di0/SPUoeUHnxA7ux4aoMVUBomYVx8brC6KfHgLoDNb5LJTbGMu6orM/GFv5X84i8NQR Zn4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097910; x=1744702710; 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=kfNXJpntX57p6p2HBzuwOXB3bKScNMDPqsKUXLptGlk=; b=aW/lnTMWl+dc9n+43JJ4POZBUrvsHFtn4hNmx5TPeTjyYD3u6wtR685aWyN3Y4QuFE g4f9sUD76y3AdKFObNRAtP0eDoZUojS9bDOONHNZD1B6gS4sy/hQe0QD5qKY93QCcBDq gW5Ia4/g3umYRxk/5h/eUW6oYi/7EVCqn8xMz/c+ReEqElUoW3Pwkn5CWTCdhEtSKVIG 52gYyvk7EjB32iLEgW3eoOiIm8tydxJsF9UcuKJvLbvabY5aV6HSjUlBOe00UbPB8TXG Kj9ETDx5a5zJnq7NU9rx/VaLkHp2L4LZx3UQOaPC3kWqqxguAT1OPZcTXZxidqLUoT4f JCjg== X-Forwarded-Encrypted: i=1; AJvYcCXJijRQjLFf3whDkXVAi05Bd/qV/8IQCP+v3QkNggHf+mIYkLtDehWi2anUU+Oz7vUUwfQ2PJduKDvY@vger.kernel.org X-Gm-Message-State: AOJu0Yy35ddKLPxn6kUwWxvC7zwMoOrDH6bfRAinX2WwZL6ug9mLDjmF HL4u5j6ddpXzpYAHP3VofIJXxwL8N8ubQhHC0dlDIk7nUg1wgXtJnHcYw+LTQV8= X-Gm-Gg: ASbGncsfRNc9ARBIQP6duQKjzmIo85Ym2exkF26tbtmXzNUczBjJK/G2tbm9+U6/7vX 4HyccuXUWYtUaww+ZqrFyVDGebswfMteNsxqHOOSQsvbBxaWzpqg3EZSuC74QPWyCFa2YJYerfe I6wsT5rnpoHFfyl0YsHXTm3uGCd0dklMEueFQClaK8N0boMFc+0egqiL+Q+Eje3YRY+e4VdfzLA VCFz6FdaXe+PJZwqR04hNaXApByFxtOrAwjbqup8RSClEe7BUQa1CUGVEEODhD/vC5C/NuhONEy fZJXJOudTbfsQ/FaSSA8Cf2ob3y7CaFlN1v3M9Vl8AMQL3P0 X-Google-Smtp-Source: AGHT+IGai8x6sYMmuQjTZlOAl2dV2nu2vKt8bzQLfSxIdLBY64Nk78lnf4JieYJi/KN4Md8XEpVpoQ== X-Received: by 2002:a05:6000:42c5:b0:39c:1258:2dc9 with SMTP id ffacd0b85a97d-39d6fd07bf6mr6383862f8f.58.1744097909723; Tue, 08 Apr 2025 00:38:29 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c30239813sm13892137f8f.101.2025.04.08.00.38.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:38:29 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:38:22 +0200 Subject: [PATCH 04/12] ASoC: codecs: wm5100: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-sound-v1-4-dd54b6ca1ef9@linaro.org> References: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , Oder Chiou , Shenghao Ding , Kevin Lu , Baojun Xu , Herve Codina , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1536; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=eCAzJxR7BEmKW+OrHCqV/0gcI/0bn9PMYKCV9A4MflY=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NJuHFaP+AQBZcqqOWYXn8VtjZ7+6YS5jQ2Yv iSsM5UIbTKJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TSbgAKCRARpy6gFHHX cgTPEADGyhEutaHz5HSjjOvub/MGRI7gGFYns34ZiHnExD9RqTS2SmEQGPewtRQFwJNhqTdeSAi S1IFub04yf5rbWpFBOMWY1qWi7I/mKy0SfiLVDn503ZVYP0CXdluH/CtCjuVhMq2lGvN3zWSJid Bq1rtg8FjHY6PP2EN1aPEMhUxPeWI0nGfDAVarK/pREI8d872aah8LCRD+z4kKOy877g7aU3lL7 Uh6pvQ4uCM0G/rC50TiN3SxT7lGkPLLR5S50MTzXqs5D7xh9TgT4QDilyP4qWkFcOlLPb0l7tWY Y7GQcn8TwJNCO9V4e8eeDtV0xT6MuA/FK9o6GWx/8kRwpqiLy1GbmV1BLAfbwqMGOk9/5RsZB39 LKyp7SGgJqXBqNP3zYIzxHnB2WxMYhqFDM+2BVz1UQ72h/Tq/jGhWhvr8LzKxdm/bMRVQGixRWH nbW6ePGGgPuHKs1ZPh2vbE5PqpwsG7tlAkdCrpsrN3WNevF3t6E6yZWng0oA/bZ2K+eb9c+daCN oeIjo9NkSsOBnYsYdSMp+nOf3kIKmcUtOqc97wpPJASRfrPZO8TC3fAbc8UjXW+JrcNzsDJ2iWz mEumGp0stghYdQc2IYVk/Pj1+apmtveSSjjDqUCi8l8e2qwZbXLyWNx2D+DkI7VicdvKjyeauzG rSJ+aCq0NBIq+OA== 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 --- sound/soc/codecs/wm5100.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sound/soc/codecs/wm5100.c b/sound/soc/codecs/wm5100.c index d9e5762324df..fb5ed4ba7f60 100644 --- a/sound/soc/codecs/wm5100.c +++ b/sound/soc/codecs/wm5100.c @@ -2236,12 +2236,14 @@ static irqreturn_t wm5100_edge_irq(int irq, void *data) } #ifdef CONFIG_GPIOLIB -static void wm5100_gpio_set(struct gpio_chip *chip, unsigned offset, int value) +static int wm5100_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct wm5100_priv *wm5100 = gpiochip_get_data(chip); - regmap_update_bits(wm5100->regmap, WM5100_GPIO_CTRL_1 + offset, - WM5100_GP1_LVL, !!value << WM5100_GP1_LVL_SHIFT); + return regmap_update_bits(wm5100->regmap, WM5100_GPIO_CTRL_1 + offset, + WM5100_GP1_LVL, + !!value << WM5100_GP1_LVL_SHIFT); } static int wm5100_gpio_direction_out(struct gpio_chip *chip, @@ -2288,7 +2290,7 @@ static const struct gpio_chip wm5100_template_chip = { .label = "wm5100", .owner = THIS_MODULE, .direction_output = wm5100_gpio_direction_out, - .set = wm5100_gpio_set, + .set_rv = wm5100_gpio_set, .direction_input = wm5100_gpio_direction_in, .get = wm5100_gpio_get, .can_sleep = 1, From patchwork Tue Apr 8 07:38:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879894 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 683FB264616 for ; Tue, 8 Apr 2025 07:38:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097915; cv=none; b=t8lcW8JRp1yRnhWZBnhHZa8GzBRkAVBIapwYZKeuPPVN5VxbqbgHJptSOs3KpjQRYM/Cf7iYlsTDdHSS94X52qwIU4ciBJ65d7U7NhMu1Uqf3g1sWC0kwT6ic5oCBzwJ7iAVOoBuMmCV8o1zAfS5sxDHO+cK/pYrTUoYemrfsfQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097915; c=relaxed/simple; bh=gnxLULCAyuh9NQsbezqTT7XeAICs/jSdAV8dBui03AY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sbOCjW22MMHfCiOjrU3Z+m+NNEz1IFLSU/46XYk8NajFMJgjns4BcNuwxCNS82eisrDM2hh+AQnbl2W502h3P5yeF/pGhJLHWvrJPWkW7YDrUkdpooW4Wxlm1ssVRl496mXGbcuYjGBxICSHdQWKQkudSiS1oYs7gGmcfMRxxCI= 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=Zz8ItODr; arc=none smtp.client-ip=209.85.221.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="Zz8ItODr" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-3995ff6b066so2830043f8f.3 for ; Tue, 08 Apr 2025 00:38:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097911; x=1744702711; 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=aDax3Ws05YZ8zmDA6rC1tfgqVxvQ1cnKk2mOaqzS1/I=; b=Zz8ItODr+iek7sistyaWm9uOHGLFGzwiCzZqY6h698pvEiBDAA69ZRpP+4SXCizoKg /C/TKZ3zMZRaSuENpRx1K55P0MXim1OLralrQYVtqwXruZdAoE+vzfEWAaJJq2Ux5pWY 1OGSznWL1t4ykOzYE7BA0GR3fbovH+jDJ6PJlc4q9quO5htqnyS5M6gZRZpD3jduci3n NQClzZhf+cbGyxWrGImXHddpv2kkE0o6iMcUQmjW7CYHQN21ne/RKSI4eeqi0clWPdk1 MQD/C7MOquBdTVQgRWT/Wq8FnClbEvpZrJrEMoTPrrKOAX4t/fv/U9AjtfWZGiD/JRrT xGUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097911; x=1744702711; 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=aDax3Ws05YZ8zmDA6rC1tfgqVxvQ1cnKk2mOaqzS1/I=; b=AgUyE3MgMn2FUt2O5v0yN8z2k3VWrHchQ32wnh10qBqyZZlVBWxUnpItDm71vC0yUt meXxaFVjb908JLu2TVwPhzxIozsNLux2ED/cA4ysDzw3XpXkcJQt1IDuTixt7Btmwczu xjrF2MobtQqDrBlH1NzBPTTt9HmGzSgLggSJsXrR6dZ4+E+N/g4TGFruTZtN+ERp+J+N N5hhiEZGSoI4jpy1zfyocOrSH3bt++2whic7dxUjrOQdfTHwc6hkbO4RbI1wH4sedQQE M3Tnf9xrZsfgW9jiTnh946IT3p2KqGfekw6aKkx1j43haXdivTm/v1CJiogtflc7uwuk Se3w== X-Forwarded-Encrypted: i=1; AJvYcCW13eRlawrywE72yxlWdz+tPDcaDnTNVCnboeiYevuTPorBxGkzQxfJowEgTD5a67z2efSi/N8x56s7@vger.kernel.org X-Gm-Message-State: AOJu0YzBxhUSTIKVjdFJrMkSr9iJf6bB73c1RN1Yi/fFwNIJTIIiGexh 1qVDf2o0IggMYda6dtqseyXOkmY/zUq3HXsqIdkI71EBfRjX7qirc5xNrPFsw3s= X-Gm-Gg: ASbGncujKrM+SgEZ1GfZDJntQyJLkMnS2LmjLlxQY7k8h1L8DqXhtE5gO3h8is6MhJX ZBqriYuVqROw60fg8RsiAARtKOJD6+E1hO13dJhgItZoy34s6iTNyQo9cpF3AEY4PUT3YYVzffD Bfjr65l8fWN/qdO3NjwT+ybHKK6oTsLXx3Szaq+6nGem7+ldP+A5TqhGON44tC1NjUSN5Qoid9P VuO1bns4X3WmVkITfNitITcQ13VUVxC8hyQ4qR3ktuXQdSoSr7uDOA1ngAZbieai8rYdMr+4tg0 kUcL1qsjJEL5JKL9pFiIeAwigr5cDejA2NDMBQ== X-Google-Smtp-Source: AGHT+IEWN9bYde/xMBfOkHQNa6HTYyFDHb28eVaUUMXpnBBVvhESil1QEAAwJj+1rOSrQNH6YQ+0zg== X-Received: by 2002:a05:6000:1867:b0:39c:2688:6edd with SMTP id ffacd0b85a97d-39cb3595c48mr12927726f8f.15.1744097910752; Tue, 08 Apr 2025 00:38:30 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c30239813sm13892137f8f.101.2025.04.08.00.38.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:38:30 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:38:23 +0200 Subject: [PATCH 05/12] ASoC: codecs: rt5677: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-sound-v1-5-dd54b6ca1ef9@linaro.org> References: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , Oder Chiou , Shenghao Ding , Kevin Lu , Baojun Xu , Herve Codina , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1523; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=zqMzTD4a9F77NzTYV5GJminLBgRVL2t9zDj4XQHtrdg=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NJuPhUyJQBxaca+q9M4yYolMhou4yTpNTZ4z bBZeOmVg++JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TSbgAKCRARpy6gFHHX cjTPEAC1m5Nhh2RvAgn2Pdst2uBxBgbujINKZhSTjhjkRq2GEmSbijkEPVPhf3lTtSgh831MbWY /u0gfFdKiH205VrjCt/8wzP2IL4IMpSaWYwt2Q2JAIHbbCVfDnJRL7y3hwEnoxArxbkJytcOKis FzezC8j6QX/iHLKZT/aBdX0ldbqSsKmyQYRMVMKm8sJjAS3ytnxsrKtuvjXt39QjGz+9/rJ6U3X +P5nukSNs+yzFNVyFIk6iGrXCC8UEmzVdAe+D1naSqPiirI7nnYt5fcie0iR04GoHq2IDEJaDRu 6hJZJJNBBiLZLIcEQMSs45Xwts0A+SrnEbcXOBgrs+JdkQTJ8zwWppLPWPfbBfdtUDAzOwF9nhR a1fMazH4gjgsVO5GQboxTzs12sAQyUyBKTsWmU/6C1koEFip2C6I7oJJnmqTMtnUgbL1RWHYQ2k dUwigXx6LBL7gN59RUhnnViGXAWoWdibP7VWrZ0YCm+zXd+Kqeoli3saaMek+mza0XqWSyZgcL4 G2KDLyBbxTUWfHj3Wvybh8SBenScb9aaAyCfnFFl43VlOsRbnOieVGSaFPQ6UMTbjj4spNmsfEn qHnY6WkI0X1nN5hEOof8Ym1FX5XGI6rpQDm8qDZ2Sj5QCuCNSeCkDbUvPsjK80aWka4sZj5El99 62Jw0Pdii81VBAA== 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 --- sound/soc/codecs/rt5677.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sound/soc/codecs/rt5677.c b/sound/soc/codecs/rt5677.c index 6e4774148566..69a0fb8d7f77 100644 --- a/sound/soc/codecs/rt5677.c +++ b/sound/soc/codecs/rt5677.c @@ -4725,13 +4725,14 @@ static int rt5677_update_gpio_bits(struct rt5677_priv *rt5677, unsigned offset, } #ifdef CONFIG_GPIOLIB -static void rt5677_gpio_set(struct gpio_chip *chip, unsigned offset, int value) +static int rt5677_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct rt5677_priv *rt5677 = gpiochip_get_data(chip); int level = value ? RT5677_GPIOx_OUT_HI : RT5677_GPIOx_OUT_LO; int m = RT5677_GPIOx_OUT_MASK; - rt5677_update_gpio_bits(rt5677, offset, m, level); + return rt5677_update_gpio_bits(rt5677, offset, m, level); } static int rt5677_gpio_direction_out(struct gpio_chip *chip, @@ -4834,7 +4835,7 @@ static const struct gpio_chip rt5677_template_chip = { .label = RT5677_DRV_NAME, .owner = THIS_MODULE, .direction_output = rt5677_gpio_direction_out, - .set = rt5677_gpio_set, + .set_rv = rt5677_gpio_set, .direction_input = rt5677_gpio_direction_in, .get = rt5677_gpio_get, .to_irq = rt5677_to_irq, From patchwork Tue Apr 8 07:38:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879122 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7497826463A for ; Tue, 8 Apr 2025 07:38:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097915; cv=none; b=t1WzDbtRWlRsWNeJ4uSMyMzUcBZK56mfDQkP+MflwxJqG4/CRk6CeRmScxHA0Lbo9/9UtUYMKdJtrBCkit8jDXAA2XqWi7MO6e7bhA2kFlVO0HHRBvu4c/wGn33j2e84I5f24LcTiqwCiIIMF8XrjWD+bUnP4cT+Q76NdA//NNw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097915; c=relaxed/simple; bh=gmKssN881RyaMdbX9IDKos6vpe0C9x5lclww+lbf4e4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=D1j9h7rMMYeAsuAvAUtBRW0/dgUAz3QqhjAKiFqYp9HGZ0buPCR44Jtj24sZEF5WU/00hVhNMPFbfh20HIgLrO7O3RYUFG1eEOYL/zjuLV2Bz0b1DUTV7mLoCFxycX0QOtwtFfrf4tWEO/5sqcQIkqUT4/LazNCOY0uVmMWq/so= 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=zpKGol//; arc=none smtp.client-ip=209.85.221.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="zpKGol//" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-39ac8e7688aso3860099f8f.2 for ; Tue, 08 Apr 2025 00:38:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097912; x=1744702712; 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=LQVmUT29V2vBtC9E+gdEFAxcap/8e4R6NNrtBDHE7iQ=; b=zpKGol//Mt5OILiY9yqXj2vaJ4bvigJlZ+KtIIfWpKOHQIcibL7AT2h5z7nwcgNBWf 664teir3Gl4Y+XC2chp7oqu5MwKcEJpkoGImMKwdPKUhyEhggXNHPfKocpHhEj/NNMWa WWTzwkEH4DeHWkzXlHzFkoe/By8LA8rJazGlXvRvcJjDwLiBqEXmOLdXIIM+Soh4Mqi0 xzZvIdyuf7rfCDsjmciLWlS8OrSN7sdmSQU79mk8TKshaj6oNJKFz/IdEbw+v7dcNKxX btH6xZa0ieEurCxreWDCsYvtKVwVSzEVkm1Jph86qZuRn1z6CBxVlTUugm20roSMiN+d FUeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097912; x=1744702712; 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=LQVmUT29V2vBtC9E+gdEFAxcap/8e4R6NNrtBDHE7iQ=; b=nVVRvV7+YEcSLXBQizPJiIUFLAbKcmSxbEOuNY1NUZqdJqEqsI6/dOnixFnnXbiBAa tAmbEaN9Pv9aHFlGR4fT1tuZ9Q7gxHqZdKfVm8QBzhpcV8+ARy5vSRQHnLYiA3ZagMeh YIRsDkmAdISh9Ch84ulNTpYkKBFdVlxpq1CSD4I20B0+oFU4jSwUilQqP8M26fvEnO3j 76iH0YhRE0sAe/bj8LxB+tF03J2yHLmKRaswBoRhPwz7lvobFR4YytI9Gl7+EjHXnA7S Q797WKXppS8vnaOuCIobMFcCDWvKKfK14vcY1CdZOmTiox6sExGeSFmGR2VgH1b7K7kL VTsw== X-Forwarded-Encrypted: i=1; AJvYcCVRd/qVcrOvlP7bsO92Zv1pWOsEN2PBM/hm11Puuz6YGeMLZx7JEive30iYqdij2HZs+FOo/OWhEowi@vger.kernel.org X-Gm-Message-State: AOJu0YxyB/8h8kdw+LQ8hkWkU11Vv152t/3saaSCrThPpnIYnSh3TQ8A 9kSa322jTea6/pED6JxQHn+2B/YYcM2gnW8kW4zTV34kMD8KgCyKG9eiyn8rZMo= X-Gm-Gg: ASbGncumzCEN70ZsxgvLZR9rTDEyRsIIyMWXY/XcyEDgBKs0t+wR0raDbbDZnbyW6ZC Buyc0QkLUpGXAaR+XKaHnbwKISOnOdjoPlqjMopBS2dtuQrjBVMXA/r4+zWAdPO6N5ZHR92/t7W cRzA3W3CVM1suFoM6nL/dLr9HPpnJB2YtYoaKfU4zxPvShnSOrmkzaFeehQLeveyn84E5OWx4T3 5r7k33OKOgwPNUoREVuagu6xMJMeKEx1ABh37lK3WC+kjRNhQnzZSo6vpukAR/LQQ8prtEVjjqH /G8N78D5oounHgKhCfoMLECmJAcanZFUUe+5xg== X-Google-Smtp-Source: AGHT+IGUJn8Zq34HDc5Dha7/WV8HrI2iZCosrT+ksBpGa3LxTqmcQ7HJ8H3bhYBFYza4iwBG7cA9tw== X-Received: by 2002:a5d:59ad:0:b0:391:1139:2653 with SMTP id ffacd0b85a97d-39d6fd06913mr7779430f8f.52.1744097911839; Tue, 08 Apr 2025 00:38:31 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c30239813sm13892137f8f.101.2025.04.08.00.38.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:38:31 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:38:24 +0200 Subject: [PATCH 06/12] ASoC: codecs: wm8996: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-sound-v1-6-dd54b6ca1ef9@linaro.org> References: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , Oder Chiou , Shenghao Ding , Kevin Lu , Baojun Xu , Herve Codina , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1551; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=J+UXKSUM53U2y2pHQ+9DPWteN9/2otTFvDTKRKmiZUs=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NJuvYmZB5HOytKdjpF+bXv0ibp4qgHi/JhNO UlbOT9UwHiJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TSbgAKCRARpy6gFHHX ctRxD/40q9HVEWkMEU1CQ2bpA1xLXRmNnYTvAA1+Rh9v+2slXDl8EpukoU/ntP7Zcb1HZqDmdHB As0sbr1Xthx002nsTO2ykfLst8E1tfhiQpGo2/YiirvAx5S4g9CAECLgVNBa3vpm/bvdxqP0ZB9 YliQrDQSyolU+tdSU7F0ZDjwLf/9QnQMSEUU2NJRHe/XhUOJ6Dn31c/sAVhCD3/w5NjkPqNwD/R kgXonWNMNi0DvCJq83xI8bdTwID9JF/BdSM6mur2PPpzhnhiPYBAmoUWecdLm8VDKgjbdK1UF87 rtIQJBU4lAbtxRiyn3p3qHPTmLNYDbnPI0hYRi6Mi60rAoqLZqIrXqmjkC56vDzVg+tajH8C9+k glVthIuYXvAblFH2dVsuWzFclKI4mCCtUweAbyQXhflJOD+XNdqkAgIGnQlFsY8nQ0/gYhZa/v4 uGG6YoTTDJaO0cNlWiqGEtJVt/C7CZcaRJLtTek9DYqWHap+kr/vCEjP02Cv62+z/IOdCty3WwS mIEfGgYqsjeX99tBd6rWTZUIVqLLDoNjCHWgp5wZBrG1zu0PzIvpeCe9rTV1MgZdmtIrjE/8eG3 phAnYyMls+IsW2vudz+FckW5zGScBZgs4t6oPuRhEXE2vnTP/6IPkkFQmyHCRAfOjl86CNz9gxh pnSNCdM+uwGQMgw== 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 --- sound/soc/codecs/wm8996.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sound/soc/codecs/wm8996.c b/sound/soc/codecs/wm8996.c index c2af8d7ecdd8..e364d0da9044 100644 --- a/sound/soc/codecs/wm8996.c +++ b/sound/soc/codecs/wm8996.c @@ -2136,12 +2136,14 @@ static int wm8996_set_fll(struct snd_soc_component *component, int fll_id, int s } #ifdef CONFIG_GPIOLIB -static void wm8996_gpio_set(struct gpio_chip *chip, unsigned offset, int value) +static int wm8996_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct wm8996_priv *wm8996 = gpiochip_get_data(chip); - regmap_update_bits(wm8996->regmap, WM8996_GPIO_1 + offset, - WM8996_GP1_LVL, !!value << WM8996_GP1_LVL_SHIFT); + return regmap_update_bits(wm8996->regmap, WM8996_GPIO_1 + offset, + WM8996_GP1_LVL, + !!value << WM8996_GP1_LVL_SHIFT); } static int wm8996_gpio_direction_out(struct gpio_chip *chip, @@ -2184,7 +2186,7 @@ static const struct gpio_chip wm8996_template_chip = { .label = "wm8996", .owner = THIS_MODULE, .direction_output = wm8996_gpio_direction_out, - .set = wm8996_gpio_set, + .set_rv = wm8996_gpio_set, .direction_input = wm8996_gpio_direction_in, .get = wm8996_gpio_get, .can_sleep = 1, From patchwork Tue Apr 8 07:38:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879121 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 009BF26562C for ; Tue, 8 Apr 2025 07:38:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097917; cv=none; b=Qzdu2iCcCvIc6RpWd/ue6LdxZE8Fl9Kvh8g+FD4lIy2ZkZrB/9pJRfvp6eOuEik/XqRq74lLpd71XEvSaQkcHGu7LVBh3bQrtkjnfry/sqwhES8OOaREtQMxGvSzp+t5C63Api8Hxzwnjpwmn/ynFyFjv21e8IUCumZcVKNZUP8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097917; c=relaxed/simple; bh=R/A3ylqOH9M0lwaSSat9OzcHkaRY1rHj05MI244k0Kw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RtmjiAY6+JBTv/UCdLg47Zi7XAUtxixpCx3QbG4CzZkKe6qswisotTTP4qpQghwrjm9tKWVXltcIb4S1r1Y5KTq5SuL9HYDEQ/404P+Xr1NxFUNRR0NdKvtnVNQEuLHXQwTqlaiHOyxXUN+ti/s3w14o+5L8s7IesVswRZhmQtI= 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=RXt1wO2c; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="RXt1wO2c" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-43cef035a3bso34797825e9.1 for ; Tue, 08 Apr 2025 00:38:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097913; x=1744702713; 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=B1uFhkuKxlLMwl31+Z0D6QqX7Bfo4gt21QMBWz3jFqM=; b=RXt1wO2cCD+aZTO0dw2wUq5CzOHh+BbDPxSOPi4P2PYgKLen3IQsX+e7D14nM2HLRi veRzBOuRWDgz6GhFYGQt1c+X6Kk0CKQtUxSMtzTIUCJJ5U05AEpkVNqp0VW2ZVyeC7hd bK1qK3Bm6K7jb+fvANqKuBqB84GnUO0U4i2o7MvEFOXLkohzX5+aQ4F3DVe9ArBq/7c8 3EnCqFsffPU/VHM25Z5tVfr1J0wVjyiSGWpnYNKWmNlmBPhYFC6pNAcasqqtQNNgV1xO oGiE42UnfQy3VQPd0N8fDQTZPtB32sSot50v6NQQUL7SsYVb7SrzXLIhW0WInvh3gBVU neng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097913; x=1744702713; 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=B1uFhkuKxlLMwl31+Z0D6QqX7Bfo4gt21QMBWz3jFqM=; b=TUOlywxTwURCSgWlqvAaIEHfWtpEKLRBS0PLD3NojqNUhe6IoDG1Qh444K3oDSrs2E iKPeoGOg1zOjX9PyP/d8OuqeE/pySi7K/7ctZ/V7PcNrrcNDZ+sdurtnouunm4E9/riL yrJpo4eYvliUPGrhRFC7PP8lysTeZZoaQK2OUx7GkJydSL7FJ3KQZ3ODWdwNs1s8JXml wMn3cNN8pXn7K1KOR4FQwm9x3+hsKMvZ7y23X5oVoJlpqsg3b9EK72tQSoUxFfQlgER6 YkQpnGznfmDW+68l9imarp6gaJiseZjHwJHafcbnxw09zsbw7DfOjRj8KWgCndPUQaN9 0Ovg== X-Forwarded-Encrypted: i=1; AJvYcCX1eixDLxhwAJK0O5NUmWDKq2bQP8x614m2QXfXtuevskAWu0RS5iwZESwnh6mnZDR9RAPP/q5pCxzh@vger.kernel.org X-Gm-Message-State: AOJu0Yx9uBI9vKkq6Ch/TqpAcYt0urYT3HQZ8GnIXpeXomUlqSxvE6TW WgVSgYgS0eQyTrwFwliRiB/6Hhm9AfSHG0B/0o3B5YHQlcp1kpFyOv1jvrhLQtE= X-Gm-Gg: ASbGncvtrDSjfWKl/TeCjZkt5yYcHi+7YCTGyM9/wc7GQaik1UFj/3AsrhMjTBDaI+a mS54JSJ1AVge0fzHWA9u97z2O3lSWe/4LUGg4I9AHwI5li96cU6YK1wlsgycPCTQ9DcboVaiv5G yyLIZmP4B7cDSt1/m0GTrBXjYrZfe1+E94dCNbun7PMArtmkw6GmR8xJ/QVx8LB0sjshslV9GET 1wDBokCpt1NDU/7cXnnJmE6hK7Ekk0LWcAb5man5wcbRKfVDfnDIJgsMK0Bh4v2LfKbRYrmHFat C2vXejrb5lSCqTcLFcbTRBFoaI2eBsbIa8yeLg== X-Google-Smtp-Source: AGHT+IH7iNRt7fIB3NK4furLHtKGOmNKWjDvqJqeUDP7R1K5uKGIvdDe43Tv9iw3hACcOH9nLmnqQg== X-Received: by 2002:adf:b647:0:b0:39c:13fd:ea9c with SMTP id ffacd0b85a97d-39cba933220mr10732675f8f.47.1744097913203; Tue, 08 Apr 2025 00:38:33 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c30239813sm13892137f8f.101.2025.04.08.00.38.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:38:32 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:38:25 +0200 Subject: [PATCH 07/12] ASoC: codecs: tlv320adc3xxx: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-sound-v1-7-dd54b6ca1ef9@linaro.org> References: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , Oder Chiou , Shenghao Ding , Kevin Lu , Baojun Xu , Herve Codina , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1473; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=NsqwcSofKcQmDaEngiuDI5yN4QKWQmReIXbN5GWUN9Y=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NJvYdFcFg+BfZgGFSOp+Nn+UTNQcd/DMKJ7h sDDcwF4HqWJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TSbwAKCRARpy6gFHHX chnqD/wJyAtjmyiPPpsVt7o1nDHpXRZY8sLviChhI1phvTSvnrU3BpTQiBjb09lyDoBqVReMTnK kstdJfb+JXw8xJhs2Rlyt/X/AcZOvHokd/eJWvRB8zjlkQOCvzsgle25YtURSJkg2yNsIWL5ZUM hJGoMqM6pM7lXQ+NRiBs21v8f+93uAreL8pNwkitKdyn4td9CC+rfdVi6s0Gy4kMqQ4VuXyaq+L SIxV1W7LhXWlxlbSsjMJm5IGeK+4z6mEnyoid6WZbshAWIhN7L9JOVmf9szQfGQMPwPv8pFrnmn Tt8vXHJ1uTm9SHP0dS2trsf9Ef4EppfmIDTXJlXYr9I9NBE7Yz7g1Q2egLzs8FBLChjWPeK/Kr1 TNi4KObYXv5YfocxPwZfHX1CTzv2ENTOOXuJ8tJALFhltcYF2wd4CDXuuCRtE5ScxtdJEkHJL0C R/ZvmG2gwORLBGdwxOKixxAAqn91RPfwcJR1q6FWSqzQsapjJRXJYAVvmIoMvzy8ESYE++4H8j0 JpwUKJ2cSqOcRe8uF+EukAC5efOZKyCRc6F5sUSAtKU4/JBXN2cp8HBcEYPyMW7E6XRqMB2FZFl 7DIbjxOObh6kam3uoBLZa8xooV/Wz0V8e8RKmRFsLY/4ureE4MCHDPdO1ths/duwx+muvrG+Syc pZw7RuDmPiH4WdA== 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 --- sound/soc/codecs/tlv320adc3xxx.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sound/soc/codecs/tlv320adc3xxx.c b/sound/soc/codecs/tlv320adc3xxx.c index 191e067ed1c9..1035ba17dc5d 100644 --- a/sound/soc/codecs/tlv320adc3xxx.c +++ b/sound/soc/codecs/tlv320adc3xxx.c @@ -1015,10 +1015,10 @@ static int adc3xxx_gpio_direction_out(struct gpio_chip *chip, * so we set the output mode and output value in the same call. Hence * .set in practice does the same thing as .direction_out . */ -static void adc3xxx_gpio_set(struct gpio_chip *chip, unsigned int offset, - int value) +static int adc3xxx_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { - (void) adc3xxx_gpio_direction_out(chip, offset, value); + return adc3xxx_gpio_direction_out(chip, offset, value); } /* Even though we only support GPIO output for now, some GPIO clients @@ -1052,7 +1052,7 @@ static const struct gpio_chip adc3xxx_gpio_chip = { .owner = THIS_MODULE, .request = adc3xxx_gpio_request, .direction_output = adc3xxx_gpio_direction_out, - .set = adc3xxx_gpio_set, + .set_rv = adc3xxx_gpio_set, .get = adc3xxx_gpio_get, .can_sleep = 1, }; From patchwork Tue Apr 8 07:38:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879893 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 C0742265627 for ; Tue, 8 Apr 2025 07:38:35 +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=1744097917; cv=none; b=ZrmM+0RuaxJLV64+v6I0nIee2npA4kWwaEWJBND/Y/lAnE00muluqHh5WApUWbfcH67Uxx4Sq9U8tZB96wz5CERyI47tCxW/sL8pNrFcp8pHe4PcKsrJCdXPW9vToOSFbRCQ8mZYJdsN0DSdJSC6pCUXSBEeFQcEK0YmaUR3dIU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097917; c=relaxed/simple; bh=fY+pWVILXqb5/itiCqfMZP6GT1wrAGbxEdKCgLUSImI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GeK1YBfbChoVV+5k2gfQFoiwbmLGK5RC1NdCa7J4A+pfFmxrzHdp7AHemBHKa23wjqkWyhmpYQgTC2HbcL6/wr9cQzq09itlbk+ImnsRSWtJZkfDxlkvPIJ3nR3V6xuefYsEO58RRKikW0g/i9dEv6Jf72rg5sfaULDNh8wQXg0= 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=pR1kh0jM; 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="pR1kh0jM" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-391342fc0b5so4056766f8f.3 for ; Tue, 08 Apr 2025 00:38:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097914; x=1744702714; 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=ZBoBUt087bpPfgkOHFFjzVkIh+yz5QA3imLs9YI01iA=; b=pR1kh0jMaSHRGOEu5hNXz0u+MAyf9MFYaUuYEX5V9gWwUla0RfLyQ/xPIob7bTdEo8 90IY8VfLQNGKwBHONqlok3/gnmMFF2Ri481Ztq02+USCWKTO+iiBkRBlJ7LxxO3oUHbt /7M7mait8DxmbxihJUmxPSvBoFJ7OMl6IhOYaAngxXeOtrCivzusGB9Rk7s4P3FhUQs7 8yYXUEeH8WSJvivxjfAFlCP6x1ud7geOdlQo29khNbzuptAqio3GeswnJR7S3hQz30es 3257T+xsr7bPfikv3zwFj56mNAzzuwX4gSnpCdO8k0SXZkx/EV5ComDSbBogjsW6tf1S fJkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097914; x=1744702714; 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=ZBoBUt087bpPfgkOHFFjzVkIh+yz5QA3imLs9YI01iA=; b=TnxTtFzo99hx0NoJ67/EtReRlNLrmYkaB9CPfjVg/H2S0lh4u7vm+kMK1cG3nZ19LA oQhX5kFwpf/V80h9qBNx/L3JT/QgARMI1VTwwIS2g2qwONEYZCdHcEyWm3m1YL8lAq6M NDzckVuIjmwzBUIPwXMWGULPddeEE7GZh6dQ5wZB0BcxOYXpPHaZsV5cln6z8cysqybD gfMredHeosgSjQCDIXI4ZzOKwWoEsyc7jraRJ1rxDdXVYP1XsVJVf54nqK+7WLajoXP9 0b9eMxHSrvGFj+smTpCKGFK/GAezhHp/WnlfX+buROQytQ0jWhi2N+0ZqFO6Et3GsiC3 wRkw== X-Forwarded-Encrypted: i=1; AJvYcCWQ1+7Vb+gE24nbhFQeXgXQMaaUDW8z3lpliQ/8owjrj0lyEK62EclGRCXF+a9YjXalsDmUa02zJaW1@vger.kernel.org X-Gm-Message-State: AOJu0YzZTmfWm4mcWxYSBPoypZNXw1nA2uwO03wK2ExbV6h/94UZ0O2f CCwcjRJ1GHkTCGtj+lb8aQ8EsNHYZP8ofOx6HACRKaZpgw89m6K5/RVpoSHjy2g= X-Gm-Gg: ASbGncucaEJMPEeBSzIgP5l/tc0cCSe3mtx78uATfhoA33acCEZ7YIij/ksW4UfNH6p diP7VG6vRuv+DRvcsiBaZvYH17kFlw8J7x04qk22kAdKjFdgQokJTm1KQ9zpRqp8mgG+8jeK3cH on3Lqt7t/0KrpsES4PgTu7HkcPasP3imzLnDLQgehs4PVVkSKGA2SSQtqs8QIBRXsi5M7s4vBnH eIlywqOrRscd3aAayHtEblH0B3HJ+QX0Ca2nIqmx1ey6dSll2olRNoIJTdil16Xjlk5/fQC7nSi Wd7OQRAcfyU/72wBfL7yitlMAPgvsjCjstsdAQ== X-Google-Smtp-Source: AGHT+IGZzWPqum+g/fh0DG9ZeMxuwA7hGhCymtHVGUiGXAbEqjqT2osxcevrD/xaQ1rQvP2TSbkLzQ== X-Received: by 2002:a5d:6d8c:0:b0:39c:1429:fa57 with SMTP id ffacd0b85a97d-39cb36b2a54mr14794973f8f.3.1744097914304; Tue, 08 Apr 2025 00:38:34 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c30239813sm13892137f8f.101.2025.04.08.00.38.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:38:33 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:38:26 +0200 Subject: [PATCH 08/12] ASoC: codecs: idt821034: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-sound-v1-8-dd54b6ca1ef9@linaro.org> References: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , Oder Chiou , Shenghao Ding , Kevin Lu , Baojun Xu , Herve Codina , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2498; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=cgS6T7BQF961sKz8ax21RsHAauAs2dNcFyYRBwkQxTU=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NJvNVwa+w21sExX3reksODhxqsavG/ZikzPz C1DStlIuC6JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TSbwAKCRARpy6gFHHX cqyvD/0dEy+efm6u6Nh8gozJACwedpwcG1L9GEZj2HrNlnETPemPzBV/eINPvN3vGDouJyJcQ+h mcVbVmQk1qeDyNm6vLLDdT7fOppv9yyEJiAEFI9tXbAw0wXoEDNO+wBH9n2Zw4IBmZ2eTn42seB MGZYb4bGFPo51kIYtzUQh4+w/XoX+0tH31w5jnWYEJwppxc5iaAVDC7HgtI+bBhx3cRKpKx5rlI TXQgDc0ixZEtE/VnxrBovtDsoOvcr7qG4xZHPBGk1zVtR+OBCmgattvW/xxMOwt8JCcv0N6mOPC n0GqgeKafgh61RwboTgtDYKpzOiS7TeDkQh422AbQeURJfjg7LK/PCJiluprXBhyn59bFJHFumW xWSwXLhBPwluM1Ku7BxyfUBYswwBcRDeUGaqKQMYyjBiw0dR4cNzMuaRmnRv0Tx+8SD3M8T3Cw3 Nq64hJX/4LsjI2h8dO9xEJRNFMddYp8/NM+tNTdVW4DDN59cegxet9MPt2JVr6/zK3miWQWiBuS BI3lG6bP0W9ZIZnbD5vSAbA9SD5VOH3f93o9CWe5CODtOQs2SQ7w140dy8g4diVc3EMNwuqJk7Q SrCfeYdVjCV0Mpd9IlJ6TK+6WoQUQ286gbR/+GyuKZV0i+cC2uA8u/zt/rhxNlBB8tof79z2s5w b15sVZOUPaOJ/7A== 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 --- sound/soc/codecs/idt821034.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/sound/soc/codecs/idt821034.c b/sound/soc/codecs/idt821034.c index cb7a68c799f8..55e90604bbaa 100644 --- a/sound/soc/codecs/idt821034.c +++ b/sound/soc/codecs/idt821034.c @@ -957,7 +957,8 @@ static const struct snd_soc_component_driver idt821034_component_driver = { #define IDT821034_GPIO_OFFSET_TO_SLIC_CHANNEL(_offset) (((_offset) / 5) % 4) #define IDT821034_GPIO_OFFSET_TO_SLIC_MASK(_offset) BIT((_offset) % 5) -static void idt821034_chip_gpio_set(struct gpio_chip *c, unsigned int offset, int val) +static int idt821034_chip_gpio_set(struct gpio_chip *c, unsigned int offset, + int val) { u8 ch = IDT821034_GPIO_OFFSET_TO_SLIC_CHANNEL(offset); u8 mask = IDT821034_GPIO_OFFSET_TO_SLIC_MASK(offset); @@ -973,12 +974,14 @@ static void idt821034_chip_gpio_set(struct gpio_chip *c, unsigned int offset, in else slic_raw &= ~mask; ret = idt821034_write_slic_raw(idt821034, ch, slic_raw); - if (ret) { - dev_err(&idt821034->spi->dev, "set gpio %d (%u, 0x%x) failed (%d)\n", - offset, ch, mask, ret); - } mutex_unlock(&idt821034->mutex); + + if (ret) + dev_err(&idt821034->spi->dev, "set gpio %d (%u, 0x%x) failed (%d)\n", + offset, ch, mask, ret); + + return ret; } static int idt821034_chip_gpio_get(struct gpio_chip *c, unsigned int offset) @@ -1054,7 +1057,9 @@ static int idt821034_chip_direction_output(struct gpio_chip *c, unsigned int off u8 slic_conf; int ret; - idt821034_chip_gpio_set(c, offset, val); + ret = idt821034_chip_gpio_set(c, offset, val); + if (ret) + return ret; mutex_lock(&idt821034->mutex); @@ -1112,7 +1117,7 @@ static int idt821034_gpio_init(struct idt821034 *idt821034) idt821034->gpio_chip.direction_input = idt821034_chip_direction_input; idt821034->gpio_chip.direction_output = idt821034_chip_direction_output; idt821034->gpio_chip.get = idt821034_chip_gpio_get; - idt821034->gpio_chip.set = idt821034_chip_gpio_set; + idt821034->gpio_chip.set_rv = idt821034_chip_gpio_set; idt821034->gpio_chip.can_sleep = true; return devm_gpiochip_add_data(&idt821034->spi->dev, &idt821034->gpio_chip, From patchwork Tue Apr 8 07:38:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879120 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2592D265CA8 for ; Tue, 8 Apr 2025 07:38:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097919; cv=none; b=YcquBLYBZZXj6jHmZ4KtSus7P2zfhjlwCIrFdGelyhwJBA3GheaT3mHq6D2X7JBqEf9PO5pc69WSmkqbbP7hTx46stRi6lmb7+22W8uU7oL4f0TOd8hDi6cf0Xjclz9V+LsSgxGIs/tgt6GOEadyYCv4LXm4YsbyUEgpt5yuA+s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097919; c=relaxed/simple; bh=QyM9Y2T9KFk9FIF6coN2uL+8ky5fWHdeo/FQXvejEe4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hwn3qKlH9xcVmh9DVOlWAKG9t/4HPByUFL3D4GUT537GprHyWlbrmUJwtbuFo+wrJ7ZTukGN5hdSTfueYXbVl4KJ2ZWmToT28+okaA2aXjfaQYV9nFPMMZFPFOWYix579iGw8SrgqfrULJQ88NRjrTLZ5AkzntPFm9oSirgvZtA= 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=2/vmbU6j; arc=none smtp.client-ip=209.85.221.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="2/vmbU6j" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-3912d2c89ecso4577239f8f.2 for ; Tue, 08 Apr 2025 00:38:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097915; x=1744702715; 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=W803SFoPErBgnl6+mnZ477H39AcMJ+KI3OFr89zmp24=; b=2/vmbU6jcZCKPgKVxlMnyBjQaArjIFx563FFYtOta6vvij/7yLmQP9TMuCPFuRNfhx ZnoEg6kgeeHJHCu0ezsOFTr1K3LOA0h7nuRynVM8I4WruiLvNivhvRNqIWOrJUh2nDTB txv9KGsnozLmySpIM2NiuQoBU7TSKdMYPSvDVbAtyTXHSm44m93pYplyLFSlcp5UTQuc ps7q3fmuUIHeRvZ3hxmgn7XWnxxUfq/Ne6yjhMhbrBCdLJD4Ot40YBoAiVb1G2ZCWBJJ ekbtORcteRp5OmJm8zTxiLXaWk4q3wAVNXD9857OPB/FvCcEy/Cmf+MRbmmdJubmRFs2 DrvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097915; x=1744702715; 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=W803SFoPErBgnl6+mnZ477H39AcMJ+KI3OFr89zmp24=; b=dnycB85UnrPuTIF4wdXu9M46o2aq5gdRC22hR9yGt1QRg/zC5QTW8O8oZPf33OeC0g v8lHEO5yEDjrOMUlWF/9bbdNFTpeiNyOFmyvjopcBXN7zwheHL7Xk6+LhLCBYpwnu1YN 3kaCaocbfpbIJN8F0Ci03mn/uUiOMRCj1WISsD/MqpznbN+H4wqmmlj1wXMC6QVbmwKo YMKvmMUnRaWvV8dj1kJhbFlPauj7pj7hemS6tt0VFILeyRqLDRR8JH0pAlkrK8aByZir fEuCan3e1Qm+wfpHk/dytjvWTI+WWZXSORX42wW6Gd4s1pL9mBgEYblhivtef60n2fg8 Cbew== X-Forwarded-Encrypted: i=1; AJvYcCWW4fE5aZHmymbg4i35WwGSxbygfiU6IOCMIyhyFOhoUsKebEXrPfEuPeKUMyAuoIslMcfZpOmIEWOb@vger.kernel.org X-Gm-Message-State: AOJu0Yxl2i6aqf5N3gYH0SSZcskUQsmdt2wVXx+o227hjcP79fmCJlWe nXCveckNVhGkURKsWohCmchF6KyzdJVelZLgPK68e4nF0sOG7p+QYtzulUd2wlw= X-Gm-Gg: ASbGncuHpUdWRS4OCr7B+xz/ISsGiCyp6DqdH3OYUefp7tZB0eCg3lJkK8+e+7FeXH8 zfvqksIsPl+QuRKGrpSndm6eo02VW8OqkM9Qwu5Er1ckrWttmjJ+uVSNUsu7aUaYaN+GIw2iMQU 0OO9uFaPRRXGU9JirjdV1Ih+Bq+p5A+QK1B0pTIOMzEQ7tWPy16NC4FGIRmINQetxDFsktqaMmv 8qMTGdO9R8nFh5Z+7Go2jnnCL1DflshUgzcu6EUTZCRmHrwiNrx9yeGPM0wDjxifeOG9z0Lwl4X kqIxffgSSa8Tt4r/ln+276pvRt4Lau8ShDREAQ== X-Google-Smtp-Source: AGHT+IFu6lZjvoeA0BI6CTAms2fH8tDTh0Ob12qHNOFNaOg2B+9x5oIaqW97sCHJZtmtAyMcmFnsjQ== X-Received: by 2002:a05:6000:4212:b0:39c:3108:3746 with SMTP id ffacd0b85a97d-39d14662f19mr12870082f8f.52.1744097915381; Tue, 08 Apr 2025 00:38:35 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c30239813sm13892137f8f.101.2025.04.08.00.38.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:38:35 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:38:27 +0200 Subject: [PATCH 09/12] ASoC: codecs: peb2466: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-sound-v1-9-dd54b6ca1ef9@linaro.org> References: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , Oder Chiou , Shenghao Ding , Kevin Lu , Baojun Xu , Herve Codina , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2569; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=y4V5c/YLi6h6vrcHaV9RorzHXNL2yLbtaONpy+VaplY=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NJvxXG45j3PQaKR207Rl+yciiaJhmVkwRAT/ peItlc1PaaJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TSbwAKCRARpy6gFHHX cuilD/9ZQ1TM0g2o7wCTvTxqpJDnIQT6Pidi0cJW+3Ak5pKNfe8AkS/6gI2e9hdn2ERVgBV4yg1 3iRb3J0oWGBqMnLH3fEHdTTLPAaH4NBy9tDHDuow5zKbrwQSNk355uNwBnOXx+rW5XkqWvrzZ9F jyeYEUJKNQ9TMVVbU/WFKJBwMl8vxHq3IOJSU2QV7I0bkk8w1Ntocj+PsdiJVPgytTRBtCtricw QzWo6sQNusiRtXVLPM/3cxsCV2akzeIsQpOn+w7qZTl7a3azVd8TN4FfY9bZ4HLaVTXwiHt5V2s 2OfbMW5KopN017da73uNUe21evhpmliBIHDza+Jf5arY4wiyhVnZOxAZCNwvASuFtRv2fxTybeS GWctWsOnLezDNmT1BCAsO2qzB60wwC9xENqhs3TQ4oY2/LKX+MrdGJCuqbkNYSwQ7uIw0HEqwEv fPg3ouPHfvGNZ9HSBe9mw7cyY1cr6Xw2jvp8+NA0uPk4toUq3mjAC5CEKmwS7mFaSAR9r6k4VbU RDvyIPf0/9iKSGZeFtpSgZgoHyOB9jN3KNeK6uWi/pG7LJFggJqrgOSvx71C9GMJlfLyFcEVgBw Ouc37XqH6Cnhn92YG3fBTw//AFeQ+Ooa1t+/m2seLwXYz1VHee2IvocOtyjoQ4kwLHO3O/iP63i /GqnHGx5vxkI7zA== 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 --- sound/soc/codecs/peb2466.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/sound/soc/codecs/peb2466.c b/sound/soc/codecs/peb2466.c index a989cfe058f0..b8905c03445e 100644 --- a/sound/soc/codecs/peb2466.c +++ b/sound/soc/codecs/peb2466.c @@ -1726,7 +1726,8 @@ static int peb2466_chip_gpio_update_bits(struct peb2466 *peb2466, unsigned int x return ret; } -static void peb2466_chip_gpio_set(struct gpio_chip *c, unsigned int offset, int val) +static int peb2466_chip_gpio_set(struct gpio_chip *c, unsigned int offset, + int val) { struct peb2466 *peb2466 = gpiochip_get_data(c); unsigned int xr_reg; @@ -1740,14 +1741,14 @@ static void peb2466_chip_gpio_set(struct gpio_chip *c, unsigned int offset, int */ dev_warn(&peb2466->spi->dev, "cannot set gpio %d (read-only)\n", offset); - return; + return -EINVAL; } ret = peb2466_chip_gpio_offset_to_data_regmask(offset, &xr_reg, &mask); if (ret) { dev_err(&peb2466->spi->dev, "cannot set gpio %d (%d)\n", offset, ret); - return; + return ret; } ret = peb2466_chip_gpio_update_bits(peb2466, xr_reg, mask, val ? mask : 0); @@ -1755,6 +1756,8 @@ static void peb2466_chip_gpio_set(struct gpio_chip *c, unsigned int offset, int dev_err(&peb2466->spi->dev, "set gpio %d (0x%x, 0x%x) failed (%d)\n", offset, xr_reg, mask, ret); } + + return ret; } static int peb2466_chip_gpio_get(struct gpio_chip *c, unsigned int offset) @@ -1879,7 +1882,9 @@ static int peb2466_chip_direction_output(struct gpio_chip *c, unsigned int offse return -EINVAL; } - peb2466_chip_gpio_set(c, offset, val); + ret = peb2466_chip_gpio_set(c, offset, val); + if (ret) + return ret; if (offset < 16) { /* SOx_{0,1} */ @@ -1940,7 +1945,7 @@ static int peb2466_gpio_init(struct peb2466 *peb2466) peb2466->gpio.gpio_chip.direction_input = peb2466_chip_direction_input; peb2466->gpio.gpio_chip.direction_output = peb2466_chip_direction_output; peb2466->gpio.gpio_chip.get = peb2466_chip_gpio_get; - peb2466->gpio.gpio_chip.set = peb2466_chip_gpio_set; + peb2466->gpio.gpio_chip.set_rv = peb2466_chip_gpio_set; peb2466->gpio.gpio_chip.can_sleep = true; return devm_gpiochip_add_data(&peb2466->spi->dev, &peb2466->gpio.gpio_chip, From patchwork Tue Apr 8 07:38:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879892 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 0A176265CC6 for ; Tue, 8 Apr 2025 07:38:37 +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=1744097920; cv=none; b=Zmcagd+LV0+DA4QdoSBuAN8NBlfWAS8QDqPuJMheVSp66qdI4DLSVnxGNFHeUvi8obPCN+qpzdlvbMMvoO3qdzzV2bBymdYVAjTuPzPG+yWN4yXrieF2BBAouIluGEN7Mv2pyzwx78v8jHV2gdmQwcl8RiouQPqjB44M7RVKX74= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097920; c=relaxed/simple; bh=iHrkXe5h1z4tzTJGa40kk8YaEGYYX+YiF6Amd3et+z0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QytYpM0acdH+1/QCMv/XWs1euosplDH8Y6PCggglBotFJ1u3W4gWhwH6hn1p4M9qoQO7pUaGcz19djdj2UFlgCiIOP65E5JHket1i61ZYFdKI1sI8j/LSbg2qcWz5npKUlasXRX/iGYhZjpMZSLgY66lD6y2m5Rv+oqlzWwSfco= 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=Io6LPklX; 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="Io6LPklX" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-39727fe912cso2230150f8f.3 for ; Tue, 08 Apr 2025 00:38:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097916; x=1744702716; 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=YvcUl+FgyXEa0lssAY7sah73iVwNMHdHEiWjXEgeur8=; b=Io6LPklXSugcHJXry6JkqK7vN5Vac9Q4znVUco4TN6pQboAViGk1XAsmeKDtM3V/9B O2UpwDIs9rupazFuHTayHUsN1sruvXY8YOdbPR6baXhJyVVnQJPtzIVbykSXjz+Pm5WC 7o3p9AAuOlT51wNZS6KcMpKJ53hTMZsvyZLb19dz2/CUuThqlUzGk6Pu//AUNJqqCIp4 M+WV9fh5Hnh3e2agcYxdbwlEXmWhGmjsKdTRXRgtIL/Yh4eBZhOu5LMUk3YzG4/YK5Bx y3lwU1ETZ2eJVeItTzsoNomggAVOYLgJ8OELKFGb2f9g5nFGIZJYvWGvmI6iCn/uovlo 1/ZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097916; x=1744702716; 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=YvcUl+FgyXEa0lssAY7sah73iVwNMHdHEiWjXEgeur8=; b=szFsjEXtzCnLM2StXRXmm4WrLwt5eEF4vMw3VEUTgXR8XjMvwZgXFkbtN+S4B6TJkf fV2aSre9uTEOxovx03GrRgeszvsNci3ZuMdoHc16qv4ZTmvlMNfyNL96BSt3zQbgBDzY JziC2DjdOKT5UI/B3gYr8dCAm9e0khAR+bFrcNKSVJz4Uf/r/im4pQWQEK43rujOAnWe 1+UtVH+Tjiept49oeqR/UpiwTpIPEUJHmsDz/Hu1r2Fm5m1K6gP0Yg19KWK94upLiz9X nOiM8SCXeoMMgi+JGyGTnP27wIx9mz8yEfMKrnCrpXKNqcXLlEkgBHE2sDp87bRK19uy JSBg== X-Forwarded-Encrypted: i=1; AJvYcCU08M5UuIqK2aA2QAwWHZg3qYDyqAaAJwnH7N15hLU8A1rRmhIMm9YN0VzGNrvTd0RYbhFhhSZSxbw3@vger.kernel.org X-Gm-Message-State: AOJu0YwhYoVzYnN8xEFNvSsbiYUEWaf25BfUOcP6JnmlM9P5e+0ku4+h m3bfNyo3De7SdWfCW2MvhWbg4gaGzjktJSpcGpk7PY6rQlsxqiuHubF74IfF23w= X-Gm-Gg: ASbGncsoVKQ57yCwBrN0YmBNgKJGCWzaoZq8pQ3g+bRmRvpPg3sTPBp6zkg4P1RDJ9Z Pokl5NXDIslcqmgdscyPr1jgxFnwle+kVlBCskzIENUho5JJN2oMm8V6M95XUBU776JrmKQvYU6 BwAd2V/LSCgHt1F7Kt8Yne26FBNExKMt56Qh1UTukS1GAwl9+zC1Oq/Ne8Dxezu635D952Q79e9 WFzXcDMv9w4iD7S1Nrd2w6ucxpM0BR5StxoHuyX2vNugt06GbOzTCQgsunenDvgfKOg1VwThnlj FmCfdI15STgXz2FJWybuXmrkWnWg54fAg/FByQ== X-Google-Smtp-Source: AGHT+IFwk1uMRpy99nhOF3Kp9erADIpAQZph5aa+Q+sNUxD06YSbpujAM4xW5AbmmoVWHwdgDPwwGA== X-Received: by 2002:a5d:64ee:0:b0:39c:30d8:a80 with SMTP id ffacd0b85a97d-39d6fc2930fmr8820700f8f.19.1744097916395; Tue, 08 Apr 2025 00:38:36 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c30239813sm13892137f8f.101.2025.04.08.00.38.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:38:36 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:38:28 +0200 Subject: [PATCH 10/12] ASoC: codecs: wm8903: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-sound-v1-10-dd54b6ca1ef9@linaro.org> References: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , Oder Chiou , Shenghao Ding , Kevin Lu , Baojun Xu , Herve Codina , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1515; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=67o6fWDiy7sxHsZC8a8tfJBk/wPa39r3F5c7o3Lfqqk=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NJvb3n8ea2db0zLqYHLMw4MRqnN0dTR0v9Ef PN7HCdo4X2JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TSbwAKCRARpy6gFHHX cpMOEACOXpEn9aiFqFFzE/amxKw6dFdd0eMSDL4VlZpE54imw2m94NgtJaISilSwMOJoaUHULns Odez60bWg3fnngDFhDz28Es3rfhxRUaXDKCjZ6lPtjMzk/CJsk0ebuTKn/vlo4lnhnwYW90X7YU CU/zzxqACpiUXCvIP7ObZ0WeRTd+rxAWrqVYnq2Cc2R5X+xlyfvKXsjT1PvZ5Xh10K9D/9jcB+/ IUg/5kcvi/IqFiN0gVT6Yl5iU0Wdp+hGtHc4E80UDf7XKLh97Mrx6poWt7kbJ9bPtJ7jniDCm4H MUf5QsA4WKLI4tfEBdQFc+xSxtCgGs4KTuekaQ2s40WiiSB95BHRmVFYDRbaXieYdoZ2sPe3eRu 9/BsiqGnfI0wbBAgevRi++UHWBKH1k47T7J14WTNYUIlHLy17vEEV8R+OIanuzPKndl6LSlHLPJ csJzpdG1Hyykh1/2Ez4g8kp8PR44Br/ZNds9QmNkCro8eeL6wtTNal+i5/igFKmFrnx5AjmKKHW S1MHXinniIrcJrXwyNTQpqg6UlSaQCP1/Bgh1fAqqzV9hoWdH7dOFLWBnQzcFcmx0j82fYhla9I zaHftq3mm42bh+SG40ju6EUw61ykIxjxf3iFlfXPu3C0NGtHP5sxZeH39wWaHkg5H0upzP1FNRG LHQAzzBMw0UN/4g== 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 --- sound/soc/codecs/wm8903.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c index 03902909f27e..2ed9f493d507 100644 --- a/sound/soc/codecs/wm8903.c +++ b/sound/soc/codecs/wm8903.c @@ -1825,13 +1825,15 @@ static int wm8903_gpio_direction_out(struct gpio_chip *chip, return 0; } -static void wm8903_gpio_set(struct gpio_chip *chip, unsigned offset, int value) +static int wm8903_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct wm8903_priv *wm8903 = gpiochip_get_data(chip); - regmap_update_bits(wm8903->regmap, WM8903_GPIO_CONTROL_1 + offset, - WM8903_GP1_LVL_MASK, - !!value << WM8903_GP1_LVL_SHIFT); + return regmap_update_bits(wm8903->regmap, + WM8903_GPIO_CONTROL_1 + offset, + WM8903_GP1_LVL_MASK, + !!value << WM8903_GP1_LVL_SHIFT); } static const struct gpio_chip wm8903_template_chip = { @@ -1841,7 +1843,7 @@ static const struct gpio_chip wm8903_template_chip = { .direction_input = wm8903_gpio_direction_in, .get = wm8903_gpio_get, .direction_output = wm8903_gpio_direction_out, - .set = wm8903_gpio_set, + .set_rv = wm8903_gpio_set, .can_sleep = 1, }; From patchwork Tue Apr 8 07:38:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879119 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0E1A8265CD3 for ; Tue, 8 Apr 2025 07:38:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097920; cv=none; b=XlTt+KEieyKCUltz8hbI+1zTFMc9y+KCJGm+IL/mCSo4SrKVxdN2oDuiXbkzIMgMMnbeE/WM49geskgssn5eOt1feMDAOHNf+/lKttC7aBNsA8mWYKTDHjJ7kMbdf0WmTAHZpkawCyAEvVkwAyFPONllKeEibxQEUqWQY55hKq4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097920; c=relaxed/simple; bh=ilNZkKiACmLQieG1b72vG128/Zk6q84worNVpRUdsuI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pczOF5l5zpXvJnbj6zIyyMzTgAfNu3kRROUpoW3fP+kVMizg6ww7Z4BHZjuheTgaiG7nPnGT3/e/If5DGGCiKxkTEEX9yYlid3FMr+xrpHo+/QZ1aTS4wpw6AQBRUMizymzIQ8fR356zpHyvX8lUXUrl9O5dDdKWhjrO1muWkdE= 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=DIL4ieaC; arc=none smtp.client-ip=209.85.221.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="DIL4ieaC" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-399749152b4so2627742f8f.3 for ; Tue, 08 Apr 2025 00:38:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097917; x=1744702717; 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=8ycPhCwkmIeN+6silmLpioRHga2dgaX99hgp4Vd22jM=; b=DIL4ieaCv/C16PFDMEPaLGH6a/pJGBAOSuxnyh/gfzK2gAvZ5G9fkK6H8Y2yHstYnm /yC0jbMQdbHNt+KSxqRuov9Evt+w38RlCfjib7gkU71Q5e8rZ3d46oMDsiHqVLle6+cc 6G3HW3J41qZUTxP87BtNw6yaQNwEFckoR57iCRBXEh25R5DLHSUyHqvLEhAPvO+6TEB4 S0JpgCTsavQcwHhpQEOCFngQHvqo0BPMTUkeuectkeVI8KVvCeY6sanAoSvhh+ePw3Bz rYxPgryLLQHZXMdAzooNC8S7cblw4LIOh97WJY6kct4FqUPyQxA0lFjQF9BHPx8Qhg7d eefQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097917; x=1744702717; 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=8ycPhCwkmIeN+6silmLpioRHga2dgaX99hgp4Vd22jM=; b=UF/+z+JH2ycFlz4Pd7tXP3hEF7OYl4U2iaWor6o/WkwLmm9TsLhpfwYMSyIz90IvR1 QbU+Wdtkg9tKJrw6Xzckf0ApjSotjkna5JdO2dU5a0zbKiy57SyZFiFZOVmesBu2BKup yxg93/fmHmrA6dBTS1wSlfcJ0DgzBSz6hC82JIzEaB/uVec8mjZqKu0JywtkOwxnAO35 VzixRlvmuh63SR3+aW2YMuDjXg9Hm2zOLzD1hSewL8WxDfiqdD4YbJBa91nLHGv8GNaU 6oOUjYGaFaJfvMK40J7u2rVk6sk0wvWQAkQlxNHv5OQ96l/i5w3eVwvCB+zuilk2o2MV vVsw== X-Forwarded-Encrypted: i=1; AJvYcCXhu4Els6FTCVt/Q2XM4t2UAeuWSr+o6ex8Klo4m58BC5B8v5uv6Xntkz/lgRor0P9XCuRbS0FCZNI4@vger.kernel.org X-Gm-Message-State: AOJu0YyEqK8gbglkknYQAyE/I0nj+07dLh/HiYPdMivCb3+I2xpmNnru tMR+evZzqdMDk90DHK2nszckZFz3ktGnS2kZqSXf3VrRmPW+PkG3UikDWpb0bAg= X-Gm-Gg: ASbGncvK+RLAlJ0gmzuBy4QkhCVmHmXpUYOpzwk+1EGZZP6fMP7PGQ6cKph8F3LfPrR p+K//3RKkyWa2SY4CmNdzIHjEdeAHHsMpsKCNLL7TwcHotRIdoWUAlz5RS+8lq+3cI6ev70l40k GeJTUCjLOj8bHmRONMFdHsKyNOJ004lJSnq6KQ66TUOEdySawyd3/DQHj+pg4EFTccVPT+cm9cX PV//NrFvzA9b6U9Hc8fgip3rIvpzCnkjxBqKlrCPtLSqXRTaZ8Jv/8+FtHP2JFLZVQTbOd1TVxH Zy1tOtk0Ld6lkDWFG58KhFzOjh4FuQdgvo6J8w== X-Google-Smtp-Source: AGHT+IHONac7vF0smanIwJjC1sSegxVSDSxo0Fao4YOZkxOMnAFYYlxFn+VI5ZwK/8z6s0d03LQBFQ== X-Received: by 2002:a5d:64ce:0:b0:391:ab2:9e80 with SMTP id ffacd0b85a97d-39cba932351mr13076929f8f.24.1744097917408; Tue, 08 Apr 2025 00:38:37 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c30239813sm13892137f8f.101.2025.04.08.00.38.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:38:37 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:38:29 +0200 Subject: [PATCH 11/12] ASoC: codecs: zl38060: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-sound-v1-11-dd54b6ca1ef9@linaro.org> References: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , Oder Chiou , Shenghao Ding , Kevin Lu , Baojun Xu , Herve Codina , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1748; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=Y8rStYn67bqY0zwEQqMRWDBXvlszYOOAybVWufsDq9Y=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NJwjVac6Z72dKQybQpKKwEA8WZHYgRpIphxa hSaGL3tAZGJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TScAAKCRARpy6gFHHX ci2DEADVfFybRaZ92cQ7oOBFVA2hFlExzCCKSpX2hgCoSJtma3DxeUAAs2clk7piMxfEW6givsf Cq0sMl26CVRSXlohi+7FPbI0GkLdeAgiSz/MYFu5np4Aovvhw1wpWDvGCTQTvo4jpIdWfl1A6Wy I8aJQ1KDGInzUw5taXC4KYwtLO0GVBF7CuZdj1ruiBK8tj/+TO1J4NOkKFUygI/kPG32HPMrFqL XaOp8+UTr4N+cCbKUU2xKyY8ZhCZIwQ/nAoQzdLpgtMSpGEx4ZFUJoJq+QVJgo2FZcbUqOUPwG9 xJMU9UPLPhJzDxg3+mM0wEd6PU4MeIK63ve0Ea4ntwQ16w8iwB5Y0GpjdhFOQMAXr4LLUVW5QKr 2TnRV+MlZPW/PvPfYH4c0YUpFlNXyFW7Zv8zUD+TPpuQp+/s+BAqESXZj+2aZuFGA1NIxgFroaL yJfjasFFcxtr46w9GYibs8PCbGzHyUtzyAIfop8qXKBa9tx0GHFaDLkAHdoqnP36eNIfqJOxSVC h86HqUN0RcsuA7AglqIzpB5dt4RaofwsHA5artyBNr73MmgeXi7STl6x+Ozqql/iiQkLsj6ZJ+B xmOyZodI4alClQu56OtC0tzpjJ9qeE+aPF2Mziv1oxbV4vIrPYfkqJD/HKTp2uuDR6FouW3pb5Y DzegeJg7vkf9ljw== 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 --- sound/soc/codecs/zl38060.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sound/soc/codecs/zl38060.c b/sound/soc/codecs/zl38060.c index 28c92d90299e..180d45a349ac 100644 --- a/sound/soc/codecs/zl38060.c +++ b/sound/soc/codecs/zl38060.c @@ -387,12 +387,12 @@ static const struct snd_soc_component_driver zl38_component_dev = { .endianness = 1, }; -static void chip_gpio_set(struct gpio_chip *c, unsigned int offset, int val) +static int chip_gpio_set(struct gpio_chip *c, unsigned int offset, int val) { struct regmap *regmap = gpiochip_get_data(c); unsigned int mask = BIT(offset); - regmap_update_bits(regmap, REG_GPIO_DAT, mask, val ? mask : 0); + return regmap_update_bits(regmap, REG_GPIO_DAT, mask, val ? mask : 0); } static int chip_gpio_get(struct gpio_chip *c, unsigned int offset) @@ -422,8 +422,12 @@ chip_direction_output(struct gpio_chip *c, unsigned int offset, int val) { struct regmap *regmap = gpiochip_get_data(c); unsigned int mask = BIT(offset); + int ret; + + ret = chip_gpio_set(c, offset, val); + if (ret) + return ret; - chip_gpio_set(c, offset, val); return regmap_update_bits(regmap, REG_GPIO_DIR, mask, mask); } @@ -436,7 +440,7 @@ static const struct gpio_chip template_chip = { .direction_input = chip_direction_input, .direction_output = chip_direction_output, .get = chip_gpio_get, - .set = chip_gpio_set, + .set_rv = chip_gpio_set, .can_sleep = true, }; From patchwork Tue Apr 8 07:38:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 879891 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2E41226657A for ; Tue, 8 Apr 2025 07:38:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097922; cv=none; b=mIdAMRSTjtJvnxFvCiJ3d4DHZC9/qKYlw8/kS73V6besRtlhfyQ3zHMaiIZh3h0W+vRKsYVo252epGIGEjy5iHlKY0683/CMNNLo6ycLleCoibFDnvqvrXogSPvBCITCSilJqhwUJwwL3WRlE1VAS3n0RQRTNQLBVprd8fmYG8A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097922; c=relaxed/simple; bh=k5vupL3n8W6xhxCh+SyC2X8XDm9fYPVtRAm53auXbdM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XXKzPYqb/yI5nb/0Ogzn39M5cb0ZA3E+eW4LLgn9Kob3M+iszQeiTEy0PknOx9jVs/DUh2DaOaOaNYNe8aT5VXvzCPizQl4F8GRfhiRwCdReNWk4HAfdonC/4vJ6OjrS0jm/iL0zvm2kDEGlICvRiRr7inCD61y5JG1KpMgfjbk= 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=RfnoV3MF; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="RfnoV3MF" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-3965c995151so2588297f8f.1 for ; Tue, 08 Apr 2025 00:38:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097918; x=1744702718; 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=h8SlS/IkZp071lE3E9og/zyHpds+/VnXMpibkYRrvZA=; b=RfnoV3MFL4Kfa9cy29c85WT3xr2480s+FIJGV6eP8VpM+5Anl3aR6ejlpOM3XWqVd4 ouPn7VMmNIX27otz9+rWVdals1/PHcc58Bm5M6FnVMXjd7G/wu7ba4lxng2cO4N6KK23 kjbIML1ZnfNeDwIzXN/P6pxTkAMtJcP1A97Jw23x7vPlZF2yZiP7mbgx2vDvXVzPWKA/ RSsxDz37a6IKtmAQW5SSVXzk3AciwasBlJQ7GLwQh9WuvMLpKqPeKlXQMdZx4r2Z2RIO QmDEjZMIxTS2nnUH7ELmM8fBXEKNDY0H5yUiOfw+n1m8nsSaCU/a39Myzaj+5ht38WaH 4wUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097918; x=1744702718; 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=h8SlS/IkZp071lE3E9og/zyHpds+/VnXMpibkYRrvZA=; b=FqkqZ7lKyPmuUmDVzk9BhtnZAwogS49642+FcrgtYNEYo3iLMVUOq5JzOUi/GYaSGI YH0bu5elJaTXatmOfajoC+B1k2hf7/N7B0ndcTnbyqtr4fqHb3ViINhtOrQPqaSWbEBi tBYQtf8WLe9Eau6mpoMtrzKDZdB8knCEQidQLjjeDeyqm0K1Uf+RPlT9qhsiE16Kj6z5 UYr4JqvVCmt8NSsnG5BT0GehC3TJKmatgbvC61fhlnxJPa9Lad1e3/71uACfzxOOkggC LRc2p/R7rPZ/kwhEfG10W+bDM+SfNWkeNgFpj5DUyWZzVdGbnQ30I7zR6uVor3exYCx9 qJEQ== X-Forwarded-Encrypted: i=1; AJvYcCXtpaxAeHMHIWbO1iF6Qp2+yzdr4LMctVrmSO78NFiCX4R/Gkij29YoinspwxkH1N/CJXiD4Peh0URw@vger.kernel.org X-Gm-Message-State: AOJu0YyhTuNLiyL4usfrPF2STFrKwQ5OEU2C+emwsBi8i67Zf5E4/SK4 lB/FWUwKnmhbwr/dq7JaHXaEdRvENzdJTwfKZYCpBXAikY2GrlXuCj8HVY+iyjk= X-Gm-Gg: ASbGncuPv5XQM3xwDuoQLPhg0NoP4X5y1n9FIz3WmZiMEXh7ALAGkjfWx4LjzOhgAny wGCbulcwOmlmCFFgoVZcA8acktde1Njdp2bwmzE6g82VC5ECp+TtdVwyVZj8fjjMdHlRHfRPfhD cQdmy+IGqp2+j9pZ2wR2M7lwyuluCOEgJud+NSRRD2hGEEKf4IsiWEHFFJ3clo8I/qnen293lCY J+NhOJ1N/aQnNyLEQBrDZreB69Xwxq+HQoi5IacB31aD9gCG6+nF/9mA786NpDOZBR+8Aa/OOml rFW6sL3hN8lKjw1j9omF5mKqE7/bDu0fMs+Peg== X-Google-Smtp-Source: AGHT+IHVdtfNRfLocT4pHHsOiqn02tPEY93VHOwmAXBlq+2rA/lzXOJPZsDShMGFqryxs6tz2QGDeA== X-Received: by 2002:a5d:64ac:0:b0:39c:30e2:7218 with SMTP id ffacd0b85a97d-39d6fd18da7mr7950301f8f.41.1744097918459; Tue, 08 Apr 2025 00:38:38 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c30239813sm13892137f8f.101.2025.04.08.00.38.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:38:38 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:38:30 +0200 Subject: [PATCH 12/12] ALSA: hda: cirrus_scodec_test: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250408-gpiochip-set-rv-sound-v1-12-dd54b6ca1ef9@linaro.org> References: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-sound-v1-0-dd54b6ca1ef9@linaro.org> To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Linus Walleij , Bartosz Golaszewski , Peter Ujfalusi , Oder Chiou , Shenghao Ding , Kevin Lu , Baojun Xu , Herve Codina , David Rhodes , Richard Fitzgerald Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, patches@opensource.cirrus.com, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1415; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=rJRtEYixkAn0Lvz429+OjNvyXIZi456GPAqjVX8W3O4=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NJwI/hZOWHfYBr33xc/jFo22uwFnmFIPdbf+ J9uXUBFm/aJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TScAAKCRARpy6gFHHX cqwjEACvzCz5vMpsyV0eFMubArpgGfUHrYcBTu/vI58XoaaJrRn6ylJU02IuFBVJaa5+eC32fmc LeFZC+OrR60DiWJtEjo/5ufTYHkBsu0Duf6YlDqwrVXWtmorKtatl3IdUZ97IT8uTp48A0VUAtJ YCPg0oC6fqO1nhGLBID+MVWX9YZeQlhvCXhjXY+oKJSFyonfi5E/kgxp3LXsDQHLUEi7jPjm+IE m4CQlrFVN9jsuyxcnITLxaZwcR0pFikCUgBOmc3thh8AGN8XClJE29KiAlmzr8xYX9QQiPR7TUI g0y+HDRsLMDLxf/laKyhfA2VjIRQDJio2AqFsC/nYR7dskvaXMBvusg0UuHDaM/fuWNs/15hc0p nihBNDylEpDR8uvBW+sqDbrDQudXFEyqTGU9YOL7N9mbKXoz4ycJnTefuXhpVAKB6ZgTU1AKRFa jnzYIW7AR42ow5fP1RsscVOzST5UWek2PD6tcao2PMjuwEtRX4EIe0QkyhuyBQFsEa8ItLt28lQ McE91qVbvCciWGo2otcSOSO/5WUse8WUJ4ucHJMNxY85Bha++zf8tcV66fyQ27v2PtvIpImJsAT l9VG1ORxh5A0uzmB1wKPSgHCzVYyrARLAnda/TtgHjuZ5zbQWBE65406t1rwp4mXqU4YCItKDcg mOTziCg3aSWFCIA== 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 --- sound/pci/hda/cirrus_scodec_test.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sound/pci/hda/cirrus_scodec_test.c b/sound/pci/hda/cirrus_scodec_test.c index f5d6241daee4..08b0bde1a461 100644 --- a/sound/pci/hda/cirrus_scodec_test.c +++ b/sound/pci/hda/cirrus_scodec_test.c @@ -48,9 +48,10 @@ static int cirrus_scodec_test_gpio_direction_out(struct gpio_chip *chip, return -EOPNOTSUPP; } -static void cirrus_scodec_test_gpio_set(struct gpio_chip *chip, unsigned int offset, - int value) +static int cirrus_scodec_test_gpio_set(struct gpio_chip *chip, + unsigned int offset, int value) { + return -EOPNOTSUPP; } static int cirrus_scodec_test_gpio_set_config(struct gpio_chip *gc, @@ -75,7 +76,7 @@ static const struct gpio_chip cirrus_scodec_test_gpio_chip = { .direction_input = cirrus_scodec_test_gpio_direction_in, .get = cirrus_scodec_test_gpio_get, .direction_output = cirrus_scodec_test_gpio_direction_out, - .set = cirrus_scodec_test_gpio_set, + .set_rv = cirrus_scodec_test_gpio_set, .set_config = cirrus_scodec_test_gpio_set_config, .base = -1, .ngpio = 32,