OSDN Git Service

[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()
[sagit-ice-cold/kernel_xiaomi_msm8998.git] / drivers / net / tokenring / olympic.c
index a149d5e..74c1f0f 100644 (file)
@@ -418,14 +418,15 @@ static int __devinit olympic_init(struct net_device *dev)
        writel(uaa_addr,olympic_mmio+LAPA);
        adapter_addr=olympic_priv->olympic_lap + (uaa_addr & (~0xf800));
 
+       memcpy_fromio(&dev->dev_addr[0], adapter_addr,6);
+
 #if OLYMPIC_DEBUG
-       printk("adapter address: %02x:%02x:%02x:%02x:%02x:%02x\n",
-                       readb(adapter_addr), readb(adapter_addr+1),readb(adapter_addr+2),
-                       readb(adapter_addr+3),readb(adapter_addr+4),readb(adapter_addr+5));
+ {
+       DECLARE_MAC_BUF(mac);
+       printk("adapter address: %s\n", print_mac(mac, dev->dev_addr));
+ }
 #endif
 
-       memcpy_fromio(&dev->dev_addr[0], adapter_addr,6);
-
        olympic_priv->olympic_addr_table_addr = swab16(readw(init_srb + 12)); 
        olympic_priv->olympic_parms_addr = swab16(readw(init_srb + 14)); 
 
@@ -440,6 +441,7 @@ static int olympic_open(struct net_device *dev)
        unsigned long flags, t;
        int i, open_finished = 1 ;
        u8 resp, err;
+       DECLARE_MAC_BUF(mac);
 
        DECLARE_WAITQUEUE(wait,current) ; 
 
@@ -567,14 +569,8 @@ static int olympic_open(struct net_device *dev)
                        goto out;
 
                case 0x32:
-                       printk(KERN_WARNING "%s: Invalid LAA: %02x:%02x:%02x:%02x:%02x:%02x\n",
-                               dev->name, 
-                               olympic_priv->olympic_laa[0],
-                               olympic_priv->olympic_laa[1],
-                               olympic_priv->olympic_laa[2],
-                               olympic_priv->olympic_laa[3],
-                               olympic_priv->olympic_laa[4],
-                               olympic_priv->olympic_laa[5]) ; 
+                       printk(KERN_WARNING "%s: Invalid LAA: %s\n",
+                              dev->name, print_mac(mac, olympic_priv->olympic_laa));
                        goto out;
 
                default:
@@ -704,30 +700,26 @@ static int olympic_open(struct net_device *dev)
 #endif
 
        if (olympic_priv->olympic_network_monitor) { 
-               u8 __iomem *oat ; 
-               u8 __iomem *opt ; 
-               oat = (olympic_priv->olympic_lap + olympic_priv->olympic_addr_table_addr) ; 
-               opt = (olympic_priv->olympic_lap + olympic_priv->olympic_parms_addr) ; 
-
-               printk("%s: Node Address: %02x:%02x:%02x:%02x:%02x:%02x\n",dev->name, 
-                       readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)), 
-                       readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)+1),
-                       readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)+2),
-                       readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)+3),
-                       readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)+4),
-                       readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)+5));
+               u8 __iomem *oat;
+               u8 __iomem *opt;
+               int i;
+               u8 addr[6];
+               DECLARE_MAC_BUF(mac);
+               oat = (olympic_priv->olympic_lap + olympic_priv->olympic_addr_table_addr);
+               opt = (olympic_priv->olympic_lap + olympic_priv->olympic_parms_addr);
+
+               for (i = 0; i < 6; i++)
+                       addr[i] = readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)+i);
+               printk("%s: Node Address: %s\n",dev->name, print_mac(mac, addr));
                printk("%s: Functional Address: %02x:%02x:%02x:%02x\n",dev->name, 
                        readb(oat+offsetof(struct olympic_adapter_addr_table,func_addr)), 
                        readb(oat+offsetof(struct olympic_adapter_addr_table,func_addr)+1),
                        readb(oat+offsetof(struct olympic_adapter_addr_table,func_addr)+2),
                        readb(oat+offsetof(struct olympic_adapter_addr_table,func_addr)+3));
-               printk("%s: NAUN Address: %02x:%02x:%02x:%02x:%02x:%02x\n",dev->name, 
-                       readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)),
-                       readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)+1),
-                       readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)+2),
-                       readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)+3),
-                       readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)+4),
-                       readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)+5));
+
+               for (i = 0; i < 6; i++)
+                       addr[i] = readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)+i);
+               printk("%s: NAUN Address: %s\n",dev->name, print_mac(mac, addr));
        }
        
        netif_start_queue(dev);
