Fix -Wsign-compare trouble

Mostly by changing to `unsigned` types where applicable, sometimes
`signed` types, and casting as a last resort.

Change-Id: I08895543ffb7a48058bcf91ef6500ca113f2d305
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/30409
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jacob Garber <jgarber1@ualberta.ca>
diff --git a/helpers.c b/helpers.c
index a714908..cfa9812 100644
--- a/helpers.c
+++ b/helpers.c
@@ -30,9 +30,9 @@
 	return 32 - lzb;
 }
 
-int bitcount(unsigned long a)
+unsigned int bitcount(unsigned long a)
 {
-	int i = 0;
+	unsigned int i = 0;
 	for (; a != 0; a >>= 1)
 		if (a & 1)
 			i++;