Subject: kern/30444: Some const/shadow warning fixes for recent -current
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <fun@naobsd.org>
List: netbsd-bugs
Date: 06/06/2005 16:28:01
>Number:         30444
>Category:       kern
>Synopsis:       Some const/shadow warning fixes for recent -current
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jun 06 16:28:00 +0000 2005
>Originator:     FUKAUMI Naoki
>Release:        NetBSD 3.99.5
>Organization:
	FUKAUMI Naoki
>Environment:
System: NetBSD turion64.naobsd.org 3.99.5 NetBSD 3.99.5 (TURION64) #0: Mon Jun 6 20:17:28 JST 2005 root@turion64.naobsd.org:/usr/obj/amd64/sys/arch/amd64/compile/TURION64 amd64
Architecture: x86_64
Machine: amd64
>Description:
	I couldn't compile kernel with rtw(4) because compiler warns.
	I found some fixes are needed in kern_sysctl.c and an.c, too.
>How-To-Repeat:
	Compile rtw.c.
>Fix:
Index: sys/kern/kern_sysctl.c
===================================================================
RCS file: /home/fun/cvsroot/NetBSD/src/sys/kern/kern_sysctl.c,v
retrieving revision 1.180
diff -u -r1.180 kern_sysctl.c
--- sys/kern/kern_sysctl.c	29 May 2005 22:24:15 -0000	1.180
+++ sys/kern/kern_sysctl.c	6 Jun 2005 04:08:34 -0000
@@ -1199,7 +1199,8 @@
 	       node->sysctl_size);
 
 	node = rnode;
-	rc = sysctl_create(SYSCTLFN_CALL(rnode));
+	/*XXXUNCONST*/
+	rc = sysctl_create(SYSCTLFN_CALL(__UNCONST(rnode)));
 
 	printf("sysctl_create(");
 	for (ni = 0; ni < nl - 1; ni++)
Index: sys/dev/ic/an.c
===================================================================
RCS file: /home/fun/cvsroot/NetBSD/src/sys/dev/ic/an.c,v
retrieving revision 1.33
diff -u -r1.33 an.c
--- sys/dev/ic/an.c	15 Jan 2005 11:01:46 -0000	1.33
+++ sys/dev/ic/an.c	6 Jun 2005 04:08:34 -0000
@@ -381,7 +381,8 @@
 static int
 an_sysctl_verify_debug(SYSCTLFN_ARGS)
 {
-	return an_sysctl_verify(SYSCTLFN_CALL(rnode), 0, 2);
+	/*XXXUNCONST*/
+	return an_sysctl_verify(SYSCTLFN_CALL(__UNCONST(rnode)), 0, 2);
 }
 #endif /* AN_DEBUG */
 
Index: sys/dev/ic/rtw.c
===================================================================
RCS file: /home/fun/cvsroot/NetBSD/src/sys/dev/ic/rtw.c,v
retrieving revision 1.45
diff -u -r1.45 rtw.c
--- sys/dev/ic/rtw.c	2 Mar 2005 05:20:43 -0000	1.45
+++ sys/dev/ic/rtw.c	6 Jun 2005 04:08:34 -0000
@@ -198,27 +198,31 @@
 static int
 rtw_sysctl_verify_rfprog(SYSCTLFN_ARGS)
 {
-	return rtw_sysctl_verify(SYSCTLFN_CALL(rnode), 0,
+	/*XXXUNCONST*/
+	return rtw_sysctl_verify(SYSCTLFN_CALL(__UNCONST(rnode)), 0,
 	    MASK_AND_RSHIFT(RTW_CONFIG4_RFTYPE_MASK, RTW_CONFIG4_RFTYPE_MASK));
 }
 
 static int
 rtw_sysctl_verify_rfio(SYSCTLFN_ARGS)
 {
-	return rtw_sysctl_verify(SYSCTLFN_CALL(rnode), 0, 1);
+	/*XXXUNCONST*/
+	return rtw_sysctl_verify(SYSCTLFN_CALL(__UNCONST(rnode)), 0, 1);
 }
 
 #ifdef RTW_DEBUG
 static int
 rtw_sysctl_verify_debug(SYSCTLFN_ARGS)
 {
-	return rtw_sysctl_verify(SYSCTLFN_CALL(rnode), 0, RTW_DEBUG_MAX);
+	/*XXXUNCONST*/
+	return rtw_sysctl_verify(SYSCTLFN_CALL(__UNCONST(rnode)), 0, RTW_DEBUG_MAX);
 }
 
 static int
 rtw_sysctl_verify_rxbufs_limit(SYSCTLFN_ARGS)
 {
-	return rtw_sysctl_verify(SYSCTLFN_CALL(rnode), 0, RTW_RXQLEN);
+	/*XXXUNCONST*/
+	return rtw_sysctl_verify(SYSCTLFN_CALL(__UNCONST(rnode)), 0, RTW_RXQLEN);
 }
 
 static void
@@ -703,16 +707,16 @@
 	int i;
 	const char *rfname, *paname;
 	char scratch[sizeof("unknown 0xXX")];
-	uint16_t version;
+	uint16_t sromver;
 	uint8_t mac[IEEE80211_ADDR_LEN];
 
 	*flags &= ~(RTW_F_DIGPHY|RTW_F_DFLANTB|RTW_F_ANTDIV);
 	*rcr &= ~(RTW_RCR_ENCS1 | RTW_RCR_ENCS2);
 
-	version = RTW_SR_GET16(sr, RTW_SR_VERSION);
-	printf("%s: SROM version %d.%d", dvname, version >> 8, version & 0xff);
+	sromver = RTW_SR_GET16(sr, RTW_SR_VERSION);
+	printf("%s: SROM version %d.%d", dvname, sromver >> 8, sromver & 0xff);
 
-	if (version <= 0x0101) {
+	if (sromver <= 0x0101) {
 		printf(" is not understood, limping along with defaults\n");
 		rtw_srom_defaults(sr, flags, cs_threshold, rfchipid, rcr);
 		return 0;
@@ -3810,7 +3814,7 @@
  * revisions A and B.
  */
 static uint8_t
-rtw_check_phydelay(struct rtw_regs *regs, uint32_t rcr0)
+rtw_check_phydelay(struct rtw_regs *regs, uint32_t val)
 {
 #define REVAB (RTW_RCR_MXDMA_UNLIMITED | RTW_RCR_AICV)
 #define REVC (REVAB | RTW_RCR_RXFTH_WHOLE)
@@ -3825,7 +3829,7 @@
 	if ((RTW_READ(regs, RTW_RCR) & REVC) == REVC)
 		phydelay |= RTW_PHYDELAY_REVC_MAGIC;
 
-	RTW_WRITE(regs, RTW_RCR, rcr0);	/* restore RCR */
+	RTW_WRITE(regs, RTW_RCR, val);	/* restore RCR */
 	RTW_SYNC(regs, RTW_RCR, RTW_RCR);
 
 	return phydelay;