Re: [PATCH 1/4] Calgary: phb_shift can be int

From: Richard B. Johnson
Date: Thu Nov 02 2006 - 18:16:54 EST



----- Original Message ----- From: "David Rientjes" <rientjes@xxxxxxxxxxxxxxxxx>
To: <muli@xxxxxxxxxx>
Cc: <ak@xxxxxxx>; <linux-kernel@xxxxxxxxxxxxxxx>; <discuss@xxxxxxxxxx>; <jdmason@xxxxxxxx>
Sent: Thursday, November 02, 2006 5:12 PM
Subject: Re: [PATCH 1/4] Calgary: phb_shift can be int


On Thu, 2 Nov 2006, muli@xxxxxxxxxx wrote:

diff --git a/arch/x86_64/kernel/pci-calgary.c b/arch/x86_64/kernel/pci-calgary.c
index 37a7708..31d5758 100644
--- a/arch/x86_64/kernel/pci-calgary.c
+++ b/arch/x86_64/kernel/pci-calgary.c
@@ -740,7 +740,7 @@ static void __init calgary_increase_spli
{
u64 val64;
void __iomem *target;
- unsigned long phb_shift = -1;
+ unsigned int phb_shift = ~0; /* silence gcc */
u64 mask;

switch (busno_to_phbid(busnum)) {


There's been a suggestion to add

#define SILENCE_GCC(x) = x

This was previously discussed. To quiet gcc warnings, one can use "var=var", but you do not want to hide it in a macro! That hides bonafide bugs. If you carefully review code and see that there is absolutely no possibility of using an uninitialized variable in any execution path, then you can assign it to itself to quiet the compiler.


for these silencing cases with the advantage that all the cases are marked
for an easy grep and the purpose of such an initialization is known by
the code reader.

http://lkml.org/lkml/2006/10/31/106
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Cheers,
Dick Johnson
Penguin : Linux version 2.6.16.24 (somewhere). IT took away email "privileges" to engineers.
New Book: http://www.AbominableFirebug.com


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/