• Thomas Gleixner's avatar
    clocksource: Provide unbind interface in sysfs · 7eaeb343
    Thomas Gleixner authored
    With the module refcount held for the current clocksource there is no
    way to unload the module. 
    
    Provide a sysfs interface which allows to unbind the clocksource. One
    could argue that the clocksource override could be (ab)used to do so,
    but the clocksource override cannot be used from the kernel itself,
    while an unbind function can be used to programmatically check whether
    a clocksource can be shutdown or not.
    
    The unbind functionality uses the new skip current feature of
    clocksource_select and verifies that a fallback clocksource has been
    installed. If the clocksource which should be unbound is the current
    clocksource and no fallback can be found, unbind returns -EBUSY.
    
    This does not support the unbinding of a clocksource which is used as
    the watchdog clocksource. No point in fostering crappy hardware.
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Magnus Damm <magnus.damm@gmail.com>
    Link: http://lkml.kernel.org/r/20130425143435.964218245@linutronix.deSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    7eaeb343
clocksource.c 28.9 KB