From patchwork Wed Jun 11 20:18:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 896339 Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) (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 8D15D221F1C for ; Wed, 11 Jun 2025 20:18:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749673128; cv=none; b=ZRusqrzUhbHcvCA9rH8qsI5tptU8jE89lJQB8sOoY+BFcXg+5nFFzRg9l7hivcDAT5wcp2e62i0yao8kUHs+NqO55oYXeTd6qmnIb1J/kB7KBFDfdpVkdu+10BjEGvuRNDQzFY5jMb+4ONGsIZXTMLy+ivZKuWWukKQqtZ9c1vQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749673128; c=relaxed/simple; bh=SFpLyUrSkeov8lTDekLTl8UML1Z5oaveGJ3pRpViCz0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FEQP6vM68nSEXY0kcBbCxEI2ZqWhUbRJyfMgUnWiLCFKgbeNWos7XZjztIz6ybIYJQl95mvHVDuSTSVd8JK9sPJGphZfcwwOtofDW8i45Muhe72g2xVLDrK9QAnHiLKBoeUndjWG3sToEQ8qkVaeAItOPGT6X2zVWvtMsKx0Xls= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=oFwMEtql; arc=none smtp.client-ip=209.85.167.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="oFwMEtql" Received: by mail-oi1-f176.google.com with SMTP id 5614622812f47-40a6692b75cso86574b6e.1 for ; Wed, 11 Jun 2025 13:18:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1749673125; x=1750277925; 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=dI+YClki4Q+OM8j5JXLpkAENpDyF7Cb60VCru1h+I9Y=; b=oFwMEtqlRpNqTTZ5sjbllSJABMS1/oibEGQnhutCATmy/qbRK59YDixZykQ6qvdWjH IXBF7ChHnfx7G/lIB7F0aD2jpPglQjywhLz11rkX9ndcoN+ErZhhJLOLtVm7obpEpftd 9I3Ud3l7gCqq39LL9kNbpSMfcRU+bXE2FyOn7uz0d75SRbp7yXtAGKrHsODqojlTF9Ib 0OEiim4MPGZIaMmV2CGdOCWfH7O45W/S/DCoCHjXLR0Xr+c/YaVG/vUati3omiVjOkSZ 0oPesABgRQlS5PTO9d9alpA8DSZTTz7pAafNUSXjT9DneDgcmiqh+4wFrW61gUM8ZLHj 2yiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749673125; x=1750277925; 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=dI+YClki4Q+OM8j5JXLpkAENpDyF7Cb60VCru1h+I9Y=; b=neL/KiwO3k+lIneBuEY+JZLZ2jWRpBdLIPDRdfuZOLZMEYA9+t+SmyOMrumXi2/dV2 8EgNzXVSkBqOqf3htx/yT8SAlyCmLnd/bMbRyQERdro8XLcrG2bpF03N8cZ1Bpg0j7lg eqqUKAaTPEHxH/yx6WchZAcvI2l/qJjkNK/g3k1IygFFF1DFmazfoftY0zvkaPEI1zVq VBj6OoWBo0sqwQNR9X6JRjOYoPaOJl3m43/bqIFJDyewUXT2nDqJZpSct9MVTxUXwmgI yNdrLaCchC6Z9NwGA9sve6pTNQVDuPB/pZo+zLUsKxgju/DHYGigs3XP7hFGbq83uqtX VGjw== X-Forwarded-Encrypted: i=1; AJvYcCWS+7VKPtxXu8QBOulnOUMZf/G8Mr0gXItutfh0WDkYILE9LLxJ9vRNe0rfMiF6Ki8cBuJVlhTH+MfT@vger.kernel.org X-Gm-Message-State: AOJu0YyHUoXE1f0Gthpn/jxman5ItYgaGGTwtsnyncQcJs693/+iAcS0 pzVUOhw3R7Gnl7LMjMNoCN4HXoNzJKa/RQZE34475eR6rW01w53EsFRbU6VbKPgWMuJN79Sl9vC kyWFC X-Gm-Gg: ASbGncui+V+WHf9j68UhlYzwkEpIuA0NXWKqaVSB6je8Zvxiq+FURKPxhKfoAONhsi6 dmbSxvcftIsTslPO0m/cPXD1tpdocGahvW6fbaULhGtVDuh0xHHyNXJ2+B9C4GdfVpvLhU5KFYP W2ECQ2qxuKYBuskihQN23s7NfbI8D0irBc2PWn8HiPD5GGq/NqMdUSvYsgNa6Jm+X9lspesRatO HxI5e1/MNhJGuvbNPEI/jKOD2loeoD3Pi0SeQHJhQAus1HnHKqPgTJxeTVa267CiJs3vHTDqtJm Cz8py/UMXsG0tSiaL/NfxNka0JZ7Sh4XedXL6mwzsGeeCs+ih8oxET/NMfcQlJTKG44d X-Google-Smtp-Source: AGHT+IG+yB4PjXqGam/mFmbhtOtlvWHnGRv/5k7WflE47rsgegPrEoGN/DZYNDmhGQv2uSn8xCKNlA== X-Received: by 2002:a05:6808:2021:b0:403:2a0d:428b with SMTP id 5614622812f47-40a66af403emr374548b6e.39.1749673125624; Wed, 11 Jun 2025 13:18:45 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:4753:719f:673f:547c]) by smtp.gmail.com with ESMTPSA id 5614622812f47-40a5d80d967sm467732b6e.4.2025.06.11.13.18.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Jun 2025 13:18:44 -0700 (PDT) From: David Lechner Date: Wed, 11 Jun 2025 15:18:09 -0500 Subject: [PATCH v4 1/3] bus: ts-nbus: validate ts,data-gpios array size Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250611-gpio-set-array-helper-v4-1-fb86a9b499ab@baylibre.com> References: <20250611-gpio-set-array-helper-v4-0-fb86a9b499ab@baylibre.com> In-Reply-To: <20250611-gpio-set-array-helper-v4-0-fb86a9b499ab@baylibre.com> To: Sebastien Bourdelin , Arnd Bergmann , linux-arm-kernel@lists.infradead.org Cc: Linus Walleij , Bartosz Golaszewski , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, David Lechner X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1149; i=dlechner@baylibre.com; h=from:subject:message-id; bh=SFpLyUrSkeov8lTDekLTl8UML1Z5oaveGJ3pRpViCz0=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoSeSLaTcGiZbGvyVCGhUPWDMAFdGGlhKp9QYAq w/8u/EwnpqJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaEnkiwAKCRDCzCAB/wGP wFJ8CACa6UjbtPBARyaIgkjAgp72QK4ZU1HZKfzr8KtlLr5R/CB6QnsNyw4TZMvcAWz1R8miGwK rnOoKrQzw+aGBFMT3k/vjRj/Ehsvsfu4W7bFWztvUhRK/1qwRLzvCYaCuNLRC5RYiyIC6MJzcM5 1GKb1EeWt2KZ3wrqA+7OC6UAhPVG7td3ZBG9Md3rkDtHX/buSAFTEANFbH6uZ9+x3Q/6aiS1Wh+ IVJDljCJ+oaaoVCOqFqVCre6Zn23FWfV5glFDG1hsak0No0f8a5Boidw1BqPCpQnkk/vGRFklwS Gr37dNhGA4ZAKQJhX5AnkMka5GObju10gyRpBCOMz+gcGOl/ X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Add validation of ts,data-gpios array size during probe. The driver later hard-codes 8 as the size of the array when using it, so we should be validating that the array is actually that big to prevent possible out of bounds accesses. Reviewed-by: Linus Walleij Signed-off-by: David Lechner --- drivers/bus/ts-nbus.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/bus/ts-nbus.c b/drivers/bus/ts-nbus.c index 2328c48b9b1260e805c631f2aa7379d620084537..d3ee102a13893c83c50e41f7298821f4d7ae3487 100644 --- a/drivers/bus/ts-nbus.c +++ b/drivers/bus/ts-nbus.c @@ -48,6 +48,10 @@ static int ts_nbus_init_pdata(struct platform_device *pdev, return dev_err_probe(&pdev->dev, PTR_ERR(ts_nbus->data), "failed to retrieve ts,data-gpio from dts\n"); + if (ts_nbus->data->ndescs != 8) + return dev_err_probe(&pdev->dev, -EINVAL, + "invalid number of ts,data-gpios\n"); + ts_nbus->csn = devm_gpiod_get(&pdev->dev, "ts,csn", GPIOD_OUT_HIGH); if (IS_ERR(ts_nbus->csn)) return dev_err_probe(&pdev->dev, PTR_ERR(ts_nbus->csn), From patchwork Wed Jun 11 20:18:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 895598 Received: from mail-oi1-f169.google.com (mail-oi1-f169.google.com [209.85.167.169]) (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 473C81B0424 for ; Wed, 11 Jun 2025 20:18:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749673130; cv=none; b=WyvpevGvcozbfXR8HmmAixho0WGMSO2ZmgTPpIElWxaXvCDhBHBTEnKQi2CwrLG1J+TxsFn4MlVb+bTCJ5tb7ZGjnx0hbgU1EJxQlfUEhnyNXP51nhtq1eiYh5mvxu4LvzGgTGh8Uepm9m7X5RPZOPbyWMRdAmjK0sqDP3xi7Pc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749673130; c=relaxed/simple; bh=K5V5TnWu+110nnHuULWw1Pwd0QiBFgzUapmy9BeC2p8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HrWUJMUMAlg+lVBbM9t4TIljbzo7cgI4XXUNGrhA5nxOk9liznM+mCSPX2FHILmmRsx+hsPqjSkY7c1TV2zyf0PKux8xcaQqpf2HtqsKg20OYagNl8h1lbyhpbI5JmxEDjPA574p4ITIlwPqP1TLfbAFiGnWdAoG/DgD+neFpeE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=pne2+DQN; arc=none smtp.client-ip=209.85.167.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="pne2+DQN" Received: by mail-oi1-f169.google.com with SMTP id 5614622812f47-4079f80ff0fso796635b6e.1 for ; Wed, 11 Jun 2025 13:18:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1749673127; x=1750277927; 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=oAgdP5/7nbSCpei3bdgHz+Kvp3J/VbeQ+Dc9cWuRxQY=; b=pne2+DQNEBE1DBmtW322NUW6m73qsrlwzaXJAZjtMN8V+DpH72ZChl338zc3C7N74g 0kft37MZvxuWMRQKlCYun781fo0yJz8qCnD/HWIkaIByLHVVPrZ2xc0OdL4RT4cmwDFW IJTsohFMvzZOWuDTZfL4kZg9+KxE5ekUCpsqVkoci1tP3mm/B+9B7OFmCkuwfdC+WF/r mwYP3eh3KJ4zINwwEFkU7J1qW5Yix2SEzGetA6ExRBgAdCPgCDirALkH7Va2rfSx2/sI 7ImVBdal5fm/6lMAZ0t9ExbU5qXcILqgCFmbJmIUhEQygL+UjzeLi22gRw6IWnIz9yoI uGIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749673127; x=1750277927; 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=oAgdP5/7nbSCpei3bdgHz+Kvp3J/VbeQ+Dc9cWuRxQY=; b=Ee0NHQE9RCoakCNFYhujOnMTelJenlHd7zoY2F8zVetY6Yl8eIc2vMiKU/nkdtKC7U gzTq9AREUqRsOGQu7uGRGcGdx/0wae4Z9vIbjNwYQHd8gR13WtMhPzm4fANNp10LK1H7 peNcRcqJmc0tU/S4yGXFtzibDAC2ImBK+4AcYIepCiwFpGuqj8hGvXGjM5CImOK9s9r2 lWiJF3YDmyVYmZ0r94afy1c2KciOt2Xga+zD8T0PKYYZ/vgrW223HTVXsc61K/Cm8MPw 1oTQZSZkZOnzAVIpCmKfOy729PF4iuVlto2GGbnGMr/hhIyTFPtso00wIoUcC+/UC0Em iU9w== X-Forwarded-Encrypted: i=1; AJvYcCUxlTo21DOa9RhXumCriiAUY9xQxFab3PhMXOW6sNeVZSETtvetDpC3jMhq52MVyXRGY/Aad1t/819z@vger.kernel.org X-Gm-Message-State: AOJu0YznX85nKHIB9jIA/o83syMZyH6MbqBCKPCIQfcvQPtMYCSwVMzE hY6WCZCsJtb1+ktiIHiH9B+nXBcCP25trz2E94js0/2/YtTKFllmx31KxC7EjJgDF+5mES+hBvc iTSDp X-Gm-Gg: ASbGnctAq/4ZZZsQEeQrEacZcdhiF7UMbwPFz6lW3YczlWF5q9sv3g6QBpc9ACDxFRp BCwJtPyqPDhmTl3K6HNVSLsyCjlTlMnSkF2vzBCfp47gd7jp7iJ+nmupJMvxqCWaFauMj84zLiZ LeHnZu6pkSZr14B9irv54G4a5BAJhGq1zfopIzqgdgaxxrSjJYNDbz4N748WCGEVANMG4k+Yzam TCwwEZYh605HtCFCZWPK89BZ9EwAtuHZ81tb5ORKkVANsU27jJrPM8zOX5/Sf8LwzFv9cXZ/zEu uDcSWI13s9qMRurHhiiEhBErbOr1skxnbxfJdD5r9ESGKBm0r8gKyOFqXJnLMGXgo+WxFcgMe+y 5ExY= X-Google-Smtp-Source: AGHT+IEsgVOS0Cay3UgDCHS5flNsvIDVMlhbLgckyCmrDV07SD5UV63dS599YfSdekLGeOGNrlRAZA== X-Received: by 2002:a05:6808:1a13:b0:407:9d24:af03 with SMTP id 5614622812f47-40a66048f3bmr626458b6e.14.1749673127379; Wed, 11 Jun 2025 13:18:47 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:4753:719f:673f:547c]) by smtp.gmail.com with ESMTPSA id 5614622812f47-40a5d80d967sm467732b6e.4.2025.06.11.13.18.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Jun 2025 13:18:47 -0700 (PDT) From: David Lechner Date: Wed, 11 Jun 2025 15:18:10 -0500 Subject: [PATCH v4 2/3] bus: ts-nbus: use gpiod_multi_set_value_cansleep Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250611-gpio-set-array-helper-v4-2-fb86a9b499ab@baylibre.com> References: <20250611-gpio-set-array-helper-v4-0-fb86a9b499ab@baylibre.com> In-Reply-To: <20250611-gpio-set-array-helper-v4-0-fb86a9b499ab@baylibre.com> To: Sebastien Bourdelin , Arnd Bergmann , linux-arm-kernel@lists.infradead.org Cc: Linus Walleij , Bartosz Golaszewski , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, David Lechner X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1487; i=dlechner@baylibre.com; h=from:subject:message-id; bh=K5V5TnWu+110nnHuULWw1Pwd0QiBFgzUapmy9BeC2p8=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoSeSR3WFNtYYJy+OvDmT0FfOVbE2ZWgN1LwSvI hhaBWo6iEeJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaEnkkQAKCRDCzCAB/wGP wHGJB/91c9MDNHlXlq7EmskEj83sq+4fEyuAUc3SHN4AMqTJs8bzFLhHYUn3PqHXh4DPulwulNb f2NoBOAUwUg87Ss0koyZ3DBw1f4JBL8nHCrvwoK5XUNsCuFClysvag/sDr25+YFa89zZDg7BJuq h6uZlbirLJj518mNiTG1gVdiP3ezMybNzNLfuma28EkBum7DzArMY8sLulCIGGeiZ2yRrNGEgY6 JYYMW1zph/pP1NEfwJWZALncH6owE3WbPnYlL46IA3VO30CqHv7NOJnMWBCXykHmee6Eq9Zg+Zm tak73kkf4T1P657GshPZBolIVryP3HqVteJGR2V1K15G1dRO X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Reduce verbosity by using gpiod_multi_set_value_cansleep() instead of gpiod_set_array_value_cansleep(). ts_nbus->data->ndescs is validated to be 8 during probe, so will have the same value as the hard-coded 8 that is removed by this change. Reviewed-by: Linus Walleij Signed-off-by: David Lechner --- drivers/bus/ts-nbus.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/bus/ts-nbus.c b/drivers/bus/ts-nbus.c index d3ee102a13893c83c50e41f7298821f4d7ae3487..b4c9308caf0647a3261071d9527fffce77784af2 100644 --- a/drivers/bus/ts-nbus.c +++ b/drivers/bus/ts-nbus.c @@ -109,8 +109,7 @@ static void ts_nbus_reset_bus(struct ts_nbus *ts_nbus) values[0] = 0; - gpiod_set_array_value_cansleep(8, ts_nbus->data->desc, - ts_nbus->data->info, values); + gpiod_multi_set_value_cansleep(ts_nbus->data, values); gpiod_set_value_cansleep(ts_nbus->csn, 0); gpiod_set_value_cansleep(ts_nbus->strobe, 0); gpiod_set_value_cansleep(ts_nbus->ale, 0); @@ -150,12 +149,11 @@ static int ts_nbus_read_byte(struct ts_nbus *ts_nbus, u8 *val) */ static void ts_nbus_write_byte(struct ts_nbus *ts_nbus, u8 byte) { - struct gpio_descs *gpios = ts_nbus->data; DECLARE_BITMAP(values, 8); values[0] = byte; - gpiod_set_array_value_cansleep(8, gpios->desc, gpios->info, values); + gpiod_multi_set_value_cansleep(ts_nbus->data, values); } /* From patchwork Wed Jun 11 20:18:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 896338 Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) (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 0513925F989 for ; Wed, 11 Jun 2025 20:18:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749673131; cv=none; b=uAWFF+KpnU5YfgxGjd+mnovE7JRZTURv6Ec+7krFMP6uI0aPkx6zkn0rNMMDV2pkPVRIPwf1bpOcz1y0kq+gOQQJkTOZtPWDp84/9PNIbC4sRcWFZF5jrfWwZn3SaA98gSE8/cQoqcxTbkH4czhMNE7Ru8rYLnSO/DEZr6NDdrY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749673131; c=relaxed/simple; bh=X+l1siqRVwIi6D1PzhyWFvmI4xdYsdCpoCSsUZIeM9Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WTw34F5gM2nYmYL5etFKjgW9qijn5LDMAUnOdVxG4g1R6gBmJCP94cNARx+fyNvww8jEB8p7XY0Om6tQe423/Ui5ankp1urdBZ4eda0H3UdUNTkxQmNTftpMpCfUR8PeYnqTcQQPP9GIptOKkn5HE2Ua/safr3oW7e1QljSACoY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=l8KOkARZ; arc=none smtp.client-ip=209.85.167.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="l8KOkARZ" Received: by mail-oi1-f181.google.com with SMTP id 5614622812f47-407a3913049so121105b6e.2 for ; Wed, 11 Jun 2025 13:18:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1749673129; x=1750277929; 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=+/+rrjhna+/Vax4rD8HC3TVO3EBLeff26p2DbcJCfS4=; b=l8KOkARZZIiADfYr/w3lTJabzOUjgNLnsovDoJRBzYrweRADMUz3Tmy3dqzoJYwbdD 4dzko7K/8l4bF1gJAJOB9jlFrlDu28Dqz+fsX50/iVaPLTJ44ApPP0eIMCi8o8rDkyUy FEqAECmJIFIWWFlCCotHSB5bXG296hrFNi4+4HeOEmxwDpHk3CCutUpBC43uA+T1wiha DgAEbR4N8FIjizNec6yCRkhvExmL66YflvHp13VNGyLc8f0OSv48GibXw8tWDOuudy/g N9QO4Rxj45wf0sVwejwLx8ZSTk/lKEf68+U+02VZXQcIROQaQ2YmeE5EV70Ymr6sXIbn sUxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749673129; x=1750277929; 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=+/+rrjhna+/Vax4rD8HC3TVO3EBLeff26p2DbcJCfS4=; b=fiaEAR/xC9h+eQzImK6NnxokfPlfhArQgD/HyLKGRA+Lncuh4vSHkJgrXGiu/bnytt 0twspDXIYStt2CY2wFcTU3boU/oEuNKZfrvIIlZeV9FSmhMSFPTIqcKNreQ9Xq9CEGuk SRmbiJ0k/bLLn+XBFeYnFjL74+uPUgBlf4LVn5Qx1WpJBYq9rYN9Ia1eQvXAAPrbh63Y Vx1B8FcVH+g0FjegyXnLGRJdeHW5fWuWQuNkend7pBX5Ce5Jz43H0rbyqOTRmsYJmHnH CMxQ+qiafiebMWAwCanQAwfI6he0wu0uXwADXXv4Ujvdigfn1G/1A9Ud/TJaQoQGKk1m T6Qw== X-Forwarded-Encrypted: i=1; AJvYcCUOHhgknh0yRy54Qnl+niBlh59VMp1HA796UpxXFRUkwqo3KP6gdkd+AJNAPnuWSWYI7/uqSKdl/f3C@vger.kernel.org X-Gm-Message-State: AOJu0Yyht6jeX6zloiN0QPoOV83JsViPkA3YtH7rm6FLGw/WoGpjlgND hfPA2ZtpCd0s45L5SfTiwl2/50EvF1cb7HVjG4RpkXBZr0e9/EMcLiml0EJ9TD2njyyocVYoEye Hzi4E X-Gm-Gg: ASbGncsGuFDbDcGS5U68lSm+O9Ip9on+LlUPLbOJDxPmVBp79UCIqYhXSNe+k+d+QCC xaw81Ztgg7RnwH/9GsHu8XE5xhxLUJE7R+ObQ0lMstHmrXcxp+DANZ2XshPkFU/mjH3wOviZSyF 2oGLgFQ8+FaRRKBqwUP1shDqIurIaQu9oiNZrbpphT4XrT3d7obeHM7/yVK+Z3Eziknhwwn0JRC 4yvw9sMN484ThaPHtBdFjD+aUVjfA56e2hRbliGXl4iKhB6SEpNi6X5EmQA/zGhfwuWfHqVTp2p dne5twU2L7YiKw0wT2dmm7S8CNfm9bhjgaj6Rl1o6fHfOzJu5Ca7T9O3KAi7lAPKVg4K X-Google-Smtp-Source: AGHT+IGD+DufvyN+5hzy7lg7VM5lfJsR43tAUQCYEJ3xhmONm3bDhzEoWmouYj722aMk3p5q+QWyrQ== X-Received: by 2002:a05:6808:80a6:b0:406:6d79:49d2 with SMTP id 5614622812f47-40a5d14fa9emr3327936b6e.26.1749673129216; Wed, 11 Jun 2025 13:18:49 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:4753:719f:673f:547c]) by smtp.gmail.com with ESMTPSA id 5614622812f47-40a5d80d967sm467732b6e.4.2025.06.11.13.18.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Jun 2025 13:18:47 -0700 (PDT) From: David Lechner Date: Wed, 11 Jun 2025 15:18:11 -0500 Subject: [PATCH v4 3/3] bus: ts-nbus: use bitmap_set_value8() Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250611-gpio-set-array-helper-v4-3-fb86a9b499ab@baylibre.com> References: <20250611-gpio-set-array-helper-v4-0-fb86a9b499ab@baylibre.com> In-Reply-To: <20250611-gpio-set-array-helper-v4-0-fb86a9b499ab@baylibre.com> To: Sebastien Bourdelin , Arnd Bergmann , linux-arm-kernel@lists.infradead.org Cc: Linus Walleij , Bartosz Golaszewski , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Andy Shevchenko , David Lechner X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1852; i=dlechner@baylibre.com; h=from:subject:message-id; bh=X+l1siqRVwIi6D1PzhyWFvmI4xdYsdCpoCSsUZIeM9Y=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoSeSY/IJ6nkRrANAy2h70ciXzsWX6tvkao1sxD 4OB69BklISJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaEnkmAAKCRDCzCAB/wGP wANcB/wM1esoiB5PaiuSRQBoxKnk8REf7zJM4aV0H6/M2/3mbM0ehJVngqtwdJ0thNdO+U0LWG6 XdHZpt4wJR1rc00U1rqILg0nxcEbrpOJ06KpGyloyzjGzRnx/JNr6ZIzsdNFGh7juRM1HaD7h5Z t47OOLSzgr1s9sPy03/lg3kuOK6BKfkZy8h00F0HnfgzzSFvFKxBn7Z8Ct4jyCVpDiq4GaUwpej wH2z0XaWliiQPfYo5AB/bGlE2jcnSmAn5hleY65LDObf1MpSHQaUT8/GGXYZHO1Jnl8iGZvFYx+ 7212QTKdyNcP98xvaCHkgAobE2zpI7HZeiHiP/8C6jzd4AnQ X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Use bitmap_set_value8() instead of accessing the bitmap directly. Accessing the bitmap directly is not considered good practice. We now have a helper function that can be used instead, so let's use it. The bitmap has to be zero-initialized now to avoid a compiler warning since bitmap_set_value8() does read/modify/write rather than just the write that this is replacing. Suggested-by: Andy Shevchenko Signed-off-by: David Lechner --- v4 changes: - Fix typo s/get/set/ in commit message - Zero-initialize the bitmap to avoid compiler warning --- drivers/bus/ts-nbus.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/bus/ts-nbus.c b/drivers/bus/ts-nbus.c index b4c9308caf0647a3261071d9527fffce77784af2..17540034e64a4e591ea61b0b4eef86a2081b02f5 100644 --- a/drivers/bus/ts-nbus.c +++ b/drivers/bus/ts-nbus.c @@ -10,6 +10,7 @@ * TS-4600 SoM. */ +#include #include #include #include @@ -105,9 +106,9 @@ static void ts_nbus_set_direction(struct ts_nbus *ts_nbus, int direction) */ static void ts_nbus_reset_bus(struct ts_nbus *ts_nbus) { - DECLARE_BITMAP(values, 8); + DECLARE_BITMAP(values, 8) = { }; - values[0] = 0; + bitmap_set_value8(values, byte, 0); gpiod_multi_set_value_cansleep(ts_nbus->data, values); gpiod_set_value_cansleep(ts_nbus->csn, 0); @@ -149,9 +150,9 @@ static int ts_nbus_read_byte(struct ts_nbus *ts_nbus, u8 *val) */ static void ts_nbus_write_byte(struct ts_nbus *ts_nbus, u8 byte) { - DECLARE_BITMAP(values, 8); + DECLARE_BITMAP(values, 8) = { }; - values[0] = byte; + bitmap_set_value8(values, byte, 8); gpiod_multi_set_value_cansleep(ts_nbus->data, values); }