summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorCristian Sovaiala <cristian.sovaiala@freescale.com>2013-05-30 09:15:11 (GMT)
committerFleming Andrew-AFLEMING <AFLEMING@freescale.com>2013-05-30 19:34:49 (GMT)
commit845a61c5447df2b0537bcdf2a477d383f2cc4ff9 (patch)
treec6ab8d8d9596f39ca694d9c083b4338a3118c64b /drivers/net
parent89e315496398971e7215d2481c9dc99f1b0697f2 (diff)
downloadlinux-fsl-qoriq-845a61c5447df2b0537bcdf2a477d383f2cc4ff9.tar.xz
dpaa_eth: export interface type in sysfs
For Mac-less interfaces we also export the index of the interface so that it can be used in udev rules for interface renaming. Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Change-Id: I522c563ff876cf8c59aad492b057fe91b1f601f5 Reviewed-on: http://git.am.freescale.net:8181/2783 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth.h1
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_sysfs.c20
2 files changed, 21 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth.h b/drivers/net/ethernet/freescale/dpa/dpaa_eth.h
index 9e02e3c..939bcb1 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth.h
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth.h
@@ -391,6 +391,7 @@ struct dpa_priv_s {
#endif /* CONFIG_FSL_DPAA_TS */
struct dpa_buffer_layout_s *buf_layout;
+ u8 macless_idx;
};
extern const struct ethtool_ops dpa_ethtool_ops;
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_sysfs.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_sysfs.c
index 0b6072b..7b7c103 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_sysfs.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_sysfs.c
@@ -41,6 +41,8 @@
#include "dpaa_1588.h"
#endif
+static u8 macless_idx;
+
static ssize_t dpaa_eth_show_addr(struct device *dev,
struct device_attribute *attr, char *buf)
{
@@ -54,6 +56,19 @@ static ssize_t dpaa_eth_show_addr(struct device *dev,
return sprintf(buf, "none");
}
+static ssize_t dpaa_eth_show_type(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct dpa_priv_s *priv = netdev_priv(to_net_dev(dev));
+
+ if (!priv->mac_dev)
+ return sprintf(buf, "macless%d", priv->macless_idx);
+ else if (priv->shared)
+ return sprintf(buf, "shared");
+ else
+ return sprintf(buf, "private");
+}
+
static ssize_t dpaa_eth_show_fqids(struct device *dev,
struct device_attribute *attr, char *buf)
{
@@ -201,6 +216,7 @@ static ssize_t dpaa_eth_set_ptp_1588(struct device *dev,
static struct device_attribute dpaa_eth_attrs[] = {
__ATTR(device_addr, S_IRUGO, dpaa_eth_show_addr, NULL),
+ __ATTR(device_type, S_IRUGO, dpaa_eth_show_type, NULL),
__ATTR(fqids, S_IRUGO, dpaa_eth_show_fqids, NULL),
__ATTR(dflt_bpid, S_IRUGO, dpaa_eth_show_dflt_bpid, NULL),
__ATTR(mac_regs, S_IRUGO, dpaa_eth_show_mac_regs, NULL),
@@ -212,6 +228,7 @@ static struct device_attribute dpaa_eth_attrs[] = {
void dpaa_eth_sysfs_init(struct device *dev)
{
+ struct dpa_priv_s *priv = netdev_priv(to_net_dev(dev));
int i;
for (i = 0; i < ARRAY_SIZE(dpaa_eth_attrs); i++)
@@ -220,6 +237,9 @@ void dpaa_eth_sysfs_init(struct device *dev)
goto device_create_file_failed;
}
+ if (!priv->mac_dev)
+ priv->macless_idx = macless_idx++;
+
return;
device_create_file_failed: