aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bus
diff options
context:
space:
mode:
authorAnna-Maria Gleixner <anna-maria@linutronix.de>2016-05-02 05:00:49 -0400
committerRalf Baechle <ralf@linux-mips.org>2016-05-13 08:02:17 -0400
commit015aa05f534adabff2e4380f5ae6ea0fe20ec321 (patch)
tree7f33055727cea1703a9cd80a70a1798df11a3e23 /drivers/bus
parente8b5325ca3d01c512be6f04d587869a01e0ea59f (diff)
MIPS: Remove no longer needed work_on_cpu() call
Since commit 3b9d6da67e11 ("cpu/hotplug: Fix rollback during error-out in __cpu_disable()") it is ensured that callbacks of CPU_ONLINE and CPU_DOWN_PREPARE are processed on the hotplugged CPU. Due to this work_on_cpu() calls are no longer required. Replace work_on_cpu() with a direct call of mips_cdmm_bus_up() or mips_cdmm_bus_down(). Description of those functions are adapted. Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Cc: rt@linutronix.de Patchwork: https://patchwork.linux-mips.org/patch/13197/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'drivers/bus')
-rw-r--r--drivers/bus/mips_cdmm.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/bus/mips_cdmm.c b/drivers/bus/mips_cdmm.c
index 1c543effe062..cad49bc38b3e 100644
--- a/drivers/bus/mips_cdmm.c
+++ b/drivers/bus/mips_cdmm.c
@@ -599,8 +599,8 @@ BUILD_PERDEV_HELPER(cpu_up) /* int mips_cdmm_cpu_up_helper(...) */
599 * mips_cdmm_bus_down() - Tear down the CDMM bus. 599 * mips_cdmm_bus_down() - Tear down the CDMM bus.
600 * @data: Pointer to unsigned int CPU number. 600 * @data: Pointer to unsigned int CPU number.
601 * 601 *
602 * This work_on_cpu callback function is executed on a given CPU to call the 602 * This function is executed on the hotplugged CPU and calls the CDMM
603 * CDMM driver cpu_down callback for all devices on that CPU. 603 * driver cpu_down callback for all devices on that CPU.
604 */ 604 */
605static long mips_cdmm_bus_down(void *data) 605static long mips_cdmm_bus_down(void *data)
606{ 606{
@@ -630,7 +630,9 @@ static long mips_cdmm_bus_down(void *data)
630 * CDMM devices on that CPU, or to call the CDMM driver cpu_up callback for all 630 * CDMM devices on that CPU, or to call the CDMM driver cpu_up callback for all
631 * devices already discovered on that CPU. 631 * devices already discovered on that CPU.
632 * 632 *
633 * It is used during initialisation and when CPUs are brought online. 633 * It is used as work_on_cpu callback function during
634 * initialisation. When CPUs are brought online the function is
635 * invoked directly on the hotplugged CPU.
634 */ 636 */
635static long mips_cdmm_bus_up(void *data) 637static long mips_cdmm_bus_up(void *data)
636{ 638{
@@ -677,10 +679,10 @@ static int mips_cdmm_cpu_notify(struct notifier_block *nb,
677 switch (action & ~CPU_TASKS_FROZEN) { 679 switch (action & ~CPU_TASKS_FROZEN) {
678 case CPU_ONLINE: 680 case CPU_ONLINE:
679 case CPU_DOWN_FAILED: 681 case CPU_DOWN_FAILED:
680 work_on_cpu(cpu, mips_cdmm_bus_up, &cpu); 682 mips_cdmm_bus_up(&cpu);
681 break; 683 break;
682 case CPU_DOWN_PREPARE: 684 case CPU_DOWN_PREPARE:
683 work_on_cpu(cpu, mips_cdmm_bus_down, &cpu); 685 mips_cdmm_bus_down(&cpu);
684 break; 686 break;
685 default: 687 default:
686 return NOTIFY_DONE; 688 return NOTIFY_DONE;