Skip to content

Commit

Permalink
net: silan: convert tasklets to use new tasklet_setup() API
Browse files Browse the repository at this point in the history
In preparation for unconditionally passing the
struct tasklet_struct pointer to all tasklet
callbacks, switch to using the new tasklet_setup()
and from_tasklet() to pass the tasklet pointer explicitly.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <apais@linux.microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Allen Pais authored and David S. Miller committed Sep 14, 2020
1 parent b5f0a3b commit 271f278
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions drivers/net/ethernet/silan/sc92031.c
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,7 @@ struct sc92031_priv {

/* for dev->get_stats */
long rx_value;
struct net_device *ndev;
};

/* I don't know which registers can be safely read; however, I can guess
Expand Down Expand Up @@ -829,10 +830,10 @@ static void _sc92031_link_tasklet(struct net_device *dev)
}
}

static void sc92031_tasklet(unsigned long data)
static void sc92031_tasklet(struct tasklet_struct *t)
{
struct net_device *dev = (struct net_device *)data;
struct sc92031_priv *priv = netdev_priv(dev);
struct sc92031_priv *priv = from_tasklet(priv, t, tasklet);
struct net_device *dev = priv->ndev;
void __iomem *port_base = priv->port_base;
u32 intr_status, intr_mask;

Expand Down Expand Up @@ -1108,7 +1109,7 @@ static void sc92031_poll_controller(struct net_device *dev)

disable_irq(irq);
if (sc92031_interrupt(irq, dev) != IRQ_NONE)
sc92031_tasklet((unsigned long)dev);
sc92031_tasklet(&priv->tasklet);
enable_irq(irq);
}
#endif
Expand Down Expand Up @@ -1443,10 +1444,11 @@ static int sc92031_probe(struct pci_dev *pdev, const struct pci_device_id *id)
dev->ethtool_ops = &sc92031_ethtool_ops;

priv = netdev_priv(dev);
priv->ndev = dev;
spin_lock_init(&priv->lock);
priv->port_base = port_base;
priv->pdev = pdev;
tasklet_init(&priv->tasklet, sc92031_tasklet, (unsigned long)dev);
tasklet_setup(&priv->tasklet, sc92031_tasklet);
/* Fudge tasklet count so the call to sc92031_enable_interrupts at
* sc92031_open will work correctly */
tasklet_disable_nosync(&priv->tasklet);
Expand Down

0 comments on commit 271f278

Please sign in to comment.