Skip to contentSkip to conversation

x86, amd-nb: Misc correctness fixes

PATCH RESEND Applied Borislav Petkov 2 participants 5 messages Mar 2, 2011 – Mar 3, 2011 x86

lore
Share & tools
lore
#0 lore raw

PATCH RESEND 1/1 x86, amd-nb: Misc correctness fixes

Make functions used strictly in bool context return bool. Also, fixup used types and comments, and make a local function static, while at it.

---

Against tip/x86/amd_nb.

 arch/x86/include/asm/amd_nb.h |   12 ++++++------
 arch/x86/kernel/amd_nb.c      |   18 ++++++++++--------
 2 files changed, 16 insertions(+), 14 deletions(-)
arch/x86/include/asm/amd_nb.h +6 -6
index 2b33c4d..527fb96 100644
@@ -13,7 +13,7 @@ extern const struct pci_device_id amd_nb_misc_ids[];
 extern const struct amd_nb_bus_dev_range amd_nb_bus_dev_ranges[];
 struct bootnode;
 
-extern int early_is_amd_nb(u32 value);
+extern bool early_is_amd_nb(u32 value);
 extern int amd_cache_northbridges(void);
 extern void amd_flush_garts(void);
 extern int amd_numa_init(unsigned long start_pfn, unsigned long end_pfn);
@@ -38,18 +38,18 @@ struct amd_northbridge_info {
 };
 extern struct amd_northbridge_info amd_northbridges;
 
-#define AMD_NB_GART			0x1
-#define AMD_NB_L3_INDEX_DISABLE		0x2
-#define AMD_NB_L3_PARTITIONING		0x4
+#define AMD_NB_GART			BIT(0)
+#define AMD_NB_L3_INDEX_DISABLE		BIT(1)
+#define AMD_NB_L3_PARTITIONING		BIT(2)
 
 #ifdef CONFIG_AMD_NB
 
-static inline int amd_nb_num(void)
+static inline u16 amd_nb_num(void)
 {
 	return amd_northbridges.num;
 }
 
-static inline int amd_nb_has_feature(int feature)
+static inline bool amd_nb_has_feature(unsigned feature)
 {
 	return ((amd_northbridges.flags & feature) == feature);
 }
arch/x86/kernel/amd_nb.c +10 -8
index ed3c2e5..b57ade1 100644
@@ -48,7 +48,7 @@ static struct pci_dev *next_northbridge(struct pci_dev *dev,
 
 int amd_cache_northbridges(void)
 {
-	int i = 0;
+	u16 i = 0;
 	struct amd_northbridge *nb;
 	struct pci_dev *misc, *link;
 
@@ -103,9 +103,11 @@ int amd_cache_northbridges(void)
 }
 EXPORT_SYMBOL_GPL(amd_cache_northbridges);
 
-/* Ignores subdevice/subvendor but as far as I can figure out
-   they're useless anyways */
-int __init early_is_amd_nb(u32 device)
+/*
+ * Ignores subdevice/subvendor but as far as I can figure out
+ * they're useless anyways
+ */
+bool __init early_is_amd_nb(u32 device)
 {
 	const struct pci_device_id *id;
 	u32 vendor = device & 0xffff;
@@ -113,8 +115,8 @@ int __init early_is_amd_nb(u32 device)
 	device >>= 16;
 	for (id = amd_nb_misc_ids; id->vendor; id++)
 		if (vendor == id->vendor && device == id->device)
-			return 1;
-	return 0;
+			return true;
+	return false;
 }
 
 int amd_get_subcaches(int cpu)
@@ -176,9 +178,9 @@ int amd_set_subcaches(int cpu, int mask)
 	return 0;
 }
 
