aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2010-07-15 13:05:36 +0000
committerGabor Juhos <juhosg@openwrt.org>2010-07-15 13:05:36 +0000
commitdffd45dc610c71caecaf79fc512e203aadda2b8b (patch)
tree83843fc1a26e35c66e4d620df11c37c60d987cf4 /target/linux/generic
parent0049e74882769e613cc0247dda1d316ac271c0cf (diff)
downloadupstream-dffd45dc610c71caecaf79fc512e203aadda2b8b.tar.gz
upstream-dffd45dc610c71caecaf79fc512e203aadda2b8b.tar.bz2
upstream-dffd45dc610c71caecaf79fc512e203aadda2b8b.zip
generic: rtl8366: add common rtl8366_sw_get_port_mib function
SVN-Revision: 22200
Diffstat (limited to 'target/linux/generic')
-rw-r--r--target/linux/generic/files/drivers/net/phy/rtl8366_smi.c34
-rw-r--r--target/linux/generic/files/drivers/net/phy/rtl8366_smi.h3
-rw-r--r--target/linux/generic/files/drivers/net/phy/rtl8366rb.c35
-rw-r--r--target/linux/generic/files/drivers/net/phy/rtl8366s.c35
4 files changed, 39 insertions, 68 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c
index a596c311c1..a45c844cad 100644
--- a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c
+++ b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c
@@ -754,6 +754,40 @@ int rtl8366_sw_set_port_pvid(struct switch_dev *dev, int port, int val)
}
EXPORT_SYMBOL_GPL(rtl8366_sw_set_port_pvid);
+int rtl8366_sw_get_port_mib(struct switch_dev *dev,
+ const struct switch_attr *attr,
+ struct switch_val *val)
+{
+ struct rtl8366_smi *smi = sw_to_rtl8366_smi(dev);
+ int i, len = 0;
+ unsigned long long counter = 0;
+ char *buf = smi->buf;
+
+ if (val->port_vlan >= smi->num_ports)
+ return -EINVAL;
+
+ len += snprintf(buf + len, sizeof(smi->buf) - len,
+ "Port %d MIB counters\n",
+ val->port_vlan);
+
+ for (i = 0; i < smi->num_mib_counters; ++i) {
+ len += snprintf(buf + len, sizeof(smi->buf) - len,
+ "%-36s: ", smi->mib_counters[i].name);
+ if (!smi->ops->get_mib_counter(smi, i, val->port_vlan,
+ &counter))
+ len += snprintf(buf + len, sizeof(smi->buf) - len,
+ "%llu\n", counter);
+ else
+ len += snprintf(buf + len, sizeof(smi->buf) - len,
+ "%s\n", "error");
+ }
+
+ val->value.s = buf;
+ val->len = len;
+ return 0;
+}
+EXPORT_SYMBOL_GPL(rtl8366_sw_get_port_mib);
+
struct rtl8366_smi *rtl8366_smi_alloc(struct device *parent)
{
struct rtl8366_smi *smi;
diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h
index d27d94768e..2e8f9298dc 100644
--- a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h
+++ b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h
@@ -110,5 +110,8 @@ static inline struct rtl8366_smi *sw_to_rtl8366_smi(struct switch_dev *sw)
int rtl8366_sw_get_port_pvid(struct switch_dev *dev, int port, int *val);
int rtl8366_sw_set_port_pvid(struct switch_dev *dev, int port, int val);
+int rtl8366_sw_get_port_mib(struct switch_dev *dev,
+ const struct switch_attr *attr,
+ struct switch_val *val);
#endif /* _RTL8366_SMI_H */
diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366rb.c b/target/linux/generic/files/drivers/net/phy/rtl8366rb.c
index d4fa74a864..b6d3f9805f 100644
--- a/target/linux/generic/files/drivers/net/phy/rtl8366rb.c
+++ b/target/linux/generic/files/drivers/net/phy/rtl8366rb.c
@@ -792,39 +792,6 @@ static int rtl8366rb_sw_reset_port_mibs(struct switch_dev *dev,
RTL8366RB_MIB_CTRL_PORT_RESET(val->port_vlan));
}
-static int rtl8366rb_sw_get_port_mib(struct switch_dev *dev,
- const struct switch_attr *attr,
- struct switch_val *val)
-{
- struct rtl8366_smi *smi = sw_to_rtl8366_smi(dev);
- int i, len = 0;
- unsigned long long counter = 0;
- char *buf = smi->buf;
-
- if (val->port_vlan >= smi->num_ports)
- return -EINVAL;
-
- len += snprintf(buf + len, sizeof(smi->buf) - len,
- "Port %d MIB counters\n",
- val->port_vlan);
-
- for (i = 0; i < smi->num_mib_counters; ++i) {
- len += snprintf(buf + len, sizeof(smi->buf) - len,
- "%-36s: ", smi->mib_counters[i].name);
- if (!smi->ops->get_mib_counter(smi, i, val->port_vlan,
- &counter))
- len += snprintf(buf + len, sizeof(smi->buf) - len,
- "%llu\n", counter);
- else
- len += snprintf(buf + len, sizeof(smi->buf) - len,
- "%s\n", "error");
- }
-
- val->value.s = buf;
- val->len = len;
- return 0;
-}
-
static int rtl8366rb_sw_get_vlan_ports(struct switch_dev *dev,
struct switch_val *val)
{
@@ -944,7 +911,7 @@ static struct switch_attr rtl8366rb_port[] = {
.description = "Get MIB counters for port",
.max = 33,
.set = NULL,
- .get = rtl8366rb_sw_get_port_mib,
+ .get = rtl8366_sw_get_port_mib,
}, {
.type = SWITCH_TYPE_INT,
.name = "led",
diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366s.c b/target/linux/generic/files/drivers/net/phy/rtl8366s.c
index b603c23360..9936b45380 100644
--- a/target/linux/generic/files/drivers/net/phy/rtl8366s.c
+++ b/target/linux/generic/files/drivers/net/phy/rtl8366s.c
@@ -819,39 +819,6 @@ static int rtl8366s_sw_reset_port_mibs(struct switch_dev *dev,
0, (1 << (val->port_vlan + 3)));
}
-static int rtl8366s_sw_get_port_mib(struct switch_dev *dev,
- const struct switch_attr *attr,
- struct switch_val *val)
-{
- struct rtl8366_smi *smi = sw_to_rtl8366_smi(dev);
- int i, len = 0;
- unsigned long long counter = 0;
- char *buf = smi->buf;
-
- if (val->port_vlan >= smi->num_ports)
- return -EINVAL;
-
- len += snprintf(buf + len, sizeof(smi->buf) - len,
- "Port %d MIB counters\n",
- val->port_vlan);
-
- for (i = 0; i < smi->num_mib_counters; ++i) {
- len += snprintf(buf + len, sizeof(smi->buf) - len,
- "%-36s: ", smi->mib_counters[i].name);
- if (!smi->ops->get_mib_counter(smi, i, val->port_vlan,
- &counter))
- len += snprintf(buf + len, sizeof(smi->buf) - len,
- "%llu\n", counter);
- else
- len += snprintf(buf + len, sizeof(smi->buf) - len,
- "%s\n", "error");
- }
-
- val->value.s = buf;
- val->len = len;
- return 0;
-}
-
static int rtl8366s_sw_get_vlan_ports(struct switch_dev *dev,
struct switch_val *val)
{
@@ -971,7 +938,7 @@ static struct switch_attr rtl8366s_port[] = {
.description = "Get MIB counters for port",
.max = 33,
.set = NULL,
- .get = rtl8366s_sw_get_port_mib,
+ .get = rtl8366_sw_get_port_mib,
}, {
.type = SWITCH_TYPE_INT,
.name = "led",