PCI: pciehp: Queue power work requests in dedicated function
authorGuenter Roeck <linux@roeck-us.net>
Mon, 12 Oct 2015 19:10:12 +0000 (12:10 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 21 Oct 2015 18:55:37 +0000 (13:55 -0500)
commitbee67756eb4ae51ededeb8ce56e7f4fb91d30b43
tree678a5fc78d9959f5398004e9e3f048e130868edc
parent6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f
PCI: pciehp: Queue power work requests in dedicated function

Up to now, work items to be queued to be handled by pciehp_power_thread()
are allocated using kmalloc() in three different locations.  If not needed,
kfree() is called to free the allocated data.

Introduce a separate function to allocate the work item and queue it, and
call it only if needed.  This reduces code duplication and avoids having to
free memory if the work item does not need to get executed.

[bhelgaas: tweak "no memory" message, make pciehp_queue_power_work() static]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/hotplug/pciehp_ctrl.c