[PATCH] EDAC/skx_base: Fix ambiguous bitwise and logical operator style

Bryan Chan posted 1 patch 1 day, 14 hours ago
drivers/edac/skx_base.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] EDAC/skx_base: Fix ambiguous bitwise and logical operator style
Posted by Bryan Chan 1 day, 14 hours ago
The code works fine and works how it should be, the fix is just for
uniformity/consistency of the bitwise operations. Also fix the compiler
warning.

lchan here is always 0 or 1 here, replace the inconsistance logical
operator by xor operation resulting 1 or 2. This remove the compiler
warning and make the switch case easier for reading.

Signed-off-by: Bryan Chan <bchimhim15@gmail.com>
---
 drivers/edac/skx_base.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/edac/skx_base.c b/drivers/edac/skx_base.c
index de749413ff9a..ae2fda006632 100644
--- a/drivers/edac/skx_base.c
+++ b/drivers/edac/skx_base.c
@@ -356,7 +356,7 @@ static bool skx_sad_decode(struct decoded_addr *res)
 			break;
 		case 2:
 			lchan = (addr >> shift) % 2;
-			lchan = (lchan << 1) | !lchan;
+			lchan = (lchan << 1) | (lchan ^ 1);
 			break;
 		case 3:
 			lchan = ((addr >> shift) % 2) << 1;
-- 
2.55.0
RE: [PATCH] EDAC/skx_base: Fix ambiguous bitwise and logical operator style
Posted by Luck, Tony 1 day, 13 hours ago
> The code works fine and works how it should be, the fix is just for
> uniformity/consistency of the bitwise operations. Also fix the compiler
> warning.

Details? I don't see a warning with gcc 14.3.1

Which compiler, version, and any relevant compiler flags.

What is the warning message?

-Tony
RE: [PATCH] EDAC/skx_base: Fix ambiguous bitwise and logical operator style
Posted by Bryan Chan 1 day, 9 hours ago
On 2026-09-23 00:20 +0000, Luck, Tony wrote:
Hi Tony,
> > The code works fine and works how it should be, the fix is just for
> > uniformity/consistency of the bitwise operations. Also fix the compiler
> > warning.
> 
> Details? I don't see a warning with gcc 14.3.1
> 
> Which compiler, version, and any relevant compiler flags.
> 
> What is the warning message?
> 
> -Tony
> 
Sorry for my mistake, this is not compiler warning, but warning from the
sparse, here is the warning message:
drivers/edac/skx_base.c:359:46: warning: dubious: x | !y

The command and flag used:
make C=1 W=1 drivers/edac/skx_base.o

The change is a style fix rather than gcc warning fix. After change, the
whole operation will be bitwise shift and xor, instead of bitwise shift
and logical (not), which increase readability and consistancy.

My gcc version is 16.2.1 20260810
RE: [PATCH] EDAC/skx_base: Fix ambiguous bitwise and logical operator style
Posted by Luck, Tony 21 hours ago
> Sorry for my mistake, this is not compiler warning, but warning from the
> sparse, here is the warning message:
> drivers/edac/skx_base.c:359:46: warning: dubious: x | !y

Ok. I updated the commit message to say "sparse warning" and pasted
in that message.

Applied, thanks.

-Tony
RE: [PATCH] EDAC/skx_base: Fix ambiguous bitwise and logical operator style
Posted by Bryan Chan 20 hours ago
On 2026-09-23 16:35 +0000, Luck, Tony wrote:
> > Sorry for my mistake, this is not compiler warning, but warning from the
> > sparse, here is the warning message:
> > drivers/edac/skx_base.c:359:46: warning: dubious: x | !y
> 
> Ok. I updated the commit message to say "sparse warning" and pasted
> in that message.
> 
> Applied, thanks.
> 
> -Tony
Thank you Tony, I will be more careful writing discriptions in the future.

-Bryan