Skip to content

Commit 6fd9c53

Browse files
keesdavem330
authored andcommitted
net: seeq: Convert timers to use timer_setup()
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: Russell King <[email protected]> Cc: [email protected] Cc: [email protected] Signed-off-by: Kees Cook <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 0822c5d commit 6fd9c53

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

drivers/net/ethernet/seeq/ether3.c

+6-5
Original file line numberDiff line numberDiff line change
@@ -170,9 +170,11 @@ ether3_setbuffer(struct net_device *dev, buffer_rw_t read, int start)
170170
/*
171171
* Switch LED off...
172172
*/
173-
static void ether3_ledoff(unsigned long data)
173+
static void ether3_ledoff(struct timer_list *t)
174174
{
175-
struct net_device *dev = (struct net_device *)data;
175+
struct dev_priv *private = from_timer(priv, t, timer);
176+
struct net_device *dev = private->dev;
177+
176178
ether3_outw(priv(dev)->regs.config2 |= CFG2_CTRLO, REG_CONFIG2);
177179
}
178180

@@ -183,8 +185,6 @@ static inline void ether3_ledon(struct net_device *dev)
183185
{
184186
del_timer(&priv(dev)->timer);
185187
priv(dev)->timer.expires = jiffies + HZ / 50; /* leave on for 1/50th second */
186-
priv(dev)->timer.data = (unsigned long)dev;
187-
priv(dev)->timer.function = ether3_ledoff;
188188
add_timer(&priv(dev)->timer);
189189
if (priv(dev)->regs.config2 & CFG2_CTRLO)
190190
ether3_outw(priv(dev)->regs.config2 &= ~CFG2_CTRLO, REG_CONFIG2);
@@ -783,7 +783,8 @@ ether3_probe(struct expansion_card *ec, const struct ecard_id *id)
783783

784784
ether3_addr(dev->dev_addr, ec);
785785

786-
init_timer(&priv(dev)->timer);
786+
priv(dev)->dev = dev;
787+
timer_setup(&priv(dev)->timer, ether3_ledoff, 0);
787788

788789
/* Reset card...
789790
*/

drivers/net/ethernet/seeq/ether3.h

+1
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ struct dev_priv {
165165
unsigned char tx_tail; /* buffer nr of transmitting packet */
166166
unsigned int rx_head; /* address to fetch next packet from */
167167
struct timer_list timer;
168+
net_device *dev;
168169
int broken; /* 0 = ok, 1 = something went wrong */
169170
};
170171

0 commit comments

Comments
 (0)