From b4b7ff4b08e691656c9d77c758fc355833128ac0 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 20 Jan 2016 14:01:31 -0300 Subject: Linux-libre 4.4-gnu --- drivers/staging/octeon/ethernet.c | 42 +++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 19 deletions(-) (limited to 'drivers/staging/octeon/ethernet.c') diff --git a/drivers/staging/octeon/ethernet.c b/drivers/staging/octeon/ethernet.c index 7274fda0b..f69fb5cc7 100644 --- a/drivers/staging/octeon/ethernet.c +++ b/drivers/staging/octeon/ethernet.c @@ -86,19 +86,19 @@ int rx_napi_weight = 32; module_param(rx_napi_weight, int, 0444); MODULE_PARM_DESC(rx_napi_weight, "The NAPI WEIGHT parameter."); -/** +/* * cvm_oct_poll_queue - Workqueue for polling operations. */ struct workqueue_struct *cvm_oct_poll_queue; -/** +/* * cvm_oct_poll_queue_stopping - flag to indicate polling should stop. * * Set to one right before cvm_oct_poll_queue is destroyed. */ atomic_t cvm_oct_poll_queue_stopping = ATOMIC_INIT(0); -/** +/* * Array of every ethernet device owned by this driver indexed by * the ipd input port number. */ @@ -364,13 +364,6 @@ static void cvm_oct_common_set_multicast_list(struct net_device *dev) } } -/** - * cvm_oct_common_set_mac_address - set the hardware MAC address for a device - * @dev: The device in question. - * @addr: Address structure to change it too. - - * Returns Zero on success - */ static int cvm_oct_set_mac_filter(struct net_device *dev) { struct octeon_ethernet *priv = netdev_priv(dev); @@ -382,11 +375,11 @@ static int cvm_oct_set_mac_filter(struct net_device *dev) && (cvmx_helper_interface_get_mode(interface) != CVMX_HELPER_INTERFACE_MODE_SPI)) { int i; - uint8_t *ptr = dev->dev_addr; - uint64_t mac = 0; + u8 *ptr = dev->dev_addr; + u64 mac = 0; for (i = 0; i < 6; i++) - mac = (mac << 8) | (uint64_t)ptr[i]; + mac = (mac << 8) | (u64)ptr[i]; gmx_cfg.u64 = cvmx_read_csr(CVMX_GMXX_PRTX_CFG(index, interface)); @@ -413,6 +406,13 @@ static int cvm_oct_set_mac_filter(struct net_device *dev) return 0; } +/** + * cvm_oct_common_set_mac_address - set the hardware MAC address for a device + * @dev: The device in question. + * @addr: Socket address. + * + * Returns Zero on success + */ static int cvm_oct_common_set_mac_address(struct net_device *dev, void *addr) { int r = eth_mac_addr(dev, addr); @@ -481,7 +481,7 @@ void cvm_oct_common_uninit(struct net_device *dev) } int cvm_oct_common_open(struct net_device *dev, - void (*link_poll)(struct net_device *), bool poll_now) + void (*link_poll)(struct net_device *)) { union cvmx_gmxx_prtx_cfg gmx_cfg; struct octeon_ethernet *priv = netdev_priv(dev); @@ -512,8 +512,7 @@ int cvm_oct_common_open(struct net_device *dev, if (!link_info.s.link_up) netif_carrier_off(dev); priv->poll = link_poll; - if (poll_now) - link_poll(dev); + link_poll(dev); } return 0; @@ -540,6 +539,11 @@ void cvm_oct_link_poll(struct net_device *dev) cvm_oct_note_carrier(priv, link_info); } +static int cvm_oct_xaui_open(struct net_device *dev) +{ + return cvm_oct_common_open(dev, cvm_oct_link_poll); +} + static const struct net_device_ops cvm_oct_npi_netdev_ops = { .ndo_init = cvm_oct_common_init, .ndo_uninit = cvm_oct_common_uninit, @@ -554,7 +558,7 @@ static const struct net_device_ops cvm_oct_npi_netdev_ops = { #endif }; static const struct net_device_ops cvm_oct_xaui_netdev_ops = { - .ndo_init = cvm_oct_xaui_init, + .ndo_init = cvm_oct_common_init, .ndo_uninit = cvm_oct_common_uninit, .ndo_open = cvm_oct_xaui_open, .ndo_stop = cvm_oct_common_stop, @@ -674,7 +678,7 @@ static int cvm_oct_probe(struct platform_device *pdev) } cvm_oct_poll_queue = create_singlethread_workqueue("octeon-ethernet"); - if (cvm_oct_poll_queue == NULL) { + if (!cvm_oct_poll_queue) { pr_err("octeon-ethernet: Cannot create workqueue"); return -ENOMEM; } @@ -835,7 +839,7 @@ static int cvm_oct_probe(struct platform_device *pdev) cvm_oct_device[priv->port] = dev; fau -= cvmx_pko_get_num_queues(priv->port) * - sizeof(uint32_t); + sizeof(u32); queue_delayed_work(cvm_oct_poll_queue, &priv->port_periodic_work, HZ); } -- cgit v1.2.3-54-g00ecf