Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 247066
b: refs/heads/master
c: ec7e97e
h: refs/heads/master
v: v3
  • Loading branch information
Jeff Kirsher committed May 4, 2011
1 parent 410f7a5 commit 33bb08f
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 38 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: dca97ad2ec37aa98c45dfe1d531d9ba7048e814e
refs/heads/master: ec7e97e9a0265255485e217f4f2d3513949e7083
3 changes: 0 additions & 3 deletions trunk/drivers/net/ixgb/ixgb.h
Original file line number Diff line number Diff line change
Expand Up @@ -157,9 +157,6 @@ struct ixgb_adapter {
u16 link_duplex;
struct work_struct tx_timeout_task;

struct timer_list blink_timer;
unsigned long led_status;

/* TX */
struct ixgb_desc_ring tx_ring ____cacheline_aligned_in_smp;
unsigned int restart_queue;
Expand Down
46 changes: 12 additions & 34 deletions trunk/drivers/net/ixgb/ixgb_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -611,45 +611,23 @@ ixgb_set_ringparam(struct net_device *netdev,
return err;
}

/* toggle LED 4 times per second = 2 "blinks" per second */
#define IXGB_ID_INTERVAL (HZ/4)

/* bit defines for adapter->led_status */
#define IXGB_LED_ON 0

static void
ixgb_led_blink_callback(unsigned long data)
{
struct ixgb_adapter *adapter = (struct ixgb_adapter *)data;

if (test_and_change_bit(IXGB_LED_ON, &adapter->led_status))
ixgb_led_off(&adapter->hw);
else
ixgb_led_on(&adapter->hw);

mod_timer(&adapter->blink_timer, jiffies + IXGB_ID_INTERVAL);
}

static int
ixgb_phys_id(struct net_device *netdev, u32 data)
ixgb_set_phys_id(struct net_device *netdev, enum ethtool_phys_id_state state)
{
struct ixgb_adapter *adapter = netdev_priv(netdev);

if (!data)
data = INT_MAX;

if (!adapter->blink_timer.function) {
init_timer(&adapter->blink_timer);
adapter->blink_timer.function = ixgb_led_blink_callback;
adapter->blink_timer.data = (unsigned long)adapter;
}
switch (state) {
case ETHTOOL_ID_ACTIVE:
return 2;

mod_timer(&adapter->blink_timer, jiffies);
case ETHTOOL_ID_ON:
ixgb_led_on(&adapter->hw);
break;

msleep_interruptible(data * 1000);
del_timer_sync(&adapter->blink_timer);
ixgb_led_off(&adapter->hw);
clear_bit(IXGB_LED_ON, &adapter->led_status);
case ETHTOOL_ID_OFF:
case ETHTOOL_ID_INACTIVE:
ixgb_led_off(&adapter->hw);
}

return 0;
}
Expand Down Expand Up @@ -767,7 +745,7 @@ static const struct ethtool_ops ixgb_ethtool_ops = {
.set_msglevel = ixgb_set_msglevel,
.set_tso = ixgb_set_tso,
.get_strings = ixgb_get_strings,
.phys_id = ixgb_phys_id,
.set_phys_id = ixgb_set_phys_id,
.get_sset_count = ixgb_get_sset_count,
.get_ethtool_stats = ixgb_get_ethtool_stats,
.get_flags = ethtool_op_get_flags,
Expand Down

0 comments on commit 33bb08f

Please sign in to comment.