@@ -1445,11 +1437,14 @@ static void olympic_arb_cmd(struct net_device *dev)
                mac_frame->protocol = tr_type_trans(mac_frame, dev);
 
                if (olympic_priv->olympic_network_monitor) { 
-                       struct trh_hdr *mac_hdr ; 
-                       printk(KERN_WARNING "%s: Received MAC Frame, details: \n",dev->name) ;
+                       struct trh_hdr *mac_hdr;
+                       DECLARE_MAC_BUF(mac);
+                       printk(KERN_WARNING "%s: Received MAC Frame, details: \n",dev->name);
                        mac_hdr = tr_hdr(mac_frame);
-                       printk(KERN_WARNING "%s: MAC Frame Dest. Addr: %02x:%02x:%02x:%02x:%02x:%02x \n", dev->name , mac_hdr->daddr[0], mac_hdr->daddr[1], mac_hdr->daddr[2], mac_hdr->daddr[3], mac_hdr->daddr[4], mac_hdr->daddr[5]) ; 
-                       printk(KERN_WARNING "%s: MAC Frame Srce. Addr: %02x:%02x:%02x:%02x:%02x:%02x \n", dev->name , mac_hdr->saddr[0], mac_hdr->saddr[1], mac_hdr->saddr[2], mac_hdr->saddr[3], mac_hdr->saddr[4], mac_hdr->saddr[5]) ; 
+                       printk(KERN_WARNING "%s: MAC Frame Dest. Addr: %s\n",
+                              dev->name, print_mac(mac, mac_hdr->daddr));
+                       printk(KERN_WARNING "%s: MAC Frame Srce. Addr: %s\n",
+                              dev->name, print_mac(mac, mac_hdr->saddr));
                }
                netif_rx(mac_frame);
                dev->last_rx = jiffies;
@@ -1644,26 +1639,24 @@ static int olympic_proc_info(char *buffer, char **start, off_t offset, int lengt
        int len=0;
        off_t begin=0;
        off_t pos=0;
-       
+       u8 addr[6];
+       u8 addr2[6];
+       int i;
+       DECLARE_MAC_BUF(mac);
+       DECLARE_MAC_BUF(mac2);
+
        size = sprintf(buffer, 
                "IBM Pit/Pit-Phy/Olympic Chipset Token Ring Adapter %s\n",dev->name);
        size += sprintf(buffer+size, "\n%6s: Adapter Address   : Node Address      : Functional Addr\n",
           dev->name); 
 
-       size += sprintf(buffer+size, "%6s: %02x:%02x:%02x:%02x:%02x:%02x : %02x:%02x:%02x:%02x:%02x:%02x : %02x:%02x:%02x:%02x\n",
+       for (i = 0 ; i < 6 ; i++)
+               addr[i] = readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr) + i);
+
+       size += sprintf(buffer+size, "%6s: %s : %s : %02x:%02x:%02x:%02x\n",
           dev->name,
-           dev->dev_addr[0],
-          dev->dev_addr[1],
-          dev->dev_addr[2],
-          dev->dev_addr[3],
-          dev->dev_addr[4],
-          dev->dev_addr[5],
-          readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)), 
-          readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)+1),
-          readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)+2),
-          readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)+3),
-          readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)+4),
-          readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)+5),
+          print_mac(mac, dev->dev_addr),
+          print_mac(mac2, addr),
           readb(oat+offsetof(struct olympic_adapter_addr_table,func_addr)), 
           readb(oat+offsetof(struct olympic_adapter_addr_table,func_addr)+1),
           readb(oat+offsetof(struct olympic_adapter_addr_table,func_addr)+2),
