From patchwork Fri May 2 08:59:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 887952 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 01F0522DF86 for ; Fri, 2 May 2025 08:59:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746176396; cv=none; b=TOMQkrF2fzdJsrYPAmkPhq0qDcI3Tmz6tVydWAyVyMNu9vk1DoVHYC91yzEgiXvECzajCWAu4t5Y2IjbhgTdMb8sVgGOUfEduEcsLxNB68h+1l6jnt3Vea2MPyMHOtoPrSmJuy/w7V7EofWAbhxJ6z6X6yIwpW5gjI6TcmNPluE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746176396; c=relaxed/simple; bh=L7vO01waMbRPHY4cHTagsznknnmWs3Tw8o+y1YlXx0s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BeG3b1e+iqNw9cHRjXeiRMde/DI38eq1UXm8aXqTp8qeqoDCpcSrmAZdqFtFKJslhA6T67KqRYnftqZbJDiu0mzDbhyXEkTdJD8IH/W1KlVKZA42QxPipUvbn16fvA/TK9bV1yj4gEDZXGn3ajfIjJ6CVFIYLqVJFph5aPp1P4I= 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=u9byflc1; arc=none smtp.client-ip=209.85.221.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="u9byflc1" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-39c266c1389so1335576f8f.1 for ; Fri, 02 May 2025 01:59:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1746176393; x=1746781193; 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=+ctFdlWFJvdPBkAi1+fMGSkHP97NEJ9/Q0ezwvzkbus=; b=u9byflc11xgdqRwpcfjJ6WBP0Wbr1kDAw2d/FF1MlnZHQKO0s03B+02hjIU4HJRd0S +GTPZIfvcMu35DPMf89Cd2r7DXqZuBMa+AWRPKmnBKAXaR9j/uCLjhiBH6NvjueujpnG Yrl/HmvhAc0DIseGZqcYsVO7sYoLVa5j2ZvZwommfjuydUREyo8/8fw8zEM8nFpPlN1P TDRosZueAMXfRZUCLCMmT0f/1vv7rtBCyAnr+9t0daq+TW/sKSAvofll/98jo7MaoSAc bxWBgttzN89/LKZOrOt9JlaAPd0d6RGu03ErPVpNvPxSzqFtOz9sJrDakF8FZwBBfOWy SOTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746176393; x=1746781193; 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=+ctFdlWFJvdPBkAi1+fMGSkHP97NEJ9/Q0ezwvzkbus=; b=wHbtMRh/hFkaAhKXXEU5qM+wHIn+P5Zv0ysslRYje0xR2L7F/nMAXoyzO1uBj+FrLD i5uO3kpsWfg5BscbRCdEizDNGsYAkytQjRYLHutUcvZMOVHPtoaCZsPBcWnGoBQYsy0Y 6NjyyAFvRGtfVaumSxpbexiESEmrADZIgtobL9T8TgkNun7GG0GkB/T6w+kjEIAzagQq flpSbQgjQ5hoXuVL/u09joOGcZPJ8IyYGbWmZgm1QUFm5ftzdwMSmooAFVBWfvVRKK80 0+PLnUdOlQ8j6OMCHKqxL2nNjRG7xAJWya94AGBpxuSMvSVMDPXgtZSOFCsNMNMuN3dH Qdcg== X-Forwarded-Encrypted: i=1; AJvYcCVgvetS0mTB4Jt2rIAFMDbmFM3IHBfWeNWMU4/hYlg9+TQVn+6bpP32r8EOXYU29KTzRUt+qorXi79e@vger.kernel.org X-Gm-Message-State: AOJu0Yxrq1RYK7bMWK7I4eQtO7fdNeqbyq/RK5Qc+LYu1NXPhWC6Te6z yvhlka8fkhV3cD6biyFHosiKIyre1qoVMXPtwqdCawWmG3HP99httz2oIKeOzIhq3JHPxyxZ97M smu4= X-Gm-Gg: ASbGncts6RGt26h0CV5iKsNFZUkDEr8jioNsxpgeHNllUlDdX122PISzvhoJ5iuD0eo HAHuw7exDOdAmVtDKzNlG9FvjQ+4muwXKD/EWYujAA0krngBLSYJ109HJmLbyjB2iYJ+0EFS90J oXKpNaTRbTzk0Ni9OPpG0YiRh5Xb+Xa5k57zM0hy/Y+BepkfYPENLx7G79GQUf5GCXU4+sw6uIg kLE6K6yqTv2ybEhwUhoR2EuhJnkp1Qd5W7nWgK/g+111SNS852mlLEfZJ9G7kB70ijQN5GLorKi ZgXhr77pYCckjjyaDuIpM+gg6B+EDZPOcjs= X-Google-Smtp-Source: AGHT+IEEQYczV66unx0kPiJW+nrPEeBzFXGbGRagIzFOWe+h/OKFXs1Aax+0KalaeWUyKNcJAnCWjA== X-Received: by 2002:a05:6000:1a8c:b0:3a0:8492:e493 with SMTP id ffacd0b85a97d-3a099ad2772mr1416698f8f.6.1746176392472; Fri, 02 May 2025 01:59:52 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:f280:a08c:3f15:ae3e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a099b17017sm1552055f8f.92.2025.05.02.01.59.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 May 2025 01:59:51 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 02 May 2025 10:59:47 +0200 Subject: [PATCH v2 1/5] powerpc: sysdev/gpio: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250502-gpiochip-set-rv-powerpc-v2-1-488e43e325bf@linaro.org> References: <20250502-gpiochip-set-rv-powerpc-v2-0-488e43e325bf@linaro.org> In-Reply-To: <20250502-gpiochip-set-rv-powerpc-v2-0-488e43e325bf@linaro.org> To: Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Linus Walleij , Bartosz Golaszewski , Anatolij Gustschin Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1700; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=unub8yX667IH17idZRyuiKjEw23zeZPtyjlcM+1WGx8=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoFImEg2NIMAwbx3dl41TeaZx3sbL3vCBOIk0Gn +tM9lO2DySJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaBSJhAAKCRARpy6gFHHX clAnEADEb6k81gHxYU30oVcF3o5XKWH5s1upUtZc76+5BwdbhRCyIYBnQ/QP3vpRCFKdaOvmHG5 lVmTUY4I2EI68GzfZWu1nUzlGDpmHxrvFZUvrFJGy6L9vtcJARterMUF0V9Eye77Tp47QNN9Oyt AFchM5NCrOcqS2FGeBjEj+H5NBVMniaSOl1ANPLPGoUZgi0knV0q8VWAA9XIQagdBiVhePe4O9U pv0CSeY9toXhZBTawevU+L9OrVxsuraffDTIm5T8I/sdU808agYCxUb81VhEX4Xeg2VU2vbD19C wSb6b7QWwBxBbDm/9JDfM38Jdb3u5PqltOJuXIbFirTdrwuJbex9CoTrvSlLuyhVXLMDx7IriGL gmdX73bMQ1DyKDx4BPe6suEFXTUiVDG9xnv592SZHsYwZqi0TnXO2XpOHk56NMwcuIHi9DVhuQ5 wRqNyGjx5EzAwS+A9tdt8KtTokNSfTjOqYWJBZMnmbdX4wUIZd9uAuRzeCJQ3n5x5ukITNUHY83 +31cKS/MQfRt9UPk7n68YwazZrVqecoEevbiScE3zb4sbnKCZlGC+XEPG4rjMGBfbApTO8Z7Eoh kr54j18umaXDf6u0GTtw8EXpg1uFAgA1x5stvQMydbMTOdSOOXExCNO/HlvlkNjzyEGCnt/UgpA rr6ajzkeTTumccg== 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. Reviewed-by: Linus Walleij Reviewed-by: Christophe Leroy Signed-off-by: Bartosz Golaszewski --- arch/powerpc/sysdev/cpm_common.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/sysdev/cpm_common.c b/arch/powerpc/sysdev/cpm_common.c index 47db732981a8b..e22fc638dbc7c 100644 --- a/arch/powerpc/sysdev/cpm_common.c +++ b/arch/powerpc/sysdev/cpm_common.c @@ -138,7 +138,7 @@ static void __cpm2_gpio32_set(struct of_mm_gpio_chip *mm_gc, u32 pin_mask, out_be32(&iop->dat, cpm2_gc->cpdata); } -static void cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) +static int cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) { struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); struct cpm2_gpio32_chip *cpm2_gc = gpiochip_get_data(gc); @@ -150,6 +150,8 @@ static void cpm2_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) __cpm2_gpio32_set(mm_gc, pin_mask, value); spin_unlock_irqrestore(&cpm2_gc->lock, flags); + + return 0; } static int cpm2_gpio32_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) @@ -208,7 +210,7 @@ int cpm2_gpiochip_add32(struct device *dev) gc->direction_input = cpm2_gpio32_dir_in; gc->direction_output = cpm2_gpio32_dir_out; gc->get = cpm2_gpio32_get; - gc->set = cpm2_gpio32_set; + gc->set_rv = cpm2_gpio32_set; gc->parent = dev; gc->owner = THIS_MODULE; From patchwork Fri May 2 08:59:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 886739 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5D9F524467A for ; Fri, 2 May 2025 08:59:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746176397; cv=none; b=oZsL5d77GWnuwlOdLuCX8AB9VjiMDghxNX5cwC1sbKnxwcJsyZl0R9RgRV934XSTWOKP9WGiMHb7ESpP7sVFJUu53ar80H/PHfmMFkoqlIxd4DNDX7ygYMnFspOPmLuO6hFZhCUDyp22aUfPvH856UifED7GZ1pFq3RxV7IPz68= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746176397; c=relaxed/simple; bh=0rvyNRmAVs22sEiy/QOTFVu+897s6keqDCf6txYk6JI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YC0JDl9FSdxKm9/3+H/U0u1L7M3ynTlwFeQ5i8bcGQ2VZy1FjM8mjmFAda9l31tXsnVaTHR+OyTlcZJnPWwLHdmir9nZOl2GJYw0ErNKdPfeBh8XBbaF1RKrQsfXf4MjScH33BwoaO7AuU7I7vXj8kpCO9w2mtaaTgO1c8sV6Ls= 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=PCFKe6fc; arc=none smtp.client-ip=209.85.221.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="PCFKe6fc" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-3912fdddf8fso1703344f8f.1 for ; Fri, 02 May 2025 01:59:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1746176393; x=1746781193; 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=EN+18LA857SctMCPq7PChnoB5bYuEFe9lArdedXnm4g=; b=PCFKe6fcmGYcvL0JzflxqYFd9SH4b7F06hG39DcUAmwgJWlnBozTdipnUPjmNMmvFw 4NJde2XmNVx0j8IGYaecNFWgGAL1WQJv0a6JOp6d4WDNfo2K5cc5UonwF35TkZh+ix/f Y0vE048ZWfjEpoE2NNYiqarUaM1YiEt2HoM3rWSG3r8IDsyfXI2aIQpgc431VthYKqBL aDm9JOqRNJouywOx6hkMTkwoNarjioTdBKnNolybDLLDNvFaHnFzH25Y7EJu62vwedYP 5z6UroZtehJreQkXHcpHfMTQnelNH41NomHh9q4lHOmGnPxkMXF9zkIrWwyPBb0iOiMR ImJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746176393; x=1746781193; 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=EN+18LA857SctMCPq7PChnoB5bYuEFe9lArdedXnm4g=; b=LF9KiVAOvQzL6cbe5uELsoI/a4KmWAaxoJp+86jlK+L5y01bBVu/z5Lz0G9sC8MQOp 3ZruWav5U9+v/4V4xaZuo1zA4tPAecJw0LX+y4UBgiFNbWofFtxwRJ4tb5/W3Nvx/F+S pdpuAIGEaBSnRSGcESl0sUkgse7ELZvXGtPIEtTbfpCqrFs6m+Q4esinBQQAka7UPaDw AF3WNOhw/jAm+ZbkiEpxQu50J2tGbvJ4jcS1P57kcglloG9nO6pP5BNX6j/40TtM6gGm HgHnL7WXc3mResr4qCKBJPI9+mfV9tqykenzWnawbjk15jEA+RBzc1XBk/spU/wUAWT4 dNuA== X-Forwarded-Encrypted: i=1; AJvYcCUwmwLjLCCQ1ByhAG3R1bdlgflXcebsdeifynkwDvSz8zc4A+srZyolb7JzGP9LmU1+uruIgeB2W6zg@vger.kernel.org X-Gm-Message-State: AOJu0Yx4ZCJPR7xvj7Zk/d+E0ZmLmG24vu+BO11Q/i1tudigfzytaWVh V87atGefX32S0PzfD/bZv9YFEmfGDjdC1PeIy7uN47toxVr5LxlE4sVgdZ6pmKtPUY1g2Nmnh1k EK+w= X-Gm-Gg: ASbGncu7v47Icbed08pJcNLxBZA6YB856fVYHf6u2iLeWrooKUfZhG8Ty0Ya6Trg5Mw 11njJM79KpVB4SNwTjMSyfhO3EsqWkIUmkmZcrg1vTy9vxLwkMEsXH11SB8eml8c5jx4e9vZiIm T/63sWb9zDCn4uNiaO6KrxlDbelfG35PjsqvAKLI5qWVH/jjtpnlDJJ5HcCDcNGHvEipAMRIBOt Fhd7oZ0R4viRZCThV4eNqNIVCwEOi+Buyexg0141QXZfADePuTzW5LdtszSflz4PjlI/i7/dAmp iFnbX95uV0u6Xl7g9/j7QUD6cgSrEBTCKEU= X-Google-Smtp-Source: AGHT+IHdDxSM/FWZRtGoOZpkx03AgkDUaEUG/u3se1MxfUPpvgHvDAXIO8mVc8mZr+ucaQ37xObY0A== X-Received: by 2002:a05:6000:4210:b0:3a0:8020:8aed with SMTP id ffacd0b85a97d-3a09846404dmr1749548f8f.21.1746176393327; Fri, 02 May 2025 01:59:53 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:f280:a08c:3f15:ae3e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a099b17017sm1552055f8f.92.2025.05.02.01.59.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 May 2025 01:59:52 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 02 May 2025 10:59:48 +0200 Subject: [PATCH v2 2/5] powerpc: 83xx/gpio: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250502-gpiochip-set-rv-powerpc-v2-2-488e43e325bf@linaro.org> References: <20250502-gpiochip-set-rv-powerpc-v2-0-488e43e325bf@linaro.org> In-Reply-To: <20250502-gpiochip-set-rv-powerpc-v2-0-488e43e325bf@linaro.org> To: Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Linus Walleij , Bartosz Golaszewski , Anatolij Gustschin Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1879; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=N5uZ2gnFZdQj3L5KTNtg0bPlLnvDhqttnz7x8ZTZmpM=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoFImF1uingLTiEjC1c1U5yBJ6QKL/UetAJDwss 2MfnCf+vDuJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaBSJhQAKCRARpy6gFHHX chpaD/9ia9Dv5hQRbtr0XBXvr4ParzZnQUg3MfXxDNrXszqdEGfJSGKw7ZvkKLFOajdDIdiP21F +/oHoYCMeHqai/Kp0EB22ZbR64mqrJb5+FHSI2uD4cpAVDggq0ypV9agRCKnY+kLuo7k1RWF32+ TGXMRWRnzBsHLR/kYMPJEIFr2i6eCZbmIPSM9MpYmNJEZDAhljJRCPR2nC1MAmEqwLKBVOTOb/s R5l1OjrR9qkcE4K24qYfSI5/FD8ZMwvYF6EMz5jq9QdoNhwDTuiRmviA5wInU28fRNGpMJDHRGY Yf+k152e4dGm2edm9Q24ifx376enSdleBwyLbMXNo30+zTBDE58cuVqq95N0VruBoCfRXCs1wgI tR0VRALJdNnJaPtcNLT/Mo+8TJDEUIjg2Ok0MDlPe24Y2qA6AEpfAjTgs8YWY0VHsbDKxSfPQeb cjcP8Za1icbhGvpGdEHCZf9s2TWCU8eiwblsP/ggElw9wyxKIV4wwgLgphcmcXniWawlIlz4ehE Idwbmu8vIXSEuRuX0B2qXxPcejaNsg7jGA2i285fXa3api1N8J7QZS/pSVT3/AybJBRYqNLKCzO +BwMIxr4BUlUej+Kgchh8Qfu5MurvtggZLBy1KKI1EhoiMgoezZzWOfS1rvZDVDkJ7GUZZraHi/ wlE0XEJAUuwQByA== 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. Reviewed-by: Linus Walleij Signed-off-by: Bartosz Golaszewski --- arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c b/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c index 4d8fa9ed1a678..6e37dfc6c5c9e 100644 --- a/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c +++ b/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c @@ -92,10 +92,11 @@ static void mcu_power_off(void) mutex_unlock(&mcu->lock); } -static void mcu_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) +static int mcu_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) { struct mcu *mcu = gpiochip_get_data(gc); u8 bit = 1 << (4 + gpio); + int ret; mutex_lock(&mcu->lock); if (val) @@ -103,14 +104,16 @@ static void mcu_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) else mcu->reg_ctrl |= bit; - i2c_smbus_write_byte_data(mcu->client, MCU_REG_CTRL, mcu->reg_ctrl); + ret = i2c_smbus_write_byte_data(mcu->client, MCU_REG_CTRL, + mcu->reg_ctrl); mutex_unlock(&mcu->lock); + + return ret; } static int mcu_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) { - mcu_gpio_set(gc, gpio, val); - return 0; + return mcu_gpio_set(gc, gpio, val); } static int mcu_gpiochip_add(struct mcu *mcu) @@ -123,7 +126,7 @@ static int mcu_gpiochip_add(struct mcu *mcu) gc->can_sleep = 1; gc->ngpio = MCU_NUM_GPIO; gc->base = -1; - gc->set = mcu_gpio_set; + gc->set_rv = mcu_gpio_set; gc->direction_output = mcu_gpio_dir_out; gc->parent = dev; From patchwork Fri May 2 08:59:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 887951 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 829A122DF95 for ; Fri, 2 May 2025 08:59:56 +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=1746176398; cv=none; b=H/MUH/MpIMins8d/Vp9z8xX27PzGfnL5tSEPtXeAMTH9+F/AgfyZafszNVNST1NIxbw4po8IIgW4FyNWEopvMKJ3TjzTE2VmTPS6fGPQRkErJeytGHVpGxfULSXSq6fYl/aJlTX1D81zA/G0D0fURIyrxjFVJhL4cZPYXpICuWw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746176398; c=relaxed/simple; bh=GewjN5JZ5QEnNVyIalTXmzdJfxf0mZMpZbF1p7s74so=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eEYhSKzD2YNWB3dB/67/SECTYuKx6tVpqwZSzhkxT9QXkIqOLKp7hKV+QeZWZaanAWd00/G2lnagTUlPFe2tlUE3GJoBeG0nW/3foY/wc8lCAGQ45VMOatSyyx4f3UXuOX9XYUA2y8sWV2FqdU4R0Biv2QM5LcuCvkKtAAacz3c= 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=REuEnF2V; 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="REuEnF2V" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-3913d129c1aso1053730f8f.0 for ; Fri, 02 May 2025 01:59:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1746176394; x=1746781194; 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=7VQVpAhnQOcCRYJ0IuR7EAkGj4zu20WsPxA2gwCBLx8=; b=REuEnF2VypvMkvCsuQvZLIVtpwEXX5V0zZeg/7JuTVidAnc88naKfiLWQ+Ie3zPwEt a23z7OBwn1bZLdwB5prwjpIE0xwJHsLSz+NriKN1niajVBNvK1Dnb4RB2cTuEfqyMYqd zXchpMNyTaipR0qwHaMFXQRrLvsiulEG8ytZ5gE5uRJFfuLmxqlUmjKid6o9QgPHDNwZ 91+1bjxFX40wqzw4XyRMHjy8R35osChnN0YJ2N1uPlOtf098gcc5SqOCR14bQ7X6Zses pOpu6gvbF0GM3Gvy305yloHcTsdYyqOHWlgdQoOV8NQjYe0WqWXPPc6lewoXS/R4dV83 GpMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746176394; x=1746781194; 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=7VQVpAhnQOcCRYJ0IuR7EAkGj4zu20WsPxA2gwCBLx8=; b=g9+g+LjIt+smB9DvhYIKO0s2yvZXDyDOVqR+7vZQH1MQtU0loBOjvievUeu82vu7h8 WosuZEY/Es11qzsFSnfcDB8n7BgKwe2Ow/iBviDIG3r8099pvRF8D5fnJ2oxQZRHtTzD Zm84jMaFN+ZrEJCRoAu8hDXSkOMpbWUA5yMItUR3l0RpFye1DiVunYmI0WJvYPEeBxeQ gKDUWK/DB1bcy1NGPjR8bSxW0MaGBdku41aYVqgdWxHS9dNy8kTjeLZzRDTZscECJ3Ye bDmt2aQRNS44bA4je3qzA7o7bBH2K8lvivuNAJgYUbSsQe0lyUjfH4IxusMRlAGyX4qy C56g== X-Forwarded-Encrypted: i=1; AJvYcCXw0+/Am6jz6/nW9tj5VurXitn7oeWle1K0iiimTmtHW8LWqix7ZoJE+F2xVGmGH+9r9QzetmQAHA5f@vger.kernel.org X-Gm-Message-State: AOJu0YwPEu2tGo4Tmabxs85/WZzvnXNODNUDBYYi+jVyJvybrpsUOCib qpxWORPY0qvPL+5YZWebXfMA+sdlX3lSvb9ZDSkOxksFMlHIodFS8mETEoxsNnXSc9mvCfPA6SJ FmfM= X-Gm-Gg: ASbGncvAu2YPqXyTr38BCIosmARe1qQJ0anh/YdQR4ugzOmcHXLhhQWfSrS1+2z/ivu SWQq1grwopRbSmana+/3WMuDqDl1g/6YRtV2AHG1TqO4y/wudg9JqkI8ZUKuKM0+6SZJJ7Wg3ZD qmVYXekNsQ70Vj40f+BzoiPGOs1Pc+4l7NZ7fI3yF30ktkWPjiVsLv0WRlmkm1fjEjZ676OsYne 1YVTv5SUzmhkprlt+MRhBe+woAIgC3btsSmZlraJhRVc+rTArF/WL/XIi0olowr9dnVVvI/zO7p jIkC3xXetUQdcKHbjj6AGLVBI0/72MpvkvTnLbdDa4bErQ== X-Google-Smtp-Source: AGHT+IHQBxxYw4TPkCVhivNKZQXWIM25Cnsq2fJIJFroZbvmM5OL56pj85WS8b3cNucOQHIYyCOoQw== X-Received: by 2002:a05:6000:40c9:b0:391:b93:c971 with SMTP id ffacd0b85a97d-3a094058683mr4162100f8f.20.1746176394370; Fri, 02 May 2025 01:59:54 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:f280:a08c:3f15:ae3e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a099b17017sm1552055f8f.92.2025.05.02.01.59.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 May 2025 01:59:53 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 02 May 2025 10:59:49 +0200 Subject: [PATCH v2 3/5] powerpc: 44x/gpio: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250502-gpiochip-set-rv-powerpc-v2-3-488e43e325bf@linaro.org> References: <20250502-gpiochip-set-rv-powerpc-v2-0-488e43e325bf@linaro.org> In-Reply-To: <20250502-gpiochip-set-rv-powerpc-v2-0-488e43e325bf@linaro.org> To: Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Linus Walleij , Bartosz Golaszewski , Anatolij Gustschin Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1671; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=E7Ff3/1EcYz2Nw6QSP2p8LNuROZlM9cH/LUaLu34ItI=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoFImFaUc3gwNuye/ggncACVXaJIT/sGhSnQxG1 k8BocsYj+eJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaBSJhQAKCRARpy6gFHHX cuKeEAClIackuAKdOU+yl0nzsAvzc25o+JND+09tQcnbWh3AsifpuV7rlyzUrzurd+n71xUXbBh awXQhZPFM03p2pHjU8sSoe03IWWl/P/iUQFGfK3UFx/dFs6zbSSmvCrUQR43C2zLhN8WmBOwGpD vOa4MEAW+pXxdy/M2U8w2OQDBYIknSvZr8q+QNpm3v2aTlKJkXmxQ4s1m8HnsYd/KxgQ5lZ/ooB RgdkMP1NOrVNSASt0s+QJVYySccm/6xFXSgfhZPF4QN87mFgRnVxEW6ZMOzJ4SENiWPrKxLGmpz tQpB+JIWIs5aOa4fuWDe98rfWqUpHnxJ0jWKMmb1rdmjR8R4QYQq3ygwJXhP6HSxJs0om1niN4/ SrrDwUSyhNNIp4EicjN3o15Sj8wJ6pIbQ5oDNgSiiiQNq8kTSa6apDB9p/SbZPO1IYe7AgjPtUR Finp1+Ml4Xqh45uqDF/rpvHaIdjVuAorJXbcNbLRYJ6MW8cPj6se5CVDixKrvgYH+3oC8MDkxAQ wHyyy/EMl2ZtLXCot4mdnb8Da5Nn/0zXT8j0syLnFlsgoEASpOqTT1V2/RYp15J+Oc412XmMnrP 4qvzerCJIicUdBfX65VXU1iM2RR5zud6VbTmAbqQvm7x4RZyH497DL72cGrNKnipgTI3q1iTaxs RutDOCWUZ+MhTSQ== 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. Reviewed-by: Linus Walleij Reviewed-by: Christophe Leroy Signed-off-by: Bartosz Golaszewski --- arch/powerpc/platforms/44x/gpio.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/platforms/44x/gpio.c b/arch/powerpc/platforms/44x/gpio.c index e5f2319e5cbe2..d540e261d85aa 100644 --- a/arch/powerpc/platforms/44x/gpio.c +++ b/arch/powerpc/platforms/44x/gpio.c @@ -75,8 +75,7 @@ __ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) clrbits32(®s->or, GPIO_MASK(gpio)); } -static void -ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) +static int ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) { struct ppc4xx_gpio_chip *chip = gpiochip_get_data(gc); unsigned long flags; @@ -88,6 +87,8 @@ ppc4xx_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val) spin_unlock_irqrestore(&chip->lock, flags); pr_debug("%s: gpio: %d val: %d\n", __func__, gpio, val); + + return 0; } static int ppc4xx_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) @@ -179,7 +180,7 @@ static int __init ppc4xx_add_gpiochips(void) gc->direction_input = ppc4xx_gpio_dir_in; gc->direction_output = ppc4xx_gpio_dir_out; gc->get = ppc4xx_gpio_get; - gc->set = ppc4xx_gpio_set; + gc->set_rv = ppc4xx_gpio_set; ret = of_mm_gpiochip_add_data(np, mm_gc, ppc4xx_gc); if (ret) From patchwork Fri May 2 08:59:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 886738 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 4DAE2246761 for ; Fri, 2 May 2025 08:59:57 +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=1746176398; cv=none; b=XY/BKEWU0h64xjv7Zbw3RpWVvfwQHoMeGuFtlV2QhtWf0UfcRe4cCKD/ylnGA8cdya4LOZXbJFC1Vo7NfsmslVlODdVHtnFX4gd6cuu8IfnabRqFEMQOTfd2vfcr8AjotFoF0RctfQqZJOtdkvHViwl3tqze6shCo6BxP+t+TJQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746176398; c=relaxed/simple; bh=WHc7wn2J/YaeLrZRN4cvkbwcAb9iM7CUvj9xdwuFIIk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aER5MqqYKj3Xvo9HvMixpZi+yNl8Yg5Y0CGhYuy7pfxE9trIUELj4j/qARC6p5TpsMuVH1dvOnTZcEgB68Xi5ITM5SY3nILfQ1S425QREaYKmbOk+pahb4yW1qQwAahMPP0nXqLFDDIi9GyiaXIR7W6jvkQmZNzyhvbKaSrKBXA= 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=m9y6ksaw; 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="m9y6ksaw" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-3912d2c89ecso1249431f8f.2 for ; Fri, 02 May 2025 01:59:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1746176395; x=1746781195; 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=c6w8Ny2qh7Oi2mCqCFAeltSr0IHxTHSshWp0NZpEQtQ=; b=m9y6ksawFU1pi+PTc0vaDHGgZjsOJg1MeLpPC5LvqKoTi+oR+TXU+usP33xNoxWu5q 0Mm8ORZ8mfrx17BAq6CyHzDUCAur7z9L2mEWXAXGpyJHUHhfvdwHeI0F4xgzox4YmlGV iLJRU9MTVOruVmxRSXdOf0Ghd8/+Q24fmkqQ5jbv3Ux3vYARkaEkYPWtT2RLBqIV+8oZ ITaTkzlRZmbNW47uzIciMjGfgpaSozPEdxjwF65khDyY3kZeMm/VpJ8WDeBrdCeylxb8 gGXrh8mLSlVqCfWTo3ZPYDuEpHqD3ixHEZqqnrf7+k72FRBpW9STes15BB6XYh0s5lDo ZtFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746176395; x=1746781195; 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=c6w8Ny2qh7Oi2mCqCFAeltSr0IHxTHSshWp0NZpEQtQ=; b=dUCspc0Cn5bcMsBFsgqpiC2M0VvqD6slDQrR2GnvNgpltVcqHk/kwHX99XZNo9A1vu 7QVncOQynmhOZfRux/nc91qOujB+5Du3FchM/uZpG6T7Te89gmIqOsJGXOP8kqOLnaV3 2WSFU8TG39B0IAHGYNRSd+UGKc6Y8LMx2tnDCtvxMNGJ1/d3hcq/dH1HzDIb/+mELwOv WnnYiEnRQrX/f5qGv6lyAcKp1zXlEQmG4uElcRwc0XRbOzHcdjdMwqCKbEjHVqF26nGz 30aT1Lme9vJOpx9QY9U2YQDUapd7hlUlIDsqmbMDXifNHFUdoKPx+m951BX4LQQ1dhsV xBhA== X-Forwarded-Encrypted: i=1; AJvYcCWh4mZoVYc4mCmNpSYplO4z5Om95Ce8KKbLZTfwkVlVlCqbk8pZQwWNVf3qwoVA/lBJt3fHW6lLdtyt@vger.kernel.org X-Gm-Message-State: AOJu0Yx4mIbgkw477uWTHTnuL/i/i8BtGxCNqXuQLj/uZJP9pOVuNyhH O4qj0h8IyYwGgsLUk+kkWEVhUk9dFEBU04L4AglFCyF115XCyQZGDqDSFGflTue5EYfIpaHEsFV BdE0= X-Gm-Gg: ASbGnctVIK/mXUGKUUVfLuzVzEhFXDeswv5343tzMj706M+gyzKPb5uwd+k6ISd6lTr tJUb+UWCYVHFI6vUNDc/J/oQrxAvW6oyzwKSVisQ51czdNCx/cnRRxI+bjQpiIOJiU/Y9ENHTMR 5phSJz6hOFiO/vWZqb4WRcTSwFINo21L4FdwJZzJp0FvQ+1stepvO9EbWk4vFz3U6fsj44ntBVS kumm9w2kWhANdZizXeN4YY+kitC+Uxudb5qCUKnqsbqRp3N34fZg7ZP7j2FR+qC8lsY8yBxJ1Rj Kyrbq51+7u/vvPcDFn58FvvpJjlJjBDgeVk= X-Google-Smtp-Source: AGHT+IGnuPzW0KsZuoafr0ut25yVUAE58QEXlIHKEBz/4ug3rf9GaFjAL3GjFqvtw7oASpIUZZCL/w== X-Received: by 2002:a05:6000:2ad:b0:3a0:7af3:be8f with SMTP id ffacd0b85a97d-3a099ad31cemr1489449f8f.5.1746176395349; Fri, 02 May 2025 01:59:55 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:f280:a08c:3f15:ae3e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a099b17017sm1552055f8f.92.2025.05.02.01.59.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 May 2025 01:59:54 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 02 May 2025 10:59:50 +0200 Subject: [PATCH v2 4/5] powerpc: 52xx/gpio: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250502-gpiochip-set-rv-powerpc-v2-4-488e43e325bf@linaro.org> References: <20250502-gpiochip-set-rv-powerpc-v2-0-488e43e325bf@linaro.org> In-Reply-To: <20250502-gpiochip-set-rv-powerpc-v2-0-488e43e325bf@linaro.org> To: Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Linus Walleij , Bartosz Golaszewski , Anatolij Gustschin Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1743; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=NUv/Cv/Ma42p5cVqxLaXY/iK8aY4ZJdMZfYarvprRRM=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoFImFEUTAydQAnqUBWcSczhRxoDxw1FtPObvJO Cps9EWCTzaJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaBSJhQAKCRARpy6gFHHX ctNvEADegI0ahN7DjfRK70i+3mbHNjJm9hEqWx3KvwVKsoM5dD/Lkpn2urM861oMuobssDB/gcE DbA2cu+7NDPR0b+KaYiEU8JJ5BvmUpmTg09PVE/paQdwKat4HoV6icBYsyMHJI9ZZg9Vbo2EQav FoMnIzOGzWzbrqdUg6jyaaiQFMqhkbafZz1QVXvN2ZKuYbkwTLxLyq48nKWRTJUlsOTpmLY9kAv DCCAzdjB8yk8zEXXdAaEKLsoXZwjR6cwdBa54HDS6vPGP8iioKYpI0sOxcsxIAyX3woKy10zuGf tJuGP1S7Nw3/HmrBmtsVe1yTgdnQYY9te4AtsrBPo7A+Qe8FbkiUJcbbwG1qQc1sB0nO5kn5Cj2 9o/m/6lcqCxlfcVcTenPlKMlyIMMVbJ9j9qV/gDFhDxnKHZwY4rtTo/8C3TcgqxobElqQuEK65O BIcVEJUqyvLGwd3JPg21ifkC8tQ++TuyrXzYGTnjdwm5bMWWkyKpOiC0W762gmVviUqRHG1x9aA zYw9pfUPGHaAQLTeDArAu40iBit+zJBYbkA3kfchXECSfhyTBGacRZZrgbfq/M55mbahzq1kFtA 8gWJE/qAD8A2LLIlIugop7WeyKiehQIs2Ox+gKZA0/PxIaVU0RhyHAvi5AJDBvWuN7YMXvDSGik ecRAgo8SfaYFF9A== 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. Reviewed-by: Linus Walleij Reviewed-by: Christophe Leroy Signed-off-by: Bartosz Golaszewski --- arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c index 1ea591ec60833..c96af6b0eab42 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c @@ -280,7 +280,7 @@ static int mpc52xx_gpt_gpio_get(struct gpio_chip *gc, unsigned int gpio) return (in_be32(&gpt->regs->status) >> 8) & 1; } -static void +static int mpc52xx_gpt_gpio_set(struct gpio_chip *gc, unsigned int gpio, int v) { struct mpc52xx_gpt_priv *gpt = gpiochip_get_data(gc); @@ -293,6 +293,8 @@ mpc52xx_gpt_gpio_set(struct gpio_chip *gc, unsigned int gpio, int v) raw_spin_lock_irqsave(&gpt->lock, flags); clrsetbits_be32(&gpt->regs->mode, MPC52xx_GPT_MODE_GPIO_MASK, r); raw_spin_unlock_irqrestore(&gpt->lock, flags); + + return 0; } static int mpc52xx_gpt_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) @@ -334,7 +336,7 @@ static void mpc52xx_gpt_gpio_setup(struct mpc52xx_gpt_priv *gpt) gpt->gc.direction_input = mpc52xx_gpt_gpio_dir_in; gpt->gc.direction_output = mpc52xx_gpt_gpio_dir_out; gpt->gc.get = mpc52xx_gpt_gpio_get; - gpt->gc.set = mpc52xx_gpt_gpio_set; + gpt->gc.set_rv = mpc52xx_gpt_gpio_set; gpt->gc.base = -1; gpt->gc.parent = gpt->dev; From patchwork Fri May 2 08:59:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 887950 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6E6AE24678B for ; Fri, 2 May 2025 08:59:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746176400; cv=none; b=s7xrUT1cS/UzEHk1AgqLi5gpghxXkl8/dQj7ELZJF9x1gIJmSHVGITwUSHVMVKe9Uqzv3B2RG4cSbyPSPEg+GkWv+JHR/eoyK0dauIhenOayD3VsNzDnp43OEsN6bytwjXwI7PqJo8LpYNqBnFCi7uewm3MVTaSCfkOUw9XLpkU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746176400; c=relaxed/simple; bh=Egk/9E5ZxXweQ5hfkjs+LpwhSx/DNw0XG5a3yhVLRU8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uNabyo+MamPQBc91+f6G7e/Y/y8Dg7o/hyAHaGWg7KPM003mvwsoHtRXjJof+oNP7zTX/lnshAs6T0Lz8EFO1PNpw+PzrwRsb27S4G/Zjuui6qdSZFyebdJX9U3lI0g2AnH//6HY3Mly8eovhrjGN5c2giil9WWq5FZqFbEM0Vw= 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=z9ZuIjRZ; arc=none smtp.client-ip=209.85.221.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="z9ZuIjRZ" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-39ac56756f6so1783535f8f.2 for ; Fri, 02 May 2025 01:59:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1746176396; x=1746781196; 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=uSI3W4dK/WwCbr7Lai4Hip7w1X1W5KMNJkBGonHTT7k=; b=z9ZuIjRZdtrqqXOjwFsvcZ2AcJnFgJN0jd3txiQeJkYa2fl8LlCs72DMSpODFLHQ2Y EQJThduEP6OVhifwmV0/ytl1MHQqYw7G160EYlWELGicuP8qISW2Ngwd5uRvhfKkdI6X eqUaJ7S+Lw3iuuev8YnVAQCTLUfnLR06AdhBuaOud6FIR8tPtD+g9Wp6sBCRqo5y2XGL VpWhX/2CO3pYhmP2abudGZrX+Q7NvfnnD2h+x2+QJT2KgtOXxJiqfhQ6BOxwxu83x8EU sLiklXxnPeXbmdDsYRS5kkqbtYl3LhLI1WhRmqAdCV94ogT5nhopCEj2oBwEfA3BNSRN Hm2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746176396; x=1746781196; 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=uSI3W4dK/WwCbr7Lai4Hip7w1X1W5KMNJkBGonHTT7k=; b=ge+5LySVEAvyQZdXxfk3KHFpXrZC/dbCkECb6pQxMSJHxCHFNsAIcRAsYxggNnWePF r943S6unArADD7/WguzGC+WpzzEfWN7WoTeIQIHN0dV5bQGyVYwK8FpM34gq9InA6uuj Ij0pBGjW/93dD47m7dzRQIEgTFs4lV8sONekhu2WkqUJbCn5QYjlF6xifdkkA+ootvEl PaLUUUpeO2Wrj0QmF8+0R3mGjc/4Jdxhpmk6ZhFzYi0kpL7VFbrYK7+dAgXv9tkDW5Er kNvjw+4R62lEZQ3/N7X7JlnT8jQmFhWRr+76fYPetVaMJXlKxwhMr1QPmJ4pUJLJY6mw XRgw== X-Forwarded-Encrypted: i=1; AJvYcCX+RoG4TSMRjgBWDMCoYVIs4E0fL5gg6E3DX6geFmhkQBXK6SFKlCF2QHwiJZVws8h34Apv/l/1ughS@vger.kernel.org X-Gm-Message-State: AOJu0YxIwNbNXRKxNPLEQXLnLZZ6mB0FEcbuu7ZORLHlAuIwbINGxTXr xyvbEyVJcOq5hkIypvVbLwCtFpnYUbdZINnGj8pmYCPXuzns4uyJPLcE5R9H4UM7WKKevDrVH0Z AR1Y= X-Gm-Gg: ASbGncsYV8R/ff/gjG+Jolmb01gNzRQq2m43Q/NeQndk8ElyAeW41gsHgiAs8mTRlzQ BtB8t6LZNN5zCo2Xt6o2Pj43my5y+tUPiTGNCAdvTD7yuthg/Uo58pfe6CpR0LEB/ND8rDDOlPo /LMa19t0WBkjg5vNraBrsh+FbizGF2EtWa840xPjslD+bUW8uuuUGIUZfQcr/uuH12kBgBZxBeY Qd5za03Gz4YwqFQfjZHZbxm6xNfe8pXSa1BGPG0FVVlruVTJpwTK1Ic4g6pXXW+ER6RB+6QVPCk SFnGNqf6/eByztSL1slKVrLnt1Yq2RY9Abc= X-Google-Smtp-Source: AGHT+IGiehs+dD7NKpB0E1UYkHMJciB0IWOavCbaCxYmeUmt6Jp8ux4E08zw+1Zf98nIRF7Zf+GcJw== X-Received: by 2002:a05:6000:40db:b0:39c:16a0:fef4 with SMTP id ffacd0b85a97d-3a099ad938amr1319909f8f.24.1746176396315; Fri, 02 May 2025 01:59:56 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:f280:a08c:3f15:ae3e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a099b17017sm1552055f8f.92.2025.05.02.01.59.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 May 2025 01:59:55 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 02 May 2025 10:59:51 +0200 Subject: [PATCH v2 5/5] powerpc: 8xx/gpio: use new line value setter callbacks Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250502-gpiochip-set-rv-powerpc-v2-5-488e43e325bf@linaro.org> References: <20250502-gpiochip-set-rv-powerpc-v2-0-488e43e325bf@linaro.org> In-Reply-To: <20250502-gpiochip-set-rv-powerpc-v2-0-488e43e325bf@linaro.org> To: Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Linus Walleij , Bartosz Golaszewski , Anatolij Gustschin Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2792; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=9v+4cP+N9Ekqaku8fyOt8CZXpH5ZitQiy924EVCXv2U=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoFImFV/zBpGNUkKObJQaO/c0oYX+Tv8vDmyzil Ug9qJCMkCaJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaBSJhQAKCRARpy6gFHHX cksyD/0X+tJgjUPnAxn6EKf2Z9j6fWFPc1+1uIKAzbRceI+1oKELBb+otB64CIoIihXVwVt+92J WeO19V0+Q29RtvslOqkQNdyaazX264hPpEVN8oz1ebZeYkL/64AqoDjaNARKDenLURsrj4U1/pU 0kWP1TXJbkSzEF7AqAb61kqeUAUwZYly/MdL5dmZ22GLohEG0hswU5X+AdQNTKkE8ttWrDLa6UB kXHTvmo2g5VKATg+9ctmhcZVjPTh6V50TbHJjz6gIfiMm8MZ7fgq1nwUnPn3AZ9DmgVWUBSTr+G +4w1oBrnlQmLS6+E39xkCSdXzDf4mIsZvk+/hPGjJLuDDRUsq8/J72Ccaf4QdcBEFpu/cRvKqs+ Yi7STBrE5AgPkb0Qi189KebD0770ZU3saX9T0465ZSptxEPKu6NQSEpNnQLkN0QtIXsdNwo+h0g dXwPYZFx8kfep4AaIUcQK7dyk1KxsYlXOX8LazI62jiefMNyZkSll17/le6ayiMq3T+XvP54Jjm CB18WGR6nLuckcRgDOrY5pEMBYi1OXrefhwoqGEP2fP0VRRNYKAwMeR08IBkQLSWiGoK+ac+KEY Zv9O1H0+iu013fq2RDlItUKlG11ZDRJEcxARbfWkfW86nInRiCQLl8ywo6Ao8toT9XekBZLcwKp IzoHr5MPIAiB0ig== 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. Reviewed-by: Linus Walleij Reviewed-by: Christophe Leroy Acked-by: Christophe Leroy # powerpc 8xx Signed-off-by: Bartosz Golaszewski --- arch/powerpc/platforms/8xx/cpm1.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/platforms/8xx/cpm1.c b/arch/powerpc/platforms/8xx/cpm1.c index 1dc095ad48fcf..7462c221115cb 100644 --- a/arch/powerpc/platforms/8xx/cpm1.c +++ b/arch/powerpc/platforms/8xx/cpm1.c @@ -417,7 +417,7 @@ static void __cpm1_gpio16_set(struct cpm1_gpio16_chip *cpm1_gc, u16 pin_mask, in out_be16(&iop->dat, cpm1_gc->cpdata); } -static void cpm1_gpio16_set(struct gpio_chip *gc, unsigned int gpio, int value) +static int cpm1_gpio16_set(struct gpio_chip *gc, unsigned int gpio, int value) { struct cpm1_gpio16_chip *cpm1_gc = gpiochip_get_data(gc); unsigned long flags; @@ -428,6 +428,8 @@ static void cpm1_gpio16_set(struct gpio_chip *gc, unsigned int gpio, int value) __cpm1_gpio16_set(cpm1_gc, pin_mask, value); spin_unlock_irqrestore(&cpm1_gc->lock, flags); + + return 0; } static int cpm1_gpio16_to_irq(struct gpio_chip *gc, unsigned int gpio) @@ -497,7 +499,7 @@ int cpm1_gpiochip_add16(struct device *dev) gc->direction_input = cpm1_gpio16_dir_in; gc->direction_output = cpm1_gpio16_dir_out; gc->get = cpm1_gpio16_get; - gc->set = cpm1_gpio16_set; + gc->set_rv = cpm1_gpio16_set; gc->to_irq = cpm1_gpio16_to_irq; gc->parent = dev; gc->owner = THIS_MODULE; @@ -554,7 +556,7 @@ static void __cpm1_gpio32_set(struct cpm1_gpio32_chip *cpm1_gc, u32 pin_mask, in out_be32(&iop->dat, cpm1_gc->cpdata); } -static void cpm1_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) +static int cpm1_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) { struct cpm1_gpio32_chip *cpm1_gc = gpiochip_get_data(gc); unsigned long flags; @@ -565,6 +567,8 @@ static void cpm1_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value) __cpm1_gpio32_set(cpm1_gc, pin_mask, value); spin_unlock_irqrestore(&cpm1_gc->lock, flags); + + return 0; } static int cpm1_gpio32_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) @@ -618,7 +622,7 @@ int cpm1_gpiochip_add32(struct device *dev) gc->direction_input = cpm1_gpio32_dir_in; gc->direction_output = cpm1_gpio32_dir_out; gc->get = cpm1_gpio32_get; - gc->set = cpm1_gpio32_set; + gc->set_rv = cpm1_gpio32_set; gc->parent = dev; gc->owner = THIS_MODULE;