Thread (21 messages) 21 messages, 2 authors, 2014-07-15

[PATCH v4 7/7] arm/arm64: Unexport restart handlers

From: catalin.marinas@arm.com (Catalin Marinas)
Date: 2014-07-14 15:17:17
Also in: linux-watchdog, lkml

On Mon, Jul 14, 2014 at 03:39:38PM +0100, Guenter Roeck wrote:
On 07/14/2014 07:22 AM, Catalin Marinas wrote:
quoted
On Sun, Jul 13, 2014 at 04:30:31PM +0100, Guenter Roeck wrote:
quoted
Implementing a restart handler in a module don't make sense
as there would be no guarantee that the module is loaded when
a restart is needed. Unexport arm_pm_restart to ensure that
no one gets the idea to do it anyway.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
v4: No change
v3: No change
v2: No change

  arch/arm/kernel/process.c   | 1 -
  arch/arm64/kernel/process.c | 1 -
  2 files changed, 2 deletions(-)
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index 5d191e3..25c7f00 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -125,7 +125,6 @@ void (*pm_power_off)(void);
  EXPORT_SYMBOL(pm_power_off);

  void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd) = null_restart;
-EXPORT_SYMBOL_GPL(arm_pm_restart);
Unless I miss something, how is this different from registering a
restart notifier from a module (blocking_notifier_chain_register is
exported)?
A notifier can be unregistered safely, and more than one notifier call
is supported. If there is more than one driver setting arm_pm_restart,
the first one to unregister will clear the pointer. Using the notifier
is cleaner and not architecture dependent. One might argue that setting
module external function pointers from module code isn't exactly clean
coding.
I agree.
Anyway, this patch is not relevant for the series. If you prefer to have
the function exported, and keep using it for arm drivers loaded as modules,
be my guest, and I'll be more than happy drop it. I'll take your comment
as a hint _not_ to convert existing code to use the notifier after the
series is accepted. Cool, as I hate wasting my time.
No, it's actually the opposite ;) (and I would go further and remove
arm_pm_restart entirely for arm64).

-- 
Catalin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help