diff options
author | Anna-Maria Gleixner <anna-maria@linutronix.de> | 2016-05-02 05:00:49 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2016-05-13 08:02:17 -0400 |
commit | 015aa05f534adabff2e4380f5ae6ea0fe20ec321 (patch) | |
tree | 7f33055727cea1703a9cd80a70a1798df11a3e23 /drivers/bus | |
parent | e8b5325ca3d01c512be6f04d587869a01e0ea59f (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.c | 12 |
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 | */ |
605 | static long mips_cdmm_bus_down(void *data) | 605 | static 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 | */ |
635 | static long mips_cdmm_bus_up(void *data) | 637 | static 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; |