Changeset 22030 for branches/backfire


Ignore:
Timestamp:
2010-07-01T20:08:52+02:00 (6 years ago)
Author:
juhosg
Message:

backfire: generic: rtl8366: add common read_debugfs_mibs function (backport of 21984)

Location:
branches/backfire/target/linux/generic-2.6/files/drivers/net/phy
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/backfire/target/linux/generic-2.6/files/drivers/net/phy/rtl8366_smi.c

    r22027 r22030  
    583583} 
    584584 
     585static ssize_t rtl8366_read_debugfs_mibs(struct file *file, 
     586                                         char __user *user_buf, 
     587                                         size_t count, loff_t *ppos) 
     588{ 
     589        struct rtl8366_smi *smi = file->private_data; 
     590        int i, j, len = 0; 
     591        char *buf = smi->buf; 
     592 
     593        len += snprintf(buf + len, sizeof(smi->buf) - len, "%-36s", 
     594                        "Counter"); 
     595 
     596        for (i = 0; i < smi->num_ports; i++) { 
     597                char port_buf[10]; 
     598 
     599                snprintf(port_buf, sizeof(port_buf), "Port %d", i); 
     600                len += snprintf(buf + len, sizeof(smi->buf) - len, " %12s", 
     601                                port_buf); 
     602        } 
     603        len += snprintf(buf + len, sizeof(smi->buf) - len, "\n"); 
     604 
     605        for (i = 0; i < smi->num_mib_counters; i++) { 
     606                len += snprintf(buf + len, sizeof(smi->buf) - len, "%-36s ", 
     607                                smi->mib_counters[i].name); 
     608                for (j = 0; j < smi->num_ports; j++) { 
     609                        unsigned long long counter = 0; 
     610 
     611                        if (!smi->ops->get_mib_counter(smi, i, j, &counter)) 
     612                                len += snprintf(buf + len, 
     613                                                sizeof(smi->buf) - len, 
     614                                                "%12llu ", counter); 
     615                        else 
     616                                len += snprintf(buf + len, 
     617                                                sizeof(smi->buf) - len, 
     618                                                "%12s ", "error"); 
     619                } 
     620                len += snprintf(buf + len, sizeof(smi->buf) - len, "\n"); 
     621        } 
     622 
     623        return simple_read_from_buffer(user_buf, count, ppos, buf, len); 
     624} 
     625 
    585626static const struct file_operations fops_rtl8366_regs = { 
    586627        .read   = rtl8366_read_debugfs_reg, 
     
    596637}; 
    597638 
     639static const struct file_operations fops_rtl8366_mibs = { 
     640        .read = rtl8366_read_debugfs_mibs, 
     641        .open = rtl8366_debugfs_open, 
     642        .owner = THIS_MODULE 
     643}; 
     644 
    598645static void rtl8366_debugfs_init(struct rtl8366_smi *smi) 
    599646{ 
     
    629676        node = debugfs_create_file("vlan_mc", S_IRUSR, root, smi, 
    630677                                   &fops_rtl8366_vlan_mc); 
     678        if (!node) { 
     679                dev_err(smi->parent, "Creating debugfs file '%s' failed\n", 
     680                        "vlan_mc"); 
     681                return; 
     682        } 
     683 
     684        node = debugfs_create_file("mibs", S_IRUSR, smi->debugfs_root, smi, 
     685                                   &fops_rtl8366_mibs); 
    631686        if (!node) 
    632687                dev_err(smi->parent, "Creating debugfs file '%s' failed\n", 
    633                         "vlan_mc"); 
     688                        "mibs"); 
    634689} 
    635690 
  • branches/backfire/target/linux/generic-2.6/files/drivers/net/phy/rtl8366rb.c

    r22029 r22030  
    2020 
    2121#include "rtl8366_smi.h" 
    22  
    23 #ifdef CONFIG_RTL8366S_PHY_DEBUG_FS 
    24 #include <linux/debugfs.h> 
    25 #endif 
    2622 
    2723#define RTL8366RB_DRIVER_DESC   "Realtek RTL8366RB ethernet switch driver" 
     
    672668} 
    673669 
    674 #ifdef CONFIG_RTL8366S_PHY_DEBUG_FS 
    675 static ssize_t rtl8366rb_read_debugfs_mibs(struct file *file, 
    676                                           char __user *user_buf, 
    677                                           size_t count, loff_t *ppos) 
    678 { 
    679         struct rtl8366_smi *smi = file->private_data; 
    680         int i, j, len = 0; 
    681         char *buf = smi->buf; 
    682  
    683         len += snprintf(buf + len, sizeof(smi->buf) - len, "%-36s", 
    684                         "Counter"); 
    685  
    686         for (i = 0; i < smi->num_ports; i++) { 
    687                 char port_buf[10]; 
    688  
    689                 snprintf(port_buf, sizeof(port_buf), "Port %d", i); 
    690                 len += snprintf(buf + len, sizeof(smi->buf) - len, " %12s", 
    691                                 port_buf); 
    692         } 
    693         len += snprintf(buf + len, sizeof(smi->buf) - len, "\n"); 
    694  
    695         for (i = 0; i < smi->num_mib_counters; i++) { 
    696                 len += snprintf(buf + len, sizeof(smi->buf) - len, "%-36s ", 
    697                                 smi->mib_counters[i].name); 
    698                 for (j = 0; j < smi->num_ports; j++) { 
    699                         unsigned long long counter = 0; 
    700  
    701                         if (!smi->ops->get_mib_counter(smi, i, j, &counter)) 
    702                                 len += snprintf(buf + len, 
    703                                                 sizeof(smi->buf) - len, 
    704                                                 "%12llu ", counter); 
    705                         else 
    706                                 len += snprintf(buf + len, 
    707                                                 sizeof(smi->buf) - len, 
    708                                                 "%12s ", "error"); 
    709                 } 
    710                 len += snprintf(buf + len, sizeof(smi->buf) - len, "\n"); 
    711         } 
    712  
    713         return simple_read_from_buffer(user_buf, count, ppos, buf, len); 
    714 } 
    715  
    716 static const struct file_operations fops_rtl8366rb_mibs = { 
    717         .read = rtl8366rb_read_debugfs_mibs, 
    718         .open = rtl8366_debugfs_open, 
    719         .owner = THIS_MODULE 
    720 }; 
    721  
    722 static void rtl8366rb_debugfs_init(struct rtl8366_smi *smi) 
    723 { 
    724         struct dentry *node; 
    725  
    726         if (!smi->debugfs_root) 
    727                 return; 
    728  
    729         node = debugfs_create_file("mibs", S_IRUSR, smi->debugfs_root, smi, 
    730                                    &fops_rtl8366rb_mibs); 
    731         if (!node) 
    732                 dev_err(smi->parent, "Creating debugfs file '%s' failed\n", 
    733                         "mibs"); 
    734 } 
    735  
    736 #else 
    737 static inline void rtl8366rb_debugfs_init(struct rtl8366_smi *smi) {} 
    738 #endif /* CONFIG_RTL8366S_PHY_DEBUG_FS */ 
    739  
    740670static int rtl8366rb_sw_reset_mibs(struct switch_dev *dev, 
    741671                                  const struct switch_attr *attr, 
     
    12421172        int ret; 
    12431173 
    1244         rtl8366rb_debugfs_init(smi); 
    1245  
    12461174        ret = rtl8366rb_reset_chip(smi); 
    12471175        if (ret) 
  • branches/backfire/target/linux/generic-2.6/files/drivers/net/phy/rtl8366s.c

    r22029 r22030  
    2020 
    2121#include "rtl8366_smi.h" 
    22  
    23 #ifdef CONFIG_RTL8366S_PHY_DEBUG_FS 
    24 #include <linux/debugfs.h> 
    25 #endif 
    2622 
    2723#define RTL8366S_DRIVER_DESC    "Realtek RTL8366S ethernet switch driver" 
     
    659655                                1, (enable) ? 1 : 0); 
    660656} 
    661  
    662 #ifdef CONFIG_RTL8366S_PHY_DEBUG_FS 
    663 static ssize_t rtl8366s_read_debugfs_mibs(struct file *file, 
    664                                           char __user *user_buf, 
    665                                           size_t count, loff_t *ppos) 
    666 { 
    667         struct rtl8366_smi *smi = file->private_data; 
    668         int i, j, len = 0; 
    669         char *buf = smi->buf; 
    670  
    671         len += snprintf(buf + len, sizeof(smi->buf) - len, "%-36s", 
    672                         "Counter"); 
    673  
    674         for (i = 0; i < smi->num_ports; i++) { 
    675                 char port_buf[10]; 
    676  
    677                 snprintf(port_buf, sizeof(port_buf), "Port %d", i); 
    678                 len += snprintf(buf + len, sizeof(smi->buf) - len, " %12s", 
    679                                 port_buf); 
    680         } 
    681         len += snprintf(buf + len, sizeof(smi->buf) - len, "\n"); 
    682  
    683         for (i = 0; i < smi->num_mib_counters; i++) { 
    684                 len += snprintf(buf + len, sizeof(smi->buf) - len, "%-36s ", 
    685                                 smi->mib_counters[i].name); 
    686                 for (j = 0; j < smi->num_ports; j++) { 
    687                         unsigned long long counter = 0; 
    688  
    689                         if (!smi->ops->get_mib_counter(smi, i, j, &counter)) 
    690                                 len += snprintf(buf + len, 
    691                                                 sizeof(smi->buf) - len, 
    692                                                 "%12llu ", counter); 
    693                         else 
    694                                 len += snprintf(buf + len, 
    695                                                 sizeof(smi->buf) - len, 
    696                                                 "%12s ", "error"); 
    697                 } 
    698                 len += snprintf(buf + len, sizeof(smi->buf) - len, "\n"); 
    699         } 
    700  
    701         return simple_read_from_buffer(user_buf, count, ppos, buf, len); 
    702 } 
    703  
    704 static const struct file_operations fops_rtl8366s_mibs = { 
    705         .read = rtl8366s_read_debugfs_mibs, 
    706         .open = rtl8366_debugfs_open, 
    707         .owner = THIS_MODULE 
    708 }; 
    709  
    710 static void rtl8366s_debugfs_init(struct rtl8366_smi *smi) 
    711 { 
    712         struct dentry *node; 
    713  
    714         if (!smi->debugfs_root) 
    715                 return; 
    716  
    717         node = debugfs_create_file("mibs", S_IRUSR, smi->debugfs_root, smi, 
    718                                    &fops_rtl8366s_mibs); 
    719         if (!node) 
    720                 dev_err(smi->parent, "Creating debugfs file '%s' failed\n", 
    721                         "mibs"); 
    722 } 
    723 #else 
    724 static inline void rtl8366s_debugfs_init(struct rtl8366_smi *smi) {} 
    725 #endif /* CONFIG_RTL8366S_PHY_DEBUG_FS */ 
    726657 
    727658static int rtl8366s_sw_reset_mibs(struct switch_dev *dev, 
     
    12301161        int ret; 
    12311162 
    1232         rtl8366s_debugfs_init(smi); 
    1233  
    12341163        ret = rtl8366s_reset_chip(smi); 
    12351164        if (ret) 
Note: See TracChangeset for help on using the changeset viewer.