Skip to content

Commit

Permalink
drivers/net: cris: Convert timers to use timer_setup()
Browse files Browse the repository at this point in the history
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "yuval.shaia@oracle.com" <yuval.shaia@oracle.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Philippe Reynes <tremyfr@gmail.com>
Cc: netdev@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
  • Loading branch information
Kees Cook committed Nov 21, 2017
1 parent 0078730 commit bd1a7b4
Showing 1 changed file with 17 additions and 19 deletions.
36 changes: 17 additions & 19 deletions drivers/net/cris/eth_v10.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,17 +165,23 @@ static unsigned int network_rec_config_shadow = 0;

static unsigned int network_tr_ctrl_shadow = 0;

/* Timers */
static void e100_check_speed(struct timer_list *unused);
static void e100_clear_network_leds(struct timer_list *unused);
static void e100_check_duplex(struct timer_list *unused);
static DEFINE_TIMER(speed_timer, e100_check_speed);
static DEFINE_TIMER(clear_led_timer, e100_clear_network_leds);
static DEFINE_TIMER(duplex_timer, e100_check_duplex);
static struct net_device *timer_dev;

/* Network speed indication. */
static DEFINE_TIMER(speed_timer, NULL);
static DEFINE_TIMER(clear_led_timer, NULL);
static int current_speed; /* Speed read from transceiver */
static int current_speed_selection; /* Speed selected by user */
static unsigned long led_next_time;
static int led_active;
static int rx_queue_len;

/* Duplex */
static DEFINE_TIMER(duplex_timer, NULL);
static int full_duplex;
static enum duplex current_duplex;

Expand All @@ -200,9 +206,7 @@ static void update_rx_stats(struct net_device_stats *);
static void update_tx_stats(struct net_device_stats *);
static int e100_probe_transceiver(struct net_device* dev);

static void e100_check_speed(unsigned long priv);
static void e100_set_speed(struct net_device* dev, unsigned long speed);
static void e100_check_duplex(unsigned long priv);
static void e100_set_duplex(struct net_device* dev, enum duplex);
static void e100_negotiate(struct net_device* dev);

Expand All @@ -214,7 +218,6 @@ static void e100_send_mdio_bit(unsigned char bit);
static unsigned char e100_receive_mdio_bit(void);
static void e100_reset_transceiver(struct net_device* net);

static void e100_clear_network_leds(unsigned long dummy);
static void e100_set_network_leds(int active);

static const struct ethtool_ops e100_ethtool_ops;
Expand Down Expand Up @@ -381,17 +384,12 @@ etrax_ethernet_init(void)
current_speed = 10;
current_speed_selection = 0; /* Auto */
speed_timer.expires = jiffies + NET_LINK_UP_CHECK_INTERVAL;
speed_timer.data = (unsigned long)dev;
speed_timer.function = e100_check_speed;

clear_led_timer.function = e100_clear_network_leds;
clear_led_timer.data = (unsigned long)dev;

full_duplex = 0;
current_duplex = autoneg;
duplex_timer.expires = jiffies + NET_DUPLEX_CHECK_INTERVAL;
duplex_timer.data = (unsigned long)dev;
duplex_timer.function = e100_check_duplex;

timer_dev = dev;

/* Initialize mii interface */
np->mii_if.phy_id_mask = 0x1f;
Expand Down Expand Up @@ -680,9 +678,9 @@ intel_check_speed(struct net_device* dev)
}
#endif
static void
e100_check_speed(unsigned long priv)
e100_check_speed(struct timer_list *unused)
{
struct net_device* dev = (struct net_device*)priv;
struct net_device* dev = timer_dev;
struct net_local *np = netdev_priv(dev);
static int led_initiated = 0;
unsigned long data;
Expand Down Expand Up @@ -799,9 +797,9 @@ e100_set_speed(struct net_device* dev, unsigned long speed)
}

static void
e100_check_duplex(unsigned long priv)
e100_check_duplex(struct timer_list *unused)
{
struct net_device *dev = (struct net_device *)priv;
struct net_device *dev = timer_dev;
struct net_local *np = netdev_priv(dev);
int old_duplex;

Expand Down Expand Up @@ -1669,9 +1667,9 @@ e100_hardware_send_packet(struct net_local *np, char *buf, int length)
}

static void
e100_clear_network_leds(unsigned long dummy)
e100_clear_network_leds(struct timer_list *unused)
{
struct net_device *dev = (struct net_device *)dummy;
struct net_device *dev = timer_dev;
struct net_local *np = netdev_priv(dev);

spin_lock(&np->led_lock);
Expand Down

0 comments on commit bd1a7b4

Please sign in to comment.