-int amd_cache_gart(void)
+static int amd_cache_gart(void)
 {
-       int i;
+       u16 i;
 
        if (!amd_nb_has_feature(AMD_NB_GART))
                return 0;
Signature · 12 lines
1.7.4.rc2


-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
General Managers: Alberto Bozzo, Andrew Bowd
Registration: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
#1 lore raw
Quoted 4 lines · Borislav Petkov

Make functions used strictly in bool context return bool. Also, fixup used types and comments, and make a local function static, while at it.

I'm confused about the title - a 'correctness fix' is one that fixes an actual bug.

Did you mean 'cleanliness fixes'?

Also, checkpatch outputs a warning that looks legit.

Thanks,

Ingo

#2 lore raw
Quoted 3 lines · Ingo Molnar

I'm confused about the title - a 'correctness fix' is one that fixes an actual bug.

Did you mean 'cleanliness fixes'?

Yes sir, this is basically a result from the 'make W=1 ..' thing I've been playing with lately. Fixed.

Quoted 1 line

Also, checkpatch outputs a warning that looks legit.

Won't happen again. Hadn't enabled the pre-commit hook for checkpatch on that machine. Fixed.

Here's a better version:

--
From: Borislav Petkov <[email protected]>
Date: Mon, 21 Feb 2011 15:54:36 +0100
Subject: [PATCH] x86, amd-nb: Misc cleanliness fixes

Make functions used strictly in bool context return bool. Also, fixup used types and comments, and make a local function static, while at it.

---
 arch/x86/include/asm/amd_nb.h |   12 ++++++------
 arch/x86/kernel/amd_nb.c      |   18 ++++++++++--------
 2 files changed, 16 insertions(+), 14 deletions(-)
arch/x86/include/asm/amd_nb.h +6 -6
index 2b33c4d..527fb96 100644
@@ -13,7 +13,7 @@ extern const struct pci_device_id amd_nb_misc_ids[];
 extern const struct amd_nb_bus_dev_range amd_nb_bus_dev_ranges[];
 struct bootnode;
 
-extern int early_is_amd_nb(u32 value);
+extern bool early_is_amd_nb(u32 value);
 extern int amd_cache_northbridges(void);
 extern void amd_flush_garts(void);
 extern int amd_numa_init(unsigned long start_pfn, unsigned long end_pfn);
@@ -38,18 +38,18 @@ struct amd_northbridge_info {
 };
 extern struct amd_northbridge_info amd_northbridges;
 
-#define AMD_NB_GART			0x1
-#define AMD_NB_L3_INDEX_DISABLE		0x2
-#define AMD_NB_L3_PARTITIONING		0x4
+#define AMD_NB_GART			BIT(0)
+#define AMD_NB_L3_INDEX_DISABLE		BIT(1)
+#define AMD_NB_L3_PARTITIONING		BIT(2)
 
 #ifdef CONFIG_AMD_NB
 
-static inline int amd_nb_num(void)
+static inline u16 amd_nb_num(void)
 {
 	return amd_northbridges.num;
 }
 
-static inline int amd_nb_has_feature(int feature)
+static inline bool amd_nb_has_feature(unsigned feature)
 {
 	return ((amd_northbridges.flags & feature) == feature);
 }
arch/x86/kernel/amd_nb.c +10 -8
index ed3c2e5..6563419 100644
@@ -48,7 +48,7 @@ static struct pci_dev *next_northbridge(struct pci_dev *dev,
 
 int amd_cache_northbridges(void)
 {
-	int i = 0;
+	u16 i = 0;
 	struct amd_northbridge *nb;
 	struct pci_dev *misc, *link;
 
@@ -103,9 +103,11 @@ int amd_cache_northbridges(void)
 }
 EXPORT_SYMBOL_GPL(amd_cache_northbridges);
 
-/* Ignores subdevice/subvendor but as far as I can figure out
-   they're useless anyways */
-int __init early_is_amd_nb(u32 device)
+/*
+ * Ignores subdevice/subvendor but as far as I can figure out
+ * they're useless anyways
+ */
+bool __init early_is_amd_nb(u32 device)
 {
 	const struct pci_device_id *id;
 	u32 vendor = device & 0xffff;
@@ -113,8 +115,8 @@ int __init early_is_amd_nb(u32 device)
 	device >>= 16;
 	for (id = amd_nb_misc_ids; id->vendor; id++)
 		if (vendor == id->vendor && device == id->device)
-			return 1;
-	return 0;
+			return true;
+	return false;
 }
 
 int amd_get_subcaches(int cpu)
@@ -176,9 +178,9 @@ int amd_set_subcaches(int cpu, int mask)
 	return 0;
 }
 
-int amd_cache_gart(void)
+static int amd_cache_gart(void)
 {
-       int i;
+	u16 i;
 
        if (!amd_nb_has_feature(AMD_NB_GART))
                return 0;
Signature · 11 lines
1.7.4.rc2

-- 
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
General Managers: Alberto Bozzo, Andrew Bowd
Registration: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
Applied
#3 lore raw
Quoted 5 lines · Borislav Petkov
Quoted 3 lines · Ingo Molnar

I'm confused about the title - a 'correctness fix' is one that fixes an actual bug.

Did you mean 'cleanliness fixes'?

Quoted 7 lines

Yes sir, this is basically a result from the 'make W=1 ..' thing I've been playing with lately. Fixed.

Quoted 1 line

Also, checkpatch outputs a warning that looks legit.

Won't happen again. Hadn't enabled the pre-commit hook for checkpatch on that machine. Fixed.

Note that there are checkpatch warnings that are crappy - especially the col80 ones tend to produce 'fixes' that are far worse than the offense. So it's not an automatism, it's a case by case tool.

Quoted 1 line

Here's a better version:

Applied, thanks!

Ingo

#4 lore raw

[tip:x86/amd-nb] x86, amd-nb: Misc cleanliness fixes

In reply to Borislav Petkov
Commit-ID:  84fd1d35cc868a4f7590b6dbdae2d7761287b97a
Gitweb:     http://git.kernel.org/tip/84fd1d35cc868a4f7590b6dbdae2d7761287b97a
Author:     Borislav Petkov <[email protected]>
AuthorDate: Thu, 3 Mar 2011 12:59:32 +0100
Committer:  Ingo Molnar <[email protected]>
CommitDate: Thu, 3 Mar 2011 13:06:20 +0100

x86, amd-nb: Misc cleanliness fixes

Make functions used strictly in bool context return bool. Also, fixup used types and comments, and make a local function static, while at it.

LKML-Reference: <20110303115932.GA8603@aftab>

---
 arch/x86/include/asm/amd_nb.h |   12 ++++++------
 arch/x86/kernel/amd_nb.c      |   18 ++++++++++--------
 2 files changed, 16 insertions(+), 14 deletions(-)
arch/x86/include/asm/amd_nb.h +6 -6
index 2b33c4d..527fb96 100644
@@ -13,7 +13,7 @@ extern const struct pci_device_id amd_nb_misc_ids[];
 extern const struct amd_nb_bus_dev_range amd_nb_bus_dev_ranges[];
 struct bootnode;
 
-extern int early_is_amd_nb(u32 value);
+extern bool early_is_amd_nb(u32 value);
 extern int amd_cache_northbridges(void);
 extern void amd_flush_garts(void);
 extern int amd_numa_init(unsigned long start_pfn, unsigned long end_pfn);
@@ -38,18 +38,18 @@ struct amd_northbridge_info {
 };
 extern struct amd_northbridge_info amd_northbridges;
 
-#define AMD_NB_GART			0x1
-#define AMD_NB_L3_INDEX_DISABLE		0x2
-#define AMD_NB_L3_PARTITIONING		0x4
+#define AMD_NB_GART			BIT(0)
+#define AMD_NB_L3_INDEX_DISABLE		BIT(1)
+#define AMD_NB_L3_PARTITIONING		BIT(2)
 
 #ifdef CONFIG_AMD_NB
 
-static inline int amd_nb_num(void)
+static inline u16 amd_nb_num(void)
 {
 	return amd_northbridges.num;
 }
 
-static inline int amd_nb_has_feature(int feature)
+static inline bool amd_nb_has_feature(unsigned feature)
 {
 	return ((amd_northbridges.flags & feature) == feature);
 }
arch/x86/kernel/amd_nb.c +10 -8
index ed3c2e5..6563419 100644
@@ -48,7 +48,7 @@ static struct pci_dev *next_northbridge(struct pci_dev *dev,
 
 int amd_cache_northbridges(void)
 {
-	int i = 0;
+	u16 i = 0;
 	struct amd_northbridge *nb;
 	struct pci_dev *misc, *link;
 
@@ -103,9 +103,11 @@ int amd_cache_northbridges(void)
 }
 EXPORT_SYMBOL_GPL(amd_cache_northbridges);
 
-/* Ignores subdevice/subvendor but as far as I can figure out
-   they're useless anyways */
-int __init early_is_amd_nb(u32 device)
+/*
+ * Ignores subdevice/subvendor but as far as I can figure out
+ * they're useless anyways
+ */
+bool __init early_is_amd_nb(u32 device)
 {
 	const struct pci_device_id *id;
 	u32 vendor = device & 0xffff;
@@ -113,8 +115,8 @@ int __init early_is_amd_nb(u32 device)
 	device >>= 16;
 	for (id = amd_nb_misc_ids; id->vendor; id++)
 		if (vendor == id->vendor && device == id->device)
-			return 1;
-	return 0;
+			return true;
+	return false;
 }
 
 int amd_get_subcaches(int cpu)
@@ -176,9 +178,9 @@ int amd_set_subcaches(int cpu, int mask)
 	return 0;
 }
 
-int amd_cache_gart(void)
+static int amd_cache_gart(void)
 {
-       int i;
+	u16 i;
 
        if (!amd_nb_has_feature(AMD_NB_GART))
                return 0;