Commit b0a2dc66 authored by Kees Cook's avatar Kees Cook

scsi: isci: Convert timers to use timer_setup()

In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.

Cc: Intel SCU Linux support <intel-linux-scu@intel.com>
Cc: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Cc: "James E.J. Bottomley" <jejb@linux.vnet.ibm.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: linux-scsi@vger.kernel.org
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Reviewed-by: default avatarArtur Paszkiewicz <artur.paszkiewicz@intel.com>
parent 7932589f
...@@ -958,9 +958,9 @@ static enum sci_status sci_controller_start_next_phy(struct isci_host *ihost) ...@@ -958,9 +958,9 @@ static enum sci_status sci_controller_start_next_phy(struct isci_host *ihost)
return status; 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); struct isci_host *ihost = container_of(tmr, typeof(*ihost), phy_timer);
unsigned long flags; unsigned long flags;
enum sci_status status; enum sci_status status;
...@@ -1592,9 +1592,9 @@ static const struct sci_base_state sci_controller_state_table[] = { ...@@ -1592,9 +1592,9 @@ static const struct sci_base_state sci_controller_state_table[] = {
[SCIC_FAILED] = {} [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 isci_host *ihost = container_of(tmr, typeof(*ihost), timer);
struct sci_base_state_machine *sm = &ihost->sm; struct sci_base_state_machine *sm = &ihost->sm;
unsigned long flags; unsigned long flags;
...@@ -1737,9 +1737,9 @@ static u8 max_spin_up(struct isci_host *ihost) ...@@ -1737,9 +1737,9 @@ static u8 max_spin_up(struct isci_host *ihost)
MAX_CONCURRENT_DEVICE_SPIN_UP_COUNT); 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_host *ihost = container_of(tmr, typeof(*ihost), power_control.timer);
struct isci_phy *iphy; struct isci_phy *iphy;
unsigned long flags; unsigned long flags;
......
...@@ -498,12 +498,10 @@ struct sci_timer { ...@@ -498,12 +498,10 @@ struct sci_timer {
}; };
static inline 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; 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) 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, ...@@ -315,9 +315,9 @@ sci_phy_link_layer_initialization(struct isci_phy *iphy,
return SCI_SUCCESS; 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_phy *iphy = container_of(tmr, typeof(*iphy), sata_timer);
struct isci_host *ihost = iphy->owning_port->owning_controller; struct isci_host *ihost = iphy->owning_port->owning_controller;
unsigned long flags; unsigned long flags;
......
...@@ -769,9 +769,9 @@ bool sci_port_link_detected(struct isci_port *iport, struct isci_phy *iphy) ...@@ -769,9 +769,9 @@ bool sci_port_link_detected(struct isci_port *iport, struct isci_phy *iphy)
return true; 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_port *iport = container_of(tmr, typeof(*iport), timer);
struct isci_host *ihost = iport->owning_controller; struct isci_host *ihost = iport->owning_controller;
unsigned long flags; unsigned long flags;
......
...@@ -319,10 +319,10 @@ sci_mpc_agent_validate_phy_configuration(struct isci_host *ihost, ...@@ -319,10 +319,10 @@ sci_mpc_agent_validate_phy_configuration(struct isci_host *ihost,
return sci_port_configuration_agent_validate_ports(ihost, port_agent); 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; 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 sci_port_configuration_agent *port_agent;
struct isci_host *ihost; struct isci_host *ihost;
unsigned long flags; unsigned long flags;
...@@ -654,10 +654,10 @@ static void sci_apc_agent_link_down( ...@@ -654,10 +654,10 @@ static void sci_apc_agent_link_down(
} }
/* configure the phys into ports when the timer fires */ /* 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; 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 sci_port_configuration_agent *port_agent;
struct isci_host *ihost; struct isci_host *ihost;
unsigned long flags; unsigned long flags;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment