diff options
| -rw-r--r-- | drivers/net/ethernet/allwinner/sun4i-emac.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/net/ethernet/allwinner/sun4i-emac.c b/drivers/net/ethernet/allwinner/sun4i-emac.c index af27f9dbedf2..74012196bce9 100644 --- a/drivers/net/ethernet/allwinner/sun4i-emac.c +++ b/drivers/net/ethernet/allwinner/sun4i-emac.c | |||
| @@ -37,6 +37,11 @@ | |||
| 37 | 37 | ||
| 38 | #define EMAC_MAX_FRAME_LEN 0x0600 | 38 | #define EMAC_MAX_FRAME_LEN 0x0600 |
| 39 | 39 | ||
| 40 | #define EMAC_DEFAULT_MSG_ENABLE 0x0000 | ||
| 41 | static int debug = -1; /* defaults above */; | ||
| 42 | module_param(debug, int, 0); | ||
| 43 | MODULE_PARM_DESC(debug, "debug message flags"); | ||
| 44 | |||
| 40 | /* Transmit timeout, default 5 seconds. */ | 45 | /* Transmit timeout, default 5 seconds. */ |
| 41 | static int watchdog = 5000; | 46 | static int watchdog = 5000; |
| 42 | module_param(watchdog, int, 0400); | 47 | module_param(watchdog, int, 0400); |
| @@ -225,11 +230,27 @@ static void emac_get_drvinfo(struct net_device *dev, | |||
| 225 | strlcpy(info->bus_info, dev_name(&dev->dev), sizeof(info->bus_info)); | 230 | strlcpy(info->bus_info, dev_name(&dev->dev), sizeof(info->bus_info)); |
| 226 | } | 231 | } |
| 227 | 232 | ||
| 233 | static u32 emac_get_msglevel(struct net_device *dev) | ||
| 234 | { | ||
| 235 | struct emac_board_info *db = netdev_priv(dev); | ||
| 236 | |||
| 237 | return db->msg_enable; | ||
| 238 | } | ||
| 239 | |||
| 240 | static void emac_set_msglevel(struct net_device *dev, u32 value) | ||
| 241 | { | ||
| 242 | struct emac_board_info *db = netdev_priv(dev); | ||
| 243 | |||
| 244 | db->msg_enable = value; | ||
| 245 | } | ||
| 246 | |||
| 228 | static const struct ethtool_ops emac_ethtool_ops = { | 247 | static const struct ethtool_ops emac_ethtool_ops = { |
| 229 | .get_drvinfo = emac_get_drvinfo, | 248 | .get_drvinfo = emac_get_drvinfo, |
| 230 | .get_link = ethtool_op_get_link, | 249 | .get_link = ethtool_op_get_link, |
| 231 | .get_link_ksettings = phy_ethtool_get_link_ksettings, | 250 | .get_link_ksettings = phy_ethtool_get_link_ksettings, |
| 232 | .set_link_ksettings = phy_ethtool_set_link_ksettings, | 251 | .set_link_ksettings = phy_ethtool_set_link_ksettings, |
| 252 | .get_msglevel = emac_get_msglevel, | ||
| 253 | .set_msglevel = emac_set_msglevel, | ||
| 233 | }; | 254 | }; |
| 234 | 255 | ||
| 235 | static unsigned int emac_setup(struct net_device *ndev) | 256 | static unsigned int emac_setup(struct net_device *ndev) |
| @@ -804,6 +825,7 @@ static int emac_probe(struct platform_device *pdev) | |||
| 804 | db->dev = &pdev->dev; | 825 | db->dev = &pdev->dev; |
| 805 | db->ndev = ndev; | 826 | db->ndev = ndev; |
| 806 | db->pdev = pdev; | 827 | db->pdev = pdev; |
| 828 | db->msg_enable = netif_msg_init(debug, EMAC_DEFAULT_MSG_ENABLE); | ||
| 807 | 829 | ||
| 808 | spin_lock_init(&db->lock); | 830 | spin_lock_init(&db->lock); |
| 809 | 831 | ||
