CPCI750: Fix GCC 4.6 warning in board/esd/cpci750/mv_eth.c
PATCH 1/1 CPCI750: Fix GCC 4.6 warning in board/esd/cpci750/mv_eth.c
From: Reinhard Arlt <[email protected]>
This patch fix the GCC 4.6 warnings in
--
board/esd/cpci750/mv_eth.c +33 -52
@@ -100,6 +100,8 @@ extern void NetReceive (volatile uchar *, int);extern unsigned int INTERNAL_REG_BASE_ADDR ; +u32 port_status; +/************************************************* *Helper functions - used inside the driver only * *************************************************/
@@ -422,7 +424,7 @@ static int mv64360_eth_real_open (struct eth_device *dev)ETH_PORT_INFO *ethernet_private;struct mv64360_eth_priv *port_private;unsigned int port_num; -u32 port_status, phy_reg_data; +u32 phy_reg_data; ethernet_private = (ETH_PORT_INFO *) dev->priv;/* ronen - when we update the MAC env params we only update dev->enetaddr
@@ -638,15 +640,6 @@ static int mv64360_eth_free_rx_rings (struct eth_device *dev)int mv64360_eth_stop (struct eth_device *dev) { -ETH_PORT_INFO *ethernet_private; -struct mv64360_eth_priv *port_private; -unsigned int port_num; - - ethernet_private = (ETH_PORT_INFO *) dev->priv; - port_private = - (struct mv64360_eth_priv *) ethernet_private->port_private; - port_num = port_private->port_num; -/* Disable all gigE address decoder */ MV_REG_WRITE (MV64360_ETH_BASE_ADDR_ENABLE_REG ,0x3f );DP (printf ("%s Ethernet stop called ... \n" , __FUNCTION__));
@@ -716,7 +709,6 @@ int mv64360_eth_xmit (struct eth_device *dev, volatile void *dataPtr, {ETH_PORT_INFO *ethernet_private;struct mv64360_eth_priv *port_private; -unsigned int port_num;PKT_INFO pkt_info;ETH_FUNC_RET_STATUS status;struct net_device_stats *stats;
@@ -725,7 +717,6 @@ int mv64360_eth_xmit (struct eth_device *dev, volatile void *dataPtr, ethernet_private = (ETH_PORT_INFO *) dev->priv; port_private = (struct mv64360_eth_priv *) ethernet_private->port_private; - port_num = port_private->port_num; stats = port_private->stats;
@@ -801,7 +792,6 @@ int mv64360_eth_receive (struct eth_device *dev) {ETH_PORT_INFO *ethernet_private;struct mv64360_eth_priv *port_private; -unsigned int port_num;PKT_INFO pkt_info;struct net_device_stats *stats;
@@ -809,7 +799,6 @@ int mv64360_eth_receive (struct eth_device *dev) ethernet_private = (ETH_PORT_INFO *) dev->priv; port_private = (struct mv64360_eth_priv *) ethernet_private->port_private; - port_num = port_private->port_num; stats = port_private->stats; while ((eth_port_receive (ethernet_private, ETH_Q0, &pkt_info) ==
@@ -900,12 +889,10 @@ static struct net_device_stats *mv64360_eth_get_stats (struct eth_device *dev) {ETH_PORT_INFO *ethernet_private;struct mv64360_eth_priv *port_private; -unsigned int port_num; ethernet_private = (ETH_PORT_INFO *) dev->priv; port_private = (struct mv64360_eth_priv *) ethernet_private->port_private; - port_num = port_private->port_num;mv64360_eth_update_stat (dev);
@@ -927,24 +914,21 @@ static void mv64360_eth_update_stat (struct eth_device *dev)ETH_PORT_INFO *ethernet_private;struct mv64360_eth_priv *port_private;struct net_device_stats *stats; -unsigned int port_num; -volatile unsigned int dummy; ethernet_private = (ETH_PORT_INFO *) dev->priv; port_private = (struct mv64360_eth_priv *) ethernet_private->port_private; - port_num = port_private->port_num; stats = port_private->stats;/* These are false updates */ stats->rx_packets += (unsigned long ) -eth_read_mib_counter (ethernet_private->port_num, -ETH_MIB_GOOD_FRAMES_RECEIVED ); +eth_read_mib_counter (ethernet_private->port_num, +ETH_MIB_GOOD_FRAMES_RECEIVED ); stats->tx_packets += (unsigned long ) -eth_read_mib_counter (ethernet_private->port_num, -ETH_MIB_GOOD_FRAMES_SENT ); +eth_read_mib_counter (ethernet_private->port_num, +ETH_MIB_GOOD_FRAMES_SENT ); stats->rx_bytes += (unsigned long ) -eth_read_mib_counter (ethernet_private->port_num, +eth_read_mib_counter (ethernet_private->port_num,ETH_MIB_GOOD_OCTETS_RECEIVED_LOW );/* * Ideally this should be as follows -
@@ -956,41 +940,41 @@ static void mv64360_eth_update_stat (struct eth_device *dev)* But the unsigned long in PowerPC and MIPS are 32bit. So the next read * is just a dummy read for proper work of the GigE port */ - dummy =eth_read_mib_counter (ethernet_private->port_num, + port_status =eth_read_mib_counter (ethernet_private->port_num,ETH_MIB_GOOD_OCTETS_RECEIVED_HIGH ); stats->tx_bytes += (unsigned long ) -eth_read_mib_counter (ethernet_private->port_num, -ETH_MIB_GOOD_OCTETS_SENT_LOW ); - dummy =eth_read_mib_counter (ethernet_private->port_num, -ETH_MIB_GOOD_OCTETS_SENT_HIGH ); +eth_read_mib_counter (ethernet_private->port_num, +ETH_MIB_GOOD_OCTETS_SENT_LOW ); + port_status =eth_read_mib_counter (ethernet_private->port_num, +ETH_MIB_GOOD_OCTETS_SENT_HIGH ); stats->rx_errors += (unsigned long ) -eth_read_mib_counter (ethernet_private->port_num, -ETH_MIB_MAC_RECEIVE_ERROR ); +eth_read_mib_counter (ethernet_private->port_num, +ETH_MIB_MAC_RECEIVE_ERROR );/* Rx dropped is for received packet with CRC error */ stats->rx_dropped += - (unsigned long )eth_read_mib_counter (ethernet_private-> - port_num, -ETH_MIB_BAD_CRC_EVENT ); + (unsigned long )eth_read_mib_counter (ethernet_private-> + port_num, +ETH_MIB_BAD_CRC_EVENT ); stats->multicast += (unsigned long ) -eth_read_mib_counter (ethernet_private->port_num, -ETH_MIB_MULTICAST_FRAMES_RECEIVED ); +eth_read_mib_counter (ethernet_private->port_num, +ETH_MIB_MULTICAST_FRAMES_RECEIVED ); stats->collisions += - (unsigned long )eth_read_mib_counter (ethernet_private-> - port_num, -ETH_MIB_COLLISION ) + - (unsigned long )eth_read_mib_counter (ethernet_private-> - port_num, -ETH_MIB_LATE_COLLISION ); + (unsigned long )eth_read_mib_counter (ethernet_private-> + port_num, +ETH_MIB_COLLISION ) + + (unsigned long )eth_read_mib_counter (ethernet_private-> + port_num, +ETH_MIB_LATE_COLLISION );/* detailed rx errors */ stats->rx_length_errors += - (unsigned long )eth_read_mib_counter (ethernet_private-> - port_num, -ETH_MIB_UNDERSIZE_RECEIVED ) + (unsigned long )eth_read_mib_counter (ethernet_private-> + port_num, +ETH_MIB_UNDERSIZE_RECEIVED ) + - (unsigned long )eth_read_mib_counter (ethernet_private-> - port_num, -ETH_MIB_OVERSIZE_RECEIVED ); + (unsigned long )eth_read_mib_counter (ethernet_private-> + port_num, +ETH_MIB_OVERSIZE_RECEIVED );/* detailed tx errors */ }
@@ -1009,12 +993,10 @@ static void mv64360_eth_print_stat (struct eth_device *dev)ETH_PORT_INFO *ethernet_private;struct mv64360_eth_priv *port_private;struct net_device_stats *stats; -unsigned int port_num; ethernet_private = (ETH_PORT_INFO *) dev->priv; port_private = (struct mv64360_eth_priv *) ethernet_private->port_private; - port_num = port_private->port_num; stats = port_private->stats;/* These are false updates */
@@ -2066,12 +2048,11 @@ static void eth_port_init_mac_tables (ETH_PORT eth_port_num)static void eth_clear_mib_counters (ETH_PORT eth_port_num) {int i; -unsigned int dummy;/* Perform dummy reads from MIB counters */ for (i =ETH_MIB_GOOD_OCTETS_RECEIVED_LOW ; i <ETH_MIB_LATE_COLLISION ; i +=4 ) - dummy =MV_REG_READ ((MV64360_ETH_MIB_COUNTERS_BASE + port_status =MV_REG_READ ((MV64360_ETH_MIB_COUNTERS_BASE (eth_port_num) + i));return ;
PATCH 1/1 CPCI750: Fix GCC 4.6 warning in board/esd/cpci750/mv_eth.c
Dear Reinhard Arlt,
Quoted 3 lines · In message <[email protected]> you wrote:
From: Reinhard Arlt <[email protected]>
This patch fix the GCC 4.6 warnings in
in what?
and which warnings?
board/esd/cpci750/mv_eth.c extern void NetReceive (volatile uchar *, int); · line 103
Quoted 13 lines
Signed-off-by Reinhard Arlt <[email protected]>--
board/esd/cpci750/mv_eth.c +1
-0@@ -100,6 +100,8 @@ extern void NetReceive (volatile uchar *, int);extern unsigned int INTERNAL_REG_BASE_ADDR ; +u32 port_status;
What is this needed for?
I see a port_status locally used in mv64360_eth_print_phy_status(), but except from that it never gets read.
Sorry, but his does not appear to be a good fix.
You may want to have a look at what I did to the same driver for the Marvell boards.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "Though a program be but three lines long, someday it will have to be maintained." - The Tao of Programming
PATCH 1/1 board/esd/cpci750/mv_eth.c: Fix GCC 4.6 build warnings
In reply to Reinhard ArltFix:mv_eth.c: In function 'mv64360_eth_real_open':
mv_eth.c:425:6: warning: variable 'port_status' set but not used [-Wunused-but-set-variable] mv_eth.c: In function 'mv64360_eth_stop':
mv_eth.c:643:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable] mv_eth.c: In function 'mv64360_eth_xmit':
mv_eth.c:719:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable] mv_eth.c: In function 'mv64360_eth_receive':
mv_eth.c:804:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable] mv_eth.c: In function 'mv64360_eth_get_stats':
mv_eth.c:903:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable] mv_eth.c: In function 'mv64360_eth_update_stat':
mv_eth.c:931:24: warning: variable 'dummy' set but not used [-Wunused-but-set-variable] mv_eth.c:930:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable] mv_eth.c: In function 'mv64360_eth_print_stat':
mv_eth.c:1012:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable] mv_eth.c: In function 'eth_clear_mib_counters':
mv_eth.c:2069:15: warning: variable 'dummy' set but not used [-Wunused-but-set-variable
--- board/esd/cpci750/mv_eth.c | 34 +++++++--------------------------- 1 files changed, 7 insertions(+), 27 deletions(-)
board/esd/cpci750/mv_eth.c +7 -27
@@ -422,7 +422,7 @@ static int mv64360_eth_real_open (struct eth_device *dev)ETH_PORT_INFO *ethernet_private;struct mv64360_eth_priv *port_private;unsigned int port_num; -u32 port_status, phy_reg_data; +u32 phy_reg_data; ethernet_private = (ETH_PORT_INFO *) dev->priv;/* ronen - when we update the MAC env params we only update dev->enetaddr
@@ -520,7 +520,7 @@ static int mv64360_eth_real_open (struct eth_device *dev)*/ MV_REG_WRITE (MV64360_ETH_MAXIMUM_TRANSMIT_UNIT (port_num),0 ); - port_status =MV_REG_READ (MV64360_ETH_PORT_STATUS_REG (port_num)); +MV_REG_READ (MV64360_ETH_PORT_STATUS_REG (port_num));/* Check Link status on phy */ eth_port_read_smi_reg (port_num,1 , &phy_reg_data);
@@ -638,15 +638,6 @@ static int mv64360_eth_free_rx_rings (struct eth_device *dev)int mv64360_eth_stop (struct eth_device *dev) { -ETH_PORT_INFO *ethernet_private; -struct mv64360_eth_priv *port_private; -unsigned int port_num; - - ethernet_private = (ETH_PORT_INFO *) dev->priv; - port_private = - (struct mv64360_eth_priv *) ethernet_private->port_private; - port_num = port_private->port_num; -/* Disable all gigE address decoder */ MV_REG_WRITE (MV64360_ETH_BASE_ADDR_ENABLE_REG ,0x3f );DP (printf ("%s Ethernet stop called ... \n" , __FUNCTION__));
@@ -716,7 +707,6 @@ int mv64360_eth_xmit (struct eth_device *dev, volatile void *dataPtr, {ETH_PORT_INFO *ethernet_private;struct mv64360_eth_priv *port_private; -unsigned int port_num;PKT_INFO pkt_info;ETH_FUNC_RET_STATUS status;struct net_device_stats *stats;
@@ -725,7 +715,6 @@ int mv64360_eth_xmit (struct eth_device *dev, volatile void *dataPtr, ethernet_private = (ETH_PORT_INFO *) dev->priv; port_private = (struct mv64360_eth_priv *) ethernet_private->port_private; - port_num = port_private->port_num; stats = port_private->stats;
@@ -801,7 +790,6 @@ int mv64360_eth_receive (struct eth_device *dev) {ETH_PORT_INFO *ethernet_private;struct mv64360_eth_priv *port_private; -unsigned int port_num;PKT_INFO pkt_info;struct net_device_stats *stats;
@@ -809,7 +797,6 @@ int mv64360_eth_receive (struct eth_device *dev) ethernet_private = (ETH_PORT_INFO *) dev->priv; port_private = (struct mv64360_eth_priv *) ethernet_private->port_private; - port_num = port_private->port_num; stats = port_private->stats; while ((eth_port_receive (ethernet_private, ETH_Q0, &pkt_info) ==
@@ -900,12 +887,10 @@ static struct net_device_stats *mv64360_eth_get_stats (struct eth_device *dev) {ETH_PORT_INFO *ethernet_private;struct mv64360_eth_priv *port_private; -unsigned int port_num; ethernet_private = (ETH_PORT_INFO *) dev->priv; port_private = (struct mv64360_eth_priv *) ethernet_private->port_private; - port_num = port_private->port_num;mv64360_eth_update_stat (dev);
@@ -927,13 +912,10 @@ static void mv64360_eth_update_stat (struct eth_device *dev)ETH_PORT_INFO *ethernet_private;struct mv64360_eth_priv *port_private;struct net_device_stats *stats; -unsigned int port_num; -volatile unsigned int dummy; ethernet_private = (ETH_PORT_INFO *) dev->priv; port_private = (struct mv64360_eth_priv *) ethernet_private->port_private; - port_num = port_private->port_num; stats = port_private->stats;/* These are false updates */
@@ -956,12 +938,12 @@ static void mv64360_eth_update_stat (struct eth_device *dev)* But the unsigned long in PowerPC and MIPS are 32bit. So the next read * is just a dummy read for proper work of the GigE port */ - dummy =eth_read_mib_counter (ethernet_private->port_num, + (void )eth_read_mib_counter (ethernet_private->port_num,ETH_MIB_GOOD_OCTETS_RECEIVED_HIGH ); stats->tx_bytes += (unsigned long )eth_read_mib_counter (ethernet_private->port_num,ETH_MIB_GOOD_OCTETS_SENT_LOW ); - dummy =eth_read_mib_counter (ethernet_private->port_num, + (void )eth_read_mib_counter (ethernet_private->port_num,ETH_MIB_GOOD_OCTETS_SENT_HIGH ); stats->rx_errors += (unsigned long ) eth_read_mib_counter (ethernet_private->port_num,
@@ -1009,12 +991,10 @@ static void mv64360_eth_print_stat (struct eth_device *dev)ETH_PORT_INFO *ethernet_private;struct mv64360_eth_priv *port_private;struct net_device_stats *stats; -unsigned int port_num; ethernet_private = (ETH_PORT_INFO *) dev->priv; port_private = (struct mv64360_eth_priv *) ethernet_private->port_private; - port_num = port_private->port_num; stats = port_private->stats;/* These are false updates */
@@ -2066,13 +2046,13 @@ static void eth_port_init_mac_tables (ETH_PORT eth_port_num)static void eth_clear_mib_counters (ETH_PORT eth_port_num) {int i; -unsigned int dummy;/* Perform dummy reads from MIB counters */ for (i =ETH_MIB_GOOD_OCTETS_RECEIVED_LOW ; i <ETH_MIB_LATE_COLLISION ; - i +=4 ) - dummy =MV_REG_READ ((MV64360_ETH_MIB_COUNTERS_BASE + i +=4 ) { + (void )MV_REG_READ ((MV64360_ETH_MIB_COUNTERS_BASE (eth_port_num) + i)); + }return ; }
Signature · 1 line
1.7.5.4
Wolfgang Denk
AppliedPATCH 1/1 board/esd/cpci750/mv_eth.c: Fix GCC 4.6 build warnings
Dear Anatolij Gustschin,
Quoted 19 lines · In message <[email protected]> you wrote:
Fix:
mv_eth.c: In function 'mv64360_eth_real_open':
mv_eth.c:425:6: warning: variable 'port_status' set but not used [-Wunused-but-set-variable]mv_eth.c: In function 'mv64360_eth_stop':
mv_eth.c:643:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]mv_eth.c: In function 'mv64360_eth_xmit':
mv_eth.c:719:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]mv_eth.c: In function 'mv64360_eth_receive':
mv_eth.c:804:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]mv_eth.c: In function 'mv64360_eth_get_stats':
mv_eth.c:903:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]mv_eth.c: In function 'mv64360_eth_update_stat':
mv_eth.c:931:24: warning: variable 'dummy' set but not used [-Wunused-but-set-variable] mv_eth.c:930:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]mv_eth.c: In function 'mv64360_eth_print_stat':
mv_eth.c:1012:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]mv_eth.c: In function 'eth_clear_mib_counters':
mv_eth.c:2069:15: warning: variable 'dummy' set but not used [-Wunused-but-set-variable
Quoted 5 lines
Signed-off-by Anatolij Gustschin <[email protected]>Cc Reinhard Arlt <[email protected]>--- board/esd/cpci750/mv_eth.c | 34 +++++++--------------------------- 1 files changed, 7 insertions(+), 27 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Name one thing windows is better than unix in?
Making money for Microsoft?
-- Randal L. Schwartz in <[email protected]>