First batch of scsi conversions that have been Reviewed or Acked.
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Kees Cook <kees@outflux.net> iQIcBAABCgAGBQJZ8v1pAAoJEIly9N/cbcAmbA0QAIQ3XXsV9+x5BKcuxK6U0z+/ gNj08kbAnFhnvBSRv6FMR/Tgk06FaOe21XVjhVEhAt38q/HfUHn1P29zbyTb4gmJ Uk5H8W3+ltkkSRkVH4dwlz9NlTiAKwNXj2pXS6Qr2SUDW7beCRqIPh8u5+AbZCB9 cAiPP2jMxR4tkRLYSLZHQRc2Sdtyi9inp91pULf0/LZ9R1K/PGQHTCmljTj/9vms ojoPN431LWZGSKLqRpDlMfK+mDShZQsXsmFNMZ+VBgYh3ZfGK9Z5q/q3SzpjuESI ZcU4Efh6u7orA+l1gpIdyd5s2e9a8sxT7IQZ6jwMqWqbRf8Dcr35N7XcXZFwpwP8 VLf0KdFVvuSLnpLEOPgMLT8Cc9LSvmjh3TCcIC6byXWM/pC29Cg2IkIlVip5kBPi n1vpjOkWrkkxDWCT/W8RfQdkt042w+/svZ9w93bRIadU/vhsvA86UfPuAHRrWd+f LHZQ8aGJ+bqjsAGnMZzYV1oM8qwQkXTRnxOxgELSBWEqpygnZ2WCxwKLfmyW12f9 cnrAdm1Qs4exXxGT/OWwpXNZL3Pcuf6dBdoZVIR4oOW2Sai8YLs8OnO3xVeMAdxs M5FerH/9LjakQlCCMOlW9bxGqVBWBOe5e5Mb0h6xitmh75XRDCeQJkTq1PGtuCtF mwTRJUjBnvD4X7RNd2DW =NsWO -----END PGP SIGNATURE----- Merge tag 'timers-conversion-next' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into timers/core Pull first batch of scsi conversions that have been Reviewed or Acked from Kees Cook.
This commit is contained in:
commit
6c1e272f96
@ -1178,8 +1178,7 @@ static void asd_start_scb_timers(struct list_head *list)
|
||||
struct asd_ascb *ascb;
|
||||
list_for_each_entry(ascb, list, list) {
|
||||
if (!ascb->uldd_timer) {
|
||||
ascb->timer.data = (unsigned long) ascb;
|
||||
ascb->timer.function = asd_ascb_timedout;
|
||||
ascb->timer.function = (TIMER_FUNC_TYPE)asd_ascb_timedout;
|
||||
ascb->timer.expires = jiffies + AIC94XX_SCB_TIMEOUT;
|
||||
add_timer(&ascb->timer);
|
||||
}
|
||||
|
@ -291,8 +291,7 @@ static inline void asd_init_ascb(struct asd_ha_struct *asd_ha,
|
||||
INIT_LIST_HEAD(&ascb->list);
|
||||
ascb->scb = ascb->dma_scb.vaddr;
|
||||
ascb->ha = asd_ha;
|
||||
ascb->timer.function = NULL;
|
||||
init_timer(&ascb->timer);
|
||||
timer_setup(&ascb->timer, NULL, 0);
|
||||
ascb->tc_index = -1;
|
||||
}
|
||||
|
||||
@ -392,7 +391,7 @@ void asd_control_led(struct asd_ha_struct *asd_ha, int phy_id, int op);
|
||||
void asd_turn_led(struct asd_ha_struct *asd_ha, int phy_id, int op);
|
||||
int asd_enable_phys(struct asd_ha_struct *asd_ha, const u8 phy_mask);
|
||||
|
||||
void asd_ascb_timedout(unsigned long data);
|
||||
void asd_ascb_timedout(struct timer_list *t);
|
||||
int asd_chip_hardrst(struct asd_ha_struct *asd_ha);
|
||||
|
||||
#endif
|
||||
|
@ -866,12 +866,12 @@ void asd_build_initiate_link_adm_task(struct asd_ascb *ascb, int phy_id,
|
||||
* Upper layers can implement their own timeout function, say to free
|
||||
* resources they have with this SCB, and then call this one at the
|
||||
* end of their timeout function. To do this, one should initialize
|
||||
* the ascb->timer.{function, data, expires} prior to calling the post
|
||||
* the ascb->timer.{function, expires} prior to calling the post
|
||||
* function. The timer is started by the post function.
|
||||
*/
|
||||
void asd_ascb_timedout(unsigned long data)
|
||||
void asd_ascb_timedout(struct timer_list *t)
|
||||
{
|
||||
struct asd_ascb *ascb = (void *) data;
|
||||
struct asd_ascb *ascb = from_timer(ascb, t, timer);
|
||||
struct asd_seq_data *seq = &ascb->ha->seq;
|
||||
unsigned long flags;
|
||||
|
||||
|
@ -35,15 +35,14 @@
|
||||
static int asd_enqueue_internal(struct asd_ascb *ascb,
|
||||
void (*tasklet_complete)(struct asd_ascb *,
|
||||
struct done_list_struct *),
|
||||
void (*timed_out)(unsigned long))
|
||||
void (*timed_out)(struct timer_list *t))
|
||||
{
|
||||
int res;
|
||||
|
||||
ascb->tasklet_complete = tasklet_complete;
|
||||
ascb->uldd_timer = 1;
|
||||
|
||||
ascb->timer.data = (unsigned long) ascb;
|
||||
ascb->timer.function = timed_out;
|
||||
ascb->timer.function = (TIMER_FUNC_TYPE)timed_out;
|
||||
ascb->timer.expires = jiffies + AIC94XX_SCB_TIMEOUT;
|
||||
|
||||
add_timer(&ascb->timer);
|
||||
@ -87,9 +86,9 @@ static void asd_clear_nexus_tasklet_complete(struct asd_ascb *ascb,
|
||||
asd_ascb_free(ascb);
|
||||
}
|
||||
|
||||
static void asd_clear_nexus_timedout(unsigned long data)
|
||||
static void asd_clear_nexus_timedout(struct timer_list *t)
|
||||
{
|
||||
struct asd_ascb *ascb = (void *)data;
|
||||
struct asd_ascb *ascb = from_timer(ascb, t, timer);
|
||||
struct tasklet_completion_status *tcs = ascb->uldd_task;
|
||||
|
||||
ASD_DPRINTK("%s: here\n", __func__);
|
||||
@ -261,9 +260,9 @@ static int asd_clear_nexus_index(struct sas_task *task)
|
||||
|
||||
/* ---------- TMFs ---------- */
|
||||
|
||||
static void asd_tmf_timedout(unsigned long data)
|
||||
static void asd_tmf_timedout(struct timer_list *t)
|
||||
{
|
||||
struct asd_ascb *ascb = (void *) data;
|
||||
struct asd_ascb *ascb = from_timer(ascb, t, timer);
|
||||
struct tasklet_completion_status *tcs = ascb->uldd_task;
|
||||
|
||||
ASD_DPRINTK("tmf timed out\n");
|
||||
|
@ -5230,12 +5230,11 @@ static void beiscsi_eqd_update_work(struct work_struct *work)
|
||||
msecs_to_jiffies(BEISCSI_EQD_UPDATE_INTERVAL));
|
||||
}
|
||||
|
||||
static void beiscsi_hw_tpe_check(unsigned long ptr)
|
||||
static void beiscsi_hw_tpe_check(struct timer_list *t)
|
||||
{
|
||||
struct beiscsi_hba *phba;
|
||||
struct beiscsi_hba *phba = from_timer(phba, t, hw_check);
|
||||
u32 wait;
|
||||
|
||||
phba = (struct beiscsi_hba *)ptr;
|
||||
/* if not TPE, do nothing */
|
||||
if (!beiscsi_detect_tpe(phba))
|
||||
return;
|
||||
@ -5248,11 +5247,10 @@ static void beiscsi_hw_tpe_check(unsigned long ptr)
|
||||
msecs_to_jiffies(wait));
|
||||
}
|
||||
|
||||
static void beiscsi_hw_health_check(unsigned long ptr)
|
||||
static void beiscsi_hw_health_check(struct timer_list *t)
|
||||
{
|
||||
struct beiscsi_hba *phba;
|
||||
struct beiscsi_hba *phba = from_timer(phba, t, hw_check);
|
||||
|
||||
phba = (struct beiscsi_hba *)ptr;
|
||||
beiscsi_detect_ue(phba);
|
||||
if (beiscsi_detect_ue(phba)) {
|
||||
__beiscsi_log(phba, KERN_ERR,
|
||||
@ -5264,7 +5262,7 @@ static void beiscsi_hw_health_check(unsigned long ptr)
|
||||
if (!test_bit(BEISCSI_HBA_UER_SUPP, &phba->state))
|
||||
return;
|
||||
/* modify this timer to check TPE */
|
||||
phba->hw_check.function = beiscsi_hw_tpe_check;
|
||||
phba->hw_check.function = (TIMER_FUNC_TYPE)beiscsi_hw_tpe_check;
|
||||
}
|
||||
|
||||
mod_timer(&phba->hw_check,
|
||||
@ -5351,7 +5349,7 @@ static int beiscsi_enable_port(struct beiscsi_hba *phba)
|
||||
* Timer function gets modified for TPE detection.
|
||||
* Always reinit to do health check first.
|
||||
*/
|
||||
phba->hw_check.function = beiscsi_hw_health_check;
|
||||
phba->hw_check.function = (TIMER_FUNC_TYPE)beiscsi_hw_health_check;
|
||||
mod_timer(&phba->hw_check,
|
||||
jiffies + msecs_to_jiffies(BEISCSI_UE_DETECT_INTERVAL));
|
||||
return 0;
|
||||
@ -5708,9 +5706,7 @@ static int beiscsi_dev_probe(struct pci_dev *pcidev,
|
||||
* Start UE detection here. UE before this will cause stall in probe
|
||||
* and eventually fail the probe.
|
||||
*/
|
||||
init_timer(&phba->hw_check);
|
||||
phba->hw_check.function = beiscsi_hw_health_check;
|
||||
phba->hw_check.data = (unsigned long)phba;
|
||||
timer_setup(&phba->hw_check, beiscsi_hw_health_check, 0);
|
||||
mod_timer(&phba->hw_check,
|
||||
jiffies + msecs_to_jiffies(BEISCSI_UE_DETECT_INTERVAL));
|
||||
beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_INIT,
|
||||
|
@ -823,7 +823,7 @@ static int bnx2fc_net_config(struct fc_lport *lport, struct net_device *netdev)
|
||||
|
||||
skb_queue_head_init(&port->fcoe_pending_queue);
|
||||
port->fcoe_pending_queue_active = 0;
|
||||
setup_timer(&port->timer, fcoe_queue_timer, (unsigned long) lport);
|
||||
timer_setup(&port->timer, fcoe_queue_timer, 0);
|
||||
|
||||
fcoe_link_speed_update(lport);
|
||||
|
||||
@ -845,9 +845,9 @@ static int bnx2fc_net_config(struct fc_lport *lport, struct net_device *netdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void bnx2fc_destroy_timer(unsigned long data)
|
||||
static void bnx2fc_destroy_timer(struct timer_list *t)
|
||||
{
|
||||
struct bnx2fc_hba *hba = (struct bnx2fc_hba *)data;
|
||||
struct bnx2fc_hba *hba = from_timer(hba, t, destroy_timer);
|
||||
|
||||
printk(KERN_ERR PFX "ERROR:bnx2fc_destroy_timer - "
|
||||
"Destroy compl not received!!\n");
|
||||
@ -1946,11 +1946,10 @@ static void bnx2fc_fw_destroy(struct bnx2fc_hba *hba)
|
||||
{
|
||||
if (test_and_clear_bit(BNX2FC_FLAG_FW_INIT_DONE, &hba->flags)) {
|
||||
if (bnx2fc_send_fw_fcoe_destroy_msg(hba) == 0) {
|
||||
init_timer(&hba->destroy_timer);
|
||||
timer_setup(&hba->destroy_timer, bnx2fc_destroy_timer,
|
||||
0);
|
||||
hba->destroy_timer.expires = BNX2FC_FW_TIMEOUT +
|
||||
jiffies;
|
||||
hba->destroy_timer.function = bnx2fc_destroy_timer;
|
||||
hba->destroy_timer.data = (unsigned long)hba;
|
||||
add_timer(&hba->destroy_timer);
|
||||
wait_event_interruptible(hba->destroy_wait,
|
||||
test_bit(BNX2FC_FLAG_DESTROY_CMPL,
|
||||
|
@ -858,7 +858,7 @@ extern int bnx2i_alloc_qp_resc(struct bnx2i_hba *hba,
|
||||
struct bnx2i_endpoint *ep);
|
||||
extern void bnx2i_free_qp_resc(struct bnx2i_hba *hba,
|
||||
struct bnx2i_endpoint *ep);
|
||||
extern void bnx2i_ep_ofld_timer(unsigned long data);
|
||||
extern void bnx2i_ep_ofld_timer(struct timer_list *t);
|
||||
extern struct bnx2i_endpoint *bnx2i_find_ep_in_ofld_list(
|
||||
struct bnx2i_hba *hba, u32 iscsi_cid);
|
||||
extern struct bnx2i_endpoint *bnx2i_find_ep_in_destroy_list(
|
||||
|
@ -698,9 +698,9 @@ void bnx2i_update_iscsi_conn(struct iscsi_conn *conn)
|
||||
*
|
||||
* routine to handle connection offload/destroy request timeout
|
||||
*/
|
||||
void bnx2i_ep_ofld_timer(unsigned long data)
|
||||
void bnx2i_ep_ofld_timer(struct timer_list *t)
|
||||
{
|
||||
struct bnx2i_endpoint *ep = (struct bnx2i_endpoint *) data;
|
||||
struct bnx2i_endpoint *ep = from_timer(ep, t, ofld_timer);
|
||||
|
||||
if (ep->state == EP_STATE_OFLD_START) {
|
||||
printk(KERN_ALERT "ofld_timer: CONN_OFLD timeout\n");
|
||||
|
@ -1611,9 +1611,8 @@ static int bnx2i_conn_start(struct iscsi_cls_conn *cls_conn)
|
||||
* this should normally not sleep for a long time so it should
|
||||
* not disrupt the caller.
|
||||
*/
|
||||
timer_setup(&bnx2i_conn->ep->ofld_timer, bnx2i_ep_ofld_timer, 0);
|
||||
bnx2i_conn->ep->ofld_timer.expires = 1 * HZ + jiffies;
|
||||
bnx2i_conn->ep->ofld_timer.function = bnx2i_ep_ofld_timer;
|
||||
bnx2i_conn->ep->ofld_timer.data = (unsigned long) bnx2i_conn->ep;
|
||||
add_timer(&bnx2i_conn->ep->ofld_timer);
|
||||
/* update iSCSI context for this conn, wait for CNIC to complete */
|
||||
wait_event_interruptible(bnx2i_conn->ep->ofld_wait,
|
||||
@ -1729,10 +1728,8 @@ static int bnx2i_tear_down_conn(struct bnx2i_hba *hba,
|
||||
}
|
||||
|
||||
ep->state = EP_STATE_CLEANUP_START;
|
||||
init_timer(&ep->ofld_timer);
|
||||
timer_setup(&ep->ofld_timer, bnx2i_ep_ofld_timer, 0);
|
||||
ep->ofld_timer.expires = hba->conn_ctx_destroy_tmo + jiffies;
|
||||
ep->ofld_timer.function = bnx2i_ep_ofld_timer;
|
||||
ep->ofld_timer.data = (unsigned long) ep;
|
||||
add_timer(&ep->ofld_timer);
|
||||
|
||||
bnx2i_ep_destroy_list_add(hba, ep);
|
||||
@ -1835,10 +1832,8 @@ static struct iscsi_endpoint *bnx2i_ep_connect(struct Scsi_Host *shost,
|
||||
bnx2i_ep->state = EP_STATE_OFLD_START;
|
||||
bnx2i_ep_ofld_list_add(hba, bnx2i_ep);
|
||||
|
||||
init_timer(&bnx2i_ep->ofld_timer);
|
||||
timer_setup(&bnx2i_ep->ofld_timer, bnx2i_ep_ofld_timer, 0);
|
||||
bnx2i_ep->ofld_timer.expires = 2 * HZ + jiffies;
|
||||
bnx2i_ep->ofld_timer.function = bnx2i_ep_ofld_timer;
|
||||
bnx2i_ep->ofld_timer.data = (unsigned long) bnx2i_ep;
|
||||
add_timer(&bnx2i_ep->ofld_timer);
|
||||
|
||||
if (bnx2i_send_conn_ofld_req(hba, bnx2i_ep)) {
|
||||
@ -2054,10 +2049,8 @@ int bnx2i_hw_ep_disconnect(struct bnx2i_endpoint *bnx2i_ep)
|
||||
session = conn->session;
|
||||
}
|
||||
|
||||
init_timer(&bnx2i_ep->ofld_timer);
|
||||
timer_setup(&bnx2i_ep->ofld_timer, bnx2i_ep_ofld_timer, 0);
|
||||
bnx2i_ep->ofld_timer.expires = hba->conn_teardown_tmo + jiffies;
|
||||
bnx2i_ep->ofld_timer.function = bnx2i_ep_ofld_timer;
|
||||
bnx2i_ep->ofld_timer.data = (unsigned long) bnx2i_ep;
|
||||
add_timer(&bnx2i_ep->ofld_timer);
|
||||
|
||||
if (!test_bit(BNX2I_CNIC_REGISTERED, &hba->reg_with_cnic))
|
||||
|
@ -395,7 +395,7 @@ static void request_sense(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
|
||||
struct ScsiReqBlk *srb);
|
||||
static void set_xfer_rate(struct AdapterCtlBlk *acb,
|
||||
struct DeviceCtlBlk *dcb);
|
||||
static void waiting_timeout(unsigned long ptr);
|
||||
static void waiting_timeout(struct timer_list *t);
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
@ -857,9 +857,6 @@ static void waiting_set_timer(struct AdapterCtlBlk *acb, unsigned long to)
|
||||
{
|
||||
if (timer_pending(&acb->waiting_timer))
|
||||
return;
|
||||
init_timer(&acb->waiting_timer);
|
||||
acb->waiting_timer.function = waiting_timeout;
|
||||
acb->waiting_timer.data = (unsigned long) acb;
|
||||
if (time_before(jiffies + to, acb->last_reset - HZ / 2))
|
||||
acb->waiting_timer.expires =
|
||||
acb->last_reset - HZ / 2 + 1;
|
||||
@ -936,10 +933,10 @@ static void waiting_process_next(struct AdapterCtlBlk *acb)
|
||||
|
||||
|
||||
/* Wake up waiting queue */
|
||||
static void waiting_timeout(unsigned long ptr)
|
||||
static void waiting_timeout(struct timer_list *t)
|
||||
{
|
||||
unsigned long flags;
|
||||
struct AdapterCtlBlk *acb = (struct AdapterCtlBlk *)ptr;
|
||||
struct AdapterCtlBlk *acb = from_timer(acb, t, waiting_timer);
|
||||
dprintkdbg(DBG_1,
|
||||
"waiting_timeout: Queue woken up by timer. acb=%p\n", acb);
|
||||
DC395x_LOCK_IO(acb->scsi_host, flags);
|
||||
@ -4366,8 +4363,8 @@ static void adapter_init_params(struct AdapterCtlBlk *acb)
|
||||
INIT_LIST_HEAD(&acb->srb_free_list);
|
||||
/* temp SRB for Q tag used or abort command used */
|
||||
acb->tmp_srb = &acb->srb;
|
||||
init_timer(&acb->waiting_timer);
|
||||
init_timer(&acb->selto_timer);
|
||||
timer_setup(&acb->waiting_timer, waiting_timeout, 0);
|
||||
timer_setup(&acb->selto_timer, NULL, 0);
|
||||
|
||||
acb->srb_count = DC395x_MAX_SRB_CNT;
|
||||
|
||||
|
@ -754,7 +754,7 @@ static int fcoe_netdev_config(struct fc_lport *lport, struct net_device *netdev)
|
||||
|
||||
skb_queue_head_init(&port->fcoe_pending_queue);
|
||||
port->fcoe_pending_queue_active = 0;
|
||||
setup_timer(&port->timer, fcoe_queue_timer, (unsigned long)lport);
|
||||
timer_setup(&port->timer, fcoe_queue_timer, 0);
|
||||
|
||||
fcoe_link_speed_update(lport);
|
||||
|
||||
|
@ -455,9 +455,11 @@ EXPORT_SYMBOL_GPL(fcoe_check_wait_queue);
|
||||
*
|
||||
* Calls fcoe_check_wait_queue on timeout
|
||||
*/
|
||||
void fcoe_queue_timer(ulong lport)
|
||||
void fcoe_queue_timer(struct timer_list *t)
|
||||
{
|
||||
fcoe_check_wait_queue((struct fc_lport *)lport, NULL);
|
||||
struct fcoe_port *port = from_timer(port, t, timer);
|
||||
|
||||
fcoe_check_wait_queue(port->lport, NULL);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(fcoe_queue_timer);
|
||||
|
||||
|
@ -3705,7 +3705,7 @@ static void gdth_log_event(gdth_evt_data *dvr, char *buffer)
|
||||
#ifdef GDTH_STATISTICS
|
||||
static u8 gdth_timer_running;
|
||||
|
||||
static void gdth_timeout(unsigned long data)
|
||||
static void gdth_timeout(struct timer_list *unused)
|
||||
{
|
||||
u32 i;
|
||||
Scsi_Cmnd *nscp;
|
||||
@ -3743,8 +3743,6 @@ static void gdth_timer_init(void)
|
||||
gdth_timer_running = 1;
|
||||
TRACE2(("gdth_detect(): Initializing timer !\n"));
|
||||
gdth_timer.expires = jiffies + HZ;
|
||||
gdth_timer.data = 0L;
|
||||
gdth_timer.function = gdth_timeout;
|
||||
add_timer(&gdth_timer);
|
||||
}
|
||||
#else
|
||||
@ -5165,7 +5163,7 @@ static int __init gdth_init(void)
|
||||
/* initializations */
|
||||
gdth_polling = TRUE;
|
||||
gdth_clear_events();
|
||||
init_timer(&gdth_timer);
|
||||
timer_setup(&gdth_timer, gdth_timeout, 0);
|
||||
|
||||
/* As default we do not probe for EISA or ISA controllers */
|
||||
if (probe_eisa_isa) {
|
||||
|
@ -958,9 +958,9 @@ static enum sci_status sci_controller_start_next_phy(struct isci_host *ihost)
|
||||
return status;
|
||||
}
|
||||
|
||||
static void phy_startup_timeout(unsigned long data)
|
||||
static void phy_startup_timeout(struct timer_list *t)
|
||||
{
|
||||
struct sci_timer *tmr = (struct sci_timer *)data;
|
||||
struct sci_timer *tmr = from_timer(tmr, t, timer);
|
||||
struct isci_host *ihost = container_of(tmr, typeof(*ihost), phy_timer);
|
||||
unsigned long flags;
|
||||
enum sci_status status;
|
||||
@ -1592,9 +1592,9 @@ static const struct sci_base_state sci_controller_state_table[] = {
|
||||
[SCIC_FAILED] = {}
|
||||
};
|
||||
|
||||
static void controller_timeout(unsigned long data)
|
||||
static void controller_timeout(struct timer_list *t)
|
||||
{
|
||||
struct sci_timer *tmr = (struct sci_timer *)data;
|
||||
struct sci_timer *tmr = from_timer(tmr, t, timer);
|
||||
struct isci_host *ihost = container_of(tmr, typeof(*ihost), timer);
|
||||
struct sci_base_state_machine *sm = &ihost->sm;
|
||||
unsigned long flags;
|
||||
@ -1737,9 +1737,9 @@ static u8 max_spin_up(struct isci_host *ihost)
|
||||
MAX_CONCURRENT_DEVICE_SPIN_UP_COUNT);
|
||||
}
|
||||
|
||||
static void power_control_timeout(unsigned long data)
|
||||
static void power_control_timeout(struct timer_list *t)
|
||||
{
|
||||
struct sci_timer *tmr = (struct sci_timer *)data;
|
||||
struct sci_timer *tmr = from_timer(tmr, t, timer);
|
||||
struct isci_host *ihost = container_of(tmr, typeof(*ihost), power_control.timer);
|
||||
struct isci_phy *iphy;
|
||||
unsigned long flags;
|
||||
|
@ -498,12 +498,10 @@ struct sci_timer {
|
||||
};
|
||||
|
||||
static inline
|
||||
void sci_init_timer(struct sci_timer *tmr, void (*fn)(unsigned long))
|
||||
void sci_init_timer(struct sci_timer *tmr, void (*fn)(struct timer_list *t))
|
||||
{
|
||||
tmr->timer.function = fn;
|
||||
tmr->timer.data = (unsigned long) tmr;
|
||||
tmr->cancel = 0;
|
||||
init_timer(&tmr->timer);
|
||||
timer_setup(&tmr->timer, fn, 0);
|
||||
}
|
||||
|
||||
static inline void sci_mod_timer(struct sci_timer *tmr, unsigned long msec)
|
||||
|
@ -315,9 +315,9 @@ sci_phy_link_layer_initialization(struct isci_phy *iphy,
|
||||
return SCI_SUCCESS;
|
||||
}
|
||||
|
||||
static void phy_sata_timeout(unsigned long data)
|
||||
static void phy_sata_timeout(struct timer_list *t)
|
||||
{
|
||||
struct sci_timer *tmr = (struct sci_timer *)data;
|
||||
struct sci_timer *tmr = from_timer(tmr, t, timer);
|
||||
struct isci_phy *iphy = container_of(tmr, typeof(*iphy), sata_timer);
|
||||
struct isci_host *ihost = iphy->owning_port->owning_controller;
|
||||
unsigned long flags;
|
||||
|
@ -769,9 +769,9 @@ bool sci_port_link_detected(struct isci_port *iport, struct isci_phy *iphy)
|
||||
return true;
|
||||
}
|
||||
|
||||
static void port_timeout(unsigned long data)
|
||||
static void port_timeout(struct timer_list *t)
|
||||
{
|
||||
struct sci_timer *tmr = (struct sci_timer *)data;
|
||||
struct sci_timer *tmr = from_timer(tmr, t, timer);
|
||||
struct isci_port *iport = container_of(tmr, typeof(*iport), timer);
|
||||
struct isci_host *ihost = iport->owning_controller;
|
||||
unsigned long flags;
|
||||
|
@ -319,10 +319,10 @@ sci_mpc_agent_validate_phy_configuration(struct isci_host *ihost,
|
||||
return sci_port_configuration_agent_validate_ports(ihost, port_agent);
|
||||
}
|
||||
|
||||
static void mpc_agent_timeout(unsigned long data)
|
||||
static void mpc_agent_timeout(struct timer_list *t)
|
||||
{
|
||||
u8 index;
|
||||
struct sci_timer *tmr = (struct sci_timer *)data;
|
||||
struct sci_timer *tmr = from_timer(tmr, t, timer);
|
||||
struct sci_port_configuration_agent *port_agent;
|
||||
struct isci_host *ihost;
|
||||
unsigned long flags;
|
||||
@ -654,10 +654,10 @@ static void sci_apc_agent_link_down(
|
||||
}
|
||||
|
||||
/* configure the phys into ports when the timer fires */
|
||||
static void apc_agent_timeout(unsigned long data)
|
||||
static void apc_agent_timeout(struct timer_list *t)
|
||||
{
|
||||
u32 index;
|
||||
struct sci_timer *tmr = (struct sci_timer *)data;
|
||||
struct sci_timer *tmr = from_timer(tmr, t, timer);
|
||||
struct sci_port_configuration_agent *port_agent;
|
||||
struct isci_host *ihost;
|
||||
unsigned long flags;
|
||||
|
@ -97,7 +97,7 @@ static void fc_fcp_complete_locked(struct fc_fcp_pkt *);
|
||||
static void fc_tm_done(struct fc_seq *, struct fc_frame *, void *);
|
||||
static void fc_fcp_error(struct fc_fcp_pkt *, struct fc_frame *);
|
||||
static void fc_fcp_recovery(struct fc_fcp_pkt *, u8 code);
|
||||
static void fc_fcp_timeout(unsigned long);
|
||||
static void fc_fcp_timeout(struct timer_list *);
|
||||
static void fc_fcp_rec(struct fc_fcp_pkt *);
|
||||
static void fc_fcp_rec_error(struct fc_fcp_pkt *, struct fc_frame *);
|
||||
static void fc_fcp_rec_resp(struct fc_seq *, struct fc_frame *, void *);
|
||||
@ -155,8 +155,7 @@ static struct fc_fcp_pkt *fc_fcp_pkt_alloc(struct fc_lport *lport, gfp_t gfp)
|
||||
fsp->lp = lport;
|
||||
fsp->xfer_ddp = FC_XID_UNKNOWN;
|
||||
refcount_set(&fsp->ref_cnt, 1);
|
||||
init_timer(&fsp->timer);
|
||||
fsp->timer.data = (unsigned long)fsp;
|
||||
timer_setup(&fsp->timer, NULL, 0);
|
||||
INIT_LIST_HEAD(&fsp->list);
|
||||
spin_lock_init(&fsp->scsi_pkt_lock);
|
||||
} else {
|
||||
@ -1215,7 +1214,7 @@ static int fc_fcp_cmd_send(struct fc_lport *lport, struct fc_fcp_pkt *fsp,
|
||||
fsp->seq_ptr = seq;
|
||||
fc_fcp_pkt_hold(fsp); /* hold for fc_fcp_pkt_destroy */
|
||||
|
||||
setup_timer(&fsp->timer, fc_fcp_timeout, (unsigned long)fsp);
|
||||
fsp->timer.function = (TIMER_FUNC_TYPE)fc_fcp_timeout;
|
||||
if (rpriv->flags & FC_RP_FLAGS_REC_SUPPORTED)
|
||||
fc_fcp_timer_set(fsp, get_fsp_rec_tov(fsp));
|
||||
|
||||
@ -1298,9 +1297,9 @@ static int fc_fcp_pkt_abort(struct fc_fcp_pkt *fsp)
|
||||
* fc_lun_reset_send() - Send LUN reset command
|
||||
* @data: The FCP packet that identifies the LUN to be reset
|
||||
*/
|
||||
static void fc_lun_reset_send(unsigned long data)
|
||||
static void fc_lun_reset_send(struct timer_list *t)
|
||||
{
|
||||
struct fc_fcp_pkt *fsp = (struct fc_fcp_pkt *)data;
|
||||
struct fc_fcp_pkt *fsp = from_timer(fsp, t, timer);
|
||||
struct fc_lport *lport = fsp->lp;
|
||||
|
||||
if (lport->tt.fcp_cmd_send(lport, fsp, fc_tm_done)) {
|
||||
@ -1308,7 +1307,7 @@ static void fc_lun_reset_send(unsigned long data)
|
||||
return;
|
||||
if (fc_fcp_lock_pkt(fsp))
|
||||
return;
|
||||
setup_timer(&fsp->timer, fc_lun_reset_send, (unsigned long)fsp);
|
||||
fsp->timer.function = (TIMER_FUNC_TYPE)fc_lun_reset_send;
|
||||
fc_fcp_timer_set(fsp, get_fsp_rec_tov(fsp));
|
||||
fc_fcp_unlock_pkt(fsp);
|
||||
}
|
||||
@ -1334,7 +1333,7 @@ static int fc_lun_reset(struct fc_lport *lport, struct fc_fcp_pkt *fsp,
|
||||
fsp->wait_for_comp = 1;
|
||||
init_completion(&fsp->tm_done);
|
||||
|
||||
fc_lun_reset_send((unsigned long)fsp);
|
||||
fc_lun_reset_send(&fsp->timer);
|
||||
|
||||
/*
|
||||
* wait for completion of reset
|
||||
@ -1431,9 +1430,9 @@ static void fc_fcp_cleanup(struct fc_lport *lport)
|
||||
* received we see if data was received recently. If it has been then we
|
||||
* continue waiting, otherwise, we abort the command.
|
||||
*/
|
||||
static void fc_fcp_timeout(unsigned long data)
|
||||
static void fc_fcp_timeout(struct timer_list *t)
|
||||
{
|
||||
struct fc_fcp_pkt *fsp = (struct fc_fcp_pkt *)data;
|
||||
struct fc_fcp_pkt *fsp = from_timer(fsp, t, timer);
|
||||
struct fc_rport *rport = fsp->rport;
|
||||
struct fc_rport_libfc_priv *rpriv = rport->dd_data;
|
||||
|
||||
@ -1446,7 +1445,7 @@ static void fc_fcp_timeout(unsigned long data)
|
||||
if (fsp->lp->qfull) {
|
||||
FC_FCP_DBG(fsp, "fcp timeout, resetting timer delay %d\n",
|
||||
fsp->timer_delay);
|
||||
setup_timer(&fsp->timer, fc_fcp_timeout, (unsigned long)fsp);
|
||||
fsp->timer.function = (TIMER_FUNC_TYPE)fc_fcp_timeout;
|
||||
fc_fcp_timer_set(fsp, fsp->timer_delay);
|
||||
goto unlock;
|
||||
}
|
||||
|
@ -1805,9 +1805,9 @@ int iscsi_target_alloc(struct scsi_target *starget)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iscsi_target_alloc);
|
||||
|
||||
static void iscsi_tmf_timedout(unsigned long data)
|
||||
static void iscsi_tmf_timedout(struct timer_list *t)
|
||||
{
|
||||
struct iscsi_conn *conn = (struct iscsi_conn *)data;
|
||||
struct iscsi_conn *conn = from_timer(conn, t, tmf_timer);
|
||||
struct iscsi_session *session = conn->session;
|
||||
|
||||
spin_lock(&session->frwd_lock);
|
||||
@ -1838,8 +1838,6 @@ static int iscsi_exec_task_mgmt_fn(struct iscsi_conn *conn,
|
||||
}
|
||||
conn->tmfcmd_pdus_cnt++;
|
||||
conn->tmf_timer.expires = timeout * HZ + jiffies;
|
||||
conn->tmf_timer.function = iscsi_tmf_timedout;
|
||||
conn->tmf_timer.data = (unsigned long)conn;
|
||||
add_timer(&conn->tmf_timer);
|
||||
ISCSI_DBG_EH(session, "tmf set timeout\n");
|
||||
|
||||
@ -2089,9 +2087,9 @@ done:
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iscsi_eh_cmd_timed_out);
|
||||
|
||||
static void iscsi_check_transport_timeouts(unsigned long data)
|
||||
static void iscsi_check_transport_timeouts(struct timer_list *t)
|
||||
{
|
||||
struct iscsi_conn *conn = (struct iscsi_conn *)data;
|
||||
struct iscsi_conn *conn = from_timer(conn, t, transport_timer);
|
||||
struct iscsi_session *session = conn->session;
|
||||
unsigned long recv_timeout, next_timeout = 0, last_recv;
|
||||
|
||||
@ -2913,9 +2911,7 @@ iscsi_conn_setup(struct iscsi_cls_session *cls_session, int dd_size,
|
||||
conn->exp_statsn = 0;
|
||||
conn->tmf_state = TMF_INITIAL;
|
||||
|
||||
init_timer(&conn->transport_timer);
|
||||
conn->transport_timer.data = (unsigned long)conn;
|
||||
conn->transport_timer.function = iscsi_check_transport_timeouts;
|
||||
timer_setup(&conn->transport_timer, iscsi_check_transport_timeouts, 0);
|
||||
|
||||
INIT_LIST_HEAD(&conn->mgmtqueue);
|
||||
INIT_LIST_HEAD(&conn->cmdqueue);
|
||||
@ -2939,7 +2935,7 @@ iscsi_conn_setup(struct iscsi_cls_session *cls_session, int dd_size,
|
||||
goto login_task_data_alloc_fail;
|
||||
conn->login_task->data = conn->data = data;
|
||||
|
||||
init_timer(&conn->tmf_timer);
|
||||
timer_setup(&conn->tmf_timer, iscsi_tmf_timedout, 0);
|
||||
init_waitqueue_head(&conn->ehwait);
|
||||
|
||||
return cls_conn;
|
||||
|
@ -2860,11 +2860,12 @@ out:
|
||||
|
||||
#define PQI_HEARTBEAT_TIMER_INTERVAL (10 * HZ)
|
||||
|
||||
static void pqi_heartbeat_timer_handler(unsigned long data)
|
||||
static void pqi_heartbeat_timer_handler(struct timer_list *t)
|
||||
{
|
||||
int num_interrupts;
|
||||
u32 heartbeat_count;
|
||||
struct pqi_ctrl_info *ctrl_info = (struct pqi_ctrl_info *)data;
|
||||
struct pqi_ctrl_info *ctrl_info = from_timer(ctrl_info, t,
|
||||
heartbeat_timer);
|
||||
|
||||
pqi_check_ctrl_health(ctrl_info);
|
||||
if (pqi_ctrl_offline(ctrl_info))
|
||||
@ -2902,8 +2903,6 @@ static void pqi_start_heartbeat_timer(struct pqi_ctrl_info *ctrl_info)
|
||||
|
||||
ctrl_info->heartbeat_timer.expires =
|
||||
jiffies + PQI_HEARTBEAT_TIMER_INTERVAL;
|
||||
ctrl_info->heartbeat_timer.data = (unsigned long)ctrl_info;
|
||||
ctrl_info->heartbeat_timer.function = pqi_heartbeat_timer_handler;
|
||||
add_timer(&ctrl_info->heartbeat_timer);
|
||||
}
|
||||
|
||||
@ -6465,7 +6464,7 @@ static struct pqi_ctrl_info *pqi_alloc_ctrl_info(int numa_node)
|
||||
INIT_DELAYED_WORK(&ctrl_info->rescan_work, pqi_rescan_worker);
|
||||
INIT_DELAYED_WORK(&ctrl_info->update_time_work, pqi_update_time_worker);
|
||||
|
||||
init_timer(&ctrl_info->heartbeat_timer);
|
||||
timer_setup(&ctrl_info->heartbeat_timer, pqi_heartbeat_timer_handler, 0);
|
||||
INIT_WORK(&ctrl_info->ctrl_offline_work, pqi_ctrl_offline_worker);
|
||||
|
||||
sema_init(&ctrl_info->sync_request_sem,
|
||||
|
@ -382,7 +382,7 @@ static inline struct net_device *fcoe_get_netdev(const struct fc_lport *lport)
|
||||
|
||||
void fcoe_clean_pending_queue(struct fc_lport *);
|
||||
void fcoe_check_wait_queue(struct fc_lport *lport, struct sk_buff *skb);
|
||||
void fcoe_queue_timer(ulong lport);
|
||||
void fcoe_queue_timer(struct timer_list *t);
|
||||
int fcoe_get_paged_crc_eof(struct sk_buff *skb, int tlen,
|
||||
struct fcoe_percpu_s *fps);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user