sfc: refactor selftest work init code
Signed-off-by: Alexandru-Mihai Maftei <amaftei@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9f120e7659
commit
86de7ced41
@ -840,7 +840,7 @@ int efx_init_struct(struct efx_nic *efx,
|
|||||||
#endif
|
#endif
|
||||||
INIT_WORK(&efx->reset_work, efx_reset_work);
|
INIT_WORK(&efx->reset_work, efx_reset_work);
|
||||||
INIT_DELAYED_WORK(&efx->monitor_work, efx_monitor);
|
INIT_DELAYED_WORK(&efx->monitor_work, efx_monitor);
|
||||||
INIT_DELAYED_WORK(&efx->selftest_work, efx_selftest_async_work);
|
efx_selftest_async_init(efx);
|
||||||
efx->pci_dev = pci_dev;
|
efx->pci_dev = pci_dev;
|
||||||
efx->msg_enable = debug;
|
efx->msg_enable = debug;
|
||||||
efx->state = STATE_UNINIT;
|
efx->state = STATE_UNINIT;
|
||||||
|
@ -785,7 +785,7 @@ void efx_selftest_async_cancel(struct efx_nic *efx)
|
|||||||
cancel_delayed_work_sync(&efx->selftest_work);
|
cancel_delayed_work_sync(&efx->selftest_work);
|
||||||
}
|
}
|
||||||
|
|
||||||
void efx_selftest_async_work(struct work_struct *data)
|
static void efx_selftest_async_work(struct work_struct *data)
|
||||||
{
|
{
|
||||||
struct efx_nic *efx = container_of(data, struct efx_nic,
|
struct efx_nic *efx = container_of(data, struct efx_nic,
|
||||||
selftest_work.work);
|
selftest_work.work);
|
||||||
@ -804,3 +804,8 @@ void efx_selftest_async_work(struct work_struct *data)
|
|||||||
channel->channel, cpu);
|
channel->channel, cpu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void efx_selftest_async_init(struct efx_nic *efx)
|
||||||
|
{
|
||||||
|
INIT_DELAYED_WORK(&efx->selftest_work, efx_selftest_async_work);
|
||||||
|
}
|
||||||
|
@ -45,8 +45,8 @@ void efx_loopback_rx_packet(struct efx_nic *efx, const char *buf_ptr,
|
|||||||
int pkt_len);
|
int pkt_len);
|
||||||
int efx_selftest(struct efx_nic *efx, struct efx_self_tests *tests,
|
int efx_selftest(struct efx_nic *efx, struct efx_self_tests *tests,
|
||||||
unsigned flags);
|
unsigned flags);
|
||||||
|
void efx_selftest_async_init(struct efx_nic *efx);
|
||||||
void efx_selftest_async_start(struct efx_nic *efx);
|
void efx_selftest_async_start(struct efx_nic *efx);
|
||||||
void efx_selftest_async_cancel(struct efx_nic *efx);
|
void efx_selftest_async_cancel(struct efx_nic *efx);
|
||||||
void efx_selftest_async_work(struct work_struct *data);
|
|
||||||
|
|
||||||
#endif /* EFX_SELFTEST_H */
|
#endif /* EFX_SELFTEST_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user