isci: rework timer api
authorDan Williams <dan.j.williams@intel.com>
Wed, 2 Mar 2011 19:49:26 +0000 (11:49 -0800)
committerDan Williams <dan.j.williams@intel.com>
Sun, 3 Jul 2011 10:55:28 +0000 (03:55 -0700)
commit7c40a8035815479c7c12ab0cdcea71e0f4c3a9c8
tree43290f7b96374f0ff8e80ad5e8620f3dc8242f1a
parent150fc6fc725055b400a8865e6785dc8dd0a2225d
isci: rework timer api

Prepare the timer api for the arrival of dynamic creation and
destruction events from the core.  It pretended to do this previously
but the core to date only used it in a static init-time only fashion.
This is an interim fix until a cleaner event queue can be developed.

1/ make all locking external to the api (add WARN_ONCE to verify)
2/ add a timer_destroy interface (to be used by the core)
3/ use del_timer_sync() prior to deallocating timer data
4/ delete the "timer_list" indirection, we only have timers allocated
   for the isci_host
5/ fix detection of timer list allocation errors

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/scsi/isci/events.c
drivers/scsi/isci/events.h
drivers/scsi/isci/host.c
drivers/scsi/isci/host.h
drivers/scsi/isci/task.c
drivers/scsi/isci/timers.c
drivers/scsi/isci/timers.h