summaryrefslogtreecommitdiffstats
path: root/drivers/staging/slicoss
diff options
context:
space:
mode:
authorLino Sanfilippo <LinoSanfilippo@gmx.de>2016-07-22 23:09:19 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-08-21 17:59:45 +0200
commit473256b0aea4e69a99afb21c9243e5cd544ac9ad (patch)
treec3aa56b42de5821032646a826dad06a210c62e48 /drivers/staging/slicoss
parentfdb7777512785f90e712a7cb665a9adbaf673bd0 (diff)
downloadlinux-473256b0aea4e69a99afb21c9243e5cd544ac9ad.tar.gz
linux-473256b0aea4e69a99afb21c9243e5cd544ac9ad.tar.bz2
linux-473256b0aea4e69a99afb21c9243e5cd544ac9ad.zip
staging: slicoss: simplify struct for statistics
Merge several structures for statistics to one structure and remove unnecessary union nesting. Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/slicoss')
-rw-r--r--drivers/staging/slicoss/slic.h18
-rw-r--r--drivers/staging/slicoss/slichw.h79
-rw-r--r--drivers/staging/slicoss/slicoss.c70
3 files changed, 47 insertions, 120 deletions
diff --git a/drivers/staging/slicoss/slic.h b/drivers/staging/slicoss/slic.h
index 4ac1fd2343b5..fe1d2cee65b7 100644
--- a/drivers/staging/slicoss/slic.h
+++ b/drivers/staging/slicoss/slic.h
@@ -351,6 +351,24 @@ struct base_driver {
uint cardnuminuse[SLIC_MAX_CARDS];
};
+struct slic_stats {
+ /* xmit stats */
+ u64 xmit_tcp_bytes;
+ u64 xmit_tcp_segs;
+ u64 xmit_bytes;
+ u64 xmit_collisions;
+ u64 xmit_unicasts;
+ u64 xmit_other_error;
+ u64 xmit_excess_collisions;
+ /* rcv stats */
+ u64 rcv_tcp_bytes;
+ u64 rcv_tcp_segs;
+ u64 rcv_bytes;
+ u64 rcv_unicasts;
+ u64 rcv_other_error;
+ u64 rcv_drops;
+};
+
struct slic_shmem_data {
u32 isr;
u32 lnkstatus;
diff --git a/drivers/staging/slicoss/slichw.h b/drivers/staging/slicoss/slichw.h
index ae04bf67b196..49cb91aa02bb 100644
--- a/drivers/staging/slicoss/slichw.h
+++ b/drivers/staging/slicoss/slichw.h
@@ -459,85 +459,6 @@ struct slic_pnp_capabilities {
struct slicpm_wakeup_capabilities wakeup_capabilities;
};
-struct xmt_stats {
- u32 xmit_tcp_bytes;
- u32 xmit_tcp_segs;
- u32 xmit_bytes;
- u32 xmit_collisions;
- u32 xmit_unicasts;
- u32 xmit_other_error;
- u32 xmit_excess_collisions;
-};
-
-struct rcv_stats {
- u32 rcv_tcp_bytes;
- u32 rcv_tcp_segs;
- u32 rcv_bytes;
- u32 rcv_unicasts;
- u32 rcv_other_error;
- u32 rcv_drops;
-};
-
-struct xmt_statsgb {
- u64 xmit_tcp_bytes;
- u64 xmit_tcp_segs;
- u64 xmit_bytes;
- u64 xmit_collisions;
- u64 xmit_unicasts;
- u64 xmit_other_error;
- u64 xmit_excess_collisions;
-};
-
-struct rcv_statsgb {
- u64 rcv_tcp_bytes;
- u64 rcv_tcp_segs;
- u64 rcv_bytes;
- u64 rcv_unicasts;
- u64 rcv_other_error;
- u64 rcv_drops;
-};
-
-struct slic_stats {
- union {
- struct {
- struct xmt_stats xmt100;
- struct rcv_stats rcv100;
- } stats_100;
- struct {
- struct xmt_statsgb xmtGB;
- struct rcv_statsgb rcvGB;
- } stats_GB;
- } u;
-};
-
-#define xmit_tcp_segs100 u.stats_100.xmt100.xmit_tcp_segs
-#define xmit_tcp_bytes100 u.stats_100.xmt100.xmit_tcp_bytes
-#define xmit_bytes100 u.stats_100.xmt100.xmit_bytes
-#define xmit_collisions100 u.stats_100.xmt100.xmit_collisions
-#define xmit_unicasts100 u.stats_100.xmt100.xmit_unicasts
-#define xmit_other_error100 u.stats_100.xmt100.xmit_other_error
-#define xmit_excess_collisions100 u.stats_100.xmt100.xmit_excess_collisions
-#define rcv_tcp_segs100 u.stats_100.rcv100.rcv_tcp_segs
-#define rcv_tcp_bytes100 u.stats_100.rcv100.rcv_tcp_bytes
-#define rcv_bytes100 u.stats_100.rcv100.rcv_bytes
-#define rcv_unicasts100 u.stats_100.rcv100.rcv_unicasts
-#define rcv_other_error100 u.stats_100.rcv100.rcv_other_error
-#define rcv_drops100 u.stats_100.rcv100.rcv_drops
-#define xmit_tcp_segs_gb u.stats_GB.xmtGB.xmit_tcp_segs
-#define xmit_tcp_bytes_gb u.stats_GB.xmtGB.xmit_tcp_bytes
-#define xmit_bytes_gb u.stats_GB.xmtGB.xmit_bytes
-#define xmit_collisions_gb u.stats_GB.xmtGB.xmit_collisions
-#define xmit_unicasts_gb u.stats_GB.xmtGB.xmit_unicasts
-#define xmit_other_error_gb u.stats_GB.xmtGB.xmit_other_error
-#define xmit_excess_collisions_gb u.stats_GB.xmtGB.xmit_excess_collisions
-
-#define rcv_tcp_segs_gb u.stats_GB.rcvGB.rcv_tcp_segs
-#define rcv_tcp_bytes_gb u.stats_GB.rcvGB.rcv_tcp_bytes
-#define rcv_bytes_gb u.stats_GB.rcvGB.rcv_bytes
-#define rcv_unicasts_gb u.stats_GB.rcvGB.rcv_unicasts
-#define rcv_other_error_gb u.stats_GB.rcvGB.rcv_other_error
-#define rcv_drops_gb u.stats_GB.rcvGB.rcv_drops
-
struct slic_config_mac {
u8 macaddrA[6];
};
diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c
index 9a8c6f9dd920..7834bda2bbff 100644
--- a/drivers/staging/slicoss/slicoss.c
+++ b/drivers/staging/slicoss/slicoss.c
@@ -1015,61 +1015,49 @@ static void slic_upr_request_complete(struct adapter *adapter, u32 isr)
break;
}
- UPDATE_STATS_GB(stst->tcp.xmit_tcp_segs,
- stats->xmit_tcp_segs_gb,
- old->xmit_tcp_segs_gb);
+ UPDATE_STATS_GB(stst->tcp.xmit_tcp_segs, stats->xmit_tcp_segs,
+ old->xmit_tcp_segs);
- UPDATE_STATS_GB(stst->tcp.xmit_tcp_bytes,
- stats->xmit_tcp_bytes_gb,
- old->xmit_tcp_bytes_gb);
+ UPDATE_STATS_GB(stst->tcp.xmit_tcp_bytes, stats->xmit_tcp_bytes,
+ old->xmit_tcp_bytes);
- UPDATE_STATS_GB(stst->tcp.rcv_tcp_segs,
- stats->rcv_tcp_segs_gb,
- old->rcv_tcp_segs_gb);
+ UPDATE_STATS_GB(stst->tcp.rcv_tcp_segs, stats->rcv_tcp_segs,
+ old->rcv_tcp_segs);
- UPDATE_STATS_GB(stst->tcp.rcv_tcp_bytes,
- stats->rcv_tcp_bytes_gb,
- old->rcv_tcp_bytes_gb);
+ UPDATE_STATS_GB(stst->tcp.rcv_tcp_bytes, stats->rcv_tcp_bytes,
+ old->rcv_tcp_bytes);
- UPDATE_STATS_GB(stst->iface.xmt_bytes,
- stats->xmit_bytes_gb,
- old->xmit_bytes_gb);
+ UPDATE_STATS_GB(stst->iface.xmt_bytes, stats->xmit_bytes,
+ old->xmit_bytes);
- UPDATE_STATS_GB(stst->iface.xmt_ucast,
- stats->xmit_unicasts_gb,
- old->xmit_unicasts_gb);
+ UPDATE_STATS_GB(stst->iface.xmt_ucast, stats->xmit_unicasts,
+ old->xmit_unicasts);
- UPDATE_STATS_GB(stst->iface.rcv_bytes,
- stats->rcv_bytes_gb,
- old->rcv_bytes_gb);
+ UPDATE_STATS_GB(stst->iface.rcv_bytes, stats->rcv_bytes,
+ old->rcv_bytes);
- UPDATE_STATS_GB(stst->iface.rcv_ucast,
- stats->rcv_unicasts_gb,
- old->rcv_unicasts_gb);
+ UPDATE_STATS_GB(stst->iface.rcv_ucast, stats->rcv_unicasts,
+ old->rcv_unicasts);
- UPDATE_STATS_GB(stst->iface.xmt_errors,
- stats->xmit_collisions_gb,
- old->xmit_collisions_gb);
+ UPDATE_STATS_GB(stst->iface.xmt_errors, stats->xmit_collisions,
+ old->xmit_collisions);
UPDATE_STATS_GB(stst->iface.xmt_errors,
- stats->xmit_excess_collisions_gb,
- old->xmit_excess_collisions_gb);
+ stats->xmit_excess_collisions,
+ old->xmit_excess_collisions);
- UPDATE_STATS_GB(stst->iface.xmt_errors,
- stats->xmit_other_error_gb,
- old->xmit_other_error_gb);
+ UPDATE_STATS_GB(stst->iface.xmt_errors, stats->xmit_other_error,
+ old->xmit_other_error);
- UPDATE_STATS_GB(stst->iface.rcv_errors,
- stats->rcv_other_error_gb,
- old->rcv_other_error_gb);
+ UPDATE_STATS_GB(stst->iface.rcv_errors, stats->rcv_other_error,
+ old->rcv_other_error);
- UPDATE_STATS_GB(stst->iface.rcv_discards,
- stats->rcv_drops_gb,
- old->rcv_drops_gb);
+ UPDATE_STATS_GB(stst->iface.rcv_discards, stats->rcv_drops,
+ old->rcv_drops);
- if (stats->rcv_drops_gb > old->rcv_drops_gb)
- adapter->rcv_drops += (stats->rcv_drops_gb -
- old->rcv_drops_gb);
+ if (stats->rcv_drops > old->rcv_drops)
+ adapter->rcv_drops += (stats->rcv_drops -
+ old->rcv_drops);
memcpy_fromio(old, stats, sizeof(*stats));
break;
}