@@ -1673,25 +1666,20 @@ static int olympic_proc_info(char *buffer, char **start, off_t offset, int lengt
 
        size += sprintf(buffer+size, "%6s: Physical Addr : Up Node Address   : Poll Address      : AccPri : Auth Src : Att Code :\n",
          dev->name) ; 
-          
-       size += sprintf(buffer+size, "%6s: %02x:%02x:%02x:%02x   : %02x:%02x:%02x:%02x:%02x:%02x : %02x:%02x:%02x:%02x:%02x:%02x : %04x   : %04x     :  %04x    :\n",
+
+       for (i = 0 ; i < 6 ; i++)
+               addr[i] = readb(opt+offsetof(struct olympic_parameters_table, up_node_addr) + i);
+       for (i = 0 ; i < 6 ; i++)
+               addr2[i] =  readb(opt+offsetof(struct olympic_parameters_table, poll_addr) + i);
+
+       size += sprintf(buffer+size, "%6s: %02x:%02x:%02x:%02x   : %s : %s : %04x   : %04x     :  %04x    :\n",
          dev->name,
          readb(opt+offsetof(struct olympic_parameters_table, phys_addr)),
          readb(opt+offsetof(struct olympic_parameters_table, phys_addr)+1),
          readb(opt+offsetof(struct olympic_parameters_table, phys_addr)+2),
          readb(opt+offsetof(struct olympic_parameters_table, phys_addr)+3),
-         readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)),
-         readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)+1),
-         readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)+2),
-         readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)+3),
-         readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)+4),
-         readb(opt+offsetof(struct olympic_parameters_table, up_node_addr)+5),
-         readb(opt+offsetof(struct olympic_parameters_table, poll_addr)),
-         readb(opt+offsetof(struct olympic_parameters_table, poll_addr)+1),
-         readb(opt+offsetof(struct olympic_parameters_table, poll_addr)+2),
-         readb(opt+offsetof(struct olympic_parameters_table, poll_addr)+3),
-         readb(opt+offsetof(struct olympic_parameters_table, poll_addr)+4),
-         readb(opt+offsetof(struct olympic_parameters_table, poll_addr)+5),
+         print_mac(mac, addr),
+         print_mac(mac2, addr2),
          swab16(readw(opt+offsetof(struct olympic_parameters_table, acc_priority))),
          swab16(readw(opt+offsetof(struct olympic_parameters_table, auth_source_class))),
          swab16(readw(opt+offsetof(struct olympic_parameters_table, att_code))));
@@ -1699,14 +1687,11 @@ static int olympic_proc_info(char *buffer, char **start, off_t offset, int lengt
        size += sprintf(buffer+size, "%6s: Source Address    : Bcn T : Maj. V : Lan St : Lcl Rg : Mon Err : Frame Correl : \n",
          dev->name) ; 
        
-       size += sprintf(buffer+size, "%6s: %02x:%02x:%02x:%02x:%02x:%02x : %04x  : %04x   : %04x   : %04x   : %04x    :     %04x     : \n",
+       for (i = 0 ; i < 6 ; i++)
+               addr[i] = readb(opt+offsetof(struct olympic_parameters_table, source_addr) + i);
+       size += sprintf(buffer+size, "%6s: %s : %04x  : %04x   : %04x   : %04x   : %04x    :     %04x     : \n",
          dev->name,
-         readb(opt+offsetof(struct olympic_parameters_table, source_addr)),
-         readb(opt+offsetof(struct olympic_parameters_table, source_addr)+1),
-         readb(opt+offsetof(struct olympic_parameters_table, source_addr)+2),
-         readb(opt+offsetof(struct olympic_parameters_table, source_addr)+3),
-         readb(opt+offsetof(struct olympic_parameters_table, source_addr)+4),
-         readb(opt+offsetof(struct olympic_parameters_table, source_addr)+5),
+         print_mac(mac, addr),
          swab16(readw(opt+offsetof(struct olympic_parameters_table, beacon_type))),
          swab16(readw(opt+offsetof(struct olympic_parameters_table, major_vector))),
          swab16(readw(opt+offsetof(struct olympic_parameters_table, lan_status))),
@@ -1717,16 +1702,13 @@ static int olympic_proc_info(char *buffer, char **start, off_t offset, int lengt
        size += sprintf(buffer+size, "%6s: Beacon Details :  Tx  :  Rx  : NAUN Node Address : NAUN Node Phys : \n",
          dev->name) ; 
 
-       size += sprintf(buffer+size, "%6s:                :  %02x  :  %02x  : %02x:%02x:%02x:%02x:%02x:%02x : %02x:%02x:%02x:%02x    : \n",
+       for (i = 0 ; i < 6 ; i++)
+               addr[i] = readb(opt+offsetof(struct olympic_parameters_table, beacon_naun) + i);
+       size += sprintf(buffer+size, "%6s:                :  %02x  :  %02x  : %s : %02x:%02x:%02x:%02x    : \n",
          dev->name,
          swab16(readw(opt+offsetof(struct olympic_parameters_table, beacon_transmit))),
          swab16(readw(opt+offsetof(struct olympic_parameters_table, beacon_receive))),
-         readb(opt+offsetof(struct olympic_parameters_table, beacon_naun)),
-         readb(opt+offsetof(struct olympic_parameters_table, beacon_naun)+1),
-         readb(opt+offsetof(struct olympic_parameters_table, beacon_naun)+2),
-         readb(opt+offsetof(struct olympic_parameters_table, beacon_naun)+3),
-         readb(opt+offsetof(struct olympic_parameters_table, beacon_naun)+4),
-         readb(opt+offsetof(struct olympic_parameters_table, beacon_naun)+5),
+         print_mac(mac, addr),
          readb(opt+offsetof(struct olympic_parameters_table, beacon_phys)),
          readb(opt+offsetof(struct olympic_parameters_table, beacon_phys)+1),
          readb(opt+offsetof(struct olympic_parameters_table, beacon_phys)+2),