Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6c1e272f authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

Merge tag 'timers-conversion-next' of...

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.
parents 52f737c2 74a0f573
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -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);
		}
+2 −3
Original line number Diff line number Diff line
@@ -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
+3 −3
Original line number Diff line number Diff line
@@ -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;

+6 −7
Original line number Diff line number Diff line
@@ -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");
+7 −11
Original line number Diff line number Diff line
@@ -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,
Loading