From patchwork Wed Apr 9 15:43:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 880100 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.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 CA3AB2690F0; Wed, 9 Apr 2025 15:44:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213484; cv=none; b=CCce8i9SxhiL4OIZOCwqS79OfgPxU/lUoFu4T//SAJ8bzjBmpaA30XorBhbukGyEa2EKO2rOnHPZLZ0VdO22khf/U0Upl/RGbKSV37yPVw/HAGoVqsbMPpxz26roLePMZnZ3hO2F8s1caDBofsJcxyYBavAnie/BYeDP6Hl/Bwo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213484; c=relaxed/simple; bh=oHQrnfjD6zGDvLMJt8UwAGBX2UA7OK99C+0viCcwLZQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=fnss4sRvMEflxIJALq5dtiIsNxWX4SqDTPHiFcUkjyav3sYVXEjeHdHP1xiGklzieAnh1RJpWHvzvWq2CIJKyBQ5WYOKSusTqPE79/kvmm2ZA2oDVB/eDZQ5Khub0p+LNCQE2jw9tSpNR2xOS5OKLW8/HR6ssEyshNZVZgeknt0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=OZkk3AYz; arc=none smtp.client-ip=209.85.216.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OZkk3AYz" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-30155bbbed9so5428331a91.1; Wed, 09 Apr 2025 08:44:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213482; x=1744818282; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lW4oOCfCNW1Ikfi6N7oqyzQRlobsbPmX3F7QqOKxP+I=; b=OZkk3AYzM0K1F4tFQPWAnzVc7Gpyz9UFMGmHg9OJY4k4Lad3CFd5AEC9NTlYTza2ZB GfHJhO2r58nlojrEIN6m8dPPRdS9QG/RlQ/J5Gy4Xxe8JNZJJbhbxW/em3sBimXlkkED mg9wtbwj86GWZUq5gBGyQA5XUduxnJByM0ReDicIju9jwnMcW5VwI4hY1cjSQI4qcpof Pq1dP0ygTXrs1PPB/GnK6/H7Ku29c4Ol5HqBgjBIU+MB1ytRBEaMjBilTItqAViPAbha AsWesA1l15A2WHJXRXNDw7/V9vAN80BUzH/2ZBv7JPO4Fwy9cQWYeSfZbbe8itLa6N7Z 5yyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213482; x=1744818282; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lW4oOCfCNW1Ikfi6N7oqyzQRlobsbPmX3F7QqOKxP+I=; b=ofYc/okxukpmfNNmq5lEY9gCzkGVC941gGDwh/HOSJy0ba7B0MWTMvB2irBTkAX7Fr LYuPOsp6Vz6vnYzjWbbVBnPiLNIRMx6ENkeBTq50UvfhmbIXtwxgy0DkmJdT25HTh53R wANHD0VctWIDhglrtDSHJ8HnL20DPXWItqJL3RCl+bQeI5kJNhYXMw57JSr01T39+h+d zV2hxd2OK0abGKjaWIplAcKcB4bzSNc4+mjJU8oQKTnwhMusKQF8O+42Vzm0zAXhlw6U zBQto1zR11K0cJFvL9ZbHS5LIjCGYXpcZgAi15K0V6xjuS4N25MryEYrVnHjt0q6L/ta gO9g== X-Forwarded-Encrypted: i=1; AJvYcCU+JHljL1lIESve2J+ul4gjzX7oNeiqU6JyfB+5PLo9jpirgI7xOlxpclWpdkU3MUU2XzW4ub5A7YTWTv4l@vger.kernel.org, AJvYcCVH51bwfIyCoxEiqHrKSCGz0/pZ9oIYQtzmE2JTZV6Yb9JMvOG+nq8Pv4ACPit9iQ2Wv1HJrnbtOPmlHh4=@vger.kernel.org, AJvYcCW/McT06FkOER44RSSf2tBIqx7kdC01mVCjEcb3TPDYgLAfuGIyqNO2JvHuvpGpQ+U236dt+fCN0pEAdGWT@vger.kernel.org, AJvYcCW5Py4HJ2LJbMruzJt05WVyatVb9MSyI0d6oXwgYU+Xj0Pit3GMaLNrsFO927LQvBA0YzE=@vger.kernel.org, AJvYcCWDyA+wrvUCy6L8SzuFtLNPbGhKftZUjRlaITT8v5UFHrDo5oekz2LPhyWwTjV74wjmLelChcJYvAhTQpy4bN4=@vger.kernel.org, AJvYcCX+zwotQJW7sB/YHdEMALaiLxZPHPxTJaMV2e4JdWQu9stp5m6ksyqwCuVZt36ndPRi1TEnM7LhXcEE0eM=@vger.kernel.org, AJvYcCXQFILzi/D9TOrod92IfwviVNNNJH0Fg/xKDzOeH1bAU4a86zi+si0vSGYKtHymxqrV6laKATiQzeuEc3Q=@vger.kernel.org, AJvYcCXikMymRuknE0owslHdOHpgTJjnwk3T4yrRVk/TusZxoYIWg6yDxbU1bwMXN3YVf8IbdMnzS3dB@vger.kernel.org X-Gm-Message-State: AOJu0YxCL2o2S47N54ibVo/xWLrGMbKL7HbctzYirC8Eh8fBh6lsGmZ9 i+UeFloeFIbvI7Uf4x0Gvh0/2AyFXnTku43wJeSwRrUDNQwj+aCL X-Gm-Gg: ASbGnctXYBW4eFetOwdUXfSdWIEfMtaRIZwyqKBu4TmhC110FfUV0EmdqRrkLChx9ls GqmbvbXljWgB5G1r0hzHHHRnwIO+eBjaVq5dLbws0bCmZfcs2B63LBgqaqb/EWTJOvGaGTSJV3q SnO/bhS1M8ifvScT1wOO/aCLkDTPBmU7qe+iGUTimNhr0lC+WINrYYkpER4V+cMDAYIdSvb7GsR UAHjWZA6hy1GVt/ezr5XMaDqRgY6q4jzBTQm3Dgch4ZPy2pZSUKecZDFT0X+t0SGNIADTVf+hwQ SadKBtcfeydr66zZeNLu/sQiex6lF5gRVX6yoJL3lGXT/x0j+KOso+T97BBY8I2Bgbh0O5M= X-Google-Smtp-Source: AGHT+IGgg0DBuH33oW+E+873bMYyZA/oUaltEXJsqFjgXBWTSXKYJ4mXYIMoJApL4m1vTMrn1nnOpQ== X-Received: by 2002:a17:90a:f946:b0:2ff:4bac:6fa2 with SMTP id 98e67ed59e1d1-306dbbc1e1emr5446016a91.16.1744213481930; Wed, 09 Apr 2025 08:44:41 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.44.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:44:41 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 01/13] bitops: Change parity8() to parity_odd() with u64 input and bool return type Date: Wed, 9 Apr 2025 23:43:44 +0800 Message-Id: <20250409154356.423512-2-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Redesign the parity8() helper as parity_odd(), changing its input type from u8 to u64 to support broader use cases and its return type from int to bool to clearly reflect the function's binary output. The function now returns true for odd parity and false for even parity, making its behavior more intuitive based on the name. Also mark the function with __attribute_const__ to enable better compiler optimization, as the result depends solely on its input and has no side effects. While more efficient implementations may exist, further optimization is postponed until a use case in performance-critical paths arises. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- arch/x86/kernel/bootflag.c | 4 ++-- drivers/hwmon/spd5118.c | 2 +- drivers/i3c/master/dw-i3c-master.c | 2 +- drivers/i3c/master/i3c-master-cdns.c | 2 +- drivers/i3c/master/mipi-i3c-hci/dat_v1.c | 2 +- include/linux/bitops.h | 19 ++++++++++++------- 6 files changed, 18 insertions(+), 13 deletions(-) diff --git a/arch/x86/kernel/bootflag.c b/arch/x86/kernel/bootflag.c index 73274d76ce16..86aae4b2bfd5 100644 --- a/arch/x86/kernel/bootflag.c +++ b/arch/x86/kernel/bootflag.c @@ -26,7 +26,7 @@ static void __init sbf_write(u8 v) unsigned long flags; if (sbf_port != -1) { - if (!parity8(v)) + if (!parity_odd(v)) v ^= SBF_PARITY; printk(KERN_INFO "Simple Boot Flag at 0x%x set to 0x%x\n", @@ -57,7 +57,7 @@ static bool __init sbf_value_valid(u8 v) { if (v & SBF_RESERVED) /* Reserved bits */ return false; - if (!parity8(v)) + if (!parity_odd(v)) return false; return true; diff --git a/drivers/hwmon/spd5118.c b/drivers/hwmon/spd5118.c index 358152868d96..15761f2ca4e9 100644 --- a/drivers/hwmon/spd5118.c +++ b/drivers/hwmon/spd5118.c @@ -298,7 +298,7 @@ static umode_t spd5118_is_visible(const void *_data, enum hwmon_sensor_types typ */ static bool spd5118_vendor_valid(u8 bank, u8 id) { - if (parity8(bank) == 0 || parity8(id) == 0) + if (!parity_odd(bank) || !parity_odd(id)) return false; id &= 0x7f; diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c index 611c22b72c15..dc61d87fcd94 100644 --- a/drivers/i3c/master/dw-i3c-master.c +++ b/drivers/i3c/master/dw-i3c-master.c @@ -867,7 +867,7 @@ static int dw_i3c_master_daa(struct i3c_master_controller *m) master->devs[pos].addr = ret; last_addr = ret; - ret |= parity8(ret) ? 0 : BIT(7); + ret |= parity_odd(ret) ? 0 : BIT(7); writel(DEV_ADDR_TABLE_DYNAMIC_ADDR(ret), master->regs + diff --git a/drivers/i3c/master/i3c-master-cdns.c b/drivers/i3c/master/i3c-master-cdns.c index fd3752cea654..df14f978a388 100644 --- a/drivers/i3c/master/i3c-master-cdns.c +++ b/drivers/i3c/master/i3c-master-cdns.c @@ -889,7 +889,7 @@ static u32 prepare_rr0_dev_address(u32 addr) ret |= (addr & GENMASK(9, 7)) << 6; /* RR0[0] = ~XOR(addr[6:0]) */ - ret |= parity8(addr & 0x7f) ? 0 : BIT(0); + ret |= parity_odd(addr & 0x7f) ? 0 : BIT(0); return ret; } diff --git a/drivers/i3c/master/mipi-i3c-hci/dat_v1.c b/drivers/i3c/master/mipi-i3c-hci/dat_v1.c index 85c4916972e4..d692a299607d 100644 --- a/drivers/i3c/master/mipi-i3c-hci/dat_v1.c +++ b/drivers/i3c/master/mipi-i3c-hci/dat_v1.c @@ -114,7 +114,7 @@ static void hci_dat_v1_set_dynamic_addr(struct i3c_hci *hci, dat_w0 = dat_w0_read(dat_idx); dat_w0 &= ~(DAT_0_DYNAMIC_ADDRESS | DAT_0_DYNADDR_PARITY); dat_w0 |= FIELD_PREP(DAT_0_DYNAMIC_ADDRESS, address) | - (parity8(address) ? 0 : DAT_0_DYNADDR_PARITY); + (parity_odd(address) ? 0 : DAT_0_DYNADDR_PARITY); dat_w0_write(dat_idx, dat_w0); } diff --git a/include/linux/bitops.h b/include/linux/bitops.h index c1cb53cf2f0f..7c4c8afccef1 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h @@ -230,35 +230,40 @@ static inline int get_count_order_long(unsigned long l) } /** - * parity8 - get the parity of an u8 value - * @value: the value to be examined + * parity_odd - get the parity of an u64 value + * @val: the value to be examined * - * Determine the parity of the u8 argument. + * Determine the parity of the u64 argument. * * Returns: - * 0 for even parity, 1 for odd parity + * false for even parity, true for odd parity * * Note: This function informs you about the current parity. Example to bail * out when parity is odd: * - * if (parity8(val) == 1) + * if (parity_odd(val)) * return -EBADMSG; * * If you need to calculate a parity bit, you need to draw the conclusion from * this result yourself. Example to enforce odd parity, parity bit is bit 7: * - * if (parity8(val) == 0) + * if (!parity_odd(val)) * val ^= BIT(7); */ -static inline int parity8(u8 val) +#ifndef parity_odd +static inline __attribute_const__ bool parity_odd(u64 val) { /* * One explanation of this algorithm: * https://funloop.org/codex/problem/parity/README.html */ + val ^= val >> 32; + val ^= val >> 16; + val ^= val >> 8; val ^= val >> 4; return (0x6996 >> (val & 0xf)) & 1; } +#endif /** * __ffs64 - find first set bit in a 64 bit word From patchwork Wed Apr 9 15:43:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 879644 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) (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 8C707267F4E; Wed, 9 Apr 2025 15:44:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213495; cv=none; b=gfcHdLr+Z2dI49fANGNJKEZSBQR2ecYb8/awu7ZaX3ldD8A+BHmjdu+IknMD91U/pGp3Wuz5q5NuAK1F7CcLy7nidjjCU1mhS0DVAAHf99vShWKvqaT01rQV/7i1iaTPVkDh94JcQVWJbINgkXy1fkH1tHL0T6NLHPvycMhPos8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213495; c=relaxed/simple; bh=gQX1tPtoBeVaDkfhW31RPjLez11EkdHuSuhYTxeIN6g=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=UvO3DYcYLqxXYq30oiDKGiuP1XnYaJBGL/l/G6+k3cR7XvyARCvs03qIlWc0/y5pWjQvTFnGrbGGzW5eTO386q5yAg1q1Ys7IPQYTtDCttu5s8vcoOg2MEkBGeEg765QCixFt2iUZZ09xrzPVnuYB8ykQxJktGMB6JRB2PLOrvw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fbW6tiOt; arc=none smtp.client-ip=209.85.215.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fbW6tiOt" Received: by mail-pg1-f180.google.com with SMTP id 41be03b00d2f7-af9a7717163so7052071a12.2; Wed, 09 Apr 2025 08:44:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213493; x=1744818293; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=v49ZwnZIj2AOJhsRco4puem3oLXi78jqbt8BbW57LpM=; b=fbW6tiOtkcyaGUAJ6Zq56/v3k8lpAdDxLgHIzFciv91C1L4uq36D/duXlzOZF1ZEUS XuVVLtlFVmTJqUf24xl7qOqPJ+Q3yknrxKuH7Nk8KhESYgxB9CkaQ5A7DVTZlDr/szrL RWR/w7qU3BUmVJQK9JcziexAm5kI04aBqU7b6LDN8I2wV8pw7nlfJMV0PEx4jmofj7lk FrQXpL5VmnFyvwElGi/hVx1HiA9EtBPaIPDnB0tn3jaBfw9Od1bg6ngQVa2Uord0/RuI fnC80+/pg0nNwI5sU2pyGUGIXK36gy6Dsx0KVZTdNaVWKDx9gADsfnTinVkanpVDzTkO aOeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213493; x=1744818293; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v49ZwnZIj2AOJhsRco4puem3oLXi78jqbt8BbW57LpM=; b=NyuU+X1O9qB8eXu+8E8+R1siRFA7ascEN566vPabjVFLWxQmkd9BiH5wMubk+5dusC 505XEPxIoFdHY0xEdyPby8wOYywW3RZut2kxe+h8j0uzJO9to6hbD5BhtJXrSbpOED6y 2S32761HWWn/bZqjIWXGIjUCU/Hpa0GF4JPA56XmBLfccuzilDDzz1lGGuMXgq0WolSm h+E8ByPuIulB2K+J0aO7C6ZiKdnluI8ePCWZcsydvTahAz9oKGxFnaD5T3P2u1KbbC/m c3yPtZoJIA9Ej1skVujUZghg/WXDh8XU5mofQwymmxch6GCffYpqQD5QGvM9MQrEP8BY GNdA== X-Forwarded-Encrypted: i=1; AJvYcCUFyCs3uAvSoJPxcnhC+FlP45lMIOEuK+Ot36mruDK8gJ4hal2x1IRFtZIAftuePgLuRHmPk4D8PeNI430=@vger.kernel.org, AJvYcCV3NwnJ3M5Rp/jorVIlPFH3waPiI9i4+8h9efpt5B/L8hbBAgzJkhu5F0ZOwW81pvIaj0Au05eTxVNOxI8=@vger.kernel.org, AJvYcCV8QC/05Knj54H6bSkf2SLWcfuTfvn1yn2sQ1H7kmVV+/NhwNWkC7d3ME5vMfPDMhN4KNSImBaE@vger.kernel.org, AJvYcCVGJeX3vqi5u2PW76Mnr+ya+0NuMbC5z7eEvKEtaYwIfyj1Co30tcWu+rSbqurkEEY+vjL9ICmqjOL9C7GN@vger.kernel.org, AJvYcCVWuB0TywOOvdNYl8SuhB/xc9ifigu6YhGJnV8bXRUXUN1t7UvXRWos4Lyq4eQIfnjkxVdXTLVK5oUBt7qA@vger.kernel.org, AJvYcCVeBmltF+G6jf8uAwXskX2lwqk/uX8mpetoB/ExvKjGjKmlOmnqSEU/GSofbBh9j7M+krt54Uq7SzOCXESksH0=@vger.kernel.org, AJvYcCWL2BhiI8jyHGDShxuPs5bSF7NOmG1SzUm+zvvdtllAcGyMVDjdcDcgICiiEmmKKUAMZ9I=@vger.kernel.org, AJvYcCWxxGa4sS3iYnxpSSxmFYAy2RUMv369y/OpETGRn1/fumkHq3iXpwMcSuOK6RA4Xclnod6M9d/NJjuMG6U=@vger.kernel.org X-Gm-Message-State: AOJu0YxbJqB1Fh+C/eI8OqIc596Gn8jJE0+WBAe19bP13cygnbSYExKy ENjCVS+9DYmZ9n+O6iG3yePDYzVlTksVeTG9OGgSuyON4fnHF5yy X-Gm-Gg: ASbGncuyfKT5Lm3u94VCnBhRhH9DzR43nxFdTlg+Wh4VOf+6Hl9EDoPQr00mKxgdzdT JBBwWWR8tT8qyyFuUF/0hDZ9bYVFA1b7IyuAT0FeDG6E7+0agsWWPgCPu0lBH+QrNKCYkRpdzLX hrKnreX+O8r4bLUm0nB+zmvArFTXFMF2po8o372Yq56BX7B5/D5SFwG9RIFNZ6Dfot59zoqdelL KPl9f841sdaPc054kTR2njozNuSDqVZKA/4r/frsq3FTb5FigKBfwmyI/PDsEeLL2601VBVA3yH DVda9o3W1hWMUHVAR7adPfrLKMyZAUalWp/XDP0fousOaDSDIf6uEHbNMo9VcrZjbNFB4WFKFxD E1eLVQw== X-Google-Smtp-Source: AGHT+IHDjC6NZDKGKeJbiK4hibwKJCoZJOXppnGBHSYZ9kKUia5ispG3D8M0PIfVIJ8M4eMwylwt9g== X-Received: by 2002:a17:90b:1f8f:b0:305:2d28:c8fd with SMTP id 98e67ed59e1d1-306dbc2bf43mr5380309a91.24.1744213492550; Wed, 09 Apr 2025 08:44:52 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.44.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:44:52 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 02/13] media: media/test_drivers: Replace open-coded parity calculation with parity_odd() Date: Wed, 9 Apr 2025 23:43:45 +0800 Message-Id: <20250409154356.423512-3-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Refactor parity calculations to use the standard parity_odd() helper. This change eliminates redundant implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/media/test-drivers/vivid/vivid-vbi-gen.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/media/test-drivers/vivid/vivid-vbi-gen.c b/drivers/media/test-drivers/vivid/vivid-vbi-gen.c index 70a4024d461e..5e1b7b1742e4 100644 --- a/drivers/media/test-drivers/vivid/vivid-vbi-gen.c +++ b/drivers/media/test-drivers/vivid/vivid-vbi-gen.c @@ -5,6 +5,7 @@ * Copyright 2014 Cisco Systems, Inc. and/or its affiliates. All rights reserved. */ +#include #include #include #include @@ -165,12 +166,7 @@ static const u8 vivid_cc_sequence2[30] = { static u8 calc_parity(u8 val) { - unsigned i; - unsigned tot = 0; - - for (i = 0; i < 7; i++) - tot += (val & (1 << i)) ? 1 : 0; - return val | ((tot & 1) ? 0 : 0x80); + return val | (parity_odd(val) ? 0 : 0x80); } static void vivid_vbi_gen_set_time_of_day(u8 *packet) From patchwork Wed Apr 9 15:43:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 880099 Received: from mail-pg1-f174.google.com (mail-pg1-f174.google.com [209.85.215.174]) (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 C7A4C1A3159; Wed, 9 Apr 2025 15:45:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213506; cv=none; b=FkYA7zzk8M46re+MIFEzmbt+92iMw3AlRnARIm84OEE2vnpE3yLRf4t9/SFOa0x55U2p9ghbpOenxsqWjCG+vD//macxDxrgYZh3pgX1RinipsvI34bmiS8qfV+leFIinpVaDGT1dhosiezZq4HPty43dbYGO3q7I2FfXFf8/6k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213506; c=relaxed/simple; bh=E5jMKv5zKLA8UMnazOfvbwFC+s6I1bdXfA7VFgo9u8A=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=emSZ58D2OCYf8zYKaiWbHoykA38Z1MKXaSTbHAmtUDSLJWHtuLScOCpwjT56LdW70S5lLhGjf8gF5SjTo1QssEXIT9ZDfaytmcnMvOo0U82zh+S7STFalQWr7/eLAHHnT61aM1PZcEyuQzxJ4VhKVUpaMrAHl988R/vlHo7xr4c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bcJpXe3Z; arc=none smtp.client-ip=209.85.215.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bcJpXe3Z" Received: by mail-pg1-f174.google.com with SMTP id 41be03b00d2f7-af59512c64fso4705893a12.0; Wed, 09 Apr 2025 08:45:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213503; x=1744818303; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lU43UpH11wLCdsjhsyHst5iurlQ+ThcWcqMooUtxxjY=; b=bcJpXe3Zc3g/0KJD7Bz5m+pEDnJKrvPsVX1yzuPUT2uiQ8VbHF0YD6MlJmDYs5FEO0 1siEnzjP0wH+1bcwP0aiYbQBHpLOVyI+n+3i+Pmbi151u5ssv1iyOtX6J57s89Mh8ik2 WSo59pmAZdMu5VqpB8BrB6ChSLjjqU60vqWnd5I7KDWq47Jh1xMx7zRG6OWXZZ/YMStS cyEcrFgzZHFTF7O02URPhPs8kft4cML4WyGze0QIPSQ+rYW2Q4dH3DaDNM8FEJagQBf8 7xpIRekzNjF42OYiMQafkZ3GOVjZzxsA6bmNMEFWEUui+ZSOUzeo0X7YVTSl28d9bCc7 waNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213503; x=1744818303; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lU43UpH11wLCdsjhsyHst5iurlQ+ThcWcqMooUtxxjY=; b=gcI6wO9D8+znfRX4wnXEYTEJcWlsW7nb6mAuuAFWvjHdSCjH3kcPpm+DLiFd4wlEOn X0HkM8lHmA8CWOuo3abnvZWmtP7BcnTOyOVarmX5IpR+8rBHpUTSsvhABmMPSvyOSaEO tUrbL0AsotewVijpDWOBJBfFR6tP3UI3auSWExvpAYPh8zqwAyNsJ1fnampAQekf9mUd GRMQ3zVqjXJVTDtdJ3jJ6QR4KgMqdW2GMg0s/HHQx+/VR/IaQoQ+5h5/zb4irnttPnhw RjQQuDdrelCRel4y0978fzFPhW3U/y5c3rdhoeijznpvO6xlyg/4YZGhcblTeY0Q5J8C jqWA== X-Forwarded-Encrypted: i=1; AJvYcCUMP3bvYepFr3tqYycC4wepIQoJbj89LmFPdosp8bMuS6numXyRSHzPMLQvdhZ9QYb6b9A=@vger.kernel.org, AJvYcCUgVtRR7pgwrTCS2TtHNAoKdez73YP+UsSx/ua2O23qwgZ5kFAo6e2obNv8v9fxAhvgv2ZrzCK/Tpbun9E=@vger.kernel.org, AJvYcCUsvnpeiMp+CnYlSx0rg/Uc83q/A28ivdk/VnxdfP7RknntXQpIlmxDGmfgcjgCEsNZg40f5yvv6HC6hycY@vger.kernel.org, AJvYcCWJqDCIH9GtirD6KdYSXNa/NSuBi2vMM5qBUJSBxnVJksGyRO0INA7bCzUk6126KkatRYe0yia9jwZMnUU=@vger.kernel.org, AJvYcCWW/eH/iZwYVwbWaU1dIpN7exBjjE/rifSa/n1ezG3J1/eNnt2eziVrkJ1ILWnS3ufMyBfHtzc7ogpIR7l4bsM=@vger.kernel.org, AJvYcCXOO+oQIsBCgY8pbA91WKYq83q3C3TIjAb9rz/tDq2AOqowcGOROmAFSn087Y4kYfeBkYsFJY4XFTANLCQ=@vger.kernel.org, AJvYcCXiePU7vrr9Lt3uAKb0igqzeAUp/eVAHKDEWocFy0uhv16/AgyzZHawBnyjJ5uCjwZGYRGgKIry4tNanNWe@vger.kernel.org, AJvYcCXrE6Qo6h+7CmoRKokutOKWvDht1WJ8jPFMn5LwX6lny37ybMtdCqmTSmKTfXGCOHxlx21k5/RE@vger.kernel.org X-Gm-Message-State: AOJu0YzeLBAtS5F1pYUv2xfAp2nAMzMJoxkZXAOcVMpZ3jaSFhp/dSvg 7wVlFdzwvRI+DVPK2gzCxxkUNm6avTJeBXSYwFKNe5leTlkjFVp/ X-Gm-Gg: ASbGncsakD7qS+gsh9wgMbQuuftEJLnu/mgAqbu1Ju6zqiQEPzppIMPEWtGXnwaLwxw DVsVpE90mXYg71cDdKHzz11K3jkuWwMQnnkiKbhqD9hrOh5N0GSszLMJrij03Y52snuZab9HO38 MXdJE5SZIW3p0bj5TLRml2Kc6r9qWjxco3ExHLfcMcRZZB4MCNzUoiJUrzxRdNT3QbOWzQY5ElY z056slq8eJiMQJvzxF31dhCyVOHktNv7p/LiTyJfSEsRtTO9eExUlAd9JKxFf+8Ph/t+I9OO9Ib Pn4k3oWz5XrhXFjMFLnZbkXwjhzHbU5fgj8Hv80mOtHdCMnoGKtq4+zA6mLwr+Du5tWP44E= X-Google-Smtp-Source: AGHT+IEs9q8P41yMEf/AWjN7idtRUGM7Z4tfe1JBSuODcHBz5h8hVFHXITrRQEV2h0IxkqA/pyunWg== X-Received: by 2002:a17:90b:4a47:b0:2ff:7b28:a51a with SMTP id 98e67ed59e1d1-306dd52d43amr4827521a91.17.1744213503051; Wed, 09 Apr 2025 08:45:03 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.44.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:45:02 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 03/13] media: pci: cx18-av-vbi: Replace open-coded parity calculation with parity_odd() Date: Wed, 9 Apr 2025 23:43:46 +0800 Message-Id: <20250409154356.423512-4-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Refactor parity calculations to use the standard parity_odd() helper. This change eliminates redundant implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/media/pci/cx18/cx18-av-vbi.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/media/pci/cx18/cx18-av-vbi.c b/drivers/media/pci/cx18/cx18-av-vbi.c index 65281d40c681..15b515b95956 100644 --- a/drivers/media/pci/cx18/cx18-av-vbi.c +++ b/drivers/media/pci/cx18/cx18-av-vbi.c @@ -8,6 +8,7 @@ */ +#include #include "cx18-driver.h" /* @@ -56,15 +57,6 @@ struct vbi_anc_data { /* u8 fill[]; Variable number of fill bytes */ }; -static int odd_parity(u8 c) -{ - c ^= (c >> 4); - c ^= (c >> 2); - c ^= (c >> 1); - - return c & 1; -} - static int decode_vps(u8 *dst, u8 *p) { static const u8 biphase_tbl[] = { @@ -278,7 +270,7 @@ int cx18_av_decode_vbi_line(struct v4l2_subdev *sd, break; case 6: sdid = V4L2_SLICED_CAPTION_525; - err = !odd_parity(p[0]) || !odd_parity(p[1]); + err = !parity_odd(p[0]) || !parity_odd(p[1]); break; case 9: sdid = V4L2_SLICED_VPS; From patchwork Wed Apr 9 15:43:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 879643 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.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 5EA95268FF4; Wed, 9 Apr 2025 15:45:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213515; cv=none; b=RWlG4ZELquys+etRNx1GW0UokW5wLPPi3dieGcuaU0IeBlpCG9zLLJvERAtKSFYhh0QX+/nZQn2dS4fo5DIThq0mZlG/gbG6nfNsyRY85LWN8C3djGekbVk/fM052wcxH3JnqeJGKceUOD2HoJ2QVPfHba7ecIWKExJ8+lTELl4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213515; c=relaxed/simple; bh=K0cAwDEVmURUDqUksW8EcGktpkwwMicB1j4NdDMd+qk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=EG7HahJMy5uEswSSTS0UxAz99MemAmWKo/HqgOnCAZF+5eq59HXTj7lFb/xet8VQchGXEANTDQLYUp7gvvwUR5GhP5FAmPeC44rvSlfUEnqeZ3dD33VCwNzyFImTCeGtdTF6XEdumUwMJE7cc9xkBaY5x/Z5eGzOOunV/p9JRww= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Yp5neykf; arc=none smtp.client-ip=209.85.216.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Yp5neykf" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-30155bbbed9so5428840a91.1; Wed, 09 Apr 2025 08:45:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213513; x=1744818313; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0vmckaFkj9v1ziFLew45kxKFqGeGwuFVGwp5LAE34T4=; b=Yp5neykfhTG0SHt2a7y3GvtiN8o0sZoy0Q1IxBIKAAort5+PNOBMwqT01t/kGWPA6r rU6k2PjfJRSwNFohdChg+ni6HD0WgTpaGb8AEvS0UqmJE19vqbjtUU2yjIzZRElFXl1N Ka8TlYzmrufh9pQ4HTu4RNLosHVmB+e7HtByyhi5dGRl4kEhAQyENDGf2nSMePbipKnx UQGMKoecLeDNk+wOpsfjjAgo5m7S8wxN8+BkHMC2EkG6ozAsHUXKqa1ek3D9MKP89tSL fuUmnfD6w6z0MoQ1o12/IIKWOCRactbWr2WGbfXcJ7V0GuEwIrGF1161+1sfHr0Ugtck Lw6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213513; x=1744818313; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0vmckaFkj9v1ziFLew45kxKFqGeGwuFVGwp5LAE34T4=; b=UuBeuuzWDb/HWtMSizY0SRYSRBnRRUnzwoHaw1GvsAU4QsWEqjGxh8QtlH5fUnDzbm hQCarK0ivsnGzyhQWTXXOuxw7v+zIbKToCRH2+IPSkINcG4Zjezo1H4wq3SCgFyHam5K h1FPaHqF84tm0b5kl/xAjggQoM3dje4p4D8uSf3m7HoToO9VqYdrXjVq3Re6ukuP9AyB hpbryIG78opEENHe2MWBNY0m32lOEmBNcihraKyXXZ1w1ndL9r8kLgQPl3gR+d0WKIJr x43ASo+8oE3e2oWyH+J/qsxSC8k4UXndN9UKyPllBqLUF5tCZfyUeEyWt4MY9rvSBmtp 7NfQ== X-Forwarded-Encrypted: i=1; AJvYcCULa3qIUkuVjfMMQuN4kHFDle4wFMu+QyAtSXj02d45FE5Eha8l+A9lnlnrqZrZbuVfvkIA0Vy7Ra3xglI=@vger.kernel.org, AJvYcCUoQBCMxXywFm4IML7ls0qo5+IDipmJbrpouaZ9KTJOfvKKwdMsjdni0OoDyryUE6BYM+4=@vger.kernel.org, AJvYcCUqqdVzJ+flURfiIeQNWvOj5HxrKlNFeu6/EK2BH6CrYbCTmCOjTaqFCddKcU+Yh+s+jGwiHvMLTsUvRUo=@vger.kernel.org, AJvYcCWBqtKS/nli2oYvbH+UfeqY6UKE5UbPNMLC9BVembZvl4wEGzVE9z2LUFJT9259j2jj5wuwEqKkhU0S55BR93E=@vger.kernel.org, AJvYcCWCT0d5/wRAxwRlajjU8k/Rm2gJnmlAdQj9RF9fV7jmF+B97833a8FouvcMWQ3hWuwYtHO5UN3dZFNv9brf@vger.kernel.org, AJvYcCXLNAxrS/WEOwyIF2nt6FxWdqGpvGVp7TFr+aKyaCmA86QhgPDGKP0QBEiR88OezUYzAXpM4ekS@vger.kernel.org, AJvYcCXT7TaJq84nHcXc78Cn3z2Ul0ox9L65QT5I+trT6+4odPxrl3IHhJyKXc8szVHwx/L/JMw+wNOkgLARBgc=@vger.kernel.org, AJvYcCXWigFXP54oyv76pkkuIf0qt6p0nac5S8AYQnuFzr/+GnqByv/0rcjSEI/K+2AiVzvkxyFhGRGg4Aj9dKzv@vger.kernel.org X-Gm-Message-State: AOJu0YyUSdGkFTP/iJCKsYnAW0dLFcaIoXLzEI9sfKqvkuQ4hTASvJpU URF4vtI9iY4MTwXU3cdBxZdnWf5odWTaCbuSMzCXu08vk0Q7WE81 X-Gm-Gg: ASbGncuiorhqT01/DW1OqWxcpv75CHYqBXtc/jeJNOY6vEx1OwnGO/XgwqZcCdMTkCT WYj202+kLCF7EELxZ0ssgICrE6G7H3tdUg0CXJyzFhVfaNKiZhcLp7h9S3E19nfDX15YK8eDdry Q29AnCQ4v0skQx80iEYVLDKynYPT3SDqhXl89IIBPWsHEQ4x9gGgancKpRTs6rXkdzmz7qPWIFM lpRlIycdAQUS48lOfFWSD53qt9W8o+ANgS9E5kMswWEFvvFma3e83EwK3US4EdiuFvqFZ/Pv4W3 57/QoiPpPWL0wpjOq2EWSRphLZqvbG0BkhbbuvG0HaA8GKC563HR1p8Xs3Vqh5sFlAPY5II= X-Google-Smtp-Source: AGHT+IFGakXWHWi8mPXKxnYyjY+QGe+hrJ1DKxm8mqQTtmCR5lZ2ol4+lqNevSMOwq7LjWocz+r/eA== X-Received: by 2002:a17:90a:da88:b0:2f9:c139:b61f with SMTP id 98e67ed59e1d1-306dbbb557amr5410743a91.14.1744213513621; Wed, 09 Apr 2025 08:45:13 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.45.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:45:13 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 04/13] media: saa7115: Replace open-coded parity calculation with parity_odd() Date: Wed, 9 Apr 2025 23:43:47 +0800 Message-Id: <20250409154356.423512-5-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Refactor parity calculations to use the standard parity_odd() helper. This change eliminates redundant implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/media/i2c/saa7115.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/media/i2c/saa7115.c b/drivers/media/i2c/saa7115.c index a1c71187e773..a7886269dcfc 100644 --- a/drivers/media/i2c/saa7115.c +++ b/drivers/media/i2c/saa7115.c @@ -25,6 +25,7 @@ #include "saa711x_regs.h" +#include #include #include #include @@ -664,15 +665,6 @@ static const unsigned char saa7115_init_misc[] = { 0x00, 0x00 }; -static int saa711x_odd_parity(u8 c) -{ - c ^= (c >> 4); - c ^= (c >> 2); - c ^= (c >> 1); - - return c & 1; -} - static int saa711x_decode_vps(u8 *dst, u8 *p) { static const u8 biphase_tbl[] = { @@ -1227,7 +1219,7 @@ static int saa711x_decode_vbi_line(struct v4l2_subdev *sd, struct v4l2_decode_vb vbi->type = V4L2_SLICED_TELETEXT_B; break; case 4: - if (!saa711x_odd_parity(p[0]) || !saa711x_odd_parity(p[1])) + if (!parity_odd(p[0]) || !parity_odd(p[1])) return 0; vbi->type = V4L2_SLICED_CAPTION_525; break; From patchwork Wed Apr 9 15:43:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 880098 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (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 9EE73264626; Wed, 9 Apr 2025 15:45:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213529; cv=none; b=kfyFEIlkwWGuYH8hklY1PrXCKPD2ZYYlrjqdYZpkZ8vgH6rQJwwyF+EF83eM20FVhqZSS4OPknGordB3oFov1kmrbppYAxbbKLpT/TGyO9t76sbYmWDgq6h5C9UwkJWlroa17pzRj/u/tzu2uhtyDTZ0j0ELlYZsv+xrwYDodQA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213529; c=relaxed/simple; bh=jkjX77x+yr1fdHrJPGX688zF46uEgQ4FpItcHmWaXzA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=qOA7AsqbFWsrBMAmNj1nIOYSzCUmkrVz4X5yzp7F+L8PafP/xa+uA69f/qZsMTMgoJLAeBj/U7TX968/5jA/AmexDw9e6uKNZy0h23169UJzxwd0VeF7WuAsEqvXVxGEpjl1Kc766JR7BCIWzgYjT/Mi2e5cwfwzeGlTX2w6Tcc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Jwx4GzSW; arc=none smtp.client-ip=209.85.215.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Jwx4GzSW" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-af6b02d9e5eso4882001a12.0; Wed, 09 Apr 2025 08:45:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213527; x=1744818327; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eUZBDj1ge3+4V9XGnjqkyMjyFYeNbBPtxuQpoO8Pkmo=; b=Jwx4GzSWKVoAMYuvxL1oFBashdRJfPsc1Y46XwiuMl0Zq46nNMxK1GQsBzEATCsI1o 5I38VxZHPWlHvYL5rV417U067Fngva4xvUR2KhjU8pVev68tOZRAac0Ck9s642u5mJUm BlzmRkhFKM9COpBrHa1eJAI6mq8Uo2Pa+LGXLOL1J7ixV1Vy0/jIxfn2MFqpzNqnr4CO ahD4wXGSQPAvOFlm1LCENlngI8dJchp93QMyLnmN3X6TKHY42V0DrJTCCk9NgKj07xe3 Ox4O/Mlq8d/9KvxZfMTC9aobBzNEMsI/SaOKEcv3003N3kRhieVrtCkYKj8Yfdc/6ukG kR+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213527; x=1744818327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eUZBDj1ge3+4V9XGnjqkyMjyFYeNbBPtxuQpoO8Pkmo=; b=tO6l9ADceb7ksduzC67t9aWbUHBOAJ2rfxDV6pJmnuZQw5BZJy3LWPBTgKb8YJlC/q 6x1tAzEFJFA8JmkKFeM9Um+gpwfTrIQo8+1qcR9R0cKyTSKOWsdfY38820md4MdyIFx4 ZIGaA9ZQX38+zRErW0NHMsvEkq/MK+Twxo45FizPMLkJybzYNWSn55v9faAG9rNsaw3v LUF0ns7KhpDcIx6+oGApvGKylpjofutyL+t+SqbdJvvJdSqFV5TRRxxb+ayNdMe5vrLp 8qrH8N8t5hQrKviAor5rhT9vaOWzIp6MeZzHSeq45Faq8KeFzoQ6Ahd5A2iXC+p8WAMl qCRw== X-Forwarded-Encrypted: i=1; AJvYcCUIrRVS0d9gJLXkXTpWNH/47iXnNewq5/kfmTlIJ1xErVD8jUJTZ0tbX5AIovhmN0XyovWkWGbE5RGVOc+O@vger.kernel.org, AJvYcCVCKLJpTFFdqJNUpuSL4afjdhKSStMRfzYDTWN+N+40uWnBg6eWE95OxdaYh/SvcVnVmkq+VYHHAGFJEPY=@vger.kernel.org, AJvYcCVWDPrcGSBqvXn6EksbD+sGqbszUCMBTErgxCV3SWjzlfywMzZNcLGU0WuYF+Ua/YKow0w=@vger.kernel.org, AJvYcCVciIRnoVBAXxv86W2dv+3ZVxJpYn4qpf/dxRw+TdQuztmuOKi0UySfi7shAarLK8zgyczRsMD9/TEi2tk3wsA=@vger.kernel.org, AJvYcCWR28KIV3cT4oRurZaY8e0gwExtDUUkVP9+FYCa1ci2UetFO+0WUskOOwCFlF4/byUM/NQHJ+m/g9KCBOY=@vger.kernel.org, AJvYcCWup+1p0mZCh8m85Ejfuwo1R2ktDXgG4MFx0ylvrxjYWr3cq73SOqkZ8ncY14Ozoi3MJLmu/tcs@vger.kernel.org, AJvYcCXXNIe5dEdEeUHZdls4cUHs4raaugyhL1n8SfDmwZA0zTqS8gHsbJCjO2Qp2aHWQTqZJHnkqmjAbfdesPk4@vger.kernel.org, AJvYcCXj2ii+pY6S0ssIB+9VttiErAIh2jdOzN9aUKkFKoUDngMfP91jgDE9q/EEw99APFmLjpRSNhZeg1WojX0=@vger.kernel.org X-Gm-Message-State: AOJu0YyfB0CIZ/iVzZi83GOcsFt7/ZcRr01VaX3BT3+wxmK8vXGXMU8y k+5T1O0iW2llSKxh7v23FCzH73Mr8Ha+Ex0cMoCQZ6lxLNdaNEpJ X-Gm-Gg: ASbGncuEhqpFUU2whkL683vDSQqL7bU1lqc5KijEuf7Pwa2pE2pNIjBpFEnLA6LqoCO ONMsqOId2C8A4Glzjv5CezgHaegxtzlHyCX3Me7Bums7rsghRLQgll0LqCVxoHHU1F+q2goTYD3 5JOBbsD2TA1Ub2tkEKdhDK74vk/IwsjWIFHY8vF9Uitcnbg1Hf4s0Pmjgk7POpbpFVMMU7StOSy lvDr+YVLvI8/vSw3gX0yQO8lD9MVVgdeC42s6JtJxioDBDPv2kzD8AnMfYfeNHYmFEWiPd0tQA8 eOkPHfwBXbDgYoJcFbSSG+YL7/X+2gR2d6gmAt+810TUUMlahYv885YjIuSLKTNdeNnnAig= X-Google-Smtp-Source: AGHT+IGnNb2L5TPy8ZRk67DQoWNz3EnKr3D/3b81/wzKSzl4+H+Bebt+R4hGqZaj7Jkg168nL9a84w== X-Received: by 2002:a17:90b:2e4b:b0:2eb:140d:f6df with SMTP id 98e67ed59e1d1-306dd3247b3mr3471228a91.1.1744213526748; Wed, 09 Apr 2025 08:45:26 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.45.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:45:26 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 05/13] serial: max3100: Replace open-coded parity calculation with parity_odd() Date: Wed, 9 Apr 2025 23:43:48 +0800 Message-Id: <20250409154356.423512-6-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Refactor parity calculations to use the standard parity_odd() helper. This change eliminates redundant implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/tty/serial/max3100.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/max3100.c b/drivers/tty/serial/max3100.c index f2dd83692b2c..36ed41eef7b1 100644 --- a/drivers/tty/serial/max3100.c +++ b/drivers/tty/serial/max3100.c @@ -16,6 +16,7 @@ /* 4 MAX3100s should be enough for everyone */ #define MAX_MAX3100 4 +#include #include #include #include @@ -133,7 +134,7 @@ static int max3100_do_parity(struct max3100_port *s, u16 c) else c &= 0xff; - parity = parity ^ (hweight8(c) & 1); + parity = parity ^ parity_odd(c); return parity; } From patchwork Wed Apr 9 15:43:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 879642 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) (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 DC794264626; Wed, 9 Apr 2025 15:45:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213546; cv=none; b=sTIImG7xYcJnNEeo8gVp7OyTq2hSh929mhJngGMlFW3MGDqtVDlQo7p+k+bGFLuVKAH/syo13uH0gggDtxuFao2kIK5da7kHK6PEN0w6rgSififabcegKh8U+4/H87i8ztZ9jgXvcevC7HRMNnryMmNWciJxeHwlljHz+FartzQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213546; c=relaxed/simple; bh=yUb8DFUy4I0Hz+Ls1dIGoJuPKJueQIprpNYXIuIwr9k=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=U7lrZPC7RN/GSfEGC755Xusnlelj4UzZB3PByXfAVwXUswFdcZWsnp+X7DQ1Xjh2AFwVy6lIkGfR1Ldkob7fh1M8UCWBH1C5Vv+FEAevXOOIbZ1f+jhQuq7CfLbNLSl3zwWokFGZLtD/VK9sgby8q2E68cCCZWND5LDPGBaCx0g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=EWZ2KV6I; arc=none smtp.client-ip=209.85.215.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EWZ2KV6I" Received: by mail-pg1-f180.google.com with SMTP id 41be03b00d2f7-af93cd64ef3so4766632a12.2; Wed, 09 Apr 2025 08:45:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213544; x=1744818344; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sTd+jcAteb5XQtuvZoTF72DclP9q3bsZAYfMztua9WA=; b=EWZ2KV6Ica3glvCCM2o7V4VctnVKco9QsOK36Z95IcmX4cHRZP1TooLLR2nQXCc0UI WCb+S+/hBGuyObmxnMuNDyYfOaQGd6LVvTssdjXWFZgpD//5xcJlusy5sZT3zJG8LJmM /Larg1q9f6HkmEsFoQqK3pp7OyKsIBdVOOG6ESlgvZYcIq06q4+HVcOKIrQuVdhEpLs8 fKx7zJUqFY2MiRQyoW07msk3HcKGMb/HfhDlxl3Au8XYch7/gdzA7WpWdQ7CZnFUurGq tnFFwiNJb6zXdnQYJcJA1VWAyimsY4N4pi5WhwRTnQTlU9SYYLTQYBu+sPuURepGNogH 4d3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213544; x=1744818344; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sTd+jcAteb5XQtuvZoTF72DclP9q3bsZAYfMztua9WA=; b=H2pfIfhVGVEvA0VYVPe24zPMYYnPyEbSGWGyjIvo64viSyoyoLkpABaJKnyxHtwZLw NxYxqocCcFlh8Z4mrdw1hL8059WzYZbux6h9N6tk9hThoWWqPMPQel9MBz4t1DDx3t6v 2lBPTc1GWFMwACng2T38rdhRK0j6ZRrGLIhj3vviYmYljDAz8ryDh8zHOpQbTOQoAG9o K7ZDqE1/jO5UkLfJNSWtOpX3dG5FnaJIjku91L0dZYpA1BiIHytPe664Fl30BULPOStx AMNjEwvW/qdUdNqhDQTnpg1frEii5JHs8QpW9qjrZzcTNDsJsvTGHtoN06fvUA9pRp6S DL+g== X-Forwarded-Encrypted: i=1; AJvYcCUDTT23w5+DLma73cI8j/uK2G4oOCU/xmlKML4Fa9Jf/OGxQDCrnSm8/+dMVNVElNM8TGs=@vger.kernel.org, AJvYcCUTlU+GYa1t+P8yWgKc2Qd3/GckvZ8KZ4Vw5ZdnYYbnadZkJEfcxGLli9Rm4X3lBuvA6jQelglRyushVzY=@vger.kernel.org, AJvYcCUVE0v/+x/JCw0DTFz9xPflv+msIEkRhW1LUg5xNpThNzRB+ZmRqFEE6v3pZtxNXJjeRpHkAZReoExgKRU=@vger.kernel.org, AJvYcCUbdKh6iP9SBK8bVWNK6LHZanFTYiNkbjpQxeFlzTEdYEejtbxK2v9oCNjiKukF3JbDwbvRIe4p@vger.kernel.org, AJvYcCUx0g8tV0qR4xfbJL3LmTvoP0fx8mW1g5vJtadizYE9jn9yFkikg+Ek667sDkIr66zjH/4JhhBHrGTMIveSKSg=@vger.kernel.org, AJvYcCVRArNSNv2dTlXXG1GYkaxW5UwwjwsMqFJAYZIgpZH8EklP0N1UZTSA3Hl6DkCkDguhMlNAbyd4+qleRFY=@vger.kernel.org, AJvYcCWZOQ24cPibSdj5CJF3kNuE3SaeOuDNOqWr8nlnNR6cvfJ/2M7wGvtFE+CvtcsmLG7En4es76QGSkp5IGxv@vger.kernel.org, AJvYcCWrjKzKLUOyWwNhWh5bcHTquzlD2Mw++nL9HzW3ybNxIYCztFlq4XC9t06eWFD5JLKJuZpTrDRK5QR4+CsS@vger.kernel.org X-Gm-Message-State: AOJu0YxOKHHkJwknEHEglSd4WSWYVHiQXlrc5rs29SU043R1MqeZ+StD jY98t18cCTcvfAAVj5Hm9bBq1SDSTIbcm19yXTd09+DOIlJJygCw X-Gm-Gg: ASbGncveqyM1hdaGtQCzTILkW+6e50Ho0Z8Vjbf5fwT9+8fMh3jS8pHbSwJVReV2/UV DdBmEsZXD3fJ5l4Q89By8ONQqBWwBKKeA3mDViw96FcWwr1tPyxFujJfPHQXgO+VqgUUf22HPus 8IVAryT85bO+eIGtrYFIueC5N/z6DdLPhG2iSyqs7rmCDGnADp4E+w1JjYxjMG3546LUsi0tfr4 DpbUxtlTm1mchGkdyXxZ/6Qlm1G1lD44qYz3ipKPT2hN44o/cKXVPyJo3xMtff0wtrulAGAcXZy kHraeiLlfd7CApgsNbJVjZ0VE01xRPRfaM18gWwjab5s/uE0lH8VuAzTL85q3qdd9cKkLnI= X-Google-Smtp-Source: AGHT+IEJ7Jl6M7/jx+b0QfG2QtnETYXioK/EteWOwSUQmw7SIb5H5CEFmuEhS1eLp2rAJpsPWE7AMg== X-Received: by 2002:a17:90b:3d09:b0:2ff:6fc3:79c4 with SMTP id 98e67ed59e1d1-306dd56b507mr3990247a91.27.1744213544132; Wed, 09 Apr 2025 08:45:44 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.45.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:45:43 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 06/13] lib/bch: Replace open-coded parity calculation with parity_odd() Date: Wed, 9 Apr 2025 23:43:49 +0800 Message-Id: <20250409154356.423512-7-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Refactor parity calculations to use the standard parity_odd() helper. This change eliminates redundant implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- lib/bch.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/lib/bch.c b/lib/bch.c index 1c0cb07cdfeb..3f14d69f373e 100644 --- a/lib/bch.c +++ b/lib/bch.c @@ -311,18 +311,6 @@ static inline int deg(unsigned int poly) return fls(poly)-1; } -static inline int parity(unsigned int x) -{ - /* - * public domain code snippet, lifted from - * http://www-graphics.stanford.edu/~seander/bithacks.html - */ - x ^= x >> 1; - x ^= x >> 2; - x = (x & 0x11111111U) * 0x11111111U; - return (x >> 28) & 1; -} - /* Galois field basic operations: multiply, divide, inverse, etc. */ static inline unsigned int gf_mul(struct bch_control *bch, unsigned int a, @@ -524,7 +512,7 @@ static int solve_linear_system(struct bch_control *bch, unsigned int *rows, tmp = 0; for (r = m-1; r >= 0; r--) { mask = rows[r] & (tmp|1); - tmp |= parity(mask) << (m-r); + tmp |= parity_odd(mask) << (m-r); } sol[p] = tmp >> 1; } From patchwork Wed Apr 9 15:43:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 880097 Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.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 EAF8C269B1E; Wed, 9 Apr 2025 15:45:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213557; cv=none; b=hx8wIKTjSmla5F02jLLCekNJv/nBE5OYIQkUHHwPRvO0uYNRGWbL6lWKvCf+GqLMsmdXOoN16ssjY5LidlQ/T0APrXFWRQyVCkqKdVpfE0+aGdZqEWsk70O3n8Y8vhAVTGMLxTGtyLw4cCKLmP9jWQ90VXuAFieTdXPcAtFmYW0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213557; c=relaxed/simple; bh=ZVFZHQQQk+HI/N3knvHhmroiCBacVnQihS2YvtGWow4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=CPwwz7UsMRwQDmOk8bdQdWpFD9+V2jlDBolVuP7l6tNkFeOsz5lmIFkRGVgWgTLQneI5z9rnlw8zBqTZ7t+BJEusfqlBzmBQkK6nKnQV+LxE7Bz/wSAjzssNjs0H50YXh0jzWOuD1ib0fbJ9EP1hxoyOw0smNglIE1WYX9Uc/PY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=C0WWbKUv; arc=none smtp.client-ip=209.85.216.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="C0WWbKUv" Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-306bf444ba2so3508756a91.1; Wed, 09 Apr 2025 08:45:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213555; x=1744818355; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3GTX40p8Eu+tWq8rarx+bIs4dwN06BcTyPGidfavgSc=; b=C0WWbKUvv8mvPS2zeiiPUoh1fG0DtaBFEqcWCi9nLlovGQTUrMcx//tMLqkulVxxfj jcPKFbpGDLxR9hGix1kfxKYwXBTiNTrWrBG47yUMQisBKCpVTEa9u/iSIXGiubm8luZg wcS1JlLl+l4QV0yPPm6MVq4KY7+pnEa6GiA1ejujefMWp5zDjTAkazxf+ZVR5je+SPav vPxe/KGDEfewvAOozWSyjRKjT/md9Zyb9bZak2Q4YiBbiwznFNkFLUnRlOMhCO0+hkO7 mcBGb6dADaHTjRSm45k3pCFdoNS+VA+UEaH55i5wSKvqGcMCN5HHFv9tzyRRV4HKJFAi BQvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213555; x=1744818355; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3GTX40p8Eu+tWq8rarx+bIs4dwN06BcTyPGidfavgSc=; b=ZwUTwbkXJJ6bZF5tFUfk5eAfVA+Y66t5BhAf5HqMhrJJVZEu4pPTYDa+lOVHb9P1zA JRorv6C8e8+Vy6sG8Zy6NXYHBa27Hg01VXWH6wHMtYkfIQcjv6Wbpok9qTrHFVYfweSO 0INRv7iHpk5JURn0Kz5BCMqrCMEc1fmWUYxQFEfJGqS1C0v7cI0+8WCTj3yh988BgzSm SApzcmic+Lpck4gNBPzc2mE7IKDDpPOtg1TpYA8/MG3wAY5FE4hK+fkO+bHlflDc8/TH r0UFGymrUoF/1qeK2lB/0yatrlET/+F2Ge9BGFVNHcgyahmGGLWqoQxgRfj4Rs0otRYS TlyQ== X-Forwarded-Encrypted: i=1; AJvYcCUWGj40yQrHFS20nc5lkx4G/C7auhZLlAdwiBmzXIuf4XMo5P9n/+T94huUoM8PMni8OZzTGSzvnIwkY9LOCY8=@vger.kernel.org, AJvYcCUqCJq4ZXYH4vfedwGuUoz9bgo+xiwGTEPb+Mgv21FejGUCQUSFuP0CTUJQm3awX/dfNps=@vger.kernel.org, AJvYcCV22wZXDpfSlYT7wHvR/tcOrdNKb5c/I+4yJLBGj1u3iA6tIRzSQSeGxcWYF+TQbi1k5vYhg2KSIU2t2Qs=@vger.kernel.org, AJvYcCVSQ6NFYF56Fg6K9a7wAuXVE2JVI6OgwW3pHN5DYaZ5aGUSmf1hcvM0PtrOpRRUjLR4YwAOOk+vdNAMpc/s@vger.kernel.org, AJvYcCVUL0hmwVzP3hJXgLYVtzSRzzUu7Wk/zayX+US/2MYBRU0O08lpwJ7ozhWSzlZDpVaHMQ26BNaFhD7F70I=@vger.kernel.org, AJvYcCVhY/Rf2/Dg8wjo/4XV+shh2M16Jg3dL9Viq8hy5Pmr9RD5oC1cxCoL7t0HFexwDo6PM0wtvv1lgDQfV4U=@vger.kernel.org, AJvYcCX/BedmJ9mDErAkA9mAerkI47WidSS9gEMRDcTx3gJsZhHbWtGOzEPfIV4TkNvkDtpKi2RiEPJNLb4+QwyY@vger.kernel.org, AJvYcCXy1E29a29/T/z4LMcMrZ+ZqC2vplFHHcctcT5NS/zF39gxchLHZGfWD2w6ukDmWc540rRNPVNq@vger.kernel.org X-Gm-Message-State: AOJu0YxwzGEfYT4Rnrjfwu5IgdS92IuA5g5jgfqKt1ABHz8Wnl6OliYV HZ5yxk+8yFa8/8/2lic0nRyE4AiaF0VtxuI0v6rykmJ+ZDPuhZxH X-Gm-Gg: ASbGncsgoSnZ25gHbJ/L6uET2AIe8wJw59p8Sv6OIy0CP2kUyDn8kXbY7y82UB2UT/Z /c7l5CLG5ZBSJvQsIEffh5VJxYdGGFdCE/ukaPveQMvHrFZ4p9990IBssHHpuHjyo0v9YktUby3 KBEoues0QIYUVPgDUPhAuyWhs78wITCgcfUjHL3Y15Bs6V9D+1uLfc8gNd20KCIXx/MrKqs+/4U j2zObwF34pzPh5hYFncLpr8rY1pZbRW543AeH0ZJ0XoMcYNfGJsoyfBrcxzQ+ur6tHzvPXNruNw aK/HkyqweI3pwz10xQhvC3wsz2CO65NUdK41wJ9CnzMG1NaPZeZB4yt/j+1qBHDWeuUCjMM= X-Google-Smtp-Source: AGHT+IG+nlKBY0fzC5EpfikKx++hN068mStMCGrKOPeFQ0KT+ZFhaeW1hEnEku5KKvT2BN4jgM2ClA== X-Received: by 2002:a17:90b:2dca:b0:305:2d28:e435 with SMTP id 98e67ed59e1d1-306dbb8e7d2mr5088169a91.7.1744213555184; Wed, 09 Apr 2025 08:45:55 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.45.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:45:54 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 07/13] Input: joystick - Replace open-coded parity calculation with parity_odd() Date: Wed, 9 Apr 2025 23:43:50 +0800 Message-Id: <20250409154356.423512-8-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Refactor parity calculations to use the standard parity_odd() helper. This change eliminates redundant implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu Acked-by: Dmitry Torokhov --- drivers/input/joystick/grip_mp.c | 17 ++--------------- drivers/input/joystick/sidewinder.c | 25 +++++-------------------- 2 files changed, 7 insertions(+), 35 deletions(-) diff --git a/drivers/input/joystick/grip_mp.c b/drivers/input/joystick/grip_mp.c index 5eadb5a3ca37..e7f60a83a89b 100644 --- a/drivers/input/joystick/grip_mp.c +++ b/drivers/input/joystick/grip_mp.c @@ -18,6 +18,7 @@ #include #include #include +#include #define DRIVER_DESC "Gravis Grip Multiport driver" @@ -112,20 +113,6 @@ static const int axis_map[] = { 5, 9, 1, 5, 6, 10, 2, 6, 4, 8, 0, 4, 5, 9, 1, 5 static int register_slot(int i, struct grip_mp *grip); -/* - * Returns whether an odd or even number of bits are on in pkt. - */ - -static int bit_parity(u32 pkt) -{ - int x = pkt ^ (pkt >> 16); - x ^= x >> 8; - x ^= x >> 4; - x ^= x >> 2; - x ^= x >> 1; - return x & 1; -} - /* * Poll gameport; return true if all bits set in 'onbits' are on and * all bits set in 'offbits' are off. @@ -236,7 +223,7 @@ static int mp_io(struct gameport* gameport, int sendflags, int sendcode, u32 *pa pkt = (pkt >> 2) | 0xf0000000; } - if (bit_parity(pkt) == 1) + if (parity_odd(pkt)) return IO_RESET; /* Acknowledge packet receipt */ diff --git a/drivers/input/joystick/sidewinder.c b/drivers/input/joystick/sidewinder.c index 3a5873e5fcb3..fb6f7004a485 100644 --- a/drivers/input/joystick/sidewinder.c +++ b/drivers/input/joystick/sidewinder.c @@ -7,6 +7,7 @@ * Microsoft SideWinder joystick family driver for Linux */ +#include #include #include #include @@ -240,22 +241,6 @@ static void sw_init_digital(struct gameport *gameport) local_irq_restore(flags); } -/* - * sw_parity() computes parity of __u64 - */ - -static int sw_parity(__u64 t) -{ - int x = t ^ (t >> 32); - - x ^= x >> 16; - x ^= x >> 8; - x ^= x >> 4; - x ^= x >> 2; - x ^= x >> 1; - return x & 1; -} - /* * sw_ccheck() checks synchronization bits and computes checksum of nibbles. */ @@ -316,7 +301,7 @@ static int sw_parse(unsigned char *buf, struct sw *sw) for (i = 0; i < sw->number; i ++) { - if (sw_parity(GB(i*15,15))) + if (parity_odd(GB(i*15,15))) return -1; input_report_abs(sw->dev[i], ABS_X, GB(i*15+3,1) - GB(i*15+2,1)); @@ -333,7 +318,7 @@ static int sw_parse(unsigned char *buf, struct sw *sw) case SW_ID_PP: case SW_ID_FFP: - if (!sw_parity(GB(0,48)) || (hat = GB(42,4)) > 8) + if (!parity_odd(GB(0,48)) || (hat = GB(42,4)) > 8) return -1; dev = sw->dev[0]; @@ -354,7 +339,7 @@ static int sw_parse(unsigned char *buf, struct sw *sw) case SW_ID_FSP: - if (!sw_parity(GB(0,43)) || (hat = GB(28,4)) > 8) + if (!parity_odd(GB(0,43)) || (hat = GB(28,4)) > 8) return -1; dev = sw->dev[0]; @@ -379,7 +364,7 @@ static int sw_parse(unsigned char *buf, struct sw *sw) case SW_ID_FFW: - if (!sw_parity(GB(0,33))) + if (!parity_odd(GB(0,33))) return -1; dev = sw->dev[0]; From patchwork Wed Apr 9 15:43:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 879641 Received: from mail-pg1-f171.google.com (mail-pg1-f171.google.com [209.85.215.171]) (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 D910F1C5F23; Wed, 9 Apr 2025 15:46:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213568; cv=none; b=HUDADSkK7qjQdLP7DnmfpVPIqIJttvdTRxaLFe6p9pt8EtrncNuFXtgHAyd/sTIouQMNpcBmHDWWe2AEdhdGapHmKEF0inVLGgTVKYhBlCvCUFUQsbZ7LBLc47AJwusbxeiZGnJ+cUU9LgU8d9PsQ6J3ETvllsHtussabdmG+aI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213568; c=relaxed/simple; bh=D6aTyRfVYrEdl/DsEoiOfCh6E66jdqjJl29yHOL9VgI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=UdrU3JUuEx+jHe+Xh3Y4sxvWTPbEFPAvyFSQBInkWUJE6O3x/tmthAhFTEUzvYYs4cLJWKavAMKCf1zZMKUw17mZ/0BnLAGKA5FOusUVYE43a4LUpQGzRvHcKPZCx5CYZAvN8u7WP9VWku03KMxErGW4+njeOkJWq6lX8xMth2s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bDv9E7Pu; arc=none smtp.client-ip=209.85.215.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bDv9E7Pu" Received: by mail-pg1-f171.google.com with SMTP id 41be03b00d2f7-af93cd64ef3so4766933a12.2; Wed, 09 Apr 2025 08:46:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213566; x=1744818366; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dXLi2SRJHleL6i4thZNOgy64MnVVDpLvymelzP4O5VU=; b=bDv9E7PuxvXT6/dsXmq1QPzuWk5qwvyqVLFjfL9bfeNNe7eo5Rp4ofeOScB7PMIgKl 3EXVJfHWfDGMgdAW+voPFuqaB4l9SdhlmLuLaV5Ce6bq1QoeXb/F0J8RBSqimup3zVFK dJsDmRMIleoN63U0Q96ib3BHYt7L2WVQGn3xeFFz1kng54LVkg8FQQOY3Mh2SSMUc3x+ xXqjsdeeQunzodZzIGCgCU1sDLNQO5s9m5621b7FynqSh/KVUvzwfBCmdndx29lU/FTl GgjFldXKo5ibCqbFIGKbEUFMe0IiJdbgr8zBVV0zHpp7gwqjlsi+eJBC/XgnpdhxC1B4 3FAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213566; x=1744818366; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dXLi2SRJHleL6i4thZNOgy64MnVVDpLvymelzP4O5VU=; b=MowtzzzkRq7gvsgblEs5gs7BSy4OwyWmxLV4SF+GjgIlFBH/2WvRF3dhYpbL4K4dKl ipiXl0erCcy/ZzvmMwlY4aZXjRyoSQAUKEUWSmOUBDs/UU14x3WDCylD8w21ocJ5pocn 9r/RnZQMKNF816fkN1gfpkdeVlgTEWr/D6nTFrr0s8YDi1MRKsaRzUN0hfd8ttEuY/+S y1bDlvyw/OYWV8Hnxn1VqTH5ziRzFil5LES81KwJanNSYtUaf2yzF8C9BzzgIj3nAxAk Atsx49RJQQ54XbGoKvViWJh/zV7lmY0Lt3yKANysKKsBE8GJoTLsxhmG8R6oi0yqnjJE gK4g== X-Forwarded-Encrypted: i=1; AJvYcCV+oTD+UWLQ7bcbpMR98jlmPsPbnUmm1+FusdxEkRJrtflzZt0sMysezXH0La0yZT/AXjB6CILRHA6WfOo=@vger.kernel.org, AJvYcCWJZcnpVfDLu3MMTvMeJ6cEUZHN52ljAueEBnu7pYA90KuEr4rC2ImVipuD16rq2BLCONH+jogskWKmduzZ32k=@vger.kernel.org, AJvYcCWS1ip4JqIxXv/Cw47jks3YPPw267/2N8M9f8qXT8lGHrJre2HA6GlywZFfDBYbkS6lPdBoiTC3h/kxdIao@vger.kernel.org, AJvYcCWVacpAEVyhEUCTW0/Mo899XplJOEVAfKmfynFVqkwrC/WiynJ4sB0qcwVi0WSweeaugiwOWEajJmKTUEU=@vger.kernel.org, AJvYcCWVg3owHDZdtADMz9Rxb3uTFysagV8fs80IN7RnEDK9P1TyDZcoNAx6ogOAsl5XW7hoeLQ=@vger.kernel.org, AJvYcCX9psm/s8VPqLhGmsN6XZ8t2tRbSr8iDofBuN9uRef7G3u6lRoj4h54MQTw1g3ER6BtPcSxNKNKbLRGMdYM@vger.kernel.org, AJvYcCXNtF9F2BmIxc5E/QZF2fscNojEq8drGz9pAC4vip8Pfzqdz558CzBcOAuXX6javmDOiDyMmqOz9FNQTEc=@vger.kernel.org, AJvYcCXjkb7gz0cD4GNiFi0tIrvHITWZgUz6YKoTJZIeoHNy9zvQuNoYJb/Ly3tt+dlB/KUeD6/iMg/s@vger.kernel.org X-Gm-Message-State: AOJu0YyvN50yDWHoSia7hWLyuEM3dtwjSJ2g5jsMMRkJDR0eQjqRXP+C doL73a6AjilcUYqKeski6TI/dvIgPkiOTwVqgfbGD8f7LXYnShHN X-Gm-Gg: ASbGnct3uXE//gY84ylElNIu2yy70iXQmP0u1LMEvDKrnZsoUL/boTzj9zBP8uOZ8qb f5oxK7OVRHksHrJIOMXoT4EY037wsNLT4ievI6KI2bC3f3RlWINqwjZp3dC5DcBqWVsK/caRAiX AE4HU6okM4iIVP7OmuNVk7BpIGUTvv254dP1sm8K+vAtjazuB/LjCgQ2H5nD0XSxW4E9kFAlFmN NtxlGSq26fnzw02FtJcuYquRMP+SHKz6CK2cEMlk4p8drkMu/GV44akU08mv2YZ+onSZQQkZZST xGic4Jm1D4LaTRUNgn3clzUdpnyMHz7NIkT/7hz1zFRNKdD/dtAU8zhnvSBKU8NPKw3/aMA= X-Google-Smtp-Source: AGHT+IGweN+KZRMZ3CYcrqcq5iC29qaxOJUe/Q8yFuoByE0YY1D6tXNucvOC/QvWbivmYcNL8OhrUw== X-Received: by 2002:a17:90b:584b:b0:2f4:4500:bb4d with SMTP id 98e67ed59e1d1-306dd52eaadmr4119633a91.20.1744213565972; Wed, 09 Apr 2025 08:46:05 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.45.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:46:05 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 08/13] net: ethernet: oa_tc6: Replace open-coded parity calculation with parity_odd() Date: Wed, 9 Apr 2025 23:43:51 +0800 Message-Id: <20250409154356.423512-9-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Refactor parity calculations to use the standard parity_odd() helper. This change eliminates redundant implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/net/ethernet/oa_tc6.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/drivers/net/ethernet/oa_tc6.c b/drivers/net/ethernet/oa_tc6.c index db200e4ec284..6734b49357e7 100644 --- a/drivers/net/ethernet/oa_tc6.c +++ b/drivers/net/ethernet/oa_tc6.c @@ -6,6 +6,7 @@ */ #include +#include #include #include #include @@ -177,19 +178,6 @@ static int oa_tc6_spi_transfer(struct oa_tc6 *tc6, return spi_sync(tc6->spi, &msg); } -static int oa_tc6_get_parity(u32 p) -{ - /* Public domain code snippet, lifted from - * http://www-graphics.stanford.edu/~seander/bithacks.html - */ - p ^= p >> 1; - p ^= p >> 2; - p = (p & 0x11111111U) * 0x11111111U; - - /* Odd parity is used here */ - return !((p >> 28) & 1); -} - static __be32 oa_tc6_prepare_ctrl_header(u32 addr, u8 length, enum oa_tc6_register_op reg_op) { @@ -202,7 +190,7 @@ static __be32 oa_tc6_prepare_ctrl_header(u32 addr, u8 length, FIELD_PREP(OA_TC6_CTRL_HEADER_ADDR, addr) | FIELD_PREP(OA_TC6_CTRL_HEADER_LENGTH, length - 1); header |= FIELD_PREP(OA_TC6_CTRL_HEADER_PARITY, - oa_tc6_get_parity(header)); + !parity_odd(header)); return cpu_to_be32(header); } @@ -940,8 +928,7 @@ static __be32 oa_tc6_prepare_data_header(bool data_valid, bool start_valid, FIELD_PREP(OA_TC6_DATA_HEADER_END_BYTE_OFFSET, end_byte_offset); - header |= FIELD_PREP(OA_TC6_DATA_HEADER_PARITY, - oa_tc6_get_parity(header)); + header |= FIELD_PREP(OA_TC6_DATA_HEADER_PARITY, !parity_odd(header)); return cpu_to_be32(header); } From patchwork Wed Apr 9 15:43:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 880096 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.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 ADA13267B1F; Wed, 9 Apr 2025 15:46:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213584; cv=none; b=t1D0IJBRDtS8P1WXgk6dzYxiN8Ko3d/0ZQCP37rCTrk/j26Gj0oF+i8ZDsbdGBrCClvXt8BbhhbHeoQJT2k47JDcAgke1k89u9QEippnGUzD2vVFc01RsrP++Ha17gtEiwhmr+AyFmPnajTCjzxDfck1OHNvGkngnPf6XjNFuTk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213584; c=relaxed/simple; bh=rxppiQbYDlsjNOLABuc/VVmyhqbUYZOfS3L0zA2RDZ0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=APTUgvcrugto+hFcI0xV/MbtHl1ioMonJQ0GJUNQ2cGeTr8dfJQUlozmC058XKk656UYkOLhwZIsEhG1v3cNSERB1j8qCpb9ev/3Zy8f/yCNdqdyjXgwE+OMiAG/b1EQ6DbZy6xkn3l2uf3Pv+MP9+fjeZNObKEGq+TpSAYHaXU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=OCE9UgMB; arc=none smtp.client-ip=209.85.216.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OCE9UgMB" Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-301cda78d48so6369862a91.0; Wed, 09 Apr 2025 08:46:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213582; x=1744818382; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jbWQUZQwY5O/XbpqxBGOs/Motht++mnKBdeylhl46Ro=; b=OCE9UgMBW8wwa4M4Pqcuc6JXkE2gN5fDOnaQNhvnY4FKAb9v8Egth2NYJnUD0X2L4r mOoNNWeg6LtSfvjyLIhXka/6y00HQSJwwseGxDzhfAMJe6OhJaNv/5B6ShuNjND2tnDO 3PB5a7ipQHCJqBctpyBNDsbePwPMUuYvJgMJOSYp8SczZvdqm3/pJH59c0N7wqPqYd3C w4RnJ66n65pu751585Dw1YcJSM4PWpzTuyIEfd7SOjwAU9ZwhjfWW4ae/XcducmjG+m+ D4e+hda8ueYZ+QdNH/gZKqfDb1AEirYHbZ+lJaxjBJ4aEatB2JYg47tRiiaV22E3le5M ZGvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213582; x=1744818382; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jbWQUZQwY5O/XbpqxBGOs/Motht++mnKBdeylhl46Ro=; b=T4I/p/jlaGyAdcVfGlq2hC+Q5tZHYyxBeLNCYPk5nGDJ0ppfPUFRlxLT0VwJlQpbIu ZU0uaK6PLYp7YHDYyhJxbIaHnkglXvWfEfsm5KNfGAKOBSeSq+jraJLhD5j5Kv5cpwNK R4ZsdmlGuNYWYg1cQ/OEdOGeDau6lnsEmYPwkT5VbxF9V5Me9njsXsFqs/NmS0sMOiiP tDJ1K3J6ak3vxBV2aQhNDRKk7JbDtXBjKnD58zD7oxrUl5/LZ5xGPpeAe8bHKRE2ufZg 5SX676ZYqRL/Ea5EvPsaA5usfOWGqBfQ1tkaZpg4W8aizEkpGcWzfwwyKRj2GkgUi98d dVYA== X-Forwarded-Encrypted: i=1; AJvYcCU7LwZB9ZsqmlvX/RjTjAzo2OUr0ulf+sZ8+9MH5Bvg5u+iRGI7YFK5JUOa9T2N0EO2gJPZsYLkX67PO9jn@vger.kernel.org, AJvYcCUlatCt4PSkS0yX+StbSyAPY5JOnCFSiPo0HZjRcJguAwOArsYaHyoIH9/JoUwBwx+53p0rTUd7SYrmsbg=@vger.kernel.org, AJvYcCUltoYOX3ge2wbrn69YKRBdao0MEk/oe9c2SfogEL2SsTbCQB9Waw2+jmrocfwvi5wyIP7td0MK3qgPkaM=@vger.kernel.org, AJvYcCVDtSY+xW2C4Ypd2DT4GhIo4tcvoAzLKySugIbmO6esVgcW2O2anF5HBjIt9SNybprXFUw=@vger.kernel.org, AJvYcCVwHWKjgmSXAtyOskv5xXsd+OhtCMjvm930U3foWYANzo2tKepxMs66ZiZMrlLByW2PyU903VTLvObc4IinzUU=@vger.kernel.org, AJvYcCX5I4Gue1UibJiGt+/liBFtC2d/G0rdIKjM2nhs/hHvBfQ0TqNPmXtYDgTIxtgAfpSTaF5Z/PLh@vger.kernel.org, AJvYcCX8zFxIcSXigSaaElhzJ0bEL3ELs8oh24eeLS68OeTPO+GhVg6ba4a5CboQfbJ4yD6qhhYN480GnlDzcGY=@vger.kernel.org, AJvYcCXv21nQ4w+2fVIDx3wLd6h8aZU9KfGIG23zJ0gkPWZhMjOFTRSiTOIQtf/3EbYnEJujGI4QYxMQ95HUN178@vger.kernel.org X-Gm-Message-State: AOJu0YyFQmdrm3JqHRoNCBoPEm2+uMaetbMufPCiP0tKVFQwD0jxJO2h teA0zkE9eF0IyChuPh/9Ldx8ZAyM09SEgme2r244YA8aQhkm0ilA X-Gm-Gg: ASbGncvqQtWq//hKs8/ff5IEw9o71J16Vv19XgjlcsTnbmoPKewMhnuUuId+deZCxb+ R0BzQ2STytJJWlRyt0y1uLhuOHU9itv7UuGQZEhLQCVKbHQpqng4uYvqT8suBr+cvh0iNhxoXxK GAd1nrMXEJBQ6I25/G+NeaoaV3XOxO1o+p/1byUZnQivVWrb+cY5hQdTh+aV3pdg4iShfNmZtvP ZNy7A9FKvf1MIYCj2pH1ZnmwRWbit+LBYrn17qIJzSAjz4kuTKp5zMGEZb9cACWLZxq86n0kJE1 pxn1DUfpRFk2UXo91oYW6OaCTwmpRuV2kwRx+RteHQ7dUMDuKmx2rzkhURGUF4znVGkzsiM= X-Google-Smtp-Source: AGHT+IEd3EC/Z0ac7A9mI3otjelgXE3L0dUH+HAICIEWTo12gF8GwwD4nirjVp0rJrYl27/5nkbmDA== X-Received: by 2002:a17:90a:d60e:b0:2f4:4003:f3d4 with SMTP id 98e67ed59e1d1-306dbc2a7dbmr4740684a91.30.1744213582002; Wed, 09 Apr 2025 08:46:22 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.46.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:46:21 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 09/13] wifi: brcm80211: Replace open-coded parity calculation with parity_odd() Date: Wed, 9 Apr 2025 23:43:52 +0800 Message-Id: <20250409154356.423512-10-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Refactor parity calculations to use the standard parity_odd() helper. This change eliminates redundant implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu Acked-by: Arend van Spriel --- .../wireless/broadcom/brcm80211/brcmsmac/dma.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.c index 80c35027787a..5d7500ee2d3b 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include @@ -283,24 +284,9 @@ struct dma_info { bool aligndesc_4k; }; -/* Check for odd number of 1's */ -static u32 parity32(__le32 data) -{ - /* no swap needed for counting 1's */ - u32 par_data = *(u32 *)&data; - - par_data ^= par_data >> 16; - par_data ^= par_data >> 8; - par_data ^= par_data >> 4; - par_data ^= par_data >> 2; - par_data ^= par_data >> 1; - - return par_data & 1; -} - static bool dma64_dd_parity(struct dma64desc *dd) { - return parity32(dd->addrlow ^ dd->addrhigh ^ dd->ctrl1 ^ dd->ctrl2); + return parity_odd(dd->addrlow ^ dd->addrhigh ^ dd->ctrl1 ^ dd->ctrl2); } /* descriptor bumping functions */ From patchwork Wed Apr 9 15:43:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 879640 Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.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 B36E5267B1F; Wed, 9 Apr 2025 15:46:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213595; cv=none; b=NsqBZdaJh+8cRgbAWBqF7c3d97NyTGry4lEBi+zoI0FdyjRTDg9vdlwJUgsjO+3cCUww3DyS8W+ewRYkjKqSgcZEqb3bGzqw4MnsZOoOiVbF7lGjduT0YePnfxkh75M4ZNNZuoATbKDAcl09PsUR/kr0P9H4HcxgJnfmYzkCu78= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213595; c=relaxed/simple; bh=QBWyEkuiMWNVhDuO1rQlnUBmammNz6BWECv9ZgXDmxY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=HvfGJuAXMXDly/lC8K+jiivUnMpgarrFrswxmcv8MeSsRIsBFNkTKMjbcAIoRe9sLoLxPXHkznJCncM7tgYscXRxZNnLikU2Y/4dszjREsJtT7zdslba09XpIzTwsZBlg4z/Nj7RrWLl+mz3GLY4Bcxy/6rXLOk4NDSZWmLt2kk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Acq5Z1In; arc=none smtp.client-ip=209.85.216.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Acq5Z1In" Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-301c4850194so5658576a91.2; Wed, 09 Apr 2025 08:46:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213593; x=1744818393; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GxwU2Eo6SZITicqBQinN6iBaz5ky/0lGxu1bDy42GZ4=; b=Acq5Z1Inv1aSe4NrQgTz6p9RBQ7R2/6Va4Qs+dM9/5P3L3HTVXPBabdTT5YUXlrDqA OmGPunnP9ijqP7u0JsEyg7sKwf9UzflsmdOOYYWli5+4VxI3ao2GhMSfIAIruw0wLzFt l6fRf21L0afjODm1FMrerpOoY1iVN+xBfUFgAY5e0tUI9ZWYGfzUk45rjMbcDo+fxdAi VZF5PmK8H8qRRT/oI5b3HHL8FddTgEMFXI36cPFzxA0Uohl8W8KTJJeMnOVwQEVm62P+ hMeGUDzqbscd14mgdP0Qn7z8ZBzVArh5XHX6Q5sh834ihhnweZtZHNCt3zE1Gfem41VV pLhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213593; x=1744818393; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GxwU2Eo6SZITicqBQinN6iBaz5ky/0lGxu1bDy42GZ4=; b=haaqMLyeM1J4zPU9xpOgzhHGRx6D6/8Qlmy3J1PVOW9+ao3iB377s7SSYoacC+NTjj vFMQgodGW+HWo3xpDTvZ9RQEAiHMeojMDBbXa8HUUA6q2eOFrluc9FpQsc8iI3O2dWjB gDMbQwOcg2JbbX1vIkrNlX4x58UzVFNk3buTQ6yWIRfeyU+Sl+cGzWRfPYr4ens7Lb4G M69dU3MAEAZanHz3RH5iCtF0RxQVrDTjfFHbYJPQlPEvkneMSwhDXox5Z6qxsU4hLoP4 hAtXUND34ZXB4yEO5Z4muIvETp3Jeuz8tKGPrSuQtExdRCPTm66+R2fgCJyH+i/NDAdi 5NRw== X-Forwarded-Encrypted: i=1; AJvYcCU+Yws+FJxrSkBManGDElfoJubSv0WpH20nr+YF8soUKLVTW+A+nSL8FUau0Qir+wgsAC0maIclBlr4SlQ=@vger.kernel.org, AJvYcCV7kQYXNYhypDrgDJ5Sb3lvgLlOOf+Hu+03Ngj5T0Ghm0e2JkVHPcc57Hipkh1u3WrEwA4flNb/@vger.kernel.org, AJvYcCVqDhbIt3pUPnPPPFCJ9qrLNHiYKEnQPheZkJnuv2Kh3ZW59gv/4BFWKcIVIk+m1Lqr4yhVTEWtk9TOL6E=@vger.kernel.org, AJvYcCWJcXobDL8F5xKb+nkejv4jjzWZT3erDCvd+leprNy+97Gd6uTWRZoN88pKrgwHVt27HVehTehX6Lj7ShASBVc=@vger.kernel.org, AJvYcCWdv3BFga9tR+MlRDuCReReUOfO7HYc9xaLlRXAsapu83pLVOir/brkf84GYcj5rpJ3V+vg3Zmgx4uH+UK/@vger.kernel.org, AJvYcCWtX5MOMCzUO/oP25LHqe7YBWl7jIyXpMPoVzivByKY+dgaBjwt7VNSuuaYjSxU4oGVRIY/D4sKRkI1/MQ=@vger.kernel.org, AJvYcCX6JphosHhUbHBjUvqizBB0cLk4/5ckFUng1khXL9AhQ+48md1rTu6NMG1XdOnOjd6dg1nC8H5CcS+UWoSr@vger.kernel.org, AJvYcCXwQBlboEroVVG6aB5qsL7XEE2ZwfbIQ5fyxubq2dKVACbAEumqiPvHJMmjN+l6V+3ONew=@vger.kernel.org X-Gm-Message-State: AOJu0YxlXavA8v8Xf3bvJN4889NlPXv0LF4K6ChIyW42mRSdff5M52Nv ByVsiy4VNQ7o/MOpZ0P3kur8K+R4vliWYXvIlEQmpvDPxx0oZbNh X-Gm-Gg: ASbGnct+hVrDRJlravWRr1COL5/U3XW5AjLtL619fqbmEFjfX3NdtQ4vPufKVGVQfPv Md9rBoV9xS0YXMUUVA6EDYuORcbn+0U8s1g3Jwo/ju+98K2GdhSfIXsmz/bZK++R+EP7ZWN0oNm +QCaJzt5h3NfGaduwlstPi74ArA05J4lDHaPMWemb/wtGf1w9u+2E8gS0gu21SpVXD+eDmp05ts cjmk31I88o+Ig5km+Dbyp/nSXnhxUPFAyu526/WuuAFCBg8N2WFjoQzhi7cyx+uPHhiQAObJ3wo FsK1bfbG7RZE0NUUIGeF+bWPR0KSTV2+qpGPgYAq1oVZ/AwkiyTusVYIIgdxdBD6ldy2Zcg= X-Google-Smtp-Source: AGHT+IGJskC9aR+5Dgsn/0q7tVfn/b9wEb0pUAkxSpjYPK7zbEkvmX2PCK7JdW0DCG7ccVky18srmw== X-Received: by 2002:a17:90a:c887:b0:301:a0e9:66f with SMTP id 98e67ed59e1d1-306dd521d88mr4820575a91.14.1744213592804; Wed, 09 Apr 2025 08:46:32 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.46.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:46:32 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 10/13] drm/bridge: dw-hdmi: Replace open-coded parity calculation with parity_odd() Date: Wed, 9 Apr 2025 23:43:53 +0800 Message-Id: <20250409154356.423512-11-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Refactor parity calculations to use the standard parity_odd() helper. This change eliminates redundant implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c index cf1f66b7b192..abf2c72be622 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c @@ -4,6 +4,7 @@ * * Written and tested against the Designware HDMI Tx found in iMX6. */ +#include #include #include #include @@ -171,12 +172,7 @@ static void dw_hdmi_reformat_iec958(struct snd_dw_hdmi *dw, static u32 parity(u32 sample) { - sample ^= sample >> 16; - sample ^= sample >> 8; - sample ^= sample >> 4; - sample ^= sample >> 2; - sample ^= sample >> 1; - return (sample & 1) << 27; + return parity_odd(sample) << 27; } static void dw_hdmi_reformat_s24(struct snd_dw_hdmi *dw, From patchwork Wed Apr 9 15:43:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 880095 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.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 6E53226A1C8; Wed, 9 Apr 2025 15:46:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213607; cv=none; b=psj42xA43HgRn1wNt7emD07s6b5YIeyKFITS9YlvfBSiOyTFOB2dpiuOGO5IKxNw7CiQgpCbc8M5tZ7QgJARJWqtqYqEuSs7s1RBA/mq1QdTHpb+jvpj3dDPV95Sc17EyA+4s21YFZxKta9tdzu2NJhrPHB+HcScfvm298oCYuk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213607; c=relaxed/simple; bh=86K6PMYrG4Yc7WDoGSRLur+je0yhJ/i79zL8gF3HsR4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=NzVI2sSRbkGRAZe8Dl3Opgd2Bf4dmBEuO+mPTYkDsJWa2QU017jxaAwZx5AhBVioLMPvz8MmJ8c4OndbxWyYwEopkR+79Pj7Odt13jIBwKS3+yuBvjC9vTveBU2VcCaskLvpJT3JM/UxNOjQJxsXWp3h+wrIXr/MkG9Ar2xwrl0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ZBfd1OOs; arc=none smtp.client-ip=209.85.216.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZBfd1OOs" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-303a66af07eso5487887a91.2; Wed, 09 Apr 2025 08:46:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213604; x=1744818404; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+BuIdzO9eB2TbumWIHS4Jh+TQPJAfCKqhpNNx8Z0il0=; b=ZBfd1OOsGeB6Rxuk3EZhcqH2cKcIQIzZS4jgA1gpyT3sYCqqFKLuXfCo8OsCazCRmo L68dKQ1rH2YZjyvOE5QBCLssmFmBsDFqmR6M0mCfK/soOFAwKGqCDOsBxtAzS5r0ZaH3 p9w4S+WOXkFXbkha987dos6Xe4meca1XVhFVw2neLAv9ImoeIan2zHSJS7KImH2a/eVF yCeBO0AHNNM+ZP+B+97eVi4cEOJc8jWOdhHVhoL1/xSNJv+HVdp1CDFwqbwkIYKdIP8K PHficpw4QYyfZHQIJ85hUgupentM4VVbodkgbY44WIsWXr/i9cfLVEjNBCZUfWnOBcva OhlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213604; x=1744818404; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+BuIdzO9eB2TbumWIHS4Jh+TQPJAfCKqhpNNx8Z0il0=; b=D82vb4HJZZilsbP6KMf58HOSdUxcKKJCDzvLWx3u8PmguLuh85uMIDjPcXk3uvXqAX 7Z/fwOPLRxRYoLXvr7ZsMLAR1oIGfC72lrDHhr0JpCijqXjzUe82H4Tb0OmZn5lo1DF3 PWaHXrzKbo909i9Vn85MwZkFhktaTFpNIO+brN9TdC54O2Z9QEFpijGY5m666Nf2Nz+3 HDaVESamVFvyB5Q9K92/kUMCKxP5+foob9w8Slwen913zb/ogaNiEPQyzqJkBoGkfW9Q w2UwPZncdzpKHpNe6H9Yv9WGfh5UJFIg+TpV+OBFGXnrNi2cxprO7OJhpXCiZqgaf++h i9ZA== X-Forwarded-Encrypted: i=1; AJvYcCU6s6CuNZUDZhnHKzaKNx/EV2SWSLalYhkTjWP23dQMhj8PjgFSoDj+VvfGxMbLQqm0eBioLHvP@vger.kernel.org, AJvYcCUjdnckgfgMCcNks7+BQlMwOOFuXJuoo9iAXaZQezn0lmsQlXjN85GnA6WlD2NeYQZMTCmNLfRXbGC5LDg0iLg=@vger.kernel.org, AJvYcCUmrv9FgzqvOCFk+iM436OHmsjOJJGDh4ksjYwH5dYPbTL2CL7+Hj3y2JSyKgRYWysv7t2FSOFZ3T5Vs6kB@vger.kernel.org, AJvYcCVC1jGZ+nGa3QKWkLXQaWfgo7/e30T2RZRNTsuOkxlBULW5ce7XuMfI2NIfdiaG5ECi25DuGHYAuWfA5Cg=@vger.kernel.org, AJvYcCVYd4tgMrepp3Y2KiL3jMLPo+bvtBnwINUfyO7Gm1hypc6afCtYl0V/9SCwbp/ZamB+2WNaGAkHL5xgLR5F@vger.kernel.org, AJvYcCWgDQ+gbTiCwRioNTEjPxeSOyMhWd17/yDcxqrHvClWo0biYMJdEYmFTTySEhf97Ahe/LpvetzPTZWWGyI=@vger.kernel.org, AJvYcCXBewpRU4OZFHul9CY+6ecKo2HyT3hS+WfnYmTmrfRhGgQvPEwViq9sLmJqyGQ5URxy7kM=@vger.kernel.org, AJvYcCXFx/QAuQTZ9E6frQoYxtPIFCBfyWqzirGwS59yfL00YLQFQvH0FI8DLRdk5vVxW97+HM+/vaU54k4vYdg=@vger.kernel.org X-Gm-Message-State: AOJu0Yy7VtMSlqzp1ClhUCLZyKcYNu4QGh0yXGUznHyd/ntOqErAS9ja yG63SExBOO3oGeR4LEWGAK25yWGzVtgO/hfhrut2+nmz2+8SFQgg X-Gm-Gg: ASbGncsEFHA1FA1iIBDz5U4hiFup5upzCltpZPXz5fSSyCBrQ3V8rcKFAVtFGHh4tR6 LX8k5jSVJa7T11BPl5iDi1/E9tGGU57n+Prx1BVbBBunKuss9wdcse4JQZSno16CmPdzBPkeBy5 +aTq8CZbDRiD1OPDKNtB0wiLMm7KvlDaS4T5aZFGFZZlE13qrnUW7gfbENGXnFoSOpKH09ucvrC QqSso6uwOVPAlNJVfb2eZNno/8EbE8nCtJ1fwhOo3rBPBnYKaQWKSE6BdNZg3L2gxk7ERara2R/ 62WJJON/M5s5lhVSSF/b8G5WKTFi5MLiy2vj+sc1PqwN+LMy8/AmZFaqr818HN5AR8c8lCQ= X-Google-Smtp-Source: AGHT+IHJFVNSWnOegw3VgIiiuGFrSpWrUrgalLTX98dIPQMejjp36YTfz+PTZSsEbZDfgQmuBjYI5A== X-Received: by 2002:a17:90b:2b8e:b0:2ee:90a1:5d42 with SMTP id 98e67ed59e1d1-306dba636c9mr5272799a91.0.1744213603675; Wed, 09 Apr 2025 08:46:43 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.46.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:46:43 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 11/13] mtd: ssfdc: Replace open-coded parity calculation with parity_odd() Date: Wed, 9 Apr 2025 23:43:54 +0800 Message-Id: <20250409154356.423512-12-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Refactor parity calculations to use the standard parity_odd() helper. This change eliminates redundant implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/mtd/ssfdc.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/drivers/mtd/ssfdc.c b/drivers/mtd/ssfdc.c index 46c01fa2ec46..0db4776424d0 100644 --- a/drivers/mtd/ssfdc.c +++ b/drivers/mtd/ssfdc.c @@ -7,6 +7,7 @@ * Based on NTFL and MTDBLOCK_RO drivers */ +#include #include #include #include @@ -178,24 +179,11 @@ static int read_raw_oob(struct mtd_info *mtd, loff_t offs, uint8_t *buf) return 0; } -/* Parity calculator on a word of n bit size */ -static int get_parity(int number, int size) -{ - int k; - int parity; - - parity = 1; - for (k = 0; k < size; k++) { - parity += (number >> k); - parity &= 1; - } - return parity; -} - /* Read and validate the logical block address field stored in the OOB */ static int get_logical_address(uint8_t *oob_buf) { - int block_address, parity; + int block_address; + bool parity; int offset[2] = {6, 11}; /* offset of the 2 address fields within OOB */ int j; int ok = 0; @@ -215,7 +203,7 @@ static int get_logical_address(uint8_t *oob_buf) block_address &= 0x7FF; block_address >>= 1; - if (get_parity(block_address, 10) != parity) { + if (parity_odd(block_address & 0x3ff) == parity) { pr_debug("SSFDC_RO: logical address field%d" "parity error(0x%04X)\n", j+1, block_address); From patchwork Wed Apr 9 15:43:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 879639 Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) (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 014CE267B15; Wed, 9 Apr 2025 15:46:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213617; cv=none; b=ljnHNnrBYdUv1PHmVo+cBLwCoVrQ1IKajXr7P+Ec1oYEOq+1fR/kITmgDsuj5R8j9lo0K9vJZmm8BqPZjryNf4Ve2wkvw0wC7KyKg/MFVWJYyJLcaGlhpc1StwYyfojGLlaTlVvG0ueU+IJX4VVj5PUE09NsA4qsyrM2xiVJalE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213617; c=relaxed/simple; bh=X8Vvsxqf+8EVtFmpaknjrToXsmDQI1ClPOYdeJUSaXg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=jjYJiTKBh3NcfmapDDOo8BOAA8c5sTaKTHmWqxxRykXkZc0nJTpQVz5/LcvQHOzLCD45i/hMv+splIVlQxg5AXbblZ4XpIcN2TM1WCVr/Dlbk2Pa1SGih9V3+mzM2Im25ZsWVmnzJ66BAh3nlndXnuvKoa/QgFMZjhkikkc/YK0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=iSLouCSY; arc=none smtp.client-ip=209.85.215.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="iSLouCSY" Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-ad51f427054so4793613a12.1; Wed, 09 Apr 2025 08:46:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213615; x=1744818415; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qmHMxU2w78+CVBOj7SKK51/xntQtWaTeeSMBQ6WnTFU=; b=iSLouCSYc7YlieviFnZjaNIJ8Oc4LB01ee2CDdQ8Jsk+OsDSXeBZnx0h5ql25Z2kQ7 O/Xyz/pVv0NdZf2/Bug7HBEF5vHzbC8EAFP7gIGLer0wKf77iXaX6IXMxgd5I8RH/7jj TKWK1dDq2BN2iD0acfP8UhMnmKSzfwqYPUZjp+7aCvW3RDu3whXcNc+O70AHebk+hQoe 5NSVz1fEpX6lYcSdasl10PVOvpAQcuuJ3dUg8zQLAQCNbISosS6hQ/zn3SB8eFrt88nT PQRo/VEWI+NlvkfPK0WQ13nlSygDLe5c5tPNDE/axMXHlmP2Y+qGxUGD8tOQ7gaPyxH9 tg7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213615; x=1744818415; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qmHMxU2w78+CVBOj7SKK51/xntQtWaTeeSMBQ6WnTFU=; b=aymmGej54usPaJmUjmXJhJ6XpXVjDmL7GEFv9BALeXolP4akLpfN7XemU0clBbbonq OytMhIzDgaWWshaEUSpP61S65/l87gFF71UuqfsPrBgEXEtCH7RZWklPVaaaSzIbSv1m xNig8Lh09dSBrqSAJZwdKUwbgXchJbnZeV/7eiPgwZx3RPsWRNsMblvD0rrOUGWoeJOg f87QKgn9Ytwoa+2NifsxpuT5tHUkbuCxLlQAN7byUs94rj1H9T/0y69JSe/xEYtCINda 4pjSucBaqc5LptN3c5ZKxNvYj6xPAWeIUxYKegeKuYFhgJuIn5/ol4i2ho1HVmLzaLVf DeiQ== X-Forwarded-Encrypted: i=1; AJvYcCUI04uD5ZUGbVDI2Hmev89ydrbhwdBwaekIKRWAPF+9i72mNvLdNtGFcGpRHQO8g9qObgldAyLhZ7m0qbIe@vger.kernel.org, AJvYcCUXCpCkzX7co9m7GHmtZhuv+OVWHGaY6wKhiPsNccVKbf833rwsEb58dUYLlL/UdWVkLPJwHLkN0F0PtKo=@vger.kernel.org, AJvYcCUm+bqWWXl0WESGQZJa2e+YzbdZSMLTscqFf1jHxTN2rnl69yywYiUBY7RW2K/yqQOoTStD4SXj@vger.kernel.org, AJvYcCUt6BciCYQ4LGi3mgmiGNlFYywbzS08S98Livp4cRV0SNMJeYNbkAG5yr9UUOwla7aFcSI=@vger.kernel.org, AJvYcCV9st7Z7ex3aLCUna93NMaBH/LFnEjzPAB6RhlSs2HJYc7/mD0lM3XIwaGrJ8wdxTm7V+AHWHqfl7AH+rA1@vger.kernel.org, AJvYcCW+qTCLHhy1mNOzTvOerBPNruv7BNGsaA2xqG6gdVii6Y5AXZVSXRm9ihfCz84nt0ySCFD7qQ7BjyKpbIs=@vger.kernel.org, AJvYcCW6ue4jtk+jbn2x2oxfMsJUB5IsjOcusuBYLqKckVc4hIvuqKt3PLqGXKKdULJU4m8Qhzr81MnJ/x+qMBY=@vger.kernel.org, AJvYcCWH38XCgdGZxb2WKUs3NEcWbJWkdwbf28wTjHSnaY52AA9BrsMPrF+CpVAniunkYudGXeqqLpJXqwXOjOK0mVw=@vger.kernel.org X-Gm-Message-State: AOJu0YxKCSpH0MypNXGTMfppU4nb2wq+EQlYpMG0E2HGDnYzunTl5FyH 6xBg4326ub3YhkEqLJHygL4h0Ycyvi11ld//d3zIiupfiDg4GXPo X-Gm-Gg: ASbGncvfpIsK8qXzUztMbVsWdKBffb6mxrbU3xriROWXMNPnx7P78Kw4cfLsiaJASWB dB6ZE8NL2CA0T29lVa3H5qFx/dUU3VJE1o7ACBt8PVQ9GpcE47T1TmN0fZbBou3FtG0v3P6ISjz temsyAG4rL4gxBs2aya2zITJ32gs86sm7BsL8XkFgRUFn2HxvqkX1ppcmvLvABEdvANJhlA8UmG JuPqZrd5hC4ZS0olGWFidi3NzwHGx74PrhMGYQNpYqH5ItqSxMuKTVtM6UD9cSa5HIMXei2AyGj vtRBMxOE3mTkCdE7uECidyGiKBjK/RRaf1iMktNNAFhigyl5sOtbcBDVyeRrFmF/8BGRlOs= X-Google-Smtp-Source: AGHT+IFODj+q3bMay4dU940pWbrerSwhoQdYamKxEyheU1FRVVU9x2vDvw1G0LxNRVOTtBzOvt8phw== X-Received: by 2002:a17:90b:2e4b:b0:2eb:140d:f6df with SMTP id 98e67ed59e1d1-306dd3247b3mr3476749a91.1.1744213615281; Wed, 09 Apr 2025 08:46:55 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.46.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:46:54 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 12/13] fsi: i2cr: Replace open-coded parity calculation with parity_odd() Date: Wed, 9 Apr 2025 23:43:55 +0800 Message-Id: <20250409154356.423512-13-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Refactor parity calculations to use the standard parity_odd() helper. This change eliminates redundant implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/fsi/fsi-master-i2cr.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/drivers/fsi/fsi-master-i2cr.c b/drivers/fsi/fsi-master-i2cr.c index 40f1f4d231e5..692d73e892e3 100644 --- a/drivers/fsi/fsi-master-i2cr.c +++ b/drivers/fsi/fsi-master-i2cr.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright (C) IBM Corporation 2023 */ +#include #include #include #include @@ -38,27 +39,12 @@ static const u8 i2cr_cfam[] = { static bool i2cr_check_parity32(u32 v, bool parity) { - u32 i; - - for (i = 0; i < 32; ++i) { - if (v & (1u << i)) - parity = !parity; - } - - return parity; + return parity != parity_odd(v); } static bool i2cr_check_parity64(u64 v) { - u32 i; - bool parity = I2CR_INITIAL_PARITY; - - for (i = 0; i < 64; ++i) { - if (v & (1llu << i)) - parity = !parity; - } - - return parity; + return parity_odd(v) != I2CR_INITIAL_PARITY; } static u32 i2cr_get_command(u32 address, bool parity) From patchwork Wed Apr 9 15:43:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 880094 Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) (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 9E60A267B15; Wed, 9 Apr 2025 15:47:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213628; cv=none; b=oZfxzAWfRxUbXmsHSFV3MIpm0CaKqWQfdbYH5Iq+RrzeR9fHL7rOTdBJOpTpq3GjnvzVhlZj5rTkwECY1i9TIpiiAK7l9cCpi9MmqF+TDpxCcCqpyifH4Tz4kTAmngWisztWBaX8ZFZlFr24gqHKp1O3RZwvI0GZPn9sKJ96pwc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744213628; c=relaxed/simple; bh=glSAwwj1LCX2HcCq8CCc3CWcWjMh8MB3lFrgIi3HsrY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=SSkRJlXKMBJrU2C9nnXT1HMInog8JMRoUG/bAgIUBNJIkpPgcLTZJOzbDJNBIQSkS6/muaNvE/RI5wNvt3+/7oFSv0znG0JJj9v+rWBy51zbCDHUnUtIx5qaF86BPG+F/aqMmqyBxJNgGoO6IyAgmq86HeOOcbi/4yQso0Y9onM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QicgUccX; arc=none smtp.client-ip=209.85.215.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QicgUccX" Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-b00e3c87713so2134170a12.2; Wed, 09 Apr 2025 08:47:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744213626; x=1744818426; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sCEd/+juUKZOFlQ/4SCoGPbjU2jFBlmcZeDTBbgWCik=; b=QicgUccXfzEZQHfaQ+Z6C0vSi0+eY+adT6ctoCNNmuyDF7j09XL70yVvTloXj/Xn// 1ChFQ36umnZidj1lo6D631FOnWhNtICl/VgFEW35PZQ7+lPsjcOEu2cVGd9yFWAmhSzs 5bhrjDCJxHy11MgAsCbPDr1D1S0Z4z5knENVm6lhae9JYH9Gq3USPaBRp4+649zh90S4 TN2M4WwPuCBQXLrDdJfP5V5eXKNn43G3nrFN40qYXAHU3OcECoUEpOz216TNJ84V0WVQ u/u58B0YGJXOWyJOQb8WV1ASwYUuJ2FiK8WqMJouvgTGt9uXvVAMl/oZO0LJXKkU/IPK z6xQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744213626; x=1744818426; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sCEd/+juUKZOFlQ/4SCoGPbjU2jFBlmcZeDTBbgWCik=; b=KFktOBSLjMj5DQyrQThMaqkKGamHd6iIJs5yBfDNqQm7mz7Mr4tro1yaC19m3FshXS FFdkYnMeoYwS6af9sJqFx6PRi8ECfi9xyuMoxAiXJZSf7U/L3Vo+nxnNAYKqvmaSNXnk WbhbXK0rj/NP5LxeotNfoSych5kXP8nT/oOvR2BTOKVgSSHi1HwdXk8ZzesJhb/MHh0S +evHGuTTuQDLvnpia5kXUqok+fFar0GGlggvv90TZTxCBqgeKYUpJel711m7m7fFDeP5 Bo+lKjQkUvMNKK7i0XtKTeP0fm76y/BpgzWUIqZgXeypHQkT1hucDvIwlEwpXf4LsIJb btdg== X-Forwarded-Encrypted: i=1; AJvYcCU058AxZWdknk6y6nDxydX/l3Qn2EJ1rHCFco2RgLEjsDZKDRQUEN+6/TiMZb1PVBtbWZraVWdwD99ZFPw=@vger.kernel.org, AJvYcCU3DepfKf7cd33aNlqz6AuFTfBBGg07c2cCquftPSj8CCls+BJ9iZx9kfMaeFxcEydkMT8JWlgkOLhAzslD@vger.kernel.org, AJvYcCU6nOb/avaEgBf4czR9xQ/35jJdZFP1TQ9K694fpR6SrPv0p9I/HmgQjfsjAcM/08Cf3VNZirLhT6R8q3niSQU=@vger.kernel.org, AJvYcCUJPG0Rl5shr2gsf/41mqE9hZyJbsZaxsTg5FlhSSKeJZYnJ/NHfql5wXzV6Q77y6ceoew5Fg1/p8G53Yg=@vger.kernel.org, AJvYcCVWnbqnJBaGCfCL4mW+i0IREZSMNYsCZ3m+WGnmLND4DyLsrZwVlPH7nWpAuiCllk++3NKiGw1PnfnbUon0@vger.kernel.org, AJvYcCVpt7s6aY7EAhFiVO3d1aMsL6m2R6eNjiGYmsXLhV5yPN5JJrtp/14O1Tvv8We1q6lhwFzWcnjis78kvAo=@vger.kernel.org, AJvYcCWBGVuP3n2qm77HKwjdBbcuaJD/44rGL9xOYkGOy1KybNRLM4FAdzU/zqNt/eUQSDiONt9jlbJE@vger.kernel.org, AJvYcCWl/cdV/78F1k0BUQE+h+pIyWp5u4jDoNObiMSprsfKG5kYeFiL0ltpKA0hP7SB/l5T6PU=@vger.kernel.org X-Gm-Message-State: AOJu0YyJqofMdisAOI0IY+vb7gJMzi9c9vTXmH8uYXM9+CIOp32EM/UO qxkd3wpcfOduVME8yCm+eTbetMh6HOFmxTy/31NroOOvfzUKQOhm X-Gm-Gg: ASbGncut1NjBIZI4zpCkS2PodorKr++J6PZUV3qxHqYV9XOgXjiXoqumeaBgcNANEbq QGai/q9ERB/Opx0d8wYTMTEq5OB7w4mK0QMSEY3qQxI8sGiMNke1w84ymzZCPcL2/C/Kc5uUsIg 0ZuOBvxAhlflEdloFU+zo7gTUCmEr+knxMUxOJkd3YetKlK2+oz4OHP871McpRFmbfwhAKOX8Cd ZYKaZFILFawl8uheP1MLBLudWx/UqfmNVnm1VY4KNs4ODeJhclarj21yEsFGQVfRBbbW07mUH87 uxNderhMCD8EXny52lP8csb3OTxtbTrfUwo3rYWuUMBZlGu7ojnIZywchoTovxCVr7PiWGc= X-Google-Smtp-Source: AGHT+IF8SQ2JgM5sFunT9Xi0DOo/QXgkDUpLAzWqHE4Pm6PBSNMIs+CrkMQPqWas8YcuXm51yI9Ehg== X-Received: by 2002:a17:90b:58cf:b0:2f9:9ddd:68b9 with SMTP id 98e67ed59e1d1-306dbc0c8abmr4476592a91.26.1744213625892; Wed, 09 Apr 2025 08:47:05 -0700 (PDT) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306dd171991sm1952304a91.37.2025.04.09.08.46.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 08:47:05 -0700 (PDT) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org, jdelvare@suse.com, linux@roeck-us.net, alexandre.belloni@bootlin.com, pgaj@cadence.com Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, Frank.Li@nxp.com, linux-hwmon@vger.kernel.org, linux-i3c@lists.infradead.org, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v4 13/13] nfp: bpf: Replace open-coded parity calculation with parity_odd() Date: Wed, 9 Apr 2025 23:43:56 +0800 Message-Id: <20250409154356.423512-14-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250409154356.423512-1-visitorckw@gmail.com> References: <20250409154356.423512-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-serial@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Refactor parity calculations to use the standard parity_odd() helper. This change eliminates redundant implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/net/ethernet/netronome/nfp/nfp_asm.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/net/ethernet/netronome/nfp/nfp_asm.c b/drivers/net/ethernet/netronome/nfp/nfp_asm.c index 154399c5453f..2f8f78abb6f5 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_asm.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_asm.c @@ -295,11 +295,6 @@ static const u64 nfp_ustore_ecc_polynomials[NFP_USTORE_ECC_POLY_WORDS] = { 0x0daf69a46910ULL, }; -static bool parity(u64 value) -{ - return hweight64(value) & 1; -} - int nfp_ustore_check_valid_no_ecc(u64 insn) { if (insn & ~GENMASK_ULL(NFP_USTORE_OP_BITS, 0)) @@ -314,7 +309,7 @@ u64 nfp_ustore_calc_ecc_insn(u64 insn) int i; for (i = 0; i < NFP_USTORE_ECC_POLY_WORDS; i++) - ecc |= parity(nfp_ustore_ecc_polynomials[i] & insn) << i; + ecc |= parity_odd(nfp_ustore_ecc_polynomials[i] & insn) << i; return insn | (u64)ecc << NFP_USTORE_OP_BITS; }