From nobody Sun Feb 8 01:52:07 2026 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 769DC226D0A for ; Mon, 10 Mar 2025 12:40:28 +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=1741610430; cv=none; b=QIRFRolennqTKhUctfDGCPN8qYQakrZLd6IqUS/L87m3S0AGJL0QfpPf3Xg1ABfJg4ey56XS9hnC9fdBrx/cjDnDk3NEolMrXjAcjGHXr5Jz+rop43d/irGs8vmK2/p7NKItdnMxhWAMpflaXihFnNoy+euuhpwFZtHdfSEwOc4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610430; c=relaxed/simple; bh=oW/aiEUvZZXqJSh9yhfXEXd+nz94th1LNEkngduFixs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=akK/H1N5RnGguxhUufCY9bQw9GWiIzP0rHctVRbxLjvYovUMWQkiovuFHyKhoqgolXq4sjmJ78/nkHqE9mFn5ECBKv3LejScQBxjI7Gz+JNHgZxsqI2bjYtPHUwjePhCxPYdb1O7umLvAeiSPHuIHxYSPnbPH3OAPUBHaWjQhpg= 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=2oPyzvpN; 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="2oPyzvpN" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-43cf06eabdaso13038295e9.2 for ; Mon, 10 Mar 2025 05:40:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610427; x=1742215227; 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=GYGAI05OK7Mp/05h37Cjc2avvREPLKZMIgnLXPpZpUk=; b=2oPyzvpNOQxj0AoIsHlPAvoQwk2ZarGCLuUwM0+S7xdIB1vsslGDiNQGq/fDW29Pbs +yELrJNgE9JQIEzmeM7UQttfKhwVLi6L7JLvSlcPEWE4Fu4iAGmpu7L9avPHPEpIxGk1 yt/BfQ+ATCsFxPV2Vl+vfYUVcRDLMXKhWm8YLx0FXY6V/W9FFG73tlHRa4BTcPG69zp9 cfXXVuGfCCIFuH7OVdgsQqSeo7o8le2tr8INqPw/6HmI7zK7zvUWG4BnEE9fOUwhVN+4 sGRd5yMY6pumPCmdwR0D9TE8ww9RAuPS9N1xCVPWPP2qefTujsAsb0y/C/+NZNGr8NZg mbOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610427; x=1742215227; 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=GYGAI05OK7Mp/05h37Cjc2avvREPLKZMIgnLXPpZpUk=; b=RkZqKOH1tzHOAGbLhL0zD+V2UaAlgA6yExkFJX9O4RdJ9UK8Pn7pL0YoFsnuffXOR6 KkbakfbpQNBYKr8Kn79UKZSQqpKitAI4it9HFcOb4JDXO9HfJ5QsJT6R/l5vxDMWMU7Y /F6TMwks7dng91S+tUWRpWI4PS3D0qfMDfGly2G34QpsI+HvrjKngaoIG5PLFyhQ0FnK uCtJi4Zamvy0ksqcJA2/P0/Ty/+t9foNcsDVoo1WWgr6AASQXeAgAfUzXjqMLK9BLc9w nnc7rmFmznnt7oLoz6uIvEQcDgAMYdx6NOlFly6T5ZiNku860vczIki55ZZyqTg3czl0 mhxg== X-Forwarded-Encrypted: i=1; AJvYcCUXsCFidumfSEuI+9eDEJD07gqGgtckFoRMAVlRMBq+E5F7mg96vWagehgdvr05HLRSuAn8YiDxZzNdsjQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8LtDbonfKH7J/9RPCnKxjq1vbQbgGIx5qaL2ZHvIg7ggGP+ye 0geBRFwKj3+Vua+/TvcAlAz5YsAHBTLd50PejlC7d8QecqT1ZInfhfWTzzyHUKs= X-Gm-Gg: ASbGncuEz1OpkEEFZXz25FnqfM6MAPB7xCTAhS8z1IPx9yan8bSYJvj9lKzpdSRFcYd D/RGYEbv/gGco7YAzUihjhWBG4YxtWnWJuVI7sTZLms/hCa6lAb9GoxiWc8eK/eYFMjoDFA8ZIO CtyvpekCp66dwxMN8xSu1S3tY5SJ81kCnZujtrnhNkyy9kRv1fznYz1NBynE3dacccO6zljPmcG ZRytTd0bdYqOQuFnDNh+pnpJMLh7MAi1iu9MgRfmSzZOJGjfxWyaNqMpuW+gV9/uZm5xaj5/chB jQuWzwEcDCWPXRY52kQIOFER3YraCA/lMXRWeKfLiSRKj46C X-Google-Smtp-Source: AGHT+IEpiZSigsD7mq/7aroNSLpkKgw14vyLzwCpAs6P3IU39kiwkAcoJYwXJqsG7JdjAFA2p1EHlQ== X-Received: by 2002:a05:6000:1fa4:b0:38f:577f:2f6d with SMTP id ffacd0b85a97d-39132d093demr9788508f8f.2.1741610426632; Mon, 10 Mar 2025 05:40:26 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:26 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:15 +0100 Subject: [PATCH 01/15] gpio: bcm-kona: use lock guards Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-1-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=8700; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=64LvLyjulLlcRTZ6GwgHPm6zOm13plfMb/iq3ckJj3M=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt21eodUQWkbpDril/aofsEv3YS5awh3YzS5v pLHOsHTSUKJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87dtQAKCRARpy6gFHHX co4WEACFOzNSsrtqyn29Tv1p2FDoEi4QHiQUDjLxZx2Bv3sENlv3Tx75JcS/y1LNsyW06lE+Lht hni/2nm5Ku+vMumPzvWiQpBGr7jvBFFisiXHVGoKHZD60rPJV3x1VGH5fpXSYrkqF0G9SzZi2/l sr1zPSrIQ98kdRuklC9yiUQCidpG7gpymoTNQ61suzfAmfv23IiTfxlE8xnzb3YRnGZgMAoTydg yiWDrRIiOgcxDTGUf9Qb0NqtPeOKf7xy7K7WDs3vSkHs9HWmU3IAmawoi0CYedV6LVxTwWxjmpc csZNcgsMcVziHsGfPLUVy0/8HlwM5Ukux4cLc7Bn6q9k+Jn1ceTy5UyyRzSpdoCI+DC6lp6pzMm i654kvtGMluy6k3KW3YAErcIMxRWcM3aXp8RMGs5CxfkUnOMKS4XycWERkdPLun4RgR6HFvrHlI KhhJpNS9RGUBP7stOEyCgd+PkGd6y1oU2qGGNshbuXlg9c+xU+R/JZEHApv09Ncywafj9Bdjtpy vxHR4j2+I/jnJi56GrWy53xOBgGky1gNT6SAXOIOS1xn01LuIZeRPNMXL0eGmxG0EOxnhXd5psN HS/oYXp5UOwxqWQBiSK8N4yy7mxJrW7R5ptA//ih+YDloJvs0xBPMUxedvFEn2yqJ5ElJ7N0WFJ qzp7ejpfa8xA3eg== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Reduce the code complexity by using automatic lock guards with the raw spinlock. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-bcm-kona.c | 64 +++++++++++++---------------------------= ---- 1 file changed, 18 insertions(+), 46 deletions(-) diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c index 64908f1a5e7f..a7390b1f1173 100644 --- a/drivers/gpio/gpio-bcm-kona.c +++ b/drivers/gpio/gpio-bcm-kona.c @@ -7,6 +7,7 @@ */ =20 #include +#include #include #include #include @@ -100,7 +101,6 @@ static void bcm_kona_gpio_lock_gpio(struct bcm_kona_gpi= o *kona_gpio, unsigned gpio) { u32 val; - unsigned long flags; int bank_id =3D GPIO_BANK(gpio); int bit =3D GPIO_BIT(gpio); struct bcm_kona_gpio_bank *bank =3D &kona_gpio->banks[bank_id]; @@ -112,13 +112,11 @@ static void bcm_kona_gpio_lock_gpio(struct bcm_kona_g= pio *kona_gpio, } =20 if (--bank->gpio_unlock_count[bit] =3D=3D 0) { - raw_spin_lock_irqsave(&kona_gpio->lock, flags); + guard(raw_spinlock_irqsave)(&kona_gpio->lock); =20 val =3D readl(kona_gpio->reg_base + GPIO_PWD_STATUS(bank_id)); val |=3D BIT(bit); bcm_kona_gpio_write_lock_regs(kona_gpio->reg_base, bank_id, val); - - raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); } } =20 @@ -126,19 +124,16 @@ static void bcm_kona_gpio_unlock_gpio(struct bcm_kona= _gpio *kona_gpio, unsigned gpio) { u32 val; - unsigned long flags; int bank_id =3D GPIO_BANK(gpio); int bit =3D GPIO_BIT(gpio); struct bcm_kona_gpio_bank *bank =3D &kona_gpio->banks[bank_id]; =20 if (bank->gpio_unlock_count[bit] =3D=3D 0) { - raw_spin_lock_irqsave(&kona_gpio->lock, flags); + guard(raw_spinlock_irqsave)(&kona_gpio->lock); =20 val =3D readl(kona_gpio->reg_base + GPIO_PWD_STATUS(bank_id)); val &=3D ~BIT(bit); bcm_kona_gpio_write_lock_regs(kona_gpio->reg_base, bank_id, val); - - raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); } =20 ++bank->gpio_unlock_count[bit]; @@ -161,24 +156,21 @@ static void bcm_kona_gpio_set(struct gpio_chip *chip,= unsigned gpio, int value) int bank_id =3D GPIO_BANK(gpio); int bit =3D GPIO_BIT(gpio); u32 val, reg_offset; - unsigned long flags; =20 kona_gpio =3D gpiochip_get_data(chip); reg_base =3D kona_gpio->reg_base; - raw_spin_lock_irqsave(&kona_gpio->lock, flags); + + guard(raw_spinlock_irqsave)(&kona_gpio->lock); =20 /* this function only applies to output pin */ if (bcm_kona_gpio_get_dir(chip, gpio) =3D=3D GPIO_LINE_DIRECTION_IN) - goto out; + return; =20 reg_offset =3D value ? GPIO_OUT_SET(bank_id) : GPIO_OUT_CLEAR(bank_id); =20 val =3D readl(reg_base + reg_offset); val |=3D BIT(bit); writel(val, reg_base + reg_offset); - -out: - raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); } =20 static int bcm_kona_gpio_get(struct gpio_chip *chip, unsigned gpio) @@ -188,11 +180,11 @@ static int bcm_kona_gpio_get(struct gpio_chip *chip, = unsigned gpio) int bank_id =3D GPIO_BANK(gpio); int bit =3D GPIO_BIT(gpio); u32 val, reg_offset; - unsigned long flags; =20 kona_gpio =3D gpiochip_get_data(chip); reg_base =3D kona_gpio->reg_base; - raw_spin_lock_irqsave(&kona_gpio->lock, flags); + + guard(raw_spinlock_irqsave)(&kona_gpio->lock); =20 if (bcm_kona_gpio_get_dir(chip, gpio) =3D=3D GPIO_LINE_DIRECTION_IN) reg_offset =3D GPIO_IN_STATUS(bank_id); @@ -202,8 +194,6 @@ static int bcm_kona_gpio_get(struct gpio_chip *chip, un= signed gpio) /* read the GPIO bank status */ val =3D readl(reg_base + reg_offset); =20 - raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); - /* return the specified bit status */ return !!(val & BIT(bit)); } @@ -228,19 +218,17 @@ static int bcm_kona_gpio_direction_input(struct gpio_= chip *chip, unsigned gpio) struct bcm_kona_gpio *kona_gpio; void __iomem *reg_base; u32 val; - unsigned long flags; =20 kona_gpio =3D gpiochip_get_data(chip); reg_base =3D kona_gpio->reg_base; - raw_spin_lock_irqsave(&kona_gpio->lock, flags); + + guard(raw_spinlock_irqsave)(&kona_gpio->lock); =20 val =3D readl(reg_base + GPIO_CONTROL(gpio)); val &=3D ~GPIO_GPCTR0_IOTR_MASK; val |=3D GPIO_GPCTR0_IOTR_CMD_INPUT; writel(val, reg_base + GPIO_CONTROL(gpio)); =20 - raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); - return 0; } =20 @@ -252,11 +240,11 @@ static int bcm_kona_gpio_direction_output(struct gpio= _chip *chip, int bank_id =3D GPIO_BANK(gpio); int bit =3D GPIO_BIT(gpio); u32 val, reg_offset; - unsigned long flags; =20 kona_gpio =3D gpiochip_get_data(chip); reg_base =3D kona_gpio->reg_base; - raw_spin_lock_irqsave(&kona_gpio->lock, flags); + + guard(raw_spinlock_irqsave)(&kona_gpio->lock); =20 val =3D readl(reg_base + GPIO_CONTROL(gpio)); val &=3D ~GPIO_GPCTR0_IOTR_MASK; @@ -268,8 +256,6 @@ static int bcm_kona_gpio_direction_output(struct gpio_c= hip *chip, val |=3D BIT(bit); writel(val, reg_base + reg_offset); =20 - raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); - return 0; } =20 @@ -289,7 +275,6 @@ static int bcm_kona_gpio_set_debounce(struct gpio_chip = *chip, unsigned gpio, struct bcm_kona_gpio *kona_gpio; void __iomem *reg_base; u32 val, res; - unsigned long flags; =20 kona_gpio =3D gpiochip_get_data(chip); reg_base =3D kona_gpio->reg_base; @@ -312,7 +297,7 @@ static int bcm_kona_gpio_set_debounce(struct gpio_chip = *chip, unsigned gpio, } =20 /* spin lock for read-modify-write of the GPIO register */ - raw_spin_lock_irqsave(&kona_gpio->lock, flags); + guard(raw_spinlock_irqsave)(&kona_gpio->lock); =20 val =3D readl(reg_base + GPIO_CONTROL(gpio)); val &=3D ~GPIO_GPCTR0_DBR_MASK; @@ -327,8 +312,6 @@ static int bcm_kona_gpio_set_debounce(struct gpio_chip = *chip, unsigned gpio, =20 writel(val, reg_base + GPIO_CONTROL(gpio)); =20 - raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); - return 0; } =20 @@ -367,17 +350,15 @@ static void bcm_kona_gpio_irq_ack(struct irq_data *d) int bank_id =3D GPIO_BANK(gpio); int bit =3D GPIO_BIT(gpio); u32 val; - unsigned long flags; =20 kona_gpio =3D irq_data_get_irq_chip_data(d); reg_base =3D kona_gpio->reg_base; - raw_spin_lock_irqsave(&kona_gpio->lock, flags); + + guard(raw_spinlock_irqsave)(&kona_gpio->lock); =20 val =3D readl(reg_base + GPIO_INT_STATUS(bank_id)); val |=3D BIT(bit); writel(val, reg_base + GPIO_INT_STATUS(bank_id)); - - raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); } =20 static void bcm_kona_gpio_irq_mask(struct irq_data *d) @@ -388,19 +369,16 @@ static void bcm_kona_gpio_irq_mask(struct irq_data *d) int bank_id =3D GPIO_BANK(gpio); int bit =3D GPIO_BIT(gpio); u32 val; - unsigned long flags; =20 kona_gpio =3D irq_data_get_irq_chip_data(d); reg_base =3D kona_gpio->reg_base; =20 - raw_spin_lock_irqsave(&kona_gpio->lock, flags); + guard(raw_spinlock_irqsave)(&kona_gpio->lock); =20 val =3D readl(reg_base + GPIO_INT_MASK(bank_id)); val |=3D BIT(bit); writel(val, reg_base + GPIO_INT_MASK(bank_id)); gpiochip_disable_irq(&kona_gpio->gpio_chip, gpio); - - raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); } =20 static void bcm_kona_gpio_irq_unmask(struct irq_data *d) @@ -411,19 +389,16 @@ static void bcm_kona_gpio_irq_unmask(struct irq_data = *d) int bank_id =3D GPIO_BANK(gpio); int bit =3D GPIO_BIT(gpio); u32 val; - unsigned long flags; =20 kona_gpio =3D irq_data_get_irq_chip_data(d); reg_base =3D kona_gpio->reg_base; =20 - raw_spin_lock_irqsave(&kona_gpio->lock, flags); + guard(raw_spinlock_irqsave)(&kona_gpio->lock); =20 val =3D readl(reg_base + GPIO_INT_MSKCLR(bank_id)); val |=3D BIT(bit); writel(val, reg_base + GPIO_INT_MSKCLR(bank_id)); gpiochip_enable_irq(&kona_gpio->gpio_chip, gpio); - - raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); } =20 static int bcm_kona_gpio_irq_set_type(struct irq_data *d, unsigned int typ= e) @@ -433,7 +408,6 @@ static int bcm_kona_gpio_irq_set_type(struct irq_data *= d, unsigned int type) unsigned gpio =3D d->hwirq; u32 lvl_type; u32 val; - unsigned long flags; =20 kona_gpio =3D irq_data_get_irq_chip_data(d); reg_base =3D kona_gpio->reg_base; @@ -459,15 +433,13 @@ static int bcm_kona_gpio_irq_set_type(struct irq_data= *d, unsigned int type) return -EINVAL; } =20 - raw_spin_lock_irqsave(&kona_gpio->lock, flags); + guard(raw_spinlock_irqsave)(&kona_gpio->lock); =20 val =3D readl(reg_base + GPIO_CONTROL(gpio)); val &=3D ~GPIO_GPCTR0_ITR_MASK; val |=3D lvl_type << GPIO_GPCTR0_ITR_SHIFT; writel(val, reg_base + GPIO_CONTROL(gpio)); =20 - raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); - return 0; } =20 --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3CF8226CE6 for ; Mon, 10 Mar 2025 12:40:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610431; cv=none; b=s8ng2TA3Jh1fhp69gC81RaiHOuMya1GSHBpiTeYVkAXtw60Iyg+ZxAoPAbghncGC3Pg0OqWd7R1ePnbJL/nyyVYygDwxAMHnUQQO+PrKNouL7oOJurg12Eee8rPuoVpyvKm6RhKE6d47BD/uV8HUHu8knQp4Uux3A7a+5Hthzo4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610431; c=relaxed/simple; bh=bI6mG7/fE9jq7Qq8jr8Olj76OfGfb5CZqhqJYkdpgIQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ub9GKTmw1qbeRK1sD6EofbsjazWWWJu+q4UPUxzl/VdUCQ6jeoQ24kkmter5quHb9Rei2xBcwNg59V2BIqPprRrgsycoy1J3Lu9e950xNQPiew4Q6LcTOzawuZQm0VTEiiOYvB/XwjvaEaVgPpww3jCsgfpRnIptg/KPXe2Le/E= 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=Ov2MuRSi; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="Ov2MuRSi" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-391342fc0b5so3390299f8f.3 for ; Mon, 10 Mar 2025 05:40:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610428; x=1742215228; 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=/L0SErO8WvvIla0Y0YBFAJJ/7qX89FBxAZLtN/OcJaE=; b=Ov2MuRSikbx8MHFvw//I0JWpuNKWnZtw3nHdPUH7+ISOt+S3QN1x3fFjJGWzGk6q21 roWOUx1PIP/8yCssXMkPkIvEp8awtrapRRK8TqxMYZDaa40UdIKjtCRiLyXDkSLOt6C+ 14QWZ6VlyggIgpsnVHxj/b0jrBLwg+LKhZctRi8GwRhZ28YwzX6CMRPq+zrC/RuWIJ5n BnrrjOa0KhQ7XHRuyN1GgZjLpDkOVU6ankyBUmC/qyC9b537YhDbw3wJi7myuCt9xN2y qmlG9AvFlgt1Bt1Cp6kI9Q09PZ1S+X3c0ALEzIgjq/dSjssKEWKnfqKrsq8K574pR+6E gwMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610428; x=1742215228; 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=/L0SErO8WvvIla0Y0YBFAJJ/7qX89FBxAZLtN/OcJaE=; b=KIG2O5xkUYejw0Tu97redHD7zqT8fXDbt9XE82ri6+mtAd+fycoe7HSwHkw2l/2y/F 5sJeKbe358hciOHa99oud++9Q0H47gepppsn4QlUYlh5EdNxiP6HlPYSm4i2lv1jXDTh slqAEMmgbFML94p6jFzFuCH+0TBmpBy3331cSRqyzPvw85X7KlyEtQ+fSA5IbzY48nD7 DXJgMYRpHYgxb2/tgsE5sGX9TPgUgIBAhpmUkxb/niaJ8CIb2nFs9Hxdl6SFXEw3nGQz MYuQjp3/RzljwYFBrwSgFwtaxuSuV7ZvRK1gMIrmASM/WuJiL42lB2zsWHWCyuynz7a8 bO6Q== X-Forwarded-Encrypted: i=1; AJvYcCUytNwbttBtNyi8/YdfoYpLrRR13dRNhWnn0AZhplSgpRybccpsdAQz+cY8wC6LqaYnKJ7JSmp6YcwSHXk=@vger.kernel.org X-Gm-Message-State: AOJu0YzhfHLERhSbKJgqyGAskQ2rlP3j+b6+937CzJkapquVSQZ3naVN NaGCnvUmxkzUrlse34J83MsX9s8hQLySUZjxLsJXMQxwE7WBIrzOfwePojbrHPrwIc0F1jIo7RA b X-Gm-Gg: ASbGncvE1BguIQeBrhfpQzVUoE76DmKRCYi8hUDGo/I4p1Ppk3XuXLL7vMAVQ5nQfUt UtaooxH1ZgZHP6Z6K/5fsvukK9c/Wky8RMDSvmZkf1/VEbsacGhQ0kMVLF0/fCqa8MLlzhXHXSg VqfGKFkYIyyn8a//BYaC6WTIJoHA3MzdXmT0BBABZMWdUHGrhOsw09x2mVlbeuHmH8WC75btgTN rONCVMnkPwzL/mYzxLbV00f+pDO2CJ22FIs2H74Xxb9clHC4JeOk5L/DiOEIr4VWr0h0ZMxD1BN IQi13GrtkU5WOJAQ2z8mG6Wbc1TeJsaiBhKCDQ== X-Google-Smtp-Source: AGHT+IEnaw7V2VP+vh9JbbBGJEoMvc9VnDBShuCZR28K0t7oQnFw+oD6yp2XEyGkyhvpHF2Q74qQhg== X-Received: by 2002:a05:6000:1786:b0:391:4940:45c3 with SMTP id ffacd0b85a97d-39149404778mr2988461f8f.54.1741610427788; Mon, 10 Mar 2025 05:40:27 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:27 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:16 +0100 Subject: [PATCH 02/15] gpio: bcm-kona: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-2-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1815; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=ena6WHE884GsVxxatzXeIBrVJoOFvrALfVCBpMq4+UM=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt21X4gVG0AtYLf8B34gfdK26s44k/mluoSJR blcmhmybxWJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87dtQAKCRARpy6gFHHX coauD/42zIRwrSrdastPpJO1Hv/NxiYRzjpa9b3Ox8STZOgaNunOonmOQFdcp//MpXn5/aNph5e veWkwQiYE1YuqCZl4nvbppnQM063SGSB7MFg82Es+DJ9CtS4v+RLlnzGgoVmkgWLFI5122W1q4X WrJtp7NzIjqbRIgx+meu5Ai91eHLAScqBMSp3WPL0nkSNYHDrXqJEYEW+dDm60EotES7PZpw5qw qfDb3I1iez6N3IHHfacjuHNdjAQEm/ZX7pxBsaLnrKLN1UJgeEdKFEQSwk0mBD9B4NDrxwKZEHl K1J3VCVEP0VBwmDWn5msWrNJ8vjv7zQ/sFLWxE97DyRbEDF5fDo8QD/XOaA4/XUJf1tbcoKMp69 wRggj88FDQxA68q+4a3xXmW7V47tmZCezT0rSIwkWjbwtJige0rPXSnyczrfMtF946zGpKemP3D qFxk/InIE9k9+vLkj6p0oV+KPU07sOmRuCuthg4oQyZAnKafe+1PzZkWXr7h6zUwmS2N7pHwgkt 4ZEfM1cK4RRM5JYnqyCgb28eKAMcJ/6ZbVTM3RJaw1g2uf1rPv438xrWT6GvA3ss11WYH06+xpP Pe6yB5govorUQ1JZHwcugOcqeGQ14qkm6rzKdeVBNQ0jh/ItcNY4i0THjySBTO1t5ApdVHA73dZ 6bRvQwflztwfyrQ== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-bcm-kona.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c index a7390b1f1173..17c287dc7471 100644 --- a/drivers/gpio/gpio-bcm-kona.c +++ b/drivers/gpio/gpio-bcm-kona.c @@ -149,7 +149,8 @@ static int bcm_kona_gpio_get_dir(struct gpio_chip *chip= , unsigned gpio) return val ? GPIO_LINE_DIRECTION_IN : GPIO_LINE_DIRECTION_OUT; } =20 -static void bcm_kona_gpio_set(struct gpio_chip *chip, unsigned gpio, int v= alue) +static int bcm_kona_gpio_set(struct gpio_chip *chip, unsigned int gpio, + int value) { struct bcm_kona_gpio *kona_gpio; void __iomem *reg_base; @@ -164,13 +165,15 @@ static void bcm_kona_gpio_set(struct gpio_chip *chip,= unsigned gpio, int value) =20 /* this function only applies to output pin */ if (bcm_kona_gpio_get_dir(chip, gpio) =3D=3D GPIO_LINE_DIRECTION_IN) - return; + return 0; =20 reg_offset =3D value ? GPIO_OUT_SET(bank_id) : GPIO_OUT_CLEAR(bank_id); =20 val =3D readl(reg_base + reg_offset); val |=3D BIT(bit); writel(val, reg_base + reg_offset); + + return 0; } =20 static int bcm_kona_gpio_get(struct gpio_chip *chip, unsigned gpio) @@ -336,7 +339,7 @@ static const struct gpio_chip template_chip =3D { .direction_input =3D bcm_kona_gpio_direction_input, .get =3D bcm_kona_gpio_get, .direction_output =3D bcm_kona_gpio_direction_output, - .set =3D bcm_kona_gpio_set, + .set_rv =3D bcm_kona_gpio_set, .set_config =3D bcm_kona_gpio_set_config, .to_irq =3D bcm_kona_gpio_to_irq, .base =3D 0, --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 924C6227BA5 for ; Mon, 10 Mar 2025 12:40:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610432; cv=none; b=tA5MMM/dkqrmCyZca9QSIGw0qLl2d0D35Pgtncaq0gMKReE5q8s75eTtspEqWL+VUrYazPwPE04U+8V2zJi6zjUTLZINMDr4HYrFm6IOVGUh35gp2Byq/GisCMwIJs7UfnbKDQHsxFsy1uHc1Z97Yu2wcwciyHub6/RMEFXmAr4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610432; c=relaxed/simple; bh=br0qgCwXR6IILS/HJMnJoxXyosKeHcCMyBKnZ2REJ5U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=i1DCo5NrgcOFfj+BX/YF0SMWB+19aVMZt8OpJWMeoGHityJvC8v46goyE5MxNqU4vIkkEs4WLttBRE/kQSl8qBkjjjyzMQ9dOoWkdiWWjteF43tbvgKxSl9YQJvWkbSFFoBu1UjNSigVzEbzeMncDRYbqgVRaDVVO5xZkyhV3uU= 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=jyqig6gZ; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="jyqig6gZ" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-43bcc85ba13so33630835e9.0 for ; Mon, 10 Mar 2025 05:40:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610429; x=1742215229; 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=ExDJc9PeCSc2zmT6lc+tq6m+jvUQwjNZ5eNvB72f2YY=; b=jyqig6gZQ0nCiULpAf3nGzcp79wfbJKx/fEKbwNCUttgwl+rt4Dnmt6dweGSNQbign DvMHem/0toB4npvftOAD1wU+fQO0nPpL+Aj9y+BsPYkh3H/FoX87oEq+HtVPp0GC3Ykx poZKpMlEGs1YtkmInF7FAgEzg7+mD5xgMxjkmXapVKEkrEi8xUWzGPD8NW8uoqF8XcBg sYVlOFWdVBnemu85711Km36qWuKA0oLA2mZuwnzNV5qpYw24lRaYFpcn4XENfI7tfyLL yETXjzkRUawY5VSVGYVQxnzwF54+qEqU1PLnpoq9hhlREd1lR+rat2Tm9Ld4SpeeTpFA PzYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610429; x=1742215229; 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=ExDJc9PeCSc2zmT6lc+tq6m+jvUQwjNZ5eNvB72f2YY=; b=lBJ5GjiAqv6xqKaRLq8i+RvcS9tatuOKZIHT38EW12Vso3QnNuLst17JRFUs6h6wVU dNt7O/Gc/BHzFWtGqSY2KjeMhrIWe2Q7Dwx4N4/sufmPF67aBU81E3Xg0zL6s9uh3vcN bxAseAPh177U0NgIxQ8ll1Imw3tQ05CDrKgt+q3n6OuzfRL1u6rVRY9U/wUDrICUov56 tl0tSEhbDIV9432tUZJY0iJ7MT0stlb4bfRAQ9ElyUzbRL5GoIEirkiXVH2W3dh3ex7o JQk/EEC44t5faYBbf8OuuQS60JvlpHohC/1OEGXsmbxBwrIrFuWw0YIBDGF69+qNwxSi bSgQ== X-Forwarded-Encrypted: i=1; AJvYcCXHrODKOSXTmaA1t4dz6pDTTLpGiTOSas5M+6shNCqlEHCyQM43UZr8gBdb1RbKEj+t7Avf8BbrO+7wleg=@vger.kernel.org X-Gm-Message-State: AOJu0Yw3ShK2Un2TrRxLZ4FwJ+0aAdxJUnvpUs9Ifud1mnhgUWxz0gWw nmI0Y7VV5Jk41ickfsDV5QXjO18KE7Sr753NSoICFQrtPcheGxDJInWntpmkhAQ= X-Gm-Gg: ASbGnctO/pMbGLcPdU36YQ5KBsmSU3PM7mHlEbWAjMDXn5YzX6bXDw+T1Pyrhn4w8fF V9GXRwh7qAgFWxcQAJvAy9Y71pmz1oU4+z7eDVo7yw67npVTHBts2VC9ZD70Ox1oHyFB6KxnMMc qokegX2jFuEj3i5v3fqGHtB71QIlbL4K+TFXYZlq1uriIcZH/2O1wII2k0j0WYPc4bU3Yv6Z0NZ VV7vzeATlHrKA8ZinrxchwkkXCP+F3eKnO5ntGqc4L+FF48j2ggGbiUyvaXhsiY7VhCuP8mz/Od Wp3WFvlmhV/enAmcvncMLoJPvKIe6gOjiNHCAtP3N/gou1Nn X-Google-Smtp-Source: AGHT+IFR4eU8W3pLo7eGZme/v2IPUi8jYvj7XNPiJwIbpKFova8nZ7EiLJqrg7eufMPKCGOAKDZk6Q== X-Received: by 2002:a05:600c:3411:b0:43c:e8a5:87a with SMTP id 5b1f17b1804b1-43ce8a50bcfmr55669035e9.16.1741610428892; Mon, 10 Mar 2025 05:40:28 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:28 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:17 +0100 Subject: [PATCH 03/15] gpio: bd71815: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-3-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1712; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=6eI9oSEZvQ/zRQ9ewG5oMx4x49O1IBi4OsEUA4Kgf+A=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt21t5hg45JOHH4FIQC8J2+lEXuZA+Eo1vWQx d7HdKIRoXiJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87dtQAKCRARpy6gFHHX cjyGD/0SGk000FmhJu2Sr6c1Cl9SGsiT2TcHqvF8b8i+n0CVrJ5B3pRnyj2DXREnxyRGCrbyhdm DcBI/oty8LNJzRcjkVoZBhikYQACHOVwlQYKr+GeX8vGSyAQ+4tCMtu3Bpoqo3lLqq6NY0Cwvyv w3X0l0mIFjjCcqEHUhqAImv1/mQEa/kJlU4FT2E6vm1q2/YkhlMJQsQMbVXHY55eu/pVt3wAY7R /j/tEAbkjIPVTg5WqmjQUCD+M+4m6qG1E+Ike1bmFBz+LnLhHMzo4tLKPSc6CAxKQASkLBeWXeq AZGJuKNwBjV7BN3goJZXXpSVTugCcxaIA2aAghnJFbW73kYWSOGtRRaUIoP4JamtEj6PnNvwEqu eNTyMvYRx5AJoqcZIuK8H0X72khuVADHxwB90dObjOBFrQNXmjxc9lVDhcrGjdEoaMDLefa0m2E fnM2TdI5IhfI9mjcwIV7XVtlj0UpDBbqRt4ICb+kZclM9ezI0sl9d9MRvRQ4yvarBAyzNpuh5iP WJgkdZFlzHQzvlH5/zyVbtVj6fhF8iGV/BYVD+m2En4UHERaTpmYiKXKCKk240LGxUV2spZY3qR Oy3L+kB6vnM7MTvQYIWn3HStDtNQlc0gxQchDSn4+4sHsFN5BpMguhDL/i4oclpLN/HaAFDMn/S XDIX5SDT+taWgng== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski Reviewed-by: Matti Vaittinen --- drivers/gpio/gpio-bd71815.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/drivers/gpio/gpio-bd71815.c b/drivers/gpio/gpio-bd71815.c index 08ff2857256f..36701500925e 100644 --- a/drivers/gpio/gpio-bd71815.c +++ b/drivers/gpio/gpio-bd71815.c @@ -37,21 +37,18 @@ static int bd71815gpo_get(struct gpio_chip *chip, unsig= ned int offset) return (val >> offset) & 1; } =20 -static void bd71815gpo_set(struct gpio_chip *chip, unsigned int offset, - int value) +static int bd71815gpo_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct bd71815_gpio *bd71815 =3D gpiochip_get_data(chip); - int ret, bit; + int bit; =20 bit =3D BIT(offset); =20 if (value) - ret =3D regmap_set_bits(bd71815->regmap, BD71815_REG_GPO, bit); - else - ret =3D regmap_clear_bits(bd71815->regmap, BD71815_REG_GPO, bit); + return regmap_set_bits(bd71815->regmap, BD71815_REG_GPO, bit); =20 - if (ret) - dev_warn(bd71815->dev, "failed to toggle GPO\n"); + return regmap_clear_bits(bd71815->regmap, BD71815_REG_GPO, bit); } =20 static int bd71815_gpio_set_config(struct gpio_chip *chip, unsigned int of= fset, @@ -88,7 +85,7 @@ static const struct gpio_chip bd71815gpo_chip =3D { .owner =3D THIS_MODULE, .get =3D bd71815gpo_get, .get_direction =3D bd71815gpo_direction_get, - .set =3D bd71815gpo_set, + .set_rv =3D bd71815gpo_set, .set_config =3D bd71815_gpio_set_config, .can_sleep =3D true, }; --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC678227EAF for ; Mon, 10 Mar 2025 12:40:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610433; cv=none; b=IFsCYm9OF/kX/nYU4hc1aIF0B2d9PMQ+ikdP4MPMIfD30B2Iq7GcRz0BaN2FzBTnkAbNeZrUW+6AQj2kPu/1CyJi3HsanWOsD2JgI9gV/CmbSRzzm7q9uRIunLcuUXu4KzoDntdy6u11adcitYM7EA4RoIkxW+q0uViUunAukEM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610433; c=relaxed/simple; bh=DmESC0YR5KbZrlAd/dDpIL2pAODS6Rzc9c8ux7DosCQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fsN1jQ2PDPb/9HrKTNN/289DYYQuK+0qrNyvkNN2XbPdKQhkXIn+7FU/sdRmeS3Xvuk74b94+9ZLbsHDAnCdz1ubH5vzIzRNxLY03ZRGN/ENa5ISArn0+TcdvMDaQ9LAQ+Ckc94D15NwWIscJ/q1K34ZthWFnkskKXObwGjULDw= 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=ZUb4Odmb; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="ZUb4Odmb" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-4394036c0efso23440565e9.2 for ; Mon, 10 Mar 2025 05:40:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610430; x=1742215230; 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=Xar7ZrAdmD0Zgg1MVmgfA5Lcsmb+K+928MQN+MEqYCk=; b=ZUb4OdmbWQ9dWtkOaCG/VvSpzW9j4XJbz2PZh+Y6thWOFCcUwxLKRvSJ5djZFJ5+jS MbXwbiX08RS1Zx2z4XKtH1r2NapqrTKBtqzDC4HKlYniFvG9JZc0ysoJPsK4N9xovfZK NlTwppDEbaPvJM2scY2lbM0Z5xQGQBv8pgjXuyhqIv5MkV1teC4PhKRFWQ0/w/OTRWhY kBrIIBVGGIlY22CwRjgnM4/y4BcZl+mVFGpC244WRw4O6OGubeyQO8b6+uqi0wuXh7tP weHrFd6mBRVrZDD7OCEt5Yzj+JjvCJfre3qIMJSkvjXzpC/VY5obOAUdShqK2a5QEAOA l9QA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610430; x=1742215230; 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=Xar7ZrAdmD0Zgg1MVmgfA5Lcsmb+K+928MQN+MEqYCk=; b=M2hVSx0DlkflGxOXRDNgrExo10moHiyeL4zOI6XI3b4JQN3kOJvoZ0UVQfuVGiMHE/ W1a1U/5C52grQzscnhICBw8Cd76Tt3Ioio6G8NxoydLLPQ0myF476ySbqG4SjMgxQ73c edp8lPFtOWbukGfB/56DnYnBijUs1SH+6rcPZHu7EKVkFBO2NGXLMNtTfxJ54uWUPy8s MZbiFsEW5rzQJRRvDDHYqcQu6S5jvu5A3mgs0/Y6ilIFfAn5NYoPCTB52SpHglonJiqv hSTS1uH+mlvTeeZIK7HSczYerwwYsE3QgejI4TqKvSPkr3Zx8qODXC0c6w9CSJUxMS1W 1IKQ== X-Forwarded-Encrypted: i=1; AJvYcCWUBRc5aFPcFJmhiqykAmWjGVYE4JQsQqBziz4/gJim/sVm3J1MhiZ9h96l+Dil1n5i7ogh+iMZPZSHrMo=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5el4Uesc/YEzSzSifLfiQ2Xtr94r4MQj06gs4d+5oqGZBUIBD dsRT1F58eUz/vTI7I0lCYsnr6XDwYkTd6FtN0inY4mNnW8ml6Bw2JHgVjcS5PPo= X-Gm-Gg: ASbGncvFVXYQCcURt4Iei7w6bYF0y1cgVGJB8ErTVEGzMV9biP1+ggcZ39gIH1zYLHf bDEB5VT0shS41XUAaTHsdQuH3+FrJwmx8b5Nti2qrOCBtFLXDfSobTp6VDbiushQrtBN790MBlW bcSXs+BM/jLhwRn+GaVEmAwS7w3ZMpVX2gCdTolPxGYMa25lLVlOJ9knu1wICpds49fcfIgKP8s NtjahkXPPZFAUOia6PHt8fhddkgcMxsTMADnWewycNUjSFN8yfd5rjtn2fFtvJAmvoEBRmxfFAu FT0ofVrJOAcAIzhhv5Z55zTSmNHxW5+PXLXjD3Gl3tLuIku6 X-Google-Smtp-Source: AGHT+IGWHzX6jPHaCn8QBRkPBn68gP61T4dWPxRIFGpojE4uHM3kIsOycd5FGBFqdAjNnQc/pVON2g== X-Received: by 2002:a05:600c:4e45:b0:43c:fa3f:8e5d with SMTP id 5b1f17b1804b1-43cfa3f9022mr19496005e9.2.1741610429995; Mon, 10 Mar 2025 05:40:29 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:29 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:18 +0100 Subject: [PATCH 04/15] gpio: bd71828: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-4-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1835; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=4YlNQyfBza+2wJJnMpt93TznA7sgUuEsjl5zYShA88M=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt22r6eiRU7IXW2y3xyuBn4NGc384r3V0dbeh xyh5F6vKtOJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87dtgAKCRARpy6gFHHX chnUD/49tg/Xo/NHEP/ubBHcRIZLaJ7jxMUWU8m38mO98ktbD6vqwNrt8Nm9BOkNLUQVU3/Z/JL uskLsI5o5jrVWBEZYvPSxAg30wN52s2ETf0NjDh0XaP3CsvomX5mCf8nkrB7QI+xCbmZNATeaHs 42SAv+7lykZR1wRciibdbrgtfiFMbVa1xSDWY4HP7Cwe5qU6WKT4eWab2Ao0ahmFAAwd1H2MfRU 6HjdlK8BLIWrVm+EELOqVE5o4JSQS59nv1w/Xs6pwPzlIG/ecCmElDNCoK4QLIncHT133dRIXKY h2/9dWU9Xl9RqFJOe9exyt6Arxh+YwWK/klf7Uqett9vF8N1+JFdTmBLgx9SWTypR7DxXWXxsn3 2A2ES139kLDHcXgHnOLPRI+1AiUpgDoTSyyF49I/b8Yx2rHJIqaI0OkIG2vG1gOq4EjFZ2PS5FD tbNMTede7T7/P1zGaOvElDEoR1it16b9OL6J1nSHQT5l2pe5ngzpYmEcV6JFfqk1lfKLEeB/aU9 OkAUt4wEkDHcx0RLmQLLOoDEqM4WLOj5S3eIlCR9kozsfnnc6aUjaEqalykpjIsb7Wu+7kw4UVD f8jzOYiHloPEgdjEVRDI/lJI3i0gov5YxgDFV2fTm3j7ZncTxLbCCTMzr7PBFenf5LsFbzK7OtS NrMmCoZQ/M0a7Rg== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski Reviewed-by: Matti Vaittinen --- drivers/gpio/gpio-bd71828.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/drivers/gpio/gpio-bd71828.c b/drivers/gpio/gpio-bd71828.c index b2ccc320c7b5..4ba151e5cf25 100644 --- a/drivers/gpio/gpio-bd71828.c +++ b/drivers/gpio/gpio-bd71828.c @@ -16,10 +16,9 @@ struct bd71828_gpio { struct gpio_chip gpio; }; =20 -static void bd71828_gpio_set(struct gpio_chip *chip, unsigned int offset, - int value) +static int bd71828_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { - int ret; struct bd71828_gpio *bdgpio =3D gpiochip_get_data(chip); u8 val =3D (value) ? BD71828_GPIO_OUT_HI : BD71828_GPIO_OUT_LO; =20 @@ -28,12 +27,10 @@ static void bd71828_gpio_set(struct gpio_chip *chip, un= signed int offset, * we are dealing with - then we are done */ if (offset =3D=3D HALL_GPIO_OFFSET) - return; + return 0; =20 - ret =3D regmap_update_bits(bdgpio->regmap, GPIO_OUT_REG(offset), - BD71828_GPIO_OUT_MASK, val); - if (ret) - dev_err(bdgpio->dev, "Could not set gpio to %d\n", value); + return regmap_update_bits(bdgpio->regmap, GPIO_OUT_REG(offset), + BD71828_GPIO_OUT_MASK, val); } =20 static int bd71828_gpio_get(struct gpio_chip *chip, unsigned int offset) @@ -112,7 +109,7 @@ static int bd71828_probe(struct platform_device *pdev) bdgpio->gpio.set_config =3D bd71828_gpio_set_config; bdgpio->gpio.can_sleep =3D true; bdgpio->gpio.get =3D bd71828_gpio_get; - bdgpio->gpio.set =3D bd71828_gpio_set; + bdgpio->gpio.set_rv =3D bd71828_gpio_set; bdgpio->gpio.base =3D -1; =20 /* --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC04C22759B for ; Mon, 10 Mar 2025 12:40:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610435; cv=none; b=OcDzf58MNWkyEImS1B/TycmHt+AT7/eI5UT47T+9xcxmOwnUrAFbpd0xtM9a3WyyqJeHAAnKREtc/jkMLve02k5/aSoFcX++pvPsf8VHeQre+aI/93C1Sg2VxB2uFMkoSLu9wzxyq2PUW9afS48GxAmdDurto8cjgf/JML6SkpY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610435; c=relaxed/simple; bh=0MwJHiYz8qP6XnHSBXy1CREHdTzyEJq2M36Gm2JfK/E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qfO2EU1zxDGihWZnOpknXt7dn61y/m+cvFHPlhnf3TfPfPT3tqRJs/Rgyf2EtCKAwDMgk45Yq15UMAmv7sZDTe/WfcB6whVGiboGPXhffUC5EM+qF18MqG1bBZhYP7MQPMg6fOA6Ihqh9JqzHAn8JNKNnvJ9i5KQPEaD64hWEk8= 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=rUjznsln; arc=none smtp.client-ip=209.85.221.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="rUjznsln" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-3914aba1ce4so597178f8f.2 for ; Mon, 10 Mar 2025 05:40:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610431; x=1742215231; 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=awwcKklLcxQSyEau0VgGeRNglh8IyrJvaJkwq5PFXFI=; b=rUjznslnp6MndPc6nP+CvZICzYxsWbObnIedFMZQy1TRJUFjPdyMapOGNzRtV3Yn8P OhdRR3Oc8l4Jr/NijTNdHJuLO+qDsdH2/JPAXxQm177pponexkfEGjJXi7DP0vsp8R4r fNKx3Cs+Nf+zxZTQEl/Tb1C217xkyeH/cFZsrCaenm6hGrQvmpAWkeidO2QuOe9diJC7 HmKKsQOhwm81bkeM0RNprEvd5TH0bX5lGWyIqTUUiG16TkgYVk4I9+YH1AOAolCvsaFc tndguyGGakrUnoKTylf9SqxSQ8WnI6q/OK41I3FmNE/Hv5FhxPpjIkhIcKNygLGDMKR5 NNYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610431; x=1742215231; 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=awwcKklLcxQSyEau0VgGeRNglh8IyrJvaJkwq5PFXFI=; b=ZHztlP8+gJ4DT6bb9WxVu+pZ4uI+uF3Dk38eg5Yo73zCfloeTnY0Ok7ShlJqgEiOcs jlfVsWppwdL62zPoaWrlbkqq1JOcUgfX0dR1XLQv4QgEKXVS2XvkhLpGY55LbCNwYQNt GSV1tIMxBErNelgbBJnCSQC9DHpj0AvZXrE3CFweyv8S+FMIKaClVSSrNUaml6tR1iu4 KrUiQfKd/SCQ94ByLRc8PcmlwJY6fMs6q+jJ/auoMuGZNY1L0Vw3dD2M8F58iVJhv7pN b/r+5wWG4bWtPKrrD1GMquCgIb0VssGqwTQSfhCaqAfLhNdAil4HYL5oKmQQLJyNNt2d Ayjg== X-Forwarded-Encrypted: i=1; AJvYcCVDeYVVWk4agfSlS+SS/YQ9jvwthXxI+mjqj/nFDNGXxu8SDNIDzJeFTbHoNAo2BYbQsxjIuW3uBUZNN7g=@vger.kernel.org X-Gm-Message-State: AOJu0Yx+P6v2xQ15LY4ib1tbT/sIoeu14hjp5FDtp5hS1oIBz+Qdhw3k vhCCACMLSRLuhk31MFYIe+zN7jcoqbrOcCR4s9+pXIuQZDm1PlWa/ILC6EZvuNY= X-Gm-Gg: ASbGnctIfwu0YjWpSPaGwxVZLgfjBiz/fEfEeIyf7vkpInidVSrfsATgSwhs9IBYtOm xVOn5Pmojt3vLuMHR8+cqvgcSd/l8/MrJv0Ty75endudsE4aR/1oom6e8FIbMPnpj7jX4l+Oqtm kK3SA8xC1uWD0M3kwXSVQqlJln0Pc57m9zO2K3RAj2JxOYV3D77vY08DhRCnEohp8a9mNA3bVNl qqGcBs+LVfGy1kV2c+0a8yX0z6g4ccIarYEompcnc6cpELL+xc5Hw+cW7ILl1Str2dFNXe9p2pp IRXAUw30JUA1bQgtRQea0R+0zBI8ldR22WOkww== X-Google-Smtp-Source: AGHT+IGlRgJJ9INTUJwKbljtaLYH8PDbAKVApHIeEa/nm9bcxNZJsDZtwMRYD3lCtAqqXEVILMZWYA== X-Received: by 2002:a05:6000:4105:b0:391:41c9:7a8d with SMTP id ffacd0b85a97d-39141c97c1bmr3295266f8f.54.1741610431159; Mon, 10 Mar 2025 05:40:31 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:30 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:19 +0100 Subject: [PATCH 05/15] gpio: bd9571mwv: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-5-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1507; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=wYAPVSwzz7/jE+CVEfGYtgk2a0UY+dKDJuh7tZ/STns=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt222BavMpMSozEwH8XI6H0xiQ2YZMKIXLEIE 8HySLLbA9SJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87dtgAKCRARpy6gFHHX cmKmEAClxbQtV/gXoQ0RxZNPyR+nrKHt43fRMnVuAVy2vWmYHcmZW0xLQcxyCRZE3o7WqcK3Lmt c3hJqfZ3mre0XADPaixFfSnxbH+urPnDLoNnCCkvX+MY1vDj9orcz95rxS+k9WV5sYFklVEl+89 VxZsSWClk/X1aIJMtDCwSNI+P7lImbpfxQA6OKsMNs7+Yn2dFzpOiG/clsboxhOGTuOF7/AaLxa R4kBua09Qtdx9GlUqbiXF2xLk7Y6iFcTCqJpX3/OSlyFJnMpvGj7gGI35DR790tq7J45S7cdc8u pMuYd2JfV7/RzK4sXJVNMV+GiJxd+SIWuKhHQuYEJdt/L/aIhYHyLupU1Wm8rs8cc7x4tBZeOix N6gt2SWOa4mElAUgn55Zxu8xbGu8La0dy3Y3cSC+rqMuflqpY75qBS4lFDocZVCDpW+NCFnZwVs ryuO04oVUZOVaMvGJA5t7poWAVqg+qZPnnSq5x065NxQJJNLgz9KBTr/ApggwJXcPnmCwyzVAHf w/zh1BBFZgcJvcvEuODzTODX1MPv85X9q+YklnDA/IWirFF4UkMjOvVmP/G+ppIRhkM2t+EWAL2 paiNEEw1DphieKOAPTniLdCzZPpJofu9PJ5GeiDMT8zSlk77OIN8jQ43QdWJ8AQA6dp8CLa5Z5q hQeJZZ+DH0T1gIw== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski Reviewed-by: Matti Vaittinen --- drivers/gpio/gpio-bd9571mwv.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-bd9571mwv.c b/drivers/gpio/gpio-bd9571mwv.c index 9a4d55f703bb..8df1361e3e84 100644 --- a/drivers/gpio/gpio-bd9571mwv.c +++ b/drivers/gpio/gpio-bd9571mwv.c @@ -72,13 +72,13 @@ static int bd9571mwv_gpio_get(struct gpio_chip *chip, u= nsigned int offset) return val & BIT(offset); } =20 -static void bd9571mwv_gpio_set(struct gpio_chip *chip, unsigned int offset, +static int bd9571mwv_gpio_set(struct gpio_chip *chip, unsigned int offset, int value) { struct bd9571mwv_gpio *gpio =3D gpiochip_get_data(chip); =20 - regmap_update_bits(gpio->regmap, BD9571MWV_GPIO_OUT, - BIT(offset), value ? BIT(offset) : 0); + return regmap_update_bits(gpio->regmap, BD9571MWV_GPIO_OUT, + BIT(offset), value ? BIT(offset) : 0); } =20 static const struct gpio_chip template_chip =3D { @@ -88,7 +88,7 @@ static const struct gpio_chip template_chip =3D { .direction_input =3D bd9571mwv_gpio_direction_input, .direction_output =3D bd9571mwv_gpio_direction_output, .get =3D bd9571mwv_gpio_get, - .set =3D bd9571mwv_gpio_set, + .set_rv =3D bd9571mwv_gpio_set, .base =3D -1, .ngpio =3D 2, .can_sleep =3D true, --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D2C2E229B1F for ; Mon, 10 Mar 2025 12:40:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610435; cv=none; b=OcQnq5Fx5zLW/EqHJR5+L1EnJGbt0Hzj2SKCEK3TaygC2gRSwI/S02+67qdKsaKlISaYVXHApwb/UrhIGXPo2KEJTI18m1r2stQ6Z/B/G+1kM8z1NuWSun8mvxSXfYb3JeddjLLr1zuEKN3nFYmN+9OiWxG5Y4mUFaOX7peWQ1s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610435; c=relaxed/simple; bh=5SP7c9LZmhzTB3Sd70fuAWrzLoIu061KLAW3J8lMM80=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cK4COZaJ2Ruuw7cUxa/oZACGoYfyCPbdTbdxyiza7T5/BhmSWzYQpwA5ixt9aINVMpVMCGu5ozIt2pKvWUXbiLHnmTym2bMXN7HuLvSHmuNU2JWkUvfLtNBQv1JvibLbg96cdrWW2/YMjXraO6d+ZRm9jEhhdEFarpk73nfdMpg= 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=QE/lHIZv; arc=none smtp.client-ip=209.85.221.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="QE/lHIZv" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-390e3b3d3f4so1920927f8f.2 for ; Mon, 10 Mar 2025 05:40:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610432; x=1742215232; 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=J9vKM2NqG0d/mIXKZKZnbzuk8clRyDtuK0UmfTRLKjo=; b=QE/lHIZv5pC02Jv2yNc/P7+PiE6IPizxU/u1rCDkp04Pypg3M6oqwD3guGuY3A0Hz1 l4qgfgTsfI+N5qcXHJO3sE9Pyd8R+Owh/7aVfy5WcjF+7lhXyRhbjuOkF6PBSrN9JEH8 7MJQyd5u9BWnkNc4Z7vKGzQvXVEO5BqMS2HjNmfNFQazxHNeqefRE4JbnTv9pMVQJacN W2OQvcd3PAT8RIu2BES7jB7DOQA2z5C1q2847mEKdIoj/O6amI4agOmcX4HKIIsAsFOy dUShzHYGqTgCS6UH7bWkAM9CsMEVpGRBL0AzEuRN8vtkQFADdLWK8xdRZQ/iiLdJJnAk rRxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610432; x=1742215232; 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=J9vKM2NqG0d/mIXKZKZnbzuk8clRyDtuK0UmfTRLKjo=; b=A1/b4I4Z3+JEw7lcDorSVUJdi0ahKSlS3G0rJfULd7pQ4iJKevRo4KJEtaX4cze7DP RC4PuteB7XufwBD4SU6iGkVbl+KZ49D4ruw+yo8jlHa7/3bSKActtThRuGh+JFu1OiDV 9Y/miZAW+VRnjrEc2b1ETRYqlCqZBq/ZvfVDwy56frd1bmSoqPijaAJxh90EtajMEcAw il/EbQ8YHwDwG09jhuLtKzUTZ+Jmg30lQNwQ01xCYBOOYYv6hv94Fp5+sdYOnVOnsQ3L yqsUkoGqR3Sbov/u/f0qJ6GlGkDnQoL9zF5Qu5f/Z7pgzCTQAJl6AzarX+WBdI39BHss P0uA== X-Forwarded-Encrypted: i=1; AJvYcCWmyPEmoXuvMFHyMzaT291bGFa+NHKvyUlI2baxpj9HKISG65DRLCNuQLmHlH4doNegYY5zcZM2X9Hs9yo=@vger.kernel.org X-Gm-Message-State: AOJu0YwwsmKh/Zrd/vWTTz4EX1zkaQTeJ1wDwCwvpWkZYZwOdVXkNZWK yyMgR9GyiC/1Cy4LhwYTLX3cuOgOW+cOnHWDG4a/ma4i3S/acbgnPDtiepAiOa0= X-Gm-Gg: ASbGnctOWQOAbA9l2ZCu11Fv5FFfXTIycN3FfDNU8vKSfFBQWvf9q8YoRfP1znOJvOe KFUknY0eLVALlVNNLZgT4ljbPWTrkVZZeiLyprSm4dEosr98NVsyh0Y8Vqrxb/9+EAu6wuffdSL Q+T58OC6D8vBo9zcb6su+xTCudsUK15TK16OxTIojrmmXIK2+AuspLjWeYArUQ+CZWGJ5SNydx6 p4NczEHbF010Xj32139tANW/TH1Sg+ERDL7hxtYdP3ijjMWt1EfSVFIGC4txyIyevypYN8AnwMX z/nxNjkeIbkCRUDTi+G2lpSZfF3qVHwn6RhpIQ== X-Google-Smtp-Source: AGHT+IHirIBi268WVNrXJb8nSLfBOn2zE3qJRsiRuXXJzWwl/IWx5gRbkFVSetYSD+YqWYxCwV2UmQ== X-Received: by 2002:a05:6000:1a8e:b0:38d:d701:419c with SMTP id ffacd0b85a97d-39132dc5717mr7516476f8f.41.1741610432227; Mon, 10 Mar 2025 05:40:32 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:31 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:20 +0100 Subject: [PATCH 06/15] gpio: bt8xx: allow to build the module with COMPILE_TEST=y Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-6-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=603; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=HM+nOzctEfj4SKGt3f/npQjS/nebRuckql5RBo2YHvk=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt22XKhxDpceKw9s3GwK38TDwn1P/4/8jyV/1 op/G4g/1GWJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87dtgAKCRARpy6gFHHX cgZoD/9Tv1NzmtUetdANt9hTuIv6Cuv0EuAUV1poJeKpLIc2bKENgK14DVlrT5ussU/ndHG5GOh FjQrpxS/OFNLpEbOn8II6OeQLjjIcdX6OAFV3vxsNEgEizc+7sqoqUsnToI8ig05A+c0850d2pr jFkGEp8bq7y6rsbCZYsPRZZXEUlcmH/uOszR7Lh7TLwgmSnCmMWsTADAdTOuWMVvw9zWHIlySEk DInHW1Sy8l92Jss/0SdEaUFqnhYV7rxDShXcfaiNZKdvZ9SnJl+48SrK7xdrwoiHywzhoQ8WJQh DnwGuiAmm1RrF4OoS84mGWmL8ymZ2NEBzI+pMT3UhXvkpXV+o4bv0KFbERTa0gPPq6PI7LXKWPG pY8ctqXA9X3aDz2fVzPvlZTMZYneUxWvU/VmQlk8davmlvlGGCVAa9SQwYZ5wGilpCfhGJnU6Bj CMvAhA0RJh/G/3sBac0nPeuTHE+Ae586tmxAkHMsl9xaf2JwaIt0RrdRcgbJ6MwTG2nJ6g+vsPF YBEbgmtXE9znBAWuxTMBCjqmXGV+HXNF4naj/rwsfP+fOaBOr8yXh6KJYE+hNPeq97S63W9ESah lNdDWck29TE3hEQHquHLkhvQKeuNZoW03QSYk8dmjeF5HJShhcVaI3JH2C7kri41gqOOh2Wsfzq mA9QTEFZVb7hXlA== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski --- drivers/gpio/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 3e9b174fee84..f2c39bbff83a 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -1671,7 +1671,7 @@ config GPIO_AMD8111 =20 config GPIO_BT8XX tristate "BT8XX GPIO abuser" - depends on VIDEO_BT848=3Dn + depends on VIDEO_BT848=3Dn || COMPILE_TEST help The BT8xx frame grabber chip has 24 GPIO pins that can be abused as a cheap PCI GPIO card. --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 35C8222A4DA for ; Mon, 10 Mar 2025 12:40:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610437; cv=none; b=aUngWjUzkJv/uSjO3FtMQ8GDjGwF745ytYJYWfm9vNJAjeD6gR+2mPnQ9VQTo+q8aR+uPKNZFJs87Trcj8DANJLfGS9CNv58Lly3UqIqKJR/X0ta6Kmx4NtUuHh2IeUXO3b2GbH8xJU5kixobl6wEGHGiy9PySkM9AP+iwO8yPQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610437; c=relaxed/simple; bh=M+L3sOe3OAAzrK/5BquNt3kcr6Ll6ljNK/MgillJMU4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MZXhN4FMZXlXXrseCbmUKru5B2+NooMhQrASzTr+7SGZR419OPIddz0hgrFnUI7BQHqDJ0BqyuSgskYllfugIJeLTYKPX7tPTgcFaLxcu8w4NDEDjcElQdGwdHpNYaWn1XGsL/U7+27TNYYdvZxMkROdUmCSncmhbPdYMUcNhGo= 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=a6+V7RS2; arc=none smtp.client-ip=209.85.221.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="a6+V7RS2" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-390effd3e85so3667501f8f.0 for ; Mon, 10 Mar 2025 05:40:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610433; x=1742215233; 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=Id3vfYo4VZD5XkzVJtKrhfXekLSBu1hf0uoNw4mF3Eo=; b=a6+V7RS2ckUnYyiDdymX3ygwZw4inZEoui+ogR1mRyWdP/p3kx2LzlcA8C6rguemkE SrAInpeExQoVAq0bqM6efOcobSFIGSoCweqdVE2I9Zp5Oh40WSe742T0k72ZN8Zf0PcO z3mn5VcpvuYKSWXDrGfmff1sYSjLyKT/d5vfE3xZxjxRRfW9QnXK8pL6hBk64jOHWytm 4lsvOtqNSZBenTX2Tp4Fg+chEXR50DPt2VPgWx/FzW2JPO6izG0T+YL3CiBqJ2e17E8Q G1Ark+66ExNkmmpw5AKJxMx2NhzZOAvQsBGML2k2fWZ6rOsqunKjF/rZbAxef+tx4gyU gygA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610433; x=1742215233; 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=Id3vfYo4VZD5XkzVJtKrhfXekLSBu1hf0uoNw4mF3Eo=; b=m6HGl1j3r9Fgobu015BzLABaPnSJRNRa/Z1pAovyAdK4JMe22CRX/3q4Vvk6VXgpjl Kzol96ur/OlOknxjTvwY9ZNYx4MTpR0Q7VMU98zJN8gsClC3CWrJi1gEPcfKG3RGykkY tYg0XUiXMemMeRuGduxXwdHkUmyU3Jk44gZ3CzoJ5I+4caRgqAh7bGu8BTej11HudmkL DK8eCPbhnJaFtKDyMbUJ4IrPcOw2JAfT1yK2/KfDGjb2uD/Uv48WXzN7tzIFVsnE0dsu vngtUosLk9XTbQShxyPmQtVs+BeyhirFJXvq3SCbdcNVGunWcvIUZ/9L6J0pO/kdQpFU JOFA== X-Forwarded-Encrypted: i=1; AJvYcCXqugmMyEAE6+kDqzMMCjV3ZAKGI0Sinr6fMRv8JTnfvv3m8yj8T0p4soO1F3zeaKQlToUTbCDcbQ5ermI=@vger.kernel.org X-Gm-Message-State: AOJu0Yx3lBKF2F5dIn8XcaKAhO33WravwH1PxRCXwItlYrJKCd8AXWZN ABYpEfEyzTMnHU4eEvpckemxkTnjr26s5NwxkWi5bW4OYFEhiNq9WxgrolhDRaE= X-Gm-Gg: ASbGncvaO8VCKs9Hsc6Kl0BoXqyXHoDQxpDWwTbHujb+C30Nt7jDNRbVSrwjCa7JA+b x7WHRGUUMlDbF7tdOcuQORo5X7ZiHc/Ru+kLGgw/CTt6+p6DLS4rDYeWDZL6VoV07NUZoRfmowa 0vH/TIi8G8TN0hyRY7iwyIlOBatA+gsh5zKl4HKDlspysq9OCVImwbvY9H6/bQqZOaxWewVVgGl B6cDFGAlWe/zjw0GblFeJnCkavbmKkNmuG0/QC+lrBTHP12f+WSIfF6KycA5YIovXnhwHZFLYu+ fl3ciYeL3GzoaCxEvv5L0WyWHmJtndNewlGsow== X-Google-Smtp-Source: AGHT+IECcUEAyJk+oPoRKjamWfM+6cuRlv65sUT1emZeg5dAbLhRfMSv7hXYlymPRYvGi9qDzp5WJA== X-Received: by 2002:a05:6000:402a:b0:390:ed05:aa26 with SMTP id ffacd0b85a97d-39132d30c22mr7780118f8f.5.1741610433374; Mon, 10 Mar 2025 05:40:33 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:32 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:21 +0100 Subject: [PATCH 07/15] gpio: bt8xx: use lock guards Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-7-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=4382; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=EhqOin58PEfzgx3eJ5unejxbV9F/HjaBEBaMhpRjuiU=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt228iyNyevo/zmL5UjBckrYdT+ePey2+NAqp f+oE7+vEmCJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87dtgAKCRARpy6gFHHX cg4gD/wNsLQBjjyB4YIEs1F1nmfjbZaGOKUNQEQ1mGrVWV+Ys6F2xeaYF0e6BZo64oEe/hRcDAV slCccpz4sLSCc7hbjcevCbwK/jTj8sN9aIcgsIMVIVdy5pc98CFwM96Gf6naCZC/62eUr96Gf+p 2+DRtSDHs7J5I9fKr6O9aKlk4O9dtVnsv89+uEwwM46yXuqjGrKkN8aRGZKlYmMCVriwHN2uZZc KhdgcZ5AEQ4fd01RiZwIGeCg3SJs14FqOg46YBWvM7Ba+kcb+83fRcy+TU2nuZ5YK2VlPnhMdQw vQipTEKxs8O12n0MXdPkKbiqr3HeTXBKjb3da7SMqPfPrSQ/zV0s6Z7rut0A+rX5ycNhvwQJQ7A 3WI8cUAFmocYhX0W1T5cN7ssegIzI45Q0QUa16fwxNz92rUvUvEWLIPIhwB3uNmkQblpiIVwGHg hSYChG3o1nmtw0YJXc8SM5Njj+2aRx41YGBxy8AmpUO4Lvaisfc/+kWLxhCl36AHy8Q+6KqYNS8 Vki2t3QAVYFTInIusfdY6zjNNaKVewT98C8xLbU87/eA9GMDVixFyEdXmchmJtC0xKk5cjSR3YL mkSF9Y8fy2nJqj8oO+TvBHduRPZlo07/Fh0ewKthqSiRqpTHpeuJD4JmDIjypddrAk4hjBNB/F4 qJANL60tTxvMY0Q== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Reduce the code complexity by using automatic lock guards with the spinlock. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-bt8xx.c | 43 ++++++++++++++----------------------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/drivers/gpio/gpio-bt8xx.c b/drivers/gpio/gpio-bt8xx.c index 7920cf256798..173da7bbfc98 100644 --- a/drivers/gpio/gpio-bt8xx.c +++ b/drivers/gpio/gpio-bt8xx.c @@ -31,6 +31,7 @@ =20 */ =20 +#include #include #include #include @@ -69,10 +70,9 @@ MODULE_PARM_DESC(gpiobase, "The GPIO number base. -1 mea= ns dynamic, which is the static int bt8xxgpio_gpio_direction_input(struct gpio_chip *gpio, unsigned= nr) { struct bt8xxgpio *bg =3D gpiochip_get_data(gpio); - unsigned long flags; u32 outen, data; =20 - spin_lock_irqsave(&bg->lock, flags); + guard(spinlock_irqsave)(&bg->lock); =20 data =3D bgread(BT848_GPIO_DATA); data &=3D ~(1 << nr); @@ -82,20 +82,17 @@ static int bt8xxgpio_gpio_direction_input(struct gpio_c= hip *gpio, unsigned nr) outen &=3D ~(1 << nr); bgwrite(outen, BT848_GPIO_OUT_EN); =20 - spin_unlock_irqrestore(&bg->lock, flags); - return 0; } =20 static int bt8xxgpio_gpio_get(struct gpio_chip *gpio, unsigned nr) { struct bt8xxgpio *bg =3D gpiochip_get_data(gpio); - unsigned long flags; u32 val; =20 - spin_lock_irqsave(&bg->lock, flags); + guard(spinlock_irqsave)(&bg->lock); + val =3D bgread(BT848_GPIO_DATA); - spin_unlock_irqrestore(&bg->lock, flags); =20 return !!(val & (1 << nr)); } @@ -104,10 +101,9 @@ static int bt8xxgpio_gpio_direction_output(struct gpio= _chip *gpio, unsigned nr, int val) { struct bt8xxgpio *bg =3D gpiochip_get_data(gpio); - unsigned long flags; u32 outen, data; =20 - spin_lock_irqsave(&bg->lock, flags); + guard(spinlock_irqsave)(&bg->lock); =20 outen =3D bgread(BT848_GPIO_OUT_EN); outen |=3D (1 << nr); @@ -120,8 +116,6 @@ static int bt8xxgpio_gpio_direction_output(struct gpio_= chip *gpio, data &=3D ~(1 << nr); bgwrite(data, BT848_GPIO_DATA); =20 - spin_unlock_irqrestore(&bg->lock, flags); - return 0; } =20 @@ -129,10 +123,9 @@ static void bt8xxgpio_gpio_set(struct gpio_chip *gpio, unsigned nr, int val) { struct bt8xxgpio *bg =3D gpiochip_get_data(gpio); - unsigned long flags; u32 data; =20 - spin_lock_irqsave(&bg->lock, flags); + guard(spinlock_irqsave)(&bg->lock); =20 data =3D bgread(BT848_GPIO_DATA); if (val) @@ -140,8 +133,6 @@ static void bt8xxgpio_gpio_set(struct gpio_chip *gpio, else data &=3D ~(1 << nr); bgwrite(data, BT848_GPIO_DATA); - - spin_unlock_irqrestore(&bg->lock, flags); } =20 static void bt8xxgpio_gpio_setup(struct bt8xxgpio *bg) @@ -236,18 +227,15 @@ static void bt8xxgpio_remove(struct pci_dev *pdev) static int bt8xxgpio_suspend(struct pci_dev *pdev, pm_message_t state) { struct bt8xxgpio *bg =3D pci_get_drvdata(pdev); - unsigned long flags; =20 - spin_lock_irqsave(&bg->lock, flags); + scoped_guard(spinlock_irqsave, &bg->lock) { + bg->saved_outen =3D bgread(BT848_GPIO_OUT_EN); + bg->saved_data =3D bgread(BT848_GPIO_DATA); =20 - bg->saved_outen =3D bgread(BT848_GPIO_OUT_EN); - bg->saved_data =3D bgread(BT848_GPIO_DATA); - - bgwrite(0, BT848_INT_MASK); - bgwrite(~0x0, BT848_INT_STAT); - bgwrite(0x0, BT848_GPIO_OUT_EN); - - spin_unlock_irqrestore(&bg->lock, flags); + bgwrite(0, BT848_INT_MASK); + bgwrite(~0x0, BT848_INT_STAT); + bgwrite(0x0, BT848_GPIO_OUT_EN); + } =20 pci_save_state(pdev); pci_disable_device(pdev); @@ -259,7 +247,6 @@ static int bt8xxgpio_suspend(struct pci_dev *pdev, pm_m= essage_t state) static int bt8xxgpio_resume(struct pci_dev *pdev) { struct bt8xxgpio *bg =3D pci_get_drvdata(pdev); - unsigned long flags; int err; =20 pci_set_power_state(pdev, PCI_D0); @@ -268,7 +255,7 @@ static int bt8xxgpio_resume(struct pci_dev *pdev) return err; pci_restore_state(pdev); =20 - spin_lock_irqsave(&bg->lock, flags); + guard(spinlock_irqsave)(&bg->lock); =20 bgwrite(0, BT848_INT_MASK); bgwrite(0, BT848_GPIO_DMA_CTL); @@ -277,8 +264,6 @@ static int bt8xxgpio_resume(struct pci_dev *pdev) bgwrite(bg->saved_data & bg->saved_outen, BT848_GPIO_DATA); =20 - spin_unlock_irqrestore(&bg->lock, flags); - return 0; } #else --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 373F834CF5 for ; Mon, 10 Mar 2025 12:40:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610438; cv=none; b=aNt9ytytmi0uKUIoTC7XP4gxjvDVosoKWY+bWw4oIoVw67fZ2SMOpRPDyxAczU5qLV9t3/F92YmEeK7oh6gik2m/x9iNHueymAezOfucwO57U+4tPhrZcSmYJ9N/5JAxvlydZUi4b18zQ5g5ej5Zz7gEUXbusAHMUHdCgJL0JI8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610438; c=relaxed/simple; bh=QWtxoXhKF2oycxErr3xHOOEyp3cijfG+PmUvCY0z4cY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XV1UBghkwAchDjVmbU9vCwkUICJvRGiEhIS3XXovcspap87Lr6FMjs5JExHUXv7cFBpw+T0RcwWrZVOH4JKNwW5Ftf284vgZ59ckkKv2mzlsOATh7LrFCpVM0XHOArrf0VYvZpiibNE4ADFJk7phQC116P9FCo4uWwa4pCsR+nU= 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=uBGow5Iw; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="uBGow5Iw" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-43bcc04d4fcso24715595e9.2 for ; Mon, 10 Mar 2025 05:40:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610434; x=1742215234; 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=+9ypBApPZis9ZEd14nlPhR/yx9DAIJjYqHgRrYtwPs8=; b=uBGow5IwfJITqK2aMSg+BRY/YnCHSqPslVRAnJACxQJNolf/7zawPm7a15iM668YDo auosQV/S2ZwSHkHPhtlaZWwGLGGXZyvr+FaEVWzQU8Rtsq8b02ZSirSlDIXGLnRmnImR nUYkl+sB2BBZkK2QCBSAa57nUAUaFoyQAh+EHMXq+P6VjH46/Uu2kwMbtXS1Xy1LFjQe 2eiwjS89C7q4Gbze8JKExVWsYTegWsO6SIoAb27ipLOOrO8xSQe/ufUM15jLwpiAgIqI e9rKWvI/9sPjHZMFXesXUDcHYrPabFqvgTd1WKg8pEKJwB/UCkSKLOURq7LqVx7J1/V8 zEKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610434; x=1742215234; 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=+9ypBApPZis9ZEd14nlPhR/yx9DAIJjYqHgRrYtwPs8=; b=WtY665KeD8Wp0fxQ28WoYej4h58TG12iv6oQAlxjFctLBOXBGcrZayhjKrEPq/GV2n lQ8vrtJ1b8TPIaW36brzrDnUecfn1Itl5v8ZUUHyQ25BgFcnKfWu/+QOeW/P0dkksLCY A2X2S06KHpwQdrm3/zeYd/Og/si6l1lzAxWoGIRQtvRWu91D1psw57WK5pNyBTaqOcZb CBqhOhhFGXNfkcrgMiq4nzgQaGu1s5bNNF79iZOzElZwiJsh9u6gaSNr5SI8pYPQeOLf j8/omZ5Y7iGn48Cm8rMh4iOhY4ngUYoh56f/klSLZXK+r42P4eFT1HFKbWkfRUXJgtpG c9Kg== X-Forwarded-Encrypted: i=1; AJvYcCW2bL62tYr6i5hCFNKE4UaQpZl8f/tEupx++/krm3VKW6r3cznAatQsb4AGeqCvr2beOWu758mBjGa4Vjw=@vger.kernel.org X-Gm-Message-State: AOJu0YySh/s0SJ40xgM9zdMURc+UbInRY74T0CzqKmLb6rbCwADU1ACE pE9nmB3+xYVneBT4L1Y/DxL4Ulnqp1Bigqm1wr6jsH+xY7gTpFxHJildEqN6RAA= X-Gm-Gg: ASbGnct5YeV2doj/qCN7+qpmwmBwns5lIxAaeV8BHbvtCfuCANU2VBV7QmQXxYy3JiL fl21Hbfxv+OugEVzIdsGurgMlOKfciXj8fGzjxBRJ8NUHazJO1Ya1xocGA1qyifq7QwSzp9Sg+U OCoMPU4eIJRv+CtAf9vMo2qkmAbG/sk9kpjWJ+Qr9sJiHEompFIyZ0Kif3srrKrPun2JnSyDbH6 lrG2KyvX/uCynCLsxsuDxzHO4FPm8Y202wWQnSZDvcA+OoGsM8CjrMXaeg5u+03/hXDWTcbNqLo IEjor1qPAGJBlnnORWFkWMGo15HEGJfiUK4ivQ== X-Google-Smtp-Source: AGHT+IGK0qUS6C3S2XE8X9yVB4lBi7PGkNGx1BRbWu1kP+2lHLgfZ+futRVICmhbqbk83Y2sD+IhWA== X-Received: by 2002:a5d:5e10:0:b0:391:122c:8ab with SMTP id ffacd0b85a97d-39132d5f36emr6128432f8f.22.1741610434533; Mon, 10 Mar 2025 05:40:34 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:34 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:22 +0100 Subject: [PATCH 08/15] gpio: bt8xx: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-8-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1456; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=qwBsS2oKTY2IIbpNdpv6Gx5gpfJN7LtePKR45ZXxPg4=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt22EtYKirSRGcB31ylFtPB3vvoA0QXPEG5nv rj0EcgL1JiJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87dtgAKCRARpy6gFHHX cnT6EAC5zz0cx8z5RrK3ooghI1WDunxYkmwW9P2rIO7r+GyDrLstokK7xaABeZP0ZBfcaAONhGz AcO0t6+UBC/Bq6IHmCdyZ/5wgHF2KRdOuJdOu7ygxtSsM60Evg3tbBejarC8ljYSC4gjY0m+xbX LdVsqI/6R48060rtcT1/DX08HWXAkCRYDeBsxakx5v//qgriYyJgwbFhEyRgoHET/7TZcNjOP6k ykLLjX1rVHACxhDu4nRw7fnZHaJKl9K3PTwkO8XSDVcMfRDurWfWpgGWlx9g0MvYNyacRdGqR+P nPPPlnVJ/eTJix2tMXqcy8ahYxrAq4cOuMOuO3vWSk4bxTqXJenEQAy7Vn7gXzRx8neLk+D2wV6 o07QqY9nfNGgVhH8YFWJz5LpMc0ENrpQcKDa8nYSKwE/boIsxU4qS0uewl0T4G8MPKo+5SjJ0dp qpOX77cgq21vtLV2qZjJfDQQw9oVOoWOz8CWtACKfY/2drz9dcugdlnZqfkVh8yna1Dt509EKP5 rJ4C+5xTwustIw/5wf5RIStc09w1Ji+nacMH1Gk4MBLFwYdiksb59Y4euyDPFGNkplslgA9WIus jb8TilDBngFBgftOF+UuGnOKTAeMZYvSvBGBpY6rG6uFuooDIcQwbLBh3lZqKUwMa2sFF5kKCoJ Qkv/UnEdhmAFe9w== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-bt8xx.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-bt8xx.c b/drivers/gpio/gpio-bt8xx.c index 173da7bbfc98..7c9e81fea37a 100644 --- a/drivers/gpio/gpio-bt8xx.c +++ b/drivers/gpio/gpio-bt8xx.c @@ -119,8 +119,7 @@ static int bt8xxgpio_gpio_direction_output(struct gpio_= chip *gpio, return 0; } =20 -static void bt8xxgpio_gpio_set(struct gpio_chip *gpio, - unsigned nr, int val) +static int bt8xxgpio_gpio_set(struct gpio_chip *gpio, unsigned int nr, int= val) { struct bt8xxgpio *bg =3D gpiochip_get_data(gpio); u32 data; @@ -133,6 +132,8 @@ static void bt8xxgpio_gpio_set(struct gpio_chip *gpio, else data &=3D ~(1 << nr); bgwrite(data, BT848_GPIO_DATA); + + return 0; } =20 static void bt8xxgpio_gpio_setup(struct bt8xxgpio *bg) @@ -144,7 +145,7 @@ static void bt8xxgpio_gpio_setup(struct bt8xxgpio *bg) c->direction_input =3D bt8xxgpio_gpio_direction_input; c->get =3D bt8xxgpio_gpio_get; c->direction_output =3D bt8xxgpio_gpio_direction_output; - c->set =3D bt8xxgpio_gpio_set; + c->set_rv =3D bt8xxgpio_gpio_set; c->dbg_show =3D NULL; c->base =3D modparam_gpiobase; c->ngpio =3D BT8XXGPIO_NR_GPIOS; --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 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 B43F522A81A for ; Mon, 10 Mar 2025 12:40:37 +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=1741610439; cv=none; b=sP17Qei3JAPFRusE3QnJWuF4QdLTlh8w8LHUqwBvERPU3pImP7GKuJCZKRCnlk9fjHK8oM+w2GqlqIShLeql4sCE91/+AJu/hW5N5lS8+15jvdsydaeObU79jqdGZM48AV0UTO4r/0e3TDxU2IYEpu0tHqr9XfkjNpiBSbwNne0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610439; c=relaxed/simple; bh=eF0hDq+dmWyAGOjr1phNsifrrwjw6vv6u7L6MkqdfqM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dnryWOVZRlgoEbHKbsmnNbqFidus25ps4pB1cbHnfoXSB/D+k06D80qRgANMYUt3v0XatqQ/ZUKg0yIMrabBpUGj8tT95ESdLETgzmZNqiBFjJbl70CyV1W2zx5DZYOLjE093J5KK0qHl8thFKdhwyD3ik70cbA3G7gxciSMqU8= 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=LdQacVMp; 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="LdQacVMp" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-3911748893aso2565722f8f.3 for ; Mon, 10 Mar 2025 05:40:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610436; x=1742215236; 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=/ul5VnJBefCrA6KPx6o9qS+QweFeRf07qToseQLHiWw=; b=LdQacVMptewwLTCYIIi16kmx96uRETPIXbiO08cvzK2JfVIx5wiEtr4Yo+/nbXY9zk lHiJlgrgt29hzZ2JrC7cOSAPrkqi4BOGmJRFOXFarQEqhkRfEiiQiJHpN0zBoLzZlswL 2yAoV1QQb/tCq459kWYM2oHcJbqBFMbxOqvbxcIHLkvL6skX/fzHHgXlMvDChdleaEGF 1s/V99n/8iLX0UiXqBE/ycS+evz+DQu4FrHBpunxbbcfkmQ1GGQWkIFHYC0z94++8aJx MFHNEi/FDI51Pui/qPBlhjK7CjiIvB62T9MN98saFW4qwlmTbztF93PBBFI7hPwTUNBw HXQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610436; x=1742215236; 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=/ul5VnJBefCrA6KPx6o9qS+QweFeRf07qToseQLHiWw=; b=cuiDmtH8US7cHHBGhtxYexjBQJ1VGAtt26fkTmvNHHpbfNaMGZWt3N5ygTXH0rXoYw J16ppmG44LEb8QlDktMVMgzDxLKmAX8CvmamyL+VkrpcUECj66+zwWmiCWKviIWTss6P 8nbhskrLcIqtlP/cx9rgI4jkwDUILFLrjrELFCJCKzJg9dYb6xVkpOYOjaFvFFf9UIbK 4copa4GyYF7K8vZ4Mj4kBkH++xnXtAZbg3uDMJJzF7ahdWYkDvmv1rFVnz3vJe6Pz2lY xQo971Dvc4/5dTNgTZrSYtQRnRoFwA4uJsZH+5/GgxsdAiqkydry6ohBFRGe2hMniVR+ kiwA== X-Forwarded-Encrypted: i=1; AJvYcCWh1ZB9uSr3HIQ4Q6yRoNRtlKINx4+7dKWcdE6dwOl+dZwQuN+Dsq95qAeTVijU7Lk8Hu9P5veKMelxNv8=@vger.kernel.org X-Gm-Message-State: AOJu0YyLrfs0Ew+nfY5IWlJ79EHmQx/B5YW+hhU0v4eJuNgM4mIK9jyB LC7W8z4E/gyyPp1TnpTDL+Zw7XXZayRD9JikG7cNW34htUTNC1wQ5BDP+wpw0Ww= X-Gm-Gg: ASbGncsshjuqT+ASEc188FPb7JAi9NA0nwBpUD0aeWSrxSIyULiVJAKaPHcLA3o+nYl EGlD5nxegBBGh94L4zH6nJbW7ITcBEPl92kwnz55EQ/SC4bIXRNL7uDAAIL+ZA9WYAr+4HEwCrX sfFymDirwmnXuD3KVypvUBauH8xC98y4ChmnPZn3fei5bTr4XEUx9CTkwEb5FLq7aG/qFiQa4iS qfTJj3BM646Wnjev4i656ls1cpr4e/U14QraNAFLU+HD3w4jbSNBjFohmMJZzi4Al0aMNO/ojPZ XAbm/Dko+5VRYynAN/lZYoih8zLBji4MOo3BLQ== X-Google-Smtp-Source: AGHT+IEFFTCQlnKxKa5Uqz8Qsewx5EPKGuImlX0WipUtNgEC5ZPbK9A6g9jliGLQxqqZ0CjYumZWrQ== X-Received: by 2002:a05:6000:25e3:b0:38d:d603:ff46 with SMTP id ffacd0b85a97d-39132d8a273mr8267077f8f.14.1741610435829; Mon, 10 Mar 2025 05:40:35 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:35 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:23 +0100 Subject: [PATCH 09/15] gpio: cgbc: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-9-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2670; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=1v/SXsvrtA+Yw36LlEJRsvD6C7VXgTznVWuX8EmPL5E=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt23h45ep6JsGUc+cwRb71/qO+/+nDM1jaN6r kIDV5FoeemJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87dtwAKCRARpy6gFHHX cj09D/9LqUW7e1QJC8y1pvtBoGpumfGGVdjjKlOP0Nf8cj7GV+OHGLG13szW3NVOjrmRxHBvOv/ by4FD0UfZuyeWy6j6m0SghMAQQ1Ik4WxSWsJTJo71i1qPqwZQtZuV9F+/JdcMHPa0D7dq114Kpl V5R4K2jF9/g4/UDmsS42VemnAuzETo+p+M9u2nBHMH8t9yKYUEQfN6WHZHJzVkktQYC1qh5Vp0l mxrhFmQAyZb+Rd+lcC2sDZeVulOT/ZmL+ZRKcVHI0hMLy0RCVQbxjFszzhPpoVxSAsJoGUZiRLp xmh9sWBU1fOklwBlmRa4lyEYl/ri40xa0mAELP1UqqX/QqsLQXJeAZz1ctOZ8iE/1qOucHi9biT jnENyJ0kCenHSbdqL1fkhQyXiys9bNTeA7B90jWKrBli31Kqgx+LASUDt5CRkyKNnVjeOID3MLd /6hpjFWFjLjaa49pc8XS2qixCa6t4Xf7Jv03HWCTd3yUQKJcELUSFHWPn+DW2d/O0HVROv+6sBh cBYhjLRA1fopAgt6jYLFa+sl8j2hzKW3ks4bO8oEnhf3j2Pu49sYM1HgEF1TbW93LvhLedxvgKD GeLzVLO+U2cSXJrYx3hqHYtDyY17+3vmhU4o4P6ZMpdyrL775ibIn4bHx0yyy2sw7qonW/453+J rQKMsBy22LFL3pA== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-cgbc.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/drivers/gpio/gpio-cgbc.c b/drivers/gpio/gpio-cgbc.c index 9213faa11522..1495bec62456 100644 --- a/drivers/gpio/gpio-cgbc.c +++ b/drivers/gpio/gpio-cgbc.c @@ -51,8 +51,8 @@ static int cgbc_gpio_get(struct gpio_chip *chip, unsigned= int offset) return (int)(val & (u8)BIT(offset)); } =20 -static void __cgbc_gpio_set(struct gpio_chip *chip, - unsigned int offset, int value) +static int __cgbc_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct cgbc_gpio_data *gpio =3D gpiochip_get_data(chip); struct cgbc_device_data *cgbc =3D gpio->cgbc; @@ -61,23 +61,23 @@ static void __cgbc_gpio_set(struct gpio_chip *chip, =20 ret =3D cgbc_gpio_cmd(cgbc, CGBC_GPIO_CMD_GET, (offset > 7) ? 1 : 0, 0, &= val); if (ret) - return; + return ret; =20 if (value) val |=3D BIT(offset % 8); else val &=3D ~(BIT(offset % 8)); =20 - cgbc_gpio_cmd(cgbc, CGBC_GPIO_CMD_SET, (offset > 7) ? 1 : 0, val, &val); + return cgbc_gpio_cmd(cgbc, CGBC_GPIO_CMD_SET, (offset > 7) ? 1 : 0, val, = &val); } =20 -static void cgbc_gpio_set(struct gpio_chip *chip, - unsigned int offset, int value) +static int cgbc_gpio_set(struct gpio_chip *chip, unsigned int offset, int = value) { struct cgbc_gpio_data *gpio =3D gpiochip_get_data(chip); =20 - scoped_guard(mutex, &gpio->lock) - __cgbc_gpio_set(chip, offset, value); + guard(mutex)(&gpio->lock); + + return __cgbc_gpio_set(chip, offset, value); } =20 static int cgbc_gpio_direction_set(struct gpio_chip *chip, @@ -116,10 +116,14 @@ static int cgbc_gpio_direction_output(struct gpio_chi= p *chip, unsigned int offset, int value) { struct cgbc_gpio_data *gpio =3D gpiochip_get_data(chip); + int ret; =20 guard(mutex)(&gpio->lock); =20 - __cgbc_gpio_set(chip, offset, value); + ret =3D __cgbc_gpio_set(chip, offset, value); + if (ret) + return ret; + return cgbc_gpio_direction_set(chip, offset, GPIO_LINE_DIRECTION_OUT); } =20 @@ -167,7 +171,7 @@ static int cgbc_gpio_probe(struct platform_device *pdev) chip->direction_output =3D cgbc_gpio_direction_output; chip->get_direction =3D cgbc_gpio_get_direction; chip->get =3D cgbc_gpio_get; - chip->set =3D cgbc_gpio_set; + chip->set_rv =3D cgbc_gpio_set; chip->ngpio =3D CGBC_GPIO_NGPIO; =20 ret =3D devm_mutex_init(dev, &gpio->lock); --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6D14D22AE42 for ; Mon, 10 Mar 2025 12:40:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610440; cv=none; b=Q2OCO9xu9MDhecSYPpUretA+4T/3Eg3WKIG9IrXeIXN8qLsO7XgjZnRmVt925emNGuASkSnVTIgJ0X1Awfz0GSJJeNbH9wY1aS/Un+anjRlOl9QI9TtbNgLx75V9obtNf2f6Q/uo2SlwRe8+ma032fYeLMqGf73W7XVhsnAF06o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610440; c=relaxed/simple; bh=Kv/7elvPz7wpCf0sc36wWWllkZ3u/gWWhEHO2uWiT08=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GE8H2FqaZoqA12UbO/Hxg86csAXZ5pERI54sW/jHgHHshWKkKrSbjo4bkmRZWuzI51zGcdV1wyCra41+x7mHcAVVV4M38t9ZCbptV6jh3YqnAn9wePUKfgt9O0atKQnhvvxEV0QHNqxm9lw12SCMKInJJ6mDaMzSRARVZ63vbVs= 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=cQOKYQdu; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="cQOKYQdu" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-43ce71582e9so10606155e9.1 for ; Mon, 10 Mar 2025 05:40:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610437; x=1742215237; 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=lszqES9j7F2LGVMtpNUOeVD26d+lln3GvRS538XWj0g=; b=cQOKYQduUhY6Rxhz63QAGgV5vvwjbvz9A+2EQNr07zv1OhmHoBOpcqu99yPxs0d17G AxzjU5hlEfxmSS/xwRCKbJg9qNTKd6BoYU8lgmOS66AgQ6n6Aob+GB6KTIzyBhkBbzJg LsAf3icxsBLwgZXw/S0GSfpecKEu2K9MPcBjjJerA+cU+EjMIl2UDOhLKty+1yTJRfb9 gQiIvJsxNhXSPfAh0CofcxuArqKZ8/NGd8oLtuI6u+fVkL6nqexOiApSTImegBEfA0ks Q7G6XsBqdGzC97hVCxPynU2Gnl++D5kQxZ122U9bI/kur0M4BdFjXVnknSefp7sWfILc 2y5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610437; x=1742215237; 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=lszqES9j7F2LGVMtpNUOeVD26d+lln3GvRS538XWj0g=; b=PeXD3oB8GkZkfw5m/Z0x8cvYGFjw+7dOqa7flhj5axQbQmrBGjUz7Pm4oLqFYhfReY 6CuwSkFNloavIDt0hYFZgZnBaaNre5k7838i5j6hY/6sQ9O2yB95rQhaUH/Dq6Mgbyk5 Y6z6iPPDa1qkuWIIdVE+jq4cKz++U/naqiOLK8YdMe6MwpRZ8BlQUTIO08TpBHARvX3x AJnEUCLA+o/kZ7OPmu8+l3eSwdksUj56aKlYDHoEdV7QVwwpY80Go01+RdHdfa6rBqrd AprHTDMQ9KxEs3TPTxfKaWCOwVqkfDk+u2oJMgi7xdKB227giX1dhL6+OaoB1Zs9CW5L raMQ== X-Forwarded-Encrypted: i=1; AJvYcCXSUX5row4aUE+v9TcefmUkQ9tKmhhCRJy/QpmB36pWuDjBjhpqBy038PWf3sFSWtMyCQe5YtcgMSdzCsc=@vger.kernel.org X-Gm-Message-State: AOJu0YxQATbXNJlp5COuU2MToUVsDa8dyO9ONo9Qpip2PzpkS+FiNaf3 twjv/SoSX1UENOMQQEecQ3UV+i4Qr3UddW3IAZo4k0G6x+jVRF3QKqCQUpZ3Y6g= X-Gm-Gg: ASbGncuthnsnzsUj8kJ032ZG4V7YWq7hdcb+4lnwyf96bEM38GCvkIlWQAlHilQw0cj yV2jr9PuLLOmizoTiFymXRYWBn3ZXXpEeWDfJc0uiqWhAQC02JmDLPQotONcQgDn7Y5z/OyKTJa d+jqXQtaKl0zoKXDLR1lq5m+epsEUzRklz47jbK7+FD9coJW2aaSKdn6Ugq3YymiiZGwL8hbkDN M3iKdRK6V5LJPB9a/8fY2QcduRzjoMtz61dWqThBCYj7OBP2Ie5DOJxpTuphwbEfPiLOzneQYJA maHkhNrlbVGhvJFfZdLgfk+XCLNCRhHLuxFtjg== X-Google-Smtp-Source: AGHT+IFIKTdvrT9rBxnloV/WH4GBRL2hNbvpU0mO2aDX4msbqMvDFziuFm/yW5Rx83HoXIc3L3rZxg== X-Received: by 2002:a05:6000:4718:b0:390:e8d4:6517 with SMTP id ffacd0b85a97d-39132d29464mr10567991f8f.21.1741610436840; Mon, 10 Mar 2025 05:40:36 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:36 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:24 +0100 Subject: [PATCH 10/15] gpio: creg-snps: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-10-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1706; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=llaZ30RngMZ4hu72W9cDZbmKLpvm45e47QNDgX4Bmas=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt2342XxLoazV/RExABESNHdJVSqRH9mIAfVE p7pYx1x29GJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87dtwAKCRARpy6gFHHX cu0MEACQ8tL6aVapLyTQEwFqjreDlxNROdSCQo+C3oRhmbbkE/uoDoxskjkhrVYFEi6n2T2oLys Y/RHzOxzpaozZfCy5EUdCtacbm/QhbOH5Fg8c5/glh0OmpSItGWOw3rBzWnxZvaK9RKRIEZgTrT B1W/+BIZEw3g96FxSLhNYETRaex19ereZa1W4zGFoRW1cCnvoBF4pF67Px+bw3T9uYUCaG22T0O mF3RbIXD+MeLxxt64hhq0DOX2q+ZARAPHizmwInBi13eoRQgI2rur7EhMDMXZy6+h0GgXky2gtF vctwPAZTCQzNE6n/YvPdpxqNAEcNu2wRMZvUAPblu1xj8lh4Fyb6RKYz3PU+pnnmti/idoggjtf KlWzCylLKzNgNDS0WwtJyblV3v6JqvonW5VRxQ+wPs53WmMjHsxiRw/Ch3pSS5d/2/THxp8QUUU yjmfqTUlJdFMMTgqH8uCJFUTGO8P+AXeOcMGt0x92x/trFuD+WsKj0z8WrdLURDn5ggZ5tv67Y6 pZ0krVxl7FK9I9gzJL7jPKfBGdh7kQuHqi98RW3ALxwc9+bU2g664PBqp+fFAbGILCZbGQ7d/sY 92PVM2E4SwzZo8diOmLdcVIKFdQrmOgJeoC+kve93HJMBY9mPtUh76lZiW+HWBO4i3iu5/gv+jG k/gHlYC7FMga7Qw== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-creg-snps.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpio/gpio-creg-snps.c b/drivers/gpio/gpio-creg-snps.c index 4968232f70f2..8b49f02c7896 100644 --- a/drivers/gpio/gpio-creg-snps.c +++ b/drivers/gpio/gpio-creg-snps.c @@ -27,7 +27,7 @@ struct creg_gpio { const struct creg_layout *layout; }; =20 -static void creg_gpio_set(struct gpio_chip *gc, unsigned int offset, int v= al) +static int creg_gpio_set(struct gpio_chip *gc, unsigned int offset, int va= l) { struct creg_gpio *hcg =3D gpiochip_get_data(gc); const struct creg_layout *layout =3D hcg->layout; @@ -47,13 +47,13 @@ static void creg_gpio_set(struct gpio_chip *gc, unsigne= d int offset, int val) reg |=3D (value << reg_shift); writel(reg, hcg->regs); spin_unlock_irqrestore(&hcg->lock, flags); + + return 0; } =20 static int creg_gpio_dir_out(struct gpio_chip *gc, unsigned int offset, in= t val) { - creg_gpio_set(gc, offset, val); - - return 0; + return creg_gpio_set(gc, offset, val); } =20 static int creg_gpio_validate_pg(struct device *dev, struct creg_gpio *hcg, @@ -167,7 +167,7 @@ static int creg_gpio_probe(struct platform_device *pdev) hcg->gc.label =3D dev_name(dev); hcg->gc.base =3D -1; hcg->gc.ngpio =3D ngpios; - hcg->gc.set =3D creg_gpio_set; + hcg->gc.set_rv =3D creg_gpio_set; hcg->gc.direction_output =3D creg_gpio_dir_out; =20 ret =3D devm_gpiochip_add_data(dev, &hcg->gc, hcg); --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 81C8722B59C for ; Mon, 10 Mar 2025 12:40:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610441; cv=none; b=Qe5D3p/VeUdPlXuGeJn2y8VzgRJD8Gzq4xy3Iei2XLLSZLrEpjqxWE1ewIkue5c/gK4PZJtJY+oqITkUQkA0FYPa4i5ZcJR3UbLwPjcKlIJKb6n5thCEbzyoV7oxQRcDKgv76Id07WCt9jKhFMIPVLyZVaA3yvRkCe7blFQvcZs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610441; c=relaxed/simple; bh=an+fP7Mru70xaNnEI2kekcGYASlHb28T6SJ68s0UULo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Szz5z6Wu0eUqhWEO2zIXYDvTGe7MqNvgj/BZElQBoywtMTyP9Tu8Om88w5CB5begqv0giPBUtrtOsEqQkXsGPPMQzuQeywRkn1yX7HLUMApaF+/xMOZqZlRJIPcN3UgTnG8qzbyP6u0n8MadOl652ivGLEsnMY28tyboqWKItRQ= 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=OanqF+Ot; arc=none smtp.client-ip=209.85.128.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="OanqF+Ot" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-43cf3192f3bso10283255e9.1 for ; Mon, 10 Mar 2025 05:40:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610438; x=1742215238; 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=H67PL+TODiTrJrMnnAUO7rPrwzkz/ZoBAK5iB5c1v5k=; b=OanqF+OtENgaf1jl3SG2jvtuUCiGriEFjCVrUY8clEltBfRN4Ox7lsMjq6ZL+aZaxO Iy6eBbsyp4b64kE9qnR02MEkjySsaQArX+pZo4kgHkM//HiJ4LRkoBmJoEso96xOnk/Y rfmyx2r7SPui7yWHeay1bOhLCmyWtmMxOT9xp53zE4Apq0xEcQ2pFLNtLZANz8t5Hzgp B0V6GwjDzcuy+L9mf8yHVNgj1S5Jk3IuCWpGtgmLOHIoJ/JA2E8WOBpfHQ6DDb+Sjq5L fyKvGuo3iiII94/fhRsMpE77J+V0+Q9zdLkk8nlzDEUsHcUUg7XKIUUGqSjqqj9mTxb9 ZUvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610438; x=1742215238; 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=H67PL+TODiTrJrMnnAUO7rPrwzkz/ZoBAK5iB5c1v5k=; b=HqL8m8J8MrfHwYffe/lTLj00oEHJmZ9KiiS8beERQnQgM/aAEyhO4W8lIKbeqL+pIJ tHQ9ZQN7p5cuxtMa8Pv84GY9pMbx2+eLwiwQ8kK9qIXC8qjprEOH5Zmn1lfy2iii0Bk7 8i5LbcfGGX1HKnrx9C9iFrMyDbTBQp7CbSPfZvizP65FywDVe3JzykIlEvS1IwRArTn1 PjspMiBI/Fgx5miTMnBJO8RgMNnOY7yFQT7kmDDeLmVdLUpHrCYvRYaBQ7+A1C2xFTV4 ZSNXKnJ2NTRKPAWM/DhIuQQP04+zEmAbWjOv8dC//bdDbt8e3yYFlkXSMG3EK/NHYCEr Zhcw== X-Forwarded-Encrypted: i=1; AJvYcCUxORQn6/AXXH0/MAPr0JZ4Lvw5sRT7MFc02P0A3TsXqzJTIJiys6T9rtQGbkg3LAsiLnBfriqs0N6yIZA=@vger.kernel.org X-Gm-Message-State: AOJu0Yxd+5uKeVrlfFKjf4hLonQiReOR63IXRzBVkd3N1Pmnm4kJeChz NiOgIc0mY2XaSYKG9eD8jy3IgVLmkscyFb4UJ5bq6A7GjechLK6TVsy04N0bZJo= X-Gm-Gg: ASbGncsrvUW9NPikVPHPXOtMJHw46yTLvOAkVmf+Z3s+HV6iH0E+htW4DsWdzvvHHgf q07FnwlagIxuWvUMzm95WF+uKxteFkefD5jDAftZ2vIWIpx29Pk1bLJPqDhLl4kVoHW1NVW0xJ1 lahX9zHH8R2cMpZE6SXOZnR4Jq0BPpZs5F+rRRv6QZJLcwkJclBcGd/txSB9xqUzGoHR0AK7AVY XNACjGGg4mx0pm2OfJgsxdiWY167fb6Ouk5Fzo9T79PSj38LvWfzZno3bsRR0yyKUg17Pg2Oclw 7bZpXUEwHinfrhtyL2rtPzCN/X7jHpzotf5Hfg== X-Google-Smtp-Source: AGHT+IHjIzliJ6rTfZiH4n3UkxkJcqMKZdYBYvY8eKvqKod7sCTO2s6497FITea5bFS321oo9wuZSg== X-Received: by 2002:a5d:64e4:0:b0:391:4889:5045 with SMTP id ffacd0b85a97d-391488951femr2560499f8f.36.1741610437863; Mon, 10 Mar 2025 05:40:37 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:37 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:25 +0100 Subject: [PATCH 11/15] gpio: cros-ec: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-11-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1839; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=mf+lhnl77k+//huQWe9emQFE2kvk1m73N1tBKnwoBnM=; b=kA0DAAoBEacuoBRx13IByyZiAGfO3behiP1ij9aD+aqKdAjP5QW4rawFipO8AKhppE44TNXtk okCMwQAAQoAHRYhBBad62wLw8RgE9LHnxGnLqAUcddyBQJnzt23AAoJEBGnLqAUcddyefEP+wXt sBVW2A1B7Mj2T4DFX6dl0Eey5mAcH8eeTbNYT/BFiOBPA7rn380y39f4nROcug0PbNb1Tsszqbm CzR1zvo4pNa1rtNPEDur8VWqvb15eC0e0tX830mj8j3cF0nLZkSjrHnfyeTVgE86gexHDTpndq8 blZv/Q5Y9z/vnMEYxK2tAUD2qR34yFwgo6a03/euLYr57quf8CQGpmgRMtVrj0t4+LqdDBIqQZL 9hoRXz1ajW5/kOtbtrpxSBRuigKDy2c7UU3fKe4+gIGr3oueFFSWcRJFPnhx5TNGuWnX976oRu6 PrcdKh2LVdOwuMa3FJf06h+364irmp3peYYP7vHZvppY+N4usY31p0eQEfPwPic3aBTnEZwNQfc lbimXOOagyNMBhEhTZ/lJznxlmZSWAJ6mm+Bm6FYY1FoqCXRqbEmpxDoJNGKVSEmhi+ZgbOJ55i oje3S2uWnGtavaul/BqekSB18sOV8y6jhF5lJn2qnLcgXqjsdmXnxNHhBWe3O2Bqstz6M3iUr+D UqWAAefc0ZUVWhUsWDyHF3a7UjNksNOIoVsmUTvRglhox2voc4BKqJ1ZO0afbsGdZ5zu+82XTe1 LSVUnTXIhh5BMOkU0eMA8Aa/z6WXjuvTDkAxPmsPE079y23XF44sKmMN0LBiZeCbB3PPOHqroIE WAAk6 X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski Reviewed-by: Tzung-Bi Shih --- drivers/gpio/gpio-cros-ec.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/gpio/gpio-cros-ec.c b/drivers/gpio/gpio-cros-ec.c index 0c09bb54dc0c..53cd5ff6247b 100644 --- a/drivers/gpio/gpio-cros-ec.c +++ b/drivers/gpio/gpio-cros-ec.c @@ -24,24 +24,21 @@ static const char cros_ec_gpio_prefix[] =3D "EC:"; =20 /* Setting gpios is only supported when the system is unlocked */ -static void cros_ec_gpio_set(struct gpio_chip *gc, unsigned int gpio, int = val) +static int cros_ec_gpio_set(struct gpio_chip *gc, unsigned int gpio, int v= al) { const char *name =3D gc->names[gpio] + strlen(cros_ec_gpio_prefix); struct cros_ec_device *cros_ec =3D gpiochip_get_data(gc); struct ec_params_gpio_set params =3D { .val =3D val, }; - int ret; ssize_t copied; =20 copied =3D strscpy(params.name, name, sizeof(params.name)); if (copied < 0) - return; + return copied; =20 - ret =3D cros_ec_cmd(cros_ec, 0, EC_CMD_GPIO_SET, ¶ms, - sizeof(params), NULL, 0); - if (ret < 0) - dev_err(gc->parent, "error setting gpio%d (%s) on EC: %d\n", gpio, name,= ret); + return cros_ec_cmd(cros_ec, 0, EC_CMD_GPIO_SET, ¶ms, + sizeof(params), NULL, 0); } =20 static int cros_ec_gpio_get(struct gpio_chip *gc, unsigned int gpio) @@ -191,7 +188,7 @@ static int cros_ec_gpio_probe(struct platform_device *p= dev) gc->can_sleep =3D true; gc->label =3D dev_name(dev); gc->base =3D -1; - gc->set =3D cros_ec_gpio_set; + gc->set_rv =3D cros_ec_gpio_set; gc->get =3D cros_ec_gpio_get; gc->get_direction =3D cros_ec_gpio_get_direction; =20 --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 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 96DDE22B8B2 for ; Mon, 10 Mar 2025 12:40:40 +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=1741610442; cv=none; b=sdzWJX1iFE2dMqu1BSjU0v4dU+f+vowPw3lCsq0aN5mBn7ZLNLFufU6Xu91QPHxwM9i7H0bJDRPmJYof/NaPRWLIlHVNDNm2Z8lvfJPer1HEWWpzzNLpaCoMjlNWqsny+If9jrbJGXejoND09pgT3K5L/vJ5ZxZ6mmV2vMOx9bU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610442; c=relaxed/simple; bh=W6bsbnseBY25ByUGe8kY8ymh0ENffkUvrW6x3HhNht8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IwN8Yzs2t4mXPQUg2qfYruul1K039e3E20dXaRnriwJwqRZKQIESXCHHfwtEdaddUFMZHI1TGJPr8EX74JKoIfEVUVLp5aWYI3x/dK5AmLzIirCAkzrm4LNuhzKio0aVZn4a9K22yEEaeGNO9qv/Vlp7EIu1CZpVDUqpKyyjywM= 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=Qwi6/gDh; 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="Qwi6/gDh" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3914bc3e01aso434695f8f.2 for ; Mon, 10 Mar 2025 05:40:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610439; x=1742215239; 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=0ZMXz92h+Kc6DuqlUd9j32ZQvM67O+7ril4p2VpiO5s=; b=Qwi6/gDhwqowHt/osiwbOgRGufaCEkxIVdD+EaA0GSIzneyfh/IZYLpOgbopxEScXp V/hgiB3fj1E2bdK638Ujwhcms3wsP4V2ZJPYkDOmw3o9umXh6pD1IoYkrf5kkXPfaJV5 ZL6hpCzw98Z1/goaw0AW8WvlDBVRdrh4+oAuUcFS/BBfwi3aBICpNvylkbS1oeejQZfA NcLSnvvTicXvnq+cwU7Glcss9ue8aCJEGQKPh972FqEMSrrP/1aKyjtyi6OhG9fzza61 NcLpuZons4VvGb0crsijWpkvuU6BzupEWxHu8UNS5FLG65hTMR6QgYc5sZxiu/ybw6xK 7FZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610439; x=1742215239; 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=0ZMXz92h+Kc6DuqlUd9j32ZQvM67O+7ril4p2VpiO5s=; b=d6o6OWKdjTJCJM4V7eV2fPmCdj9C8ttMk7unPBOer+IBkok7koUCx2mcQQkOburl7t qm4KK5OyV8eOEnowN3HViT9KbUW8TbBnctP15vsHuZ1uK538tlhzyiNml2e7Ps/i74HX vlRKG1zoj61AYmmfoYJqPoUJoLDf8cM6J+qjKEvtEL/F9T4sTmv1nLubzGJh7249CmlJ zES4XB9CLVc4XsJVrnW1+MVbKUzdbqO9oAQ2A2U2i1KOGOWpHQfHZD5qxhc/l5ZW2Bb0 gy1tWwyO4PNRP4zJLZf1GQBCHLFDF0v/3rJQuf+KH9gw7xie7HVevoTr3z7bkJheMJ1A LqDw== X-Forwarded-Encrypted: i=1; AJvYcCX2p6OIVs/iknBHpzlhgvY/vr19smEMm4Qmjw/MnsDXIZwbYS2c6iUmqJRcHUi4B45P84R7kerODWl9fRQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yw2biTR0cYI5Zuhb4ujUuIxkqyzNZYKcY+QuC7OGLIL9TBJrBRD j/9bFPYwZSKSBqhEKB30nQ1PFhrz+bpLNQKPCmsOBUiZ2ZHgDlsI8tvXJYlIw3I= X-Gm-Gg: ASbGnctHkQSCb9jG5cBhNrAiN5g+4Q+Tm87n3tmW1qLzUGLeI+vpyjFWBMGYMZtkPRZ z7sIK+yH8lP8VkIEYArtZXDL4L22nHn16x34m9bUAbWZju4nSFD9Yo0kKKEzgwQjnwbdBCveWTC ilwhPs1YxOHiKmL3b2x/isScfNrj5+ZLyfo8qz08AnycU64hu49vVRCXu9z7AflN5ASM7sPWT4T ne+Gw0gC0S+PfCCMpZff+t95xJyitsyaue9i2FU+zVI95fc4+7SOCTTVAxYjphx0yzkMGqtq/qV FagRJKt06192TnAvvoegwet8lD6N37xg6UXDAA== X-Google-Smtp-Source: AGHT+IF8RfpOiMZdB1vExW4K5rzQNK0TgHRaqy0wyeiXC3V7IuSnH5Ub5H5GptqU8/5m0SRjRsT7KA== X-Received: by 2002:a5d:59ae:0:b0:390:f5e3:e833 with SMTP id ffacd0b85a97d-39132d379e9mr7758009f8f.23.1741610438927; Mon, 10 Mar 2025 05:40:38 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:38 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:26 +0100 Subject: [PATCH 12/15] gpio: crystalcove: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-12-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1720; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=BhBIMadvw0Ns81letqcS3Gn7LQUbTtR4jE3YMqJLxY0=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt23jeX23+pF1Eafov7hkFKa1djj2w9+iJp8/ rRbFcWDIzyJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87dtwAKCRARpy6gFHHX ctiQEACLoEP5YjVmtd6+kD5O63MERvwFhHg696nwDJsEw4K7bxv1j7WVoDQSM8jNdik9mTvfovn 5SfFW1mHDptBe0mIsph5P7HoaEv1X+SmebpPUd1wIz6iK7hcM2jNWa6MnFuwNiV9aOGTRhk4dkb xdNwrJHRhlP3AM5UFsi/QdDYgrwgQI93D4LnO9px8QNuTUzR6yenOLLg8jDZuwEG4usybEHVF+I jbs3x/CuzeEjHS03A6RTUBEA1IxG+UKWaed1+7mbIoBKU+KUJG/iFLIB31w3iR1+UyBV/pZ1dJs Eg0GQ2KH0w5xXSVUm76LpvGws0ITabwYJxPefpT4AH1ZRM2bDSVftyR/g677SOqKISCc+eFNRsX rBIfE/X+8cndGryG2b/CVy6mhGoxi0E22Xem6ZmrEUArHwU34X+0f/UHHxh7dlA75HbvgF/f3/N 6U5tCKLDrBDhco1pjls0ddyJivXlolubpgM025TdDKMTSmDEXWga1QxEb5qSJuy+pzmG4CX43kx sMJtg1HfP/YUBJpOEcmknfcDb3wtmGCctcGL6NQlvMcHvtih0bWO1hBEoJDRfdzqMCHOU3Ow+l4 D/XO5TIkjJPHfUfMMnn5hvKIfZS1Op+ZymdB18sbNP/3ssmJG1Xv9No2figbVnxN9kktk4suJa6 BhVdTqgjCfqWgxw== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-crystalcove.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpio/gpio-crystalcove.c b/drivers/gpio/gpio-crystalcov= e.c index 56effd0f50c7..8db7cca3a060 100644 --- a/drivers/gpio/gpio-crystalcove.c +++ b/drivers/gpio/gpio-crystalcove.c @@ -168,18 +168,18 @@ static int crystalcove_gpio_get(struct gpio_chip *chi= p, unsigned int gpio) return val & 0x1; } =20 -static void crystalcove_gpio_set(struct gpio_chip *chip, unsigned int gpio= , int value) +static int crystalcove_gpio_set(struct gpio_chip *chip, unsigned int gpio,= int value) { struct crystalcove_gpio *cg =3D gpiochip_get_data(chip); int reg =3D to_reg(gpio, CTRL_OUT); =20 if (reg < 0) - return; + return 0; =20 if (value) - regmap_update_bits(cg->regmap, reg, 1, 1); - else - regmap_update_bits(cg->regmap, reg, 1, 0); + return regmap_update_bits(cg->regmap, reg, 1, 1); + + return regmap_update_bits(cg->regmap, reg, 1, 0); } =20 static int crystalcove_irq_type(struct irq_data *data, unsigned int type) @@ -349,7 +349,7 @@ static int crystalcove_gpio_probe(struct platform_devic= e *pdev) cg->chip.direction_input =3D crystalcove_gpio_dir_in; cg->chip.direction_output =3D crystalcove_gpio_dir_out; cg->chip.get =3D crystalcove_gpio_get; - cg->chip.set =3D crystalcove_gpio_set; + cg->chip.set_rv =3D crystalcove_gpio_set; cg->chip.base =3D -1; cg->chip.ngpio =3D CRYSTALCOVE_VGPIO_NUM; cg->chip.can_sleep =3D true; --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 94CDB22B8BE for ; Mon, 10 Mar 2025 12:40:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610445; cv=none; b=aGr6kAafLhE/YTJigtbgTDLXKPZagNAwnF4c7tQxflqVfAN5v5n3H7zRhMiFG9R2u3lCCM4TLX9IzafjsoKCCfP36bMsZhoQ99UqLIF9n6DCgvxRwrcFpU1bV+FXXKA3t0sCSuvZsYXQPRxP8DYU+AWMuJlQkALsOqFbP9UDzSE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610445; c=relaxed/simple; bh=KjNVSxMUcxXw2e8AzNxM5jaOttfS+Kefz7x1bNsPa9U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CSJUDiwQcOukY4k2K8bA8/dp/YcDyeW8DqlroBkrXvU1PpvziNkWa0jJtkmtUDHMC63F2FktX4JF7AQb8VASS9jsHyymXXrjpl/jgxIOxQ6FyPz8p81I0xnLIIK9EFFFcZNE+WKoUzOFX0zsM2ejksIRmz+nK4J54Jaa12zivYo= 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=wvFNxV/a; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="wvFNxV/a" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-43bdc607c3fso24712245e9.3 for ; Mon, 10 Mar 2025 05:40:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610440; x=1742215240; 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=KUhOpFTq7T4Vaw84Qb5mjT/Mv6Dno+d4OQdMzLiCIb4=; b=wvFNxV/af+3MaPFV0qs199GuwUAAzPpxtqchTU79Ub5sdS9lhlYCLlF497AIe/qkBO GCJJWRbiK/9T0w1S32bHJRtbtz0IqrAU+V07V/b+dcSk1RshHvY2GvpZHTNFeZr9P4oR lajRT3cJ61bOxnF0gC2D0ocUIzUWClEWKqZXuEUwbx5XMzZ4R34H2hbLK6CzKLIfXcj1 WcibZXYELoYcAVWpA2keEa45mp4PZW2qRaLm5GQedCKWdP7YN47krgbLGrF730YN0GHQ Myn14mb0qMprjmPogDxu/eGZ2jGe78R3bRTlT9JrnmgLwUipRC04gzTGPk5oohQiRFBc O7ZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610440; x=1742215240; 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=KUhOpFTq7T4Vaw84Qb5mjT/Mv6Dno+d4OQdMzLiCIb4=; b=WwT7PBh0g1KWQO0HiFHtj9gT+2zG4BY1FwEWS4f/twi7Bq+zEwcaqjqCrX/xOX3hCX KR/3jAZum4ZPCP64b3G53/tJ25Sc/dExlMnIx1sD/T3Hk0Lxto4ubLUyOiyzUSDZHxFH UJgAfaFWsvpyDicrZQbcTTtE+UbRtSye5t0D0AfIwlrQrwlAR1cqmUL1Coz1ryUFihun Ur1+VpHj5r+rw16PIdtRFSLdeAg9Kw8INkJkw8BDD25TGqmc3G7yU0CBg3lGERiIIcmy ZoPqyfCD+zvwPVpVjLMPngexMFzf9DemPmv3igUZ8irtcCCji0u6y3GeqgwGWtGWVD0Y U1wQ== X-Forwarded-Encrypted: i=1; AJvYcCXP/e2PiP/wy8OvUVW7pVbnOj+5LkpfwhTc2fdW5IjDcLS90vf/sP1S46X4FRvS4Vspf9MMDwZfTMyl7TU=@vger.kernel.org X-Gm-Message-State: AOJu0Yy1sy2782f3LetGl5JtlktIEYob2JKgSMTRF473xepmPcxH1pi8 Zgi4vLecavSTsqUeVRfskbtBeoYnJyEcBGeE/EdGW5X1ML9m4V1HNwIi5Hprx4c= X-Gm-Gg: ASbGncv/6U5qZIfSdN4erGOA4ZSSYtPJdeV4MJSKKui+cN1gkEya3MTsYmTTVp2XhxI m/Yg18fpKCQ2oc7tHXtSvizS5ko8hnXVwTJC/llP55EOeOBwcXIIbwz8jpvwweE4cQV2WyVxjDt a48N6hAon10CTleVk9fwddLrud7ZL5jMa5RUVhVt/3h/fQmGcaZ2genxFZUW+EsPpQV+HaZLL5Z 150/BU5zGhhqXkOhP0KYqz2kMenTOvoqG6V8Su2TxJSE2X8luBzoRcowfrb84NVXFCJ7UwyWE0v pzDr+2ZUrTaCn61OU73JFV0lQyggluXErAussQ== X-Google-Smtp-Source: AGHT+IFQaf2/quvTqoYP56zHi7rDJ1kU/oDCjLOtAqY2CrIIfApBxqj0fRiT+qyx0t2yLBZe47FKRA== X-Received: by 2002:a05:6000:402b:b0:38d:e401:fd61 with SMTP id ffacd0b85a97d-39132db746amr7831737f8f.49.1741610440032; Mon, 10 Mar 2025 05:40:40 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:39 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:27 +0100 Subject: [PATCH 13/15] gpio: cs5535: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-13-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1320; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=upkC0sTnirOv8jzXmgfAKpOw7VETHSI74rIvOJP9nNY=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt24AJd+rA6oBAhfBjVrJiAiOO4rj4bvTZfgG LSaiIwYXbCJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87duAAKCRARpy6gFHHX cqFOEACetKHZ/3lXaDvu8xFsxkNP8cTKKcRF4221b90RoiJjw/dnUkAA1kFBAbNJsiuDNXhkGIH bjlGhxIoSV5KpWVGB8pDYH2YD1uJFHda7kXeZMoEzX0/R5mNw9qR0xwvXNy7x6nf5fdJIgwxNjR bEp5lAhjCw3D3VwvSmWgMzAZDKh09heJCGEw2ChM6CxyxV1SokLgFPM9LH8cqgQM0vVUwxn3Isy ncFXWgcMSJE68btyjRjEqs/ErRld0BpnEy+vMOa1fbLXsdk42eTsS6YVOWY2e6uLjCw7oPhhPP6 418wKqULs3D/IMVbpfmfv5Pcr5EJz99hqm/zhjBgTdkBBe5FpOMsr0AuipkrsPq1Hj5Y5xeyt2U 8lvDLwMF4ttEGMg3m3AUK8OMezkI21iei50FlV9shyKvqYDZ+drlPDFfy4rV+bTPhpHfEUT6CuH Ojq/DU1m0I1s4i9ryGQwdrLYotl4eSTY+OYXeqmuVvTOwQ6RNTf8jH3LJ4aZpfsfxCMtXilYanL OcY+h5dXmJ/1lxjTNoY/4pBZR7QFKX+i85Yb/zScLcILVujiCsbdKafvj43EbZh/+ATx+BIk8xp k4904Acu1ocjMI0Kc4CU1DfrqzPC9U4XclfcQxpOKDlsWPHnFNbeyhKgxkRuXpD2q4b7LAfdf3V pa2oV6E+9zRBYIA== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-cs5535.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-cs5535.c b/drivers/gpio/gpio-cs5535.c index 6da3a247614a..143d1f4173a6 100644 --- a/drivers/gpio/gpio-cs5535.c +++ b/drivers/gpio/gpio-cs5535.c @@ -232,12 +232,14 @@ static int chip_gpio_get(struct gpio_chip *chip, unsi= gned offset) return cs5535_gpio_isset(offset, GPIO_READ_BACK); } =20 -static void chip_gpio_set(struct gpio_chip *chip, unsigned offset, int val) +static int chip_gpio_set(struct gpio_chip *chip, unsigned int offset, int = val) { if (val) cs5535_gpio_set(offset, GPIO_OUTPUT_VAL); else cs5535_gpio_clear(offset, GPIO_OUTPUT_VAL); + + return 0; } =20 static int chip_direction_input(struct gpio_chip *c, unsigned offset) @@ -294,7 +296,7 @@ static struct cs5535_gpio_chip cs5535_gpio_chip =3D { .request =3D chip_gpio_request, =20 .get =3D chip_gpio_get, - .set =3D chip_gpio_set, + .set_rv =3D chip_gpio_set, =20 .direction_input =3D chip_direction_input, .direction_output =3D chip_direction_output, --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 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 AFDEB22C35B for ; Mon, 10 Mar 2025 12:40:42 +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=1741610444; cv=none; b=brRDkc0T4ATssHRlaSw+8wxsibkrsAS/tCQjkh5xSY0LohmGBE0iAfAcSAVPiozofbaAHt3xEeUqj2stvLjgTT4ZGztyqpUNFCAZowP76fs2EwWCtf0vUpWOE1Of3XUVixCJWLyl0D/Dh09twoH2deUGGfoLx/Hea75/y2k/zTE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610444; c=relaxed/simple; bh=E9aB1Vd+AUoxjkLy3Itt4VDoDSlD+bPdOL2/ADVn31U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YgGw0TuxuXHk8hdmi3OoTRgTql6j184F/aM7a0gXq79iHnDmuVC1KyMBZZ+Y1AadMYNNIhvY5Ct5G7WjB82XiCwVwVCybF4dkPk0KER/2UNdcfFTxhcfDWhNqOVO3dTt2Sbu12VLvuB682AjSaYJw9ABs0/0N4aHIr62sZRqS1I= 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=C9c0rrXP; 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="C9c0rrXP" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-3913fdd0120so832490f8f.0 for ; Mon, 10 Mar 2025 05:40:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610441; x=1742215241; 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=Tf7eeljLA2y+9Oqd6IiV/JOm7eXfUA7DB4oQ/Zqnubc=; b=C9c0rrXPU8miIOMBfU3DO8lbz25P+/Q30xstOU2zx8pTkEQBPDIAhgfy+HPFyjm4oj 9bvIhunZkZ4OdR+6U4ZOdhvcZ/A0tbMNt3RFMd1B8EhwhOFuj7ew/WPTO9x80yl5Kop0 T4gMNRTES1Nqulg5Gj+LOO10Y00ophVizt9T+D0stL0nJk5EfOLy4qYEEmSjsP9IZmF3 p+ATOLijSuCdSoYpSWULgnWtkR8gds6Sk1PlSFllyodjzjl6nKjSSdhFejTof5cG0ml7 3ofAPfwC10uMH0vjO/BlKgsbLa/eZ9MXzFO1HQg0g6dgH3f2+oIEe47L8yHpfU0e32Dk VoMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610441; x=1742215241; 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=Tf7eeljLA2y+9Oqd6IiV/JOm7eXfUA7DB4oQ/Zqnubc=; b=elZhgnOBtWeyJQE2dJqRoDyiFS8YMnc+a3mqG0+8MuDpKmMzZU6zh6J+uNE8hjmwN2 nZPNyxnPt9OxQotzYMSJdZ8i7GjfXqZIq9+e11ASgNsWfdHB2zRq7dGtLLko+a6/Hy0e qn9xvqoOKHfoqpcOKCm1YiVWc1Av8cgpJW5D9W2cFSLvlsuCRCSGBpTOtQFAk/tKuJeN /qjxLYg1ZziB0tR1Vf3gAEiA9+3USHWnuvGj+JPxKlTc+MfqgRck/Cae5HUbiO9HY2uU 9XnzIvV8Dv63ydzZKJkNXsrWu1f0HtSOI3gQuNtrFVVWdN4ZFTitnes3t/W5oGitgsyr No8w== X-Forwarded-Encrypted: i=1; AJvYcCWy+zvADtrd/VxYxDuAWv18y0heVoHnfWRgnRpyVRtXyEXBk7b3QzVrIFChoQb7UUJNbVaf9j42J9Ln1Xw=@vger.kernel.org X-Gm-Message-State: AOJu0YxiG/bAz0PY0l0Z/qjq65Cg+btmRKjgzcUDwarZ2DiRY7TJ9SKv JuG68upSP+vgHO82VZ2tyPRdiZxz+uYPmhNfugMSmG6BRfwaxaAzpUtXa1mrePc= X-Gm-Gg: ASbGncvNd3RWG8FD8Q3e2lm8sTeCg/bsMM/9HGsLH00DPHvTjGjllYVwgT2RuBqZtYf kQfOoEmh1pxhDGzGiZAQjSDkeI+E/o5i7RGvwxqA7vHPt3xZ6PWlQE1YczNVSAjPVGlvIEe1nac 1SaVIqYImueC2fd+9j9l918osgleboI7Hxtxz2AbSJgswklO7ciS69CPZ8w7YKxlrfESq1u3Sya cIpxy/cHagFCKOetvMHv1xwETg3716g1fWe1RSFwPn9SuZ47+D2Yem79UjO/PFFyoqXh6/q2Apv ieHjf1E0Gdbqj7Tket4CjsJAGNhTEzbeKzELVA== X-Google-Smtp-Source: AGHT+IGsjw+gRltOoV68hWd664IKVodEPK3RYjj6f24rZc1hRr2npsppVMspn/oueccOmjBO3+VPfw== X-Received: by 2002:a5d:5f45:0:b0:390:eebc:6f32 with SMTP id ffacd0b85a97d-39132da8fecmr7962936f8f.48.1741610441102; Mon, 10 Mar 2025 05:40:41 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:40 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:28 +0100 Subject: [PATCH 14/15] gpio: da9052: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-14-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2277; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=oV3wI9w1INONqHANJFjJ/R8DVh9K4lYun6zlcNoJFsU=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt24Sveiw4Qcrns1kVInUoiSTeiXKL/2WohT9 7Y+3Y2saOiJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87duAAKCRARpy6gFHHX ci+uD/4zONnng97wW7G9sQ5b3jWrqerJ2Hzi9b5RBYqxyTK9/zDjLIGuKjWGIbQ0IdajUKXxFG2 3fPzRWUeIAowZM1v+yjc2wZT5cBjSU3/9M9pm6aQHKhnfqlr92OMbN9LlodjfyQ0nk85bqd2YHm W6m9atQ/6tV5EZaxqJ72wU2HBFX/3qvjlA+ign3ydiSEkbz7xM62F4lr2TXe8NnSjf8gEOylHhq 8eTfY9ilHP+oCynqcFSMMgwTPyfuQa2v3sD/FS+17HSqDPXVarxP0G+bDVCDXNHV1VpLytDjmxB Tmt9z4fHghh+tr4fyChzIOIki/+DzlVF1IRv7TuQBnD6y5s+ECAPbfG9YOYp6kGeZXpveaVgK/H 9hUV9bowzZEHquW7zKW5Mljo6HDIPezj7b+rM0G/ZOjirLtK7+AdOk9nlyJ5SVTc8uEcsLHnjGc qVtIDgfZd7TQhHV5ffGtE/dYVuDREHmCHfRr0l0qyrBlHAqoLqL7kli2a+baJYRm8lvXxDgiOJ7 TDPsgQyHdHX//Xxw7a7EJUOQFd5VFml21vaNy1l2IM2Q+i3+zX63MCjzqLIwePCW03bSFKqxjNI MgxKPnwAGGuTM71+4dAi6hMWb8/Uw86tBy8C7GF4IJh/8bioSY352wpdCJ5TNwLHepI4m2frh57 Ubq5f9r0zBTvXlQ== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-da9052.c | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/drivers/gpio/gpio-da9052.c b/drivers/gpio/gpio-da9052.c index 6f3905f1b8f5..6482c5b267db 100644 --- a/drivers/gpio/gpio-da9052.c +++ b/drivers/gpio/gpio-da9052.c @@ -89,30 +89,20 @@ static int da9052_gpio_get(struct gpio_chip *gc, unsign= ed offset) } } =20 -static void da9052_gpio_set(struct gpio_chip *gc, unsigned offset, int val= ue) +static int da9052_gpio_set(struct gpio_chip *gc, unsigned int offset, int = value) { struct da9052_gpio *gpio =3D gpiochip_get_data(gc); - int ret; =20 - if (da9052_gpio_port_odd(offset)) { - ret =3D da9052_reg_update(gpio->da9052, (offset >> 1) + - DA9052_GPIO_0_1_REG, - DA9052_GPIO_ODD_PORT_MODE, - value << DA9052_GPIO_ODD_SHIFT); - if (ret !=3D 0) - dev_err(gpio->da9052->dev, - "Failed to updated gpio odd reg,%d", - ret); - } else { - ret =3D da9052_reg_update(gpio->da9052, (offset >> 1) + - DA9052_GPIO_0_1_REG, - DA9052_GPIO_EVEN_PORT_MODE, - value << DA9052_GPIO_EVEN_SHIFT); - if (ret !=3D 0) - dev_err(gpio->da9052->dev, - "Failed to updated gpio even reg,%d", - ret); - } + if (da9052_gpio_port_odd(offset)) + return da9052_reg_update(gpio->da9052, (offset >> 1) + + DA9052_GPIO_0_1_REG, + DA9052_GPIO_ODD_PORT_MODE, + value << DA9052_GPIO_ODD_SHIFT); + + return da9052_reg_update(gpio->da9052, + (offset >> 1) + DA9052_GPIO_0_1_REG, + DA9052_GPIO_EVEN_PORT_MODE, + value << DA9052_GPIO_EVEN_SHIFT); } =20 static int da9052_gpio_direction_input(struct gpio_chip *gc, unsigned offs= et) @@ -182,7 +172,7 @@ static const struct gpio_chip reference_gp =3D { .label =3D "da9052-gpio", .owner =3D THIS_MODULE, .get =3D da9052_gpio_get, - .set =3D da9052_gpio_set, + .set_rv =3D da9052_gpio_set, .direction_input =3D da9052_gpio_direction_input, .direction_output =3D da9052_gpio_direction_output, .to_irq =3D da9052_gpio_to_irq, --=20 2.45.2 From nobody Sun Feb 8 01:52:07 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C85522D4DB for ; Mon, 10 Mar 2025 12:40:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610446; cv=none; b=eR9tSDDG+8v0iSi6/UgV89ixOSxn9iXi11xrkqiEY/rezl8QSJ0DdMeZQ1fS2qfTquBy0QPnW3LW93HnytF4Qi2nsXMS/UVjonU2S5Q0WAhCBshqmglUz4kMuM4rJKeFyi5vba2Om4iXK73DvgU4Mi067obXrLNNG0bAzVXohds= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741610446; c=relaxed/simple; bh=JCZwjmhHkI7UGuyylm3hmg1ybe6vyUyFrcZEROggpDo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=depaXuslziEfl0evFSzMaVUCY4kqdn71tyFWxWLnxXuGwVkJcYZrJHu1k7Pob/96d8d9u42L8bfhhVQGMdRomHHCBLTjKAhFVt4wlGMS4mrhxdACPYa1fIqrnBdsveEaRUKcHlnQMcxx85yCHF3xwWIPc0LW0a1ZouBpUEu9Jrg= 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=Nic+D6DQ; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="Nic+D6DQ" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-43cf05f0c3eso7445445e9.0 for ; Mon, 10 Mar 2025 05:40:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1741610442; x=1742215242; 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=qNtczHCYOvGzkg4rCw2cTpCLRIRLWrJdIViZwBgDUNE=; b=Nic+D6DQQagsZe1PK2xtlYSRwDO+piDdGyt/HwRI5KcP9Vw7y5V0G7m7zZ/QANbYcG Vc29uqqLfzKDCLJXoo9ObQsOKeZ/XtiW92ePG33T7M4ON/9p8SN+7XIcCD/sd39+0kZU FhTzLqiRJQQuraE/wsI6SerVD5m8vEOTNdeHXfx/rnAqqqLsGoMAMKwp6hCa67r4xge6 EKZapVNjUWPaMtf4xeGzXf4hWfFDwfF1iIy0zeZHrNxoD6FqzJ3NmIoZ4sJSYkh/9OoQ d7OQXsalVJgy1gRIWOj+bE8tDnqUrP2e0BHj60n4HEuuXXI7MnoKLqAn99bB0vzPaUx4 qEog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610442; x=1742215242; 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=qNtczHCYOvGzkg4rCw2cTpCLRIRLWrJdIViZwBgDUNE=; b=fczA5d24fP+rvJW92xS7QHOrI2Iy6dFP620LKyZDIDmu/vbzYW0yG3wOAEOWsE8M0O 0n3TkEwCrfc7bylbKBput6qKpTDx3uUoXpEN/bUjOMtYGLcF/3VZ+ZXxZbWpG4GW3BFl 9fUtJ6HdQLvsKogWwome5dqQLQyvq6hOKC1RIjomprc7E6+hxkN5pAPTNW0AFmc6HuIG 7ixn6RGvWwYcaIvitWTrz+RWZ8gfixxht2RcGcfi0lnFRuQbZLRwkHhn+s6ULa3Q/wIT e/vPI64MF809dAvesRyRezIhRn/qaqOz2e1I7wp/F4wErfCkP2UTZu0LiURTmc16KYQ7 0jpg== X-Forwarded-Encrypted: i=1; AJvYcCVcyWgLAI307HV+vEhvXVyEcMSPobINt8Rm+n4iDOalGTAG+9NVJq7VRMfltXOVX4VEHaD4YAghKX8n3Pw=@vger.kernel.org X-Gm-Message-State: AOJu0YxrJIUp0hjJq7oWIoFM1o1slvalibFxJj6L/0UMjLJo3o6lujhV k2ZhwC5/PmTr8ZyjNbxV+hh4crOyXppwnldApXBgEW2yybhWjCpje3Zy6scJInQ= X-Gm-Gg: ASbGncusegaHCtQMb8dSo3gGeExGQRxHHJkyMFkb36ewqdJmIK0JfqVW6yZWD/FAyvc 7hmqoZwbTn35XMKBnnq7DPqOUBhB3n+o5I/utDv9tv7nZgBPaB+1vtdtmDIybY2QFQthSG196eR OwqswsMNJ3X/Hq4tD4Ft4kB/bjbeKR38DI+z+1fWcCq+JELOzzo32jPcPKNMGR1IJN/b4m4n2EE Vln0muCcHWNLnkYvB7quTWXSJn9R3Ev9hevODir0BrbXj0I6MvMgnoMVC+5z7YYjQR1ZIMzgjN6 bcwyJvyMBjm6GUOi32yetGIOeGQfgp39Z0wI/w== X-Google-Smtp-Source: AGHT+IFVuyRiKFOOAXDZU5l6h/TGQ2xggZC6+4dIULrDNG5L2YF0yi09dTRtPuRjwegzC6F/xDPbXg== X-Received: by 2002:a5d:648f:0:b0:391:3150:96ff with SMTP id ffacd0b85a97d-39132d57d7emr8406280f8f.32.1741610442247; Mon, 10 Mar 2025 05:40:42 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2711:39c0:fb51:b639]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912bfdfdc5sm14535865f8f.25.2025.03.10.05.40.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 05:40:41 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 10 Mar 2025 13:40:29 +0100 Subject: [PATCH 15/15] gpio: da9055: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250310-gpiochip-set-conversion-v1-15-03798bb833eb@linaro.org> References: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> In-Reply-To: <20250310-gpiochip-set-conversion-v1-0-03798bb833eb@linaro.org> To: Ray Jui , Broadcom internal kernel review list , Linus Walleij , Bartosz Golaszewski , Florian Fainelli , Scott Branden , Matti Vaittinen , Marek Vasut , Michael Buesch , Thomas Richard , Eugeniy Paltsev , Benson Leung , Guenter Roeck , Andy Shevchenko , Support Opensource Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, chrome-platform@lists.linux.dev, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1773; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=aX+Sc7fT/BffIdWWzJi16XZBvVpXWWKC15xKXdoh/ts=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBnzt24DB5SoA3hXBMRBC6RePpPoJYAb2N8IdI5i pcr3SXpATaJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ87duAAKCRARpy6gFHHX cimWD/98dfw0xWyjhT1TCRNPGdqbkj2nQnmfYJC8g42IGydzwqwzSN7m6xgIlZL5yQJ74CjTNIq 9zx2WmSkS9S7588Gi0ihnRPW/sA04phIaDLWiLDK2YpSI21KDCGEsVOa1Sua7LP+ocVdXL0y5Dl fojCC2iWXNQEaHr/gWiPoktUcwODCRnKzP4Hkaj3fZ5yAleEYanJve+yvCEXSDQfjyetqR5Dj8j NUgBSu0fUzZqtcezJoxnsV1hUfXGLeE3nCABFzZEOjAHvYCQTXUugJ0NpRrzO5omloRmYltItnw mL6cpyrRR0CCohWjQwbvTFtMVbB06mzFVZO/2/XK4+0/4rQN9uDRJVnme3b+qulhOSopMdKpybk n6hGsKM/zWn0vDAaM22cVeBrBsWJBOPrpe1mbUAQxfM+3ZlT/Qvet2Oi/diAKsqASoXEumH374N tOQioORX2FMyUTAJ2hSLK60xJHWRcGunqLTzM0zdbbruDBC/xhYA7qlT9HLkpAB0qnAQBkxSjMi jI70EtKxQfPccNt3EAjVZtBWPizGrbS+qDe55Cs/jK9KhfT9oP9d1JiUUWXKWr4PWnaCiq9KD+w oKxxGJa5QZmrir/4qi1+OCJ4vMc1kRpkir+a1wFlfEzZRCy4Uzq676K6WWHtidzMnjq9yMiZuSq 1ZPwoMDDsmuemPQ== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-da9055.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/drivers/gpio/gpio-da9055.c b/drivers/gpio/gpio-da9055.c index 49446a030f10..3d9d0c700100 100644 --- a/drivers/gpio/gpio-da9055.c +++ b/drivers/gpio/gpio-da9055.c @@ -59,14 +59,12 @@ static int da9055_gpio_get(struct gpio_chip *gc, unsign= ed offset) =20 } =20 -static void da9055_gpio_set(struct gpio_chip *gc, unsigned offset, int val= ue) +static int da9055_gpio_set(struct gpio_chip *gc, unsigned int offset, int = value) { struct da9055_gpio *gpio =3D gpiochip_get_data(gc); =20 - da9055_reg_update(gpio->da9055, - DA9055_REG_GPIO_MODE0_2, - 1 << offset, - value << offset); + return da9055_reg_update(gpio->da9055, DA9055_REG_GPIO_MODE0_2, + 1 << offset, value << offset); } =20 static int da9055_gpio_direction_input(struct gpio_chip *gc, unsigned offs= et) @@ -102,9 +100,7 @@ static int da9055_gpio_direction_output(struct gpio_chi= p *gc, if (ret < 0) return ret; =20 - da9055_gpio_set(gc, offset, value); - - return 0; + return da9055_gpio_set(gc, offset, value); } =20 static int da9055_gpio_to_irq(struct gpio_chip *gc, u32 offset) @@ -120,7 +116,7 @@ static const struct gpio_chip reference_gp =3D { .label =3D "da9055-gpio", .owner =3D THIS_MODULE, .get =3D da9055_gpio_get, - .set =3D da9055_gpio_set, + .set_rv =3D da9055_gpio_set, .direction_input =3D da9055_gpio_direction_input, .direction_output =3D da9055_gpio_direction_output, .to_irq =3D da9055_gpio_to_irq, --=20 2.45.2