linux_dsm_epyc7002/drivers/platform/x86
Tejun Heo 41f63c5359 workqueue: use mod_delayed_work() instead of cancel + queue
Convert delayed_work users doing cancel_delayed_work() followed by
queue_delayed_work() to mod_delayed_work().

Most conversions are straight-forward.  Ones worth mentioning are,

* drivers/edac/edac_mc.c: edac_mc_workq_setup() converted to always
  use mod_delayed_work() and cancel loop in
  edac_mc_reset_delay_period() is dropped.

* drivers/platform/x86/thinkpad_acpi.c: No need to remember whether
  watchdog is active or not.  @fan_watchdog_active and related code
  dropped.

* drivers/power/charger-manager.c: Seemingly a lot of
  delayed_work_pending() abuse going on here.
  [delayed_]work_pending() are unsynchronized and racy when used like
  this.  I converted one instance in fullbatt_handler().  Please
  conver the rest so that it invokes workqueue APIs for the intended
  target state rather than trying to game work item pending state
  transitions.  e.g. if timer should be modified - call
  mod_delayed_work(), canceled - call cancel_delayed_work[_sync]().

* drivers/thermal/thermal_sys.c: thermal_zone_device_set_polling()
  simplified.  Note that round_jiffies() calls in this function are
  meaningless.  round_jiffies() work on absolute jiffies not delta
  delay used by delayed_work.

v2: Tomi pointed out that __cancel_delayed_work() users can't be
    safely converted to mod_delayed_work().  They could be calling it
    from irq context and if that happens while delayed_work_timer_fn()
    is running, it could deadlock.  __cancel_delayed_work() users are
    dropped.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: Anton Vorontsov <cbouatmailru@gmail.com>
Acked-by: David Howells <dhowells@redhat.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Doug Thompson <dougthompson@xmission.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Roland Dreier <roland@kernel.org>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Len Brown <len.brown@intel.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Johannes Berg <johannes@sipsolutions.net>
2012-08-13 16:27:37 -07:00
..
acer-wmi.c ACER: Fix Smatch double-free issue 2012-07-28 00:28:55 -04:00
acerhdf.c Thermal: Make Thermal trip points writeable 2012-07-24 23:17:20 -04:00
amilo-rfkill.c drivers/platform/x86/amilo-rfkill.c::amilo_rfkill_probe() avoid NULL deref 2012-03-26 15:45:32 -04:00
apple-gmux.c drivers-platform-x86: use acpi_video_dmi_promote_vendor() 2012-07-28 00:11:48 -04:00
asus-laptop.c asus-laptop: add some keys found on Lenovo SL500 2012-03-20 12:02:18 -04:00
asus-nb-wmi.c asus-nb-wmi: add some video toggle keys 2012-07-28 00:28:54 -04:00
asus-wmi.c asus-wmi: enable resume on lid open 2012-07-28 00:11:49 -04:00
asus-wmi.h asus-wmi: control backlight power through WMI, not ACPI 2012-07-28 00:11:49 -04:00
classmate-laptop.c classmate-laptop: Fix extra keys hardware id. 2012-07-28 00:28:53 -04:00
compal-laptop.c compal-laptop: switch to using use MODULE_DEVICE_TABLE 2012-03-20 12:02:01 -04:00
dell-laptop.c dell-laptop: Add 6 machines to touchpad led quirk 2012-07-28 00:28:55 -04:00
dell-wmi-aio.c dell: Convert printks to pr_<level> 2011-05-27 12:35:47 -04:00
dell-wmi.c dell-wmi: Add keys for Dell XPS L502X 2011-08-05 15:21:47 -04:00
eeepc-laptop.c Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 2012-03-28 14:20:23 -07:00
eeepc-wmi.c asus-wmi: control backlight power through WMI, not ACPI 2012-07-28 00:11:49 -04:00
fujitsu-laptop.c Email/web address change 2012-03-28 10:35:15 +02:00
fujitsu-tablet.c fujitsu-tablet: Use struct dev_pm_ops for power management 2012-07-01 13:31:05 +02:00
hdaps.c hdaps: Use struct dev_pm_ops for power management 2012-07-03 18:34:27 +02:00
hp_accel.c hp_accel: Use struct dev_pm_ops for power management 2012-07-01 13:31:02 +02:00
hp-wmi.c hp-wmi: check for allocation failures 2012-05-31 14:29:33 -04:00
ibm_rtl.c asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
ideapad-laptop.c ideapad: uninitialized data in ideapad_acpi_add() 2012-06-26 14:43:45 -04:00
intel_ips.c Power management updates for 3.6 2012-07-22 13:36:52 -07:00
intel_ips.h drm/i915, intel_ips: When i915 loads after IPS, make IPS relink to i915. 2010-12-23 09:51:36 +00:00
intel_menlow.c switch sysfs attr->mode to umode_t 2012-01-03 22:54:55 -05:00
intel_mid_powerbtn.c intel_mid_powerbtn: mark irq as IRQF_NO_SUSPEND 2012-05-04 14:40:52 -07:00
intel_mid_thermal.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2012-07-26 14:28:55 -07:00
intel_oaktrail.c intel-oaktrail: switch to using use MODULE_DEVICE_TABLE 2012-03-20 12:02:02 -04:00
intel_pmic_gpio.c intel_pmic_gpio: Convert printks to pr_<level> 2011-05-27 12:35:50 -04:00
intel_scu_ipc.c intel_scu_ipc: Remove Moorestown support 2012-03-20 12:02:02 -04:00
intel_scu_ipcutil.c intel_scu_ipc: Remove Moorestown support 2012-03-20 12:02:02 -04:00
Kconfig acer-wmi: add quirk table for video backlight vendor mode 2012-03-26 15:47:58 -04:00
Makefile platform/x86: Add driver for Apple gmux device 2012-03-26 15:05:25 -04:00
msi-laptop.c msi-laptop: Use struct dev_pm_ops for power management 2012-07-06 19:06:19 +02:00
msi-wmi.c x86: fix up files really needing to include module.h 2011-10-31 19:30:36 -04:00
mxm-wmi.c mxm/wmi: add MXMX interface entry point. 2011-05-09 11:40:38 +10:00
panasonic-laptop.c panasonic-laptop: Use struct dev_pm_ops for power management 2012-07-01 13:31:04 +02:00
samsung-laptop.c samsung-laptop: support R40/R41 2012-07-28 00:11:48 -04:00
samsung-q10.c platform-drivers-x86: samsung-q10: make dmi_check_callback return 1 2011-08-05 15:21:47 -04:00
sony-laptop.c Power management updates for 3.6 2012-07-22 13:36:52 -07:00
tc1100-wmi.c tc1100-wmi: Add pr_fmt, use pr_<level> 2011-05-27 12:35:51 -04:00
thinkpad_acpi.c workqueue: use mod_delayed_work() instead of cancel + queue 2012-08-13 16:27:37 -07:00
topstar-laptop.c topstar-latop: ignore 0x82 event 2011-10-24 16:52:37 +02:00
toshiba_acpi.c toshiba_acpi: Use struct dev_pm_ops for power management 2012-07-01 13:31:02 +02:00
toshiba_bluetooth.c toshiba_bluetooth: Use struct dev_pm_ops for power management 2012-07-01 13:31:04 +02:00
wmi.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
xo1-rfkill.c drivers: OLPC: update various drivers to include olpc-ec.h 2012-07-31 23:27:29 -04:00
xo15-ebook.c xo15-ebook: Use struct dev_pm_ops for power management 2012-07-01 13:31:05 +02:00