net: jme: convert tasklets to use new tasklet_setup() API
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>
This commit is contained in:
Родитель
aa7c3fee42
Коммит
4d07f7e240
|
@ -1187,9 +1187,9 @@ jme_shutdown_nic(struct jme_adapter *jme)
|
|||
}
|
||||
|
||||
static void
|
||||
jme_pcc_tasklet(unsigned long arg)
|
||||
jme_pcc_tasklet(struct tasklet_struct *t)
|
||||
{
|
||||
struct jme_adapter *jme = (struct jme_adapter *)arg;
|
||||
struct jme_adapter *jme = from_tasklet(jme, t, pcc_task);
|
||||
struct net_device *netdev = jme->dev;
|
||||
|
||||
if (unlikely(test_bit(JME_FLAG_SHUTDOWN, &jme->flags))) {
|
||||
|
@ -1265,10 +1265,9 @@ jme_stop_shutdown_timer(struct jme_adapter *jme)
|
|||
jwrite32f(jme, JME_APMC, apmc);
|
||||
}
|
||||
|
||||
static void
|
||||
jme_link_change_tasklet(unsigned long arg)
|
||||
static void jme_link_change_tasklet(struct tasklet_struct *t)
|
||||
{
|
||||
struct jme_adapter *jme = (struct jme_adapter *)arg;
|
||||
struct jme_adapter *jme = from_tasklet(jme, t, linkch_task);
|
||||
struct net_device *netdev = jme->dev;
|
||||
int rc;
|
||||
|
||||
|
@ -1345,9 +1344,9 @@ out:
|
|||
}
|
||||
|
||||
static void
|
||||
jme_rx_clean_tasklet(unsigned long arg)
|
||||
jme_rx_clean_tasklet(struct tasklet_struct *t)
|
||||
{
|
||||
struct jme_adapter *jme = (struct jme_adapter *)arg;
|
||||
struct jme_adapter *jme = from_tasklet(jme, t, rxclean_task);
|
||||
struct dynpcc_info *dpi = &(jme->dpi);
|
||||
|
||||
jme_process_receive(jme, jme->rx_ring_size);
|
||||
|
@ -1380,9 +1379,9 @@ jme_poll(JME_NAPI_HOLDER(holder), JME_NAPI_WEIGHT(budget))
|
|||
}
|
||||
|
||||
static void
|
||||
jme_rx_empty_tasklet(unsigned long arg)
|
||||
jme_rx_empty_tasklet(struct tasklet_struct *t)
|
||||
{
|
||||
struct jme_adapter *jme = (struct jme_adapter *)arg;
|
||||
struct jme_adapter *jme = from_tasklet(jme, t, rxempty_task);
|
||||
|
||||
if (unlikely(atomic_read(&jme->link_changing) != 1))
|
||||
return;
|
||||
|
@ -1392,7 +1391,7 @@ jme_rx_empty_tasklet(unsigned long arg)
|
|||
|
||||
netif_info(jme, rx_status, jme->dev, "RX Queue Full!\n");
|
||||
|
||||
jme_rx_clean_tasklet(arg);
|
||||
jme_rx_clean_tasklet(&jme->rxclean_task);
|
||||
|
||||
while (atomic_read(&jme->rx_empty) > 0) {
|
||||
atomic_dec(&jme->rx_empty);
|
||||
|
@ -1416,10 +1415,9 @@ jme_wake_queue_if_stopped(struct jme_adapter *jme)
|
|||
|
||||
}
|
||||
|
||||
static void
|
||||
jme_tx_clean_tasklet(unsigned long arg)
|
||||
static void jme_tx_clean_tasklet(struct tasklet_struct *t)
|
||||
{
|
||||
struct jme_adapter *jme = (struct jme_adapter *)arg;
|
||||
struct jme_adapter *jme = from_tasklet(jme, t, txclean_task);
|
||||
struct jme_ring *txring = &(jme->txring[0]);
|
||||
struct txdesc *txdesc = txring->desc;
|
||||
struct jme_buffer_info *txbi = txring->bufinf, *ctxbi, *ttxbi;
|
||||
|
@ -1834,14 +1832,10 @@ jme_open(struct net_device *netdev)
|
|||
jme_clear_pm_disable_wol(jme);
|
||||
JME_NAPI_ENABLE(jme);
|
||||
|
||||
tasklet_init(&jme->linkch_task, jme_link_change_tasklet,
|
||||
(unsigned long) jme);
|
||||
tasklet_init(&jme->txclean_task, jme_tx_clean_tasklet,
|
||||
(unsigned long) jme);
|
||||
tasklet_init(&jme->rxclean_task, jme_rx_clean_tasklet,
|
||||
(unsigned long) jme);
|
||||
tasklet_init(&jme->rxempty_task, jme_rx_empty_tasklet,
|
||||
(unsigned long) jme);
|
||||
tasklet_setup(&jme->linkch_task, jme_link_change_tasklet);
|
||||
tasklet_setup(&jme->txclean_task, jme_tx_clean_tasklet);
|
||||
tasklet_setup(&jme->rxclean_task, jme_rx_clean_tasklet);
|
||||
tasklet_setup(&jme->rxempty_task, jme_rx_empty_tasklet);
|
||||
|
||||
rc = jme_request_irq(jme);
|
||||
if (rc)
|
||||
|
@ -3040,9 +3034,7 @@ jme_init_one(struct pci_dev *pdev,
|
|||
atomic_set(&jme->tx_cleaning, 1);
|
||||
atomic_set(&jme->rx_empty, 1);
|
||||
|
||||
tasklet_init(&jme->pcc_task,
|
||||
jme_pcc_tasklet,
|
||||
(unsigned long) jme);
|
||||
tasklet_setup(&jme->pcc_task, jme_pcc_tasklet);
|
||||
jme->dpi.cur = PCC_P1;
|
||||
|
||||
jme->reg_ghc = 0;
|
||||
|
|
Загрузка…
Ссылка в новой задаче