From nobody Fri Sep 25 22:19:10 2026 Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com [209.85.128.177]) (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 8396642A792 for ; Mon, 7 Sep 2026 21:54:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818085; cv=none; b=QsoVWA2KXgawVICNC9/zCwoxrSVg+pM9uBehC0/9qs1xO646ZL5sqCM8HtiT3Y7552IdZ3/Bz7tqqkTk/DJkgY5OrDS7zRf5bTA+BET/LaTxxZjhB8xIb4EBx1g4eHim7LI5mxEOtBmeomF5LzTROYFTjj5ySGB6Gbvuk+IRXME= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818085; c=relaxed/simple; bh=j0DDQjd0eZ3nMQsdZ3f1Pa74wovJjaApzFKCeaNg59s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UrJ40aH1NIVKlCaiGqQtu5OW24xjAiHF06Pwdtw7L9y3Uxf5WEhQ2knVKtV087eet+inb5XN2VVTrD/zuNwWRhSpyXUV5Peajb5TKyDmEcMO/SexJdByFhqydEbruU7c1LXSOpPUD84I/jO7dIvmRSv8smAe8ki0CHRFRUIwUJA= 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=fDIEO8uy; arc=none smtp.client-ip=209.85.128.177 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="fDIEO8uy" Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-8623b1e7cb2so17985397b3.1 for ; Mon, 07 Sep 2026 14:54:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788818082; x=1789422882; 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:content-type; bh=kt5vYk7oIJTAvWcYqFLR1526VYebZHALzcXyXv4GXys=; b=fDIEO8uyl1O4l8QZ+Hw+z3DESPGvz399XC3yrX0UXNA2IMQpMuRDCKzCwK3qH2p8D5 hMRk06HzLlhGR/coF18S8S2NAj92p9EVOh6hT83WilXDafoS5HPEsqttFNTf3krFEOqQ zY4cquifbyoUWyKmMD9adaGbXSpJP/KyLFELKoaqWeRR6lzZBX23zU0AW0kiLgpcl6wX Uw8BT4krYyd8mYPzm5Hu8JDE1Sb9qMEHX+0jKZoQtfl+ZlONSA08tp0CG/D48PadTIAF R3Lna6sIx+2pjTPUhPzvVbA+74ajzF0Z/57uhr2jhtqaMKOFcwk/pJNa1bHcR5Gu1LA9 7isw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788818082; x=1789422882; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=kt5vYk7oIJTAvWcYqFLR1526VYebZHALzcXyXv4GXys=; b=SKnxgWqsyjuz1D8iBpKwHn8KCCbPbMr9/lecFNuqn0du84jEzkJPluyVlY3HcTub8d PM4PxzGCn3IG+0tKrIHltvFy4G1rxEZ99dIbQr1S2FVhiphgjllcBanQ1BMAfZOh6dMN WVTRqkzFZ8xHMr+g+BIODBvypms/jZVpXSDEbhaIHi2n9/CJwJPqSjQnw9rg/Xmyp+CU Aedj25F4UZPIEYe5sWQvRtkt1dLxbE7D8I3TqFe1Ex5ZBfkVVwofLdooNSRUHaQuFbRW 3lq9YZJYVO9CWwNf6P1ZPRiBfGxT/IPvxnCKj2NZc2oW5zpvG8PsNrT9FmDb9irPWY7S p8YA== X-Forwarded-Encrypted: i=1; AKwUvBx152f7LgkGxIdPDb/TclzpJYa7K0PWDyMXmXiaNDqvlw+VstuGR1l8ZUYnSUE078sTi0LWL/ghqmamNUk=@vger.kernel.org X-Gm-Message-State: AFuF++kH2pzBjnk3QWPQNQA0y7fwpg5Mot1dF9AIyZm5NlZZ47pljYeG 0qZIK9ZUS2s7QBGbqNJzjx3jWi1RrTHxkZkwCmeoNKaeZ0VZbN74kvc8 X-Gm-Gg: AYBFou0Mcvc+gKaBCvgRXmEJSY1f3G6xu2WAD4tiU5z99pC4OLGoe3SOUbPpx1Hr1/k 0NIqgOtuVtVYj2Li4+ahxGjOEyBg3keUPZ+QQnGXjU7tXqH4zrk/hVXgPqL5JG9/bjUUz0tQfe3 4o0ZV+8j5ub8GrhazKGtmVelAvMGPWF17GYpHYTkAzzB5vBG4nPg/qTx5PCxvMUA3GfCSI2f5uD UQd0yR1JKITEWYWD3eX3unJCkICBlb/txlEyp+1mVnu2fvd3Z4fqsRutq4WukgOoWvIL5gvW8l1 lFgslHDgjtlgmoETHpYu6/APmKGbvGha6hma++Lc6Y2+/xRdyVxsTUeB4hhQr9Ax8xvp72DYeZE Ni5CPNnYX47ccapVzRv1tfN4U33Fc89dwOlZ5g5/ewb7vW1FUgPAHD6j3JOyKiwSG+vs6LbEGf2 UePiJ9LdPQ1s+MV4vkO0CpCLBswMwLo1arwPVQSYqmUJCDasgmqP/Jy7OvoVpikaEqbW9Eiyfwt Zsxs+DOafTzL9Zp0A== X-Received: by 2002:a05:690c:4f02:b0:81e:eebb:8e4a with SMTP id 00721157ae682-87123521b7fmr78031777b3.12.1788818082551; Mon, 07 Sep 2026 14:54:42 -0700 (PDT) Received: from localhost (c-73-105-0-191.hsd1.fl.comcast.net. [73.105.0.191]) by smtp.gmail.com with ESMTPSA id 00721157ae682-8714bb0efc1sm77847347b3.45.2026.09.07.14.54.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 14:54:42 -0700 (PDT) From: Yury Norov X-Google-Original-From: Yury Norov To: Andrew Lunn , Heiner Kallweit , Russell King , Raju Rangoju , Prashanth Kumar K R , Tony Nguyen , Przemek Kitszel , Jian Shen , Jijie Shao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org, linux-usb@vger.kernel.org Cc: Yury Norov , Yury Norov , Rasmus Villemoes , Andrew Morton Subject: [PATCH 1/9] bitmap: add bitmap_and_and() and bitmap_and_andnot() Date: Mon, 7 Sep 2026 17:54:30 -0400 Message-ID: <20260907215439.409858-2-ynorov@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260907215439.409858-1-ynorov@nvidia.com> References: <20260907215439.409858-1-ynorov@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add bitmap_and_and() and bitmap_and_andnot() to combine three bitmaps in a single pass. Both helpers return whether the resulting bitmap is non-empty. Introduce BITMAP_OP() to share the word iteration with bitmap_and(), and add tests for small constants, multiword bitmaps, aliases, tail masking, empty results and zero-sized bitmaps. Signed-off-by: Yury Norov --- include/linux/bitmap.h | 32 +++++++++++++++++ lib/bitmap.c | 46 +++++++++++++++++++------ lib/test_bitmap.c | 78 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 146 insertions(+), 10 deletions(-) diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h index 7df1573a409c..d524ef6b0300 100644 --- a/include/linux/bitmap.h +++ b/include/linux/bitmap.h @@ -44,6 +44,10 @@ struct device; * bitmap_fill(dst, nbits) *dst =3D ~0UL * bitmap_copy(dst, src, nbits) *dst =3D *src * bitmap_and(dst, src1, src2, nbits) *dst =3D *src1 & *src2 + * bitmap_and_and(dst, src1, src2, src3, nbits) + * *dst =3D *src1 & *src2 & = *src3 + * bitmap_and_andnot(dst, src1, src2, src3, nbits) + * *dst =3D *src1 & *src2 & = ~(*src3) * bitmap_or(dst, src1, src2, nbits) *dst =3D *src1 | *src2 * bitmap_weighted_or(dst, src1, src2, nbits) *dst =3D *src1 | *src2. Ret= urns Hamming Weight of dst * bitmap_weighted_xor(dst, src1, src2, nbits) *dst =3D *src1 ^ *src2. Re= turns Hamming Weight of dst @@ -166,6 +170,12 @@ void bitmap_cut(unsigned long *dst, const unsigned lon= g *src, unsigned int first, unsigned int cut, unsigned int nbits); bool __bitmap_and(unsigned long *dst, const unsigned long *bitmap1, const unsigned long *bitmap2, unsigned int nbits); +bool __bitmap_and_and(unsigned long *dst, const unsigned long *bitmap1, + const unsigned long *bitmap2, + const unsigned long *bitmap3, unsigned int nbits); +bool __bitmap_and_andnot(unsigned long *dst, const unsigned long *bitmap1, + const unsigned long *bitmap2, + const unsigned long *bitmap3, unsigned int nbits); void __bitmap_or(unsigned long *dst, const unsigned long *bitmap1, const unsigned long *bitmap2, unsigned int nbits); unsigned int __bitmap_weighted_or(unsigned long *dst, const unsigned long = *bitmap1, @@ -337,6 +347,28 @@ bool bitmap_and(unsigned long *dst, const unsigned lon= g *src1, return __bitmap_and(dst, src1, src2, nbits); } =20 +static __always_inline +bool bitmap_and_and(unsigned long *dst, const unsigned long *src1, + const unsigned long *src2, const unsigned long *src3, + unsigned int nbits) +{ + if (small_const_nbits(nbits)) + return (*dst =3D *src1 & *src2 & *src3 & + BITMAP_LAST_WORD_MASK(nbits)) !=3D 0; + return __bitmap_and_and(dst, src1, src2, src3, nbits); +} + +static __always_inline +bool bitmap_and_andnot(unsigned long *dst, const unsigned long *src1, + const unsigned long *src2, const unsigned long *src3, + unsigned int nbits) +{ + if (small_const_nbits(nbits)) + return (*dst =3D *src1 & *src2 & ~(*src3) & + BITMAP_LAST_WORD_MASK(nbits)) !=3D 0; + return __bitmap_and_andnot(dst, src1, src2, src3, nbits); +} + static __always_inline void bitmap_or(unsigned long *dst, const unsigned long *src1, const unsigned long *src2, unsigned int nbits) diff --git a/lib/bitmap.c b/lib/bitmap.c index ed685127a107..85ce3cbaa9ab 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -34,6 +34,25 @@ * for the best explanations of this ordering. */ =20 +/* + * Common helper for bitmap operations. + * @FETCH: The expression that fetches and combines each word of the bitma= ps + * @bits: The bitmap size in bits + */ +#define BITMAP_OP(FETCH, bits) \ +({ \ + unsigned long idx, val, sz =3D (bits), result =3D 0; \ + \ + for (idx =3D 0; idx * BITS_PER_LONG < sz; idx++) { \ + val =3D (FETCH); \ + if (sz - idx * BITS_PER_LONG < BITS_PER_LONG) \ + val &=3D BITMAP_LAST_WORD_MASK(sz); \ + result |=3D (dst[idx] =3D val); \ + } \ + \ + result !=3D 0; \ +}) + bool __bitmap_equal(const unsigned long *bitmap1, const unsigned long *bitmap2, unsigned int bits) { @@ -230,19 +249,26 @@ EXPORT_SYMBOL(bitmap_cut); bool __bitmap_and(unsigned long *dst, const unsigned long *bitmap1, const unsigned long *bitmap2, unsigned int bits) { - unsigned int k; - unsigned int lim =3D bits/BITS_PER_LONG; - unsigned long result =3D 0; - - for (k =3D 0; k < lim; k++) - result |=3D (dst[k] =3D bitmap1[k] & bitmap2[k]); - if (bits % BITS_PER_LONG) - result |=3D (dst[k] =3D bitmap1[k] & bitmap2[k] & - BITMAP_LAST_WORD_MASK(bits)); - return result !=3D 0; + return BITMAP_OP(bitmap1[idx] & bitmap2[idx], bits); } EXPORT_SYMBOL(__bitmap_and); =20 +bool __bitmap_and_and(unsigned long *dst, const unsigned long *bitmap1, + const unsigned long *bitmap2, + const unsigned long *bitmap3, unsigned int bits) +{ + return BITMAP_OP(bitmap1[idx] & bitmap2[idx] & bitmap3[idx], bits); +} +EXPORT_SYMBOL(__bitmap_and_and); + +bool __bitmap_and_andnot(unsigned long *dst, const unsigned long *bitmap1, + const unsigned long *bitmap2, + const unsigned long *bitmap3, unsigned int bits) +{ + return BITMAP_OP(bitmap1[idx] & bitmap2[idx] & ~bitmap3[idx], bits); +} +EXPORT_SYMBOL(__bitmap_and_andnot); + void __bitmap_or(unsigned long *dst, const unsigned long *bitmap1, const unsigned long *bitmap2, unsigned int bits) { diff --git a/lib/test_bitmap.c b/lib/test_bitmap.c index 56bd23059b26..fbc46ed960a4 100644 --- a/lib/test_bitmap.c +++ b/lib/test_bitmap.c @@ -193,6 +193,81 @@ static void __init test_zero_clear(void) expect_eq_pbl("", bmap, 1024); } =20 +static void __init test_bitmap_and(void) +{ + enum { nbits =3D BITS_PER_LONG + 13 }; + DECLARE_BITMAP(src1, nbits); + DECLARE_BITMAP(src2, nbits); + DECLARE_BITMAP(src3, nbits); + DECLARE_BITMAP(dst, nbits); + DECLARE_BITMAP(expected, nbits); + unsigned long small_src1 =3D ~0UL; + unsigned long small_src2 =3D ~0UL; + unsigned long small_src3 =3D BIT(2); + unsigned long small_dst; + bool ret; + + ret =3D bitmap_and_and(&small_dst, &small_src1, &small_src2, + &small_src3, 4); + expect_eq_ulong(true, ret); + expect_eq_ulong(BIT(2), small_dst); + + ret =3D bitmap_and_andnot(&small_dst, &small_src1, &small_src2, + &small_src3, 4); + expect_eq_ulong(true, ret); + expect_eq_ulong(GENMASK(3, 0) & ~BIT(2), small_dst); + + bitmap_zero(src1, nbits); + bitmap_zero(src2, nbits); + bitmap_zero(src3, nbits); + bitmap_zero(expected, nbits); + __set_bit(1, src1); + __set_bit(2, src1); + __set_bit(BITS_PER_LONG + 1, src1); + __set_bit(BITS_PER_LONG + 12, src1); + __set_bit(BITS_PER_LONG + 13, src1); + __set_bit(1, src2); + __set_bit(BITS_PER_LONG + 1, src2); + __set_bit(BITS_PER_LONG + 12, src2); + __set_bit(BITS_PER_LONG + 13, src2); + __set_bit(BITS_PER_LONG + 1, src3); + __set_bit(1, expected); + __set_bit(BITS_PER_LONG + 1, expected); + __set_bit(BITS_PER_LONG + 12, expected); + + ret =3D bitmap_and(dst, src1, src2, nbits); + expect_eq_ulong(true, ret); + expect_eq_bitmap(expected, dst, nbits); + expect_eq_ulong(BIT(1) | BIT(12), dst[1]); + + bitmap_zero(expected, nbits); + __set_bit(BITS_PER_LONG + 1, expected); + ret =3D bitmap_and_and(dst, src1, src2, src3, nbits); + expect_eq_ulong(true, ret); + expect_eq_bitmap(expected, dst, nbits); + expect_eq_ulong(BIT(1), dst[1]); + + bitmap_zero(expected, nbits); + __set_bit(1, expected); + __set_bit(2, expected); + __set_bit(BITS_PER_LONG + 12, expected); + ret =3D bitmap_andnot(dst, src1, src3, nbits); + expect_eq_ulong(true, ret); + expect_eq_bitmap(expected, dst, nbits); + expect_eq_ulong(BIT(12), dst[1]); + + __clear_bit(2, expected); + ret =3D bitmap_and_andnot(src2, src1, src2, src3, nbits); + expect_eq_ulong(true, ret); + expect_eq_bitmap(expected, src2, nbits); + expect_eq_ulong(BIT(12), src2[1]); + + bitmap_fill(src3, nbits); + ret =3D bitmap_and_andnot(src2, src1, src2, src3, nbits); + expect_eq_ulong(false, ret); + expect_eq_pbl("", src2, nbits); +} + static void __init test_find_nth_bit(void) { unsigned long b, bit, cnt =3D 0; @@ -1533,6 +1608,8 @@ static void __init test_zero_nbits(void) bitmap_zero(NULL, 0); =20 ret =3D bitmap_and(NULL, NULL, NULL, 0); + ret =3D bitmap_and_and(NULL, NULL, NULL, NULL, 0); + ret =3D bitmap_and_andnot(NULL, NULL, NULL, NULL, 0); ret =3D bitmap_empty(NULL, 0); ret =3D bitmap_equal(NULL, NULL, 0); ret =3D bitmap_full(NULL, 0); @@ -1566,6 +1643,7 @@ static void __init test_zero_nbits(void) static void __init selftest(void) { test_zero_clear(); + test_bitmap_and(); test_fill_set(); test_copy(); test_bitmap_region(); --=20 2.53.0 From nobody Fri Sep 25 22:19:10 2026 Received: from mail-yw1-f178.google.com (mail-yw1-f178.google.com [209.85.128.178]) (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 95B3943F4A2 for ; Mon, 7 Sep 2026 21:54:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818086; cv=none; b=fedVxajmv7tzCQDg5Yl+V/cv5ODk1tZJYYSQb54MvRLVOVJODJ8p7zOB339nCmD5XyJ53QU6BQSaKi7mG8vrhwDiE0PLYFr8wzZtbD3V6JKCMyXe7rqroIS3bNQmT2y7qmAkxhLk9ivqCJkYWvJUrKpda7ghcWNQtswZn6QGfp8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818086; c=relaxed/simple; bh=6gD9cPa3rk6w/IUG4LaLFS0hBqCw0Ni+w/H83jcmfzI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jXSkhr7uCJX0p6XGq/9ZvQoSnHbtbI543ijG9FCTXiM8GWG52aFHf8EUFCvepYMwCXLcqzU+wuxHiT/JV89T3jh1m70Q88R7ZueQD0TBjiZkfiBr007lBMBIz+MbwogzHJEbyM64V9GxzF3v6H4OvlbYcYOfgVsXd9CWa1kKWdw= 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=qIWTHAT9; arc=none smtp.client-ip=209.85.128.178 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="qIWTHAT9" Received: by mail-yw1-f178.google.com with SMTP id 00721157ae682-7dbcb505578so37689677b3.3 for ; Mon, 07 Sep 2026 14:54:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788818083; x=1789422883; 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:content-type; bh=pUuTL8RKq8zctKFBGR36Xkq0F1NHQ5YoR0hZaul99pw=; b=qIWTHAT9quXqA0t6iOtNO/cWrRcxjeYDvz09E+AkWcxyxnjPeDjjAYX78vwb5lm3ed 8Jq6R2tRFlC0+brur2FptO9TJ4RYZxlh0tXE240RPv0oIRRDZ6kIc3wCWbNSd36cwts4 cGBX9t39xKhAa08SIDlg7kqyrbHFGKFlb3gu8RUOEKxvTv7umHvATMb6yCp50fQ2fVu/ s136vjKD8FxjBwYh0YiP4jIGtwc5dcZLoyC6oZ2d5miiiZEtjnV6q9VPZZa0+R/diJQe WCZKrIZiN1CQXJB50VNU6NxPzc2LW58HahHyF7zntN4TzdACIAwoWOqnDBTonFyqjqML 0rjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788818083; x=1789422883; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=pUuTL8RKq8zctKFBGR36Xkq0F1NHQ5YoR0hZaul99pw=; b=hxgFvMPa+mcL+k5VLgIKexm4Dn5JTyj7SDbntPqDYm+24Gpd2CePRhL5uXEEH7WV9e cpDNb+V1lw9xtQLGkshhXQgh/pRsVeTHy/gWzABlA0KGPzTBPPWt8lVucolgzVCM10ko fWh+H2aUpUDbQ77zxr9AD8Fr4S082F+swQ0R7unuzUdAa43o+q5IvTDwxwMDi8zi2fTm O0BwMBfjIOmPfIr01uftAZG/GN3PEGsFYUIRNkFvBqlvgmSb50RqPRgIuGzgCJFMqGhF 4Y212WJOkttCPWgQENYX3wKNRLd+Idhtvm9VTijYqgghyyH8jPScjaLEKD+c7WPgsMS5 ilYA== X-Forwarded-Encrypted: i=1; AKwUvBxCwQz/z9xzja8y6Bfoi+U5iEeTRxhNoOPYR4RfIER9GZnYebAg/3+rLkXlqjf9TaxI/u+E+4gqrWYAgns=@vger.kernel.org X-Gm-Message-State: AFuF++n1kfOX5N0GxYFvKKC3gWN1KyNL4fSlespBGbG3rGaIWhkztBdM EGG7xkbnPQ9Aq4kC2/I3rT7b7PjhAd+nsNbfL4vYZjcBzkeGrvcoNG5y X-Gm-Gg: AYBFou0dQj8M2e+tc3nKWnvXZ9ETBcDwFM50BHBndZHfQTc5YK8Q+xmI3HVpM+XNd83 /LnFEX+1gy8a+S1PKkVnGDg+l9b5mK5sTXAn5XZW6S6xO84D7KauCJ3Hev8g+KKRNzssTAT2ZJ3 RJFdfzbW/SMppfW2sAPg5RhZ69haAOg3LHl2wkAnjeXq+TkZnCYwHSIl3AK6oHdgdOvGDa3YAKp J39Wngr8qOFv2eLrVGjxxi0cd42A4F03mv8NoiHnRTdIhVIdpsB3l1cncCyoZU1QB60QBAdJaFT bCEtNUuLYoc7i9kcFDIoIx/3ajbkUprJ1kgdu2amoDR3ZHa3kA4vlLOkMN9KiJrZ7wLT3q3qH4D vuEhK2V/bIVxXpPEB/Qjf3dJS8GJt7hEuPoZ07Z+5GQ0HX/alF17zlJAVi9PQXfaU1rcWSG8pgC 65+S3GANHAVAyLLoacIYDN/YxCEYn7dR7WPVuIJ8iK6FfhkFT6hUZMlzIQJtj8PESUBDRPMUPkv DPoFymcWO+Y0cz0yA== X-Received: by 2002:a05:690c:7685:b0:873:5bb2:6c08 with SMTP id 00721157ae682-8735bb26eb3mr43482417b3.50.1788818083523; Mon, 07 Sep 2026 14:54:43 -0700 (PDT) Received: from localhost (c-73-105-0-191.hsd1.fl.comcast.net. [73.105.0.191]) by smtp.gmail.com with ESMTPSA id 00721157ae682-87149315162sm78079637b3.12.2026.09.07.14.54.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 14:54:43 -0700 (PDT) From: Yury Norov X-Google-Original-From: Yury Norov To: Andrew Lunn , Heiner Kallweit , Russell King , Raju Rangoju , Prashanth Kumar K R , Tony Nguyen , Przemek Kitszel , Jian Shen , Jijie Shao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org, linux-usb@vger.kernel.org Cc: Yury Norov , Yury Norov , Rasmus Villemoes , Andrew Morton Subject: [PATCH 2/9] linkmode: make linkmode_and() return boolean Date: Mon, 7 Sep 2026 17:54:31 -0400 Message-ID: <20260907215439.409858-3-ynorov@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260907215439.409858-1-ynorov@nvidia.com> References: <20260907215439.409858-1-ynorov@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" bitmap_and() returns true if the resulting bitmap is not empty. Propagate that return value through linkmode_and() so callers can use it where applicable. Signed-off-by: Yury Norov Reviewed-by: Aleksandr Loktionov --- include/linux/linkmode.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/linkmode.h b/include/linux/linkmode.h index 3b9de09871f6..c08632c10c3d 100644 --- a/include/linux/linkmode.h +++ b/include/linux/linkmode.h @@ -20,10 +20,10 @@ static inline void linkmode_copy(unsigned long *dst, co= nst unsigned long *src) bitmap_copy(dst, src, __ETHTOOL_LINK_MODE_MASK_NBITS); } =20 -static inline void linkmode_and(unsigned long *dst, const unsigned long *a, +static inline bool linkmode_and(unsigned long *dst, const unsigned long *a, const unsigned long *b) { - bitmap_and(dst, a, b, __ETHTOOL_LINK_MODE_MASK_NBITS); + return bitmap_and(dst, a, b, __ETHTOOL_LINK_MODE_MASK_NBITS); } =20 static inline void linkmode_or(unsigned long *dst, const unsigned long *a, --=20 2.53.0 From nobody Fri Sep 25 22:19:10 2026 Received: from mail-yx2-f12.google.com (mail-yx2-f12.google.com [74.125.224.140]) (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 75DF043E08D for ; Mon, 7 Sep 2026 21:54:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.224.140 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818087; cv=none; b=RV3el8/KWXDwDOqzTnrwk4BiLiQFSiuw0Ry1tffgQr+bwzM2YkrdGI/DQEmTb1b/J+eAlIbxs0PW/a+U8um8KEL7WlCpJEwNGISS3PGO7Ji+D2+Pr4cevDojflt4ksLomw8O/MsJsXgdSlICVKNfO/WSZK2cNChVTkyflAIao+s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818087; c=relaxed/simple; bh=IP3L6pBU5bVozJYxZfL3JKIxB2jBBWGILGPvMqinRBI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NDjmiXDqSy0hYeKVfbGTOBWVRNKz+siDUPS8fEHImufw3gJGG9G4HY2j+s8oL4yu2rvEmiPIbQIFJ4etQ+KFuoAXBpssLk5LEHYiAu5g20VSNCYfungXW3sAERxsnGWj5+rHEW8kmreIToPfJxDJJoJB+8Z/HecK3E9xvgCpiG4= 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=J5NmP/Hn; arc=none smtp.client-ip=74.125.224.140 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="J5NmP/Hn" Received: by mail-yx2-f12.google.com with SMTP id 00721157ae682-85d4eb63f16so2583327b3.0 for ; Mon, 07 Sep 2026 14:54:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788818084; x=1789422884; 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:content-type; bh=6RHq+lKbojD+F3T7fWOVIQ9NEbYVOA2OmDM0VbI8dbM=; b=J5NmP/HnBJ7ZjJCq3g6ztm66yqqE2J2y+e9rQlaXHdXrc+bkRjsbLGY26EVlih62xY x9/X7HlAgQuLvjzFiwPbZwWv1dqwvg/OpzAL9MKuIwb6W16A/fPeFfOB8akW8hOVaMVd 6Si9owah18wNXF/wxlirtVsjimFaKoGN4BRwtxHNqY+8MIdWSa+pMXCBnk5ZYhf13Umx o7np9GHw0mPBmotTX5PPy8+00yps9K21hmRxB6NYAo3rEGQN/mX6JrdHQk5DUXJxNWBK tf3iTaO2gR2On0tw213e0WHPw2nPB+ttdK9HlZZ2bPSPcNxqh1fUaLRiDKAjQqK/wfsu 93oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788818084; x=1789422884; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=6RHq+lKbojD+F3T7fWOVIQ9NEbYVOA2OmDM0VbI8dbM=; b=MwZQTnQ988omtM9S1/+eYRVbVrboxQ27LjPXkGjLrSVhRBcvtfbozLiRG9YITT2YUj p60DS/S9gRg4yrZtjYp+sBVHMDwAjRWPj+lfu4qwGQvxiU1vo6zvk6bDErEoFjeiLUwp P5igXXojsNh9zzJ47Mz/OSPmudXpApcdc/B2xNikbPMJTfKr05/F9MwsqtAm1Ut1noAK HFb3k1KAqKN2/2e/SK1S3IujWhTrHeqnJiPiJy1TAFZwNhmCqy0lEDYBy3c4dIlcYV45 H7FB+6/g4ioqGZyG9Hvsl6zTw0xBACZ5R/efuF+wx16RWOIlXOiBMQ6xqCpm3NZRP3X8 LT8Q== X-Forwarded-Encrypted: i=1; AKwUvBx4OHpaP42b+hb/VYko1QB7zXB3GuU/md1n5m0I3b0dVSRBv8EPSHEURsGtTqiUGICWic3myoB5/GbeeU0=@vger.kernel.org X-Gm-Message-State: AFuF++kPkagDGOqhy0r4lJX8irRYBstnDiolOJI4BMAiAwIfX5h8EZam BccKuCUcn3HKEBqHE26mGMYhvGnvT0Hk21L35Wg0VWhQebq9p5jVF4R2 X-Gm-Gg: AYBFou1Bpjl7kCmodnq5wQxP/JQNLEOp0DJfLy6Kp9yB4l7Q9qXiVlvS0GvlM8DP47F Zw8SRmLpWW0Nx85P7Ul264VtT2x8NFfOAb/NrpJGBufdbep/FpoPy/TWZIZs/VAl+CF27LcUToj oHEcfp89jYBfuOIa2kSxI+Fg8d/Oec8QrYflI+ZB629QxhXjxtRYhsxf7VtB5wP9gy7y0uwUi0t OvvTg35MycRntLiu1D5CPTiFaLM5wOqk1ccG6s69AlyctUUWy5l2t7yt1VK4X0g9sho9Jb9ItKg 3tk+yeH3hptpHxGTmx6C1DSoNLeFH54jJeVy8aBYAWQhX3L9LNNhNL1XN6vQSQSFNiazDXsp9Ls gWTloxRpxyTl6JvYCzDV+Ko7tYJKVx6spkKS88yO0Bh7+IK3mAsIc11dwP1vurUahrFLfX0uFOn XZcpja9nyr1rANiWsuziWDa7n/CZnssep7xvLRM1uUvdLX+OM2Y1dyYlEQhoakfQtNHPie3qnNY 912t2vNpMrAxoZAy8vYXTZ2LIzN X-Received: by 2002:a05:690c:39b:b0:7ef:9fd9:db07 with SMTP id 00721157ae682-87c098a896emr9838697b3.12.1788818084460; Mon, 07 Sep 2026 14:54:44 -0700 (PDT) Received: from localhost (c-73-105-0-191.hsd1.fl.comcast.net. [73.105.0.191]) by smtp.gmail.com with ESMTPSA id 00721157ae682-87143bb048dsm77918817b3.1.2026.09.07.14.54.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 14:54:44 -0700 (PDT) From: Yury Norov X-Google-Original-From: Yury Norov To: Andrew Lunn , Heiner Kallweit , Russell King , Raju Rangoju , Prashanth Kumar K R , Tony Nguyen , Przemek Kitszel , Jian Shen , Jijie Shao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org, linux-usb@vger.kernel.org Cc: Yury Norov , Yury Norov , Rasmus Villemoes , Andrew Morton Subject: [PATCH 3/9] net: amd: xgbe: use linkmode_and() return value in xgbe_set_link_ksettings() Date: Mon, 7 Sep 2026 17:54:32 -0400 Message-ID: <20260907215439.409858-4-ynorov@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260907215439.409858-1-ynorov@nvidia.com> References: <20260907215439.409858-1-ynorov@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" bitmap_empty() is O(N). Use the return value of linkmode_and() when validating the requested advertisement instead of scanning the result bitmap separately. Signed-off-by: Yury Norov Reviewed-by: Aleksandr Loktionov --- drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c b/drivers/net/eth= ernet/amd/xgbe/xgbe-ethtool.c index a9f4fcc4daae..113a10855938 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c @@ -231,6 +231,7 @@ static int xgbe_set_link_ksettings(struct net_device *n= etdev, struct xgbe_prv_data *pdata =3D netdev_priv(netdev); struct ethtool_link_ksettings *lks =3D &pdata->phy.lks; __ETHTOOL_DECLARE_LINK_MODE_MASK(advertising); + bool has_advertising; u32 speed; int ret; =20 @@ -267,11 +268,11 @@ static int xgbe_set_link_ksettings(struct net_device = *netdev, __ETHTOOL_LINK_MODE_MASK_NBITS, cmd->link_modes.advertising, __ETHTOOL_LINK_MODE_MASK_NBITS, lks->link_modes.supported); =20 - linkmode_and(advertising, cmd->link_modes.advertising, - lks->link_modes.supported); + has_advertising =3D linkmode_and(advertising, + cmd->link_modes.advertising, + lks->link_modes.supported); =20 - if ((cmd->base.autoneg =3D=3D AUTONEG_ENABLE) && - bitmap_empty(advertising, __ETHTOOL_LINK_MODE_MASK_NBITS)) { + if (!has_advertising && cmd->base.autoneg =3D=3D AUTONEG_ENABLE) { netdev_err(netdev, "unsupported requested advertisement\n"); return -EINVAL; --=20 2.53.0 From nobody Fri Sep 25 22:19:10 2026 Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com [209.85.128.177]) (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 6C3C744607B for ; Mon, 7 Sep 2026 21:54:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818093; cv=none; b=XVKVo0Uqpu3Dl8Gpln8ThLs4M6s2mw5ymS7yAv0hGdOmxmRkoMaDzBFwfe7cjMgqouTALRR6Gzzd8viWK+9loAxM3cVlGIal3kqJ8Y/EOEjvvHvG4fDUDd3ygj+EdjgyGcfBV5OOtdSaSYff2kRuLIQ9kedcpD5ymORcZ8dNEzE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818093; c=relaxed/simple; bh=dSgp3zWwSjr9wqGRxsOA9TZ7pvQN36MEudn4AjbW3aA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fYZjkXz0jRiHmI1jo1L8pCOfJziGu4GWsQpSAhO6g6Lqbpr1rfeH3y2J8O556oP0i39kXOzZHfjlYeNP3OXb5Br42AnY+yQdvru+5KUnnS5OaOFe6pqUasKUOLxXUuFB4p9pEE+qrH8DH5RCXkjHTncGhQPymBUPTxyf/bzaTLg= 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=iOKxDYex; arc=none smtp.client-ip=209.85.128.177 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="iOKxDYex" Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-861145fc841so31891097b3.3 for ; Mon, 07 Sep 2026 14:54:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788818085; x=1789422885; 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:content-type; bh=+yLPkFJQmuAEoKFXhrbZigHnjiojakFwcy+wMysCsSc=; b=iOKxDYexOWdYt48aqmNLAKaaI0hZvjQuto94utzuN5ThUmbbZ2fVxpT2Wnkj8dwKQj KwMzAUnsE5RMpeNTZSZmYVBcPjjAL1XzGfLiOUOGKuTNa+QZkShNHNoHvpmrdVeh2W1w pUn8ItYuGmey0EuLVuJF9XGiIB3xzl2S+071wu2TNsqIijbQ/G/QsUYS77M2nj5PHwd+ tz7nO+iwpDrHCSTCroJ/MFEZl7hhTUNv2ZgFJrcjVmR/rTOoSZEId6neXikrE88OBHV8 zEboIv4oewBaOE66t3DG/ScdJZMEaqBe2jeMs5qolF/9AxpJlUmMUl+UtllkbvnASGLr MDhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788818085; x=1789422885; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=+yLPkFJQmuAEoKFXhrbZigHnjiojakFwcy+wMysCsSc=; b=phzlyzdYqfH85Q8+OsbZSLPSc/qCMdjA2CtROrePt1g6ViWZQklp/p+Mpjkpe8s3t8 lIahjfEKgGRvjXSzvTxtEG9Nm9nWLgfWArgJfYyAruqSljfddLjT4l0bgS6tasCxGmc2 3FlYKQaYyJOKa7rqpqORslmoxnjA8Wz1wy7K2fXMVKADzpfZzUOfEtAb0JQUmBNT3m0u uR7dupiXK1svNqtJA7TTMw2sJQP/lCT2btrwsH8j2qP2RT/9ZbK2jU6rYPhdbnA/ciNQ io9Qo0cEIsIpZdW8QwvddXKO0K2JvTtetVzqgge/5fk5qSef3Disv/Bkp/j0y6kEgC2E RoKw== X-Forwarded-Encrypted: i=1; AKwUvBz89MJN3IxlLVarvCz49ECw685usNJhcA3TerPqS7gnkh+pk/Vtw9yAbixeOPn+yHlbH3RdmwqCUBt5lIs=@vger.kernel.org X-Gm-Message-State: AFuF++k9aZIyxjNiRnzy2cVC08sbiDF1bYROGspD54ugr6AtUkv/dvG3 WX/xeUeFYI8h09RRtsExOX0S3IMTS4nyUGQjW2PJDN5JY9bB2H3rcp7Y X-Gm-Gg: AYBFou1pKhVGOEDHRqQk/ah4WJXpfKhjqjuwvk/ZyFzRLcxqudatTcrlcp9Czv19APX RbuXHcVJ163JYYrscarZLCUv4O463Midw2BpDBNGFRuDxd3BHORnS6xu+ICqFtmmmP5bDZfWLqU f6MoMh9bKF28IyjGjLjY2WIQ5rCGfI/IHI/lokeTFrd2L2WgqwPpdh73Z0pMFRQsCERfFAMbJr7 WjlJWAaJtfi+5Uf4WMbCYWEN37Is56j+CS8olwQmBF5eb93dA3JvAPiAIVnx4H445Nxt4rQg8hF nD4timkR1lItocz0vtKn2Rg4SxctQRvgLEfhnPk99fvpJFr7BTIg+U9S81eTFct58NtkMEqB06K XpO07f5XkMcCaS8sEj33YzpMZLWsqcH9ZARSzoDszSbyIeVNGykq/W3SZIDOqJRtYLELh3EXzSZ yWzf36r8zFKEXpq9MYyrIBpQ0k2ZQmNy9nDG0NjcqmX/LoRor43dmL7pMdCm0rYq8+EtcgA38hR Q943YqI3oDCrKG6JA== X-Received: by 2002:a05:690c:698f:b0:81d:6af3:b9b5 with SMTP id 00721157ae682-87125a1c600mr104053797b3.9.1788818085373; Mon, 07 Sep 2026 14:54:45 -0700 (PDT) Received: from localhost (c-73-105-0-191.hsd1.fl.comcast.net. [73.105.0.191]) by smtp.gmail.com with ESMTPSA id 00721157ae682-87149315127sm78135637b3.10.2026.09.07.14.54.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 14:54:45 -0700 (PDT) From: Yury Norov X-Google-Original-From: Yury Norov To: Andrew Lunn , Heiner Kallweit , Russell King , Raju Rangoju , Prashanth Kumar K R , Tony Nguyen , Przemek Kitszel , Jian Shen , Jijie Shao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org, linux-usb@vger.kernel.org Cc: Yury Norov , Yury Norov , Rasmus Villemoes , Andrew Morton Subject: [PATCH 4/9] ixgbe: use linkmode_and() return value in ixgbe_get_eee_fw() Date: Mon, 7 Sep 2026 17:54:33 -0400 Message-ID: <20260907215439.409858-5-ynorov@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260907215439.409858-1-ynorov@nvidia.com> References: <20260907215439.409858-1-ynorov@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use the return value of linkmode_and() to determine whether EEE is active instead of scanning the common link mode bitmap separately. Signed-off-by: Yury Norov Reviewed-by: Aleksandr Loktionov Reviewed-by: Sergey Temerkhanov --- drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net= /ethernet/intel/ixgbe/ixgbe_ethtool.c index 36e43b5e88d1..a7b7f89f29e4 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c @@ -3751,8 +3751,7 @@ ixgbe_get_eee_fw(struct ixgbe_adapter *adapter, struc= t ethtool_keee *edata) edata->eee_enabled =3D !linkmode_empty(edata->advertised); edata->tx_lpi_enabled =3D edata->eee_enabled; =20 - linkmode_and(common, edata->advertised, edata->lp_advertised); - edata->eee_active =3D !linkmode_empty(common); + edata->eee_active =3D linkmode_and(common, edata->advertised, edata->lp_a= dvertised); =20 return 0; } --=20 2.53.0 From nobody Fri Sep 25 22:19:10 2026 Received: from mail-yw1-f176.google.com (mail-yw1-f176.google.com [209.85.128.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 68A85483BDE for ; Mon, 7 Sep 2026 21:54:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818093; cv=none; b=UKS/K43uVggNUax56b8EgWE8cTXD/BDSxO0N8VHOo+b9A9E+KApVXOz3F8SaYmbMhzR0omPDeYVheHDbF2wv2ejU56QQdXKRHoGzhKt+evrh0IqSt1RwDVM1nGsNn+MkwlXeY/Zv3qrxy7t5zO0A5+c61xcu4ZoGjjQNlaMRDEE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818093; c=relaxed/simple; bh=DU6aX0Z0p+fdTWqaCesdEJ1etwt1QeLalmsiq/Dz8xk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LTzYi7g3TdqtqcuZ4X5AZn/bWaazw7Xn8hvWPmVi/YsMcCfJipHLL/fijsEuHk6PdKeSsqihRCjfmRwKfOJg5IOYOv3r5DGyjSOkU+b13pY65nKe930qAaQ80dQO9Lyxtx23M9ql6GFhobrVPkP+N88cD084ehIu1Mk3lXWPJss= 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=fbzJCkHV; arc=none smtp.client-ip=209.85.128.176 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="fbzJCkHV" Received: by mail-yw1-f176.google.com with SMTP id 00721157ae682-8200b55dc47so44010187b3.3 for ; Mon, 07 Sep 2026 14:54:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788818086; x=1789422886; 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:content-type; bh=FMBKloH328hYHvt9A91TOoJByZqoZnKZvzZqMuRPjLA=; b=fbzJCkHVmw+kYHLOmVkyZ0CBUGz5bRWVGiqy+nOetZyljJTzHh6G5jgDBdwrkpHebX cWWT8Fi5RXOqj5jNhumOQOxYLsV4d1MSesKt/jwJ/kT1CYQMjQzT5uVG32yOxfcpqVXx B1p38RjyQHSpMIismV6VD5gG7HnSjbzqRXXVb9QxTpQO3NRw9Af//ICUsCZAkXzssjdR 0PYHNFi/hPN+lRP4E0SVZIAlSTBY9g3e1IRxwNOcD+qyDFbktUXW2rj5Q80QhcPUFjzG V1CFKNnfxl/VcPPhAxr8g8RFixQeAam9GP6z4AKivMfS97XmCtQybQi8EWaQ2+X4J3Gm oNZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788818086; x=1789422886; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=FMBKloH328hYHvt9A91TOoJByZqoZnKZvzZqMuRPjLA=; b=OtfPGUiu5YAspaHVEzMmYuwzx9lX4sPd0luwhIm6VR0vArp9Or1HsNX9R/5qARZo1v CTOEN+7w4BmmVuZ09ILOmNB3eJ8Sga1yM7jQm7rLwv9QQxaD5sInkXPs9qmXzf7uf7Ru XdUljpj6CefhDWkI53GeF0vzAK49sKy9sdPuzKijtroPTlSrEWok50W9kQKkL+iy43om LdufaRe0zdYA/2Zs9mGSiE3QOz77vm0cX/GL+1vQrpdcJm/pID5THoTptHXk0gzbVa1s Btye6XpW4SJd7s0BPI3ZVGo/b8y4Fu1j7TvahD6hUm+xVRhTX18nhleoGRujw6lyEu7S Grgg== X-Forwarded-Encrypted: i=1; AKwUvBxUcToSDY54kmbWwOYKqfw2TZLQwabaJzPU/eft7SyF8WGDiFav+EYT7IOWWmYax2B4P8K0UVB3YgwY/w0=@vger.kernel.org X-Gm-Message-State: AFuF++mg236ALOu5JsexI8c6GPeb+O85KnRLvxfNzEwn+tZNj4ys0R3L THB+C3fcIv2avjTJMr1iOJbjpAXw+Yv+gVr63OCKWZeZvSXThVm4loD0 X-Gm-Gg: AYBFou1mlyA2GyTIoucLVOSpCDuwFNkOuQhIWjAeMu8RtpinouNM30Xv55Z0C1Hw9w0 ZJH8AhYHDE30ZoPpUZI6OoimHz5kgSK9OdOTxBhzZt+/R8w+LylOtBHWv7wMm5vUe76ZMTGUu7C OYGbJdnmbyE+UdXlO0XxBMp+uJAhl6G/8f5x5AD3mqpVbIo1uwax7Cq7FJGiHH9iixW8ZJWD7Jf k1SFf+01B188vUTKR21C6j1dyMTjuMv/laYrAlzPY/cJ1bNvq0IsBgdEFD7iQFPf9H6u+YF9AOg sv/t/KYSXxGXwrAViwkGYH083iWVQDEaVBE3o1D1MaPqdUG4oGtkGwNcyzK8PmYCYC82Bbgj1Vv 6GuuzKLjcwVW07Z1bew38H2qe9/x3usnY/+NXGf0yNsxNlEv863Qk1T4KLreItZN35n7XQQKEDF RpMPaGalIOCxs7DSEnQJ21ozL0paCDbmyICK2FfLyL+tJhWcAkDqeiEY2u8Q8wA2SUkqwm0TSNJ SejcjzpCLXRA1IiEA== X-Received: by 2002:a05:690c:88:b0:864:6f4d:ef7f with SMTP id 00721157ae682-87121acbbc5mr98578937b3.7.1788818086189; Mon, 07 Sep 2026 14:54:46 -0700 (PDT) Received: from localhost (c-73-105-0-191.hsd1.fl.comcast.net. [73.105.0.191]) by smtp.gmail.com with ESMTPSA id 00721157ae682-87149316356sm77902237b3.9.2026.09.07.14.54.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 14:54:45 -0700 (PDT) From: Yury Norov X-Google-Original-From: Yury Norov To: Andrew Lunn , Heiner Kallweit , Russell King , Raju Rangoju , Prashanth Kumar K R , Tony Nguyen , Przemek Kitszel , Jian Shen , Jijie Shao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org, linux-usb@vger.kernel.org Cc: Yury Norov , Yury Norov , Rasmus Villemoes , Andrew Morton Subject: [PATCH 5/9] net: phy: use linkmode_and() return value in genphy_c45_eee_is_active() Date: Mon, 7 Sep 2026 17:54:34 -0400 Message-ID: <20260907215439.409858-6-ynorov@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260907215439.409858-1-ynorov@nvidia.com> References: <20260907215439.409858-1-ynorov@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use the return value of linkmode_and() to detect an empty set of common EEE modes and get rid of a separate linkmode_empty() call. Signed-off-by: Yury Norov Reviewed-by: Aleksandr Loktionov --- drivers/net/phy/phy-c45.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c index 870920311f9a..27da1b9ddbc5 100644 --- a/drivers/net/phy/phy-c45.c +++ b/drivers/net/phy/phy-c45.c @@ -1623,8 +1623,7 @@ int genphy_c45_eee_is_active(struct phy_device *phyde= v, unsigned long *lp) if (lp) linkmode_copy(lp, tmp_lp); =20 - linkmode_and(common, phydev->advertising_eee, tmp_lp); - if (linkmode_empty(common)) + if (!linkmode_and(common, phydev->advertising_eee, tmp_lp)) return 0; =20 return phy_check_valid(phydev->speed, phydev->duplex, common); --=20 2.53.0 From nobody Fri Sep 25 22:19:10 2026 Received: from mail-yw1-f170.google.com (mail-yw1-f170.google.com [209.85.128.170]) (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 B5174441623 for ; Mon, 7 Sep 2026 21:54:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818100; cv=none; b=UcpEcwbONa8HXI2Nfqdv7iG3dBQ2wWwBMSSOOi7DpwjQOLRZKm+DuE5yuE+6nGnVzb4YK3SEEtjZS0C+2GXej9DpKdgAyKizys5KuBcieXO2yMi/LJNjB+zFDSatiUKxaOa3YgPCru/24G+JxpoLjVRPcSZ7YRCfJSalVY+49P0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818100; c=relaxed/simple; bh=cOuGuXTRwRbieXZHpEpUkyizPgeu40kkjKbILhrTpr8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TRkCs98oQVoDWhihlFNKv4ZQge0m+lOPHgxTNpqTLgQwiFPCz43kjLnCht5Zi7oW09O9NJDFRT5usCwbEF2baPu22utR0X4sJddzQX3bwQtiSJ9ymSgU3hYKBkJoIDB/uwZOp6ycMKTvgb6p+Gcpr7BUpKc0rz8S7kmabE/Z9Xk= 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=YmWZmFn2; arc=none smtp.client-ip=209.85.128.170 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="YmWZmFn2" Received: by mail-yw1-f170.google.com with SMTP id 00721157ae682-86e7f44b773so41516747b3.2 for ; Mon, 07 Sep 2026 14:54:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788818087; x=1789422887; 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:content-type; bh=EPMvbjF7fIzIRVphdYEwqQYdJVOJV5Z2qbhmmd1p55E=; b=YmWZmFn28/CK0tr6SSuPRYdhyC/35acZMQr1WQTNnZ84JBn7jLqG1+yGOAikoLkcLj EPnGlTkXXEMLh9/2cPX5BDS9YKntyu24/NvBxKqbjnHT+6Qwb4SjRkSXAKv9yiUzzUe0 YDXRJZzpS4btQvyfVZbuJr/pwxkXwVIePWgTbLFgZ8mH+dlWf9LUQOagjba2+d0liVvO WyW00ba4NGGl/1iNfSnFhoX50mSty659UMQGRFo9Aq2daz1BklMY7qfmmJUWpcMNBgcn 5OIgdnrH4HPKaKKpXUpvWmIgbRXaj4g92N1eoY20CTLX0Nib9sWqLZX8a80d7r0RfuIA 6OTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788818087; x=1789422887; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=EPMvbjF7fIzIRVphdYEwqQYdJVOJV5Z2qbhmmd1p55E=; b=pBQq5W4sWGtqYpE1iHZOq/VpQW9O+5DdcpZkxE494F7qHTgL5x9Hs33cRTX0va3Mff nEkOMwpBg2Rh4Sb01MzrhDoXuzxL2GtznUHb6aHpJf9NX81OLUmoBCfFL8S0MyZ4DaHo rJtXCii9+jV39JbtkI+JmIBXoRB6oHbWQzgiHvE2qjmZF/rxiOrFxo2mPNR4Jd4Fq7x0 kGY1JZe7mP4Dg8y5dm2RZPt4XQS9e1Iu0+6YM7UieVUroI5/ECccMGnOzVn5fveEvbrs ZjSPB8NAkR5ATVf57RK0xCSidVU21N2k4fDJid5lPFYXyQokpsPPuAYgtcXUTD1YaAeG dtMQ== X-Forwarded-Encrypted: i=1; AKwUvBzK6bJu1QkfV8WbfVYqfYhQm/aXsWeDPZjYiomH4UwW02LNtc5YLvg2dgz9dUdTxwTKPWHcIZA65XiPUcw=@vger.kernel.org X-Gm-Message-State: AFuF++kIv90ig1JEBwkvxI9QLX0hoMdOL9rllTY/iRnErltgqVPVMiNE yERiOrOxma5Yg4q2LLeC4gPxAbcrTS4bNFltRqs23bGhtdqhuDfjKKng X-Gm-Gg: AYBFou2oi5uXTIWrz+X5QmWaj8hCxPLiEjp6kEuqr39wEYmBhkZavN21oXixRCziI31 28WyqaJADpZD9/PfFsdnjEdc6MC4pRRPcEh7NbR2/VvNoVMuPNnk2jaqIU4YeNU4ZwLCVIrm7va 29B7VM2QlzPkfqv2o+M8Xysru8XnC/BajIGVtyzh643d9E9yTeAeEQESr6P3xEas1ucO8qzqlJd nlDmaOCbNgFu0/xRFiJKYXs21lHiRlMo8FsLESwi7sID9YbdIbVYRbJ63Q+uWG3SY20yuKoR7y8 H61XXQce3FeZbTtknQDwCWUD0KPlZuMe2AUarp4BnSO/YeI1aFf4J93GPUK3bnVrhkhRien5bVU HyuKY+FpYhgiJ52dbzoKiQCn4H49nY2AEmJRX1f3CdQpTG2EINAtWCdwLnQtiROV2zImUAHxLUV r3PPR4USkRy5XiyNgpLruGhpTQAwWa97h2SJFYIWbRO9EBonYL1xW5v/zCYSQy5AhpGHawAf5cD NZLslxBq/IiPSbRww== X-Received: by 2002:a05:690c:e29b:10b0:873:5ddf:d864 with SMTP id 00721157ae682-8735ddfdab5mr46438527b3.47.1788818086989; Mon, 07 Sep 2026 14:54:46 -0700 (PDT) Received: from localhost (c-73-105-0-191.hsd1.fl.comcast.net. [73.105.0.191]) by smtp.gmail.com with ESMTPSA id 00721157ae682-8714b62bc77sm78551997b3.39.2026.09.07.14.54.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 14:54:46 -0700 (PDT) From: Yury Norov X-Google-Original-From: Yury Norov To: Andrew Lunn , Heiner Kallweit , Russell King , Raju Rangoju , Prashanth Kumar K R , Tony Nguyen , Przemek Kitszel , Jian Shen , Jijie Shao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org, linux-usb@vger.kernel.org Cc: Yury Norov , Yury Norov , Rasmus Villemoes , Andrew Morton Subject: [PATCH 6/9] net: avoid copies before linkmode_and() Date: Mon, 7 Sep 2026 17:54:35 -0400 Message-ID: <20260907215439.409858-7-ynorov@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260907215439.409858-1-ynorov@nvidia.com> References: <20260907215439.409858-1-ynorov@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Avoid separate linkmode_copy() calls by passing the original source bitmap directly to linkmode_and(). In phy_ethtool_ksettings_set(), also use the return value of linkmode_and() when validating that the requested advertisement contains a supported link mode. Signed-off-by: Yury Norov Reviewed-by: Aleksandr Loktionov --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 5 ++--- drivers/net/phy/phy.c | 7 +++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c b/driv= ers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c index cf881108fa57..5801da6100b8 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c @@ -205,7 +205,6 @@ int hclge_mac_connect_phy(struct hnae3_handle *handle) struct hclge_dev *hdev =3D vport->back; struct net_device *netdev =3D hdev->vport[0].nic.netdev; struct phy_device *phydev =3D hdev->hw.mac.phydev; - __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) =3D { 0, }; int ret; =20 if (!phydev) @@ -223,8 +222,8 @@ int hclge_mac_connect_phy(struct hnae3_handle *handle) return ret; } =20 - linkmode_copy(mask, hdev->hw.mac.supported); - linkmode_and(phydev->supported, phydev->supported, mask); + linkmode_and(phydev->supported, phydev->supported, + hdev->hw.mac.supported); linkmode_copy(phydev->advertising, phydev->supported); =20 /* supported flag is Pause and Asym Pause, but default advertising diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index fce9bc7be330..cd71186cd842 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -1160,6 +1160,7 @@ int phy_ethtool_ksettings_set(struct phy_device *phyd= ev, const struct ethtool_link_ksettings *cmd) { __ETHTOOL_DECLARE_LINK_MODE_MASK(advertising); + bool has_advertising; u8 autoneg =3D cmd->base.autoneg; u8 duplex =3D cmd->base.duplex; u32 speed =3D cmd->base.speed; @@ -1167,17 +1168,15 @@ int phy_ethtool_ksettings_set(struct phy_device *ph= ydev, if (cmd->base.phy_address !=3D phydev->mdio.addr) return -EINVAL; =20 - linkmode_copy(advertising, cmd->link_modes.advertising); - /* We make sure that we don't pass unsupported values in to the PHY */ - linkmode_and(advertising, advertising, phydev->supported); + has_advertising =3D linkmode_and(advertising, cmd->link_modes.advertising= , phydev->supported); =20 /* Verify the settings we care about. */ if (autoneg !=3D AUTONEG_ENABLE && autoneg !=3D AUTONEG_DISABLE) return -EINVAL; =20 if (autoneg =3D=3D AUTONEG_ENABLE && - (linkmode_empty(advertising) || + (!has_advertising || !linkmode_test_bit(ETHTOOL_LINK_MODE_Autoneg_BIT, phydev->supported))) return -EINVAL; --=20 2.53.0 From nobody Fri Sep 25 22:19:10 2026 Received: from mail-yx1-f48.google.com (mail-yx1-f48.google.com [74.125.224.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 EB2003CC9E9 for ; Mon, 7 Sep 2026 21:54:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.224.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818100; cv=none; b=CG/033YUxnjKWH6vRNz1rE61gdFnxjX8tQSTp1Vb0+e7QnY3veMoioNUcVnD7qPcgT86mKZDvHxPm3nfsQbawQ8IxWbNKE7nvucQKEGzi5w4nrVAiHqzzRADBJuD6p3JM4luSAg8lbMGpK3jJdBkTml27jlMrnLJWx63k6Gm1SM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818100; c=relaxed/simple; bh=E+Mq+ULNyxirXwXDZ7xaGocuqj9Hq20RZCcXQzzR7B0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JlLuMus8esHypKWljWRKSDVO7uQvy6fHIFf83sAjh2mEdajlLt54Ckzk8XEO6QQiRJp3x5dc98mEbDrp4h0GQ3h3qOJeEZOdIKYKnHKHhk2b4LwLrE+NY+0X8RV9AHcem1BiLZTRqcJ1X1W2yM1BZMeT+GKV+f86pzXMyVmD5X0= 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=VEDdWO+g; arc=none smtp.client-ip=74.125.224.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="VEDdWO+g" Received: by mail-yx1-f48.google.com with SMTP id 956f58d0204a3-66fdf2a9aacso1525231d50.0 for ; Mon, 07 Sep 2026 14:54:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788818088; x=1789422888; 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:content-type; bh=U8WIjdrmzAfceuartpDLM7+z5YZ8GSTaR8aMPWb/Pj4=; b=VEDdWO+gXRQbdBFam2f7xu+H+0Xhbkbd6nexacBnHSMcYOGt0pA5LU5DDOoD5aBSY+ YjSAlyBGMMceD6vueqTFXroFmsEC7rODL1//xRjKn0n2bBGhJ0PnnqnY/5UpClbSCqSW r9lQzPgItl3MwdyKqXq3JLX3aA/s8eZuYRw2fAnOczvQ+KyJLWF/7Org8I1yqXSLmDa3 pGXGvBi7JsYN6gO36svL4pMY+seFwswycoakZPNUoxmbJNSExaI0ZcS0tH27HTRIgHJ9 wiVXoATfts+xBVqSJ5CBjq8YtA+hyoSB0VIAXuV32Z8+DmWaq51U3wzmsdctAG3grCOw hlBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788818088; x=1789422888; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=U8WIjdrmzAfceuartpDLM7+z5YZ8GSTaR8aMPWb/Pj4=; b=Q1I/CI7hMz7QdomTXKvNuZA2pWV+Yf2DlytkEF8uFQ3ezxbDIgRsI6wnKuKiRIRHgw v1Wgn3ZQMvFHbnDk8PKVpastNdnTELmjFRN+rCyJbd7r9GfHLmBqz2d7kwgl7Rkj+5HG 9qwFXfC/lQcvmnjU9n/LKXau4Tp7ge+kXMhszneyJQLE4aVTsvneUZhdg6I0X0oVDuEm JMz0o3r3mI/QNHTgPsYiux+dtSqidiYxTLcszLIp6znPdKWzlzLWyqHWWKHvtVKJFCFI eFB4AGl5jB/g6GZjoyX4KxxeWVl9rU+iS+PPayjQG/ZsZCmJWsFc246fkUu4Kyo0+wh6 +F5A== X-Forwarded-Encrypted: i=1; AKwUvBzLiFb5sSZUoaEUwkUAT+8g62qfZWu5udKkH1xNf6UCmQmwWUQI6q2aT+z2FAgomwQ03/AKvT5rEAekCOU=@vger.kernel.org X-Gm-Message-State: AFuF++mbxrny+O8otWM3I9h/Ub8RRo7soTjCJxJUGhT8dtXeG+MOQx0Y pBAYy6cOvNiSRxcAWyVnN2R7BJyXYgKy3fwODucRg7gkLw22BBls6mS6 X-Gm-Gg: AYBFou0IDR88tlL9fmYg2gCsOM8Dy5axW0IcOprGzL2lI+jSfoxmxtguuPUQKjH2Gnc b+yWqHFZbvfUMdNzLAPoxj+vR2Et6D9vxWxmcC4PqQ3Rx8uKae9UNrkaDKAR/dTXqOqwrprYCai T5CaGZuChaDPbAEcN02/xZ402HbZi7/BWtCVjVYdPfeNwXLvSQqTyurYhsJqxPneqnZ0wlzLfi4 uTX71z05uWw1EaPSGyXVOmX6+0BDgrlDdDvx+6A4FJLXzVb5G55rWdbmcWRs0WiKpEDQLG6cS8O HuPMY1rvoUNiFFKnd9bR8McAlTk8kBGSkQWTzXqNw8Zq6gMuVHVePxKuVJ6EZTOEYjBJ2bKmHrZ /cOrx7157a4lOrlnVUeVM/X3dyT4qPUCSsZPmAfhHmHnvn5LxkwlcA8trrIY8SAQgcKYztBzZ+6 JIj5R/ZAkrclfJtdxaXw08TH5f+khlrkOpqbaBO7kSKWxpqayj954WI0s6IOHsm+3Sau8vtLstP 1viPfFyg5X4lyTZBhPvDD90F89D X-Received: by 2002:a53:d751:0:b0:66f:c1be:84f3 with SMTP id 956f58d0204a3-66fc1be873emr4452634d50.97.1788818087837; Mon, 07 Sep 2026 14:54:47 -0700 (PDT) Received: from localhost (c-73-105-0-191.hsd1.fl.comcast.net. [73.105.0.191]) by smtp.gmail.com with ESMTPSA id 00721157ae682-8714a87ead5sm77758477b3.28.2026.09.07.14.54.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 14:54:47 -0700 (PDT) From: Yury Norov X-Google-Original-From: Yury Norov To: Andrew Lunn , Heiner Kallweit , Russell King , Raju Rangoju , Prashanth Kumar K R , Tony Nguyen , Przemek Kitszel , Jian Shen , Jijie Shao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org, linux-usb@vger.kernel.org Cc: Yury Norov , Yury Norov , Rasmus Villemoes , Andrew Morton Subject: [PATCH 7/9] net: phy: use linkmode operation return values in phy_device.c Date: Mon, 7 Sep 2026 17:54:36 -0400 Message-ID: <20260907215439.409858-8-ynorov@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260907215439.409858-1-ynorov@nvidia.com> References: <20260907215439.409858-1-ynorov@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use the return value of linkmode_and() where the resulting mask was previously scanned for emptiness. In phy_probe(), combine the AND and AND-NOT operations and use the return value of linkmode_and_andnot(). Signed-off-by: Yury Norov Reviewed-by: Aleksandr Loktionov --- drivers/net/phy/phy_device.c | 14 ++++++-------- include/linux/linkmode.h | 9 +++++++++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 94b2e85e00a3..3430605695c5 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -1565,8 +1565,7 @@ static int phy_sfp_module_insert(void *upstream, cons= t struct sfp_eeprom_id *id) =20 caps =3D sfp_get_module_caps(phydev->sfp_bus); =20 - linkmode_and(sfp_support, port->supported, caps->link_modes); - if (linkmode_empty(sfp_support)) { + if (!linkmode_and(sfp_support, port->supported, caps->link_modes)) { dev_err(&phydev->mdio.dev, "incompatible SFP module inserted, no common = linkmode\n"); return -EINVAL; } @@ -3761,15 +3760,14 @@ static int phy_probe(struct device *dev) /* Some PHYs may advertise, by default, not support EEE modes. So, * we need to clean them. In addition remove all disabled EEE modes. */ - linkmode_and(phydev->advertising_eee, phydev->supported_eee, - phydev->advertising_eee); - linkmode_andnot(phydev->advertising_eee, phydev->advertising_eee, - phydev->eee_disabled_modes); - /* There is no "enabled" flag. If PHY is advertising, assume it is * kind of enabled. */ - phydev->eee_cfg.eee_enabled =3D !linkmode_empty(phydev->advertising_eee); + phydev->eee_cfg.eee_enabled =3D + linkmode_and_andnot(phydev->advertising_eee, + phydev->advertising_eee, + phydev->supported_eee, + phydev->eee_disabled_modes); =20 /* Get master/slave strap overrides */ of_set_phy_timing_role(phydev); diff --git a/include/linux/linkmode.h b/include/linux/linkmode.h index c08632c10c3d..49587a2e0f69 100644 --- a/include/linux/linkmode.h +++ b/include/linux/linkmode.h @@ -26,6 +26,15 @@ static inline bool linkmode_and(unsigned long *dst, cons= t unsigned long *a, return bitmap_and(dst, a, b, __ETHTOOL_LINK_MODE_MASK_NBITS); } =20 +static inline bool linkmode_and_andnot(unsigned long *dst, + const unsigned long *a, + const unsigned long *b, + const unsigned long *c) +{ + return bitmap_and_andnot(dst, a, b, c, + __ETHTOOL_LINK_MODE_MASK_NBITS); +} + static inline void linkmode_or(unsigned long *dst, const unsigned long *a, const unsigned long *b) { --=20 2.53.0 From nobody Fri Sep 25 22:19:10 2026 Received: from mail-yw1-f171.google.com (mail-yw1-f171.google.com [209.85.128.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 7E51D442B3B for ; Mon, 7 Sep 2026 21:54:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818097; cv=none; b=j0j2LzMYNWVN1TqgbSYE6vTkOytPSHNjHUZgJogq4zdS1efoBA1i98HqSra+GxkPffkR0PaJK25lzxkrM4e6mGVDL6tYhW5TE2SEFYr39Ud/JbSPmBtgzEStUHhpY+/6bctJ1fyr8i8FJ7Oo4Ep96A4oqZ4Vqujd8R9Oh+ztIhg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818097; c=relaxed/simple; bh=UueUMpeCwNeGVdy3GJf5lm29xyeCkwc/aGA+P30mwdU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fa1M29MSqTAhFEWRASAwECtsL3RP8h18S3VtXwo/A3T9j+FhUBGi6JgXEPZii/KJfh2m8NfeMuuZp2EMhBuxpaue7Fx6WJKeacP3X7aaW0VARM1leJSl399MYeIGOVL5rMF31MS1/KYf68Wd82kN8SNc2mXVqlcjrliRZxS6Yjs= 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=j73ZnSGr; arc=none smtp.client-ip=209.85.128.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="j73ZnSGr" Received: by mail-yw1-f171.google.com with SMTP id 00721157ae682-8726acc5eadso26726087b3.0 for ; Mon, 07 Sep 2026 14:54:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788818089; x=1789422889; 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:content-type; bh=8dBsS+uIQswAO+1Zq7ZFjEaF0vj6TxYTsi3HHjhGAsc=; b=j73ZnSGrWL60KlmfspddoXdvmb153n0+llSPhJJy5CQ5dPoVj7T90b0b0Ifx/3GKQa 7wbdHTPJ+HpGPwa8scBxlsxEctTL81MSiLHMQ3aD5s5mGxIuRAiNHaIDVSMmfn/G3Y2f EulYrEOSlZ4XO+zfRFhYfT54W+pDT0OrUtzOfHukN11SbDrhcs1FLl7kPxZC2aws8v04 PpUqkZMsm6yfx03LRUUABGR1g7deHfHKierqt3ertUQTVeZwzJFQ66tZ3ByF2VJPHv4z +XV8VaiW23XsFrQTGNWmkl/xBGJe5cy6WMVJeX04vwJwgTgT0u5CFLu/LQyWRdECsIjz 392w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788818089; x=1789422889; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=8dBsS+uIQswAO+1Zq7ZFjEaF0vj6TxYTsi3HHjhGAsc=; b=I6v7ruNoesFLZvZFoa98dnh2kmqwjITdckFKtM/uKKwxpMZyTQQ+LwlKmxG39oap4t E0XvKFvHrI0g7gCUeLY/UawHDhlQfPX4nGCVcjGuMhcTzKD4+gn3kTTqf7vcF6hxbFvD JcDEqE4XdzZvgK0ZCo9yD+zJJumfiTr3LA0ejhVWbJZWodhS0HWpWadRpl/bDFw5NM5f /px2/MF3eG9FyqYYtJf0JH01q6pTLnuhgj32+gv0XrzCnc2PCn8WItqTdOEE9zD9Ng35 Tm3/ArvwbvHf+S+59MqcquIhNJj7qreyfdDVUf9yzG0WxYEXiKD9DQ1+Yv6/9DhMWXUJ zGqQ== X-Forwarded-Encrypted: i=1; AKwUvBwaf8U0TdOrlSEckvx53jOtMuNZLYdibTzGujFlGV9G1Fooq3nVc57l/uMWiO9NbjLqWWaoYzHUaQ1/MM0=@vger.kernel.org X-Gm-Message-State: AFuF++kxmJ+vi/PLkZCSHhNCzV9HCoI/V+dSJEmxhyr+WhiQBxzAfl7z ojWFvUfuZ3jACL0hkVBb3XSckYEdqeooWwCtigh9cAEjk9ELUzDY946D X-Gm-Gg: AYBFou2uJvJHGqny/30PZdb3n0wDr/QFoHtvn78SAMyxr0U3XEwmaq4zux2GgqJfsKX lUrDS4cwJRmD6fy83eEhsP3uZHqwNQMlPacdwgIBBdmUe4lEI6E4EgDSAISQ0OZBo9uuHg1Qjk/ 8Ckd+Sfh92OmbmjL0d74otPJS4IF4eKYKnufrKhV3CtTdJ7HXAGLYbHWW2hOFduo+bM8NCPndtE avulwSjaJmEEIcgB6VWuDyTNrWBszbYKzO7919qMa5xkY0tItvlu356Plm2ZMv74LKplnLnZ6+U C2GjNM3fX81oxlvnwMtz65ewM8Yy566hHlmAH7bRoQWEnv9tQsxT1G6x9b0wBnu/LYMxqtjyr3h xBpFeTYUFZerinFjMHNbnD9oUM/vQjkOomPFI3PgyX9g1itYKJhZ3gLUkkzgqX03ISEI69L2DXu 5WekNjO6Tu7ABUx5Dq4tqI4sL0H5XWOy5fEnPBHwHihgsTxTwdzzXFbdXKojA3AIb/qi/IoygCt OKUze1UKJ3AXVohY7dPA+PPz8Zc X-Received: by 2002:a05:690c:c4fa:b0:866:e57f:58db with SMTP id 00721157ae682-8711ec239e9mr98053137b3.0.1788818088629; Mon, 07 Sep 2026 14:54:48 -0700 (PDT) Received: from localhost (c-73-105-0-191.hsd1.fl.comcast.net. [73.105.0.191]) by smtp.gmail.com with ESMTPSA id 00721157ae682-8714c1e1eacsm78453177b3.49.2026.09.07.14.54.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 14:54:48 -0700 (PDT) From: Yury Norov X-Google-Original-From: Yury Norov To: Andrew Lunn , Heiner Kallweit , Russell King , Raju Rangoju , Prashanth Kumar K R , Tony Nguyen , Przemek Kitszel , Jian Shen , Jijie Shao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org, linux-usb@vger.kernel.org Cc: Yury Norov , Yury Norov , Rasmus Villemoes , Andrew Morton Subject: [PATCH 8/9] r8152: use linkmode_and_and() in EEE checks Date: Mon, 7 Sep 2026 17:54:37 -0400 Message-ID: <20260907215439.409858-9-ynorov@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260907215439.409858-1-ynorov@nvidia.com> References: <20260907215439.409858-1-ynorov@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Combine the three link mode masks in a single operation and use its return value to determine whether EEE is active. Signed-off-by: Yury Norov Reviewed-by: Aleksandr Loktionov --- drivers/net/usb/r8152.c | 10 ++++------ include/linux/linkmode.h | 8 ++++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index f61686433031..75f0574fe1d4 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -9149,9 +9149,8 @@ static int r8152_get_eee(struct r8152 *tp, struct eth= tool_keee *eee) if (speed & _100bps) linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Full_BIT, common); =20 - linkmode_and(common, common, eee->advertised); - linkmode_and(common, common, eee->lp_advertised); - eee->eee_active =3D !linkmode_empty(common); + eee->eee_active =3D linkmode_and_and(common, common, eee->advertised, + eee->lp_advertised); =20 return 0; } @@ -9222,9 +9221,8 @@ static int r8153_get_eee(struct r8152 *tp, struct eth= tool_keee *eee) if (speed & _100bps) linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Full_BIT, common); =20 - linkmode_and(common, common, eee->advertised); - linkmode_and(common, common, eee->lp_advertised); - eee->eee_active =3D !linkmode_empty(common); + eee->eee_active =3D linkmode_and_and(common, common, eee->advertised, + eee->lp_advertised); =20 return 0; } diff --git a/include/linux/linkmode.h b/include/linux/linkmode.h index 49587a2e0f69..efd392dc62ae 100644 --- a/include/linux/linkmode.h +++ b/include/linux/linkmode.h @@ -26,6 +26,14 @@ static inline bool linkmode_and(unsigned long *dst, cons= t unsigned long *a, return bitmap_and(dst, a, b, __ETHTOOL_LINK_MODE_MASK_NBITS); } =20 +static inline bool linkmode_and_and(unsigned long *dst, + const unsigned long *a, + const unsigned long *b, + const unsigned long *c) +{ + return bitmap_and_and(dst, a, b, c, __ETHTOOL_LINK_MODE_MASK_NBITS); +} + static inline bool linkmode_and_andnot(unsigned long *dst, const unsigned long *a, const unsigned long *b, --=20 2.53.0 From nobody Fri Sep 25 22:19:10 2026 Received: from mail-yw1-f170.google.com (mail-yw1-f170.google.com [209.85.128.170]) (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 7FA6C445ADA for ; Mon, 7 Sep 2026 21:54:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818105; cv=none; b=isi+SgooXdXrIWwvPFwjTEQtbfjnidZMJLu9PFc9jfiKF2NGblG0nUVV44u88a/vjRP36rDzFPP9j5c46Tv2JfJAhXy3HcTGlEUQQVr5aTp4n9MpqYQbo1tP39FI3zQS8Ph7iWhnBaQtPqZJ6o73HExygBs7tCWkL2ZWUoY+J8A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788818105; c=relaxed/simple; bh=5QSvUUBEwul0t3wOfYWCRctJgwUlnqFBztayCoeh9K4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=evHGI9kx6CqmV0E0NIHzKuldO29ORoShB18GJqu3hpqHMTC7h9cqWXdM8ej3WSmI89hY/wlm9S0VfN0gHmyzbh8LPrGkhqtcegPwSrN56PAQ1JJOnSK3QDgXRi1VSfoZbD5TN5yJnOSQYu3zZbuKOO3gK10cmvqNaeVH+8x8xP8= 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=ghWEb/Xn; arc=none smtp.client-ip=209.85.128.170 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="ghWEb/Xn" Received: by mail-yw1-f170.google.com with SMTP id 00721157ae682-867a943b149so59828127b3.1 for ; Mon, 07 Sep 2026 14:54:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788818089; x=1789422889; 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:content-type; bh=Kb2gmiVIlb5vlxpKkwwNuzRtWNaOFk2YDHgZ7G5RM8s=; b=ghWEb/XnNyy4QmDPJ6GZIOY2NBsnV8RtAhU7Y3YaeS+VYJjDZyvQh6LE2C+50My4g9 +yXdJphB2Sd2yolBWiyE6e6h7gDNhCjTrPhoppjhQOUDoEnRzIe2bokaeDnDv2tLvIvu AIQIQor6M4n/ikeOgcIDVCPlhJq61TvzWtsYGf9Z2HFvkiOlu53dkIhto9bF0aVxK2W2 wSZi1qJFlUIpX7lM/rAV4JM6odFIQktAV+g4KkvqIrZxrQbDHvu9I9HsQ5FeqPgVeU0W hatk3X/z/J05tREj04viygGS+rgnX+c0IOFASyhpJAhkNLcKq+wH/0VHMzjUHDyIaaWO GQBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788818089; x=1789422889; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Kb2gmiVIlb5vlxpKkwwNuzRtWNaOFk2YDHgZ7G5RM8s=; b=TLAznckWB8lWgZcG+cn0L9pcnbh4gVqeISGeIraPzSjKy3Ob0oKSe6CUQ6U488r4BH Yr+FyrLEe+2YUYji20IP1b6fG4wdTcByua2LHnKFfU6KRo+l0JXJ0OeTg7RdUTUXWaan DbnDhGgQwrahRiJI3yY6iPxpJXiPXFrcOWK/jKp0ZvhpvbZrtCZSuy/Cjj1Jy4/e3LTd 7bJ2emUuNq/yfDXmb9FU9Jt8OZwQgBIHzbQOCASFM2ovFVqFYWu7EDfv/NPLv7+zBABj LBJgd/cPjX6aKXzKZFle5X6INV/NVUXODUMlDpD90SqOsFnsLSbKxD/ic8Bigw+IpVF3 Mtlw== X-Forwarded-Encrypted: i=1; AKwUvBw632cLxzWM8nTra32syyZ9Tsih5BKLqAsNF2WVLUXnrBORkIG5Hi4z1c6RJWbXqVNSNNWK0huJeT/ovww=@vger.kernel.org X-Gm-Message-State: AFuF++lpOpjA15DcNkknBgxR1d55tjVvQZRnvirChYkvSfTRpiexZnWS +hzxOHB77Z/BmTYVohVpsoduf59wKeYIpwuX5gkjoOS1V23HbGYus4xr X-Gm-Gg: AYBFou04p2K4UwS/CzFF5okyiCs6ux/eO6MY0tcwEHFCCprD+R0adPhfsVliHgWsz2j a1WkXuSnPx3FXKpXkYa4R0jCjqKGhiZBDjN8/QQ01gNpcbXVMpEXViNRE1UhZ59ytV/Fyp0wsx9 OtZu6HOX3u2zcTeD+mXx4a1Nruc1Jh8FDETa0AQLYczViPJ6WahNALhkrQjtLCJJceX2/5Vk2VP Rxsc8hE6DI+HqhBsQgN1cK3FHhRRgYiMmoCZxyZEdlVTrtnVmyfTP+J6oLQIwtb/Bx0lQAbT2Ph 7MM3Ek6JDFzKtL1VEfGFWhFekoNjzd9Ai8D63W/K79nYBuGZ/bg8xutnsLQDg+4D3ODBU4uKwxn CM4AZYzmJbUYjgLcOB7VA7i8kYXkCqRI8bkCzjCTe+UOyDy4hSWd9iUo5YeQpwlo8J0OK1idh29 MItu/ioLZckj1cPU5YnqRf7IYVxAXbC/ft6UZ+vh2p+OoaBEr0ZSFCXMOtoF4dcGe3uzEKhQ12F cU77sX/lyijEJl1xA== X-Received: by 2002:a05:690c:4adb:b0:873:5bd1:98c3 with SMTP id 00721157ae682-8735bd1a0damr49302177b3.53.1788818089522; Mon, 07 Sep 2026 14:54:49 -0700 (PDT) Received: from localhost (c-73-105-0-191.hsd1.fl.comcast.net. [73.105.0.191]) by smtp.gmail.com with ESMTPSA id 00721157ae682-871439bcb5bsm78484247b3.3.2026.09.07.14.54.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 14:54:49 -0700 (PDT) From: Yury Norov X-Google-Original-From: Yury Norov To: Andrew Lunn , Heiner Kallweit , Russell King , Raju Rangoju , Prashanth Kumar K R , Tony Nguyen , Przemek Kitszel , Jian Shen , Jijie Shao , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org, linux-usb@vger.kernel.org Cc: Yury Norov , Yury Norov , Rasmus Villemoes , Andrew Morton Subject: [PATCH 9/9] MAINTAINERS: co-maintain linkmode.h under BITMAP Date: Mon, 7 Sep 2026 17:54:38 -0400 Message-ID: <20260907215439.409858-10-ynorov@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260907215439.409858-1-ynorov@nvidia.com> References: <20260907215439.409858-1-ynorov@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The file is largely a wrapper around bitmap.h. List it under BITMAP section for co-maintenance. Signed-off-by: Yury Norov --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 3a19da74d00c..b78f0bccff54 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4646,6 +4646,7 @@ F: include/linux/cpumask.h F: include/linux/cpumask_types.h F: include/linux/find.h F: include/linux/hw_bitfield.h +F: include/linux/linkmode.h F: include/linux/nodemask.h F: include/linux/nodemask_types.h F: include/uapi/linux/bits.h --=20 2.53.0