bonding: use table for mode names
authorHolger Eitzenberger <holger@eitzenberger.org>
Wed, 10 Dec 2008 07:08:09 +0000 (23:08 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 Dec 2008 07:08:09 +0000 (23:08 -0800)
Use a small array in bond_mode_name() for the names, thus saving some
space:

before

    text     data      bss      dec    hex filename
   57736     9372      344    67452  1077c drivers/net/bonding/bonding.ko

after
    text     data      bss      dec    hex filename
   57441     9372      344    67157  10655 drivers/net/bonding/bonding.ko

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c

index 16cfe9efee7cf7aaf6ce267e29571948ab5e0fc7..7f2ac499aac28ad6d87a7ac3877513c77959d75e 100644 (file)
@@ -219,24 +219,20 @@ static void bond_deinit(struct net_device *bond_dev);
 
 static const char *bond_mode_name(int mode)
 {
-       switch (mode) {
-       case BOND_MODE_ROUNDROBIN :
-               return "load balancing (round-robin)";
-       case BOND_MODE_ACTIVEBACKUP :
-               return "fault-tolerance (active-backup)";
-       case BOND_MODE_XOR :
-               return "load balancing (xor)";
-       case BOND_MODE_BROADCAST :
-               return "fault-tolerance (broadcast)";
-       case BOND_MODE_8023AD:
-               return "IEEE 802.3ad Dynamic link aggregation";
-       case BOND_MODE_TLB:
-               return "transmit load balancing";
-       case BOND_MODE_ALB:
-               return "adaptive load balancing";
-       default:
+       static const char *names[] = {
+               [BOND_MODE_ROUNDROBIN] = "load balancing (round-robin)",
+               [BOND_MODE_ACTIVEBACKUP] = "fault-tolerance (active-backup)",
+               [BOND_MODE_XOR] = "load balancing (xor)",
+               [BOND_MODE_BROADCAST] = "fault-tolerance (broadcast)",
+               [BOND_MODE_8023AD]= "IEEE 802.3ad Dynamic link aggregation",
+               [BOND_MODE_TLB] = "transmit load balancing",
+               [BOND_MODE_ALB] = "adaptive load balancing",
+       };
+
+       if (mode < 0 || mode > BOND_MODE_ALB)
                return "unknown";
-       }
+
+       return names[mode];
 }
 
 /*---------------------------------- VLAN -----------------------------------*/